From 566d25c689e95af251fc6eddcae49d72cb337192 Mon Sep 17 00:00:00 2001 From: Lilith Ashley Nyx Arson Date: Thu, 9 Jan 2025 18:08:49 +0100 Subject: [PATCH] yosbr --- .../config/figura/avatars/Hoshino/avatar.json | 266 + .../config/figura/avatars/Hoshino/avatar.png | Bin 0 -> 27148 bytes .../Hoshino/models/action_wheel_gui.bbmodel | 1989 + .../avatars/Hoshino/models/armor.bbmodel | 3811 ++ .../avatars/Hoshino/models/barrier.bbmodel | 4318 ++ .../avatars/Hoshino/models/bubble.bbmodel | 902 + .../avatars/Hoshino/models/bullet.bbmodel | 237 + .../Hoshino/models/costume_battle.bbmodel | 4717 ++ .../Hoshino/models/costume_masked.bbmodel | 241 + .../Hoshino/models/costume_swimsuit.bbmodel | 6004 ++ .../Hoshino/models/death_animation.bbmodel | 20545 +++++++ .../avatars/Hoshino/models/ex_skill_1.bbmodel | 694 + .../avatars/Hoshino/models/ex_skill_2.bbmodel | 3271 + .../avatars/Hoshino/models/ex_skill_3.bbmodel | 11042 ++++ .../avatars/Hoshino/models/ex_skill_4.bbmodel | 7958 +++ .../Hoshino/models/ex_skill_frame.bbmodel | 1179 + .../figura/avatars/Hoshino/models/gun.bbmodel | 9418 +++ .../avatars/Hoshino/models/main.bbmodel | 50702 ++++++++++++++++ .../figura/avatars/Hoshino/scripts/avatar.lua | 229 + .../action_wheel/action_wheel.lua | 319 + .../action_wheel/action_wheel_gui.lua | 113 + .../action_wheel/update_checker.lua | 181 + .../Hoshino/scripts/avatar_modules/armor.lua | 364 + .../Hoshino/scripts/avatar_modules/arms.lua | 192 + .../scripts/avatar_modules/avatar_module.lua | 23 + .../scripts/avatar_modules/barrier.lua | 88 + .../Hoshino/scripts/avatar_modules/bubble.lua | 224 + .../scripts/avatar_modules/camera_manager.lua | 99 + .../Hoshino/scripts/avatar_modules/config.lua | 116 + .../scripts/avatar_modules/costume.lua | 113 + .../avatar_modules/death_animation.lua | 294 + .../avatar_modules/events/abstract_event.lua | 71 + .../avatar_modules/events/avatar_events.lua | 16 + .../events/script_init_event.lua | 25 + .../avatar_modules/ex_skill/ex_skill.lua | 434 + .../ex_skill/ex_skill_frame_particle.lua | 68 + .../ex_skill_frame_particle_manager.lua | 48 + .../scripts/avatar_modules/face_parts.lua | 88 + .../Hoshino/scripts/avatar_modules/gun.lua | 376 + .../scripts/avatar_modules/head_block.lua | 33 + .../avatar_modules/head_model_generator.lua | 85 + .../scripts/avatar_modules/head_ring.lua | 79 + .../avatar_modules/hypixel_zombies.lua | 85 + .../scripts/avatar_modules/key_manager.lua | 45 + .../Hoshino/scripts/avatar_modules/locale.lua | 118 + .../scripts/avatar_modules/nameplate.lua | 77 + .../scripts/avatar_modules/physics.lua | 199 + .../placement_object/placement_object.lua | 231 + .../placement_object_manager.lua | 87 + .../scripts/avatar_modules/portrait.lua | 32 + .../Hoshino/scripts/avatar_modules/skirt.lua | 30 + .../utils/compatibility_utils.lua | 169 + .../avatar_modules/utils/model_utils.lua | 59 + .../avatar_modules/utils/player_utils.lua | 35 + .../avatar_modules/utils/spawn_object.lua | 26 + .../utils/spawn_object_manager.lua | 102 + .../scripts/avatar_modules/vanilla_model.lua | 23 + .../scripts/blue_archive_character.lua | 1766 + .../ex_skill_2_wave_particle.lua | 52 + .../ex_skill_2_wave_particle_manager.lua | 55 + .../scripts/character_scripts/gun_hoshino.lua | 170 + .../scripts/character_scripts/shield.lua | 139 + .../scripts/character_scripts/sub_gun.lua | 78 + .../scripts/character_scripts/whale_float.lua | 177 + .../avatars/Hoshino/textures/barrier.png | Bin 0 -> 103 bytes .../avatars/Hoshino/textures/bubble.png | Bin 0 -> 203 bytes .../Hoshino/textures/bubble_emote_guide.png | Bin 0 -> 494 bytes .../avatars/Hoshino/textures/bullet.png | Bin 0 -> 210 bytes .../Hoshino/textures/costume_battle.png | Bin 0 -> 624 bytes .../Hoshino/textures/costume_masked.png | Bin 0 -> 281 bytes .../Hoshino/textures/costume_swimsuit.png | Bin 0 -> 1478 bytes .../Hoshino/textures/death_animation.png | Bin 0 -> 2020 bytes .../Hoshino/textures/emojis/black_dot.png | Bin 0 -> 160 bytes .../avatars/Hoshino/textures/emojis/dots.png | Bin 0 -> 167 bytes .../avatars/Hoshino/textures/emojis/good.png | Bin 0 -> 220 bytes .../avatars/Hoshino/textures/emojis/heart.png | Bin 0 -> 219 bytes .../avatars/Hoshino/textures/emojis/note.png | Bin 0 -> 223 bytes .../Hoshino/textures/emojis/question.png | Bin 0 -> 208 bytes .../Hoshino/textures/emojis/reload.png | Bin 0 -> 169 bytes .../avatars/Hoshino/textures/emojis/sweat.png | Bin 0 -> 224 bytes .../avatars/Hoshino/textures/ex_skill_1.png | Bin 0 -> 272 bytes .../avatars/Hoshino/textures/ex_skill_2.png | Bin 0 -> 507 bytes .../avatars/Hoshino/textures/ex_skill_3.png | Bin 0 -> 300 bytes .../avatars/Hoshino/textures/ex_skill_4.png | Bin 0 -> 204 bytes .../Hoshino/textures/ex_skill_frame.png | Bin 0 -> 410 bytes .../Hoshino/textures/for_modeling/creeper.png | Bin 0 -> 2869 bytes .../textures/for_modeling/firework_rocket.png | Bin 0 -> 167 bytes .../textures/for_modeling/leather_layer_1.png | Bin 0 -> 552 bytes .../for_modeling/leather_layer_1_overlay.png | Bin 0 -> 184 bytes .../textures/for_modeling/leather_layer_2.png | Bin 0 -> 322 bytes .../for_modeling/leather_layer_2_overlay.png | Bin 0 -> 181 bytes .../textures/for_modeling/pillager.png | Bin 0 -> 970 bytes .../Hoshino/textures/for_modeling/ravager.png | Bin 0 -> 3422 bytes .../Hoshino/textures/for_modeling/trim.png | Bin 0 -> 207 bytes .../textures/for_modeling/trim_leggings.png | Bin 0 -> 161 bytes .../textures/for_modeling/vindicator.png | Bin 0 -> 1125 bytes .../textures/for_modeling/water_flow.png | Bin 0 -> 5489 bytes .../textures/for_modeling/water_still.png | Bin 0 -> 2419 bytes .../Hoshino/textures/for_modeling/zombie.png | Bin 0 -> 1007 bytes .../figura/avatars/Hoshino/textures/gun.png | Bin 0 -> 1466 bytes .../figura/avatars/Hoshino/textures/main.png | Bin 0 -> 4815 bytes .../config/figura/avatars/Iroha/avatar.json | 191 + .../config/figura/avatars/Iroha/avatar.png | Bin 0 -> 21700 bytes .../Iroha/models/action_wheel_gui.bbmodel | 1989 + .../figura/avatars/Iroha/models/armor.bbmodel | 3811 ++ .../avatars/Iroha/models/barrier.bbmodel | 4318 ++ .../avatars/Iroha/models/bubble.bbmodel | 902 + .../avatars/Iroha/models/bullet.bbmodel | 237 + .../Iroha/models/death_animation.bbmodel | 20545 +++++++ .../avatars/Iroha/models/ex_skill_1.bbmodel | 42254 +++++++++++++ .../Iroha/models/ex_skill_frame.bbmodel | 1179 + .../figura/avatars/Iroha/models/gun.bbmodel | 1719 + .../figura/avatars/Iroha/models/main.bbmodel | 13300 ++++ .../figura/avatars/Iroha/scripts/avatar.lua | 214 + .../action_wheel/action_wheel.lua | 319 + .../action_wheel/action_wheel_gui.lua | 113 + .../action_wheel/update_checker.lua | 181 + .../Iroha/scripts/avatar_modules/armor.lua | 364 + .../Iroha/scripts/avatar_modules/arms.lua | 192 + .../scripts/avatar_modules/avatar_module.lua | 23 + .../Iroha/scripts/avatar_modules/barrier.lua | 88 + .../Iroha/scripts/avatar_modules/bubble.lua | 224 + .../scripts/avatar_modules/camera_manager.lua | 99 + .../Iroha/scripts/avatar_modules/config.lua | 116 + .../Iroha/scripts/avatar_modules/costume.lua | 113 + .../avatar_modules/death_animation.lua | 294 + .../avatar_modules/events/abstract_event.lua | 71 + .../avatar_modules/events/avatar_events.lua | 16 + .../events/script_init_event.lua | 25 + .../avatar_modules/ex_skill/ex_skill.lua | 434 + .../ex_skill/ex_skill_frame_particle.lua | 68 + .../ex_skill_frame_particle_manager.lua | 48 + .../scripts/avatar_modules/face_parts.lua | 88 + .../Iroha/scripts/avatar_modules/gun.lua | 376 + .../scripts/avatar_modules/head_block.lua | 33 + .../avatar_modules/head_model_generator.lua | 85 + .../scripts/avatar_modules/head_ring.lua | 79 + .../avatar_modules/hypixel_zombies.lua | 85 + .../scripts/avatar_modules/key_manager.lua | 45 + .../Iroha/scripts/avatar_modules/locale.lua | 118 + .../scripts/avatar_modules/nameplate.lua | 77 + .../Iroha/scripts/avatar_modules/physics.lua | 199 + .../placement_object/placement_object.lua | 231 + .../placement_object_manager.lua | 87 + .../Iroha/scripts/avatar_modules/portrait.lua | 32 + .../Iroha/scripts/avatar_modules/skirt.lua | 30 + .../utils/compatibility_utils.lua | 159 + .../avatar_modules/utils/model_utils.lua | 59 + .../avatar_modules/utils/player_utils.lua | 35 + .../avatar_modules/utils/spawn_object.lua | 26 + .../utils/spawn_object_manager.lua | 102 + .../scripts/avatar_modules/vanilla_model.lua | 23 + .../Iroha/scripts/blue_archive_character.lua | 1120 + .../scripts/character_scripts/tank_shell.lua | 95 + .../character_scripts/tank_shell_manager.lua | 45 + .../figura/avatars/Iroha/textures/barrier.png | Bin 0 -> 103 bytes .../figura/avatars/Iroha/textures/bubble.png | Bin 0 -> 203 bytes .../Iroha/textures/bubble_emote_guide.png | Bin 0 -> 494 bytes .../figura/avatars/Iroha/textures/bullet.png | Bin 0 -> 210 bytes .../Iroha/textures/death_animation.png | Bin 0 -> 2020 bytes .../Iroha/textures/emojis/black_dot.png | Bin 0 -> 160 bytes .../avatars/Iroha/textures/emojis/dots.png | Bin 0 -> 167 bytes .../avatars/Iroha/textures/emojis/good.png | Bin 0 -> 220 bytes .../avatars/Iroha/textures/emojis/heart.png | Bin 0 -> 219 bytes .../avatars/Iroha/textures/emojis/note.png | Bin 0 -> 223 bytes .../Iroha/textures/emojis/question.png | Bin 0 -> 208 bytes .../avatars/Iroha/textures/emojis/reload.png | Bin 0 -> 169 bytes .../avatars/Iroha/textures/emojis/sweat.png | Bin 0 -> 224 bytes .../avatars/Iroha/textures/ex_skill_1.png | Bin 0 -> 2885 bytes .../avatars/Iroha/textures/ex_skill_frame.png | Bin 0 -> 410 bytes .../textures/for_modeling/leather_layer_1.png | Bin 0 -> 552 bytes .../for_modeling/leather_layer_1_overlay.png | Bin 0 -> 184 bytes .../textures/for_modeling/leather_layer_2.png | Bin 0 -> 322 bytes .../for_modeling/leather_layer_2_overlay.png | Bin 0 -> 181 bytes .../Iroha/textures/for_modeling/oak.png | Bin 0 -> 588 bytes .../Iroha/textures/for_modeling/oak_log.png | Bin 0 -> 263 bytes .../textures/for_modeling/oak_log_top.png | Bin 0 -> 273 bytes .../Iroha/textures/for_modeling/trim.png | Bin 0 -> 207 bytes .../textures/for_modeling/trim_leggings.png | Bin 0 -> 161 bytes .../figura/avatars/Iroha/textures/gun.png | Bin 0 -> 672 bytes .../figura/avatars/Iroha/textures/main.png | Bin 0 -> 3335 bytes .../config/figura/avatars/Izuna/avatar.json | 190 + .../config/figura/avatars/Izuna/avatar.png | Bin 0 -> 28628 bytes .../Izuna/models/action_wheel_gui.bbmodel | 1989 + .../figura/avatars/Izuna/models/armor.bbmodel | 3811 ++ .../avatars/Izuna/models/barrier.bbmodel | 4318 ++ .../avatars/Izuna/models/bubble.bbmodel | 902 + .../avatars/Izuna/models/bullet.bbmodel | 237 + .../Izuna/models/costume_swimsuit.bbmodel | 3791 ++ .../Izuna/models/death_animation.bbmodel | 20545 +++++++ .../avatars/Izuna/models/ex_skill_1.bbmodel | 1082 + .../Izuna/models/ex_skill_frame.bbmodel | 1179 + .../figura/avatars/Izuna/models/gun.bbmodel | 5930 ++ .../figura/avatars/Izuna/models/main.bbmodel | 41995 +++++++++++++ .../figura/avatars/Izuna/scripts/avatar.lua | 218 + .../action_wheel/action_wheel.lua | 319 + .../action_wheel/action_wheel_gui.lua | 113 + .../action_wheel/update_checker.lua | 181 + .../Izuna/scripts/avatar_modules/armor.lua | 364 + .../Izuna/scripts/avatar_modules/arms.lua | 192 + .../scripts/avatar_modules/avatar_module.lua | 23 + .../Izuna/scripts/avatar_modules/barrier.lua | 88 + .../Izuna/scripts/avatar_modules/bubble.lua | 224 + .../scripts/avatar_modules/camera_manager.lua | 99 + .../Izuna/scripts/avatar_modules/config.lua | 116 + .../Izuna/scripts/avatar_modules/costume.lua | 113 + .../avatar_modules/death_animation.lua | 294 + .../avatar_modules/events/abstract_event.lua | 71 + .../avatar_modules/events/avatar_events.lua | 16 + .../events/script_init_event.lua | 25 + .../avatar_modules/ex_skill/ex_skill.lua | 434 + .../ex_skill/ex_skill_frame_particle.lua | 68 + .../ex_skill_frame_particle_manager.lua | 48 + .../scripts/avatar_modules/face_parts.lua | 88 + .../Izuna/scripts/avatar_modules/gun.lua | 376 + .../scripts/avatar_modules/head_block.lua | 33 + .../avatar_modules/head_model_generator.lua | 85 + .../scripts/avatar_modules/head_ring.lua | 79 + .../avatar_modules/hypixel_zombies.lua | 85 + .../scripts/avatar_modules/key_manager.lua | 45 + .../Izuna/scripts/avatar_modules/locale.lua | 118 + .../scripts/avatar_modules/nameplate.lua | 77 + .../Izuna/scripts/avatar_modules/physics.lua | 199 + .../placement_object/placement_object.lua | 231 + .../placement_object_manager.lua | 87 + .../Izuna/scripts/avatar_modules/portrait.lua | 32 + .../Izuna/scripts/avatar_modules/skirt.lua | 30 + .../utils/compatibility_utils.lua | 169 + .../utils/ex_skill_text_animation.lua | 124 + .../avatar_modules/utils/model_utils.lua | 59 + .../avatar_modules/utils/player_utils.lua | 35 + .../avatar_modules/utils/spawn_object.lua | 26 + .../utils/spawn_object_manager.lua | 102 + .../scripts/avatar_modules/vanilla_model.lua | 23 + .../Izuna/scripts/blue_archive_character.lua | 1233 + .../ex_skill_1_text_object.lua | 93 + .../ex_skill_1_text_object_manager.lua | 45 + .../scripts/character_scripts/teleport.lua | 60 + .../figura/avatars/Izuna/textures/barrier.png | Bin 0 -> 103 bytes .../figura/avatars/Izuna/textures/bubble.png | Bin 0 -> 203 bytes .../Izuna/textures/bubble_emote_guide.png | Bin 0 -> 494 bytes .../figura/avatars/Izuna/textures/bullet.png | Bin 0 -> 210 bytes .../Izuna/textures/costume_swimsuit.png | Bin 0 -> 778 bytes .../Izuna/textures/death_animation.png | Bin 0 -> 2020 bytes .../Izuna/textures/emojis/black_dot.png | Bin 0 -> 160 bytes .../avatars/Izuna/textures/emojis/dots.png | Bin 0 -> 167 bytes .../avatars/Izuna/textures/emojis/good.png | Bin 0 -> 220 bytes .../avatars/Izuna/textures/emojis/heart.png | Bin 0 -> 219 bytes .../avatars/Izuna/textures/emojis/note.png | Bin 0 -> 223 bytes .../Izuna/textures/emojis/question.png | Bin 0 -> 208 bytes .../avatars/Izuna/textures/emojis/reload.png | Bin 0 -> 169 bytes .../avatars/Izuna/textures/emojis/sweat.png | Bin 0 -> 224 bytes .../avatars/Izuna/textures/ex_skill_1.png | Bin 0 -> 391 bytes .../textures/ex_skill_camera_background.png | Bin 0 -> 109 bytes .../avatars/Izuna/textures/ex_skill_frame.png | Bin 0 -> 410 bytes .../textures/for_modeling/leather_layer_1.png | Bin 0 -> 552 bytes .../for_modeling/leather_layer_1_overlay.png | Bin 0 -> 184 bytes .../textures/for_modeling/leather_layer_2.png | Bin 0 -> 322 bytes .../for_modeling/leather_layer_2_overlay.png | Bin 0 -> 181 bytes .../Izuna/textures/for_modeling/snow_fox.png | Bin 0 -> 683 bytes .../textures/for_modeling/sunflower_front.png | Bin 0 -> 153 bytes .../Izuna/textures/for_modeling/trim.png | Bin 0 -> 207 bytes .../textures/for_modeling/trim_leggings.png | Bin 0 -> 161 bytes .../figura/avatars/Izuna/textures/gun.png | Bin 0 -> 1310 bytes .../figura/avatars/Izuna/textures/main.png | Bin 0 -> 5361 bytes .../config/figura/avatars/Mari/avatar.json | 256 + .../config/figura/avatars/Mari/avatar.png | Bin 0 -> 24109 bytes .../Mari/models/action_wheel_gui.bbmodel | 1989 + .../figura/avatars/Mari/models/armor.bbmodel | 3811 ++ .../avatars/Mari/models/barrier.bbmodel | 4318 ++ .../figura/avatars/Mari/models/bubble.bbmodel | 902 + .../figura/avatars/Mari/models/bullet.bbmodel | 237 + .../avatars/Mari/models/costume_idol.bbmodel | 5717 ++ .../Mari/models/costume_tracksuit.bbmodel | 5912 ++ .../Mari/models/death_animation.bbmodel | 20545 +++++++ .../avatars/Mari/models/ex_skill_2.bbmodel | 25628 ++++++++ .../avatars/Mari/models/ex_skill_3.bbmodel | 7003 +++ .../Mari/models/ex_skill_frame.bbmodel | 1179 + .../figura/avatars/Mari/models/gun.bbmodel | 5674 ++ .../figura/avatars/Mari/models/main.bbmodel | 23641 +++++++ .../figura/avatars/Mari/scripts/avatar.lua | 208 + .../action_wheel/action_wheel.lua | 319 + .../action_wheel/action_wheel_gui.lua | 113 + .../action_wheel/update_checker.lua | 181 + .../Mari/scripts/avatar_modules/armor.lua | 364 + .../Mari/scripts/avatar_modules/arms.lua | 192 + .../scripts/avatar_modules/avatar_module.lua | 23 + .../Mari/scripts/avatar_modules/barrier.lua | 88 + .../Mari/scripts/avatar_modules/bubble.lua | 224 + .../scripts/avatar_modules/camera_manager.lua | 99 + .../Mari/scripts/avatar_modules/config.lua | 116 + .../Mari/scripts/avatar_modules/costume.lua | 113 + .../avatar_modules/death_animation.lua | 294 + .../avatar_modules/events/abstract_event.lua | 71 + .../avatar_modules/events/avatar_events.lua | 16 + .../events/script_init_event.lua | 25 + .../avatar_modules/ex_skill/ex_skill.lua | 434 + .../ex_skill/ex_skill_frame_particle.lua | 68 + .../ex_skill_frame_particle_manager.lua | 48 + .../scripts/avatar_modules/face_parts.lua | 88 + .../Mari/scripts/avatar_modules/gun.lua | 376 + .../scripts/avatar_modules/head_block.lua | 33 + .../avatar_modules/head_model_generator.lua | 85 + .../Mari/scripts/avatar_modules/head_ring.lua | 79 + .../avatar_modules/hypixel_zombies.lua | 85 + .../scripts/avatar_modules/key_manager.lua | 45 + .../Mari/scripts/avatar_modules/locale.lua | 118 + .../Mari/scripts/avatar_modules/nameplate.lua | 77 + .../Mari/scripts/avatar_modules/physics.lua | 199 + .../placement_object/placement_object.lua | 231 + .../placement_object_manager.lua | 87 + .../Mari/scripts/avatar_modules/portrait.lua | 32 + .../Mari/scripts/avatar_modules/skirt.lua | 30 + .../utils/compatibility_utils.lua | 159 + .../avatar_modules/utils/model_utils.lua | 59 + .../avatar_modules/utils/player_utils.lua | 35 + .../avatar_modules/utils/spawn_object.lua | 26 + .../utils/spawn_object_manager.lua | 102 + .../scripts/avatar_modules/vanilla_model.lua | 23 + .../Mari/scripts/blue_archive_character.lua | 2034 + .../figura/avatars/Mari/textures/barrier.png | Bin 0 -> 103 bytes .../figura/avatars/Mari/textures/bubble.png | Bin 0 -> 203 bytes .../Mari/textures/bubble_emote_guide.png | Bin 0 -> 494 bytes .../figura/avatars/Mari/textures/bullet.png | Bin 0 -> 210 bytes .../avatars/Mari/textures/costume_idol.png | Bin 0 -> 1322 bytes .../Mari/textures/costume_tracksuit.png | Bin 0 -> 1112 bytes .../avatars/Mari/textures/death_animation.png | Bin 0 -> 2020 bytes .../Mari/textures/emojis/black_dot.png | Bin 0 -> 160 bytes .../avatars/Mari/textures/emojis/dots.png | Bin 0 -> 167 bytes .../avatars/Mari/textures/emojis/good.png | Bin 0 -> 220 bytes .../avatars/Mari/textures/emojis/heart.png | Bin 0 -> 219 bytes .../avatars/Mari/textures/emojis/note.png | Bin 0 -> 223 bytes .../avatars/Mari/textures/emojis/question.png | Bin 0 -> 208 bytes .../avatars/Mari/textures/emojis/reload.png | Bin 0 -> 169 bytes .../avatars/Mari/textures/emojis/sweat.png | Bin 0 -> 224 bytes .../avatars/Mari/textures/ex_skill_2.png | Bin 0 -> 1694 bytes .../avatars/Mari/textures/ex_skill_3.png | Bin 0 -> 1317 bytes .../ex_skill_3_stage_emissive_mapping.png | Bin 0 -> 272 bytes .../avatars/Mari/textures/ex_skill_frame.png | Bin 0 -> 410 bytes .../Mari/textures/for_modeling/feather.png | Bin 0 -> 152 bytes .../textures/for_modeling/gray_concrete.png | Bin 0 -> 187 bytes .../textures/for_modeling/leather_layer_1.png | Bin 0 -> 552 bytes .../for_modeling/leather_layer_1_overlay.png | Bin 0 -> 184 bytes .../textures/for_modeling/leather_layer_2.png | Bin 0 -> 322 bytes .../for_modeling/leather_layer_2_overlay.png | Bin 0 -> 181 bytes .../Mari/textures/for_modeling/trim.png | Bin 0 -> 207 bytes .../textures/for_modeling/trim_leggings.png | Bin 0 -> 161 bytes .../figura/avatars/Mari/textures/gun.png | Bin 0 -> 793 bytes .../figura/avatars/Mari/textures/main.png | Bin 0 -> 5307 bytes .../config/figura/avatars/Midori/avatar.json | 218 + .../config/figura/avatars/Midori/avatar.png | Bin 0 -> 31666 bytes .../Midori/models/action_wheel_gui.bbmodel | 1989 + .../avatars/Midori/models/armor.bbmodel | 3811 ++ .../avatars/Midori/models/barrier.bbmodel | 4318 ++ .../avatars/Midori/models/bubble.bbmodel | 928 + .../avatars/Midori/models/bullet.bbmodel | 237 + .../Midori/models/costume_maid.bbmodel | 2867 + .../Midori/models/death_animation.bbmodel | 20545 +++++++ .../avatars/Midori/models/ex_skill_1.bbmodel | 18144 ++++++ .../avatars/Midori/models/ex_skill_2.bbmodel | 46471 ++++++++++++++ .../Midori/models/ex_skill_frame.bbmodel | 1179 + .../figura/avatars/Midori/models/gun.bbmodel | 6607 ++ .../figura/avatars/Midori/models/main.bbmodel | 18735 ++++++ .../figura/avatars/Midori/scripts/avatar.lua | 225 + .../action_wheel/action_wheel.lua | 319 + .../action_wheel/action_wheel_gui.lua | 113 + .../action_wheel/update_checker.lua | 181 + .../Midori/scripts/avatar_modules/armor.lua | 364 + .../Midori/scripts/avatar_modules/arms.lua | 192 + .../scripts/avatar_modules/avatar_module.lua | 23 + .../Midori/scripts/avatar_modules/barrier.lua | 88 + .../Midori/scripts/avatar_modules/bubble.lua | 224 + .../scripts/avatar_modules/camera_manager.lua | 99 + .../Midori/scripts/avatar_modules/config.lua | 116 + .../Midori/scripts/avatar_modules/costume.lua | 113 + .../avatar_modules/death_animation.lua | 294 + .../avatar_modules/events/abstract_event.lua | 71 + .../avatar_modules/events/avatar_events.lua | 16 + .../events/script_init_event.lua | 25 + .../avatar_modules/ex_skill/ex_skill.lua | 434 + .../ex_skill/ex_skill_frame_particle.lua | 68 + .../ex_skill_frame_particle_manager.lua | 48 + .../scripts/avatar_modules/face_parts.lua | 88 + .../Midori/scripts/avatar_modules/gun.lua | 376 + .../scripts/avatar_modules/head_block.lua | 33 + .../avatar_modules/head_model_generator.lua | 85 + .../scripts/avatar_modules/head_ring.lua | 79 + .../avatar_modules/hypixel_zombies.lua | 85 + .../scripts/avatar_modules/key_manager.lua | 45 + .../Midori/scripts/avatar_modules/locale.lua | 118 + .../scripts/avatar_modules/nameplate.lua | 77 + .../Midori/scripts/avatar_modules/physics.lua | 199 + .../placement_object/placement_object.lua | 231 + .../placement_object_manager.lua | 87 + .../scripts/avatar_modules/portrait.lua | 32 + .../Midori/scripts/avatar_modules/skirt.lua | 30 + .../utils/compatibility_utils.lua | 169 + .../avatar_modules/utils/model_utils.lua | 59 + .../avatar_modules/utils/player_utils.lua | 35 + .../avatar_modules/utils/spawn_object.lua | 26 + .../utils/spawn_object_manager.lua | 102 + .../scripts/avatar_modules/vanilla_model.lua | 23 + .../Midori/scripts/blue_archive_character.lua | 1772 + .../ex_skill_1_text_object.lua | 76 + .../ex_skill_1_text_object_manager.lua | 41 + .../character_scripts/ex_skill_2_particle.lua | 59 + .../ex_skill_2_particle_manager.lua | 23 + .../ex_skill_2_transition.lua | 56 + .../ex_skill_2_transition_manager.lua | 68 + .../avatars/Midori/textures/barrier.png | Bin 0 -> 103 bytes .../figura/avatars/Midori/textures/bubble.png | Bin 0 -> 203 bytes .../Midori/textures/bubble_emote_guide.png | Bin 0 -> 494 bytes .../figura/avatars/Midori/textures/bullet.png | Bin 0 -> 210 bytes .../avatars/Midori/textures/costume_maid.png | Bin 0 -> 471 bytes .../Midori/textures/death_animation.png | Bin 0 -> 2020 bytes .../Midori/textures/emojis/black_dot.png | Bin 0 -> 160 bytes .../avatars/Midori/textures/emojis/dots.png | Bin 0 -> 167 bytes .../avatars/Midori/textures/emojis/good.png | Bin 0 -> 220 bytes .../avatars/Midori/textures/emojis/heart.png | Bin 0 -> 219 bytes .../avatars/Midori/textures/emojis/note.png | Bin 0 -> 223 bytes .../Midori/textures/emojis/question.png | Bin 0 -> 208 bytes .../avatars/Midori/textures/emojis/reload.png | Bin 0 -> 169 bytes .../avatars/Midori/textures/emojis/sweat.png | Bin 0 -> 224 bytes .../avatars/Midori/textures/emojis/v.png | Bin 0 -> 381 bytes .../avatars/Midori/textures/ex_skill_1.png | Bin 0 -> 2372 bytes .../avatars/Midori/textures/ex_skill_2.png | Bin 0 -> 2599 bytes .../Midori/textures/ex_skill_frame.png | Bin 0 -> 410 bytes .../textures/for_modeling/destroy_stage_9.png | Bin 0 -> 218 bytes .../textures/for_modeling/leather_layer_1.png | Bin 0 -> 552 bytes .../for_modeling/leather_layer_1_overlay.png | Bin 0 -> 184 bytes .../textures/for_modeling/leather_layer_2.png | Bin 0 -> 322 bytes .../for_modeling/leather_layer_2_overlay.png | Bin 0 -> 181 bytes .../Midori/textures/for_modeling/pillager.png | Bin 0 -> 970 bytes .../Midori/textures/for_modeling/trim.png | Bin 0 -> 207 bytes .../textures/for_modeling/trim_leggings.png | Bin 0 -> 161 bytes .../figura/avatars/Midori/textures/gun.png | Bin 0 -> 688 bytes .../figura/avatars/Midori/textures/main.png | Bin 0 -> 2198 bytes .../config/figura/avatars/Momoi/avatar.json | 217 + .../config/figura/avatars/Momoi/avatar.png | Bin 0 -> 33575 bytes .../Momoi/models/action_wheel_gui.bbmodel | 1989 + .../figura/avatars/Momoi/models/armor.bbmodel | 3811 ++ .../avatars/Momoi/models/barrier.bbmodel | 4318 ++ .../avatars/Momoi/models/bubble.bbmodel | 902 + .../avatars/Momoi/models/bullet.bbmodel | 237 + .../avatars/Momoi/models/costume_maid.bbmodel | 3357 + .../Momoi/models/death_animation.bbmodel | 20545 +++++++ .../avatars/Momoi/models/ex_skill_1.bbmodel | 17027 ++++++ .../avatars/Momoi/models/ex_skill_2.bbmodel | 42173 +++++++++++++ .../Momoi/models/ex_skill_frame.bbmodel | 1179 + .../figura/avatars/Momoi/models/gun.bbmodel | 4358 ++ .../figura/avatars/Momoi/models/main.bbmodel | 20503 +++++++ .../figura/avatars/Momoi/scripts/avatar.lua | 219 + .../action_wheel/action_wheel.lua | 319 + .../action_wheel/action_wheel_gui.lua | 113 + .../action_wheel/update_checker.lua | 181 + .../Momoi/scripts/avatar_modules/armor.lua | 364 + .../Momoi/scripts/avatar_modules/arms.lua | 192 + .../scripts/avatar_modules/avatar_module.lua | 23 + .../Momoi/scripts/avatar_modules/barrier.lua | 88 + .../Momoi/scripts/avatar_modules/bubble.lua | 224 + .../scripts/avatar_modules/camera_manager.lua | 99 + .../Momoi/scripts/avatar_modules/config.lua | 116 + .../Momoi/scripts/avatar_modules/costume.lua | 113 + .../avatar_modules/death_animation.lua | 294 + .../avatar_modules/events/abstract_event.lua | 71 + .../avatar_modules/events/avatar_events.lua | 16 + .../events/script_init_event.lua | 25 + .../avatar_modules/ex_skill/ex_skill.lua | 434 + .../ex_skill/ex_skill_frame_particle.lua | 68 + .../ex_skill_frame_particle_manager.lua | 48 + .../scripts/avatar_modules/face_parts.lua | 88 + .../Momoi/scripts/avatar_modules/gun.lua | 376 + .../scripts/avatar_modules/head_block.lua | 33 + .../avatar_modules/head_model_generator.lua | 85 + .../scripts/avatar_modules/head_ring.lua | 79 + .../avatar_modules/hypixel_zombies.lua | 85 + .../scripts/avatar_modules/key_manager.lua | 45 + .../Momoi/scripts/avatar_modules/locale.lua | 118 + .../scripts/avatar_modules/nameplate.lua | 77 + .../Momoi/scripts/avatar_modules/physics.lua | 199 + .../placement_object/placement_object.lua | 231 + .../placement_object_manager.lua | 87 + .../Momoi/scripts/avatar_modules/portrait.lua | 32 + .../Momoi/scripts/avatar_modules/skirt.lua | 30 + .../utils/compatibility_utils.lua | 169 + .../avatar_modules/utils/model_utils.lua | 59 + .../avatar_modules/utils/player_utils.lua | 35 + .../avatar_modules/utils/spawn_object.lua | 26 + .../utils/spawn_object_manager.lua | 102 + .../scripts/avatar_modules/vanilla_model.lua | 23 + .../Momoi/scripts/blue_archive_character.lua | 1707 + .../ex_skill_1_text_object.lua | 76 + .../ex_skill_1_text_object_manager.lua | 41 + .../ex_skill_2_text_object.lua | 65 + .../ex_skill_2_text_object_manager.lua | 32 + .../figura/avatars/Momoi/textures/barrier.png | Bin 0 -> 103 bytes .../figura/avatars/Momoi/textures/bubble.png | Bin 0 -> 203 bytes .../Momoi/textures/bubble_emote_guide.png | Bin 0 -> 494 bytes .../figura/avatars/Momoi/textures/bullet.png | Bin 0 -> 210 bytes .../avatars/Momoi/textures/costume_maid.png | Bin 0 -> 871 bytes .../Momoi/textures/death_animation.png | Bin 0 -> 2020 bytes .../Momoi/textures/emojis/black_dot.png | Bin 0 -> 160 bytes .../avatars/Momoi/textures/emojis/dots.png | Bin 0 -> 167 bytes .../avatars/Momoi/textures/emojis/good.png | Bin 0 -> 220 bytes .../avatars/Momoi/textures/emojis/heart.png | Bin 0 -> 219 bytes .../avatars/Momoi/textures/emojis/note.png | Bin 0 -> 223 bytes .../Momoi/textures/emojis/question.png | Bin 0 -> 208 bytes .../avatars/Momoi/textures/emojis/reload.png | Bin 0 -> 169 bytes .../avatars/Momoi/textures/emojis/sweat.png | Bin 0 -> 224 bytes .../avatars/Momoi/textures/ex_skill_1.png | Bin 0 -> 3720 bytes .../avatars/Momoi/textures/ex_skill_2.png | Bin 0 -> 3993 bytes .../avatars/Momoi/textures/ex_skill_frame.png | Bin 0 -> 410 bytes .../Momoi/textures/for_modeling/back.png | Bin 0 -> 265 bytes .../for_modeling/decorated_pot_base.png | Bin 0 -> 507 bytes .../for_modeling/decorated_pot_side.png | Bin 0 -> 250 bytes .../textures/for_modeling/leather_layer_1.png | Bin 0 -> 552 bytes .../for_modeling/leather_layer_1_overlay.png | Bin 0 -> 184 bytes .../textures/for_modeling/leather_layer_2.png | Bin 0 -> 322 bytes .../for_modeling/leather_layer_2_overlay.png | Bin 0 -> 181 bytes .../Momoi/textures/for_modeling/pillager.png | Bin 0 -> 970 bytes .../Momoi/textures/for_modeling/pointer.png | Bin 0 -> 9517 bytes .../Momoi/textures/for_modeling/trim.png | Bin 0 -> 207 bytes .../textures/for_modeling/trim_leggings.png | Bin 0 -> 161 bytes .../figura/avatars/Momoi/textures/gun.png | Bin 0 -> 1348 bytes .../figura/avatars/Momoi/textures/main.png | Bin 0 -> 4088 bytes .../config/figura/avatars/Serina/avatar.json | 232 + .../config/figura/avatars/Serina/avatar.png | Bin 0 -> 25665 bytes .../Serina/models/action_wheel_gui.bbmodel | 1989 + .../avatars/Serina/models/armor.bbmodel | 3811 ++ .../avatars/Serina/models/barrier.bbmodel | 4318 ++ .../avatars/Serina/models/bubble.bbmodel | 902 + .../avatars/Serina/models/bullet.bbmodel | 237 + .../Serina/models/costume_christmas.bbmodel | 1210 + .../Serina/models/death_animation.bbmodel | 20545 +++++++ .../avatars/Serina/models/ex_skill_1.bbmodel | 1329 + .../avatars/Serina/models/ex_skill_2.bbmodel | 12355 ++++ .../Serina/models/ex_skill_frame.bbmodel | 1179 + .../figura/avatars/Serina/models/gun.bbmodel | 5316 ++ .../figura/avatars/Serina/models/main.bbmodel | 13597 +++++ .../figura/avatars/Serina/scripts/avatar.lua | 213 + .../action_wheel/action_wheel.lua | 319 + .../action_wheel/action_wheel_gui.lua | 113 + .../action_wheel/update_checker.lua | 181 + .../Serina/scripts/avatar_modules/armor.lua | 364 + .../Serina/scripts/avatar_modules/arms.lua | 192 + .../scripts/avatar_modules/avatar_module.lua | 23 + .../Serina/scripts/avatar_modules/barrier.lua | 88 + .../Serina/scripts/avatar_modules/bubble.lua | 224 + .../scripts/avatar_modules/camera_manager.lua | 99 + .../Serina/scripts/avatar_modules/config.lua | 116 + .../Serina/scripts/avatar_modules/costume.lua | 113 + .../avatar_modules/death_animation.lua | 294 + .../avatar_modules/events/abstract_event.lua | 71 + .../avatar_modules/events/avatar_events.lua | 16 + .../events/script_init_event.lua | 25 + .../avatar_modules/ex_skill/ex_skill.lua | 434 + .../ex_skill/ex_skill_frame_particle.lua | 68 + .../ex_skill_frame_particle_manager.lua | 48 + .../scripts/avatar_modules/face_parts.lua | 88 + .../Serina/scripts/avatar_modules/gun.lua | 376 + .../scripts/avatar_modules/head_block.lua | 33 + .../avatar_modules/head_model_generator.lua | 85 + .../scripts/avatar_modules/head_ring.lua | 79 + .../avatar_modules/hypixel_zombies.lua | 85 + .../scripts/avatar_modules/key_manager.lua | 45 + .../Serina/scripts/avatar_modules/locale.lua | 118 + .../scripts/avatar_modules/nameplate.lua | 77 + .../Serina/scripts/avatar_modules/physics.lua | 199 + .../placement_object/placement_object.lua | 231 + .../placement_object_manager.lua | 87 + .../scripts/avatar_modules/portrait.lua | 32 + .../Serina/scripts/avatar_modules/skirt.lua | 30 + .../utils/compatibility_utils.lua | 169 + .../avatar_modules/utils/model_utils.lua | 59 + .../avatar_modules/utils/player_utils.lua | 35 + .../avatar_modules/utils/spawn_object.lua | 26 + .../utils/spawn_object_manager.lua | 102 + .../scripts/avatar_modules/vanilla_model.lua | 23 + .../Serina/scripts/blue_archive_character.lua | 1171 + .../ex_skill_2_melody_particle.lua | 88 + .../ex_skill_2_melody_particle_manager.lua | 51 + .../avatars/Serina/textures/barrier.png | Bin 0 -> 103 bytes .../figura/avatars/Serina/textures/bubble.png | Bin 0 -> 203 bytes .../Serina/textures/bubble_emote_guide.png | Bin 0 -> 494 bytes .../figura/avatars/Serina/textures/bullet.png | Bin 0 -> 210 bytes .../Serina/textures/costume_christmas.png | Bin 0 -> 459 bytes .../Serina/textures/death_animation.png | Bin 0 -> 2020 bytes .../Serina/textures/emojis/black_dot.png | Bin 0 -> 160 bytes .../avatars/Serina/textures/emojis/dots.png | Bin 0 -> 167 bytes .../avatars/Serina/textures/emojis/good.png | Bin 0 -> 220 bytes .../avatars/Serina/textures/emojis/heart.png | Bin 0 -> 219 bytes .../avatars/Serina/textures/emojis/note.png | Bin 0 -> 223 bytes .../Serina/textures/emojis/question.png | Bin 0 -> 208 bytes .../avatars/Serina/textures/emojis/reload.png | Bin 0 -> 169 bytes .../avatars/Serina/textures/emojis/sweat.png | Bin 0 -> 224 bytes .../avatars/Serina/textures/ex_skill_1.png | Bin 0 -> 427 bytes .../avatars/Serina/textures/ex_skill_2.png | Bin 0 -> 1881 bytes .../Serina/textures/ex_skill_frame.png | Bin 0 -> 410 bytes .../textures/for_modeling/bell_bottom.png | Bin 0 -> 145 bytes .../textures/for_modeling/bell_side.png | Bin 0 -> 140 bytes .../Serina/textures/for_modeling/bell_top.png | Bin 0 -> 148 bytes .../textures/for_modeling/leather_layer_1.png | Bin 0 -> 552 bytes .../for_modeling/leather_layer_1_overlay.png | Bin 0 -> 184 bytes .../textures/for_modeling/leather_layer_2.png | Bin 0 -> 322 bytes .../for_modeling/leather_layer_2_overlay.png | Bin 0 -> 181 bytes .../Serina/textures/for_modeling/trim.png | Bin 0 -> 207 bytes .../textures/for_modeling/trim_leggings.png | Bin 0 -> 161 bytes .../figura/avatars/Serina/textures/gun.png | Bin 0 -> 1466 bytes .../figura/avatars/Serina/textures/main.png | Bin 0 -> 3793 bytes .../figura/avatars/Serina/textures/skirt.png | Bin 0 -> 809 bytes .../config/figura/avatars/Shiroko/avatar.json | 225 + .../config/figura/avatars/Shiroko/avatar.png | Bin 0 -> 24872 bytes .../Shiroko/models/action_wheel_gui.bbmodel | 1989 + .../avatars/Shiroko/models/armor.bbmodel | 3811 ++ .../avatars/Shiroko/models/barrier.bbmodel | 4318 ++ .../avatars/Shiroko/models/bubble.bbmodel | 902 + .../avatars/Shiroko/models/bullet.bbmodel | 237 + .../Shiroko/models/costume_masked.bbmodel | 241 + .../Shiroko/models/costume_riding.bbmodel | 749 + .../Shiroko/models/costume_swimsuit.bbmodel | 258 + .../Shiroko/models/death_animation.bbmodel | 20545 +++++++ .../avatars/Shiroko/models/ex_skill_1.bbmodel | 12801 ++++ .../avatars/Shiroko/models/ex_skill_2.bbmodel | 16041 +++++ .../avatars/Shiroko/models/ex_skill_3.bbmodel | 26462 ++++++++ .../Shiroko/models/ex_skill_frame.bbmodel | 1179 + .../figura/avatars/Shiroko/models/gun.bbmodel | 4096 ++ .../avatars/Shiroko/models/main.bbmodel | 43417 +++++++++++++ .../figura/avatars/Shiroko/scripts/avatar.lua | 223 + .../action_wheel/action_wheel.lua | 319 + .../action_wheel/action_wheel_gui.lua | 113 + .../action_wheel/update_checker.lua | 181 + .../Shiroko/scripts/avatar_modules/armor.lua | 364 + .../Shiroko/scripts/avatar_modules/arms.lua | 192 + .../scripts/avatar_modules/avatar_module.lua | 23 + .../scripts/avatar_modules/barrier.lua | 88 + .../Shiroko/scripts/avatar_modules/bubble.lua | 224 + .../scripts/avatar_modules/camera_manager.lua | 99 + .../Shiroko/scripts/avatar_modules/config.lua | 116 + .../scripts/avatar_modules/costume.lua | 113 + .../avatar_modules/death_animation.lua | 294 + .../avatar_modules/events/abstract_event.lua | 71 + .../avatar_modules/events/avatar_events.lua | 16 + .../events/script_init_event.lua | 25 + .../avatar_modules/ex_skill/ex_skill.lua | 434 + .../ex_skill/ex_skill_frame_particle.lua | 68 + .../ex_skill_frame_particle_manager.lua | 48 + .../scripts/avatar_modules/face_parts.lua | 88 + .../Shiroko/scripts/avatar_modules/gun.lua | 376 + .../scripts/avatar_modules/head_block.lua | 33 + .../avatar_modules/head_model_generator.lua | 85 + .../scripts/avatar_modules/head_ring.lua | 79 + .../avatar_modules/hypixel_zombies.lua | 85 + .../scripts/avatar_modules/key_manager.lua | 45 + .../Shiroko/scripts/avatar_modules/locale.lua | 118 + .../scripts/avatar_modules/nameplate.lua | 77 + .../scripts/avatar_modules/physics.lua | 199 + .../placement_object/placement_object.lua | 231 + .../placement_object_manager.lua | 87 + .../scripts/avatar_modules/portrait.lua | 32 + .../Shiroko/scripts/avatar_modules/skirt.lua | 30 + .../utils/compatibility_utils.lua | 169 + .../avatar_modules/utils/model_utils.lua | 59 + .../avatar_modules/utils/player_utils.lua | 35 + .../avatar_modules/utils/spawn_object.lua | 26 + .../utils/spawn_object_manager.lua | 102 + .../scripts/avatar_modules/vanilla_model.lua | 23 + .../scripts/blue_archive_character.lua | 1416 + .../scripts/character_scripts/bicycle.lua | 228 + .../scripts/character_scripts/drone.lua | 283 + .../character_scripts/drone_missile.lua | 97 + .../drone_missile_manager.lua | 45 + .../avatars/Shiroko/textures/barrier.png | Bin 0 -> 103 bytes .../avatars/Shiroko/textures/bubble.png | Bin 0 -> 203 bytes .../Shiroko/textures/bubble_emote_guide.png | Bin 0 -> 494 bytes .../avatars/Shiroko/textures/bullet.png | Bin 0 -> 210 bytes .../Shiroko/textures/costume_masked.png | Bin 0 -> 351 bytes .../Shiroko/textures/costume_riding.png | Bin 0 -> 968 bytes .../Shiroko/textures/costume_swimsuit.png | Bin 0 -> 205 bytes .../Shiroko/textures/death_animation.png | Bin 0 -> 2020 bytes .../Shiroko/textures/emojis/black_dot.png | Bin 0 -> 160 bytes .../avatars/Shiroko/textures/emojis/dots.png | Bin 0 -> 167 bytes .../avatars/Shiroko/textures/emojis/good.png | Bin 0 -> 220 bytes .../avatars/Shiroko/textures/emojis/heart.png | Bin 0 -> 219 bytes .../avatars/Shiroko/textures/emojis/note.png | Bin 0 -> 223 bytes .../Shiroko/textures/emojis/question.png | Bin 0 -> 208 bytes .../Shiroko/textures/emojis/reload.png | Bin 0 -> 169 bytes .../avatars/Shiroko/textures/emojis/sweat.png | Bin 0 -> 224 bytes .../avatars/Shiroko/textures/ex_skill_1.png | Bin 0 -> 950 bytes .../avatars/Shiroko/textures/ex_skill_2.png | Bin 0 -> 1111 bytes .../avatars/Shiroko/textures/ex_skill_3.png | Bin 0 -> 264 bytes .../Shiroko/textures/ex_skill_frame.png | Bin 0 -> 410 bytes .../textures/for_modeling/leather_layer_1.png | Bin 0 -> 552 bytes .../for_modeling/leather_layer_1_overlay.png | Bin 0 -> 184 bytes .../textures/for_modeling/leather_layer_2.png | Bin 0 -> 322 bytes .../for_modeling/leather_layer_2_overlay.png | Bin 0 -> 181 bytes .../Shiroko/textures/for_modeling/stone.png | Bin 0 -> 215 bytes .../Shiroko/textures/for_modeling/trim.png | Bin 0 -> 207 bytes .../textures/for_modeling/trim_leggings.png | Bin 0 -> 161 bytes .../textures/for_modeling/water_still.png | Bin 0 -> 2419 bytes .../figura/avatars/Shiroko/textures/gun.png | Bin 0 -> 874 bytes .../figura/avatars/Shiroko/textures/main.png | Bin 0 -> 4386 bytes .../config/figura/avatars/Shizuko/avatar.json | 230 + .../config/figura/avatars/Shizuko/avatar.png | Bin 0 -> 21555 bytes .../Shizuko/models/action_wheel_gui.bbmodel | 1989 + .../avatars/Shizuko/models/armor.bbmodel | 3811 ++ .../avatars/Shizuko/models/barrier.bbmodel | 4318 ++ .../avatars/Shizuko/models/bubble.bbmodel | 902 + .../avatars/Shizuko/models/bullet.bbmodel | 237 + .../Shizuko/models/costume_swimsuit.bbmodel | 9957 +++ .../Shizuko/models/death_animation.bbmodel | 20545 +++++++ .../avatars/Shizuko/models/ex_skill_1.bbmodel | 25360 ++++++++ .../avatars/Shizuko/models/ex_skill_2.bbmodel | 12774 ++++ .../Shizuko/models/ex_skill_frame.bbmodel | 1179 + .../figura/avatars/Shizuko/models/gun.bbmodel | 2152 + .../avatars/Shizuko/models/main.bbmodel | 30365 +++++++++ .../figura/avatars/Shizuko/scripts/avatar.lua | 213 + .../action_wheel/action_wheel.lua | 319 + .../action_wheel/action_wheel_gui.lua | 113 + .../action_wheel/update_checker.lua | 181 + .../Shizuko/scripts/avatar_modules/armor.lua | 364 + .../Shizuko/scripts/avatar_modules/arms.lua | 192 + .../scripts/avatar_modules/avatar_module.lua | 23 + .../scripts/avatar_modules/barrier.lua | 88 + .../Shizuko/scripts/avatar_modules/bubble.lua | 224 + .../scripts/avatar_modules/camera_manager.lua | 99 + .../Shizuko/scripts/avatar_modules/config.lua | 116 + .../scripts/avatar_modules/costume.lua | 113 + .../avatar_modules/death_animation.lua | 294 + .../avatar_modules/events/abstract_event.lua | 71 + .../avatar_modules/events/avatar_events.lua | 16 + .../events/script_init_event.lua | 25 + .../avatar_modules/ex_skill/ex_skill.lua | 434 + .../ex_skill/ex_skill_frame_particle.lua | 68 + .../ex_skill_frame_particle_manager.lua | 48 + .../scripts/avatar_modules/face_parts.lua | 88 + .../Shizuko/scripts/avatar_modules/gun.lua | 376 + .../scripts/avatar_modules/head_block.lua | 33 + .../avatar_modules/head_model_generator.lua | 85 + .../scripts/avatar_modules/head_ring.lua | 79 + .../avatar_modules/hypixel_zombies.lua | 85 + .../scripts/avatar_modules/key_manager.lua | 45 + .../Shizuko/scripts/avatar_modules/locale.lua | 118 + .../scripts/avatar_modules/nameplate.lua | 77 + .../scripts/avatar_modules/physics.lua | 199 + .../placement_object/placement_object.lua | 231 + .../placement_object_manager.lua | 87 + .../scripts/avatar_modules/portrait.lua | 32 + .../Shizuko/scripts/avatar_modules/skirt.lua | 30 + .../utils/compatibility_utils.lua | 169 + .../avatar_modules/utils/model_utils.lua | 59 + .../avatar_modules/utils/player_utils.lua | 35 + .../avatar_modules/utils/spawn_object.lua | 26 + .../utils/spawn_object_manager.lua | 102 + .../scripts/avatar_modules/vanilla_model.lua | 23 + .../scripts/blue_archive_character.lua | 1216 + .../ex_skill_2_frame_particle.lua | 59 + .../ex_skill_2_frame_particle_manager.lua | 44 + .../avatars/Shizuko/textures/barrier.png | Bin 0 -> 103 bytes .../avatars/Shizuko/textures/bubble.png | Bin 0 -> 203 bytes .../Shizuko/textures/bubble_emote_guide.png | Bin 0 -> 494 bytes .../avatars/Shizuko/textures/bullet.png | Bin 0 -> 210 bytes .../Shizuko/textures/costume_swimsuit.png | Bin 0 -> 813 bytes .../Shizuko/textures/death_animation.png | Bin 0 -> 2020 bytes .../Shizuko/textures/emojis/black_dot.png | Bin 0 -> 160 bytes .../avatars/Shizuko/textures/emojis/dots.png | Bin 0 -> 167 bytes .../avatars/Shizuko/textures/emojis/good.png | Bin 0 -> 220 bytes .../avatars/Shizuko/textures/emojis/heart.png | Bin 0 -> 219 bytes .../avatars/Shizuko/textures/emojis/note.png | Bin 0 -> 223 bytes .../Shizuko/textures/emojis/question.png | Bin 0 -> 208 bytes .../Shizuko/textures/emojis/reload.png | Bin 0 -> 169 bytes .../avatars/Shizuko/textures/emojis/sweat.png | Bin 0 -> 224 bytes .../avatars/Shizuko/textures/ex_skill_2.png | Bin 0 -> 3240 bytes .../Shizuko/textures/ex_skill_frame.png | Bin 0 -> 410 bytes .../textures/for_modeling/leather_layer_1.png | Bin 0 -> 552 bytes .../for_modeling/leather_layer_1_overlay.png | Bin 0 -> 184 bytes .../textures/for_modeling/leather_layer_2.png | Bin 0 -> 322 bytes .../for_modeling/leather_layer_2_overlay.png | Bin 0 -> 181 bytes .../Shizuko/textures/for_modeling/trim.png | Bin 0 -> 207 bytes .../textures/for_modeling/trim_leggings.png | Bin 0 -> 161 bytes .../textures/for_modeling/water_flow.png | Bin 0 -> 6637 bytes .../textures/for_modeling/water_still.png | Bin 0 -> 2419 bytes .../figura/avatars/Shizuko/textures/gun.png | Bin 0 -> 441 bytes .../figura/avatars/Shizuko/textures/main.png | Bin 0 -> 3722 bytes .../Shizuko/textures/placement_object.png | Bin 0 -> 1595 bytes .../config/figura/avatars/Umika/avatar.json | 203 + .../config/figura/avatars/Umika/avatar.png | Bin 0 -> 13754 bytes .../Umika/models/action_wheel_gui.bbmodel | 1989 + .../figura/avatars/Umika/models/armor.bbmodel | 3811 ++ .../avatars/Umika/models/barrier.bbmodel | 4318 ++ .../avatars/Umika/models/bubble.bbmodel | 902 + .../avatars/Umika/models/bullet.bbmodel | 237 + .../Umika/models/death_animation.bbmodel | 20545 +++++++ .../avatars/Umika/models/ex_skill_1.bbmodel | 46998 ++++++++++++++ .../Umika/models/ex_skill_frame.bbmodel | 1179 + .../figura/avatars/Umika/models/gun.bbmodel | 7638 +++ .../figura/avatars/Umika/models/main.bbmodel | 19898 ++++++ .../Umika/models/placement_object.bbmodel | 8263 +++ .../figura/avatars/Umika/scripts/avatar.lua | 213 + .../action_wheel/action_wheel.lua | 319 + .../action_wheel/action_wheel_gui.lua | 113 + .../action_wheel/update_checker.lua | 181 + .../Umika/scripts/avatar_modules/armor.lua | 364 + .../Umika/scripts/avatar_modules/arms.lua | 192 + .../scripts/avatar_modules/avatar_module.lua | 23 + .../Umika/scripts/avatar_modules/barrier.lua | 88 + .../Umika/scripts/avatar_modules/bubble.lua | 224 + .../scripts/avatar_modules/camera_manager.lua | 99 + .../Umika/scripts/avatar_modules/config.lua | 116 + .../Umika/scripts/avatar_modules/costume.lua | 113 + .../avatar_modules/death_animation.lua | 294 + .../avatar_modules/events/abstract_event.lua | 71 + .../avatar_modules/events/avatar_events.lua | 16 + .../events/script_init_event.lua | 25 + .../avatar_modules/ex_skill/ex_skill.lua | 434 + .../ex_skill/ex_skill_frame_particle.lua | 68 + .../ex_skill_frame_particle_manager.lua | 48 + .../scripts/avatar_modules/face_parts.lua | 88 + .../Umika/scripts/avatar_modules/gun.lua | 376 + .../scripts/avatar_modules/head_block.lua | 33 + .../avatar_modules/head_model_generator.lua | 85 + .../scripts/avatar_modules/head_ring.lua | 79 + .../avatar_modules/hypixel_zombies.lua | 85 + .../scripts/avatar_modules/key_manager.lua | 45 + .../Umika/scripts/avatar_modules/locale.lua | 118 + .../scripts/avatar_modules/nameplate.lua | 77 + .../Umika/scripts/avatar_modules/physics.lua | 199 + .../placement_object/placement_object.lua | 231 + .../placement_object_manager.lua | 87 + .../Umika/scripts/avatar_modules/portrait.lua | 32 + .../Umika/scripts/avatar_modules/skirt.lua | 30 + .../utils/compatibility_utils.lua | 169 + .../avatar_modules/utils/model_utils.lua | 59 + .../avatar_modules/utils/player_utils.lua | 35 + .../avatar_modules/utils/spawn_object.lua | 26 + .../utils/spawn_object_manager.lua | 102 + .../scripts/avatar_modules/vanilla_model.lua | 23 + .../Umika/scripts/blue_archive_character.lua | 1308 + .../scripts/character_scripts/firework.lua | 92 + .../character_scripts/firework_manager.lua | 43 + .../figura/avatars/Umika/scripts/temp.lua | 0 .../figura/avatars/Umika/textures/barrier.png | Bin 0 -> 103 bytes .../figura/avatars/Umika/textures/bubble.png | Bin 0 -> 203 bytes .../Umika/textures/bubble_emote_guide.png | Bin 0 -> 494 bytes .../figura/avatars/Umika/textures/bullet.png | Bin 0 -> 210 bytes .../Umika/textures/death_animation.png | Bin 0 -> 2020 bytes .../Umika/textures/emojis/black_dot.png | Bin 0 -> 160 bytes .../avatars/Umika/textures/emojis/dots.png | Bin 0 -> 167 bytes .../avatars/Umika/textures/emojis/good.png | Bin 0 -> 220 bytes .../avatars/Umika/textures/emojis/heart.png | Bin 0 -> 219 bytes .../avatars/Umika/textures/emojis/note.png | Bin 0 -> 223 bytes .../Umika/textures/emojis/question.png | Bin 0 -> 208 bytes .../avatars/Umika/textures/emojis/reload.png | Bin 0 -> 169 bytes .../avatars/Umika/textures/emojis/sweat.png | Bin 0 -> 224 bytes .../avatars/Umika/textures/ex_skill_1.png | Bin 0 -> 7720 bytes .../avatars/Umika/textures/ex_skill_frame.png | Bin 0 -> 410 bytes .../textures/for_modeling/leather_layer_1.png | Bin 0 -> 552 bytes .../for_modeling/leather_layer_1_overlay.png | Bin 0 -> 184 bytes .../textures/for_modeling/leather_layer_2.png | Bin 0 -> 322 bytes .../for_modeling/leather_layer_2_overlay.png | Bin 0 -> 181 bytes .../textures/for_modeling/oak_planks.png | Bin 0 -> 268 bytes .../Umika/textures/for_modeling/trim.png | Bin 0 -> 207 bytes .../textures/for_modeling/trim_leggings.png | Bin 0 -> 161 bytes .../figura/avatars/Umika/textures/gun.png | Bin 0 -> 1420 bytes .../figura/avatars/Umika/textures/main.png | Bin 0 -> 2565 bytes .../Umika/textures/placement_object.png | Bin 0 -> 584 bytes .../physics_animations_client_config.json | 118 + .../physics_blocks_client_config.json | 8028 +++ .../physicsmod/physics_client_config.json | 159 + .../physicsmod/physics_cloth_config.json | 4 + .../physics_mobs_client_config.json | 3 + .../physicsmod/physics_server_config.json | 6 + .../physics_vines_client_config.json | 564 + .../config/5.10/journeymap.core.config | 67 + .../config/5.10/journeymap.fullmap.config | 34 + .../config/5.10/journeymap.minimap.config | 60 + .../config/5.10/journeymap.minimap2.config | 60 + .../config/5.10/journeymap.topo.config | 10 + .../config/5.10/journeymap.waypoint.config | 32 + .../config/5.10/journeymap.webmap.config | 8 + config/yosbr/options.txt | 266 + index.toml | 10 + mods/ok-zoomer.pw.toml | 13 + mods/yosbr.pw.toml | 13 + pack.toml | 2 +- 884 files changed, 1168000 insertions(+), 1 deletion(-) create mode 100644 config/yosbr/config/figura/avatars/Hoshino/avatar.json create mode 100644 config/yosbr/config/figura/avatars/Hoshino/avatar.png create mode 100644 config/yosbr/config/figura/avatars/Hoshino/models/action_wheel_gui.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Hoshino/models/armor.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Hoshino/models/barrier.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Hoshino/models/bubble.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Hoshino/models/bullet.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Hoshino/models/costume_battle.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Hoshino/models/costume_masked.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Hoshino/models/costume_swimsuit.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Hoshino/models/death_animation.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Hoshino/models/ex_skill_1.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Hoshino/models/ex_skill_2.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Hoshino/models/ex_skill_3.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Hoshino/models/ex_skill_4.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Hoshino/models/ex_skill_frame.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Hoshino/models/gun.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Hoshino/models/main.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Hoshino/scripts/avatar.lua create mode 100644 config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/action_wheel/action_wheel.lua create mode 100644 config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/action_wheel/action_wheel_gui.lua create mode 100644 config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/action_wheel/update_checker.lua create mode 100644 config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/armor.lua create mode 100644 config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/arms.lua create mode 100644 config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/avatar_module.lua create mode 100644 config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/barrier.lua create mode 100644 config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/bubble.lua create mode 100644 config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/camera_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/config.lua create mode 100644 config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/costume.lua create mode 100644 config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/death_animation.lua create mode 100644 config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/events/abstract_event.lua create mode 100644 config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/events/avatar_events.lua create mode 100644 config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/events/script_init_event.lua create mode 100644 config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/ex_skill/ex_skill.lua create mode 100644 config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/ex_skill/ex_skill_frame_particle.lua create mode 100644 config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/ex_skill/ex_skill_frame_particle_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/face_parts.lua create mode 100644 config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/gun.lua create mode 100644 config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/head_block.lua create mode 100644 config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/head_model_generator.lua create mode 100644 config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/head_ring.lua create mode 100644 config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/hypixel_zombies.lua create mode 100644 config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/key_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/locale.lua create mode 100644 config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/nameplate.lua create mode 100644 config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/physics.lua create mode 100644 config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/placement_object/placement_object.lua create mode 100644 config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/placement_object/placement_object_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/portrait.lua create mode 100644 config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/skirt.lua create mode 100644 config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/utils/compatibility_utils.lua create mode 100644 config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/utils/model_utils.lua create mode 100644 config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/utils/player_utils.lua create mode 100644 config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/utils/spawn_object.lua create mode 100644 config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/utils/spawn_object_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/vanilla_model.lua create mode 100644 config/yosbr/config/figura/avatars/Hoshino/scripts/blue_archive_character.lua create mode 100644 config/yosbr/config/figura/avatars/Hoshino/scripts/character_scripts/ex_skill_2_wave_particle.lua create mode 100644 config/yosbr/config/figura/avatars/Hoshino/scripts/character_scripts/ex_skill_2_wave_particle_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Hoshino/scripts/character_scripts/gun_hoshino.lua create mode 100644 config/yosbr/config/figura/avatars/Hoshino/scripts/character_scripts/shield.lua create mode 100644 config/yosbr/config/figura/avatars/Hoshino/scripts/character_scripts/sub_gun.lua create mode 100644 config/yosbr/config/figura/avatars/Hoshino/scripts/character_scripts/whale_float.lua create mode 100644 config/yosbr/config/figura/avatars/Hoshino/textures/barrier.png create mode 100644 config/yosbr/config/figura/avatars/Hoshino/textures/bubble.png create mode 100644 config/yosbr/config/figura/avatars/Hoshino/textures/bubble_emote_guide.png create mode 100644 config/yosbr/config/figura/avatars/Hoshino/textures/bullet.png create mode 100644 config/yosbr/config/figura/avatars/Hoshino/textures/costume_battle.png create mode 100644 config/yosbr/config/figura/avatars/Hoshino/textures/costume_masked.png create mode 100644 config/yosbr/config/figura/avatars/Hoshino/textures/costume_swimsuit.png create mode 100644 config/yosbr/config/figura/avatars/Hoshino/textures/death_animation.png create mode 100644 config/yosbr/config/figura/avatars/Hoshino/textures/emojis/black_dot.png create mode 100644 config/yosbr/config/figura/avatars/Hoshino/textures/emojis/dots.png create mode 100644 config/yosbr/config/figura/avatars/Hoshino/textures/emojis/good.png create mode 100644 config/yosbr/config/figura/avatars/Hoshino/textures/emojis/heart.png create mode 100644 config/yosbr/config/figura/avatars/Hoshino/textures/emojis/note.png create mode 100644 config/yosbr/config/figura/avatars/Hoshino/textures/emojis/question.png create mode 100644 config/yosbr/config/figura/avatars/Hoshino/textures/emojis/reload.png create mode 100644 config/yosbr/config/figura/avatars/Hoshino/textures/emojis/sweat.png create mode 100644 config/yosbr/config/figura/avatars/Hoshino/textures/ex_skill_1.png create mode 100644 config/yosbr/config/figura/avatars/Hoshino/textures/ex_skill_2.png create mode 100644 config/yosbr/config/figura/avatars/Hoshino/textures/ex_skill_3.png create mode 100644 config/yosbr/config/figura/avatars/Hoshino/textures/ex_skill_4.png create mode 100644 config/yosbr/config/figura/avatars/Hoshino/textures/ex_skill_frame.png create mode 100644 config/yosbr/config/figura/avatars/Hoshino/textures/for_modeling/creeper.png create mode 100644 config/yosbr/config/figura/avatars/Hoshino/textures/for_modeling/firework_rocket.png create mode 100644 config/yosbr/config/figura/avatars/Hoshino/textures/for_modeling/leather_layer_1.png create mode 100644 config/yosbr/config/figura/avatars/Hoshino/textures/for_modeling/leather_layer_1_overlay.png create mode 100644 config/yosbr/config/figura/avatars/Hoshino/textures/for_modeling/leather_layer_2.png create mode 100644 config/yosbr/config/figura/avatars/Hoshino/textures/for_modeling/leather_layer_2_overlay.png create mode 100644 config/yosbr/config/figura/avatars/Hoshino/textures/for_modeling/pillager.png create mode 100644 config/yosbr/config/figura/avatars/Hoshino/textures/for_modeling/ravager.png create mode 100644 config/yosbr/config/figura/avatars/Hoshino/textures/for_modeling/trim.png create mode 100644 config/yosbr/config/figura/avatars/Hoshino/textures/for_modeling/trim_leggings.png create mode 100644 config/yosbr/config/figura/avatars/Hoshino/textures/for_modeling/vindicator.png create mode 100644 config/yosbr/config/figura/avatars/Hoshino/textures/for_modeling/water_flow.png create mode 100644 config/yosbr/config/figura/avatars/Hoshino/textures/for_modeling/water_still.png create mode 100644 config/yosbr/config/figura/avatars/Hoshino/textures/for_modeling/zombie.png create mode 100644 config/yosbr/config/figura/avatars/Hoshino/textures/gun.png create mode 100644 config/yosbr/config/figura/avatars/Hoshino/textures/main.png create mode 100644 config/yosbr/config/figura/avatars/Iroha/avatar.json create mode 100644 config/yosbr/config/figura/avatars/Iroha/avatar.png create mode 100644 config/yosbr/config/figura/avatars/Iroha/models/action_wheel_gui.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Iroha/models/armor.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Iroha/models/barrier.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Iroha/models/bubble.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Iroha/models/bullet.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Iroha/models/death_animation.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Iroha/models/ex_skill_1.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Iroha/models/ex_skill_frame.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Iroha/models/gun.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Iroha/models/main.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Iroha/scripts/avatar.lua create mode 100644 config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/action_wheel/action_wheel.lua create mode 100644 config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/action_wheel/action_wheel_gui.lua create mode 100644 config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/action_wheel/update_checker.lua create mode 100644 config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/armor.lua create mode 100644 config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/arms.lua create mode 100644 config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/avatar_module.lua create mode 100644 config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/barrier.lua create mode 100644 config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/bubble.lua create mode 100644 config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/camera_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/config.lua create mode 100644 config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/costume.lua create mode 100644 config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/death_animation.lua create mode 100644 config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/events/abstract_event.lua create mode 100644 config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/events/avatar_events.lua create mode 100644 config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/events/script_init_event.lua create mode 100644 config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/ex_skill/ex_skill.lua create mode 100644 config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/ex_skill/ex_skill_frame_particle.lua create mode 100644 config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/ex_skill/ex_skill_frame_particle_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/face_parts.lua create mode 100644 config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/gun.lua create mode 100644 config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/head_block.lua create mode 100644 config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/head_model_generator.lua create mode 100644 config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/head_ring.lua create mode 100644 config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/hypixel_zombies.lua create mode 100644 config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/key_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/locale.lua create mode 100644 config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/nameplate.lua create mode 100644 config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/physics.lua create mode 100644 config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/placement_object/placement_object.lua create mode 100644 config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/placement_object/placement_object_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/portrait.lua create mode 100644 config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/skirt.lua create mode 100644 config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/utils/compatibility_utils.lua create mode 100644 config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/utils/model_utils.lua create mode 100644 config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/utils/player_utils.lua create mode 100644 config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/utils/spawn_object.lua create mode 100644 config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/utils/spawn_object_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/vanilla_model.lua create mode 100644 config/yosbr/config/figura/avatars/Iroha/scripts/blue_archive_character.lua create mode 100644 config/yosbr/config/figura/avatars/Iroha/scripts/character_scripts/tank_shell.lua create mode 100644 config/yosbr/config/figura/avatars/Iroha/scripts/character_scripts/tank_shell_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Iroha/textures/barrier.png create mode 100644 config/yosbr/config/figura/avatars/Iroha/textures/bubble.png create mode 100644 config/yosbr/config/figura/avatars/Iroha/textures/bubble_emote_guide.png create mode 100644 config/yosbr/config/figura/avatars/Iroha/textures/bullet.png create mode 100644 config/yosbr/config/figura/avatars/Iroha/textures/death_animation.png create mode 100644 config/yosbr/config/figura/avatars/Iroha/textures/emojis/black_dot.png create mode 100644 config/yosbr/config/figura/avatars/Iroha/textures/emojis/dots.png create mode 100644 config/yosbr/config/figura/avatars/Iroha/textures/emojis/good.png create mode 100644 config/yosbr/config/figura/avatars/Iroha/textures/emojis/heart.png create mode 100644 config/yosbr/config/figura/avatars/Iroha/textures/emojis/note.png create mode 100644 config/yosbr/config/figura/avatars/Iroha/textures/emojis/question.png create mode 100644 config/yosbr/config/figura/avatars/Iroha/textures/emojis/reload.png create mode 100644 config/yosbr/config/figura/avatars/Iroha/textures/emojis/sweat.png create mode 100644 config/yosbr/config/figura/avatars/Iroha/textures/ex_skill_1.png create mode 100644 config/yosbr/config/figura/avatars/Iroha/textures/ex_skill_frame.png create mode 100644 config/yosbr/config/figura/avatars/Iroha/textures/for_modeling/leather_layer_1.png create mode 100644 config/yosbr/config/figura/avatars/Iroha/textures/for_modeling/leather_layer_1_overlay.png create mode 100644 config/yosbr/config/figura/avatars/Iroha/textures/for_modeling/leather_layer_2.png create mode 100644 config/yosbr/config/figura/avatars/Iroha/textures/for_modeling/leather_layer_2_overlay.png create mode 100644 config/yosbr/config/figura/avatars/Iroha/textures/for_modeling/oak.png create mode 100644 config/yosbr/config/figura/avatars/Iroha/textures/for_modeling/oak_log.png create mode 100644 config/yosbr/config/figura/avatars/Iroha/textures/for_modeling/oak_log_top.png create mode 100644 config/yosbr/config/figura/avatars/Iroha/textures/for_modeling/trim.png create mode 100644 config/yosbr/config/figura/avatars/Iroha/textures/for_modeling/trim_leggings.png create mode 100644 config/yosbr/config/figura/avatars/Iroha/textures/gun.png create mode 100644 config/yosbr/config/figura/avatars/Iroha/textures/main.png create mode 100644 config/yosbr/config/figura/avatars/Izuna/avatar.json create mode 100644 config/yosbr/config/figura/avatars/Izuna/avatar.png create mode 100644 config/yosbr/config/figura/avatars/Izuna/models/action_wheel_gui.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Izuna/models/armor.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Izuna/models/barrier.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Izuna/models/bubble.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Izuna/models/bullet.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Izuna/models/costume_swimsuit.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Izuna/models/death_animation.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Izuna/models/ex_skill_1.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Izuna/models/ex_skill_frame.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Izuna/models/gun.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Izuna/models/main.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Izuna/scripts/avatar.lua create mode 100644 config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/action_wheel/action_wheel.lua create mode 100644 config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/action_wheel/action_wheel_gui.lua create mode 100644 config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/action_wheel/update_checker.lua create mode 100644 config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/armor.lua create mode 100644 config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/arms.lua create mode 100644 config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/avatar_module.lua create mode 100644 config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/barrier.lua create mode 100644 config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/bubble.lua create mode 100644 config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/camera_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/config.lua create mode 100644 config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/costume.lua create mode 100644 config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/death_animation.lua create mode 100644 config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/events/abstract_event.lua create mode 100644 config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/events/avatar_events.lua create mode 100644 config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/events/script_init_event.lua create mode 100644 config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/ex_skill/ex_skill.lua create mode 100644 config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/ex_skill/ex_skill_frame_particle.lua create mode 100644 config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/ex_skill/ex_skill_frame_particle_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/face_parts.lua create mode 100644 config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/gun.lua create mode 100644 config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/head_block.lua create mode 100644 config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/head_model_generator.lua create mode 100644 config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/head_ring.lua create mode 100644 config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/hypixel_zombies.lua create mode 100644 config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/key_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/locale.lua create mode 100644 config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/nameplate.lua create mode 100644 config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/physics.lua create mode 100644 config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/placement_object/placement_object.lua create mode 100644 config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/placement_object/placement_object_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/portrait.lua create mode 100644 config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/skirt.lua create mode 100644 config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/utils/compatibility_utils.lua create mode 100644 config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/utils/ex_skill_text_animation.lua create mode 100644 config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/utils/model_utils.lua create mode 100644 config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/utils/player_utils.lua create mode 100644 config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/utils/spawn_object.lua create mode 100644 config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/utils/spawn_object_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/vanilla_model.lua create mode 100644 config/yosbr/config/figura/avatars/Izuna/scripts/blue_archive_character.lua create mode 100644 config/yosbr/config/figura/avatars/Izuna/scripts/character_scripts/ex_skill_1_text_object.lua create mode 100644 config/yosbr/config/figura/avatars/Izuna/scripts/character_scripts/ex_skill_1_text_object_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Izuna/scripts/character_scripts/teleport.lua create mode 100644 config/yosbr/config/figura/avatars/Izuna/textures/barrier.png create mode 100644 config/yosbr/config/figura/avatars/Izuna/textures/bubble.png create mode 100644 config/yosbr/config/figura/avatars/Izuna/textures/bubble_emote_guide.png create mode 100644 config/yosbr/config/figura/avatars/Izuna/textures/bullet.png create mode 100644 config/yosbr/config/figura/avatars/Izuna/textures/costume_swimsuit.png create mode 100644 config/yosbr/config/figura/avatars/Izuna/textures/death_animation.png create mode 100644 config/yosbr/config/figura/avatars/Izuna/textures/emojis/black_dot.png create mode 100644 config/yosbr/config/figura/avatars/Izuna/textures/emojis/dots.png create mode 100644 config/yosbr/config/figura/avatars/Izuna/textures/emojis/good.png create mode 100644 config/yosbr/config/figura/avatars/Izuna/textures/emojis/heart.png create mode 100644 config/yosbr/config/figura/avatars/Izuna/textures/emojis/note.png create mode 100644 config/yosbr/config/figura/avatars/Izuna/textures/emojis/question.png create mode 100644 config/yosbr/config/figura/avatars/Izuna/textures/emojis/reload.png create mode 100644 config/yosbr/config/figura/avatars/Izuna/textures/emojis/sweat.png create mode 100644 config/yosbr/config/figura/avatars/Izuna/textures/ex_skill_1.png create mode 100644 config/yosbr/config/figura/avatars/Izuna/textures/ex_skill_camera_background.png create mode 100644 config/yosbr/config/figura/avatars/Izuna/textures/ex_skill_frame.png create mode 100644 config/yosbr/config/figura/avatars/Izuna/textures/for_modeling/leather_layer_1.png create mode 100644 config/yosbr/config/figura/avatars/Izuna/textures/for_modeling/leather_layer_1_overlay.png create mode 100644 config/yosbr/config/figura/avatars/Izuna/textures/for_modeling/leather_layer_2.png create mode 100644 config/yosbr/config/figura/avatars/Izuna/textures/for_modeling/leather_layer_2_overlay.png create mode 100644 config/yosbr/config/figura/avatars/Izuna/textures/for_modeling/snow_fox.png create mode 100644 config/yosbr/config/figura/avatars/Izuna/textures/for_modeling/sunflower_front.png create mode 100644 config/yosbr/config/figura/avatars/Izuna/textures/for_modeling/trim.png create mode 100644 config/yosbr/config/figura/avatars/Izuna/textures/for_modeling/trim_leggings.png create mode 100644 config/yosbr/config/figura/avatars/Izuna/textures/gun.png create mode 100644 config/yosbr/config/figura/avatars/Izuna/textures/main.png create mode 100644 config/yosbr/config/figura/avatars/Mari/avatar.json create mode 100644 config/yosbr/config/figura/avatars/Mari/avatar.png create mode 100644 config/yosbr/config/figura/avatars/Mari/models/action_wheel_gui.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Mari/models/armor.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Mari/models/barrier.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Mari/models/bubble.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Mari/models/bullet.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Mari/models/costume_idol.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Mari/models/costume_tracksuit.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Mari/models/death_animation.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Mari/models/ex_skill_2.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Mari/models/ex_skill_3.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Mari/models/ex_skill_frame.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Mari/models/gun.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Mari/models/main.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Mari/scripts/avatar.lua create mode 100644 config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/action_wheel/action_wheel.lua create mode 100644 config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/action_wheel/action_wheel_gui.lua create mode 100644 config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/action_wheel/update_checker.lua create mode 100644 config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/armor.lua create mode 100644 config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/arms.lua create mode 100644 config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/avatar_module.lua create mode 100644 config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/barrier.lua create mode 100644 config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/bubble.lua create mode 100644 config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/camera_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/config.lua create mode 100644 config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/costume.lua create mode 100644 config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/death_animation.lua create mode 100644 config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/events/abstract_event.lua create mode 100644 config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/events/avatar_events.lua create mode 100644 config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/events/script_init_event.lua create mode 100644 config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/ex_skill/ex_skill.lua create mode 100644 config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/ex_skill/ex_skill_frame_particle.lua create mode 100644 config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/ex_skill/ex_skill_frame_particle_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/face_parts.lua create mode 100644 config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/gun.lua create mode 100644 config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/head_block.lua create mode 100644 config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/head_model_generator.lua create mode 100644 config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/head_ring.lua create mode 100644 config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/hypixel_zombies.lua create mode 100644 config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/key_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/locale.lua create mode 100644 config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/nameplate.lua create mode 100644 config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/physics.lua create mode 100644 config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/placement_object/placement_object.lua create mode 100644 config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/placement_object/placement_object_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/portrait.lua create mode 100644 config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/skirt.lua create mode 100644 config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/utils/compatibility_utils.lua create mode 100644 config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/utils/model_utils.lua create mode 100644 config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/utils/player_utils.lua create mode 100644 config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/utils/spawn_object.lua create mode 100644 config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/utils/spawn_object_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/vanilla_model.lua create mode 100644 config/yosbr/config/figura/avatars/Mari/scripts/blue_archive_character.lua create mode 100644 config/yosbr/config/figura/avatars/Mari/textures/barrier.png create mode 100644 config/yosbr/config/figura/avatars/Mari/textures/bubble.png create mode 100644 config/yosbr/config/figura/avatars/Mari/textures/bubble_emote_guide.png create mode 100644 config/yosbr/config/figura/avatars/Mari/textures/bullet.png create mode 100644 config/yosbr/config/figura/avatars/Mari/textures/costume_idol.png create mode 100644 config/yosbr/config/figura/avatars/Mari/textures/costume_tracksuit.png create mode 100644 config/yosbr/config/figura/avatars/Mari/textures/death_animation.png create mode 100644 config/yosbr/config/figura/avatars/Mari/textures/emojis/black_dot.png create mode 100644 config/yosbr/config/figura/avatars/Mari/textures/emojis/dots.png create mode 100644 config/yosbr/config/figura/avatars/Mari/textures/emojis/good.png create mode 100644 config/yosbr/config/figura/avatars/Mari/textures/emojis/heart.png create mode 100644 config/yosbr/config/figura/avatars/Mari/textures/emojis/note.png create mode 100644 config/yosbr/config/figura/avatars/Mari/textures/emojis/question.png create mode 100644 config/yosbr/config/figura/avatars/Mari/textures/emojis/reload.png create mode 100644 config/yosbr/config/figura/avatars/Mari/textures/emojis/sweat.png create mode 100644 config/yosbr/config/figura/avatars/Mari/textures/ex_skill_2.png create mode 100644 config/yosbr/config/figura/avatars/Mari/textures/ex_skill_3.png create mode 100644 config/yosbr/config/figura/avatars/Mari/textures/ex_skill_3_stage_emissive_mapping.png create mode 100644 config/yosbr/config/figura/avatars/Mari/textures/ex_skill_frame.png create mode 100644 config/yosbr/config/figura/avatars/Mari/textures/for_modeling/feather.png create mode 100644 config/yosbr/config/figura/avatars/Mari/textures/for_modeling/gray_concrete.png create mode 100644 config/yosbr/config/figura/avatars/Mari/textures/for_modeling/leather_layer_1.png create mode 100644 config/yosbr/config/figura/avatars/Mari/textures/for_modeling/leather_layer_1_overlay.png create mode 100644 config/yosbr/config/figura/avatars/Mari/textures/for_modeling/leather_layer_2.png create mode 100644 config/yosbr/config/figura/avatars/Mari/textures/for_modeling/leather_layer_2_overlay.png create mode 100644 config/yosbr/config/figura/avatars/Mari/textures/for_modeling/trim.png create mode 100644 config/yosbr/config/figura/avatars/Mari/textures/for_modeling/trim_leggings.png create mode 100644 config/yosbr/config/figura/avatars/Mari/textures/gun.png create mode 100644 config/yosbr/config/figura/avatars/Mari/textures/main.png create mode 100644 config/yosbr/config/figura/avatars/Midori/avatar.json create mode 100644 config/yosbr/config/figura/avatars/Midori/avatar.png create mode 100644 config/yosbr/config/figura/avatars/Midori/models/action_wheel_gui.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Midori/models/armor.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Midori/models/barrier.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Midori/models/bubble.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Midori/models/bullet.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Midori/models/costume_maid.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Midori/models/death_animation.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Midori/models/ex_skill_1.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Midori/models/ex_skill_2.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Midori/models/ex_skill_frame.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Midori/models/gun.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Midori/models/main.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Midori/scripts/avatar.lua create mode 100644 config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/action_wheel/action_wheel.lua create mode 100644 config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/action_wheel/action_wheel_gui.lua create mode 100644 config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/action_wheel/update_checker.lua create mode 100644 config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/armor.lua create mode 100644 config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/arms.lua create mode 100644 config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/avatar_module.lua create mode 100644 config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/barrier.lua create mode 100644 config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/bubble.lua create mode 100644 config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/camera_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/config.lua create mode 100644 config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/costume.lua create mode 100644 config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/death_animation.lua create mode 100644 config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/events/abstract_event.lua create mode 100644 config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/events/avatar_events.lua create mode 100644 config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/events/script_init_event.lua create mode 100644 config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/ex_skill/ex_skill.lua create mode 100644 config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/ex_skill/ex_skill_frame_particle.lua create mode 100644 config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/ex_skill/ex_skill_frame_particle_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/face_parts.lua create mode 100644 config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/gun.lua create mode 100644 config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/head_block.lua create mode 100644 config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/head_model_generator.lua create mode 100644 config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/head_ring.lua create mode 100644 config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/hypixel_zombies.lua create mode 100644 config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/key_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/locale.lua create mode 100644 config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/nameplate.lua create mode 100644 config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/physics.lua create mode 100644 config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/placement_object/placement_object.lua create mode 100644 config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/placement_object/placement_object_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/portrait.lua create mode 100644 config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/skirt.lua create mode 100644 config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/utils/compatibility_utils.lua create mode 100644 config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/utils/model_utils.lua create mode 100644 config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/utils/player_utils.lua create mode 100644 config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/utils/spawn_object.lua create mode 100644 config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/utils/spawn_object_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/vanilla_model.lua create mode 100644 config/yosbr/config/figura/avatars/Midori/scripts/blue_archive_character.lua create mode 100644 config/yosbr/config/figura/avatars/Midori/scripts/character_scripts/ex_skill_1_text_object.lua create mode 100644 config/yosbr/config/figura/avatars/Midori/scripts/character_scripts/ex_skill_1_text_object_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Midori/scripts/character_scripts/ex_skill_2_particle.lua create mode 100644 config/yosbr/config/figura/avatars/Midori/scripts/character_scripts/ex_skill_2_particle_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Midori/scripts/character_scripts/ex_skill_2_transition.lua create mode 100644 config/yosbr/config/figura/avatars/Midori/scripts/character_scripts/ex_skill_2_transition_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Midori/textures/barrier.png create mode 100644 config/yosbr/config/figura/avatars/Midori/textures/bubble.png create mode 100644 config/yosbr/config/figura/avatars/Midori/textures/bubble_emote_guide.png create mode 100644 config/yosbr/config/figura/avatars/Midori/textures/bullet.png create mode 100644 config/yosbr/config/figura/avatars/Midori/textures/costume_maid.png create mode 100644 config/yosbr/config/figura/avatars/Midori/textures/death_animation.png create mode 100644 config/yosbr/config/figura/avatars/Midori/textures/emojis/black_dot.png create mode 100644 config/yosbr/config/figura/avatars/Midori/textures/emojis/dots.png create mode 100644 config/yosbr/config/figura/avatars/Midori/textures/emojis/good.png create mode 100644 config/yosbr/config/figura/avatars/Midori/textures/emojis/heart.png create mode 100644 config/yosbr/config/figura/avatars/Midori/textures/emojis/note.png create mode 100644 config/yosbr/config/figura/avatars/Midori/textures/emojis/question.png create mode 100644 config/yosbr/config/figura/avatars/Midori/textures/emojis/reload.png create mode 100644 config/yosbr/config/figura/avatars/Midori/textures/emojis/sweat.png create mode 100644 config/yosbr/config/figura/avatars/Midori/textures/emojis/v.png create mode 100644 config/yosbr/config/figura/avatars/Midori/textures/ex_skill_1.png create mode 100644 config/yosbr/config/figura/avatars/Midori/textures/ex_skill_2.png create mode 100644 config/yosbr/config/figura/avatars/Midori/textures/ex_skill_frame.png create mode 100644 config/yosbr/config/figura/avatars/Midori/textures/for_modeling/destroy_stage_9.png create mode 100644 config/yosbr/config/figura/avatars/Midori/textures/for_modeling/leather_layer_1.png create mode 100644 config/yosbr/config/figura/avatars/Midori/textures/for_modeling/leather_layer_1_overlay.png create mode 100644 config/yosbr/config/figura/avatars/Midori/textures/for_modeling/leather_layer_2.png create mode 100644 config/yosbr/config/figura/avatars/Midori/textures/for_modeling/leather_layer_2_overlay.png create mode 100644 config/yosbr/config/figura/avatars/Midori/textures/for_modeling/pillager.png create mode 100644 config/yosbr/config/figura/avatars/Midori/textures/for_modeling/trim.png create mode 100644 config/yosbr/config/figura/avatars/Midori/textures/for_modeling/trim_leggings.png create mode 100644 config/yosbr/config/figura/avatars/Midori/textures/gun.png create mode 100644 config/yosbr/config/figura/avatars/Midori/textures/main.png create mode 100644 config/yosbr/config/figura/avatars/Momoi/avatar.json create mode 100644 config/yosbr/config/figura/avatars/Momoi/avatar.png create mode 100644 config/yosbr/config/figura/avatars/Momoi/models/action_wheel_gui.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Momoi/models/armor.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Momoi/models/barrier.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Momoi/models/bubble.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Momoi/models/bullet.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Momoi/models/costume_maid.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Momoi/models/death_animation.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Momoi/models/ex_skill_1.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Momoi/models/ex_skill_2.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Momoi/models/ex_skill_frame.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Momoi/models/gun.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Momoi/models/main.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Momoi/scripts/avatar.lua create mode 100644 config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/action_wheel/action_wheel.lua create mode 100644 config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/action_wheel/action_wheel_gui.lua create mode 100644 config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/action_wheel/update_checker.lua create mode 100644 config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/armor.lua create mode 100644 config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/arms.lua create mode 100644 config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/avatar_module.lua create mode 100644 config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/barrier.lua create mode 100644 config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/bubble.lua create mode 100644 config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/camera_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/config.lua create mode 100644 config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/costume.lua create mode 100644 config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/death_animation.lua create mode 100644 config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/events/abstract_event.lua create mode 100644 config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/events/avatar_events.lua create mode 100644 config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/events/script_init_event.lua create mode 100644 config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/ex_skill/ex_skill.lua create mode 100644 config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/ex_skill/ex_skill_frame_particle.lua create mode 100644 config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/ex_skill/ex_skill_frame_particle_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/face_parts.lua create mode 100644 config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/gun.lua create mode 100644 config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/head_block.lua create mode 100644 config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/head_model_generator.lua create mode 100644 config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/head_ring.lua create mode 100644 config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/hypixel_zombies.lua create mode 100644 config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/key_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/locale.lua create mode 100644 config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/nameplate.lua create mode 100644 config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/physics.lua create mode 100644 config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/placement_object/placement_object.lua create mode 100644 config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/placement_object/placement_object_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/portrait.lua create mode 100644 config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/skirt.lua create mode 100644 config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/utils/compatibility_utils.lua create mode 100644 config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/utils/model_utils.lua create mode 100644 config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/utils/player_utils.lua create mode 100644 config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/utils/spawn_object.lua create mode 100644 config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/utils/spawn_object_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/vanilla_model.lua create mode 100644 config/yosbr/config/figura/avatars/Momoi/scripts/blue_archive_character.lua create mode 100644 config/yosbr/config/figura/avatars/Momoi/scripts/character_scripts/ex_skill_1_text_object.lua create mode 100644 config/yosbr/config/figura/avatars/Momoi/scripts/character_scripts/ex_skill_1_text_object_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Momoi/scripts/character_scripts/ex_skill_2_text_object.lua create mode 100644 config/yosbr/config/figura/avatars/Momoi/scripts/character_scripts/ex_skill_2_text_object_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Momoi/textures/barrier.png create mode 100644 config/yosbr/config/figura/avatars/Momoi/textures/bubble.png create mode 100644 config/yosbr/config/figura/avatars/Momoi/textures/bubble_emote_guide.png create mode 100644 config/yosbr/config/figura/avatars/Momoi/textures/bullet.png create mode 100644 config/yosbr/config/figura/avatars/Momoi/textures/costume_maid.png create mode 100644 config/yosbr/config/figura/avatars/Momoi/textures/death_animation.png create mode 100644 config/yosbr/config/figura/avatars/Momoi/textures/emojis/black_dot.png create mode 100644 config/yosbr/config/figura/avatars/Momoi/textures/emojis/dots.png create mode 100644 config/yosbr/config/figura/avatars/Momoi/textures/emojis/good.png create mode 100644 config/yosbr/config/figura/avatars/Momoi/textures/emojis/heart.png create mode 100644 config/yosbr/config/figura/avatars/Momoi/textures/emojis/note.png create mode 100644 config/yosbr/config/figura/avatars/Momoi/textures/emojis/question.png create mode 100644 config/yosbr/config/figura/avatars/Momoi/textures/emojis/reload.png create mode 100644 config/yosbr/config/figura/avatars/Momoi/textures/emojis/sweat.png create mode 100644 config/yosbr/config/figura/avatars/Momoi/textures/ex_skill_1.png create mode 100644 config/yosbr/config/figura/avatars/Momoi/textures/ex_skill_2.png create mode 100644 config/yosbr/config/figura/avatars/Momoi/textures/ex_skill_frame.png create mode 100644 config/yosbr/config/figura/avatars/Momoi/textures/for_modeling/back.png create mode 100644 config/yosbr/config/figura/avatars/Momoi/textures/for_modeling/decorated_pot_base.png create mode 100644 config/yosbr/config/figura/avatars/Momoi/textures/for_modeling/decorated_pot_side.png create mode 100644 config/yosbr/config/figura/avatars/Momoi/textures/for_modeling/leather_layer_1.png create mode 100644 config/yosbr/config/figura/avatars/Momoi/textures/for_modeling/leather_layer_1_overlay.png create mode 100644 config/yosbr/config/figura/avatars/Momoi/textures/for_modeling/leather_layer_2.png create mode 100644 config/yosbr/config/figura/avatars/Momoi/textures/for_modeling/leather_layer_2_overlay.png create mode 100644 config/yosbr/config/figura/avatars/Momoi/textures/for_modeling/pillager.png create mode 100644 config/yosbr/config/figura/avatars/Momoi/textures/for_modeling/pointer.png create mode 100644 config/yosbr/config/figura/avatars/Momoi/textures/for_modeling/trim.png create mode 100644 config/yosbr/config/figura/avatars/Momoi/textures/for_modeling/trim_leggings.png create mode 100644 config/yosbr/config/figura/avatars/Momoi/textures/gun.png create mode 100644 config/yosbr/config/figura/avatars/Momoi/textures/main.png create mode 100644 config/yosbr/config/figura/avatars/Serina/avatar.json create mode 100644 config/yosbr/config/figura/avatars/Serina/avatar.png create mode 100644 config/yosbr/config/figura/avatars/Serina/models/action_wheel_gui.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Serina/models/armor.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Serina/models/barrier.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Serina/models/bubble.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Serina/models/bullet.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Serina/models/costume_christmas.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Serina/models/death_animation.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Serina/models/ex_skill_1.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Serina/models/ex_skill_2.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Serina/models/ex_skill_frame.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Serina/models/gun.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Serina/models/main.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Serina/scripts/avatar.lua create mode 100644 config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/action_wheel/action_wheel.lua create mode 100644 config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/action_wheel/action_wheel_gui.lua create mode 100644 config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/action_wheel/update_checker.lua create mode 100644 config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/armor.lua create mode 100644 config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/arms.lua create mode 100644 config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/avatar_module.lua create mode 100644 config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/barrier.lua create mode 100644 config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/bubble.lua create mode 100644 config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/camera_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/config.lua create mode 100644 config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/costume.lua create mode 100644 config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/death_animation.lua create mode 100644 config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/events/abstract_event.lua create mode 100644 config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/events/avatar_events.lua create mode 100644 config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/events/script_init_event.lua create mode 100644 config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/ex_skill/ex_skill.lua create mode 100644 config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/ex_skill/ex_skill_frame_particle.lua create mode 100644 config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/ex_skill/ex_skill_frame_particle_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/face_parts.lua create mode 100644 config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/gun.lua create mode 100644 config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/head_block.lua create mode 100644 config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/head_model_generator.lua create mode 100644 config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/head_ring.lua create mode 100644 config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/hypixel_zombies.lua create mode 100644 config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/key_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/locale.lua create mode 100644 config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/nameplate.lua create mode 100644 config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/physics.lua create mode 100644 config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/placement_object/placement_object.lua create mode 100644 config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/placement_object/placement_object_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/portrait.lua create mode 100644 config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/skirt.lua create mode 100644 config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/utils/compatibility_utils.lua create mode 100644 config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/utils/model_utils.lua create mode 100644 config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/utils/player_utils.lua create mode 100644 config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/utils/spawn_object.lua create mode 100644 config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/utils/spawn_object_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/vanilla_model.lua create mode 100644 config/yosbr/config/figura/avatars/Serina/scripts/blue_archive_character.lua create mode 100644 config/yosbr/config/figura/avatars/Serina/scripts/character_scripts/ex_skill_2_melody_particle.lua create mode 100644 config/yosbr/config/figura/avatars/Serina/scripts/character_scripts/ex_skill_2_melody_particle_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Serina/textures/barrier.png create mode 100644 config/yosbr/config/figura/avatars/Serina/textures/bubble.png create mode 100644 config/yosbr/config/figura/avatars/Serina/textures/bubble_emote_guide.png create mode 100644 config/yosbr/config/figura/avatars/Serina/textures/bullet.png create mode 100644 config/yosbr/config/figura/avatars/Serina/textures/costume_christmas.png create mode 100644 config/yosbr/config/figura/avatars/Serina/textures/death_animation.png create mode 100644 config/yosbr/config/figura/avatars/Serina/textures/emojis/black_dot.png create mode 100644 config/yosbr/config/figura/avatars/Serina/textures/emojis/dots.png create mode 100644 config/yosbr/config/figura/avatars/Serina/textures/emojis/good.png create mode 100644 config/yosbr/config/figura/avatars/Serina/textures/emojis/heart.png create mode 100644 config/yosbr/config/figura/avatars/Serina/textures/emojis/note.png create mode 100644 config/yosbr/config/figura/avatars/Serina/textures/emojis/question.png create mode 100644 config/yosbr/config/figura/avatars/Serina/textures/emojis/reload.png create mode 100644 config/yosbr/config/figura/avatars/Serina/textures/emojis/sweat.png create mode 100644 config/yosbr/config/figura/avatars/Serina/textures/ex_skill_1.png create mode 100644 config/yosbr/config/figura/avatars/Serina/textures/ex_skill_2.png create mode 100644 config/yosbr/config/figura/avatars/Serina/textures/ex_skill_frame.png create mode 100644 config/yosbr/config/figura/avatars/Serina/textures/for_modeling/bell_bottom.png create mode 100644 config/yosbr/config/figura/avatars/Serina/textures/for_modeling/bell_side.png create mode 100644 config/yosbr/config/figura/avatars/Serina/textures/for_modeling/bell_top.png create mode 100644 config/yosbr/config/figura/avatars/Serina/textures/for_modeling/leather_layer_1.png create mode 100644 config/yosbr/config/figura/avatars/Serina/textures/for_modeling/leather_layer_1_overlay.png create mode 100644 config/yosbr/config/figura/avatars/Serina/textures/for_modeling/leather_layer_2.png create mode 100644 config/yosbr/config/figura/avatars/Serina/textures/for_modeling/leather_layer_2_overlay.png create mode 100644 config/yosbr/config/figura/avatars/Serina/textures/for_modeling/trim.png create mode 100644 config/yosbr/config/figura/avatars/Serina/textures/for_modeling/trim_leggings.png create mode 100644 config/yosbr/config/figura/avatars/Serina/textures/gun.png create mode 100644 config/yosbr/config/figura/avatars/Serina/textures/main.png create mode 100644 config/yosbr/config/figura/avatars/Serina/textures/skirt.png create mode 100644 config/yosbr/config/figura/avatars/Shiroko/avatar.json create mode 100644 config/yosbr/config/figura/avatars/Shiroko/avatar.png create mode 100644 config/yosbr/config/figura/avatars/Shiroko/models/action_wheel_gui.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Shiroko/models/armor.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Shiroko/models/barrier.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Shiroko/models/bubble.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Shiroko/models/bullet.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Shiroko/models/costume_masked.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Shiroko/models/costume_riding.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Shiroko/models/costume_swimsuit.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Shiroko/models/death_animation.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Shiroko/models/ex_skill_1.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Shiroko/models/ex_skill_2.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Shiroko/models/ex_skill_3.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Shiroko/models/ex_skill_frame.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Shiroko/models/gun.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Shiroko/models/main.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Shiroko/scripts/avatar.lua create mode 100644 config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/action_wheel/action_wheel.lua create mode 100644 config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/action_wheel/action_wheel_gui.lua create mode 100644 config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/action_wheel/update_checker.lua create mode 100644 config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/armor.lua create mode 100644 config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/arms.lua create mode 100644 config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/avatar_module.lua create mode 100644 config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/barrier.lua create mode 100644 config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/bubble.lua create mode 100644 config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/camera_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/config.lua create mode 100644 config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/costume.lua create mode 100644 config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/death_animation.lua create mode 100644 config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/events/abstract_event.lua create mode 100644 config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/events/avatar_events.lua create mode 100644 config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/events/script_init_event.lua create mode 100644 config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/ex_skill/ex_skill.lua create mode 100644 config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/ex_skill/ex_skill_frame_particle.lua create mode 100644 config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/ex_skill/ex_skill_frame_particle_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/face_parts.lua create mode 100644 config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/gun.lua create mode 100644 config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/head_block.lua create mode 100644 config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/head_model_generator.lua create mode 100644 config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/head_ring.lua create mode 100644 config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/hypixel_zombies.lua create mode 100644 config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/key_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/locale.lua create mode 100644 config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/nameplate.lua create mode 100644 config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/physics.lua create mode 100644 config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/placement_object/placement_object.lua create mode 100644 config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/placement_object/placement_object_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/portrait.lua create mode 100644 config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/skirt.lua create mode 100644 config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/utils/compatibility_utils.lua create mode 100644 config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/utils/model_utils.lua create mode 100644 config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/utils/player_utils.lua create mode 100644 config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/utils/spawn_object.lua create mode 100644 config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/utils/spawn_object_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/vanilla_model.lua create mode 100644 config/yosbr/config/figura/avatars/Shiroko/scripts/blue_archive_character.lua create mode 100644 config/yosbr/config/figura/avatars/Shiroko/scripts/character_scripts/bicycle.lua create mode 100644 config/yosbr/config/figura/avatars/Shiroko/scripts/character_scripts/drone.lua create mode 100644 config/yosbr/config/figura/avatars/Shiroko/scripts/character_scripts/drone_missile.lua create mode 100644 config/yosbr/config/figura/avatars/Shiroko/scripts/character_scripts/drone_missile_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Shiroko/textures/barrier.png create mode 100644 config/yosbr/config/figura/avatars/Shiroko/textures/bubble.png create mode 100644 config/yosbr/config/figura/avatars/Shiroko/textures/bubble_emote_guide.png create mode 100644 config/yosbr/config/figura/avatars/Shiroko/textures/bullet.png create mode 100644 config/yosbr/config/figura/avatars/Shiroko/textures/costume_masked.png create mode 100644 config/yosbr/config/figura/avatars/Shiroko/textures/costume_riding.png create mode 100644 config/yosbr/config/figura/avatars/Shiroko/textures/costume_swimsuit.png create mode 100644 config/yosbr/config/figura/avatars/Shiroko/textures/death_animation.png create mode 100644 config/yosbr/config/figura/avatars/Shiroko/textures/emojis/black_dot.png create mode 100644 config/yosbr/config/figura/avatars/Shiroko/textures/emojis/dots.png create mode 100644 config/yosbr/config/figura/avatars/Shiroko/textures/emojis/good.png create mode 100644 config/yosbr/config/figura/avatars/Shiroko/textures/emojis/heart.png create mode 100644 config/yosbr/config/figura/avatars/Shiroko/textures/emojis/note.png create mode 100644 config/yosbr/config/figura/avatars/Shiroko/textures/emojis/question.png create mode 100644 config/yosbr/config/figura/avatars/Shiroko/textures/emojis/reload.png create mode 100644 config/yosbr/config/figura/avatars/Shiroko/textures/emojis/sweat.png create mode 100644 config/yosbr/config/figura/avatars/Shiroko/textures/ex_skill_1.png create mode 100644 config/yosbr/config/figura/avatars/Shiroko/textures/ex_skill_2.png create mode 100644 config/yosbr/config/figura/avatars/Shiroko/textures/ex_skill_3.png create mode 100644 config/yosbr/config/figura/avatars/Shiroko/textures/ex_skill_frame.png create mode 100644 config/yosbr/config/figura/avatars/Shiroko/textures/for_modeling/leather_layer_1.png create mode 100644 config/yosbr/config/figura/avatars/Shiroko/textures/for_modeling/leather_layer_1_overlay.png create mode 100644 config/yosbr/config/figura/avatars/Shiroko/textures/for_modeling/leather_layer_2.png create mode 100644 config/yosbr/config/figura/avatars/Shiroko/textures/for_modeling/leather_layer_2_overlay.png create mode 100644 config/yosbr/config/figura/avatars/Shiroko/textures/for_modeling/stone.png create mode 100644 config/yosbr/config/figura/avatars/Shiroko/textures/for_modeling/trim.png create mode 100644 config/yosbr/config/figura/avatars/Shiroko/textures/for_modeling/trim_leggings.png create mode 100644 config/yosbr/config/figura/avatars/Shiroko/textures/for_modeling/water_still.png create mode 100644 config/yosbr/config/figura/avatars/Shiroko/textures/gun.png create mode 100644 config/yosbr/config/figura/avatars/Shiroko/textures/main.png create mode 100644 config/yosbr/config/figura/avatars/Shizuko/avatar.json create mode 100644 config/yosbr/config/figura/avatars/Shizuko/avatar.png create mode 100644 config/yosbr/config/figura/avatars/Shizuko/models/action_wheel_gui.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Shizuko/models/armor.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Shizuko/models/barrier.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Shizuko/models/bubble.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Shizuko/models/bullet.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Shizuko/models/costume_swimsuit.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Shizuko/models/death_animation.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Shizuko/models/ex_skill_1.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Shizuko/models/ex_skill_2.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Shizuko/models/ex_skill_frame.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Shizuko/models/gun.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Shizuko/models/main.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Shizuko/scripts/avatar.lua create mode 100644 config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/action_wheel/action_wheel.lua create mode 100644 config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/action_wheel/action_wheel_gui.lua create mode 100644 config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/action_wheel/update_checker.lua create mode 100644 config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/armor.lua create mode 100644 config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/arms.lua create mode 100644 config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/avatar_module.lua create mode 100644 config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/barrier.lua create mode 100644 config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/bubble.lua create mode 100644 config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/camera_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/config.lua create mode 100644 config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/costume.lua create mode 100644 config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/death_animation.lua create mode 100644 config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/events/abstract_event.lua create mode 100644 config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/events/avatar_events.lua create mode 100644 config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/events/script_init_event.lua create mode 100644 config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/ex_skill/ex_skill.lua create mode 100644 config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/ex_skill/ex_skill_frame_particle.lua create mode 100644 config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/ex_skill/ex_skill_frame_particle_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/face_parts.lua create mode 100644 config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/gun.lua create mode 100644 config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/head_block.lua create mode 100644 config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/head_model_generator.lua create mode 100644 config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/head_ring.lua create mode 100644 config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/hypixel_zombies.lua create mode 100644 config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/key_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/locale.lua create mode 100644 config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/nameplate.lua create mode 100644 config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/physics.lua create mode 100644 config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/placement_object/placement_object.lua create mode 100644 config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/placement_object/placement_object_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/portrait.lua create mode 100644 config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/skirt.lua create mode 100644 config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/utils/compatibility_utils.lua create mode 100644 config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/utils/model_utils.lua create mode 100644 config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/utils/player_utils.lua create mode 100644 config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/utils/spawn_object.lua create mode 100644 config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/utils/spawn_object_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/vanilla_model.lua create mode 100644 config/yosbr/config/figura/avatars/Shizuko/scripts/blue_archive_character.lua create mode 100644 config/yosbr/config/figura/avatars/Shizuko/scripts/character_scripts/ex_skill_2_frame_particle.lua create mode 100644 config/yosbr/config/figura/avatars/Shizuko/scripts/character_scripts/ex_skill_2_frame_particle_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Shizuko/textures/barrier.png create mode 100644 config/yosbr/config/figura/avatars/Shizuko/textures/bubble.png create mode 100644 config/yosbr/config/figura/avatars/Shizuko/textures/bubble_emote_guide.png create mode 100644 config/yosbr/config/figura/avatars/Shizuko/textures/bullet.png create mode 100644 config/yosbr/config/figura/avatars/Shizuko/textures/costume_swimsuit.png create mode 100644 config/yosbr/config/figura/avatars/Shizuko/textures/death_animation.png create mode 100644 config/yosbr/config/figura/avatars/Shizuko/textures/emojis/black_dot.png create mode 100644 config/yosbr/config/figura/avatars/Shizuko/textures/emojis/dots.png create mode 100644 config/yosbr/config/figura/avatars/Shizuko/textures/emojis/good.png create mode 100644 config/yosbr/config/figura/avatars/Shizuko/textures/emojis/heart.png create mode 100644 config/yosbr/config/figura/avatars/Shizuko/textures/emojis/note.png create mode 100644 config/yosbr/config/figura/avatars/Shizuko/textures/emojis/question.png create mode 100644 config/yosbr/config/figura/avatars/Shizuko/textures/emojis/reload.png create mode 100644 config/yosbr/config/figura/avatars/Shizuko/textures/emojis/sweat.png create mode 100644 config/yosbr/config/figura/avatars/Shizuko/textures/ex_skill_2.png create mode 100644 config/yosbr/config/figura/avatars/Shizuko/textures/ex_skill_frame.png create mode 100644 config/yosbr/config/figura/avatars/Shizuko/textures/for_modeling/leather_layer_1.png create mode 100644 config/yosbr/config/figura/avatars/Shizuko/textures/for_modeling/leather_layer_1_overlay.png create mode 100644 config/yosbr/config/figura/avatars/Shizuko/textures/for_modeling/leather_layer_2.png create mode 100644 config/yosbr/config/figura/avatars/Shizuko/textures/for_modeling/leather_layer_2_overlay.png create mode 100644 config/yosbr/config/figura/avatars/Shizuko/textures/for_modeling/trim.png create mode 100644 config/yosbr/config/figura/avatars/Shizuko/textures/for_modeling/trim_leggings.png create mode 100644 config/yosbr/config/figura/avatars/Shizuko/textures/for_modeling/water_flow.png create mode 100644 config/yosbr/config/figura/avatars/Shizuko/textures/for_modeling/water_still.png create mode 100644 config/yosbr/config/figura/avatars/Shizuko/textures/gun.png create mode 100644 config/yosbr/config/figura/avatars/Shizuko/textures/main.png create mode 100644 config/yosbr/config/figura/avatars/Shizuko/textures/placement_object.png create mode 100644 config/yosbr/config/figura/avatars/Umika/avatar.json create mode 100644 config/yosbr/config/figura/avatars/Umika/avatar.png create mode 100644 config/yosbr/config/figura/avatars/Umika/models/action_wheel_gui.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Umika/models/armor.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Umika/models/barrier.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Umika/models/bubble.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Umika/models/bullet.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Umika/models/death_animation.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Umika/models/ex_skill_1.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Umika/models/ex_skill_frame.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Umika/models/gun.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Umika/models/main.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Umika/models/placement_object.bbmodel create mode 100644 config/yosbr/config/figura/avatars/Umika/scripts/avatar.lua create mode 100644 config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/action_wheel/action_wheel.lua create mode 100644 config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/action_wheel/action_wheel_gui.lua create mode 100644 config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/action_wheel/update_checker.lua create mode 100644 config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/armor.lua create mode 100644 config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/arms.lua create mode 100644 config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/avatar_module.lua create mode 100644 config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/barrier.lua create mode 100644 config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/bubble.lua create mode 100644 config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/camera_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/config.lua create mode 100644 config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/costume.lua create mode 100644 config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/death_animation.lua create mode 100644 config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/events/abstract_event.lua create mode 100644 config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/events/avatar_events.lua create mode 100644 config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/events/script_init_event.lua create mode 100644 config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/ex_skill/ex_skill.lua create mode 100644 config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/ex_skill/ex_skill_frame_particle.lua create mode 100644 config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/ex_skill/ex_skill_frame_particle_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/face_parts.lua create mode 100644 config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/gun.lua create mode 100644 config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/head_block.lua create mode 100644 config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/head_model_generator.lua create mode 100644 config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/head_ring.lua create mode 100644 config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/hypixel_zombies.lua create mode 100644 config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/key_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/locale.lua create mode 100644 config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/nameplate.lua create mode 100644 config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/physics.lua create mode 100644 config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/placement_object/placement_object.lua create mode 100644 config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/placement_object/placement_object_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/portrait.lua create mode 100644 config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/skirt.lua create mode 100644 config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/utils/compatibility_utils.lua create mode 100644 config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/utils/model_utils.lua create mode 100644 config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/utils/player_utils.lua create mode 100644 config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/utils/spawn_object.lua create mode 100644 config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/utils/spawn_object_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/vanilla_model.lua create mode 100644 config/yosbr/config/figura/avatars/Umika/scripts/blue_archive_character.lua create mode 100644 config/yosbr/config/figura/avatars/Umika/scripts/character_scripts/firework.lua create mode 100644 config/yosbr/config/figura/avatars/Umika/scripts/character_scripts/firework_manager.lua create mode 100644 config/yosbr/config/figura/avatars/Umika/scripts/temp.lua create mode 100644 config/yosbr/config/figura/avatars/Umika/textures/barrier.png create mode 100644 config/yosbr/config/figura/avatars/Umika/textures/bubble.png create mode 100644 config/yosbr/config/figura/avatars/Umika/textures/bubble_emote_guide.png create mode 100644 config/yosbr/config/figura/avatars/Umika/textures/bullet.png create mode 100644 config/yosbr/config/figura/avatars/Umika/textures/death_animation.png create mode 100644 config/yosbr/config/figura/avatars/Umika/textures/emojis/black_dot.png create mode 100644 config/yosbr/config/figura/avatars/Umika/textures/emojis/dots.png create mode 100644 config/yosbr/config/figura/avatars/Umika/textures/emojis/good.png create mode 100644 config/yosbr/config/figura/avatars/Umika/textures/emojis/heart.png create mode 100644 config/yosbr/config/figura/avatars/Umika/textures/emojis/note.png create mode 100644 config/yosbr/config/figura/avatars/Umika/textures/emojis/question.png create mode 100644 config/yosbr/config/figura/avatars/Umika/textures/emojis/reload.png create mode 100644 config/yosbr/config/figura/avatars/Umika/textures/emojis/sweat.png create mode 100644 config/yosbr/config/figura/avatars/Umika/textures/ex_skill_1.png create mode 100644 config/yosbr/config/figura/avatars/Umika/textures/ex_skill_frame.png create mode 100644 config/yosbr/config/figura/avatars/Umika/textures/for_modeling/leather_layer_1.png create mode 100644 config/yosbr/config/figura/avatars/Umika/textures/for_modeling/leather_layer_1_overlay.png create mode 100644 config/yosbr/config/figura/avatars/Umika/textures/for_modeling/leather_layer_2.png create mode 100644 config/yosbr/config/figura/avatars/Umika/textures/for_modeling/leather_layer_2_overlay.png create mode 100644 config/yosbr/config/figura/avatars/Umika/textures/for_modeling/oak_planks.png create mode 100644 config/yosbr/config/figura/avatars/Umika/textures/for_modeling/trim.png create mode 100644 config/yosbr/config/figura/avatars/Umika/textures/for_modeling/trim_leggings.png create mode 100644 config/yosbr/config/figura/avatars/Umika/textures/gun.png create mode 100644 config/yosbr/config/figura/avatars/Umika/textures/main.png create mode 100644 config/yosbr/config/figura/avatars/Umika/textures/placement_object.png create mode 100644 config/yosbr/config/physicsmod/physics_animations_client_config.json create mode 100644 config/yosbr/config/physicsmod/physics_blocks_client_config.json create mode 100644 config/yosbr/config/physicsmod/physics_client_config.json create mode 100644 config/yosbr/config/physicsmod/physics_cloth_config.json create mode 100644 config/yosbr/config/physicsmod/physics_mobs_client_config.json create mode 100644 config/yosbr/config/physicsmod/physics_server_config.json create mode 100644 config/yosbr/config/physicsmod/physics_vines_client_config.json create mode 100644 config/yosbr/journeymap/config/5.10/journeymap.core.config create mode 100644 config/yosbr/journeymap/config/5.10/journeymap.fullmap.config create mode 100644 config/yosbr/journeymap/config/5.10/journeymap.minimap.config create mode 100644 config/yosbr/journeymap/config/5.10/journeymap.minimap2.config create mode 100644 config/yosbr/journeymap/config/5.10/journeymap.topo.config create mode 100644 config/yosbr/journeymap/config/5.10/journeymap.waypoint.config create mode 100644 config/yosbr/journeymap/config/5.10/journeymap.webmap.config create mode 100644 config/yosbr/options.txt create mode 100644 mods/ok-zoomer.pw.toml create mode 100644 mods/yosbr.pw.toml diff --git a/config/yosbr/config/figura/avatars/Hoshino/avatar.json b/config/yosbr/config/figura/avatars/Hoshino/avatar.json new file mode 100644 index 0000000..69009e8 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/avatar.json @@ -0,0 +1,266 @@ +{ + "name": "Hoshino", + "description": "Hoshino Takanashi from Blue Archive", + "author": "Gakuto1112", + "version": "0.1.4", + "color": "a3e0fb", + "ignoredTextures": [ + "textures.for_modeling.leather_layer_1", + "textures.for_modeling.leather_layer_1_overlay", + "textures.for_modeling.leather_layer_2", + "textures.for_modeling.leather_layer_2_overlay", + "textures.for_modeling.trim", + "textures.for_modeling.trim_leggings", + "textures.for_modeling.water_still", + "textures.for_modeling.water_flow", + "textures.for_modeling.ravager", + "textures.for_modeling.pillager", + "textures.for_modeling.vindicator", + "textures.for_modeling.firework_rocket", + "textures.for_modeling.zombie", + "textures.for_modeling.creeper" + ], + "autoScripts": [ + "scripts/avatar.lua" + ], + "customizations": { + "models.models.main": { + "primaryRenderType": "CUTOUT" + }, + "models.models.main.Avatar.Head.HeadRing": { + "parentType": "None" + }, + "models.models.main.Avatar.UpperBody": { + "parentType": "None" + }, + "models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom": { + "parentType": "None" + }, + "models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom": { + "parentType": "None" + }, + "models.models.main.Avatar.LowerBody": { + "parentType": "None" + }, + "models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom": { + "parentType": "None" + }, + "models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom": { + "parentType": "None" + }, + "models.models.main.CameraAnchor": { + "parentType": "None" + }, + "models.models.armor.ArmorRA": { + "moveTo": "models.models.main.Avatar.UpperBody.Arms.RightArm", + "visible": false + }, + "models.models.armor.ArmorRA.RightChestplate.RightChestplateTrim": { + "visible": false + }, + "models.models.armor.ArmorRAB": { + "moveTo": "models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom", + "visible": false + }, + "models.models.armor.ArmorRAB.RightChestplateBottom.RightChestplateBottomTrim": { + "visible": false + }, + "models.models.armor.ArmorLA": { + "moveTo": "models.models.main.Avatar.UpperBody.Arms.LeftArm", + "visible": false + }, + "models.models.armor.ArmorLA.LeftChestplate.LeftChestplateTrim": { + "visible": false + }, + "models.models.armor.ArmorLAB": { + "moveTo": "models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom", + "visible": false + }, + "models.models.armor.ArmorLAB.LeftChestplateBottom.LeftChestplateBottomTrim": { + "visible": false + }, + "models.models.armor.ArmorRL": { + "moveTo": "models.models.main.Avatar.LowerBody.Legs.RightLeg" + }, + "models.models.armor.ArmorRL.RightLeggings": { + "visible": false, + "parentType": "None" + }, + "models.models.armor.ArmorRL.RightLeggings.RightLeggingsTrim": { + "visible": false + }, + "models.models.armor.ArmorRL.RightBoots": { + "visible": false + }, + "models.models.armor.ArmorRL.RightBoots.RightBootsTrim": { + "visible": false + }, + "models.models.armor.ArmorRLB": { + "moveTo": "models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom" + }, + "models.models.armor.ArmorRLB.RightLeggingsBottom": { + "visible": false, + "parentType": "None" + }, + "models.models.armor.ArmorRLB.RightLeggingsBottom.RightLeggingsBottomTrim": { + "visible": false + }, + "models.models.armor.ArmorRLB.RightBootsBottom": { + "visible": false + }, + "models.models.armor.ArmorRLB.RightBootsBottom.RightBootsBottomTrim": { + "visible": false + }, + "models.models.armor.ArmorLL": { + "moveTo": "models.models.main.Avatar.LowerBody.Legs.LeftLeg" + }, + "models.models.armor.ArmorLL.LeftLeggings": { + "visible": false, + "parentType": "None" + }, + "models.models.armor.ArmorLL.LeftLeggings.LeftLeggingsTrim": { + "visible": false + }, + "models.models.armor.ArmorLL.LeftBoots": { + "visible": false + }, + "models.models.armor.ArmorLL.LeftBoots.LeftBootsTrim": { + "visible": false + }, + "models.models.armor.ArmorLLB": { + "moveTo": "models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom" + }, + "models.models.armor.ArmorLLB.LeftLeggingsBottom": { + "visible": false, + "parentType": "None" + }, + "models.models.armor.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottomTrim": { + "visible": false + }, + "models.models.armor.ArmorLLB.LeftBootsBottom": { + "visible": false + }, + "models.models.armor.ArmorLLB.LeftBootsBottom.LeftBootsBottomTrim": { + "visible": false + }, + "models.models.gun.Gun": { + "moveTo": "models.models.main.Avatar.UpperBody.Body" + }, + "models.models.gun.SubGun": { + "moveTo": "models.models.main.Avatar.UpperBody.Body", + "visible": false + }, + "models.models.ex_skill_1.ShineEffect": { + "moveTo": "models.models.gun.Gun.Barrel", + "primaryRenderType": "EMISSIVE_SOLID", + "visible": false + }, + "models.models.ex_skill_2.WhaleFloat": { + "moveTo": "models.models.main.Avatar.LowerBody", + "visible": false + }, + "models.models.ex_skill_2.Waves": { + "visible": false + }, + "models.models.ex_skill_3.Illagers": { + "visible": false + }, + "models.models.ex_skill_3.Firework": { + "visible": false + }, + "models.models.ex_skill_3.Explosion": { + "visible": false, + "primaryRenderType": "EMISSIVE_SOLID" + }, + "models.models.ex_skill_4.Zombie": { + "visible": false + }, + "models.models.ex_skill_4.Creeper": { + "visible": false + }, + "models.models.ex_skill_4.EyeShine": { + "visible": false, + "moveTo": "models.models.main.Avatar.Head", + "primaryRenderType": "EMISSIVE_SOLID" + }, + "models.models.ex_skill_4.MuzzleFlash": { + "visible": false, + "moveTo": "models.models.gun.Gun", + "primaryRenderType": "EMISSIVE_SOLID" + }, + "models.models.ex_skill_3.Gui": { + "visible": false + }, + "models.models.costume_masked.CMaskedH": { + "moveTo": "models.models.main.Avatar.Head", + "visible": false + }, + "models.models.costume_swimsuit.CSwimsuitH": { + "moveTo": "models.models.main.Avatar.Head", + "visible": false + }, + "models.models.costume_swimsuit.CSwimsuitB": { + "moveTo": "models.models.main.Avatar.UpperBody.Body", + "visible": false + }, + "models.models.costume_swimsuit.CSwimsuitB.GunBag": { + "primaryRenderType": "TRANSLUCENT" + }, + "models.models.costume_swimsuit.CSwimsuitRA": { + "moveTo": "models.models.main.Avatar.UpperBody.Arms.RightArm", + "visible": false + }, + "models.models.costume_swimsuit.CSwimsuitRAB": { + "moveTo": "models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom", + "visible": false + }, + "models.models.costume_swimsuit.CSwimsuitLA": { + "moveTo": "models.models.main.Avatar.UpperBody.Arms.LeftArm", + "visible": false + }, + "models.models.costume_swimsuit.CSwimsuitLAB": { + "moveTo": "models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom", + "visible": false + }, + "models.models.costume_swimsuit.CSwimsuitRL": { + "moveTo": "models.models.main.Avatar.LowerBody.Legs.RightLeg", + "visible": false + }, + "models.models.costume_swimsuit.CSwimsuitLL": { + "moveTo": "models.models.main.Avatar.LowerBody.Legs.LeftLeg", + "visible": false + }, + "models.models.costume_battle.CBattleH": { + "moveTo": "models.models.main.Avatar.Head", + "visible": false + }, + "models.models.costume_battle.CBattleB": { + "moveTo": "models.models.main.Avatar.UpperBody.Body", + "visible": false + }, + "models.models.ex_skill_frame.Particles": { + "visible": false + }, + "models.models.bubble.Camera.AvatarBubble": { + "visible": false + }, + "models.models.bubble.Camera.AvatarBubble.Bullets": { + "visible": false + }, + "models.models.bubble.Camera.AvatarBubble.Dots": { + "visible": false + }, + "models.models.action_wheel_gui.Gui": { + "visible": false + }, + "models.models.barrier": { + "moveTo": "models.models.main.Avatar", + "primaryRenderType": "CUTOUT_EMISSIVE_SOLID", + "visible": false + }, + "models.models.death_animation": { + "visible": false, + "parentType": "World" + } + } +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Hoshino/avatar.png b/config/yosbr/config/figura/avatars/Hoshino/avatar.png new file mode 100644 index 0000000000000000000000000000000000000000..e21c19529af6e9400d9bdcc153cfd224e7eb9aa7 GIT binary patch literal 27148 zcmV)oK%BpcP)e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{03ZNKL_t(|+U&hqj4aD`9kzDl zP*aa*yywp2oBYT}iWUVB1_cQMD0%_}LGY*jVHprf$v=kw4gDDY@Q(rFkv3oh{*qzH zuq+vpMN|9`G?23RNWS?F@7^EP`y(PUc4TFBS9e!-SKZrr(f4#$cUMUJbIo!6<^Nir%Lvf29{!s{e{g7fdEC7c4M5p{0U*-sSIzx86qvR7l>E2A3K2A3SA?&! zS<_l$JQ`up@8jtgpX1ew7vMaf`SY*cyNA2mw=fI8Vj|>e3t6j;QLl$0j-iz@|AGLr z9}L_gdy|MkOz^wJ-f8nKaJf0;-{hJ5rMjv53@`&A`|NDDp!*s7E0Oy|JOwj>$p4Jp z(&n%EhwMq;}(5fB&Z~n&E-A}VbWEZ~nl#_Uv{T;WrTi()>%0YLR(trj*DL{jf zFhQ3$ukzEZ%wueyiGYZK2VYSGaB_T%y%#UgKRUv}?n?|$1^^iIRH+`^yN|oKZq50Z z2s(<8rzwg!MiD2Nv{Fpk9c;uAh?LnC_HZ(UgRpzT?FtfyvhJWW$m~60VI~MC(lNO0 zM$={_s&0K2r!aU;)8Cd~KR>52s2YK5GXNJo{NMV`aj=x;Stva6Bv*~5EUh)sU};uC z7zuNr#immBYi}6L&m_#y3@CDsD}Z(7PMP113Aj(q8i1xtC-ZI+T@)y?40}5}c=EH) zFzokHksY@-5*xPU>z?bdmHc@WK$ z^|d+ec6U|wo$*jU;vhs?&kQz#$i#;TQ-O%w*7F*JIwNrH2H>p2|KZ;nBPDk~%xyv$ z?#s|ET<|agU~d$7I@BB5=P-x8&fanm85k>W%|e}twx)yZ%~I}1$fp%>&%mL<0f3m4 zc+F>@@O}11N~SJ=e4L>{Ga_3TCd^;% z)=J_SZ$5Y(>%HFP_FR%+^2VDe($p*~k&hsqS9cCrp03lPf3XZFEY_908KCLiS*DSS z2zu(&&;A>JD_5S?-lvNgfh#uv=RW+uF}C+ZqeaSC>>yMkFtb=Y>)j#4I=RWGQ-z_w z^PxAhIDi%hQy!{_seD9Z8WS*|>smv>B3+=$O-~isDA3+$n(gZ4>)Gef0Kgg-MgH?s zUAc={SzsRoY?n4O%$;G4@95|d&;IZakqrlxHD1h>BnjSo^DVSnt;^vMoestiUI(JM zGyp99II#))t>F#NAx$|1_t~+#MfQPkeaK)_l}r>Mg9Vg%0#|&_bo#+ugFaA@iOgjL zss`ZNQq!{!zwyhZ@3r3F-6VD)7m-~~1~1c}GxA$Ko@bnp=SmtxK#an0+jgvpfyuWDjB9{{o}!=q1Tl8-#em=_Ln-Qe%h)T=OGzxJOG&c80#nfuQU`-j2(AOa?u ztW9OVFf0yt3HDMLriO`OkW&rCeUW*-4i<>Y!=S~XV?|I5Xco{R>+tWg_Qt@b1|Ss{ zC#)4G0BuD+O9?*s%mjUtW<&=JC?;zNBsM}*5s{XElYng^2aDOYHXhCG!aU2c|MAC- z@15ajgeT9RBQJ_eJx|m>Lh^E_yu)OjhFfBCA0V+lHK1~d{L?fV!}4%);GtOg6d0@1+*-Rj!5>zQ& zr!x;kWe!SpmX~N6c`0uIhhen6LCP5i4RM%En6Ik)gD_oBAXUa0GVx*&C2(E(Ng;kP zwHbM~C6^w3mi2d`zLIN1Ri`KdTZg1Gu>Z49p)cu~=e>?k`grnc7dnoBDDtJgb7ry8 z(IKK&uMCc4jTwyTc!jo4T2U9-B%A%W&U;<`OAG%dxm)mN#3UE!wrEAsA_t^9*A_G zJJ50)^`WaPq3OvG$B&;}dT(g0=RCOzhy7!`c(n_TBcPR1UfkUqCipkixiZ8!;p?-kisGOGpjP7YYuve*w-0>8snwm(d^I@`iG8R zyhJ`2T=>wB#$&vE^$JJ*W4!(P8`#{~I3>*?Kt%w6-Mu|1rEvf5J^#HZ3SA^b>ZA)} z-J}m9uyx4t-@nlkd@3Y5` z@QwFBK&RcF>HR$v!Fc)V64#{nAe@Wdvafl*R(!fvD;TegP3skV3>dME{w5*_JDtMr?GqUyf}Wp=||Y-mspC zXlWvVz<-f0%V?ozRTaF2%bcq`$HXO1z%O1EVz+g17D+ZEq;J_9pn~YY9(4P1l#<|K zNCfhR3+3Ujk3h8DT;z*OB+GKX{xj|PY04*^mgA`kIH*Pasu~F>5g}AP(rAAlCp$ZH zdHSRNG4>7*F&GSRG8mxHdg{=QMk9Rs#pn3O2OlDiD_c^LS?J31K6(BOaU5f9UXB3S zluQ9YWX}*I-QUCHPJ$vy%5tEowF`?&GP*GJd&L3^3dzO7%gcHR3*b>0bFjEC9HeK# zjpdpsz&>wj=qsCG?Qagz{~tTcodT4gpUj`hZ9Zj#Ym+N$8zGEYp(OyRAgq$!--ci; ztnfe(fs{pGr{ZPy-w(5Q^O#cM&lg09m`gkW(1I>pai$I%U=5H$OR+FMwx?l=v?RdH zAe9MI2KVi41?*cxr7B)YQCRsXF%RoOw(a56T*+JDjpOc5etZUMKg81)J2*HxLSE!S zo zifvDccFx`F7iBwW{tei$g&KDE-;Ie)IT}F7mpv~-8bJv z6gjki_RcAa0)O&@AE47|qu1%8-EQO7))qSL4wO>H+s=VMt4W4*Zx`b`_rOY)Jwpx| zfkUf6bvfB7_@kg$N|b@f_MA{9I+GDt#W@95fV^=xaKseE9#zA%&oZ)SFEFee)s0uiFy7aciK6DWJQ|N&}xbxvh=-$4K z7k~1{m>eHZd2(h(97Twu2(2_Nb9ZJo1S-uKPsSKeCS`4(twGy)wTpJUh1c)D28vGi z>f`YkPoF=Bwgz>rw}yA#d=qJsAc`WSX^M@tHMH9uMAjh8ia^w8h}PaqjBeixLiaNL zBF2eE*dJ0$E~UCyz1%C+7996$IVlreI>4EybN(vdpdZw0rO~&M0~ubx;FL6AsW5;L zrIy*Xnl=<%*4j!lT^^t^XBN?b08^ZWRD$$VVgfer*VPjhFa$#bQP0EI9vhI}--4Va z02$mv4*QrqCgfWKxLQr9R5wnc{8o_^9aI85-ci1Ps&WAAmx|E6bsP7-{d0KyFaJg0 z{ZD382HfFOP(TEvNrLsB_vGU&L!Rd-iUQAeb`Ym2?%%(ED!#DuYPUT6N-1n@Y=D^! zYcR_&9F1^zbYwD#C_<;zLa*0Dk|c`@l~{l<2r}d*8{?2h ztI~WEAlJ-R*MLg2m&^Rw1Dq^V2d-dMmKP940VK+nAt<;_mE4g;$+LRj>^km$_F3@w zU^GH;0k&QgMd*sWUu%uQaUcC&4{K{{GcbcbhNDsW^~Tyddfo1+=|X=nK;IfDB84Q0 zO{5aX&{`voW89uh5G4tU-g+5LI^)<_(wu)#nJLXjqK#LuEdG;RP+BLTVmIK=rY)oKBl1*XH1YZO&NFZd=Q(NU*m zrv`hZ)h(!EDi=}9m|^qJ%wGj(ZN1O2m8UH&9V$}6hUhZ?U;5KaSRsF+k3f-BuUV!Gy>&$ zj@?&#0cMTKWCB-=+&?_Pi=7=15w>1?fM5O({~9QcrpmLfJY4PK ztUvtKB0dM~eUfZ1^3);EJF|ygq@uo~(?uZGDRGzvI3v*iT_66}34>g-PK6d5QI|(2 zI6%-9Mx7|R5ipTL3^j-~2pGYa{z_|UPmd;9vg4Ba8|25LzU*(jUvY`1XH53pC=UQa z+Z4b&(pI9pS4rbSkjLkH1Yfc&fkCd%Hf1S%n@>*%O7G8eq-J9Mk6%1TF&+np_V)HR z9^Ai=dw1`ax&Nhhht}A6{sLq1cL3n!-YeuqUZxgzZ`}?n2N(T&%+N%5@6Y}D5`SPY zjs+It@DU~UkW7&j%|d1CA7|KRHXHR7RB8A}rD{WrzAbm_k_uSaM3oB9`J(U!FG&LW znk@ebvZ}Hm8bmEX$!Guyij|-U2WDOLO$+`dGn7l7$r%EFFLb2>popdyM{@3og~137 zf~!U;SH5)bOwfOQ=q~xS(x%iD{n^){OCX7CF9d>4-t&^drg#f#>hFpYA_Mtog2OL9 zpXt5hD8ix?-nG`?J9iPS8>ZlKzmI;uUw*&W=>}W?eGYPxywW6vQVI{g_I2EON+Nss|s0zS*BC6gg0~5tBn>EMgpRnP}{#@LVhZF8l_$Z(R7gEHbAhK_>>AL(X~ea zs#2&@LCxJ4*i1Q2iz>U17{I`U1y`LtvyZ_>?Z+Y6Q@|dDt*=x?cX|5fYfhF1`Dy@A z@(#59PhKr~Q)JzbFjEYI%f=Va6DR{64s>Wjz|ML2nmFG*v`ME&uF6G7A}2k1@(6{< zzo*c7i|}9Mq9}qA(L>bk;NCC%yXbx6o8TnH{^0?%H7=1-xO4mVLc~XifVADghrjSk zh@!Z>9Vd*Sl&sm~DJ5{qREFm6!1|x5WAad4fzVb$$gVY&`Mlf|MH_!h1(6 z!~>A6vNfTJtlPU(Abi6TawBoCNJIgi<1cmB9JuGodzvkfLu6ZMeLsMfJH;Zjvh3nt zv-!P9l9;3!5cmO;_W)t{m=}PcDll0VJ*LY-@_7U07$IO(P4H(j1uIs_MF>SU#{SPf zI}P)}k?_#xy*5Ai5D$Lwm!R_ucXx32*6oF) z8UPT-3BLL7{VLYCwgV%m+BF+j~yru+P4Hv zQxNmT!PM}51g6ev8(PTDhfTTw4!Bd z00e#6rWz0y+)K`Y?2i|G0(oQIjgMp-lL#eUKYgVY5cSHC9E6Ewl|WeeDvybTj8u?U zNJftarc@_tjI$Dqv?3eh=*i=mO+d_y16y~$$ko1m8|!bp>9q-LXst_qY@3%y$;`t) z8jYaA=(O5M;$-enn2X#S;)*P9sNd)Ils$NaFv6^@q_BuKrwaRU8bE>MnxG(-@1GE) z1!Y?1J`Wm)xK>YKi41_M$E8V$K6P0XRHAC2MXRun8zx#KRc8ASYtdLLZ=A9yswt+&u?ck0zvkH@BeLDX86sYNb%^ z4pfwYmGB;#!!*#3C;)@8ZI@%@jD$WtMsps98QA^w<5Ru=U^u)m3cvBjo49}Lo-vpt zdh$6uSj3D`l;GK5fRn)qUhVJW@c0N?Yox6fHa0i0wzh`tTifV#x`tCA8-=u&lFPFU z-ji_whV?>I;+PCvU5lCw}CZYrdL+y$%&69>W zv(D*`=nsKq!Ln=<4Z1>oF4(_L18}MmP!*9c1yX5>GKt#4iI4`j3o{l#))0hF>Dkp3 zCxciEXhxN)E8ZzO?tz7MNQ=IF-?CgL7IGknJwAOwUK#_I`%h4oqNTym%1d@@FpwAE z;UIABdN_g}K1cTKxp{^-1|3BW1-Q_9CJp#Z99Svb`sTL~B}tGUvl#wj`aSI7?5*LgzxbEXKRQPG z=nHfoevZwaX$DHu1WHALVVbIU+RZQ=4)Bvteu{Rdi#NaiO}rIH<@ZtoMoOY`6!c4z zEsc1&5DIch(g16&4fp|o)l~ht{C!t;%xyFaCLDvYM)mvxi3gPii-Dh=K?1to6ktjR zJ>*%-CV1J6HLZqfcKJvPPiyn{5wmR@7SA7miG^(v(RPrB*8nnq*LNY3sNs_}0xXHO z9A|)8x?;Uqkig$-N9?`yo*;K-^0n%$LIgM?GAqKulzb*|LAL2@3f&nVha*F z0LCuYua-z`bU?ODMau6@))Yown#*EU>8Ev_=&1iZS3)DgDq^27utr=#4=U9jk^tip zr2vuy^uceAeE!VUW)ljG0CQ+zse+;Eg7M`0e}S;uzjI}PbStu3R z8^BoWbg;g;2})B$y&jTo5319)jVlV0v}25c4)SdT3P85pN4A#%hE-OrC@32;YK5T7 z5HJQIJ2?T5Cl?8~O5;!*9iuopM)v5DS*aw!u-ierwuWe}1C^vmH#QJ=xuoQM7Je@#@(y)U%jm@-1*wq5hbad z3slaQWLIu;AdjM&l8F%MmIHsZUPn(e;;wX4J0v$Vw=Pf6xm^*q{U0NUXy_Vd65nGdbLai zlnC|8y0PVY4@cl4Uu-ItWylUQWQRvk?bNSyTz|8&ttx;%=Zsa*4 z5|9NG+QcGN;wld~z!r=@DD}BaRG_V^a`*s(h7|OgO_}>r9l;6tPh}=On^MM(|M)eAtAy-zQhyIRH@XkC40C@+bBZ& zQftZHC=EfWM1yJ7ud1^PrAVcQB~djI@Em}1Xp~%!0noB6EgRq+%MRf%&U)`}EMtE# zKt3Az-%!2}Az3MlgFwNExFl`Qt^PBG11LWiz@?mC0^LLo9ab3I zv`xOEK(M;Z`N_&X_^`jku7u}jS)>(!U_K=nGOYsH2e2kp2nA1Iiaoll5r8xVo^0d$ zqH6^`1$W9R=jcghy%~oGo_)?%f>-3ntSF_X1t{mXU>ZD`7!LvfIK*V<1qOKmE;Lly zg1Ws8wZ4vMdkYjNKpaE0QmZ7Y;3p9I8a!);zCxWd+i2x*s(N0@f@AYtd zdmAT%Ax5JShT{>6LLe%s)$h;mLLJMD2^8Y#@N*1c{D=t_k(X+( z(g&hrMBz1d;V9)?j!(-f&_)N$zpGb77$46_WqBnE~9a2%HaY}pFSmDlX>fPk54 z_C(t2f|LU5BB)H{d5)vwBkb)TU}Iwgn;RQQ(-e_XP)b1&AD} zN^tLGd9X5Zg~3+-(P9CroYY!Th4(RlWTaLxqiF<;F{KwzRN*9CqX9UL1mqP?$T#6s zjGsUJ6%4={gb4s$6gYYQycFsuRq^W+;tw7CPVc5Cs6f8HF_{w!+^FvW>$n?7fodO373jE}ywg#@SWDTR z>G|s=dqI>4S&@khZPnOLgk*9603ZNKL_t)5hGB@CDHSODYS1a=Jhr3B*;WJuVS@=o zjL&}OY!cA*MF5um>Kkszi&NUpJg)>y^*A6HT;#~dV{z_iDh2TQKY~=DJ!=ZhBGApH zyr}UA;KHvg&%sAWVAn`w%ab~e(N9u9MTj>y5pQilt*wDn1an@D$5U~P0RxX8K0^Qa z2;@(M^mzcm&;)Lw=<#8fB{tqcbz z5+*i08Xg|m`ENRmAS523Df(@xQA6bTCI0R=!NrMKF z0a-UUklenFsM~>Rr}*g4{RMpZ%fDjg50V9@SzfpnG8X`TgUfO=&@Bw_=s$&Pj0)&~=xhTuw95!*v zb07>spBZaqgv)2li3&+T*B1c<0}rgAVQJ|Q^!^9(R77HG4{-GCX^4*yO_v&~5SR`B z7jFP~xewJ!S%B)=>R_Gqcm%yOLhgDKA_diIL3KJ%oepj%3GTiB5#o(?WENX!bvi-# z%v__)W2NOGXgRX$grx$oE!`<)M#g(ZRjv$SkS)KJ%7A7&+RGk#_T_IKNYJ^opw49o zS?Kc>0IstN0HI<^Vx2%6x94Z>BrVbBaa7ky4}SafI?qxk2k&O zYDEnI!R`O%R9h;=>F6ao?qI#KKwDFKth5`+L~C3r1%11lxI z_5fFzCKT-3)XT&rdFq2QM(07lFIg!4G1*dwJzqbX%$Y23N;kD zChv7{hVL{ihj75XIrL81>G2y(`hBozf$w( z3O@iq9LE=n0GPutzm)Q(g&2TlD*&qt0CIz=m1?ysjYRBc^#wp+xPcu@y+gp5J*B%e z1ez*Dp0d-)5`x(3Me`Kk7b;OZO~A?sGOng6=IcK5xv_vo3;@s3m7z-yA6h*%g%4Ok zMIpbeG>{F4rq-*)p)bOkKfAA$)6ru@aco9UU)IytDa}-cJ(uN*)QX<|W}_?BN&!+8 zaXC~DeLb!&#aI2F_9P)KH*vYqJwZ*^jc*5p9wn7($dU)3XN;(qkIhR0x*iN5P*kgs~kBmn7Hf_(Mff0ZKu4o2N9 z9u$q&*H0;%(NtAbQ;V#slxnIB^WbU1RZ--aoQSTusv?XM7=Q}#fD1DK&+CbT zyt}G#U=5e`aMZLBSk(+bb7Kobq>yfHd63j`0Jweus}TVqoX8}>zVeW2zqws~Un!WT zpHRlR+!m@@8i(u)klGTS;HDTQgYXPTK-Z4}K(PMmHmA_x2g9ndgk6H!c#Pr8U7zDe z(-h!RI$LxE5)s;+_VsOOX%Hd`j0=eV9g$9EGo#kaOK1E`KyUlL#fO4X)yQi@VI@B8T{ukJc1e8W0YLLZ?U=n^2gPGyULAyY*>*mk@swu;qm7>2lS zB^KZhxT}nL&Wso`T1w4%qoBn3P`tzjAb6n&m66qy5oW6lBsBA^Cp>)eZ2GXw6an#1 z+)6Ln1F&Ruej+<0C`==mLjaPc#^NfT{st|8)*9K-A) z14AW+f#h%x?Nfo;o)y;#NPd)k)pjfE_*BUmaMF2c<1@_fvszv_|VgT8zT^t-8fT9Q#$A~%| zq+8oax3`VfV;sYE@|EhJQ)9inZXn<*0ur5bl;I*6*)4=_#2yVrY*|EhJ_0D)WLIQ-@XlNLKXV&~h_^UOP zQiv`p0=g0*z?UrlZ!`=&of=I5is2B&aEQrE({V~s1eLZxN7Ax`Q7EH_S zS{L!=7Lq%+q1#=fbC^U>Q35#f83}&B4E1F?P&M3C(f+G$POgfCEKv$Div(0v`cWdp znbdhMQU5&I-JSofim9+^lA1}eUm5Se(gDDQH2&v5|Cd>qX?7`4AU`}tet3-0LpzQw zj-l4qfKCV0YD2Z#pl%1z))tT?vRgRd!<3|-st*hz1>Z9ur?2mq=D?{C`5>fLJa^L@>lVI_@X7imBs*W0KkPB#&c9AIL}e+9{>)oA~Fss zj=)NRdOfJyx52k=gSKQzlBQoHi%5VZfF70r!AlMT%0mx$N%al!y_A4S%^DK}c|Jil z9G-m>YMOT9_<}lsnr{rim&p5HdR;CdPy#DZLI5xvLGQi-z4JD(xe?IW4OmFw!LPAe zio&5e>H^W~6}E{{0RB0vwNYb~Qxd2_Syj=*^2L zoQMCykzf;e(E5g@z56HEBvXwFVCm}rax{T81o{GR>)QH6RV5;uqV2H#De}KD>YrfJ zKbbZFbtOQN?-LQ?_^Va|T-|hsU})PUsok^$Ytw{bYPak#6ge%LDl;)0=_foTt`z8u z!bJ}A6{Y|@b@(@GZoFevrOKoNzD&r-CleHTKBMOEj6nqt07H>NYZ-e0nm$D#X7Hew+ zN~t)S2H8$?28;FwaRj9zI|&G-5QyT63b14Q+4ta$0tLfzFZ2?cx{s0s^xkiUNEmEJ)9BMF`R~<401m9H zaqU#|FV~#GY&@RQaBn9UE$vys&_X;^F$AX7c3Oe$=4v_uxF(}prVBG@=2|aI0or@Q zH7|r)3V|9AU(UiL3de?5slRl&kT1Tnn`+}zyj5&*<8l$$5VY-Z0Fg{?C14Mwm;5WtlfBO)NKL1r&SPe5ahP9biZ(KVMn{pevJ6yb)m04v1i| zAu9rD^ON~xjC?W*yjv2*&2IGbjt`@-rIY0EGXq-Nh(TM!z&8e9nZy5cZ}M{raooG> zbucSoo7emEhu-`Np>Ywk3Dbqw?#igZ8}?0dpaoW1h^fex#ORb^{{(uH+gEHJY^SZ} zB3+`>BY=w>$S49ODJX3l23SCI{R)&O=Q02*47i?GjB{fXy-Lk%YFc*n$;pd^`on9C zz-@KS7{IAYKn^@rHL8U&6|i5kT@42i9`3$GF&>ND3rM1$E@I}v&=ThZwPAO4e zp!Q5FEdubBdF`s(MRopw?*)(nvYQaZ0xO^?RiRJ6>jCk3NkCT?0rWT=-Xoj+y!wGR zf28ftDD!*SXl%6G>~9mO;rw4UcmC(;DKCe-+9c0?$cW*z-~Ebs(N%rjl%{2b+2dJH z#D)N532&w6C-T#??BTzCiF@7%1`v>d{`T0)Er;V5$&N}6>;B;oX3{{RHO7MzPva%i z-WxYr0f?ezcgsaR9nJ9cQVyIHZmuQw{%dPM5>4M&*VYRM0&*xS>aYPfI*iWt;B-cq z-1u(UVAy)Uouz7P`0mwnbwsM8ZraCnp5a8QssM--A#U)HQWQ75Sr*MIvma`Ov4pQs z_#dsUAyRR9uSzVy?hQHnPeD!%hSvgssjh8b@_sk(E)>~Zo^5!~{%e=(%cMs<&M*|< z;r@OwR6&tKtQs@`s>x-!ArF1&48VE!S1X+o|CLdIp#X<~pZ}cvpd7mVnq5J>DA;xO zl{3N`e=YcH)9`FE!SL`Xhyda!ZnOf>DE?Oz4eqR)Qo_<-N+IfWObfek2E8f03<(TM zMQ!gSZ!ci0UP;18rOB#M{!!xJN;!~V0KlquNaMIMKk6pJG-m;BdJDc>k<0mlI*KAt zrz3k5t=)FOo{R|mlRHenkb^2%*|Hk|SJn&b|KWf@vZ(+mgA+iTC}IEkv!Dk6Sa1(O zZ3IBgt;CH1_>!dn=L2;qj-b}oYg*r_!~#?`EvS600BjSLk|=x$cX&0u042%UD}u1* zlK5M)19g}uGZPMXc0|}1BA8Gs6CF|tW0)X_9& zX(>{GQ_)=E8s04SWBUo&>zY zDZqKQSG#SFuT-uR;w5V&BZ@EuaMvvg^|LoB2!USu`}~MvgVB~F~}K$ z$#{%B8wZ;^O_F8-zy_lW=mIy_m+U%k55V2Kwv6v{c(ADm5ZLlvs{H{qa$2Qvpvxc6 zMP8Bw^b3DyELjb*-w|c;+UEL>{YQcdJUBY?EtdB8I%%s>587x6@FoQ~J@Q(`-iUMF z(|B{!cKK4xARluk)}|!DeNJ#o$;VC)L1+%He4`iumj~Lu0afw*(uS$ZTT#HPr_X%Y z?3#d@9`W5I0En9oz*7%V6TK13bdf^T>(&p#D5d?Z+&PqO^$oEAxfWFsou!BXs`)>c zVNyl&*QNs1drTmp(0KXqA@&|U@={C|^;A*hy~U#MPm|aJ-;5c)_>IAIZ$vqn7uOdp zoVN#{m4a0SW)6!@QrDBs8|s0j{tXm>TNML&i7w!)i2xj#hn0}}2vP#J@?KsV42n?{ zIsWYb`KQRo6CX8@neP|JF;t|)Of)a~%$Eg|nl=D88UTw+i>g|9RCh4BGGXVM!~g9~ zC{kYaLdbcM1qOqz8K;-SGje^td>x=s0}u***69B#p9;u$q{wq~_$!+`iDN(FTS`7t z7)`jTG2S4|r`y(S55P_R|4JhUyP+s;m7Qm-3lmYY;ND-xD4(|pXlq+cyYnGD3owA) zJ|>{Y8bc^(BHXIW8L;FLKyIbLoT#C;r&Y0^;O+PUEEHFFcXsMuY!nAl-=}#)6CsA0 zZ7e;5RUisPVAV}0-Ip(QP&QqNrd67pTw9>=cn%4-bDq9-r;S#*$0(QuAfK<4`*&x8 zfxQq}yYM*hD>VSVqltyusr^?uBOuy@ZF+F@e5W?NjW2URo#eOsYqI6v5iwXJ)YM;G zSk3yT2jF^)0L^}!qUpfF9e!Pih(U`3$``T#6vt3@3>b@apDKW$iCWET9&^|$a3Uc) zUWET&fB`s_1SFanT!Vv_sE(3vf=jvYqnZeSh>$c@0kCrbxR7aw;U!Z!EP`elt<4{o=1D$0U9Us>kfOeA{fV!NWbtqO6=$MlYDd#W> zO#^^8*NhFgAW+u{y-JLz$c;fz0$*aDNeqhGZA9Hp7`nS?o;{}JA_69|B;N)mu6Oa+*Nx|v+Adgb7y z0|DJc6CWkPYMOc7bN?0<0Ie9K<74Q&s6sPnrD>xtwHc$pwpN<}WIy0WklDtEU?bfa zhs7TL8*|48&d7uNr$%3{@ zlZ9_6Nx~q{{R!uvv6l&8Mm89N0IY9plxJd;O`6pJXndM3P5rGB9wqNlj8R~bZs@a( z!cF+!Z2mvfxL+~@XZGq)d5+1;5hgEp0ephaw|^e3`}eI6wX6ZF08BP@fEy9EtOh_s z2pFj_=pUioWCYN>JDMk96*Uutf^n=ZkxJV% z;^sO#08ovde>B+I9i>T#Ig2gfc7-VmE^`DB%rEC)iirxsT|fCW&ozp{5baL8bc9i4 zz8hTyptDr@g`~Mg!L($bMigNpxN7|dt4fV-@O4v~f|6v4G)vYZ7$e{wR7-3C0BEv@ z+c5%(L*Swk#^l)qG#(pJq+lpz>hM}?s3vb{qhYja#;CY7!VNLuP+FSh#Nw~o;cpJu zu>o0gQJ89X41L*70OoS^9|aKrn6O4#Fa)o`0Gvt!sxXxlkj8OY zOO4|Qd7eW#I_K)`l?8}4&H36%mLBC>vb%;gmRTLQdP1keUzn~t(bU|nU1LHv- zhmRkXsDB)L($6H%(C#!?0Z?=WMqowYg>v6SmfR>K1_nz^fq8jB$5mB!CPKWmRUb?P zf;G61M!*IQfGz#GyrrCES{VgudhZwq4<92t?gPvq@^k-~8CjkqZBhn|R@eYsnG}u% z9p%B2hu<0n6EVzT6jqo4=-*>AcQfkt!tOvBM+(+3Ei)0wPXng%T{xgmrUQx?qr+ny ze)37_{gWhui(s_YwiFoM9MGl2A1Ls+q+-8AHCxb8q!3pGJo?wMS`h#zF(^&LgI<0r z!v6(st43Ce$u>EV=QO)_Lqh*d7X@~I_#?138%Ei|pYEDu8KOuv3jnUF_g`w|T%+3; z5St{(sI@l`3pWT2uS7S z)BM*aQW#Fgh@%LNsk$|e(W#ZREzKFMNT6B_A|Eku87W*c#9mbZ5J0@K8K~vyQqxdO z5~M{;186!0fJpg4L2Dz~T4t7IIDGhpY5moVD2hV4FJ?@}6RdT+4F-)Xod2(Kc2SkO zhQt>f3$EH5!I(>0z3GZkg9aeEeaq$0LM}*z1QJTSZUb<-5|C3lCBJ55-k1|YJbL;R z!`)XvVS&Fmu0B6(rq4SFKh#mqJ;hT#yb>GkaFc_Y9Y zyC44)I?DhZmi^?F6*;2FR|Hn?jNat`XT<*tHw**?))PO7hJ==*Rc-Q$O&19OngjsX z!BK>$Jna6ho#(I8ISUQmGfzZc5*cI5oeUBU2n9c||ZGL8(`f2Qa z`WbYV1BHf))XX;DqR{AEg$95aJ${p3T*0NAwk|xM1!4w@s^}{T_M_8z6zi><%l}oY z4HZ$%SwbMD6V3}2j(i#8)*pKUS6@Yv^!Tu+oT1~K; zvR~yI=Q-BZHRjRGvm=BvjY7jG^k#t3)#Mie-I@J>((+F&W?C`DF`~7#vMoi)>3QTa z0VkWcNMc;v$W0&$CK!Q%<42D%IXN-FAIzM;+3U{GtQ%GVq6=(>n$N2@gRWp??N@CO z=-fN+3Zn}b*3xPAXFdZ#kwRpnT`fa?LO57wf%5>GjQ|idF(VrcvH!^@Kp_}^r)*-) zjEK~Ha{#Y9jIM5KW^h!1DFYCJI5PEY{xZbx%jKY_pIl$>i>I0gg1LV)3__HEoI|8A zzzfm=UVQUve6c-0+mx%C+wk&7KSD8{0EHQfaMr;dI|}fsdb*f_v;dHsXhxejjyM9b zGAu8x09NOx3#%Ida3zgbZNy-;FE-YK!!8fK1pnOcKK$-tNI=b{00O8ue*PRM&tH_# zWfH|_9_+z*+-wJ6(*S)GrU(?d$8z5gXNgg)E$UN507p<9ou1_1kPE*&mpup3=H}F) zuio=T4FXxX0gxo1U;Hm8A`&2E*#yU*e*w4-utpEY3DOT1KtHT16jIftE0&uLK{{B7=A3X+g4deylIDyg(L}zcjtjJe4{GTWP zzp5~rb&XM=uv!_2001BWNklNX zYyg^U1MYM@|5u|H3kW`6@cvqO8SrF(ABT^g0C`c8euAseW`8L)RnykY$ZZ?&%6k7M z4UBGn+6@=Ex0ED5l#LcH7%?^kmUlleu1f^_XR zRI3drfb{gcQ1;YUBY|r*0H?74Up@Q+X$#a!jk1}VeY%x04YUftlkc|6 z$1lqQTzCYq|M^2h`YANxC=MjPPY*xMhT@_qRe)C#186k-U-t0FFqk-?vsfX^n86X3 z#3n<3rUe^;)r&4DNi3H`+~2y-wWWJBum>(>03-|WjlcSR?ELsAKwiw0`8w+wPqNkR z0U$J60Vr0H7hzL~xB$gQ@|)RUJt!1NN1o|uKhAF)xbe5pSisn6gA{q4(SQJ8#BP)?x&xb&|fp+IJwXv9%f^7n-l?|hIdMX27p$%kw#U5000@Y1sqNdl&B0! zE7@&yJt;tw`M;(mssLPIT^6plYFn(82F5~cWudx`&0ocM1fGnc(st?f-S(GJfWrZ> z%m&~xp+5i&vWd|OIIpt{Za(`6(nSYB3en)$=%`@^;Ht7+o5U{96aYR&*Kr=h&@=`x z$-r3-wm~yl$=`COri=*mlHZ=ocz*yG>l|qmFK(Y3xY-bn3hf3Hh98T(nlu2s!p%EP zzVw35XBgdZPxqm9IheNT!JqXhz!>An*x(sj9)2<4NM@JUjRBlS0*d3yA+>o?U@L97 z2cX6SFf+dQgYV;C{C|IlZ+-Z6y#Mw)Snu@^MGEa!8*v<;*_xc?8FpXpB1vMTX@WFK zktE6D7>#;`4}X)Dk)nY1IhkMP0!@8I|keDKaY zc=+ToTI~dRQQ#*({S-g>>8E8>)NZ%2y}gNEuZ#7yHN5`dK7Q_7U&mW-y^dCz8pfm| zD5Yj{CrIC<0JVqnItYM#O7u`C{CSoQJ2-*@+nI$hX+Wt2Y6Dk&`a;qrm~-)B?(yaB za?S-(6*V_ck7iqHtqVMU_Uv?-a;?BHPWczAs{mj z`2OJ`Mx!CrIfsxarI4m6Qq0eLARZDax0t+#O(E!}-U;;)e7=I=L;KnKd3wzps`Tg(V$De5G=19<2C!NkA)P0gA&TB-Z1Pz-Ws#Bt@PHxU2@?*Z$gH$3OaC{%0H< zAL9p~e~O*`J-qwiP29hA`%KTS*@QSzLn0uW8J|CSj8}Vmc(u0&0Qj>X{Sg1hKmNaw z4+i+}fA@FrtH1thc>er3Mxzmqj*jsB*)u%;{0n^g;~!%(93gJE%sj(Wkou;sXFD&j zb!P){M*)!*lZ6Om2Z)qnA$oa2V{Z8HFN_1Q4A*30JDwCsc>s{C3Me(GkTtgfIE@7K z^6_Kb-nxa2-a7UU5Af>v2>ZuB#NDlJeEseBu-;pn84c#Fp@=pU5`O%H2=ryawBRFK@J{|L7fhufeC4l-Ye`J>|^Io_VA6j-^1&7@1xV2mir!L z<3{HI93CHGJQ>%1@2z*=MO>Ly6h#rD$kgxM^~RfT;y?PezYJo=@$oTU?d{>?Pd>w| zy?qRZ1H62>i>FVX;n~yYDByaM7E{zr(*)ga=j_PC8if$qVbd;a4-6G#dL>vy4NVyb zwZaGTiVY^`Ie0KI20)dH?q>fqZ0Igz03-?Mmws!6fBt{{1ApI@!fSW#;++StV`uLb zKK|l!{NRgE@%ZHny#3k(ynX-mGT$cvBb{R{Ze|Vu0eJZQDf)wx+V4Mj91vYH zC%tq8Fd7e$kHk<=BFk`#@cO;`xOeL|K70HKKYRQLKm6IJc(U^X-+J#uY^|BFHZKaa z+s%{!8NhMBk4ctIN2pPRwcgrX4NMV*EJc|O#c_nK%}s1=Zi1O{{6~L?kKTSAf90(Q z&#94ACL$?`Kn$2)g!;r_k5%~;21y1m*pRYH?dA-1E< z&*dE(mPe<&!SLcb(j{hao(DL9qy#rP_~gqUIL6oBeGj*{xAEi8 zKE>hj5&rcL{}k`M_B!6UcOT4*xFGemhqWY{cDI90r#;^y&CBkbOn^KKFpb+$ z3wPQre0|#(h+H#X4u{zPgj)UjS;AGD%J?aitwP*#=YiG17=2x$6#JUmsct=*}EM9oLqsCYW(nDkD)CF12ZGTH;iK7 z3_*i)6)tUCj`#P2g=^O!{mhJ_&>m3}ztN7GYe&e70)z1oc~M}JO;Ct@dwpXA?RgZ4 z33K=L^JFqt-zML=H#HJ^2Ec=KMW>`S3IOt#?)-!E97Q%NPyfJDg1I3v(1k?+CkF>2 zG-GI8U@#n-2Z+i^zvDc!(+yx0dLl!rX{V`=u@@ZX-n(-L|HI$?Z!wun@c8*teDU}( ze)8F;I2jD^{=4r%DRpKo-;k8%xPe6heSCcOdte5(Z_SxkFw~cV@V>ynLw|YSTRt42 zwPCsml_F?x<6SCq8GzGBKnKrlj%^Rp)0Z#HuhS&Ko3A~9iXu#iK}ifAPrzD(HhNGh zg6g)-413LBC(oqW&kwwWQJ^S75=Thl7~lBdBYfk7kML`M@h>4Saul0uP~A4P)+ma? zMkz)4xeSr!x(Rs>eXu{DwZH$st3RF^o^fMspsS0Pefhk0F?ky3y8Xaiov=7=IMq^Q}Z#;&G|CNyB7}YVE7A>Ik4;?Cr5pD zyah3BXzp`;%@II89Acmgiw}{V3CO2mM0Di_KwhsNKdnEsb|oVV@C`G=hI0p&EC7~9 z@x@AjL_ln3t4pKcQU|sX!>s2{;`wWPgD2+wXl@;x=Z11@C% z_MShVX-SC)opu`pU@#el7FH1mMhIhZo`FQjuRt*ygH!jTNiv@S&^eGDiI87}|2hNo zE|Bd403QD7A%6J$2vKB+P^~D!-Ch@)oi^6e6p6ao>5M(5t zko~eovg_Q#D4M|^STl;_K9aRH=<@#4@*04XgQGBCm)_V`02n~#@^<%gitHef=C=5$ z#F=DH!!y|f^khC`_+nylOGcp!O!5Lpqlr;;Awn7{^wJdXe(-g?v$|r0B}*v%(>m9ph9ai z4!VrR43HKnLMv&G1T=Hq2m$zastXzK0ytYBL~F+W&ZKtmjH7X8g~q{XjA5&TPN!3X zjq+nMnUvt8g1#vME^;sEIi>)ylmM@){lbr)yNE%M6|GZlD^D_G3o7aKQW^lA=hKJZ zzR5H(+WC`w;;FEVaskO2fva}~%JUJ<3~`>%MeLajHL?lM@uwB;z4u;VBqatSI}`O} z2%L;=4(}o^J*Sa4>w6M#c7{QTwD7cOVNNz5kH_FV7i`%jP61BqWNTTZdzfV=9M`st z7e@dQViiL*8syG+=19%O!UHsr56`r~M8Mwe1U$zLrZ~p-n{Up=>u??LP)jrHH zX+w2TExeYW!58MglX@_O9*>bEF&ZWT&SwBlBLOkXH}4|=X2zODx?K-IZ~y^x(zLk^ z&OH0vsxu}Cmz!p6kpDTZgWYVdNG(oNwAR<>dk@+8=HMg^1o1^3G z?ES-xjR&to&DHzB;9_!fa<3`{SR#Q{E(++$1mLSF0-wtOND|QSt-lvqPI0J|QXr*J zutu(nAa^osKSDdXrkN!1oZ=(J2q^Z?>}$_6#^|J&>&D*s`q$?(KFmNha=N)L?hMZC zAY86wOAm(@1U@bGTuf==!V$p9{{GA`Dos+;%%C+2SK@LxvQmf?f#`ZlfYh4P@I-y! z*5|<1KCp2FbO%6t1SA;{73HSM#u}5s936l~j{D#Gcjnvy8n{6K7U%tWrOrRH-B*SZ zd=>uiqQ96=vRdzN3_xNiz&bZ6fE#aWbMJPN;#y{L5S3yiXYL4n2q+D-#sJ2`o7fHw zRzML!GtgQu&{_i~Lt8Yc*-)eu+Upzh8L<2&|6iN|n1c$uWP?|Ve3E1H)&|~q{WX01TVKPy zdv~msVGj@P-@~0dw~)k1DXem(@@BlCpSfbIRSXAE|9^XD@?_U_*YVFecY0&L?pC*C zwd6=qoXIA3aAapDfsg=IkW`?O01L876>Ew`RxDVsfP(*k1r!S?s(@6na5+>`1gb&; zHee^VY}p!U4Uu|~)ZK5o<6&{`8@lyg>-Ot6+-{w3RhMk_(|h;ccYfdB{QJ31&Iw?^ z7b%3mbzKySW@jFMr%TUDOMoY-9rin1ZpPbHA;fnWr3j<{<1Giu3xe_j;H^NG%!f*j z1Oc>KZ5oXx#Zm!EdXM3ao42`#&L&snOKGD1i! zTepl)WGNC0aa6wjTT zEdlIT1oX^P?VEspMqs!6)h-w1VO;NSFUmSovWY}wrz9rvx2|2~ zemWb_NymH#X&zgp=D)BlklOs8Sb#_=@YAWhQtl4=*)n?*NANadEy5Hfa566UP;u_p zfk#oq>py+#(3u<|1XkL@tx()u+u-in2A3|q)BU}EjYX|i<@BkOeEO3YIkR$_xoR2L z^>AIAVxfR#Sr2#h9<~QymIM%nQ~8|C1khguR5<4vl()g<_>k0CN?+ZKvK@ z7Lp_=l^}%H`j)gN7ys|HSgJjNG@&(ty1$_-5nUH-2jO}HtbzoR=6J756v0}`Xu;%v z2uK{qT)upD;+v8?U6M(Xu)cnewY3fY>y_7t!wA=NdEfibvvT?g&YwF&rCg?3DRXjp ziBrou2q}*60#Ox3`w^#@IsptnuL)robbA0!EiJRWw8WkIR?mk^RCid1Yfmnks@d+vECAK%40Iesv7`yX3RCj%fRORbWGR8HW;yXXb&zxTLCE^uO)9nW)IL*p zkxL3i4~p6}UR}M#>gp|i^y62NQs6jFy6-{962AH6ukrqK7ly|WRE}zZAF=?ZQwcg2 zX$<2C;sgO)xps}UjdeOBEckge~N)$vf_yKLvU^|Sl9UI4W^`ek*@mZYg8;5(y z?^CfB_9#TPn);wf0el`Ip8;71e30u1u@2%c2*2molWnv&_Hz3AN0+3jB>x0(^XBc$ zyAq~_BvJT&fbR#~zrRJ>_o@Bv+#>^s7r*h9+&<^;|Je~CfM&bh4ZhXeP5da}^uiLT zkOYNSF0oiDb7yUh?bZW!;soJ3SdNXAD5Paks#Yj?1-)3*wnvM>?e}G8*;OYxRbv%Y zTuEnvC=elv7(@uPK|VlOmk@Fj#11-R5D&2y60px?zy6%}00<$t`hTmq1vl5%d18K^ zxyr*<*TvuZbqvN#0Ns|~RF&K5tUo^p2%{L+vRIy*XM1Od#!fx;?Gln8APgfALe~t$ z2}ChZuB=cj6m{TGq$83$w7 zDOOIM-gON|@Fx`m=wJJlo?BfCEQwX5XW{`n_qVVTdTBZ#(lJRr;^+jxY+?1re)ntV zPE~-_aY3zsI+Ggsv9=OKOaDm=njWIi2Fu=e7>SC4+zY=_ zii^)b%g28HBP2;equF9-r%n(AY}f0ouixX<|9PD^FTKO|_KtRzrc4NN9P`4nAH|Z= z2>zrAAdLEU+^1*Pk`e*LN>8;ZT6*JQ*l7*kJMT>Nw7A|SAcmO7{X!h;f880wWLe-k zI@ZvMq(8zcIBZbr;YcHBbEO2TZ}fM=M>RKk#NpWBcnHq}Y3V?u5U8+qBo0l-ua;6$ zt?1}`=kJwLeC{)!AW0H}AmHk?Rj#kz;M(d<>Wv1CMvIM&do&tNqA1#Z9L5$8NH~Ay zEH8fT%SOUSB>(eCU6h;=W3D{T^$q}ze$P2}kt6W;lM&-D-o2{3h1 zf0jU$D?Pza5+syOPxIWfPlEzK45-%|++EwC(QLBQXmD@yK5t&S%o}gK!}fz6EJxycE|zVL zoMyBgn{WNmw~w@7_NUz^RRlB^3qbGEOS=BD6uR0^0in_Y??_3clHU01y~{xR)`_{J zb_({Jn5jh|`pj+7tx8m&VpI~LqP7mYsd$eT&lnpxyvTGOqW&3BESS7|P2WqY2(>vq zEV6U2BL8{rem&wk4vP!(EH2Eanp&@5`_(W0B2g3)h7nh<-Qe=OSGaWf3J+)xLCMkryvMhf+GNx3#^)J6EppU~7wd zv&H)Q2Dfjoaqapl?Ut{(-nNnHu8FI+Z;f;<&;H7{M!t{NU;fK!T3KT11hAj^9qy@E zvZVIm!&KWlX+|K7Ba*#&`flEx?kvGkw*`sA6c`DCuw1ZQaP*A{rS!f(5(t{8sC76O z;8BmVe=q8-pXqJMQa)T6sFZde)_qt@9cU@xnGYZe1&#}Z5EKd?g@VTurFsxU8g z0jW6(I(Dl3I(X{Bd4A#3A0N0~$zZ|+pj6+?zw{gx-2w_lJFN|{ghVMt7=`q22I^Mr z^$D&eCC(_rLgWMwvZ60WFd*JAZumj37$|E7LkiU9eeD{Qi)p%13=C@|*H@w5fMQX{ z6&zc;PoAqSh|c0vbu?xYb^?zd|I$~dYW5%WeWvLqOpO4-{?%Zj7w7?qRiYPwrUVd# z;qIJ&|G!J)0aD2BG@*mt#Uw{3B@fl-kA0wN-*Oq{2Ra~l5X1>;^_C_A%hqm{>maIC zD5rwn35eF4I#s$;NA1*iSy0MOQesIT`NG6?8^V66prJJw5T=PppTKwoQM1KCt+>$xd2($NIi6&v4YM%fwqs@uIt2y zNJ+9(984}s^)e9vtu`#57|4bF0pGmTEWPl{UonzA3jzqD-I~#{^elidjiTGa!WNPs ziFa)V?wY2ZD!%l01i zK%_xTN!|+?hnnT%atDqD0c0rx(tdrkOQ=2D0iieHCQ4yRfs_J2ju1i+B?)n)tHlT+ z9b`*l9r2E0BmzGOx~afS8IQ3C0QYLWDR$>2i8j$^4W&?TUx7*q@x)0;gKoRpS4i8^ z000S4NklLszF5cXu-?TJOCkd0P!HgKh(Mz;F+jIPrk84`XhHYd`;2+KWLPG z7A}LBzzC)TSpe_*>jY(KL2VfPYdJ~#r zAe?^X-(k%D{(qaNqM*?!RKWc5iEehUP%dISCI)byg#z;jV~ z$OKq&Hvx>91k@4Of0)(mKgtC~a)3rOw%II^PBWT$EWmLPlT7QHV>S@eECMnXKweq- z0~a8QQH`c<*a-q%A{@oKoj0C>_Oz|Zx&Xrn!16jK0(whRLhfgw9ak5ipN&5D`bNWi$LW<=k6RI`;c*91m`6xU z6M#xkNxCdGNl;0kOS6-BqW*s#+k3@?_OKZXAZPgR*MG{=;sUj~DxT*drEZZHLLfXB z;q`SsF6+rfBuZ~LYBW&~wskjO6n6zDb9bQ-;JJFslb5Cd6E*f40Hu;47J$^k4|<5J zkO)^UB z?lw5F$A#RQJZs)6aoCwmp(}lgv5K-n-3KwMZMnO`sxkhL@#KqR?C!%C2Y&W zaU5*h!gU;^ZPD$~Efx?p5KkItWl<@YfKvDG)spJ2?P|2zY;V`OdHW7g98vH*s+BSewHmHtV_6oWFYq|E z6riv&!~l%hKT!fOML@^U0@^cKsaCBpKUd{FXHR#BwbmO=cIpj$-v`SfRtj4vY$>r5 zNwrj_;1zZ)Z5jQj4DtV^#p6C5WZFeQxwZhN#YN&V>@R<4UDtdK=4${%!X>bZL~%?K zC$yV&*6TZL-MLQaw<#40)JkO*Yx8)HgO$b&GC#**U#oP?bf7%B0R3$A**|E}YPB#1 z!tsZc0^4!09UUJimCLYviZkzh3YBjB-Fk43)$IqgTP++R@T8>dxfD`Da2*HN*8eTg zQ=z-^Kdc8p+L; z1c8t5xACKxz;6*Xn)o~0Bw;|ob14@}EY{|`J0k|X^VI!+g98$Pl#)1(%@Z@&FewU{RkZ&oWDqhF zfRx5WGdP^J0N}VTj_Wd4n@@k2kOVPS-6)sb6Mzt6?18|8*7lG3`LDe4p9gyV#fvXa z^gawa&qwOnp29TvPR2+=0Us0p-!`f0Xcx2?vo5L_H>; zWiWp2Zef_s?DP-w=SoxZJ5* zch~r?M- zg?2j}II~p%LJGXJOR(8$^U9m=9DCuPW)aYVEP#G2UH_ef>wpdul(*A}3 z3=DE+`im)>nD(FxG97^iM_CgO!eR6DkLo!X<^5-=`FB|Wds!zB7iM7aIBEV_X#as0 zfUyJ&@_=#W|3`iOu-}iP;x8}44||5S4ax=>5->10ewu$E0T>c6Fqod;&sz8g62LGL zFoa-WFdm`Li|`L6fGi|nU|=w!(B-I_?2#8@h`_+$_z8Yy0x*PNU~qf{elPwXr$0Ph TP0Psj00000NkvXXu0mjfAm|Ja literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Hoshino/models/action_wheel_gui.bbmodel b/config/yosbr/config/figura/avatars/Hoshino/models/action_wheel_gui.bbmodel new file mode 100644 index 0000000..afeafbf --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/models/action_wheel_gui.bbmodel @@ -0,0 +1,1989 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "action_wheel_gui", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 16, + "height": 16 + }, + "elements": [ + { + "name": "GoodEmoji", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 36, + 0 + ], + "to": [ + -33.5, + 44, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -41.5, + 40, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "84d1083b-49bc-5614-912e-44f4b899ae46" + }, + { + "name": "HeartEmoji", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 27, + 0 + ], + "to": [ + -33.5, + 35, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -41.5, + 31, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "eaa43af0-2741-87e3-8702-e97d44042bf2" + }, + { + "name": "QuestionEmoji", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 9, + 0 + ], + "to": [ + -33.5, + 17, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -41.5, + 13, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 3 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8de404c9-1e78-68d3-b8a3-38bb7aa8dae2" + }, + { + "name": "BodyBottomRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + -3, + 0.2 + ], + "to": [ + -3.5, + 26, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 2, + 9, + 40, + 38 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "4507a880-9681-34cd-6c87-fac17f8fdd5c" + }, + { + "name": "BodyBottomCenter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.5, + -3, + 0.2 + ], + "to": [ + -2.5, + 26, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3.5, + 11.5, + 0.1 + ], + "faces": { + "north": { + "uv": [ + 1, + 9, + 2, + 38 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "917771d6-d756-41a7-3225-881cb2978484" + }, + { + "name": "BodyBottomLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.5, + -3, + 0.2 + ], + "to": [ + -1.5, + 26, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 9, + 1, + 38 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9964760c-f61e-5f67-f0d2-4d9bc6a2db29" + }, + { + "name": "TitleRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 46, + 0.2 + ], + "to": [ + -38.5, + 54, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 23, + 0, + 26, + 8 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "157d0a40-12c8-0e9f-ff97-0c0134ce6ea6" + }, + { + "name": "TitleLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -37.5, + 46, + 0.2 + ], + "to": [ + -15.5, + 54, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 22, + 8 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "4f6e736e-74db-0300-8874-3f596411c942" + }, + { + "name": "TitleCenter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -38.5, + 46, + 0.2 + ], + "to": [ + -37.5, + 54, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -38.5, + 50, + 0.1 + ], + "faces": { + "north": { + "uv": [ + 22, + 0, + 23, + 8 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6b0744f3-0e21-0fbf-2ae2-18ef858b84af" + }, + { + "name": "BodyTop", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 26, + 0.2 + ], + "to": [ + -40.5, + 46, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -41.5, + 36, + 0.1 + ], + "faces": { + "north": { + "uv": [ + 0, + 8, + 40, + 9 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "181d67e8-0460-aabd-55f6-36d76196c156" + }, + { + "name": "TitleLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -50.5, + 11, + 0.2 + ], + "to": [ + -28.5, + 19, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + -23, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 22, + 8 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "440c3854-1e60-9317-8555-bc5240f178d9" + }, + { + "name": "TitleCenter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -51.5, + 11, + 0.2 + ], + "to": [ + -50.5, + 19, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -51.5, + 15, + 0.1 + ], + "faces": { + "north": { + "uv": [ + 22, + 0, + 23, + 8 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "80c43537-fc6b-fc1b-47fd-bae521fa59df" + }, + { + "name": "TitleRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -54.5, + 11, + 0.2 + ], + "to": [ + -51.5, + 19, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + -23, + 0 + ], + "faces": { + "north": { + "uv": [ + 23, + 0, + 26, + 8 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "cbaf2279-0daf-c842-5ac0-02bb44d9b86d" + }, + { + "name": "BodyBottomCenter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16.5, + -3, + 0.2 + ], + "to": [ + -15.5, + 11, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -16.5, + 4, + 0.1 + ], + "faces": { + "north": { + "uv": [ + 1, + 24, + 2, + 38 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9184dfb8-0e76-f1f7-2994-a00c75ec64d3" + }, + { + "name": "BodyBottomRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -54.5, + -3, + 0.2 + ], + "to": [ + -16.5, + 11, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + -23, + 0 + ], + "faces": { + "north": { + "uv": [ + 2, + 24, + 40, + 38 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5aeb8b47-7cd2-1d4d-33e5-36fb8ea59b5e" + }, + { + "name": "BodyBottomLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -15.5, + -3, + 0.2 + ], + "to": [ + -14.5, + 11, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + -23, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 24, + 1, + 38 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5fdd8d83-a6a5-663e-7757-69fdbbfc0c58" + }, + { + "name": "NoteEmoji", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 18, + 0 + ], + "to": [ + -33.5, + 26, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -41.5, + 22, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6a232e90-acfd-b9ae-6dd2-4ccc394218be" + }, + { + "name": "SweatEmoji", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 0, + 0 + ], + "to": [ + -33.5, + 8, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -41.5, + 4, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9b7746b0-f54b-8a38-8939-67a56cad1e40" + }, + { + "name": "TitleBar", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -54.5, + 12, + 0.1 + ], + "to": [ + -53.5, + 13, + 0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + -54.5, + 12.5, + 0.1 + ], + "faces": { + "north": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ced92cb6-960b-a1ae-ff79-9f04a59bd189" + }, + { + "name": "TitleBar", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 47, + 0.1 + ], + "to": [ + -40.5, + 48, + 0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + -41.5, + 47.5, + 0.1 + ], + "faces": { + "north": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "cb43a040-331d-d647-2667-a5864e0ff99e" + } + ], + "outliner": [ + { + "name": "Gui", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "909f4f9e-cf00-99e1-7699-c2b0e9070eab", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "BubbleGuide", + "origin": [ + -41.5, + 52, + 0.2 + ], + "color": 0, + "uuid": "e29d3e86-e705-1a3c-cada-65a8edd299b0", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "BubbleGuideBackground", + "origin": [ + -2, + 0, + 0 + ], + "color": 0, + "uuid": "ac298288-5f5c-64f4-1b51-f939fb1d21f2", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4507a880-9681-34cd-6c87-fac17f8fdd5c", + "917771d6-d756-41a7-3225-881cb2978484", + "9964760c-f61e-5f67-f0d2-4d9bc6a2db29", + "181d67e8-0460-aabd-55f6-36d76196c156", + "157d0a40-12c8-0e9f-ff97-0c0134ce6ea6", + "6b0744f3-0e21-0fbf-2ae2-18ef858b84af", + "4f6e736e-74db-0300-8874-3f596411c942", + "cb43a040-331d-d647-2667-a5864e0ff99e" + ] + }, + { + "name": "Emojis", + "origin": [ + -14, + 52, + 0 + ], + "color": 0, + "uuid": "58d19f10-42f3-3092-820d-896ea7ee4733", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "84d1083b-49bc-5614-912e-44f4b899ae46", + "eaa43af0-2741-87e3-8702-e97d44042bf2", + "6a232e90-acfd-b9ae-6dd2-4ccc394218be", + "8de404c9-1e78-68d3-b8a3-38bb7aa8dae2", + "9b7746b0-f54b-8a38-8939-67a56cad1e40" + ] + } + ] + }, + { + "name": "ExSkillGuide", + "origin": [ + -54.5, + 17, + 0.2 + ], + "color": 0, + "uuid": "82f089b0-aef7-25b2-da8d-98daa0cb6bea", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "ExSkillGuideBackground", + "origin": [ + -13.75, + 17, + 0 + ], + "color": 0, + "uuid": "8070ebb5-b639-baf7-2735-8a329dc80acb", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "5fdd8d83-a6a5-663e-7757-69fdbbfc0c58", + "5aeb8b47-7cd2-1d4d-33e5-36fb8ea59b5e", + "9184dfb8-0e76-f1f7-2994-a00c75ec64d3", + "cbaf2279-0daf-c842-5ac0-02bb44d9b86d", + "80c43537-fc6b-fc1b-47fd-bae521fa59df", + "440c3854-1e60-9317-8555-bc5240f178d9", + "ced92cb6-960b-a1ae-ff79-9f04a59bd189" + ] + } + ] + }, + { + "name": "VersionDisplay", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "a4e9aabc-7f20-7bd2-cdc0-454075f31f35", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + } + ], + "textures": [ + { + "path": "", + "name": "good.png", + "folder": "", + "namespace": "", + "id": "1", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "eb85d156-8f1a-0715-eb0c-73c744d1192a", + "relative_path": "../../textures/emojis/good.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAJVJREFUOE9jZCASRNmx/gcpXXboNyOyFhQOLrNAmpf2KzJ8fyXIkNJ+DsWQQWgAzK/I3plTacTAKfaesBdgfsUVFnjDADmgzj58AjfDWF4GbDsIEDQA5lRkFxw5/ZUBnyHwWAC5IDNKDMP1yJqxuQLFAFBco4OR5gJ8sQALG7x5ARQTIEOQAUgDMiCYG9GTMroG9FgCAA1snRHHg/NsAAAAAElFTkSuQmCC" + }, + { + "path": "", + "name": "heart.png", + "folder": "", + "namespace": "", + "id": "2", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "0f751aec-a519-017f-2410-5ac9e0a601cb", + "relative_path": "../../textures/emojis/heart.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAKhJREFUOE9jZKAQMCLrXyTg8h/Gj/uwhyg5uCKQ5siWXLh5y2smM8AMwScHNgBZAYuyFMOfu8/ABoEMAQFkg2E2wCxgxKWZmKABGQI3ANlmYjTDXDgIDEAPRFKcD4oljFggZAAsrOCxANOAHtfYDELXDFKDkdqwxTlIITbNGAZgCw+QRhAAJS7k1AlzIYoLkL2DnAJhKRI9f2B1AbbMhU0jXhcQiglkeQDhnXzlvzdk1wAAAABJRU5ErkJggg==" + }, + { + "path": "", + "name": "note.png", + "folder": "", + "namespace": "", + "id": "7", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "8d3f27df-26ac-035a-5808-a8a5fb7df905", + "relative_path": "../../textures/emojis/note.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAALFJREFUOE9jZCAAPm5W+M/v+4ARlzKcEiANIM18xvkMn85OZMBlCFEG/GOwZPhyNgLsCJhBIMNBfKIMACkEGQICMINgLiPaAFgYIBsEcg1RBoDCAGQjDCCHCU4D0AMQ5mfkcMAbBsTEwCAzAN2PJHkBpJjD7D4D298J4ICGhTq+FAiLEUaYZpgAzBCYQfjyATgQYU79xVwAdwG2+MabmWCGICsixvko0YgciOiJBV+OBwCLvoaXPhsOpAAAAABJRU5ErkJggg==" + }, + { + "path": "", + "name": "question.png", + "folder": "", + "namespace": "", + "id": "3", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "0f142e45-9915-9908-6c14-6e682c9b40a8", + "relative_path": "../../textures/emojis/question.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAJNJREFUOE9jZMABNNa7/EeWuhG4hxGbUqyCIM3XA2Yw7PqXDteTv4mRAZshGAYgawZpAoGJfhDHYDMExQCQZmyKcYmDDMVqADabYIagy1HXAJCTQDahBxbRXsAWTfg0Y4QBugGENOM1gBjNRLkApAhXKiRoAK5kjiyONSnDFMDyA1kuQE/SJGUmWHrAlwdgrqTYCwB0pH8RBrtM7wAAAABJRU5ErkJggg==" + }, + { + "path": "", + "name": "sweat.png", + "folder": "", + "namespace": "", + "id": "8", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "4099d802-f6dd-e946-7e18-910d1056fd84", + "relative_path": "../../textures/emojis/sweat.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAJ9JREFUOE9jZCARmO5++/+0qzAjTBucQYw5IM3GypwMZ+9+Z4AZgmEAug3IBhM0AJsCmAEwOVGenwyvv7DDXYHiAooMwGUDyAXIcjAXwVwBdwFFBuCzARTaBF1AyABkb8C8AItKrKaj+xMW5yCLYHLwdIDNdlwGYEtsJLmAaAOcRAXAalfe/46SbGljALYQRg9pfBkNJSGhK0TOtrgMAQB1UsSltwwF2QAAAABJRU5ErkJggg==" + }, + { + "path": "", + "name": "bubble_emote_guide.png", + "folder": "", + "namespace": "", + "id": "6", + "width": 40, + "height": 38, + "uv_width": 40, + "uv_height": 38, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "5f08ee2d-3f25-8eb0-bc5a-be130fd9f46a", + "relative_path": "../../textures/bubble_emote_guide.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAmCAYAAAC29NkdAAAAAXNSR0IArs4c6QAAAixJREFUWEfN2F1OwkAQAOApVMAiAlEJMZHbeQ7xHN7GxBuY+OCLwURNjFET09ZCqRnIwLBMp0vB0nmh7f7k6/4XBwDg9v4pwV8Mr9unS2g23MU1Xpx7zso93dSri+JieqPmOvH3ZVJt38gViKXmDx2O40gTR2kmMgtH5RCpOFKTnLuH17XXb7S7kESBWKjXaS2ed+rT1Ipr1cpK2s6AiKPQkJvgsL6dADlOQx67E+iftMXWM1tuZ10s4SQk4ihMZBpu6xbUcBzJcSZSw20FHI2e9TUiz9QTygwGF/lmcRD4hQDzvqdTZuBkClBaIOJmO0kZW5BwpQRyXOmAEaxuj6UCSriXz6gcYzANV4oW1HB7B2bh9gqUcLTb4Nij2Ms6qOFMZOHAYFqBj7BqtTVPfoNiZzHiKGyQPS8uDshxNkjEFTZJJJyGJFwhQA0nITnu34E2OI40cbmAeNoI4+zT+9fYhU7d/rAexgCnteUHWa51kB+FNCTiKGyQiKPgSOwB63XQPKdhhRKS42yQHMeRNDysgBKOKuNICachJRzlb7rzM38mUMNxpIaTkBoO8/tRAmdeogNtcFjZW3hgtXVhJhyTNrjMSRJNQTiA2zmSyur/irzU43sAR01PrWjs/yzSxS5GHMX6V4KOzMJR6TQkxx23Dte7mOM2Rdri0pAmbm2SSDhb5KY4EynhZkAAGAaBf6XhspB5cVRv3VmOKexWikGncU171tBu+Beea/gHeJZZEDMlW2EAAAAASUVORK5CYII=" + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Hoshino/models/armor.bbmodel b/config/yosbr/config/figura/avatars/Hoshino/models/armor.bbmodel new file mode 100644 index 0000000..7a8becd --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/models/armor.bbmodel @@ -0,0 +1,3811 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "armor", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 19, + "height": 48 + }, + "elements": [ + { + "name": "RightChestplate", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 18, + -2 + ], + "to": [ + 8, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 13.0625, + 30, + 14.25, + 39 + ], + "texture": 0 + }, + "east": { + "uv": [ + 11.875, + 30, + 13.0625, + 39 + ], + "texture": 0 + }, + "south": { + "uv": [ + 15.4375, + 30, + 16.625, + 39 + ], + "texture": 0 + }, + "west": { + "uv": [ + 14.25, + 30, + 15.4375, + 39 + ], + "texture": 0 + }, + "up": { + "uv": [ + 13.0625, + 24, + 14.25, + 30 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "04c52e51-518e-9513-d607-bd72f9efa2c9" + }, + { + "name": "RightChestplateOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 18, + -2 + ], + "to": [ + 8, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.001, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 13.0625, + 30, + 14.25, + 39 + ], + "texture": 1 + }, + "east": { + "uv": [ + 11.875, + 30, + 13.0625, + 39 + ], + "texture": 1 + }, + "south": { + "uv": [ + 15.4375, + 30, + 16.625, + 39 + ], + "texture": 1 + }, + "west": { + "uv": [ + 14.25, + 30, + 15.4375, + 39 + ], + "texture": 1 + }, + "up": { + "uv": [ + 13.0625, + 24, + 14.25, + 30 + ], + "rotation": 180, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6be84467-6c7f-1451-5458-a406488d3d44" + }, + { + "name": "LeftChestplate", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 18, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 14.25, + 30, + 13.0625, + 39 + ], + "texture": 0 + }, + "east": { + "uv": [ + 15.4375, + 30, + 14.25, + 39 + ], + "texture": 0 + }, + "south": { + "uv": [ + 16.625, + 30, + 15.4375, + 39 + ], + "texture": 0 + }, + "west": { + "uv": [ + 13.0625, + 30, + 11.875, + 39 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14.25, + 24, + 13.0625, + 30 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "22408e50-1695-eb9c-6ad3-457297fef7dd" + }, + { + "name": "LeftChestplateOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 18, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.001, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 14.25, + 30, + 13.0625, + 39 + ], + "texture": 1 + }, + "east": { + "uv": [ + 15.4375, + 30, + 14.25, + 39 + ], + "texture": 1 + }, + "south": { + "uv": [ + 16.625, + 30, + 15.4375, + 39 + ], + "texture": 1 + }, + "west": { + "uv": [ + 13.0625, + 30, + 11.875, + 39 + ], + "texture": 1 + }, + "up": { + "uv": [ + 14.25, + 24, + 13.0625, + 30 + ], + "rotation": 180, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "77395185-0449-b7e0-c6cb-1acfdbb3f452" + }, + { + "name": "RightLeggings", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 6, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.5, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 30, + 2.375, + 39 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 30, + 1.1875, + 39 + ], + "texture": 2 + }, + "south": { + "uv": [ + 3.5625, + 30, + 4.75, + 39 + ], + "texture": 2 + }, + "west": { + "uv": [ + 2.375, + 30, + 3.5625, + 39 + ], + "texture": 2 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 2 + }, + "down": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "8715712c-138d-7bdc-882f-f4b2c6770544" + }, + { + "name": "RightLeggingsOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 6, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.501, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 30, + 2.375, + 39 + ], + "texture": 3 + }, + "east": { + "uv": [ + 0, + 30, + 1.1875, + 39 + ], + "texture": 3 + }, + "south": { + "uv": [ + 3.5625, + 30, + 4.75, + 39 + ], + "texture": 3 + }, + "west": { + "uv": [ + 2.375, + 30, + 3.5625, + 39 + ], + "texture": 3 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 3 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "db54d1e6-20a4-45af-6869-4a65f0ea1723" + }, + { + "name": "RightBoots", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 6, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 30, + 2.375, + 39 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 30, + 1.1875, + 39 + ], + "texture": 0 + }, + "south": { + "uv": [ + 3.5625, + 30, + 4.75, + 39 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2.375, + 30, + 3.5625, + 39 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "1cb0afb2-ba2b-92d1-1099-aefd7cc512b8" + }, + { + "name": "RightBootsOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 6, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.001, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 30, + 2.375, + 39 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 30, + 1.1875, + 39 + ], + "texture": 1 + }, + "south": { + "uv": [ + 3.5625, + 30, + 4.75, + 39 + ], + "texture": 1 + }, + "west": { + "uv": [ + 2.375, + 30, + 3.5625, + 39 + ], + "texture": 1 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "dad8c5c7-149c-7b1f-9bc2-c432c26bc70e" + }, + { + "name": "LeftLeggings", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 6, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 0.5, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 30, + 1.1875, + 39 + ], + "texture": 2 + }, + "east": { + "uv": [ + 3.5625, + 30, + 2.375, + 39 + ], + "texture": 2 + }, + "south": { + "uv": [ + 4.75, + 30, + 3.5625, + 39 + ], + "texture": 2 + }, + "west": { + "uv": [ + 1.1875, + 30, + 0, + 39 + ], + "texture": 2 + }, + "up": { + "uv": [ + 2.375, + 24, + 1.1875, + 30 + ], + "rotation": 180, + "texture": 2 + }, + "down": { + "uv": [ + 2.375, + 24, + 1.1875, + 30 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "208279dc-0d16-d5cc-3766-43129fd24c7b" + }, + { + "name": "LeftLeggingsOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 6, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 0.501, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 30, + 1.1875, + 39 + ], + "texture": 3 + }, + "east": { + "uv": [ + 3.5625, + 30, + 2.375, + 39 + ], + "texture": 3 + }, + "south": { + "uv": [ + 4.75, + 30, + 3.5625, + 39 + ], + "texture": 3 + }, + "west": { + "uv": [ + 1.1875, + 30, + 0, + 39 + ], + "texture": 3 + }, + "up": { + "uv": [ + 2.375, + 24, + 1.1875, + 30 + ], + "rotation": 180, + "texture": 3 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "a15d5564-7cd3-fc93-e984-76ed5bc8023b" + }, + { + "name": "LeftBoots", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 6, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 30, + 1.1875, + 39 + ], + "texture": 0 + }, + "east": { + "uv": [ + 3.5625, + 30, + 2.375, + 39 + ], + "texture": 0 + }, + "south": { + "uv": [ + 4.75, + 30, + 3.5625, + 39 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1.1875, + 30, + 0, + 39 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2.375, + 24, + 1.1875, + 30 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6646f669-d54c-168c-c291-d46c48bfda6b" + }, + { + "name": "LeftBootsOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 6, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.001, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 30, + 1.1875, + 39 + ], + "texture": 1 + }, + "east": { + "uv": [ + 3.5625, + 30, + 2.375, + 39 + ], + "texture": 1 + }, + "south": { + "uv": [ + 4.75, + 30, + 3.5625, + 39 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1.1875, + 30, + 0, + 39 + ], + "texture": 1 + }, + "up": { + "uv": [ + 2.375, + 24, + 1.1875, + 30 + ], + "rotation": 180, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "7a6660e4-1279-daf0-3b3d-293b6821dcbe" + }, + { + "name": "RightChestplateBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 8, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 22 + ], + "faces": { + "north": { + "uv": [ + 13.0625, + 39, + 14.25, + 48 + ], + "texture": 0 + }, + "east": { + "uv": [ + 11.875, + 39, + 13.0625, + 48 + ], + "texture": 0 + }, + "south": { + "uv": [ + 15.4375, + 39, + 16.625, + 48 + ], + "texture": 0 + }, + "west": { + "uv": [ + 14.25, + 39, + 15.4375, + 48 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 14.25, + 24, + 15.4375, + 30 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "4a3a4eb6-fd3e-7d2b-a211-76957d9120bd" + }, + { + "name": "RightChestplateBottomOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 8, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.001, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 22 + ], + "faces": { + "north": { + "uv": [ + 13.0625, + 39, + 14.25, + 48 + ], + "texture": 1 + }, + "east": { + "uv": [ + 11.875, + 39, + 13.0625, + 48 + ], + "texture": 1 + }, + "south": { + "uv": [ + 15.4375, + 39, + 16.625, + 48 + ], + "texture": 1 + }, + "west": { + "uv": [ + 14.25, + 39, + 15.4375, + 48 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 14.25, + 24, + 15.4375, + 30 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "325d12e9-803c-2ac9-5359-07d737487724" + }, + { + "name": "LeftChestplateBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 12, + -2 + ], + "to": [ + -4, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 22 + ], + "faces": { + "north": { + "uv": [ + 14.25, + 39, + 13.0625, + 48 + ], + "texture": 0 + }, + "east": { + "uv": [ + 15.4375, + 39, + 14.25, + 48 + ], + "texture": 0 + }, + "south": { + "uv": [ + 16.625, + 39, + 15.4375, + 48 + ], + "texture": 0 + }, + "west": { + "uv": [ + 13.0625, + 39, + 11.875, + 48 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 15.4375, + 24, + 14.25, + 30 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "26bc361a-dd53-ef35-4d8c-de683271f69d" + }, + { + "name": "LeftChestplateBottomOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 12, + -2 + ], + "to": [ + -4, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.001, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 22 + ], + "faces": { + "north": { + "uv": [ + 14.25, + 39, + 13.0625, + 48 + ], + "texture": 1 + }, + "east": { + "uv": [ + 15.4375, + 39, + 14.25, + 48 + ], + "texture": 1 + }, + "south": { + "uv": [ + 16.625, + 39, + 15.4375, + 48 + ], + "texture": 1 + }, + "west": { + "uv": [ + 13.0625, + 39, + 11.875, + 48 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 15.4375, + 24, + 14.25, + 30 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "2b05091b-8085-6724-3d43-d9171144768c" + }, + { + "name": "RightLeggingsBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.5, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 39, + 2.375, + 48 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 39, + 1.1875, + 48 + ], + "texture": 2 + }, + "south": { + "uv": [ + 3.5625, + 39, + 4.75, + 48 + ], + "texture": 2 + }, + "west": { + "uv": [ + 2.375, + 39, + 3.5625, + 48 + ], + "texture": 2 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 2 + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "de6d8972-c7d3-65ad-9984-a8cb0304f1a4" + }, + { + "name": "RightLeggingsBottomOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.501, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 39, + 2.375, + 48 + ], + "texture": 3 + }, + "east": { + "uv": [ + 0, + 39, + 1.1875, + 48 + ], + "texture": 3 + }, + "south": { + "uv": [ + 3.5625, + 39, + 4.75, + 48 + ], + "texture": 3 + }, + "west": { + "uv": [ + 2.375, + 39, + 3.5625, + 48 + ], + "texture": 3 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 3 + } + }, + "type": "cube", + "uuid": "0d1b2e25-e3cb-5fe8-2f68-f18aca44f0aa" + }, + { + "name": "RightBootsBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 39, + 2.375, + 48 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 39, + 1.1875, + 48 + ], + "texture": 0 + }, + "south": { + "uv": [ + 3.5625, + 39, + 4.75, + 48 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2.375, + 39, + 3.5625, + 48 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2b06f488-228c-8e2e-cf9f-a31f465b2b91" + }, + { + "name": "LeftLeggingsBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 0.5, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 39, + 1.1875, + 48 + ], + "texture": 2 + }, + "east": { + "uv": [ + 3.5625, + 39, + 2.375, + 48 + ], + "texture": 2 + }, + "south": { + "uv": [ + 4.75, + 39, + 3.5625, + 48 + ], + "texture": 2 + }, + "west": { + "uv": [ + 1.1875, + 39, + 0, + 48 + ], + "texture": 2 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 2 + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "94b2a0f5-fc51-dff6-741d-bb1ba99d2a91" + }, + { + "name": "LeftLeggingsBottomOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 0.501, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 39, + 1.1875, + 48 + ], + "texture": 3 + }, + "east": { + "uv": [ + 3.5625, + 39, + 2.375, + 48 + ], + "texture": 3 + }, + "south": { + "uv": [ + 4.75, + 39, + 3.5625, + 48 + ], + "texture": 3 + }, + "west": { + "uv": [ + 1.1875, + 39, + 0, + 48 + ], + "texture": 3 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "f89ca1fb-370e-a2b8-90bd-46b52f03d3c6" + }, + { + "name": "LeftBootsBottomOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.001, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 39, + 1.1875, + 48 + ], + "texture": 1 + }, + "east": { + "uv": [ + 3.5625, + 39, + 2.375, + 48 + ], + "texture": 1 + }, + "south": { + "uv": [ + 4.75, + 39, + 3.5625, + 48 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1.1875, + 39, + 0, + 48 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "65127873-1035-1a39-184f-f7910cbe00c7" + }, + { + "name": "LeftBootsBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 39, + 1.1875, + 48 + ], + "texture": 0 + }, + "east": { + "uv": [ + 3.5625, + 39, + 2.375, + 48 + ], + "texture": 0 + }, + "south": { + "uv": [ + 4.75, + 39, + 3.5625, + 48 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1.1875, + 39, + 0, + 48 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "aabdaefc-770f-a69a-35cc-bb6ac71bc9be" + }, + { + "name": "RightBootsBottomOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.001, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 39, + 2.375, + 48 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 39, + 1.1875, + 48 + ], + "texture": 1 + }, + "south": { + "uv": [ + 3.5625, + 39, + 4.75, + 48 + ], + "texture": 1 + }, + "west": { + "uv": [ + 2.375, + 39, + 3.5625, + 48 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": 1 + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "2f97fafc-dd7b-205e-8403-0de28ab11617" + }, + { + "name": "RightChestplateTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 18, + -2 + ], + "to": [ + 8, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.002, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 13.0625, + 30, + 14.25, + 39 + ], + "texture": 4 + }, + "east": { + "uv": [ + 11.875, + 30, + 13.0625, + 39 + ], + "texture": 4 + }, + "south": { + "uv": [ + 15.4375, + 30, + 16.625, + 39 + ], + "texture": 4 + }, + "west": { + "uv": [ + 14.25, + 30, + 15.4375, + 39 + ], + "texture": 4 + }, + "up": { + "uv": [ + 13.0625, + 24, + 14.25, + 30 + ], + "rotation": 180, + "texture": 4 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "1bc91350-32b8-1826-c5aa-42a13e529528" + }, + { + "name": "RightChestplateBottomTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 8, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.002, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 22 + ], + "faces": { + "north": { + "uv": [ + 13.0625, + 39, + 14.25, + 48 + ], + "texture": 4 + }, + "east": { + "uv": [ + 11.875, + 39, + 13.0625, + 48 + ], + "texture": 4 + }, + "south": { + "uv": [ + 15.4375, + 39, + 16.625, + 48 + ], + "texture": 4 + }, + "west": { + "uv": [ + 14.25, + 39, + 15.4375, + 48 + ], + "texture": 4 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 4 + }, + "down": { + "uv": [ + 14.25, + 24, + 15.4375, + 30 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "77d2d753-cc5c-9604-ed68-fefded8b74c0" + }, + { + "name": "LeftChestplateTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 18, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.002, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 14.25, + 30, + 13.0625, + 39 + ], + "texture": 4 + }, + "east": { + "uv": [ + 15.4375, + 30, + 14.25, + 39 + ], + "texture": 4 + }, + "south": { + "uv": [ + 16.625, + 30, + 15.4375, + 39 + ], + "texture": 4 + }, + "west": { + "uv": [ + 13.0625, + 30, + 11.875, + 39 + ], + "texture": 4 + }, + "up": { + "uv": [ + 14.25, + 24, + 13.0625, + 30 + ], + "rotation": 180, + "texture": 4 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "ed6a2771-b199-06d5-c826-d9ad2eeeb335" + }, + { + "name": "LeftChestplateBottomTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 12, + -2 + ], + "to": [ + -4, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.002, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 22 + ], + "faces": { + "north": { + "uv": [ + 14.25, + 39, + 13.0625, + 48 + ], + "texture": 4 + }, + "east": { + "uv": [ + 15.4375, + 39, + 14.25, + 48 + ], + "texture": 4 + }, + "south": { + "uv": [ + 16.625, + 39, + 15.4375, + 48 + ], + "texture": 4 + }, + "west": { + "uv": [ + 13.0625, + 39, + 11.875, + 48 + ], + "texture": 4 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 4 + }, + "down": { + "uv": [ + 15.4375, + 24, + 14.25, + 30 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "f3fe7c1b-6af1-72ab-3278-90a5307c6676" + }, + { + "name": "RightLeggingsTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 6, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.502, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 30, + 2.375, + 39 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 30, + 1.1875, + 39 + ], + "texture": 5 + }, + "south": { + "uv": [ + 3.5625, + 30, + 4.75, + 39 + ], + "texture": 5 + }, + "west": { + "uv": [ + 2.375, + 30, + 3.5625, + 39 + ], + "texture": 5 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 5 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 5 + } + }, + "type": "cube", + "uuid": "152a41e4-ba8e-97d6-b386-7f133012408b" + }, + { + "name": "RightBootsTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 6, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.002, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 30, + 2.375, + 39 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 30, + 1.1875, + 39 + ], + "texture": 4 + }, + "south": { + "uv": [ + 3.5625, + 30, + 4.75, + 39 + ], + "texture": 4 + }, + "west": { + "uv": [ + 2.375, + 30, + 3.5625, + 39 + ], + "texture": 4 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 4 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "306712a4-3272-0ec7-9bdf-cee19696ad51" + }, + { + "name": "RightLeggingsBottomTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.502, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 39, + 2.375, + 48 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 39, + 1.1875, + 48 + ], + "texture": 5 + }, + "south": { + "uv": [ + 3.5625, + 39, + 4.75, + 48 + ], + "texture": 5 + }, + "west": { + "uv": [ + 2.375, + 39, + 3.5625, + 48 + ], + "texture": 5 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": 5 + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 5 + } + }, + "type": "cube", + "uuid": "e3ce7714-e502-2ebc-1c85-10d2983ebb7c" + }, + { + "name": "RightBootsBottomTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.002, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 39, + 2.375, + 48 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 39, + 1.1875, + 48 + ], + "texture": 4 + }, + "south": { + "uv": [ + 3.5625, + 39, + 4.75, + 48 + ], + "texture": 4 + }, + "west": { + "uv": [ + 2.375, + 39, + 3.5625, + 48 + ], + "texture": 4 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": 4 + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "1e955fb1-f5ca-cae7-203e-ce7be18f442b" + }, + { + "name": "LeftLeggingsTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 6, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 0.502, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 30, + 1.1875, + 39 + ], + "texture": 5 + }, + "east": { + "uv": [ + 3.5625, + 30, + 2.375, + 39 + ], + "texture": 5 + }, + "south": { + "uv": [ + 4.75, + 30, + 3.5625, + 39 + ], + "texture": 5 + }, + "west": { + "uv": [ + 1.1875, + 30, + 0, + 39 + ], + "texture": 5 + }, + "up": { + "uv": [ + 2.375, + 24, + 1.1875, + 30 + ], + "rotation": 180, + "texture": 5 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 5 + } + }, + "type": "cube", + "uuid": "08aa3ef4-81da-97b6-1fb6-10050d4ab6f9" + }, + { + "name": "LeftBootsTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 6, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.002, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 30, + 1.1875, + 39 + ], + "texture": 4 + }, + "east": { + "uv": [ + 3.5625, + 30, + 2.375, + 39 + ], + "texture": 4 + }, + "south": { + "uv": [ + 4.75, + 30, + 3.5625, + 39 + ], + "texture": 4 + }, + "west": { + "uv": [ + 1.1875, + 30, + 0, + 39 + ], + "texture": 4 + }, + "up": { + "uv": [ + 2.375, + 24, + 1.1875, + 30 + ], + "rotation": 180, + "texture": 4 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "cc172290-3e5f-a21e-14c6-0beb0b7228de" + }, + { + "name": "LeftLeggingsBottomTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 0.502, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 39, + 1.1875, + 48 + ], + "texture": 5 + }, + "east": { + "uv": [ + 3.5625, + 39, + 2.375, + 48 + ], + "texture": 5 + }, + "south": { + "uv": [ + 4.75, + 39, + 3.5625, + 48 + ], + "texture": 5 + }, + "west": { + "uv": [ + 1.1875, + 39, + 0, + 48 + ], + "texture": 5 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": 5 + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 5 + } + }, + "type": "cube", + "uuid": "ae508872-aa37-2b04-7a48-9528dbec9686" + }, + { + "name": "LeftBootsBottomTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.002, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 39, + 1.1875, + 48 + ], + "texture": 4 + }, + "east": { + "uv": [ + 3.5625, + 39, + 2.375, + 48 + ], + "texture": 4 + }, + "south": { + "uv": [ + 4.75, + 39, + 3.5625, + 48 + ], + "texture": 4 + }, + "west": { + "uv": [ + 1.1875, + 39, + 0, + 48 + ], + "texture": 4 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": 4 + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "e46adda3-76b0-3f14-f8bb-14dec4636073" + } + ], + "outliner": [ + { + "name": "ArmorRA", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "9cdcfaa1-6e79-d94c-f516-f1aff5551a36", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightChestplate", + "origin": [ + 0, + 22, + 0 + ], + "color": 0, + "uuid": "fd9a522d-9a6f-9315-f563-c2c2dc2643ed", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "04c52e51-518e-9513-d607-bd72f9efa2c9", + "6be84467-6c7f-1451-5458-a406488d3d44", + "1bc91350-32b8-1826-c5aa-42a13e529528" + ] + } + ] + }, + { + "name": "ArmorRAB", + "origin": [ + 7, + 18, + 2 + ], + "color": 0, + "uuid": "475e6e92-a1e4-3dbd-1fbc-f80f1d0dad3a", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightChestplateBottom", + "origin": [ + 5.5, + 18, + 2 + ], + "color": 0, + "uuid": "002c7a8e-4836-7723-7a30-02d9e7d6864c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4a3a4eb6-fd3e-7d2b-a211-76957d9120bd", + "325d12e9-803c-2ac9-5359-07d737487724", + "77d2d753-cc5c-9604-ed68-fefded8b74c0" + ] + } + ] + }, + { + "name": "ArmorLA", + "origin": [ + -5, + 23, + 0 + ], + "color": 0, + "uuid": "73d4bd8b-b1f2-b209-c731-ba14eca51894", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "LeftChestplate", + "origin": [ + 0, + 22, + 0 + ], + "color": 0, + "uuid": "5c14372a-8dc0-5453-10f1-d47cdec6e52b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "22408e50-1695-eb9c-6ad3-457297fef7dd", + "77395185-0449-b7e0-c6cb-1acfdbb3f452", + "ed6a2771-b199-06d5-c826-d9ad2eeeb335" + ] + } + ] + }, + { + "name": "ArmorLAB", + "origin": [ + -7, + 18, + 2 + ], + "color": 0, + "uuid": "402ce6c8-6779-6fc6-a408-2c462302696d", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "LeftChestplateBottom", + "origin": [ + -5.5, + 18, + 2 + ], + "color": 0, + "uuid": "f09fa0ac-568d-aeed-7aeb-181f6bcae7de", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "26bc361a-dd53-ef35-4d8c-de683271f69d", + "2b05091b-8085-6724-3d43-d9171144768c", + "f3fe7c1b-6af1-72ab-3278-90a5307c6676" + ] + } + ] + }, + { + "name": "ArmorRL", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "09960a3e-73fa-bf53-b5a6-939709be95dd", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightLeggings", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "f2c56651-0b87-7be5-a5d0-54f0b539cedd", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8715712c-138d-7bdc-882f-f4b2c6770544", + "db54d1e6-20a4-45af-6869-4a65f0ea1723", + "152a41e4-ba8e-97d6-b386-7f133012408b" + ] + }, + { + "name": "RightBoots", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "585bbbd4-29dc-4475-360d-a37d1d22a0dc", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1cb0afb2-ba2b-92d1-1099-aefd7cc512b8", + "dad8c5c7-149c-7b1f-9bc2-c432c26bc70e", + "306712a4-3272-0ec7-9bdf-cee19696ad51" + ] + } + ] + }, + { + "name": "ArmorRLB", + "origin": [ + 2, + 6, + 0 + ], + "color": 0, + "uuid": "51c416bc-1aef-41e3-863d-675810356aef", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightLeggingsBottom", + "origin": [ + 2, + 6, + 0 + ], + "color": 0, + "uuid": "943c2228-26ef-a3cc-c4ff-8b2e3a802431", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "de6d8972-c7d3-65ad-9984-a8cb0304f1a4", + "0d1b2e25-e3cb-5fe8-2f68-f18aca44f0aa", + "e3ce7714-e502-2ebc-1c85-10d2983ebb7c" + ] + }, + { + "name": "RightBootsBottom", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "225aaa89-44de-01b7-601e-e0636668f07c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "2b06f488-228c-8e2e-cf9f-a31f465b2b91", + "2f97fafc-dd7b-205e-8403-0de28ab11617", + "1e955fb1-f5ca-cae7-203e-ce7be18f442b" + ] + } + ] + }, + { + "name": "ArmorLL", + "origin": [ + -2, + 6, + 2 + ], + "color": 0, + "uuid": "ebec21d0-6b75-5c93-bcad-43a0bbe83be0", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "LeftLeggings", + "origin": [ + -2, + 6, + 2 + ], + "color": 0, + "uuid": "0e96119a-486e-469e-c718-c9fcb2e8f4aa", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "208279dc-0d16-d5cc-3766-43129fd24c7b", + "a15d5564-7cd3-fc93-e984-76ed5bc8023b", + "08aa3ef4-81da-97b6-1fb6-10050d4ab6f9" + ] + }, + { + "name": "LeftBoots", + "origin": [ + -2, + 6, + -2 + ], + "color": 0, + "uuid": "bae07c99-6cf4-d4d7-9e54-a7966539daf6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "6646f669-d54c-168c-c291-d46c48bfda6b", + "7a6660e4-1279-daf0-3b3d-293b6821dcbe", + "cc172290-3e5f-a21e-14c6-0beb0b7228de" + ] + } + ] + }, + { + "name": "ArmorLLB", + "origin": [ + -2, + 6, + 0 + ], + "color": 0, + "uuid": "ac27b599-070c-a038-5e6f-e998a5ad1cb4", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "LeftLeggingsBottom", + "origin": [ + -2, + 6, + -2 + ], + "color": 0, + "uuid": "bfb3e89f-f73f-f1da-55a1-d25eb9f7c2d4", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "94b2a0f5-fc51-dff6-741d-bb1ba99d2a91", + "f89ca1fb-370e-a2b8-90bd-46b52f03d3c6", + "ae508872-aa37-2b04-7a48-9528dbec9686" + ] + }, + { + "name": "LeftBootsBottom", + "origin": [ + -2, + 6, + -2 + ], + "color": 0, + "uuid": "71ea41e5-93f0-d75e-73eb-77a7b04abfca", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "aabdaefc-770f-a69a-35cc-bb6ac71bc9be", + "65127873-1035-1a39-184f-f7910cbe00c7", + "e46adda3-76b0-3f14-f8bb-14dec4636073" + ] + } + ] + } + ], + "textures": [ + { + "path": "", + "name": "leather_layer_1.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 64, + "height": 32, + "uv_width": 19, + "uv_height": 48, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "3077f184-e559-5a8a-71d6-29d7cea0677e", + "relative_path": "../../textures/for_modeling/leather_layer_1.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAAXNSR0IArs4c6QAAA3lJREFUaEPlmTFv4kAQhU0TnWiQEEW4DlFSRRFVdB1/g5rfRM3foDulQkeacKcUiO5IgZBo0CmNT99Kz5qs7CzENvh8K0XB7Ho98zzzZt7SiAJjNpvFx+PRrWo2m8lqfTeZTBqhPao8HzQeAO7v7t758OftzV2vVqtoPB4H96gFAL9eXqJWq5X40m63/w8AptNp/O3hIfr9+hodDocEAMDYbrf1jwAfgF6vl4CwWCyi2nMAAAyHw2i/37sIEABfbm6iH09P9Y8ASHAwGLi3DgjkPs4zvj8+1j8CAABns0rhP58CWQ7isK37SvwsILQ2bd6WQbsvn68NYMPWedV3hTssj5FUAeZIAQ34YLfbOZC63a5LDQ2lCBzBsH0E1URrq9BHNNLKHCXu6+2ty3ENPxr0ppn3y6S9n/sAAMcZKqWQaWUA6Pf7iWFyzIZyVrcHeD5AAgoQ1uu1mwYgGik7NF+JFLAkl9cggWI5QQDbHqIqZbT0Pl5iChBsCYUfKkGClxIqRIaNiryRVpTdpUdAUYaWtU8QgPl8Hou5Ia7RaBS8pyxj2Vd9i3grbyQFnVkul7F0QFUAUF9RhBYJAvDz+TlWgwQQ144A9S2UVUg074FMEADbKkNieR+YNz1s78FepadAyOAsLeEDZXM3TVx9tN7XD9yfpT3O1RrBCDgFAHKSNKG1Ve9v81NnCnbeX0/bbZ2ie9R3NuettvC1hn99ilzPDYDVElY8Yai0hMQUAEhcoQ1Ybx0S19AlMk8rbbWErhFf0ioSY+yj/ZjXdShlcwNAaOuB1mCpRwyVYxyhWYOtVvCVKKVXesQ6hGP+87KuTzmzLAQAnRj5Ib7ZbNxJspW/OJC2XmpRilFqERA6nY7bRxGWdW0jRACWHgGkgMQOxvLHGSJDR2jiEaWAXW8B8flG64kaK7/TpLnlj3NabncecA6ryhj7EB2a6g0JgLQIEECAo/UAomG7Tt5o3jIXIvF3J0JSaJAWI41VRUoiOeW0f0KkByv8cdgPUU6UGAJMUcP/S/3w4gAgJ/VGFJLWYDvvv0E5ausvoJCzgKJfkyypcY9dLxK7xg8vLgUgFUjHsrQMxlBpeeWk1mcdaWlPHBUQvO2scE5rpi51VpBEgE5oVJfVqOiN23kiguuPGo2iW9ZQLn923kVAWltpWVckmcbEoTLzWcMudd9f6+s3Tq3qU78AAAAASUVORK5CYII=" + }, + { + "path": "", + "name": "leather_layer_1_overlay.png", + "folder": "", + "namespace": "", + "id": "1", + "width": 64, + "height": 32, + "uv_width": 19, + "uv_height": 48, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "2ba8879b-4ecb-195a-59ee-6d9e98804dde", + "relative_path": "../../textures/for_modeling/leather_layer_1_overlay.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAAXNSR0IArs4c6QAAARtJREFUaENjZCABeOlI/Acp33blBSMJ2ga1UpI8EmWhAA6AZScekKRvMIcASR4Z8QGQZANJAfOOjNAUkOWgCQ6AaQeuk5Ryhk0WGA2AkZ4CRnwZQGkABJlACtF1ZwZPIUpSYUZpNUhpANKiMCUpAEAtQQEeDrIbQoOxECUpACiNAVAK4GDhHFTVKF0DAJQCfvz5PqgaUnQNgCFfBlCaBSgtRCm1H5t+uqYAWniAUjMJBgBsDABm0XAaCwD5iagAUBARZPjw4zvDhy8/htVgCNEBAKr7OVgYGF58GKEBgJzPRlwWoLSQGez6CZYBg90DlLpvNAAoDcGhrn80BQz1GKTU/aMpgNIQHOr6R1PAUI9BSt0/mgIoDcGhrh8ARURkId1f/LQAAAAASUVORK5CYII=" + }, + { + "path": "", + "name": "leather_layer_2.png", + "folder": "", + "namespace": "", + "id": "2", + "width": 64, + "height": 32, + "uv_width": 19, + "uv_height": 48, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "a3d07fcc-8736-7c2a-3a7d-01bca4f29360", + "relative_path": "../../textures/for_modeling/leather_layer_2.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAAXNSR0IArs4c6QAAAbNJREFUaEPtVquOg0AUHTSGIDA4BA7ZLLLZj8DzZXi+BI9DoJYKBMGwqevmTHI2N7Ntd5NuSToz15B5NOk9cx43UI5X4Hj/ygPgGeA4Al4CjhPAm6CXgJeA4wh4CThOAJ8CXgJeAgYCbdtesLVtmwrDUFVVZTVLfjQHAN4OB/V5Pquu61Rd124B0DTNpSxLNY6jmufZTQCkKqxnADVP3eML7UsfuHWG/VcHKAAAaDiKIjUMg24+TVMNgLmepknv43xdVyskEkDzSZJoANhgURS60b7vdRrAE1AwRRTWy7Lo+6+eEpoBfHE0hIbzPL/JAAkIALICAL44XpgSAMXRLCkfx7FmBNf4WsEAKQFqHiBkWfYtATDCBIRrKxhAU8OLk+KcA8gIMIAMkaZpRQpIDzBjEICYJmmmxL2YNCOVIzblxXMZuzzbI2a1CfJPmdn/l8Zwh6MzPQJrFkZqljznqA0A5H3c5W/2MNmH53w5OlNC78ej+jiddN/wCpScM2C6kNhv9/cw2YcBuDZIsUG+PJpnapiSYuwSKIKFL0z52R7zbwBIudzzlGsew7mDg5j0jWenzBfesmAwq9d1bgAAAABJRU5ErkJggg==" + }, + { + "path": "", + "name": "leather_layer_2_overlay.png", + "folder": "", + "namespace": "", + "id": "3", + "width": 64, + "height": 32, + "uv_width": 19, + "uv_height": 48, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "72561028-643a-e907-78d7-d707a6b9393f", + "relative_path": "../../textures/for_modeling/leather_layer_2_overlay.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAAXNSR0IArs4c6QAAAP5JREFUaEPtlbEKwjAQhq/gkEKHCA516wM4OvgMjo4+oKPP4eBDODp2KOSGQuUaAramLirE3n9LSS4N3Mf//8lIeWXK5ycAgAKUE4AFlAsAIQgLwALKCcACygWAVwAWgAWUE4AFlAsArwAsAAtECBx3VSfbp8tt9gp5GVCGX9ucHBPV7GYPIQrAmrzXhUoAMrhqC2gLxY9D7rD1gRmKmckYE+U47r07Gy44X38bxF8BUBY+M+6N679hPQDTOqrZ70ifR+sYMbkveQD7TdnZwpBZSGgOBxwPFfrWEHFLVDf+h2q17IHEzicP4NkCImmpKQtM5YvAi5VASh7Av4fmA8zRVyFbTtAIAAAAAElFTkSuQmCC" + }, + { + "path": "", + "name": "trim.png", + "folder": "", + "namespace": "", + "id": "5", + "width": 64, + "height": 32, + "uv_width": 19, + "uv_height": 48, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "10cc6101-1a98-56ff-84bb-c18cb34472c0", + "relative_path": "../../textures/for_modeling/trim.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAAXNSR0IArs4c6QAAARlJREFUaEPtWIEJxCAMrJtkFEdxFEdxFEdxE5/Ip+TFL31S+TamUFrE2NzlUsi5bfHLLY5/MwJMAYszYC2wuADsJ2gtEGOs2AallNYNANBueqcWea83wkoplfbzWFzj53Sx+7m0D58xxr8W4fTHc86ViMHEvfenY+/8n1EBQkKwESBhT0OsKUBDFSUYTAES9jTEmgI0VFGCwRQgYU9DrClAQxUlGG6vAD6FcqA0UuecP/B77/uR/hCjmAD0EzCZkY9AIzOCGPkGfQwft8lXCCGIczxSiEMAxBpt7Od93EPJcjMD174ZGmiaAMBuoNC7RK4zYofs8uTxoyml+mslnmKgDAno+06TA9SraGp/zZDs1WcaAVcz+rTzXjFzgCFw/S4BAAAAAElFTkSuQmCC" + }, + { + "path": "", + "name": "trim_leggings.png", + "folder": "", + "namespace": "", + "id": "6", + "width": 64, + "height": 32, + "uv_width": 19, + "uv_height": 48, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "a801ffff-07dc-221a-9ca4-89a631acd89b", + "relative_path": "../../textures/for_modeling/trim_leggings.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAAXNSR0IArs4c6QAAALdJREFUaEPtlVEKgCAQRPUmHsWj71H2JsVKGxH1o24kM0KkZIs+Z8acwFsG338iACoAnAAtAC4AhiAtQAuAE6AFwAXAW4AWoAXACdAC4ALgLUAL0ALgBLKIbMaglHKiUNU2trc364tIG9o3f2qtS9to6cXPEC8BzKC4co1hBViGeFZ4jnh+eD7YnGum3Of7+KlOdMYMA3g7fVW1Tbf61/7f1BIGwE/9AJCiT7IXbBiA3gV9/R88gB06yDkhrwNxCwAAAABJRU5ErkJggg==" + } + ], + "animations": [ + { + "uuid": "8a5254c3-52e1-ebac-3078-87344e3c6f23", + "name": "jerk_ears", + "loop": "once", + "override": false, + "length": 0.25, + "snapping": 24, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "" + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Hoshino/models/barrier.bbmodel b/config/yosbr/config/figura/avatars/Hoshino/models/barrier.bbmodel new file mode 100644 index 0000000..920e657 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/models/barrier.bbmodel @@ -0,0 +1,4318 @@ +{ + "meta": { + "format_version": "4.5", + "model_format": "free", + "box_uv": false + }, + "name": "barrier", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 1, + "height": 1 + }, + "elements": [ + { + "name": "Barrier1", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "Arn5": [ + 12.45573, + -16.30478, + -7.99099 + ], + "bhLA": [ + 17.95504, + -12.10366, + -3.99547 + ], + "oe5L": [ + 12.45573, + -16.30478, + 7.99099 + ], + "LaOo": [ + 17.95504, + -12.10366, + 3.99547 + ], + "skAF": [ + 6.95626, + -20.50605, + 3.99542 + ], + "mSEF": [ + 6.95626, + -20.50605, + -3.99542 + ] + }, + "faces": { + "Qa7oQUdO": { + "uv": { + "Arn5": [ + 0.42424, + 0.89503 + ], + "bhLA": [ + 0.39394, + 0.84254 + ], + "oe5L": [ + 0.30303, + 0.89503 + ] + }, + "vertices": [ + "Arn5", + "bhLA", + "oe5L" + ], + "texture": 0 + }, + "LeEDTzrA": { + "uv": { + "bhLA": [ + 0.39394, + 0.84254 + ], + "LaOo": [ + 0.33333, + 0.84254 + ], + "oe5L": [ + 0.30303, + 0.89503 + ] + }, + "vertices": [ + "bhLA", + "LaOo", + "oe5L" + ], + "texture": 0 + }, + "4X7QzJLA": { + "uv": { + "oe5L": [ + 0.30303, + 0.89503 + ], + "skAF": [ + 0.33333, + 0.94751 + ], + "mSEF": [ + 0.39394, + 0.94751 + ] + }, + "vertices": [ + "oe5L", + "skAF", + "mSEF" + ], + "texture": 0 + }, + "x3acV2xS": { + "uv": { + "mSEF": [ + 0.39394, + 0.94751 + ], + "Arn5": [ + 0.42424, + 0.89503 + ], + "oe5L": [ + 0.30303, + 0.89503 + ] + }, + "vertices": [ + "mSEF", + "Arn5", + "oe5L" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "1ffcfe1b-dd45-30ab-3d50-3eb527527f64" + }, + { + "name": "Barrier2", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "Yag1": [ + -5.37976, + -16.30478, + -13.78618 + ], + "2mKW": [ + -3.2792, + -20.50605, + -7.32118 + ], + "zVpV": [ + -7.97619, + -20.50608, + -0.85638 + ], + "3FTI": [ + -12.1773, + -12.10366, + -13.78622 + ], + "YxwL": [ + -16.87454, + -12.10366, + -7.32115 + ], + "CRpy": [ + -14.77408, + -16.30475, + -0.85638 + ] + }, + "faces": { + "qKcm1Dtp": { + "uv": { + "Yag1": [ + 0.66667, + 0.89503 + ], + "2mKW": [ + 0.69697, + 0.94751 + ], + "zVpV": [ + 0.75758, + 0.94751 + ] + }, + "vertices": [ + "Yag1", + "2mKW", + "zVpV" + ], + "texture": 0 + }, + "zcqb3YJU": { + "uv": { + "3FTI": [ + 0.69697, + 0.84254 + ], + "Yag1": [ + 0.66667, + 0.89503 + ], + "zVpV": [ + 0.75758, + 0.94751 + ] + }, + "vertices": [ + "3FTI", + "Yag1", + "zVpV" + ], + "texture": 0 + }, + "fU1wtLBt": { + "uv": { + "YxwL": [ + 0.75758, + 0.84254 + ], + "3FTI": [ + 0.69697, + 0.84254 + ], + "zVpV": [ + 0.75758, + 0.94751 + ] + }, + "vertices": [ + "YxwL", + "3FTI", + "zVpV" + ], + "texture": 0 + }, + "D23N9iIN": { + "uv": { + "zVpV": [ + 0.75758, + 0.94751 + ], + "CRpy": [ + 0.78788, + 0.89503 + ], + "YxwL": [ + 0.75758, + 0.84254 + ] + }, + "vertices": [ + "zVpV", + "CRpy", + "YxwL" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "28326e39-14dc-4a63-19b6-00c93a838274" + }, + { + "name": "Barrier3", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "R7jj": [ + -3.75085, + -16.30478, + 14.31544 + ], + "Jg1w": [ + -1.65027, + -20.50603, + 7.85045 + ], + "vMd4": [ + 5.94954, + -20.50603, + 5.38107 + ], + "kolb": [ + 9.34848, + -12.10366, + 15.84144 + ], + "wOmD": [ + 1.74848, + -12.10366, + 18.31086 + ], + "NNAA": [ + 11.44901, + -16.30478, + 9.37664 + ] + }, + "faces": { + "0lnLGtFu": { + "uv": { + "R7jj": [ + 0.12121, + 0.89503 + ], + "Jg1w": [ + 0.15152, + 0.94751 + ], + "vMd4": [ + 0.21212, + 0.94751 + ] + }, + "vertices": [ + "R7jj", + "Jg1w", + "vMd4" + ], + "texture": 0 + }, + "hhgfkNIK": { + "uv": { + "kolb": [ + 0.21212, + 0.84254 + ], + "wOmD": [ + 0.15152, + 0.84254 + ], + "R7jj": [ + 0.12121, + 0.89503 + ] + }, + "vertices": [ + "kolb", + "wOmD", + "R7jj" + ], + "texture": 0 + }, + "0Rji1785": { + "uv": { + "vMd4": [ + 0.21212, + 0.94751 + ], + "NNAA": [ + 0.24243, + 0.89503 + ], + "R7jj": [ + 0.12121, + 0.89503 + ] + }, + "vertices": [ + "vMd4", + "NNAA", + "R7jj" + ], + "texture": 0 + }, + "i9dgHyC2": { + "uv": { + "NNAA": [ + 0.24243, + 0.89503 + ], + "kolb": [ + 0.21212, + 0.84254 + ], + "R7jj": [ + 0.12121, + 0.89503 + ] + }, + "vertices": [ + "NNAA", + "kolb", + "R7jj" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "89ca0220-5946-6fb4-0562-9cc2170a16fd" + }, + { + "name": "Barrier4", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "IIXU": [ + 11.44901, + -16.30478, + -9.37664 + ], + "1xE0": [ + 5.94954, + -20.50603, + -5.38107 + ], + "CXrA": [ + -1.65027, + -20.50603, + -7.85045 + ], + "zPA0": [ + 1.74848, + -12.10366, + -18.31086 + ], + "oYOf": [ + 9.34848, + -12.10366, + -15.84144 + ], + "DjUC": [ + -3.75085, + -16.30478, + -14.31544 + ] + }, + "faces": { + "uaJyCz2z": { + "uv": { + "IIXU": [ + 0.48485, + 0.89503 + ], + "1xE0": [ + 0.51515, + 0.94751 + ], + "CXrA": [ + 0.57576, + 0.94751 + ] + }, + "vertices": [ + "IIXU", + "1xE0", + "CXrA" + ], + "texture": 0 + }, + "yI2cpGQZ": { + "uv": { + "zPA0": [ + 0.57576, + 0.84254 + ], + "oYOf": [ + 0.51515, + 0.84254 + ], + "IIXU": [ + 0.48485, + 0.89503 + ] + }, + "vertices": [ + "zPA0", + "oYOf", + "IIXU" + ], + "texture": 0 + }, + "zXKeJgkd": { + "uv": { + "CXrA": [ + 0.57576, + 0.94751 + ], + "DjUC": [ + 0.60606, + 0.89503 + ], + "IIXU": [ + 0.48485, + 0.89503 + ] + }, + "vertices": [ + "CXrA", + "DjUC", + "IIXU" + ], + "texture": 0 + }, + "GgM9ok1T": { + "uv": { + "DjUC": [ + 0.60606, + 0.89503 + ], + "zPA0": [ + 0.57576, + 0.84254 + ], + "IIXU": [ + 0.48485, + 0.89503 + ] + }, + "vertices": [ + "DjUC", + "zPA0", + "IIXU" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "e2fcefb7-9c37-6ff5-68e4-8627896caea9" + }, + { + "name": "Barrier5", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "xYFO": [ + -1.37211, + -3.84915, + 21.63661 + ], + "F8AM": [ + 2.02674, + -10.64672, + 19.16723 + ], + "YWtx": [ + 13.82781, + -3.84922, + 16.69776 + ], + "Rptb": [ + 2.82907, + 2.94872, + 21.63661 + ], + "nAjf": [ + 9.62674, + -10.64672, + 16.69779 + ], + "cm0C": [ + 10.42882, + 2.94878, + 19.16726 + ] + }, + "faces": { + "NFbZyVJX": { + "uv": { + "xYFO": [ + 0.12121, + 0.79005 + ], + "F8AM": [ + 0.15152, + 0.84254 + ], + "YWtx": [ + 0.24243, + 0.79005 + ] + }, + "vertices": [ + "xYFO", + "F8AM", + "YWtx" + ], + "texture": 0 + }, + "oOZWbFhk": { + "uv": { + "Rptb": [ + 0.15152, + 0.73757 + ], + "xYFO": [ + 0.12121, + 0.79005 + ], + "YWtx": [ + 0.24243, + 0.79005 + ] + }, + "vertices": [ + "Rptb", + "xYFO", + "YWtx" + ], + "texture": 0 + }, + "mOru5kIu": { + "uv": { + "F8AM": [ + 0.15152, + 0.84254 + ], + "nAjf": [ + 0.21212, + 0.84254 + ], + "YWtx": [ + 0.24243, + 0.79005 + ] + }, + "vertices": [ + "F8AM", + "nAjf", + "YWtx" + ], + "texture": 0 + }, + "1FFKq8BV": { + "uv": { + "YWtx": [ + 0.24243, + 0.79005 + ], + "cm0C": [ + 0.21212, + 0.73756 + ], + "Rptb": [ + 0.15152, + 0.73757 + ] + }, + "vertices": [ + "YWtx", + "cm0C", + "Rptb" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "0892b9ea-ea94-207c-1f9a-2f8628aac120" + }, + { + "name": "Barrier6", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "nIfk": [ + 11.60749, + 3.8492, + 18.31093 + ], + "Ut8M": [ + 15.00648, + -2.94878, + 15.84141 + ], + "nWP5": [ + 19.70349, + -2.94875, + 9.37669 + ], + "aenb": [ + 17.60302, + 10.6467, + 7.85042 + ], + "wSME": [ + 12.90576, + 10.6467, + 14.31549 + ], + "VVCf": [ + 21.00181, + 3.84917, + 5.38106 + ] + }, + "faces": { + "r899VVRa": { + "uv": { + "nIfk": [ + 0.21212, + 0.73756 + ], + "Ut8M": [ + 0.24243, + 0.79005 + ], + "nWP5": [ + 0.30303, + 0.79005 + ] + }, + "vertices": [ + "nIfk", + "Ut8M", + "nWP5" + ], + "texture": 0 + }, + "m0Cli6Ve": { + "uv": { + "aenb": [ + 0.30303, + 0.68508 + ], + "wSME": [ + 0.24242, + 0.68508 + ], + "nIfk": [ + 0.21212, + 0.73756 + ] + }, + "vertices": [ + "aenb", + "wSME", + "nIfk" + ], + "texture": 0 + }, + "eIe5wd3R": { + "uv": { + "nWP5": [ + 0.30303, + 0.79005 + ], + "VVCf": [ + 0.33334, + 0.73757 + ], + "nIfk": [ + 0.21212, + 0.73756 + ] + }, + "vertices": [ + "nWP5", + "VVCf", + "nIfk" + ], + "texture": 0 + }, + "zhNhQfF3": { + "uv": { + "VVCf": [ + 0.33334, + 0.73757 + ], + "aenb": [ + 0.30303, + 0.68508 + ], + "nIfk": [ + 0.21212, + 0.73756 + ] + }, + "vertices": [ + "VVCf", + "aenb", + "nIfk" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "b353e066-b7eb-5d49-03d0-6bffec0918a0" + }, + { + "name": "Barrier7", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "sgjW": [ + 20.15371, + -3.8492, + 7.99102 + ], + "RXBz": [ + 18.85547, + -10.64674, + 3.99547 + ], + "F24g": [ + 20.15371, + -3.8492, + -7.99102 + ], + "b4nW": [ + 21.45203, + 2.94874, + 3.99539 + ], + "t3ws": [ + 18.85547, + -10.64674, + -3.99547 + ], + "OAIt": [ + 21.45203, + 2.94874, + -3.99539 + ] + }, + "faces": { + "MnnmSYRF": { + "uv": { + "sgjW": [ + 0.30303, + 0.79005 + ], + "RXBz": [ + 0.33333, + 0.84254 + ], + "F24g": [ + 0.42424, + 0.79005 + ] + }, + "vertices": [ + "sgjW", + "RXBz", + "F24g" + ], + "texture": 0 + }, + "eCGpY79B": { + "uv": { + "b4nW": [ + 0.33334, + 0.73757 + ], + "sgjW": [ + 0.30303, + 0.79005 + ], + "F24g": [ + 0.42424, + 0.79005 + ] + }, + "vertices": [ + "b4nW", + "sgjW", + "F24g" + ], + "texture": 0 + }, + "UA9sL3fH": { + "uv": { + "RXBz": [ + 0.33333, + 0.84254 + ], + "t3ws": [ + 0.39394, + 0.84254 + ], + "F24g": [ + 0.42424, + 0.79005 + ] + }, + "vertices": [ + "RXBz", + "t3ws", + "F24g" + ], + "texture": 0 + }, + "1mO1enyO": { + "uv": { + "F24g": [ + 0.42424, + 0.79005 + ], + "OAIt": [ + 0.39394, + 0.73757 + ], + "b4nW": [ + 0.33334, + 0.73757 + ] + }, + "vertices": [ + "F24g", + "OAIt", + "b4nW" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "cf598a49-f1eb-47bc-8232-487d7ce031d1" + }, + { + "name": "Barrier8", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "Q4IN": [ + -13.82781, + 3.84922, + 16.69776 + ], + "wCK2": [ + -10.42882, + -2.94878, + 19.16726 + ], + "PNTE": [ + -2.82907, + -2.94872, + 21.63661 + ], + "mlEN": [ + -2.02674, + 10.64672, + 19.16723 + ], + "lABY": [ + -9.62674, + 10.64672, + 16.69779 + ], + "ZHKx": [ + 1.37211, + 3.84915, + 21.63661 + ] + }, + "faces": { + "n24TdmhQ": { + "uv": { + "Q4IN": [ + 0.0303, + 0.73756 + ], + "wCK2": [ + 0.06061, + 0.79005 + ], + "PNTE": [ + 0.12121, + 0.79005 + ] + }, + "vertices": [ + "Q4IN", + "wCK2", + "PNTE" + ], + "texture": 0 + }, + "UUDEtWYK": { + "uv": { + "mlEN": [ + 0.12121, + 0.68508 + ], + "lABY": [ + 0.06061, + 0.68508 + ], + "Q4IN": [ + 0.0303, + 0.73756 + ] + }, + "vertices": [ + "mlEN", + "lABY", + "Q4IN" + ], + "texture": 0 + }, + "f1u0lNPh": { + "uv": { + "PNTE": [ + 0.12121, + 0.79005 + ], + "ZHKx": [ + 0.15152, + 0.73757 + ], + "Q4IN": [ + 0.0303, + 0.73756 + ] + }, + "vertices": [ + "PNTE", + "ZHKx", + "Q4IN" + ], + "texture": 0 + }, + "1zDhRe2q": { + "uv": { + "ZHKx": [ + 0.15152, + 0.73757 + ], + "mlEN": [ + 0.12121, + 0.68508 + ], + "Q4IN": [ + 0.0303, + 0.73756 + ] + }, + "vertices": [ + "ZHKx", + "mlEN", + "Q4IN" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "8cda9be7-5fa4-c07d-0003-2f7bc1954175" + }, + { + "name": "Barrier9", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "qHbv": [ + -20.15371, + 3.8492, + -7.99102 + ], + "3bwp": [ + -21.45203, + -2.94874, + -3.99539 + ], + "KSbw": [ + -21.45203, + -2.94874, + 3.99539 + ], + "ZsXT": [ + -18.85547, + 10.64674, + 3.99547 + ], + "eH85": [ + -18.85547, + 10.64674, + -3.99547 + ], + "0KPs": [ + -20.15371, + 3.8492, + 7.99102 + ] + }, + "faces": { + "7EXV6aLH": { + "uv": { + "qHbv": [ + 0.75758, + 0.73757 + ], + "3bwp": [ + 0.78788, + 0.79005 + ], + "KSbw": [ + 0.84848, + 0.79005 + ] + }, + "vertices": [ + "qHbv", + "3bwp", + "KSbw" + ], + "texture": 0 + }, + "20iczZep": { + "uv": { + "ZsXT": [ + 0.84849, + 0.68508 + ], + "eH85": [ + 0.78788, + 0.68508 + ], + "qHbv": [ + 0.75758, + 0.73757 + ] + }, + "vertices": [ + "ZsXT", + "eH85", + "qHbv" + ], + "texture": 0 + }, + "JdkP7htC": { + "uv": { + "KSbw": [ + 0.84848, + 0.79005 + ], + "0KPs": [ + 0.87879, + 0.73757 + ], + "qHbv": [ + 0.75758, + 0.73757 + ] + }, + "vertices": [ + "KSbw", + "0KPs", + "qHbv" + ], + "texture": 0 + }, + "icWfShVQ": { + "uv": { + "0KPs": [ + 0.87879, + 0.73757 + ], + "ZsXT": [ + 0.84849, + 0.68508 + ], + "qHbv": [ + 0.75758, + 0.73757 + ] + }, + "vertices": [ + "0KPs", + "ZsXT", + "qHbv" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "bc33b5aa-6b23-ab8a-be66-fa3752a03424" + }, + { + "name": "Barrier10", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "juyq": [ + 1.37211, + 3.84915, + -21.63661 + ], + "VQ5C": [ + -2.82907, + -2.94872, + -21.63661 + ], + "hG3m": [ + -10.42882, + -2.94878, + -19.16726 + ], + "lWhR": [ + -9.62674, + 10.64672, + -16.69779 + ], + "Cnbv": [ + -2.02674, + 10.64672, + -19.16723 + ], + "Xj1y": [ + -13.82781, + 3.84922, + -16.69776 + ] + }, + "faces": { + "6pMwCLSn": { + "uv": { + "juyq": [ + 0.57576, + 0.73757 + ], + "VQ5C": [ + 0.60606, + 0.79005 + ], + "hG3m": [ + 0.66667, + 0.79005 + ] + }, + "vertices": [ + "juyq", + "VQ5C", + "hG3m" + ], + "texture": 0 + }, + "h6AOKRiu": { + "uv": { + "lWhR": [ + 0.66667, + 0.68508 + ], + "Cnbv": [ + 0.60606, + 0.68508 + ], + "juyq": [ + 0.57576, + 0.73757 + ] + }, + "vertices": [ + "lWhR", + "Cnbv", + "juyq" + ], + "texture": 0 + }, + "0FsYmgLW": { + "uv": { + "hG3m": [ + 0.66667, + 0.79005 + ], + "Xj1y": [ + 0.69697, + 0.73756 + ], + "juyq": [ + 0.57576, + 0.73757 + ] + }, + "vertices": [ + "hG3m", + "Xj1y", + "juyq" + ], + "texture": 0 + }, + "FpUb7Vkj": { + "uv": { + "Xj1y": [ + 0.69697, + 0.73756 + ], + "lWhR": [ + 0.66667, + 0.68508 + ], + "juyq": [ + 0.57576, + 0.73757 + ] + }, + "vertices": [ + "Xj1y", + "lWhR", + "juyq" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "1b3fb0cd-4643-e05d-049e-7948bd8339b9" + }, + { + "name": "Barrier11", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "wSjj": [ + -21.00181, + -3.84917, + 5.38106 + ], + "3yqo": [ + -17.60302, + -10.6467, + 7.85042 + ], + "GsYx": [ + -11.60749, + -3.8492, + 18.31093 + ], + "cRt1": [ + -19.70349, + 2.94875, + 9.37669 + ], + "aQOg": [ + -12.90576, + -10.6467, + 14.31549 + ], + "blCS": [ + -15.00648, + 2.94878, + 15.84141 + ] + }, + "faces": { + "wKK3oNBw": { + "uv": { + "wSjj": [ + 0.84848, + 0.79005 + ], + "3yqo": [ + 0.87879, + 0.84254 + ], + "GsYx": [ + 0.9697, + 0.79005 + ] + }, + "vertices": [ + "wSjj", + "3yqo", + "GsYx" + ], + "texture": 0 + }, + "d12lsUHC": { + "uv": { + "cRt1": [ + 0.87879, + 0.73757 + ], + "wSjj": [ + 0.84848, + 0.79005 + ], + "GsYx": [ + 0.9697, + 0.79005 + ] + }, + "vertices": [ + "cRt1", + "wSjj", + "GsYx" + ], + "texture": 0 + }, + "WYCOszu3": { + "uv": { + "3yqo": [ + 0.87879, + 0.84254 + ], + "aQOg": [ + 0.9394, + 0.84254 + ], + "GsYx": [ + 0.9697, + 0.79005 + ] + }, + "vertices": [ + "3yqo", + "aQOg", + "GsYx" + ], + "texture": 0 + }, + "eNYXZE7U": { + "uv": { + "GsYx": [ + 0.9697, + 0.79005 + ], + "blCS": [ + 0.93939, + 0.73756 + ], + "cRt1": [ + 0.87879, + 0.73757 + ] + }, + "vertices": [ + "GsYx", + "blCS", + "cRt1" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "df2ad74a-22a2-510c-8f34-9895b418553d" + }, + { + "name": "Barrier12", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "UdM8": [ + -11.60749, + -3.8492, + -18.31093 + ], + "Artn": [ + -12.90576, + -10.6467, + -14.31549 + ], + "6HSp": [ + -21.00181, + -3.84917, + -5.38106 + ], + "hj5A": [ + -15.00648, + 2.94878, + -15.84141 + ], + "pV62": [ + -17.60302, + -10.6467, + -7.85042 + ], + "8yW9": [ + -19.70349, + 2.94875, + -9.37669 + ] + }, + "faces": { + "IG3YNfqx": { + "uv": { + "UdM8": [ + 0.66667, + 0.79005 + ], + "Artn": [ + 0.69697, + 0.84254 + ], + "6HSp": [ + 0.78788, + 0.79005 + ] + }, + "vertices": [ + "UdM8", + "Artn", + "6HSp" + ], + "texture": 0 + }, + "4chGV6ts": { + "uv": { + "hj5A": [ + 0.69697, + 0.73756 + ], + "UdM8": [ + 0.66667, + 0.79005 + ], + "6HSp": [ + 0.78788, + 0.79005 + ] + }, + "vertices": [ + "hj5A", + "UdM8", + "6HSp" + ], + "texture": 0 + }, + "VGkTMtuQ": { + "uv": { + "Artn": [ + 0.69697, + 0.84254 + ], + "pV62": [ + 0.75758, + 0.84254 + ], + "6HSp": [ + 0.78788, + 0.79005 + ] + }, + "vertices": [ + "Artn", + "pV62", + "6HSp" + ], + "texture": 0 + }, + "v6PHqr8o": { + "uv": { + "6HSp": [ + 0.78788, + 0.79005 + ], + "8yW9": [ + 0.75758, + 0.73757 + ], + "hj5A": [ + 0.69697, + 0.73756 + ] + }, + "vertices": [ + "6HSp", + "8yW9", + "hj5A" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "70bc7923-bd95-97a0-b5e5-a6e107c8b9f3" + }, + { + "name": "Barrier13", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "IywS": [ + 13.82781, + -3.84922, + -16.69776 + ], + "WGv1": [ + 9.62674, + -10.64672, + -16.69779 + ], + "qW39": [ + -1.37211, + -3.84915, + -21.63661 + ], + "WBIQ": [ + 10.42882, + 2.94878, + -19.16726 + ], + "TcLv": [ + 2.02674, + -10.64672, + -19.16723 + ], + "PO4z": [ + 2.82907, + 2.94872, + -21.63661 + ] + }, + "faces": { + "NgYuFwUK": { + "uv": { + "IywS": [ + 0.48485, + 0.79005 + ], + "WGv1": [ + 0.51515, + 0.84254 + ], + "qW39": [ + 0.60606, + 0.79005 + ] + }, + "vertices": [ + "IywS", + "WGv1", + "qW39" + ], + "texture": 0 + }, + "Vk1ixfW9": { + "uv": { + "WBIQ": [ + 0.51515, + 0.73756 + ], + "IywS": [ + 0.48485, + 0.79005 + ], + "qW39": [ + 0.60606, + 0.79005 + ] + }, + "vertices": [ + "WBIQ", + "IywS", + "qW39" + ], + "texture": 0 + }, + "UDZDmr4v": { + "uv": { + "WGv1": [ + 0.51515, + 0.84254 + ], + "TcLv": [ + 0.57576, + 0.84254 + ], + "qW39": [ + 0.60606, + 0.79005 + ] + }, + "vertices": [ + "WGv1", + "TcLv", + "qW39" + ], + "texture": 0 + }, + "1fxm3Azo": { + "uv": { + "qW39": [ + 0.60606, + 0.79005 + ], + "PO4z": [ + 0.57576, + 0.73757 + ], + "WBIQ": [ + 0.51515, + 0.73756 + ] + }, + "vertices": [ + "qW39", + "PO4z", + "WBIQ" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "c7fee38e-2c47-a2f7-7226-1cab458ce078" + }, + { + "name": "Barrier14", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "3Wsb": [ + 21.00181, + 3.84917, + -5.38106 + ], + "92Ls": [ + 19.70349, + -2.94875, + -9.37669 + ], + "T5zd": [ + 15.00648, + -2.94878, + -15.84141 + ], + "pc3G": [ + 12.90576, + 10.6467, + -14.31549 + ], + "yTH1": [ + 17.60302, + 10.6467, + -7.85042 + ], + "KUh7": [ + 11.60749, + 3.8492, + -18.31093 + ] + }, + "faces": { + "z5iseIFC": { + "uv": { + "3Wsb": [ + 0.39394, + 0.73757 + ], + "92Ls": [ + 0.42424, + 0.79005 + ], + "T5zd": [ + 0.48485, + 0.79005 + ] + }, + "vertices": [ + "3Wsb", + "92Ls", + "T5zd" + ], + "texture": 0 + }, + "iUaryT49": { + "uv": { + "pc3G": [ + 0.48485, + 0.68508 + ], + "yTH1": [ + 0.42424, + 0.68508 + ], + "3Wsb": [ + 0.39394, + 0.73757 + ] + }, + "vertices": [ + "pc3G", + "yTH1", + "3Wsb" + ], + "texture": 0 + }, + "0I4Uy5Qt": { + "uv": { + "T5zd": [ + 0.48485, + 0.79005 + ], + "KUh7": [ + 0.51515, + 0.73756 + ], + "3Wsb": [ + 0.39394, + 0.73757 + ] + }, + "vertices": [ + "T5zd", + "KUh7", + "3Wsb" + ], + "texture": 0 + }, + "mQ5kSI6c": { + "uv": { + "KUh7": [ + 0.51515, + 0.73756 + ], + "pc3G": [ + 0.48485, + 0.68508 + ], + "3Wsb": [ + 0.39394, + 0.73757 + ] + }, + "vertices": [ + "KUh7", + "pc3G", + "3Wsb" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "45b3660e-3b5c-a4ef-ca94-b53cb44d79ae" + }, + { + "name": "Barrier15", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "WVDV": [ + 3.2792, + 20.50605, + 7.32118 + ], + "QGox": [ + 5.37976, + 16.30478, + 13.78618 + ], + "0vPb": [ + 12.1773, + 12.10366, + 13.78622 + ], + "LiZb": [ + 7.97619, + 20.50608, + 0.85638 + ], + "lVmK": [ + 14.77408, + 16.30475, + 0.85638 + ], + "fJUn": [ + 16.87454, + 12.10366, + 7.32115 + ] + }, + "faces": { + "rKUZxlFB": { + "uv": { + "WVDV": [ + 0.24243, + 0.5801 + ], + "QGox": [ + 0.21212, + 0.63259 + ], + "0vPb": [ + 0.24242, + 0.68508 + ] + }, + "vertices": [ + "WVDV", + "QGox", + "0vPb" + ], + "texture": 0 + }, + "krK3LH0j": { + "uv": { + "LiZb": [ + 0.30303, + 0.5801 + ], + "WVDV": [ + 0.24243, + 0.5801 + ], + "0vPb": [ + 0.24242, + 0.68508 + ] + }, + "vertices": [ + "LiZb", + "WVDV", + "0vPb" + ], + "texture": 0 + }, + "z4iC3FpH": { + "uv": { + "lVmK": [ + 0.33334, + 0.63259 + ], + "LiZb": [ + 0.30303, + 0.5801 + ], + "0vPb": [ + 0.24242, + 0.68508 + ] + }, + "vertices": [ + "lVmK", + "LiZb", + "0vPb" + ], + "texture": 0 + }, + "17HHqHr8": { + "uv": { + "0vPb": [ + 0.24242, + 0.68508 + ], + "fJUn": [ + 0.30303, + 0.68508 + ], + "lVmK": [ + 0.33334, + 0.63259 + ] + }, + "vertices": [ + "0vPb", + "fJUn", + "lVmK" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "0eb84df0-6dcf-d820-ca27-bc7705c5c5d2" + }, + { + "name": "Barrier16", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "64Fn": [ + -11.44901, + 16.30478, + 9.37664 + ], + "F8oA": [ + -9.34848, + 12.10366, + 15.84144 + ], + "tkDL": [ + 3.75085, + 16.30478, + 14.31544 + ], + "urE0": [ + -5.94954, + 20.50603, + 5.38107 + ], + "CBMq": [ + -1.74848, + 12.10366, + 18.31086 + ], + "xZmX": [ + 1.65027, + 20.50603, + 7.85045 + ] + }, + "faces": { + "2TpR2vyn": { + "uv": { + "64Fn": [ + 0.0303, + 0.63259 + ], + "F8oA": [ + 0.06061, + 0.68508 + ], + "tkDL": [ + 0.15152, + 0.63259 + ] + }, + "vertices": [ + "64Fn", + "F8oA", + "tkDL" + ], + "texture": 0 + }, + "qNYd432g": { + "uv": { + "urE0": [ + 0.06061, + 0.5801 + ], + "64Fn": [ + 0.0303, + 0.63259 + ], + "tkDL": [ + 0.15152, + 0.63259 + ] + }, + "vertices": [ + "urE0", + "64Fn", + "tkDL" + ], + "texture": 0 + }, + "vngzZZyv": { + "uv": { + "F8oA": [ + 0.06061, + 0.68508 + ], + "CBMq": [ + 0.12121, + 0.68508 + ], + "tkDL": [ + 0.15152, + 0.63259 + ] + }, + "vertices": [ + "F8oA", + "CBMq", + "tkDL" + ], + "texture": 0 + }, + "LE6Kp0Mj": { + "uv": { + "tkDL": [ + 0.15152, + 0.63259 + ], + "xZmX": [ + 0.12121, + 0.5801 + ], + "urE0": [ + 0.06061, + 0.5801 + ] + }, + "vertices": [ + "tkDL", + "xZmX", + "urE0" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "d1cb7706-eef3-1779-2707-cdfe2d72b62e" + }, + { + "name": "Barrier17", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "5HFB": [ + -12.45573, + 16.30478, + -7.99099 + ], + "JDQi": [ + -17.95504, + 12.10366, + -3.99547 + ], + "m2BW": [ + -12.45573, + 16.30478, + 7.99099 + ], + "DepI": [ + -6.95626, + 20.50605, + -3.99542 + ], + "P5bi": [ + -17.95504, + 12.10366, + 3.99547 + ], + "2shv": [ + -6.95626, + 20.50605, + 3.99542 + ] + }, + "faces": { + "0f91mzoQ": { + "uv": { + "5HFB": [ + 0.75758, + 0.63259 + ], + "JDQi": [ + 0.78788, + 0.68508 + ], + "m2BW": [ + 0.87879, + 0.63259 + ] + }, + "vertices": [ + "5HFB", + "JDQi", + "m2BW" + ], + "texture": 0 + }, + "qoogvexQ": { + "uv": { + "DepI": [ + 0.78788, + 0.5801 + ], + "5HFB": [ + 0.75758, + 0.63259 + ], + "m2BW": [ + 0.87879, + 0.63259 + ] + }, + "vertices": [ + "DepI", + "5HFB", + "m2BW" + ], + "texture": 0 + }, + "7ma6IzQW": { + "uv": { + "JDQi": [ + 0.78788, + 0.68508 + ], + "P5bi": [ + 0.84849, + 0.68508 + ], + "m2BW": [ + 0.87879, + 0.63259 + ] + }, + "vertices": [ + "JDQi", + "P5bi", + "m2BW" + ], + "texture": 0 + }, + "L5znhKgV": { + "uv": { + "m2BW": [ + 0.87879, + 0.63259 + ], + "2shv": [ + 0.84849, + 0.5801 + ], + "DepI": [ + 0.78788, + 0.5801 + ] + }, + "vertices": [ + "m2BW", + "2shv", + "DepI" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "0d00fdac-233d-4adf-53c6-a02afd385a9b" + }, + { + "name": "Barrier18", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "223J": [ + 3.75085, + 16.30478, + -14.31544 + ], + "pW0y": [ + -1.74848, + 12.10366, + -18.31086 + ], + "qgCV": [ + -11.44901, + 16.30478, + -9.37664 + ], + "FrYg": [ + 1.65027, + 20.50603, + -7.85045 + ], + "QjdH": [ + -9.34848, + 12.10366, + -15.84144 + ], + "qMuF": [ + -5.94954, + 20.50605, + -5.38107 + ] + }, + "faces": { + "8ibtPIMP": { + "uv": { + "223J": [ + 0.57576, + 0.63259 + ], + "pW0y": [ + 0.60606, + 0.68508 + ], + "qgCV": [ + 0.69697, + 0.63259 + ] + }, + "vertices": [ + "223J", + "pW0y", + "qgCV" + ], + "texture": 0 + }, + "M0luOpy1": { + "uv": { + "FrYg": [ + 0.60606, + 0.5801 + ], + "223J": [ + 0.57576, + 0.63259 + ], + "qgCV": [ + 0.69697, + 0.63259 + ] + }, + "vertices": [ + "FrYg", + "223J", + "qgCV" + ], + "texture": 0 + }, + "IVfPhmRG": { + "uv": { + "pW0y": [ + 0.60606, + 0.68508 + ], + "QjdH": [ + 0.66667, + 0.68508 + ], + "qgCV": [ + 0.69697, + 0.63259 + ] + }, + "vertices": [ + "pW0y", + "QjdH", + "qgCV" + ], + "texture": 0 + }, + "hkSpGwnR": { + "uv": { + "qgCV": [ + 0.69697, + 0.63259 + ], + "qMuF": [ + 0.66667, + 0.5801 + ], + "FrYg": [ + 0.60606, + 0.5801 + ] + }, + "vertices": [ + "qgCV", + "qMuF", + "FrYg" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "fcd3d424-d6fb-d18d-4e2d-1930b4c0b8e6" + }, + { + "name": "Barrier19", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "lIrd": [ + 7.97619, + 20.50608, + -0.85638 + ], + "t2bZ": [ + 14.77408, + 16.30475, + -0.85638 + ], + "XKGS": [ + 16.87454, + 12.10366, + -7.32115 + ], + "TT9g": [ + 5.37976, + 16.30478, + -13.78618 + ], + "zUlh": [ + 3.2792, + 20.50605, + -7.32118 + ], + "csGR": [ + 12.1773, + 12.10366, + -13.78622 + ] + }, + "faces": { + "xaKteESB": { + "uv": { + "lIrd": [ + 0.42424, + 0.5801 + ], + "t2bZ": [ + 0.39394, + 0.63259 + ], + "XKGS": [ + 0.42424, + 0.68508 + ] + }, + "vertices": [ + "lIrd", + "t2bZ", + "XKGS" + ], + "texture": 0 + }, + "8ngeSaOz": { + "uv": { + "TT9g": [ + 0.51515, + 0.63259 + ], + "zUlh": [ + 0.48485, + 0.5801 + ], + "lIrd": [ + 0.42424, + 0.5801 + ] + }, + "vertices": [ + "TT9g", + "zUlh", + "lIrd" + ], + "texture": 0 + }, + "OhBaOPiD": { + "uv": { + "XKGS": [ + 0.42424, + 0.68508 + ], + "csGR": [ + 0.48485, + 0.68508 + ], + "lIrd": [ + 0.42424, + 0.5801 + ] + }, + "vertices": [ + "XKGS", + "csGR", + "lIrd" + ], + "texture": 0 + }, + "J7r3VruA": { + "uv": { + "csGR": [ + 0.48485, + 0.68508 + ], + "TT9g": [ + 0.51515, + 0.63259 + ], + "lIrd": [ + 0.42424, + 0.5801 + ] + }, + "vertices": [ + "csGR", + "TT9g", + "lIrd" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "77755fa8-c601-10d3-3837-b3468bd8dc96" + }, + { + "name": "Barrier20", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "IZcu": [ + -2.1005, + -20.99888, + 6.4648 + ], + "Plkb": [ + -6.7975, + -20.99891, + 0 + ], + "Iz64": [ + -2.1005, + -20.99888, + -6.4648 + ], + "E3i2": [ + 5.49931, + -20.99888, + 3.99542 + ], + "PdRm": [ + 5.49931, + -20.99888, + -3.99542 + ] + }, + "faces": { + "ja8upiKN": { + "uv": { + "IZcu": [ + 0.15152, + 0.94751 + ], + "Plkb": [ + 0.87879, + 0.94751 + ], + "Iz64": [ + 0.69697, + 0.94751 + ] + }, + "vertices": [ + "IZcu", + "Plkb", + "Iz64" + ], + "texture": 0 + }, + "g7zBloQn": { + "uv": { + "Iz64": [ + 0.69697, + 0.94751 + ], + "E3i2": [ + 0.33333, + 0.94751 + ], + "IZcu": [ + 0.15152, + 0.94751 + ] + }, + "vertices": [ + "Iz64", + "E3i2", + "IZcu" + ], + "texture": 0 + }, + "iaSkji52": { + "uv": { + "Iz64": [ + 0.69697, + 0.94751 + ], + "PdRm": [ + 0.51515, + 0.94751 + ], + "E3i2": [ + 0.33333, + 0.94751 + ] + }, + "vertices": [ + "Iz64", + "PdRm", + "E3i2" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "98c517d9-af86-f1f7-15e7-706cdc5a7225" + }, + { + "name": "Barrier21", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "eNc6": [ + 18.23474, + -11.26981, + 5.25723 + ], + "oXU3": [ + 19.53298, + -4.47227, + 9.25277 + ], + "v45W": [ + 10.63491, + -11.26981, + 15.71755 + ], + "qesY": [ + 12.73544, + -15.47093, + 9.25274 + ], + "fClk": [ + 14.83598, + -4.4723, + 15.7175 + ] + }, + "faces": { + "czOWc0m9": { + "uv": { + "eNc6": [ + 0.33333, + 0.84254 + ], + "oXU3": [ + 0.30303, + 0.79005 + ], + "v45W": [ + 0.21212, + 0.84254 + ] + }, + "vertices": [ + "eNc6", + "oXU3", + "v45W" + ], + "texture": 0 + }, + "PcDsG9ps": { + "uv": { + "qesY": [ + 0.24243, + 0.89503 + ], + "eNc6": [ + 0.33333, + 0.84254 + ], + "v45W": [ + 0.21212, + 0.84254 + ] + }, + "vertices": [ + "qesY", + "eNc6", + "v45W" + ], + "texture": 0 + }, + "2HtM1VXx": { + "uv": { + "oXU3": [ + 0.30303, + 0.79005 + ], + "fClk": [ + 0.24243, + 0.79005 + ], + "v45W": [ + 0.21212, + 0.84254 + ] + }, + "vertices": [ + "oXU3", + "fClk", + "v45W" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "acaf2d7b-dada-e2a1-7217-364a38996fa9" + }, + { + "name": "Barrier22", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "4tBa": [ + -4.8644, + -15.47093, + 14.97136 + ], + "FmtI": [ + 0.63491, + -11.26981, + 18.96678 + ], + "KdKL": [ + -10.36366, + -4.4723, + 18.96683 + ], + "JBqo": [ + -11.66194, + -11.26981, + 14.97141 + ], + "Ogq6": [ + -2.76392, + -4.47224, + 21.43616 + ] + }, + "faces": { + "UBsmS2b1": { + "uv": { + "4tBa": [ + 0.9697, + 0.89503 + ], + "FmtI": [ + 0.15152, + 0.84254 + ], + "KdKL": [ + 0.06061, + 0.79005 + ] + }, + "vertices": [ + "4tBa", + "FmtI", + "KdKL" + ], + "texture": 0 + }, + "cFS39XOs": { + "uv": { + "JBqo": [ + 0.9394, + 0.84254 + ], + "4tBa": [ + 0.9697, + 0.89503 + ], + "KdKL": [ + 0.06061, + 0.79005 + ] + }, + "vertices": [ + "JBqo", + "4tBa", + "KdKL" + ], + "texture": 0 + }, + "KBzO3gqa": { + "uv": { + "FmtI": [ + 0.15152, + 0.84254 + ], + "Ogq6": [ + 0.12121, + 0.79005 + ], + "KdKL": [ + 0.06061, + 0.79005 + ] + }, + "vertices": [ + "FmtI", + "Ogq6", + "KdKL" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "c8d44095-5fc1-3347-524f-7445a11e5732" + }, + { + "name": "Barrier23", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "muYb": [ + -17.84248, + -11.26981, + -6.46477 + ], + "fRkY": [ + -15.74202, + -15.4709, + 0 + ], + "6q3M": [ + -17.84248, + -11.26981, + 6.46477 + ], + "D2fl": [ + -21.24126, + -4.47227, + -3.99539 + ], + "ypKx": [ + -21.24126, + -4.47227, + 3.99539 + ] + }, + "faces": { + "wkWcI2Y3": { + "uv": { + "muYb": [ + 0.75758, + 0.84254 + ], + "fRkY": [ + 0.78788, + 0.89503 + ], + "6q3M": [ + 0.87879, + 0.84254 + ] + }, + "vertices": [ + "muYb", + "fRkY", + "6q3M" + ], + "texture": 0 + }, + "oVsURH9K": { + "uv": { + "6q3M": [ + 0.87879, + 0.84254 + ], + "D2fl": [ + 0.78788, + 0.79005 + ], + "muYb": [ + 0.75758, + 0.84254 + ] + }, + "vertices": [ + "6q3M", + "D2fl", + "muYb" + ], + "texture": 0 + }, + "CdYPQXtk": { + "uv": { + "6q3M": [ + 0.87879, + 0.84254 + ], + "ypKx": [ + 0.84848, + 0.79005 + ], + "D2fl": [ + 0.78788, + 0.79005 + ] + }, + "vertices": [ + "6q3M", + "ypKx", + "D2fl" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "4b82495b-f06e-a90c-ed3c-7614ecda8d9c" + }, + { + "name": "Barrier24", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "NE11": [ + 0.63491, + -11.26981, + -18.96678 + ], + "YxTY": [ + -4.8644, + -15.47093, + -14.97136 + ], + "aa9J": [ + -11.66194, + -11.26981, + -14.97141 + ], + "8Dae": [ + -10.36366, + -4.4723, + -18.96683 + ], + "YvlI": [ + -2.76392, + -4.47224, + -21.43616 + ] + }, + "faces": { + "GPhPTshD": { + "uv": { + "NE11": [ + 0.57576, + 0.84254 + ], + "YxTY": [ + 0.60606, + 0.89503 + ], + "aa9J": [ + 0.69697, + 0.84254 + ] + }, + "vertices": [ + "NE11", + "YxTY", + "aa9J" + ], + "texture": 0 + }, + "SejV0AIJ": { + "uv": { + "8Dae": [ + 0.66667, + 0.79005 + ], + "YvlI": [ + 0.60606, + 0.79005 + ], + "NE11": [ + 0.57576, + 0.84254 + ] + }, + "vertices": [ + "8Dae", + "YvlI", + "NE11" + ], + "texture": 0 + }, + "o3v4kNYp": { + "uv": { + "aa9J": [ + 0.69697, + 0.84254 + ], + "8Dae": [ + 0.66667, + 0.79005 + ], + "NE11": [ + 0.57576, + 0.84254 + ] + }, + "vertices": [ + "aa9J", + "8Dae", + "NE11" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "b2ac7b55-8b42-54b1-db4e-153957427815" + }, + { + "name": "Barrier25", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "Vp7c": [ + 18.23474, + -11.26981, + -5.25723 + ], + "85VE": [ + 12.73544, + -15.47093, + -9.25274 + ], + "Lnxh": [ + 14.83598, + -4.4723, + -15.7175 + ], + "EUVE": [ + 19.53298, + -4.47227, + -9.25277 + ], + "tZ8r": [ + 10.63491, + -11.26981, + -15.71755 + ] + }, + "faces": { + "hRmwvBcn": { + "uv": { + "Vp7c": [ + 0.39394, + 0.84254 + ], + "85VE": [ + 0.42424, + 0.89503 + ], + "Lnxh": [ + 0.48485, + 0.79005 + ] + }, + "vertices": [ + "Vp7c", + "85VE", + "Lnxh" + ], + "texture": 0 + }, + "IMf3ldec": { + "uv": { + "EUVE": [ + 0.42424, + 0.79005 + ], + "Vp7c": [ + 0.39394, + 0.84254 + ], + "Lnxh": [ + 0.48485, + 0.79005 + ] + }, + "vertices": [ + "EUVE", + "Vp7c", + "Lnxh" + ], + "texture": 0 + }, + "203M88cT": { + "uv": { + "85VE": [ + 0.42424, + 0.89503 + ], + "tZ8r": [ + 0.51515, + 0.84254 + ], + "Lnxh": [ + 0.48485, + 0.79005 + ] + }, + "vertices": [ + "85VE", + "tZ8r", + "Lnxh" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "595fb404-7e48-c586-e605-c71607e492cd" + }, + { + "name": "Barrier26", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "UrRE": [ + -0.63491, + 11.26981, + 18.96678 + ], + "HQLB": [ + 2.76392, + 4.47224, + 21.43616 + ], + "f3hl": [ + 10.36366, + 4.4723, + 18.96683 + ], + "qV6s": [ + 4.8644, + 15.47093, + 14.97136 + ], + "Mlw8": [ + 11.66194, + 11.26981, + 14.97141 + ] + }, + "faces": { + "3mZNNq28": { + "uv": { + "UrRE": [ + 0.12121, + 0.68508 + ], + "HQLB": [ + 0.15152, + 0.73757 + ], + "f3hl": [ + 0.21212, + 0.73756 + ] + }, + "vertices": [ + "UrRE", + "HQLB", + "f3hl" + ], + "texture": 0 + }, + "drL3vwpz": { + "uv": { + "f3hl": [ + 0.21212, + 0.73756 + ], + "qV6s": [ + 0.21212, + 0.63259 + ], + "UrRE": [ + 0.12121, + 0.68508 + ] + }, + "vertices": [ + "f3hl", + "qV6s", + "UrRE" + ], + "texture": 0 + }, + "6OkNCR9T": { + "uv": { + "f3hl": [ + 0.21212, + 0.73756 + ], + "Mlw8": [ + 0.24242, + 0.68508 + ], + "qV6s": [ + 0.21212, + 0.63259 + ] + }, + "vertices": [ + "f3hl", + "Mlw8", + "qV6s" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "d65c0226-7d52-b075-5175-d36a91241998" + }, + { + "name": "Barrier27", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "XCha": [ + -18.23474, + 11.26981, + 5.25723 + ], + "uMQ6": [ + -19.53298, + 4.47227, + 9.25277 + ], + "ozy5": [ + -14.83598, + 4.4723, + 15.7175 + ], + "z59j": [ + -12.73544, + 15.47093, + 9.25274 + ], + "TWQ0": [ + -10.63491, + 11.26981, + 15.71755 + ] + }, + "faces": { + "s82K64dY": { + "uv": { + "XCha": [ + 0.84849, + 0.68508 + ], + "uMQ6": [ + 0.87879, + 0.73757 + ], + "ozy5": [ + 0.93939, + 0.73756 + ] + }, + "vertices": [ + "XCha", + "uMQ6", + "ozy5" + ], + "texture": 0 + }, + "VyOSfUkW": { + "uv": { + "ozy5": [ + 0.93939, + 0.73756 + ], + "z59j": [ + 0.0303, + 0.63259 + ], + "XCha": [ + 0.84849, + 0.68508 + ] + }, + "vertices": [ + "ozy5", + "z59j", + "XCha" + ], + "texture": 0 + }, + "foS0oRcv": { + "uv": { + "ozy5": [ + 0.93939, + 0.73756 + ], + "TWQ0": [ + 0.06061, + 0.68508 + ], + "z59j": [ + 0.0303, + 0.63259 + ] + }, + "vertices": [ + "ozy5", + "TWQ0", + "z59j" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "95d92578-f05d-6718-6c5d-19a7ae5d2198" + }, + { + "name": "Barrier28", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "fRsf": [ + -10.63491, + 11.26981, + -15.71755 + ], + "awoe": [ + -14.83598, + 4.4723, + -15.7175 + ], + "nOCi": [ + -19.53298, + 4.47227, + -9.25277 + ], + "98zR": [ + -18.23474, + 11.26981, + -5.25723 + ], + "YFOh": [ + -12.73544, + 15.47093, + -9.25274 + ] + }, + "faces": { + "EVUdOq2A": { + "uv": { + "fRsf": [ + 0.66667, + 0.68508 + ], + "awoe": [ + 0.69697, + 0.73756 + ], + "nOCi": [ + 0.75758, + 0.73757 + ] + }, + "vertices": [ + "fRsf", + "awoe", + "nOCi" + ], + "texture": 0 + }, + "qNc0OG7W": { + "uv": { + "98zR": [ + 0.78788, + 0.68508 + ], + "YFOh": [ + 0.75758, + 0.63259 + ], + "fRsf": [ + 0.66667, + 0.68508 + ] + }, + "vertices": [ + "98zR", + "YFOh", + "fRsf" + ], + "texture": 0 + }, + "DY4R9H9H": { + "uv": { + "nOCi": [ + 0.75758, + 0.73757 + ], + "98zR": [ + 0.78788, + 0.68508 + ], + "fRsf": [ + 0.66667, + 0.68508 + ] + }, + "vertices": [ + "nOCi", + "98zR", + "fRsf" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "683c9e1e-db34-3c25-fad5-5077a386f2a2" + }, + { + "name": "Barrier29", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "tAxH": [ + 10.36366, + 4.4723, + -18.96683 + ], + "fsab": [ + 2.76392, + 4.47224, + -21.43616 + ], + "7nNh": [ + 4.8644, + 15.47093, + -14.97136 + ], + "3rOe": [ + 11.66194, + 11.26981, + -14.97139 + ], + "8Zwk": [ + -0.63491, + 11.26981, + -18.96678 + ] + }, + "faces": { + "6pjjUSla": { + "uv": { + "tAxH": [ + 0.51515, + 0.73756 + ], + "fsab": [ + 0.57576, + 0.73757 + ], + "7nNh": [ + 0.57576, + 0.63259 + ] + }, + "vertices": [ + "tAxH", + "fsab", + "7nNh" + ], + "texture": 0 + }, + "D31ETL9A": { + "uv": { + "3rOe": [ + 0.48485, + 0.68508 + ], + "tAxH": [ + 0.51515, + 0.73756 + ], + "7nNh": [ + 0.57576, + 0.63259 + ] + }, + "vertices": [ + "3rOe", + "tAxH", + "7nNh" + ], + "texture": 0 + }, + "hLGJEHR4": { + "uv": { + "fsab": [ + 0.57576, + 0.73757 + ], + "8Zwk": [ + 0.60606, + 0.68508 + ], + "7nNh": [ + 0.57576, + 0.63259 + ] + }, + "vertices": [ + "fsab", + "8Zwk", + "7nNh" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "323bd6cd-e7fb-1861-d7e5-a99f1c459480" + }, + { + "name": "Barrier30", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "E9s0": [ + 17.84248, + 11.26981, + 6.46477 + ], + "cSOT": [ + 21.24126, + 4.47227, + 3.99539 + ], + "TLiD": [ + 21.24126, + 4.47227, + -3.99539 + ], + "DBUq": [ + 17.84248, + 11.26981, + -6.46477 + ], + "enpU": [ + 15.74202, + 15.4709, + 0 + ] + }, + "faces": { + "xNDk2hTp": { + "uv": { + "E9s0": [ + 0.30303, + 0.68508 + ], + "cSOT": [ + 0.33334, + 0.73757 + ], + "TLiD": [ + 0.39394, + 0.73757 + ] + }, + "vertices": [ + "E9s0", + "cSOT", + "TLiD" + ], + "texture": 0 + }, + "rcve7zmH": { + "uv": { + "DBUq": [ + 0.42424, + 0.68508 + ], + "enpU": [ + 0.39394, + 0.63259 + ], + "E9s0": [ + 0.30303, + 0.68508 + ] + }, + "vertices": [ + "DBUq", + "enpU", + "E9s0" + ], + "texture": 0 + }, + "1iW0uVoe": { + "uv": { + "TLiD": [ + 0.39394, + 0.73757 + ], + "DBUq": [ + 0.42424, + 0.68508 + ], + "E9s0": [ + 0.30303, + 0.68508 + ] + }, + "vertices": [ + "TLiD", + "DBUq", + "E9s0" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "2cf404c2-242e-63dc-bb97-a00238d7b0c8" + }, + { + "name": "Barrier31", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "HHVw": [ + 2.1005, + 20.99888, + 6.4648 + ], + "jo7T": [ + 6.7975, + 20.99891, + 0 + ], + "HKP0": [ + -5.49931, + 20.99888, + -3.99542 + ], + "SfNH": [ + -5.49931, + 20.99888, + 3.99542 + ], + "YIUB": [ + 2.1005, + 20.99888, + -6.4648 + ] + }, + "faces": { + "9RPwbRVR": { + "uv": { + "HHVw": [ + 0.12121, + 0.5801 + ], + "jo7T": [ + 0.30303, + 0.5801 + ], + "HKP0": [ + 0.66667, + 0.5801 + ] + }, + "vertices": [ + "HHVw", + "jo7T", + "HKP0" + ], + "texture": 0 + }, + "Q14gqgUR": { + "uv": { + "SfNH": [ + 0.84849, + 0.5801 + ], + "HHVw": [ + 0.12121, + 0.5801 + ], + "HKP0": [ + 0.66667, + 0.5801 + ] + }, + "vertices": [ + "SfNH", + "HHVw", + "HKP0" + ], + "texture": 0 + }, + "mjEqMUQV": { + "uv": { + "jo7T": [ + 0.30303, + 0.5801 + ], + "YIUB": [ + 0.48485, + 0.5801 + ], + "HKP0": [ + 0.66667, + 0.5801 + ] + }, + "vertices": [ + "jo7T", + "YIUB", + "HKP0" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "1943b182-ca0d-5c04-2b60-b8ddd491658a" + }, + { + "name": "Barrier32", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "E26f": [ + -7.97619, + -20.50608, + 0.85638 + ], + "vKiz": [ + -3.2792, + -20.50605, + 7.32118 + ], + "ZTJ5": [ + -12.1773, + -12.10366, + 13.78622 + ], + "dm81": [ + -14.77408, + -16.30475, + 0.85638 + ], + "5qLS": [ + -5.37976, + -16.30478, + 13.78618 + ], + "fytA": [ + -16.87454, + -12.10366, + 7.32115 + ] + }, + "faces": { + "mv6HvYXc": { + "uv": { + "E26f": [ + 0.87879, + 0.94751 + ], + "vKiz": [ + 0.93939, + 0.94751 + ], + "ZTJ5": [ + 0.9394, + 0.84254 + ] + }, + "vertices": [ + "E26f", + "vKiz", + "ZTJ5" + ], + "texture": 0 + }, + "PdbIjNJE": { + "uv": { + "dm81": [ + 0.84848, + 0.89503 + ], + "E26f": [ + 0.87879, + 0.94751 + ], + "ZTJ5": [ + 0.9394, + 0.84254 + ] + }, + "vertices": [ + "dm81", + "E26f", + "ZTJ5" + ], + "texture": 0 + }, + "vax1ynRt": { + "uv": { + "vKiz": [ + 0.93939, + 0.94751 + ], + "5qLS": [ + 0.9697, + 0.89503 + ], + "ZTJ5": [ + 0.9394, + 0.84254 + ] + }, + "vertices": [ + "vKiz", + "5qLS", + "ZTJ5" + ], + "texture": 0 + }, + "Kgsk2Owa": { + "uv": { + "ZTJ5": [ + 0.9394, + 0.84254 + ], + "fytA": [ + 0.87879, + 0.84254 + ], + "dm81": [ + 0.84848, + 0.89503 + ] + }, + "vertices": [ + "ZTJ5", + "fytA", + "dm81" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "ef1b976b-af20-7115-2e50-08dcabfcc111" + } + ], + "outliner": [ + { + "name": "Barrier", + "origin": [ + 0, + 16, + 0 + ], + "color": 0, + "uuid": "def79492-697f-2380-47e9-18813f1756d0", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1ffcfe1b-dd45-30ab-3d50-3eb527527f64", + "28326e39-14dc-4a63-19b6-00c93a838274", + "89ca0220-5946-6fb4-0562-9cc2170a16fd", + "e2fcefb7-9c37-6ff5-68e4-8627896caea9", + "0892b9ea-ea94-207c-1f9a-2f8628aac120", + "b353e066-b7eb-5d49-03d0-6bffec0918a0", + "cf598a49-f1eb-47bc-8232-487d7ce031d1", + "8cda9be7-5fa4-c07d-0003-2f7bc1954175", + "bc33b5aa-6b23-ab8a-be66-fa3752a03424", + "1b3fb0cd-4643-e05d-049e-7948bd8339b9", + "df2ad74a-22a2-510c-8f34-9895b418553d", + "70bc7923-bd95-97a0-b5e5-a6e107c8b9f3", + "c7fee38e-2c47-a2f7-7226-1cab458ce078", + "45b3660e-3b5c-a4ef-ca94-b53cb44d79ae", + "0eb84df0-6dcf-d820-ca27-bc7705c5c5d2", + "d1cb7706-eef3-1779-2707-cdfe2d72b62e", + "0d00fdac-233d-4adf-53c6-a02afd385a9b", + "fcd3d424-d6fb-d18d-4e2d-1930b4c0b8e6", + "77755fa8-c601-10d3-3837-b3468bd8dc96", + "98c517d9-af86-f1f7-15e7-706cdc5a7225", + "acaf2d7b-dada-e2a1-7217-364a38996fa9", + "c8d44095-5fc1-3347-524f-7445a11e5732", + "4b82495b-f06e-a90c-ed3c-7614ecda8d9c", + "b2ac7b55-8b42-54b1-db4e-153957427815", + "595fb404-7e48-c586-e605-c71607e492cd", + "d65c0226-7d52-b075-5175-d36a91241998", + "95d92578-f05d-6718-6c5d-19a7ae5d2198", + "683c9e1e-db34-3c25-fad5-5077a386f2a2", + "323bd6cd-e7fb-1861-d7e5-a99f1c459480", + "2cf404c2-242e-63dc-bb97-a00238d7b0c8", + "1943b182-ca0d-5c04-2b60-b8ddd491658a", + "ef1b976b-af20-7115-2e50-08dcabfcc111" + ] + } + ], + "textures": [ + { + "path": "", + "name": "barrier.png", + "folder": "", + "namespace": "", + "id": "0", + "particle": false, + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "mode": "bitmap", + "saved": true, + "uuid": "fed26a56-fb52-7c1b-1747-2bd753a9a9ab", + "relative_path": "../../textures/barrier.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAA1JREFUGFdjOP///38ACTsDzcqK7YcAAAAASUVORK5CYII=" + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Hoshino/models/bubble.bbmodel b/config/yosbr/config/figura/avatars/Hoshino/models/bubble.bbmodel new file mode 100644 index 0000000..443a76b --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/models/bubble.bbmodel @@ -0,0 +1,902 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "bubble", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 16, + "height": 16 + }, + "elements": [ + { + "name": "Bubble", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + -4, + 0 + ], + "to": [ + 5, + 4, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ee16cd89-5e16-d1c0-bdb4-bec63d4d29dc" + }, + { + "name": "Emoji", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + -2.5, + -0.05 + ], + "to": [ + 3.5, + 2.5, + -0.05 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e1f1401a-3276-4ed6-1633-16078de30336" + }, + { + "name": "Bullet1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1.9375, + -1.875, + -0.1 + ], + "to": [ + 3.1875, + 1.875, + -0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "015d120f-7c4c-05e7-86b8-e442d2ca89ce" + }, + { + "name": "Bullet2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.375, + -1.875, + -0.1 + ], + "to": [ + 1.625, + 1.875, + -0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "71c04be5-6d32-4cee-9e7d-b8d98db60f7d" + }, + { + "name": "Bullet3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.1875, + -1.875, + -0.1 + ], + "to": [ + 0.0625, + 1.875, + -0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "c13ac616-5ee7-3b04-83ed-f9490507b4f8" + }, + { + "name": "Dot1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2.25, + -0.625, + -0.1 + ], + "to": [ + 3.5, + 0.625, + -0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f336f75d-4273-d986-7b79-5028befe8efc" + }, + { + "name": "Dot2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.375, + -0.625, + -0.1 + ], + "to": [ + 1.625, + 0.625, + -0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9d1c3e18-15c3-3c07-f04a-d705ceec1fed" + }, + { + "name": "Dot3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + -0.625, + -0.1 + ], + "to": [ + -0.25, + 0.625, + -0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "23a7b4da-5022-66ac-bfac-23544ab88f69" + } + ], + "outliner": [ + { + "name": "Camera", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "1ad8e11f-891c-06f0-491f-55ff468a6e74", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "AvatarBubble", + "origin": [ + -3, + -4, + 0 + ], + "color": 0, + "uuid": "ce33d433-402d-decd-b93f-250225de88c7", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ee16cd89-5e16-d1c0-bdb4-bec63d4d29dc", + "e1f1401a-3276-4ed6-1633-16078de30336", + { + "name": "Bullets", + "origin": [ + 1, + 0, + 0 + ], + "color": 0, + "uuid": "2a47b3c1-ef22-e939-70d9-e17ea10d79d9", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "015d120f-7c4c-05e7-86b8-e442d2ca89ce", + "71c04be5-6d32-4cee-9e7d-b8d98db60f7d", + "c13ac616-5ee7-3b04-83ed-f9490507b4f8" + ] + }, + { + "name": "Dots", + "origin": [ + -3, + -4, + 0 + ], + "color": 0, + "uuid": "55f984b9-0c0d-7ae1-712d-78a7d7fbfa03", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f336f75d-4273-d986-7b79-5028befe8efc", + "9d1c3e18-15c3-3c07-f04a-d705ceec1fed", + "23a7b4da-5022-66ac-bfac-23544ab88f69" + ] + } + ] + } + ] + } + ], + "textures": [ + { + "path": "", + "name": "bubble.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "849f6abb-5d52-7cbc-bc5e-c54506c00158", + "relative_path": "../../textures/bubble.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAGhJREFUOE/tk0sOABAMRNul+1/WroKO+KcSdqykzGvDDNN8yaLOfb0vJKHIXM9cro+brFs1bvsqKEFAMouBAuQK4Lh7PUWc4AMuvIGaz2aiJz4A1Pyd6kJHRP44TMgLIEM8dZxdnJuzAGqUPxJDQDMGAAAAAElFTkSuQmCC" + }, + { + "path": "", + "name": "reload.png", + "folder": "", + "namespace": "", + "id": "4", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "e5650158-1574-55d1-6b46-d58173bbb96b", + "relative_path": "../../textures/emojis/reload.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAEpJREFUOE9jZKAQMFKonwFuwOf37/+DDOMVFCRJjCTFIAvQLQIbABKE2QxjEys2aoAg42gYIIUBcp4AJSpYioOJ4xKjXmYiN1cCAKtG/BHrN3pVAAAAAElFTkSuQmCC" + }, + { + "path": "", + "name": "bullet.png", + "folder": "", + "namespace": "", + "id": "5", + "width": 4, + "height": 12, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "1a2d73a2-6180-0319-1efb-16f49aa91e7a", + "relative_path": "../../textures/bullet.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAMCAYAAABFohwTAAAAAXNSR0IArs4c6QAAAGdJREFUGFdjTEhI4Pj1/f93LpbvDH9YuTgZMQSiwuP/V4azMOh4+TKkJi9jYAQJJDt+ZHAK9GFILdoFESj0/cpgEuTBkJoKFSCsAqwlrJAhNXEikhl4BVKdXjE4xAZDbEmJDvvPgAQAMBRGJaIzndEAAAAASUVORK5CYII=" + }, + { + "path": "", + "name": "dots.png", + "folder": "", + "namespace": "", + "id": "3", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "7dda2e3d-9f23-52bb-e799-b8a2879d3871", + "relative_path": "../../textures/emojis/dots.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAADhJREFUOE9jZKAQMFKon2HUAAZIGHx+//4/iOYVFEQJE2LEGWGKYLEBM4RYccoNoNgLowlpEOQFAJrjL7ESx0KNAAAAAElFTkSuQmCC" + }, + { + "path": "", + "name": "black_dot.png", + "folder": "", + "namespace": "", + "id": "6", + "width": 4, + "height": 4, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "d1f6e856-c31e-ace6-6507-d03259b83bf5", + "relative_path": "../../textures/emojis/black_dot.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAABhJREFUGFdjZICA/1CakRGJAxbDKoCiBQCSkQQDt6KjJwAAAABJRU5ErkJggg==" + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Hoshino/models/bullet.bbmodel b/config/yosbr/config/figura/avatars/Hoshino/models/bullet.bbmodel new file mode 100644 index 0000000..6095e9d --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/models/bullet.bbmodel @@ -0,0 +1,237 @@ +{ + "meta": { + "format_version": "4.5", + "model_format": "free", + "box_uv": false + }, + "name": "bullet", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 4, + "height": 12 + }, + "elements": [ + { + "name": "Bullet1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 0, + -1 + ], + "to": [ + 0.5, + 1, + 1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 3, + 2, + 4 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 3, + 2, + 11 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 1, + 10, + 2, + 11 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 3, + 2, + 11 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 1, + 3, + 2, + 11 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 3, + 2, + 11 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "eb1cee40-d947-b0fd-992e-a0445207f5c3" + }, + { + "name": "Bullet2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.375, + 0.125, + -1.25 + ], + "to": [ + 0.375, + 0.875, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c69c3bcf-da9b-3ad4-7d0a-e697c8066967" + } + ], + "outliner": [ + { + "name": "Arrow", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "0c9fab8f-3742-3b33-0bef-de2eca96287f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "eb1cee40-d947-b0fd-992e-a0445207f5c3", + "c69c3bcf-da9b-3ad4-7d0a-e697c8066967" + ] + } + ], + "textures": [ + { + "path": "", + "name": "bullet.png", + "folder": "", + "namespace": "", + "id": "0", + "particle": false, + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "mode": "bitmap", + "saved": true, + "uuid": "d4264722-75e2-f338-9736-9de1cd8631d0", + "relative_path": "../../textures/bullet.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAMCAYAAABFohwTAAAAAXNSR0IArs4c6QAAAGdJREFUGFdjTEhI4Pj1/f93LpbvDH9YuTgZMQSiwuP/V4azMOh4+TKkJi9jYAQJJDt+ZHAK9GFILdoFESj0/cpgEuTBkJoKFSCsAqwlrJAhNXEikhl4BVKdXjE4xAZDbEmJDvvPgAQAMBRGJaIzndEAAAAASUVORK5CYII=" + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Hoshino/models/costume_battle.bbmodel b/config/yosbr/config/figura/avatars/Hoshino/models/costume_battle.bbmodel new file mode 100644 index 0000000..6fb8845 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/models/costume_battle.bbmodel @@ -0,0 +1,4717 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "costume_battle", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 64, + "height": 225 + }, + "elements": [ + { + "name": "HairTail1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 23, + 3 + ], + "to": [ + 2, + 30, + 5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 25, + 4, + 32 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 18, + 4, + 25 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 18, + 4, + 25 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 18, + 6, + 25 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 18, + 10, + 20 + ], + "texture": 0 + }, + "down": { + "uv": [ + 10, + 18, + 14, + 20 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "78f8c6bb-ad64-20ea-8cf3-20dd16fba47d" + }, + { + "name": "HairTail2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 20, + 3.5 + ], + "to": [ + 3, + 23, + 5.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 12, + 20, + 6, + 23 + ], + "texture": 0 + }, + "east": { + "uv": [ + 14, + 20, + 12, + 23 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 20, + 12, + 23 + ], + "texture": 0 + }, + "west": { + "uv": [ + 12, + 20, + 14, + 23 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 16, + 14, + 18 + ], + "texture": 0 + }, + "down": { + "uv": [ + 14, + 16, + 20, + 18 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "496defc2-dc7d-75c9-8072-0521082c0804" + }, + { + "name": "HairTail3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 13, + 4 + ], + "to": [ + 4, + 20, + 6 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 14, + 23, + 6, + 30 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 25, + 4, + 32 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 23, + 14, + 30 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 25, + 6, + 32 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 18, + 22, + 20 + ], + "texture": 0 + }, + "down": { + "uv": [ + 14, + 20, + 22, + 18 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f9220f20-5c87-cad6-3594-df7f05e94082" + }, + { + "name": "HairTail4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 11, + 3.5 + ], + "to": [ + 3, + 13, + 5.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 20, + 20, + 14, + 22 + ], + "texture": 0 + }, + "east": { + "uv": [ + 22, + 20, + 20, + 22 + ], + "texture": 0 + }, + "south": { + "uv": [ + 14, + 20, + 20, + 22 + ], + "texture": 0 + }, + "west": { + "uv": [ + 20, + 20, + 22, + 22 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 24, + 20, + 26 + ], + "texture": 0 + }, + "down": { + "uv": [ + 14, + 24, + 20, + 26 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2295bc79-27b5-0b00-762f-1ddc19c1cf6e" + }, + { + "name": "Pouch1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1, + 16, + -2.5 + ], + "to": [ + 3, + 19, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 26, + 6, + 34, + 18 + ], + "texture": 0 + }, + "east": { + "uv": [ + 36, + 6, + 34, + 18 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 8, + 0, + 0, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8cc9e8d0-d879-06f0-abc2-845f30597a65" + }, + { + "name": "Pouch2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 16, + -2.5 + ], + "to": [ + -1, + 19, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 26, + 6, + 34, + 18 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 34, + 6, + 36, + 18 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 0, + 0, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8f978ec3-3806-02e6-9198-3ca506e4c389" + }, + { + "name": "Pouch3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 16, + -2.5 + ], + "to": [ + 1, + 19, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 26, + 6, + 34, + 18 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 8, + 0, + 0, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b13e2236-b873-51ef-2b91-610901a40a14" + }, + { + "name": "Pouch4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 16, + 2 + ], + "to": [ + -1, + 20, + 2.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 10, + 0, + 8, + 16 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 8, + 16 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 0, + 10, + 16 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 2, + 0, + 0 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5c4c583b-f4ea-83e7-937b-5f929019dc7d" + }, + { + "name": "Pouch5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1, + 16, + 2 + ], + "to": [ + 3, + 20, + 2.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 10, + 0, + 8, + 16 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 8, + 16 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 0, + 10, + 16 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 2, + 0, + 0 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ca51da76-c141-8811-be32-7b196de3e056" + }, + { + "name": "Pouch6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 14, + -3.5 + ], + "to": [ + 2, + 16, + -2.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -10, + 0, + 0 + ], + "origin": [ + 0, + 16, + -2.5 + ], + "faces": { + "north": { + "uv": [ + 10, + 0, + 26, + 8 + ], + "texture": 0 + }, + "east": { + "uv": [ + 10, + 0, + 14, + 8 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 10, + 0, + 14, + 8 + ], + "texture": 0 + }, + "up": { + "uv": [ + 10, + 0, + 11, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 10, + 0, + 11, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f81c2362-fbd6-03a5-34c1-e186295f7e89" + }, + { + "name": "Pouch7", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.5, + 15, + -1.5 + ], + "to": [ + 4.5, + 17, + 1.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + -5 + ], + "origin": [ + 4, + 17, + 0 + ], + "faces": { + "north": { + "uv": [ + 26, + 8, + 22, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 10, + 8, + 22, + 16 + ], + "texture": 0 + }, + "south": { + "uv": [ + 22, + 8, + 26, + 16 + ], + "texture": 0 + }, + "west": { + "uv": [ + 10, + 0, + 14, + 8 + ], + "texture": 0 + }, + "up": { + "uv": [ + 10, + 0, + 11, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 10, + 0, + 11, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "82c7a9e0-8607-6d9f-8078-bf15d41cc6a5" + }, + { + "name": "Pouch8", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 13, + -1.5 + ], + "to": [ + 5, + 15, + 1.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + -5 + ], + "origin": [ + 4.5, + 15, + 0 + ], + "faces": { + "north": { + "uv": [ + 26, + 8, + 22, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 10, + 8, + 22, + 16 + ], + "texture": 0 + }, + "south": { + "uv": [ + 22, + 8, + 26, + 16 + ], + "texture": 0 + }, + "west": { + "uv": [ + 10, + 0, + 14, + 8 + ], + "texture": 0 + }, + "up": { + "uv": [ + 10, + 0, + 11, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 10, + 0, + 11, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "83f1bfb8-1b41-9473-0717-d5f8ac953c10" + }, + { + "name": "Pouch9", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 13, + -2 + ], + "to": [ + 5, + 14.5, + -1.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4.5, + 15, + 0 + ], + "faces": { + "north": { + "uv": [ + 26, + 0, + 30, + 6 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 8, + 26, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 10, + 0, + 11, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 10, + 0, + 14, + 8 + ], + "texture": 0 + }, + "up": { + "uv": [ + 10, + 0, + 11, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 10, + 0, + 11, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "0a34fd92-31c3-b6d5-9259-291a39137770" + }, + { + "name": "Pouch10", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 13, + 1.5 + ], + "to": [ + 5, + 14.5, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4.5, + 15, + 0 + ], + "faces": { + "north": { + "uv": [ + 11, + 0, + 10, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 26, + 8, + 24, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 30, + 0, + 26, + 6 + ], + "texture": 0 + }, + "west": { + "uv": [ + 14, + 0, + 10, + 8 + ], + "texture": 0 + }, + "up": { + "uv": [ + 10, + 1, + 11, + 0 + ], + "texture": 0 + }, + "down": { + "uv": [ + 10, + 1, + 11, + 0 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "1b14151e-95b4-808e-1e62-3b86494ad3b2" + }, + { + "name": "Pouch11", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.5, + 15, + -1.5 + ], + "to": [ + -3.5, + 17, + 1.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + 5 + ], + "origin": [ + -4, + 17, + 0 + ], + "faces": { + "north": { + "uv": [ + 22, + 8, + 26, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 14, + 0, + 10, + 8 + ], + "texture": 0 + }, + "south": { + "uv": [ + 26, + 8, + 22, + 16 + ], + "texture": 0 + }, + "west": { + "uv": [ + 22, + 8, + 10, + 16 + ], + "texture": 0 + }, + "up": { + "uv": [ + 11, + 0, + 10, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 11, + 0, + 10, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "fae6da7d-58e6-c70f-6908-67dab84cf776" + }, + { + "name": "Pouch12", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5, + 13, + -1.5 + ], + "to": [ + -4, + 15, + 1.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + 5 + ], + "origin": [ + -4.5, + 15, + 0 + ], + "faces": { + "north": { + "uv": [ + 22, + 8, + 26, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 14, + 0, + 10, + 8 + ], + "texture": 0 + }, + "south": { + "uv": [ + 26, + 8, + 22, + 16 + ], + "texture": 0 + }, + "west": { + "uv": [ + 22, + 8, + 10, + 16 + ], + "texture": 0 + }, + "up": { + "uv": [ + 11, + 0, + 10, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 11, + 0, + 10, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "621d7bc3-3067-e365-fa6b-f0b7081bde68" + }, + { + "name": "Pouch13", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5, + 13, + -2 + ], + "to": [ + -4, + 14.5, + -1.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -4.5, + 15, + 0 + ], + "faces": { + "north": { + "uv": [ + 30, + 0, + 26, + 6 + ], + "texture": 0 + }, + "east": { + "uv": [ + 14, + 0, + 10, + 8 + ], + "texture": 0 + }, + "south": { + "uv": [ + 11, + 0, + 10, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 26, + 8, + 24, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 11, + 0, + 10, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 11, + 0, + 10, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "21647bb4-4f7f-4630-d230-e8b45414b6ba" + }, + { + "name": "Pouch14", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5, + 13, + 1.5 + ], + "to": [ + -4, + 14.5, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -4.5, + 15, + 0 + ], + "faces": { + "north": { + "uv": [ + 10, + 0, + 11, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 10, + 0, + 14, + 8 + ], + "texture": 0 + }, + "south": { + "uv": [ + 26, + 0, + 30, + 6 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 8, + 26, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 11, + 1, + 10, + 0 + ], + "texture": 0 + }, + "down": { + "uv": [ + 11, + 1, + 10, + 0 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "0dcbb339-e1f7-a69f-5023-cf966049c3e4" + } + ], + "outliner": [ + { + "name": "CBattleH", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "a950e5e4-6034-54a8-160a-5e1fa6b4b648", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "HairTail", + "origin": [ + 0, + 29, + 3 + ], + "color": 0, + "uuid": "fff85eda-1d73-a7d1-a277-d574c48c4ef0", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "HairTailZPivot", + "origin": [ + 0, + 29, + 3 + ], + "color": 0, + "uuid": "f27f6865-3d56-8912-5ae5-d8f144823d6f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "78f8c6bb-ad64-20ea-8cf3-20dd16fba47d", + "496defc2-dc7d-75c9-8072-0521082c0804", + "f9220f20-5c87-cad6-3594-df7f05e94082", + "2295bc79-27b5-0b00-762f-1ddc19c1cf6e" + ] + } + ] + } + ] + }, + { + "name": "CBattleB", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "3eed9b79-be04-c948-3db9-f21f09b7b217", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8cc9e8d0-d879-06f0-abc2-845f30597a65", + "8f978ec3-3806-02e6-9198-3ca506e4c389", + "b13e2236-b873-51ef-2b91-610901a40a14", + "5c4c583b-f4ea-83e7-937b-5f929019dc7d", + "ca51da76-c141-8811-be32-7b196de3e056", + "f81c2362-fbd6-03a5-34c1-e186295f7e89", + "82c7a9e0-8607-6d9f-8078-bf15d41cc6a5", + "83f1bfb8-1b41-9473-0717-d5f8ac953c10", + "0a34fd92-31c3-b6d5-9259-291a39137770", + "1b14151e-95b4-808e-1e62-3b86494ad3b2", + "fae6da7d-58e6-c70f-6908-67dab84cf776", + "621d7bc3-3067-e365-fa6b-f0b7081bde68", + "21647bb4-4f7f-4630-d230-e8b45414b6ba", + "0dcbb339-e1f7-a69f-5023-cf966049c3e4" + ] + } + ], + "textures": [ + { + "path": "", + "name": "costume_battle.png", + "folder": "", + "namespace": "", + "id": "1", + "width": 36, + "height": 32, + "uv_width": 36, + "uv_height": 32, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "35b795e0-39e8-ba15-9f86-81b635071b17", + "relative_path": "../../textures/costume_battle.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAgCAYAAAB6kdqOAAAAAXNSR0IArs4c6QAAAklJREFUWEftlsFKw0AQhndTKaYtelRERBAKrV7VJ1HQm1SQgih49xU89Kx41ydRT4K2UBREfAGlbUqIiUySiZM0u9km1SC4EJLubne+/PPPtPzw6NRhgtEf9Fm5VGZwn+S4PD/jovM4AIkCDgcGmy7pDO+iQ4y+4S7pZV2J+x8oTqbex3swfX11kT1llmUK07Gxue6u3d7cCfdUZmaDtR9PWb1WdYO1O92/4yGoVpVqnkiVqcgiax+0mkNAa6t19+yHx7Z7pxvBQ9QHMggwMN0Ln+fmF4T9TAgUDZIL0N7+iQOBRQMb468ptLXdEP50ACRID8CTBJJZYyxT0+Ym81Cc11KZWuYhSF3WIbMGnj2WQlmAVNXlSaZGiKwKKacMgGRdtNVsMK22HPoxtDsvTnQuST3Vvzl8Z7fpiN4eQFvHB14s02KsOMXYp82YYXrPcME8DP9ZBKqaCW7fPznuYTQoBifzIyo9v3ntAoFQIv872sqi8C+GTE0O8scCIRQG1YuMFTTvLFAJLlSGRvABx01pUGU2vGk0OCpDVYPn3jCcqmjKcL2gMa26lFIhAIK3hbenfoDDK9PeHKzBBXNUKdwTvZvWSCEkmT6sEAJhGhAOTQy7cc6HS+uRJDDupiwOKM7kmNoMCqgB0ZIGOFHVESBa6iplnwQSTlmcGlhNkCKqIE1nDGDWVH6XPTUxKhQFIZ/TVlGSUl5jxGrCMs4VCBsj9RFtgIKUpW18yQp1X52gA9Oek1uVUSDSh7KaM0kJ0Tq3o0B+2ecF9AWOiT+QwHluWQAAAABJRU5ErkJggg==" + } + ], + "animations": [ + { + "uuid": "07dc6e5f-911c-d3bc-696c-faa5ec17d131", + "name": "ex_skill_3", + "loop": "hold", + "override": true, + "length": 8.35, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "fff85eda-1d73-a7d1-a277-d574c48c4ef0": { + "name": "HairTail", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -20, + "y": 0, + "z": -47.5 + } + ], + "uuid": "d5fd7403-2036-4cef-82b2-bd7588260a47", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -20, + "y": 0, + "z": -47.5 + } + ], + "uuid": "1e6014ea-20b9-9543-0fdb-a73b8b8f4879", + "time": 0.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -9.54047, + "y": -17.66279, + "z": -108.51063 + } + ], + "uuid": "f71ddb44-b693-cf7e-b859-c7dd3b4fb89a", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 12.50512, + "y": -9.84623, + "z": -75.97666 + } + ], + "uuid": "98d7ce0f-5b6f-eb54-cd34-70a5949dc2f4", + "time": 0.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -1.31883, + "y": -0.19487, + "z": 105.24085 + } + ], + "uuid": "449547a0-f9e5-e203-04b8-02b9a4cdf8b2", + "time": 5.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 12.55, + "y": -9.84, + "z": -75.92 + } + ], + "uuid": "b76e20ca-f955-79f6-7dda-ec288d631702", + "time": 5.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 14.67036, + "y": -1.29223, + "z": 37.74153 + } + ], + "uuid": "1573c888-7fe6-79ea-c1e8-970d15883d23", + "time": 5.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 14.67, + "y": -1.29, + "z": 37.74 + } + ], + "uuid": "c4c6fae5-5ba6-5ca7-383a-0b59ccc5fe63", + "time": 6.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 12.13795, + "y": -8.40042, + "z": 67.01133 + } + ], + "uuid": "a1690ef8-400c-86f5-b96f-861e62caaaa7", + "time": 6.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 12.14, + "y": -8.4, + "z": 67.01 + } + ], + "uuid": "85a57ee0-6076-819e-9430-38f7d76cbc04", + "time": 7.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 9.94479, + "y": 10.81564, + "z": -100.54947 + } + ], + "uuid": "40cf7d80-79fc-16b3-e2dd-73ee30d92466", + "time": 7.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 9.94, + "y": 10.82, + "z": -100.55 + } + ], + "uuid": "268d8169-32e9-cbd6-37bd-2f5931040553", + "time": 7.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 29.53943, + "y": -1.2499, + "z": 2.46464 + } + ], + "uuid": "aacaacaf-06c2-f023-94a7-184dc096cbf7", + "time": 7.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 49.54, + "y": -1.25, + "z": 2.46 + } + ], + "uuid": "eab2cf22-3245-2eea-8920-9d02dbbc7b5e", + "time": 7.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 14.54, + "y": -1.25, + "z": 2.46 + } + ], + "uuid": "a84cdd19-cfac-4c3a-5e23-8dc2e23a0007", + "time": 8.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 14.89784, + "y": -6.11188, + "z": -90.27068 + } + ], + "uuid": "17b14d1c-7d47-0af4-cfe4-1ad49e5254f8", + "time": 1.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 12.50512, + "y": -9.84623, + "z": -75.97666 + } + ], + "uuid": "f5666055-34f6-7c45-4829-ba0cd0608da4", + "time": 1.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 14.89784, + "y": -6.11188, + "z": -90.27068 + } + ], + "uuid": "9a07be69-136b-d372-38db-87783bffee94", + "time": 1.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 12.50512, + "y": -9.84623, + "z": -75.97666 + } + ], + "uuid": "067fd279-3be6-0384-5db1-1c9beb82fd06", + "time": 1.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 14.89784, + "y": -6.11188, + "z": -90.27068 + } + ], + "uuid": "3848abce-4575-3db4-fe31-d20cdcc823cd", + "time": 1.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 12.50512, + "y": -9.84623, + "z": -75.97666 + } + ], + "uuid": "0d15d17c-4d35-1690-37f9-f1af75324369", + "time": 1.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 14.89784, + "y": -6.11188, + "z": -90.27068 + } + ], + "uuid": "ccf5d60c-7373-b458-a6e3-1bac5a9d3193", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 12.50512, + "y": -9.84623, + "z": -75.97666 + } + ], + "uuid": "44afaad8-26d2-3b0e-4468-b66ce8f2f17c", + "time": 2.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 14.89784, + "y": -6.11188, + "z": -90.27068 + } + ], + "uuid": "6cfb4e25-6798-619d-c88a-8aab8a34c3be", + "time": 2.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 12.50512, + "y": -9.84623, + "z": -75.97666 + } + ], + "uuid": "5403694c-b4c1-9848-8ed0-9125aa72fd07", + "time": 2.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 14.89784, + "y": -6.11188, + "z": -90.27068 + } + ], + "uuid": "976864fa-e427-9b70-cf68-dd7fa117e5f7", + "time": 2.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 12.50512, + "y": -9.84623, + "z": -75.97666 + } + ], + "uuid": "62cefc6a-2755-5aa7-5f10-758632aa672f", + "time": 2.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 14.89784, + "y": -6.11188, + "z": -90.27068 + } + ], + "uuid": "c2c6f987-6644-e666-7b65-bcc8bd976b49", + "time": 2.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 12.50512, + "y": -9.84623, + "z": -75.97666 + } + ], + "uuid": "c343b754-52df-7e48-10b6-0dbec654a3bc", + "time": 3.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 14.89784, + "y": -6.11188, + "z": -90.27068 + } + ], + "uuid": "7521ae46-7c6c-8f33-88d8-d892220f597e", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 12.50512, + "y": -9.84623, + "z": -75.97666 + } + ], + "uuid": "438d4c25-ac4f-bf45-3d38-f0eca21d5db5", + "time": 3.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 14.89784, + "y": -6.11188, + "z": -90.27068 + } + ], + "uuid": "3ec49575-d420-06ad-a897-9e596512528c", + "time": 3.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 12.50512, + "y": -9.84623, + "z": -75.97666 + } + ], + "uuid": "c07d1197-78d2-5c96-fdbb-6e23930826de", + "time": 3.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 14.89784, + "y": -6.11188, + "z": -90.27068 + } + ], + "uuid": "12c9e40f-13b4-b231-cbea-c8fe259e9a58", + "time": 3.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 12.50512, + "y": -9.84623, + "z": -75.97666 + } + ], + "uuid": "03e28d54-b609-bf38-e637-0b71c2d5c408", + "time": 3.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 14.89784, + "y": -6.11188, + "z": -90.27068 + } + ], + "uuid": "109d97f1-e4f7-b301-be23-56575c0f95bb", + "time": 4.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 12.50512, + "y": -9.84623, + "z": -75.97666 + } + ], + "uuid": "b633fc67-4b9e-9b76-f42c-b20adb3c6047", + "time": 4.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 14.89784, + "y": -6.11188, + "z": -90.27068 + } + ], + "uuid": "3a8401ec-648e-d14e-262a-cff3670883c0", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 12.50512, + "y": -9.84623, + "z": -75.97666 + } + ], + "uuid": "c15a16ba-a55f-7d29-a8b9-af1248a8e756", + "time": 4.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 14.89784, + "y": -6.11188, + "z": -90.27068 + } + ], + "uuid": "7be4f046-cffa-018a-72a6-d9de986fa23c", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 12.50512, + "y": -9.84623, + "z": -75.97666 + } + ], + "uuid": "bc3eda17-5c5c-deea-eb92-1cd6214956ec", + "time": 4.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 14.89784, + "y": -6.11188, + "z": -90.27068 + } + ], + "uuid": "41cf4576-7844-859d-8dae-30e6f5c11eaf", + "time": 5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 12.50512, + "y": -9.84623, + "z": -75.97666 + } + ], + "uuid": "04f8621f-0449-24e2-bda4-a15d9f2646a4", + "time": 5.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 14.89784, + "y": -6.11188, + "z": -90.27068 + } + ], + "uuid": "b69b557f-4ac6-a2ec-7b6b-2fbeac473644", + "time": 5.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -1.64502, + "y": -5.9046, + "z": -63.99965 + } + ], + "uuid": "5a198bf1-3edc-cd61-e98e-ea32ad0b4d48", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -1.64502, + "y": -5.9046, + "z": -63.99965 + } + ], + "uuid": "65ad9313-a7d3-b366-cb7f-c0f631ad1c3b", + "time": 0.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + }, + { + "uuid": "73524a99-cac8-81a8-e81d-7f3ce3205b55", + "name": "ex_skill_4", + "loop": "hold", + "override": true, + "length": 9.3, + "snapping": 20, + "selected": true, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "fff85eda-1d73-a7d1-a277-d574c48c4ef0": { + "name": "HairTail", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "0750415b-a858-d9dd-f410-c48b0aaf6112", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 5, + "y": 0, + "z": 5 + } + ], + "uuid": "09a8a8b8-fcda-35bb-2191-da68a122df02", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 35.79355, + "y": 12.0174, + "z": -11.10644 + } + ], + "uuid": "751ea1f6-c4c7-52ed-58b5-dccc071a4987", + "time": 2.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 28.48359, + "y": -25.49238, + "z": 43.42397 + } + ], + "uuid": "584d50f4-24ad-8939-9d86-d1f1292ef449", + "time": 2.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 28.48, + "y": -25.49, + "z": 43.42 + } + ], + "uuid": "1a5c883a-1a67-12a3-d401-843e36511bc2", + "time": 2.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 52.5, + "y": "0", + "z": "0" + } + ], + "uuid": "b4b86e04-b61a-0b10-9828-ec9c1f524474", + "time": 2.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 52.5, + "y": 0, + "z": 0 + } + ], + "uuid": "76a979c9-4517-2bc8-8b10-a3f2f4564227", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 17.5, + "y": 0, + "z": 0 + } + ], + "uuid": "4baf080d-87ec-7bb0-13b3-b0450a96745c", + "time": 3.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 17.5, + "y": 0, + "z": 0 + } + ], + "uuid": "d836f2aa-b5fe-94a7-0379-a8f2e357027b", + "time": 3.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 46.68086, + "y": -38.44868, + "z": 30.38564 + } + ], + "uuid": "d87e3046-1141-b4db-a558-99624a66b410", + "time": 3.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 59.62661, + "y": -28.93199, + "z": 20.62144 + } + ], + "uuid": "6ec1f179-9527-a3d4-ce51-8b2f0f3d777c", + "time": 3.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 59.63, + "y": -28.93, + "z": 20.62 + } + ], + "uuid": "a55a1547-8085-2e0d-4aae-73b238860968", + "time": 4.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 52.57179, + "y": 43.27594, + "z": -22.89007 + } + ], + "uuid": "1990a07a-ff74-fe18-b9fd-64edc3f4af4d", + "time": 4.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "4aaa0b59-5177-bc99-bbdf-70396c1b040c", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 26.32, + "y": -0.19, + "z": 6.41 + } + ], + "uuid": "6d85df34-f4cb-50f1-e2c8-1f89bf2d021c", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 50.55399, + "y": 21.70109, + "z": -10.65006 + } + ], + "uuid": "f02be851-580c-5f9d-c15e-5157821e7df4", + "time": 4.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 34.54471, + "y": 44.21323, + "z": -39.09537 + } + ], + "uuid": "cfc2ec1c-01b1-800a-845c-5c941591a01c", + "time": 5.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 28.97775, + "y": 33.27036, + "z": -0.6966 + } + ], + "uuid": "42ad70cb-0518-5662-abc4-1be3964f5e62", + "time": 4.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 107.04, + "y": 44.21, + "z": -39.1 + } + ], + "uuid": "9268eb2c-b542-4e75-01c0-8620697d0519", + "time": 5.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 107.82165, + "y": 60.58647, + "z": -28.76358 + } + ], + "uuid": "b0ade02c-c28f-c3a8-8da5-83f8b12a1423", + "time": 5.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 205.33368, + "y": 79.03128, + "z": 83.94306 + } + ], + "uuid": "8c4f5065-c5f7-b217-1774-275a98cb633b", + "time": 5.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 105.91475, + "y": 51.15153, + "z": -19.28071 + } + ], + "uuid": "e4f00a6b-9839-cccc-a9dd-06b22d2bc25c", + "time": 5.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 107.32479, + "y": -39.34627, + "z": -21.27724 + } + ], + "uuid": "feb3550e-4eed-be04-25ea-75da465bb66d", + "time": 6.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 22.61746, + "y": "0", + "z": "0" + } + ], + "uuid": "a318b91a-94fe-ead8-7f27-36155bf1b0ef", + "time": 6.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 60.25427, + "y": 22.0413, + "z": -12.10377 + } + ], + "uuid": "f3bfaa21-a16e-20bd-9949-76a53117e639", + "time": 6.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 62.05059, + "y": -11.08082, + "z": 5.82767 + } + ], + "uuid": "c6cf1945-dffc-72ac-2f8a-28d22fc09ea3", + "time": 6.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 74.55, + "y": -11.08, + "z": 5.83 + } + ], + "uuid": "5832dfc4-9a4d-8f66-2c44-54ccb14c9ad0", + "time": 6.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 74.55, + "y": -11.08, + "z": 5.83 + } + ], + "uuid": "b2d9068e-78eb-7054-78b9-f514cddb1ecd", + "time": 7.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 26.88905, + "y": 74.34179, + "z": -72.29111 + } + ], + "uuid": "d16663e0-c211-adf5-7b17-e89937a99755", + "time": 7.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 36.89, + "y": 74.34, + "z": -72.29 + } + ], + "uuid": "ecce92e2-2c61-0cc1-bf6b-9d8149a2764b", + "time": 7.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -5.61, + "y": 74.34, + "z": -72.29 + } + ], + "uuid": "22547ec4-b28e-f108-f14d-aa62ac5a9654", + "time": 7.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15.61, + "y": 74.34, + "z": -72.29 + } + ], + "uuid": "070d28f4-7724-8cd8-f8b3-eea3d65e9c64", + "time": 7.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -5.61, + "y": 74.34, + "z": -72.29 + } + ], + "uuid": "83892d83-a695-0581-234c-d0c70f3995aa", + "time": 7.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15.61, + "y": 74.34, + "z": -72.29 + } + ], + "uuid": "f7daeae2-b644-6969-6e64-b71a116c65c7", + "time": 8.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -5.61, + "y": 74.34, + "z": -72.29 + } + ], + "uuid": "7926d20c-58e4-2b35-eb67-10a2a243ec84", + "time": 8.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15.61, + "y": 74.34, + "z": -72.29 + } + ], + "uuid": "a7bae737-6fbb-14ad-0790-ac6de0b5ab92", + "time": 8.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -5.61, + "y": 74.34, + "z": -72.29 + } + ], + "uuid": "775dc9f9-4d3e-8001-d078-972034cdf547", + "time": 8.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15.61, + "y": 74.34, + "z": -72.29 + } + ], + "uuid": "e2d311cc-d1f4-d831-1577-3a7d05995c7f", + "time": 8.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -5.61, + "y": 74.34, + "z": -72.29 + } + ], + "uuid": "4db0b96f-3da9-2fad-b370-19e664210c70", + "time": 9.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15.61, + "y": 74.34, + "z": -72.29 + } + ], + "uuid": "7f4836a8-8027-16e4-ac92-d82d5881caee", + "time": 9.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Hoshino/models/costume_masked.bbmodel b/config/yosbr/config/figura/avatars/Hoshino/models/costume_masked.bbmodel new file mode 100644 index 0000000..5278853 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/models/costume_masked.bbmodel @@ -0,0 +1,241 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "costume_masked", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 32, + "height": 16 + }, + "elements": [ + { + "name": "Mask", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 24, + -4 + ], + "to": [ + 4, + 32, + 4 + ], + "autouv": 0, + "color": 0, + "inflate": 0.51, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 8, + 16, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 8, + 8, + 16 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 8, + 32, + 16 + ], + "texture": 0 + }, + "west": { + "uv": [ + 16, + 8, + 24, + 16 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 0, + 16, + 8 + ], + "texture": 0 + }, + "down": { + "uv": [ + 16, + 0, + 24, + 8 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b747bd75-507f-7929-aeae-3c66cb26fac7" + }, + { + "name": "Number", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.07, + 29, + -4.55 + ], + "to": [ + 1.07, + 32, + -4.55 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 5, + 7 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9da77f2b-9ae5-1508-7197-7cd1652e0981" + } + ], + "outliner": [ + { + "name": "CMaskedH", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "8aa59adb-e386-5f5c-152e-db9887b01653", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b747bd75-507f-7929-aeae-3c66cb26fac7", + "9da77f2b-9ae5-1508-7197-7cd1652e0981" + ] + } + ], + "textures": [ + { + "path": "", + "name": "costume_masked.png", + "folder": "", + "namespace": "", + "id": "1", + "width": 32, + "height": 16, + "uv_width": 32, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "375bf4c3-b00b-7f4b-fdf5-83236cf51fe5", + "relative_path": "../../textures/costume_masked.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAQCAYAAAB3AH1ZAAAAAXNSR0IArs4c6QAAANlJREFUSEtjZICCL9++/+fh4mSE8WH0vXnz/oPYohLCDK9fvMWgCckpJSVhmIlsB1gSZLmxkSfD2XPbGdAd8XnbRrAD0C2HiYFoXJaA9PJ6+eN3AMxykEHYHAAKAZDvkR2BzsZlCUgvVUIA2few4INFCcUhQCgKYCEAcgS65bCQoVsIYIsGqoQALBRw5QL0NACLEliIUBwC6FkPmY8cBehZEVkdrmxKMBHiswCXodQUZxx1wJAIAVhCAhWtoByAzqckTRCVBgaNA9CzKyxEaB4CMAuoGfSwwgwAAvE293iLdaoAAAAASUVORK5CYII=" + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Hoshino/models/costume_swimsuit.bbmodel b/config/yosbr/config/figura/avatars/Hoshino/models/costume_swimsuit.bbmodel new file mode 100644 index 0000000..c6cc267 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/models/costume_swimsuit.bbmodel @@ -0,0 +1,6004 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "costume_swimsuit", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 47, + "height": 61 + }, + "elements": [ + { + "name": "RashGuardRAB", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 7, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.26, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 28, + 10, + 31, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 10, + 28, + 16 + ], + "texture": 0 + }, + "south": { + "uv": [ + 35, + 10, + 38, + 16 + ], + "texture": 0 + }, + "west": { + "uv": [ + 31, + 10, + 35, + 16 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 1, + 0 + ], + "texture": 0 + }, + "down": { + "uv": [ + 34, + 4, + 31, + 0 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "643f9c05-2d3c-e1d1-5a2f-874902eb1784" + }, + { + "name": "RashGuardB", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 12, + -2 + ], + "to": [ + 4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.26, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 4, + 4, + 12, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 4, + 4, + 16 + ], + "texture": 0 + }, + "south": { + "uv": [ + 16, + 4, + 24, + 16 + ], + "texture": 0 + }, + "west": { + "uv": [ + 12, + 4, + 16, + 16 + ], + "texture": 0 + }, + "up": { + "uv": [ + 12, + 4, + 4, + 0 + ], + "texture": 0 + }, + "down": { + "uv": [ + 20, + 0, + 12, + 4 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "1a6c7f49-28d2-e61e-bae0-edc24480ccb2" + }, + { + "name": "RashGuardLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 12, + -2 + ], + "to": [ + 4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.375, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 4, + 20, + 12, + 32 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 20, + 4, + 32 + ], + "texture": 0 + }, + "south": { + "uv": [ + 16, + 20, + 24, + 32 + ], + "texture": 0 + }, + "west": { + "uv": [ + 12, + 20, + 16, + 32 + ], + "texture": 0 + }, + "up": { + "uv": [ + 12, + 20, + 4, + 16 + ], + "texture": 0 + }, + "down": { + "uv": [ + 20, + 16, + 12, + 20 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "7a8fc19f-eefa-7561-3839-d05fdb6e624c" + }, + { + "name": "RashGuardRA", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 18, + -2 + ], + "to": [ + 7, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.26, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 28, + 4, + 31, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 4, + 28, + 10 + ], + "texture": 0 + }, + "south": { + "uv": [ + 35, + 4, + 38, + 10 + ], + "texture": 0 + }, + "west": { + "uv": [ + 31, + 4, + 35, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 31, + 4, + 28, + 0 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "95555977-b118-a858-f061-7fa700b13111" + }, + { + "name": "RashGuardLA", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 18, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.26, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 31, + 4, + 28, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 35, + 4, + 31, + 10 + ], + "texture": 0 + }, + "south": { + "uv": [ + 38, + 4, + 35, + 10 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 4, + 24, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 28, + 4, + 31, + 0 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "47c82acf-324c-0492-c54e-c4d68440fcf3" + }, + { + "name": "RashGuardLAB", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 12, + -2 + ], + "to": [ + -4, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.26, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 31, + 10, + 28, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 35, + 10, + 31, + 16 + ], + "texture": 0 + }, + "south": { + "uv": [ + 38, + 10, + 35, + 16 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 10, + 24, + 16 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 1, + 0 + ], + "texture": 0 + }, + "down": { + "uv": [ + 31, + 4, + 34, + 0 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "36f4aa4f-6e0e-6713-4ee2-252fec47a67c" + }, + { + "name": "RashGuardRL", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 6, + -2 + ], + "to": [ + 4, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.26, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 28, + 20, + 32, + 26 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 20, + 28, + 26 + ], + "texture": 0 + }, + "south": { + "uv": [ + 36, + 20, + 40, + 26 + ], + "texture": 0 + }, + "west": { + "uv": [ + 32, + 20, + 36, + 26 + ], + "texture": 0 + }, + "up": { + "uv": [ + 32, + 20, + 28, + 16 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "85df8c99-a79e-dc3e-152d-160199fedd20" + }, + { + "name": "RashGuardLL", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 6, + -2 + ], + "to": [ + 0, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.26, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 32, + 30, + 28, + 36 + ], + "texture": 0 + }, + "east": { + "uv": [ + 36, + 30, + 32, + 36 + ], + "texture": 0 + }, + "south": { + "uv": [ + 40, + 30, + 36, + 36 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 30, + 24, + 36 + ], + "texture": 0 + }, + "up": { + "uv": [ + 28, + 30, + 32, + 26 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 1, + 0, + 1 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6c22708c-4427-3e6b-1ed1-5e1d04db20a1" + }, + { + "name": "HairTailBase", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 23.5, + -1 + ], + "to": [ + 1, + 28, + 4 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 5, + 37, + 10, + 41.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 37, + 5, + 41.5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 15, + 37, + 20, + 41.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 10, + 37, + 15, + 41.5 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 32, + 10, + 37 + ], + "texture": 0 + }, + "down": { + "uv": [ + 10, + 32, + 15, + 37 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "dedf3f79-f6cd-8775-e7f5-bcdee4848284" + }, + { + "name": "HairBand1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.4924, + 22.5, + 2.5 + ], + "to": [ + -1.4924, + 23.5, + 3.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -4, + 28.575, + 4 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 20, + 32, + 21, + 33 + ], + "texture": 0 + }, + "south": { + "uv": [ + 20, + 32, + 21, + 33 + ], + "texture": 0 + }, + "west": { + "uv": [ + 20, + 32, + 21, + 33 + ], + "texture": 0 + }, + "up": { + "uv": [ + 20, + 32, + 21, + 33 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "3a3261ee-80ce-0d80-394d-a78210cbfe55" + }, + { + "name": "HairBand2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.7424, + 22.5, + 1.75 + ], + "to": [ + -0.7424, + 23.5, + 2.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + -4, + 28.575, + 4 + ], + "faces": { + "north": { + "uv": [ + 20, + 32, + 21, + 33 + ], + "texture": 0 + }, + "east": { + "uv": [ + 20, + 32, + 21, + 33 + ], + "texture": 0 + }, + "south": { + "uv": [ + 20, + 32, + 21, + 33 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 20, + 32, + 21, + 33 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6ec3e34a-a4fe-d1db-c3ec-1b5505630c0d" + }, + { + "name": "HairBand3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.4924, + 22.5, + 1 + ], + "to": [ + -1.4924, + 23.5, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -4, + 28.575, + 4 + ], + "faces": { + "north": { + "uv": [ + 20, + 32, + 21, + 33 + ], + "texture": 0 + }, + "east": { + "uv": [ + 20, + 32, + 21, + 33 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 20, + 32, + 21, + 33 + ], + "texture": 0 + }, + "up": { + "uv": [ + 20, + 32, + 21, + 33 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "caa0430a-d94d-8f96-948e-da1bd2c4f2a3" + }, + { + "name": "HairBand4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.2424, + 22.5, + 1.75 + ], + "to": [ + -2.2424, + 23.5, + 2.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + -4, + 28.575, + 4 + ], + "faces": { + "north": { + "uv": [ + 20, + 32, + 21, + 33 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 20, + 32, + 21, + 33 + ], + "texture": 0 + }, + "west": { + "uv": [ + 20, + 32, + 21, + 33 + ], + "texture": 0 + }, + "up": { + "uv": [ + 20, + 32, + 21, + 33 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "28b825bf-6b3c-f5b0-8797-8191d92020d8" + }, + { + "name": "HairTail1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.4924, + 13.5, + 0.75 + ], + "to": [ + -0.2424, + 22.5, + 3.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + -4, + 28, + 4 + ], + "faces": { + "north": { + "uv": [ + 3, + 45, + 6.25, + 54 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 45, + 3, + 54 + ], + "texture": 0 + }, + "south": { + "uv": [ + 10, + 45, + 13.25, + 54 + ], + "texture": 0 + }, + "west": { + "uv": [ + 7, + 45, + 10, + 54 + ], + "texture": 0 + }, + "up": { + "uv": [ + 3, + 42, + 6.25, + 45 + ], + "texture": 0 + }, + "down": { + "uv": [ + 7, + 42, + 10.25, + 45 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "4bf618ab-96a0-23c3-fd33-5dacb2fed861" + }, + { + "name": "HairTail2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.7424, + 11.5, + 1.25 + ], + "to": [ + 0.2576, + 13.5, + 3.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + -4, + 28, + 4 + ], + "faces": { + "north": { + "uv": [ + 16, + 44, + 19, + 46 + ], + "texture": 0 + }, + "east": { + "uv": [ + 14, + 44, + 16, + 46 + ], + "texture": 0 + }, + "south": { + "uv": [ + 21, + 44, + 24, + 46 + ], + "texture": 0 + }, + "west": { + "uv": [ + 19, + 44, + 21, + 46 + ], + "texture": 0 + }, + "up": { + "uv": [ + 17, + 42, + 20, + 44 + ], + "texture": 0 + }, + "down": { + "uv": [ + 20, + 42, + 23, + 44 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "621c9c7f-5413-783a-675d-189d5ad0139b" + }, + { + "name": "HairTail3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.9924, + 10.5, + 1.75 + ], + "to": [ + 0.7576, + 11.5, + 2.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + -4, + 28, + 4 + ], + "faces": { + "north": { + "uv": [ + 17.75, + 47, + 15, + 48 + ], + "texture": 0 + }, + "east": { + "uv": [ + 14, + 47, + 15, + 48 + ], + "texture": 0 + }, + "south": { + "uv": [ + 19, + 47, + 21.75, + 48 + ], + "texture": 0 + }, + "west": { + "uv": [ + 18, + 47, + 19, + 48 + ], + "texture": 0 + }, + "up": { + "uv": [ + 15, + 46, + 17.75, + 47 + ], + "texture": 0 + }, + "down": { + "uv": [ + 18, + 46, + 20.75, + 47 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "eb770e2e-cd3a-28cd-a446-ab5c7832f786" + }, + { + "name": "HairTail4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.7424, + 9.5, + 1.75 + ], + "to": [ + 1.5076, + 10.5, + 2.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + -4, + 28, + 4 + ], + "faces": { + "north": { + "uv": [ + 17.25, + 49, + 15, + 50 + ], + "texture": 0 + }, + "east": { + "uv": [ + 14, + 49, + 15, + 50 + ], + "texture": 0 + }, + "south": { + "uv": [ + 19, + 49, + 21.25, + 50 + ], + "texture": 0 + }, + "west": { + "uv": [ + 18, + 49, + 19, + 50 + ], + "texture": 0 + }, + "up": { + "uv": [ + 15, + 48, + 17.25, + 49 + ], + "texture": 0 + }, + "down": { + "uv": [ + 18, + 48, + 20.25, + 49 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b8707576-ee4b-8bbd-48ea-f20fd848b925" + }, + { + "name": "Glasses", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.5, + 28.75, + -4.5 + ], + "to": [ + 4.5, + 31.25, + -1.5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.05, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 24, + 36, + 42, + 41 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 41, + 30, + 46 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 30, + 41, + 24, + 46 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "3a0212cc-8f6d-7166-83d0-1918a261f1af" + }, + { + "name": "HairTailBase", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 23.5, + -1 + ], + "to": [ + 4, + 28, + 4 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 10, + 37, + 5, + 41.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 15, + 37, + 10, + 41.5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 20, + 37, + 15, + 41.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 37, + 0, + 41.5 + ], + "texture": 0 + }, + "up": { + "uv": [ + 10, + 32, + 5, + 37 + ], + "texture": 0 + }, + "down": { + "uv": [ + 15, + 32, + 10, + 37 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "1b9b5086-154a-9f68-d2ff-fcca78213c77" + }, + { + "name": "HairBand1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1.4924, + 22.5, + 2.5 + ], + "to": [ + 2.4924, + 23.5, + 3.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 28.575, + 4 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 21, + 32, + 20, + 33 + ], + "texture": 0 + }, + "south": { + "uv": [ + 20, + 32, + 21, + 33 + ], + "texture": 0 + }, + "west": { + "uv": [ + 21, + 32, + 20, + 33 + ], + "texture": 0 + }, + "up": { + "uv": [ + 20, + 32, + 21, + 33 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "a9b17050-3c0d-2d0a-e9f8-398e8915018b" + }, + { + "name": "HairBand2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.7424, + 22.5, + 1.75 + ], + "to": [ + 1.7424, + 23.5, + 2.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 28.575, + 4 + ], + "faces": { + "north": { + "uv": [ + 21, + 32, + 20, + 33 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 21, + 32, + 20, + 33 + ], + "texture": 0 + }, + "west": { + "uv": [ + 21, + 32, + 20, + 33 + ], + "texture": 0 + }, + "up": { + "uv": [ + 20, + 32, + 21, + 33 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b774236b-3310-5ffa-9944-7a1a8b63c5ce" + }, + { + "name": "HairBand3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1.4924, + 22.5, + 1 + ], + "to": [ + 2.4924, + 23.5, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 28.575, + 4 + ], + "faces": { + "north": { + "uv": [ + 21, + 32, + 20, + 33 + ], + "texture": 0 + }, + "east": { + "uv": [ + 21, + 32, + 20, + 33 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 21, + 32, + 20, + 33 + ], + "texture": 0 + }, + "up": { + "uv": [ + 20, + 32, + 21, + 33 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "7ee88f4a-7b1b-92ac-fee7-395bb4231794" + }, + { + "name": "HairBand4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2.2424, + 22.5, + 1.75 + ], + "to": [ + 3.2424, + 23.5, + 2.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 28.575, + 4 + ], + "faces": { + "north": { + "uv": [ + 21, + 32, + 20, + 33 + ], + "texture": 0 + }, + "east": { + "uv": [ + 21, + 32, + 20, + 33 + ], + "texture": 0 + }, + "south": { + "uv": [ + 21, + 32, + 20, + 33 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 20, + 32, + 21, + 33 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e7137437-93b7-e1cc-2b25-a4c8ec6a4732" + }, + { + "name": "HairTail1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.2424, + 13.5, + 0.75 + ], + "to": [ + 3.4924, + 22.5, + 3.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 28, + 4 + ], + "faces": { + "north": { + "uv": [ + 6.25, + 45, + 3, + 54 + ], + "texture": 0 + }, + "east": { + "uv": [ + 10, + 45, + 7, + 54 + ], + "texture": 0 + }, + "south": { + "uv": [ + 13.25, + 45, + 10, + 54 + ], + "texture": 0 + }, + "west": { + "uv": [ + 3, + 45, + 0, + 54 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6.25, + 42, + 3, + 45 + ], + "texture": 0 + }, + "down": { + "uv": [ + 10.25, + 42, + 7, + 45 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "984646b2-975d-01a0-62da-789b3bdc4339" + }, + { + "name": "HairTail2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2576, + 11.5, + 1.25 + ], + "to": [ + 2.7424, + 13.5, + 3.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 28, + 4 + ], + "faces": { + "north": { + "uv": [ + 19, + 44, + 16, + 46 + ], + "texture": 0 + }, + "east": { + "uv": [ + 21, + 44, + 19, + 46 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 44, + 21, + 46 + ], + "texture": 0 + }, + "west": { + "uv": [ + 16, + 44, + 14, + 46 + ], + "texture": 0 + }, + "up": { + "uv": [ + 20, + 42, + 17, + 44 + ], + "texture": 0 + }, + "down": { + "uv": [ + 23, + 42, + 20, + 44 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "7f3ac78a-dc0c-5bb8-61f8-8056a516340a" + }, + { + "name": "HairTail3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.7576, + 10.5, + 1.75 + ], + "to": [ + 1.9924, + 11.5, + 2.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 28, + 4 + ], + "faces": { + "north": { + "uv": [ + 15, + 47, + 17.75, + 48 + ], + "texture": 0 + }, + "east": { + "uv": [ + 19, + 47, + 18, + 48 + ], + "texture": 0 + }, + "south": { + "uv": [ + 21.75, + 47, + 19, + 48 + ], + "texture": 0 + }, + "west": { + "uv": [ + 15, + 47, + 14, + 48 + ], + "texture": 0 + }, + "up": { + "uv": [ + 17.75, + 46, + 15, + 47 + ], + "texture": 0 + }, + "down": { + "uv": [ + 20.75, + 46, + 18, + 47 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "1f20b062-9442-7e22-303e-23424efdde0c" + }, + { + "name": "HairTail4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5076, + 9.5, + 1.75 + ], + "to": [ + 0.7424, + 10.5, + 2.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 28, + 4 + ], + "faces": { + "north": { + "uv": [ + 15, + 49, + 17.25, + 50 + ], + "texture": 0 + }, + "east": { + "uv": [ + 19, + 49, + 18, + 50 + ], + "texture": 0 + }, + "south": { + "uv": [ + 21.25, + 49, + 19, + 50 + ], + "texture": 0 + }, + "west": { + "uv": [ + 15, + 49, + 14, + 50 + ], + "texture": 0 + }, + "up": { + "uv": [ + 17.25, + 48, + 15, + 49 + ], + "texture": 0 + }, + "down": { + "uv": [ + 20.25, + 48, + 18, + 49 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "3dc8ca8a-d421-0529-e91d-59b4df19601d" + }, + { + "name": "BagBase", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.64277, + 4.68934, + 2 + ], + "to": [ + 2.85723, + 26.68934, + 4 + ], + "autouv": 0, + "color": 0, + "origin": [ + -1.39277, + 4.18934, + 2 + ], + "faces": { + "north": { + "uv": [ + 46.5, + 0, + 40, + 22 + ], + "texture": 0 + }, + "east": { + "uv": [ + 44, + 0, + 45, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 40, + 0, + 46.5, + 22 + ], + "texture": 0 + }, + "west": { + "uv": [ + 44, + 0, + 45, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 44, + 0, + 45, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c4dd19ec-5a67-9996-7d5b-f9affdf25bfe" + }, + { + "name": "BagTop", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.64277, + 24.68934, + 2 + ], + "to": [ + 2.85723, + 26.68934, + 4 + ], + "autouv": 0, + "color": 0, + "inflate": 0.05, + "origin": [ + 1.60723, + 24.18934, + 3 + ], + "faces": { + "north": { + "uv": [ + 39, + 0, + 40, + 4 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 39, + 0, + 40, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e5ff47ba-5aa6-d5f9-cb3f-49fd9a0a0dd2" + }, + { + "name": "Emhorus", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.79277, + 25.28934, + 1.99 + ], + "to": [ + 2.00723, + 26.08934, + 1.99 + ], + "autouv": 0, + "color": 0, + "inflate": 0.05, + "origin": [ + 1.60723, + 24.18934, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 54, + 42, + 61 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "51c4432d-f116-9411-d3b7-8910d0bdc9d5" + }, + { + "name": "ShoulderRope1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1.60723, + 5.93934, + 1.75 + ], + "to": [ + 2.10723, + 6.43934, + 4.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1.60723, + 15.18934, + 3 + ], + "faces": { + "north": { + "uv": [ + 39, + 4, + 40, + 5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 39, + 4, + 40, + 5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 39, + 4, + 40, + 5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 39, + 4, + 40, + 5 + ], + "texture": 0 + }, + "up": { + "uv": [ + 39, + 4, + 40, + 5 + ], + "texture": 0 + }, + "down": { + "uv": [ + 39, + 4, + 40, + 5 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "7b22c50b-a5ae-eaca-af7a-5e0129c5c1db" + }, + { + "name": "ShoulderRope5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2.85723, + 5.93934, + 2 + ], + "to": [ + 3.35723, + 6.43934, + 4 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1.60723, + 15.18934, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 39, + 4, + 40, + 5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 39, + 4, + 40, + 5 + ], + "texture": 0 + }, + "up": { + "uv": [ + 39, + 4, + 40, + 5 + ], + "texture": 0 + }, + "down": { + "uv": [ + 39, + 4, + 40, + 5 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "932350d5-3126-630d-23bd-f3eda8396f96" + }, + { + "name": "ShoulderRope6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2.85723, + 5.93934, + -5.25 + ], + "to": [ + 3.35723, + 6.43934, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1.60723, + 15.18934, + 3 + ], + "faces": { + "north": { + "uv": [ + 39, + 4, + 40, + 5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 39, + 4, + 40, + 5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 39, + 4, + 40, + 5 + ], + "texture": 0 + }, + "up": { + "uv": [ + 39, + 4, + 40, + 5 + ], + "texture": 0 + }, + "down": { + "uv": [ + 39, + 4, + 40, + 5 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "23128563-2404-fcb0-623f-05b820e88886" + }, + { + "name": "ShoulderRopeKnob", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2.8472, + 5.68934, + 2.75 + ], + "to": [ + 3.8472, + 6.68934, + 3.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + 2.4822, + 6.18934, + 3 + ], + "faces": { + "north": { + "uv": [ + 44, + 26, + 40, + 30 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 22, + 44, + 26 + ], + "texture": 0 + }, + "south": { + "uv": [ + 40, + 26, + 44, + 30 + ], + "texture": 0 + }, + "west": { + "uv": [ + 40, + 22, + 44, + 26 + ], + "texture": 0 + }, + "up": { + "uv": [ + 44, + 22, + 40, + 26 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 44, + 22, + 40, + 26 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "73143739-5fdb-8282-3c37-9dc795163a52" + }, + { + "name": "WhaleStrap", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1.85723, + 24.43934, + 1.75 + ], + "to": [ + 3.35723, + 25.33934, + 1.75 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 1.85723, + 24.43934, + 1.75 + ], + "faces": { + "north": { + "uv": [ + 24, + 46, + 34, + 52 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 34, + 46, + 24, + 52 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "cd667cbd-7a54-7f74-863a-5c116fdc8513" + }, + { + "name": "StarStrap", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2.02491, + 24.15702, + 1.75 + ], + "to": [ + 2.47491, + 24.60702, + 1.75 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 0, + 0, + -45 + ], + "origin": [ + 2.24991, + 24.38202, + 1.75 + ], + "faces": { + "north": { + "uv": [ + 34, + 46, + 37, + 49 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 34, + 46, + 37, + 49 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "c1789a0d-b315-ddb8-6e66-e86467a3c27b" + }, + { + "name": "StrapLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2.55723, + 25.33934, + 1.75 + ], + "to": [ + 2.65723, + 26.08934, + 1.75 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 1.85723, + 24.43934, + 1.75 + ], + "faces": { + "north": { + "uv": [ + 34, + 49, + 35, + 50 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 34, + 49, + 35, + 50 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6b1bfb88-1131-40ff-f62e-70ac1b541c55" + }, + { + "name": "StrapRing", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2.15723, + 23.41434, + 1.75 + ], + "to": [ + 2.55723, + 24.21434, + 1.75 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 0, + 0, + 15 + ], + "origin": [ + 2.24993, + 24.21434, + 1.75 + ], + "faces": { + "north": { + "uv": [ + 35, + 49, + 37, + 53 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 37, + 49, + 35, + 53 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6b8852bd-44b0-eb14-1575-959815b25037" + }, + { + "name": "ShoulderRope7", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2.85723, + 5.93934, + -16.25 + ], + "to": [ + 3.35723, + 6.43934, + -5.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1.60723, + 15.18934, + -4.25 + ], + "faces": { + "north": { + "uv": [ + 39, + 4, + 40, + 5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 39, + 4, + 40, + 5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 39, + 4, + 40, + 5 + ], + "texture": 0 + }, + "up": { + "uv": [ + 39, + 4, + 40, + 5 + ], + "texture": 0 + }, + "down": { + "uv": [ + 39, + 4, + 40, + 5 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a97eb6c7-8e34-d665-d901-1ec346171e02" + }, + { + "name": "ShoulderRope8", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2.85723, + 5.93934, + -22.8 + ], + "to": [ + 3.35723, + 6.43934, + -16.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 43, + 16, + 0 + ], + "origin": [ + 3.10723, + 5.93934, + -16.25 + ], + "faces": { + "north": { + "uv": [ + 39, + 4, + 40, + 5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 39, + 4, + 40, + 5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 39, + 4, + 40, + 5 + ], + "texture": 0 + }, + "up": { + "uv": [ + 39, + 4, + 40, + 5 + ], + "texture": 0 + }, + "down": { + "uv": [ + 39, + 4, + 40, + 5 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "3d98c5c6-e79f-b4f1-3872-8e018d0cceba" + }, + { + "name": "ShoulderRope4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2.10723, + 5.93934, + 4 + ], + "to": [ + 3.35723, + 6.43934, + 4.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1.60723, + 15.18934, + 3 + ], + "faces": { + "north": { + "uv": [ + 39, + 4, + 40, + 5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 39, + 4, + 40, + 5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 39, + 4, + 40, + 5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 39, + 4, + 40, + 5 + ], + "texture": 0 + }, + "down": { + "uv": [ + 39, + 4, + 40, + 5 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "25272491-f421-5d0b-bc2c-b4b7fe7c53c9" + }, + { + "name": "ShoulderRope2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1.60723, + 5.93934, + -4.75 + ], + "to": [ + 2.10723, + 6.43934, + 1.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1.60723, + 15.18934, + 3 + ], + "faces": { + "north": { + "uv": [ + 39, + 4, + 40, + 5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 39, + 4, + 40, + 5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 39, + 4, + 40, + 5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 39, + 4, + 40, + 5 + ], + "texture": 0 + }, + "up": { + "uv": [ + 39, + 4, + 40, + 5 + ], + "texture": 0 + }, + "down": { + "uv": [ + 39, + 4, + 40, + 5 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "ae78c4ea-9d72-2528-001b-3abc7585fd17" + }, + { + "name": "ShoulderRope3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1.60723, + 5.93934, + -17 + ], + "to": [ + 2.10723, + 6.43934, + -4.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1.60723, + 15.18934, + 3 + ], + "faces": { + "north": { + "uv": [ + 39, + 4, + 40, + 5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 39, + 4, + 40, + 5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 39, + 4, + 40, + 5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 39, + 4, + 40, + 5 + ], + "texture": 0 + }, + "up": { + "uv": [ + 39, + 4, + 40, + 5 + ], + "texture": 0 + }, + "down": { + "uv": [ + 39, + 4, + 40, + 5 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "7305b82c-613c-00f0-46a2-faf88ac205d8" + }, + { + "name": "ShoulderRope4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1.60723, + 5.93934, + -23.25 + ], + "to": [ + 2.10723, + 6.43934, + -17 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 51, + 0, + 0 + ], + "origin": [ + 1.85723, + 5.93934, + -17 + ], + "faces": { + "north": { + "uv": [ + 39, + 4, + 40, + 5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 39, + 4, + 40, + 5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 39, + 4, + 40, + 5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 39, + 4, + 40, + 5 + ], + "texture": 0 + }, + "up": { + "uv": [ + 39, + 4, + 40, + 5 + ], + "texture": 0 + }, + "down": { + "uv": [ + 39, + 4, + 40, + 5 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "9f0bde6a-1832-2441-eb80-26149c058942" + }, + { + "name": "BagBase", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.14277, + 15.68934, + 1.6 + ], + "to": [ + 2.35723, + 21.68934, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -1.39277, + 4.18934, + 2 + ], + "faces": { + "north": { + "uv": [ + 45.5, + 4, + 43, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 44, + 0, + 45, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 44, + 0, + 45, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 44, + 0, + 45, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 44, + 0, + 45, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b3dc2663-a866-7874-1030-57657b6dd617" + } + ], + "outliner": [ + { + "name": "CSwimsuitH", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "8d9b8aa4-7c62-49f7-9614-148cb90f87a3", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "HairTails", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "9e48c97a-1cfa-e8e1-9c31-f6bca58ff75b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "HairTailLeft", + "origin": [ + -4, + 28, + 4 + ], + "rotation": [ + -7.38733, + -1.29876, + -9.91615 + ], + "color": 0, + "uuid": "e55a95e1-c197-717c-3270-d4825f09223b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "dedf3f79-f6cd-8775-e7f5-bcdee4848284", + { + "name": "HairLeftBottom", + "origin": [ + -2, + 23.5, + 2.5 + ], + "color": 0, + "uuid": "2115a404-0049-5ecf-d492-5695654865ec", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "HairLeftBottomZ", + "origin": [ + -2, + 23.5, + 2.5 + ], + "color": 0, + "uuid": "0b1047ab-39a5-b5ea-1851-cdb55ec14887", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "3a3261ee-80ce-0d80-394d-a78210cbfe55", + "6ec3e34a-a4fe-d1db-c3ec-1b5505630c0d", + "caa0430a-d94d-8f96-948e-da1bd2c4f2a3", + "28b825bf-6b3c-f5b0-8797-8191d92020d8", + "4bf618ab-96a0-23c3-fd33-5dacb2fed861", + "621c9c7f-5413-783a-675d-189d5ad0139b", + "eb770e2e-cd3a-28cd-a446-ab5c7832f786", + "b8707576-ee4b-8bbd-48ea-f20fd848b925" + ] + } + ] + } + ] + }, + { + "name": "HairTailRight", + "origin": [ + 4, + 28, + 4 + ], + "rotation": [ + -7.38733, + 1.29876, + 9.91615 + ], + "color": 0, + "uuid": "cff7f127-f25b-ee5c-9c53-69133964391e", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1b9b5086-154a-9f68-d2ff-fcca78213c77", + { + "name": "HairRightBottom", + "origin": [ + 2, + 23.5, + 2.5 + ], + "color": 0, + "uuid": "42c1823b-88c9-018b-adb1-e6d9177c1c8e", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "HairRightBottomZ", + "origin": [ + 2, + 23.5, + 2.5 + ], + "color": 0, + "uuid": "004ad456-bfa6-27e4-c663-509d06b1f775", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a9b17050-3c0d-2d0a-e9f8-398e8915018b", + "b774236b-3310-5ffa-9944-7a1a8b63c5ce", + "7ee88f4a-7b1b-92ac-fee7-395bb4231794", + "e7137437-93b7-e1cc-2b25-a4c8ec6a4732", + "984646b2-975d-01a0-62da-789b3bdc4339", + "7f3ac78a-dc0c-5bb8-61f8-8056a516340a", + "1f20b062-9442-7e22-303e-23424efdde0c", + "3dc8ca8a-d421-0529-e91d-59b4df19601d" + ] + } + ] + } + ] + } + ] + }, + { + "name": "Glasses", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "77441cfb-47ce-13e6-3e08-b9860eb96e85", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "3a0212cc-8f6d-7166-83d0-1918a261f1af" + ] + } + ] + }, + { + "name": "CSwimsuitB", + "origin": [ + -8.875, + 24, + 0 + ], + "color": 0, + "uuid": "03716e1a-6f96-a502-dbbd-47f2af5c8452", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RashGuardB", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "3a7e1ddb-1ab8-5ac3-e3d6-79f73fe47fc3", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1a6c7f49-28d2-e61e-bae0-edc24480ccb2", + "7a8fc19f-eefa-7561-3839-d05fdb6e624c" + ] + }, + { + "name": "GunBag", + "origin": [ + -3, + 15.5, + 3 + ], + "rotation": [ + 0, + 0, + 45 + ], + "color": 0, + "uuid": "ac6ac577-4a9c-4f55-fd70-d0514b28ba58", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "c4dd19ec-5a67-9996-7d5b-f9affdf25bfe", + "b3dc2663-a866-7874-1030-57657b6dd617", + { + "name": "BagTop", + "origin": [ + 1.60723, + 24.18934, + 3 + ], + "color": 0, + "uuid": "0fb840c5-9f03-05bd-ff38-8679c770e595", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e5ff47ba-5aa6-d5f9-cb3f-49fd9a0a0dd2", + "51c4432d-f116-9411-d3b7-8910d0bdc9d5", + { + "name": "WhaleStrap", + "origin": [ + 2.60723, + 26.08934, + 1.75 + ], + "rotation": [ + 0, + 0, + -45 + ], + "color": 0, + "uuid": "528d1029-bd23-8fed-51ed-c1f2d1157354", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "6b1bfb88-1131-40ff-f62e-70ac1b541c55", + "cd667cbd-7a54-7f74-863a-5c116fdc8513", + "c1789a0d-b315-ddb8-6e66-e86467a3c27b", + "6b8852bd-44b0-eb14-1575-959815b25037" + ] + } + ] + }, + { + "name": "ShoulderRope", + "origin": [ + 2.48223, + 6.18934, + 3 + ], + "rotation": [ + 0, + 0, + -2.5 + ], + "color": 0, + "uuid": "5a08ca89-9d27-7d54-27d2-31f92bc69cf2", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "7b22c50b-a5ae-eaca-af7a-5e0129c5c1db", + { + "name": "ShoulderRope2", + "origin": [ + 1.85723, + 5.93934, + 1.75 + ], + "rotation": [ + 45, + 0, + 0 + ], + "color": 0, + "uuid": "c0d70a87-590f-a7c0-cc58-a99ffacacef6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ae78c4ea-9d72-2528-001b-3abc7585fd17", + { + "name": "ShoulderRope3", + "origin": [ + 1.85723, + 5.93934, + -4.75 + ], + "rotation": [ + 45, + 0, + 0 + ], + "color": 0, + "uuid": "efebbe6c-626b-93dd-9236-0789eeed3bae", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "7305b82c-613c-00f0-46a2-faf88ac205d8", + "9f0bde6a-1832-2441-eb80-26149c058942" + ] + } + ] + }, + "25272491-f421-5d0b-bc2c-b4b7fe7c53c9", + "932350d5-3126-630d-23bd-f3eda8396f96", + { + "name": "ShoulderRope6", + "origin": [ + 3.35723, + 5.93934, + 2 + ], + "rotation": [ + 46.5, + 7.5, + 0 + ], + "color": 0, + "uuid": "1bdfe651-d4ad-abbc-ad5d-77c7aaebd182", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "23128563-2404-fcb0-623f-05b820e88886", + { + "name": "ShoulderRope7", + "origin": [ + 3.10723, + 5.93934, + -5.25 + ], + "rotation": [ + 44.5, + 0, + 0 + ], + "color": 0, + "uuid": "c9483bf5-bf93-a5bf-a75c-bd2918b13f2e", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a97eb6c7-8e34-d665-d901-1ec346171e02", + "3d98c5c6-e79f-b4f1-3872-8e018d0cceba" + ] + } + ] + }, + "73143739-5fdb-8282-3c37-9dc795163a52" + ] + } + ] + } + ] + }, + { + "name": "CSwimsuitRA", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "9c814c18-bcf4-1a15-4a44-074fb4724d4e", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "95555977-b118-a858-f061-7fa700b13111" + ] + }, + { + "name": "CSwimsuitRAB", + "origin": [ + 5, + 18, + 2 + ], + "color": 0, + "uuid": "f843f599-0c1b-dd05-ef61-b115e6edcd11", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "643f9c05-2d3c-e1d1-5a2f-874902eb1784" + ] + }, + { + "name": "CSwimsuitLA", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "f5eefdfc-1579-9c37-62c2-453f09f01f48", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "47c82acf-324c-0492-c54e-c4d68440fcf3" + ] + }, + { + "name": "CSwimsuitLAB", + "origin": [ + -5, + 18, + 2 + ], + "color": 0, + "uuid": "551316fb-1b58-5af2-13c3-c5e02ecca541", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "36f4aa4f-6e0e-6713-4ee2-252fec47a67c" + ] + }, + { + "name": "CSwimsuitRL", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "1e4b949c-cf5e-923b-0537-52191b9d3010", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "85df8c99-a79e-dc3e-152d-160199fedd20" + ] + }, + { + "name": "CSwimsuitLL", + "origin": [ + -2, + 12, + 0 + ], + "color": 0, + "uuid": "bbbd8b0c-cc2a-6abd-935a-6dbd8944abb8", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "6c22708c-4427-3e6b-1ed1-5e1d04db20a1" + ] + } + ], + "textures": [ + { + "path": "", + "name": "costume_swimsuit.png", + "folder": "", + "namespace": "", + "id": "1", + "width": 47, + "height": 61, + "uv_width": 47, + "uv_height": 61, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "1fc89d11-7e67-e594-4037-46e42d79b13b", + "relative_path": "../../textures/costume_swimsuit.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC8AAAA9CAYAAAA9OTA8AAAAAXNSR0IArs4c6QAABcNJREFUaEPtmU1onEUYx5/Z3WzTRJvdUN3ElFrTWvCDCoInUW9eBAUPigcFFaviRW0TBEVTqGDTVk+iIlXQg+hBUPDiRa14EgWDVahp/YqmsSW7iU2zbjfvyDO7z5t5Z+dzv7oV38t233lm5vf85z/PzKYMlGe6uMLp1V+V83B5tk8NsX6fzA8yW4A8viuW8zIH2PC5Mt4X9L1hIhp8abGS6DM0nPVKwgW0d6EUi3OokLMmWqlWeF+6LwwewV/cnk8M/OyJIpcTUCEpaRd8iPIKPCp+GwDYlXfB29rbCa/YphFeVoJ84YK3+Ue3T1x7R9eOIhT3HeK55/eQbS4ueBSJc/5ZXazuwy/+vuy10dWgl3aNij13QeERoFnbGODxtdi0rJc9/1+Dx3zicnmxKf8/vLGCtLPOS56PT9Wu2qZNpVIP/8zMfHxRIjnTg/3au83aSjm4ZlcLG4P7YAe6tNXr/IVR3nXXcWVmhVc7f7JUjVdiZY3DYDp5a71jKGO9xrpg1HPFlRznfEq5Ta6XShP8qXP/JJpGBjaI7z0Pj+APjyZ/ER2ZX+GYAMKjei7FTCvge++n/ory9vs82qbT8LortynZOjw1J+Flj1MEev2e4b6Etz9YPM9V/+smVPfJsShpP+yjg6cVUc+JidzAPmkeAc8Ym8KkmFwqb7nyMhHngv/y19OufRm3Y9lVH/UnJrbjz0zdoPvHczJ8IiShLiaCCdjgEZzu2t4ZtBD481PP8VwuB6VSSYxy1Sv7Y+aGsocJ3Lhls9Y2386d6So4wuJPQQTHBPDJv7DXDF+OIv5xaU0Lf2cuDf2pVEt1PnQREB77UAJO+KnvFxoUxhWZur7QdXi0DcKTday2QeU7CR96wpLnSX0r/EOTr/G3ph/XWsPW5muHUHgal5Kw2sYXotm40BO25+BDTtgg2zSrqKmf718nqH+IrTpe9nQnp+6EJXg13hbrDR+dmOOwFgGcKgGM5ABWK5C6YUdD/6W7HuRDH73tPW4rK+09SfTdLIelc4m5Urfu8u7fCqSpr/fkAn5jtqb82DDA2bJW+U5Atg5PtlmtgEginYLU9i3eyXciKe3kwt/4oMfTqdq8+G8Ev6RfqI4JpHZuDYLnnCeuvYyxRH9XuyoAi47/xl0QcTKVKkA2A2D5TF2zTZsQgh38qQqpfF0MANizef3fCHb4TBTzRcUIJq7OgJqgnEDH4WU1H/twQcx9aSEvPg/enI3hMG7iq9p/4v29UBSfr99diFl1SQh4YQ3ZItilri76ul3K47D3vnoSNm26At68v/YLi6AoyUfeLcPy8p/w/hPjiXbdnmGiiqCPyQoUpVoD36PXyfOGT13tpyFdnna1N3oeNydC4YNA9Kig8ns5FuOw/g8NiP7drECJzRUfRAiCD25O2qAAYNqMlFf04y9cxNdXybYKOhuEvkvCH53heGpGR2dqJW1sOEjJeG8Y4GVb2KqIbxJ25clG6H9FeQFqKpkYXG9j42MxSzuA5cTWN6zO46YNKm9qspcEHE9QqTqt5quyLo7FPrXBk8IUg6sgXQ1kr+s27NNvHG/4g9LLj+5sOMw4f48zdp/3qW2H97CFUERTZmlz68BlFTEJjDm8+xvJXn4JrMPr6roFnhQWFYpKZ73kylUGwWaPfQo7rrvd6hBMonnlA+HF2SCV0fiMUBJwKU8ZbT15BJ48cIBVq2WeyfR7Wadl5V0b7of55E1Sjb92lAnboPKzf5zl2woZ6Bl4hNUlgNBqIj0J71odap87vcpH8qxJ5eWaLVcRuZpIt01fqE7Fscl3vtb+UR8nnH7gpoZ2eoefGIP9Te+oncaSv6vv1PFMsYkT1qSKDopi1YRDEqJxXYnLcSZGrfIyjAxqUid0hQjGNp5u1dQkvOBpEll5H9vYVNa1yashg5pWwQteHijEIibP2/wtt6krFKx8pypFO8YNVt53Ut0+8O2ri1OtizH/AreMekdrxsjlAAAAAElFTkSuQmCC" + } + ], + "animations": [ + { + "uuid": "c589ce77-ffd7-06e8-56e4-5b18a4f40a23", + "name": "ex_skill_2", + "loop": "hold", + "override": true, + "length": 4.3, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "2115a404-0049-5ecf-d492-5695654865ec": { + "name": "HairLeftBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "827f66cd-f268-954b-6881-538b5b44ef3a", + "time": 0.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 26.69458, + "y": 6.86379, + "z": -13.36965 + } + ], + "uuid": "0bc74160-4fce-fb53-efb9-da538f04b56e", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 7.5 + } + ], + "uuid": "5b9870d6-cee7-cded-ad15-c2f952e4c206", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 7.5 + } + ], + "uuid": "b5195176-6877-9b77-489a-41e7c02b7bdb", + "time": 1.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 39.32466, + "y": 7.9972, + "z": -9.63846 + } + ], + "uuid": "f1cf0be0-98f0-2ca5-20b6-a6a2e65a073f", + "time": 1.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 39.32, + "y": 8, + "z": -9.64 + } + ], + "uuid": "9522cddb-bc22-3c5f-485b-4b417a6d5980", + "time": 1.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 153.24575, + "y": 39.21193, + "z": 34.05017 + } + ], + "uuid": "03236c47-d513-0f8a-c4d8-a47c0e33dbe2", + "time": 1.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 153.25, + "y": 39.21, + "z": 34.05 + } + ], + "uuid": "86645162-4398-f191-2142-6cfa203efe27", + "time": 2.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "06fb0c5b-f36b-48a8-2fc9-69e70e5a912b", + "time": 2.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 24.60981, + "y": 17.72091, + "z": -33.60502 + } + ], + "uuid": "bb296732-3112-07db-d706-6ce90932f87b", + "time": 2.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "30", + "y": "0", + "z": "0" + } + ], + "uuid": "5f2fc833-06e4-1f4a-fc06-3301143c7357", + "time": 2.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 57.5, + "y": 0, + "z": 0 + } + ], + "uuid": "1722a4ab-cbfe-15f0-7c58-14098e4beb69", + "time": 2.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 57.5, + "y": 0, + "z": 0 + } + ], + "uuid": "fd9776a2-74d9-04a0-8d91-f93fd50b7e82", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 25, + "y": 0, + "z": 0 + } + ], + "uuid": "33e674f0-babe-3149-9e15-35f0fe507bb1", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 40.12074, + "y": -32.79775, + "z": 32.73241 + } + ], + "uuid": "4d7808a9-8069-4bf2-060b-9f3781d23222", + "time": 3.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -81.73489, + "y": -24.77164, + "z": -3.48303 + } + ], + "uuid": "8b287d32-226b-6689-7665-bc05ed872090", + "time": 4.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "42c1823b-88c9-018b-adb1-e6d9177c1c8e": { + "name": "HairRightBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "12ce5ae0-20a2-c5ce-7596-de7717b85f46", + "time": 0.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 26.69458, + "y": -6.86379, + "z": 13.36965 + } + ], + "uuid": "fea19396-4974-5af2-33c4-03002c2b1263", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": -7.5 + } + ], + "uuid": "3d2e4d1f-d104-7d8e-a5b7-aa208baa4a45", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -7.5 + } + ], + "uuid": "476c52ad-b267-463b-c259-81dd7eff4f55", + "time": 1.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 39.32466, + "y": -7.9972, + "z": 9.63846 + } + ], + "uuid": "85448b15-2322-598a-afc3-ae44b3e20af5", + "time": 1.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 39.32, + "y": -8, + "z": 9.64 + } + ], + "uuid": "f73d2e21-309c-a096-764a-c20eab6376b1", + "time": 1.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 153.24575, + "y": -39.21193, + "z": -34.05017 + } + ], + "uuid": "afb98ac9-b10c-4d54-732c-8ea74bafd56b", + "time": 1.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 153.25, + "y": -39.21, + "z": -34.05 + } + ], + "uuid": "e39f6509-6843-c6b6-b52d-d1bbba9e4153", + "time": 2.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "c3b8689d-3c41-1eb4-23ea-6df5e51fba98", + "time": 2.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 24.60981, + "y": 17.72091, + "z": -33.60502 + } + ], + "uuid": "105cad52-5b94-9852-87a3-7a7141957d7e", + "time": 2.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "30", + "y": "0", + "z": "0" + } + ], + "uuid": "bde22753-0dcc-fb93-efd0-05fa2be65616", + "time": 2.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 57.5, + "y": 0, + "z": 0 + } + ], + "uuid": "d9124bb1-bb8a-6936-70bd-9351188d1183", + "time": 2.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 57.5, + "y": 0, + "z": 0 + } + ], + "uuid": "5cd2837b-52b8-83ea-5c81-5ab88a8c7e95", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 25, + "y": 0, + "z": 0 + } + ], + "uuid": "1a8973a2-6126-26bf-858e-12f1d1017d67", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 34.35502, + "y": -38.86642, + "z": 42.5518 + } + ], + "uuid": "f37740c4-99b7-3fe0-da58-181ba4ccdc85", + "time": 3.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0.26078, + "y": -11.00072, + "z": 46.50931 + } + ], + "uuid": "553ea5fb-de53-d07a-fbce-0fb8f621dedd", + "time": 4.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "77441cfb-47ce-13e6-3e08-b9860eb96e85": { + "name": "Glasses", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "739e9f58-fe6d-1831-3acc-5d00adb09462", + "time": 0.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": -4, + "z": 0 + } + ], + "uuid": "08566417-6552-e0f6-9ec7-21bcd96fd3ec", + "time": 0.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": -4, + "z": 0 + } + ], + "uuid": "304b478c-a43b-34b3-fb16-17cc0ed2e50a", + "time": 1.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 0 + } + ], + "uuid": "46bdef84-c4d6-1bdf-df95-6fdb04c935e2", + "time": 1.95, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + }, + { + "uuid": "88e4e08d-fadf-33a3-80ac-4d43274c675a", + "name": "float_afk", + "loop": "hold", + "override": true, + "length": 1.5, + "snapping": 20, + "selected": true, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "e55a95e1-c197-717c-3270-d4825f09223b": { + "name": "HairTailLeft", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "976cb4cc-04a3-f6ae-def5-e895145d5faf", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "2115a404-0049-5ecf-d492-5695654865ec": { + "name": "HairLeftBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "b49b9d39-b90e-4483-2112-b150e4f96a9c", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0.5867, + "y": 11.72145, + "z": -41.15088 + } + ], + "uuid": "67205f3d-7535-1b70-941f-4e073c787c76", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "ad41fc23-9548-41e2-ab18-9dbd74a2ad90", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 2 + } + ], + "uuid": "494ddecb-31a5-f370-e3ba-3ebc21bd9427", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "0b1047ab-39a5-b5ea-1851-cdb55ec14887": { + "name": "HairLeftBottomZ", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "06e25161-5c0a-992e-34d2-6bb0b94ded22", + "time": 1.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "42c1823b-88c9-018b-adb1-e6d9177c1c8e": { + "name": "HairRightBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "419ea54a-1578-6c08-70c3-c8849e933b5b", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 22.5, + "y": 0, + "z": -50 + } + ], + "uuid": "c2791b86-0ed1-a0ce-680b-51e27fa29ca1", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Hoshino/models/death_animation.bbmodel b/config/yosbr/config/figura/avatars/Hoshino/models/death_animation.bbmodel new file mode 100644 index 0000000..230409b --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/models/death_animation.bbmodel @@ -0,0 +1,20545 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "death_animation", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 256, + "height": 191 + }, + "elements": [ + { + "name": "Body1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20, + 15.5, + -37 + ], + "to": [ + 20, + 55.5, + 33 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 70, + 0, + 0, + 40 + ], + "texture": 0 + }, + "south": { + "uv": [ + 70, + 105, + 110, + 145 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 70, + 40 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 40, + 70, + 80 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 80, + 70, + 120 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "b7c05a5f-7761-cdb8-f20e-1c37a3ade2d6" + }, + { + "name": "FrontWindow1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20, + 38.25, + -64.75 + ], + "to": [ + 20, + 55.25, + -36.5 + ], + "autouv": 0, + "color": 0, + "inflate": -0.01, + "rotation": [ + -70, + 0, + 0 + ], + "origin": [ + 0, + 55, + -37 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 98.25, + 0, + 70, + 17 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 70, + 0, + 98.25, + 17 + ], + "texture": 0 + }, + "up": { + "uv": [ + 70, + 41, + 110, + 69.25 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "96c3a955-eb63-9471-5196-694594fda260" + }, + { + "name": "Nose1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -10, + 15.5, + -75.25 + ], + "to": [ + 10, + 32.5, + -45.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -25.25 + ], + "faces": { + "north": { + "uv": [ + 111, + 14, + 131, + 31 + ], + "texture": 0 + }, + "east": { + "uv": [ + 161, + 14.25, + 131, + 31.25 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 131, + 14.25, + 161, + 31.25 + ], + "texture": 0 + }, + "up": { + "uv": [ + 161, + 14, + 191, + 34 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 191, + 14, + 161, + 34 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "e7fa4708-6808-a16e-c3cf-84c4423ce64d" + }, + { + "name": "Nose2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 10, + 15.5, + -76.925 + ], + "to": [ + 20, + 29.5, + -46.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 19.15, + 0 + ], + "origin": [ + 20, + 22.5, + -46.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 80, + 17, + 110.425, + 31 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 99, + 4, + 129.425, + 14 + ], + "rotation": 270, + "texture": 0 + }, + "down": { + "uv": [ + 129.425, + 4, + 99, + 14 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "c62a05d2-a700-0657-0afa-5f2244004bff" + }, + { + "name": "Body2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20, + 15.5, + -46.5 + ], + "to": [ + 20, + 29.5, + -37 + ], + "autouv": 0, + "color": 0, + "inflate": -0.001, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 79.5, + 17, + 70, + 31 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 70, + 17, + 79.5, + 31 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 70, + 31, + 110, + 40.5 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f00ed130-bf0d-ecc1-f1ca-bbf1616f1ada" + }, + { + "name": "Nose3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20, + 15.5, + -76.925 + ], + "to": [ + -10, + 29.5, + -46.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -19.15, + 0 + ], + "origin": [ + -20, + 22.5, + -46.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 110.425, + 17, + 80, + 31 + ], + "texture": 0 + }, + "up": { + "uv": [ + 99, + 14, + 129.425, + 4 + ], + "rotation": 270, + "texture": 0 + }, + "down": { + "uv": [ + 129.425, + 14, + 99, + 4 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "09ad8112-4cf8-8762-652e-f5ad6d9f618e" + }, + { + "name": "RearBody1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -10, + 15.5, + 33 + ], + "to": [ + 10, + 50.5, + 63 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 191, + 14, + 211, + 49 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 130, + 32, + 150, + 62 + ], + "texture": 0 + }, + "down": { + "uv": [ + 170, + 34, + 190, + 64 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "890f0f8a-d674-0b64-0662-72ec21b7e302" + }, + { + "name": "RearBody2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20, + 15.5, + 33 + ], + "to": [ + 0, + 50.5, + 64.62 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 18.4, + 0 + ], + "origin": [ + -20, + 35, + 33 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 70, + 70, + 101.62, + 105 + ], + "texture": 0 + }, + "up": { + "uv": [ + 110, + 31, + 130, + 62.62 + ], + "texture": 0 + }, + "down": { + "uv": [ + 150, + 34, + 170, + 65.62 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "553e0577-b6a2-7ca8-524a-dcd364e5e845" + }, + { + "name": "RearBody3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 15.5, + 33 + ], + "to": [ + 20, + 50.5, + 64.62 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -18.4, + 0 + ], + "origin": [ + 20, + 35, + 33 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 101.62, + 70, + 70, + 105 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 130, + 31, + 110, + 62.62 + ], + "texture": 0 + }, + "down": { + "uv": [ + 170, + 34, + 150, + 65.62 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "6e532d40-881b-73cd-c7ce-a6d5be00d54f" + }, + { + "name": "EngineRoom1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 55.5, + -13 + ], + "to": [ + 8, + 71.5, + 13 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 110, + 125, + 126, + 141 + ], + "texture": 0 + }, + "east": { + "uv": [ + 152, + 125, + 126, + 141 + ], + "texture": 0 + }, + "south": { + "uv": [ + 152, + 125, + 168, + 141 + ], + "texture": 0 + }, + "west": { + "uv": [ + 126, + 125, + 152, + 141 + ], + "texture": 0 + }, + "up": { + "uv": [ + 168, + 125, + 194, + 141 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6daed1d4-981e-461b-e3bb-74c380ac33dc" + }, + { + "name": "EngineRoomLeft1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16, + 55.5, + -13 + ], + "to": [ + -8, + 61.5, + 17 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 120, + 8, + 126 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 8, + 120, + 38, + 126 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 126, + 30, + 134 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "429f5b24-b23e-95d7-a9ee-497cc9d6870d" + }, + { + "name": "EngineRoomLeft2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16, + 50.5, + 17 + ], + "to": [ + -8, + 64.5, + 45 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 28, + 134, + 42, + 142 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 42, + 134, + 56, + 142 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 38, + 120, + 66, + 134 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 134, + 28, + 142 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "4f5a613d-8830-b138-718b-9ffbb057e3d2" + }, + { + "name": "EngineRoom2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 50.5, + 13 + ], + "to": [ + 8, + 67.5, + 59 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 240, + 117, + 194, + 134 + ], + "texture": 0 + }, + "south": { + "uv": [ + 240, + 117, + 256, + 134 + ], + "texture": 0 + }, + "west": { + "uv": [ + 194, + 117, + 240, + 134 + ], + "texture": 0 + }, + "up": { + "uv": [ + 194, + 134, + 240, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "00352831-878c-36dd-56e5-23907f1b47fa" + }, + { + "name": "EngineRoomExhaustLeft1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16, + 63.5, + 45 + ], + "to": [ + -8, + 64.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 30, + 131, + 38, + 132 + ], + "texture": 0 + }, + "west": { + "uv": [ + 37, + 132, + 38, + 126 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 30, + 126, + 38, + 132 + ], + "texture": 0 + }, + "down": { + "uv": [ + 30, + 126, + 31, + 127 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "59b62c8d-08db-51f2-9fd9-207412f3c43a" + }, + { + "name": "EngineRoomExhaustLeft2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16, + 56.5, + 45 + ], + "to": [ + -8, + 57.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 30, + 131, + 38, + 132 + ], + "texture": 0 + }, + "west": { + "uv": [ + 30, + 132, + 31, + 126 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 30, + 126, + 38, + 132 + ], + "texture": 0 + }, + "down": { + "uv": [ + 30, + 126, + 38, + 132 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "48913cfa-28ec-987b-4365-3a4efe28b6e9" + }, + { + "name": "EngineRoomExhaustLeft3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16, + 57.5, + 45 + ], + "to": [ + -15, + 63.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 30, + 126, + 31, + 127 + ], + "texture": 0 + }, + "south": { + "uv": [ + 31, + 131, + 37, + 132 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 31, + 126, + 37, + 132 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "12a1c9b3-563f-29d1-4231-8b8960e9bf95" + }, + { + "name": "EngineRoomExhaustLeft4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -9, + 57.5, + 45 + ], + "to": [ + -8, + 63.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 31, + 131, + 37, + 132 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 31, + 126, + 37, + 132 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "bb1f1492-cd11-fc0f-eb04-6a5f11c8bd62" + }, + { + "name": "RotorShaft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 71.5, + -2 + ], + "to": [ + 2, + 77.5, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 142, + 4, + 148 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 142, + 4, + 148 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 142, + 4, + 148 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 142, + 4, + 148 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "a1ca5212-93a0-4d30-6122-d2e5c9872983" + }, + { + "name": "RotorHead", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5, + 77.5, + -5 + ], + "to": [ + 5, + 81.5, + 5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 4, + 152, + 14, + 156 + ], + "texture": 0 + }, + "east": { + "uv": [ + 4, + 152, + 14, + 156 + ], + "texture": 0 + }, + "south": { + "uv": [ + 4, + 152, + 14, + 156 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 152, + 14, + 156 + ], + "texture": 0 + }, + "up": { + "uv": [ + 4, + 142, + 14, + 152 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 142, + 14, + 152 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "66601b79-7b9e-fa15-2bd4-56693acf0bb7" + }, + { + "name": "BladeSleeve", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 78.5, + -17 + ], + "to": [ + 3, + 80.5, + -5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 44, + 142, + 38, + 144 + ], + "texture": 0 + }, + "east": { + "uv": [ + 38, + 142, + 26, + 144 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 26, + 142, + 38, + 144 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "103317bc-2688-89dd-17f8-3650470efcaa" + }, + { + "name": "Blade1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 79, + -25 + ], + "to": [ + 2, + 80, + -17 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 94, + 152, + 102, + 153 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 94, + 149, + 102, + 150 + ], + "texture": 0 + }, + "up": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "d1db4ea0-4661-4e86-13ab-d074bdb22394" + }, + { + "name": "Blade2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 79, + -105 + ], + "to": [ + 3, + 80, + -25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 14, + 148, + 15, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 94, + 153, + 14, + 154 + ], + "texture": 0 + }, + "south": { + "uv": [ + 93, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 14, + 148, + 94, + 149 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 148, + 14, + 154 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "8c22cade-6d0a-00a9-2974-2804a153f903" + }, + { + "name": "Tail1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 17.5, + 62 + ], + "to": [ + 7, + 48.5, + 97 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -158 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 145, + 94, + 110, + 125 + ], + "texture": 0 + }, + "south": { + "uv": [ + 211, + 0, + 225, + 31 + ], + "texture": 0 + }, + "west": { + "uv": [ + 110, + 94, + 145, + 125 + ], + "texture": 0 + }, + "up": { + "uv": [ + 110, + 66, + 145, + 80 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 110, + 80, + 145, + 94 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "623664b1-2689-578e-fd04-eee31711ff1d" + }, + { + "name": "Tail2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 21.5, + 97 + ], + "to": [ + 7, + 48.5, + 132 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -158 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 180, + 94, + 145, + 121 + ], + "texture": 0 + }, + "south": { + "uv": [ + 211, + 31, + 225, + 62 + ], + "texture": 0 + }, + "west": { + "uv": [ + 145, + 94, + 180, + 121 + ], + "texture": 0 + }, + "up": { + "uv": [ + 145, + 66, + 180, + 80 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 145, + 80, + 180, + 94 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "fc8ce5f4-0840-2f3d-140f-21dc84105267" + }, + { + "name": "Tail3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 25.5, + 132 + ], + "to": [ + 7, + 48.5, + 167 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -158 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 215, + 94, + 180, + 117 + ], + "texture": 0 + }, + "south": { + "uv": [ + 225, + 0, + 239, + 23 + ], + "texture": 0 + }, + "west": { + "uv": [ + 180, + 94, + 215, + 117 + ], + "texture": 0 + }, + "up": { + "uv": [ + 180, + 66, + 215, + 80 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 180, + 80, + 215, + 94 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "8e802d51-1ae6-3899-f6d4-8cd3c38b139f" + }, + { + "name": "Tail4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 29.5, + 167 + ], + "to": [ + 7, + 48.5, + 202 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -158 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 250, + 94, + 215, + 113 + ], + "texture": 0 + }, + "south": { + "uv": [ + 225, + 23, + 239, + 42 + ], + "texture": 0 + }, + "west": { + "uv": [ + 215, + 94, + 250, + 113 + ], + "texture": 0 + }, + "up": { + "uv": [ + 215, + 66, + 250, + 80 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 215, + 80, + 250, + 94 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "67af4d6d-9e06-3523-d121-1449e5623033" + }, + { + "name": "TailBladeLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -27, + 27.5, + 110 + ], + "to": [ + -7, + 29.5, + 120 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 10, + 0 + ], + "origin": [ + -7, + 28, + 110 + ], + "faces": { + "north": { + "uv": [ + 150, + 8, + 130, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 180, + 8, + 160, + 10 + ], + "texture": 0 + }, + "west": { + "uv": [ + 160, + 8, + 150, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 206, + 0, + 186, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 206, + 10, + 186, + 0 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f0926915-1b03-abd3-2ff0-fb9e7b9d69ba" + }, + { + "name": "Tail5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 48.5, + 175 + ], + "to": [ + 4, + 88.5, + 191 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 48, + 175 + ], + "faces": { + "north": { + "uv": [ + 130, + 0, + 170, + 8 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 255, + 0, + 239, + 40 + ], + "texture": 0 + }, + "south": { + "uv": [ + 130, + 0, + 170, + 8 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 239, + 0, + 255, + 40 + ], + "texture": 0 + }, + "up": { + "uv": [ + 170, + 0, + 186, + 8 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "0945a87b-a1d3-7f38-aac7-6dcca9f02a58" + }, + { + "name": "RotorShaft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 79.5, + 181 + ], + "to": [ + 10, + 83.5, + 185 + ], + "autouv": 0, + "color": 0, + "origin": [ + 11, + 85, + 175 + ], + "faces": { + "north": { + "uv": [ + 0, + 156, + 4, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 156, + 4, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 156, + 4, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 156, + 4, + 162 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "4921cf7b-b2b3-af9f-9a0d-45bd294a5c63" + }, + { + "name": "RotorHead", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 10, + 76.5, + 178 + ], + "to": [ + 14, + 86.5, + 188 + ], + "autouv": 0, + "color": 0, + "origin": [ + 11, + 85, + 175 + ], + "faces": { + "north": { + "uv": [ + 4, + 166, + 14, + 170 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 4, + 156, + 14, + 166 + ], + "texture": 0 + }, + "south": { + "uv": [ + 4, + 166, + 14, + 170 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 4, + 156, + 14, + 166 + ], + "texture": 0 + }, + "up": { + "uv": [ + 4, + 166, + 14, + 170 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 4, + 166, + 14, + 170 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "5354d04a-dcfe-a853-0890-af0a391580cf" + }, + { + "name": "TailSleeve", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11, + 72.5, + 180 + ], + "to": [ + 13, + 76.5, + 186 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 81, + 183 + ], + "faces": { + "north": { + "uv": [ + 18, + 154, + 22, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 14, + 154, + 18, + 160 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 18, + 154, + 22, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 14, + 154, + 18, + 160 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 22, + 154, + 28, + 156 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "b4ca7b1a-f286-c59f-de41-2f4c81ebcf60" + }, + { + "name": "Blade1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11.5, + 68.5, + 183 + ], + "to": [ + 12.5, + 72.5, + 185 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 81, + 183 + ], + "faces": { + "north": { + "uv": [ + 34, + 160, + 30, + 161 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 34, + 160, + 30, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 34, + 161, + 30, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 34, + 160, + 30, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b22dabbf-eb73-a416-efd2-8c592faea638" + }, + { + "name": "Blade2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11.5, + 52.5, + 181 + ], + "to": [ + 12.5, + 68.5, + 185 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 81, + 183 + ], + "faces": { + "north": { + "uv": [ + 30, + 160, + 14, + 161 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 30, + 160, + 14, + 164 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 30, + 163, + 14, + 164 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 30, + 160, + 14, + 164 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 29, + 164, + 30, + 160 + ], + "texture": 0 + }, + "down": { + "uv": [ + 14, + 164, + 15, + 160 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8659a038-d656-e9a6-677d-860067d72528" + }, + { + "name": "LanderShaft1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16, + -1.5, + -37 + ], + "to": [ + -14, + 15.5, + -35 + ], + "autouv": 0, + "color": 0, + "origin": [ + -15, + 13, + -25 + ], + "faces": { + "north": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b9e80942-0725-306b-d7d1-726fef83a08d" + }, + { + "name": "LanderShaft2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16, + -1.5, + 31 + ], + "to": [ + -14, + 15.5, + 33 + ], + "autouv": 0, + "color": 0, + "origin": [ + -15, + 13, + -25 + ], + "faces": { + "north": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "be81893d-06ce-98ae-2241-f24e1a6e49e0" + }, + { + "name": "LanderBottom1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -18, + -2.5, + -47 + ], + "to": [ + -12, + -0.5, + 43 + ], + "autouv": 0, + "color": 0, + "origin": [ + -14, + 15, + -2 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 110, + 154, + 200, + 156 + ], + "texture": 0 + }, + "south": { + "uv": [ + 110, + 150, + 112, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 110, + 150, + 200, + 152 + ], + "texture": 0 + }, + "up": { + "uv": [ + 110, + 150, + 200, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 110, + 150, + 200, + 156 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "d4502cca-0b14-7d86-6160-f86322c35b25" + }, + { + "name": "LanderBottom2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -18, + -2.5, + -57 + ], + "to": [ + -12, + -0.5, + -47 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -15, + -3, + -47 + ], + "faces": { + "north": { + "uv": [ + 200, + 150, + 202, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 200, + 154, + 210, + 156 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 200, + 150, + 210, + 152 + ], + "texture": 0 + }, + "up": { + "uv": [ + 200, + 150, + 210, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 200, + 150, + 210, + 156 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "57c510e5-6036-ee15-39e0-ae4cbb2c00fa" + }, + { + "name": "LanderShaft1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 14, + -1.5, + -37 + ], + "to": [ + 16, + 15.5, + -35 + ], + "autouv": 0, + "color": 0, + "origin": [ + 15, + 13, + -25 + ], + "faces": { + "north": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e7f46383-2d20-b790-1b02-2efbd9022ded" + }, + { + "name": "LanderShaft2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 14, + -1.5, + 31 + ], + "to": [ + 16, + 15.5, + 33 + ], + "autouv": 0, + "color": 0, + "origin": [ + 15, + 13, + -25 + ], + "faces": { + "north": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "30329970-0ddf-fc94-6f51-ee9cfbee974b" + }, + { + "name": "LanderBottom1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 12, + -2.5, + -47 + ], + "to": [ + 18, + -0.5, + 43 + ], + "autouv": 0, + "color": 0, + "origin": [ + 14, + 15, + -2 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 110, + 154, + 200, + 156 + ], + "texture": 0 + }, + "south": { + "uv": [ + 110, + 150, + 112, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 110, + 150, + 200, + 152 + ], + "texture": 0 + }, + "up": { + "uv": [ + 110, + 150, + 200, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 110, + 150, + 200, + 156 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "22aaf02a-dcc5-0b1e-163c-8f002d8a332d" + }, + { + "name": "LanderBottom2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 12, + -2.5, + -57 + ], + "to": [ + 18, + -0.5, + -47 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + 15, + -3, + -47 + ], + "faces": { + "north": { + "uv": [ + 200, + 150, + 202, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 200, + 154, + 210, + 156 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 200, + 150, + 210, + 152 + ], + "texture": 0 + }, + "up": { + "uv": [ + 200, + 150, + 210, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 200, + 150, + 210, + 156 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "7823fa17-de11-0fe8-2baf-f8fb991f1c3a" + }, + { + "name": "TailBladeRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 7, + 27.5, + 110 + ], + "to": [ + 27, + 29.5, + 120 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -10, + 0 + ], + "origin": [ + 7, + 28, + 110 + ], + "faces": { + "north": { + "uv": [ + 130, + 8, + 150, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 150, + 8, + 160, + 10 + ], + "texture": 0 + }, + "south": { + "uv": [ + 160, + 8, + 180, + 10 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 186, + 0, + 206, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 186, + 10, + 206, + 0 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "87df5ebb-ce10-e033-a030-13710b994a15" + }, + { + "name": "EngineRoomRight1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + 55.5, + -13 + ], + "to": [ + 16, + 61.5, + 17 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 8, + 120, + 0, + 126 + ], + "texture": 0 + }, + "east": { + "uv": [ + 38, + 120, + 8, + 126 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 134, + 30, + 126 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "02e23b3b-bbd1-8429-2e72-30a7942b1a59" + }, + { + "name": "EngineRoomRight2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + 50.5, + 17 + ], + "to": [ + 16, + 64.5, + 45 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 28, + 142, + 42, + 134 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 66, + 120, + 38, + 134 + ], + "texture": 0 + }, + "south": { + "uv": [ + 42, + 134, + 56, + 142 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 142, + 28, + 134 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "47afaa80-32d5-ef12-1c54-f7af51108b24" + }, + { + "name": "EngineRoomExhaustRight1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + 63.5, + 45 + ], + "to": [ + 16, + 64.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 37, + 126, + 38, + 132 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 38, + 131, + 30, + 132 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 38, + 126, + 30, + 132 + ], + "texture": 0 + }, + "down": { + "uv": [ + 38, + 126, + 30, + 132 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b0c15dcb-3164-8e83-617a-faf2031bad34" + }, + { + "name": "EngineRoomExhaustRight2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + 56.5, + 45 + ], + "to": [ + 16, + 57.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 37, + 126, + 38, + 132 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 38, + 131, + 30, + 132 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 38, + 126, + 30, + 132 + ], + "texture": 0 + }, + "down": { + "uv": [ + 38, + 126, + 30, + 132 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "fea2953f-ff6d-d6f4-0e7a-12e45eb37e3d" + }, + { + "name": "EngineRoomExhaustRight3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 15, + 57.5, + 45 + ], + "to": [ + 16, + 63.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 37, + 132, + 31, + 126 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 31, + 132, + 37, + 131 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6e2dde80-d293-08d7-2c83-8f7edab96858" + }, + { + "name": "EngineRoomExhaustRight4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + 57.5, + 45 + ], + "to": [ + 9, + 63.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 31, + 132, + 37, + 126 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 31, + 132, + 37, + 131 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "787b4297-9e84-2172-ca92-f890a7337aaa" + }, + { + "name": "BladeSleeve", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 78.5, + -17 + ], + "to": [ + 3, + 80.5, + -5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 44, + 142, + 38, + 144 + ], + "texture": 0 + }, + "east": { + "uv": [ + 38, + 142, + 26, + 144 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 26, + 142, + 38, + 144 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "db87ecaf-8136-4d52-d5c9-3d4f4b20fd3d" + }, + { + "name": "Blade1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 79, + -25 + ], + "to": [ + 2, + 80, + -17 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 94, + 152, + 102, + 153 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 94, + 149, + 102, + 150 + ], + "texture": 0 + }, + "up": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "c586ee43-2365-0815-9be1-57eb4d52415d" + }, + { + "name": "Blade2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 79, + -105 + ], + "to": [ + 3, + 80, + -25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 14, + 148, + 15, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 94, + 153, + 14, + 154 + ], + "texture": 0 + }, + "south": { + "uv": [ + 93, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 14, + 148, + 94, + 149 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 148, + 14, + 154 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "adfdc4b7-1eb1-0617-f8ab-48b0db5665f9" + }, + { + "name": "BladeSleeve", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 78.5, + -17 + ], + "to": [ + 3, + 80.5, + -5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 44, + 142, + 38, + 144 + ], + "texture": 0 + }, + "east": { + "uv": [ + 38, + 142, + 26, + 144 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 26, + 142, + 38, + 144 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "9a654922-f592-c03e-ec3a-411273b14955" + }, + { + "name": "Blade1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 79, + -25 + ], + "to": [ + 2, + 80, + -17 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 94, + 152, + 102, + 153 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 94, + 149, + 102, + 150 + ], + "texture": 0 + }, + "up": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "34b50ab0-c515-6c0a-ebe9-80822ac5c44e" + }, + { + "name": "Blade2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 79, + -105 + ], + "to": [ + 3, + 80, + -25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 14, + 148, + 15, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 94, + 153, + 14, + 154 + ], + "texture": 0 + }, + "south": { + "uv": [ + 93, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 14, + 148, + 94, + 149 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 148, + 14, + 154 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "d28f3b53-e1fd-6e19-ee52-768b3d16f520" + }, + { + "name": "BladeSleeve", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 78.5, + -17 + ], + "to": [ + 3, + 80.5, + -5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 44, + 142, + 38, + 144 + ], + "texture": 0 + }, + "east": { + "uv": [ + 38, + 142, + 26, + 144 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 26, + 142, + 38, + 144 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "cf06849c-bf04-230f-8555-70a0f6fbb714" + }, + { + "name": "Blade1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 79, + -25 + ], + "to": [ + 2, + 80, + -17 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 94, + 152, + 102, + 153 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 94, + 149, + 102, + 150 + ], + "texture": 0 + }, + "up": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "b91de1a5-0b22-48de-55da-1ad9e0400b04" + }, + { + "name": "Blade2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 79, + -105 + ], + "to": [ + 3, + 80, + -25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 14, + 148, + 15, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 94, + 153, + 14, + 154 + ], + "texture": 0 + }, + "south": { + "uv": [ + 93, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 14, + 148, + 94, + 149 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 148, + 14, + 154 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "3ae96f69-18b8-0a78-9d04-f3caffc1b4a1" + }, + { + "name": "TailSleeve", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11, + 72.5, + 180 + ], + "to": [ + 13, + 76.5, + 186 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 81, + 183 + ], + "faces": { + "north": { + "uv": [ + 18, + 154, + 22, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 14, + 154, + 18, + 160 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 18, + 154, + 22, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 14, + 154, + 18, + 160 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 22, + 154, + 28, + 156 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "4e2b41c3-a5b0-7ac4-3410-47ad58210db4" + }, + { + "name": "Blade1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11.5, + 68.5, + 183 + ], + "to": [ + 12.5, + 72.5, + 185 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 81, + 183 + ], + "faces": { + "north": { + "uv": [ + 34, + 160, + 30, + 161 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 34, + 160, + 30, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 34, + 161, + 30, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 34, + 160, + 30, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b017b261-b144-7afe-0641-3d4b4b111aa5" + }, + { + "name": "Blade2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11.5, + 52.5, + 181 + ], + "to": [ + 12.5, + 68.5, + 185 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 81, + 183 + ], + "faces": { + "north": { + "uv": [ + 30, + 160, + 14, + 161 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 30, + 160, + 14, + 164 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 30, + 163, + 14, + 164 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 30, + 160, + 14, + 164 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 29, + 164, + 30, + 160 + ], + "texture": 0 + }, + "down": { + "uv": [ + 14, + 164, + 15, + 160 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "aeb1e055-a22c-2884-4143-efb88f549cb3" + }, + { + "name": "DoorLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20.1, + 16.5, + -21 + ], + "to": [ + -18.1, + 51.5, + 28 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 34, + 154, + 36, + 189 + ], + "texture": 0 + }, + "east": { + "uv": [ + 85, + 156, + 134, + 191 + ], + "texture": 0 + }, + "south": { + "uv": [ + 34, + 154, + 36, + 189 + ], + "texture": 0 + }, + "west": { + "uv": [ + 36, + 156, + 85, + 191 + ], + "texture": 0 + }, + "up": { + "uv": [ + 36, + 154, + 85, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 36, + 154, + 85, + 156 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "c683f988-d7ac-d768-398e-41744d3302cb" + }, + { + "name": "DoorRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 18.1, + 16.5, + -21 + ], + "to": [ + 20.1, + 51.5, + 28 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 36, + 154, + 34, + 189 + ], + "texture": 0 + }, + "east": { + "uv": [ + 85, + 156, + 36, + 191 + ], + "texture": 0 + }, + "south": { + "uv": [ + 36, + 154, + 34, + 189 + ], + "texture": 0 + }, + "west": { + "uv": [ + 134, + 156, + 85, + 191 + ], + "texture": 0 + }, + "up": { + "uv": [ + 36, + 156, + 85, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 36, + 156, + 85, + 154 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "0c7841d3-9d21-15ca-262b-1627bc2f205b" + }, + { + "name": "SchaleLabel", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20.2, + 19.5, + -16 + ], + "to": [ + -20.2, + 24.5, + 23 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 134, + 156, + 173, + 161 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "166f93d9-1fd0-34ac-2675-dd025f53f0f8" + }, + { + "name": "SchaleLabel", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 20.2, + 19.5, + -16 + ], + "to": [ + 20.2, + 24.5, + 23 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 134, + 156, + 173, + 161 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "20c339d6-7391-1da8-9c28-0cd84d7d4b32" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 2, + 7 + ], + "to": [ + 1, + 18, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 2, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "ceea50d1-ebb7-d7cb-b6b9-69a321fd2698" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 2, + -3 + ], + "to": [ + 1, + 18, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 2, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2cbdf3db-26d4-6b03-d386-78cbd775872a" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 5.5, + -4 + ], + "to": [ + 2, + 6.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 2, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "bc13f85c-c966-c61e-8958-954dae7efcd9" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 13.5, + -4 + ], + "to": [ + 2, + 14.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 2, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "af62dbcd-800e-f962-49ef-2cc8b7512391" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -14, + 7 + ], + "to": [ + 1, + 2, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -14, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a2f4989f-e70f-5196-4050-f0b1825614e1" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -14, + -3 + ], + "to": [ + 1, + 2, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -14, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "3c8f15aa-a7a8-ebc5-4678-c3e2f4a624d7" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -2.5, + -4 + ], + "to": [ + 2, + -1.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -14, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "05bc5a8b-b514-4d34-9df4-85a29e758ed2" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -10.5, + -4 + ], + "to": [ + 2, + -9.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -14, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "560ddc94-bfeb-9ca3-3ad5-2b996a9417e5" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -30, + 7 + ], + "to": [ + 1, + -14, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -30, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5ad4ce08-eefc-6107-fc45-b54c501d5a17" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -30, + -3 + ], + "to": [ + 1, + -14, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -30, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5382e7ce-0210-07a3-5a39-564881ad85b6" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -18.5, + -4 + ], + "to": [ + 2, + -17.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -30, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "651651ac-c2e0-5cef-8e1a-981e98653024" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -26.5, + -4 + ], + "to": [ + 2, + -25.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -30, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "29295c79-a462-f3ae-b17d-165b0b24e5d0" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -46, + 7 + ], + "to": [ + 1, + -30, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -46, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "adcf364d-c4cb-636b-81d6-c7977d7b3525" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -46, + -3 + ], + "to": [ + 1, + -30, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -46, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "42f4c692-3694-c495-ec99-09556d5bb0c0" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -34.5, + -4 + ], + "to": [ + 2, + -33.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -46, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "595ef090-7f9a-8179-e935-4b29f2d7e184" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -42.5, + -4 + ], + "to": [ + 2, + -41.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -46, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "9d74e4a4-4705-1cf9-0022-51fe5ae26385" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -62, + 7 + ], + "to": [ + 1, + -46, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -62, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e61bb277-9b35-78e5-93f1-b3f8d8d7fc7f" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -62, + -3 + ], + "to": [ + 1, + -46, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -62, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "37236c6a-8616-a237-baa4-aa0ead82d0f7" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -50.5, + -4 + ], + "to": [ + 2, + -49.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -62, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "1a350fe0-670a-70fe-88e3-734694dad6ba" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -58.5, + -4 + ], + "to": [ + 2, + -57.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -62, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "6584c65b-14b3-9256-0b14-bc8198dfc9fb" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -78, + 7 + ], + "to": [ + 1, + -62, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -78, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a6b332b9-51fe-6bde-d3f7-f4d49e2fad64" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -78, + -3 + ], + "to": [ + 1, + -62, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -78, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e283a6d7-c1c4-dccf-55a8-7d7f840f4259" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -66.5, + -4 + ], + "to": [ + 2, + -65.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -78, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "abbdc168-0478-26c0-4fd5-8a4e0a6d6c70" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -74.5, + -4 + ], + "to": [ + 2, + -73.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -78, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d8af1577-a3b2-233f-5fa7-8614c8a06d46" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -94, + 7 + ], + "to": [ + 1, + -78, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -94, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "1382a9ae-d04f-9f91-e940-0acfccd26b02" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -94, + -3 + ], + "to": [ + 1, + -78, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -94, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f47a62ab-f0c5-eba4-9b39-c6ddcd063b1d" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -82.5, + -4 + ], + "to": [ + 2, + -81.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -94, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "db16de55-a5a5-3191-cab1-737029a1c1d4" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -90.5, + -4 + ], + "to": [ + 2, + -89.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -94, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "bb0aac5a-aed5-18eb-078c-087cadeaa272" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -110, + 7 + ], + "to": [ + 1, + -94, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -110, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "65c9cc04-0f2e-be8d-e5dd-596432b80caf" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -110, + -3 + ], + "to": [ + 1, + -94, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -110, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "dc6bada8-0f68-3157-623e-5d707cf63adc" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -98.5, + -4 + ], + "to": [ + 2, + -97.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -110, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "1b0b4d4b-ba33-c817-e5b6-ce5f0a015670" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -106.5, + -4 + ], + "to": [ + 2, + -105.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -110, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "34d34524-8192-5c54-2edb-6687d32c54ae" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -126, + 7 + ], + "to": [ + 1, + -110, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -126, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b9cf06c2-18d5-b469-6005-557f1b65bbd3" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -126, + -3 + ], + "to": [ + 1, + -110, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -126, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e28c6ffe-1742-144c-1949-91050bdc81f5" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -114.5, + -4 + ], + "to": [ + 2, + -113.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -126, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "173bd1e5-b573-e827-e8c1-3b545bb9fddb" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -122.5, + -4 + ], + "to": [ + 2, + -121.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -126, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b8bc4a52-d289-10ea-307c-b439840f0306" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -142, + 7 + ], + "to": [ + 1, + -126, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -142, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "616545a5-dc5f-fc34-fba0-fa73a5d2dda0" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -142, + -3 + ], + "to": [ + 1, + -126, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -142, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "84690380-add5-e58c-bade-29566cbd0ca8" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -130.5, + -4 + ], + "to": [ + 2, + -129.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -142, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "9995ccb7-13d8-d7ad-177b-1061111eae4e" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -138.5, + -4 + ], + "to": [ + 2, + -137.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -142, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "fbde71ac-aa28-ddfc-b282-2d8a90ca7468" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -158, + 7 + ], + "to": [ + 1, + -142, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -158, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "188ccb12-851b-1814-a474-acf791a7b3fe" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -158, + -3 + ], + "to": [ + 1, + -142, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -158, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5c2041f8-0c46-922f-089a-18b3e99969ed" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -146.5, + -4 + ], + "to": [ + 2, + -145.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -158, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "334e1d65-f729-2eef-0d61-2ce72451a335" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -154.5, + -4 + ], + "to": [ + 2, + -153.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -158, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "7a2fd5ad-01b2-3a7e-11db-8fc0532ea0ac" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -174, + 7 + ], + "to": [ + 1, + -158, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -174, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "ffe85353-4a8e-827b-da4c-b073e7ea6377" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -174, + -3 + ], + "to": [ + 1, + -158, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -174, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "86a1da75-1f45-bf6f-2f92-2fc63d8e993a" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -162.5, + -4 + ], + "to": [ + 2, + -161.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -174, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "d506e185-339a-eebd-7381-6348d3f8e0d4" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -170.5, + -4 + ], + "to": [ + 2, + -169.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -174, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "511c8f02-6fd7-f679-dd0d-5618cd7e5ed1" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -190, + 7 + ], + "to": [ + 1, + -174, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -190, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e9f10a40-b536-eefe-721f-aff1b8a6a6a9" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -190, + -3 + ], + "to": [ + 1, + -174, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -190, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "066c1dc4-37b5-d79d-12b2-d0a3ef5ebf37" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -178.5, + -4 + ], + "to": [ + 2, + -177.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -190, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "fc44e348-0fba-cb31-af5b-16506815543e" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -186.5, + -4 + ], + "to": [ + 2, + -185.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -190, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5f77bf2c-d246-9156-c10e-f71dcaed59a1" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -206, + 7 + ], + "to": [ + 1, + -190, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -206, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "6fc54381-1c0e-b4af-9bbc-4d8da96fecf9" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -206, + -3 + ], + "to": [ + 1, + -190, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -206, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "afef023d-931c-9a20-73fc-6300e8088df0" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -194.5, + -4 + ], + "to": [ + 2, + -193.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -206, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "b2709f0b-8848-15c4-8022-5ee5ae61eb21" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -202.5, + -4 + ], + "to": [ + 2, + -201.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -206, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b335fbde-c8fa-7a9d-ef18-8aca48e7e18c" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -222, + 7 + ], + "to": [ + 1, + -206, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -222, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c20a24d6-be1c-9057-82d7-04de02f59886" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -222, + -3 + ], + "to": [ + 1, + -206, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -222, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "3a63e341-e8fb-2bd2-6362-8562b2e7b7ef" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -210.5, + -4 + ], + "to": [ + 2, + -209.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -222, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "976656dc-5616-ef7b-ff0f-0284637bb753" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -218.5, + -4 + ], + "to": [ + 2, + -217.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -222, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "da9f89fb-21c2-448a-c367-0f483f1fdd96" + } + ], + "outliner": [ + { + "name": "Helicopter", + "origin": [ + 0, + 41, + 72 + ], + "color": 0, + "uuid": "3855c725-cad3-125d-db6d-7aa36afaff7c", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b7c05a5f-7761-cdb8-f20e-1c37a3ade2d6", + "f00ed130-bf0d-ecc1-f1ca-bbf1616f1ada", + "96c3a955-eb63-9471-5196-694594fda260", + { + "name": "Doors", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "c8c6350b-e8cd-d570-31a7-cf4e2bc83a28", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "DoorLeft", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "ed76b98c-a423-8851-e841-2021ddaf8547", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "c683f988-d7ac-d768-398e-41744d3302cb", + "166f93d9-1fd0-34ac-2675-dd025f53f0f8" + ] + }, + { + "name": "DoorRight", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "2c757bc9-83e6-d23d-9df6-bf4f97a4f5d6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "0c7841d3-9d21-15ca-262b-1627bc2f205b", + "20c339d6-7391-1da8-9c28-0cd84d7d4b32" + ] + } + ] + }, + { + "name": "Nose", + "origin": [ + 0, + 15, + -25.25 + ], + "color": 0, + "uuid": "7c0528cc-eca1-1af9-1c0e-8dc2ad12def4", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e7fa4708-6808-a16e-c3cf-84c4423ce64d", + "c62a05d2-a700-0657-0afa-5f2244004bff", + "09ad8112-4cf8-8762-652e-f5ad6d9f618e" + ] + }, + { + "name": "RearBody", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "93e928d9-d6f0-43df-6293-0a3cd4e289b6", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "890f0f8a-d674-0b64-0662-72ec21b7e302", + "553e0577-b6a2-7ca8-524a-dcd364e5e845", + "6e532d40-881b-73cd-c7ce-a6d5be00d54f", + { + "name": "Tail", + "origin": [ + 0, + 15, + -158 + ], + "color": 0, + "uuid": "d262a3fe-1946-6256-fce5-ba051869f9b3", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "623664b1-2689-578e-fd04-eee31711ff1d", + "fc8ce5f4-0840-2f3d-140f-21dc84105267", + "8e802d51-1ae6-3899-f6d4-8cd3c38b139f", + "67af4d6d-9e06-3523-d121-1449e5623033", + { + "name": "TailBlades", + "origin": [ + 0, + 27, + 111 + ], + "color": 0, + "uuid": "a5b0c0fa-1a35-5bbc-8477-a99377c7910e", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f0926915-1b03-abd3-2ff0-fb9e7b9d69ba", + "87df5ebb-ce10-e033-a030-13710b994a15" + ] + }, + { + "name": "Tail2", + "origin": [ + 0, + 48, + 175 + ], + "rotation": [ + 45, + 0, + 0 + ], + "color": 0, + "uuid": "22f49b13-6a3d-b438-2c5c-dc918d4d3576", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "0945a87b-a1d3-7f38-aac7-6dcca9f02a58", + { + "name": "TailRotor", + "origin": [ + 4, + 81, + 183 + ], + "rotation": [ + -45, + 0, + 0 + ], + "color": 0, + "uuid": "cd3f847e-32d5-a57a-9d0d-2fb39777e3db", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4921cf7b-b2b3-af9f-9a0d-45bd294a5c63", + "5354d04a-dcfe-a853-0890-af0a391580cf", + { + "name": "TailRotorBlades", + "origin": [ + 12, + 81, + 183 + ], + "color": 0, + "uuid": "47f57408-507e-ee25-dfbd-8f633fe8ccfd", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "TailRotorBlade1", + "origin": [ + 12, + 81, + 183 + ], + "color": 0, + "uuid": "124e1398-1a3b-52cb-328a-d53ee1298459", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4e2b41c3-a5b0-7ac4-3410-47ad58210db4", + "b017b261-b144-7afe-0641-3d4b4b111aa5", + "aeb1e055-a22c-2884-4143-efb88f549cb3" + ] + }, + { + "name": "TailRotorBlade2", + "origin": [ + 12, + 81, + 183 + ], + "rotation": [ + -180, + 0, + 0 + ], + "color": 0, + "uuid": "f048d185-df18-6a18-4f96-77a3b8dc02e8", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b4ca7b1a-f286-c59f-de41-2f4c81ebcf60", + "b22dabbf-eb73-a416-efd2-8c592faea638", + "8659a038-d656-e9a6-677d-860067d72528" + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "name": "Lander", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "3352001e-59dc-756f-ca56-75a0ff69c425", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "LanderLeft", + "origin": [ + -14, + 15, + -2 + ], + "rotation": [ + 0, + 0, + -30 + ], + "color": 0, + "uuid": "e96bb96e-5c1e-69c0-e981-61680a7c39d2", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b9e80942-0725-306b-d7d1-726fef83a08d", + "be81893d-06ce-98ae-2241-f24e1a6e49e0", + { + "name": "LanderBottomLeft", + "origin": [ + -15, + -1, + -2 + ], + "rotation": [ + 0, + 0, + 30 + ], + "color": 0, + "uuid": "44f381e1-ac30-7518-5b19-76b403eb7996", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d4502cca-0b14-7d86-6160-f86322c35b25", + "57c510e5-6036-ee15-39e0-ae4cbb2c00fa" + ] + } + ] + }, + { + "name": "LanderRight", + "origin": [ + 14, + 15, + -2 + ], + "rotation": [ + 0, + 0, + 30 + ], + "color": 0, + "uuid": "9d0c1522-0a37-b6a7-2e1d-6a52b389a65c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e7f46383-2d20-b790-1b02-2efbd9022ded", + "30329970-0ddf-fc94-6f51-ee9cfbee974b", + { + "name": "LanderBottomRight", + "origin": [ + 15, + -1, + -2 + ], + "rotation": [ + 0, + 0, + -30 + ], + "color": 0, + "uuid": "f4cc6580-f851-149d-f2fb-1bc9469b7ce1", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "22aaf02a-dcc5-0b1e-163c-8f002d8a332d", + "7823fa17-de11-0fe8-2baf-f8fb991f1c3a" + ] + } + ] + } + ] + }, + { + "name": "EngineRoom", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "32d2ada4-d3e8-9606-b3e2-5e51f4ee0c7b", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "6daed1d4-981e-461b-e3bb-74c380ac33dc", + "00352831-878c-36dd-56e5-23907f1b47fa", + { + "name": "EngineRoomLeft", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "cca24d86-e850-053a-9dec-395bac3130ea", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "429f5b24-b23e-95d7-a9ee-497cc9d6870d", + "4f5a613d-8830-b138-718b-9ffbb057e3d2", + "59b62c8d-08db-51f2-9fd9-207412f3c43a", + "48913cfa-28ec-987b-4365-3a4efe28b6e9", + "12a1c9b3-563f-29d1-4231-8b8960e9bf95", + "bb1f1492-cd11-fc0f-eb04-6a5f11c8bd62" + ] + }, + { + "name": "EngineRoomRight", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "76ae5dd4-5132-c9eb-0ef8-a39f2bd556af", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "02e23b3b-bbd1-8429-2e72-30a7942b1a59", + "47afaa80-32d5-ef12-1c54-f7af51108b24", + "b0c15dcb-3164-8e83-617a-faf2031bad34", + "fea2953f-ff6d-d6f4-0e7a-12e45eb37e3d", + "6e2dde80-d293-08d7-2c83-8f7edab96858", + "787b4297-9e84-2172-ca92-f890a7337aaa" + ] + }, + { + "name": "Rotor", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "38ed883a-0fe3-ee8a-2189-c6e092c1fbdb", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a1ca5212-93a0-4d30-6122-d2e5c9872983", + "66601b79-7b9e-fa15-2bd4-56693acf0bb7", + { + "name": "RotorBlades", + "origin": [ + 0, + 79, + 0 + ], + "color": 0, + "uuid": "812dc3c3-7569-417c-88ea-98db26c9084f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RotorBlade1", + "origin": [ + 0, + 79, + 0 + ], + "color": 0, + "uuid": "f7b3eb02-a8bd-10df-159b-84a8d7d8de15", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "103317bc-2688-89dd-17f8-3650470efcaa", + "d1db4ea0-4661-4e86-13ab-d074bdb22394", + "8c22cade-6d0a-00a9-2974-2804a153f903" + ] + }, + { + "name": "RotorBlade2", + "origin": [ + 0, + 79, + 0 + ], + "rotation": [ + 0, + 90, + 0 + ], + "color": 0, + "uuid": "8d437dd0-b961-9ee5-6a21-c66cc9e2c290", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "db87ecaf-8136-4d52-d5c9-3d4f4b20fd3d", + "c586ee43-2365-0815-9be1-57eb4d52415d", + "adfdc4b7-1eb1-0617-f8ab-48b0db5665f9" + ] + }, + { + "name": "RotorBlade3", + "origin": [ + 0, + 79, + 0 + ], + "rotation": [ + 0, + -180, + 0 + ], + "color": 0, + "uuid": "313b00e1-ad6e-cfc0-f25e-cf657a31be43", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "9a654922-f592-c03e-ec3a-411273b14955", + "34b50ab0-c515-6c0a-ebe9-80822ac5c44e", + "d28f3b53-e1fd-6e19-ee52-768b3d16f520" + ] + }, + { + "name": "RotorBlade4", + "origin": [ + 0, + 79, + 0 + ], + "rotation": [ + 0, + -90, + 0 + ], + "color": 0, + "uuid": "669905c4-3a7d-c6e9-3553-9ac439ac10f0", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "cf06849c-bf04-230f-8555-70a0f6fbb714", + "b91de1a5-0b22-48de-55da-1ad9e0400b04", + "3ae96f69-18b8-0a78-9d04-f3caffc1b4a1" + ] + } + ] + } + ] + } + ] + }, + { + "name": "RopeLadder", + "origin": [ + 0, + 18, + 3 + ], + "rotation": [ + 0, + 0, + 90 + ], + "color": 0, + "uuid": "349fd936-b671-8cf5-1bd3-e66530c8bee3", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ceea50d1-ebb7-d7cb-b6b9-69a321fd2698", + "2cbdf3db-26d4-6b03-d386-78cbd775872a", + "af62dbcd-800e-f962-49ef-2cc8b7512391", + "bc13f85c-c966-c61e-8958-954dae7efcd9", + { + "name": "RopeLadder2", + "origin": [ + 0, + 2, + 3 + ], + "rotation": [ + 0, + 0, + 85 + ], + "color": 0, + "uuid": "75c895fd-4365-0281-ecda-1a6d54d01e66", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a2f4989f-e70f-5196-4050-f0b1825614e1", + "3c8f15aa-a7a8-ebc5-4678-c3e2f4a624d7", + "05bc5a8b-b514-4d34-9df4-85a29e758ed2", + "560ddc94-bfeb-9ca3-3ad5-2b996a9417e5", + { + "name": "RopeLadder3", + "origin": [ + 0, + -14, + 3 + ], + "rotation": [ + 0, + 0, + 55 + ], + "color": 0, + "uuid": "0bda9a1f-977f-e6e5-c943-0ab890083646", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "5ad4ce08-eefc-6107-fc45-b54c501d5a17", + "5382e7ce-0210-07a3-5a39-564881ad85b6", + "651651ac-c2e0-5cef-8e1a-981e98653024", + "29295c79-a462-f3ae-b17d-165b0b24e5d0", + { + "name": "RopeLadder4", + "origin": [ + 0, + -30, + 3 + ], + "rotation": [ + 0, + 0, + 17.5 + ], + "color": 0, + "uuid": "9cb16d11-101b-c58c-24e7-c7a2dec1668f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "adcf364d-c4cb-636b-81d6-c7977d7b3525", + "42f4c692-3694-c495-ec99-09556d5bb0c0", + "595ef090-7f9a-8179-e935-4b29f2d7e184", + "9d74e4a4-4705-1cf9-0022-51fe5ae26385", + { + "name": "RopeLadder5", + "origin": [ + 0, + -46, + 3 + ], + "rotation": [ + 0, + 0, + 85 + ], + "color": 0, + "uuid": "20e90317-4e90-cada-923e-1551e99844fe", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e61bb277-9b35-78e5-93f1-b3f8d8d7fc7f", + "37236c6a-8616-a237-baa4-aa0ead82d0f7", + "1a350fe0-670a-70fe-88e3-734694dad6ba", + "6584c65b-14b3-9256-0b14-bc8198dfc9fb", + { + "name": "RopeLadder6", + "origin": [ + 0, + -62, + 3 + ], + "rotation": [ + 0, + 0, + 45 + ], + "color": 0, + "uuid": "9df17c50-2500-dc3d-3c9d-1bb6cd628896", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a6b332b9-51fe-6bde-d3f7-f4d49e2fad64", + "e283a6d7-c1c4-dccf-55a8-7d7f840f4259", + "abbdc168-0478-26c0-4fd5-8a4e0a6d6c70", + "d8af1577-a3b2-233f-5fa7-8614c8a06d46", + { + "name": "RopeLadder7", + "origin": [ + 0, + -78, + 3 + ], + "rotation": [ + 0, + 0, + 72.5 + ], + "color": 0, + "uuid": "335c6570-26b8-856b-bda3-65395902f2c1", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1382a9ae-d04f-9f91-e940-0acfccd26b02", + "f47a62ab-f0c5-eba4-9b39-c6ddcd063b1d", + "db16de55-a5a5-3191-cab1-737029a1c1d4", + "bb0aac5a-aed5-18eb-078c-087cadeaa272", + { + "name": "RopeLadder8", + "origin": [ + 0, + -94, + 3 + ], + "rotation": [ + 0, + 0, + 30 + ], + "color": 0, + "uuid": "3bd16030-14b3-a1bf-76ef-9adb8e3564d9", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "65c9cc04-0f2e-be8d-e5dd-596432b80caf", + "dc6bada8-0f68-3157-623e-5d707cf63adc", + "1b0b4d4b-ba33-c817-e5b6-ce5f0a015670", + "34d34524-8192-5c54-2edb-6687d32c54ae", + { + "name": "RopeLadder9", + "origin": [ + 0, + -110, + 3 + ], + "rotation": [ + 0, + 0, + 105 + ], + "color": 0, + "uuid": "12e7191b-e255-e122-467f-4e74ea1ca25b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b9cf06c2-18d5-b469-6005-557f1b65bbd3", + "e28c6ffe-1742-144c-1949-91050bdc81f5", + "173bd1e5-b573-e827-e8c1-3b545bb9fddb", + "b8bc4a52-d289-10ea-307c-b439840f0306", + { + "name": "RopeLadder10", + "origin": [ + 0, + -126, + 3 + ], + "rotation": [ + 0, + 0, + 30 + ], + "color": 0, + "uuid": "c8667a44-3ce4-ea1f-ecfe-d9fac6461f90", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "616545a5-dc5f-fc34-fba0-fa73a5d2dda0", + "84690380-add5-e58c-bade-29566cbd0ca8", + "9995ccb7-13d8-d7ad-177b-1061111eae4e", + "fbde71ac-aa28-ddfc-b282-2d8a90ca7468", + { + "name": "RopeLadder11", + "origin": [ + 0, + -142, + 3 + ], + "rotation": [ + 0, + 0, + 95 + ], + "color": 0, + "uuid": "73305a61-a5fc-3ffd-28cf-a5a7156ade9d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "188ccb12-851b-1814-a474-acf791a7b3fe", + "5c2041f8-0c46-922f-089a-18b3e99969ed", + "334e1d65-f729-2eef-0d61-2ce72451a335", + "7a2fd5ad-01b2-3a7e-11db-8fc0532ea0ac", + { + "name": "RopeLadder12", + "origin": [ + 0, + -158, + 3 + ], + "rotation": [ + 0, + 0, + 77.5 + ], + "color": 0, + "uuid": "fac07263-8b34-d5b4-c7e2-83b19ee7d708", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ffe85353-4a8e-827b-da4c-b073e7ea6377", + "86a1da75-1f45-bf6f-2f92-2fc63d8e993a", + "d506e185-339a-eebd-7381-6348d3f8e0d4", + "511c8f02-6fd7-f679-dd0d-5618cd7e5ed1", + { + "name": "RopeLadder13", + "origin": [ + 0, + -174, + 3 + ], + "rotation": [ + 0, + 0, + 95 + ], + "color": 0, + "uuid": "44f6b24f-ec24-3b6c-95dc-fc2d04130722", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e9f10a40-b536-eefe-721f-aff1b8a6a6a9", + "066c1dc4-37b5-d79d-12b2-d0a3ef5ebf37", + "fc44e348-0fba-cb31-af5b-16506815543e", + "5f77bf2c-d246-9156-c10e-f71dcaed59a1", + { + "name": "RopeLadder14", + "origin": [ + 0, + -190, + 3 + ], + "rotation": [ + 0, + 0, + 105 + ], + "color": 0, + "uuid": "81c03504-cef5-69e6-cf02-f623ce10f5b6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "6fc54381-1c0e-b4af-9bbc-4d8da96fecf9", + "afef023d-931c-9a20-73fc-6300e8088df0", + "b2709f0b-8848-15c4-8022-5ee5ae61eb21", + "b335fbde-c8fa-7a9d-ef18-8aca48e7e18c", + { + "name": "RopeLadder15", + "origin": [ + 0, + -206, + 3 + ], + "rotation": [ + 0, + 0, + 130 + ], + "color": 0, + "uuid": "0cb872f1-2b47-cee6-492f-bfa20246c3ac", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "c20a24d6-be1c-9057-82d7-04de02f59886", + "3a63e341-e8fb-2bd2-6362-8562b2e7b7ef", + "976656dc-5616-ef7b-ff0f-0284637bb753", + "da9f89fb-21c2-448a-c367-0f483f1fdd96" + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "name": "DeathAnimationSoundAnchor1", + "origin": [ + 0, + 34, + 0 + ], + "color": 0, + "uuid": "fcb2fee0-4cd1-e336-8621-8ce8d361032d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + { + "name": "DeathAnimationParticleAnchor", + "origin": [ + -35, + 0, + 20 + ], + "color": 0, + "uuid": "c9619203-8699-a8fd-5b1f-e5d7977f2b78", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ], + "textures": [ + { + "path": "", + "name": "death_animation.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 256, + "height": 191, + "uv_width": 256, + "uv_height": 191, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "66f8b2e8-963d-24d5-1b10-af18e7682f3d", + "relative_path": "../../textures/death_animation.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAC/CAYAAAARmQJyAAAAAXNSR0IArs4c6QAAFtBJREFUeF7tnWusVcUVx+dI2ni9oIBieAVQUVAU2rQk2pjSpESJpB9QQWk0RpqaJhoTY7T9IFWKaWxsYyK2scb6bEsFIkkblJo+JNYPhg9VCsitGMDwqg/QkFtozPU0c7j73H32nb1n1sya2bP3/p8vcO9Zs2bmv9b67dmzH7d1aqjdFvhEocCZY1qtsgYyMDAQdR7MnH2JeOXIaXWumyK6/9fpJW0P7P23kO05P6pYlVFLLprMmTOn1UoGnTjiFKnKvmTihP4AAPmKAwBqbVgAgOIfLW4eADZueMmZC8tX3KT0AQD4A0CbeaE7d+7cUau1Sq8AnLO6AQ5k8e+cuqgz03nTJpJm3Nq+WeQVfuIIAAAASEklRk6FbE6Lek4BqB2nkta2aTTtTg3pT39l8f/y0Dgxe9ZMMW3Sud2xF4Fg16FjYs3Vk43nmQZAck4ug2TswMGw7nsAyQpgcHBQ9Pf3d5Wy/bk2K4AX1/9Bn/1C5B69zhwTJD8dUlvflAoA6TENgWwPlKJPt00AkFeMPmEAAJyOhCkQagWA9sJl3TycP26oJ593nBjT+TlvCds0AEgt5CogCwHboqcAIG3LDYO6A0DqtWfPnrZpgSda59nXBgAv7P1fOyl6WewqAMilrPxcfnjbqJVAkwEgNXl62Tz9EsPQQrcCyHPDAQMAoKErgDQA1u/5rDBVAYBxHX1ev+c6w5KmmUkAuBaiLQy4d7D3vzdQOPlZF8/pfJ/Y+TwyJwPBCuC0Esm9EZ1NQAkA+cvkKF8UtSYDgFbKdtYcAEh6poIAAGjwCsCk+A999Im49vOdjT0FsCtpWitOAPjcL6DNqjnW3BA1Uc75RiC5AtABQBa//AAAJiGxt5G3rPr+UFcGvsdTJ/+1BEBS/Hv3HxB3TjuBFYDHjA0BgBfXj9zJ+PBDP67+NVyP8aC6riQAfrjtSO59AEnxSyEAAGo60O1DAyA9QsCAHq9si1oBIFv8crJYAbgnSZEH6q3ADzz0E6ObuFxH/cDq1a4uCts/vHat8vtbV6qfmeAaDPcTglzjovhx3gNQrQDSxZ8c/QEASljsbAGAXt0AAH0esQMgW/wAgD4IXBaxAsB3Iab3JdJa+u4XK4A5rVZ6BaAqfgCAq7zt/eQtke090lr6LER5VSLvVMZnv1IBACAFgLziBwBoxcJtHbL4y9oIBADss4blFKCo+AEA++BwtAQAOFRU+4hlBWB79cf1LUmdW4Fv2bRTu5MsLwFiE9BfIhZ5BgD86Q4AAACd7FK9D8D3a9JM3jkYsvilDjgF8AebIs9RrwCSo3/TVgC+ASD11EEAAGjGfQClAuDKn2/RngIk9GrSjUAhAKCDAADQDAC4rDucNwFNAaAqfjnwur4QJBQAiiAAAAAAOjg4AwDvBCxnDyAbWNXpAAAAAPgCwPDBe+QPg+g6yvseKwBb5Ua3KxsC2ATki2UoT7YrAAAgFaEyrgLkJUgWAiFXAQCAW9m6bObZ9kwFQDq/5K3n3T8NZjuAuq4AbPXgbgcAcCs64o/7PoDYAZA9uAAAw7mgWgHYBtNHuuY9LMPdF1YAbora5owLiExXAKrTyw4AXj7o9kfTrp9e/ZfKvHxw9JXQeYP+X89lmm4AgKlSNDuXwlP1FCsA8u43AQCGoxg7AFTJxp281EeRaaVWbI2HgezV1K0Aim42AwAAAPvM07SkAAUAsA9DEQB0d5oCAACAfeYBAN60ozjOA4Cu+LuXAbEHIAROASgpZ2Zrez5s5t3dSj4KW8ZLPN1H3utBBQCT4gcAUjoCANxpKQQAwK+pymMWAKbFDwAAAF4zFADwKm/XeRoA1B5xH8CwYrHfBxDiKgA1eXT2VQKALCLKkVM395DfOwOA4a/Rhpyvl74GBor/kq2XTh2dcl8GdBzOqOZVAYBLAXFrZuPPBV6dFYArAGwGjTbuCgAAbhrKTcD0BnhVVwAuKrCcArgMIOa2sR/BAAC37IkJALa5xvGHXmtxKcQtFdxaU254MelJtyKLvfCTOdomtYlGHDYAwGkVAQDHbOIGQB2uTUtJAQDzxOLOIfOeAQAjrTZuGPmT2tkGt668mfVpqKI3NC1f4fcNOUZiGBoBAIZCnX6tHmsOmfecA4DjRw9TfHRtJ0yeatUu5kay+DefnG41xGV9B0W2aLn9WQ0sQKMqAaDsDcCoACCL37aQXdoGyElyFy7FmnSWhgC3P/KEAjaoCgDKLn4ZkmgAwFHAHD4C5mlhV0nBXnzRRVZDeu/994UKAFz+rAYVqFEVABDLfgsAECgpqd1IAOycuojarMf+8sPbuqcB3P6cBua5cRUAoLviQpXI9goNAEBVOpA9d8Fy+wskg1U3AIC5bACAuVZBLbkLlttfUDGInVUBAMQpac1tTykAAK205RhwFyy3v3JUMesVADDTCZuA5joFt+QuWG5/wQUhdAgAmIuFFYC5VkEtuQuW219QMYidAQDmggEA5loFteQuWG5/QcUgdgYAmAsGAJhrFdSSu2C5/QUVg9gZAGAuGABgrlVQS+6C5fYXVAxiZwCAuWDRAEAO2eVOPpe25nKFs+QuWG5/4ZSg9wQAmGsWFQASCJgPf8TS9hkCm75CtOEuWG5/ITSw7aOJALC9s5DjxR62ccL7AAqU4y5Ybn+2QQ/RDgAwVxkAMNcqqCV3wXL7CyoGsTMAwFwwAMBcq6CW3AXL7S+oGMTOAABzwQAAc62CWnIXLLe/oGIQOwMAzAWLDgB4I9Dp4HEXLLc/8xTTW3LvRNtuiOlHymNRZtHxzIDHy6hNQJdLeS5teabD68W2YFfOPaczkPV7PhMc7wNQ+eMuWF7lhAAAuBX1468HABwFzOHDz1TpXiUA2guXiV2HjpEaJwW748QY0dq+ueeFIFz+mgYAHLFJKWhsDAAUSJUAoEjN+eOGer6WRZ/+qADA4Q8AMM5xGBYoAABo0kMHgSIApIs/6YbbH7IbCpgokHfAAAAM1JNFa/PJe48/tz+bsaFNsxQAAJoVb8wWCvQoAAAgIaBAgxUAAKjB/+ILagte+zPO4PUHb41WAACghl8CoKwiLLNvqk6wr4QCAAA1TGUWYZl9U3WCfSUUAACoYXIowgljviWOD71O7XHE3qFv+07Rss4KGAFACuByJ59L2+jEtyhCWfjZjxUILPqOTj8MKCoFjAGQQMBm9LV6I5BhEaaLPin29ApA9b1WW8O+tX5gAAWGFSABAKoJIQyKMG+pT/39KL0N+kaMoABFAQCAopa0NSxCrACowsI+q8ArR0Z+c90UIdI/U9SSbfM+AABFSQIA0m6xB0AVGfYhil+qDABQc81wBaByi6sAVLGbaR+q+AsBEPuLG8pKjZkXzra6Echq0y87SQP4xP7KrbLihn7VCuS9T6EFAKgFowIgKXx5JSBZAaR/R0pMAIAkF4z1CgAAeo16LCgAyC75dT9rhwIAaCWCAU0BAICml7ABQPrIn10JkG4IAgCI0YK5TgEAQKdQ5ntTAKg2/Ex/lzskAIAYLZjrFAAAdAoRAKC63Jdunhz9i7osXBEAAMRowVynAACgU4gAgLSp6dGedGkQACBGC+Y6BQAAnUKWAJDNdOf+pOKXDgEAYrRgrlMAANAppADA8Q+PjmqleuBJt+sPABDFhzm7AgAAUVK5CSgBkC74osedcR8AUWCYB1UAACDKTQVA4h53AhKFhnkQBQAAosy2AEjvCRC7HDHHHoC1dGioVgAAIGZGAoBsM5OXnpDP+bOdAADEaMFcpwAAoFNIsQlo+1ZgAIAoNsy9KwAAECU2vROQ6NbM3GAFYOYIVjErgMeBI47Orv5LSh1d0dtdSh0YOmdRwGfxZ33LAee+EASPA6vj2VQA2L6OiqUqGuiE+xVgquIHACwSq4kAQPFbJIpDk1DFDwBYBKlpAMgWP05BLJKG2MQWuKrY5B35kyHhFIAYnCYBAMVPTA6NuW1hm4zCpvixAjBRNmPTFAAUFb/PRLYISeOb2BY/AGCROk0AAIrfIjFKauJS/ACARdBmzi73MqDFkElNUPwkuUo1di1+AKDU8Nl17hNAKH67mJTRiqP4AYAyIufYpy8AoPgdAxOwOVfxAwAWQcsWYN5lFAvXVk1ODbXbVg1TjVD8rgqGa89Z/ACARdyym4DXT2+1LNywNXn5YC8AqNfpUfxsofDuiLv4AQCLkNUJACh+iwQoqYmP4gcALIJZl1MAFL9F8Etq4qv4AQCLgNYBACh+i8AzNaGeojF1m+sGtwITFc57gQLRjTdz3aYgit+b9FrHsRU/VgDakI02qDIAUPwWAWdqki7+mP6EO94IRAxwVQGA4icGmtE8e+QHABjFDe2qigBoevHHtvQu+94Rk5pp4Y1AapmqBgAUv0m6h7UBAMLqzdpbFQCQ97hu+kjYhEd6q3bezZqojs6wAsgRsMoAcMyJSjWv4nl3TAIDAACAUz7W5bxbd1nVSaSIGwMAAIB1esZW/EXXu3WTBAB0CjXse5wCFAe8bufdWQCEvoTn6/FvXdm23njjjcLHTBd+42qdj1p8X4Ud27TQMmHL2uCr43l3FgCx5IPvlUnrueeeKwTAzbfeFk2B+0j4JJljCbip2GUBQLXsr5p2Ko0bCwDTFYCP4itK9tDnl1VLYt9HBlMQuZx3U/rwbZu9HyaWU0DfcTZaAYQufhls39eys4CpGgBiuoErlmLxDYky/HsHgOkKoIzJyz59wKcOy1gAoKyMDNuvdwDo9gCuuuqqsDMe7s3Xe/nzTi2qtgLwnRilBL3ETmONv+84t3x3kBfT3z//bGG4x19zO3s6FO0rxJoAeSKUFTf2oETiMNb4+45ztAD47m38ACjKtVgTAAAIQ4hY499IAJw8eVIsXrzYKfLUGytiTQAAwCkNjBuXHX/fhZ4nRGkrgN88+SvR19fXHZcs+uTnjz/+WNx///1Or+GmClp2Ahhn6rAhdX5U/1z2rrqGmqfrOF31CjXP7DhLA8Djv3hU9Pf3d4peFv/g4GDnZ/mR/wcAilOqrIShJrprYYWap+s4qbpk7UPNMyoAyMHIopcFn/0AAACAVCBUYQAArggjtvctODVxfI+HKI/WnDo/rUNPBq66hpqn6zhd5Qs1z2hWAL4Fp94oU7W72cpKGGqiu8Y51Dxdx0nVJWtPzVfX/pL2pe0ByAFwiq5KFPlIZ9UK2zSwroUR6nFXV/1d52mqZ1XtXGuoUgBYsmSJ8snFrVu3KucBAJSf1q4JCgAUx9BV38oBYMGCBT2KvPPOOwIAKL/Q80bgmqAAAADQVUCuACQANm3a1PndjTfeKACAeIuf4zQPAAAAAABFDlSlMLAC8AtoV31xCuA3Pt68AwDepK2U48YBQBWdJu4BuF42oj4rYVsVrglaFdDZ6uPazlXfSq0AisRq2mVA18RB+14FqgoaZwBs3Lix59Lavffea5Qbjz32mJEdt9ENN9zg9JAQ93jgrx4KAADDcQQA6pHQmAVNAQDAMwBw5KYlJKzDKgAAAABhMw69RaUAAAAARJWQGExYBQAAACBsxqG3qBRoLACyUZgxY0bhnwpL7MeOHdv578Ov7er8+8A185Q/RxXliAaze/dup6sZl112mVGciqbsOoaI5HQeCgAwLCEA4JxLLA50xQkAsMjcdQIAAAC8GeXoLQQAHIeI5ikFdPGKVaxRy1CsAOIIlS6hOFYAccy0HqPQxSvWWQIAkUZGl1AAQFyB08UrrtGOjGYUAJYuXWq0ubRv3z5sAjpE1TVhAAAH8T00dY2nhyEZubQGwKpVq4w6yBrl3RH44IMPGoHHqtPAjdasWeO0w28yXADARKVwNrUBgOkegO3DQAAAT1ICADw6cnmpLAC4ngZ0vdc/WQH84I47uGJSmp+fPvJIaX1zdbxu3bpWn1jUXZWdFNt6VjXJd6rfJ7+TNjbtsnNIj0N+l/XJNecm+mnFCIAJk6dWNhbHjx4WEgATJ06s7ByOHTsmnl63I7fQ0oWdLXKO71QAQNH7SScAgFnXugAgvQIoOspTjtZFR3LVaiHxjRUAc5Km3FUKABs3vGSlxPIVN+W24/apA8D+/fut5jBr1qzcdtw+5QpAAiBdgGkIcBzli1YOWAFYpYhVI2sAyGcB5HMA6WcAkv/bjGT58uWdZnIPQHUKIAu1vXBZ1/X8cUM93ew4MSa329b2zUIFAR8+iwAgC/Xbq5/KHWfRnP669g6hgoAPn8kpQDJQ1Tl9dg8gKWgVHEy/Swsj+0y3y35nk2NoM1qBSgAgKdSkQGSxmwBg16Fj3RlffnhbDwR8+JSd5QFAFurkVSObg/Omjd4jUM0pPecsBHz4lHPIrgBQOPVVwOlOQJcVQPaySfoqQHYFkC3W9Xs+I0dEBwAOnxQAmE5g5dxzOqYSejoAcPgEAExVrIddpQAgJU8f1U1DcOijT8S1n+9UrgA4feoAMPSd+8S0SeeaDrtrl6wWVADg9gkAkMNT6QbWAPjggw9Y73YzWQHYFKssfvnhBECeTxMASBsqBHQA4PQJAFS6nsmDrzUAkkLdu/+AuHPaCZYVQJFPHQAGrlghZs+a2QkSBQJFAOD2CQCQa6jSDWoLgKRQZXS4AKDzSQEABQKmAODwCQBUup7Jg7d+GGjLli3RngJkC1Wq4roCMPFpAgBpk6wCTAtWBwBOnwAAuYYq3aB2AEgXanL0dwWAqU8bAJhAgAoAF58AQKXrmTz4Wp0CZAuVAwAUn7YA0BWsDQBsfQIA5BqqdIMuALb/dnX7wyMHO5M5f8p0sfCWtaxLfJ1KrlcBVIXqCgCqTxcAFBWsLQBsfAIAukyt1/fdIt/y6O1tWfjyI0Gw9L5nKwOAvEJ1AYCNT1cA5BWsCwCoPgGAehW4bjYteeQ/77xJYve//inGn90vvtw/QaR/fuHV18WyxV8TJz//rzj37HHim997xgsYbFcARYVqCwBbnxwAUBWsKwAoPgEAXcnU6/vWm7++q50t+vTPb727W3z1ihmi70tnibP6xpQKgOxdgKaFKkOWdxWA06cpAKRd+kqAKqWy9wlICKjuBJT3ASQfDp8AQL0KXDebllz6q478CQRe/ctmMWXaeR0AyM+Su54vbQWQLlbVZbmiyZoAwNUnBQB5Y827RGgCAA6fAICuZOr1fWvf1sfbect/CYHtb/9D9I0fK6aMn9g5DVh2z8bgAJCSyweCdk5d1FE/fTeeSTiyxZ+08eFT9zhw+ohdNPbsHYNHn/lR7uPA3D7xNKBJVtXDRrsH8Oe3tosLLjy/dAAkELCRHS8EUauW95IRAMAmy6rZRrsH8Mc3t4srv36BGN9/ZmmbgFWSVvdGoCrMBQCoQpR4xqjdA3jkyac6AJCfi6ZMKmUTkGeq/F7e3fF21+ml87/S+T8AwK8zPPpTQLsH8PSmzWLJokvFp4OnAICcOEgQAAD+khSe/SlgtAcgLwMCAGZBwArATCdYxaGAdg/gwH/2dy4Dyk9ZNwLFIZXZKAAAM51gFYcC2j2AZzf8rnMjUKgVwILvPxSHMg6j+PvP7q78HwZJvxbcQQo0jVwB7R7An/72WucyYKirAABA+RmDqwDlxyDUCLR7APJZgJBXAQCAUKHP7wcAKD8GoUag3QOQ9wHIh4GOfHqsczOQ71uBAYBQoQcAyle6/BFo9wAuWHK3l1t/s1NPngYEAMpPCqwAyo9BqBFo9wBCvRgEAAgVcn0/AIBeo7pYBDm6m4gFAJioFMYGAAijcwy9RAOARIwjhw61VX8cNAaxTMaA+wBMVIJNLApEB4CBgYF2LOLYjuOJJ56wbRpNO9wHEE0ovA7k/3+rU5fDkJo5AAAAAElFTkSuQmCC" + } + ], + "animations": [ + { + "uuid": "96b1b305-92fe-9c7f-475b-19434f1d7894", + "name": "death_animation", + "loop": "hold", + "override": false, + "length": 12.75, + "snapping": 20, + "selected": true, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "markers": [ + { + "color": 0, + "time": 6 + } + ], + "animators": { + "3855c725-cad3-125d-db6d-7aa36afaff7c": { + "name": "Helicopter", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "40", + "y": "224", + "z": "13" + } + ], + "uuid": "e4067018-0609-ad89-380a-25747f6f1008", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "2c757bc9-83e6-d23d-9df6-bf4f97a4f5d6": { + "name": "DoorRight", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "1cbe7ba5-d97b-dff3-da58-6031cbe583a2", + "time": 0.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -2, + "y": 0, + "z": 0 + } + ], + "uuid": "5c238362-3d39-d6c8-b90f-7ea474e7c4ab", + "time": 0.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -2, + "y": 0, + "z": 0 + } + ], + "uuid": "bf74fbe3-b3e9-c73e-0c01-744f7c080b75", + "time": 0.9, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -1.40763 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 1.40763 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -2, + "y": 0, + "z": 48 + } + ], + "uuid": "f20761ca-e540-501a-4cd5-2c2989a16df0", + "time": 2.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.63708 + ], + "bezier_left_value": [ + 0, + 0, + 0.29763 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.63708 + ], + "bezier_right_value": [ + 0, + 0, + -0.29763 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -2, + "y": 0, + "z": 48 + } + ], + "uuid": "3c2870c2-1a3d-3b96-e2bd-bf03ff11662b", + "time": 10, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -1.10129 + ], + "bezier_left_value": [ + 0, + 0, + 0.30123 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 1.10129 + ], + "bezier_right_value": [ + 0, + 0, + -0.30123 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -2, + "y": 0, + "z": "0" + } + ], + "uuid": "863662d3-1b4b-b2bb-e742-5c66476d11b8", + "time": 11.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "14d9f06d-656e-28c1-e3c5-7ed8dbb30749", + "time": 11.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "349fd936-b671-8cf5-1bd3-e66530c8bee3": { + "name": "RopeLadder", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "7a6a939e-4117-86f9-9f90-aec63b8e61e9", + "time": 2.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 42.5 + } + ], + "uuid": "72250253-88e4-f556-3497-a042b2c1c2d1", + "time": 2.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "2a8320c4-a06e-5ff3-a2f2-5cd46f367dc2", + "time": 3.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "4465e37e-06aa-0af8-16f8-5d41ccd28a4e", + "time": 7.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "860bb0dd-a0c9-dd44-6cd1-139165eb773f", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "acb0ed56-dfd1-347b-0b5d-07ffe2041332", + "time": 2.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -18, + "y": 0, + "z": 0 + } + ], + "uuid": "0eea9772-0235-2498-a30d-7cc9636e9f07", + "time": 2.95, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -18, + "y": 0, + "z": 0 + } + ], + "uuid": "cfc2447b-f3db-735b-f943-fa6d38de094c", + "time": 7.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -3, + "y": 0, + "z": 0 + } + ], + "uuid": "96fcb9f9-2177-6c94-a351-0f548b37d298", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -3, + "y": 0, + "z": 0 + } + ], + "uuid": "dfe4fb8a-c882-4cfb-9705-7560e8ee61fe", + "time": 8.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 3, + "y": 0, + "z": 0 + } + ], + "uuid": "c9d4c448-85d5-c90f-cae1-5bd41d65fd8f", + "time": 9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -8.5, + "y": 0, + "z": 0 + } + ], + "uuid": "84964543-6db1-bbf9-ba7d-bc929a414813", + "time": 7.55, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "75c895fd-4365-0281-ecda-1a6d54d01e66": { + "name": "RopeLadder2", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "715ca160-5e7a-ab6e-7f05-423c3986350c", + "time": 3.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -120 + } + ], + "uuid": "d13fa408-90b4-1c79-dc11-472351e4ce31", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-120" + } + ], + "uuid": "f2c6875a-0d7b-156d-9136-0a650ef27f33", + "time": 4.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -120 + } + ], + "uuid": "2e86ee13-c9e9-2ed2-b1b8-95c3a5b4b394", + "time": 5.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -117.5 + } + ], + "uuid": "1c2bf741-57d3-c5ad-090a-8bbbad3e3029", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -120 + } + ], + "uuid": "b7d026a8-ad38-14a7-f867-1ba2d95d9391", + "time": 6.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-121.25" + } + ], + "uuid": "e76f4473-96d5-8842-0274-b0358a654c8e", + "time": 5.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-119.375" + } + ], + "uuid": "65612d85-2ab1-d18c-b0bf-47c1afcd6f1c", + "time": 6.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -120 + } + ], + "uuid": "27614e65-f95b-6b31-3628-9e04ae6de7af", + "time": 7.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -120 + } + ], + "uuid": "938323f4-87a5-ab37-7b1b-97a6ce4c8bca", + "time": 7.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -140 + } + ], + "uuid": "d14e16d9-9442-78aa-8918-2831a5ac3ead", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "105854b0-38ae-6d67-c4c1-3dc4809bba38", + "time": 7.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "e5002226-5469-1042-b029-0f1afc6be98d", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "84b84f95-6c5f-0b4a-6cba-b1625c5ffe78", + "time": 7.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "d673620a-d093-ad34-9edb-ed8e4685e43f", + "time": 7.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "0bda9a1f-977f-e6e5-c943-0ab890083646": { + "name": "RopeLadder3", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "5ed816f8-135f-0da0-5923-129ebc1c7bd6", + "time": 3.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "041c15ad-4012-b38d-82ae-971e61223436", + "time": 3.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "39c58d1d-12c8-d230-c6b5-6d104160c15b", + "time": 4.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -52.5 + } + ], + "uuid": "b8dcff37-3b94-4056-c23a-e8462043db74", + "time": 4.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "11bd825f-6b2e-aacb-e8b4-b63a18256b38", + "time": 5.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "1ff3553a-bec7-da76-7698-f56e69a072c4", + "time": 6.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-56.25" + } + ], + "uuid": "9cfa4b8d-8689-10e9-0147-11c88e06f48c", + "time": 5.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-54.375" + } + ], + "uuid": "72b93d9f-9ec1-38e2-bd94-e09ed920645f", + "time": 6.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "85a519f5-bb8f-d7f7-cd2c-ee83e94f8e19", + "time": 7.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -90 + } + ], + "uuid": "41311d57-2e2d-3539-407a-ab50771f2830", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-110" + } + ], + "uuid": "04ee912a-1a01-d160-d1cc-02423e3c64aa", + "time": 7.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-55" + } + ], + "uuid": "aa92bfd1-b3bb-8c32-15a3-a20506d635e9", + "time": 7.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "d47c969c-745e-d0de-01e8-d9057a9bac55", + "time": 7.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "5bda63ae-aee5-b44f-7777-ccb4998ea206", + "time": 7.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "b6e9b356-e0fe-62ae-e490-5f2576e4c6f0", + "time": 7.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "99e1aee4-3ecf-0b8f-0db6-12825624b7ba", + "time": 7.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "9cb16d11-101b-c58c-24e7-c7a2dec1668f": { + "name": "RopeLadder4", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "55a90d22-0aa7-a1ed-0a20-462b561529c4", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "4e4b85da-ebb9-c3e7-f66a-81f1f7131a18", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "8f8d286d-3876-0d88-731a-1b08212b71c6", + "time": 4.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "2c965938-a38a-2aa5-4e40-7b7490cbb9f3", + "time": 4.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "94a7c70a-b3de-422a-70da-b7f4f3f192ef", + "time": 5.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-17.5" + } + ], + "uuid": "018db8e7-c53c-48a2-82e6-f5704a2e030f", + "time": 6.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-18.75" + } + ], + "uuid": "76305530-2812-3b4e-76a6-881212353a98", + "time": 5.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-16.875" + } + ], + "uuid": "8dac90e3-c610-5a05-d495-0f940fe2321b", + "time": 6.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "ff8a99bc-6ecc-fa9a-a3a1-772c8458f386", + "time": 7.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "8b97c453-3b59-1b5b-1b87-5270a861395b", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -52.5 + } + ], + "uuid": "dc1e0624-fae4-1db4-0b17-c2daaa720b8f", + "time": 7.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "3608771d-a92f-73a2-1cb0-b6c63983e29e", + "time": 7.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "eaed630f-5ce3-6152-f91c-e7d30cfc3705", + "time": 7.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "8e7b9142-b842-f147-eef4-c6a415b2fca9", + "time": 7.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "1d4a7779-0147-7eaf-eacb-6498c62ec7ce", + "time": 7.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "6cc6be4e-6273-f0bf-1046-cc74826ad972", + "time": 7.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "20e90317-4e90-cada-923e-1551e99844fe": { + "name": "RopeLadder5", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "fd0d9523-f494-fbbd-579d-a9f8aa29505c", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "cbbb7211-7306-4da6-e9cd-cee32f3db277", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "ad615c94-7d2f-3d30-d2cb-1fb982efa62c", + "time": 4.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "f8b8ee5a-718b-57ec-e29f-2a957e84eba6", + "time": 5.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -82.5 + } + ], + "uuid": "4186b1f0-b56f-aa2c-d8d3-bb53424a8814", + "time": 4.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "05edfa8b-dbe5-9ac6-f39e-e13689d0736d", + "time": 6.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-86.25" + } + ], + "uuid": "2fcfc415-f20f-e75b-95c3-9c47bc7aeb3a", + "time": 5.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-84.375" + } + ], + "uuid": "2515814e-e6b6-ff78-5456-a857633e5e76", + "time": 6.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "11a7a53e-3040-b39e-6ed0-379bd2e00b92", + "time": 7.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "43eccee8-8e2a-9d27-6bc4-11bddb7bcca3", + "time": 7.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -120 + } + ], + "uuid": "08efecdc-9ec1-ac7f-2176-cf1557a6d6d6", + "time": 7.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -140 + } + ], + "uuid": "50b3a825-995e-75a9-f7af-ecf3a58496eb", + "time": 7.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "cc926f12-2919-d6d4-ecfd-09ef1110ec9e", + "time": 8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "d781389c-f13e-57fd-5443-0c375ddb8fc5", + "time": 7.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "7e66f59e-c9de-c580-b98d-7ec52ce6dcdb", + "time": 8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "965810b4-fb7c-3804-c156-6acdbbf0fd8a", + "time": 7.95, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "9df17c50-2500-dc3d-3c9d-1bb6cd628896": { + "name": "RopeLadder6", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "333957d7-7490-42ea-4b18-1e33f22720c8", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -45 + } + ], + "uuid": "b7a2d6e9-4056-008c-ccc4-11032641dfe1", + "time": 3.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -45 + } + ], + "uuid": "361017c2-c56b-05e7-9f41-a54eb0d67951", + "time": 4.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -45 + } + ], + "uuid": "cf8acc2f-581b-500c-dd24-adcf074aeea7", + "time": 5.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -42.5 + } + ], + "uuid": "82406510-9cdb-3e15-bd50-e6ae0b854a45", + "time": 4.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -45 + } + ], + "uuid": "a81c2263-8ca2-e039-3abc-c08e67bb7d26", + "time": 6.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-46.25" + } + ], + "uuid": "7403a1fb-025c-3ad1-d935-d334f2d38e6e", + "time": 5.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-44.375" + } + ], + "uuid": "796bf88a-e601-c774-69c6-9bf911e76d48", + "time": 6.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -45 + } + ], + "uuid": "b34ba9b8-05e1-5414-995a-69e8ccba3742", + "time": 7.35, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -45 + } + ], + "uuid": "86ed3337-b4f3-aac9-ff95-aa28d95f178b", + "time": 7.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -80 + } + ], + "uuid": "927a5b26-48b9-a341-3a31-4d63f8a3fede", + "time": 7.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -100 + } + ], + "uuid": "24ff5a31-95c6-8d40-29d8-745d98e06553", + "time": 8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -45 + } + ], + "uuid": "8d9f1b9c-1b64-0e85-f7b5-2abb6b74d617", + "time": 8.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "cdaaf4f8-0111-72e2-4516-72f5ff3e85ba", + "time": 8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "4327e269-e44c-7182-3fff-16315107ae30", + "time": 8.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "9dd6f2f6-fd36-c4b5-8aed-a6dc4ac524e9", + "time": 8.05, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "335c6570-26b8-856b-bda3-65395902f2c1": { + "name": "RopeLadder7", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "44deab22-701c-c222-9d88-821dc88b0ab8", + "time": 3.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "5a007d3b-580e-665d-114f-1104c2cd52ca", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "fab7f68b-3230-f50d-7c79-e3b81178cd0f", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "54b70589-b1e3-77eb-e212-f65576e31615", + "time": 5.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -70 + } + ], + "uuid": "ffd3c88c-c7fd-4156-f873-679613272b72", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "a545cacd-932e-6258-8560-85ec089cdaab", + "time": 6.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-73.75" + } + ], + "uuid": "66f3fc9d-c7f7-cd74-1df9-ced4f5ea1bb5", + "time": 5.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-71.875" + } + ], + "uuid": "062b58fe-ea6a-b033-11fd-bae2d8d7c194", + "time": 6.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "f2e6608a-6953-00c6-b181-cbef0571590f", + "time": 7.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "e41721f9-d7ec-d856-86a4-0f0acf44872d", + "time": 7.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -107.5 + } + ], + "uuid": "ae713465-bf77-478a-8401-b8c6dc6b2dde", + "time": 8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -127.5 + } + ], + "uuid": "ad9c6331-a9ee-5ff8-8aa1-fb7cad8116d5", + "time": 8.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "4934e04b-7fbf-2ba3-0eb8-8dab5e5e2b2d", + "time": 8.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "4db7f489-4b91-0ab2-98e7-4eaa93faae71", + "time": 8.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "efee1e69-83bc-819f-ce69-78abcc16ae02", + "time": 8.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "f0fc56c7-4636-529b-1ba0-706b5b623db8", + "time": 8.15, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3bd16030-14b3-a1bf-76ef-9adb8e3564d9": { + "name": "RopeLadder8", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "7d6528b1-2da3-f8ed-3305-63ebced40d77", + "time": 3.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "77f387e0-d6b5-9515-f961-48fc3591cc79", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "81b14531-125f-1885-964c-93f9c12b4ff7", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "705cae46-bb94-7d53-63b5-bde9bfc5db21", + "time": 5.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -27.5 + } + ], + "uuid": "63dc2e71-e3c5-aea4-9845-7b9127472c56", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "bf8c4ae2-5453-be09-b954-eceb41be02de", + "time": 6.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-31.25" + } + ], + "uuid": "8d406165-b149-9a75-913a-f01cc625a884", + "time": 5.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-29.375" + } + ], + "uuid": "8fc64b38-8de3-5789-f573-f75b776c2130", + "time": 6.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "1ae28892-3925-6455-7979-871d2e0d1759", + "time": 7.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "1d35fc36-25d9-de33-b582-a1941ab3f255", + "time": 8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -65 + } + ], + "uuid": "e25a2001-e5bb-a820-5311-ea93425c8e90", + "time": 8.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "3058a961-8743-c600-4a3b-b015656f08c9", + "time": 8.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "36daff5d-1428-4808-0994-97ce0ee6df21", + "time": 8.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-30.625" + } + ], + "uuid": "a49c98ba-ec8e-0175-be8c-8f9b3ac6d3f4", + "time": 7.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "6fa3f6a5-6a70-3890-8ef8-2dc552df9f75", + "time": 8.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "d7f231f4-fa90-baef-490a-cb27fd9445e7", + "time": 8.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "ba4435b6-5449-22c9-8137-7cb8b7faeba0", + "time": 8.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "12e7191b-e255-e122-467f-4e74ea1ca25b": { + "name": "RopeLadder9", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "b1e8cb95-1c6f-5b1c-f418-639a7cab014b", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "94b60b23-61aa-c77c-d51a-b2a2db70f960", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "29c60c10-e605-331f-0342-8c6f2bf86bc4", + "time": 4.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "79dc3101-ca96-2792-c24b-3e1d07fba131", + "time": 5.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": "-102.5" + } + ], + "uuid": "0a3e2979-121f-645a-4e29-cf9845632153", + "time": 4.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "d484bd8b-227a-5bde-e77f-be4fbc73a0ef", + "time": 6.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": "-106.25" + } + ], + "uuid": "3d9a193b-be69-2360-6b73-a4674c7ba8d0", + "time": 5.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-104.375" + } + ], + "uuid": "1435311a-2783-f508-04b1-2e4b4505dc67", + "time": 6.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "4e66c5e0-95a5-d76c-3f1f-164d5f478275", + "time": 7.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "068e1cab-0745-18ee-70f6-7466fb12874e", + "time": 8.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -140 + } + ], + "uuid": "f6364f07-ad42-5d90-9ece-c7e2391e4b60", + "time": 8.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -160 + } + ], + "uuid": "b7d6338a-6f27-ca05-4227-2a4f370bb5ce", + "time": 8.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "f665ff53-b17b-e5d6-eabc-a2a5ad8495c3", + "time": 8.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-105.625" + } + ], + "uuid": "6f1f5153-c606-fb59-b771-4ed203f70cb7", + "time": 7.95, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "94027b76-7cf5-513c-b6e4-c9f4b97aab59", + "time": 8.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "50d74b2c-4484-9df3-d1d5-361b22063b3c", + "time": 8.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "d67ac890-33fc-bd80-b170-332802c03125", + "time": 8.35, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "c8667a44-3ce4-ea1f-ecfe-d9fac6461f90": { + "name": "RopeLadder10", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "83eb069e-f225-c6ff-a092-082516cf7636", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "fbf27e4b-f216-9f88-00b3-cbc58c3ed671", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "1c5edae4-19da-3230-978b-2cb1b5ffa8dc", + "time": 4.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "a7ca8670-4b26-9c2f-4c19-f5a238ec3666", + "time": 5.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -27.5 + } + ], + "uuid": "b7de9a27-20a3-2e3d-13d8-c948a43eaf24", + "time": 4.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "e9ee1404-07e8-5253-1a7c-31725b62ae3f", + "time": 6.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-31.25" + } + ], + "uuid": "07903ec4-ca26-6878-a5e8-b1b2c683d251", + "time": 5.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-29.375" + } + ], + "uuid": "3283a399-91c6-f20d-11b6-00a57d204cbc", + "time": 6.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "9260370a-9e7a-edf2-d99d-83995d145425", + "time": 7.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "cf3d0e5a-b59f-ed5a-16bc-1d09adf3afcd", + "time": 8.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -65 + } + ], + "uuid": "bccdb8e1-9ecc-c8a6-c0d5-cd39277e6a45", + "time": 8.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "4663dfca-6a13-f691-61bf-f40c463d5f81", + "time": 8.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "e7619056-067a-1344-6ea1-9305447c04dd", + "time": 8.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-30.625" + } + ], + "uuid": "cc6fe899-933f-3723-7467-625fc099cfc8", + "time": 7.95, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "0f934b98-7a9b-df7c-82a7-3b737c2c1d4e", + "time": 8.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "c78a5ec6-c981-5eb5-ba5a-27b89a415475", + "time": 8.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "190df046-ee7f-1728-7dde-0755b39fc9c1", + "time": 8.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "73305a61-a5fc-3ffd-28cf-a5a7156ade9d": { + "name": "RopeLadder11", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "1a40387a-7b9d-1003-b69f-73b7bda2d673", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "3989ba7a-db3e-b3ad-aad9-d3f59f645574", + "time": 3.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "8ad54380-220e-bcd1-fd95-68a2f825468e", + "time": 4.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -92.5 + } + ], + "uuid": "64e1e450-2353-353e-2cc1-30b6916afdd1", + "time": 5.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "6a5f9b25-ffa2-8db8-099a-29c18235134f", + "time": 5.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "1791f50c-4bbf-341c-dae4-2c27891fab38", + "time": 6.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-96.25" + } + ], + "uuid": "deb5c22a-93ed-f46f-767e-f8bfe3ba8029", + "time": 6.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-94.375" + } + ], + "uuid": "b261d784-b671-a6ce-c702-1bab7434c0ae", + "time": 7.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "bbbaa549-460a-4921-d455-85ca0c90bc12", + "time": 7.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "767f6b12-00f3-cec8-31b5-012f59710173", + "time": 8.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -130 + } + ], + "uuid": "f328bf97-5dd5-614c-05f6-51b524e78c63", + "time": 8.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -150 + } + ], + "uuid": "ddbd3e32-1a8d-0c20-0a4a-47ded44f8392", + "time": 8.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "72adec00-19c7-4fa5-900a-76ecfd03068c", + "time": 8.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-95.625" + } + ], + "uuid": "e14449b1-e5fe-11a2-17ec-0ec7701c1e4b", + "time": 8.05, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "20085f32-db2f-6922-b3a4-842239584414", + "time": 8.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "3ca6575f-43cc-03fd-c391-121c08cfb988", + "time": 8.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "e6793b5c-6e62-e047-f070-04ab2de10a32", + "time": 8.55, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "fac07263-8b34-d5b4-c7e2-83b19ee7d708": { + "name": "RopeLadder12", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "91e861ef-f9f5-5ae9-bf67-bf63e63e4b43", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -77.5 + } + ], + "uuid": "e073481b-8372-b554-89e4-3ec7a33d3b81", + "time": 3.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -77.5 + } + ], + "uuid": "7945611b-0589-adc6-dca7-6fcb2aa96d20", + "time": 4.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -75 + } + ], + "uuid": "8f7237d7-22cb-a332-13ad-89a794fdf1ca", + "time": 5.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -77.5 + } + ], + "uuid": "b51ae597-1cc6-ed43-b874-3d760fd0769d", + "time": 5.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -77.5 + } + ], + "uuid": "d910c131-5795-9924-a404-76491396aa83", + "time": 6.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-78.75" + } + ], + "uuid": "70386e7a-cee3-7976-4f6d-044c1855a3a1", + "time": 6.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-76.875" + } + ], + "uuid": "2845c2a6-3bc4-0168-52e6-7273978be456", + "time": 7.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -77.5 + } + ], + "uuid": "bd656eb8-581c-f9f5-bc89-fca5559c257f", + "time": 7.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -77.5 + } + ], + "uuid": "737a3536-fcab-57d7-9eac-f96e47b2a1f3", + "time": 8.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -112.5 + } + ], + "uuid": "f3f88ca3-a3d7-1de6-93c4-95218bc45953", + "time": 8.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -132.5 + } + ], + "uuid": "615c9842-9dc5-ee5e-728a-1dbacc089696", + "time": 8.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -77.5 + } + ], + "uuid": "66677efe-b841-1f75-109b-a5aa7f6c576d", + "time": 8.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-78.125" + } + ], + "uuid": "e02af0bd-6d77-4be6-dd64-06848d575632", + "time": 8.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "968e8269-835e-879d-97bd-d4b01931b097", + "time": 8.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 17, + "z": 0 + } + ], + "uuid": "ed96e3b0-e8a2-25e5-337b-1e147785210c", + "time": 8.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10.5, + "z": 0 + } + ], + "uuid": "5a84d1cb-e872-1965-39ef-a9ef75e15a2f", + "time": 8.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "44f6b24f-ec24-3b6c-95dc-fc2d04130722": { + "name": "RopeLadder13", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "82967f6c-bd02-5a8f-ad9e-8c015374b361", + "time": 3.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "bbd10306-7631-63e9-18d2-46b603f5ab32", + "time": 3.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "d15eb4a4-4815-c1d0-df3b-8e086138c785", + "time": 4.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -92.5 + } + ], + "uuid": "f31fba74-e823-7ba3-9ae3-a67360ae34c4", + "time": 5.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "a839844d-85e4-3acb-cb3b-86038e43777b", + "time": 5.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "a14cdc74-9255-08d5-1e83-e06283199291", + "time": 6.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-96.25" + } + ], + "uuid": "1337ba2f-42a7-cb0d-d07a-878ab8834e7c", + "time": 6.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-94.375" + } + ], + "uuid": "2fdee278-0a16-be21-891a-fb48380fe654", + "time": 7.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "52e87cc4-b292-6d09-c196-3b52e394765c", + "time": 7.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "003cf14f-a93c-1189-8027-36f349c79f50", + "time": 8.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -130 + } + ], + "uuid": "33fe971d-1e16-a7e0-72a7-995bfa36c293", + "time": 8.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "49428d59-4973-1566-4091-bee99d4d58f0", + "time": 8.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -147.5 + } + ], + "uuid": "c82a0a19-6a82-ff84-9278-e5498f50d143", + "time": 8.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-95.625" + } + ], + "uuid": "1d5dea88-d6db-f260-f001-bb9785a167e1", + "time": 8.15, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "8f9e54ff-9798-a75d-c10a-704ca0739c98", + "time": 8.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 15, + "z": 0 + } + ], + "uuid": "f00e66ed-398e-60c4-d8f1-85b53bafa7e9", + "time": 8.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 9.5, + "z": 0 + } + ], + "uuid": "b45202cd-424f-2474-d13f-a26520086150", + "time": 8.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "81c03504-cef5-69e6-cf02-f623ce10f5b6": { + "name": "RopeLadder14", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "93f9f586-4e9b-3923-8f9c-44832080c328", + "time": 3.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "d6096621-5b95-817f-a799-c36f447e6fd4", + "time": 3.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "7c6b8e5b-0ceb-fe54-ab7b-8d7811bd2672", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -102.5 + } + ], + "uuid": "9ac5855e-42b3-487c-e521-a01b1a9e1d8c", + "time": 5.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "af233243-4539-b62b-310a-53e47d19762b", + "time": 5.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "3edb744f-dc01-d487-8c0a-bafe53c6ccb2", + "time": 6.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-106.25" + } + ], + "uuid": "3624af05-78f8-198e-b8c4-76ab3193b063", + "time": 6.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-104.375" + } + ], + "uuid": "4282ce73-34f3-16aa-49b3-df8574ad6691", + "time": 7.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "093881ee-7ca5-ba90-cf87-27bfe5320508", + "time": 7.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "dd457da2-3b85-73bb-4b15-5274a2493391", + "time": 8.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -142.5 + } + ], + "uuid": "9c720fcb-9108-2a44-df75-54043f2b53d1", + "time": 8.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -160 + } + ], + "uuid": "6c8f42f9-4129-08e4-0273-1174cdd7ff4d", + "time": 8.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "5fe75780-5b25-6646-e14a-d44cfc96bcf9", + "time": 8.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-105.625" + } + ], + "uuid": "47266fc4-e056-2041-ef22-595cd7482e03", + "time": 8.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "6003dc25-616a-3edd-1040-d9b2b35f3d80", + "time": 8.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 15, + "z": 0 + } + ], + "uuid": "4176975c-b729-106d-688c-09c887bd073d", + "time": 8.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 1.5, + "z": 0 + } + ], + "uuid": "b83a6031-7006-62d1-73fa-9cfe048d9496", + "time": 8.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "0cb872f1-2b47-cee6-492f-bfa20246c3ac": { + "name": "RopeLadder15", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "b1351cff-ed11-c2f0-e157-0f2e8d10b981", + "time": 3.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -130 + } + ], + "uuid": "1de4e324-219c-bfef-a594-e39a8fb5a350", + "time": 3.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -130 + } + ], + "uuid": "f61177ef-795c-a7d4-3b3c-b235ba115436", + "time": 4.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -127.5 + } + ], + "uuid": "d3e1c562-d3b8-0f96-4ff5-969dfa9ae4b5", + "time": 5.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -130 + } + ], + "uuid": "0a624dcc-15a2-456c-0b59-95d5feebbac4", + "time": 5.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -130 + } + ], + "uuid": "80c067d5-7cd6-cb24-56d0-2d2d140bd3b5", + "time": 6.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-131.25" + } + ], + "uuid": "be5a2d2a-9021-18a1-0fd2-76dca6100e21", + "time": 6.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-129.375" + } + ], + "uuid": "a9b9220c-ad00-9b9f-1bb4-75788b71dd2b", + "time": 7.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -130 + } + ], + "uuid": "b12b3267-e31c-cd0e-ff3e-d1150c2d088f", + "time": 7.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "44ff2d7b-fc5d-4f07-9be5-ccd9cf815be7", + "time": 8.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 15, + "z": 0 + } + ], + "uuid": "b754696d-b8fa-2ef6-e49a-76c6b4435e2c", + "time": 9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "47f57408-507e-ee25-dfbd-8f633fe8ccfd": { + "name": "TailRotorBlades", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "6dd64455-bc9b-cfd7-9fb0-a3eab02e7196", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "36720", + "y": "0", + "z": 0 + } + ], + "uuid": "f9d8e6f4-e171-0f12-1ca6-375ba6dc55d2", + "time": 12.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "812dc3c3-7569-417c-88ea-98db26c9084f": { + "name": "RotorBlades", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "f35b2cfe-e6ec-a772-1cc0-e8458d2373e9", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "18360", + "z": 0 + } + ], + "uuid": "fca52224-a73b-4ae1-4808-d80fb10b5eba", + "time": 12.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Hoshino/models/ex_skill_1.bbmodel b/config/yosbr/config/figura/avatars/Hoshino/models/ex_skill_1.bbmodel new file mode 100644 index 0000000..62ec228 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/models/ex_skill_1.bbmodel @@ -0,0 +1,694 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "ex_skill_1", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 14, + "height": 13 + }, + "elements": [ + { + "name": "ShineEffect1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 1.55, + -8.85 + ], + "to": [ + 0, + 6.05, + -7.35 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.8, + -11.1 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 6, + 2, + 9, + 11 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 6, + 2, + 9, + 11 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "fb3d3f3b-bb29-91c5-1423-9f4dbce83643" + }, + { + "name": "ShineEffect2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 3.05, + -10.35 + ], + "to": [ + 0, + 4.55, + -5.85 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.8, + -11.1 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 3, + 5, + 12, + 8 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 3, + 5, + 12, + 8 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "4dec548f-8312-44ad-95c8-0c3fe22373b1" + }, + { + "name": "ShineEffect3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0.55, + -8.35 + ], + "to": [ + 0, + 7.05, + -7.85 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.8, + -11.1 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 7, + 0, + 8, + 13 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 7, + 0, + 8, + 13 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "1de56f71-072a-4eef-f9a4-1da443e775db" + }, + { + "name": "ShineEffect4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 3.55, + -11.35 + ], + "to": [ + 0, + 4.05, + -4.85 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.8, + -11.1 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 1, + 6, + 14, + 7 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 1, + 6, + 14, + 7 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "0a591207-abc9-1b7f-940c-5a03334e5ff8" + } + ], + "outliner": [ + { + "name": "ShineEffect", + "origin": [ + 0, + 3.8, + -8.1 + ], + "rotation": [ + 0, + 90, + 0 + ], + "color": 0, + "uuid": "f767d5d3-75c7-501a-a586-e004357f2c28", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "fb3d3f3b-bb29-91c5-1423-9f4dbce83643", + "4dec548f-8312-44ad-95c8-0c3fe22373b1", + "1de56f71-072a-4eef-f9a4-1da443e775db", + "0a591207-abc9-1b7f-940c-5a03334e5ff8" + ] + } + ], + "textures": [ + { + "path": "", + "name": "ex_skill_1.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 14, + "height": 13, + "uv_width": 14, + "uv_height": 13, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "8fef8f15-329a-9210-3f20-250416f9d3f0", + "relative_path": "../../textures/ex_skill_1.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAANCAYAAACZ3F9/AAAAAXNSR0IArs4c6QAAANlJREFUKFOVksFOAjEURc8DZ2ZJWOgGTFASMP7/tyiYoCSIC2UBrOhQ5pqZMhpjNWkXbdP23Jv3bk2SzMyIDM0fZNP76F30sNXQy0J2M04D9boSZ8QG17/gPx318a7W2S6vEsD9VsigqrB+/39Q65XIc8gLyDLoXsDJg3Pgj1AescGwEWkmPT2qeVzkkNVrEeBapHRQlnA4fO+da8sP1QTHM1DDdUr+BN5/QT8coxnutqLTgUpYr5fQnM1GmAKY1NW3dYhDFUk5NszyWTa6Tfs5odsz2eQuCn4CIl5duuF7d3AAAAAASUVORK5CYII=" + } + ], + "animations": [ + { + "uuid": "7b05d1aa-9efa-10af-3456-222a207d2ee5", + "name": "ex_skill_1", + "loop": "hold", + "override": true, + "length": 4.6, + "snapping": 20, + "selected": true, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "f767d5d3-75c7-501a-a586-e004357f2c28": { + "name": "ShineEffect", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "90", + "y": "135", + "z": "90" + } + ], + "uuid": "f3d25414-1f60-6f1d-a29a-387b4d5e3122", + "time": 3.95, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.024, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.024, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "90", + "y": "180", + "z": "90" + } + ], + "uuid": "5730c31b-d036-b4f3-4eb8-13ef3955c50f", + "time": 4.15, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.222, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.222, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "3535fa90-518c-b623-4297-c02d791f15a8", + "time": 0, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "6104fb46-48a4-03ed-3818-dd2e47b69e54", + "time": 3.95, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "759a303f-e459-6cfd-c8c8-c0cce4530232", + "time": 4, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 1, + "y": 1, + "z": 1 + } + ], + "uuid": "c246e8a8-6da3-8727-42cf-66497c2970af", + "time": 4.15, + "color": -1, + "uniform": true, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.02212, + -0.02212, + -0.02212 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.02212, + 0.02212, + 0.02212 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "915ee3ec-2806-1987-0aeb-047e3c8d2a07", + "time": 4.35, + "color": -1, + "uniform": true, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.22239, + -0.22239, + -0.22239 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.22239, + 0.22239, + 0.22239 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Hoshino/models/ex_skill_2.bbmodel b/config/yosbr/config/figura/avatars/Hoshino/models/ex_skill_2.bbmodel new file mode 100644 index 0000000..7f3406b --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/models/ex_skill_2.bbmodel @@ -0,0 +1,3271 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "ex_skill_2", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 64, + "height": 60 + }, + "elements": [ + { + "name": "Body1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 0, + -8 + ], + "to": [ + 8, + 14, + 8 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 16, + 16, + 32, + 30 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 16, + 16, + 30 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 16, + 64, + 30 + ], + "texture": 0 + }, + "west": { + "uv": [ + 32, + 16, + 48, + 30 + ], + "texture": 0 + }, + "up": { + "uv": [ + 16, + 0, + 32, + 16 + ], + "texture": 0 + }, + "down": { + "uv": [ + 32, + 0, + 48, + 16 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f4aa26ec-c4be-91ce-69a1-b49241d35cb7" + }, + { + "name": "Body2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 0, + 8 + ], + "to": [ + 7, + 10, + 16 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 38, + 8, + 48 + ], + "texture": 0 + }, + "south": { + "uv": [ + 30, + 38, + 44, + 48 + ], + "texture": 0 + }, + "west": { + "uv": [ + 22, + 38, + 30, + 48 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 30, + 22, + 38 + ], + "texture": 0 + }, + "down": { + "uv": [ + 22, + 30, + 36, + 38 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "aa42979a-139d-17ca-b2cf-4160943bfccc" + }, + { + "name": "Body3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5, + 0, + 16 + ], + "to": [ + 5, + 6, + 22 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 6, + 54, + 16, + 60 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 54, + 6, + 60 + ], + "texture": 0 + }, + "south": { + "uv": [ + 22, + 54, + 32, + 60 + ], + "texture": 0 + }, + "west": { + "uv": [ + 16, + 54, + 22, + 60 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 48, + 16, + 54 + ], + "texture": 0 + }, + "down": { + "uv": [ + 16, + 48, + 26, + 54 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "6cf3b5a3-431a-b149-4dc3-c6bc0e563c5f" + }, + { + "name": "LeftTailFin", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5, + 0, + 22 + ], + "to": [ + 1, + 4, + 29 + ], + "autouv": 0, + "color": 0, + "inflate": -0.001, + "rotation": [ + 0, + -55, + 0 + ], + "origin": [ + 0, + 2, + 22 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 16, + 0, + 17, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 16, + 0, + 17, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 16, + 0, + 17, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 16, + 0, + 17, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 16, + 0, + 17, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a078d0f3-dbf1-0ad6-b715-dd49ee43a28f" + }, + { + "name": "RightTailFin", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 0, + 22 + ], + "to": [ + 5, + 4, + 29 + ], + "autouv": 0, + "color": 0, + "inflate": -0.001, + "rotation": [ + 0, + 55, + 0 + ], + "origin": [ + 0, + 2, + 22 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 16, + 0, + 17, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 16, + 0, + 17, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 16, + 0, + 17, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 16, + 0, + 17, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 16, + 0, + 17, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "37c548a3-5a22-6cd4-2cb0-1190ea222c32" + }, + { + "name": "LeftFrontFin", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -14, + 0, + -1 + ], + "to": [ + -8, + 4, + 6 + ], + "autouv": 0, + "color": 0, + "inflate": -0.001, + "rotation": [ + 0, + 30, + 0 + ], + "origin": [ + -8, + 0, + -1 + ], + "faces": { + "north": { + "uv": [ + 16, + 0, + 17, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 16, + 0, + 17, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 16, + 0, + 17, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 16, + 0, + 17, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 16, + 0, + 17, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "014969f0-5cab-b95e-17ae-53b87fb53dd0" + }, + { + "name": "RightFrontFin", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + 0, + -1 + ], + "to": [ + 14, + 4, + 6 + ], + "autouv": 0, + "color": 0, + "inflate": -0.001, + "rotation": [ + 0, + -30, + 0 + ], + "origin": [ + 8, + 0, + -1 + ], + "faces": { + "north": { + "uv": [ + 16, + 0, + 17, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 0, + 17, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 16, + 0, + 17, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 16, + 0, + 17, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 16, + 0, + 17, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "4b0e0c87-2b60-45f2-6816-5ca38389da0b" + }, + { + "name": "RightEye", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2, + 8, + -8.01 + ], + "to": [ + 6, + 10, + -8.01 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + -5 + ], + "origin": [ + 2, + 10, + -8.01 + ], + "faces": { + "north": { + "uv": [ + 20, + 23, + 21, + 24 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "c3356451-4815-77c1-2738-8206afb3e044" + }, + { + "name": "LeftEye", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -6, + 8, + -8.01 + ], + "to": [ + -2, + 10, + -8.01 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + 5 + ], + "origin": [ + -2, + 10, + -8.01 + ], + "faces": { + "north": { + "uv": [ + 20, + 23, + 21, + 24 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6b762c67-e20b-c05f-a37d-1a5cbf14cb13" + }, + { + "name": "Tag", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 7, + -0.75, + 13 + ], + "to": [ + 7, + 1.75, + 14 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 7, + -0.75, + 13 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "east": { + "uv": [ + 0, + 0, + 2, + 10 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "west": { + "uv": [ + 2, + 0, + 0, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ] + } + }, + "type": "cube", + "uuid": "c7d96471-e422-4149-77d2-6088056417cc" + }, + { + "name": "TagLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 7, + 1.75, + 13.375 + ], + "to": [ + 7, + 2.5, + 13.625 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 7, + -0.75, + 13 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "3abfcbc9-981d-6511-cad2-21cc95bac707" + }, + { + "name": "Wave1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -160, + 0, + -106 + ], + "to": [ + 352, + 96, + -26 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 2048, + 11.25 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 0, + 300, + 11.25 + ], + "texture": 2 + }, + "south": { + "uv": [ + 0, + 0, + 2048, + 11.25 + ], + "texture": 2 + }, + "west": { + "uv": [ + 0, + 0, + 300, + 11.25 + ], + "texture": 2 + }, + "up": { + "uv": [ + 0, + 0, + 2048, + 9.375 + ], + "texture": 2 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "78bb1b14-8623-d1a3-7056-9f93c34605d9" + }, + { + "name": "Wave2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -160, + 0, + -362 + ], + "to": [ + 352, + 96, + -106 + ], + "autouv": 0, + "color": 0, + "origin": [ + 256, + 96, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1024, + 5.625 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 512, + 5.625 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 512, + 5.625 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 15, + 1024, + 0 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "a06d8bf6-c443-077e-9a43-59c54edb829d" + }, + { + "name": "Surface", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -160, + 0.5, + -400 + ], + "to": [ + 352, + 0.5, + 32 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 2048, + 50.625 + ], + "texture": 2 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "20558450-5b9f-d772-b69d-85608f96b0ef" + } + ], + "outliner": [ + { + "name": "WhaleFloat", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "f8239839-d31b-5a25-59d2-d5c26e5817e0", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f4aa26ec-c4be-91ce-69a1-b49241d35cb7", + "aa42979a-139d-17ca-b2cf-4160943bfccc", + "6cf3b5a3-431a-b149-4dc3-c6bc0e563c5f", + "014969f0-5cab-b95e-17ae-53b87fb53dd0", + "4b0e0c87-2b60-45f2-6816-5ca38389da0b", + "a078d0f3-dbf1-0ad6-b715-dd49ee43a28f", + "37c548a3-5a22-6cd4-2cb0-1190ea222c32", + "c3356451-4815-77c1-2738-8206afb3e044", + "6b762c67-e20b-c05f-a37d-1a5cbf14cb13", + { + "name": "Tag", + "origin": [ + 7, + 2.5, + 13.5 + ], + "rotation": [ + 0, + 0, + 35 + ], + "color": 0, + "uuid": "083635c1-99e2-0656-2f5d-6a7bca305d00", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "3abfcbc9-981d-6511-cad2-21cc95bac707", + "c7d96471-e422-4149-77d2-6088056417cc" + ] + }, + { + "name": "WhaleParticleAnchor1", + "origin": [ + 3, + 0, + -8 + ], + "color": 0, + "uuid": "05394c14-fab1-8a2d-b6a4-49d994008952", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "WhaleParticleAnchor2", + "origin": [ + 3, + 0, + 6 + ], + "color": 0, + "uuid": "853687bf-15d1-36ac-b2ba-3661a2be6d99", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "WhaleParticleAnchor3", + "origin": [ + 3, + 12, + -8 + ], + "color": 0, + "uuid": "334b2166-a794-94e9-77fa-7caaf47e24fc", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + { + "name": "Waves", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "d4f72910-f823-f7e7-bbf1-ba136e6d74ad", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Wave1", + "origin": [ + 96, + 0, + -26 + ], + "color": 0, + "uuid": "60976612-e5ee-ca73-3cf5-f019345e1b86", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "78bb1b14-8623-d1a3-7056-9f93c34605d9" + ] + }, + { + "name": "Wave2", + "origin": [ + 96, + 96, + -106 + ], + "rotation": [ + -22, + 0, + 0 + ], + "color": 0, + "uuid": "e4dd7615-80c4-3d1a-3278-1c2dcdf2d1c3", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a06d8bf6-c443-077e-9a43-59c54edb829d", + { + "name": "Wave2ParticleAnchor", + "origin": [ + 96, + 96, + -362 + ], + "color": 0, + "uuid": "5bf9c249-4fd6-5e36-90ab-1fe8bee8553b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + "20558450-5b9f-d772-b69d-85608f96b0ef" + ] + } + ], + "textures": [ + { + "path": "", + "name": "ex_skill_2.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 64, + "height": 60, + "uv_width": 64, + "uv_height": 60, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "e81070a5-d167-93b6-ae74-4fe2369044f0", + "relative_path": "../../textures/ex_skill_2.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAA8CAYAAADWibxkAAAAAXNSR0IArs4c6QAAAj1JREFUaEPtmjtOAzEQhu1ESKGIEIiOO0AHDQfIAZDgDMAJoIaahpwBJA6QA9BAB3egQyCUJhIKi7ySV6sNZsYztnbXnm1IFL/mm3/GHrP662hQKKXUxsOPNn99n6u7t7I/9bk43qJ2LftpvU5at51Ufz5Oi8HNed4ADI3Nw1MSySQUsBwXanvvLF8AWSvg/eW2GM61hEC2IVAsv8ttTA/XJAdQNuTe7wLZH4QoXq/36b0CBACTAFcBZnpqPXB9/6EuT3ZIybuqBZj2KwHArAatA3xVYLxvniQUQAmDYABCSJgbRm321wIgUAy36UXO3KKAFEKAuhMY25NQgAAgngajKOD1aaZ2DyZlXjKfzVP/bj9zElezb+cU8JfhdRAhjeecBqMoILRxmPE6pwDMokO26RQAqKixZ/jkAECGNw0OCaITCugtAEiK1JOiL5Dqhob5317Inubv4HWSACBWi6IA4osP3BceJAQ8CUgOgIBJEkw9CUIe5pyyIHVRfqeuxzUXeCNEnRACSzGeU/oKAAcBUQAk1dghgB3frhPbHhtirSsAa1B0APPFSI1HixVw2AU2O0LKsu2x40cFYIyf7I/U7HmxAgG7wF4DMIvPWgH/JYzkFeAyHhvD2GxLBYkdn9rOWQ0KAGIR5PJE0gqArr9CvM5GlTjUjx0CkPFt3fZChlfr4ibB3gNwJTtszHKTJXYerEd92zlrAezCeg/AEmsaQgWA7efrqVjtqyQoABr7PtaTVHCxPOo7bvYK+AXwtcU6alhywwAAAABJRU5ErkJggg==" + }, + { + "path": "", + "name": "water_flow.png", + "folder": "", + "namespace": "", + "id": "1", + "width": 32, + "height": 1024, + "uv_width": 64, + "uv_height": 60, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "36a45273-a65f-7875-021d-8ca480e7c1f2", + "relative_path": "../../textures/for_modeling/water_flow.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAQACAYAAACAmVvRAAAAAXNSR0IArs4c6QAAIABJREFUeF7tnduvJkX1hr/tEUXHjKjEBNQIKnIaFDnccMGV/g3+eYZoDIFAsi+49s7DAAMOSkQiagLIYWIEFA+Meer3ezqra3f311014569WTuZzD58q3t1dXXV2+/71qqDRx999PCDDz7Y/etf/9rxP18f+chHyvdf+9rXdl/4whd2v/vd73Z//etfy+/94u933HHH7uWXXy6fbY0/+OlPf3oYg+sErr/++t0rr7yye+edd44kcO+99+5+/etfj06+Nb4k8P777w9XNnWAl156aednbAWu+ktf+lJpmZ74A27B3//+91EC/sAJPv3pT+/++Mc/lmb21vj/Zz7zmd1//vOfXU/8wcWLFw/Pnz9/JAEOfPfdd+/eeOON3Ztvvjn8/ZOf/ORwxR//+Md3d955564nfkjAq/JMJHD//ffvXnzxxXL/OTF9hZPS5N6K73znOyWB1viDn/3sZ4d/+MMfZg9gJ/MEMQGflJ74g6eeeurQJuaAXPlHP/rR8v+Xv/zl0sn4ni/+TgK0hF88pj3xJYG//e1vpVljApyATvj2228PJ/v3v/+9+9jHPjaMF/yBBHriD5588snDm266aeejxtVylSRDL//HP/5REqBVSJK+wGcctD772c/ueuLLY3j77bfvXnjhhfI4cXBOwtV6spjApz71qXIL+Dv9gs/0xB/8+Mc/Prznnnt2Fy9eHJ5nmtkEOBljAf/TAjEBE+yJHxJ4/vnnh+c7JvDPf/5z98UvfrH0BZKKCXzuc5/bvfvuuzsSmIsncfrJXHxJ4Fvf+tbQB+JQzBXSzNxnO6NPCMl873vf2z377LO7nviSwLlz53YXLlwoVxgToBNyBVwpjxrJxATuu+++3TPPPLPriT945JFHDn2W6+mY2Y6RkD7wl7/8pSTggMRnSYBRsCe+PAVcdZxQ1uIB8MLrr79eWq01vkzHPHo2/5b5nD5A5+uJX4UHQD1cYY2IBCT78MBS/CwecC7g/v/5z38eBp6IC5bwwNr4xAOJB644HhC2rcUTiQeufTywbz5PPHBF8ACIB2g9hwcAIb6eOyExAT3wwAO7p59+uiCm1vgCSHoO0J1AEhRJUCRBkQRFEhRJUMiQtBIMCUiuCCDpIRiSoEiCYk6wSIJireCRBMUVJyhUXJKgWCt4JEGRgkVpAWQ3Cel9iokiIgTFD3/4w91jjz1WZLvW+EXFBOHyvffea1ZM1sSXFlAPrikaDoBixtVNOShQTPhbT3xJQF24TgCx6tZbbx0U9GheIEbVrCe+JKAKOpXA2bNnd6+++upIsvdzKCaqbVG+93suYF/8weOPP36oP8QDc0WM6bfcckvpA4qOtUcAxYSvnvhhOo7GBbVBaDgcNFJwJBD9A3yPxI9/oDV+EQ9g4dBBo4OCJLxlnPQrX/lKSWDKQbEmfm8CKl76BrYmsC/+iIOi9pBg4YgOipgA33/+858fOSi2xpcEeMZrMxMH4jnnCTCB2kFhAj3xRTHhZDglolmJJ0J53qsyATqpPhJo3p74IlzKFav/Rv+AV89JIsiIDoqe+CLd3nXXXZMOCswK+ka0bfA08MXvSZTW6IlfxAMmwBVCRGjjMQHdFHMGhjXxg4GB3l73AQ7A14033lj8ZAw8ol4+i50PfwEGhtb448cDTEY+y1PTccQD3PP4RGjh6Ik/2XjAPtCKB4hfhQfwiUQHxVY8sBQ/iwccipfwACMlT8UUHlgbn3gg8UDigcQDe/EAUO3MmTOnHA/0AIqTD0iWLJ1rCIYlxWRN/MkGJElQJEGRBEUSFPSBJCiSoDj5eCAJih7BIgmKJCgSDyQeSDxwOgQLJBsE6qkV9mpB/q94jXABd6x80xNfNCMWsKN4wAsDsTwRJ2bRK8t6cU6qnroGmcmIxHviSwLovyrk9GwTYKkfZDSSDfJsXABPsjgonnjiiaIft8YXfgDFQ4XcBKDk1YxoCdacLikmrfEDQaEsVyfA1V+6dGmvg6I1vnhI4kraOgGunuaONSgULCAoWOTSEz+pmChMcQtIwDoTtYVjzkGxJX5Yc1rr/xyEE9DLo4FBfcgV2TwlyjnRgbE2vojXOmTqAgg4KH7729+WW+BiVxNwFLzuuuuG/tESPyQwCIL//41FMGoHRUyAE3qLWuOPtIAHMoHaATGXwJyFY198SYB77IFjAlThoDCCXgHvsbeDIZlb0BNfElAZrzvRlIMirr7me0rF9MQX3ZAr5GB1RRWX/1tzIl65MbRAT3x5DPUNmYD3U39AlGbt/RoYuA098SUBZrVYgyJasbi/ln+hBUjA6djve+LLbNgzn9M6PfGJB8pk5KMUi2DQtAIS8UDtJ9NB0RM/iwdIgBOCB5gLBCRxMIqOyhoPrI0vCcSDRkhGAhEPxEI4xChY9MQnHkg8kHjgw4sHQNNM44kHEpAkIEmCIgmKJCiSoEiCIgmKxAOJB5KgSIIi8UDigcQDiQdKCyjJ1HsQuNIyKiZx9TVUrosgoWtb4ksCt91226jotXwxq6pZaRkVExKARbeePQn0xJeR8Otf//rIQUECENMuZFSclKwmIR0UJNQTPwIkcc2pJiWoeha1spAhrsKlBZB2KYikg6IlfnBQ1DUk1AS1cMQEaPbaQdEavxeQWDYcwaJFMdkXv1cx0S3Vqpjsiy8Ehb2+1oy06cBocs+nFBMcFD3xJYFYCFvxmj5gAvw9bhvhuIDBAXtPT/xQNly1NNYTqvcpmRKuXbXfGr+4jchUAlHAtunnthFZE783AazbPHLuXVEr6A5KtYNCD8m++FEC0QVhGRDWDHP/pxJwu4ladefka+NLAm6gUdswLI4fHRS2gJMSJ+uJL5MRHakWHzkwvmH+FmtQ2NT6CGiZnvghAetKRBsHY7/WHP73b9HUZgKt8YkHEg9cu3ggAhItnSIiSwItOSjWxs/igTjQzFk4lhwUa+NX4YFPfOITxbLXigeW4q9dPEATsl9V3LdsCx5YG793Oq4TSDwQWyDxAFPwGjyg4TFu2COeuDbwAIimFVBcU4CEF9nLly8Pb0prCI4kKJKgSIJiFSBJgkIGdAsg8fV8H6BJQJIERRIUSVAkQZEERRIUSVAkHkg8cPx4gKrdbicdRQlleuWauKUwf5MJjdtRt8SXMqEkUBMUkWpVhJJiUTFxLVpP/LCRypQDwt26o4PCVXRuQR53h6wdFGviSwI4Jdi9u971ecpBoZgFd0wLIGz1xA9bzSIwRvHayvxYOLiSqJ7rqCABlv2yh0VrfHkKOIEGBLeep09wdVMOCjwktICL43vih0qtlnDYksCDDz5YyGyfBFpwa/xAUEDVxZfQOcWDz1iFIyomrfEjQOJzHJ9zfset0MIRVdRaMWmJHxEU9QG4Ur4sclBX4bAGhTJ+S/wASJRjlGd1UMiOx6rd/I37HR0UrfGjRa9cifeYkziQxCvzamkdWoal/3FPi63xIwuHI54KOZVW3Z0hGhQcpm2t6C+J4vea+NHW87V/wLJfjAW1n8yf1RBjPzDZNfGLgAQvGQT0nIOi9pDUDow18YODwqxjE3IFJBCffU/KlUta6SGrb+Ga+GE6rme8xAPxMUw8kHigtnQKSK4IHqAMCGO68znPPM+4dWYYB6KDwr8zOVkqpif+CB6ICTjQRAdF3EjFEhDRZ7Y1flji4TDqAfh5Hx6wSGY0NG6NP4IH4gG4sogH6l2dpvDA1vjEA4kHjh8PaOlMQJIERRIUSVC0EgysL6AoVmt8EhRJUCRBkQRFEhQpWKRgcfyCRRIUFslMgkI+aKvgkILFyRcsGAfqjZblCpBl6BtuOx3XlvI336h74ot2jCY0RVCYwJRiEldl98QfXLx48dDN1aMDgoRcB2Jy8UqVbNhcoSe+JHDhwoVyjjoBr7J2UFhMmyRIoCe+JGBx9NoDMueAIAH6A/+TQE982WyXl0sMCBDRcY2IDgprTngrYMnZUoIEYNKNry9gTXxJ4IYbbijNWDsokN3efPPNIw4KFRRuEftX9MQXTMgVxhIOdr45B4UJwJa/8cYbpSpHa3x5DDkAV+oiZ70h/D5aOLTv6JjQwtETX94NVTzoA8q0c4pJpO9rxaQlfkRQ0MliAnOKiaXja8WkJX6kmNQHsNfXDgoTqBWTlvgRQREP4NW7tQzPfazEQkuxJNQaFNo7bMG18SNPqROPJ9UjoGXDgzoR8bm4w0dL/CJB4fL/WABB94RKma1mclPlA5biB81oygExNx3T3PQLHlFbpzV+UbJJPJB4YCseqKfzNfEjPNAynyceOL14gEGIygnRQSFKZhimQhPTMVW5pvDE2vgyEgq742zohEPPrh0UcTpmy6me+JGjcgpQ8GTM4QENDM4DLfGzeICr9IsJRzzA73wjFnaTZI0H1sbP4gF36tGsGF2T3h6SiRtuRTywNn4WD0RPaQseWBt//HgAliy+EUVEk4DkRBAUWv3jzl8+vmsATRIUCUiSoEiCIgmKJCiOH5CkYJGCxTUlWCRB4ftBCha82a4lGJKgQC9IgkIh6+QTFDz/tXrqOmPuszQNOiFyjdWc4/ixNX4ESGICUb6HoonVuZFy4BDRi6Ji0hI/Ukw8gFcdXRIxASUbkiQ5fQUt8YOj0o7kAnaaOK60dr25jxy3gS/+Z+F8a/zB+fPnD2E7YyVN15OZgEu+ooNC2tbdG1rjD1544YVDhtNIxU0lEItgsB86HZAhG/W0J760APvTe3W17idRGbFC3EqCFuiJLwnABTukei+5vxa4UMY3OThit5QggZ74whG99dZbZbuQuPJe+Z5HTcOC6iiasQngIemJLxQNfK8Ghvj8c2XcexLAM6J4DUnNz/gH5Itb44uDIorQ1pDAmML3/HPJp08Fa8qpyMCtwPzSEz8QFNjyOJB7FcwBEldi1opJa/xIMakT4OdaMaHJrUnBIxgVk5b4QTFRiLAFtGrViomVFyiMEBWT1vgRP+AOLS77nVNM6B88HVEx0VcQL2BN/KJiol0vOij4ngToI5xsSTFZEz87HXtFiQdsxsQDipICksQDOm0TDyQe6MYDLP32NcvplEdsDpAwUbknBbMhlt6e+Ek8APIhAZ0RgFJwX+SORES4qv1cxAO+uEQ8MRU/iwc4gGqoDgonKH8GEwJm/YrT+dr4WTzgSFfXpHI6Fi0LRms8sDZ+Fg94gPjKxUnW4oG18cefQDQwJEHRQjBcFYLCaipJUESGJAkKX0AYdq8KQfHKK6+M1pckQZEExZylMwkKWiAJihQsUrDQsssTkYJFEhRJUJxOggI8uJZgSILiihIUkWIRkrn3oQoqt8ZS8S56lEVpiZ+kaCCbZDjq7aaRbVFU+YKmiftdm8CW+COKCQd00au1SWTIkfYjgzbloNgaP0rAVbZuHxoXsvo3PQOKldFB0RI/WmXj+qFavucex3q0nEhZV4JClowW2BJftGNWznuSeABbQE0wGhgcJ+yQrfEjB0XdAibA7+tdPKYUk5b4g9/85jeHzz333KSFwwT8X4sODgr5wzvvvHPXE19uwauvvjpKQOo1VueNBfQ1NNAKKOs98cVDAt/LiMZXtGXZpPEJ4DPf/e53d7/61a9KDQoE7J74xQTUDF3KI1VLDeuLFy/uTWBNfLFwIMGjhsemVyVnxaX6gAmcO3euWDjoCyTTE1/KgtHDMSTI+ytY8HOdALeFyhtYOEhAj0FrfKnKFYUG9yqYY0gUMvQPqJgo22+NHxQTDWtcyRIgIYFbb7213ALYMgFJa/xmxcTpmJ6vgWGLYlLH71VMYqF0X8l49hm+cdPsAyT74vfigVoxoYOKB2oHxRQe2BefeCDxQOKBxAMnGw+cOXNm941vfOMU4AFNSvHl0vG+BiT8/uzZswMg8d3RQkjigrXxZS6IfrGIB/j9VALiAQ3OPfGj2ZCZrgYkTqf8nuk4zufRb+xUvTX+qibgigvLhkxdwCIgie6YJCjkAZKg4N3xxBEUFF3k9W6K4DhdgMTXezmiNQRHApKTDUiSoIiWziQo6iUec5bOJChqgiMJiiQoThceELhuxgOvvfZaeQWLChgDy6kULMCHzCEKHokHrg3B4sNNUMCQ0AKIki5ijFU4UMhtIR5TRAoqtbvu2CXjrfEDP8BJYgL6imMCfIaNtG+++eayUls90QXTLfFH5Pu4ZpQkTEDZlhW3kFQoJirq/q1OYE38LB7gYFIsGhm4UqA4ijmJopxFUZuRUwPD2vjRLYgH0FkfV+PzfbRwuCe6n2mJHyXgxgjRQREXxPu9HCCrreuyABRU3RI/AiRulFDPZnpIPJlFMGhmWiESWNB0W+JHDoq5BKKXxLKwWDhg0eyQ/L4lftjFI5b6qK9AB0X0ELg4HtYU9bQ1/uD9998/fOKJJ/YeINaoYCyg6WmFH/zgB7ue+JGFQ8OCUmxkOGJn1NpNk3/7298eLBwt8aUPIL/Wdeh9DBlkfDr0D9xzzz0FUDgm9MQXQIIbIlbh8EQWP+FEktVcJfc9Oih64oeNVKYSQJymygr3ei4BN1JpjS+ABECqKc1BhPvLPwxrfDHASMlzUmZDCcue+OKg8AQOpTTznOJBCRCWf2rhUDGxpLTKydr4QTFxJbWzoRZ+ro6+4C2IeCAqJq3xs3ggriGIggMzoXigrtASp+O18bN4QEelA5DjvaIVeMCC6VN4YG38XjwQR8AaD9BB+XssCVXjgX3xiQcSDyQeSDyQeOD48YCbaDCGRzwgqQz6BYgISMADfPl6LlhtjR8cla0H6E4gCYpYgaGFYIh4oCV+LyCpq/MlQcEjmASFi16ToEiC4ooSFFCyBwcHozUmSVAkQaGlMwmKKNkkQZGChbINBsUULGiFFCxSsGDNaQoWXYIFiokSLJMOL5su35cNj5MRIIWFrhIUPIo98YWg4KSuN64TsBq3L6msOcaKo2Rj0q3xw5JPJVnpdiadqQUOPHa0jC0Qxaqonq+NX0zA5tXiwf+YkNCMNDAsJbAmftjXrG4BJpopB4Tl4llv7jplNeXawLAmfkRQ8F6A+hFrSLhm1JOgG9MRL126dGQTDdi02IfsH9GBUcePFJN4gOigqC0cJEDT8zJjB9ZjYAJr40cJ8KrlGnSazxP7v9Zdyz+QQHRQtMSPdvGgeahBO+UHlA8UkHCbkPDoC3bElvhBsOAgcwfQruMCBgkKbgUaIgaG1vjBwkHnwyOkNcdaJDZ7lN+suMHnSYJHsjX+4PLly4c/+clPyr2Me5aSgB2rbgEeRZd+f//739/1xBcLx2OPPVYS0IQSHRQu63Eo5updc04fePjhh3c98SMXDYMPrHj0k9YJ0Bp33XVXcVD4TFvHpCW+KCbPPvvsaCsYE3AIjhYOTkIpMEAIfYAlnz3xw1azPmZxINGs4pVpYDABl3hcuHBh2IJka3xRTHrm8yuCByLgcIXlnGIyhQd64stk5L2uJRuurnZU1nggOipb4ifxwJylcy0e2BI/iQc8gIgoAhIfPeYAZ88aD2yJP7LJZpzPPYFzACfaggfWxCceSDyQeCDxQOKBkwFIeGdkWraAQRIUSVCAD64KQdFCMNR1C5Og2EpwJCBJQJKAJAFJEhRJUCRBkQRF4oHEA4kHjh8PRMUklvuNi15dc8rv+Iy7gEPbsv5QxaQlvhAU7voe65CojqAhKdmYAL4RV93CFfTEF0DiulJJaeU6RIu64jLK2le/+tVh1S2aQk/8yEGhXKdopYWDpnWNCYoJ3yNaWUA/CtgeQ3UVZmUp/shkpHgVHRDxAFExsYWmSgSsjT/40Y9+dOjOjlEl5wDR1KJAjYPiT3/606CyuzgG6bYlfgTJ5g4QFRNkW80LOij8e0v8CBEtERSuK+XR46rxDtH07gY75aKJDoq5+EG0srergtnBPHDcPCF6R/x8a/yoE0b5PjooXNavbG9ZAHu/nbAlfgRI3LlxqgKD6rl+ApJw94bYQfEXbYkfOSjmErDiSnRQuD49Oiha4kcJ0MNZ1F5fwVQCaIrsY0BdGi0cLfEjBwWGhGhiqR0UPmYMRuzkdNNNN+0eeuihwUHREj8CJB5gykGhoYkrZ+sQJqDaQdESXxa9cjCdEnMOChPg3pPAL3/5y6KiMjFtjefWvfzyyyV+BEha5vNjwQN0PHwjOihOFx7wEbTAxRZHpUN0tITuix8ZGOJktOSI5KCMF+IBB6iW+JKAWLA+wJwjMuIBnw7xgHS9JYNINk7nNZ44ggfiAaYcFPvwwNb4xAOJBxIPJB44FjwQ8cTxJ5AERRIU4IEegqG2928lOJKgSECSgCQBSQKS04sHLLTJO+OS4JGCxRHBIgmKrQRDEhQpWMQlnylYpGBx8gULFr1SIjquuHWdseK1ggUUPZ//5je/OQgWLfFFsHj66acLnwv5TGHkuQT0D8hwuOSzJ36UACDC+gOKk5YIJrHaQQHQuO2223Ym0BJffETsX+1XfFNWJXM5MAnQOqy6/fnPf16QDuJlT/zB448/fkid6uieqOU6E4iLXp977rmyTlmdqTV+eDmtD+DVMtnEuuWxSid9xsmoNX607bjNb4dUgokOClQyWgyBMyomdQKq79ZB9ymq40cERfSQzB2AwQbTSl0eVHnfY6yNLwlE50M0obivfZRcePRcicvvYw3LeAHxFi7FH0nASuyx7Hf0F9HzNS24vCNewNb4SdUsegRqBwVilLjRRGrVjJ9tgX3xowSsIWHtAXd0ihsj+MbjZ2JhhJb4Iw6KX/ziF2WwcSywNXRJxDECETrWoAAPbI0/QlB4AB8fTjhVGIFWoUPWDoqt8cNqOx4jNMHf//73Qwt4tbGwQby/JsDy/9b40eu5ZT28BXUCTlA6KCgFEf0DLfGjBFrm88QDiQe68UCsSVVPJlZgidMxeIDJaI2jck38iCuup2MNDTUe4HM4KByqI46I0/Ga+EU8EB0VDsUMVuxdwxzgbKgjc+4CrPjK3+v4zXgA85GAZGo63ocn6vjNeCACkhY8UMdfNTxQl5QSstV4ogsPsCIbb6mAJPFABCRr8UTigQQkSVAkQZEERRIUmwHJiSEo/ieABCCSBEUSFElQUKMyBYuTLVgkQRGXfLYQDLz1JkGxRbA4XQRF4oHTIVggXlvyeWrFJPfZYtqRA+R7JF1ieuJHNavrE6mQxN/zOxWTOoGW+GHFpVdEZTUNDAqWcddvfnfu3LnimkDMQi+gAkNr/MH58+cPX3rppcL7guWjg6JOIPoHqMAA6Uj96p74QbZTco0OChPQIVUngJqGnYN1x63xB0899dSh5eKjLUuFNFZ0d+153Hg9VntviS8OCtXwtQfgqhEoaRm+euKHBY9RYlec9LGjfrn7nbqnlfueRyk/egjiBgq2Ei1Yx886KDwAT4Sd0wOQGAnxdOg/kbCux4p98QNBEZs/tkB9AB49X0hJyB3fW+NnGRJbgGSi5BL5gZhAbeFYGz8r2djjfbxcVatxRX15zsKxNv6IYhKNTMpucVlwlOKmHBR1fH0BdfyoCIbbg0TpjZPE6v3+jQNFQMLnWuJHzmorKCwloCeEBCwV42KnlvhRTSp38SABmo4rr0fCOoGzZ88Om2i0xI+m48QD3NPEA4kHpiydcTrVVXtF8YAnjUaEOUclyYCI3NVrq6Oyjl+FB5z1xAMMUPsclRFPLMXvnY6F6FoyuQKrMTFixppUkeBYSiDGLyYw5aic0gumGJI5R2Ud34UHliwca/AA8XvxwL753GZ3kko8AFzfgieuHTwA6GwBFAlIIkOSBEULwZEExbEQFBAbWML5/6oTFIyKSwTHKkCSBMWxEBSYFSkLduwERQKSmiFJgiJyiClYpGCRgsUVEyySoJh7v1crqBmOJChccZkExekQLKKTSo1YhsMVMXHRq4BEEoqfVUxa4of9jOK24TEBeEBeu90ioE7Aerat8UW8puoCB64XtyrRmYAjpiSkpcN74oeCSDapNatFPmpGLu/ic6y4w8BAgrfffnv5vjV+WGUjJauBgQRsAVoGjZhkuHrKheMhlDln1W1rfGHJXD1X78RgwfRYU4oT6R/g7yx+rlffRZqOPrQUX/oAzVsXwrdJpw6AfwC6ntZg6W9PfHkKmFzmEmC45STQ83Y+boH+AVqkJ74opzbZ1PryuQRYoX3LLbcMW01K3XusSFZPXYDxhaCQlo8SfFxlzwBjC/BZ5T2ITQunODHFBDgGn1+KH4pm1wYEE+BkHEQLh7Z9HlcSoAPqJ4ySz9r4WYbEJvQqeDxrDQDqZWoTFVphbfwgWNQekHgArkyjAr/3K5YHaY2fXfbLiVTPI/CICThJTS37XRs/2ng9ik4cQMNKTCB2srq+REv8qASEnckDMYK5F018RL3Hglb/1hI/clC0zOeJB6za0Ionrioe8ImJgKbGE6vxANsAXL58+erigXo8TzzASPfhwAOOfHN4wPnfCQocuM9RGfHEUvzidMxBCOYrTscKGEuOyogHluJXTccAkpgAB6yLXS1Nx0vxqxIQD0Salu9jdY41eGAqvgsPcGX1u0ScrvfhCeITDyQgSYLiqgISq/VcEUDyPyEoEpDUKyw+PIAkCQqn0JrhkA2pAYWSfhIUSVAkQUEfSMHidAkWiQc+vHggCQoJxbV4IAkK+8zpIChYeQ0BNfWFKsYrGaKFi14jBcP36kat8QePPvrooYp5rXiQgHLdlGJCp43lpFviRwngmIjyvQlwdfUK2+ghMKYlviTA1Xk18UqRcKDpaeZ6ibcLmbjqnvhh/4KpBBStTCDaN/geRGS94tb4gaKZGo5pUq5O3cAEWNahZMvLiXsac4zIN6+JH+R7Dg4ecMWlrGa8Mh0UuuW5DXyvt6wlviTAFdLb5xwUXol6YZTjSaAnvvQBFNKlBCIrTqeLCdA/euLLUwC0ZrCZagEVE+85reAtsPhxT3xhSunJcbRzVnSTjNoBoQBx9913lxIgPfGFLdeu43BrAtx7vqDZcFDYaXyQAAADIUlEQVREEYLhm+q8+olovZb4koA1AXzMYgKcnCfDIVlDA79jtb1+Im9fHI65gH3xRySbeABahtGQUVDFJP7d8SASHFvjB8Ginkg4qNvP0z90UMRZr2ZAayPDmvgRXV9PqVw9T4EsaXRPqKBFOaclvowDiQd65nOVM5o/8YDTtp1xDZ5IPJB4IPHAoqPSfanEA76MRES05KhcE7/oqOQAU/O5o98+R+Wa+FkLh9PxFB7QrBA957WBYV88s+yZM2f+rwJDjYQcyfbN59Fx3YIniD9+PAAqrl+9bYEEJElQJEGxhmCQoJjyGK+JT4IiCYokKJKg6AIkSVCkYEELJEGRgkUKFilYdAsWS0s+1xAMSVDMLfncR1C4pLwLD1wRgoI+UC/vUfng3ZD6g+5rXXtNfHfcEs96Nf7xVQqjRf/AlOJBR0QzrGkc15QSEyX/eAxOsC++rD1Hkpv6QhW7dOnSsLOrsp3yXFRRW+OHBKZIJhJ4/fXXR1uH8blo57DMdGv8KIFItUGjsaTLrQX8W0yA22Jdy7p/rI0vb8exuoIdUM0Yb4B2HdXzKM/NIeO18SWBqAvGg9vLo1/IVRPecxLoiS9vx5yAK412PkWoKFi6dVD0lDAW9MSXx9Dqmui//ANm6ZzgZ+8vCfBY8bPlg+WD9R9sjS9vx26EUQvQqupRXY8J6KTpiR8lUC/hjotetfHE+gNwQLSUCbTEF72AmhJsB+OQ6jPtFdIZdVDECs74BygB0hNfEsAhwbxeJ+AVxgTonCRBizzwwANlF5ee+DIb1qVebAFOjEUHj0g0MJAEzU0CbCvXEz9INtHAEhOweU0gmhXuuOOO3YsvvjgMVI4hW+KHjVZrOyc/0wJUXeEkOihiAvaBevyICeyLn1xxGQ8Q8UA9FFsGpN7BY0t84oHEA4kHEg8kHkg8sOioFA9MOSqZnu+///5FR+Wa+CN4IL5icYApPOA6Q17dgHLxvWFr/JGN1+sDLM3nTsdiifoNeh+eIP7aSGALwRBfYFsIijo+AUkCkgQkCUgSkCQgSYIiCYrEA4kHEg8kHkg8kHggCYr/Aly4JCL/qusOAAAAAElFTkSuQmCC" + }, + { + "path": "", + "name": "water_still.png", + "folder": "", + "namespace": "", + "id": "2", + "width": 16, + "height": 512, + "uv_width": 64, + "uv_height": 60, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "f9aa93b6-1ad9-ec4f-9cc8-45e441290c12", + "relative_path": "../../textures/for_modeling/water_still.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAIACAYAAACLuuzTAAAAAXNSR0IArs4c6QAADyJJREFUeF7tnbuPFDsTxWd4iUcCEiQgQQJEICFyYmL+R2JICCCFiACEWARIECGRIYGEIOC1V8ffd8xxdZUfPT3scnU32d2ZHrfbLv/qVPkx64cPH9778OHDij9fv37Nfx8/fjz/zT9Onz69Onny5Ornz5+rI0eOrNa3b9++p1d5H8L7WrBev75z504qILqABeLO/EGNeX0qwFabF+ujea+hwPwIWnVbG7wXtU1RAC7SKtsa8H8tbG17YdLs5oVLly6tdnd3V1evXl09evRotd7Z2bn348eP1aFDh1Zv3rzJl+OZtQa2YLbJend3N/XCixcvVh8/fkx9jNL5PwphYbYhUZuJHbQeAe9ro0660V7A//Hbe6xZNWAtUZOhAqw9JEOylqhV1vbQBqS94He1BmpUN27cSOU9e/Zs9fnz59TFqQDUQBsHXXP58uV08ePHj7MtRHaxvn//fjGYenhw6tSp1bdv31ZHjx7dQx6wgfeOB2xUtxvRfbbV+b+FTWZizyDCNS4P0CVAdIsHlljJlC0PYHFPnz5dHT58ePXp06cCKnvPA6+dhoazLWCYB24NtsoDwgWtTx6gh758+VLnwZUrV1Jt4TjoGyLLTI5FDajFA1ojbvLq1as2D5R/YSPijVF9MMyDpmOx0sa2hSdC0MDb4YEOW8+t04NnfYAuefDgwUTG2IYNeQAtgB/oA/IAgMH/VubAJ9BuNtYH4Wj0vHAkQDfiQWKilbq9dA4tcUQfdNWAToZ9P4sHkXZOpgweaH9HNm/lDuzl5cuX/2tE7baa6A6xbj/kFahqVa3T1QfR2K8Kza3zgM/f1Ae8IAo88PrZs2d/xwsIONAl6gOIbsU9wWuDsPXz58/vQQdgnL9//3518+bNpA8sD2hMs3jAbvV+d4/Gv4wHHhOakWtEIvIA74MJ379/n+oD/TBQbfXBVnhw4sSJ3/GCHb6RLv6zPPDuNpsHnsAcjhc24gE+rHKv0Acb84B+AeMcPzAi8sAGILgG2QvGEd36wONAdq417xw5HO2VbqBEg23i2vRCT6nYgtz8weI8oKtj1D6JFywP0FX4YXdtzAO1RNYGPDh27JivD4Z4wHyiDhYve2fzidmQvHxi1OchkWy3RdELC9D0QHe8oHcv8oleG2iNbBcyq5vzieABAGFDfQzVWjiI9yEPU0aT1YOltXiA9yFG8NNMhWmjRWFQM5dWi2S7a1CziyKzHaGrZhc5Lewlo/XOtjvZJk2kqazr4gHuRMSjn7WLaRdamyJeiJL0EQ9yPlEbz+ZOWyNzkkvzEg6qk1SpovDurG7VL4zwgLVBTUNL9PKJHDwWd24b1HjgxgtoGBvqz+IB7syMlQ1ALIk47xD6Rm11K/VVrQ3xwOut5mDqtkS1QDVtdl9oSJwm8qChz74ID3CTM2fO1OMFdaLKAvy9OA8m+kCHrU4JdlFZB4tt+WEeqMHUEnMJKKpU2W01P8DakEyu0LQ8qCUnl+GBh22Fp+e1XH0wwgN27UY8gNXOGs7aW7MKUMsM9YFeNEsfWHxtnD/A4MKzz+IBdCR+3r59m34vpg8OHDhQxguzeeCF9ZFawePwUdJwrlG55p1cU94fPLBs9Gb4ivUH3gIGakVqhiYP6OvJg52dHXeuUbVD0YgtBxrpg33GAz6T50gW44G3KqSJNHUyaDRE7dX8gY53PpbXfazNJF6w0p/5Zryu2SzUpOAB70YrhBppBeF5OPPDtZVRHBN4nLt372a0dfPAUnoWDzzZN6wPrF5y1x9404Jsn8n6A5uAoB1oDNHFA/tBT3TsDx5oTyybP1icB7VYoVAorRnPjXnA1BDuyvSPdnGVB7A6/tDJ6KjE6qg8FnghP7RVHjCqTY6lVx9086AVKyj6EtK8bqzFC8M84ChVHug0kgsUm4Ad4oFHaNZCZzY21gcoAFba9I220azY6CrAZm6K0cicqi4htXeZpQ9sIfZRciPuDx4wsWDzKAwu+brVk5iPmiz2ncUDLxVm4wXWRqfZ/ywPIrkb8kCtr2pI6t692GkRHqCQqFEnK6ZrtaCToYNJw7mHyl4DbsyD6qyvB5GoJ/Ici6a+vKFcLcDLmy3OAz6WjoWkkSKdyA/YhUwW+64+UFevkxSWB4Vv5DNfvHhxtV6vU6b73bt3EQrz66kX8FxYHdeaGuNKGVcfWHv3bu31TJEK0yFsnUk3D3ihDqrFeVDkD1p24O2aQC2LfGK01cI2JOcYuH4p2cEmPICVdiUktSa2kZfVB+yuXh7gunArzt7zgEPXbnyo8sD2O41FP6TxgsuDW7duFZtgNAz2xkQiErSvzV55rgx3xLXcZZM8ky65bmUsvCFdXUZia+FBZmKJe8eD1lyKfRzUNJmyTUhG+oBKhYqOk9tdPMCHvVh6n/PAmw7wgq/leBCFNefPny8MsFsfKA8g65H6w943uns3nxjxQNU82ybbAUMe9vMwD6gPcHf6/SjUxTXYtsNdNokHWGrLCYfFeaCiI8J814rpbn0QKSodofTQuBZeemKJUVWjSZthHqgA7dYHW+EBa7I9fbA/eMCElNpHFw/4ATwGt6XM4gGkPzWhzSdynBT5A95RN8l264MWDxiIgAfXr19P7Eg8wNa8CCR2cKnnbhoSL65pxzQWohWSs+KFXh7osrNuHli80dSHeECNgN+czM7BdytG9BRa6kZvc2DUFhYshVJtfWg4fxAtF7Bw3a4+8Higc+9h/sDyAP9j69GvX7+m+sDmVLUxlQd4XXMJxWDSUUZk4QKbmKnGCz08wDU4eeHatWv7hAe5F7zAYus8YI+4ltjSCGpgk32utUFlDQyRnpuM8wr5C3mAKp87d67IbilYSafu/QtR4xbO1dPIOmWEQuxys+rGeXprfPD169crnJdh17MW69btEglIfzjeFN79P0XIYZ4dC/c30mlEPAjbgPmDFg9QG1geeYCtveilpA+4z7c3XtCGDYVmjz6o8sA+s1e7IhFV0wZsefXOfG02D1jYbB5M9EFrXaqXW0nTRH9EH9QwVxwmopqQU2Z28Ez0QWtLVguy3TzQzL6mirfPA0h/zfZZq8zrDzjCuKvG6oMhHnj0tTzgbv31kydP7nFbbk2teoKrOvM9xAOtcssza1v8C3gAXzGsD2w6pCv8t0akDT2rAC2wygPdv2Una1iL5haMGg+SY9FkXE0feMeaDMULs/XBMA+YfBzmQWt+ATzAD1ZBIV5gkmI7PFBLqyXti15oJRqG9QEHjY1g7VKjpj7wsjjqqUN94FmlxgvF/EJPn4f6oLUWp9u5ti4MPZNO2lp9oDywj7l9HniN5onPYX1gz8YI4wVNDQ7pA61mSzvi2mL9Qe1kli4e1O5IfaBjI9QHNR7YtEB3Nm9RHih43dk++whobTuRxTaZxQMUONkQ1erzcJJm//GAVUUeTc+SnM2DpmOJ9EE3D+xsn45GL39gF/wUGsn78LA+mMWDnvWJFy5cSPMK1AdcHZf1QWuF9BAPOHgYBqgZN3nANrC2H2a2veVEKERnd5WVeL06v2CrH/nE7NqiE11r+kBr6Ipt765/EQ/YiDxkiIrU40Eh92sKpRZLhvHC4jzAUYdIxE14ENmB6gOshGvmE6207dGOWR+wAWv7mUIe9M43evmDVAPviGii3AsBJjywZ8bpaFTbmKUPUIDlZcgD4svWICLRfzz43T9h0EUe2LMg1Db+Mh5wvnEWD9Bk3rrlLLY50jTtOcwDO7thR6Ly4ODBg2llRBrOi/JAc4ieuKZP1NqGB2316AM3n2jh6vFAZ33CVBitPSIR388BRzTXbnXSJB2oJ33XZnn2nz5gN1e3pXmHU0540DNFsqg+cD1T5I00XoDItmfzJ6TV9EE0z8hhvwwP7JHx1oTZgJo/4FJL1CQfBdoTuXqJucmWLHWy6t6rpmzh0eOhs3e28QL7mdG5PQoN73OmL61P1GUknqQZ5oGn2Piax4zueCGy1s2nB+YmIIpeiLL6i/NAh3Kmcs/8QrTLZDJBYaMWywN+cYMOuIIHakhUpHaBMz+MRsQJv8V8o9UHrbVqyb1bHlilTgMiD/SM6VSAfoVEj2eyPTF0PpLn8psLGCLA8NHy3LstnTyI4gVEcliqvTkPSCSduaDEU4PRoKvQSF5y3lqkGo8tdB/wINq2jqpyLY4X0WaBMaIPrBVOhnMrc6NKlde6pqwY9w5qD3mg3YfqajrUUol7XkMeeDvqPPsIM5p6d6INc5I8QzRvwVCJ04qTQ7nf486HXVsrXqjqA9yNHPD0ge46TjzQxWpqA5Fu0toV80y8M37bNThsQGUFeqeY6apRebgRI6goXLqjd6+w3As1HnCt7iI8sNPFrFVz/YGtvh6PmdvAWp3ejTxAQTYdkpyr931tms1kDSwPWPAyPNDnVH2gj8aNUpwJrvJAP2jBYt2eGy/gopbI5jVd+sA+oo6LcNu67iL05hfYFqkb7UFyHvv0kTTr4/JAz1S3vmJjHmivJEsckfsanFXD/xZMil6o8cAeTOvZR3WJJasZCayiDVrBJ7u2uX/Byj0YlG6Ut0m7Kg88g9KawFNnHkQt78l/vXYyFoZ5YJVqFOZ7rm3SC96w1de644VaLWyEH/KAd47ihYIHXojrqVJ1rHx/wgM9A8kajZuEoVb2TNnaho4NdvcwDzgiXR701ELbISSS+sYo482CmjzghVHStlsfsAA9OzDpAy8RpRPT/DtCvcsDhaaX9qB6z+cjtWy/1juu0LT8R410d5VOk0wK2AoPvBpN9EF0kR0PXTxQfLEAXadaxAvcBOIdj16bxKVh5XNxeKcaD6yfSPHCiHvXkTjMA697txcvcCx448Dqx+79TBvzAG2AvTuqlUMeaOI5cjAZaaPf70xbAJkm5ydaDdhytonKrUQU+19PZ5lksiIdbEdiM6vLD3jZHDuMmzywd+P/trbhMlN+wBoQd9hkfbAxD3CIhK4x0e93totaF+dB6J1t96mnsu/NIpKSqSvsUxNflAddSGOwwSGuubTMA7U6nVPQ81Px3FbupF4Y5QHnHXAKQT5fWbsm8s5RjincNG7lnE3C5JzqH/++d5uccGWeRueqE708a3XZueoEfnj29ztbpGV9wO931jMR9SQqL2ZQtbLRaMx+oZWI3Bse8K628bp44I0HTx80eaCRS/f3O1seaJd5PPgH6U4q0XsWdMwAAAAASUVORK5CYII=" + } + ], + "animations": [ + { + "uuid": "024d469b-bae1-e7f5-d03e-0cf1b3d6d2e0", + "name": "ex_skill_2", + "loop": "hold", + "override": true, + "length": 2.05, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "f8239839-d31b-5a25-59d2-d5c26e5817e0": { + "name": "WhaleFloat", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 22.5, + "y": 0, + "z": 0 + } + ], + "uuid": "2a5a2fa6-0764-e4d4-a6e3-dfe9a711bb99", + "time": 1.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "83b00fbc-d8ff-863b-7f12-e21ad002b8bc", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "20cce4e5-358d-b2ae-0fbd-909b473a7802", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": 1, + "z": -14 + } + ], + "uuid": "3209da30-a12c-1b13-91cb-be8642e3687b", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": -9, + "z": -13 + } + ], + "uuid": "02724131-359a-1238-4429-4ea9ae630b74", + "time": 1.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 1, + "z": -14 + } + ], + "uuid": "a94ad0b4-b108-dfbe-b67b-4d5f837a306d", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 1, + "z": -14 + } + ], + "uuid": "8f36a5ac-4672-5ddb-f43a-f1131430750e", + "time": 2.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": -3.06, + "z": -11.09 + } + ], + "uuid": "f7ebcf9c-a0c0-e901-c6fd-10be35045734", + "time": 1.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 1.61, + "z": -14.06 + } + ], + "uuid": "675213e9-f879-71bd-6c83-e2486b35ef35", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "60976612-e5ee-ca73-3cf5-f019345e1b86": { + "name": "Wave1", + "type": "bone", + "keyframes": [ + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "0.4", + "z": "1" + } + ], + "uuid": "dc17cb49-d3ce-c7df-4143-96802fcae939", + "time": 0, + "color": -1, + "uniform": false, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.04667, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.04667, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 1, + "y": "1", + "z": 1 + } + ], + "uuid": "dad941f6-2739-c0a5-640c-8823aa5fb23d", + "time": 0.7, + "color": -1, + "uniform": false, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.01842, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.01842, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 1, + "y": "1.2", + "z": 1 + } + ], + "uuid": "6b30c2ae-499f-343f-e822-e2fb3905feb8", + "time": 0.6, + "color": -1, + "uniform": false, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0.10256, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + -0.10256, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 1, + "y": "1.2", + "z": 1 + } + ], + "uuid": "04c71555-81d0-4177-81f1-8e658fe8493d", + "time": 0.25, + "color": -1, + "uniform": false, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.21773, + -0.1 + ], + "bezier_left_value": [ + 0, + -0.10256, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.21773, + 0.1 + ], + "bezier_right_value": [ + 0, + 0.10256, + 0 + ] + } + ] + }, + "e4dd7615-80c4-3d1a-3278-1c2dcdf2d1c3": { + "name": "Wave2", + "type": "bone", + "keyframes": [ + { + "channel": "scale", + "data_points": [ + { + "x": 1, + "y": 1, + "z": "1" + } + ], + "uuid": "8cffacaf-a002-3c36-b036-88d704cc46e5", + "time": 1.4, + "color": -1, + "uniform": false, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.30155 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.30155 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "0" + } + ], + "uuid": "1d736446-d3d1-5337-423d-96a237805ffd", + "time": 0.4, + "color": -1, + "uniform": false, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.30404 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.30404 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "a195ad6c-c7b4-6a4c-87e9-3f66ffeb3f29", + "time": 0.35, + "color": -1, + "uniform": false, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + }, + { + "uuid": "0d8035be-c18c-bc6b-399e-591322013866", + "name": "float_ride", + "loop": "hold", + "override": false, + "length": 0, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "f8239839-d31b-5a25-59d2-d5c26e5817e0": { + "name": "WhaleFloat", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": 2, + "z": -14 + } + ], + "uuid": "89d064e6-2422-441c-45b4-425076c975b5", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + }, + { + "uuid": "7e45c86e-f8d2-2ed9-a6fd-65e3ff1d5c8b", + "name": "float_afk", + "loop": "hold", + "override": true, + "length": 1.5, + "snapping": 20, + "selected": true, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "e98e96cf-993b-878e-02b8-777c368bb888": { + "name": "Avatar", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "3c9a5b06-8cb8-c5f2-4509-d3a329db1766", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "55", + "y": 0, + "z": "45" + } + ], + "uuid": "2441f412-ea01-37b4-5b36-6494c2db645f", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "3d9779cf-7074-f77b-fcdf-267038f6a86c", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -4.5, + "y": 9.5, + "z": 9 + } + ], + "uuid": "3a2d8dec-1eb6-a826-af7c-a4625fdef953", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "22d40862-bd19-a16d-9e33-79364e6656d8": { + "name": "Head", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -0.53613, + "y": 29.2322, + "z": -33.98373 + } + ], + "uuid": "1f3d1710-103e-b877-eef7-bcc7c54a768e", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "954b95ba-8439-7123-de4b-a94d72a1e124", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3c1cb66d-8a31-d31f-ec9f-65a33e313a53": { + "name": "RightArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -5.06553, + "y": -2.437, + "z": -0.56156 + } + ], + "uuid": "2a7974e2-1a52-d19e-bdb0-67f1899ccb59", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "815a32fd-6d55-e289-25fa-d9ffb4a38e05", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "b924539e-1292-1a17-6240-a525ae346090": { + "name": "RightArmBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -26.69458, + "y": -6.86379, + "z": -13.36965 + } + ], + "uuid": "a3aeea95-248d-2af6-f421-d762ba1e9e25", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "8dbfa91e-096c-583b-66fd-8ae7b2ef559e", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e7d3e5d8-00e4-587c-7bb6-6787db00054b": { + "name": "LeftArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -65.07194, + "y": -49.13568, + "z": 8.37455 + } + ], + "uuid": "f2840c22-d1e0-11de-aff2-2b7de5853e6c", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "597f7c70-bccc-81c0-8a4a-6020c8daea80", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": 1, + "z": 1 + } + ], + "uuid": "455893d2-115a-f1d6-0179-9e01474d13b4", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "c1b14a9d-9c50-9372-52b4-e43236d2e5c1", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "2f61e368-1c06-648e-26d4-aee94647e4da": { + "name": "LowerBody", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "49a3acdb-955d-7fe3-51f9-47b25ff57726", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -46.5968, + "y": -39.85571, + "z": -22.90981 + } + ], + "uuid": "444156b9-b0b4-06bd-36f0-70493b42eedd", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "4e80b5b4-7c04-8374-f8a7-526b3d36d050": { + "name": "RightLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "d367924c-c614-af02-48f6-f81b499b1028", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 79.36841, + "y": -34.58255, + "z": 24.3213 + } + ], + "uuid": "85e295c6-e1f4-7d98-3b74-595dc2442d78", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "957db58c-5182-f1c2-9e51-bb013d8f6d30", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 1.5, + "y": 2, + "z": 0 + } + ], + "uuid": "d71e1378-6848-c3eb-a16b-8866f4a70942", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "84fe0b3a-286b-e17f-288e-c39feaa2e5e6": { + "name": "RightLegBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 15, + "y": "0", + "z": "0" + } + ], + "uuid": "3a13ee66-c776-470f-8962-c1b032c73902", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "e3d75308-a7e6-2a7f-7eaa-c0c7c297bfc5", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "73b3d6bc-af0b-a066-5d73-f3938109e11f": { + "name": "LeftLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "7fbf2698-c807-42d5-ab41-ab07ac00301c", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 105.73705, + "y": 48.87998, + "z": 52.92619 + } + ], + "uuid": "141c6b2d-8686-5328-7e3e-22803685c5d2", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "e496a8e5-467f-2a3d-eb1f-5fcd2afdb036", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -0.25, + "y": -0.5, + "z": 0 + } + ], + "uuid": "8e7cc3c0-0bcf-e05f-b0e9-c3cfd23ddabf", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ee9973d4-ff4e-c96b-64f6-d1f28afd69c6": { + "name": "LeftLegBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 15, + "y": "0", + "z": "0" + } + ], + "uuid": "d397e8d7-15e9-fa94-d7c5-fcc3346ca8d3", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "c92f9269-cdd0-ffcd-9d65-fb9fa7f55947", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "f8239839-d31b-5a25-59d2-d5c26e5817e0": { + "name": "WhaleFloat", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": 1, + "y": -1, + "z": "0" + } + ], + "uuid": "530e3edc-84f2-5123-98cd-024d6ae08e4f", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "b4b4ad1f-4c7b-5171-b7d8-2ff4b4f0671a", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Hoshino/models/ex_skill_3.bbmodel b/config/yosbr/config/figura/avatars/Hoshino/models/ex_skill_3.bbmodel new file mode 100644 index 0000000..ade3b69 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/models/ex_skill_3.bbmodel @@ -0,0 +1,11042 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "ex_skill_3", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 64, + "height": 64 + }, + "elements": [ + { + "name": "body", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 10, + -2 + ], + "to": [ + 7, + 26, + 18 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 55 + ], + "faces": { + "north": { + "uv": [ + 20, + 75, + 34, + 91 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 75, + 20, + 91 + ], + "texture": 0 + }, + "south": { + "uv": [ + 54, + 75, + 68, + 91 + ], + "texture": 0 + }, + "west": { + "uv": [ + 34, + 75, + 54, + 91 + ], + "texture": 0 + }, + "up": { + "uv": [ + 34, + 75, + 20, + 55 + ], + "texture": 0 + }, + "down": { + "uv": [ + 48, + 55, + 34, + 75 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a23d4df8-930a-48e2-3e3c-3f7a8d379619" + }, + { + "name": "body", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -6, + -3, + -2 + ], + "to": [ + 6, + 10, + 16 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 91 + ], + "faces": { + "north": { + "uv": [ + 18, + 109, + 30, + 122 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 109, + 18, + 122 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 109, + 60, + 122 + ], + "texture": 0 + }, + "west": { + "uv": [ + 30, + 109, + 48, + 122 + ], + "texture": 0 + }, + "up": { + "uv": [ + 30, + 109, + 18, + 91 + ], + "texture": 0 + }, + "down": { + "uv": [ + 42, + 91, + 30, + 109 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c8ea789c-c94c-98e5-0597-1e4cf9f8edf5" + }, + { + "name": "neck", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5, + 21, + -10 + ], + "to": [ + 5, + 31, + 8 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 68, + 73 + ], + "faces": { + "north": { + "uv": [ + 86, + 91, + 96, + 101 + ], + "texture": 0 + }, + "east": { + "uv": [ + 68, + 91, + 86, + 101 + ], + "texture": 0 + }, + "south": { + "uv": [ + 114, + 91, + 124, + 101 + ], + "texture": 0 + }, + "west": { + "uv": [ + 96, + 91, + 114, + 101 + ], + "texture": 0 + }, + "up": { + "uv": [ + 96, + 91, + 86, + 73 + ], + "texture": 0 + }, + "down": { + "uv": [ + 106, + 73, + 96, + 91 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "95944d9b-118f-3079-4e2b-800341573c4e" + }, + { + "name": "head", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 14, + -24 + ], + "to": [ + 8, + 34, + -8 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 16, + 16, + 32, + 36 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 16, + 16, + 36 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 16, + 64, + 36 + ], + "texture": 0 + }, + "west": { + "uv": [ + 32, + 16, + 48, + 36 + ], + "texture": 0 + }, + "up": { + "uv": [ + 32, + 16, + 16, + 0 + ], + "texture": 0 + }, + "down": { + "uv": [ + 48, + 0, + 32, + 16 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8f8ca914-ed61-cf90-80ba-e53323e08183" + }, + { + "name": "head", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 12, + -28 + ], + "to": [ + 2, + 20, + -24 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 4, + 4, + 8, + 12 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 4, + 4, + 12 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 4, + 16, + 12 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 4, + 12, + 12 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 4, + 4, + 0 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 0, + 8, + 4 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "4b38471c-802d-db59-df45-08633d327106" + }, + { + "name": "mouth", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 13, + -24 + ], + "to": [ + 8, + 16, + -8 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 36 + ], + "faces": { + "north": { + "uv": [ + 16, + 52, + 32, + 55 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 52, + 16, + 55 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 52, + 64, + 55 + ], + "texture": 0 + }, + "west": { + "uv": [ + 32, + 52, + 48, + 55 + ], + "texture": 0 + }, + "up": { + "uv": [ + 32, + 52, + 16, + 36 + ], + "texture": 0 + }, + "down": { + "uv": [ + 48, + 36, + 32, + 52 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "7c52d726-9ed8-7d35-188b-02c127d3ea18" + }, + { + "name": "horns", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + 27, + -20 + ], + "to": [ + 10, + 41, + -16 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 74, + 55 + ], + "faces": { + "north": { + "uv": [ + 78, + 59, + 80, + 73 + ], + "texture": 0 + }, + "east": { + "uv": [ + 74, + 59, + 78, + 73 + ], + "texture": 0 + }, + "south": { + "uv": [ + 84, + 59, + 86, + 73 + ], + "texture": 0 + }, + "west": { + "uv": [ + 80, + 59, + 84, + 73 + ], + "texture": 0 + }, + "up": { + "uv": [ + 80, + 59, + 78, + 55 + ], + "texture": 0 + }, + "down": { + "uv": [ + 82, + 55, + 80, + 59 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "0c2c66fd-2748-8bab-2731-e39e45919963" + }, + { + "name": "horns", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -10, + 27, + -20 + ], + "to": [ + -8, + 41, + -16 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 74, + 55 + ], + "faces": { + "north": { + "uv": [ + 78, + 59, + 80, + 73 + ], + "texture": 0 + }, + "east": { + "uv": [ + 74, + 59, + 78, + 73 + ], + "texture": 0 + }, + "south": { + "uv": [ + 84, + 59, + 86, + 73 + ], + "texture": 0 + }, + "west": { + "uv": [ + 80, + 59, + 84, + 73 + ], + "texture": 0 + }, + "up": { + "uv": [ + 80, + 59, + 78, + 55 + ], + "texture": 0 + }, + "down": { + "uv": [ + 82, + 55, + 80, + 59 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "83656d72-62fa-0142-65b6-ea4f46fb19a2" + }, + { + "name": "leg0", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 0, + 17 + ], + "to": [ + 12, + 37, + 25 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 96, + 0 + ], + "faces": { + "north": { + "uv": [ + 104, + 8, + 112, + 45 + ], + "texture": 0 + }, + "east": { + "uv": [ + 96, + 8, + 104, + 45 + ], + "texture": 0 + }, + "south": { + "uv": [ + 120, + 8, + 128, + 45 + ], + "texture": 0 + }, + "west": { + "uv": [ + 112, + 8, + 120, + 45 + ], + "texture": 0 + }, + "up": { + "uv": [ + 112, + 8, + 104, + 0 + ], + "texture": 0 + }, + "down": { + "uv": [ + 120, + 0, + 112, + 8 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e1d26150-d434-342f-ffb7-d1c584d27b80" + }, + { + "name": "leg1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -12, + 0, + 17 + ], + "to": [ + -4, + 37, + 25 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 96, + 0 + ], + "faces": { + "north": { + "uv": [ + 104, + 8, + 112, + 45 + ], + "texture": 0 + }, + "east": { + "uv": [ + 96, + 8, + 104, + 45 + ], + "texture": 0 + }, + "south": { + "uv": [ + 120, + 8, + 128, + 45 + ], + "texture": 0 + }, + "west": { + "uv": [ + 112, + 8, + 120, + 45 + ], + "texture": 0 + }, + "up": { + "uv": [ + 112, + 8, + 104, + 0 + ], + "texture": 0 + }, + "down": { + "uv": [ + 120, + 0, + 112, + 8 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c0834118-9a7e-bad8-a522-04abecbbf411" + }, + { + "name": "leg2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 0, + -8 + ], + "to": [ + 12, + 37, + 0 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 64, + 0 + ], + "faces": { + "north": { + "uv": [ + 72, + 8, + 80, + 45 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 8, + 72, + 45 + ], + "texture": 0 + }, + "south": { + "uv": [ + 88, + 8, + 96, + 45 + ], + "texture": 0 + }, + "west": { + "uv": [ + 80, + 8, + 88, + 45 + ], + "texture": 0 + }, + "up": { + "uv": [ + 80, + 8, + 72, + 0 + ], + "texture": 0 + }, + "down": { + "uv": [ + 88, + 0, + 80, + 8 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b68bbcac-97c3-5f84-4acd-70aadc714c99" + }, + { + "name": "leg3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -12, + 0, + -8 + ], + "to": [ + -4, + 37, + 0 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 64, + 0 + ], + "faces": { + "north": { + "uv": [ + 72, + 8, + 80, + 45 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 8, + 72, + 45 + ], + "texture": 0 + }, + "south": { + "uv": [ + 88, + 8, + 96, + 45 + ], + "texture": 0 + }, + "west": { + "uv": [ + 80, + 8, + 88, + 45 + ], + "texture": 0 + }, + "up": { + "uv": [ + 80, + 8, + 72, + 0 + ], + "texture": 0 + }, + "down": { + "uv": [ + 88, + 0, + 80, + 8 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2cc370e6-07be-f2c2-837d-8b62c6c28150" + }, + { + "name": "Body", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 12, + -3 + ], + "to": [ + 4, + 24, + 3 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 20 + ], + "faces": { + "north": { + "uv": [ + 22, + 26, + 30, + 38 + ], + "texture": 1 + }, + "east": { + "uv": [ + 16, + 26, + 22, + 38 + ], + "texture": 1 + }, + "south": { + "uv": [ + 36, + 26, + 44, + 38 + ], + "texture": 1 + }, + "west": { + "uv": [ + 30, + 26, + 36, + 38 + ], + "texture": 1 + }, + "up": { + "uv": [ + 30, + 26, + 22, + 20 + ], + "texture": 1 + }, + "down": { + "uv": [ + 38, + 20, + 30, + 26 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "1dda0ee1-6ca5-b137-6f8b-eaa996007b45" + }, + { + "name": "Body", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 6, + -3 + ], + "to": [ + 4, + 24, + 3 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.5, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 38 + ], + "faces": { + "north": { + "uv": [ + 6, + 44, + 14, + 62 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 44, + 6, + 62 + ], + "texture": 1 + }, + "south": { + "uv": [ + 20, + 44, + 28, + 62 + ], + "texture": 1 + }, + "west": { + "uv": [ + 14, + 44, + 20, + 62 + ], + "texture": 1 + }, + "up": { + "uv": [ + 14, + 44, + 6, + 38 + ], + "texture": 1 + }, + "down": { + "uv": [ + 22, + 38, + 14, + 44 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "a2e35240-edf4-805a-9624-d3de74d01d16" + }, + { + "name": "head", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 24, + -4 + ], + "to": [ + 4, + 34, + 4 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 8, + 16, + 18 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 8, + 8, + 18 + ], + "texture": 1 + }, + "south": { + "uv": [ + 24, + 8, + 32, + 18 + ], + "texture": 1 + }, + "west": { + "uv": [ + 16, + 8, + 24, + 18 + ], + "texture": 1 + }, + "up": { + "uv": [ + 16, + 8, + 8, + 0 + ], + "texture": 1 + }, + "down": { + "uv": [ + 24, + 0, + 16, + 8 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "419031a2-794f-beb9-a6c4-c987939142cb" + }, + { + "name": "nose", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 23, + -6 + ], + "to": [ + 1, + 27, + -4 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 26, + 2, + 28, + 6 + ], + "texture": 1 + }, + "east": { + "uv": [ + 24, + 2, + 26, + 6 + ], + "texture": 1 + }, + "south": { + "uv": [ + 30, + 2, + 32, + 6 + ], + "texture": 1 + }, + "west": { + "uv": [ + 28, + 2, + 30, + 6 + ], + "texture": 1 + }, + "up": { + "uv": [ + 28, + 2, + 26, + 0 + ], + "texture": 1 + }, + "down": { + "uv": [ + 30, + 0, + 28, + 2 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "08431a30-3921-353d-654c-a408ca263e08" + }, + { + "name": "LeftLeg", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 0, + -2 + ], + "to": [ + 0, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 22 + ], + "faces": { + "north": { + "uv": [ + 4, + 26, + 8, + 38 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 26, + 4, + 38 + ], + "texture": 1 + }, + "south": { + "uv": [ + 12, + 26, + 16, + 38 + ], + "texture": 1 + }, + "west": { + "uv": [ + 8, + 26, + 12, + 38 + ], + "texture": 1 + }, + "up": { + "uv": [ + 8, + 26, + 4, + 22 + ], + "texture": 1 + }, + "down": { + "uv": [ + 12, + 22, + 8, + 26 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "1787fdd3-6cfc-b17a-74e9-c5e82faba7cf" + }, + { + "name": "RightLeg", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -2 + ], + "to": [ + 4, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "mirror_uv": true, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 22 + ], + "faces": { + "north": { + "uv": [ + 8, + 26, + 4, + 38 + ], + "texture": 1 + }, + "east": { + "uv": [ + 12, + 26, + 8, + 38 + ], + "texture": 1 + }, + "south": { + "uv": [ + 16, + 26, + 12, + 38 + ], + "texture": 1 + }, + "west": { + "uv": [ + 4, + 26, + 0, + 38 + ], + "texture": 1 + }, + "up": { + "uv": [ + 4, + 26, + 8, + 22 + ], + "texture": 1 + }, + "down": { + "uv": [ + 8, + 22, + 12, + 26 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "d7bc0eb6-becc-c32a-0f1e-9427ffb206b7" + }, + { + "name": "RightArm", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 8, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 46 + ], + "faces": { + "north": { + "uv": [ + 44, + 50, + 48, + 62 + ], + "texture": 1 + }, + "east": { + "uv": [ + 40, + 50, + 44, + 62 + ], + "texture": 1 + }, + "south": { + "uv": [ + 52, + 50, + 56, + 62 + ], + "texture": 1 + }, + "west": { + "uv": [ + 48, + 50, + 52, + 62 + ], + "texture": 1 + }, + "up": { + "uv": [ + 48, + 50, + 44, + 46 + ], + "texture": 1 + }, + "down": { + "uv": [ + 52, + 46, + 48, + 50 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "530be3aa-72d8-57d3-ecf7-500dfaa64886" + }, + { + "name": "LeftArm", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 12, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "mirror_uv": true, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 46 + ], + "faces": { + "north": { + "uv": [ + 48, + 50, + 44, + 62 + ], + "texture": 1 + }, + "east": { + "uv": [ + 52, + 50, + 48, + 62 + ], + "texture": 1 + }, + "south": { + "uv": [ + 56, + 50, + 52, + 62 + ], + "texture": 1 + }, + "west": { + "uv": [ + 44, + 50, + 40, + 62 + ], + "texture": 1 + }, + "up": { + "uv": [ + 44, + 50, + 48, + 46 + ], + "texture": 1 + }, + "down": { + "uv": [ + 48, + 46, + 52, + 50 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "90184ef8-313c-c1d4-0bd1-1724e750ea5d" + }, + { + "name": "Body", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 12, + -3 + ], + "to": [ + 4, + 24, + 3 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 20 + ], + "faces": { + "north": { + "uv": [ + 22, + 26, + 30, + 38 + ], + "texture": 1 + }, + "east": { + "uv": [ + 16, + 26, + 22, + 38 + ], + "texture": 1 + }, + "south": { + "uv": [ + 36, + 26, + 44, + 38 + ], + "texture": 1 + }, + "west": { + "uv": [ + 30, + 26, + 36, + 38 + ], + "texture": 1 + }, + "up": { + "uv": [ + 30, + 26, + 22, + 20 + ], + "texture": 1 + }, + "down": { + "uv": [ + 38, + 20, + 30, + 26 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "12ff8312-e995-867f-fdd9-212ec3ae0b46" + }, + { + "name": "Body", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 6, + -3 + ], + "to": [ + 4, + 24, + 3 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.5, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 38 + ], + "faces": { + "north": { + "uv": [ + 6, + 44, + 14, + 62 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 44, + 6, + 62 + ], + "texture": 1 + }, + "south": { + "uv": [ + 20, + 44, + 28, + 62 + ], + "texture": 1 + }, + "west": { + "uv": [ + 14, + 44, + 20, + 62 + ], + "texture": 1 + }, + "up": { + "uv": [ + 14, + 44, + 6, + 38 + ], + "texture": 1 + }, + "down": { + "uv": [ + 22, + 38, + 14, + 44 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "56c6c085-999c-a41c-3049-6fced3891cae" + }, + { + "name": "head", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 24, + -4 + ], + "to": [ + 4, + 34, + 4 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 8, + 16, + 18 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 8, + 8, + 18 + ], + "texture": 1 + }, + "south": { + "uv": [ + 24, + 8, + 32, + 18 + ], + "texture": 1 + }, + "west": { + "uv": [ + 16, + 8, + 24, + 18 + ], + "texture": 1 + }, + "up": { + "uv": [ + 16, + 8, + 8, + 0 + ], + "texture": 1 + }, + "down": { + "uv": [ + 24, + 0, + 16, + 8 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "fc0c6e47-8007-590f-6408-0fff614763ee" + }, + { + "name": "nose", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 23, + -6 + ], + "to": [ + 1, + 27, + -4 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 26, + 2, + 28, + 6 + ], + "texture": 1 + }, + "east": { + "uv": [ + 24, + 2, + 26, + 6 + ], + "texture": 1 + }, + "south": { + "uv": [ + 30, + 2, + 32, + 6 + ], + "texture": 1 + }, + "west": { + "uv": [ + 28, + 2, + 30, + 6 + ], + "texture": 1 + }, + "up": { + "uv": [ + 28, + 2, + 26, + 0 + ], + "texture": 1 + }, + "down": { + "uv": [ + 30, + 0, + 28, + 2 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "3e7be230-a37d-9e53-c6dc-c51022fedd68" + }, + { + "name": "LeftLeg", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 0, + -2 + ], + "to": [ + 0, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 22 + ], + "faces": { + "north": { + "uv": [ + 4, + 26, + 8, + 38 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 26, + 4, + 38 + ], + "texture": 1 + }, + "south": { + "uv": [ + 12, + 26, + 16, + 38 + ], + "texture": 1 + }, + "west": { + "uv": [ + 8, + 26, + 12, + 38 + ], + "texture": 1 + }, + "up": { + "uv": [ + 8, + 26, + 4, + 22 + ], + "texture": 1 + }, + "down": { + "uv": [ + 12, + 22, + 8, + 26 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "21d644d1-c200-5d47-fd87-00bfdfc8214a" + }, + { + "name": "RightLeg", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -2 + ], + "to": [ + 4, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "mirror_uv": true, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 22 + ], + "faces": { + "north": { + "uv": [ + 8, + 26, + 4, + 38 + ], + "texture": 1 + }, + "east": { + "uv": [ + 12, + 26, + 8, + 38 + ], + "texture": 1 + }, + "south": { + "uv": [ + 16, + 26, + 12, + 38 + ], + "texture": 1 + }, + "west": { + "uv": [ + 4, + 26, + 0, + 38 + ], + "texture": 1 + }, + "up": { + "uv": [ + 4, + 26, + 8, + 22 + ], + "texture": 1 + }, + "down": { + "uv": [ + 8, + 22, + 12, + 26 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "85748243-07f6-8108-364f-b1373f2aeeb4" + }, + { + "name": "RightArm", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 8, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 46 + ], + "faces": { + "north": { + "uv": [ + 44, + 50, + 48, + 62 + ], + "texture": 1 + }, + "east": { + "uv": [ + 40, + 50, + 44, + 62 + ], + "texture": 1 + }, + "south": { + "uv": [ + 52, + 50, + 56, + 62 + ], + "texture": 1 + }, + "west": { + "uv": [ + 48, + 50, + 52, + 62 + ], + "texture": 1 + }, + "up": { + "uv": [ + 48, + 50, + 44, + 46 + ], + "texture": 1 + }, + "down": { + "uv": [ + 52, + 46, + 48, + 50 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "981e25d9-be2f-35f6-88bf-02d64480098c" + }, + { + "name": "LeftArm", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 12, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "mirror_uv": true, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 46 + ], + "faces": { + "north": { + "uv": [ + 48, + 50, + 44, + 62 + ], + "texture": 1 + }, + "east": { + "uv": [ + 52, + 50, + 48, + 62 + ], + "texture": 1 + }, + "south": { + "uv": [ + 56, + 50, + 52, + 62 + ], + "texture": 1 + }, + "west": { + "uv": [ + 44, + 50, + 40, + 62 + ], + "texture": 1 + }, + "up": { + "uv": [ + 44, + 50, + 48, + 46 + ], + "texture": 1 + }, + "down": { + "uv": [ + 48, + 46, + 52, + 50 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "2781d1cf-546a-eaa9-1205-d3fd7a93de42" + }, + { + "name": "head", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 24, + -4 + ], + "to": [ + 4, + 34, + 4 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 8, + 16, + 18 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 8, + 8, + 18 + ], + "texture": 2 + }, + "south": { + "uv": [ + 24, + 8, + 32, + 18 + ], + "texture": 2 + }, + "west": { + "uv": [ + 16, + 8, + 24, + 18 + ], + "texture": 2 + }, + "up": { + "uv": [ + 16, + 8, + 8, + 0 + ], + "texture": 2 + }, + "down": { + "uv": [ + 24, + 0, + 16, + 8 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "090419ec-8c97-4796-bfc7-c589d18f3b59" + }, + { + "name": "nose", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 23, + -6 + ], + "to": [ + 1, + 27, + -4 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 26, + 2, + 28, + 6 + ], + "texture": 2 + }, + "east": { + "uv": [ + 24, + 2, + 26, + 6 + ], + "texture": 2 + }, + "south": { + "uv": [ + 30, + 2, + 32, + 6 + ], + "texture": 2 + }, + "west": { + "uv": [ + 28, + 2, + 30, + 6 + ], + "texture": 2 + }, + "up": { + "uv": [ + 28, + 2, + 26, + 0 + ], + "texture": 2 + }, + "down": { + "uv": [ + 30, + 0, + 28, + 2 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "accbdb09-41ed-3a6c-5722-6b74dd1da089" + }, + { + "name": "body", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 12, + -3 + ], + "to": [ + 4, + 24, + 3 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 20 + ], + "faces": { + "north": { + "uv": [ + 22, + 26, + 30, + 38 + ], + "texture": 2 + }, + "east": { + "uv": [ + 16, + 26, + 22, + 38 + ], + "texture": 2 + }, + "south": { + "uv": [ + 36, + 26, + 44, + 38 + ], + "texture": 2 + }, + "west": { + "uv": [ + 30, + 26, + 36, + 38 + ], + "texture": 2 + }, + "up": { + "uv": [ + 30, + 26, + 22, + 20 + ], + "texture": 2 + }, + "down": { + "uv": [ + 38, + 20, + 30, + 26 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "55eb02df-fc6d-e19d-5715-a3b7c272ac25" + }, + { + "name": "body", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 6, + -3 + ], + "to": [ + 4, + 24, + 3 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.5, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 38 + ], + "faces": { + "north": { + "uv": [ + 6, + 44, + 14, + 62 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 44, + 6, + 62 + ], + "texture": 2 + }, + "south": { + "uv": [ + 20, + 44, + 28, + 62 + ], + "texture": 2 + }, + "west": { + "uv": [ + 14, + 44, + 20, + 62 + ], + "texture": 2 + }, + "up": { + "uv": [ + 14, + 44, + 6, + 38 + ], + "texture": 2 + }, + "down": { + "uv": [ + 22, + 38, + 14, + 44 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "0a6bab19-14f2-b159-ad33-9a8e69792776" + }, + { + "name": "RightLeg", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -2 + ], + "to": [ + 4, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 22 + ], + "faces": { + "north": { + "uv": [ + 4, + 26, + 8, + 38 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 26, + 4, + 38 + ], + "texture": 2 + }, + "south": { + "uv": [ + 12, + 26, + 16, + 38 + ], + "texture": 2 + }, + "west": { + "uv": [ + 8, + 26, + 12, + 38 + ], + "texture": 2 + }, + "up": { + "uv": [ + 8, + 26, + 4, + 22 + ], + "texture": 2 + }, + "down": { + "uv": [ + 12, + 22, + 8, + 26 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "d2f0dce0-93e8-3b7c-4717-7fa1b8bd319f" + }, + { + "name": "LeftLeg", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 0, + -2 + ], + "to": [ + 0, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "mirror_uv": true, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 22 + ], + "faces": { + "north": { + "uv": [ + 8, + 26, + 4, + 38 + ], + "texture": 2 + }, + "east": { + "uv": [ + 12, + 26, + 8, + 38 + ], + "texture": 2 + }, + "south": { + "uv": [ + 16, + 26, + 12, + 38 + ], + "texture": 2 + }, + "west": { + "uv": [ + 4, + 26, + 0, + 38 + ], + "texture": 2 + }, + "up": { + "uv": [ + 4, + 26, + 8, + 22 + ], + "texture": 2 + }, + "down": { + "uv": [ + 8, + 22, + 12, + 26 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "0e04e8af-3576-5816-ff75-5470b06e9553" + }, + { + "name": "RightArm", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 8, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 46 + ], + "faces": { + "north": { + "uv": [ + 44, + 50, + 48, + 62 + ], + "texture": 2 + }, + "east": { + "uv": [ + 40, + 50, + 44, + 62 + ], + "texture": 2 + }, + "south": { + "uv": [ + 52, + 50, + 56, + 62 + ], + "texture": 2 + }, + "west": { + "uv": [ + 48, + 50, + 52, + 62 + ], + "texture": 2 + }, + "up": { + "uv": [ + 48, + 50, + 44, + 46 + ], + "texture": 2 + }, + "down": { + "uv": [ + 52, + 46, + 48, + 50 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "8266aa35-0e44-2143-4745-0385f5924ee0" + }, + { + "name": "LeftArm", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 12, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "mirror_uv": true, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 46 + ], + "faces": { + "north": { + "uv": [ + 48, + 50, + 44, + 62 + ], + "texture": 2 + }, + "east": { + "uv": [ + 52, + 50, + 48, + 62 + ], + "texture": 2 + }, + "south": { + "uv": [ + 56, + 50, + 52, + 62 + ], + "texture": 2 + }, + "west": { + "uv": [ + 44, + 50, + 40, + 62 + ], + "texture": 2 + }, + "up": { + "uv": [ + 44, + 50, + 48, + 46 + ], + "texture": 2 + }, + "down": { + "uv": [ + 48, + 46, + 52, + 50 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "ee7009c9-315c-a0cb-ec61-e4d2ddafdb66" + }, + { + "name": "head", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 24, + -4 + ], + "to": [ + 4, + 34, + 4 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 8, + 16, + 18 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 8, + 8, + 18 + ], + "texture": 2 + }, + "south": { + "uv": [ + 24, + 8, + 32, + 18 + ], + "texture": 2 + }, + "west": { + "uv": [ + 16, + 8, + 24, + 18 + ], + "texture": 2 + }, + "up": { + "uv": [ + 16, + 8, + 8, + 0 + ], + "texture": 2 + }, + "down": { + "uv": [ + 24, + 0, + 16, + 8 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "b4fc2ba4-e54c-f192-42ee-5ff7541bf7ca" + }, + { + "name": "nose", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 23, + -6 + ], + "to": [ + 1, + 27, + -4 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 26, + 2, + 28, + 6 + ], + "texture": 2 + }, + "east": { + "uv": [ + 24, + 2, + 26, + 6 + ], + "texture": 2 + }, + "south": { + "uv": [ + 30, + 2, + 32, + 6 + ], + "texture": 2 + }, + "west": { + "uv": [ + 28, + 2, + 30, + 6 + ], + "texture": 2 + }, + "up": { + "uv": [ + 28, + 2, + 26, + 0 + ], + "texture": 2 + }, + "down": { + "uv": [ + 30, + 0, + 28, + 2 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "33820e79-0ecc-a7c6-31fd-ebb700e2636e" + }, + { + "name": "body", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 12, + -3 + ], + "to": [ + 4, + 24, + 3 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 20 + ], + "faces": { + "north": { + "uv": [ + 22, + 26, + 30, + 38 + ], + "texture": 2 + }, + "east": { + "uv": [ + 16, + 26, + 22, + 38 + ], + "texture": 2 + }, + "south": { + "uv": [ + 36, + 26, + 44, + 38 + ], + "texture": 2 + }, + "west": { + "uv": [ + 30, + 26, + 36, + 38 + ], + "texture": 2 + }, + "up": { + "uv": [ + 30, + 26, + 22, + 20 + ], + "texture": 2 + }, + "down": { + "uv": [ + 38, + 20, + 30, + 26 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "b9a723c1-7756-5772-d137-b84622dd0fdb" + }, + { + "name": "body", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 6, + -3 + ], + "to": [ + 4, + 24, + 3 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.5, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 38 + ], + "faces": { + "north": { + "uv": [ + 6, + 44, + 14, + 62 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 44, + 6, + 62 + ], + "texture": 2 + }, + "south": { + "uv": [ + 20, + 44, + 28, + 62 + ], + "texture": 2 + }, + "west": { + "uv": [ + 14, + 44, + 20, + 62 + ], + "texture": 2 + }, + "up": { + "uv": [ + 14, + 44, + 6, + 38 + ], + "texture": 2 + }, + "down": { + "uv": [ + 22, + 38, + 14, + 44 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "61325d28-3120-5201-6d0a-ceb10f735493" + }, + { + "name": "RightLeg", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -2 + ], + "to": [ + 4, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 22 + ], + "faces": { + "north": { + "uv": [ + 4, + 26, + 8, + 38 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 26, + 4, + 38 + ], + "texture": 2 + }, + "south": { + "uv": [ + 12, + 26, + 16, + 38 + ], + "texture": 2 + }, + "west": { + "uv": [ + 8, + 26, + 12, + 38 + ], + "texture": 2 + }, + "up": { + "uv": [ + 8, + 26, + 4, + 22 + ], + "texture": 2 + }, + "down": { + "uv": [ + 12, + 22, + 8, + 26 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "97acc9f7-bcca-6d6d-f73c-c17851b1890c" + }, + { + "name": "LeftLeg", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 0, + -2 + ], + "to": [ + 0, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "mirror_uv": true, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 22 + ], + "faces": { + "north": { + "uv": [ + 8, + 26, + 4, + 38 + ], + "texture": 2 + }, + "east": { + "uv": [ + 12, + 26, + 8, + 38 + ], + "texture": 2 + }, + "south": { + "uv": [ + 16, + 26, + 12, + 38 + ], + "texture": 2 + }, + "west": { + "uv": [ + 4, + 26, + 0, + 38 + ], + "texture": 2 + }, + "up": { + "uv": [ + 4, + 26, + 8, + 22 + ], + "texture": 2 + }, + "down": { + "uv": [ + 8, + 22, + 12, + 26 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "c4d237e2-9bab-8f5f-e5cd-fce96bae40ef" + }, + { + "name": "RightArm", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 8, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 46 + ], + "faces": { + "north": { + "uv": [ + 44, + 50, + 48, + 62 + ], + "texture": 2 + }, + "east": { + "uv": [ + 40, + 50, + 44, + 62 + ], + "texture": 2 + }, + "south": { + "uv": [ + 52, + 50, + 56, + 62 + ], + "texture": 2 + }, + "west": { + "uv": [ + 48, + 50, + 52, + 62 + ], + "texture": 2 + }, + "up": { + "uv": [ + 48, + 50, + 44, + 46 + ], + "texture": 2 + }, + "down": { + "uv": [ + 52, + 46, + 48, + 50 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "fb6bae79-a3ee-8429-0622-8203f8553b5f" + }, + { + "name": "LeftArm", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 12, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "mirror_uv": true, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 46 + ], + "faces": { + "north": { + "uv": [ + 48, + 50, + 44, + 62 + ], + "texture": 2 + }, + "east": { + "uv": [ + 52, + 50, + 48, + 62 + ], + "texture": 2 + }, + "south": { + "uv": [ + 56, + 50, + 52, + 62 + ], + "texture": 2 + }, + "west": { + "uv": [ + 44, + 50, + 40, + 62 + ], + "texture": 2 + }, + "up": { + "uv": [ + 44, + 50, + 48, + 46 + ], + "texture": 2 + }, + "down": { + "uv": [ + 48, + 46, + 52, + 50 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "3604f034-e2e1-df2b-0520-36365a9a7643" + }, + { + "name": "Firework1_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -6 + ], + "to": [ + 0, + 5, + 6 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 0, + 1 + ] + }, + "east": { + "uv": [ + 6, + 2, + 11, + 14 + ], + "rotation": 270, + "texture": 3 + }, + "south": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 3 + }, + "west": { + "uv": [ + 6, + 14, + 11, + 2 + ], + "rotation": 270, + "texture": 3 + }, + "up": { + "uv": [ + 0, + 1, + 1, + 0 + ] + }, + "down": { + "uv": [ + 0, + 1, + 1, + 0 + ] + } + }, + "type": "cube", + "uuid": "27b37a0a-1f60-12af-e6d7-7c51db23abd2" + }, + { + "name": "Firework1_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 2, + -9 + ], + "to": [ + 0, + 3, + -6 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 0, + 1 + ] + }, + "east": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "rotation": 270, + "texture": 3 + }, + "south": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 3 + }, + "west": { + "uv": [ + 8, + 14, + 9, + 13 + ], + "rotation": 270, + "texture": 3 + }, + "up": { + "uv": [ + 0, + 1, + 1, + 0 + ] + }, + "down": { + "uv": [ + 0, + 1, + 1, + 0 + ] + } + }, + "type": "cube", + "uuid": "1fa4227d-77c8-600c-d95e-b2f6b13ab484" + }, + { + "name": "Firework2_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -6 + ], + "to": [ + 0, + 5, + 6 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 0, + 1 + ] + }, + "east": { + "uv": [ + 6, + 2, + 11, + 14 + ], + "rotation": 270, + "texture": 3 + }, + "south": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 3 + }, + "west": { + "uv": [ + 6, + 14, + 11, + 2 + ], + "rotation": 270, + "texture": 3 + }, + "up": { + "uv": [ + 0, + 1, + 1, + 0 + ] + }, + "down": { + "uv": [ + 0, + 1, + 1, + 0 + ] + } + }, + "type": "cube", + "uuid": "f5e5444f-8714-0c60-508c-cbd5d3973586" + }, + { + "name": "Firework2_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 2, + -9 + ], + "to": [ + 0, + 3, + -6 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 0, + 1 + ] + }, + "east": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "rotation": 270, + "texture": 3 + }, + "south": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 3 + }, + "west": { + "uv": [ + 8, + 14, + 9, + 13 + ], + "rotation": 270, + "texture": 3 + }, + "up": { + "uv": [ + 0, + 1, + 1, + 0 + ] + }, + "down": { + "uv": [ + 0, + 1, + 1, + 0 + ] + } + }, + "type": "cube", + "uuid": "c42f5916-9747-4b75-7183-c820234134b1" + }, + { + "name": "cube", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 6, + 13, + -1143 + ], + "to": [ + 7, + 14, + 1 + ], + "autouv": 0, + "color": 6, + "visibility": false, + "rotation": [ + -90, + 0, + 0 + ], + "origin": [ + 6, + 13, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ] + } + }, + "type": "cube", + "uuid": "2d9c399c-8ba5-305c-323b-dbd782c822ff" + }, + { + "name": "Filter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -1, + 0 + ], + "to": [ + 0, + 0, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "894a6bab-a630-9935-b393-9473852553a9" + }, + { + "name": "ExplosionCube", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + -0.5, + -0.5 + ], + "to": [ + 0.5, + 0.5, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + -0.5, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 1, + 8, + 9 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 1, + 8, + 9 + ], + "texture": 4 + }, + "south": { + "uv": [ + 0, + 1, + 8, + 9 + ], + "texture": 4 + }, + "west": { + "uv": [ + 0, + 1, + 8, + 9 + ], + "texture": 4 + }, + "up": { + "uv": [ + 0, + 1, + 8, + 9 + ], + "texture": 4 + }, + "down": { + "uv": [ + 0, + 1, + 8, + 9 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "3a5e663a-d2b5-7ae3-46b5-ea3a0dba9d18" + } + ], + "outliner": [ + { + "name": "Illagers", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "cba599c3-2da9-a5fc-3e9d-163a0736ba09", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + { + "name": "Ravager", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "204fed96-b146-d73e-9c57-86e036b7b463", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + { + "name": "RBody", + "origin": [ + 0, + 19, + 2 + ], + "rotation": [ + -90, + 0, + 0 + ], + "color": 0, + "uuid": "90908bd1-efb6-755b-f9e0-b353fe21927a", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "a23d4df8-930a-48e2-3e3c-3f7a8d379619", + "c8ea789c-c94c-98e5-0597-1e4cf9f8edf5" + ] + }, + { + "name": "RNeck", + "origin": [ + 0, + 20, + -20 + ], + "color": 0, + "uuid": "6d87ac53-bfae-9b6f-0af3-148a34075061", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "95944d9b-118f-3079-4e2b-800341573c4e", + { + "name": "RHead", + "origin": [ + 0, + 28, + -10 + ], + "color": 0, + "uuid": "f0b7c7af-fed8-5cc9-2831-640f2f7de3ec", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "8f8ca914-ed61-cf90-80ba-e53323e08183", + "4b38471c-802d-db59-df45-08633d327106", + { + "name": "RMouth", + "origin": [ + 0, + 15, + -10 + ], + "color": 0, + "uuid": "19161852-5bc9-35d8-6cd6-fd36cdb40980", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "7c52d726-9ed8-7d35-188b-02c127d3ea18" + ] + }, + { + "name": "RHorns", + "origin": [ + 5, + 27, + -19 + ], + "rotation": [ + -60, + 0, + 0 + ], + "color": 0, + "uuid": "604d0893-ba04-8fea-2935-b8517376049a", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "0c2c66fd-2748-8bab-2731-e39e45919963", + "83656d72-62fa-0142-65b6-ea4f46fb19a2" + ] + } + ] + } + ] + }, + { + "name": "RLeg0", + "origin": [ + 12, + 30, + 22 + ], + "color": 0, + "uuid": "484f4b31-b271-19f9-d2d6-8db015210b6e", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "e1d26150-d434-342f-ffb7-d1c584d27b80" + ] + }, + { + "name": "RLeg1", + "origin": [ + -4, + 30, + 22 + ], + "color": 0, + "uuid": "c88d5214-c6fb-95b5-5f9f-d1de0645ae0f", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "c0834118-9a7e-bad8-a522-04abecbbf411" + ] + }, + { + "name": "RLeg2", + "origin": [ + 4, + 26, + -4 + ], + "color": 0, + "uuid": "8ee392bb-9d5e-7026-c490-d1f650bb02cd", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "b68bbcac-97c3-5f84-4acd-70aadc714c99" + ] + }, + { + "name": "RLeg3", + "origin": [ + -4, + 26, + -4 + ], + "color": 0, + "uuid": "d3a49713-d161-863f-5b9f-b20af349cb21", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "2cc370e6-07be-f2c2-837d-8b62c6c28150" + ] + }, + { + "name": "Pillager1", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "a0cd2dc2-42b9-7177-35d8-da80392d11ca", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + { + "name": "P1Waist", + "origin": [ + 0, + 12, + 0 + ], + "color": 0, + "uuid": "75ebb3b4-b2df-053f-9fab-afc95ec22f4e", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + { + "name": "P1Body", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "ceaa65db-21f8-e1a0-ac89-25a455eaf54e", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "1dda0ee1-6ca5-b137-6f8b-eaa996007b45", + "a2e35240-edf4-805a-9624-d3de74d01d16" + ] + } + ] + }, + { + "name": "P1Head", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "a80672a8-4974-bc5c-d2b8-c6c1ebeb13b6", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "419031a2-794f-beb9-a6c4-c987939142cb", + { + "name": "P1Nose", + "origin": [ + 0, + 26, + 0 + ], + "color": 0, + "uuid": "4919e419-a5b7-d440-13ff-11849be7a281", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "08431a30-3921-353d-654c-a408ca263e08" + ] + } + ] + }, + { + "name": "P1LeftLeg", + "origin": [ + -2, + 12, + 0 + ], + "color": 0, + "uuid": "d9be2abf-429c-1ffa-8ee7-0c2deb771016", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "1787fdd3-6cfc-b17a-74e9-c5e82faba7cf" + ] + }, + { + "name": "P1RightLeg", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "24336439-6fba-3b61-096f-ab4eceef2f65", + "export": true, + "mirror_uv": true, + "isOpen": false, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "d7bc0eb6-becc-c32a-0f1e-9427ffb206b7" + ] + }, + { + "name": "P1RightArm", + "origin": [ + 5, + 22, + 0 + ], + "color": 0, + "uuid": "9f3309ba-0a62-4fdb-5523-06f90217ad3f", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "530be3aa-72d8-57d3-ecf7-500dfaa64886", + "2d9c399c-8ba5-305c-323b-dbd782c822ff" + ] + }, + { + "name": "P1LeftArm", + "origin": [ + -5, + 22, + 0 + ], + "color": 0, + "uuid": "f05604bd-9a7f-72c8-28c3-eb8ea854fabe", + "export": true, + "mirror_uv": true, + "isOpen": false, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "90184ef8-313c-c1d4-0bd1-1724e750ea5d" + ] + } + ] + } + ] + }, + { + "name": "Pillager2", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "dad4d283-3d4a-92ce-ec6a-765b0e54ce8e", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + { + "name": "P2Waist", + "origin": [ + 0, + 12, + 0 + ], + "color": 0, + "uuid": "8ffcfc30-43b2-42bf-713f-c690b43e5811", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + { + "name": "P2Body", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "c320e2d4-6cc3-8ad0-4058-3d8f899b6f1b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "12ff8312-e995-867f-fdd9-212ec3ae0b46", + "56c6c085-999c-a41c-3049-6fced3891cae" + ] + } + ] + }, + { + "name": "P2Head", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "c68f9f8f-52e9-dfbe-7a65-00daf0615053", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "fc0c6e47-8007-590f-6408-0fff614763ee", + { + "name": "P2Nose", + "origin": [ + 0, + 26, + 0 + ], + "color": 0, + "uuid": "193f9f48-7adb-9a86-0512-5171b0c0757c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "3e7be230-a37d-9e53-c6dc-c51022fedd68" + ] + } + ] + }, + { + "name": "P2LeftLeg", + "origin": [ + -2, + 12, + 0 + ], + "color": 0, + "uuid": "c9dc01ef-feb4-4aec-7db5-874e2082841e", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "21d644d1-c200-5d47-fd87-00bfdfc8214a" + ] + }, + { + "name": "P2RightLeg", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "9e68f694-15a4-2f1c-0997-cec5f7747443", + "export": true, + "mirror_uv": true, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "85748243-07f6-8108-364f-b1373f2aeeb4" + ] + }, + { + "name": "P2RightArm", + "origin": [ + 5, + 22, + 0 + ], + "color": 0, + "uuid": "13f2f4ad-d5d1-b658-ce6a-5013961b417a", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "981e25d9-be2f-35f6-88bf-02d64480098c" + ] + }, + { + "name": "P2LeftArm", + "origin": [ + -5, + 22, + 0 + ], + "color": 0, + "uuid": "ba87b492-ed35-cecf-e576-fe54a4321ea1", + "export": true, + "mirror_uv": true, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "2781d1cf-546a-eaa9-1205-d3fd7a93de42" + ] + } + ] + }, + { + "name": "Vindicator1", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "da32a854-5a83-9002-6f37-d72e35db1e9f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + { + "name": "V1Head", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "7922547f-ce3c-a3a0-13b5-63414a16962e", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "090419ec-8c97-4796-bfc7-c589d18f3b59", + { + "name": "V1Nose", + "origin": [ + 0, + 26, + 0 + ], + "color": 0, + "uuid": "eb036073-d29d-1408-df1e-52629640a859", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "accbdb09-41ed-3a6c-5722-6b74dd1da089" + ] + } + ] + }, + { + "name": "V1Body", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "2b2ab96b-ee25-0be4-39c9-305eb83eff0a", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "55eb02df-fc6d-e19d-5715-a3b7c272ac25", + "0a6bab19-14f2-b159-ad33-9a8e69792776" + ] + }, + { + "name": "V1RightLeg", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "7ed33c17-c95c-ccca-df42-16b8cdddd7bd", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "d2f0dce0-93e8-3b7c-4717-7fa1b8bd319f" + ] + }, + { + "name": "V1LeftLeg", + "origin": [ + -2, + 12, + 0 + ], + "color": 0, + "uuid": "5d417cf8-9e90-bfcd-05d4-3758348e9429", + "export": true, + "mirror_uv": true, + "isOpen": false, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "0e04e8af-3576-5816-ff75-5470b06e9553" + ] + }, + { + "name": "V1RightArm", + "origin": [ + 5, + 22, + 0 + ], + "color": 0, + "uuid": "4539b84a-a2b9-e76d-7127-02e8def48b5e", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "8266aa35-0e44-2143-4745-0385f5924ee0" + ] + }, + { + "name": "V1LeftArm", + "origin": [ + -5, + 22, + 0 + ], + "color": 0, + "uuid": "0ea60c27-92fa-a211-7a79-4c9745558a0a", + "export": true, + "mirror_uv": true, + "isOpen": false, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "ee7009c9-315c-a0cb-ec61-e4d2ddafdb66" + ] + } + ] + }, + { + "name": "Vindicator2", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "b02285b4-d950-be5b-2aed-65cb8b396755", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + { + "name": "V2Head", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "bd16993c-4d78-2c78-8b92-55c6b8afb467", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "b4fc2ba4-e54c-f192-42ee-5ff7541bf7ca", + { + "name": "V2Nose", + "origin": [ + 0, + 26, + 0 + ], + "color": 0, + "uuid": "ec9b3529-82f1-8941-144f-5b63f6c49be7", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "33820e79-0ecc-a7c6-31fd-ebb700e2636e" + ] + } + ] + }, + { + "name": "V2Body", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "d2c3e37c-68c2-fb55-bbb2-f09167b1e5eb", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "b9a723c1-7756-5772-d137-b84622dd0fdb", + "61325d28-3120-5201-6d0a-ceb10f735493" + ] + }, + { + "name": "V2RightLeg", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "cfd5c093-bd86-a7e1-05d9-24dd84482112", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "97acc9f7-bcca-6d6d-f73c-c17851b1890c" + ] + }, + { + "name": "V2LeftLeg", + "origin": [ + -2, + 12, + 0 + ], + "color": 0, + "uuid": "cc9aaffd-fd17-fc39-c491-376ae97e91bc", + "export": true, + "mirror_uv": true, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "c4d237e2-9bab-8f5f-e5cd-fce96bae40ef" + ] + }, + { + "name": "V2RightArm", + "origin": [ + 5, + 22, + 0 + ], + "color": 0, + "uuid": "2815c2d2-36c5-0ca5-0ec7-be32d2a1a60f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "fb6bae79-a3ee-8429-0622-8203f8553b5f" + ] + }, + { + "name": "V2LeftArm", + "origin": [ + -5, + 22, + 0 + ], + "color": 0, + "uuid": "d192bff1-1a47-b0b8-a574-8709797a0edf", + "export": true, + "mirror_uv": true, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "3604f034-e2e1-df2b-0520-36365a9a7643" + ] + } + ] + } + ] + }, + { + "name": "Firework", + "origin": [ + 0, + 2.5, + 0 + ], + "color": 0, + "uuid": "f7f3e76f-feb0-7675-b7ed-e2b4c4fc8e8d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Firework1", + "origin": [ + 0, + 2.5, + 0 + ], + "rotation": [ + 0, + 0, + 45 + ], + "color": 0, + "uuid": "30a64ce9-b8db-6ac2-6906-8502b345c6b7", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "27b37a0a-1f60-12af-e6d7-7c51db23abd2", + "1fa4227d-77c8-600c-d95e-b2f6b13ab484" + ] + }, + { + "name": "Firework2", + "origin": [ + 0, + 2.5, + 0 + ], + "rotation": [ + 0, + 0, + -45 + ], + "color": 0, + "uuid": "9664aa39-82dd-ed2f-b019-b08de297a868", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f5e5444f-8714-0c60-508c-cbd5d3973586", + "c42f5916-9747-4b75-7183-c820234134b1" + ] + }, + { + "name": "ExSkill3ParticleAnchor1", + "origin": [ + 0, + 2.5, + -8 + ], + "color": 0, + "uuid": "0329f8a6-de28-dc03-1985-50813e355d94", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "ExSkill3ParticleAnchor2", + "origin": [ + 0, + 2.5, + 6 + ], + "color": 0, + "uuid": "ba6f4a1a-4e66-5919-ed31-ff4fee9e6b1f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + { + "name": "Explosion", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "03a7340a-aa59-f57e-b69b-46b04a0307e0", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "3a5e663a-d2b5-7ae3-46b5-ea3a0dba9d18" + ] + }, + { + "name": "Gui", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "f2ef7b69-659a-5cd6-b809-23bab23c8ba2", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "894a6bab-a630-9935-b393-9473852553a9" + ] + } + ], + "textures": [ + { + "path": "", + "name": "ravager.png", + "folder": "", + "namespace": "", + "id": "3", + "width": 128, + "height": 128, + "uv_width": 128, + "uv_height": 128, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "68dac9bf-506c-2922-cb7f-77e6fa012dc4", + "relative_path": "../../textures/for_modeling/ravager.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAAAXNSR0IArs4c6QAAFoRJREFUeF7tXWusXFUVnou0QG8jKG2h5dUqffAoEtCIiUYwKY8EUeM/iQqJoJgiidGoYJQYQY3GBNqIIgmIwX9FRQyUJorBBIxCNARta2MplhbaomC4CC3hmm/P/cZvVtfe+8ycc+bRe+bPzJyz3+vb67XX3nuiZT7nnHPmtD56+eVXu1Js3bptQh+sOf/8kP7IOe2nb548KnwfvfjErnwv7d4Z/v9n6r/h+9UD7debHn64qzzbnmH/v/pbN03v2P50tBlvbP17soll+1d3/QcNfq8AuPzDl0yTqCD+nKPf0po3b9IdlFdemWodeOnfHRAg/T2/eGDkAYDOrF65qqtPT27Z3AIwBgGAOusvDYArPvmxaRCVHzvz+XxycrI1NTXVIifAc4Dlrp/8bOQBAOK/c+my1p+e3t4FgvsffHAgAKiz/koAgFEBCFKznyNHLoC0+IwLADyWNkgA1FX/xIoVp3bJ/Pnzj+yqy+oA9v1Zq8/qpI+xftt4gICfBgBpLQc6gBU/zFEFAGsBANl9rGvjBICLrr5q+tKLL3a7UgUBckpu3fVXCgB0JscFlPjjIAJAgFOWLXWVQLR/+8ZNtVoBdddfGQCoA6RAQOJr2lEXASAAKQwg0CTE70EBoM76KwGAWgFU7hQIOutt2mEDYN29G6ah4ec+1gJg+jJ5+y0jVifbyPexNmtfKwOA+gJQgQKBVgK+rc9g2ABQFgvbHh/Ocsh++wzvKRLoC7DgieXznnvixQMj2xFTCHMA1vcsC89KA+C0k0/qImqRhigIhu0IgpatbeYA6yB5z5An9pzlFcmnXkaKFW8Mi6SzHssi5ZUGwAnHLgjtpReQjVdWbzmCegN/tWm4ruBHn3giAEDZpcdic+xU88TK8p7fufGBDpByrB3tVE5A5xSeKWew5cTajnylvXAfXHP+tHUBq7KnxKeFoC7hYQMA7SeAz/vEpwJ+H7v7jiwjIxdjQq6BZDPOJGD+xR9YE56QgCq/rfhZsKe9nsKPFbtF6963qL1OAw5RGQCsC9iaeyA+nhEEcAmjA8MGAFzZL+zaFTjY5LvfGwZm/+anDhpLy9HQdgKf+a3eo4XE8oMYOVZNwsf0Knpg7ZjHAMG2oO7SAMBiEIgP58/evXs6BPYAwAbpusCwdQBYAWStauLR/66DmBMDqjcwX05pI7cBMUBofmu91rKKcVjNwwnHZ/pfwVgaAJhB1vkTQ6KXbthWQGq5NTUz7exKLRmT3XozcuoPvw+PwX0Of+bp1usnLw3fRWZzzPwuKgqQf0JlIDN6rEwVN6Y7dsmS8NOy9yI6gCISLFQ/VqHkO+2wlcFFO+2lQ2zComPacQxaLuW6J2vxjDENyNdvfuYjCACIlChBOitOYtxCx03L7OIABAATqzLDTLGBV0LluEDsvQVWL/VbYipBUoBg8Ir2mX0lMD2ZHSvTA2wv+TGR5q46owXigxN4INB2sa2cOJyIRTiCemGRv8MBbOeUEEtOXdnatW1LJ4k3S3QAU4tBljt4ZXkDnZrxRQlvy1UgxIho26eDj3o1EsoqYx64vfyoGxbI47/c0Dr3Qx8N37mPDaxJcQ2rD5CLoG8uAGImjXKEHAi0A9T+c8Rn+QsXLuoCHMvyQNAv8bV9NpyNGr4ViRxIzjzWXSY/8nK8CQIr8jxOrOKK+T0AIl0q/wRi+rwOWJms/6H12/AuvEdDMHhgSZ5e4OkR6kPQaCErj1m+PlfiW7aOdJZA2odcXtt/O4iqA3h1F81PAKz92k2tm7/0+db+ZcuDNWBltp1wuf9F83cAoLM+xm49pFHueKzSc/woUJT4BJRHeE8/SREgxhUsoZhOFbFU/TGdo0x+AgCz/6Hb1gUAzN3eDjTVieSNsx0XSzfqBmT5Xt8OAkBM47WI9riAAoTpPfvTCyKlYyjGeWy7CAAlalFxYPNYOW5ZcMwy8ESAsuHY5CAhrA5BBdCKICsCrXWi3JFle2LcG8ODzECt3PM8sRCiS71gKS1U5TrKpTjQctiR1Eqi13ll93aWxv6T6EoEa9ZZnccO6p4X2yHuWhbrA1cokh95FUix/tmxUXFaJn8HACAElRudyWo26MzQzhH1eE9WTg6BZ+ACmOFeOluOEox125mkbVXie4TQ8ux7Dr4qYjo7lbieiPQGvtf8rNv6FWIWCsbCAo+6V0yvUQvH5ncBoCwFBOLs5cz1kK3Ezc1CVSBt47w6rOxSAFg2nBMDMZBYEHjyMsVp+s2v+XKs3wLOY+kp1u/l7+gAGNSUU0blkK0kpgCqPyBmNShYYgNg6wZIwK16JT7L8UBgZ5xtlze7UjOul/wxKyKnmFslNqarxCYk8gcAQF6BZVtFLCaPOGsBmD/+Nb01KscN3nX68iAaYiaiBzymByusQgnMtbHu9/1YEaABRQHye5ZbTllE/g4ALFsnR9DOq3JGuV4FANSiIHGV8PitJg3+U5bl5H6MeMx34TXXukmKxPrZjLnVQq+i+25dF0BcRGunWGJaTxeIia6YDhN0AKv0saFWQcOgk1jQC7DV65/b2hzgvod+G77P/fT7wvexWw/v6u8LK14P/x//0SPh+7ILLwjfJ526PHx7XkJrVlIpJPgU9TnZbwefAGBAhn2P1b1UvJ5G4diIHJSlwRzeqiJXD7G3MOdIQnkeQCwAbLqcSR9EAAHAgA4bwau+a52JBAOJp5p6yhGjRCWIdLuYtURQviqGNqCEhOsXAB4HwIYPhoBrAKiCBOv8NmLHEjoXCxAmzq3rwkqip9ApQWN+EKSxIiDFTbTMIAK4Gkivk85GdtiuBqrmrt4+pFczw84qtY29fDEfPMvRPLqE3CvxWV5M8ctp4znZ2kt+tN0uJaeUbEtAAkDH2tbvtYdmp7sWgMI0E397WiZnKIlv7VltGGWdtzhhy/bqZ1lM2y/hLTAVEL06Yqwl0E9+9UTGxtgSGP9Tfgivj7ZtHSsgNiCpgUrlKeqLt2VUTdAi/dLZ16sjRWdfP44c5I8pgLbtKXnusXxOYpYTEwsHhYUzg54Egh3EK085sRPASbHBgM46/m/ZsbNl2+AR9JQl3SeRFCG6J5os1ysy40h0BVGvjpjUTM31Jac3WI7piRYXAPYYGG4h5/NB/2dH7FZ2PC8LgMs+d204/CH38Uy8IvlQbj/mIfKVKb9IXrSrdFBobuBy73nGUC5d7H0VZ/D0shsI7UjtCCqyGyjV137y99oeTT8yAOjXFVsWAMPeG0gw0IQEcWCG5p7re5qk3vYxLU/r4L7GkQJAzvxBp62iWAUAcoPJTZ12gL2BT5VF34Itj74G9T8E8TZzLkFsE2rsvZaX69tIAKDMcmxZAAx7c2hKpFSx+ZQAiJU1MgCws7toQEVZABTdHMqBLHJOQJHNoSk9oNeNplpWSvnz2jVSAFAPIzpVJKSqLAC8oFjUrQ4ZG7Vk/yN9bLEl5uf3fA6x5d866x8JAPSzHEqOUQUAOINUFOkaiF2woksaC2F2U0bKIcR6iq6VID1c3nXWPxIAyK2G2aghzlAMZBUAsPXb+uxCmS5I2WX0mDfRU2AVeMrGB1n/SAFAfdXKDm2QqG7MqAIAGHyCYN/Lr7XedtwxgR6MPEJbGDCD5xo8o3ET/3j+xdaC+UeEvCm3thfEMqz6hw4A3ZyaikKmnFXWXAUHSCljs+HdSADAKn+qAJIIXsgT3g37gIlxB8lIAACDmNrhSmvA2+7UAKAcBEcCACl5z+55m06gCzQAGHMA4IgZL0CE3YopgAANxEIDgDEHgB7SZImtXfMOXAAIhn3GULnhH37uoYsAcACaXL0MBwHRAKCXUTs4bTIgZNCBH0XrK9fl7tw2+KXKssehrGRIWFGCDCJSyIsGqmKAZz0Aeo3I0R21cMRoRKvd2GkJpLt9NbLXltkLYXfs6j49s5e8SDvrAdDrgOXSE1DLLmofgRq7UMF7f9iK5clTM7Vu3thV1hWc60/s/XVfXht0l81Ptg/P2vjrTUPXp/rpS+WNVgCASLt27mwd/0r7IAV+npt3VGvJie0jUnM3buQ61QAgN0Lp97UBALMZH+x9A8H1A0Do+zJdGBYAvnnLzYEDPDKzJ7LhADNUJAfIETj3vigohgWAj195eQDAnj17GhGgxFIAeOzfioHczZs5IAwKAJT5Cxcvae3d3X20rT771/PtSzR/euc9lXPX3Fj0877yRhIAZPtW/isA8Dv2vmhnBgkAEBqfLX9+qvXW49oXX4LgK88+I/wGMBoAzFwmPZsBAHDc8u31lU+uopOil3SVN3K2cwAOfgOAGc3/UBEB1PpTIoBiAN8NAOYdlZXvEBPjogMQAJTzYPOU9/hN/YAK4qwHQC9yqEzaQSmBCgB4/1atXukCgFygAUAZqvaQd9AAgAUA23/RokWhlc9tf7Z1/LITOpZAA4AZK6AHGpZKOigAQLk9/bwzw6wn0RUAFAO/+/lDrfd/5MLWV6+7vnIFu9RARTJX3sheVxfLdmpQAED4+v65c8LMf3HnsyHuHzOfYMA3CN8A4BDlAAAAiH7Y5JzW3P0Hug5oAjDemDrQ9W5QwCw7gRoOUHAECQDuH9RjahkXwSPfxilYtQFAQQAgdhFE9w6EIhh0a9u4RCs3AOgBALEDF1GE3drdAKDgwJZNNqqytmpluK5+NhygLAIj+ccGAIzL137ENmJSyeEp1czDoM4iY5lL672H3LV3A2hd3uGMuskEt3LiY28F955XdZfx2ADgs9dcNe3d9as7cXCbFYMwvaNVLdFiZ/jb5x6x9Zme2AEAMGiUFy6DqHq/AImuh0rvPmKyE2hqT+/W077f/qY2pH5w248r4YoEQD8XWujEwu86t8FP4Jw8VLL4talQr14SxVs8eKQ6jjHDnXbcl6dh4anfHqdQMKR+sy7cp4fj1fDB/Xr2FA0SHwTXD49Mw+FJ71i1Krz6y+bNnSQ4OEmPYdt4e3UAKHI+UI5rsoy6lMoJnpJ158YHwiy3Hw4g7rkHJ0AUb4xgyKsx/kSvLdPOCjvrmU/rQRg5Zj4uWEydm3flRZd0ERd/eHKWPeHLPsd/3N5pj3npZ/D1Uu6ih2DbsdNx66cNOXDh/cS6ezcEDoDOAwSQk3oZBA5CAgdQAPCCAj2uvAgH8FhbDgyY6WD/CgBwAB6cxOvoIM9BfO8YN7J61E+Q6+UOKhpQtgIX7etn8O2t7EoM7xwhHT+ktXpNXXsggwhQNnnjD28Ld9fyYCQMMHUAPLfOEPWCFZHx5BJ2kHXWs0wOAuvct6i9lwCcQNuH5zd+5ppAfI878GTOCx69o2tS7LviewelRx/tSV/9mGAKgNjxb94MjR39XisA2BACAdeX65WvvB00dWa9AiHHelLKn241YzlaL37zNBG2EVeuW8Kf9+T9IfuqhUe2lt64IYBjwV1faJ17fFtHePy5qa7nm/e+Gp5vO+7szhmBnKllAECC2tPEOMtjFpcdw364UI4OQQR8/T2LgwjA57HVlwZFiwAge8U7vdYtdShiL0DQBlr559XhHZ8GCwYAgIJKorNcEJ8fEt4OCoDAD0CgACBX6gcAMK8tcWN9ShGKZdQKAAwUZ8CCL64PACDRY8i1s5ODhe+crW8Jz7yqDxQBANsGAOz77trOjGdfCIAY8dkOggD5npi/siN/6e/oFwAoPzfDvdNRPeDUJgLAASwAeFw5TEMMbuAOd9/Rwh33YKVQlHDdGhQqmIX8zU0euvHT7gDS/3aDKO383b/ZFK5Rh0jCbyihUFLXf+OGYAXgA5DS5APXqgoA4AD8lAWAJzK9+xkth/U4Qu0cAJViBoAD/G1T+7z6109uEwAoBfFhIkH+QuOGIoYOgvhIE9bKZ3b36n8AhO9Qpv7nbwCBjiZwAZaJeqGAwjKBHnL9d74fQMB6D3+mbbaetqYNAM74MhygKgBYKyB3FF5OXAwMALsvW9sxlaARc8Zh1mMmQtmCL4AzGUTEbMWHlyDyMkbOZH3HtOQceMcdwrEyARCYamwDORK0f3zAKRbft/4gAOBdTgwo+0d6AkDPL+hHBOiFnHZGx24GU45hr9OtFQAcKMwcKII0A+1dwjwWlWYZzaWY8yem7Vt9gQNkTUr6AHh0vN4VqMe3AghQAFWU6aCrMuixV3KMKgFgzz7yTj7Xttij8uxdyrUDIMyqGeLbY9u4Do7nz+7Y1bnqLAWA2HoA6vH8BQSFgkldziec8v/bzT3TiiDgoKIv+NB9DM5luQS4HZ1A1HuqcgXj9DMLtpwlpQElNm9tAOBaACqE0qfHuOCZVWTUEeTdXWsJ6c04DxzeogkXnqzzCWUqCNhmXQfQe3/V5UuvIAhvXcF4d/tXbqhkMQgAiJ1w6o0Jn8XEQ21WgLcc7DXGY9O2I6lZ76W1LlHPZ57yj8e8ZqgL3IrLvUps2w56D/EcymZVy8HeuNqb0VNAsO9qA0AvjUil7XX9Wy+JwMBwCRd12OVpPKtrAGyfbD+8hS/moYjyZLkXPqYc1SvDlmdFgorE2OTL0dOKkkrYHSotCwA2XNfyNSZhFAEQI6JH6BhhlMgewZUbK0Ast4wtPdt6RxYA9OuPGgAwgCkxRH3EzvicB1DBY4mUWnPRtKnbSWKAG1kAoMHelfLsyDA5QGyp1hLdyvgiIFBl1i66EVzkKLr8jmeHFACUA8D/MCglKKUDePLfrlFY+x3lqejKgcAucHnprezPWVEpPWBkOYAGoXAVcpg6QMxXQYLRKVUnAKxSeMhyACIWQR6wAMgNRhEAsTsD1VlWlAN4ZqznB9BnNvKKYzfWSiA6QVOQsx8gUFEwDB3AEwF0h1tCFTX7PJNRn2m5Xl02DO+QAYCGeKFTek0b/g8TAB7RYrLdi2PImYBq6qlVYblNKrh0bDkAZw7Zv7pPqRUPCwCeCahyOecISiljfKeXZcXiB/SexFiwzdgDgCIAOoCunHFFsJ8l2SIEmO1phu4JVNkZW4XEYlADgHqgOjQAaHfAvqxGzKVmpmsAMEsAQI7QAKAegttSR4oDaBiWVXYaDlAPIEYCAFbb9sydBgCHOABy3WsAkBuh/t5XxgF4ilaRZvSycaRRAouMaP9pJhi/7mnhqWKLbnku0rQiToxY+Je9UZz1xa6hrSrkq0i/xiHNhIYv64ZQe1cvOsNBhWeq3z2AdlBssIV3jTzrZvCntlNDyZCOjiS6llkfw8waAHRTYMJGr3IRJjazrHlWBcp1R7AXOKlt0aARGz1EouuKItqngGkAYADAM4JsNA6T2dBmjW2vUgzQEsC3t0lCbyW1AaTKGcgFFMiavqozgKoA/iiUMQEAWDZpic//dl26ig7EdgR719AqGElULhlblo+26fZ2pm8AYDhAal8AkqZCmqriACklMBX7bwHohZerLoP3jQgYUwDYpVJ1GavYiOku7Pag4gqq4I6DKKNjBXC22zj1UeAAsTBptJU7hNF+ux3MOzOoqr1/gyDOIOroAEAHORfJyoYNSgR44VZsI7ebEwD45mlhehAk29wAoIAIsOw1hsRBAMBaBbZtFgDc7Qvi47c9PKoBQAYARYmPYgYFAAWBDca0IoDdI/HxXw/AbADgAKAoy7ecYJAAYN1e0KUXm4/03qEMde2zH4S8rqOOoAOojO0FDMMAgB0EJb76AjS2UBXcxgowHKAOVDVljs8IVLYcPD5dblqqI9AAYJbjoQFAA4BZPgKzvPsNB5jlAPgfr68drz4fxiIAAAAASUVORK5CYII=" + }, + { + "path": "", + "name": "pillager.png", + "folder": "", + "namespace": "", + "id": "4", + "width": 64, + "height": 64, + "uv_width": 64, + "uv_height": 64, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "3de851d2-7c25-554d-0cdd-9f23b450976d", + "relative_path": "../../textures/for_modeling/pillager.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAABttJREFUeF7tWltIXEcY/hdjXNddL3HVjTd2NVeLkl7wobSFUiikeaikJSnFkjQklhLFxLSJUqGUWkxSYku0tDElWCoFCU2TQpq+9CVCC5JKccG0seqirvWyxsu6Xmpkyz/unMwZz9lzjq7ds+q8zDlz/77/+2fmzBwDKIQvrl71Y5H5uTmhZIzRCBAdDbCwELQ21qkoKzNgoaJDh0g7NpuN1Pnq8mWSHu6gOAgkQBI8jjxAgNPplMSxa+fO9UMAsbpMQAJ+uXNHlPvS/v2ABNxtbSXp1PJDQ0Oi93ArQbUCNi4BTU1+wdfR7xnpU5OvbwXwBEhMfOubgMAqIOn+gZVAzSQY7tlern9VcwBdBoPNA+xKwXZGl0HdEkDXeWGAAT+f93qBBYwAhXduDyDKU4OUqX/yxAlFI6hpcqVlDHSdlwUbaFkJJFUAbSdYeTZPtwQgbiXJa81ngdPnsBNQV1/v54Hw1pPzbyo7OSKkVMC3Fe45wkAJkJNs87VrBOeBoiIwmUzkeWZmBm7fvEmei48dW+Z+tC0l4rBi2AmouXDBj8DkrPj5xYtgtVoJyDePHiXxd01NJPZ4PHDq7FnJ+YcFj4SxgRKpKwJYn+d99XRpKTz9zvNQnH+Y4Gh2tsDvV1rhs4YGgTi+DlUKxghYigRMqz53LryrACqAWoe1DFVET08PpKSkgNFohKioKMGQPp8PRkdHIScnh6QFs3iwJSrsBJypqvInJSYKY2RJwET34CAhoK2tTYSjsLCQEJCRni5KZy09PjFB8rB99hnT6Pul2trwKgAJoAikiHjQ1QV2u12SAJfLRT55Wbmz4IJZnuaFnQA1g1zPZcIqPz0Qu2YEFNqyBdeSAjo2J14a+TLdE541Gxvb15p1Qgl49q3DkJGZSfp0DwzAr9+2kGfdEpCdlyeynH3aDdPz/4I5ZiuJ24dnVZGGBLDgKeuUhIghwDrWK4BHEu72TW4sAlarALQ86wL4jm6wIRSAYNEN2KC7OYD3ea1L04vmWdkqE745cLxSLMrv/akZEuPk7xhoYazLBlrnm7ZeVS6oFodhrQhAAP+MRcPrlRXCWAbdbui69TNsifYEJYEHTxtAEnRHQP6jKBidmoSU+ARRvCMtHSZnfZAQGwf73n4DKHh8x3QMUvX4dvj3tqG+tVeAwWwmA/RPTysqyfZwmkxoyUaTKN6Tul0A+NC61N5ij1sgiu4F+HpK76HeIC1zAQQfk5QE8+PjqkhYdwQompwroMYF/liYJLUcj7YQl9CdC+Ban2QxwW5bkgBv2DsLOBnhxIPxuHcGXOaMZfyoUYCUr+vGBY4UOpZ9tNBZGEE7bNskRZFmiQUk6X7fouQcoOTLK80P+Rzw6hPb/ayVcb/PhixrorBkSS1PSNL/GdRuxdWOyfBUWqxIAbjfR3fAgOB4QviG55Ltsn2NjIxAamqqKF8qTe1gsVxn5/3QLoMvZCc8PhKzmIi1qbxZV8DOKTFUMf2eCfBsTZYd/8zsLCFg2uslZcwWCyABpthYLZhFZfv6B9aGABYc9sjLnUqdVQeWc/ktigSwBXRHwIpNsU4qhlROkcjJJgGRaLVQjnlTAaFkMxLb2lRAJFotlGOOOAX81t7uv+fqhXvn3yObtedKKuHv7m7YkZtL4isa/0KPOALqb3zvp+BRCS+f/hg6OjqgoKCAxBuKANye7y06IoBHEk4eP67JqJoKh9L3VtoWKgDrXj+19HMWEkDlj/H75eWaMGkqvNJBr6YeBYxtPGN3APq/868/Yf6Hr5d9sLH9pBWXQv7uPVB28LWgGHVPQEntJ8TiCAYDgscw3NxAYv5Ahn6tIgEYGqs+iGwC6MUNPaqnVt7n65c8p3zSMC5K7+vsDE5AXt5efwLzkxQrI3d/P7Tc+pEkofQwfFpeDhlZWZKqngz8FBVM8lpPdA7syvdLHaoOZ9vIvQV/Kj20bekOAg9r8VLl9gNncAKyszKFEyE8sWEDHl582NgIX1ZXk+R3a2rgo5KSZcdc9MRHja9rPdHB/wykLl7kDlVxDGye0k2SgSUAK7MkIAEHzzy+28P8G5fqRARoAY/1dUcAeyaoxoKrLaP1VFfOBeTuEHF8bJ6iC2jtQOnyUilfSZI8wXJzFJ1veAWigtk0JcUZ1PgYHTT98UmLT/K+qvViAwlAUviJGglQ436aCWBvdeXkg0RQS+PgtBCilYDcRGvQ3+2UXFKpPwPvAlolqtWFtLZ/vq5OIKDX5SL7fu/UFMFtiY8nH0AO+9LlDObTgGn4rvRxpPudIBKAQDEgcPxj3RQXBzO+pZ8sFhcXJUWAdbB8ZUVFZO8ElSS+2nzdK2C1AJXq/wetuFeM4T1WOwAAAABJRU5ErkJggg==" + }, + { + "path": "", + "name": "vindicator.png", + "folder": "", + "namespace": "", + "id": "5", + "width": 64, + "height": 64, + "uv_width": 64, + "uv_height": 64, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "21cf877c-7e89-609d-6e0b-0ccb4bad080d", + "relative_path": "../../textures/for_modeling/vindicator.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAB6tJREFUeF7tmm1sFEUYx5+93h3XK620ltDgFyRiRK2iKJUUUUKIIY2hIZEEUhNCRHwBxJqAJH40QUisCviCJKSJjSZ+MBhDCDEEbGkKKIo0GBVD4IOkpJUiZ6/H3dE1/2mf7dzc7O5te2Wvp/Nl92Z2duf5PW/zcga5lA/37zfxyM1EwnpySiRCFAoRpVKOvdGnedMmAw81rlol3lNTUyP6fLJ7t6j3u7gOAgC0wmPkIwC6u7u1ctw7Z07xABBatykAcPTw4YzWpcuXEwC0d3SIetZ8T09Pxm+/LSFnC/jvAmhtNS1fh99Lps8qL24LUAFoAl9xAxjJAlr3H8kEuQRBv6O93fdzigGcBp3igJwp5I9xGixYAJznrQGO+PnNWIxkgSGg9VuZA2S05SKp1P/V9etdlZDLK8f6jMF53lbYkTe7CckWwO9xel5uK1gAkNvN5L22y4Lzve8AWvbsMVVBVO3Z+TebnR0InRWo7/I7RhgMwM5k2w4cEHI2NDZSNBoV9/F4nA4dPCjum9aty3I/fpcbOHT0HcDbO3eaEMxOi+/v2kXV1dVCyDVr14rr562t4trX10dbtm7Vxh9ZeACTC4MsKACyz6u++vrGjTR/1QZqWlwr5Ghr76YzX+6j9/butcCpfdhScIXAOgioe2vbNn+zACyAtSNrhi3i4sWLNH36dIpEIlRSUmIpcmBggHp7e2n27NmizknjTinKdwBvbN9uVk6bZo1RhoDKP69cEQBOnz6dIceCBQsEgLtmzsyolzXdf/26aMP75XvU8e93d+zw1wIAgCXQgfj9wgWaNWuWFsClS5fEklc2d1k4J81zm+8AchlkMT/jq/kVAtgJA7B07oNmwysbtDIe+mgf/dEXc5T/cu/lCRub/OEJ+4gMQF1nFDSAu5cts4KiSG/d5zI0daXnak7QAGBl82siPaoLpK9aPsibBTxVX2cmEjepoqKckskkpdO3MsbbeeoHx/FmNeYbgGrnAJJPC6ive8xMp9NUWhqhVCqd5VYFAUC1gokAUJAWsGTt81RZVWW5AUBgonSs9bPCcYF7Vqw0KRgeNp10koxwiAKlw6u+ocE4mckUcbuZGKBANJrRPqXrpDaazygvF/XzGp8VM0GeIJ09+I24vxrTZwHuZ5ci0lVlw0NN36JgcHhqjhgAFzDN0fAlt4fDYbpxI0bBYJBUlzC8ANABcgPAEHBl4ccLgAOdEwCGhGs0WioARCJT6LvOUxlxz1CDnhEKkVkSEGSNW0NkKtvganv03HlHC7DT5FgtIFExekIFAICBIIgYEI8PCquQtY/7UChIg4OJ4gEgC6kDIEN3BXA7XEBnBeOxAB0AToPsFmwFRQdADYJsAXZBEO2TKgZUlpVSOBDUho7kUJoC1XdktOkAyDEAD3MWmBRB0A3A0LSpVvpjEvJUWE2RrgAKLQbYAYD2UTp++zWntYhd9lHrjZk1M8TsIVq/xHEiFO88JvpWVY5un4mK2OhfZ+SXu2myf2BQO0b0E1pT3GDCAfBoVAGv9Q/v69m1OwFw0sL/AFwswA5e3l3A7kO1999ndv+i97dHHnrA/Onc+bz6Yq4+i/V/MpmiphdfplgsRuXl5YT/J2Dj9usv2igcDhHaV6xusl6JzVtu7/r+x8yp8GQFAAEhPAoA1NbWUtunH1sA7AAVHQBYgaxhtgAA4CJbSNEAYA2z8LAG2QLYBbgdMOAikw7AwscfzdijVDXM2mUBdS4NGAABN+G4wbBsA1mhBEE7ALKGWTBoWFdgLRwnAIBhAaaBqIoKeTcVK6pr/X+TUxaoKJ+a9S1+R3xQP8mJlpZm7ci4RX8nAJwBcgWATIA+gMAZwwKgDgTC3Ij9kwUBKRCC8LLTTgB5OcrPoI+6I5MPABAsFxfQAqibPy/Dx3hAWDmhyJYA4VnzWICMpZw6c3Zc8wf1HKDhudWEI3wc0+Pq9b/HxrIlT2oBYA8NBSAAAdqD8Cw4tqCcysL6xdTV2S4ewX378aMUCoXo22Md4wKgngOseWGD5d/wc88AQFTdZMSgsYbGwI8cPkTxwYQAEA6F6JnlDUIwnMLIsUN2CdX85TavLqBCZgB8DjB3fp2I7hzkvP7rzHBzAYDoudorAFTfWWUdP2Ejciwl3y4AAGz+uG7dssWThWW5QCqVEqbq1QXQDwV92exlF+B7ry4gZ6l8nAOoShNZgE0WZ2vYQvbiAjorUF1K3qLy6gI6F9UdhMju6LQHmAXAzQUMw6C/rl3PcAG85HZlAfi8nEbHew6QBeDpRU+ID7Dp8gPsAjhOwnxgvFlgrC4AAPk8B9C6gGw+uBcR32MWkLXE9+oJDerdjqt1UT+f5wCOMUBt5EOF4ydOisjK5qgeP+n6MUi1bSwxgBUkH4WN9RwgC4A615YfUJeO3ObURxcUc3mnXT/OArJV8R8i+DTYyzlAFgC3AfvdzjFAHsd4zgEmHQDeA8TAsXxFAQBeq+A39gDldqeToEkHAO728MJFYtw/d50Q16GhIQGABVfbvbicp2mjH+7w0ubNJi93eVcHuzkovNEht6tjdFscFTyAd1paTN79xUZGIBCgsrIywr/V2RpUoXnTA/VvNjd7+5ucH1r285sFbwETDedfeR6UW0ZSCS8AAAAASUVORK5CYII=" + }, + { + "path": "", + "name": "firework_rocket.png", + "folder": "", + "namespace": "", + "id": "6", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "33912a4a-8d7b-b2c4-a53e-ce96f186386a", + "relative_path": "../../textures/for_modeling/firework_rocket.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAM9JREFUOE9jZKAQMFKon4GgATs1Nf+7X7+OUx1eA2Zqav63ZWRkmP72LcPkly+xqsVpAEizAgMDwwMGBoYr796BfYrNEJwGgJwO0gQyAARef/rEUPP0KYZ6vF7YdOYi2JBL/l5YNYPk8Brw5cuX/0dNTcGuSMcRkHgNgHnj5+IVDH4m+qQFIsh5IAOsT59m2HfjLnkGgLwAMmipqSl5XqBJGOiKcIJddfnNd3CYEAzEktcPGFp3nACHAUgzTCMsDxHMCyCF6LYiZ0CiDMCXYwGPh10Rz8pGKwAAAABJRU5ErkJggg==" + }, + { + "path": "", + "name": "ex_skill_3.png", + "folder": "", + "namespace": "", + "id": "7", + "width": 8, + "height": 9, + "uv_width": 8, + "uv_height": 9, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "70d93e90-80dd-6099-61ce-ff32a9de12ab", + "relative_path": "../../textures/ex_skill_3.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAJCAYAAAAPU20uAAAAAXNSR0IArs4c6QAAAKhJREFUKFNtj00KwkAMRl9AW5lBq4KKnsrzuXfnoqfwCK7dKEoVWmGKLUIkbQUFA1nl5fsRQLVOkWgt/BnR/UYZe/Ax9HstUr+grCAvET1sWyDx4OIWsGMRIA+IHnfKbARuCEw6kwDlHbIHoqdUWU2BebcW5QJkkBWInlNlaZ+LDjCRaweYQmORgDMV/2txM8BCJo4m6HfIUEEDfGq6AfgIELBj+WxavAGjoUoF5R1X9gAAAABJRU5ErkJggg==" + } + ], + "animations": [ + { + "uuid": "ec87ddfe-8bb9-2aef-d4cc-70619bb4db28", + "name": "ex_skill_3", + "loop": "hold", + "override": true, + "length": 9.4, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "markers": [ + { + "color": 6, + "time": 0.7 + } + ], + "animators": { + "204fed96-b146-d73e-9c57-86e036b7b463": { + "name": "Ravager", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "180", + "z": "0" + } + ], + "uuid": "f3467fd6-65cc-c526-4295-b5824c585034", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 180, + "z": 0 + } + ], + "uuid": "d409ac20-872e-110c-f771-579de57e8269", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "15", + "y": 180, + "z": 0 + } + ], + "uuid": "da1cfcda-7711-94bb-9424-0b6ee3c59e32", + "time": 2.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 15.35, + "y": 180, + "z": 0 + } + ], + "uuid": "0bf58659-1661-f9f8-d7ba-ef6d9ace1db1", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 180, + "z": 0 + } + ], + "uuid": "ae1b60f2-8290-e319-5945-403e994e8ae7", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -1153 + } + ], + "uuid": "606aff9e-fb79-9507-02bc-57a66c16cddf", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -1153 + } + ], + "uuid": "66b6bce0-feac-e63a-9620-e154312df70c", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": -4, + "z": -1153 + } + ], + "uuid": "fdb68154-e0c3-a7de-8602-a50859c76ecc", + "time": 2.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": -4.09, + "z": -1153 + } + ], + "uuid": "9bbbf081-ec48-2759-6280-9af179297072", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -1153 + } + ], + "uuid": "2ccc7b76-f934-2887-5056-d1120d8211be", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "a0cd2dc2-42b9-7177-35d8-da80392d11ca": { + "name": "Pillager1", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "465e8b45-2b06-f112-77ee-e1ad2dd66429", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "f31b92d4-a50e-884e-460b-f19fde868851", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 0, + "z": 0 + } + ], + "uuid": "5fe53e76-eafe-d756-2bed-283c6e5c0cb1", + "time": 2.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 0, + "z": 0 + } + ], + "uuid": "323490f0-16a3-285d-5082-0130c98e71cc", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "42a0d47c-dcf6-8db3-1a13-e5c08d6f4be7", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": 24, + "z": 7 + } + ], + "uuid": "5c987f18-ae58-a8e1-c9fb-0dc8f7049c78", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "d9be2abf-429c-1ffa-8ee7-0c2deb771016": { + "name": "P1LeftLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -90, + "y": -20, + "z": 0 + } + ], + "uuid": "5476c38b-b05f-96f1-e0c3-948c84aa760c", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90, + "y": -20, + "z": 0 + } + ], + "uuid": "9babdd3b-6a89-78be-4e5c-cbf975d10c70", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -75, + "y": -20, + "z": 0 + } + ], + "uuid": "d732291c-4fbc-8e19-ff00-1777a0c8c980", + "time": 2.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -75, + "y": -20, + "z": 0 + } + ], + "uuid": "2972c25b-b055-0f83-ca74-e25166da734b", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-90", + "y": -20, + "z": 0 + } + ], + "uuid": "55e8bfee-3384-84b7-d993-e1558b322847", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "24336439-6fba-3b61-096f-ab4eceef2f65": { + "name": "P1RightLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -90, + "y": 20, + "z": 0 + } + ], + "uuid": "55d2a0a4-97d9-c61c-8b7a-f7b1a5b68b30", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90, + "y": 20, + "z": 0 + } + ], + "uuid": "8dee7779-7947-ffed-e72d-fa174a0f7f22", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -75, + "y": 20, + "z": 0 + } + ], + "uuid": "4a34e090-ae8f-a76c-5632-9655fb493126", + "time": 2.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -75, + "y": 20, + "z": 0 + } + ], + "uuid": "8e8e37e0-048e-9435-bb39-7f3e39c0b67b", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-90", + "y": 20, + "z": 0 + } + ], + "uuid": "138b7516-49db-29cc-2cf6-d6862c3be873", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "9f3309ba-0a62-4fdb-5523-06f90217ad3f": { + "name": "P1RightArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -90, + "y": 0, + "z": 0 + } + ], + "uuid": "ff83b592-4958-3633-f655-146d2743f038", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -95, + "y": 0, + "z": 0 + } + ], + "uuid": "699f5ab7-f09d-8567-2a8c-46f158ea8197", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90, + "y": 0, + "z": 0 + } + ], + "uuid": "45e73467-53bc-29a8-6687-59c8919a78be", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -95, + "y": 0, + "z": 0 + } + ], + "uuid": "54048870-af9b-12b3-afaa-ab86ff35ebb7", + "time": 4.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90, + "y": 0, + "z": 0 + } + ], + "uuid": "0846590f-f753-f3da-e536-ddc094329825", + "time": 6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -95, + "y": 0, + "z": 0 + } + ], + "uuid": "352ff36a-fcee-6f17-99f1-e25e272d3d08", + "time": 7.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90, + "y": 0, + "z": 0 + } + ], + "uuid": "db8c9d28-f265-4bbe-acec-bd88f7f2622a", + "time": 9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -95, + "y": 0, + "z": 0 + } + ], + "uuid": "7b4ed1ec-2e85-3490-ea5d-54d857a521ca", + "time": 10.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "f05604bd-9a7f-72c8-28c3-eb8ea854fabe": { + "name": "P1LeftArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -90, + "y": 47.5, + "z": 0 + } + ], + "uuid": "9b86dc63-92ad-4d6a-2ad1-8602e28feb12", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -85, + "y": 47.5, + "z": 0 + } + ], + "uuid": "1a9576e9-6d78-664c-87ea-2bc87e8655ed", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90, + "y": 47.5, + "z": 0 + } + ], + "uuid": "c5393dfb-e4d9-7644-afc4-8bab2bf9600d", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -85, + "y": 47.5, + "z": 0 + } + ], + "uuid": "5c39cad3-1e34-0b4d-a220-6fb53201f1ad", + "time": 4.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90, + "y": 47.5, + "z": 0 + } + ], + "uuid": "09a37d80-bb79-0606-f6c6-4dce7caa2f24", + "time": 6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -85, + "y": 47.5, + "z": 0 + } + ], + "uuid": "47fb4c44-8894-d826-8787-ea1c334ae006", + "time": 7.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90, + "y": 47.5, + "z": 0 + } + ], + "uuid": "ba53dd50-0761-ef9f-f209-3e7dafb3f3c4", + "time": 9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -85, + "y": 47.5, + "z": 0 + } + ], + "uuid": "872ae7a1-7c3c-9505-b4cf-bec53b09fa3b", + "time": 10.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "dad4d283-3d4a-92ce-ec6a-765b0e54ce8e": { + "name": "Pillager2", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 185, + "z": "0" + } + ], + "uuid": "320616dc-2ad3-150c-3b63-1dad4741dcf6", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -58, + "y": "0", + "z": -1156 + } + ], + "uuid": "8fadf6df-5e46-84b2-5451-52a117dc6205", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "13f2f4ad-d5d1-b658-ce6a-5013961b417a": { + "name": "P2RightArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -90, + "y": 0, + "z": 0 + } + ], + "uuid": "68b0d8bf-cd47-352e-3a16-b81813b42ef2", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -95, + "y": 0, + "z": 0 + } + ], + "uuid": "4176c727-430c-b529-1942-28289032e5be", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90, + "y": 0, + "z": 0 + } + ], + "uuid": "e32cb4fa-0b34-73b1-6e96-92008c6d4bd2", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -95, + "y": 0, + "z": 0 + } + ], + "uuid": "0a44c65c-426d-fa3e-5805-a207cc299d98", + "time": 4.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90, + "y": 0, + "z": 0 + } + ], + "uuid": "faaf95ff-584a-902d-f405-69d7d5eb613e", + "time": 6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -95, + "y": 0, + "z": 0 + } + ], + "uuid": "369830e2-4af4-ddaa-727b-cb92d13cf422", + "time": 7.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90, + "y": 0, + "z": 0 + } + ], + "uuid": "26783c7d-4411-8ad9-6c22-394e6a0fdb94", + "time": 9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -95, + "y": 0, + "z": 0 + } + ], + "uuid": "0c9995e6-050e-b82a-72ca-d34c099cc6e2", + "time": 10.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ba87b492-ed35-cecf-e576-fe54a4321ea1": { + "name": "P2LeftArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -90, + "y": 47.5, + "z": 0 + } + ], + "uuid": "c4035655-d79d-15bf-96bc-c4f8030f5526", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -85, + "y": 47.5, + "z": 0 + } + ], + "uuid": "7ab1422f-d251-df04-c339-476628cedeb4", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90, + "y": 47.5, + "z": 0 + } + ], + "uuid": "e76b1984-9195-5367-69ac-a602771c8e33", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -85, + "y": 47.5, + "z": 0 + } + ], + "uuid": "a110fedf-b37f-d16f-92b7-33ae7f934d60", + "time": 4.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90, + "y": 47.5, + "z": 0 + } + ], + "uuid": "5efe7882-b24d-a57d-ea1d-639dbef20c8c", + "time": 6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -85, + "y": 47.5, + "z": 0 + } + ], + "uuid": "1deb2b71-adda-67d6-e90f-8e94376b5222", + "time": 7.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90, + "y": 47.5, + "z": 0 + } + ], + "uuid": "d5b73467-7fa2-26c4-2db8-fe082d09dbb9", + "time": 9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -85, + "y": 47.5, + "z": 0 + } + ], + "uuid": "648e9e36-88b4-9b80-2500-b9b4b8b9dc5b", + "time": 10.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "da32a854-5a83-9002-6f37-d72e35db1e9f": { + "name": "Vindicator1", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": -177.5, + "z": "0" + } + ], + "uuid": "05ba6c23-d47e-27d9-98dc-07d1aac9b38a", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -30, + "y": "0", + "z": -1150 + } + ], + "uuid": "cf8d9749-da1b-4749-111b-cc0a41007910", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "4539b84a-a2b9-e76d-7127-02e8def48b5e": { + "name": "V1RightArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -124.69821, + "y": -0.69701, + "z": -15.02262 + } + ], + "uuid": "83bba5d4-39a7-8a5b-695b-a20020052d35", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -129.7, + "y": -0.7, + "z": -15.02 + } + ], + "uuid": "9464a21c-9630-19c2-7b43-58d82042a6b5", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -124.69821, + "y": -0.69701, + "z": -15.02262 + } + ], + "uuid": "144f1a1f-62d8-8cdb-2f16-3088303573ff", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -129.7, + "y": -0.7, + "z": -15.02 + } + ], + "uuid": "30716716-ef79-1ade-fc64-9a6d35aa7ad8", + "time": 4.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -124.69821, + "y": -0.69701, + "z": -15.02262 + } + ], + "uuid": "49f25d71-7542-8644-44ff-daa173ddeb1b", + "time": 6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -129.7, + "y": -0.7, + "z": -15.02 + } + ], + "uuid": "16e0c7e8-e1e8-f341-826e-5685382c4186", + "time": 7.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -124.69821, + "y": -0.69701, + "z": -15.02262 + } + ], + "uuid": "cfa69ae0-7a9e-683d-28d6-e6eb49682ff7", + "time": 9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -129.7, + "y": -0.7, + "z": -15.02 + } + ], + "uuid": "80a216cf-fc95-b008-13d3-6307df0681c5", + "time": 10.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "b02285b4-d950-be5b-2aed-65cb8b396755": { + "name": "Vindicator2", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 165, + "z": "0" + } + ], + "uuid": "1ce5acd1-abd7-a175-2e5a-3060866457bb", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 22, + "y": "0", + "z": -1116 + } + ], + "uuid": "fafec579-97cd-47b3-3920-b401d527377a", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "2815c2d2-36c5-0ca5-0ec7-be32d2a1a60f": { + "name": "V2RightArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -124.69821, + "y": -0.69701, + "z": -15.02262 + } + ], + "uuid": "2c86d442-4258-c2b6-5cee-8e68cf6817dc", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -129.7, + "y": -0.7, + "z": -15.02 + } + ], + "uuid": "0ffe0c65-bf98-e939-babb-17f9f96f07fe", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -124.69821, + "y": -0.69701, + "z": -15.02262 + } + ], + "uuid": "cc1e76ac-9e47-8c8c-2102-5e387ee95e12", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -129.7, + "y": -0.7, + "z": -15.02 + } + ], + "uuid": "25440f72-83f3-11bb-b0f5-d5ee541b7ae7", + "time": 4.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -124.69821, + "y": -0.69701, + "z": -15.02262 + } + ], + "uuid": "825140bd-9fe7-6920-b5f7-81f8989272d8", + "time": 6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -129.7, + "y": -0.7, + "z": -15.02 + } + ], + "uuid": "71c30986-4e5d-03e9-ba97-a21b8c571584", + "time": 7.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -124.69821, + "y": -0.69701, + "z": -15.02262 + } + ], + "uuid": "4a24ea23-624c-207d-45b6-665baac3700f", + "time": 9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -129.7, + "y": -0.7, + "z": -15.02 + } + ], + "uuid": "97d9eff5-1160-b9ea-df1e-ceac17c571bb", + "time": 10.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "f7f3e76f-feb0-7675-b7ed-e2b4c4fc8e8d": { + "name": "Firework", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "25d4042c-0ace-7b28-1fee-1266d74d6d28", + "time": 2.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "66.1392", + "y": "5.2483", + "z": "24.4776" + } + ], + "uuid": "3afc4b67-0753-5009-4aaa-6db5109a62fe", + "time": 5.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "3600" + } + ], + "uuid": "e23bf5dd-636d-bb6c-3c70-068323cc07b0", + "time": 5.4, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -2.11375, + "y": 27.89022, + "z": 13.325 + } + ], + "uuid": "cba29d80-7a28-223f-5431-da5eebc2c5be", + "time": 5.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -52.11375, + "y": 27.89022, + "z": 13.325 + } + ], + "uuid": "92b1c784-5280-bd53-dc8f-1dc37d41b032", + "time": 6.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 6, + "y": 43, + "z": -1136 + } + ], + "uuid": "6d9dd746-47bc-7088-f63e-355ba87ad26f", + "time": 2.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -2, + "y": 17, + "z": -30 + } + ], + "uuid": "5b54709e-4519-1b5b-17f7-6604d1f23e01", + "time": 5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 47, + "y": 89, + "z": 29 + } + ], + "uuid": "af368dc2-14d2-d65d-d94f-5be884732c50", + "time": 5.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 62, + "y": -1, + "z": 108 + } + ], + "uuid": "a16e3dfd-c22f-1c15-e02b-bb67e961f9f0", + "time": 6.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -2, + "y": 17, + "z": -30 + } + ], + "uuid": "f38af668-2cd9-b7e0-1f04-f063dd40a692", + "time": 5.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "f0b7c7af-fed8-5cc9-2831-640f2f7de3ec": { + "name": "RHead", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "789a7e0e-b828-3341-d4ea-beff416c406a", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "542af149-32b1-2da0-4120-2d82cc9a011f", + "time": 2.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -27.5, + "y": 0, + "z": 0 + } + ], + "uuid": "f2285069-2748-6471-fd04-b4972a8bda38", + "time": 2.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -27.5, + "y": 0, + "z": 0 + } + ], + "uuid": "4481f3cd-fce3-b7d2-b59d-dcf5fe20eccd", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "3ea4ce23-c719-000b-a02e-5c222b75e698", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "19161852-5bc9-35d8-6cd6-fd36cdb40980": { + "name": "RMouth", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "4e31cc69-4ea7-065a-d0d0-2a6ef41f19ed", + "time": 2.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 20, + "y": 0, + "z": 0 + } + ], + "uuid": "f3b5e051-ea6a-4aa9-7965-b18d817f14e5", + "time": 2.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "22bd94e7-d0c0-c926-d1c7-2b90d71d214b", + "time": 2.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 20, + "y": 0, + "z": 0 + } + ], + "uuid": "32cbedc6-8880-d366-1b71-c00878ea41c8", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "37c213cb-656e-fc02-75d8-c0094506db66", + "time": 2.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 20, + "y": 0, + "z": 0 + } + ], + "uuid": "3da67512-e232-9dc3-c54f-bdcf4a62bb46", + "time": 2.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "49570e31-b122-d720-fe3b-dee3339704cd", + "time": 2.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 20, + "y": 0, + "z": 0 + } + ], + "uuid": "840c9e9a-34c2-681e-054f-ba9207f0db32", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "48e8c01b-7e87-73e1-151c-e0612d5e9934", + "time": 3.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "484f4b31-b271-19f9-d2d6-8db015210b6e": { + "name": "RLeg0", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "f5fdf552-ba65-8177-60a9-e88145c9e8bc", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-15", + "y": 0, + "z": 0 + } + ], + "uuid": "122f43f5-c834-eaf8-c9eb-dae19334fd93", + "time": 2.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "4f5bd408-71e4-f4a8-e821-ccea10d7a383", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 0, + "z": 0 + } + ], + "uuid": "8352c682-7e12-4001-394b-addbc63ddf20", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "9cdf7c59-99f1-fedf-4d6f-294426c7ccfd", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "c88d5214-c6fb-95b5-5f9f-d1de0645ae0f": { + "name": "RLeg1", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "0929a428-cd23-3051-dd74-7432469f58a7", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "29f37527-fd38-3566-2150-ddbe96837892", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-15", + "y": 0, + "z": 0 + } + ], + "uuid": "de9291a9-f5d0-1bb3-8ae8-74e6804554b4", + "time": 2.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 0, + "z": 0 + } + ], + "uuid": "6be8b229-492c-ecb7-134c-1533730495a1", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "ac531770-132a-1ef8-0347-3cedd86513f3", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "8ee392bb-9d5e-7026-c490-d1f650bb02cd": { + "name": "RLeg2", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "5c375689-040a-0d4a-a5a7-4880d9c826cc", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "53ec8ec2-8b0e-6ef1-4da7-cc28ab230c3f", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -14.13272, + "y": 5.07855, + "z": 19.37006 + } + ], + "uuid": "4de477e7-2906-08e0-2999-37c202802d30", + "time": 2.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -14.13, + "y": 5.08, + "z": 19.37 + } + ], + "uuid": "5f8c91eb-d5c5-e1e4-7c1f-c57986883362", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "61d59bf2-5485-fa68-ac4c-c41d782191f7", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "d3a49713-d161-863f-5b9f-b20af349cb21": { + "name": "RLeg3", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "3bcf64be-45f2-8984-d153-86a12f95a84b", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "59e7e9b5-9e7c-d15f-4ccb-2a5d7016302c", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -14.13272, + "y": -5.07855, + "z": -19.37006 + } + ], + "uuid": "b1f0aeee-8edb-18f1-ad99-9ab41460bbec", + "time": 2.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "07ca67b3-3618-4cf5-997c-3a873cfe2806", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -14.46, + "y": -5.2, + "z": -19.82 + } + ], + "uuid": "a955e7ce-a8d3-34fa-189f-cad613c31473", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "7ed33c17-c95c-ccca-df42-16b8cdddd7bd": { + "name": "V1RightLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 10 + } + ], + "uuid": "61915ee8-0f90-10a5-a24e-5f0d7ea08673", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "5d417cf8-9e90-bfcd-05d4-3758348e9429": { + "name": "V1LeftLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 7.5, + "y": 0, + "z": -7.5 + } + ], + "uuid": "7501cdd2-23cf-d6af-9e50-1e75d9d6742f", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "0ea60c27-92fa-a211-7a79-4c9745558a0a": { + "name": "V1LeftArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": -12.5 + } + ], + "uuid": "27d99003-4e07-9cef-677e-435c776a589b", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "b56fd124-d2c0-a4f0-9ddf-3fb299404ebd", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": -12.5 + } + ], + "uuid": "4c2d2073-65a5-e317-8290-03114b87d705", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "a9765fe9-e6cb-560e-fb58-3e2ae284d710", + "time": 4.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": -12.5 + } + ], + "uuid": "6b93e943-1d3b-001e-22bd-6686c13d0527", + "time": 6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "3ce3f8e4-2143-c5f7-b0b2-da8ee5ce8753", + "time": 7.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": -12.5 + } + ], + "uuid": "920e8f53-4f04-8f8f-ba0c-ecbfd8afb67a", + "time": 9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "f4c33f8e-f62c-80e4-bae8-909f86b54a60", + "time": 10.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "cfd5c093-bd86-a7e1-05d9-24dd84482112": { + "name": "V2RightLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 10 + } + ], + "uuid": "c331045a-a13a-6b56-bd52-e967091bfd4a", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 10 + } + ], + "uuid": "2f00b987-342c-361e-1b06-d311d767312a", + "time": 2.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 10 + } + ], + "uuid": "4648af79-1f94-329b-2849-36a5d7b33d65", + "time": 2.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "cc9aaffd-fd17-fc39-c491-376ae97e91bc": { + "name": "V2LeftLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 7.5, + "y": 0, + "z": -7.5 + } + ], + "uuid": "966145d0-2b61-6f80-6c7d-15578e39fd2f", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "d192bff1-1a47-b0b8-a574-8709797a0edf": { + "name": "V2LeftArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": -12.5 + } + ], + "uuid": "d192769e-ab81-4830-dc9e-c9865a206910", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "f09f2edb-40d1-dbf6-478d-290d8bc79a57", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": -12.5 + } + ], + "uuid": "5ed38c4e-4e87-3935-bdd7-6104a46e9fb7", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "89c01903-0adb-b3a1-4f6f-6f0cc461261c", + "time": 4.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": -12.5 + } + ], + "uuid": "ec264bfb-299e-eb98-6a13-48525d7ebc87", + "time": 6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "2240fd5f-1291-3104-9b98-072581646e20", + "time": 7.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": -12.5 + } + ], + "uuid": "38ec2b9d-6906-cbb1-8285-28ffdacbe7a7", + "time": 9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "13d1d73e-d08e-74e3-e557-604e20bd98b1", + "time": 10.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "03a7340a-aa59-f57e-b69b-46b04a0307e0": { + "name": "Explosion", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": 61.25, + "y": 7, + "z": 104.25 + } + ], + "uuid": "f0b0ec60-7b09-6aee-13ce-bd9f96023c10", + "time": 6.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "9529c644-93ee-1c81-4841-9d9bbadeca2e", + "time": 6.1, + "color": -1, + "uniform": true, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "128", + "y": "128", + "z": "128" + } + ], + "uuid": "75840f01-e8d1-b5c2-51ac-ccaf15ac5252", + "time": 6.2, + "color": -1, + "uniform": true, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.25, + -0.25, + -0.25 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.25, + 0.25, + 0.25 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "8f4417e2-4851-aa91-2214-abef74c21bee", + "time": 6.55, + "color": -1, + "uniform": true, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Hoshino/models/ex_skill_4.bbmodel b/config/yosbr/config/figura/avatars/Hoshino/models/ex_skill_4.bbmodel new file mode 100644 index 0000000..fa28aa2 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/models/ex_skill_4.bbmodel @@ -0,0 +1,7958 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "ex_skill_4", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 64, + "height": 64 + }, + "elements": [ + { + "name": "Body", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 12, + -2 + ], + "to": [ + 4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 16 + ], + "faces": { + "north": { + "uv": [ + 20, + 20, + 28, + 32 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 20, + 20, + 32 + ], + "texture": 0 + }, + "south": { + "uv": [ + 32, + 20, + 40, + 32 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 20, + 32, + 32 + ], + "texture": 0 + }, + "up": { + "uv": [ + 28, + 20, + 20, + 16 + ], + "texture": 0 + }, + "down": { + "uv": [ + 36, + 16, + 28, + 20 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f6ce2927-50d5-58fd-1dbd-b24a59bf254f" + }, + { + "name": "Head", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 24, + -4 + ], + "to": [ + 4, + 32, + 4 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 8, + 16, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 8, + 8, + 16 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 8, + 32, + 16 + ], + "texture": 0 + }, + "west": { + "uv": [ + 16, + 8, + 24, + 16 + ], + "texture": 0 + }, + "up": { + "uv": [ + 16, + 8, + 8, + 0 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 0, + 16, + 8 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "35883cd8-ad5e-c232-816c-a0d0caddbc04" + }, + { + "name": "HatLayer", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 24, + -4 + ], + "to": [ + 4, + 32, + 4 + ], + "autouv": 0, + "color": 0, + "inflate": 0.5, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 32, + 0 + ], + "faces": { + "north": { + "uv": [ + 40, + 8, + 48, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 32, + 8, + 40, + 16 + ], + "texture": 0 + }, + "south": { + "uv": [ + 56, + 8, + 64, + 16 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 8, + 56, + 16 + ], + "texture": 0 + }, + "up": { + "uv": [ + 48, + 8, + 40, + 0 + ], + "texture": 0 + }, + "down": { + "uv": [ + 56, + 0, + 48, + 8 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b6901010-766d-71b1-78b6-993c8c012cd0" + }, + { + "name": "RightArm", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 8, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 44, + 20, + 48, + 32 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 20, + 44, + 32 + ], + "texture": 0 + }, + "south": { + "uv": [ + 52, + 20, + 56, + 32 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 20, + 52, + 32 + ], + "texture": 0 + }, + "up": { + "uv": [ + 48, + 20, + 44, + 16 + ], + "texture": 0 + }, + "down": { + "uv": [ + 52, + 16, + 48, + 20 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "be58785b-1690-b700-2b67-f1d61ad37415" + }, + { + "name": "LeftArm", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 12, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "mirror_uv": true, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 48, + 20, + 44, + 32 + ], + "texture": 0 + }, + "east": { + "uv": [ + 52, + 20, + 48, + 32 + ], + "texture": 0 + }, + "south": { + "uv": [ + 56, + 20, + 52, + 32 + ], + "texture": 0 + }, + "west": { + "uv": [ + 44, + 20, + 40, + 32 + ], + "texture": 0 + }, + "up": { + "uv": [ + 44, + 20, + 48, + 16 + ], + "texture": 0 + }, + "down": { + "uv": [ + 48, + 16, + 52, + 20 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "3bdd1f4d-faa6-ee20-1f0a-2082ae653564" + }, + { + "name": "RightLeg", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 4, + 20, + 8, + 32 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 20, + 4, + 32 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 20, + 16, + 32 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 20, + 12, + 32 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 20, + 4, + 16 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 16, + 8, + 20 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "0a7de71d-7e4d-acb1-91f5-11a48d89b756" + }, + { + "name": "LeftLeg", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "mirror_uv": true, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 8, + 20, + 4, + 32 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 20, + 8, + 32 + ], + "texture": 0 + }, + "south": { + "uv": [ + 16, + 20, + 12, + 32 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 20, + 0, + 32 + ], + "texture": 0 + }, + "up": { + "uv": [ + 4, + 20, + 8, + 16 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 16, + 12, + 20 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "62a38dd2-a78e-e240-4d3b-1ac8517f07c3" + }, + { + "name": "Body", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 6, + -2 + ], + "to": [ + 4, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 16 + ], + "faces": { + "north": { + "uv": [ + 20, + 20, + 28, + 32 + ], + "texture": 1 + }, + "east": { + "uv": [ + 16, + 20, + 20, + 32 + ], + "texture": 1 + }, + "south": { + "uv": [ + 32, + 20, + 40, + 32 + ], + "texture": 1 + }, + "west": { + "uv": [ + 28, + 20, + 32, + 32 + ], + "texture": 1 + }, + "up": { + "uv": [ + 28, + 20, + 20, + 16 + ], + "texture": 1 + }, + "down": { + "uv": [ + 36, + 16, + 28, + 20 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "9d9b0a61-79ca-73b1-4126-8d1db49ebc91" + }, + { + "name": "Head", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 18, + -4 + ], + "to": [ + 4, + 26, + 4 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 8, + 16, + 16 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 8, + 8, + 16 + ], + "texture": 1 + }, + "south": { + "uv": [ + 24, + 8, + 32, + 16 + ], + "texture": 1 + }, + "west": { + "uv": [ + 16, + 8, + 24, + 16 + ], + "texture": 1 + }, + "up": { + "uv": [ + 16, + 8, + 8, + 0 + ], + "texture": 1 + }, + "down": { + "uv": [ + 24, + 0, + 16, + 8 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "3a6c37cd-fa9d-aa1c-eae3-7fea56ee4e58" + }, + { + "name": "leg0", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + 2 + ], + "to": [ + 4, + 6, + 6 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 4, + 20, + 8, + 26 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 20, + 4, + 26 + ], + "texture": 1 + }, + "south": { + "uv": [ + 12, + 20, + 16, + 26 + ], + "texture": 1 + }, + "west": { + "uv": [ + 8, + 20, + 12, + 26 + ], + "texture": 1 + }, + "up": { + "uv": [ + 8, + 20, + 4, + 16 + ], + "texture": 1 + }, + "down": { + "uv": [ + 12, + 16, + 8, + 20 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "a853ff73-4c79-6146-9c9c-5a09870a26c3" + }, + { + "name": "leg1", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 0, + 2 + ], + "to": [ + 0, + 6, + 6 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 4, + 20, + 8, + 26 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 20, + 4, + 26 + ], + "texture": 1 + }, + "south": { + "uv": [ + 12, + 20, + 16, + 26 + ], + "texture": 1 + }, + "west": { + "uv": [ + 8, + 20, + 12, + 26 + ], + "texture": 1 + }, + "up": { + "uv": [ + 8, + 20, + 4, + 16 + ], + "texture": 1 + }, + "down": { + "uv": [ + 12, + 16, + 8, + 20 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "767b5d87-1140-f43f-cade-1636925dd717" + }, + { + "name": "leg2", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -6 + ], + "to": [ + 4, + 6, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 4, + 20, + 8, + 26 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 20, + 4, + 26 + ], + "texture": 1 + }, + "south": { + "uv": [ + 12, + 20, + 16, + 26 + ], + "texture": 1 + }, + "west": { + "uv": [ + 8, + 20, + 12, + 26 + ], + "texture": 1 + }, + "up": { + "uv": [ + 8, + 20, + 4, + 16 + ], + "texture": 1 + }, + "down": { + "uv": [ + 12, + 16, + 8, + 20 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "19be868b-322f-ceb5-8887-ec87efb107dc" + }, + { + "name": "leg3", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 0, + -6 + ], + "to": [ + 0, + 6, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 4, + 20, + 8, + 26 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 20, + 4, + 26 + ], + "texture": 1 + }, + "south": { + "uv": [ + 12, + 20, + 16, + 26 + ], + "texture": 1 + }, + "west": { + "uv": [ + 8, + 20, + 12, + 26 + ], + "texture": 1 + }, + "up": { + "uv": [ + 8, + 20, + 4, + 16 + ], + "texture": 1 + }, + "down": { + "uv": [ + 12, + 16, + 8, + 20 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "ed1fd6ed-d22b-7b65-3544-940b287640db" + }, + { + "name": "EyeShine1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1.225, + 25.475, + -4.02 + ], + "to": [ + 1.765, + 26.015, + -4.02 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1.225, + 25.475, + -3 + ], + "faces": { + "north": { + "uv": [ + 1, + 2, + 4, + 5 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d59c0083-89e6-ecd5-8aeb-e99b5bb542e6" + }, + { + "name": "EyeShine2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1.405, + 25.115, + -4.02 + ], + "to": [ + 1.585, + 26.375, + -4.02 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1.225, + 25.475, + -3 + ], + "faces": { + "north": { + "uv": [ + 2, + 0, + 3, + 7 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "dba2842c-7fb9-8e3b-ad8c-4c60948536ce" + }, + { + "name": "EyeShine3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1.045, + 25.655, + -4.02 + ], + "to": [ + 1.945, + 25.835, + -4.02 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1.225, + 25.475, + -3 + ], + "faces": { + "north": { + "uv": [ + 0, + 3, + 5, + 4 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9bacdc0e-8bb5-381f-6ebc-c13cd7058fa4" + }, + { + "name": "MuzzleFlash", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 2.838, + -9.01 + ], + "to": [ + 0.5, + 3.838, + -8.01 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 1, + 8, + 9 + ], + "texture": 3 + }, + "east": { + "uv": [ + 0, + 1, + 8, + 9 + ], + "texture": 3 + }, + "south": { + "uv": [ + 0, + 1, + 8, + 9 + ], + "texture": 3 + }, + "west": { + "uv": [ + 0, + 1, + 8, + 9 + ], + "texture": 3 + }, + "up": { + "uv": [ + 0, + 1, + 8, + 9 + ], + "texture": 3 + }, + "down": { + "uv": [ + 0, + 1, + 8, + 9 + ], + "texture": 3 + } + }, + "type": "cube", + "uuid": "8d7dc453-834d-a563-ec0d-3c52cc420bd7" + }, + { + "name": "Helmet", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 24, + -4 + ], + "to": [ + 4, + 32, + 4 + ], + "autouv": 0, + "color": 0, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 8, + 16, + 16 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 8, + 8, + 16 + ], + "texture": 4 + }, + "south": { + "uv": [ + 24, + 8, + 32, + 16 + ], + "texture": 4 + }, + "west": { + "uv": [ + 16, + 8, + 24, + 16 + ], + "texture": 4 + }, + "up": { + "uv": [ + 16, + 8, + 8, + 0 + ], + "texture": 4 + }, + "down": { + "uv": [ + 24, + 0, + 16, + 8 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "d01c6baf-ec76-9c25-b49e-3e6a141852f3" + }, + { + "name": "ChestPlate", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 12, + -2 + ], + "to": [ + 4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 16 + ], + "faces": { + "north": { + "uv": [ + 20, + 20, + 28, + 32 + ], + "texture": 4 + }, + "east": { + "uv": [ + 16, + 20, + 20, + 32 + ], + "texture": 4 + }, + "south": { + "uv": [ + 32, + 20, + 40, + 32 + ], + "texture": 4 + }, + "west": { + "uv": [ + 28, + 20, + 32, + 32 + ], + "texture": 4 + }, + "up": { + "uv": [ + 28, + 20, + 20, + 16 + ], + "texture": 4 + }, + "down": { + "uv": [ + 36, + 16, + 28, + 20 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "a2b7a0f2-4dc1-894f-0433-ed7b410a93d4" + }, + { + "name": "ChestPlate", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 8, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 44, + 20, + 48, + 32 + ], + "texture": 4 + }, + "east": { + "uv": [ + 40, + 20, + 44, + 32 + ], + "texture": 4 + }, + "south": { + "uv": [ + 52, + 20, + 56, + 32 + ], + "texture": 4 + }, + "west": { + "uv": [ + 48, + 20, + 52, + 32 + ], + "texture": 4 + }, + "up": { + "uv": [ + 48, + 20, + 44, + 16 + ], + "texture": 4 + }, + "down": { + "uv": [ + 52, + 16, + 48, + 20 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "5ea2ab61-61b0-0785-a3cb-8a3769b83a6a" + }, + { + "name": "ChestPlate", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 12, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "mirror_uv": true, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 48, + 20, + 44, + 32 + ], + "texture": 4 + }, + "east": { + "uv": [ + 52, + 20, + 48, + 32 + ], + "texture": 4 + }, + "south": { + "uv": [ + 56, + 20, + 52, + 32 + ], + "texture": 4 + }, + "west": { + "uv": [ + 44, + 20, + 40, + 32 + ], + "texture": 4 + }, + "up": { + "uv": [ + 44, + 20, + 48, + 16 + ], + "texture": 4 + }, + "down": { + "uv": [ + 48, + 16, + 52, + 20 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "9aa1a1e3-1076-8f90-e1e7-d567ead3c18d" + }, + { + "name": "Leggings", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 12, + -2 + ], + "to": [ + 4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.5, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 16 + ], + "faces": { + "north": { + "uv": [ + 20, + 20, + 28, + 32 + ], + "texture": 5 + }, + "east": { + "uv": [ + 16, + 20, + 20, + 32 + ], + "texture": 5 + }, + "south": { + "uv": [ + 32, + 20, + 40, + 32 + ], + "texture": 5 + }, + "west": { + "uv": [ + 28, + 20, + 32, + 32 + ], + "texture": 5 + }, + "up": { + "uv": [ + 28, + 20, + 20, + 16 + ], + "texture": 5 + }, + "down": { + "uv": [ + 36, + 16, + 28, + 20 + ], + "texture": 5 + } + }, + "type": "cube", + "uuid": "6a35b8ce-1282-83bb-b261-034d2d1aa5a3" + }, + { + "name": "Leggings", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.5, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 4, + 20, + 8, + 32 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 20, + 4, + 32 + ], + "texture": 5 + }, + "south": { + "uv": [ + 12, + 20, + 16, + 32 + ], + "texture": 5 + }, + "west": { + "uv": [ + 8, + 20, + 12, + 32 + ], + "texture": 5 + }, + "up": { + "uv": [ + 8, + 20, + 4, + 16 + ], + "texture": 5 + }, + "down": { + "uv": [ + 12, + 16, + 8, + 20 + ], + "texture": 5 + } + }, + "type": "cube", + "uuid": "30b1f6b2-867d-2f4d-3136-869a90cbcc4c" + }, + { + "name": "Boots", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 4, + 20, + 8, + 32 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 20, + 4, + 32 + ], + "texture": 4 + }, + "south": { + "uv": [ + 12, + 20, + 16, + 32 + ], + "texture": 4 + }, + "west": { + "uv": [ + 8, + 20, + 12, + 32 + ], + "texture": 4 + }, + "up": { + "uv": [ + 8, + 20, + 4, + 16 + ], + "texture": 4 + }, + "down": { + "uv": [ + 12, + 16, + 8, + 20 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "c106c530-70c0-21eb-f808-b002b9ddca92" + }, + { + "name": "Leggings", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "mirror_uv": true, + "inflate": 0.5, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 8, + 20, + 4, + 32 + ], + "texture": 5 + }, + "east": { + "uv": [ + 12, + 20, + 8, + 32 + ], + "texture": 5 + }, + "south": { + "uv": [ + 16, + 20, + 12, + 32 + ], + "texture": 5 + }, + "west": { + "uv": [ + 4, + 20, + 0, + 32 + ], + "texture": 5 + }, + "up": { + "uv": [ + 4, + 20, + 8, + 16 + ], + "texture": 5 + }, + "down": { + "uv": [ + 8, + 16, + 12, + 20 + ], + "texture": 5 + } + }, + "type": "cube", + "uuid": "c5f393f0-a3ec-a590-8749-182c37e36123" + }, + { + "name": "Boots", + "box_uv": true, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "mirror_uv": true, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 8, + 20, + 4, + 32 + ], + "texture": 4 + }, + "east": { + "uv": [ + 12, + 20, + 8, + 32 + ], + "texture": 4 + }, + "south": { + "uv": [ + 16, + 20, + 12, + 32 + ], + "texture": 4 + }, + "west": { + "uv": [ + 4, + 20, + 0, + 32 + ], + "texture": 4 + }, + "up": { + "uv": [ + 4, + 20, + 8, + 16 + ], + "texture": 4 + }, + "down": { + "uv": [ + 8, + 16, + 12, + 20 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "870a7341-0a57-06ed-f3ce-a00e3a2ea23c" + } + ], + "outliner": [ + { + "name": "Zombie", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "92244d7c-ab65-5dc4-395b-a47250659992", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "ZHead", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "07b2eefd-74ff-cd38-d8b8-2a95f45ccee7", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "35883cd8-ad5e-c232-816c-a0d0caddbc04", + "b6901010-766d-71b1-78b6-993c8c012cd0", + { + "name": "ZHelmet", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "2d22e50e-1ebf-ad39-396f-007341532848", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d01c6baf-ec76-9c25-b49e-3e6a141852f3" + ] + } + ] + }, + { + "name": "ZUpperBody", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "e158e7ce-098a-2a66-8f75-e4d3ac5582f4", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "ZBody", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "6a077b4f-5851-3b2f-b2e4-6c05b361d4c5", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f6ce2927-50d5-58fd-1dbd-b24a59bf254f", + { + "name": "ZChestPlateB", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "1a0f2148-9dab-0a1e-f03b-08cf1e47e6f3", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a2b7a0f2-4dc1-894f-0433-ed7b410a93d4" + ] + }, + { + "name": "ZLeggingsB", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "375b8886-a0cd-8b36-0ae4-b84004299729", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "6a35b8ce-1282-83bb-b261-034d2d1aa5a3" + ] + }, + { + "name": "ExSkill4ParticleAnchor1", + "origin": [ + -2, + 21, + -3 + ], + "color": 0, + "uuid": "8db725b9-b1a6-7bce-8152-50fee0a3ceb0", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + { + "name": "ZArms", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "422927b8-e40b-3c35-fd31-8b57021dc18b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "ZRightArm", + "origin": [ + 5, + 22, + 0 + ], + "color": 0, + "uuid": "dd2edf40-202d-fdc9-11a6-ed7477abfde1", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "be58785b-1690-b700-2b67-f1d61ad37415", + { + "name": "ZChestPlateRA", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "f4bce6cf-d736-5abb-f114-4e0f84a475db", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "5ea2ab61-61b0-0785-a3cb-8a3769b83a6a" + ] + } + ] + }, + { + "name": "ZLeftArm", + "origin": [ + -5, + 22, + 0 + ], + "color": 0, + "uuid": "df3895b2-bc28-2e7b-7d48-1108d6e5c123", + "export": true, + "mirror_uv": true, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "3bdd1f4d-faa6-ee20-1f0a-2082ae653564", + { + "name": "ZChestPlateLA", + "origin": [ + -5, + 22, + 0 + ], + "color": 0, + "uuid": "0e2ea093-676d-8156-0d61-0a8f3ceac4a1", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "9aa1a1e3-1076-8f90-e1e7-d567ead3c18d" + ] + } + ] + } + ] + } + ] + }, + { + "name": "ZLowerBody", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "c11ce972-6a7d-b823-d89d-8fc3e39903c7", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "ZLegs", + "origin": [ + 0, + 12, + 0 + ], + "color": 0, + "uuid": "9899be81-73a0-e41c-0264-ed24eed6f61f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "ZRightLeg", + "origin": [ + 1.9, + 12, + 0 + ], + "color": 0, + "uuid": "ea8bc4ee-24a1-6012-5f5c-68f31b8cc4a1", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "0a7de71d-7e4d-acb1-91f5-11a48d89b756", + { + "name": "ZLeggingsRL", + "origin": [ + 1.9, + 12, + 0 + ], + "color": 0, + "uuid": "66038f34-bf71-cb11-037b-ddf91c105482", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "30b1f6b2-867d-2f4d-3136-869a90cbcc4c" + ] + }, + { + "name": "ZBootsRL", + "origin": [ + 1.9, + 12, + 0 + ], + "color": 0, + "uuid": "bc82c39e-b972-a640-7144-dfe96fb0ce17", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "c106c530-70c0-21eb-f808-b002b9ddca92" + ] + } + ] + }, + { + "name": "ZLeftLeg", + "origin": [ + -1.9, + 12, + 0 + ], + "color": 0, + "uuid": "8ac3dbe1-f01f-e4fe-d3b3-26e5a15c2755", + "export": true, + "mirror_uv": true, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "62a38dd2-a78e-e240-4d3b-1ac8517f07c3", + { + "name": "ZLeggingsLL", + "origin": [ + -1.9, + 12, + 0 + ], + "color": 0, + "uuid": "43064431-c0c0-9f7f-8706-5fd5a43f4030", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "c5f393f0-a3ec-a590-8749-182c37e36123" + ] + }, + { + "name": "ZBootsLL", + "origin": [ + -1.9, + 12, + 0 + ], + "color": 0, + "uuid": "e8f5476d-9483-753f-8805-a160c4cafa42", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "870a7341-0a57-06ed-f3ce-a00e3a2ea23c" + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "name": "Creeper", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "3a6ed519-e12b-0ea7-645b-de1b2ef6fb74", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "CBody", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "2a1078a1-8079-190b-be8f-6cca7b764323", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "9d9b0a61-79ca-73b1-4126-8d1db49ebc91", + { + "name": "CHead", + "origin": [ + 0, + 18, + 0 + ], + "color": 0, + "uuid": "77ec4a28-497d-1a34-be14-7beb96b0e233", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "3a6c37cd-fa9d-aa1c-eae3-7fea56ee4e58" + ] + }, + { + "name": "CLeg0", + "origin": [ + 2, + 6, + 2 + ], + "color": 0, + "uuid": "8d92c759-aab2-8d69-70f6-7258e634eff7", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a853ff73-4c79-6146-9c9c-5a09870a26c3" + ] + }, + { + "name": "CLeg1", + "origin": [ + -2, + 6, + 2 + ], + "color": 0, + "uuid": "153c4491-7d11-6fe7-3028-193d18fbd64e", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "767b5d87-1140-f43f-cade-1636925dd717" + ] + }, + { + "name": "CLeg2", + "origin": [ + 2, + 6, + -2 + ], + "color": 0, + "uuid": "047a0c6d-27c4-1ff5-715a-f36deaff2c23", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "19be868b-322f-ceb5-8887-ec87efb107dc" + ] + }, + { + "name": "CLeg3", + "origin": [ + -2, + 6, + -2 + ], + "color": 0, + "uuid": "013a946a-2a1d-b35f-16ff-ce87957574c5", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ed1fd6ed-d22b-7b65-3544-940b287640db" + ] + } + ] + } + ] + }, + { + "name": "EyeShine", + "origin": [ + 1.495, + 25.745, + -4.02 + ], + "color": 0, + "uuid": "34dc1623-affb-c961-4c33-b48c6c28bb2b", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d59c0083-89e6-ecd5-8aeb-e99b5bb542e6", + "dba2842c-7fb9-8e3b-ad8c-4c60948536ce", + "9bacdc0e-8bb5-381f-6ebc-c13cd7058fa4" + ] + }, + { + "name": "MuzzleFlash", + "origin": [ + 0, + 3.338, + -8.01 + ], + "color": 0, + "uuid": "2c60cddf-51e8-c8ce-98d1-53af4f066aa0", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8d7dc453-834d-a563-ec0d-3c52cc420bd7" + ] + } + ], + "textures": [ + { + "path": "", + "name": "zombie.png", + "folder": "", + "namespace": "", + "id": "3", + "width": 64, + "height": 64, + "uv_width": 64, + "uv_height": 64, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "7b3cd7a8-93d2-0c83-33e1-254dcdf3bd94", + "relative_path": "../../textures/for_modeling/zombie.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAABvRJREFUeF7tWV1sFFUUPkuzbLvudtvSdkP5aYkgVmutIYIBUzBESQkhISEaDS/6QjAxKi8GTXwrRk1QQwzxRRMTMRoMURKVJiZYaTW1xFprWpSkFOSnYH+WrttuG7rmu7PfcGc63QVEZ6hzX3buvWfuvec73/m5swHJ0xp33Ze5mp4nBaFpwS8an/Vfp2Ug3/b+z4F8e7g5n/dwAAAHvKOwUK4kJtVZi2Pz1TMAQCMwdkUw33rgl7x7eB6AkrIimUplTKUJBoFQIIyOW/QoKClS/TnBAACANnQhrawOAND+mpgwrT9nAVj3zP0ZWDoYDigWQGkyAs90AScA5oQLAAC71QHA6PC4sj4D4ZwFoOnFBzMIeGABLE7/p+IctwdCgvbVWz/e/kFQt7Se+ugKjAd6FGSc8DwAoDhTG/2c6Y5pbrZUZ7e+Hiv0NQCgnjHIDuz3RXOHqwwJMM/rRQ7zPg5IX4cCNZXLlJFPX+q3pESdAfZ1wBJmDycmuZ0mAzoD9LSmW2lhRY3MDwYlEgrLRDol0xKQialJOTPQPyMd8j2noonplDUFQHXbRRQDdMvoNAYDFkVqJJG8IvGqBaaLT1yZUmOxSLGcS54206M9QOrxwl470L3crhQVA+x5nocFABEpk2MfdCvln3jlEYHyn+8/rvobnq6XpAwrAOgueNceSxYsDClXYiyB8nQNz7gALULl6dc4KFiA1v37SfVbv2Kl+oX1oZj9HT1o2msIyLKAwrMnXIDcnhxMS2VtyQxrhSNBGRu6KrHs5SeRnifRBQWSSk6ZxRDWAFiXekdlfjxkugvdi8zABCtKL9wWLUFQj+a0FKM6Kz1ccvCsK2m3KtZhECQSs90hXHcBvXjB8+NNnaouYOvu32ER6evry523Ozszq/c9aV9W9Tt2fywNOw46znGwq29f7vUPH87IkiWG+Nmz0tS6V8UcMutGXWrGZrcCgIf2PuWo5A8vH/znAHRaDbT18LPmVf1m0uptD0DTR7tMd7uZ2+e/AsB/6QKNLa8qtt3s3SPQcPdui8+Hi+ISKVpsUvjS8AlJpQfNfs3CzRZ6tzz627X+qVMiGzeKhMOyruU18wapov1je0RSKZGBAat7VFcb/XBYJJTNHum0MUb5qiqjf/68SEOD6DFAurpEcs1v25YzptwQAOFQXCrLVs0EYDALUDwuUltrKDIyIuuOv6Nk2x5+XqS01HgPB6Y8+hs2GONUnqsDBCfAAIDesJ7e7PM3CoBdQZ0BjgDUf3dtex0AjI6MzLTu0aPWAwMAKA+FdQZwrLc3t4K3CgBQPzU+OMPCAABzf452CwFIjv+hDgVXaVn2pUg0ahxybExk+3arMgCB1oeSR444y8PalNPfOXTIKt/YKBKLGfslEiKtrbnnd+7M7wJQEC0XAJwnUOjjuX1Nv6E4mw4AaWwHQLcp5MkUHQDIlJYKgxxfuXdprYURv56xMmRx2SLL/MHmr3MDsPaB1zOwJKxKAHQLkwGUoeUp036PcVFSDUzQfVoHgM8dHdcAg/ymTTkBQKGDhmIH3xVWr6pTF7LC4qCkpqak92SvKsdRA6AtrTa+WaDNGxc5sOfT/ADoSukZAONQlGP6MzdpQQwgAwgAfRmWZXRnZD92zJCn2wAAJ6Dwnog0fttspjiU13X1K2XssnE9Hzw/JCOpIVUH8MZZu7JWRs8lpKwsJtNFIu+9cIsA0Fmhc0ylQacsACG7/zOq61kAAFA2q7SK/nCHdFqlU/06DQXRwsGgAgDXcdxIeb3mTRXKo+UFgHUA44ATA7AQ3ENtnI0XBKF9a8oKAPK6UzCjkqgDnAAjQ/SMoAEA+oPmoDiUR4Mr8IMM+mACAKDy1+UC69evV4VQYtDI73YFqXgsfkLN19XV6QSQd8vLDYWQAtEAgG5JPutpzQ4AV7QXQpoLkOZ3Vq1Q0vB/AHGip1u5CL8xgCFQ/LoZsGXLlsyYFsWh4PLly+XyxYuSSCalp6fHVDgajUo1K7fsaNs3IVUpIkXit7yk3gKQyZSXqo0839Uld314ygA7FDcBb+d8Nh6s3X9ZyZRv/sy87MAV8H2S9I9WFEtP90nzzxnOIwaULIpdXxAEAPqJoWAsElHKow3YSteKigqLgj99X2oCgAl7IUVhxJD25yqk4Y2eWeUpA+XpigVr3jY/t8HP8YkOAZDfJQcuXDBjBJiAL9fDw0YQxO8nbx7NnQUczfU/GnT1Twkv4OwD4AUruHkGnwFuou+FvX0GeMEKbp7BZ4Cb6Hthb58BXrCCm2fwGeAm+l7Y22eAF6zg5hl8BriJvhf29hngBSu4eQafAW6i74W9fQZ4wQpunsFngJvoe2FvnwFesIKbZ/AZ4Cb6XtjbZ4AXrODmGf4GqfJBfcKTOd8AAAAASUVORK5CYII=" + }, + { + "path": "", + "name": "creeper.png", + "folder": "", + "namespace": "", + "id": "4", + "width": 64, + "height": 32, + "uv_width": 64, + "uv_height": 32, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "6bae4d81-40c7-0ddf-0c11-1cef660a0718", + "relative_path": "../../textures/for_modeling/creeper.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAAXNSR0IArs4c6QAADHRJREFUaEPV11dUVPfax/HvDDPDwAgoHQVEHI+a2ECNIHVQQQQViS2WqIktttiNFTWW2DV6jsacEzUaY0cNGkVFKSqxgmJvdFHqDDB9Zp8V7877rhUvzvKg/5t9sS+eZ3/2b+3n2SLecsKPBAg9ldF8JO5AtbQGN5MbO9J2Mrv/dI682ovWpGOY0zj22/yAo96R11dMfBabiIvMFWONmZ4dYkVvq9GQ99/aXLf1AYJcZEdkjzBK5I9xkbiQd6KERUPms+7kJozelUxtP5Pj6gPYVSvo6zOYLSnbGB05EmMjHYOVo95a470GiLnYVbCxlSLLc0YZ5IG5FKYo5/Mv4zq0Ei2fMgaJvZideVuIVsZz8kgqfgMcya8oYKjzaBLaDvuwAcbfHCTodAb0t2Uogo2YXwtMbDuLk+p9VNeo+dRtBCaDheYSJXK5HL1ezx7rZp4VFNDTJ5opgfM+bIAB56IEjb6Oxf7fYbDXcOzxQSZ7zWd/3Q5q1bVMaDaH3fqNiAQxYx3nYEDL5tffIlxxYkhCX/q0HfhhA0SsDhJ8gt0J94jkXFoWm/p/T9KZJOaFz2Pto0UMbf4ll4QTVOZr+KrFXBafXYRnBwWWEnuGqwajahHzYQMcurtbMFisjLz3BX3d4lnSaiEbT3yPGDESqQS9SYehTQVJrdew4tRKbC1yBqsSuaA/ga1Vzvqgf33YAAnn44Umclt2FRxFYVaQo7rJkmPLmBQzjo2XN+LYWozMQ0rNc9A2LsfPoRkvU3Uo+7pgKRCzoceP7zdA3O0wQVIuo5/7ADLqz2GsNSG+64QixILObKC3IoFpT6cTbB/IANcRdFV05Tf7n9HXGMnJeop3hAMyrR2tndoxKXc2SoUv/k+U+Ad5YNQbmd9iNSuK5uJkbMy0lot4bMrjtPUQVh0UZtSQMvN0gwKJBl/oLRhuygjr3YnzWVeRtjQS7tWDc2VnCHUP49fMZD4J7Eyh5hntnTvyPLsIZZwb9fl6prov5seiDTx+WsyssHlEP4h+M9JPBh4iqzKNr1rOYmnKcsbEjOBg/j62F+3FX+/PoPY9qNKqae8YwLTA+Q0LkLC1n7AyajUPbG9Qrq1AIpXzS/JBsDMTFRHMZV0mDzcV4CVpyvCk4WSlX+Pq6Qya2nuxb8Vh1mSsYWbwTK7VXWNT6SZeG1+heqjC7GFkYcgiDki2Y1ZbUYkTiX0U+wZosE8cnZ26U6J9xvfBPzUswLzr44XxHvNYUDUJiURCf/lQHEwKXvAcCRJO1h3lzrdPKDxZxoTbg8gvKuZsv6t4dHdlzLZP0TtqmUISq+rnoRPpSLJfzwvTQxwdnHGocuag/T8wFkFPz36Mevg59XodG/03s/f6z0jb6bnw4rodY9A31DYoGvVbojCs3eccrzjE9sf7CXLuQqtmHlQZ1QTJIpEh42nJPTr6deO7b1YhsojZv+oQK1NX4t7TFm2RniXNN3Ki0S5qntUx1nsm+6RbEDQivCX+2Eil3HySzZRW8/mxZi0yvT2xfv3Z9vtO3MNk7Gx/pGETMDpzgNDNNYJDqce46JqBi9SZvn4h5JeVMa7NeAS9wNHLKbxMLyL7wO03L6r5IE96Lw9jqGk8R9R7GOc6g6SMJNq082Fq84VsLFsM9WL6+A7gteUVB04mv5kax6r3o7sjo3EvK6V1ZcySJ9G9bXjDAoRvCxJGhw8nx/CAGzdu0dTUlHKfAnq26Imj1ZEA10/45eJhfhi18z9SOup8ApqnFkxSM6u6riHXnM3xjDPY29vjqpQxQ7mUsppSDHItOy/+xEtNCe0C/ZjZahnbK1bz/NULZC9c2TtpX8MCjL7WT5gpX4HBoZ772luYxXC6OJnhbmPZmfkTzXs60cy2GX8fsY9FO6bTzKrk60XT8I1qQXuVH+Wmcj6TjeGVbTkybOlo6syRqj0Mbz6ONSfW4xZhgwULJRlahsd9iquNO0cLf6H0oYZWnT34rssPDQvwfz8+iT/0F+JCozCITbw2VbBn1l7aKwKps9aiFdeRffzGXzYcs1UlrIvfREH1c/ztWrOjeA0x3v1QS2tx1brzylrC4avJTA6fyCnZIbRFBkKco3hgc5PX6nL2hJ78n4L8v2LPCp8JEw9/SbCqMy40ZvXErSiaKmjbpgU5eXcpTin/ywaX35olnDp/gZFxQ2lj347dJw9QLSonKrQ7D+R3qDBUo8sQkRjRj58u7MPoU4eDQxN6+H7CH6W3ON0ro2EBPl/1ueAda89T7VPGOE/iixnjaNbeHU2+EYNOS0HKy79sMGRlV8Gphw0uJhdmO61kG9+iF+mpzbDBLUpKeWkNg5oOJc10htySB9youk+QaxdaSj2ZpvyGbr6hDQtwu/APYbt2PdZiiPMbwMwZczAZzOirzDTylJKfUvbWBNyy3EBSIWPBxyvYU7kVUa2M3BtPcAwHp5omDPIdwd7yXaQXXyPALZAIl1AMFg1/c/yIYcov/7cAmQ/ShD26v6NFTzdZJF/nzsGvUTOC7ocyMW4CRyp3ka/Jp7tPEAocOV2UQnALFZeLLyFYIMQngiz1BcRiMSpFBGaxmPvqO2iumEmKW8aMA5NpFdYcb6/W2AL3inKJaR7H8dfHcdI5MNx/DEfNe8jXFBPioKKZrS/f79mC/rGRGSunMKnt7HcKIlqaM0+4abn6Zrfv2zyBGY8WoLCxo39tAvNC57LyzAq8AhxReUczM30+wwKGkns5l4CQj0h/nkaTex68sDzBUG2mrdvH5N19SOjkTqjzLCzvsYIxS8bQpLWc8aMns/bEeib2GUny+VTmRsxlf/lOYpsmcEL4laePCmn3pCsXcy4h9bDg21JJYGgHlnVa824B4jfHCh5d7OnvMoRFF5YjkohYHbaCw5ZdOGodGeoxlhJLCXvTfyGnSQ6RHmHcy8pDIpXxZ2eC2YpDe1tUHmEkp6aiyzURF9iHwoi7VFlqOfv8Ct0ru6LJq2fp3PlU1lWQcjkVucgeW0FOrU5D4wAbPP9QcubuGfwjWjIxZgz7av5JlUHNqaDMdwswPXuU4OCmYIh4Ams0C/Bt5EvxWS3OISJs6mSMcPiKtboFOLo04kbyU/r1iibl7BkSekVzOvMidp3A1kHOJ3Tjjj4HiZOM/NWV6JUaFIFyGtu5k6vLwaZMQuMMF8bPHU5y+lkWxn/D9gs7sXZQU3quHH/+hj6mCpGtDYfvpOLX2ItQ+67sU73bsShaXTRHqHhSw1ivmWypWUbKygt/jjq8493eXK8//oOtBSuRSGR0dQkGqcDvuuMYKixo7hpxjZSjfWkm1DsSta4c1CLU9y3kvrqGzCglu0vum1UjrEkgHjd9MFkNlIgLMWlM1BUaULS1RVDD0FGJ3K65RZ1Bx5mKLORGGR/dV3Jr3f13m4C5WROE0px6FvZYSK854f/x8H8i/HmmrppKdlE6Ac26cOp8Ks7dbTFXWQhvGs6lkkw0eQbiYnuTk/EA+1YWenv153jNIbo4d+fbjHWIGokIcQkgzCeU9PRs7IMFjJVWQrxCSC+6iOa+kX69epCWcQ3bFiI8in3J0dxgUuwEJnSa8W4B/tvf0OAtXYWYiCisVjMtbf0ps7wkJfkcRgcz8ZGRZBuuoE4zECwLxzWmERezsmna2ol4t0TyzLc4d/kyg3sOpNJQTrBtOJmns0i7mo5ftA8DeyWS2GLI+w3QcYlSCLDpTImoEKlcSmdDOLEDoymVvqDcVM3vdUfw1Phgl92Ea4YsvEM9CXUN47esNOy6C7jaOTHOYRYbSpJ4craYIJsQ4kbEYa21kEceizuseL8BhvwWLxzUpNDW1Z92YiUu2T7ctl7DL9GLKEkfqk1V3C25RX+vz9h0ZA3aOj3hblGcuZOKy8cKzDUWenr24XRdMuhsWDoyiRPaX1HL6ulAIMsDN7zfAIEnPxZu1d6jU21HFL5iYjyjOHg0GWudwITxE6g3VXP2YiYqVRjPyh6guWulZbQrhYYXqBSxnHhxjMnes9mSuRWxv5EJradwpGr3m5U5wjeSpe87gNPPDoLappYv/D7j+u0cGhntUbSU0e5RAJhFxMXHs/vqz2/mvblVNRE+vckxX+F1aSWWZ1Jc7FwJC+mOxlDOjayH1NvUY2lay5ctx1FlruTrwIXvdwLiroQKCU0GUmaqwAYwmnVcqbjKF+5jWb12M3HLgnllKqfiopHeYSpa0Y4dRRsoeVSNj8oJwSTiK4fZXDakoRAr8LHx48eifxDmGUH6pWzOT09/pwD/BknHV2z/ckYSAAAAAElFTkSuQmCC" + }, + { + "path": "", + "name": "ex_skill_4.png", + "folder": "", + "namespace": "", + "id": "2", + "width": 5, + "height": 7, + "uv_width": 5, + "uv_height": 7, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "390fa9b3-3c25-7bb6-f883-9cb194edbbcb", + "relative_path": "../../textures/ex_skill_4.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAHCAYAAADAp4fuAAAAAXNSR0IArs4c6QAAAERJREFUGFdjZICC/wtv/WeMV2MEccEECGAI/j/28T+DEh8Dw71PDIxW/IyMIBUM7qoMDOIMDAwvGRgYdt6GaMdQSbRFAPjDIoGT58ZRAAAAAElFTkSuQmCC" + }, + { + "path": "", + "name": "ex_skill_3.png", + "folder": "", + "namespace": "", + "id": "5", + "width": 8, + "height": 9, + "uv_width": 8, + "uv_height": 9, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "b50ac5d3-0e0e-8843-ab5b-369d35964389", + "relative_path": "../../textures/ex_skill_3.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAJCAYAAAAPU20uAAAAAXNSR0IArs4c6QAAAKhJREFUKFNtj00KwkAMRl9AW5lBq4KKnsrzuXfnoqfwCK7dKEoVWmGKLUIkbQUFA1nl5fsRQLVOkWgt/BnR/UYZe/Ax9HstUr+grCAvET1sWyDx4OIWsGMRIA+IHnfKbARuCEw6kwDlHbIHoqdUWU2BebcW5QJkkBWInlNlaZ+LDjCRaweYQmORgDMV/2txM8BCJo4m6HfIUEEDfGq6AfgIELBj+WxavAGjoUoF5R1X9gAAAABJRU5ErkJggg==" + }, + { + "path": "", + "name": "leather_layer_1.png", + "folder": "", + "namespace": "", + "id": "6", + "width": 64, + "height": 32, + "uv_width": 64, + "uv_height": 32, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "87f6dc91-beff-ce1b-eac6-fedb22f33a41", + "relative_path": "../../textures/for_modeling/leather_layer_1.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAAXNSR0IArs4c6QAAA3lJREFUaEPlmTFv4kAQhU0TnWiQEEW4DlFSRRFVdB1/g5rfRM3foDulQkeacKcUiO5IgZBo0CmNT99Kz5qs7CzENvh8K0XB7Ho98zzzZt7SiAJjNpvFx+PRrWo2m8lqfTeZTBqhPao8HzQeAO7v7t758OftzV2vVqtoPB4H96gFAL9eXqJWq5X40m63/w8AptNp/O3hIfr9+hodDocEAMDYbrf1jwAfgF6vl4CwWCyi2nMAAAyHw2i/37sIEABfbm6iH09P9Y8ASHAwGLi3DgjkPs4zvj8+1j8CAABns0rhP58CWQ7isK37SvwsILQ2bd6WQbsvn68NYMPWedV3hTssj5FUAeZIAQ34YLfbOZC63a5LDQ2lCBzBsH0E1URrq9BHNNLKHCXu6+2ty3ENPxr0ppn3y6S9n/sAAMcZKqWQaWUA6Pf7iWFyzIZyVrcHeD5AAgoQ1uu1mwYgGik7NF+JFLAkl9cggWI5QQDbHqIqZbT0Pl5iChBsCYUfKkGClxIqRIaNiryRVpTdpUdAUYaWtU8QgPl8Hou5Ia7RaBS8pyxj2Vd9i3grbyQFnVkul7F0QFUAUF9RhBYJAvDz+TlWgwQQ144A9S2UVUg074FMEADbKkNieR+YNz1s78FepadAyOAsLeEDZXM3TVx9tN7XD9yfpT3O1RrBCDgFAHKSNKG1Ve9v81NnCnbeX0/bbZ2ie9R3NuettvC1hn99ilzPDYDVElY8Yai0hMQUAEhcoQ1Ybx0S19AlMk8rbbWErhFf0ioSY+yj/ZjXdShlcwNAaOuB1mCpRwyVYxyhWYOtVvCVKKVXesQ6hGP+87KuTzmzLAQAnRj5Ib7ZbNxJspW/OJC2XmpRilFqERA6nY7bRxGWdW0jRACWHgGkgMQOxvLHGSJDR2jiEaWAXW8B8flG64kaK7/TpLnlj3NabncecA6ryhj7EB2a6g0JgLQIEECAo/UAomG7Tt5o3jIXIvF3J0JSaJAWI41VRUoiOeW0f0KkByv8cdgPUU6UGAJMUcP/S/3w4gAgJ/VGFJLWYDvvv0E5ausvoJCzgKJfkyypcY9dLxK7xg8vLgUgFUjHsrQMxlBpeeWk1mcdaWlPHBUQvO2scE5rpi51VpBEgE5oVJfVqOiN23kiguuPGo2iW9ZQLn923kVAWltpWVckmcbEoTLzWcMudd9f6+s3Tq3qU78AAAAASUVORK5CYII=" + }, + { + "path": "", + "name": "leather_layer_2.png", + "folder": "", + "namespace": "", + "id": "7", + "width": 64, + "height": 32, + "uv_width": 64, + "uv_height": 32, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "84e360da-90d1-da33-721f-671ebd563392", + "relative_path": "../../textures/for_modeling/leather_layer_2.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAAXNSR0IArs4c6QAAAbNJREFUaEPtVquOg0AUHTSGIDA4BA7ZLLLZj8DzZXi+BI9DoJYKBMGwqevmTHI2N7Ntd5NuSToz15B5NOk9cx43UI5X4Hj/ygPgGeA4Al4CjhPAm6CXgJeA4wh4CThOAJ8CXgJeAgYCbdtesLVtmwrDUFVVZTVLfjQHAN4OB/V5Pquu61Rd124B0DTNpSxLNY6jmufZTQCkKqxnADVP3eML7UsfuHWG/VcHKAAAaDiKIjUMg24+TVMNgLmepknv43xdVyskEkDzSZJoANhgURS60b7vdRrAE1AwRRTWy7Lo+6+eEpoBfHE0hIbzPL/JAAkIALICAL44XpgSAMXRLCkfx7FmBNf4WsEAKQFqHiBkWfYtATDCBIRrKxhAU8OLk+KcA8gIMIAMkaZpRQpIDzBjEICYJmmmxL2YNCOVIzblxXMZuzzbI2a1CfJPmdn/l8Zwh6MzPQJrFkZqljznqA0A5H3c5W/2MNmH53w5OlNC78ej+jiddN/wCpScM2C6kNhv9/cw2YcBuDZIsUG+PJpnapiSYuwSKIKFL0z52R7zbwBIudzzlGsew7mDg5j0jWenzBfesmAwq9d1bgAAAABJRU5ErkJggg==" + } + ], + "animations": [ + { + "uuid": "209d253e-029d-78a8-2b99-165bb521f903", + "name": "ex_skill_4", + "loop": "hold", + "override": true, + "length": 8.5, + "snapping": 20, + "selected": true, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "markers": [ + { + "color": 3, + "time": 3.5 + }, + { + "color": 3, + "time": 4.1 + }, + { + "color": 3, + "time": 4.75 + }, + { + "color": 3, + "time": 4.9 + }, + { + "color": 2, + "time": 5.85 + }, + { + "color": 2, + "time": 7.6 + } + ], + "animators": { + "92244d7c-ab65-5dc4-395b-a47250659992": { + "name": "Zombie", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "-90", + "z": "0" + } + ], + "uuid": "30da1e53-f229-fec5-8d27-16317a85e289", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "-90", + "z": "0" + } + ], + "uuid": "4e5af820-cb51-dc68-13d0-40ef1605eb2c", + "time": 3.6, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.25374, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.25374, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "15", + "y": "-90", + "z": "0" + } + ], + "uuid": "a7f75094-6969-0601-53fd-5aabb0dc6f85", + "time": 3.85, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 15, + "y": -90, + "z": 0 + } + ], + "uuid": "6e2ed782-b2a0-167f-cc5c-b4516fe04eb1", + "time": 4.1, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-90", + "y": -90, + "z": 0 + } + ], + "uuid": "b8df2931-3e3f-54a0-52b3-b169b5dc6e38", + "time": 4.3, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.19692, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.19692, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "15", + "y": -147.5, + "z": "0" + } + ], + "uuid": "57df967b-4655-39ce-b52d-c6a27d7d4895", + "time": 2.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "15", + "y": -147.5, + "z": "0" + } + ], + "uuid": "df7fbb08-0bf9-5a33-1f7d-27ac374e093d", + "time": 2.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "15", + "y": "-120", + "z": "0" + } + ], + "uuid": "49c068e2-9129-e0a5-25c5-c3a011a726a3", + "time": 2.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "15", + "y": "-90", + "z": 0 + } + ], + "uuid": "cf5e4ac0-8c8e-922d-4bb4-dc62cca13a7d", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -41, + "y": -10, + "z": -61 + } + ], + "uuid": "0ccaa33d-40b3-9f66-3bd2-8193c1c022f8", + "time": 3.85, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -28, + "y": "0", + "z": -64 + } + ], + "uuid": "6390ee23-dea6-5ef3-639b-b1914cfcaef5", + "time": 3.6, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.24705, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.24705, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -41, + "y": -10, + "z": -61 + } + ], + "uuid": "698c9c36-e2e7-df51-dad6-f8d28d2ec155", + "time": 4.1, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -28, + "y": 2, + "z": -61 + } + ], + "uuid": "461c1a84-1455-1422-ee08-b86255414e49", + "time": 4.3, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.19692, + -0.20026, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.19692, + 0.20026, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -28, + "y": "0", + "z": -64 + } + ], + "uuid": "6cb572d9-127b-5fe7-db98-8448199e0e5c", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "07b2eefd-74ff-cd38-d8b8-2a95f45ccee7": { + "name": "ZHead", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "d440dfa2-d5a5-93b1-352e-2c36d6c18a02", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "bb3eaeec-bd59-8250-a1a2-0adcafe28b5d", + "time": 3.85, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.16333, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.16333, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 60, + "y": 0, + "z": 0 + } + ], + "uuid": "685b05b2-dd78-0bf4-0d90-4eda31d0ef1f", + "time": 4.1, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "1545fbda-cc3d-3f97-783e-7a8f0ebe6d18", + "time": 4.3, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.20361, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.20361, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 22.5, + "y": 0, + "z": 0 + } + ], + "uuid": "09d5862d-00bb-2be8-bd1d-caa773e59917", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 22.5, + "y": 0, + "z": 0 + } + ], + "uuid": "cbb45e67-edf2-170c-e186-77f5d394812a", + "time": 2.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -2.5, + "y": 0, + "z": 0 + } + ], + "uuid": "36925d2d-6e94-af69-8322-989c59c93972", + "time": 2.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "dd2edf40-202d-fdc9-11a6-ed7477abfde1": { + "name": "ZRightArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -90, + "y": 0, + "z": 0 + } + ], + "uuid": "e6f9bb3d-3e6c-1cd5-1b72-16720c9c7109", + "time": 3.15, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -137.5, + "y": 0, + "z": 0 + } + ], + "uuid": "27818307-f41f-51cb-a67d-e6d078766fa6", + "time": 3.6, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.18, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.18, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -21.55613, + "y": 6.60796, + "z": 16.24074 + } + ], + "uuid": "c7616fa5-b084-088d-996c-e2fde923c653", + "time": 3.85, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -137.5, + "y": 0, + "z": 0 + } + ], + "uuid": "01c23cd7-eca5-3e35-3ad4-01c5960d09ba", + "time": 3.4, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.18, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.18, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -21.56, + "y": 6.61, + "z": 16.24 + } + ], + "uuid": "b2e7b5e9-b6b9-f9ca-0460-22b33da8e47d", + "time": 4.1, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + -0.0387, + 0.0204, + -0.0074 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0.0387, + -0.0204, + 0.0074 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 6.61, + "z": 16.24 + } + ], + "uuid": "691fde18-501e-35fc-773d-18be682a1b42", + "time": 4.3, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.20026, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.20026, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -27.14233, + "y": 4.59902, + "z": 8.88927 + } + ], + "uuid": "b7ff5036-7595-8102-cb8c-aa36d3b04db7", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90, + "y": 0, + "z": 0 + } + ], + "uuid": "e41baeb6-51af-d89c-0716-7ec65b8275a7", + "time": 2.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -27.14233, + "y": 4.59902, + "z": 8.88927 + } + ], + "uuid": "611915cc-a0cb-0727-0f33-1aed300ba493", + "time": 2.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -27.14, + "y": 4.6, + "z": 8.89 + } + ], + "uuid": "4debb4ac-d81e-6efa-f177-b1a929ff16fd", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -26.69217, + "y": 6.86459, + "z": 13.37048 + } + ], + "uuid": "0613e00f-ad95-ffb7-8451-ab8a548b2bea", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -27.14, + "y": 4.6, + "z": 8.89 + } + ], + "uuid": "253519c8-d843-1f38-d09a-6da91aec60cf", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "df3895b2-bc28-2e7b-7d48-1108d6e5c123": { + "name": "ZLeftArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -90, + "y": 0, + "z": 0 + } + ], + "uuid": "9699dcc7-a467-fd36-d86e-d36fff9ae6e1", + "time": 3.15, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -137.5, + "y": 0, + "z": 0 + } + ], + "uuid": "35f4a593-b1de-5127-c5f7-96b8d54b1ce8", + "time": 3.6, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.17667, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.17667, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -24.24769, + "y": -6.27967, + "z": -13.64973 + } + ], + "uuid": "cb18e0c0-8970-d9f5-61fe-ebb226e3ed98", + "time": 3.85, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -137.5, + "y": 0, + "z": 0 + } + ], + "uuid": "8cf23205-85d0-2672-5e4e-8f46e78691d9", + "time": 3.4, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.17667, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.17667, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -24.25, + "y": -6.28, + "z": -13.65 + } + ], + "uuid": "9d506ddf-6e22-1353-4175-31fe9cdaf556", + "time": 4.1, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + -0.0231, + -0.0033, + -0.0027 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0.0231, + 0.0033, + 0.0027 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": -6.28, + "z": -13.65 + } + ], + "uuid": "3e24c6c4-f540-1320-db58-0016a3592971", + "time": 4.3, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.20026, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.20026, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -27.29887, + "y": -3.45533, + "z": -6.66067 + } + ], + "uuid": "13b64c3c-8d0e-bd45-0e63-859b46a6aa9f", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90, + "y": 0, + "z": 0 + } + ], + "uuid": "edeec9b1-370b-f158-0134-62c3b09ac878", + "time": 2.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -27.29887, + "y": -3.45533, + "z": -6.66067 + } + ], + "uuid": "b68e0ba9-6257-a660-9801-2b650c2db910", + "time": 2.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -27.3, + "y": -3.46, + "z": -6.66 + } + ], + "uuid": "a357e76e-c591-b1b3-8da9-d4e25658c593", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -26.94169, + "y": -5.7405, + "z": -11.12433 + } + ], + "uuid": "818080b4-833f-a48b-f55b-2cb0d90d54eb", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -27.3, + "y": -3.46, + "z": -6.66 + } + ], + "uuid": "f33f37f0-50cd-5f8e-da9c-bcd739aafa4a", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "9899be81-73a0-e41c-0264-ed24eed6f61f": { + "name": "ZLegs", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "382b80e7-bc3c-af93-3721-a4d4c04794c4", + "time": 3.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 0, + "z": 0 + } + ], + "uuid": "fd5cc84f-f64f-bfe7-a42b-d94029d23100", + "time": 3.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ea8bc4ee-24a1-6012-5f5c-68f31b8cc4a1": { + "name": "ZRightLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "868d7a0f-4561-f80a-5395-57f2d8c8d959", + "time": 3.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90, + "y": 15, + "z": 0 + } + ], + "uuid": "a22dcbba-3545-bc98-71bf-c27a77755ffa", + "time": 3.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90, + "y": 15, + "z": 0 + } + ], + "uuid": "1c1699d3-e0f5-2987-fe97-786d12552816", + "time": 4.1, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "15", + "y": "0", + "z": "15" + } + ], + "uuid": "ce1da0ff-8c56-bee7-1f34-fed2f39a5471", + "time": 4.3, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.20361, + -0.20026, + -0.20026 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.20361, + 0.20026, + 0.20026 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -12.45392, + "y": 1.08089, + "z": 4.88206 + } + ], + "uuid": "f0d3d9d0-826f-9669-ed32-1be94111b990", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -12.45392, + "y": 1.08089, + "z": 4.88206 + } + ], + "uuid": "f6d41bb2-5724-14d9-df35-038129800914", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "5" + } + ], + "uuid": "825c8253-6c98-fe43-ac8f-68179bfd4ffa", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "8ac3dbe1-f01f-e4fe-d3b3-26e5a15c2755": { + "name": "ZLeftLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "d18f46aa-d8f6-6466-d3b8-ed82fdc4bd37", + "time": 3.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90, + "y": -15, + "z": 0 + } + ], + "uuid": "f7f8fa97-8bc5-333c-ebb5-85a6629c0734", + "time": 3.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90, + "y": -15, + "z": 0 + } + ], + "uuid": "9e790c4f-8dd9-08f2-25b3-4a22145b287c", + "time": 4.1, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "15", + "y": "0", + "z": "-15" + } + ], + "uuid": "44b548df-ca67-3440-d2b1-ac9ffa9ea6e1", + "time": 4.3, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.19692, + -0.19692, + -0.20361 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.19692, + 0.19692, + 0.20361 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -12.45392, + "y": -1.08089, + "z": -4.88206 + } + ], + "uuid": "ccd886c2-a761-90c8-af63-15047642a97f", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "-5" + } + ], + "uuid": "a3ec0e19-7497-ce4a-137c-06abc489087c", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -12.45392, + "y": -1.08089, + "z": -4.88206 + } + ], + "uuid": "c64bd054-2c38-ffc2-6cfa-f722c6dbb4bb", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3a6ed519-e12b-0ea7-645b-de1b2ef6fb74": { + "name": "Creeper", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 160, + "z": "0" + } + ], + "uuid": "9a86453f-8b08-9f5d-16e8-6c1f31601bc9", + "time": 4.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "20", + "y": 160, + "z": 0 + } + ], + "uuid": "4734fe1c-05c9-c514-558c-22a318b3771b", + "time": 0.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 160, + "z": 0 + } + ], + "uuid": "5038c9e2-034a-7b9a-1efa-4747c2f41288", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "20", + "y": 160, + "z": 0 + } + ], + "uuid": "5e744bcb-9504-9d3e-ef58-69461644ddb2", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 160, + "z": 0 + } + ], + "uuid": "6e61278c-c235-baa4-f53f-83ff0a9a7987", + "time": 2.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 150, + "z": 0 + } + ], + "uuid": "51ab4ee2-3a3b-5a3d-0705-9d8f90f7c1c5", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 132.99, + "z": 0 + } + ], + "uuid": "7b4050b0-a0cd-f49b-2530-b1795ca966ee", + "time": 4.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "40", + "y": 160, + "z": "0" + } + ], + "uuid": "0eeca7ff-fb71-0e1b-27fa-254002668c9d", + "time": 4.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 40, + "y": 160, + "z": 0 + } + ], + "uuid": "feb77447-ff94-01ae-2aec-8205887b85fd", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-20", + "y": 160, + "z": 0 + } + ], + "uuid": "2c273a7a-aef7-e42a-c426-d900015694aa", + "time": 5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -20, + "y": 160, + "z": 0 + } + ], + "uuid": "690a80c1-9b79-c7a8-d90c-cff6bcda19e6", + "time": 5.85, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "90", + "y": "200", + "z": "0" + } + ], + "uuid": "8183562a-aa5e-0590-90c2-122471609108", + "time": 6.05, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.2, + -0.2, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.2, + 0.2, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 32, + "y": "0", + "z": -95 + } + ], + "uuid": "5f1b8fe7-4619-df28-586e-c9ebf38d5842", + "time": 4.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 32, + "y": 0, + "z": -95 + } + ], + "uuid": "69cd5fda-2679-445a-1681-1ee7dd57ff58", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 31, + "y": 0, + "z": -100 + } + ], + "uuid": "2d256c7d-c3c5-7c0f-1bb9-593d6c288325", + "time": 4.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 31, + "y": 0, + "z": -100 + } + ], + "uuid": "e3ab7db5-4120-d98f-f354-f0f7aa11d8a8", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 30, + "y": 0, + "z": -92 + } + ], + "uuid": "7419a078-4f58-a56d-ffed-832d205a21fa", + "time": 5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 30, + "y": 0, + "z": -92 + } + ], + "uuid": "f4c9fcd3-87da-b1a1-f455-56259ce93475", + "time": 5.85, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 33, + "y": 2, + "z": -92 + } + ], + "uuid": "0f1f019f-7597-7bda-5a68-2c82351ef56f", + "time": 6.05, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.19667, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.19667, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "77ec4a28-497d-1a34-be14-7beb96b0e233": { + "name": "CHead", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "2e299f9a-e269-677d-7314-76d077206048", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -17.5, + "y": 0, + "z": 0 + } + ], + "uuid": "1cd33a29-59bf-fa39-2409-d92f03940f3f", + "time": 0.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -17.25002, + "y": -2.99318, + "z": -9.54589 + } + ], + "uuid": "6a50cd75-7aa5-3a17-53c2-a8cb05389117", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -17.35932, + "y": 2.24944, + "z": 7.15656 + } + ], + "uuid": "9dbe903e-fbaa-4e02-cd6e-7a70f37ca28f", + "time": 0.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -17.25002, + "y": -2.99318, + "z": -9.54589 + } + ], + "uuid": "e4a64981-606e-253f-566d-f50b3e10c016", + "time": 0.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -17.35932, + "y": 2.24944, + "z": 7.15656 + } + ], + "uuid": "17c48258-92a7-2c6a-e387-ed26e5d9ab95", + "time": 1.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -17.25002, + "y": -2.99318, + "z": -9.54589 + } + ], + "uuid": "cf81489b-c4bc-5e67-8224-d24b45878916", + "time": 1.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -17.35932, + "y": 2.24944, + "z": 7.15656 + } + ], + "uuid": "d728f1f7-3d96-cb8f-bcfe-09b846377273", + "time": 1.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -17.5, + "y": 0, + "z": 0 + } + ], + "uuid": "cc5fcc08-a908-3bf3-f3e2-b1b7dbb6a403", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "1d7e67e4-133b-184f-da64-af98721f38a0", + "time": 2.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "80c950ce-a866-1867-0b8a-700b05f8037e", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -17.5, + "z": 0 + } + ], + "uuid": "f432c83b-2edb-4dce-b74c-4aee22a08428", + "time": 3.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 0 + } + ], + "uuid": "baea4ec0-dbca-fb1f-7745-4d9472e40c25", + "time": 4.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -35, + "z": 0 + } + ], + "uuid": "b83d5879-46da-9ae8-60d0-10e5b7c4449e", + "time": 4.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 52.5, + "y": "0", + "z": 0 + } + ], + "uuid": "093b13f2-0e1e-f0b7-bf19-8b359733e9d4", + "time": 4.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 52.5, + "y": "0", + "z": 0 + } + ], + "uuid": "dacce36e-27ec-34c6-fb8a-5585eb81297e", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -47.5, + "y": "0", + "z": 0 + } + ], + "uuid": "ec6ac910-44f8-986c-8e78-c344a1e4a548", + "time": 5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -47.5, + "y": 0, + "z": 0 + } + ], + "uuid": "e5e95ec5-8e47-033d-4814-3a3ad1fb5148", + "time": 5.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -5, + "y": 0, + "z": 0 + } + ], + "uuid": "f94325be-e28a-e484-4662-3b3b4682eeb2", + "time": 6.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "8d92c759-aab2-8d69-70f6-7258e634eff7": { + "name": "CLeg0", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "e5c46fc8-245b-0e6b-c77a-11fc9eaf9821", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -14.78217, + "y": 2.57594, + "z": 9.6658 + } + ], + "uuid": "641785f4-8efe-b689-c4dc-a1c4dd6f6ba7", + "time": 0.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -14.78217, + "y": 2.57594, + "z": 9.6658 + } + ], + "uuid": "954f3d68-c348-8943-4c0c-1f9eaf05b8b3", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "5f0a9d20-b564-33ea-27e3-fa5db42e6353", + "time": 2.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "a8476601-1a96-8bc9-d6a9-ed30b93a30dd", + "time": 4.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -32.89913, + "y": 12.67956, + "z": 18.74227 + } + ], + "uuid": "50405544-f0ac-cd5a-5308-acd3d1ded1ef", + "time": 4.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -32.9, + "y": 12.68, + "z": 18.74 + } + ], + "uuid": "c886ec5f-b3fb-fa11-6f9d-ea91e281a3f3", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 34.00619, + "y": 4.46468, + "z": 31.44425 + } + ], + "uuid": "876db071-7993-b69a-f86e-ee4ed75c1954", + "time": 5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 34.01, + "y": 4.46, + "z": 31.44 + } + ], + "uuid": "28d2aefb-1bdc-ba00-f5db-43ea705c1b05", + "time": 5.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -43.49, + "y": 4.46, + "z": 31.44 + } + ], + "uuid": "49e603bd-a761-3667-80ed-3190d4a6dbac", + "time": 6.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "153c4491-7d11-6fe7-3028-193d18fbd64e": { + "name": "CLeg1", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "293e7f7c-4416-7a42-c1f5-2939ce62593f", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -14.94548, + "y": -1.29256, + "z": -4.83045 + } + ], + "uuid": "16669d70-8b3d-7acc-c141-d88588b15586", + "time": 0.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -14.94548, + "y": -1.29256, + "z": -4.83045 + } + ], + "uuid": "f9b4ab41-b438-57da-f196-4f87248ad788", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "6500a4c3-5fc2-a9df-6bae-531ff1b98392", + "time": 2.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "ff7f4b2d-8a8c-e51e-e048-5d20082f34c2", + "time": 4.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -31.28223, + "y": -9.29798, + "z": -14.89149 + } + ], + "uuid": "acd086f7-bc71-dacc-15cf-a44ccfd9a0eb", + "time": 4.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -31.28, + "y": -9.3, + "z": -14.89 + } + ], + "uuid": "7112435e-10a7-8a4e-0e6a-49f69c7d1ad0", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 29.91461, + "y": -3.16058, + "z": -25.84874 + } + ], + "uuid": "a826e1cf-571a-7daf-44b4-a33442ac6c3e", + "time": 5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 29.91, + "y": -3.16, + "z": -25.85 + } + ], + "uuid": "f44fe64f-e86d-ce47-22ad-feda2e74f439", + "time": 5.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -25.09, + "y": -3.16, + "z": -25.85 + } + ], + "uuid": "93a61a46-3b03-75fb-b9bc-619b672a1ef3", + "time": 6.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "047a0c6d-27c4-1ff5-715a-f36deaff2c23": { + "name": "CLeg2", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "a1b49df6-1ce1-2134-cd37-8669edb2fd6d", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -12.73415, + "y": 7.99365, + "z": 31.60659 + } + ], + "uuid": "855a3424-cdf2-8f7d-8ad0-068207384863", + "time": 0.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -12.73415, + "y": 7.99365, + "z": 31.60659 + } + ], + "uuid": "487b24bd-ecab-5165-24df-7b0649f025ce", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "ed68e8c9-9a1d-6e1e-aabd-2ae179b7c794", + "time": 2.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "fb1d13ad-a85e-ba5b-838a-605ebfbfcabb", + "time": 4.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -75.64115, + "y": 29.21893, + "z": 7.12284 + } + ], + "uuid": "a7daa226-ec36-061e-460a-4442f6166387", + "time": 4.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -75.64, + "y": 29.22, + "z": 7.12 + } + ], + "uuid": "71c52fa4-17b0-d3ff-7e00-5e0b1dc33141", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 21.86, + "y": 29.22, + "z": 7.12 + } + ], + "uuid": "a92c37b0-6a29-66ab-d6f6-dbbf6d0bc09f", + "time": 5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "013a946a-2a1d-b35f-16ff-ce87957574c5": { + "name": "CLeg3", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "1604aacf-4ef7-1e54-4298-7c9616699478", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -13.06431, + "y": -7.43547, + "z": -29.14743 + } + ], + "uuid": "aabfd04e-d478-08bf-aef6-860d72a7ca28", + "time": 0.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -13.06431, + "y": -7.43547, + "z": -29.14743 + } + ], + "uuid": "d377ee27-4d8b-e995-5810-2473c48c850a", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "fd0f5b74-c279-b1ca-9107-ddf09eac4cf7", + "time": 2.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "53c57d70-4813-d03a-b0f2-e95b05fe7ebd", + "time": 4.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -65.43798, + "y": -22.9824, + "z": -10.11783 + } + ], + "uuid": "0728e698-3d2c-6830-7f1c-7b379fa34ef4", + "time": 4.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -65.44, + "y": -22.98, + "z": -10.12 + } + ], + "uuid": "10b2736c-760d-35e8-9c19-55525de422d6", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 19.56, + "y": -22.98, + "z": -10.12 + } + ], + "uuid": "747c559d-e430-50f3-d681-56a5fabefa25", + "time": 5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "2c60cddf-51e8-c8ce-98d1-53af4f066aa0": { + "name": "MuzzleFlash", + "type": "bone", + "keyframes": [ + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "29dfa56a-df03-ebf7-495d-e2a4496d6dee", + "time": 7.5, + "color": -1, + "uniform": true, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "4", + "y": "4", + "z": "4" + } + ], + "uuid": "ad6e4de8-8bc4-5335-5893-fdb2d88409a4", + "time": 7.85, + "color": -1, + "uniform": true, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.35333, + -0.35333, + -0.35333 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.35333, + 0.35333, + 0.35333 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "459fa8ba-3e12-c14a-7dd2-69c199ac09e1", + "time": 8.5, + "color": -1, + "uniform": true, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Hoshino/models/ex_skill_frame.bbmodel b/config/yosbr/config/figura/avatars/Hoshino/models/ex_skill_frame.bbmodel new file mode 100644 index 0000000..52727e4 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/models/ex_skill_frame.bbmodel @@ -0,0 +1,1179 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "ex_skill_frame", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 32, + "height": 16 + }, + "elements": [ + { + "name": "FrameTopLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d58488eb-4b98-5e52-740e-041d7c8c7b7f" + }, + { + "name": "FrameTop", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 16, + 0, + 32, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d7b279c5-8b54-f727-c9a0-07e530c5ab5a" + }, + { + "name": "FrameTopRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "86208108-703b-1a71-9e73-d829fcf93af0" + }, + { + "name": "FrameLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 16, + 0, + 32, + 16 + ], + "rotation": 270, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b38e5f11-842c-da8d-98f0-6570158f844f" + }, + { + "name": "FrameRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 16, + 0, + 32, + 16 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "72a70b22-fd81-174e-fbf8-59f6de9f116f" + }, + { + "name": "FrameBottomLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "rotation": 270, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8bd9fdba-ab88-a00c-3fbe-b5f33f230b66" + }, + { + "name": "FrameBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 16, + 0, + 32, + 16 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "77cf6831-3106-4f1e-8a19-d7d2cd39e07a" + }, + { + "name": "FrameBottomRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "99390453-8b25-0545-3dbf-db759d9122ff" + }, + { + "name": "FrameBarLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + -16, + -1000 + ], + "to": [ + 16, + 0, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + -6, + 4, + -99 + ], + "faces": { + "north": { + "uv": [ + 16, + 0, + 32, + 16 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "89423f5b-a0dd-39ba-2e32-74ba776e7d5f" + }, + { + "name": "FrameRBaright", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + -16, + -1000 + ], + "to": [ + 8, + 0, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + -6, + 4, + -99 + ], + "faces": { + "north": { + "uv": [ + 16, + 0, + 32, + 16 + ], + "rotation": 270, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "47e36d29-e769-b566-72a7-349097398d38" + }, + { + "name": "Particle1", + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "rotation": [ + 90, + 0, + 180 + ], + "export": true, + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "fvyx": [ + 4.6282, + 0, + 0 + ], + "URoh": [ + -2.3, + 0, + 4 + ], + "95Z0": [ + -2.3, + 0, + -4 + ] + }, + "faces": { + "4qMG6SMe": { + "uv": { + "fvyx": [ + 1, + 1 + ], + "95Z0": [ + 0, + 0 + ], + "URoh": [ + 0, + 1 + ] + }, + "vertices": [ + "fvyx", + "95Z0", + "URoh" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "b8f8c1d0-10bd-729b-caf4-15c768cff368" + }, + { + "name": "Particle2", + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "rotation": [ + 90, + 0, + -180 + ], + "export": true, + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "fvyx": [ + 4.6282, + 0, + 0 + ], + "URoh": [ + -2.3, + 0, + 4 + ], + "95Z0": [ + -2.3, + 0, + -4 + ], + "A1gx": [ + 3.104, + 0, + 0 + ], + "Rbsm": [ + -1.5379, + 0, + -2.68 + ], + "GZIF": [ + -1.5379, + 0, + 2.68 + ] + }, + "faces": { + "jydbDtJR": { + "uv": { + "Rbsm": [ + 0, + 1.32 + ], + "A1gx": [ + 0, + 6.68 + ], + "fvyx": [ + 0.7621, + 8 + ], + "95Z0": [ + 0.7621, + 0 + ] + }, + "vertices": [ + "Rbsm", + "A1gx", + "fvyx", + "95Z0" + ], + "texture": 0 + }, + "FShNpiER": { + "uv": { + "GZIF": [ + 0.7621, + 6.68 + ], + "Rbsm": [ + 0.7621, + 1.32 + ], + "95Z0": [ + 0, + 0 + ], + "URoh": [ + 0, + 8 + ] + }, + "vertices": [ + "GZIF", + "Rbsm", + "95Z0", + "URoh" + ], + "texture": 0 + }, + "Y8V06sJ8": { + "uv": { + "A1gx": [ + 6.68, + 0 + ], + "GZIF": [ + 1.32, + 0 + ], + "URoh": [ + 0, + 0.7621 + ], + "fvyx": [ + 8, + 0.7621 + ] + }, + "vertices": [ + "A1gx", + "GZIF", + "URoh", + "fvyx" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "26a9457e-5983-383c-377e-80178696ca03" + } + ], + "outliner": [ + { + "name": "Gui", + "origin": [ + 0, + 0, + -1000 + ], + "color": 0, + "uuid": "80d8e2e3-01bb-8e7a-de84-164a65212d5c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Frame", + "origin": [ + 0, + 0, + -100 + ], + "color": 0, + "uuid": "1a9432d3-a6a3-0042-6828-0adc1991dedf", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d58488eb-4b98-5e52-740e-041d7c8c7b7f", + "d7b279c5-8b54-f727-c9a0-07e530c5ab5a", + "86208108-703b-1a71-9e73-d829fcf93af0", + "b38e5f11-842c-da8d-98f0-6570158f844f", + "72a70b22-fd81-174e-fbf8-59f6de9f116f", + "8bd9fdba-ab88-a00c-3fbe-b5f33f230b66", + "77cf6831-3106-4f1e-8a19-d7d2cd39e07a", + "99390453-8b25-0545-3dbf-db759d9122ff" + ] + }, + { + "name": "FrameBar", + "origin": [ + 0, + 0, + -100 + ], + "rotation": [ + 0, + 0, + 45 + ], + "color": 0, + "uuid": "9a3f01ed-f49d-aaf3-78dd-22c36d7f20a7", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "89423f5b-a0dd-39ba-2e32-74ba776e7d5f", + "47e36d29-e769-b566-72a7-349097398d38" + ] + } + ] + }, + { + "name": "Particles", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "3f41b05a-dfcf-a9ea-5775-1b908472a151", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b8f8c1d0-10bd-729b-caf4-15c768cff368", + "26a9457e-5983-383c-377e-80178696ca03" + ] + } + ], + "textures": [ + { + "path": "", + "name": "ex_skill_frame.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 32, + "height": 16, + "uv_width": 32, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "d4a6d900-994d-d2db-a2a9-40eeb7363089", + "relative_path": "../../textures/ex_skill_frame.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAQCAYAAAB3AH1ZAAAAAXNSR0IArs4c6QAAAbdJREFUSEutVYtuwjAMtFOJ///KbbwLY4wJJZ6uxOzitmwSi1SlaVznend2te/7s4io/Ayjtd9jxvA4X/uzuO/ZOC7G3hJWAG8EgG/nEiMGe6nOnrzMgAdwXJxvuAeATxF5FZGNiOTAhB8QmfCwmHjqO/jg0T4zAADrO3dmN4SqamaGmfd4PdBRYzD7ezOsMnhjBrYislJVgHDUrHn0Ceef8hB7iT3BuQcAMCEk2FUAYGIf5OADXH82VTTnHKCRkRsPmNkqpbQtpfSYZ5jgJL+wPDJd/JDGhC7BhgD0fEIpRVNKTWn5s6k9vMvPYyzWUwwAwKEy0JdSTkEONpHL8dDp9BGjPtJUgUtQPQAf7AFAVY9/6BOxgTVunzO2A1jWElyrqksAUwLAu6ri+gCjXnJNCVCJ8r6XqpfmVFnHRjQAqAzsIIWIHCuAU84ZIP51jBoR+kD1gDMACQ6qes45n1JKADHVVpv6foCy8Ysz8CIi21iGlQHQ3wDIOX8tFotBjmdH0wnNbFndPxiQPAAZ7gwAQNd1+Ic8PRoGYMQJCcBAA6DrukvO+XK9Xi/+r7hbvhqSjRf3GPU3orWFV48IG9oAAAAASUVORK5CYII=" + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Hoshino/models/gun.bbmodel b/config/yosbr/config/figura/avatars/Hoshino/models/gun.bbmodel new file mode 100644 index 0000000..254ecac --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/models/gun.bbmodel @@ -0,0 +1,9418 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "gun", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 60, + "height": 40 + }, + "elements": [ + { + "name": "Barrel1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.446, + 2, + -8 + ], + "to": [ + 0.446, + 3.784, + -6.578 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -2.5, + -6 + ], + "faces": { + "north": { + "uv": [ + 0, + 2, + 7, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 3, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 3, + 0, + 0, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 3, + 0, + 0, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 3, + 1, + 0, + 2 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "ea0fdb94-b8d7-6e5e-d652-47b269a54f0e" + }, + { + "name": "Barrel2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2925, + 3.0455, + -6.578 + ], + "to": [ + 0.2925, + 3.6305, + -0.279 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -2.5, + -6 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "143f6d47-21fc-9b61-f984-0c62ef593202" + }, + { + "name": "Barrel3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2925, + 3.6865, + -6.578 + ], + "to": [ + 0.2925, + 3.9375, + -0.279 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -2.5, + -6 + ], + "faces": { + "north": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "8c687ed6-fa62-6a0d-9235-57de21be983b" + }, + { + "name": "BarrelBridge1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2925, + 3.6305, + -6.578 + ], + "to": [ + 0.2925, + 3.6865, + -6.104 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -2.5, + -6 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "53150804-ff7d-1945-3743-4b411ce488c8" + }, + { + "name": "BarrelBridge2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3175, + 3.0455, + -5.909 + ], + "to": [ + 0.3175, + 3.6865, + -5.073 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -2.5, + -6 + ], + "faces": { + "north": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 7, + 0, + 10, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 7, + 0, + 10, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 7, + 0, + 10, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "8cdf0e04-0a0f-163f-eb47-3f977655cd1d" + }, + { + "name": "BarrelBridge3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2925, + 3.6305, + -4.348 + ], + "to": [ + 0.2925, + 3.6865, + -4.041 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -2.5, + -6 + ], + "faces": { + "north": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "123d28e0-f78f-d872-b40d-d98ce8051d86" + }, + { + "name": "BarrelBridge4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2925, + 3.6305, + -3.038 + ], + "to": [ + 0.2925, + 3.6865, + -2.731 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -2.5, + -6 + ], + "faces": { + "north": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "5fe7220c-7f2a-16b2-7a2d-ec5fe4cc727e" + }, + { + "name": "BarrelBridge5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2925, + 3.6305, + -1.728 + ], + "to": [ + 0.2925, + 3.6865, + -1.421 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -2.5, + -6 + ], + "faces": { + "north": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "708506c9-8bfc-3a74-8313-1e12b5f2959e" + }, + { + "name": "FrontSight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.05, + 3.9375, + -6.467 + ], + "to": [ + 0.05, + 4.1325, + -6.244 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -2.5, + -6 + ], + "faces": { + "north": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "6d39bc6b-90ac-5ae2-ce89-f51e424bc77d" + }, + { + "name": "MagazineTube1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2925, + 2.1535, + -6.578 + ], + "to": [ + 0.2925, + 2.7385, + -4.655 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -1.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 19.069, + 0, + 28.931, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 28.931, + 0, + 19.069, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "7976e1ef-9523-be99-04a3-acae1ec9843c" + }, + { + "name": "BarrelBridge7", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.05, + 2.7385, + -5.909 + ], + "to": [ + 0.05, + 3.0455, + -5.073 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -2.5, + -6 + ], + "faces": { + "north": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 10.4155, + 0, + 18.5845, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 18.5845, + 0, + 10.4155, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "a908e0fe-9151-1fbd-b11c-92196f622b18" + }, + { + "name": "MagazineTube2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2925, + 2.0695, + -5.937 + ], + "to": [ + 0.2925, + 2.1535, + -5.63 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -1.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "5c539202-3e99-5131-cfe1-4859b6b5c355" + }, + { + "name": "MagazineTube3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2925, + 2.0145, + -5.575 + ], + "to": [ + 0.2925, + 2.1535, + -5.38 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -1.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "2b985eb0-984c-31e7-0cc4-30e45b5cc279" + }, + { + "name": "MagazineTube4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2925, + 2.0695, + -5.324 + ], + "to": [ + 0.2925, + 2.1535, + -5.017 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -1.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "675a739e-0260-8423-aee8-3e74d621ce0a" + }, + { + "name": "MagazineTube5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.432, + 2.014, + -4.655 + ], + "to": [ + 0.432, + 2.878, + -4.098 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -1.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 10, + 3, + 15, + 8 + ], + "texture": 0 + }, + "east": { + "uv": [ + 7, + 3, + 10.223, + 8 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 10.223, + 3, + 7, + 8 + ], + "texture": 0 + }, + "up": { + "uv": [ + 10.223, + 3, + 7, + 8 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 10.223, + 3, + 7, + 8 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "c05b81e5-4e4f-ec9a-bf93-e5974a05034d" + }, + { + "name": "Foreend", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.446, + 1.819, + -4.098 + ], + "to": [ + 0.446, + 3.129, + -0.279 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -1.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 24, + 8, + 25, + 14 + ], + "texture": 0 + }, + "east": { + "uv": [ + 7, + 8, + 24.492, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 7, + 8, + 8, + 14 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24.492, + 8, + 7, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 24.492, + 13, + 7, + 14 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "82367864-b1d9-a7df-ae34-5d39f224d02b" + }, + { + "name": "GunBody1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.446, + 1.93, + -0.279 + ], + "to": [ + 0.446, + 3.686, + 2.258 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -1.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 16, + 11.939, + 24 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1.939, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "84f74822-cea7-ed9c-78eb-8082b9aaec37" + }, + { + "name": "GunBody2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.446, + 2.153, + 2.258 + ], + "to": [ + 0.446, + 3.686, + 4.596 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -1.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 12, + 16, + 18.297, + 17 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 16, + 22.6, + 22.951 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 16, + 13, + 22.951 + ], + "texture": 0 + }, + "west": { + "uv": [ + 39.6, + 9, + 29, + 15.951 + ], + "texture": 0 + }, + "up": { + "uv": [ + 22.6, + 16, + 12, + 17 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 22.6, + 22, + 12, + 23 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "f92a19a0-dec4-aafe-eb0c-3bd42241e95c" + }, + { + "name": "BarrelBridge6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2925, + 3.6305, + -0.418 + ], + "to": [ + 0.2925, + 3.6865, + -0.279 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -2.5, + -6 + ], + "faces": { + "north": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "7af9c32c-077a-8aad-2724-170ad46541b7" + }, + { + "name": "Barrel4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2925, + 3.6865, + -0.279 + ], + "to": [ + 0.2925, + 3.9655, + -0.056 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -2.5, + -6 + ], + "faces": { + "north": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "953d0bc7-b736-c4c2-6444-b9808c689bff" + }, + { + "name": "Barrel5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2925, + 3.6865, + -0.056 + ], + "to": [ + 0.2925, + 3.8816, + 0.0834 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -2.5, + -6 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "ff2709e8-319c-87ce-a0ad-e41247d4c4fd" + }, + { + "name": "Barrel6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2925, + 3.6865, + 0.0834 + ], + "to": [ + 0.2925, + 3.9655, + 0.3064 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -2.5, + -6 + ], + "faces": { + "north": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "e632f264-a99c-2367-8405-e4ec909d4c6d" + }, + { + "name": "Barrel7", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2925, + 3.6865, + 0.3064 + ], + "to": [ + 0.2925, + 3.8816, + 0.4458 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -2.5, + -6 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "12f315e4-3b34-b01f-07d7-ad01f557be6a" + }, + { + "name": "Barrel8", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2925, + 3.6865, + 0.4458 + ], + "to": [ + 0.2925, + 3.9655, + 0.6688 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -2.5, + -6 + ], + "faces": { + "north": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "d96a0c98-31cf-5f6a-e70d-5cc97a184792" + }, + { + "name": "Barrel9", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2925, + 3.6865, + 0.6688 + ], + "to": [ + 0.2925, + 3.8816, + 0.8082 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -2.5, + -6 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "59896e0f-974d-436a-2e36-f4f6496d29ab" + }, + { + "name": "Barrel10", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2925, + 3.6865, + 0.8082 + ], + "to": [ + 0.2925, + 3.9655, + 1.0312 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -2.5, + -6 + ], + "faces": { + "north": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "cca1ddcd-8855-a752-69e1-2ea72202977e" + }, + { + "name": "Barrel11", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2925, + 3.6865, + 1.0312 + ], + "to": [ + 0.2925, + 3.8816, + 1.1706 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -2.5, + -6 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "c3985c55-c6aa-379f-3c0d-94281fb05069" + }, + { + "name": "Barrel12", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2925, + 3.6865, + 1.1706 + ], + "to": [ + 0.2925, + 3.9655, + 1.3936 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -2.5, + -6 + ], + "faces": { + "north": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "80780249-4064-5b4c-2032-5b3164f5ca1c" + }, + { + "name": "Barrel13", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2925, + 3.6865, + 1.3936 + ], + "to": [ + 0.2925, + 3.8816, + 1.533 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -2.5, + -6 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "5320bd8e-310d-f710-e807-e3625ae8e9a6" + }, + { + "name": "Barrel14", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2925, + 3.6865, + 1.533 + ], + "to": [ + 0.2925, + 3.9655, + 1.7839 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -2.5, + -6 + ], + "faces": { + "north": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "002b72bc-f499-9326-6b1f-eedd9fd98c2c" + }, + { + "name": "Barrel15", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2925, + 3.6865, + 1.7839 + ], + "to": [ + 0.2925, + 4.1325, + 2.2859 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -2.5, + -6 + ], + "faces": { + "north": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 15, + 3, + 18, + 6 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 15, + 3, + 18, + 6 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "5a9a4840-b25d-2c46-23d1-572ae01274bf" + }, + { + "name": "Barrel16", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2925, + 3.6865, + 2.2859 + ], + "to": [ + 0.2925, + 4.3275, + 2.9269 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -2.5, + -6 + ], + "faces": { + "north": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 18, + 3, + 23, + 8 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 18, + 3, + 23, + 8 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "698d955c-61b1-d703-a54a-aba30be16942" + }, + { + "name": "Grip1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.446, + 2.153, + 4.596 + ], + "to": [ + 0.446, + 3.65, + 8.537 + ], + "autouv": 0, + "color": 0, + "inflate": -0.001, + "origin": [ + 0, + 3.65, + 4.596 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 23, + 16, + 41.428, + 23 + ], + "texture": 0 + }, + "south": { + "uv": [ + 42, + 16, + 43, + 23 + ], + "texture": 0 + }, + "west": { + "uv": [ + 41.428, + 16, + 23, + 23 + ], + "texture": 0 + }, + "up": { + "uv": [ + 41.428, + 16, + 23, + 17 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "73153994-fb3f-97ba-67f1-696a0c2288d9" + }, + { + "name": "Grip2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.446, + 2.153, + 4.596 + ], + "to": [ + 0.446, + 3.65, + 8.804 + ], + "autouv": 0, + "color": 0, + "inflate": -0.002, + "origin": [ + 0, + 3.65, + 4.596 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 42, + 16, + 61.677, + 23 + ], + "texture": 0 + }, + "south": { + "uv": [ + 42, + 16, + 43, + 23 + ], + "texture": 0 + }, + "west": { + "uv": [ + 61.677, + 16, + 42, + 23 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 61.677, + 22, + 42, + 23 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "9fd35e3a-37ea-3d65-9bda-aa01f5b9c036" + }, + { + "name": "Grip3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.446, + 3.65, + 8.271 + ], + "to": [ + 0.446, + 3.888, + 8.804 + ], + "autouv": 0, + "color": 0, + "inflate": -0.003, + "origin": [ + 0, + 3.65, + 4.596 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 7, + 15, + 9.574, + 16 + ], + "texture": 0 + }, + "south": { + "uv": [ + 7, + 15, + 8, + 16 + ], + "texture": 0 + }, + "west": { + "uv": [ + 9.574, + 15, + 7, + 16 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "79963540-a8fc-9907-eb3d-31c277fcb1be" + }, + { + "name": "AbydosMarkFront", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.446, + 2.9, + 7.046 + ], + "to": [ + 0.446, + 3.422, + 7.796 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.65, + 4.596 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 24, + 23, + 40 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "f91260b5-99a4-dd39-797c-59276cb89548" + }, + { + "name": "AbydosFront", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.446, + 3.35, + 5.846 + ], + "to": [ + 0.446, + 3.529, + 6.846 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.65, + 4.596 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 23, + 24, + 51, + 29 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "e2e6c407-2d41-919b-2191-b82412b62847" + }, + { + "name": "AbydosMarkBack", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.446, + 2.9, + 7.046 + ], + "to": [ + -0.446, + 3.422, + 7.796 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.65, + 4.596 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 24, + 23, + 40 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "56c12641-c56f-0fa4-977f-951fa0182353" + }, + { + "name": "AbydosBack", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.446, + 3.35, + 5.846 + ], + "to": [ + -0.446, + 3.529, + 6.846 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.65, + 4.596 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 23, + 24, + 51, + 29 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "94bf19da-960f-e2cc-80b9-80056ce709ba" + }, + { + "name": "GripTip2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.05, + 1.835, + 7.639 + ], + "to": [ + 0.05, + 2.036, + 7.739 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.65, + 4.596 + ], + "faces": { + "north": { + "uv": [ + 3, + 0, + 4, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 3, + 0, + 4, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 3, + 0, + 4, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 3, + 0, + 4, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 3, + 0, + 4, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "e3b0b8ad-fb30-26b9-8193-b10c13a3b215" + }, + { + "name": "GripTip1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.128, + 2.036, + 7.561 + ], + "to": [ + 0.128, + 2.153, + 7.817 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.65, + 4.596 + ], + "faces": { + "north": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "6e12d8ec-3e47-3222-d263-f28dad05d903" + }, + { + "name": "Grip1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.375, + -0.381, + 3.122 + ], + "to": [ + 0.375, + 2.153, + 4.198 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 2.153, + 3.122 + ], + "faces": { + "north": { + "uv": [ + 28, + 3, + 29, + 12.42 + ], + "texture": 0 + }, + "east": { + "uv": [ + 25, + 3, + 29, + 12.42 + ], + "texture": 0 + }, + "south": { + "uv": [ + 25, + 3, + 26, + 12.42 + ], + "texture": 0 + }, + "west": { + "uv": [ + 29, + 3, + 25, + 12.42 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 25, + 12, + 29, + 13 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "de7aadd6-877d-119e-6ff1-72969e644455" + }, + { + "name": "TriggerGuard1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.125, + 1.239, + 2.091 + ], + "to": [ + 0.125, + 1.93, + 2.331 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -37.6, + 0, + 0 + ], + "origin": [ + 0, + 1.93, + 2.091 + ], + "faces": { + "north": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "be54a723-a8f6-4609-be4f-c2021d297bd0" + }, + { + "name": "TriggerGuard2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.125, + 1.707, + 2.258 + ], + "to": [ + 0.125, + 2.153, + 2.565 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 1.93, + 2.091 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "75be783e-7a2c-0206-89fc-a477d67a9086" + }, + { + "name": "TriggerGuard3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.125, + 2.042, + 2.258 + ], + "to": [ + 0.125, + 2.153, + 3.145 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 1.93, + 2.091 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "7d78e6f9-8eb8-b8d3-414f-76501180f0e8" + }, + { + "name": "TriggerGuard4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.125, + 1.384, + 2.512 + ], + "to": [ + 0.125, + 1.579, + 3.014 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 1.93, + 2.091 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "3930b4f4-6dcf-e572-938f-45cb2aac4f76" + }, + { + "name": "TriggerGuard5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.125, + 1.384, + 3.014 + ], + "to": [ + 0.125, + 1.579, + 3.415 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -36, + 0, + 0 + ], + "origin": [ + 0, + 1.384, + 3.014 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "b114345b-ca20-3325-61df-451132260841" + }, + { + "name": "Grip2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.25, + 1.428, + 4.198 + ], + "to": [ + 0.25, + 1.814, + 4.624 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 5, + 0, + 0 + ], + "origin": [ + 0, + 1.837, + 4.198 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 4, + 0, + 7, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 7, + 0, + 4, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 4, + 1, + 7, + 2 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "4cde4d21-69d7-5472-e345-9740821abe28" + }, + { + "name": "Trigger", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.125, + 1.624, + 3 + ], + "to": [ + 0.125, + 2.042, + 3.125 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 12.5, + 0, + 0 + ], + "origin": [ + 0, + 2.042, + 3.125 + ], + "faces": { + "north": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "f56624bf-871f-1db0-b110-bb54a328c8ee" + }, + { + "name": "ShotgunAmmo1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.95, + 2.55, + 0.75 + ], + "to": [ + -0.45, + 3.8, + 1.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -1.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 29, + 0, + 30, + 4 + ], + "texture": 0 + }, + "east": { + "uv": [ + 29, + 0, + 30, + 4 + ], + "texture": 0 + }, + "south": { + "uv": [ + 29, + 0, + 30, + 4 + ], + "texture": 0 + }, + "west": { + "uv": [ + 29, + 0, + 30, + 4 + ], + "texture": 0 + }, + "up": { + "uv": [ + 29, + 0, + 30, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 29, + 3, + 30, + 4 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "924b903b-ea64-6437-e2db-eb937c012d02" + }, + { + "name": "ShotgunAmmo2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.95, + 2.55, + 1.35 + ], + "to": [ + -0.45, + 3.8, + 1.85 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -1.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 29, + 0, + 30, + 4 + ], + "texture": 0 + }, + "east": { + "uv": [ + 29, + 0, + 30, + 4 + ], + "texture": 0 + }, + "south": { + "uv": [ + 29, + 0, + 30, + 4 + ], + "texture": 0 + }, + "west": { + "uv": [ + 29, + 0, + 30, + 4 + ], + "texture": 0 + }, + "up": { + "uv": [ + 29, + 0, + 30, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 29, + 3, + 30, + 4 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "8ac0cdd9-39e9-f5ea-2231-04330bb1615d" + }, + { + "name": "ShotgunAmmo3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.95, + 2.55, + 1.95 + ], + "to": [ + -0.45, + 3.8, + 2.45 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -1.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 29, + 0, + 30, + 4 + ], + "texture": 0 + }, + "east": { + "uv": [ + 29, + 0, + 30, + 4 + ], + "texture": 0 + }, + "south": { + "uv": [ + 29, + 0, + 30, + 4 + ], + "texture": 0 + }, + "west": { + "uv": [ + 29, + 0, + 30, + 4 + ], + "texture": 0 + }, + "up": { + "uv": [ + 29, + 0, + 30, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 29, + 3, + 30, + 4 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "53c44391-0e01-91a4-871a-6d17777b2520" + }, + { + "name": "ShotgunAmmo4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.95, + 2.55, + 2.55 + ], + "to": [ + -0.45, + 3.8, + 3.05 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -1.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 29, + 0, + 30, + 4 + ], + "texture": 0 + }, + "east": { + "uv": [ + 29, + 0, + 30, + 4 + ], + "texture": 0 + }, + "south": { + "uv": [ + 29, + 0, + 30, + 4 + ], + "texture": 0 + }, + "west": { + "uv": [ + 29, + 0, + 30, + 4 + ], + "texture": 0 + }, + "up": { + "uv": [ + 29, + 0, + 30, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 29, + 3, + 30, + 4 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "b630e0a5-cb37-7be1-da27-c152b30d4b37" + }, + { + "name": "ShotgunAmmo5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.95, + 2.55, + 3.15 + ], + "to": [ + -0.45, + 3.8, + 3.65 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -1.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 29, + 0, + 30, + 4 + ], + "texture": 0 + }, + "east": { + "uv": [ + 29, + 0, + 30, + 4 + ], + "texture": 0 + }, + "south": { + "uv": [ + 29, + 0, + 30, + 4 + ], + "texture": 0 + }, + "west": { + "uv": [ + 29, + 0, + 30, + 4 + ], + "texture": 0 + }, + "up": { + "uv": [ + 29, + 0, + 30, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 29, + 3, + 30, + 4 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "36bb3ff5-8724-f60f-4d5c-ab5dd2adacf4" + }, + { + "name": "ShotgunAmmo6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.95, + 2.55, + 3.75 + ], + "to": [ + -0.45, + 3.8, + 4.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -1.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 29, + 0, + 30, + 4 + ], + "texture": 0 + }, + "east": { + "uv": [ + 29, + 0, + 30, + 4 + ], + "texture": 0 + }, + "south": { + "uv": [ + 29, + 0, + 30, + 4 + ], + "texture": 0 + }, + "west": { + "uv": [ + 29, + 0, + 30, + 4 + ], + "texture": 0 + }, + "up": { + "uv": [ + 29, + 0, + 30, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 29, + 3, + 30, + 4 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "da1f5584-3579-ec6b-9aba-5145a81173c5" + }, + { + "name": "AmmoHolder1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 2.925, + 0.7 + ], + "to": [ + -0.45, + 3.425, + 4.3 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -1.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "7f61d459-a293-722d-9c7e-6008dc9f8f15" + }, + { + "name": "AmmoHolder2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 2.925, + 0.45 + ], + "to": [ + -0.45, + 3.425, + 0.7 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -1.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "108aaff2-5b12-e56b-1ac9-d77f3b716250" + }, + { + "name": "AmmoHolder3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 2.925, + 4.3 + ], + "to": [ + -0.45, + 3.425, + 4.55 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -1.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "bd8563ae-2391-e37b-7e56-bb2a7d0b1f43" + }, + { + "name": "Barrel", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.28275, + 3, + -3 + ], + "to": [ + 0.28275, + 3.5655, + -2.7672 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3, + 5 + ], + "faces": { + "north": { + "uv": [ + 23, + 29, + 30, + 36 + ], + "texture": 0 + }, + "east": { + "uv": [ + 23, + 29, + 24, + 30 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 23, + 29, + 24, + 30 + ], + "texture": 0 + }, + "up": { + "uv": [ + 23, + 29, + 24, + 30 + ], + "texture": 0 + }, + "down": { + "uv": [ + 23, + 29, + 24, + 30 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b8bf1ecf-d520-70cb-9c77-503900e229cf" + }, + { + "name": "Body1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3493, + 2.4345, + -2.7672 + ], + "to": [ + 0.3493, + 3.5655, + -2.3348 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3, + 5 + ], + "faces": { + "north": { + "uv": [ + 59, + 0, + 60, + 8.77 + ], + "texture": 0 + }, + "east": { + "uv": [ + 55, + 0, + 58.35, + 8.77 + ], + "texture": 0 + }, + "south": { + "uv": [ + 30, + 1, + 31, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 58.35, + 0, + 55, + 8.77 + ], + "texture": 0 + }, + "up": { + "uv": [ + 29, + 4.65, + 30, + 8 + ], + "texture": 0 + }, + "down": { + "uv": [ + 30, + 1, + 31, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "32af9d48-78a4-fd26-029a-d58a454e0969" + }, + { + "name": "Body2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3493, + 2.3015, + -2.3348 + ], + "to": [ + 0.3493, + 3.2662, + -2.102 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3, + 5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 53, + 0, + 54.81, + 7.48 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 54.81, + 0, + 53, + 7.48 + ], + "texture": 0 + }, + "up": { + "uv": [ + 30, + 1, + 31, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ad8da8ea-6502-b688-3688-a57e1670317e" + }, + { + "name": "Body3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3493, + 2.2349, + -2.102 + ], + "to": [ + 0.3493, + 3.2661, + 0.792 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3, + 5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 30, + 0, + 52.45, + 8 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 52.45, + 0, + 30, + 8 + ], + "texture": 0 + }, + "up": { + "uv": [ + 30, + 1, + 31, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 30, + 1, + 31, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "334230cd-99a3-0b9c-c7b7-1e496af3f270" + }, + { + "name": "BodyTip1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3993, + 2.2349, + -2.102 + ], + "to": [ + 0.3993, + 2.5675, + -0.6051 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3, + 5 + ], + "faces": { + "north": { + "uv": [ + 30, + 1, + 31, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 29, + 8, + 34, + 9 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 30, + 1, + 31, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 29, + 8, + 34, + 9 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 30, + 1, + 31, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 30, + 1, + 31, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c29c9a34-91f0-a0c5-3081-710b4365c927" + }, + { + "name": "BodyTip2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3993, + 2.3015, + -2.3348 + ], + "to": [ + 0.3993, + 2.6341, + -2.102 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3, + 5 + ], + "faces": { + "north": { + "uv": [ + 30, + 1, + 31, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 35, + 8, + 30, + 9 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 30, + 1, + 31, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 35, + 8, + 30, + 9 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 30, + 1, + 31, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 30, + 1, + 31, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f0fa3ce9-8fd6-1381-a57e-e5a7cf2cddc3" + }, + { + "name": "BodyTip3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3993, + 2.1018, + -2.0687 + ], + "to": [ + 0.3993, + 2.2349, + -1.8359 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3, + 5 + ], + "faces": { + "north": { + "uv": [ + 32, + 8, + 31, + 9 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 32, + 8, + 31, + 9 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 32, + 8, + 31, + 9 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 32, + 8, + 31, + 9 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 32, + 8, + 31, + 9 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "88881648-1dc4-261a-70ef-82b5a33d24e9" + }, + { + "name": "BodyTip4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3993, + 2.1018, + -1.7361 + ], + "to": [ + 0.3993, + 2.2349, + -1.47 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3, + 5 + ], + "faces": { + "north": { + "uv": [ + 32, + 8, + 31, + 9 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 32, + 8, + 31, + 9 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 32, + 8, + 31, + 9 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 32, + 8, + 31, + 9 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 32, + 8, + 31, + 9 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "b2344dbb-17d0-352d-58d4-1c8e74d6d9fb" + }, + { + "name": "BodyTip5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3993, + 2.1018, + -1.3037 + ], + "to": [ + 0.3993, + 2.2349, + -0.6051 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3, + 5 + ], + "faces": { + "north": { + "uv": [ + 32, + 8, + 31, + 9 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 32, + 8, + 31, + 9 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 32, + 8, + 31, + 9 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 32, + 8, + 31, + 9 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 32, + 8, + 31, + 9 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "b06a13d1-5272-aed8-1f81-8b1e4ac11d27" + }, + { + "name": "Body4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3493, + 2.2349, + 0.792 + ], + "to": [ + 0.3493, + 3.5654, + 2.9209 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3, + 5 + ], + "faces": { + "north": { + "uv": [ + 30, + 1, + 31, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 30, + 29.68, + 46.51, + 40 + ], + "texture": 0 + }, + "south": { + "uv": [ + 30, + 1, + 31, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 46.51, + 29.68, + 30, + 40 + ], + "texture": 0 + }, + "up": { + "uv": [ + 39.525, + 23, + 23.015, + 24 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 30, + 1, + 31, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "614d3887-8699-cece-9207-fbd86f53ad71" + }, + { + "name": "InnerBarrel", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.28275, + 3.2661, + -2.3348 + ], + "to": [ + 0.28275, + 3.4989, + 0.792 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3, + 5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 23, + 29, + 24, + 30 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 23, + 29, + 24, + 30 + ], + "texture": 0 + }, + "up": { + "uv": [ + 23, + 29, + 24, + 30 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e738d77d-4e4c-f357-c993-4b27942cf127" + }, + { + "name": "Sight1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.05, + 3.5655, + -2.734 + ], + "to": [ + 0.05, + 3.7651, + -2.368 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3, + 5 + ], + "faces": { + "north": { + "uv": [ + 30, + 1, + 31, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 30, + 1, + 31, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 30, + 1, + 31, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 30, + 1, + 31, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 30, + 1, + 31, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + } + }, + "type": "cube", + "uuid": "a22d2131-deb8-c0dc-94a0-e507981d3ff0" + }, + { + "name": "Sight2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.05, + 3.5655, + 1.856 + ], + "to": [ + 0.05, + 3.7318, + 2.2219 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3, + 5 + ], + "faces": { + "north": { + "uv": [ + 30, + 1, + 31, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 30, + 1, + 31, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 30, + 1, + 31, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 30, + 1, + 31, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 30, + 1, + 31, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + } + }, + "type": "cube", + "uuid": "e345d5db-c2d3-6ca0-4f74-689a57f2696a" + }, + { + "name": "Hammer1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2493, + 2.8336, + 2.9209 + ], + "to": [ + 0.2493, + 3.3758, + 3.2968 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3, + 5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 23, + 29, + 24, + 30 + ], + "texture": 0 + }, + "south": { + "uv": [ + 23, + 29, + 24, + 30 + ], + "texture": 0 + }, + "west": { + "uv": [ + 23, + 29, + 24, + 30 + ], + "texture": 0 + }, + "up": { + "uv": [ + 23, + 29, + 24, + 30 + ], + "texture": 0 + }, + "down": { + "uv": [ + 23, + 29, + 24, + 30 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "06e7e826-9c96-2551-c488-cdbe85d85ed8" + }, + { + "name": "Hammer2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2493, + 2.2349, + 2.9209 + ], + "to": [ + 0.2493, + 2.6341, + 3.3201 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3, + 5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 30, + 1, + 31, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 30, + 1, + 31, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 30, + 1, + 31, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 30, + 1, + 31, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 30, + 1, + 31, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d8934681-3a37-4229-59aa-343a2170eb6b" + }, + { + "name": "GripBase", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3493, + -0.3597, + 1.092 + ], + "to": [ + 0.3493, + 2.2349, + 2.7153 + ], + "autouv": 0, + "color": 0, + "inflate": -0.001, + "origin": [ + 0, + 3, + 5 + ], + "faces": { + "north": { + "uv": [ + 73, + 0, + 74, + 20.13 + ], + "texture": 0 + }, + "east": { + "uv": [ + 60.205, + 0, + 72.795, + 20.13 + ], + "texture": 0 + }, + "south": { + "uv": [ + 60, + 0, + 61, + 20.13 + ], + "texture": 0 + }, + "west": { + "uv": [ + 72.795, + 0, + 60.205, + 20.13 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "down": { + "uv": [ + 60, + 19, + 72.59, + 20 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "70856a7c-a020-84f0-26bf-52f956a9c99a" + }, + { + "name": "TriggerGuard1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.125, + 2.0018, + -0.3551 + ], + "to": [ + 0.125, + 2.2346, + 0.2104 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3, + 5 + ], + "faces": { + "north": { + "uv": [ + 30, + 1, + 31, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 30, + 1, + 31, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 30, + 1, + 31, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 30, + 1, + 31, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 30, + 1, + 31, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "87cb388f-0f87-23fb-89c8-83a99e9d1f4d" + }, + { + "name": "TriggerGuard2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.125, + 1.5533, + -0.1888 + ], + "to": [ + 0.125, + 2.0018, + 0.044 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3, + 5 + ], + "faces": { + "north": { + "uv": [ + 30, + 1, + 31, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 30, + 1, + 31, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 30, + 1, + 31, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 30, + 1, + 31, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 30, + 1, + 31, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8b7f51e5-c098-7fc2-3983-3a8d873e4d94" + }, + { + "name": "TriggerGuard3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.125, + 1.3205, + 0.044 + ], + "to": [ + 0.125, + 1.5533, + 1.4518 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3, + 5 + ], + "faces": { + "north": { + "uv": [ + 30, + 1, + 31, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 30, + 1, + 31, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 30, + 1, + 31, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 30, + 1, + 31, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 30, + 1, + 31, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b4cdf217-19b1-6bc5-fa37-0d6dc41c6188" + }, + { + "name": "Trigger", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.125, + 1.5948, + 0.8013 + ], + "to": [ + 0.125, + 2.2349, + 0.9943 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 23, + 0, + 0 + ], + "origin": [ + 0, + 2.2349, + 0.9943 + ], + "faces": { + "north": { + "uv": [ + 23, + 36, + 24, + 37 + ], + "texture": 0 + }, + "east": { + "uv": [ + 23, + 36, + 24, + 37 + ], + "texture": 0 + }, + "south": { + "uv": [ + 23, + 36, + 24, + 37 + ], + "texture": 0 + }, + "west": { + "uv": [ + 23, + 36, + 24, + 37 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 23, + 36, + 24, + 37 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "620ccbe3-9458-ff70-d9d7-2383297a15ef" + }, + { + "name": "Magazine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2993, + -0.6923, + 1.142 + ], + "to": [ + 0.2993, + -0.3597, + 2.4726 + ], + "autouv": 0, + "color": 0, + "inflate": -0.001, + "origin": [ + 0, + 3, + 5 + ], + "faces": { + "north": { + "uv": [ + 23, + 36, + 24, + 37 + ], + "texture": 0 + }, + "east": { + "uv": [ + 23, + 36, + 24, + 37 + ], + "texture": 0 + }, + "south": { + "uv": [ + 23, + 36, + 24, + 37 + ], + "texture": 0 + }, + "west": { + "uv": [ + 23, + 36, + 24, + 37 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 23, + 36, + 24, + 37 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d4144d17-2e6f-5c44-c4e9-f486e0ab78b7" + }, + { + "name": "MagazineLock", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.05, + -0.6258, + 2.4726 + ], + "to": [ + 0.05, + -0.3597, + 2.6653 + ], + "autouv": 0, + "color": 0, + "inflate": -0.001, + "origin": [ + 0, + 3, + 5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 30, + 1, + 31, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 30, + 1, + 31, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 30, + 1, + 31, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 30, + 1, + 31, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "11454324-9a27-85bf-54eb-06672beccb99" + } + ], + "outliner": [ + { + "name": "Gun", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "20fe1cca-22a6-ca36-3dc4-e85c7c10e012", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Barrel", + "origin": [ + -6, + -2.5, + 0 + ], + "color": 0, + "uuid": "d7856635-d222-d2e9-bdbf-56c7677628f3", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ea0fdb94-b8d7-6e5e-d652-47b269a54f0e", + "143f6d47-21fc-9b61-f984-0c62ef593202", + "8c687ed6-fa62-6a0d-9235-57de21be983b", + "953d0bc7-b736-c4c2-6444-b9808c689bff", + "ff2709e8-319c-87ce-a0ad-e41247d4c4fd", + "e632f264-a99c-2367-8405-e4ec909d4c6d", + "12f315e4-3b34-b01f-07d7-ad01f557be6a", + "d96a0c98-31cf-5f6a-e70d-5cc97a184792", + "59896e0f-974d-436a-2e36-f4f6496d29ab", + "cca1ddcd-8855-a752-69e1-2ea72202977e", + "c3985c55-c6aa-379f-3c0d-94281fb05069", + "80780249-4064-5b4c-2032-5b3164f5ca1c", + "5320bd8e-310d-f710-e807-e3625ae8e9a6", + "002b72bc-f499-9326-6b1f-eedd9fd98c2c", + "5a9a4840-b25d-2c46-23d1-572ae01274bf", + "698d955c-61b1-d703-a54a-aba30be16942", + "53150804-ff7d-1945-3743-4b411ce488c8", + "8cdf0e04-0a0f-163f-eb47-3f977655cd1d", + "123d28e0-f78f-d872-b40d-d98ce8051d86", + "5fe7220c-7f2a-16b2-7a2d-ec5fe4cc727e", + "708506c9-8bfc-3a74-8313-1e12b5f2959e", + "7af9c32c-077a-8aad-2724-170ad46541b7", + "a908e0fe-9151-1fbd-b11c-92196f622b18", + "6d39bc6b-90ac-5ae2-ce89-f51e424bc77d" + ] + }, + { + "name": "MagazineTube", + "origin": [ + 3, + -1.5, + 0 + ], + "color": 0, + "uuid": "6b1f1fb4-272d-ed02-da93-5b51db0694cd", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "7976e1ef-9523-be99-04a3-acae1ec9843c", + "5c539202-3e99-5131-cfe1-4859b6b5c355", + "2b985eb0-984c-31e7-0cc4-30e45b5cc279", + "675a739e-0260-8423-aee8-3e74d621ce0a", + "c05b81e5-4e4f-ec9a-bf93-e5974a05034d", + "82367864-b1d9-a7df-ae34-5d39f224d02b" + ] + }, + { + "name": "GunBody", + "origin": [ + 3, + -1.5, + 0 + ], + "color": 0, + "uuid": "63476026-5691-5957-2300-bc1ab0c5f7a8", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "84f74822-cea7-ed9c-78eb-8082b9aaec37", + "f92a19a0-dec4-aafe-eb0c-3bd42241e95c", + "924b903b-ea64-6437-e2db-eb937c012d02", + "8ac0cdd9-39e9-f5ea-2231-04330bb1615d", + "53c44391-0e01-91a4-871a-6d17777b2520", + "b630e0a5-cb37-7be1-da27-c152b30d4b37", + "36bb3ff5-8724-f60f-4d5c-ab5dd2adacf4", + "da1f5584-3579-ec6b-9aba-5145a81173c5", + "7f61d459-a293-722d-9c7e-6008dc9f8f15", + "108aaff2-5b12-e56b-1ac9-d77f3b716250", + "bd8563ae-2391-e37b-7e56-bb2a7d0b1f43" + ] + }, + { + "name": "RearGrip", + "origin": [ + 0, + 3.65, + 4.596 + ], + "rotation": [ + 11, + 0, + 0 + ], + "color": 0, + "uuid": "cfa619dc-915f-ba8d-1a4c-4f35e157be89", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "73153994-fb3f-97ba-67f1-696a0c2288d9", + "f91260b5-99a4-dd39-797c-59276cb89548", + "e2e6c407-2d41-919b-2191-b82412b62847", + "56c12641-c56f-0fa4-977f-951fa0182353", + "94bf19da-960f-e2cc-80b9-80056ce709ba", + { + "name": "Grip2", + "origin": [ + 0, + 3.65, + 4.596 + ], + "rotation": [ + 24, + 0, + 0 + ], + "color": 0, + "uuid": "e43d26e7-be73-ab59-b02e-838c9f115b42", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "9fd35e3a-37ea-3d65-9bda-aa01f5b9c036", + "79963540-a8fc-9907-eb3d-31c277fcb1be", + "6e12d8ec-3e47-3222-d263-f28dad05d903", + "e3b0b8ad-fb30-26b9-8193-b10c13a3b215" + ] + } + ] + }, + { + "name": "FrontGrip", + "origin": [ + 0, + 2.153, + 3.122 + ], + "rotation": [ + -12.8, + 0, + 0 + ], + "color": 0, + "uuid": "1ef9749f-ccda-ac76-470e-939b19a29f09", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "de7aadd6-877d-119e-6ff1-72969e644455", + "4cde4d21-69d7-5472-e345-9740821abe28" + ] + }, + { + "name": "Trigger", + "origin": [ + 3, + -1.5, + 0 + ], + "color": 0, + "uuid": "eece60a5-b7c5-cdca-8d59-ffd7c59ffb2c", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "be54a723-a8f6-4609-be4f-c2021d297bd0", + "75be783e-7a2c-0206-89fc-a477d67a9086", + "7d78e6f9-8eb8-b8d3-414f-76501180f0e8", + "3930b4f4-6dcf-e572-938f-45cb2aac4f76", + "b114345b-ca20-3325-61df-451132260841", + "f56624bf-871f-1db0-b110-bb54a328c8ee" + ] + }, + { + "name": "MuzzleAnchor", + "origin": [ + 0, + 3.338, + -8 + ], + "color": 0, + "uuid": "99d3ecd3-b825-dc3b-c762-f9b30c0db07b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "ExSkill4Anchor3", + "origin": [ + 0, + 3.338, + -9 + ], + "color": 0, + "uuid": "00599eb2-ad70-5599-211d-a38d3956b951", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "ExSkill4Anchor4", + "origin": [ + 0, + 4.338, + -8 + ], + "color": 0, + "uuid": "df8a3d04-e3bb-2ae3-b6b4-46de154f82ea", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + { + "name": "SubGun", + "origin": [ + 0, + 2.61251, + -0.43178 + ], + "color": 0, + "uuid": "e036cd42-c1e0-8ae9-4097-96234540b8cb", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b8bf1ecf-d520-70cb-9c77-503900e229cf", + "e738d77d-4e4c-f357-c993-4b27942cf127", + "32af9d48-78a4-fd26-029a-d58a454e0969", + "ad8da8ea-6502-b688-3688-a57e1670317e", + "334230cd-99a3-0b9c-c7b7-1e496af3f270", + "614d3887-8699-cece-9207-fbd86f53ad71", + "c29c9a34-91f0-a0c5-3081-710b4365c927", + "f0fa3ce9-8fd6-1381-a57e-e5a7cf2cddc3", + "88881648-1dc4-261a-70ef-82b5a33d24e9", + "b2344dbb-17d0-352d-58d4-1c8e74d6d9fb", + "b06a13d1-5272-aed8-1f81-8b1e4ac11d27", + "a22d2131-deb8-c0dc-94a0-e507981d3ff0", + "e345d5db-c2d3-6ca0-4f74-689a57f2696a", + "06e7e826-9c96-2551-c488-cdbe85d85ed8", + "d8934681-3a37-4229-59aa-343a2170eb6b", + { + "name": "Grip", + "origin": [ + 0, + 2.2349, + 1.092 + ], + "rotation": [ + -17, + 0, + 0 + ], + "color": 0, + "uuid": "cce830c4-ce0d-97ab-f681-c55a3df5a35f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "70856a7c-a020-84f0-26bf-52f956a9c99a", + "d4144d17-2e6f-5c44-c4e9-f486e0ab78b7", + "11454324-9a27-85bf-54eb-06672beccb99" + ] + }, + "87cb388f-0f87-23fb-89c8-83a99e9d1f4d", + "8b7f51e5-c098-7fc2-3983-3a8d873e4d94", + "b4cdf217-19b1-6bc5-fa37-0d6dc41c6188", + "620ccbe3-9458-ff70-d9d7-2383297a15ef", + { + "name": "MuzzleAnchor2", + "origin": [ + 0, + 3.2828, + -3 + ], + "color": 0, + "uuid": "313ab809-5269-1526-d770-3972a294e118", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "ExSkill4Anchor1", + "origin": [ + 0, + 3.2828, + -4 + ], + "color": 0, + "uuid": "446aa0d7-2025-72cd-edaa-5decc66099a6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "ExSkill4Anchor2", + "origin": [ + 0, + 4.2828, + -3 + ], + "color": 0, + "uuid": "467d1870-5484-fbb0-552f-0331dc10f8ef", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + } + ], + "textures": [ + { + "path": "", + "name": "gun.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 74, + "height": 40, + "uv_width": 74, + "uv_height": 40, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "7bd4b824-3db6-476b-99e3-dde805a618f1", + "relative_path": "../../textures/gun.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEoAAAAoCAYAAABZ7GwgAAAAAXNSR0IArs4c6QAABcVJREFUaEPVmmtoHFUUx8+634rYkhRWgw/SrQnYKkb6SE1LJNs0tQqprVZCZQkBRQst5EMEBf1itVCV9QFq/RBKsRSCCQhtbUynEprSpK+I1ULSbIIPqFs0oEgp6Lpypt7JmTv3zj13drNZ75fdmT3nzDm/+d8zd2Y2Vjh2ufDP5gcAR09PD+yqXgnJh1e726nMK/DHn7/DHbcvdre5A33kQWMM7r8Oa56PccMVZVdbu9znP/D5YeOBH2tpK2SvTsDqtU2ebwxBIRAcp04ejU292VtAUNlvzsMLXw8EQHWmd8DBQ31egHuXJeHH6awvGRmuvO38nYPtS+uKAsBxnpmZAi4ohENjBkDl83mfATVubWvn5BOwqQRQDY80wkD/Zy4oBCbG+MUxT1EyHCOoeDweKDafz4MMSgDgTkdUKAbGk0FjoaL2bkpHOglcp0MHP4YHH2rQmp8fOwPJ++u93594fDsc+7Lf21YqKgwU7TcXRk97Z2NV44YC9p2m5hY4M3xKmZAO1JIli+Hyt+PcmiPZISRUFR3jl0a9TQoKIWWzk5BM1nmwrEHRA4nCcV/LxicDU/ajF1+G+vq7YWLiZ9j1yX635wlF4adQFYLCsaF5vRf+9PCI9721bQsMDR6PBIg6ySeDKixMURTSurXNcHZsGGI4LaIqiioMwTmZDwBW1gJ8NwOp7j0BUKKIZ55N+yDhfgqqaEKMADIoVX9CSDhYoGgAuUfJCjMpSsRateZRSHd2GuGUSlkqbhQUKkgM7FtaRTFOQElNUFE4sIfQvsFZ49gk8sZbH/rag6pHIRTa1MV2oEepeo1IZmjwC5u8rGy7urqgt7fX6IN9jSrX6GAw2Pb0TheeUNSCg7rtxBUvZbHyl2vgwPpfgHK69xV7Al3/zr53fHGEkioBFCYm9yixz3cLY5p6UVbn8pRFIHTQKWeCNd+K0inBukdFAYUHp7Di8bjvRpTeNlUKKOPKPExRpWyi9MzJ95dhsMqhKNbKPAwUFod96lpDNdTU1BgfT3AbWqWBwryNigp7eqAr3DRdhB+qQYBOJBIsjrlcDoTtkcN90LFzh+uniiVPac4B5OUBu0fJoDCh2d9yUFU9V5jYpn2HA2s+QOFSg8LEQm2ACVCzs7/6rnYyMFyEVlUt9XbH5KmHUHTj4oW5u28VKFXjNykKi6aDKk+lKLEm0/mZoFFQJgX6QHGmXuHk9xDbuCIQ16Qqk6JkZcgHEKCwePemu3sfICgKUFesDtjre99zV+bXfvrBxAnuuue+OUVxQEXtVQsJSuQsAysKVC73CyQSd4L8SfsVTkk69UQipkt72NSbT0XRk4sKfC7dUdRV230ehUFlSEZd/mdgA0rYis9yghJXT1MP09XtgeKCsTnQ5i3+p6CLFtm99sKcSv3ohVunbGcrR1RfFB88rvCjz4joPvwu4qtsMIbYT3PQ2UZlovSzKZoWwfWjYFX+8j6OjQBGwZYUiipYlIJpoqYE5RcQojjhJytDVpgOinwCqGJNOUX6nQNKpQouLK6i5Hg2fqLwKG2BDY0DigazTUZXMEdROhtTv2MXb2NoAiWDMW37ju04jvZ1/dvvZmzyVNqeOH7rvWE5BudAkacegkqlUoE6HMcBCgqXDTduBP8BYwJQKaBU6jFNmYCiuKBMUFS/l3ONpVNUGCQ2LK6i2rduc2N+euCAFS/6zxQrxwjGKlCqRZ8ptHJNwwElVuutm25N0aGvHJiemoRly+u8T93BF1JRuquaqimHQXZrswHV0bgOjoyeZUPC+JUICvPi3Cr4QHOuek3r20xq1f7+2qu7ORejyPGpo25lTG1sr3qefSbzfmFk5Bz09wf/NylumLNT05ELuTp5peygwqZcGEyuXwCGAHXz5l/us2vVHyVUBIUtPqYt99SzWW2XzNYESiczAbT9qa3QvfulsipKu3qWktU9BgmbOtpCBCi86slvRKi6dMHLDepfBVHyeEjw600AAAAASUVORK5CYII=" + } + ], + "animations": [ + { + "uuid": "7b05d1aa-9efa-10af-3456-222a207d2ee5", + "name": "ex_skill_1", + "loop": "hold", + "override": true, + "length": 4.6, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "20fe1cca-22a6-ca36-3dc4-e85c7c10e012": { + "name": "Gun", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 94.99527, + "y": 0.21782, + "z": -2.4905 + } + ], + "uuid": "7618aff9-af1f-fc03-8828-80284ced7040", + "time": 2.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 95, + "y": 0, + "z": 0 + } + ], + "uuid": "34c937bb-5db6-bbf2-430d-bbee655c018c", + "time": 2.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 66.75209, + "y": -0.59719, + "z": 34.71588 + } + ], + "uuid": "9ee63238-7b4f-7b0a-6488-86dd7eb14379", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 105.79085, + "y": 54.46884, + "z": -20.69609 + } + ], + "uuid": "d06000f6-62fc-99cd-1154-7ea48a68c92b", + "time": 3.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 68.16246, + "y": -3.11225, + "z": 1.14683 + } + ], + "uuid": "5a2f45ce-5683-b655-85b2-79a345d62ba3", + "time": 3.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 73.16491, + "y": -2.98811, + "z": 1.1413 + } + ], + "uuid": "d5405b88-1dbc-b874-a698-1528c5bdb2ce", + "time": 4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 63.16842, + "y": -3.2296, + "z": 1.16149 + } + ], + "uuid": "2989465a-2975-0aa4-55f4-e217e78a94d0", + "time": 4.1, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 68.16246, + "y": -3.11225, + "z": 1.14683 + } + ], + "uuid": "1dfdffad-08ba-05be-3c7e-840b63d1bc90", + "time": 4.6, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.39667, + -0.40333, + -0.40333 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.39667, + 0.40333, + 0.40333 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -5.5, + "y": 9, + "z": "0" + } + ], + "uuid": "8fc1653e-3200-acbb-2b98-c848aeb19f60", + "time": 2.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -5.5, + "y": 9, + "z": 0 + } + ], + "uuid": "43c94739-0bda-c5c5-089d-7c7e253bd8c7", + "time": 2.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -7.75, + "y": 9, + "z": -1.75 + } + ], + "uuid": "21f5eea6-2fe9-f018-d6fb-a048e38a659f", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -2.75, + "y": 10, + "z": 1.25 + } + ], + "uuid": "6b4bd577-a962-52c8-7fae-c0d08c851e84", + "time": 3.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -6, + "y": 8.75, + "z": -1 + } + ], + "uuid": "c9f68582-03c1-e04d-78a3-6b62259f4e20", + "time": 3.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -6, + "y": 8.75, + "z": -0.75 + } + ], + "uuid": "2a9f1071-20ef-409a-2d27-b2088381ba23", + "time": 4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -6, + "y": 8.75, + "z": -1.25 + } + ], + "uuid": "94393bfb-28d0-f92b-af16-2ac4e9f368b4", + "time": 4.1, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -6, + "y": 8.75, + "z": -1 + } + ], + "uuid": "4dcd832b-36d5-42b0-6991-27d776bea019", + "time": 4.6, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.40333 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.40333 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + }, + { + "uuid": "d6f1e5f0-4945-6db2-e7fa-3feb2191884c", + "name": "ex_skill_3", + "loop": "hold", + "override": true, + "length": 0.65, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "20fe1cca-22a6-ca36-3dc4-e85c7c10e012": { + "name": "Gun", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -273.84049, + "y": 6.50576, + "z": 2.29873 + } + ], + "uuid": "a70ab69b-f71f-766f-abbe-2c0754b3781a", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -226.03, + "y": 47.33, + "z": 58.52 + } + ], + "uuid": "e984ea00-2079-52c2-c39a-7bffed7e2fd5", + "time": 0.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -6, + "y": 9, + "z": 2 + } + ], + "uuid": "19a6abbc-013e-2095-172c-d809d1536314", + "time": 0.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -6, + "y": 7, + "z": 0 + } + ], + "uuid": "155b078c-a3b1-fcd0-1556-ca2b6e9c3c12", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + }, + { + "uuid": "e01a34f1-c16e-21f5-0c97-4277691aa5f6", + "name": "ex_skill_4", + "loop": "hold", + "override": true, + "length": 8.5, + "snapping": 20, + "selected": true, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "20fe1cca-22a6-ca36-3dc4-e85c7c10e012": { + "name": "Gun", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 90, + "y": 0, + "z": 15 + } + ], + "uuid": "8b31e6d3-20c4-9ac9-0a51-0d18008a0a05", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 60, + "y": 0, + "z": 0 + } + ], + "uuid": "d04c94ee-f4ca-4635-6f71-1c142f1aefee", + "time": 2.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 80, + "y": 0, + "z": 0 + } + ], + "uuid": "111f3376-ea39-2437-b386-6824cc086b0b", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 60, + "y": 0, + "z": 0 + } + ], + "uuid": "0c888e6d-7e42-954a-51a0-05e78f74269f", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 60.0945, + "y": 2.49762, + "z": 4.33287 + } + ], + "uuid": "e63bf2fc-436d-4c7d-52ab-0cdac483b72b", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 90, + "y": 0, + "z": 15 + } + ], + "uuid": "ee77a005-ca82-ca48-89c4-d20bd918c026", + "time": 2.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 60.09, + "y": 2.5, + "z": 4.33 + } + ], + "uuid": "db363f49-20ed-5f20-1416-00a9249f8379", + "time": 3.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -2.41, + "y": 2.5, + "z": 4.33 + } + ], + "uuid": "47ca6382-8adf-232e-8c4e-e2029be28530", + "time": 3.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -2.41, + "y": 2.5, + "z": 4.33 + } + ], + "uuid": "66b1bec9-8846-6370-b8eb-4c5396012d99", + "time": 4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -2.85418, + "y": 32.46999, + "z": 2.90199 + } + ], + "uuid": "85af4e27-a466-2dd1-fbad-ddcd46fcdfa2", + "time": 4.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 48.93899, + "y": 11.0596, + "z": 17.8778 + } + ], + "uuid": "28df256d-5200-82ec-07f6-9e47b505688e", + "time": 4.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 48.94, + "y": 11.06, + "z": 17.88 + } + ], + "uuid": "97cc7251-e7ab-e5d5-021d-cdf4303a0c26", + "time": 5.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 31.94305, + "y": 3.12026, + "z": -61.0732 + } + ], + "uuid": "44990b9b-939c-cec9-5272-6d7b1d4a61be", + "time": 5.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 31.94, + "y": 3.12, + "z": -61.07 + } + ], + "uuid": "f62ffadc-4dd1-da4b-0814-c3e68c3ede0b", + "time": 5.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 157.99045, + "y": 24.78328, + "z": 67.75724 + } + ], + "uuid": "6fed272f-e832-5b37-cd7f-fc0dee5c2f3b", + "time": 6.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 74.96137, + "y": 1.15849, + "z": 22.26105 + } + ], + "uuid": "80a3570b-f80c-b00a-4a9c-058379b77bc6", + "time": 6.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 74.96, + "y": 1.16, + "z": 22.26 + } + ], + "uuid": "9465e61c-19ac-3711-5475-2a531a78117d", + "time": 7.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 76.90875, + "y": 47.73453, + "z": 20.52716 + } + ], + "uuid": "aaa952da-d5db-efe8-cbd1-8e774d1a374a", + "time": 7.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -6, + "y": 8, + "z": 0.5 + } + ], + "uuid": "86ab0bb9-e0fa-d71b-b183-a995ff1f3b7e", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -5.5, + "y": 8, + "z": -2 + } + ], + "uuid": "2055a453-649a-69e5-9d7c-381073449643", + "time": 2.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -5.5, + "y": 8, + "z": 0 + } + ], + "uuid": "c6c0ed88-142c-dc9f-a0b2-3dc9bb8f13ad", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -5.5, + "y": 8, + "z": -1.5 + } + ], + "uuid": "f01a0f13-4748-39b0-bb01-306799c638e2", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -6.25, + "y": 8, + "z": -2 + } + ], + "uuid": "fde46598-1637-483d-4ee4-138296f3cf61", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -6, + "y": 8, + "z": 0.5 + } + ], + "uuid": "f3d24637-3229-3bf6-c776-1294a6f26a0c", + "time": 2.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -6.25, + "y": 8, + "z": -2 + } + ], + "uuid": "49e83369-2d00-8af1-b3fa-3634759d6c8c", + "time": 3.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -6.25, + "y": 12, + "z": -7 + } + ], + "uuid": "a859d029-3d5a-0885-7f6a-dd0bb2380397", + "time": 3.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -6.25, + "y": 12, + "z": -7 + } + ], + "uuid": "4c49bbd4-fe47-36fc-5877-b871f788c264", + "time": 4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -8.25, + "y": 12, + "z": -5 + } + ], + "uuid": "4a17bdc4-8eec-1553-8906-b33cea2ee3ee", + "time": 4.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -6.75, + "y": 8, + "z": -3 + } + ], + "uuid": "93de51ba-e920-6f3e-46cf-7d895ed3b741", + "time": 4.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -6.75, + "y": 8, + "z": -3 + } + ], + "uuid": "5656cc75-99af-c6bc-ce38-48e0194379e5", + "time": 5.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -3.75, + "y": 11, + "z": -4 + } + ], + "uuid": "6280ddde-ab81-b208-85e4-f0369298d1ff", + "time": 5.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -3.75, + "y": 11, + "z": -4 + } + ], + "uuid": "8c25e2d2-6b5f-2d03-63e6-355cf559e17e", + "time": 5.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -4.75, + "y": 10, + "z": 5 + } + ], + "uuid": "c01edac0-dff5-158b-9d02-b179ca6b2b89", + "time": 6.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -7.25, + "y": 9, + "z": -0.5 + } + ], + "uuid": "22c57193-123f-36a1-8ec1-6516c3504dff", + "time": 6.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -7.25, + "y": 9, + "z": -0.5 + } + ], + "uuid": "c860f4b1-2472-de12-52d6-21ee810a8956", + "time": 7.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -6.5, + "y": 9, + "z": -1 + } + ], + "uuid": "1b3aa79d-9570-7465-73fa-27ae348307bd", + "time": 7.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "b04ba3f3-fc36-d9ba-8c5c-b997495fb65e", + "time": 7.15, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0.8", + "y": "0.8", + "z": "0.8" + } + ], + "uuid": "b0f7d7d5-a188-fcef-002d-6322d4d4808d", + "time": 7.45, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e036cd42-c1e0-8ae9-4097-96234540b8cb": { + "name": "SubGun", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 90, + "y": "0", + "z": "0" + } + ], + "uuid": "db0d5d3d-eb03-d19c-7932-9d7c8523517e", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 5.5, + "y": 8, + "z": -2.5 + } + ], + "uuid": "a9100de7-236f-8b24-c4ac-12c9cfa09514", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Hoshino/models/main.bbmodel b/config/yosbr/config/figura/avatars/Hoshino/models/main.bbmodel new file mode 100644 index 0000000..f967783 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/models/main.bbmodel @@ -0,0 +1,50702 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "main", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 64, + "height": 225 + }, + "elements": [ + { + "name": "Head", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 24, + -4 + ], + "to": [ + 4, + 32, + 4 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 8, + 16, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 8, + 8, + 16 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 8, + 32, + 16 + ], + "texture": 0 + }, + "west": { + "uv": [ + 16, + 8, + 24, + 16 + ], + "texture": 0 + }, + "up": { + "uv": [ + 16, + 8, + 8, + 0 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 0, + 16, + 8 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a66c63cf-0082-7797-3f4e-08ff434a1cac" + }, + { + "name": "HatLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 24, + -4 + ], + "to": [ + 4, + 32, + 4 + ], + "autouv": 0, + "color": 0, + "inflate": 0.5, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 32, + 0 + ], + "faces": { + "north": { + "uv": [ + 40, + 8, + 48, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 32, + 8, + 40, + 16 + ], + "texture": 0 + }, + "south": { + "uv": [ + 56, + 8, + 64, + 16 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 8, + 56, + 16 + ], + "texture": 0 + }, + "up": { + "uv": [ + 48, + 8, + 40, + 0 + ], + "texture": 0 + }, + "down": { + "uv": [ + 56, + 0, + 48, + 8 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d48552a8-9f0d-7335-2a82-794f3264fc9d" + }, + { + "name": "Body", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 12, + -2 + ], + "to": [ + 4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 16 + ], + "faces": { + "north": { + "uv": [ + 20, + 141, + 28, + 153 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 141, + 20, + 153 + ], + "texture": 0 + }, + "south": { + "uv": [ + 32, + 141, + 40, + 153 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 141, + 32, + 153 + ], + "texture": 0 + }, + "up": { + "uv": [ + 28, + 141, + 20, + 137 + ], + "texture": 0 + }, + "down": { + "uv": [ + 36, + 137, + 28, + 141 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "742e9ab7-8cdd-8d93-9a9a-88011f54d15b" + }, + { + "name": "BodyLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 12, + -2 + ], + "to": [ + 4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 32 + ], + "faces": { + "north": { + "uv": [ + 20, + 157, + 28, + 169 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 157, + 20, + 169 + ], + "texture": 0 + }, + "south": { + "uv": [ + 32, + 157, + 40, + 169 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 157, + 32, + 169 + ], + "texture": 0 + }, + "up": { + "uv": [ + 28, + 157, + 20, + 153 + ], + "texture": 0 + }, + "down": { + "uv": [ + 36, + 153, + 28, + 157 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2574fa9e-0d5f-502c-ce28-ef5cf30f41ec" + }, + { + "name": "RightArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 18, + -2 + ], + "to": [ + 7, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 44, + 141, + 47, + 147 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 141, + 44, + 147 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 141, + 54, + 147 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 141, + 51, + 147 + ], + "texture": 0 + }, + "up": { + "uv": [ + 47, + 141, + 44, + 137 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 121, + 0, + 121 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8831734e-ce90-e6bb-8368-e011a468277d" + }, + { + "name": "RightArmLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 18, + -2 + ], + "to": [ + 7, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 32 + ], + "faces": { + "north": { + "uv": [ + 44, + 157, + 47, + 163 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 157, + 44, + 163 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 157, + 54, + 163 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 157, + 51, + 163 + ], + "texture": 0 + }, + "up": { + "uv": [ + 47, + 157, + 44, + 153 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 121, + 0, + 121 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "cea7603d-ae80-e4e7-6f93-905551a79117" + }, + { + "name": "LeftArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 18, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 32, + 48 + ], + "faces": { + "north": { + "uv": [ + 36, + 173, + 39, + 179 + ], + "texture": 0 + }, + "east": { + "uv": [ + 32, + 173, + 36, + 179 + ], + "texture": 0 + }, + "south": { + "uv": [ + 43, + 173, + 46, + 179 + ], + "texture": 0 + }, + "west": { + "uv": [ + 39, + 173, + 43, + 179 + ], + "texture": 0 + }, + "up": { + "uv": [ + 39, + 173, + 36, + 169 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 121, + 0, + 121 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "af1aa9d5-0ccf-d579-b381-54ac7b12fb55" + }, + { + "name": "LeftArmLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 18, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 48, + 48 + ], + "faces": { + "north": { + "uv": [ + 52, + 173, + 55, + 179 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 173, + 52, + 179 + ], + "texture": 0 + }, + "south": { + "uv": [ + 59, + 173, + 62, + 179 + ], + "texture": 0 + }, + "west": { + "uv": [ + 55, + 173, + 59, + 179 + ], + "texture": 0 + }, + "up": { + "uv": [ + 55, + 173, + 52, + 169 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 121, + 0, + 121 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b74fb9e9-db24-b669-6f87-8469be63eda5" + }, + { + "name": "RightLeg", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 6, + -2 + ], + "to": [ + 4, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 4, + 141, + 8, + 147 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 141, + 4, + 147 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 141, + 16, + 147 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 141, + 12, + 147 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 141, + 4, + 137 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 148, + 4, + 144 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "da81ebbe-5b4e-2d46-144a-6f839ad6fa3c" + }, + { + "name": "RightLegLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 6, + -2 + ], + "to": [ + 4, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 32 + ], + "faces": { + "north": { + "uv": [ + 4, + 157, + 8, + 163 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 157, + 4, + 163 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 157, + 16, + 163 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 157, + 12, + 163 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 157, + 4, + 153 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 121, + 0, + 121 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "bcf37da3-caec-e8f2-bc82-76a3f169374c" + }, + { + "name": "LeftLeg", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 6, + -2 + ], + "to": [ + 0, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 48 + ], + "faces": { + "north": { + "uv": [ + 20, + 173, + 24, + 179 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 173, + 20, + 179 + ], + "texture": 0 + }, + "south": { + "uv": [ + 28, + 173, + 32, + 179 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 173, + 28, + 179 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 173, + 20, + 169 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 179, + 20, + 175 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "9c06bc9a-beae-98d9-e9ce-9c8e6ddbb9d3" + }, + { + "name": "LeftLegLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 6, + -2 + ], + "to": [ + 0, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 48 + ], + "faces": { + "north": { + "uv": [ + 4, + 173, + 8, + 179 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 173, + 4, + 179 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 173, + 16, + 179 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 173, + 12, + 179 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 173, + 4, + 169 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 121, + 0, + 121 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f8f1e7ad-7999-9f17-0488-5dcbd4af7945" + }, + { + "name": "EyeLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1, + 25, + -4.01 + ], + "to": [ + 4, + 28, + -4.01 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 32, + 6, + 38 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "7853e9a2-b429-5a00-5e0e-70449c3a71ee" + }, + { + "name": "EyeRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 25, + -4.01 + ], + "to": [ + -1, + 28, + -4.01 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 12, + 32, + 6, + 38 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "328a2de5-64bc-807b-5906-227bfceedf26" + }, + { + "name": "Mouth", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 24, + -4.01 + ], + "to": [ + 1, + 25, + -4.01 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 44, + 16, + 52 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d9d80373-4145-9e90-28de-12248a8075d9" + }, + { + "name": "HeadRing1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5.8825, + 36, + -4 + ], + "to": [ + 5.8825, + 36, + 4 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3, + 22, + -4 + ], + "faces": { + "north": { + "uv": [ + 0, + 22, + 0, + 22 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 22, + 0, + 22 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 22, + 0, + 22 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 22, + 0, + 22 + ], + "texture": null + }, + "up": { + "uv": [ + 28, + 76, + 53, + 93 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 22, + 0, + 22 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "48cfe147-8711-a325-c722-fe73d6c4d87a" + }, + { + "name": "RightArmBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 7, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 44, + 147, + 47, + 153 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 147, + 44, + 153 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 147, + 54, + 153 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 147, + 51, + 153 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 121, + 0, + 121 + ], + "texture": null + }, + "down": { + "uv": [ + 50, + 141, + 47, + 137 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "643f9c05-2d3c-e1d1-5a2f-874902eb1784" + }, + { + "name": "RightArmBottomLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 7, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 32 + ], + "faces": { + "north": { + "uv": [ + 44, + 163, + 47, + 169 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 163, + 44, + 169 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 163, + 54, + 169 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 163, + 51, + 169 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 121, + 0, + 121 + ], + "texture": null + }, + "down": { + "uv": [ + 50, + 157, + 47, + 153 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b1a76f47-912e-c2d4-8090-6f6ac9734672" + }, + { + "name": "LeftArmBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 12, + -2 + ], + "to": [ + -4, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 32, + 48 + ], + "faces": { + "north": { + "uv": [ + 36, + 179, + 39, + 185 + ], + "texture": 0 + }, + "east": { + "uv": [ + 32, + 179, + 36, + 185 + ], + "texture": 0 + }, + "south": { + "uv": [ + 43, + 179, + 46, + 185 + ], + "texture": 0 + }, + "west": { + "uv": [ + 39, + 179, + 43, + 185 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 121, + 0, + 121 + ], + "texture": null + }, + "down": { + "uv": [ + 42, + 173, + 39, + 169 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a82219a3-e344-a4d8-c85c-51462943a7dc" + }, + { + "name": "LeftArmBottomLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 12, + -2 + ], + "to": [ + -4, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 48, + 48 + ], + "faces": { + "north": { + "uv": [ + 52, + 179, + 55, + 185 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 179, + 52, + 185 + ], + "texture": 0 + }, + "south": { + "uv": [ + 59, + 179, + 62, + 185 + ], + "texture": 0 + }, + "west": { + "uv": [ + 55, + 179, + 59, + 185 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 121, + 0, + 121 + ], + "texture": null + }, + "down": { + "uv": [ + 58, + 173, + 55, + 169 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d7794b2f-dbb3-2cd5-c956-cd163b703976" + }, + { + "name": "RightLegBottomLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -2 + ], + "to": [ + 4, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 32 + ], + "faces": { + "north": { + "uv": [ + 4, + 163, + 8, + 169 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 163, + 4, + 169 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 163, + 16, + 169 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 163, + 12, + 169 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 121, + 0, + 121 + ], + "texture": null + }, + "down": { + "uv": [ + 12, + 157, + 8, + 153 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "72c6eff7-d0eb-2ffa-193f-2ca402bdc722" + }, + { + "name": "RightLegBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -2 + ], + "to": [ + 4, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 4, + 147, + 8, + 153 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 147, + 4, + 153 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 147, + 16, + 153 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 147, + 12, + 153 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 148, + 4, + 144 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 141, + 8, + 137 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8b1cc891-ffa8-9f46-ebc0-f0b84e6ffb15" + }, + { + "name": "LeftLegBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 0, + -2 + ], + "to": [ + 0, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 48 + ], + "faces": { + "north": { + "uv": [ + 20, + 179, + 24, + 185 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 179, + 20, + 185 + ], + "texture": 0 + }, + "south": { + "uv": [ + 28, + 179, + 32, + 185 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 179, + 28, + 185 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 180, + 20, + 176 + ], + "texture": 0 + }, + "down": { + "uv": [ + 28, + 173, + 24, + 169 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a1169ee6-6a78-c7c4-9214-670991206468" + }, + { + "name": "LeftLegBottomLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 0, + -2 + ], + "to": [ + 0, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 48 + ], + "faces": { + "north": { + "uv": [ + 4, + 179, + 8, + 185 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 179, + 4, + 185 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 179, + 16, + 185 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 179, + 12, + 185 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 121, + 0, + 121 + ], + "texture": null + }, + "down": { + "uv": [ + 12, + 173, + 8, + 169 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a5173990-504e-f5c4-45c7-9347880c1306" + }, + { + "name": "Camera2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -1, + 1 + ], + "to": [ + 1, + 1, + 4 + ], + "autouv": 1, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "south": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "west": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "up": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "down": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "c2175bbe-2cfe-5bd6-da67-98c3b6cd21ee" + }, + { + "name": "Camera3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 1, + 1.25 + ], + "to": [ + 0.5, + 2, + 2.25 + ], + "autouv": 1, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "south": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "west": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "up": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "down": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "7e6a5cd5-aefb-6095-d77f-adf6c4130742" + }, + { + "name": "Camera4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 1, + 2.75 + ], + "to": [ + 0.5, + 2, + 3.75 + ], + "autouv": 1, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "south": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "west": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "up": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "down": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "31aaec73-9e98-c58c-c0ed-6d915f491f85" + }, + { + "name": "Camera1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + -1.5, + 0 + ], + "to": [ + 1.5, + 1.5, + 1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "south": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "west": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "up": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "down": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8b47234a-9700-3da5-47db-8f75a6aab837" + }, + { + "name": "Cowlick1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.75, + 33.5, + -1.75 + ], + "to": [ + 0.75, + 34, + -1.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.25, + 32, + -1.25 + ], + "faces": { + "north": { + "uv": [ + 0, + 1.5, + 1, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 1.5, + 1, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 1.5, + 1, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 1.5, + 1, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 1.5, + 1, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "84700e6c-273b-3f4c-8190-3e5705736150" + }, + { + "name": "Cowlick4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.75, + 34, + -1.75 + ], + "to": [ + 0.75, + 35.25, + -1.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.25, + 34, + -1.25 + ], + "faces": { + "north": { + "uv": [ + 0, + 2, + 1, + 3.25 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 2, + 1, + 3.25 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 2, + 1, + 3.25 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 2, + 1, + 3.25 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5b081a61-35e4-502a-11b0-86f6859892cd" + }, + { + "name": "Cowlick5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.75, + 35.25, + -1.75 + ], + "to": [ + 0.75, + 36.5, + -1.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.25, + 35.25, + -1.25 + ], + "faces": { + "north": { + "uv": [ + 0, + 4.5, + 1, + 3.25 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 4.5, + 1, + 3.25 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 4.5, + 1, + 3.25 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 4.5, + 1, + 3.25 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 4, + 1, + 4.5 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "050b6ec9-5790-5fab-9db8-d9f399bc0baf" + }, + { + "name": "Cowlick6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 36.5, + -1.75 + ], + "to": [ + 0.5, + 37, + -1.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.25, + 36.5, + -1.25 + ], + "faces": { + "north": { + "uv": [ + 0, + 4.5, + 1, + 5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 4.5, + 1, + 5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 4.5, + 1, + 5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 4.5, + 1, + 5 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 4.5, + 1, + 5 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9a9075c7-be72-42c4-1f1d-15c849985b9c" + }, + { + "name": "Cowlick2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 32.5, + -1.75 + ], + "to": [ + 0.5, + 33.5, + -1.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.25, + 32, + -1.25 + ], + "faces": { + "north": { + "uv": [ + 0, + 0.5, + 1, + 1.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0.5, + 1, + 1.5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0.5, + 1, + 1.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0.5, + 1, + 1.5 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0.5, + 1, + 1.5 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "1a0ec34f-692d-19a5-8394-7f01907626a3" + }, + { + "name": "Cowlick3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.25, + 32, + -1.75 + ], + "to": [ + 0.25, + 32.5, + -1.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.25, + 32, + -1.25 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 0.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 0.5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 0.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 0.5 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "de55dfdb-535f-73d3-07e4-36d3e4170637" + }, + { + "name": "Cowlick7", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.25, + 37, + -1.75 + ], + "to": [ + 0.25, + 37.5, + -1.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.25, + 36.5, + -1.25 + ], + "faces": { + "north": { + "uv": [ + 0, + 5, + 1, + 5.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 5, + 1, + 5.5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 5, + 1, + 5.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 5, + 1, + 5.5 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 5, + 1, + 5.5 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "dc27f080-8d4b-1e33-24bd-e279eee105c1" + }, + { + "name": "Skirt1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.25, + 14, + -2.5 + ], + "to": [ + 4.25, + 16, + 2.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 5.25, + 65, + 13.75, + 67 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 65, + 5, + 67 + ], + "texture": 0 + }, + "south": { + "uv": [ + 19.25, + 65, + 27.75, + 67 + ], + "texture": 0 + }, + "west": { + "uv": [ + 14, + 65, + 19, + 67 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5.25, + 60, + 13.75, + 65 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 27, + 0, + 27 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "a03ded0c-5d12-72ee-b7eb-fca7a8e389d9" + }, + { + "name": "Skirt2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.5, + 11, + -3 + ], + "to": [ + 4.5, + 14, + 3 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 6, + 73, + 15, + 76 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 73, + 6, + 76 + ], + "texture": 0 + }, + "south": { + "uv": [ + 21, + 73, + 30, + 76 + ], + "texture": 0 + }, + "west": { + "uv": [ + 15, + 73, + 21, + 76 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 67, + 15, + 73 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 27, + 0, + 27 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9c9ca832-7320-9076-9d9e-71a25f702935" + }, + { + "name": "BackHairRight1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 12, + 1.5 + ], + "to": [ + 4, + 24, + 2.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -1, + 12, + 1.5 + ], + "faces": { + "north": { + "uv": [ + 35, + 60, + 30, + 72 + ], + "texture": 0 + }, + "east": { + "uv": [ + 34, + 60, + 35, + 72 + ], + "texture": 0 + }, + "south": { + "uv": [ + 30, + 60, + 35, + 72 + ], + "texture": 0 + }, + "west": { + "uv": [ + 30, + 60, + 31, + 72 + ], + "texture": 0 + }, + "up": { + "uv": [ + 35, + 60, + 30, + 61 + ], + "texture": 0 + }, + "down": { + "uv": [ + 35, + 71, + 30, + 72 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b1ad3fa2-9edb-83f4-30bf-6378a6cb31c7" + }, + { + "name": "BackHairRight2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 11, + 1.5 + ], + "to": [ + 0, + 12, + 2.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -1, + 12, + 1.5 + ], + "faces": { + "north": { + "uv": [ + 31, + 72, + 30, + 73 + ], + "texture": 0 + }, + "east": { + "uv": [ + 30, + 72, + 31, + 73 + ], + "texture": 0 + }, + "south": { + "uv": [ + 30, + 72, + 31, + 73 + ], + "texture": 0 + }, + "west": { + "uv": [ + 30, + 72, + 31, + 73 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 27, + 0, + 27 + ], + "texture": null + }, + "down": { + "uv": [ + 30, + 72, + 31, + 73 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "7e22a57a-808c-1561-8fd0-34e14d8e0f71" + }, + { + "name": "BackHairRight3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1, + 10, + 1.5 + ], + "to": [ + 3, + 12, + 2.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -1, + 12, + 1.5 + ], + "faces": { + "north": { + "uv": [ + 34, + 72, + 32, + 74 + ], + "texture": 0 + }, + "east": { + "uv": [ + 33, + 72, + 34, + 74 + ], + "texture": 0 + }, + "south": { + "uv": [ + 32, + 72, + 34, + 74 + ], + "texture": 0 + }, + "west": { + "uv": [ + 32, + 72, + 33, + 74 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 27, + 0, + 27 + ], + "texture": null + }, + "down": { + "uv": [ + 32, + 73, + 34, + 74 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "902cc710-eebf-80dc-f0fa-e6b97b404213" + }, + { + "name": "BackHairRight4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 9, + 1.5 + ], + "to": [ + 2, + 10, + 2.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -1, + 12, + 1.5 + ], + "faces": { + "north": { + "uv": [ + 33, + 74, + 31, + 75 + ], + "texture": 0 + }, + "east": { + "uv": [ + 32, + 74, + 33, + 75 + ], + "texture": 0 + }, + "south": { + "uv": [ + 31, + 74, + 33, + 75 + ], + "texture": 0 + }, + "west": { + "uv": [ + 31, + 74, + 32, + 75 + ], + "texture": 0 + }, + "up": { + "uv": [ + 31, + 74, + 33, + 75 + ], + "texture": 0 + }, + "down": { + "uv": [ + 31, + 74, + 33, + 75 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8a75d78f-0e56-0824-b1e3-3e4db5d39eef" + }, + { + "name": "BackHairLeft1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 12, + 1.5 + ], + "to": [ + 1, + 24, + 2.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 12, + 1.5 + ], + "faces": { + "north": { + "uv": [ + 30, + 60, + 35, + 72 + ], + "texture": 0 + }, + "east": { + "uv": [ + 31, + 60, + 30, + 72 + ], + "texture": 0 + }, + "south": { + "uv": [ + 35, + 60, + 30, + 72 + ], + "texture": 0 + }, + "west": { + "uv": [ + 35, + 60, + 34, + 72 + ], + "texture": 0 + }, + "up": { + "uv": [ + 30, + 60, + 35, + 61 + ], + "texture": 0 + }, + "down": { + "uv": [ + 30, + 71, + 35, + 72 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "424c4886-b0a3-e6f9-d996-8d484072ebb3" + }, + { + "name": "BackHairLeft2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 11, + 1.5 + ], + "to": [ + 1, + 12, + 2.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 12, + 1.5 + ], + "faces": { + "north": { + "uv": [ + 30, + 72, + 31, + 73 + ], + "texture": 0 + }, + "east": { + "uv": [ + 31, + 72, + 30, + 73 + ], + "texture": 0 + }, + "south": { + "uv": [ + 31, + 72, + 30, + 73 + ], + "texture": 0 + }, + "west": { + "uv": [ + 31, + 72, + 30, + 73 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 27, + 0, + 27 + ], + "texture": null + }, + "down": { + "uv": [ + 31, + 72, + 30, + 73 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2157b61f-9082-7572-6426-5a2f18657a57" + }, + { + "name": "BackHairLeft3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 10, + 1.5 + ], + "to": [ + -1, + 12, + 2.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 12, + 1.5 + ], + "faces": { + "north": { + "uv": [ + 32, + 72, + 34, + 74 + ], + "texture": 0 + }, + "east": { + "uv": [ + 33, + 72, + 32, + 74 + ], + "texture": 0 + }, + "south": { + "uv": [ + 34, + 72, + 32, + 74 + ], + "texture": 0 + }, + "west": { + "uv": [ + 34, + 72, + 33, + 74 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 27, + 0, + 27 + ], + "texture": null + }, + "down": { + "uv": [ + 34, + 73, + 32, + 74 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "165eac5b-7612-841e-a908-b7ce964d8b4d" + }, + { + "name": "BackHairLeft4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 9, + 1.5 + ], + "to": [ + 0, + 10, + 2.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 12, + 1.5 + ], + "faces": { + "north": { + "uv": [ + 31, + 74, + 33, + 75 + ], + "texture": 0 + }, + "east": { + "uv": [ + 32, + 74, + 31, + 75 + ], + "texture": 0 + }, + "south": { + "uv": [ + 33, + 74, + 31, + 75 + ], + "texture": 0 + }, + "west": { + "uv": [ + 33, + 74, + 32, + 75 + ], + "texture": 0 + }, + "up": { + "uv": [ + 33, + 74, + 31, + 75 + ], + "texture": 0 + }, + "down": { + "uv": [ + 33, + 74, + 31, + 75 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "572f2828-bcc0-c0af-207b-d12b828184e5" + }, + { + "name": "IDCardBackground", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 19.75, + -2.26 + ], + "to": [ + -2, + 22.75, + -2.26 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 25.5, + 0 + ], + "faces": { + "north": { + "uv": [ + 37, + 60, + 45, + 72 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 27, + 3, + 28 + ] + }, + "south": { + "uv": [ + 2, + 27, + 3, + 28 + ] + }, + "west": { + "uv": [ + 2, + 27, + 3, + 28 + ] + }, + "up": { + "uv": [ + 2, + 27, + 3, + 28 + ] + }, + "down": { + "uv": [ + 2, + 27, + 3, + 28 + ] + } + }, + "type": "cube", + "uuid": "6aec1694-0dfb-04d5-60eb-b3d358749d9b" + }, + { + "name": "AbydosLogo", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 20.25, + -2.27 + ], + "to": [ + -2, + 21.82, + -2.27 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 25.5, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 75.9, + 28, + 97.9 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 67, + 0, + 67 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 67, + 0, + 67 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 67, + 0, + 67 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 67, + 0, + 67 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 67, + 0, + 67 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5a1ba285-680d-1e03-975d-15e2baaec7f7" + }, + { + "name": "Tie1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 18.25, + -2 + ], + "to": [ + 1, + 22.25, + -2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + -1, + 18.75, + 5 + ], + "faces": { + "north": { + "uv": [ + 23, + 143, + 25, + 147 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 57, + 1, + 58 + ] + }, + "south": { + "uv": [ + 25, + 143, + 23, + 147 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 57, + 1, + 58 + ] + }, + "up": { + "uv": [ + 0, + 57, + 1, + 58 + ] + }, + "down": { + "uv": [ + 0, + 57, + 1, + 58 + ] + } + }, + "type": "cube", + "uuid": "cdc56021-e2a6-13c8-0dfe-7a8419ec1384" + }, + { + "name": "Tie2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 18.25, + -2 + ], + "to": [ + 1, + 19.25, + -2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 17.5, + 0, + 0 + ], + "origin": [ + 0, + 18.25, + -2 + ], + "faces": { + "north": { + "uv": [ + 23, + 146, + 25, + 147 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 57, + 1, + 58 + ] + }, + "south": { + "uv": [ + 25, + 146, + 23, + 147 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 57, + 1, + 58 + ] + }, + "up": { + "uv": [ + 0, + 57, + 1, + 58 + ] + }, + "down": { + "uv": [ + 0, + 57, + 1, + 58 + ] + } + }, + "type": "cube", + "uuid": "2052b52b-90c5-fc9e-973a-f5b168cb9cec" + }, + { + "name": "HeadRing2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.588, + 35.75, + -2.588 + ], + "to": [ + 2.588, + 35.75, + 2.588 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3, + 22, + -4 + ], + "faces": { + "north": { + "uv": [ + 0, + 22, + 0, + 22 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 22, + 0, + 22 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 22, + 0, + 22 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 22, + 0, + 22 + ], + "texture": null + }, + "up": { + "uv": [ + 53, + 76, + 64, + 87 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 22, + 0, + 22 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "2ed932df-a436-a6a9-6be9-fecaa321b6a9" + }, + { + "name": "HeadRing3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.1765, + 35.5, + -1.1765 + ], + "to": [ + 1.1765, + 35.5, + 1.1765 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3, + 22, + -4 + ], + "faces": { + "north": { + "uv": [ + 0, + 22, + 0, + 22 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 22, + 0, + 22 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 22, + 0, + 22 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 22, + 0, + 22 + ], + "texture": null + }, + "up": { + "uv": [ + 53, + 87, + 58, + 92 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 22, + 0, + 22 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "250a0f6f-e8fd-4ded-21a6-b73842730f8b" + }, + { + "name": "HairEndRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2, + 26, + -3.99 + ], + "to": [ + 4, + 30, + -1.99 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + 20 + ], + "origin": [ + 4, + 30, + -2.99 + ], + "faces": { + "north": { + "uv": [ + 8, + 12, + 6, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 12, + 8, + 16 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 12, + 8, + 16 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 6, + 14, + 8, + 16 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "7ceb25cf-9e75-77d7-a94d-a070738a7faf" + }, + { + "name": "Shield1_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -10, + 21.64, + -0.5 + ], + "to": [ + 2, + 22.3, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10, + 21, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 105, + 12, + 105.66 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 105, + 1, + 105.66 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 105, + 24, + 105.66 + ], + "texture": 0 + }, + "west": { + "uv": [ + 11, + 105, + 12, + 105.66 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 104.88, + 1, + 105.88 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 105, + 1, + 106 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "4ec342ef-0699-57cf-1191-8da34b16fe6e" + }, + { + "name": "Shield2_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -10, + 20.98, + -0.5 + ], + "to": [ + 2, + 21.64, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10, + 14, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 106, + 12, + 106.66 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 106, + 1, + 106.66 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 106.33, + 24, + 106.99 + ], + "texture": 0 + }, + "west": { + "uv": [ + 11, + 106, + 12, + 106.66 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 106, + 12, + 107 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 106, + 12, + 107 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d294b091-f0a6-bc57-446b-1426be1371f5" + }, + { + "name": "Shield3_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -10, + 7, + -0.5 + ], + "to": [ + 2, + 9.44, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10, + 7, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 119.21, + 12, + 121.65 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 118.88, + 1, + 119.88 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 119.21, + 24, + 121.65 + ], + "texture": 0 + }, + "west": { + "uv": [ + 11, + 118.88, + 12, + 119.88 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 118.88, + 12, + 119.88 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 121, + 1, + 122 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "658cacb0-387d-8109-1683-dbd01b2eef3f" + }, + { + "name": "Shield1_5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -9, + 24.08, + -0.5 + ], + "to": [ + -8.5, + 26.52, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10, + 21, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 10.5, + 100.44, + 11, + 102.88 + ], + "texture": 0 + }, + "east": { + "uv": [ + 10, + 100.44, + 11, + 102.88 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 102, + 13, + 103 + ], + "texture": 0 + }, + "west": { + "uv": [ + 10, + 100.44, + 11, + 102.88 + ], + "texture": 0 + }, + "up": { + "uv": [ + 11, + 100, + 12, + 101 + ], + "texture": 0 + }, + "down": { + "uv": [ + 11, + 102, + 12, + 103 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2d6d7173-6e0f-2768-355b-4d04e53e8d25" + }, + { + "name": "Shield1_8", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -10, + 26.52, + -0.5 + ], + "to": [ + -9, + 28.3, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10, + 21, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 11, + 98.99, + 12, + 100.77 + ], + "texture": 0 + }, + "east": { + "uv": [ + 11, + 98.99, + 12, + 100.77 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 98.99, + 13, + 100.77 + ], + "texture": 0 + }, + "west": { + "uv": [ + 11, + 98.99, + 12, + 100.77 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "down": { + "uv": [ + 11, + 99.44, + 12, + 100.44 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "823d09a7-4a0e-fa88-7e78-1d431bf082eb" + }, + { + "name": "Shield3_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -9, + 9.44, + -0.5 + ], + "to": [ + 1, + 11.88, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10, + 7, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 1, + 116.77, + 11, + 119.21 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 116.44, + 2, + 118.88 + ], + "texture": 0 + }, + "south": { + "uv": [ + 13, + 116.77, + 23, + 119.21 + ], + "texture": 0 + }, + "west": { + "uv": [ + 10, + 116.44, + 11, + 118.88 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "cb14c939-8f0b-1c71-d7d9-9dcf04d1380e" + }, + { + "name": "Shield3_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -10, + 11.88, + -0.5 + ], + "to": [ + 2, + 14.32, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10, + 7, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 114.33, + 12, + 116.77 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 114, + 1, + 116.44 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 114.33, + 24, + 116.77 + ], + "texture": 0 + }, + "west": { + "uv": [ + 11, + 114, + 12, + 116.44 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 114, + 12, + 115 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 115.44, + 12, + 116.44 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c380d7da-0652-df62-3974-5a0a26d90b5d" + }, + { + "name": "ShieldMark", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -6, + 24, + -0.51 + ], + "to": [ + -2, + 27.5294, + -0.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10, + 21, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 122, + 17, + 137 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 27, + 0, + 27 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 27, + 0, + 27 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 27, + 0, + 27 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 27, + 0, + 27 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 27, + 0, + 27 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ee0e694a-ac30-63a8-2a8d-cc980e5828b2" + }, + { + "name": "IronHorus", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7.5, + 23, + -0.51 + ], + "to": [ + -0.5, + 23.7778, + -0.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10, + 21, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 17, + 122, + 62, + 127 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 27, + 0, + 27 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 27, + 0, + 27 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 27, + 0, + 27 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 27, + 0, + 27 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 27, + 0, + 27 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "aa3fcbf7-941c-0cbc-b1b7-52d8d914565e" + }, + { + "name": "Handle1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5, + 28.96, + -0.25 + ], + "to": [ + -3, + 29.21, + 0.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10, + 21, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b14c3c85-24cf-43b4-53c9-99382a5d0775" + }, + { + "name": "Handle2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -6.5, + 29.21, + -0.25 + ], + "to": [ + -1.5, + 29.46, + 0.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10, + 21, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "92526b79-ca9e-b4bb-b066-00984f86433f" + }, + { + "name": "Handle3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + 29.21, + -0.25 + ], + "to": [ + -0.92, + 29.46, + 0.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + -60 + ], + "origin": [ + -1.5, + 29.46, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f213b2f3-cda0-aeac-a3b7-393ea2b93f5b" + }, + { + "name": "Handle4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7.08, + 29.21, + -0.25 + ], + "to": [ + -6.5, + 29.46, + 0.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + 60 + ], + "origin": [ + -6.5, + 29.46, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 98, + 0, + 99 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 98, + 0, + 99 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 98, + 0, + 99 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 98, + 0, + 99 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 98, + 0, + 99 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "35f9cf1a-e85b-0701-e470-1f3b0adbd279" + }, + { + "name": "Handle2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5, + 6.75, + -0.25 + ], + "to": [ + -3, + 7, + 0.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10, + 14.9, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 99, + 1, + 98 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 99, + 1, + 98 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 99, + 1, + 98 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 99, + 1, + 98 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "451400f1-c808-cf5f-dc70-7b22a7f35276" + }, + { + "name": "Handle3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -6.5, + 6.5, + -0.25 + ], + "to": [ + -1.5, + 6.75, + 0.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10, + 14.9, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 99, + 1, + 98 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 99, + 1, + 98 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 99, + 1, + 98 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 99, + 1, + 98 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "cb63d173-5f59-c61b-dff2-9b656cb79b06" + }, + { + "name": "Handle4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + 6.5, + -0.25 + ], + "to": [ + -0.92, + 6.75, + 0.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + 60 + ], + "origin": [ + -1.5, + 6.5, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 99, + 1, + 98 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 99, + 1, + 98 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 99, + 1, + 98 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 99, + 1, + 98 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 99, + 1, + 98 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a73ce784-4b61-870e-a553-5cba894eef3e" + }, + { + "name": "Handle5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7.08, + 6.5, + -0.25 + ], + "to": [ + -6.5, + 6.75, + 0.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + -60 + ], + "origin": [ + -6.5, + 6.5, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 99, + 0, + 98 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 99, + 0, + 98 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 99, + 0, + 98 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 99, + 0, + 98 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 99, + 0, + 98 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c49f89a4-bd12-27d4-bf97-0b0828a04e5e" + }, + { + "name": "SidePin1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2, + 20.245, + -0.375 + ], + "to": [ + 2.25, + 20.995, + 0.375 + ], + "autouv": 0, + "color": 0, + "origin": [ + -4, + 21.66, + 0.5 + ], + "faces": { + "north": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "west": { + "uv": [ + 12, + 116, + 12, + 116 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "cd0c34b3-0bbb-f97b-0b1e-1d694fb3a171" + }, + { + "name": "SidePin2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2, + 14.995, + -0.375 + ], + "to": [ + 2.25, + 15.745, + 0.375 + ], + "autouv": 0, + "color": 0, + "origin": [ + -4, + 21.66, + 0.5 + ], + "faces": { + "north": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "west": { + "uv": [ + 12, + 116, + 12, + 116 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "1db1264f-9247-7b9a-306c-d2d3bd6f5c1d" + }, + { + "name": "SidePin4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -10.25, + 14.995, + -0.375 + ], + "to": [ + -10, + 15.745, + 0.375 + ], + "autouv": 0, + "color": 0, + "origin": [ + -4, + 21.66, + 0.5 + ], + "faces": { + "north": { + "uv": [ + 25, + 116, + 24, + 117 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 116, + 12, + 116 + ], + "texture": 0 + }, + "south": { + "uv": [ + 25, + 116, + 24, + 117 + ], + "texture": 0 + }, + "west": { + "uv": [ + 25, + 116, + 24, + 117 + ], + "texture": 0 + }, + "up": { + "uv": [ + 25, + 116, + 24, + 117 + ], + "texture": 0 + }, + "down": { + "uv": [ + 25, + 116, + 24, + 117 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2599c61d-16e8-9d4f-e8fb-63767a83f579" + }, + { + "name": "SidePin3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -10.25, + 20.245, + -0.375 + ], + "to": [ + -10, + 20.995, + 0.375 + ], + "autouv": 0, + "color": 0, + "origin": [ + -4, + 21.66, + 0.5 + ], + "faces": { + "north": { + "uv": [ + 25, + 116, + 24, + 117 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 116, + 12, + 116 + ], + "texture": 0 + }, + "south": { + "uv": [ + 25, + 116, + 24, + 117 + ], + "texture": 0 + }, + "west": { + "uv": [ + 25, + 116, + 24, + 117 + ], + "texture": 0 + }, + "up": { + "uv": [ + 25, + 116, + 24, + 117 + ], + "texture": 0 + }, + "down": { + "uv": [ + 25, + 116, + 24, + 117 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "fa6c0727-8551-53be-601c-d09478392d6d" + }, + { + "name": "Shield2_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -10, + 14.98, + -0.5 + ], + "to": [ + -9, + 20.98, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10, + 14, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 11, + 107, + 12, + 113 + ], + "texture": 0 + }, + "east": { + "uv": [ + 11, + 107, + 12, + 113 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 107, + 13, + 113 + ], + "texture": 0 + }, + "west": { + "uv": [ + 11, + 107, + 12, + 113 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b4230d61-1718-3f3e-0e19-94dc0fd4cb1f" + }, + { + "name": "Shield3_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1, + 14.98, + -0.5 + ], + "to": [ + 2, + 20.98, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10, + 14, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 107, + 1, + 113 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 107, + 1, + 113 + ], + "texture": 0 + }, + "south": { + "uv": [ + 23, + 107, + 24, + 113 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 107, + 1, + 113 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "44d9f0a3-944b-12ee-36b9-33a4b38fa1a6" + }, + { + "name": "Shield2_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -10, + 14.32, + -0.5 + ], + "to": [ + 2, + 14.98, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10, + 14, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 113, + 12, + 113.66 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 113, + 1, + 113.66 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 113, + 24, + 113.66 + ], + "texture": 0 + }, + "west": { + "uv": [ + 11, + 113, + 12, + 113.66 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 113, + 12, + 114 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 113, + 12, + 114 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "1a07c4ee-7724-2382-9c12-910351031f97" + }, + { + "name": "Shield2_5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -9, + 14.98, + -0.5 + ], + "to": [ + 1, + 20.98, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10, + 14, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 1, + 107, + 11, + 113 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "south": { + "uv": [ + 13, + 107, + 23, + 113 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d454917d-f4d1-8fa2-eb98-bcdab738c2f4" + }, + { + "name": "Shield1_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -10, + 22.3, + -0.5 + ], + "to": [ + -9, + 24.08, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10, + 21, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 11, + 103.21, + 12, + 104.99 + ], + "texture": 0 + }, + "east": { + "uv": [ + 11, + 103.21, + 12, + 104.99 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 103.21, + 13, + 104.99 + ], + "texture": 0 + }, + "west": { + "uv": [ + 11, + 103.21, + 12, + 104.99 + ], + "texture": 0 + }, + "up": { + "uv": [ + 11, + 102.88, + 12, + 103.88 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "76b2d9b4-f2e7-318e-c47a-d3f89a4c22f0" + }, + { + "name": "Shield1_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1, + 22.3, + -0.5 + ], + "to": [ + 2, + 24.08, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10, + 21, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 103.21, + 1, + 104.99 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 103.21, + 1, + 104.99 + ], + "texture": 0 + }, + "south": { + "uv": [ + 23, + 103.21, + 24, + 104.99 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 103.21, + 1, + 104.99 + ], + "texture": 0 + }, + "up": { + "uv": [ + 11, + 102.88, + 12, + 103.88 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "891eedd4-41fe-22f3-a653-af2114846b32" + }, + { + "name": "Shield1_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -9, + 22.3, + -0.5 + ], + "to": [ + 1, + 24.08, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10, + 21, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 1, + 103.21, + 11, + 104.99 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "south": { + "uv": [ + 13, + 103.21, + 23, + 104.99 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "6511c063-0e6d-feb5-e67a-f06eec31b84d" + }, + { + "name": "Shield1_6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.5, + 24.08, + -0.5 + ], + "to": [ + 1, + 26.52, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10, + 21, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 1, + 100.44, + 1.5, + 102.88 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 100.44, + 2, + 102.88 + ], + "texture": 0 + }, + "south": { + "uv": [ + 23, + 102, + 24, + 103 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 100.44, + 2, + 102.88 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 100, + 1, + 101 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 102, + 1, + 103 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "9e610bb7-5a6d-3b19-127f-29cbe72d3c30" + }, + { + "name": "Shield1_7", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8.5, + 24.08, + -0.5 + ], + "to": [ + 0.5, + 26.52, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10, + 21, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 1, + 100.44, + 11, + 102.88 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 100.44, + 2, + 102.88 + ], + "texture": 0 + }, + "south": { + "uv": [ + 13.5, + 100.79, + 22.5, + 103.23 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 100.44, + 2, + 102.88 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 100, + 1, + 101 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 102, + 1, + 103 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e0ba3648-752b-d1bd-5fb9-ce7b32c7b9a3" + }, + { + "name": "Shield1_9", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1, + 26.52, + -0.5 + ], + "to": [ + 2, + 28.3, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10, + 21, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 98.99, + 1, + 100.77 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 98.99, + 1, + 100.77 + ], + "texture": 0 + }, + "south": { + "uv": [ + 23, + 98.99, + 24, + 100.77 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 98.99, + 1, + 100.77 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 99.44, + 1, + 100.44 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "1a1ceccf-4f8c-efed-85cd-4191373dae99" + }, + { + "name": "Shield1_10", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -10, + 28.3, + -0.5 + ], + "to": [ + 2, + 28.96, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10, + 21, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 98.33, + 12, + 98.99 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 98.33, + 1, + 98.99 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 98.33, + 24, + 98.99 + ], + "texture": 0 + }, + "west": { + "uv": [ + 11, + 98.33, + 12, + 98.99 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "86c21a5b-1777-a8f5-7e4a-1cffc452af71" + }, + { + "name": "Shield1_11", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -9, + 26.52, + -0.5 + ], + "to": [ + 1, + 28.3, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10, + 21, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 1, + 98.99, + 11, + 100.77 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "south": { + "uv": [ + 13, + 98.99, + 23, + 100.77 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d2c8aceb-37b7-5dd3-b32f-a8c8fcb4f49b" + }, + { + "name": "Shield2_6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.5, + 16.76, + 0 + ], + "to": [ + 1, + 19.2, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10, + 21, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "south": { + "uv": [ + 23, + 102, + 24, + 103 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 100.44, + 2, + 102.88 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 100, + 1, + 101 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 102, + 1, + 103 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "bd02af8b-023c-3996-fc3f-a551a0b3ff5b" + }, + { + "name": "Shield2_7", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -9, + 16.76, + 0 + ], + "to": [ + -8.5, + 19.2, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10, + 21, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "east": { + "uv": [ + 10, + 100.44, + 11, + 102.88 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 102, + 13, + 103 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "up": { + "uv": [ + 11, + 100, + 12, + 101 + ], + "texture": 0 + }, + "down": { + "uv": [ + 11, + 102, + 12, + 103 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "ac7abf28-132e-c9e5-80fd-e57aa4e0c514" + }, + { + "name": "GasCylinder1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8.375, + 22.3, + 0 + ], + "to": [ + -7.375, + 23.8, + 0.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10, + 21, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "1770009a-9b54-122f-9fcb-5cb317b09444" + }, + { + "name": "GasCylinder2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8.375, + 24.55, + 0 + ], + "to": [ + -7.375, + 25.05, + 0.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10, + 21, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 98, + 31, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "69d98225-2e8e-6b9a-7e07-feebee987bc4" + }, + { + "name": "GasCylinder3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8.25, + 23.8, + 0.25 + ], + "to": [ + -8, + 24.55, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10, + 21, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "1b3e5d49-9973-2782-541a-583ef227cf82" + }, + { + "name": "GasCylinder4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7.75, + 23.8, + 0.25 + ], + "to": [ + -7.5, + 24.55, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10, + 21, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "531a5feb-f1b3-29a5-4a78-b248290f3e7e" + }, + { + "name": "GasPiston", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8.25, + 22.2, + 0.5 + ], + "to": [ + -7.5, + 23.7, + 0.625 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10, + 22.4, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 31, + 102, + 24, + 116 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 102, + 25, + 103 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 102, + 31, + 116 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 102, + 25, + 103 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 102, + 25, + 103 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "37c6ea58-7587-d4f0-70dd-d3c94116d3f1" + }, + { + "name": "GasCylinder1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.625, + 22.3, + 0 + ], + "to": [ + 0.375, + 23.8, + 0.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2.25, + 21, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "71ebde27-589c-1209-02e2-afffd184ccde" + }, + { + "name": "GasCylinder2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.625, + 24.55, + 0 + ], + "to": [ + 0.375, + 25.05, + 0.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2.25, + 21, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 98, + 31, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "317dda16-1702-514b-601b-c6b0b3684b9f" + }, + { + "name": "GasCylinder3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 23.8, + 0.25 + ], + "to": [ + -0.25, + 24.55, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2.25, + 21, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "0c6bdd4b-72e8-3db3-8a96-cab8632edf57" + }, + { + "name": "GasCylinder4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 23.8, + 0.25 + ], + "to": [ + 0.25, + 24.55, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2.25, + 21, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "644dab24-020a-fb30-71b3-decb11781dbc" + }, + { + "name": "GasPiston", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 22.2, + 0.5 + ], + "to": [ + 0.25, + 23.7, + 0.625 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2.25, + 22.4, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 31, + 102, + 24, + 116 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 102, + 25, + 103 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 102, + 31, + 116 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 102, + 25, + 103 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 102, + 25, + 103 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "999407e6-3ab9-cfbc-c8a6-bc6330a841d0" + }, + { + "name": "GasCylinder1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8.375, + 14.98, + 0 + ], + "to": [ + -7.375, + 16.48, + 0.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10, + 13.75, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "ba02850d-0c2c-e068-6585-11a14324a92b" + }, + { + "name": "GasCylinder2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8.375, + 17.23, + 0 + ], + "to": [ + -7.375, + 17.73, + 0.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10, + 13.75, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 98, + 31, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a4898b94-55b4-633b-e513-2318205e5c4b" + }, + { + "name": "GasCylinder3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8.25, + 16.48, + 0.25 + ], + "to": [ + -8, + 17.23, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10, + 13.75, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "08382b72-feb7-8ad0-3e39-2b9f19ce85c6" + }, + { + "name": "GasCylinder4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7.75, + 16.48, + 0.25 + ], + "to": [ + -7.5, + 17.23, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10, + 13.75, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "3e3f0a18-d2e8-da20-d486-2bc92218059f" + }, + { + "name": "GasPiston", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8.25, + 14.88, + 0.5 + ], + "to": [ + -7.5, + 16.38, + 0.625 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10, + 15.15, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 31, + 102, + 24, + 116 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 102, + 25, + 103 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 102, + 31, + 116 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 102, + 25, + 103 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 102, + 25, + 103 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8cf12780-f4cd-18b6-4f4c-a918bce158ea" + }, + { + "name": "GasCylinder1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.625, + 14.98, + 0 + ], + "to": [ + 0.375, + 16.48, + 0.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2.25, + 13.75, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "12a39a60-0769-8f6f-3a28-707f6fde8b2b" + }, + { + "name": "GasCylinder2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.625, + 17.23, + 0 + ], + "to": [ + 0.375, + 17.73, + 0.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2.25, + 13.75, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 98, + 31, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "29bc2a8c-341d-30a0-b03d-8fd745b50f34" + }, + { + "name": "GasCylinder3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 16.48, + 0.25 + ], + "to": [ + -0.25, + 17.23, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2.25, + 13.75, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "0094d3cd-e0f7-8354-ddf4-fca025e53260" + }, + { + "name": "GasCylinder4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 16.48, + 0.25 + ], + "to": [ + 0.25, + 17.23, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2.25, + 13.75, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2223e57a-d0d2-94be-4d05-ab23af7e9683" + }, + { + "name": "GasPiston", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 14.88, + 0.5 + ], + "to": [ + 0.25, + 16.38, + 0.625 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2.25, + 15.15, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 31, + 102, + 24, + 116 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 102, + 25, + 103 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 102, + 31, + 116 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 102, + 25, + 103 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 102, + 25, + 103 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "fb6f3cde-28a3-063b-3e97-95cb35a71a06" + }, + { + "name": "Hinge1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 21.515, + 0.5 + ], + "to": [ + -6, + 21.765, + 0.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10, + 21, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 24, + 116, + 29, + 117 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 116, + 29, + 117 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 116, + 29, + 117 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 116, + 29, + 117 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 116, + 29, + 117 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5936798b-8565-1462-a07f-758d37b73f07" + }, + { + "name": "Hinge2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 21.515, + 0.5 + ], + "to": [ + -1, + 21.765, + 0.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10, + 21, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 24, + 116, + 29, + 117 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 116, + 29, + 117 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 116, + 29, + 117 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 116, + 29, + 117 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 116, + 29, + 117 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e095958b-98fd-fad0-c43d-94b22406871e" + }, + { + "name": "Hinge4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 14.195, + -0.75 + ], + "to": [ + -1, + 14.445, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10, + 21, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 24, + 116, + 29, + 117 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 116, + 29, + 117 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 116, + 29, + 117 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 116, + 29, + 117 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "ec290cb2-e657-d75e-5ffa-7ed2923f4a2a" + }, + { + "name": "Hinge3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 14.195, + -0.75 + ], + "to": [ + -6, + 14.445, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10, + 21, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 24, + 116, + 29, + 117 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 116, + 29, + 117 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 116, + 29, + 117 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 116, + 29, + 117 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "58462b71-6410-21b9-c8ab-d3122f2b6d0b" + }, + { + "name": "ShotgunAmmo1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -6.95, + 22.5, + 0 + ], + "to": [ + -6.45, + 23.75, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10.1, + 21, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 120, + 25, + 121 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 117, + 25, + 118 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "0f0d9b0c-8eaa-a0ac-58ef-1b05bd673ad0" + }, + { + "name": "ShotgunAmmo2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -6.35, + 22.5, + 0 + ], + "to": [ + -5.85, + 23.75, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10.1, + 21, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 120, + 25, + 121 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 117, + 25, + 118 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "1c1b3173-77da-1105-a010-edc388c3e693" + }, + { + "name": "ShotgunAmmo3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5.75, + 22.5, + 0 + ], + "to": [ + -5.25, + 23.75, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10.1, + 21, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 120, + 25, + 121 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 117, + 25, + 118 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "3b18b715-3b45-e1d2-7d42-68053ab6c071" + }, + { + "name": "ShotgunAmmo4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5.15, + 22.5, + 0 + ], + "to": [ + -4.65, + 23.75, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10.1, + 21, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 120, + 25, + 121 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 117, + 25, + 118 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d88ac326-e659-c992-1a7c-ddfa423595a4" + }, + { + "name": "ShotgunAmmo5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.55, + 22.5, + 0 + ], + "to": [ + -4.05, + 23.75, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10.1, + 21, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 120, + 25, + 121 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 117, + 25, + 118 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e693f81d-64ae-efa6-6e2d-dc05e6538de2" + }, + { + "name": "ShotgunAmmo6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.95, + 22.5, + 0 + ], + "to": [ + -3.45, + 23.75, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10.1, + 21, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 120, + 25, + 121 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 117, + 25, + 118 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "202a6e55-4f3a-98a4-24b2-0b773003ddcf" + }, + { + "name": "ShotgunAmmo7", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.35, + 22.5, + 0 + ], + "to": [ + -2.85, + 23.75, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10.1, + 21, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 120, + 25, + 121 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 117, + 25, + 118 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "fd6e1d4e-3ed7-8cb7-645e-ce7164b147a5" + }, + { + "name": "ShotgunAmmo8", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.75, + 22.5, + 0 + ], + "to": [ + -2.25, + 23.75, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10.1, + 21, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 120, + 25, + 121 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 117, + 25, + 118 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "ec36cb15-43ff-38b3-85bd-ea7a72217a2a" + }, + { + "name": "ShotgunAmmo9", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.15, + 22.5, + 0 + ], + "to": [ + -1.65, + 23.75, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10.1, + 21, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 120, + 25, + 121 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 117, + 25, + 118 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "9a2dde9d-b147-8f24-73b8-46327460c0ce" + }, + { + "name": "ShotgunAmmo10", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.55, + 22.5, + 0 + ], + "to": [ + -1.05, + 23.75, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10.1, + 21, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 120, + 25, + 121 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 117, + 25, + 118 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "047cc6ba-389c-1800-5ed4-4098f024bd7a" + }, + { + "name": "AmmoHolder", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7.15, + 23, + 0 + ], + "to": [ + -0.85, + 23.5, + 0.6 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10.1, + 21, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f3a5e4bc-cb52-e349-0808-bf5d6564ddd9" + }, + { + "name": "ShotgunAmmo1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -6.95, + 15.18, + 0 + ], + "to": [ + -6.45, + 16.43, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10.1, + 14, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 120, + 25, + 121 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 117, + 25, + 118 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "82b3d445-1154-a2a9-b4bb-9f23994d8479" + }, + { + "name": "ShotgunAmmo2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -6.35, + 15.18, + 0 + ], + "to": [ + -5.85, + 16.43, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10.1, + 14, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 120, + 25, + 121 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 117, + 25, + 118 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "fa3d64ee-5268-c46e-b8e1-3078b27a4cc4" + }, + { + "name": "ShotgunAmmo3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5.75, + 15.18, + 0 + ], + "to": [ + -5.25, + 16.43, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10.1, + 14, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 120, + 25, + 121 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 117, + 25, + 118 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "67c8e342-c2e6-26c8-3682-80835f5447d9" + }, + { + "name": "ShotgunAmmo4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5.15, + 15.18, + 0 + ], + "to": [ + -4.65, + 16.43, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10.1, + 14, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 120, + 25, + 121 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 117, + 25, + 118 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "6e57571c-bdb7-53a9-cd58-eba72824fc98" + }, + { + "name": "ShotgunAmmo5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.55, + 15.18, + 0 + ], + "to": [ + -4.05, + 16.43, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10.1, + 14, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 120, + 25, + 121 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 117, + 25, + 118 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8a6a9f95-030b-c83f-bce9-d3ebd5fe4e6a" + }, + { + "name": "ShotgunAmmo6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.95, + 15.18, + 0 + ], + "to": [ + -3.45, + 16.43, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10.1, + 14, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 120, + 25, + 121 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 117, + 25, + 118 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "954d4f84-4d40-33d8-7b6f-096b66736c78" + }, + { + "name": "ShotgunAmmo7", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.35, + 15.18, + 0 + ], + "to": [ + -2.85, + 16.43, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10.1, + 14, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 120, + 25, + 121 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 117, + 25, + 118 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "26bff43a-ae2c-e90b-0512-205dc301264a" + }, + { + "name": "ShotgunAmmo8", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.75, + 15.18, + 0 + ], + "to": [ + -2.25, + 16.43, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10.1, + 14, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 120, + 25, + 121 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 117, + 25, + 118 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "3b721e9a-6c97-020e-d1b1-4502d646a8df" + }, + { + "name": "ShotgunAmmo9", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.15, + 15.18, + 0 + ], + "to": [ + -1.65, + 16.43, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10.1, + 14, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 120, + 25, + 121 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 117, + 25, + 118 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "7cc66387-c14b-e1d1-6598-8abce8428c9f" + }, + { + "name": "ShotgunAmmo10", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.55, + 15.18, + 0 + ], + "to": [ + -1.05, + 16.43, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10.1, + 14, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 121, + 25, + 117 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 120, + 25, + 121 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 117, + 25, + 118 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "74271dbd-d64a-c1a2-69ee-a2dc1d2beb7e" + }, + { + "name": "AmmoHolder", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7.15, + 15.68, + 0 + ], + "to": [ + -0.85, + 16.18, + 0.6 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10.1, + 14, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "656a0418-b03b-a21a-f283-17ad85aef3dc" + }, + { + "name": "ShieldHandle1_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -6.75, + 20.41, + 0 + ], + "to": [ + -6.25, + 20.91, + 1 + ], + "autouv": 0, + "color": 0, + "origin": [ + -5, + 21.66, + 0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "98bde78a-f2b6-6fac-061d-b7b2feb9146e" + }, + { + "name": "ShieldHandle1_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -6.75, + 18.66, + 0.75 + ], + "to": [ + -6.25, + 20.41, + 1.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + -5, + 21.66, + 0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "1a8f2248-3de7-6fa4-ffba-aac445b3bf19" + }, + { + "name": "ShieldHandle1_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -6.75, + 18.16, + 0 + ], + "to": [ + -6.25, + 18.66, + 1 + ], + "autouv": 0, + "color": 0, + "origin": [ + -5, + 21.66, + 0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "90b23913-bcf7-ef7c-5db6-74618f01ea36" + }, + { + "name": "ShieldHandle1_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.75, + 20.41, + 0 + ], + "to": [ + -1.25, + 20.91, + 1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 21.66, + 0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "4f9a80f2-4c75-2793-8cbd-80b438334905" + }, + { + "name": "ShieldHandle1_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.875, + 18.66, + 0.625 + ], + "to": [ + -1.125, + 20.41, + 1.375 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 21.66, + 0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2baf0cb2-f886-6101-f910-782fa8e14baf" + }, + { + "name": "ShieldHandle1_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.75, + 18.16, + 0 + ], + "to": [ + -1.25, + 18.66, + 1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 21.66, + 0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 98, + 1, + 99 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "27e61175-b2ff-5150-0e68-d448986d2e92" + }, + { + "name": "ShieldButton", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.125, + 19.535, + 0.925 + ], + "to": [ + -1.025, + 20.035, + 1.075 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 21.66, + 0.5 + ], + "faces": { + "north": { + "uv": [ + 26, + 99, + 27, + 100 + ], + "texture": 0 + }, + "east": { + "uv": [ + 26, + 99, + 27, + 100 + ], + "texture": 0 + }, + "south": { + "uv": [ + 26, + 99, + 27, + 100 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 98, + 0, + 98 + ], + "texture": 0 + }, + "up": { + "uv": [ + 26, + 99, + 27, + 100 + ], + "texture": 0 + }, + "down": { + "uv": [ + 26, + 99, + 27, + 100 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a0bfad86-2f4b-1858-3dc4-4ef1fe84eaa4" + }, + { + "name": "Hook1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2.1, + 14.62, + -0.05 + ], + "to": [ + 2.2, + 15.37, + 0.05 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -30, + 0, + 0 + ], + "origin": [ + 2.15, + 15.37, + 0 + ], + "faces": { + "north": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "914c6ff3-3994-4566-3d4f-52886628b605" + }, + { + "name": "Hook2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2.1, + 14.62, + -0.05 + ], + "to": [ + 2.2, + 15.37, + 0.05 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 30, + 0, + 0 + ], + "origin": [ + 2.15, + 15.37, + 0 + ], + "faces": { + "north": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "0e507539-e503-af90-73ec-5d2465bea261" + }, + { + "name": "Hook3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2.1, + 14.67, + -0.375 + ], + "to": [ + 2.2, + 14.77, + 0.375 + ], + "autouv": 0, + "color": 0, + "origin": [ + 2.15, + 15.37, + 0 + ], + "faces": { + "north": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 116, + 25, + 117 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8ce9f1f4-f36b-9d82-81ff-92db6eadd8a1" + }, + { + "name": "BeltFront2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2.15, + 5.17, + -0.375 + ], + "to": [ + 2.15, + 11.67, + 0.375 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 2.15, + 11.67, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 27, + 0, + 27 + ], + "texture": null + }, + "east": { + "uv": [ + 25, + 117, + 26, + 118 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 27, + 0, + 27 + ], + "texture": null + }, + "west": { + "uv": [ + 25, + 117, + 26, + 118 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 27, + 0, + 27 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 27, + 0, + 27 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ff75cb54-6b72-d8e0-1539-4eb24f5285e0" + }, + { + "name": "BeltFront1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2.15, + 11.67, + -0.375 + ], + "to": [ + 2.15, + 14.67, + 0.375 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 2.15, + 15.37, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 27, + 0, + 27 + ], + "texture": null + }, + "east": { + "uv": [ + 43, + 98, + 48, + 118 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 27, + 0, + 27 + ], + "texture": null + }, + "west": { + "uv": [ + 43, + 98, + 48, + 118 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 27, + 0, + 27 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 27, + 0, + 27 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e28af088-3154-e468-5733-a06b9b6f7589" + }, + { + "name": "Hook1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -10.2, + 14.62, + -0.05 + ], + "to": [ + -10.1, + 15.37, + 0.05 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -30, + 0, + 0 + ], + "origin": [ + -10.15, + 15.37, + 0 + ], + "faces": { + "north": { + "uv": [ + 25, + 116, + 24, + 117 + ], + "texture": 0 + }, + "east": { + "uv": [ + 25, + 116, + 24, + 117 + ], + "texture": 0 + }, + "south": { + "uv": [ + 25, + 116, + 24, + 117 + ], + "texture": 0 + }, + "west": { + "uv": [ + 25, + 116, + 24, + 117 + ], + "texture": 0 + }, + "up": { + "uv": [ + 25, + 116, + 24, + 117 + ], + "texture": 0 + }, + "down": { + "uv": [ + 25, + 116, + 24, + 117 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e5552453-9503-d52b-da44-821e8489778c" + }, + { + "name": "Hook2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -10.2, + 14.62, + -0.05 + ], + "to": [ + -10.1, + 15.37, + 0.05 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 30, + 0, + 0 + ], + "origin": [ + -10.15, + 15.37, + 0 + ], + "faces": { + "north": { + "uv": [ + 25, + 116, + 24, + 117 + ], + "texture": 0 + }, + "east": { + "uv": [ + 25, + 116, + 24, + 117 + ], + "texture": 0 + }, + "south": { + "uv": [ + 25, + 116, + 24, + 117 + ], + "texture": 0 + }, + "west": { + "uv": [ + 25, + 116, + 24, + 117 + ], + "texture": 0 + }, + "up": { + "uv": [ + 25, + 116, + 24, + 117 + ], + "texture": 0 + }, + "down": { + "uv": [ + 25, + 116, + 24, + 117 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "755dd87f-34d3-6a6b-12c3-fccb9bee26dc" + }, + { + "name": "Hook3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -10.2, + 14.67, + -0.375 + ], + "to": [ + -10.1, + 14.77, + 0.375 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10.15, + 15.37, + 0 + ], + "faces": { + "north": { + "uv": [ + 25, + 116, + 24, + 117 + ], + "texture": 0 + }, + "east": { + "uv": [ + 25, + 116, + 24, + 117 + ], + "texture": 0 + }, + "south": { + "uv": [ + 25, + 116, + 24, + 117 + ], + "texture": 0 + }, + "west": { + "uv": [ + 25, + 116, + 24, + 117 + ], + "texture": 0 + }, + "up": { + "uv": [ + 25, + 116, + 24, + 117 + ], + "texture": 0 + }, + "down": { + "uv": [ + 25, + 116, + 24, + 117 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "97b26ef9-aef1-95f8-6bf5-e1516c21cd72" + }, + { + "name": "BeltFront1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -10.15, + 11.67, + -0.375 + ], + "to": [ + -10.15, + 14.67, + 0.375 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + -10.15, + 15.37, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 27, + 0, + 27 + ], + "texture": null + }, + "east": { + "uv": [ + 48, + 98, + 43, + 118 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 27, + 0, + 27 + ], + "texture": null + }, + "west": { + "uv": [ + 48, + 98, + 43, + 118 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 27, + 0, + 27 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 27, + 0, + 27 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "adb15aca-0d0f-70b6-1200-88e84c97b972" + }, + { + "name": "BeltFront2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -10.15, + 5.32, + -0.375 + ], + "to": [ + -10.15, + 11.67, + 0.375 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + -10.15, + 11.67, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 27, + 0, + 27 + ], + "texture": null + }, + "east": { + "uv": [ + 26, + 117, + 25, + 118 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 27, + 0, + 27 + ], + "texture": null + }, + "west": { + "uv": [ + 26, + 117, + 25, + 118 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 27, + 0, + 27 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 27, + 0, + 27 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "2941a094-4296-bea2-68cd-793d2c4eb3a7" + }, + { + "name": "BeltFront3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2.15, + 3.67, + -0.5 + ], + "to": [ + 2.15, + 5.17, + 0.5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 2.15, + 11.67, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 27, + 0, + 27 + ], + "texture": null + }, + "east": { + "uv": [ + 26, + 122, + 29, + 118 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 27, + 0, + 27 + ], + "texture": null + }, + "west": { + "uv": [ + 26, + 122, + 29, + 118 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 27, + 0, + 27 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 27, + 0, + 27 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "7c1dfeb9-6f0f-d351-943b-32664cedf0e4" + }, + { + "name": "BeltFront3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -10.15, + 3.32, + -0.5 + ], + "to": [ + -10.15, + 5.32, + 0.5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 2.15, + 11.67, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 27, + 0, + 27 + ], + "texture": null + }, + "east": { + "uv": [ + 25, + 122, + 28, + 118 + ], + "texture": 0 + }, + "south": { + "uv": [ + 26, + 122, + 29, + 117 + ], + "texture": 0 + }, + "west": { + "uv": [ + 26, + 122, + 29, + 117 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 27, + 0, + 27 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 27, + 0, + 27 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "3a6abfa1-06ad-c9b6-f3c3-f257ca46879a" + }, + { + "name": "BeltCenter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2.15, + -0.59, + -0.5 + ], + "to": [ + 2.15, + 3.67, + 0.5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 2.15, + 11.42, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 27, + 0, + 27 + ], + "texture": null + }, + "east": { + "uv": [ + 26, + 118, + 29, + 117 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 27, + 0, + 27 + ], + "texture": null + }, + "west": { + "uv": [ + 26, + 118, + 29, + 117 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 27, + 0, + 27 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 27, + 0, + 27 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "183e980e-63ed-739c-ec41-b15d09871224" + }, + { + "name": "HairEndLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 26, + -3.99 + ], + "to": [ + -2, + 30, + -1.99 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + -20 + ], + "origin": [ + -4, + 30, + -2.99 + ], + "faces": { + "north": { + "uv": [ + 18, + 12, + 16, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 16, + 12, + 18, + 16 + ], + "texture": 0 + }, + "west": { + "uv": [ + 16, + 12, + 18, + 16 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 16, + 14, + 18, + 16 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "9fc18b09-fa23-b4bc-cf76-502630dc811d" + }, + { + "name": "Face", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 24, + -4 + ], + "to": [ + 3, + 29, + -4 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 24, + 0, + 30, + 5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d6ab704c-e079-a030-b7fc-f0918f9a0036" + } + ], + "outliner": [ + { + "name": "Avatar", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "e98e96cf-993b-878e-02b8-777c368bb888", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Head", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "22d40862-bd19-a16d-9e33-79364e6656d8", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a66c63cf-0082-7797-3f4e-08ff434a1cac", + "d48552a8-9f0d-7335-2a82-794f3264fc9d", + { + "name": "FaceParts", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "db381b6c-e0d3-6ca8-6433-4371d36cc6c6", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Eyes", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "25d20f6a-b84c-5105-726d-79a4fc3a5a4d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "7853e9a2-b429-5a00-5e0e-70449c3a71ee", + "328a2de5-64bc-807b-5906-227bfceedf26", + { + "name": "RightSpyglassPivot", + "origin": [ + 2, + 26, + -4 + ], + "color": 0, + "uuid": "d775a8e4-818b-b21e-93df-fdb4456fefc8", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "LeftSpyglassPivot", + "origin": [ + -2, + 26, + -4 + ], + "color": 0, + "uuid": "5e757c9d-cb7e-d074-a20f-d95f46e96872", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + "d9d80373-4145-9e90-28de-12248a8075d9", + "d6ab704c-e079-a030-b7fc-f0918f9a0036" + ] + }, + { + "name": "HeadRing", + "origin": [ + 0, + 28, + 0 + ], + "color": 0, + "uuid": "e8809cb5-a507-86d8-da91-c79b1d4d233e", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "HR", + "origin": [ + 0, + 28, + 0 + ], + "rotation": [ + 20, + 0, + 0 + ], + "color": 0, + "uuid": "0cd68392-7449-b71f-1a06-07a574e3f886", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "48cfe147-8711-a325-c722-fe73d6c4d87a", + "2ed932df-a436-a6a9-6be9-fecaa321b6a9", + "250a0f6f-e8fd-4ded-21a6-b73842730f8b" + ] + } + ] + }, + { + "name": "Cowlick", + "origin": [ + 0, + 32, + -1.25 + ], + "rotation": [ + -20, + 40, + 0 + ], + "color": 0, + "uuid": "bdc6af74-e6b2-c615-3ca2-61a45cb4a26f", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "84700e6c-273b-3f4c-8190-3e5705736150", + "1a0ec34f-692d-19a5-8394-7f01907626a3", + "de55dfdb-535f-73d3-07e4-36d3e4170637", + { + "name": "Cowlick4", + "origin": [ + -0.25, + 34, + -1.25 + ], + "rotation": [ + -50, + 0, + 0 + ], + "color": 0, + "uuid": "bb170951-a755-bfd0-c2f7-5faab409eb91", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "5b081a61-35e4-502a-11b0-86f6859892cd", + { + "name": "Cowlick5", + "origin": [ + -0.25, + 35.25, + -1.25 + ], + "rotation": [ + -50, + 0, + 0 + ], + "color": 0, + "uuid": "83bf74a7-c7aa-c492-bf7f-39f291b0b21d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "050b6ec9-5790-5fab-9db8-d9f399bc0baf", + { + "name": "Cowlick6", + "origin": [ + -0.25, + 36.5, + -1.25 + ], + "rotation": [ + -40, + 0, + 0 + ], + "color": 0, + "uuid": "8529be98-62d7-50ab-9e0a-5eb978173b78", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "9a9075c7-be72-42c4-1f1d-15c849985b9c", + "dc27f080-8d4b-1e33-24bd-e279eee105c1" + ] + } + ] + } + ] + } + ] + }, + { + "name": "HairEnds", + "origin": [ + 4, + 24.5, + -4.25 + ], + "color": 0, + "uuid": "a7378e81-219c-fe24-5188-87b5bab041c2", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "7ceb25cf-9e75-77d7-a94d-a070738a7faf", + "9fc18b09-fa23-b4bc-cf76-502630dc811d" + ] + }, + { + "name": "HelmetPivot", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "f5a40897-30dc-eeb8-1309-3766c73b43da", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "HelmetItemPivot", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "41bc6dc8-d266-7db5-4ccf-eeaf02321250", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + { + "name": "UpperBody", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "16d22746-633e-382e-dd96-b35bde99daa5", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Body", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "bf4dd57f-d0f7-1fe0-98e6-59e00f97f41b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "742e9ab7-8cdd-8d93-9a9a-88011f54d15b", + "2574fa9e-0d5f-502c-ce28-ef5cf30f41ec", + { + "name": "Hairs", + "origin": [ + 0, + 24, + 2.5 + ], + "color": 0, + "uuid": "83705797-bc00-22d5-18ba-a3a7fc830e9f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "BackHair", + "origin": [ + 0, + 24, + 2 + ], + "rotation": [ + -5, + 0, + 0 + ], + "color": 0, + "uuid": "36786a9e-fb6e-3cc0-cb85-bd4d31f61c87", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "BackHairLeft", + "origin": [ + 0, + 24, + 2 + ], + "rotation": [ + 0, + 0, + -10 + ], + "color": 0, + "uuid": "a62a00aa-23ef-7832-6322-f3c9af7bdbf0", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "424c4886-b0a3-e6f9-d996-8d484072ebb3", + "2157b61f-9082-7572-6426-5a2f18657a57", + "165eac5b-7612-841e-a908-b7ce964d8b4d", + "572f2828-bcc0-c0af-207b-d12b828184e5" + ] + }, + { + "name": "BackHairRight", + "origin": [ + 0, + 24, + 2 + ], + "rotation": [ + 0, + 0, + 10 + ], + "color": 0, + "uuid": "ef66904e-50a5-0a70-2e73-06fc3b0bb565", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b1ad3fa2-9edb-83f4-30bf-6378a6cb31c7", + "7e22a57a-808c-1561-8fd0-34e14d8e0f71", + "902cc710-eebf-80dc-f0fa-e6b97b404213", + "8a75d78f-0e56-0824-b1e3-3e4db5d39eef" + ] + } + ] + } + ] + }, + { + "name": "Skirt", + "origin": [ + 0, + 16, + 0 + ], + "color": 0, + "uuid": "dbf9777c-e939-2c26-5f62-37b023003a42", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a03ded0c-5d12-72ee-b7eb-fca7a8e389d9", + "9c9ca832-7320-9076-9d9e-71a25f702935" + ] + }, + { + "name": "IDCard", + "origin": [ + 0, + 25.5, + 0 + ], + "color": 0, + "uuid": "6e5f2f99-52b0-c96f-e2b5-5bf94ae14c2d", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "6aec1694-0dfb-04d5-60eb-b3d358749d9b", + "5a1ba285-680d-1e03-975d-15e2baaec7f7" + ] + }, + { + "name": "Tie", + "origin": [ + 0, + 22.25, + -2 + ], + "rotation": [ + 7.5, + 0, + 0 + ], + "color": 0, + "uuid": "8428c373-2c50-1e90-debc-94d00b97759b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "cdc56021-e2a6-13c8-0dfe-7a8419ec1384", + "2052b52b-90c5-fc9e-973a-f5b168cb9cec" + ] + }, + { + "name": "Shield", + "origin": [ + -4, + 19.535, + 0.5 + ], + "rotation": [ + 5, + 90, + 0 + ], + "color": 0, + "uuid": "37265d5a-6fdb-62b1-6a80-7ead9b8c6165", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Section3", + "origin": [ + -4, + 14.33, + -0.5 + ], + "color": 0, + "uuid": "f2cc95c4-212e-53d4-25a3-aab03f90592e", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Handle2", + "origin": [ + -10, + 14.9, + -0.5 + ], + "color": 0, + "uuid": "aff17f1f-7da8-a791-8882-a541ab23105c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "451400f1-c808-cf5f-dc70-7b22a7f35276", + "cb63d173-5f59-c61b-dff2-9b656cb79b06", + "a73ce784-4b61-870e-a553-5cba894eef3e", + "c49f89a4-bd12-27d4-bf97-0b0828a04e5e" + ] + }, + "658cacb0-387d-8109-1683-dbd01b2eef3f", + "cb14c939-8f0b-1c71-d7d9-9dcf04d1380e", + "c380d7da-0652-df62-3974-5a0a26d90b5d" + ] + }, + { + "name": "Section2", + "origin": [ + -4, + 14.32, + -0.5 + ], + "rotation": [ + -180, + 0, + 0 + ], + "color": 0, + "uuid": "bfdf46ba-1e68-e0bc-5589-849cc5015216", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d294b091-f0a6-bc57-446b-1426be1371f5", + "b4230d61-1718-3f3e-0e19-94dc0fd4cb1f", + "44d9f0a3-944b-12ee-36b9-33a4b38fa1a6", + "1a07c4ee-7724-2382-9c12-910351031f97", + "d454917d-f4d1-8fa2-eb98-bcdab738c2f4", + "bd02af8b-023c-3996-fc3f-a551a0b3ff5b", + "ac7abf28-132e-c9e5-80fd-e57aa4e0c514", + "cd0c34b3-0bbb-f97b-0b1e-1d694fb3a171", + "1db1264f-9247-7b9a-306c-d2d3bd6f5c1d", + "fa6c0727-8551-53be-601c-d09478392d6d", + "2599c61d-16e8-9d4f-e8fb-63767a83f579", + { + "name": "GasCylinder3", + "origin": [ + -10, + 13.75, + -0.5 + ], + "color": 0, + "uuid": "90f244d7-b1f8-5cba-3639-9139b324d0dd", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ba02850d-0c2c-e068-6585-11a14324a92b", + "a4898b94-55b4-633b-e513-2318205e5c4b", + "08382b72-feb7-8ad0-3e39-2b9f19ce85c6", + "3e3f0a18-d2e8-da20-d486-2bc92218059f", + { + "name": "GasPiston3", + "origin": [ + -7.875, + 16.38, + 0.5625 + ], + "color": 0, + "uuid": "82672d2b-5132-3c1a-b68a-3c6f334d61c9", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8cf12780-f4cd-18b6-4f4c-a918bce158ea" + ] + } + ] + }, + { + "name": "GasCylinder4", + "origin": [ + -2.25, + 13.75, + -0.5 + ], + "color": 0, + "uuid": "f5388d27-e1fb-65ac-08c9-a4c1f344b4d2", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "12a39a60-0769-8f6f-3a28-707f6fde8b2b", + "29bc2a8c-341d-30a0-b03d-8fd745b50f34", + "0094d3cd-e0f7-8354-ddf4-fca025e53260", + "2223e57a-d0d2-94be-4d05-ab23af7e9683", + { + "name": "GasPiston4", + "origin": [ + -0.125, + 16.38, + 0.5625 + ], + "color": 0, + "uuid": "7c44cb8d-3cc3-692f-1e67-d50a3ca5cfbf", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "fb6f3cde-28a3-063b-3e97-95cb35a71a06" + ] + } + ] + }, + "58462b71-6410-21b9-c8ab-d3122f2b6d0b", + "ec290cb2-e657-d75e-5ffa-7ed2923f4a2a", + { + "name": "ShotgunAmmos2", + "origin": [ + -10.1, + 14, + -0.5 + ], + "color": 0, + "uuid": "663a219b-7d8e-58bf-9871-e0b1b13dbae9", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "82b3d445-1154-a2a9-b4bb-9f23994d8479", + "fa3d64ee-5268-c46e-b8e1-3078b27a4cc4", + "67c8e342-c2e6-26c8-3682-80835f5447d9", + "6e57571c-bdb7-53a9-cd58-eba72824fc98", + "8a6a9f95-030b-c83f-bce9-d3ebd5fe4e6a", + "954d4f84-4d40-33d8-7b6f-096b66736c78", + "26bff43a-ae2c-e90b-0512-205dc301264a", + "3b721e9a-6c97-020e-d1b1-4502d646a8df", + "7cc66387-c14b-e1d1-6598-8abce8428c9f", + "74271dbd-d64a-c1a2-69ee-a2dc1d2beb7e", + "656a0418-b03b-a21a-f283-17ad85aef3dc" + ] + }, + { + "name": "ShieldHandles", + "origin": [ + -4, + 21.66, + 0.5 + ], + "color": 0, + "uuid": "b74b6a73-0c9d-078d-7345-92ae622e0f02", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "ShieldHandle1", + "origin": [ + -5, + 21.66, + 0.5 + ], + "color": 0, + "uuid": "5e046d1f-da71-99cb-46bc-87c30bb3a07a", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "98bde78a-f2b6-6fac-061d-b7b2feb9146e", + "1a8f2248-3de7-6fa4-ffba-aac445b3bf19", + "90b23913-bcf7-ef7c-5db6-74618f01ea36" + ] + }, + { + "name": "ShieldHandle2", + "origin": [ + 0, + 21.66, + 0.5 + ], + "color": 0, + "uuid": "58565793-acc4-3a0f-ba4e-e9c0533172ac", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4f9a80f2-4c75-2793-8cbd-80b438334905", + "2baf0cb2-f886-6101-f910-782fa8e14baf", + "27e61175-b2ff-5150-0e68-d448986d2e92", + "a0bfad86-2f4b-1858-3dc4-4ef1fe84eaa4" + ] + } + ] + }, + { + "name": "Section1", + "origin": [ + -4, + 21.64, + 0.5 + ], + "rotation": [ + -180, + 0, + 0 + ], + "color": 0, + "uuid": "8d326e35-0825-f688-c69c-a10c5603f382", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4ec342ef-0699-57cf-1191-8da34b16fe6e", + "76b2d9b4-f2e7-318e-c47a-d3f89a4c22f0", + "891eedd4-41fe-22f3-a653-af2114846b32", + "6511c063-0e6d-feb5-e67a-f06eec31b84d", + "2d6d7173-6e0f-2768-355b-4d04e53e8d25", + "9e610bb7-5a6d-3b19-127f-29cbe72d3c30", + "e0ba3648-752b-d1bd-5fb9-ce7b32c7b9a3", + "823d09a7-4a0e-fa88-7e78-1d431bf082eb", + "1a1ceccf-4f8c-efed-85cd-4191373dae99", + "86c21a5b-1777-a8f5-7e4a-1cffc452af71", + "d2c8aceb-37b7-5dd3-b32f-a8c8fcb4f49b", + "ee0e694a-ac30-63a8-2a8d-cc980e5828b2", + "aa3fcbf7-941c-0cbc-b1b7-52d8d914565e", + { + "name": "Handle", + "origin": [ + -10, + 21, + -0.5 + ], + "color": 0, + "uuid": "abaa4ef4-f055-6257-7d0a-c0db53d210e5", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b14c3c85-24cf-43b4-53c9-99382a5d0775", + "92526b79-ca9e-b4bb-b066-00984f86433f", + "f213b2f3-cda0-aeac-a3b7-393ea2b93f5b", + "35f9cf1a-e85b-0701-e470-1f3b0adbd279" + ] + }, + { + "name": "GasCylinder1", + "origin": [ + -10, + 21, + -0.5 + ], + "color": 0, + "uuid": "1b2a1caa-4bc2-83e4-4efa-1b8a02bb3d8a", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1770009a-9b54-122f-9fcb-5cb317b09444", + "69d98225-2e8e-6b9a-7e07-feebee987bc4", + "1b3e5d49-9973-2782-541a-583ef227cf82", + "531a5feb-f1b3-29a5-4a78-b248290f3e7e", + { + "name": "GasPiston1", + "origin": [ + -7.875, + 23.7, + 0.5625 + ], + "color": 0, + "uuid": "3f243e36-167c-f2bd-a25b-f61f18fb19a4", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "37c6ea58-7587-d4f0-70dd-d3c94116d3f1" + ] + } + ] + }, + { + "name": "GasCylinder2", + "origin": [ + -2.25, + 21, + -0.5 + ], + "color": 0, + "uuid": "1fa3452b-6a5f-729d-325f-3a4edc833377", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "71ebde27-589c-1209-02e2-afffd184ccde", + "317dda16-1702-514b-601b-c6b0b3684b9f", + "0c6bdd4b-72e8-3db3-8a96-cab8632edf57", + "644dab24-020a-fb30-71b3-decb11781dbc", + { + "name": "GasPiston2", + "origin": [ + -0.125, + 23.7, + 0.5625 + ], + "color": 0, + "uuid": "fd334492-d9f4-9e5c-0a1f-b8abfc82f2cb", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "999407e6-3ab9-cfbc-c8a6-bc6330a841d0" + ] + } + ] + }, + "5936798b-8565-1462-a07f-758d37b73f07", + "e095958b-98fd-fad0-c43d-94b22406871e", + { + "name": "ShotgunAmmos1", + "origin": [ + -10.1, + 21, + -0.5 + ], + "color": 0, + "uuid": "f8109147-b70a-c37a-78ac-9c1affbda162", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "0f0d9b0c-8eaa-a0ac-58ef-1b05bd673ad0", + "1c1b3173-77da-1105-a010-edc388c3e693", + "3b18b715-3b45-e1d2-7d42-68053ab6c071", + "d88ac326-e659-c992-1a7c-ddfa423595a4", + "e693f81d-64ae-efa6-6e2d-dc05e6538de2", + "202a6e55-4f3a-98a4-24b2-0b773003ddcf", + "fd6e1d4e-3ed7-8cb7-645e-ce7164b147a5", + "ec36cb15-43ff-38b3-85bd-ea7a72217a2a", + "9a2dde9d-b147-8f24-73b8-46327460c0ce", + "047cc6ba-389c-1800-5ed4-4098f024bd7a", + "f3a5e4bc-cb52-e349-0808-bf5d6564ddd9" + ] + } + ] + }, + { + "name": "ShoulderBelt", + "origin": [ + -4, + 15.37, + 0 + ], + "rotation": [ + 7.5, + 0, + 0 + ], + "color": 0, + "uuid": "79e3f4ec-cc97-3cce-06d2-92194fabc804", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "BeltFront", + "origin": [ + 2.15, + 15.37, + 0 + ], + "rotation": [ + 0, + 0, + -17.5 + ], + "color": 0, + "uuid": "10ab1c48-2d2b-fcb7-c3f5-6f78995793b9", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "BeltFrontHook", + "origin": [ + -3.9, + 2.32, + -0.5 + ], + "color": 0, + "uuid": "ef633f85-6105-30bb-cc8c-0c16024f116a", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "914c6ff3-3994-4566-3d4f-52886628b605", + "0e507539-e503-af90-73ec-5d2465bea261", + "8ce9f1f4-f36b-9d82-81ff-92db6eadd8a1" + ] + }, + "e28af088-3154-e468-5733-a06b9b6f7589", + "ff75cb54-6b72-d8e0-1539-4eb24f5285e0", + "7c1dfeb9-6f0f-d351-943b-32664cedf0e4", + { + "name": "BeltCenter", + "origin": [ + 2.15, + 3.67, + 0 + ], + "rotation": [ + 0, + -5, + -72.5 + ], + "color": 0, + "uuid": "93f68a58-8e8a-a4ab-d6d3-2eef631addd5", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "183e980e-63ed-739c-ec41-b15d09871224" + ] + } + ] + }, + { + "name": "BeltBack", + "origin": [ + -10.15, + 15.37, + 0 + ], + "rotation": [ + 0, + 0, + 22 + ], + "color": 0, + "uuid": "4771faeb-6296-b6c6-6943-4cdbae14bde4", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "BeltBackHook", + "origin": [ + -4.1, + 2.32, + -0.5 + ], + "color": 0, + "uuid": "3aa49656-5ae1-2588-99d4-f4ed4b4bdfa8", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e5552453-9503-d52b-da44-821e8489778c", + "755dd87f-34d3-6a6b-12c3-fccb9bee26dc", + "97b26ef9-aef1-95f8-6bf5-e1516c21cd72" + ] + }, + "adb15aca-0d0f-70b6-1200-88e84c97b972", + "3a6abfa1-06ad-c9b6-f3c3-f257ca46879a", + "2941a094-4296-bea2-68cd-793d2c4eb3a7" + ] + } + ] + } + ] + } + ] + }, + { + "name": "ChestplateBodyPivot", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "363cb287-01a3-8e05-95d1-28fb2ce1a8ad", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "BeltPivot", + "origin": [ + 0, + 12, + 0 + ], + "color": 0, + "uuid": "34d6477e-fc9e-8523-6a77-c202bbc8101b", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "NameplateAnchor", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "71b16a49-1da9-df63-2f72-f5272bb4b134", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + { + "name": "Arms", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "c062b0e8-6983-de4d-12e9-7b5ad9e81528", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightArm", + "origin": [ + 5, + 22, + 0 + ], + "color": 0, + "uuid": "3c1cb66d-8a31-d31f-ec9f-65a33e313a53", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8831734e-ce90-e6bb-8368-e011a468277d", + "cea7603d-ae80-e4e7-6f93-905551a79117", + { + "name": "RightArmBottom", + "origin": [ + 5, + 18, + 2 + ], + "color": 0, + "uuid": "b924539e-1292-1a17-6240-a525ae346090", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "643f9c05-2d3c-e1d1-5a2f-874902eb1784", + "b1a76f47-912e-c2d4-8090-6f6ac9734672", + { + "name": "RightItemPivot", + "origin": [ + 5.5, + 12, + -2 + ], + "color": 0, + "uuid": "f77eb5a1-0c86-2ec0-fa55-565b454784db", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + } + ] + }, + { + "name": "LeftArm", + "origin": [ + -5, + 22, + 0 + ], + "color": 0, + "uuid": "e7d3e5d8-00e4-587c-7bb6-6787db00054b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "af1aa9d5-0ccf-d579-b381-54ac7b12fb55", + "b74fb9e9-db24-b669-6f87-8469be63eda5", + { + "name": "LeftArmBottom", + "origin": [ + -5, + 18, + 2 + ], + "color": 0, + "uuid": "ad1c45ef-c0a8-6d31-d2dc-fbdc6ab7ddcc", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a82219a3-e344-a4d8-c85c-51462943a7dc", + "d7794b2f-dbb3-2cd5-c956-cd163b703976", + { + "name": "LeftItemPivot", + "origin": [ + -5.5, + 12, + -2 + ], + "color": 0, + "uuid": "4f31b2fe-139d-4fb3-f36f-3d5ed0997399", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + } + ] + } + ] + }, + { + "name": "LeftElytraPivot", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "34f8f1e3-7498-d32a-cbaa-e08af5c6b7e9", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "RightElytraPivot", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "884aa12d-4d86-c86f-f3ae-27294c5df1b1", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "LeftParrotPivot", + "origin": [ + -6.5, + 24, + 0 + ], + "color": 0, + "uuid": "29a158b7-4e78-b2e4-f4a6-a828afb1514f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "RightParrotPivot", + "origin": [ + 6.5, + 24, + 0 + ], + "color": 0, + "uuid": "7d993335-4efa-18af-e219-def6c191632a", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + { + "name": "LowerBody", + "origin": [ + 0, + 12, + 0 + ], + "color": 0, + "uuid": "2f61e368-1c06-648e-26d4-aee94647e4da", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Legs", + "origin": [ + 0, + 12, + 0 + ], + "color": 0, + "uuid": "29730186-2622-086d-ab67-4bb8e356bb6c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightLeg", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "4e80b5b4-7c04-8374-f8a7-526b3d36d050", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "da81ebbe-5b4e-2d46-144a-6f839ad6fa3c", + "bcf37da3-caec-e8f2-bc82-76a3f169374c", + { + "name": "RightLegBottom", + "origin": [ + 2, + 6, + -2 + ], + "color": 0, + "uuid": "84fe0b3a-286b-e17f-288e-c39feaa2e5e6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8b1cc891-ffa8-9f46-ebc0-f0b84e6ffb15", + "72c6eff7-d0eb-2ffa-193f-2ca402bdc722" + ] + } + ] + }, + { + "name": "LeftLeg", + "origin": [ + -2, + 12, + 0 + ], + "color": 0, + "uuid": "73b3d6bc-af0b-a066-5d73-f3938109e11f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "9c06bc9a-beae-98d9-e9ce-9c8e6ddbb9d3", + "f8f1e7ad-7999-9f17-0488-5dcbd4af7945", + { + "name": "LeftLegBottom", + "origin": [ + -2, + 6, + -2 + ], + "color": 0, + "uuid": "ee9973d4-ff4e-c96b-64f6-d1f28afd69c6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a1169ee6-6a78-c7c4-9214-670991206468", + "a5173990-504e-f5c4-45c7-9347880c1306" + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "name": "CameraAnchor", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "4ad021e9-2857-4e55-337b-f61da0762800", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8b47234a-9700-3da5-47db-8f75a6aab837", + "c2175bbe-2cfe-5bd6-da67-98c3b6cd21ee", + "7e6a5cd5-aefb-6095-d77f-adf6c4130742", + "31aaec73-9e98-c58c-c0ed-6d915f491f85" + ] + } + ], + "textures": [ + { + "path": "", + "name": "main.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 64, + "height": 281, + "uv_width": 64, + "uv_height": 281, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "49d663f7-0284-81d3-5d9d-8f9c415279bb", + "relative_path": "../../textures/main.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAEZCAYAAAAnnyNVAAAAAXNSR0IArs4c6QAAFW9JREFUeF7tXQuMHMWZrh7bu+tld41x/MaGYMQrDoe5U04owHEKeQhwpCixMAYCHPGFcDzOBiKC0aHLAUcCmCQQDo4QQkiAE+QiBeXhAMIxvkAe4ITkeJ2XgN/YxmYfrNfr3e3TXzN/U11T1f9fXd2zPbMz0mpmq/766/+/+h9V1dXdwWj3lrC04NBAWD6jf9wYipaJQgwNC/kNH/wN38RnqGWAIonVtx17vFUWJ0ZM4oAE4JU3QzGhJOSf+hkZFQL+VGD0ToeGRTi7XHjgnTIQk6a1x/7XmxQTABx5g4IRACaAFAD0pghI8QEAF5jcYraAfUNl+QEg1UoU60AL0BUd6d1vNNKWIz9UYxfYtisszZlujwHgAkmfhFEOtgsRtg2KoLVNhGXLF8GAEOH+QSGmthm5TphxZI0B2NsblqZ20QDoAU8JiLZRBgBKf1VbhZixLyIj0ZZZAD4d2oj1D0ZMGhuA7i3JLtA/GEV6Hf0sLQCyVdAxVXYR9u8VSanbxQpkGhztHxQlGGEY1Y42of+P5cZvtI5K20RatCKFlusiw3/cGEoZhZDyTczItSQAsYkN+DYKqE541MkQlgMdlJva6ICo8wWFf+nYw2k3xECsTsSEEJy2lDXEAYD0BenMpLgNDEx/WG/jgeUgkUJbOmq+EQAZeyrWOOGQaSLc1/d+Kh4ZFcHkThH290Tgcy2pyk2lBaBwlm+bv42qs0SCR9QHSKDQmgCQfHF+UQErEJOFaKnMRodGRSj2vc+nkqHSWETZAooIgGruE0oCgBp9fZMEJvoNcit0SQDItjhbHRmVPOS8JAaAbsYVYJwswMLDZgFSKEUgGeRkxJ9cjvg79lrnEuAmwSzMDPtimUHqpVqbaTEHrhQLgpbglwiAZqpkAFVjgCGuwCiGb78TBjOnBeG7faHoeU8Eh80yxonwrR2hmHKQCA7ujNpEbonWofcB/St6GtNgLJWByVlSTmySlDINxpbaFWFVEKQVvN0fBjM7YiCoZQiYVF5VGNYwsF5Rv4GhUkanIM/9gLTRmUpfWdXTAHjuBzQGAB77AfUPgOd+QP0D4Lkf0DgANPcDmvsB5szTCPsB1pzKmdyYdotMDHGjFOqUDVTuxkZ++wGY51FoEFSf3tqWwup+AMYIZcEh+ZiuKSh92ZbDKoax1SFOpTPdD7CZgKo4tR+QNDXD0ddWeACOdZ1Rs/0A3QJwBQXCuqwGdQtQV2L6RRPCAmq/H2AbPRcAqMm5aTkKZmy4LikByHg/wCZetMkQI8ClpAsA6jxBjQP423TprLK5oQuXxX4ANR5YX94PIGIAaz+A0yNeS1CuMZh4++wHcMRQaZItoCIwaz9AtwDMJpUdnyizKFFcBkHLpiiCAOTc/QBX5YGeXA6nYVpPbeoOgOMOOzxy2ZffejOS37U8igH4Q2UAZcg8q/KsrCJreSSCwPSZ3/5GyjhjcknsWfUVMe3O7wRq+RXf3iO+cd0RYnZba6wcFZs5c6a1HPtQQaAANgGWVk6UvdTzrgA5Y0EQ/wnDsGxaz39e3HXN/4nL1z8vCbH8/O+/IDY+sF48v/afY+VAc9cpJ1XRQ/lJf/9NSQ+C/++bf5Hs91yxXDy84c+SXi1fesOr4q11ayL+tpFOIyfK/twzV4ogCAgAtp0qBQ3mPhtTdOUru2X5HceVD1NEglQQRMZkOQNgUF71b3XEIv4OcqLsq4/9gB2ArHy03vikzgJpo27RACIByDrqcgGw9cttz6VLBEAGqT/9TmaF4etvkjwx2tvKP3zBz2W2gIiL9K5ZAPq18eEqxqUzTiSgMQah8LnzQ8gKlz37XDk4VqKorfy8B38fQraAiIv0arQXfbvFXWcsrsoCEKlvPfvDMs1COxMfrlIudKQLhFtPKafHOeviAFjKV7y8S9JDxI0BhmmWGb1tfFyU49BKAA48+mDyQSgLp0lLLyAB5AjhS2OSX5fNRlP3AKQdPAQ98GVgs4I///C7MataeO4/sKwF2iEt8lD/1/n4yp8bAD5mbVIc+JlAbEgAXMAb9wD4BvG6D4KqtSRZwyufPU+SHvujHwg1bsUCE9ecipL+XFwFaF86MBIeP2mCeTnMQbJeFU8Cqio1UVbQaCDk4gL6pkg06dB2YygT1tMhRZ+mPnMAbMq7gqBPiLgTKVcQMgegr6cn7OjqMsrR39srOqdMYc0IXRVJS585AGkFGat2zSA4VsgXpV+jP37s9M+E77yzU0ybNkPYvp9+6sdevhxdlTbcPzQ6Opq4P1Eqlbz6VsE3Mjph0UfDP2z4H2snVD1ndCMAlKM3eMPD3h89nQjA1M9+LF8AwAKSRpiq9wXgkzuSLWDNrEawADwGo9xkhRYw5i5QkxigA6DcNlNTAMCfOSabFQ3GlugglOEOspoCYBptUJbKAiYaTjuMLdFdXGMNgG1kOZaRlCkoi4kAMGSBmlpAEgB5psLIBcY9AIb7iMeHBVTOAqu36OFxvPEBwOub5c3RMQCOmidneIs/9ZnEzPTEL/ym4eRUGAhyD4Kbd4aleTOC0c07JRBJj/GgAqpPfcCZ9FApUa93SYfh7l4JQNDWktn83gWQgDPSLgy5tJBh5PZZf78IOjvHRHmQdcwtgAtYXnRpkYcglbYtqUs4MGwNgkH7RKd+TbxUHk7MKpKj8pmDoAprUpSqV5FF2iQ+UOcKgK50ZiAkCaybDIcWaJKsBetdAFCVtf0mzdtEwFHIBQRKeeQl6VJJLERmIw/9cwU2gWAzcU6scAGAMv3UgKQZfXUEZSrTAiMXUBcA5EApkT8TF/BRPgmErAEwjT72r7pQaitI6YbWZlkCkKR8KhCovOwKho0fBQInC6j5nisXWEQhLMF3HmBTwjRDM2USFgh5xQDThEgt48wEkxRQQbClURYAmAJNkZxjcpxRpni7jJ5rFnACgZO3XeYBqDhlZToASaafFPG57YwDSwnpOnvUA2BSQEybxtijyw2KLiBQtGo9RasDwHE9NdJzryqxptzUao+qtwW/JPdiCcZBJUsaU26PJh2O+wGUXAgAjqT+v4wlFSb6PoAtG+i8cBptmjhR8uVer09cTJsdJsXTtMtdmTQdoCKxeUIlcFFTXVNaTEqVqjWlkTWXNi4jiaasu4RaTq0SXbJHLgrrTJMA4FiAjUaPHYX0fynkor8+NZbKPn76OTGQnnzqkdxGYsML65yy0Cmnfboq7T679idOPKosQAeAo+1h8w6JyOZ98PhYk81/eSn6/63Ne6LfX37j/d9fP6LcPg0Av1zzeMTzE5/8nBhTAKbNPKwKr5aWyWL75ldluQoA/A8goPKFAQAE4VoBjtjlK/5FmuLAQI9ob58SAwH+h3L43HnHV6tcTCWuWws4+dTTpB4UAOvXrZV0xxyzQKz6ylUxoM6/4NL6dQEEYHh4SHR1Ta9yA7QABOChB++O0dz077eLV1/trn8AqIBpAgCUB2sorAXkkQbRAlB5AK6wAFCjmqYeAFCVr3sAIAagn5sAgVQ4cWKLaOggaMoACAamwoYOgrYMgCAAQHUZBDk+jmmQotUBaJggmAaAhguC1OhDfR5BUO93TBZDHOVVmqxmgvv2D1Uthye3+p0v9N4P4EycVAB8ZoIAACyB8QNL48wBcB1dH3rX1WBdAgCjv2nTJjF//vzoe+HChal2cXIBIM1+gMv+wYEXPxIOf2i9mHfo4eKJpV8Uix+9V+zetS01ALrFFd4FXuzcJ4K1vws+MH1O6AuAj7vZ2lp3bF48+lzZ5sTXfijU365CFB6AcNm91gucuvIABJS5fAoPgO+2OJUGMdKDCyBwaWOAC/BcWjIYwZl+/UmsOnP1sRlAq/+P9FiuPoDV9Bvo1X7131BveogrxdckVyIANkVM6CYJjKDoAqqA6ECb+GVVpspvBcD0MJQkSzCNkj5SJgBUi1H5mx7PawMAFeJagNqPEQCuSatIckdHNW+b1dhcIKkPygJtsiYCoJqu7r86Q3UUXPw3ixhgG3kqVsh6W0DTlbeZKjfaFpWuCYDJlPWorfutalpFHVmuXDEL4KSlpFjA7bRIdBEAScqrE5lGiwVNANC/0a+pp8HpdNQ0uUjmbpJFWkAav07TpohgxBYuaQWsZytoAqCPun47/YYX18dIqNGWb6NWnwwBrZUHpp144QVeD2kLwxG5r9Df3y/+5pSlkWyv/eHn5NLeGgPUCgBAfYrcU0/+t1i7doMkOe20RVUvKdGZcgBIcjXq0Tw6AC//8k5x3CcuF5kCoAoIFpAGgKGZh4hJA9skqwPtc0TL23ukJWRtAbkAoFuACgjpApW31xkBgE3Wz52dGGtdLQCZpbaAkfVruHd9GAUvffR0Y/nAwJBoe2+rrBs8aK5ob29hJRlox6GFGAB/6qejo0PAX3muEn+CtK3zIC8AoMOT13fLftefvIClPBDVHoCdG/0sYPoHrcpd+d6wrPvmQRObAHARaCgLGPcuMO4BOGHJCtFx5WVeQVCP9KormbIA1nd28h7h7b0W2Ni90+red846WPzqwmvE47es4oaAKrpZM7W33isUhQBg0Yknp1aO0/DZdT+zkmUCwAknLfFKg2JwW+LixvVBbDr9U0++f4sMBzCkYU+ETAA88di9ks/iJV+k+xwsz/fz+rR0HSGee+wGyf6kJf/K7ua3v3qItTr0jgHgAknPIPe1gC27B9lKq4TctQGJkukiZZJEc+YuCLdt7TbyTapLo+VH/u78yH25I673wwLAdv3OJLSqJK7d0R/zAAAUByByA8B1ZFBJUB4Vx991CUBaF6gVADhAhbMAyj2wHqwCfutxw1buapEUPRkDKAZ6vWrmV/Tvl8p9q6P8HlEqQKq8bIHUVR6KPlMAOD5uo8ERR4GbAFhSKTWirvXeFuA6cjq9bcTrOgYkjUKtTJtrCd4WwO0oLR1Opkztk1aD7MVQWsFq1a7hAMBrj9QFEAS4IQEA5bN4WVMWVlj4GJCFkkk85H6AfsLb1MBGQ10r9FVAXfK68OKuDUgLcF0MmS6vq4JTgPX19YR4fe+YRWdFTbkbHGpfnP0CFgAu+wGmAxYul9d1AHwuf+M+QdJ+AQmAi9kBre8Bi8IBkMYFVNBcj9gUzgUoC/C9vL5zwcJYF+o1flvfMAPkXvmh5Pd2gSYAnucLdo5MrnMLaALgd8KkaQFNF6iOAVTkhnrMApA2VXqcRVI8cL/AOwtwjtcnCbNjR/ziKleBJgCVEyBjbgG+5ws2/PpRylqN9dwtL4q5twv4ni9oabEfgQHhbWcDuMtdEgDf/QCqA6r+mEVnUCTGelwe++4XWG+cxF4feqP8fFD8fH7BwYlWA8flg+MXiPClbiHvG4BP/6DAMvhO+lD7BSOWideEGUemsmYWAK+9uUnKfPTh80UTAAcLCGeXxzrYLurbApxcoHtLGBwxV7pAFQBvbBVQVygXgCDY19cnOjs7RZrvgwarD0qWpi8Qo7vKR+XxYypLqkui50RNbkwIbEGF04mNZlwBAMrm+dEtidtXzSxg3ANwoOtQ0draKvbv35/Ld+EtgGuStaarmQvUWjFuf2wAIA1e/+hmMefMGWLbT3eKG5fO4/Yh6dKaqFMnKYjZAEAavKftUHHJ4BaB3yn6K1wTJwB06ftby4/M79i/q3CKcQViA4BbWmjKoDwqrv7OO93ZFEvrYmwAenrKm4pdXV2J4Pb29hrroV1eKRD4Turdwh30GB0bgFTcG6hRqk2EBtK/+lliunLf7343xE0Q9XejgEBaACitKkvtCNUbMLFDUrYnyCWV15vCurykBdS7gpT8TQAohBq9PhMLUC+upIkjVPs8ByETAPIUMG/eTQAA4etf2xveePTUAL/zRr1I/JsWYBqNRnlWIMfSjBdHXQ5HUxHct56jhA9N9PwA6rJ00lmgPFKf+nRqHwWptpnHAB0o1/MFWV//LwQALucLCgeA636AyQLqHgCX/YC6cwHfKA3tXTdF1XMIpvMFlN9CPXfTk+LlHQTzOF9ACd0EoGkBTRdoxoBmEEx5MtR5V5jaK6DuF6DOHuR98ZPKKLmnwbzOHuTqAi77AaZ5QC3OF+QGgO0lSTZT8j1fMOYuwB1tm6/juYG05wvSnkLJzQJ83y+w4up/C7dv3SYevvaq2P0Cy265XcyeO0c88/QvMnu/wNlL/zEyzJ/99L9SxbOqRr63v3MASIrM1MNV1PcLAABPPHCTWHzRKpEpAKqAru8XQAC+d9/tsfcLXLj8qlwsIBcAfN4vAABsfP1l8djD98cAWLLsYnHkUcdJF8jSApBXagvwvf1df7/AymtuFhAD7v/O6tj7BS7+wkppAatvvS6mP9I/8vBdshwfrn7OssuM9Ni4sO8XAIXgA4qqzxZXy1UE9HIEwEafPQCet7+XtPcLoOBgBeoHRh+BUcvPOe8S0d4+RQwM9Bi/7//Prxk9JjsL8ARg+ap7xJQpU6gpt7G+p6d8S55NeSi/757brLwzebS275bWuSu+JmbPnl8l5ITSsBgZnSj0b5Vw+/ZNsm3vu3tkcdfBh8hv9f+v3nBFsQG4+uuPVAmICgwN7ZN1LS3lW+RRQb1BQwGwd+8ege930QGAd0RNnVoeZfWTBICeNbi+xr252vvZ4l9YvjImE4xykgVgHTZS6U0ucNuXz+HqHKPjrhW8Acj7/QIvrHkwXwAu+qc7vN4vsOHXj+f6dPl58+2v8UlC5nvfXc1aHAUmAO646SLJe8WqB0j0AYA8Pycs+ltx/y2Xyi4uvvZudldsAKg9ParHvN8v0NrKe0WXLid3bUCaievD1CjAsqw/48yzI/flKqz3zwLA5ciM2oH+foEslQdeAAAojt9p+JMApGEKbUyP10/Ly9auJgCkcYFbb78nvHrl8uiVdwDGbavvE9dcdUmmgNfEBbIetaLxy3REdOX09wsUTXmQJ1cAiqiwcxYYayVsj9a2vYTN+ZWbeSl43fW3hDffeG2gf7v2V7cAuCpqo096uHpSH+zlcFaC1iufTILgly69Tk5J/+Pum1n8XOnzBJclcJYCuL5fIMu+TbzGBIDm+wXyHlYH/oV/v4A633fQi321mHQB18VQlu8XOPOsZZHOadb7nMUSCwCX/YAs3y8AAPhc/uYsl0kAXMwOaH0PWKiP1y8EAGlcQAXN5/0ChXABygJ8zxc03y9Q9y9Y8Ly83ny6vOHp8pTbQb3t2eJQRz2fXH1Fh3cW8D1fYLKAJgAMBNACfPcLxtwC9DNGDN0lCXfDg+LnDYDvtcUxPyxNIUTVj3sAfM8XhPs2Uxgb67mXvynm3i7ge76AAsB2NiAzAMb6/QJnnrWUGiRjPS6PffcL/h93VicoCsWoEwAAAABJRU5ErkJggg==" + } + ], + "animations": [ + { + "uuid": "e7e83f43-b662-56ee-0f85-7ffbcaf2a66d", + "name": "ex_skill_1", + "loop": "once", + "override": true, + "length": 5.2, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "markers": [ + { + "color": 0, + "time": 2.65 + } + ], + "animators": { + "e98e96cf-993b-878e-02b8-777c368bb888": { + "name": "Avatar", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 15, + "y": 40, + "z": 0 + } + ], + "uuid": "81afb720-e644-6d8b-3255-c05025151644", + "time": 2.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 15, + "y": 40, + "z": 0 + } + ], + "uuid": "080ed662-1c11-dfe1-40b1-6e57b19b72ae", + "time": 2.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 15, + "y": "20", + "z": 0 + } + ], + "uuid": "2b1a51b6-db8a-d701-923e-2c18aceaf982", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "15", + "y": "30", + "z": 0 + } + ], + "uuid": "8a0bb8bd-e3e6-5ce0-8af2-bd8b4feb021d", + "time": 3.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "30", + "y": 30, + "z": 0 + } + ], + "uuid": "317696aa-ef44-cd8b-78df-28752bb95e22", + "time": 3.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 30, + "y": 30, + "z": 0 + } + ], + "uuid": "1373739a-199f-0b54-6969-743d92cd44d1", + "time": 4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "25", + "y": 30, + "z": 0 + } + ], + "uuid": "13df7af7-39a2-ba3b-e418-75e28bf03b95", + "time": 4.1, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 30, + "y": 30, + "z": 0 + } + ], + "uuid": "0cc3b1bb-2a36-2479-9c9e-402b2543cc8f", + "time": 4.6, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.40333, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.40333, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "20", + "z": 0 + } + ], + "uuid": "d8f1740f-3d68-bca2-0aa3-faea0920c4b3", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": -1, + "z": "0" + } + ], + "uuid": "536506ac-2f71-e5a8-3f9a-89225e045cf5", + "time": 2.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": -1, + "z": 0 + } + ], + "uuid": "e280c858-408d-b8e7-d459-c3b2f2f12354", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -1, + "y": -6, + "z": 1 + } + ], + "uuid": "3cb63963-80fb-7731-aea9-da87d09a3fdd", + "time": 3.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0.5, + "y": -4.5, + "z": 3.5 + } + ], + "uuid": "e388c445-cc54-7d56-48be-c49985bb4912", + "time": 3.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0.5, + "y": -4.5, + "z": 3.5 + } + ], + "uuid": "e2aa70b0-e517-28da-505a-a6dff24219fb", + "time": 4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": -5, + "z": 2.5 + } + ], + "uuid": "b021be13-0ae5-8a28-0390-b2f99f679951", + "time": 4.1, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0.5, + "y": -4.5, + "z": 3.5 + } + ], + "uuid": "05aa7f0d-9f1a-3b7c-dfda-23dc734fab5b", + "time": 4.6, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.4, + -0.4, + -0.4 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.4, + 0.4, + 0.4 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 0 + } + ], + "uuid": "ebb8b526-0983-5eae-0216-b60557799974", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "22d40862-bd19-a16d-9e33-79364e6656d8": { + "name": "Head", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -22.01497, + "y": -37.54897, + "z": 18.95369 + } + ], + "uuid": "eda1f81f-abba-abba-57e3-0211876dd1d9", + "time": 2.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -22.01, + "y": -37.55, + "z": 18.95 + } + ], + "uuid": "4ce4fb3c-0339-afb6-637b-cbfcdebc7f65", + "time": 2.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15.68172, + "y": -17.91177, + "z": 5.29325 + } + ], + "uuid": "ec5dbe36-ecf6-f92e-0c9b-f864a6dff1cb", + "time": 2.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -23.48175, + "y": -14.75938, + "z": 15.1746 + } + ], + "uuid": "8410012d-7dd3-7c7f-472b-00d53be66173", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -12.73084, + "y": 1.27777, + "z": -13.07513 + } + ], + "uuid": "b19a465e-e33b-8f3e-ed4c-dd5d9eecf1b0", + "time": 3.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 25, + "y": -17.5, + "z": 0 + } + ], + "uuid": "339ca26d-73ee-6206-17fd-fb07d4411d3a", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 25, + "y": -17.5, + "z": 0 + } + ], + "uuid": "518dd5fa-22bf-0334-573a-594a1484f4bc", + "time": 0.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 17.5, + "y": -17.5, + "z": 0 + } + ], + "uuid": "9e03218f-5407-9cb8-2967-1cc3b7ea659b", + "time": 0.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 17.5, + "y": -17.5, + "z": 0 + } + ], + "uuid": "8fcb222f-21d7-6b5b-bc00-97ed5df7625e", + "time": 0.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": -17.5, + "z": 0 + } + ], + "uuid": "9869f483-34da-bf8c-4e52-061dfc1ee581", + "time": 0.95, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -11.51332, + "y": -1.71533, + "z": 1.85629 + } + ], + "uuid": "f35e69db-699f-9a6b-8887-8e51b03f38b7", + "time": 3.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3c1cb66d-8a31-d31f-ec9f-65a33e313a53": { + "name": "RightArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 17.25002, + "y": -2.99318, + "z": 27.04589 + } + ], + "uuid": "b79366c0-35a9-1887-c12e-d3b663bf5edf", + "time": 2.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 17.25, + "y": -2.99, + "z": 27.05 + } + ], + "uuid": "8bcd7c43-def8-6c76-e693-203db3bfe1bf", + "time": 2.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 69.4656, + "y": 33.13402, + "z": 53.55535 + } + ], + "uuid": "07922eb5-e63d-d04e-62e7-2e967c9dcb10", + "time": 2.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -82.30617, + "y": 36.98839, + "z": -17.62294 + } + ], + "uuid": "7a12ff1e-b490-ef22-108b-36c562069c6f", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -105.73651, + "y": 3.54526, + "z": -6.38936 + } + ], + "uuid": "c3a0612b-f26f-d6f0-b65e-6b9d128a74de", + "time": 3.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50.21672, + "y": -28.72059, + "z": 13.32415 + } + ], + "uuid": "24d065d3-5a93-f87d-dc57-d60c6db4813e", + "time": 3.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -17.5, + "y": 0, + "z": 15 + } + ], + "uuid": "e893f223-e658-5e2e-27fa-30b8b2045959", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -17.43745, + "y": 1.50179, + "z": 19.76968 + } + ], + "uuid": "e1b9a58b-a041-073f-852c-46c2572737f9", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -17.5, + "y": 0, + "z": 15 + } + ], + "uuid": "106dd9d1-91f5-0425-64d7-b85a31d0d167", + "time": 2.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e7d3e5d8-00e4-587c-7bb6-6787db00054b": { + "name": "LeftArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -62.72073, + "y": 9.65593, + "z": -2.61299 + } + ], + "uuid": "1bd943d2-2110-dcca-972f-17e05f73269a", + "time": 2.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -62.72, + "y": 9.66, + "z": -2.61 + } + ], + "uuid": "f9605eba-cb29-bd42-41b4-eb159aa7d878", + "time": 2.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -117.84191, + "y": -62.30446, + "z": 24.62288 + } + ], + "uuid": "b6682f8b-c9ce-4f51-4630-c9afcd4bc3b0", + "time": 2.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -64.76387, + "y": -24.73516, + "z": 4.32709 + } + ], + "uuid": "52630dde-0e38-8904-cf58-202c7ef0a4cb", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -52.33797, + "y": -19.33358, + "z": 3.81743 + } + ], + "uuid": "ea183530-b26b-eb23-af8e-e113e912bad2", + "time": 3.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -52.34, + "y": -19.33, + "z": 3.82 + } + ], + "uuid": "e02cf3a7-e278-3601-0c7e-6c2e2aecc595", + "time": 3.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 20, + "y": 0, + "z": -15 + } + ], + "uuid": "2853ee94-a9b4-7812-b305-e76bc8c71351", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 19.9299, + "y": 1.70818, + "z": -19.69986 + } + ], + "uuid": "118aa8d6-dba4-868b-30fc-7e2dca7a471c", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 20, + "y": 0, + "z": -15 + } + ], + "uuid": "adc9f273-b262-23c4-5a7a-1ae47d6315ef", + "time": 2.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "4ad021e9-2857-4e55-337b-f61da0762800": { + "name": "CameraAnchor", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "-160", + "z": "0" + } + ], + "uuid": "68e30cb3-7bd5-3f23-6b50-d04d1c28bce2", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "-180", + "z": 0 + } + ], + "uuid": "ebf48e7a-5537-22a9-c362-40a8a4832999", + "time": 1.05, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "-160", + "z": "0" + } + ], + "uuid": "95af0517-a823-f47f-367d-1b8fed6824eb", + "time": 0.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -180, + "z": 0 + } + ], + "uuid": "8a31b640-f95a-7248-6563-fe48b5b8566e", + "time": 1.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-20", + "y": "-30", + "z": "-10" + } + ], + "uuid": "a24605ec-c42b-530b-43e6-676a426bed3f", + "time": 1.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-20", + "y": "-30", + "z": "-10" + }, + { + "x": "-10", + "y": "210", + "z": "0" + } + ], + "uuid": "ad935de3-499b-e632-125e-94171b712988", + "time": 2.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "210", + "z": 0 + } + ], + "uuid": "fecbe47a-31fd-ba27-080c-0b3217ec204b", + "time": 2.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "10", + "y": "210", + "z": 0 + } + ], + "uuid": "3d2ac897-3f9a-619d-2005-8204dd93d566", + "time": 3.05, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "200", + "z": 0 + } + ], + "uuid": "f4ab23bf-95e8-df86-e857-22c370536b82", + "time": 3.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-15", + "y": "215", + "z": 0 + } + ], + "uuid": "0fc4d638-f3a1-6b5e-ebe6-3c92cc1ae1d8", + "time": 3.95, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -4.5, + "y": 7.75, + "z": -44.5 + } + ], + "uuid": "c1a7419f-928d-ff43-eca9-ea61efaad20b", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -4.5, + "y": 14.75, + "z": -44.5 + } + ], + "uuid": "ce1302f3-f9ad-232c-85d6-82b32672dcfa", + "time": 0.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0.5, + "y": 23.75, + "z": -44.5 + } + ], + "uuid": "2a217cc1-f8ec-cec1-b0e4-388f395d036f", + "time": 1.05, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.023, + -0.02 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.023, + 0.02 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0.5, + "y": 22.75, + "z": -41.5 + } + ], + "uuid": "258fdd1e-3b59-0f79-6bd4-5b66d2f734fa", + "time": 1.3, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.30305, + -0.29707 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.30305, + 0.29707 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -5, + "y": 9.75, + "z": -30.5 + }, + { + "x": "-18", + "y": "11", + "z": "-32" + } + ], + "uuid": "ae025287-304b-fdce-e7dd-94368f8a9538", + "time": 2.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -5, + "y": "20.75", + "z": -30.5 + } + ], + "uuid": "35bbc217-bf4d-4c3a-4f70-ae9b74a6be55", + "time": 1.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -5, + "y": 19.17, + "z": -30.5 + } + ], + "uuid": "6aeb3354-fe39-5c2f-4447-0f6ae800e33e", + "time": 1.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -5, + "y": 18.08, + "z": -30.5 + } + ], + "uuid": "59c4d8df-3485-5c75-00b4-834006132597", + "time": 1.95, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -5, + "y": 11.51, + "z": -30.5 + } + ], + "uuid": "5189b3ee-48bd-5cc8-4c99-ee8ef8e17022", + "time": 2.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -5, + "y": 10.42, + "z": -30.5 + } + ], + "uuid": "0cef9d72-7015-f487-147f-8dd5a723a45f", + "time": 2.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -5, + "y": 18.5, + "z": -30.5 + } + ], + "uuid": "9587bfb8-964b-74db-5cf4-ae04efedfe70", + "time": 1.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -5, + "y": "18.625", + "z": -30.5 + } + ], + "uuid": "0b667a47-7cac-d783-fd56-77adfa2064a7", + "time": 1.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -5, + "y": 10.84, + "z": -30.5 + } + ], + "uuid": "ed918efc-eb39-9728-9df9-1895a6debcd0", + "time": 2.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -5, + "y": "10.965", + "z": -30.5 + } + ], + "uuid": "4cd02070-d526-1a0b-02bc-e2ff5b1008c8", + "time": 2.35, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -11, + "y": 21, + "z": -22 + } + ], + "uuid": "6d002e43-63ed-6e6e-b81b-85932f54ba4a", + "time": 2.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -9, + "y": 26, + "z": -24 + } + ], + "uuid": "bd351c84-e95e-a5c5-2631-9b645e058649", + "time": 3.05, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -12, + "y": 17, + "z": -30 + } + ], + "uuid": "8d015427-3a6b-b7dd-2eee-776ac70ef260", + "time": 3.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -13.5, + "y": 13.5, + "z": -25 + } + ], + "uuid": "c05ed3c8-0a11-145f-6655-6b9862d44a7b", + "time": 3.95, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "36786a9e-fb6e-3cc0-cb85-bd4d31f61c87": { + "name": "BackHair", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 25, + "y": "0", + "z": "0" + } + ], + "uuid": "df1fcc93-f7db-dc1f-7dd5-e18c922a453b", + "time": 2.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "2d19b016-5b79-4b5b-cd80-61d4f1970a20", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 25, + "y": 0, + "z": 0 + } + ], + "uuid": "a9298926-110f-a4b9-6878-5af9b3db3b60", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 57.5, + "y": 0, + "z": 0 + } + ], + "uuid": "e9803720-354f-10fb-35aa-89a77fe1db2e", + "time": 3.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "d0ee319c-3354-9de6-59c9-df97e4a7f240", + "time": 4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "10", + "y": 0, + "z": 0 + } + ], + "uuid": "58b41ca6-fe48-bb52-2df6-bab81c7a56a5", + "time": 4.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "d71fdecd-bee4-da9e-fed2-1c86a6e5505f", + "time": 4.6, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.39667, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.39667, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "dbf9777c-e939-2c26-5f62-37b023003a42": { + "name": "Skirt", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "4812ae4f-6dab-ee10-910f-ee619b01fa4d", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 0, + "z": 0 + } + ], + "uuid": "131ee49c-ec67-6e30-1358-08de3557970b", + "time": 3.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "37265d5a-6fdb-62b1-6a80-7ead9b8c6165": { + "name": "Shield", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 86.39632, + "y": 80.29495, + "z": -49.10238 + } + ], + "uuid": "bd813899-bbda-3fa5-7875-e2d49d0206e3", + "time": 2.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 86.4, + "y": 80.29, + "z": -49.1 + } + ], + "uuid": "5b0b81f6-870d-3f2f-23af-892e94e98b4e", + "time": 2.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 82.44428, + "y": 70.70422, + "z": 27.42384 + } + ], + "uuid": "27d1e20b-2d82-70af-41e4-a2bb76618959", + "time": 2.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 93.22794, + "y": 35.04944, + "z": 4.91967 + } + ], + "uuid": "3b5bf798-d411-b55b-6ffc-9d16c61b0e6c", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -7.21463, + "y": 51.40696, + "z": 93.14149 + } + ], + "uuid": "991270f7-bbca-6d6b-2f6f-f444ce25ea9b", + "time": 3.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10.00347, + "y": 66.12381, + "z": 97.59042 + } + ], + "uuid": "6e42da4a-9adb-f8fb-3f9e-84ba8a7f6c00", + "time": 3.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "5", + "y": "70", + "z": "0" + } + ], + "uuid": "8748ebba-a095-241b-f2ed-5aa69915faae", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 3, + "y": -8, + "z": -0.5 + } + ], + "uuid": "9b57a4da-682f-e1c2-5b9e-14aa4ca947f3", + "time": 2.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 3, + "y": -8, + "z": -0.5 + } + ], + "uuid": "d57c7e62-8e6c-3796-6fbc-84d67a8fab42", + "time": 2.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 1, + "y": -8, + "z": -0.5 + } + ], + "uuid": "0098b467-07cb-202e-a154-0ef0c4e99da3", + "time": 2.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 1, + "y": -8.25, + "z": -0.75 + } + ], + "uuid": "440dbd09-1ccd-136e-79b7-fd1669674ab0", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 1, + "y": -8.25, + "z": -0.75 + } + ], + "uuid": "4c77be36-d9f8-ca18-d79c-58b8aeddfe41", + "time": 3.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 1, + "y": -7.25, + "z": -2.75 + } + ], + "uuid": "fc6f9221-47e4-7e8f-1558-5b1dad496868", + "time": 3.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 8, + "y": -3, + "z": -32.5 + } + ], + "uuid": "9542e426-d734-54e7-5baf-cc7c7e517b60", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "aff17f1f-7da8-a791-8882-a541ab23105c": { + "name": "Handle2", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "22a1c901-835d-3a0c-ae1e-a45b48f887bf", + "time": 2.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0.25, + "z": 0 + } + ], + "uuid": "fb0e4205-61f2-502e-d71b-f6f6763b41bd", + "time": 2.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "bfdf46ba-1e68-e0bc-5589-849cc5015216": { + "name": "Section2", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "80e2747a-9073-03b1-5e98-7b5bac79fef7", + "time": 0.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-180", + "y": 0, + "z": 0 + } + ], + "uuid": "336fb386-851b-244b-bd8c-cdc9b5e46ccd", + "time": 0.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "82672d2b-5132-3c1a-b68a-3c6f334d61c9": { + "name": "GasPiston3", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "602936a3-7484-aafb-bb44-fcb513eb17c0", + "time": 2.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "-1.4", + "z": 0 + } + ], + "uuid": "d35a48a2-bc81-fde6-ad79-af5862b5d2c4", + "time": 2.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "7c44cb8d-3cc3-692f-1e67-d50a3ca5cfbf": { + "name": "GasPiston4", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "38dfcff4-dd57-93bd-7e1f-896b814e9784", + "time": 2.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "-1.4", + "z": 0 + } + ], + "uuid": "e80a2be8-91e9-c7ce-51e7-86d26c6df0de", + "time": 2.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "8d326e35-0825-f688-c69c-a10c5603f382": { + "name": "Section1", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "53b824e0-4e88-e605-17cc-47515089ab2c", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "180", + "y": 0, + "z": 0 + } + ], + "uuid": "9b7911d9-4ea3-1fa1-07a1-1e6c49ed2661", + "time": 0.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "abaa4ef4-f055-6257-7d0a-c0db53d210e5": { + "name": "Handle", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "cda49e28-326d-60d1-78a1-14665827bdd4", + "time": 1.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": -0.25, + "z": 0 + } + ], + "uuid": "4bdfca0f-cfa3-7d9c-e0ff-927ca7c7229d", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3f243e36-167c-f2bd-a25b-f61f18fb19a4": { + "name": "GasPiston1", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "ccc12dc2-d864-e90a-de55-79162b543a66", + "time": 1.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "-1.4", + "z": 0 + } + ], + "uuid": "82e65b15-4af6-d80e-593b-46f1b7fd4df5", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "fd334492-d9f4-9e5c-0a1f-b8abfc82f2cb": { + "name": "GasPiston2", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "44cc000b-fab9-c81e-e9f8-223618611609", + "time": 1.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "-1.4", + "z": 0 + } + ], + "uuid": "b99fccf8-4ce7-342d-7bea-d4cc90bee860", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "b924539e-1292-1a17-6240-a525ae346090": { + "name": "RightArmBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "ffdd7986-88ad-341f-6e14-73f7c5fdfb10", + "time": 2.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": 0, + "z": 0 + } + ], + "uuid": "23e44ded-1c71-fcd2-63bf-9e611816f5d8", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ad1c45ef-c0a8-6d31-d2dc-fbdc6ab7ddcc": { + "name": "LeftArmBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -30, + "y": "0", + "z": "0" + } + ], + "uuid": "bb36dea5-107b-c951-0587-c5bf26268d72", + "time": 2.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "b17a9dea-52e5-fc41-9810-bfd21e57a012", + "time": 2.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30, + "y": 0, + "z": 0 + } + ], + "uuid": "2f628b2b-b03b-d773-7c44-0e7ebfcdfd2c", + "time": 2.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -37.5, + "y": 0, + "z": 0 + } + ], + "uuid": "99483302-b4e7-b460-e958-10128e69e81e", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "2fb775e4-dd74-c596-7165-4169ded0658b", + "time": 3.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "f3cbeca3-f43b-56dd-a4c1-08d2d39c1910", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "2f61e368-1c06-648e-26d4-aee94647e4da": { + "name": "LowerBody", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": "0", + "z": "0" + } + ], + "uuid": "0037802d-51d1-d9e4-cdd5-b05d8f363b5b", + "time": 2.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 0, + "z": 0 + } + ], + "uuid": "7b77b9f5-717c-c2c4-2cf1-482303b53aad", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 0, + "z": 0 + } + ], + "uuid": "67b19e3e-b17c-dca3-9ee5-56e6bafed41d", + "time": 3.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-30", + "y": 0, + "z": 0 + } + ], + "uuid": "ff243a7e-c5e0-b757-f72c-53e587215222", + "time": 3.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30, + "y": 0, + "z": 0 + } + ], + "uuid": "e07952dd-4749-8403-5cd8-76212dfe7541", + "time": 4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-25", + "y": 0, + "z": 0 + } + ], + "uuid": "5b60b19b-f5ad-8334-beb8-abc0dace7d1b", + "time": 4.1, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30, + "y": 0, + "z": 0 + } + ], + "uuid": "58b93990-6cc3-1037-d52e-1af0f6c7d721", + "time": 4.6, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.39667, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.39667, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "78e226ac-e0c0-9f08-ca0a-c690bef19d35", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "4e80b5b4-7c04-8374-f8a7-526b3d36d050": { + "name": "RightLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -24.91643, + "y": 2.11089, + "z": 4.53359 + } + ], + "uuid": "2e96a509-4607-606b-6cca-7b93dba72bbf", + "time": 2.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -24.92, + "y": 2.11, + "z": 4.53 + } + ], + "uuid": "9cf2e55b-4b58-53fb-e0fd-2189b1df1156", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -33.79289, + "y": 22.22632, + "z": 13.61613 + } + ], + "uuid": "00a8e738-7b82-f272-e15d-0b68d82e847a", + "time": 3.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -33.79, + "y": 22.23, + "z": 13.62 + } + ], + "uuid": "83d35ba5-21f0-7fe1-9216-f155c8258157", + "time": 3.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -14.94548, + "y": 1.29256, + "z": 4.83045 + } + ], + "uuid": "3c9d12ca-c54b-5827-b643-8f68d338c3c1", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "84fe0b3a-286b-e17f-288e-c39feaa2e5e6": { + "name": "RightLegBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 15, + "y": "0", + "z": "0" + } + ], + "uuid": "e81d0c05-2415-ad55-f99e-cf5adf8c382b", + "time": 2.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 126.75039, + "y": -21.83392, + "z": -24.31199 + } + ], + "uuid": "19c15a91-6c70-3f2d-a52e-b53c2978db81", + "time": 3.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 15, + "y": 0, + "z": 0 + } + ], + "uuid": "ea676432-d823-6725-3e18-b03f0abe638a", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "3b7ac288-f946-ce8f-aaf4-68cb6d160366", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "ec432616-2cd0-4261-322f-f42220b52e27", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0.25, + "y": -0.25, + "z": 3.75 + } + ], + "uuid": "90bebcdd-0aaa-de83-1a0a-ab9c42b4374e", + "time": 3.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "73b3d6bc-af0b-a066-5d73-f3938109e11f": { + "name": "LeftLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -7.5 + } + ], + "uuid": "88001ecd-9739-35e7-5d50-27607be10f0f", + "time": 2.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -94.98107, + "y": 0.43523, + "z": -2.51893 + } + ], + "uuid": "d66414bc-99a5-af58-2bc6-3402f17b0b46", + "time": 3.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -7.5 + } + ], + "uuid": "1a078bc7-399f-b46d-9357-6ea0a5f44c5a", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 9.91615, + "y": 1.29876, + "z": -7.38733 + } + ], + "uuid": "81c30cac-f5c1-4bcb-bed1-9b4789fbc8f1", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "9e374acd-8dc1-edd1-5ba8-017e1b4cfd81", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": -1, + "z": 0 + } + ], + "uuid": "01bd68d1-c095-4680-6938-c4dc6ece73e3", + "time": 3.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ee9973d4-ff4e-c96b-64f6-d1f28afd69c6": { + "name": "LeftLegBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 12.5, + "y": "0", + "z": "0" + } + ], + "uuid": "078e85bb-84b9-755a-a482-5e4c52722744", + "time": 2.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 12.5, + "y": 0, + "z": 0 + } + ], + "uuid": "f2a4822d-d88f-b28b-05bb-2d213d739c5a", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 95, + "y": 0, + "z": 0 + } + ], + "uuid": "d7e5a8c4-d2cb-e91c-d118-a75c88d5705b", + "time": 3.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "f3a32bfc-2d61-7873-8ace-f12bad56df27", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "43fe9a9b-3da6-0eb0-1cdf-e8af75c0f4b2", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": -1, + "z": 1 + } + ], + "uuid": "56104ca3-bf82-bf5f-c517-6cbd86990e6b", + "time": 3.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + }, + { + "uuid": "997c25af-eb30-c1ad-df1a-02bbe91275a5", + "name": "ex_skill_2", + "loop": "once", + "override": true, + "length": 5.65, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "e98e96cf-993b-878e-02b8-777c368bb888": { + "name": "Avatar", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": "0", + "z": "0" + } + ], + "uuid": "3780fe20-67cc-9e81-2ed7-178f5b115772", + "time": 0.85, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -5, + "y": 0, + "z": 0 + } + ], + "uuid": "f05ab9fa-31fa-9a54-5c26-6124b4b37f5d", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": 0, + "z": 0 + } + ], + "uuid": "aebed144-94a6-63a0-af15-ad4c65239075", + "time": 1.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 52.5, + "y": 0, + "z": 0 + } + ], + "uuid": "a262c752-a7ba-32ee-5bf2-13daffeb82c9", + "time": 2.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 61.31552, + "y": 71.60445, + "z": 38.48089 + } + ], + "uuid": "3952dcff-a356-5351-7d57-4b81a719faca", + "time": 2.75, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 69.74048, + "y": 28.72727, + "z": 47.58383 + } + ], + "uuid": "ddac2bc4-de8a-0c56-c711-6ab163d3e5e5", + "time": 3.5, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.29535, + -0.30115, + -0.30308 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.29535, + 0.30115, + 0.30308 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -4.83045, + "y": -1.29256, + "z": -14.94548 + } + ], + "uuid": "1933c778-c96f-c7e6-9caf-72a6d64c643a", + "time": 1.25, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.24681, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.24681, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 47.68314, + "y": -28.67447, + "z": -6.80118 + } + ], + "uuid": "bcac4a2d-cfcb-5eb5-fcfa-90c1ca181aad", + "time": 4.3, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": -1, + "z": "0" + } + ], + "uuid": "1442801e-c027-cc72-fc30-6cd92b396996", + "time": 0.85, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + -19.82906, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 19.82906, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": -1, + "z": 0 + } + ], + "uuid": "f94641ac-dace-b326-e13a-ecb9d5367bff", + "time": 0.4, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "130.06\n", + "z": "-92.72" + } + ], + "uuid": "1f072642-979d-103e-04a9-e4456d013aac", + "time": 1.6, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.59766, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.59766, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 82, + "z": -141 + } + ], + "uuid": "5459fe48-ac59-4f24-06e1-04fa14dcc865", + "time": 2.05, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.11659, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.11659, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -32, + "y": 59, + "z": -180 + } + ], + "uuid": "db4fdcac-6714-9020-175a-d561b7f58320", + "time": 2.75, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -10.38, + "y": 70.99, + "z": -157.21 + } + ], + "uuid": "a1e018b7-e55c-f876-b800-3161afa844ed", + "time": 2.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 5.45155, + 3.6891, + 6.4763 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + -5.45155, + -3.6891, + -6.4763 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -2.87, + "y": 64.98, + "z": -149.48 + } + ], + "uuid": "9e576b2f-b8f0-e7d7-43ff-1dbbeac34efc", + "time": 2.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 3.71765, + 3.2743, + 5.08285 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + -3.71765, + -3.2743, + -5.08285 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -197, + "y": 51, + "z": -209 + } + ], + "uuid": "ae756379-8f2b-a861-3c6b-565beefbad07", + "time": 3.5, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.29535, + -0.29921, + -0.59669 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.29535, + 0.29921, + 0.59669 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -239.35, + "y": 48.65, + "z": -226.65 + } + ], + "uuid": "b6a05830-0335-fec4-f12a-580576cd4e49", + "time": 3.9, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 8.96357, + 5.09244, + 10.51507 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + -8.96357, + -5.09244, + -10.51507 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -256, + "y": 16, + "z": -300 + } + ], + "uuid": "31388043-4759-15fa-1b26-e7fb8be901e1", + "time": 4.3, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.60168, + -0.0401, + -0.10112 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.60168, + 0.0401, + 0.10112 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "22d40862-bd19-a16d-9e33-79364e6656d8": { + "name": "Head", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": "0", + "z": "0" + } + ], + "uuid": "b2eb0431-b018-de56-efb1-f87cea8641dc", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": 0, + "z": 0 + } + ], + "uuid": "a4ae0beb-20e3-7fa9-69d0-fd1a82ec3fda", + "time": 1.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -39.27887, + "y": 14.60559, + "z": -13.81465 + } + ], + "uuid": "e9ca7203-f7bb-d0de-2846-a08dbf2fa1df", + "time": 2.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -36.55386, + "y": 11.63612, + "z": -33.20814 + } + ], + "uuid": "274863cd-4e85-6396-1fbb-3b756667a6ea", + "time": 2.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -18.19293, + "y": -15.05155, + "z": -5.36389 + } + ], + "uuid": "7e163778-4b16-1632-147b-967dbf521fef", + "time": 2.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -17.88283, + "y": -13.49348, + "z": -8.59974 + } + ], + "uuid": "719ab216-dc4e-802b-880c-a9f33e0f627a", + "time": 3.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 5, + "y": 12.5, + "z": 0 + } + ], + "uuid": "f068cd0c-a6be-5b10-364e-37491c8f223b", + "time": 4.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "bdc6af74-e6b2-c615-3ca2-61a45cb4a26f": { + "name": "Cowlick", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "27c0e682-4d08-fe16-1000-e75cc49cf1ab", + "time": 0.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -25, + "y": 0, + "z": 0 + } + ], + "uuid": "7b8383e4-cd42-36eb-8a2c-4953d117de0a", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 20, + "y": 0, + "z": 0 + } + ], + "uuid": "8216fb83-af2d-aaf0-33a6-3283a1629434", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 20, + "y": 0, + "z": 0 + } + ], + "uuid": "6732eefe-4d2d-e600-1f32-788702c21894", + "time": 1.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "2beb36d4-04fc-73a3-5460-31738ef6603e", + "time": 1.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "82092828-b5b6-88ea-6c51-ae8d1740e100", + "time": 1.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 0, + "z": 0 + } + ], + "uuid": "8096a708-a124-dbd9-6b6c-8cc4d4a01128", + "time": 1.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 0, + "z": 0 + } + ], + "uuid": "61acc64f-9cb8-997f-6a96-028911803da9", + "time": 2.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "0380271b-37d1-f451-5332-bf3e176d3416", + "time": 2.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "bb170951-a755-bfd0-c2f7-5faab409eb91": { + "name": "Cowlick4", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "150b23cd-5e4f-fe9d-bd53-d56511af5f40", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -17.5, + "y": 0, + "z": 0 + } + ], + "uuid": "2e37b8b4-7717-fcd1-6857-c5476e279d74", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -17.5, + "y": 0, + "z": 0 + } + ], + "uuid": "0dee57d6-19f9-2433-0e61-7af226a94320", + "time": 1.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "6573f247-1ffb-d2b3-3123-82e9975ca567", + "time": 1.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "575b3f99-97a0-991e-39c1-0ba3ede084fa", + "time": 1.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -22.5, + "y": 0, + "z": 0 + } + ], + "uuid": "14f6b3b5-c3c9-c097-51e1-73aedf0d5e48", + "time": 1.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -22.5, + "y": 0, + "z": 0 + } + ], + "uuid": "0902ad56-5c7a-f21b-db0c-d63daec6c210", + "time": 2.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "4ba14976-9d0c-4307-6b74-3cae1aaa10cf", + "time": 2.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "83bf74a7-c7aa-c492-bf7f-39f291b0b21d": { + "name": "Cowlick5", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "a597f395-f87e-f004-cc91-ab106d299fc2", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -20, + "y": 0, + "z": 0 + } + ], + "uuid": "acaf436f-0f4c-6a30-c1fe-725869edbda4", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -20, + "y": 0, + "z": 0 + } + ], + "uuid": "9e11dadb-a31c-ca1d-af8a-0e59ea494770", + "time": 1.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "a1c88a6e-32ab-5774-f799-aa7af82d4d93", + "time": 1.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "cb870513-d2ae-0f1d-3470-5d11adc2dc90", + "time": 1.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -40, + "y": 0, + "z": 0 + } + ], + "uuid": "f48e4107-4228-6ad8-c31c-9523d26962b4", + "time": 1.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -40, + "y": 0, + "z": 0 + } + ], + "uuid": "7065b428-d8d1-51cb-dd78-e0441f8a5cf5", + "time": 2.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "23e61a84-0ea5-300b-07d8-3855050acf6b", + "time": 2.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "8529be98-62d7-50ab-9e0a-5eb978173b78": { + "name": "Cowlick6", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "32c307ff-d265-1a88-8ca0-6e7f2f88dbb5", + "time": 1.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -25, + "y": 0, + "z": 0 + } + ], + "uuid": "d13c58bc-6e82-227b-c5d5-26c73fe8816a", + "time": 1.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -25, + "y": 0, + "z": 0 + } + ], + "uuid": "caaa2391-2495-19d2-7364-2fc5ff6aecfe", + "time": 2.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "7ec52699-83bd-7ce8-3281-44d7edda48a3", + "time": 2.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3c1cb66d-8a31-d31f-ec9f-65a33e313a53": { + "name": "RightArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -52.07555, + "y": 7.9185, + "z": 6.12673 + } + ], + "uuid": "20157acb-e32d-5287-790e-83bed415a930", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -52.08, + "y": 7.92, + "z": 6.13 + } + ], + "uuid": "0d5d438f-063f-2263-89f3-cd8c12edd685", + "time": 0.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -144.58, + "y": 7.92, + "z": 6.13 + } + ], + "uuid": "ca0850b6-6a50-837b-3063-a44755762789", + "time": 0.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -144.58, + "y": 7.92, + "z": 6.13 + } + ], + "uuid": "08569d86-69db-e491-2141-09a95c6f247e", + "time": 0.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -112.08, + "y": 7.92, + "z": 6.13 + } + ], + "uuid": "f1e5d63c-9282-ac0e-e10e-8f658d830b5b", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -112.08, + "y": 7.92, + "z": 6.13 + } + ], + "uuid": "63733f38-5e70-0b6d-fdcc-dc6590f42b0e", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -144.58, + "y": 7.92, + "z": 6.13 + } + ], + "uuid": "1b662806-ad91-e06a-ade8-b023f3b8d891", + "time": 1.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -52.08, + "y": 7.92, + "z": 6.13 + } + ], + "uuid": "15d10d62-7217-2422-94e1-781a588147f3", + "time": 2.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -52.08, + "y": 7.92, + "z": 6.13 + } + ], + "uuid": "b6e76117-2a24-1d04-ab0a-ecd6abba1193", + "time": 2.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -47.08, + "y": 7.92, + "z": 6.13 + } + ], + "uuid": "7e4db390-a8eb-ccf8-991b-c2344e6af1fa", + "time": 3.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -52.08, + "y": 7.92, + "z": 6.13 + } + ], + "uuid": "fc6a8f7d-472e-1361-2877-e67f7d6db045", + "time": 4.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "b924539e-1292-1a17-6240-a525ae346090": { + "name": "RightArmBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "c0ce3749-7a53-dd4d-0f06-e20dc78d5293", + "time": 0.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -25, + "y": 0, + "z": 0 + } + ], + "uuid": "8aac5f5a-b116-b6db-35bb-9109147b057d", + "time": 0.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -25, + "y": 0, + "z": 0 + } + ], + "uuid": "d29e0f3c-7682-bbf1-4cfc-b3377f400a20", + "time": 0.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -52.5, + "y": 0, + "z": 0 + } + ], + "uuid": "624a7365-4eab-1cec-04f9-55ba0de940bb", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -52.5, + "y": 0, + "z": 0 + } + ], + "uuid": "2490496c-ff5b-4895-aba2-1a9cc4565448", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -25, + "y": 0, + "z": 0 + } + ], + "uuid": "75172a2d-905b-5da7-009f-750465423499", + "time": 1.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "b0aa12af-503a-e710-ac5a-62a9e59e8e91", + "time": 2.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e7d3e5d8-00e4-587c-7bb6-6787db00054b": { + "name": "LeftArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -52.07555, + "y": -7.9185, + "z": -6.12673 + } + ], + "uuid": "f6874870-6349-33b1-5d33-8342a8a54dc8", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -52.08, + "y": -7.92, + "z": -6.13 + } + ], + "uuid": "27a2943e-6219-82bb-ec9d-e756f5295502", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -37.08, + "y": -7.92, + "z": -6.13 + } + ], + "uuid": "a6e4cd01-cb56-345f-83ff-a5f22dc2478a", + "time": 1.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -52.08, + "y": -7.92, + "z": -6.13 + } + ], + "uuid": "c487c7de-8e4a-b035-3f6b-39bbd61a72d2", + "time": 2.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -52.08, + "y": -7.92, + "z": -6.13 + } + ], + "uuid": "936bff27-9ff4-c34d-3aee-8b1d0809fb8f", + "time": 2.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -92.08, + "y": -7.92, + "z": -6.13 + } + ], + "uuid": "7489ea58-085d-4c7a-6adc-3c833da8afb3", + "time": 3.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -52.08, + "y": -7.92, + "z": -6.13 + } + ], + "uuid": "f5b72904-69d3-69c3-9312-832bdd5cd5b6", + "time": 4.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "2f61e368-1c06-648e-26d4-aee94647e4da": { + "name": "LowerBody", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": "0", + "z": "0" + } + ], + "uuid": "02049130-67a9-04e0-b8d8-0404feaf1927", + "time": 0.85, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -25, + "y": 0, + "z": 0 + } + ], + "uuid": "59e5d31f-2d1e-b768-1167-e41b163ebcb2", + "time": 1.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-30", + "y": 0, + "z": 0 + } + ], + "uuid": "a7fa84ad-9225-5ae5-c54b-423d0fd101d0", + "time": 2.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -28.48124, + "y": -9.84655, + "z": -17.49524 + } + ], + "uuid": "dde669a2-ff5b-7478-9447-2d2e535a262c", + "time": 3.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-30", + "y": 0, + "z": 0 + } + ], + "uuid": "77f140d5-7187-7efb-715a-2c4826dde181", + "time": 4.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-30", + "y": "0", + "z": "0" + } + ], + "uuid": "38214086-a3e5-5f1e-82b5-2a69f15e43ef", + "time": 1.25, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.25179, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.25179, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "4e80b5b4-7c04-8374-f8a7-526b3d36d050": { + "name": "RightLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -64.58623, + "y": 37.15855, + "z": 16.0129 + } + ], + "uuid": "ce0ec660-bd31-6f94-d882-c09131cac911", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -64.59, + "y": 37.16, + "z": 16.01 + } + ], + "uuid": "6a55b83a-3154-081f-73c2-e88c30ab5040", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 10 + } + ], + "uuid": "154985c9-f4d2-dfd2-a17c-043ecd33a17c", + "time": 1.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -64.59, + "y": 37.16, + "z": 16.01 + } + ], + "uuid": "b40e243e-62bd-3215-0732-bc250ffff0da", + "time": 2.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "84fe0b3a-286b-e17f-288e-c39feaa2e5e6": { + "name": "RightLegBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 45, + "y": "0", + "z": "0" + } + ], + "uuid": "264a9dd9-f034-22d0-ecee-7e876b2fd3f1", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 45, + "y": 0, + "z": 0 + } + ], + "uuid": "83aea8bb-d8ff-076a-f6eb-be6a73a2a6b1", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "763d6496-b216-c262-6a6c-9aa29a24d645", + "time": 1.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 45, + "y": 0, + "z": 0 + } + ], + "uuid": "b3a2ec1a-081c-521e-09d6-c0757fd7e177", + "time": 2.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "73b3d6bc-af0b-a066-5d73-f3938109e11f": { + "name": "LeftLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -64.58623, + "y": -37.15855, + "z": -16.0129 + } + ], + "uuid": "29db28c5-cb72-c8a6-ad06-7e9d56ba55af", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -64.59, + "y": -37.16, + "z": -16.01 + } + ], + "uuid": "d41a14da-7b6d-426f-eee3-680eda80548d", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": -10 + } + ], + "uuid": "57c16afc-6dba-554b-e3e4-a8a312a65578", + "time": 1.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -64.59, + "y": -37.16, + "z": -16.01 + } + ], + "uuid": "486a8c05-6458-6bcb-8173-ff2c3ee1965f", + "time": 2.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ee9973d4-ff4e-c96b-64f6-d1f28afd69c6": { + "name": "LeftLegBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 45, + "y": "0", + "z": "0" + } + ], + "uuid": "c5dee120-f0ba-107b-1a07-20eae5919e6b", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 45, + "y": 0, + "z": 0 + } + ], + "uuid": "457e1a2f-db5e-7af4-637c-709058feb860", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "a5df7e01-06c1-5284-284f-61187a8af94b", + "time": 1.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 45, + "y": 0, + "z": 0 + } + ], + "uuid": "d9b9fa20-ca30-b439-5ea1-2776b01f027c", + "time": 2.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "4ad021e9-2857-4e55-337b-f61da0762800": { + "name": "CameraAnchor", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "-15", + "y": "-150", + "z": "0" + } + ], + "uuid": "b9035bfe-0ed7-5be6-b523-dda5a6e3b7de", + "time": 1.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-15", + "y": "-150", + "z": 0 + } + ], + "uuid": "ab081760-4fff-88e0-ff71-2d43ac593710", + "time": 1.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": -150, + "z": 0 + } + ], + "uuid": "e48e0370-e5d5-a638-9ebf-90ea6524dcd7", + "time": 1.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-5", + "y": -150, + "z": 0 + } + ], + "uuid": "490b0fae-5ad5-fcd1-3089-595075a70319", + "time": 2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -5, + "y": -150, + "z": 0 + } + ], + "uuid": "7eaad758-e9f8-80e7-82ed-5c78e890de82", + "time": 2.5, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-15", + "y": "-160", + "z": "20" + } + ], + "uuid": "7cff4068-0b1f-4165-ea52-f08ee2a21ab2", + "time": 3.35, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.40375, + -0.40058, + -0.40058 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.40375, + 0.40058, + 0.40058 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": -160, + "z": 20 + } + ], + "uuid": "a9e2443e-b72e-5bbe-45c1-038854c4e586", + "time": 3.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": "-180", + "z": "-30" + } + ], + "uuid": "8ddf217b-6866-e2a9-b315-5d28e22cc0ec", + "time": 4.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -54, + "y": 100.6, + "z": -147.4 + } + ], + "uuid": "671a3d7f-226d-8f3c-3821-a700db41fedb", + "time": 1.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -30, + "y": 133.6, + "z": -127.4 + } + ], + "uuid": "40718726-5133-2f9a-a359-37a29f27e8f0", + "time": 1.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -37, + "y": 105.6, + "z": -197.6 + } + ], + "uuid": "02520e72-38a3-f0a6-2925-fadccea4ea96", + "time": 1.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -50, + "y": 76.6, + "z": -245.6 + } + ], + "uuid": "ac5605d3-9f18-5c15-d0f8-e9face8a3587", + "time": 2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -86, + "y": 71.6, + "z": -257.6 + } + ], + "uuid": "f2ba57c0-feac-ff72-0196-ae68ec44ae45", + "time": 2.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -203, + "y": 41.6, + "z": -311.6 + } + ], + "uuid": "d57782f4-e570-112d-5e52-7b11f988b401", + "time": 3.35, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -227, + "y": 41.6, + "z": -294.6 + } + ], + "uuid": "691e1784-c0eb-6588-ef22-f9282b69d1cf", + "time": 3.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -248, + "y": 17.6, + "z": -340.6 + } + ], + "uuid": "c5e7d269-37da-115a-b484-5e3f94f49bfa", + "time": 4.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + }, + { + "uuid": "05727221-c738-d9e8-5e8a-d1cfc7662fb6", + "name": "ex_skill_3", + "loop": "once", + "override": true, + "length": 9.4, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "e98e96cf-993b-878e-02b8-777c368bb888": { + "name": "Avatar", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -90, + "z": -35 + } + ], + "uuid": "59a92904-7465-f53e-9a93-156cd7553423", + "time": 0.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -90, + "z": -70 + } + ], + "uuid": "235e1eee-12b6-00a2-13fd-9102ffd7a368", + "time": 0.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -90, + "z": -15 + } + ], + "uuid": "46a611d1-2be7-3188-cbbe-3d7673d6f93d", + "time": 0.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -90, + "z": 0 + } + ], + "uuid": "ac6efeca-0225-2844-a486-f51888e3efe1", + "time": 0.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -90, + "z": 7.5 + } + ], + "uuid": "adab2246-1070-edad-b71c-698c4e6ef57f", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -57.5, + "z": -107.5 + } + ], + "uuid": "b211bc6b-3336-ada1-75b1-09c78b6c7a02", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 4.61481, + "y": -54.3719, + "z": -182.18799 + } + ], + "uuid": "b352d93f-4cc7-1bbd-4f20-85e81e8fe802", + "time": 0.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 13.8748, + "y": -16.18494, + "z": -338.71243 + } + ], + "uuid": "615e895f-f745-308c-b0d3-1c04f4c4500b", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 18.48196, + "y": -10.55093, + "z": -358.45035 + } + ], + "uuid": "5bd5b85d-0a16-8973-960d-c0e74c64702c", + "time": 0.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 13.13419, + "y": 40.6044, + "z": -376.78837 + } + ], + "uuid": "12549208-ec40-7b9b-bd42-e8e1ce8ce227", + "time": 4.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 18.48, + "y": -10.55, + "z": -358.45 + } + ], + "uuid": "7d4ea176-7bf1-0fe2-6dab-7cccf13bfb28", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 13.13, + "y": 40.6, + "z": -376.79 + } + ], + "uuid": "16b4987e-f32e-134f-49e0-e4d52fa5301b", + "time": 5.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 27.17532, + "y": -12.83686, + "z": -372.99982 + } + ], + "uuid": "1087418a-0d1c-1fa6-b055-a52d0c9139a5", + "time": 5.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 14.68, + "y": -12.84, + "z": -373 + } + ], + "uuid": "ec26172d-3758-f566-3380-65917ea1fcd0", + "time": 5.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 14.68, + "y": -12.84, + "z": -373 + } + ], + "uuid": "a5867c0d-4c93-3ead-3193-cbd860c550e3", + "time": 6.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 22.18, + "y": -12.84, + "z": -373 + } + ], + "uuid": "2d523ce1-0b86-c66f-cc79-bf6822d51326", + "time": 6.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 22.18, + "y": -12.84, + "z": -373 + } + ], + "uuid": "62a7d17d-ab51-28db-29ea-1a97031a1105", + "time": 6.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "30", + "y": "0", + "z": "-360" + } + ], + "uuid": "1fc14f97-de93-c1c7-57b4-8fe20f3451af", + "time": 6.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 60, + "z": -360 + } + ], + "uuid": "fe1b9ca2-0c66-7b47-5ee4-7b429b8f5091", + "time": 7.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 70, + "z": -360 + } + ], + "uuid": "dbdb1295-772f-1543-8bb7-865af054fd98", + "time": 7.5, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "30", + "y": 0, + "z": -360 + } + ], + "uuid": "982a90de-a797-a4fa-6bc0-731ce36915b5", + "time": 7.75, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "126", + "y": 24, + "z": "0" + } + ], + "uuid": "210bafcc-efaf-31d8-7e23-2666bc1a03b8", + "time": 0.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "101", + "y": 18, + "z": 0 + } + ], + "uuid": "6d8a7a4c-93d7-44df-e8ac-6b8ae030413a", + "time": 0.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "162.67", + "y": 32, + "z": 0 + } + ], + "uuid": "7d403985-4be2-ddf5-7683-1c27821df99f", + "time": 0.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "221.67", + "y": 24, + "z": 0 + } + ], + "uuid": "15d713b8-9912-e6bd-dcbe-07592e2f2a33", + "time": 0.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "249.67", + "y": 5, + "z": 0 + } + ], + "uuid": "c527fc08-feef-12af-7125-ea55f777dd5a", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "76", + "y": 22, + "z": 3 + } + ], + "uuid": "817f2e9c-2241-948e-8a48-8f8c215ffa81", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "47", + "y": 35, + "z": 0 + } + ], + "uuid": "1f83dfe7-133b-3895-f47a-510a2b9b99f8", + "time": 0.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "7", + "y": 1, + "z": 0 + } + ], + "uuid": "fa339bdc-e722-9b36-20fe-c4de112db8a4", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "7", + "y": -1, + "z": 0 + } + ], + "uuid": "fae6a28e-4f86-becb-f34b-2e9e0a911a28", + "time": 0.95, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.016, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.016, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": -1, + "z": 0 + } + ], + "uuid": "272018be-d3af-5c85-d80c-88c137f6687a", + "time": 1.15, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.179, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.179, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": -1, + "z": 0 + } + ], + "uuid": "87475185-8078-4027-b235-0e2a5c5b2175", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 6, + "y": -1, + "z": -5 + } + ], + "uuid": "ab1fc61b-66c1-e723-74d0-cb19b843056e", + "time": 4.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": -1, + "z": 0 + } + ], + "uuid": "3595eb77-ca8a-0de1-8093-7d2898cd6d49", + "time": 5.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": -1, + "z": 0 + } + ], + "uuid": "9249d9e6-dc1f-7371-ea8d-da67d6c47e64", + "time": 6.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 1, + "z": 1 + } + ], + "uuid": "3a0a09d6-49a8-382a-5b49-f2ba16d4771a", + "time": 6.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": -1, + "z": -2 + } + ], + "uuid": "ee977240-4f14-9244-37d5-0db47f1b3681", + "time": 7.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 6, + "y": -1, + "z": -5 + } + ], + "uuid": "d44ef626-a735-63ec-193d-8aa9d0eb3f57", + "time": 5.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": -1, + "z": -2 + } + ], + "uuid": "c5794b29-1f97-901c-888b-fe933ee6222d", + "time": 7.5, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 3 + } + ], + "uuid": "310ca67a-cb65-3b89-5489-0509e9626fa1", + "time": 7.75, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "10.3", + "y": 11.7, + "z": -0.11 + } + ], + "uuid": "87724c7b-c93a-606c-cebc-ca41866bdd5b", + "time": 0.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "22d40862-bd19-a16d-9e33-79364e6656d8": { + "name": "Head", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 25, + "y": "0", + "z": "0" + } + ], + "uuid": "717f2633-e429-8675-fc2d-2cc24b8ceef4", + "time": 0.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 55, + "y": 0, + "z": 0 + } + ], + "uuid": "9c126e5d-d660-04ae-4263-48e73f9a4a85", + "time": 0.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 25, + "y": 0, + "z": 0 + } + ], + "uuid": "b243fbcb-47af-b9ff-b138-14799fd07402", + "time": 0.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": 0, + "z": 0 + } + ], + "uuid": "748371c4-de30-9264-b945-165c6cb09b06", + "time": 0.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 2.5, + "y": 0, + "z": 0 + } + ], + "uuid": "afbab3df-9b5d-bf05-a642-c0df1d57ba2e", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 52.5, + "y": 0, + "z": 0 + } + ], + "uuid": "13b1534a-0f2a-52fd-0a6e-ed0b0189b5bc", + "time": 0.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 20, + "y": 0, + "z": 0 + } + ], + "uuid": "7365c00f-9b7a-09ba-5c3f-7776e793aaed", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -14.99321, + "y": 5.02095, + "z": -0.33243 + } + ], + "uuid": "73ee259f-3480-a995-3ffa-380fdbcf8378", + "time": 0.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -7.56, + "y": 7.44, + "z": -0.98 + } + ], + "uuid": "2cbddf7f-29ad-c8e3-009b-c44b3832552f", + "time": 2.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -20.06, + "y": 7.44, + "z": -0.98 + } + ], + "uuid": "44bd95e3-49a2-2a0c-afc8-8700e66849f8", + "time": 3.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -12.56, + "y": 7.44, + "z": -0.98 + } + ], + "uuid": "0c63bc02-ce5d-ed15-51a9-ddc9ec4529d3", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -11.26199, + "y": 5.21755, + "z": 7.8016 + } + ], + "uuid": "b0f7a8a0-fd99-84d2-feb6-ef2c34aa0251", + "time": 4.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -19.07, + "y": -11.35, + "z": 13.46 + } + ], + "uuid": "c536fcdd-5973-fd79-b3a3-d0de0a39194f", + "time": 5.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -21.50987, + "y": 22.27727, + "z": -12.88552 + } + ], + "uuid": "cf4ae517-e511-faec-4811-ab1f449e7bcb", + "time": 5.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -4.33637, + "y": -15.21216, + "z": 0.63715 + } + ], + "uuid": "a42c2f0a-015d-db22-ab0c-65ab4e1628d7", + "time": 5.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -14.34, + "y": -15.21, + "z": 0.64 + } + ], + "uuid": "e1f1fb64-93b2-69f3-6b13-259d52fbe6d7", + "time": 6.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -14.11542, + "y": 11.47715, + "z": -6.06153 + } + ], + "uuid": "c4531b3c-544b-9c21-b90e-f64ee8f6b343", + "time": 6.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -14.12, + "y": 11.48, + "z": -6.06 + } + ], + "uuid": "0f8808bc-169a-f15d-dc22-22d64a64341d", + "time": 6.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30.22465, + "y": -36.81662, + "z": 22.93393 + } + ], + "uuid": "47448a66-bf50-617a-d6dd-77df881facb6", + "time": 6.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 4.64565, + "y": -57.4145, + "z": -3.91686 + } + ], + "uuid": "fa5e123b-9edb-e12a-85d9-161ba2f4b6b3", + "time": 7.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 4.65, + "y": -57.41, + "z": -3.92 + } + ], + "uuid": "52540e62-83ef-b7b3-75d3-bfe30693cc3e", + "time": 7.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": "0", + "z": "0" + } + ], + "uuid": "7dae1368-0df9-f5a7-c573-d77f1d8d0770", + "time": 7.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "37265d5a-6fdb-62b1-6a80-7ead9b8c6165": { + "name": "Shield", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 5, + "y": 142.5, + "z": -90 + } + ], + "uuid": "dd3349ea-5225-c6e6-91b6-f906ec160cf7", + "time": 0.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "d2479273-49ad-e4fb-f62f-57361455f881", + "time": 0.65, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 5, + "y": 57.5, + "z": -90 + } + ], + "uuid": "cf0935d3-adb3-bc01-8b3d-2f6009fe7375", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30.88747, + "y": 106.83847, + "z": -56.99671 + } + ], + "uuid": "046acd08-164b-d40a-780c-16598c46fdd1", + "time": 0.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30.89, + "y": 106.84, + "z": -57 + } + ], + "uuid": "7150ec09-20b7-03a6-de7d-ffd0231b9b9e", + "time": 2.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -74.87175, + "y": 113.26487, + "z": -82.76444 + } + ], + "uuid": "8337d3e6-8e33-7657-a38f-82b3d726e67a", + "time": 3.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -63.80611, + "y": 88.96515, + "z": -6.94665 + } + ], + "uuid": "8d3c4956-2b0d-5fcc-26b4-d177f4d51a8b", + "time": 4.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -74.87175, + "y": 113.26487, + "z": -82.76444 + } + ], + "uuid": "4be844b4-8014-c731-2f77-6e4b14e37248", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -63.81, + "y": 88.97, + "z": -6.95 + } + ], + "uuid": "3bb18f97-c69b-9088-8bfd-6d8af58b8859", + "time": 5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -65.56846, + "y": 98.68098, + "z": -32.76824 + } + ], + "uuid": "370e1e86-c10e-68da-64ef-2685317d9ad6", + "time": 5.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90.53903, + "y": 83.74963, + "z": -31.32189 + } + ], + "uuid": "6f359901-fb4f-7612-eb39-0a8c2f605fd3", + "time": 5.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90.54, + "y": 83.75, + "z": -31.32 + } + ], + "uuid": "7b25ddaf-2e2b-85f0-773e-4a2f028a6ebe", + "time": 6.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -26.03995, + "y": 83.35913, + "z": -87.30143 + } + ], + "uuid": "bb772c05-9eaa-2055-58ba-c5ebe920736d", + "time": 6.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -22.66, + "y": 83.34, + "z": -90.24 + } + ], + "uuid": "04148537-3147-d31d-351b-fa471dd8e48a", + "time": 6.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -26.04, + "y": 83.36, + "z": -87.3 + } + ], + "uuid": "b72fc430-53ea-7097-7268-5840589b0170", + "time": 7.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -26.04, + "y": 83.36, + "z": -87.3 + } + ], + "uuid": "cfc2c9cc-6ef3-a2f5-cd0d-c4956f78c118", + "time": 7.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -18.81115, + "y": 33.02952, + "z": -124.67362 + } + ], + "uuid": "6b869153-ea97-bd19-62cb-d60937e669e2", + "time": 7.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "26b9ce90-d95a-d5a9-ebb8-0f1fb862778a", + "time": 0.65, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -8, + "y": -3, + "z": 3 + } + ], + "uuid": "153342bf-0082-c745-c39c-0bb22996ebcc", + "time": 0.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -8, + "y": -6, + "z": 3 + } + ], + "uuid": "92d0a3c8-b413-bac9-adc0-9b77f8ea14bb", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -2, + "y": -1, + "z": 8 + } + ], + "uuid": "fd202b38-f303-a1a5-e874-6b3200e503a4", + "time": 0.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -2, + "y": -1, + "z": 8 + } + ], + "uuid": "30556ad9-17c6-05f5-1035-19ca3c4dc462", + "time": 2.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 4, + "y": -1, + "z": 8 + } + ], + "uuid": "9ecca46e-ab83-b546-d720-92bdfe50c11e", + "time": 3.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 1, + "y": -6.75, + "z": 9 + } + ], + "uuid": "000b4541-eedb-b0ef-8d12-ba9b6696e969", + "time": 4.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 4, + "y": -1, + "z": 8 + } + ], + "uuid": "f0e94f28-d727-f14d-f363-2b5a0b01613a", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 1, + "y": -6.75, + "z": 9 + } + ], + "uuid": "be179f17-b4d0-ba7c-b867-43b4da72a04d", + "time": 5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 2, + "y": -7, + "z": 9 + } + ], + "uuid": "d3d148d1-4ef8-d618-2db1-e8367358213b", + "time": 5.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 3, + "y": -11, + "z": 9 + } + ], + "uuid": "27ed18ff-3289-baf6-50d8-22a122f1a323", + "time": 5.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 3, + "y": -11, + "z": 9 + } + ], + "uuid": "71402d7e-7f19-a564-9978-5434687dd877", + "time": 6.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -5, + "y": -7, + "z": 8 + } + ], + "uuid": "129a470d-77db-c964-2e5e-0154bcb517a2", + "time": 6.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -5, + "y": -5, + "z": 8.25 + } + ], + "uuid": "c3f11057-2191-90c2-3a02-3a124d233fb5", + "time": 7.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -5.42, + "y": -6.79, + "z": 7.95 + } + ], + "uuid": "a044dc7e-8071-ef13-7439-05ac60906f74", + "time": 6.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -5, + "y": -5, + "z": 8.25 + } + ], + "uuid": "39824eb7-7778-e249-4097-0ac05d88c857", + "time": 7.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": -14, + "z": 4.25 + } + ], + "uuid": "ac6804e1-acd9-c3df-6ffb-13adad69234f", + "time": 7.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "f2cc95c4-212e-53d4-25a3-aab03f90592e": { + "name": "Section3", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 116.91, + "y": 0, + "z": 0 + } + ], + "uuid": "52fe9cb5-8ca0-d672-05c1-0b214032edb5", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "180", + "y": 0, + "z": 0 + } + ], + "uuid": "63cb833a-a1ff-db01-01b8-1941972b86a1", + "time": 0.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "aff17f1f-7da8-a791-8882-a541ab23105c": { + "name": "Handle2", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "f25edb19-950b-a5fe-4e65-86fa2b0cbf36", + "time": 0.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0.25, + "z": 0 + } + ], + "uuid": "77a1d7fe-ef0d-3dbb-d847-f1f725236735", + "time": 1.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "82672d2b-5132-3c1a-b68a-3c6f334d61c9": { + "name": "GasPiston3", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "c4829282-155b-9fd8-d203-580a622f30a2", + "time": 0.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "-1.4", + "z": 0 + } + ], + "uuid": "511c778d-057b-e7a3-9584-e0c7b212d083", + "time": 1.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "7c44cb8d-3cc3-692f-1e67-d50a3ca5cfbf": { + "name": "GasPiston4", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "18bbba2d-1f8b-f216-5c2f-2f71c0697f2b", + "time": 0.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "-1.4", + "z": 0 + } + ], + "uuid": "ac72fd20-dff3-ba02-df57-38c178e586da", + "time": 1.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "8d326e35-0825-f688-c69c-a10c5603f382": { + "name": "Section1", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "5112dd34-ace5-64cc-7833-01c3a0063552", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "180", + "y": 0, + "z": 0 + } + ], + "uuid": "521fcb06-c1a1-0bf8-57ad-7e75d945a0f2", + "time": 0.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "abaa4ef4-f055-6257-7d0a-c0db53d210e5": { + "name": "Handle", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "58010fc0-539f-b57d-e65b-fd2406953e4e", + "time": 0.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": -0.25, + "z": 0 + } + ], + "uuid": "60823f08-272c-eafc-3f09-a0d37c406da2", + "time": 1.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3f243e36-167c-f2bd-a25b-f61f18fb19a4": { + "name": "GasPiston1", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "1a33f30e-eb65-f610-1b2e-4c670a715f5e", + "time": 0.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "-1.4", + "z": 0 + } + ], + "uuid": "e1900fae-35e7-c344-38aa-747496aed217", + "time": 1.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "fd334492-d9f4-9e5c-0a1f-b8abfc82f2cb": { + "name": "GasPiston2", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "fb78613d-8c38-b127-9e04-7dce7343a1b1", + "time": 0.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "-1.4", + "z": 0 + } + ], + "uuid": "2263e65a-077e-7646-1e13-def5b78285bf", + "time": 1.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3c1cb66d-8a31-d31f-ec9f-65a33e313a53": { + "name": "RightArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -82.94677, + "y": -44.78238, + "z": 85.01893 + } + ], + "uuid": "5d40e2fb-3151-9247-5bb3-40d2156cb4a7", + "time": 0.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -79.27648, + "y": -62.08187, + "z": 80.49889 + } + ], + "uuid": "4138e054-4272-f7a9-9fc1-2febf33e94a9", + "time": 0.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -83.48751, + "y": -39.81488, + "z": 85.81795 + } + ], + "uuid": "26107ee3-1d42-b7b5-e91e-52984a3cbcdc", + "time": 0.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -84.49048, + "y": -24.89095, + "z": 87.67378 + } + ], + "uuid": "e3d6a8b2-6716-8109-6816-2b7706deeaa4", + "time": 0.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -84.76222, + "y": -17.42285, + "z": 88.42264 + } + ], + "uuid": "59e7ce9a-c1b8-f028-7557-bafbcefc3a45", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -31.78, + "y": -62.08, + "z": 80.5 + } + ], + "uuid": "b57287ef-5285-a1a7-70c8-1af14155ea54", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 56.99138, + "y": -43.05822, + "z": -20.61805 + } + ], + "uuid": "6319993e-ea92-c4e9-2d3f-6f3a384bf92f", + "time": 0.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 348.68802, + "y": -53.51497, + "z": -275.44603 + } + ], + "uuid": "95fcb431-1f8c-5bf4-9273-0c026faa2fc2", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 335.75895, + "y": -6.50076, + "z": -283.81789 + } + ], + "uuid": "10b1234e-175f-0fbd-5514-4f2dbff901fd", + "time": 0.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 335.76, + "y": -6.5, + "z": -283.82 + } + ], + "uuid": "3c72c973-8694-0dea-538d-011a82b3f94b", + "time": 5.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 338.60256, + "y": -13.33404, + "z": -300.18708 + } + ], + "uuid": "08ce2c5d-1679-0aba-1368-c1bbd2594a5f", + "time": 5.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 296.34855, + "y": -54.43555, + "z": -308.26659 + } + ], + "uuid": "66c28828-3081-55b2-10ed-564ccfe183a1", + "time": 5.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 296.35, + "y": -54.44, + "z": -308.27 + } + ], + "uuid": "e7ab1dd5-be2d-5ccf-011b-1444484a25d4", + "time": 6.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 288.85, + "y": -54.44, + "z": -308.27 + } + ], + "uuid": "78b19349-7677-c04b-3675-c530d257a91c", + "time": 6.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 288.67, + "y": -54.44, + "z": -308.27 + } + ], + "uuid": "a3f5ac4f-5dd8-b9a4-2c39-29cae1414872", + "time": 6.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 241.5596, + "y": 14.58344, + "z": -278.92721 + } + ], + "uuid": "7647675e-45f7-a3b2-4efd-fb879d582d94", + "time": 6.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 405.01054, + "y": -3.12121, + "z": -269.53876 + } + ], + "uuid": "b08956c6-aece-4ec6-197d-fe1decb1022a", + "time": 7.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 405.01, + "y": -3.12, + "z": -269.54 + } + ], + "uuid": "b1a6a6fc-74a4-9beb-c163-69f76f80de82", + "time": 7.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 372.92586, + "y": 8.30106, + "z": -313.18689 + } + ], + "uuid": "76d0bd88-2261-dcbd-5c87-71c4dd830900", + "time": 7.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "b924539e-1292-1a17-6240-a525ae346090": { + "name": "RightArmBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -35, + "y": "0", + "z": "0" + } + ], + "uuid": "153a915a-d39d-6921-0018-59a218414eb9", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "a0e45ae5-081b-24cd-fa48-48db02033a10", + "time": 0.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -35, + "y": 0, + "z": 0 + } + ], + "uuid": "57a035a6-ff8b-c47a-94b3-598b170aa846", + "time": 0.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "e00774c0-4447-dc85-1b54-12d9f6310c51", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -42.5, + "y": 0, + "z": 0 + } + ], + "uuid": "4f4c14b7-4c9f-eea3-90bd-9c7b0844dd5b", + "time": 0.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -42.5, + "y": 0, + "z": 0 + } + ], + "uuid": "5b7b1c81-86c7-1472-c514-a81d011c24b1", + "time": 5.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "2602580d-ce6f-590b-ad16-3d3ba20b0fd0", + "time": 5.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -45, + "y": 0, + "z": 0 + } + ], + "uuid": "2ca18c62-451a-5507-4c4c-bb901968dc50", + "time": 5.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -45, + "y": 0, + "z": 0 + } + ], + "uuid": "7418db54-0b6e-46fe-ece1-1ecf6ace570b", + "time": 6.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -45, + "y": 0, + "z": 0 + } + ], + "uuid": "786f6190-d85f-bbd4-6b56-3246e361588b", + "time": 6.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -45, + "y": 0, + "z": 0 + } + ], + "uuid": "07b6bf14-ec16-7635-b9ec-9443adca57e2", + "time": 6.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -27.5, + "y": 0, + "z": 0 + } + ], + "uuid": "24e6a986-9901-bd7d-82cc-65101613e022", + "time": 6.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "36bf71c6-a5f6-83ce-52e9-025ca877d872", + "time": 7.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -32.5, + "y": 0, + "z": 0 + } + ], + "uuid": "84f9819b-adcb-8bca-7712-dd070d5dfafd", + "time": 7.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "5040f516-eaee-155f-21d8-3a52b16b7bed", + "time": 7.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -32.5, + "y": 0, + "z": 0 + } + ], + "uuid": "2be7569f-4dbb-0de4-4d57-6473d5fcbb2f", + "time": 9.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e7d3e5d8-00e4-587c-7bb6-6787db00054b": { + "name": "LeftArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -50.76588, + "y": 15.74419, + "z": 12.49325 + } + ], + "uuid": "c7454836-aaa5-2909-a7d7-32c527bd5d3b", + "time": 0.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30.77, + "y": 15.74, + "z": 12.49 + } + ], + "uuid": "892a5174-14e9-1ddc-06f1-e516b33bd187", + "time": 0.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -60.77, + "y": 15.74, + "z": 12.49 + } + ], + "uuid": "fc7fd09b-4fca-20f0-f45a-1342a749420e", + "time": 0.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -70.77, + "y": 15.74, + "z": 12.49 + } + ], + "uuid": "b6c015ea-3bb0-4e01-945f-3d65b538b854", + "time": 0.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -80.77, + "y": 15.74, + "z": 12.49 + } + ], + "uuid": "7d0deb3b-4922-861e-19a4-b3988f414ec6", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 28.35289, + "y": 2.16372, + "z": -8.81819 + } + ], + "uuid": "34700383-6cd4-900e-1812-4b9528f1139a", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -64.84073, + "y": 55.91563, + "z": -64.2304 + } + ], + "uuid": "46596c9c-f658-e65d-13d5-8fbaa24ad9ee", + "time": 0.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -6.92907, + "y": -4.52177, + "z": -40.4837 + } + ], + "uuid": "458ba4bc-942c-17dd-a8ae-385a6327b95d", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 15.57, + "y": -4.52, + "z": -40.48 + } + ], + "uuid": "cbf7a079-6710-fc82-2298-42b9b2d54a3c", + "time": 0.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 15.57, + "y": -4.52, + "z": -40.48 + } + ], + "uuid": "99a3e30d-b60f-8646-bc57-ece24d3a23bf", + "time": 2.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -26.93, + "y": -4.52, + "z": -40.48 + } + ], + "uuid": "30645d4e-8f91-561d-93a7-5d1c51bfe37e", + "time": 3.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -26.93, + "y": -4.52, + "z": -40.48 + } + ], + "uuid": "873041e5-7ee7-a761-efff-21523ef76ad8", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -83.45751, + "y": -31.87324, + "z": -43.50523 + } + ], + "uuid": "f6910bfa-ce8b-a0a7-52bf-d305a630178a", + "time": 4.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -83.95, + "y": -32.11, + "z": -43.54 + } + ], + "uuid": "852b4fc5-8ef0-73c9-64d0-60ff21bab4e7", + "time": 5.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -220.38766, + "y": -46.4533, + "z": 164.57875 + } + ], + "uuid": "34be1db5-397b-06cf-d0e3-09689158ca12", + "time": 5.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -220.39, + "y": -46.45, + "z": 164.58 + } + ], + "uuid": "ce6a7cb0-0f13-7c1b-dd3b-d78765d78c12", + "time": 5.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -320.75088, + "y": -46.07074, + "z": 262.40145 + } + ], + "uuid": "fed5db95-692c-ffb1-6148-6c118d475552", + "time": 6.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -220.39, + "y": -46.45, + "z": 164.58 + } + ], + "uuid": "bd73fd57-6f27-a73e-e4f3-bb9a9118c50b", + "time": 6.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -320.75, + "y": -46.07, + "z": 262.4 + } + ], + "uuid": "287a2718-8774-3554-6cbc-8273fc7241f1", + "time": 6.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -390.36404, + "y": -22.22281, + "z": 293.58465 + } + ], + "uuid": "0912b967-8b9f-c41d-025d-7d93af8e5a1a", + "time": 6.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -415.77297, + "y": 14.80787, + "z": 299.63271 + } + ], + "uuid": "3ac556c7-8a18-cb82-f9b8-b1cbdc807066", + "time": 7.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -415.77, + "y": 14.81, + "z": 299.63 + } + ], + "uuid": "320b7d25-5a6d-d4be-9d70-4b6f940c10f8", + "time": 7.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -445.39828, + "y": 27.27325, + "z": 300.65917 + } + ], + "uuid": "33263a43-99a2-0aad-347d-a8b9e78e94ef", + "time": 7.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ad1c45ef-c0a8-6d31-d2dc-fbdc6ab7ddcc": { + "name": "LeftArmBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "a0ba4882-597b-1406-0a85-283195c3b118", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "4b86ff17-49fc-6b33-d190-923250ef2205", + "time": 0.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -40, + "y": 0, + "z": 0 + } + ], + "uuid": "c2f7fd13-fce4-693e-e37c-26c95ed29926", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "a649fc3f-0cfc-4c24-169c-1caacfbc16f6", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -42.81, + "y": 0, + "z": 0 + } + ], + "uuid": "73e5e064-8cca-60b2-dfb1-14ee5cfdb221", + "time": 0.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "9bdcfc99-b60e-c70e-6856-dc0cb2fddbe5", + "time": 5.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30, + "y": 0, + "z": 0 + } + ], + "uuid": "a1d3b0df-d337-c339-43de-8b87fbbc5d61", + "time": 6.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": 0, + "z": 0 + } + ], + "uuid": "bf63f08f-443f-806d-1cac-ac1ec5e579fa", + "time": 7.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 3.47, + "y": 0, + "z": 0 + } + ], + "uuid": "8abe4bcf-6004-ddec-54b4-897fc32037c2", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": 0, + "z": 0 + } + ], + "uuid": "fdf6d0da-9c4f-fa65-ed6b-3ab3bfd72a22", + "time": 9.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "29730186-2622-086d-ab67-4bb8e356bb6c": { + "name": "Legs", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": -22.5, + "z": "0" + } + ], + "uuid": "faa31cb2-bae2-1d19-f5d0-b0cf503f63d4", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "dc291032-83da-2ec7-8165-da7694c35a59", + "time": 0.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 0 + } + ], + "uuid": "5fa8c0f6-a42e-b756-a48d-776ab06f8d67", + "time": 0.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "4e80b5b4-7c04-8374-f8a7-526b3d36d050": { + "name": "RightLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": "0", + "z": "0" + } + ], + "uuid": "78f9eef3-be2c-c765-15a4-633f730c9e67", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -53.99479, + "y": -18.74724, + "z": 23.85865 + } + ], + "uuid": "ad2ef677-73b4-4a48-cde5-9cb81ef53996", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": 0, + "z": 0 + } + ], + "uuid": "2f411754-3af9-5831-86f9-1244bb737dbd", + "time": 0.55, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -65.39787, + "y": 18.07817, + "z": 25.41989 + } + ], + "uuid": "e4c89a73-1a76-da21-c46c-19b6756815f9", + "time": 0.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -66.35192, + "y": -9.40456, + "z": 13.24044 + } + ], + "uuid": "11c51faa-d081-f78a-87a0-c08780a9962e", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -42.20611, + "y": -1.05328, + "z": 22.59239 + } + ], + "uuid": "da593d57-05e8-cbdd-3800-8df8ea06df99", + "time": 0.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -42.21, + "y": -1.05, + "z": 22.59 + } + ], + "uuid": "350fe851-ccac-419c-3205-507d6fb85eda", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -59.71, + "y": -1.05, + "z": 22.59 + } + ], + "uuid": "59c7d363-b988-c16f-f90e-716e589e6d53", + "time": 4.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -59.71, + "y": -1.05, + "z": 22.59 + } + ], + "uuid": "175d691e-1183-b2d7-7425-7f0f47f3b2ab", + "time": 5.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -32.21, + "y": -1.05, + "z": 22.59 + } + ], + "uuid": "d2a6dfe8-d232-8fbb-e21a-5833828c2641", + "time": 5.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -32.21, + "y": -1.05, + "z": 22.59 + } + ], + "uuid": "863881dc-bbca-3b59-7563-4b0967d5bde6", + "time": 6.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -49.71, + "y": -1.05, + "z": 22.59 + } + ], + "uuid": "efba1029-0d47-af25-35fe-bc16aab9abf1", + "time": 6.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -49.71, + "y": -1.05, + "z": 22.59 + } + ], + "uuid": "ed106181-b3dc-6d8d-d211-77fd8649b879", + "time": 6.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -42.25489, + "y": 5.05904, + "z": 5.54401 + } + ], + "uuid": "93fd6e32-1f98-7f47-c15d-921a7e85a9c4", + "time": 6.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -19.08581, + "y": -48.65835, + "z": 15.20807 + } + ], + "uuid": "c92d9b5e-0f6e-1eca-a917-d645a31cd30c", + "time": 7.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -24.03788, + "y": -57.97191, + "z": 21.35744 + } + ], + "uuid": "cc8891d7-04f7-de3c-fe17-c0358b959f90", + "time": 7.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -54.31282, + "y": 8.80348, + "z": 8.90928 + } + ], + "uuid": "2c6641b8-2856-2f93-756e-bc66f71fe56a", + "time": 7.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "84fe0b3a-286b-e17f-288e-c39feaa2e5e6": { + "name": "RightLegBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 15, + "y": 0, + "z": 0 + } + ], + "uuid": "c1268ea8-66b3-5f34-fba6-20f18068c39d", + "time": 0.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 55, + "y": "0", + "z": "0" + } + ], + "uuid": "1b569483-da58-880a-f1e0-b51dcc693cb1", + "time": 0.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 15, + "y": 0, + "z": 0 + } + ], + "uuid": "7b52cc4e-507e-f931-9f27-b877f6a38693", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 47.5, + "y": 0, + "z": 0 + } + ], + "uuid": "cb5ab113-47ff-9cda-a705-8c60f8f4841e", + "time": 4.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 47.5, + "y": 0, + "z": 0 + } + ], + "uuid": "f4416344-6d46-2eab-da92-0071ea745417", + "time": 6.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 22.5, + "y": 0, + "z": 0 + } + ], + "uuid": "2600fbf0-84d2-458e-4ad5-daf37388c943", + "time": 6.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 22.5, + "y": 0, + "z": 0 + } + ], + "uuid": "ef42bb35-aaee-8044-4f22-3722ddbdd72a", + "time": 7.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "73b3d6bc-af0b-a066-5d73-f3938109e11f": { + "name": "LeftLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -32.5, + "y": "0", + "z": "0" + } + ], + "uuid": "b768b893-7786-7225-9a8a-8c023e07af6f", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -32.5, + "y": 0, + "z": 0 + } + ], + "uuid": "5ec8a48d-849e-99a2-e204-a7c654f58cd4", + "time": 0.55, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 0, + "z": 0 + } + ], + "uuid": "e77a7d65-e4bc-c207-212f-c64a5862c0b7", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -38.9042, + "y": 5.68422, + "z": 21.80633 + } + ], + "uuid": "d7f421c6-0b67-0be8-5ce6-226f3d332731", + "time": 0.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -19.44491, + "y": -5.13534, + "z": -11.38342 + } + ], + "uuid": "14c358df-045d-20e0-f179-f3f96d852994", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -33.72517, + "y": -28.20382, + "z": -1.06535 + } + ], + "uuid": "b5aae34b-ac75-4c77-95b2-90f2e1ff061f", + "time": 0.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -33.73, + "y": -28.2, + "z": -1.07 + } + ], + "uuid": "eb678039-abb4-3a70-2dcc-a14ba70eeb18", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -34.80552, + "y": -26.79213, + "z": 1.25911 + } + ], + "uuid": "20c18e6f-d3ca-167e-65a4-1abfe9bb9b9a", + "time": 4.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -14.81, + "y": -26.79, + "z": 1.26 + } + ], + "uuid": "a2a534f5-3ac1-72cd-0dc4-116c721201e5", + "time": 5.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -34.84, + "y": -26.75, + "z": 1.33 + } + ], + "uuid": "021f3546-988d-2fcf-d4ed-c3cf0d72ef6f", + "time": 5.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -34.81, + "y": -26.79, + "z": 1.26 + } + ], + "uuid": "9816f128-e53c-d857-7bfc-050299fedfd8", + "time": 6.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -14.15, + "y": -26.79, + "z": 1.26 + } + ], + "uuid": "3e3d2b52-ef1a-9ed3-bba8-15cf05f538ac", + "time": 6.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -34.81, + "y": -26.79, + "z": 1.26 + } + ], + "uuid": "40b24ee9-30f7-465e-1f66-2af7eb24faf6", + "time": 6.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30, + "y": 0, + "z": -12.5 + } + ], + "uuid": "43f493c3-276a-ae83-5c7d-030cd84be5cc", + "time": 6.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -4.84407, + "y": -46.35131, + "z": -17.71996 + } + ], + "uuid": "bd57ed20-c2b6-794b-9fe2-8d3dba124cb4", + "time": 7.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -6.02604, + "y": -56.30583, + "z": -16.20663 + } + ], + "uuid": "d3a63b6a-93fb-59a1-fc9c-057305e26493", + "time": 7.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -59.77733, + "y": -4.02155, + "z": -6.33586 + } + ], + "uuid": "33934781-6eb6-52e9-5ffe-a5d28dce7ded", + "time": 7.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ee9973d4-ff4e-c96b-64f6-d1f28afd69c6": { + "name": "LeftLegBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 35, + "y": "0", + "z": "0" + } + ], + "uuid": "13129c96-ae05-6698-4ab5-85de92b47c55", + "time": 0.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "6bd65f1a-90e9-90e7-299d-e00a368cc3fd", + "time": 0.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 35, + "y": 0, + "z": 0 + } + ], + "uuid": "267977c9-4847-f908-4295-4154b4775628", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "15", + "y": 0, + "z": 0 + } + ], + "uuid": "69fa853f-0275-8225-1b24-cead846c00de", + "time": 4.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 15, + "y": 0, + "z": 0 + } + ], + "uuid": "01a2582e-0ad5-00a1-7422-6d5038fe1910", + "time": 6.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 27.5, + "y": 0, + "z": 0 + } + ], + "uuid": "59929011-4db9-6e12-f347-90f64a9f2424", + "time": 7.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "4ad021e9-2857-4e55-337b-f61da0762800": { + "name": "CameraAnchor", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "30", + "y": "-160", + "z": "0" + } + ], + "uuid": "d6b3bf7f-21c3-6e7c-1506-bd6f082549e5", + "time": 0.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "-150", + "z": "0" + } + ], + "uuid": "72712c70-e727-5498-b8a6-f261db6eee16", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -123, + "z": 0 + } + ], + "uuid": "3fac9b6f-4dcc-2746-e3f5-fe5c5660526c", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 30, + "y": -160, + "z": 0 + } + ], + "uuid": "660a25af-902b-b9ed-148f-8b65cfadf9cc", + "time": 1.15, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "-30", + "z": 0 + } + ], + "uuid": "7dcd2796-99ef-68a6-4a75-6744b40aa1ad", + "time": 1.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -30, + "z": 0 + } + ], + "uuid": "81867fca-e4ba-f118-f4d0-f6da24c91530", + "time": 2.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "-60", + "z": 0 + } + ], + "uuid": "e2ec7c0b-5de8-afbb-1747-d91f4382bd0c", + "time": 2.55, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "-70", + "z": 0 + } + ], + "uuid": "52309102-7318-d805-36d2-140d1189cab8", + "time": 2.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "-90", + "z": 0 + } + ], + "uuid": "10e2efc7-9a67-a9ae-d1c6-1230bb8c8050", + "time": 3.95, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "20", + "y": "-150", + "z": 0 + } + ], + "uuid": "372c11b3-3aec-48df-fccc-0909b4529f91", + "time": 4.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 20, + "y": -150, + "z": 0 + } + ], + "uuid": "0a4b8525-d78d-41fd-e8f4-58fbc23348e6", + "time": 4.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-10", + "y": "-140", + "z": 0 + } + ], + "uuid": "c3afa0d2-fb2b-e92c-a026-df3d1bb1b687", + "time": 4.85, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-20", + "y": "-150", + "z": 0 + } + ], + "uuid": "b57846ee-5c53-8154-a38f-3a6407f75d41", + "time": 5.05, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -20, + "y": -150, + "z": 0 + } + ], + "uuid": "ba160bc9-06cb-8e2f-418c-4aef97d63a5c", + "time": 5.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-5", + "y": "-170", + "z": 0 + } + ], + "uuid": "0de2dbe0-6d2e-3047-0b68-a55c89a63807", + "time": 5.55, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "-180", + "z": "-5" + } + ], + "uuid": "ef504966-b7ac-f9ca-e6ff-71d78164eb05", + "time": 5.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -180, + "z": -5 + } + ], + "uuid": "914d1d53-a3a1-9d61-af84-68207920e282", + "time": 6.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -180, + "z": "-10" + } + ], + "uuid": "da746b13-ceab-6c55-7d7b-42dfa79e5de5", + "time": 6.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "10", + "y": "-160", + "z": "0" + } + ], + "uuid": "6d035f8b-3673-b44e-00d0-5a28aa987928", + "time": 7.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -180, + "z": -10 + } + ], + "uuid": "3043b4fb-4faa-846a-e3b0-ca00182b1eec", + "time": 7.05, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": "-200", + "z": 0 + } + ], + "uuid": "92b1ddcd-9e6a-3c46-2fd8-8ec3b2da1dc4", + "time": 7.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "10", + "y": "-165", + "z": "10" + } + ], + "uuid": "e3a91a5a-0d94-d23f-291b-e630c342c528", + "time": 7.8, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "10", + "y": "-160", + "z": 0 + } + ], + "uuid": "c150337c-28b2-6643-c0b2-bc977fe8ead2", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-10", + "y": "-155", + "z": 10 + } + ], + "uuid": "ad82151c-b2df-42c4-e409-b3d14d1f1ea3", + "time": 9.4, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.90011, + -0.90314, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.90011, + 0.90314, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 26, + "y": 29.4, + "z": -27 + } + ], + "uuid": "8437a39d-44c4-d6fe-8e67-6d60cfb2b31e", + "time": 0.8, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 96.8, + "y": 40.4, + "z": -27 + } + ], + "uuid": "d23cb58d-6aa8-bd93-9827-c2e91937842a", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -8, + "y": 29.4, + "z": -35 + } + ], + "uuid": "84c0f366-916c-d753-643f-3d73a1c1dfa1", + "time": 1.15, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.30007, + -0.1, + -0.30271 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.30007, + 0.1, + 0.30271 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -48, + "y": 29.4, + "z": -1087 + } + ], + "uuid": "18c06085-3a13-488e-b053-d47b0c394bc2", + "time": 1.9, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.29586, + -0.1, + -0.29902 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.29586, + 0.1, + 0.29902 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -48, + "y": 29.4, + "z": -1087 + } + ], + "uuid": "cfdede6b-0ac7-2a57-c044-408e5be70264", + "time": 2.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 1, + "y": 44.4, + "z": -1080 + } + ], + "uuid": "6654ebae-93c4-e02c-d168-fb89dc6dd3bc", + "time": 2.55, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -3, + "y": 42.4, + "z": -994 + } + ], + "uuid": "490ecd50-afeb-453c-93c3-2322fb5c6e5a", + "time": 2.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -17, + "y": 31.4, + "z": -476 + } + ], + "uuid": "5e849c91-f162-ecfe-fadf-4abb1e6a41e1", + "time": 3.95, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -2, + "y": 26.4, + "z": -30 + } + ], + "uuid": "552d92a7-f12e-b271-80a4-e6b4e4b1724e", + "time": 4.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -8, + "y": 26.4, + "z": -33 + } + ], + "uuid": "b99c7803-3003-d01b-65fb-be6f5484ac84", + "time": 4.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -12, + "y": 18.4, + "z": -30 + } + ], + "uuid": "a5dfafae-e3fb-60ae-7308-94f09362d18e", + "time": 4.85, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -8, + "y": 18.4, + "z": -30 + } + ], + "uuid": "ba61d3f0-4b76-c7da-a06d-51d55c44d010", + "time": 5.05, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -8, + "y": 18.4, + "z": -30 + } + ], + "uuid": "9cc73b9b-4ea4-6183-bedf-38a93ab10400", + "time": 5.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 19.9, + "z": -25 + } + ], + "uuid": "5a5d26ce-f44e-fe38-eaf1-4544ffb56eaa", + "time": 5.55, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 6, + "y": 19.9, + "z": -25 + } + ], + "uuid": "93a4f463-cf54-4c7c-fbc5-1f2767f91e96", + "time": 5.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 6, + "y": 21.9, + "z": -25 + } + ], + "uuid": "bea41814-468b-b0de-8143-48a4091c3c72", + "time": 6.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 6, + "y": 21.9, + "z": -25 + } + ], + "uuid": "bd353b50-1af0-7b0c-55ea-44da5266d1c9", + "time": 6.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 3, + "y": 19.9, + "z": -31 + } + ], + "uuid": "2efb81c8-ce10-f5eb-f30e-e8b54f7e1140", + "time": 6.95, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -9, + "y": 24.9, + "z": -23 + } + ], + "uuid": "b88da6ef-aa3d-f8b6-82f7-5d7516710496", + "time": 7.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 3, + "y": 19.9, + "z": -31 + } + ], + "uuid": "51677c08-98cd-12f3-07f9-7c2fc07c921a", + "time": 7.05, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 6, + "y": 24.9, + "z": -23 + } + ], + "uuid": "45ce1bc1-b60b-6aa8-df12-320f0ed670f5", + "time": 7.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -4, + "y": 27.9, + "z": -17 + } + ], + "uuid": "718024fa-41f5-745b-ca26-dd0e54752ba9", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -4, + "y": 22.9, + "z": -28 + } + ], + "uuid": "b6f041ad-4fa7-c46c-25ad-413060edb711", + "time": 7.8, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -9, + "y": 14.9, + "z": -30 + } + ], + "uuid": "4ee72482-0082-0744-a7d1-39cb3bb27a64", + "time": 9.4, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.90314, + -0.89708, + -0.90011 + ], + "bezier_left_value": [ + 0, + 0.21575, + 0 + ], + "bezier_right_time": [ + 0.90314, + 0.89708, + 0.90011 + ], + "bezier_right_value": [ + 0, + -0.21575, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 6, + "y": 24.9, + "z": -25 + } + ], + "uuid": "1acceded-a7a9-ba05-2715-bba096f1f800", + "time": 6.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 6, + "y": 23.9, + "z": -25 + } + ], + "uuid": "2de5b201-9613-af2b-011c-18e44b57490d", + "time": 6.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 6, + "y": 21.9, + "z": -25 + } + ], + "uuid": "40ee5eec-b473-cc71-c0a8-2fe0c0c0ef54", + "time": 6.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 6, + "y": 22.9, + "z": -25 + } + ], + "uuid": "11e9aa60-f5f1-863e-6b62-a36601378308", + "time": 6.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 6, + "y": 21.9, + "z": -25 + } + ], + "uuid": "8d8207b1-dcef-13b3-52a9-fed5ffbefe5f", + "time": 6.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 6, + "y": 22.4, + "z": -25 + } + ], + "uuid": "e9e11b5c-4676-4667-e308-5f24b62b635f", + "time": 6.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 6, + "y": 21.9, + "z": -25 + } + ], + "uuid": "dd16b15e-9117-8baa-d2b0-b2d801b61e24", + "time": 6.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + }, + { + "uuid": "3931a921-f86d-b9e3-6c9a-77632e9e5e2e", + "name": "ex_skill_4", + "loop": "once", + "override": true, + "length": 9.3, + "snapping": 20, + "selected": true, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "markers": [ + { + "color": 3, + "time": 3.5 + }, + { + "color": 3, + "time": 4.1 + }, + { + "color": 3, + "time": 4.3 + }, + { + "color": 3, + "time": 4.75 + }, + { + "color": 3, + "time": 4.9 + }, + { + "color": 2, + "time": 5.85 + } + ], + "animators": { + "e98e96cf-993b-878e-02b8-777c368bb888": { + "name": "Avatar", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "b7f56710-7393-aae2-9b08-f0c8842cca4b", + "time": 2.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 20, + "y": 0, + "z": 0 + } + ], + "uuid": "a5188786-db88-70bb-ce53-e5586dc638f8", + "time": 2.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 35, + "y": -32.5, + "z": 0 + } + ], + "uuid": "b7481463-1449-25d6-5d45-5cf00aaca31b", + "time": 2.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 37.2266, + "y": -19.17826, + "z": -10.522 + } + ], + "uuid": "e5cfb6a2-15bb-150c-7941-8de42107db31", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 33.21808, + "y": 2.97138, + "z": -9.94347 + } + ], + "uuid": "0bad8591-262e-eb41-5241-b3ddcf8a16af", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -28.35811, + "y": 77.88246, + "z": -55.20573 + } + ], + "uuid": "a0bb7088-18b7-5c28-2393-05b7ad41c6cf", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 90, + "z": -17.5 + } + ], + "uuid": "97371845-9319-9db6-fadb-b24c4427e468", + "time": 3.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 90, + "z": -17.5 + } + ], + "uuid": "c4df9700-f8d6-6620-ee7a-64f250ed820d", + "time": 3.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 90, + "z": -10 + } + ], + "uuid": "2985557a-e345-19b8-43e8-9cfefda48a0f", + "time": 3.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 90, + "z": -17.5 + } + ], + "uuid": "647c5ffc-9a28-ced8-b716-58c1d1ef252f", + "time": 3.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-152.2", + "y": 90, + "z": "-180" + } + ], + "uuid": "c7ee6144-23a8-dd72-668b-0f134fd71992", + "time": 3.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -152.49999, + "y": "-190", + "z": -179.99999 + } + ], + "uuid": "db9da84d-f761-fc58-336a-a1e157332519", + "time": 4.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.32058, + -0.1 + ], + "bezier_left_value": [ + 0, + -1.0575, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.32058, + 0.1 + ], + "bezier_right_value": [ + 0, + 1.0575, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-137.5", + "y": -190, + "z": -180 + } + ], + "uuid": "77ba85bb-39b5-9c66-5e04-4064613c61e2", + "time": 4.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -137.5, + "y": "-160", + "z": -180 + } + ], + "uuid": "074742f5-0b7b-5b37-8c62-76321785ff69", + "time": 5.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-200", + "y": -160, + "z": -180 + } + ], + "uuid": "c7c91a86-5a3c-2a7b-deda-f9b6c4796a04", + "time": 5.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-235", + "y": "-120", + "z": -180 + } + ], + "uuid": "4165c45b-ab95-8df8-1b95-74d79940b0ee", + "time": 5.7, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -235, + "y": "0", + "z": -180 + } + ], + "uuid": "011d788c-ba18-acfd-0e37-106ab857045e", + "time": 6.05, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.20333, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.20333, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-205", + "y": "20", + "z": -180 + } + ], + "uuid": "1113f7b8-657f-2902-b92c-89c2cfa2d51d", + "time": 6.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-170", + "y": "110", + "z": -180 + } + ], + "uuid": "2bb32ed8-487f-96bd-b2c9-7446188f9143", + "time": 6.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-145", + "y": "150", + "z": -180 + } + ], + "uuid": "d2255a12-a053-43ae-f3f4-59ef1673952c", + "time": 6.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -145, + "y": 150, + "z": -180 + } + ], + "uuid": "fba2d03c-d573-5175-617d-95bc3ea59639", + "time": 7.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-210", + "y": "360", + "z": -180 + } + ], + "uuid": "98c5b775-0f0e-b447-d65b-01868c8644eb", + "time": 7.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -210, + "y": 360, + "z": -180 + } + ], + "uuid": "4cb5e64c-b1f7-2952-155c-4b4f2759923d", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -217.5, + "y": 360, + "z": -180 + } + ], + "uuid": "d7760923-5cba-9634-dc34-4ee1eaacafde", + "time": 7.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -210, + "y": 360, + "z": -180 + } + ], + "uuid": "3369d696-ebf9-f090-fb93-e31f43ae26e2", + "time": 7.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "6c5c63db-bb57-c6e8-650f-23157239fca6", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": -0.5, + "z": -4 + } + ], + "uuid": "f66b8f24-5b45-f2a2-1696-1c2235209c60", + "time": 0.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": -0.5, + "z": -16 + } + ], + "uuid": "6eab9225-74d2-e2da-ea79-d672be8430e0", + "time": 1.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -19 + } + ], + "uuid": "2946b5f1-a151-c9df-bd24-f81ae44d95a5", + "time": 2.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -7 + } + ], + "uuid": "2b1cd816-413c-fd56-35f2-48e4a6df855d", + "time": 0.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": -0.5, + "z": -10 + } + ], + "uuid": "b9f1b35f-15f9-442f-f1b4-a0d462a08ed8", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -13 + } + ], + "uuid": "e3eb79e5-6834-d3bf-6ed1-d48289534945", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -19 + } + ], + "uuid": "22bf8130-444e-5e00-88d9-19ede07a70ee", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": -0.75, + "z": -21 + } + ], + "uuid": "5af4f6ac-c667-2e8a-4ed7-842a7ae988bc", + "time": 2.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 5, + "y": -0.75, + "z": -29 + } + ], + "uuid": "f36cd1c5-2daa-b61a-a318-266716546fd0", + "time": 2.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 14, + "y": -0.75, + "z": -40 + } + ], + "uuid": "425a52be-67ce-6c3a-46ea-72ec0d9f49a1", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 16, + "y": 0.25, + "z": -52 + } + ], + "uuid": "f3fbeea7-f30a-1eec-631d-4570d063140e", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 12, + "y": -1.75, + "z": -63 + } + ], + "uuid": "6c7bf85b-c593-9851-e5b4-861013bd06e2", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 18.26, + "y": -0.42, + "z": -60.19 + } + ], + "uuid": "73753b9e-7de3-2dd3-8d6e-3a8bb62a9f2f", + "time": 3.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 20.65, + "y": -2, + "z": -55.67 + } + ], + "uuid": "ff43933b-ad04-4e35-bb94-b6c8216ea8b7", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 1, + "y": 0.25, + "z": -63 + } + ], + "uuid": "af48f77b-713c-b5ad-775e-21d1b6522a13", + "time": 3.4, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -3, + "y": 0.25, + "z": -63 + } + ], + "uuid": "abf50a33-4add-8604-5c8e-5461a2ee75f6", + "time": 3.65, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.222, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.222, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -3, + "y": 0.25, + "z": -63 + } + ], + "uuid": "0bbbf536-d258-f803-a7de-6a4124c5eefd", + "time": 3.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 4, + "y": -0.75, + "z": -63 + } + ], + "uuid": "1828b3d0-238a-4ade-0e2f-cdf3ef581a9c", + "time": 3.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 1, + "y": -1.5, + "z": -68 + } + ], + "uuid": "f5d25d0e-39bd-f121-feb9-d588f037dcac", + "time": 3.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -5, + "y": -1.5, + "z": -68 + } + ], + "uuid": "fb1a169b-0650-dd2a-0a9c-56d8b8322653", + "time": 3.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -9, + "y": -1.5, + "z": -65 + } + ], + "uuid": "c42ad663-2397-54f8-c21f-c08d81dea3da", + "time": 3.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -10, + "y": -1.5, + "z": -60 + } + ], + "uuid": "8e15d0e7-d2a2-3f08-da6a-50a5ef01a4d2", + "time": 3.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -7, + "y": -1.5, + "z": -56 + } + ], + "uuid": "85342385-2748-d1ad-82f0-4dbd2b86abed", + "time": 4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -4, + "y": -1.5, + "z": -56 + } + ], + "uuid": "d50a142b-e084-2284-08d4-9da3c5cb77ff", + "time": 4.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -2, + "y": -0.75, + "z": -56 + } + ], + "uuid": "5a49a5ce-f79a-a5a6-f2eb-c5237c473907", + "time": 4.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -2, + "y": -0.25, + "z": -56 + } + ], + "uuid": "695c1d8e-5ab2-1923-728e-04600ce14534", + "time": 4.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 1.94, + "y": 0.2, + "z": -24.44 + } + ], + "uuid": "06e319f2-3eb4-4805-aeb9-ed49d9980e94", + "time": 2.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 9.57, + "y": 0.63, + "z": -34.03 + } + ], + "uuid": "21fbac27-626c-1ca2-65a6-0d0e1b679800", + "time": 2.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 14.75, + "y": 1.53, + "z": -43.86 + } + ], + "uuid": "3cd43983-dd79-b09d-6445-7515420dfefb", + "time": 3.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 15.13, + "y": 1.67, + "z": -47.94 + } + ], + "uuid": "9a75937f-26bd-1a7b-8158-b1242d6659fa", + "time": 3.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -4, + "y": -5.75, + "z": -117 + } + ], + "uuid": "d07dd2c6-923a-88c0-e363-dfb0d0e707f5", + "time": 5.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 7, + "y": -5.25, + "z": -137 + } + ], + "uuid": "5cac500d-bfb1-7451-fa84-595e03ccecc3", + "time": 5.7, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 25, + "y": -5.25, + "z": -130 + } + ], + "uuid": "ad8632d0-e3e1-b2ac-a9b2-0b6a38b9bdb9", + "time": 6.05, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.20333, + -0.1, + -0.2 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.20333, + 0.1, + 0.2 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 22, + "y": -9.25, + "z": -135 + } + ], + "uuid": "4e2ccaa2-233b-da1a-54a8-061a43e4df20", + "time": 6.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 27, + "y": -9.25, + "z": -141 + } + ], + "uuid": "1d5d0906-375a-9464-aef9-17d7aa0d029d", + "time": 6.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 25, + "y": -3.25, + "z": -136 + } + ], + "uuid": "6cdca53f-e6e0-3aca-6421-d4ec77b005ce", + "time": 6.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -4, + "y": 0.5, + "z": -61 + } + ], + "uuid": "abaa330d-aadf-dfdb-8b7f-f443315d8d10", + "time": 4.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -8, + "y": 0.75, + "z": -72 + } + ], + "uuid": "9ec208b8-d017-bc20-99fb-8b7fbee3c500", + "time": 5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -9, + "y": 1.25, + "z": -85 + } + ], + "uuid": "5df5b80d-2817-eb09-d0b9-48a235b9c90b", + "time": 5.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -9, + "y": -0.25, + "z": -100 + } + ], + "uuid": "851495ac-8cec-d8e4-175d-72534daf6024", + "time": 5.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -2.75, + "y": 1.39, + "z": -57.81 + } + ], + "uuid": "773cccf4-0184-a0db-b498-5f0f62ed475b", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -6.02, + "y": 1.54, + "z": -65.89 + } + ], + "uuid": "2c45f979-7ade-0d60-129f-0fb6a6e85b94", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -8.62, + "y": 1.98, + "z": -77.94 + } + ], + "uuid": "66b274d1-6b12-ad14-85ed-8bab080d3cd3", + "time": 5.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 20, + "y": -3.25, + "z": -151 + } + ], + "uuid": "d27258f2-87ba-4c49-153a-873b00af0361", + "time": 6.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 17, + "y": -3.25, + "z": -167 + } + ], + "uuid": "db5b332d-f91f-66f8-5e40-20cc46c373d3", + "time": 6.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 16, + "y": -3.25, + "z": -182 + } + ], + "uuid": "be4f93ae-db51-c7e5-3759-76d63db5db52", + "time": 6.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 14, + "y": -3.25, + "z": -195 + } + ], + "uuid": "1bd2affd-bdc9-e30b-fd68-369e56997cf3", + "time": 7.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": -9.25, + "z": -217 + } + ], + "uuid": "d3f5c2f1-84e0-a732-b069-2d177d95cc34", + "time": 7.45, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 5.88, + "y": -6.25, + "z": -210.81 + } + ], + "uuid": "15e216ea-3905-6449-02a4-442e05efb0d6", + "time": 7.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 22.56, + "y": -1.88, + "z": -142.19 + } + ], + "uuid": "be0d1388-c18c-ba83-383a-f3c7879f0026", + "time": 6.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 18.4, + "y": -1.4, + "z": -158.61 + } + ], + "uuid": "4f6ca6bc-46f6-e262-5990-9c996a6e535b", + "time": 6.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 16.54, + "y": -1.43, + "z": -174.21 + } + ], + "uuid": "e6a50b07-e3f2-5f9e-7f7a-1b0afc5176a4", + "time": 6.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 15.47, + "y": -1.24, + "z": -188 + } + ], + "uuid": "1cc17105-0d2f-ff48-4769-225fe50ca14a", + "time": 7.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -8, + "y": "-9.25", + "z": -241 + } + ], + "uuid": "5135f0e0-8066-b41c-89a5-05d731c5231b", + "time": 8.45, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.99667, + -0.1, + -0.99667 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.99667, + 0.1, + 0.99667 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "22d40862-bd19-a16d-9e33-79364e6656d8": { + "name": "Head", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 7.56397, + "y": -7.43547, + "z": -0.98448 + } + ], + "uuid": "258676c0-4144-8abf-aba8-7555bacf37fa", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 7.56, + "y": -7.44, + "z": -0.98 + } + ], + "uuid": "c82a37d3-5e3d-e72d-47ff-d7f791593934", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 8.20138, + "y": -7.18856, + "z": -6.01467 + } + ], + "uuid": "ac2cde35-59d6-20e1-e5c2-b969be8fcd5c", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10.15874, + "y": 7.04532, + "z": -2.57817 + } + ], + "uuid": "fd548f14-4399-18c9-09c8-4e4760141be8", + "time": 2.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -29.79914, + "y": -19.42132, + "z": 16.57338 + } + ], + "uuid": "27e76891-989a-85d5-c908-1ec608c43ee5", + "time": 2.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -3.49908, + "y": 16.95006, + "z": -0.53165 + } + ], + "uuid": "d88d150d-f05c-2f39-6de2-6f5387d00dcd", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -21.32529, + "y": 33.42346, + "z": -7.0945 + } + ], + "uuid": "825c2823-7e94-3c1c-52c9-84b040e6623e", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -24.67668, + "y": -19.89165, + "z": 15.76935 + } + ], + "uuid": "1780e6a1-38a9-2114-b904-3c6a64b0ca3b", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15.69284, + "y": -16.88547, + "z": 4.6653 + } + ], + "uuid": "223fc95e-b48b-33bf-89be-4bc840621eaf", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15.69, + "y": -16.89, + "z": 4.67 + } + ], + "uuid": "5461c4d7-d993-e454-e936-99f622a6ad54", + "time": 3.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10.69, + "y": -16.89, + "z": 4.67 + } + ], + "uuid": "6ee095fd-f672-6e8c-61b2-ff4450f6dc96", + "time": 3.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15.69, + "y": -16.89, + "z": 4.67 + } + ], + "uuid": "b9380d39-1ec8-2365-cf8c-9b9acde4dbc5", + "time": 3.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -12.5, + "y": "0", + "z": "0" + } + ], + "uuid": "e6343dbb-82c6-5f7f-1c59-68f2b8c41742", + "time": 3.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -29.32794, + "y": 38.62085, + "z": -19.32397 + } + ], + "uuid": "f4528791-6ec2-452f-578c-f2d10cbd1eee", + "time": 3.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -29.33, + "y": 38.62, + "z": -19.32 + } + ], + "uuid": "eadf9844-3c18-ccfc-0b36-14dce0c3de28", + "time": 4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -12.41324, + "y": -12.5284, + "z": 10.03341 + } + ], + "uuid": "d67ea8fd-19a7-1638-6a6c-4688563c5045", + "time": 4.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -19.80952, + "y": -10.0871, + "z": 9.4894 + } + ], + "uuid": "c4a904ec-0b3f-968c-f84b-1a8578adc95d", + "time": 4.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -25.02813, + "y": -37.93891, + "z": 21.89628 + } + ], + "uuid": "afb9c9d5-c520-1f16-3bfd-17ceea5db954", + "time": 4.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -38.13889, + "y": -57.29783, + "z": 39.33361 + } + ], + "uuid": "e04db88f-4ad7-0a26-2784-c87724799375", + "time": 5.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -38.14, + "y": -57.3, + "z": 39.33 + } + ], + "uuid": "0103097c-a35f-e108-4eda-83f3a7278398", + "time": 5.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 18.96012, + "y": -38.72512, + "z": -3.08518 + } + ], + "uuid": "5c75d85b-c6d3-2cf0-4432-b6e53a95db70", + "time": 5.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 18.96, + "y": -38.73, + "z": -3.09 + } + ], + "uuid": "2b724a58-5cb2-7d82-d609-d1ef23b5f4d8", + "time": 5.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 47.19922, + "y": "0", + "z": "0" + } + ], + "uuid": "7ac75e35-5328-bd88-dfc3-41e77fa44176", + "time": 6.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 47.12935, + "y": -39.03529, + "z": -34.15457 + } + ], + "uuid": "c241b2ba-a149-ece6-dc7e-1fdf8a4bfb69", + "time": 6.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 9.28604, + "y": -31.89193, + "z": 5.29367 + } + ], + "uuid": "d8f25b76-5efc-8f23-4852-83058e577bdc", + "time": 6.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15.45485, + "y": -8.83288, + "z": -3.83215 + } + ], + "uuid": "c0319e1f-1977-152d-bdeb-97be5a6efbc2", + "time": 6.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -23.06376, + "y": -23.69595, + "z": 15.13373 + } + ], + "uuid": "150355a9-42be-ddd5-914f-5098773193ca", + "time": 6.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -23.06, + "y": -23.7, + "z": 15.13 + } + ], + "uuid": "78106a3b-bb49-99c8-6d62-dde5681612f0", + "time": 6.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -45.73276, + "y": -59.94323, + "z": 47.02363 + } + ], + "uuid": "af511288-d611-e1ff-8438-755c465d83bb", + "time": 7.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 33.55156, + "y": 4.86307, + "z": -8.70494 + } + ], + "uuid": "95671f8d-1e90-f928-240d-39fcb4765f44", + "time": 7.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 33.55156, + "y": 4.86307, + "z": -8.70494 + } + ], + "uuid": "41c5a918-a066-e3d3-b090-ff0dee4aef65", + "time": 7.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 38.55156, + "y": 4.86307, + "z": -8.70494 + } + ], + "uuid": "6080e9cf-41b4-6b0f-2231-6dd1224b32c0", + "time": 7.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 33.55156, + "y": 4.86307, + "z": -8.70494 + } + ], + "uuid": "c8f45044-34a8-656b-cb4c-910a87ca55d5", + "time": 7.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "dbf9777c-e939-2c26-5f62-37b023003a42": { + "name": "Skirt", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "fd09523e-8ad5-19cc-8d6d-4525b334436f", + "time": 3.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -25, + "y": 0, + "z": 0 + } + ], + "uuid": "5de9f3a4-926b-3712-370b-1d05e8d77fc2", + "time": 4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -25, + "y": 0, + "z": 0 + } + ], + "uuid": "21ebf065-c5b0-66b7-ebdd-8b71cba2ba02", + "time": 4.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -25, + "y": 0, + "z": 0 + } + ], + "uuid": "e68cb9a1-531a-d9e3-6b9a-e3256c25aa94", + "time": 4.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -25, + "y": 0, + "z": 0 + } + ], + "uuid": "8bfcc705-83fd-b4a5-16a7-09b5b4ae3e9d", + "time": 5.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "88584903-9d58-1097-4472-d7f7cce2eabd", + "time": 5.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "7dac7d74-27d8-db40-1823-2e8a94324699", + "time": 6.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -25, + "y": 0, + "z": 0 + } + ], + "uuid": "02aa34d3-daa5-f461-5cf9-e818bdf7bc0a", + "time": 6.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "6514d35d-1153-0eab-6ba5-34914d0d4927", + "time": 6.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "6bb1bb01-99bd-a4b4-054b-22d562d60522", + "time": 6.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "37265d5a-6fdb-62b1-6a80-7ead9b8c6165": { + "name": "Shield", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -175, + "y": -270, + "z": -180 + } + ], + "uuid": "1c3dc134-cce7-01cc-ad08-433dad40c16e", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -4, + "y": 9.25, + "z": 1.5 + } + ], + "uuid": "a98ac068-42da-f2ae-c384-b6b6f154b614", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3c1cb66d-8a31-d31f-ec9f-65a33e313a53": { + "name": "RightArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 10 + } + ], + "uuid": "f16ac535-4f43-ca73-21e0-e1cb8410da6c", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 10 + } + ], + "uuid": "47949abc-3608-6408-4054-0ada481507be", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 22.5, + "y": 0, + "z": 10 + } + ], + "uuid": "4ce554bf-8f0a-6d8f-eb3a-cfcdb0bd8db7", + "time": 2.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -67.71528, + "y": -52.33078, + "z": 39.33721 + } + ], + "uuid": "88c4ae4c-33ff-8d79-9374-68afb6ef003a", + "time": 2.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -38.26847, + "y": 8.7778, + "z": 74.0232 + } + ], + "uuid": "24d42f7b-5e6a-a9c3-6ca6-ab2cfc99f0fa", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90.9753, + "y": -38.71517, + "z": 74.74758 + } + ], + "uuid": "9efd0732-5890-791d-8252-f8c52fd56842", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -88.09502, + "y": -1.76137, + "z": 93.06029 + } + ], + "uuid": "2577c0cf-772e-ee72-dcb8-0857fb756645", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -87.94595, + "y": 3.40812, + "z": 88.24019 + } + ], + "uuid": "c58f419f-1acc-a958-d773-03c1337cd02f", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -87.95, + "y": 3.41, + "z": 88.24 + } + ], + "uuid": "fc013482-2356-3ff9-87ff-f4fe533b4b4c", + "time": 3.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -21.65414, + "y": -5.76466, + "z": 105.39324 + } + ], + "uuid": "4620f202-7b5f-f07c-0673-1969f0eaea9c", + "time": 3.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -21.65, + "y": -5.76, + "z": 105.39 + } + ], + "uuid": "1be6c63a-7fd2-0654-cd2f-1bd99a5fbd68", + "time": 4.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 5.85, + "y": -5.76, + "z": 105.39 + } + ], + "uuid": "a742e1d3-fd02-6d18-8517-5bd61350d856", + "time": 4.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 28.35, + "y": -5.76, + "z": 105.39 + } + ], + "uuid": "770146fc-6fcc-60f2-a305-c0cf367d8aa1", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30.97607, + "y": -48.20277, + "z": 59.12537 + } + ], + "uuid": "10cc78f9-64bb-aca0-d68f-8c6e57c8e35e", + "time": 5.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -13.05, + "y": -4.37, + "z": 106.91 + } + ], + "uuid": "312b89a8-8519-15b3-8760-3fcd5450637f", + "time": 5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 28.35, + "y": -5.76, + "z": 105.39 + } + ], + "uuid": "ac010f9a-bada-c7f6-4e38-41ae66135bdf", + "time": 5.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -13.05, + "y": -4.37, + "z": 106.91 + } + ], + "uuid": "392f14da-1f87-e71b-3ed4-e773474cb984", + "time": 5.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30.98, + "y": -48.2, + "z": 59.13 + } + ], + "uuid": "a8f36c4f-c22d-91e4-d172-ed6341404e81", + "time": 5.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -83.48, + "y": -48.2, + "z": 59.13 + } + ], + "uuid": "1638b46c-bf9b-71da-7123-4f025a1722f6", + "time": 6.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -83.48, + "y": -48.2, + "z": 59.13 + } + ], + "uuid": "4fa0418a-fc3b-9d77-01ff-dad086eaa1fa", + "time": 7.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -56.12, + "y": -48.2, + "z": 59.13 + } + ], + "uuid": "d1594b06-bbdd-182c-3afb-75104d8aee37", + "time": 6.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -83.48, + "y": -48.2, + "z": 59.13 + } + ], + "uuid": "df9a154a-7066-5484-0387-04c754182c81", + "time": 6.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -83.48, + "y": -48.2, + "z": 59.13 + } + ], + "uuid": "55511f5a-3b7b-9d34-3740-0a4a6208ef9a", + "time": 6.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -56.12, + "y": -48.2, + "z": 59.13 + } + ], + "uuid": "5fca8ada-2ff7-7700-33c6-5fe9b6906e93", + "time": 6.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 14.39913, + "y": -47.50298, + "z": 25.34313 + } + ], + "uuid": "17430685-f5e4-8fff-1b85-adc93cf57c11", + "time": 7.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "b924539e-1292-1a17-6240-a525ae346090": { + "name": "RightArmBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "15b575bb-40a7-1349-a503-2746f91e8265", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30, + "y": 0, + "z": 0 + } + ], + "uuid": "d2167ea7-bdbe-01e0-0f2a-db9c301eda76", + "time": 2.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -52.5, + "y": 0, + "z": 0 + } + ], + "uuid": "0d2a2a7d-2dce-f772-6266-40d292bce22b", + "time": 2.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -52.5, + "y": 0, + "z": 0 + } + ], + "uuid": "56a7ea00-cf67-c2f8-da36-7b2da7361b23", + "time": 5.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -65, + "y": 0, + "z": 0 + } + ], + "uuid": "afe0fe54-7b60-b40d-e407-68b6d10ef5da", + "time": 5.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -65, + "y": 0, + "z": 0 + } + ], + "uuid": "d7d53739-b13d-9193-c14b-135220a60731", + "time": 5.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -35, + "y": 0, + "z": 0 + } + ], + "uuid": "1b215130-5968-13d6-79de-7e6a9ec5ca43", + "time": 6.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -70, + "y": 0, + "z": 0 + } + ], + "uuid": "c30263d3-ae97-3ffc-0120-8414f7817742", + "time": 7.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e7d3e5d8-00e4-587c-7bb6-6787db00054b": { + "name": "LeftArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": -10 + } + ], + "uuid": "3d32afa9-0908-9ea5-b6b7-969a75e4e589", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -10 + } + ], + "uuid": "11a8b7d7-50f4-7cb5-8e89-163c086a6868", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -32.40109, + "y": 2.68407, + "z": -5.77995 + } + ], + "uuid": "7e250900-8caa-ce2b-6738-564d485d4e27", + "time": 2.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -19.90109, + "y": 2.68407, + "z": -5.77995 + } + ], + "uuid": "82422f7c-6419-8b72-8340-338b9581d9ab", + "time": 2.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 3.68874, + "y": 4.42647, + "z": -28.25677 + } + ], + "uuid": "22b5cfac-4753-6950-77a8-bbe2439ae300", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 46.19, + "y": 4.43, + "z": -28.26 + } + ], + "uuid": "c824f955-2568-efb3-c1c1-8eed27826275", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -12.21128, + "y": -20.26749, + "z": -16.18298 + } + ], + "uuid": "52d8e4bc-0f1e-0e13-4421-5fb6c925f076", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -71.52516, + "y": 14.30192, + "z": -3.17222 + } + ], + "uuid": "7d20b6ee-e617-0dd3-c879-27cb5130f124", + "time": 3.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -71.52516, + "y": 14.30192, + "z": -3.17222 + } + ], + "uuid": "5fbb6893-b683-6778-8e48-829a827f3904", + "time": 3.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -99.02516, + "y": 14.30192, + "z": -3.17222 + } + ], + "uuid": "301e339b-ccd9-f651-c436-786ea26ff3a0", + "time": 3.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -49.02516, + "y": 14.30192, + "z": -3.17222 + } + ], + "uuid": "bdc6c69c-d3fa-20e2-fc90-a2b48e7e1b8f", + "time": 3.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -18.68348, + "y": -47.87949, + "z": -80.76732 + } + ], + "uuid": "895c6ff0-58e9-6282-3c99-8bbd3fcf226c", + "time": 3.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -59.14241, + "y": 39.24069, + "z": -31.46368 + } + ], + "uuid": "12539baa-c5fa-416a-4a8a-8abc5b9ed164", + "time": 3.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -59.14, + "y": 39.24, + "z": -31.46 + } + ], + "uuid": "3e98da17-8e32-69fb-0217-8bcadd09cb4e", + "time": 4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -101.24557, + "y": 47.72634, + "z": -86.57344 + } + ], + "uuid": "68844e05-6878-cbdf-39f9-b96110ddac14", + "time": 4.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -116.25, + "y": 47.73, + "z": -86.57 + } + ], + "uuid": "23156af9-f573-36c0-a273-7474bba05b0d", + "time": 4.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -101.24557, + "y": 47.72634, + "z": -86.57344 + } + ], + "uuid": "6b61329f-2cb8-f4b5-70a2-729e6c3c415e", + "time": 4.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -81.25, + "y": 47.73, + "z": -86.57 + } + ], + "uuid": "eb725a78-49a5-22e6-7f82-64bd4a4007a7", + "time": 4.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -153.91749, + "y": -37.49124, + "z": 51.89231 + } + ], + "uuid": "2ccb7567-0fe7-1a56-e3ab-ef5cec9fad89", + "time": 4.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -162.31185, + "y": -45.36687, + "z": 81.08523 + } + ], + "uuid": "f901cd07-8965-5906-23eb-993e02cf887e", + "time": 5.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -180.88759, + "y": -47.97834, + "z": 106.42588 + } + ], + "uuid": "d5268a9f-1d48-8942-21c7-fd28de567700", + "time": 5.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -6.35421, + "y": 15.89375, + "z": -19.53301 + } + ], + "uuid": "69d30bbe-8262-1b38-ed15-1e6a36cdad7a", + "time": 5.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -6.35, + "y": 15.89, + "z": -19.53 + } + ], + "uuid": "ed6ee330-643b-1e1b-d3e6-9ee8507607ea", + "time": 5.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -48.44355, + "y": 11.99707, + "z": 22.39959 + } + ], + "uuid": "d47fb147-d086-7f4b-d5f1-b52703694ed8", + "time": 6.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 30.79559, + "y": -4.42609, + "z": -31.45766 + } + ], + "uuid": "1ca0b8be-7ec4-0c67-ac4a-52d2adf6c7e0", + "time": 6.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -9.82238, + "y": -2.77348, + "z": -21.57824 + } + ], + "uuid": "bae40cc6-f29e-0d61-ffec-f22785709244", + "time": 6.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -27.32, + "y": -2.77, + "z": -21.58 + } + ], + "uuid": "666a40cb-0c76-cc26-d5a3-d519374f9cdb", + "time": 6.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -27.32, + "y": -2.77, + "z": -21.58 + } + ], + "uuid": "478d13b8-a073-7c9f-c351-2e48692746d6", + "time": 7.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -116.25, + "y": 47.73, + "z": -86.57 + } + ], + "uuid": "94d20acb-198b-742d-c41a-be0b1a6ffa76", + "time": 4.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -101.24557, + "y": 47.72634, + "z": -86.57344 + } + ], + "uuid": "ec5222e2-b7be-246a-4334-7d97c1f8ca1f", + "time": 4.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -127.15821, + "y": 43.65411, + "z": -99.165 + } + ], + "uuid": "ec58ea19-6fa6-19b1-4bfe-3cc7dcd60244", + "time": 7.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -127.16, + "y": 43.65, + "z": -99.16 + } + ], + "uuid": "f83413fd-8d74-21a6-c2d1-9805b5bb8507", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -140.979, + "y": 46.92872, + "z": -104.52967 + } + ], + "uuid": "fde76151-5c44-dcaa-4421-b2dab1846a26", + "time": 7.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -127.16, + "y": 43.65, + "z": -99.16 + } + ], + "uuid": "6365ac91-1a64-7752-d814-ab317c3e21cd", + "time": 7.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ad1c45ef-c0a8-6d31-d2dc-fbdc6ab7ddcc": { + "name": "LeftArmBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "5419a73b-69d1-f8e3-7d3e-dc11021419b7", + "time": 2.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -40, + "y": 0, + "z": 0 + } + ], + "uuid": "4afccf6c-715f-cdc9-49b7-cdd807a88c39", + "time": 2.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -40, + "y": 0, + "z": 0 + } + ], + "uuid": "81aa90ef-ed5d-0cc7-9822-20ce57955254", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -60, + "y": 0, + "z": 0 + } + ], + "uuid": "dab480a8-6411-f50f-d0e3-13adaad90778", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -35, + "y": 0, + "z": 0 + } + ], + "uuid": "cb8f6ec2-8443-ad1c-5619-7e807d6d9b9a", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -35, + "y": 0, + "z": 0 + } + ], + "uuid": "e4479d73-6ed1-1f4d-bb1d-f2aabe922aa3", + "time": 3.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "2d4e68f8-ef32-1c66-c9dc-8387989953cc", + "time": 3.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "84ebdc16-7a37-8c7c-47d3-042d9b789b40", + "time": 4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": 0, + "z": 0 + } + ], + "uuid": "553eecbb-822b-77c6-1504-b5f2f6136d1f", + "time": 4.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": 0, + "z": 0 + } + ], + "uuid": "09fdb683-203d-6c3c-6aff-15947e55a1aa", + "time": 4.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "8cd12b35-cf5b-1a23-7a32-170301e5da04", + "time": 4.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "3b4d3c06-bc79-ed05-c753-c7d2e5e51af4", + "time": 5.35, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90, + "y": 0, + "z": 0 + } + ], + "uuid": "c66161a7-ff36-1e2b-ed6c-9b3be89ead5f", + "time": 5.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90, + "y": 0, + "z": 0 + } + ], + "uuid": "a188cd73-81c9-3a42-143d-63c6fa2299b4", + "time": 5.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "e5f9a8f3-c24c-7a22-ab95-ff4d1ec6dc22", + "time": 6.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "1077a75a-6cce-bfb5-14b2-6067772df3c0", + "time": 6.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -37.5, + "y": 0, + "z": 0 + } + ], + "uuid": "e75113a2-7652-b42a-6fd2-16cecbada6fc", + "time": 6.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -37.5, + "y": 0, + "z": 0 + } + ], + "uuid": "1a975853-058a-f913-d3a7-4b51950150f0", + "time": 7.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "171f23cf-be83-c4f7-0a77-032a51c530b9", + "time": 7.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "29730186-2622-086d-ab67-4bb8e356bb6c": { + "name": "Legs", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 17.5, + "z": "0" + } + ], + "uuid": "458c88a4-c5bd-8d2c-c0f1-e952fe8c6092", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "8c963183-418b-9736-f0d0-f812179550b5", + "time": 2.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -3.13388, + "y": 17.22575, + "z": -10.47479 + } + ], + "uuid": "1670e5da-3ffa-6e22-3f99-93424659095b", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -3.13, + "y": 17.23, + "z": -10.47 + } + ], + "uuid": "cd2c073e-fa8f-e5ad-80e7-3516a99bc56f", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "80c72afb-27ea-f184-596c-bc54a58c96b5", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "3f81ca03-c66c-e5fb-e07d-a6063f3e4afb", + "time": 3.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10.05889, + "y": -29.58999, + "z": 13.94912 + } + ], + "uuid": "80a5fd99-f9ae-3730-e5f2-549e140e70f5", + "time": 4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "33a5419a-1b00-d642-af5e-83212202fa30", + "time": 4.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "6727de67-7ef1-c119-c419-ec78e856076a", + "time": 6.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -24.61848, + "y": 19.291, + "z": 15.91527 + } + ], + "uuid": "a5f4ab2f-4021-049e-9544-360578cf494e", + "time": 6.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "c8921d60-b723-06ff-3c56-7fd337cf37cb", + "time": 6.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30, + "y": 0, + "z": 0 + } + ], + "uuid": "4b3d7518-f96d-a588-eda2-65f562b62635", + "time": 6.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -32.71638, + "y": -18.01635, + "z": 13.93016 + } + ], + "uuid": "b81d7d92-6253-5847-a760-54e11786474c", + "time": 6.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -32.72, + "y": -18.02, + "z": 13.93 + } + ], + "uuid": "3def4621-adf8-216f-a66e-3ef3a08cbae9", + "time": 7.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 15, + "z": "0" + } + ], + "uuid": "e5d1ae9b-31c7-4e8e-59e4-5cda3489a69a", + "time": 7.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 15, + "z": 0 + } + ], + "uuid": "e6e4f5b8-3fbd-f65c-7fe1-4243b5faf982", + "time": 7.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 7.5, + "y": 15, + "z": 0 + } + ], + "uuid": "f94ea8cf-9dd6-6612-f764-394b99ddf3e5", + "time": 7.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 15, + "z": 0 + } + ], + "uuid": "2d1dc5b7-d937-b563-3c6b-1e3ac00c0c84", + "time": 7.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "4e80b5b4-7c04-8374-f8a7-526b3d36d050": { + "name": "RightLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 2.5 + } + ], + "uuid": "d77f3a49-b015-60a3-b585-4079038c356b", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -12.5, + "y": 0, + "z": 2.5 + } + ], + "uuid": "b0dfa36d-1b5b-f398-8665-f94224143ee8", + "time": 0.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 12.5, + "y": 0, + "z": 2.5 + } + ], + "uuid": "7fede37a-83a9-c5c0-ceeb-e725e7ba2376", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 2.5 + } + ], + "uuid": "98cd0436-7d30-a30f-c2e5-5afc25dd28b6", + "time": 2.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -12.5, + "y": 0, + "z": 2.5 + } + ], + "uuid": "d4b267df-0bf6-d3d0-d6c3-6c371f63b07c", + "time": 1.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 2.5 + } + ], + "uuid": "d3ee5168-bf8b-f626-0360-a4a636bf7278", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -2.78356, + "y": -9.39129, + "z": 5.95118 + } + ], + "uuid": "3857e73e-d3ed-5abe-d8a3-b85bbf7780bb", + "time": 2.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -80, + "y": "0", + "z": "0" + } + ], + "uuid": "585e9944-1651-84f5-2c08-169b967c5677", + "time": 2.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 1.19959, + "y": -10.23537, + "z": 7.17381 + } + ], + "uuid": "d04476fa-e073-e99d-33c8-d388ab17a488", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -83.8, + "y": -10.24, + "z": 7.17 + } + ], + "uuid": "adc78d38-3892-eef4-f5b3-12a45acb1d93", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 6.2, + "y": -10.24, + "z": 7.17 + } + ], + "uuid": "d7a2bb8a-7ecb-8882-a666-af1bc2dff34e", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -12.5, + "y": "0", + "z": "0" + } + ], + "uuid": "a068ebc7-f818-cb6b-98d6-0402c53f3a7b", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -12.5, + "y": 0, + "z": 0 + } + ], + "uuid": "5f66c2a6-cd1b-338f-016b-84354a86a160", + "time": 3.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -2.5, + "y": 0, + "z": 0 + } + ], + "uuid": "d9700154-637d-72d1-6d52-61b88c4bd2e4", + "time": 3.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -12.5, + "y": 0, + "z": 0 + } + ], + "uuid": "02fbf53e-3909-e949-26b7-3d64975315c7", + "time": 3.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -65, + "y": 0, + "z": 0 + } + ], + "uuid": "dcbba142-d844-4c92-4610-0c863ddf15d2", + "time": 3.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -65, + "y": 0, + "z": 0 + } + ], + "uuid": "1ddbda7c-a6e0-b9dc-e2c3-8e6477f299d0", + "time": 3.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -22.99008, + "y": 11.53486, + "z": -4.8493 + } + ], + "uuid": "0e28f3fb-cdf4-e637-76d6-e40e341f637d", + "time": 4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90.49, + "y": 11.53, + "z": -4.85 + } + ], + "uuid": "994fd00f-426b-f7a9-a6dd-4b8630280f5f", + "time": 4.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -35.49, + "y": 11.53, + "z": -4.85 + } + ], + "uuid": "d24af504-da06-e950-e5bb-ff776ae31828", + "time": 4.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90.48325, + "y": 6.53018, + "z": -4.80702 + } + ], + "uuid": "20e8c389-b7cd-4e46-1e3b-196ba594f426", + "time": 5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -2.98325, + "y": 6.53018, + "z": -4.80702 + } + ], + "uuid": "3b2b2dbd-9425-7e09-156e-70a165ead765", + "time": 5.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90.48325, + "y": 6.53018, + "z": -4.80702 + } + ], + "uuid": "2ffc06a3-d834-3f0d-4ca9-63545e09cc5c", + "time": 5.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": 0, + "z": -2.5 + } + ], + "uuid": "1504dff4-6dce-cc92-26e1-7fcc9e28f62a", + "time": 5.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -42.5, + "y": 0, + "z": -10 + } + ], + "uuid": "bbfc9adc-82b2-e655-bf26-3ad200fea72e", + "time": 5.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -42.5, + "y": 0, + "z": -10 + } + ], + "uuid": "8bc53851-1c09-c91c-4cc3-e60ba6002e79", + "time": 6.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 68.82717, + "y": -18.74724, + "z": 7.09597 + } + ], + "uuid": "9ef6d705-7814-b14d-dce8-65b6956028c1", + "time": 6.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 46.33, + "y": -18.75, + "z": 7.1 + } + ], + "uuid": "9e8081bd-21d7-e5c8-8a22-8f37d0a1f270", + "time": 6.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -67.5, + "y": "0", + "z": "0" + } + ], + "uuid": "1402d43f-cabd-6298-5933-01446e01cde8", + "time": 6.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 45, + "y": 0, + "z": 0 + } + ], + "uuid": "39b7789d-a6ed-4b30-d3fe-1a59b62fa976", + "time": 6.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -65, + "y": 0, + "z": 0 + } + ], + "uuid": "2dd66a15-e9c1-27af-2c11-04cf0ce12bca", + "time": 6.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 40, + "y": 0, + "z": 0 + } + ], + "uuid": "8886acd5-919c-c08f-7747-573d2cb43ef0", + "time": 7.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -59.6134, + "y": -12.27404, + "z": -9.14765 + } + ], + "uuid": "0ae1771e-8e8e-0e70-35f8-0815e06e78d2", + "time": 7.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "84fe0b3a-286b-e17f-288e-c39feaa2e5e6": { + "name": "RightLegBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "3f5d1f31-6dba-5d32-6c3a-cd667102a330", + "time": 0.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 12.5, + "y": 0, + "z": 0 + } + ], + "uuid": "802d59ff-551e-5cbc-1d42-ccfc41d38533", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "a73ec1ba-b82f-8461-0c16-02094e0382cd", + "time": 1.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "208cb4b9-880e-df5f-2819-412e324e739c", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 22.5, + "y": 0, + "z": 0 + } + ], + "uuid": "1e09bd27-0ecc-e4a7-01f9-6b288ab06f58", + "time": 2.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 12.5, + "y": 0, + "z": 0 + } + ], + "uuid": "96e3d97d-9224-a317-d395-a4ef69a8a78e", + "time": 2.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 35, + "y": 0, + "z": 0 + } + ], + "uuid": "2f6449cb-ab7e-e783-a081-48f7a2804b74", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 17.5, + "y": 0, + "z": 0 + } + ], + "uuid": "5951f56e-8816-3440-fe43-db0aefe7a23b", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 25, + "y": 0, + "z": 0 + } + ], + "uuid": "ba1120d6-79a9-a906-b306-6096b8a780d8", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "0e210563-137e-0dfe-dce4-86cbe6c6c8be", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 37.5, + "y": 0, + "z": 0 + } + ], + "uuid": "b750f6fd-8a20-569a-390a-055bc9a7ed24", + "time": 3.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 42.5, + "y": 0, + "z": 0 + } + ], + "uuid": "81d8c196-d25c-e061-3842-14b2f1f2f49b", + "time": 3.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 47.5, + "y": 0, + "z": 0 + } + ], + "uuid": "2b9dd365-7e78-bd4c-0bd3-ace8ba0df7fd", + "time": 4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 47.5, + "y": 0, + "z": 0 + } + ], + "uuid": "48b4bd35-fd2f-0808-8792-d1caa2aab4b4", + "time": 5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 20, + "y": 0, + "z": 0 + } + ], + "uuid": "590d4fd5-5c5e-a8c0-d2ad-4b09a6a44d55", + "time": 5.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": 0, + "z": 0 + } + ], + "uuid": "8dff0a39-ad49-f492-3026-f65736ee41ab", + "time": 5.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 20, + "y": 0, + "z": 0 + } + ], + "uuid": "5ae7554e-e276-07c7-80af-f559325b5cd0", + "time": 5.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 20, + "y": 0, + "z": 0 + } + ], + "uuid": "1f3a3c14-1b4e-d456-a666-a71c083ae624", + "time": 6.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "bdc153d5-e4e3-51d5-a551-923f7d71883e", + "time": 6.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 20, + "y": 0, + "z": 0 + } + ], + "uuid": "be344352-04c0-105f-fb6e-8d277ce901e1", + "time": 6.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 62.5, + "y": 0, + "z": 0 + } + ], + "uuid": "1e6c871a-8ea5-e150-a949-8fe5a45c155d", + "time": 6.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 22.5, + "y": 0, + "z": 0 + } + ], + "uuid": "c40e7164-0834-0c26-066c-21d655175693", + "time": 6.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 60, + "y": 0, + "z": 0 + } + ], + "uuid": "0e9e9a1d-c4d4-6664-0077-441a80367fbd", + "time": 6.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 27.5, + "y": 0, + "z": 0 + } + ], + "uuid": "b6127fb2-4a2b-4168-4fc5-0ee1617b582b", + "time": 7.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "7d1f5b13-f0f3-4435-eec9-e3f5784a0fde", + "time": 7.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "73b3d6bc-af0b-a066-5d73-f3938109e11f": { + "name": "LeftLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": -2.5 + } + ], + "uuid": "b2e19743-0946-7e8e-6d80-56345929d158", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 12.5, + "y": 0, + "z": -2.5 + } + ], + "uuid": "4364d4c4-ddf2-3533-b30b-4c743352d6e8", + "time": 0.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 0, + "z": -2.5 + } + ], + "uuid": "6b86e504-06ba-d5b5-dee0-a0b21e4f2596", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": -2.5 + } + ], + "uuid": "029f1e31-9ddb-ac78-71aa-485301c9df36", + "time": 2.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 12.5, + "y": 0, + "z": -2.5 + } + ], + "uuid": "c96bc6a8-c5e0-afaa-c019-42db30f9b6e8", + "time": 1.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -2.5 + } + ], + "uuid": "39f3b0e7-a6fe-aa6d-be26-1cd52e142e0b", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -47.79588, + "y": -28.02432, + "z": 8.67023 + } + ], + "uuid": "bec79602-3059-2dd4-c9f4-8f93cdd72d27", + "time": 2.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "98e06e8f-8f6b-23d3-5875-0600fcd7368c", + "time": 2.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -74.87647, + "y": -7.24305, + "z": -1.95155 + } + ], + "uuid": "3655f749-c5ac-b026-0cd1-95218d477588", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 7.62, + "y": -7.24, + "z": -1.95 + } + ], + "uuid": "4ff24c7c-cee7-9c7e-b19a-65a7ab8235fe", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.38, + "y": -7.24, + "z": -1.95 + } + ], + "uuid": "a5a7ca4f-800e-1996-f9dc-3c1eb87c0ea4", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -32.5, + "y": "0", + "z": "0" + } + ], + "uuid": "5059f1f6-e530-57b5-1170-b23fc6f8a8f3", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -32.5, + "y": 0, + "z": 0 + } + ], + "uuid": "1bde356c-19dd-85df-3961-784bd2d35231", + "time": 3.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -22.5, + "y": 0, + "z": 0 + } + ], + "uuid": "e88c3594-a040-22d7-5b20-6a3537e1005d", + "time": 3.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -32.5, + "y": 0, + "z": 0 + } + ], + "uuid": "66e6203e-903c-a3c8-0cca-1233b3bbf114", + "time": 3.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 15, + "y": 0, + "z": 0 + } + ], + "uuid": "62511402-4554-491a-bc85-751a5a957a34", + "time": 3.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 15, + "y": 0, + "z": 0 + } + ], + "uuid": "e1193e87-bf78-dfac-f7c7-72d23e732fa3", + "time": 3.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -20.9057, + "y": -14.02846, + "z": -32.39936 + } + ], + "uuid": "2fcde493-0625-71af-a86f-4c22c8d1f923", + "time": 4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -20.25838, + "y": 0.02247, + "z": -37.70013 + } + ], + "uuid": "8eb16563-e087-f22a-fc1d-086cfe93e0d8", + "time": 4.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -102.71761, + "y": 9.98804, + "z": -9.25701 + } + ], + "uuid": "2c29ef9c-7d34-03b6-6b4d-1239091d5e6e", + "time": 4.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -0.21761, + "y": 9.98804, + "z": -9.25701 + } + ], + "uuid": "75358129-2c14-f297-2428-f53de03388f2", + "time": 5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -97.72, + "y": 9.99, + "z": -9.26 + } + ], + "uuid": "91e44ceb-2913-0991-8386-16e94985428f", + "time": 5.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 4.78, + "y": 9.99, + "z": -9.26 + } + ], + "uuid": "2b5c6a6f-19d4-5f5c-2ece-c092fb38b1c5", + "time": 5.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": 0, + "z": 2.5 + } + ], + "uuid": "2b9df1c2-9846-0d43-2d7c-ba3d6aa7d233", + "time": 5.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -67.5, + "y": 0, + "z": "0" + } + ], + "uuid": "c0bf42a0-4472-3a20-3195-96b40bb9fa0b", + "time": 5.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -67.5, + "y": 0, + "z": 0 + } + ], + "uuid": "40de783f-d067-c13d-0de5-cca934c9771b", + "time": 6.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -110, + "y": 0, + "z": 0 + } + ], + "uuid": "fcabacf1-9982-c915-e590-425483aa2166", + "time": 6.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -67.5, + "y": 0, + "z": 0 + } + ], + "uuid": "ba4fbc68-2cdb-eb46-5d3f-7b4b802eb13c", + "time": 6.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 47.5, + "y": 0, + "z": 0 + } + ], + "uuid": "2dbab0e0-06f4-c95f-11e8-96545bcf3c6a", + "time": 6.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -67.5, + "y": 0, + "z": 0 + } + ], + "uuid": "30b490b9-5fcc-438c-c83e-3b3a01604955", + "time": 6.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 42.5, + "y": 0, + "z": 0 + } + ], + "uuid": "1b5be6ed-87fe-4671-2dde-c930f8c34da9", + "time": 6.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -70, + "y": 0, + "z": 0 + } + ], + "uuid": "2448081a-c776-84aa-9769-73b8f5cc89e1", + "time": 7.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -79.17371, + "y": 10.07772, + "z": -45.14684 + } + ], + "uuid": "6ce0b6dd-3b01-8b33-b312-0426d1b0cc64", + "time": 7.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "d9f4fbf4-1c50-166e-c0b1-7671bb3c7509", + "time": 3.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -2 + } + ], + "uuid": "d6b55e6b-a202-6df8-87f3-cae798ddceaa", + "time": 4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -2 + } + ], + "uuid": "6ab512ee-bc5c-071d-8009-f6fa47ba7b24", + "time": 5.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "6c03b37a-1327-4522-9b88-6282ec31a99b", + "time": 5.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "12a00e99-9e1e-cf0b-455b-a9eff7b99eb1", + "time": 6.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -2 + } + ], + "uuid": "5fb9d254-8168-a2d0-2649-0c2c39d446db", + "time": 6.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -2 + } + ], + "uuid": "e16b3d68-27a9-fc2e-0cf9-f9f3f7ce8bb0", + "time": 7.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "d8794a3a-d983-1f98-c8c8-8255a692d442", + "time": 7.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ee9973d4-ff4e-c96b-64f6-d1f28afd69c6": { + "name": "LeftLegBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "d2fad49b-1bcd-31c6-0ed9-3849a050f5fd", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 12.5, + "y": 0, + "z": 0 + } + ], + "uuid": "deafd8dd-d900-0619-e41a-03523732e2e4", + "time": 0.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "4cbb2418-381e-230c-a2f1-72f259184d7d", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 12.5, + "y": 0, + "z": 0 + } + ], + "uuid": "918901c6-48b4-9210-7fdc-7d85e0a2ae0a", + "time": 1.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "d33a4451-5a11-8b0a-809f-ddc1a8184965", + "time": 2.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "71987944-d670-5f5a-7dd2-5f9920dc4843", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 27.5, + "y": 0, + "z": 0 + } + ], + "uuid": "4022fde5-8a04-de4c-986b-0a646c59b910", + "time": 2.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 52.5, + "y": 0, + "z": 0 + } + ], + "uuid": "dbeaaf87-acb5-1212-ea95-824287e0d0db", + "time": 2.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 12.5, + "y": 0, + "z": 0 + } + ], + "uuid": "17371118-91b2-044a-2be3-9c38ae7630cf", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 30, + "y": 0, + "z": 0 + } + ], + "uuid": "4757d558-4fe3-79ef-7d03-4231bfa61226", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "5a3a50ef-4f8e-a567-ac05-88cba6596bc0", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": 0, + "z": 0 + } + ], + "uuid": "ae8fa0b8-f845-aa0d-1f1b-36e1a322cf4a", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": 0, + "z": 0 + } + ], + "uuid": "1184c59d-5914-e4b1-710b-ba017c1e2f72", + "time": 3.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 47.5, + "y": 0, + "z": 0 + } + ], + "uuid": "18fca46e-05d8-2dc7-0974-3be6095a8599", + "time": 3.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 47.5, + "y": 0, + "z": 0 + } + ], + "uuid": "0feaa457-4fde-7563-ca37-1d26f1a1a93d", + "time": 3.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "e0ed264f-0fe9-3df2-bdb9-420e57a54634", + "time": 4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 35, + "y": 0, + "z": 0 + } + ], + "uuid": "59d393b8-848a-c285-2228-36cacfe42128", + "time": 4.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 60, + "y": 0, + "z": 0 + } + ], + "uuid": "7f644c3c-dbfa-0671-a291-fdc6922f6b63", + "time": 4.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 22.5, + "y": 0, + "z": 0 + } + ], + "uuid": "b45b4625-c52f-3f3d-33a2-07ef434a5317", + "time": 5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 52.5, + "y": 0, + "z": 0 + } + ], + "uuid": "6abfb094-0518-a2f0-5728-5cb0e318bd19", + "time": 5.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 15, + "y": 0, + "z": 0 + } + ], + "uuid": "758d291c-cb2c-390d-dfdd-6cbd89f60028", + "time": 5.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 20, + "y": 0, + "z": 0 + } + ], + "uuid": "9a11e5e8-f744-d068-f245-586a610b19e1", + "time": 5.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 62.5, + "y": 0, + "z": 0 + } + ], + "uuid": "a45d4997-9055-6d46-6646-13c55dd523c7", + "time": 5.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 62.5, + "y": 0, + "z": 0 + } + ], + "uuid": "b6bd52cd-7e99-f6b4-9673-941fe6087291", + "time": 6.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 20, + "y": 0, + "z": 0 + } + ], + "uuid": "e862b650-93b8-f21c-0fd6-baab7767eda1", + "time": 6.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 61.58812, + "y": "0", + "z": "0" + } + ], + "uuid": "1e9a9111-9c17-ae9d-f9c1-7f3c18726cc7", + "time": 6.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 24.09, + "y": 0, + "z": 0 + } + ], + "uuid": "d593bfea-f1c8-cadf-2b83-f8079b5b8318", + "time": 6.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 66.59, + "y": 0, + "z": 0 + } + ], + "uuid": "253cd645-ebda-8e4d-22f7-dabfb8ed0cf6", + "time": 7.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 52.5, + "y": 0, + "z": 0 + } + ], + "uuid": "2edb7afa-47c5-afe4-efee-73a8bf3b0c28", + "time": 7.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "4ad021e9-2857-4e55-337b-f61da0762800": { + "name": "CameraAnchor", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "30", + "z": "10" + } + ], + "uuid": "d56f0625-067e-65cd-a644-64efc2931d03", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "5", + "y": "180", + "z": "2" + } + ], + "uuid": "afb25155-001b-92f5-8468-d87d63b5880f", + "time": 0.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-10", + "y": "183", + "z": "0" + } + ], + "uuid": "4bfb94d6-e33d-0151-004b-d81d25708202", + "time": 2.5, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.59667, + -0.6, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.59667, + 0.6, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": "180", + "z": 0 + } + ], + "uuid": "9d45a777-1ef2-1faa-c949-f74d0a52d9de", + "time": 2.6, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": "190", + "z": 0 + }, + { + "x": "0", + "y": "160", + "z": 0 + } + ], + "uuid": "2fd385a5-bd8a-df68-e2e1-ba36a3b06d9f", + "time": 2.95, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.24667, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.24667, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "180", + "z": 0 + } + ], + "uuid": "876b23d7-8092-8bb7-63c4-6afbeb5d92a4", + "time": 3.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-5", + "y": "170", + "z": 0 + } + ], + "uuid": "2f12eb8b-5e8b-4e77-4c7b-f94a0add3586", + "time": 3.55, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-10", + "y": "170", + "z": 0 + } + ], + "uuid": "91186d26-93fd-2cc3-c84a-2a6a4d1ad942", + "time": 3.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "180", + "z": 0 + } + ], + "uuid": "ea32391a-9460-cbea-8f74-9aa903e84a82", + "time": 3.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 180, + "z": 0 + } + ], + "uuid": "e1531c83-ab7f-987d-364a-6009d58ccd6a", + "time": 3.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "180", + "z": 0 + } + ], + "uuid": "f8d8716f-3c3f-b881-1e1f-ac6a2e39b0aa", + "time": 3.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "185", + "z": 0 + } + ], + "uuid": "1996c751-6668-8ce9-09fe-5bb76eb93741", + "time": 4.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "190", + "z": 0 + } + ], + "uuid": "f17fd545-5539-640a-af37-290a67e8c78d", + "time": 4.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 190, + "z": 0 + } + ], + "uuid": "b0e82666-b2a0-9caf-ccda-7e4a08c4f4d5", + "time": 4.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "185", + "z": 0 + } + ], + "uuid": "5737b848-fb58-cdaf-947a-e65eb984c1f2", + "time": 4.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "165", + "z": 0 + } + ], + "uuid": "fc40e512-7b11-e470-1be2-3b72226dda38", + "time": 5.05, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "150", + "z": 0 + } + ], + "uuid": "6d3a32d7-d8a4-b0b6-abf9-f4bf7bcbe589", + "time": 5.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "20", + "y": "180", + "z": 0 + } + ], + "uuid": "6865f164-bd64-2ed1-6231-26390fdc6500", + "time": 5.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "10", + "y": 180, + "z": 0 + } + ], + "uuid": "266f8d39-318f-bdc8-e1a2-8148d18fd227", + "time": 6.05, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": "170", + "z": 0 + } + ], + "uuid": "7e0b13cc-e407-e2fb-acd6-f62395dc3298", + "time": 6.3, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "90", + "z": 0 + } + ], + "uuid": "7f09f05b-4e47-8f58-3b4d-955fd7f09771", + "time": 6.55, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.3, + -0.30333, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.3, + 0.30333, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 90, + "z": 0 + } + ], + "uuid": "e65f4ce4-15f3-0539-e037-642c7d711bdc", + "time": 7.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "110", + "z": 0 + } + ], + "uuid": "8df2ffda-cf62-f566-7f12-7e42a96085c6", + "time": 7.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-5", + "y": "30", + "z": "-15" + } + ], + "uuid": "3cb54b05-9f00-1fa2-ba88-ffe1f533bbcf", + "time": 7.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 17, + "y": 12, + "z": 7 + } + ], + "uuid": "c2f419b4-6c72-54d3-a903-9618f6c9625f", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 17, + "y": 12, + "z": "3.67" + }, + { + "x": "0", + "y": "17", + "z": "-36.33" + } + ], + "uuid": "a6980488-80d5-c586-1a8e-ac726db25734", + "time": 0.5, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 22, + "z": -35.33 + } + ], + "uuid": "af8945b4-9343-c0ca-bdab-e7ee27389ea5", + "time": 2.5, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.60333, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.60333, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 24, + "z": -41.33 + } + ], + "uuid": "9dd602ca-6255-c883-1511-99d2dcd2c08e", + "time": 2.6, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 21, + "y": 18, + "z": -87 + } + ], + "uuid": "394c7029-f989-365b-c118-9cd559e99825", + "time": 2.95, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 8, + "y": 18, + "z": -87 + } + ], + "uuid": "20691766-bf1c-4fdb-b5e5-53c53757873a", + "time": 3.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -16, + "y": 22, + "z": -87 + } + ], + "uuid": "f097a8da-c7c6-6b0e-ac63-c60c74961a3b", + "time": 3.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -16, + "y": 22, + "z": -87 + } + ], + "uuid": "140a2526-7482-9f8a-3ebb-7a65c1245f19", + "time": 3.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -21, + "y": 23, + "z": -87 + } + ], + "uuid": "e61e4081-bcaa-04e1-ad56-d09c6a0ee631", + "time": 3.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -19, + "y": 18, + "z": -87 + } + ], + "uuid": "fd401bd0-6849-a4df-ce2b-a17253e527ee", + "time": 3.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -10, + "y": 21, + "z": -96 + } + ], + "uuid": "5a776b43-4f56-c513-ad13-643a86b80ee0", + "time": 4.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -7, + "y": 19, + "z": -96 + } + ], + "uuid": "2d2a0727-b051-76d9-b515-86e16f8197ff", + "time": 4.15, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -10, + "y": 21, + "z": -96 + } + ], + "uuid": "ede99560-7bb7-82d3-d5c3-cd6ff97adaf1", + "time": 4.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -10, + "y": 24, + "z": -107 + } + ], + "uuid": "584a9eca-bdd4-3bdf-a6a9-d7bea7fb8888", + "time": 4.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -7, + "y": 19.75, + "z": -98.75 + } + ], + "uuid": "e8df3413-80aa-04b7-0747-46e09047b71e", + "time": 4.35, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 7, + "y": 20, + "z": -114 + } + ], + "uuid": "6aa3d045-44d4-f031-6f1a-0718f92f1431", + "time": 4.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 6, + "y": 17, + "z": -114 + } + ], + "uuid": "0564ed21-9609-d374-9ce5-cc013bdc770c", + "time": 5.05, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 7, + "y": 17, + "z": -117 + } + ], + "uuid": "5e10c29d-a8a6-a5a0-f164-50488367bd60", + "time": 5.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -1, + "y": 19, + "z": -150 + } + ], + "uuid": "f3151fd5-3448-3e89-a344-15bdf11978ec", + "time": 5.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 25, + "y": 22, + "z": -173 + } + ], + "uuid": "0bb053d1-674a-b023-faa2-44e59b29a139", + "time": 6.05, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 25, + "y": 22, + "z": -173 + } + ], + "uuid": "4e7b5860-553b-44d7-0894-eb9eced3015f", + "time": 6.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 21, + "y": 22, + "z": -181 + } + ], + "uuid": "645ab930-e1d0-2d4a-d39a-ce3ae125bb93", + "time": 6.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 27, + "y": 15, + "z": -172 + } + ], + "uuid": "6e1281a8-6699-7b81-736e-860b57a425c9", + "time": 6.55, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 24, + "y": 16, + "z": -176 + } + ], + "uuid": "b6756916-39f5-ccbd-bde4-9ff3a3111cb2", + "time": 6.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 24, + "y": 17, + "z": -205 + } + ], + "uuid": "95e967f5-03a6-8ea4-5db6-1c98cec7195b", + "time": 7.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 24, + "y": 19, + "z": -207 + } + ], + "uuid": "0c65a934-17dc-38ae-a578-92ac769a58af", + "time": 7.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 6, + "y": 10, + "z": -213 + } + ], + "uuid": "900f7b1e-6026-8212-90dd-c1fe72f9f140", + "time": 7.45, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0.83, + "y": 15.5, + "z": -114 + } + ], + "uuid": "e0440638-487f-d2bb-09fb-e8e0a807b365", + "time": 4.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 6.5, + "y": 18.5, + "z": -114 + } + ], + "uuid": "65474c22-13cb-2a46-a5b8-3f902412bd0a", + "time": 4.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0.33, + "y": 14, + "z": -114 + } + ], + "uuid": "b64373c0-be43-c7cb-dbf4-d110b92440f4", + "time": 4.95, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 10.14, + "y": 20.29, + "z": -159.86 + } + ], + "uuid": "c09d4bdf-50e0-2258-3814-2d8df27b2bf7", + "time": 5.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 6.86, + "y": 16.72, + "z": -163.15 + } + ], + "uuid": "b1b3ff81-103b-d2cc-c607-c88b154750e8", + "time": 5.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 29.29, + "y": 25.57, + "z": -169.72 + } + ], + "uuid": "f3ca6a66-c033-cc95-f81f-76137c87a1b1", + "time": 6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -1, + "y": 10, + "z": -235 + } + ], + "uuid": "8c119520-cb60-aed6-c159-fb9917622b21", + "time": 8.45, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -1.00333, + -0.1, + -1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 1.00333, + 0.1, + 1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + }, + { + "uuid": "54c7083b-9386-a4da-5371-df8d339a964f", + "name": "float_ride", + "loop": "hold", + "override": true, + "length": 0, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "e98e96cf-993b-878e-02b8-777c368bb888": { + "name": "Avatar", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "10", + "y": "0", + "z": "0" + } + ], + "uuid": "7ca4913a-10cd-f8e7-7d02-f22d4fea5687", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": 9, + "z": "0" + } + ], + "uuid": "41aabf4a-a5ca-6b7c-b973-8c8c84fd3b9d", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "2f61e368-1c06-648e-26d4-aee94647e4da": { + "name": "LowerBody", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "-10", + "y": "0", + "z": "0" + } + ], + "uuid": "7d453b66-b7bc-2e38-a9d7-ec5464e601a0", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "4e80b5b4-7c04-8374-f8a7-526b3d36d050": { + "name": "RightLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -64.58623, + "y": 37.15855, + "z": 16.0129 + } + ], + "uuid": "a36ef7d6-05b7-fb6a-011a-0e98d533f2f0", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "84fe0b3a-286b-e17f-288e-c39feaa2e5e6": { + "name": "RightLegBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "45", + "y": "0", + "z": "0" + } + ], + "uuid": "0efff374-4956-9f05-8e32-a1aa9c0e9588", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "73b3d6bc-af0b-a066-5d73-f3938109e11f": { + "name": "LeftLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -64.58623, + "y": -37.15855, + "z": -16.0129 + } + ], + "uuid": "7128f829-34e8-3ff4-dc0b-a74b0e8321eb", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ee9973d4-ff4e-c96b-64f6-d1f28afd69c6": { + "name": "LeftLegBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "45", + "y": "0", + "z": "0" + } + ], + "uuid": "60308de3-409a-6b18-0dd8-6351ed2bae61", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + }, + { + "uuid": "2c32f246-b38f-5d7d-4970-c3603805c35e", + "name": "float_afk", + "loop": "hold", + "override": true, + "length": 1.5, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "e98e96cf-993b-878e-02b8-777c368bb888": { + "name": "Avatar", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "3c9a5b06-8cb8-c5f2-4509-d3a329db1766", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "55", + "y": 0, + "z": "45" + } + ], + "uuid": "2441f412-ea01-37b4-5b36-6494c2db645f", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "3d9779cf-7074-f77b-fcdf-267038f6a86c", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -4.5, + "y": 9.5, + "z": 9 + } + ], + "uuid": "3a2d8dec-1eb6-a826-af7c-a4625fdef953", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "22d40862-bd19-a16d-9e33-79364e6656d8": { + "name": "Head", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -0.53613, + "y": 29.2322, + "z": -33.98373 + } + ], + "uuid": "1f3d1710-103e-b877-eef7-bcc7c54a768e", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "954b95ba-8439-7123-de4b-a94d72a1e124", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -1, + "y": "0", + "z": "0" + } + ], + "uuid": "4869e2c9-128f-28e4-1b39-be4564a12bb1", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "7d25e730-09cd-5069-be23-b4857757f7b3", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3c1cb66d-8a31-d31f-ec9f-65a33e313a53": { + "name": "RightArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -5.06553, + "y": -2.437, + "z": -0.56156 + } + ], + "uuid": "2a7974e2-1a52-d19e-bdb0-67f1899ccb59", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "815a32fd-6d55-e289-25fa-d9ffb4a38e05", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "b924539e-1292-1a17-6240-a525ae346090": { + "name": "RightArmBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -26.69458, + "y": -6.86379, + "z": -13.36965 + } + ], + "uuid": "a3aeea95-248d-2af6-f421-d762ba1e9e25", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "8dbfa91e-096c-583b-66fd-8ae7b2ef559e", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e7d3e5d8-00e4-587c-7bb6-6787db00054b": { + "name": "LeftArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -65.07194, + "y": -49.13568, + "z": 8.37455 + } + ], + "uuid": "f2840c22-d1e0-11de-aff2-2b7de5853e6c", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "597f7c70-bccc-81c0-8a4a-6020c8daea80", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": 1, + "z": 1 + } + ], + "uuid": "455893d2-115a-f1d6-0179-9e01474d13b4", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "c1b14a9d-9c50-9372-52b4-e43236d2e5c1", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "2f61e368-1c06-648e-26d4-aee94647e4da": { + "name": "LowerBody", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "49a3acdb-955d-7fe3-51f9-47b25ff57726", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -46.5968, + "y": -39.85571, + "z": -22.90981 + } + ], + "uuid": "444156b9-b0b4-06bd-36f0-70493b42eedd", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "4e80b5b4-7c04-8374-f8a7-526b3d36d050": { + "name": "RightLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "d367924c-c614-af02-48f6-f81b499b1028", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 79.36841, + "y": -34.58255, + "z": 24.3213 + } + ], + "uuid": "85e295c6-e1f4-7d98-3b74-595dc2442d78", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "957db58c-5182-f1c2-9e51-bb013d8f6d30", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 1.5, + "y": 2, + "z": 0 + } + ], + "uuid": "d71e1378-6848-c3eb-a16b-8866f4a70942", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "84fe0b3a-286b-e17f-288e-c39feaa2e5e6": { + "name": "RightLegBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 15, + "y": "0", + "z": "0" + } + ], + "uuid": "3a13ee66-c776-470f-8962-c1b032c73902", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "e3d75308-a7e6-2a7f-7eaa-c0c7c297bfc5", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "73b3d6bc-af0b-a066-5d73-f3938109e11f": { + "name": "LeftLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "7fbf2698-c807-42d5-ab41-ab07ac00301c", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 105.73705, + "y": 48.87998, + "z": 52.92619 + } + ], + "uuid": "141c6b2d-8686-5328-7e3e-22803685c5d2", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "e496a8e5-467f-2a3d-eb1f-5fcd2afdb036", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -0.25, + "y": -0.5, + "z": 0 + } + ], + "uuid": "8e7cc3c0-0bcf-e05f-b0e9-c3cfd23ddabf", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ee9973d4-ff4e-c96b-64f6-d1f28afd69c6": { + "name": "LeftLegBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 15, + "y": "0", + "z": "0" + } + ], + "uuid": "d397e8d7-15e9-fa94-d7c5-fcc3346ca8d3", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "c92f9269-cdd0-ffcd-9d65-fb9fa7f55947", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "f8239839-d31b-5a25-59d2-d5c26e5817e0": { + "name": "WhaleFloat", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": 1, + "y": -1, + "z": "0" + } + ], + "uuid": "530e3edc-84f2-5123-98cd-024d6ae08e4f", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "b4b4ad1f-4c7b-5171-b7d8-2ff4b4f0671a", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + }, + { + "uuid": "0257460a-0e6d-e656-b61e-062856349697", + "name": "whale_float", + "loop": "loop", + "override": false, + "length": 7.25, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "e98e96cf-993b-878e-02b8-777c368bb888": { + "name": "Avatar", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "f23690fc-03a4-0cd9-0852-38d1814e023e", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "2", + "z": "0" + } + ], + "uuid": "c39cdabf-66e9-0a08-4190-cf700a8b31a0", + "time": 3.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "2", + "z": 0 + } + ], + "uuid": "ceb7350e-8914-9eea-aac8-6702bb2d6faa", + "time": 4.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 0 + } + ], + "uuid": "286515cd-c24e-793d-7a22-9b03f6b032e6", + "time": 7.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar.lua b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar.lua new file mode 100644 index 0000000..bfe6a2f --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar.lua @@ -0,0 +1,229 @@ +---@class Avatar アバターのメインクラス +---@field public avatarEvents AvatarEvents +---@field public modelUtils ModelUtils +---@field public playerUtils PlayerUtils +---@field public compatibilityUtils CompatibilityUtils +---@field public characterData BlueArchiveCharacter +---@field public headRing HeadRing +---@field public headBlock HeadBlock +---@field public locale Locale +---@field public config Config +---@field public cameraManager CameraManager +---@field public keyManager KeyManager +---@field public vanillaModel VanillaModel +---@field public arms Arms +---@field public skirt Skirt +---@field public armor Armor +---@field public faceParts FaceParts +---@field public portrait Portrait +---@field public physics Physics +---@field public gun GunHoshino +---@field public nameplate Nameplate +---@field public exSkill ExSkill +---@field public frameParticleManager ExSkillFrameParticleManager +---@field public placementObjectManager PlacementObjectManager +---@field public costume Costume +---@field public actionWheel ActionWheel +---@field public actionWheelGui ActionWheelGui +---@field public bubble Bubble +---@field public barrier Barrier +---@field public deathAnimation DeathAnimation +---@field public hypixelZombies HypixelZombies +---@field public updateChecker UpdateChecker +---@field public shield Shield +---@field public whaleFloat WhaleFloat +---@field public subGun SubGun +---@field public waveParticleManager ExSkill2WaveParticleManager +---@field public instantiate fun(class: table, super: table, ...: any) クラスをインスタンス化する + +Avatar = { + ---コンストラクタ + ---@return Avatar + new = function () + ---@type Avatar + local instance = Avatar.instantiate(Avatar) + + --ENTITY_INIT前に読み込み + require("scripts.avatar_modules.avatar_module") + + --ユーティリティクラスの読み込み + require("scripts.avatar_modules.events.abstract_event") + require("scripts.avatar_modules.events.script_init_event") + require("scripts.avatar_modules.events.avatar_events") + instance.avatarEvents = AvatarEvents.new(instance) + instance.avatarEvents:init() + + require("scripts.avatar_modules.utils.model_utils") + instance.modelUtils = ModelUtils.new(instance) + instance.modelUtils:init() + + --アバターモジュールの読み込み + require("scripts.blue_archive_character") + instance.characterData = BlueArchiveCharacter.new(instance) + instance.characterData:init() + + require("scripts.avatar_modules.head_ring") + instance.headRing = HeadRing.new(instance) + instance.headRing:init() + + require("scripts.avatar_modules.head_model_generator") + require("scripts.avatar_modules.head_block") + instance.headBlock = HeadBlock.new(instance) + instance.headBlock:init() + + --生徒固有クラスの読み込み + + events.ENTITY_INIT:register(function () + --ユーティリティクラスの読み込み + require("scripts.avatar_modules.utils.player_utils") + instance.playerUtils = PlayerUtils.new(instance) + instance.playerUtils:init() + + require("scripts.avatar_modules.utils.compatibility_utils") + instance.compatibilityUtils = CompatibilityUtils.new(instance) + instance.compatibilityUtils:init() + + require("scripts.avatar_modules.utils.spawn_object_manager") + require("scripts.avatar_modules.utils.spawn_object") + + --アバターモジュールの読み込み + require("scripts.avatar_modules.locale") + instance.locale = Locale.new(instance) + instance.locale:init() + + require("scripts.avatar_modules.config") + instance.config = Config.new(instance) + instance.config:init() + + require("scripts.avatar_modules.camera_manager") + instance.cameraManager = CameraManager.new(instance) + instance.cameraManager:init() + + require("scripts.avatar_modules.key_manager") + instance.keyManager = KeyManager.new(instance) + instance.keyManager:init() + + require("scripts.avatar_modules.vanilla_model") + instance.vanillaModel = VanillaModel.new(instance) + instance.vanillaModel:init() + + require("scripts.avatar_modules.arms") + instance.arms = Arms.new(instance) + instance.arms:init() + + require("scripts.avatar_modules.skirt") + instance.skirt = Skirt.new(instance) + instance.skirt:init() + + require("scripts.avatar_modules.armor") + instance.armor = Armor.new(instance) + instance.armor:init() + + require("scripts.avatar_modules.face_parts") + instance.faceParts = FaceParts.new(instance) + instance.faceParts:init() + + require("scripts.avatar_modules.portrait") + instance.portrait = Portrait.new(instance) + instance.portrait:init() + + require("scripts.avatar_modules.physics") + instance.physics = Physics.new(instance) + instance.physics:init() + + require("scripts.avatar_modules.gun") + require("scripts.character_scripts.gun_hoshino") + instance.gun = GunHoshino.new(instance) + instance.gun:init() + + require("scripts.avatar_modules.nameplate") + instance.nameplate = Nameplate.new(instance) + instance.nameplate:init() + + require("scripts.avatar_modules.ex_skill.ex_skill") + instance.exSkill = ExSkill.new(instance) + instance.exSkill:init() + + require("scripts.avatar_modules.ex_skill.ex_skill_frame_particle_manager") + require("scripts.avatar_modules.ex_skill.ex_skill_frame_particle") + instance.frameParticleManager = ExSkillFrameParticleManager.new(instance) + instance.frameParticleManager:init() + + require("scripts.avatar_modules.placement_object.placement_object_manager") + require("scripts.avatar_modules.placement_object.placement_object") + instance.placementObjectManager = PlacementObjectManager.new(instance) + instance.placementObjectManager:init() + + require("scripts.avatar_modules.costume") + instance.costume = Costume.new(instance) + instance.costume:init() + + require("scripts.avatar_modules.action_wheel.action_wheel") + instance.actionWheel = ActionWheel.new(instance) + instance.actionWheel:init() + + require("scripts.avatar_modules.action_wheel.action_wheel_gui") + instance.actionWheelGui = ActionWheelGui.new(instance) + instance.actionWheelGui:init() + + require("scripts.avatar_modules.bubble") + instance.bubble = Bubble.new(instance) + instance.bubble:init() + + require("scripts.avatar_modules.barrier") + instance.barrier = Barrier.new(instance) + instance.barrier:init() + + require("scripts.avatar_modules.death_animation") + instance.deathAnimation = DeathAnimation.new(instance) + instance.deathAnimation:init() + + require("scripts.avatar_modules.hypixel_zombies") + instance.hypixelZombies = HypixelZombies.new(instance) + instance.hypixelZombies:init() + + require("scripts.avatar_modules.action_wheel.update_checker") + instance.updateChecker = UpdateChecker.new(instance) + instance.updateChecker:init() + + --生徒固有クラスの読み込み + require("scripts.character_scripts.shield") + instance.shield = Shield.new(instance) + instance.shield:init() + + require("scripts.character_scripts.whale_float") + instance.whaleFloat = WhaleFloat.new(instance) + instance.whaleFloat:init() + + require("scripts.character_scripts.sub_gun") + instance.subGun = SubGun.new(instance) + instance.subGun:init() + + require("scripts.character_scripts.ex_skill_2_wave_particle_manager") + require("scripts.character_scripts.ex_skill_2_wave_particle") + instance.waveParticleManager = ExSkill2WaveParticleManager.new(instance) + instance.waveParticleManager:init() + + --SCRIPT_INITイベントを実行 + instance.avatarEvents.SCRIPT_INIT:fire() + end) + + return instance + end; + + ---クラスをインスタンス化する。 + ---@generic S + ---@generic C + ---@param class `C` インスタンス化するクラス + ---@param super? `S` インスタンス化するクラスのスーパークラス + ---@param ... any クラスのインスタンス時に渡される引数 + ---@return C instance インスタンス化されたクラスのオブジェクト + instantiate = function (class, super, ...) + local instance = super and super.new(...) or {} + setmetatable(instance, {__index = class}) + setmetatable(class, {__index = super}) + return instance + end; +} + +AvatarInstance = Avatar.new() \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/action_wheel/action_wheel.lua b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/action_wheel/action_wheel.lua new file mode 100644 index 0000000..e7e2c4e --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/action_wheel/action_wheel.lua @@ -0,0 +1,319 @@ +---@class (exact) ActionWheel : AvatarModule アクションホイールを管理するクラス +---@field package mainPage Page アクションホイールのメインページのインスタンスへの参照 +---@field package selectingCostume integer 現在選択中の衣装 +---@field package selectingName integer 現在選択中の表示名 +---@field package selectingShouldShowClubName boolean 現在選択中の「部活名を表示するかどうか」 +---@field package selectingExSkillParticleAmount integer 現在選択中のExスキルフレームのパーティクル量 +---@field public shouldReplaceVehicleModels boolean 乗り物のモデルを置き換えるかどうか +---@field package isActionWheelOpenedPrev boolean 前ティックにアクションホイールを開けていたかどうか +---@field package refreshCostumeChangeActionTitle fun(self: ActionWheel) 衣装変更アクションのタイトルを更新する +---@field package refreshNameChangeActionTitle fun(self: ActionWheel) 名前変更アクションのタイトルを更新する +---@field package refreshExSkillParticleActionTitle fun(self: ActionWheel) Exスキルアニメーションのパーティクル量調整アクションのタイトルを更新する +---@field package refreshUpdateActionStatus fun(self: ActionWheel) アップデート確認アクションの状態を更新する + +ActionWheel = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ActionWheel + new = function (parent) + ---@type ActionWheel + local instance = Avatar.instantiate(ActionWheel, AvatarModule, parent) + + instance.mainPage = action_wheel:newPage("main") + instance.selectingCostume = instance.parent.costume.currentCostume + instance.selectingName = instance.parent.nameplate.currentName + instance.selectingShouldShowClubName = instance.parent.nameplate.shouldShowClubName + instance.selectingExSkillParticleAmount = instance.parent.exSkill.frameParticleAmount + instance.shouldReplaceVehicleModels = instance.parent.config:loadConfig("PRIVATE", "replaceVehicleModels", true) + instance.isActionWheelOpenedPrev = false + + return instance + end; + + ---初期化関数 + ---@param self ActionWheel + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + events.TICK:register(function() + local isActionWheelOpened = action_wheel:isEnabled() + if isActionWheelOpened then + local mainAction3 = self.mainPage:getAction(3) + mainAction3:setTitle(self.parent.locale:getLocale("action_wheel.main.action_3.title").."§c"..self.parent.locale:getLocale("action_wheel.toggle_off")) + mainAction3:setToggleTitle(self.parent.locale:getLocale("action_wheel.main.action_3.title").."§a"..self.parent.locale:getLocale("action_wheel.toggle_on")) + local mainAction4 = self.mainPage:getAction(4) + mainAction4:setTitle(self.parent.locale:getLocale("action_wheel.main.action_4.title").."§c"..self.parent.locale:getLocale("action_wheel.toggle_off")) + mainAction4:setToggleTitle(self.parent.locale:getLocale("action_wheel.main.action_4.title").."§a"..self.parent.locale:getLocale("action_wheel.toggle_on")) + local mainAction6 = self.mainPage:getAction(6) + if self.parent.characterData.actionWheel.isVehicleOptionEnabled then + mainAction6:setTitle(self.parent.locale:getLocale("action_wheel.main.action_6.title").."§c"..self.parent.locale:getLocale("action_wheel.toggle_off")) + else + mainAction6:setTitle("§7"..self.parent.locale:getLocale("action_wheel.main.action_6.title")..self.parent.locale:getLocale("action_wheel.toggle_off")) + end + mainAction6:setToggleTitle(self.parent.locale:getLocale("action_wheel.main.action_6.title").."§a"..self.parent.locale:getLocale("action_wheel.toggle_on")) + self:refreshCostumeChangeActionTitle() + self:refreshNameChangeActionTitle() + self:refreshExSkillParticleActionTitle() + self:refreshUpdateActionStatus() + elseif not isActionWheelOpened and self.isActionWheelOpenedPrev then + if self.selectingCostume ~= self.parent.costume.currentCostume then + pings.actionWheelChangeCostume(self.selectingCostume) + self.parent.config:saveConfig("PRIVATE", "costume", self.selectingCostume) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.armor.equip_leather"), player:getPos()) + print(self.parent.locale:getLocale("action_wheel.main.action_1.done_first")..self.parent.costume:getCostumeLocalName(self.selectingCostume)..self.parent.locale:getLocale("action_wheel.main.action_1.done_last")) + end + if self.selectingName ~= self.parent.nameplate.currentName or self.selectingShouldShowClubName ~= self.parent.nameplate.shouldShowClubName then + pings.actionWheelChangeName(self.selectingName, self.selectingShouldShowClubName) + self.parent.config:saveConfig("PRIVATE", "name", self.selectingName) + self.parent.config:saveConfig("PRIVATE", "showClubName", self.selectingShouldShowClubName) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:ui.cartography_table.take_result"), player:getPos()) + print(self.parent.locale:getLocale("action_wheel.main.action_2.done_first")..self.parent.nameplate:getName(self.selectingName)..self.parent.locale:getLocale("action_wheel.main.action_2.done_last")) + end + if self.selectingExSkillParticleAmount ~= self.parent.exSkill.frameParticleAmount then + self.parent.exSkill.frameParticleAmount = self.selectingExSkillParticleAmount + self.parent.config:saveConfig("PRIVATE", "exSkillFrameParticleAmount", self.selectingExSkillParticleAmount) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.item.pickup"), player:getPos(), 1, 0.5) + print(self.parent.locale:getLocale("action_wheel.main.action_5.done_first")..self.parent.locale:getLocale("action_wheel.main.action_5.option_"..self.selectingExSkillParticleAmount)..self.parent.locale:getLocale("action_wheel.main.action_5.done_last")) + end + end + self.isActionWheelOpenedPrev = isActionWheelOpened + end) + + --アクションの設定 + + --アクション1. 衣装を変更 + self.mainPage:newAction(1):setItem(self.parent.compatibilityUtils:checkItem("minecraft:leather_chestplate")):setOnScroll(function(direction) + if #self.parent.costume.costumeList >= 2 then + if direction < 0 then + self.selectingCostume = self.selectingCostume == #self.parent.costume.costumeList and 1 or self.selectingCostume + 1 + else + self.selectingCostume = self.selectingCostume == 1 and #self.parent.costume.costumeList or self.selectingCostume - 1 + end + self:refreshCostumeChangeActionTitle() + else + print(self.parent.locale:getLocale("action_wheel.main.action_1.unavailable")) + end + end):setOnLeftClick(function() + if #self.parent.costume.costumeList >= 2 then + self.selectingCostume = self.parent.costume.currentCostume + self:refreshCostumeChangeActionTitle() + end + end):setOnRightClick(function() + if #self.parent.costume.costumeList >= 2 then + self.selectingCostume = 1 + self:refreshCostumeChangeActionTitle() + end + end) + + if #self.parent.costume.costumeList >= 2 then + local action = self.mainPage:getAction(1) + action:setColor(0.78, 0.78, 0.78) + action:setHoverColor(1, 1, 1) + else + local action = self.mainPage:getAction(1) + action:setColor(0.16, 0.16, 0.16) + action:setHoverColor(1, 0.33, 0.33) + end + + --アクション2. 表示名の変更 + self.mainPage:newAction(2):setItem(self.parent.compatibilityUtils:checkItem("minecraft:name_tag")):setColor(0.78, 0.78, 0.78):setHoverColor(1, 1, 1):setOnScroll(function(direction) + if direction < 0 then + self.selectingName = self.selectingName == 6 and 1 or self.selectingName + 1 + else + self.selectingName = self.selectingName == 1 and 6 or self.selectingName - 1 + end + self:refreshNameChangeActionTitle() + end):setOnLeftClick(function() + self.selectingShouldShowClubName = not self.selectingShouldShowClubName + self:refreshNameChangeActionTitle() + end):setOnRightClick(function() + self.selectingName = 1 + self.selectingShouldShowClubName = false + self:refreshNameChangeActionTitle() + end) + + --アクション3. 防具の表示 + self.mainPage:newAction(3):setItem(self.parent.compatibilityUtils:checkItem("minecraft:iron_chestplate")):setColor(0.67, 0, 0):setHoverColor(1, 0.33, 0.33):setToggleColor(0, 0.67, 0):setOnToggle(function (_, action) + pings.actionWheelSetArmorVisible(true) + action:setHoverColor(0.33, 1, 0.33) + self.parent.config:saveConfig("PRIVATE", "showArmor", true) + end):setOnUntoggle(function(_, action) + pings.actionWheelSetArmorVisible(false) + action:setHoverColor(1, 0.33, 0.33) + self.parent.config:saveConfig("PRIVATE", "showArmor", false) + end) + if self.parent.config:loadConfig("PRIVATE", "showArmor", false) then + local action = self.mainPage:getAction(3) + action:setToggled(true) + action:setHoverColor(0.33, 1, 0.33) + end + + --アクション4. 一人称視点での武器モデルの表示 + self.mainPage:newAction(4):setItem(self.parent.compatibilityUtils:checkItem("minecraft:bow")):setColor(0.67, 0, 0):setHoverColor(1, 0.33, 0.33):setToggleColor(0, 0.67, 0):setOnToggle(function (_, action) + self.parent.gun.shouldShowWeaponInFirstPerson = true + action:setHoverColor(0.33, 1, 0.33) + self.parent.config:saveConfig("PRIVATE", "firstPersonWeapon", true) + end):setOnUntoggle(function (_, action) + self.parent.gun.shouldShowWeaponInFirstPerson = false + action:setHoverColor(1, 0.33, 0.33) + self.parent.config:saveConfig("PRIVATE", "firstPersonWeapon", false) + end) + if self.parent.config:loadConfig("PRIVATE", "firstPersonWeapon", true) then + local action = self.mainPage:getAction(4) + action:setToggled(true) + action:setHoverColor(0.33, 1, 0.33) + end + + --アクション5. Exスキルフレームのパーティクルの量 + self.mainPage:newAction(5):setItem(self.parent.compatibilityUtils:checkItem("minecraft:glowstone_dust")):setColor(0.78, 0.78, 0.78):setHoverColor(1, 1, 1):setOnScroll(function (direction) + if direction < 0 then + self.selectingExSkillParticleAmount = self.selectingExSkillParticleAmount == 4 and 1 or self.selectingExSkillParticleAmount + 1 + else + self.selectingExSkillParticleAmount = self.selectingExSkillParticleAmount == 1 and 4 or self.selectingExSkillParticleAmount - 1 + end + self:refreshExSkillParticleActionTitle() + end):setOnLeftClick(function () + self.selectingExSkillParticleAmount = self.parent.exSkill.frameParticleAmount + self:refreshExSkillParticleActionTitle() + end):setOnRightClick(function () + self.selectingExSkillParticleAmount = 1 + self:refreshExSkillParticleActionTitle() + end) + + --アクション6. 乗り物モデルの置き換え + self.mainPage:newAction(6):setItem(self.parent.compatibilityUtils:checkItem("minecraft:oak_boat")):setColor(0.67, 0, 0):setHoverColor(1, 0.33, 0.33):setToggleColor(0, 0.67, 0):setOnToggle(function (_, action) + if self.parent.characterData.actionWheel.isVehicleOptionEnabled then + pings.actionWheelSetShouldReplaceVehicleModels(true) + action:setHoverColor(0.33, 1, 0.33) + self.parent.config:saveConfig("PRIVATE", "replaceVehicleModels", true) + else + print(self.parent.locale:getLocale("action_wheel.main.action_6.unavailable")) + action:setToggled(false) + end + end):setOnUntoggle(function (_, action) + pings.actionWheelSetShouldReplaceVehicleModels(false) + action:setHoverColor(1, 0.33, 0.33) + self.parent.config:saveConfig("PRIVATE", "replaceVehicleModels", false) + end) + if not self.parent.characterData.actionWheel.isVehicleOptionEnabled then + local action = self.mainPage:getAction(6) + action:setColor(0.16, 0.16, 0.16) + action:setHoverColor(1, 0.33, 0.33) + self.shouldReplaceVehicleModels = false + elseif self.shouldReplaceVehicleModels then + local action = self.mainPage:getAction(6) + action:setToggled(true) + action:setHoverColor(0.33, 1, 0.33) + end + + --アクション7. アップデートの確認 + self.mainPage:newAction(7):setItem("minecraft:compass"):setOnLeftClick(function () + if not self.parent.updateChecker.checkerStatus ~= "CHECKING" then + self.parent.updateChecker:checkUpdate() + else + print("action_wheel.main.action_7.ongoing") + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + end + if not net:isNetworkingAllowed() or not net:isLinkAllowed("https://api.github.com") then + print(self.parent.locale:getLocale("action_wheel.main.action_7.networking_api")) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + end + end):onRightClick(function () + if self.parent.updateChecker.latestVersion ~= nil then + host:setClipboard("https://github.com/Gakuto1112/FiguraBlueArchiveCharacters/releases/tag/"..self.parent.updateChecker.latestVersion) + print(self.parent.locale:getLocale("action_wheel.main.action_7.copied")) + else + print(self.parent.locale:getLocale("action_wheel.main.action_7.cannot_check_latest")) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + end + end) + + --アクション8. (空欄) + self.mainPage:newAction(8):setColor(0.16, 0.16, 0.16):setHoverColor(0.16, 0.16, 0.16) + + action_wheel:setPage(self.mainPage) + end + end; + + ---衣装変更アクションのタイトルを更新する。 + ---@param self ActionWheel + refreshCostumeChangeActionTitle = function (self) + if #self.parent.costume.costumeList >= 2 then + self.mainPage:getAction(1):setTitle(self.parent.locale:getLocale("action_wheel.main.action_1.title").."§b"..self.parent.costume:getCostumeLocalName(self.selectingCostume)) + else + self.mainPage:getAction(1):setTitle("§7"..self.parent.locale:getLocale("action_wheel.main.action_1.title")..self.parent.costume:getCostumeLocalName(self.selectingCostume)) + end + end; + + ---名前変更アクションのタイトルを更新する。 + ---@param self ActionWheel + refreshNameChangeActionTitle = function (self) + if self.selectingName >= 2 then + if self.selectingShouldShowClubName then + self.mainPage:getAction(2):setTitle(self.parent.locale:getLocale("action_wheel.main.action_2.title").."§b"..self.parent.nameplate:getName(self.selectingName).."\n§r"..self.parent.locale:getLocale("action_wheel.main.action_2.title_2").."§a"..self.parent.locale:getLocale("action_wheel.toggle_on")) + else + self.mainPage:getAction(2):setTitle(self.parent.locale:getLocale("action_wheel.main.action_2.title").."§b"..self.parent.nameplate:getName(self.selectingName).."\n§r"..self.parent.locale:getLocale("action_wheel.main.action_2.title_2").."§c"..self.parent.locale:getLocale("action_wheel.toggle_off")) + end + else + self.mainPage:getAction(2):setTitle(self.parent.locale:getLocale("action_wheel.main.action_2.title").."§b"..self.parent.nameplate:getName(self.selectingName).."\n§7"..self.parent.locale:getLocale("action_wheel.main.action_2.title_2")..self.parent.locale:getLocale("action_wheel.toggle_"..(self.selectingShouldShowClubName and "on" or "off"))) + end + end; + + ---Exスキルアニメーションのパーティクル量調整アクションのタイトルを更新する。 + ---@param self ActionWheel + refreshExSkillParticleActionTitle = function (self) + self.mainPage:getAction(5):title(self.parent.locale:getLocale("action_wheel.main.action_5.title").."§b"..self.parent.locale:getLocale("action_wheel.main.action_5.option_"..self.selectingExSkillParticleAmount)) + end; + + ---アップデート確認アクションの状態を更新する。 + ---@param self ActionWheel + refreshUpdateActionStatus = function (self) + local action = self.mainPage:getAction(7) + local actionTitle = "" + if self.parent.updateChecker.checkerStatus == "CHECKING" then + actionTitle = actionTitle.."§7"..self.parent.locale:getLocale("action_wheel.main.action_7.title_1")..self.parent.locale:getLocale("action_wheel.main.action_7.title_2").."\n" + action:setColor(0.16, 0.16, 0.16) + action:setHoverColor(1, 0.33, 0.33) + else + actionTitle = actionTitle..self.parent.locale:getLocale("action_wheel.main.action_7.title_1").."§b"..self.parent.locale:getLocale("action_wheel.main.action_7.title_2").."\n" + action:setColor(0.78, 0.78, 0.78) + action:setHoverColor(1, 1, 1) + end + if self.parent.updateChecker.latestVersion == nil then + actionTitle = actionTitle.."§7"..self.parent.locale:getLocale("action_wheel.main.action_7.title_3")..self.parent.locale:getLocale("action_wheel.main.action_7.title_4") + else + actionTitle = actionTitle.."§r"..self.parent.locale:getLocale("action_wheel.main.action_7.title_3").."§b"..self.parent.locale:getLocale("action_wheel.main.action_7.title_4") + end + action:setTitle(actionTitle) + end; +} + +---アクションホイールから衣装を変更するトリガー関数 +---@param costumeId integer 新しい衣装のインデックス番号 +function pings.actionWheelChangeCostume(costumeId) + if costumeId >= 2 then + AvatarInstance.costume:setCostume(costumeId) + else + AvatarInstance.costume:resetCostume() + end +end + +---アクションホイールから名前を変更するトリガー関数 +---@param typeId integer 新しい名前の表示形式のインデックス番号 +---@param shouldShowClubName boolean 部活名を表示するかどうか +function pings.actionWheelChangeName(typeId, shouldShowClubName) + AvatarInstance.nameplate:setName(typeId, shouldShowClubName) +end + +---アクションホイールから防具の可視性を変更するトリガー関数 +---@param visible boolean 防具を表示するかどうか +function pings.actionWheelSetArmorVisible(visible) + AvatarInstance.armor.shouldShowArmor = visible +end + +---アクションホイールから乗り物モデルの置き換えを変更するトリガー関数 +---@param enabled boolean 乗り物モデルの置き換えを有効化するかどうか +function pings.actionWheelSetShouldReplaceVehicleModels(enabled) + AvatarInstance.actionWheel.shouldReplaceVehicleModels = enabled +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/action_wheel/action_wheel_gui.lua b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/action_wheel/action_wheel_gui.lua new file mode 100644 index 0000000..18f89b7 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/action_wheel/action_wheel_gui.lua @@ -0,0 +1,113 @@ +---@class ActionWheelGui : AvatarModule アクションホイールに表示する追加のGUIを管理するクラス +---@field package isActionWheelOpenedPrev boolean 前ティックにアクションホイールを開けていたかどうか + +ActionWheelGui = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ActionWheelGui + new = function (parent) + ---@type ActionWheelGui + local instance = Avatar.instantiate(ActionWheelGui, AvatarModule, parent) + + instance.isActionWheelOpenedPrev = false + + return instance + end; + + ---初期化関数 + ---@param self ActionWheelGui + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + events.TICK:register(function () + local isActionWheelOpened = action_wheel:isEnabled() + if isActionWheelOpened and not self.isActionWheelOpenedPrev then + models.models.action_wheel_gui.Gui:setVisible(true) + + local windowSize = client:getScaledWindowSize() + models.models.action_wheel_gui.Gui.BubbleGuide:setPos(windowSize.x * -0.5 + 44, windowSize.y * -0.5 + 5, 0) + models.models.action_wheel_gui.Gui.ExSkillGuide:setPos(windowSize.x * -0.5 + 57, -21, 0) + models.models.action_wheel_gui.Gui.VersionDisplay:setPos(-0.75, -0.5, 0) + + local bubbleGuideTextTasks = {models.models.action_wheel_gui.Gui.BubbleGuide:getTask("action_wheel.gui.bubble_guide.title"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.GoodEmoji:getTask("bubble_guide.bubble_1.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.HeartEmoji:getTask("bubble_guide.bubble_2.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.NoteEmoji:getTask("bubble_guide.bubble_3.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.QuestionEmoji:getTask("bubble_guide.bubble_4.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.SweatEmoji:getTask("bubble_guide.bubble_5.key_name")} + bubbleGuideTextTasks[1]:setText(self.parent.locale:getLocale("action_wheel.gui.bubble_guide.title")) + for i = 2, #bubbleGuideTextTasks do + bubbleGuideTextTasks[i]:setText("§0"..self.parent.keyManager.keyMappings["bubble_"..(i - 1)]:getKeyName()) + end + + local bubbleGuideTitleWidth = client.getTextWidth(bubbleGuideTextTasks[1]:getText()) / 2 + 4 + local bubbleGuideBodyWidth = 0 + for i = 2, #bubbleGuideTextTasks do + bubbleGuideBodyWidth = math.max(bubbleGuideBodyWidth, client.getTextWidth(bubbleGuideTextTasks[i]:getText()) * 0.5) + end + local bubbleGuideWidth = math.max(bubbleGuideTitleWidth + 6, bubbleGuideBodyWidth + 22) + bubbleGuideWidth = math.max(bubbleGuideWidth, 39) + + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.TitleBar:setPos((bubbleGuideWidth - bubbleGuideTitleWidth) / 2, 0, 0) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.TitleBar:setScale(bubbleGuideTitleWidth, 1, 1) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.TitleCenter:setScale(bubbleGuideWidth - 25, 1, 1) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.TitleLeft:setPos(bubbleGuideWidth - 26, 0, 0) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.BodyTop:setScale(bubbleGuideWidth, 1, 1) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.BodyBottomCenter:setScale(bubbleGuideWidth - 39, 1, 1) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.BodyBottomLeft:setPos(bubbleGuideWidth - 40, 0, 0) + models.models.action_wheel_gui.Gui.BubbleGuide.Emojis:setPos((bubbleGuideWidth - (bubbleGuideBodyWidth + 22)) / 2 + bubbleGuideBodyWidth + 9, 0, 0) + bubbleGuideTextTasks[1]:setPos(bubbleGuideWidth / 2, 0, 0) + for i = 2, #bubbleGuideTextTasks do + bubbleGuideTextTasks[i]:setPos(bubbleGuideBodyWidth / -2 - 4, 1.5, 0) + end + + local exSkillGuideTextTasks = {models.models.action_wheel_gui.Gui.ExSkillGuide:getTask("action_wheel.gui.ex_skill_guide.title"), models.models.action_wheel_gui.Gui.ExSkillGuide:getTask("action_wheel.gui.ex_skill_guide.body_1"), models.models.action_wheel_gui.Gui.ExSkillGuide:getTask("action_wheel.gui.ex_skill_guide.body_2")} + exSkillGuideTextTasks[1]:setText(self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.title")) + exSkillGuideTextTasks[2]:setText(self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill == nil and "§0§l\""..self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.ex_skill_"..self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].exSkill..".name").."\"" or "§0§l\""..self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.ex_skill_"..self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].exSkill..".name").."\"§r§0 - \""..self.parent.keyManager.keyMappings.ex_skill:getKeyName().."\"") + exSkillGuideTextTasks[3]:setText(self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill == nil and "§0"..self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.key_pre")..self.parent.keyManager.keyMappings.ex_skill:getKeyName()..self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.key_post") or "§0§l\""..self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.ex_skill_"..self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill..".name").."\"§r§0 - \""..self.parent.keyManager.keyMappings.ex_skill_sub:getKeyName().."\"") + + local exSkillGuideTitleWidth = client.getTextWidth(exSkillGuideTextTasks[1]:getText()) / 2 + 4 + local exSkillGuideWidth = exSkillGuideTitleWidth + for i = 2, #exSkillGuideTextTasks do + exSkillGuideWidth = math.max(exSkillGuideWidth, client.getTextWidth(exSkillGuideTextTasks[i]:getText()) / 2 + 10) + end + exSkillGuideWidth = math.max(exSkillGuideWidth, 39) + + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.TitleBar:setPos((exSkillGuideWidth - exSkillGuideTitleWidth) / 2, 0, 0) + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.TitleBar:setScale(exSkillGuideTitleWidth, 1, 1) + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.TitleCenter:setScale(exSkillGuideWidth - 25, 1, 1) + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.TitleLeft:setPos(exSkillGuideWidth - 26, 0, 0) + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.BodyBottomCenter:setScale(exSkillGuideWidth - 39, 1, 1) + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.BodyBottomLeft:setPos(exSkillGuideWidth - 40, 0, 0) + exSkillGuideTextTasks[1]:setPos(exSkillGuideWidth / 2, 0, 0) + for i = 2, #exSkillGuideTextTasks do + exSkillGuideTextTasks[i]:setPos(exSkillGuideWidth / 2, (i - 2) * -5 - 8) + end + + local versionDisplayTextTasks = {} + for i = 1, 3 do + table.insert(versionDisplayTextTasks, models.models.action_wheel_gui.Gui.VersionDisplay:getTask("action_wheel.gui.version_display.l"..i)) + end + + for i = 2, 3 do + versionDisplayTextTasks[i]:setPos(0, (i - 1) * -2.25, 0) + end + + elseif not isActionWheelOpened and self.isActionWheelOpenedPrev then + models.models.action_wheel_gui.Gui:setVisible(false) + end + self.isActionWheelOpenedPrev = isActionWheelOpened + end) + + models.models.action_wheel_gui.Gui:setScale(2, 2, 2) + for _, textTask in ipairs({models.models.action_wheel_gui.Gui.BubbleGuide:newText("action_wheel.gui.bubble_guide.title"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.GoodEmoji:newText("bubble_guide.bubble_1.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.HeartEmoji:newText("bubble_guide.bubble_2.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.NoteEmoji:newText("bubble_guide.bubble_3.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.QuestionEmoji:newText("bubble_guide.bubble_4.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.SweatEmoji:newText("bubble_guide.bubble_5.key_name"), models.models.action_wheel_gui.Gui.ExSkillGuide:newText("action_wheel.gui.ex_skill_guide.title"), models.models.action_wheel_gui.Gui.ExSkillGuide:newText("action_wheel.gui.ex_skill_guide.body_1"), models.models.action_wheel_gui.Gui.ExSkillGuide:newText("action_wheel.gui.ex_skill_guide.body_2")}) do + textTask:setScale(0.5, 0.5, 0.5) + textTask:setAlignment("CENTER") + end + for i = 1, 3 do + local textTask = models.models.action_wheel_gui.Gui.VersionDisplay:newText("action_wheel.gui.version_display.l"..i) + textTask:setScale(0.25, 0.25, 0.25) + textTask:setShadow(true) + if i == 1 then + textTask:setText("Figura Blue Archive Characters (FBAC)") + end + end + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/action_wheel/update_checker.lua b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/action_wheel/update_checker.lua new file mode 100644 index 0000000..3a7b50d --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/action_wheel/update_checker.lua @@ -0,0 +1,181 @@ +---@alias UpdateChecker.CheckerStatus +---| "INIT" # 初期状態 +---| "CHECKING" # アップデート確認中 +---| "LATEST" # アップデート確認済み:最新版 +---| "UPDATE_AVAILABLE" # アップデート確認済み:アップデートあり +---| "ERROR_INVALID_JSON" # エラー:予期しないJSONデータ +---| "ERROR_INVALID_JSON_SYNTAX" # エラー:不正なJSON構文 +---| "ERROR_REQUEST_FAILED" # リクエストに失敗 +---| "ERROR_NETWORK_ERR" # ネットワークエラー +---| "ERROR_NOT_ALLOWED" # ネットワーキングAPIが不許可 + +---@class (exact) UpdateChecker : AvatarModule FBACのアップデートの確認を管理するクラス +---@field package FBAC_VERSION string 現在のFBACバージョン +---@field package BRANCH_NAME string このブランチ名(キャラクター名) +---@field public latestVersion? string リモート上にある最新のFBACバージョン +---@field public checkerStatus UpdateChecker.CheckerStatus アップデートチェッカーの状態 +---@field package requestStatus integer 送信したリクエストのステータスコード +---@field package responseHandler Future.HttpResponse|nil httpレスポンスのハンドラ +---@field package textAnimationCount integer 新しいバージョン表示のテキストのアニメーションのカウンター +---@field package isActionWheelOpenedPrev boolean 前ティックにアクションホイールを開けていたかどうか +---@field package compareVersions fun(version1: string, version2: string): string|nil 2つのバージョン文字列を比較し、新しい方を返す +---@field package showNewUpdateMessage fun(self: UpdateChecker) 新FBACバージョンのお知らせを表示する +---@field public checkUpdate fun(self: UpdateChecker) FBACアップデートの確認を行う + +UpdateChecker = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return UpdateChecker + new = function (parent) + ---@type UpdateChecker + local instance = Avatar.instantiate(UpdateChecker, AvatarModule, parent) + + instance.FBAC_VERSION = "v2.1.2" + instance.BRANCH_NAME = "Hoshino" + instance.latestVersion = instance.parent.config:loadConfig("PUBLIC", "latestVersion", nil) + instance.checkerStatus = "INIT" + instance.requestStatus = 0 + instance.textAnimationCount = 0 + + return instance + end; + + ---初期化関数 + ---@param self UpdateChecker + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + models.models.action_wheel_gui.Gui.VersionDisplay:getTask("action_wheel.gui.version_display.l2"):setText(self.FBAC_VERSION.." - "..self.BRANCH_NAME) + + events.TICK:register(function () + local isActionWheelOpened = action_wheel:isEnabled() + if isActionWheelOpened then + local textTask = models.models.action_wheel_gui.Gui.VersionDisplay:getTask("action_wheel.gui.version_display.l3") + if self.checkerStatus == "UPDATE_AVAILABLE" then + if math.floor(self.textAnimationCount / 20) % 2 == 0 then + textTask:setText("§6§n"..self.parent.locale:getLocale("action_wheel.gui.update_check.update_available")..self.latestVersion) + else + textTask:setText("§n"..self.parent.locale:getLocale("action_wheel.gui.update_check.update_available")..self.latestVersion) + end + self.textAnimationCount = self.textAnimationCount + 1 + elseif self.checkerStatus == "ERROR_REQUEST_FAILED" then + textTask:setText(self.parent.locale:getLocale("action_wheel.gui.update_check.error_request_failed").."("..self.requestStatus..")") + else + textTask:setText(self.parent.locale:getLocale("action_wheel.gui.update_check."..self.checkerStatus:lower())) + end + elseif not isActionWheelOpened and self.isActionWheelOpenedPrev then + self.textAnimationCount = 0 + end + self.isActionWheelOpenedPrev = isActionWheelOpened + end) + + local lastUpdateCheckTime = self.parent.config:loadConfig("PUBLIC", "lastUpdateCheckTime", 0) + if client:getSystemTime() >= lastUpdateCheckTime + 86400000 then + self:checkUpdate() + else + local newerVersion = self.compareVersions(self.latestVersion, self.FBAC_VERSION) + if newerVersion ~= nil and newerVersion ~= self.FBAC_VERSION then + self:showNewUpdateMessage() + self.checkerStatus = "UPDATE_AVAILABLE" + else + self.checkerStatus = "LATEST" + end + end + end + end; + + ---2つのバージョン文字列を比較し、新しい方を返す。 + ---@param version1 string 比較するバージョン文字列1 + ---@param version2 string 比較するバージョン文字列2 + ---@return string|nil newerVersion 新しい方のバージョン文字列。比較不可能だった場合はnilを返す。 + compareVersions = function (version1, version2) + local major1, minor1, patch1 = version1:match("^v(%d+)%.(%d+)%.(%d+)") + local major2, minor2, patch2 = version2:match("^v(%d+)%.(%d+)%.(%d+)") + major1 = tonumber(major1) + minor1 = tonumber(minor1) + patch1 = tonumber(patch1) + major2 = tonumber(major2) + minor2 = tonumber(minor2) + patch2 = tonumber(patch2) + if major1 ~= nil and minor1 ~= nil and patch1 ~= nil and major2 ~= nil and minor2 ~= nil and patch2 ~= nil then + return (major1 > major2 or (major1 == major2 and minor1 > minor2) or (major1 == major2 and minor1 == minor2 and patch1 > patch2)) and version1 or version2 + end + end; + + ---新FBACバージョンのお知らせを表示する。 + ---@param self UpdateChecker + showNewUpdateMessage = function (self) + print(self.parent.locale:getLocale("action_wheel.gui.update_check.update_available")..self.latestVersion) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.experience_orb.pickup"), player:getPos(), 1, 1) + end; + + ---FBACアップデートの確認を行う。 + ---@param self UpdateChecker + checkUpdate = function (self) + if host:isHost() and self.checkerStatus ~= "CHECKING" then + self.checkerStatus = "CHECKING" + if net:isNetworkingAllowed() and net:isLinkAllowed("https://api.github.com") then + local request = net.http:request("https://api.github.com/repos/Gakuto1112/FiguraBlueArchiveCharacters/tags") + self.responseHandler = request:send() + events.TICK:register(function () + if self.responseHandler:isDone() then + local response = self.responseHandler:getValue() + if response ~= nil then + local stats = response:getResponseCode() + if math.floor(stats / 100) == 2 then + local stream = response:getData() + local buffer = data:createBuffer() + buffer:readFromStream(stream) + buffer:setPosition(0) + local jsonData = buffer:readByteArray() + if json.isSerializable(jsonData) then + local parseData = parseJson(jsonData) + if parseData[1] ~= nil and parseData[1].name ~= nil then + local newerVersion = self.compareVersions(parseData[1].name, self.FBAC_VERSION) + if newerVersion ~= nil then + if newerVersion ~= self.FBAC_VERSION then + --新しいバージョンがある + self.latestVersion = parseData[1].name + self.checkerStatus = "UPDATE_AVAILABLE" + self:showNewUpdateMessage() + else + --現在は最新 + self.latestVersion = parseData[1].name + self.checkerStatus = "LATEST" + end + self.parent.config:saveConfig("PUBLIC", "lastUpdateCheckTime", client:getSystemTime()) + self.parent.config:saveConfig("PUBLIC", "latestVersion", parseData[1].name) + else + --予期しないJSONデータ + self.checkerStatus = "ERROR_INVALID_JSON" + end + else + --予期しないJSONデータ + self.checkerStatus = "ERROR_INVALID_JSON" + end + else + --JSON解析エラー + self.checkerStatus = "ERROR_INVALID_JSON_SYNTAX" + end + stream:close() + buffer:close() + else + --ステータスコードが200番台以外 + self.checkerStatus = "ERROR_REQUEST_FAILED" + self.requestStatus = stats + end + else + --ネットワークエラー + self.checkerStatus = "ERROR_NETWORK_ERR" + end + events.TICK:remove("update_checker_http_tick") + end + end, "update_checker_http_tick") + else + ---ネットワーキングAPIが不許可 + self.checkerStatus = "ERROR_NOT_ALLOWED" + end + end + end; +} diff --git a/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/armor.lua b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/armor.lua new file mode 100644 index 0000000..7c22696 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/armor.lua @@ -0,0 +1,364 @@ +---防具の部位 +---@alias Armor.ArmorPart +---| "HELMET" # ヘルメット +---| "CHEST_PLATE" # チェストプレート +---| "LEGGINGS" # レギンス +---| "BOOTS" # ブーツ + +---@class (exact) Armor : AvatarModule 防具の表示を制御するクラス +---@field public shouldShowArmor boolean 防具を表示するかどうか +---@field public armorSlotItems ItemStack[] 現ティックの防具スロットのアイテム +---@field package armorSlotItemsPrev ItemStack[] 前ティックの防具スロットのアイテム +---@field public isArmorVisible Armor.VisiblePartsSet 各防具の部位(ヘルメット、チェストプレート、レギンス、ブーツ)が可視状態かどうか +---@field package textureQueue Armor.TextureQueueData[] テクスチャ処理のキュー +---@field package getArmorColor fun(armorItem: ItemStack): number 防具の色を取得する +---@field package compareTrims fun(trim1?: Armor.TrimData, trim2?: Armor.TrimData): boolean 防具装飾が同じものか比較する +---@field package addTextureQueue fun(self: Armor, texture: Texture, paletteName: string) テクスチャの処理のキューにデータを挿入する +---@field package getTrimTexture fun(self: Armor, trimData?: Armor.TrimData, armorId: string): Texture|nil バニラパーツの防具装飾のテクスチャを取得する。テクスチャの処理は次のチック以降行われる。 +---@field public setHelmet fun(self: Armor, helmetItem: ItemStack) ヘルメットを更新する +---@field public setChestplate fun(self: Armor, chestplateItem: ItemStack) チェストプレートを更新する +---@field public setLeggings fun(self: Armor, leggingsItem: ItemStack) レギンスを更新する +---@field public setBoots fun(self: Armor, bootsItem: ItemStack) ブーツを更新する + +---@class (exact) Armor.VisiblePartsSet 各防具の部位の可視状態のセット +---@field public helmet boolean ヘルメット +---@field public chestplate boolean チェストプレート +---@field public leggings boolean レギンス +---@field public boots boolean ブーツ + +---@class (exact) Armor.TextureQueueData テクスチャキューに入るデータの構造体 +---@field public texture Texture 処理対象のテクスチャ +---@field public palette Texture 処理に使用するパレットのテクスチャ +---@field public iterationCount integer 現在の繰り返しカウンター + +---@class (exact) Armor.TrimData 防具装飾のデータセット +---@field public pattern string 防具装飾の模様 +---@field public material string 防具装飾の素材 + +Armor = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Armor + new = function (parent) + ---@type Armor + local instance = Avatar.instantiate(Armor, AvatarModule, parent) + instance.shouldShowArmor = instance.parent.config:loadConfig("PRIVATE", "showArmor", false) + instance.armorSlotItems = {world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air"))} + instance.armorSlotItemsPrev = {world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air"))} + instance.isArmorVisible = { + helmet = false; + chestplate = false; + leggings = false; + boots = false; + } + instance.textureQueue = {} + + return instance + end; + + ---初期化関数 + ---@param self Armor + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + self.armorSlotItems = self.shouldShowArmor and {player:getItem(6), player:getItem(5), player:getItem(4), player:getItem(3)} or {world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))} + if self.armorSlotItems[1].id ~= self.armorSlotItemsPrev[1].id then + self:setHelmet(self.armorSlotItems[1]) + end + if self.armorSlotItems[2].id ~= self.armorSlotItemsPrev[2].id then + self:setChestplate(self.armorSlotItems[2]) + end + if self.armorSlotItems[3].id ~= self.armorSlotItemsPrev[3].id then + self:setLeggings(self.armorSlotItems[3]) + end + if self.armorSlotItems[4].id ~= self.armorSlotItemsPrev[4].id then + self:setBoots(self.armorSlotItems[4]) + end + + for index, armorSlotItem in ipairs(self.armorSlotItems) do + local glint = armorSlotItem:hasGlint() + if glint ~= self.armorSlotItemsPrev[index]:hasGlint() then + --エンチャント変更 + local renderType = glint and "GLINT" or "NONE" + if index == 2 then + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom}) do + armorPart:setSecondaryRenderType(renderType) + end + elseif index == 3 then + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom}) do + armorPart:setSecondaryRenderType(renderType) + end + else + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom}) do + armorPart:setSecondaryRenderType(renderType) + end + end + end + local armorColor = self.getArmorColor(armorSlotItem) + if armorColor ~= self.getArmorColor(self.armorSlotItemsPrev[index]) then + --色変更 + local colorVector = vectors.intToRGB(armorColor) + if index == 2 then + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplate, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottom, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplate, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottom}) do + armorPart:setColor(colorVector) + end + elseif index == 3 then + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggings, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggings, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottom}) do + armorPart:setColor(colorVector) + end + else + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBoots, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBoots, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottom}) do + armorPart:setColor(colorVector) + end + end + end + local trim = self.armorSlotItems[index].tag.Trim + if not self.compareTrims(trim, self.armorSlotItemsPrev[index].tag.Trim) then + --トリム変更 + if index == 2 then + local trimTexture = self:getTrimTexture(trim, self.armorSlotItems[2].id) + if trimTexture then + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplateTrim, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottomTrim, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplateTrim, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottomTrim}) do + armorPart:setVisible(true) + armorPart:setPrimaryTexture("CUSTOM", trimTexture) + end + else + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplateTrim, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottomTrim, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplateTrim, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottomTrim}) do + armorPart:setVisible(false) + end + end + elseif index == 3 then + local trimTexture = self:getTrimTexture(trim, self.armorSlotItems[3].id) + if trimTexture then + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggingsTrim, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottomTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggingsTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottomTrim}) do + armorPart:setVisible(true) + armorPart:setPrimaryTexture("CUSTOM", trimTexture) + end + else + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggingsTrim, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottomTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggingsTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottomTrim}) do + armorPart:setVisible(false) + end + end + else + local trimTexture = self:getTrimTexture(trim, self.armorSlotItems[4].id) + if trimTexture then + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBootsTrim, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottomTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBootsTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottomTrim}) do + armorPart:setVisible(true) + armorPart:setPrimaryTexture("CUSTOM", trimTexture) + end + else + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBootsTrim, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottomTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBootsTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottomTrim}) do + armorPart:setVisible(false) + end + end + end + end + end + --テクスチャの作成処理 + if #self.textureQueue > 0 then + local instructionsAvailable = avatar:getMaxTickCount() - 3000 --このTICKで使用出来る残りの命令数 + while #self.textureQueue > 0 and instructionsAvailable > 0 do + local dimension = self.textureQueue[1].texture:getDimensions() + for y = math.floor(self.textureQueue[1].iterationCount / dimension.x), dimension.y - 1 do + for x = self.textureQueue[1].iterationCount % dimension.x, dimension.x - 1 do + local pixel = self.textureQueue[1].texture:getPixel(x, y) + if pixel.w == 1 then + self.textureQueue[1].texture:setPixel(x, y, self.textureQueue[1].palette:getPixel(7 - math.floor(pixel.x * 8), 0)) + end + self.textureQueue[1].iterationCount = self.textureQueue[1].iterationCount + 1 + instructionsAvailable = instructionsAvailable - 45 + if instructionsAvailable <= 0 then + break + end + end + if instructionsAvailable <= 0 then + break + end + end + self.textureQueue[1].texture:update() + if self.textureQueue[1].iterationCount == dimension.x * dimension.y then + table.remove(self.textureQueue, 1) + end + end + end + self.armorSlotItemsPrev = self.armorSlotItems + end) + + for _, vanillaModel in ipairs({vanilla_model.HELMET, vanilla_model.CHESTPLATE, vanilla_model.LEGGINGS}) do + vanillaModel:setVisible(false) + end + for _, overlayPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottomOverlay, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottomOverlay, models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBootsOverlay, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottomOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBootsOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottomOverlay}) do + overlayPart:setPrimaryTexture("RESOURCE", "minecraft:textures/models/armor/leather_layer_1_overlay.png") + end + for _, overlayPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggingsOverlay, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottomOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggingsOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottomOverlay}) do + overlayPart:setPrimaryTexture("RESOURCE", "minecraft:textures/models/armor/leather_layer_2_overlay.png") + end + end; + + ---防具の色を取得する。 + ---@param armorItem ItemStack 調べるアイテムのオブジェクト + ---@return number color 防具モデルに設定すべき色 + getArmorColor = function (armorItem) + if armorItem.id:find("^minecraft:leather_") then + if armorItem.tag then + if armorItem.tag.display then + return armorItem.tag.display.color and armorItem.tag.display.color or 10511680 + else + return 10511680 + end + else + return 10511680 + end + else + return 16777215 + end + end; + + ---防具装飾が同じものか比較する。 + ---@param trim1? Armor.TrimData 比較する防具装飾のテーブル1 + ---@param trim2? Armor.TrimData 比較する防具装飾のテーブル2 + ---@return boolean isTrimSame 2つの防具装飾が同じものかどうか + compareTrims = function (trim1, trim2) + if type(trim1) == type(trim2) then + if trim1 then + if trim1.pattern ~= trim2.pattern then + return false + elseif trim1.material ~= trim2.material then + return false + else + return true + end + else + return true + end + else + return false + end + end; + + ---テクスチャの処理のキューにデータを挿入する。 + ---@param self Armor + ---@param texture Texture 処理を行うテクスチャ + ---@param paletteName string 使用するパレットの名前 + addTextureQueue = function (self, texture, paletteName) + if textures["trim_palette_"..paletteName] == nil then + textures:fromVanilla("trim_palette_"..paletteName, "minecraft:textures/trims/color_palettes/"..paletteName..".png") + end + table.insert(self.textureQueue, 1, { + texture = texture, + palette = textures["trim_palette_"..paletteName], + iterationCount = 0 + }) + end; + + ---バニラパーツの防具装飾のテクスチャを取得する。テクスチャの処理は次のチック以降行われる。 + ---@param self Armor + ---@param trimData? Armor.TrimData 防具装飾のデータ + ---@param armorId string 防具アイテムのID。 + ---@return Texture|nil trimTexture 色を付けた防具装飾のテクスチャ。防具や防具装飾が非バニラの場合はnilを返す。 + getTrimTexture = function (self, trimData, armorId) + if trimData and trimData.pattern:find("^minecraft:.+$") and trimData.material:find("^minecraft:.+$") and armorId:find("^minecraft:.+_.+$") then + local normalizedPatternName = trimData.pattern:match("^minecraft:(%a+)$") + local normalizedArmorMaterialName = armorId:match("^minecraft:(%a+)_.+$") + normalizedArmorMaterialName = normalizedArmorMaterialName == "golden" and "gold" or normalizedArmorMaterialName + local normalizedMaterialName = trimData.material:match("^minecraft:(%a+)$") + normalizedMaterialName = normalizedMaterialName..(normalizedArmorMaterialName == normalizedMaterialName and "_darker" or "") + local isLeggings = armorId:find("^minecraft:.+_leggings$") + local textureName = "trim_"..normalizedPatternName.."_"..normalizedMaterialName..(isLeggings and "_leggings" or "") + if textures[textureName] then + return textures[textureName] + else + local texture = textures:fromVanilla(textureName, "minecraft:textures/trims/models/armor/"..normalizedPatternName..(armorId:find("^minecraft:.+_leggings$") ~= nil and "_leggings" or "")..".png") + self:addTextureQueue(texture, normalizedMaterialName) + return texture + end + end + end; + + ---ヘルメットを更新する。 + ---@param self Armor + ---@param helmetItem ItemStack ヘルメットのスロットに入っているアイテム + setHelmet = function (self, helmetItem) + local helmetFound = helmetItem.id ~= "minecraft:air" + vanilla_model.HELMET:setVisible(helmetFound) + self.isArmorVisible.helmet = helmetFound + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onArmorChange ~= nil then + self.parent.characterData.costume.callbacks.onArmorChange(self.parent.characterData, "HELMET", self.isArmorVisible.helmet) + end + end; + + ---チェストプレートを更新する。 + ---@param self Armor + ---@param chestplateItem ItemStack チェストプレートスロットに入っているアイテム + setChestplate = function (self, chestplateItem) + local chestplateFound = chestplateItem.id:find("^minecraft:.+_chestplate$") ~= nil + vanilla_model.CHESTPLATE:setVisible(chestplateFound) + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB}) do + armorPart:setVisible(chestplateFound) + end + self.isArmorVisible.chestplate = chestplateFound + if self.isArmorVisible.chestplate then + local material = chestplateItem.id:match("^minecraft:(%a+)_chestplate$") + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplate, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottom, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplate, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottom}) do + armorPart:setPrimaryTexture("RESOURCE", "minecraft:textures/models/armor/"..(material == "golden" and "gold" or material).."_layer_1.png") + end + end + local overlayVisible = chestplateItem.id == "minecraft:leather_chestplate" + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottomOverlay, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottomOverlay}) do + armorPart:setVisible(overlayVisible) + end + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onArmorChange ~= nil then + self.parent.characterData.costume.callbacks.onArmorChange(self.parent.characterData, "CHEST_PLATE", self.isArmorVisible.chestplate) + end + end; + + ---レギンスを更新する。 + ---@param self Armor + ---@param leggingsItem ItemStack レギンススロットに入っているアイテム + setLeggings = function (self, leggingsItem) + local leggingsFound = leggingsItem.id:find("^minecraft:.+_leggings$") ~= nil + vanilla_model.LEGGINGS:setVisible(leggingsFound) + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom}) do + armorPart:setVisible(leggingsFound) + end + self.isArmorVisible.leggings = leggingsFound + if self.isArmorVisible.leggings then + local material = leggingsItem.id:match("^minecraft:(%a+)_leggings$") + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggings, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggings, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottom}) do + armorPart:setPrimaryTexture("RESOURCE", "minecraft:textures/models/armor/"..(material == "golden" and "gold" or material).."_layer_2.png") + end + end + local overlayVisible = leggingsItem.id == "minecraft:leather_leggings" + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggingsOverlay, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottomOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggingsOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottomOverlay}) do + armorPart:setVisible(overlayVisible) + end + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onArmorChange ~= nil then + self.parent.characterData.costume.callbacks.onArmorChange(self.parent.characterData, "LEGGINGS", self.isArmorVisible.leggings) + end + end; + + ---ブーツを更新する。 + ---@param self Armor + ---@param bootsItem ItemStack ブーツスロットに入っているアイテム + setBoots = function (self, bootsItem) + local bootsFound = bootsItem.id:find("^minecraft:.+_boots$") ~= nil + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom}) do + armorPart:setVisible(bootsFound) + end + self.isArmorVisible.boots = bootsFound + if self.isArmorVisible.boots then + local material = bootsItem.id:match("^minecraft:(%a+)_boots$") + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBoots, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBoots, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottom}) do + armorPart:setPrimaryTexture("RESOURCE", "minecraft:textures/models/armor/"..(material == "golden" and "gold" or material).."_layer_1.png") + end + end + local overlayVisible = bootsItem.id == "minecraft:leather_boots" + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBootsOverlay, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottomOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBootsOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottomOverlay}) do + armorPart:setVisible(overlayVisible) + end + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onArmorChange ~= nil then + self.parent.characterData.costume.callbacks.onArmorChange(self.parent.characterData, "BOOTS", self.isArmorVisible.boots) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/arms.lua b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/arms.lua new file mode 100644 index 0000000..40279e4 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/arms.lua @@ -0,0 +1,192 @@ +---@class (exact) Arms : AvatarModule アバターの腕を制御するクラス +---@field public armState Arms.ArmStateSet 腕の状態:0. バニラ状態, 1. 銃を構えている際の、銃を構えている方の腕, 2. 銃を構えている際の、銃を構えていない方の腕, 3. クロスボウ装填中 +---@field package armStatePrev Arms.ArmStateSet 前ティックの腕の状態 +---@field package swingCount integer 腕をプラプラさせるカウンター +---@field package isSwingCountProcessed boolean 腕プラプラカウンターを処理したかどうか +---@field public processArmSwingCount fun(self: Arms) 腕プラプラカウンターを処理する +---@field public setArmState fun(self: Arms, right?: integer, left?: integer) 腕の状態を設定する + +---@class (exact) Arms.ArmStateSet 腕の状態を示すデータセット +---@field public right integer 右腕の状態 +---@field public left integer 左腕の状態 + +Arms = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Arms + new = function (parent) + ---@type Arms + local instance = Avatar.instantiate(Arms, AvatarModule, parent) + + instance.armState = { + right = 0; + left = 0; + } + instance.armStatePrev = { + right = 0; + left = 0; + } + instance.swingCount = 0 + instance.isSwingCountProcessed = false + + return instance + end; + + ---初期化関数 + ---@param self Arms + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + self.isSwingCountProcessed = false + end) + end; + + ---腕プラプラカウンターを処理する。 + ---@param self Arms + processArmSwingCount = function (self) + if not client:isPaused() and not self.isSwingCountProcessed then + self.swingCount = self.swingCount + 1 + self.swingCount = self.swingCount == 100 and 0 or self.swingCount + self.isSwingCountProcessed = true + end + end; + + ---腕の状態を設定する。 + ---@param self Arms + ---@param right? integer 右腕の状態 + ---@param left? integer 左腕の状態 + setArmState = function (self, right, left) + if right ~= nil then + self.armState.right = right + end + if left ~= nil then + self.armState.left = left + end + if (self.armState.right == 1 or self.armState.left == 1) and player:getActiveItem().id == "minecraft:crossbow" then + self:setArmState(3, 3) + return + end + if self.parent.characterData.arms.callbacks ~= nil and self.parent.characterData.arms.callbacks.onArmStateChanged ~= nil then + local result = self.parent.characterData.arms.callbacks.onArmStateChanged(self.parent.characterData, self.armState.right, self.armState.left) + if result ~= nil then + if result.right ~= nil then + self.armState.right = result.right + end + if result.left ~= nil then + self.armState.left = result.left + end + end + end + + --右腕の操作 + if self.armState.right ~= self.armStatePrev.right then + --腕の状態をリセット + models.models.main.Avatar.UpperBody.Arms.RightArm:setRot() + models.models.main.Avatar.UpperBody.Arms.RightArm:setParentType("RightArm") + events.TICK:remove("right_arm_tick") + events.RENDER:remove("right_arm_render") + if self.armState.right == 1 then + --銃を構えている際の、銃を構えている方の腕 + events.TICK:register(function () + if self.armState.right == 1 then + self:processArmSwingCount() + if player:isSwingingArm() and not player:isLeftHanded() then + models.models.main.Avatar.UpperBody.Arms.RightArm:setParentType("RightArm") + else + models.models.main.Avatar.UpperBody.Arms.RightArm:setParentType("Body") + end + if player:getActiveItem().id == "minecraft:crossbow" then + self:setArmState(3, 3) + end + end + end, "right_arm_tick") + events.RENDER:register(function (delta) + local headRot = vanilla_model.HEAD:getOriginRot() + models.models.main.Avatar.UpperBody.Arms.RightArm:setRot(player:isSwingingArm() and not player:isLeftHanded() and vectors.vec3() or vectors.vec3(headRot.x + math.sin((self.swingCount + delta) / 100 * math.pi * 2) * 2.5 + 90 + (player:isCrouching() and 30 or 0), headRot.y, 0)) + end, "right_arm_render") + elseif self.armState.right == 2 then + --銃を構えている際の、銃を構えていない方の腕 + events.TICK:register(function () + self:processArmSwingCount() + end, "right_arm_tick") + events.RENDER:register(function (delta, context) + local headRot = vanilla_model.HEAD:getOriginRot() + local isSwingingArm = player:isSwingingArm() and not player:isLeftHanded() + models.models.main.Avatar.UpperBody.Arms.RightArm:setParentType((isSwingingArm or context == "FIRST_PERSON") and "RightArm" or "Body") + models.models.main.Avatar.UpperBody.Arms.RightArm:setRot(isSwingingArm and vectors.vec3() or vectors.vec3(headRot.x + math.sin((self.swingCount + delta) / 100 * math.pi * 2) * 2.5 + 90 + (player:isCrouching() and 30 or 0), math.map((headRot.y + 180) % 360 - 180, -50, 50, -21, 78), 0)) + end, "right_arm_render") + elseif self.armState.right == 3 then + --クロスボウ装填中 + events.TICK:register(function () + if player:getActiveItem().id ~= "minecraft:crossbow" and self.armState.right == 3 then + if self.parent.gun.currentGunPosition == "RIGHT" then + self:setArmState(1, 2) + elseif self.parent.gun.currentGunPosition == "LEFT" then + self:setArmState(2, 1) + end + end + end, "right_arm_tick") + end + if self.parent.characterData.arms.callbacks ~= nil and self.parent.characterData.arms.callbacks.onAdditionalRightArmProcess ~= nil then + self.parent.characterData.arms.callbacks.onAdditionalRightArmProcess(self.parent.characterData, self.armState.right) + end + self.armStatePrev.right = self.armState.right + end + --左腕の操作 + if self.armState.left ~= self.armStatePrev.left then + --腕の状態をリセット + models.models.main.Avatar.UpperBody.Arms.LeftArm:setRot() + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType("LeftArm") + events.TICK:remove("left_arm_tick") + events.RENDER:remove("left_arm_render") + if self.armState.left == 1 then + --銃を構えている際の、銃を構えている方の腕 + events.TICK:register(function () + if self.armState.left == 1 then + self:processArmSwingCount() + if player:isSwingingArm() and player:isLeftHanded() then + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType("LeftArm") + else + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType("Body") + end + if player:getActiveItem().id == "minecraft:crossbow" then + self:setArmState(3, 3) + end + end + end, "left_arm_tick") + events.RENDER:register(function (delta) + local headRot = vanilla_model.HEAD:getOriginRot() + models.models.main.Avatar.UpperBody.Arms.LeftArm:setRot(player:isSwingingArm() and player:isLeftHanded() and vectors.vec3() or vectors.vec3(headRot.x + math.sin((self.swingCount + delta) / 100 * math.pi * 2) * -2.5 + 90 + (player:isCrouching() and 30 or 0), headRot.y, 0)) + end, "left_arm_render") + elseif self.armState.left == 2 then + --銃を構えている際の、銃を構えていない方の腕 + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType("Body") + events.TICK:register(function () + self:processArmSwingCount() + end, "left_arm_tick") + events.RENDER:register(function (delta, context) + local headRot = vanilla_model.HEAD:getOriginRot() + local isSwingingArm = player:isSwingingArm() and player:isLeftHanded() + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType((isSwingingArm or context == "FIRST_PERSON") and "LeftArm" or "Body") + models.models.main.Avatar.UpperBody.Arms.LeftArm:setRot(isSwingingArm and vectors.vec3() or vectors.vec3(headRot.x + math.sin((self.swingCount + delta) / 100 * math.pi * 2) * -2.5 + 90 + (player:isCrouching() and 30 or 0), math.map((headRot.y + 180) % 360 - 180, -50, 50, -78, 21), 0)) + end, "left_arm_render") + elseif self.armState.left == 3 then + --クロスボウ装填中 + events.TICK:register(function () + if player:getActiveItem().id ~= "minecraft:crossbow" and self.armState.left == 3 then + if self.parent.gun.currentGunPosition == "RIGHT" then + self:setArmState(1, 2) + elseif self.parent.gun.currentGunPosition == "LEFT" then + self:setArmState(2, 1) + end + end + end, "left_arm_tick") + end + if self.parent.characterData.arms.callbacks ~= nil and self.parent.characterData.arms.callbacks.onAdditionalLeftArmProcess ~= nil then + self.parent.characterData.arms.callbacks.onAdditionalLeftArmProcess(self.parent.characterData, self.armState.left) + end + self.armStatePrev.left = self.armState.left + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/avatar_module.lua b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/avatar_module.lua new file mode 100644 index 0000000..4ae2c3a --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/avatar_module.lua @@ -0,0 +1,23 @@ +---@class AvatarModule アバターの動作を構成するモジュールの抽象クラス +---@field public parent Avatar アバターのメインクラスへの参照 +---@field public new fun(parent: Avatar): AvatarModule コンストラクタ +---@field public init fun(self: AvatarModule) 初期化関数 + +AvatarModule = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return AvatarModule + new = function (parent) + ---@type AvatarModule + local instance = Avatar.instantiate(AvatarModule) + + instance.parent = parent + + return instance + end; + + ---初期化関数 + ---@param self AvatarModule + init = function (self) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/barrier.lua b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/barrier.lua new file mode 100644 index 0000000..06066b9 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/barrier.lua @@ -0,0 +1,88 @@ +---@class (exact) Barrier : AvatarModule バリアの視覚効果を管理するクラス +---@field package animationCounts number[] バリアのアニメーションのカウンター +---@field public isBarrierVisible boolean バリアが可視化状態かどうか +---@field package hadAbsorptionPrev boolean 前ティックの衝撃吸収のハートを持っていたかどうか +---@field package colorFactor number バリアの色の係数 +---@field public enable fun(self: Barrier) バリア機能を有効にする +---@field public disable fun(self: Barrier) バリア機能を無効にする + +Barrier = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Barrier + new = function (parent) + ---@type Barrier + local instance = Avatar.instantiate(Barrier, AvatarModule, parent) + + instance.animationCounts = {} + instance.isBarrierVisible = false + instance.hadAbsorptionPrev = false + instance.colorFactor = client:hasShaderPack() and 0.5 or 1 + + for i = 1, 32 do + instance.animationCounts[i] = math.random(0, 39) + end + + return instance + end; + + ---初期化関数 + ---@param self Barrier + init = function (self) + AvatarModule.init(self) + + models.models.main.Avatar.barrier:setLight(15) + + events.TICK:register(function () + local hasAbsorption = player:getAbsorptionAmount() > 0 and player:getHealth() > 0 + if hasAbsorption and not self.hadAbsorptionPrev then + self:enable() + elseif not hasAbsorption and self.hadAbsorptionPrev then + self:disable() + end + self.hadAbsorptionPrev = hasAbsorption + end) + end; + + ---バリア機能を有効にする。 + ---@param self Barrier + enable = function (self) + for i = 1, 32 do + self.animationCounts[i] = math.random(0, 39) + end + + events.TICK:register(function () + for i = 1, 32 do + self.animationCounts[i] = self.animationCounts[i] + 1 + if self.animationCounts[i] == 40 then + self.animationCounts[i] = 0 + end + end + self.colorFactor = client:hasShaderPack() and 0.5 or 1 + end, "barrier_tick") + + events.RENDER:register(function (delta, context) + if context == "FIRST_PERSON" or context == "RENDER" then + models.models.main.Avatar.barrier:setVisible(true) + for i = 1, 32 do + local opacity = math.abs(-0.025 * (self.animationCounts[i] + delta) + 0.5) + 0.5 + models.models.main.Avatar.barrier.Barrier["Barrier"..i]:setOpacity(opacity) + models.models.main.Avatar.barrier.Barrier["Barrier"..i]:setColor(opacity * self.colorFactor, opacity * self.colorFactor, 1) + end + else + models.models.main.Avatar.barrier:setVisible(false) + end + end, "barrier_render") + + self.isBarrierVisible = true + end; + + ---バリア機能を無効にする。 + ---@param self Barrier + disable = function (self) + models.models.main.Avatar.barrier:setVisible(false) + events.TICK:remove("barrier_tick") + events.RENDER:remove("barrier_render") + self.isBarrierVisible = false + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/bubble.lua b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/bubble.lua new file mode 100644 index 0000000..fc6197b --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/bubble.lua @@ -0,0 +1,224 @@ +---@alias Bubble.BubbleType +---| "GOOD" # 👍 +---| "HEART" # 💗 +---| "NOTE" # 🎵 +---| "QUESTION" # ❓ +---| "SWEAT" # 💦 +---| "RELOAD" # 弾薬をリロードする絵文字 +---| "DOTS" # … +---| "V" # ✌ + +---@class (exact) Bubble : AvatarModule 吹き出しエモートを管理するクラス +---@field public bubbleCount integer 吹き出しの表示時間を測るカウンター +---@field public emoji Bubble.BubbleType 吹き出しの絵文字 +---@field package duration integer 吹き出しを表示する時間。-1は時間無制限を示す。 +---@field package isAutoBubble boolean 吹き出しエモートが自動で出たものかどうか +---@field package shouldShowInHud boolean 一人称用にHUDに吹き出しを表示するかどうか +---@field package emojiAnimationCount number 絵文字のアニメーションのタイミングを測るカウンター +---@field package isForcedStop boolean 吹き出しエモートが強制停止させられたかどうか +---@field public isChatOpened boolean チャットを開けているかどうか +---@field package isChatOpenedPrev boolean 前ティックにチャットを開けていたかどうか +---@field public play fun(self: Bubble, type: Bubble.BubbleType, duration: integer, offsetPos: Vector2, offsetRot: number, shouldShowInHud: boolean) 吹き出しエモートを再生する +---@field public stop fun(self: Bubble) 吹き出しエモートを停止する + +Bubble = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Bubble + new = function (parent) + ---@type Bubble + local instance = Avatar.instantiate(Bubble, AvatarModule, parent) + + instance.bubbleCount = 0 + instance.emoji = "GOOD" + instance.duration = 0 + instance.isAutoBubble = false + instance.shouldShowInHud = false + instance.emojiAnimationCount = 0 + instance.isForcedStop = false + instance.isChatOpened = false + instance.isChatOpenedPrev = false + + return instance + end; + + ---初期化関数 + ---@param self Bubble + init = function (self) + AvatarModule.init(self) + + models.models.bubble:addChild(models:newPart("Gui", "Gui")) + models.models.bubble.Gui:addChild(models.models.bubble.Camera.AvatarBubble:copy("FirstPersonBubble")) + models.models.bubble.Gui.FirstPersonBubble:setVisible(false) + for _, modelPart in ipairs({models.models.bubble.Camera.AvatarBubble, models.models.bubble.Gui.FirstPersonBubble}) do + modelPart:setScale(0, 0, 0) + end + + --エモートガイド + if host:isHost() then + self.parent.keyManager:register("bubble_1", self.parent.config:loadConfig("PRIVATE", "keybind.bubble_1", "key.keyboard.j")):onPress(function () + if self.parent.exSkill.animationCount == -1 and (self.bubbleCount == 0 or self.isAutoBubble) then + pings.showBubbleEmote("GOOD") + end + end) + self.parent.keyManager:register("bubble_2", self.parent.config:loadConfig("PRIVATE", "keybind.bubble_2", "key.keyboard.k")):onPress(function () + if self.parent.exSkill.animationCount == -1 and (self.bubbleCount == 0 or self.isAutoBubble) then + pings.showBubbleEmote("HEART") + end + end) + self.parent.keyManager:register("bubble_3", self.parent.config:loadConfig("PRIVATE", "keybind.bubble_3", "key.keyboard.n")):onPress(function () + if self.parent.exSkill.animationCount == -1 and (self.bubbleCount == 0 or self.isAutoBubble) then + pings.showBubbleEmote("NOTE") + end + end) + self.parent.keyManager:register("bubble_4", self.parent.config:loadConfig("PRIVATE", "keybind.bubble_4", "key.keyboard.m")):onPress(function () + if self.parent.exSkill.animationCount == -1 and (self.bubbleCount == 0 or self.isAutoBubble) then + pings.showBubbleEmote("QUESTION") + end + end) + self.parent.keyManager:register("bubble_5", self.parent.config:loadConfig("PRIVATE", "keybind.bubble_5", "key.keyboard.comma")):onPress(function () + if self.parent.exSkill.animationCount == -1 and (self.bubbleCount == 0 or self.isAutoBubble) then + pings.showBubbleEmote("SWEAT") + end + end) + end + + events.TICK:register(function () + if host:isHost() then + local isChatOpened = host:isChatOpen() + if isChatOpened ~= self.isChatOpened then + pings.setChatOpen(isChatOpened) + end + self.isChatOpenedPrev = isChatOpened + end + + if player:getActiveItem().id == "minecraft:crossbow" then + if self.bubbleCount == 0 or (self.isAutoBubble and self.emoji ~= "RELOAD") then + self:play("RELOAD", -1, vectors.vec2(), 0, false) + self.isAutoBubble = true + end + elseif self.isChatOpened and self.parent.exSkill.transitionCount == 0 then + if self.bubbleCount == 0 or (self.isAutoBubble and self.emoji ~= "DOTS") then + self:play("DOTS", -1, vectors.vec2(), 0, false) + self.isAutoBubble = true + end + elseif self.isAutoBubble then + self:stop() + self.isAutoBubble = false + end + end) + end; + + ---吹き出しエモートを再生する。 + ---@param self Bubble + ---@param type Bubble.BubbleType 再生する絵文字の種類 + ---@param duration integer 吹き出しを表示している時間。-1にすると停止するまでずっと表示する。 + ---@param offsetPos Vector2 吹き出しの位置のオフセット値 + ---@param offsetRot number アバター周回上の、吹き出しが表示される位置のオフセット値 + ---@param shouldShowInHud boolean 一人称用にHUDに吹き出しを表示するかどうか + play = function (self, type, duration, offsetPos, offsetRot, shouldShowInHud) + self.emoji = type + self.duration = duration + self.shouldShowInHud = shouldShowInHud + self.bubbleCount = 1 + self.emojiAnimationCount = 0 + models.models.bubble.Camera.AvatarBubble.Emoji:setPrimaryTexture("CUSTOM", textures["textures.emojis."..self.emoji:lower()]) + models.models.bubble.Camera.AvatarBubble.Bullets:setVisible(self.emoji == "RELOAD") + models.models.bubble.Camera.AvatarBubble.Dots:setVisible(self.emoji == "DOTS") + if self.shouldShowInHud then + models.models.bubble.Gui.FirstPersonBubble.Emoji:setPrimaryTexture("CUSTOM", textures["textures.emojis."..self.emoji:lower()]) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.item.pickup"), self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar)) + end + + if events.TICK:getRegisteredCount("bubble_tick") == 0 then + events.TICK:register(function () + if not client:isPaused() then + models.models.bubble.Gui.FirstPersonBubble:setVisible(self.shouldShowInHud and renderer:isFirstPerson()) + self.bubbleCount = self.bubbleCount + 1 + if self.bubbleCount == 0 then + for _, modelPart in ipairs({models.models.bubble.Camera.AvatarBubble, models.models.bubble.Gui.FirstPersonBubble, models.models.bubble.Camera.AvatarBubble.Bullets, models.models.bubble.Gui.FirstPersonBubble.Bullets}) do + modelPart:setVisible(false) + end + events.TICK:remove("bubble_tick") + events.RENDER:remove("bubble_render") + if self.parent.characterData.bubble.callbacks ~= nil and self.parent.characterData.bubble.callbacks.onStop ~= nil then + self.parent.characterData.bubble.callbacks.onStop(self.parent.characterData, type, self.isForcedStop) + end + elseif self.duration >= 0 and self.bubbleCount == self.duration + 2 then + self:stop() + end + if self.emoji == "RELOAD" or self.emoji == "DOTS" then + self.emojiAnimationCount = self.emojiAnimationCount + 1 + self.emojiAnimationCount = self.emojiAnimationCount == 25 and 0 or self.emojiAnimationCount + if self.emoji == "DOTS" then + for i = 1, 3 do + models.models.bubble.Camera.AvatarBubble.Dots["Dot"..i]:setVisible(self.emojiAnimationCount >= 6 * i) + end + end + end + end + end, "bubble_tick") + end + + if events.RENDER:getRegisteredCount("bubble_render") == 0 then + events.RENDER:register(function (delta, context) + models.models.bubble.Camera.AvatarBubble:setVisible(context ~= "OTHER") + if not client:isPaused() then + local bubbleScale = math.min(math.abs(0.5 * (self.bubbleCount + delta)), 1) + models.models.bubble.Camera.AvatarBubble:setScale(vectors.vec3(1, 1, 1):scale(bubbleScale)) + local playerPos = self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar) + local avatarBubblePos = context == "PAPERDOLL" and vectors.vec3(0, 32, 0) or vectors.rotateAroundAxis(player:getBodyYaw(delta) + 180, playerPos:copy():sub(player:getPos(delta)):scale(17.067):add(0, 32 + offsetPos.y, 0), 0, 1, 0) + if not renderer:isFirstPerson() then + local cameraPos = client:getCameraPos() + avatarBubblePos:add(vectors.rotateAroundAxis(math.deg(math.atan2(cameraPos.z - playerPos.z, cameraPos.x - playerPos.x) - math.pi / 2) % 360 - (player:getBodyYaw(delta) + offsetRot) % 360, 12 + offsetPos.x, 0, 0, 0, -1, 0)) + else + avatarBubblePos:add(12 + offsetPos.x, 0, 0) + end + models.models.bubble.Camera:setOffsetPivot(avatarBubblePos) + models.models.bubble.Camera.AvatarBubble:setPos(avatarBubblePos) + if host:isHost() and self.shouldShowInHud then + local windowSize = client:getScaledWindowSize() + models.models.bubble.Gui.FirstPersonBubble:setPos(-windowSize.x + 10, -windowSize.y + (action_wheel:isEnabled() and 125 or 10), 0) + models.models.bubble.Gui.FirstPersonBubble:setScale(vectors.vec3(1, 1, 1):scale(bubbleScale * 4)) + end + if self.emoji == "RELOAD" then + local bullet1Counter = math.clamp((self.emojiAnimationCount + delta) * 0.2 - 1, 0, 1) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet1:setPos(0, 1 - bullet1Counter, 0) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet1:setOpacity(bullet1Counter) + local bullet2Counter = math.clamp((self.emojiAnimationCount + delta) * 0.2 - 2, 0, 1) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet2:setPos(0, 1 - bullet2Counter, 0) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet2:setOpacity(bullet2Counter) + local bullet3Counter = math.clamp((self.emojiAnimationCount + delta) * 0.2 - 3, 0, 1) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet3:setPos(0, 1 - bullet3Counter, 0) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet3:setOpacity(bullet3Counter) + end + end + end, "bubble_render") + end + if self.parent.characterData.bubble.callbacks ~= nil and self.parent.characterData.bubble.callbacks.onPlay ~= nil then + self.parent.characterData.bubble.callbacks.onPlay(self.parent.characterData, type, duration, shouldShowInHud) + end + end; + + ---吹き出しエモートを停止する。 + ---@param self Bubble + stop = function (self) + if self.bubbleCount > 0 then + self.isForcedStop = self.duration == -1 or self.bubbleCount < self.duration + 2 + self.bubbleCount = -2 + end + end; +} + +---吹き出しエモートを表示する。 +---@param type Bubble.BubbleType 表示する絵文字の種類 +function pings.showBubbleEmote(type) + AvatarInstance.bubble:play(type, 50, vectors.vec2(), 0, true) + AvatarInstance.bubble.isAutoBubble = false +end + +---Bubbleのチャットを開けているフラグを更新する。 +---@param value boolean 新しい値 +function pings.setChatOpen(value) + AvatarInstance.bubble.isChatOpened = value +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/camera_manager.lua b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/camera_manager.lua new file mode 100644 index 0000000..e985b05 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/camera_manager.lua @@ -0,0 +1,99 @@ +---@class (exact) CameraManager : AvatarModule カメラ制御全般を管理するクラス +---@field package COLLISION_DENIAL_DISABLED boolean カメラの当たり判定打ち消し機能を無効にする。撮影用。 +---@field package thirdPersonCameraDistance number 三人称視点でのカメラと回転軸の距離 +---@field package isCameraCollisionDenialEnabled boolean 三人称視点でのカメラの当たり判定打ち消し機能が有効かどうか +---@field public setCameraManagerRender fun(self: CameraManager, enabled: boolean) CameraManagerのレンダー関数を設定する +---@field public setCameraPivot fun(newPivot?: Vector3) カメラの回転軸のオフセット位置を変更する +---@field public setCameraRot fun(newRot?: Vector3) カメラ方向を変更する +---@field public setThirdPersonCameraDistance fun(self: CameraManager, distance: number) 三人称視点でのカメラと回転軸の距離を設定する +---@field public setCameraCollisionDenial fun(self: CameraManager, enabled: boolean) カメラの当たり判定打ち消し機能を設定する + +CameraManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return CameraManager + new = function (parent) + ---@type CameraManager + local instance = Avatar.instantiate(CameraManager, AvatarModule, parent) + + instance.COLLISION_DENIAL_DISABLED = false + instance.thirdPersonCameraDistance = 4 + instance.isCameraCollisionDenialEnabled = false + + return instance + end; + + ---CameraManagerのレンダー関数を設定する。 + ---@param self CameraManager + ---@param enabled boolean CameraManagerのレンダー関数を有効化するかどうか + setCameraManagerRender = function (self, enabled) + if enabled and events.RENDER:getRegisteredCount("camera_manager_render") == 0 then + events.RENDER:register(function () + if renderer:isFirstPerson() then + renderer:setCameraPos() + else + local rawOffsetCameraPivot = renderer:getCameraOffsetPivot() + rawOffsetCameraPivot = rawOffsetCameraPivot == nil and vectors.vec3() or rawOffsetCameraPivot + local cameraPivot = player:getPos():add(0, 1.62, 0):add(rawOffsetCameraPivot) + local cameraDir = client:getCameraDir() + local baseVector = vectors.rotateAroundAxis(math.deg(math.asin(cameraDir.y)), 0, 0.21, 0, vectors.rotateAroundAxis(math.deg(math.atan2(cameraDir.z, cameraDir.x)) * -1 - 90, 1, 0, 0, 0, 1, 0)) + local minDistance = math.max(self.thirdPersonCameraDistance, 4) + if not self.COLLISION_DENIAL_DISABLED then + for i = 0, 3 do + local startPos = vectors.rotateAroundAxis(i * 90 + 45, baseVector:copy(), cameraDir):add(cameraPivot) + local _, collisionPos, _ = raycast:block(startPos, startPos:copy():add(cameraDir:copy():scale(-4)), "VISUAL", "NONE") + minDistance = math.min(collisionPos:copy():sub(startPos):length(), minDistance) + end + end + renderer:setCameraPos(0, 0, (minDistance > self.thirdPersonCameraDistance or self.isCameraCollisionDenialEnabled) and self.thirdPersonCameraDistance - minDistance or 0) + end + end, "camera_manager_render") + elseif not enabled then + events.RENDER:remove("camera_manager_render") + renderer:setCameraPos() + end + end; + + ---カメラの回転軸のオフセット位置を変更する。 + ---@param newPivot? Vector3 設定する新しいカメラ回転軸のオフセット位置。nilの場合は設定値がリセットされる。 + setCameraPivot = function (newPivot) + if host:isHost() then + renderer:setOffsetCameraPivot(newPivot) + end + end; + + ---カメラ方向を変更する。 + ---@param newRot? Vector3 設定する新しいカメラのオフセット方向。nilの場合は設定値がリセットされる。 + setCameraRot = function (newRot) + if host:isHost() then + renderer:setCameraRot(newRot) + end + end; + + ---三人称視点でのカメラと回転軸の距離を設定する。 + ---@param self CameraManager + ---@param distance number 設定する新しい距離(ブロック単位)。デフォルトは4ブロック。 + setThirdPersonCameraDistance = function (self, distance) + if host:isHost() then + if distance ~= 4 then + self:setCameraManagerRender(true) + elseif not self.isCameraCollisionDenialEnabled then + self:setCameraManagerRender(false) + end + self.thirdPersonCameraDistance = distance + end + end; + + ---カメラの当たり判定打ち消し機能を設定する。 + ---@param enabled boolean カメラの当たり判定打ち消し機能を有効にするかどうか。有効にするとカメラがブロックの中にめり込むようになる。 + setCameraCollisionDenial = function (self, enabled) + if host:isHost() then + if enabled then + self:setCameraManagerRender(true) + elseif self.thirdPersonCameraDistance == 4 then + self:setCameraManagerRender(false) + end + self.isCameraCollisionDenialEnabled = enabled + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/config.lua b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/config.lua new file mode 100644 index 0000000..70b0382 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/config.lua @@ -0,0 +1,116 @@ +---@alias Config.Storage +---| "PUBLIC" # FBACキャラクター共通ストレージ +---| "PRIVATE" # キャラクター固有ストレージ + +---@class (exact) Config : AvatarModule アバター設定を管理するクラス +---@field package privateStorageName string キャラクター固有ストレージの名前 +---@field package defaultValues {[string]: number|boolean|string} 読み込んだ値のデフォルト値を保持するテーブル +---@field package nextSyncCount integer 次の同期pingまでのカウンター +---@field package isSynced boolean 設定値がホストと同期されているかどうか +---@field public loadConfig fun(self: Config, storage: Config.Storage, keyName: string, defaultValue: any): any 設定を読み出す +---@field public saveConfig fun(self: Config, storage: Config.Storage, keyName: string, valueToSave: any) 設定を保存する + +Config = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Config + new = function (parent) + ---@type Config + local instance = Avatar.instantiate(Config, AvatarModule, parent) + + instance.privateStorageName = "BlueArchive_"..instance.parent.characterData.basic.firstName.en_us..instance.parent.characterData.basic.lastName.en_us + instance.defaultValues = {} + instance.nextSyncCount = 0 + instance.isSynced = host:isHost() + + return instance + end; + + ---初期化関数 + ---@param self Config + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + events.TICK:register(function () + if self.nextSyncCount == 0 then + pings.syncAvatarConfig(self.parent.nameplate.currentName, self.parent.nameplate.shouldShowClubName, self.parent.costume.currentCostume, self.parent.armor.shouldShowArmor, self.parent.actionWheel.shouldReplaceVehicleModels, self.parent.bubble.isChatOpened, self.parent.characterData.dataSync.syncData) + self.nextSyncCount = 300 + else + self.nextSyncCount = self.nextSyncCount - 1 + end + end) + end + end; + + ---設定を読み出す。 + ---@generic T + ---@param self Config + ---@param storage Config.Storage 読み出し先のストレージ + ---@param keyName string 読み出す設定の名前 + ---@param defaultValue `T` 該当の設定が無い場合や、ホスト外での実行の場合はこの値が返される。 + ---@return `T` loadedValue 読み出した値 + loadConfig = function (self, storage, keyName, defaultValue) + if host:isHost() then + if storage == "PUBLIC" then + config:setName("BlueArchive_public") + else + config:setName(self.privateStorageName) + end + local loadedData = config:load(keyName) + self.defaultValues[keyName] = defaultValue + if loadedData ~= nil then + return loadedData + else + return defaultValue + end + else + return defaultValue + end + end; + + ---設定を保存する。 + ---@param self Config + ---@param storage Config.Storage 書き込み先のストレージ + ---@param keyName string 保存する設定の名前 + ---@param valueToSave any 保存する値 + saveConfig = function (self, storage, keyName, valueToSave) + if host:isHost() then + if storage == "PUBLIC" then + config:setName("BlueArchive_public") + else + config:setName(self.privateStorageName) + end + if self.defaultValues[keyName] == valueToSave then + config:save(keyName, nil) + else + config:save(keyName, valueToSave) + end + end + end; +} + +---アバター設定を他Figuraクライアントと同期する。 +---@param nameTypeId integer 表示名の種類ID +---@param shouldShowClubName boolean 部活名を表示するかどうか +---@param costumeId integer 現在の衣装ID +---@param shouldShowArmor boolean 防具が見えているかどうか +---@param shouldReplaceVehicleModels boolean 乗り物モデルを置き換えるかどうか +---@param isChatOpened boolean チャット欄を開いているかどうか +---@param additionalData {[string]: any} キャラクター固有用に追加で同期するデータ +function pings.syncAvatarConfig(nameTypeId, shouldShowClubName, costumeId, shouldShowArmor, shouldReplaceVehicleModels, isChatOpened, additionalData) + if not AvatarInstance.config.isSynced then + AvatarInstance.nameplate:setName(nameTypeId, shouldShowClubName) + AvatarInstance.armor.shouldShowArmor = shouldShowArmor + AvatarInstance.actionWheel.shouldReplaceVehicleModels = shouldReplaceVehicleModels + AvatarInstance.bubble.isChatOpened = isChatOpened + if costumeId >= 2 then + AvatarInstance.costume:setCostume(costumeId) + end + AvatarInstance.characterData.dataSync.syncData = additionalData + if AvatarInstance.characterData.dataSync.callbacks ~= nil and AvatarInstance.characterData.dataSync.callbacks.onDataSynced ~= nil then + AvatarInstance.characterData.dataSync.callbacks.onDataSynced(AvatarInstance.characterData) + end + AvatarInstance.config.isSynced = true + end +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/costume.lua b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/costume.lua new file mode 100644 index 0000000..650a557 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/costume.lua @@ -0,0 +1,113 @@ +---@class (exact) Costume : AvatarModule キャラクターのコスチュームを管理し、円滑に切り替えられるようにするクラス +---@field public costumeList string[] 利用可能なコスチューム一覧。BlueArchiveCharacterクラスから動的に生成される。 +---@field public currentCostume integer 現在のコスチューム +---@field public isChangingCostume boolean コスチュームを変更中かどうか +---@field public getCostumeLocalName fun(self: Costume, costumeId: integer) 設定言語を考慮した、衣装の名前を返す +---@field public setCostumeTextureOffset fun(offset: integer) メインモデルのテクスチャのオフセット値を設定する +---@field public setCostume fun(self: Costume, costume: integer) コスチュームを設定する +---@field public resetCostume fun(self: Costume) コスチュームをリセットしデフォルトのコスチュームにする + +Costume = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Costume + new = function (parent) + ---@type Costume + local instance = Avatar.instantiate(Costume, AvatarModule, parent) + + instance.costumeList = {} + instance.currentCostume = instance.parent.config:loadConfig("PRIVATE", "costume", 1) + instance.isChangingCostume = false + + return instance + end; + + ---初期化関数 + ---@param self Costume + init = function (self) + AvatarModule.init(self) + + for _, costume in ipairs(self.parent.characterData.costume.costumes) do + table.insert(self.costumeList, costume.name) + end + if self.currentCostume >= 2 then + if self.costumeList[self.currentCostume] ~= nil then + self:setCostume(self.currentCostume) + else + self.currentCostume = 1 + if host:isHost() then + self.parent.config:saveConfig("PRIVATE", "costume", 1) + end + end + end + self.parent.headBlock:generateHeadModel() + self.parent.portrait:generateHeadModel() + + events.TICK:register(function () + self.isChangingCostume = false + end) + end; + + ---設定言語を考慮した、衣装の名前を返す。 + ---@param self Costume + ---@param costumeId integer ローカル名を取得する衣装のID + ---@return string localCostumeName 衣装のローカル名 + getCostumeLocalName = function(self, costumeId) + return self.parent.locale:getLocale("costume."..self.costumeList[costumeId]) + end; + + ---メインモデルのテクスチャのオフセット値を設定する。 + ---@param offset integer オフセット値 + setCostumeTextureOffset = function (offset) + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Body.Body, models.models.main.Avatar.UpperBody.Body.BodyLayer, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArm, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmLayer, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.RightArmBottom, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.RightArmBottomLayer, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArm, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmLayer, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.LeftArmBottom, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.LeftArmBottomLayer, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLeg, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegLayer, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.RightLegBottom, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.RightLegBottomLayer, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLeg, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegLayer, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.LeftLegBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.LeftLegBottomLayer}) do + modelPart:setUVPixels(0, offset * 48) + end + end; + + ---コスチュームを設定する。 + ---@param self Costume + ---@param costume integer 設定するコスチューム + setCostume = function(self, costume) + self:resetCostume() + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onChange ~= nil then + self.parent.characterData.costume.callbacks.onChange(self.parent.characterData, self.parent.characterData.costume.costumes[costume].name:upper()) + end + self.parent.headBlock:generateHeadModel() + self.parent.portrait:generateHeadModel() + if self.parent.armor.isArmorVisible.chestplate then + self.parent.armor:setChestplate(self.parent.armor.armorSlotItems[2]) + end + if self.parent.armor.isArmorVisible.leggings then + self.parent.armor:setLeggings(self.parent.armor.armorSlotItems[3]) + end + if self.parent.armor.isArmorVisible.boots then + self.parent.armor:setBoots(self.parent.armor.armorSlotItems[4]) + end + self.currentCostume = costume + end; + + ---コスチュームをリセットし、デフォルトのコスチュームにする。 + ---@param self Costume + resetCostume = function (self) + self.isChangingCostume = true + if self.parent.exSkill.transitionCount > 0 then + self.parent.exSkill:forceStop() + end + self.setCostumeTextureOffset(0) + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onReset ~= nil then + self.parent.characterData.costume.callbacks.onReset(self.parent.characterData) + end + self.parent.headBlock:generateHeadModel() + self.parent.portrait:generateHeadModel() + if self.parent.armor.isArmorVisible.chestplate then + self.parent.armor:setChestplate(self.parent.armor.armorSlotItems[2]) + end + if self.parent.armor.isArmorVisible.leggings then + self.parent.armor:setLeggings(self.parent.armor.armorSlotItems[3]) + end + if self.parent.armor.isArmorVisible.boots then + self.parent.armor:setBoots(self.parent.armor.armorSlotItems[4]) + end + self.currentCostume = 1 + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/death_animation.lua b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/death_animation.lua new file mode 100644 index 0000000..65583f8 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/death_animation.lua @@ -0,0 +1,294 @@ +---@class (exact) DeathAnimation : AvatarModule プレイヤーが死亡した際のキャラクターがヘリコプターで回収されるアニメーションを管理するクラス +---@field package DEBUG_MODE boolean デバッグモードを有効にするかどうか。デバッグモードモードではxキーでフェーズ1のモデルを、cキーでフェーズ2のモデルを表示できる。 +---@field public dummyAvatarRoot? ModelPart 死亡アニメーションに使用されるダミーのアバターのルート。アバターが未生成の場合はnilが入っている。 +---@field package animationCount integer 死亡アニメーションの再生カウンター +---@field package animationPos Vector3 アニメーションを再生している場所の座標 +---@field package animationRot number アニメーションを再生している向き(度数法で示す) +---@field package costumeIndex integer 死亡アニメーションのコスチュームのインデックス +---@field package isPlayerInvisible boolean プレイヤーモデルが不可視状態かどうか +---@field package isScriptLoaded false スクリプトを全て読み込んだかどうか +---@field package removeUnsafeModel fun(target?: ModelPart) 存在しないかもしれないモデルパーツを安全に削除する +---@field package spawnHelicopterParticles fun(self: DeathAnimation) ヘリコプターの出現/消滅パーティクルを生成する +---@field package generateDummyAvatar fun(self: DeathAnimation, parent: ModelPart) 死亡アニメーション用のダミーアバターを生成する +---@field package resetDummyAvatar fun(avatarRoot: ModelPart) ダミーアバター状態をリセットする +---@field package setPhase1Pose fun(avatarRoot: ModelPart) ダミーアバターをフェーズ1のポーズにする +---@field package setPhase2Pose fun(avatarRoot: ModelPart) ダミーアバターをフェーズ2のポーズにする +---@field package play fun(self: DeathAnimation) 死亡アニメーションを再生する +---@field package stop fun(self: DeathAnimation) 死亡アニメーションを停止する + +DeathAnimation = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return DeathAnimation + new = function (parent) + ---@type DeathAnimation + local instance = Avatar.instantiate(DeathAnimation, AvatarModule, parent) + + instance.DEBUG_MODE = false + + instance.dummyAvatarRoot = models.models.death_animation.Avatar + instance.animationCount = 0 + instance.animationPos = vectors.vec3() + instance.animationRot = 0 + instance.costumeIndex = 1 + instance.isPlayerInvisible = false + instance.isScriptLoaded = false + + return instance + end; + + ---初期化関数 + ---@param self DeathAnimation + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + if self.parent.playerUtils.damageStatus == "DIED" then + self:play() + models.models.main:setVisible(false) + for _, vanillaModel in ipairs({vanilla_model.RIGHT_ITEM, vanilla_model.LEFT_ITEM, vanilla_model.ELYTRA}) do + vanillaModel:setVisible(false) + end + self.isPlayerInvisible = true + end + if self.isPlayerInvisible and player:getHealth() > 0 then + models.models.main:setVisible(true) + for _, vanillaModel in ipairs({vanilla_model.RIGHT_ITEM, vanilla_model.LEFT_ITEM, vanilla_model.ELYTRA}) do + vanillaModel:setVisible(true) + end + self.isPlayerInvisible = false + end + end) + + self.parent.avatarEvents.SCRIPT_INIT:register(function () + self.isScriptLoaded = true + end) + + if self.DEBUG_MODE then + models:addChild(models:newPart("script_death_animation_debug", "World")) + keybinds:newKeybind("[DEBUG] Spawn death animation phase1 model", "key.keyboard.x"):onPress(function () + self.removeUnsafeModel(models.script_death_animation_debug.Avatar) + self:generateDummyAvatar(models.script_death_animation_debug) + self.resetDummyAvatar(models.script_death_animation_debug.Avatar) + self.setPhase1Pose(models.script_death_animation_debug.Avatar) + models.script_death_animation_debug.Avatar:setPos(player:getPos():add(0, -0.75, 0):scale(16)) + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onPhase1 ~= nil then + self.parent.characterData.deathAnimation.callbacks.onPhase1(self.parent.characterData, models.script_death_animation_debug.Avatar, self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].name:upper()) + end + end) + keybinds:newKeybind("[DEBUG] Spawn death animation phase2 model", "key.keyboard.c"):onPress(function () + self.removeUnsafeModel(models.script_death_animation_debug.Avatar) + self:generateDummyAvatar(models.script_death_animation_debug) + self.resetDummyAvatar(models.script_death_animation_debug.Avatar) + self.setPhase2Pose(models.script_death_animation_debug.Avatar) + models.script_death_animation_debug.Avatar:setPos(player:getPos():scale(16)) + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onPhase1 ~= nil then + self.parent.characterData.deathAnimation.callbacks.onPhase1(self.parent.characterData, models.script_death_animation_debug.Avatar, self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].name:upper()) + end + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onPhase2 ~= nil then + self.parent.characterData.deathAnimation.callbacks.onPhase2(self.parent.characterData, models.script_death_animation_debug.Avatar, self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].name:upper()) + end + end) + end + end; + + ---存在しないかもしれないモデルパーツを安全に削除する。 + ---@param target? ModelPart 削除対象のモデルパーツ + removeUnsafeModel = function (target) + if target ~= nil then + target:getParent():removeChild(target) + target:remove() + end + end; + + ---ヘリコプターの出現/消滅パーティクルを生成する。 + ---@param self DeathAnimation + spawnHelicopterParticles = function (self) + local helicopterPos = self.parent.modelUtils.getModelWorldPos(models.models.death_animation.Helicopter) + for _ = 1, 100 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:poof"), helicopterPos:copy():add(vectors.rotateAroundAxis(self.animationRot, math.random() * 9.375 - 4.6875, math.random() * 11.125 - 5.5625, math.random() * 23.875 - 11.9375, 0, math.abs(helicopterPos.y), 0))) + end + end; + + ---死亡アニメーション用のダミーアバターを生成する。 + ---@param self DeathAnimation + ---@param parent ModelPart ダミーアバターをアタッチする親のモデルパーツ + generateDummyAvatar = function (self, parent) + local isArmorVisible = { + helmet = self.parent.armor.isArmorVisible.helmet; + chestplate = self.parent.armor.isArmorVisible.chestplate; + leggings = self.parent.armor.isArmorVisible.leggings; + boots = self.parent.armor.isArmorVisible.boots; + } + if isArmorVisible.helmet then + self.parent.armor:setHelmet(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + if isArmorVisible.chestplate then + self.parent.armor:setChestplate(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + if isArmorVisible.leggings then + self.parent.armor:setLeggings(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + if isArmorVisible.boots then + self.parent.armor:setBoots(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + self.parent.physics:disable() + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onBeforeModelCopy ~= nil then + self.parent.characterData.deathAnimation.callbacks.onBeforeModelCopy(self.parent.characterData, self.isScriptLoaded) + end + + parent:addChild(self.parent.modelUtils:copyModel(models.models.main.Avatar)) + parent.Avatar.Head.FaceParts.Eyes.EyeRight:setUVPixels(self.parent.characterData.faceParts.leftEye.TIRED:copy():scale(6)) + parent.Avatar.Head.FaceParts.Eyes.EyeLeft:setUVPixels(self.parent.characterData.faceParts.rightEye.TIRED:copy():scale(6)) + parent.Avatar.Head.HeadRing:setRot() + for _, modelPart in ipairs({parent.Avatar.UpperBody.Arms.RightArm.RightArmBottom.RightItemPivot, parent.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.LeftItemPivot}) do + modelPart:remove() + end + local unsafeModels = {parent.Avatar.Head.FaceParts.Mouth, parent.Avatar.Head.ArmorH, parent.Avatar.UpperBody.Body.ArmorB, parent.Avatar.UpperBody.Arms.RightArm.ArmorRA, parent.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB, parent.Avatar.UpperBody.Arms.LeftArm.ArmorLA, parent.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB, parent.Avatar.LowerBody.Legs.RightLeg.ArmorRL, parent.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB, parent.Avatar.LowerBody.Legs.LeftLeg.ArmorLL, parent.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB} + for i = 1, 11 do + self.removeUnsafeModel(unsafeModels[i]) + end + if parent.Avatar.UpperBody.Body.Gun ~= nil then + if self.parent.characterData.gun.gunPosition.put.type == "BODY" then + local leftHanded = player:isLeftHanded() + parent.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, 12, 0):add(self.parent.characterData.gun.gunPosition.put.pos[leftHanded and "left" or "right"])) + parent.Avatar.UpperBody.Body.Gun:setRot(self.parent.characterData.gun.gunPosition.put.rot[leftHanded and "left" or "right"]) + else + parent.Avatar.UpperBody.Body.Gun:remove() + end + end + + if isArmorVisible.helmet then + self.parent.armor:setHelmet(self.parent.armor.armorSlotItems[1]) + end + if isArmorVisible.chestplate then + self.parent.armor:setChestplate(self.parent.armor.armorSlotItems[2]) + end + if isArmorVisible.leggings then + self.parent.armor:setLeggings(self.parent.armor.armorSlotItems[3]) + end + if isArmorVisible.boots then + self.parent.armor:setBoots(self.parent.armor.armorSlotItems[4]) + end + self.parent.physics:enable() + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onAfterModelCopy ~= nil then + self.parent.characterData.deathAnimation.callbacks.onAfterModelCopy(self.parent.characterData, self.isScriptLoaded) + end + end; + + ---ダミーアバター状態をリセットする。 + ---@param avatarRoot ModelPart ダミーアバターのルート + resetDummyAvatar = function (avatarRoot) + for _, modelPart in ipairs({avatarRoot, avatarRoot.Head, avatarRoot.UpperBody, avatarRoot.UpperBody.Body, avatarRoot.UpperBody.Arms, avatarRoot.UpperBody.Arms.RightArm, avatarRoot.UpperBody.Arms.RightArm.RightArmBottom, avatarRoot.UpperBody.Arms.LeftArm, avatarRoot.UpperBody.Arms.LeftArm.LeftArmBottom, avatarRoot.LowerBody, avatarRoot.LowerBody.Legs, avatarRoot.LowerBody.Legs.RightLeg, avatarRoot.LowerBody.Legs.RightLeg.RightLegBottom, avatarRoot.LowerBody.Legs.LeftLeg, avatarRoot.LowerBody.Legs.LeftLeg.LeftLegBottom}) do + modelPart:setPos() + modelPart:setRot() + modelPart:setScale() + end + end; + + ---ダミーアバターをフェーズ1のポーズにする。 + ---@param avatarRoot ModelPart ダミーアバターのルート + setPhase1Pose = function (avatarRoot) + avatarRoot:setPos(0, -12, 0) + avatarRoot.Head:setRot(-30, 0, 0) + avatarRoot.UpperBody.Arms.RightArm:setRot(35, 0, -20) + avatarRoot.UpperBody.Arms.LeftArm:setRot(35, 0, 20) + avatarRoot.LowerBody.Legs.RightLeg:setRot(90, -10, 0) + avatarRoot.LowerBody.Legs.LeftLeg:setRot(90, 10, 0) + end; + + ---ダミーアバターをフェーズ2のポーズにする。 + ---@param avatarRoot ModelPart ダミーアバターのルート + setPhase2Pose = function (avatarRoot) + avatarRoot:setPos(3, -210, 2) + avatarRoot:setRot(105, 75, 90) + avatarRoot.Head:setRot(0, -40, 0) + avatarRoot.UpperBody.Arms.RightArm:setRot(47.5, 0, 20) + avatarRoot.UpperBody.Arms.LeftArm:setRot(-30, 0, -15) + avatarRoot.LowerBody.Legs.RightLeg:setRot(80, 0, 0) + avatarRoot.LowerBody.Legs.RightLeg.RightLegBottom:setRot(-75, 0, 0) + avatarRoot.LowerBody.Legs.LeftLeg:setRot(10, 0, 0) + avatarRoot:setLight() + end; + + ---死亡アニメーションを再生する。 + ---@param self DeathAnimation + play = function (self) + self:stop() + self.costumeIndex = self.parent.costume.currentCostume + + --ダミーアバターを生成する。 + local unsafeModels = {models.models.death_animation.Avatar, models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14.Avatar} + for i = 1, 2 do + self.removeUnsafeModel(unsafeModels[i]) + end + self:generateDummyAvatar(models.models.death_animation) + + --死亡アニメーションを生成する。 + self.resetDummyAvatar(models.models.death_animation.Avatar) + self.setPhase1Pose(models.models.death_animation.Avatar) + self.animationPos = player:getPos() + models.models.death_animation:setPos(self.animationPos:copy():scale(16)) + self.animationRot = (player:getBodyYaw() * -1 + 180) % 360 + models.models.death_animation:setRot(0, self.animationRot) + models.models.death_animation:setVisible(true) + animations["models.death_animation"]["death_animation"]:play() + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onPhase1 ~= nil then + self.parent.characterData.deathAnimation.callbacks.onPhase1(self.parent.characterData, models.models.death_animation.Avatar, self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].name:upper()) + end + + if events.TICK:getRegisteredCount("death_animation_tick") == 0 then + events.TICK:register(function () + local particleAnchorPos = self.parent.modelUtils.getModelWorldPos(models.models.death_animation.DeathAnimationParticleAnchor) + for _ = 1, 3 do + local particleRot = math.random() * math.pi * 2 + local particleOffset = math.random() * 3 + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:poof"), particleAnchorPos:copy():add(math.cos(particleRot) * particleOffset, 0, math.sin(particleRot) * particleOffset)):setVelocity(math.cos(particleRot), 0, math.sin(particleRot)) + + end + if self.animationCount % 2 == 1 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.bamboo_wood_door.close"), self.parent.modelUtils.getModelWorldPos(models.models.death_animation.Helicopter.DeathAnimationSoundAnchor1), 1, 0.5):setAttenuation(2) + end + if self.animationCount < 120 then + models.models.death_animation.Avatar:setLight(world.getLightLevel(self.animationPos)) + end + if self.animationCount == 1 then + self:spawnHelicopterParticles() + elseif self.animationCount == 10 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.iron_door.open"), self.parent.modelUtils.getModelWorldPos(models.models.death_animation.Helicopter.DeathAnimationSoundAnchor1), 1, 0.5) + elseif self.animationCount >= 57 and self.animationCount < 76 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.attack.sweep"), self.parent.modelUtils.getModelWorldPos(models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14), 0.25, -0.056 * (self.animationCount - 57) + 2) + elseif self.animationCount == 120 then + self.dummyAvatarRoot = models.models.death_animation.Avatar:moveTo(models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14) + self.setPhase2Pose(models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14.Avatar) + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onPhase2 ~= nil then + self.parent.characterData.deathAnimation.callbacks.onPhase2(self.parent.characterData, models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14.Avatar, self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].name:upper()) + end + elseif self.animationCount == 180 then + models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14.Avatar:setVisible(false) + elseif self.animationCount == 230 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.iron_door.close"), self.parent.modelUtils.getModelWorldPos(models.models.death_animation.Helicopter.DeathAnimationSoundAnchor1), 1, 0.5) + elseif self.animationCount == 255 then + self:spawnHelicopterParticles() + self:stop() + end + end, "death_animation_tick") + end + if events.WORLD_TICK:getRegisteredCount("death_animation_world_tick") == 0 then + events.WORLD_TICK:register(function () + self.animationCount = self.animationCount + 1 + end, "death_animation_world_tick") + end + end; + + ---死亡アニメーションを停止する。 + ---@param self DeathAnimation + stop = function (self) + models.models.death_animation:setVisible(false) + animations["models.death_animation"]["death_animation"]:stop() + events.TICK:remove("death_animation_tick") + events.WORLD_TICK:remove("death_animation_world_tick") + self.dummyAvatarRoot = nil + self.animationCount = 0 + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/events/abstract_event.lua b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/events/abstract_event.lua new file mode 100644 index 0000000..e6af2e5 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/events/abstract_event.lua @@ -0,0 +1,71 @@ +---@class AbstractEvent : AvatarModule +---@field public registerTable {[string]: fun()[]} 登録されたコールバック関数を管理するテーブル +---@field public register fun(self: AbstractEvent, callback: fun(...: any), name?: string) イベントにコールバック関数登録する +---@field public remove fun(self: AbstractEvent, name: string) 指定した名前のコールバック関数を1つ削除する +---@field public getRegisteredCount fun(self: AbstractEvent, name: string): integer 指定した名前で登録されているコールバック関数の数を返す +---@field public fire fun(self: AbstractEvent, ...: any) 登録された全てのコールバック関数を呼ぶ + +AbstractEvent = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return AbstractEvent + new = function (parent) + ---@type AbstractEvent + local instance = Avatar.instantiate(AbstractEvent, AvatarModule, parent) + + instance.registerTable = {} + + return instance + end; + + ---イベントにコールバック関数登録する。 + ---@param self AbstractEvent + ---@param callback fun(...: any) 登録するコールバック関数 + ---@param name? string コールバック関数の名前 + register = function (self, callback, name) + local callbackName = name ~= nil and name or client.intUUIDToString(client.generateUUID()) + if self.registerTable[callbackName] ~= nil then + table.insert(self.registerTable[callbackName], callback) + else + local callbackTable = {} + table.insert(callbackTable, callback) + self.registerTable[callbackName] = callbackTable + end + end; + + ---指定した名前のコールバック関数を1つ削除する。 + ---@param self AbstractEvent + ---@param name string コールバック関数の名前 + remove = function (self, name) + if self.registerTable[name] ~= nil then + table.remove(self.registerTable[name]) + if #self.registerTable[name] == 0 then + self.registerTable[name] = nil + end + end + end; + + ---指定した名前で登録されているコールバック関数の数を返す。 + ---@param self AbstractEvent + ---@param name string コールバック関数の名前 + ---@return integer registeredCount 登録されていたコールバック関数の数 + getRegisteredCount = function (self, name) + if self.registerTable[name] ~= nil then + return #self.registerTable[name] + else + return 0 + end + end; + + ---登録された全てのコールバック関数を呼ぶ。 + ---@param self AbstractEvent + ---@param ... any callbackArgs コールバック引数 + fire = function (self, ...) + for _, eventTable in pairs(self.registerTable) do + for _, callback in ipairs(eventTable) do + ---@diagnostic disable-next-line: redundant-parameter + callback(...) + end + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/events/avatar_events.lua b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/events/avatar_events.lua new file mode 100644 index 0000000..b2fd6e8 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/events/avatar_events.lua @@ -0,0 +1,16 @@ +---@class AvatarEvents : AvatarModule アバター独自のイベントを定義し、管理するクラス +---@field public SCRIPT_INIT ScriptInitEvent 全てのスクリプトの初期化が完了した後に1度だけ呼ばれるイベント + +AvatarEvents = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return AvatarEvents + new = function (parent) + ---@type AvatarEvents + local instance = Avatar.instantiate(AvatarEvents, AvatarModule, parent) + + instance.SCRIPT_INIT = ScriptInitEvent.new(instance.parent) + + return instance + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/events/script_init_event.lua b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/events/script_init_event.lua new file mode 100644 index 0000000..44c62e7 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/events/script_init_event.lua @@ -0,0 +1,25 @@ +---@class ScriptInitEvent : AbstractEvent 全てのスクリプトの初期化が完了した後に1度だけ呼ばれるイベント +---@field public register fun(self: AbstractEvent, callback: fun(), name?: string) イベントにコールバック関数登録する +---@field public fire fun(self: AbstractEvent) 登録された全てのコールバック関数を呼ぶ + +ScriptInitEvent = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ScriptInitEvent + new = function (parent) + ---@type ScriptInitEvent + local instance = Avatar.instantiate(ScriptInitEvent, AbstractEvent, parent) + + return instance + end; + + ---登録された全てのコールバック関数を呼ぶ。 + ---@param self ScriptInitEvent + fire = function (self, ...) + for _, eventTable in pairs(self.registerTable) do + for _, callback in ipairs(eventTable) do + callback() + end + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/ex_skill/ex_skill.lua b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/ex_skill/ex_skill.lua new file mode 100644 index 0000000..dcc10ca --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/ex_skill/ex_skill.lua @@ -0,0 +1,434 @@ +---@alias ExSkill.AutoPlayMode +---| "NONE" # 自動再生なし +---| "MAIN" # メインExスキル +---| "SUB" # サブExスキル + +---@alias ExSkill.TransitionPhase +---| "PRE" # Exスキルアニメーション開始前 +---| "POST" # Exスキルアニメーション終了後 + +---@class (exact) ExSkill : AvatarModule Exスキルのアニメーションを管理するクラス +---@field package AUTO_PLAY ExSkill.AutoPlayMode アバター読み込み時に自動的にExスキルが再生される。デバッグ用。 +---@field public frameParticleAmount integer Exスキルフレームのパーティクルの量:1. 標準, 2. 少なめ, 3. なし, 4. Exスキルフレーム非表示、パーティクル量は標準 +---@field package exSkillIndex integer 現在再生中のExスキルのインデックス番号 +---@field public animationCount integer Exスキルのアニメーション再生中に増加するカウンター。-1はアニメーション停止中を示す。 +---@field package animationLength number Exスキルのアニメーションの長さ。スクリプトで自動で代入する。 +---@field public transitionCount number Exスキルのアニメーション前後のカメラのトランジションの進捗を示すカウンター +---@field package keyPressCount integer Exスキルキーを押下し続ける時間を計るカウンター +---@field package bodyYaw number[] プレイヤーの体の回転 +---@field package isDebugInit boolean デバッグモードが初期化されたかどうか +---@field public canPlayAnimation fun(self: ExSkill): boolean アニメーションが再生可能かどうかを返す +---@field package transition fun(self: ExSkill, direction: ExSkill.TransitionPhase, callback: fun()) Exスキルのアニメーションの前後のカメラのトランジションを行う関数 +---@field public play fun(self: ExSkill, isSubExSkill: boolean) アニメーションを再生する +---@field public stop fun(self: ExSkill) アニメーションを停止する +---@field public forceStop fun(self: ExSkill) アニメーションを停止する。終了時のトランジションも無効。 + +ExSkill = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ExSkill + new = function (parent) + ---@type ExSkill + local instance = Avatar.instantiate(ExSkill, AvatarModule, parent) + + instance.AUTO_PLAY = "NONE" + + instance.frameParticleAmount = instance.parent.config:loadConfig("PRIVATE", "exSkillFrameParticleAmount", 1) + instance.exSkillIndex = 1 + instance.animationCount = -1 + instance.animationLength = 0 + instance.transitionCount = 0 + instance.keyPressCount = 0 + instance.bodyYaw = {} + instance.isDebugInit = false + + return instance + end; + + ---初期化関数 + ---@param self ExSkill + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + for _, exSkill in ipairs(self.parent.characterData.exSkill) do + local offset = (exSkill.camera.fixMode ~= nil and exSkill.camera.fixMode) and 1 or 0.9375 + exSkill.camera.start.pos:mul(-1, 1, 1):scale(1 / 16 * offset) + exSkill.camera.fin.pos:mul(-1, 1, 1):scale(1 / 16 * offset) + end + + local exSkillKey = self.parent.keyManager:register("ex_skill", self.parent.config:loadConfig("PRIVATE", "keybind.ex_skill", "key.keyboard.g")) + exSkillKey:setOnPress(function () + while events.TICK:getRegisteredCount("ex_skill_keypress_tick") > 0 do + events.TICK:remove("ex_skill_keypress_tick") + end + events.TICK:register(function () + if self.keyPressCount == 30 then + events.TICK:remove("ex_skill_keypress_tick") + self.parent.placementObjectManager:removeAll() + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.zombie.break_wooden_door"), player:getPos(), 0.25, 2) + self.keyPressCount = 0 + return + end + self.keyPressCount = self.keyPressCount + 1 + end, "ex_skill_keypress_tick") + end) + exSkillKey:setOnRelease(function () + events.TICK:remove("ex_skill_keypress_tick") + if self.keyPressCount > 0 then + if self:canPlayAnimation() and self.animationCount == -1 and self.transitionCount == 0 then + pings.exSkill() + else + print(self.parent.locale:getLocale("key_bind.ex_skill.unavailable"..(renderer:isFirstPerson() and "_firstperson" or ""))) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + end + self.keyPressCount = 0 + end + end) + self.parent.keyManager:register("ex_skill_sub", self.parent.config:loadConfig("PRIVATE", "keybind.ex_skill_sub", "key.keyboard.h")):setOnPress(function () + if self:canPlayAnimation() and self.animationCount == -1 and self.transitionCount == 0 and self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill ~= nil then + pings.subExSkill() + else + print(self.parent.locale:getLocale(self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill == nil and "action_wheel.main.action_6.unavailable" or "key_bind.ex_skill.unavailable"..(renderer:isFirstPerson() and "_firstperson" or ""))) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + end + end) + end + + table.insert(self.bodyYaw, player:getBodyYaw() % 360) + + events.TICK:register(function () + if not renderer:isFirstPerson() then + table.insert(self.bodyYaw, player:getBodyYaw() % 360) + if #self.bodyYaw == 3 then + table.remove(self.bodyYaw, 1) + end + end + end) + + if self.AUTO_PLAY ~= "NONE" then + events.TICK:register(function () + if not self.isDebugInit then + events.TICK:remove("ex_skill_debug_tick") + self:play(self.AUTO_PLAY == "SUB") + self.isDebugInit = true + end + end, "ex_skill_debug_tick") + end + end; + + ---アニメーションが再生可能かどうかを返す。 + ---@param self ExSkill + ---@return boolean canPlayAnimation Exスキルアニメーションが再生可能かどうか + canPlayAnimation = function (self) + return player:getPose() == "STANDING" and player:getVelocity():length() < 0.01 and self.bodyYaw[1] == self.bodyYaw[2] and player:isOnGround() and not player:isInWater() and not player:isInLava() and player:getFrozenTicks() == 0 and not renderer:isFirstPerson() and self.parent.playerUtils.damageStatus == "NONE" and player:getSwingArm() == nil and player:getActiveItem().id == "minecraft:air" and not self.parent.costume.isChangingCostume + end; + + ---Exスキルのアニメーションの前後のカメラのトランジションを行う関数 + ---@param self ExSkill + ---@param direction ExSkill.TransitionPhase カメラのトランジションの向き + ---@param callback fun() トランジション終了時に呼び出されるコールバック関数 + transition = function (self, direction, callback) + events.TICK:register(function () + if not client:isPaused() then + if events.TICK:getRegisteredCount("ex_skill_transition_tick") == 1 then + self.transitionCount = direction == "PRE" and math.min(self.transitionCount + 1, 10) or math.max(self.transitionCount - 1, 0) + end + if (direction == "PRE" and self.transitionCount == 10) or (direction == "POST" and self.transitionCount == 0) then + if host:isHost() then + local windowSize = client:getScaledWindowSize() + models.models.ex_skill_frame.Gui.FrameBar:setPos(0, 0, 0) + if direction == "PRE" and self.frameParticleAmount < 4 then + for _, modelPart in ipairs({models.models.ex_skill_frame.Gui.Frame.FrameTopLeft, models.models.ex_skill_frame.Gui.Frame.FrameTopRight, models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft, models.models.ex_skill_frame.Gui.Frame.FrameBottomRight}) do + modelPart:setVisible(true) + end + models.models.ex_skill_frame.Gui.Frame.FrameTop:setPos(-windowSize.x + 16, -16) + models.models.ex_skill_frame.Gui.Frame.FrameTop:setScale(windowSize.x / 16 - 2, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setPos(-16, -windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setScale(1, windowSize.y / 16 - 2, 1) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setPos(-windowSize.x + 16, -windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setScale(windowSize.x / 16 - 2, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setPos(-windowSize.x, -windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setScale(1, windowSize.y / 16 - 2, 1) + elseif direction == "POST" then + for _, modelPart in ipairs({models.models.ex_skill_frame.Gui.Frame.FrameTopLeft, models.models.ex_skill_frame.Gui.Frame.FrameTopRight, models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft, models.models.ex_skill_frame.Gui.Frame.FrameBottomRight}) do + modelPart:setVisible(false) + end + for _, modelPart in ipairs({models.models.ex_skill_frame.Gui.Frame.FrameTop, models.models.ex_skill_frame.Gui.Frame.FrameLeft, models.models.ex_skill_frame.Gui.Frame.FrameBottom, models.models.ex_skill_frame.Gui.Frame.FrameRight}) do + modelPart:setScale(0, 0, 0) + end + end + end + callback() + events.TICK:remove("ex_skill_transition_tick") + events.RENDER:remove("ex_skill_transition_render") + end + if host:isHost() then + local barPos = models.models.ex_skill_frame.Gui.FrameBar:getPos().x * -1 + local windowSizeY = client:getScaledWindowSize().y + if self.frameParticleAmount ~= 3 and self.transitionCount >= 1 and self.transitionCount <= 9 then + for _ = 1, windowSizeY / (self.frameParticleAmount == 2 and 100 or 20) do + local particleOffset = math.random() * windowSizeY + self.parent.frameParticleManager:spawn(vectors.vec2(barPos - particleOffset - math.random() * 50, particleOffset):scale(-1), vectors.vec2(500, 0)) + end + end + end + end + end, "ex_skill_transition_tick") + + events.RENDER:register(function (delta) + --カメラのトランジション + if not client:isPaused() and host:isHost() then + local lookDir = player:getLookDir() + local cameraRot = renderer:isCameraBackwards() and vectors.vec3(math.deg(math.asin(lookDir.y)), math.deg(math.atan2(lookDir.z, lookDir.x) + math.pi / 2)) or vectors.vec3(math.deg(math.asin(-lookDir.y)), math.deg(math.atan2(lookDir.z, lookDir.x) - math.pi / 2)) + local targetCameraPos = vectors.vec3() + local targetCameraRot = vectors.vec3() + if direction == "PRE" then + targetCameraPos = vectors.rotateAroundAxis(self.bodyYaw[2] * -1 + 180, self.parent.characterData.exSkill[self.exSkillIndex].camera.start.pos, 0, 1):add(0, -1.62) + targetCameraRot = self.parent.characterData.exSkill[self.exSkillIndex].camera.start.rot:copy():add(0, self.bodyYaw[2], 0) + else + targetCameraPos = vectors.rotateAroundAxis(self.bodyYaw[2] * -1 + 180, self.parent.characterData.exSkill[self.exSkillIndex].camera.fin.pos, 0, 1):add(0, -1.62) + targetCameraRot = self.parent.characterData.exSkill[self.exSkillIndex].camera.fin.rot:copy():add(0, self.bodyYaw[2], 0) + end + if math.abs(cameraRot.y - targetCameraRot.y) >= 180 then + if cameraRot.y < targetCameraRot.y then + cameraRot.y = cameraRot.y + 360 + else + targetCameraRot.y = targetCameraRot.y + 360 + end + end + local trueDelta = direction == "PRE" and delta or delta * -1 + self.parent.cameraManager.setCameraPivot(targetCameraPos:scale((self.transitionCount + trueDelta) / 10)) + self.parent.cameraManager.setCameraRot(targetCameraRot:copy():sub(cameraRot):scale((self.transitionCount + trueDelta) / 10):add(cameraRot)) + self.parent.cameraManager:setThirdPersonCameraDistance(4 - (self.transitionCount + trueDelta) / 10 * 4) + + --フレーム演出 + local windowSize = client:getScaledWindowSize() + local barPos = (windowSize.x + windowSize.y + math.sqrt(2) * 16) * (direction == "PRE" and (self.transitionCount + trueDelta) / 10 or (1 - (self.transitionCount + trueDelta) / 10)) + models.models.ex_skill_frame.Gui.FrameBar:setPos(-barPos, 0, 0) + + if self.frameParticleAmount < 4 then + local frameTopLength = math.clamp(barPos, 32, windowSize.x) + local frameLeftLength = math.clamp(barPos, 32, windowSize.y) + local frameBottomLength = math.clamp(barPos - windowSize.y + 16, 32, windowSize.x) + local frameRightLength = math.clamp(barPos - windowSize.x + 16, 32, windowSize.y) + + models.models.ex_skill_frame.Gui.Frame.FrameTopLeft:setPos(-16, -16) + models.models.ex_skill_frame.Gui.Frame.FrameTopRight:setPos(-windowSize.x, -16) + models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft:setPos(-16, -windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameBottomRight:setPos(-windowSize.x, -windowSize.y) + if direction == "PRE" then + models.models.ex_skill_frame.Gui.Frame.FrameTopLeft:setVisible(barPos >= 16) + models.models.ex_skill_frame.Gui.Frame.FrameTopRight:setVisible(barPos >= windowSize.x + 16) + models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft:setVisible(barPos >= windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameBottomRight:setVisible(barPos >= windowSize.x + windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameTop:setPos(-frameTopLength + 16, -16) + models.models.ex_skill_frame.Gui.Frame.FrameTop:setScale(frameTopLength / 16 - 2, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setPos(-16, -frameLeftLength + 16) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setScale(1, frameLeftLength / 16 - 2, 1) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setPos(-frameBottomLength + 16, -windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setScale(frameBottomLength / 16 - 2, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setPos(-windowSize.x, -frameRightLength + 16) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setScale(1, frameRightLength / 16 - 2, 1) + else + models.models.ex_skill_frame.Gui.Frame.FrameTopLeft:setVisible(barPos < 16) + models.models.ex_skill_frame.Gui.Frame.FrameTopRight:setVisible(barPos < windowSize.x + 16) + models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft:setVisible(barPos < windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameBottomRight:setVisible(barPos < windowSize.x + windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameTop:setPos(-windowSize.x + 16, -16) + models.models.ex_skill_frame.Gui.Frame.FrameTop:setScale((windowSize.x - frameTopLength) / 16, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setPos(-16, -windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setScale(1, (windowSize.y - frameLeftLength) / 16, 1) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setPos(-windowSize.x + 16, -windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setScale((windowSize.x - frameBottomLength) / 16, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setPos(-windowSize.x, -windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setScale(1, (windowSize.y - frameRightLength) / 16, 1) + end + end + end + end, "ex_skill_transition_render") + end; + + ---アニメーションを再生する。 + ---@param self ExSkill + ---@param isSubExSkill boolean サブExスキルを再生するかどうか + play = function (self, isSubExSkill) + if isSubExSkill then + if self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill ~= nil then + self.exSkillIndex = self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill + else + return + end + else + self.exSkillIndex = self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].exSkill + end + + self.parent.bubble:stop() + renderer:setFOV(70 / client:getFOV()) + renderer:setRenderHUD(false) + self.parent.cameraManager:setCameraCollisionDenial(true) + models.models.ex_skill_frame.Gui:setColor(self.parent.characterData.exSkill[self.exSkillIndex].formationType == "STRIKER" and vectors.vec3(1, 0.75, 0.75) or vectors.vec3(0.75, 1, 1)) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.levelup"), player:getPos(), 5, 2) + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPreTransition ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPreTransition(self.parent.characterData) + end + models.models.ex_skill_frame.Gui.FrameBar:setScale(1, client:getScaledWindowSize().y * math.sqrt(2) / 16 + 1, 1) + + events.TICK:register(function () + if not self:canPlayAnimation() then + self:forceStop() + end + end, "ex_skill_tick") + + self:transition("PRE", function () + self.parent.physics:disable() + for _, itemModel in ipairs({vanilla_model.RIGHT_ITEM, vanilla_model.LEFT_ITEM}) do + itemModel:setVisible(false) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].models) do + modelPart:setVisible(true) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].animations) do + animations["models."..modelPart]["ex_skill_"..self.exSkillIndex]:play() + end + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPreAnimation ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPreAnimation(self.parent.characterData) + end + self.parent.cameraManager:setThirdPersonCameraDistance(0) + + events.TICK:register(function () + if not client:isPaused() then + if self.animationCount == self.animationLength - 1 then + self:stop() + elseif self:canPlayAnimation() and animations["models.main"]["ex_skill_"..self.exSkillIndex]:isPlaying() then + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onAnimationTick ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onAnimationTick(self.parent.characterData, self.animationCount) + end + self.animationCount = self.animationCount > -1 and self.animationCount + 1 or self.animationCount + end + + if host:isHost() then + local windowSize = client:getScaledWindowSize() + local windowCenter = windowSize:copy():scale(0.5) + if self.frameParticleAmount < 3 then + for _ = 1, (windowSize.x * 2 + windowSize.y * 2) / (self.frameParticleAmount == 1 and 100 or 500) do + local particlePos = vectors.vec2(math.random() * (windowSize.x * 2 + windowSize.y * 2), math.random() * 16) + particlePos = particlePos.x <= windowSize.x and particlePos or (particlePos.x <= windowSize.x + windowSize.y and vectors.vec2(windowSize.x - particlePos.y, particlePos.x - windowSize.x) or (particlePos.x <= windowSize.x * 2 + windowSize.y and vectors.vec2(particlePos.x - (windowSize.x + windowSize.y), windowSize.y - particlePos.y) or vectors.vec2(particlePos.y, particlePos.x - (windowSize.x * 2 + windowSize.y)))) + self.parent.frameParticleManager:spawn(particlePos:copy():scale(-1), windowCenter:copy():sub(particlePos):scale(0.25)) + end + end + end + end + end, "ex_skill_animation_tick") + + if host:isHost() then + events.RENDER:register(function () + if not client:isPaused() then + self.parent.cameraManager.setCameraPivot(vectors.rotateAroundAxis(self.bodyYaw[2] * -1 + 180, models.models.main.CameraAnchor:getAnimPos():scale(1 / 16 * ((self.parent.characterData.exSkill[self.exSkillIndex].camera.fixMode ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].camera.fixMode) and 1 or 0.9375)), 0, 1, 0):add(0, -1.62, 0)) + self.parent.cameraManager.setCameraRot(models.models.main.CameraAnchor:getAnimRot():scale(-1):add(0, self.bodyYaw[2], 0)) + end + end, "ex_skill_animation_render") + end + self.animationCount = 0 + self.parent.gun:processGunTick() + self.animationLength = math.round(animations["models.main"]["ex_skill_"..self.exSkillIndex]:getLength() * 20) + end) + end; + + ---アニメーションを停止する。 + ---@param self ExSkill + stop = function (self) + events.TICK:remove("ex_skill_animation_tick") + if host:isHost() then + events.RENDER:remove("ex_skill_animation_render") + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.levelup"), player:getPos(), 5, 2):setAttenuation(100) + end + + for _, itemModel in ipairs({vanilla_model.RIGHT_ITEM, vanilla_model.LEFT_ITEM}) do + itemModel:setVisible(true) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].models) do + modelPart:setVisible(false) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].animations) do + animations["models."..modelPart]["ex_skill_"..self.exSkillIndex]:stop() + end + self.parent.physics:enable() + renderer:setFOV() + self.animationCount = -1 + + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostAnimation ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostAnimation(self.parent.characterData, false) + end + self:transition("POST", function () + events.TICK:remove("ex_skill_tick") + self.parent.cameraManager.setCameraPivot() + self.parent.cameraManager.setCameraRot() + self.parent.cameraManager:setThirdPersonCameraDistance(4) + self.parent.cameraManager:setCameraCollisionDenial(false) + renderer:setRenderHUD(true) + + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostTransition ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostTransition(self.parent.characterData, false) + end + end) + end; + + ---アニメーションを停止する。終了時のトランジションも無効。 + ---@param self ExSkill + forceStop = function (self) + events.RENDER:remove("ex_skill_transition_render") + if host:isHost() then + events.TICK:remove("ex_skill_transition_tick") + events.RENDER:remove("ex_skill_animation_render") + end + + for _, itemModel in ipairs({vanilla_model.RIGHT_ITEM, vanilla_model.LEFT_ITEM}) do + itemModel:setVisible(true) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].models) do + modelPart:setVisible(false) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].animations) do + animations["models."..modelPart]["ex_skill_"..self.exSkillIndex]:stop() + end + for _, eventName in ipairs({"ex_skill_tick", "ex_skill_animation_tick"}) do + events.TICK:remove(eventName) + end + self.parent.physics:enable() + models.models.ex_skill_frame.Gui.FrameBar:setPos() + for _, modelPart in ipairs({models.models.ex_skill_frame.Gui.Frame.FrameTopLeft, models.models.ex_skill_frame.Gui.Frame.FrameTopRight, models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft, models.models.ex_skill_frame.Gui.Frame.FrameBottomRight}) do + modelPart:setVisible(false) + end + for _, modelPart in ipairs({models.models.ex_skill_frame.Gui.Frame.FrameTop, models.models.ex_skill_frame.Gui.Frame.FrameLeft, models.models.ex_skill_frame.Gui.Frame.FrameBottom, models.models.ex_skill_frame.Gui.Frame.FrameRight}) do + modelPart:setScale(0, 0, 0) + end + self.parent.faceParts:resetEmotion() + self.parent.cameraManager.setCameraPivot() + self.parent.cameraManager.setCameraRot() + self.parent.cameraManager:setThirdPersonCameraDistance(4) + self.parent.cameraManager:setCameraCollisionDenial(false) + renderer:setRenderHUD(true) + renderer:setFOV() + + if self.animationCount >= 0 and self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostAnimation ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostAnimation(self.parent.characterData, true) + end + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostTransition ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostTransition(self.parent.characterData, true) + end + + self.animationCount = -1 + self.transitionCount = 0 + end; +} + +---Exスキルを再生する。 +function pings.exSkill() + AvatarInstance.exSkill:play(false) +end + +---サブExスキルを再生する。 +function pings.subExSkill() + AvatarInstance.exSkill:play(true) +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/ex_skill/ex_skill_frame_particle.lua b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/ex_skill/ex_skill_frame_particle.lua new file mode 100644 index 0000000..59315a9 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/ex_skill/ex_skill_frame_particle.lua @@ -0,0 +1,68 @@ +---@class (exact) ExSkillFrameParticle : SpawnObject Exスキルのフレームで使用するパーティクルの単一を管理するクラス +---@field package object ModelPart インスタンスで制御するオブジェクト +---@field package currentPos Vector2 パーティクルの現在位置 +---@field package nextPos Vector2 次ティックのパーティクルの位置 +---@field package velocity Vector2 パーティクルの速度 +---@field package particleCount integer パーティクルのアニメーションを制御するためのカウンター +---@field public new fun(parent: Avatar, pos: Vector2, velocity: Vector2, type: ExSkillFrameParticleManager.ParticleType): ExSkillFrameParticle コンストラクター + +ExSkillFrameParticle = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@param pos Vector2 パーティクルをスポーンさせるスクリーン上の座標。GUIスケールも考慮される。 + ---@param velocity Vector2 パーティクルの秒間移動距離(ピクセル) + ---@param type ExSkillFrameParticleManager.ParticleType このインスタンスのパーティクルの種類 + ---@return ExSkillFrameParticle + new = function (parent, pos, velocity, type) + ---@type ExSkillFrameParticle + local instance = Avatar.instantiate(ExSkillFrameParticle, SpawnObject, parent) + + instance.object = models.models.ex_skill_frame.Particles["Particle"..(type == "NORMAL" and 1 or 2)]:copy(instance.uuid) + instance.currentPos = pos + instance.nextPos = instance.currentPos + instance.velocity = velocity + instance.particleCount = 0 + + instance.callbacks = { + ---@param self ExSkillFrameParticle + onInit = function (self) + models.models.ex_skill_frame.Gui.script_ex_skill_frame_particles:addChild(self.object) + self.object:setRot(90, math.random() * 360, 180) + end; + + ---@param self ExSkillFrameParticle + onDeinit = function (self) + self.object:remove() + end; + + ---@param self ExSkillFrameParticle + onTick = function (self) + --パーティクル位置を強制更新 + self.currentPos = self.nextPos:copy() + self.object:setPos(self.currentPos:copy():augmented(0)) + self.object:setScale(vectors.vec3(1, 1, 1):scale(1 - self.particleCount / 5)) + + --カウンターを更新 + self.particleCount = self.particleCount + 1 + if self.particleCount == 5 then + self.object:remove() + elseif self.particleCount == 6 then + self.shouldDeinit = true + end + + --次ティックの位置を計算 + if self.velocity:length() > 0 then + self.nextPos = self.currentPos:copy():add(self.velocity:copy():scale(-0.05)) + end + end; + + ---@param self ExSkillFrameParticle + onRender = function (self, delta) + self.object:setPos(self.nextPos:copy():sub(self.currentPos):scale(delta):add(self.currentPos):augmented(0)) + self.object:setScale(vectors.vec3(1, 1, 1):scale(1 - (self.particleCount + delta) / 5)) + end; + } + + return instance + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/ex_skill/ex_skill_frame_particle_manager.lua b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/ex_skill/ex_skill_frame_particle_manager.lua new file mode 100644 index 0000000..262709e --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/ex_skill/ex_skill_frame_particle_manager.lua @@ -0,0 +1,48 @@ +---@alias ExSkillFrameParticleManager.ParticleType +---| "NORMAL" # 通常のパーティクル +---| "FIGURA" # Figuraマークのパーティクル(穴空き三角形) + +---@class (exact) ExSkillFrameParticleManager : SpawnObjectManager Exスキルのフレームで使用するパーティクルを管理するクラス +---@field public objects ExSkillFrameParticle[] インスタンスで制御するオブジェクト +---@field public getObject fun(self: ExSkillFrameParticleManager, pos: Vector2, velocity: Vector2): ExSkillFrameParticle Exスキルフレームのパーティクルのインスタンスを生成して返す +---@field public spawn fun(self: ExSkillFrameParticleManager, pos: Vector2, velocity: Vector2) Exスキルフレームのパーティクルをスポーンさせる + +ExSkillFrameParticleManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ExSkillFrameParticleManager + new = function (parent) + ---@type ExSkillFrameParticleManager + local instance = Avatar.instantiate(ExSkillFrameParticleManager, SpawnObjectManager, parent) + + instance.managerName = "ex_skill_frame_particle" + + return instance + end; + + ---初期化関数 + ---@param self ExSkillFrameParticleManager + init = function (self) + SpawnObjectManager.init(self) + + ---@diagnostic disable-next-line: discard-returns + models.models.ex_skill_frame.Gui:newPart("script_ex_skill_frame_particles") + end; + + ---Exスキルフレームのパーティクルのインスタンスを生成して返す。 + ---@param self ExSkillFrameParticleManager + ---@param pos Vector2 パーティクルをスポーンさせる画面上の座標 + ---@param velocity Vector2 パーティクルの速度 + ---@return ExSkillFrameParticle instance 生成したインスタンス + getObject = function (self, pos, velocity) + return ExSkillFrameParticle.new(self.parent, pos, velocity, math.random() > 0.9999 and "FIGURA" or "NORMAL") + end; + + ---Exスキルフレームのパーティクルをスポーンさせる。 + ---@param self ExSkillFrameParticleManager + ---@param pos Vector2 パーティクルをスポーンさせる画面上の座標 + ---@param velocity Vector2 パーティクルの速度 + spawn = function (self, pos, velocity) + SpawnObjectManager.spawn(self, pos, velocity) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/face_parts.lua b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/face_parts.lua new file mode 100644 index 0000000..c364e0f --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/face_parts.lua @@ -0,0 +1,88 @@ +---@class (exact) FaceParts : AvatarModule 目と口のテクスチャを管理するクラス +---@field package emotionCount integer エモートの時間を計るカウンター +---@field public blinkCount integer 瞬きのタイミングを計るカウンター +---@field public setEmotion fun(self: FaceParts, rightEye: BlueArchiveCharacter.RightEyeTextures, leftEye: BlueArchiveCharacter.LeftEyeTextures, mouth: BlueArchiveCharacter.MouthTextures, duration: integer, forced?: boolean) 表情を設定する +---@field public resetEmotion fun(self: FaceParts) 表情をリセットする + +FaceParts = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return FaceParts + new = function (parent) + ---@type FaceParts + local instance = Avatar.instantiate(FaceParts, AvatarModule, parent) + + instance.emotionCount = 0 + instance.blinkCount = 200 + + return instance + end; + + ---初期化関数 + ---@param self FaceParts + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + if not client:isPaused() then + if self.parent.playerUtils.damageStatus == "DAMAGE" then + if self.parent.characterData.faceParts.emotionSet ~= nil and self.parent.characterData.faceParts.emotionSet.onDamage ~= nil then + self:setEmotion(self.parent.characterData.faceParts.emotionSet.onDamage.rightEye, self.parent.characterData.faceParts.emotionSet.onDamage.leftEye, self.parent.characterData.faceParts.emotionSet.onDamage.mouth, 8, true) + else + self:setEmotion("SURPRISED", "SURPRISED", "NORMAL", 8, true) + end + elseif self.parent.playerUtils.damageStatus == "DIED" then + if self.parent.characterData.faceParts.emotionSet ~= nil and self.parent.characterData.faceParts.emotionSet.onDied ~= nil then + self:setEmotion(self.parent.characterData.faceParts.emotionSet.onDied.rightEye, self.parent.characterData.faceParts.emotionSet.onDied.leftEye, self.parent.characterData.faceParts.emotionSet.onDied.mouth, 20, true) + else + self:setEmotion("SURPRISED", "SURPRISED", "NORMAL", 20, true) + end + elseif self.emotionCount == 0 then + self:setEmotion("NORMAL", "NORMAL", "NORMAL", 0) + end + + if self.blinkCount == 0 then + self:setEmotion("CLOSED", "CLOSED", "NORMAL", 2) + self.blinkCount = 200 + else + self.blinkCount = self.blinkCount - 1 + end + + self.emotionCount = self.emotionCount > 0 and self.emotionCount - 1 or self.emotionCount + end + end) + end; + + ---表情を設定する。 + ---@param self FaceParts + ---@param rightEye BlueArchiveCharacter.RightEyeTextures 設定する右目の名前 + ---@param leftEye BlueArchiveCharacter.LeftEyeTextures 設定する左目の名前 + ---@param mouth BlueArchiveCharacter.MouthTextures 設定する口の名前 + ---@param duration integer この表情を有効にする時間 + ---@param forced? boolean trueにすると以前のエモーションが再生中でも強制的に現在のエモーションを適用させる。 + setEmotion = function (self, rightEye, leftEye, mouth, duration, forced) + if self.emotionCount == 0 or forced then + --右目 + models.models.main.Avatar.Head.FaceParts.Eyes.EyeLeft:setUVPixels(self.parent.characterData.faceParts.rightEye[rightEye]:copy():scale(6)) + + --左目 + models.models.main.Avatar.Head.FaceParts.Eyes.EyeRight:setUVPixels(self.parent.characterData.faceParts.leftEye[leftEye]:copy():scale(6)) + + --口 + if mouth ~= "NORMAL" then + models.models.main.Avatar.Head.FaceParts.Mouth:setVisible(true) + models.models.main.Avatar.Head.FaceParts.Mouth:setUVPixels(self.parent.characterData.faceParts.mouth[mouth]:copy():mul(16, 8)) + else + models.models.main.Avatar.Head.FaceParts.Mouth:setVisible(false) + end + + self.emotionCount = duration + end + end; + + ---表情をリセットする。 + ---@param self FaceParts + resetEmotion = function (self) + self.emotionCount = 0 + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/gun.lua b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/gun.lua new file mode 100644 index 0000000..68b48d0 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/gun.lua @@ -0,0 +1,376 @@ +---@alias Gun.GunPosition +---| "NONE" # 構えていない +---| "RIGHT" # 右手に構える +---| "LEFT" # 左手に構える + +---@alias Gun.HandDirection +---| "RIGHT" # 右手 +---| "LEFT" # 左手 + +---@class (exact) Gun : AvatarModule 生徒の銃を制御するクラス +---@field public gunItems Minecraft.itemID[] 銃のモデルを適用するアイテム +---@field public shouldShowWeaponInFirstPerson boolean 一人称で武器(銃を含む)のモデルを表示するかどうか +---@field public currentGunPosition Gun.GunPosition 現在の銃の位置 +---@field package heldItemsPrev Gun.HeldItemSet 前ティックの手持ちアイテム +---@field public isLeftHandedPrev boolean 前ティックに左利きだったかどうか +---@field public isGunTickProcessed boolean このティック内で銃ティックを処理したかどうか +---@field package setBodyGunPos fun(self: Gun) 背中の銃の位置・向きを設定する +---@field public setGunPosition fun(self: Gun, gonPosition: Gun.GunPosition) 銃の位置を変更する +---@field public processGunTick fun(self: Gun) 銃ティックを処理する + +---@class (exact) Gun.HeldItemSet 手持ちアイテムを示すデータセット +---@field public mainHand ItemStack メインハンド +---@field public offHand ItemStack オフハンド + +Gun = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Gun + new = function (parent) + ---@type Gun + local instance = Avatar.instantiate(Gun, AvatarModule, parent) + + instance.gunItems = {"minecraft:bow", "minecraft:crossbow"} + instance.shouldShowWeaponInFirstPerson = instance.parent.config:loadConfig("PRIVATE", "firstPersonWeapon", true) + instance.currentGunPosition = "NONE" + instance.heldItemsPrev = { + mainHand = world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")); + offHand = world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")); + } + instance.isLeftHandedPrev = player:isLeftHanded() + instance.isGunTickProcessed = false + + return instance + end; + + ---初期化関数 + ---@param self Gun + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + self:processGunTick() + self.isGunTickProcessed = false + end) + + events.ON_PLAY_SOUND:register(function (id, pos, _, _, _, _, path) + if path ~= nil then + local velocityDistance = player:getVelocity():length() + local distanceFromSound = math.abs(pos:copy():sub(player:getPos()):length() - velocityDistance) + if (id == "minecraft:entity.arrow.shoot" or id == "minecraft:item.crossbow.loading_end" or id == "minecraft:item.crossbow.shoot") and math.abs(velocityDistance - distanceFromSound) < 1 then + if id == "minecraft:item.crossbow.loading_end" then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.dispenser.fail"), pos, 1, 2) + elseif player:isUnderwater() then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.generic.extinguish_fire"), pos, 0.5, 1.5) + else + local particleAnchor = self.parent.modelUtils.getModelWorldPos(renderer:isFirstPerson() and (Gun.CurrentGunPosition == "RIGHT" and models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.RightItemPivot or models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.LeftItemPivot) or models.models.main.Avatar.UpperBody.Body.Gun.MuzzleAnchor) + for _ = 1, 5 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:smoke"), particleAnchor) + end + sounds:playSound(self.parent.compatibilityUtils:checkSound(self.parent.characterData.gun.sound.name), pos, 1, self.parent.characterData.gun.sound.pitch) + end + return true + elseif (id == "minecraft:item.crossbow.loading_start" or id == "minecraft:item.crossbow.loading_middle" or id:match("^minecraft:item%.crossbow%.quick_charge_[1-3]$") ~= nil) and distanceFromSound < 1 and player:getActiveItem().id == "minecraft:crossbow" then + local activeItemTime = player:getActiveItemTime() + local quickChargeLevel = 0 + local activeItem = player:getActiveItem() + if activeItem.tag.Enchantments ~= nil then + for _, enchant in ipairs(activeItem.tag.Enchantments) do + if enchant.id == "minecraft:quick_charge" then + quickChargeLevel = enchant.lvl + break + end + end + end + if (quickChargeLevel <= 4 and activeItemTime + quickChargeLevel >= 4 and activeItemTime + quickChargeLevel <= 6) or (quickChargeLevel == 5 and activeItemTime <= 2) then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.flintandsteel.use"), pos, 1, 2) + return true + elseif id == "minecraft:item.crossbow.loading_middle" then + return true + end + end + end + end) + + local this = self --Figuraにスクリプトを再構築させると参照がおかしくなることに対処しているコード + events.ITEM_RENDER:register(function (item, mode, _, _, _, leftHanded) + self = this + if mode ~= "HEAD" and self.currentGunPosition == (leftHanded and "LEFT" or "RIGHT") and (self.shouldShowWeaponInFirstPerson or mode =="THIRD_PERSON_LEFT_HAND" or mode == "THIRD_PERSON_RIGHT_HAND") then + for _, gunItem in ipairs(self.gunItems) do + if item.id == gunItem then + if leftHanded then + if mode == "FIRST_PERSON_LEFT_HAND" then + local offsetPos = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.firstPersonPos ~= nil and self.parent.characterData.gun.gunPosition.hold.firstPersonPos.left ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.hold.firstPersonPos.left + end + local offsetRot = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.firstPersonRot ~= nil and self.parent.characterData.gun.gunPosition.hold.firstPersonRot.left ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.hold.firstPersonRot.left + end + local activeItemId = player:getActiveItem().id + if activeItemId == "minecraft:bow" then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -2.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(20, -7.5, -5):add(offsetRot)) + elseif activeItemId == "minecraft:crossbow" then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, 0.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + elseif item.id == "minecraft:crossbow" and item.tag.Charged == 1 then + if player:isLeftHanded() then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(-10, -1.25, 6):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 10, 0):add(offsetRot)) + else + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -1.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + else + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -1.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + elseif mode == "THIRD_PERSON_LEFT_HAND" then + local offsetPos = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.thirdPersonPos ~= nil and self.parent.characterData.gun.gunPosition.hold.thirdPersonPos.left ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.hold.thirdPersonPos.left + end + local offsetRot = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.thirdPersonRot ~= nil and self.parent.characterData.gun.gunPosition.hold.thirdPersonRot.left ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.hold.thirdPersonRot.left + end + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -4.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + else + if mode == "FIRST_PERSON_RIGHT_HAND" then + local offsetPos = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.firstPersonPos ~= nil and self.parent.characterData.gun.gunPosition.hold.firstPersonPos.right ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.hold.firstPersonPos.right + end + local offsetRot = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.firstPersonRot ~= nil and self.parent.characterData.gun.gunPosition.hold.firstPersonRot.right ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.hold.firstPersonRot.right + end + local activeItemId = player:getActiveItem().id + if activeItemId == "minecraft:bow" then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -2.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(20, 7.5, 5):add(offsetRot)) + elseif activeItemId == "minecraft:crossbow" then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, 0.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + elseif item.id == "minecraft:crossbow" and item.tag.Charged == 1 then + if player:isLeftHanded() then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -1.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + else + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(10, -1.25, 6):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, -10, 0):add(offsetRot)) + end + else + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -1.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + elseif mode == "THIRD_PERSON_RIGHT_HAND" then + local offsetPos = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.thirdPersonPos ~= nil and self.parent.characterData.gun.gunPosition.hold.thirdPersonPos.right ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.hold.thirdPersonPos.right + end + local offsetRot = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.thirdPersonRot ~= nil and self.parent.characterData.gun.gunPosition.hold.thirdPersonRot.right ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.hold.thirdPersonRot.right + end + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -4.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + end + return models.models.main.Avatar.UpperBody.Body.Gun + end + end + end + end) + + models.models.main.Avatar.UpperBody.Body.Gun:setScale(vectors.vec3(1, 1, 1):scale(self.parent.characterData.gun.scale)) + self:setGunPosition("NONE") + if self.parent.characterData.gun.callbacks ~= nil and self.parent.characterData.gun.callbacks.onMainHandChange ~= nil then + self.parent.characterData.gun.callbacks.onMainHandChange(self.parent.characterData, self.isLeftHandedPrev and "LEFT" or "RIGHT") + end + end; + + ---背中の銃の位置・向きを設定する。 + ---@param self Gun + setBodyGunPos = function (self) + if models.models.main.Avatar.UpperBody.Body.Gun ~= nil then + local offsetPos = vectors.vec3() + local offsetRot = vectors.vec3() + if player:isLeftHanded() then + if self.parent.characterData.gun.gunPosition.put.pos ~= nil and self.parent.characterData.gun.gunPosition.put.pos.left ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.put.pos.left + end + if self.parent.characterData.gun.gunPosition.put.rot ~= nil and self.parent.characterData.gun.gunPosition.put.rot.left ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.put.rot.left + end + else + if self.parent.characterData.gun.gunPosition.put.pos ~= nil and self.parent.characterData.gun.gunPosition.put.pos.right ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.put.pos.right + end + if self.parent.characterData.gun.gunPosition.put.rot ~= nil and self.parent.characterData.gun.gunPosition.put.rot.right ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.put.rot.right + end + end + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, 12, 0):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(offsetRot) + end + end; + + ---銃の位置を変更する。 + ---@param self Gun + ---@param gunPosition Gun.GunPosition 変更先の構え位置 + setGunPosition = function (self, gunPosition) + if gunPosition == "NONE" then + for _, tickName in ipairs({"right_gun_tick", "left_gun_tick"}) do + events.TICK:remove(tickName) + end + models.models.main.Avatar.UpperBody.Body.Gun:setParentType("None") + models.models.main.Avatar.UpperBody.Body.Gun:setSecondaryRenderType("NONE") + if self.parent.characterData.gun.gunPosition.hold.type == "NORMAL" then + self.parent.arms:setArmState(0, 0) + elseif self.parent.characterData.gun.gunPosition.hold.type == "CUSTOM" then + for _, animationName in ipairs({"gun_hold_right", "gun_hold_left"}) do + animations["models.main"][animationName]:stop() + end + end + if self.parent.characterData.gun.gunPosition.put.type == "BODY" then + self:setBodyGunPos() + elseif self.parent.characterData.gun.gunPosition.put.type == "HIDDEN" then + models.models.main.Avatar.UpperBody.Body.Gun:setVisible(false) + end + elseif gunPosition == "RIGHT" then + events.TICK:remove("left_gun_tick") + if events.TICK:getRegisteredCount("right_gun_tick") == 0 then + events.TICK:register(function () + local heldItem = player:getHeldItem(player:isLeftHanded()) + local hasGlint = false + for _, gunItem in ipairs(self.gunItems) do + if gunItem == heldItem.id and heldItem:hasGlint() then + models.models.main.Avatar.UpperBody.Body.Gun:setSecondaryRenderType("GLINT") + hasGlint = true + break + end + end + if not hasGlint then + models.models.main.Avatar.UpperBody.Body.Gun:setSecondaryRenderType("NONE") + end + end, "right_gun_tick") + end + if self.parent.characterData.gun.gunPosition.hold.type == "NORMAL" then + self.parent.arms:setArmState(1, 2) + elseif self.parent.characterData.gun.gunPosition.hold.type == "CUSTOM" then + animations["models.main"]["gun_hold_left"]:stop() + animations["models.main"]["gun_hold_right"]:play() + end + models.models.main.Avatar.UpperBody.Body.Gun:setVisible(true) + models.models.main.Avatar.UpperBody.Body.Gun:setParentType("Item") + if not client:isPaused() then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.flintandsteel.use"), player:getPos(), 1, 2) + end + elseif gunPosition == "LEFT" then + events.TICK:remove("right_gun_tick") + if events.TICK:getRegisteredCount("left_gun_tick") == 0 then + events.TICK:register(function () + local heldItem = player:getHeldItem(not player:isLeftHanded()) + local hasGlint = false + for _, gunItem in ipairs(self.gunItems) do + if gunItem == heldItem.id and heldItem:hasGlint() then + models.models.main.Avatar.UpperBody.Body.Gun:setSecondaryRenderType("GLINT") + hasGlint = true + break + end + end + if not hasGlint then + models.models.main.Avatar.UpperBody.Body.Gun:setSecondaryRenderType("NONE") + end + end, "left_gun_tick") + end + if self.parent.characterData.gun.gunPosition.hold.type == "NORMAL" then + self.parent.arms:setArmState(2, 1) + elseif self.parent.characterData.gun.gunPosition.hold.type == "CUSTOM" then + animations["models.main"]["gun_hold_right"]:stop() + animations["models.main"]["gun_hold_left"]:play() + end + models.models.main.Avatar.UpperBody.Body.Gun:setVisible(true) + models.models.main.Avatar.UpperBody.Body.Gun:setParentType("Item") + if not client:isPaused() then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.flintandsteel.use"), player:getPos(), 1, 2) + end + end + self.currentGunPosition = gunPosition + end; + + ---銃ティックを処理する。 + ---@param self Gun + processGunTick = function (self) + if not self.isGunTickProcessed then + local heldItems = {} + if player:getPose() ~= "SLEEPING" and self.parent.exSkill.animationCount == -1 then + heldItems.mainHand = player:getHeldItem(false) + heldItems.offHand = player:getHeldItem(true) + else + heldItems.mainHand = world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air")) + heldItems.offHand = world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air")) + end + local targetItemFound = false + local isLeftHanded = player:isLeftHanded() + if heldItems.mainHand.id ~= self.heldItemsPrev.mainHand.id or heldItems.offHand.id ~= self.heldItemsPrev.offHand.id or isLeftHanded ~= self.isLeftHandedPrev then + for _, gunItem in ipairs(self.gunItems) do + if heldItems.mainHand.id == gunItem then + --メインハンドに対象アイテムを持つ + targetItemFound = true + if isLeftHanded then + if self.currentGunPosition ~= "LEFT" then + self:setGunPosition("LEFT") + end + else + if self.currentGunPosition ~= "RIGHT" then + self:setGunPosition("RIGHT") + end + end + break + end + end + if not targetItemFound then + for _, gunItem in ipairs(self.gunItems) do + if heldItems.offHand.id == gunItem then + --オフハンドに対象アイテムを持つ + targetItemFound = true + if isLeftHanded then + if self.currentGunPosition ~= "RIGHT" then + self:setGunPosition("RIGHT") + end + else + if self.currentGunPosition ~= "LEFT" then + self:setGunPosition("LEFT") + end + end + break + end + end + end + if not targetItemFound then + --対象アイテムは持たない + if self.currentGunPosition ~= "NONE" then + self:setGunPosition("NONE") + end + end + if isLeftHanded ~= self.leftHandedPrev then + if self.currentGunPosition == "NONE" then + self:setBodyGunPos() + end + if self.parent.characterData.gun.callbacks ~= nil and self.parent.characterData.gun.callbacks.onMainHandChange ~= nil then + self.parent.characterData.gun.callbacks.onMainHandChange(self.parent.characterData, isLeftHanded and "LEFT" or "RIGHT") + end + self.isLeftHandedPrev = isLeftHanded + end + self.heldItemsPrev = heldItems + end + self.isGunTickProcessed = true + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/head_block.lua b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/head_block.lua new file mode 100644 index 0000000..72bce44 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/head_block.lua @@ -0,0 +1,33 @@ +---@class (exact) HeadBlock : HeadModelGenerator 頭ブロックのモデルを制御するクラス +---@field package forceGenerateCount integer 強制的に頭ブロックを生成するまでのカウンター。これが発火するのはアバタープレイヤーがオフラインの時のみ。 + +HeadBlock = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return HeadBlock + new = function (parent) + ---@type HeadBlock + local instance = Avatar.instantiate(HeadBlock, HeadModelGenerator, parent) + + instance.processData = instance.parent.characterData.headBlock + instance.parentName = "head_block" + instance.parentType = "Skull" + instance.forceGenerateCount = 2 + + return instance + end; + + ---初期化関数 + ---@param self HeadBlock + init = function (self) + HeadModelGenerator.init(self) + + events.WORLD_TICK:register(function () + self.forceGenerateCount = self.forceGenerateCount - 1 + if self.forceGenerateCount == 0 then + self:generateHeadModel() + events.WORLD_TICK:remove("head_block_world_tick") + end + end, "head_block_world_tick") + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/head_model_generator.lua b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/head_model_generator.lua new file mode 100644 index 0000000..76b2ab7 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/head_model_generator.lua @@ -0,0 +1,85 @@ +---@class (exact) HeadModelGenerator : AvatarModule 頭のモデルの生成を含む抽象クラス +---@field public processData BlueArchiveCharacter.HeadBlockStruct 頭モデルを生成する過程で参照するデータ +---@field public parentName string モデルを生成する名前空間 +---@field public parentType ModelPart.parentType コピーした頭モデルに適用する親タイプ +---@field public generateHeadModel fun(self: HeadModelGenerator) 頭モデルのコピーを生成する +---@field package isScriptLoaded boolean スクリプトが全てロードされているかどうか + +HeadModelGenerator = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return HeadModelGenerator + new = function (parent) + ---@type HeadModelGenerator + local instance = Avatar.instantiate(HeadModelGenerator, AvatarModule, parent) + + instance.isScriptLoaded = false + + return instance + end; + + ---初期化関数 + ---@param self HeadModelGenerator + init = function (self) + AvatarModule.init(self) + + ---@diagnostic disable-next-line: discard-returns + models:newPart("script_"..self.parentName, "None") + + self.parent.avatarEvents.SCRIPT_INIT:register(function () + self.isScriptLoaded = true + end) + end; + + ---頭モデルのコピーを生成する。 + ---@param self HeadModelGenerator + generateHeadModel = function (self) + --既存の頭ブロックのモデルを削除する。 + if models["script_"..self.parentName].Head ~= nil then + models["script_"..self.parentName].Head:remove() + end + + --ヘルメットを着けている場合は外しておく。 + local isHelmetVisible = self.isScriptLoaded and self.parent.armor.isArmorVisible.helmet or false + if isHelmetVisible then + self.parent.armor:setHelmet(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + + if self.isScriptLoaded then + self.parent.physics:disable() + end + if self.processData.callbacks ~= nil and self.processData.callbacks.onBeforeModelCopy ~= nil then + self.processData.callbacks.onBeforeModelCopy(self.parent.characterData, self.isScriptLoaded) + end + + --現在の衣装を基に新たな頭ブロックのモデルを生成する。 + local copiedPart = self.parent.modelUtils:copyModel(models.models.main.Avatar.Head) + if copiedPart ~= nil then + models["script_"..self.parentName]:addChild(copiedPart) + models["script_"..self.parentName].Head:setParentType(self.parentType) + models["script_"..self.parentName].Head:setPos(0, -24, 0) + models["script_"..self.parentName].Head.HeadRing:setRot(self.parent.headRing.initialHaloRot) + models["script_"..self.parentName].Head.HeadRing:setLight(15) + for _, modelPart in ipairs({models["script_"..self.parentName].Head.FaceParts.Eyes.EyeRight, models["script_"..self.parentName].Head.FaceParts.Eyes.EyeLeft}) do + modelPart:setUVPixels() + end + for _, modelPart in ipairs(self.processData.includeModels) do + local copiedIncludePart = self.parent.modelUtils:copyModel(modelPart) + if copiedIncludePart ~= nil then + models["script_"..self.parentName].Head:addChild(copiedIncludePart) + end + end + end + + --非表示にしたモデルを元に戻す。 + if isHelmetVisible then + self.parent.armor:setHelmet(self.parent.armor.armorSlotItems[1]) + end + if self.isScriptLoaded then + self.parent.physics:enable() + end + if self.processData.callbacks ~= nil and self.processData.callbacks.onAfterModelCopy ~= nil then + self.processData.callbacks.onAfterModelCopy(self.parent.characterData, self.isScriptLoaded) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/head_ring.lua b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/head_ring.lua new file mode 100644 index 0000000..315489c --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/head_ring.lua @@ -0,0 +1,79 @@ +---@class (exact) HeadRing : AvatarModule ヘイロー(頭の輪っか)を制御するクラス +---@field public initialHaloRot number ヘイローの初期角度 +---@field package headRotData number[] 一定期間内の頭の角度を保持するテーブル +---@field package headRotAverage number[] 頭の角度の移動平均値 +---@field package floatCount integer ヘイローが上下するアニメーションのカウンター + +HeadRing = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return HeadRing + new = function (parent) + ---@type HeadRing + local instance = Avatar.instantiate(HeadRing, AvatarModule, parent) + + instance.initialHaloRot = models.models.main.Avatar.Head.HeadRing:getRot().x + instance.haloRotPrev = instance.initialHaloRot + instance.headRotData = {} + instance.headRotAverage = {0, 0} + instance.floatCount = 0 + + return instance + end; + + ---初期化関数 + ---@param self HeadRing + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + if not client:isPaused() then + --移動平均値の算出 + local headRot = self.parent.exSkill.animationCount > -1 and models.models.main.Avatar.Head:getAnimRot().x or math.deg(math.asin(player:getLookDir().y)) + local headRotAverage = self.headRotAverage[2] + headRotAverage = (#self.headRotData * headRotAverage + headRot) / (#self.headRotData + 1) + table.insert(self.headRotData, headRot) + --古いデータの切り捨て + if #self.headRotData > 5 then + headRotAverage = (#self.headRotData * headRotAverage - self.headRotData[1]) / (#self.headRotData - 1) + table.remove(self.headRotData, 1) + end + table.insert(self.headRotAverage, headRotAverage) + table.remove(self.headRotAverage, 1) + end + end) + + events.WORLD_TICK:register(function () + if not client:isPaused() then + self.floatCount = self.floatCount + 1 + self.floatCount = self.floatCount == 80 and 0 or self.floatCount + end + end) + + events.RENDER:register(function (delta) + if not client:isPaused() then + --ヘイローの位置・角度を設定 + local playerPose = player:getPose() + local headRot = self.parent.physics.getValueBetweenTicks(self.headRotAverage, delta) + local floatOffset = math.sin((self.floatCount + delta) / 80 * 2 * math.pi) * 0.25 + if playerPose == "SWIMMING" or playerPose == "FALL_FLYING" then + models.models.main.Avatar.Head.HeadRing:setPos(self.parent.physics.velocityAverage[3][2] * 3, math.cos(math.rad(headRot)) * self.parent.physics.velocityAverage[1][2] * -1 + math.sin(math.rad(headRot)) * self.parent.physics.velocityAverage[2][2] * -1 + floatOffset, math.cos(math.rad(headRot)) * self.parent.physics.velocityAverage[2][2] * -3 + math.sin(math.rad(headRot)) * self.parent.physics.velocityAverage[1][2]) + else + models.models.main.Avatar.Head.HeadRing:setPos(self.parent.physics.velocityAverage[3][2] * -3, math.cos(math.rad(headRot)) * self.parent.physics.velocityAverage[2][2] * -1 + math.sin(math.rad(headRot)) * self.parent.physics.velocityAverage[1][2] + floatOffset, math.cos(math.rad(headRot)) * self.parent.physics.velocityAverage[1][2] * 3 + math.sin(math.rad(headRot)) * self.parent.physics.velocityAverage[2][2]) + end + if self.parent.deathAnimation.dummyAvatarRoot ~= nil then + self.parent.deathAnimation.dummyAvatarRoot.Head.HeadRing:setPos(0, floatOffset, 0) + end + models.models.main.Avatar.Head.HeadRing:setRot(headRot - (self.parent.exSkill.animationCount > -1 and models.models.main.Avatar.Head:getAnimRot().x or math.deg(math.asin(player:getLookDir().y))) + self.initialHaloRot, 0, 0) + end + end) + + events.WORLD_RENDER:register(function (delta) + if not client:isPaused() and models.script_head_block.Head ~= nil and models.script_head_block.Head.HeadRing ~= nil then + models.script_head_block.Head.HeadRing:setPos(0, math.sin((self.floatCount + delta) / 80 * 2 * math.pi) * 0.25, 0) + end + end) + + models.models.main.Avatar.Head.HeadRing:setLight(15) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/hypixel_zombies.lua b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/hypixel_zombies.lua new file mode 100644 index 0000000..5d3df84 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/hypixel_zombies.lua @@ -0,0 +1,85 @@ +---@class (exact) HypixelZombies : AvatarModule Hypixelの「Zombies」にアバターを対応させるパッチ +---@field package isEnabled boolean Zombiesモードが有効かどうか +---@field package damagerPercentPrev number[] 前ティック以前のツールの耐久度割合 +---@field public enable fun(self: HypixelZombies) Zombiesモードを有効にする +---@field public disable fun(self: HypixelZombies) Zombiesモードを無効にする + +HypixelZombies = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return HypixelZombies + new = function (parent) + ---@type HypixelZombies + local instance = Avatar.instantiate(HypixelZombies, AvatarModule, parent) + + instance.isEnabled = false + instance.damagerPercentPrev = {1, 1} + + return instance + end; + + ---Zombiesモードを有効にする。 + ---@param self HypixelZombies + enable = function (self) + if not self.isEnabled then + self.parent.gun.gunItems = {"minecraft:bow", "minecraft:crossbow", "minecraft:wooden_hoe", "minecraft:stone_hoe", "minecraft:iron_hoe", "minecraft:wooden_shovel", "minecraft:stone_shovel", "minecraft:shears", "minecraft:diamond_hoe", "minecraft:golden_hoe", "minecraft:iron_shovel", "minecraft:diamond_pickaxe", "minecraft:golden_pickaxe", "minecraft:golden_shovel", "minecraft:flint_and_steel"} + + events.TICK:register(function () + local heldItem = player:getHeldItem() + local maxDamage = heldItem:getMaxDamage() + local damagePercent = (maxDamage - heldItem:getDamage()) / maxDamage + if maxDamage > 0 then + if damagePercent - self.damagerPercentPrev[1] > 0 and damagePercent - self.damagerPercentPrev[1] <= 0.2 then + if self.parent.bubble.bubbleCount == 0 then + self.parent.bubble:play("RELOAD", -1, vectors.vec2(), 0, false) + end + elseif self.parent.bubble.emoji == "RELOAD" then + self.parent.bubble:stop() + end + table.insert(self.damagerPercentPrev, damagePercent) + else + if self.parent.bubble.emoji == "RELOAD" then + self.parent.bubble:stop() + end + table.insert(self.damagerPercentPrev, 1) + end + table.remove(self.damagerPercentPrev, 1) + end, "hypixel_zombies_tick") + + if host:isHost() then + print(self.parent.locale:getLocale("avatar.zombies_mode.enable")) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.lightning_bolt.thunder"), player:getPos(), 0.5, 2) + end + + self.isEnabled = true + elseif host:isHost() then + print(self.parent.locale:getLocale("avatar.zombies_mode.already_enabled")) + end + end; + + ---Zombiesモードを無効にする。 + ---@param self HypixelZombies + disable = function (self) + if self.isEnabled then + events.TICK:remove("hypixel_zombies_tick") + self.parent.gun.gunItems = {"minecraft:bow", "minecraft:crossbow"} + + if host:isHost() then + print(self.parent.locale:getLocale("avatar.zombies_mode.disable")) + end + elseif host:isHost() then + print(self.parent.locale:getLocale("avatar.zombies_mode.already_disabled")) + end + self.isEnabled = false + end +} + +---Zombiesモードを有効にする。 +function pings.enableZombiesMode() + AvatarInstance.hypixelZombies:enable() +end + +---Zombiesモードを無効にする。 +function pings.disableZombiesMode() + AvatarInstance.hypixelZombies:disable() +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/key_manager.lua b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/key_manager.lua new file mode 100644 index 0000000..e1cac33 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/key_manager.lua @@ -0,0 +1,45 @@ +---@class (exact) KeyManager : AvatarModule アバターのキー割り当てを管理するクラス。ここで管理する割り当ては設定で変更された場合はそれが保存される。 +---@field public keyMappings {[string]: Keybind} キーの割り当てのテーブル +---@field public register fun(self: KeyManager, assignName: string, keyName: Minecraft.keyCode): Keybind キー割り当てを登録する + +KeyManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return KeyManager + new = function (parent) + ---@type KeyManager + local instance = Avatar.instantiate(KeyManager, AvatarModule, parent) + + instance.keyMappings = {} + + return instance + end; + + ---初期化関数 + ---@param self KeyManager + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + events.TICK:register(function () + for key, value in pairs(self.keyMappings) do + if not value:isDefault() then + local newKey = value:getKey() + self.parent.config:saveConfig("PRIVATE", "keybind."..key, newKey) + value:setKey(newKey) + end + end + end) + end + end; + + ---キー割り当てを登録する。 + ---@param self KeyManager + ---@param assignName string 割り当ての名前 + ---@param keyName Minecraft.keyCode 割当先のキー + ---@return Keybind assignedKey キーマネージャーによって登録がされたキーバインド + register = function (self, assignName, keyName) + self.keyMappings[assignName] = keybinds:newKeybind(self.parent.locale:getLocale("key_name."..assignName), self.parent.config:loadConfig("PRIVATE", "keybind."..assignName, keyName)) + return self.keyMappings[assignName] + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/locale.lua b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/locale.lua new file mode 100644 index 0000000..b2675ce --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/locale.lua @@ -0,0 +1,118 @@ +---@alias Locale.Language +---| "en_us" # 英語(米国) +---| "ja_jp" # 日本語 + +---@class (exact) Locale : AvatarModule アバターの表示言語を管理するクラス +---@field public localeData {[Locale.Language]: {[string]: string}} 言語データ +---@field public getLocale fun(self: Locale, key: string): string 翻訳キーに対する訳文を返す。設定言語が存在しない場合は英語の文が返される。また、指定したキーの訳が無い場合は英語->キーそのままが返される。 + +Locale = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Locale + new = function (parent) + ---@type Locale + local instance = Avatar.instantiate(Locale, AvatarModule, parent) + + instance.localeData = { + en_us = {}; + ja_jp = {}; + } + + ---言語データのリスト + ---1. キー名, 2. 英語(米国), 3. 日本語 + local localeStrings = { + {"avatar.old_version_warning", "For the best experience, playing with 1.20.1 or higher is recommended!", "生徒さんとより良い時間を過ごすためにバージョン1.20.1以上でのプレイをおすすめします!"}; + {"avatar.zombies_mode.enable", "Enabled Zombies mode.", "Zombiesモードを有効にしました。"}; + {"avatar.zombies_mode.already_enabled", "Already enabled Zombies mode.", "Zombiesモードは既に有効化されています。"}; + {"avatar.zombies_mode.disable", "Disabled Zombies mode.", "Zombiesモードを無効にしました。"}; + {"avatar.zombies_mode.already_disabled", "Already disabled Zombies mode.", "Zombiesモードは既に無効化されています。"}; + {"action_wheel.toggle_off", "off", "オフ"}; + {"action_wheel.toggle_on", "on", "オン"}; + {"action_wheel.main.action_1.title", "Change costume: ", "衣装を変更:"}; + {"action_wheel.main.action_1.unavailable", "There is no costume available.", "利用可能な衣装はありません。"}; + {"action_wheel.main.action_1.done_first", "Changed costume to §b", "衣装を§b"}; + {"action_wheel.main.action_1.done_last", "§r.", "§rに変更しました。"}; + {"action_wheel.main.action_2.title", "Change display name: ", "表示名を変更:"}; + {"action_wheel.main.action_2.title_2", "Show club name: ", "部活名を表示:"}; + {"action_wheel.main.action_2.done_first", "Changed display name to §b", "表示名を§b"}; + {"action_wheel.main.action_2.done_last", "§r.", "§rに変更しました。"}; + {"action_wheel.main.action_3.title", "Show armors: ", "防具を表示:"}; + {"action_wheel.main.action_4.title", "Show weapon models in first person: ", "一人称視点で武器モデルを表示:"}; + {"action_wheel.main.action_5.title", "Amount of particles in Ex skill frame: ", "Exスキルフレームのパーティクルの量:"}; + {"action_wheel.main.action_5.option_1", "Standard", "標準"}; + {"action_wheel.main.action_5.option_2", "Minimum", "少なめ"}; + {"action_wheel.main.action_5.option_3", "None", "なし"}; + {"action_wheel.main.action_5.option_4", "Hide Ex skill frame", "スキルフレーム非表示"}; + {"action_wheel.main.action_5.done_first", "Changed amount of particles in Ex skill frame to§b", "Exスキルフレームのパーティクルの量を§b"}; + {"action_wheel.main.action_5.done_last", "§r.", "§rに変更しました。"}; + {"action_wheel.main.action_6.title", "Replace vehicle models: ", "乗り物のモデルを置き換え:"}; + {"action_wheel.main.action_6.unavailable", "This option is unavailable for this character.", "この生徒さんでは利用できません。"}; + {"action_wheel.main.action_7.title_1", "Check for new FBAC Updates ", "FBACアップデートの確認"}; + {"action_wheel.main.action_7.title_2", "(Left-click)", "(左クリック)"}; + {"action_wheel.main.action_7.title_3", "Copy URL for the latest FBAC ", "最新FBACバージョンのURLをコピー"}; + {"action_wheel.main.action_7.title_4", "(Right-click)", "(右クリック)"}; + {"action_wheel.main.action_7.networking_api", "To enable update checking, you need to allow Figura's Networking and put \"api.github.com\" in the Network Filter from Figura settings!", "アップデート確認機能を有効にするにはFiguraの設定より、FiguraのNetworkingの使用を許可し、\"api.github.com\"を許可リストに入れる必要があります!"}; + {"action_wheel.main.action_7.ongoing", "Checking for updates is ongoing. Please DO NOT click repeatedly!", "現在アップデートの確認中です。連打しないでください!"}; + {"action_wheel.main.action_7.copied", "Coped the link to the latest FBAC to your clipboard. Please open the link in your browser.", "最新のFBACへのリンクをクリップボードにコピーしました。ブラウザでリンクを開いてください。"}; + {"action_wheel.main.action_7.cannot_check_latest", "Cannot get the link because cannot check the latest FBAC.", "FBACの最新バージョンを確認できないため、リンクを取得できません。"}; + {"action_wheel.gui.bubble_guide.title", "§0Bubble emote guide", "§0吹き出しエモートガイド"}; + {"action_wheel.gui.ex_skill_guide.title", "§0Ex skill guide", "§0Exスキルガイド"}; + {"action_wheel.gui.ex_skill_guide.key_pre", "Press \"", "\""}; + {"action_wheel.gui.ex_skill_guide.key_post", "\"key to play", "\"キーで再生"}; + {"action_wheel.gui.update_check.checking", "Checking for updates...", "アップデートを確認中..."}; + {"action_wheel.gui.update_check.latest", "No FBAC update available", "最新のFBACを使用中です"}; + {"action_wheel.gui.update_check.update_available", "New FBAC update is available: ", "FBACのアップデートが利用可能です:"}; + {"action_wheel.gui.update_check.error_not_allowed", "Failed to check for updates - Networking API not allowed", "アップデート確認失敗 - ネットワーキング機能が不許可"}; + {"action_wheel.gui.update_check.error_network_err", "Failed to check for updates - Network error", "アップデート確認失敗 - ネットワークエラー"}; + {"action_wheel.gui.update_check.error_request_failed", "Failed to check for updates - Request failure ", "アップデート確認失敗 - リクエスト失敗 "}; + {"action_wheel.gui.update_check.error_invalid_json_syntax", "Failed to check for updates - Json parsing failure", "アップデート確認失敗 - リクエスト解析失敗"}; + {"action_wheel.gui.update_check.error_invalid_json", "Failed to check for updates - Unexpected Request", "アップデート確認失敗 - 予期しないリクエスト"}; + {"key_name.ex_skill", "Ex Skill", "Exスキル"}; + {"key_name.ex_skill_sub", "Sub Ex Skill", "サブExスキル"}; + {"key_name.bubble_1", "Bubble: Good", "吹き出し:いいね"}; + {"key_name.bubble_2", "Bubble: Heart", "吹き出し:ハート"}; + {"key_name.bubble_3", "Bubble: Note", "吹き出し:音符"}; + {"key_name.bubble_4", "Bubble: Question", "吹き出し:はてな"}; + {"key_name.bubble_5", "Bubble: Sweat", "吹き出し:汗"}; + {"key_bind.ex_skill.unavailable", "You cannot do this now.", "今は再生できません。"}; + {"key_bind.ex_skill.unavailable_firstperson", "You cannot do this in first person perspective.", "一人称視点では再生できません。"}; + } + + for _, localeSet in ipairs(localeStrings) do + instance.localeData.en_us[localeSet[1]] = localeSet[2] + instance.localeData.ja_jp[localeSet[1]] = localeSet[3] + end + + return instance + end; + + ---初期化関数 + ---@param self Locale + init = function (self) + AvatarModule.init(self) + + self.localeData.en_us["nameplate.club_name"] = self.parent.characterData.basic.clubName.en_us + self.localeData.ja_jp["nameplate.club_name"] = self.parent.characterData.basic.clubName.ja_jp + + if host:isHost() then + for index, exSkill in ipairs(self.parent.characterData.exSkill) do + self.localeData.en_us["action_wheel.gui.ex_skill_guide.ex_skill_"..index..".name"] = exSkill.name.en_us + self.localeData.ja_jp["action_wheel.gui.ex_skill_guide.ex_skill_"..index..".name"] = exSkill.name.ja_jp + end + for _, costume in ipairs(self.parent.characterData.costume.costumes) do + self.localeData.en_us["costume."..costume.name] = costume.displayName.en_us + self.localeData.ja_jp["costume."..costume.name] = costume.displayName.ja_jp + end + end + end; + + ---翻訳キーに対する訳文を返す。設定言語が存在しない場合は英語の文が返される。また、指定したキーの訳が無い場合は英語->キーそのままが返される。 + ---@param self Locale + ---@param key string 翻訳キー + ---@return string translatedString 翻訳キーに対する翻訳データ。設定言語での翻訳が存在しない場合は英文が返される。英文すら存在しない場合は翻訳キーがそのまま返される。 + getLocale = function (self, key) + local activeLanguage = client:getActiveLang() + return (self.localeData[activeLanguage] ~= nil and self.localeData[activeLanguage][key] ~= nil) and self.localeData[activeLanguage][key] or (self.localeData.en_us[key] and self.localeData.en_us[key] or key) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/nameplate.lua b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/nameplate.lua new file mode 100644 index 0000000..1db7e24 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/nameplate.lua @@ -0,0 +1,77 @@ +---@class (exact) Nameplate : AvatarModule プレイヤーの表示名を制御するクラス +---@field public currentName integer 現在の表示名:1. プレイヤー名, 2. 名のみ(英語), 3. 名のみ(日本語), 4. 名性(英語), 5. 性名(英語), 6. 性名(日本語) +---@field public shouldShowClubName boolean 部活名を表示するかどうか +---@field package localePrev string 前ティックの設定言語 +---@field public getName fun(self: Nameplate, typeId: integer): string 指定されたtypeIdでの表示名を返す +---@field public setName fun(self: Nameplate, typeId: integer, shouldShowClubName: boolean) 入力された設定で表示名を設定する + +Nameplate = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Nameplate + new = function (parent) + ---@type Nameplate + local instance = Avatar.instantiate(Nameplate, AvatarModule, parent) + + instance.currentName = instance.parent.config:loadConfig("PRIVATE", "name", 1) + instance.shouldShowClubName = instance.parent.config:loadConfig("PRIVATE", "showClubName", false) + instance.localePrev = client:getActiveLang() + + return instance + end; + + ---指定されたtypeIdでの表示名を返す。 + ---@param self Nameplate + ---@param typeId integer 表示名の種類:1. プレイヤー名, 2. 名のみ(英語), 3. 名のみ(日本語), 4. 名性(英語), 5. 性名(英語), 6. 性名(日本語) + ---@return string displayName 指定されたtypeIdでの表示名 + getName = function (self, typeId) + local displayName = typeId == 1 and player:getName() or ((typeId == 2 or typeId == 4) and self.parent.characterData.basic.firstName.en_us or (typeId == 5 and self.parent.characterData.basic.lastName.en_us or (typeId == 3 and self.parent.characterData.basic.firstName.ja_jp or self.parent.characterData.basic.lastName.ja_jp))) + if typeId >= 4 then + displayName = displayName.." "..(typeId == 4 and self.parent.characterData.basic.lastName.en_us or (typeId == 5 and self.parent.characterData.basic.firstName.en_us or self.parent.characterData.basic.firstName.ja_jp)) + end + return displayName + end; + + ---入力された設定で表示名を設定する。 + ---@param self Nameplate + ---@param typeId integer 表示名の種類:1. プレイヤー名, 2. 名のみ(英語), 3. 名のみ(日本語), 4. 名性(英語), 5. 性名(英語), 6. 性名(日本語) + ---@param shouldShowClubName boolean 部活名を表示するかどうか + setName = function (self, typeId, shouldShowClubName) + local date = client:getDate() + local displayName = self:getName(typeId)..((typeId >= 2 and date.month == self.parent.characterData.basic.birth.month and date.day == self.parent.characterData.basic.birth.day) and " :cake:" or "") + nameplate.ALL:setText(displayName) + if typeId >= 2 and shouldShowClubName then + nameplate.ENTITY:setText(displayName.."\n§7"..self.parent.locale:getLocale("nameplate.club_name")) + end + self.currentName = typeId + self.shouldShowClubName = shouldShowClubName + end; + + ---初期化関数 + ---@param self Nameplate + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + local locale = client:getActiveLang() + if locale ~= self.localePrev then + if self.shouldShowClubName then + self:setName(self.currentName, true) + end + self.localePrev = locale + end + end) + + events.RENDER:register(function (delta, context) + if context ~= "PAPERDOLL" then + nameplate.ENTITY:setPivot(self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.UpperBody.Body.NameplateAnchor):sub(player:getPos(delta)):add(0, self.parent.barrier.isBarrierVisible and 1.095 or 0.895, 0)) + else + nameplate.ENTITY:setPivot() + end + end) + + if self.currentName >= 2 then + self:setName(self.currentName, self.shouldShowClubName) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/physics.lua b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/physics.lua new file mode 100644 index 0000000..0b17e3f --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/physics.lua @@ -0,0 +1,199 @@ +---@class (exact) Physics : AvatarModule 物理演算を制御するクラス +---@field public velocityData number[][] 速度データ:1. 頭前後, 2. 上下, 3. 頭左右, 4. 頭角速度, 5. 体前後, 6. 体左右, 7. 体角速度 +---@field public velocityAverage number[][] 速度の平均値:1. 頭前後, 2. 上下, 3. 頭左右, 4. 頭角速度, 5. 体前後, 6. 体左右, 7. 体角速度 +---@field package directionPrev number[] 前ティックのdirectionテーブル +---@field public getValueBetweenTicks fun(tickData: number[], delta: number): number 2つのティックデータの間からレンダーのデルタ値を加味した値を返す +---@field package decomposeHorizontalVelocity fun(self: Physics, direction: number, index: integer): number, number, number 速度を指定された方向から見て前後方向、左右方向に分解する +---@field package getPhysicRot fun(self: Physics, physicData: BlueArchiveCharacter.PhysicCoreData, delta: number): number 物理演算で計算した角度を返す +---@field public enable fun(self: Physics) 物理演算を初期化し、有効にする +---@field public disable fun(self: Physics) 物理演算を無効にする。物理演算で管理していたモデルの回転をリセットする + +Physics = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Physics + new = function (parent) + ---@type Physics + local instance = Avatar.instantiate(Physics, AvatarModule, parent) + + instance.velocityData = {{}, {}, {}, {}, {}, {}, {}} + instance.velocityAverage = {{0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}} + instance.directionPrev = {} + + return instance + end; + + ---2つのティックデータの間からレンダーのデルタ値を加味した値を返す。 + ---@param tickData number[] ティックデータ:1. 前ティック, 2. 現ティック + ---@param delta number デルタ値 + ---@return number deltaValue 2つのティックデータの間からデルタ値で補完した値 + getValueBetweenTicks = function (tickData, delta) + return tickData[1] + (tickData[2] - tickData[1]) * delta + end; + + ---速度を指定された方向から見て前後方向、左右方向に分解する。 + ---@param self Physics + ---@param direction number 基準にする方向 + ---@param index integer データ管理用のインデックス番号(呼び出しの度に異なるインデックス番号になるようにする) + ---@return number velocityFront 指定された方向から見た前後方向の速度 + ---@return number velocityRight 指定された方向から見た左右方向の速度 + ---@return number velocityRot 指定された方向を基準とした角速度 + decomposeHorizontalVelocity = function (self, direction, index) + local velocity = player:getVelocity() + if self.directionPrev[index] == nil then + self.directionPrev[index] = 0 + end + local velocityRot = math.deg(math.atan2(velocity.z, velocity.x)) + velocityRot = velocityRot < 0 and 360 + velocityRot or velocityRot + local directionAbsFront = math.abs(velocityRot - (direction) % 360) + directionAbsFront = directionAbsFront > 180 and 360 - directionAbsFront or directionAbsFront + local directionAbsRight = math.abs(velocityRot - (direction + 90) % 360) + directionAbsRight = directionAbsRight > 180 and 360 - directionAbsRight or directionAbsRight + local directionDelta = direction - self.directionPrev[index] + directionDelta = directionDelta > 180 and (360 - directionDelta) * 20 or (directionDelta < -180 and (360 + directionDelta) * 20 or directionDelta * 20) + self.directionPrev[index] = direction + return math.sqrt(velocity.x ^ 2 + velocity.z ^ 2) * math.cos(math.rad(directionAbsFront)), math.sqrt(velocity.x ^ 2 + velocity.z ^ 2) * math.cos(math.rad(directionAbsRight)), directionDelta + end; + + ---物理演算で計算した角度を返す。 + ---@param self Physics + ---@param physicData BlueArchiveCharacter.PhysicCoreData 物理演算データ + ---@param delta number デルタ値 + ---@return number physicDirection 物理演算で計算したモデルの角度 + getPhysicRot = function (self, physicData, delta) + local rot = physicData.neutral + local waterMultiplayer = player:isUnderwater() and 2 or 1 + if physicData.headX ~= nil then + rot = rot + math.clamp(self.getValueBetweenTicks(self.velocityAverage[1], delta) * physicData.headX.multiplayer * waterMultiplayer, physicData.headX.min - physicData.neutral, physicData.headX.max - physicData.neutral) + end + if physicData.headZ ~= nil then + rot = rot + math.clamp(self.getValueBetweenTicks(self.velocityAverage[3], delta) * physicData.headZ.multiplayer * waterMultiplayer, physicData.headZ.min - physicData.neutral, physicData.headZ.max - physicData.neutral) + end + if physicData.headRot ~= nil then + rot = rot + math.clamp(math.abs(self.getValueBetweenTicks(self.velocityAverage[4], delta)) * -1 * physicData.headRot.multiplayer, physicData.headRot.min - physicData.neutral, physicData.headRot.max - physicData.neutral) + end + if physicData.bodyX ~= nil then + rot = rot + math.clamp(self.getValueBetweenTicks(self.velocityAverage[5], delta) * physicData.bodyX.multiplayer * waterMultiplayer, physicData.bodyX.min - physicData.neutral, physicData.bodyX.max - physicData.neutral) + end + if physicData.bodyY ~= nil then + rot = rot + math.clamp(self.getValueBetweenTicks(self.velocityAverage[2], delta) * physicData.bodyY.multiplayer * waterMultiplayer, physicData.bodyY.min - physicData.neutral, physicData.bodyY.max - physicData.neutral) + end + if physicData.bodyZ ~= nil then + rot = rot + math.clamp(self.getValueBetweenTicks(self.velocityAverage[player:getVehicle() == nil and 6 or 3], delta) * physicData.bodyZ.multiplayer * waterMultiplayer, physicData.bodyZ.min - physicData.neutral, physicData.bodyZ.max - physicData.neutral) + end + if physicData.bodyRot ~= nil then + rot = rot + math.clamp(-math.abs(self.getValueBetweenTicks(self.velocityAverage[7], delta)) * physicData.bodyRot.multiplayer, physicData.bodyRot.min - physicData.neutral, physicData.bodyRot.max - physicData.neutral) + end + rot = math.clamp(rot, physicData.min, physicData.max) + if physicData.headRotMultiplayer ~= nil then + rot = rot + math.deg(math.asin(player:getLookDir().y)) * physicData.headRotMultiplayer + end + if physicData.sneakOffset ~= nil and player:isCrouching() then + rot = rot + physicData.sneakOffset + end + return rot + end; + + ---物理演算を初期化し、有効にする。 + ---@param self Physics + enable = function (self) + self.velocityData = {{}, {}, {}, {}, {}, {}, {}} + self.velocityAverage = {{0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}} + self.directionPrev = {} + + if events.TICK:getRegisteredCount("physics_tick") == 0 then + events.TICK:register(function () + if not client:isPaused() then + local lookDir = player:getLookDir() + local velocityHeadFront, velocityHeadRight, velocityHeadRot = self:decomposeHorizontalVelocity(math.deg(math.atan2(lookDir.z, lookDir.x)), 1) + local velocityAverage = {self.velocityAverage[1][2], self.velocityAverage[2][2], self.velocityAverage[3][2], self.velocityAverage[4][2], self.velocityAverage[5][2], self.velocityAverage[6][2], self.velocityAverage[7][2]} + local velocityY = player:getVelocity().y + velocityAverage[1] = (#self.velocityData[1] * velocityAverage[1] + velocityHeadFront) / (#self.velocityData[1] + 1) + table.insert(self.velocityData[1], velocityHeadFront) + velocityAverage[2] = (#self.velocityData[2] * velocityAverage[2] + velocityY) / (#self.velocityData[2] + 1) + table.insert(self.velocityData[2], velocityY) + velocityAverage[3] = (#self.velocityData[3] * velocityAverage[3] + velocityHeadRight) / (#self.velocityData[3] + 1) + table.insert(self.velocityData[3], velocityHeadRight) + velocityAverage[4] = (#self.velocityData[4] * velocityAverage[4] + velocityHeadRot) / (#self.velocityData[4] + 1) + table.insert(self.velocityData[4], velocityHeadRot) + local velocityBodyFront, velocityBodyRight, velocityBodyRot = self:decomposeHorizontalVelocity((player:getBodyYaw() + models.models.main.Avatar.UpperBody:getTrueRot().y - 90) % 360 - 180, 2) + velocityAverage[5] = (#self.velocityData[5] * velocityAverage[5] + velocityBodyFront) / (#self.velocityData[5] + 1) + table.insert(self.velocityData[5], velocityBodyFront) + velocityAverage[6] = (#self.velocityData[6] * velocityAverage[6] + velocityBodyRight) / (#self.velocityData[6] + 1) + table.insert(self.velocityData[6], velocityBodyRight) + velocityAverage[7] = (#self.velocityData[7] * velocityAverage[7] + velocityBodyRot) / (#self.velocityData[7] + 1) + table.insert(self.velocityData[7], velocityBodyRot) + --古いデータの切り捨て + for index, velocityTable in ipairs(self.velocityData) do + if #velocityTable > 5 then + velocityAverage[index] = (#velocityTable * velocityAverage[index] - velocityTable[1]) / (#velocityTable - 1) + table.remove(velocityTable, 1) + end + table.insert(self.velocityAverage[index], velocityAverage[index]) + table.remove(self.velocityAverage[index], 1) + end + end + end, "physics_tick") + + events.RENDER:register(function (delta) + local playerPose = player:getPose() + local isHorizontal = playerPose == "SWIMMING" or playerPose == "FALL_FLYING" + + for _, physicData in ipairs(self.parent.characterData.physics.physicData) do + for _, modelPart in ipairs(physicData.models) do + if modelPart:getVisible() then + local rot = vectors.vec3() + if physicData.x ~= nil then + if isHorizontal and physicData.x.horizontal then + rot.x = self:getPhysicRot(physicData.x.horizontal, delta) + elseif not isHorizontal and physicData.x.vertical then + rot.x = self:getPhysicRot(physicData.x.vertical, delta) + end + end + if physicData.y ~= nil then + if isHorizontal and physicData.y.horizontal then + rot.y = self:getPhysicRot(physicData.y.horizontal, delta) + elseif not isHorizontal and physicData.y.vertical then + rot.y = self:getPhysicRot(physicData.y.vertical, delta) + end + end + if physicData.z ~= nil then + if isHorizontal and physicData.z.horizontal then + rot.z = self:getPhysicRot(physicData.z.horizontal, delta) + elseif not isHorizontal and physicData.z.vertical then + rot.z = self:getPhysicRot(physicData.z.vertical, delta) + end + end + modelPart:setRot(rot) + if self.parent.characterData.physics.callbacks ~= nil and self.parent.characterData.physics.callbacks.onPhysicPerformed ~= nil then + self.parent.characterData.physics.callbacks.onPhysicPerformed(self.parent.characterData, modelPart) + end + end + end + end + end, "physics_render") + end + end; + + ---物理演算を無効にする。物理演算で管理していたモデルの回転をリセットする。 + ---@param self Physics + disable = function (self) + events.TICK:remove("physics_tick") + events.RENDER:remove("physics_render") + for _, physicData in ipairs(self.parent.characterData.physics.physicData) do + local initialRot = vectors.vec3() + if physicData.x ~= nil and physicData.x.vertical ~= nil then + initialRot.x = physicData.x.vertical.neutral + end + if physicData.y ~= nil and physicData.y.vertical ~= nil then + initialRot.y = physicData.y.vertical.neutral + end + if physicData.z ~= nil and physicData.z.vertical ~= nil then + initialRot.z = physicData.z.vertical.neutral + end + for _, modelPart in ipairs(physicData.models) do + modelPart:setRot(initialRot) + end + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/placement_object/placement_object.lua b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/placement_object/placement_object.lua new file mode 100644 index 0000000..ee9151d --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/placement_object/placement_object.lua @@ -0,0 +1,231 @@ +---@class (exact) PlacementObject : SpawnObject 単一の設置物を管理するクラス +---@field package object ModelPart インスタンスで制御するオブジェクト +---@field public index integer 設置物データのインデックス番号。設置物のデータを参照するときに使用する。 +---@field package boundingBox Vector3 設置物の当たり判定 +---@field package gravity number この設置物に働く重力の大きさ +---@field package hasFireResistance boolean この設置物に炎耐性を付けるかどうか +---@field public removeReason PlacementObjectManager.RemoveReason この設置物のインスタンスが破棄される理由 +---@field package modelOffsetPos Vector3 設置物"モデル"の位置オフセット値 +---@field package offsetPos Vector3 設置物の中心座標のオフセット値 +---@field public currentPos Vector3 設置物の現在位置 +---@field package nextPos Vector3 設置物の次ティックの位置 +---@field package fallingSpeed number 設置物の落下速度 +---@field package isOnGround boolean 設置物が接地しているかどうか +---@field public new fun(parent: Avatar, model: ModelPart, index: integer, data: BlueArchiveCharacter.PlacementObjectStruct, pos: Vector3, rot: number): PlacementObject コンストラクター + +PlacementObject = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@param index integer 設置物データのインデックス番号。設置物のデータを参照するときに使用する。 + ---@param pos Vector3 設置物を設置するワールド座標 + ---@param rot number 設置物のワールド方向 + ---@return PlacementObject + new = function (parent, index, pos, rot) + ---@type PlacementObject + local instance = Avatar.instantiate(PlacementObject, SpawnObject, parent) + + instance.index = index + instance.object = instance.parent.characterData.placementObjects[instance.index].placementMode == "COPY" and instance.parent.characterData.placementObjects[instance.index].model:copy(instance.uuid) or instance.parent.characterData.placementObjects[instance.index].model + instance.boundingBox = instance.parent.characterData.placementObjects[instance.index].boundingBox.size:copy():scale(0.0625) + instance.gravity = instance.parent.characterData.placementObjects[instance.index].gravity ~= nil and instance.parent.characterData.placementObjects[instance.index].gravity or 1 + instance.hasFireResistance = instance.parent.characterData.placementObjects[instance.index].hasFireResistance ~= nil and instance.parent.characterData.placementObjects[instance.index].hasFireResistance or false + instance.removeReason = "REMOVED_BY_SCRIPTS" + instance.modelOffsetPos = vectors.vec3() + instance.offsetPos = vectors.vec3() + instance.currentPos = pos + instance.nextPos = instance.currentPos + instance.fallingSpeed = 0 + instance.isOnGround = false + + instance.callbacks = { + ---@param self PlacementObject + onInit = function (self) + if self.parent.characterData.placementObjects[self.index].placementMode == "COPY" then + models.script_placement_object:addChild(self.object) + end + local objectOffset = vectors.vec3() + if self.parent.characterData.placementObjects[self.index].boundingBox.offsetPos ~= nil then + objectOffset = self.parent.characterData.placementObjects[self.index].boundingBox.offsetPos:copy():scale(-0.0625) + end + if self.gravity >= 0 then + self.modelOffsetPos = objectOffset:copy():add(0, 0.075, 0) + else + self.modelOffsetPos = objectOffset:copy():add(0, -0.075, 0) + end + --self.objectModel:setPos(self.currentPos:copy():add(self.modelOffsetPos):scale(16)) + self.object:setRot(0, rot, 0) + self.object:setVisible(true) + if self.parent.characterData.placementObjects[self.index].callbacks ~= nil and self.parent.characterData.placementObjects[self.index].callbacks.onInit ~= nil then + self.parent.characterData.placementObjects[self.index].callbacks.onInit(self.parent.characterData, self) + end + end; + + ---@param self PlacementObject + onDeinit = function (self) + if self.parent.characterData.placementObjects[self.index].placementMode == "COPY" then + models.script_placement_object:removeChild(self.object) + self.object:remove() + else + self.object:setVisible(false) + end + if self.parent.characterData.placementObjects[self.index].callbacks ~= nil and self.parent.characterData.placementObjects[self.index].callbacks.onDeinit ~= nil then + self.parent.characterData.placementObjects[self.index].callbacks.onDeinit(self.parent.characterData, self) + end + end; + + ---@param self PlacementObject + onTick = function (self) + --設置物の位置を強制更新 + self.currentPos = self.nextPos + self.object:setPos(self.currentPos:copy():add(self.modelOffsetPos):scale(16)) + + --当たり判定同士が重複しているか確認 + local boundingBoxStartPos = vectors.vec3(self.currentPos.x - self.boundingBox.x / 2, self.currentPos.y, self.currentPos.z - self.boundingBox.z / 2) + local boundingBoxEndPos = vectors.vec3(self.currentPos.x + self.boundingBox.x / 2, self.currentPos.y + self.boundingBox.y, self.currentPos.z + self.boundingBox.z / 2) + local boundingBoxCenter = boundingBoxEndPos:copy():sub(boundingBoxStartPos):scale(0.5):add(boundingBoxStartPos) + for z = math.floor(boundingBoxStartPos.z), math.floor(boundingBoxEndPos.z) do + for y = math.floor(boundingBoxStartPos.y), math.floor(boundingBoxEndPos.y) do + for x = math.floor(boundingBoxStartPos.x), math.floor(boundingBoxEndPos.x) do + for _, collisionBox in ipairs( world.getBlockState(x, y, z):getCollisionShape()) do + local collisionStartPos = collisionBox[1]:copy():add(x, y, z) + local collisionEndPos = collisionBox[2]:copy():add(x, y, z) + local collisionBoxCenter = collisionStartPos:copy():add(collisionEndPos:copy():sub(collisionStartPos):scale(0.5)) + if math.abs(collisionBoxCenter.x - boundingBoxCenter.x) < ((collisionEndPos.x - collisionStartPos.x) + (boundingBoxEndPos.x - boundingBoxStartPos.x)) / 2 and math.abs(collisionBoxCenter.y - boundingBoxCenter.y) < ((collisionEndPos.y - collisionStartPos.y) + (boundingBoxEndPos.y - boundingBoxStartPos.y)) / 2 and math.abs(collisionBoxCenter.z - boundingBoxCenter.z) < ((collisionEndPos.z - collisionStartPos.z) + (boundingBoxEndPos.z - boundingBoxStartPos.z)) / 2 then + self.removeReason = "OVERLAPPED" + self.shouldDeinit = true + return + end + end + end + end + end + + --落下速度を更新 + local fluidTags = world.getBlockState(self.currentPos):getFluidTags() + if fluidTags[2] == "c:water" then + if self.gravity >= 0 then + self.fallingSpeed = math.max(self.fallingSpeed - 0.1 * self.gravity, 0.1 * self.gravity) + else + self.fallingSpeed = math.min(self.fallingSpeed - 0.1 * self.gravity, 0.1 * self.gravity) + end + elseif fluidTags[2] == "c:lava" then + if self.gravity >= 0 then + self.fallingSpeed = math.max(self.fallingSpeed - 0.1 * self.gravity, 0.02 * self.gravity) + else + self.fallingSpeed = math.min(self.fallingSpeed - 0.1 * self.gravity, 0.02 * self.gravity) + end + else + if self.gravity >= 0 then + self.fallingSpeed = math.min(self.fallingSpeed + 0.035 * self.gravity, 3.575 * self.gravity) + else + self.fallingSpeed = math.max(self.fallingSpeed + 0.035 * self.gravity, 3.575 * self.gravity) + end + end + self.nextPos = self.currentPos:copy():add(0, self.fallingSpeed * -1, 0) + + --現ティックと次ティックから直方体を算出 + local nextBoxStartPos = vectors.vec3() + local nextBoxEndPos = vectors.vec3() + if self.gravity >= 0 then + nextBoxStartPos = vectors.vec3(self.currentPos.x - self.boundingBox.x / 2, math.min(self.currentPos.y, self.currentPos.y - self.fallingSpeed), self.currentPos.z - self.boundingBox.z / 2) + nextBoxEndPos = vectors.vec3(self.currentPos.x + self.boundingBox.x / 2, math.max(self.currentPos.y, self.currentPos.y - self.fallingSpeed), self.currentPos.z + self.boundingBox.z / 2) + else + nextBoxStartPos = vectors.vec3(self.currentPos.x - self.boundingBox.x / 2, math.min(self.currentPos.y, self.currentPos.y - self.fallingSpeed) + self.boundingBox.y, self.currentPos.z - self.boundingBox.z / 2) + nextBoxEndPos = vectors.vec3(self.currentPos.x + self.boundingBox.x / 2, math.max(self.currentPos.y, self.currentPos.y - self.fallingSpeed) + self.boundingBox.y, self.currentPos.z + self.boundingBox.z / 2) + end + local nextBoxCenter = nextBoxStartPos:copy():add(nextBoxEndPos:copy():sub(nextBoxStartPos):scale(0.5)) + + --直方体と重なるブロック座標を全て算出 + local collisionDetected = false + if self.gravity >= 0 then + local collisionYPos = math.floor(nextBoxStartPos.y) + for y = math.floor(nextBoxEndPos.y), math.floor(nextBoxStartPos.y) - 1, -1 do + for z = math.floor(nextBoxStartPos.z), math.floor(nextBoxEndPos.z) do + for x = math.floor(nextBoxStartPos.x), math.floor(nextBoxEndPos.x) do + for _, collisionBox in ipairs( world.getBlockState(x, y, z):getCollisionShape()) do + local collisionStartPos = collisionBox[1]:copy():add(x, y, z) + local collisionEndPos = collisionBox[2]:copy():add(x, y, z) + local collisionBoxCenter = collisionStartPos:copy():add(collisionEndPos:copy():sub(collisionStartPos):scale(0.5)) + if math.abs(collisionBoxCenter.x - nextBoxCenter.x) < ((collisionEndPos.x - collisionStartPos.x) + (nextBoxEndPos.x - nextBoxStartPos.x)) / 2 and math.abs(collisionBoxCenter.y - nextBoxCenter.y) < ((collisionEndPos.y - collisionStartPos.y) + (nextBoxEndPos.y - nextBoxStartPos.y)) / 2 and math.abs(collisionBoxCenter.z - nextBoxCenter.z) < ((collisionEndPos.z - collisionStartPos.z) + (nextBoxEndPos.z - nextBoxStartPos.z)) / 2 then + if collisionEndPos.y > self.nextPos.y then + self.nextPos.y = collisionEndPos.y + collisionYPos = y + self.fallingSpeed = 0 + collisionDetected = true + end + end + end + end + end + if y == collisionYPos - 1 then + break + end + end + else + local collisionYPos = math.floor(nextBoxEndPos.y) + for y = math.floor(nextBoxStartPos.y), math.floor(nextBoxEndPos.y), 1 do + for z = math.floor(nextBoxStartPos.z), math.floor(nextBoxEndPos.z) do + for x = math.floor(nextBoxStartPos.x), math.floor(nextBoxEndPos.x) do + for _, collisionBox in ipairs( world.getBlockState(x, y, z):getCollisionShape()) do + local collisionStartPos = collisionBox[1]:copy():add(x, y, z) + local collisionEndPos = collisionBox[2]:copy():add(x, y, z) + local collisionBoxCenter = collisionStartPos:copy():add(collisionEndPos:copy():sub(collisionStartPos):scale(0.5)) + if math.abs(collisionBoxCenter.x - nextBoxCenter.x) < ((collisionEndPos.x - collisionStartPos.x) + (nextBoxEndPos.x - nextBoxStartPos.x)) / 2 and math.abs(collisionBoxCenter.y - nextBoxCenter.y) < ((collisionEndPos.y - collisionStartPos.y) + (nextBoxEndPos.y - nextBoxStartPos.y)) / 2 and math.abs(collisionBoxCenter.z - nextBoxCenter.z) < ((collisionEndPos.z - collisionStartPos.z) + (nextBoxEndPos.z - nextBoxStartPos.z)) / 2 then + if collisionStartPos.y < self.nextPos.y + self.boundingBox.y then + self.nextPos.y = collisionStartPos.y - self.boundingBox.y + collisionYPos = y + self.fallingSpeed = 0 + collisionDetected = true + end + end + end + end + end + if y == collisionYPos + 1 then + break + end + end + end + if collisionDetected and not self.isOnGround and self.parent.characterData.placementObjects[self.index].callbacks ~= nil and self.parent.characterData.placementObjects[self.index].callbacks.onGround ~= nil then + self.parent.characterData.placementObjects[self.index].callbacks.onGround(self.parent.characterData, self) + end + self.isOnGround = collisionDetected + local nextBlock = world.getBlockState(self.nextPos) + local isNextBlockFire = false + for _, tag in ipairs(nextBlock:getTags()) do + if tag == "minecraft:fire" then + isNextBlockFire = true + break + end + end + if self.nextPos.y < -128 then + self.removeReason = "TOO_LOW" + self.shouldDeinit = true + elseif self.nextPos.y > 384 then + self.removeReason = "TOO_HIGH" + self.shouldDeinit = true + elseif not self.hasFireResistance and (nextBlock:getFluidTags()[2] == "c:lava" or isNextBlockFire) then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.fire.extinguish"), self.nextPos) + for _ = 0, self.boundingBox.x * self.boundingBox.y * self.boundingBox.z * 8 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:smoke"), vectors.vec3(self.nextPos.x + math.random() * self.boundingBox.x - self.boundingBox.x / 2, self.nextPos.y + math.random() * self.boundingBox.y, self.nextPos.z + math.random() * self.boundingBox.z - self.boundingBox.z / 2)) + end + self.removeReason = "BURNT" + self.shouldDeinit = true + end + if self.parent.characterData.placementObjects[self.index].callbacks ~= nil and self.parent.characterData.placementObjects[self.index].callbacks.onTick ~= nil then + self.parent.characterData.placementObjects[self.index].callbacks.onTick(self.parent.characterData, self) + end + end; + + ---@param self PlacementObject + onRender = function (self, delta, context) + self.object:setPos(self.nextPos:copy():sub(self.currentPos):scale(delta):add(self.currentPos):add(self.modelOffsetPos):scale(16)) + if self.parent.characterData.placementObjects[self.index].callbacks ~= nil and self.parent.characterData.placementObjects[self.index].callbacks.onRender ~= nil then + self.parent.characterData.placementObjects[self.index].callbacks.onRender(self.parent.characterData, self) + end + end + } + + return instance + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/placement_object/placement_object_manager.lua b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/placement_object/placement_object_manager.lua new file mode 100644 index 0000000..eee06b5 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/placement_object/placement_object_manager.lua @@ -0,0 +1,87 @@ +---設置物の設置モードの列挙型 +---@alias PlacementObjectManager.PlacementMode +---| "COPY" # コピーモード。BBアニメーションは使えないが、複数の設置物を設置可能。 +---| "MOVE" # 移動モード。同時に1つしか設置物を設置できないが、BBアニメーションが使える。 + +---設置物が削除された理由の列挙型 +---@alias PlacementObjectManager.RemoveReason +---| "REMOVED_BY_SCRIPTS" # スクリプトによって削除 +---| "OVERLAPPED" # 設置物がブロックと重なって削除 +---| "BURNT" # 炎に焼かれて削除 +---| "TOO_LOW" # 設置物のY座標が低過ぎて削除 +---| "TOO_HIGH" # 設置物のY座標が高過ぎて削除 + +---@class (exact) PlacementObjectManager : SpawnObjectManager 設置物を管理するマネージャークラス +---@field public objects PlacementObject[] インスタンスで制御するオブジェクト +---@field public getObject fun(self: PlacementObjectManager, index: integer, pos: Vector3, rot: number): PlacementObject 設置物のインスタンスを生成して返す +---@field public spawn fun(self: PlacementObjectManager, index: integer, pos: Vector3, rot: number) 設置物を設置する +---@field public applyFunc fun(self: PlacementObjectManager, index: integer, func: fun(object: PlacementObject, i: integer)) 設置済み設置物の指定した設置物データのインデックス番号のみに関数を適用する + +PlacementObjectManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return PlacementObjectManager + new = function (parent) + ---@type PlacementObjectManager + local instance = Avatar.instantiate(PlacementObjectManager, SpawnObjectManager, parent) + + instance.managerName = "placement_object" + + return instance + end; + + ---初期化関数 + ---@param self PlacementObjectManager + init = function (self) + SpawnObjectManager.init(self) + + ---@diagnostic disable-next-line: discard-returns + models:newPart("script_placement_object", "World") + for _, data in ipairs(self.parent.characterData.placementObjects) do + if data.placementMode == "MOVE" then + data.model = data.model:moveTo(models.script_placement_object) + data.model:setVisible(false) + end + end + end; + + + ---設置物のインスタンスを生成して返す。 + ---@param self PlacementObjectManager + ---@param index integer 設置物データのインデックス番号 + ---@param pos Vector3 設置物を設置するワールド座標 + ---@param rot number 設置物を設置するワールド方向(Y軸のみ) + ---@return PlacementObject instance 生成したインスタンス + getObject = function (self, index, pos, rot) + if self.parent.characterData.placementObjects[index].placementMode == "MOVE" then + for i, placementObject in ipairs(self.objects) do + if placementObject.index == index then + self:remove(i) + break + end + end + end + return PlacementObject.new(self.parent, index, pos, rot) + end; + + ---設置物を設置する。 + ---@param self PlacementObjectManager + ---@param index integer 設置物データのインデックス番号 + ---@param pos Vector3 設置物を設置するワールド座標 + ---@param rot number 設置物を設置するワールド方向(Y軸のみ) + spawn = function (self, index, pos, rot) + SpawnObjectManager.spawn(self, index, pos, rot) + end; + + ---設置済み設置物の、指定した設置物データのインデックス番号のみに関数を適用する。 + ---@param self PlacementObjectManager + ---@param index integer 関数実行対象の設置物データのインデックス番号 + ---@param func fun(object: PlacementObject, i: integer) 実行する関数 + applyFunc = function (self, index, func) + for i, obj in ipairs(self.objects) do + if obj.index == index then + func(obj, i) + end + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/portrait.lua b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/portrait.lua new file mode 100644 index 0000000..3d887aa --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/portrait.lua @@ -0,0 +1,32 @@ +---@class (exact) Portrait : HeadModelGenerator ポートレートのモデルを管理するクラス + +Portrait = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Portrait + new = function (parent) + ---@type Portrait + local instance = Avatar.instantiate(Portrait, HeadModelGenerator, parent) + + instance.processData = instance.parent.characterData.portrait + instance.parentName = "portrait" + instance.parentType = "Portrait" + + return instance + end; + + ---初期化関数 + ---@param self Portrait + init = function (self) + HeadModelGenerator.init(self) + end; + + ---頭モデルのコピーを生成する。 + ---@param self HeadBlock + generateHeadModel = function (self) + HeadModelGenerator.generateHeadModel(self) + if models.script_portrait.Head ~= nil then + models.script_portrait.Head.HeadRing:remove() + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/skirt.lua b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/skirt.lua new file mode 100644 index 0000000..48e97f8 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/skirt.lua @@ -0,0 +1,30 @@ +---@class Skirt : AvatarModule スカートを制御するクラス + +Skirt = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Skirt + new = function (parent) + ---@type Skirt + local instance = Avatar.instantiate(Skirt, AvatarModule, parent) + + return instance + end; + + ---初期化関数 + ---@param self AvatarModule + init = function (self) + AvatarModule.init(self) + + if self.parent.characterData.skirt.skirtModels ~= nil and #self.parent.characterData.skirt.skirtModels > 0 then + events.TICK:register(function () + local isCrouching = player:isCrouching() + for _, skirtModel in ipairs(self.parent.characterData.skirt.skirtModels) do + if skirtModel:getVisible() then + skirtModel:setRot(isCrouching and 30 or 0, 0, 0) + end + end + end) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/utils/compatibility_utils.lua b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/utils/compatibility_utils.lua new file mode 100644 index 0000000..237a6a6 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/utils/compatibility_utils.lua @@ -0,0 +1,169 @@ +---レジストリの種類を示す列挙型 +---@alias CompatibilityUtils.RegistryType +---| "BLOCK" # ブロック名 +---| "ITEM" # アイテム名 +---| "PARTICLE" # パーティクル名 +---| "SOUND" # サウンド名 + +---@class (exact) CompatibilityUtils : AvatarModule Minecraftのゲームバージョンが異なっていてもある程度互換性を確保するためのユーティリティクラス +---@field package registries {block: Minecraft.blockID[], item: Minecraft.itemID[], particle: Minecraft.particleID[], sound: Minecraft.soundID[]} ゲームから取得した全アイテム名を保持するテーブル +---@field package checkedTable {block: {[Minecraft.blockID]: boolean}, item: {[Minecraft.itemID]: boolean}, particle: {[Minecraft.particleID]: boolean}, sound: {[Minecraft.soundID]: boolean}} レジストリへの確認が済んでいるIDを保持するテーブル +---@field package find fun(self: CompatibilityUtils, registryType: CompatibilityUtils.RegistryType, target: string): boolean 指定されたターゲットがレジストリに登録されているかどうかを返す。 +---@field public checkBlock fun(self: CompatibilityUtils, block: Minecraft.blockID): Minecraft.blockID 指定されたブロックIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:dirt"を返す。 +---@field public checkItem fun(self: CompatibilityUtils, item: Minecraft.itemID): Minecraft.itemID 指定されたアイテムIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:barrier"を返す。 +---@field public checkParticle fun(self: CompatibilityUtils, particle: Minecraft.particleID): Minecraft.particleID 指定されたパーティクルIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:poof"を返す。 +---@field public checkSound fun(self: CompatibilityUtils, sound: Minecraft.soundID): Minecraft.soundID 指定されたサウンドIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:empty"を返す。 +---@field public getBlockParticleId fun(block: Minecraft.blockID): string ブロックの破片のパーティクルを示す文字列を返す。Minecraftのバージョン違いを吸収するための関数。 +---@field public getDustParticleId fun(color: Vector3, size: number): string dustパーティクルを示す文字列を返す。Minecraftのバージョン違いを吸収するための関数。 +---@field public setPostEffect fun(effect?: Minecraft.shaderName) renderer:setPostEffect()のラッパー関数。1.20.5でレンダーエフェクトが削除されたことによる対応。 + +CompatibilityUtils = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return CompatibilityUtils + new = function (parent) + ---@type CompatibilityUtils + local instance = Avatar.instantiate(CompatibilityUtils, AvatarModule, parent) + + instance.registries = {} + instance.checkedTable = { + block = {}; + item = {}; + particle = {}; + sound = {}; + } + + return instance + end; + + ---初期化関数 + ---@param self CompatibilityUtils + init = function (self) + AvatarModule.init(self) + + self.registries.block = client.getRegistry("minecraft:block") + self.registries.item = client.getRegistry("minecraft:item") + self.registries.particle = client.getRegistry("minecraft:particle_type") + self.registries.sound = client.getRegistry("minecraft:sound_event") + for name, _ in pairs(self.registries) do + table.sort(self.registries[name]) + end + self.checkedTable.block["minecraft:dirt"] = true + self.checkedTable.item["minecraft:barrier"] = true + self.checkedTable.particle["minecraft:poof"] = true + self.checkedTable.sound["minecraft:empty"] = true + if host:isHost() and client:getVersion() < "1.20.1" then + print(self.parent.locale:getLocale("avatar.old_version_warning")) + end + end; + + ---指定されたターゲットがレジストリに登録されているかどうかを返す。 + ---@param self CompatibilityUtils + ---@param registryType CompatibilityUtils.RegistryType 検索をかける対象のレジストリ + ---@param target string 検索対象名。"minecraft:"を抜かないこと。 + ---@return boolean idFound 指定されたターゲットがレジストリで見つかったかどうか + find = function (self, registryType, target) + ---リスト内の中央の要素(偶数の場合は中央から1つ左の要素)と指定されたターゲットのUnicode順を比較する。 + ---@param from integer リストの検索開始のインデックス番号 + ---@param to integer リストの検索終了のインスタンス番号(指定したインデックス番号の要素も検索に含む) + ---@return integer compareResult 比較結果。0は同じ文字列、1はターゲットの方が大きい、-1はターゲットの方が小さいことを表す。 + local function compareToCenterElement(from, to) + local centerIndex = math.floor((to - from) / 2) + from + if self.registries[registryType:lower()][centerIndex] < target then + return 1 + elseif self.registries[registryType:lower()][centerIndex] > target then + return -1 + else + return 0 + end + end + + local startIndex = 1 + local endIndex = #self.registries[registryType:lower()] + while startIndex < endIndex do + local compareResult = compareToCenterElement(startIndex, endIndex) + if compareResult == 1 then + startIndex = math.floor((endIndex - startIndex) / 2) + startIndex + 1 + elseif compareResult == -1 then + endIndex = math.floor((endIndex - startIndex) / 2) + startIndex + else + break + end + end + if startIndex == endIndex then + return compareToCenterElement(startIndex, endIndex) == 0 + else + return true + end + end; + + ---指定されたブロックIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:dirt"を返す。 + ---@param self CompatibilityUtils + ---@param block Minecraft.blockID 確認対象のブロックID + ---@param blockState string? ブロックステートを示す文字列 + ---@return Minecraft.blockID blockID レジストリに登録してある場合は確認対象のブロックIDをそのまま返し、未登録の場合は"minecraft:dirt"が返す。 + checkBlock = function (self, block, blockState) + if self.checkedTable.block[block] == nil then + self.checkedTable.block[block] = self:find("BLOCK", block) + end + local state = blockState ~= nil and blockState or "" + return self.checkedTable.block[block] and block..state or "minecraft:dirt" + end; + + ---指定されたアイテムIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:barrier"を返す。 + ---@param self CompatibilityUtils + ---@param item Minecraft.itemID 確認対象のアイテムID + ---@return Minecraft.itemID blockID レジストリに登録してある場合は確認対象のアイテムIDをそのまま返し、未登録の場合は"minecraft:barrier"が返す。 + checkItem = function (self, item) + if self.checkedTable.item[item] == nil then + self.checkedTable.item[item] = self:find("ITEM", item) + end + return self.checkedTable.item[item] and item or "minecraft:barrier" + end; + + ---指定されたパーティクルIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:poof"を返す。 + ---@param self CompatibilityUtils + ---@param particle Minecraft.particleID 確認対象のパーティクルID + ---@return Minecraft.particleID particleID レジストリに登録してある場合は確認対象のパーティクルIDをそのまま返し、未登録の場合は"minecraft:poof"が返す。 + checkParticle = function (self, particle) + if self.checkedTable.particle[particle] == nil then + self.checkedTable.particle[particle] = self:find("PARTICLE", particle) + end + return self.checkedTable.particle[particle] and particle or "minecraft:poof" + end; + + ---指定されたサウンドIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:empty"を返す。 + ---@param self CompatibilityUtils + ---@param sound Minecraft.soundID 確認対象のサウンドID + ---@return Minecraft.soundID particleID レジストリに登録してある場合は確認対象のサウンドIDをそのまま返し、未登録の場合は"minecraft:empty"が返す。 + checkSound = function (self, sound) + if self.checkedTable.sound[sound] == nil then + self.checkedTable.sound[sound] = self:find("SOUND", sound) + end + return self.checkedTable.sound[sound] and sound or "minecraft:empty" + end; + + ---ブロックの破片のパーティクルを示す文字列を返す。Minecraftのバージョン違いを吸収するための関数。 + ---@param block Minecraft.blockID ブロックの破片パーティクルとして表示するブロックのID。レジストリへの確認は行わない。 + ---@return string particleData ブロックの破片のパーティクルを示す文字列 + getBlockParticleId = function (block) + return client:getVersion() >= "1.20.5" and "minecraft:block{block_state:\""..block.."\"}" or "minecraft:block "..block + end; + + ---dustパーティクルを示す文字列を返す。Minecraftのバージョン違いを吸収するための関数。 + ---@param color Vector3 dustの色 + ---@param size number dustの大きさ + ---@return string particleData dustの破片のパーティクルを示す文字列 + getDustParticleId = function (color, size) + return client:getVersion() >= "1.20.5" and "minecraft:dust{color:["..color.x..","..color.y..","..color.z.."],scale:"..math.clamp(size, 0.01, 4).."}" or "minecraft:dust "..color.x.." "..color.y.." "..color.z.." "..size + end; + + ---renderer:setPostEffect()のラッパー関数 + ---1.20.5でレンダーエフェクトが削除されたことによる対応 + ---@param effect? Minecraft.shaderName 適用するエフェクト + setPostEffect = function (effect) + if client:getVersion() < "1.20.5" then + renderer:setPostEffect(effect) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/utils/model_utils.lua b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/utils/model_utils.lua new file mode 100644 index 0000000..4208e9f --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/utils/model_utils.lua @@ -0,0 +1,59 @@ +---@class (exact) ModelUtils : AvatarModule モデルに関するユーティリティ関数群 +---@field public getModelWorldPos fun(model: ModelPart): Vector3 指定したモデルのワールド位置を返す。 +---@field public copyModel fun(self: ModelUtils, modelPart: ModelPart, name?: string, forceCopy?: boolean): ModelPart|nil モデルパーツをディープコピーする。 +---@field public copyModel fun(self: ModelUtils, modelPart: ModelPart, name?: string, forceCopy?: true): ModelPart モデルパーツをディープコピーする。 +---@field public moveTo fun(target: ModelPart, destination: ModelPart, originalParent: ModelPart) モデルパーツを別の親に移動させる。組み込みmoveTo()で何故かモデルパーツが残ってしまう問題に対処済み。 + +ModelUtils = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ModelUtils + new = function (parent) + ---@type ModelUtils + local instance = Avatar.instantiate(ModelUtils, AvatarModule, parent) + + return instance + end; + + ---指定したモデルのワールド位置を返す。 + ---@param model ModelPart ワールド位置を取得するモデルパーツ + ---@return Vector3 worldPos モデルのワールド位置 + getModelWorldPos = function(model) + local modelMatrix = model:partToWorldMatrix() + return vectors.vec3(modelMatrix[4][1], modelMatrix[4][2], modelMatrix[4][3]) + end; + + ---モデルパーツをディープコピーする。 + ---非表示のモデルパーツはコピーしない。 + ---@param modelPart ModelPart コピーするモデルパーツ + ---@param name? string コピーしたモデルパーツの名前。省略した際はコピー元と同じ名前になる。 + ---@param forceCopy? boolean 非表示のモデルも強制的にコピーするかどうか + ---@return ModelPart|nil copiedModelPart コピーされたモデルパーツ。入力されたモデルパーツが非表示の場合はnilが返る。 + copyModel = function (self, modelPart, name, forceCopy) + if modelPart:getVisible() or forceCopy then + local copy = modelPart:copy(name ~= nil and name or modelPart:getName()) + copy:setParentType("None") + for _, child in ipairs(copy:getChildren()) do + copy:removeChild(child) + local childModel = self:copyModel(child) + if childModel ~= nil then + copy:addChild(childModel) + end + end + return copy + end + end; + + ---モデルパーツを別の親に移動させる。 + ---組み込みmoveTo()で何故かモデルパーツが残ってしまう問題に対処済み。 + ---@param target ModelPart 移動させる対象のモデルパーツ + ---@param destination ModelPart 移動先の親 + ---@param originalParent ModelPart 移動元の親 + moveTo = function (target, destination, originalParent) + target:moveTo(destination) + local modelName = target:getName() + if originalParent[modelName] ~= nil then + originalParent:removeChild(target) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/utils/player_utils.lua b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/utils/player_utils.lua new file mode 100644 index 0000000..274c213 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/utils/player_utils.lua @@ -0,0 +1,35 @@ +---@alias PlayerUtils.DamageStatus +---| "NONE" # ダメージなし +---| "DAMAGE" # ダメージを受けた +---| "DIED" # 死亡した + +---@class (exact) PlayerUtils : AvatarModule プレイヤーに関するユーティリティ関数群 +---@field public damageStatus PlayerUtils.DamageStatus 現在のティックのダメージステータス +---@field package healthPrev integer 前ティックのHP量 + +PlayerUtils = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return PlayerUtils + new = function (parent) + ---@type PlayerUtils + local instance = Avatar.instantiate(PlayerUtils, AvatarModule, parent) + + instance.damageStatus = "NONE" + instance.healthPrev = player:getHealth() + + return instance + end; + + ---初期化関数 + ---@param self PlayerUtils + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + local health = player:getHealth() + self.damageStatus = self.healthPrev > health and (health == 0 and "DIED" or "DAMAGE") or "NONE" + self.healthPrev = health + end) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/utils/spawn_object.lua b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/utils/spawn_object.lua new file mode 100644 index 0000000..cf08811 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/utils/spawn_object.lua @@ -0,0 +1,26 @@ +---@class (exact) SpawnObject : AvatarModule オブジェクト(設置物、独自定義パーティクル、bbモデルetc.)クラス +---@field public object any インスタンスで制御するオブジェクト。ModelPartやRenderTaskを想定している。 +---@field public uuid string このインスタンスのUUID。オブジェクトの名前付けなどにどうぞ。 +---@field public shouldDeinit boolean このオブジェクトを破棄するかどうか。trueにするとオブジェクトが破棄され、その際に、onDeinit()コールバック関数が呼ばれる。 +---@field public callbacks? SpawnObject.CallbackSet スポーンオブジェクトのコールバック関数 + +---@class (exact) SpawnObject.CallbackSet スポーンオブジェクトのコールバック関数のセット +---@field public onInit? fun(self: SpawnObject) オブジェクトの初期化直後に呼ばれる関数 +---@field public onDeinit? fun(self: SpawnObject) オブジェクトの破棄直前に呼ばれる関数 +---@field public onTick? fun(self: SpawnObject) 各ティック毎に呼ばれる関数 +---@field public onRender? fun(self: SpawnObject, delta: number, context: Event.Render.context) 各レンダーティック毎に呼ばれる関数 + +SpawnObject = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return SpawnObject + new = function (parent) + ---@type SpawnObject + local instance = Avatar.instantiate(SpawnObject, AvatarModule, parent) + + instance.uuid = client.intUUIDToString(client.generateUUID()) + instance.shouldDeinit = false + + return instance + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/utils/spawn_object_manager.lua b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/utils/spawn_object_manager.lua new file mode 100644 index 0000000..3026820 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/utils/spawn_object_manager.lua @@ -0,0 +1,102 @@ +---@class (exact) SpawnObjectManager : AvatarModule オブジェクト(設置物、独自定義パーティクル、bbモデルetc.)をスポーンさせ、管理するマネージャークラス +---@field public managerName string このマネージャーの名前 +---@field public objects SpawnObject[] スポーンさせたオブジェクトを保持するテーブル +---@field public getObject fun(self: SpawnObjectManager): SpawnObject スポーンオブジェクトのインスタンスを生成して返す +---@field public spawn fun(self: SpawnObjectManager, ...: any) オブジェクトをスポーンさせる +---@field public remove fun(self: SpawnObjectManager, index: integer) オブジェクトを1つ削除する +---@field public removeAll fun(self: SpawnObjectManager) オブジェクトをすべて削除する + +SpawnObjectManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return SpawnObjectManager + new = function (parent) + ---@type SpawnObjectManager + local instance = Avatar.instantiate(SpawnObjectManager, AvatarModule, parent) + + instance.managerName = "spawn_object" + instance.objects = {} + + return instance + end; + + ---スポーンオブジェクトのインスタンスを生成して返す。 + ---@param self SpawnObjectManager + ---@return SpawnObject instance 生成したスポーンオブジェクト + getObject = function (self) + return SpawnObject.new(self.parent) + end; + + ---オブジェクトをスポーンさせる。 + ---@param self SpawnObjectManager + ---@param ... any インスタンス生成時の引数 + spawn = function (self, ...) + ---@diagnostic disable-next-line: redundant-parameter + local instance = self:getObject(...) + table.insert(self.objects, instance) + if instance.callbacks ~= nil and instance.callbacks.onInit ~= nil then + instance.callbacks.onInit(instance) + end + + if #self.objects == 1 then + events.TICK:register(function () + if not client:isPaused() then + for index, ins in ipairs(self.objects) do + if ins.callbacks ~= nil and ins.callbacks.onTick ~= nil then + ins.callbacks.onTick(ins) + end + if ins.shouldDeinit then + if ins.callbacks ~= nil and ins.callbacks.onDeinit ~= nil then + ins.callbacks.onDeinit(ins) + end + table.remove(self.objects, index) + if #self.objects == 0 then + events.TICK:remove(self.managerName.."_tick") + events.RENDER:remove(self.managerName.."_render") + end + end + end + end + end, self.managerName.."_tick") + + events.RENDER:register(function (delta, ctx) + if not client:isPaused() then + for _, ins in ipairs(self.objects) do + if ins.callbacks ~= nil and ins.callbacks.onRender ~= nil then + ins.callbacks.onRender(ins, delta, ctx) + end + end + end + end, self.managerName.."_render") + end + end; + + ---オブジェクトを1つ削除する。 + ---@param self SpawnObjectManager + ---@param index integer 削除するオブジェクトのインデックス番号 + remove = function (self, index) + if self.objects[index] ~= nil then + if self.objects[index].callbacks ~= nil and self.objects[index].callbacks.onDeinit ~= nil then + self.objects[index].callbacks.onDeinit(self.objects[index]) + end + table.remove(self.objects, index) + if #self.objects == 0 then + events.TICK:remove(self.managerName.."_tick") + events.RENDER:remove(self.managerName.."_render") + end + end + end; + + ---オブジェクトをすべて削除する。 + ---@param self SpawnObjectManager + removeAll = function (self) + while #self.objects > 0 do + if self.objects[1].callbacks ~= nil and self.objects[1].callbacks.onDeinit ~= nil then + self.objects[1].callbacks.onDeinit(self.objects[1]) + end + table.remove(self.objects, 1) + end + events.TICK:remove(self.managerName.."_tick") + events.RENDER:remove(self.managerName.."_render") + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/vanilla_model.lua b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/vanilla_model.lua new file mode 100644 index 0000000..2220732 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/scripts/avatar_modules/vanilla_model.lua @@ -0,0 +1,23 @@ +---@class (exact) VanillaModel : AvatarModule バニラーのモデルの管理クラス + +VanillaModel = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return VanillaModel + new = function (parent) + ---@type VanillaModel + local instance = Avatar.instantiate(VanillaModel, AvatarModule, parent) + + return instance + end; + + ---初期化関数 + ---@param self AvatarModule + init = function (self) + AvatarModule.init(self) + + for _, vanillaModel in ipairs({vanilla_model.PLAYER, vanilla_model.CHESTPLATE_RIGHT_ARM, vanilla_model.CHESTPLATE_LEFT_ARM, vanilla_model.LEGGINGS_RIGHT_LEG, vanilla_model.LEGGINGS_LEFT_LEG, vanilla_model.BOOTS}) do + vanillaModel:setVisible(false) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Hoshino/scripts/blue_archive_character.lua b/config/yosbr/config/figura/avatars/Hoshino/scripts/blue_archive_character.lua new file mode 100644 index 0000000..5c63246 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/scripts/blue_archive_character.lua @@ -0,0 +1,1766 @@ +---@alias BlueArchiveCharacter.RightEyeTextures +---| "NORMAL" # 通常 +---| "SURPRISED" # 驚いた目(ダメージを受けたときなど) +---| "TIRED" # 疲れた目(死亡アニメーションなど) +---| "CLOSED" # 閉じた目(瞬き、睡眠中など) +---| "ANGRY" # 怒った目 +---| "CLOSED2" # 閉じた目2 +---| "INVERTED" # 反対側を見る目 +---| "ANGRY_INVERTED" # 怒りつつ反対側を見る目 +---| "NARROW" # 半閉じ目 + +---@alias BlueArchiveCharacter.LeftEyeTextures +---| "NORMAL" # 通常 +---| "SURPRISED" # 驚いた目(ダメージを受けたときなど) +---| "TIRED" # 疲れた目(死亡アニメーションなど) +---| "CLOSED" # 閉じた目(瞬き、睡眠中など) +---| "INVERTED" # 反対側を見る目 +---| "ANGRY" # 怒った目 +---| "ANGRY_CENTER" # 怒りつつ少し反対側を見る目 +---| "ANGRY_INVERTED" # 怒りつつ反対側を見る目 +---| "CLOSED2" # 閉じた目2 +---| "NARROW" # 半閉じ目 + +---@alias BlueArchiveCharacter.MouthTextures +---| "NORMAL" # 通常 +---| "OPENED" # 開いた口 +---| "CLOSED" # 閉じた口 +---| "W" # ω +---| "YAWN" あくび +---| "OUT_OF_BREATH" # 息切れ口 +---| "TEETH" 食いしばる口 +---| "SAD" # への口 + +---@alias BlueArchiveCharacter.GunHoldType +---| "NORMAL" # バニラの弓やクロスボウの構え方と同じ +---| "CUSTOM" # BBアニメーション"[models.main][gun_hold_right]"と"[models.main][gun_hold_left]"で構え方を定義する + +---@alias BlueArchiveCharacter.GunPutType +---| "BODY" # アバターのBodyに銃を移動させる +---| "HIDDEN" # 銃を隠す + +---@alias BlueArchiveCharacter.FormationType +---| "STRIKER" # ストライカー(前衛) +---| "SPECIAL" # スペシャル(後方支援) + +---@alias BlueArchiveCharacter.Costumes +---| "DEFAULT" # デフォルト衣装 +---| "MASKED" # 覆面水着団 +---| "SWIMSUIT" # 水着 +---| "BATTLE" # 臨戦 + +--[[ ******************************** ]] + +---@class BlueArchiveCharacter : AvatarModule キャラクター変数を保持するクラス。別のキャラクターに対してもここを変更するだけで対応できるようにする。 +---@field public basic BlueArchiveCharacter.BasicStruct 生徒の基本情報 +---@field public faceParts BlueArchiveCharacter.FacePartsStruct 目や口による表情 +---@field public arms BlueArchiveCharacter.ArmsStruct 腕 +---@field public skirt BlueArchiveCharacter.SkirtStruct スカート +---@field public gun BlueArchiveCharacter.GunStruct 銃 +---@field public placementObjects BlueArchiveCharacter.PlacementObjectStruct[] 設置物 +---@field public exSkill BlueArchiveCharacter.ExSkillStruct[] Exスキル +---@field public costume BlueArchiveCharacter.CostumeStruct コスチューム +---@field public bubble BlueArchiveCharacter.BubbleStruct 吹き出しエモート +---@field public headBlock BlueArchiveCharacter.HeadBlockStruct 頭ブロック +---@field public portrait BlueArchiveCharacter.HeadBlockStruct ポートレート +---@field public deathAnimation BlueArchiveCharacter.DeathAnimationStruct 死亡アニメーション +---@field public actionWheel BlueArchiveCharacter.ActionWheelStruct アクションホイール +---@field public physics BlueArchiveCharacter.PhysicsStruct 物理演算 +---@field public dataSync BlueArchiveCharacter.DataSyncStruct データ同期 + +--[[ ******************************** ]] + +---@class BlueArchiveCharacter.BasicStruct 生徒の基本情報のデータ構造体 +---@field public firstName BlueArchiveCharacter.LocaleStringSet 生徒の名前 +---@field public lastName BlueArchiveCharacter.LocaleStringSet 生徒の苗字 +---@field public clubName BlueArchiveCharacter.LocaleStringSet 生徒が所属している部活名 +---@field public birth BlueArchiveCharacter.MonthDaySet 生徒の誕生日 + +---@class BlueArchiveCharacter.FacePartsStruct 目や口による表情のデータ構造体。UVマッピング情報は、デフォルトパーツから見て左からx番目、上からy番目とする。 +---@field public rightEye {[BlueArchiveCharacter.RightEyeTextures]: Vector2} 右目のテクスチャのUVマッピング情報 +---@field public leftEye {[BlueArchiveCharacter.LeftEyeTextures]: Vector2} 左目のテクスチャのUVマッピング情報 +---@field public mouth {[BlueArchiveCharacter.MouthTextures]: Vector2} 口のテクスチャのUVマッピング情報 +---@field public emotionSet? BlueArchiveCharacter.OverrideEmotionSet 特定の状況における表情を上書きする + +---@class BlueArchiveCharacter.ArmsStruct 腕のデータ構造体 +---@field public callbacks? BlueArchiveCharacter.ArmsCallbacksSet 腕の制御のコールバック関数群 + +---@class BlueArchiveCharacter.SkirtStruct スカートのデータ構造体 +---@field public skirtModels? ModelPart[] スカートとして制御するモデル + +---@class BlueArchiveCharacter.GunStruct 銃のデータ構造体 +---@field public scale number 銃モデルの大きさの倍率 +---@field public gunPosition BlueArchiveCharacter.GunPositionSet 銃モデルの位置や向き +---@field public sound BlueArchiveCharacter.GunSoundSet 銃の射撃音 +---@field public callbacks? BlueArchiveCharacter.GunCallbacksSet 銃のコールバック関数 + +---@class BlueArchiveCharacter.PlacementObjectStruct 設置物のデータ構造体 +---@field public model ModelPart 設置物として扱うモデル +---@field public boundingBox BlueArchiveCharacter.PlacementObjectBoundingBoxSet 設置物の当たり判定 +---@field public placementMode PlacementObjectManager.PlacementMode 設置物の設置モード +---@field public gravity? number 設置物にかかる重力。1が標準的な自由落下。0で空中静止。負の数で反重力(上に向かって落ちる)。 +---@field public hasFireResistance? boolean 設置物に火炎耐性を付与するかどうか。trueにすると炎やマグマで焼かれなくなる。 +---@field public callbacks? BlueArchiveCharacter.PlacementObjectCallbacksSet 設置物のコールバック関数 + +---@class BlueArchiveCharacter.ExSkillStruct Exスキルのデータ構造体 +---@field public name BlueArchiveCharacter.LocaleStringSet Exスキルの名前 +---@field public formationType BlueArchiveCharacter.FormationType この生徒の戦闘配置タイプ +---@field public models ModelPart[] Exスキルアニメーション開始時に表示し、Exスキルアニメーション終了時に非表示にするモデルパーツ +---@field public animations string[] Exスキルアニメーションが含まれるモデルファイル名。アニメーション名は"ex_skill_"にすること。 +---@field public camera BlueArchiveCharacter.ExSkillCameraSet Exスキルアニメーション中のカメラワーク +---@field public callbacks? BlueArchiveCharacter.ExSkillCallbacks Exスキルのコールバック関数 + +---@class BlueArchiveCharacter.CostumeStruct コスチュームのデータ構造体 +---@field public costumes BlueArchiveCharacter.CostumeDataSet[] コスチュームデータ +---@field public callbacks? BlueArchiveCharacter.CostumeCallbacks コスチュームのコールバック関数 + +---@class BlueArchiveCharacter.BubbleStruct 吹き出しエモートのデータ構造体 +---@field public callbacks? BlueArchiveCharacter.BubbleCallbacks 吹き出しエモートのコールバック関数 + +---@class BlueArchiveCharacter.HeadBlockStruct 頭ブロック、ポートレートのデータ構造体 +---@field public includeModels ModelPart[] 頭モデルに追加でアタッチするモデル +---@field public callbacks? BlueArchiveCharacter.HeadBlockCallbacks 頭ブロック、ポートレートのコールバック関数 + +---@class BlueArchiveCharacter.DeathAnimationStruct 死亡アニメーションのデータ構造体 +---@field public callbacks? BlueArchiveCharacter.DeathAnimationCallbacks 死亡アニメーションのコールバック関数 + +---@class BlueArchiveCharacter.ActionWheelStruct アクションホイールのデータ構造体 +---@field public isVehicleOptionEnabled boolean 乗り物のモデル置き換えオプションを有効にするかどうか + +---@class BlueArchiveCharacter.PhysicsStruct 物理演算のデータ構造体 +---@field physicData BlueArchiveCharacter.PhysicDataSet[] 物理演算データ +---@field callbacks? BlueArchiveCharacter.PhysicCallbacks 物理演算のコールバック関数 + +---@class BlueArchiveCharacter.DataSyncStruct データ同期のデータ構造体 +---@field public syncData {[string]: any} 追加でping同期させるデータテーブル +---@field public callbacks? BlueArchiveCharacter.DataSyncCallbacks データ同期のコールバック関数 + +--[[ ******************************** ]] + +---@class (exact) BlueArchiveCharacter.OverrideEmotionSet 特定の状況における表情を上書きするセット +---@field public onDamage? BlueArchiveCharacter.EmotionSet ダメージを受けたとき +---@field public onDied? BlueArchiveCharacter.EmotionSet 死んだとき(死亡アニメーションは除外) +---@field public onSleep? BlueArchiveCharacter.EmotionSet ベッドで寝ているとき + +---@class (exact) BlueArchiveCharacter.EmotionSet 表情のデータセット +---@field public rightEye BlueArchiveCharacter.RightEyeTextures 右目の表情名 +---@field public leftEye BlueArchiveCharacter.LeftEyeTextures 左目の表情名 +---@field public mouth BlueArchiveCharacter.MouthTextures 口の表情名 + +---@class (exact) BlueArchiveCharacter.ArmsCallbacksSet 腕処理のコールバック関数のセット +---@field public onArmStateChanged? fun(self: BlueArchiveCharacter, right: integer, left: integer): {right?: integer, left?: integer}|nil 腕の状態が変更された際のコールバック関数 +---@field public onAdditionalRightArmProcess? fun(self: BlueArchiveCharacter, state: integer) 右腕の追加処理 +---@field public onAdditionalLeftArmProcess? fun(self: BlueArchiveCharacter, state: integer) 左腕の追加処理 + +---@class (exact) BlueArchiveCharacter.GunPositionSet 銃のモデルの位置や向きのデータセット +---@field public hold BlueArchiveCharacter.GunHoldPositionSet 銃を構えているとき +---@field public put BlueArchiveCharacter.GunPutPositionSet 銃をしまっているとき + +---@class (exact) BlueArchiveCharacter.GunHoldPositionSet 構えているときの銃のモデルの位置や向きのデータセット +---@field public type BlueArchiveCharacter.GunHoldType 銃の構え方の種類 +---@field public firstPersonPos? BlueArchiveCharacter.Vector3RightLeftSet 一人称視点での銃の位置 +---@field public firstPersonRot? BlueArchiveCharacter.Vector3RightLeftSet 一人称視点での銃の方向 +---@field public thirdPersonPos? BlueArchiveCharacter.Vector3RightLeftSet 三人称視点での銃の位置 +---@field public thirdPersonRot? BlueArchiveCharacter.Vector3RightLeftSet 三人称視点での銃の方向 + +---@class (exact) BlueArchiveCharacter.GunPutPositionSet しまっているときの銃のモデルの位置や向きのデータセット +---@field public type BlueArchiveCharacter.GunPutType 銃のしまい方の種類 +---@field public pos? BlueArchiveCharacter.Vector3RightLeftSet 一人称視点での銃の位置 +---@field public rot? BlueArchiveCharacter.Vector3RightLeftSet 一人称視点での銃の方向 + +---@class (exact) BlueArchiveCharacter.GunSoundSet 銃の音のデータセット +---@field public name Minecraft.soundID 銃の音として使用するゲームの音源名 +---@field public pitch number 音源の再生ピッチ(0.5~2) + +---@class (exact) BlueArchiveCharacter.GunCallbacksSet 銃のコールバック関数のセット +---@field public onMainHandChange? fun(self: BlueArchiveCharacter, direction: Gun.HandDirection) 利き手が変更されたときに呼び出される関数 + +---@class (exact) BlueArchiveCharacter.PlacementObjectBoundingBoxSet 設置物の当たり判定のデータセット +---@field public offsetPos? Vector3 設置物の底の中心点のオフセット位置(任意)。基準点は(0, 0, 0)。 +---@field public size? Vector3 当たり判定の大きさ。BlockBenchでのサイズの値をそのまま入力する。基準点はモデルの底面の中心。 + +---@class (exact) BlueArchiveCharacter.PlacementObjectCallbacksSet 設置物のコールバック関数のセット +---@field public onInit? fun(self: BlueArchiveCharacter, placementObject: PlacementObject) 設置物インスタンスが生成された直後に呼ばれる関数 +---@field public onDeinit? fun(self: BlueArchiveCharacter, placementObject: PlacementObject) 設置物インスタンスが破棄される直前に呼ばれる関数 +---@field public onTick? fun(self: BlueArchiveCharacter, placementObject: PlacementObject) 各ティック毎に呼ばれる関数 +---@field public onRender? fun(self: BlueArchiveCharacter, placementObject: PlacementObject) 各レンダーティック毎に呼ばれる関数 +---@field public onGround? fun(self: BlueArchiveCharacter, placementObject: PlacementObject) 設置物が接地した瞬間に呼ばれる関数 + +---@class (exact) BlueArchiveCharacter.ExSkillCameraSet Exスキルアニメーション中のカメラワークのセット +---@field public start BlueArchiveCharacter.ExSkillCameraPositionSet Exスキルアニメーション開始地点 +---@field public fin BlueArchiveCharacter.ExSkillCameraPositionSet Exスキルアニメーション終了地点 +---@field public fixMode? boolean カメラの補正モード。通常は無効だが、特定のキャラクターに対しては有効にしておく。 + +---@class (exact) BlueArchiveCharacter.ExSkillCameraPositionSet Exスキルアニメーション中のカメラワークの開始/終了地点の位置のデータセット +---@field public pos Vector3 カメラの位置 +---@field public rot Vector3 カメラの方向 + +---@class (exact) BlueArchiveCharacter.ExSkillCallbacks Exスキルのコールバック関数のセット +---@field public onPreTransition? fun(self: BlueArchiveCharacter) Exスキルアニメーション開始前のトランジション開始前に実行されるコールバック関数 +---@field public onPreAnimation? fun(self: BlueArchiveCharacter) Exスキルアニメーション開始前のトランジション終了後に実行されるコールバック関数 +---@field public onAnimationTick? fun(self: BlueArchiveCharacter, tick: integer) Exスキルアニメーション再生中のみ実行されるティック関数 +---@field public onPostAnimation? fun(self: BlueArchiveCharacter, forcedStop: boolean) Exスキルアニメーション終了後のトランジション開始前に実行されるコールバック関数 +---@field public onPostTransition? fun(self: BlueArchiveCharacter, forcedStop: boolean) Exスキルアニメーション終了後のトランジション終了後に実行されるコールバック関数 + +---@class BlueArchiveCharacter.CostumeDataSet コスチュームのデータセット +---@field public name string コスチュームの内部名 +---@field public displayName BlueArchiveCharacter.LocaleStringSet コスチュームの表示名 +---@field public exSkill integer コスチュームに対応するExスキルのインデックス番号 +---@field public subExSkill? integer コスチュームに対応するサブExスキルのインデックス番号 + +---@class (exact) BlueArchiveCharacter.CostumeCallbacks コスチュームのコールバック関数のセット +---@field public onChange? fun(self: BlueArchiveCharacter, costumeId: BlueArchiveCharacter.Costumes) 衣装が変更されたときに実行されるコールバック関数。デフォルトの衣装はここに含めない。 +---@field public onReset? fun(self: BlueArchiveCharacter) 衣装がリセットされたときに実行されるコールバック関数。あらゆる衣装からデフォルトの衣装へ推移できるようにする。 +---@field public onArmorChange? fun(self: BlueArchiveCharacter, parts: Armor.ArmorPart, isVisible: boolean) 防具が変更された(防具が見える/見えない)ときに実行されるコールバック関数 + +---@class (exact) BlueArchiveCharacter.BubbleCallbacks 吹き出しエモートのコールバック関数のセット +---@field public onPlay? fun(self: BlueArchiveCharacter, type: Bubble.BubbleType, duration: integer, showInGui: boolean) 吹き出しエモートが再生された時に実行されるコールバック関数 +---@field public onStop? fun(self: BlueArchiveCharacter, type: Bubble.BubbleType, forcedStop: boolean) 吹き出しアニメーション終了時に実行されるコールバック関数 + +---@class (exact) BlueArchiveCharacter.HeadBlockCallbacks 頭ブロックのコールバック関数のセット +---@field public onBeforeModelCopy? fun(self: BlueArchiveCharacter, isScriptLoaded: boolean) モデルのコピー直前に実行される関数 +---@field public onAfterModelCopy? fun(self: BlueArchiveCharacter, isScriptLoaded: boolean) モデルのコピー直後に実行される関数 + +---@class (exact) BlueArchiveCharacter.DeathAnimationCallbacks 死亡アニメーションのコールバック関数のセット +---@field public onPhase1? fun(self: BlueArchiveCharacter, dummyAvatar: ModelPart, costume: BlueArchiveCharacter.Costumes) 死亡アニメーションが再生された直後に実行される関数 +---@field public onPhase2? fun(self: BlueArchiveCharacter, dummyAvatar: ModelPart, costume: BlueArchiveCharacter.Costumes) ダミーアバターが縄ばしごにつかまった直後に実行される関数 +---@field public onBeforeModelCopy? fun(self: BlueArchiveCharacter, isScriptLoaded: boolean) モデルのコピー直前に実行される関数 +---@field public onAfterModelCopy? fun(self: BlueArchiveCharacter, isScriptLoaded: boolean) モデルのコピー直後に実行される関数 + +---@class (exact) BlueArchiveCharacter.PhysicDataSet 物理演算のデータセット +---@field public models ModelPart[] 物理演算の対象にするモデルパーツ +---@field public x? BlueArchiveCharacter.PhysicAxisData x軸のデータ +---@field public y? BlueArchiveCharacter.PhysicAxisData y軸のデータ +---@field public z? BlueArchiveCharacter.PhysicAxisData z軸のデータ + +---@class (exact) BlueArchiveCharacter.PhysicAxisData 物理演算の1軸のデータセット +---@field public vertical? BlueArchiveCharacter.PhysicCoreData 体が垂直方向である時(通常時)の物理演算データ +---@field public horizontal? BlueArchiveCharacter.PhysicCoreData 体が水平方向である時(水泳時、エリトラ飛行時)の物理演算データ + +---@class (exact) BlueArchiveCharacter.PhysicCoreData 物理演算のコアデータ +---@field public min number このモデルパーツ、回転軸の絶対的な回転の最小値(度) +---@field public neutral number このモデルパーツ、回転軸の中立の回転位置(度) +---@field public max number このモデルパーツ、回転軸の絶対的な回転の最大値(度) +---@field public sneakOffset? number スニーク時にこのモデルパーツの回転に加えられるオフセット値 +---@field public headRotMultiplayer? number 頭の縦方向の回転と共にこのモデルパーツの回転に加えられる値の倍率 +---@field public headX? BlueArchiveCharacter.PhysicFactorData 頭を基準とした、前後方向移動によるモデルパーツの回転データ +---@field public headZ? BlueArchiveCharacter.PhysicFactorData 頭を基準とした、左右方向移動によるモデルパーツの回転データ +---@field public headRot? BlueArchiveCharacter.PhysicFactorData 頭の回転によるによるモデルパーツの回転データ +---@field public bodyX? BlueArchiveCharacter.PhysicFactorData 体を基準とした、前後方向移動によるモデルパーツの回転データ +---@field public bodyY? BlueArchiveCharacter.PhysicFactorData 体を基準とした、上下方向移動によるモデルパーツの回転データ +---@field public bodyZ? BlueArchiveCharacter.PhysicFactorData 体を基準とした、左右方向移動によるモデルパーツの回転データ +---@field public bodyRot? BlueArchiveCharacter.PhysicFactorData 体の回転によるによるモデルパーツの回転データ + +---@class (exact) BlueArchiveCharacter.PhysicFactorData 物理演算を働かせる要因を定義するデータセット +---@field public multiplayer number この回転事象がモデルパーツに与える回転の倍率 +---@field public min number この回転事象がモデルパーツに与える回転の最小値 +---@field public max number この回転事象がモデルパーツに与える回転の最大値 + +---@class (exact) BlueArchiveCharacter.PhysicCallbacks 物理演算のコールバック関数のセット +---@field public onPhysicPerformed? fun(self: BlueArchiveCharacter, model: ModelPart) 物理演算処理後に実行されるコールバック関数(省略可)。ここでモデルパーツの向きを上書きできる。 + +---@class (exact) BlueArchiveCharacter.DataSyncCallbacks データ同期のコールバック関数のセット +---@field public onDataSynced? fun(self: BlueArchiveCharacter) データが同期されたときに実行させるコールバック関数。ホスト上では実行されない。 + +--[[ ******************************** ]] + +---@class (exact) BlueArchiveCharacter.LocaleStringSet ロケール文字列のセット +---@field public en_us string 英語(米国) +---@field public ja_jp string 日本語 + +---@class (exact) BlueArchiveCharacter.MonthDaySet 日月のデータセット +---@field public month integer 月 +---@field public day integer 日 + +---@class (exact) BlueArchiveCharacter.Vector3RightLeftSet 左右で別々にVector3が定義できるデータセット +---@field public right? Vector3 右 +---@field public left? Vector3 左 + +BlueArchiveCharacter = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return BlueArchiveCharacter + new = function (parent) + ---@type BlueArchiveCharacter + local instance = Avatar.instantiate(BlueArchiveCharacter, AvatarModule, parent) + + instance.basic = { + firstName = { + en_us = "Hoshino"; + ja_jp = "ホシノ"; + }; + + lastName = { + en_us = "Takanashi"; + ja_jp = "小鳥遊"; + }; + + clubName = { + en_us = "Countermeasure Council"; + ja_jp = "対策委員会"; + }; + + birth = { + month = 1; + day = 2; + }; + } + + instance.faceParts = { + rightEye = { + NORMAL = vectors.vec2(0, 0); --必須 + SURPRISED = vectors.vec2(2, 0); --必須 + TIRED = vectors.vec2(4, 0); --必須 + CLOSED = vectors.vec2(6, 0); --必須 + ANGRY = vectors.vec2(7, 0); + CLOSED2 = vectors.vec2(0, 1); + INVERTED = vectors.vec2(1, 1); + ANGRY_INVERTED = vectors.vec2(2, 1); + NARROW = vectors.vec2(4, 1); + }; + + leftEye = { + NORMAL = vectors.vec2(0, 0); --必須 + SURPRISED = vectors.vec2(2, 0); --必須 + TIRED = vectors.vec2(4, 0); --必須 + CLOSED = vectors.vec2(5, 0); --必須 + ANGRY = vectors.vec2(7, 0); + ANGRY_CENTER = vectors.vec2(8, 0); + ANGRY_INVERTED = vectors.vec2(2, 1); + CLOSED2 = vectors.vec2(-1, 1); + NARROW = vectors.vec2(4, 1); + INVERTED = vectors.vec2(5, 1); + }; + + mouth = { + CLOSED = vectors.vec2(1, 0); + W = vectors.vec2(2, 0); + YAWN = vectors.vec2(3, 0); + OPENED = vectors.vec2(0, 0); + OUT_OF_BREATH = vectors.vec2(0, 1); + TEETH = vectors.vec2(1, 1); + SAD = vectors.vec2(2, 1); + }; + + emotionSet = { + onSleep = { + rightEye = "CLOSED"; + leftEye = "CLOSED"; + mouth = "YAWN"; + }; + }; + } + + instance.arms = { + callbacks = { + onArmStateChanged = function (self, right, left) + if self.parent.whaleFloat ~= nil then + if right == 0 and left == 0 and self.parent.whaleFloat.whaleFloatEnabled and not self.parent.whaleFloat.isAfk then + return {right = 5, left = 5} + elseif right == 1 and left == 2 then + local isLeftHanded = player:isLeftHanded() + if (player:getHeldItem(true).id == "minecraft:shield" and not isLeftHanded) or (player:getHeldItem().id == "minecraft:shield" and isLeftHanded) then + return {right = 1, left = 4} + elseif self.parent.whaleFloat.isAfk then + return {right = 0, left = 0} + end + elseif right == 2 and left == 1 then + local isLeftHanded = player:isLeftHanded() + if (player:getHeldItem().id == "minecraft:shield" and not isLeftHanded) or (player:getHeldItem(true).id == "minecraft:shield" and isLeftHanded) then + return {right = 4, left = 1} + elseif self.parent.whaleFloat.isAfk then + return {right = 0, left = 0} + end + end + end + end; + + onAdditionalRightArmProcess = function (self, state) + if state == 1 then + events.RENDER:register(function () + if self.parent.whaleFloat ~= nil and self.parent.whaleFloat.whaleFloatEnabled then + models.models.main.Avatar.UpperBody.Arms.RightArm:setRot(models.models.main.Avatar.UpperBody.Arms.RightArm:getRot():add(10, 0, 0)) + end + end, "right_arm_render") + elseif state == 2 then + events.TICK:register(function () + local isLeftHanded = player:isLeftHanded() + if ((player:getHeldItem().id == "minecraft:shield" and not isLeftHanded) or (player:getHeldItem(true).id == "minecraft:shield" and isLeftHanded)) and self.parent.arms.armState.right == 2 then + self.parent.arms:setArmState(4, nil) + elseif self.parent.subGun.hasSubGun then + self.parent.arms:setArmState(1, 1) + end + end, "right_arm_tick") + events.RENDER:register(function () + if self.parent.whaleFloat ~= nil and self.parent.whaleFloat.whaleFloatEnabled then + models.models.main.Avatar.UpperBody.Arms.RightArm:setRot(models.models.main.Avatar.UpperBody.Arms.RightArm:getRot():add(10, 0, 0)) + end + end, "right_arm_render") + elseif state == 4 then + events.TICK:register(function () + self.parent.arms:processArmSwingCount() + local isLeftHanded = player:isLeftHanded() + if ((player:getHeldItem().id ~= "minecraft:shield" and not isLeftHanded) or (player:getHeldItem(true).id ~= "minecraft:shield" and isLeftHanded)) and self.parent.arms.armState.right == 4 then + self.parent.arms:setArmState(2, nil) + end + end, "right_arm_tick") + events.RENDER:register(function (delta, context) + local isSwingingArm = player:isSwingingArm() and not player:isLeftHanded() + models.models.main.Avatar.UpperBody.Arms.RightArm:setParentType((isSwingingArm or context == "FIRST_PERSON") and "RightArm" or "Body") + models.models.main.Avatar.UpperBody.Arms.RightArm:setRot(isSwingingArm and vectors.vec3() or vectors.vec3(math.sin((self.parent.arms.swingCount + delta) / 100 * math.pi * 2) * 2.5 + 40, 30, 0)) + end, "right_arm_render") + elseif state == 5 then + events.TICK:register(function () + if self.parent.arms.armState.left == 5 then + local activeHand = player:getActiveHand() + local isLeftHanded = player:isLeftHanded() + models.models.main.Avatar.UpperBody.Arms.RightArm:setRot(player:getActiveItem().id ~= "minecraft:air" and ((activeHand == "MAIN_HAND" and not isLeftHanded) or (activeHand == "OFF_HAND" and isLeftHanded)) and vectors.vec3() or vectors.vec3(20, 0, 20)) + end + end, "right_arm_tick") + end + end; + + onAdditionalLeftArmProcess = function (self, state) + if state == 1 then + events.RENDER:register(function () + if self.parent.whaleFloat ~= nil and self.parent.whaleFloat.whaleFloatEnabled then + models.models.main.Avatar.UpperBody.Arms.LeftArm:setRot(models.models.main.Avatar.UpperBody.Arms.LeftArm:getRot():add(10, 0, 0)) + end + end, "left_arm_render") + elseif state == 2 then + events.TICK:register(function () + local isLeftHanded = player:isLeftHanded() + if ((player:getHeldItem().id == "minecraft:shield" and isLeftHanded) or (player:getHeldItem(true).id == "minecraft:shield" and not isLeftHanded)) and self.parent.arms.armState.left == 2 then + self.parent.arms:setArmState(nil, 4) + elseif self.parent.subGun.hasSubGun then + self.parent.arms:setArmState(1, 1) + end + end, "left_arm_tick") + events.RENDER:register(function () + if self.parent.whaleFloat ~= nil and self.parent.whaleFloat.whaleFloatEnabled then + models.models.main.Avatar.UpperBody.Arms.LeftArm:setRot(models.models.main.Avatar.UpperBody.Arms.LeftArm:getRot():add(10, 0, 0)) + end + end, "left_arm_render") + elseif state == 4 then + events.TICK:register(function () + self.parent.arms:processArmSwingCount() + local isLeftHanded = player:isLeftHanded() + if ((player:getHeldItem().id ~= "minecraft:shield" and isLeftHanded) or (player:getHeldItem(true).id ~= "minecraft:shield" and not isLeftHanded)) and self.parent.arms.armState.left == 4 then + self.parent.arms:setArmState(nil, 2) + end + end, "left_arm_tick") + events.RENDER:register(function (delta, context) + local isSwingingArm = player:isSwingingArm() and player:isLeftHanded() + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType((isSwingingArm or context == "FIRST_PERSON") and "LeftArm" or "Body") + models.models.main.Avatar.UpperBody.Arms.LeftArm:setRot(isSwingingArm and vectors.vec3() or vectors.vec3(math.sin((self.parent.arms.swingCount + delta) / 100 * math.pi * 2) * -2.5 + 40, -30, 0)) + end, "left_arm_render") + elseif state == 5 then + events.TICK:register(function () + if self.parent.arms.armState.left == 5 then + local activeHand = player:getActiveHand() + local isLeftHanded = player:isLeftHanded() + models.models.main.Avatar.UpperBody.Arms.LeftArm:setRot(player:getActiveItem().id ~= "minecraft:air" and ((activeHand == "OFF_HAND" and not isLeftHanded) or (activeHand == "MAIN_HAND" and isLeftHanded)) and vectors.vec3() or vectors.vec3(20, 0, -20)) + end + end) + end + end + }; + } + + instance.skirt = { + skirtModels = {models.models.main.Avatar.UpperBody.Body.Skirt}; + } + + instance.gun = { + scale = 1.3; + + gunPosition = { + hold = { + type = "NORMAL"; + + firstPersonPos = { + right = vectors.vec3(-1, 0, -8); + left = vectors.vec3(1, 0, -8); + }; + + thirdPersonPos = { + right = vectors.vec3(-1.75, 0, -8); + left = vectors.vec3(1.75, 0, -8); + }; + }; + + put = { + type = "BODY"; + + pos = { + right = vectors.vec3(-3, 3.5, 3); + left = vectors.vec3(3, 3.5, 3); + }; + + rot = { + right = vectors.vec3(-45, -90, 0); + left = vectors.vec3(-45, 90, 0); + }; + }; + }; + + sound = { + name = "minecraft:entity.generic.explode"; + pitch = 2; + }; + + callbacks = { + onMainHandChange = function (_, direction) + if direction == "RIGHT" then + models.models.main.Avatar.UpperBody.Body.CSwimsuitB.GunBag:setPos() + models.models.main.Avatar.UpperBody.Body.CSwimsuitB.GunBag:setRot(0, 0, 45) + models.models.main.Avatar.UpperBody.Body.CSwimsuitB.GunBag.ShoulderRope:setRot(0, 0, -2.5) + models.models.main.Avatar.UpperBody.Body.CSwimsuitB.GunBag.ShoulderRope.ShoulderRopeKnob:setRot() + models.models.main.Avatar.UpperBody.Body.CSwimsuitB.GunBag.BagTop.WhaleStrap:setPos() + models.models.main.Avatar.UpperBody.Body.CSwimsuitB.GunBag.BagTop.WhaleStrap:setRot(0, 0, -45) + else + models.models.main.Avatar.UpperBody.Body.CSwimsuitB.GunBag:setPos(6, 0, 0) + models.models.main.Avatar.UpperBody.Body.CSwimsuitB.GunBag:setRot(0, 180, -45) + models.models.main.Avatar.UpperBody.Body.CSwimsuitB.GunBag.ShoulderRope:setRot(0, 180, 1) + models.models.main.Avatar.UpperBody.Body.CSwimsuitB.GunBag.ShoulderRope.ShoulderRopeKnob:setRot(0, 180, 0) + models.models.main.Avatar.UpperBody.Body.CSwimsuitB.GunBag.BagTop.WhaleStrap:setPos(0, 0, 2.3) + models.models.main.Avatar.UpperBody.Body.CSwimsuitB.GunBag.BagTop.WhaleStrap:setRot(0, 180, -45) + end + end; + }; + } + + instance.placementObjects = { + } + + instance.exSkill = { + { + name = { + en_us = "Tactical Suppression"; + ja_jp = "戦術的鎮圧"; + }; + + formationType = "STRIKER"; + + models = {models.models.main.Avatar.UpperBody.Body.Gun.Barrel.ShineEffect}; + + animations = {"main", "gun", "ex_skill_1"}; + + camera = { + start = { + rot = vectors.vec3(0, -160, 0); + pos = vectors.vec3(-4.5, 7.75, -44.5); + }; + + fin = { + rot = vectors.vec3(-15, 215, 0); + pos = vectors.vec3(-13.5, 13.5, -25); + }; + }; + + callbacks = { + onPreAnimation = function (self) + models.models.main.Avatar.UpperBody.Body.Gun.Barrel.ShineEffect:setColor(client:hasShaderPack() and vectors.vec3(1, 0.5, 0.5) or vectors.vec3(1, 1, 1)) + self.parent.faceParts:setEmotion("ANGRY", "ANGRY", "CLOSED", 53, true) + end; + + onAnimationTick = function (self, tick) + if tick == 0 then + self.parent.modelUtils.moveTo(models.models.main.Avatar.UpperBody.Body.Gun, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom, models.models.main.Avatar.UpperBody.Body) + models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.Gun:setPos() + models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.Gun:setRot() + models.models.main.Avatar.UpperBody.Body.Shield.Section2.ShoulderBelt:setVisible(false) + elseif tick == 8 or tick == 15 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.chest.locked"), player:getPos(), 1, 2) + elseif tick == 12 then + local bodyYaw = player:getBodyYaw() + local particlePos = self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.UpperBody.Body.Shield.Section2):add(vectors.rotateAroundAxis(bodyYaw * -1, 0, 3.66, -1, 0, 1, 0):scale(0.0625)) + for _ = 1, 10 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:electric_spark"), particlePos):setVelocity(vectors.rotateAroundAxis(bodyYaw * -1, math.random() * 0.6 - 0.3, math.random() * 0.2 - 0.1, 0, 0, 1, 0)):setColor(1, 0.64, 0.59):setLifetime(4) + end + elseif tick == 19 then + local bodyYaw = player:getBodyYaw() + local particlePos = self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.UpperBody.Body.Shield.Section2.Section1):add(vectors.rotateAroundAxis(bodyYaw * -1, 0, 3.66, -1, 0, 1, 0):scale(0.0625)) + for _ = 1, 10 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:electric_spark"), particlePos):setVelocity(vectors.rotateAroundAxis(bodyYaw * -1, math.random() * 0.6 - 0.3, math.random() * 0.2 - 0.1, 0, 0, 1, 0)):setColor(1, 0.64, 0.59):setLifetime(4) + end + elseif tick == 36 or tick == 45 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.anvil.place"), player:getPos(), 1, 2) + elseif tick == 38 then + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Body.Shield.Section2.Section1.GasCylinder1.GasPiston1, models.models.main.Avatar.UpperBody.Body.Shield.Section2.Section1.GasCylinder2.GasPiston2}) do + local bodyYaw = player:getBodyYaw() + local particlePos = self.parent.modelUtils.getModelWorldPos(modelPart):add(vectors.rotateAroundAxis(bodyYaw * -1, 0, 0, -0.5, 0, 1, 0):scale(0.0625)) + for _ = 1, 5 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:electric_spark"), particlePos):setScale(0.25):setVelocity(vectors.rotateAroundAxis(bodyYaw * -1, math.random() * 0.06 - 0.03, -0.05, 0, 0, 1, 0)):setColor(1, 0.64, 0.59):setLifetime(4) + end + end + elseif tick == 47 then + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Body.Shield.Section2.GasCylinder3.GasPiston3, models.models.main.Avatar.UpperBody.Body.Shield.Section2.GasCylinder4.GasPiston4}) do + local bodyYaw = player:getBodyYaw() + local particlePos = self.parent.modelUtils.getModelWorldPos(modelPart):add(vectors.rotateAroundAxis(bodyYaw * -1, 0, 0, -0.5, 0, 1, 0):scale(0.0625)) + for _ = 1, 5 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:electric_spark"), particlePos):setScale(0.25):setVelocity(vectors.rotateAroundAxis(bodyYaw * -1, math.random() * 0.06 - 0.03, -0.025, 0, 0, 1, 0)):setColor(1, 0.64, 0.59):setLifetime(4) + end + end + elseif tick == 53 then + self.parent.modelUtils.moveTo(models.models.main.Avatar.UpperBody.Body.Shield, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom, models.models.main.Avatar.UpperBody.Body) + self.parent.faceParts:setEmotion("ANGRY", "ANGRY_CENTER", "CLOSED", 19, true) + elseif tick == 55 then + local bodyYaw = player:getBodyYaw() + local particlePos = self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.Shield.Section2):add(vectors.rotateAroundAxis(bodyYaw * -1, 0, 10, 4, 0, 1, 0):scale(0.0625)) + for _ = 1, 5 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:electric_spark"), particlePos):setScale(0.5):setVelocity(vectors.rotateAroundAxis(bodyYaw * -1, math.random() * 0.25 - 0.125, math.random() * 0.25 - 0.125, 0, 0, 1, 0)):setColor(0.973, 0.714, 0.29):setLifetime(2) + end + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.anvil.place"), player:getPos(), 0.25, 4) + elseif tick == 70 then + local bodyYaw = player:getBodyYaw() + local particlePos = self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.Shield.Section2):add(vectors.rotateAroundAxis(bodyYaw * -1, -2, 3, 4, 0, 1, 0):scale(0.0625)) + for _ = 1, 5 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:electric_spark"), particlePos):setScale(0.5):setVelocity(vectors.rotateAroundAxis(bodyYaw * -1, math.random() * 0.25 - 0.125, math.random() * 0.25 - 0.125, 0, 0, 1, 0)):setColor(0.973, 0.714, 0.29):setLifetime(2) + end + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.anvil.place"), player:getPos(), 0.25, 4) + elseif tick == 72 then + self.parent.faceParts:setEmotion("ANGRY", "CLOSED2", "CLOSED", 32, true) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.flintandsteel.use"), player:getPos(), 1, 2) + elseif tick == 79 then + local particlePos = player:getPos():add(vectors.rotateAroundAxis(player:getBodyYaw() * -1, 1, 0, -3, 0, 1, 0)) + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:explosion_emitter"), particlePos) + for _ = 1, 100 do + local particleOffset = vectors.vec3(math.random() - 0.5, math.random() * 0.5, math.random() - 0.5) + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:poof"), particlePos:copy():add(particleOffset)):setScale(5):setVelocity(particleOffset) + end + local particleBlock = world.getBlockState(particlePos:copy():add(0, -1, 0)).id + if particleBlock ~= "minecraft:air" and particleBlock ~= "minecraft:void_air" then + for _ = 1, 50 do + particles:newParticle(self.parent.compatibilityUtils.getBlockParticleId(particleBlock), particlePos):setScale(0.75):setVelocity(math.random() * 0.8 - 0.4, math.random() * 1, math.random() * 0.8 - 0.4):setLifetime(40) + end + end + local playerPos = player:getPos() + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.iron_door.open"), playerPos, 1, 2) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.levelup"), playerPos, 0.5, 1.5) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.generic.explode"), playerPos, 0.5, 0.5) + end + + if tick % 2 == 0 then + local particlePos = math.random() + if particlePos < 0.4 then + self.exSkill[1].showAmmoParticle(self, player:getPos():add(vectors.rotateAroundAxis(player:getBodyYaw() * -1, -1, particlePos * 7.5, 4, 0, 1, 0))) + elseif particlePos < 0.6 then + self.exSkill[1].showAmmoParticle(self, player:getPos():add(vectors.rotateAroundAxis(player:getBodyYaw() * -1, (particlePos - 0.4) * 10 - 1, 3, 4, 0, 1, 0))) + else + self.exSkill[1].showAmmoParticle(self, player:getPos():add(vectors.rotateAroundAxis(player:getBodyYaw() * -1, 1, (particlePos - 0.6) * 7.5, 4, 0, 1, 0))) + end + end + end; + + onPostAnimation = function (self, forcedStop) + if models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.Gun ~= nil then + self.parent.modelUtils.moveTo(models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.Gun, models.models.main.Avatar.UpperBody.Body, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom) + end + if player:isLeftHanded() then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, 12, 0):add(self.gun.gunPosition.put.pos.left)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(self.gun.gunPosition.put.rot.left) + else + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, 12, 0):add(self.gun.gunPosition.put.pos.right)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(self.gun.gunPosition.put.rot.right) + end + if models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.Shield ~= nil then + self.parent.modelUtils.moveTo(models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.Shield, models.models.main.Avatar.UpperBody.Body, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom) + end + if self.parent.exSkill.animationCount >= 0 then + models.models.main.Avatar.UpperBody.Body.Shield.Section2.ShoulderBelt:setVisible(true) + end + end; + }; + + ---銃弾を表現するパーティクル + ---@param self BlueArchiveCharacter + ---@param pos Vector3 パーティクルをスポーンさせる場所 + showAmmoParticle = function (self, pos) + local bodyYaw = player:getBodyYaw() + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:flame"), pos):setVelocity(vectors.rotateAroundAxis(bodyYaw * -1, 0, 0, -1, 0, 1, 0)):setLifetime(20) + local smokePos = pos:copy() + for _ = 1, 5 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:smoke"), smokePos:add(vectors.rotateAroundAxis(bodyYaw * -1, 0, 0, 0.5, 0, 1, 0))):setVelocity(vectors.rotateAroundAxis(bodyYaw * -1, 0, 0, -0.5, 0, 1, 0)):setGravity(0):setLifetime(20) + end + end; + }; + + { + name = { + en_us = "Aquatic Support"; + ja_jp = "水上支援"; + }; + + formationType = "STRIKER"; + + models = {models.models.main.Avatar.LowerBody.WhaleFloat, models.models.ex_skill_2.Waves}; + + animations = {"main", "costume_swimsuit", "ex_skill_2"}; + + camera = { + start = { + rot = vectors.vec3(-15, -150, 0); + pos = vectors.vec3(-54, 100.6, -147.4); + }; + + ---Exスキルアニメーション終了時 + fin = { + rot = vectors.vec3(-15, -180, 30); + pos = vectors.vec3(-248, 17.6, -340.6); + }; + }; + + callbacks = { + onPreAnimation = function (self) + if not self.exSkill[2].init then + for _, modelPart in ipairs({models.models.ex_skill_2.Waves.Surface, models.models.ex_skill_2.Waves.Wave1}) do + modelPart:setPrimaryTexture("RESOURCE", "textures/block/water_still.png") + end + models.models.ex_skill_2.Waves.Wave2:setPrimaryTexture("RESOURCE", "textures/block/water_flow.png") + self.exSkill[2].init = true + end + self.exSkill[2].resetExSkill2Feature() + models.models.ex_skill_2.Waves:setColor(world.getBiome(player:getPos()):getWaterColor()) + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "W", 13, true) + end; + + onAnimationTick = function (self, tick) + if tick == 3 then + local modelPos = self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_2.Waves.Wave1):add(0, 7, 0) + local bodyYaw = player:getBodyYaw() + for _ = 1, 500 do + local offset = vectors.vec3(math.random() * 32 - 16, 0, math.random() * 5) + local particleOffset = offset:copy() + particleOffset.x = particleOffset.x * (math.random() * 0.025 + 0.025) + particleOffset.y = 0.25 + particleOffset.z = (particleOffset.z - 2.5) * (math.random() * 0.025 + 0.025) + particles:newParticle(self.parent.compatibilityUtils.getDustParticleId(vectors.vec3(1000000000, 1000000000, 1000000000), 5), modelPos:copy():add(vectors.rotateAroundAxis(bodyYaw * -1, offset, 0, 1, 0))):setVelocity(vectors.rotateAroundAxis(bodyYaw * -1, particleOffset, 0, 1, 0)):setGravity(1):setLifetime(40) + end + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.bucket.empty"), modelPos, 1, 0.5) + elseif tick == 13 then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "OPENED", 29, true) + elseif tick == 39 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.generic.splash"), self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.LowerBody.WhaleFloat.WhaleParticleAnchor1), 1, 0.5) + elseif tick == 42 then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "W", 13, true) + elseif tick == 52 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.generic.swim"), self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.LowerBody.WhaleFloat.WhaleParticleAnchor1), 1, 0.5) + elseif tick == 55 then + self.parent.faceParts:setEmotion("CLOSED", "CLOSED", "W", 13, true) + elseif tick == 68 then + self.parent.faceParts:setEmotion("CLOSED", "CLOSED", "OPENED", 2, true) + elseif tick == 70 then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "OPENED", 12, true) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.generic.swim"), self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.LowerBody.WhaleFloat.WhaleParticleAnchor1), 1, 0.5) + elseif tick == 82 then + self.parent.faceParts:setEmotion("CLOSED", "CLOSED", "OPENED", 4, true) + elseif tick == 85 then + self.parent.faceParts:setEmotion("INVERTED", "CLOSED", "OPENED", 28, true) + elseif tick == 86 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.bucket.empty"), self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.LowerBody.WhaleFloat.WhaleParticleAnchor1), 1, 0.5) + end + + if tick >= 8 and tick < 28 then + local anchorPos = self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_2.Waves.Wave2.Wave2ParticleAnchor) + local bodyYaw = player:getBodyYaw() + for _ = 1, 20 do + particles:newParticle(self.parent.compatibilityUtils.getDustParticleId(vectors.vec3(1000000000, 1000000000, 1000000000), 5), anchorPos:copy():add(vectors.rotateAroundAxis(bodyYaw * -1, math.random() * 32 - 16, 0, 0, 0, 1, 0))):setVelocity(math.random() * 0.2 - 0.1, 0.5, math.random() * 0.2 - 0.1):setGravity(1):setLifetime(20) + end + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.bucket.empty"), anchorPos, 1, 0.5) + elseif tick >= 41 then + local anchorPos = self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.LowerBody.WhaleFloat.WhaleParticleAnchor1) + local dirVector = self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.LowerBody.WhaleFloat.WhaleParticleAnchor2):sub(anchorPos):normalize() + local YVector = self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.LowerBody.WhaleFloat.WhaleParticleAnchor3):sub(anchorPos):normalize() + for _ = 1, 20 do + local particleDirection = math.random() * 60 - 30 + particleDirection = particleDirection > 0 and particleDirection + 30 or particleDirection - 30 + particles:newParticle(self.parent.compatibilityUtils.getDustParticleId(vectors.vec3(1000000000, 1000000000, 1000000000), 3), anchorPos):setVelocity(vectors.rotateAroundAxis(particleDirection, dirVector, YVector):add(YVector:copy():scale(math.random())):normalize():scale(0.5)):setGravity(0.5):setLifetime(10) + end + if tick % 2 == 0 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.bucket.empty"), anchorPos, 0.1, 0.5) + end + end + + if tick % 2 == 0 then + for _, modelPart in ipairs({models.models.ex_skill_2.Waves.Surface, models.models.ex_skill_2.Waves.Wave1}) do + modelPart:setUVPixels(0, modelPart:getUVPixels().y + 16) + end + end + models.models.ex_skill_2.Waves.Wave2:setUVPixels(0, models.models.ex_skill_2.Waves.Wave2.Wave2:getUVPixels().y + 16) + end; + + onPostTransition = function (self, forcedStop) + if not forcedStop then + local playerPos = player:getPos() + for i = 1, 6 do + for j = 0, 35 do + particles:newParticle(self.parent.compatibilityUtils.getDustParticleId(vectors.vec3(1000000000, 1000000000, 1000000000), 2), playerPos):setVelocity(vectors.rotateAroundAxis(j * 12, 0, -0.25, i * 0.05, 0, 1, 0)):setPower(0.25):setColor((i - 1) * 0.2, 1, 1) + end + end + self.parent.waveParticleManager:play() + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.bucket.empty"), playerPos, 1, 0.5) + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Body.CSwimsuitB.RashGuardB, models.models.main.Avatar.UpperBody.Arms.RightArm.CSwimsuitRA, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.CSwimsuitRAB, models.models.main.Avatar.UpperBody.Arms.LeftArm.CSwimsuitLA, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.CSwimsuitLAB, models.models.main.Avatar.LowerBody.Legs.RightLeg.CSwimsuitRL, models.models.main.Avatar.LowerBody.Legs.LeftLeg.CSwimsuitLL}) do + modelPart:setVisible(false) + end + models.models.main.Avatar.Head.CSwimsuitH.Glasses:setPos(0, -4, 0) + self.exSkill[2].costumeChangeTimer = 1000 + events.TICK:register(function () + if not client:isPaused() then + if self.exSkill[2].costumeChangeTimer == 0 then + self.exSkill[2].resetExSkill2Feature() + end + self.exSkill[2].costumeChangeTimer = self.exSkill[2].costumeChangeTimer - 1 + end + end, "ex_skill_2_post_tick") + end + end; + }; + + ---このExスキルの初期化処理が行われたかどうか + ---@type boolean + init = false; + + ---Exスキル2で衣装を変化させる時間を測るタイマー + ---@type integer + costumeChangeTimer = 1000; + + ---Exスキル2の衣装変化機能をリセットする + resetExSkill2Feature = function () + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Body.CSwimsuitB.RashGuardB, models.models.main.Avatar.UpperBody.Arms.RightArm.CSwimsuitRA, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.CSwimsuitRAB, models.models.main.Avatar.UpperBody.Arms.LeftArm.CSwimsuitLA, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.CSwimsuitLAB, models.models.main.Avatar.LowerBody.Legs.RightLeg.CSwimsuitRL, models.models.main.Avatar.LowerBody.Legs.LeftLeg.CSwimsuitLL}) do + modelPart:setVisible(true) + end + models.models.main.Avatar.Head.CSwimsuitH.Glasses:setPos() + events.TICK:remove("ex_skill_2_post_tick") + end; + }; + + { + name = { + en_us = "Hardened defensive posture"; + ja_jp = "防御姿勢強化"; + }; + + formationType = "STRIKER"; + + models = {models.models.ex_skill_3.Illagers}; + + animations = {"main", "gun", "costume_battle", "ex_skill_3"}; + + camera = { + start = { + rot = vectors.vec3(0, -123, 0); + pos = vectors.vec3(96.8, 40.4, -27); + }; + fin = { + rot = vectors.vec3(-10, -155, -10); + pos = vectors.vec3(-9, 14.9, -30); + }; + }; + + callbacks = { + onPreAnimation = function (self) + if not self.exSkill[3].init then + models.models.ex_skill_3.Illagers.Ravager:setPrimaryTexture("RESOURCE", "minecraft:textures/entity/illager/ravager.png") + for index, modelPart in ipairs({models.models.ex_skill_3.Illagers.Ravager.Pillager1, models.models.ex_skill_3.Illagers.Pillager2}) do + modelPart:setPrimaryTexture("RESOURCE", "minecraft:textures/entity/illager/pillager.png") + modelPart["P"..index.."RightArm"]:newItem("pillager_"..index.."_crossbow"):setItem(self.parent.compatibilityUtils:checkItem("minecraft:crossbow")):setPos(0, -15, -2.5):setRot(0, 0, -135) + end + for i = 1, 2 do + models.models.ex_skill_3.Illagers["Vindicator"..i]:setPrimaryTexture("RESOURCE", "minecraft:textures/entity/illager/vindicator.png") + models.models.ex_skill_3.Illagers["Vindicator"..i]["V"..i.."RightArm"]:newItem("vindicator_"..i.."_iron_axe"):setItem(self.parent.compatibilityUtils:checkItem("minecraft:iron_axe")):setPos(1, -9, -5):setRot(-90, -45, -90) + end + models.models.ex_skill_3.Firework:setPrimaryTexture("RESOURCE", "minecraft:textures/item/firework_rocket.png") + self.exSkill[3].init = true + end + self.parent.faceParts:setEmotion("ANGRY", "ANGRY", "OUT_OF_BREATH", 20, true) + end; + + onAnimationTick = function (self, tick) + if tick == 0 then + models.models.main.Avatar.UpperBody.Body.Gun:setPos() + models.models.main.Avatar.UpperBody.Body.Gun:setRot() + self.parent.modelUtils.moveTo(models.models.main.Avatar.UpperBody.Body.Gun, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom, models.models.main.Avatar.UpperBody.Body) + elseif tick == 1 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.attack.sweep"), self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar), 0.5, 0.5) + elseif tick == 13 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.chest.locked"), self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.UpperBody.Body.Shield), 0.5, 2) + elseif tick == 14 then + models.models.main.Avatar.UpperBody.Body.Shield.Section2.ShoulderBelt:setVisible(false) + self.parent.modelUtils.moveTo(models.models.main.Avatar.UpperBody.Body.Shield, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom, models.models.main.Avatar.UpperBody.Body) + elseif tick == 19 then + local anchorPos = self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar):add(0, 0.25, 0) + local bodyYaw = player:getBodyYaw() + for _ = 1, 10 do + local offset = vectors.vec3(math.random() * 1 - 0.5, 0, math.random() * 1 - 0.5) + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:campfire_cosy_smoke"), anchorPos:copy():add(offset)):setVelocity(vectors.rotateAroundAxis(bodyYaw * -1, -0.1, 0, offset.z * -0.1, 0, 1, 0)):setLifetime(20) + end + elseif tick == 20 then + self.parent.faceParts:setEmotion("ANGRY", "ANGRY", "CLOSED", 68, true) + elseif tick == 21 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.anvil.place"), self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.Shield), 0.15, 2) + elseif tick == 23 and host:isHost() then + self.parent.compatibilityUtils.setPostEffect("phosphor") + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.attack.sweep"), self.parent.modelUtils.getModelWorldPos(models.models.main.CameraAnchor), 0.15, 0.5) + elseif tick == 36 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.vindicator.ambient"), self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_3.Illagers.Vindicator1), 1, 1) + elseif tick == 38 and host:isHost() then + self.parent.compatibilityUtils.setPostEffect() + elseif tick == 42 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.ravager.roar"), self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_3.Illagers.Ravager), 1, 1) + elseif tick == 46 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.pillager.ambient"), self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_3.Illagers.Pillager2), 1, 1) + elseif tick == 49 then + models.models.ex_skill_3.Firework:setVisible(true) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.crossbow.shoot"), self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_3.Illagers.Ravager.Pillager1), 1, 1) + self.exSkill[3].fireworkSound = sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.firework_rocket.launch"), self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_3.Firework), 1, 0.5) + elseif tick == 88 then + self.parent.faceParts:setEmotion("ANGRY", "ANGRY_INVERTED", "TEETH", 21, true) + elseif tick == 97 and host:isHost() then + models.models.ex_skill_3.Gui:setScale(client:getScaledWindowSize():augmented(1)) + models.models.ex_skill_3.Gui:setVisible(true) + elseif tick == 99 and host:isHost() then + models.models.ex_skill_3.Gui.Filter:setUVPixels(1, 0) + elseif tick == 100 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.anvil.place"), player:getPos(), 0.15, 2) + self.exSkill[3].grindstoneSound = sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.grindstone.use"), player:getPos(), 1, 1.25) + elseif tick == 102 and host:isHost() then + models.models.ex_skill_3.Gui:setVisible(false) + elseif tick == 109 then + self.exSkill[3].grindstoneSound:stop() + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.anvil.place"), player:getPos(), 0.5, 0.75) + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:sweep_attack"), self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_3.Firework.ExSkill3ParticleAnchor2):add(vectors.rotateAroundAxis(player:getBodyYaw() * -1, 0.75, 0, -0.4, 0, 1, 0))):setColor(1, 0.98, 0.69) + self.parent.faceParts:setEmotion("ANGRY_INVERTED", "ANGRY", "OUT_OF_BREATH", 17, true) + elseif tick == 122 then + local anchorPos = self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_3.Firework) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.generic.explode"), anchorPos, 1, 0.75) + for _ = 1, 100 do + local particleOffset = vectors.vec3(math.random() - 0.5, math.random() * 0.5, math.random() - 0.5) + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:poof"), anchorPos:copy():add(particleOffset)):setScale(10):setVelocity(particleOffset:mul(1, 0.5, 1):scale(2)):setColor(vectors.vec3(0.45, 0.35, 0.35):scale(math.random() * 0.2 - 0.1 + 1)):setGravity(math.random() * -0.1):setLifetime(120) + end + models.models.ex_skill_3.Explosion:setColor(client:hasShaderPack() and vectors.vec3(1, 0.85, 0.5) or vectors.vec3(1, 1, 1)) + models.models.ex_skill_3.Firework:setVisible(false) + models.models.ex_skill_3.Explosion:setVisible(true) + elseif tick == 126 then + self.parent.faceParts:setEmotion("ANGRY_INVERTED", "ANGRY", "W", 14, true) + elseif tick == 131 then + models.models.ex_skill_3.Explosion:setVisible(false) + elseif tick == 138 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.attack.sweep"), player:getPos(), 0.5, 0.75) + elseif tick == 140 then + self.parent.faceParts:setEmotion("ANGRY", "ANGRY", "W", 48, true) + end + if tick >= 49 and tick <= 109 then + self.exSkill[3].fireworkSound:setPos(self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_3.Firework)) + local anchor2Pos = self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_3.Firework.ExSkill3ParticleAnchor2) + local anchorPos = anchor2Pos:copy() + if host:isHost() and tick < 100 then + anchorPos:add(vectors.rotateAroundAxis(player:getBodyYaw() * -1, 0, 0, -1.5, 0, 1, 0)) + elseif tick >= 100 then + local bodyYaw = player:getBodyYaw() + anchorPos:add(vectors.rotateAroundAxis(bodyYaw * -1, 0, 0, 0.3, 0, 1, 0)) + for _ = 0, 3 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:electric_spark"), anchor2Pos):setVelocity(vectors.rotateAroundAxis(bodyYaw * -1, math.random() * 0.2 - 0.1, math.random() * 0.2 - 0.1, 0.05, 0, 1, 0)):setColor(1, 0.804, 0.357):setLifetime(2) + end + end + local axisVector = anchor2Pos:copy():sub(self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_3.Firework.ExSkill3ParticleAnchor1)) + for i = 0, 3 do + local offset = vectors.rotateAroundAxis(i * 90 + tick * 20, 0, 0.1, 0, axisVector) + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:cloud"), anchorPos:copy():add(offset)):setScale(0.5):setVelocity(offset:scale(0.5)):setGravity(0):setColor(0.5, 0.5, 0.5):setLifetime(4) + end + end + if tick >= 49 and tick < 122 then + local anchorPos = self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_3.Firework.ExSkill3ParticleAnchor1) + if host:isHost() and tick < 100 then + anchorPos:add(vectors.rotateAroundAxis(player:getBodyYaw() * -1, 0, 0, -1.5, 0, 1, 0)) + end + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:firework"), anchorPos):setColor(1, 0.804, 0.357) + end + end; + + onPostAnimation = function (self, forcedStop) + if models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.Gun ~= nil then + self.parent.modelUtils.moveTo(models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.Gun, models.models.main.Avatar.UpperBody.Body, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom) + end + if player:isLeftHanded() then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, 12, 0):add(self.gun.gunPosition.put.pos.left)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(self.gun.gunPosition.put.rot.left) + else + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, 12, 0):add(self.gun.gunPosition.put.pos.right)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(self.gun.gunPosition.put.rot.right) + end + if models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.Shield ~= nil then + self.parent.modelUtils.moveTo(models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.Shield, models.models.main.Avatar.UpperBody.Body, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom) + end + models.models.main.Avatar.UpperBody.Body.Shield.Section2.ShoulderBelt:setVisible(true) + self.exSkill[3].fireworkSound = nil + self.exSkill[3].grindstoneSound = nil + if forcedStop then + for _, modelPart in ipairs({models.models.ex_skill_3.Firework, models.models.ex_skill_3.Explosion}) do + modelPart:setVisible(false) + end + models.models.ex_skill_3.Gui.Filter:setUVPixels() + if host:isHost() then + self.parent.compatibilityUtils.setPostEffect() + models.models.ex_skill_3.Gui:setVisible(false) + end + end + end; + }; + + ---このExスキルの初期化処理が行われたかどうか + ---@type boolean + init = false; + + ---花火の音のインスタンス + ---@type Sound|nil + fireworkSound = nil; + + ---砥石の音のインスタンス + ---@type Sound|nil + grindstoneSound = nil; + }; + + { + name = { + en_us = "Concentrated breakthrough"; + ja_jp = "集中突破"; + }; + + formationType = "STRIKER"; + + models = {models.models.ex_skill_4.Zombie, models.models.ex_skill_4.Creeper, models.models.main.Avatar.UpperBody.Body.Gun.MuzzleFlash}; + + animations = {"main", "gun", "costume_battle", "ex_skill_4"}; + + camera = { + start = { + rot = vectors.vec3(0, 30, -10); + pos = vectors.vec3(17, 12, 7); + }; + + fin = { + rot = vectors.vec3(-5, 30, 15); + pos = vectors.vec3(-1, 10, -235); + }; + }; + + callbacks = { + onPreAnimation = function (self) + if not self.exSkill[4].init then + models.models.ex_skill_4.Zombie:setPrimaryTexture("RESOURCE", "minecraft:textures/entity/zombie/zombie.png") + for _, modelPart in ipairs({models.models.ex_skill_4.Zombie.ZHead.ZHelmet, models.models.ex_skill_4.Zombie.ZUpperBody.ZBody.ZChestPlateB, models.models.ex_skill_4.Zombie.ZUpperBody.ZArms.ZRightArm.ZChestPlateRA, models.models.ex_skill_4.Zombie.ZUpperBody.ZArms.ZLeftArm.ZChestPlateLA, models.models.ex_skill_4.Zombie.ZLowerBody.ZLegs.ZRightLeg.ZBootsRL, models.models.ex_skill_4.Zombie.ZLowerBody.ZLegs.ZLeftLeg.ZBootsLL}) do + modelPart:setPrimaryTexture("RESOURCE", "minecraft:textures/models/armor/iron_layer_1.png") + end + for _, modelPart in ipairs({models.models.ex_skill_4.Zombie.ZUpperBody.ZBody.ZLeggingsB,models.models.ex_skill_4.Zombie.ZLowerBody.ZLegs.ZRightLeg.ZLeggingsRL, models.models.ex_skill_4.Zombie.ZLowerBody.ZLegs.ZLeftLeg.ZLeggingsLL}) do + modelPart:setPrimaryTexture("RESOURCE", "minecraft:textures/models/armor/iron_layer_2.png") + end + models.models.ex_skill_4.Creeper:setPrimaryTexture("RESOURCE", "minecraft:textures/entity/creeper/creeper.png") + self.exSkill[4].init = true + end + self.parent.faceParts:setEmotion("CLOSED2", "CLOSED2", "CLOSED", 18, true) + end; + + onAnimationTick = function (self, tick) + if tick == 0 then + models.models.main.Avatar.UpperBody.Body.Gun:setPos() + models.models.main.Avatar.UpperBody.Body.Gun:setRot() + self.parent.modelUtils.moveTo(models.models.main.Avatar.UpperBody.Body.Gun, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom, models.models.main.Avatar.UpperBody.Body) + models.models.main.Avatar.UpperBody.Body.SubGun:setPos() + models.models.main.Avatar.UpperBody.Body.SubGun:setRot() + models.models.main.Avatar.UpperBody.Body.SubGun:setScale(1.5, 1.5, 1.5) + models.models.main.Avatar.UpperBody.Body.SubGun:setParentType("None") + self.parent.modelUtils.moveTo(models.models.main.Avatar.UpperBody.Body.SubGun, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom, models.models.main.Avatar.UpperBody.Body) + models.models.main.Avatar.UpperBody.Body.Shield.Section2.ShoulderBelt:setVisible(false) + elseif tick == 1 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.zombie.ambient"), self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar), 0.5, 1) + local anchorPos = self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar) + for _ = 1, 50 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:campfire_cosy_smoke"), anchorPos:copy():add(math.random() * 5 - 2.5, 0.5, math.random() * 5 - 2.5)):scale(5):setVelocity(0, 0.01, 0):setLifetime(60) + end + elseif tick == 18 then + self.parent.faceParts:setEmotion("NARROW", "NARROW", "CLOSED", 22, true) + elseif tick == 40 then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "CLOSED", 19, true) + elseif tick == 50 then + models.models.main.Avatar.Head.EyeShine:setVisible(true) + elseif tick == 52 and host:isHost() then + self.parent.compatibilityUtils.setPostEffect("phosphor") + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.attack.sweep"), self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar), 1, 0.5) + elseif tick == 59 then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "CLOSED", 16, true) + if host:isHost() then + self.parent.compatibilityUtils.setPostEffect() + end + elseif tick == 66 then + models.models.main.Avatar.Head.EyeShine:setVisible(false) + elseif tick == 70 or tick == 82 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.zombie.hurt"), self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_4.Zombie), 1, 1) + if tick == 70 then + local anchorPos = self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_4.Zombie.ZUpperBody.ZBody.ExSkill4ParticleAnchor1) + local bodyYaw = player:getBodyYaw() + for _ = 1, 50 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:electric_spark"), anchorPos):setVelocity(vectors.rotateAroundAxis(bodyYaw * -1 + 90, math.random() * 0.6 - 0.3, math.random() * 0.6 - 0.3, math.random() * 0.4, 0, 1, 0)):setColor(1, 0.877, 0.436):setLifetime(4) + end + end + elseif tick == 75 then + self.parent.faceParts:setEmotion("CLOSED2", "CLOSED2", "CLOSED", 4, true) + elseif tick == 79 then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "CLOSED", 11, true) + elseif tick == 86 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.zombie.death"), self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_4.Zombie), 1, 1) + elseif tick == 90 then + self.parent.faceParts:setEmotion("NORMAL", "INVERTED", "CLOSED", 31, true) + elseif tick == 95 or tick == 98 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.creeper.hurt"), self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_4.Creeper), 1, 1) + elseif tick == 117 then + local anchorPos = self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.Gun.MuzzleAnchor) + local dirVector = self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.Gun.ExSkill4Anchor3):sub(anchorPos):normalize() + local normalVector = self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.Gun.ExSkill4Anchor4):sub(anchorPos):normalize() + for i = 0, 4 do + for j = 0, 11 do + local offsetLength = i / 4 + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:electric_spark"), anchorPos):setVelocity(dirVector:copy():scale(math.cos(offsetLength * math.pi / 2) * 0.5):add(vectors.rotateAroundAxis(j * 30, normalVector:copy():scale(offsetLength * 0.45), dirVector))):setScale(5):setColor(1, 0.877, 0.436):setLifetime(8) + if i == 0 then + break + end + end + end + for _ = 1, 10 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:large_smoke"), anchorPos:copy():add(math.random() * 0.5 - 0.25, math.random() * 0.5 - 0.25, math.random() * 0.5 - 0.25)) + end + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.firework_rocket.large_blast"), anchorPos, 1, 0.75) + local anchorPos2 = self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_4.Creeper) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.creeper.death"), anchorPos2, 1, 1) + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:explosion_emitter"), anchorPos2) + for _ = 1, 30 do + local offset = vectors.vec3(math.random() - 0.5, math.random() - 0.5, math.random() - 0.5) + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:poof"), anchorPos2:copy():add(offset.x * 2, offset.y * 2 + 0.5, offset.z * 2)):setVelocity(offset:copy():scale(0.5)) + end + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.generic.explode"), anchorPos2, 1, 1) + models.models.ex_skill_4.Creeper:setVisible(false) + elseif tick == 121 then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "CLOSED", 11, true) + elseif tick == 124 then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "CLOSED", 25, true) + elseif tick == 149 then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "CLOSED", 39, true) + elseif tick == 150 then + models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.Gun.MuzzleFlash:setColor(client:hasShaderPack() and vectors.vec3(1, 0.85, 0.5) or vectors.vec3(1, 1, 1)) + elseif tick == 152 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.generic.explode"), self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.Head), 1, 0.5) + elseif tick == 157 then + local anchorPos = self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.Gun.MuzzleFlash) + for _ = 1, 50 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:lava"), anchorPos):setVelocity(math.random() * 0.25 - 0.125, math.random() * 0.1, math.random() * 0.25 - 0.125):setColor(1, 0.877, 0.436):setLifetime(30) + end + end + if tick == 70 or tick == 82 or tick == 86 or tick == 95 or tick == 98 then + --ピストル発砲 + local anchorPos = self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.SubGun.MuzzleAnchor2) + local velocityVector = self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.SubGun.ExSkill4Anchor1):sub(anchorPos):normalize():scale(0.5) + local offsetVector = self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.SubGun.ExSkill4Anchor2):sub(anchorPos):normalize():scale(0.25) + for i = 0, 5 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:electric_spark"), anchorPos):setVelocity(velocityVector:copy():add(vectors.rotateAroundAxis(i * 60, offsetVector, velocityVector))):setScale(1.5):setColor(1, 0.877, 0.436):setLifetime(2) + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:smoke"), anchorPos:copy():add(math.random() * 0.1 - 0.05, math.random() * 0.1 - 0.05, math.random() * 0.1 - 0.05)) + end + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.firework_rocket.blast"), anchorPos, 1, 0.5) + end + end; + + onPostAnimation = function (self, forcedStop) + models.models.main.Avatar.UpperBody.Body.Shield.Section2.ShoulderBelt:setVisible(true) + if models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.Gun ~= nil then + self.parent.modelUtils.moveTo(models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.Gun, models.models.main.Avatar.UpperBody.Body, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom) + end + if models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.SubGun ~= nil then + self.parent.modelUtils.moveTo(models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.SubGun, models.models.main.Avatar.UpperBody.Body, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom) + end + if player:isLeftHanded() then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, 12, 0):add(self.gun.gunPosition.put.pos.left)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(self.gun.gunPosition.put.rot.left) + else + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, 12, 0):add(self.gun.gunPosition.put.pos.right)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(self.gun.gunPosition.put.rot.right) + end + models.models.main.Avatar.UpperBody.Body.SubGun:setPos(-1, 17.5, -1.9) + models.models.main.Avatar.UpperBody.Body.SubGun:setRot(-30, 90, 0) + models.models.main.Avatar.UpperBody.Body.SubGun:setScale() + if forcedStop then + models.models.main.Avatar.Head.EyeShine:setVisible(false) + if host:isHost() then + self.parent.compatibilityUtils.setPostEffect() + end + end + end; + }; + + ---このExスキルの初期化処理が行われたかどうか + ---@type boolean + init = false; + }; + } + + instance.costume = { + costumes = { + { + name = "default"; + + displayName = { + en_us = "Default"; + ja_jp = "デフォルト"; + }; + + exSkill = 1; + }; + + { + name = "masked"; + + displayName = { + en_us = "Masked Swimsuit Group"; + ja_jp = "覆面水着団"; + }; + + exSkill = 1; + }; + + { + name = "swimsuit"; + + displayName = { + en_us = "Swimsuit"; + ja_jp = "水着"; + }; + + exSkill = 2; + }; + + { + name = "battle"; + + displayName = { + en_us = "Battle"; + ja_jp = "臨戦"; + }; + + exSkill = 3; + subExSkill = 4; + }; + }; + + callbacks = { + onChange = function (self, costumeId) + if costumeId == "MASKED" then + --覆面水着団 + for _, modelPart in ipairs({models.models.main.Avatar.Head.CMaskedH}) do + modelPart:setVisible(true) + end + for _, modelPart in ipairs({models.models.main.Avatar.Head.HairEnds, models.models.main.Avatar.UpperBody.Body.Hairs}) do + modelPart:setVisible(false) + end + elseif costumeId == "SWIMSUIT" then + --水着 + self.parent.costume.setCostumeTextureOffset(1) + models.models.main.Avatar.Head.HatLayer:setUVPixels(0, 16) + for _, modelPart in ipairs({models.models.main.Avatar.Head.CSwimsuitH, models.models.main.Avatar.UpperBody.Body.CSwimsuitB, models.models.main.Avatar.UpperBody.Arms.RightArm.CSwimsuitRA, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.CSwimsuitRAB, models.models.main.Avatar.UpperBody.Arms.LeftArm.CSwimsuitLA, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.CSwimsuitLAB, models.models.main.Avatar.LowerBody.Legs.RightLeg.CSwimsuitRL, models.models.main.Avatar.LowerBody.Legs.LeftLeg.CSwimsuitLL}) do + modelPart:setVisible(true) + end + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Body.Hairs, models.models.main.Avatar.UpperBody.Body.IDCard, models.models.main.Avatar.UpperBody.Body.Tie, models.models.main.Avatar.UpperBody.Body.Skirt, models.models.main.Avatar.UpperBody.Body.Shield}) do + modelPart:setVisible(false) + end + if self.parent.whaleFloat ~= nil then + self.parent.whaleFloat:enable() + else + self.parent.avatarEvents.SCRIPT_INIT:register(function () + self.parent.whaleFloat:enable() + end) + end + elseif costumeId == "BATTLE" then + --臨戦 + self.parent.costume.setCostumeTextureOffset(2) + for _, modelPart in ipairs({models.models.main.Avatar.Head.Head, models.models.main.Avatar.Head.HatLayer}) do + modelPart:setUVPixels(0, 16) + end + for _, modelPart in ipairs({models.models.main.Avatar.Head.CBattleH, models.models.main.Avatar.UpperBody.Body.SubGun, models.models.main.Avatar.UpperBody.Body.CBattleB}) do + modelPart:setVisible(true) + end + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Body.Hairs, models.models.main.Avatar.UpperBody.Body.IDCard, models.models.main.Avatar.UpperBody.Body.Tie}) do + modelPart:setVisible(false) + end + if self.parent.subGun ~= nil then + self.parent.subGun:enable() + else + self.parent.avatarEvents.SCRIPT_INIT:register(function () + self.parent.subGun:enable() + end) + end + end + end; + + onReset = function (self) + self.parent.costume.setCostumeTextureOffset(0) + for _, modelPart in ipairs({models.models.main.Avatar.Head.Head, models.models.main.Avatar.Head.HatLayer}) do + modelPart:setUVPixels() + end + models.models.main.Avatar.Head.HatLayer:setUVPixels() + self.exSkill[2]:resetExSkill2Feature() + for _, modelPart in ipairs({models.models.main.Avatar.Head.CMaskedH, models.models.main.Avatar.Head.CSwimsuitH, models.models.main.Avatar.UpperBody.Body.CSwimsuitB, models.models.main.Avatar.UpperBody.Arms.RightArm.CSwimsuitRA, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.CSwimsuitRAB, models.models.main.Avatar.UpperBody.Arms.LeftArm.CSwimsuitLA, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.CSwimsuitLAB, models.models.main.Avatar.LowerBody.Legs.RightLeg.CSwimsuitRL, models.models.main.Avatar.LowerBody.Legs.LeftLeg.CSwimsuitLL, models.models.main.Avatar.Head.CBattleH, models.models.main.Avatar.UpperBody.Body.CBattleB, models.models.main.Avatar.UpperBody.Body.SubGun}) do + modelPart:setVisible(false) + end + for _, modelPart in ipairs({models.models.main.Avatar.Head.HairEnds, models.models.main.Avatar.UpperBody.Body.Hairs, models.models.main.Avatar.UpperBody.Body.IDCard, models.models.main.Avatar.UpperBody.Body.Tie, models.models.main.Avatar.UpperBody.Body.Skirt, models.models.main.Avatar.UpperBody.Body.Shield}) do + modelPart:setVisible(true) + end + if self.parent.whaleFloat ~= nil and self.parent.subGun ~= nil then + self.parent.whaleFloat:disable() + self.parent.subGun:disable() + end + end; + + onArmorChange = function (self, parts, isVisible) + if parts == "CHEST_PLATE" then + if isVisible then + models.models.main.Avatar.UpperBody.Body.Hairs.BackHair:setPos(0, 0, 1) + models.models.main.Avatar.UpperBody.Body.CBattleB:setVisible(false) + else + models.models.main.Avatar.UpperBody.Body.Hairs.BackHair:setPos() + models.models.main.Avatar.UpperBody.Body.CBattleB:setVisible(true) + end + elseif parts == "LEGGINGS" then + models.models.main.Avatar.UpperBody.Body.Skirt:setVisible(self.parent.costume.currentCostume <= 2 and not isVisible) + end + end; + }; + } + + instance.bubble = { + callbacks = { + onPlay = function(self, type, duration) + if duration > 0 then + if type == "GOOD" then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "W", duration, true) + elseif type == "HEART" then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "YAWN", duration, true) + elseif type == "NOTE" then + self.parent.faceParts:setEmotion("CLOSED", "CLOSED", "W", duration, true) + elseif type == "QUESTION" then + self.parent.faceParts:setEmotion("CLOSED2", "CLOSED2", "YAWN", duration, true) + elseif type == "SWEAT" then + self.parent.faceParts:setEmotion("CLOSED2", "CLOSED2", "SAD", duration, true) + end + end + end; + + onStop = function(self, _, forcedStop) + if forcedStop then + self.parent.faceParts:resetEmotion() + end + models.models.main.Avatar.Head.FaceParts.Face:setUVPixels() + end + }; + } + + instance.headBlock = { + includeModels = {models.models.main.Avatar.UpperBody.Body.Hairs}; + + callbacks = { + onBeforeModelCopy = function () + models.models.main.Avatar.Head.FaceParts.Face:setUVPixels() + end; + + onAfterModelCopy = function (self) + if self.parent.bubble ~= nil and self.parent.bubble.emoji == "SWEAT" and self.parent.bubble.bubbleCount ~= 0 then + models.models.main.Avatar.Head.FaceParts.Face:setUVPixels(6, 0) + end + end; + }; + } + + instance.portrait = { + includeModels = {}; + + callbacks = { + onBeforeModelCopy = function () + models.models.main.Avatar.Head.FaceParts.Face:setUVPixels() + end; + + onAfterModelCopy = function (self) + if self.parent.bubble ~= nil and self.parent.bubble.emoji == "SWEAT" and self.parent.bubble.bubbleCount ~= 0 then + models.models.main.Avatar.Head.FaceParts.Face:setUVPixels(6, 0) + end + end; + }; + } + + instance.deathAnimation = { + callbacks = { + onPhase1 = function (_, dummyAvatar, costume) + if costume ~= "SWIMSUIT" then + dummyAvatar.UpperBody.Body.Skirt:setRot(25, 0, 0) + dummyAvatar.UpperBody.Body.Shield:setPos(4.5, -2.5, 0) + dummyAvatar.UpperBody.Body.Shield:setRot(70, 90, 0) + dummyAvatar.UpperBody.Body.Shield.Section2.ShoulderBelt:setRot(-55, 0, 0) + if costume == "DEFAULT" then + dummyAvatar.UpperBody.Body.Hairs.BackHair:setRot(-35, 0, 0) + elseif costume == "BATTLE" then + dummyAvatar.Head.CBattleH.HairTail:setRot(12, 0, 0) + dummyAvatar.UpperBody.Body.SubGun:setPos(-1, 17.5, -1.9) + dummyAvatar.UpperBody.Body.SubGun:setRot(-30, 90, 0) + dummyAvatar.UpperBody.Body.SubGun:setScale() + end + else + for _, modelPart in ipairs({dummyAvatar.Head.CSwimsuitH.HairTails.HairTailLeft.HairLeftBottom, dummyAvatar.Head.CSwimsuitH.HairTails.HairTailRight.HairRightBottom}) do + modelPart:setRot(25, 0, 0) + end + end + end; + + onPhase2 = function (_, dummyAvatar, costume) + if costume ~= "SWIMSUIT" then + dummyAvatar.UpperBody.Body.Shield:setPos() + dummyAvatar.UpperBody.Body.Shield:setRot(0, 90, 0) + dummyAvatar.UpperBody.Body.Shield.Section2.ShoulderBelt:setRot() + if costume == "DEFAULT" then + dummyAvatar.UpperBody.Body.Hairs.BackHair:setRot(-9.6599, -3.2113, -12.0868) + elseif costume == "BATTLE" then + dummyAvatar.Head.CBattleH.HairTail:setRot(-20, 0, 0) + end + else + dummyAvatar.Head.CSwimsuitH.HairTails.HairTailLeft.HairLeftBottom:setRot(-15, 0, 30) + dummyAvatar.Head.CSwimsuitH.HairTails.HairTailRight.HairRightBottom:setRot(-15, 0, -10) + end + end; + + onBeforeModelCopy = function (self) + self.deathAnimation.hasShield = self.parent.shield.hasShield + if self.deathAnimation.hasShield then + self.parent.shield:setShield(false, false) + end + models.models.main.Avatar.Head.FaceParts.Face:setUVPixels() + models.models.main.Avatar.LowerBody.WhaleFloat:setVisible(false) + end; + + onAfterModelCopy = function (self) + if self.deathAnimation.hasShield then + self.parent.shield:setShield(true, false) + end + end; + }; + + ---盾を持っているかどうか + ---@type boolean + hasShield = false; + } + + instance.actionWheel = { + isVehicleOptionEnabled = true; + } + + instance.physics = { + physicData = { + + { + models = {models.models.main.Avatar.UpperBody.Body.Hairs.BackHair}; + + x = { + vertical = { + min = -150; + neutral = -5; + max = -5; + + bodyX = { + multiplayer = -80; + min = -90; + max = -5; + }; + + bodyY = { + multiplayer = 80; + min = -150; + max = -5; + }; + + bodyRot = { + multiplayer = 0.05; + min = -90; + max = -5; + }; + }; + + horizontal = { + min = -90; + neutral = -5; + max = -5; + }; + }; + }; + + { + models = {models.models.main.Avatar.Head.Cowlick}; + + x = { + vertical = { + min = -30; + neutral = -20; + max = 0; + + bodyY = { + multiplayer = -40; + min = -30; + max = 0; + }; + }; + + horizontal = { + min = -30; + neutral = -20; + max = 0; + + bodyX = { + multiplayer = -80; + min = 0; + max = 150; + }; + }; + }; + + y = { + vertical = { + min = 40; + neutral = 40; + max = 40; + }; + + horizontal = { + min = 40; + neutral = 40; + max = 40; + }; + }; + }; + + { + models = {models.models.main.Avatar.Head.CSwimsuitH.HairTails.HairTailLeft.HairLeftBottom}; + + x = { + vertical = { + min = -165; + neutral = 0; + max = 10; + + headRotMultiplayer = -1; + + headX = { + multiplayer = -80; + min = -82.5; + max = 10; + }; + + headRot = { + multiplayer = 0.05; + min = -82.5; + max = 0; + }; + + bodyY = { + multiplayer = 80; + min = -165; + max = 7.5; + }; + }; + + horizontal = { + min = -155; + neutral = -45; + max = -45; + }; + }; + }; + + { + models = {models.models.main.Avatar.Head.CSwimsuitH.HairTails.HairTailLeft.HairLeftBottom.HairLeftBottomZ}; + + z = { + vertical = { + min = -80; + neutral = 0; + max = 100; + + headZ = { + multiplayer = -80; + min = -80; + max = 100; + }; + }; + + horizontal = { + min = -80; + neutral = 0; + max = 100; + }; + }; + }; + + { + models = {models.models.main.Avatar.Head.CSwimsuitH.HairTails.HairTailRight.HairRightBottom}; + + x = { + vertical = { + min = -165; + neutral = 0; + max = 10; + + headRotMultiplayer = -1; + + headX = { + multiplayer = -80; + min = -82.5; + max = 10; + }; + + headRot = { + multiplayer = 0.05; + min = -82.5; + max = 0; + }; + + bodyY = { + multiplayer = 80; + min = -165; + max = 7.5; + }; + }; + + horizontal = { + min = -155; + neutral = -45; + max = -45; + }; + }; + }; + + { + models = {models.models.main.Avatar.Head.CSwimsuitH.HairTails.HairTailRight.HairRightBottom.HairRightBottomZ}; + + z = { + vertical = { + min = -100; + neutral = 0; + max = 80; + + headZ = { + multiplayer = -80; + min = -100; + max = 80; + }; + }; + + horizontal = { + min = -100; + neutral = -20; + max = 80; + }; + }; + }; + + { + models = {models.models.main.Avatar.Head.CBattleH.HairTail}; + + x = { + vertical = { + min = -170; + neutral = 0; + max = 30; + sneakOffset = -20; + + headRotMultiplayer = -1; + + headX = { + multiplayer = -80; + min = -90; + max = 10; + }; + + headRot = { + multiplayer = 0.05; + min = -90; + max = 0; + }; + + bodyY = { + multiplayer = 80; + min = -170; + max = 0; + }; + }; + + horizontal = { + min = -135; + neutral = -30; + max = -30; + + headX = { + multiplayer = -80; + min = -45; + max = -30; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.Head.CBattleH.HairTail.HairTailZPivot}; + + z = { + vertical = { + min = -80; + neutral = 0; + max = 80; + + headZ = { + multiplayer = -80; + min = -80; + max = 80; + }; + }; + }; + }; + }; + + callbacks = { + onPhysicPerformed = function (_, model) + if model == models.models.main.Avatar.Head.CBattleH.HairTail then + local modelRot = model:getRot() + local headRotY = math.deg(math.asin(player:getLookDir().y)) + if headRotY < 0 then + modelRot.x = math.min(modelRot.x, 30) + end + model:setRot(modelRot) + end + end; + }; + } + + instance.dataSync = { + syncData = { + + }; + } + + return instance + end; + + ---初期化関数 + ---@param self BlueArchiveCharacter + init = function (self) + AvatarModule.init(self) + + --生徒固有初期化処理 + --Player APIにアクセスする場合は、ENTITY_INIT後に実行されるようにする必要がある。 + events.TICK:register(function() + if self.parent.costume.currentCostume == 3 and not self.parent.shield.hasShield then + models.models.main.Avatar.UpperBody.Body.Shield:setVisible(false) + end + end) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Hoshino/scripts/character_scripts/ex_skill_2_wave_particle.lua b/config/yosbr/config/figura/avatars/Hoshino/scripts/character_scripts/ex_skill_2_wave_particle.lua new file mode 100644 index 0000000..6d59298 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/scripts/character_scripts/ex_skill_2_wave_particle.lua @@ -0,0 +1,52 @@ +---@class ExSkill2WaveParticle : SpawnObject 水着のExスキルアニメーション後の波を表現するパーティクルの1グループを管理するクラス +---@field package object Particle[] インスタンスで制御するオブジェクト +---@field package pos Vector3 パーティクルの基準位置 +---@field package rot number パーティクルの向き(度数法) +---@field package animationCount integer パーティクルの速度調整のためのティックカウンター +---@field public new fun(parent: Avatar, pos: Vector3, rot: number): ExSkill2WaveParticle コンストラクタ + +ExSkill2WaveParticle = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@param pos Vector3 パーティクルの基準位置 + ---@param rot number パーティクルの向き(度数法) + ---@return ExSkill2WaveParticle + new = function (parent, pos, rot) + ---@type ExSkill2WaveParticle + local instance = Avatar.instantiate(ExSkill2WaveParticle, SpawnObject, parent) + + instance.object = {} + instance.pos = pos:copy() + instance.rot = rot + instance.animationCount = 0 + + instance.callbacks = { + ---@param self ExSkill2WaveParticle + onInit = function (self) + local particlePos = vectors.rotateAroundAxis(self.rot * -1 + 120, 0, 0, 0.5, 0, 1, 0):add(self.pos) + local particleOffset = vectors.rotateAroundAxis(self.rot * -1 + 120, -1, 0, 0, 0, 1, 0) + for i = -0.5, 0.5, 0.5 do + for _ = 1, 3 do + local colorFactor = math.random() + table.insert(instance.object, particles:newParticle(self.parent.compatibilityUtils.getDustParticleId(vectors.vec3(1000000000, 1000000000, 1000000000), 2), particlePos:copy():add(particleOffset:copy():scale(i))):setVelocity(vectors.rotateAroundAxis(self.rot * -1 + 120, math.random() * 0.1 - 0.05, 0, 0.3, 0, 1, 0)):setColor(colorFactor, 1, 1):setLifetime(colorFactor * 25 + 5)) + end + end + end; + + ---@param self ExSkill2WaveParticle + onTick = function (self) + local velocityAddition = vectors.rotateAroundAxis(self.rot * -1 + 120, 0, math.cos(self.animationCount / 60 * 2 * math.pi) * 0.03, math.cos(self.animationCount / 80 * math.pi) * -0.02, 0, 1, 0) + for _, particle in ipairs(self.object) do + particle:setVelocity(particle:getVelocity():add(velocityAddition)) + end + if self.animationCount == 30 then + self.shouldDeinit = true + else + self.animationCount = self.animationCount + 1 + end + end; + } + + return instance + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Hoshino/scripts/character_scripts/ex_skill_2_wave_particle_manager.lua b/config/yosbr/config/figura/avatars/Hoshino/scripts/character_scripts/ex_skill_2_wave_particle_manager.lua new file mode 100644 index 0000000..aaf80e5 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/scripts/character_scripts/ex_skill_2_wave_particle_manager.lua @@ -0,0 +1,55 @@ +---@class ExSkill2WaveParticleManager : SpawnObjectManager 水着のExスキルアニメーション後の波を表現するパーティクルを管理するクラス +---@field package animationCount integer パーティクルの再生タイミングを計るカウンター +---@field public getObject fun(self: ExSkill2WaveParticleManager, pos: Vector3, rot: number): ExSkill2WaveParticleManager パーティクルのインスタンスを生成して返す +---@field public spawn fun(self: ExSkill2WaveParticleManager, pos: Vector3, rot: number) パーティクルを生成する +---@field public play fun(self: ExSkill2WaveParticleManager) 波のパーティクルを再生する + +ExSkill2WaveParticleManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ExSkill2WaveParticleManager + new = function (parent) + ---@type ExSkill2WaveParticleManager + local instance = Avatar.instantiate(ExSkill2WaveParticleManager, SpawnObjectManager, parent) + + instance.managerName = "ex_skill_2_particles" + instance.animationCount = 0 + + return instance + end; + + ---パーティクルのインスタンスを生成して返す。 + ---@param self ExSkill2WaveParticleManager + ---@param pos Vector3 パーティクルの基準位置 + ---@param rot number パーティクルの向き(度数法) + ---@return ExSkill2WaveParticle instance 生成したインスタンス + getObject = function (self, pos, rot) + return ExSkill2WaveParticle.new(self.parent, pos, rot) + end; + + ---パーティクルを生成する。 + ---@param self ExSkill2WaveParticleManager + ---@param pos Vector3 パーティクルの基準位置 + ---@param rot number パーティクルの向き(度数法) + spawn = function (self, pos, rot) + SpawnObjectManager.spawn(self, pos, rot) + end; + + ---波のパーティクルを再生する。 + ---@param self ExSkill2WaveParticleManager + play = function (self) + events.TICK:remove("ex_skill_2_particles_play_tick") + + local playerPos = player:getPos() + local bodyYaw = player:getBodyYaw() + events.TICK:register(function () + self:spawn(playerPos, bodyYaw) + if self.animationCount == 20 then + events.TICK:remove("ex_skill_2_particles_play_tick") + self.animationCount = 0 + else + self.animationCount = self.animationCount + 1 + end + end, "ex_skill_2_particles_play_tick") + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Hoshino/scripts/character_scripts/gun_hoshino.lua b/config/yosbr/config/figura/avatars/Hoshino/scripts/character_scripts/gun_hoshino.lua new file mode 100644 index 0000000..6fedd50 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/scripts/character_scripts/gun_hoshino.lua @@ -0,0 +1,170 @@ +---@class (exact) GunHoshino : Gun ホシノ専用gun.lua + +GunHoshino = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return GunHoshino + new = function (parent) + ---@type GunHoshino + local instance = Avatar.instantiate(GunHoshino, Gun, parent) + + return instance + end; + + ---初期化関数 + ---@param self GunHoshino + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + self:processGunTick() + self.isGunTickProcessed = false + end) + + events.ON_PLAY_SOUND:register(function (id, pos, _, _, _, _, path) + if path ~= nil then + local velocityDistance = player:getVelocity():length() + local distanceFromSound = math.abs(pos:copy():sub(player:getPos()):length() - velocityDistance) + if (id == "minecraft:entity.arrow.shoot" or id == "minecraft:item.crossbow.loading_end" or id == "minecraft:item.crossbow.shoot") and math.abs(velocityDistance - distanceFromSound) < 1 then + if id == "minecraft:item.crossbow.loading_end" then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.dispenser.fail"), pos, 1, 2) + elseif player:isUnderwater() then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.generic.extinguish_fire"), pos, 0.5, 1.5) + else + local gunPosition = self.parent.gun.currentGunPosition + if self.parent.subGun.hasSubGun and math.random() >= 0.5 then + gunPosition = gunPosition == "RIGHT" and "LEFT" or "RIGHT" + end + local particleAnchor = ModelUtils.getModelWorldPos(renderer:isFirstPerson() and (gunPosition == "RIGHT" and models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.RightItemPivot or models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.LeftItemPivot) or (self.parent.gun.currentGunPosition == gunPosition and models.models.main.Avatar.UpperBody.Body.Gun.MuzzleAnchor or models.models.main.Avatar.UpperBody.Body.SubGun.MuzzleAnchor2)) + for _ = 1, 5 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:smoke"), particleAnchor) + end + if self.parent.gun.currentGunPosition == gunPosition then + sounds:playSound(self.parent.compatibilityUtils:checkSound(self.parent.characterData.gun.sound.name), pos, 1, self.parent.characterData.gun.sound.pitch) + else + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.iron_golem.hurt"), pos, 1, 2) + end + end + return true + elseif (id == "minecraft:item.crossbow.loading_start" or id == "minecraft:item.crossbow.loading_middle" or id:match("^minecraft:item%.crossbow%.quick_charge_[1-3]$") ~= nil) and distanceFromSound < 1 and player:getActiveItem().id == "minecraft:crossbow" then + local activeItemTime = player:getActiveItemTime() + local quickChargeLevel = 0 + local activeItem = player:getActiveItem() + if activeItem.tag.Enchantments ~= nil then + for _, enchant in ipairs(activeItem.tag.Enchantments) do + if enchant.id == "minecraft:quick_charge" then + quickChargeLevel = enchant.lvl + break + end + end + end + if (quickChargeLevel <= 4 and activeItemTime + quickChargeLevel >= 4 and activeItemTime + quickChargeLevel <= 6) or (quickChargeLevel == 5 and activeItemTime <= 2) then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.flintandsteel.use"), pos, 1, 2) + return true + elseif id == "minecraft:item.crossbow.loading_middle" then + return true + end + end + end + end) + + events.ITEM_RENDER:register(function (item, mode, _, _, _, leftHanded) + if mode ~= "HEAD" and self.currentGunPosition == (leftHanded and "LEFT" or "RIGHT") and (self.shouldShowWeaponInFirstPerson or mode =="THIRD_PERSON_LEFT_HAND" or mode == "THIRD_PERSON_RIGHT_HAND") then + for _, gunItem in ipairs(self.gunItems) do + if item.id == gunItem then + if leftHanded then + if mode == "FIRST_PERSON_LEFT_HAND" then + local offsetPos = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.firstPersonPos ~= nil and self.parent.characterData.gun.gunPosition.hold.firstPersonPos.left ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.hold.firstPersonPos.left + end + local offsetRot = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.firstPersonRot ~= nil and self.parent.characterData.gun.gunPosition.hold.firstPersonRot.left ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.hold.firstPersonRot.left + end + local activeItemId = player:getActiveItem().id + if activeItemId == "minecraft:bow" then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -2.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(20, -7.5, -5):add(offsetRot)) + elseif activeItemId == "minecraft:crossbow" then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, 0.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + elseif item.id == "minecraft:crossbow" and item.tag.Charged == 1 then + if player:isLeftHanded() then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(-10, -1.25, 6):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 10, 0):add(offsetRot)) + else + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -1.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + else + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -1.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + elseif mode == "THIRD_PERSON_LEFT_HAND" then + local offsetPos = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.thirdPersonPos ~= nil and self.parent.characterData.gun.gunPosition.hold.thirdPersonPos.left ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.hold.thirdPersonPos.left + end + local offsetRot = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.thirdPersonRot ~= nil and self.parent.characterData.gun.gunPosition.hold.thirdPersonRot.left ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.hold.thirdPersonRot.left + end + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -4.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + else + if mode == "FIRST_PERSON_RIGHT_HAND" then + local offsetPos = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.firstPersonPos ~= nil and self.parent.characterData.gun.gunPosition.hold.firstPersonPos.right ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.hold.firstPersonPos.right + end + local offsetRot = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.firstPersonRot ~= nil and self.parent.characterData.gun.gunPosition.hold.firstPersonRot.right ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.hold.firstPersonRot.right + end + local activeItemId = player:getActiveItem().id + if activeItemId == "minecraft:bow" then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -2.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(20, 7.5, 5):add(offsetRot)) + elseif activeItemId == "minecraft:crossbow" then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, 0.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + elseif item.id == "minecraft:crossbow" and item.tag.Charged == 1 then + if player:isLeftHanded() then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -1.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + else + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(10, -1.25, 6):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, -10, 0):add(offsetRot)) + end + else + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -1.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + elseif mode == "THIRD_PERSON_RIGHT_HAND" then + local offsetPos = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.thirdPersonPos ~= nil and self.parent.characterData.gun.gunPosition.hold.thirdPersonPos.right ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.hold.thirdPersonPos.right + end + local offsetRot = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.thirdPersonRot ~= nil and self.parent.characterData.gun.gunPosition.hold.thirdPersonRot.right ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.hold.thirdPersonRot.right + end + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -4.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + end + return models.models.main.Avatar.UpperBody.Body.Gun + end + end + end + end) + + models.models.main.Avatar.UpperBody.Body.Gun:setScale(vectors.vec3(1, 1, 1):scale(self.parent.characterData.gun.scale)) + self:setGunPosition("NONE") + if self.parent.characterData.gun.callbacks ~= nil and self.parent.characterData.gun.callbacks.onMainHandChange ~= nil then + self.parent.characterData.gun.callbacks.onMainHandChange(self.parent.characterData, self.isLeftHandedPrev and "LEFT" or "RIGHT") + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Hoshino/scripts/character_scripts/shield.lua b/config/yosbr/config/figura/avatars/Hoshino/scripts/character_scripts/shield.lua new file mode 100644 index 0000000..c5cc0af --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/scripts/character_scripts/shield.lua @@ -0,0 +1,139 @@ +---@class (exact) Shield : AvatarModule 盾を制御するクラス +---@field public hasShield boolean 盾を手に持っているかどうか +---@field public setShield fun(self: Shield, value: boolean, shouldPlayShieldSound: boolean) 盾の展開状態を設定する + +Shield = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Shield + new = function (parent) + ---@type Shield + local instance = Avatar.instantiate(Shield, AvatarModule, parent) + + instance.hasShield = false + + return instance + end; + + ---初期化関数 + ---@param self Shield + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + self:setShield((player:getHeldItem().id == "minecraft:shield" or player:getHeldItem(true).id == "minecraft:shield") and self.parent.exSkill.animationCount == -1, true) + end) + + events.ITEM_RENDER:register(function (item, mode) + if item.id == "minecraft:shield" and mode ~= "HEAD" and self.hasShield and (self.parent.gun.shouldShowWeaponInFirstPerson or mode == "THIRD_PERSON_LEFT_HAND" or mode == "THIRD_PERSON_RIGHT_HAND") then + if mode == "FIRST_PERSON_LEFT_HAND" then + local leftHanded = player:isLeftHanded() + if player:getActiveItemTime() > 0 and ((player:getActiveHand() == "OFF_HAND" and not leftHanded) or (player:getActiveHand() == "MAIN_HAND" and leftHanded)) then + models.models.main.Avatar.UpperBody.Body.Shield:setPos(8, -20.25, 2.5) + models.models.main.Avatar.UpperBody.Body.Shield:setRot(0, 0, -5) + else + models.models.main.Avatar.UpperBody.Body.Shield:setPos(6, -22.5, 2.5) + models.models.main.Avatar.UpperBody.Body.Shield:setRot(0, 0, 5) + end + elseif mode == "FIRST_PERSON_RIGHT_HAND" then + local leftHanded = player:isLeftHanded() + if player:getActiveItemTime() > 0 and ((player:getActiveHand() == "MAIN_HAND" and not leftHanded) or (player:getActiveHand() == "OFF_HAND" and leftHanded)) then + models.models.main.Avatar.UpperBody.Body.Shield:setPos(0, -19.25, 2.5) + models.models.main.Avatar.UpperBody.Body.Shield:setRot(0, 0, 5) + else + models.models.main.Avatar.UpperBody.Body.Shield:setPos(2, -22.5, 2.5) + models.models.main.Avatar.UpperBody.Body.Shield:setRot(0, 0, -5) + end + elseif mode == "THIRD_PERSON_LEFT_HAND" then + if self.parent.arms.armState.left == 4 then + if player:isCrouching() then + models.models.main.Avatar.UpperBody.Body.Shield:setPos(3.5, -19.5, 0) + models.models.main.Avatar.UpperBody.Body.Shield:setRot(80, 5, 30) + else + models.models.main.Avatar.UpperBody.Body.Shield:setPos(2, -20.5, -1) + models.models.main.Avatar.UpperBody.Body.Shield:setRot(55, 20, 25) + end + else + local leftHanded = player:isLeftHanded() + if player:getActiveItemTime() > 0 and ((player:getActiveHand() == "OFF_HAND" and not leftHanded) or (player:getActiveHand() == "MAIN_HAND" and leftHanded)) then + models.models.main.Avatar.UpperBody.Body.Shield:setPos(2, -20.5, -2) + models.models.main.Avatar.UpperBody.Body.Shield:setRot(50, 30, 30) + else + models.models.main.Avatar.UpperBody.Body.Shield:setPos(2, -20.5, 2.5) + models.models.main.Avatar.UpperBody.Body.Shield:setRot(5, 90, 0) + end + end + elseif mode == "THIRD_PERSON_RIGHT_HAND" then + if self.parent.arms.armState.right == 4 then + if player:isCrouching() then + models.models.main.Avatar.UpperBody.Body.Shield:setPos(4.5, -19.5, 0) + models.models.main.Avatar.UpperBody.Body.Shield:setRot(80, -5, -30) + else + models.models.main.Avatar.UpperBody.Body.Shield:setPos(6, -20.5, -1) + models.models.main.Avatar.UpperBody.Body.Shield:setRot(55, -20, -25) + end + else + local leftHanded = player:isLeftHanded() + if player:getActiveItemTime() > 0 and ((player:getActiveHand() == "MAIN_HAND" and not leftHanded) or (player:getActiveHand() == "OFF_HAND" and leftHanded)) then + models.models.main.Avatar.UpperBody.Body.Shield:setPos(6, -20.5, -2) + models.models.main.Avatar.UpperBody.Body.Shield:setRot(50, -30, -30) + else + models.models.main.Avatar.UpperBody.Body.Shield:setPos(6, -20.5, 2.5) + models.models.main.Avatar.UpperBody.Body.Shield:setRot(5, -90, 0) + end + end + end + models.models.main.Avatar.UpperBody.Body.Shield:setSecondaryRenderType(item:hasGlint() and "GLINT" or "NONE") + models.models.main.Avatar.UpperBody.Body.Shield:setVisible(true) + return models.models.main.Avatar.UpperBody.Body.Shield + end + end) + + events.ON_PLAY_SOUND:register(function (id, pos, _, _, _, _, path) + if path ~= nil then + if id == "minecraft:item.shield.block" and math.abs(pos:copy():sub(player:getPos()):length() - player:getVelocity():length()) < 0.2 and player:getActiveItem().id == "minecraft:shield" then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.anvil.place"), pos, 1, 4) + return true + end + end + end) + end; + + ---盾の展開状態を設定する。 + ---@param self Shield + ---@param value boolean 新しい値 + ---@param shouldPlayShieldSound boolean 盾の展開音を再生するかどうか + setShield = function (self, value, shouldPlayShieldSound) + if value and not self.hasShield then + models.models.main.Avatar.UpperBody.Body.Shield:setParentType("Item") + models.models.main.Avatar.UpperBody.Body.Shield.Section2.ShoulderBelt:setVisible(false) + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Body.Shield.Section2, models.models.main.Avatar.UpperBody.Body.Shield.Section2.Section1}) do + modelPart:setRot() + end + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Body.Shield.Section2.GasCylinder3.GasPiston3, models.models.main.Avatar.UpperBody.Body.Shield.Section2.GasCylinder4.GasPiston4, models.models.main.Avatar.UpperBody.Body.Shield.Section2.Section1.GasCylinder1.GasPiston1, models.models.main.Avatar.UpperBody.Body.Shield.Section2.Section1.GasCylinder2.GasPiston2}) do + modelPart:setPos(0, -1.4, 0) + end + models.models.main.Avatar.UpperBody.Body.Shield.Section3.Handle2:setPos(0, 0.25, 0) + models.models.main.Avatar.UpperBody.Body.Shield.Section2.Section1.Handle:setPos(0, -0.25, 0) + if shouldPlayShieldSound then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.anvil.place"), player:getPos(), 0.1, 2) + end + elseif not value and self.hasShield then + models.models.main.Avatar.UpperBody.Body.Shield:setVisible(self.parent.costume.currentCostume ~= 3) + models.models.main.Avatar.UpperBody.Body.Shield:setParentType("None") + if self.parent.exSkill.animationCount == -1 then + models.models.main.Avatar.UpperBody.Body.Shield.Section2.ShoulderBelt:setVisible(true) + end + models.models.main.Avatar.UpperBody.Body.Shield:setPos() + models.models.main.Avatar.UpperBody.Body.Shield:setRot(5, 90, 0) + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Body.Shield.Section2, models.models.main.Avatar.UpperBody.Body.Shield.Section2.Section1}) do + modelPart:setRot(-180, 0, 0) + end + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Body.Shield.Section2.GasCylinder3.GasPiston3, models.models.main.Avatar.UpperBody.Body.Shield.Section2.GasCylinder4.GasPiston4, models.models.main.Avatar.UpperBody.Body.Shield.Section2.Section1.GasCylinder1.GasPiston1, models.models.main.Avatar.UpperBody.Body.Shield.Section2.Section1.GasCylinder2.GasPiston2, models.models.main.Avatar.UpperBody.Body.Shield.Section3.Handle2, models.models.main.Avatar.UpperBody.Body.Shield.Section2.Section1.Handle}) do + modelPart:setPos() + end + models.models.main.Avatar.UpperBody.Body.Shield:setSecondaryRenderType("NONE") + end + self.hasShield = value + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Hoshino/scripts/character_scripts/sub_gun.lua b/config/yosbr/config/figura/avatars/Hoshino/scripts/character_scripts/sub_gun.lua new file mode 100644 index 0000000..31e9382 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/scripts/character_scripts/sub_gun.lua @@ -0,0 +1,78 @@ +---@class (exact) SubGun : AvatarModule 臨戦衣装の拳銃を制御するクラス +---@field public hasSubGun boolean サブハンドガンを持っているかどうか +---@field public enable fun(self: SubGun) サブハンドガンを有効にする +---@field public disable fun() サブハンドガンを無効にする + +SubGun = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return SubGun + new = function (parent) + ---@type SubGun + local instance = Avatar.instantiate(SubGun, AvatarModule, parent) + + instance.hasSubGun = false + + return instance + end; + + ---サブハンドガンを有効にする。 + ---@param self SubGun + enable = function (self) + events.TICK:register(function () + if self.parent.gun.currentGunPosition ~= "NONE" then + local isLeftHanded = player:isLeftHanded() + local heldItem = player:getHeldItem(self.parent.gun.currentGunPosition == "RIGHT" ~= isLeftHanded) + self.hasSubGun = false + for _, gunItem in ipairs(self.parent.gun.gunItems) do + if gunItem == heldItem.id then + self.hasSubGun = true + break + end + end + end + if self.hasSubGun and self.parent.exSkill.animationCount == -1 then + models.models.main.Avatar.UpperBody.Body.SubGun:setScale(1.5, 1.5, 1.5) + models.models.main.Avatar.UpperBody.Body.SubGun:setParentType("Item") + elseif self.parent.exSkill.animationCount == -1 then + models.models.main.Avatar.UpperBody.Body.SubGun:setPos(-1, 17.5, -1.9) + models.models.main.Avatar.UpperBody.Body.SubGun:setRot(-30, 90, 0) + models.models.main.Avatar.UpperBody.Body.SubGun:setScale() + models.models.main.Avatar.UpperBody.Body.SubGun:setParentType("None") + end + end, "sun_gun_tick") + events.ITEM_RENDER:register(function (_, mode) + if self.hasSubGun then + if self.parent.gun.currentGunPosition == "RIGHT" then + if mode == "FIRST_PERSON_LEFT_HAND" then + models.models.main.Avatar.UpperBody.Body.SubGun:setPos(-1, 0.5, -2.5) + models.models.main.Avatar.UpperBody.Body.SubGun:setRot() + return models.models.main.Avatar.UpperBody.Body.SubGun + elseif mode == "THIRD_PERSON_LEFT_HAND" then + models.models.main.Avatar.UpperBody.Body.SubGun:setPos(0, -2, -1) + models.models.main.Avatar.UpperBody.Body.SubGun:setRot() + return models.models.main.Avatar.UpperBody.Body.SubGun + end + elseif self.parent.gun.currentGunPosition == "LEFT" then + if mode == "FIRST_PERSON_RIGHT_HAND" then + models.models.main.Avatar.UpperBody.Body.SubGun:setPos(-1, 0.5, -1) + models.models.main.Avatar.UpperBody.Body.SubGun:setRot() + return models.models.main.Avatar.UpperBody.Body.SubGun + elseif mode == "THIRD_PERSON_RIGHT_HAND" then + models.models.main.Avatar.UpperBody.Body.SubGun:setPos(0, -2, -1) + models.models.main.Avatar.UpperBody.Body.SubGun:setRot() + return models.models.main.Avatar.UpperBody.Body.SubGun + end + end + end + end, "sun_gun_item_render") + end; + + ---サブハンドガンを無効にする。 + ---@param self SubGun + disable = function (self) + events.TICK:remove("sun_gun_tick") + events.ITEM_RENDER:remove("sun_gun_item_render") + self.hasSubGun = false + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Hoshino/scripts/character_scripts/whale_float.lua b/config/yosbr/config/figura/avatars/Hoshino/scripts/character_scripts/whale_float.lua new file mode 100644 index 0000000..0c93fe6 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Hoshino/scripts/character_scripts/whale_float.lua @@ -0,0 +1,177 @@ +---@class (exact) WhaleFloat : AvatarModule クジラフロートを制御するクラス +---@field public whaleFloatEnabled boolean クジラフローに乗っているか +---@field package whaleFloatEnabledPrev boolean 前ティックにクジラフロートに乗っていたかどうか +---@field package lookDirPrev Vector3 前ティックに見ていた方法 +---@field package whaleFloatAfkCount integer クジラフロート上でのAFKカウンター +---@field public isAfk boolean AFK中かどうか +---@field public enable fun(self: WhaleFloat) クジラフローを有効にする +---@field public disable fun(self: WhaleFloat) クジラフローを無効にする + +WhaleFloat = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return WhaleFloat + new = function (parent) + ---@type WhaleFloat + local instance = Avatar.instantiate(WhaleFloat, AvatarModule, parent) + + instance.whaleFloatEnabled = false + instance.whaleFloatEnabledPrev = false + instance.lookDirPrev = player:getLookDir() + instance.whaleFloatAfkCount = 0 + instance.isAfk = false + + return instance + end; + + ---初期化関数 + ---@param self AvatarModule + init = function (self) + AvatarModule.init(self) + end; + + ---クジラフローを有効にする。 + ---@param self WhaleFloat + enable = function (self) + events.TICK:register(function () + local vehicle = player:getVehicle() + if vehicle ~= nil then + local id = vehicle:getType() + local whaleFloatEnabled = self.parent.actionWheel.shouldReplaceVehicleModels and (id == "minecraft:boat" or id == "minecraft:chest_boat") and #vehicle:getPassengers() == 1 + if whaleFloatEnabled then + if not self.whaleFloatEnabledPrev then + models.models.main.Avatar.LowerBody.WhaleFloat:setVisible(true) + renderer:setRenderVehicle(false) + models.models.main.Avatar.Head:setRot(10, 0, 0) + if self.parent.gun.currentGunPosition == "RIGHT" then + self.parent.arms:setArmState(1, 2) + elseif self.parent.gun.currentGunPosition == "LEFT" then + self.parent.arms:setArmState(2, 1) + else + self.parent.arms:setArmState(5, 5) + end + for _, animationModel in ipairs({"models.main", "models.ex_skill_2"}) do + animations[animationModel]["float_ride"]:play() + end + + events.TICK:register(function () + if world.getBlockState(player:getPos()).id == "minecraft:water" then + animations["models.main"]["whale_float"]:setPlaying(true) + if self.parent.physics.velocityAverage[5][2] >= 0.35 then + self.parent.faceParts:setEmotion("CLOSED", "CLOSED", "W", 1) + end + if self.parent.physics.velocityAverage[5][2] >= 0.1 then + local bodyYaw = player:getBodyYaw() + local anchorPos = ModelUtils.getModelWorldPos(models.models.main.Avatar.LowerBody.WhaleFloat.WhaleParticleAnchor1):add(vectors.rotateAroundAxis(bodyYaw * -1, 0.1875, 0, 0, 0, 1, 0)) + for _ = 1, 5 do + local particleDirection = math.random() * 60 - 30 + particleDirection = particleDirection > 0 and particleDirection + 30 or particleDirection - 30 + particles:newParticle(self.parent.compatibilityUtils.getDustParticleId(vectors.vec3(1000000000, 1000000000, 1000000000), 3), anchorPos):setVelocity(vectors.rotateAroundAxis(bodyYaw * -1 + particleDirection + 150, vectors.vec3(1, 1, 1), 0, 1, 0):scale(math.random()):normalize():scale(self.parent.physics.velocityAverage[5][2])):setGravity(0.5):setLifetime(10) + end + end + + if player:getVehicle():getNbt().Type == "bamboo" then + models.models.main.Avatar:setPos(0, -6, 0) + self.parent.cameraManager.setCameraPivot(vectors.vec3(0, 0.1875, 0)) + renderer:setEyeOffset(0, 0.1875, 0) + else + models.models.main.Avatar:setPos() + self.parent.cameraManager.setCameraPivot(vectors.vec3(0, 0.5625, 0)) + renderer:setEyeOffset(0, 0.5625, 0) + end + else + animations["models.main"]["whale_float"]:setPlaying(false) + if player:getVehicle():getNbt().Type == "bamboo" then + models.models.main.Avatar:setPos(0, -9, 0) + self.parent.cameraManager.setCameraPivot(vectors.vec3()) + renderer:setEyeOffset() + else + models.models.main.Avatar:setPos(0, -3, 0) + self.parent.cameraManager.setCameraPivot(vectors.vec3(0, 0.375, 0)) + renderer:setEyeOffset(0, 0.375, 0) + end + end + + local lookDir = player:getLookDir() + if player:getVelocity():length() < 0.01 and self.lookDirPrev:copy():sub(lookDir):length() == 0 and not player:isSwingingArm() and self.parent.playerUtils.damageStatus == "NONE" and player:getActiveItem().id == "minecraft:air" then + self.whaleFloatAfkCount = self.whaleFloatAfkCount + 1 + if self.whaleFloatAfkCount == 2400 then + self.isAfk = true + for _, animationModel in ipairs({"models.main", "models.costume_swimsuit", "models.ex_skill_2"}) do + animations[animationModel]["float_afk"]:setSpeed(1) + animations[animationModel]["float_afk"]:play() + end + self.parent.arms:setArmState(0, 0) + self.parent.physics:disable() + elseif self.whaleFloatAfkCount >= 2430 then + self.parent.faceParts:setEmotion("CLOSED2", "CLOSED2", "YAWN", 1, false) + end + else + if self.isAfk then + self.isAfk = false + for _, animationModel in ipairs({"models.main", "models.costume_swimsuit", "models.ex_skill_2"}) do + animations[animationModel]["float_afk"]:setSpeed(-1) + end + events.TICK:remove("whale_float_afk_end_tick") + events.TICK:register(function () + if animations["models.main"]["float_afk"]:getTime() == 0 then + for _, animationModel in ipairs({"models.main", "models.costume_swimsuit", "models.ex_skill_2"}) do + animations[animationModel]["float_afk"]:stop() + end + if self.parent.gun.currentGunPosition == "RIGHT" then + self.parent.arms:setArmState(1, 2) + elseif self.parent.gun.currentGunPosition == "LEFT" then + self.parent.arms:setArmState(2, 1) + else + self.parent.arms:setArmState(5, 5) + end + self.parent.physics:enable() + events.TICK:remove("whale_float_afk_end_tick") + end + end, "whale_float_afk_end_tick") + end + self.lookDirPrev = lookDir + end + end, "whale_float_tick_2") + end + self.whaleFloatEnabledPrev = true + elseif self.whaleFloatEnabledPrev then + self:disable() + end + elseif self.whaleFloatEnabledPrev then + self.whaleFloatEnabled = false + self:disable() + end + end, "whale_float_tick") + end; + + ---クジラフロートを無効にする。 + ---@param self WhaleFloat + disable = function (self) + for _, eventName in ipairs({"whale_float_tick", "whale_float_tick_2", "whale_float_afk_end_tick"}) do + events.TICK:remove(eventName) + end + models.models.main.Avatar.LowerBody.WhaleFloat:setVisible(false) + renderer:setRenderVehicle(true) + models.models.main.Avatar.Head:setRot() + if self.parent.gun.currentGunPosition == "RIGHT" then + self.parent.arms:setArmState(1, 2) + elseif self.parent.gun.currentGunPosition == "LEFT" then + self.parent.arms:setArmState(2, 1) + else + self.parent.arms:setArmState(0, 0) + end + for _, animationModel in ipairs({"models.main", "models.ex_skill_2"}) do + animations[animationModel]["float_ride"]:stop() + animations[animationModel]["float_afk"]:stop() + end + animations["models.costume_swimsuit"]["float_afk"]:stop() + animations["models.main"]["whale_float"]:stop() + models.models.main.Avatar:setPos() + self.parent.cameraManager.setCameraPivot(vectors.vec3()) + renderer:setEyeOffset() + self.whaleFloatAfkCount = 0 + self.isAfk = false + self.whaleFloatEnabledPrev = false + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Hoshino/textures/barrier.png b/config/yosbr/config/figura/avatars/Hoshino/textures/barrier.png new file mode 100644 index 0000000000000000000000000000000000000000..f370a968a6e6c60761c4f7a188d7c44ce1bf9bf6 GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^j3CU&3?x-=hn)gaoCO|{#S9GG!XV7ZFl&wkP>?ym tC&cyq|NqVF|3v_~T%InDAsp9}6M$?c2F6ES|xv6<249-QVi6yBi z3gww484B*6z5(HleBwYwoCO|{#S9F3${@^GvDCf{D997w6XNP#-~(j-|NkFI{ubWW z3Z$4yg8YIRI4V3`K^7Z%x;Tb#Tu)Be@c;0E1AnrA*vjLu_#ZRFy%x2ZQhP5x1L|h*boFyt=akR{09f)oX8-^I literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Hoshino/textures/bubble_emote_guide.png b/config/yosbr/config/figura/avatars/Hoshino/textures/bubble_emote_guide.png new file mode 100644 index 0000000000000000000000000000000000000000..a6b414202e18123cc93b634a85e680a66e0a9fe4 GIT binary patch literal 494 zcmVvD800032NklL{98?E$@`La%y+s+cA+7ER}K+p}aatE=lFu-ULeLWgH1R zr7|d~dm1u3wI-OHl&evMe$!{KVri$1Za$T<*ZHa3DM<}U69UsXiOn<=cIQ} k=*f{RowdRB0DV*N2kFQ#jp%gQga7~l07*qoM6N<$g5h)W9smFU literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Hoshino/textures/bullet.png b/config/yosbr/config/figura/avatars/Hoshino/textures/bullet.png new file mode 100644 index 0000000000000000000000000000000000000000..392b8f7c3906129885119b03aad3353ef99e562c GIT binary patch literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^EI`b|!VDz0_b@5|DajJoh!W@g+}zZ>5(ej@)Wnk1 z6ovB4k_-iRPv3y>Mm}+%BF+Mj$YKTtJ!KGPtXOJa1{72Y@Ck8^3Xe~T4g->>mxKTr z|9>6*|836R83F%a&e=cH^Z$Eal|aXmSq yC?TOJ!3aqGdOtPI(4Y{viAnS=lpGkCiCxvXbLO0zsdjmFoub72z=!L&@B<%B+Wp;)R`$*$iHj@>!hCEw zc4>mp&-`rHRxVb@hMBplMBdMLvjtTJJUu%B06acCmHM=|wwo)ZSKW$y=m4%tTZAu*hG<4FlE zicZAb-P;$EjYwLS3%vaK-&NG8r81R1BccX*w|Soq*~(Q-M2(hXBMQO{p`A{rG|=tE zIrQU0=Khil$0jQErFUX+c7u22vifZiPmP7onR7vn`>HbmxWf2I2n zy)%MN(VPND{(s3QJ2&)2gcNxqMrf9RA*=)k>dL+zLNpphN63%70O*#Xj1b>@WX#Z) z$f2@+vL@3P3X$m{3bGa##5cL3#QeCjztR*s%i>7=KC}W9s_Yj7>HIHEescBz0000< KMNUMnLSTXx_!F}L literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Hoshino/textures/costume_masked.png b/config/yosbr/config/figura/avatars/Hoshino/textures/costume_masked.png new file mode 100644 index 0000000000000000000000000000000000000000..4873cd933192538da05e791383ad3dc6d0c70011 GIT binary patch literal 281 zcmV+!0p|XRP)ILQwoZUT@3J*6YyoAx`3+tJM|A?MF0;W zC8OF5c(f|liYx#ZEG3cRjMXfhu^NepxU&8LVjBXltJYtw@py@T;{?3s9-Y+zhNgC1 f+mBDHAAdr3iLS#5oP>Z)00000NkvXXu0mjf&_Hd? literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Hoshino/textures/costume_swimsuit.png b/config/yosbr/config/figura/avatars/Hoshino/textures/costume_swimsuit.png new file mode 100644 index 0000000000000000000000000000000000000000..89ba9ecfe04cb1a0a61d89d9b715708c0362e77f GIT binary patch literal 1478 zcmV;%1v&bOP)7%Q6#izt+5D2& z79llFY16co8c;ap*!IQ+32vYsh=lkPVZec6zPGKYP*o~5bmWaCF zR002ZFy>zgtdh$V0=3m^EfHJWZw6&dw4S)7WP1E| zmSlESxx?4+>Ys>pvg}8nBl^L+N*o57*kY%~wFzx*H-OCb6_@}rxUU7F>)$c(@jczX zk{eQzk8!zd>ag*%hYkFNhZ#Kn2fvfy^52lk%=MM3#z<$I5=ap36@e7{+P94uGrp%g zaGl~c)=#tj%HDdcYT+MpMW<$2D-k*)?jg_in00}XYa;)eo~FcuN&Kyh`CID`0093~ z?ss*xHeD8*D&Vgq+>Cs6bB(wI$>lYwHymo5FYdt3NM#MRzqeG1G0yFg*6LS2-p0p! z&GX8W%l3m%x!_TxeOQ&Kj7<^IlzHjeU8nKL-rhhD66g4tm+Z=~nBs1T@67;!Xh+o! zRFc@OHk0!=>B!z*td$5a#9Lf_-)AZW*z2b2h2u; z346kF<^z?)Cnje+<9d2H!A?xhG@SW?bEjGC)HvhpYnlH#`KFQyU0;Jv*qsfVuqP~+ zN*@0W1t0c{oIHL&vqR=iuS_{8rW%D>po9IqVV<-TJLq ze(ArxT<$;E=gjwVg4wCXGOJ>U01lhRU_W!hNMKlX)iDnMFMja{y1O68moK%sLWB3e z_DvouD}Uj;xAyyn4zuUdgs!$t01|jt`)YnO<`q}t=>x1`G4DK_$FdH*I99yp`tPGa zeqj9iwTF~*5OEE+%uNRXWk@*lc>-5on_90W!cl|y3DwT%<>TP0xml-Hj|>W zum3EBS1<>RDt4`4hpusWA2SB~8CLU7PGB`(RvAf^(wBc!uEU+#A{q)FwGP!u(hWJ1)#~Riv0M%c6Q{{H^* zkUz(YMaTRX_wV2D?Ci9$ zv1z{(^(fi%W%h-k$7%Wb`CKmd`Sa&27Aq+!sUXg_f^$49EUYolD>F0mamHyM2d!u? zz3%RA6&016!KPt7(WU$gkYGnUCqTz|X8}la*5;Fr>e)l!RI2s&F{Lzr@sUR+bYp)U*)?NT@-*N^nGX&HpwE<%v z;Mv9t4j;NR(L1{-^eTl5`E&++*XK6q?n8Q4oRUGa|E#BPiU79>;>zSC;ja87a5$VP zWMb_dWHDukspEkn-1RZV_?=gRtByVP@1+^Tf&%6RskQVX=w+f2w!TF3F{DHitS4so zbn1h-$*d|O-XWw>+;M{-R^s|0 zI0^rVIJU#9h(8gE0+e3F9e_Y#vK^&&pihe4l$F1QC96&`j7JiyA8N7wi8TZ24jmxY zjZi|d+uhQ?5gGYJ{=};}>#xA3GV&-rQAhl-Ogo%-=Pxiv*t$64=#IS~BaJPqzkt$) z=C}G9jxj}bOt_@u3-}$AyS_Vixd=?_WbOVb1N_vQMmII-RV5+{7(lS2hkf^EzIMfb z)BJW14#LV(haYDatzv5+&F;n8{&TQUqYGN{Xq~4pAPf+|KnyxW<9%pQc_2;*olXrd z$@{?92zUyT8yf3mY(tsNnBF~+n>bw zU@Q%F)uV*o{+q2$h5HX8B4~KA-EgM16gyNL7>I{NRU~GeOvFDz^<@M^;H*dX;#3X%2)S89eRvy}!%~0Spjg>9h$|NVrBlsIKWloQRo!4Y^6`Zp>)N-w} z(hZTrBnz3Opmt*wt*a-%b#iPsy3lQprL2$1qRy6c1rEf+O2b0vL+Q~k&g^$zEmsY; zxzvt}M=A*IhmTQ+(hsmlNK>>Q1oY{^j{M-o%d0E5#_dgssd6Ho8;LMD!Xe}5=;GrX z5^lax9rll543&!g@4W9$-r5a#+^!_WKH?sdVWNez7`IluAt=WrlHOyi(eJ-8lgFiU z2V@Pqh77RDHFrH^e8q^w%x!2wwsX^kuT?~0jF@5=o2xyfa)-?JTrVPJ0htgC~v(@%Dtgd%iFO0cS>vX;9*Fuf=?9nC!;N&AtIHtqyc-nA7 zja@>QGCsL65_qP?khB-HLSxmDJ=M%ZH_B)K}-i%#v5v9yt%pxWDye2ZvXEc@6pfE@PD0hr1Y{r z*Qd>Hvmt&SlLf68l;<#Pge!%(Obb*YGYR#gKXyj$nzzNxunn{%f^+@)qksz`Ds9zT zF=ex>>-QJjzT4c)ma(D{dUAtZ0(Ja4YK~O1YL|*eD;;2}tvs504;efVKS$NXcF;vX zHu|f&EWGi1m#flFA$^Ra$B6aHOTe zi`u2Zk&_T1~fhss;p(*(Y$*m48?!f83xfnCxZ*ALJt&A*tP$P3IG(h+DcFc(fm910e@pj0zyLjKqmE%MS zS1IvisvB5Hw7!A5!^Ln$m=}{*?z0<>UcsIJ_}%4{%eQTTC;Qb}?M@}$7F~8A$mEM% zd`Es-Ad$!I-@R`s3Sa#qfXu9{7#zS#MZ--B*uMB6Oc(=|9bn6yAl7%~FCo=(+^C%E z28)PNS{Yu5OhjExFV^8Il26&6*o%}JqcuifEtH0}F~g_i#6k-WF(GczHDsP6c2R1R XSQ8c-oF?b-3HV`cVP{@`m>v6nxgKEv literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Hoshino/textures/emojis/black_dot.png b/config/yosbr/config/figura/avatars/Hoshino/textures/emojis/black_dot.png new file mode 100644 index 0000000000000000000000000000000000000000..32f952e6926fed6a3e8c08e8e28c6774175c72bd GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^EFjFt3?wJp^Vk9@$r9Iy66gHf+|;}h2Ir#G#FEq$ zh4Rdj3FVdQ&MBb@0G;0^#{d8T literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Hoshino/textures/emojis/dots.png b/config/yosbr/config/figura/avatars/Hoshino/textures/emojis/dots.png new file mode 100644 index 0000000000000000000000000000000000000000..eeb5df5529e8a8d668a571f4339092e73a982fe5 GIT binary patch literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrOUWQl7;iF1B#Zfaf$gL6@8Vo7R> zLV0FMhJw4NZ$Nk>pEytvXMsm#F$061G6*wPEVVBK3bFt3ruKaWT?N-8k{WU=nquD;OXk;vd$@? F2>^vjE2#hg literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Hoshino/textures/emojis/good.png b/config/yosbr/config/figura/avatars/Hoshino/textures/emojis/good.png new file mode 100644 index 0000000000000000000000000000000000000000..df8baedf092d1697de5f940e1c6dc2783271ff32 GIT binary patch literal 220 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGaEOCt}an8@pP0cG|a4t$sEJ;mK zD92YC`j z#ZwKOPu#e1GD7f#Kw)7Zn{i900OQLbCg~MRR5&)uIx#XVd&Kqp=CnOEK*Jb3UHx3v IIVCg!0HohPs{jB1 literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Hoshino/textures/emojis/heart.png b/config/yosbr/config/figura/avatars/Hoshino/textures/emojis/heart.png new file mode 100644 index 0000000000000000000000000000000000000000..cea3a12c758ab289a5f79498292947ece20672eb GIT binary patch literal 219 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9k|nMYCC>S|xv6<249-QVi6yBi z3gww484B*6z5(HleBwYwoCO|{#S9F3${@^GvDCf{D997w6XNP#;Il};<@c10|F@rh zwZ_2#D9%_C;uyklJvo7a@fbrGJKHwZAYq9macR1VC*rndsXEJP zDQ?ZWDkSi+r7`#FD^8xC)z>Ty3{w8GWQomYGCIhZBf!k?EmHjUgCi3&fyOa-y85}S Ib4q9e0IvE$hX4Qo literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Hoshino/textures/emojis/note.png b/config/yosbr/config/figura/avatars/Hoshino/textures/emojis/note.png new file mode 100644 index 0000000000000000000000000000000000000000..0d360af1ac98d32e264cb3707642ce0cf45d0af6 GIT binary patch literal 223 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGaEOCt}an8@pP0cG|a4t$sEJ;mK zD9S|xv6<249-QVi6yBi z3gww484B*6z5(HleBwYwoCO|{#S9F3${@^GvDCf{D997w6XNP#;Is3uv&MRt|Nrj< z-o88=D9%_C!8QX9KfW(tYRVTpff>0q9O7Qr-u;3Eg3G&LkIdM1I=LYboFyt=akR{05z*SssI20 literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Hoshino/textures/emojis/reload.png b/config/yosbr/config/figura/avatars/Hoshino/textures/emojis/reload.png new file mode 100644 index 0000000000000000000000000000000000000000..1f33267d6e9717d41b952588bb05fd8a47c3e806 GIT binary patch literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrOUWQl7;iF1B#Zfaf$gL6@8Vo7R> zLV0FMhJw4NZ$Nk>pEytvXMsm#F$061G6*wPEVVBK3bF@&*Qm+^L+W6E(EufCe&n My85}Sb4q9e0LG6%-2eap literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Hoshino/textures/ex_skill_1.png b/config/yosbr/config/figura/avatars/Hoshino/textures/ex_skill_1.png new file mode 100644 index 0000000000000000000000000000000000000000..09d952c3915c5b10c43b32eafd4c22496cf55c00 GIT binary patch literal 272 zcmeAS@N?(olHy`uVBq!ia0vp^d>}Rl8<3oNC%zs?aTa()7Bet#3xhBt!>lpfi@Lp07$opf4=(NMtE|G39AJBI)N-9LT_yLQ7h7A zlb$u}-n}_H4rSGPm-2RtQ`NV>)|NXB% zRY{U5o9&l)>EK?ca{<*Fwr24+Zm)P7b%f>M0j3rM2SX>p64@(U9I|Cf&-0I&FlaVP zUir;1m1pUm-n!M>S937V+Hf<+Wpyp9ut{&u)+ft%8CI3t`5pgGJ+e#MmZATh=YIzK SZ+n1FXYh3Ob6Mw<&;$Tcyk)Wg literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Hoshino/textures/ex_skill_2.png b/config/yosbr/config/figura/avatars/Hoshino/textures/ex_skill_2.png new file mode 100644 index 0000000000000000000000000000000000000000..39a4390ce0570e6be33ba6a9f6fac276a707948b GIT binary patch literal 507 zcmVZDHU6zOt-MB)J40702Mq(vY% zZonzPkswj9_JJ4AKaJOtSK9e@UOOwRbzkQIa6Q>77|7H6R}Kq#xNF-?hf-I{X1?Cu zze2KT0FVqp1Hh)4%LdR$m0SRlcOL+BBUPeZAZqo7`{76?fYt0xvJ6B1prXC=XtsS0T94tSAum=;&E_e+|Q&75P)O(oKFwN z$M3a|0iAC0qiCm_94KDA*FFdyD;lEWi~+tZ;M7%@t3yn10LtF+72kydf~UbU)sjz( z__ZL*+g@4#0T2KI5C8!XK>4(LD$m<=TYN0obUm~H0w93%9EW}Rw6B;#7bpg47Rv>Y zW-*f6SR{l90Ge@z>0jDy$2ma{@xsJN7D>!BW0tl!Oy0p6hrxsAA`)m7O5M7{( xe!#hE^s2K1gJ7`(uJV4U`JNU)00i)-d;>SDb2Xh`UjG09002ovPDHLkV1i5y%xeGu literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Hoshino/textures/ex_skill_3.png b/config/yosbr/config/figura/avatars/Hoshino/textures/ex_skill_3.png new file mode 100644 index 0000000000000000000000000000000000000000..3a56fc6ba76a106ad60d39d95ab0de45fff242b8 GIT binary patch literal 300 zcmeAS@N?(olHy`uVBq!ia0vp^96-#;!3HGxgLCzO6kC$Fy9>jAhJOsl{#CiI0ZA8l zL>4nJ=qZCRW5rVYGN2%PiKnkC`wK2Hc0+?VrRo977~7m!3Q5#q221@-RR3(5apYUmqR*EmFxf-_>UA z1WDuU0-G<3b}m`4@Z~DKI*DX!-g1-P?bj1Er_6NjdR?}(^qN{Em-oYn6U8i1&o?)z zoR=~F$$4JzglO|yElZV8kMs5=9I9?9`ko;4(*Ewd$s!K7<9=_H?k#)xT8Z_orQPSB q@|%vSWMBC8Z{e4O6}D2>UWw0?v{}9B^IcH5FnGH9xvX|GyG#X_OHry4N!!$ zz$3Dlfk96hgc&QA+LwX!lz95OvcKSxjA5L~c#`DCC7XMsm# zF$061G6*wPEVVBK3bL1Y`ns~eU}EGG)P12IstOd6EOCt}an8@pP0cG|a4t$sEJ;mK zD99588yNaOGQ*@Zb%RVsHBHF(^7#o|)D#N^+K zq+6OB)wpsy#E<(h35N=KyNfRr+#A8poY|vD3?RI)=8e=h*8P=KoGrs#fKc>FeH|`q? zX68(ib4kwg`8}8K^PCME-tr2+>xYZZ65M4w(dKSKH`@h~DF(yK50E#bM%siFgKQtt zTnvsq(IUA)h5Me{7+)E}Fl)hv_x%-g)ejN1A^1Ciko6)FC7vvZYvVEfdK^j3iC}ue zVO{PBSRpq_(CzF(m*?jD4{zwi(wE+X}yYD}Mh-yA`HYr-&bx<`W;q~j+Fn(vGtDV)C zOcI?HWs66U-=m{2WHnL>DXW9zgJtXc51{Mm54h#*z=qBZkUV5CzdQ|%NrO~VDhy2q zs7=X`4@SeWJP$>q99nYe3+TnjB|5Mw}YSUjG2Zjxfj`3efIsgke$!&0qpjYc$B2N``)1 zhR!G7W8=@Cg6WGw`*b^X^GeTYe7kTQ5>o>59cmO#rla}URSM~=?k^Er6OFtH4Kjxm zcDX z8T=GKG`O!qeIprPO1IGO+=^y*WYg?_bN(iLdwlWvFI$mXp@q6t3D)Jr*l2t@^3hRY-zvMp*fk}|kWwh4b@ zKEniSgXpRdX-)>pz8Gp~#cwBYYG~CPIHS+n^U=)KpoKup=}iIaUPQrkDo%}M(>_Ap zEJe;!<=T5d`a~kGlbeh(hf@F>yZ(aoISC?r1JJqDhJUiHNW3nkF3+tzw{2H#L9Sbc zF?I+?Cv;T&$XXbbOy*OaaB?97Cm$K9p`1LH)-hBu<~&wI->gT$%Ty>F0!+Eb*B(H4 zBOe`X1CGxhLCAGJl=Vr7xPJ&0BmtW3m9(qNy_xgI_}@3fupEguBw*U(sR!J$w?bh` zg1%LU6Qh|}Sy{mxJA(<*E9hHvh^dJ}(MSf}{|)gDwM9f==+=P;%t@&MoWQy1YC=0n zf{LLS+;iT6s3DfF^u^zbXv{aT|DgN1FgRQnggjCL6?4(J>%4^~5+Ymz<%~XK%g5rf z9a@tXg$_NAIkZSL%SocW1shR^1&`98Xpy6IA$R@hgrpW3+FfRv1TV0q*eU!1Qn>`t z(n#>-{%^hExP~aO%TC%Lx!f)k45i@#=?OYL-^0rG<40#JB-i6+4sJpjkbEOK6`kTuMWwtm7+$rsobyBVAOH)02~<^S>k`FsSF79s59w+bCP z6pd#hs*XtRg)pQIOVPK~MF7WR^UoV08Wo~?u^bo3bzH^x!wu$|nk>5lTDutLXEk(1 zcJzFKlxj6>>?n?n>B01bp~_xNLn5vxh~@_203R`Zd^#!)?u@kpo^ zVwRmk$XP!aEOMM9`?+K4J`t@t(qRGgeR7%$vKN!+^%ux-E|Ged?!}&@9W)QUa{%0* zN}hxx`d@*#wotX&_1*ap+BOXq-3}yQQ=rh6fo{)jqT_d<%w7sfLp;q95qJF{FBgG# zemC|NY)9h71ng1mLWV5~NsTf*b3a9Z${(?1p`-%bMquqBbP&xUX-J@ADt|;v`v&9l zL|S@}Ude-(b{}{r_CV4YPvO3E0E{UfM$+zbH{#QH0K6OC7$B>X!OBrMlZNT#aeDKz zb_Uz;ZKI8m|7CCR>kc89Z2T*J5L)kkEPyII)_pVM-2`&6W1s1&)7q0a!Eq0R5lmcK z^5ifC4}z$>7Lo3bn;K`-rQ=|U7x*W5Z#uxRfrC(1$RHyj<6q$gUhy96R(}bf3wz*A zT)vWAue1pvvWC+0KluL7I9TlU?g5;6oC{r}jso~!wcmXY!0Btb4iht(w9jG8CD*IAd(+Aqr}s}2(3Jb z;+i6QOw=5M%n=3dv7Iz*!W#H=&cOYK)!mP>+HVk|41u;)jeE;KuYUl%^IsvoTn*vH zU?f}#$F~(_w9BId7LxI$^P$KY(V(#M2!hZ1K=m+|meZK}C`c9}k>QeIYGoXX=_ncw zITh*XS^fq0**mlyU-tmieGHA+{nlMjk%X65VMI{5H`FAVakGF+Bn(n547!}12rlyh zuV^m{D)X>My$k${-ta%^h0-gh;X_KPPw`&r8HO1Ka(fi@s&x95`vc7=orqL=sVSi@ibT5$k`fJ{3yjtBJ;I71_8|<0i^?oE_k4eQ@?= zE>U_(kTo&1jB-zsl>M;;Q~;74F;LA3G3vI`0Zbi%^NZ_8#18W5_ZU;eI|uMz7F%O1 TZz;Lg00000NkvXXu0mjfuRKXE literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Hoshino/textures/for_modeling/firework_rocket.png b/config/yosbr/config/figura/avatars/Hoshino/textures/for_modeling/firework_rocket.png new file mode 100644 index 0000000000000000000000000000000000000000..1d60c42116c067d2b03414c03a01062f96c4b9ea GIT binary patch literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`d7dtgAr_~T6C}PQEMNAlev|2W zmaKitmVUJlkNIOCIm>ZdbH)Tl73odFCm96tCQehkD?0mJ%pd+kDVc1I`tkb?#5$Jo zG#H!^O_63OV!g@MVA5=GGj4&W#EY(if9#2ico{U?BptT6l{idVyM&3MV@)FSCC1KY QK${snUHx3vIVCg!0LwBuq5uE@ literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Hoshino/textures/for_modeling/leather_layer_1.png b/config/yosbr/config/figura/avatars/Hoshino/textures/for_modeling/leather_layer_1.png new file mode 100644 index 0000000000000000000000000000000000000000..cf4aada13a4b457daa9b31d3d3a735073addeb70 GIT binary patch literal 552 zcmV+@0@wYCP)`5fkQcJGC=nne=(fL;I~kNo-zxk2gy0G8Dz0QeTR2LLGD_7YX@zN=sL8dVR| z1R&+4wzeA6DV-^B-p6jZZ>6)|;%wXm0QLejp1lMecKxgw)4cZ*Y`zGP`V9Ra$4w$Y zFQmaDO*-ZVJ3u5`_9aISX8-pm0IDk1Z4WY`c2zqXHk+^#;VykJ0ao+6giyf6EL1SH9Ig- z2$E#n;B1Ad?@^%@gODEE h5%G*bs~H%6sH$^a2tToI_4+R$uBWS?%Q~loCIBS)MOy#> literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Hoshino/textures/for_modeling/leather_layer_2.png b/config/yosbr/config/figura/avatars/Hoshino/textures/for_modeling/leather_layer_2.png new file mode 100644 index 0000000000000000000000000000000000000000..abd64e6b2afc513de9bb4794d53f15f5860b47e4 GIT binary patch literal 322 zcmV-I0lof-P)C2ia4%LKP}`efr*W;P{}&k(_|QiVHk#C7=~dO#_(8{ z<;0lh`T7niz_IV=wr!UP!wCS=Am3UWR{$Nu^gR2Xy{|d&X|IGpAOpLv>-r{$dA25b z%*(V0NKgP0LqR3t$&07*+Ys1m5g4aN>D>K);}U+VrJZBN|rIb`d|P57t+vV U)x6I!H2?qr07*qoM6N<$g2$hYH~;_u literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Hoshino/textures/for_modeling/leather_layer_2_overlay.png b/config/yosbr/config/figura/avatars/Hoshino/textures/for_modeling/leather_layer_2_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..4faea6d65b021018577bab2b0b24edb8cc59df91 GIT binary patch literal 181 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!3-p)I`?e@QlbGqA+A8$OGhHeL?OyTA<0G| z%R#f)L-Tr$Cnr#Xu_VYZn8D%MjWi&~&(p;*#Dn+kK|?NQLjh;Ux0kiP+ZQEGR$6+H zrEa6KRC3Qpi*4(Eh`w$Ue%-b9`GdtbxHR^abg^tQS)wRy6`JRve_@@M{tJL6C)l(3pLhp)JA*6&BN_*(7r}#Cz z^((DDi_h}rb>G?DB%91;XW(IWW@k5fe)DH%-=xuOHXAM-ot{R}a6C>F*PWk7JZA}Q zFD8@tKCid8Bk03m5R3IIPk8{Onil|QN^7kExOy6fI-Smx2tXUxuJ}IQU2awvUf29pimDNYi>1}I%XMwWrE#(aW%SgZ9kM-r?AoDlUv~mD2VL^Zh;LXm?ln6k#m-oVX-d`TevKIjKmy;l{rL_QXyK5QGqee&}t!L`p zY)3BLzt(bUZ2)}S+lzi49>&74_W;`6ZY1@*eKp#=aV5!%0FdT2gvtPr=8@M9z`P?s zPk~yE00}{w_X>bETvYFR_e{NdcK-ua#nbWdPtyqo;q2Mu`C6<;J5-2->`a z;2i)Mf>E8nef%UoMlQ{>-nuR;UkZS`y%HzUBc3d6LuQWMgwM!W%_dl?%Z zDf!4sdo$&QRXyE`PUG}zI17t7D4GD4pXy3VQie_0R z0M|8HDh+_%a#}-Om-7J7Bfu*FA%zrDNFjw3Qb<)vzb`MN@vlj;Swpn>{a}#fYY#x0 zhmOw9V&lwf1pr%dX&!kk06=^fk;5PP+8Ty9|98KAb%xI&v_ad-1Aq~lp?Sy($VdQC zv|ciMO`*w5o|~cUcfZV zI8F<4lo`+{8Z^~)g#c&>Fw40_X#izMbV>){dsMgR4=1{A;U6$>UKD_}Mp+|J*DYj- z$+pY>VS`4~04!w6xqi}eT{G)XTtxw7{gY(wf11oYM9ZE6_)9Lu{XWZl2ax9}mMgyz sqEQ;hejmsDEb^alut>J;DX1pO?1FPU+Me zhb3RKV4jP7R)LkCsM7gUeVFi30MdS~7XeroCEi;asv2<$KqGE^AT9En`OQv&9v*B zVou!|hc@T`;@~+^;avnxx!0$?Z1>%)_~9^j(u*CsH|4&SQXToxa&|9O6~$4qq4NAWVe;2*bUaGL z2OKQfzSSmf>!!8fFsmhwX{J)N@BF4+>^^<_P1F!G-Dl!aObTlW57zp@_Z$`84Qla@ zaw=Ijh4walobsT*2+3*QTr!1*bOuG4aVggI`nzJ)tXDJ#e?PUJDs_xG?sq)Y2PHiCQCmlh7&y;F zI~5`Qxpf(60QD-5jSsKCue+LqeP+=?&)q7yRis=UvFh+s7N2D<>!dd+UAnEzMrOx_ zUY7wM^z{i>FXP5aD}Gb!iJiCg=m3)(j~YVkcA*JpU$R$us* zMC`qD#V9U?C1q-*k|cM-K2A5l@@`nXzimg?KNITP1?6*e@hHP9{p$~>qwh%cE>_G< zB&T&+3H>AuWEWaKAke4W3>dSxpDdgLzrEg`P^Ro+E|n71>nU<(Fmym4TWzx0T;6aW zC6*h%%5MhAEac<1QYB0y&n4^abf_ijgC5btCLC=XF|W5dRb6hRNnvk1rq&UCI~8?} zXo-b|H~FgrALbaE*gEHmcnW_bbINw+@IpQg%FXE-kuA70Mh)z`42?RH-=QPDD__0H zDg2MD1%D;`yNbs-B$WH(SVwJHPIslM7MyO+`)4#o1ZLgpqw;+y%16_e=R@Y5>dG0H zcpS5cH8o0_W8!iWr!yV0ha5kBRp%`q*X>xK)R$pJImOmx88T1V+MI!=;^fJ%prhkB z>QJ^1@bvCQaZQeNw3yOH&)&yHmMP;1r)$ctzVw-Y0}~xdl@H$uA8$3qH|j5;de->%6TK*Xp)g-QSphJj#W3Y z+B^8%Yk}4tfp_oq{nqk(ESWhoq@UXAEjgFb(634BI)JT+N$zDS&#%oUC!f`#py>nJ zmA!s^*rNA-{lm%y)IRDTN^Otoxk>@rkpJlPYQ3t} z%LFU^+~v+%S|BO9Zgy9n0OYHkq53trXL?wPV?$Q zx_)YPgI$mkq`iLZ`n>IlasXO!GW6o{%%yp?Dj6_$Nb1>K@7=(-^LD5?DyrO5&Tim@ za@iNN&!ZJ^doSC6RUJ&WE+eTgJ&;}8vIszA7%wJ+>%+4Qk$A7*+tF8ACjBmQHLFE` zABF14wzjsO%Xw8c^KmXSf1ezTcNlc+s9ssN!x3kC3%k`=*UB#zTgO46YouK+p-mD7k*#kJ7T65=qve(KeN{yZ@q#AU{@0h#s&}=}@#+u3@ZRVO_dKsQ1OHkNrXeO#B%+qIGYEYB=7XrwM}ZF{6D zN}mF&*cDdjs_O0J%LLYd4;lyVXynVLEyvNg`g&v7TAS&ZJk1UQ;NrFbYu}dt`Y*zR z0;{ATq7Fc|A)XrMF$wWFK4_VjgJ5PA2hg_lTul8l4uTL=*Q&rzA_`Fie+59AML}Zc z01Lby5(kO&rZD-McR+u;xyb~g^`gnX+x} z4ZS7A4tH?~1zU_lFld*#aG{;b((YBbsk*xImhZdWD|@)8ru`DeAVP4$)#k_%HO)Vx z;3B#Iv$}6-@H?(=$rg;UisdBf7Q{o#~CL%B=uj2 z7l`b-lF{F>iOzqwi!t(t&6)U|@ zL`~PglMkGS>p6sk)~&ys*eA%iUD){J*eA=11Lme~7f>E5(5!QB-ReUg3YP%1d?XeV zY*0xDmOP4pkvhK;xn>*4Ctnj;$bca(#5{^7P5M!I1|i>XK6^w{NTezL(D1Vkpuc)H zz1|RZQkYnOPQ9bA=I+Y+=1o6mLECILM{hQw1@`z6#kE;Q1bf4B-FxDBS!J+AC$`U4 z$(@qeY4G!Ie1guGe*Vj%Hp?$z zSHFy>vLU?L>|l~(HkOP0eBG?EALImreUE;VmZBFzf;jOztpr7k`NeF;2*YS-h==JF z9*A4pkImy@v~;_kdwwfoYT}gBUO25B%bo>!1&Yuz%XQtI#mh?DhCl1xaJPQI2T8P|+jgk_5x&mB={EX7O9*S#x#i z5St(Y6>+iqh{Sd>*;2Omt*ahEL-$35tapVCBmY^1^B6gwz4g=L4$uB){SA`buf%3p zXhd*EA@_Hw%=u$-bgEZ|heH{OTQ^Yz8XSgUJ&Uv}VF{)7*LYyp$D!`M6ho61Pi$N( zoDOp5%y6hYDIer(BpBaSGIQmkbD+g~`^Wqz7WG{l1r~3#lstoXTPk^Hv$y2Tk4k%- z3M4ayBL58~u>ux`@@kokr-yVqyG1BKPJ+xduH*#m|;$*0tDXNDXx#N#}rWab%2XxoDi z5e#ZWRcf%=yL+2mdx=6Zc*i7LS~)svC&7nHclV|TrN3+4=Nig+VErA2xVgss4k<-? z2lBpSkx7c?ULY$5xx1|ZhRtz_a{Z)?GTjeji~xiagy{CxIlkteD%shFg!u(Zb$@a_B(la@T_ z>D?#pjHl(hFltr7-yiHv?-xll=iWTX0kQ>6Q#(roPW1_Eg}DHkwKrZ=TMc;k92$Qj zsugL#4YKBH9fx}^+zSm1`jl*O-};8vS@y=BH%_mt#U@jc5p4{W_qjaFQ+U0Bcbjct|{E{km^DuN5XP)T_4VH?$wKuh$KBlJu@^e7GDeyooo zh}Bo^sh-^O+np7W7{Yh;Jfn@hkw^HkyB|G+@XTS;uSkZrFXgU`OB2xckx7Yavbup* zUr-41jSrgcm@w^&yYS?~4g${lDASxX8yy&=OMVX0zJ)o50l2(x6z+<;MR2b8b77 literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Hoshino/textures/for_modeling/trim.png b/config/yosbr/config/figura/avatars/Hoshino/textures/for_modeling/trim.png new file mode 100644 index 0000000000000000000000000000000000000000..0f74169823341663f74912d23b5615fd1adf7563 GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!3HE3&8=$zQqw$L978hhy}c30)u15YdU4vT zpqMW2Ld|zeW;|%MnY4ia;4XHyCYj7L^JnHVGcf#EJ?FFB#2_o>dET1oSEANutbKc` z^ZCEI*M8e^y%nuIb@f*&-zn|~uYe{qFgz<+Si53r*zdI;u2rA1Ni=bP(Y<4~bVZ-I zxZzR;`_%W}e=lqkH@J13UBf%p`u_v-`lOePr!Mz0e2`>M57Wq-(DL9E$QVyoKbLh* G2~7aLiB-M; literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Hoshino/textures/for_modeling/trim_leggings.png b/config/yosbr/config/figura/avatars/Hoshino/textures/for_modeling/trim_leggings.png new file mode 100644 index 0000000000000000000000000000000000000000..509e2440789e72a85fe37e34c45fdcdb87ccf18b GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!3HE3&8=$zQW>5ujv*P&Z?80RHYfvV0V-u+*wBCPx1{N@3a#HU-C1krE}gPFYi+sw=hu}7 z;*8{tgrEJH@%_xqP4CXzZBqUG^t+_6c%5{gTe~ HDWM4fe7ZSG literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Hoshino/textures/for_modeling/vindicator.png b/config/yosbr/config/figura/avatars/Hoshino/textures/for_modeling/vindicator.png new file mode 100644 index 0000000000000000000000000000000000000000..84b1f4652a35e5f465e67e6003eaa3c3343c204c GIT binary patch literal 1125 zcmV-r1e*JaP)zL@C=-03QBZM2qQ>Cf?T2JIaj43(cdImu|Vgll=9cbl6T^ksWH zSFbI}bY1|UQ(Bz@;Hzmk)bIBTA^`1p>p)BZ$XHiR|6&5Th#_F=6iAs)u(e4JX`vy{ zrS{eEX`E|^3&$!HLU62>10~tZyBsRp0?J%3ZOH;C<8W2G3((jBl&NhizC)m_dneUL z@Fgur27^JapS!!mmqwoFeU68~B>{krS+$5Uoz5N{9p&ONY-L6TJVPo;09FTvJktEe z=izn8Bl*fm$1Mo>O#*A z0?^mXd%@28%e*{J0)T!w2?A4E3jn9Pmg8mAo1{tVW_opN&K&z;o4PdRRi^;x`9abE zrdL)nsjF8m7gPm+HUEzZ;Q7*GwzzOVTY0&hA-}Zvu%NL6aLo{70)UeM@Z#B%GtMUi zK(~VP0FY!0z??uYj&Lri5SV$pp3S`9`mcZa{>F!F_T#5q$V>Z;*K23&bJwPvf|HP* z{qcOLoFzC(N10~`@L1ac2iG`(Q~}_!mvMx%K6$PQ0M@P#fV_?Xa4y*7udl9V(`#>X z<@tcUt|N8J$>vQb83OX0gaA050wA4q0nn|$3t$u>FbV)126Z3MIRGvPeVt(I`hexx zn`Rld;qj#Apo-9I0L}tj0*xCvC6qtV-oCn04N&*P5@XWxI{-J z1X=S|xsYOXf^zZmdw)N7j=z;}h#R>iK>z}s=Xt9f_2c`uLLSRiL}nF4divP0Mz~t;Ohe{nz}jq%2>l+lRhBocYx4TQ>spxkm>@6 z_8p*YDf)MSwk0lpxOgD|>9DqU3IH7AKVi{PI>%#eZxV9JCAr*{o1c1}PrFv@0m$87 r0*>{-)&4Pj8YY$(#NH=yhN+ctX^~00000NkvXXu0mjf0rLnU literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Hoshino/textures/for_modeling/water_flow.png b/config/yosbr/config/figura/avatars/Hoshino/textures/for_modeling/water_flow.png new file mode 100644 index 0000000000000000000000000000000000000000..2b90e8aa69c7ffe311e7ae64eff74f711a8917e3 GIT binary patch literal 5489 zcmYjVdpwi-~$eig= zC!sc#kiyhZC(I>gB-doQ{GR2U-}n5pJ$qhz?e*IGd0#&%R3`_7iiQdV0zvGh>~R6# z@eqh2L>UHNv2Pv`LLlo2d-v?3MSb|3+xnZH-MSaki@iP>?(TZ-XUQh&o7K*nTC6Fr z*i7=@Cp;Ry-);Hc%y{Z&g8SE0>(ixNt^q4I_v(6^rEddo=XzPoGoK&zlHwL;JDZV9 zO9Pi}ZZFLb=M^7~pZAZ$+04tz`AgAKscn4_9w{3s&T|A<%Zqb|=zKGFeI}H24zcj{ z@8E-8aef<0p$mi16N(Cpxq%%bhcmXDmZaSB>m9{w$Ez2}3-X)gh_=xiuqjqmd{u|U z2|Xg!tvTKbIolgI*L?}38?ns z2Z;9{-`K%V=L4Qx55m_hQ!a;^v>PHyuJ1!rpva$dB9?4ys<=lr(mU4#OI>a%>^C=` z_`+W%Mat;>tl?3mPUF<=WPby< zliu^dtE|Y`8lr&Q6rWpD$+bBJ>4;K&z(o++dm(%6%!uvp$xGcLc!?c?ak~Plq+*s| zc$BTjG6+-%E{37G)iU-YjrlNhL5m`}U1%6-ubVGW=dR&Y*1r#*sUboDiQ{XpqFZV4 zpEwzug9Tl$%AR*Z{wb^gEs-3YWW&(BDZy(g@2~!|vT@5k)1T;7c?#^0QL-DQKYF(Z?7Ojbuvvzg*hCL4i&RtHOq5|@FDs%=YU`(B2(NI{yZ-Qg1N7qdLE3gr=zehiUzgBoL|pFfEJ8j-*o~FIa1K|C!vH&poP1 zoew)Nf*=LF_-;y(iIJ7{_P#ceA%g7k0h2Fym{b7XZ?Y?2`*CZ_T}SWTSZ4?RYlW}F zT`5X|bg13ahR43zaTDa~Ap9bejvJ$e7nHCQrrBtUy=))tuQ-}( z)Ppg4L`>27ouGB7?|;6Qs(}RuF1gPToD@wlxFqXMCDrpeTx_1_rKx8 zstfsj&>d7Ibd+5^7r`H%bgOP(iH-H0Ks!Jt=t%!8}y$xVzi7zWo* zoB82kAmc!I2}nP$li+g^Kvm%Saz{fT$8w=0a+uwO#`s@_$Z+QfgipSLij&8rj4XF1k0Ph8#JYkx z)GV7Y-|hIjf|7L>FMgNFoAbn}VWafG9ufRZcmF8@&D|Mr-+!9pvr#IsASW!o{K`(C z+bCVZEW#-71j_mhIieuB&5aaP&{X_QVKDnFLL8xlLho16GnKX7R{@mNXc9KEErD(- z^TPKX*&b08JMdoU;OaBmnCqMEI#NrYl^a&&6uWx5nP@c7`UWV^f=|>d{!x+Qj~ai# zMc)27D8IDg9(dVHykElhZOwbG9XVr*72BO%vQ9g(pY;*p(&L_5S>FD@6V8hfsqDWY`V=+(I=aE#W5^DWq4r3qZeOk zc2T*7$WwDB&!j=iyJ2tSQEYfm#Ph5bGgir2z01Vgg&P+n-p{y!2%qKbEbfAAzNO=T zH3e2a9ZAPUUrwH1ZTvk<)gWhW>F4m7x)aQj>kr{5TMuX3oVP$ibXt(?iRN9yH| zx|})FDz)t%1a)IREVPl+)ysE&)EeKzlZWX_BF+s%s}7tgj)7GT>TdMYj%xyLBF`pm zRN^nmMh}c7ug1F(1<`6Q_dw-)CSH#W9qdHMYA>e4s|1@^{#O?*kxvhUpV}T)5<}d6 z*dtb*((@!H5F~3X6E8eVlLzri1cSCImp)VcD_ozah}O!F>VViK(Q4BMUZ-2!B^nhP zY6=#9uQ3#7-%&Y8XFUgU*1bAnD<*{ZDN}e-+turRwuc3&Z7wkp>ZiY!SnS<;ioHQ? zn{OT0la52L$%N+mt_KrH6OX}^T<~xun-pFyTV=LUk{Rnu1m57vjC=Oc8{_qvw_3G;-beIvClk@%oqqn9jJ^ zH4#(($A!=|t$ClJb{B+6s$k|dlM_Uj2LSCwo%9ej{nof1 zVtJv>AQWMA-v$S5TECJfM#$Pz*l%DVJh}=gSt^wL^@_ao239R=3o)p9n*kkv2Accv z0tF@37Q4mA(a$l9fxnW~+V>&ku`^Z5*1PCKzJ+|*3rh!mwvG&1>I%SMmV>5n!4mte zFB#XPhSbAl!$FM8AWE%5gUz&yTKN;JI$=#KebswgQkPz8RzSmz zafv4zKMAa4I>-?7P2NpncGY$t2V6GP^|6b$-;Lwp>xwXOw1@<>e)uTiwr`=8Eq$f{ zdN;#n82Mbe;cz(UrWj0HspI*ONp`lV-0n}pWVj+qW8I58?ZSrQgLzIEG3PArAQ({R z&PUa?Z6D-Y9;)CTeMxp5y0l@<8zq3saEhE+oqpWK0Q3gG$WpKel}9ug02GfN(>4)2 zc>eiC<%-|?zA$G_XK;C>ZxCLInSzR+&>;P_G_gFhr}sG|Qs;XZqM;QGbU`na0gSbp z`!MZ6{I|0kM|T?XC7iUSba=RSAd3gGLmpNurD&1K&Q0pL@#45Yux04)QQp#$9BZfw zXutAu1f>oZqW(u?xo))bL61&?N7*&wyqmdypX|=M%SC#({sPDr*|kHlFt50YhsOd< zWC;oe3iZPUViqykFevkYL$Dj$x>gufDGbTXl_b zpW09(Bp4$SHGpg4(U}YlapHSOpnc@*>a|lOR!|tZ&*crEmyoz zy1Wnk$7_Fld14Bz7$N4`JJ`H>*`-(kF_A}#T6e9~LnRLyjC&3e0qo6>5;)Lp$FFT{ zfsRORJHxueCGP`$x7K9ykFq6c+V`C@g5#2oSpjd z-qRspiZ&Q&_ArBmmzNyq{1cE4i7AZQQOxayq-@MoP)cjA*IRZ1Ne!bgfC(6{4S#oAw1~3WGCseH}4Kd z@0uAKwUkCOYu#sID>T7+4qnL>mXS)w-|jSEq6)LGC^VJDugfPKgFLh=h164)CkGk| zNM`q`5d}XzE~_{ZIBS7mu)Lv4^be&Qb?LL4uDM|{w4!|mbmM+{M<_&k8FgjoQ;!#E z7xiNn5$PqHHP>4uSbvrVvlU?>7<*H zIz6J32lL)PjFI`U6=31??PD*&T^^U(7~sbaF2_6yoVDH9&+`v72@;gWQ})!ZTbBs` zKK(?w>98D8sFN_@9TwW;4AA&ZTU_~n9I=~(%PrDkPU!|V2KH_L1GBEw_(NAObZ-&3 zY*06sZ^ND)$ib`VX~D4xK_*lLYpANV#7ZdQ!rvKfG9A%~Q=`GD6+>f3pn) z)SZSB$r0lH4LX+G%RF$1*J819X@hZdh@8+6b5xHUdN-2Y9}1x65h=;aAaCW4Dfiod z5M_!hry-iu;Fl?s527eO_voCd21f7>g8`HIsL=;SAP^2%HT12vl0C$$567O+P}3yu z*5Lh0=l}dCqrP7c<mzxK#x8x!twz{@sGzBW>G&4ZGH*Yp)|JD(`+o(;1 zOgWDXxa*6wDBXL;4wrq_6VvvY{muR^7Z)J%EpnM)0PdsKvXT(T0n1Zli&x-D&f9J8 zmFXV-#(8_`!Puy7VtUW)`zZXtxx8F>z`|puIAVf4E8r|Xu6}C@5>^`7ZA`pgeWLo| zP&>;yEo0oJ!_dtEvvq2FYSx|b(9Lg?s+fXAeRpf*wt4m1bI}4!oRPaU2-a0HWE~?& zBXzl!LOpFr_L0X&q=}CfgcwfcK;@osebtEB0_$m7Cant+*gWthjg;Q)w#`7|f~}W! zSIhiWwJ_pccfrmA@wlu?7F>k)dPmN3GCciXUScbZ)HIfSmLwh;v;R(e2KgR^;)B0^ zXw(4cN_5-;Z#wA}H}*+!W9^-rLISq)ufofYjW8p@yIZc2L~t2=I@EdE%bsbq<@0OF z8~KriJWWDa*sd6H{!*<~A}@Z9Q{R}E7sm*-w@FP04}TEk7Ky2GP-ufTi}%aN)TJdN z11z6t%I(#Zs)So$g8$QyR@nD12Se>x%MiPW&r#ckf898<-}35s8MgQEk;rLhCaeK3mu5iGiFx*`l22@4!F79&db>dByPQbjR-v2Hl40|s~cBAy139dMK;uA6C<^ErfF8IM#|s%}tfW#g42F6Cdvx1X7FqWIDbS!nuF_Qs4M2mY`SMS)XQtn`Fq)*cEQ``3lA)W?)+a>?b*SP=JuU{`efBt;={rmR|$p_Fwx?p)xbc1{|U-Evksx5ES1?ZZQ zRduTt=rc**B;TlOV7-8>YI)cD`}<7_UteFhLTUVAh-CbW-iX9`D`1o~u2BHXSpF^x z(+xT9AtXNUa>eMix+}(RO{iP-@Dot0%l>jJAbKM|%+eYnmj#h-oFSS&fBxJq`FGSW z==Jrr%!Bcgx3{-D^I-dgyYYYvBUEj~1K0*rJQyO$@W5)+0}sZ}qrmZ&s3EWCf!UQW z|QS!8aa^ zUo_tJ?=BBUA({tLKhSf+G9I{%n4NIuhx1)|kop8I`xXz-T)FW8sj+APaevwL1NmS^ zCpbvK1BkA2iU(fR@5ckwE`)AC)gHrq#{(9LzER^I@__Y#@xUk@@qiy_@j#0=D^OdqJBZB-$y)1>quoDNW^OqTeaEo zAUgt~eqh-~%Xy%CC{>KiB|PBTuyJ1Ef%SQ19+>umW$L$hAU#%=?B$#JZySL32ibX|&4aT4fcrp;2W&qq=fPP0T*Cu2ks?3Jt`W0ugFLWC;C*?3 z%zU`sh}=9#ye1Fin?}iKtx>XK$Ae76Jpm8AiDVfMS}qXXXdw?QCRpOzYM?ue9@^}0 z*4FER2iB~Vk^-U*;=%Y7`7)}|XPO6QFi({S<@Lsp2VSU1i3j?@$K}C!_QG-=WORdT zc%auCN<3ggL&vCbpD=kKt&`Juui z6c5tt3vMI~GV7P}U@D~Q8Xh3Ki93tb59FvEwK+KBT0F2^VW{igj|XUagFKMYKxrPJ z$zz%ap+7NO3%$N@8_pRioWcWF3T+;E9p?T#u;#`T4|E_?N&q5;sHm>m^|qE5FihtRW8^Qqx}j?c#yIemh(XB2+~!1eBzcwlXG$kd1}J<7(NJRuLpyoWY| z9C%QPe3|BfHkH#n`274do%rOfE%88;E<&v*qe> zY#t1`Ew|#F4OhBKJg8dl{}2y0f8rDmX5tgi=YgK)tcIN8!7ijK!vjkJeLx;)MIz0E zXnjF0l}IPWIXuW_COMY}Xf7!8z{8u%gUB7YTVJ@G2kX-pSdFB4fYv0><3Yx&)8fHF zL-F<~w0ICj#kuhZ(>#d6iDYc(8OPmdtf7 z$uUFWG7fzirn>u%GRvi zrm!jxb{@@tj0ajj@OY4}!DH}XY)v+K;6=Z18>IY+)`Dc32bui~kO$fI1w<{1()fft z$ObR9^n(%)s+sHl=RuIkQ`-xk()C0<;Pu894^W)qHn}e0LFD$5JdoPTS{_7MStD9$3*|Ry@*<2VSUc=#2A{X`vmLhvk9iB*`LpfV5K*%|Rbo`&GYCq|+7Wgd83fLZHiGEv-@ z2X3ORQ+N<&@~kB6Zt=kS975|S-X3_Fp~vMxD<2Btqm^_1aD+rh5~ch|rObUj%^MP*Oawaz(Xy08;~3d2onN^jtiW2NvE;KT_rd6j|^Z9-xGyC>kQkyQ9eELA1UQp1;uMf!Apu53&apOr6JqyuMUDE}_JOXg^bm z2c?q(GX==pfvJ4!{4+v5c{)%Oo3Q0aTE+wK{0+Ig%C%fi;en@oQ03T=G!Hy${=fsY zB$iD=M|us(8bWGkUJV-0s_vHbS|B~}u l(>$<-czB*GI!Xia;4c+w?RAFT8E60i002ovPDHLkV1lt{nD77q literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Hoshino/textures/for_modeling/zombie.png b/config/yosbr/config/figura/avatars/Hoshino/textures/for_modeling/zombie.png new file mode 100644 index 0000000000000000000000000000000000000000..86379b0c9d6f4a68b7469bf9052cf961be2405dc GIT binary patch literal 1007 zcmV055WU}_E=7!*kPnCn4n$pI8<8S~0#+IYLTp3`4j7ZTa2Zl5jSE9?7jWl4qW`qf zTi?698|~>NBEsoB1H;bkjL&*+XJ&UV%WCAs(Sz{({lmafZ5>kzU$*H&Fnh;O3j$~> z(3Ha03IblAZI?jPR#Kk5*(xdLTSEX;34rSAx0V2|G_yc6LQ5b;Kr2chwdx?iHp12t zp!KfxPvEu`v;o4`iXKq4^|2JR9CX*%2m*9#({69~_tZ9LSHJ2VcE=z=h;7V1Z$a}1 zDuAQ!gQ#{(v<*?;qq|3HY*YqV03_k#&q4TfF$`aSeF(?1@$<#IIG5TE7af|oooZic zT#aiQW5kLdob5*7RL)`4Ezvee9W7bRkVfwF{IQq=&`zflmEiddpOU3nqgg=R z0o%QG&u8s3md^@$Q7=%R#x$k`s5ro+R%`dW9-0}NX^m@w zc6Cx`ecE=VszI=YMrL z4B6FH$gZ#FPM4UAK8=TBF8`Yd4hmc2FE4KuwjrR_zfJ;RCkZ$_yj9o)GW+pGrw0&% z(|9Ps(yt_>2(xi@{#6OE0BZ?QFiJp9!rba=JP9CR1<&z+5rCDiA^<)m0ME>nnDzt% z+k(;6$9z@1#;I-Nk?PDE*meG82q2(E1klfscJYs?b_G)e*m!1&%^YcRR35{r){py% zYApd=NhLs6So?y`(=LIrHLV2DR>EM{5TF+`^b=mlFyczCw^%6VsEAvN00m_;K<85a zIY2i3l?*83nYL9#s(*HMZGx68Lx#Oh zb9G4oeasM+2IE$0f>i|Ax>ubepsJbixr#7bI)(tIIl;3O^usI(Sg8bhyUz literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Hoshino/textures/gun.png b/config/yosbr/config/figura/avatars/Hoshino/textures/gun.png new file mode 100644 index 0000000000000000000000000000000000000000..0da718f2db3fbd0918db2a0bf3b6f44e72f9dcb1 GIT binary patch literal 1466 zcmV;r1x5OaP)8t47~22<1xHCl zK~!ko)mm>z8)qDT&g7GbLKLz=w~`@xo` zPd>-gg@5tl>jDY^kEdGE9=kHk{Nkg5AW5z#aHzRO>T?1>XRsRpFgG(U^nDs30FeB3 zg*wS=y{9lRG%B^9KIp|?caplqsEKpFOW^U;v|;#d!2lTm%5c;n4#{JP}t7Y?_P^0ErF z_ybs+pEGn5Jyo?>8@QBLq8b{TG!NsKpX1cACywm6|*nVv|t?N%BB`q}h+9 z<#}U@QuoUh7U<|AKHmYL-UDBbxu&OfW8uluy$X`F<0dRq6)$K?I@0Vnrzp{Gxnfiz zaSy(|Eh`(f`CAn#qQNR?@KhMy)I_!dv4*ay_9SM{H~AD0McXS;cC6|J@M6;V{m>-v^*i9#x1|RozndG>VVT zzoj|v zMM!Loq*5u{DZom^CZq6rYxNbyDgm+p+j40n`5i*Xv&NEef{{ho$nYp$?L8v^z{elHZ7Knj?0Q~Hl4zwHt8r;-)l#MyYrOp`%q>VB*}o+Km{rA+Iuc_6aBXMN^buu-^#zf`KtK^$?4$$218v%ki`o zn4O)?`INu-^5VWP{@TQN!R+Sbi~#}%iBz<=x6=rOx@_3l*|K%IcXFsnpu`Gw|GuBB znHtLuMA0l}RTk8~b$Dr4b>CjTY+IsAbVyMKARV2I3hLRogoli7(;K?OQllT`O(v0>MCl=1Ikh^LesfOKZ^d#nXNX zE`*|3*-fn&!cx`Eo4;XU;U`3++J&vSU>?fz|D>!|6mJQ@TSqZ1C=&JX;eR>*C_#gG z%;l;o=$i#6T%#n_eMf(LVAFrHbqu5!7mfEsZ9{$EV|4-e0Z UGRGf79smFU07*qoM6N<$f)W9{Q~&?~ literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Hoshino/textures/main.png b/config/yosbr/config/figura/avatars/Hoshino/textures/main.png new file mode 100644 index 0000000000000000000000000000000000000000..c5c6345155ba7fc07f17afcf20a031e3123a120a GIT binary patch literal 4815 zcmV;=5-{zFP);vg?ngO(NI<>@-1Y z8!3uLwNY1g+7yO@)M-`MiHo!iP$Nm>IEW(K4G=`4V+3YshzU)7g`#Pi;^{=5$({aj zoYm~y%+Bo0?(LGiA3*Nj+nKlTy?OIyc6N4#c*Cb@uJ1|$1-ze~q$uQp${bM0SBdPr zGN;Psqf#hq)9`4ydWTY$B#_spDCB{r98hct(&jzX7)C^84lBCb008eyR1G2iP8)gy z096CXX!D*r4Sx-n70(*<2B^$cm6ItbRsohqP+o@IiY8MT6Ga}a&EYASyUUbXr~dQ74q-~N2pO|4T2J|W=tknX{JgSk76G2w@6pf1TfF>N;4qEF3?NU0Xa!)N7V=m zvY2|3h`dw~_Iu%&yLz*fd7u?9?tJF4kQmumU)@~|H50?og#p9r|z z=Cj`hUD}$oDjqy9$u)2IG-a+&imf2)x(S*KAS;W?Ta%SVpt%6DuA4A}d4nU>5*Fp) z!ClJ(fLECVA7ulNyJ3&K?3(PUkmsR$oaT<+;0Pt_x(OYdpk!qS0RTEyqGVk$P``N^ z9h;zJT{rOtM`(aIU-G;MFvC>lpbZ+X;{mqOxn4+oJRs|++ju}$p%2%UIk_^b@c`FW zq|Pv_0xshL8HZUF0IbIYvJSH$F`zLXprkK_@c`x3DB}S#6ooD+iz8gHG*u+I@ctne2Fg7|c}7nCW$k%aM z6=9t#6=E0bgpN&E1;ua=h&mp? zz&|MQ=dACbsRFj+0il{UAjhJ!+O|!beOG_&jS*r?XOJf36URl53yH|HZPR8tHa14b z#>ObUFit1#`#2Tpw|-%eo|~Dip|ig*I=jaI>F6ruZRBJ$UY;6Ih9BQSzkJ;Xs7Sy4 z$WQ49c7LgcPAQe9ri_!pfZW=qLWZmNT5M1_YoR*+;Dv8Fd4fN8 zNb>!V=Xs%Cn9Jp2^FnD1n3y<^R|Z~I-sGD8o$*Cw$-JYfZ~ZVf_Bu!n(A~W@G?VVS zEB5aE-9-8GPRo2z*y#-#9xjN)NcEecN!BFR`fLCeTl^_* zY>Ex{-B3M)V2+h0f0WTo(wOA)k&$WjPLV#WrO?59eU$p&@+{0TV)Oh`Zw46>Z3^S~ zL@x%UFG0%R6{TkYQSp=vk>0R)YjgE)o?bpK;16#6Slz@(F9@DGPjegA67SS`ied}2 zD_JCjyvc))>Zs~00np~nZCFbHfV8#%t?4bOQumG!!z%+X6G|yXsRYu|k=hu8v?Jtt zG)+qgA!#ZP*iVw84te#=%X3PvByIUf_m%PDdDtkyl#ksAys$Dwb=PHS!}vrsCQwy6 z?6);&d5(saeAKkA*QI$3&aDtdd6PU*3>l>-sB)KBszFqDv~gbT@{dVxzY;`6y0K?hmjqY8Q^5G4laEH9R>jIns#sCf!7aH!8JezZJC!}zl6 zVK?U6ds8IRKd^ymKR_j@N(r3@=<*v2X$l<=+n!*U0z5;T{89m}dSwQstm7?f1$3oP zgrmwUjH-@ndv4Oz4GW5*0m76I>j*g+0f^p|>C!Xhbq3}Qpi?sRej#+NVo}?3lWN1# zXbr{ZF}XQ{kv>WuEs}T|)TK?mxsoBy@cYu-H z>Mj5LbHBWN{&(+L4O=|_z5n#jKl0H(vgX6!^me#=-6oXFQ-Qzr8@5W*GNoOVPXf6p zZa8rK7#TQzjBI%K4!`8v+PVUNotCn|sNkwY%GjTKHYAfGSP#DH>nDm2f*M-J5(Bu&(KfJrm> z(y^mfH_MvxfMqjigDff!SjK?scI^&z^+KT)`Fz3ml&mTbI0ivg0BmdP3K(cf20_*W z$o|5RHE*!?0M-ITLDrN9>Nrs{i^>CankX5k@^L%>@u+zmP6AIKc{1?(;3J3di(d>! zejL6uTd9$?wYd=Q<8ajRfT-!2H`qQ4@E*WF8rz~S9-xAa2Z#oU-2>vr(?_1f=;$am zZrtb}w{OqR7JLLSf6Qei7A5^VC*Duze&Z!Qr^|TD(yGp-i?tf?Rmo+nm@aMDxr!#c9+gK_8V_YZ zKqgR>RbW_tT^>RRQ3+>SQYQD}@585)wgUW(`NYPqqY=h5Em=TZ_hS5bJwkheEOA&V z0YNw8h2it7N+1ftcDpaX5V!e^o*`9OTm`nQXQkE>R^AXZy z6cZ9_1=`vQ*fr!~*N|tdd>Y8(s=maSzpsB&V!Y$RvhN2Z`f~L6z#G+*>yq;_S1fxE zNYntOfA}YN9t+W4{L`g3MLxI2%{@;JtK04m{p(}+(OsX#$@LFe^S@$Uvde5aKMnR@ zdtF?zNb%ya?k1a*J44Z}6Opm-$BEqhjf?V^#TWUPuxo>_2 z0C4jypU`udIqNJ$7z&;5!H>WBR{($y-tyPR`F`@Fr_J6L#Zd*4^nlZE&REH1`gp8g z=0Y%#Zako;w~wAZGb~LLcFhLw|Ii)2Y^EhH!l)TEeMu>T(s{}TFp`3;;tW~?h%Y-$ z8B;n>327pPG?Ao@-~w$|IBFHBH~4Ch3H0>#DFu>U>*?*IQRs0a(TAZ=m#TY+{$sIO z=`}1Uips_rEb9i75>usNC0?(RXIS=6gU(gJrnF>vM3-l2lCBD|GuIg;YjrzQ!pIQT zhX{KbOnp>%v7qh-xTb$6O=~&tOn@oBtc{Q*7|jF))YE5@em1b}>l+V<=n_PI7!vm! zc;Wm19lW6?|Mc_}Wzl?V|4lyK=Ka6PctIlL0pic3U8Vf;`_xsb+Q-M~<^o1!KFK{-1>-+-zI@y=2IxPDt;M|#zyNk33+dP z80`SOne$f1#SWs1s-|%63Tt5N1*RUb?7PCw2AG|lP4t*FoU1@q(WnB3$miDd;o)ab zp=Zxpoc;EBd~xrFNDN$>sw^PyjSr(|&z1P(%xN6nbLFB}C@Q2epwzqu08pGAue(5T z!MG#D+HqF$rRFuh;{18i?Y#;~du0B?g$n?H&IJWK75`Z}5uKf#n4O(Pb8~Yd#}$dH z-#`Oe{M+!`RCc~pU^E`E6czUowsM@wv4I8}Xuvg&G~!GHDdXXxNy;A^SngO#OJ+s} zuega37JCbj7njCVO^#lw9ufP;4zBYH;(q_HLtTc&vpl~*Yk)t>2>EHSGe=N`a1)lqtgHEzE_7{*5o%R<1aPi{X3R=|=aeBbbciXR73;=oE_y69@ z&j)^s>Bap89{B9vqP=}3<_Ym9IL#A+_V$$kfPoXoYSN!Oa~9wDdUX}*a=Aj=+6vfr z+r3!d+k?j+dr&FcQ~&%p_v>+*nf(RU_x9B6FR;G1Cp5hYEeRyHzreoR?gi`k?t4Ewze*m%Ts}4(r}(F{$~#zMpu`epi@)TA#+h_{`l3yf3M6R$I{x) zRiIp+lG2-UbJC-jx2vlQ?X5)+I*;}1H`e@48qS~1$%MS{_FDjeO63v&pipQ90CcWg zt<76+#QxpjxC;4=6 z_JHHZe-eirYJ6^=K8*wN_uTs>XC_ImF8`;We=-I&)sVIVPaM1(PaM44n2D}y>w0|Z z(F1tu(F4ZvL_y~F7iey_+oj6%@i_MN1nY?#_uT5s7VCI`h%E0fV5>O8vfp1oYXB<1 zgz0044%eiU(c%DK4I0QAK3$rnY>$BkGK$PJX)34!sA|ErObm$uz=IDzN@d5aVbOYk z4soqD)_@5KnzsRIuhmsHgBOA3ws1seMcWDA+!U%2aZu8h{ zGG37R{RLd#|LY9b*k3@Gz-CA+&iw^k-~a1kNMnD2IG8MEEc^WhmfYg%fc~W^UxgY~ zAZ-C$Ve^Wd&y%_VuDId~r~Ix1AF1yzkoIKhMhtLe;5xs6UOMF}f)f()fT;5e!jRe zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{03ZNKL_t(|+U&h~lw|o;-}(9d z-WGfAwPjUTb$9h%YV{(ugcc;wg0ThxCZ)2;ujTV9v(PYRIn{{V*4n^&#*>qxX#(NnSc7FxEBAcR6A z5n63t185yx2+(@-_nkg&jRMx=?<4`GL1{%826(OqXuO7p?|Eo6rPVbm8)Zr>Yc%Q& zmTxZb!XG_*tQNe|idwylZoAGq$+vyqxAE?8crS&iNivzt7M0LF*UQ#LRng7+7p*~b zv;;k0V_Ty2D@OB4{NME(bzXV7-t+v6*mS3z2%lxwFGlEl{odzva_fMz1v$KmG$+L~tUs>NrIm zg9kBqw4b>nL>JJCWPN>|YPmwaUZ;#;d0~l4u|&C8!t*>DwFc$&5&*^Jb=GgM-7yw# zuK>`LC*S!5k34pX4}R!RBBVg;?uxDv(b^Nb4JHKDcEiwIZUQ_{VcD|vy0LZXYgkxx zdH(ro*Lw|c=8Vn559c~;&WHC123tYk$N*r!%Kw=k{ecc`h>jvUbwsqGs}P+a-UI;z zTIlv)qR|Eistr73{PQL-M4z#=Mrn|u`Ff6-!jg6_yv55C~S5S6N+J;n~lB4Iw33butO9#v3RAN`=%KW%j$FG&wuLU-;p_ z$ldo|q%bkr#p<_{zvymORHW_k>e{mIA`8_ziVzshdlxT;hO2ny^BZ`6_j7h^!Ph-C zfn{wPh4y9LFBo(Kfg=Zi-IV`#|G^JnHyMQugh)rP7J>CQA@iAhu zzU?-50z(tUV_4ALSYx~LLutK8X}w6OLe^K;D3>d&udERU0o8Ji(s~gPtS+vwy0AtV zsIeyRQ~bcA;Z_fPoQn_N!@J)19=`FLKZumF7Y?9-s%|qjViN|$_SM;PBc%|rNr-;0 zRuB2?=QmJ2ZhbB*dFxvWm{N8gHD<&60f9pYfITb!kNiN4b_z#Gw9t{RHR+iUXsz3* zd~Dt0&$RAW%ldD373wXwV5@(vo8CDx{%jD2s8A6G0a9xM-^cfTG_bO?OnH5Sjq(QN zVwsi2WuE=qa|kI2!w4v}R;bugk1h6a0|0=O63a2UaNh-f@Q42jQ&UsePO8I&EH{~d z{6f1uh};F;T3(`!xfrL_`TDOML(S-i14*1BT~09)lff8yP|eVMtw!ZCvPvfJo{pmZ2>C1xtt$=Q;wM#D_+K%>$~6Bz>xvKUabG`{)6w2zj&t~ zZA(qNuD2s$6Anep4x(tdCJ6k>pa9M4$_kZ@3Ja_22muQ>Z?n3%%H`)Tqry!q z4a7gIvBe$(005?CaPLF+@Pj}6zd|NUHkaFsH$f}k7$1!dTVj1hy_?u#0tL2r%L5A z#np8{v$ncMWurp1TBT8MP_5KhUs*$ISiHT&&8v%J4H*MKVsh%jY2Nw4Z{SUDd6H9S z&vvNQwn%_(bJ%00w-hL$(ILF>N|oD7eoy+}rbwKhceww)%;uJJOnf(l03ncC^F2L4 z;79o1Px1zOBC1Esn=>0mseO>TI2aIzlab56)FNh03Zw% zVGwp$@Uh%!0N~PaYlr$bQ`r!0}^vY9MG$`0!+S}Z_pd(qIEo3|Q#?Q(r@ zOvDhNbWg09K56l{|HFUY6#&d(xp9Bv(LBHUi@!ptw1MyXtS+tc#_PAoD|#$@5~U7* z2c=PM@caMYr}*4&{{bKV{_o_{lTUE^+_}iYw&fEvw+MA}H&1AaC4bM#4-kYJ+6`TE zzq;uT6odYNCFJ(=C%}`t9a?v`u_i*j937oQ~3cJwcUYG2qEP7wvA;h$x3yj%JR)+{@suNH2>uP z_*;DO4?jb_QEMt)%M-YEqfWUR9_)|x$QDJxU;FwG4IcyOX8p%9mg6e7UVnq1`^P`Y z%;{PF#Gn2MPrmaVIO#Mis~$IRdk6mmV(XSzlN|uT?y;~j0~pI#4k0eFd~=D9{qv9V z*ZcT-_P74kr$52T%?DHy2nOD%b*2efL0+W#k3A7 z1wO7)xGE$FJc7{2wo_=OFzpmaQ0mhET2LXSh3owG&;5N)-gAljpZWmv_dbdcV$YR~ z2az!VB)wdlEG&L5~GNy98th!aTE2VH7 zRoq5}Om>oVW&&#z7{TIoiVN3x?Teq{;jjNTPF;AIxpNmgO23n$|6>M_G?Gg=e@ZZ2 z=mmsLhA^6OSFJa@B~%d-u9tChh;khSv!Y%C603dFtT`hR}Wtbfn!Og^I#f~vSF>Ps5K;qpTWH8 zUx#6UQVK&W@>)d}TZQ;a5da}5Tq=Ixp~8S5@Hy?*S@9Yy#(DEfg^`ul zinP|$Rfw+@s%@baw*))dRb95Wp`u<&?TT*O88VqXPAZ4vWTFNeZB}0h5kKUP45XXi zp*0w$MZPfGaxIE$w+RDp+wTY=P%5Odu|mCCB%LXcpO_o|xRPP;(jWaMAjr*};`BY2 zc=LO|BN0Y027rA^+J;9j3QPkWtLg9evF|DbnUv9K>Fj>de6!VrQX#02iP&2EO5tmb zQUO62;Q21+LZ78Zl{L49uT=*-d83E525@^=Ys*SunhvIAV_B)q*qVk^I)`Ccn5Kzs zr@K_N4xZjfDUs4)?&JmBMwME%M7_4r)%Op>fJ%9d^2RFpi4)j%3dczgalkNcKeoES zD=W8o{f|G*Q{VQ3OrJPMc4DR#932C|AxX-HyH1FXh2HPw&!jsqdm$^4B8nsAGcj$h zg6lO10-tk!gAL!K9QZ7I^_Im(g{*5uEe!B=u}$T-``2P~VYRJ!)3C|qrf^a@ zY&+HAFK=3F*GDXlLMbYTQdK(1^o0|Lu-$mgeV()r{>d0QPNd1i75kasvPwZb-uo_I#|lX@?Iz4n{UY zk-F=1?bbSrD-~`nRrumcjfNW{<#vnhb|_pI|JtxH3=_+8+VT(t=}aEWv|Il7VOZ#+ zP!!8fF?;d?N`+J_>$r_7o?Gw23N*ggU~Tmlww>dNhC6601m%_6lvi$Z^TjVQ zF*na!KlC(HC(a^Gt9xUSF#sIsdT&xl1+J$_I|rwXg{(zI_^taDh8o*4c=+NR_g$Ew z-tc+;)fHa8vW`}*zO!gFsZ^fA#2g?-3s5f>)P<}tdpuD!g?|keZbMoFdap94-bJqh;i~(Tpepb{@ zOokyDG}V}1pPIFK;JkwnkWIm4UM8aaUE>QWli8^ZT7zxD^hAd9XQp}d-ZG*(O-+Xg z0jqw%(uTaFlZy75H78}XYjE<+eJw`ddyTHg@w_^Cb>65H$z~@=XD5d~p8#O-wdYv4 z{8e6Mi6lS+4IcL&2!Li z)NSc_fg+!^Iw-nhoA_<*!Rrl=TtPyiNH%_LG88NnGh^J|r+bjgPm|3~5~_ektxS1i zrRQgBwGA4L3YMKFm!H9Q(nJ3JB(Jt9f3KmTBhLVoQfRGkw8kXbzVehJP(d^z%X7I9 z`naLTs^@aMQRz^^8#^4kqCshmQs8+39bI4J_hbj<7Fee2O0Y9&v-R2HhTHMJWl9V~ z?uZns%g_iNH-(Yo;)4Avijf<c>KMDz_tbxH5O8gmH)7;qG^-M&ydT{v~mf&ZjDBTAP9Ua8>>{yYfMa@z)9th z#^@01BRSK>n=g}9ielhW3xkeoE+JsK&0_ChqdR^|rSdpV2HVMyN@Y8K+ceEM5*~rT zZlKbviH3?xWoI1=IA3Gw>jl1z4jbf$psHK>$VaU0cM@h*z%3z(*jVWqf` z$+I!!`20PFQK>zzQ_A-3fprHPQTBN4@rCYekD+sR;A&OVDe`ct7GjB@n{dhuhw zKT7P-+gy;npY@$3-Td?cQD$r>&9rkC->b7xT#j}Kx|oh2@CgE+SL$UPX^@#bf#YOg zNLj&=oR!v!Tz&@2bg*m($H{F8idoSfwv@5OK73WE)HRbiabRevH-e5mWC5)>K{H?& z1d4KX=l*a;O2C$n)ZIJ1qub%bqGhL(Ya*uKqbzfR_27y`#Ou&szLY*f5m2a}{yX2Ai9^iC?HrZ68LUcR#5j{8orBNStmDf0>epT7zPYMmZ5o67jW36?nWJa zHtD9OT6A%6YwsDa>WzSG+8S%p!B^5yfI&7lNjj6qZB*GPE}>Mg?c6lrs*uL| zEer%sD#v7|fX?JNN*Es)0E~JkAkRI-Wh=I~caO%SZIcTr)m6C#PZ$)UJ>ShVl(1k~iOu}%uDNvM8Fij>qL8-We=hn6{0*J=? z)fyFORH&3!m`&vnh1qDAD`7AYThL|90D4F@_RNAXBvcxuG^Qyr4Wom~H{75@c^$`y zFEp*d;8yViMYZPd`1j`wsI>jua3yzI&5zd6c5F9!>%%sad4pg1RGpMH+%!l^qm^Ok zdyQ7JlCG>kDVAy*r0W&T>?FBt0bx0#%>YJGUSCrzJmUcx)9`Ujk4NsEWFohz)b%aO z4=|Cpcc*ZAhnKZRX-%jVL8zm-j{=TsZ{?}H#O|TMvlEhUdgnyf?=GdFRH^ZUADQO& zzEozV7*cHv_eC;I8`HE&r}Jd<(-c>45r+Qu)@49LE2ykdtrnS0=b$i)Z5XJ8cMiq? z&_e?i$a2 z(?eMvf78?^yIL!?5bylFLpCLQ0^&~BSP*T)zVB@X%GHqNHJ{~Tz*k=Nu#6$TP(ol? z4s)mO#%)xo*UHqY>s_0VXdN*ET`e)6%HpPT*qH)C8e;%B+?&?f@weGCZ(9di4aR=b zh=UN{j~GQdWl>wnQ*jM6f>nP=C^>L)#_H;pW-|ug|36(scgcZ}Qed`KNtU(@#XM*? zWUV2WG00^M&Yyud->>-OA8b&qE5acM&1UPeiK!D*%4^iBr7k-MQE>6LTSK@tjPe>& z`Du&auFI{14$T-sS4oSe4!)QSE+hT7M!k@D^wcaS5celF4n9WJJ4DX zgaSRl{b8lR54x8af75$sn43v;c~A4$r8$gl2p5+}A1+H%UBCt$Tk>5WnB@8`mxWcI zFTdgqJgxg+gdnO@%@=0L<)*3CHloBLudyu%7)?(KSXy5sUs=b_O=G39$hIQ4F#rrG zAob#P5LoeLbI7FN?7Z0axzdK$!-DG0CZf7I)KXKagCTXSoB}_A7U7cx2gA_NC4BhE z19{%_b!WQnrCXMPu|tyqrG~@T4tFr`O2OGv4rfj}oIhFTQ(tT#1k~K&juQwe$>t`> zWDB^BDy1H&#zF`xfsZIIBBVjaut-myz_e3)+Bq->qb$cWWECmwW>IQ-DQmYob$4OL3MTJzB zuTe3b{hHCW*4>J}ngc(Jj*YSH&8qCd2ap}>E@%tm{8pYpltGsb@o%K?k<&`o3E30MJ zmewd&8f;Xe?Tt#+M@m5|CHS-7@n+^vO&;2L-#Z_vz}XW9FJJe$vJeh^v6^986ei{( zAgHWIu0fCMf8-2c*hMJ_x&)K7hIc(R&(uVwE3JOl+wSjL+Z~1>FFp4qJg-K>ZD3gz zQ!^(im23EZh%`;4EjV>LMJAhJdTJWeG>68*cUtVtKE+BY%9RGys*7P*1c4w76=A4Y zTQ75aag{6ARzbs+t80<}`RY1WN+6|Z?HojN6h()n)mn4^JvqMk+%0Y|l{s^2a@YM2 z0o$6W97G&jpc)ITURxnIca~JPF!XEJFiZ*)a}*}#;(UUQD8q0J0NW+qBiZD!OL^Y) zwo9O`ZL~X+wmVXPy8*#Aw?InnfB11i9imla?F}iJ2Moi&G>`t0H_y8p=3KqD%F1d5 z*Hf4xN3|AEDn;$mtJQ#dJ-{#|VGwmO@;smCUVawO_qKotcJh|yp*y-Fzl&?4Q39|WVR*o|OgrV*_2qRR{ z{aP?|H|W9)7td4AU(NpNNlXnV5%gX}4SJ&F}8}KJ|u&>uz9~F0L061PZO; z_QD3mVjZ_(f|eAEKC7$lrhnc#%vu+pSm4Jqhdtlp`Inz12!nn5&M600YW3Fl`P!>1 ztd;7_P95dE13^%)P<-Rn$aqYjB9)!M&g6zVCtJiBh9mC+^vVs_8ov7@^PD}M>-zpg z!RfgWM>!JS%RRV$V~O=*nR2Dh^u#pl#VYl>N4@Uic_EF4N2BgzniAJl_`Yhb-{?B| zZFF*P8XSZHU%UJQ!2v4r(kY43ojDV>EqURU1>XDidyn2NiWgITeUW-`2`imr^7P$E zX>eTRPywJ>*%gMGuYcQQt8#AZHUHpy&+Ztw8C4PO{CG>;pk8;W)f3wN{Gd zl@ja43UAz8VQyxYTGgXc^;lc2#{1YJ&Ocb%!3wKw^!%Wf=J_qOe?Oph;cSLyzOvqt zNoh#I3$NVdU2na6$7G}5Oro58d7 zl}#nzdhHI=Oxug>ScTJG92p;Gmz)xB+V7>0yrQ!g%2FD_!(Y0OlH z$&=@Y=JfjQ1au?}V5(pugrG2$8VN=375wo$AJ6k?xL)jU2ZUh=0ntvmxb(oAFimS$MfE+e=ifj2Sd?I+QskA_Upi2CTgwco)`A0lpQ9g$DhRy> zq1Rxcw8G^4eOOLvpR^%C_)q>wACMe2<@zVB11 z)TvY(tge+&O0&LJVWV6}D~&Wn$5xkVm^}K>V_4?sHvwHMt?=5l%Lh{axw#aJOX~+d zmr$vpF(5)nN;fZKI4R6jj>(gE4Wls=N6r8aDP}`^G&~4GJTIW(1}$sdtj4=>bDg#I z8nfO&Ch-HGS6+YlK*~QqpQBQ%QmgxY zxKN|F_(IPm^jsD<(!6mRHD|bU3(EbKZTPikeQen13X4aubg_>F|APjUg zF?ontfmbQwRf?3CZ!mM$gBX@QRE)qp#B0&=xNqJnva(u^5>tTn^)mH_OQ;lUYcTzw^BaOmFV*;V82pfuxr2sRhk*5tN=I!C1oUAn~S6{%% zPa{o>?BpD#<=i;{@UMRU3v85K)=G7h2Gy3wt<=sIJDnMw#0wz=gi&uYTsiiPFj?dPK9$Q_2umP;W^%pCgd?JOFGmwrL;AM}?f zlr=2gf94*}*eUcL3w$Jy4Ftu{*0ClGn3d$tSlE-saED&v#G;ie&y$%xMW!$lb@Lfz z0N5!B=(ta?5km05Jr6RGpB#PV4+EZk=_?0H^9=$Y*K6#)0EOhK*)yEYPV8^Z#s3>p zpvnr$ij8Xl!JK6J0S7BB`??#In#(iK+~_&XWst0(zP?1gxEv?Rox{oGG4`=-yw@b4 zLuCNRS+v&NfA@n-O-zk^o2?-5dGWQc9Z2~@71HqPyMIn=o}50x!&4{sf4)j>-#1iX zE+|%R*Rbae)U?LP?=t31Ll|hJEskmtp|z&GaFvQ-lAfF+KYeQ8mUCbL(4GY3{Q6HE zYXGoqheED!EPCuc`_fmxlwY6#03ZNKL_t&!r2JZIs`WCmk4X39lP7rV+}Qz{RSK(m4n1VEd;A@Jy4a^BLrwzoACueFE zQdzuCb@?WlnbVPrFm)nPLo)_|11kTU9(*&VG5VLWTrKnJm6tozw7o@H(}aX!h|;Qq z;x`pu>;4$)oRj98&)&~O9P}!>^#h%|K=c=P5n%bCZ)qBf0dihq&5Zyf(2DBHO#rH^ zx0yco0ETHH5->Vr05|~cfB4>qM?(2Um+hB&qZTcwdX;*k#%tFvw<&VeyD$iRlvW7D z_QIr&DM`BR`OcY?q1Jrh%tfZ0bYh`W(~$Uk=nfWlAXFiK z;G>m7>!>Z4>ous>tE{XqqhdvfvLt2O^P{(G?>=!C_fO32JEgdnBoRZ9z=UPC&ema%r!NLshJau6p%H+qjBFVrn%%-x; zI$0i{Il~KUw|Tj^Of~Qchj=`*kjB1Pm6_m8KlbBiPRyL-!r8mG&@r)X@w;9Ft)W)0 z;ssvY;uO^CRb1btRE{FHhxiWCAV z1dq+m^YF|WZdHoBQd;54#_CWq0`+}=yY;-^B%m<^=-cOt`r=RICkSJ@S*~nQck49V zItwee<3$mXTR&*_9`IV9-$@MP_}+%BVeBiyVM zS!q;xwX{OXYhVoN8W6iI&SPnMqLJI1=0zYdO%u~FSTC&;sGt=MZ-PKGGTzIYG-tDo zWoQ3c2!SaC62ZGqp6Bku^r2Kn90mYvGKq*0oXbseY5EkG%j-P5{06na8@Vcwky_Es z$hHtswVEIJ9T9WGFfj~+a=FxH|60e1DxyX0?u7B!`v*~4i9iaC(%@-@DJ0Xj!>pY` z2*HeGqlU?>3~qSc#rq-m|gFl4Q?+O~})T6@__s~vCp_Wf(Yn5l1Hz#{%%A~1x& zjJulJoH-u!uNgv$*7y=i_F--2uPji2Mnq{}nYsF<=DlXxvAo2W%kpO^Z zW!O$rWV#j72*&2Rn}6N3+D6QXOd&XtD=?MHP_WZzH1qjMrqUUvQW;R1FbGhkp>0Z;Y2!$nxDwzm~_%OhKX&OScXZ?P9ddaGL^v)f|*RN!%}xX0~LmZBDt1o zQV1N|!Hshll5+wN2U<)a2o6c>1n}bGDmNQd9-fb%Rg|rgCZQl%iITx>sA4 zrdsny69Dv>pZB!b&FlanBC9PBoXSsdDqFyk2B&fbCY&@UviX)JGh#+$Ndr?FI|ihV z!=-Nm;&I$g6#^=O&oj4|kbn^n7L`&GcoN$%vC|qUL1+)#(G*LSmgCjW?cHw@(4jDZ z=~RZ_Kb}o;aPGU^bN{WtyPjTz-<7be5d$U^!0YkH@HP83vAFcE-?-nYA8XODhufsY9(X z6J{iP0hDqPiq$$oG`nVNq!eT_HkFFo*LM|tP^x3c0NU-V(#^?#8e1Bq43nvNi)lKQ zX3|b$2tmqna7>e|eM7m)42w=v^Fyo{#<2~w==`7Punv`LY zG9!9zN{Jwfh^M-wfsX0+;frlqG~7m_pwe&pZ4&D)$zb7Ljh)!@`D#*@gEnnKr3h4r z>(vuGr-1^%_x+_m&%O8G$JF#JlamvqvpMpG0+~#jOeV|cKK?7b`teV8q4E;P94q^s zBuOabVHN}(g^Obv2Bu+PTMiAkMiBZ3{=NeRfWQ7X|7LV!02Sj|lRRn_CLU!S%bhKj zG@?Nv30do;w*nJ$!O&!!G?2j!d}>Dt06QlEZ7O`+Z?**l2ub1W8H~1~oxHs{Br(t` zQ8XWK!5x1wr2!CWb zm(l)cb}>ry@0bSZY-YIE#sD!0MC=0SO;V%~F*pcJ+r~&csH!{G(h(EOw5Zca^qBop z+Mf`JNCWF4WXR%fbc-02-;=k}gE-|7%)q zfRoN(7IOG28)Jy7+w##W{7`CWaV zu-V~B2qyA{4u5wTMGQmVtvyFMMg#zMOaj`{rb-gI0Uf~>t%vC596#yRmmmy+o{H}G z+3-^^8sp0jxAbRs^-ofkKm3YkfRu0S0&J1(NkGj2V7vv=yaPG{0jWVD$jnTP z@4^lX7a`cFRJtx}omt$ZEiD?)FVREsbXhgcYvp{bT z)NDWuKyOkn5nKBv7_`B$1X6`N2LN_jgpF#I(2xArhZp-)zvJc2eB&medisQv1K|UcGT30BC1^!{~+#1OT+q z2)!BbYwhidwmhJi4CLl!kCcY@8eF24BJlewElvEkjw4n{`ojm?X*vSTP8$XfPE8Y_ zdFJ*FB%Lh zU71*Oi?NKBWKD}pC+5KrJTQ9-fNRB7{&?Yyh?Rt4Vm87Ykos@B{B2WtH6VnJd$Ki2 zfnf5j4^jNWi@P4z?h$boLiSDTwNgW=^xLmtvS{yxA&#Ls8n7Hx)QA9-Atm7mf~i1| ziL)plnmf(Ib7v3&o?Co_KX~K%(E`BEoq%E`*Ujm^&2T{6WJxPjoE4;%B6sd|3jk_? zM;O0nnI;q2Tnp`tk?ux&{3Hwlv~4H46H!QKX}E5pUXT=$kkMyT&92#xoS5ggp8EFI z>-$Xt8mJ4Pl;ZZ~%dO-e6+8Y?z~W1<@|B>WtYuSl>xmvSRGK@riSaO01&X-;U_W|acU`FM(DDE7A!Pv49%IU| zN-gjbKW4w>!vo>TBftXOTAg~iO1)ggtJSgk2x^B)5d{9BoL}PFDog{sV61I-h^PV7 zEX+U=GdTVn~ui@e~y02-!JwQ0j6F`y#fSr1v8HSA8%j3+fJAg zf&mW$Ir5DyhdZJEki6j8B^OZ zd%h=n6wUZ5q~?1gbq&HjbTr;~Y~-K^XiozA;*ULzbcR1+!WfZIc#?VhL#gCi6NKTm zN2o$lhDpY|_~$0MwXZCnXunqU>4OEawrFi9})ma4QJl=W?uVGpBiiLkV>Ew z_HG2I2Zo!|8H}vG-D3`5@y24$jJcf>SHvM%>nH(KjK{3n{y zWkVoJYr-xT*-Tl~a*~VR@EEBR)5vW_E&^%D9hI|R#&8gjN*Vx$L2{POhfiPNOY2Ki ze2;P%ptL?xP)gVt6qo}ba8~G)cxbNbFJn{C&&`KkW z<2&@S+cg{%2QY-_%d$7OD4&`>Nr+~#Q6o?aFARBhV{PBDhamz0n4CYI_(?WgH*o;4 z9S6@Ho`fac#S$p336$dX(n?R?HQZqjy5|t=J26muglu9fo6)g5FzalN#hcIO5om7L zt1LEZn@lJUERGBSq$dhv{@n}6cF6DcRJg4JvK#umy1qQFUQCJs?12F6SMj<{BW}Nc zO)%IB_lAg~6lXJe&SvtPv6^9H0K2sUbF!IZznEm!?ppMu8a|~`xo7jKy+)uN!(uv> zNwg|348qn_-#blYJSAv9R=aNiK<`)&uzAb~jhbtsIc0e#_fMnwnJ2!f_47fq00$BS z5K>~#6!2CzMq*Luu)9*4lPR(nPhfW$U6z}l!lP42`LM$RFuxCySLK>)xodM2X7Ky1C=x(}D`$N-={3-FJB?CGc* zxRhk)=Y|RZy7|`_0wZg4;u{|B=`%{xAba*y|JHm2_LzmSxr~BJ4QKM;E?aJ95;J2b z3IJ{xkdgMllNe$F{*4rh+d0J@U@p->6zmD z!iz8S(?9nM0Q|jod^?V54gL2VH5qhnK!OY)A_2lM$V^Qlgdo+c=tS%zoRKiZR&T5k zJmK#O0DF;>4_sj3b1&hq*Ak|e16*KA@jrg|_j%!^m%A#=|M>K0aNX`@v_eWO)4>nD zkr;eBYTK!sTY-b?G?E|#(CE06ifI}HsOB03aZ8wDS|-9smS&#LPEd4fiA_lsLa?;3 zOui7MZ2yJ-?f>HHwX0ZW@6l@gluwU}YV}(XbdV&Rz0~msO7&z|)kElCAd^$4xZFZR zc4`utvKUJeRv_72abZZl{5yZ#`uULy=aKSY_ex5O-?{oi;uKpC^MX%6HoOKE&!y^n zT_1=fB9yH`SNZvTbo#N59`0iZnz=*$1)=_m$(KxmMbmAEf#2tjxV zD{NaPmLH%RF3L2xd3&KN&Hc)=&+{+-O>{l}{yV?p&^zvoWp9e=C%=-mrR*xAys%yt z-V{-E!Q91Y7zlQ2WhxHfdnL*Mnt}RMHiNX1Ei*NxftO$pdLae3zVs>=zW&jU48D(l z@;A5t?Mxas2>6em_>G>PR4W=jmZ6rz*a^@KU*nH~0)TG*BO)IlmCGS*d$_;3fa=X6 z-}*y;wIdW_?XY{XQ=}ZgGHibF`Ook_Kla{4a{_XfL)lBVi*YL&E&y@oFqXY+tLhQ# z^S@_6OpN}BwyQNt`7qMNGOgC*Fc(B76gY18^r&M1k^djrKUc%VnbTvv9d=mJntU$HBNy-C<*U~Z{qI-227i3} zYFB-{R$Arx(ry06;~(Vw|ezDfKqGBbZUHchghu19J#ZnSTB~i zwz87QF>Ag{$*py0mqPPT|M<5_cZoA7^p0b-q%=p$2OmXX=^FraKh52>z>i&#d>v}E+VTh#CmuRSVR{mc zCY#N0_ROhdScQ;S(%kkKHY+`9MS(-t6tq1F=qo?=bPG#;1qhAOg8a<%NL<{cqxRS8 z8@#r@$V0R9$=xJrkhfA)e0Q7crTp%e^}hE##>F>1(ADoharz{dZMC)mEz4#s-Q_R_ zbRN)%i9-i~js+#!R-=ewxbhBeVk`CwDy?LS?XTzWo#RxHrxJ7~8f6MO-u*4#*fr-M zs__>)xpbQp(~x&mV9XGbpwIN@L6zbLT4N0Xu$akxA<;I|Im(OAKYW4m*RGDuNSjhN zX?XjZ(xK+A4?jt2GS?LVrq7@5smw`q_|0XraV^L2LBJsLD#WG3=4V^S*C=FH@~FFbsqH?|ZDPlHYUp1@674cSmNeH3~H_k7SgagAN@4=s5j%>$etC zl07jykc+$*zfJ(JtS;bnQFIM_?4{3Q8HX1IPZGS6l5_KCs5Pox-+R-gH}kC@{#LZo z6ejbeGpP#gkrfIhB!N2|KU*guy)wcM=Uhd-I$avJ+9sxk_!dIIe!6WMjz6R4U z$j&Ce6&OuZ4LYrO;PZhXSb*kd|LxCp zwYWlvmV!^uPLj)Kw|%DFpZ_!8{}F!V@BJGrdw44hM=c2W(I-B*$siL<0!qjQXnPU^ zL30AzATIM)7q9WluY7*nSy;ws^dJoUfO4fWQ~&^wPC59&!P$vvnY&WpVNk$+UCBXC z=pFRr-@e$;UVovZ6VQ)8-MUCZZ~8z{9)KV-HHnc;wkALzunc?4V{{sj20=)rQX9JS zk{n*D?#r)Sr&uiY&ze-oag>9$`Vt8s>4BmlP3kY&sDN(6PCGMh4hj&4UhCm{4Qh@0 z(4FHKzVxL-v&?}Xpw#Y*|HI$%VbGfY__fa^es1G9K!PrS-U~Y&+bFTkLk~RJhT5PRKE`tX?3rD+CJ%G#Qftja4?Yyr z_2i4S2BrS{X%0Hl0MP4V3IUdFBg|xP-doSy!*5@Gfn{$nR@4tXdTr$V&=36(XU?4I z3IOkT$2+hri=X<5UtnpmxTE51G={Ht;Oz7yyKRWBtrW@TvQg5~VSvCOT^=D}z|BGL z7yxL$S-NHAATaO4miROJbAO@Rqkc!f*Wg?_=!H7X9Y!Wf~2aRLU8eg^-j> zY?=n&{e6FukNvw(b{w<)nnwP=ZoOuj2AOPn`}LOaS1!Ge*~!Tx&73^W%|Xp%7S3iP z0MU*DkobIny~@Rl_wnQtZ|O?g2jREA`LRd%&%gHR9RXlvwS*r8q!=OqKp=%UP-ME9 z;~$10(%9VK(pq!Zh4WZ(r)aG-r_P*YdS)VCL!v9Vrfic5Co>Sj)NBsg&!H6>V*m&c z!{ERNz#a$y`s)OwdwOjrAA5-MOV^L=3;x7U{Y!rOCqGI$ojxpk(T59S9_dZ*eom3a zZSJ_~9_7hOg=;lW2A`gY)+0HC82(2xH)gx+kIuzA1rW=w!+Ojy$5j(B27sPqt3 z14dHF=P1mbM(>bRC8gw*m#$!1htxw+NVJpPLN|%~LUzA?z6xmsL0|4lw3{)2G4TWH z4Y&nB6FKn%Kx$kAsN1>%wK-MIX#K>=xr8Z`<}W_>9{lj|`|c&Bw3TY3uSA%mprbqb z!b`_r|dN-dv4c9Kg!?X2HfEy6In7HTLI1gq9@J{+h+Tf zyq)GKiY`}{*7^bg7495hR9aK1R!4HdOiWA=?y|*Kuh$X}vMQ|!lp;vzxI&E8|3CoH zQ3TXtQt=LeZc+hFZgTP%U9LX-R?Ffef9gFug67)t%AqCG>`lv(ajkA%yFuXl$4XHG zeLOoR?mq|^@AXHWWd$PcFsnD;Z1o8>G7e$QJ+d#ky1K&Iv*!{a$?eTHtJOMeJx!_8rT?zz`_=Q|(W@xIJIbT_v@{UySB z@{B?ZX(QB;VF0>05R^9MZ&n7iE&);$t?RO6^6tX{01X5>+=kS`kQk$gmVdo;+_PJgBE-859=JL?Bj}oDGsOQs<;Y;On zaXm@$0HE}ELZG<|{n9($Jl#h1?x6yG!21VtlM_tj^1Ck*D>bm@vJKzIF_W(|XjZEp^v(`C3FyEK zAX0MCN(9*aQM6nGVMy|4P9}QNIXlHaeD`*Ba=zEAKn+#uUD!h)0fpqhKqOntj zle5Ec)e_OVehy(-Hqwy0<^v3+XuT`t&SkTlI(4!G7`MvgjKj)eeGlvCh?Yg4e}9m@ z0gtlS(A?h%i}>QTwE=2hH)1nENDFYX*(2QwRCSM)*RL^i;oPD8z3G`*(wPj^a%BVo zAOvwZZQN=VmwMeJl{&hT@&Ee|esySX#Yfv%_fP?VXsh$mVteC^*8ede*p8EUYp^{5 zfEQ3+SUxlW=tqJ;@!SiSx%BY8!?o(d01j!Sx90`~UI4oQK<3mW8>M<8X7cZT=07o( z1YCgTc3($EAbPVYh-khnNEdRL*%U$PVBK)5ZS(g05u(>BRNMSvDFx+9b?7z%MBt&V z;Ym``TJy+9-p^}Ri0iu8@tEu#FPLd?Vr~lU zb*HPX%cAw}*8P}oLmzzPc)Y&CkWeY~9=ZaJy7ISgyALV}2uNy7s_xiJk$`L#1QB%y zHd6LbUTCEhFFgMoKlg8cf_g2Xi9G`9)nG)IUNVUrLO_1P>O89Md1%|H;#+_%=xNrnQfQfC>?#ifFwr z8BAxOy-4T>@wD2_B@~7szyEum=0E&Qznj~$y%MjXp|T6DsAYngCh+P{^3_P_n?q1_shaQdR$ z#~HNt`Bj&DB0Dz%TZt2=E3~{t&NPYg5n~zy05Ti~skZ|3iGY3_|cb|Mgc7 zH9b^?diV-bIuucCd1%lI?baw*nhA&2V=5(>$w*G;;7t5DKP`CZoWc2N&0NN(-~x5t)eQ#9j=3EnVfs_9+XzNVKBD*hs^*w7OmD>Msv0M|LyDlLniZIkjbBKZgT7g#wtx>g& z9`2qdXX&154=cClM`o8aO?T&G(sQS7|)wLG5~0f{@zsdtrnjxZb9^(Z4Spx zyL$C1Kl88u1q;_-*kJ48hAUy~I!avma&g#tS{E{^x%8KeM*F zw&Stp@0vSsF;J6jALoV?<667n7rFOe(6RE1wqRg0N+a56A}yCd>Zq~9QOf1&E&kPy z{-2aquI;!qm4eTG?wOsvi9Y)Z>=aIDMa7Tt;u2C0B&M=8GBNi34>Jb9X8pg68vv-* zV1P|PP@>I65Q0=Tdo*-5W%1b?&++=ktB~4VaShYpH~zy<^3Hd^n-g<;uVNG;nti83 zMZFr3&YG=7Yg-b_FtCKe5g{6|#xp8=gd#d;Cur5|ohP_eDJIf)znzvRp+(2E85u19fkt;?MeEWUJu(#wl&Y(j9MFvEJI*0mALagxJI0@^17h%CP(&hc-u zfG)G-)^0DbaOEn$_fJ2{-~P>yC33=l=N;eP*XP#V4Zd>qMXs;BjMyQ2?8;L2l;kVF z^l?7+OCLYbx&Fc@{%gV|&Kiv;DT)ANEXa$DXlg zygb|Y`OAw6ZwZG5*1kD!;ru#v=jj9)BOIVa{p%bsu9Bf@C}aEuJhGk2sgOYr4MPw?2k48d_MQ zBwvV@^ZCDhvbQX2Ej3GDi;#g-AfX~GU=_0@aBepsUGYZ=#)gN{^~5s>9U1_w(wOPl ziUfhf88MDMV;|;7@5V!TataaO6m(UCp=t%BJcm`+Twc?22nomb0_s`;oM&l-o*M=V zq!WPWascC_W9a_x9=IhNJdz!m%U0#}@VqFb&N^WBUp6d8_Gf5kPA1KTC9{ zn|)IMRw7}9#V=*0&;JE7|HxAEp? z`~UE#X8}B0^12p~xXJtXuYG58-oNkK{_lo)xhSQ$-_7jpoq(3Ty(Cx&ykD}fXuXxQoz&^oeoue!Mw|k?#Vvv^Y<|0Z&I||T@9PutY#5V zUILgqZmhiAF4OL2ItK37hWQ3~%QJa5|k(6b12k zoIUB1B_~QgP}NM&_7fxthGBvl1}LR)t@I)`GF85pRxbar)q0-lQ#A!ZDFH`-PkIic zujep6+?J~P)2UhWoU9r*aM#A~;j6db4N;Wfa5xZ+M&WQcQZFV$i44G{+Jg1$QsY=C z3dttJ-PQ_K)gX!jlJNv=P6rI#05vJ>E(bJChoR~K0WQD&dhCB{N7?!U_$Dazwjcoj ziV}lwbQI5Rc_i!awQkMi1rgugxDj`LYa^yZA$UA3@cDf3dc8;_5^&aN7>SjkYkGPv zKLrkemXkF%o+uJ@H!btX1iMMRGpV!qV$r2!^ z&Vq;r%ey_SD=K?{)h2*66MAqU5)8xcv_q6cNRk94ra%+~5RQY9p0Fc`9BeilR8=)RwioJNAhrCQKoV%#gd`7d%{(=NBR}s*T-#iIZ)$;`gHBkVRQmndkEgt**!}#pV zi=gWUBuPRtnM6lN2Lgcryk0Mk9{LzQf1tjfQhItYHB%niG*cU~gyRs8#9(*Yp(Rwf zTRoWa1z~6!9BwC;F7HeY)<_$u+v7@2Mk0XCE@yjeNdlzVhssa`RJ#bMBn3bV90X|= zIoPsL)_Wnl1Ey)>%603p>4y)27wk|~4Th1b^%q4Es;a{4_2R_fASNa!F*0(tDuh%H zL_$$a4xRwzIKVVPDaD#=uL3Bb8yf6(8`MM+1b`?@aM;u1%bgAYfOmO&%KhhA58HWQ zD4GB=+31(64ScxEtmunhyrG#`cipYH_xtyQ@G=|@2O^OO+-^6*;V@h-7bHo<@bEDD z`}^_En=d0UF;X`VWI9eU@SmM&W~DHbI@aE}9vsI(PJ3~G9r-(yk0LRCMM9`eE@I2{sN{0 zqYXU_wC+J^O5mi=PsoJiaX@s)SiWvGWKZ_?tt`tBrP7OlYL)G;haH4P9oUzf{TI2) z8y(N{NG6l1Z7oHCEX(-lz1?{4{k=HSy$6P#WX5knh;|9GH+BAjr?U;N_7=F8wqog} zE3-mJLI?;U;01vV6tyY=xY|76cpm=o$#YVGq{e^UcFk>w3)w7f8XDd|&{dvz(&a)T zk$`EMkYx$o2R_0-{_+Hpu>c5H9R*S#QB%_Ao6F%-th@7;+;NiWd?mX-bw>d4h?3fA z0)=RkV0SqX34|c>Jk*S%n+YLsx@8RZ9w^&_W3d=qE*JcMKc3$91O|J%p(dkMF@A4G!O-z+_ z!Ch~?iP!)2XPi45w&7eQvw$W;t#$wk5?i@J#}SmLzC3SeIOpX2>` z!XZkN@Qn{t)c8wP(ybm59j&$nsp?uy^4Zh%3hvtSK-L}ZJGJ;`rdE#)%R4-E@ly7k zoJ67XMAkFuUt0nYTz2R&CF_`b#Zb^2>POsAED@Ir0>OnH4u}F*cOmtuzC#!q=*6l_ zE}JExrppTw05o5u3Zny^k(6V|3Zhr7y{Q8}jaMj&+02H|R>NQZD z1c!o05jWyBH-1V1S>mvAnG>Q=pWA|j<8kyz4>XMpy=YWe#rTU>06RC_gFQdF18wac z2!*CG(l-D~fYERe$HtDHmk_Lp@dNnGvXs}a_qNxQ$M+$4;|6ptUB;}18GmgRzzn|f z+Z_OaSU7^=?jz`roWMK#wnI~unj5~`Az($P9X5#v-vH&KrmkV{&ezJC3`;5r1ji;2 z7@L5uY0MI9VE9%u{#gZ3Y!T4fN1p=#ED4{)lom`)mnj0eYEB4eTh!-gK3DAjQ?Acj9ZUf*Ffawcz+g?3>RIRW+_{ROQlD>H0w~wsb*aCz(0oay zC;6~h{0vM1Fff!U7cifPEmurmX{BPB8~|m#mkbP+KxPd9sgiVL3V@+0a{$#+29{R< z>=k2RXkIV^U|_JA{I4biLI^2m9>A(u??N^9g?a=keI2akpJ5Igs+tio1;D^i1`KUI zw&1)$t-L=Y00st&Nq2MhWAT6+F01(3@+R#+GV zLo<2)T6ljTV~S_KMBrRXpj-n%DvkM)ZMC`%mIP$RUu)yfB7lXE00RR<{Tlyy1i(mu zfuVYaUu)yfO8|vPfDr-%LwSteD#l-s0E!_21_p)&8l8oz<>p-oBLW77#xwk)34jp- f14H8&d@lYE9b(HwdEZku00000NkvXXu0mjfM9}xq literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Iroha/models/action_wheel_gui.bbmodel b/config/yosbr/config/figura/avatars/Iroha/models/action_wheel_gui.bbmodel new file mode 100644 index 0000000..afeafbf --- /dev/null +++ b/config/yosbr/config/figura/avatars/Iroha/models/action_wheel_gui.bbmodel @@ -0,0 +1,1989 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "action_wheel_gui", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 16, + "height": 16 + }, + "elements": [ + { + "name": "GoodEmoji", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 36, + 0 + ], + "to": [ + -33.5, + 44, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -41.5, + 40, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "84d1083b-49bc-5614-912e-44f4b899ae46" + }, + { + "name": "HeartEmoji", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 27, + 0 + ], + "to": [ + -33.5, + 35, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -41.5, + 31, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "eaa43af0-2741-87e3-8702-e97d44042bf2" + }, + { + "name": "QuestionEmoji", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 9, + 0 + ], + "to": [ + -33.5, + 17, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -41.5, + 13, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 3 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8de404c9-1e78-68d3-b8a3-38bb7aa8dae2" + }, + { + "name": "BodyBottomRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + -3, + 0.2 + ], + "to": [ + -3.5, + 26, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 2, + 9, + 40, + 38 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "4507a880-9681-34cd-6c87-fac17f8fdd5c" + }, + { + "name": "BodyBottomCenter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.5, + -3, + 0.2 + ], + "to": [ + -2.5, + 26, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3.5, + 11.5, + 0.1 + ], + "faces": { + "north": { + "uv": [ + 1, + 9, + 2, + 38 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "917771d6-d756-41a7-3225-881cb2978484" + }, + { + "name": "BodyBottomLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.5, + -3, + 0.2 + ], + "to": [ + -1.5, + 26, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 9, + 1, + 38 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9964760c-f61e-5f67-f0d2-4d9bc6a2db29" + }, + { + "name": "TitleRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 46, + 0.2 + ], + "to": [ + -38.5, + 54, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 23, + 0, + 26, + 8 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "157d0a40-12c8-0e9f-ff97-0c0134ce6ea6" + }, + { + "name": "TitleLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -37.5, + 46, + 0.2 + ], + "to": [ + -15.5, + 54, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 22, + 8 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "4f6e736e-74db-0300-8874-3f596411c942" + }, + { + "name": "TitleCenter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -38.5, + 46, + 0.2 + ], + "to": [ + -37.5, + 54, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -38.5, + 50, + 0.1 + ], + "faces": { + "north": { + "uv": [ + 22, + 0, + 23, + 8 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6b0744f3-0e21-0fbf-2ae2-18ef858b84af" + }, + { + "name": "BodyTop", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 26, + 0.2 + ], + "to": [ + -40.5, + 46, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -41.5, + 36, + 0.1 + ], + "faces": { + "north": { + "uv": [ + 0, + 8, + 40, + 9 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "181d67e8-0460-aabd-55f6-36d76196c156" + }, + { + "name": "TitleLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -50.5, + 11, + 0.2 + ], + "to": [ + -28.5, + 19, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + -23, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 22, + 8 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "440c3854-1e60-9317-8555-bc5240f178d9" + }, + { + "name": "TitleCenter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -51.5, + 11, + 0.2 + ], + "to": [ + -50.5, + 19, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -51.5, + 15, + 0.1 + ], + "faces": { + "north": { + "uv": [ + 22, + 0, + 23, + 8 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "80c43537-fc6b-fc1b-47fd-bae521fa59df" + }, + { + "name": "TitleRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -54.5, + 11, + 0.2 + ], + "to": [ + -51.5, + 19, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + -23, + 0 + ], + "faces": { + "north": { + "uv": [ + 23, + 0, + 26, + 8 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "cbaf2279-0daf-c842-5ac0-02bb44d9b86d" + }, + { + "name": "BodyBottomCenter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16.5, + -3, + 0.2 + ], + "to": [ + -15.5, + 11, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -16.5, + 4, + 0.1 + ], + "faces": { + "north": { + "uv": [ + 1, + 24, + 2, + 38 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9184dfb8-0e76-f1f7-2994-a00c75ec64d3" + }, + { + "name": "BodyBottomRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -54.5, + -3, + 0.2 + ], + "to": [ + -16.5, + 11, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + -23, + 0 + ], + "faces": { + "north": { + "uv": [ + 2, + 24, + 40, + 38 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5aeb8b47-7cd2-1d4d-33e5-36fb8ea59b5e" + }, + { + "name": "BodyBottomLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -15.5, + -3, + 0.2 + ], + "to": [ + -14.5, + 11, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + -23, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 24, + 1, + 38 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5fdd8d83-a6a5-663e-7757-69fdbbfc0c58" + }, + { + "name": "NoteEmoji", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 18, + 0 + ], + "to": [ + -33.5, + 26, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -41.5, + 22, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6a232e90-acfd-b9ae-6dd2-4ccc394218be" + }, + { + "name": "SweatEmoji", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 0, + 0 + ], + "to": [ + -33.5, + 8, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -41.5, + 4, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9b7746b0-f54b-8a38-8939-67a56cad1e40" + }, + { + "name": "TitleBar", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -54.5, + 12, + 0.1 + ], + "to": [ + -53.5, + 13, + 0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + -54.5, + 12.5, + 0.1 + ], + "faces": { + "north": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ced92cb6-960b-a1ae-ff79-9f04a59bd189" + }, + { + "name": "TitleBar", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 47, + 0.1 + ], + "to": [ + -40.5, + 48, + 0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + -41.5, + 47.5, + 0.1 + ], + "faces": { + "north": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "cb43a040-331d-d647-2667-a5864e0ff99e" + } + ], + "outliner": [ + { + "name": "Gui", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "909f4f9e-cf00-99e1-7699-c2b0e9070eab", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "BubbleGuide", + "origin": [ + -41.5, + 52, + 0.2 + ], + "color": 0, + "uuid": "e29d3e86-e705-1a3c-cada-65a8edd299b0", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "BubbleGuideBackground", + "origin": [ + -2, + 0, + 0 + ], + "color": 0, + "uuid": "ac298288-5f5c-64f4-1b51-f939fb1d21f2", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4507a880-9681-34cd-6c87-fac17f8fdd5c", + "917771d6-d756-41a7-3225-881cb2978484", + "9964760c-f61e-5f67-f0d2-4d9bc6a2db29", + "181d67e8-0460-aabd-55f6-36d76196c156", + "157d0a40-12c8-0e9f-ff97-0c0134ce6ea6", + "6b0744f3-0e21-0fbf-2ae2-18ef858b84af", + "4f6e736e-74db-0300-8874-3f596411c942", + "cb43a040-331d-d647-2667-a5864e0ff99e" + ] + }, + { + "name": "Emojis", + "origin": [ + -14, + 52, + 0 + ], + "color": 0, + "uuid": "58d19f10-42f3-3092-820d-896ea7ee4733", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "84d1083b-49bc-5614-912e-44f4b899ae46", + "eaa43af0-2741-87e3-8702-e97d44042bf2", + "6a232e90-acfd-b9ae-6dd2-4ccc394218be", + "8de404c9-1e78-68d3-b8a3-38bb7aa8dae2", + "9b7746b0-f54b-8a38-8939-67a56cad1e40" + ] + } + ] + }, + { + "name": "ExSkillGuide", + "origin": [ + -54.5, + 17, + 0.2 + ], + "color": 0, + "uuid": "82f089b0-aef7-25b2-da8d-98daa0cb6bea", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "ExSkillGuideBackground", + "origin": [ + -13.75, + 17, + 0 + ], + "color": 0, + "uuid": "8070ebb5-b639-baf7-2735-8a329dc80acb", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "5fdd8d83-a6a5-663e-7757-69fdbbfc0c58", + "5aeb8b47-7cd2-1d4d-33e5-36fb8ea59b5e", + "9184dfb8-0e76-f1f7-2994-a00c75ec64d3", + "cbaf2279-0daf-c842-5ac0-02bb44d9b86d", + "80c43537-fc6b-fc1b-47fd-bae521fa59df", + "440c3854-1e60-9317-8555-bc5240f178d9", + "ced92cb6-960b-a1ae-ff79-9f04a59bd189" + ] + } + ] + }, + { + "name": "VersionDisplay", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "a4e9aabc-7f20-7bd2-cdc0-454075f31f35", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + } + ], + "textures": [ + { + "path": "", + "name": "good.png", + "folder": "", + "namespace": "", + "id": "1", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "eb85d156-8f1a-0715-eb0c-73c744d1192a", + "relative_path": "../../textures/emojis/good.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAJVJREFUOE9jZCASRNmx/gcpXXboNyOyFhQOLrNAmpf2KzJ8fyXIkNJ+DsWQQWgAzK/I3plTacTAKfaesBdgfsUVFnjDADmgzj58AjfDWF4GbDsIEDQA5lRkFxw5/ZUBnyHwWAC5IDNKDMP1yJqxuQLFAFBco4OR5gJ8sQALG7x5ARQTIEOQAUgDMiCYG9GTMroG9FgCAA1snRHHg/NsAAAAAElFTkSuQmCC" + }, + { + "path": "", + "name": "heart.png", + "folder": "", + "namespace": "", + "id": "2", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "0f751aec-a519-017f-2410-5ac9e0a601cb", + "relative_path": "../../textures/emojis/heart.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAKhJREFUOE9jZKAQMCLrXyTg8h/Gj/uwhyg5uCKQ5siWXLh5y2smM8AMwScHNgBZAYuyFMOfu8/ABoEMAQFkg2E2wCxgxKWZmKABGQI3ANlmYjTDXDgIDEAPRFKcD4oljFggZAAsrOCxANOAHtfYDELXDFKDkdqwxTlIITbNGAZgCw+QRhAAJS7k1AlzIYoLkL2DnAJhKRI9f2B1AbbMhU0jXhcQiglkeQDhnXzlvzdk1wAAAABJRU5ErkJggg==" + }, + { + "path": "", + "name": "note.png", + "folder": "", + "namespace": "", + "id": "7", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "8d3f27df-26ac-035a-5808-a8a5fb7df905", + "relative_path": "../../textures/emojis/note.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAALFJREFUOE9jZCAAPm5W+M/v+4ARlzKcEiANIM18xvkMn85OZMBlCFEG/GOwZPhyNgLsCJhBIMNBfKIMACkEGQICMINgLiPaAFgYIBsEcg1RBoDCAGQjDCCHCU4D0AMQ5mfkcMAbBsTEwCAzAN2PJHkBpJjD7D4D298J4ICGhTq+FAiLEUaYZpgAzBCYQfjyATgQYU79xVwAdwG2+MabmWCGICsixvko0YgciOiJBV+OBwCLvoaXPhsOpAAAAABJRU5ErkJggg==" + }, + { + "path": "", + "name": "question.png", + "folder": "", + "namespace": "", + "id": "3", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "0f142e45-9915-9908-6c14-6e682c9b40a8", + "relative_path": "../../textures/emojis/question.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAJNJREFUOE9jZMABNNa7/EeWuhG4hxGbUqyCIM3XA2Yw7PqXDteTv4mRAZshGAYgawZpAoGJfhDHYDMExQCQZmyKcYmDDMVqADabYIagy1HXAJCTQDahBxbRXsAWTfg0Y4QBugGENOM1gBjNRLkApAhXKiRoAK5kjiyONSnDFMDyA1kuQE/SJGUmWHrAlwdgrqTYCwB0pH8RBrtM7wAAAABJRU5ErkJggg==" + }, + { + "path": "", + "name": "sweat.png", + "folder": "", + "namespace": "", + "id": "8", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "4099d802-f6dd-e946-7e18-910d1056fd84", + "relative_path": "../../textures/emojis/sweat.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAJ9JREFUOE9jZCARmO5++/+0qzAjTBucQYw5IM3GypwMZ+9+Z4AZgmEAug3IBhM0AJsCmAEwOVGenwyvv7DDXYHiAooMwGUDyAXIcjAXwVwBdwFFBuCzARTaBF1AyABkb8C8AItKrKaj+xMW5yCLYHLwdIDNdlwGYEtsJLmAaAOcRAXAalfe/46SbGljALYQRg9pfBkNJSGhK0TOtrgMAQB1UsSltwwF2QAAAABJRU5ErkJggg==" + }, + { + "path": "", + "name": "bubble_emote_guide.png", + "folder": "", + "namespace": "", + "id": "6", + "width": 40, + "height": 38, + "uv_width": 40, + "uv_height": 38, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "5f08ee2d-3f25-8eb0-bc5a-be130fd9f46a", + "relative_path": "../../textures/bubble_emote_guide.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAmCAYAAAC29NkdAAAAAXNSR0IArs4c6QAAAixJREFUWEfN2F1OwkAQAOApVMAiAlEJMZHbeQ7xHN7GxBuY+OCLwURNjFET09ZCqRnIwLBMp0vB0nmh7f7k6/4XBwDg9v4pwV8Mr9unS2g23MU1Xpx7zso93dSri+JieqPmOvH3ZVJt38gViKXmDx2O40gTR2kmMgtH5RCpOFKTnLuH17XXb7S7kESBWKjXaS2ed+rT1Ipr1cpK2s6AiKPQkJvgsL6dADlOQx67E+iftMXWM1tuZ10s4SQk4ihMZBpu6xbUcBzJcSZSw20FHI2e9TUiz9QTygwGF/lmcRD4hQDzvqdTZuBkClBaIOJmO0kZW5BwpQRyXOmAEaxuj6UCSriXz6gcYzANV4oW1HB7B2bh9gqUcLTb4Nij2Ms6qOFMZOHAYFqBj7BqtTVPfoNiZzHiKGyQPS8uDshxNkjEFTZJJJyGJFwhQA0nITnu34E2OI40cbmAeNoI4+zT+9fYhU7d/rAexgCnteUHWa51kB+FNCTiKGyQiKPgSOwB63XQPKdhhRKS42yQHMeRNDysgBKOKuNICachJRzlb7rzM38mUMNxpIaTkBoO8/tRAmdeogNtcFjZW3hgtXVhJhyTNrjMSRJNQTiA2zmSyur/irzU43sAR01PrWjs/yzSxS5GHMX6V4KOzMJR6TQkxx23Dte7mOM2Rdri0pAmbm2SSDhb5KY4EynhZkAAGAaBf6XhspB5cVRv3VmOKexWikGncU171tBu+Beea/gHeJZZEDMlW2EAAAAASUVORK5CYII=" + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Iroha/models/armor.bbmodel b/config/yosbr/config/figura/avatars/Iroha/models/armor.bbmodel new file mode 100644 index 0000000..7a8becd --- /dev/null +++ b/config/yosbr/config/figura/avatars/Iroha/models/armor.bbmodel @@ -0,0 +1,3811 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "armor", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 19, + "height": 48 + }, + "elements": [ + { + "name": "RightChestplate", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 18, + -2 + ], + "to": [ + 8, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 13.0625, + 30, + 14.25, + 39 + ], + "texture": 0 + }, + "east": { + "uv": [ + 11.875, + 30, + 13.0625, + 39 + ], + "texture": 0 + }, + "south": { + "uv": [ + 15.4375, + 30, + 16.625, + 39 + ], + "texture": 0 + }, + "west": { + "uv": [ + 14.25, + 30, + 15.4375, + 39 + ], + "texture": 0 + }, + "up": { + "uv": [ + 13.0625, + 24, + 14.25, + 30 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "04c52e51-518e-9513-d607-bd72f9efa2c9" + }, + { + "name": "RightChestplateOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 18, + -2 + ], + "to": [ + 8, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.001, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 13.0625, + 30, + 14.25, + 39 + ], + "texture": 1 + }, + "east": { + "uv": [ + 11.875, + 30, + 13.0625, + 39 + ], + "texture": 1 + }, + "south": { + "uv": [ + 15.4375, + 30, + 16.625, + 39 + ], + "texture": 1 + }, + "west": { + "uv": [ + 14.25, + 30, + 15.4375, + 39 + ], + "texture": 1 + }, + "up": { + "uv": [ + 13.0625, + 24, + 14.25, + 30 + ], + "rotation": 180, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6be84467-6c7f-1451-5458-a406488d3d44" + }, + { + "name": "LeftChestplate", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 18, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 14.25, + 30, + 13.0625, + 39 + ], + "texture": 0 + }, + "east": { + "uv": [ + 15.4375, + 30, + 14.25, + 39 + ], + "texture": 0 + }, + "south": { + "uv": [ + 16.625, + 30, + 15.4375, + 39 + ], + "texture": 0 + }, + "west": { + "uv": [ + 13.0625, + 30, + 11.875, + 39 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14.25, + 24, + 13.0625, + 30 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "22408e50-1695-eb9c-6ad3-457297fef7dd" + }, + { + "name": "LeftChestplateOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 18, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.001, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 14.25, + 30, + 13.0625, + 39 + ], + "texture": 1 + }, + "east": { + "uv": [ + 15.4375, + 30, + 14.25, + 39 + ], + "texture": 1 + }, + "south": { + "uv": [ + 16.625, + 30, + 15.4375, + 39 + ], + "texture": 1 + }, + "west": { + "uv": [ + 13.0625, + 30, + 11.875, + 39 + ], + "texture": 1 + }, + "up": { + "uv": [ + 14.25, + 24, + 13.0625, + 30 + ], + "rotation": 180, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "77395185-0449-b7e0-c6cb-1acfdbb3f452" + }, + { + "name": "RightLeggings", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 6, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.5, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 30, + 2.375, + 39 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 30, + 1.1875, + 39 + ], + "texture": 2 + }, + "south": { + "uv": [ + 3.5625, + 30, + 4.75, + 39 + ], + "texture": 2 + }, + "west": { + "uv": [ + 2.375, + 30, + 3.5625, + 39 + ], + "texture": 2 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 2 + }, + "down": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "8715712c-138d-7bdc-882f-f4b2c6770544" + }, + { + "name": "RightLeggingsOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 6, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.501, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 30, + 2.375, + 39 + ], + "texture": 3 + }, + "east": { + "uv": [ + 0, + 30, + 1.1875, + 39 + ], + "texture": 3 + }, + "south": { + "uv": [ + 3.5625, + 30, + 4.75, + 39 + ], + "texture": 3 + }, + "west": { + "uv": [ + 2.375, + 30, + 3.5625, + 39 + ], + "texture": 3 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 3 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "db54d1e6-20a4-45af-6869-4a65f0ea1723" + }, + { + "name": "RightBoots", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 6, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 30, + 2.375, + 39 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 30, + 1.1875, + 39 + ], + "texture": 0 + }, + "south": { + "uv": [ + 3.5625, + 30, + 4.75, + 39 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2.375, + 30, + 3.5625, + 39 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "1cb0afb2-ba2b-92d1-1099-aefd7cc512b8" + }, + { + "name": "RightBootsOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 6, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.001, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 30, + 2.375, + 39 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 30, + 1.1875, + 39 + ], + "texture": 1 + }, + "south": { + "uv": [ + 3.5625, + 30, + 4.75, + 39 + ], + "texture": 1 + }, + "west": { + "uv": [ + 2.375, + 30, + 3.5625, + 39 + ], + "texture": 1 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "dad8c5c7-149c-7b1f-9bc2-c432c26bc70e" + }, + { + "name": "LeftLeggings", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 6, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 0.5, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 30, + 1.1875, + 39 + ], + "texture": 2 + }, + "east": { + "uv": [ + 3.5625, + 30, + 2.375, + 39 + ], + "texture": 2 + }, + "south": { + "uv": [ + 4.75, + 30, + 3.5625, + 39 + ], + "texture": 2 + }, + "west": { + "uv": [ + 1.1875, + 30, + 0, + 39 + ], + "texture": 2 + }, + "up": { + "uv": [ + 2.375, + 24, + 1.1875, + 30 + ], + "rotation": 180, + "texture": 2 + }, + "down": { + "uv": [ + 2.375, + 24, + 1.1875, + 30 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "208279dc-0d16-d5cc-3766-43129fd24c7b" + }, + { + "name": "LeftLeggingsOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 6, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 0.501, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 30, + 1.1875, + 39 + ], + "texture": 3 + }, + "east": { + "uv": [ + 3.5625, + 30, + 2.375, + 39 + ], + "texture": 3 + }, + "south": { + "uv": [ + 4.75, + 30, + 3.5625, + 39 + ], + "texture": 3 + }, + "west": { + "uv": [ + 1.1875, + 30, + 0, + 39 + ], + "texture": 3 + }, + "up": { + "uv": [ + 2.375, + 24, + 1.1875, + 30 + ], + "rotation": 180, + "texture": 3 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "a15d5564-7cd3-fc93-e984-76ed5bc8023b" + }, + { + "name": "LeftBoots", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 6, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 30, + 1.1875, + 39 + ], + "texture": 0 + }, + "east": { + "uv": [ + 3.5625, + 30, + 2.375, + 39 + ], + "texture": 0 + }, + "south": { + "uv": [ + 4.75, + 30, + 3.5625, + 39 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1.1875, + 30, + 0, + 39 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2.375, + 24, + 1.1875, + 30 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6646f669-d54c-168c-c291-d46c48bfda6b" + }, + { + "name": "LeftBootsOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 6, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.001, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 30, + 1.1875, + 39 + ], + "texture": 1 + }, + "east": { + "uv": [ + 3.5625, + 30, + 2.375, + 39 + ], + "texture": 1 + }, + "south": { + "uv": [ + 4.75, + 30, + 3.5625, + 39 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1.1875, + 30, + 0, + 39 + ], + "texture": 1 + }, + "up": { + "uv": [ + 2.375, + 24, + 1.1875, + 30 + ], + "rotation": 180, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "7a6660e4-1279-daf0-3b3d-293b6821dcbe" + }, + { + "name": "RightChestplateBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 8, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 22 + ], + "faces": { + "north": { + "uv": [ + 13.0625, + 39, + 14.25, + 48 + ], + "texture": 0 + }, + "east": { + "uv": [ + 11.875, + 39, + 13.0625, + 48 + ], + "texture": 0 + }, + "south": { + "uv": [ + 15.4375, + 39, + 16.625, + 48 + ], + "texture": 0 + }, + "west": { + "uv": [ + 14.25, + 39, + 15.4375, + 48 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 14.25, + 24, + 15.4375, + 30 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "4a3a4eb6-fd3e-7d2b-a211-76957d9120bd" + }, + { + "name": "RightChestplateBottomOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 8, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.001, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 22 + ], + "faces": { + "north": { + "uv": [ + 13.0625, + 39, + 14.25, + 48 + ], + "texture": 1 + }, + "east": { + "uv": [ + 11.875, + 39, + 13.0625, + 48 + ], + "texture": 1 + }, + "south": { + "uv": [ + 15.4375, + 39, + 16.625, + 48 + ], + "texture": 1 + }, + "west": { + "uv": [ + 14.25, + 39, + 15.4375, + 48 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 14.25, + 24, + 15.4375, + 30 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "325d12e9-803c-2ac9-5359-07d737487724" + }, + { + "name": "LeftChestplateBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 12, + -2 + ], + "to": [ + -4, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 22 + ], + "faces": { + "north": { + "uv": [ + 14.25, + 39, + 13.0625, + 48 + ], + "texture": 0 + }, + "east": { + "uv": [ + 15.4375, + 39, + 14.25, + 48 + ], + "texture": 0 + }, + "south": { + "uv": [ + 16.625, + 39, + 15.4375, + 48 + ], + "texture": 0 + }, + "west": { + "uv": [ + 13.0625, + 39, + 11.875, + 48 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 15.4375, + 24, + 14.25, + 30 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "26bc361a-dd53-ef35-4d8c-de683271f69d" + }, + { + "name": "LeftChestplateBottomOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 12, + -2 + ], + "to": [ + -4, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.001, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 22 + ], + "faces": { + "north": { + "uv": [ + 14.25, + 39, + 13.0625, + 48 + ], + "texture": 1 + }, + "east": { + "uv": [ + 15.4375, + 39, + 14.25, + 48 + ], + "texture": 1 + }, + "south": { + "uv": [ + 16.625, + 39, + 15.4375, + 48 + ], + "texture": 1 + }, + "west": { + "uv": [ + 13.0625, + 39, + 11.875, + 48 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 15.4375, + 24, + 14.25, + 30 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "2b05091b-8085-6724-3d43-d9171144768c" + }, + { + "name": "RightLeggingsBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.5, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 39, + 2.375, + 48 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 39, + 1.1875, + 48 + ], + "texture": 2 + }, + "south": { + "uv": [ + 3.5625, + 39, + 4.75, + 48 + ], + "texture": 2 + }, + "west": { + "uv": [ + 2.375, + 39, + 3.5625, + 48 + ], + "texture": 2 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 2 + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "de6d8972-c7d3-65ad-9984-a8cb0304f1a4" + }, + { + "name": "RightLeggingsBottomOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.501, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 39, + 2.375, + 48 + ], + "texture": 3 + }, + "east": { + "uv": [ + 0, + 39, + 1.1875, + 48 + ], + "texture": 3 + }, + "south": { + "uv": [ + 3.5625, + 39, + 4.75, + 48 + ], + "texture": 3 + }, + "west": { + "uv": [ + 2.375, + 39, + 3.5625, + 48 + ], + "texture": 3 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 3 + } + }, + "type": "cube", + "uuid": "0d1b2e25-e3cb-5fe8-2f68-f18aca44f0aa" + }, + { + "name": "RightBootsBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 39, + 2.375, + 48 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 39, + 1.1875, + 48 + ], + "texture": 0 + }, + "south": { + "uv": [ + 3.5625, + 39, + 4.75, + 48 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2.375, + 39, + 3.5625, + 48 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2b06f488-228c-8e2e-cf9f-a31f465b2b91" + }, + { + "name": "LeftLeggingsBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 0.5, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 39, + 1.1875, + 48 + ], + "texture": 2 + }, + "east": { + "uv": [ + 3.5625, + 39, + 2.375, + 48 + ], + "texture": 2 + }, + "south": { + "uv": [ + 4.75, + 39, + 3.5625, + 48 + ], + "texture": 2 + }, + "west": { + "uv": [ + 1.1875, + 39, + 0, + 48 + ], + "texture": 2 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 2 + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "94b2a0f5-fc51-dff6-741d-bb1ba99d2a91" + }, + { + "name": "LeftLeggingsBottomOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 0.501, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 39, + 1.1875, + 48 + ], + "texture": 3 + }, + "east": { + "uv": [ + 3.5625, + 39, + 2.375, + 48 + ], + "texture": 3 + }, + "south": { + "uv": [ + 4.75, + 39, + 3.5625, + 48 + ], + "texture": 3 + }, + "west": { + "uv": [ + 1.1875, + 39, + 0, + 48 + ], + "texture": 3 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "f89ca1fb-370e-a2b8-90bd-46b52f03d3c6" + }, + { + "name": "LeftBootsBottomOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.001, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 39, + 1.1875, + 48 + ], + "texture": 1 + }, + "east": { + "uv": [ + 3.5625, + 39, + 2.375, + 48 + ], + "texture": 1 + }, + "south": { + "uv": [ + 4.75, + 39, + 3.5625, + 48 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1.1875, + 39, + 0, + 48 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "65127873-1035-1a39-184f-f7910cbe00c7" + }, + { + "name": "LeftBootsBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 39, + 1.1875, + 48 + ], + "texture": 0 + }, + "east": { + "uv": [ + 3.5625, + 39, + 2.375, + 48 + ], + "texture": 0 + }, + "south": { + "uv": [ + 4.75, + 39, + 3.5625, + 48 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1.1875, + 39, + 0, + 48 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "aabdaefc-770f-a69a-35cc-bb6ac71bc9be" + }, + { + "name": "RightBootsBottomOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.001, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 39, + 2.375, + 48 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 39, + 1.1875, + 48 + ], + "texture": 1 + }, + "south": { + "uv": [ + 3.5625, + 39, + 4.75, + 48 + ], + "texture": 1 + }, + "west": { + "uv": [ + 2.375, + 39, + 3.5625, + 48 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": 1 + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "2f97fafc-dd7b-205e-8403-0de28ab11617" + }, + { + "name": "RightChestplateTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 18, + -2 + ], + "to": [ + 8, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.002, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 13.0625, + 30, + 14.25, + 39 + ], + "texture": 4 + }, + "east": { + "uv": [ + 11.875, + 30, + 13.0625, + 39 + ], + "texture": 4 + }, + "south": { + "uv": [ + 15.4375, + 30, + 16.625, + 39 + ], + "texture": 4 + }, + "west": { + "uv": [ + 14.25, + 30, + 15.4375, + 39 + ], + "texture": 4 + }, + "up": { + "uv": [ + 13.0625, + 24, + 14.25, + 30 + ], + "rotation": 180, + "texture": 4 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "1bc91350-32b8-1826-c5aa-42a13e529528" + }, + { + "name": "RightChestplateBottomTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 8, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.002, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 22 + ], + "faces": { + "north": { + "uv": [ + 13.0625, + 39, + 14.25, + 48 + ], + "texture": 4 + }, + "east": { + "uv": [ + 11.875, + 39, + 13.0625, + 48 + ], + "texture": 4 + }, + "south": { + "uv": [ + 15.4375, + 39, + 16.625, + 48 + ], + "texture": 4 + }, + "west": { + "uv": [ + 14.25, + 39, + 15.4375, + 48 + ], + "texture": 4 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 4 + }, + "down": { + "uv": [ + 14.25, + 24, + 15.4375, + 30 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "77d2d753-cc5c-9604-ed68-fefded8b74c0" + }, + { + "name": "LeftChestplateTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 18, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.002, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 14.25, + 30, + 13.0625, + 39 + ], + "texture": 4 + }, + "east": { + "uv": [ + 15.4375, + 30, + 14.25, + 39 + ], + "texture": 4 + }, + "south": { + "uv": [ + 16.625, + 30, + 15.4375, + 39 + ], + "texture": 4 + }, + "west": { + "uv": [ + 13.0625, + 30, + 11.875, + 39 + ], + "texture": 4 + }, + "up": { + "uv": [ + 14.25, + 24, + 13.0625, + 30 + ], + "rotation": 180, + "texture": 4 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "ed6a2771-b199-06d5-c826-d9ad2eeeb335" + }, + { + "name": "LeftChestplateBottomTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 12, + -2 + ], + "to": [ + -4, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.002, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 22 + ], + "faces": { + "north": { + "uv": [ + 14.25, + 39, + 13.0625, + 48 + ], + "texture": 4 + }, + "east": { + "uv": [ + 15.4375, + 39, + 14.25, + 48 + ], + "texture": 4 + }, + "south": { + "uv": [ + 16.625, + 39, + 15.4375, + 48 + ], + "texture": 4 + }, + "west": { + "uv": [ + 13.0625, + 39, + 11.875, + 48 + ], + "texture": 4 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 4 + }, + "down": { + "uv": [ + 15.4375, + 24, + 14.25, + 30 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "f3fe7c1b-6af1-72ab-3278-90a5307c6676" + }, + { + "name": "RightLeggingsTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 6, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.502, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 30, + 2.375, + 39 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 30, + 1.1875, + 39 + ], + "texture": 5 + }, + "south": { + "uv": [ + 3.5625, + 30, + 4.75, + 39 + ], + "texture": 5 + }, + "west": { + "uv": [ + 2.375, + 30, + 3.5625, + 39 + ], + "texture": 5 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 5 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 5 + } + }, + "type": "cube", + "uuid": "152a41e4-ba8e-97d6-b386-7f133012408b" + }, + { + "name": "RightBootsTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 6, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.002, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 30, + 2.375, + 39 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 30, + 1.1875, + 39 + ], + "texture": 4 + }, + "south": { + "uv": [ + 3.5625, + 30, + 4.75, + 39 + ], + "texture": 4 + }, + "west": { + "uv": [ + 2.375, + 30, + 3.5625, + 39 + ], + "texture": 4 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 4 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "306712a4-3272-0ec7-9bdf-cee19696ad51" + }, + { + "name": "RightLeggingsBottomTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.502, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 39, + 2.375, + 48 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 39, + 1.1875, + 48 + ], + "texture": 5 + }, + "south": { + "uv": [ + 3.5625, + 39, + 4.75, + 48 + ], + "texture": 5 + }, + "west": { + "uv": [ + 2.375, + 39, + 3.5625, + 48 + ], + "texture": 5 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": 5 + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 5 + } + }, + "type": "cube", + "uuid": "e3ce7714-e502-2ebc-1c85-10d2983ebb7c" + }, + { + "name": "RightBootsBottomTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.002, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 39, + 2.375, + 48 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 39, + 1.1875, + 48 + ], + "texture": 4 + }, + "south": { + "uv": [ + 3.5625, + 39, + 4.75, + 48 + ], + "texture": 4 + }, + "west": { + "uv": [ + 2.375, + 39, + 3.5625, + 48 + ], + "texture": 4 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": 4 + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "1e955fb1-f5ca-cae7-203e-ce7be18f442b" + }, + { + "name": "LeftLeggingsTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 6, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 0.502, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 30, + 1.1875, + 39 + ], + "texture": 5 + }, + "east": { + "uv": [ + 3.5625, + 30, + 2.375, + 39 + ], + "texture": 5 + }, + "south": { + "uv": [ + 4.75, + 30, + 3.5625, + 39 + ], + "texture": 5 + }, + "west": { + "uv": [ + 1.1875, + 30, + 0, + 39 + ], + "texture": 5 + }, + "up": { + "uv": [ + 2.375, + 24, + 1.1875, + 30 + ], + "rotation": 180, + "texture": 5 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 5 + } + }, + "type": "cube", + "uuid": "08aa3ef4-81da-97b6-1fb6-10050d4ab6f9" + }, + { + "name": "LeftBootsTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 6, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.002, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 30, + 1.1875, + 39 + ], + "texture": 4 + }, + "east": { + "uv": [ + 3.5625, + 30, + 2.375, + 39 + ], + "texture": 4 + }, + "south": { + "uv": [ + 4.75, + 30, + 3.5625, + 39 + ], + "texture": 4 + }, + "west": { + "uv": [ + 1.1875, + 30, + 0, + 39 + ], + "texture": 4 + }, + "up": { + "uv": [ + 2.375, + 24, + 1.1875, + 30 + ], + "rotation": 180, + "texture": 4 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "cc172290-3e5f-a21e-14c6-0beb0b7228de" + }, + { + "name": "LeftLeggingsBottomTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 0.502, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 39, + 1.1875, + 48 + ], + "texture": 5 + }, + "east": { + "uv": [ + 3.5625, + 39, + 2.375, + 48 + ], + "texture": 5 + }, + "south": { + "uv": [ + 4.75, + 39, + 3.5625, + 48 + ], + "texture": 5 + }, + "west": { + "uv": [ + 1.1875, + 39, + 0, + 48 + ], + "texture": 5 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": 5 + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 5 + } + }, + "type": "cube", + "uuid": "ae508872-aa37-2b04-7a48-9528dbec9686" + }, + { + "name": "LeftBootsBottomTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.002, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 39, + 1.1875, + 48 + ], + "texture": 4 + }, + "east": { + "uv": [ + 3.5625, + 39, + 2.375, + 48 + ], + "texture": 4 + }, + "south": { + "uv": [ + 4.75, + 39, + 3.5625, + 48 + ], + "texture": 4 + }, + "west": { + "uv": [ + 1.1875, + 39, + 0, + 48 + ], + "texture": 4 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": 4 + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "e46adda3-76b0-3f14-f8bb-14dec4636073" + } + ], + "outliner": [ + { + "name": "ArmorRA", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "9cdcfaa1-6e79-d94c-f516-f1aff5551a36", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightChestplate", + "origin": [ + 0, + 22, + 0 + ], + "color": 0, + "uuid": "fd9a522d-9a6f-9315-f563-c2c2dc2643ed", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "04c52e51-518e-9513-d607-bd72f9efa2c9", + "6be84467-6c7f-1451-5458-a406488d3d44", + "1bc91350-32b8-1826-c5aa-42a13e529528" + ] + } + ] + }, + { + "name": "ArmorRAB", + "origin": [ + 7, + 18, + 2 + ], + "color": 0, + "uuid": "475e6e92-a1e4-3dbd-1fbc-f80f1d0dad3a", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightChestplateBottom", + "origin": [ + 5.5, + 18, + 2 + ], + "color": 0, + "uuid": "002c7a8e-4836-7723-7a30-02d9e7d6864c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4a3a4eb6-fd3e-7d2b-a211-76957d9120bd", + "325d12e9-803c-2ac9-5359-07d737487724", + "77d2d753-cc5c-9604-ed68-fefded8b74c0" + ] + } + ] + }, + { + "name": "ArmorLA", + "origin": [ + -5, + 23, + 0 + ], + "color": 0, + "uuid": "73d4bd8b-b1f2-b209-c731-ba14eca51894", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "LeftChestplate", + "origin": [ + 0, + 22, + 0 + ], + "color": 0, + "uuid": "5c14372a-8dc0-5453-10f1-d47cdec6e52b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "22408e50-1695-eb9c-6ad3-457297fef7dd", + "77395185-0449-b7e0-c6cb-1acfdbb3f452", + "ed6a2771-b199-06d5-c826-d9ad2eeeb335" + ] + } + ] + }, + { + "name": "ArmorLAB", + "origin": [ + -7, + 18, + 2 + ], + "color": 0, + "uuid": "402ce6c8-6779-6fc6-a408-2c462302696d", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "LeftChestplateBottom", + "origin": [ + -5.5, + 18, + 2 + ], + "color": 0, + "uuid": "f09fa0ac-568d-aeed-7aeb-181f6bcae7de", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "26bc361a-dd53-ef35-4d8c-de683271f69d", + "2b05091b-8085-6724-3d43-d9171144768c", + "f3fe7c1b-6af1-72ab-3278-90a5307c6676" + ] + } + ] + }, + { + "name": "ArmorRL", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "09960a3e-73fa-bf53-b5a6-939709be95dd", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightLeggings", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "f2c56651-0b87-7be5-a5d0-54f0b539cedd", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8715712c-138d-7bdc-882f-f4b2c6770544", + "db54d1e6-20a4-45af-6869-4a65f0ea1723", + "152a41e4-ba8e-97d6-b386-7f133012408b" + ] + }, + { + "name": "RightBoots", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "585bbbd4-29dc-4475-360d-a37d1d22a0dc", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1cb0afb2-ba2b-92d1-1099-aefd7cc512b8", + "dad8c5c7-149c-7b1f-9bc2-c432c26bc70e", + "306712a4-3272-0ec7-9bdf-cee19696ad51" + ] + } + ] + }, + { + "name": "ArmorRLB", + "origin": [ + 2, + 6, + 0 + ], + "color": 0, + "uuid": "51c416bc-1aef-41e3-863d-675810356aef", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightLeggingsBottom", + "origin": [ + 2, + 6, + 0 + ], + "color": 0, + "uuid": "943c2228-26ef-a3cc-c4ff-8b2e3a802431", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "de6d8972-c7d3-65ad-9984-a8cb0304f1a4", + "0d1b2e25-e3cb-5fe8-2f68-f18aca44f0aa", + "e3ce7714-e502-2ebc-1c85-10d2983ebb7c" + ] + }, + { + "name": "RightBootsBottom", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "225aaa89-44de-01b7-601e-e0636668f07c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "2b06f488-228c-8e2e-cf9f-a31f465b2b91", + "2f97fafc-dd7b-205e-8403-0de28ab11617", + "1e955fb1-f5ca-cae7-203e-ce7be18f442b" + ] + } + ] + }, + { + "name": "ArmorLL", + "origin": [ + -2, + 6, + 2 + ], + "color": 0, + "uuid": "ebec21d0-6b75-5c93-bcad-43a0bbe83be0", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "LeftLeggings", + "origin": [ + -2, + 6, + 2 + ], + "color": 0, + "uuid": "0e96119a-486e-469e-c718-c9fcb2e8f4aa", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "208279dc-0d16-d5cc-3766-43129fd24c7b", + "a15d5564-7cd3-fc93-e984-76ed5bc8023b", + "08aa3ef4-81da-97b6-1fb6-10050d4ab6f9" + ] + }, + { + "name": "LeftBoots", + "origin": [ + -2, + 6, + -2 + ], + "color": 0, + "uuid": "bae07c99-6cf4-d4d7-9e54-a7966539daf6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "6646f669-d54c-168c-c291-d46c48bfda6b", + "7a6660e4-1279-daf0-3b3d-293b6821dcbe", + "cc172290-3e5f-a21e-14c6-0beb0b7228de" + ] + } + ] + }, + { + "name": "ArmorLLB", + "origin": [ + -2, + 6, + 0 + ], + "color": 0, + "uuid": "ac27b599-070c-a038-5e6f-e998a5ad1cb4", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "LeftLeggingsBottom", + "origin": [ + -2, + 6, + -2 + ], + "color": 0, + "uuid": "bfb3e89f-f73f-f1da-55a1-d25eb9f7c2d4", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "94b2a0f5-fc51-dff6-741d-bb1ba99d2a91", + "f89ca1fb-370e-a2b8-90bd-46b52f03d3c6", + "ae508872-aa37-2b04-7a48-9528dbec9686" + ] + }, + { + "name": "LeftBootsBottom", + "origin": [ + -2, + 6, + -2 + ], + "color": 0, + "uuid": "71ea41e5-93f0-d75e-73eb-77a7b04abfca", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "aabdaefc-770f-a69a-35cc-bb6ac71bc9be", + "65127873-1035-1a39-184f-f7910cbe00c7", + "e46adda3-76b0-3f14-f8bb-14dec4636073" + ] + } + ] + } + ], + "textures": [ + { + "path": "", + "name": "leather_layer_1.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 64, + "height": 32, + "uv_width": 19, + "uv_height": 48, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "3077f184-e559-5a8a-71d6-29d7cea0677e", + "relative_path": "../../textures/for_modeling/leather_layer_1.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAAXNSR0IArs4c6QAAA3lJREFUaEPlmTFv4kAQhU0TnWiQEEW4DlFSRRFVdB1/g5rfRM3foDulQkeacKcUiO5IgZBo0CmNT99Kz5qs7CzENvh8K0XB7Ho98zzzZt7SiAJjNpvFx+PRrWo2m8lqfTeZTBqhPao8HzQeAO7v7t758OftzV2vVqtoPB4H96gFAL9eXqJWq5X40m63/w8AptNp/O3hIfr9+hodDocEAMDYbrf1jwAfgF6vl4CwWCyi2nMAAAyHw2i/37sIEABfbm6iH09P9Y8ASHAwGLi3DgjkPs4zvj8+1j8CAABns0rhP58CWQ7isK37SvwsILQ2bd6WQbsvn68NYMPWedV3hTssj5FUAeZIAQ34YLfbOZC63a5LDQ2lCBzBsH0E1URrq9BHNNLKHCXu6+2ty3ENPxr0ppn3y6S9n/sAAMcZKqWQaWUA6Pf7iWFyzIZyVrcHeD5AAgoQ1uu1mwYgGik7NF+JFLAkl9cggWI5QQDbHqIqZbT0Pl5iChBsCYUfKkGClxIqRIaNiryRVpTdpUdAUYaWtU8QgPl8Hou5Ia7RaBS8pyxj2Vd9i3grbyQFnVkul7F0QFUAUF9RhBYJAvDz+TlWgwQQ144A9S2UVUg074FMEADbKkNieR+YNz1s78FepadAyOAsLeEDZXM3TVx9tN7XD9yfpT3O1RrBCDgFAHKSNKG1Ve9v81NnCnbeX0/bbZ2ie9R3NuettvC1hn99ilzPDYDVElY8Yai0hMQUAEhcoQ1Ybx0S19AlMk8rbbWErhFf0ioSY+yj/ZjXdShlcwNAaOuB1mCpRwyVYxyhWYOtVvCVKKVXesQ6hGP+87KuTzmzLAQAnRj5Ib7ZbNxJspW/OJC2XmpRilFqERA6nY7bRxGWdW0jRACWHgGkgMQOxvLHGSJDR2jiEaWAXW8B8flG64kaK7/TpLnlj3NabncecA6ryhj7EB2a6g0JgLQIEECAo/UAomG7Tt5o3jIXIvF3J0JSaJAWI41VRUoiOeW0f0KkByv8cdgPUU6UGAJMUcP/S/3w4gAgJ/VGFJLWYDvvv0E5ausvoJCzgKJfkyypcY9dLxK7xg8vLgUgFUjHsrQMxlBpeeWk1mcdaWlPHBUQvO2scE5rpi51VpBEgE5oVJfVqOiN23kiguuPGo2iW9ZQLn923kVAWltpWVckmcbEoTLzWcMudd9f6+s3Tq3qU78AAAAASUVORK5CYII=" + }, + { + "path": "", + "name": "leather_layer_1_overlay.png", + "folder": "", + "namespace": "", + "id": "1", + "width": 64, + "height": 32, + "uv_width": 19, + "uv_height": 48, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "2ba8879b-4ecb-195a-59ee-6d9e98804dde", + "relative_path": "../../textures/for_modeling/leather_layer_1_overlay.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAAXNSR0IArs4c6QAAARtJREFUaENjZCABeOlI/Acp33blBSMJ2ga1UpI8EmWhAA6AZScekKRvMIcASR4Z8QGQZANJAfOOjNAUkOWgCQ6AaQeuk5Ryhk0WGA2AkZ4CRnwZQGkABJlACtF1ZwZPIUpSYUZpNUhpANKiMCUpAEAtQQEeDrIbQoOxECUpACiNAVAK4GDhHFTVKF0DAJQCfvz5PqgaUnQNgCFfBlCaBSgtRCm1H5t+uqYAWniAUjMJBgBsDABm0XAaCwD5iagAUBARZPjw4zvDhy8/htVgCNEBAKr7OVgYGF58GKEBgJzPRlwWoLSQGez6CZYBg90DlLpvNAAoDcGhrn80BQz1GKTU/aMpgNIQHOr6R1PAUI9BSt0/mgIoDcGhrh8ARURkId1f/LQAAAAASUVORK5CYII=" + }, + { + "path": "", + "name": "leather_layer_2.png", + "folder": "", + "namespace": "", + "id": "2", + "width": 64, + "height": 32, + "uv_width": 19, + "uv_height": 48, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "a3d07fcc-8736-7c2a-3a7d-01bca4f29360", + "relative_path": "../../textures/for_modeling/leather_layer_2.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAAXNSR0IArs4c6QAAAbNJREFUaEPtVquOg0AUHTSGIDA4BA7ZLLLZj8DzZXi+BI9DoJYKBMGwqevmTHI2N7Ntd5NuSToz15B5NOk9cx43UI5X4Hj/ygPgGeA4Al4CjhPAm6CXgJeA4wh4CThOAJ8CXgJeAgYCbdtesLVtmwrDUFVVZTVLfjQHAN4OB/V5Pquu61Rd124B0DTNpSxLNY6jmufZTQCkKqxnADVP3eML7UsfuHWG/VcHKAAAaDiKIjUMg24+TVMNgLmepknv43xdVyskEkDzSZJoANhgURS60b7vdRrAE1AwRRTWy7Lo+6+eEpoBfHE0hIbzPL/JAAkIALICAL44XpgSAMXRLCkfx7FmBNf4WsEAKQFqHiBkWfYtATDCBIRrKxhAU8OLk+KcA8gIMIAMkaZpRQpIDzBjEICYJmmmxL2YNCOVIzblxXMZuzzbI2a1CfJPmdn/l8Zwh6MzPQJrFkZqljznqA0A5H3c5W/2MNmH53w5OlNC78ej+jiddN/wCpScM2C6kNhv9/cw2YcBuDZIsUG+PJpnapiSYuwSKIKFL0z52R7zbwBIudzzlGsew7mDg5j0jWenzBfesmAwq9d1bgAAAABJRU5ErkJggg==" + }, + { + "path": "", + "name": "leather_layer_2_overlay.png", + "folder": "", + "namespace": "", + "id": "3", + "width": 64, + "height": 32, + "uv_width": 19, + "uv_height": 48, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "72561028-643a-e907-78d7-d707a6b9393f", + "relative_path": "../../textures/for_modeling/leather_layer_2_overlay.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAAXNSR0IArs4c6QAAAP5JREFUaEPtlbEKwjAQhq/gkEKHCA516wM4OvgMjo4+oKPP4eBDODp2KOSGQuUaAramLirE3n9LSS4N3Mf//8lIeWXK5ycAgAKUE4AFlAsAIQgLwALKCcACygWAVwAWgAWUE4AFlAsArwAsAAtECBx3VSfbp8tt9gp5GVCGX9ucHBPV7GYPIQrAmrzXhUoAMrhqC2gLxY9D7rD1gRmKmckYE+U47r07Gy44X38bxF8BUBY+M+6N679hPQDTOqrZ70ifR+sYMbkveQD7TdnZwpBZSGgOBxwPFfrWEHFLVDf+h2q17IHEzicP4NkCImmpKQtM5YvAi5VASh7Av4fmA8zRVyFbTtAIAAAAAElFTkSuQmCC" + }, + { + "path": "", + "name": "trim.png", + "folder": "", + "namespace": "", + "id": "5", + "width": 64, + "height": 32, + "uv_width": 19, + "uv_height": 48, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "10cc6101-1a98-56ff-84bb-c18cb34472c0", + "relative_path": "../../textures/for_modeling/trim.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAAXNSR0IArs4c6QAAARlJREFUaEPtWIEJxCAMrJtkFEdxFEdxFEdxE5/Ip+TFL31S+TamUFrE2NzlUsi5bfHLLY5/MwJMAYszYC2wuADsJ2gtEGOs2AallNYNANBueqcWea83wkoplfbzWFzj53Sx+7m0D58xxr8W4fTHc86ViMHEvfenY+/8n1EBQkKwESBhT0OsKUBDFSUYTAES9jTEmgI0VFGCwRQgYU9DrClAQxUlGG6vAD6FcqA0UuecP/B77/uR/hCjmAD0EzCZkY9AIzOCGPkGfQwft8lXCCGIczxSiEMAxBpt7Od93EPJcjMD174ZGmiaAMBuoNC7RK4zYofs8uTxoyml+mslnmKgDAno+06TA9SraGp/zZDs1WcaAVcz+rTzXjFzgCFw/S4BAAAAAElFTkSuQmCC" + }, + { + "path": "", + "name": "trim_leggings.png", + "folder": "", + "namespace": "", + "id": "6", + "width": 64, + "height": 32, + "uv_width": 19, + "uv_height": 48, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "a801ffff-07dc-221a-9ca4-89a631acd89b", + "relative_path": "../../textures/for_modeling/trim_leggings.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAAXNSR0IArs4c6QAAALdJREFUaEPtlVEKgCAQRPUmHsWj71H2JsVKGxH1o24kM0KkZIs+Z8acwFsG338iACoAnAAtAC4AhiAtQAuAE6AFwAXAW4AWoAXACdAC4ALgLUAL0ALgBLKIbMaglHKiUNU2trc364tIG9o3f2qtS9to6cXPEC8BzKC4co1hBViGeFZ4jnh+eD7YnGum3Of7+KlOdMYMA3g7fVW1Tbf61/7f1BIGwE/9AJCiT7IXbBiA3gV9/R88gB06yDkhrwNxCwAAAABJRU5ErkJggg==" + } + ], + "animations": [ + { + "uuid": "8a5254c3-52e1-ebac-3078-87344e3c6f23", + "name": "jerk_ears", + "loop": "once", + "override": false, + "length": 0.25, + "snapping": 24, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "" + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Iroha/models/barrier.bbmodel b/config/yosbr/config/figura/avatars/Iroha/models/barrier.bbmodel new file mode 100644 index 0000000..920e657 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Iroha/models/barrier.bbmodel @@ -0,0 +1,4318 @@ +{ + "meta": { + "format_version": "4.5", + "model_format": "free", + "box_uv": false + }, + "name": "barrier", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 1, + "height": 1 + }, + "elements": [ + { + "name": "Barrier1", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "Arn5": [ + 12.45573, + -16.30478, + -7.99099 + ], + "bhLA": [ + 17.95504, + -12.10366, + -3.99547 + ], + "oe5L": [ + 12.45573, + -16.30478, + 7.99099 + ], + "LaOo": [ + 17.95504, + -12.10366, + 3.99547 + ], + "skAF": [ + 6.95626, + -20.50605, + 3.99542 + ], + "mSEF": [ + 6.95626, + -20.50605, + -3.99542 + ] + }, + "faces": { + "Qa7oQUdO": { + "uv": { + "Arn5": [ + 0.42424, + 0.89503 + ], + "bhLA": [ + 0.39394, + 0.84254 + ], + "oe5L": [ + 0.30303, + 0.89503 + ] + }, + "vertices": [ + "Arn5", + "bhLA", + "oe5L" + ], + "texture": 0 + }, + "LeEDTzrA": { + "uv": { + "bhLA": [ + 0.39394, + 0.84254 + ], + "LaOo": [ + 0.33333, + 0.84254 + ], + "oe5L": [ + 0.30303, + 0.89503 + ] + }, + "vertices": [ + "bhLA", + "LaOo", + "oe5L" + ], + "texture": 0 + }, + "4X7QzJLA": { + "uv": { + "oe5L": [ + 0.30303, + 0.89503 + ], + "skAF": [ + 0.33333, + 0.94751 + ], + "mSEF": [ + 0.39394, + 0.94751 + ] + }, + "vertices": [ + "oe5L", + "skAF", + "mSEF" + ], + "texture": 0 + }, + "x3acV2xS": { + "uv": { + "mSEF": [ + 0.39394, + 0.94751 + ], + "Arn5": [ + 0.42424, + 0.89503 + ], + "oe5L": [ + 0.30303, + 0.89503 + ] + }, + "vertices": [ + "mSEF", + "Arn5", + "oe5L" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "1ffcfe1b-dd45-30ab-3d50-3eb527527f64" + }, + { + "name": "Barrier2", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "Yag1": [ + -5.37976, + -16.30478, + -13.78618 + ], + "2mKW": [ + -3.2792, + -20.50605, + -7.32118 + ], + "zVpV": [ + -7.97619, + -20.50608, + -0.85638 + ], + "3FTI": [ + -12.1773, + -12.10366, + -13.78622 + ], + "YxwL": [ + -16.87454, + -12.10366, + -7.32115 + ], + "CRpy": [ + -14.77408, + -16.30475, + -0.85638 + ] + }, + "faces": { + "qKcm1Dtp": { + "uv": { + "Yag1": [ + 0.66667, + 0.89503 + ], + "2mKW": [ + 0.69697, + 0.94751 + ], + "zVpV": [ + 0.75758, + 0.94751 + ] + }, + "vertices": [ + "Yag1", + "2mKW", + "zVpV" + ], + "texture": 0 + }, + "zcqb3YJU": { + "uv": { + "3FTI": [ + 0.69697, + 0.84254 + ], + "Yag1": [ + 0.66667, + 0.89503 + ], + "zVpV": [ + 0.75758, + 0.94751 + ] + }, + "vertices": [ + "3FTI", + "Yag1", + "zVpV" + ], + "texture": 0 + }, + "fU1wtLBt": { + "uv": { + "YxwL": [ + 0.75758, + 0.84254 + ], + "3FTI": [ + 0.69697, + 0.84254 + ], + "zVpV": [ + 0.75758, + 0.94751 + ] + }, + "vertices": [ + "YxwL", + "3FTI", + "zVpV" + ], + "texture": 0 + }, + "D23N9iIN": { + "uv": { + "zVpV": [ + 0.75758, + 0.94751 + ], + "CRpy": [ + 0.78788, + 0.89503 + ], + "YxwL": [ + 0.75758, + 0.84254 + ] + }, + "vertices": [ + "zVpV", + "CRpy", + "YxwL" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "28326e39-14dc-4a63-19b6-00c93a838274" + }, + { + "name": "Barrier3", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "R7jj": [ + -3.75085, + -16.30478, + 14.31544 + ], + "Jg1w": [ + -1.65027, + -20.50603, + 7.85045 + ], + "vMd4": [ + 5.94954, + -20.50603, + 5.38107 + ], + "kolb": [ + 9.34848, + -12.10366, + 15.84144 + ], + "wOmD": [ + 1.74848, + -12.10366, + 18.31086 + ], + "NNAA": [ + 11.44901, + -16.30478, + 9.37664 + ] + }, + "faces": { + "0lnLGtFu": { + "uv": { + "R7jj": [ + 0.12121, + 0.89503 + ], + "Jg1w": [ + 0.15152, + 0.94751 + ], + "vMd4": [ + 0.21212, + 0.94751 + ] + }, + "vertices": [ + "R7jj", + "Jg1w", + "vMd4" + ], + "texture": 0 + }, + "hhgfkNIK": { + "uv": { + "kolb": [ + 0.21212, + 0.84254 + ], + "wOmD": [ + 0.15152, + 0.84254 + ], + "R7jj": [ + 0.12121, + 0.89503 + ] + }, + "vertices": [ + "kolb", + "wOmD", + "R7jj" + ], + "texture": 0 + }, + "0Rji1785": { + "uv": { + "vMd4": [ + 0.21212, + 0.94751 + ], + "NNAA": [ + 0.24243, + 0.89503 + ], + "R7jj": [ + 0.12121, + 0.89503 + ] + }, + "vertices": [ + "vMd4", + "NNAA", + "R7jj" + ], + "texture": 0 + }, + "i9dgHyC2": { + "uv": { + "NNAA": [ + 0.24243, + 0.89503 + ], + "kolb": [ + 0.21212, + 0.84254 + ], + "R7jj": [ + 0.12121, + 0.89503 + ] + }, + "vertices": [ + "NNAA", + "kolb", + "R7jj" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "89ca0220-5946-6fb4-0562-9cc2170a16fd" + }, + { + "name": "Barrier4", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "IIXU": [ + 11.44901, + -16.30478, + -9.37664 + ], + "1xE0": [ + 5.94954, + -20.50603, + -5.38107 + ], + "CXrA": [ + -1.65027, + -20.50603, + -7.85045 + ], + "zPA0": [ + 1.74848, + -12.10366, + -18.31086 + ], + "oYOf": [ + 9.34848, + -12.10366, + -15.84144 + ], + "DjUC": [ + -3.75085, + -16.30478, + -14.31544 + ] + }, + "faces": { + "uaJyCz2z": { + "uv": { + "IIXU": [ + 0.48485, + 0.89503 + ], + "1xE0": [ + 0.51515, + 0.94751 + ], + "CXrA": [ + 0.57576, + 0.94751 + ] + }, + "vertices": [ + "IIXU", + "1xE0", + "CXrA" + ], + "texture": 0 + }, + "yI2cpGQZ": { + "uv": { + "zPA0": [ + 0.57576, + 0.84254 + ], + "oYOf": [ + 0.51515, + 0.84254 + ], + "IIXU": [ + 0.48485, + 0.89503 + ] + }, + "vertices": [ + "zPA0", + "oYOf", + "IIXU" + ], + "texture": 0 + }, + "zXKeJgkd": { + "uv": { + "CXrA": [ + 0.57576, + 0.94751 + ], + "DjUC": [ + 0.60606, + 0.89503 + ], + "IIXU": [ + 0.48485, + 0.89503 + ] + }, + "vertices": [ + "CXrA", + "DjUC", + "IIXU" + ], + "texture": 0 + }, + "GgM9ok1T": { + "uv": { + "DjUC": [ + 0.60606, + 0.89503 + ], + "zPA0": [ + 0.57576, + 0.84254 + ], + "IIXU": [ + 0.48485, + 0.89503 + ] + }, + "vertices": [ + "DjUC", + "zPA0", + "IIXU" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "e2fcefb7-9c37-6ff5-68e4-8627896caea9" + }, + { + "name": "Barrier5", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "xYFO": [ + -1.37211, + -3.84915, + 21.63661 + ], + "F8AM": [ + 2.02674, + -10.64672, + 19.16723 + ], + "YWtx": [ + 13.82781, + -3.84922, + 16.69776 + ], + "Rptb": [ + 2.82907, + 2.94872, + 21.63661 + ], + "nAjf": [ + 9.62674, + -10.64672, + 16.69779 + ], + "cm0C": [ + 10.42882, + 2.94878, + 19.16726 + ] + }, + "faces": { + "NFbZyVJX": { + "uv": { + "xYFO": [ + 0.12121, + 0.79005 + ], + "F8AM": [ + 0.15152, + 0.84254 + ], + "YWtx": [ + 0.24243, + 0.79005 + ] + }, + "vertices": [ + "xYFO", + "F8AM", + "YWtx" + ], + "texture": 0 + }, + "oOZWbFhk": { + "uv": { + "Rptb": [ + 0.15152, + 0.73757 + ], + "xYFO": [ + 0.12121, + 0.79005 + ], + "YWtx": [ + 0.24243, + 0.79005 + ] + }, + "vertices": [ + "Rptb", + "xYFO", + "YWtx" + ], + "texture": 0 + }, + "mOru5kIu": { + "uv": { + "F8AM": [ + 0.15152, + 0.84254 + ], + "nAjf": [ + 0.21212, + 0.84254 + ], + "YWtx": [ + 0.24243, + 0.79005 + ] + }, + "vertices": [ + "F8AM", + "nAjf", + "YWtx" + ], + "texture": 0 + }, + "1FFKq8BV": { + "uv": { + "YWtx": [ + 0.24243, + 0.79005 + ], + "cm0C": [ + 0.21212, + 0.73756 + ], + "Rptb": [ + 0.15152, + 0.73757 + ] + }, + "vertices": [ + "YWtx", + "cm0C", + "Rptb" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "0892b9ea-ea94-207c-1f9a-2f8628aac120" + }, + { + "name": "Barrier6", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "nIfk": [ + 11.60749, + 3.8492, + 18.31093 + ], + "Ut8M": [ + 15.00648, + -2.94878, + 15.84141 + ], + "nWP5": [ + 19.70349, + -2.94875, + 9.37669 + ], + "aenb": [ + 17.60302, + 10.6467, + 7.85042 + ], + "wSME": [ + 12.90576, + 10.6467, + 14.31549 + ], + "VVCf": [ + 21.00181, + 3.84917, + 5.38106 + ] + }, + "faces": { + "r899VVRa": { + "uv": { + "nIfk": [ + 0.21212, + 0.73756 + ], + "Ut8M": [ + 0.24243, + 0.79005 + ], + "nWP5": [ + 0.30303, + 0.79005 + ] + }, + "vertices": [ + "nIfk", + "Ut8M", + "nWP5" + ], + "texture": 0 + }, + "m0Cli6Ve": { + "uv": { + "aenb": [ + 0.30303, + 0.68508 + ], + "wSME": [ + 0.24242, + 0.68508 + ], + "nIfk": [ + 0.21212, + 0.73756 + ] + }, + "vertices": [ + "aenb", + "wSME", + "nIfk" + ], + "texture": 0 + }, + "eIe5wd3R": { + "uv": { + "nWP5": [ + 0.30303, + 0.79005 + ], + "VVCf": [ + 0.33334, + 0.73757 + ], + "nIfk": [ + 0.21212, + 0.73756 + ] + }, + "vertices": [ + "nWP5", + "VVCf", + "nIfk" + ], + "texture": 0 + }, + "zhNhQfF3": { + "uv": { + "VVCf": [ + 0.33334, + 0.73757 + ], + "aenb": [ + 0.30303, + 0.68508 + ], + "nIfk": [ + 0.21212, + 0.73756 + ] + }, + "vertices": [ + "VVCf", + "aenb", + "nIfk" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "b353e066-b7eb-5d49-03d0-6bffec0918a0" + }, + { + "name": "Barrier7", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "sgjW": [ + 20.15371, + -3.8492, + 7.99102 + ], + "RXBz": [ + 18.85547, + -10.64674, + 3.99547 + ], + "F24g": [ + 20.15371, + -3.8492, + -7.99102 + ], + "b4nW": [ + 21.45203, + 2.94874, + 3.99539 + ], + "t3ws": [ + 18.85547, + -10.64674, + -3.99547 + ], + "OAIt": [ + 21.45203, + 2.94874, + -3.99539 + ] + }, + "faces": { + "MnnmSYRF": { + "uv": { + "sgjW": [ + 0.30303, + 0.79005 + ], + "RXBz": [ + 0.33333, + 0.84254 + ], + "F24g": [ + 0.42424, + 0.79005 + ] + }, + "vertices": [ + "sgjW", + "RXBz", + "F24g" + ], + "texture": 0 + }, + "eCGpY79B": { + "uv": { + "b4nW": [ + 0.33334, + 0.73757 + ], + "sgjW": [ + 0.30303, + 0.79005 + ], + "F24g": [ + 0.42424, + 0.79005 + ] + }, + "vertices": [ + "b4nW", + "sgjW", + "F24g" + ], + "texture": 0 + }, + "UA9sL3fH": { + "uv": { + "RXBz": [ + 0.33333, + 0.84254 + ], + "t3ws": [ + 0.39394, + 0.84254 + ], + "F24g": [ + 0.42424, + 0.79005 + ] + }, + "vertices": [ + "RXBz", + "t3ws", + "F24g" + ], + "texture": 0 + }, + "1mO1enyO": { + "uv": { + "F24g": [ + 0.42424, + 0.79005 + ], + "OAIt": [ + 0.39394, + 0.73757 + ], + "b4nW": [ + 0.33334, + 0.73757 + ] + }, + "vertices": [ + "F24g", + "OAIt", + "b4nW" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "cf598a49-f1eb-47bc-8232-487d7ce031d1" + }, + { + "name": "Barrier8", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "Q4IN": [ + -13.82781, + 3.84922, + 16.69776 + ], + "wCK2": [ + -10.42882, + -2.94878, + 19.16726 + ], + "PNTE": [ + -2.82907, + -2.94872, + 21.63661 + ], + "mlEN": [ + -2.02674, + 10.64672, + 19.16723 + ], + "lABY": [ + -9.62674, + 10.64672, + 16.69779 + ], + "ZHKx": [ + 1.37211, + 3.84915, + 21.63661 + ] + }, + "faces": { + "n24TdmhQ": { + "uv": { + "Q4IN": [ + 0.0303, + 0.73756 + ], + "wCK2": [ + 0.06061, + 0.79005 + ], + "PNTE": [ + 0.12121, + 0.79005 + ] + }, + "vertices": [ + "Q4IN", + "wCK2", + "PNTE" + ], + "texture": 0 + }, + "UUDEtWYK": { + "uv": { + "mlEN": [ + 0.12121, + 0.68508 + ], + "lABY": [ + 0.06061, + 0.68508 + ], + "Q4IN": [ + 0.0303, + 0.73756 + ] + }, + "vertices": [ + "mlEN", + "lABY", + "Q4IN" + ], + "texture": 0 + }, + "f1u0lNPh": { + "uv": { + "PNTE": [ + 0.12121, + 0.79005 + ], + "ZHKx": [ + 0.15152, + 0.73757 + ], + "Q4IN": [ + 0.0303, + 0.73756 + ] + }, + "vertices": [ + "PNTE", + "ZHKx", + "Q4IN" + ], + "texture": 0 + }, + "1zDhRe2q": { + "uv": { + "ZHKx": [ + 0.15152, + 0.73757 + ], + "mlEN": [ + 0.12121, + 0.68508 + ], + "Q4IN": [ + 0.0303, + 0.73756 + ] + }, + "vertices": [ + "ZHKx", + "mlEN", + "Q4IN" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "8cda9be7-5fa4-c07d-0003-2f7bc1954175" + }, + { + "name": "Barrier9", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "qHbv": [ + -20.15371, + 3.8492, + -7.99102 + ], + "3bwp": [ + -21.45203, + -2.94874, + -3.99539 + ], + "KSbw": [ + -21.45203, + -2.94874, + 3.99539 + ], + "ZsXT": [ + -18.85547, + 10.64674, + 3.99547 + ], + "eH85": [ + -18.85547, + 10.64674, + -3.99547 + ], + "0KPs": [ + -20.15371, + 3.8492, + 7.99102 + ] + }, + "faces": { + "7EXV6aLH": { + "uv": { + "qHbv": [ + 0.75758, + 0.73757 + ], + "3bwp": [ + 0.78788, + 0.79005 + ], + "KSbw": [ + 0.84848, + 0.79005 + ] + }, + "vertices": [ + "qHbv", + "3bwp", + "KSbw" + ], + "texture": 0 + }, + "20iczZep": { + "uv": { + "ZsXT": [ + 0.84849, + 0.68508 + ], + "eH85": [ + 0.78788, + 0.68508 + ], + "qHbv": [ + 0.75758, + 0.73757 + ] + }, + "vertices": [ + "ZsXT", + "eH85", + "qHbv" + ], + "texture": 0 + }, + "JdkP7htC": { + "uv": { + "KSbw": [ + 0.84848, + 0.79005 + ], + "0KPs": [ + 0.87879, + 0.73757 + ], + "qHbv": [ + 0.75758, + 0.73757 + ] + }, + "vertices": [ + "KSbw", + "0KPs", + "qHbv" + ], + "texture": 0 + }, + "icWfShVQ": { + "uv": { + "0KPs": [ + 0.87879, + 0.73757 + ], + "ZsXT": [ + 0.84849, + 0.68508 + ], + "qHbv": [ + 0.75758, + 0.73757 + ] + }, + "vertices": [ + "0KPs", + "ZsXT", + "qHbv" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "bc33b5aa-6b23-ab8a-be66-fa3752a03424" + }, + { + "name": "Barrier10", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "juyq": [ + 1.37211, + 3.84915, + -21.63661 + ], + "VQ5C": [ + -2.82907, + -2.94872, + -21.63661 + ], + "hG3m": [ + -10.42882, + -2.94878, + -19.16726 + ], + "lWhR": [ + -9.62674, + 10.64672, + -16.69779 + ], + "Cnbv": [ + -2.02674, + 10.64672, + -19.16723 + ], + "Xj1y": [ + -13.82781, + 3.84922, + -16.69776 + ] + }, + "faces": { + "6pMwCLSn": { + "uv": { + "juyq": [ + 0.57576, + 0.73757 + ], + "VQ5C": [ + 0.60606, + 0.79005 + ], + "hG3m": [ + 0.66667, + 0.79005 + ] + }, + "vertices": [ + "juyq", + "VQ5C", + "hG3m" + ], + "texture": 0 + }, + "h6AOKRiu": { + "uv": { + "lWhR": [ + 0.66667, + 0.68508 + ], + "Cnbv": [ + 0.60606, + 0.68508 + ], + "juyq": [ + 0.57576, + 0.73757 + ] + }, + "vertices": [ + "lWhR", + "Cnbv", + "juyq" + ], + "texture": 0 + }, + "0FsYmgLW": { + "uv": { + "hG3m": [ + 0.66667, + 0.79005 + ], + "Xj1y": [ + 0.69697, + 0.73756 + ], + "juyq": [ + 0.57576, + 0.73757 + ] + }, + "vertices": [ + "hG3m", + "Xj1y", + "juyq" + ], + "texture": 0 + }, + "FpUb7Vkj": { + "uv": { + "Xj1y": [ + 0.69697, + 0.73756 + ], + "lWhR": [ + 0.66667, + 0.68508 + ], + "juyq": [ + 0.57576, + 0.73757 + ] + }, + "vertices": [ + "Xj1y", + "lWhR", + "juyq" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "1b3fb0cd-4643-e05d-049e-7948bd8339b9" + }, + { + "name": "Barrier11", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "wSjj": [ + -21.00181, + -3.84917, + 5.38106 + ], + "3yqo": [ + -17.60302, + -10.6467, + 7.85042 + ], + "GsYx": [ + -11.60749, + -3.8492, + 18.31093 + ], + "cRt1": [ + -19.70349, + 2.94875, + 9.37669 + ], + "aQOg": [ + -12.90576, + -10.6467, + 14.31549 + ], + "blCS": [ + -15.00648, + 2.94878, + 15.84141 + ] + }, + "faces": { + "wKK3oNBw": { + "uv": { + "wSjj": [ + 0.84848, + 0.79005 + ], + "3yqo": [ + 0.87879, + 0.84254 + ], + "GsYx": [ + 0.9697, + 0.79005 + ] + }, + "vertices": [ + "wSjj", + "3yqo", + "GsYx" + ], + "texture": 0 + }, + "d12lsUHC": { + "uv": { + "cRt1": [ + 0.87879, + 0.73757 + ], + "wSjj": [ + 0.84848, + 0.79005 + ], + "GsYx": [ + 0.9697, + 0.79005 + ] + }, + "vertices": [ + "cRt1", + "wSjj", + "GsYx" + ], + "texture": 0 + }, + "WYCOszu3": { + "uv": { + "3yqo": [ + 0.87879, + 0.84254 + ], + "aQOg": [ + 0.9394, + 0.84254 + ], + "GsYx": [ + 0.9697, + 0.79005 + ] + }, + "vertices": [ + "3yqo", + "aQOg", + "GsYx" + ], + "texture": 0 + }, + "eNYXZE7U": { + "uv": { + "GsYx": [ + 0.9697, + 0.79005 + ], + "blCS": [ + 0.93939, + 0.73756 + ], + "cRt1": [ + 0.87879, + 0.73757 + ] + }, + "vertices": [ + "GsYx", + "blCS", + "cRt1" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "df2ad74a-22a2-510c-8f34-9895b418553d" + }, + { + "name": "Barrier12", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "UdM8": [ + -11.60749, + -3.8492, + -18.31093 + ], + "Artn": [ + -12.90576, + -10.6467, + -14.31549 + ], + "6HSp": [ + -21.00181, + -3.84917, + -5.38106 + ], + "hj5A": [ + -15.00648, + 2.94878, + -15.84141 + ], + "pV62": [ + -17.60302, + -10.6467, + -7.85042 + ], + "8yW9": [ + -19.70349, + 2.94875, + -9.37669 + ] + }, + "faces": { + "IG3YNfqx": { + "uv": { + "UdM8": [ + 0.66667, + 0.79005 + ], + "Artn": [ + 0.69697, + 0.84254 + ], + "6HSp": [ + 0.78788, + 0.79005 + ] + }, + "vertices": [ + "UdM8", + "Artn", + "6HSp" + ], + "texture": 0 + }, + "4chGV6ts": { + "uv": { + "hj5A": [ + 0.69697, + 0.73756 + ], + "UdM8": [ + 0.66667, + 0.79005 + ], + "6HSp": [ + 0.78788, + 0.79005 + ] + }, + "vertices": [ + "hj5A", + "UdM8", + "6HSp" + ], + "texture": 0 + }, + "VGkTMtuQ": { + "uv": { + "Artn": [ + 0.69697, + 0.84254 + ], + "pV62": [ + 0.75758, + 0.84254 + ], + "6HSp": [ + 0.78788, + 0.79005 + ] + }, + "vertices": [ + "Artn", + "pV62", + "6HSp" + ], + "texture": 0 + }, + "v6PHqr8o": { + "uv": { + "6HSp": [ + 0.78788, + 0.79005 + ], + "8yW9": [ + 0.75758, + 0.73757 + ], + "hj5A": [ + 0.69697, + 0.73756 + ] + }, + "vertices": [ + "6HSp", + "8yW9", + "hj5A" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "70bc7923-bd95-97a0-b5e5-a6e107c8b9f3" + }, + { + "name": "Barrier13", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "IywS": [ + 13.82781, + -3.84922, + -16.69776 + ], + "WGv1": [ + 9.62674, + -10.64672, + -16.69779 + ], + "qW39": [ + -1.37211, + -3.84915, + -21.63661 + ], + "WBIQ": [ + 10.42882, + 2.94878, + -19.16726 + ], + "TcLv": [ + 2.02674, + -10.64672, + -19.16723 + ], + "PO4z": [ + 2.82907, + 2.94872, + -21.63661 + ] + }, + "faces": { + "NgYuFwUK": { + "uv": { + "IywS": [ + 0.48485, + 0.79005 + ], + "WGv1": [ + 0.51515, + 0.84254 + ], + "qW39": [ + 0.60606, + 0.79005 + ] + }, + "vertices": [ + "IywS", + "WGv1", + "qW39" + ], + "texture": 0 + }, + "Vk1ixfW9": { + "uv": { + "WBIQ": [ + 0.51515, + 0.73756 + ], + "IywS": [ + 0.48485, + 0.79005 + ], + "qW39": [ + 0.60606, + 0.79005 + ] + }, + "vertices": [ + "WBIQ", + "IywS", + "qW39" + ], + "texture": 0 + }, + "UDZDmr4v": { + "uv": { + "WGv1": [ + 0.51515, + 0.84254 + ], + "TcLv": [ + 0.57576, + 0.84254 + ], + "qW39": [ + 0.60606, + 0.79005 + ] + }, + "vertices": [ + "WGv1", + "TcLv", + "qW39" + ], + "texture": 0 + }, + "1fxm3Azo": { + "uv": { + "qW39": [ + 0.60606, + 0.79005 + ], + "PO4z": [ + 0.57576, + 0.73757 + ], + "WBIQ": [ + 0.51515, + 0.73756 + ] + }, + "vertices": [ + "qW39", + "PO4z", + "WBIQ" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "c7fee38e-2c47-a2f7-7226-1cab458ce078" + }, + { + "name": "Barrier14", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "3Wsb": [ + 21.00181, + 3.84917, + -5.38106 + ], + "92Ls": [ + 19.70349, + -2.94875, + -9.37669 + ], + "T5zd": [ + 15.00648, + -2.94878, + -15.84141 + ], + "pc3G": [ + 12.90576, + 10.6467, + -14.31549 + ], + "yTH1": [ + 17.60302, + 10.6467, + -7.85042 + ], + "KUh7": [ + 11.60749, + 3.8492, + -18.31093 + ] + }, + "faces": { + "z5iseIFC": { + "uv": { + "3Wsb": [ + 0.39394, + 0.73757 + ], + "92Ls": [ + 0.42424, + 0.79005 + ], + "T5zd": [ + 0.48485, + 0.79005 + ] + }, + "vertices": [ + "3Wsb", + "92Ls", + "T5zd" + ], + "texture": 0 + }, + "iUaryT49": { + "uv": { + "pc3G": [ + 0.48485, + 0.68508 + ], + "yTH1": [ + 0.42424, + 0.68508 + ], + "3Wsb": [ + 0.39394, + 0.73757 + ] + }, + "vertices": [ + "pc3G", + "yTH1", + "3Wsb" + ], + "texture": 0 + }, + "0I4Uy5Qt": { + "uv": { + "T5zd": [ + 0.48485, + 0.79005 + ], + "KUh7": [ + 0.51515, + 0.73756 + ], + "3Wsb": [ + 0.39394, + 0.73757 + ] + }, + "vertices": [ + "T5zd", + "KUh7", + "3Wsb" + ], + "texture": 0 + }, + "mQ5kSI6c": { + "uv": { + "KUh7": [ + 0.51515, + 0.73756 + ], + "pc3G": [ + 0.48485, + 0.68508 + ], + "3Wsb": [ + 0.39394, + 0.73757 + ] + }, + "vertices": [ + "KUh7", + "pc3G", + "3Wsb" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "45b3660e-3b5c-a4ef-ca94-b53cb44d79ae" + }, + { + "name": "Barrier15", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "WVDV": [ + 3.2792, + 20.50605, + 7.32118 + ], + "QGox": [ + 5.37976, + 16.30478, + 13.78618 + ], + "0vPb": [ + 12.1773, + 12.10366, + 13.78622 + ], + "LiZb": [ + 7.97619, + 20.50608, + 0.85638 + ], + "lVmK": [ + 14.77408, + 16.30475, + 0.85638 + ], + "fJUn": [ + 16.87454, + 12.10366, + 7.32115 + ] + }, + "faces": { + "rKUZxlFB": { + "uv": { + "WVDV": [ + 0.24243, + 0.5801 + ], + "QGox": [ + 0.21212, + 0.63259 + ], + "0vPb": [ + 0.24242, + 0.68508 + ] + }, + "vertices": [ + "WVDV", + "QGox", + "0vPb" + ], + "texture": 0 + }, + "krK3LH0j": { + "uv": { + "LiZb": [ + 0.30303, + 0.5801 + ], + "WVDV": [ + 0.24243, + 0.5801 + ], + "0vPb": [ + 0.24242, + 0.68508 + ] + }, + "vertices": [ + "LiZb", + "WVDV", + "0vPb" + ], + "texture": 0 + }, + "z4iC3FpH": { + "uv": { + "lVmK": [ + 0.33334, + 0.63259 + ], + "LiZb": [ + 0.30303, + 0.5801 + ], + "0vPb": [ + 0.24242, + 0.68508 + ] + }, + "vertices": [ + "lVmK", + "LiZb", + "0vPb" + ], + "texture": 0 + }, + "17HHqHr8": { + "uv": { + "0vPb": [ + 0.24242, + 0.68508 + ], + "fJUn": [ + 0.30303, + 0.68508 + ], + "lVmK": [ + 0.33334, + 0.63259 + ] + }, + "vertices": [ + "0vPb", + "fJUn", + "lVmK" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "0eb84df0-6dcf-d820-ca27-bc7705c5c5d2" + }, + { + "name": "Barrier16", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "64Fn": [ + -11.44901, + 16.30478, + 9.37664 + ], + "F8oA": [ + -9.34848, + 12.10366, + 15.84144 + ], + "tkDL": [ + 3.75085, + 16.30478, + 14.31544 + ], + "urE0": [ + -5.94954, + 20.50603, + 5.38107 + ], + "CBMq": [ + -1.74848, + 12.10366, + 18.31086 + ], + "xZmX": [ + 1.65027, + 20.50603, + 7.85045 + ] + }, + "faces": { + "2TpR2vyn": { + "uv": { + "64Fn": [ + 0.0303, + 0.63259 + ], + "F8oA": [ + 0.06061, + 0.68508 + ], + "tkDL": [ + 0.15152, + 0.63259 + ] + }, + "vertices": [ + "64Fn", + "F8oA", + "tkDL" + ], + "texture": 0 + }, + "qNYd432g": { + "uv": { + "urE0": [ + 0.06061, + 0.5801 + ], + "64Fn": [ + 0.0303, + 0.63259 + ], + "tkDL": [ + 0.15152, + 0.63259 + ] + }, + "vertices": [ + "urE0", + "64Fn", + "tkDL" + ], + "texture": 0 + }, + "vngzZZyv": { + "uv": { + "F8oA": [ + 0.06061, + 0.68508 + ], + "CBMq": [ + 0.12121, + 0.68508 + ], + "tkDL": [ + 0.15152, + 0.63259 + ] + }, + "vertices": [ + "F8oA", + "CBMq", + "tkDL" + ], + "texture": 0 + }, + "LE6Kp0Mj": { + "uv": { + "tkDL": [ + 0.15152, + 0.63259 + ], + "xZmX": [ + 0.12121, + 0.5801 + ], + "urE0": [ + 0.06061, + 0.5801 + ] + }, + "vertices": [ + "tkDL", + "xZmX", + "urE0" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "d1cb7706-eef3-1779-2707-cdfe2d72b62e" + }, + { + "name": "Barrier17", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "5HFB": [ + -12.45573, + 16.30478, + -7.99099 + ], + "JDQi": [ + -17.95504, + 12.10366, + -3.99547 + ], + "m2BW": [ + -12.45573, + 16.30478, + 7.99099 + ], + "DepI": [ + -6.95626, + 20.50605, + -3.99542 + ], + "P5bi": [ + -17.95504, + 12.10366, + 3.99547 + ], + "2shv": [ + -6.95626, + 20.50605, + 3.99542 + ] + }, + "faces": { + "0f91mzoQ": { + "uv": { + "5HFB": [ + 0.75758, + 0.63259 + ], + "JDQi": [ + 0.78788, + 0.68508 + ], + "m2BW": [ + 0.87879, + 0.63259 + ] + }, + "vertices": [ + "5HFB", + "JDQi", + "m2BW" + ], + "texture": 0 + }, + "qoogvexQ": { + "uv": { + "DepI": [ + 0.78788, + 0.5801 + ], + "5HFB": [ + 0.75758, + 0.63259 + ], + "m2BW": [ + 0.87879, + 0.63259 + ] + }, + "vertices": [ + "DepI", + "5HFB", + "m2BW" + ], + "texture": 0 + }, + "7ma6IzQW": { + "uv": { + "JDQi": [ + 0.78788, + 0.68508 + ], + "P5bi": [ + 0.84849, + 0.68508 + ], + "m2BW": [ + 0.87879, + 0.63259 + ] + }, + "vertices": [ + "JDQi", + "P5bi", + "m2BW" + ], + "texture": 0 + }, + "L5znhKgV": { + "uv": { + "m2BW": [ + 0.87879, + 0.63259 + ], + "2shv": [ + 0.84849, + 0.5801 + ], + "DepI": [ + 0.78788, + 0.5801 + ] + }, + "vertices": [ + "m2BW", + "2shv", + "DepI" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "0d00fdac-233d-4adf-53c6-a02afd385a9b" + }, + { + "name": "Barrier18", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "223J": [ + 3.75085, + 16.30478, + -14.31544 + ], + "pW0y": [ + -1.74848, + 12.10366, + -18.31086 + ], + "qgCV": [ + -11.44901, + 16.30478, + -9.37664 + ], + "FrYg": [ + 1.65027, + 20.50603, + -7.85045 + ], + "QjdH": [ + -9.34848, + 12.10366, + -15.84144 + ], + "qMuF": [ + -5.94954, + 20.50605, + -5.38107 + ] + }, + "faces": { + "8ibtPIMP": { + "uv": { + "223J": [ + 0.57576, + 0.63259 + ], + "pW0y": [ + 0.60606, + 0.68508 + ], + "qgCV": [ + 0.69697, + 0.63259 + ] + }, + "vertices": [ + "223J", + "pW0y", + "qgCV" + ], + "texture": 0 + }, + "M0luOpy1": { + "uv": { + "FrYg": [ + 0.60606, + 0.5801 + ], + "223J": [ + 0.57576, + 0.63259 + ], + "qgCV": [ + 0.69697, + 0.63259 + ] + }, + "vertices": [ + "FrYg", + "223J", + "qgCV" + ], + "texture": 0 + }, + "IVfPhmRG": { + "uv": { + "pW0y": [ + 0.60606, + 0.68508 + ], + "QjdH": [ + 0.66667, + 0.68508 + ], + "qgCV": [ + 0.69697, + 0.63259 + ] + }, + "vertices": [ + "pW0y", + "QjdH", + "qgCV" + ], + "texture": 0 + }, + "hkSpGwnR": { + "uv": { + "qgCV": [ + 0.69697, + 0.63259 + ], + "qMuF": [ + 0.66667, + 0.5801 + ], + "FrYg": [ + 0.60606, + 0.5801 + ] + }, + "vertices": [ + "qgCV", + "qMuF", + "FrYg" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "fcd3d424-d6fb-d18d-4e2d-1930b4c0b8e6" + }, + { + "name": "Barrier19", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "lIrd": [ + 7.97619, + 20.50608, + -0.85638 + ], + "t2bZ": [ + 14.77408, + 16.30475, + -0.85638 + ], + "XKGS": [ + 16.87454, + 12.10366, + -7.32115 + ], + "TT9g": [ + 5.37976, + 16.30478, + -13.78618 + ], + "zUlh": [ + 3.2792, + 20.50605, + -7.32118 + ], + "csGR": [ + 12.1773, + 12.10366, + -13.78622 + ] + }, + "faces": { + "xaKteESB": { + "uv": { + "lIrd": [ + 0.42424, + 0.5801 + ], + "t2bZ": [ + 0.39394, + 0.63259 + ], + "XKGS": [ + 0.42424, + 0.68508 + ] + }, + "vertices": [ + "lIrd", + "t2bZ", + "XKGS" + ], + "texture": 0 + }, + "8ngeSaOz": { + "uv": { + "TT9g": [ + 0.51515, + 0.63259 + ], + "zUlh": [ + 0.48485, + 0.5801 + ], + "lIrd": [ + 0.42424, + 0.5801 + ] + }, + "vertices": [ + "TT9g", + "zUlh", + "lIrd" + ], + "texture": 0 + }, + "OhBaOPiD": { + "uv": { + "XKGS": [ + 0.42424, + 0.68508 + ], + "csGR": [ + 0.48485, + 0.68508 + ], + "lIrd": [ + 0.42424, + 0.5801 + ] + }, + "vertices": [ + "XKGS", + "csGR", + "lIrd" + ], + "texture": 0 + }, + "J7r3VruA": { + "uv": { + "csGR": [ + 0.48485, + 0.68508 + ], + "TT9g": [ + 0.51515, + 0.63259 + ], + "lIrd": [ + 0.42424, + 0.5801 + ] + }, + "vertices": [ + "csGR", + "TT9g", + "lIrd" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "77755fa8-c601-10d3-3837-b3468bd8dc96" + }, + { + "name": "Barrier20", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "IZcu": [ + -2.1005, + -20.99888, + 6.4648 + ], + "Plkb": [ + -6.7975, + -20.99891, + 0 + ], + "Iz64": [ + -2.1005, + -20.99888, + -6.4648 + ], + "E3i2": [ + 5.49931, + -20.99888, + 3.99542 + ], + "PdRm": [ + 5.49931, + -20.99888, + -3.99542 + ] + }, + "faces": { + "ja8upiKN": { + "uv": { + "IZcu": [ + 0.15152, + 0.94751 + ], + "Plkb": [ + 0.87879, + 0.94751 + ], + "Iz64": [ + 0.69697, + 0.94751 + ] + }, + "vertices": [ + "IZcu", + "Plkb", + "Iz64" + ], + "texture": 0 + }, + "g7zBloQn": { + "uv": { + "Iz64": [ + 0.69697, + 0.94751 + ], + "E3i2": [ + 0.33333, + 0.94751 + ], + "IZcu": [ + 0.15152, + 0.94751 + ] + }, + "vertices": [ + "Iz64", + "E3i2", + "IZcu" + ], + "texture": 0 + }, + "iaSkji52": { + "uv": { + "Iz64": [ + 0.69697, + 0.94751 + ], + "PdRm": [ + 0.51515, + 0.94751 + ], + "E3i2": [ + 0.33333, + 0.94751 + ] + }, + "vertices": [ + "Iz64", + "PdRm", + "E3i2" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "98c517d9-af86-f1f7-15e7-706cdc5a7225" + }, + { + "name": "Barrier21", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "eNc6": [ + 18.23474, + -11.26981, + 5.25723 + ], + "oXU3": [ + 19.53298, + -4.47227, + 9.25277 + ], + "v45W": [ + 10.63491, + -11.26981, + 15.71755 + ], + "qesY": [ + 12.73544, + -15.47093, + 9.25274 + ], + "fClk": [ + 14.83598, + -4.4723, + 15.7175 + ] + }, + "faces": { + "czOWc0m9": { + "uv": { + "eNc6": [ + 0.33333, + 0.84254 + ], + "oXU3": [ + 0.30303, + 0.79005 + ], + "v45W": [ + 0.21212, + 0.84254 + ] + }, + "vertices": [ + "eNc6", + "oXU3", + "v45W" + ], + "texture": 0 + }, + "PcDsG9ps": { + "uv": { + "qesY": [ + 0.24243, + 0.89503 + ], + "eNc6": [ + 0.33333, + 0.84254 + ], + "v45W": [ + 0.21212, + 0.84254 + ] + }, + "vertices": [ + "qesY", + "eNc6", + "v45W" + ], + "texture": 0 + }, + "2HtM1VXx": { + "uv": { + "oXU3": [ + 0.30303, + 0.79005 + ], + "fClk": [ + 0.24243, + 0.79005 + ], + "v45W": [ + 0.21212, + 0.84254 + ] + }, + "vertices": [ + "oXU3", + "fClk", + "v45W" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "acaf2d7b-dada-e2a1-7217-364a38996fa9" + }, + { + "name": "Barrier22", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "4tBa": [ + -4.8644, + -15.47093, + 14.97136 + ], + "FmtI": [ + 0.63491, + -11.26981, + 18.96678 + ], + "KdKL": [ + -10.36366, + -4.4723, + 18.96683 + ], + "JBqo": [ + -11.66194, + -11.26981, + 14.97141 + ], + "Ogq6": [ + -2.76392, + -4.47224, + 21.43616 + ] + }, + "faces": { + "UBsmS2b1": { + "uv": { + "4tBa": [ + 0.9697, + 0.89503 + ], + "FmtI": [ + 0.15152, + 0.84254 + ], + "KdKL": [ + 0.06061, + 0.79005 + ] + }, + "vertices": [ + "4tBa", + "FmtI", + "KdKL" + ], + "texture": 0 + }, + "cFS39XOs": { + "uv": { + "JBqo": [ + 0.9394, + 0.84254 + ], + "4tBa": [ + 0.9697, + 0.89503 + ], + "KdKL": [ + 0.06061, + 0.79005 + ] + }, + "vertices": [ + "JBqo", + "4tBa", + "KdKL" + ], + "texture": 0 + }, + "KBzO3gqa": { + "uv": { + "FmtI": [ + 0.15152, + 0.84254 + ], + "Ogq6": [ + 0.12121, + 0.79005 + ], + "KdKL": [ + 0.06061, + 0.79005 + ] + }, + "vertices": [ + "FmtI", + "Ogq6", + "KdKL" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "c8d44095-5fc1-3347-524f-7445a11e5732" + }, + { + "name": "Barrier23", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "muYb": [ + -17.84248, + -11.26981, + -6.46477 + ], + "fRkY": [ + -15.74202, + -15.4709, + 0 + ], + "6q3M": [ + -17.84248, + -11.26981, + 6.46477 + ], + "D2fl": [ + -21.24126, + -4.47227, + -3.99539 + ], + "ypKx": [ + -21.24126, + -4.47227, + 3.99539 + ] + }, + "faces": { + "wkWcI2Y3": { + "uv": { + "muYb": [ + 0.75758, + 0.84254 + ], + "fRkY": [ + 0.78788, + 0.89503 + ], + "6q3M": [ + 0.87879, + 0.84254 + ] + }, + "vertices": [ + "muYb", + "fRkY", + "6q3M" + ], + "texture": 0 + }, + "oVsURH9K": { + "uv": { + "6q3M": [ + 0.87879, + 0.84254 + ], + "D2fl": [ + 0.78788, + 0.79005 + ], + "muYb": [ + 0.75758, + 0.84254 + ] + }, + "vertices": [ + "6q3M", + "D2fl", + "muYb" + ], + "texture": 0 + }, + "CdYPQXtk": { + "uv": { + "6q3M": [ + 0.87879, + 0.84254 + ], + "ypKx": [ + 0.84848, + 0.79005 + ], + "D2fl": [ + 0.78788, + 0.79005 + ] + }, + "vertices": [ + "6q3M", + "ypKx", + "D2fl" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "4b82495b-f06e-a90c-ed3c-7614ecda8d9c" + }, + { + "name": "Barrier24", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "NE11": [ + 0.63491, + -11.26981, + -18.96678 + ], + "YxTY": [ + -4.8644, + -15.47093, + -14.97136 + ], + "aa9J": [ + -11.66194, + -11.26981, + -14.97141 + ], + "8Dae": [ + -10.36366, + -4.4723, + -18.96683 + ], + "YvlI": [ + -2.76392, + -4.47224, + -21.43616 + ] + }, + "faces": { + "GPhPTshD": { + "uv": { + "NE11": [ + 0.57576, + 0.84254 + ], + "YxTY": [ + 0.60606, + 0.89503 + ], + "aa9J": [ + 0.69697, + 0.84254 + ] + }, + "vertices": [ + "NE11", + "YxTY", + "aa9J" + ], + "texture": 0 + }, + "SejV0AIJ": { + "uv": { + "8Dae": [ + 0.66667, + 0.79005 + ], + "YvlI": [ + 0.60606, + 0.79005 + ], + "NE11": [ + 0.57576, + 0.84254 + ] + }, + "vertices": [ + "8Dae", + "YvlI", + "NE11" + ], + "texture": 0 + }, + "o3v4kNYp": { + "uv": { + "aa9J": [ + 0.69697, + 0.84254 + ], + "8Dae": [ + 0.66667, + 0.79005 + ], + "NE11": [ + 0.57576, + 0.84254 + ] + }, + "vertices": [ + "aa9J", + "8Dae", + "NE11" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "b2ac7b55-8b42-54b1-db4e-153957427815" + }, + { + "name": "Barrier25", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "Vp7c": [ + 18.23474, + -11.26981, + -5.25723 + ], + "85VE": [ + 12.73544, + -15.47093, + -9.25274 + ], + "Lnxh": [ + 14.83598, + -4.4723, + -15.7175 + ], + "EUVE": [ + 19.53298, + -4.47227, + -9.25277 + ], + "tZ8r": [ + 10.63491, + -11.26981, + -15.71755 + ] + }, + "faces": { + "hRmwvBcn": { + "uv": { + "Vp7c": [ + 0.39394, + 0.84254 + ], + "85VE": [ + 0.42424, + 0.89503 + ], + "Lnxh": [ + 0.48485, + 0.79005 + ] + }, + "vertices": [ + "Vp7c", + "85VE", + "Lnxh" + ], + "texture": 0 + }, + "IMf3ldec": { + "uv": { + "EUVE": [ + 0.42424, + 0.79005 + ], + "Vp7c": [ + 0.39394, + 0.84254 + ], + "Lnxh": [ + 0.48485, + 0.79005 + ] + }, + "vertices": [ + "EUVE", + "Vp7c", + "Lnxh" + ], + "texture": 0 + }, + "203M88cT": { + "uv": { + "85VE": [ + 0.42424, + 0.89503 + ], + "tZ8r": [ + 0.51515, + 0.84254 + ], + "Lnxh": [ + 0.48485, + 0.79005 + ] + }, + "vertices": [ + "85VE", + "tZ8r", + "Lnxh" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "595fb404-7e48-c586-e605-c71607e492cd" + }, + { + "name": "Barrier26", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "UrRE": [ + -0.63491, + 11.26981, + 18.96678 + ], + "HQLB": [ + 2.76392, + 4.47224, + 21.43616 + ], + "f3hl": [ + 10.36366, + 4.4723, + 18.96683 + ], + "qV6s": [ + 4.8644, + 15.47093, + 14.97136 + ], + "Mlw8": [ + 11.66194, + 11.26981, + 14.97141 + ] + }, + "faces": { + "3mZNNq28": { + "uv": { + "UrRE": [ + 0.12121, + 0.68508 + ], + "HQLB": [ + 0.15152, + 0.73757 + ], + "f3hl": [ + 0.21212, + 0.73756 + ] + }, + "vertices": [ + "UrRE", + "HQLB", + "f3hl" + ], + "texture": 0 + }, + "drL3vwpz": { + "uv": { + "f3hl": [ + 0.21212, + 0.73756 + ], + "qV6s": [ + 0.21212, + 0.63259 + ], + "UrRE": [ + 0.12121, + 0.68508 + ] + }, + "vertices": [ + "f3hl", + "qV6s", + "UrRE" + ], + "texture": 0 + }, + "6OkNCR9T": { + "uv": { + "f3hl": [ + 0.21212, + 0.73756 + ], + "Mlw8": [ + 0.24242, + 0.68508 + ], + "qV6s": [ + 0.21212, + 0.63259 + ] + }, + "vertices": [ + "f3hl", + "Mlw8", + "qV6s" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "d65c0226-7d52-b075-5175-d36a91241998" + }, + { + "name": "Barrier27", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "XCha": [ + -18.23474, + 11.26981, + 5.25723 + ], + "uMQ6": [ + -19.53298, + 4.47227, + 9.25277 + ], + "ozy5": [ + -14.83598, + 4.4723, + 15.7175 + ], + "z59j": [ + -12.73544, + 15.47093, + 9.25274 + ], + "TWQ0": [ + -10.63491, + 11.26981, + 15.71755 + ] + }, + "faces": { + "s82K64dY": { + "uv": { + "XCha": [ + 0.84849, + 0.68508 + ], + "uMQ6": [ + 0.87879, + 0.73757 + ], + "ozy5": [ + 0.93939, + 0.73756 + ] + }, + "vertices": [ + "XCha", + "uMQ6", + "ozy5" + ], + "texture": 0 + }, + "VyOSfUkW": { + "uv": { + "ozy5": [ + 0.93939, + 0.73756 + ], + "z59j": [ + 0.0303, + 0.63259 + ], + "XCha": [ + 0.84849, + 0.68508 + ] + }, + "vertices": [ + "ozy5", + "z59j", + "XCha" + ], + "texture": 0 + }, + "foS0oRcv": { + "uv": { + "ozy5": [ + 0.93939, + 0.73756 + ], + "TWQ0": [ + 0.06061, + 0.68508 + ], + "z59j": [ + 0.0303, + 0.63259 + ] + }, + "vertices": [ + "ozy5", + "TWQ0", + "z59j" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "95d92578-f05d-6718-6c5d-19a7ae5d2198" + }, + { + "name": "Barrier28", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "fRsf": [ + -10.63491, + 11.26981, + -15.71755 + ], + "awoe": [ + -14.83598, + 4.4723, + -15.7175 + ], + "nOCi": [ + -19.53298, + 4.47227, + -9.25277 + ], + "98zR": [ + -18.23474, + 11.26981, + -5.25723 + ], + "YFOh": [ + -12.73544, + 15.47093, + -9.25274 + ] + }, + "faces": { + "EVUdOq2A": { + "uv": { + "fRsf": [ + 0.66667, + 0.68508 + ], + "awoe": [ + 0.69697, + 0.73756 + ], + "nOCi": [ + 0.75758, + 0.73757 + ] + }, + "vertices": [ + "fRsf", + "awoe", + "nOCi" + ], + "texture": 0 + }, + "qNc0OG7W": { + "uv": { + "98zR": [ + 0.78788, + 0.68508 + ], + "YFOh": [ + 0.75758, + 0.63259 + ], + "fRsf": [ + 0.66667, + 0.68508 + ] + }, + "vertices": [ + "98zR", + "YFOh", + "fRsf" + ], + "texture": 0 + }, + "DY4R9H9H": { + "uv": { + "nOCi": [ + 0.75758, + 0.73757 + ], + "98zR": [ + 0.78788, + 0.68508 + ], + "fRsf": [ + 0.66667, + 0.68508 + ] + }, + "vertices": [ + "nOCi", + "98zR", + "fRsf" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "683c9e1e-db34-3c25-fad5-5077a386f2a2" + }, + { + "name": "Barrier29", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "tAxH": [ + 10.36366, + 4.4723, + -18.96683 + ], + "fsab": [ + 2.76392, + 4.47224, + -21.43616 + ], + "7nNh": [ + 4.8644, + 15.47093, + -14.97136 + ], + "3rOe": [ + 11.66194, + 11.26981, + -14.97139 + ], + "8Zwk": [ + -0.63491, + 11.26981, + -18.96678 + ] + }, + "faces": { + "6pjjUSla": { + "uv": { + "tAxH": [ + 0.51515, + 0.73756 + ], + "fsab": [ + 0.57576, + 0.73757 + ], + "7nNh": [ + 0.57576, + 0.63259 + ] + }, + "vertices": [ + "tAxH", + "fsab", + "7nNh" + ], + "texture": 0 + }, + "D31ETL9A": { + "uv": { + "3rOe": [ + 0.48485, + 0.68508 + ], + "tAxH": [ + 0.51515, + 0.73756 + ], + "7nNh": [ + 0.57576, + 0.63259 + ] + }, + "vertices": [ + "3rOe", + "tAxH", + "7nNh" + ], + "texture": 0 + }, + "hLGJEHR4": { + "uv": { + "fsab": [ + 0.57576, + 0.73757 + ], + "8Zwk": [ + 0.60606, + 0.68508 + ], + "7nNh": [ + 0.57576, + 0.63259 + ] + }, + "vertices": [ + "fsab", + "8Zwk", + "7nNh" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "323bd6cd-e7fb-1861-d7e5-a99f1c459480" + }, + { + "name": "Barrier30", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "E9s0": [ + 17.84248, + 11.26981, + 6.46477 + ], + "cSOT": [ + 21.24126, + 4.47227, + 3.99539 + ], + "TLiD": [ + 21.24126, + 4.47227, + -3.99539 + ], + "DBUq": [ + 17.84248, + 11.26981, + -6.46477 + ], + "enpU": [ + 15.74202, + 15.4709, + 0 + ] + }, + "faces": { + "xNDk2hTp": { + "uv": { + "E9s0": [ + 0.30303, + 0.68508 + ], + "cSOT": [ + 0.33334, + 0.73757 + ], + "TLiD": [ + 0.39394, + 0.73757 + ] + }, + "vertices": [ + "E9s0", + "cSOT", + "TLiD" + ], + "texture": 0 + }, + "rcve7zmH": { + "uv": { + "DBUq": [ + 0.42424, + 0.68508 + ], + "enpU": [ + 0.39394, + 0.63259 + ], + "E9s0": [ + 0.30303, + 0.68508 + ] + }, + "vertices": [ + "DBUq", + "enpU", + "E9s0" + ], + "texture": 0 + }, + "1iW0uVoe": { + "uv": { + "TLiD": [ + 0.39394, + 0.73757 + ], + "DBUq": [ + 0.42424, + 0.68508 + ], + "E9s0": [ + 0.30303, + 0.68508 + ] + }, + "vertices": [ + "TLiD", + "DBUq", + "E9s0" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "2cf404c2-242e-63dc-bb97-a00238d7b0c8" + }, + { + "name": "Barrier31", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "HHVw": [ + 2.1005, + 20.99888, + 6.4648 + ], + "jo7T": [ + 6.7975, + 20.99891, + 0 + ], + "HKP0": [ + -5.49931, + 20.99888, + -3.99542 + ], + "SfNH": [ + -5.49931, + 20.99888, + 3.99542 + ], + "YIUB": [ + 2.1005, + 20.99888, + -6.4648 + ] + }, + "faces": { + "9RPwbRVR": { + "uv": { + "HHVw": [ + 0.12121, + 0.5801 + ], + "jo7T": [ + 0.30303, + 0.5801 + ], + "HKP0": [ + 0.66667, + 0.5801 + ] + }, + "vertices": [ + "HHVw", + "jo7T", + "HKP0" + ], + "texture": 0 + }, + "Q14gqgUR": { + "uv": { + "SfNH": [ + 0.84849, + 0.5801 + ], + "HHVw": [ + 0.12121, + 0.5801 + ], + "HKP0": [ + 0.66667, + 0.5801 + ] + }, + "vertices": [ + "SfNH", + "HHVw", + "HKP0" + ], + "texture": 0 + }, + "mjEqMUQV": { + "uv": { + "jo7T": [ + 0.30303, + 0.5801 + ], + "YIUB": [ + 0.48485, + 0.5801 + ], + "HKP0": [ + 0.66667, + 0.5801 + ] + }, + "vertices": [ + "jo7T", + "YIUB", + "HKP0" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "1943b182-ca0d-5c04-2b60-b8ddd491658a" + }, + { + "name": "Barrier32", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "E26f": [ + -7.97619, + -20.50608, + 0.85638 + ], + "vKiz": [ + -3.2792, + -20.50605, + 7.32118 + ], + "ZTJ5": [ + -12.1773, + -12.10366, + 13.78622 + ], + "dm81": [ + -14.77408, + -16.30475, + 0.85638 + ], + "5qLS": [ + -5.37976, + -16.30478, + 13.78618 + ], + "fytA": [ + -16.87454, + -12.10366, + 7.32115 + ] + }, + "faces": { + "mv6HvYXc": { + "uv": { + "E26f": [ + 0.87879, + 0.94751 + ], + "vKiz": [ + 0.93939, + 0.94751 + ], + "ZTJ5": [ + 0.9394, + 0.84254 + ] + }, + "vertices": [ + "E26f", + "vKiz", + "ZTJ5" + ], + "texture": 0 + }, + "PdbIjNJE": { + "uv": { + "dm81": [ + 0.84848, + 0.89503 + ], + "E26f": [ + 0.87879, + 0.94751 + ], + "ZTJ5": [ + 0.9394, + 0.84254 + ] + }, + "vertices": [ + "dm81", + "E26f", + "ZTJ5" + ], + "texture": 0 + }, + "vax1ynRt": { + "uv": { + "vKiz": [ + 0.93939, + 0.94751 + ], + "5qLS": [ + 0.9697, + 0.89503 + ], + "ZTJ5": [ + 0.9394, + 0.84254 + ] + }, + "vertices": [ + "vKiz", + "5qLS", + "ZTJ5" + ], + "texture": 0 + }, + "Kgsk2Owa": { + "uv": { + "ZTJ5": [ + 0.9394, + 0.84254 + ], + "fytA": [ + 0.87879, + 0.84254 + ], + "dm81": [ + 0.84848, + 0.89503 + ] + }, + "vertices": [ + "ZTJ5", + "fytA", + "dm81" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "ef1b976b-af20-7115-2e50-08dcabfcc111" + } + ], + "outliner": [ + { + "name": "Barrier", + "origin": [ + 0, + 16, + 0 + ], + "color": 0, + "uuid": "def79492-697f-2380-47e9-18813f1756d0", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1ffcfe1b-dd45-30ab-3d50-3eb527527f64", + "28326e39-14dc-4a63-19b6-00c93a838274", + "89ca0220-5946-6fb4-0562-9cc2170a16fd", + "e2fcefb7-9c37-6ff5-68e4-8627896caea9", + "0892b9ea-ea94-207c-1f9a-2f8628aac120", + "b353e066-b7eb-5d49-03d0-6bffec0918a0", + "cf598a49-f1eb-47bc-8232-487d7ce031d1", + "8cda9be7-5fa4-c07d-0003-2f7bc1954175", + "bc33b5aa-6b23-ab8a-be66-fa3752a03424", + "1b3fb0cd-4643-e05d-049e-7948bd8339b9", + "df2ad74a-22a2-510c-8f34-9895b418553d", + "70bc7923-bd95-97a0-b5e5-a6e107c8b9f3", + "c7fee38e-2c47-a2f7-7226-1cab458ce078", + "45b3660e-3b5c-a4ef-ca94-b53cb44d79ae", + "0eb84df0-6dcf-d820-ca27-bc7705c5c5d2", + "d1cb7706-eef3-1779-2707-cdfe2d72b62e", + "0d00fdac-233d-4adf-53c6-a02afd385a9b", + "fcd3d424-d6fb-d18d-4e2d-1930b4c0b8e6", + "77755fa8-c601-10d3-3837-b3468bd8dc96", + "98c517d9-af86-f1f7-15e7-706cdc5a7225", + "acaf2d7b-dada-e2a1-7217-364a38996fa9", + "c8d44095-5fc1-3347-524f-7445a11e5732", + "4b82495b-f06e-a90c-ed3c-7614ecda8d9c", + "b2ac7b55-8b42-54b1-db4e-153957427815", + "595fb404-7e48-c586-e605-c71607e492cd", + "d65c0226-7d52-b075-5175-d36a91241998", + "95d92578-f05d-6718-6c5d-19a7ae5d2198", + "683c9e1e-db34-3c25-fad5-5077a386f2a2", + "323bd6cd-e7fb-1861-d7e5-a99f1c459480", + "2cf404c2-242e-63dc-bb97-a00238d7b0c8", + "1943b182-ca0d-5c04-2b60-b8ddd491658a", + "ef1b976b-af20-7115-2e50-08dcabfcc111" + ] + } + ], + "textures": [ + { + "path": "", + "name": "barrier.png", + "folder": "", + "namespace": "", + "id": "0", + "particle": false, + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "mode": "bitmap", + "saved": true, + "uuid": "fed26a56-fb52-7c1b-1747-2bd753a9a9ab", + "relative_path": "../../textures/barrier.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAA1JREFUGFdjOP///38ACTsDzcqK7YcAAAAASUVORK5CYII=" + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Iroha/models/bubble.bbmodel b/config/yosbr/config/figura/avatars/Iroha/models/bubble.bbmodel new file mode 100644 index 0000000..443a76b --- /dev/null +++ b/config/yosbr/config/figura/avatars/Iroha/models/bubble.bbmodel @@ -0,0 +1,902 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "bubble", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 16, + "height": 16 + }, + "elements": [ + { + "name": "Bubble", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + -4, + 0 + ], + "to": [ + 5, + 4, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ee16cd89-5e16-d1c0-bdb4-bec63d4d29dc" + }, + { + "name": "Emoji", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + -2.5, + -0.05 + ], + "to": [ + 3.5, + 2.5, + -0.05 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e1f1401a-3276-4ed6-1633-16078de30336" + }, + { + "name": "Bullet1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1.9375, + -1.875, + -0.1 + ], + "to": [ + 3.1875, + 1.875, + -0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "015d120f-7c4c-05e7-86b8-e442d2ca89ce" + }, + { + "name": "Bullet2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.375, + -1.875, + -0.1 + ], + "to": [ + 1.625, + 1.875, + -0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "71c04be5-6d32-4cee-9e7d-b8d98db60f7d" + }, + { + "name": "Bullet3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.1875, + -1.875, + -0.1 + ], + "to": [ + 0.0625, + 1.875, + -0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "c13ac616-5ee7-3b04-83ed-f9490507b4f8" + }, + { + "name": "Dot1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2.25, + -0.625, + -0.1 + ], + "to": [ + 3.5, + 0.625, + -0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f336f75d-4273-d986-7b79-5028befe8efc" + }, + { + "name": "Dot2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.375, + -0.625, + -0.1 + ], + "to": [ + 1.625, + 0.625, + -0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9d1c3e18-15c3-3c07-f04a-d705ceec1fed" + }, + { + "name": "Dot3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + -0.625, + -0.1 + ], + "to": [ + -0.25, + 0.625, + -0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "23a7b4da-5022-66ac-bfac-23544ab88f69" + } + ], + "outliner": [ + { + "name": "Camera", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "1ad8e11f-891c-06f0-491f-55ff468a6e74", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "AvatarBubble", + "origin": [ + -3, + -4, + 0 + ], + "color": 0, + "uuid": "ce33d433-402d-decd-b93f-250225de88c7", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ee16cd89-5e16-d1c0-bdb4-bec63d4d29dc", + "e1f1401a-3276-4ed6-1633-16078de30336", + { + "name": "Bullets", + "origin": [ + 1, + 0, + 0 + ], + "color": 0, + "uuid": "2a47b3c1-ef22-e939-70d9-e17ea10d79d9", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "015d120f-7c4c-05e7-86b8-e442d2ca89ce", + "71c04be5-6d32-4cee-9e7d-b8d98db60f7d", + "c13ac616-5ee7-3b04-83ed-f9490507b4f8" + ] + }, + { + "name": "Dots", + "origin": [ + -3, + -4, + 0 + ], + "color": 0, + "uuid": "55f984b9-0c0d-7ae1-712d-78a7d7fbfa03", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f336f75d-4273-d986-7b79-5028befe8efc", + "9d1c3e18-15c3-3c07-f04a-d705ceec1fed", + "23a7b4da-5022-66ac-bfac-23544ab88f69" + ] + } + ] + } + ] + } + ], + "textures": [ + { + "path": "", + "name": "bubble.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "849f6abb-5d52-7cbc-bc5e-c54506c00158", + "relative_path": "../../textures/bubble.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAGhJREFUOE/tk0sOABAMRNul+1/WroKO+KcSdqykzGvDDNN8yaLOfb0vJKHIXM9cro+brFs1bvsqKEFAMouBAuQK4Lh7PUWc4AMuvIGaz2aiJz4A1Pyd6kJHRP44TMgLIEM8dZxdnJuzAGqUPxJDQDMGAAAAAElFTkSuQmCC" + }, + { + "path": "", + "name": "reload.png", + "folder": "", + "namespace": "", + "id": "4", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "e5650158-1574-55d1-6b46-d58173bbb96b", + "relative_path": "../../textures/emojis/reload.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAEpJREFUOE9jZKAQMFKonwFuwOf37/+DDOMVFCRJjCTFIAvQLQIbABKE2QxjEys2aoAg42gYIIUBcp4AJSpYioOJ4xKjXmYiN1cCAKtG/BHrN3pVAAAAAElFTkSuQmCC" + }, + { + "path": "", + "name": "bullet.png", + "folder": "", + "namespace": "", + "id": "5", + "width": 4, + "height": 12, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "1a2d73a2-6180-0319-1efb-16f49aa91e7a", + "relative_path": "../../textures/bullet.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAMCAYAAABFohwTAAAAAXNSR0IArs4c6QAAAGdJREFUGFdjTEhI4Pj1/f93LpbvDH9YuTgZMQSiwuP/V4azMOh4+TKkJi9jYAQJJDt+ZHAK9GFILdoFESj0/cpgEuTBkJoKFSCsAqwlrJAhNXEikhl4BVKdXjE4xAZDbEmJDvvPgAQAMBRGJaIzndEAAAAASUVORK5CYII=" + }, + { + "path": "", + "name": "dots.png", + "folder": "", + "namespace": "", + "id": "3", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "7dda2e3d-9f23-52bb-e799-b8a2879d3871", + "relative_path": "../../textures/emojis/dots.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAADhJREFUOE9jZKAQMFKon2HUAAZIGHx+//4/iOYVFEQJE2LEGWGKYLEBM4RYccoNoNgLowlpEOQFAJrjL7ESx0KNAAAAAElFTkSuQmCC" + }, + { + "path": "", + "name": "black_dot.png", + "folder": "", + "namespace": "", + "id": "6", + "width": 4, + "height": 4, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "d1f6e856-c31e-ace6-6507-d03259b83bf5", + "relative_path": "../../textures/emojis/black_dot.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAABhJREFUGFdjZICA/1CakRGJAxbDKoCiBQCSkQQDt6KjJwAAAABJRU5ErkJggg==" + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Iroha/models/bullet.bbmodel b/config/yosbr/config/figura/avatars/Iroha/models/bullet.bbmodel new file mode 100644 index 0000000..6095e9d --- /dev/null +++ b/config/yosbr/config/figura/avatars/Iroha/models/bullet.bbmodel @@ -0,0 +1,237 @@ +{ + "meta": { + "format_version": "4.5", + "model_format": "free", + "box_uv": false + }, + "name": "bullet", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 4, + "height": 12 + }, + "elements": [ + { + "name": "Bullet1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 0, + -1 + ], + "to": [ + 0.5, + 1, + 1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 3, + 2, + 4 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 3, + 2, + 11 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 1, + 10, + 2, + 11 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 3, + 2, + 11 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 1, + 3, + 2, + 11 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 3, + 2, + 11 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "eb1cee40-d947-b0fd-992e-a0445207f5c3" + }, + { + "name": "Bullet2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.375, + 0.125, + -1.25 + ], + "to": [ + 0.375, + 0.875, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c69c3bcf-da9b-3ad4-7d0a-e697c8066967" + } + ], + "outliner": [ + { + "name": "Arrow", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "0c9fab8f-3742-3b33-0bef-de2eca96287f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "eb1cee40-d947-b0fd-992e-a0445207f5c3", + "c69c3bcf-da9b-3ad4-7d0a-e697c8066967" + ] + } + ], + "textures": [ + { + "path": "", + "name": "bullet.png", + "folder": "", + "namespace": "", + "id": "0", + "particle": false, + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "mode": "bitmap", + "saved": true, + "uuid": "d4264722-75e2-f338-9736-9de1cd8631d0", + "relative_path": "../../textures/bullet.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAMCAYAAABFohwTAAAAAXNSR0IArs4c6QAAAGdJREFUGFdjTEhI4Pj1/f93LpbvDH9YuTgZMQSiwuP/V4azMOh4+TKkJi9jYAQJJDt+ZHAK9GFILdoFESj0/cpgEuTBkJoKFSCsAqwlrJAhNXEikhl4BVKdXjE4xAZDbEmJDvvPgAQAMBRGJaIzndEAAAAASUVORK5CYII=" + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Iroha/models/death_animation.bbmodel b/config/yosbr/config/figura/avatars/Iroha/models/death_animation.bbmodel new file mode 100644 index 0000000..230409b --- /dev/null +++ b/config/yosbr/config/figura/avatars/Iroha/models/death_animation.bbmodel @@ -0,0 +1,20545 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "death_animation", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 256, + "height": 191 + }, + "elements": [ + { + "name": "Body1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20, + 15.5, + -37 + ], + "to": [ + 20, + 55.5, + 33 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 70, + 0, + 0, + 40 + ], + "texture": 0 + }, + "south": { + "uv": [ + 70, + 105, + 110, + 145 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 70, + 40 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 40, + 70, + 80 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 80, + 70, + 120 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "b7c05a5f-7761-cdb8-f20e-1c37a3ade2d6" + }, + { + "name": "FrontWindow1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20, + 38.25, + -64.75 + ], + "to": [ + 20, + 55.25, + -36.5 + ], + "autouv": 0, + "color": 0, + "inflate": -0.01, + "rotation": [ + -70, + 0, + 0 + ], + "origin": [ + 0, + 55, + -37 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 98.25, + 0, + 70, + 17 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 70, + 0, + 98.25, + 17 + ], + "texture": 0 + }, + "up": { + "uv": [ + 70, + 41, + 110, + 69.25 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "96c3a955-eb63-9471-5196-694594fda260" + }, + { + "name": "Nose1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -10, + 15.5, + -75.25 + ], + "to": [ + 10, + 32.5, + -45.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -25.25 + ], + "faces": { + "north": { + "uv": [ + 111, + 14, + 131, + 31 + ], + "texture": 0 + }, + "east": { + "uv": [ + 161, + 14.25, + 131, + 31.25 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 131, + 14.25, + 161, + 31.25 + ], + "texture": 0 + }, + "up": { + "uv": [ + 161, + 14, + 191, + 34 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 191, + 14, + 161, + 34 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "e7fa4708-6808-a16e-c3cf-84c4423ce64d" + }, + { + "name": "Nose2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 10, + 15.5, + -76.925 + ], + "to": [ + 20, + 29.5, + -46.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 19.15, + 0 + ], + "origin": [ + 20, + 22.5, + -46.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 80, + 17, + 110.425, + 31 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 99, + 4, + 129.425, + 14 + ], + "rotation": 270, + "texture": 0 + }, + "down": { + "uv": [ + 129.425, + 4, + 99, + 14 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "c62a05d2-a700-0657-0afa-5f2244004bff" + }, + { + "name": "Body2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20, + 15.5, + -46.5 + ], + "to": [ + 20, + 29.5, + -37 + ], + "autouv": 0, + "color": 0, + "inflate": -0.001, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 79.5, + 17, + 70, + 31 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 70, + 17, + 79.5, + 31 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 70, + 31, + 110, + 40.5 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f00ed130-bf0d-ecc1-f1ca-bbf1616f1ada" + }, + { + "name": "Nose3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20, + 15.5, + -76.925 + ], + "to": [ + -10, + 29.5, + -46.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -19.15, + 0 + ], + "origin": [ + -20, + 22.5, + -46.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 110.425, + 17, + 80, + 31 + ], + "texture": 0 + }, + "up": { + "uv": [ + 99, + 14, + 129.425, + 4 + ], + "rotation": 270, + "texture": 0 + }, + "down": { + "uv": [ + 129.425, + 14, + 99, + 4 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "09ad8112-4cf8-8762-652e-f5ad6d9f618e" + }, + { + "name": "RearBody1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -10, + 15.5, + 33 + ], + "to": [ + 10, + 50.5, + 63 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 191, + 14, + 211, + 49 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 130, + 32, + 150, + 62 + ], + "texture": 0 + }, + "down": { + "uv": [ + 170, + 34, + 190, + 64 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "890f0f8a-d674-0b64-0662-72ec21b7e302" + }, + { + "name": "RearBody2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20, + 15.5, + 33 + ], + "to": [ + 0, + 50.5, + 64.62 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 18.4, + 0 + ], + "origin": [ + -20, + 35, + 33 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 70, + 70, + 101.62, + 105 + ], + "texture": 0 + }, + "up": { + "uv": [ + 110, + 31, + 130, + 62.62 + ], + "texture": 0 + }, + "down": { + "uv": [ + 150, + 34, + 170, + 65.62 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "553e0577-b6a2-7ca8-524a-dcd364e5e845" + }, + { + "name": "RearBody3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 15.5, + 33 + ], + "to": [ + 20, + 50.5, + 64.62 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -18.4, + 0 + ], + "origin": [ + 20, + 35, + 33 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 101.62, + 70, + 70, + 105 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 130, + 31, + 110, + 62.62 + ], + "texture": 0 + }, + "down": { + "uv": [ + 170, + 34, + 150, + 65.62 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "6e532d40-881b-73cd-c7ce-a6d5be00d54f" + }, + { + "name": "EngineRoom1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 55.5, + -13 + ], + "to": [ + 8, + 71.5, + 13 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 110, + 125, + 126, + 141 + ], + "texture": 0 + }, + "east": { + "uv": [ + 152, + 125, + 126, + 141 + ], + "texture": 0 + }, + "south": { + "uv": [ + 152, + 125, + 168, + 141 + ], + "texture": 0 + }, + "west": { + "uv": [ + 126, + 125, + 152, + 141 + ], + "texture": 0 + }, + "up": { + "uv": [ + 168, + 125, + 194, + 141 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6daed1d4-981e-461b-e3bb-74c380ac33dc" + }, + { + "name": "EngineRoomLeft1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16, + 55.5, + -13 + ], + "to": [ + -8, + 61.5, + 17 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 120, + 8, + 126 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 8, + 120, + 38, + 126 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 126, + 30, + 134 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "429f5b24-b23e-95d7-a9ee-497cc9d6870d" + }, + { + "name": "EngineRoomLeft2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16, + 50.5, + 17 + ], + "to": [ + -8, + 64.5, + 45 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 28, + 134, + 42, + 142 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 42, + 134, + 56, + 142 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 38, + 120, + 66, + 134 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 134, + 28, + 142 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "4f5a613d-8830-b138-718b-9ffbb057e3d2" + }, + { + "name": "EngineRoom2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 50.5, + 13 + ], + "to": [ + 8, + 67.5, + 59 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 240, + 117, + 194, + 134 + ], + "texture": 0 + }, + "south": { + "uv": [ + 240, + 117, + 256, + 134 + ], + "texture": 0 + }, + "west": { + "uv": [ + 194, + 117, + 240, + 134 + ], + "texture": 0 + }, + "up": { + "uv": [ + 194, + 134, + 240, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "00352831-878c-36dd-56e5-23907f1b47fa" + }, + { + "name": "EngineRoomExhaustLeft1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16, + 63.5, + 45 + ], + "to": [ + -8, + 64.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 30, + 131, + 38, + 132 + ], + "texture": 0 + }, + "west": { + "uv": [ + 37, + 132, + 38, + 126 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 30, + 126, + 38, + 132 + ], + "texture": 0 + }, + "down": { + "uv": [ + 30, + 126, + 31, + 127 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "59b62c8d-08db-51f2-9fd9-207412f3c43a" + }, + { + "name": "EngineRoomExhaustLeft2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16, + 56.5, + 45 + ], + "to": [ + -8, + 57.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 30, + 131, + 38, + 132 + ], + "texture": 0 + }, + "west": { + "uv": [ + 30, + 132, + 31, + 126 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 30, + 126, + 38, + 132 + ], + "texture": 0 + }, + "down": { + "uv": [ + 30, + 126, + 38, + 132 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "48913cfa-28ec-987b-4365-3a4efe28b6e9" + }, + { + "name": "EngineRoomExhaustLeft3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16, + 57.5, + 45 + ], + "to": [ + -15, + 63.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 30, + 126, + 31, + 127 + ], + "texture": 0 + }, + "south": { + "uv": [ + 31, + 131, + 37, + 132 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 31, + 126, + 37, + 132 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "12a1c9b3-563f-29d1-4231-8b8960e9bf95" + }, + { + "name": "EngineRoomExhaustLeft4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -9, + 57.5, + 45 + ], + "to": [ + -8, + 63.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 31, + 131, + 37, + 132 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 31, + 126, + 37, + 132 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "bb1f1492-cd11-fc0f-eb04-6a5f11c8bd62" + }, + { + "name": "RotorShaft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 71.5, + -2 + ], + "to": [ + 2, + 77.5, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 142, + 4, + 148 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 142, + 4, + 148 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 142, + 4, + 148 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 142, + 4, + 148 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "a1ca5212-93a0-4d30-6122-d2e5c9872983" + }, + { + "name": "RotorHead", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5, + 77.5, + -5 + ], + "to": [ + 5, + 81.5, + 5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 4, + 152, + 14, + 156 + ], + "texture": 0 + }, + "east": { + "uv": [ + 4, + 152, + 14, + 156 + ], + "texture": 0 + }, + "south": { + "uv": [ + 4, + 152, + 14, + 156 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 152, + 14, + 156 + ], + "texture": 0 + }, + "up": { + "uv": [ + 4, + 142, + 14, + 152 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 142, + 14, + 152 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "66601b79-7b9e-fa15-2bd4-56693acf0bb7" + }, + { + "name": "BladeSleeve", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 78.5, + -17 + ], + "to": [ + 3, + 80.5, + -5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 44, + 142, + 38, + 144 + ], + "texture": 0 + }, + "east": { + "uv": [ + 38, + 142, + 26, + 144 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 26, + 142, + 38, + 144 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "103317bc-2688-89dd-17f8-3650470efcaa" + }, + { + "name": "Blade1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 79, + -25 + ], + "to": [ + 2, + 80, + -17 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 94, + 152, + 102, + 153 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 94, + 149, + 102, + 150 + ], + "texture": 0 + }, + "up": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "d1db4ea0-4661-4e86-13ab-d074bdb22394" + }, + { + "name": "Blade2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 79, + -105 + ], + "to": [ + 3, + 80, + -25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 14, + 148, + 15, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 94, + 153, + 14, + 154 + ], + "texture": 0 + }, + "south": { + "uv": [ + 93, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 14, + 148, + 94, + 149 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 148, + 14, + 154 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "8c22cade-6d0a-00a9-2974-2804a153f903" + }, + { + "name": "Tail1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 17.5, + 62 + ], + "to": [ + 7, + 48.5, + 97 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -158 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 145, + 94, + 110, + 125 + ], + "texture": 0 + }, + "south": { + "uv": [ + 211, + 0, + 225, + 31 + ], + "texture": 0 + }, + "west": { + "uv": [ + 110, + 94, + 145, + 125 + ], + "texture": 0 + }, + "up": { + "uv": [ + 110, + 66, + 145, + 80 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 110, + 80, + 145, + 94 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "623664b1-2689-578e-fd04-eee31711ff1d" + }, + { + "name": "Tail2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 21.5, + 97 + ], + "to": [ + 7, + 48.5, + 132 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -158 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 180, + 94, + 145, + 121 + ], + "texture": 0 + }, + "south": { + "uv": [ + 211, + 31, + 225, + 62 + ], + "texture": 0 + }, + "west": { + "uv": [ + 145, + 94, + 180, + 121 + ], + "texture": 0 + }, + "up": { + "uv": [ + 145, + 66, + 180, + 80 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 145, + 80, + 180, + 94 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "fc8ce5f4-0840-2f3d-140f-21dc84105267" + }, + { + "name": "Tail3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 25.5, + 132 + ], + "to": [ + 7, + 48.5, + 167 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -158 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 215, + 94, + 180, + 117 + ], + "texture": 0 + }, + "south": { + "uv": [ + 225, + 0, + 239, + 23 + ], + "texture": 0 + }, + "west": { + "uv": [ + 180, + 94, + 215, + 117 + ], + "texture": 0 + }, + "up": { + "uv": [ + 180, + 66, + 215, + 80 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 180, + 80, + 215, + 94 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "8e802d51-1ae6-3899-f6d4-8cd3c38b139f" + }, + { + "name": "Tail4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 29.5, + 167 + ], + "to": [ + 7, + 48.5, + 202 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -158 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 250, + 94, + 215, + 113 + ], + "texture": 0 + }, + "south": { + "uv": [ + 225, + 23, + 239, + 42 + ], + "texture": 0 + }, + "west": { + "uv": [ + 215, + 94, + 250, + 113 + ], + "texture": 0 + }, + "up": { + "uv": [ + 215, + 66, + 250, + 80 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 215, + 80, + 250, + 94 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "67af4d6d-9e06-3523-d121-1449e5623033" + }, + { + "name": "TailBladeLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -27, + 27.5, + 110 + ], + "to": [ + -7, + 29.5, + 120 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 10, + 0 + ], + "origin": [ + -7, + 28, + 110 + ], + "faces": { + "north": { + "uv": [ + 150, + 8, + 130, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 180, + 8, + 160, + 10 + ], + "texture": 0 + }, + "west": { + "uv": [ + 160, + 8, + 150, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 206, + 0, + 186, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 206, + 10, + 186, + 0 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f0926915-1b03-abd3-2ff0-fb9e7b9d69ba" + }, + { + "name": "Tail5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 48.5, + 175 + ], + "to": [ + 4, + 88.5, + 191 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 48, + 175 + ], + "faces": { + "north": { + "uv": [ + 130, + 0, + 170, + 8 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 255, + 0, + 239, + 40 + ], + "texture": 0 + }, + "south": { + "uv": [ + 130, + 0, + 170, + 8 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 239, + 0, + 255, + 40 + ], + "texture": 0 + }, + "up": { + "uv": [ + 170, + 0, + 186, + 8 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "0945a87b-a1d3-7f38-aac7-6dcca9f02a58" + }, + { + "name": "RotorShaft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 79.5, + 181 + ], + "to": [ + 10, + 83.5, + 185 + ], + "autouv": 0, + "color": 0, + "origin": [ + 11, + 85, + 175 + ], + "faces": { + "north": { + "uv": [ + 0, + 156, + 4, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 156, + 4, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 156, + 4, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 156, + 4, + 162 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "4921cf7b-b2b3-af9f-9a0d-45bd294a5c63" + }, + { + "name": "RotorHead", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 10, + 76.5, + 178 + ], + "to": [ + 14, + 86.5, + 188 + ], + "autouv": 0, + "color": 0, + "origin": [ + 11, + 85, + 175 + ], + "faces": { + "north": { + "uv": [ + 4, + 166, + 14, + 170 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 4, + 156, + 14, + 166 + ], + "texture": 0 + }, + "south": { + "uv": [ + 4, + 166, + 14, + 170 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 4, + 156, + 14, + 166 + ], + "texture": 0 + }, + "up": { + "uv": [ + 4, + 166, + 14, + 170 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 4, + 166, + 14, + 170 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "5354d04a-dcfe-a853-0890-af0a391580cf" + }, + { + "name": "TailSleeve", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11, + 72.5, + 180 + ], + "to": [ + 13, + 76.5, + 186 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 81, + 183 + ], + "faces": { + "north": { + "uv": [ + 18, + 154, + 22, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 14, + 154, + 18, + 160 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 18, + 154, + 22, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 14, + 154, + 18, + 160 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 22, + 154, + 28, + 156 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "b4ca7b1a-f286-c59f-de41-2f4c81ebcf60" + }, + { + "name": "Blade1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11.5, + 68.5, + 183 + ], + "to": [ + 12.5, + 72.5, + 185 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 81, + 183 + ], + "faces": { + "north": { + "uv": [ + 34, + 160, + 30, + 161 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 34, + 160, + 30, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 34, + 161, + 30, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 34, + 160, + 30, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b22dabbf-eb73-a416-efd2-8c592faea638" + }, + { + "name": "Blade2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11.5, + 52.5, + 181 + ], + "to": [ + 12.5, + 68.5, + 185 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 81, + 183 + ], + "faces": { + "north": { + "uv": [ + 30, + 160, + 14, + 161 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 30, + 160, + 14, + 164 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 30, + 163, + 14, + 164 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 30, + 160, + 14, + 164 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 29, + 164, + 30, + 160 + ], + "texture": 0 + }, + "down": { + "uv": [ + 14, + 164, + 15, + 160 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8659a038-d656-e9a6-677d-860067d72528" + }, + { + "name": "LanderShaft1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16, + -1.5, + -37 + ], + "to": [ + -14, + 15.5, + -35 + ], + "autouv": 0, + "color": 0, + "origin": [ + -15, + 13, + -25 + ], + "faces": { + "north": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b9e80942-0725-306b-d7d1-726fef83a08d" + }, + { + "name": "LanderShaft2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16, + -1.5, + 31 + ], + "to": [ + -14, + 15.5, + 33 + ], + "autouv": 0, + "color": 0, + "origin": [ + -15, + 13, + -25 + ], + "faces": { + "north": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "be81893d-06ce-98ae-2241-f24e1a6e49e0" + }, + { + "name": "LanderBottom1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -18, + -2.5, + -47 + ], + "to": [ + -12, + -0.5, + 43 + ], + "autouv": 0, + "color": 0, + "origin": [ + -14, + 15, + -2 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 110, + 154, + 200, + 156 + ], + "texture": 0 + }, + "south": { + "uv": [ + 110, + 150, + 112, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 110, + 150, + 200, + 152 + ], + "texture": 0 + }, + "up": { + "uv": [ + 110, + 150, + 200, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 110, + 150, + 200, + 156 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "d4502cca-0b14-7d86-6160-f86322c35b25" + }, + { + "name": "LanderBottom2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -18, + -2.5, + -57 + ], + "to": [ + -12, + -0.5, + -47 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -15, + -3, + -47 + ], + "faces": { + "north": { + "uv": [ + 200, + 150, + 202, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 200, + 154, + 210, + 156 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 200, + 150, + 210, + 152 + ], + "texture": 0 + }, + "up": { + "uv": [ + 200, + 150, + 210, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 200, + 150, + 210, + 156 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "57c510e5-6036-ee15-39e0-ae4cbb2c00fa" + }, + { + "name": "LanderShaft1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 14, + -1.5, + -37 + ], + "to": [ + 16, + 15.5, + -35 + ], + "autouv": 0, + "color": 0, + "origin": [ + 15, + 13, + -25 + ], + "faces": { + "north": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e7f46383-2d20-b790-1b02-2efbd9022ded" + }, + { + "name": "LanderShaft2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 14, + -1.5, + 31 + ], + "to": [ + 16, + 15.5, + 33 + ], + "autouv": 0, + "color": 0, + "origin": [ + 15, + 13, + -25 + ], + "faces": { + "north": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "30329970-0ddf-fc94-6f51-ee9cfbee974b" + }, + { + "name": "LanderBottom1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 12, + -2.5, + -47 + ], + "to": [ + 18, + -0.5, + 43 + ], + "autouv": 0, + "color": 0, + "origin": [ + 14, + 15, + -2 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 110, + 154, + 200, + 156 + ], + "texture": 0 + }, + "south": { + "uv": [ + 110, + 150, + 112, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 110, + 150, + 200, + 152 + ], + "texture": 0 + }, + "up": { + "uv": [ + 110, + 150, + 200, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 110, + 150, + 200, + 156 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "22aaf02a-dcc5-0b1e-163c-8f002d8a332d" + }, + { + "name": "LanderBottom2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 12, + -2.5, + -57 + ], + "to": [ + 18, + -0.5, + -47 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + 15, + -3, + -47 + ], + "faces": { + "north": { + "uv": [ + 200, + 150, + 202, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 200, + 154, + 210, + 156 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 200, + 150, + 210, + 152 + ], + "texture": 0 + }, + "up": { + "uv": [ + 200, + 150, + 210, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 200, + 150, + 210, + 156 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "7823fa17-de11-0fe8-2baf-f8fb991f1c3a" + }, + { + "name": "TailBladeRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 7, + 27.5, + 110 + ], + "to": [ + 27, + 29.5, + 120 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -10, + 0 + ], + "origin": [ + 7, + 28, + 110 + ], + "faces": { + "north": { + "uv": [ + 130, + 8, + 150, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 150, + 8, + 160, + 10 + ], + "texture": 0 + }, + "south": { + "uv": [ + 160, + 8, + 180, + 10 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 186, + 0, + 206, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 186, + 10, + 206, + 0 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "87df5ebb-ce10-e033-a030-13710b994a15" + }, + { + "name": "EngineRoomRight1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + 55.5, + -13 + ], + "to": [ + 16, + 61.5, + 17 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 8, + 120, + 0, + 126 + ], + "texture": 0 + }, + "east": { + "uv": [ + 38, + 120, + 8, + 126 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 134, + 30, + 126 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "02e23b3b-bbd1-8429-2e72-30a7942b1a59" + }, + { + "name": "EngineRoomRight2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + 50.5, + 17 + ], + "to": [ + 16, + 64.5, + 45 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 28, + 142, + 42, + 134 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 66, + 120, + 38, + 134 + ], + "texture": 0 + }, + "south": { + "uv": [ + 42, + 134, + 56, + 142 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 142, + 28, + 134 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "47afaa80-32d5-ef12-1c54-f7af51108b24" + }, + { + "name": "EngineRoomExhaustRight1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + 63.5, + 45 + ], + "to": [ + 16, + 64.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 37, + 126, + 38, + 132 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 38, + 131, + 30, + 132 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 38, + 126, + 30, + 132 + ], + "texture": 0 + }, + "down": { + "uv": [ + 38, + 126, + 30, + 132 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b0c15dcb-3164-8e83-617a-faf2031bad34" + }, + { + "name": "EngineRoomExhaustRight2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + 56.5, + 45 + ], + "to": [ + 16, + 57.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 37, + 126, + 38, + 132 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 38, + 131, + 30, + 132 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 38, + 126, + 30, + 132 + ], + "texture": 0 + }, + "down": { + "uv": [ + 38, + 126, + 30, + 132 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "fea2953f-ff6d-d6f4-0e7a-12e45eb37e3d" + }, + { + "name": "EngineRoomExhaustRight3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 15, + 57.5, + 45 + ], + "to": [ + 16, + 63.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 37, + 132, + 31, + 126 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 31, + 132, + 37, + 131 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6e2dde80-d293-08d7-2c83-8f7edab96858" + }, + { + "name": "EngineRoomExhaustRight4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + 57.5, + 45 + ], + "to": [ + 9, + 63.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 31, + 132, + 37, + 126 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 31, + 132, + 37, + 131 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "787b4297-9e84-2172-ca92-f890a7337aaa" + }, + { + "name": "BladeSleeve", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 78.5, + -17 + ], + "to": [ + 3, + 80.5, + -5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 44, + 142, + 38, + 144 + ], + "texture": 0 + }, + "east": { + "uv": [ + 38, + 142, + 26, + 144 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 26, + 142, + 38, + 144 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "db87ecaf-8136-4d52-d5c9-3d4f4b20fd3d" + }, + { + "name": "Blade1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 79, + -25 + ], + "to": [ + 2, + 80, + -17 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 94, + 152, + 102, + 153 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 94, + 149, + 102, + 150 + ], + "texture": 0 + }, + "up": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "c586ee43-2365-0815-9be1-57eb4d52415d" + }, + { + "name": "Blade2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 79, + -105 + ], + "to": [ + 3, + 80, + -25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 14, + 148, + 15, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 94, + 153, + 14, + 154 + ], + "texture": 0 + }, + "south": { + "uv": [ + 93, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 14, + 148, + 94, + 149 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 148, + 14, + 154 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "adfdc4b7-1eb1-0617-f8ab-48b0db5665f9" + }, + { + "name": "BladeSleeve", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 78.5, + -17 + ], + "to": [ + 3, + 80.5, + -5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 44, + 142, + 38, + 144 + ], + "texture": 0 + }, + "east": { + "uv": [ + 38, + 142, + 26, + 144 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 26, + 142, + 38, + 144 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "9a654922-f592-c03e-ec3a-411273b14955" + }, + { + "name": "Blade1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 79, + -25 + ], + "to": [ + 2, + 80, + -17 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 94, + 152, + 102, + 153 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 94, + 149, + 102, + 150 + ], + "texture": 0 + }, + "up": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "34b50ab0-c515-6c0a-ebe9-80822ac5c44e" + }, + { + "name": "Blade2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 79, + -105 + ], + "to": [ + 3, + 80, + -25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 14, + 148, + 15, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 94, + 153, + 14, + 154 + ], + "texture": 0 + }, + "south": { + "uv": [ + 93, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 14, + 148, + 94, + 149 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 148, + 14, + 154 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "d28f3b53-e1fd-6e19-ee52-768b3d16f520" + }, + { + "name": "BladeSleeve", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 78.5, + -17 + ], + "to": [ + 3, + 80.5, + -5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 44, + 142, + 38, + 144 + ], + "texture": 0 + }, + "east": { + "uv": [ + 38, + 142, + 26, + 144 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 26, + 142, + 38, + 144 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "cf06849c-bf04-230f-8555-70a0f6fbb714" + }, + { + "name": "Blade1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 79, + -25 + ], + "to": [ + 2, + 80, + -17 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 94, + 152, + 102, + 153 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 94, + 149, + 102, + 150 + ], + "texture": 0 + }, + "up": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "b91de1a5-0b22-48de-55da-1ad9e0400b04" + }, + { + "name": "Blade2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 79, + -105 + ], + "to": [ + 3, + 80, + -25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 14, + 148, + 15, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 94, + 153, + 14, + 154 + ], + "texture": 0 + }, + "south": { + "uv": [ + 93, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 14, + 148, + 94, + 149 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 148, + 14, + 154 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "3ae96f69-18b8-0a78-9d04-f3caffc1b4a1" + }, + { + "name": "TailSleeve", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11, + 72.5, + 180 + ], + "to": [ + 13, + 76.5, + 186 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 81, + 183 + ], + "faces": { + "north": { + "uv": [ + 18, + 154, + 22, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 14, + 154, + 18, + 160 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 18, + 154, + 22, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 14, + 154, + 18, + 160 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 22, + 154, + 28, + 156 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "4e2b41c3-a5b0-7ac4-3410-47ad58210db4" + }, + { + "name": "Blade1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11.5, + 68.5, + 183 + ], + "to": [ + 12.5, + 72.5, + 185 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 81, + 183 + ], + "faces": { + "north": { + "uv": [ + 34, + 160, + 30, + 161 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 34, + 160, + 30, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 34, + 161, + 30, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 34, + 160, + 30, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b017b261-b144-7afe-0641-3d4b4b111aa5" + }, + { + "name": "Blade2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11.5, + 52.5, + 181 + ], + "to": [ + 12.5, + 68.5, + 185 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 81, + 183 + ], + "faces": { + "north": { + "uv": [ + 30, + 160, + 14, + 161 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 30, + 160, + 14, + 164 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 30, + 163, + 14, + 164 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 30, + 160, + 14, + 164 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 29, + 164, + 30, + 160 + ], + "texture": 0 + }, + "down": { + "uv": [ + 14, + 164, + 15, + 160 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "aeb1e055-a22c-2884-4143-efb88f549cb3" + }, + { + "name": "DoorLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20.1, + 16.5, + -21 + ], + "to": [ + -18.1, + 51.5, + 28 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 34, + 154, + 36, + 189 + ], + "texture": 0 + }, + "east": { + "uv": [ + 85, + 156, + 134, + 191 + ], + "texture": 0 + }, + "south": { + "uv": [ + 34, + 154, + 36, + 189 + ], + "texture": 0 + }, + "west": { + "uv": [ + 36, + 156, + 85, + 191 + ], + "texture": 0 + }, + "up": { + "uv": [ + 36, + 154, + 85, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 36, + 154, + 85, + 156 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "c683f988-d7ac-d768-398e-41744d3302cb" + }, + { + "name": "DoorRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 18.1, + 16.5, + -21 + ], + "to": [ + 20.1, + 51.5, + 28 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 36, + 154, + 34, + 189 + ], + "texture": 0 + }, + "east": { + "uv": [ + 85, + 156, + 36, + 191 + ], + "texture": 0 + }, + "south": { + "uv": [ + 36, + 154, + 34, + 189 + ], + "texture": 0 + }, + "west": { + "uv": [ + 134, + 156, + 85, + 191 + ], + "texture": 0 + }, + "up": { + "uv": [ + 36, + 156, + 85, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 36, + 156, + 85, + 154 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "0c7841d3-9d21-15ca-262b-1627bc2f205b" + }, + { + "name": "SchaleLabel", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20.2, + 19.5, + -16 + ], + "to": [ + -20.2, + 24.5, + 23 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 134, + 156, + 173, + 161 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "166f93d9-1fd0-34ac-2675-dd025f53f0f8" + }, + { + "name": "SchaleLabel", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 20.2, + 19.5, + -16 + ], + "to": [ + 20.2, + 24.5, + 23 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 134, + 156, + 173, + 161 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "20c339d6-7391-1da8-9c28-0cd84d7d4b32" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 2, + 7 + ], + "to": [ + 1, + 18, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 2, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "ceea50d1-ebb7-d7cb-b6b9-69a321fd2698" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 2, + -3 + ], + "to": [ + 1, + 18, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 2, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2cbdf3db-26d4-6b03-d386-78cbd775872a" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 5.5, + -4 + ], + "to": [ + 2, + 6.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 2, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "bc13f85c-c966-c61e-8958-954dae7efcd9" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 13.5, + -4 + ], + "to": [ + 2, + 14.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 2, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "af62dbcd-800e-f962-49ef-2cc8b7512391" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -14, + 7 + ], + "to": [ + 1, + 2, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -14, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a2f4989f-e70f-5196-4050-f0b1825614e1" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -14, + -3 + ], + "to": [ + 1, + 2, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -14, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "3c8f15aa-a7a8-ebc5-4678-c3e2f4a624d7" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -2.5, + -4 + ], + "to": [ + 2, + -1.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -14, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "05bc5a8b-b514-4d34-9df4-85a29e758ed2" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -10.5, + -4 + ], + "to": [ + 2, + -9.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -14, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "560ddc94-bfeb-9ca3-3ad5-2b996a9417e5" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -30, + 7 + ], + "to": [ + 1, + -14, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -30, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5ad4ce08-eefc-6107-fc45-b54c501d5a17" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -30, + -3 + ], + "to": [ + 1, + -14, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -30, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5382e7ce-0210-07a3-5a39-564881ad85b6" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -18.5, + -4 + ], + "to": [ + 2, + -17.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -30, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "651651ac-c2e0-5cef-8e1a-981e98653024" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -26.5, + -4 + ], + "to": [ + 2, + -25.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -30, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "29295c79-a462-f3ae-b17d-165b0b24e5d0" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -46, + 7 + ], + "to": [ + 1, + -30, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -46, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "adcf364d-c4cb-636b-81d6-c7977d7b3525" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -46, + -3 + ], + "to": [ + 1, + -30, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -46, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "42f4c692-3694-c495-ec99-09556d5bb0c0" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -34.5, + -4 + ], + "to": [ + 2, + -33.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -46, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "595ef090-7f9a-8179-e935-4b29f2d7e184" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -42.5, + -4 + ], + "to": [ + 2, + -41.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -46, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "9d74e4a4-4705-1cf9-0022-51fe5ae26385" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -62, + 7 + ], + "to": [ + 1, + -46, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -62, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e61bb277-9b35-78e5-93f1-b3f8d8d7fc7f" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -62, + -3 + ], + "to": [ + 1, + -46, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -62, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "37236c6a-8616-a237-baa4-aa0ead82d0f7" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -50.5, + -4 + ], + "to": [ + 2, + -49.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -62, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "1a350fe0-670a-70fe-88e3-734694dad6ba" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -58.5, + -4 + ], + "to": [ + 2, + -57.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -62, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "6584c65b-14b3-9256-0b14-bc8198dfc9fb" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -78, + 7 + ], + "to": [ + 1, + -62, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -78, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a6b332b9-51fe-6bde-d3f7-f4d49e2fad64" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -78, + -3 + ], + "to": [ + 1, + -62, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -78, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e283a6d7-c1c4-dccf-55a8-7d7f840f4259" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -66.5, + -4 + ], + "to": [ + 2, + -65.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -78, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "abbdc168-0478-26c0-4fd5-8a4e0a6d6c70" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -74.5, + -4 + ], + "to": [ + 2, + -73.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -78, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d8af1577-a3b2-233f-5fa7-8614c8a06d46" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -94, + 7 + ], + "to": [ + 1, + -78, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -94, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "1382a9ae-d04f-9f91-e940-0acfccd26b02" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -94, + -3 + ], + "to": [ + 1, + -78, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -94, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f47a62ab-f0c5-eba4-9b39-c6ddcd063b1d" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -82.5, + -4 + ], + "to": [ + 2, + -81.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -94, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "db16de55-a5a5-3191-cab1-737029a1c1d4" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -90.5, + -4 + ], + "to": [ + 2, + -89.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -94, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "bb0aac5a-aed5-18eb-078c-087cadeaa272" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -110, + 7 + ], + "to": [ + 1, + -94, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -110, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "65c9cc04-0f2e-be8d-e5dd-596432b80caf" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -110, + -3 + ], + "to": [ + 1, + -94, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -110, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "dc6bada8-0f68-3157-623e-5d707cf63adc" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -98.5, + -4 + ], + "to": [ + 2, + -97.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -110, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "1b0b4d4b-ba33-c817-e5b6-ce5f0a015670" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -106.5, + -4 + ], + "to": [ + 2, + -105.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -110, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "34d34524-8192-5c54-2edb-6687d32c54ae" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -126, + 7 + ], + "to": [ + 1, + -110, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -126, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b9cf06c2-18d5-b469-6005-557f1b65bbd3" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -126, + -3 + ], + "to": [ + 1, + -110, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -126, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e28c6ffe-1742-144c-1949-91050bdc81f5" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -114.5, + -4 + ], + "to": [ + 2, + -113.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -126, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "173bd1e5-b573-e827-e8c1-3b545bb9fddb" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -122.5, + -4 + ], + "to": [ + 2, + -121.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -126, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b8bc4a52-d289-10ea-307c-b439840f0306" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -142, + 7 + ], + "to": [ + 1, + -126, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -142, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "616545a5-dc5f-fc34-fba0-fa73a5d2dda0" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -142, + -3 + ], + "to": [ + 1, + -126, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -142, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "84690380-add5-e58c-bade-29566cbd0ca8" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -130.5, + -4 + ], + "to": [ + 2, + -129.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -142, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "9995ccb7-13d8-d7ad-177b-1061111eae4e" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -138.5, + -4 + ], + "to": [ + 2, + -137.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -142, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "fbde71ac-aa28-ddfc-b282-2d8a90ca7468" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -158, + 7 + ], + "to": [ + 1, + -142, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -158, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "188ccb12-851b-1814-a474-acf791a7b3fe" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -158, + -3 + ], + "to": [ + 1, + -142, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -158, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5c2041f8-0c46-922f-089a-18b3e99969ed" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -146.5, + -4 + ], + "to": [ + 2, + -145.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -158, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "334e1d65-f729-2eef-0d61-2ce72451a335" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -154.5, + -4 + ], + "to": [ + 2, + -153.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -158, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "7a2fd5ad-01b2-3a7e-11db-8fc0532ea0ac" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -174, + 7 + ], + "to": [ + 1, + -158, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -174, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "ffe85353-4a8e-827b-da4c-b073e7ea6377" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -174, + -3 + ], + "to": [ + 1, + -158, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -174, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "86a1da75-1f45-bf6f-2f92-2fc63d8e993a" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -162.5, + -4 + ], + "to": [ + 2, + -161.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -174, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "d506e185-339a-eebd-7381-6348d3f8e0d4" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -170.5, + -4 + ], + "to": [ + 2, + -169.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -174, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "511c8f02-6fd7-f679-dd0d-5618cd7e5ed1" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -190, + 7 + ], + "to": [ + 1, + -174, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -190, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e9f10a40-b536-eefe-721f-aff1b8a6a6a9" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -190, + -3 + ], + "to": [ + 1, + -174, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -190, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "066c1dc4-37b5-d79d-12b2-d0a3ef5ebf37" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -178.5, + -4 + ], + "to": [ + 2, + -177.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -190, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "fc44e348-0fba-cb31-af5b-16506815543e" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -186.5, + -4 + ], + "to": [ + 2, + -185.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -190, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5f77bf2c-d246-9156-c10e-f71dcaed59a1" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -206, + 7 + ], + "to": [ + 1, + -190, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -206, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "6fc54381-1c0e-b4af-9bbc-4d8da96fecf9" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -206, + -3 + ], + "to": [ + 1, + -190, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -206, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "afef023d-931c-9a20-73fc-6300e8088df0" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -194.5, + -4 + ], + "to": [ + 2, + -193.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -206, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "b2709f0b-8848-15c4-8022-5ee5ae61eb21" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -202.5, + -4 + ], + "to": [ + 2, + -201.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -206, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b335fbde-c8fa-7a9d-ef18-8aca48e7e18c" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -222, + 7 + ], + "to": [ + 1, + -206, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -222, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c20a24d6-be1c-9057-82d7-04de02f59886" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -222, + -3 + ], + "to": [ + 1, + -206, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -222, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "3a63e341-e8fb-2bd2-6362-8562b2e7b7ef" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -210.5, + -4 + ], + "to": [ + 2, + -209.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -222, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "976656dc-5616-ef7b-ff0f-0284637bb753" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -218.5, + -4 + ], + "to": [ + 2, + -217.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -222, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "da9f89fb-21c2-448a-c367-0f483f1fdd96" + } + ], + "outliner": [ + { + "name": "Helicopter", + "origin": [ + 0, + 41, + 72 + ], + "color": 0, + "uuid": "3855c725-cad3-125d-db6d-7aa36afaff7c", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b7c05a5f-7761-cdb8-f20e-1c37a3ade2d6", + "f00ed130-bf0d-ecc1-f1ca-bbf1616f1ada", + "96c3a955-eb63-9471-5196-694594fda260", + { + "name": "Doors", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "c8c6350b-e8cd-d570-31a7-cf4e2bc83a28", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "DoorLeft", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "ed76b98c-a423-8851-e841-2021ddaf8547", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "c683f988-d7ac-d768-398e-41744d3302cb", + "166f93d9-1fd0-34ac-2675-dd025f53f0f8" + ] + }, + { + "name": "DoorRight", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "2c757bc9-83e6-d23d-9df6-bf4f97a4f5d6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "0c7841d3-9d21-15ca-262b-1627bc2f205b", + "20c339d6-7391-1da8-9c28-0cd84d7d4b32" + ] + } + ] + }, + { + "name": "Nose", + "origin": [ + 0, + 15, + -25.25 + ], + "color": 0, + "uuid": "7c0528cc-eca1-1af9-1c0e-8dc2ad12def4", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e7fa4708-6808-a16e-c3cf-84c4423ce64d", + "c62a05d2-a700-0657-0afa-5f2244004bff", + "09ad8112-4cf8-8762-652e-f5ad6d9f618e" + ] + }, + { + "name": "RearBody", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "93e928d9-d6f0-43df-6293-0a3cd4e289b6", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "890f0f8a-d674-0b64-0662-72ec21b7e302", + "553e0577-b6a2-7ca8-524a-dcd364e5e845", + "6e532d40-881b-73cd-c7ce-a6d5be00d54f", + { + "name": "Tail", + "origin": [ + 0, + 15, + -158 + ], + "color": 0, + "uuid": "d262a3fe-1946-6256-fce5-ba051869f9b3", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "623664b1-2689-578e-fd04-eee31711ff1d", + "fc8ce5f4-0840-2f3d-140f-21dc84105267", + "8e802d51-1ae6-3899-f6d4-8cd3c38b139f", + "67af4d6d-9e06-3523-d121-1449e5623033", + { + "name": "TailBlades", + "origin": [ + 0, + 27, + 111 + ], + "color": 0, + "uuid": "a5b0c0fa-1a35-5bbc-8477-a99377c7910e", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f0926915-1b03-abd3-2ff0-fb9e7b9d69ba", + "87df5ebb-ce10-e033-a030-13710b994a15" + ] + }, + { + "name": "Tail2", + "origin": [ + 0, + 48, + 175 + ], + "rotation": [ + 45, + 0, + 0 + ], + "color": 0, + "uuid": "22f49b13-6a3d-b438-2c5c-dc918d4d3576", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "0945a87b-a1d3-7f38-aac7-6dcca9f02a58", + { + "name": "TailRotor", + "origin": [ + 4, + 81, + 183 + ], + "rotation": [ + -45, + 0, + 0 + ], + "color": 0, + "uuid": "cd3f847e-32d5-a57a-9d0d-2fb39777e3db", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4921cf7b-b2b3-af9f-9a0d-45bd294a5c63", + "5354d04a-dcfe-a853-0890-af0a391580cf", + { + "name": "TailRotorBlades", + "origin": [ + 12, + 81, + 183 + ], + "color": 0, + "uuid": "47f57408-507e-ee25-dfbd-8f633fe8ccfd", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "TailRotorBlade1", + "origin": [ + 12, + 81, + 183 + ], + "color": 0, + "uuid": "124e1398-1a3b-52cb-328a-d53ee1298459", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4e2b41c3-a5b0-7ac4-3410-47ad58210db4", + "b017b261-b144-7afe-0641-3d4b4b111aa5", + "aeb1e055-a22c-2884-4143-efb88f549cb3" + ] + }, + { + "name": "TailRotorBlade2", + "origin": [ + 12, + 81, + 183 + ], + "rotation": [ + -180, + 0, + 0 + ], + "color": 0, + "uuid": "f048d185-df18-6a18-4f96-77a3b8dc02e8", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b4ca7b1a-f286-c59f-de41-2f4c81ebcf60", + "b22dabbf-eb73-a416-efd2-8c592faea638", + "8659a038-d656-e9a6-677d-860067d72528" + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "name": "Lander", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "3352001e-59dc-756f-ca56-75a0ff69c425", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "LanderLeft", + "origin": [ + -14, + 15, + -2 + ], + "rotation": [ + 0, + 0, + -30 + ], + "color": 0, + "uuid": "e96bb96e-5c1e-69c0-e981-61680a7c39d2", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b9e80942-0725-306b-d7d1-726fef83a08d", + "be81893d-06ce-98ae-2241-f24e1a6e49e0", + { + "name": "LanderBottomLeft", + "origin": [ + -15, + -1, + -2 + ], + "rotation": [ + 0, + 0, + 30 + ], + "color": 0, + "uuid": "44f381e1-ac30-7518-5b19-76b403eb7996", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d4502cca-0b14-7d86-6160-f86322c35b25", + "57c510e5-6036-ee15-39e0-ae4cbb2c00fa" + ] + } + ] + }, + { + "name": "LanderRight", + "origin": [ + 14, + 15, + -2 + ], + "rotation": [ + 0, + 0, + 30 + ], + "color": 0, + "uuid": "9d0c1522-0a37-b6a7-2e1d-6a52b389a65c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e7f46383-2d20-b790-1b02-2efbd9022ded", + "30329970-0ddf-fc94-6f51-ee9cfbee974b", + { + "name": "LanderBottomRight", + "origin": [ + 15, + -1, + -2 + ], + "rotation": [ + 0, + 0, + -30 + ], + "color": 0, + "uuid": "f4cc6580-f851-149d-f2fb-1bc9469b7ce1", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "22aaf02a-dcc5-0b1e-163c-8f002d8a332d", + "7823fa17-de11-0fe8-2baf-f8fb991f1c3a" + ] + } + ] + } + ] + }, + { + "name": "EngineRoom", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "32d2ada4-d3e8-9606-b3e2-5e51f4ee0c7b", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "6daed1d4-981e-461b-e3bb-74c380ac33dc", + "00352831-878c-36dd-56e5-23907f1b47fa", + { + "name": "EngineRoomLeft", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "cca24d86-e850-053a-9dec-395bac3130ea", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "429f5b24-b23e-95d7-a9ee-497cc9d6870d", + "4f5a613d-8830-b138-718b-9ffbb057e3d2", + "59b62c8d-08db-51f2-9fd9-207412f3c43a", + "48913cfa-28ec-987b-4365-3a4efe28b6e9", + "12a1c9b3-563f-29d1-4231-8b8960e9bf95", + "bb1f1492-cd11-fc0f-eb04-6a5f11c8bd62" + ] + }, + { + "name": "EngineRoomRight", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "76ae5dd4-5132-c9eb-0ef8-a39f2bd556af", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "02e23b3b-bbd1-8429-2e72-30a7942b1a59", + "47afaa80-32d5-ef12-1c54-f7af51108b24", + "b0c15dcb-3164-8e83-617a-faf2031bad34", + "fea2953f-ff6d-d6f4-0e7a-12e45eb37e3d", + "6e2dde80-d293-08d7-2c83-8f7edab96858", + "787b4297-9e84-2172-ca92-f890a7337aaa" + ] + }, + { + "name": "Rotor", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "38ed883a-0fe3-ee8a-2189-c6e092c1fbdb", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a1ca5212-93a0-4d30-6122-d2e5c9872983", + "66601b79-7b9e-fa15-2bd4-56693acf0bb7", + { + "name": "RotorBlades", + "origin": [ + 0, + 79, + 0 + ], + "color": 0, + "uuid": "812dc3c3-7569-417c-88ea-98db26c9084f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RotorBlade1", + "origin": [ + 0, + 79, + 0 + ], + "color": 0, + "uuid": "f7b3eb02-a8bd-10df-159b-84a8d7d8de15", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "103317bc-2688-89dd-17f8-3650470efcaa", + "d1db4ea0-4661-4e86-13ab-d074bdb22394", + "8c22cade-6d0a-00a9-2974-2804a153f903" + ] + }, + { + "name": "RotorBlade2", + "origin": [ + 0, + 79, + 0 + ], + "rotation": [ + 0, + 90, + 0 + ], + "color": 0, + "uuid": "8d437dd0-b961-9ee5-6a21-c66cc9e2c290", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "db87ecaf-8136-4d52-d5c9-3d4f4b20fd3d", + "c586ee43-2365-0815-9be1-57eb4d52415d", + "adfdc4b7-1eb1-0617-f8ab-48b0db5665f9" + ] + }, + { + "name": "RotorBlade3", + "origin": [ + 0, + 79, + 0 + ], + "rotation": [ + 0, + -180, + 0 + ], + "color": 0, + "uuid": "313b00e1-ad6e-cfc0-f25e-cf657a31be43", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "9a654922-f592-c03e-ec3a-411273b14955", + "34b50ab0-c515-6c0a-ebe9-80822ac5c44e", + "d28f3b53-e1fd-6e19-ee52-768b3d16f520" + ] + }, + { + "name": "RotorBlade4", + "origin": [ + 0, + 79, + 0 + ], + "rotation": [ + 0, + -90, + 0 + ], + "color": 0, + "uuid": "669905c4-3a7d-c6e9-3553-9ac439ac10f0", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "cf06849c-bf04-230f-8555-70a0f6fbb714", + "b91de1a5-0b22-48de-55da-1ad9e0400b04", + "3ae96f69-18b8-0a78-9d04-f3caffc1b4a1" + ] + } + ] + } + ] + } + ] + }, + { + "name": "RopeLadder", + "origin": [ + 0, + 18, + 3 + ], + "rotation": [ + 0, + 0, + 90 + ], + "color": 0, + "uuid": "349fd936-b671-8cf5-1bd3-e66530c8bee3", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ceea50d1-ebb7-d7cb-b6b9-69a321fd2698", + "2cbdf3db-26d4-6b03-d386-78cbd775872a", + "af62dbcd-800e-f962-49ef-2cc8b7512391", + "bc13f85c-c966-c61e-8958-954dae7efcd9", + { + "name": "RopeLadder2", + "origin": [ + 0, + 2, + 3 + ], + "rotation": [ + 0, + 0, + 85 + ], + "color": 0, + "uuid": "75c895fd-4365-0281-ecda-1a6d54d01e66", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a2f4989f-e70f-5196-4050-f0b1825614e1", + "3c8f15aa-a7a8-ebc5-4678-c3e2f4a624d7", + "05bc5a8b-b514-4d34-9df4-85a29e758ed2", + "560ddc94-bfeb-9ca3-3ad5-2b996a9417e5", + { + "name": "RopeLadder3", + "origin": [ + 0, + -14, + 3 + ], + "rotation": [ + 0, + 0, + 55 + ], + "color": 0, + "uuid": "0bda9a1f-977f-e6e5-c943-0ab890083646", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "5ad4ce08-eefc-6107-fc45-b54c501d5a17", + "5382e7ce-0210-07a3-5a39-564881ad85b6", + "651651ac-c2e0-5cef-8e1a-981e98653024", + "29295c79-a462-f3ae-b17d-165b0b24e5d0", + { + "name": "RopeLadder4", + "origin": [ + 0, + -30, + 3 + ], + "rotation": [ + 0, + 0, + 17.5 + ], + "color": 0, + "uuid": "9cb16d11-101b-c58c-24e7-c7a2dec1668f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "adcf364d-c4cb-636b-81d6-c7977d7b3525", + "42f4c692-3694-c495-ec99-09556d5bb0c0", + "595ef090-7f9a-8179-e935-4b29f2d7e184", + "9d74e4a4-4705-1cf9-0022-51fe5ae26385", + { + "name": "RopeLadder5", + "origin": [ + 0, + -46, + 3 + ], + "rotation": [ + 0, + 0, + 85 + ], + "color": 0, + "uuid": "20e90317-4e90-cada-923e-1551e99844fe", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e61bb277-9b35-78e5-93f1-b3f8d8d7fc7f", + "37236c6a-8616-a237-baa4-aa0ead82d0f7", + "1a350fe0-670a-70fe-88e3-734694dad6ba", + "6584c65b-14b3-9256-0b14-bc8198dfc9fb", + { + "name": "RopeLadder6", + "origin": [ + 0, + -62, + 3 + ], + "rotation": [ + 0, + 0, + 45 + ], + "color": 0, + "uuid": "9df17c50-2500-dc3d-3c9d-1bb6cd628896", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a6b332b9-51fe-6bde-d3f7-f4d49e2fad64", + "e283a6d7-c1c4-dccf-55a8-7d7f840f4259", + "abbdc168-0478-26c0-4fd5-8a4e0a6d6c70", + "d8af1577-a3b2-233f-5fa7-8614c8a06d46", + { + "name": "RopeLadder7", + "origin": [ + 0, + -78, + 3 + ], + "rotation": [ + 0, + 0, + 72.5 + ], + "color": 0, + "uuid": "335c6570-26b8-856b-bda3-65395902f2c1", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1382a9ae-d04f-9f91-e940-0acfccd26b02", + "f47a62ab-f0c5-eba4-9b39-c6ddcd063b1d", + "db16de55-a5a5-3191-cab1-737029a1c1d4", + "bb0aac5a-aed5-18eb-078c-087cadeaa272", + { + "name": "RopeLadder8", + "origin": [ + 0, + -94, + 3 + ], + "rotation": [ + 0, + 0, + 30 + ], + "color": 0, + "uuid": "3bd16030-14b3-a1bf-76ef-9adb8e3564d9", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "65c9cc04-0f2e-be8d-e5dd-596432b80caf", + "dc6bada8-0f68-3157-623e-5d707cf63adc", + "1b0b4d4b-ba33-c817-e5b6-ce5f0a015670", + "34d34524-8192-5c54-2edb-6687d32c54ae", + { + "name": "RopeLadder9", + "origin": [ + 0, + -110, + 3 + ], + "rotation": [ + 0, + 0, + 105 + ], + "color": 0, + "uuid": "12e7191b-e255-e122-467f-4e74ea1ca25b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b9cf06c2-18d5-b469-6005-557f1b65bbd3", + "e28c6ffe-1742-144c-1949-91050bdc81f5", + "173bd1e5-b573-e827-e8c1-3b545bb9fddb", + "b8bc4a52-d289-10ea-307c-b439840f0306", + { + "name": "RopeLadder10", + "origin": [ + 0, + -126, + 3 + ], + "rotation": [ + 0, + 0, + 30 + ], + "color": 0, + "uuid": "c8667a44-3ce4-ea1f-ecfe-d9fac6461f90", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "616545a5-dc5f-fc34-fba0-fa73a5d2dda0", + "84690380-add5-e58c-bade-29566cbd0ca8", + "9995ccb7-13d8-d7ad-177b-1061111eae4e", + "fbde71ac-aa28-ddfc-b282-2d8a90ca7468", + { + "name": "RopeLadder11", + "origin": [ + 0, + -142, + 3 + ], + "rotation": [ + 0, + 0, + 95 + ], + "color": 0, + "uuid": "73305a61-a5fc-3ffd-28cf-a5a7156ade9d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "188ccb12-851b-1814-a474-acf791a7b3fe", + "5c2041f8-0c46-922f-089a-18b3e99969ed", + "334e1d65-f729-2eef-0d61-2ce72451a335", + "7a2fd5ad-01b2-3a7e-11db-8fc0532ea0ac", + { + "name": "RopeLadder12", + "origin": [ + 0, + -158, + 3 + ], + "rotation": [ + 0, + 0, + 77.5 + ], + "color": 0, + "uuid": "fac07263-8b34-d5b4-c7e2-83b19ee7d708", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ffe85353-4a8e-827b-da4c-b073e7ea6377", + "86a1da75-1f45-bf6f-2f92-2fc63d8e993a", + "d506e185-339a-eebd-7381-6348d3f8e0d4", + "511c8f02-6fd7-f679-dd0d-5618cd7e5ed1", + { + "name": "RopeLadder13", + "origin": [ + 0, + -174, + 3 + ], + "rotation": [ + 0, + 0, + 95 + ], + "color": 0, + "uuid": "44f6b24f-ec24-3b6c-95dc-fc2d04130722", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e9f10a40-b536-eefe-721f-aff1b8a6a6a9", + "066c1dc4-37b5-d79d-12b2-d0a3ef5ebf37", + "fc44e348-0fba-cb31-af5b-16506815543e", + "5f77bf2c-d246-9156-c10e-f71dcaed59a1", + { + "name": "RopeLadder14", + "origin": [ + 0, + -190, + 3 + ], + "rotation": [ + 0, + 0, + 105 + ], + "color": 0, + "uuid": "81c03504-cef5-69e6-cf02-f623ce10f5b6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "6fc54381-1c0e-b4af-9bbc-4d8da96fecf9", + "afef023d-931c-9a20-73fc-6300e8088df0", + "b2709f0b-8848-15c4-8022-5ee5ae61eb21", + "b335fbde-c8fa-7a9d-ef18-8aca48e7e18c", + { + "name": "RopeLadder15", + "origin": [ + 0, + -206, + 3 + ], + "rotation": [ + 0, + 0, + 130 + ], + "color": 0, + "uuid": "0cb872f1-2b47-cee6-492f-bfa20246c3ac", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "c20a24d6-be1c-9057-82d7-04de02f59886", + "3a63e341-e8fb-2bd2-6362-8562b2e7b7ef", + "976656dc-5616-ef7b-ff0f-0284637bb753", + "da9f89fb-21c2-448a-c367-0f483f1fdd96" + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "name": "DeathAnimationSoundAnchor1", + "origin": [ + 0, + 34, + 0 + ], + "color": 0, + "uuid": "fcb2fee0-4cd1-e336-8621-8ce8d361032d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + { + "name": "DeathAnimationParticleAnchor", + "origin": [ + -35, + 0, + 20 + ], + "color": 0, + "uuid": "c9619203-8699-a8fd-5b1f-e5d7977f2b78", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ], + "textures": [ + { + "path": "", + "name": "death_animation.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 256, + "height": 191, + "uv_width": 256, + "uv_height": 191, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "66f8b2e8-963d-24d5-1b10-af18e7682f3d", + "relative_path": "../../textures/death_animation.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAC/CAYAAAARmQJyAAAAAXNSR0IArs4c6QAAFtBJREFUeF7tnWusVcUVx+dI2ni9oIBieAVQUVAU2rQk2pjSpESJpB9QQWk0RpqaJhoTY7T9IFWKaWxsYyK2scb6bEsFIkkblJo+JNYPhg9VCsitGMDwqg/QkFtozPU0c7j73H32nb1n1sya2bP3/p8vcO9Zs2bmv9b67dmzH7d1aqjdFvhEocCZY1qtsgYyMDAQdR7MnH2JeOXIaXWumyK6/9fpJW0P7P23kO05P6pYlVFLLprMmTOn1UoGnTjiFKnKvmTihP4AAPmKAwBqbVgAgOIfLW4eADZueMmZC8tX3KT0AQD4A0CbeaE7d+7cUau1Sq8AnLO6AQ5k8e+cuqgz03nTJpJm3Nq+WeQVfuIIAAAASEklRk6FbE6Lek4BqB2nkta2aTTtTg3pT39l8f/y0Dgxe9ZMMW3Sud2xF4Fg16FjYs3Vk43nmQZAck4ug2TswMGw7nsAyQpgcHBQ9Pf3d5Wy/bk2K4AX1/9Bn/1C5B69zhwTJD8dUlvflAoA6TENgWwPlKJPt00AkFeMPmEAAJyOhCkQagWA9sJl3TycP26oJ593nBjT+TlvCds0AEgt5CogCwHboqcAIG3LDYO6A0DqtWfPnrZpgSda59nXBgAv7P1fOyl6WewqAMilrPxcfnjbqJVAkwEgNXl62Tz9EsPQQrcCyHPDAQMAoKErgDQA1u/5rDBVAYBxHX1ev+c6w5KmmUkAuBaiLQy4d7D3vzdQOPlZF8/pfJ/Y+TwyJwPBCuC0Esm9EZ1NQAkA+cvkKF8UtSYDgFbKdtYcAEh6poIAAGjwCsCk+A999Im49vOdjT0FsCtpWitOAPjcL6DNqjnW3BA1Uc75RiC5AtABQBa//AAAJiGxt5G3rPr+UFcGvsdTJ/+1BEBS/Hv3HxB3TjuBFYDHjA0BgBfXj9zJ+PBDP67+NVyP8aC6riQAfrjtSO59AEnxSyEAAGo60O1DAyA9QsCAHq9si1oBIFv8crJYAbgnSZEH6q3ADzz0E6ObuFxH/cDq1a4uCts/vHat8vtbV6qfmeAaDPcTglzjovhx3gNQrQDSxZ8c/QEASljsbAGAXt0AAH0esQMgW/wAgD4IXBaxAsB3Iab3JdJa+u4XK4A5rVZ6BaAqfgCAq7zt/eQtke090lr6LER5VSLvVMZnv1IBACAFgLziBwBoxcJtHbL4y9oIBADss4blFKCo+AEA++BwtAQAOFRU+4hlBWB79cf1LUmdW4Fv2bRTu5MsLwFiE9BfIhZ5BgD86Q4AAACd7FK9D8D3a9JM3jkYsvilDjgF8AebIs9RrwCSo3/TVgC+ASD11EEAAGjGfQClAuDKn2/RngIk9GrSjUAhAKCDAADQDAC4rDucNwFNAaAqfjnwur4QJBQAiiAAAAAAOjg4AwDvBCxnDyAbWNXpAAAAAPgCwPDBe+QPg+g6yvseKwBb5Ua3KxsC2ATki2UoT7YrAAAgFaEyrgLkJUgWAiFXAQCAW9m6bObZ9kwFQDq/5K3n3T8NZjuAuq4AbPXgbgcAcCs64o/7PoDYAZA9uAAAw7mgWgHYBtNHuuY9LMPdF1YAbora5owLiExXAKrTyw4AXj7o9kfTrp9e/ZfKvHxw9JXQeYP+X89lmm4AgKlSNDuXwlP1FCsA8u43AQCGoxg7AFTJxp281EeRaaVWbI2HgezV1K0Aim42AwAAAPvM07SkAAUAsA9DEQB0d5oCAACAfeYBAN60ozjOA4Cu+LuXAbEHIAROASgpZ2Zrez5s5t3dSj4KW8ZLPN1H3utBBQCT4gcAUjoCANxpKQQAwK+pymMWAKbFDwAAAF4zFADwKm/XeRoA1B5xH8CwYrHfBxDiKgA1eXT2VQKALCLKkVM395DfOwOA4a/Rhpyvl74GBor/kq2XTh2dcl8GdBzOqOZVAYBLAXFrZuPPBV6dFYArAGwGjTbuCgAAbhrKTcD0BnhVVwAuKrCcArgMIOa2sR/BAAC37IkJALa5xvGHXmtxKcQtFdxaU254MelJtyKLvfCTOdomtYlGHDYAwGkVAQDHbOIGQB2uTUtJAQDzxOLOIfOeAQAjrTZuGPmT2tkGt668mfVpqKI3NC1f4fcNOUZiGBoBAIZCnX6tHmsOmfecA4DjRw9TfHRtJ0yeatUu5kay+DefnG41xGV9B0W2aLn9WQ0sQKMqAaDsDcCoACCL37aQXdoGyElyFy7FmnSWhgC3P/KEAjaoCgDKLn4ZkmgAwFHAHD4C5mlhV0nBXnzRRVZDeu/994UKAFz+rAYVqFEVABDLfgsAECgpqd1IAOycuojarMf+8sPbuqcB3P6cBua5cRUAoLviQpXI9goNAEBVOpA9d8Fy+wskg1U3AIC5bACAuVZBLbkLlttfUDGInVUBAMQpac1tTykAAK205RhwFyy3v3JUMesVADDTCZuA5joFt+QuWG5/wQUhdAgAmIuFFYC5VkEtuQuW219QMYidAQDmggEA5loFteQuWG5/QcUgdgYAmAsGAJhrFdSSu2C5/QUVg9gZAGAuGABgrlVQS+6C5fYXVAxiZwCAuWDRAEAO2eVOPpe25nKFs+QuWG5/4ZSg9wQAmGsWFQASCJgPf8TS9hkCm75CtOEuWG5/ITSw7aOJALC9s5DjxR62ccL7AAqU4y5Ybn+2QQ/RDgAwVxkAMNcqqCV3wXL7CyoGsTMAwFwwAMBcq6CW3AXL7S+oGMTOAABzwQAAc62CWnIXLLe/oGIQOwMAzAWLDgB4I9Dp4HEXLLc/8xTTW3LvRNtuiOlHymNRZtHxzIDHy6hNQJdLeS5teabD68W2YFfOPaczkPV7PhMc7wNQ+eMuWF7lhAAAuBX1468HABwFzOHDz1TpXiUA2guXiV2HjpEaJwW748QY0dq+ueeFIFz+mgYAHLFJKWhsDAAUSJUAoEjN+eOGer6WRZ/+qADA4Q8AMM5xGBYoAABo0kMHgSIApIs/6YbbH7IbCpgokHfAAAAM1JNFa/PJe48/tz+bsaFNsxQAAJoVb8wWCvQoAAAgIaBAgxUAAKjB/+ILagte+zPO4PUHb41WAACghl8CoKwiLLNvqk6wr4QCAAA1TGUWYZl9U3WCfSUUAACoYXIowgljviWOD71O7XHE3qFv+07Rss4KGAFACuByJ59L2+jEtyhCWfjZjxUILPqOTj8MKCoFjAGQQMBm9LV6I5BhEaaLPin29ApA9b1WW8O+tX5gAAWGFSABAKoJIQyKMG+pT/39KL0N+kaMoABFAQCAopa0NSxCrACowsI+q8ArR0Z+c90UIdI/U9SSbfM+AABFSQIA0m6xB0AVGfYhil+qDABQc81wBaByi6sAVLGbaR+q+AsBEPuLG8pKjZkXzra6Echq0y87SQP4xP7KrbLihn7VCuS9T6EFAKgFowIgKXx5JSBZAaR/R0pMAIAkF4z1CgAAeo16LCgAyC75dT9rhwIAaCWCAU0BAICml7ABQPrIn10JkG4IAgCI0YK5TgEAQKdQ5ntTAKg2/Ex/lzskAIAYLZjrFAAAdAoRAKC63Jdunhz9i7osXBEAAMRowVynAACgU4gAgLSp6dGedGkQACBGC+Y6BQAAnUKWAJDNdOf+pOKXDgEAYrRgrlMAANAppADA8Q+PjmqleuBJt+sPABDFhzm7AgAAUVK5CSgBkC74osedcR8AUWCYB1UAACDKTQVA4h53AhKFhnkQBQAAosy2AEjvCRC7HDHHHoC1dGioVgAAIGZGAoBsM5OXnpDP+bOdAADEaMFcpwAAoFNIsQlo+1ZgAIAoNsy9KwAAECU2vROQ6NbM3GAFYOYIVjErgMeBI47Orv5LSh1d0dtdSh0YOmdRwGfxZ33LAee+EASPA6vj2VQA2L6OiqUqGuiE+xVgquIHACwSq4kAQPFbJIpDk1DFDwBYBKlpAMgWP05BLJKG2MQWuKrY5B35kyHhFIAYnCYBAMVPTA6NuW1hm4zCpvixAjBRNmPTFAAUFb/PRLYISeOb2BY/AGCROk0AAIrfIjFKauJS/ACARdBmzi73MqDFkElNUPwkuUo1di1+AKDU8Nl17hNAKH67mJTRiqP4AYAyIufYpy8AoPgdAxOwOVfxAwAWQcsWYN5lFAvXVk1ODbXbVg1TjVD8rgqGa89Z/ACARdyym4DXT2+1LNywNXn5YC8AqNfpUfxsofDuiLv4AQCLkNUJACh+iwQoqYmP4gcALIJZl1MAFL9F8Etq4qv4AQCLgNYBACh+i8AzNaGeojF1m+sGtwITFc57gQLRjTdz3aYgit+b9FrHsRU/VgDakI02qDIAUPwWAWdqki7+mP6EO94IRAxwVQGA4icGmtE8e+QHABjFDe2qigBoevHHtvQu+94Rk5pp4Y1AapmqBgAUv0m6h7UBAMLqzdpbFQCQ97hu+kjYhEd6q3bezZqojs6wAsgRsMoAcMyJSjWv4nl3TAIDAACAUz7W5bxbd1nVSaSIGwMAAIB1esZW/EXXu3WTBAB0CjXse5wCFAe8bufdWQCEvoTn6/FvXdm23njjjcLHTBd+42qdj1p8X4Ud27TQMmHL2uCr43l3FgCx5IPvlUnrueeeKwTAzbfeFk2B+0j4JJljCbip2GUBQLXsr5p2Ko0bCwDTFYCP4itK9tDnl1VLYt9HBlMQuZx3U/rwbZu9HyaWU0DfcTZaAYQufhls39eys4CpGgBiuoErlmLxDYky/HsHgOkKoIzJyz59wKcOy1gAoKyMDNuvdwDo9gCuuuqqsDMe7s3Xe/nzTi2qtgLwnRilBL3ETmONv+84t3x3kBfT3z//bGG4x19zO3s6FO0rxJoAeSKUFTf2oETiMNb4+45ztAD47m38ACjKtVgTAAAIQ4hY499IAJw8eVIsXrzYKfLUGytiTQAAwCkNjBuXHX/fhZ4nRGkrgN88+SvR19fXHZcs+uTnjz/+WNx///1Or+GmClp2Ahhn6rAhdX5U/1z2rrqGmqfrOF31CjXP7DhLA8Djv3hU9Pf3d4peFv/g4GDnZ/mR/wcAilOqrIShJrprYYWap+s4qbpk7UPNMyoAyMHIopcFn/0AAACAVCBUYQAArggjtvctODVxfI+HKI/WnDo/rUNPBq66hpqn6zhd5Qs1z2hWAL4Fp94oU7W72cpKGGqiu8Y51Dxdx0nVJWtPzVfX/pL2pe0ByAFwiq5KFPlIZ9UK2zSwroUR6nFXV/1d52mqZ1XtXGuoUgBYsmSJ8snFrVu3KucBAJSf1q4JCgAUx9BV38oBYMGCBT2KvPPOOwIAKL/Q80bgmqAAAADQVUCuACQANm3a1PndjTfeKACAeIuf4zQPAAAAAABFDlSlMLAC8AtoV31xCuA3Pt68AwDepK2U48YBQBWdJu4BuF42oj4rYVsVrglaFdDZ6uPazlXfSq0AisRq2mVA18RB+14FqgoaZwBs3Lix59Lavffea5Qbjz32mJEdt9ENN9zg9JAQ93jgrx4KAADDcQQA6pHQmAVNAQDAMwBw5KYlJKzDKgAAAABhMw69RaUAAAAARJWQGExYBQAAACBsxqG3qBRoLACyUZgxY0bhnwpL7MeOHdv578Ov7er8+8A185Q/RxXliAaze/dup6sZl112mVGciqbsOoaI5HQeCgAwLCEA4JxLLA50xQkAsMjcdQIAAAC8GeXoLQQAHIeI5ikFdPGKVaxRy1CsAOIIlS6hOFYAccy0HqPQxSvWWQIAkUZGl1AAQFyB08UrrtGOjGYUAJYuXWq0ubRv3z5sAjpE1TVhAAAH8T00dY2nhyEZubQGwKpVq4w6yBrl3RH44IMPGoHHqtPAjdasWeO0w28yXADARKVwNrUBgOkegO3DQAAAT1ICADw6cnmpLAC4ngZ0vdc/WQH84I47uGJSmp+fPvJIaX1zdbxu3bpWn1jUXZWdFNt6VjXJd6rfJ7+TNjbtsnNIj0N+l/XJNecm+mnFCIAJk6dWNhbHjx4WEgATJ06s7ByOHTsmnl63I7fQ0oWdLXKO71QAQNH7SScAgFnXugAgvQIoOspTjtZFR3LVaiHxjRUAc5Km3FUKABs3vGSlxPIVN+W24/apA8D+/fut5jBr1qzcdtw+5QpAAiBdgGkIcBzli1YOWAFYpYhVI2sAyGcB5HMA6WcAkv/bjGT58uWdZnIPQHUKIAu1vXBZ1/X8cUM93ew4MSa329b2zUIFAR8+iwAgC/Xbq5/KHWfRnP669g6hgoAPn8kpQDJQ1Tl9dg8gKWgVHEy/Swsj+0y3y35nk2NoM1qBSgAgKdSkQGSxmwBg16Fj3RlffnhbDwR8+JSd5QFAFurkVSObg/Omjd4jUM0pPecsBHz4lHPIrgBQOPVVwOlOQJcVQPaySfoqQHYFkC3W9Xs+I0dEBwAOnxQAmE5g5dxzOqYSejoAcPgEAExVrIddpQAgJU8f1U1DcOijT8S1n+9UrgA4feoAMPSd+8S0SeeaDrtrl6wWVADg9gkAkMNT6QbWAPjggw9Y73YzWQHYFKssfvnhBECeTxMASBsqBHQA4PQJAFS6nsmDrzUAkkLdu/+AuHPaCZYVQJFPHQAGrlghZs+a2QkSBQJFAOD2CQCQa6jSDWoLgKRQZXS4AKDzSQEABQKmAODwCQBUup7Jg7d+GGjLli3RngJkC1Wq4roCMPFpAgBpk6wCTAtWBwBOnwAAuYYq3aB2AEgXanL0dwWAqU8bAJhAgAoAF58AQKXrmTz4Wp0CZAuVAwAUn7YA0BWsDQBsfQIA5BqqdIMuALb/dnX7wyMHO5M5f8p0sfCWtaxLfJ1KrlcBVIXqCgCqTxcAFBWsLQBsfAIAukyt1/fdIt/y6O1tWfjyI0Gw9L5nKwOAvEJ1AYCNT1cA5BWsCwCoPgGAehW4bjYteeQ/77xJYve//inGn90vvtw/QaR/fuHV18WyxV8TJz//rzj37HHim997xgsYbFcARYVqCwBbnxwAUBWsKwAoPgEAXcnU6/vWm7++q50t+vTPb727W3z1ihmi70tnibP6xpQKgOxdgKaFKkOWdxWA06cpAKRd+kqAKqWy9wlICKjuBJT3ASQfDp8AQL0KXDebllz6q478CQRe/ctmMWXaeR0AyM+Su54vbQWQLlbVZbmiyZoAwNUnBQB5Y827RGgCAA6fAICuZOr1fWvf1sfbect/CYHtb/9D9I0fK6aMn9g5DVh2z8bgAJCSyweCdk5d1FE/fTeeSTiyxZ+08eFT9zhw+ohdNPbsHYNHn/lR7uPA3D7xNKBJVtXDRrsH8Oe3tosLLjy/dAAkELCRHS8EUauW95IRAMAmy6rZRrsH8Mc3t4srv36BGN9/ZmmbgFWSVvdGoCrMBQCoQpR4xqjdA3jkyac6AJCfi6ZMKmUTkGeq/F7e3fF21+ml87/S+T8AwK8zPPpTQLsH8PSmzWLJokvFp4OnAICcOEgQAAD+khSe/SlgtAcgLwMCAGZBwArATCdYxaGAdg/gwH/2dy4Dyk9ZNwLFIZXZKAAAM51gFYcC2j2AZzf8rnMjUKgVwILvPxSHMg6j+PvP7q78HwZJvxbcQQo0jVwB7R7An/72WucyYKirAABA+RmDqwDlxyDUCLR7APJZgJBXAQCAUKHP7wcAKD8GoUag3QOQ9wHIh4GOfHqsczOQ71uBAYBQoQcAyle6/BFo9wAuWHK3l1t/s1NPngYEAMpPCqwAyo9BqBFo9wBCvRgEAAgVcn0/AIBeo7pYBDm6m4gFAJioFMYGAAijcwy9RAOARIwjhw61VX8cNAaxTMaA+wBMVIJNLApEB4CBgYF2LOLYjuOJJ56wbRpNO9wHEE0ovA7k/3+rU5fDkJo5AAAAAElFTkSuQmCC" + } + ], + "animations": [ + { + "uuid": "96b1b305-92fe-9c7f-475b-19434f1d7894", + "name": "death_animation", + "loop": "hold", + "override": false, + "length": 12.75, + "snapping": 20, + "selected": true, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "markers": [ + { + "color": 0, + "time": 6 + } + ], + "animators": { + "3855c725-cad3-125d-db6d-7aa36afaff7c": { + "name": "Helicopter", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "40", + "y": "224", + "z": "13" + } + ], + "uuid": "e4067018-0609-ad89-380a-25747f6f1008", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "2c757bc9-83e6-d23d-9df6-bf4f97a4f5d6": { + "name": "DoorRight", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "1cbe7ba5-d97b-dff3-da58-6031cbe583a2", + "time": 0.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -2, + "y": 0, + "z": 0 + } + ], + "uuid": "5c238362-3d39-d6c8-b90f-7ea474e7c4ab", + "time": 0.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -2, + "y": 0, + "z": 0 + } + ], + "uuid": "bf74fbe3-b3e9-c73e-0c01-744f7c080b75", + "time": 0.9, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -1.40763 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 1.40763 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -2, + "y": 0, + "z": 48 + } + ], + "uuid": "f20761ca-e540-501a-4cd5-2c2989a16df0", + "time": 2.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.63708 + ], + "bezier_left_value": [ + 0, + 0, + 0.29763 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.63708 + ], + "bezier_right_value": [ + 0, + 0, + -0.29763 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -2, + "y": 0, + "z": 48 + } + ], + "uuid": "3c2870c2-1a3d-3b96-e2bd-bf03ff11662b", + "time": 10, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -1.10129 + ], + "bezier_left_value": [ + 0, + 0, + 0.30123 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 1.10129 + ], + "bezier_right_value": [ + 0, + 0, + -0.30123 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -2, + "y": 0, + "z": "0" + } + ], + "uuid": "863662d3-1b4b-b2bb-e742-5c66476d11b8", + "time": 11.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "14d9f06d-656e-28c1-e3c5-7ed8dbb30749", + "time": 11.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "349fd936-b671-8cf5-1bd3-e66530c8bee3": { + "name": "RopeLadder", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "7a6a939e-4117-86f9-9f90-aec63b8e61e9", + "time": 2.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 42.5 + } + ], + "uuid": "72250253-88e4-f556-3497-a042b2c1c2d1", + "time": 2.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "2a8320c4-a06e-5ff3-a2f2-5cd46f367dc2", + "time": 3.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "4465e37e-06aa-0af8-16f8-5d41ccd28a4e", + "time": 7.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "860bb0dd-a0c9-dd44-6cd1-139165eb773f", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "acb0ed56-dfd1-347b-0b5d-07ffe2041332", + "time": 2.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -18, + "y": 0, + "z": 0 + } + ], + "uuid": "0eea9772-0235-2498-a30d-7cc9636e9f07", + "time": 2.95, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -18, + "y": 0, + "z": 0 + } + ], + "uuid": "cfc2447b-f3db-735b-f943-fa6d38de094c", + "time": 7.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -3, + "y": 0, + "z": 0 + } + ], + "uuid": "96fcb9f9-2177-6c94-a351-0f548b37d298", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -3, + "y": 0, + "z": 0 + } + ], + "uuid": "dfe4fb8a-c882-4cfb-9705-7560e8ee61fe", + "time": 8.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 3, + "y": 0, + "z": 0 + } + ], + "uuid": "c9d4c448-85d5-c90f-cae1-5bd41d65fd8f", + "time": 9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -8.5, + "y": 0, + "z": 0 + } + ], + "uuid": "84964543-6db1-bbf9-ba7d-bc929a414813", + "time": 7.55, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "75c895fd-4365-0281-ecda-1a6d54d01e66": { + "name": "RopeLadder2", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "715ca160-5e7a-ab6e-7f05-423c3986350c", + "time": 3.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -120 + } + ], + "uuid": "d13fa408-90b4-1c79-dc11-472351e4ce31", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-120" + } + ], + "uuid": "f2c6875a-0d7b-156d-9136-0a650ef27f33", + "time": 4.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -120 + } + ], + "uuid": "2e86ee13-c9e9-2ed2-b1b8-95c3a5b4b394", + "time": 5.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -117.5 + } + ], + "uuid": "1c2bf741-57d3-c5ad-090a-8bbbad3e3029", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -120 + } + ], + "uuid": "b7d026a8-ad38-14a7-f867-1ba2d95d9391", + "time": 6.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-121.25" + } + ], + "uuid": "e76f4473-96d5-8842-0274-b0358a654c8e", + "time": 5.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-119.375" + } + ], + "uuid": "65612d85-2ab1-d18c-b0bf-47c1afcd6f1c", + "time": 6.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -120 + } + ], + "uuid": "27614e65-f95b-6b31-3628-9e04ae6de7af", + "time": 7.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -120 + } + ], + "uuid": "938323f4-87a5-ab37-7b1b-97a6ce4c8bca", + "time": 7.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -140 + } + ], + "uuid": "d14e16d9-9442-78aa-8918-2831a5ac3ead", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "105854b0-38ae-6d67-c4c1-3dc4809bba38", + "time": 7.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "e5002226-5469-1042-b029-0f1afc6be98d", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "84b84f95-6c5f-0b4a-6cba-b1625c5ffe78", + "time": 7.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "d673620a-d093-ad34-9edb-ed8e4685e43f", + "time": 7.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "0bda9a1f-977f-e6e5-c943-0ab890083646": { + "name": "RopeLadder3", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "5ed816f8-135f-0da0-5923-129ebc1c7bd6", + "time": 3.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "041c15ad-4012-b38d-82ae-971e61223436", + "time": 3.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "39c58d1d-12c8-d230-c6b5-6d104160c15b", + "time": 4.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -52.5 + } + ], + "uuid": "b8dcff37-3b94-4056-c23a-e8462043db74", + "time": 4.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "11bd825f-6b2e-aacb-e8b4-b63a18256b38", + "time": 5.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "1ff3553a-bec7-da76-7698-f56e69a072c4", + "time": 6.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-56.25" + } + ], + "uuid": "9cfa4b8d-8689-10e9-0147-11c88e06f48c", + "time": 5.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-54.375" + } + ], + "uuid": "72b93d9f-9ec1-38e2-bd94-e09ed920645f", + "time": 6.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "85a519f5-bb8f-d7f7-cd2c-ee83e94f8e19", + "time": 7.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -90 + } + ], + "uuid": "41311d57-2e2d-3539-407a-ab50771f2830", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-110" + } + ], + "uuid": "04ee912a-1a01-d160-d1cc-02423e3c64aa", + "time": 7.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-55" + } + ], + "uuid": "aa92bfd1-b3bb-8c32-15a3-a20506d635e9", + "time": 7.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "d47c969c-745e-d0de-01e8-d9057a9bac55", + "time": 7.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "5bda63ae-aee5-b44f-7777-ccb4998ea206", + "time": 7.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "b6e9b356-e0fe-62ae-e490-5f2576e4c6f0", + "time": 7.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "99e1aee4-3ecf-0b8f-0db6-12825624b7ba", + "time": 7.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "9cb16d11-101b-c58c-24e7-c7a2dec1668f": { + "name": "RopeLadder4", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "55a90d22-0aa7-a1ed-0a20-462b561529c4", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "4e4b85da-ebb9-c3e7-f66a-81f1f7131a18", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "8f8d286d-3876-0d88-731a-1b08212b71c6", + "time": 4.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "2c965938-a38a-2aa5-4e40-7b7490cbb9f3", + "time": 4.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "94a7c70a-b3de-422a-70da-b7f4f3f192ef", + "time": 5.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-17.5" + } + ], + "uuid": "018db8e7-c53c-48a2-82e6-f5704a2e030f", + "time": 6.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-18.75" + } + ], + "uuid": "76305530-2812-3b4e-76a6-881212353a98", + "time": 5.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-16.875" + } + ], + "uuid": "8dac90e3-c610-5a05-d495-0f940fe2321b", + "time": 6.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "ff8a99bc-6ecc-fa9a-a3a1-772c8458f386", + "time": 7.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "8b97c453-3b59-1b5b-1b87-5270a861395b", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -52.5 + } + ], + "uuid": "dc1e0624-fae4-1db4-0b17-c2daaa720b8f", + "time": 7.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "3608771d-a92f-73a2-1cb0-b6c63983e29e", + "time": 7.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "eaed630f-5ce3-6152-f91c-e7d30cfc3705", + "time": 7.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "8e7b9142-b842-f147-eef4-c6a415b2fca9", + "time": 7.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "1d4a7779-0147-7eaf-eacb-6498c62ec7ce", + "time": 7.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "6cc6be4e-6273-f0bf-1046-cc74826ad972", + "time": 7.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "20e90317-4e90-cada-923e-1551e99844fe": { + "name": "RopeLadder5", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "fd0d9523-f494-fbbd-579d-a9f8aa29505c", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "cbbb7211-7306-4da6-e9cd-cee32f3db277", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "ad615c94-7d2f-3d30-d2cb-1fb982efa62c", + "time": 4.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "f8b8ee5a-718b-57ec-e29f-2a957e84eba6", + "time": 5.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -82.5 + } + ], + "uuid": "4186b1f0-b56f-aa2c-d8d3-bb53424a8814", + "time": 4.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "05edfa8b-dbe5-9ac6-f39e-e13689d0736d", + "time": 6.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-86.25" + } + ], + "uuid": "2fcfc415-f20f-e75b-95c3-9c47bc7aeb3a", + "time": 5.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-84.375" + } + ], + "uuid": "2515814e-e6b6-ff78-5456-a857633e5e76", + "time": 6.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "11a7a53e-3040-b39e-6ed0-379bd2e00b92", + "time": 7.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "43eccee8-8e2a-9d27-6bc4-11bddb7bcca3", + "time": 7.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -120 + } + ], + "uuid": "08efecdc-9ec1-ac7f-2176-cf1557a6d6d6", + "time": 7.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -140 + } + ], + "uuid": "50b3a825-995e-75a9-f7af-ecf3a58496eb", + "time": 7.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "cc926f12-2919-d6d4-ecfd-09ef1110ec9e", + "time": 8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "d781389c-f13e-57fd-5443-0c375ddb8fc5", + "time": 7.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "7e66f59e-c9de-c580-b98d-7ec52ce6dcdb", + "time": 8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "965810b4-fb7c-3804-c156-6acdbbf0fd8a", + "time": 7.95, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "9df17c50-2500-dc3d-3c9d-1bb6cd628896": { + "name": "RopeLadder6", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "333957d7-7490-42ea-4b18-1e33f22720c8", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -45 + } + ], + "uuid": "b7a2d6e9-4056-008c-ccc4-11032641dfe1", + "time": 3.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -45 + } + ], + "uuid": "361017c2-c56b-05e7-9f41-a54eb0d67951", + "time": 4.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -45 + } + ], + "uuid": "cf8acc2f-581b-500c-dd24-adcf074aeea7", + "time": 5.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -42.5 + } + ], + "uuid": "82406510-9cdb-3e15-bd50-e6ae0b854a45", + "time": 4.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -45 + } + ], + "uuid": "a81c2263-8ca2-e039-3abc-c08e67bb7d26", + "time": 6.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-46.25" + } + ], + "uuid": "7403a1fb-025c-3ad1-d935-d334f2d38e6e", + "time": 5.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-44.375" + } + ], + "uuid": "796bf88a-e601-c774-69c6-9bf911e76d48", + "time": 6.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -45 + } + ], + "uuid": "b34ba9b8-05e1-5414-995a-69e8ccba3742", + "time": 7.35, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -45 + } + ], + "uuid": "86ed3337-b4f3-aac9-ff95-aa28d95f178b", + "time": 7.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -80 + } + ], + "uuid": "927a5b26-48b9-a341-3a31-4d63f8a3fede", + "time": 7.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -100 + } + ], + "uuid": "24ff5a31-95c6-8d40-29d8-745d98e06553", + "time": 8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -45 + } + ], + "uuid": "8d9f1b9c-1b64-0e85-f7b5-2abb6b74d617", + "time": 8.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "cdaaf4f8-0111-72e2-4516-72f5ff3e85ba", + "time": 8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "4327e269-e44c-7182-3fff-16315107ae30", + "time": 8.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "9dd6f2f6-fd36-c4b5-8aed-a6dc4ac524e9", + "time": 8.05, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "335c6570-26b8-856b-bda3-65395902f2c1": { + "name": "RopeLadder7", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "44deab22-701c-c222-9d88-821dc88b0ab8", + "time": 3.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "5a007d3b-580e-665d-114f-1104c2cd52ca", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "fab7f68b-3230-f50d-7c79-e3b81178cd0f", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "54b70589-b1e3-77eb-e212-f65576e31615", + "time": 5.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -70 + } + ], + "uuid": "ffd3c88c-c7fd-4156-f873-679613272b72", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "a545cacd-932e-6258-8560-85ec089cdaab", + "time": 6.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-73.75" + } + ], + "uuid": "66f3fc9d-c7f7-cd74-1df9-ced4f5ea1bb5", + "time": 5.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-71.875" + } + ], + "uuid": "062b58fe-ea6a-b033-11fd-bae2d8d7c194", + "time": 6.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "f2e6608a-6953-00c6-b181-cbef0571590f", + "time": 7.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "e41721f9-d7ec-d856-86a4-0f0acf44872d", + "time": 7.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -107.5 + } + ], + "uuid": "ae713465-bf77-478a-8401-b8c6dc6b2dde", + "time": 8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -127.5 + } + ], + "uuid": "ad9c6331-a9ee-5ff8-8aa1-fb7cad8116d5", + "time": 8.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "4934e04b-7fbf-2ba3-0eb8-8dab5e5e2b2d", + "time": 8.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "4db7f489-4b91-0ab2-98e7-4eaa93faae71", + "time": 8.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "efee1e69-83bc-819f-ce69-78abcc16ae02", + "time": 8.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "f0fc56c7-4636-529b-1ba0-706b5b623db8", + "time": 8.15, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3bd16030-14b3-a1bf-76ef-9adb8e3564d9": { + "name": "RopeLadder8", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "7d6528b1-2da3-f8ed-3305-63ebced40d77", + "time": 3.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "77f387e0-d6b5-9515-f961-48fc3591cc79", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "81b14531-125f-1885-964c-93f9c12b4ff7", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "705cae46-bb94-7d53-63b5-bde9bfc5db21", + "time": 5.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -27.5 + } + ], + "uuid": "63dc2e71-e3c5-aea4-9845-7b9127472c56", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "bf8c4ae2-5453-be09-b954-eceb41be02de", + "time": 6.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-31.25" + } + ], + "uuid": "8d406165-b149-9a75-913a-f01cc625a884", + "time": 5.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-29.375" + } + ], + "uuid": "8fc64b38-8de3-5789-f573-f75b776c2130", + "time": 6.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "1ae28892-3925-6455-7979-871d2e0d1759", + "time": 7.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "1d35fc36-25d9-de33-b582-a1941ab3f255", + "time": 8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -65 + } + ], + "uuid": "e25a2001-e5bb-a820-5311-ea93425c8e90", + "time": 8.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "3058a961-8743-c600-4a3b-b015656f08c9", + "time": 8.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "36daff5d-1428-4808-0994-97ce0ee6df21", + "time": 8.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-30.625" + } + ], + "uuid": "a49c98ba-ec8e-0175-be8c-8f9b3ac6d3f4", + "time": 7.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "6fa3f6a5-6a70-3890-8ef8-2dc552df9f75", + "time": 8.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "d7f231f4-fa90-baef-490a-cb27fd9445e7", + "time": 8.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "ba4435b6-5449-22c9-8137-7cb8b7faeba0", + "time": 8.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "12e7191b-e255-e122-467f-4e74ea1ca25b": { + "name": "RopeLadder9", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "b1e8cb95-1c6f-5b1c-f418-639a7cab014b", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "94b60b23-61aa-c77c-d51a-b2a2db70f960", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "29c60c10-e605-331f-0342-8c6f2bf86bc4", + "time": 4.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "79dc3101-ca96-2792-c24b-3e1d07fba131", + "time": 5.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": "-102.5" + } + ], + "uuid": "0a3e2979-121f-645a-4e29-cf9845632153", + "time": 4.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "d484bd8b-227a-5bde-e77f-be4fbc73a0ef", + "time": 6.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": "-106.25" + } + ], + "uuid": "3d9a193b-be69-2360-6b73-a4674c7ba8d0", + "time": 5.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-104.375" + } + ], + "uuid": "1435311a-2783-f508-04b1-2e4b4505dc67", + "time": 6.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "4e66c5e0-95a5-d76c-3f1f-164d5f478275", + "time": 7.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "068e1cab-0745-18ee-70f6-7466fb12874e", + "time": 8.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -140 + } + ], + "uuid": "f6364f07-ad42-5d90-9ece-c7e2391e4b60", + "time": 8.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -160 + } + ], + "uuid": "b7d6338a-6f27-ca05-4227-2a4f370bb5ce", + "time": 8.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "f665ff53-b17b-e5d6-eabc-a2a5ad8495c3", + "time": 8.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-105.625" + } + ], + "uuid": "6f1f5153-c606-fb59-b771-4ed203f70cb7", + "time": 7.95, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "94027b76-7cf5-513c-b6e4-c9f4b97aab59", + "time": 8.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "50d74b2c-4484-9df3-d1d5-361b22063b3c", + "time": 8.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "d67ac890-33fc-bd80-b170-332802c03125", + "time": 8.35, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "c8667a44-3ce4-ea1f-ecfe-d9fac6461f90": { + "name": "RopeLadder10", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "83eb069e-f225-c6ff-a092-082516cf7636", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "fbf27e4b-f216-9f88-00b3-cbc58c3ed671", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "1c5edae4-19da-3230-978b-2cb1b5ffa8dc", + "time": 4.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "a7ca8670-4b26-9c2f-4c19-f5a238ec3666", + "time": 5.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -27.5 + } + ], + "uuid": "b7de9a27-20a3-2e3d-13d8-c948a43eaf24", + "time": 4.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "e9ee1404-07e8-5253-1a7c-31725b62ae3f", + "time": 6.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-31.25" + } + ], + "uuid": "07903ec4-ca26-6878-a5e8-b1b2c683d251", + "time": 5.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-29.375" + } + ], + "uuid": "3283a399-91c6-f20d-11b6-00a57d204cbc", + "time": 6.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "9260370a-9e7a-edf2-d99d-83995d145425", + "time": 7.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "cf3d0e5a-b59f-ed5a-16bc-1d09adf3afcd", + "time": 8.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -65 + } + ], + "uuid": "bccdb8e1-9ecc-c8a6-c0d5-cd39277e6a45", + "time": 8.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "4663dfca-6a13-f691-61bf-f40c463d5f81", + "time": 8.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "e7619056-067a-1344-6ea1-9305447c04dd", + "time": 8.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-30.625" + } + ], + "uuid": "cc6fe899-933f-3723-7467-625fc099cfc8", + "time": 7.95, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "0f934b98-7a9b-df7c-82a7-3b737c2c1d4e", + "time": 8.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "c78a5ec6-c981-5eb5-ba5a-27b89a415475", + "time": 8.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "190df046-ee7f-1728-7dde-0755b39fc9c1", + "time": 8.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "73305a61-a5fc-3ffd-28cf-a5a7156ade9d": { + "name": "RopeLadder11", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "1a40387a-7b9d-1003-b69f-73b7bda2d673", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "3989ba7a-db3e-b3ad-aad9-d3f59f645574", + "time": 3.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "8ad54380-220e-bcd1-fd95-68a2f825468e", + "time": 4.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -92.5 + } + ], + "uuid": "64e1e450-2353-353e-2cc1-30b6916afdd1", + "time": 5.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "6a5f9b25-ffa2-8db8-099a-29c18235134f", + "time": 5.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "1791f50c-4bbf-341c-dae4-2c27891fab38", + "time": 6.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-96.25" + } + ], + "uuid": "deb5c22a-93ed-f46f-767e-f8bfe3ba8029", + "time": 6.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-94.375" + } + ], + "uuid": "b261d784-b671-a6ce-c702-1bab7434c0ae", + "time": 7.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "bbbaa549-460a-4921-d455-85ca0c90bc12", + "time": 7.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "767f6b12-00f3-cec8-31b5-012f59710173", + "time": 8.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -130 + } + ], + "uuid": "f328bf97-5dd5-614c-05f6-51b524e78c63", + "time": 8.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -150 + } + ], + "uuid": "ddbd3e32-1a8d-0c20-0a4a-47ded44f8392", + "time": 8.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "72adec00-19c7-4fa5-900a-76ecfd03068c", + "time": 8.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-95.625" + } + ], + "uuid": "e14449b1-e5fe-11a2-17ec-0ec7701c1e4b", + "time": 8.05, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "20085f32-db2f-6922-b3a4-842239584414", + "time": 8.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "3ca6575f-43cc-03fd-c391-121c08cfb988", + "time": 8.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "e6793b5c-6e62-e047-f070-04ab2de10a32", + "time": 8.55, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "fac07263-8b34-d5b4-c7e2-83b19ee7d708": { + "name": "RopeLadder12", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "91e861ef-f9f5-5ae9-bf67-bf63e63e4b43", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -77.5 + } + ], + "uuid": "e073481b-8372-b554-89e4-3ec7a33d3b81", + "time": 3.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -77.5 + } + ], + "uuid": "7945611b-0589-adc6-dca7-6fcb2aa96d20", + "time": 4.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -75 + } + ], + "uuid": "8f7237d7-22cb-a332-13ad-89a794fdf1ca", + "time": 5.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -77.5 + } + ], + "uuid": "b51ae597-1cc6-ed43-b874-3d760fd0769d", + "time": 5.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -77.5 + } + ], + "uuid": "d910c131-5795-9924-a404-76491396aa83", + "time": 6.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-78.75" + } + ], + "uuid": "70386e7a-cee3-7976-4f6d-044c1855a3a1", + "time": 6.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-76.875" + } + ], + "uuid": "2845c2a6-3bc4-0168-52e6-7273978be456", + "time": 7.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -77.5 + } + ], + "uuid": "bd656eb8-581c-f9f5-bc89-fca5559c257f", + "time": 7.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -77.5 + } + ], + "uuid": "737a3536-fcab-57d7-9eac-f96e47b2a1f3", + "time": 8.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -112.5 + } + ], + "uuid": "f3f88ca3-a3d7-1de6-93c4-95218bc45953", + "time": 8.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -132.5 + } + ], + "uuid": "615c9842-9dc5-ee5e-728a-1dbacc089696", + "time": 8.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -77.5 + } + ], + "uuid": "66677efe-b841-1f75-109b-a5aa7f6c576d", + "time": 8.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-78.125" + } + ], + "uuid": "e02af0bd-6d77-4be6-dd64-06848d575632", + "time": 8.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "968e8269-835e-879d-97bd-d4b01931b097", + "time": 8.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 17, + "z": 0 + } + ], + "uuid": "ed96e3b0-e8a2-25e5-337b-1e147785210c", + "time": 8.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10.5, + "z": 0 + } + ], + "uuid": "5a84d1cb-e872-1965-39ef-a9ef75e15a2f", + "time": 8.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "44f6b24f-ec24-3b6c-95dc-fc2d04130722": { + "name": "RopeLadder13", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "82967f6c-bd02-5a8f-ad9e-8c015374b361", + "time": 3.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "bbd10306-7631-63e9-18d2-46b603f5ab32", + "time": 3.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "d15eb4a4-4815-c1d0-df3b-8e086138c785", + "time": 4.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -92.5 + } + ], + "uuid": "f31fba74-e823-7ba3-9ae3-a67360ae34c4", + "time": 5.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "a839844d-85e4-3acb-cb3b-86038e43777b", + "time": 5.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "a14cdc74-9255-08d5-1e83-e06283199291", + "time": 6.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-96.25" + } + ], + "uuid": "1337ba2f-42a7-cb0d-d07a-878ab8834e7c", + "time": 6.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-94.375" + } + ], + "uuid": "2fdee278-0a16-be21-891a-fb48380fe654", + "time": 7.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "52e87cc4-b292-6d09-c196-3b52e394765c", + "time": 7.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "003cf14f-a93c-1189-8027-36f349c79f50", + "time": 8.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -130 + } + ], + "uuid": "33fe971d-1e16-a7e0-72a7-995bfa36c293", + "time": 8.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "49428d59-4973-1566-4091-bee99d4d58f0", + "time": 8.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -147.5 + } + ], + "uuid": "c82a0a19-6a82-ff84-9278-e5498f50d143", + "time": 8.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-95.625" + } + ], + "uuid": "1d5dea88-d6db-f260-f001-bb9785a167e1", + "time": 8.15, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "8f9e54ff-9798-a75d-c10a-704ca0739c98", + "time": 8.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 15, + "z": 0 + } + ], + "uuid": "f00e66ed-398e-60c4-d8f1-85b53bafa7e9", + "time": 8.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 9.5, + "z": 0 + } + ], + "uuid": "b45202cd-424f-2474-d13f-a26520086150", + "time": 8.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "81c03504-cef5-69e6-cf02-f623ce10f5b6": { + "name": "RopeLadder14", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "93f9f586-4e9b-3923-8f9c-44832080c328", + "time": 3.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "d6096621-5b95-817f-a799-c36f447e6fd4", + "time": 3.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "7c6b8e5b-0ceb-fe54-ab7b-8d7811bd2672", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -102.5 + } + ], + "uuid": "9ac5855e-42b3-487c-e521-a01b1a9e1d8c", + "time": 5.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "af233243-4539-b62b-310a-53e47d19762b", + "time": 5.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "3edb744f-dc01-d487-8c0a-bafe53c6ccb2", + "time": 6.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-106.25" + } + ], + "uuid": "3624af05-78f8-198e-b8c4-76ab3193b063", + "time": 6.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-104.375" + } + ], + "uuid": "4282ce73-34f3-16aa-49b3-df8574ad6691", + "time": 7.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "093881ee-7ca5-ba90-cf87-27bfe5320508", + "time": 7.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "dd457da2-3b85-73bb-4b15-5274a2493391", + "time": 8.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -142.5 + } + ], + "uuid": "9c720fcb-9108-2a44-df75-54043f2b53d1", + "time": 8.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -160 + } + ], + "uuid": "6c8f42f9-4129-08e4-0273-1174cdd7ff4d", + "time": 8.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "5fe75780-5b25-6646-e14a-d44cfc96bcf9", + "time": 8.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-105.625" + } + ], + "uuid": "47266fc4-e056-2041-ef22-595cd7482e03", + "time": 8.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "6003dc25-616a-3edd-1040-d9b2b35f3d80", + "time": 8.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 15, + "z": 0 + } + ], + "uuid": "4176975c-b729-106d-688c-09c887bd073d", + "time": 8.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 1.5, + "z": 0 + } + ], + "uuid": "b83a6031-7006-62d1-73fa-9cfe048d9496", + "time": 8.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "0cb872f1-2b47-cee6-492f-bfa20246c3ac": { + "name": "RopeLadder15", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "b1351cff-ed11-c2f0-e157-0f2e8d10b981", + "time": 3.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -130 + } + ], + "uuid": "1de4e324-219c-bfef-a594-e39a8fb5a350", + "time": 3.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -130 + } + ], + "uuid": "f61177ef-795c-a7d4-3b3c-b235ba115436", + "time": 4.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -127.5 + } + ], + "uuid": "d3e1c562-d3b8-0f96-4ff5-969dfa9ae4b5", + "time": 5.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -130 + } + ], + "uuid": "0a624dcc-15a2-456c-0b59-95d5feebbac4", + "time": 5.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -130 + } + ], + "uuid": "80c067d5-7cd6-cb24-56d0-2d2d140bd3b5", + "time": 6.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-131.25" + } + ], + "uuid": "be5a2d2a-9021-18a1-0fd2-76dca6100e21", + "time": 6.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-129.375" + } + ], + "uuid": "a9b9220c-ad00-9b9f-1bb4-75788b71dd2b", + "time": 7.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -130 + } + ], + "uuid": "b12b3267-e31c-cd0e-ff3e-d1150c2d088f", + "time": 7.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "44ff2d7b-fc5d-4f07-9be5-ccd9cf815be7", + "time": 8.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 15, + "z": 0 + } + ], + "uuid": "b754696d-b8fa-2ef6-e49a-76c6b4435e2c", + "time": 9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "47f57408-507e-ee25-dfbd-8f633fe8ccfd": { + "name": "TailRotorBlades", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "6dd64455-bc9b-cfd7-9fb0-a3eab02e7196", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "36720", + "y": "0", + "z": 0 + } + ], + "uuid": "f9d8e6f4-e171-0f12-1ca6-375ba6dc55d2", + "time": 12.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "812dc3c3-7569-417c-88ea-98db26c9084f": { + "name": "RotorBlades", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "f35b2cfe-e6ec-a772-1cc0-e8458d2373e9", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "18360", + "z": 0 + } + ], + "uuid": "fca52224-a73b-4ae1-4808-d80fb10b5eba", + "time": 12.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Iroha/models/ex_skill_1.bbmodel b/config/yosbr/config/figura/avatars/Iroha/models/ex_skill_1.bbmodel new file mode 100644 index 0000000..1ad60ed --- /dev/null +++ b/config/yosbr/config/figura/avatars/Iroha/models/ex_skill_1.bbmodel @@ -0,0 +1,42254 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "ex_skill_1", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 256, + "height": 256 + }, + "elements": [ + { + "name": "RightCrawlerWheel1_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -37, + 3, + -45 + ], + "to": [ + -35, + 13, + -35 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 3, + -45 + ], + "faces": { + "north": { + "uv": [ + 2, + 2, + 3, + 12 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 2, + 2, + 12 + ], + "texture": 0 + }, + "south": { + "uv": [ + 11, + 2, + 12, + 12 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 2, + 12, + 12 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 2, + 12, + 3 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 2, + 11, + 12, + 12 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "ca4dd352-68ef-170d-ca69-d85aa2bb7b59" + }, + { + "name": "RightCrawlerWheel1_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -37, + 2, + -44 + ], + "to": [ + -35, + 14, + -36 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 3, + -45 + ], + "faces": { + "north": { + "uv": [ + 3, + 1, + 4, + 13 + ], + "texture": 0 + }, + "east": { + "uv": [ + 11, + 1, + 3, + 13 + ], + "texture": 0 + }, + "south": { + "uv": [ + 10, + 1, + 11, + 13 + ], + "texture": 0 + }, + "west": { + "uv": [ + 3, + 1, + 11, + 13 + ], + "texture": 0 + }, + "up": { + "uv": [ + 3, + 1, + 11, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 3, + 12, + 11, + 13 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "1f6816e8-3dc4-c51a-e2b3-78999161b30e" + }, + { + "name": "RightCrawlerWheel1_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -37, + 1, + -42 + ], + "to": [ + -35, + 15, + -38 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 3, + -45 + ], + "faces": { + "north": { + "uv": [ + 5, + 0, + 6, + 14 + ], + "texture": 0 + }, + "east": { + "uv": [ + 9, + 0, + 5, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 8, + 0, + 9, + 14 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 0, + 9, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 0, + 9, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 5, + 13, + 9, + 14 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "ac3055ba-4219-d7cb-c42c-8827308edefb" + }, + { + "name": "RightCrawlerWheel1_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -37, + 4, + -46 + ], + "to": [ + -35, + 12, + -34 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 3, + -45 + ], + "faces": { + "north": { + "uv": [ + 1, + 3, + 2, + 11 + ], + "texture": 0 + }, + "east": { + "uv": [ + 13, + 3, + 1, + 11 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 3, + 13, + 11 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 3, + 13, + 11 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 3, + 13, + 4 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 1, + 10, + 13, + 11 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "a4943262-a791-9edf-a712-5df121e15613" + }, + { + "name": "RightCrawlerWheel1_5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -37, + 6, + -47 + ], + "to": [ + -35, + 10, + -33 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 3, + -45 + ], + "faces": { + "north": { + "uv": [ + 0, + 5, + 1, + 9 + ], + "texture": 0 + }, + "east": { + "uv": [ + 14, + 5, + 0, + 9 + ], + "texture": 0 + }, + "south": { + "uv": [ + 13, + 5, + 14, + 9 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 5, + 14, + 9 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 5, + 14, + 6 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 8, + 14, + 9 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "47dec226-10b6-3a97-5dc3-52d2033c796b" + }, + { + "name": "RightCrawlerWheel2_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -37, + 3, + -25 + ], + "to": [ + -35, + 13, + -15 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 3, + -25 + ], + "faces": { + "north": { + "uv": [ + 2, + 2, + 3, + 12 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 2, + 2, + 12 + ], + "texture": 0 + }, + "south": { + "uv": [ + 11, + 2, + 12, + 12 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 2, + 12, + 12 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 2, + 12, + 3 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 2, + 11, + 12, + 12 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "b9079077-3b9b-ac86-6442-b7d6afe50ee3" + }, + { + "name": "RightCrawlerWheel2_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -37, + 2, + -24 + ], + "to": [ + -35, + 14, + -16 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 3, + -25 + ], + "faces": { + "north": { + "uv": [ + 3, + 1, + 4, + 13 + ], + "texture": 0 + }, + "east": { + "uv": [ + 11, + 1, + 3, + 13 + ], + "texture": 0 + }, + "south": { + "uv": [ + 10, + 1, + 11, + 13 + ], + "texture": 0 + }, + "west": { + "uv": [ + 3, + 1, + 11, + 13 + ], + "texture": 0 + }, + "up": { + "uv": [ + 3, + 1, + 11, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 3, + 12, + 11, + 13 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "539d198a-9c51-83e0-9018-4d57d6733028" + }, + { + "name": "RightCrawlerWheel2_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -37, + 1, + -22 + ], + "to": [ + -35, + 15, + -18 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 3, + -25 + ], + "faces": { + "north": { + "uv": [ + 5, + 0, + 6, + 14 + ], + "texture": 0 + }, + "east": { + "uv": [ + 9, + 0, + 5, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 8, + 0, + 9, + 14 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 0, + 9, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 0, + 9, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 5, + 13, + 9, + 14 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "aab64dad-716e-5bcf-e651-1d4e4d438f13" + }, + { + "name": "RightCrawlerWheel2_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -37, + 4, + -26 + ], + "to": [ + -35, + 12, + -14 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 3, + -25 + ], + "faces": { + "north": { + "uv": [ + 1, + 3, + 2, + 11 + ], + "texture": 0 + }, + "east": { + "uv": [ + 13, + 3, + 1, + 11 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 3, + 13, + 11 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 3, + 13, + 11 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 3, + 13, + 4 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 1, + 10, + 13, + 11 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "8ba4562b-c2f4-69f0-7293-10cd4b1b1f5e" + }, + { + "name": "RightCrawlerWheel2_5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -37, + 6, + -27 + ], + "to": [ + -35, + 10, + -13 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 3, + -25 + ], + "faces": { + "north": { + "uv": [ + 0, + 5, + 1, + 9 + ], + "texture": 0 + }, + "east": { + "uv": [ + 14, + 5, + 0, + 9 + ], + "texture": 0 + }, + "south": { + "uv": [ + 13, + 5, + 14, + 9 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 5, + 14, + 9 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 5, + 14, + 6 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 8, + 14, + 9 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "e26b6a81-1114-f096-6b39-fb5aec7c33c8" + }, + { + "name": "RightCrawlerWheel3_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -37, + 3, + -5 + ], + "to": [ + -35, + 13, + 5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 3, + -5 + ], + "faces": { + "north": { + "uv": [ + 2, + 2, + 3, + 12 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 2, + 2, + 12 + ], + "texture": 0 + }, + "south": { + "uv": [ + 11, + 2, + 12, + 12 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 2, + 12, + 12 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 2, + 12, + 3 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 2, + 11, + 12, + 12 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "0d7a474f-57c2-014f-a499-55c11be000c8" + }, + { + "name": "RightCrawlerWheel3_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -37, + 2, + -4 + ], + "to": [ + -35, + 14, + 4 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 3, + -5 + ], + "faces": { + "north": { + "uv": [ + 3, + 1, + 4, + 13 + ], + "texture": 0 + }, + "east": { + "uv": [ + 11, + 1, + 3, + 13 + ], + "texture": 0 + }, + "south": { + "uv": [ + 10, + 1, + 11, + 13 + ], + "texture": 0 + }, + "west": { + "uv": [ + 3, + 1, + 11, + 13 + ], + "texture": 0 + }, + "up": { + "uv": [ + 3, + 1, + 11, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 3, + 12, + 11, + 13 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "ff6c84cc-6f70-6203-4bab-6e4e55932263" + }, + { + "name": "RightCrawlerWheel3_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -37, + 1, + -2 + ], + "to": [ + -35, + 15, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 3, + -5 + ], + "faces": { + "north": { + "uv": [ + 5, + 0, + 6, + 14 + ], + "texture": 0 + }, + "east": { + "uv": [ + 9, + 0, + 5, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 8, + 0, + 9, + 14 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 0, + 9, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 0, + 9, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 5, + 13, + 9, + 14 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "b0acbf5f-2c74-e59a-11dd-05dc5551ea77" + }, + { + "name": "RightCrawlerWheel3_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -37, + 4, + -6 + ], + "to": [ + -35, + 12, + 6 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 3, + -5 + ], + "faces": { + "north": { + "uv": [ + 1, + 3, + 2, + 11 + ], + "texture": 0 + }, + "east": { + "uv": [ + 13, + 3, + 1, + 11 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 3, + 13, + 11 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 3, + 13, + 11 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 3, + 13, + 4 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 1, + 10, + 13, + 11 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "2aee4e64-26e4-0484-ddbf-cde6d9c44c25" + }, + { + "name": "RightCrawlerWheel3_5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -37, + 6, + -7 + ], + "to": [ + -35, + 10, + 7 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 3, + -5 + ], + "faces": { + "north": { + "uv": [ + 0, + 5, + 1, + 9 + ], + "texture": 0 + }, + "east": { + "uv": [ + 14, + 5, + 0, + 9 + ], + "texture": 0 + }, + "south": { + "uv": [ + 13, + 5, + 14, + 9 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 5, + 14, + 9 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 5, + 14, + 6 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 8, + 14, + 9 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "70a14757-5252-7f74-b5d4-1faf77fcdb64" + }, + { + "name": "RightCrawlerWheel4_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -37, + 3, + 15 + ], + "to": [ + -35, + 13, + 25 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 3, + 15 + ], + "faces": { + "north": { + "uv": [ + 2, + 2, + 3, + 12 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 2, + 2, + 12 + ], + "texture": 0 + }, + "south": { + "uv": [ + 11, + 2, + 12, + 12 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 2, + 12, + 12 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 2, + 12, + 3 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 2, + 11, + 12, + 12 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "e671fdd2-e5f2-001f-659f-e48c8c6b4d13" + }, + { + "name": "RightCrawlerWheel4_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -37, + 2, + 16 + ], + "to": [ + -35, + 14, + 24 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 3, + 15 + ], + "faces": { + "north": { + "uv": [ + 3, + 1, + 4, + 13 + ], + "texture": 0 + }, + "east": { + "uv": [ + 11, + 1, + 3, + 13 + ], + "texture": 0 + }, + "south": { + "uv": [ + 10, + 1, + 11, + 13 + ], + "texture": 0 + }, + "west": { + "uv": [ + 3, + 1, + 11, + 13 + ], + "texture": 0 + }, + "up": { + "uv": [ + 3, + 1, + 11, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 3, + 12, + 11, + 13 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "be166aee-0d9a-6da8-fe7c-8877e7b36701" + }, + { + "name": "RightCrawlerWheel4_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -37, + 1, + 18 + ], + "to": [ + -35, + 15, + 22 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 3, + 15 + ], + "faces": { + "north": { + "uv": [ + 5, + 0, + 6, + 14 + ], + "texture": 0 + }, + "east": { + "uv": [ + 9, + 0, + 5, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 8, + 0, + 9, + 14 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 0, + 9, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 0, + 9, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 5, + 13, + 9, + 14 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "183760cb-47a9-2fc6-ad85-4f7673b4ed9f" + }, + { + "name": "RightCrawlerWheel4_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -37, + 4, + 14 + ], + "to": [ + -35, + 12, + 26 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 3, + 15 + ], + "faces": { + "north": { + "uv": [ + 1, + 3, + 2, + 11 + ], + "texture": 0 + }, + "east": { + "uv": [ + 13, + 3, + 1, + 11 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 3, + 13, + 11 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 3, + 13, + 11 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 3, + 13, + 4 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 1, + 10, + 13, + 11 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "38e8f1e0-7cf5-0688-f333-13301e201e8a" + }, + { + "name": "RightCrawlerWheel4_5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -37, + 6, + 13 + ], + "to": [ + -35, + 10, + 27 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 3, + 15 + ], + "faces": { + "north": { + "uv": [ + 0, + 5, + 1, + 9 + ], + "texture": 0 + }, + "east": { + "uv": [ + 14, + 5, + 0, + 9 + ], + "texture": 0 + }, + "south": { + "uv": [ + 13, + 5, + 14, + 9 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 5, + 14, + 9 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 5, + 14, + 6 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 8, + 14, + 9 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "1c8d247b-8fa0-3045-7a97-41bad11bf741" + }, + { + "name": "RightCrawlerWheel5_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -37, + 3, + 35 + ], + "to": [ + -35, + 13, + 45 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 3, + 35 + ], + "faces": { + "north": { + "uv": [ + 2, + 2, + 3, + 12 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 2, + 2, + 12 + ], + "texture": 0 + }, + "south": { + "uv": [ + 11, + 2, + 12, + 12 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 2, + 12, + 12 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 2, + 12, + 3 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 2, + 11, + 12, + 12 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "6cce6714-e496-d6bf-4b74-02f4e90acf88" + }, + { + "name": "RightCrawlerWheel5_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -37, + 2, + 36 + ], + "to": [ + -35, + 14, + 44 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 3, + 35 + ], + "faces": { + "north": { + "uv": [ + 3, + 1, + 4, + 13 + ], + "texture": 0 + }, + "east": { + "uv": [ + 11, + 1, + 3, + 13 + ], + "texture": 0 + }, + "south": { + "uv": [ + 10, + 1, + 11, + 13 + ], + "texture": 0 + }, + "west": { + "uv": [ + 3, + 1, + 11, + 13 + ], + "texture": 0 + }, + "up": { + "uv": [ + 3, + 1, + 11, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 3, + 12, + 11, + 13 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "284f10e2-df7b-3363-bae5-abdf9acd3da1" + }, + { + "name": "RightCrawlerWheel5_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -37, + 1, + 38 + ], + "to": [ + -35, + 15, + 42 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 3, + 35 + ], + "faces": { + "north": { + "uv": [ + 5, + 0, + 6, + 14 + ], + "texture": 0 + }, + "east": { + "uv": [ + 9, + 0, + 5, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 8, + 0, + 9, + 14 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 0, + 9, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 0, + 9, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 5, + 13, + 9, + 14 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "92a13fa0-ae59-477b-e51d-b97df9c78906" + }, + { + "name": "RightCrawlerWheel5_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -37, + 4, + 34 + ], + "to": [ + -35, + 12, + 46 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 3, + 35 + ], + "faces": { + "north": { + "uv": [ + 1, + 3, + 2, + 11 + ], + "texture": 0 + }, + "east": { + "uv": [ + 13, + 3, + 1, + 11 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 3, + 13, + 11 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 3, + 13, + 11 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 3, + 13, + 4 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 1, + 10, + 13, + 11 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "72722721-d1b3-053b-e9bf-a2bac13da232" + }, + { + "name": "RightCrawlerWheel5_5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -37, + 6, + 33 + ], + "to": [ + -35, + 10, + 47 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 3, + 35 + ], + "faces": { + "north": { + "uv": [ + 0, + 5, + 1, + 9 + ], + "texture": 0 + }, + "east": { + "uv": [ + 14, + 5, + 0, + 9 + ], + "texture": 0 + }, + "south": { + "uv": [ + 13, + 5, + 14, + 9 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 5, + 14, + 9 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 5, + 14, + 6 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 8, + 14, + 9 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "ac09010e-f0b5-283f-8f8f-5bda50191830" + }, + { + "name": "RightCrawlerWheel6_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 3, + -35 + ], + "to": [ + -37, + 13, + -25 + ], + "autouv": 0, + "color": 0, + "origin": [ + -25, + 3, + -35 + ], + "faces": { + "north": { + "uv": [ + 2, + 2, + 3, + 12 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 2, + 2, + 12 + ], + "texture": 0 + }, + "south": { + "uv": [ + 11, + 2, + 12, + 12 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 2, + 12, + 12 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 2, + 12, + 3 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 2, + 11, + 12, + 12 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "0e2d8bee-1815-8a6a-3545-cb70ae0987df" + }, + { + "name": "RightCrawlerWheel6_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 2, + -34 + ], + "to": [ + -37, + 14, + -26 + ], + "autouv": 0, + "color": 0, + "origin": [ + -25, + 3, + -35 + ], + "faces": { + "north": { + "uv": [ + 3, + 1, + 4, + 13 + ], + "texture": 0 + }, + "east": { + "uv": [ + 11, + 1, + 3, + 13 + ], + "texture": 0 + }, + "south": { + "uv": [ + 10, + 1, + 11, + 13 + ], + "texture": 0 + }, + "west": { + "uv": [ + 3, + 1, + 11, + 13 + ], + "texture": 0 + }, + "up": { + "uv": [ + 3, + 1, + 11, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 3, + 12, + 11, + 13 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "8c8fd4cc-08b4-aa46-906b-9a4c652885e7" + }, + { + "name": "RightCrawlerWheel6_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 1, + -32 + ], + "to": [ + -37, + 15, + -28 + ], + "autouv": 0, + "color": 0, + "origin": [ + -25, + 3, + -35 + ], + "faces": { + "north": { + "uv": [ + 5, + 0, + 6, + 14 + ], + "texture": 0 + }, + "east": { + "uv": [ + 9, + 0, + 5, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 8, + 0, + 9, + 14 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 0, + 9, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 0, + 9, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 5, + 13, + 9, + 14 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "b2ccb62a-2c09-3a7c-d3cb-f3bc2119d156" + }, + { + "name": "RightCrawlerWheel6_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 4, + -36 + ], + "to": [ + -37, + 12, + -24 + ], + "autouv": 0, + "color": 0, + "origin": [ + -25, + 3, + -35 + ], + "faces": { + "north": { + "uv": [ + 1, + 3, + 2, + 11 + ], + "texture": 0 + }, + "east": { + "uv": [ + 13, + 3, + 1, + 11 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 3, + 13, + 11 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 3, + 13, + 11 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 3, + 13, + 4 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 1, + 10, + 13, + 11 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "bed74eda-3c80-bbe8-c958-4b761fcb6068" + }, + { + "name": "RightCrawlerWheel6_5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 6, + -37 + ], + "to": [ + -37, + 10, + -23 + ], + "autouv": 0, + "color": 0, + "origin": [ + -25, + 3, + -35 + ], + "faces": { + "north": { + "uv": [ + 0, + 5, + 1, + 9 + ], + "texture": 0 + }, + "east": { + "uv": [ + 14, + 5, + 0, + 9 + ], + "texture": 0 + }, + "south": { + "uv": [ + 13, + 5, + 14, + 9 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 5, + 14, + 9 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 5, + 14, + 6 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 8, + 14, + 9 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "ff7e908b-3ca8-3d6d-a7de-cfbb3049f9ff" + }, + { + "name": "RightCrawlerWheel7_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 3, + -15 + ], + "to": [ + -37, + 13, + -5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -25, + 3, + -15 + ], + "faces": { + "north": { + "uv": [ + 2, + 2, + 3, + 12 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 2, + 2, + 12 + ], + "texture": 0 + }, + "south": { + "uv": [ + 11, + 2, + 12, + 12 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 2, + 12, + 12 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 2, + 12, + 3 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 2, + 11, + 12, + 12 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "ca03da95-3787-ca33-f45b-1327d3db9c10" + }, + { + "name": "RightCrawlerWheel7_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 2, + -14 + ], + "to": [ + -37, + 14, + -6 + ], + "autouv": 0, + "color": 0, + "origin": [ + -25, + 3, + -15 + ], + "faces": { + "north": { + "uv": [ + 3, + 1, + 4, + 13 + ], + "texture": 0 + }, + "east": { + "uv": [ + 11, + 1, + 3, + 13 + ], + "texture": 0 + }, + "south": { + "uv": [ + 10, + 1, + 11, + 13 + ], + "texture": 0 + }, + "west": { + "uv": [ + 3, + 1, + 11, + 13 + ], + "texture": 0 + }, + "up": { + "uv": [ + 3, + 1, + 11, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 3, + 12, + 11, + 13 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "dcf627f1-d545-59b3-c1f3-a1a3c6c0f583" + }, + { + "name": "RightCrawlerWheel7_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 1, + -12 + ], + "to": [ + -37, + 15, + -8 + ], + "autouv": 0, + "color": 0, + "origin": [ + -25, + 3, + -15 + ], + "faces": { + "north": { + "uv": [ + 5, + 0, + 6, + 14 + ], + "texture": 0 + }, + "east": { + "uv": [ + 9, + 0, + 5, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 8, + 0, + 9, + 14 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 0, + 9, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 0, + 9, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 5, + 13, + 9, + 14 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "bd7acb9a-0bec-aa5b-2685-91ce977990b6" + }, + { + "name": "RightCrawlerWheel7_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 4, + -16 + ], + "to": [ + -37, + 12, + -4 + ], + "autouv": 0, + "color": 0, + "origin": [ + -25, + 3, + -15 + ], + "faces": { + "north": { + "uv": [ + 1, + 3, + 2, + 11 + ], + "texture": 0 + }, + "east": { + "uv": [ + 13, + 3, + 1, + 11 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 3, + 13, + 11 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 3, + 13, + 11 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 3, + 13, + 4 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 1, + 10, + 13, + 11 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "b0093568-1f01-3f35-03da-4b3919a087ed" + }, + { + "name": "RightCrawlerWheel7_5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 6, + -17 + ], + "to": [ + -37, + 10, + -3 + ], + "autouv": 0, + "color": 0, + "origin": [ + -25, + 3, + -15 + ], + "faces": { + "north": { + "uv": [ + 0, + 5, + 1, + 9 + ], + "texture": 0 + }, + "east": { + "uv": [ + 14, + 5, + 0, + 9 + ], + "texture": 0 + }, + "south": { + "uv": [ + 13, + 5, + 14, + 9 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 5, + 14, + 9 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 5, + 14, + 6 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 8, + 14, + 9 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "2c508f74-63f3-f5d1-eb99-84f9de0d4fa2" + }, + { + "name": "RightCrawlerWheel8_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 3, + 5 + ], + "to": [ + -37, + 13, + 15 + ], + "autouv": 0, + "color": 0, + "origin": [ + -25, + 3, + 5 + ], + "faces": { + "north": { + "uv": [ + 2, + 2, + 3, + 12 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 2, + 2, + 12 + ], + "texture": 0 + }, + "south": { + "uv": [ + 11, + 2, + 12, + 12 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 2, + 12, + 12 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 2, + 12, + 3 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 2, + 11, + 12, + 12 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "b0dba2dd-4f6a-4cec-26bd-40a5e1423571" + }, + { + "name": "RightCrawlerWheel8_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 2, + 6 + ], + "to": [ + -37, + 14, + 14 + ], + "autouv": 0, + "color": 0, + "origin": [ + -25, + 3, + 5 + ], + "faces": { + "north": { + "uv": [ + 3, + 1, + 4, + 13 + ], + "texture": 0 + }, + "east": { + "uv": [ + 11, + 1, + 3, + 13 + ], + "texture": 0 + }, + "south": { + "uv": [ + 10, + 1, + 11, + 13 + ], + "texture": 0 + }, + "west": { + "uv": [ + 3, + 1, + 11, + 13 + ], + "texture": 0 + }, + "up": { + "uv": [ + 3, + 1, + 11, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 3, + 12, + 11, + 13 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "3c71cf17-8779-8092-0ae0-f5f046ae7704" + }, + { + "name": "RightCrawlerWheel8_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 1, + 8 + ], + "to": [ + -37, + 15, + 12 + ], + "autouv": 0, + "color": 0, + "origin": [ + -25, + 3, + 5 + ], + "faces": { + "north": { + "uv": [ + 5, + 0, + 6, + 14 + ], + "texture": 0 + }, + "east": { + "uv": [ + 9, + 0, + 5, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 8, + 0, + 9, + 14 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 0, + 9, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 0, + 9, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 5, + 13, + 9, + 14 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "1e6d8b17-f503-fb89-8316-31176ae5c48c" + }, + { + "name": "RightCrawlerWheel8_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 4, + 4 + ], + "to": [ + -37, + 12, + 16 + ], + "autouv": 0, + "color": 0, + "origin": [ + -25, + 3, + 5 + ], + "faces": { + "north": { + "uv": [ + 1, + 3, + 2, + 11 + ], + "texture": 0 + }, + "east": { + "uv": [ + 13, + 3, + 1, + 11 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 3, + 13, + 11 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 3, + 13, + 11 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 3, + 13, + 4 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 1, + 10, + 13, + 11 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "d811c5d2-946f-779c-0094-c4ea41703846" + }, + { + "name": "RightCrawlerWheel8_5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 6, + 3 + ], + "to": [ + -37, + 10, + 17 + ], + "autouv": 0, + "color": 0, + "origin": [ + -25, + 3, + 5 + ], + "faces": { + "north": { + "uv": [ + 0, + 5, + 1, + 9 + ], + "texture": 0 + }, + "east": { + "uv": [ + 14, + 5, + 0, + 9 + ], + "texture": 0 + }, + "south": { + "uv": [ + 13, + 5, + 14, + 9 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 5, + 14, + 9 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 5, + 14, + 6 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 8, + 14, + 9 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "3d5053b2-2dca-95ef-e127-3e3665c92c53" + }, + { + "name": "RightCrawlerWheel9_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 3, + 25 + ], + "to": [ + -37, + 13, + 35 + ], + "autouv": 0, + "color": 0, + "origin": [ + -25, + 3, + 25 + ], + "faces": { + "north": { + "uv": [ + 2, + 2, + 3, + 12 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 2, + 2, + 12 + ], + "texture": 0 + }, + "south": { + "uv": [ + 11, + 2, + 12, + 12 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 2, + 12, + 12 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 2, + 12, + 3 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 2, + 11, + 12, + 12 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "7f704c16-878e-d03d-d6ba-796eb3f50418" + }, + { + "name": "RightCrawlerWheel9_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 2, + 26 + ], + "to": [ + -37, + 14, + 34 + ], + "autouv": 0, + "color": 0, + "origin": [ + -25, + 3, + 25 + ], + "faces": { + "north": { + "uv": [ + 3, + 1, + 4, + 13 + ], + "texture": 0 + }, + "east": { + "uv": [ + 11, + 1, + 3, + 13 + ], + "texture": 0 + }, + "south": { + "uv": [ + 10, + 1, + 11, + 13 + ], + "texture": 0 + }, + "west": { + "uv": [ + 3, + 1, + 11, + 13 + ], + "texture": 0 + }, + "up": { + "uv": [ + 3, + 1, + 11, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 3, + 12, + 11, + 13 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "f510775b-e970-f3e4-8eeb-1684af01797b" + }, + { + "name": "RightCrawlerWheel9_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 1, + 28 + ], + "to": [ + -37, + 15, + 32 + ], + "autouv": 0, + "color": 0, + "origin": [ + -25, + 3, + 25 + ], + "faces": { + "north": { + "uv": [ + 5, + 0, + 6, + 14 + ], + "texture": 0 + }, + "east": { + "uv": [ + 9, + 0, + 5, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 8, + 0, + 9, + 14 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 0, + 9, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 0, + 9, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 5, + 13, + 9, + 14 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "f720ac28-7add-7937-0923-d5ebb043cf73" + }, + { + "name": "RightCrawlerWheel9_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 4, + 24 + ], + "to": [ + -37, + 12, + 36 + ], + "autouv": 0, + "color": 0, + "origin": [ + -25, + 3, + 25 + ], + "faces": { + "north": { + "uv": [ + 1, + 3, + 2, + 11 + ], + "texture": 0 + }, + "east": { + "uv": [ + 13, + 3, + 1, + 11 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 3, + 13, + 11 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 3, + 13, + 11 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 3, + 13, + 4 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 1, + 10, + 13, + 11 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "8416872c-1607-7ebc-be05-9f2a2a81c9f3" + }, + { + "name": "RightCrawlerWheel9_5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 6, + 23 + ], + "to": [ + -37, + 10, + 37 + ], + "autouv": 0, + "color": 0, + "origin": [ + -25, + 3, + 25 + ], + "faces": { + "north": { + "uv": [ + 0, + 5, + 1, + 9 + ], + "texture": 0 + }, + "east": { + "uv": [ + 14, + 5, + 0, + 9 + ], + "texture": 0 + }, + "south": { + "uv": [ + 13, + 5, + 14, + 9 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 5, + 14, + 9 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 5, + 14, + 6 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 8, + 14, + 9 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "5b7d1520-5b21-8d40-bf06-c5d18400dce5" + }, + { + "name": "RightCrawlerWheel10_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 7, + -52 + ], + "to": [ + -37, + 11, + -48 + ], + "autouv": 0, + "color": 0, + "origin": [ + -36, + 7, + -52 + ], + "faces": { + "north": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5ee93140-63ac-af5c-921e-9e7dd51b926d" + }, + { + "name": "RightCrawlerWheel10_2_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 11, + -50.5 + ], + "to": [ + -37, + 14, + -49.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -39, + 11, + -50.5 + ], + "faces": { + "north": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "49ab4ca4-b38c-81c7-85d2-efbbca985142" + }, + { + "name": "RightCrawlerWheel10_2_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 14, + -52.5 + ], + "to": [ + -37, + 15, + -47.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -39, + 11, + -50.5 + ], + "faces": { + "north": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "097dab50-1779-044a-a560-e06a0202ccf6" + }, + { + "name": "RightCrawlerWheel10_3_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 11, + -50.5 + ], + "to": [ + -37, + 14, + -49.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -34, + 11, + -50.5 + ], + "faces": { + "north": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5ae5a841-8c9e-234d-1f71-e0ce27dfd0af" + }, + { + "name": "RightCrawlerWheel10_3_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 14, + -52.5 + ], + "to": [ + -37, + 15, + -47.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -34, + 11, + -50.5 + ], + "faces": { + "north": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "4caeff09-6662-5a5d-1d07-54f22bdba134" + }, + { + "name": "RightCrawlerWheel10_4_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 11, + -50.5 + ], + "to": [ + -37, + 14, + -49.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -34, + 11, + -50.5 + ], + "faces": { + "north": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b3448c3d-2b08-042a-f715-b83891886f92" + }, + { + "name": "RightCrawlerWheel10_4_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 14, + -52.5 + ], + "to": [ + -37, + 15, + -47.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -34, + 11, + -50.5 + ], + "faces": { + "north": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "41dc7a07-1026-96cc-0197-0bbc6f5abe8a" + }, + { + "name": "RightCrawlerWheel10_5_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 11, + -50.5 + ], + "to": [ + -37, + 14, + -49.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -34, + 11, + -50.5 + ], + "faces": { + "north": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "74ee3b30-0c6a-6723-8897-0375f90a75a8" + }, + { + "name": "RightCrawlerWheel10_5_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 14, + -52.5 + ], + "to": [ + -37, + 15, + -47.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -34, + 11, + -50.5 + ], + "faces": { + "north": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8a2377fa-90f2-13fc-06cc-6f70974e69d2" + }, + { + "name": "RightCrawlerWheel10_6_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 11, + -50.5 + ], + "to": [ + -37, + 14, + -49.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -34, + 11, + -50.5 + ], + "faces": { + "north": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "90bf4063-ec10-716b-6a3f-ccad4f377f8e" + }, + { + "name": "RightCrawlerWheel10_6_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 14, + -52.5 + ], + "to": [ + -37, + 15, + -47.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -34, + 11, + -50.5 + ], + "faces": { + "north": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "08a60d01-4335-0da3-921d-3d33d6aa480c" + }, + { + "name": "RightCrawlerWheel10_7_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 11, + -50.5 + ], + "to": [ + -37, + 14, + -49.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -34, + 11, + -50.5 + ], + "faces": { + "north": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "17956df5-1942-8ee4-12d1-b7d5bad16777" + }, + { + "name": "RightCrawlerWheel10_7_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 14, + -52.5 + ], + "to": [ + -37, + 15, + -47.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -34, + 11, + -50.5 + ], + "faces": { + "north": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "4adc1efd-f610-67a8-85d1-3440188c95f9" + }, + { + "name": "RightCrawlerWheel10_8_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 11, + -50.5 + ], + "to": [ + -37, + 14, + -49.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -34, + 11, + -50.5 + ], + "faces": { + "north": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f4e8036c-874d-a1f1-5e79-b05afc1a69d2" + }, + { + "name": "RightCrawlerWheel10_8_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 14, + -52.5 + ], + "to": [ + -37, + 15, + -47.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -34, + 11, + -50.5 + ], + "faces": { + "north": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a7ae423d-cee5-22de-0170-f5aa960b56b9" + }, + { + "name": "RightCrawlerWheel10_9_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 11, + -50.5 + ], + "to": [ + -37, + 14, + -49.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -34, + 11, + -50.5 + ], + "faces": { + "north": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "110ac92b-9790-4597-a828-bcc00ebaf148" + }, + { + "name": "RightCrawlerWheel10_9_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 14, + -52.5 + ], + "to": [ + -37, + 15, + -47.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -34, + 11, + -50.5 + ], + "faces": { + "north": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "365d5455-5cc3-7670-ac5b-26e526795294" + }, + { + "name": "RightCrawlerWheel11_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 7, + 48 + ], + "to": [ + -37, + 11, + 52 + ], + "autouv": 0, + "color": 0, + "origin": [ + -36, + 7, + 48 + ], + "faces": { + "north": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "99c67439-24d6-6383-6005-2fd59d35e60a" + }, + { + "name": "RightCrawlerWheel11_2_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 11, + 49.5 + ], + "to": [ + -37, + 14, + 50.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -39, + 11, + 49.5 + ], + "faces": { + "north": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "2c4c6b68-1293-5e01-9df6-5401f6929079" + }, + { + "name": "RightCrawlerWheel11_2_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 14, + 47.5 + ], + "to": [ + -37, + 15, + 52.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -39, + 11, + 49.5 + ], + "faces": { + "north": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "45a57008-6078-f1ad-1d76-aa294f140ef2" + }, + { + "name": "RightCrawlerWheel11_3_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 11, + 49.5 + ], + "to": [ + -37, + 14, + 50.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -34, + 11, + 49.5 + ], + "faces": { + "north": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "0e860afe-2645-2090-25a6-168f5ec2922e" + }, + { + "name": "RightCrawlerWheel11_3_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 14, + 47.5 + ], + "to": [ + -37, + 15, + 52.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -34, + 11, + 49.5 + ], + "faces": { + "north": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a92fa0cc-0c13-bcdc-cdf0-8546da5731d8" + }, + { + "name": "RightCrawlerWheel11_4_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 11, + 49.5 + ], + "to": [ + -37, + 14, + 50.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -34, + 11, + 49.5 + ], + "faces": { + "north": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "2d49804e-b54e-4436-7c57-fe95ec4789ea" + }, + { + "name": "RightCrawlerWheel11_4_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 14, + 47.5 + ], + "to": [ + -37, + 15, + 52.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -34, + 11, + 49.5 + ], + "faces": { + "north": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2b30f59d-fddb-cd02-02ac-389fff8671be" + }, + { + "name": "RightCrawlerWheel11_5_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 11, + 49.5 + ], + "to": [ + -37, + 14, + 50.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -34, + 11, + 49.5 + ], + "faces": { + "north": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "2ebd1730-ff19-a1a9-ab0e-99a55356d9d0" + }, + { + "name": "RightCrawlerWheel11_5_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 14, + 47.5 + ], + "to": [ + -37, + 15, + 52.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -34, + 11, + 49.5 + ], + "faces": { + "north": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "fc8e8ccb-3345-c42e-ec98-2d8afc83de3b" + }, + { + "name": "RightCrawlerWheel11_6_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 11, + 49.5 + ], + "to": [ + -37, + 14, + 50.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -34, + 11, + 49.5 + ], + "faces": { + "north": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "3a0d2ad1-835f-9a5e-a3f5-3c2c45f3b969" + }, + { + "name": "RightCrawlerWheel11_6_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 14, + 47.5 + ], + "to": [ + -37, + 15, + 52.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -34, + 11, + 49.5 + ], + "faces": { + "north": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b9833bec-063a-045f-c48e-75d1693fd156" + }, + { + "name": "RightCrawlerWheel11_7_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 11, + 49.5 + ], + "to": [ + -37, + 14, + 50.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -34, + 11, + 49.5 + ], + "faces": { + "north": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ef11a63f-954a-73d5-4b48-7c39b94a596c" + }, + { + "name": "RightCrawlerWheel11_7_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 14, + 47.5 + ], + "to": [ + -37, + 15, + 52.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -34, + 11, + 49.5 + ], + "faces": { + "north": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "6b8cea88-d5bb-8c0c-e69c-3375d79f7d7c" + }, + { + "name": "RightCrawlerWheel11_8_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 11, + 49.5 + ], + "to": [ + -37, + 14, + 50.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -34, + 11, + 49.5 + ], + "faces": { + "north": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "53cefb1f-4d40-29d0-73a9-0ef40f9efb57" + }, + { + "name": "RightCrawlerWheel11_8_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 14, + 47.5 + ], + "to": [ + -37, + 15, + 52.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -34, + 11, + 49.5 + ], + "faces": { + "north": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d6df3d4f-7ebe-3b5e-0c18-dc909c02cab2" + }, + { + "name": "RightCrawlerWheel11_9_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 11, + 49.5 + ], + "to": [ + -37, + 14, + 50.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -34, + 11, + 49.5 + ], + "faces": { + "north": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "75cea71d-b7c5-4a95-611d-694515329883" + }, + { + "name": "RightCrawlerWheel11_9_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -39, + 14, + 47.5 + ], + "to": [ + -37, + 15, + 52.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -34, + 11, + 49.5 + ], + "faces": { + "north": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "373aed68-24a2-5384-efcc-c4433fec9c21" + }, + { + "name": "RightCrawlerBottom2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -40, + 0, + -42 + ], + "to": [ + -24, + 1, + 42 + ], + "autouv": 0, + "color": 0, + "origin": [ + -31, + 0, + -62 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 13, + 1, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 13, + 1, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 15, + 1, + 99 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 98.5, + 1, + 14.5 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "71bee78f-c6a0-9968-12ca-aaa4d9c2c0ee" + }, + { + "name": "RightCrawlerTop", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -40, + 15, + -57 + ], + "to": [ + -24, + 16, + 57 + ], + "autouv": 0, + "color": 0, + "origin": [ + -31, + 0, + -62 + ], + "faces": { + "north": { + "uv": [ + 0, + 15, + 1, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 13, + 1, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 14, + 1, + 15 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 13, + 1, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 14, + 1, + 128 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 128, + 1, + 14 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "975d93c1-4faf-199e-d867-a2a5cf6bf8a7" + }, + { + "name": "RightCrawlerFront", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -40, + 4, + -57 + ], + "to": [ + -24, + 15, + -56 + ], + "autouv": 0, + "color": 0, + "origin": [ + -31, + 0, + -62 + ], + "faces": { + "north": { + "uv": [ + 0, + 14, + 1, + 25 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 13, + 1, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 14, + 1, + 25 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 13, + 1, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "4d01848a-d522-1efc-48a0-cafae6bb77b2" + }, + { + "name": "RightCrawlerBottom1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -40, + 0, + -57.5 + ], + "to": [ + -24, + 1, + -42 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 15, + 0, + 0 + ], + "origin": [ + -31, + 0, + -42 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 13, + 1, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 13, + 1, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 14, + 1, + 29.5 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 30.5, + 1, + 15 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "aca1284f-9a7b-a659-f8fb-a733f9c8c572" + }, + { + "name": "RightCrawlerBottom3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -40, + 0, + 42 + ], + "to": [ + -24, + 1, + 57.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -15, + 0, + 0 + ], + "origin": [ + -31, + 0, + 42 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 13, + 1, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 13, + 1, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 30, + 1, + 14.5 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 15, + 1, + 30.5 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b613fc16-96ee-3d8b-8aaf-0643a8f2f481" + }, + { + "name": "RightCrawlerBack", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -40, + 4, + 56 + ], + "to": [ + -24, + 15, + 57 + ], + "autouv": 0, + "color": 0, + "origin": [ + -31, + 0, + -62 + ], + "faces": { + "north": { + "uv": [ + 0, + 15, + 1, + 26 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 13, + 1, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 14, + 1, + 25 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 13, + 1, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6c4b9bfc-447a-75d1-df8d-88569caf6082" + }, + { + "name": "LeftCrawlerWheel1_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 35, + 3, + -45 + ], + "to": [ + 37, + 13, + -35 + ], + "autouv": 0, + "color": 0, + "origin": [ + 23, + 3, + -45 + ], + "faces": { + "north": { + "uv": [ + 3, + 2, + 2, + 12 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 2, + 2, + 12 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 2, + 11, + 12 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 2, + 12, + 12 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 3, + 12, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 2, + 12, + 12, + 11 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "2ae66d06-2d35-a04a-8187-84df4c507bc4" + }, + { + "name": "LeftCrawlerWheel1_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 35, + 2, + -44 + ], + "to": [ + 37, + 14, + -36 + ], + "autouv": 0, + "color": 0, + "origin": [ + 23, + 3, + -45 + ], + "faces": { + "north": { + "uv": [ + 4, + 1, + 3, + 13 + ], + "texture": 0 + }, + "east": { + "uv": [ + 11, + 1, + 3, + 13 + ], + "texture": 0 + }, + "south": { + "uv": [ + 11, + 1, + 10, + 13 + ], + "texture": 0 + }, + "west": { + "uv": [ + 3, + 1, + 11, + 13 + ], + "texture": 0 + }, + "up": { + "uv": [ + 3, + 2, + 11, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 3, + 13, + 11, + 12 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "61ae9953-a711-cfdd-2100-7eaa10b195bc" + }, + { + "name": "LeftCrawlerWheel1_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 35, + 1, + -42 + ], + "to": [ + 37, + 15, + -38 + ], + "autouv": 0, + "color": 0, + "origin": [ + 23, + 3, + -45 + ], + "faces": { + "north": { + "uv": [ + 6, + 0, + 5, + 14 + ], + "texture": 0 + }, + "east": { + "uv": [ + 9, + 0, + 5, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 9, + 0, + 8, + 14 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 0, + 9, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 1, + 9, + 0 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 5, + 14, + 9, + 13 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "c1608fc5-b273-8f47-d152-39d5657585cb" + }, + { + "name": "LeftCrawlerWheel1_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 35, + 4, + -46 + ], + "to": [ + 37, + 12, + -34 + ], + "autouv": 0, + "color": 0, + "origin": [ + 23, + 3, + -45 + ], + "faces": { + "north": { + "uv": [ + 2, + 3, + 1, + 11 + ], + "texture": 0 + }, + "east": { + "uv": [ + 13, + 3, + 1, + 11 + ], + "texture": 0 + }, + "south": { + "uv": [ + 13, + 3, + 12, + 11 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 3, + 13, + 11 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 4, + 13, + 3 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 1, + 11, + 13, + 10 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "c063c136-44bc-e100-3d07-a199c88bb6db" + }, + { + "name": "LeftCrawlerWheel1_5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 35, + 6, + -47 + ], + "to": [ + 37, + 10, + -33 + ], + "autouv": 0, + "color": 0, + "origin": [ + 23, + 3, + -45 + ], + "faces": { + "north": { + "uv": [ + 1, + 5, + 0, + 9 + ], + "texture": 0 + }, + "east": { + "uv": [ + 14, + 5, + 0, + 9 + ], + "texture": 0 + }, + "south": { + "uv": [ + 14, + 5, + 13, + 9 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 5, + 14, + 9 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 6, + 14, + 5 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 9, + 14, + 8 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "d125ea17-8b90-c66f-74c4-e3d8cc0fff30" + }, + { + "name": "LeftCrawlerWheel2_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 35, + 3, + -25 + ], + "to": [ + 37, + 13, + -15 + ], + "autouv": 0, + "color": 0, + "origin": [ + 23, + 3, + -25 + ], + "faces": { + "north": { + "uv": [ + 3, + 2, + 2, + 12 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 2, + 2, + 12 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 2, + 11, + 12 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 2, + 12, + 12 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 3, + 12, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 2, + 12, + 12, + 11 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "a230138f-9067-fec6-8881-42348e1b425f" + }, + { + "name": "LeftCrawlerWheel2_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 35, + 2, + -24 + ], + "to": [ + 37, + 14, + -16 + ], + "autouv": 0, + "color": 0, + "origin": [ + 23, + 3, + -25 + ], + "faces": { + "north": { + "uv": [ + 4, + 1, + 3, + 13 + ], + "texture": 0 + }, + "east": { + "uv": [ + 11, + 1, + 3, + 13 + ], + "texture": 0 + }, + "south": { + "uv": [ + 11, + 1, + 10, + 13 + ], + "texture": 0 + }, + "west": { + "uv": [ + 3, + 1, + 11, + 13 + ], + "texture": 0 + }, + "up": { + "uv": [ + 3, + 2, + 11, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 3, + 13, + 11, + 12 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "38accb5c-009d-359c-920e-bcf36ee10ae1" + }, + { + "name": "LeftCrawlerWheel2_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 35, + 1, + -22 + ], + "to": [ + 37, + 15, + -18 + ], + "autouv": 0, + "color": 0, + "origin": [ + 23, + 3, + -25 + ], + "faces": { + "north": { + "uv": [ + 6, + 0, + 5, + 14 + ], + "texture": 0 + }, + "east": { + "uv": [ + 9, + 0, + 5, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 9, + 0, + 8, + 14 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 0, + 9, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 1, + 9, + 0 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 5, + 14, + 9, + 13 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "8e44d270-f2b9-471b-14fa-beefc9b26876" + }, + { + "name": "LeftCrawlerWheel2_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 35, + 4, + -26 + ], + "to": [ + 37, + 12, + -14 + ], + "autouv": 0, + "color": 0, + "origin": [ + 23, + 3, + -25 + ], + "faces": { + "north": { + "uv": [ + 2, + 3, + 1, + 11 + ], + "texture": 0 + }, + "east": { + "uv": [ + 13, + 3, + 1, + 11 + ], + "texture": 0 + }, + "south": { + "uv": [ + 13, + 3, + 12, + 11 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 3, + 13, + 11 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 4, + 13, + 3 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 1, + 11, + 13, + 10 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "8121b2ec-e9ce-3c10-29c3-696ab1d97538" + }, + { + "name": "LeftCrawlerWheel2_5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 35, + 6, + -27 + ], + "to": [ + 37, + 10, + -13 + ], + "autouv": 0, + "color": 0, + "origin": [ + 23, + 3, + -25 + ], + "faces": { + "north": { + "uv": [ + 1, + 5, + 0, + 9 + ], + "texture": 0 + }, + "east": { + "uv": [ + 14, + 5, + 0, + 9 + ], + "texture": 0 + }, + "south": { + "uv": [ + 14, + 5, + 13, + 9 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 5, + 14, + 9 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 6, + 14, + 5 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 9, + 14, + 8 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "adeaf0d0-5afa-19f9-195c-d7a2a42dc0d6" + }, + { + "name": "LeftCrawlerWheel3_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 35, + 3, + -5 + ], + "to": [ + 37, + 13, + 5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 23, + 3, + -5 + ], + "faces": { + "north": { + "uv": [ + 3, + 2, + 2, + 12 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 2, + 2, + 12 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 2, + 11, + 12 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 2, + 12, + 12 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 3, + 12, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 2, + 12, + 12, + 11 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "3a4b5f10-f180-7fcb-4917-5d8e1fbfb756" + }, + { + "name": "LeftCrawlerWheel3_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 35, + 2, + -4 + ], + "to": [ + 37, + 14, + 4 + ], + "autouv": 0, + "color": 0, + "origin": [ + 23, + 3, + -5 + ], + "faces": { + "north": { + "uv": [ + 4, + 1, + 3, + 13 + ], + "texture": 0 + }, + "east": { + "uv": [ + 11, + 1, + 3, + 13 + ], + "texture": 0 + }, + "south": { + "uv": [ + 11, + 1, + 10, + 13 + ], + "texture": 0 + }, + "west": { + "uv": [ + 3, + 1, + 11, + 13 + ], + "texture": 0 + }, + "up": { + "uv": [ + 3, + 2, + 11, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 3, + 13, + 11, + 12 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "866feadb-d8b7-2077-f425-94b408b6e09c" + }, + { + "name": "LeftCrawlerWheel3_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 35, + 1, + -2 + ], + "to": [ + 37, + 15, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 23, + 3, + -5 + ], + "faces": { + "north": { + "uv": [ + 6, + 0, + 5, + 14 + ], + "texture": 0 + }, + "east": { + "uv": [ + 9, + 0, + 5, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 9, + 0, + 8, + 14 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 0, + 9, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 1, + 9, + 0 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 5, + 14, + 9, + 13 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "72d00c81-43eb-cef9-2c92-d285079b7d51" + }, + { + "name": "LeftCrawlerWheel3_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 35, + 4, + -6 + ], + "to": [ + 37, + 12, + 6 + ], + "autouv": 0, + "color": 0, + "origin": [ + 23, + 3, + -5 + ], + "faces": { + "north": { + "uv": [ + 2, + 3, + 1, + 11 + ], + "texture": 0 + }, + "east": { + "uv": [ + 13, + 3, + 1, + 11 + ], + "texture": 0 + }, + "south": { + "uv": [ + 13, + 3, + 12, + 11 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 3, + 13, + 11 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 4, + 13, + 3 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 1, + 11, + 13, + 10 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "53b425d6-264b-f8be-3fd0-22152b2a7064" + }, + { + "name": "LeftCrawlerWheel3_5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 35, + 6, + -7 + ], + "to": [ + 37, + 10, + 7 + ], + "autouv": 0, + "color": 0, + "origin": [ + 23, + 3, + -5 + ], + "faces": { + "north": { + "uv": [ + 1, + 5, + 0, + 9 + ], + "texture": 0 + }, + "east": { + "uv": [ + 14, + 5, + 0, + 9 + ], + "texture": 0 + }, + "south": { + "uv": [ + 14, + 5, + 13, + 9 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 5, + 14, + 9 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 6, + 14, + 5 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 9, + 14, + 8 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "efe7e61a-c288-2556-062b-e8a7475e64d2" + }, + { + "name": "LeftCrawlerWheel4_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 35, + 3, + 15 + ], + "to": [ + 37, + 13, + 25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 23, + 3, + 15 + ], + "faces": { + "north": { + "uv": [ + 3, + 2, + 2, + 12 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 2, + 2, + 12 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 2, + 11, + 12 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 2, + 12, + 12 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 3, + 12, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 2, + 12, + 12, + 11 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "444542f6-f181-2619-f07e-947431dc54a8" + }, + { + "name": "LeftCrawlerWheel4_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 35, + 2, + 16 + ], + "to": [ + 37, + 14, + 24 + ], + "autouv": 0, + "color": 0, + "origin": [ + 23, + 3, + 15 + ], + "faces": { + "north": { + "uv": [ + 4, + 1, + 3, + 13 + ], + "texture": 0 + }, + "east": { + "uv": [ + 11, + 1, + 3, + 13 + ], + "texture": 0 + }, + "south": { + "uv": [ + 11, + 1, + 10, + 13 + ], + "texture": 0 + }, + "west": { + "uv": [ + 3, + 1, + 11, + 13 + ], + "texture": 0 + }, + "up": { + "uv": [ + 3, + 2, + 11, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 3, + 13, + 11, + 12 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "347afeba-5ae3-1d43-d87c-e8cf2a05c604" + }, + { + "name": "LeftCrawlerWheel4_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 35, + 1, + 18 + ], + "to": [ + 37, + 15, + 22 + ], + "autouv": 0, + "color": 0, + "origin": [ + 23, + 3, + 15 + ], + "faces": { + "north": { + "uv": [ + 6, + 0, + 5, + 14 + ], + "texture": 0 + }, + "east": { + "uv": [ + 9, + 0, + 5, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 9, + 0, + 8, + 14 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 0, + 9, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 1, + 9, + 0 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 5, + 14, + 9, + 13 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "d0f36ab9-d06f-a0d4-3611-8228f74fbabe" + }, + { + "name": "LeftCrawlerWheel4_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 35, + 4, + 14 + ], + "to": [ + 37, + 12, + 26 + ], + "autouv": 0, + "color": 0, + "origin": [ + 23, + 3, + 15 + ], + "faces": { + "north": { + "uv": [ + 2, + 3, + 1, + 11 + ], + "texture": 0 + }, + "east": { + "uv": [ + 13, + 3, + 1, + 11 + ], + "texture": 0 + }, + "south": { + "uv": [ + 13, + 3, + 12, + 11 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 3, + 13, + 11 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 4, + 13, + 3 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 1, + 11, + 13, + 10 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "9a74bc45-697f-6ed5-f6f8-dd40af77ea48" + }, + { + "name": "LeftCrawlerWheel4_5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 35, + 6, + 13 + ], + "to": [ + 37, + 10, + 27 + ], + "autouv": 0, + "color": 0, + "origin": [ + 23, + 3, + 15 + ], + "faces": { + "north": { + "uv": [ + 1, + 5, + 0, + 9 + ], + "texture": 0 + }, + "east": { + "uv": [ + 14, + 5, + 0, + 9 + ], + "texture": 0 + }, + "south": { + "uv": [ + 14, + 5, + 13, + 9 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 5, + 14, + 9 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 6, + 14, + 5 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 9, + 14, + 8 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "0514fe05-741c-27c9-6c7e-326ad6d40bb7" + }, + { + "name": "LeftCrawlerWheel5_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 35, + 3, + 35 + ], + "to": [ + 37, + 13, + 45 + ], + "autouv": 0, + "color": 0, + "origin": [ + 23, + 3, + 35 + ], + "faces": { + "north": { + "uv": [ + 3, + 2, + 2, + 12 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 2, + 2, + 12 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 2, + 11, + 12 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 2, + 12, + 12 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 3, + 12, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 2, + 12, + 12, + 11 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "7ebf533b-58cb-b3f0-0e08-78fefbaa8c28" + }, + { + "name": "LeftCrawlerWheel5_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 35, + 2, + 36 + ], + "to": [ + 37, + 14, + 44 + ], + "autouv": 0, + "color": 0, + "origin": [ + 23, + 3, + 35 + ], + "faces": { + "north": { + "uv": [ + 4, + 1, + 3, + 13 + ], + "texture": 0 + }, + "east": { + "uv": [ + 11, + 1, + 3, + 13 + ], + "texture": 0 + }, + "south": { + "uv": [ + 11, + 1, + 10, + 13 + ], + "texture": 0 + }, + "west": { + "uv": [ + 3, + 1, + 11, + 13 + ], + "texture": 0 + }, + "up": { + "uv": [ + 3, + 2, + 11, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 3, + 13, + 11, + 12 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "f24ab10b-2126-aaf9-04f5-79751fe82298" + }, + { + "name": "LeftCrawlerWheel5_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 35, + 1, + 38 + ], + "to": [ + 37, + 15, + 42 + ], + "autouv": 0, + "color": 0, + "origin": [ + 23, + 3, + 35 + ], + "faces": { + "north": { + "uv": [ + 6, + 0, + 5, + 14 + ], + "texture": 0 + }, + "east": { + "uv": [ + 9, + 0, + 5, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 9, + 0, + 8, + 14 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 0, + 9, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 1, + 9, + 0 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 5, + 14, + 9, + 13 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "72142202-2c64-f1ad-4f4d-384b3b1abbe0" + }, + { + "name": "LeftCrawlerWheel5_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 35, + 4, + 34 + ], + "to": [ + 37, + 12, + 46 + ], + "autouv": 0, + "color": 0, + "origin": [ + 23, + 3, + 35 + ], + "faces": { + "north": { + "uv": [ + 2, + 3, + 1, + 11 + ], + "texture": 0 + }, + "east": { + "uv": [ + 13, + 3, + 1, + 11 + ], + "texture": 0 + }, + "south": { + "uv": [ + 13, + 3, + 12, + 11 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 3, + 13, + 11 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 4, + 13, + 3 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 1, + 11, + 13, + 10 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "e972ede5-0299-8c55-7d53-065bd790ece4" + }, + { + "name": "LeftCrawlerWheel5_5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 35, + 6, + 33 + ], + "to": [ + 37, + 10, + 47 + ], + "autouv": 0, + "color": 0, + "origin": [ + 23, + 3, + 35 + ], + "faces": { + "north": { + "uv": [ + 1, + 5, + 0, + 9 + ], + "texture": 0 + }, + "east": { + "uv": [ + 14, + 5, + 0, + 9 + ], + "texture": 0 + }, + "south": { + "uv": [ + 14, + 5, + 13, + 9 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 5, + 14, + 9 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 6, + 14, + 5 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 9, + 14, + 8 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "bbf69d08-ccea-ed28-63c3-5926ed209514" + }, + { + "name": "LeftCrawlerWheel6_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 3, + -35 + ], + "to": [ + 39, + 13, + -25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 25, + 3, + -35 + ], + "faces": { + "north": { + "uv": [ + 3, + 2, + 2, + 12 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 2, + 2, + 12 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 2, + 11, + 12 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 2, + 12, + 12 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 3, + 12, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 2, + 12, + 12, + 11 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "8407bd81-7917-c9fd-3399-a08aadf32441" + }, + { + "name": "LeftCrawlerWheel6_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 2, + -34 + ], + "to": [ + 39, + 14, + -26 + ], + "autouv": 0, + "color": 0, + "origin": [ + 25, + 3, + -35 + ], + "faces": { + "north": { + "uv": [ + 4, + 1, + 3, + 13 + ], + "texture": 0 + }, + "east": { + "uv": [ + 11, + 1, + 3, + 13 + ], + "texture": 0 + }, + "south": { + "uv": [ + 11, + 1, + 10, + 13 + ], + "texture": 0 + }, + "west": { + "uv": [ + 3, + 1, + 11, + 13 + ], + "texture": 0 + }, + "up": { + "uv": [ + 3, + 2, + 11, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 3, + 13, + 11, + 12 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "57437df3-40e3-065f-f930-bf99935f0133" + }, + { + "name": "LeftCrawlerWheel6_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 1, + -32 + ], + "to": [ + 39, + 15, + -28 + ], + "autouv": 0, + "color": 0, + "origin": [ + 25, + 3, + -35 + ], + "faces": { + "north": { + "uv": [ + 6, + 0, + 5, + 14 + ], + "texture": 0 + }, + "east": { + "uv": [ + 9, + 0, + 5, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 9, + 0, + 8, + 14 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 0, + 9, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 1, + 9, + 0 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 5, + 14, + 9, + 13 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "66bf7cf0-8429-d060-c24b-ea31933a0874" + }, + { + "name": "LeftCrawlerWheel6_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 4, + -36 + ], + "to": [ + 39, + 12, + -24 + ], + "autouv": 0, + "color": 0, + "origin": [ + 25, + 3, + -35 + ], + "faces": { + "north": { + "uv": [ + 2, + 3, + 1, + 11 + ], + "texture": 0 + }, + "east": { + "uv": [ + 13, + 3, + 1, + 11 + ], + "texture": 0 + }, + "south": { + "uv": [ + 13, + 3, + 12, + 11 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 3, + 13, + 11 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 4, + 13, + 3 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 1, + 11, + 13, + 10 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "9eb98736-b893-db5f-c68a-5171ee5f8a21" + }, + { + "name": "LeftCrawlerWheel6_5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 6, + -37 + ], + "to": [ + 39, + 10, + -23 + ], + "autouv": 0, + "color": 0, + "origin": [ + 25, + 3, + -35 + ], + "faces": { + "north": { + "uv": [ + 1, + 5, + 0, + 9 + ], + "texture": 0 + }, + "east": { + "uv": [ + 14, + 5, + 0, + 9 + ], + "texture": 0 + }, + "south": { + "uv": [ + 14, + 5, + 13, + 9 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 5, + 14, + 9 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 6, + 14, + 5 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 9, + 14, + 8 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "3afbbfef-d08d-3134-a6cc-362922edb2cf" + }, + { + "name": "LeftCrawlerWheel7_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 3, + -15 + ], + "to": [ + 39, + 13, + -5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 25, + 3, + -15 + ], + "faces": { + "north": { + "uv": [ + 3, + 2, + 2, + 12 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 2, + 2, + 12 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 2, + 11, + 12 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 2, + 12, + 12 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 3, + 12, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 2, + 12, + 12, + 11 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "cdb7880e-5a94-b61a-6fc5-af005da6455e" + }, + { + "name": "LeftCrawlerWheel7_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 2, + -14 + ], + "to": [ + 39, + 14, + -6 + ], + "autouv": 0, + "color": 0, + "origin": [ + 25, + 3, + -15 + ], + "faces": { + "north": { + "uv": [ + 4, + 1, + 3, + 13 + ], + "texture": 0 + }, + "east": { + "uv": [ + 11, + 1, + 3, + 13 + ], + "texture": 0 + }, + "south": { + "uv": [ + 11, + 1, + 10, + 13 + ], + "texture": 0 + }, + "west": { + "uv": [ + 3, + 1, + 11, + 13 + ], + "texture": 0 + }, + "up": { + "uv": [ + 3, + 2, + 11, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 3, + 13, + 11, + 12 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "31fd2f97-824f-098e-ab8f-97c8cbee7f38" + }, + { + "name": "LeftCrawlerWheel7_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 1, + -12 + ], + "to": [ + 39, + 15, + -8 + ], + "autouv": 0, + "color": 0, + "origin": [ + 25, + 3, + -15 + ], + "faces": { + "north": { + "uv": [ + 6, + 0, + 5, + 14 + ], + "texture": 0 + }, + "east": { + "uv": [ + 9, + 0, + 5, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 9, + 0, + 8, + 14 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 0, + 9, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 1, + 9, + 0 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 5, + 14, + 9, + 13 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "e77d968f-a12d-0b24-759f-eb0138777e63" + }, + { + "name": "LeftCrawlerWheel7_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 4, + -16 + ], + "to": [ + 39, + 12, + -4 + ], + "autouv": 0, + "color": 0, + "origin": [ + 25, + 3, + -15 + ], + "faces": { + "north": { + "uv": [ + 2, + 3, + 1, + 11 + ], + "texture": 0 + }, + "east": { + "uv": [ + 13, + 3, + 1, + 11 + ], + "texture": 0 + }, + "south": { + "uv": [ + 13, + 3, + 12, + 11 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 3, + 13, + 11 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 4, + 13, + 3 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 1, + 11, + 13, + 10 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "1ee5883b-c911-938a-5a52-9b8e8773d9d7" + }, + { + "name": "LeftCrawlerWheel7_5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 6, + -17 + ], + "to": [ + 39, + 10, + -3 + ], + "autouv": 0, + "color": 0, + "origin": [ + 25, + 3, + -15 + ], + "faces": { + "north": { + "uv": [ + 1, + 5, + 0, + 9 + ], + "texture": 0 + }, + "east": { + "uv": [ + 14, + 5, + 0, + 9 + ], + "texture": 0 + }, + "south": { + "uv": [ + 14, + 5, + 13, + 9 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 5, + 14, + 9 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 6, + 14, + 5 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 9, + 14, + 8 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "f134f232-3f73-da4b-bd16-35e82b540909" + }, + { + "name": "LeftCrawlerWheel8_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 3, + 5 + ], + "to": [ + 39, + 13, + 15 + ], + "autouv": 0, + "color": 0, + "origin": [ + 25, + 3, + 5 + ], + "faces": { + "north": { + "uv": [ + 3, + 2, + 2, + 12 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 2, + 2, + 12 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 2, + 11, + 12 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 2, + 12, + 12 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 3, + 12, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 2, + 12, + 12, + 11 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "12915a43-4ba3-1582-f499-5db475b8be4b" + }, + { + "name": "LeftCrawlerWheel8_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 2, + 6 + ], + "to": [ + 39, + 14, + 14 + ], + "autouv": 0, + "color": 0, + "origin": [ + 25, + 3, + 5 + ], + "faces": { + "north": { + "uv": [ + 4, + 1, + 3, + 13 + ], + "texture": 0 + }, + "east": { + "uv": [ + 11, + 1, + 3, + 13 + ], + "texture": 0 + }, + "south": { + "uv": [ + 11, + 1, + 10, + 13 + ], + "texture": 0 + }, + "west": { + "uv": [ + 3, + 1, + 11, + 13 + ], + "texture": 0 + }, + "up": { + "uv": [ + 3, + 2, + 11, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 3, + 13, + 11, + 12 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "1ca5b4f7-c902-1435-fb58-1b2fe895e98d" + }, + { + "name": "LeftCrawlerWheel8_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 1, + 8 + ], + "to": [ + 39, + 15, + 12 + ], + "autouv": 0, + "color": 0, + "origin": [ + 25, + 3, + 5 + ], + "faces": { + "north": { + "uv": [ + 6, + 0, + 5, + 14 + ], + "texture": 0 + }, + "east": { + "uv": [ + 9, + 0, + 5, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 9, + 0, + 8, + 14 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 0, + 9, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 1, + 9, + 0 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 5, + 14, + 9, + 13 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "298dd0f3-213f-bea5-a8b0-5ee2646d4ab4" + }, + { + "name": "LeftCrawlerWheel8_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 4, + 4 + ], + "to": [ + 39, + 12, + 16 + ], + "autouv": 0, + "color": 0, + "origin": [ + 25, + 3, + 5 + ], + "faces": { + "north": { + "uv": [ + 2, + 3, + 1, + 11 + ], + "texture": 0 + }, + "east": { + "uv": [ + 13, + 3, + 1, + 11 + ], + "texture": 0 + }, + "south": { + "uv": [ + 13, + 3, + 12, + 11 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 3, + 13, + 11 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 4, + 13, + 3 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 1, + 11, + 13, + 10 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "f5d77654-c038-3e81-4868-02b88bface86" + }, + { + "name": "LeftCrawlerWheel8_5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 6, + 3 + ], + "to": [ + 39, + 10, + 17 + ], + "autouv": 0, + "color": 0, + "origin": [ + 25, + 3, + 5 + ], + "faces": { + "north": { + "uv": [ + 1, + 5, + 0, + 9 + ], + "texture": 0 + }, + "east": { + "uv": [ + 14, + 5, + 0, + 9 + ], + "texture": 0 + }, + "south": { + "uv": [ + 14, + 5, + 13, + 9 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 5, + 14, + 9 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 6, + 14, + 5 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 9, + 14, + 8 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "966f28e5-ddd5-286a-9541-19b7a2e0106c" + }, + { + "name": "LeftCrawlerWheel9_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 3, + 25 + ], + "to": [ + 39, + 13, + 35 + ], + "autouv": 0, + "color": 0, + "origin": [ + 25, + 3, + 25 + ], + "faces": { + "north": { + "uv": [ + 3, + 2, + 2, + 12 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 2, + 2, + 12 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 2, + 11, + 12 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 2, + 12, + 12 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 3, + 12, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 2, + 12, + 12, + 11 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "cc15c030-adbb-1694-8963-961eee22ba09" + }, + { + "name": "LeftCrawlerWheel9_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 2, + 26 + ], + "to": [ + 39, + 14, + 34 + ], + "autouv": 0, + "color": 0, + "origin": [ + 25, + 3, + 25 + ], + "faces": { + "north": { + "uv": [ + 4, + 1, + 3, + 13 + ], + "texture": 0 + }, + "east": { + "uv": [ + 11, + 1, + 3, + 13 + ], + "texture": 0 + }, + "south": { + "uv": [ + 11, + 1, + 10, + 13 + ], + "texture": 0 + }, + "west": { + "uv": [ + 3, + 1, + 11, + 13 + ], + "texture": 0 + }, + "up": { + "uv": [ + 3, + 2, + 11, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 3, + 13, + 11, + 12 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "b2af46e7-9e44-36cc-bd3e-00540d58804d" + }, + { + "name": "LeftCrawlerWheel9_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 1, + 28 + ], + "to": [ + 39, + 15, + 32 + ], + "autouv": 0, + "color": 0, + "origin": [ + 25, + 3, + 25 + ], + "faces": { + "north": { + "uv": [ + 6, + 0, + 5, + 14 + ], + "texture": 0 + }, + "east": { + "uv": [ + 9, + 0, + 5, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 9, + 0, + 8, + 14 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 0, + 9, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 1, + 9, + 0 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 5, + 14, + 9, + 13 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "9dcc331f-1a53-d8fd-61e8-e70554f95508" + }, + { + "name": "LeftCrawlerWheel9_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 4, + 24 + ], + "to": [ + 39, + 12, + 36 + ], + "autouv": 0, + "color": 0, + "origin": [ + 25, + 3, + 25 + ], + "faces": { + "north": { + "uv": [ + 2, + 3, + 1, + 11 + ], + "texture": 0 + }, + "east": { + "uv": [ + 13, + 3, + 1, + 11 + ], + "texture": 0 + }, + "south": { + "uv": [ + 13, + 3, + 12, + 11 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 3, + 13, + 11 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 4, + 13, + 3 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 1, + 11, + 13, + 10 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "223f6401-43f9-9ab0-863c-234a4a2184f0" + }, + { + "name": "LeftCrawlerWheel9_5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 6, + 23 + ], + "to": [ + 39, + 10, + 37 + ], + "autouv": 0, + "color": 0, + "origin": [ + 25, + 3, + 25 + ], + "faces": { + "north": { + "uv": [ + 1, + 5, + 0, + 9 + ], + "texture": 0 + }, + "east": { + "uv": [ + 14, + 5, + 0, + 9 + ], + "texture": 0 + }, + "south": { + "uv": [ + 14, + 5, + 13, + 9 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 5, + 14, + 9 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 6, + 14, + 5 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 9, + 14, + 8 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "e0b91693-8e5c-e3e1-44e6-3d2608ec3ed0" + }, + { + "name": "LeftCrawlerWheel0_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 7, + -52 + ], + "to": [ + 39, + 11, + -48 + ], + "autouv": 0, + "color": 0, + "origin": [ + 36, + 7, + -52 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "4b49a2c2-0672-5aba-620c-6f993102c99d" + }, + { + "name": "LeftCrawlerWheel0_2_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 11, + -50.5 + ], + "to": [ + 39, + 14, + -49.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 39, + 11, + -50.5 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "4731f128-257e-1691-7b2a-e286333ec1c5" + }, + { + "name": "LeftCrawlerWheel10_2_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 14, + -52.5 + ], + "to": [ + 39, + 15, + -47.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 39, + 11, + -50.5 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b7be0f08-a132-7cb0-90ea-2cf37acccc07" + }, + { + "name": "LeftCrawlerWheel0_3_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 11, + -50.5 + ], + "to": [ + 39, + 14, + -49.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 34, + 11, + -50.5 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "406f592e-7e45-f87e-2dd0-d8ebcc0b204c" + }, + { + "name": "LeftCrawlerWheel10_3_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 14, + -52.5 + ], + "to": [ + 39, + 15, + -47.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 34, + 11, + -50.5 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b581da7b-4611-eaa7-5059-bc19f8e9197f" + }, + { + "name": "LeftCrawlerWheel0_4_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 11, + -50.5 + ], + "to": [ + 39, + 14, + -49.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 34, + 11, + -50.5 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "1bd12c64-4ed9-595f-b0a5-989e411d84d9" + }, + { + "name": "LeftCrawlerWheel10_4_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 14, + -52.5 + ], + "to": [ + 39, + 15, + -47.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 34, + 11, + -50.5 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "cd81fc12-b73c-dccc-8d05-307397389e97" + }, + { + "name": "LeftCrawlerWheel0_5_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 11, + -50.5 + ], + "to": [ + 39, + 14, + -49.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 34, + 11, + -50.5 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e2d275de-6fb3-6a58-92ff-479ab7a86859" + }, + { + "name": "LeftCrawlerWheel10_5_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 14, + -52.5 + ], + "to": [ + 39, + 15, + -47.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 34, + 11, + -50.5 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a4ae7d6f-b617-936d-bb3a-60ab9bc3773c" + }, + { + "name": "LeftCrawlerWheel0_6_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 11, + -50.5 + ], + "to": [ + 39, + 14, + -49.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 34, + 11, + -50.5 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f7f8683b-3bcb-536f-2d5b-14675f1e47f7" + }, + { + "name": "LeftCrawlerWheel10_6_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 14, + -52.5 + ], + "to": [ + 39, + 15, + -47.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 34, + 11, + -50.5 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c5ab9a67-be72-4c7e-744f-9ecb3b493fcf" + }, + { + "name": "LeftCrawlerWheel0_7_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 11, + -50.5 + ], + "to": [ + 39, + 14, + -49.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 34, + 11, + -50.5 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "bab9b9f2-4305-0453-7dd8-d57097ad31c7" + }, + { + "name": "LeftCrawlerWheel10_7_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 14, + -52.5 + ], + "to": [ + 39, + 15, + -47.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 34, + 11, + -50.5 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "0351c090-2d05-ea2a-085a-1bbe6638f926" + }, + { + "name": "LeftCrawlerWheel0_8_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 11, + -50.5 + ], + "to": [ + 39, + 14, + -49.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 34, + 11, + -50.5 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ed0cf026-e2a8-6f51-24a6-c0b5475e30a9" + }, + { + "name": "LeftCrawlerWheel10_8_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 14, + -52.5 + ], + "to": [ + 39, + 15, + -47.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 34, + 11, + -50.5 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "cd504e6e-4e3f-6bfc-3b81-780083368e0c" + }, + { + "name": "LeftCrawlerWheel0_9_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 11, + -50.5 + ], + "to": [ + 39, + 14, + -49.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 34, + 11, + -50.5 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5b2f5d41-d1d0-c809-31be-9b1b673d81d7" + }, + { + "name": "LeftCrawlerWheel10_9_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 14, + -52.5 + ], + "to": [ + 39, + 15, + -47.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 34, + 11, + -50.5 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "0f729ecf-cbe8-ee8a-4e03-eb8181a08bb1" + }, + { + "name": "LeftCrawlerWheel11_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 7, + 48 + ], + "to": [ + 39, + 11, + 52 + ], + "autouv": 0, + "color": 0, + "origin": [ + 36, + 7, + 48 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "fb147acc-ca1e-7beb-eb80-4c355183024d" + }, + { + "name": "LeftCrawlerWheel11_2_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 11, + 49.5 + ], + "to": [ + 39, + 14, + 50.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 39, + 11, + 49.5 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "45116dbf-2526-ae94-2f9f-4e424ec21fa9" + }, + { + "name": "LeftCrawlerWheel11_2_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 14, + 47.5 + ], + "to": [ + 39, + 15, + 52.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 39, + 11, + 49.5 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2ece5e2a-50b8-87c9-e198-1d85041b17de" + }, + { + "name": "LeftCrawlerWheel11_3_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 11, + 49.5 + ], + "to": [ + 39, + 14, + 50.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 34, + 11, + 49.5 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f545c591-89cb-32f8-464d-c0732dee117e" + }, + { + "name": "LeftCrawlerWheel11_3_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 14, + 47.5 + ], + "to": [ + 39, + 15, + 52.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 34, + 11, + 49.5 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "736363ec-b693-92fe-6d35-c0e6d3b721b3" + }, + { + "name": "LeftCrawlerWheel11_4_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 11, + 49.5 + ], + "to": [ + 39, + 14, + 50.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 34, + 11, + 49.5 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "063bf6f5-d906-6595-bec2-57eed3621c01" + }, + { + "name": "LeftCrawlerWheel11_4_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 14, + 47.5 + ], + "to": [ + 39, + 15, + 52.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 34, + 11, + 49.5 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a3dea4d1-6849-0708-f1c6-126648dde91b" + }, + { + "name": "LeftCrawlerWheel11_5_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 11, + 49.5 + ], + "to": [ + 39, + 14, + 50.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 34, + 11, + 49.5 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e0bcbf5e-072d-68be-2a6c-f5397c105d56" + }, + { + "name": "LeftCrawlerWheel11_5_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 14, + 47.5 + ], + "to": [ + 39, + 15, + 52.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 34, + 11, + 49.5 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b3f93ce1-f558-4213-74f6-0161bcbcb075" + }, + { + "name": "LeftCrawlerWheel11_6_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 11, + 49.5 + ], + "to": [ + 39, + 14, + 50.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 34, + 11, + 49.5 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "413c1ab9-8c92-a9f9-2ab8-c685b6a4c69f" + }, + { + "name": "LeftCrawlerWheel11_6_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 14, + 47.5 + ], + "to": [ + 39, + 15, + 52.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 34, + 11, + 49.5 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "ac45877d-1f40-793b-733c-9499fc80e19f" + }, + { + "name": "LeftCrawlerWheel11_7_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 11, + 49.5 + ], + "to": [ + 39, + 14, + 50.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 34, + 11, + 49.5 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "19937438-2b52-bc16-36f4-cef1f147f352" + }, + { + "name": "LeftCrawlerWheel11_7_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 14, + 47.5 + ], + "to": [ + 39, + 15, + 52.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 34, + 11, + 49.5 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "9be968d9-5abf-e1f7-1486-3c5ec601cc41" + }, + { + "name": "LeftCrawlerWheel11_8_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 11, + 49.5 + ], + "to": [ + 39, + 14, + 50.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 34, + 11, + 49.5 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "84c5d135-c71e-168b-e0dd-f405d370ea67" + }, + { + "name": "LeftCrawlerWheel11_8_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 14, + 47.5 + ], + "to": [ + 39, + 15, + 52.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 34, + 11, + 49.5 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "74fa3a18-9b17-e3dc-8397-a80cde49f8a5" + }, + { + "name": "LeftCrawlerWheel11_9_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 11, + 49.5 + ], + "to": [ + 39, + 14, + 50.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 34, + 11, + 49.5 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f3f4526b-13c6-69af-2b90-c5f19ffa18d4" + }, + { + "name": "LeftCrawlerWheel11_9_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + 14, + 47.5 + ], + "to": [ + 39, + 15, + 52.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 34, + 11, + 49.5 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b456b3e6-d88b-56b8-e5fe-aed8044ffc2c" + }, + { + "name": "LeftCrawlerBottom1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 24, + 0, + -57.5 + ], + "to": [ + 40, + 1, + -42 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 15, + 0, + 0 + ], + "origin": [ + 31, + 0, + -42 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 13, + 1, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 13, + 1, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 14, + 0, + 29.5 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 30.5, + 0, + 15 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "59bf5b28-4227-b410-8b59-75494a6ebac8" + }, + { + "name": "LeftCrawlerBottom2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 24, + 0, + -42 + ], + "to": [ + 40, + 1, + 42 + ], + "autouv": 0, + "color": 0, + "origin": [ + 31, + 0, + -62 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 13, + 1, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 13, + 1, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 15, + 0, + 99 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 98.5, + 0, + 14.5 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2197c62b-a665-2fc0-5999-77e0be70dfe5" + }, + { + "name": "LeftCrawlerBottom3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 24, + 0, + 42 + ], + "to": [ + 40, + 1, + 57.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -15, + 0, + 0 + ], + "origin": [ + 31, + 0, + 42 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 13, + 1, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 13, + 1, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 30, + 0, + 14.5 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 15, + 0, + 30.5 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e27daa91-71c0-77df-660d-9e842cb2d053" + }, + { + "name": "LeftCrawlerTop", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 24, + 15, + -57 + ], + "to": [ + 40, + 16, + 57 + ], + "autouv": 0, + "color": 0, + "origin": [ + 31, + 0, + -62 + ], + "faces": { + "north": { + "uv": [ + 1, + 15, + 0, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 13, + 1, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 14, + 0, + 15 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 13, + 1, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 14, + 0, + 128 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 128, + 0, + 14 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "998549d8-67bd-3b8e-018c-606d92118d8c" + }, + { + "name": "LeftCrawlerFront", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 24, + 4, + -57 + ], + "to": [ + 40, + 15, + -56 + ], + "autouv": 0, + "color": 0, + "origin": [ + 31, + 0, + -62 + ], + "faces": { + "north": { + "uv": [ + 1, + 14, + 0, + 25 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 13, + 1, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 14, + 0, + 25 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 13, + 1, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5c140b7d-6e3d-f5cc-3ea2-ac7113437e8e" + }, + { + "name": "LeftCrawlerBack", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 24, + 4, + 56 + ], + "to": [ + 40, + 15, + 57 + ], + "autouv": 0, + "color": 0, + "origin": [ + 31, + 0, + -62 + ], + "faces": { + "north": { + "uv": [ + 1, + 15, + 0, + 26 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 13, + 1, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 14, + 0, + 25 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 13, + 1, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b237d008-3ddd-570b-0411-e88263a32850" + }, + { + "name": "BaseBottom2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -35, + 3, + -45 + ], + "to": [ + 35, + 15, + 45 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "0ab7278c-64b6-4881-6434-28524c374e81" + }, + { + "name": "BaseBottom3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -35, + 5, + 45 + ], + "to": [ + 35, + 15, + 56 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b3b6b7a7-a5e9-3f85-1522-fd3eac6a2524" + }, + { + "name": "BaseBottom1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -35, + 5, + -56 + ], + "to": [ + 35, + 15, + -45 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "836b01cb-9205-a088-1ba6-255c4ad16fbb" + }, + { + "name": "BaseBottom4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -24, + 15, + -56 + ], + "to": [ + 24, + 17, + 56 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "009ed97a-7676-287b-5b9d-35527a0e7f96" + }, + { + "name": "BaseFront", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -40, + 18, + -59 + ], + "to": [ + 40, + 20, + -37 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -5, + 0, + 0 + ], + "origin": [ + 0, + 20, + -37 + ], + "faces": { + "north": { + "uv": [ + 1, + 14, + 81, + 15 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 35, + 81, + 36 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 14, + 81, + 36 + ], + "texture": 0 + }, + "down": { + "uv": [ + 81, + 14, + 1, + 36 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8bd931fa-7195-d79a-ec27-4737d2fdcca3" + }, + { + "name": "BaseBase1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -36, + 17, + -37 + ], + "to": [ + 36, + 33, + 56 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 25, + 9.5 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 94, + 36, + 1, + 52 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 36, + 94, + 52 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 56, + 73, + 149 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "461b4aa5-dcb3-7d97-df34-bacd62e4453c" + }, + { + "name": "BaseBase2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 36, + 17, + -21 + ], + "to": [ + 40, + 21, + 56 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 52, + 78, + 56 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 1, + 52, + 78, + 56 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 1, + 52, + 78, + 56 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "32341c87-3615-f57c-6e86-659a339422c4" + }, + { + "name": "BaseBase3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -40, + 17, + -21 + ], + "to": [ + -36, + 21, + 56 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 52, + 78, + 56 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 52, + 78, + 56 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 1, + 52, + 78, + 56 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "ec6d77fe-fc2a-79a4-5be6-1bc627928ad8" + }, + { + "name": "BaseAccessory1_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 26, + -40 + ], + "to": [ + 4, + 27, + -37 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 26, + -38 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "865075e6-63b0-b53b-332c-848dd06d4a1e" + }, + { + "name": "BaseAccessory1_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 23, + -39 + ], + "to": [ + 0.5, + 26, + -37 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 26, + -38 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e71ba3d9-4813-0681-7ca1-3f9160c3b1cb" + }, + { + "name": "BaseAccessory1_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.75, + 27, + -39.25 + ], + "to": [ + 0.75, + 28, + -37.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 26, + -38 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "4f41c9b0-ed71-1718-0455-71bfc699f134" + }, + { + "name": "BaseAccessory1_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 28, + -39 + ], + "to": [ + 0.5, + 29, + -38 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 26, + -38 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b42476d1-2376-e919-b966-b7dcad8c92ff" + }, + { + "name": "BaseAccessory1_5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 29, + -39.25 + ], + "to": [ + 3, + 35, + -37.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 26, + -38 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "08938928-f493-1f17-69a1-51c502d167f1" + }, + { + "name": "BaseAccessory1_6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.5, + 29.5, + -39.75 + ], + "to": [ + 2.5, + 34.5, + -39.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 26, + -38 + ], + "faces": { + "north": { + "uv": [ + 14, + 0, + 19, + 5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 14, + 2, + 15, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 14, + 2, + 15, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 2, + 15, + 3 + ], + "texture": 0 + }, + "down": { + "uv": [ + 14, + 2, + 15, + 3 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "bfe51612-faf0-02c5-7050-45ad50ab8405" + }, + { + "name": "BaseAccessory2_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 14, + 22, + -39 + ], + "to": [ + 23, + 31, + -37 + ], + "autouv": 0, + "color": 0, + "origin": [ + 14, + 22, + -39 + ], + "faces": { + "north": { + "uv": [ + 13, + 0, + 14, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 13, + 0, + 14, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 13, + 0, + 14, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 13, + 0, + 14, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 13, + 0, + 14, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "fc39ace3-b02a-6f29-f7c2-8b4c82f41c68" + }, + { + "name": "BaseAccessory2_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 14.5, + 22.5, + -40 + ], + "to": [ + 22.5, + 30.5, + -39 + ], + "autouv": 0, + "color": 0, + "origin": [ + 14, + 22, + -39 + ], + "faces": { + "north": { + "uv": [ + 14, + 5, + 22, + 13 + ], + "texture": 0 + }, + "east": { + "uv": [ + 13, + 0, + 14, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 13, + 0, + 14, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 13, + 0, + 14, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 13, + 0, + 14, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "bec4f44e-671e-0b38-0846-e77161de0292" + }, + { + "name": "BaseAccessory2_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 15.5, + 25.5, + -46 + ], + "to": [ + 17.5, + 27.5, + -40 + ], + "autouv": 0, + "color": 0, + "origin": [ + 14, + 22, + -39 + ], + "faces": { + "north": { + "uv": [ + 19, + 0, + 22, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 13, + 0, + 14, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 13, + 0, + 14, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 13, + 0, + 14, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 13, + 0, + 14, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "ba92ae66-80b1-51e7-82d6-6e28747c1eaa" + }, + { + "name": "BaseAccessory3_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -21, + 19.75, + -39 + ], + "to": [ + -8, + 28.75, + -37 + ], + "autouv": 0, + "color": 0, + "origin": [ + -21, + 19.75, + -39 + ], + "faces": { + "north": { + "uv": [ + 22, + 0, + 35, + 9 + ], + "texture": 0 + }, + "east": { + "uv": [ + 22, + 0, + 23, + 9 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 34, + 0, + 35, + 9 + ], + "texture": 0 + }, + "up": { + "uv": [ + 22, + 0, + 35, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "84f6527f-1156-5d6e-8fe3-6a879e80fbaa" + }, + { + "name": "BaseAccessory3_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -13, + 28.75, + -39 + ], + "to": [ + -10, + 29.75, + -37 + ], + "autouv": 0, + "color": 0, + "origin": [ + -21, + 19.75, + -39 + ], + "faces": { + "north": { + "uv": [ + 24, + 0, + 25, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 0, + 25, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 24, + 0, + 25, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 0, + 25, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "aaa8925e-8b67-b061-f236-fb48463a9321" + }, + { + "name": "BaseAccessory3_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -19, + 28.75, + -39 + ], + "to": [ + -16, + 29.75, + -37 + ], + "autouv": 0, + "color": 0, + "origin": [ + -21, + 19.75, + -39 + ], + "faces": { + "north": { + "uv": [ + 24, + 0, + 25, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 0, + 25, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 24, + 0, + 25, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 0, + 25, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "71b94e5a-8a50-c0c7-11c7-53044784a199" + }, + { + "name": "BaseAccessory3_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -19, + 19.5, + -41 + ], + "to": [ + -10, + 22.5, + -39 + ], + "autouv": 0, + "color": 0, + "origin": [ + -21, + 19.75, + -39 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8638ea85-2c9c-7770-31c5-51438ad65361" + }, + { + "name": "BaseAccessory4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 33, + -34 + ], + "to": [ + 4, + 35, + -26 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "87c163b0-435c-8704-0932-81fced22694c" + }, + { + "name": "BaseAccessory5_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 7, + 33, + -32 + ], + "to": [ + 10, + 36, + -28 + ], + "autouv": 0, + "color": 0, + "origin": [ + 7, + 33, + -32 + ], + "faces": { + "north": { + "uv": [ + 13, + 1, + 14, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 13, + 1, + 14, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 13, + 1, + 14, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 13, + 1, + 14, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 13, + 1, + 14, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "84dbb12e-dddd-7a85-8539-12e34e3fd506" + }, + { + "name": "BaseAccessory5_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 10, + 33, + -31 + ], + "to": [ + 28, + 35, + -29 + ], + "autouv": 0, + "color": 0, + "origin": [ + 7, + 33, + -32 + ], + "faces": { + "north": { + "uv": [ + 13, + 2, + 14, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 13, + 3, + 14, + 4 + ], + "texture": 0 + }, + "south": { + "uv": [ + 13, + 2, + 14, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 13, + 2, + 14, + 3 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "0204df92-24ba-bb1b-1f16-c664f18437cc" + }, + { + "name": "BaseAccessory5_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 14, + 33, + -31.5 + ], + "to": [ + 15, + 35.5, + -28.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 7, + 33, + -32 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d94f3e41-09a0-7f8d-761d-a8422e2de832" + }, + { + "name": "BaseAccessory5_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 23, + 33, + -31.5 + ], + "to": [ + 24, + 35.5, + -28.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 7, + 33, + -32 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "555343cc-a1f1-29e8-2d41-138558fc633c" + }, + { + "name": "BaseAccessory6_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -10, + 33, + -32 + ], + "to": [ + -7, + 36, + -28 + ], + "autouv": 0, + "color": 0, + "origin": [ + -7, + 33, + -32 + ], + "faces": { + "north": { + "uv": [ + 14, + 1, + 13, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 14, + 1, + 13, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 14, + 1, + 13, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 14, + 1, + 13, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 1, + 13, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "0323e889-ea4d-dce4-4abe-b605eed04043" + }, + { + "name": "BaseAccessory6_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -28, + 33, + -31 + ], + "to": [ + -10, + 35, + -29 + ], + "autouv": 0, + "color": 0, + "origin": [ + -7, + 33, + -32 + ], + "faces": { + "north": { + "uv": [ + 14, + 2, + 13, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 14, + 2, + 13, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 14, + 3, + 13, + 4 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 2, + 13, + 3 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "83380858-b971-cbfc-cd62-96c59d0011d8" + }, + { + "name": "BaseAccessory6_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -15, + 33, + -31.5 + ], + "to": [ + -14, + 35.5, + -28.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -7, + 33, + -32 + ], + "faces": { + "north": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "82a9f4e4-7361-875a-1374-e380607abd8b" + }, + { + "name": "BaseAccessory6_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -24, + 33, + -31.5 + ], + "to": [ + -23, + 35.5, + -28.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -7, + 33, + -32 + ], + "faces": { + "north": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "3ee8c6e4-ab9e-4b1d-ab0c-fda5150e6fde" + }, + { + "name": "TurretBase2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -25, + 33, + -9 + ], + "to": [ + 25, + 35, + 15 + ], + "autouv": 0, + "color": 0, + "origin": [ + -28.25, + -10, + -16 + ], + "faces": { + "north": { + "uv": [ + 13, + 4, + 14, + 5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 13, + 4, + 14, + 5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 13, + 4, + 14, + 5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 13, + 4, + 14, + 5 + ], + "texture": 0 + }, + "up": { + "uv": [ + 13, + 4, + 14, + 5 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ca0f7fbd-0f09-79de-a9c7-5d15e2ebf19e" + }, + { + "name": "BaseAccessory7_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 36, + 23, + -30 + ], + "to": [ + 44, + 31, + 47 + ], + "autouv": 0, + "color": 0, + "origin": [ + -7, + 33, + -32 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 0, + 16, + 154 + ], + "rotation": 90, + "texture": 1 + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 2 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 154 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 16, + 154 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "475eaa4f-beb0-b641-8e51-27670ec29f27" + }, + { + "name": "BaseAccessory7_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 36, + 22, + 6.5 + ], + "to": [ + 45, + 32, + 10.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -7, + 33, + -32 + ], + "faces": { + "north": { + "uv": [ + 5, + 0, + 6, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 0, + 6, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 0, + 6, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 5, + 0, + 6, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 5, + 0, + 6, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "07ebde04-1a0b-dee1-a36b-48e8f5e96dbb" + }, + { + "name": "BaseAccessory7_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 36, + 22, + -24 + ], + "to": [ + 45, + 32, + -20 + ], + "autouv": 0, + "color": 0, + "origin": [ + -7, + 33, + -32 + ], + "faces": { + "north": { + "uv": [ + 5, + 0, + 6, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 0, + 6, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 0, + 6, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 5, + 0, + 6, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 5, + 0, + 6, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "aae8f349-100b-ca8d-5c61-26f1c08b155a" + }, + { + "name": "BaseAccessory7_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 36, + 22, + 37 + ], + "to": [ + 45, + 32, + 41 + ], + "autouv": 0, + "color": 0, + "origin": [ + -7, + 33, + -32 + ], + "faces": { + "north": { + "uv": [ + 5, + 0, + 6, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 0, + 6, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 0, + 6, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 5, + 0, + 6, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 5, + 0, + 6, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "87bdc4cd-f0d5-bb6b-187d-9635782c0c7d" + }, + { + "name": "BaseAccessory8_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -44, + 23, + -30 + ], + "to": [ + -36, + 31, + 47 + ], + "autouv": 0, + "color": 0, + "origin": [ + 7, + 33, + -32 + ], + "faces": { + "north": { + "uv": [ + 16, + 0, + 0, + 16 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 16, + 0, + 0, + 16 + ], + "texture": 2 + }, + "west": { + "uv": [ + 0, + 154, + 16, + 0 + ], + "rotation": 90, + "texture": 1 + }, + "up": { + "uv": [ + 16, + 0, + 0, + 154 + ], + "texture": 1 + }, + "down": { + "uv": [ + 16, + 0, + 0, + 154 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "c4549b4a-1d0e-f671-cebf-0dfd2afa6014" + }, + { + "name": "BaseAccessory8_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -45, + 22, + 6.5 + ], + "to": [ + -36, + 32, + 10.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 7, + 33, + -32 + ], + "faces": { + "north": { + "uv": [ + 6, + 0, + 5, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 6, + 0, + 5, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 0, + 5, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 0, + 5, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 0, + 5, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c7ea895b-ac0d-3d2c-d76a-b89d9eb84300" + }, + { + "name": "BaseAccessory8_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -45, + 22, + -24 + ], + "to": [ + -36, + 32, + -20 + ], + "autouv": 0, + "color": 0, + "origin": [ + 7, + 33, + -32 + ], + "faces": { + "north": { + "uv": [ + 6, + 0, + 5, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 6, + 0, + 5, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 0, + 5, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 0, + 5, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 0, + 5, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5796631a-f70d-14e2-b9f1-c7c6a1e0ecc9" + }, + { + "name": "BaseAccessory8_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -45, + 22, + 37 + ], + "to": [ + -36, + 32, + 41 + ], + "autouv": 0, + "color": 0, + "origin": [ + 7, + 33, + -32 + ], + "faces": { + "north": { + "uv": [ + 6, + 0, + 5, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 6, + 0, + 5, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 0, + 5, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 0, + 5, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 0, + 5, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f24ab891-08fd-85d9-5042-15dfa744e5ee" + }, + { + "name": "BaseAccessory9_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 22.5, + 12, + -60 + ], + "to": [ + 23.5, + 13, + -56 + ], + "autouv": 0, + "color": 0, + "origin": [ + 22.5, + 12, + -56 + ], + "faces": { + "north": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a7838f58-07fd-9664-1410-fb3fd5b86a84" + }, + { + "name": "BaseAccessory9_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 21, + 12, + -60.5 + ], + "to": [ + 22.5, + 13, + -59.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 22.5, + 12, + -56 + ], + "faces": { + "north": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c1b93dd0-446c-8fce-460a-45d38b51a267" + }, + { + "name": "BaseAccessory9_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 20, + 12, + -60 + ], + "to": [ + 21, + 13, + -56 + ], + "autouv": 0, + "color": 0, + "origin": [ + 22.5, + 12, + -56 + ], + "faces": { + "north": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "0bd3b664-92b6-40cf-c069-0d1bf10f5321" + }, + { + "name": "BaseAccessory10_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -23.5, + 12, + -60 + ], + "to": [ + -22.5, + 13, + -56 + ], + "autouv": 0, + "color": 0, + "origin": [ + -22.5, + 12, + -56 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a0015f71-fa17-5d17-7ef5-41e34f55ebbb" + }, + { + "name": "BaseAccessory10_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -21, + 12, + -60 + ], + "to": [ + -20, + 13, + -56 + ], + "autouv": 0, + "color": 0, + "origin": [ + -22.5, + 12, + -56 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5572eeb4-9a32-3f1a-b195-ef93b02770ec" + }, + { + "name": "BaseAccessory10_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -22.5, + 12, + -60.5 + ], + "to": [ + -21, + 13, + -59.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -22.5, + 12, + -56 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 5, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "79d86a01-27c4-854e-e262-40829eece841" + }, + { + "name": "BaseAccessory9_4_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 21.25, + 11.5, + -59.5 + ], + "to": [ + 22.25, + 14.5, + -58.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 21.75, + 13, + -56 + ], + "faces": { + "north": { + "uv": [ + 14, + 13, + 15, + 14 + ], + "texture": 0 + }, + "east": { + "uv": [ + 14, + 13, + 15, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 14, + 13, + 15, + 14 + ], + "texture": 0 + }, + "west": { + "uv": [ + 14, + 13, + 15, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 13, + 15, + 14 + ], + "texture": 0 + }, + "down": { + "uv": [ + 14, + 13, + 15, + 14 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "3c0b0fbe-f602-e5e9-873f-8db5b3ba24b7" + }, + { + "name": "BaseAccessory9_4_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 21.25, + 11.5, + -61.5 + ], + "to": [ + 22.25, + 14.5, + -60.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 21.75, + 13, + -56 + ], + "faces": { + "north": { + "uv": [ + 14, + 13, + 15, + 14 + ], + "texture": 0 + }, + "east": { + "uv": [ + 14, + 13, + 15, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 14, + 13, + 15, + 14 + ], + "texture": 0 + }, + "west": { + "uv": [ + 14, + 13, + 15, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 13, + 15, + 14 + ], + "texture": 0 + }, + "down": { + "uv": [ + 14, + 13, + 15, + 14 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "bd444826-8e29-55c5-dbf2-8893ddbb0d2a" + }, + { + "name": "BaseAccessory9_4_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 21.25, + 11, + -60.5 + ], + "to": [ + 22.25, + 12, + -59.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 21.75, + 13, + -56 + ], + "faces": { + "north": { + "uv": [ + 14, + 13, + 15, + 14 + ], + "texture": 0 + }, + "east": { + "uv": [ + 14, + 13, + 15, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 14, + 13, + 15, + 14 + ], + "texture": 0 + }, + "west": { + "uv": [ + 14, + 13, + 15, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 13, + 15, + 14 + ], + "texture": 0 + }, + "down": { + "uv": [ + 14, + 13, + 15, + 14 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5975978e-666c-74bc-7a76-c35e2de648e4" + }, + { + "name": "BaseAccessory9_4_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 21.25, + 14, + -60.5 + ], + "to": [ + 22.25, + 21, + -59.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 21.75, + 13, + -56 + ], + "faces": { + "north": { + "uv": [ + 14, + 13, + 21, + 14 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 14, + 13, + 21, + 14 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 14, + 13, + 21, + 14 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 14, + 13, + 21, + 14 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 17, + 13, + 18, + 14 + ], + "texture": 0 + }, + "down": { + "uv": [ + 14, + 13, + 15, + 14 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2ebba42f-ab66-0381-4358-90dabcdab4cc" + }, + { + "name": "BaseAccessory9_5_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 21.25, + 21, + -60.5 + ], + "to": [ + 22.25, + 50.75, + -59.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 21.25, + 21, + -60.5 + ], + "faces": { + "north": { + "uv": [ + 17, + 13, + 46, + 14 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 17, + 13, + 46, + 14 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 17, + 13, + 46, + 14 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 17, + 13, + 46, + 14 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 17, + 13, + 18, + 14 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "2cdd5aff-01fa-8d64-6dc4-349df0b4f0c2" + }, + { + "name": "BaseAccessory11_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 31.725, + 33, + -37 + ], + "to": [ + 32.725, + 34, + 45 + ], + "autouv": 0, + "color": 0, + "origin": [ + 31.725, + 33, + -37 + ], + "faces": { + "north": { + "uv": [ + 10, + 13, + 11, + 14 + ], + "texture": 0 + }, + "east": { + "uv": [ + 11, + 13, + 93, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 10, + 13, + 11, + 14 + ], + "texture": 0 + }, + "west": { + "uv": [ + 10, + 13, + 92, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 10, + 13, + 92, + 14 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e8011b81-f14b-8894-94e7-1332cc023a57" + }, + { + "name": "BaseAccessory11_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 12.725, + 33, + 45 + ], + "to": [ + 32.725, + 34, + 46 + ], + "autouv": 0, + "color": 0, + "origin": [ + 31.725, + 33, + -37 + ], + "faces": { + "north": { + "uv": [ + 31, + 13, + 11, + 14 + ], + "texture": 0 + }, + "east": { + "uv": [ + 9, + 13, + 10, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 11, + 13, + 31, + 14 + ], + "texture": 0 + }, + "west": { + "uv": [ + 10, + 13, + 11, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 11, + 13, + 31, + 14 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b1bf4c1b-dab5-fa0f-4e85-03ec25794fd2" + }, + { + "name": "BaseAccessory11_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 12.725, + 33, + 33 + ], + "to": [ + 13.725, + 34, + 45 + ], + "autouv": 0, + "color": 0, + "origin": [ + 31.725, + 33, + -37 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 7, + 13, + 19, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 8, + 13, + 20, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 13, + 20, + 14 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d488179d-842a-8d73-bc52-b3a28808a773" + }, + { + "name": "BaseAccessory11_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 12.725, + 33, + 2 + ], + "to": [ + 13.725, + 34, + 33 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -35, + 0 + ], + "origin": [ + 12.725, + 33, + 33 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 11, + 13, + 42, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 9, + 13, + 40, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 9, + 13, + 40, + 14 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "114bafef-cb3c-b4a0-3c9f-f19bf4538566" + }, + { + "name": "BaseAccessory11_5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 30.325, + 33, + -26.825 + ], + "to": [ + 31.325, + 34, + 8.175 + ], + "autouv": 0, + "color": 0, + "origin": [ + 12.725, + 33, + 33 + ], + "faces": { + "north": { + "uv": [ + 10, + 13, + 11, + 14 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 8, + 13, + 43, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 12, + 13, + 47, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 12, + 13, + 47, + 14 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "2a8e99b5-d8ed-dbe7-e5a8-ad579fb52071" + }, + { + "name": "BaseAccessory11_6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 29.825, + 33, + 3.175 + ], + "to": [ + 33.075, + 34.5, + 4.175 + ], + "autouv": 0, + "color": 0, + "origin": [ + 12.725, + 33, + 33 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "69c38a06-fff6-2f75-fd2c-8bb45fb66ac8" + }, + { + "name": "BaseAccessory11_7", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 29.825, + 33, + -11.825 + ], + "to": [ + 33.075, + 34.5, + -10.825 + ], + "autouv": 0, + "color": 0, + "origin": [ + 12.725, + 33, + 33 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d0873494-72bb-f666-5030-9996caf84474" + }, + { + "name": "BaseAccessory11_8", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 22.325, + 33, + 44.675 + ], + "to": [ + 23.325, + 34.5, + 46.675 + ], + "autouv": 0, + "color": 0, + "origin": [ + 12.725, + 33, + 33 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "78f84122-5276-efb2-09f8-982a07b73f36" + }, + { + "name": "BaseAccessory12_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -32.725, + 33, + -33 + ], + "to": [ + -31.725, + 34, + 45 + ], + "autouv": 0, + "color": 0, + "origin": [ + -31.725, + 33, + -37 + ], + "faces": { + "north": { + "uv": [ + 11, + 13, + 10, + 14 + ], + "texture": 0 + }, + "east": { + "uv": [ + 89, + 13, + 11, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 11, + 13, + 10, + 14 + ], + "texture": 0 + }, + "west": { + "uv": [ + 88, + 13, + 10, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 11, + 14, + 89, + 13 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d70dd275-9582-4233-caa8-35f3c8b6d19a" + }, + { + "name": "BaseAccessory12_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -32.725, + 33, + 45 + ], + "to": [ + -12.725, + 34, + 46 + ], + "autouv": 0, + "color": 0, + "origin": [ + -31.725, + 33, + -37 + ], + "faces": { + "north": { + "uv": [ + 10, + 13, + 30, + 14 + ], + "texture": 0 + }, + "east": { + "uv": [ + 11, + 13, + 10, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 30, + 13, + 10, + 14 + ], + "texture": 0 + }, + "west": { + "uv": [ + 10, + 13, + 9, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 30, + 13, + 10, + 14 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "56b4dfa4-207f-88cd-e4fa-25b20a8ee956" + }, + { + "name": "BaseAccessory12_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -13.725, + 33, + 33 + ], + "to": [ + -12.725, + 34, + 45 + ], + "autouv": 0, + "color": 0, + "origin": [ + -31.725, + 33, + -37 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 22, + 13, + 10, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 21, + 13, + 9, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 10, + 14, + 22, + 13 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "4b999199-a1a3-e84c-9ba4-710511760c8b" + }, + { + "name": "BaseAccessory12_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -13.725, + 33, + 2 + ], + "to": [ + -12.725, + 34, + 33 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 35, + 0 + ], + "origin": [ + -12.725, + 33, + 33 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 41, + 13, + 10, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 41, + 13, + 10, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 10, + 14, + 41, + 13 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "a3617259-88eb-51e9-97db-70cdf58b96b1" + }, + { + "name": "BaseAccessory12_5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -31.325, + 33, + -26.825 + ], + "to": [ + -30.325, + 34, + 8.175 + ], + "autouv": 0, + "color": 0, + "origin": [ + -12.725, + 33, + 33 + ], + "faces": { + "north": { + "uv": [ + 10, + 14, + 11, + 13 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 46, + 13, + 11, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 44, + 13, + 9, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 11, + 14, + 46, + 13 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "fc20dfce-7624-4eef-a41f-cdd8f1cf2c95" + }, + { + "name": "BaseAccessory12_6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -33.075, + 33, + 3.175 + ], + "to": [ + -29.825, + 34.5, + 4.175 + ], + "autouv": 0, + "color": 0, + "origin": [ + -12.725, + 33, + 33 + ], + "faces": { + "north": { + "uv": [ + 7, + 1, + 6, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 7, + 1, + 6, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 7, + 1, + 6, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 7, + 1, + 6, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 7, + 1, + 6, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "0d93cc65-46f8-cca4-e7ca-a2298d8897ea" + }, + { + "name": "BaseAccessory12_7", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -33.075, + 33, + -11.825 + ], + "to": [ + -29.825, + 34.5, + -10.825 + ], + "autouv": 0, + "color": 0, + "origin": [ + -12.725, + 33, + 33 + ], + "faces": { + "north": { + "uv": [ + 7, + 1, + 6, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 7, + 1, + 6, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 7, + 1, + 6, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 7, + 1, + 6, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 7, + 1, + 6, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "0e4c16f8-736e-98ec-8291-81c704c47f2a" + }, + { + "name": "BaseAccessory12_8", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -23.325, + 33, + 44.675 + ], + "to": [ + -22.325, + 34.5, + 46.675 + ], + "autouv": 0, + "color": 0, + "origin": [ + -12.725, + 33, + 33 + ], + "faces": { + "north": { + "uv": [ + 7, + 1, + 6, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 7, + 1, + 6, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 7, + 1, + 6, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 7, + 1, + 6, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 7, + 1, + 6, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "102eb584-1c30-aeb9-7905-af04230d9db1" + }, + { + "name": "TurretBase1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -22, + 33, + -24 + ], + "to": [ + 22, + 35, + -9 + ], + "autouv": 0, + "color": 0, + "origin": [ + -28.25, + -10, + -16 + ], + "faces": { + "north": { + "uv": [ + 13, + 4, + 14, + 5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 13, + 4, + 14, + 5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 13, + 4, + 14, + 5 + ], + "texture": 0 + }, + "up": { + "uv": [ + 13, + 4, + 14, + 5 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "69bb7324-70dc-8b7d-4919-db70eb24182f" + }, + { + "name": "TurretBase3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -18, + 33, + 15 + ], + "to": [ + 18, + 35, + 23 + ], + "autouv": 0, + "color": 0, + "origin": [ + -28.25, + -10, + -16 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 13, + 4, + 14, + 5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 13, + 4, + 14, + 5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 13, + 4, + 14, + 5 + ], + "texture": 0 + }, + "up": { + "uv": [ + 13, + 4, + 14, + 5 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8ca3c9fc-dbb5-55d2-f152-6f555661419b" + }, + { + "name": "TurretBase4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -12, + 33, + 23 + ], + "to": [ + 12, + 35, + 31 + ], + "autouv": 0, + "color": 0, + "origin": [ + -28.25, + -10, + -16 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 13, + 4, + 14, + 5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 13, + 4, + 14, + 5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 13, + 4, + 14, + 5 + ], + "texture": 0 + }, + "up": { + "uv": [ + 13, + 4, + 14, + 5 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e4e0d7f8-1781-33bf-5fce-2c2684076cc9" + }, + { + "name": "BaseAccessory13", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 33, + 35 + ], + "to": [ + 8, + 35, + 43 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 35, + 0, + 43, + 8 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "7b30cd28-6bb5-1cc3-4335-a50cb7c15285" + }, + { + "name": "BaseAccessory14", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 33, + 46 + ], + "to": [ + -1, + 35, + 52 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 36, + 1, + 42, + 7 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "87d2e633-101f-8b10-e89a-e9960263387e" + }, + { + "name": "BaseAccessory15_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 32, + 17, + 56 + ], + "to": [ + 38, + 18, + 68 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 17, + 56 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "ace08096-410c-8b35-6a82-1ee3dafc7396" + }, + { + "name": "BaseAccessory15_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 25, + 17, + 56 + ], + "to": [ + 31, + 18, + 68 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 17, + 56 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "10b7205a-5237-7a94-c5ca-dbc0895c551c" + }, + { + "name": "BaseAccessory15_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -31, + 17, + 56 + ], + "to": [ + -25, + 18, + 68 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 17, + 56 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e9207a6a-4b2f-da4d-f838-fa75fc99f6bb" + }, + { + "name": "BaseAccessory15_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -38, + 17, + 56 + ], + "to": [ + -32, + 18, + 68 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 17, + 56 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "6a6e9f03-fda7-b4a7-488d-028c4a23ca47" + }, + { + "name": "BaseAccessory16_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3, + 12, + 56 + ], + "to": [ + 11, + 34, + 64 + ], + "autouv": 0, + "color": 0, + "origin": [ + 11, + 11, + 56 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 43, + 0, + 51, + 8 + ], + "texture": 0 + }, + "down": { + "uv": [ + 43, + 0, + 51, + 8 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "83d89d0c-1477-d0ea-22fd-2788019d943a" + }, + { + "name": "BaseAccessory16_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11, + 11, + 56 + ], + "to": [ + 12, + 35, + 64 + ], + "autouv": 0, + "color": 0, + "origin": [ + 11, + 11, + 56 + ], + "faces": { + "north": { + "uv": [ + 22, + 12, + 46, + 13 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 22, + 12, + 46, + 13 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 22, + 12, + 46, + 13 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 22, + 12, + 46, + 13 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b68aa16f-985d-0ce5-e8e2-9401fba0c5df" + }, + { + "name": "BaseAccessory16_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3, + 11, + 64 + ], + "to": [ + 11, + 35, + 65 + ], + "autouv": 0, + "color": 0, + "origin": [ + 11, + 11, + 56 + ], + "faces": { + "north": { + "uv": [ + 22, + 12, + 46, + 13 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 22, + 12, + 46, + 13 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 22, + 12, + 46, + 13 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 22, + 12, + 46, + 13 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "4f2a77a9-c70c-cad9-18c6-3c139b8cf0aa" + }, + { + "name": "BaseAccessory16_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2, + 11, + 56 + ], + "to": [ + 3, + 35, + 64 + ], + "autouv": 0, + "color": 0, + "origin": [ + 11, + 11, + 56 + ], + "faces": { + "north": { + "uv": [ + 22, + 12, + 46, + 13 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 22, + 12, + 46, + 13 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 22, + 12, + 46, + 13 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 22, + 12, + 46, + 13 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "fcd39abe-7987-20da-058f-9b3c9f773eec" + }, + { + "name": "BaseAccessory17_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -11, + 12, + 56 + ], + "to": [ + -3, + 34, + 64 + ], + "autouv": 0, + "color": 0, + "origin": [ + -11, + 11, + 56 + ], + "faces": { + "north": { + "uv": [ + 7, + 1, + 6, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 51, + 0, + 43, + 8 + ], + "texture": 0 + }, + "down": { + "uv": [ + 51, + 0, + 43, + 8 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "4d661541-0bde-fca5-dbe5-fce46967ba2c" + }, + { + "name": "BaseAccessory17_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -12, + 11, + 56 + ], + "to": [ + -11, + 35, + 64 + ], + "autouv": 0, + "color": 0, + "origin": [ + -11, + 11, + 56 + ], + "faces": { + "north": { + "uv": [ + 22, + 13, + 46, + 12 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 22, + 13, + 46, + 12 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 22, + 13, + 46, + 12 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 22, + 13, + 46, + 12 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 7, + 1, + 6, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 7, + 1, + 6, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "1f9373b4-b54c-4639-81d2-206fd565b6e3" + }, + { + "name": "BaseAccessory17_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -11, + 11, + 64 + ], + "to": [ + -3, + 35, + 65 + ], + "autouv": 0, + "color": 0, + "origin": [ + -11, + 11, + 56 + ], + "faces": { + "north": { + "uv": [ + 22, + 13, + 46, + 12 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 22, + 13, + 46, + 12 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 22, + 13, + 46, + 12 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 22, + 13, + 46, + 12 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 7, + 1, + 6, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 7, + 1, + 6, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "54d20e43-8e79-f010-c49d-f9b3b8af1b5d" + }, + { + "name": "BaseAccessory17_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 11, + 56 + ], + "to": [ + -2, + 35, + 64 + ], + "autouv": 0, + "color": 0, + "origin": [ + -11, + 11, + 56 + ], + "faces": { + "north": { + "uv": [ + 22, + 13, + 46, + 12 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 22, + 13, + 46, + 12 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 22, + 13, + 46, + 12 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 22, + 13, + 46, + 12 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 7, + 1, + 6, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 7, + 1, + 6, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2e16c66f-06f0-f483-06f3-d60d3cbe29d6" + }, + { + "name": "BaseAccessory18_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 32, + 27, + 56 + ], + "to": [ + 33, + 30, + 59 + ], + "autouv": 0, + "color": 0, + "origin": [ + -25, + 27, + 56 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f94db6a0-41e2-7f39-4d31-59681d5e2ada" + }, + { + "name": "BaseAccessory18_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 24, + 28, + 57 + ], + "to": [ + 32, + 29, + 58 + ], + "autouv": 0, + "color": 0, + "origin": [ + -25, + 27, + 56 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e450c60c-8c2d-2c11-3ac7-dcea6a9792e5" + }, + { + "name": "BaseAccessory18_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 23, + 27, + 56 + ], + "to": [ + 24, + 30, + 59 + ], + "autouv": 0, + "color": 0, + "origin": [ + -25, + 27, + 56 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "7877a83a-6266-496f-124c-f17124aa4186" + }, + { + "name": "BaseAccessory18_6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -33, + 27, + 56 + ], + "to": [ + -32, + 30, + 59 + ], + "autouv": 0, + "color": 0, + "origin": [ + -25, + 27, + 56 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b08cd3bf-6dac-56db-38e2-bdb8b4bb8822" + }, + { + "name": "BaseAccessory18_5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -32, + 28, + 57 + ], + "to": [ + -24, + 29, + 58 + ], + "autouv": 0, + "color": 0, + "origin": [ + -25, + 27, + 56 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a84227fe-82cf-02bb-2003-3dfb705d3a69" + }, + { + "name": "BaseAccessory18_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -24, + 27, + 56 + ], + "to": [ + -23, + 30, + 59 + ], + "autouv": 0, + "color": 0, + "origin": [ + -25, + 27, + 56 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "3ff453c9-74e3-c9e4-8e98-0b5c913430cd" + }, + { + "name": "Turret1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -25, + 35, + -9 + ], + "to": [ + 25, + 55, + 15 + ], + "autouv": 0, + "color": 0, + "origin": [ + -29, + -10, + -22 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 149, + 50, + 173 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "fcfd1aa0-c724-3df2-21b0-8200bf019b91" + }, + { + "name": "Turret2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -18, + 35, + 15 + ], + "to": [ + 18, + 55, + 23 + ], + "autouv": 0, + "color": 0, + "origin": [ + -29, + -10, + -22 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "aad4923d-5ed3-e512-7fbd-4873f12b403b" + }, + { + "name": "Turret3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -12, + 35, + 23 + ], + "to": [ + 12, + 53, + 31 + ], + "autouv": 0, + "color": 0, + "origin": [ + -29, + -10, + -22 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 51, + 0, + 75, + 8 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b92a02bd-e3ac-e9c7-0526-f0f3aa5974b4" + }, + { + "name": "Turret4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -22, + 35, + -24 + ], + "to": [ + 22, + 51, + -9 + ], + "autouv": 0, + "color": 0, + "origin": [ + -29, + -10, + -22 + ], + "faces": { + "north": { + "uv": [ + 73, + 134, + 89, + 178 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 50, + 149, + 65, + 165 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 65, + 149, + 50, + 165 + ], + "texture": 0 + }, + "up": { + "uv": [ + 73, + 90, + 88, + 134 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "259d35fd-55eb-5704-12a3-abd7d2eb9793" + }, + { + "name": "TurretAccessory1_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 25, + 35, + 8 + ], + "to": [ + 26, + 37, + 11 + ], + "autouv": 0, + "color": 0, + "origin": [ + 25, + 35, + 8 + ], + "faces": { + "north": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5020bcde-065f-e340-c50d-254dca050c63" + }, + { + "name": "TurretAccessory1_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 25, + 37, + 6.5 + ], + "to": [ + 26, + 39, + 9.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 25, + 35, + 8 + ], + "faces": { + "north": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "4727f00b-16d9-c613-aa5b-843a6f17eeb3" + }, + { + "name": "TurretAccessory1_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 25, + 41, + 6.5 + ], + "to": [ + 26, + 43, + 9.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 25, + 35, + 8 + ], + "faces": { + "north": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "ee8c3c34-6f94-a926-d517-060c1e1ce8ff" + }, + { + "name": "TurretAccessory1_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 25, + 39, + 8 + ], + "to": [ + 26, + 41, + 11 + ], + "autouv": 0, + "color": 0, + "origin": [ + 25, + 35, + 8 + ], + "faces": { + "north": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "0c298511-3d3e-fd99-b110-47d02eb4fdb2" + }, + { + "name": "TurretAccessory1_8", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 25, + 47, + 8 + ], + "to": [ + 26, + 49, + 11 + ], + "autouv": 0, + "color": 0, + "origin": [ + 25, + 35, + 8 + ], + "faces": { + "north": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d1d6b461-c862-2ced-a227-3f110b632b98" + }, + { + "name": "TurretAccessory1_7", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 25, + 45, + 6.5 + ], + "to": [ + 26, + 47, + 9.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 25, + 35, + 8 + ], + "faces": { + "north": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "9771eea7-60d2-44a2-2f3a-876c2d56e685" + }, + { + "name": "TurretAccessory1_6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 25, + 43, + 8 + ], + "to": [ + 26, + 45, + 11 + ], + "autouv": 0, + "color": 0, + "origin": [ + 25, + 35, + 8 + ], + "faces": { + "north": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c0695e33-9545-d654-4ec5-48b25106fada" + }, + { + "name": "TurretAccessory1_5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 25, + 49, + 6.5 + ], + "to": [ + 26, + 51, + 9.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 25, + 35, + 8 + ], + "faces": { + "north": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c06cd3c1-c6a4-d59e-e6cc-74bbd6165e99" + }, + { + "name": "TurretAccessory1_10", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 25, + 53, + 6.5 + ], + "to": [ + 26, + 55, + 9.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 25, + 35, + 8 + ], + "faces": { + "north": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "765b5e7c-c6b2-9f48-0278-22499fd57177" + }, + { + "name": "TurretAccessory1_9", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 25, + 51, + 8 + ], + "to": [ + 26, + 53, + 11 + ], + "autouv": 0, + "color": 0, + "origin": [ + 25, + 35, + 8 + ], + "faces": { + "north": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "48f5115e-a157-c3e0-09a4-b0ddbe8262a1" + }, + { + "name": "TurretAccessory1_20", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 25, + 51, + 3 + ], + "to": [ + 26, + 53, + 6 + ], + "autouv": 0, + "color": 0, + "origin": [ + 25, + 35, + 8 + ], + "faces": { + "north": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c70b706c-0fcd-4b04-370e-3a3fa06d2536" + }, + { + "name": "TurretAccessory1_19", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 25, + 47, + 3 + ], + "to": [ + 26, + 49, + 6 + ], + "autouv": 0, + "color": 0, + "origin": [ + 25, + 35, + 8 + ], + "faces": { + "north": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e97f9413-da53-5f51-19b2-19be3289e100" + }, + { + "name": "TurretAccessory1_18", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 25, + 45, + 1.5 + ], + "to": [ + 26, + 47, + 4.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 25, + 35, + 8 + ], + "faces": { + "north": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "06599a7b-dc3b-2591-e987-fad9771ebefb" + }, + { + "name": "TurretAccessory1_17", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 25, + 43, + 3 + ], + "to": [ + 26, + 45, + 6 + ], + "autouv": 0, + "color": 0, + "origin": [ + 25, + 35, + 8 + ], + "faces": { + "north": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "7a6d3f5a-0177-282c-42e5-689c723ad17e" + }, + { + "name": "TurretAccessory1_16", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 25, + 49, + 1.5 + ], + "to": [ + 26, + 51, + 4.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 25, + 35, + 8 + ], + "faces": { + "north": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b92f4263-0632-1aa3-8035-3776983b43be" + }, + { + "name": "TurretAccessory1_15", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 25, + 41, + 1.5 + ], + "to": [ + 26, + 43, + 4.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 25, + 35, + 8 + ], + "faces": { + "north": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "3e637b61-47e6-300f-9eaa-f4d1313c60c3" + }, + { + "name": "TurretAccessory1_14", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 25, + 39, + 3 + ], + "to": [ + 26, + 41, + 6 + ], + "autouv": 0, + "color": 0, + "origin": [ + 25, + 35, + 8 + ], + "faces": { + "north": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "ee87d340-e6c2-6b1d-b1c3-c40ff04ea00c" + }, + { + "name": "TurretAccessory1_13", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 25, + 37, + 1.5 + ], + "to": [ + 26, + 39, + 4.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 25, + 35, + 8 + ], + "faces": { + "north": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "08b68698-d2d7-bfec-7c72-5ae494263106" + }, + { + "name": "TurretAccessory1_12", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 25, + 35, + 3 + ], + "to": [ + 26, + 37, + 6 + ], + "autouv": 0, + "color": 0, + "origin": [ + 25, + 35, + 8 + ], + "faces": { + "north": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f23ee610-731d-e79d-8783-5cbf40d2acdd" + }, + { + "name": "TurretAccessory1_11", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 25, + 53, + 1.5 + ], + "to": [ + 26, + 55, + 4.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 25, + 35, + 8 + ], + "faces": { + "north": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f62e80ec-cc86-2b9e-1ef4-db0872e798f7" + }, + { + "name": "TurretAccessory1_21", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 26, + 39, + 9 + ], + "to": [ + 27, + 40, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 25, + 35, + 8 + ], + "faces": { + "north": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "6b5ac5e7-238b-a791-6891-0c98383e1c45" + }, + { + "name": "TurretAccessory1_22", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 26, + 43, + 9 + ], + "to": [ + 27, + 44, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 25, + 35, + 8 + ], + "faces": { + "north": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a4bfcf19-da45-7c2d-a120-200c12038a58" + }, + { + "name": "TurretAccessory1_23", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 26, + 47, + 9 + ], + "to": [ + 27, + 48, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 25, + 35, + 8 + ], + "faces": { + "north": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d4abdcd5-0fd1-01ee-8b3f-5cec02b223e6" + }, + { + "name": "TurretAccessory1_24", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 26, + 51, + 9 + ], + "to": [ + 27, + 52, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 25, + 35, + 8 + ], + "faces": { + "north": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "15694c71-873a-01c7-5c5e-0332653e170e" + }, + { + "name": "TurretAccessory1_25", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 26, + 35, + 9 + ], + "to": [ + 27, + 36, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 25, + 35, + 8 + ], + "faces": { + "north": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "edb6623c-e172-7cb7-58f4-a945c5497582" + }, + { + "name": "TurretAccessory1_26", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 26, + 35, + 4 + ], + "to": [ + 27, + 36, + 5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 25, + 35, + 8 + ], + "faces": { + "north": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "3d92d410-d40f-4be5-f601-00c8d1fee356" + }, + { + "name": "TurretAccessory1_27", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 26, + 39, + 4 + ], + "to": [ + 27, + 40, + 5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 25, + 35, + 8 + ], + "faces": { + "north": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "7a34937d-a092-1dfd-2ef4-8e8a0e3bdcaf" + }, + { + "name": "TurretAccessory1_28", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 26, + 43, + 4 + ], + "to": [ + 27, + 44, + 5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 25, + 35, + 8 + ], + "faces": { + "north": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "89ab641e-3dba-964b-6d17-9f6e8e7c8bc2" + }, + { + "name": "TurretAccessory1_29", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 26, + 47, + 4 + ], + "to": [ + 27, + 48, + 5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 25, + 35, + 8 + ], + "faces": { + "north": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "26fc06b9-dfc1-ac76-f29c-0bfa2240fdbf" + }, + { + "name": "TurretAccessory1_30", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 26, + 51, + 4 + ], + "to": [ + 27, + 52, + 5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 25, + 35, + 8 + ], + "faces": { + "north": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "307b9303-b5c0-4175-428f-ae3db1c60118" + }, + { + "name": "TurretAccessory2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 25, + 39, + -7 + ], + "to": [ + 27, + 45, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + -29, + -10, + -22 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "20293855-9e90-2f2a-502b-538286626df9" + }, + { + "name": "TurretAccessory3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -27, + 39, + -7 + ], + "to": [ + -25, + 45, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 29, + -10, + -22 + ], + "faces": { + "north": { + "uv": [ + 7, + 1, + 6, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 7, + 1, + 6, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 7, + 1, + 6, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 7, + 1, + 6, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 7, + 1, + 6, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a1fc80f5-8a97-65d3-028a-445b76fa7db5" + }, + { + "name": "TurretAccessory4_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 22, + 39.5, + -21 + ], + "to": [ + 24, + 44.5, + -16 + ], + "autouv": 0, + "color": 0, + "origin": [ + 22, + 39.5, + -21 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8cf4dd29-a717-cd43-cad1-124eaa297352" + }, + { + "name": "TurretAccessory4_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 24, + 41.5, + -19 + ], + "to": [ + 25.5, + 42.5, + -18 + ], + "autouv": 0, + "color": 0, + "origin": [ + 22, + 39.5, + -21 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "37f5809c-3bc0-0aa0-5c0e-626bf9817e6b" + }, + { + "name": "TurretAccessory4_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 25.5, + 40.5, + -20 + ], + "to": [ + 26.5, + 43.5, + -17 + ], + "autouv": 0, + "color": 0, + "origin": [ + 22, + 39.5, + -21 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "818e7f65-e22e-08c2-78bf-3a36e0cfdeb3" + }, + { + "name": "TurretAccessory5_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -24, + 39.5, + -21 + ], + "to": [ + -22, + 44.5, + -16 + ], + "autouv": 0, + "color": 0, + "origin": [ + -22, + 39.5, + -21 + ], + "faces": { + "north": { + "uv": [ + 7, + 1, + 6, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 7, + 1, + 6, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 7, + 1, + 6, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 7, + 1, + 6, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 7, + 1, + 6, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "704fa7fa-3976-3ef3-01a8-e7e2d9a021a9" + }, + { + "name": "TurretAccessory5_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -25.5, + 41.5, + -19 + ], + "to": [ + -24, + 42.5, + -18 + ], + "autouv": 0, + "color": 0, + "origin": [ + -22, + 39.5, + -21 + ], + "faces": { + "north": { + "uv": [ + 7, + 1, + 6, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 7, + 1, + 6, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 7, + 1, + 6, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 7, + 1, + 6, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5f73fe38-e8f3-0446-9330-a27742a71504" + }, + { + "name": "TurretAccessory5_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -26.5, + 40.5, + -20 + ], + "to": [ + -25.5, + 43.5, + -17 + ], + "autouv": 0, + "color": 0, + "origin": [ + -22, + 39.5, + -21 + ], + "faces": { + "north": { + "uv": [ + 7, + 1, + 6, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 7, + 1, + 6, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 7, + 1, + 6, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 7, + 1, + 6, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 7, + 1, + 6, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 7, + 1, + 6, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e0644c3b-54d2-5abd-baf5-405f17aa757b" + }, + { + "name": "TurretAccessory6_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 18, + 39, + 16 + ], + "to": [ + 19, + 45, + 22 + ], + "autouv": 0, + "color": 0, + "origin": [ + 18, + 42, + 15 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a3b36e01-dd9a-3e5e-3d55-a4769288f27b" + }, + { + "name": "TurretAccessory6_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 18.5, + 38, + 18.5 + ], + "to": [ + 19.5, + 40, + 19.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 18, + 42, + 15 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c67017f8-816c-231a-6caa-270d1ad442c5" + }, + { + "name": "TurretAccessory7_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -19, + 39, + 16 + ], + "to": [ + -18, + 45, + 22 + ], + "autouv": 0, + "color": 0, + "origin": [ + -18, + 42, + 15 + ], + "faces": { + "north": { + "uv": [ + 7, + 1, + 6, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 7, + 1, + 6, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 7, + 1, + 6, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 7, + 1, + 6, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 7, + 1, + 6, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "33d431f9-ec50-b52b-abcc-69ff0b1a92e2" + }, + { + "name": "TurretAccessory7_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -19.5, + 38, + 18.5 + ], + "to": [ + -18.5, + 40, + 19.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -18, + 42, + 15 + ], + "faces": { + "north": { + "uv": [ + 7, + 1, + 6, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 7, + 1, + 6, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 7, + 1, + 6, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 7, + 1, + 6, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 7, + 1, + 6, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "78116950-382c-4ce2-139c-2b2e269d46f7" + }, + { + "name": "Hatch1_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -22, + 55, + -5 + ], + "to": [ + -4, + 57, + -4 + ], + "autouv": 0, + "color": 0, + "origin": [ + -22, + -28, + -33 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d43ca323-3887-c6f9-5e47-944435bf8247" + }, + { + "name": "Hatch1_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -22, + 55, + -4 + ], + "to": [ + -21, + 57, + 12 + ], + "autouv": 0, + "color": 0, + "origin": [ + -22, + -28, + -33 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d62550bc-4a22-c704-5afd-46b374d3d34e" + }, + { + "name": "Hatch1_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5, + 55, + -4 + ], + "to": [ + -4, + 57, + 12 + ], + "autouv": 0, + "color": 0, + "origin": [ + -22, + -28, + -33 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "977b74fa-af39-7b49-f6b1-8f4412830637" + }, + { + "name": "Hatch1_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -22, + 55, + 12 + ], + "to": [ + -4, + 57, + 13 + ], + "autouv": 0, + "color": 0, + "origin": [ + -22, + -28, + -33 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5232aa7b-58bd-24ed-d634-ad0982a8a530" + }, + { + "name": "Hatch1Cover1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -22, + 57, + -5 + ], + "to": [ + -4, + 58, + 13 + ], + "autouv": 0, + "color": 0, + "origin": [ + -22, + 57, + -5 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 73, + 56, + 91, + 74 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "70c1538b-20b2-8385-ce5a-ad459263d1e6" + }, + { + "name": "Hatch2_Cover1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 6, + 55, + -7 + ], + "to": [ + 22, + 56, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 6, + 55, + -7 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 73, + 74, + 89, + 90 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "9ba12aa8-d0fd-0b14-4a42-034b16526cbf" + }, + { + "name": "Hatch2_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 9, + 55, + -7.5 + ], + "to": [ + 10, + 56.5, + -6 + ], + "autouv": 0, + "color": 0, + "origin": [ + 6, + 55, + -7 + ], + "faces": { + "north": { + "uv": [ + 80, + 61, + 81, + 62 + ], + "texture": 0 + }, + "east": { + "uv": [ + 80, + 61, + 81, + 62 + ], + "texture": 0 + }, + "south": { + "uv": [ + 80, + 61, + 81, + 62 + ], + "texture": 0 + }, + "west": { + "uv": [ + 80, + 61, + 81, + 62 + ], + "texture": 0 + }, + "up": { + "uv": [ + 80, + 61, + 81, + 62 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d2dcd8ad-80a4-50f5-7103-fdb10462dc26" + }, + { + "name": "Hatch2_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 18, + 55, + -7.5 + ], + "to": [ + 19, + 56.5, + -6 + ], + "autouv": 0, + "color": 0, + "origin": [ + 6, + 55, + -7 + ], + "faces": { + "north": { + "uv": [ + 80, + 61, + 81, + 62 + ], + "texture": 0 + }, + "east": { + "uv": [ + 80, + 61, + 81, + 62 + ], + "texture": 0 + }, + "south": { + "uv": [ + 80, + 61, + 81, + 62 + ], + "texture": 0 + }, + "west": { + "uv": [ + 80, + 61, + 81, + 62 + ], + "texture": 0 + }, + "up": { + "uv": [ + 80, + 61, + 81, + 62 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "851051cf-8ef9-a2da-cc92-712421443d9b" + }, + { + "name": "TurretAccessory8", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 9, + 55, + 14.08333 + ], + "to": [ + 15, + 56, + 20.08333 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 35, + 4.08333 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 75, + 0, + 81, + 6 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "56232815-1d17-cb67-ac51-74e232d50a2e" + }, + { + "name": "Turret5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -10, + 36, + -26 + ], + "to": [ + 10, + 50, + -24 + ], + "autouv": 0, + "color": 0, + "origin": [ + -29, + -10, + -22 + ], + "faces": { + "north": { + "uv": [ + 81, + 14, + 95, + 34 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f84b2dd9-b22a-7022-df99-02c8081b7c17" + }, + { + "name": "Cannon1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.5, + 38.5, + -26.91667 + ], + "to": [ + 4.5, + 47.5, + -22.91667 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3, + 40, + -26.91667 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "44b4acd0-c812-5019-e768-f0160525369e" + }, + { + "name": "Cannon2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 39, + -50.91667 + ], + "to": [ + 4, + 47, + -26.91667 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3, + 40, + -26.91667 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "209defde-f730-a67a-c535-f20dee03e30a" + }, + { + "name": "Cannon3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.5, + 39.5, + -74.91667 + ], + "to": [ + 3.5, + 46.5, + -50.91667 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3, + 40, + -26.91667 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "ecaadded-28f8-b9a6-dc2e-a8f1ce55576c" + }, + { + "name": "Cannon4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 40, + -98.91667 + ], + "to": [ + 3, + 46, + -74.91667 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 40, + -86.91667 + ], + "faces": { + "north": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 1, + 7, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "feb91b66-7fe2-c113-4225-13881f4d3c3c" + }, + { + "name": "Cannon5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.5, + 39.25, + -103.91667 + ], + "to": [ + 3.5, + 46.25, + -98.91667 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3, + 40, + -26.91667 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "east": { + "uv": [ + 22, + 9, + 27, + 10 + ], + "texture": 0 + }, + "south": { + "uv": [ + 22, + 9, + 23, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 22, + 9, + 27, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 22, + 9, + 27, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 22, + 9, + 27, + 10 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "75528d9b-77e9-d65f-b2f5-e85efa95f0c8" + }, + { + "name": "Cannon6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.5, + 38.25, + -104.91667 + ], + "to": [ + 4.5, + 47.25, + -103.91667 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3, + 40, + -26.91667 + ], + "faces": { + "north": { + "uv": [ + 81, + 0, + 90, + 9 + ], + "texture": 0 + }, + "east": { + "uv": [ + 22, + 9, + 23, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 22, + 9, + 23, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 22, + 9, + 23, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 22, + 9, + 23, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 22, + 9, + 23, + 10 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "c9aec315-2393-93ea-2ce9-66b2aad4b084" + }, + { + "name": "Cannon7", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.5, + 39.25, + -106.91667 + ], + "to": [ + 3.5, + 40.25, + -104.91667 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3, + 40, + -26.91667 + ], + "faces": { + "north": { + "uv": [ + 22, + 9, + 23, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 22, + 9, + 23, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "west": { + "uv": [ + 22, + 9, + 23, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 22, + 9, + 23, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 22, + 9, + 23, + 10 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "a33cbc01-915b-29d9-f43e-2ec82c703d83" + }, + { + "name": "Cannon8", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.5, + 45.25, + -106.91667 + ], + "to": [ + 3.5, + 46.25, + -104.91667 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3, + 40, + -26.91667 + ], + "faces": { + "north": { + "uv": [ + 22, + 9, + 23, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 22, + 9, + 23, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "west": { + "uv": [ + 22, + 9, + 23, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 22, + 9, + 23, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 22, + 9, + 23, + 10 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "a70055a6-8d5b-99a6-807a-f511ae93459e" + }, + { + "name": "Cannon9", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.5, + 40.25, + -106.91667 + ], + "to": [ + -2.5, + 45.25, + -105.91667 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3, + 40, + -26.91667 + ], + "faces": { + "north": { + "uv": [ + 22, + 9, + 23, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 22, + 9, + 23, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "west": { + "uv": [ + 22, + 9, + 23, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 22, + 9, + 23, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 22, + 9, + 23, + 10 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "f2baf53e-3c48-3150-1491-7b3532f1131c" + }, + { + "name": "Cannon10", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2.5, + 40.25, + -106.91667 + ], + "to": [ + 3.5, + 45.25, + -105.91667 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3, + 40, + -26.91667 + ], + "faces": { + "north": { + "uv": [ + 22, + 9, + 23, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 22, + 9, + 23, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "west": { + "uv": [ + 22, + 9, + 23, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 22, + 9, + 23, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 22, + 9, + 23, + 10 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "fd5d0036-bdb3-7c21-fae9-742a684802c7" + }, + { + "name": "PSLogo1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 27, + 22, + -37.01 + ], + "to": [ + 33, + 28, + -37.01 + ], + "autouv": 0, + "color": 0, + "origin": [ + 30, + 22, + -37.01 + ], + "faces": { + "north": { + "uv": [ + 50, + 165, + 69, + 184 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "c4d51419-9214-23c6-55bb-6ee1a1871598" + }, + { + "name": "PSLogo2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 19.01, + 39, + -12.51 + ], + "to": [ + 25.01, + 45, + -12.51 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -90, + 0 + ], + "origin": [ + 22.01, + 39, + -12.51 + ], + "faces": { + "north": { + "uv": [ + 50, + 165, + 69, + 184 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "3a923bdf-3b36-d32f-db5d-01d1ddf72a65" + }, + { + "name": "PSLogo3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -25.01, + 39, + -12.51 + ], + "to": [ + -19.01, + 45, + -12.51 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 90, + 0 + ], + "origin": [ + -22.01, + 39, + -12.51 + ], + "faces": { + "north": { + "uv": [ + 50, + 165, + 69, + 184 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "195165ae-a95d-583c-3f8d-b09d3d3cde16" + }, + { + "name": "Sign1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 26, + -95 + ], + "to": [ + 1, + 36, + -81 + ], + "autouv": 0, + "color": 0, + "origin": [ + -1, + 26, + -95 + ], + "faces": { + "north": { + "uv": [ + 0, + 14, + 2, + 24 + ], + "texture": 3 + }, + "east": { + "uv": [ + 2, + 14, + 16, + 24 + ], + "texture": 3 + }, + "south": { + "uv": [ + 16, + 14, + 18, + 24 + ], + "texture": 3 + }, + "west": { + "uv": [ + 18, + 14, + 32, + 24 + ], + "texture": 3 + }, + "up": { + "uv": [ + 2, + 12, + 16, + 14 + ], + "rotation": 90, + "texture": 3 + }, + "down": { + "uv": [ + 16, + 12, + 30, + 14 + ], + "rotation": 90, + "texture": 3 + } + }, + "type": "cube", + "uuid": "c1adac0d-74d6-57fe-1670-8273b0ba696f" + }, + { + "name": "Chain1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 36, + -84.5 + ], + "to": [ + 0, + 42, + -81.5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 0, + 45, + 0 + ], + "origin": [ + 0, + 36, + -83 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 6, + 3, + 12 + ], + "texture": 3 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 3, + 6, + 0, + 12 + ], + "texture": 3 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "0885a1ec-0e35-e97b-926c-8512c0daf1db" + }, + { + "name": "Chain2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 36, + -84.5 + ], + "to": [ + 0, + 42, + -81.5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 0, + -45, + 0 + ], + "origin": [ + 0, + 36, + -83 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 6, + 6, + 9, + 12 + ], + "texture": 3 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 9, + 6, + 6, + 12 + ], + "texture": 3 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "3566a0b3-7c70-50ba-2bcc-1494b8ea6a9e" + }, + { + "name": "Chain4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 36, + -94.5 + ], + "to": [ + 0, + 42, + -91.5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 0, + -45, + 0 + ], + "origin": [ + 0, + 36, + -93 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 6, + 6, + 9, + 12 + ], + "texture": 3 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 9, + 6, + 6, + 12 + ], + "texture": 3 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d04f5d13-fc1f-5e30-b45f-6d19ba18eab1" + }, + { + "name": "Chain3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 36, + -94.5 + ], + "to": [ + 0, + 42, + -91.5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 0, + 45, + 0 + ], + "origin": [ + 0, + 36, + -93 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 6, + 3, + 12 + ], + "texture": 3 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 3, + 6, + 0, + 12 + ], + "texture": 3 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "23918a9d-7435-75fb-5747-3f860ea0b7ce" + }, + { + "name": "Book1_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -6, + 10, + -6 + ], + "to": [ + -6, + 16, + -2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + -6, + 10, + -2 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 181, + 12, + 173 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 173, + 12, + 181 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8c27c24e-8497-6130-e3f7-a91234230b63" + }, + { + "name": "Book1_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -6.5, + 10, + -2 + ], + "to": [ + -6, + 16, + -2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + -6, + 10, + -2 + ], + "faces": { + "north": { + "uv": [ + 12, + 183, + 24, + 181 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 12, + 181, + 24, + 183 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "19c558aa-3ae3-7fca-646b-cde0e787813b" + }, + { + "name": "Book1_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -6.5, + 10.5, + -5.5 + ], + "to": [ + -6, + 15.5, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -6, + 10, + -2 + ], + "faces": { + "north": { + "uv": [ + 0, + 183, + 8, + 184 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 12, + 173, + 22, + 180 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 184, + 0, + 183 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 184, + 0, + 183 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f9abc5aa-e7be-8cd4-5374-ff8ed89ce34b" + }, + { + "name": "Book2_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 10, + -6 + ], + "to": [ + -7, + 16, + -2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + -7, + 10, + -2 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 22, + 173, + 34, + 181 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 22, + 181, + 34, + 173 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ada45803-5bbb-d0ca-317e-5f41d71b9d95" + }, + { + "name": "Book2_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 10, + -2 + ], + "to": [ + -6.5, + 16, + -2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + -7, + 10, + -2 + ], + "faces": { + "north": { + "uv": [ + 0, + 181, + 12, + 183 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 183, + 12, + 181 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "c1bd6efa-23da-d5cb-4fca-b97b1c95d530" + }, + { + "name": "Book2_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 10.5, + -5.5 + ], + "to": [ + -6.5, + 15.5, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -7, + 10, + -2 + ], + "faces": { + "north": { + "uv": [ + 0, + 183, + 8, + 184 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 180, + 22, + 173 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 8, + 184, + 0, + 183 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 184, + 0, + 183 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8e205c1d-a9f6-4716-a8fe-8a45a7745ec2" + }, + { + "name": "ShineEffect2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 45.5, + -26.9 + ], + "to": [ + 14, + 46.5, + -26.9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 3.5, + 46, + -26.9 + ], + "faces": { + "north": { + "uv": [ + 8, + 183, + 29, + 184 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b8309f68-1b4b-a1ba-7875-966ad4c06f41" + }, + { + "name": "ShineEffect3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3, + 35.5, + -26.9 + ], + "to": [ + 4, + 56.5, + -26.9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 3.5, + 46, + -26.9 + ], + "faces": { + "north": { + "uv": [ + 8, + 183, + 29, + 184 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "450f4973-11d6-a130-e14c-dd2184ba0b23" + }, + { + "name": "NoticeEffect1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 6.5, + 29, + -3 + ], + "to": [ + 8.5, + 30, + -3 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + 10 + ], + "origin": [ + 6, + 29.5, + -3 + ], + "faces": { + "north": { + "uv": [ + 35, + 8, + 43, + 12 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "dcc2c88a-91a4-87aa-55b3-78f8bb9952bd" + }, + { + "name": "NoticeEffect2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 6.5, + 28, + -3 + ], + "to": [ + 8.5, + 29, + -3 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + -10 + ], + "origin": [ + 6, + 29.5, + -3 + ], + "faces": { + "north": { + "uv": [ + 35, + 8, + 43, + 12 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "60c9b22f-9c2c-6076-15f9-d05632ca9a80" + }, + { + "name": "NoticeEffect3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 6.5, + 30, + -3 + ], + "to": [ + 8.5, + 31, + -3 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + 30 + ], + "origin": [ + 6, + 29.5, + -3 + ], + "faces": { + "north": { + "uv": [ + 35, + 8, + 43, + 12 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "c8a9921e-5987-724a-67fc-b94f621ae308" + }, + { + "name": "Shell1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -2, + -11 + ], + "to": [ + 2, + 2, + 1 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + -2, + -5 + ], + "faces": { + "north": { + "uv": [ + 83, + 9, + 79, + 13 + ], + "texture": 0 + }, + "east": { + "uv": [ + 55, + 8, + 43, + 12 + ], + "texture": 0 + }, + "south": { + "uv": [ + 87, + 9, + 83, + 13 + ], + "texture": 0 + }, + "west": { + "uv": [ + 43, + 8, + 55, + 12 + ], + "texture": 0 + }, + "up": { + "uv": [ + 79, + 8, + 67, + 12 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 67, + 8, + 55, + 12 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "fe2da662-acbd-21c6-2442-1be259f0be3e" + }, + { + "name": "Shell2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + -1.5, + 1 + ], + "to": [ + 1.5, + 1.5, + 5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + -2, + -5 + ], + "faces": { + "north": { + "uv": [ + 3, + 0, + 0, + 3 + ] + }, + "east": { + "uv": [ + 91, + 9, + 87, + 12 + ], + "texture": 0 + }, + "south": { + "uv": [ + 93, + 6, + 90, + 9 + ], + "texture": 0 + }, + "west": { + "uv": [ + 87, + 9, + 91, + 12 + ], + "texture": 0 + }, + "up": { + "uv": [ + 94, + 0, + 90, + 3 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 3, + 90, + 6 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "56581c02-0068-6960-7e00-aed0d1c0f0af" + }, + { + "name": "Shell3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + -0.5, + 5 + ], + "to": [ + 0.5, + 0.5, + 11 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + -2, + -5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 91, + 6, + 90, + 7 + ], + "texture": 0 + }, + "south": { + "uv": [ + 91, + 6, + 90, + 7 + ], + "texture": 0 + }, + "west": { + "uv": [ + 91, + 6, + 90, + 7 + ], + "texture": 0 + }, + "up": { + "uv": [ + 90, + 7, + 91, + 6 + ], + "texture": 0 + }, + "down": { + "uv": [ + 90, + 7, + 91, + 6 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "ca423b09-eabd-37b2-4dfe-c0fb8124fddc" + } + ], + "outliner": [ + { + "name": "Tank", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "0f9d6663-9ef4-b7a1-b1e5-7f44499a304e", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightCrawler", + "origin": [ + -32, + 0, + 0 + ], + "color": 0, + "uuid": "351a19fc-b6f2-40d2-d4a4-2e5d06f9aed2", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightCrawlerBelt", + "origin": [ + -32, + 0, + 0 + ], + "color": 0, + "uuid": "e2862bb7-a658-d1e2-3c7f-f8569f45a3a1", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "aca1284f-9a7b-a659-f8fb-a733f9c8c572", + "71bee78f-c6a0-9968-12ca-aaa4d9c2c0ee", + "b613fc16-96ee-3d8b-8aaf-0643a8f2f481", + "975d93c1-4faf-199e-d867-a2a5cf6bf8a7", + "4d01848a-d522-1efc-48a0-cafae6bb77b2", + "6c4b9bfc-447a-75d1-df8d-88569caf6082" + ] + }, + { + "name": "RightCrawlerWheel1", + "origin": [ + -31, + 8, + -40 + ], + "color": 0, + "uuid": "7727ef07-16b4-5002-5d61-380b31d71f98", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ca4dd352-68ef-170d-ca69-d85aa2bb7b59", + "1f6816e8-3dc4-c51a-e2b3-78999161b30e", + "ac3055ba-4219-d7cb-c42c-8827308edefb", + "a4943262-a791-9edf-a712-5df121e15613", + "47dec226-10b6-3a97-5dc3-52d2033c796b" + ] + }, + { + "name": "RightCrawlerWheel2", + "origin": [ + -31, + 8, + -20 + ], + "color": 0, + "uuid": "bd6b6216-9575-98c8-ce0c-2485cdda5c9d", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b9079077-3b9b-ac86-6442-b7d6afe50ee3", + "539d198a-9c51-83e0-9018-4d57d6733028", + "aab64dad-716e-5bcf-e651-1d4e4d438f13", + "8ba4562b-c2f4-69f0-7293-10cd4b1b1f5e", + "e26b6a81-1114-f096-6b39-fb5aec7c33c8" + ] + }, + { + "name": "RightCrawlerWheel3", + "origin": [ + -31, + 8, + 0 + ], + "color": 0, + "uuid": "76fa40dd-dff5-8d5d-6e66-11d3185d8d80", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "0d7a474f-57c2-014f-a499-55c11be000c8", + "ff6c84cc-6f70-6203-4bab-6e4e55932263", + "b0acbf5f-2c74-e59a-11dd-05dc5551ea77", + "2aee4e64-26e4-0484-ddbf-cde6d9c44c25", + "70a14757-5252-7f74-b5d4-1faf77fcdb64" + ] + }, + { + "name": "RightCrawlerWheel4", + "origin": [ + -31, + 8, + 20 + ], + "color": 0, + "uuid": "d199ec04-9313-b6d5-044d-45b7c09eea45", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e671fdd2-e5f2-001f-659f-e48c8c6b4d13", + "be166aee-0d9a-6da8-fe7c-8877e7b36701", + "183760cb-47a9-2fc6-ad85-4f7673b4ed9f", + "38e8f1e0-7cf5-0688-f333-13301e201e8a", + "1c8d247b-8fa0-3045-7a97-41bad11bf741" + ] + }, + { + "name": "RightCrawlerWheel5", + "origin": [ + -31, + 8, + 40 + ], + "color": 0, + "uuid": "bc1bbfdc-0c72-e19b-e901-86b6261c0abe", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "6cce6714-e496-d6bf-4b74-02f4e90acf88", + "284f10e2-df7b-3363-bae5-abdf9acd3da1", + "92a13fa0-ae59-477b-e51d-b97df9c78906", + "72722721-d1b3-053b-e9bf-a2bac13da232", + "ac09010e-f0b5-283f-8f8f-5bda50191830" + ] + }, + { + "name": "RightCrawlerWheel6", + "origin": [ + -33, + 8, + -30 + ], + "color": 0, + "uuid": "068c97d2-0e38-2f48-327b-ab7f48fb8f9e", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "0e2d8bee-1815-8a6a-3545-cb70ae0987df", + "8c8fd4cc-08b4-aa46-906b-9a4c652885e7", + "b2ccb62a-2c09-3a7c-d3cb-f3bc2119d156", + "bed74eda-3c80-bbe8-c958-4b761fcb6068", + "ff7e908b-3ca8-3d6d-a7de-cfbb3049f9ff" + ] + }, + { + "name": "RightCrawlerWheel7", + "origin": [ + -33, + 8, + -10 + ], + "color": 0, + "uuid": "c608411a-27c0-40e7-700c-9e4466cb593f", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ca03da95-3787-ca33-f45b-1327d3db9c10", + "dcf627f1-d545-59b3-c1f3-a1a3c6c0f583", + "bd7acb9a-0bec-aa5b-2685-91ce977990b6", + "b0093568-1f01-3f35-03da-4b3919a087ed", + "2c508f74-63f3-f5d1-eb99-84f9de0d4fa2" + ] + }, + { + "name": "RightCrawlerWheel8", + "origin": [ + -33, + 8, + 10 + ], + "color": 0, + "uuid": "380d975d-349a-ab4e-afa8-d3fddf9c1e99", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b0dba2dd-4f6a-4cec-26bd-40a5e1423571", + "3c71cf17-8779-8092-0ae0-f5f046ae7704", + "1e6d8b17-f503-fb89-8316-31176ae5c48c", + "d811c5d2-946f-779c-0094-c4ea41703846", + "3d5053b2-2dca-95ef-e127-3e3665c92c53" + ] + }, + { + "name": "RightCrawlerWheel9", + "origin": [ + -33, + 8, + 30 + ], + "color": 0, + "uuid": "b8b3fbe9-7883-7211-14e3-00284e88ecba", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "7f704c16-878e-d03d-d6ba-796eb3f50418", + "f510775b-e970-f3e4-8eeb-1684af01797b", + "f720ac28-7add-7937-0923-d5ebb043cf73", + "8416872c-1607-7ebc-be05-9f2a2a81c9f3", + "5b7d1520-5b21-8d40-bf06-c5d18400dce5" + ] + }, + { + "name": "RightCrawlerWheel10", + "origin": [ + -33, + 9, + -50 + ], + "color": 0, + "uuid": "bd73af1c-b34a-99ac-84c3-372035bfb096", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "5ee93140-63ac-af5c-921e-9e7dd51b926d", + { + "name": "RightCrawlerWheel10_2", + "origin": [ + -33, + 9, + -50 + ], + "color": 0, + "uuid": "c56c6447-4f9b-a681-cd82-8028a1fce52d", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "49ab4ca4-b38c-81c7-85d2-efbbca985142", + "097dab50-1779-044a-a560-e06a0202ccf6" + ] + }, + { + "name": "RightCrawlerWheel10_3", + "origin": [ + -33, + 9, + -50 + ], + "rotation": [ + 45, + 0, + 0 + ], + "color": 0, + "uuid": "1cb63d49-6ce6-a849-f543-8177c3497b98", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "5ae5a841-8c9e-234d-1f71-e0ce27dfd0af", + "4caeff09-6662-5a5d-1d07-54f22bdba134" + ] + }, + { + "name": "RightCrawlerWheel10_4", + "origin": [ + -33, + 9, + -50 + ], + "rotation": [ + 90, + 0, + 0 + ], + "color": 0, + "uuid": "e0b9d5f4-15b6-c0f5-e640-35706e0f6f13", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b3448c3d-2b08-042a-f715-b83891886f92", + "41dc7a07-1026-96cc-0197-0bbc6f5abe8a" + ] + }, + { + "name": "RightCrawlerWheel10_5", + "origin": [ + -33, + 9, + -50 + ], + "rotation": [ + 135, + 0, + 0 + ], + "color": 0, + "uuid": "af466bd4-86c6-d7ed-f73e-7551dfd9597e", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "74ee3b30-0c6a-6723-8897-0375f90a75a8", + "8a2377fa-90f2-13fc-06cc-6f70974e69d2" + ] + }, + { + "name": "RightCrawlerWheel10_6", + "origin": [ + -33, + 9, + -50 + ], + "rotation": [ + -180, + 0, + 0 + ], + "color": 0, + "uuid": "b1558958-1c7b-0275-67f2-6320825408e2", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "90bf4063-ec10-716b-6a3f-ccad4f377f8e", + "08a60d01-4335-0da3-921d-3d33d6aa480c" + ] + }, + { + "name": "RightCrawlerWheel10_7", + "origin": [ + -33, + 9, + -50 + ], + "rotation": [ + -135, + 0, + 0 + ], + "color": 0, + "uuid": "68c1d953-0967-f182-af28-b63f516a3fb0", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "17956df5-1942-8ee4-12d1-b7d5bad16777", + "4adc1efd-f610-67a8-85d1-3440188c95f9" + ] + }, + { + "name": "RightCrawlerWheel10_8", + "origin": [ + -33, + 9, + -50 + ], + "rotation": [ + -90, + 0, + 0 + ], + "color": 0, + "uuid": "72d86e92-6757-38f7-de93-0011a9c71f07", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f4e8036c-874d-a1f1-5e79-b05afc1a69d2", + "a7ae423d-cee5-22de-0170-f5aa960b56b9" + ] + }, + { + "name": "RightCrawlerWheel10_9", + "origin": [ + -33, + 9, + -50 + ], + "rotation": [ + -45, + 0, + 0 + ], + "color": 0, + "uuid": "7b537813-f1e8-917e-1db2-273e223ceaa8", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "110ac92b-9790-4597-a828-bcc00ebaf148", + "365d5455-5cc3-7670-ac5b-26e526795294" + ] + } + ] + }, + { + "name": "RightCrawlerWheel11", + "origin": [ + -33, + 9, + 50 + ], + "color": 0, + "uuid": "de0ac184-a400-bef0-a8a5-e169c7f0e26d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "99c67439-24d6-6383-6005-2fd59d35e60a", + { + "name": "RightCrawlerWheel11_2", + "origin": [ + -33, + 9, + 50 + ], + "color": 0, + "uuid": "06648f49-cea6-555d-fe4b-90d927574b2f", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "2c4c6b68-1293-5e01-9df6-5401f6929079", + "45a57008-6078-f1ad-1d76-aa294f140ef2" + ] + }, + { + "name": "RightCrawlerWheel11_3", + "origin": [ + -33, + 9, + 50 + ], + "rotation": [ + 45, + 0, + 0 + ], + "color": 0, + "uuid": "151df8b7-f47f-bfeb-ed97-89288fce7632", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "0e860afe-2645-2090-25a6-168f5ec2922e", + "a92fa0cc-0c13-bcdc-cdf0-8546da5731d8" + ] + }, + { + "name": "RightCrawlerWheel11_4", + "origin": [ + -33, + 9, + 50 + ], + "rotation": [ + 90, + 0, + 0 + ], + "color": 0, + "uuid": "8a11960c-8858-fc3b-3b7b-8a319467dd2f", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "2d49804e-b54e-4436-7c57-fe95ec4789ea", + "2b30f59d-fddb-cd02-02ac-389fff8671be" + ] + }, + { + "name": "RightCrawlerWheel11_5", + "origin": [ + -33, + 9, + 50 + ], + "rotation": [ + 135, + 0, + 0 + ], + "color": 0, + "uuid": "29c3241f-f04d-a017-7a36-dce87460348d", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "2ebd1730-ff19-a1a9-ab0e-99a55356d9d0", + "fc8e8ccb-3345-c42e-ec98-2d8afc83de3b" + ] + }, + { + "name": "RightCrawlerWheel11_6", + "origin": [ + -33, + 9, + 50 + ], + "rotation": [ + -180, + 0, + 0 + ], + "color": 0, + "uuid": "2d8caf00-19eb-5693-5a6d-e805d34c7e07", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "3a0d2ad1-835f-9a5e-a3f5-3c2c45f3b969", + "b9833bec-063a-045f-c48e-75d1693fd156" + ] + }, + { + "name": "RightCrawlerWheel11_7", + "origin": [ + -33, + 9, + 50 + ], + "rotation": [ + -135, + 0, + 0 + ], + "color": 0, + "uuid": "c3a89618-bd7a-7087-337f-cd2afbaf4c69", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ef11a63f-954a-73d5-4b48-7c39b94a596c", + "6b8cea88-d5bb-8c0c-e69c-3375d79f7d7c" + ] + }, + { + "name": "RightCrawlerWheel11_8", + "origin": [ + -33, + 9, + 50 + ], + "rotation": [ + -90, + 0, + 0 + ], + "color": 0, + "uuid": "1db4616c-7e79-494a-3d18-d7f61fabb3ae", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "53cefb1f-4d40-29d0-73a9-0ef40f9efb57", + "d6df3d4f-7ebe-3b5e-0c18-dc909c02cab2" + ] + }, + { + "name": "RightCrawlerWheel11_9", + "origin": [ + -33, + 9, + 50 + ], + "rotation": [ + -45, + 0, + 0 + ], + "color": 0, + "uuid": "cf871918-2f86-3568-3bec-42852f731edb", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "75cea71d-b7c5-4a95-611d-694515329883", + "373aed68-24a2-5384-efcc-c4433fec9c21" + ] + } + ] + }, + { + "name": "ExSkill1ParticleAnchor1", + "origin": [ + -32, + 0, + -39 + ], + "color": 0, + "uuid": "a16b6a0f-0067-e3af-79ed-76523c38e79b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + { + "name": "LeftCrawler", + "origin": [ + 32, + 0, + 0 + ], + "color": 0, + "uuid": "b64c61b2-6bc0-e224-516a-85ed6fb81017", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "LeftCrawlerBelt", + "origin": [ + 32, + 0, + 0 + ], + "color": 0, + "uuid": "c097ed33-460b-4fba-a036-3e9116098365", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "59bf5b28-4227-b410-8b59-75494a6ebac8", + "2197c62b-a665-2fc0-5999-77e0be70dfe5", + "e27daa91-71c0-77df-660d-9e842cb2d053", + "998549d8-67bd-3b8e-018c-606d92118d8c", + "5c140b7d-6e3d-f5cc-3ea2-ac7113437e8e", + "b237d008-3ddd-570b-0411-e88263a32850" + ] + }, + { + "name": "LeftCrawlerWheel1", + "origin": [ + 31, + 8, + -40 + ], + "color": 0, + "uuid": "d74ea448-d1a4-4e60-2ba6-1554e5de59c9", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "2ae66d06-2d35-a04a-8187-84df4c507bc4", + "61ae9953-a711-cfdd-2100-7eaa10b195bc", + "c1608fc5-b273-8f47-d152-39d5657585cb", + "c063c136-44bc-e100-3d07-a199c88bb6db", + "d125ea17-8b90-c66f-74c4-e3d8cc0fff30" + ] + }, + { + "name": "LeftCrawlerWheel2", + "origin": [ + 31, + 8, + -20 + ], + "color": 0, + "uuid": "b64b35f7-a689-1914-5500-aa624d7e8e78", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a230138f-9067-fec6-8881-42348e1b425f", + "38accb5c-009d-359c-920e-bcf36ee10ae1", + "8e44d270-f2b9-471b-14fa-beefc9b26876", + "8121b2ec-e9ce-3c10-29c3-696ab1d97538", + "adeaf0d0-5afa-19f9-195c-d7a2a42dc0d6" + ] + }, + { + "name": "LeftCrawlerWheel3", + "origin": [ + 31, + 8, + 0 + ], + "color": 0, + "uuid": "adaf2d73-04b4-c4da-53b1-f5a6044ba3aa", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "3a4b5f10-f180-7fcb-4917-5d8e1fbfb756", + "866feadb-d8b7-2077-f425-94b408b6e09c", + "72d00c81-43eb-cef9-2c92-d285079b7d51", + "53b425d6-264b-f8be-3fd0-22152b2a7064", + "efe7e61a-c288-2556-062b-e8a7475e64d2" + ] + }, + { + "name": "LeftCrawlerWheel4", + "origin": [ + 31, + 8, + 20 + ], + "color": 0, + "uuid": "3da2ba5c-d731-7f13-a4c5-74e69551a0db", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "444542f6-f181-2619-f07e-947431dc54a8", + "347afeba-5ae3-1d43-d87c-e8cf2a05c604", + "d0f36ab9-d06f-a0d4-3611-8228f74fbabe", + "9a74bc45-697f-6ed5-f6f8-dd40af77ea48", + "0514fe05-741c-27c9-6c7e-326ad6d40bb7" + ] + }, + { + "name": "LeftCrawlerWheel5", + "origin": [ + 31, + 8, + 40 + ], + "color": 0, + "uuid": "b1b3c157-7ad8-4d71-2893-e87577468ee4", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "7ebf533b-58cb-b3f0-0e08-78fefbaa8c28", + "f24ab10b-2126-aaf9-04f5-79751fe82298", + "72142202-2c64-f1ad-4f4d-384b3b1abbe0", + "e972ede5-0299-8c55-7d53-065bd790ece4", + "bbf69d08-ccea-ed28-63c3-5926ed209514" + ] + }, + { + "name": "LeftCrawlerWheel6", + "origin": [ + 33, + 8, + -30 + ], + "color": 0, + "uuid": "85138896-ab07-7578-142e-bd51bc19679a", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8407bd81-7917-c9fd-3399-a08aadf32441", + "57437df3-40e3-065f-f930-bf99935f0133", + "66bf7cf0-8429-d060-c24b-ea31933a0874", + "9eb98736-b893-db5f-c68a-5171ee5f8a21", + "3afbbfef-d08d-3134-a6cc-362922edb2cf" + ] + }, + { + "name": "LeftCrawlerWheel7", + "origin": [ + 33, + 8, + -10 + ], + "color": 0, + "uuid": "a84ac41a-1281-8cd5-1885-efd601bf3301", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "cdb7880e-5a94-b61a-6fc5-af005da6455e", + "31fd2f97-824f-098e-ab8f-97c8cbee7f38", + "e77d968f-a12d-0b24-759f-eb0138777e63", + "1ee5883b-c911-938a-5a52-9b8e8773d9d7", + "f134f232-3f73-da4b-bd16-35e82b540909" + ] + }, + { + "name": "LeftCrawlerWheel8", + "origin": [ + 33, + 8, + 10 + ], + "color": 0, + "uuid": "7ffdbaef-1b69-912b-d5ea-c4b0b8ff5b86", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "12915a43-4ba3-1582-f499-5db475b8be4b", + "1ca5b4f7-c902-1435-fb58-1b2fe895e98d", + "298dd0f3-213f-bea5-a8b0-5ee2646d4ab4", + "f5d77654-c038-3e81-4868-02b88bface86", + "966f28e5-ddd5-286a-9541-19b7a2e0106c" + ] + }, + { + "name": "LeftCrawlerWheel9", + "origin": [ + 33, + 8, + 30 + ], + "color": 0, + "uuid": "cf157b7e-87f7-2071-4db0-20ba9a42d89f", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "cc15c030-adbb-1694-8963-961eee22ba09", + "b2af46e7-9e44-36cc-bd3e-00540d58804d", + "9dcc331f-1a53-d8fd-61e8-e70554f95508", + "223f6401-43f9-9ab0-863c-234a4a2184f0", + "e0b91693-8e5c-e3e1-44e6-3d2608ec3ed0" + ] + }, + { + "name": "LeftCrawlerWheel10", + "origin": [ + 33, + 9, + -50 + ], + "color": 0, + "uuid": "f3866b22-8a48-d7dd-42ad-0724438a9802", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4b49a2c2-0672-5aba-620c-6f993102c99d", + { + "name": "LeftCrawlerWheel10_2", + "origin": [ + 33, + 9, + -50 + ], + "color": 0, + "uuid": "eca2efdd-0ed8-0eb3-d639-21c3e2b01191", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4731f128-257e-1691-7b2a-e286333ec1c5", + "b7be0f08-a132-7cb0-90ea-2cf37acccc07" + ] + }, + { + "name": "LeftCrawlerWheel10_3", + "origin": [ + 33, + 9, + -50 + ], + "rotation": [ + 45, + 0, + 0 + ], + "color": 0, + "uuid": "b58378e1-1e41-a6da-a8d1-dfe18f7c871f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "406f592e-7e45-f87e-2dd0-d8ebcc0b204c", + "b581da7b-4611-eaa7-5059-bc19f8e9197f" + ] + }, + { + "name": "LeftCrawlerWheel10_4", + "origin": [ + 33, + 9, + -50 + ], + "rotation": [ + 90, + 0, + 0 + ], + "color": 0, + "uuid": "5ee31476-50a7-6a33-1f9e-ead06a75db04", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1bd12c64-4ed9-595f-b0a5-989e411d84d9", + "cd81fc12-b73c-dccc-8d05-307397389e97" + ] + }, + { + "name": "LeftCrawlerWheel10_5", + "origin": [ + 33, + 9, + -50 + ], + "rotation": [ + 135, + 0, + 0 + ], + "color": 0, + "uuid": "f60dd9c1-5b3d-cfed-92f9-561cc6114b93", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e2d275de-6fb3-6a58-92ff-479ab7a86859", + "a4ae7d6f-b617-936d-bb3a-60ab9bc3773c" + ] + }, + { + "name": "LeftCrawlerWheel10_6", + "origin": [ + 33, + 9, + -50 + ], + "rotation": [ + -180, + 0, + 0 + ], + "color": 0, + "uuid": "5e392673-0e99-5915-79ac-168516e5d8a5", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f7f8683b-3bcb-536f-2d5b-14675f1e47f7", + "c5ab9a67-be72-4c7e-744f-9ecb3b493fcf" + ] + }, + { + "name": "LeftCrawlerWheel10_7", + "origin": [ + 33, + 9, + -50 + ], + "rotation": [ + -135, + 0, + 0 + ], + "color": 0, + "uuid": "d2bcf5b6-f399-9791-4506-f74273c93b66", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "bab9b9f2-4305-0453-7dd8-d57097ad31c7", + "0351c090-2d05-ea2a-085a-1bbe6638f926" + ] + }, + { + "name": "LeftCrawlerWheel10_8", + "origin": [ + 33, + 9, + -50 + ], + "rotation": [ + -90, + 0, + 0 + ], + "color": 0, + "uuid": "5e78f829-4b84-c7cb-6573-0d9b6af9ce2d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ed0cf026-e2a8-6f51-24a6-c0b5475e30a9", + "cd504e6e-4e3f-6bfc-3b81-780083368e0c" + ] + }, + { + "name": "LeftCrawlerWheel10_9", + "origin": [ + 33, + 9, + -50 + ], + "rotation": [ + -45, + 0, + 0 + ], + "color": 0, + "uuid": "7d220132-e64e-a951-f0d5-86fc5e4b4759", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "5b2f5d41-d1d0-c809-31be-9b1b673d81d7", + "0f729ecf-cbe8-ee8a-4e03-eb8181a08bb1" + ] + } + ] + }, + { + "name": "LeftCrawlerWheel11", + "origin": [ + 33, + 9, + 50 + ], + "color": 0, + "uuid": "41ce565c-0d48-d5c3-a393-2246ca986100", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "fb147acc-ca1e-7beb-eb80-4c355183024d", + { + "name": "LeftCrawlerWheel11_2", + "origin": [ + 33, + 9, + 50 + ], + "color": 0, + "uuid": "1232ea82-2bb1-3dd2-3eb1-bccf9d66f6cc", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "45116dbf-2526-ae94-2f9f-4e424ec21fa9", + "2ece5e2a-50b8-87c9-e198-1d85041b17de" + ] + }, + { + "name": "LeftCrawlerWheel11_3", + "origin": [ + 33, + 9, + 50 + ], + "rotation": [ + 45, + 0, + 0 + ], + "color": 0, + "uuid": "f62ae36f-26de-7d3c-e77a-5b90ca569a67", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f545c591-89cb-32f8-464d-c0732dee117e", + "736363ec-b693-92fe-6d35-c0e6d3b721b3" + ] + }, + { + "name": "LeftCrawlerWheel11_4", + "origin": [ + 33, + 9, + 50 + ], + "rotation": [ + 90, + 0, + 0 + ], + "color": 0, + "uuid": "b28db4ee-93d0-c6e4-905c-3ef4c466965c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "063bf6f5-d906-6595-bec2-57eed3621c01", + "a3dea4d1-6849-0708-f1c6-126648dde91b" + ] + }, + { + "name": "LeftCrawlerWheel11_5", + "origin": [ + 33, + 9, + 50 + ], + "rotation": [ + 135, + 0, + 0 + ], + "color": 0, + "uuid": "c5b9fe77-b605-ffb0-2e6c-12486846c8a5", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e0bcbf5e-072d-68be-2a6c-f5397c105d56", + "b3f93ce1-f558-4213-74f6-0161bcbcb075" + ] + }, + { + "name": "LeftCrawlerWheel11_6", + "origin": [ + 33, + 9, + 50 + ], + "rotation": [ + -180, + 0, + 0 + ], + "color": 0, + "uuid": "083ccec1-1e9f-1df6-0229-9d70dc07be96", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "413c1ab9-8c92-a9f9-2ab8-c685b6a4c69f", + "ac45877d-1f40-793b-733c-9499fc80e19f" + ] + }, + { + "name": "LeftCrawlerWheel11_7", + "origin": [ + 33, + 9, + 50 + ], + "rotation": [ + -135, + 0, + 0 + ], + "color": 0, + "uuid": "2b66cda9-7266-f8c3-ab96-9ed14b849edd", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "19937438-2b52-bc16-36f4-cef1f147f352", + "9be968d9-5abf-e1f7-1486-3c5ec601cc41" + ] + }, + { + "name": "LeftCrawlerWheel11_8", + "origin": [ + 33, + 9, + 50 + ], + "rotation": [ + -90, + 0, + 0 + ], + "color": 0, + "uuid": "53c1afba-0e35-02e3-1e6f-42a32327afde", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "84c5d135-c71e-168b-e0dd-f405d370ea67", + "74fa3a18-9b17-e3dc-8397-a80cde49f8a5" + ] + }, + { + "name": "LeftCrawlerWheel11_9", + "origin": [ + 33, + 9, + 50 + ], + "rotation": [ + -45, + 0, + 0 + ], + "color": 0, + "uuid": "d9ea5616-e6b3-2514-3e33-98291583b015", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f3f4526b-13c6-69af-2b90-c5f19ffa18d4", + "b456b3e6-d88b-56b8-e5fe-aed8044ffc2c" + ] + } + ] + }, + { + "name": "ExSkill1ParticleAnchor2", + "origin": [ + 32, + 0, + -39 + ], + "color": 0, + "uuid": "9b84a9f3-0500-7376-926a-b7f2277f56c2", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + { + "name": "TankBody", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "387d87f0-51e8-0881-986d-a659cb155955", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "836b01cb-9205-a088-1ba6-255c4ad16fbb", + "0ab7278c-64b6-4881-6434-28524c374e81", + "b3b6b7a7-a5e9-3f85-1522-fd3eac6a2524", + "009ed97a-7676-287b-5b9d-35527a0e7f96", + "8bd931fa-7195-d79a-ec27-4737d2fdcca3", + "461b4aa5-dcb3-7d97-df34-bacd62e4453c", + "32341c87-3615-f57c-6e86-659a339422c4", + "ec6d77fe-fc2a-79a4-5be6-1bc627928ad8", + { + "name": "BaseAccessory1", + "origin": [ + 0, + 26, + -38 + ], + "color": 0, + "uuid": "cafedef4-e0a2-8b6a-955f-aed6dfd085b6", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "865075e6-63b0-b53b-332c-848dd06d4a1e", + "e71ba3d9-4813-0681-7ca1-3f9160c3b1cb", + "4f41c9b0-ed71-1718-0455-71bfc699f134", + "b42476d1-2376-e919-b966-b7dcad8c92ff", + "08938928-f493-1f17-69a1-51c502d167f1", + "bfe51612-faf0-02c5-7050-45ad50ab8405" + ] + }, + { + "name": "BaseAccessory2", + "origin": [ + 14, + 22, + -39 + ], + "color": 0, + "uuid": "dd60bd4f-1b41-c5b4-a6fb-4b3c073f62e4", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "fc39ace3-b02a-6f29-f7c2-8b4c82f41c68", + "bec4f44e-671e-0b38-0846-e77161de0292", + "ba92ae66-80b1-51e7-82d6-6e28747c1eaa" + ] + }, + { + "name": "BaseAccessory3", + "origin": [ + -21, + 19.75, + -39 + ], + "color": 0, + "uuid": "b67eaf5e-76ac-7a11-b868-ad891ac0791e", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "84f6527f-1156-5d6e-8fe3-6a879e80fbaa", + "aaa8925e-8b67-b061-f236-fb48463a9321", + "71b94e5a-8a50-c0c7-11c7-53044784a199", + "8638ea85-2c9c-7770-31c5-51438ad65361" + ] + }, + "87c163b0-435c-8704-0932-81fced22694c", + { + "name": "BaseAccessory5", + "origin": [ + 7, + 33, + -32 + ], + "color": 0, + "uuid": "8398820e-ddea-8dfd-84c9-420b5ba19996", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "84dbb12e-dddd-7a85-8539-12e34e3fd506", + "0204df92-24ba-bb1b-1f16-c664f18437cc", + "d94f3e41-09a0-7f8d-761d-a8422e2de832", + "555343cc-a1f1-29e8-2d41-138558fc633c" + ] + }, + { + "name": "BaseAccessory6", + "origin": [ + -7, + 33, + -32 + ], + "color": 0, + "uuid": "feef7805-f3c1-11dd-698d-b3aae8ae671e", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "0323e889-ea4d-dce4-4abe-b605eed04043", + "83380858-b971-cbfc-cd62-96c59d0011d8", + "82a9f4e4-7361-875a-1374-e380607abd8b", + "3ee8c6e4-ab9e-4b1d-ab0c-fda5150e6fde" + ] + }, + { + "name": "BaseAccessory7", + "origin": [ + -7, + 33, + -32 + ], + "color": 0, + "uuid": "f92f410f-df63-0e7c-0d1c-035ab3d63691", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "475eaa4f-beb0-b641-8e51-27670ec29f27", + "07ebde04-1a0b-dee1-a36b-48e8f5e96dbb", + "aae8f349-100b-ca8d-5c61-26f1c08b155a", + "87bdc4cd-f0d5-bb6b-187d-9635782c0c7d" + ] + }, + { + "name": "BaseAccessory8", + "origin": [ + 7, + 33, + -32 + ], + "color": 0, + "uuid": "63b226b1-bb1b-4a5a-551d-01206f2ebead", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "c4549b4a-1d0e-f671-cebf-0dfd2afa6014", + "c7ea895b-ac0d-3d2c-d76a-b89d9eb84300", + "5796631a-f70d-14e2-b9f1-c7c6a1e0ecc9", + "f24ab891-08fd-85d9-5042-15dfa744e5ee" + ] + }, + { + "name": "BaseAccessory9", + "origin": [ + 21.75, + 13, + -56 + ], + "rotation": [ + -50, + 0, + 0 + ], + "color": 0, + "uuid": "570b3605-c3e8-e58d-270c-d06f0f125d5b", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a7838f58-07fd-9664-1410-fb3fd5b86a84", + "0bd3b664-92b6-40cf-c069-0d1bf10f5321", + "c1b93dd0-446c-8fce-460a-45d38b51a267", + { + "name": "BaseAccessory9_4", + "origin": [ + 21.75, + 12, + -60 + ], + "rotation": [ + 39.5, + 0, + 0 + ], + "color": 0, + "uuid": "557874ce-f31e-7ec1-dc0a-a6297a0646d1", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "3c0b0fbe-f602-e5e9-873f-8db5b3ba24b7", + "bd444826-8e29-55c5-dbf2-8893ddbb0d2a", + "5975978e-666c-74bc-7a76-c35e2de648e4", + "2ebba42f-ab66-0381-4358-90dabcdab4cc", + { + "name": "BaseAccessory9_5", + "origin": [ + 22.25, + 21, + -60.5 + ], + "rotation": [ + 67.25, + 22.25, + 0 + ], + "color": 0, + "uuid": "8342cf59-e958-49f6-72c8-01a040a3a437", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "2cdd5aff-01fa-8d64-6dc4-349df0b4f0c2" + ] + } + ] + } + ] + }, + { + "name": "BaseAccessory10", + "origin": [ + -21.75, + 13, + -56 + ], + "rotation": [ + -50, + 0, + 0 + ], + "color": 0, + "uuid": "d40250d3-ca23-8491-6cbb-0c201b3529fc", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a0015f71-fa17-5d17-7ef5-41e34f55ebbb", + "5572eeb4-9a32-3f1a-b195-ef93b02770ec", + "79d86a01-27c4-854e-e262-40829eece841" + ] + }, + { + "name": "BaseAccessory11", + "origin": [ + 31.725, + 33, + -37 + ], + "color": 0, + "uuid": "ccdeeb24-7a2d-e5a9-8712-437a1562698a", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e8011b81-f14b-8894-94e7-1332cc023a57", + "b1bf4c1b-dab5-fa0f-4e85-03ec25794fd2", + "d488179d-842a-8d73-bc52-b3a28808a773", + "114bafef-cb3c-b4a0-3c9f-f19bf4538566", + "2a8e99b5-d8ed-dbe7-e5a8-ad579fb52071", + "69c38a06-fff6-2f75-fd2c-8bb45fb66ac8", + "d0873494-72bb-f666-5030-9996caf84474", + "78f84122-5276-efb2-09f8-982a07b73f36" + ] + }, + { + "name": "BaseAccessory12", + "origin": [ + -31.725, + 33, + -37 + ], + "color": 0, + "uuid": "e57ab5c3-841c-f426-6e18-3ae17c6b6c78", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d70dd275-9582-4233-caa8-35f3c8b6d19a", + "56b4dfa4-207f-88cd-e4fa-25b20a8ee956", + "4b999199-a1a3-e84c-9ba4-710511760c8b", + "a3617259-88eb-51e9-97db-70cdf58b96b1", + "fc20dfce-7624-4eef-a41f-cdd8f1cf2c95", + "0d93cc65-46f8-cca4-e7ca-a2298d8897ea", + "0e4c16f8-736e-98ec-8291-81c704c47f2a", + "102eb584-1c30-aeb9-7905-af04230d9db1" + ] + }, + "7b30cd28-6bb5-1cc3-4335-a50cb7c15285", + "87d2e633-101f-8b10-e89a-e9960263387e", + { + "name": "BaseAccessory15", + "origin": [ + 31.5, + 18, + 56 + ], + "rotation": [ + 60, + 0, + 0 + ], + "color": 0, + "uuid": "c70b0dd6-81be-bd03-74d9-9649b093cece", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ace08096-410c-8b35-6a82-1ee3dafc7396", + "10b7205a-5237-7a94-c5ca-dbc0895c551c", + "6a6e9f03-fda7-b4a7-488d-028c4a23ca47", + "e9207a6a-4b2f-da4d-f838-fa75fc99f6bb" + ] + }, + { + "name": "BaseAccessory16", + "origin": [ + 11, + 11, + 56 + ], + "color": 0, + "uuid": "5c199061-79f9-c958-bc2f-48632115f7a4", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "83d89d0c-1477-d0ea-22fd-2788019d943a", + "b68aa16f-985d-0ce5-e8e2-9401fba0c5df", + "4f2a77a9-c70c-cad9-18c6-3c139b8cf0aa", + "fcd39abe-7987-20da-058f-9b3c9f773eec" + ] + }, + { + "name": "BaseAccessory17", + "origin": [ + -11, + 11, + 56 + ], + "color": 0, + "uuid": "563ccb02-5121-d294-166f-e7eb3e387b9d", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4d661541-0bde-fca5-dbe5-fce46967ba2c", + "1f9373b4-b54c-4639-81d2-206fd565b6e3", + "54d20e43-8e79-f010-c49d-f9b3b8af1b5d", + "2e16c66f-06f0-f483-06f3-d60d3cbe29d6" + ] + }, + { + "name": "BaseAccessory18", + "origin": [ + -25, + 27, + 56 + ], + "color": 0, + "uuid": "5b8987a8-aea9-57b4-ff95-9ef31a475133", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f94db6a0-41e2-7f39-4d31-59681d5e2ada", + "e450c60c-8c2d-2c11-3ac7-dcea6a9792e5", + "7877a83a-6266-496f-124c-f17124aa4186", + "3ff453c9-74e3-c9e4-8e98-0b5c913430cd", + "a84227fe-82cf-02bb-2003-3dfb705d3a69", + "b08cd3bf-6dac-56db-38e2-bdb8b4bb8822" + ] + }, + { + "name": "TurretBase", + "origin": [ + 0.75, + 0, + 6 + ], + "color": 0, + "uuid": "90db7c75-b09b-339d-3dfa-2c31ec342245", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "69bb7324-70dc-8b7d-4919-db70eb24182f", + "ca0f7fbd-0f09-79de-a9c7-5d15e2ebf19e", + "8ca3c9fc-dbb5-55d2-f152-6f555661419b", + "e4e0d7f8-1781-33bf-5fce-2c2684076cc9" + ] + }, + { + "name": "Turret", + "origin": [ + 0, + 35, + 8 + ], + "color": 0, + "uuid": "dfac6aa7-8010-5eab-102a-74d4dec1e361", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "fcfd1aa0-c724-3df2-21b0-8200bf019b91", + "aad4923d-5ed3-e512-7fbd-4873f12b403b", + "b92a02bd-e3ac-e9c7-0526-f0f3aa5974b4", + "259d35fd-55eb-5704-12a3-abd7d2eb9793", + "f84b2dd9-b22a-7022-df99-02c8081b7c17", + { + "name": "TurretAccessory1", + "origin": [ + 25, + 35, + 8 + ], + "color": 0, + "uuid": "bddfd226-226c-47e7-5987-9c1f311dda49", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "5020bcde-065f-e340-c50d-254dca050c63", + "4727f00b-16d9-c613-aa5b-843a6f17eeb3", + "0c298511-3d3e-fd99-b110-47d02eb4fdb2", + "ee8c3c34-6f94-a926-d517-060c1e1ce8ff", + "c06cd3c1-c6a4-d59e-e6cc-74bbd6165e99", + "c0695e33-9545-d654-4ec5-48b25106fada", + "9771eea7-60d2-44a2-2f3a-876c2d56e685", + "d1d6b461-c862-2ced-a227-3f110b632b98", + "48f5115e-a157-c3e0-09a4-b0ddbe8262a1", + "765b5e7c-c6b2-9f48-0278-22499fd57177", + "f62e80ec-cc86-2b9e-1ef4-db0872e798f7", + "f23ee610-731d-e79d-8783-5cbf40d2acdd", + "08b68698-d2d7-bfec-7c72-5ae494263106", + "ee87d340-e6c2-6b1d-b1c3-c40ff04ea00c", + "3e637b61-47e6-300f-9eaa-f4d1313c60c3", + "b92f4263-0632-1aa3-8035-3776983b43be", + "7a6d3f5a-0177-282c-42e5-689c723ad17e", + "06599a7b-dc3b-2591-e987-fad9771ebefb", + "e97f9413-da53-5f51-19b2-19be3289e100", + "c70b706c-0fcd-4b04-370e-3a3fa06d2536", + "6b5ac5e7-238b-a791-6891-0c98383e1c45", + "a4bfcf19-da45-7c2d-a120-200c12038a58", + "d4abdcd5-0fd1-01ee-8b3f-5cec02b223e6", + "15694c71-873a-01c7-5c5e-0332653e170e", + "edb6623c-e172-7cb7-58f4-a945c5497582", + "3d92d410-d40f-4be5-f601-00c8d1fee356", + "7a34937d-a092-1dfd-2ef4-8e8a0e3bdcaf", + "89ab641e-3dba-964b-6d17-9f6e8e7c8bc2", + "26fc06b9-dfc1-ac76-f29c-0bfa2240fdbf", + "307b9303-b5c0-4175-428f-ae3db1c60118" + ] + }, + "20293855-9e90-2f2a-502b-538286626df9", + "a1fc80f5-8a97-65d3-028a-445b76fa7db5", + { + "name": "TurretAccessory4", + "origin": [ + 22, + 39.5, + -21 + ], + "color": 0, + "uuid": "a45732da-4b2a-7a85-9c7d-0e96c122cc8d", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8cf4dd29-a717-cd43-cad1-124eaa297352", + "37f5809c-3bc0-0aa0-5c0e-626bf9817e6b", + "818e7f65-e22e-08c2-78bf-3a36e0cfdeb3" + ] + }, + { + "name": "TurretAccessory5", + "origin": [ + -22, + 39.5, + -21 + ], + "color": 0, + "uuid": "b9a13c0b-6864-449a-b728-bda253882122", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "704fa7fa-3976-3ef3-01a8-e7e2d9a021a9", + "5f73fe38-e8f3-0446-9330-a27742a71504", + "e0644c3b-54d2-5abd-baf5-405f17aa757b" + ] + }, + { + "name": "TurretAccessory6", + "origin": [ + 18, + 42, + 15 + ], + "color": 0, + "uuid": "db14db01-a980-f755-d9a1-6a20f1b0b39f", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a3b36e01-dd9a-3e5e-3d55-a4769288f27b", + "c67017f8-816c-231a-6caa-270d1ad442c5" + ] + }, + { + "name": "TurretAccessory7", + "origin": [ + -18, + 42, + 15 + ], + "color": 0, + "uuid": "39c6fd3c-b0e7-f81b-2b93-86ea56820481", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "33d431f9-ec50-b52b-abcc-69ff0b1a92e2", + "78116950-382c-4ce2-139c-2b2e269d46f7" + ] + }, + "56232815-1d17-cb67-ac51-74e232d50a2e", + { + "name": "Hatch1", + "origin": [ + -22, + -28, + -33 + ], + "color": 0, + "uuid": "424dd521-d97b-7ad5-1be1-a8fc6196cad5", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d43ca323-3887-c6f9-5e47-944435bf8247", + "d62550bc-4a22-c704-5afd-46b374d3d34e", + "977b74fa-af39-7b49-f6b1-8f4412830637", + "5232aa7b-58bd-24ed-d634-ad0982a8a530", + { + "name": "Hatch1Cover", + "origin": [ + -20, + 57, + -3 + ], + "color": 0, + "uuid": "4199566b-a768-86c8-99e9-3aa51dea883c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "70c1538b-20b2-8385-ce5a-ad459263d1e6" + ] + } + ] + }, + { + "name": "Hatch2", + "origin": [ + 6, + 55, + -7 + ], + "color": 0, + "uuid": "1cc4798c-7a51-f77c-09b3-502650816773", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d2dcd8ad-80a4-50f5-7103-fdb10462dc26", + "851051cf-8ef9-a2da-cc92-712421443d9b", + { + "name": "Hatch2_Cover", + "origin": [ + 14, + 55.5, + -6.5 + ], + "color": 0, + "uuid": "87538cfa-528b-237a-416e-4727265c257b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "9ba12aa8-d0fd-0b14-4a42-034b16526cbf" + ] + } + ] + }, + { + "name": "Cannon", + "origin": [ + 0, + 43, + -26 + ], + "color": 0, + "uuid": "f6618df1-544b-c40b-a3f0-8bfe737605ab", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "44b4acd0-c812-5019-e768-f0160525369e", + "209defde-f730-a67a-c535-f20dee03e30a", + "ecaadded-28f8-b9a6-dc2e-a8f1ce55576c", + "feb91b66-7fe2-c113-4225-13881f4d3c3c", + "75528d9b-77e9-d65f-b2f5-e85efa95f0c8", + "c9aec315-2393-93ea-2ce9-66b2aad4b084", + "a33cbc01-915b-29d9-f43e-2ec82c703d83", + "a70055a6-8d5b-99a6-807a-f511ae93459e", + "f2baf53e-3c48-3150-1491-7b3532f1131c", + "fd5d0036-bdb3-7c21-fae9-742a684802c7", + { + "name": "HangingSign", + "origin": [ + 0, + 42, + -88 + ], + "color": 0, + "uuid": "98ac4942-e899-0c91-9c1c-a20a68b8369f", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "c1adac0d-74d6-57fe-1670-8273b0ba696f", + "0885a1ec-0e35-e97b-926c-8512c0daf1db", + "3566a0b3-7c70-50ba-2bcc-1494b8ea6a9e", + "23918a9d-7435-75fb-5747-3f860ea0b7ce", + "d04f5d13-fc1f-5e30-b45f-6d19ba18eab1" + ] + }, + { + "name": "ShineEffect", + "origin": [ + 3.5, + 46, + -26.9 + ], + "color": 0, + "uuid": "bde0d689-e475-a90c-2f41-8116bf4c3126", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "ShineEffect2", + "origin": [ + 3.5, + 46, + -26.9 + ], + "color": 0, + "uuid": "48efceac-2814-5f00-f3f5-f39db9e81d02", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "ShineEffect3", + "origin": [ + 3.5, + 46, + -26.9 + ], + "color": 0, + "uuid": "df673bc1-b515-b410-05fb-f6a806154c18", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b8309f68-1b4b-a1ba-7875-966ad4c06f41", + "450f4973-11d6-a130-e14c-dd2184ba0b23" + ] + } + ] + } + ] + }, + { + "name": "MuzzleAnchor1", + "origin": [ + 0, + 43, + -105 + ], + "color": 0, + "uuid": "5307491c-1dc4-e30f-6f01-ffa4a9ba3106", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "MuzzleAnchor2", + "origin": [ + 0, + 43, + -106 + ], + "color": 0, + "uuid": "fca3ef88-4b1c-0679-3f8f-b278254a9ceb", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + "3a923bdf-3b36-d32f-db5d-01d1ddf72a65", + "195165ae-a95d-583c-3f8d-b09d3d3cde16" + ] + }, + "c4d51419-9214-23c6-55bb-6ee1a1871598" + ] + } + ] + }, + { + "name": "Book", + "origin": [ + -7, + 13, + -2 + ], + "rotation": [ + 0, + 0, + -180 + ], + "color": 0, + "uuid": "89009693-7195-445f-f5bb-e68cffcd0fc4", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Book1", + "origin": [ + -6.5, + 13, + -2 + ], + "color": 0, + "uuid": "e70dba92-9244-6ba0-3ec7-8caaa8641cc8", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8c27c24e-8497-6130-e3f7-a91234230b63", + "19c558aa-3ae3-7fca-646b-cde0e787813b", + "f9abc5aa-e7be-8cd4-5374-ff8ed89ce34b" + ] + }, + { + "name": "Book2", + "origin": [ + -6.5, + 13, + -2 + ], + "color": 0, + "uuid": "89d9b99b-f480-e9cf-1bf9-538766fc287c", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ada45803-5bbb-d0ca-317e-5f41d71b9d95", + "c1bd6efa-23da-d5cb-4fca-b97b1c95d530", + "8e205c1d-a9f6-4716-a8fe-8a45a7745ec2" + ] + } + ] + }, + { + "name": "NoticeEffect", + "origin": [ + 6, + 29.5, + -3 + ], + "color": 0, + "uuid": "deab3c46-d88c-b167-4efb-62c3ac81e876", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "dcc2c88a-91a4-87aa-55b3-78f8bb9952bd", + "60c9b22f-9c2c-6076-15f9-d05632ca9a80", + "c8a9921e-5987-724a-67fc-b94f621ae308" + ] + }, + { + "name": "Shell", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "0b15d8aa-347f-d86b-dc5c-2045f600cc85", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "fe2da662-acbd-21c6-2442-1be259f0be3e", + "56581c02-0068-6960-7e00-aed0d1c0f0af", + "ca423b09-eabd-37b2-4dfe-c0fb8124fddc" + ] + }, + { + "name": "ShootAnimAnchor", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "9538f600-1237-b504-a8a8-a3a6f4444f30", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ], + "textures": [ + { + "path": "", + "name": "ex_skill_1.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 95, + "height": 184, + "uv_width": 95, + "uv_height": 184, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "19fd7256-e441-141e-9206-86ba8c544861", + "relative_path": "../../textures/ex_skill_1.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAF8AAAC4CAYAAACFDTDPAAAAAXNSR0IArs4c6QAADMFJREFUeF7tnX+MHVUVx+9btgv7djcFKlj/cBvS1BQCDSR0VWhrU4xisZoqQRqNIVqyRKypZdGNRGMM1sWiaWxMXH+SaGxDCEQpbYVS0ZYlbEkgLdHqpmm6+gc/pLZ5u1u73e6YM6/37cx99+fMuXdm2TPJZt7M/f053zn3zJ33ZitMst104wej5OlXX3u5wo+//KXeqGfVarZk8eKmkiPHjzfO8fT/nTsrayJ17rJL2415IMPIyChbsqRbmhfSrl64kM3varOqS8z06KM7WF/fJmXZM7VJZd3PPvN7Y5svDb0Y53lh//Z4X2m7tdKACic49B/t2JGq7IFN9U5xI2zZ8o3ok+vvlMLvvWcDG3xsZ8M4mPBNI+SAhg+/znqWX8/EPS9frc5PVTU1Ncm2bv1hCj4Yg29gFF538jykQ5oT/H29dfjVjTPwAbwIXRwsGAEM8NXPfCxas/Gb7PKuLna6Vmvs337rrSblj09MsImxM1puV139PhPXZkOPjMbnkleCC3wAzrcjR15nu3fvSbUhXgU2yh8YqKs6ufX3b44Plcq3Ac8rBAMcfHwbG37zshR4MMSalT2NK+nAweHYdUVsHpuYUMMHw8jggzoB0ORks9tKup/kZ1v4bW3tDIAnN4Cf1+3o4H/2+n/HzfX9/GS8/8tfD9eVL8J/4423Ux1buPCqxjHA/9wXe+PLWtxU8HWyBsN0VKtNWTigpUslc0vC98vgO19GjDFbn69zO87wVeC3ff978RgefOg78V40wH2b65eTavMx4SbbAuiwydyOrl8ivGTe4MqXwefgecfAAFnh+/L5MsA6v2y6GmyUv37tilSAwuvs798cu1gbn89dDuwrvuFn9fkyWDahpgmyKv0Xg4Ps3t56JKLaTPB1ZWHCBT//kVXLI9gr4UOCjdsZmxhLtddZ7Wwcc7cD8HVb0uff+qHl2rxttd2MdV4pzzN2qp7G9xBT/+Zh1tnRIc0/Nj4ep/E9ZLr5rq/X80rqaqpk7BSrXLkuhsiVb4LP0xvw4YTrhAvh5uBjOyMd/BPHXmb/eec0e8+Cyxv7gYHt0suWd+rc+Sj62hb5XPKTH29nbad+xViXYog1Vk/j+9Zrs8Gf+vtMHbwuWZOQNu+9jJ1/s54KnxXCWP3R+pg4dF6dNNrRWZDH+gBfl6/3ng1a0LKymPBfeXJfStVie0rlu8BnjG3s3RZX/cvBBxm74tr4zhWOo8kXIwZ1McZW3z6ohi9TvwwOBw9pvuDrDDr067VObiTpUqzhO7gdUH0S/ivP7WPLv/BEDP/w7+5siDMZ2yf7kWl5wQY+9/l8ktRNljrgkCarI3lPYSrvK/3Pg59IXf3i/MINoWq/csft66Jn9j0tNQIv9I/jR9ktt6xo1DE0dIiOc/DY/6dn69EOwH/goW83wO7ctYttuPtu5bFoRTG/L5X5rNc0Blcmtn2trFp5W/TdrT8g+AnBmQRmMpY1fFI+YyaYWZWvWxyM3Q4pHw++CFtcHBTTyeczPPi6lVhQuphOykeEz309LPDJNvERJym/SPjk8/Hcjkrx4lXArwBSPqLyneGT8kn5tvclXvJhxflelG8acXI5wpS3jOkA37TZLLk4wzfd4Zo6ZVKNqXwZ0l3HoMrvDN/k85NwuEJsVFAGqLZ9kC0fQFnVFW0yFlqczweQbFD12XawZcvnOjY0+DbKlzXGz5k6UjbQsv7oxqIbu1iXaSHNeW0HGiD4M883VDxkazemhTbj2g65nTR4HXzxSjAttBnvcGnCbXZUWK7WWvkq343VkSLnBtcxuOZXjc1J+brJqkh4edt2hSnmz/pNClK+xcKaaFw0+OIdbl4V+Srvqs6s/QjVDlwtTcrP2mnf5UJBCdVODJ+Un5ZNUPjiHa5vBWetPxSUUO2Q8iVKCAqflF+g2yGfXyB8Un6B8En5BcIn5RcIn5RfIHxSfoHwZ4vys96clbXcrFrbKSvErP2aVXe4WQdZ1nKk/AItE1T5odZMQrWT9elV0t7B1vNDQQnVDgr8UNFOKCih2kGBHyrODwUlVDso8EMpv8C5rTRNiwYL5vNLQ6DAjjTBJ+WHswYpPxzrppZI+Yjw4Yuwsk32IlbIR8pHgs/Bi2+mXbas/rJXmQFI+QjwVeB51SoDkPKR4IuKF6sFA4jqJ+UjwYdqWlvV7+qXvYSblI8E3wRe5vdJ+UjwUdxOqLUdhDGXpgq0CTfrHa7tr61LQ+xiR7L+TxVxHCihZlblz3X4YIzcN1mk/HDXJlq0Q8p3NxpatEPwEeCTz3eHmLUEKT/jf5DLCly2msnryvwki9yOvTlUz3sz/xqR4CPAJ59vDzFrTlI+8h2uiyGU8En5Lhiz5SXlk/KzKQezFNbCmkufSPmzXfmzNbxUqTTUVYCifILv4mxm8qJEOwQfGb7Lej7BR4bvEucTfGT4pPxsQKHUsWPHU4Vl/68dbVWTlJ/NUBTtSLi5hJqm/5GuMovu50NO6/lzWfle4JPPt3MlXuBTtFMgfFK+HfyjR+uRzQ03LLYrcDEX+XwFLpcJ1wt8Ur6dkL3AJ59fIHxSfoHwSfkFwiflFwiflF8gfFJ+gfBJ+QXCJ+UXCJ+UXyB8Un6B8En5BcIn5RcI30X5um6W9SmXy8qlbnxeFtZclE/wC1zPJ/jI8En55PPtCGTIRT4/AzSsIqWGT9GOnZkp2rHjlMo1J5Sv4hIq/seCrBpHqZVP8OUE0L63k+GqZ6T8noqKm/bdC9Xq/Ea55HsiVedljZQBPsY4vLgdXbQDnQbosMGrDPmX/1Xnyww/7zi8wNfd4cIL3JLvj+TwVefLCh9jHF7gY8X5NOFmmHB1ysfwleTzNROub5+f1IMPQ9jE9xhzlxe349vnlwH+nPX5ZYCf5f5ELONF+dDIgYPDkayDGD6/DPAxxlEI/LzxcVng5x1HcPgYvrIM8DHG4eXXiDq3g+ErywAfYxzB4WP4yjLAxxhHIfDz+sqywM87juDwMXxlGeBjj8PVjSlffEE+3xWle36C784MrQTBR0PpXhHBd2eGVoLgo6F0rygTfNf42PRs1/eSMnZ/3TG7PVCJn6zrFtZc4mPTs90Q8DH7Wyh81/jY9GzXN3zs/hYKH6txXo9v+Nj9xarP2uf79Jsh4fsch6tRnOD78puh4WONI2+/169dIf3WWtOE69Nv5h2ETHGqB+iY44B+2zyol/UPylrDd72kXPKHhO/SL1Negq8glFWRJuDiamzWdrTKV8X4Lp2brXn5Gr3ua9wwtqf2HIreVfCxXFBWKAB1TsNfv3ZFrovmqT2HMk+EpYKPpURO06TIi76Q4AOBPDO6SNCmLoLPWIVPuBzYmpU9udR44OCwlSEJPsFnfX2bWOHRDilffcF7DzUJPsF3mm/eVaEmhIc04Tbbn9yO5Jog5QtQKNRMA7FaWKMJlyZcmnCdCJDb0eKaE25Hd5c6PT0dtbS0NJ6jiscmsVG0Y4h2VPABNBTl8MVjE3j+MMUmnyqP8hlukQtreQYkLl3r4M/vaG9qqnb2nPI9OGLmvE/7lF8dKQo+BvhkHbIBdrVfGqt+9W03NjX3wvOvxedsjEDwDdYS4QN4Dv0Pf3yJcfWfGT8b1/TpT3043oMRTAYIBh9DkTYPUzDaUSmfgwfoDffU0c44eDjHjQEGMhkgCHxMIKbHiJhtQV1J5dvA5wYoBXxsGKHr4/A5eO7TRbUnj20N4E35N13TKn3phQreff0/jZO6u7vj/aJFi+L9yZMn4/3o6Gi8/9nA/U78Xz0x1RR9jI/9LerovM4qKuEhJLgTUDN3OXBsMgD4f53r8Qp/8ftn3iJ4RVdrCtp/a1ON4+nTF9i9j+xMQRcJcyN86yvrmEu9Tx45nQs+9AMMIMLn6tYZoHD4HPqJf9bYNR/oalItGAHgP7xryErRn79jWQxfNKZYmNcrgz89fSFqabnESvm8Xpm/NxmAwwcDJe+EeZ1elX/zdQsaTJLwRUO8869zTvCT9eosBvViwwc3IvPvuoiHp4kGmKPw02syVpccYyw56ZoMYHI50KZX+En3YHI74PP5JKuCAX6f+3xbt/Pbobo7a68uVTI+O3EsTjNNwrqIR3RBNvBtje6arwLRjsvE+PH7H2mKdHijyYgHoh2XeuVuJ5vyoT/JO1zRBfFJGfKZbrBcgbrkj+EvaG2zLrN/ZMJqAsSo13XpVxwE1tqONRzHjDF8xzLMh7FkfcgLPxkBifWrJldXFnnyN9yOrW8+URvLHULadtjlJstUp2xdXxZWmurBTK/s3bs3ggkU/LVsv6i7hVUql7BKpZVVWubNfIbj+A/Owb6FRdFU/W/6/Mzn6MLFz3Cu/tk0YfIBYsMvGrZouP8DB6+GU36lskIAAAAASUVORK5CYII=" + }, + { + "path": "", + "name": "oak_log.png", + "folder": "", + "namespace": "", + "id": "1", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "e3cd0a87-c238-0893-ff05-e1bbc16d1107", + "relative_path": "../../textures/for_modeling/oak_log.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAWNJREFUOE9tkztKBEEQhqtjRRYfbOKugcGKgqKIIBoJLih6AE30CoKB1zDzBl7ASFPFRAQNREGTWZPFB4toPPI3fk3N2p00VdP1VdVfNeFwd6l87PRsfXHcOt1v07m8K2ynPV2xV+ea1qgP2sXNa3r71vuxAGBrZdKu7wsbqw1EwP72fMX2gKlGLSZKAAW0JkaiMwdQhQrSrVMBHB+slafnD6YMIgpAADa3Eo0OD0WA2rl96loQQH3J6R8CXJ5tplZ8AjSLAIlHVoSiZLRZaNWjgPgTYG9zpvRlUxp6yFYCbvn91AIA9YfSClC5yspoASuZ/5bG+P75FUf3XHykEQEgQKLJxy14BFCW+vUAZWPeaEDvVJwAekifuWmgUxbgJ0D/fqGoig2VTUw4Odooz65e0nYhlkrWguVWmraUJAI8MTcuieZHHYX5O5VF8n+kQKx4/7/g3/0DsG39G8kP5JdIYv8CYR14YImgBlUAAAAASUVORK5CYII=" + }, + { + "path": "", + "name": "oak_log_top.png", + "folder": "", + "namespace": "", + "id": "2", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "beb51bc9-861a-df55-85cc-2534fe9e7d70", + "relative_path": "../../textures/for_modeling/oak_log_top.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAXJJREFUOE+NUz1LA1EQ3EMCXmLkSBQMYlALUaOIYCNip02wEBuxsrD159imFgvFysZeEUQJgqQSiUgETTjMxwlBIrNx4r1cPpzm3dt9zM3uzlr76VSjWK5LPBqSUSci725VeBcRjeVeXM0D/hzu1tb6TONwd1WThFeviR0KC874cFSKn2VNIebH0cm1WFCwl16Rq7uc5sZizUe2MySeW9HTIHcrel2Ym5LM6Y1JsLGW0mTN++6oiMGn57xMTybl+OK2SbC9OS+F1w8NQnYvoIyCWxInMijnl49/PUAw4cSUAGQsAydKARLjI9oHKMB35ixrKkAQuH/Iy/Ji0hACUuap1ijBrX4ZCvAYMQBy8Y0zUAJ70I0A8kFGBf4SWj042FnSP/h7QLmsgwpwJ1mgB5wCm/hWqqkv6IV/l9BvjJxCxzHq2H6t3E4UtgfUZIExwsrwAa3LufdSYjgRBASdyGVCvNtCtXzQvqL91nl2wtG1B34AyiwSvFu3ohAAAAAASUVORK5CYII=" + }, + { + "path": "", + "name": "oak.png", + "folder": "", + "namespace": "", + "id": "3", + "width": 64, + "height": 32, + "uv_width": 64, + "uv_height": 32, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "fc95b95b-5560-65bb-1cdc-4801b417abce", + "relative_path": "../../textures/for_modeling/oak.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAAXNSR0IArs4c6QAAA9lJREFUaEPtWM9rE0EUfiutif2dSBqLtAjqRTzozYsFUZHqpVYPiuChUKQoWERPKvTgRRSpUA9SvYiCl5ZetBQVpSr4B4gKRiitWNNq2tqkJrUY+SZ8cXab2LDJZlPsu+zOznuz8773vZk3Y4hFXtxtT0ZmZ6TnsSGVVX7paP4ulZ61Jq1YYiHdpl7X/jnxeCtkbDwsPxfjcn1wQRo21MuJXTNp3XVl3vQ7dCC6XsBfK23nBgzrnJxsL/nZwI22JH7Y/26bRL6F5fiOL+r/wUC1cpACRyHDn3ea9PBtOjYvvUOLqv9MS5l4PWskk/PxxG+TXmODz30A7nUfUgDAsfHR99J1UDXTorMBTABQVr3xieklAHAAHQgrUL7KCjnZ/chdBiAFEvF56XlSLaHQB+nt3KjmrkcfKULpG1mv9K62B1SqAJSpyKw8eFMnE18n5Xzr3/TJxAJdD/1FBwAOwxk4rQsAiEUjcvFwedYUhLMAgHqZQCIo1COjrOsKfqKPBz3oHDj90FFGGMh5TgYTwHt4ak7uvPKqCF4+WqMAqKrxmICI/kioNvXAAAr7aIM29cAIMkEfE6yBkBH4L/qdXhSN5n1HkiNP+42t23cnP759aRvtltYOxSSwAYIxs1KnhDqU45gPtix90nAoV2cIIp5gDYDMF9BiYZQ1SnRgOUfgNOoFLIRkEMEjGMVyxs5/sgKQS2pQBw4PDfaZxtJZUcrpYGSjOulsTQ2inEuUc9GxE7VC2theBBn1f6UIdciGQk68UGOlaYsKEPU5ylNUZJu3NMmvRELVB9jfyz2pbfBTaEzV+tRjTY++TNsbvnNbxDv1T115VhK7hAkAlKas25sag0uKIx52dD286wL7TALAdDl77XlpAPD6fmcyOjstVbU+wZPRZvTxHYI2hEwIT6YOQ8H6oLKza+90obNcqhjDt46pOgDVHyszOoXvAARpgCrRX1unxmMb1dumhlQFaNfe7VRQAMA55CmOvDzroyQmGxBhfCcw+I4DEQHIx76kAEDeQ+Acow3K6+kA6qMPLBidmFIMIAB27F0HgBcgjCYpj5xm3pP2jDyZoNPern2xj7/WNUGdBkF/bE+4ktKpr2+DuiFYASbADutGPvauA8AbIDjIRVBf7LgQMhWYIngi6volhx1711OABRAcoQNkAS9J9MUQjjPnwRrY8WnH3nUAbl/aq7ZBVnZwggBgMeS7vv3hnbRnati1dx2Amxf2pG89WcVhLeANDSs49FmrOeuCYsfe7YqwJMrR5ao1J/tXAXAS3ZUw9ioDVkKUnJzjKgOcRHcljP3fM+APRxg+TjN0iUEAAAAASUVORK5CYII=" + } + ], + "animations": [ + { + "uuid": "f54a5b63-35ee-9ee5-5d51-84a156277357", + "name": "ex_skill_1", + "loop": "once", + "override": false, + "length": 5.65, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "0f9d6663-9ef4-b7a1-b1e5-7f44499a304e": { + "name": "Tank", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 25, + "z": 0 + } + ], + "uuid": "5837967e-27c7-e06d-42d5-c5ad0d528d4d", + "time": 2.55, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.4038, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.4038, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "ff2e5d91-1f13-c72d-ad20-3042595960c4", + "time": 3.25, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.20393, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.20393, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "9e2ba11d-ff70-4e8f-9553-9c312424f085", + "time": 3.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 14 + } + ], + "uuid": "cc37f398-64d9-2d8a-927d-4db99237ce84", + "time": 3.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -404 + } + ], + "uuid": "2d16d118-5e5e-15c6-421a-04f3dcd6e13b", + "time": 5.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.99542 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.99542 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "7727ef07-16b4-5002-5d61-380b31d71f98": { + "name": "RightCrawlerWheel1", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 0 + } + ], + "uuid": "a9865526-9423-dd1a-e7da-b5f6d5629200", + "time": 2.55, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.39667, + -0.4038, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.39667, + 0.4038, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-90", + "y": "0", + "z": 0 + } + ], + "uuid": "76d26f02-f2a6-d9e4-756d-9ea30e43955f", + "time": 3.25, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.19667, + -0.20393, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.19667, + 0.20393, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-90", + "y": 0, + "z": 0 + } + ], + "uuid": "28f23d07-5887-4950-11ed-c0c7de5bb8ca", + "time": 3.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-180", + "y": 0, + "z": 0 + } + ], + "uuid": "d5e32159-aad3-17bd-ac5f-8b831d509c13", + "time": 3.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "1260", + "y": 0, + "z": 0 + } + ], + "uuid": "8f77fb8c-7e5d-ad8c-4246-581c89fdb6d3", + "time": 5.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "bd6b6216-9575-98c8-ce0c-2485cdda5c9d": { + "name": "RightCrawlerWheel2", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 0 + } + ], + "uuid": "fbc7b718-448e-11d7-f566-5ba38cd3a74c", + "time": 2.55, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.39667, + -0.4038, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.39667, + 0.4038, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-90", + "y": "0", + "z": 0 + } + ], + "uuid": "4ce71d3a-0434-399e-e6cf-cab4d2fa87f0", + "time": 3.25, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.19667, + -0.20393, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.19667, + 0.20393, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-90", + "y": 0, + "z": 0 + } + ], + "uuid": "907e7583-203a-c62b-691f-f23d68766373", + "time": 3.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-180", + "y": 0, + "z": 0 + } + ], + "uuid": "ddb8cbbf-1b33-cd4e-9589-8abada49756d", + "time": 3.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "1260", + "y": 0, + "z": 0 + } + ], + "uuid": "6115aae8-2b1f-5d13-fc1e-7e990c579292", + "time": 5.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "76fa40dd-dff5-8d5d-6e66-11d3185d8d80": { + "name": "RightCrawlerWheel3", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 0 + } + ], + "uuid": "79afae01-436e-bd18-ba3a-5313794c9ef4", + "time": 2.55, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.39667, + -0.4038, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.39667, + 0.4038, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-90", + "y": "0", + "z": 0 + } + ], + "uuid": "ab713221-9487-f3d3-b089-f3441efefd2e", + "time": 3.25, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.19667, + -0.20393, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.19667, + 0.20393, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-90", + "y": 0, + "z": 0 + } + ], + "uuid": "e38607a7-3ec6-157b-e233-b1fd4849f48b", + "time": 3.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-180", + "y": 0, + "z": 0 + } + ], + "uuid": "e305e8db-43eb-40fd-f084-f292e8c079b1", + "time": 3.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "1260", + "y": 0, + "z": 0 + } + ], + "uuid": "965514ce-f7a1-7f7f-ac73-b6dae9131496", + "time": 5.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "d199ec04-9313-b6d5-044d-45b7c09eea45": { + "name": "RightCrawlerWheel4", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 0 + } + ], + "uuid": "4d8b24ae-2131-91eb-7bbe-a3b3b82af3c7", + "time": 2.55, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.39667, + -0.4038, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.39667, + 0.4038, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-90", + "y": "0", + "z": 0 + } + ], + "uuid": "c1d02c14-24df-4714-ab69-d66129c50147", + "time": 3.25, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.19667, + -0.20393, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.19667, + 0.20393, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-90", + "y": 0, + "z": 0 + } + ], + "uuid": "57c2d0a1-fb96-1703-45e8-57558c1efd05", + "time": 3.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-180", + "y": 0, + "z": 0 + } + ], + "uuid": "71dd0570-1855-ca7f-e536-4c4c74f41a91", + "time": 3.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "1260", + "y": 0, + "z": 0 + } + ], + "uuid": "94e1dd65-fde9-ea17-c419-1d7f1c9ddc34", + "time": 5.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "bc1bbfdc-0c72-e19b-e901-86b6261c0abe": { + "name": "RightCrawlerWheel5", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 0 + } + ], + "uuid": "0efe9774-67dc-0a92-9bb7-0b007c81474b", + "time": 2.55, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.39667, + -0.4038, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.39667, + 0.4038, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-90", + "y": "0", + "z": 0 + } + ], + "uuid": "f87f5e57-3c35-9557-1ba5-826507bd06d9", + "time": 3.25, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.19667, + -0.20393, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.19667, + 0.20393, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-90", + "y": 0, + "z": 0 + } + ], + "uuid": "de5b243d-b6e7-bcce-a0bc-8ced7ce96905", + "time": 3.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-180", + "y": 0, + "z": 0 + } + ], + "uuid": "e85ebc63-0c9f-7ca5-5c9c-27e30ef71768", + "time": 3.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "1260", + "y": 0, + "z": 0 + } + ], + "uuid": "01f6c23a-b427-e890-0f45-0a6aa4fef45f", + "time": 5.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "068c97d2-0e38-2f48-327b-ab7f48fb8f9e": { + "name": "RightCrawlerWheel6", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 0 + } + ], + "uuid": "7d4ebbe9-273e-cc66-f623-fbf94be226a2", + "time": 2.55, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.39667, + -0.4038, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.39667, + 0.4038, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-90", + "y": "0", + "z": 0 + } + ], + "uuid": "c04d4968-384e-e0af-f305-7044a0a86bfd", + "time": 3.25, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.19667, + -0.20393, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.19667, + 0.20393, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-90", + "y": 0, + "z": 0 + } + ], + "uuid": "eb409025-8504-4adf-fce0-ebf57569c13e", + "time": 3.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-180", + "y": 0, + "z": 0 + } + ], + "uuid": "1b9cc15d-cb8f-fc7d-ed9d-f813dfdcb8e9", + "time": 3.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "1260", + "y": 0, + "z": 0 + } + ], + "uuid": "cfdc61d5-3949-7208-d86f-82bab5a61221", + "time": 5.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "c608411a-27c0-40e7-700c-9e4466cb593f": { + "name": "RightCrawlerWheel7", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 0 + } + ], + "uuid": "78aa8327-2715-1e95-ff73-dfcba9b74d29", + "time": 2.55, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.39667, + -0.4038, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.39667, + 0.4038, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-90", + "y": "0", + "z": 0 + } + ], + "uuid": "7e04676b-bece-74b9-c12c-fe07ffdf1c13", + "time": 3.25, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.19667, + -0.20393, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.19667, + 0.20393, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-90", + "y": 0, + "z": 0 + } + ], + "uuid": "ea81f8ae-4df1-f5f4-5763-a8cbc476faf3", + "time": 3.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-180", + "y": 0, + "z": 0 + } + ], + "uuid": "ccc4f55d-8324-0d2b-5270-89423d82320f", + "time": 3.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "1260", + "y": 0, + "z": 0 + } + ], + "uuid": "bf4c7f2b-597d-b227-93da-c4810d8e0631", + "time": 5.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "380d975d-349a-ab4e-afa8-d3fddf9c1e99": { + "name": "RightCrawlerWheel8", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 0 + } + ], + "uuid": "65bb399d-4f08-949d-743b-d61d0af93397", + "time": 2.55, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.39667, + -0.4038, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.39667, + 0.4038, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-90", + "y": "0", + "z": 0 + } + ], + "uuid": "afa28d13-e05a-e2d1-3c1f-eb1089f501d8", + "time": 3.25, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.19667, + -0.20393, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.19667, + 0.20393, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-90", + "y": 0, + "z": 0 + } + ], + "uuid": "77514a4e-157e-0f48-5495-22ff604b0d44", + "time": 3.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-180", + "y": 0, + "z": 0 + } + ], + "uuid": "2665f6c5-b009-df7b-9a40-2e02144a4f9c", + "time": 3.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "1260", + "y": 0, + "z": 0 + } + ], + "uuid": "76076aac-f539-6ce2-4cb1-de5bb30f15cc", + "time": 5.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "b8b3fbe9-7883-7211-14e3-00284e88ecba": { + "name": "RightCrawlerWheel9", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 0 + } + ], + "uuid": "4760deb8-9e88-2db3-d798-6c8f70d5eb34", + "time": 2.55, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.39667, + -0.4038, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.39667, + 0.4038, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-90", + "y": "0", + "z": 0 + } + ], + "uuid": "2f35ac9b-50e5-8402-42c4-efd07076eaef", + "time": 3.25, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.19667, + -0.20393, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.19667, + 0.20393, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-90", + "y": 0, + "z": 0 + } + ], + "uuid": "b7113101-d799-ab8e-63aa-99a9c21ae620", + "time": 3.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-180", + "y": 0, + "z": 0 + } + ], + "uuid": "d268e5df-cefb-b101-1f93-fa447f8495b7", + "time": 3.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "1260", + "y": 0, + "z": 0 + } + ], + "uuid": "2c6f7e01-53d5-e424-4a46-b478240175f0", + "time": 5.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "bd73af1c-b34a-99ac-84c3-372035bfb096": { + "name": "RightCrawlerWheel10", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 0 + } + ], + "uuid": "b68a0507-537b-8877-0466-b304b52c6940", + "time": 2.55, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.39667, + -0.4038, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.39667, + 0.4038, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-90", + "y": "0", + "z": 0 + } + ], + "uuid": "8d1e74ad-fdab-de6a-540f-7cc08c4e9721", + "time": 3.25, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.19667, + -0.20393, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.19667, + 0.20393, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-90", + "y": 0, + "z": 0 + } + ], + "uuid": "250cb90e-aa42-29ca-4f36-624a092562a2", + "time": 3.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-180", + "y": 0, + "z": 0 + } + ], + "uuid": "c1808264-f8fb-e3e0-cd3c-9ebf76ffd9c8", + "time": 3.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "1260", + "y": 0, + "z": 0 + } + ], + "uuid": "e2e3180a-c9d2-c3b6-e369-d9209942f2ab", + "time": 5.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "de0ac184-a400-bef0-a8a5-e169c7f0e26d": { + "name": "RightCrawlerWheel11", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 0 + } + ], + "uuid": "2f76334f-67b4-8252-a918-b31c52bd6559", + "time": 2.55, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.39667, + -0.4038, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.39667, + 0.4038, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-90", + "y": "0", + "z": 0 + } + ], + "uuid": "1dcd858d-7f96-0ce2-742e-f68b46457265", + "time": 3.25, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.19667, + -0.20393, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.19667, + 0.20393, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-90", + "y": 0, + "z": 0 + } + ], + "uuid": "c2d294fe-0c68-b72e-eda0-5c0c709a8381", + "time": 3.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-180", + "y": 0, + "z": 0 + } + ], + "uuid": "07ebbf5a-edec-ebc2-5edd-d8b7abfd51a2", + "time": 3.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "1260", + "y": 0, + "z": 0 + } + ], + "uuid": "54442eb8-48da-e4dc-113f-468b82c476cc", + "time": 5.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "d74ea448-d1a4-4e60-2ba6-1554e5de59c9": { + "name": "LeftCrawlerWheel1", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 0 + } + ], + "uuid": "32fd6c96-200f-5df9-0329-e903c6db587f", + "time": 2.55, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.39667, + -0.4038, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.39667, + 0.4038, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "90", + "y": "0", + "z": 0 + } + ], + "uuid": "ed5ac41e-3e50-84d2-9511-812e3c9cb00d", + "time": 3.25, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.19667, + -0.20393, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.19667, + 0.20393, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 90, + "y": 0, + "z": 0 + } + ], + "uuid": "199a0cdf-55fe-0578-42bd-bfc7a5e00b30", + "time": 3.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "84cd7be1-090f-deca-a306-f83e74022f9c", + "time": 3.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "1440", + "y": 0, + "z": 0 + } + ], + "uuid": "dbe1353a-34af-9164-8b95-c0a9f5526ae2", + "time": 5.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "b64b35f7-a689-1914-5500-aa624d7e8e78": { + "name": "LeftCrawlerWheel2", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 0 + } + ], + "uuid": "1cd7fb99-f285-a6eb-b652-d2b4e0c9e1f1", + "time": 2.55, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.39667, + -0.4038, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.39667, + 0.4038, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "90", + "y": "0", + "z": 0 + } + ], + "uuid": "1f10bada-7054-be7b-645d-0e123761bf63", + "time": 3.25, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.19667, + -0.20393, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.19667, + 0.20393, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 90, + "y": 0, + "z": 0 + } + ], + "uuid": "a4a8f646-32bf-e0b7-fb6c-96669ff8788a", + "time": 3.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "f761dca8-d9f9-91f6-9dfb-9c7e1855fbf3", + "time": 3.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "1440", + "y": 0, + "z": 0 + } + ], + "uuid": "30b3ad87-7d24-1510-94d9-5c08a0f13729", + "time": 5.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "adaf2d73-04b4-c4da-53b1-f5a6044ba3aa": { + "name": "LeftCrawlerWheel3", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 0 + } + ], + "uuid": "3bfed9e6-a42c-d2f2-5167-251d5fe30f3f", + "time": 2.55, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.39667, + -0.4038, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.39667, + 0.4038, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "90", + "y": "0", + "z": 0 + } + ], + "uuid": "2121fe0d-7cf5-4c4e-92c5-61c3113da42d", + "time": 3.25, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.19667, + -0.20393, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.19667, + 0.20393, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 90, + "y": 0, + "z": 0 + } + ], + "uuid": "d643a587-9bf1-c676-1973-2946a030ebc0", + "time": 3.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "4dcc70d2-abc2-fd05-1c22-e1c3badc7a70", + "time": 3.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "1440", + "y": 0, + "z": 0 + } + ], + "uuid": "5545f27f-e590-dba0-f8b6-bb5ab34f77a1", + "time": 5.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3da2ba5c-d731-7f13-a4c5-74e69551a0db": { + "name": "LeftCrawlerWheel4", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 0 + } + ], + "uuid": "64e53c2e-2140-28d0-9b76-86a9d801f8f0", + "time": 2.55, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.39667, + -0.4038, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.39667, + 0.4038, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "90", + "y": "0", + "z": 0 + } + ], + "uuid": "27247393-db7f-3078-1b9d-5acd2b7d6d06", + "time": 3.25, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.19667, + -0.20393, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.19667, + 0.20393, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 90, + "y": 0, + "z": 0 + } + ], + "uuid": "afce36f2-886b-8755-ac8e-f6503b2e16aa", + "time": 3.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "52a89804-5aea-5149-b79a-6f2f9f6930d3", + "time": 3.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "1440", + "y": 0, + "z": 0 + } + ], + "uuid": "b73e83a3-21dc-fba0-25fe-45200de55c98", + "time": 5.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "b1b3c157-7ad8-4d71-2893-e87577468ee4": { + "name": "LeftCrawlerWheel5", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 0 + } + ], + "uuid": "eba81f2c-2372-0ed6-a44e-72663567b97d", + "time": 2.55, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.39667, + -0.4038, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.39667, + 0.4038, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "90", + "y": "0", + "z": 0 + } + ], + "uuid": "eae3a387-d69f-2b09-d8b2-6e09a4bafd1f", + "time": 3.25, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.19667, + -0.20393, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.19667, + 0.20393, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 90, + "y": 0, + "z": 0 + } + ], + "uuid": "bc3d038c-e833-ea00-b394-e8b5f1ffc4b9", + "time": 3.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "cda78e83-9f4e-60ff-c1b2-e306d2d5a0d8", + "time": 3.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "1440", + "y": 0, + "z": 0 + } + ], + "uuid": "84de11dd-4f39-e55c-fd07-e8fe27aefd62", + "time": 5.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "85138896-ab07-7578-142e-bd51bc19679a": { + "name": "LeftCrawlerWheel6", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 0 + } + ], + "uuid": "efc0616e-99f1-d5e0-6e6c-61d947dd6a03", + "time": 2.55, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.39667, + -0.4038, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.39667, + 0.4038, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "90", + "y": "0", + "z": 0 + } + ], + "uuid": "ba3db283-6b74-755e-693b-21349160a073", + "time": 3.25, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.19667, + -0.20393, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.19667, + 0.20393, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 90, + "y": 0, + "z": 0 + } + ], + "uuid": "4dbae59c-a35d-9c19-2eff-5ee9994fffee", + "time": 3.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "3df4b85d-6490-408d-e4b4-b7468ef8ca12", + "time": 3.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "1440", + "y": 0, + "z": 0 + } + ], + "uuid": "09b31d39-2f25-06ca-d9e2-5def56e9e2a8", + "time": 5.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "a84ac41a-1281-8cd5-1885-efd601bf3301": { + "name": "LeftCrawlerWheel7", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 0 + } + ], + "uuid": "3edb7b7e-fd69-3ddd-3ccc-644541699399", + "time": 2.55, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.39667, + -0.4038, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.39667, + 0.4038, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "90", + "y": "0", + "z": 0 + } + ], + "uuid": "4b793593-f68c-93f3-7117-b9842248697f", + "time": 3.25, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.19667, + -0.20393, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.19667, + 0.20393, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 90, + "y": 0, + "z": 0 + } + ], + "uuid": "ea69f809-fba0-2f89-de18-203f64b8c7ca", + "time": 3.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "01809807-b510-2f55-fc8c-f5f9928190d1", + "time": 3.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "1440", + "y": 0, + "z": 0 + } + ], + "uuid": "b9f9144e-5256-9c42-8984-3027305ee1a0", + "time": 5.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "7ffdbaef-1b69-912b-d5ea-c4b0b8ff5b86": { + "name": "LeftCrawlerWheel8", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 0 + } + ], + "uuid": "c2779590-cf74-7fe1-cd83-77f03723089d", + "time": 2.55, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.39667, + -0.4038, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.39667, + 0.4038, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "90", + "y": "0", + "z": 0 + } + ], + "uuid": "2f966f10-6ade-722e-1d5f-838e724d4461", + "time": 3.25, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.19667, + -0.20393, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.19667, + 0.20393, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 90, + "y": 0, + "z": 0 + } + ], + "uuid": "918899e4-234b-ca97-3e19-b57d34f22db6", + "time": 3.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "7688c07b-f248-0186-b824-14c6210e4aa2", + "time": 3.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "1440", + "y": 0, + "z": 0 + } + ], + "uuid": "f256f100-7885-e028-c3b4-35fa1a91b748", + "time": 5.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "cf157b7e-87f7-2071-4db0-20ba9a42d89f": { + "name": "LeftCrawlerWheel9", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 0 + } + ], + "uuid": "b1fc9435-e87b-39bf-7801-5ca0d200aab1", + "time": 2.55, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.39667, + -0.4038, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.39667, + 0.4038, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "90", + "y": "0", + "z": 0 + } + ], + "uuid": "444952d1-a1ad-e48b-cd86-16d98dd60a5a", + "time": 3.25, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.19667, + -0.20393, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.19667, + 0.20393, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 90, + "y": 0, + "z": 0 + } + ], + "uuid": "a5062a32-a85c-5187-6d0d-4cca42187bea", + "time": 3.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "d3645cf4-e694-8dd7-1e13-e9b7b5fea91b", + "time": 3.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "1440", + "y": 0, + "z": 0 + } + ], + "uuid": "6554caf5-c892-3bfe-b270-0cfb07070377", + "time": 5.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "f3866b22-8a48-d7dd-42ad-0724438a9802": { + "name": "LeftCrawlerWheel10", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 0 + } + ], + "uuid": "0d43d593-328f-5716-21be-8937bf4fe0bc", + "time": 2.55, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.39667, + -0.4038, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.39667, + 0.4038, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "90", + "y": "0", + "z": 0 + } + ], + "uuid": "bc7d61f9-224a-21f5-8a9b-e258123eafdb", + "time": 3.25, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.19667, + -0.20393, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.19667, + 0.20393, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 90, + "y": 0, + "z": 0 + } + ], + "uuid": "d2cb7443-e038-523c-25db-a946c2388718", + "time": 3.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "35700da3-daf1-d581-45db-30ec02e46e85", + "time": 3.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "1440", + "y": 0, + "z": 0 + } + ], + "uuid": "647deb21-a42b-6e2a-1706-aa2149e15dc3", + "time": 5.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "41ce565c-0d48-d5c3-a393-2246ca986100": { + "name": "LeftCrawlerWheel11", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 0 + } + ], + "uuid": "4186693c-62da-2192-db01-186c606b6cd7", + "time": 2.55, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.39667, + -0.4038, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.39667, + 0.4038, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "90", + "y": "0", + "z": 0 + } + ], + "uuid": "dddb085f-2c40-5670-255e-9551ea42cec0", + "time": 3.25, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.19667, + -0.20393, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.19667, + 0.20393, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 90, + "y": 0, + "z": 0 + } + ], + "uuid": "411cf310-4f2b-adcf-59d6-46bf7a7b0b30", + "time": 3.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "0620f826-cb76-42c4-34fb-ea62d75b5935", + "time": 3.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "1440", + "y": 0, + "z": 0 + } + ], + "uuid": "b32380dd-0d88-37c5-1d58-44855f3e2654", + "time": 5.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "387d87f0-51e8-0881-986d-a659cb155955": { + "name": "TankBody", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "856cabd5-907d-c7c5-2618-142142167b7b", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "1", + "y": 0, + "z": 0 + } + ], + "uuid": "17992787-561f-735c-84e9-e143eeee9844", + "time": 3.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "5b9a5340-b7ff-6aee-89c3-2326675700fc", + "time": 3.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "284eab02-13fa-0125-b3d4-c1fca054c44f", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "-0.5", + "z": 0 + } + ], + "uuid": "88d20e86-8ae0-9f63-13af-0b7a944ac2db", + "time": 3.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "f71bda51-bef4-7998-316f-6a907bccdee9", + "time": 3.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "dfac6aa7-8010-5eab-102a-74d4dec1e361": { + "name": "Turret", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 37.5, + "z": 0 + } + ], + "uuid": "fd0cbb10-371e-6127-8af5-f09ca161120a", + "time": 2, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1986, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1986, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -27.5, + "z": 0 + } + ], + "uuid": "f3678878-9140-7aba-1182-50bb8abaa5e3", + "time": 2.5, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.15063, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.15063, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -27.5, + "z": 0 + } + ], + "uuid": "0f122b4e-7053-d017-1692-cd6ef4005487", + "time": 2.55, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.4038, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.4038, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 0 + } + ], + "uuid": "67a8be41-5bcd-fdb3-06dc-eba9e2bf333a", + "time": 3.25, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.20127, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.20127, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "4199566b-a768-86c8-99e9-3aa51dea883c": { + "name": "Hatch1Cover", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "180", + "z": "0" + } + ], + "uuid": "31418859-e27b-0e78-24cf-65653dff1363", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 11 + } + ], + "uuid": "543c318d-62f9-34e5-86b1-68f34106b7fa", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "98ac4942-e899-0c91-9c1c-a20a68b8369f": { + "name": "HangingSign", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "9d0dfc89-edd8-c9bd-755a-d9b3e9e14a01", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 70 + } + ], + "uuid": "eaeb3214-c91b-b619-05bd-3adf4ca1187c", + "time": 2.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 70 + } + ], + "uuid": "659103e1-ffa9-83bf-0749-5686b92d5e04", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -62.5 + } + ], + "uuid": "e2d963ac-31d7-eb7b-f194-a5d4a927bb1d", + "time": 2.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 25 + } + ], + "uuid": "764455cb-86af-e371-0cf6-cc3a67040849", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -15 + } + ], + "uuid": "9f2a50d4-4ea8-4e5a-befb-eafa2635634f", + "time": 3.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 7.5 + } + ], + "uuid": "57af6fea-e0ec-e956-d95a-f4d15fa00624", + "time": 3.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 0, + "z": "0" + } + ], + "uuid": "156f7c03-09dd-80da-c787-aa151e1f38f8", + "time": 3.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "20", + "y": 0, + "z": 0 + } + ], + "uuid": "6759b0f1-1a33-95b3-9c63-6b6313de0356", + "time": 4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 20, + "y": 0, + "z": 0 + } + ], + "uuid": "ae88b362-a505-3c5f-7a23-11d2ee5146a5", + "time": 5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "33f69ba9-f160-0f05-6960-b6cb3441be40", + "time": 5.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "89009693-7195-445f-f5bb-e68cffcd0fc4": { + "name": "Book", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 30, + "y": 0, + "z": -37.5 + } + ], + "uuid": "7d87241f-8bf6-c76b-00bd-772d56bfa7c8", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 47.05782, + "y": -46.91981, + "z": -75.62634 + } + ], + "uuid": "379a5d3b-3ec7-ba10-37dc-6bdaa8fd28f0", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": -0.75, + "z": -0.25 + } + ], + "uuid": "1ecf347a-fc5d-967f-f1dd-fd5a9004e7df", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e70dba92-9244-6ba0-3ec7-8caaa8641cc8": { + "name": "Book1", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 60, + "z": 0 + } + ], + "uuid": "2cd88afc-b4dc-7db6-683c-80d5279077af", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 0 + } + ], + "uuid": "1ae2469a-e008-be9c-9374-294135b09fe0", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "89d9b99b-f480-e9cf-1bf9-538766fc287c": { + "name": "Book2", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -60, + "z": 0 + } + ], + "uuid": "74064f7d-7389-b716-3d6e-976719c95917", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 0 + } + ], + "uuid": "8a6e8486-5d0e-dd0c-5b4e-a873af562677", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "bde0d689-e475-a90c-2f41-8116bf4c3126": { + "name": "ShineEffect", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "44a3b0d5-a0ca-fee1-3240-fd0019bab9f2", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -80 + } + ], + "uuid": "ab5a3779-395a-b607-36d6-d1749fe81b60", + "time": 3.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0.5", + "y": "0.5", + "z": "0.5" + } + ], + "uuid": "ccabc4ca-6ba4-b77c-b2a3-08aaa4281cb0", + "time": 2.5, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0.3", + "y": "0.3", + "z": "0.3" + } + ], + "uuid": "0a290cc5-8a91-60d9-896a-ecd46dca4d7b", + "time": 2.7, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 0.3, + "y": 0.3, + "z": 0.3 + } + ], + "uuid": "85d4ff6c-9ee1-6c40-41e1-e0546e5ebc47", + "time": 3, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "e10c9696-0680-3ab3-4806-5f1b91d90e3d", + "time": 3.1, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "8f5c1e30-3a68-17f6-d541-7c60eb6f7598", + "time": 3.45, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "4d67656c-e7d4-8c16-5561-142d9f22ca63", + "time": 3.25, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "3f398c2c-133d-0f9d-654f-096d94e69cc2", + "time": 0, + "color": -1, + "uniform": true, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "df673bc1-b515-b410-05fb-f6a806154c18": { + "name": "ShineEffect3", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "45" + } + ], + "uuid": "145ed03c-20cf-ae83-a109-4b2179a896fa", + "time": 2.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 45 + } + ], + "uuid": "b6b9f44a-efef-9697-0f57-7da054cea2d9", + "time": 3.1, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "90" + } + ], + "uuid": "3a2eb9e2-33f0-2ead-dd25-587d3ccf0a4e", + "time": 3.45, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.24667 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.24667 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + }, + { + "uuid": "7bf96442-601f-83d5-dcd2-6fcbfcb03c9d", + "name": "tank_idle", + "loop": "loop", + "override": false, + "length": 0.2, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "387d87f0-51e8-0881-986d-a659cb155955": { + "name": "TankBody", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "a73783fb-4ca9-651a-0a77-58073433140b", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "-0.25", + "z": 0 + } + ], + "uuid": "8924e2fb-4b94-4f32-5cdb-bfb43a00bac5", + "time": 0.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "0d92de35-80cb-654c-2720-e9f9e8dddad0", + "time": 0.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + }, + { + "uuid": "c4a31a5f-9014-6635-7165-058d33d60c32", + "name": "tank_start", + "loop": "hold", + "override": false, + "length": 0.5, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "4199566b-a768-86c8-99e9-3aa51dea883c": { + "name": "Hatch1Cover", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "758f97e1-e74c-b055-8a6c-38a1b2290948", + "time": 0, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "180", + "z": 0 + } + ], + "uuid": "2c37a35c-2746-5237-dca8-9e0d22f5efd6", + "time": 0.5, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.2995, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.2995, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + }, + { + "uuid": "205edaae-4d74-c380-f2ff-b22fb674bd19", + "name": "tank_move", + "loop": "loop", + "override": false, + "length": 1, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "7727ef07-16b4-5002-5d61-380b31d71f98": { + "name": "RightCrawlerWheel1", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "20e5b50d-9e41-3260-adc6-c133b1c24ea2", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "360", + "y": 0, + "z": 0 + } + ], + "uuid": "ba5dfec6-7221-bdf3-5e6b-e49f3cd92054", + "time": 1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "bd6b6216-9575-98c8-ce0c-2485cdda5c9d": { + "name": "RightCrawlerWheel2", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "577a8f5f-3a30-dea7-1430-b8b0daf5367f", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "360", + "y": 0, + "z": 0 + } + ], + "uuid": "fc9c12fc-d177-b70c-882a-1a61ccd8ba38", + "time": 1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "76fa40dd-dff5-8d5d-6e66-11d3185d8d80": { + "name": "RightCrawlerWheel3", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "f553c203-e5f7-4a85-f996-d8140fc9552d", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "360", + "y": 0, + "z": 0 + } + ], + "uuid": "262ebac9-c14c-8758-d4bb-b73469f3f027", + "time": 1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "d199ec04-9313-b6d5-044d-45b7c09eea45": { + "name": "RightCrawlerWheel4", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "75ac05b7-dab1-85f9-3073-c78b2bb59947", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "360", + "y": 0, + "z": 0 + } + ], + "uuid": "256bfd0b-8cd2-5921-2a55-b2169736ffbc", + "time": 1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "bc1bbfdc-0c72-e19b-e901-86b6261c0abe": { + "name": "RightCrawlerWheel5", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "76cd2366-714d-8f9b-39da-41b45a8c0e9a", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "360", + "y": 0, + "z": 0 + } + ], + "uuid": "c885d47a-574b-eccd-8b27-0d759907bc75", + "time": 1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "068c97d2-0e38-2f48-327b-ab7f48fb8f9e": { + "name": "RightCrawlerWheel6", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "2fc84eac-7331-34da-277c-2b800932d915", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "360", + "y": 0, + "z": 0 + } + ], + "uuid": "ac52e703-987c-6a47-90ac-2a70ba711f06", + "time": 1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "c608411a-27c0-40e7-700c-9e4466cb593f": { + "name": "RightCrawlerWheel7", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "c2fd191e-d905-7f33-3a50-6f9490f57e0d", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "360", + "y": 0, + "z": 0 + } + ], + "uuid": "154a863f-b2db-30a6-52b3-9b28530ec87a", + "time": 1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "380d975d-349a-ab4e-afa8-d3fddf9c1e99": { + "name": "RightCrawlerWheel8", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "5b0e7a54-9908-302d-a2c2-9d002a2de310", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "360", + "y": 0, + "z": 0 + } + ], + "uuid": "916ddf7d-5420-ac3a-3f97-5ac320b3962a", + "time": 1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "b8b3fbe9-7883-7211-14e3-00284e88ecba": { + "name": "RightCrawlerWheel9", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "e0122fb3-ab97-6eb6-38fb-7cff39427a00", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "360", + "y": 0, + "z": 0 + } + ], + "uuid": "bf1a9b21-4ceb-e078-212e-cc295e85141f", + "time": 1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "bd73af1c-b34a-99ac-84c3-372035bfb096": { + "name": "RightCrawlerWheel10", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "7599f35f-9860-3747-f86e-3469be4a2439", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "360", + "y": 0, + "z": 0 + } + ], + "uuid": "ededc759-5c6a-dd3b-3128-352b579321fa", + "time": 1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "de0ac184-a400-bef0-a8a5-e169c7f0e26d": { + "name": "RightCrawlerWheel11", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "6b865232-185c-fc2e-7f4e-e57e854fabb3", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "360", + "y": 0, + "z": 0 + } + ], + "uuid": "326bec1a-e22a-209f-3d8d-6a856123b677", + "time": 1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "d74ea448-d1a4-4e60-2ba6-1554e5de59c9": { + "name": "LeftCrawlerWheel1", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "e7f2ccb6-e91d-f656-4434-8efff1da5e0b", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "360", + "y": 0, + "z": 0 + } + ], + "uuid": "0a2c2128-d98a-ed9a-802d-92ffc1c6688a", + "time": 1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "b64b35f7-a689-1914-5500-aa624d7e8e78": { + "name": "LeftCrawlerWheel2", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "ca03544d-87ac-9965-5e94-038525147027", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "360", + "y": 0, + "z": 0 + } + ], + "uuid": "fd344db3-7703-176c-0bd9-540db07cfa99", + "time": 1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "adaf2d73-04b4-c4da-53b1-f5a6044ba3aa": { + "name": "LeftCrawlerWheel3", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "d618e0f1-23c8-adb2-7d42-3b82f0d22013", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "360", + "y": 0, + "z": 0 + } + ], + "uuid": "66e7120b-2417-eb2d-d57f-9d2877b2c6bb", + "time": 1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3da2ba5c-d731-7f13-a4c5-74e69551a0db": { + "name": "LeftCrawlerWheel4", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "83742f6f-1442-b553-bd89-f2e42ca62688", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "360", + "y": 0, + "z": 0 + } + ], + "uuid": "e5fc41c4-caba-cd64-2737-4c454332c9e2", + "time": 1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "b1b3c157-7ad8-4d71-2893-e87577468ee4": { + "name": "LeftCrawlerWheel5", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "6d258b1f-56cf-1e8b-53fb-bb78afccb592", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "360", + "y": 0, + "z": 0 + } + ], + "uuid": "69364c7c-74de-2b75-dfe6-7b82a41b70b0", + "time": 1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "85138896-ab07-7578-142e-bd51bc19679a": { + "name": "LeftCrawlerWheel6", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "bef9db38-5cb7-830a-8870-341fcf560eb4", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "360", + "y": 0, + "z": 0 + } + ], + "uuid": "795436e5-2a3c-0344-2602-c0475edc66cc", + "time": 1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "a84ac41a-1281-8cd5-1885-efd601bf3301": { + "name": "LeftCrawlerWheel7", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "a082031e-2b9f-79c5-0dfa-ba7893bc0612", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "360", + "y": 0, + "z": 0 + } + ], + "uuid": "3f7dfbed-bd27-6b28-c468-060921207952", + "time": 1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "7ffdbaef-1b69-912b-d5ea-c4b0b8ff5b86": { + "name": "LeftCrawlerWheel8", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "961dfcde-719a-6d84-9b48-38872982070c", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "360", + "y": 0, + "z": 0 + } + ], + "uuid": "ff94fd1a-7787-79c3-8c0e-be7b65678d0b", + "time": 1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "cf157b7e-87f7-2071-4db0-20ba9a42d89f": { + "name": "LeftCrawlerWheel9", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "4f975f16-19fe-d2d4-1665-b25295d19b22", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "360", + "y": 0, + "z": 0 + } + ], + "uuid": "ea0b9ebb-f19a-43fc-6fe2-159e05c3fad1", + "time": 1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "f3866b22-8a48-d7dd-42ad-0724438a9802": { + "name": "LeftCrawlerWheel10", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "c53c4cc8-3cfe-16ce-88fc-3186a8d5621f", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "360", + "y": 0, + "z": 0 + } + ], + "uuid": "ab24d264-bf6d-2def-f7ea-62a0c6edb60a", + "time": 1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "41ce565c-0d48-d5c3-a393-2246ca986100": { + "name": "LeftCrawlerWheel11", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "eab203a8-ee2f-0ac0-fe5c-2ab31fd14a78", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "360", + "y": 0, + "z": 0 + } + ], + "uuid": "7a83f815-c48c-b0b8-7f56-b867d4f99c5b", + "time": 1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + }, + { + "uuid": "4dd7f6ca-6eca-ba04-f943-e07303cb9d44", + "name": "tank_shoot", + "loop": "once", + "override": false, + "length": 1.75, + "snapping": 20, + "selected": true, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "7727ef07-16b4-5002-5d61-380b31d71f98": { + "name": "RightCrawlerWheel1", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "319e9825-adbb-f8aa-b484-5ac7d0210813", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-90", + "y": 0, + "z": 0 + } + ], + "uuid": "fb29dc1c-4e93-d5ee-67dd-9a8b7a035366", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "728f5fd6-d69e-5d47-3ac6-4b9dd5bd6e8b", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "bd6b6216-9575-98c8-ce0c-2485cdda5c9d": { + "name": "RightCrawlerWheel2", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "e77bc56c-54fe-4a2d-a24f-1cd31f988237", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-90", + "y": 0, + "z": 0 + } + ], + "uuid": "e7149b74-fa80-72ab-6fdf-956a6d1eeb8c", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "2171486f-99ca-b205-b55e-19f97fae7fe2", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "76fa40dd-dff5-8d5d-6e66-11d3185d8d80": { + "name": "RightCrawlerWheel3", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "604eb4b2-91a4-b098-211b-d9e375afd3f3", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-90", + "y": 0, + "z": 0 + } + ], + "uuid": "90a8691f-99fc-924d-577b-98744e0e7792", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "f6299acb-d69d-88ff-0445-da6bc004df8c", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "d199ec04-9313-b6d5-044d-45b7c09eea45": { + "name": "RightCrawlerWheel4", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "d9471c92-5569-ac3f-b3ce-afb636f128a5", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-90", + "y": 0, + "z": 0 + } + ], + "uuid": "7fae3253-2634-4e7e-da66-3d62be37b8df", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "00f4d24d-8c3a-f850-6c03-4ac865ef244e", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "bc1bbfdc-0c72-e19b-e901-86b6261c0abe": { + "name": "RightCrawlerWheel5", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "2c3700ab-82b8-c545-1991-27e1b2706f40", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-90", + "y": 0, + "z": 0 + } + ], + "uuid": "fee7bbde-4f7a-1783-7580-783b7656fafe", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "e2ace00f-e8d6-18e4-1ba1-63a813923413", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "068c97d2-0e38-2f48-327b-ab7f48fb8f9e": { + "name": "RightCrawlerWheel6", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "7bfa2466-d3c2-29d6-a482-f6856b3a35bb", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-90", + "y": 0, + "z": 0 + } + ], + "uuid": "c8f85ae2-048b-04cb-a089-9f43de055cb7", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "689240db-f92b-5e69-0a60-a22ec5612cbf", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "c608411a-27c0-40e7-700c-9e4466cb593f": { + "name": "RightCrawlerWheel7", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "2175891b-f510-15e0-21d3-53a11ea8a095", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-90", + "y": 0, + "z": 0 + } + ], + "uuid": "02dddd04-dffc-0597-9d5a-95c0e423a462", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "53970a1f-7c27-09d8-0998-b7e2db37b945", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "380d975d-349a-ab4e-afa8-d3fddf9c1e99": { + "name": "RightCrawlerWheel8", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "4591e027-ee58-54cf-11af-03afa32052bc", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-90", + "y": 0, + "z": 0 + } + ], + "uuid": "db9ea66e-5da5-11be-bf6c-b22aa7c789e4", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "6c62c38b-e095-35c5-bf7c-13c7ea385097", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "b8b3fbe9-7883-7211-14e3-00284e88ecba": { + "name": "RightCrawlerWheel9", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "1d1eccd8-0348-eb15-45e7-f2048b82d82a", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-90", + "y": 0, + "z": 0 + } + ], + "uuid": "68a26a47-2a7f-a0d2-6b94-2142e0dd9d23", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "932a38a2-0335-3840-ebd7-01097e06c9ee", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "bd73af1c-b34a-99ac-84c3-372035bfb096": { + "name": "RightCrawlerWheel10", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "2c234120-bffd-a4ed-fd8d-d29ed423b7aa", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-90", + "y": 0, + "z": 0 + } + ], + "uuid": "529ffac5-19e4-5537-586b-eddf1a8f9dd4", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "e82b0fc0-cee3-735b-25d3-564d14f7b06e", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "de0ac184-a400-bef0-a8a5-e169c7f0e26d": { + "name": "RightCrawlerWheel11", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "4b26e4c5-c077-3f05-d639-f5166dedfa0d", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-90", + "y": 0, + "z": 0 + } + ], + "uuid": "797f1b8b-52e5-6bb8-eef8-4e0cb4f6ff20", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "71a73da8-19a4-f5e4-64f4-f2845e51b2c2", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "d74ea448-d1a4-4e60-2ba6-1554e5de59c9": { + "name": "LeftCrawlerWheel1", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "780265b3-a0a1-9124-c396-1070f4d2d7d6", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90, + "y": 0, + "z": 0 + } + ], + "uuid": "2a092bf0-0db5-fc7b-b39f-952f6f576b2e", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "ae8693b2-cf6e-05f8-bdea-f14b9ef74eda", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "b64b35f7-a689-1914-5500-aa624d7e8e78": { + "name": "LeftCrawlerWheel2", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "0fe23b2e-a5cc-e7cd-8773-7c5fad1e0901", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90, + "y": 0, + "z": 0 + } + ], + "uuid": "4d7496b9-249c-240d-0e08-23a35953c5f4", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "33e9e63f-d85c-2e93-50f9-3f7863b4f70d", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "adaf2d73-04b4-c4da-53b1-f5a6044ba3aa": { + "name": "LeftCrawlerWheel3", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "3d05b6e0-219b-aef8-d134-bc77ff4bef13", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90, + "y": 0, + "z": 0 + } + ], + "uuid": "b4cd71d5-fe0e-2980-cfff-4a6f11e7178d", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "d228c6b3-780b-9e9a-b191-f405581b1c20", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3da2ba5c-d731-7f13-a4c5-74e69551a0db": { + "name": "LeftCrawlerWheel4", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "52ff1507-699f-7582-ace5-37ed3f1845ec", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90, + "y": 0, + "z": 0 + } + ], + "uuid": "49fbd030-de36-696b-b4d8-b860a54cb7e4", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "c369f0bc-b731-e8f5-8382-89800f78effc", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "b1b3c157-7ad8-4d71-2893-e87577468ee4": { + "name": "LeftCrawlerWheel5", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "89705a63-ee0d-da6a-e3f8-90a25a7698ea", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90, + "y": 0, + "z": 0 + } + ], + "uuid": "145efd68-b399-a5c3-3dee-5f3f1fb1f059", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "5beb2986-20a7-ef6a-8fe1-88a57f87a12a", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "85138896-ab07-7578-142e-bd51bc19679a": { + "name": "LeftCrawlerWheel6", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "ac119acc-b926-1f3b-0962-3801cdd65fc3", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90, + "y": 0, + "z": 0 + } + ], + "uuid": "e86bfc8f-5e92-8d39-3106-afe24c9638a0", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "c1a543fb-1144-086f-a32e-a4c88291d26c", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "a84ac41a-1281-8cd5-1885-efd601bf3301": { + "name": "LeftCrawlerWheel7", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "bc442ce1-672e-37ff-3373-5737051a274d", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90, + "y": 0, + "z": 0 + } + ], + "uuid": "ccd2daa3-9d5d-ac0d-78f0-de99c0006a34", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "3ebe9d45-61b1-47c3-68d5-df80bc83b1d7", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "7ffdbaef-1b69-912b-d5ea-c4b0b8ff5b86": { + "name": "LeftCrawlerWheel8", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "e69c2c3e-d913-c1ee-d6e1-8130132287e0", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90, + "y": 0, + "z": 0 + } + ], + "uuid": "68f1d9af-2781-0b5b-1a2e-630fa5dd1b82", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "544840f5-f0e3-422f-8f5b-e3c124f791ce", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "cf157b7e-87f7-2071-4db0-20ba9a42d89f": { + "name": "LeftCrawlerWheel9", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "50e1bfa6-86e7-2ab4-78a4-0bbab5dc9a4c", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90, + "y": 0, + "z": 0 + } + ], + "uuid": "a9411888-e490-5780-15ca-e7fa9e6a6574", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "39d06f40-c8e4-6f18-a0a6-980e47d8581f", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "f3866b22-8a48-d7dd-42ad-0724438a9802": { + "name": "LeftCrawlerWheel10", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "eba85cab-642d-a04a-568f-a0c113145b84", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90, + "y": 0, + "z": 0 + } + ], + "uuid": "1675a8b0-3a9d-2161-2344-b48f39cd8456", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "1bca0f21-8f77-32f2-8926-c8f57c8849e2", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "41ce565c-0d48-d5c3-a393-2246ca986100": { + "name": "LeftCrawlerWheel11", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "d372b46e-d93b-1259-0a00-7af0758cb5ae", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90, + "y": 0, + "z": 0 + } + ], + "uuid": "2a22ff86-8d6f-9b12-a540-f81ed8b317c9", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "6c11277a-c112-230a-527e-37c88ad44f69", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "dfac6aa7-8010-5eab-102a-74d4dec1e361": { + "name": "Turret", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "9e22145d-9b78-8a02-3acc-a9aae5ee1050", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": -1, + "z": 0 + } + ], + "uuid": "dfe56f91-2f98-8005-64a5-5da0f012565b", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "19befe5d-b942-4c85-62a6-de711c824269", + "time": 1.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "f6618df1-544b-c40b-a3f0-8bfe737605ab": { + "name": "Cannon", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "14ba923f-512a-9b8f-67d6-953198e085e9", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 3 + } + ], + "uuid": "348999ae-3049-0886-3548-b7b62f13d7d3", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "4f365a6d-4bf9-433e-1a6f-7d6583fa8021", + "time": 1.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "98ac4942-e899-0c91-9c1c-a20a68b8369f": { + "name": "HangingSign", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "73c6af3a-f10e-ee80-77b7-e86eac2ca42d", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-25", + "y": 0, + "z": 0 + } + ], + "uuid": "a3d21b6d-f059-7ea4-8ef5-e97415fa105c", + "time": 0.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "15", + "y": 0, + "z": 0 + } + ], + "uuid": "b66ee5ea-29be-820a-eaaf-f01074b0f3c1", + "time": 1.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-5", + "y": 0, + "z": 0 + } + ], + "uuid": "becf1c25-d37a-321c-64b6-6cf6d2a11c7c", + "time": 1.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "4ae8b585-3f2f-1ecc-aead-20df207d2472", + "time": 1.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "9538f600-1237-b504-a8a8-a3a6f4444f30": { + "name": "ShootAnimAnchor", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "12ff48a4-a70f-1497-a898-04875e769d87", + "time": 0.65, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.03 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.03 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 10 + } + ], + "uuid": "110573c3-b87e-a77b-b6f8-4ad1494799bb", + "time": 0.85, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.39667 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.39667 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "0d699d1e-c5d2-a45e-ae7e-629845984cba", + "time": 1.75, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.4 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.4 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Iroha/models/ex_skill_frame.bbmodel b/config/yosbr/config/figura/avatars/Iroha/models/ex_skill_frame.bbmodel new file mode 100644 index 0000000..52727e4 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Iroha/models/ex_skill_frame.bbmodel @@ -0,0 +1,1179 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "ex_skill_frame", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 32, + "height": 16 + }, + "elements": [ + { + "name": "FrameTopLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d58488eb-4b98-5e52-740e-041d7c8c7b7f" + }, + { + "name": "FrameTop", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 16, + 0, + 32, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d7b279c5-8b54-f727-c9a0-07e530c5ab5a" + }, + { + "name": "FrameTopRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "86208108-703b-1a71-9e73-d829fcf93af0" + }, + { + "name": "FrameLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 16, + 0, + 32, + 16 + ], + "rotation": 270, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b38e5f11-842c-da8d-98f0-6570158f844f" + }, + { + "name": "FrameRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 16, + 0, + 32, + 16 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "72a70b22-fd81-174e-fbf8-59f6de9f116f" + }, + { + "name": "FrameBottomLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "rotation": 270, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8bd9fdba-ab88-a00c-3fbe-b5f33f230b66" + }, + { + "name": "FrameBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 16, + 0, + 32, + 16 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "77cf6831-3106-4f1e-8a19-d7d2cd39e07a" + }, + { + "name": "FrameBottomRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "99390453-8b25-0545-3dbf-db759d9122ff" + }, + { + "name": "FrameBarLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + -16, + -1000 + ], + "to": [ + 16, + 0, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + -6, + 4, + -99 + ], + "faces": { + "north": { + "uv": [ + 16, + 0, + 32, + 16 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "89423f5b-a0dd-39ba-2e32-74ba776e7d5f" + }, + { + "name": "FrameRBaright", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + -16, + -1000 + ], + "to": [ + 8, + 0, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + -6, + 4, + -99 + ], + "faces": { + "north": { + "uv": [ + 16, + 0, + 32, + 16 + ], + "rotation": 270, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "47e36d29-e769-b566-72a7-349097398d38" + }, + { + "name": "Particle1", + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "rotation": [ + 90, + 0, + 180 + ], + "export": true, + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "fvyx": [ + 4.6282, + 0, + 0 + ], + "URoh": [ + -2.3, + 0, + 4 + ], + "95Z0": [ + -2.3, + 0, + -4 + ] + }, + "faces": { + "4qMG6SMe": { + "uv": { + "fvyx": [ + 1, + 1 + ], + "95Z0": [ + 0, + 0 + ], + "URoh": [ + 0, + 1 + ] + }, + "vertices": [ + "fvyx", + "95Z0", + "URoh" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "b8f8c1d0-10bd-729b-caf4-15c768cff368" + }, + { + "name": "Particle2", + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "rotation": [ + 90, + 0, + -180 + ], + "export": true, + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "fvyx": [ + 4.6282, + 0, + 0 + ], + "URoh": [ + -2.3, + 0, + 4 + ], + "95Z0": [ + -2.3, + 0, + -4 + ], + "A1gx": [ + 3.104, + 0, + 0 + ], + "Rbsm": [ + -1.5379, + 0, + -2.68 + ], + "GZIF": [ + -1.5379, + 0, + 2.68 + ] + }, + "faces": { + "jydbDtJR": { + "uv": { + "Rbsm": [ + 0, + 1.32 + ], + "A1gx": [ + 0, + 6.68 + ], + "fvyx": [ + 0.7621, + 8 + ], + "95Z0": [ + 0.7621, + 0 + ] + }, + "vertices": [ + "Rbsm", + "A1gx", + "fvyx", + "95Z0" + ], + "texture": 0 + }, + "FShNpiER": { + "uv": { + "GZIF": [ + 0.7621, + 6.68 + ], + "Rbsm": [ + 0.7621, + 1.32 + ], + "95Z0": [ + 0, + 0 + ], + "URoh": [ + 0, + 8 + ] + }, + "vertices": [ + "GZIF", + "Rbsm", + "95Z0", + "URoh" + ], + "texture": 0 + }, + "Y8V06sJ8": { + "uv": { + "A1gx": [ + 6.68, + 0 + ], + "GZIF": [ + 1.32, + 0 + ], + "URoh": [ + 0, + 0.7621 + ], + "fvyx": [ + 8, + 0.7621 + ] + }, + "vertices": [ + "A1gx", + "GZIF", + "URoh", + "fvyx" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "26a9457e-5983-383c-377e-80178696ca03" + } + ], + "outliner": [ + { + "name": "Gui", + "origin": [ + 0, + 0, + -1000 + ], + "color": 0, + "uuid": "80d8e2e3-01bb-8e7a-de84-164a65212d5c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Frame", + "origin": [ + 0, + 0, + -100 + ], + "color": 0, + "uuid": "1a9432d3-a6a3-0042-6828-0adc1991dedf", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d58488eb-4b98-5e52-740e-041d7c8c7b7f", + "d7b279c5-8b54-f727-c9a0-07e530c5ab5a", + "86208108-703b-1a71-9e73-d829fcf93af0", + "b38e5f11-842c-da8d-98f0-6570158f844f", + "72a70b22-fd81-174e-fbf8-59f6de9f116f", + "8bd9fdba-ab88-a00c-3fbe-b5f33f230b66", + "77cf6831-3106-4f1e-8a19-d7d2cd39e07a", + "99390453-8b25-0545-3dbf-db759d9122ff" + ] + }, + { + "name": "FrameBar", + "origin": [ + 0, + 0, + -100 + ], + "rotation": [ + 0, + 0, + 45 + ], + "color": 0, + "uuid": "9a3f01ed-f49d-aaf3-78dd-22c36d7f20a7", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "89423f5b-a0dd-39ba-2e32-74ba776e7d5f", + "47e36d29-e769-b566-72a7-349097398d38" + ] + } + ] + }, + { + "name": "Particles", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "3f41b05a-dfcf-a9ea-5775-1b908472a151", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b8f8c1d0-10bd-729b-caf4-15c768cff368", + "26a9457e-5983-383c-377e-80178696ca03" + ] + } + ], + "textures": [ + { + "path": "", + "name": "ex_skill_frame.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 32, + "height": 16, + "uv_width": 32, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "d4a6d900-994d-d2db-a2a9-40eeb7363089", + "relative_path": "../../textures/ex_skill_frame.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAQCAYAAAB3AH1ZAAAAAXNSR0IArs4c6QAAAbdJREFUSEutVYtuwjAMtFOJ///KbbwLY4wJJZ6uxOzitmwSi1SlaVznend2te/7s4io/Ayjtd9jxvA4X/uzuO/ZOC7G3hJWAG8EgG/nEiMGe6nOnrzMgAdwXJxvuAeATxF5FZGNiOTAhB8QmfCwmHjqO/jg0T4zAADrO3dmN4SqamaGmfd4PdBRYzD7ezOsMnhjBrYislJVgHDUrHn0Ceef8hB7iT3BuQcAMCEk2FUAYGIf5OADXH82VTTnHKCRkRsPmNkqpbQtpfSYZ5jgJL+wPDJd/JDGhC7BhgD0fEIpRVNKTWn5s6k9vMvPYyzWUwwAwKEy0JdSTkEONpHL8dDp9BGjPtJUgUtQPQAf7AFAVY9/6BOxgTVunzO2A1jWElyrqksAUwLAu6ri+gCjXnJNCVCJ8r6XqpfmVFnHRjQAqAzsIIWIHCuAU84ZIP51jBoR+kD1gDMACQ6qes45n1JKADHVVpv6foCy8Ysz8CIi21iGlQHQ3wDIOX8tFotBjmdH0wnNbFndPxiQPAAZ7gwAQNd1+Ic8PRoGYMQJCcBAA6DrukvO+XK9Xi/+r7hbvhqSjRf3GPU3orWFV48IG9oAAAAASUVORK5CYII=" + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Iroha/models/gun.bbmodel b/config/yosbr/config/figura/avatars/Iroha/models/gun.bbmodel new file mode 100644 index 0000000..4ec24a8 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Iroha/models/gun.bbmodel @@ -0,0 +1,1719 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "gun", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 12, + "height": 11 + }, + "elements": [ + { + "name": "Barrel", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.9123, + 9.5, + -8 + ], + "to": [ + 0.9123, + 11.3246, + -1.4035 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 12.65448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 0, + 3, + 7, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 14, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 14, + 0, + 0, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 1, + 14, + 2 + ], + "rotation": 270, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 1, + 14, + 2 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "5874e89b-d221-2ece-5536-df09c3c26446" + }, + { + "name": "GunBody1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.1623, + 8.1667, + -7.5088 + ], + "to": [ + 1.1623, + 11.4649, + -5.8948 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 12.65448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 20, + 1, + 21, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 20, + 0.11, + 24.35, + 9 + ], + "texture": 0 + }, + "south": { + "uv": [ + 20, + 1, + 21, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24.35, + 0.11, + 20, + 9 + ], + "texture": 0 + }, + "up": { + "uv": [ + 20, + 1, + 21, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 20, + 1, + 21, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d9ec0df6-e2cc-89e0-bd8b-c0e80e14c3fa" + }, + { + "name": "GunBody2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.1623, + 8.1667, + -5.8948 + ], + "to": [ + 1.1623, + 10.7632, + -1.40358 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 12.65448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 7, + 3, + 19.11, + 10 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 19.11, + 3, + 7, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 20, + 1, + 21, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 20, + 1, + 21, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "ecbd9326-2933-307e-432c-4a509a34bc61" + }, + { + "name": "GunBody3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.1623, + 8.1667, + -1.4036 + ], + "to": [ + 1.1623, + 11.5351, + 7.0876 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 12.65448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 20, + 1, + 21, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 25, + 0.92, + 47.89, + 10 + ], + "texture": 0 + }, + "south": { + "uv": [ + 20, + 1, + 21, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47.89, + 0.92, + 25, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 20, + 1, + 21, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 25, + 9, + 47.89, + 10 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "adedb947-9234-b593-248f-594df0075df6" + }, + { + "name": "GunBody4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.1623, + 7.3246, + -5.7544 + ], + "to": [ + 1.1623, + 8.1667, + 6.5263 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 12.65448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 20, + 1, + 21, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0.52, + 10, + 33.62, + 12.27 + ], + "texture": 0 + }, + "south": { + "uv": [ + 26, + 9, + 27, + 10 + ], + "texture": 0 + }, + "west": { + "uv": [ + 33.62, + 10, + 0.52, + 12.27 + ], + "texture": 0 + }, + "up": { + "uv": [ + 20, + 1, + 21, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 20, + 1, + 21, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "71d94309-261c-1a82-d148-2b345ce84009" + }, + { + "name": "Sight1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 11.4649, + -6.807 + ], + "to": [ + 0.1, + 11.8158, + -6.1649 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 12.65448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 20, + 2, + 21, + 4 + ], + "texture": 0 + }, + "east": { + "uv": [ + 20, + 2, + 21, + 4 + ], + "texture": 0 + }, + "south": { + "uv": [ + 20, + 2, + 21, + 4 + ], + "texture": 0 + }, + "west": { + "uv": [ + 20, + 2, + 21, + 4 + ], + "texture": 0 + }, + "up": { + "uv": [ + 20, + 2, + 21, + 3 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5c2a50ba-2bb5-e831-feaf-7cbbd88b7545" + }, + { + "name": "Sight2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 11.4649, + 4.1404 + ], + "to": [ + 0.1, + 12.2368, + 5.3334 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 12.65448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 20, + 2, + 21, + 5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 20, + 2, + 21, + 5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 20, + 2, + 21, + 5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 20, + 2, + 21, + 5 + ], + "texture": 0 + }, + "up": { + "uv": [ + 20, + 2, + 21, + 3 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "a1765e0d-0966-8da2-3890-5ae70b1597d0" + }, + { + "name": "Hammer1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.75, + 9.5, + 7.0876 + ], + "to": [ + 0.75, + 10.5175, + 8.2455 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -55, + 0, + 0 + ], + "origin": [ + 0, + 9.5, + 7.0876 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 14, + 0, + 17.41, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 20, + 1, + 21, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 17.41, + 0, + 14, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 14, + 1.41, + 17.41, + 2.41 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "7206bbd4-0163-1951-5577-5b8b9d98c14f" + }, + { + "name": "Hammer2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.75, + 6.7492, + 5.1648 + ], + "to": [ + 0.75, + 8.1667, + 7.0876 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -30, + 0, + 0 + ], + "origin": [ + 10, + 8.1667, + 6.526 + ], + "faces": { + "north": { + "uv": [ + 20, + 1, + 21, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 34, + 10, + 38, + 11 + ], + "texture": 0 + }, + "south": { + "uv": [ + 20, + 1, + 21, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 38, + 10, + 34, + 11 + ], + "texture": 0 + }, + "up": { + "uv": [ + 15, + 1, + 16, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 34, + 10, + 38, + 11 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "7b2fe55b-217f-ac53-bd5a-1f4563694a6d" + }, + { + "name": "Grip1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.1623, + 1.6193, + 1.16802 + ], + "to": [ + 1.1623, + 7.3246, + 5.72152 + ], + "autouv": 0, + "color": 0, + "inflate": -0.001, + "origin": [ + 0, + 7.3246, + 1.168 + ], + "faces": { + "north": { + "uv": [ + 27, + 9, + 28, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 13, + 13, + 29.29 + ], + "texture": 0 + }, + "south": { + "uv": [ + 27, + 9, + 28, + 10 + ], + "texture": 0 + }, + "west": { + "uv": [ + 13, + 13, + 0, + 29.29 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "0cabeedf-e1c9-a47a-43a5-9756bf3bbd96" + }, + { + "name": "Grip2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.1623, + -0.575, + 1.093 + ], + "to": [ + 1.1623, + 1.954, + 5.642 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 7.3246, + 1.168 + ], + "faces": { + "north": { + "uv": [ + 27, + 9, + 28, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 13, + 13, + 26, + 20.2273 + ], + "texture": 0 + }, + "south": { + "uv": [ + 27, + 9, + 28, + 10 + ], + "texture": 0 + }, + "west": { + "uv": [ + 26, + 13, + 13, + 20.2273 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 27, + 9, + 28, + 10 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "49a43e9c-9c45-3b28-3a49-45730d57b5b5" + }, + { + "name": "Magazine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.1623, + -1.0662, + 0.893 + ], + "to": [ + 1.1623, + -0.575, + 5.0312 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 7.3246, + 1.168 + ], + "faces": { + "north": { + "uv": [ + 20, + 3, + 21, + 4 + ], + "texture": 0 + }, + "east": { + "uv": [ + 20, + 3, + 26, + 4 + ], + "texture": 0 + }, + "south": { + "uv": [ + 20, + 3, + 21, + 4 + ], + "texture": 0 + }, + "west": { + "uv": [ + 26, + 3, + 20, + 4 + ], + "texture": 0 + }, + "up": { + "uv": [ + 20, + 3, + 21, + 4 + ], + "texture": 0 + }, + "down": { + "uv": [ + 20, + 3, + 21, + 4 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "fcc44487-d84c-b499-534f-bbc9e02bae6c" + }, + { + "name": "TriggerGuard1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3158, + 4.3772, + -3.0175 + ], + "to": [ + 0.3158, + 5.0088, + -0.2807 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 12.65448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 20, + 1, + 21, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 20, + 1, + 21, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 20, + 1, + 21, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 20, + 1, + 21, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "1893f86f-820b-14f8-232f-eca711f58665" + }, + { + "name": "TriggerGuard2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3158, + 4.3772, + -0.2807 + ], + "to": [ + 0.3158, + 5.0088, + 2.4561 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -17, + 0, + 0 + ], + "origin": [ + 0, + 4.3772, + -0.2807 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 20, + 1, + 21, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 20, + 1, + 21, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 20, + 1, + 21, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 20, + 1, + 21, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "73784d66-ed0b-86d9-7d22-b244becb8919" + }, + { + "name": "TriggerGuard3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3158, + 4.3772, + -4.1824 + ], + "to": [ + 0.3158, + 5.0088, + -3.0175 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 4.3772, + -3.0175 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 20, + 1, + 21, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 20, + 1, + 21, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 20, + 1, + 21, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 20, + 1, + 21, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "7455a7ad-6107-350a-8dd4-976c82f298c3" + }, + { + "name": "TriggerGuard4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3158, + 4.3772, + -6.2723 + ], + "to": [ + 0.3158, + 5.0088, + -4.1824 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 4.3772, + -4.1824 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 20, + 1, + 21, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 20, + 1, + 21, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 20, + 1, + 21, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 20, + 1, + 21, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2327bf47-7442-1654-dfdb-bc315703d2a9" + }, + { + "name": "TriggerGuard5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3158, + 3.9772, + -6.2723 + ], + "to": [ + 0.3158, + 5.8017, + -5.7811 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 4.3772, + -4.1824 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 20, + 1, + 21, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 20, + 1, + 21, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 20, + 1, + 21, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 20, + 1, + 21, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 20, + 1, + 21, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "78a6149d-5ff2-bf1a-e483-faba4b6e7dd6" + }, + { + "name": "Trigger", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3158, + 5.02948, + -0.3491 + ], + "to": [ + 0.3158, + 7.32948, + 0.4228 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + 0, + 7.3246, + 0.4228 + ], + "faces": { + "north": { + "uv": [ + 27, + 14, + 26, + 15 + ], + "texture": 0 + }, + "east": { + "uv": [ + 26, + 14, + 29, + 15 + ], + "texture": 0 + }, + "south": { + "uv": [ + 27, + 14, + 26, + 15 + ], + "texture": 0 + }, + "west": { + "uv": [ + 29, + 14, + 26, + 15 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 27, + 14, + 26, + 15 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2370e95d-b4cb-4bf8-e733-a1b3eb04d0a9" + } + ], + "outliner": [ + { + "name": "Gun", + "origin": [ + 0, + 8.71272, + -0.09015 + ], + "color": 0, + "uuid": "20fe1cca-22a6-ca36-3dc4-e85c7c10e012", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "5874e89b-d221-2ece-5536-df09c3c26446", + "d9ec0df6-e2cc-89e0-bd8b-c0e80e14c3fa", + "ecbd9326-2933-307e-432c-4a509a34bc61", + "adedb947-9234-b593-248f-594df0075df6", + "71d94309-261c-1a82-d148-2b345ce84009", + "5c2a50ba-2bb5-e831-feaf-7cbbd88b7545", + "a1765e0d-0966-8da2-3890-5ae70b1597d0", + "7206bbd4-0163-1951-5577-5b8b9d98c14f", + "7b2fe55b-217f-ac53-bd5a-1f4563694a6d", + { + "name": "Grip", + "origin": [ + 0, + 7.3246, + 1.168 + ], + "rotation": [ + -13.5, + 0, + 0 + ], + "color": 0, + "uuid": "887b3fc8-f13d-e507-68cb-edb9d2bfa886", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "0cabeedf-e1c9-a47a-43a5-9756bf3bbd96", + { + "name": "Grip2", + "origin": [ + 0, + 1.6193, + 4.9715 + ], + "rotation": [ + 26.5, + 0, + 0 + ], + "color": 0, + "uuid": "77edf6a2-53d6-c7b3-6223-d67e3cd43733", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "49a43e9c-9c45-3b28-3a49-45730d57b5b5", + "fcc44487-d84c-b499-534f-bbc9e02bae6c" + ] + } + ] + }, + "1893f86f-820b-14f8-232f-eca711f58665", + "73784d66-ed0b-86d9-7d22-b244becb8919", + { + "name": "TriggerGuard3", + "origin": [ + 0, + 4.3772, + -3.0175 + ], + "rotation": [ + 48, + 0, + 0 + ], + "color": 0, + "uuid": "efa017bd-c04a-cfe1-80d2-a3420599cace", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "7455a7ad-6107-350a-8dd4-976c82f298c3", + { + "name": "TriggerGuard4", + "origin": [ + 0, + 4.3772, + -4.1824 + ], + "rotation": [ + 42, + 0, + 0 + ], + "color": 0, + "uuid": "07f9459e-c06c-2aab-f0ab-7d18e9ffc9b6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "2327bf47-7442-1654-dfdb-bc315703d2a9", + "78a6149d-5ff2-bf1a-e483-faba4b6e7dd6" + ] + } + ] + }, + "2370e95d-b4cb-4bf8-e733-a1b3eb04d0a9", + { + "name": "MuzzleAnchor", + "origin": [ + 0, + 10.4123, + -8 + ], + "color": 0, + "uuid": "d343c25a-cbb6-ede8-44ff-ff620de8068f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + } + ], + "textures": [ + { + "path": "", + "name": "gun.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 48, + "height": 33, + "uv_width": 48, + "uv_height": 33, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "7bd4b824-3db6-476b-99e3-dde805a618f1", + "relative_path": "../../textures/gun.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAhCAYAAACfiCi5AAAAAXNSR0IArs4c6QAAAo9JREFUWEdj/P/5zn8GEoGmaTpDdVk9iq7YJDtGkMDieYdINo9E61GUM/5/t5tkCzWtOsAe2Lx1MdywVWtngz3gZO+LYV5ifCklbsSrlywPMAq5gkIaqwewxcD8hd2084CGhjPOGEBPJsS4AjlWYOp9vWNRtII8BIoVQjQx9jGCPHDjxl4MtRoazgx62krEmEGymjdvXjCIiEgwEKKJMZjuHiDkaJg8MY4HqcHrAWKTELZkg8sBxHiAlExPlRggNtSIcTwoaZEC8HpASpyLaLPwWQxyeGuIG9FmoSusXrMLp16wB3DJwjIxsSEMMgdWHyCbGRac+v/f08sMsjJSJHsizN6Rof/AJdweCLGwAHuAVMMJGQyzEeR5YgAo3cPyEkjPvoObwRUjIcAI8wCpngB5AF/UwiwmNk2D6gpYc4SQo5HlKfIAvqglxREgtSAPYGuaEDIHZzQVhgRhzRugkO9duhSc5I4+eoVi/oMHdzHsi7azBIv1r1mHN0mAmiBkewCXY7H5HtkDRl4FcCWTZ1RhKLeWEwOLgfTE9M8CszVVTBi27JpPVPomFPogeXASIiUDI3vg6X9huB3I7R2YZ5A9YJmbSzVHY+QBangA2VCYZ85tmwCPAbp6ADlpgFwAcwgsOcDyAIiPHAvInpBmfAvngmKNLh5AdjhyhgKFKHJoInuAmHRKFw+AHI+rUTYkPLD00HG8gQkrDpEzMTGhD0t2NE9C6GU6uuPoUaIQGyBYS6Eh7wH0kgc9NOhRJFIUA7iKQ5ihsGKRliUKzTxArzKdIg9gK4VgJQ+ywYM2BpAzMazEwdWYo1WRSFEMgDyAz+EwwwdtDBDr+1EPEBtSRKojqz8wKPMAkR4G964GkwcAzcF/BzLoqEwAAAAASUVORK5CYII=" + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Iroha/models/main.bbmodel b/config/yosbr/config/figura/avatars/Iroha/models/main.bbmodel new file mode 100644 index 0000000..a6b2913 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Iroha/models/main.bbmodel @@ -0,0 +1,13300 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "main", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 64, + "height": 81 + }, + "elements": [ + { + "name": "Head", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 24, + -4 + ], + "to": [ + 4, + 32, + 4 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 8, + 16, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 8, + 8, + 16 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 8, + 32, + 16 + ], + "texture": 0 + }, + "west": { + "uv": [ + 16, + 8, + 24, + 16 + ], + "texture": 0 + }, + "up": { + "uv": [ + 16, + 8, + 8, + 0 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 0, + 16, + 8 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a66c63cf-0082-7797-3f4e-08ff434a1cac" + }, + { + "name": "HatLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 24, + -4 + ], + "to": [ + 4, + 32, + 4 + ], + "autouv": 0, + "color": 0, + "inflate": 0.5, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 32, + 0 + ], + "faces": { + "north": { + "uv": [ + 40, + 8, + 48, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 32, + 8, + 40, + 16 + ], + "texture": 0 + }, + "south": { + "uv": [ + 56, + 8, + 64, + 16 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 8, + 56, + 16 + ], + "texture": 0 + }, + "up": { + "uv": [ + 48, + 8, + 40, + 0 + ], + "texture": 0 + }, + "down": { + "uv": [ + 56, + 0, + 48, + 8 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d48552a8-9f0d-7335-2a82-794f3264fc9d" + }, + { + "name": "Body", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 12, + -2 + ], + "to": [ + 4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 16 + ], + "faces": { + "north": { + "uv": [ + 20, + 120, + 28, + 132 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 120, + 20, + 132 + ], + "texture": 0 + }, + "south": { + "uv": [ + 32, + 120, + 40, + 132 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 120, + 32, + 132 + ], + "texture": 0 + }, + "up": { + "uv": [ + 28, + 120, + 20, + 116 + ], + "texture": 0 + }, + "down": { + "uv": [ + 36, + 116, + 28, + 120 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "742e9ab7-8cdd-8d93-9a9a-88011f54d15b" + }, + { + "name": "BodyLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 12, + -2 + ], + "to": [ + 4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 32 + ], + "faces": { + "north": { + "uv": [ + 20, + 136, + 28, + 148 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 136, + 20, + 148 + ], + "texture": 0 + }, + "south": { + "uv": [ + 32, + 136, + 40, + 148 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 136, + 32, + 148 + ], + "texture": 0 + }, + "up": { + "uv": [ + 28, + 136, + 20, + 132 + ], + "texture": 0 + }, + "down": { + "uv": [ + 36, + 132, + 28, + 136 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2574fa9e-0d5f-502c-ce28-ef5cf30f41ec" + }, + { + "name": "RightArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 18, + -2 + ], + "to": [ + 7, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 44, + 120, + 47, + 126 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 120, + 44, + 126 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 120, + 54, + 126 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 120, + 51, + 126 + ], + "texture": 0 + }, + "up": { + "uv": [ + 47, + 120, + 44, + 116 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 100, + 0, + 100 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8831734e-ce90-e6bb-8368-e011a468277d" + }, + { + "name": "RightArmLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 18, + -2 + ], + "to": [ + 7, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 32 + ], + "faces": { + "north": { + "uv": [ + 44, + 136, + 47, + 142 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 136, + 44, + 142 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 136, + 54, + 142 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 136, + 51, + 142 + ], + "texture": 0 + }, + "up": { + "uv": [ + 47, + 136, + 44, + 132 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 100, + 0, + 100 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "cea7603d-ae80-e4e7-6f93-905551a79117" + }, + { + "name": "LeftArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 18, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 32, + 48 + ], + "faces": { + "north": { + "uv": [ + 36, + 152, + 39, + 158 + ], + "texture": 0 + }, + "east": { + "uv": [ + 32, + 152, + 36, + 158 + ], + "texture": 0 + }, + "south": { + "uv": [ + 43, + 152, + 46, + 158 + ], + "texture": 0 + }, + "west": { + "uv": [ + 39, + 152, + 43, + 158 + ], + "texture": 0 + }, + "up": { + "uv": [ + 39, + 152, + 36, + 148 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 100, + 0, + 100 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "af1aa9d5-0ccf-d579-b381-54ac7b12fb55" + }, + { + "name": "LeftArmLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 18, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 48, + 48 + ], + "faces": { + "north": { + "uv": [ + 52, + 152, + 55, + 158 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 152, + 52, + 158 + ], + "texture": 0 + }, + "south": { + "uv": [ + 59, + 152, + 62, + 158 + ], + "texture": 0 + }, + "west": { + "uv": [ + 55, + 152, + 59, + 158 + ], + "texture": 0 + }, + "up": { + "uv": [ + 55, + 152, + 52, + 148 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 100, + 0, + 100 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b74fb9e9-db24-b669-6f87-8469be63eda5" + }, + { + "name": "RightLeg", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 6, + -2 + ], + "to": [ + 4, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 4, + 120, + 8, + 126 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 120, + 4, + 126 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 120, + 16, + 126 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 120, + 12, + 126 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 120, + 4, + 116 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 100, + 0, + 100 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "da81ebbe-5b4e-2d46-144a-6f839ad6fa3c" + }, + { + "name": "RightLegLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 6, + -2 + ], + "to": [ + 4, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 32 + ], + "faces": { + "north": { + "uv": [ + 4, + 136, + 8, + 142 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 136, + 4, + 142 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 136, + 16, + 142 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 136, + 12, + 142 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 136, + 4, + 132 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 100, + 0, + 100 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "bcf37da3-caec-e8f2-bc82-76a3f169374c" + }, + { + "name": "LeftLeg", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 6, + -2 + ], + "to": [ + 0, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 48 + ], + "faces": { + "north": { + "uv": [ + 20, + 152, + 24, + 158 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 152, + 20, + 158 + ], + "texture": 0 + }, + "south": { + "uv": [ + 28, + 152, + 32, + 158 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 152, + 28, + 158 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 152, + 20, + 148 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 100, + 0, + 100 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9c06bc9a-beae-98d9-e9ce-9c8e6ddbb9d3" + }, + { + "name": "LeftLegLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 6, + -2 + ], + "to": [ + 0, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 48 + ], + "faces": { + "north": { + "uv": [ + 4, + 152, + 8, + 158 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 152, + 4, + 158 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 152, + 16, + 158 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 152, + 12, + 158 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 152, + 4, + 148 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 100, + 0, + 100 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f8f1e7ad-7999-9f17-0488-5dcbd4af7945" + }, + { + "name": "EyeLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1, + 25, + -4.01 + ], + "to": [ + 4, + 28, + -4.01 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 16, + 6, + 22 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "7853e9a2-b429-5a00-5e0e-70449c3a71ee" + }, + { + "name": "EyeRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 25, + -4.01 + ], + "to": [ + -1, + 28, + -4.01 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 12, + 16, + 6, + 22 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "328a2de5-64bc-807b-5906-227bfceedf26" + }, + { + "name": "Mouth", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 24, + -4.01 + ], + "to": [ + 1, + 25, + -4.01 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 28, + 16, + 36 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d9d80373-4145-9e90-28de-12248a8075d9" + }, + { + "name": "HeadRing", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 35, + -4 + ], + "to": [ + 4, + 35, + 4 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + -3, + 22, + -4 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 41, + 53, + 58, + 36 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "48cfe147-8711-a325-c722-fe73d6c4d87a" + }, + { + "name": "RightArmBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 7, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 44, + 126, + 47, + 132 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 126, + 44, + 132 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 126, + 54, + 132 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 126, + 51, + 132 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 100, + 0, + 100 + ], + "texture": null + }, + "down": { + "uv": [ + 50, + 120, + 47, + 116 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "643f9c05-2d3c-e1d1-5a2f-874902eb1784" + }, + { + "name": "RightArmBottomLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 7, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 32 + ], + "faces": { + "north": { + "uv": [ + 44, + 142, + 47, + 148 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 142, + 44, + 148 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 142, + 54, + 148 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 142, + 51, + 148 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 100, + 0, + 100 + ], + "texture": null + }, + "down": { + "uv": [ + 50, + 136, + 47, + 132 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b1a76f47-912e-c2d4-8090-6f6ac9734672" + }, + { + "name": "LeftArmBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 12, + -2 + ], + "to": [ + -4, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 32, + 48 + ], + "faces": { + "north": { + "uv": [ + 36, + 158, + 39, + 164 + ], + "texture": 0 + }, + "east": { + "uv": [ + 32, + 158, + 36, + 164 + ], + "texture": 0 + }, + "south": { + "uv": [ + 43, + 158, + 46, + 164 + ], + "texture": 0 + }, + "west": { + "uv": [ + 39, + 158, + 43, + 164 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 100, + 0, + 100 + ], + "texture": null + }, + "down": { + "uv": [ + 42, + 152, + 39, + 148 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a82219a3-e344-a4d8-c85c-51462943a7dc" + }, + { + "name": "LeftArmBottomLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 12, + -2 + ], + "to": [ + -4, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 48, + 48 + ], + "faces": { + "north": { + "uv": [ + 52, + 158, + 55, + 164 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 158, + 52, + 164 + ], + "texture": 0 + }, + "south": { + "uv": [ + 59, + 158, + 62, + 164 + ], + "texture": 0 + }, + "west": { + "uv": [ + 55, + 158, + 59, + 164 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 100, + 0, + 100 + ], + "texture": null + }, + "down": { + "uv": [ + 58, + 152, + 55, + 148 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d7794b2f-dbb3-2cd5-c956-cd163b703976" + }, + { + "name": "RightLegBottomLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -2 + ], + "to": [ + 4, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 32 + ], + "faces": { + "north": { + "uv": [ + 4, + 142, + 8, + 148 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 142, + 4, + 148 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 142, + 16, + 148 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 142, + 12, + 148 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 100, + 0, + 100 + ], + "texture": null + }, + "down": { + "uv": [ + 12, + 136, + 8, + 132 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "72c6eff7-d0eb-2ffa-193f-2ca402bdc722" + }, + { + "name": "RightLegBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -2 + ], + "to": [ + 4, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 4, + 126, + 8, + 132 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 126, + 4, + 132 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 126, + 16, + 132 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 126, + 12, + 132 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 100, + 0, + 100 + ], + "texture": null + }, + "down": { + "uv": [ + 12, + 120, + 8, + 116 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8b1cc891-ffa8-9f46-ebc0-f0b84e6ffb15" + }, + { + "name": "LeftLegBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 0, + -2 + ], + "to": [ + 0, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 48 + ], + "faces": { + "north": { + "uv": [ + 20, + 158, + 24, + 164 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 158, + 20, + 164 + ], + "texture": 0 + }, + "south": { + "uv": [ + 28, + 158, + 32, + 164 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 158, + 28, + 164 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 100, + 0, + 100 + ], + "texture": null + }, + "down": { + "uv": [ + 28, + 152, + 24, + 148 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a1169ee6-6a78-c7c4-9214-670991206468" + }, + { + "name": "LeftLegBottomLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 0, + -2 + ], + "to": [ + 0, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 48 + ], + "faces": { + "north": { + "uv": [ + 4, + 158, + 8, + 164 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 158, + 4, + 164 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 158, + 16, + 164 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 158, + 12, + 164 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 100, + 0, + 100 + ], + "texture": null + }, + "down": { + "uv": [ + 12, + 152, + 8, + 148 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a5173990-504e-f5c4-45c7-9347880c1306" + }, + { + "name": "Camera2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -1, + 1 + ], + "to": [ + 1, + 1, + 4 + ], + "autouv": 1, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "south": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "west": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "up": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "down": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "c2175bbe-2cfe-5bd6-da67-98c3b6cd21ee" + }, + { + "name": "Camera3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 1, + 1.25 + ], + "to": [ + 0.5, + 2, + 2.25 + ], + "autouv": 1, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "south": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "west": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "up": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "down": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "7e6a5cd5-aefb-6095-d77f-adf6c4130742" + }, + { + "name": "Camera4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 1, + 2.75 + ], + "to": [ + 0.5, + 2, + 3.75 + ], + "autouv": 1, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "south": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "west": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "up": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "down": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "31aaec73-9e98-c58c-c0ed-6d915f491f85" + }, + { + "name": "Camera1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + -1.5, + 0 + ], + "to": [ + 1.5, + 1.5, + 1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "south": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "west": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "up": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "down": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8b47234a-9700-3da5-47db-8f75a6aab837" + }, + { + "name": "HatBase", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.5, + 29.5, + -4.75 + ], + "to": [ + 4.5, + 31.5, + 4.25 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0, + 22.5, + -0.25 + ], + "faces": { + "north": { + "uv": [ + 9, + 53, + 18, + 55 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 53, + 9, + 55 + ], + "texture": 0 + }, + "south": { + "uv": [ + 27, + 53, + 36, + 55 + ], + "texture": 0 + }, + "west": { + "uv": [ + 18, + 53, + 27, + 55 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 6, + 0, + 6 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 6, + 0, + 6 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "7968e27f-7d6c-de21-490a-baf7156542c4" + }, + { + "name": "Hat", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5, + 31.5, + -5.25 + ], + "to": [ + 5, + 32.5, + 4.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 32, + -0.25 + ], + "faces": { + "north": { + "uv": [ + 10, + 65, + 20, + 66 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 65, + 10, + 66 + ], + "texture": 0 + }, + "south": { + "uv": [ + 20, + 65, + 30, + 66 + ], + "texture": 0 + }, + "west": { + "uv": [ + 30, + 65, + 40, + 66 + ], + "texture": 0 + }, + "up": { + "uv": [ + 10, + 55, + 20, + 65 + ], + "texture": 0 + }, + "down": { + "uv": [ + 20, + 55, + 30, + 65 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "be52795c-d5d3-d690-3a6b-7160b2bb8fea" + }, + { + "name": "HatFront", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 29.5, + -6.75 + ], + "to": [ + 4, + 30, + -4.75 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -30, + 0, + 0 + ], + "origin": [ + 0, + 29.75, + -4.75 + ], + "faces": { + "north": { + "uv": [ + 42, + 65, + 50, + 65.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 65, + 42, + 65.5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 52, + 65, + 60, + 65.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 50, + 65, + 52, + 65.5 + ], + "texture": 0 + }, + "up": { + "uv": [ + 42, + 63, + 50, + 65 + ], + "texture": 0 + }, + "down": { + "uv": [ + 50, + 63, + 58, + 65 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "789b2b2e-6ea9-e18e-4308-863c2d0a6ba5" + }, + { + "name": "HatLogo1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.25, + 30.5, + -5.375 + ], + "to": [ + 0.25, + 32, + -4.375 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -10, + 0, + 0 + ], + "origin": [ + 0, + 32, + -4.375 + ], + "faces": { + "north": { + "uv": [ + 27, + 0, + 29, + 6 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 2, + 25, + 4 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 24, + 2, + 25, + 4 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 2, + 25, + 4 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 2, + 25, + 4 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "0d66f34e-b810-a718-0982-78215c2173cb" + }, + { + "name": "HatLogo2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.25, + 30.665, + -5.375 + ], + "to": [ + 0.5, + 31.835, + -4.375 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -10, + 0, + 0 + ], + "origin": [ + 0, + 32, + -4.375 + ], + "faces": { + "north": { + "uv": [ + 26, + 0.66, + 27, + 5.34 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 2, + 25, + 4 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 24, + 2, + 25, + 4 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 2, + 25, + 4 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "ce27e939-f13c-9b3f-e205-b8b7c95bf382" + }, + { + "name": "HatLogo3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.5, + 30.835, + -5.375 + ], + "to": [ + 0.75, + 31.665, + -4.375 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -10, + 0, + 0 + ], + "origin": [ + 0, + 32, + -4.375 + ], + "faces": { + "north": { + "uv": [ + 25, + 1.34, + 26, + 4.66 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 2, + 25, + 4 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 24, + 2, + 25, + 4 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 2, + 25, + 4 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "fa070d22-d82c-3391-a2e0-a783ceed02b2" + }, + { + "name": "HatLogo4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.75, + 31.025, + -5.375 + ], + "to": [ + 1, + 31.525, + -4.375 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -10, + 0, + 0 + ], + "origin": [ + 0, + 32, + -4.375 + ], + "faces": { + "north": { + "uv": [ + 24, + 2, + 25, + 4 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 2, + 25, + 4 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "up": { + "uv": [ + 24, + 2, + 25, + 4 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 2, + 25, + 4 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "67345ec9-3dc4-dc3c-905e-c075df4f77d9" + }, + { + "name": "HatLogo5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 30.665, + -5.375 + ], + "to": [ + -0.25, + 31.835, + -4.375 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -10, + 0, + 0 + ], + "origin": [ + 0, + 32, + -4.375 + ], + "faces": { + "north": { + "uv": [ + 29, + 0.66, + 30, + 5.34 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 24, + 2, + 25, + 4 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 2, + 25, + 4 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 2, + 25, + 4 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "3ff70953-826f-45d3-e47c-528dc44a384d" + }, + { + "name": "HatLogo6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.75, + 30.835, + -5.375 + ], + "to": [ + -0.5, + 31.665, + -4.375 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -10, + 0, + 0 + ], + "origin": [ + 0, + 32, + -4.375 + ], + "faces": { + "north": { + "uv": [ + 30, + 1.34, + 31, + 4.66 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 24, + 2, + 25, + 4 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 2, + 25, + 4 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 2, + 25, + 4 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8874d3d0-1c1e-2d07-b272-84525fc45df0" + }, + { + "name": "HatLogo7", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 31.025, + -5.375 + ], + "to": [ + -0.75, + 31.525, + -4.375 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -10, + 0, + 0 + ], + "origin": [ + 0, + 32, + -4.375 + ], + "faces": { + "north": { + "uv": [ + 31, + 2, + 32, + 4 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 24, + 2, + 25, + 4 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 2, + 25, + 4 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 2, + 25, + 4 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f55b15bc-5857-c67d-6c69-d7d180bf463a" + }, + { + "name": "BackHair1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 14, + 1 + ], + "to": [ + 4, + 24, + 5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 23, + 2 + ], + "faces": { + "north": { + "uv": [ + 4, + 70, + 12, + 80 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 70, + 4, + 80 + ], + "texture": 0 + }, + "south": { + "uv": [ + 16, + 70, + 24, + 80 + ], + "texture": 0 + }, + "west": { + "uv": [ + 12, + 70, + 16, + 80 + ], + "texture": 0 + }, + "up": { + "uv": [ + 4, + 66, + 12, + 70 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 66, + 20, + 70 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "4d721e5f-9398-17e2-094d-d8c3d8ea8ecb" + }, + { + "name": "BackHair3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 12, + 1 + ], + "to": [ + 4, + 13, + 3 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 23, + 2 + ], + "faces": { + "north": { + "uv": [ + 30, + 82, + 38, + 83 + ], + "texture": 0 + }, + "east": { + "uv": [ + 28, + 82, + 30, + 83 + ], + "texture": 0 + }, + "south": { + "uv": [ + 40, + 82, + 48, + 83 + ], + "texture": 0 + }, + "west": { + "uv": [ + 38, + 82, + 40, + 83 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 6, + 0, + 6 + ], + "texture": null + }, + "down": { + "uv": [ + 38, + 80, + 46, + 82 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "770a7f9b-86b6-8ca8-2fc8-a5d0deb23b9e" + }, + { + "name": "BackHair4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -6, + 14, + 1 + ], + "to": [ + 6, + 23, + 3 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 23, + 2 + ], + "faces": { + "north": { + "uv": [ + 2, + 82, + 14, + 91 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 82, + 2, + 91 + ], + "texture": 0 + }, + "south": { + "uv": [ + 16, + 82, + 28, + 91 + ], + "texture": 0 + }, + "west": { + "uv": [ + 14, + 82, + 16, + 91 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 80, + 14, + 82 + ], + "texture": 0 + }, + "down": { + "uv": [ + 14, + 80, + 26, + 82 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d2b9fc5a-a298-efa3-9bcd-3822201d0a36" + }, + { + "name": "BackHair2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5, + 13, + 1 + ], + "to": [ + 5, + 24, + 4 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 23, + 2 + ], + "faces": { + "north": { + "uv": [ + 27, + 69, + 37, + 80 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 69, + 27, + 80 + ], + "texture": 0 + }, + "south": { + "uv": [ + 40, + 69, + 50, + 80 + ], + "texture": 0 + }, + "west": { + "uv": [ + 37, + 69, + 40, + 80 + ], + "texture": 0 + }, + "up": { + "uv": [ + 27, + 66, + 37, + 69 + ], + "texture": 0 + }, + "down": { + "uv": [ + 37, + 66, + 47, + 69 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "80faa7f9-9d8a-5171-11d6-3401257c9af3" + }, + { + "name": "BackHair1Layer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 14, + 1 + ], + "to": [ + 4, + 24, + 5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 23, + 2 + ], + "faces": { + "north": { + "uv": [ + 4, + 95, + 12, + 105 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 95, + 4, + 105 + ], + "texture": 0 + }, + "south": { + "uv": [ + 16, + 95, + 24, + 105 + ], + "texture": 0 + }, + "west": { + "uv": [ + 12, + 95, + 16, + 105 + ], + "texture": 0 + }, + "up": { + "uv": [ + 4, + 91, + 12, + 95 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 91, + 20, + 95 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "194db8ea-96a3-2727-8a30-4d8d5f5cf99d" + }, + { + "name": "BackHair2Layer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5, + 13, + 1 + ], + "to": [ + 5, + 24, + 4 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 23, + 2 + ], + "faces": { + "north": { + "uv": [ + 27, + 94, + 37, + 105 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 94, + 27, + 105 + ], + "texture": 0 + }, + "south": { + "uv": [ + 40, + 94, + 50, + 105 + ], + "texture": 0 + }, + "west": { + "uv": [ + 37, + 94, + 40, + 105 + ], + "texture": 0 + }, + "up": { + "uv": [ + 27, + 91, + 37, + 94 + ], + "texture": 0 + }, + "down": { + "uv": [ + 37, + 91, + 47, + 94 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f8c4a7c8-3a61-f77b-fafe-d5aba4e07b38" + }, + { + "name": "BackHair3Layer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 12, + 1 + ], + "to": [ + 4, + 13, + 3 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 23, + 2 + ], + "faces": { + "north": { + "uv": [ + 30, + 85, + 38, + 86 + ], + "texture": 0 + }, + "east": { + "uv": [ + 28, + 85, + 30, + 86 + ], + "texture": 0 + }, + "south": { + "uv": [ + 40, + 85, + 48, + 86 + ], + "texture": 0 + }, + "west": { + "uv": [ + 38, + 85, + 40, + 86 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 6, + 0, + 6 + ], + "texture": null + }, + "down": { + "uv": [ + 38, + 83, + 46, + 85 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "acfd1997-5f6c-68f4-a42a-667d9440e085" + }, + { + "name": "BackHair4Layer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -6, + 14, + 1 + ], + "to": [ + 6, + 23, + 3 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 23, + 2 + ], + "faces": { + "north": { + "uv": [ + 2, + 107, + 14, + 116 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 107, + 2, + 116 + ], + "texture": 0 + }, + "south": { + "uv": [ + 16, + 107, + 28, + 116 + ], + "texture": 0 + }, + "west": { + "uv": [ + 14, + 107, + 16, + 116 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 105, + 14, + 107 + ], + "texture": 0 + }, + "down": { + "uv": [ + 14, + 105, + 26, + 107 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b281f360-7024-9638-4c84-2c86b5ad279e" + }, + { + "name": "GehennaLogo", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7.26, + 20, + -1.8 + ], + "to": [ + -7.26, + 22, + 1.8 + ], + "autouv": 0, + "color": 0, + "origin": [ + -5, + 22, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 36, + 53, + 54, + 63 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d06e086c-edb7-d13e-d576-1a1f5608c48c" + }, + { + "name": "GehennaBlackRing", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7.25, + 21.75, + -2.25 + ], + "to": [ + -3.75, + 21.85, + 2.25 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + -5, + 22, + 0 + ], + "faces": { + "north": { + "uv": [ + 36, + 56, + 37, + 57 + ], + "texture": 0 + }, + "east": { + "uv": [ + 36, + 56, + 37, + 57 + ], + "texture": 0 + }, + "south": { + "uv": [ + 36, + 56, + 37, + 57 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 56, + 53, + 57 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 6, + 0, + 6 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 6, + 0, + 6 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d32908f7-43e6-15e9-c272-33fd33fa14a9" + }, + { + "name": "HeadRingTip1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.8, + 35, + -8.25 + ], + "to": [ + 0.8, + 35, + -3.98 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 0, + 45, + 0 + ], + "origin": [ + 0, + 35, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 58, + 44, + 61, + 52 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "4fe085d8-1150-029c-3323-b641963940a3" + }, + { + "name": "HeadRingTip2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.8, + 35, + -8.25 + ], + "to": [ + 0.8, + 35, + -3.98 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 0, + -45, + 0 + ], + "origin": [ + 0, + 35, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 58, + 44, + 61, + 52 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6d181fac-7af2-3fcd-e3ba-d1c4557d6d6b" + }, + { + "name": "HeadRingTip3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.8, + 35, + -8.25 + ], + "to": [ + 0.8, + 35, + -3.98 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 0, + 135, + 0 + ], + "origin": [ + 0, + 35, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 58, + 36, + 61, + 44 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "811eb931-ab95-2f54-f3aa-439e0bd859d8" + }, + { + "name": "HeadRingTip4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.8, + 35, + -8.25 + ], + "to": [ + 0.8, + 35, + -3.98 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 0, + -135, + 0 + ], + "origin": [ + 0, + 35, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 58, + 36, + 61, + 44 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "3d506be3-8bd5-15ca-abb6-7552ba8938f4" + }, + { + "name": "HeadRingTip5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.8, + 35, + -8.25 + ], + "to": [ + 0.8, + 35, + 0.28 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0, + 35, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 61, + 52, + 64, + 36 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "069f1e4f-5229-32f3-23ca-49613d302d93" + }, + { + "name": "HatRibbon", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4.475, + 27.55, + -0.25 + ], + "to": [ + 4.475, + 29.55, + 2.75 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 3.975, + 29.55, + -0.25 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 24, + 6, + 27, + 8 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 27, + 6, + 24, + 8 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ef527760-7ce6-e416-6fa1-045a4252be6d" + }, + { + "name": "HatRibbonLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4.475, + 27.55, + -0.25 + ], + "to": [ + 4.475, + 29.55, + 2.75 + ], + "autouv": 0, + "color": 0, + "inflate": 0.1, + "origin": [ + 3.975, + 29.55, + -0.25 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 27, + 6, + 30, + 8 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 30, + 6, + 27, + 8 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "03305529-5abb-daad-4bf2-436079d56d9b" + }, + { + "name": "HatRibbon", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.475, + 27.55, + -0.25 + ], + "to": [ + -4.475, + 29.55, + 2.75 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + -3.975, + 29.55, + -0.25 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 24, + 6, + 27, + 8 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 27, + 6, + 24, + 8 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "4c016b78-bc14-651f-acb6-c96ecc325182" + }, + { + "name": "HatRibbonLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.475, + 27.55, + -0.25 + ], + "to": [ + -4.475, + 29.55, + 2.75 + ], + "autouv": 0, + "color": 0, + "inflate": 0.1, + "origin": [ + -3.975, + 29.55, + -0.25 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 27, + 6, + 30, + 8 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 30, + 6, + 27, + 8 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6fb0104a-c2cc-1e29-db4e-1fce2c8c8cfe" + } + ], + "outliner": [ + { + "name": "Avatar", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "e98e96cf-993b-878e-02b8-777c368bb888", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Head", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "22d40862-bd19-a16d-9e33-79364e6656d8", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a66c63cf-0082-7797-3f4e-08ff434a1cac", + "d48552a8-9f0d-7335-2a82-794f3264fc9d", + { + "name": "FaceParts", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "db381b6c-e0d3-6ca8-6433-4371d36cc6c6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Eyes", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "25d20f6a-b84c-5105-726d-79a4fc3a5a4d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "7853e9a2-b429-5a00-5e0e-70449c3a71ee", + "328a2de5-64bc-807b-5906-227bfceedf26", + { + "name": "RightSpyglassPivot", + "origin": [ + 2, + 26, + -4 + ], + "color": 0, + "uuid": "d775a8e4-818b-b21e-93df-fdb4456fefc8", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "LeftSpyglassPivot", + "origin": [ + -2, + 26, + -4 + ], + "color": 0, + "uuid": "5e757c9d-cb7e-d074-a20f-d95f46e96872", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + "d9d80373-4145-9e90-28de-12248a8075d9" + ] + }, + { + "name": "HeadRing", + "origin": [ + 0, + 28, + 0 + ], + "rotation": [ + 40, + 0, + 0 + ], + "color": 0, + "uuid": "e8809cb5-a507-86d8-da91-c79b1d4d233e", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "48cfe147-8711-a325-c722-fe73d6c4d87a", + "4fe085d8-1150-029c-3323-b641963940a3", + "6d181fac-7af2-3fcd-e3ba-d1c4557d6d6b", + "811eb931-ab95-2f54-f3aa-439e0bd859d8", + "3d506be3-8bd5-15ca-abb6-7552ba8938f4", + "069f1e4f-5229-32f3-23ca-49613d302d93" + ] + }, + { + "name": "HelmetPivot", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "d7187888-2822-bed6-d009-c1e5fa5ed0fe", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "HelmetItemPivot", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "84fe3b45-a6ad-8db5-9954-75f8e7f475c3", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "Hat", + "origin": [ + 0, + 29.5, + -0.25 + ], + "rotation": [ + 5, + 0, + 0 + ], + "color": 0, + "uuid": "f6f1756c-4d5e-2fd7-9704-395fafa6e453", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "7968e27f-7d6c-de21-490a-baf7156542c4", + "be52795c-d5d3-d690-3a6b-7160b2bb8fea", + "789b2b2e-6ea9-e18e-4308-863c2d0a6ba5", + "0d66f34e-b810-a718-0982-78215c2173cb", + "ce27e939-f13c-9b3f-e205-b8b7c95bf382", + "fa070d22-d82c-3391-a2e0-a783ceed02b2", + "67345ec9-3dc4-dc3c-905e-c075df4f77d9", + "3ff70953-826f-45d3-e47c-528dc44a384d", + "8874d3d0-1c1e-2d07-b272-84525fc45df0", + "f55b15bc-5857-c67d-6c69-d7d180bf463a", + { + "name": "RightHatRibbon", + "origin": [ + 4.475, + 29.55, + 1.25 + ], + "rotation": [ + -5, + 0, + 0 + ], + "color": 0, + "uuid": "b68cdfe5-3c7e-250a-041b-16c416b004b3", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ef527760-7ce6-e416-6fa1-045a4252be6d", + "03305529-5abb-daad-4bf2-436079d56d9b" + ] + }, + { + "name": "LeftHatRibbon", + "origin": [ + -4.475, + 29.55, + 1.25 + ], + "rotation": [ + -5, + 0, + 0 + ], + "color": 0, + "uuid": "a9d1bef4-a839-330f-3417-3d279ac90385", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4c016b78-bc14-651f-acb6-c96ecc325182", + "6fb0104a-c2cc-1e29-db4e-1fce2c8c8cfe" + ] + } + ] + }, + { + "name": "BackHair", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "3af4a89d-f269-d24f-84d2-1399d5a34754", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4d721e5f-9398-17e2-094d-d8c3d8ea8ecb", + "194db8ea-96a3-2727-8a30-4d8d5f5cf99d", + "80faa7f9-9d8a-5171-11d6-3401257c9af3", + "f8c4a7c8-3a61-f77b-fafe-d5aba4e07b38", + "770a7f9b-86b6-8ca8-2fc8-a5d0deb23b9e", + "acfd1997-5f6c-68f4-a42a-667d9440e085", + "d2b9fc5a-a298-efa3-9bcd-3822201d0a36", + "b281f360-7024-9638-4c84-2c86b5ad279e" + ] + } + ] + }, + { + "name": "UpperBody", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "16d22746-633e-382e-dd96-b35bde99daa5", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Body", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "bf4dd57f-d0f7-1fe0-98e6-59e00f97f41b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "742e9ab7-8cdd-8d93-9a9a-88011f54d15b", + "2574fa9e-0d5f-502c-ce28-ef5cf30f41ec", + { + "name": "ChestplateBodyPivot", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "8603e59f-b7b7-37d5-d2d2-52f69e25dad8", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "BeltPivot", + "origin": [ + 0, + 12, + 0 + ], + "color": 0, + "uuid": "7b420b45-c7f1-9f36-5199-3e2aa2498809", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "NameplateAnchor", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "71b16a49-1da9-df63-2f72-f5272bb4b134", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + { + "name": "Arms", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "c062b0e8-6983-de4d-12e9-7b5ad9e81528", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightArm", + "origin": [ + 5, + 22, + 0 + ], + "color": 0, + "uuid": "3c1cb66d-8a31-d31f-ec9f-65a33e313a53", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8831734e-ce90-e6bb-8368-e011a468277d", + "cea7603d-ae80-e4e7-6f93-905551a79117", + { + "name": "RightArmBottom", + "origin": [ + 5, + 18, + 2 + ], + "color": 0, + "uuid": "b924539e-1292-1a17-6240-a525ae346090", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "643f9c05-2d3c-e1d1-5a2f-874902eb1784", + "b1a76f47-912e-c2d4-8090-6f6ac9734672", + { + "name": "RightItemPivot", + "origin": [ + 5.5, + 12, + -2 + ], + "color": 0, + "uuid": "f77eb5a1-0c86-2ec0-fa55-565b454784db", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + } + ] + }, + { + "name": "LeftArm", + "origin": [ + -5, + 22, + 0 + ], + "color": 0, + "uuid": "e7d3e5d8-00e4-587c-7bb6-6787db00054b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "af1aa9d5-0ccf-d579-b381-54ac7b12fb55", + "b74fb9e9-db24-b669-6f87-8469be63eda5", + "d06e086c-edb7-d13e-d576-1a1f5608c48c", + "d32908f7-43e6-15e9-c272-33fd33fa14a9", + { + "name": "LeftArmBottom", + "origin": [ + -5, + 18, + 2 + ], + "color": 0, + "uuid": "ad1c45ef-c0a8-6d31-d2dc-fbdc6ab7ddcc", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a82219a3-e344-a4d8-c85c-51462943a7dc", + "d7794b2f-dbb3-2cd5-c956-cd163b703976", + { + "name": "LeftItemPivot", + "origin": [ + -5.5, + 12, + -2 + ], + "color": 0, + "uuid": "4f31b2fe-139d-4fb3-f36f-3d5ed0997399", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + } + ] + } + ] + }, + { + "name": "LeftElytraPivot", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "34f8f1e3-7498-d32a-cbaa-e08af5c6b7e9", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "RightElytraPivot", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "884aa12d-4d86-c86f-f3ae-27294c5df1b1", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "LeftParrotPivot", + "origin": [ + -6.5, + 24, + 0 + ], + "color": 0, + "uuid": "29a158b7-4e78-b2e4-f4a6-a828afb1514f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "RightParrotPivot", + "origin": [ + 6.5, + 24, + 0 + ], + "color": 0, + "uuid": "7d993335-4efa-18af-e219-def6c191632a", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + { + "name": "LowerBody", + "origin": [ + 0, + 12, + 0 + ], + "color": 0, + "uuid": "2f61e368-1c06-648e-26d4-aee94647e4da", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Legs", + "origin": [ + 0, + 12, + 0 + ], + "color": 0, + "uuid": "29730186-2622-086d-ab67-4bb8e356bb6c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightLeg", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "4e80b5b4-7c04-8374-f8a7-526b3d36d050", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "da81ebbe-5b4e-2d46-144a-6f839ad6fa3c", + "bcf37da3-caec-e8f2-bc82-76a3f169374c", + { + "name": "RightLegBottom", + "origin": [ + 2, + 6, + -2 + ], + "color": 0, + "uuid": "84fe0b3a-286b-e17f-288e-c39feaa2e5e6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8b1cc891-ffa8-9f46-ebc0-f0b84e6ffb15", + "72c6eff7-d0eb-2ffa-193f-2ca402bdc722" + ] + } + ] + }, + { + "name": "LeftLeg", + "origin": [ + -2, + 12, + 0 + ], + "color": 0, + "uuid": "73b3d6bc-af0b-a066-5d73-f3938109e11f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "9c06bc9a-beae-98d9-e9ce-9c8e6ddbb9d3", + "f8f1e7ad-7999-9f17-0488-5dcbd4af7945", + { + "name": "LeftLegBottom", + "origin": [ + -2, + 6, + -2 + ], + "color": 0, + "uuid": "ee9973d4-ff4e-c96b-64f6-d1f28afd69c6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a1169ee6-6a78-c7c4-9214-670991206468", + "a5173990-504e-f5c4-45c7-9347880c1306" + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "name": "CameraAnchor", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "4ad021e9-2857-4e55-337b-f61da0762800", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8b47234a-9700-3da5-47db-8f75a6aab837", + "c2175bbe-2cfe-5bd6-da67-98c3b6cd21ee", + "7e6a5cd5-aefb-6095-d77f-adf6c4130742", + "31aaec73-9e98-c58c-c0ed-6d915f491f85" + ] + } + ], + "textures": [ + { + "path": "", + "name": "main.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 64, + "height": 164, + "uv_width": 64, + "uv_height": 164, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "49d663f7-0284-81d3-5d9d-8f9c415279bb", + "relative_path": "../../textures/main.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAACkCAYAAAAnvChKAAAAAXNSR0IArs4c6QAADwNJREFUeF7tXXtwVcUZP5dHLpCQGEKRV6Vgy6A2iAqFsdjp4DAqLeEhYNHylCTYDgNVK8wIrW1wRihYqFNLEt4IlKcQRhAZ2+kUIQiogLVMW0UpUaCEkAeEyyOn8+3Nd7Jnz+7Z3XPuuQ/M+eeee/bbb7/vt7/v2z3nnt0bMiTHkZ++ZILI1YYbRpsWraxPvIbVsQy+0+eDN8wPwbXDW6J68Bgw9iVyPdGH1AgRACwg+J0FCwAA5zvmtDUuVNYTf/E8GUCQArD/ybkm9KjoAMfZXqcZEB7VynIYHIcDgEgWEKQAAAOwd8/X1xIHOrVtT0KBpj8PIJABAOheZ88TzQIlANA5GgC8dqqm0hj64nguQfa9vNEYW/YaCQF0HBkAn4l2HmyQAgAhgBRnGQBUVwEA6qd8EgQnWAYAxb+qq3ZlwMaKz43r1+uN1q2j8b/96K7Q6AeGm/CZ6BFAiQE4CqDzaDTkAThkDAAAYuE0nYwBeBxe/YIYopMcb2hD+ouSHD1C8IZCqCcaIqFu/zfU5gNoJ9qjWk8GUIhFlp3sQM9nhqP0ZY+aSL01ItD1aIcRADScBVnFEbqTaEBV6ioDwDMae5elPxsGoroyRqhSGTqpY3YHI5zejjQduXzFuFB1MSZhEDr1wjKz8suzRkZWJmkAlMNnxZkzZEoLzl++fo0LZHrrNMIAOHK6draMw/rduncn+uqqaxz6sc0+f3xWmAyh56H9Xp27ER2YiKFNsPezsxWkfT9McM0BdJLL6t3DqP7XF8QIPIdxvktGlu0ewW2KTNMX5UTG0zEPoTZs2+LQ7sefM8u/OmX89sB2co6hqZNL2J4MbcmbYbtJ6ZmZY0takOXHrJnDZcDWSa84AAB5nYNuT5SERRmfnqOIgBfdxGHOCv3qwdE2AHI7djPAKOwtGOfdAKAdAOdPXKjQ8d/I69XXcadJGw3tw2ySpxQ6T5WBopGIMIA2GgCglb7z+SfG7FVzjbQ2YaNV5m3Ejhs1l4xrVyPGginzbQ6wAIAuOESgQDk4JxqKsefBRhYE+hqOZKIRhi6nRyPQnxSzMS3KxFjYAiDcup0tFCLXr5Ay3eu69sVKv0wP+uNIgmxFXQdQXgYYq1e3XZEDfvWEUMFHHxwjNvb57reNsaNmGrveWk6+4/V5814ztry51GiTlm67jo71u/9eLnYyw4f/aBrRe/Lj/5D6qAfaRVuKimYYd+V+hxuutP1oI+ii9dB+bd3xB5se60vDzZskBBYt3mS8uXG9cfDDt0iZ7DrIfL9/nvHBx3+1AbNrz2GbHhFFFy7cYEJ77x0pI/VbtGxptYu2QBleF+kBO3nyIvuxtxwA7Nt11Pjmt9KNu/vdYwNAdB0VoYH/PPFvAuTpT6uInvsGDCAiIibs3fG+CXJ9cvs4AMA2oQz1i0IUHOXJIwCs/Q4AvMZ+qtdzjAJsTyHlRD2Y8gD4zaK3DABu2RicxAwbCt1akycrBNyyMW90SPWedyRBt2wMwqIsmupANN8LJGMPXtuxzXZfgjamjXxcqcOOr9/Mrd/3qXGO+kKFrBJeZRl46Iiq4aBP5LwqCGC3yFZemRKiMkdjVS5zXhUEHXuaAdBBKx6yMhbohJOKvUnFABWDYy3TDECsEY2XvuJ9l7lDHbRfODSd27HFey+bhY9Ey9ZurjMnjstIvXk9OEGcbHSEB7hIhgZgzaY6c9ITDAA49ruNo9CglzlBLJhRvKfOLHwsQzlsWXkbAH+uNSf9pD2fATozqVg4pqKjeHedWThM3XnUSddTBkDFoHjLlOyqNQuGt1fufbQP62FYwPXwxZuW+doK4+04tFdSVmsW5Ok7b4FQVmua4RaW6eHKVANgR41ZMDLTc2eV7KgxzbYtLQDSLqQaANtrzILRPgDYXmOa6TQATe84ekY1nqFQsrXaLBiT5dlWrF+68qKZP7VDaOUb1dYcwrPSuAKwudosGOcDgMb6FgDrLqUYAJuqzYInfADQWB8BWLE21QDYeMksGH+bZ7aWNNa3AFiTYgBAuJWuv2TmP6UPAtYD5zFsIQ+sWFNlPj0pO3XuBUrXVZn5E7K1WYD1WACWr64yp01OIQAIC9ZWmfkT1UGg5VkASlddNPOndEgdBiB9S1dXESrnTxYDwZNxANA4JGpTKp7Dn1tbtEOsHMS4qp2h8WNnCx8sqCqJpdzGLQtsxj/60HDz7b9HX61XOde1JfS9O3KFACxbMtbo3j2L6Mzp0YN8NjT0stpo0eIzcl75RfQN0jNnqo3ps7bo2mCTf//0CQsAcBgKAQCVcy8NK1NFlSnn/ntSyY6/lO+Uth2U07SBUiNQWAcAmXNDBo0wRTK000h7GQtoh9j6st5IWgDQaR0Q0Hm6biAARCJ1Nr3hcIb1HULADwNEBgcVDp4YkEwAyHpYVp5SAPCGQ5mDsvKUAQBzAYIgc0y13BMAbsqDygHYJj0ZUnXSTS5lALinZz9z4H0PWr4c+vCAlv//OPUR19dAAFCxTDZSsDoCA0B1gqPiVBAyx4/s1VIr6mmREgcDRMtP2LWBoJC3UMltSSvoli155S3k5LUF1/wsl0NAHADIltLKHHDrLtAtMxrXKsvkVMBUoU5cAVAxWhUAFTA9ASALAVnPsI2ye5DI6rMrvECfjHV+wCBL1mijeCFAxyAriw67rRjFOiqG0izBhZFxBcBtNTm72FkEFg0YrCnuuXA6CTXVEKABgzXCbuuLQS+sf8Y2VGhPy5DF03Rldqk6m4Hp3jj581fJExveomtwnF3lrQKAFwao6BUOg24hwBt+eCHgtkyejuGgQsAXAGxlnSQo22QJUdfJATRI8RgRyA4SNK1Zp2jquOUA0cSIZoBKT9EAqCZBFb2+QwAdZMHiLU8X5Q0VQ5MWAN6GB7IRA7fg0AkBGqS4hACbmGRzcToJ0vkCtsuAA7bewHPYJoMOGxUGeBkFVJKrpxCQ3ezIEqZsVwfZJAr3K+Nt1eNlNxoeCNa9gA6K6LhsWosNqvS8bArtlox1Jz+2iZAXI1VjE3XrgEvXEc0vQEYVfBk41kZKOnv6sPsLqhqDwxpvZ0rUSVMbjGdl2bBRbVuYA9ikJ7vxAEW6d3heWcY654VJUgawNzQyALAXUbHOHj5eHWBnh3573ZYDEAB6xuaGGpv5deKRBwDPOZHDvPsWv2Bo54B4hYCMurEqd+wmJwsBaJhlgWoveBkOY+Wo60SIzqyqAGCG9hsCQTso02/t4uQlByAIqgzwmgRlTvgpt21jpeII715BpR6GjgrD/DikW1f5pzFdxaki3wxAqvRUUHbGhQG6yU9X3g843J/GRHNw2UyOZ0iQ01hszw9gXAboKkR5vEnCuYGuHpxl6jxC89P7UFcaArRzqsOdX6PiWV8YAroPPeje89Lz8XSabkvKAJljLEPcYl4XGNVO0NUrBYCNaRXqx+pW1Y8zXlikzADVmx6/WT/hAOj2Pk1TWcLUdS7hIcCOs14cUAkfL9SNVR3XUQCMV+1Vt2RIGysKEZVkKpLR7RhpEowVuqmgRykJpoIjXm30BYAf6nk1ONb1CAC6jqhm51gbG4Q+Tz+OBmFIonQ63hPUMUSXOTq64yXrKQfcCo4jwJ5ygJe8Ea8e1W3HAkB1ri+a1Og2nCzynkIgWYyPhR3SqS6vkVtyGERHB/Z72LaafHxG0xZUIDNr/z5X1oz88TOuy/HPXTjj2nEHy93/he6xh5+09O/e+jtLVyi7myc2OyrxADhbHf2nyc5Z7RMOQOT0n8y3nz1M7MkrLUpeAFbPm2Dr6clF68h3vww4um2O+YsX9hFdf2v8Vwo4D5QBtCeqIRAUADEPAZbybIC2vtm08xqUXW/ZtCkZfO/Svbcjph+p/NSYvnuV7fqyYVOMvTl3aifuSH21tE791VqjbZvon77hsefdDUo5ITQ494e+9hDp2OMuroE0CF6dB8WBA2BWVfgCYNSE+cIeAhDg8NLzqLQZgKBDoJkBnBC4cSW6RUardk1bY4h4/rUPgWHjXhTmgLy6L0lZWUZXh0y48Y9cI5F6A8+tuI9E/6SdHA38v/ukFfoaBYY8NMKRBI+dKDfuzR0kHX5AIDPL6Rxdkecgye6NToLzKENfi1sS5AEAjauCgACg8Wg426tKaDJCRGeyMyDcJpuYLaIxTXUZCKwsfMehVFaXLX/m4DtqEyG/DKi/3qBrm5b8xFBESx6FfQGgSn9oLGgADuxZ5gkA1ZsjB03wZgMzq+qcGq2EhyVui6WS/k1RBEDXcQRAtpIs2X4tFjLAKwAAYNFvZhr9Bw+06T6y/5A579dLDa96PcWBQiUuAKwDc3IHkbnCKyfKpZk15QCgHzAgYLwehDI2P8C1oi69yerQl89Fd5ck11wYYMk01mNXoLGdFnTIhPwCwGMZAAAHhgHQH75DCPCO8/87bRS/vthWVPiz54xO37gj8JAJBAAYQRYtmGtULCkmTnWbVWg8P3u+46kN7TGAQB/gPBxB54xAANBlAO04e2OT0gDQDHALAQTgpnnDuBaptzElcAD63h3N8PSxsmSpYxiDcpS9VldvpGW0jdK7S9M2u3QShPOvLQC8HHDkQLmxc+8hbhJMaAhILZII8EYRBIAeBWRJEJuJew4IAgDQSc8FcBao0hYLwPTsNirVHDIjtq6UTtqgkpKQmwU8BvAA8BoCuzcM8QRA6PZpSr4pCcUCANEkiNWdsBCY+fQ81x9Ilq4ossBaMngokYXfCVUZkPQAYE+wDumOw37fL4j1j5+y+BGGgNfnAn7fL9g5Ziph16OvDjDS2udZ9qs+4ZE5zJYnHQA/uPMBAsDvFw417h8yI3EA0A8wdJ4HpFwIANV5ca46dl+sPKfLOpt8h5zbDd4vOzKlurlJpI9kcREAKmN37fnoz19ej/adusYcgJJFy8yC56O7WMoOVwBUhi76TS1ZY7xyeHnCy4HP/TFp6urAmWIzAH5DINEMMM8t9/SGC06VQ3CPf/wT59NeSIJTC6LP9tyOY+9tcxTrvF8wbMwvY54DZDbT5YEAoGNAwgHQMZYn6/fH1XBaemIZEAQAOj+u+gXA9ygQBACgUxWEsTeo12E0jMFh0HcS1GiTK+r3FRu/APi135oteX0e4DcHvFv2uicfYnV3+H980M8vXgEnnwAAAABJRU5ErkJggg==" + } + ], + "animations": [ + { + "uuid": "e7e83f43-b662-56ee-0f85-7ffbcaf2a66d", + "name": "ex_skill_1", + "loop": "once", + "override": true, + "length": 5.65, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "e98e96cf-993b-878e-02b8-777c368bb888": { + "name": "Avatar", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 95, + "z": 0 + } + ], + "uuid": "da34c4cc-2a98-a367-7325-fbb3941e18ec", + "time": 0.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-2.5", + "y": 95, + "z": 0 + } + ], + "uuid": "c0980c5e-1efd-1350-b40b-c927f1b6a177", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 95, + "z": 0 + } + ], + "uuid": "d80edff0-5c54-fbde-63b0-b1bc4cab7886", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 95, + "z": 0 + } + ], + "uuid": "79e5befd-0027-aae2-875a-b982f368fe9c", + "time": 1.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 67.5, + "z": 0 + } + ], + "uuid": "131e1c7a-7aeb-c54d-4ef5-af89292e0d8c", + "time": 1.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "67.5", + "z": 0 + } + ], + "uuid": "e579d37c-31c4-5cf5-bb12-e05a20b298d9", + "time": 2, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1986, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1986, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "2.5", + "z": 0 + } + ], + "uuid": "238b19d2-2866-22ea-7297-e2fda18af378", + "time": 2.5, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.15063, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.15063, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "2.5", + "z": 0 + } + ], + "uuid": "2da0f7e4-66d4-7968-b5e9-9699a979046e", + "time": 2.55, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.4038, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.4038, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "5", + "z": 0 + } + ], + "uuid": "5511cddb-a1e5-ac41-e970-a3a955942b08", + "time": 3.25, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.20127, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.20127, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 5, + "z": 0 + } + ], + "uuid": "93a38068-7d7a-ba88-509f-aec797ee5afa", + "time": 4.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 45, + "z": 0 + } + ], + "uuid": "c04f6de4-1581-9fad-4ebf-b584b870ec80", + "time": 4.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -19.50457, + "y": 62.08407, + "z": -10.72879 + } + ], + "uuid": "0562607a-8de5-0ca9-15cc-96d1b401ca5e", + "time": 5.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "5", + "z": 0 + } + ], + "uuid": "dad7131c-7abd-09eb-0e44-d1c450703903", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0.36426, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + -0.36426, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "15", + "y": "5", + "z": 0 + } + ], + "uuid": "a47b4207-f688-299b-96f7-c4d45b65966d", + "time": 3.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0.55945, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + -0.55945, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "5", + "z": 0 + } + ], + "uuid": "cdc100b5-3f6e-fc11-7c54-e424b5487fac", + "time": 3.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0.36426, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + -0.36426, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 6, + "y": 40.5, + "z": -6 + } + ], + "uuid": "51c3c298-1655-24ad-ff48-4b98cd9076ac", + "time": 0.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 6, + "y": 40.5, + "z": -6 + } + ], + "uuid": "0d044933-3c0f-f933-41ac-7e7c9d4a8e86", + "time": 2, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.19667, + -0.1, + -0.19667 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.19667, + 0.1, + 0.19667 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 17, + "y": 40.5, + "z": 4 + } + ], + "uuid": "4016a41c-9554-357a-e164-9bd2d409b787", + "time": 2.5, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.45, + -0.1, + -0.14667 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.45, + 0.1, + 0.14667 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 17, + "y": 40.5, + "z": 4 + } + ], + "uuid": "391c4d79-b83c-be4c-a8df-050b0255e4ad", + "time": 2.55, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 13.5, + "y": 40.5, + "z": 4 + } + ], + "uuid": "4bdf8a20-ac3e-2df5-baf2-3c869f4cb4db", + "time": 3.25, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.2, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.2, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "13.5", + "y": "40.5", + "z": "4" + } + ], + "uuid": "5b73afea-f38f-25c9-e9bf-12d3b12096e5", + "time": 3.45, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "13.5", + "y": "40.5", + "z": "18" + } + ], + "uuid": "d92da658-2524-ff00-27f4-b6111b2099ec", + "time": 3.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 11.5, + "y": 40.5, + "z": -400 + } + ], + "uuid": "b60aced3-8952-2389-8128-f850610eae62", + "time": 5.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "22d40862-bd19-a16d-9e33-79364e6656d8": { + "name": "Head", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": -52.5, + "z": 0 + } + ], + "uuid": "a7cde297-fab2-ba58-ea26-7d8f7cab0b40", + "time": 0.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "7.5", + "y": "-45", + "z": "0" + } + ], + "uuid": "bb7e97f9-5c2c-9dce-ec58-7dd08fe7c99c", + "time": 0.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.0547, + -0.0467, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.0547, + 0.0467, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": -30, + "z": 0 + } + ], + "uuid": "f6ea28d1-adc0-37a8-9469-be5015526630", + "time": 1.2, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.20152, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.20152, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": -30, + "z": 0 + } + ], + "uuid": "5be4f526-9e43-c350-0d01-3c6a6db66953", + "time": 1.6, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.29707, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.29707, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -2.5, + "y": -45, + "z": 0 + } + ], + "uuid": "bcfe06ce-e8ed-ffdd-cbef-e9cb20887c89", + "time": 1.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -2.5, + "y": -45, + "z": 0 + } + ], + "uuid": "f2000cbe-576e-904c-4d61-ef074ae974df", + "time": 2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -2.5, + "y": "25", + "z": 0 + } + ], + "uuid": "d19506be-5fdc-7001-94eb-a949463bb30a", + "time": 2.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -2.5, + "y": 25, + "z": 0 + } + ], + "uuid": "f81fef0d-7605-9d02-74c3-180ce9b82f4f", + "time": 2.55, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -2.5, + "y": "0", + "z": 0 + } + ], + "uuid": "d23bed93-e737-98c9-7edd-96eb6a45cc15", + "time": 3.25, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -2.5, + "y": 0, + "z": 0 + } + ], + "uuid": "02be2826-aa08-ae74-b3f5-bbc2f6ffaed3", + "time": 4.15, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 19.79705, + "y": 43.92486, + "z": 6.84416 + } + ], + "uuid": "8b1ec5b8-c527-f1f1-42a6-6d810ed6c711", + "time": 4.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "15", + "y": "25", + "z": 0 + } + ], + "uuid": "924ca995-58c3-a324-4bd3-2930c51dce41", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "7.5", + "y": "-45", + "z": "0" + } + ], + "uuid": "ce469738-d8b2-32ab-d9b3-818245882cb2", + "time": 0.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.0547, + -0.0467, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.0547, + 0.0467, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 20.19393, + "y": 28.59152, + "z": 5.50185 + } + ], + "uuid": "968e1887-bbb1-354a-b572-c14e3a39c3b3", + "time": 5.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "7.5", + "y": "-45", + "z": "0" + } + ], + "uuid": "7e2e77cc-b1f9-927b-59bf-7704ac734e87", + "time": 1, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.0547, + -0.0467, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.0547, + 0.0467, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -2.5, + "y": 0, + "z": 0 + } + ], + "uuid": "ec095983-c969-0048-1ccc-1e6109258f12", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-17.5", + "y": 0, + "z": 0 + } + ], + "uuid": "a475d17d-cb8a-5841-a344-c8a8ad507e1d", + "time": 3.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -2.5, + "y": 0, + "z": 0 + } + ], + "uuid": "ef77c10e-3388-1db7-2873-9daafafd37a0", + "time": 3.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3c1cb66d-8a31-d31f-ec9f-65a33e313a53": { + "name": "RightArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -47.7, + "y": -25.23, + "z": -21.2 + } + ], + "uuid": "e57d3b6a-7a87-fbfe-267e-646b92612619", + "time": 1.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -22.3558, + "y": 2.46785, + "z": 28.05264 + } + ], + "uuid": "b256996e-9b6a-a2a7-09e5-c554da1b1a96", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e7d3e5d8-00e4-587c-7bb6-6787db00054b": { + "name": "LeftArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": 15, + "z": 0 + } + ], + "uuid": "536c1036-c9aa-1182-9262-a566399da67e", + "time": 1.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": -4, + "z": -30 + } + ], + "uuid": "1e4defda-bdbd-c4df-d4c4-85cbcbb880a6", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "4ad021e9-2857-4e55-337b-f61da0762800": { + "name": "CameraAnchor", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "155", + "z": "0" + } + ], + "uuid": "26cd8bb8-67ab-9b36-f7d7-fb5bbf1110f2", + "time": 0, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.4, + -0.39667, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.4, + 0.39667, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-10", + "y": "200", + "z": 0 + } + ], + "uuid": "edd17e73-e234-6239-5261-0f261337b241", + "time": 0.8, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.4, + -0.39667, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.4, + 0.39667, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "220", + "z": 0 + } + ], + "uuid": "3d39857e-aa5a-2bae-8f8a-4b95fbf25262", + "time": 1.4, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 220, + "z": 0 + } + ], + "uuid": "30aac94c-82df-dc1a-56ba-6fffc16f98bf", + "time": 1.9, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-5", + "y": "210", + "z": 0 + } + ], + "uuid": "f56a5f4c-ce48-49dd-9434-54e6d66751bf", + "time": 2.95, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.39561, + -0.3986, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.39561, + 0.3986, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -5, + "y": 210, + "z": 0 + } + ], + "uuid": "a5a17e7e-b46b-eea7-7d25-890201f0766e", + "time": 3.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -5, + "y": "240", + "z": 0 + } + ], + "uuid": "e36edbe2-9d91-ca70-02a5-4fd96f902450", + "time": 4.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -5, + "y": "260", + "z": 0 + } + ], + "uuid": "4aac4c77-77ff-f491-001d-c53797257768", + "time": 4.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -5, + "y": "280", + "z": 0 + } + ], + "uuid": "975407b3-a70d-3332-860c-edfcceb2d6d4", + "time": 5.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "43", + "z": "-28" + } + ], + "uuid": "4fc55668-6a37-9e9f-38fe-130b1ff0b805", + "time": 0, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.4, + -0.39667, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.4, + 0.39667, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-1.5", + "y": "61.5", + "z": -24 + } + ], + "uuid": "f57443ab-cd57-e1fe-fe92-31d683f937d3", + "time": 0.8, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.4, + -0.39667, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.4, + 0.39667, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -12, + "y": 63.5, + "z": -25 + } + ], + "uuid": "09a8e767-b165-ab4c-be49-a329344fd1c6", + "time": 1.4, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.12, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 1.65761, + 0, + 0 + ], + "bezier_right_time": [ + 0.12, + 0.1, + 0.1 + ], + "bezier_right_value": [ + -1.65761, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -14, + "y": 63.5, + "z": -28 + } + ], + "uuid": "0f8a53e1-e915-6d8b-7543-eac6fc9b2f50", + "time": 1.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -45.3, + "y": 24.9, + "z": -119 + } + ], + "uuid": "078943d9-4e7e-7d71-c29b-82a8b410d6c2", + "time": 2.95, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.3986, + -0.40158, + -0.40457 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.3986, + 0.40158, + 0.40457 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -45.3, + "y": 24.9, + "z": -119 + } + ], + "uuid": "0bff2a9e-9e3f-1bcc-8887-db3a79165eb6", + "time": 3.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -13, + "y": 57.9, + "z": -159 + } + ], + "uuid": "96517281-de2a-5afa-f8f6-dba5a3dc37d0", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -13, + "y": 58.4, + "z": -234 + } + ], + "uuid": "d9d4729f-827b-a072-39b5-8b9eca3611b9", + "time": 4.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -8, + "y": 60.4, + "z": -388 + } + ], + "uuid": "220ca6ec-0558-390f-0b34-047219758cd2", + "time": 5.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -42.61, + "y": 28.65, + "z": -122.33 + } + ], + "uuid": "9869f93b-f279-a93e-29aa-8d4974700dd0", + "time": 3.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -39.92, + "y": 30.4, + "z": -125.66 + } + ], + "uuid": "c6e57830-dc2e-a834-7369-0ece1860c296", + "time": 3.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -37.23, + "y": 34.15, + "z": -128.99 + } + ], + "uuid": "154d8cea-ea1b-e9fb-f4ec-fbb32f883fb7", + "time": 3.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -34.54, + "y": 35.9, + "z": -132.32 + } + ], + "uuid": "313d1ca5-1757-dd4c-2bf5-aa9dc80a1bc1", + "time": 4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -31.85, + "y": 39.65, + "z": -135.65 + } + ], + "uuid": "315ed516-ad3b-896e-8289-ebf4c8dc9c29", + "time": 4.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -29.16, + "y": 41.4, + "z": -138.99 + } + ], + "uuid": "bcaf4bf5-a5dc-3476-13d2-f9f58fb38199", + "time": 4.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -26.47, + "y": 45.15, + "z": -142.33 + } + ], + "uuid": "7cdc61f8-fe2f-6785-303a-df97c4ec938c", + "time": 4.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -23.78, + "y": 46.9, + "z": -145.66 + } + ], + "uuid": "96ad6335-bba2-b371-ed1e-d9ddc8733327", + "time": 4.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -21.09, + "y": 50.65, + "z": -148.99 + } + ], + "uuid": "47b25199-693e-9ff1-a8ed-91f59d145ebe", + "time": 4.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -18.39, + "y": 52.4, + "z": -152.33 + } + ], + "uuid": "0ea2c059-27c6-314d-f10f-2586e83f0e99", + "time": 4.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -15.7, + "y": 56.15, + "z": -155.66 + } + ], + "uuid": "8922e5d0-b00d-2cc4-e262-198914a629bd", + "time": 4.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -13, + "y": 58.4, + "z": -167.33 + } + ], + "uuid": "a95d31bc-3697-4a64-4539-57c1fff56828", + "time": 4.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -13, + "y": 57.9, + "z": -175.66 + } + ], + "uuid": "bac17fe8-8341-a53c-310b-612ad49cd3a8", + "time": 4.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -13, + "y": 58.4, + "z": -183.99 + } + ], + "uuid": "1aa185b4-62b4-8768-8abf-c25631249d29", + "time": 4.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -13, + "y": 57.9, + "z": -192.32 + } + ], + "uuid": "cbcc11c1-257f-748b-47aa-2b10d46113ea", + "time": 4.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -13, + "y": 58.4, + "z": -200.66 + } + ], + "uuid": "780bf1a3-1719-68a0-a95c-22a4b005e732", + "time": 4.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -13, + "y": 57.9, + "z": -208.99 + } + ], + "uuid": "c136e1e6-5ac1-db9f-32dc-2ebd35b6e5fb", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -13, + "y": 58.4, + "z": -217.33 + } + ], + "uuid": "5d755a25-7877-170d-b11b-fc772cc04417", + "time": 4.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -13, + "y": 57.9, + "z": -225.67 + } + ], + "uuid": "fcf3c8b2-9377-9ac3-17bd-579c530aa85d", + "time": 4.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -12.69, + "y": 58.03, + "z": -243.63 + } + ], + "uuid": "df5aaa0a-b30c-8ddd-2338-11e195829f58", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -12.38, + "y": 58.65, + "z": -253.25 + } + ], + "uuid": "dbf1726e-ffd5-2e22-48ac-28b6054f3349", + "time": 4.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -12.07, + "y": 58.28, + "z": -262.87 + } + ], + "uuid": "18be1fa2-185f-e805-ea55-3ee2d41499b5", + "time": 5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -11.76, + "y": 58.9, + "z": -272.5 + } + ], + "uuid": "b5e741bd-638a-b48b-2338-f4550579879d", + "time": 5.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -11.45, + "y": 58.53, + "z": -282.12 + } + ], + "uuid": "8cc088fe-58d5-6a94-7efc-8dff5af23332", + "time": 5.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -11.14, + "y": 59.15, + "z": -291.75 + } + ], + "uuid": "8ad41417-07a0-aeff-cdf8-796a0ddfc457", + "time": 5.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -10.83, + "y": 58.78, + "z": -301.37 + } + ], + "uuid": "24d43163-44b7-e451-88f1-d0eb89088cee", + "time": 5.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -10.52, + "y": 59.4, + "z": -311 + } + ], + "uuid": "ebf61405-4919-0981-96fa-7b3dcc9588ea", + "time": 5.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -10.21, + "y": 59.03, + "z": -320.62 + } + ], + "uuid": "c2bedf24-48d4-c5b8-510a-28018586339d", + "time": 5.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -9.89, + "y": 59.65, + "z": -330.25 + } + ], + "uuid": "2d0ad523-dc07-3ba0-08b2-3e51111b350f", + "time": 5.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -9.57, + "y": 59.28, + "z": -339.88 + } + ], + "uuid": "16f29a21-3d1a-35db-5acc-20c76e2d0fc7", + "time": 5.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -9.26, + "y": 59.9, + "z": -349.5 + } + ], + "uuid": "902d8cd8-26da-f0e6-317f-72b128d0ab6f", + "time": 5.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -8.95, + "y": 59.53, + "z": -359.12 + } + ], + "uuid": "76246f9f-12cd-f374-c8b4-f44c9b99814e", + "time": 5.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -8.63, + "y": 60.15, + "z": -368.75 + } + ], + "uuid": "5057f644-a343-ac69-d826-c7b6954ed606", + "time": 5.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -8.32, + "y": 59.78, + "z": -378.37 + } + ], + "uuid": "e2656459-c786-778f-1ba7-0d07f405c1f3", + "time": 5.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-15.1", + "y": 62.64, + "z": "-31.21" + } + ], + "uuid": "09bc0ad6-8467-1890-b389-d73226dc6cd5", + "time": 1.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-16.89", + "y": "59.92", + "z": "-36.47\n" + } + ], + "uuid": "c97e6699-d8be-ec45-3eff-de82addc8438", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-18.88\n", + "y": 57.96, + "z": "-42.3\n" + } + ], + "uuid": "c6eb392f-77dd-44e5-4d05-0dca093b1e5d", + "time": 2.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-20.95\n", + "y": "54.91", + "z": "-48.33\n" + } + ], + "uuid": "b8716c1f-9539-21b5-7986-d862a8facf30", + "time": 2.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-23.03\n", + "y": 52.83, + "z": "-54.42\n" + } + ], + "uuid": "3cacbfd4-35bc-bf9d-3c4f-22df6f30f32d", + "time": 2.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-25.1\n", + "y": "49.77", + "z": "-60.48\n" + } + ], + "uuid": "4e3fada5-2f3c-47a4-745e-17762637aeca", + "time": 2.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-27.14\n", + "y": 47.74, + "z": "-66.44\n" + } + ], + "uuid": "aad08b06-b0cb-12b4-7aa4-27ce2f0878c0", + "time": 2.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-29.14\n", + "y": "44.78", + "z": "-72.27\n" + } + ], + "uuid": "9a76de1e-1491-dda4-e600-fb0ad407a82b", + "time": 2.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-32.95\n", + "y": "40.08", + "z": "-83.36\n" + } + ], + "uuid": "e1b885aa-4404-c44f-2f8a-79363be7f0fb", + "time": 2.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-34.74\n", + "y": 38.37, + "z": "-88.56\n" + } + ], + "uuid": "b808249b-d11c-2840-a648-706d7e2f5b24", + "time": 2.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -31.05, + "y": 42.93, + "z": -77.82 + } + ], + "uuid": "d7c021fd-f77d-8d29-47b3-2c3bddfc3831", + "time": 2.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-36.44\n", + "y": "35.77", + "z": "-93.5" + } + ], + "uuid": "79ac7243-795c-4984-bb16-7e60a01c3ce2", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-38.04\n", + "y": 34.3, + "z": "-98.13\n" + } + ], + "uuid": "c3e87bcc-5a86-ed07-da1e-dc422cf0f144", + "time": 2.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-39.53\n", + "y": "31.97", + "z": "-102.43\n" + } + ], + "uuid": "9460e704-8df2-9957-9ab0-47d8d247aaae", + "time": 2.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-40.89\n", + "y": 30.8, + "z": "-106.36\n" + } + ], + "uuid": "1d6b046e-b7cf-4b25-f720-f9f0a748748a", + "time": 2.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-42.11\n", + "y": "28.81", + "z": "-109.86\n" + } + ], + "uuid": "cecbe02a-1df9-3fbf-5822-db2011fc7cb8", + "time": 2.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-43.16\n", + "y": 28.01, + "z": "-112.9\n" + } + ], + "uuid": "4b8d21b2-8160-ad25-1623-950c62bec842", + "time": 2.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-44.04\n", + "y": "26.44", + "z": "-115.41\n" + } + ], + "uuid": "3496e93d-7fcb-ad00-5a3c-6ba5dd4b9df0", + "time": 2.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-44.71\n", + "y": 26.12, + "z": "-117.33\n" + } + ], + "uuid": "7498f77b-8796-0948-570a-9ca41d2c14f2", + "time": 2.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-45.14\n", + "y": "25.09", + "z": "-118.56\n" + } + ], + "uuid": "949d7738-a8c4-22d4-fd2b-5bb0b0bfc0a4", + "time": 2.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3af4a89d-f269-d24f-84d2-1399d5a34754": { + "name": "BackHair", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": 0, + "z": 0 + } + ], + "uuid": "c9bfc5ce-4d5d-cd4d-f39b-95b421e968c1", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 12.5, + "y": 0, + "z": 0 + } + ], + "uuid": "97f9324d-c253-d605-3963-a837710ead66", + "time": 0.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 12.5, + "y": 0, + "z": 0 + } + ], + "uuid": "bc9dbb14-64c0-643a-9a2f-8a20d2b711e7", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 35, + "y": 0, + "z": 0 + } + ], + "uuid": "934b3717-c16e-1c70-6f52-9cfec58b4886", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 5, + "y": 0, + "z": 0 + } + ], + "uuid": "78acc77f-7524-cadd-ccbf-4f7cdebbac3d", + "time": 1.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 12.5, + "y": 0, + "z": 0 + } + ], + "uuid": "d5c6355f-0b5a-454e-42af-f0a6e0b9cc4e", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 12.5, + "y": 0, + "z": 0 + } + ], + "uuid": "023dc59b-78a0-be4f-b627-5f03f1a68325", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-2", + "y": 0, + "z": 0 + } + ], + "uuid": "5cbc5697-9848-ba3e-8991-fa6c0144453f", + "time": 2.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 12.5, + "y": 0, + "z": 0 + } + ], + "uuid": "86ea565f-26d5-efbd-202a-df507784b6e5", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 20, + "y": 0, + "z": 0 + } + ], + "uuid": "27b50e0e-2ba7-a6a2-4c32-7db74570dc15", + "time": 3.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 60, + "y": 0, + "z": 0 + } + ], + "uuid": "be47e699-5eb8-31b8-e8e8-f6773f7fa274", + "time": 4.15, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 28.65184, + "y": -50.19019, + "z": 43.8455 + } + ], + "uuid": "e5076cad-3ee0-82a3-97ba-447b3cc60958", + "time": 4.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 52.88, + "y": -16.73, + "z": 14.62 + } + ], + "uuid": "bb7cf6d5-afb0-67f9-2606-487dbb05f496", + "time": 4.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 35.77, + "y": -33.46, + "z": 29.23 + } + ], + "uuid": "ca643086-1bf9-d996-fb39-6763d8d7c986", + "time": 4.35, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 23.65, + "y": -50.19, + "z": 43.85 + } + ], + "uuid": "7131be7a-ba20-00f1-9fce-566b9d674d1e", + "time": 4.55, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 28.65184, + "y": -50.19019, + "z": 43.8455 + } + ], + "uuid": "865e88e4-5cf5-c37b-8d8a-02fef62a7818", + "time": 4.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 23.65, + "y": -50.19, + "z": 43.85 + } + ], + "uuid": "c730e279-7534-d5d9-4128-74b55f60ea2c", + "time": 4.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 28.65184, + "y": -50.19019, + "z": 43.8455 + } + ], + "uuid": "59583f1e-bb73-b85b-9eb9-5060920d4139", + "time": 4.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 23.65, + "y": -50.19, + "z": 43.85 + } + ], + "uuid": "b04232d5-39ed-8d19-a0e0-1b0a029bc442", + "time": 4.95, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 28.65184, + "y": -50.19019, + "z": 43.8455 + } + ], + "uuid": "98ae855d-bc15-e8df-ce13-80cf59218553", + "time": 5.05, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 23.65, + "y": -50.19, + "z": 43.85 + } + ], + "uuid": "375aea16-7a8a-a600-6acb-441dfd4eb05a", + "time": 5.15, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 28.65184, + "y": -50.19019, + "z": 43.8455 + } + ], + "uuid": "7083f206-9d2f-4f13-b5c5-0a0d7bd6d8f7", + "time": 5.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 23.65, + "y": -50.19, + "z": 43.85 + } + ], + "uuid": "37794096-974c-8527-f06c-72bb6870f6ca", + "time": 5.35, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 28.65184, + "y": -50.19019, + "z": 43.8455 + } + ], + "uuid": "689a76f5-1f9a-584d-a9e9-9b816cce135e", + "time": 5.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 23.65, + "y": -50.19, + "z": 43.85 + } + ], + "uuid": "fc9ca7d8-7461-21d0-c3e7-d0bd4e6d2871", + "time": 5.55, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 28.65184, + "y": -50.19019, + "z": 43.8455 + } + ], + "uuid": "805104c2-f617-a96f-c91a-d3f88714aef6", + "time": 5.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "b924539e-1292-1a17-6240-a525ae346090": { + "name": "RightArmBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -40, + "y": 0, + "z": 0 + } + ], + "uuid": "cb6b1d9c-1343-91e5-c6b1-1079b948c0bd", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30, + "y": 0, + "z": 0 + } + ], + "uuid": "c8ef2474-c2cd-8a93-cece-091449e6cbb1", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30, + "y": 0, + "z": 0 + } + ], + "uuid": "e6f684ec-e424-a5aa-006f-74db11ad9313", + "time": 1.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -42.5, + "y": 0, + "z": 0 + } + ], + "uuid": "372d5672-bb8d-420c-9dfd-5979fbe5d899", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ad1c45ef-c0a8-6d31-d2dc-fbdc6ab7ddcc": { + "name": "LeftArmBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -35, + "y": 0, + "z": 0 + } + ], + "uuid": "4b459902-2af1-9209-9f38-9ae172fe9ec6", + "time": 1.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -47.5, + "y": 0, + "z": 0 + } + ], + "uuid": "2dd278f6-8719-c45a-8a81-5e10723a9b0a", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "b68cdfe5-3c7e-250a-041b-16c416b004b3": { + "name": "RightHatRibbon", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "21c31236-dac0-afee-93d4-28de3062a863", + "time": 4.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 67.5 + } + ], + "uuid": "746dd630-ef5c-6353-30a9-18ef2eed428a", + "time": 4.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 77.5 + } + ], + "uuid": "6b4bf1ee-f8c8-7559-0056-353b0d0e7f23", + "time": 4.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 67.5 + } + ], + "uuid": "8411d8a1-5000-1552-da39-cad3d23864d9", + "time": 4.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 77.5 + } + ], + "uuid": "39012a05-861b-d720-67d8-0663464d56f3", + "time": 4.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 67.5 + } + ], + "uuid": "888c09df-b57c-cb3d-92bc-aac18946d0d9", + "time": 4.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 77.5 + } + ], + "uuid": "dbba67dd-467f-41c0-824c-1d28c0a86367", + "time": 4.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 67.5 + } + ], + "uuid": "9b65b106-cc6f-4265-0ea5-36aa51477ec2", + "time": 5.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 77.5 + } + ], + "uuid": "a1c5ee7d-541a-6807-193d-f371e7797cbd", + "time": 5.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 67.5 + } + ], + "uuid": "ce690fc0-0bfe-f03f-3e19-923bbab0e2fe", + "time": 5.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 77.5 + } + ], + "uuid": "1a441b58-8b9b-1c12-cb1f-b718ea3c439f", + "time": 5.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 67.5 + } + ], + "uuid": "beb24afe-f96a-a046-3373-6e18b9263236", + "time": 5.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 77.5 + } + ], + "uuid": "f2bfb159-b538-21cc-f4ec-0b06f2aa9ec4", + "time": 5.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 67.5 + } + ], + "uuid": "5fa86352-b8ab-a97a-e39d-ead635842031", + "time": 5.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + }, + { + "uuid": "003cdebf-88ae-42d0-04e6-db0c5a30b098", + "name": "tank_idle", + "loop": "hold", + "override": false, + "length": 0, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "e98e96cf-993b-878e-02b8-777c368bb888": { + "name": "Avatar", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 90, + "z": "0" + } + ], + "uuid": "7dde84d7-3a23-7e88-a22d-95d55ad3bcd2", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "22d40862-bd19-a16d-9e33-79364e6656d8": { + "name": "Head", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "-30", + "z": "0" + } + ], + "uuid": "723f5b79-cc36-4f9e-36a0-4c2318aece92", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + }, + { + "uuid": "56c1eb46-6fce-c17c-e083-da64e31cd819", + "name": "tank_start", + "loop": "once", + "override": true, + "length": 1.75, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "e98e96cf-993b-878e-02b8-777c368bb888": { + "name": "Avatar", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "-25", + "z": 0 + } + ], + "uuid": "26050bf6-af7a-5929-89da-40b929c2d7cc", + "time": 0.5, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-1", + "y": -13, + "z": "0" + } + ], + "uuid": "f91de80d-c67b-93cf-7726-2ae3845f5080", + "time": 1, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.4, + -0.40333, + -0.1 + ], + "bezier_left_value": [ + 0.18978, + 0, + 0 + ], + "bezier_right_time": [ + 0.4, + 0.40333, + 0.1 + ], + "bezier_right_value": [ + -0.18978, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -1, + "y": -13, + "z": 0 + } + ], + "uuid": "ff094db9-58f0-e036-15d6-42d9faa61a1c", + "time": 1.25, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.05333, + -0.05333, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.05333, + 0.05333, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 0 + } + ], + "uuid": "3631d7ad-ffa9-7e14-b68c-5cd838110987", + "time": 1.75, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.5, + -0.50667, + -0.1 + ], + "bezier_left_value": [ + 0, + -0.09489, + 0 + ], + "bezier_right_time": [ + 0.5, + 0.50667, + 0.1 + ], + "bezier_right_value": [ + 0, + 0.09489, + 0 + ] + } + ] + }, + "22d40862-bd19-a16d-9e33-79364e6656d8": { + "name": "Head", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -35, + "y": "30", + "z": "0" + } + ], + "uuid": "046cd02c-661c-a5af-5aa8-77070adeae81", + "time": 1.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 0 + } + ], + "uuid": "f7903494-eac5-cf59-079a-79b6d536013c", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -35, + "y": "30", + "z": 0 + } + ], + "uuid": "74b3fae7-9972-c613-aa50-a5d377b41dab", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3af4a89d-f269-d24f-84d2-1399d5a34754": { + "name": "BackHair", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "35", + "y": "0", + "z": "0" + } + ], + "uuid": "06658c59-baba-28df-7e87-c769fc922123", + "time": 1.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "a77a5c10-6dd5-201e-2920-2a4cea0eca59", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3c1cb66d-8a31-d31f-ec9f-65a33e313a53": { + "name": "RightArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "20a70c38-fb77-e9bb-9a87-a440b9de1665", + "time": 0.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-135", + "y": 0, + "z": "-15" + } + ], + "uuid": "2c2b8deb-6e82-5be9-5ec6-c23c6e17fd76", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.5, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.5, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -135, + "y": 0, + "z": -15 + } + ], + "uuid": "649f2088-2ab6-9dfa-730f-e33b0f42d52d", + "time": 1.25, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30, + "y": 0, + "z": "0" + } + ], + "uuid": "8c82be25-3725-dbc3-bc6c-d593c3769e9a", + "time": 1.75, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e7d3e5d8-00e4-587c-7bb6-6787db00054b": { + "name": "LeftArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "39afb3b4-ce0c-c8c2-fb68-08e3df7ef11d", + "time": 0.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-135", + "y": 0, + "z": "15" + } + ], + "uuid": "0d6dc528-3365-0b2e-8ff4-fb9806c0016e", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.5, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.5, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -135, + "y": 0, + "z": "15" + } + ], + "uuid": "e0e6e518-50ea-2a74-b1a6-e0b3fe176552", + "time": 1.25, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30, + "y": 0, + "z": "0" + } + ], + "uuid": "089fdc7d-294b-f174-858f-5690516bd004", + "time": 1.75, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + }, + { + "uuid": "d9b497c2-ffef-e36b-696a-34e877e82c6c", + "name": "tank_idle_powered", + "loop": "loop", + "override": false, + "length": 0.2, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "e98e96cf-993b-878e-02b8-777c368bb888": { + "name": "Avatar", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0.25", + "z": "0" + } + ], + "uuid": "a4bdd9b8-388c-0e2f-acd8-1f357d74fb67", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 0 + } + ], + "uuid": "d2f85ba2-8946-178f-85f9-a5d7dc5b6aa4", + "time": 0.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "0.25", + "z": 0 + } + ], + "uuid": "bda2beba-ca75-c168-551f-30dc87141106", + "time": 0.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + }, + { + "uuid": "57f0e348-4bb7-7774-45f8-50dc9f7a2bd7", + "name": "tank_shoot", + "loop": "once", + "override": false, + "length": 1.75, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "e98e96cf-993b-878e-02b8-777c368bb888": { + "name": "Avatar", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "bf5c128c-7267-dcbf-6c0d-0b7dc687900e", + "time": 0.65, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.03 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.03 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": -1, + "z": 10 + } + ], + "uuid": "ac3c7a7d-ee12-0d5d-b752-2538fffc8d95", + "time": 0.85, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.39667 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.39667 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "53d5cecf-4cb6-730e-3684-526aa781301f", + "time": 1.75, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.4 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.4 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 9.04 + } + ], + "uuid": "535c9143-9602-142f-aec1-286f72d25ef6", + "time": 1.05, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + -0.14576, + 1.06518 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0.14576, + -1.06518 + ] + } + ] + }, + "22d40862-bd19-a16d-9e33-79364e6656d8": { + "name": "Head", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "015792bb-59c7-5296-3dd2-4a7279a80d9d", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 15, + "y": 0, + "z": 0 + } + ], + "uuid": "b1d947f6-5451-0fe9-0666-2dc3cf6de751", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "e3da62b1-a082-77a7-b421-36bf15fc96f8", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3af4a89d-f269-d24f-84d2-1399d5a34754": { + "name": "BackHair", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "4f150bbe-b02c-6143-1bf4-2ccc8ccb9b3f", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 50, + "y": 0, + "z": 0 + } + ], + "uuid": "c914928e-eb99-f3be-25f3-d2d43d739cb6", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "700f2b82-f856-9a9a-7cb8-f0678f1aa4b2", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + }, + { + "uuid": "9afa77b7-f8d1-7045-f1c1-abf9036ba7c9", + "name": "tank_shoot_right", + "loop": "once", + "override": true, + "length": 1.85, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "markers": [ + { + "color": 0, + "time": 0.65 + } + ], + "animators": { + "3c1cb66d-8a31-d31f-ec9f-65a33e313a53": { + "name": "RightArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "-35", + "y": "0", + "z": "0" + } + ], + "uuid": "55e1b8ac-ee46-190c-0de5-64d84eefd426", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -180, + "y": 0, + "z": -12.5 + } + ], + "uuid": "c0babdfd-0222-2763-eb20-83c2a50ba829", + "time": 0.15, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-35", + "y": 0, + "z": 0 + } + ], + "uuid": "d2412d83-63c0-f02d-e5f9-737d417dc56e", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -180, + "y": 0, + "z": -12.5 + } + ], + "uuid": "50e63899-4a4e-5ee5-b9dd-1b40ab52cedc", + "time": 1.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e7d3e5d8-00e4-587c-7bb6-6787db00054b": { + "name": "LeftArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "-35", + "y": "0", + "z": "0" + } + ], + "uuid": "3259a440-2813-8330-185b-ae8f0788f62f", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "f68e4b1d-ce36-ab97-1df9-43b07ffefe82", + "time": 0.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "c1873883-3a0c-c7b1-3c65-db759e3355a9", + "time": 1.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-35", + "y": 0, + "z": 0 + } + ], + "uuid": "b5c51b7e-e2c1-d488-3db4-30c82fcb47bd", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + }, + { + "uuid": "c639fad9-f729-3a97-ced7-562b0c60b21b", + "name": "tank_shoot_left", + "loop": "once", + "override": true, + "length": 1.75, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "3c1cb66d-8a31-d31f-ec9f-65a33e313a53": { + "name": "RightArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "-35", + "y": "0", + "z": "0" + } + ], + "uuid": "0c0649af-4c43-386f-7f56-ad30b827d9de", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "74a11f36-3b1c-ae52-c8aa-56fa41a3d21f", + "time": 0.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "423f196b-7c61-807c-f468-797fd794a218", + "time": 1.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-35", + "y": 0, + "z": 0 + } + ], + "uuid": "78738504-9392-53a8-dcdf-6f9a63e4dbed", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e7d3e5d8-00e4-587c-7bb6-6787db00054b": { + "name": "LeftArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "-35", + "y": "0", + "z": "0" + } + ], + "uuid": "abcf5968-0ffc-0e1e-18a2-17c895e8138f", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -180, + "y": 0, + "z": "12.5" + } + ], + "uuid": "a0d8f630-f465-66db-236a-a51382f22658", + "time": 0.15, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-35", + "y": 0, + "z": 0 + } + ], + "uuid": "a7a4b4dc-57c4-0d2f-8a4b-a8a7fce33bdd", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -180, + "y": 0, + "z": "12.5" + } + ], + "uuid": "13af3f05-9c61-b4ba-7fe6-510c03542278", + "time": 1.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Iroha/scripts/avatar.lua b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar.lua new file mode 100644 index 0000000..09b9ed1 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar.lua @@ -0,0 +1,214 @@ +---@class Avatar アバターのメインクラス +---@field public avatarEvents AvatarEvents +---@field public modelUtils ModelUtils +---@field public playerUtils PlayerUtils +---@field public compatibilityUtils CompatibilityUtils +---@field public characterData BlueArchiveCharacter +---@field public headRing HeadRing +---@field public headBlock HeadBlock +---@field public locale Locale +---@field public config Config +---@field public cameraManager CameraManager +---@field public keyManager KeyManager +---@field public vanillaModel VanillaModel +---@field public arms Arms +---@field public skirt Skirt +---@field public armor Armor +---@field public faceParts FaceParts +---@field public portrait Portrait +---@field public physics Physics +---@field public gun Gun +---@field public nameplate Nameplate +---@field public exSkill ExSkill +---@field public frameParticleManager ExSkillFrameParticleManager +---@field public placementObjectManager PlacementObjectManager +---@field public costume Costume +---@field public actionWheel ActionWheel +---@field public actionWheelGui ActionWheelGui +---@field public bubble Bubble +---@field public barrier Barrier +---@field public deathAnimation DeathAnimation +---@field public hypixelZombies HypixelZombies +---@field public updateChecker UpdateChecker +---@field public shellManager TankShellManager +---@field public instantiate fun(class: table, super: table, ...: any) クラスをインスタンス化する + +Avatar = { + ---コンストラクタ + ---@return Avatar + new = function () + ---@type Avatar + local instance = Avatar.instantiate(Avatar) + + --ENTITY_INIT前に読み込み + require("scripts.avatar_modules.avatar_module") + + --ユーティリティクラスの読み込み + require("scripts.avatar_modules.events.abstract_event") + require("scripts.avatar_modules.events.script_init_event") + require("scripts.avatar_modules.events.avatar_events") + instance.avatarEvents = AvatarEvents.new(instance) + instance.avatarEvents:init() + + require("scripts.avatar_modules.utils.model_utils") + instance.modelUtils = ModelUtils.new(instance) + instance.modelUtils:init() + + --アバターモジュールの読み込み + require("scripts.blue_archive_character") + instance.characterData = BlueArchiveCharacter.new(instance) + instance.characterData:init() + + require("scripts.avatar_modules.head_ring") + instance.headRing = HeadRing.new(instance) + instance.headRing:init() + + require("scripts.avatar_modules.head_model_generator") + require("scripts.avatar_modules.head_block") + instance.headBlock = HeadBlock.new(instance) + instance.headBlock:init() + + --生徒固有クラスの読み込み + + events.ENTITY_INIT:register(function () + --ユーティリティクラスの読み込み + require("scripts.avatar_modules.utils.player_utils") + instance.playerUtils = PlayerUtils.new(instance) + instance.playerUtils:init() + + require("scripts.avatar_modules.utils.compatibility_utils") + instance.compatibilityUtils = CompatibilityUtils.new(instance) + instance.compatibilityUtils:init() + + require("scripts.avatar_modules.utils.spawn_object_manager") + require("scripts.avatar_modules.utils.spawn_object") + + --アバターモジュールの読み込み + require("scripts.avatar_modules.locale") + instance.locale = Locale.new(instance) + instance.locale:init() + + require("scripts.avatar_modules.config") + instance.config = Config.new(instance) + instance.config:init() + + require("scripts.avatar_modules.camera_manager") + instance.cameraManager = CameraManager.new(instance) + instance.cameraManager:init() + + require("scripts.avatar_modules.key_manager") + instance.keyManager = KeyManager.new(instance) + instance.keyManager:init() + + require("scripts.avatar_modules.vanilla_model") + instance.vanillaModel = VanillaModel.new(instance) + instance.vanillaModel:init() + + require("scripts.avatar_modules.arms") + instance.arms = Arms.new(instance) + instance.arms:init() + + require("scripts.avatar_modules.skirt") + instance.skirt = Skirt.new(instance) + instance.skirt:init() + + require("scripts.avatar_modules.armor") + instance.armor = Armor.new(instance) + instance.armor:init() + + require("scripts.avatar_modules.face_parts") + instance.faceParts = FaceParts.new(instance) + instance.faceParts:init() + + require("scripts.avatar_modules.portrait") + instance.portrait = Portrait.new(instance) + instance.portrait:init() + + require("scripts.avatar_modules.physics") + instance.physics = Physics.new(instance) + instance.physics:init() + + require("scripts.avatar_modules.gun") + instance.gun = Gun.new(instance) + instance.gun:init() + + require("scripts.avatar_modules.nameplate") + instance.nameplate = Nameplate.new(instance) + instance.nameplate:init() + + require("scripts.avatar_modules.ex_skill.ex_skill") + instance.exSkill = ExSkill.new(instance) + instance.exSkill:init() + + require("scripts.avatar_modules.ex_skill.ex_skill_frame_particle_manager") + require("scripts.avatar_modules.ex_skill.ex_skill_frame_particle") + instance.frameParticleManager = ExSkillFrameParticleManager.new(instance) + instance.frameParticleManager:init() + + require("scripts.avatar_modules.placement_object.placement_object_manager") + require("scripts.avatar_modules.placement_object.placement_object") + instance.placementObjectManager = PlacementObjectManager.new(instance) + instance.placementObjectManager:init() + + require("scripts.avatar_modules.costume") + instance.costume = Costume.new(instance) + instance.costume:init() + + require("scripts.avatar_modules.action_wheel.action_wheel") + instance.actionWheel = ActionWheel.new(instance) + instance.actionWheel:init() + + require("scripts.avatar_modules.action_wheel.action_wheel_gui") + instance.actionWheelGui = ActionWheelGui.new(instance) + instance.actionWheelGui:init() + + require("scripts.avatar_modules.bubble") + instance.bubble = Bubble.new(instance) + instance.bubble:init() + + require("scripts.avatar_modules.barrier") + instance.barrier = Barrier.new(instance) + instance.barrier:init() + + require("scripts.avatar_modules.death_animation") + instance.deathAnimation = DeathAnimation.new(instance) + instance.deathAnimation:init() + + require("scripts.avatar_modules.hypixel_zombies") + instance.hypixelZombies = HypixelZombies.new(instance) + instance.hypixelZombies:init() + + require("scripts.avatar_modules.action_wheel.update_checker") + instance.updateChecker = UpdateChecker.new(instance) + instance.updateChecker:init() + + --生徒固有クラスの読み込み + + require("scripts.character_scripts.tank_shell_manager") + require("scripts.character_scripts.tank_shell") + instance.shellManager = TankShellManager.new(instance) + instance.shellManager:init() + + --SCRIPT_INITイベントを実行 + instance.avatarEvents.SCRIPT_INIT:fire() + end) + + return instance + end; + + ---クラスをインスタンス化する。 + ---@generic S + ---@generic C + ---@param class `C` インスタンス化するクラス + ---@param super? `S` インスタンス化するクラスのスーパークラス + ---@param ... any クラスのインスタンス時に渡される引数 + ---@return C instance インスタンス化されたクラスのオブジェクト + instantiate = function (class, super, ...) + local instance = super and super.new(...) or {} + setmetatable(instance, {__index = class}) + setmetatable(class, {__index = super}) + return instance + end; +} + +AvatarInstance = Avatar.new() \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/action_wheel/action_wheel.lua b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/action_wheel/action_wheel.lua new file mode 100644 index 0000000..e7e2c4e --- /dev/null +++ b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/action_wheel/action_wheel.lua @@ -0,0 +1,319 @@ +---@class (exact) ActionWheel : AvatarModule アクションホイールを管理するクラス +---@field package mainPage Page アクションホイールのメインページのインスタンスへの参照 +---@field package selectingCostume integer 現在選択中の衣装 +---@field package selectingName integer 現在選択中の表示名 +---@field package selectingShouldShowClubName boolean 現在選択中の「部活名を表示するかどうか」 +---@field package selectingExSkillParticleAmount integer 現在選択中のExスキルフレームのパーティクル量 +---@field public shouldReplaceVehicleModels boolean 乗り物のモデルを置き換えるかどうか +---@field package isActionWheelOpenedPrev boolean 前ティックにアクションホイールを開けていたかどうか +---@field package refreshCostumeChangeActionTitle fun(self: ActionWheel) 衣装変更アクションのタイトルを更新する +---@field package refreshNameChangeActionTitle fun(self: ActionWheel) 名前変更アクションのタイトルを更新する +---@field package refreshExSkillParticleActionTitle fun(self: ActionWheel) Exスキルアニメーションのパーティクル量調整アクションのタイトルを更新する +---@field package refreshUpdateActionStatus fun(self: ActionWheel) アップデート確認アクションの状態を更新する + +ActionWheel = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ActionWheel + new = function (parent) + ---@type ActionWheel + local instance = Avatar.instantiate(ActionWheel, AvatarModule, parent) + + instance.mainPage = action_wheel:newPage("main") + instance.selectingCostume = instance.parent.costume.currentCostume + instance.selectingName = instance.parent.nameplate.currentName + instance.selectingShouldShowClubName = instance.parent.nameplate.shouldShowClubName + instance.selectingExSkillParticleAmount = instance.parent.exSkill.frameParticleAmount + instance.shouldReplaceVehicleModels = instance.parent.config:loadConfig("PRIVATE", "replaceVehicleModels", true) + instance.isActionWheelOpenedPrev = false + + return instance + end; + + ---初期化関数 + ---@param self ActionWheel + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + events.TICK:register(function() + local isActionWheelOpened = action_wheel:isEnabled() + if isActionWheelOpened then + local mainAction3 = self.mainPage:getAction(3) + mainAction3:setTitle(self.parent.locale:getLocale("action_wheel.main.action_3.title").."§c"..self.parent.locale:getLocale("action_wheel.toggle_off")) + mainAction3:setToggleTitle(self.parent.locale:getLocale("action_wheel.main.action_3.title").."§a"..self.parent.locale:getLocale("action_wheel.toggle_on")) + local mainAction4 = self.mainPage:getAction(4) + mainAction4:setTitle(self.parent.locale:getLocale("action_wheel.main.action_4.title").."§c"..self.parent.locale:getLocale("action_wheel.toggle_off")) + mainAction4:setToggleTitle(self.parent.locale:getLocale("action_wheel.main.action_4.title").."§a"..self.parent.locale:getLocale("action_wheel.toggle_on")) + local mainAction6 = self.mainPage:getAction(6) + if self.parent.characterData.actionWheel.isVehicleOptionEnabled then + mainAction6:setTitle(self.parent.locale:getLocale("action_wheel.main.action_6.title").."§c"..self.parent.locale:getLocale("action_wheel.toggle_off")) + else + mainAction6:setTitle("§7"..self.parent.locale:getLocale("action_wheel.main.action_6.title")..self.parent.locale:getLocale("action_wheel.toggle_off")) + end + mainAction6:setToggleTitle(self.parent.locale:getLocale("action_wheel.main.action_6.title").."§a"..self.parent.locale:getLocale("action_wheel.toggle_on")) + self:refreshCostumeChangeActionTitle() + self:refreshNameChangeActionTitle() + self:refreshExSkillParticleActionTitle() + self:refreshUpdateActionStatus() + elseif not isActionWheelOpened and self.isActionWheelOpenedPrev then + if self.selectingCostume ~= self.parent.costume.currentCostume then + pings.actionWheelChangeCostume(self.selectingCostume) + self.parent.config:saveConfig("PRIVATE", "costume", self.selectingCostume) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.armor.equip_leather"), player:getPos()) + print(self.parent.locale:getLocale("action_wheel.main.action_1.done_first")..self.parent.costume:getCostumeLocalName(self.selectingCostume)..self.parent.locale:getLocale("action_wheel.main.action_1.done_last")) + end + if self.selectingName ~= self.parent.nameplate.currentName or self.selectingShouldShowClubName ~= self.parent.nameplate.shouldShowClubName then + pings.actionWheelChangeName(self.selectingName, self.selectingShouldShowClubName) + self.parent.config:saveConfig("PRIVATE", "name", self.selectingName) + self.parent.config:saveConfig("PRIVATE", "showClubName", self.selectingShouldShowClubName) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:ui.cartography_table.take_result"), player:getPos()) + print(self.parent.locale:getLocale("action_wheel.main.action_2.done_first")..self.parent.nameplate:getName(self.selectingName)..self.parent.locale:getLocale("action_wheel.main.action_2.done_last")) + end + if self.selectingExSkillParticleAmount ~= self.parent.exSkill.frameParticleAmount then + self.parent.exSkill.frameParticleAmount = self.selectingExSkillParticleAmount + self.parent.config:saveConfig("PRIVATE", "exSkillFrameParticleAmount", self.selectingExSkillParticleAmount) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.item.pickup"), player:getPos(), 1, 0.5) + print(self.parent.locale:getLocale("action_wheel.main.action_5.done_first")..self.parent.locale:getLocale("action_wheel.main.action_5.option_"..self.selectingExSkillParticleAmount)..self.parent.locale:getLocale("action_wheel.main.action_5.done_last")) + end + end + self.isActionWheelOpenedPrev = isActionWheelOpened + end) + + --アクションの設定 + + --アクション1. 衣装を変更 + self.mainPage:newAction(1):setItem(self.parent.compatibilityUtils:checkItem("minecraft:leather_chestplate")):setOnScroll(function(direction) + if #self.parent.costume.costumeList >= 2 then + if direction < 0 then + self.selectingCostume = self.selectingCostume == #self.parent.costume.costumeList and 1 or self.selectingCostume + 1 + else + self.selectingCostume = self.selectingCostume == 1 and #self.parent.costume.costumeList or self.selectingCostume - 1 + end + self:refreshCostumeChangeActionTitle() + else + print(self.parent.locale:getLocale("action_wheel.main.action_1.unavailable")) + end + end):setOnLeftClick(function() + if #self.parent.costume.costumeList >= 2 then + self.selectingCostume = self.parent.costume.currentCostume + self:refreshCostumeChangeActionTitle() + end + end):setOnRightClick(function() + if #self.parent.costume.costumeList >= 2 then + self.selectingCostume = 1 + self:refreshCostumeChangeActionTitle() + end + end) + + if #self.parent.costume.costumeList >= 2 then + local action = self.mainPage:getAction(1) + action:setColor(0.78, 0.78, 0.78) + action:setHoverColor(1, 1, 1) + else + local action = self.mainPage:getAction(1) + action:setColor(0.16, 0.16, 0.16) + action:setHoverColor(1, 0.33, 0.33) + end + + --アクション2. 表示名の変更 + self.mainPage:newAction(2):setItem(self.parent.compatibilityUtils:checkItem("minecraft:name_tag")):setColor(0.78, 0.78, 0.78):setHoverColor(1, 1, 1):setOnScroll(function(direction) + if direction < 0 then + self.selectingName = self.selectingName == 6 and 1 or self.selectingName + 1 + else + self.selectingName = self.selectingName == 1 and 6 or self.selectingName - 1 + end + self:refreshNameChangeActionTitle() + end):setOnLeftClick(function() + self.selectingShouldShowClubName = not self.selectingShouldShowClubName + self:refreshNameChangeActionTitle() + end):setOnRightClick(function() + self.selectingName = 1 + self.selectingShouldShowClubName = false + self:refreshNameChangeActionTitle() + end) + + --アクション3. 防具の表示 + self.mainPage:newAction(3):setItem(self.parent.compatibilityUtils:checkItem("minecraft:iron_chestplate")):setColor(0.67, 0, 0):setHoverColor(1, 0.33, 0.33):setToggleColor(0, 0.67, 0):setOnToggle(function (_, action) + pings.actionWheelSetArmorVisible(true) + action:setHoverColor(0.33, 1, 0.33) + self.parent.config:saveConfig("PRIVATE", "showArmor", true) + end):setOnUntoggle(function(_, action) + pings.actionWheelSetArmorVisible(false) + action:setHoverColor(1, 0.33, 0.33) + self.parent.config:saveConfig("PRIVATE", "showArmor", false) + end) + if self.parent.config:loadConfig("PRIVATE", "showArmor", false) then + local action = self.mainPage:getAction(3) + action:setToggled(true) + action:setHoverColor(0.33, 1, 0.33) + end + + --アクション4. 一人称視点での武器モデルの表示 + self.mainPage:newAction(4):setItem(self.parent.compatibilityUtils:checkItem("minecraft:bow")):setColor(0.67, 0, 0):setHoverColor(1, 0.33, 0.33):setToggleColor(0, 0.67, 0):setOnToggle(function (_, action) + self.parent.gun.shouldShowWeaponInFirstPerson = true + action:setHoverColor(0.33, 1, 0.33) + self.parent.config:saveConfig("PRIVATE", "firstPersonWeapon", true) + end):setOnUntoggle(function (_, action) + self.parent.gun.shouldShowWeaponInFirstPerson = false + action:setHoverColor(1, 0.33, 0.33) + self.parent.config:saveConfig("PRIVATE", "firstPersonWeapon", false) + end) + if self.parent.config:loadConfig("PRIVATE", "firstPersonWeapon", true) then + local action = self.mainPage:getAction(4) + action:setToggled(true) + action:setHoverColor(0.33, 1, 0.33) + end + + --アクション5. Exスキルフレームのパーティクルの量 + self.mainPage:newAction(5):setItem(self.parent.compatibilityUtils:checkItem("minecraft:glowstone_dust")):setColor(0.78, 0.78, 0.78):setHoverColor(1, 1, 1):setOnScroll(function (direction) + if direction < 0 then + self.selectingExSkillParticleAmount = self.selectingExSkillParticleAmount == 4 and 1 or self.selectingExSkillParticleAmount + 1 + else + self.selectingExSkillParticleAmount = self.selectingExSkillParticleAmount == 1 and 4 or self.selectingExSkillParticleAmount - 1 + end + self:refreshExSkillParticleActionTitle() + end):setOnLeftClick(function () + self.selectingExSkillParticleAmount = self.parent.exSkill.frameParticleAmount + self:refreshExSkillParticleActionTitle() + end):setOnRightClick(function () + self.selectingExSkillParticleAmount = 1 + self:refreshExSkillParticleActionTitle() + end) + + --アクション6. 乗り物モデルの置き換え + self.mainPage:newAction(6):setItem(self.parent.compatibilityUtils:checkItem("minecraft:oak_boat")):setColor(0.67, 0, 0):setHoverColor(1, 0.33, 0.33):setToggleColor(0, 0.67, 0):setOnToggle(function (_, action) + if self.parent.characterData.actionWheel.isVehicleOptionEnabled then + pings.actionWheelSetShouldReplaceVehicleModels(true) + action:setHoverColor(0.33, 1, 0.33) + self.parent.config:saveConfig("PRIVATE", "replaceVehicleModels", true) + else + print(self.parent.locale:getLocale("action_wheel.main.action_6.unavailable")) + action:setToggled(false) + end + end):setOnUntoggle(function (_, action) + pings.actionWheelSetShouldReplaceVehicleModels(false) + action:setHoverColor(1, 0.33, 0.33) + self.parent.config:saveConfig("PRIVATE", "replaceVehicleModels", false) + end) + if not self.parent.characterData.actionWheel.isVehicleOptionEnabled then + local action = self.mainPage:getAction(6) + action:setColor(0.16, 0.16, 0.16) + action:setHoverColor(1, 0.33, 0.33) + self.shouldReplaceVehicleModels = false + elseif self.shouldReplaceVehicleModels then + local action = self.mainPage:getAction(6) + action:setToggled(true) + action:setHoverColor(0.33, 1, 0.33) + end + + --アクション7. アップデートの確認 + self.mainPage:newAction(7):setItem("minecraft:compass"):setOnLeftClick(function () + if not self.parent.updateChecker.checkerStatus ~= "CHECKING" then + self.parent.updateChecker:checkUpdate() + else + print("action_wheel.main.action_7.ongoing") + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + end + if not net:isNetworkingAllowed() or not net:isLinkAllowed("https://api.github.com") then + print(self.parent.locale:getLocale("action_wheel.main.action_7.networking_api")) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + end + end):onRightClick(function () + if self.parent.updateChecker.latestVersion ~= nil then + host:setClipboard("https://github.com/Gakuto1112/FiguraBlueArchiveCharacters/releases/tag/"..self.parent.updateChecker.latestVersion) + print(self.parent.locale:getLocale("action_wheel.main.action_7.copied")) + else + print(self.parent.locale:getLocale("action_wheel.main.action_7.cannot_check_latest")) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + end + end) + + --アクション8. (空欄) + self.mainPage:newAction(8):setColor(0.16, 0.16, 0.16):setHoverColor(0.16, 0.16, 0.16) + + action_wheel:setPage(self.mainPage) + end + end; + + ---衣装変更アクションのタイトルを更新する。 + ---@param self ActionWheel + refreshCostumeChangeActionTitle = function (self) + if #self.parent.costume.costumeList >= 2 then + self.mainPage:getAction(1):setTitle(self.parent.locale:getLocale("action_wheel.main.action_1.title").."§b"..self.parent.costume:getCostumeLocalName(self.selectingCostume)) + else + self.mainPage:getAction(1):setTitle("§7"..self.parent.locale:getLocale("action_wheel.main.action_1.title")..self.parent.costume:getCostumeLocalName(self.selectingCostume)) + end + end; + + ---名前変更アクションのタイトルを更新する。 + ---@param self ActionWheel + refreshNameChangeActionTitle = function (self) + if self.selectingName >= 2 then + if self.selectingShouldShowClubName then + self.mainPage:getAction(2):setTitle(self.parent.locale:getLocale("action_wheel.main.action_2.title").."§b"..self.parent.nameplate:getName(self.selectingName).."\n§r"..self.parent.locale:getLocale("action_wheel.main.action_2.title_2").."§a"..self.parent.locale:getLocale("action_wheel.toggle_on")) + else + self.mainPage:getAction(2):setTitle(self.parent.locale:getLocale("action_wheel.main.action_2.title").."§b"..self.parent.nameplate:getName(self.selectingName).."\n§r"..self.parent.locale:getLocale("action_wheel.main.action_2.title_2").."§c"..self.parent.locale:getLocale("action_wheel.toggle_off")) + end + else + self.mainPage:getAction(2):setTitle(self.parent.locale:getLocale("action_wheel.main.action_2.title").."§b"..self.parent.nameplate:getName(self.selectingName).."\n§7"..self.parent.locale:getLocale("action_wheel.main.action_2.title_2")..self.parent.locale:getLocale("action_wheel.toggle_"..(self.selectingShouldShowClubName and "on" or "off"))) + end + end; + + ---Exスキルアニメーションのパーティクル量調整アクションのタイトルを更新する。 + ---@param self ActionWheel + refreshExSkillParticleActionTitle = function (self) + self.mainPage:getAction(5):title(self.parent.locale:getLocale("action_wheel.main.action_5.title").."§b"..self.parent.locale:getLocale("action_wheel.main.action_5.option_"..self.selectingExSkillParticleAmount)) + end; + + ---アップデート確認アクションの状態を更新する。 + ---@param self ActionWheel + refreshUpdateActionStatus = function (self) + local action = self.mainPage:getAction(7) + local actionTitle = "" + if self.parent.updateChecker.checkerStatus == "CHECKING" then + actionTitle = actionTitle.."§7"..self.parent.locale:getLocale("action_wheel.main.action_7.title_1")..self.parent.locale:getLocale("action_wheel.main.action_7.title_2").."\n" + action:setColor(0.16, 0.16, 0.16) + action:setHoverColor(1, 0.33, 0.33) + else + actionTitle = actionTitle..self.parent.locale:getLocale("action_wheel.main.action_7.title_1").."§b"..self.parent.locale:getLocale("action_wheel.main.action_7.title_2").."\n" + action:setColor(0.78, 0.78, 0.78) + action:setHoverColor(1, 1, 1) + end + if self.parent.updateChecker.latestVersion == nil then + actionTitle = actionTitle.."§7"..self.parent.locale:getLocale("action_wheel.main.action_7.title_3")..self.parent.locale:getLocale("action_wheel.main.action_7.title_4") + else + actionTitle = actionTitle.."§r"..self.parent.locale:getLocale("action_wheel.main.action_7.title_3").."§b"..self.parent.locale:getLocale("action_wheel.main.action_7.title_4") + end + action:setTitle(actionTitle) + end; +} + +---アクションホイールから衣装を変更するトリガー関数 +---@param costumeId integer 新しい衣装のインデックス番号 +function pings.actionWheelChangeCostume(costumeId) + if costumeId >= 2 then + AvatarInstance.costume:setCostume(costumeId) + else + AvatarInstance.costume:resetCostume() + end +end + +---アクションホイールから名前を変更するトリガー関数 +---@param typeId integer 新しい名前の表示形式のインデックス番号 +---@param shouldShowClubName boolean 部活名を表示するかどうか +function pings.actionWheelChangeName(typeId, shouldShowClubName) + AvatarInstance.nameplate:setName(typeId, shouldShowClubName) +end + +---アクションホイールから防具の可視性を変更するトリガー関数 +---@param visible boolean 防具を表示するかどうか +function pings.actionWheelSetArmorVisible(visible) + AvatarInstance.armor.shouldShowArmor = visible +end + +---アクションホイールから乗り物モデルの置き換えを変更するトリガー関数 +---@param enabled boolean 乗り物モデルの置き換えを有効化するかどうか +function pings.actionWheelSetShouldReplaceVehicleModels(enabled) + AvatarInstance.actionWheel.shouldReplaceVehicleModels = enabled +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/action_wheel/action_wheel_gui.lua b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/action_wheel/action_wheel_gui.lua new file mode 100644 index 0000000..18f89b7 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/action_wheel/action_wheel_gui.lua @@ -0,0 +1,113 @@ +---@class ActionWheelGui : AvatarModule アクションホイールに表示する追加のGUIを管理するクラス +---@field package isActionWheelOpenedPrev boolean 前ティックにアクションホイールを開けていたかどうか + +ActionWheelGui = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ActionWheelGui + new = function (parent) + ---@type ActionWheelGui + local instance = Avatar.instantiate(ActionWheelGui, AvatarModule, parent) + + instance.isActionWheelOpenedPrev = false + + return instance + end; + + ---初期化関数 + ---@param self ActionWheelGui + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + events.TICK:register(function () + local isActionWheelOpened = action_wheel:isEnabled() + if isActionWheelOpened and not self.isActionWheelOpenedPrev then + models.models.action_wheel_gui.Gui:setVisible(true) + + local windowSize = client:getScaledWindowSize() + models.models.action_wheel_gui.Gui.BubbleGuide:setPos(windowSize.x * -0.5 + 44, windowSize.y * -0.5 + 5, 0) + models.models.action_wheel_gui.Gui.ExSkillGuide:setPos(windowSize.x * -0.5 + 57, -21, 0) + models.models.action_wheel_gui.Gui.VersionDisplay:setPos(-0.75, -0.5, 0) + + local bubbleGuideTextTasks = {models.models.action_wheel_gui.Gui.BubbleGuide:getTask("action_wheel.gui.bubble_guide.title"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.GoodEmoji:getTask("bubble_guide.bubble_1.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.HeartEmoji:getTask("bubble_guide.bubble_2.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.NoteEmoji:getTask("bubble_guide.bubble_3.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.QuestionEmoji:getTask("bubble_guide.bubble_4.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.SweatEmoji:getTask("bubble_guide.bubble_5.key_name")} + bubbleGuideTextTasks[1]:setText(self.parent.locale:getLocale("action_wheel.gui.bubble_guide.title")) + for i = 2, #bubbleGuideTextTasks do + bubbleGuideTextTasks[i]:setText("§0"..self.parent.keyManager.keyMappings["bubble_"..(i - 1)]:getKeyName()) + end + + local bubbleGuideTitleWidth = client.getTextWidth(bubbleGuideTextTasks[1]:getText()) / 2 + 4 + local bubbleGuideBodyWidth = 0 + for i = 2, #bubbleGuideTextTasks do + bubbleGuideBodyWidth = math.max(bubbleGuideBodyWidth, client.getTextWidth(bubbleGuideTextTasks[i]:getText()) * 0.5) + end + local bubbleGuideWidth = math.max(bubbleGuideTitleWidth + 6, bubbleGuideBodyWidth + 22) + bubbleGuideWidth = math.max(bubbleGuideWidth, 39) + + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.TitleBar:setPos((bubbleGuideWidth - bubbleGuideTitleWidth) / 2, 0, 0) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.TitleBar:setScale(bubbleGuideTitleWidth, 1, 1) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.TitleCenter:setScale(bubbleGuideWidth - 25, 1, 1) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.TitleLeft:setPos(bubbleGuideWidth - 26, 0, 0) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.BodyTop:setScale(bubbleGuideWidth, 1, 1) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.BodyBottomCenter:setScale(bubbleGuideWidth - 39, 1, 1) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.BodyBottomLeft:setPos(bubbleGuideWidth - 40, 0, 0) + models.models.action_wheel_gui.Gui.BubbleGuide.Emojis:setPos((bubbleGuideWidth - (bubbleGuideBodyWidth + 22)) / 2 + bubbleGuideBodyWidth + 9, 0, 0) + bubbleGuideTextTasks[1]:setPos(bubbleGuideWidth / 2, 0, 0) + for i = 2, #bubbleGuideTextTasks do + bubbleGuideTextTasks[i]:setPos(bubbleGuideBodyWidth / -2 - 4, 1.5, 0) + end + + local exSkillGuideTextTasks = {models.models.action_wheel_gui.Gui.ExSkillGuide:getTask("action_wheel.gui.ex_skill_guide.title"), models.models.action_wheel_gui.Gui.ExSkillGuide:getTask("action_wheel.gui.ex_skill_guide.body_1"), models.models.action_wheel_gui.Gui.ExSkillGuide:getTask("action_wheel.gui.ex_skill_guide.body_2")} + exSkillGuideTextTasks[1]:setText(self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.title")) + exSkillGuideTextTasks[2]:setText(self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill == nil and "§0§l\""..self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.ex_skill_"..self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].exSkill..".name").."\"" or "§0§l\""..self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.ex_skill_"..self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].exSkill..".name").."\"§r§0 - \""..self.parent.keyManager.keyMappings.ex_skill:getKeyName().."\"") + exSkillGuideTextTasks[3]:setText(self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill == nil and "§0"..self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.key_pre")..self.parent.keyManager.keyMappings.ex_skill:getKeyName()..self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.key_post") or "§0§l\""..self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.ex_skill_"..self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill..".name").."\"§r§0 - \""..self.parent.keyManager.keyMappings.ex_skill_sub:getKeyName().."\"") + + local exSkillGuideTitleWidth = client.getTextWidth(exSkillGuideTextTasks[1]:getText()) / 2 + 4 + local exSkillGuideWidth = exSkillGuideTitleWidth + for i = 2, #exSkillGuideTextTasks do + exSkillGuideWidth = math.max(exSkillGuideWidth, client.getTextWidth(exSkillGuideTextTasks[i]:getText()) / 2 + 10) + end + exSkillGuideWidth = math.max(exSkillGuideWidth, 39) + + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.TitleBar:setPos((exSkillGuideWidth - exSkillGuideTitleWidth) / 2, 0, 0) + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.TitleBar:setScale(exSkillGuideTitleWidth, 1, 1) + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.TitleCenter:setScale(exSkillGuideWidth - 25, 1, 1) + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.TitleLeft:setPos(exSkillGuideWidth - 26, 0, 0) + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.BodyBottomCenter:setScale(exSkillGuideWidth - 39, 1, 1) + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.BodyBottomLeft:setPos(exSkillGuideWidth - 40, 0, 0) + exSkillGuideTextTasks[1]:setPos(exSkillGuideWidth / 2, 0, 0) + for i = 2, #exSkillGuideTextTasks do + exSkillGuideTextTasks[i]:setPos(exSkillGuideWidth / 2, (i - 2) * -5 - 8) + end + + local versionDisplayTextTasks = {} + for i = 1, 3 do + table.insert(versionDisplayTextTasks, models.models.action_wheel_gui.Gui.VersionDisplay:getTask("action_wheel.gui.version_display.l"..i)) + end + + for i = 2, 3 do + versionDisplayTextTasks[i]:setPos(0, (i - 1) * -2.25, 0) + end + + elseif not isActionWheelOpened and self.isActionWheelOpenedPrev then + models.models.action_wheel_gui.Gui:setVisible(false) + end + self.isActionWheelOpenedPrev = isActionWheelOpened + end) + + models.models.action_wheel_gui.Gui:setScale(2, 2, 2) + for _, textTask in ipairs({models.models.action_wheel_gui.Gui.BubbleGuide:newText("action_wheel.gui.bubble_guide.title"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.GoodEmoji:newText("bubble_guide.bubble_1.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.HeartEmoji:newText("bubble_guide.bubble_2.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.NoteEmoji:newText("bubble_guide.bubble_3.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.QuestionEmoji:newText("bubble_guide.bubble_4.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.SweatEmoji:newText("bubble_guide.bubble_5.key_name"), models.models.action_wheel_gui.Gui.ExSkillGuide:newText("action_wheel.gui.ex_skill_guide.title"), models.models.action_wheel_gui.Gui.ExSkillGuide:newText("action_wheel.gui.ex_skill_guide.body_1"), models.models.action_wheel_gui.Gui.ExSkillGuide:newText("action_wheel.gui.ex_skill_guide.body_2")}) do + textTask:setScale(0.5, 0.5, 0.5) + textTask:setAlignment("CENTER") + end + for i = 1, 3 do + local textTask = models.models.action_wheel_gui.Gui.VersionDisplay:newText("action_wheel.gui.version_display.l"..i) + textTask:setScale(0.25, 0.25, 0.25) + textTask:setShadow(true) + if i == 1 then + textTask:setText("Figura Blue Archive Characters (FBAC)") + end + end + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/action_wheel/update_checker.lua b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/action_wheel/update_checker.lua new file mode 100644 index 0000000..a26af1c --- /dev/null +++ b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/action_wheel/update_checker.lua @@ -0,0 +1,181 @@ +---@alias UpdateChecker.CheckerStatus +---| "INIT" # 初期状態 +---| "CHECKING" # アップデート確認中 +---| "LATEST" # アップデート確認済み:最新版 +---| "UPDATE_AVAILABLE" # アップデート確認済み:アップデートあり +---| "ERROR_INVALID_JSON" # エラー:予期しないJSONデータ +---| "ERROR_INVALID_JSON_SYNTAX" # エラー:不正なJSON構文 +---| "ERROR_REQUEST_FAILED" # リクエストに失敗 +---| "ERROR_NETWORK_ERR" # ネットワークエラー +---| "ERROR_NOT_ALLOWED" # ネットワーキングAPIが不許可 + +---@class (exact) UpdateChecker : AvatarModule FBACのアップデートの確認を管理するクラス +---@field package FBAC_VERSION string 現在のFBACバージョン +---@field package BRANCH_NAME string このブランチ名(キャラクター名) +---@field public latestVersion? string リモート上にある最新のFBACバージョン +---@field public checkerStatus UpdateChecker.CheckerStatus アップデートチェッカーの状態 +---@field package requestStatus integer 送信したリクエストのステータスコード +---@field package responseHandler Future.HttpResponse|nil httpレスポンスのハンドラ +---@field package textAnimationCount integer 新しいバージョン表示のテキストのアニメーションのカウンター +---@field package isActionWheelOpenedPrev boolean 前ティックにアクションホイールを開けていたかどうか +---@field package compareVersions fun(version1: string, version2: string): string|nil 2つのバージョン文字列を比較し、新しい方を返す +---@field package showNewUpdateMessage fun(self: UpdateChecker) 新FBACバージョンのお知らせを表示する +---@field public checkUpdate fun(self: UpdateChecker) FBACアップデートの確認を行う + +UpdateChecker = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return UpdateChecker + new = function (parent) + ---@type UpdateChecker + local instance = Avatar.instantiate(UpdateChecker, AvatarModule, parent) + + instance.FBAC_VERSION = "v2.1.2" + instance.BRANCH_NAME = "Iroha" + instance.latestVersion = instance.parent.config:loadConfig("PUBLIC", "latestVersion", nil) + instance.checkerStatus = "INIT" + instance.requestStatus = 0 + instance.textAnimationCount = 0 + + return instance + end; + + ---初期化関数 + ---@param self UpdateChecker + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + models.models.action_wheel_gui.Gui.VersionDisplay:getTask("action_wheel.gui.version_display.l2"):setText(self.FBAC_VERSION.." - "..self.BRANCH_NAME) + + events.TICK:register(function () + local isActionWheelOpened = action_wheel:isEnabled() + if isActionWheelOpened then + local textTask = models.models.action_wheel_gui.Gui.VersionDisplay:getTask("action_wheel.gui.version_display.l3") + if self.checkerStatus == "UPDATE_AVAILABLE" then + if math.floor(self.textAnimationCount / 20) % 2 == 0 then + textTask:setText("§6§n"..self.parent.locale:getLocale("action_wheel.gui.update_check.update_available")..self.latestVersion) + else + textTask:setText("§n"..self.parent.locale:getLocale("action_wheel.gui.update_check.update_available")..self.latestVersion) + end + self.textAnimationCount = self.textAnimationCount + 1 + elseif self.checkerStatus == "ERROR_REQUEST_FAILED" then + textTask:setText(self.parent.locale:getLocale("action_wheel.gui.update_check.error_request_failed").."("..self.requestStatus..")") + else + textTask:setText(self.parent.locale:getLocale("action_wheel.gui.update_check."..self.checkerStatus:lower())) + end + elseif not isActionWheelOpened and self.isActionWheelOpenedPrev then + self.textAnimationCount = 0 + end + self.isActionWheelOpenedPrev = isActionWheelOpened + end) + + local lastUpdateCheckTime = self.parent.config:loadConfig("PUBLIC", "lastUpdateCheckTime", 0) + if client:getSystemTime() >= lastUpdateCheckTime + 86400000 then + self:checkUpdate() + else + local newerVersion = self.compareVersions(self.latestVersion, self.FBAC_VERSION) + if newerVersion ~= nil and newerVersion ~= self.FBAC_VERSION then + self:showNewUpdateMessage() + self.checkerStatus = "UPDATE_AVAILABLE" + else + self.checkerStatus = "LATEST" + end + end + end + end; + + ---2つのバージョン文字列を比較し、新しい方を返す。 + ---@param version1 string 比較するバージョン文字列1 + ---@param version2 string 比較するバージョン文字列2 + ---@return string|nil newerVersion 新しい方のバージョン文字列。比較不可能だった場合はnilを返す。 + compareVersions = function (version1, version2) + local major1, minor1, patch1 = version1:match("^v(%d+)%.(%d+)%.(%d+)") + local major2, minor2, patch2 = version2:match("^v(%d+)%.(%d+)%.(%d+)") + major1 = tonumber(major1) + minor1 = tonumber(minor1) + patch1 = tonumber(patch1) + major2 = tonumber(major2) + minor2 = tonumber(minor2) + patch2 = tonumber(patch2) + if major1 ~= nil and minor1 ~= nil and patch1 ~= nil and major2 ~= nil and minor2 ~= nil and patch2 ~= nil then + return (major1 > major2 or (major1 == major2 and minor1 > minor2) or (major1 == major2 and minor1 == minor2 and patch1 > patch2)) and version1 or version2 + end + end; + + ---新FBACバージョンのお知らせを表示する。 + ---@param self UpdateChecker + showNewUpdateMessage = function (self) + print(self.parent.locale:getLocale("action_wheel.gui.update_check.update_available")..self.latestVersion) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.experience_orb.pickup"), player:getPos(), 1, 1) + end; + + ---FBACアップデートの確認を行う。 + ---@param self UpdateChecker + checkUpdate = function (self) + if host:isHost() and self.checkerStatus ~= "CHECKING" then + self.checkerStatus = "CHECKING" + if net:isNetworkingAllowed() and net:isLinkAllowed("https://api.github.com") then + local request = net.http:request("https://api.github.com/repos/Gakuto1112/FiguraBlueArchiveCharacters/tags") + self.responseHandler = request:send() + events.TICK:register(function () + if self.responseHandler:isDone() then + local response = self.responseHandler:getValue() + if response ~= nil then + local stats = response:getResponseCode() + if math.floor(stats / 100) == 2 then + local stream = response:getData() + local buffer = data:createBuffer() + buffer:readFromStream(stream) + buffer:setPosition(0) + local jsonData = buffer:readByteArray() + if json.isSerializable(jsonData) then + local parseData = parseJson(jsonData) + if parseData[1] ~= nil and parseData[1].name ~= nil then + local newerVersion = self.compareVersions(parseData[1].name, self.FBAC_VERSION) + if newerVersion ~= nil then + if newerVersion ~= self.FBAC_VERSION then + --新しいバージョンがある + self.latestVersion = parseData[1].name + self.checkerStatus = "UPDATE_AVAILABLE" + self:showNewUpdateMessage() + else + --現在は最新 + self.latestVersion = parseData[1].name + self.checkerStatus = "LATEST" + end + self.parent.config:saveConfig("PUBLIC", "lastUpdateCheckTime", client:getSystemTime()) + self.parent.config:saveConfig("PUBLIC", "latestVersion", parseData[1].name) + else + --予期しないJSONデータ + self.checkerStatus = "ERROR_INVALID_JSON" + end + else + --予期しないJSONデータ + self.checkerStatus = "ERROR_INVALID_JSON" + end + else + --JSON解析エラー + self.checkerStatus = "ERROR_INVALID_JSON_SYNTAX" + end + stream:close() + buffer:close() + else + --ステータスコードが200番台以外 + self.checkerStatus = "ERROR_REQUEST_FAILED" + self.requestStatus = stats + end + else + --ネットワークエラー + self.checkerStatus = "ERROR_NETWORK_ERR" + end + events.TICK:remove("update_checker_http_tick") + end + end, "update_checker_http_tick") + else + ---ネットワーキングAPIが不許可 + self.checkerStatus = "ERROR_NOT_ALLOWED" + end + end + end; +} diff --git a/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/armor.lua b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/armor.lua new file mode 100644 index 0000000..7c22696 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/armor.lua @@ -0,0 +1,364 @@ +---防具の部位 +---@alias Armor.ArmorPart +---| "HELMET" # ヘルメット +---| "CHEST_PLATE" # チェストプレート +---| "LEGGINGS" # レギンス +---| "BOOTS" # ブーツ + +---@class (exact) Armor : AvatarModule 防具の表示を制御するクラス +---@field public shouldShowArmor boolean 防具を表示するかどうか +---@field public armorSlotItems ItemStack[] 現ティックの防具スロットのアイテム +---@field package armorSlotItemsPrev ItemStack[] 前ティックの防具スロットのアイテム +---@field public isArmorVisible Armor.VisiblePartsSet 各防具の部位(ヘルメット、チェストプレート、レギンス、ブーツ)が可視状態かどうか +---@field package textureQueue Armor.TextureQueueData[] テクスチャ処理のキュー +---@field package getArmorColor fun(armorItem: ItemStack): number 防具の色を取得する +---@field package compareTrims fun(trim1?: Armor.TrimData, trim2?: Armor.TrimData): boolean 防具装飾が同じものか比較する +---@field package addTextureQueue fun(self: Armor, texture: Texture, paletteName: string) テクスチャの処理のキューにデータを挿入する +---@field package getTrimTexture fun(self: Armor, trimData?: Armor.TrimData, armorId: string): Texture|nil バニラパーツの防具装飾のテクスチャを取得する。テクスチャの処理は次のチック以降行われる。 +---@field public setHelmet fun(self: Armor, helmetItem: ItemStack) ヘルメットを更新する +---@field public setChestplate fun(self: Armor, chestplateItem: ItemStack) チェストプレートを更新する +---@field public setLeggings fun(self: Armor, leggingsItem: ItemStack) レギンスを更新する +---@field public setBoots fun(self: Armor, bootsItem: ItemStack) ブーツを更新する + +---@class (exact) Armor.VisiblePartsSet 各防具の部位の可視状態のセット +---@field public helmet boolean ヘルメット +---@field public chestplate boolean チェストプレート +---@field public leggings boolean レギンス +---@field public boots boolean ブーツ + +---@class (exact) Armor.TextureQueueData テクスチャキューに入るデータの構造体 +---@field public texture Texture 処理対象のテクスチャ +---@field public palette Texture 処理に使用するパレットのテクスチャ +---@field public iterationCount integer 現在の繰り返しカウンター + +---@class (exact) Armor.TrimData 防具装飾のデータセット +---@field public pattern string 防具装飾の模様 +---@field public material string 防具装飾の素材 + +Armor = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Armor + new = function (parent) + ---@type Armor + local instance = Avatar.instantiate(Armor, AvatarModule, parent) + instance.shouldShowArmor = instance.parent.config:loadConfig("PRIVATE", "showArmor", false) + instance.armorSlotItems = {world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air"))} + instance.armorSlotItemsPrev = {world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air"))} + instance.isArmorVisible = { + helmet = false; + chestplate = false; + leggings = false; + boots = false; + } + instance.textureQueue = {} + + return instance + end; + + ---初期化関数 + ---@param self Armor + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + self.armorSlotItems = self.shouldShowArmor and {player:getItem(6), player:getItem(5), player:getItem(4), player:getItem(3)} or {world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))} + if self.armorSlotItems[1].id ~= self.armorSlotItemsPrev[1].id then + self:setHelmet(self.armorSlotItems[1]) + end + if self.armorSlotItems[2].id ~= self.armorSlotItemsPrev[2].id then + self:setChestplate(self.armorSlotItems[2]) + end + if self.armorSlotItems[3].id ~= self.armorSlotItemsPrev[3].id then + self:setLeggings(self.armorSlotItems[3]) + end + if self.armorSlotItems[4].id ~= self.armorSlotItemsPrev[4].id then + self:setBoots(self.armorSlotItems[4]) + end + + for index, armorSlotItem in ipairs(self.armorSlotItems) do + local glint = armorSlotItem:hasGlint() + if glint ~= self.armorSlotItemsPrev[index]:hasGlint() then + --エンチャント変更 + local renderType = glint and "GLINT" or "NONE" + if index == 2 then + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom}) do + armorPart:setSecondaryRenderType(renderType) + end + elseif index == 3 then + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom}) do + armorPart:setSecondaryRenderType(renderType) + end + else + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom}) do + armorPart:setSecondaryRenderType(renderType) + end + end + end + local armorColor = self.getArmorColor(armorSlotItem) + if armorColor ~= self.getArmorColor(self.armorSlotItemsPrev[index]) then + --色変更 + local colorVector = vectors.intToRGB(armorColor) + if index == 2 then + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplate, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottom, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplate, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottom}) do + armorPart:setColor(colorVector) + end + elseif index == 3 then + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggings, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggings, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottom}) do + armorPart:setColor(colorVector) + end + else + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBoots, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBoots, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottom}) do + armorPart:setColor(colorVector) + end + end + end + local trim = self.armorSlotItems[index].tag.Trim + if not self.compareTrims(trim, self.armorSlotItemsPrev[index].tag.Trim) then + --トリム変更 + if index == 2 then + local trimTexture = self:getTrimTexture(trim, self.armorSlotItems[2].id) + if trimTexture then + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplateTrim, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottomTrim, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplateTrim, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottomTrim}) do + armorPart:setVisible(true) + armorPart:setPrimaryTexture("CUSTOM", trimTexture) + end + else + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplateTrim, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottomTrim, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplateTrim, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottomTrim}) do + armorPart:setVisible(false) + end + end + elseif index == 3 then + local trimTexture = self:getTrimTexture(trim, self.armorSlotItems[3].id) + if trimTexture then + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggingsTrim, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottomTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggingsTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottomTrim}) do + armorPart:setVisible(true) + armorPart:setPrimaryTexture("CUSTOM", trimTexture) + end + else + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggingsTrim, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottomTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggingsTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottomTrim}) do + armorPart:setVisible(false) + end + end + else + local trimTexture = self:getTrimTexture(trim, self.armorSlotItems[4].id) + if trimTexture then + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBootsTrim, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottomTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBootsTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottomTrim}) do + armorPart:setVisible(true) + armorPart:setPrimaryTexture("CUSTOM", trimTexture) + end + else + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBootsTrim, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottomTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBootsTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottomTrim}) do + armorPart:setVisible(false) + end + end + end + end + end + --テクスチャの作成処理 + if #self.textureQueue > 0 then + local instructionsAvailable = avatar:getMaxTickCount() - 3000 --このTICKで使用出来る残りの命令数 + while #self.textureQueue > 0 and instructionsAvailable > 0 do + local dimension = self.textureQueue[1].texture:getDimensions() + for y = math.floor(self.textureQueue[1].iterationCount / dimension.x), dimension.y - 1 do + for x = self.textureQueue[1].iterationCount % dimension.x, dimension.x - 1 do + local pixel = self.textureQueue[1].texture:getPixel(x, y) + if pixel.w == 1 then + self.textureQueue[1].texture:setPixel(x, y, self.textureQueue[1].palette:getPixel(7 - math.floor(pixel.x * 8), 0)) + end + self.textureQueue[1].iterationCount = self.textureQueue[1].iterationCount + 1 + instructionsAvailable = instructionsAvailable - 45 + if instructionsAvailable <= 0 then + break + end + end + if instructionsAvailable <= 0 then + break + end + end + self.textureQueue[1].texture:update() + if self.textureQueue[1].iterationCount == dimension.x * dimension.y then + table.remove(self.textureQueue, 1) + end + end + end + self.armorSlotItemsPrev = self.armorSlotItems + end) + + for _, vanillaModel in ipairs({vanilla_model.HELMET, vanilla_model.CHESTPLATE, vanilla_model.LEGGINGS}) do + vanillaModel:setVisible(false) + end + for _, overlayPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottomOverlay, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottomOverlay, models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBootsOverlay, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottomOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBootsOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottomOverlay}) do + overlayPart:setPrimaryTexture("RESOURCE", "minecraft:textures/models/armor/leather_layer_1_overlay.png") + end + for _, overlayPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggingsOverlay, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottomOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggingsOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottomOverlay}) do + overlayPart:setPrimaryTexture("RESOURCE", "minecraft:textures/models/armor/leather_layer_2_overlay.png") + end + end; + + ---防具の色を取得する。 + ---@param armorItem ItemStack 調べるアイテムのオブジェクト + ---@return number color 防具モデルに設定すべき色 + getArmorColor = function (armorItem) + if armorItem.id:find("^minecraft:leather_") then + if armorItem.tag then + if armorItem.tag.display then + return armorItem.tag.display.color and armorItem.tag.display.color or 10511680 + else + return 10511680 + end + else + return 10511680 + end + else + return 16777215 + end + end; + + ---防具装飾が同じものか比較する。 + ---@param trim1? Armor.TrimData 比較する防具装飾のテーブル1 + ---@param trim2? Armor.TrimData 比較する防具装飾のテーブル2 + ---@return boolean isTrimSame 2つの防具装飾が同じものかどうか + compareTrims = function (trim1, trim2) + if type(trim1) == type(trim2) then + if trim1 then + if trim1.pattern ~= trim2.pattern then + return false + elseif trim1.material ~= trim2.material then + return false + else + return true + end + else + return true + end + else + return false + end + end; + + ---テクスチャの処理のキューにデータを挿入する。 + ---@param self Armor + ---@param texture Texture 処理を行うテクスチャ + ---@param paletteName string 使用するパレットの名前 + addTextureQueue = function (self, texture, paletteName) + if textures["trim_palette_"..paletteName] == nil then + textures:fromVanilla("trim_palette_"..paletteName, "minecraft:textures/trims/color_palettes/"..paletteName..".png") + end + table.insert(self.textureQueue, 1, { + texture = texture, + palette = textures["trim_palette_"..paletteName], + iterationCount = 0 + }) + end; + + ---バニラパーツの防具装飾のテクスチャを取得する。テクスチャの処理は次のチック以降行われる。 + ---@param self Armor + ---@param trimData? Armor.TrimData 防具装飾のデータ + ---@param armorId string 防具アイテムのID。 + ---@return Texture|nil trimTexture 色を付けた防具装飾のテクスチャ。防具や防具装飾が非バニラの場合はnilを返す。 + getTrimTexture = function (self, trimData, armorId) + if trimData and trimData.pattern:find("^minecraft:.+$") and trimData.material:find("^minecraft:.+$") and armorId:find("^minecraft:.+_.+$") then + local normalizedPatternName = trimData.pattern:match("^minecraft:(%a+)$") + local normalizedArmorMaterialName = armorId:match("^minecraft:(%a+)_.+$") + normalizedArmorMaterialName = normalizedArmorMaterialName == "golden" and "gold" or normalizedArmorMaterialName + local normalizedMaterialName = trimData.material:match("^minecraft:(%a+)$") + normalizedMaterialName = normalizedMaterialName..(normalizedArmorMaterialName == normalizedMaterialName and "_darker" or "") + local isLeggings = armorId:find("^minecraft:.+_leggings$") + local textureName = "trim_"..normalizedPatternName.."_"..normalizedMaterialName..(isLeggings and "_leggings" or "") + if textures[textureName] then + return textures[textureName] + else + local texture = textures:fromVanilla(textureName, "minecraft:textures/trims/models/armor/"..normalizedPatternName..(armorId:find("^minecraft:.+_leggings$") ~= nil and "_leggings" or "")..".png") + self:addTextureQueue(texture, normalizedMaterialName) + return texture + end + end + end; + + ---ヘルメットを更新する。 + ---@param self Armor + ---@param helmetItem ItemStack ヘルメットのスロットに入っているアイテム + setHelmet = function (self, helmetItem) + local helmetFound = helmetItem.id ~= "minecraft:air" + vanilla_model.HELMET:setVisible(helmetFound) + self.isArmorVisible.helmet = helmetFound + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onArmorChange ~= nil then + self.parent.characterData.costume.callbacks.onArmorChange(self.parent.characterData, "HELMET", self.isArmorVisible.helmet) + end + end; + + ---チェストプレートを更新する。 + ---@param self Armor + ---@param chestplateItem ItemStack チェストプレートスロットに入っているアイテム + setChestplate = function (self, chestplateItem) + local chestplateFound = chestplateItem.id:find("^minecraft:.+_chestplate$") ~= nil + vanilla_model.CHESTPLATE:setVisible(chestplateFound) + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB}) do + armorPart:setVisible(chestplateFound) + end + self.isArmorVisible.chestplate = chestplateFound + if self.isArmorVisible.chestplate then + local material = chestplateItem.id:match("^minecraft:(%a+)_chestplate$") + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplate, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottom, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplate, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottom}) do + armorPart:setPrimaryTexture("RESOURCE", "minecraft:textures/models/armor/"..(material == "golden" and "gold" or material).."_layer_1.png") + end + end + local overlayVisible = chestplateItem.id == "minecraft:leather_chestplate" + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottomOverlay, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottomOverlay}) do + armorPart:setVisible(overlayVisible) + end + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onArmorChange ~= nil then + self.parent.characterData.costume.callbacks.onArmorChange(self.parent.characterData, "CHEST_PLATE", self.isArmorVisible.chestplate) + end + end; + + ---レギンスを更新する。 + ---@param self Armor + ---@param leggingsItem ItemStack レギンススロットに入っているアイテム + setLeggings = function (self, leggingsItem) + local leggingsFound = leggingsItem.id:find("^minecraft:.+_leggings$") ~= nil + vanilla_model.LEGGINGS:setVisible(leggingsFound) + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom}) do + armorPart:setVisible(leggingsFound) + end + self.isArmorVisible.leggings = leggingsFound + if self.isArmorVisible.leggings then + local material = leggingsItem.id:match("^minecraft:(%a+)_leggings$") + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggings, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggings, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottom}) do + armorPart:setPrimaryTexture("RESOURCE", "minecraft:textures/models/armor/"..(material == "golden" and "gold" or material).."_layer_2.png") + end + end + local overlayVisible = leggingsItem.id == "minecraft:leather_leggings" + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggingsOverlay, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottomOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggingsOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottomOverlay}) do + armorPart:setVisible(overlayVisible) + end + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onArmorChange ~= nil then + self.parent.characterData.costume.callbacks.onArmorChange(self.parent.characterData, "LEGGINGS", self.isArmorVisible.leggings) + end + end; + + ---ブーツを更新する。 + ---@param self Armor + ---@param bootsItem ItemStack ブーツスロットに入っているアイテム + setBoots = function (self, bootsItem) + local bootsFound = bootsItem.id:find("^minecraft:.+_boots$") ~= nil + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom}) do + armorPart:setVisible(bootsFound) + end + self.isArmorVisible.boots = bootsFound + if self.isArmorVisible.boots then + local material = bootsItem.id:match("^minecraft:(%a+)_boots$") + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBoots, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBoots, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottom}) do + armorPart:setPrimaryTexture("RESOURCE", "minecraft:textures/models/armor/"..(material == "golden" and "gold" or material).."_layer_1.png") + end + end + local overlayVisible = bootsItem.id == "minecraft:leather_boots" + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBootsOverlay, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottomOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBootsOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottomOverlay}) do + armorPart:setVisible(overlayVisible) + end + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onArmorChange ~= nil then + self.parent.characterData.costume.callbacks.onArmorChange(self.parent.characterData, "BOOTS", self.isArmorVisible.boots) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/arms.lua b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/arms.lua new file mode 100644 index 0000000..33fde9b --- /dev/null +++ b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/arms.lua @@ -0,0 +1,192 @@ +---@class (exact) Arms : AvatarModule アバターの腕を制御するクラス +---@field public armState Arms.ArmStateSet 腕の状態:0. バニラ状態, 1. 銃を構えている際の、銃を構えている方の腕, 2. 銃を構えている際の、銃を構えていない方の腕, 3. クロスボウ装填中 +---@field package armStatePrev Arms.ArmStateSet 前ティックの腕の状態 +---@field public swingCount integer 腕をプラプラさせるカウンター +---@field package isSwingCountProcessed boolean 腕プラプラカウンターを処理したかどうか +---@field public processArmWingCount fun(self: Arms) 腕プラプラカウンターを処理する +---@field public setArmState fun(self: Arms, right?: integer, left?: integer) 腕の状態を設定する + +---@class (exact) Arms.ArmStateSet 腕の状態を示すデータセット +---@field public right integer 右腕の状態 +---@field public left integer 左腕の状態 + +Arms = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Arms + new = function (parent) + ---@type Arms + local instance = Avatar.instantiate(Arms, AvatarModule, parent) + + instance.armState = { + right = 0; + left = 0; + } + instance.armStatePrev = { + right = 0; + left = 0; + } + instance.swingCount = 0 + instance.isSwingCountProcessed = false + + return instance + end; + + ---初期化関数 + ---@param self Arms + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + self.isSwingCountProcessed = false + end) + end; + + ---腕プラプラカウンターを処理する。 + ---@param self Arms + processArmWingCount = function (self) + if not client:isPaused() and not self.isSwingCountProcessed then + self.swingCount = self.swingCount + 1 + self.swingCount = self.swingCount == 100 and 0 or self.swingCount + self.isSwingCountProcessed = true + end + end; + + ---腕の状態を設定する。 + ---@param self Arms + ---@param right? integer 右腕の状態 + ---@param left? integer 左腕の状態 + setArmState = function (self, right, left) + if right ~= nil then + self.armState.right = right + end + if left ~= nil then + self.armState.left = left + end + if (self.armState.right == 1 or self.armState.left == 1) and player:getActiveItem().id == "minecraft:crossbow" then + self:setArmState(3, 3) + return + end + if self.parent.characterData.arms.callbacks ~= nil and self.parent.characterData.arms.callbacks.onArmStateChanged ~= nil then + local result = self.parent.characterData.arms.callbacks.onArmStateChanged(self.parent.characterData, self.armState.right, self.armState.left) + if result ~= nil then + if result.right ~= nil then + self.armState.right = result.right + end + if result.left ~= nil then + self.armState.left = result.left + end + end + end + + --右腕の操作 + if self.armState.right ~= self.armStatePrev.right then + --腕の状態をリセット + models.models.main.Avatar.UpperBody.Arms.RightArm:setRot() + models.models.main.Avatar.UpperBody.Arms.RightArm:setParentType("RightArm") + events.TICK:remove("right_arm_tick") + events.RENDER:remove("right_arm_render") + if self.armState.right == 1 then + --銃を構えている際の、銃を構えている方の腕 + events.TICK:register(function () + if self.armState.right == 1 then + self:processArmWingCount() + if player:isSwingingArm() and not player:isLeftHanded() then + models.models.main.Avatar.UpperBody.Arms.RightArm:setParentType("RightArm") + else + models.models.main.Avatar.UpperBody.Arms.RightArm:setParentType("Body") + end + if player:getActiveItem().id == "minecraft:crossbow" then + self:setArmState(3, 3) + end + end + end, "right_arm_tick") + events.RENDER:register(function (delta) + local headRot = vanilla_model.HEAD:getOriginRot() + models.models.main.Avatar.UpperBody.Arms.RightArm:setRot(player:isSwingingArm() and not player:isLeftHanded() and vectors.vec3() or vectors.vec3(headRot.x + math.sin((self.swingCount + delta) / 100 * math.pi * 2) * 2.5 + 90 + (player:isCrouching() and 30 or 0), headRot.y, 0)) + end, "right_arm_render") + elseif self.armState.right == 2 then + --銃を構えている際の、銃を構えていない方の腕 + events.TICK:register(function () + self:processArmWingCount() + end, "right_arm_tick") + events.RENDER:register(function (delta, context) + local headRot = vanilla_model.HEAD:getOriginRot() + local isSwingingArm = player:isSwingingArm() and not player:isLeftHanded() + models.models.main.Avatar.UpperBody.Arms.RightArm:setParentType((isSwingingArm or context == "FIRST_PERSON") and "RightArm" or "Body") + models.models.main.Avatar.UpperBody.Arms.RightArm:setRot(isSwingingArm and vectors.vec3() or vectors.vec3(headRot.x + math.sin((self.swingCount + delta) / 100 * math.pi * 2) * 2.5 + 90 + (player:isCrouching() and 30 or 0), math.map((headRot.y + 180) % 360 - 180, -50, 50, -21, 78), 0)) + end, "right_arm_render") + elseif self.armState.right == 3 then + --クロスボウ装填中 + events.TICK:register(function () + if player:getActiveItem().id ~= "minecraft:crossbow" and self.armState.right == 3 then + if self.parent.gun.currentGunPosition == "RIGHT" then + self:setArmState(1, 2) + elseif self.parent.gun.currentGunPosition == "LEFT" then + self:setArmState(2, 1) + end + end + end, "right_arm_tick") + end + if self.parent.characterData.arms.callbacks ~= nil and self.parent.characterData.arms.callbacks.onAdditionalRightArmProcess ~= nil then + self.parent.characterData.arms.callbacks.onAdditionalRightArmProcess(self.parent.characterData, self.armState.right) + end + self.armStatePrev.right = self.armState.right + end + --左腕の操作 + if self.armState.left ~= self.armStatePrev.left then + --腕の状態をリセット + models.models.main.Avatar.UpperBody.Arms.LeftArm:setRot() + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType("LeftArm") + events.TICK:remove("left_arm_tick") + events.RENDER:remove("left_arm_render") + if self.armState.left == 1 then + --銃を構えている際の、銃を構えている方の腕 + events.TICK:register(function () + if self.armState.left == 1 then + self:processArmWingCount() + if player:isSwingingArm() and player:isLeftHanded() then + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType("LeftArm") + else + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType("Body") + end + if player:getActiveItem().id == "minecraft:crossbow" then + self:setArmState(3, 3) + end + end + end, "left_arm_tick") + events.RENDER:register(function (delta) + local headRot = vanilla_model.HEAD:getOriginRot() + models.models.main.Avatar.UpperBody.Arms.LeftArm:setRot(player:isSwingingArm() and player:isLeftHanded() and vectors.vec3() or vectors.vec3(headRot.x + math.sin((self.swingCount + delta) / 100 * math.pi * 2) * -2.5 + 90 + (player:isCrouching() and 30 or 0), headRot.y, 0)) + end, "left_arm_render") + elseif self.armState.left == 2 then + --銃を構えている際の、銃を構えていない方の腕 + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType("Body") + events.TICK:register(function () + self:processArmWingCount() + end, "left_arm_tick") + events.RENDER:register(function (delta, context) + local headRot = vanilla_model.HEAD:getOriginRot() + local isSwingingArm = player:isSwingingArm() and player:isLeftHanded() + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType((isSwingingArm or context == "FIRST_PERSON") and "LeftArm" or "Body") + models.models.main.Avatar.UpperBody.Arms.LeftArm:setRot(isSwingingArm and vectors.vec3() or vectors.vec3(headRot.x + math.sin((self.swingCount + delta) / 100 * math.pi * 2) * -2.5 + 90 + (player:isCrouching() and 30 or 0), math.map((headRot.y + 180) % 360 - 180, -50, 50, -78, 21), 0)) + end, "left_arm_render") + elseif self.armState.left == 3 then + --クロスボウ装填中 + events.TICK:register(function () + if player:getActiveItem().id ~= "minecraft:crossbow" and self.armState.left == 3 then + if self.parent.gun.currentGunPosition == "RIGHT" then + self:setArmState(1, 2) + elseif self.parent.gun.currentGunPosition == "LEFT" then + self:setArmState(2, 1) + end + end + end, "left_arm_tick") + end + if self.parent.characterData.arms.callbacks ~= nil and self.parent.characterData.arms.callbacks.onAdditionalLeftArmProcess ~= nil then + self.parent.characterData.arms.callbacks.onAdditionalLeftArmProcess(self.parent.characterData, self.armState.left) + end + self.armStatePrev.left = self.armState.left + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/avatar_module.lua b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/avatar_module.lua new file mode 100644 index 0000000..4ae2c3a --- /dev/null +++ b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/avatar_module.lua @@ -0,0 +1,23 @@ +---@class AvatarModule アバターの動作を構成するモジュールの抽象クラス +---@field public parent Avatar アバターのメインクラスへの参照 +---@field public new fun(parent: Avatar): AvatarModule コンストラクタ +---@field public init fun(self: AvatarModule) 初期化関数 + +AvatarModule = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return AvatarModule + new = function (parent) + ---@type AvatarModule + local instance = Avatar.instantiate(AvatarModule) + + instance.parent = parent + + return instance + end; + + ---初期化関数 + ---@param self AvatarModule + init = function (self) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/barrier.lua b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/barrier.lua new file mode 100644 index 0000000..06066b9 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/barrier.lua @@ -0,0 +1,88 @@ +---@class (exact) Barrier : AvatarModule バリアの視覚効果を管理するクラス +---@field package animationCounts number[] バリアのアニメーションのカウンター +---@field public isBarrierVisible boolean バリアが可視化状態かどうか +---@field package hadAbsorptionPrev boolean 前ティックの衝撃吸収のハートを持っていたかどうか +---@field package colorFactor number バリアの色の係数 +---@field public enable fun(self: Barrier) バリア機能を有効にする +---@field public disable fun(self: Barrier) バリア機能を無効にする + +Barrier = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Barrier + new = function (parent) + ---@type Barrier + local instance = Avatar.instantiate(Barrier, AvatarModule, parent) + + instance.animationCounts = {} + instance.isBarrierVisible = false + instance.hadAbsorptionPrev = false + instance.colorFactor = client:hasShaderPack() and 0.5 or 1 + + for i = 1, 32 do + instance.animationCounts[i] = math.random(0, 39) + end + + return instance + end; + + ---初期化関数 + ---@param self Barrier + init = function (self) + AvatarModule.init(self) + + models.models.main.Avatar.barrier:setLight(15) + + events.TICK:register(function () + local hasAbsorption = player:getAbsorptionAmount() > 0 and player:getHealth() > 0 + if hasAbsorption and not self.hadAbsorptionPrev then + self:enable() + elseif not hasAbsorption and self.hadAbsorptionPrev then + self:disable() + end + self.hadAbsorptionPrev = hasAbsorption + end) + end; + + ---バリア機能を有効にする。 + ---@param self Barrier + enable = function (self) + for i = 1, 32 do + self.animationCounts[i] = math.random(0, 39) + end + + events.TICK:register(function () + for i = 1, 32 do + self.animationCounts[i] = self.animationCounts[i] + 1 + if self.animationCounts[i] == 40 then + self.animationCounts[i] = 0 + end + end + self.colorFactor = client:hasShaderPack() and 0.5 or 1 + end, "barrier_tick") + + events.RENDER:register(function (delta, context) + if context == "FIRST_PERSON" or context == "RENDER" then + models.models.main.Avatar.barrier:setVisible(true) + for i = 1, 32 do + local opacity = math.abs(-0.025 * (self.animationCounts[i] + delta) + 0.5) + 0.5 + models.models.main.Avatar.barrier.Barrier["Barrier"..i]:setOpacity(opacity) + models.models.main.Avatar.barrier.Barrier["Barrier"..i]:setColor(opacity * self.colorFactor, opacity * self.colorFactor, 1) + end + else + models.models.main.Avatar.barrier:setVisible(false) + end + end, "barrier_render") + + self.isBarrierVisible = true + end; + + ---バリア機能を無効にする。 + ---@param self Barrier + disable = function (self) + models.models.main.Avatar.barrier:setVisible(false) + events.TICK:remove("barrier_tick") + events.RENDER:remove("barrier_render") + self.isBarrierVisible = false + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/bubble.lua b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/bubble.lua new file mode 100644 index 0000000..fc6197b --- /dev/null +++ b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/bubble.lua @@ -0,0 +1,224 @@ +---@alias Bubble.BubbleType +---| "GOOD" # 👍 +---| "HEART" # 💗 +---| "NOTE" # 🎵 +---| "QUESTION" # ❓ +---| "SWEAT" # 💦 +---| "RELOAD" # 弾薬をリロードする絵文字 +---| "DOTS" # … +---| "V" # ✌ + +---@class (exact) Bubble : AvatarModule 吹き出しエモートを管理するクラス +---@field public bubbleCount integer 吹き出しの表示時間を測るカウンター +---@field public emoji Bubble.BubbleType 吹き出しの絵文字 +---@field package duration integer 吹き出しを表示する時間。-1は時間無制限を示す。 +---@field package isAutoBubble boolean 吹き出しエモートが自動で出たものかどうか +---@field package shouldShowInHud boolean 一人称用にHUDに吹き出しを表示するかどうか +---@field package emojiAnimationCount number 絵文字のアニメーションのタイミングを測るカウンター +---@field package isForcedStop boolean 吹き出しエモートが強制停止させられたかどうか +---@field public isChatOpened boolean チャットを開けているかどうか +---@field package isChatOpenedPrev boolean 前ティックにチャットを開けていたかどうか +---@field public play fun(self: Bubble, type: Bubble.BubbleType, duration: integer, offsetPos: Vector2, offsetRot: number, shouldShowInHud: boolean) 吹き出しエモートを再生する +---@field public stop fun(self: Bubble) 吹き出しエモートを停止する + +Bubble = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Bubble + new = function (parent) + ---@type Bubble + local instance = Avatar.instantiate(Bubble, AvatarModule, parent) + + instance.bubbleCount = 0 + instance.emoji = "GOOD" + instance.duration = 0 + instance.isAutoBubble = false + instance.shouldShowInHud = false + instance.emojiAnimationCount = 0 + instance.isForcedStop = false + instance.isChatOpened = false + instance.isChatOpenedPrev = false + + return instance + end; + + ---初期化関数 + ---@param self Bubble + init = function (self) + AvatarModule.init(self) + + models.models.bubble:addChild(models:newPart("Gui", "Gui")) + models.models.bubble.Gui:addChild(models.models.bubble.Camera.AvatarBubble:copy("FirstPersonBubble")) + models.models.bubble.Gui.FirstPersonBubble:setVisible(false) + for _, modelPart in ipairs({models.models.bubble.Camera.AvatarBubble, models.models.bubble.Gui.FirstPersonBubble}) do + modelPart:setScale(0, 0, 0) + end + + --エモートガイド + if host:isHost() then + self.parent.keyManager:register("bubble_1", self.parent.config:loadConfig("PRIVATE", "keybind.bubble_1", "key.keyboard.j")):onPress(function () + if self.parent.exSkill.animationCount == -1 and (self.bubbleCount == 0 or self.isAutoBubble) then + pings.showBubbleEmote("GOOD") + end + end) + self.parent.keyManager:register("bubble_2", self.parent.config:loadConfig("PRIVATE", "keybind.bubble_2", "key.keyboard.k")):onPress(function () + if self.parent.exSkill.animationCount == -1 and (self.bubbleCount == 0 or self.isAutoBubble) then + pings.showBubbleEmote("HEART") + end + end) + self.parent.keyManager:register("bubble_3", self.parent.config:loadConfig("PRIVATE", "keybind.bubble_3", "key.keyboard.n")):onPress(function () + if self.parent.exSkill.animationCount == -1 and (self.bubbleCount == 0 or self.isAutoBubble) then + pings.showBubbleEmote("NOTE") + end + end) + self.parent.keyManager:register("bubble_4", self.parent.config:loadConfig("PRIVATE", "keybind.bubble_4", "key.keyboard.m")):onPress(function () + if self.parent.exSkill.animationCount == -1 and (self.bubbleCount == 0 or self.isAutoBubble) then + pings.showBubbleEmote("QUESTION") + end + end) + self.parent.keyManager:register("bubble_5", self.parent.config:loadConfig("PRIVATE", "keybind.bubble_5", "key.keyboard.comma")):onPress(function () + if self.parent.exSkill.animationCount == -1 and (self.bubbleCount == 0 or self.isAutoBubble) then + pings.showBubbleEmote("SWEAT") + end + end) + end + + events.TICK:register(function () + if host:isHost() then + local isChatOpened = host:isChatOpen() + if isChatOpened ~= self.isChatOpened then + pings.setChatOpen(isChatOpened) + end + self.isChatOpenedPrev = isChatOpened + end + + if player:getActiveItem().id == "minecraft:crossbow" then + if self.bubbleCount == 0 or (self.isAutoBubble and self.emoji ~= "RELOAD") then + self:play("RELOAD", -1, vectors.vec2(), 0, false) + self.isAutoBubble = true + end + elseif self.isChatOpened and self.parent.exSkill.transitionCount == 0 then + if self.bubbleCount == 0 or (self.isAutoBubble and self.emoji ~= "DOTS") then + self:play("DOTS", -1, vectors.vec2(), 0, false) + self.isAutoBubble = true + end + elseif self.isAutoBubble then + self:stop() + self.isAutoBubble = false + end + end) + end; + + ---吹き出しエモートを再生する。 + ---@param self Bubble + ---@param type Bubble.BubbleType 再生する絵文字の種類 + ---@param duration integer 吹き出しを表示している時間。-1にすると停止するまでずっと表示する。 + ---@param offsetPos Vector2 吹き出しの位置のオフセット値 + ---@param offsetRot number アバター周回上の、吹き出しが表示される位置のオフセット値 + ---@param shouldShowInHud boolean 一人称用にHUDに吹き出しを表示するかどうか + play = function (self, type, duration, offsetPos, offsetRot, shouldShowInHud) + self.emoji = type + self.duration = duration + self.shouldShowInHud = shouldShowInHud + self.bubbleCount = 1 + self.emojiAnimationCount = 0 + models.models.bubble.Camera.AvatarBubble.Emoji:setPrimaryTexture("CUSTOM", textures["textures.emojis."..self.emoji:lower()]) + models.models.bubble.Camera.AvatarBubble.Bullets:setVisible(self.emoji == "RELOAD") + models.models.bubble.Camera.AvatarBubble.Dots:setVisible(self.emoji == "DOTS") + if self.shouldShowInHud then + models.models.bubble.Gui.FirstPersonBubble.Emoji:setPrimaryTexture("CUSTOM", textures["textures.emojis."..self.emoji:lower()]) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.item.pickup"), self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar)) + end + + if events.TICK:getRegisteredCount("bubble_tick") == 0 then + events.TICK:register(function () + if not client:isPaused() then + models.models.bubble.Gui.FirstPersonBubble:setVisible(self.shouldShowInHud and renderer:isFirstPerson()) + self.bubbleCount = self.bubbleCount + 1 + if self.bubbleCount == 0 then + for _, modelPart in ipairs({models.models.bubble.Camera.AvatarBubble, models.models.bubble.Gui.FirstPersonBubble, models.models.bubble.Camera.AvatarBubble.Bullets, models.models.bubble.Gui.FirstPersonBubble.Bullets}) do + modelPart:setVisible(false) + end + events.TICK:remove("bubble_tick") + events.RENDER:remove("bubble_render") + if self.parent.characterData.bubble.callbacks ~= nil and self.parent.characterData.bubble.callbacks.onStop ~= nil then + self.parent.characterData.bubble.callbacks.onStop(self.parent.characterData, type, self.isForcedStop) + end + elseif self.duration >= 0 and self.bubbleCount == self.duration + 2 then + self:stop() + end + if self.emoji == "RELOAD" or self.emoji == "DOTS" then + self.emojiAnimationCount = self.emojiAnimationCount + 1 + self.emojiAnimationCount = self.emojiAnimationCount == 25 and 0 or self.emojiAnimationCount + if self.emoji == "DOTS" then + for i = 1, 3 do + models.models.bubble.Camera.AvatarBubble.Dots["Dot"..i]:setVisible(self.emojiAnimationCount >= 6 * i) + end + end + end + end + end, "bubble_tick") + end + + if events.RENDER:getRegisteredCount("bubble_render") == 0 then + events.RENDER:register(function (delta, context) + models.models.bubble.Camera.AvatarBubble:setVisible(context ~= "OTHER") + if not client:isPaused() then + local bubbleScale = math.min(math.abs(0.5 * (self.bubbleCount + delta)), 1) + models.models.bubble.Camera.AvatarBubble:setScale(vectors.vec3(1, 1, 1):scale(bubbleScale)) + local playerPos = self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar) + local avatarBubblePos = context == "PAPERDOLL" and vectors.vec3(0, 32, 0) or vectors.rotateAroundAxis(player:getBodyYaw(delta) + 180, playerPos:copy():sub(player:getPos(delta)):scale(17.067):add(0, 32 + offsetPos.y, 0), 0, 1, 0) + if not renderer:isFirstPerson() then + local cameraPos = client:getCameraPos() + avatarBubblePos:add(vectors.rotateAroundAxis(math.deg(math.atan2(cameraPos.z - playerPos.z, cameraPos.x - playerPos.x) - math.pi / 2) % 360 - (player:getBodyYaw(delta) + offsetRot) % 360, 12 + offsetPos.x, 0, 0, 0, -1, 0)) + else + avatarBubblePos:add(12 + offsetPos.x, 0, 0) + end + models.models.bubble.Camera:setOffsetPivot(avatarBubblePos) + models.models.bubble.Camera.AvatarBubble:setPos(avatarBubblePos) + if host:isHost() and self.shouldShowInHud then + local windowSize = client:getScaledWindowSize() + models.models.bubble.Gui.FirstPersonBubble:setPos(-windowSize.x + 10, -windowSize.y + (action_wheel:isEnabled() and 125 or 10), 0) + models.models.bubble.Gui.FirstPersonBubble:setScale(vectors.vec3(1, 1, 1):scale(bubbleScale * 4)) + end + if self.emoji == "RELOAD" then + local bullet1Counter = math.clamp((self.emojiAnimationCount + delta) * 0.2 - 1, 0, 1) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet1:setPos(0, 1 - bullet1Counter, 0) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet1:setOpacity(bullet1Counter) + local bullet2Counter = math.clamp((self.emojiAnimationCount + delta) * 0.2 - 2, 0, 1) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet2:setPos(0, 1 - bullet2Counter, 0) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet2:setOpacity(bullet2Counter) + local bullet3Counter = math.clamp((self.emojiAnimationCount + delta) * 0.2 - 3, 0, 1) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet3:setPos(0, 1 - bullet3Counter, 0) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet3:setOpacity(bullet3Counter) + end + end + end, "bubble_render") + end + if self.parent.characterData.bubble.callbacks ~= nil and self.parent.characterData.bubble.callbacks.onPlay ~= nil then + self.parent.characterData.bubble.callbacks.onPlay(self.parent.characterData, type, duration, shouldShowInHud) + end + end; + + ---吹き出しエモートを停止する。 + ---@param self Bubble + stop = function (self) + if self.bubbleCount > 0 then + self.isForcedStop = self.duration == -1 or self.bubbleCount < self.duration + 2 + self.bubbleCount = -2 + end + end; +} + +---吹き出しエモートを表示する。 +---@param type Bubble.BubbleType 表示する絵文字の種類 +function pings.showBubbleEmote(type) + AvatarInstance.bubble:play(type, 50, vectors.vec2(), 0, true) + AvatarInstance.bubble.isAutoBubble = false +end + +---Bubbleのチャットを開けているフラグを更新する。 +---@param value boolean 新しい値 +function pings.setChatOpen(value) + AvatarInstance.bubble.isChatOpened = value +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/camera_manager.lua b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/camera_manager.lua new file mode 100644 index 0000000..8f1ef58 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/camera_manager.lua @@ -0,0 +1,99 @@ +---@class (exact) CameraManager : AvatarModule カメラ制御全般を管理するクラス +---@field package COLLISION_DENIAL_DISABLED boolean カメラの当たり判定打ち消し機能を無効にする。撮影用。 +---@field package thirdPersonCameraDistance number 三人称視点でのカメラと回転軸の距離 +---@field package isCameraCollisionDenialEnabled boolean 三人称視点でのカメラの当たり判定打ち消し機能が有効かどうか +---@field public setCameraManagerRender fun(self: CameraManager, enabled: boolean) CameraManagerのレンダー関数を設定する +---@field public setCameraPivot fun(newPivot?: Vector3) カメラの回転軸のオフセット位置を変更する +---@field public setCameraRot fun(newRot?: Vector3) カメラ方向を変更する +---@field public setThirdPersonCameraDistance fun(self: CameraManager, distance: number) 三人称視点でのカメラと回転軸の距離を設定する +---@field public setCameraCollisionDenial fun(self: CameraManager, enabled: boolean) カメラの当たり判定打ち消し機能を設定する + +CameraManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return CameraManager + new = function (parent) + ---@type CameraManager + local instance = Avatar.instantiate(CameraManager, AvatarModule, parent) + + instance.COLLISION_DENIAL_DISABLED = false + instance.thirdPersonCameraDistance = 4 + instance.isCameraCollisionDenialEnabled = false + + return instance + end; + + ---CameraManagerのレンダー関数を設定する。 + ---@param self CameraManager + ---@param enabled boolean CameraManagerのレンダー関数を有効化するかどうか + setCameraManagerRender = function (self, enabled) + if enabled and events.RENDER:getRegisteredCount("camera_manager_render") == 0 then + events.RENDER:register(function () + if renderer:isFirstPerson() then + renderer:setCameraPos() + else + local rawOffsetCameraPivot = renderer:getCameraOffsetPivot() + rawOffsetCameraPivot = rawOffsetCameraPivot == nil and vectors.vec3() or rawOffsetCameraPivot + local cameraPivot = player:getPos():add(0, 1.62, 0):add(rawOffsetCameraPivot) + local cameraDir = client:getCameraDir() + local baseVector = vectors.rotateAroundAxis(math.deg(math.asin(cameraDir.y)), 0, 0.21, 0, vectors.rotateAroundAxis(math.deg(math.atan2(cameraDir.z, cameraDir.x)) * -1 - 90, 1, 0, 0, 0, 1, 0)) + local minDistance = math.max(self.thirdPersonCameraDistance, 4) + if not self.COLLISION_DENIAL_DISABLED then + for i = 0, 3 do + local startPos = vectors.rotateAroundAxis(i * 90 + 45, baseVector:copy(), cameraDir):add(cameraPivot) + local _, collisionPos, _ = raycast:block(startPos, startPos:copy():add(cameraDir:copy():scale(minDistance * -1)), "VISUAL", "NONE") + minDistance = math.min(collisionPos:copy():sub(startPos):length(), minDistance) + end + end + renderer:setCameraPos(0, 0, (minDistance > self.thirdPersonCameraDistance or self.isCameraCollisionDenialEnabled) and self.thirdPersonCameraDistance - minDistance or minDistance - 4) + end + end, "camera_manager_render") + elseif not enabled then + events.RENDER:remove("camera_manager_render") + renderer:setCameraPos() + end + end; + + ---カメラの回転軸のオフセット位置を変更する。 + ---@param newPivot? Vector3 設定する新しいカメラ回転軸のオフセット位置。nilの場合は設定値がリセットされる。 + setCameraPivot = function (newPivot) + if host:isHost() then + renderer:setOffsetCameraPivot(newPivot) + end + end; + + ---カメラ方向を変更する。 + ---@param newRot? Vector3 設定する新しいカメラのオフセット方向。nilの場合は設定値がリセットされる。 + setCameraRot = function (newRot) + if host:isHost() then + renderer:setCameraRot(newRot) + end + end; + + ---三人称視点でのカメラと回転軸の距離を設定する。 + ---@param self CameraManager + ---@param distance number 設定する新しい距離(ブロック単位)。デフォルトは4ブロック。 + setThirdPersonCameraDistance = function (self, distance) + if host:isHost() then + if distance ~= 4 then + self:setCameraManagerRender(true) + elseif not self.isCameraCollisionDenialEnabled then + self:setCameraManagerRender(false) + end + self.thirdPersonCameraDistance = distance + end + end; + + ---カメラの当たり判定打ち消し機能を設定する。 + ---@param enabled boolean カメラの当たり判定打ち消し機能を有効にするかどうか。有効にするとカメラがブロックの中にめり込むようになる。 + setCameraCollisionDenial = function (self, enabled) + if host:isHost() then + if enabled then + self:setCameraManagerRender(true) + elseif self.thirdPersonCameraDistance == 4 then + self:setCameraManagerRender(false) + end + self.isCameraCollisionDenialEnabled = enabled + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/config.lua b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/config.lua new file mode 100644 index 0000000..70b0382 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/config.lua @@ -0,0 +1,116 @@ +---@alias Config.Storage +---| "PUBLIC" # FBACキャラクター共通ストレージ +---| "PRIVATE" # キャラクター固有ストレージ + +---@class (exact) Config : AvatarModule アバター設定を管理するクラス +---@field package privateStorageName string キャラクター固有ストレージの名前 +---@field package defaultValues {[string]: number|boolean|string} 読み込んだ値のデフォルト値を保持するテーブル +---@field package nextSyncCount integer 次の同期pingまでのカウンター +---@field package isSynced boolean 設定値がホストと同期されているかどうか +---@field public loadConfig fun(self: Config, storage: Config.Storage, keyName: string, defaultValue: any): any 設定を読み出す +---@field public saveConfig fun(self: Config, storage: Config.Storage, keyName: string, valueToSave: any) 設定を保存する + +Config = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Config + new = function (parent) + ---@type Config + local instance = Avatar.instantiate(Config, AvatarModule, parent) + + instance.privateStorageName = "BlueArchive_"..instance.parent.characterData.basic.firstName.en_us..instance.parent.characterData.basic.lastName.en_us + instance.defaultValues = {} + instance.nextSyncCount = 0 + instance.isSynced = host:isHost() + + return instance + end; + + ---初期化関数 + ---@param self Config + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + events.TICK:register(function () + if self.nextSyncCount == 0 then + pings.syncAvatarConfig(self.parent.nameplate.currentName, self.parent.nameplate.shouldShowClubName, self.parent.costume.currentCostume, self.parent.armor.shouldShowArmor, self.parent.actionWheel.shouldReplaceVehicleModels, self.parent.bubble.isChatOpened, self.parent.characterData.dataSync.syncData) + self.nextSyncCount = 300 + else + self.nextSyncCount = self.nextSyncCount - 1 + end + end) + end + end; + + ---設定を読み出す。 + ---@generic T + ---@param self Config + ---@param storage Config.Storage 読み出し先のストレージ + ---@param keyName string 読み出す設定の名前 + ---@param defaultValue `T` 該当の設定が無い場合や、ホスト外での実行の場合はこの値が返される。 + ---@return `T` loadedValue 読み出した値 + loadConfig = function (self, storage, keyName, defaultValue) + if host:isHost() then + if storage == "PUBLIC" then + config:setName("BlueArchive_public") + else + config:setName(self.privateStorageName) + end + local loadedData = config:load(keyName) + self.defaultValues[keyName] = defaultValue + if loadedData ~= nil then + return loadedData + else + return defaultValue + end + else + return defaultValue + end + end; + + ---設定を保存する。 + ---@param self Config + ---@param storage Config.Storage 書き込み先のストレージ + ---@param keyName string 保存する設定の名前 + ---@param valueToSave any 保存する値 + saveConfig = function (self, storage, keyName, valueToSave) + if host:isHost() then + if storage == "PUBLIC" then + config:setName("BlueArchive_public") + else + config:setName(self.privateStorageName) + end + if self.defaultValues[keyName] == valueToSave then + config:save(keyName, nil) + else + config:save(keyName, valueToSave) + end + end + end; +} + +---アバター設定を他Figuraクライアントと同期する。 +---@param nameTypeId integer 表示名の種類ID +---@param shouldShowClubName boolean 部活名を表示するかどうか +---@param costumeId integer 現在の衣装ID +---@param shouldShowArmor boolean 防具が見えているかどうか +---@param shouldReplaceVehicleModels boolean 乗り物モデルを置き換えるかどうか +---@param isChatOpened boolean チャット欄を開いているかどうか +---@param additionalData {[string]: any} キャラクター固有用に追加で同期するデータ +function pings.syncAvatarConfig(nameTypeId, shouldShowClubName, costumeId, shouldShowArmor, shouldReplaceVehicleModels, isChatOpened, additionalData) + if not AvatarInstance.config.isSynced then + AvatarInstance.nameplate:setName(nameTypeId, shouldShowClubName) + AvatarInstance.armor.shouldShowArmor = shouldShowArmor + AvatarInstance.actionWheel.shouldReplaceVehicleModels = shouldReplaceVehicleModels + AvatarInstance.bubble.isChatOpened = isChatOpened + if costumeId >= 2 then + AvatarInstance.costume:setCostume(costumeId) + end + AvatarInstance.characterData.dataSync.syncData = additionalData + if AvatarInstance.characterData.dataSync.callbacks ~= nil and AvatarInstance.characterData.dataSync.callbacks.onDataSynced ~= nil then + AvatarInstance.characterData.dataSync.callbacks.onDataSynced(AvatarInstance.characterData) + end + AvatarInstance.config.isSynced = true + end +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/costume.lua b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/costume.lua new file mode 100644 index 0000000..650a557 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/costume.lua @@ -0,0 +1,113 @@ +---@class (exact) Costume : AvatarModule キャラクターのコスチュームを管理し、円滑に切り替えられるようにするクラス +---@field public costumeList string[] 利用可能なコスチューム一覧。BlueArchiveCharacterクラスから動的に生成される。 +---@field public currentCostume integer 現在のコスチューム +---@field public isChangingCostume boolean コスチュームを変更中かどうか +---@field public getCostumeLocalName fun(self: Costume, costumeId: integer) 設定言語を考慮した、衣装の名前を返す +---@field public setCostumeTextureOffset fun(offset: integer) メインモデルのテクスチャのオフセット値を設定する +---@field public setCostume fun(self: Costume, costume: integer) コスチュームを設定する +---@field public resetCostume fun(self: Costume) コスチュームをリセットしデフォルトのコスチュームにする + +Costume = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Costume + new = function (parent) + ---@type Costume + local instance = Avatar.instantiate(Costume, AvatarModule, parent) + + instance.costumeList = {} + instance.currentCostume = instance.parent.config:loadConfig("PRIVATE", "costume", 1) + instance.isChangingCostume = false + + return instance + end; + + ---初期化関数 + ---@param self Costume + init = function (self) + AvatarModule.init(self) + + for _, costume in ipairs(self.parent.characterData.costume.costumes) do + table.insert(self.costumeList, costume.name) + end + if self.currentCostume >= 2 then + if self.costumeList[self.currentCostume] ~= nil then + self:setCostume(self.currentCostume) + else + self.currentCostume = 1 + if host:isHost() then + self.parent.config:saveConfig("PRIVATE", "costume", 1) + end + end + end + self.parent.headBlock:generateHeadModel() + self.parent.portrait:generateHeadModel() + + events.TICK:register(function () + self.isChangingCostume = false + end) + end; + + ---設定言語を考慮した、衣装の名前を返す。 + ---@param self Costume + ---@param costumeId integer ローカル名を取得する衣装のID + ---@return string localCostumeName 衣装のローカル名 + getCostumeLocalName = function(self, costumeId) + return self.parent.locale:getLocale("costume."..self.costumeList[costumeId]) + end; + + ---メインモデルのテクスチャのオフセット値を設定する。 + ---@param offset integer オフセット値 + setCostumeTextureOffset = function (offset) + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Body.Body, models.models.main.Avatar.UpperBody.Body.BodyLayer, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArm, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmLayer, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.RightArmBottom, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.RightArmBottomLayer, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArm, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmLayer, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.LeftArmBottom, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.LeftArmBottomLayer, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLeg, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegLayer, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.RightLegBottom, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.RightLegBottomLayer, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLeg, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegLayer, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.LeftLegBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.LeftLegBottomLayer}) do + modelPart:setUVPixels(0, offset * 48) + end + end; + + ---コスチュームを設定する。 + ---@param self Costume + ---@param costume integer 設定するコスチューム + setCostume = function(self, costume) + self:resetCostume() + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onChange ~= nil then + self.parent.characterData.costume.callbacks.onChange(self.parent.characterData, self.parent.characterData.costume.costumes[costume].name:upper()) + end + self.parent.headBlock:generateHeadModel() + self.parent.portrait:generateHeadModel() + if self.parent.armor.isArmorVisible.chestplate then + self.parent.armor:setChestplate(self.parent.armor.armorSlotItems[2]) + end + if self.parent.armor.isArmorVisible.leggings then + self.parent.armor:setLeggings(self.parent.armor.armorSlotItems[3]) + end + if self.parent.armor.isArmorVisible.boots then + self.parent.armor:setBoots(self.parent.armor.armorSlotItems[4]) + end + self.currentCostume = costume + end; + + ---コスチュームをリセットし、デフォルトのコスチュームにする。 + ---@param self Costume + resetCostume = function (self) + self.isChangingCostume = true + if self.parent.exSkill.transitionCount > 0 then + self.parent.exSkill:forceStop() + end + self.setCostumeTextureOffset(0) + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onReset ~= nil then + self.parent.characterData.costume.callbacks.onReset(self.parent.characterData) + end + self.parent.headBlock:generateHeadModel() + self.parent.portrait:generateHeadModel() + if self.parent.armor.isArmorVisible.chestplate then + self.parent.armor:setChestplate(self.parent.armor.armorSlotItems[2]) + end + if self.parent.armor.isArmorVisible.leggings then + self.parent.armor:setLeggings(self.parent.armor.armorSlotItems[3]) + end + if self.parent.armor.isArmorVisible.boots then + self.parent.armor:setBoots(self.parent.armor.armorSlotItems[4]) + end + self.currentCostume = 1 + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/death_animation.lua b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/death_animation.lua new file mode 100644 index 0000000..65583f8 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/death_animation.lua @@ -0,0 +1,294 @@ +---@class (exact) DeathAnimation : AvatarModule プレイヤーが死亡した際のキャラクターがヘリコプターで回収されるアニメーションを管理するクラス +---@field package DEBUG_MODE boolean デバッグモードを有効にするかどうか。デバッグモードモードではxキーでフェーズ1のモデルを、cキーでフェーズ2のモデルを表示できる。 +---@field public dummyAvatarRoot? ModelPart 死亡アニメーションに使用されるダミーのアバターのルート。アバターが未生成の場合はnilが入っている。 +---@field package animationCount integer 死亡アニメーションの再生カウンター +---@field package animationPos Vector3 アニメーションを再生している場所の座標 +---@field package animationRot number アニメーションを再生している向き(度数法で示す) +---@field package costumeIndex integer 死亡アニメーションのコスチュームのインデックス +---@field package isPlayerInvisible boolean プレイヤーモデルが不可視状態かどうか +---@field package isScriptLoaded false スクリプトを全て読み込んだかどうか +---@field package removeUnsafeModel fun(target?: ModelPart) 存在しないかもしれないモデルパーツを安全に削除する +---@field package spawnHelicopterParticles fun(self: DeathAnimation) ヘリコプターの出現/消滅パーティクルを生成する +---@field package generateDummyAvatar fun(self: DeathAnimation, parent: ModelPart) 死亡アニメーション用のダミーアバターを生成する +---@field package resetDummyAvatar fun(avatarRoot: ModelPart) ダミーアバター状態をリセットする +---@field package setPhase1Pose fun(avatarRoot: ModelPart) ダミーアバターをフェーズ1のポーズにする +---@field package setPhase2Pose fun(avatarRoot: ModelPart) ダミーアバターをフェーズ2のポーズにする +---@field package play fun(self: DeathAnimation) 死亡アニメーションを再生する +---@field package stop fun(self: DeathAnimation) 死亡アニメーションを停止する + +DeathAnimation = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return DeathAnimation + new = function (parent) + ---@type DeathAnimation + local instance = Avatar.instantiate(DeathAnimation, AvatarModule, parent) + + instance.DEBUG_MODE = false + + instance.dummyAvatarRoot = models.models.death_animation.Avatar + instance.animationCount = 0 + instance.animationPos = vectors.vec3() + instance.animationRot = 0 + instance.costumeIndex = 1 + instance.isPlayerInvisible = false + instance.isScriptLoaded = false + + return instance + end; + + ---初期化関数 + ---@param self DeathAnimation + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + if self.parent.playerUtils.damageStatus == "DIED" then + self:play() + models.models.main:setVisible(false) + for _, vanillaModel in ipairs({vanilla_model.RIGHT_ITEM, vanilla_model.LEFT_ITEM, vanilla_model.ELYTRA}) do + vanillaModel:setVisible(false) + end + self.isPlayerInvisible = true + end + if self.isPlayerInvisible and player:getHealth() > 0 then + models.models.main:setVisible(true) + for _, vanillaModel in ipairs({vanilla_model.RIGHT_ITEM, vanilla_model.LEFT_ITEM, vanilla_model.ELYTRA}) do + vanillaModel:setVisible(true) + end + self.isPlayerInvisible = false + end + end) + + self.parent.avatarEvents.SCRIPT_INIT:register(function () + self.isScriptLoaded = true + end) + + if self.DEBUG_MODE then + models:addChild(models:newPart("script_death_animation_debug", "World")) + keybinds:newKeybind("[DEBUG] Spawn death animation phase1 model", "key.keyboard.x"):onPress(function () + self.removeUnsafeModel(models.script_death_animation_debug.Avatar) + self:generateDummyAvatar(models.script_death_animation_debug) + self.resetDummyAvatar(models.script_death_animation_debug.Avatar) + self.setPhase1Pose(models.script_death_animation_debug.Avatar) + models.script_death_animation_debug.Avatar:setPos(player:getPos():add(0, -0.75, 0):scale(16)) + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onPhase1 ~= nil then + self.parent.characterData.deathAnimation.callbacks.onPhase1(self.parent.characterData, models.script_death_animation_debug.Avatar, self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].name:upper()) + end + end) + keybinds:newKeybind("[DEBUG] Spawn death animation phase2 model", "key.keyboard.c"):onPress(function () + self.removeUnsafeModel(models.script_death_animation_debug.Avatar) + self:generateDummyAvatar(models.script_death_animation_debug) + self.resetDummyAvatar(models.script_death_animation_debug.Avatar) + self.setPhase2Pose(models.script_death_animation_debug.Avatar) + models.script_death_animation_debug.Avatar:setPos(player:getPos():scale(16)) + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onPhase1 ~= nil then + self.parent.characterData.deathAnimation.callbacks.onPhase1(self.parent.characterData, models.script_death_animation_debug.Avatar, self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].name:upper()) + end + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onPhase2 ~= nil then + self.parent.characterData.deathAnimation.callbacks.onPhase2(self.parent.characterData, models.script_death_animation_debug.Avatar, self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].name:upper()) + end + end) + end + end; + + ---存在しないかもしれないモデルパーツを安全に削除する。 + ---@param target? ModelPart 削除対象のモデルパーツ + removeUnsafeModel = function (target) + if target ~= nil then + target:getParent():removeChild(target) + target:remove() + end + end; + + ---ヘリコプターの出現/消滅パーティクルを生成する。 + ---@param self DeathAnimation + spawnHelicopterParticles = function (self) + local helicopterPos = self.parent.modelUtils.getModelWorldPos(models.models.death_animation.Helicopter) + for _ = 1, 100 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:poof"), helicopterPos:copy():add(vectors.rotateAroundAxis(self.animationRot, math.random() * 9.375 - 4.6875, math.random() * 11.125 - 5.5625, math.random() * 23.875 - 11.9375, 0, math.abs(helicopterPos.y), 0))) + end + end; + + ---死亡アニメーション用のダミーアバターを生成する。 + ---@param self DeathAnimation + ---@param parent ModelPart ダミーアバターをアタッチする親のモデルパーツ + generateDummyAvatar = function (self, parent) + local isArmorVisible = { + helmet = self.parent.armor.isArmorVisible.helmet; + chestplate = self.parent.armor.isArmorVisible.chestplate; + leggings = self.parent.armor.isArmorVisible.leggings; + boots = self.parent.armor.isArmorVisible.boots; + } + if isArmorVisible.helmet then + self.parent.armor:setHelmet(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + if isArmorVisible.chestplate then + self.parent.armor:setChestplate(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + if isArmorVisible.leggings then + self.parent.armor:setLeggings(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + if isArmorVisible.boots then + self.parent.armor:setBoots(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + self.parent.physics:disable() + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onBeforeModelCopy ~= nil then + self.parent.characterData.deathAnimation.callbacks.onBeforeModelCopy(self.parent.characterData, self.isScriptLoaded) + end + + parent:addChild(self.parent.modelUtils:copyModel(models.models.main.Avatar)) + parent.Avatar.Head.FaceParts.Eyes.EyeRight:setUVPixels(self.parent.characterData.faceParts.leftEye.TIRED:copy():scale(6)) + parent.Avatar.Head.FaceParts.Eyes.EyeLeft:setUVPixels(self.parent.characterData.faceParts.rightEye.TIRED:copy():scale(6)) + parent.Avatar.Head.HeadRing:setRot() + for _, modelPart in ipairs({parent.Avatar.UpperBody.Arms.RightArm.RightArmBottom.RightItemPivot, parent.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.LeftItemPivot}) do + modelPart:remove() + end + local unsafeModels = {parent.Avatar.Head.FaceParts.Mouth, parent.Avatar.Head.ArmorH, parent.Avatar.UpperBody.Body.ArmorB, parent.Avatar.UpperBody.Arms.RightArm.ArmorRA, parent.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB, parent.Avatar.UpperBody.Arms.LeftArm.ArmorLA, parent.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB, parent.Avatar.LowerBody.Legs.RightLeg.ArmorRL, parent.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB, parent.Avatar.LowerBody.Legs.LeftLeg.ArmorLL, parent.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB} + for i = 1, 11 do + self.removeUnsafeModel(unsafeModels[i]) + end + if parent.Avatar.UpperBody.Body.Gun ~= nil then + if self.parent.characterData.gun.gunPosition.put.type == "BODY" then + local leftHanded = player:isLeftHanded() + parent.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, 12, 0):add(self.parent.characterData.gun.gunPosition.put.pos[leftHanded and "left" or "right"])) + parent.Avatar.UpperBody.Body.Gun:setRot(self.parent.characterData.gun.gunPosition.put.rot[leftHanded and "left" or "right"]) + else + parent.Avatar.UpperBody.Body.Gun:remove() + end + end + + if isArmorVisible.helmet then + self.parent.armor:setHelmet(self.parent.armor.armorSlotItems[1]) + end + if isArmorVisible.chestplate then + self.parent.armor:setChestplate(self.parent.armor.armorSlotItems[2]) + end + if isArmorVisible.leggings then + self.parent.armor:setLeggings(self.parent.armor.armorSlotItems[3]) + end + if isArmorVisible.boots then + self.parent.armor:setBoots(self.parent.armor.armorSlotItems[4]) + end + self.parent.physics:enable() + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onAfterModelCopy ~= nil then + self.parent.characterData.deathAnimation.callbacks.onAfterModelCopy(self.parent.characterData, self.isScriptLoaded) + end + end; + + ---ダミーアバター状態をリセットする。 + ---@param avatarRoot ModelPart ダミーアバターのルート + resetDummyAvatar = function (avatarRoot) + for _, modelPart in ipairs({avatarRoot, avatarRoot.Head, avatarRoot.UpperBody, avatarRoot.UpperBody.Body, avatarRoot.UpperBody.Arms, avatarRoot.UpperBody.Arms.RightArm, avatarRoot.UpperBody.Arms.RightArm.RightArmBottom, avatarRoot.UpperBody.Arms.LeftArm, avatarRoot.UpperBody.Arms.LeftArm.LeftArmBottom, avatarRoot.LowerBody, avatarRoot.LowerBody.Legs, avatarRoot.LowerBody.Legs.RightLeg, avatarRoot.LowerBody.Legs.RightLeg.RightLegBottom, avatarRoot.LowerBody.Legs.LeftLeg, avatarRoot.LowerBody.Legs.LeftLeg.LeftLegBottom}) do + modelPart:setPos() + modelPart:setRot() + modelPart:setScale() + end + end; + + ---ダミーアバターをフェーズ1のポーズにする。 + ---@param avatarRoot ModelPart ダミーアバターのルート + setPhase1Pose = function (avatarRoot) + avatarRoot:setPos(0, -12, 0) + avatarRoot.Head:setRot(-30, 0, 0) + avatarRoot.UpperBody.Arms.RightArm:setRot(35, 0, -20) + avatarRoot.UpperBody.Arms.LeftArm:setRot(35, 0, 20) + avatarRoot.LowerBody.Legs.RightLeg:setRot(90, -10, 0) + avatarRoot.LowerBody.Legs.LeftLeg:setRot(90, 10, 0) + end; + + ---ダミーアバターをフェーズ2のポーズにする。 + ---@param avatarRoot ModelPart ダミーアバターのルート + setPhase2Pose = function (avatarRoot) + avatarRoot:setPos(3, -210, 2) + avatarRoot:setRot(105, 75, 90) + avatarRoot.Head:setRot(0, -40, 0) + avatarRoot.UpperBody.Arms.RightArm:setRot(47.5, 0, 20) + avatarRoot.UpperBody.Arms.LeftArm:setRot(-30, 0, -15) + avatarRoot.LowerBody.Legs.RightLeg:setRot(80, 0, 0) + avatarRoot.LowerBody.Legs.RightLeg.RightLegBottom:setRot(-75, 0, 0) + avatarRoot.LowerBody.Legs.LeftLeg:setRot(10, 0, 0) + avatarRoot:setLight() + end; + + ---死亡アニメーションを再生する。 + ---@param self DeathAnimation + play = function (self) + self:stop() + self.costumeIndex = self.parent.costume.currentCostume + + --ダミーアバターを生成する。 + local unsafeModels = {models.models.death_animation.Avatar, models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14.Avatar} + for i = 1, 2 do + self.removeUnsafeModel(unsafeModels[i]) + end + self:generateDummyAvatar(models.models.death_animation) + + --死亡アニメーションを生成する。 + self.resetDummyAvatar(models.models.death_animation.Avatar) + self.setPhase1Pose(models.models.death_animation.Avatar) + self.animationPos = player:getPos() + models.models.death_animation:setPos(self.animationPos:copy():scale(16)) + self.animationRot = (player:getBodyYaw() * -1 + 180) % 360 + models.models.death_animation:setRot(0, self.animationRot) + models.models.death_animation:setVisible(true) + animations["models.death_animation"]["death_animation"]:play() + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onPhase1 ~= nil then + self.parent.characterData.deathAnimation.callbacks.onPhase1(self.parent.characterData, models.models.death_animation.Avatar, self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].name:upper()) + end + + if events.TICK:getRegisteredCount("death_animation_tick") == 0 then + events.TICK:register(function () + local particleAnchorPos = self.parent.modelUtils.getModelWorldPos(models.models.death_animation.DeathAnimationParticleAnchor) + for _ = 1, 3 do + local particleRot = math.random() * math.pi * 2 + local particleOffset = math.random() * 3 + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:poof"), particleAnchorPos:copy():add(math.cos(particleRot) * particleOffset, 0, math.sin(particleRot) * particleOffset)):setVelocity(math.cos(particleRot), 0, math.sin(particleRot)) + + end + if self.animationCount % 2 == 1 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.bamboo_wood_door.close"), self.parent.modelUtils.getModelWorldPos(models.models.death_animation.Helicopter.DeathAnimationSoundAnchor1), 1, 0.5):setAttenuation(2) + end + if self.animationCount < 120 then + models.models.death_animation.Avatar:setLight(world.getLightLevel(self.animationPos)) + end + if self.animationCount == 1 then + self:spawnHelicopterParticles() + elseif self.animationCount == 10 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.iron_door.open"), self.parent.modelUtils.getModelWorldPos(models.models.death_animation.Helicopter.DeathAnimationSoundAnchor1), 1, 0.5) + elseif self.animationCount >= 57 and self.animationCount < 76 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.attack.sweep"), self.parent.modelUtils.getModelWorldPos(models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14), 0.25, -0.056 * (self.animationCount - 57) + 2) + elseif self.animationCount == 120 then + self.dummyAvatarRoot = models.models.death_animation.Avatar:moveTo(models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14) + self.setPhase2Pose(models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14.Avatar) + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onPhase2 ~= nil then + self.parent.characterData.deathAnimation.callbacks.onPhase2(self.parent.characterData, models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14.Avatar, self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].name:upper()) + end + elseif self.animationCount == 180 then + models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14.Avatar:setVisible(false) + elseif self.animationCount == 230 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.iron_door.close"), self.parent.modelUtils.getModelWorldPos(models.models.death_animation.Helicopter.DeathAnimationSoundAnchor1), 1, 0.5) + elseif self.animationCount == 255 then + self:spawnHelicopterParticles() + self:stop() + end + end, "death_animation_tick") + end + if events.WORLD_TICK:getRegisteredCount("death_animation_world_tick") == 0 then + events.WORLD_TICK:register(function () + self.animationCount = self.animationCount + 1 + end, "death_animation_world_tick") + end + end; + + ---死亡アニメーションを停止する。 + ---@param self DeathAnimation + stop = function (self) + models.models.death_animation:setVisible(false) + animations["models.death_animation"]["death_animation"]:stop() + events.TICK:remove("death_animation_tick") + events.WORLD_TICK:remove("death_animation_world_tick") + self.dummyAvatarRoot = nil + self.animationCount = 0 + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/events/abstract_event.lua b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/events/abstract_event.lua new file mode 100644 index 0000000..e6af2e5 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/events/abstract_event.lua @@ -0,0 +1,71 @@ +---@class AbstractEvent : AvatarModule +---@field public registerTable {[string]: fun()[]} 登録されたコールバック関数を管理するテーブル +---@field public register fun(self: AbstractEvent, callback: fun(...: any), name?: string) イベントにコールバック関数登録する +---@field public remove fun(self: AbstractEvent, name: string) 指定した名前のコールバック関数を1つ削除する +---@field public getRegisteredCount fun(self: AbstractEvent, name: string): integer 指定した名前で登録されているコールバック関数の数を返す +---@field public fire fun(self: AbstractEvent, ...: any) 登録された全てのコールバック関数を呼ぶ + +AbstractEvent = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return AbstractEvent + new = function (parent) + ---@type AbstractEvent + local instance = Avatar.instantiate(AbstractEvent, AvatarModule, parent) + + instance.registerTable = {} + + return instance + end; + + ---イベントにコールバック関数登録する。 + ---@param self AbstractEvent + ---@param callback fun(...: any) 登録するコールバック関数 + ---@param name? string コールバック関数の名前 + register = function (self, callback, name) + local callbackName = name ~= nil and name or client.intUUIDToString(client.generateUUID()) + if self.registerTable[callbackName] ~= nil then + table.insert(self.registerTable[callbackName], callback) + else + local callbackTable = {} + table.insert(callbackTable, callback) + self.registerTable[callbackName] = callbackTable + end + end; + + ---指定した名前のコールバック関数を1つ削除する。 + ---@param self AbstractEvent + ---@param name string コールバック関数の名前 + remove = function (self, name) + if self.registerTable[name] ~= nil then + table.remove(self.registerTable[name]) + if #self.registerTable[name] == 0 then + self.registerTable[name] = nil + end + end + end; + + ---指定した名前で登録されているコールバック関数の数を返す。 + ---@param self AbstractEvent + ---@param name string コールバック関数の名前 + ---@return integer registeredCount 登録されていたコールバック関数の数 + getRegisteredCount = function (self, name) + if self.registerTable[name] ~= nil then + return #self.registerTable[name] + else + return 0 + end + end; + + ---登録された全てのコールバック関数を呼ぶ。 + ---@param self AbstractEvent + ---@param ... any callbackArgs コールバック引数 + fire = function (self, ...) + for _, eventTable in pairs(self.registerTable) do + for _, callback in ipairs(eventTable) do + ---@diagnostic disable-next-line: redundant-parameter + callback(...) + end + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/events/avatar_events.lua b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/events/avatar_events.lua new file mode 100644 index 0000000..b2fd6e8 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/events/avatar_events.lua @@ -0,0 +1,16 @@ +---@class AvatarEvents : AvatarModule アバター独自のイベントを定義し、管理するクラス +---@field public SCRIPT_INIT ScriptInitEvent 全てのスクリプトの初期化が完了した後に1度だけ呼ばれるイベント + +AvatarEvents = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return AvatarEvents + new = function (parent) + ---@type AvatarEvents + local instance = Avatar.instantiate(AvatarEvents, AvatarModule, parent) + + instance.SCRIPT_INIT = ScriptInitEvent.new(instance.parent) + + return instance + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/events/script_init_event.lua b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/events/script_init_event.lua new file mode 100644 index 0000000..44c62e7 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/events/script_init_event.lua @@ -0,0 +1,25 @@ +---@class ScriptInitEvent : AbstractEvent 全てのスクリプトの初期化が完了した後に1度だけ呼ばれるイベント +---@field public register fun(self: AbstractEvent, callback: fun(), name?: string) イベントにコールバック関数登録する +---@field public fire fun(self: AbstractEvent) 登録された全てのコールバック関数を呼ぶ + +ScriptInitEvent = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ScriptInitEvent + new = function (parent) + ---@type ScriptInitEvent + local instance = Avatar.instantiate(ScriptInitEvent, AbstractEvent, parent) + + return instance + end; + + ---登録された全てのコールバック関数を呼ぶ。 + ---@param self ScriptInitEvent + fire = function (self, ...) + for _, eventTable in pairs(self.registerTable) do + for _, callback in ipairs(eventTable) do + callback() + end + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/ex_skill/ex_skill.lua b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/ex_skill/ex_skill.lua new file mode 100644 index 0000000..dcc10ca --- /dev/null +++ b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/ex_skill/ex_skill.lua @@ -0,0 +1,434 @@ +---@alias ExSkill.AutoPlayMode +---| "NONE" # 自動再生なし +---| "MAIN" # メインExスキル +---| "SUB" # サブExスキル + +---@alias ExSkill.TransitionPhase +---| "PRE" # Exスキルアニメーション開始前 +---| "POST" # Exスキルアニメーション終了後 + +---@class (exact) ExSkill : AvatarModule Exスキルのアニメーションを管理するクラス +---@field package AUTO_PLAY ExSkill.AutoPlayMode アバター読み込み時に自動的にExスキルが再生される。デバッグ用。 +---@field public frameParticleAmount integer Exスキルフレームのパーティクルの量:1. 標準, 2. 少なめ, 3. なし, 4. Exスキルフレーム非表示、パーティクル量は標準 +---@field package exSkillIndex integer 現在再生中のExスキルのインデックス番号 +---@field public animationCount integer Exスキルのアニメーション再生中に増加するカウンター。-1はアニメーション停止中を示す。 +---@field package animationLength number Exスキルのアニメーションの長さ。スクリプトで自動で代入する。 +---@field public transitionCount number Exスキルのアニメーション前後のカメラのトランジションの進捗を示すカウンター +---@field package keyPressCount integer Exスキルキーを押下し続ける時間を計るカウンター +---@field package bodyYaw number[] プレイヤーの体の回転 +---@field package isDebugInit boolean デバッグモードが初期化されたかどうか +---@field public canPlayAnimation fun(self: ExSkill): boolean アニメーションが再生可能かどうかを返す +---@field package transition fun(self: ExSkill, direction: ExSkill.TransitionPhase, callback: fun()) Exスキルのアニメーションの前後のカメラのトランジションを行う関数 +---@field public play fun(self: ExSkill, isSubExSkill: boolean) アニメーションを再生する +---@field public stop fun(self: ExSkill) アニメーションを停止する +---@field public forceStop fun(self: ExSkill) アニメーションを停止する。終了時のトランジションも無効。 + +ExSkill = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ExSkill + new = function (parent) + ---@type ExSkill + local instance = Avatar.instantiate(ExSkill, AvatarModule, parent) + + instance.AUTO_PLAY = "NONE" + + instance.frameParticleAmount = instance.parent.config:loadConfig("PRIVATE", "exSkillFrameParticleAmount", 1) + instance.exSkillIndex = 1 + instance.animationCount = -1 + instance.animationLength = 0 + instance.transitionCount = 0 + instance.keyPressCount = 0 + instance.bodyYaw = {} + instance.isDebugInit = false + + return instance + end; + + ---初期化関数 + ---@param self ExSkill + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + for _, exSkill in ipairs(self.parent.characterData.exSkill) do + local offset = (exSkill.camera.fixMode ~= nil and exSkill.camera.fixMode) and 1 or 0.9375 + exSkill.camera.start.pos:mul(-1, 1, 1):scale(1 / 16 * offset) + exSkill.camera.fin.pos:mul(-1, 1, 1):scale(1 / 16 * offset) + end + + local exSkillKey = self.parent.keyManager:register("ex_skill", self.parent.config:loadConfig("PRIVATE", "keybind.ex_skill", "key.keyboard.g")) + exSkillKey:setOnPress(function () + while events.TICK:getRegisteredCount("ex_skill_keypress_tick") > 0 do + events.TICK:remove("ex_skill_keypress_tick") + end + events.TICK:register(function () + if self.keyPressCount == 30 then + events.TICK:remove("ex_skill_keypress_tick") + self.parent.placementObjectManager:removeAll() + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.zombie.break_wooden_door"), player:getPos(), 0.25, 2) + self.keyPressCount = 0 + return + end + self.keyPressCount = self.keyPressCount + 1 + end, "ex_skill_keypress_tick") + end) + exSkillKey:setOnRelease(function () + events.TICK:remove("ex_skill_keypress_tick") + if self.keyPressCount > 0 then + if self:canPlayAnimation() and self.animationCount == -1 and self.transitionCount == 0 then + pings.exSkill() + else + print(self.parent.locale:getLocale("key_bind.ex_skill.unavailable"..(renderer:isFirstPerson() and "_firstperson" or ""))) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + end + self.keyPressCount = 0 + end + end) + self.parent.keyManager:register("ex_skill_sub", self.parent.config:loadConfig("PRIVATE", "keybind.ex_skill_sub", "key.keyboard.h")):setOnPress(function () + if self:canPlayAnimation() and self.animationCount == -1 and self.transitionCount == 0 and self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill ~= nil then + pings.subExSkill() + else + print(self.parent.locale:getLocale(self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill == nil and "action_wheel.main.action_6.unavailable" or "key_bind.ex_skill.unavailable"..(renderer:isFirstPerson() and "_firstperson" or ""))) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + end + end) + end + + table.insert(self.bodyYaw, player:getBodyYaw() % 360) + + events.TICK:register(function () + if not renderer:isFirstPerson() then + table.insert(self.bodyYaw, player:getBodyYaw() % 360) + if #self.bodyYaw == 3 then + table.remove(self.bodyYaw, 1) + end + end + end) + + if self.AUTO_PLAY ~= "NONE" then + events.TICK:register(function () + if not self.isDebugInit then + events.TICK:remove("ex_skill_debug_tick") + self:play(self.AUTO_PLAY == "SUB") + self.isDebugInit = true + end + end, "ex_skill_debug_tick") + end + end; + + ---アニメーションが再生可能かどうかを返す。 + ---@param self ExSkill + ---@return boolean canPlayAnimation Exスキルアニメーションが再生可能かどうか + canPlayAnimation = function (self) + return player:getPose() == "STANDING" and player:getVelocity():length() < 0.01 and self.bodyYaw[1] == self.bodyYaw[2] and player:isOnGround() and not player:isInWater() and not player:isInLava() and player:getFrozenTicks() == 0 and not renderer:isFirstPerson() and self.parent.playerUtils.damageStatus == "NONE" and player:getSwingArm() == nil and player:getActiveItem().id == "minecraft:air" and not self.parent.costume.isChangingCostume + end; + + ---Exスキルのアニメーションの前後のカメラのトランジションを行う関数 + ---@param self ExSkill + ---@param direction ExSkill.TransitionPhase カメラのトランジションの向き + ---@param callback fun() トランジション終了時に呼び出されるコールバック関数 + transition = function (self, direction, callback) + events.TICK:register(function () + if not client:isPaused() then + if events.TICK:getRegisteredCount("ex_skill_transition_tick") == 1 then + self.transitionCount = direction == "PRE" and math.min(self.transitionCount + 1, 10) or math.max(self.transitionCount - 1, 0) + end + if (direction == "PRE" and self.transitionCount == 10) or (direction == "POST" and self.transitionCount == 0) then + if host:isHost() then + local windowSize = client:getScaledWindowSize() + models.models.ex_skill_frame.Gui.FrameBar:setPos(0, 0, 0) + if direction == "PRE" and self.frameParticleAmount < 4 then + for _, modelPart in ipairs({models.models.ex_skill_frame.Gui.Frame.FrameTopLeft, models.models.ex_skill_frame.Gui.Frame.FrameTopRight, models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft, models.models.ex_skill_frame.Gui.Frame.FrameBottomRight}) do + modelPart:setVisible(true) + end + models.models.ex_skill_frame.Gui.Frame.FrameTop:setPos(-windowSize.x + 16, -16) + models.models.ex_skill_frame.Gui.Frame.FrameTop:setScale(windowSize.x / 16 - 2, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setPos(-16, -windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setScale(1, windowSize.y / 16 - 2, 1) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setPos(-windowSize.x + 16, -windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setScale(windowSize.x / 16 - 2, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setPos(-windowSize.x, -windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setScale(1, windowSize.y / 16 - 2, 1) + elseif direction == "POST" then + for _, modelPart in ipairs({models.models.ex_skill_frame.Gui.Frame.FrameTopLeft, models.models.ex_skill_frame.Gui.Frame.FrameTopRight, models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft, models.models.ex_skill_frame.Gui.Frame.FrameBottomRight}) do + modelPart:setVisible(false) + end + for _, modelPart in ipairs({models.models.ex_skill_frame.Gui.Frame.FrameTop, models.models.ex_skill_frame.Gui.Frame.FrameLeft, models.models.ex_skill_frame.Gui.Frame.FrameBottom, models.models.ex_skill_frame.Gui.Frame.FrameRight}) do + modelPart:setScale(0, 0, 0) + end + end + end + callback() + events.TICK:remove("ex_skill_transition_tick") + events.RENDER:remove("ex_skill_transition_render") + end + if host:isHost() then + local barPos = models.models.ex_skill_frame.Gui.FrameBar:getPos().x * -1 + local windowSizeY = client:getScaledWindowSize().y + if self.frameParticleAmount ~= 3 and self.transitionCount >= 1 and self.transitionCount <= 9 then + for _ = 1, windowSizeY / (self.frameParticleAmount == 2 and 100 or 20) do + local particleOffset = math.random() * windowSizeY + self.parent.frameParticleManager:spawn(vectors.vec2(barPos - particleOffset - math.random() * 50, particleOffset):scale(-1), vectors.vec2(500, 0)) + end + end + end + end + end, "ex_skill_transition_tick") + + events.RENDER:register(function (delta) + --カメラのトランジション + if not client:isPaused() and host:isHost() then + local lookDir = player:getLookDir() + local cameraRot = renderer:isCameraBackwards() and vectors.vec3(math.deg(math.asin(lookDir.y)), math.deg(math.atan2(lookDir.z, lookDir.x) + math.pi / 2)) or vectors.vec3(math.deg(math.asin(-lookDir.y)), math.deg(math.atan2(lookDir.z, lookDir.x) - math.pi / 2)) + local targetCameraPos = vectors.vec3() + local targetCameraRot = vectors.vec3() + if direction == "PRE" then + targetCameraPos = vectors.rotateAroundAxis(self.bodyYaw[2] * -1 + 180, self.parent.characterData.exSkill[self.exSkillIndex].camera.start.pos, 0, 1):add(0, -1.62) + targetCameraRot = self.parent.characterData.exSkill[self.exSkillIndex].camera.start.rot:copy():add(0, self.bodyYaw[2], 0) + else + targetCameraPos = vectors.rotateAroundAxis(self.bodyYaw[2] * -1 + 180, self.parent.characterData.exSkill[self.exSkillIndex].camera.fin.pos, 0, 1):add(0, -1.62) + targetCameraRot = self.parent.characterData.exSkill[self.exSkillIndex].camera.fin.rot:copy():add(0, self.bodyYaw[2], 0) + end + if math.abs(cameraRot.y - targetCameraRot.y) >= 180 then + if cameraRot.y < targetCameraRot.y then + cameraRot.y = cameraRot.y + 360 + else + targetCameraRot.y = targetCameraRot.y + 360 + end + end + local trueDelta = direction == "PRE" and delta or delta * -1 + self.parent.cameraManager.setCameraPivot(targetCameraPos:scale((self.transitionCount + trueDelta) / 10)) + self.parent.cameraManager.setCameraRot(targetCameraRot:copy():sub(cameraRot):scale((self.transitionCount + trueDelta) / 10):add(cameraRot)) + self.parent.cameraManager:setThirdPersonCameraDistance(4 - (self.transitionCount + trueDelta) / 10 * 4) + + --フレーム演出 + local windowSize = client:getScaledWindowSize() + local barPos = (windowSize.x + windowSize.y + math.sqrt(2) * 16) * (direction == "PRE" and (self.transitionCount + trueDelta) / 10 or (1 - (self.transitionCount + trueDelta) / 10)) + models.models.ex_skill_frame.Gui.FrameBar:setPos(-barPos, 0, 0) + + if self.frameParticleAmount < 4 then + local frameTopLength = math.clamp(barPos, 32, windowSize.x) + local frameLeftLength = math.clamp(barPos, 32, windowSize.y) + local frameBottomLength = math.clamp(barPos - windowSize.y + 16, 32, windowSize.x) + local frameRightLength = math.clamp(barPos - windowSize.x + 16, 32, windowSize.y) + + models.models.ex_skill_frame.Gui.Frame.FrameTopLeft:setPos(-16, -16) + models.models.ex_skill_frame.Gui.Frame.FrameTopRight:setPos(-windowSize.x, -16) + models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft:setPos(-16, -windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameBottomRight:setPos(-windowSize.x, -windowSize.y) + if direction == "PRE" then + models.models.ex_skill_frame.Gui.Frame.FrameTopLeft:setVisible(barPos >= 16) + models.models.ex_skill_frame.Gui.Frame.FrameTopRight:setVisible(barPos >= windowSize.x + 16) + models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft:setVisible(barPos >= windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameBottomRight:setVisible(barPos >= windowSize.x + windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameTop:setPos(-frameTopLength + 16, -16) + models.models.ex_skill_frame.Gui.Frame.FrameTop:setScale(frameTopLength / 16 - 2, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setPos(-16, -frameLeftLength + 16) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setScale(1, frameLeftLength / 16 - 2, 1) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setPos(-frameBottomLength + 16, -windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setScale(frameBottomLength / 16 - 2, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setPos(-windowSize.x, -frameRightLength + 16) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setScale(1, frameRightLength / 16 - 2, 1) + else + models.models.ex_skill_frame.Gui.Frame.FrameTopLeft:setVisible(barPos < 16) + models.models.ex_skill_frame.Gui.Frame.FrameTopRight:setVisible(barPos < windowSize.x + 16) + models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft:setVisible(barPos < windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameBottomRight:setVisible(barPos < windowSize.x + windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameTop:setPos(-windowSize.x + 16, -16) + models.models.ex_skill_frame.Gui.Frame.FrameTop:setScale((windowSize.x - frameTopLength) / 16, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setPos(-16, -windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setScale(1, (windowSize.y - frameLeftLength) / 16, 1) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setPos(-windowSize.x + 16, -windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setScale((windowSize.x - frameBottomLength) / 16, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setPos(-windowSize.x, -windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setScale(1, (windowSize.y - frameRightLength) / 16, 1) + end + end + end + end, "ex_skill_transition_render") + end; + + ---アニメーションを再生する。 + ---@param self ExSkill + ---@param isSubExSkill boolean サブExスキルを再生するかどうか + play = function (self, isSubExSkill) + if isSubExSkill then + if self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill ~= nil then + self.exSkillIndex = self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill + else + return + end + else + self.exSkillIndex = self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].exSkill + end + + self.parent.bubble:stop() + renderer:setFOV(70 / client:getFOV()) + renderer:setRenderHUD(false) + self.parent.cameraManager:setCameraCollisionDenial(true) + models.models.ex_skill_frame.Gui:setColor(self.parent.characterData.exSkill[self.exSkillIndex].formationType == "STRIKER" and vectors.vec3(1, 0.75, 0.75) or vectors.vec3(0.75, 1, 1)) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.levelup"), player:getPos(), 5, 2) + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPreTransition ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPreTransition(self.parent.characterData) + end + models.models.ex_skill_frame.Gui.FrameBar:setScale(1, client:getScaledWindowSize().y * math.sqrt(2) / 16 + 1, 1) + + events.TICK:register(function () + if not self:canPlayAnimation() then + self:forceStop() + end + end, "ex_skill_tick") + + self:transition("PRE", function () + self.parent.physics:disable() + for _, itemModel in ipairs({vanilla_model.RIGHT_ITEM, vanilla_model.LEFT_ITEM}) do + itemModel:setVisible(false) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].models) do + modelPart:setVisible(true) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].animations) do + animations["models."..modelPart]["ex_skill_"..self.exSkillIndex]:play() + end + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPreAnimation ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPreAnimation(self.parent.characterData) + end + self.parent.cameraManager:setThirdPersonCameraDistance(0) + + events.TICK:register(function () + if not client:isPaused() then + if self.animationCount == self.animationLength - 1 then + self:stop() + elseif self:canPlayAnimation() and animations["models.main"]["ex_skill_"..self.exSkillIndex]:isPlaying() then + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onAnimationTick ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onAnimationTick(self.parent.characterData, self.animationCount) + end + self.animationCount = self.animationCount > -1 and self.animationCount + 1 or self.animationCount + end + + if host:isHost() then + local windowSize = client:getScaledWindowSize() + local windowCenter = windowSize:copy():scale(0.5) + if self.frameParticleAmount < 3 then + for _ = 1, (windowSize.x * 2 + windowSize.y * 2) / (self.frameParticleAmount == 1 and 100 or 500) do + local particlePos = vectors.vec2(math.random() * (windowSize.x * 2 + windowSize.y * 2), math.random() * 16) + particlePos = particlePos.x <= windowSize.x and particlePos or (particlePos.x <= windowSize.x + windowSize.y and vectors.vec2(windowSize.x - particlePos.y, particlePos.x - windowSize.x) or (particlePos.x <= windowSize.x * 2 + windowSize.y and vectors.vec2(particlePos.x - (windowSize.x + windowSize.y), windowSize.y - particlePos.y) or vectors.vec2(particlePos.y, particlePos.x - (windowSize.x * 2 + windowSize.y)))) + self.parent.frameParticleManager:spawn(particlePos:copy():scale(-1), windowCenter:copy():sub(particlePos):scale(0.25)) + end + end + end + end + end, "ex_skill_animation_tick") + + if host:isHost() then + events.RENDER:register(function () + if not client:isPaused() then + self.parent.cameraManager.setCameraPivot(vectors.rotateAroundAxis(self.bodyYaw[2] * -1 + 180, models.models.main.CameraAnchor:getAnimPos():scale(1 / 16 * ((self.parent.characterData.exSkill[self.exSkillIndex].camera.fixMode ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].camera.fixMode) and 1 or 0.9375)), 0, 1, 0):add(0, -1.62, 0)) + self.parent.cameraManager.setCameraRot(models.models.main.CameraAnchor:getAnimRot():scale(-1):add(0, self.bodyYaw[2], 0)) + end + end, "ex_skill_animation_render") + end + self.animationCount = 0 + self.parent.gun:processGunTick() + self.animationLength = math.round(animations["models.main"]["ex_skill_"..self.exSkillIndex]:getLength() * 20) + end) + end; + + ---アニメーションを停止する。 + ---@param self ExSkill + stop = function (self) + events.TICK:remove("ex_skill_animation_tick") + if host:isHost() then + events.RENDER:remove("ex_skill_animation_render") + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.levelup"), player:getPos(), 5, 2):setAttenuation(100) + end + + for _, itemModel in ipairs({vanilla_model.RIGHT_ITEM, vanilla_model.LEFT_ITEM}) do + itemModel:setVisible(true) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].models) do + modelPart:setVisible(false) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].animations) do + animations["models."..modelPart]["ex_skill_"..self.exSkillIndex]:stop() + end + self.parent.physics:enable() + renderer:setFOV() + self.animationCount = -1 + + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostAnimation ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostAnimation(self.parent.characterData, false) + end + self:transition("POST", function () + events.TICK:remove("ex_skill_tick") + self.parent.cameraManager.setCameraPivot() + self.parent.cameraManager.setCameraRot() + self.parent.cameraManager:setThirdPersonCameraDistance(4) + self.parent.cameraManager:setCameraCollisionDenial(false) + renderer:setRenderHUD(true) + + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostTransition ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostTransition(self.parent.characterData, false) + end + end) + end; + + ---アニメーションを停止する。終了時のトランジションも無効。 + ---@param self ExSkill + forceStop = function (self) + events.RENDER:remove("ex_skill_transition_render") + if host:isHost() then + events.TICK:remove("ex_skill_transition_tick") + events.RENDER:remove("ex_skill_animation_render") + end + + for _, itemModel in ipairs({vanilla_model.RIGHT_ITEM, vanilla_model.LEFT_ITEM}) do + itemModel:setVisible(true) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].models) do + modelPart:setVisible(false) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].animations) do + animations["models."..modelPart]["ex_skill_"..self.exSkillIndex]:stop() + end + for _, eventName in ipairs({"ex_skill_tick", "ex_skill_animation_tick"}) do + events.TICK:remove(eventName) + end + self.parent.physics:enable() + models.models.ex_skill_frame.Gui.FrameBar:setPos() + for _, modelPart in ipairs({models.models.ex_skill_frame.Gui.Frame.FrameTopLeft, models.models.ex_skill_frame.Gui.Frame.FrameTopRight, models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft, models.models.ex_skill_frame.Gui.Frame.FrameBottomRight}) do + modelPart:setVisible(false) + end + for _, modelPart in ipairs({models.models.ex_skill_frame.Gui.Frame.FrameTop, models.models.ex_skill_frame.Gui.Frame.FrameLeft, models.models.ex_skill_frame.Gui.Frame.FrameBottom, models.models.ex_skill_frame.Gui.Frame.FrameRight}) do + modelPart:setScale(0, 0, 0) + end + self.parent.faceParts:resetEmotion() + self.parent.cameraManager.setCameraPivot() + self.parent.cameraManager.setCameraRot() + self.parent.cameraManager:setThirdPersonCameraDistance(4) + self.parent.cameraManager:setCameraCollisionDenial(false) + renderer:setRenderHUD(true) + renderer:setFOV() + + if self.animationCount >= 0 and self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostAnimation ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostAnimation(self.parent.characterData, true) + end + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostTransition ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostTransition(self.parent.characterData, true) + end + + self.animationCount = -1 + self.transitionCount = 0 + end; +} + +---Exスキルを再生する。 +function pings.exSkill() + AvatarInstance.exSkill:play(false) +end + +---サブExスキルを再生する。 +function pings.subExSkill() + AvatarInstance.exSkill:play(true) +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/ex_skill/ex_skill_frame_particle.lua b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/ex_skill/ex_skill_frame_particle.lua new file mode 100644 index 0000000..59315a9 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/ex_skill/ex_skill_frame_particle.lua @@ -0,0 +1,68 @@ +---@class (exact) ExSkillFrameParticle : SpawnObject Exスキルのフレームで使用するパーティクルの単一を管理するクラス +---@field package object ModelPart インスタンスで制御するオブジェクト +---@field package currentPos Vector2 パーティクルの現在位置 +---@field package nextPos Vector2 次ティックのパーティクルの位置 +---@field package velocity Vector2 パーティクルの速度 +---@field package particleCount integer パーティクルのアニメーションを制御するためのカウンター +---@field public new fun(parent: Avatar, pos: Vector2, velocity: Vector2, type: ExSkillFrameParticleManager.ParticleType): ExSkillFrameParticle コンストラクター + +ExSkillFrameParticle = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@param pos Vector2 パーティクルをスポーンさせるスクリーン上の座標。GUIスケールも考慮される。 + ---@param velocity Vector2 パーティクルの秒間移動距離(ピクセル) + ---@param type ExSkillFrameParticleManager.ParticleType このインスタンスのパーティクルの種類 + ---@return ExSkillFrameParticle + new = function (parent, pos, velocity, type) + ---@type ExSkillFrameParticle + local instance = Avatar.instantiate(ExSkillFrameParticle, SpawnObject, parent) + + instance.object = models.models.ex_skill_frame.Particles["Particle"..(type == "NORMAL" and 1 or 2)]:copy(instance.uuid) + instance.currentPos = pos + instance.nextPos = instance.currentPos + instance.velocity = velocity + instance.particleCount = 0 + + instance.callbacks = { + ---@param self ExSkillFrameParticle + onInit = function (self) + models.models.ex_skill_frame.Gui.script_ex_skill_frame_particles:addChild(self.object) + self.object:setRot(90, math.random() * 360, 180) + end; + + ---@param self ExSkillFrameParticle + onDeinit = function (self) + self.object:remove() + end; + + ---@param self ExSkillFrameParticle + onTick = function (self) + --パーティクル位置を強制更新 + self.currentPos = self.nextPos:copy() + self.object:setPos(self.currentPos:copy():augmented(0)) + self.object:setScale(vectors.vec3(1, 1, 1):scale(1 - self.particleCount / 5)) + + --カウンターを更新 + self.particleCount = self.particleCount + 1 + if self.particleCount == 5 then + self.object:remove() + elseif self.particleCount == 6 then + self.shouldDeinit = true + end + + --次ティックの位置を計算 + if self.velocity:length() > 0 then + self.nextPos = self.currentPos:copy():add(self.velocity:copy():scale(-0.05)) + end + end; + + ---@param self ExSkillFrameParticle + onRender = function (self, delta) + self.object:setPos(self.nextPos:copy():sub(self.currentPos):scale(delta):add(self.currentPos):augmented(0)) + self.object:setScale(vectors.vec3(1, 1, 1):scale(1 - (self.particleCount + delta) / 5)) + end; + } + + return instance + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/ex_skill/ex_skill_frame_particle_manager.lua b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/ex_skill/ex_skill_frame_particle_manager.lua new file mode 100644 index 0000000..262709e --- /dev/null +++ b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/ex_skill/ex_skill_frame_particle_manager.lua @@ -0,0 +1,48 @@ +---@alias ExSkillFrameParticleManager.ParticleType +---| "NORMAL" # 通常のパーティクル +---| "FIGURA" # Figuraマークのパーティクル(穴空き三角形) + +---@class (exact) ExSkillFrameParticleManager : SpawnObjectManager Exスキルのフレームで使用するパーティクルを管理するクラス +---@field public objects ExSkillFrameParticle[] インスタンスで制御するオブジェクト +---@field public getObject fun(self: ExSkillFrameParticleManager, pos: Vector2, velocity: Vector2): ExSkillFrameParticle Exスキルフレームのパーティクルのインスタンスを生成して返す +---@field public spawn fun(self: ExSkillFrameParticleManager, pos: Vector2, velocity: Vector2) Exスキルフレームのパーティクルをスポーンさせる + +ExSkillFrameParticleManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ExSkillFrameParticleManager + new = function (parent) + ---@type ExSkillFrameParticleManager + local instance = Avatar.instantiate(ExSkillFrameParticleManager, SpawnObjectManager, parent) + + instance.managerName = "ex_skill_frame_particle" + + return instance + end; + + ---初期化関数 + ---@param self ExSkillFrameParticleManager + init = function (self) + SpawnObjectManager.init(self) + + ---@diagnostic disable-next-line: discard-returns + models.models.ex_skill_frame.Gui:newPart("script_ex_skill_frame_particles") + end; + + ---Exスキルフレームのパーティクルのインスタンスを生成して返す。 + ---@param self ExSkillFrameParticleManager + ---@param pos Vector2 パーティクルをスポーンさせる画面上の座標 + ---@param velocity Vector2 パーティクルの速度 + ---@return ExSkillFrameParticle instance 生成したインスタンス + getObject = function (self, pos, velocity) + return ExSkillFrameParticle.new(self.parent, pos, velocity, math.random() > 0.9999 and "FIGURA" or "NORMAL") + end; + + ---Exスキルフレームのパーティクルをスポーンさせる。 + ---@param self ExSkillFrameParticleManager + ---@param pos Vector2 パーティクルをスポーンさせる画面上の座標 + ---@param velocity Vector2 パーティクルの速度 + spawn = function (self, pos, velocity) + SpawnObjectManager.spawn(self, pos, velocity) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/face_parts.lua b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/face_parts.lua new file mode 100644 index 0000000..8f55994 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/face_parts.lua @@ -0,0 +1,88 @@ +---@class (exact) FaceParts : AvatarModule 目と口のテクスチャを管理するクラス +---@field public emotionCount integer エモートの時間を計るカウンター +---@field public blinkCount integer 瞬きのタイミングを計るカウンター +---@field public setEmotion fun(self: FaceParts, rightEye: BlueArchiveCharacter.RightEyeTextures, leftEye: BlueArchiveCharacter.LeftEyeTextures, mouth: BlueArchiveCharacter.MouthTextures, duration: integer, forced?: boolean) 表情を設定する +---@field public resetEmotion fun(self: FaceParts) 表情をリセットする + +FaceParts = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return FaceParts + new = function (parent) + ---@type FaceParts + local instance = Avatar.instantiate(FaceParts, AvatarModule, parent) + + instance.emotionCount = 0 + instance.blinkCount = 200 + + return instance + end; + + ---初期化関数 + ---@param self FaceParts + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + if not client:isPaused() then + if self.parent.playerUtils.damageStatus == "DAMAGE" then + if self.parent.characterData.faceParts.emotionSet ~= nil and self.parent.characterData.faceParts.emotionSet.onDamage ~= nil then + self:setEmotion(self.parent.characterData.faceParts.emotionSet.onDamage.rightEye, self.parent.characterData.faceParts.emotionSet.onDamage.leftEye, self.parent.characterData.faceParts.emotionSet.onDamage.mouth, 8, true) + else + self:setEmotion("SURPRISED", "SURPRISED", "NORMAL", 8, true) + end + elseif self.parent.playerUtils.damageStatus == "DIED" then + if self.parent.characterData.faceParts.emotionSet ~= nil and self.parent.characterData.faceParts.emotionSet.onDied ~= nil then + self:setEmotion(self.parent.characterData.faceParts.emotionSet.onDied.rightEye, self.parent.characterData.faceParts.emotionSet.onDied.leftEye, self.parent.characterData.faceParts.emotionSet.onDied.mouth, 20, true) + else + self:setEmotion("SURPRISED", "SURPRISED", "NORMAL", 20, true) + end + elseif self.emotionCount == 0 then + self:setEmotion("NORMAL", "NORMAL", "NORMAL", 0) + end + + if self.blinkCount == 0 then + self:setEmotion("CLOSED", "CLOSED", "NORMAL", 2) + self.blinkCount = 200 + else + self.blinkCount = self.blinkCount - 1 + end + + self.emotionCount = self.emotionCount > 0 and self.emotionCount - 1 or self.emotionCount + end + end) + end; + + ---表情を設定する。 + ---@param self FaceParts + ---@param rightEye BlueArchiveCharacter.RightEyeTextures 設定する右目の名前 + ---@param leftEye BlueArchiveCharacter.LeftEyeTextures 設定する左目の名前 + ---@param mouth BlueArchiveCharacter.MouthTextures 設定する口の名前 + ---@param duration integer この表情を有効にする時間 + ---@param forced? boolean trueにすると以前のエモーションが再生中でも強制的に現在のエモーションを適用させる。 + setEmotion = function (self, rightEye, leftEye, mouth, duration, forced) + if self.emotionCount == 0 or forced then + --右目 + models.models.main.Avatar.Head.FaceParts.Eyes.EyeLeft:setUVPixels(self.parent.characterData.faceParts.rightEye[rightEye]:copy():scale(6)) + + --左目 + models.models.main.Avatar.Head.FaceParts.Eyes.EyeRight:setUVPixels(self.parent.characterData.faceParts.leftEye[leftEye]:copy():scale(6)) + + --口 + if mouth ~= "NORMAL" then + models.models.main.Avatar.Head.FaceParts.Mouth:setVisible(true) + models.models.main.Avatar.Head.FaceParts.Mouth:setUVPixels(self.parent.characterData.faceParts.mouth[mouth]:copy():mul(16, 8)) + else + models.models.main.Avatar.Head.FaceParts.Mouth:setVisible(false) + end + + self.emotionCount = duration + end + end; + + ---表情をリセットする。 + ---@param self FaceParts + resetEmotion = function (self) + self.emotionCount = 0 + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/gun.lua b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/gun.lua new file mode 100644 index 0000000..e85079b --- /dev/null +++ b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/gun.lua @@ -0,0 +1,376 @@ +---@alias Gun.GunPosition +---| "NONE" # 構えていない +---| "RIGHT" # 右手に構える +---| "LEFT" # 左手に構える + +---@alias Gun.HandDirection +---| "RIGHT" # 右手 +---| "LEFT" # 左手 + +---@class (exact) Gun : AvatarModule 生徒の銃を制御するクラス +---@field public gunItems Minecraft.itemID[] 銃のモデルを適用するアイテム +---@field public shouldShowWeaponInFirstPerson boolean 一人称で武器(銃を含む)のモデルを表示するかどうか +---@field public currentGunPosition Gun.GunPosition 現在の銃の位置 +---@field package heldItemsPrev Gun.HeldItemSet 前ティックの手持ちアイテム +---@field package isLeftHandedPrev boolean 前ティックに左利きだったかどうか +---@field package isGunTickProcessed boolean このティック内で銃ティックを処理したかどうか +---@field package setBodyGunPos fun(self: Gun) 背中の銃の位置・向きを設定する +---@field public setGunPosition fun(self: Gun, gonPosition: Gun.GunPosition) 銃の位置を変更する +---@field public processGunTick fun(self: Gun) 銃ティックを処理する + +---@class (exact) Gun.HeldItemSet 手持ちアイテムを示すデータセット +---@field public mainHand ItemStack メインハンド +---@field public offHand ItemStack オフハンド + +Gun = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Gun + new = function (parent) + ---@type Gun + local instance = Avatar.instantiate(Gun, AvatarModule, parent) + + instance.gunItems = {"minecraft:bow", "minecraft:crossbow"} + instance.shouldShowWeaponInFirstPerson = instance.parent.config:loadConfig("PRIVATE", "firstPersonWeapon", true) + instance.currentGunPosition = "NONE" + instance.heldItemsPrev = { + mainHand = world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")); + offHand = world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")); + } + instance.isLeftHandedPrev = player:isLeftHanded() + instance.isGunTickProcessed = false + + return instance + end; + + ---初期化関数 + ---@param self Gun + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + self:processGunTick() + self.isGunTickProcessed = false + end) + + events.ON_PLAY_SOUND:register(function (id, pos, _, _, _, _, path) + if path ~= nil then + local velocityDistance = player:getVelocity():length() + local distanceFromSound = math.abs(pos:copy():sub(player:getPos()):length() - velocityDistance) + if (id == "minecraft:entity.arrow.shoot" or id == "minecraft:item.crossbow.loading_end" or id == "minecraft:item.crossbow.shoot") and math.abs(velocityDistance - distanceFromSound) < 1 then + if id == "minecraft:item.crossbow.loading_end" then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.dispenser.fail"), pos, 1, 2) + elseif player:isUnderwater() then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.generic.extinguish_fire"), pos, 0.5, 1.5) + else + local particleAnchor = self.parent.modelUtils.getModelWorldPos(renderer:isFirstPerson() and (Gun.CurrentGunPosition == "RIGHT" and models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.RightItemPivot or models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.LeftItemPivot) or models.models.main.Avatar.UpperBody.Body.Gun.MuzzleAnchor) + for _ = 1, 5 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:smoke"), particleAnchor) + end + sounds:playSound(self.parent.compatibilityUtils:checkSound(self.parent.characterData.gun.sound.name), pos, 1, self.parent.characterData.gun.sound.pitch) + end + return true + elseif (id == "minecraft:item.crossbow.loading_start" or id == "minecraft:item.crossbow.loading_middle" or id:match("^minecraft:item%.crossbow%.quick_charge_[1-3]$") ~= nil) and distanceFromSound < 1 and player:getActiveItem().id == "minecraft:crossbow" then + local activeItemTime = player:getActiveItemTime() + local quickChargeLevel = 0 + local activeItem = player:getActiveItem() + if activeItem.tag.Enchantments ~= nil then + for _, enchant in ipairs(activeItem.tag.Enchantments) do + if enchant.id == "minecraft:quick_charge" then + quickChargeLevel = enchant.lvl + break + end + end + end + if (quickChargeLevel <= 4 and activeItemTime + quickChargeLevel >= 4 and activeItemTime + quickChargeLevel <= 6) or (quickChargeLevel == 5 and activeItemTime <= 2) then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.flintandsteel.use"), pos, 1, 2) + return true + elseif id == "minecraft:item.crossbow.loading_middle" then + return true + end + end + end + end) + + local this = self --Figuraにスクリプトを再構築させると参照がおかしくなることに対処しているコード + events.ITEM_RENDER:register(function (item, mode, _, _, _, leftHanded) + self = this + if mode ~= "HEAD" and self.currentGunPosition == (leftHanded and "LEFT" or "RIGHT") and (self.shouldShowWeaponInFirstPerson or mode =="THIRD_PERSON_LEFT_HAND" or mode == "THIRD_PERSON_RIGHT_HAND") then + for _, gunItem in ipairs(self.gunItems) do + if item.id == gunItem then + if leftHanded then + if mode == "FIRST_PERSON_LEFT_HAND" then + local offsetPos = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.firstPersonPos ~= nil and self.parent.characterData.gun.gunPosition.hold.firstPersonPos.left ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.hold.firstPersonPos.left + end + local offsetRot = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.firstPersonRot ~= nil and self.parent.characterData.gun.gunPosition.hold.firstPersonRot.left ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.hold.firstPersonRot.left + end + local activeItemId = player:getActiveItem().id + if activeItemId == "minecraft:bow" then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -2.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(20, -7.5, -5):add(offsetRot)) + elseif activeItemId == "minecraft:crossbow" then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, 0.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + elseif item.id == "minecraft:crossbow" and item.tag.Charged == 1 then + if player:isLeftHanded() then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(-10, -1.25, 6):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 10, 0):add(offsetRot)) + else + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -1.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + else + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -1.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + elseif mode == "THIRD_PERSON_LEFT_HAND" then + local offsetPos = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.thirdPersonPos ~= nil and self.parent.characterData.gun.gunPosition.hold.thirdPersonPos.left ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.hold.thirdPersonPos.left + end + local offsetRot = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.thirdPersonRot ~= nil and self.parent.characterData.gun.gunPosition.hold.thirdPersonRot.left ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.hold.thirdPersonRot.left + end + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -4.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + else + if mode == "FIRST_PERSON_RIGHT_HAND" then + local offsetPos = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.firstPersonPos ~= nil and self.parent.characterData.gun.gunPosition.hold.firstPersonPos.right ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.hold.firstPersonPos.right + end + local offsetRot = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.firstPersonRot ~= nil and self.parent.characterData.gun.gunPosition.hold.firstPersonRot.right ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.hold.firstPersonRot.right + end + local activeItemId = player:getActiveItem().id + if activeItemId == "minecraft:bow" then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -2.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(20, 7.5, 5):add(offsetRot)) + elseif activeItemId == "minecraft:crossbow" then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, 0.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + elseif item.id == "minecraft:crossbow" and item.tag.Charged == 1 then + if player:isLeftHanded() then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -1.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + else + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(10, -1.25, 6):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, -10, 0):add(offsetRot)) + end + else + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -1.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + elseif mode == "THIRD_PERSON_RIGHT_HAND" then + local offsetPos = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.thirdPersonPos ~= nil and self.parent.characterData.gun.gunPosition.hold.thirdPersonPos.right ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.hold.thirdPersonPos.right + end + local offsetRot = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.thirdPersonRot ~= nil and self.parent.characterData.gun.gunPosition.hold.thirdPersonRot.right ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.hold.thirdPersonRot.right + end + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -4.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + end + return models.models.main.Avatar.UpperBody.Body.Gun + end + end + end + end) + + models.models.main.Avatar.UpperBody.Body.Gun:setScale(vectors.vec3(1, 1, 1):scale(self.parent.characterData.gun.scale)) + self:setGunPosition("NONE") + if self.parent.characterData.gun.callbacks ~= nil and self.parent.characterData.gun.callbacks.onMainHandChange ~= nil then + self.parent.characterData.gun.callbacks.onMainHandChange(self.parent.characterData, self.isLeftHandedPrev and "LEFT" or "RIGHT") + end + end; + + ---背中の銃の位置・向きを設定する。 + ---@param self Gun + setBodyGunPos = function (self) + if models.models.main.Avatar.UpperBody.Body.Gun ~= nil then + local offsetPos = vectors.vec3() + local offsetRot = vectors.vec3() + if player:isLeftHanded() then + if self.parent.characterData.gun.gunPosition.put.pos ~= nil and self.parent.characterData.gun.gunPosition.put.pos.left ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.put.pos.left + end + if self.parent.characterData.gun.gunPosition.put.rot ~= nil and self.parent.characterData.gun.gunPosition.put.rot.left ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.put.rot.left + end + else + if self.parent.characterData.gun.gunPosition.put.pos ~= nil and self.parent.characterData.gun.gunPosition.put.pos.right ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.put.pos.right + end + if self.parent.characterData.gun.gunPosition.put.rot ~= nil and self.parent.characterData.gun.gunPosition.put.rot.right ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.put.rot.right + end + end + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, 12, 0):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(offsetRot) + end + end; + + ---銃の位置を変更する。 + ---@param self Gun + ---@param gunPosition Gun.GunPosition 変更先の構え位置 + setGunPosition = function (self, gunPosition) + if gunPosition == "NONE" then + for _, tickName in ipairs({"right_gun_tick", "left_gun_tick"}) do + events.TICK:remove(tickName) + end + models.models.main.Avatar.UpperBody.Body.Gun:setParentType("None") + models.models.main.Avatar.UpperBody.Body.Gun:setSecondaryRenderType("NONE") + if self.parent.characterData.gun.gunPosition.hold.type == "NORMAL" then + self.parent.arms:setArmState(0, 0) + elseif self.parent.characterData.gun.gunPosition.hold.type == "CUSTOM" then + for _, animationName in ipairs({"gun_hold_right", "gun_hold_left"}) do + animations["models.main"][animationName]:stop() + end + end + if self.parent.characterData.gun.gunPosition.put.type == "BODY" then + self:setBodyGunPos() + elseif self.parent.characterData.gun.gunPosition.put.type == "HIDDEN" then + models.models.main.Avatar.UpperBody.Body.Gun:setVisible(false) + end + elseif gunPosition == "RIGHT" then + events.TICK:remove("left_gun_tick") + if events.TICK:getRegisteredCount("right_gun_tick") == 0 then + events.TICK:register(function () + local heldItem = player:getHeldItem(player:isLeftHanded()) + local hasGlint = false + for _, gunItem in ipairs(self.gunItems) do + if gunItem == heldItem.id and heldItem:hasGlint() then + models.models.main.Avatar.UpperBody.Body.Gun:setSecondaryRenderType("GLINT") + hasGlint = true + break + end + end + if not hasGlint then + models.models.main.Avatar.UpperBody.Body.Gun:setSecondaryRenderType("NONE") + end + end, "right_gun_tick") + end + if self.parent.characterData.gun.gunPosition.hold.type == "NORMAL" then + self.parent.arms:setArmState(1, 2) + elseif self.parent.characterData.gun.gunPosition.hold.type == "CUSTOM" then + animations["models.main"]["gun_hold_left"]:stop() + animations["models.main"]["gun_hold_right"]:play() + end + models.models.main.Avatar.UpperBody.Body.Gun:setVisible(true) + models.models.main.Avatar.UpperBody.Body.Gun:setParentType("Item") + if not client:isPaused() then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.flintandsteel.use"), player:getPos(), 1, 2) + end + elseif gunPosition == "LEFT" then + events.TICK:remove("right_gun_tick") + if events.TICK:getRegisteredCount("left_gun_tick") == 0 then + events.TICK:register(function () + local heldItem = player:getHeldItem(not player:isLeftHanded()) + local hasGlint = false + for _, gunItem in ipairs(self.gunItems) do + if gunItem == heldItem.id and heldItem:hasGlint() then + models.models.main.Avatar.UpperBody.Body.Gun:setSecondaryRenderType("GLINT") + hasGlint = true + break + end + end + if not hasGlint then + models.models.main.Avatar.UpperBody.Body.Gun:setSecondaryRenderType("NONE") + end + end, "left_gun_tick") + end + if self.parent.characterData.gun.gunPosition.hold.type == "NORMAL" then + self.parent.arms:setArmState(2, 1) + elseif self.parent.characterData.gun.gunPosition.hold.type == "CUSTOM" then + animations["models.main"]["gun_hold_right"]:stop() + animations["models.main"]["gun_hold_left"]:play() + end + models.models.main.Avatar.UpperBody.Body.Gun:setVisible(true) + models.models.main.Avatar.UpperBody.Body.Gun:setParentType("Item") + if not client:isPaused() then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.flintandsteel.use"), player:getPos(), 1, 2) + end + end + self.currentGunPosition = gunPosition + end; + + ---銃ティックを処理する。 + ---@param self Gun + processGunTick = function (self) + if not self.isGunTickProcessed then + local heldItems = {} + if player:getPose() ~= "SLEEPING" and self.parent.exSkill.animationCount == -1 then + heldItems.mainHand = player:getHeldItem(false) + heldItems.offHand = player:getHeldItem(true) + else + heldItems.mainHand = world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air")) + heldItems.offHand = world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air")) + end + local targetItemFound = false + local isLeftHanded = player:isLeftHanded() + if heldItems.mainHand.id ~= self.heldItemsPrev.mainHand.id or heldItems.offHand.id ~= self.heldItemsPrev.offHand.id or isLeftHanded ~= self.isLeftHandedPrev then + for _, gunItem in ipairs(self.gunItems) do + if heldItems.mainHand.id == gunItem then + --メインハンドに対象アイテムを持つ + targetItemFound = true + if isLeftHanded then + if self.currentGunPosition ~= "LEFT" then + self:setGunPosition("LEFT") + end + else + if self.currentGunPosition ~= "RIGHT" then + self:setGunPosition("RIGHT") + end + end + break + end + end + if not targetItemFound then + for _, gunItem in ipairs(self.gunItems) do + if heldItems.offHand.id == gunItem then + --オフハンドに対象アイテムを持つ + targetItemFound = true + if isLeftHanded then + if self.currentGunPosition ~= "RIGHT" then + self:setGunPosition("RIGHT") + end + else + if self.currentGunPosition ~= "LEFT" then + self:setGunPosition("LEFT") + end + end + break + end + end + end + if not targetItemFound then + --対象アイテムは持たない + if self.currentGunPosition ~= "NONE" then + self:setGunPosition("NONE") + end + end + if isLeftHanded ~= self.leftHandedPrev then + if self.currentGunPosition == "NONE" then + self:setBodyGunPos() + end + if self.parent.characterData.gun.callbacks ~= nil and self.parent.characterData.gun.callbacks.onMainHandChange ~= nil then + self.parent.characterData.gun.callbacks.onMainHandChange(self.parent.characterData, isLeftHanded and "LEFT" or "RIGHT") + end + self.isLeftHandedPrev = isLeftHanded + end + self.heldItemsPrev = heldItems + end + self.isGunTickProcessed = true + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/head_block.lua b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/head_block.lua new file mode 100644 index 0000000..72bce44 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/head_block.lua @@ -0,0 +1,33 @@ +---@class (exact) HeadBlock : HeadModelGenerator 頭ブロックのモデルを制御するクラス +---@field package forceGenerateCount integer 強制的に頭ブロックを生成するまでのカウンター。これが発火するのはアバタープレイヤーがオフラインの時のみ。 + +HeadBlock = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return HeadBlock + new = function (parent) + ---@type HeadBlock + local instance = Avatar.instantiate(HeadBlock, HeadModelGenerator, parent) + + instance.processData = instance.parent.characterData.headBlock + instance.parentName = "head_block" + instance.parentType = "Skull" + instance.forceGenerateCount = 2 + + return instance + end; + + ---初期化関数 + ---@param self HeadBlock + init = function (self) + HeadModelGenerator.init(self) + + events.WORLD_TICK:register(function () + self.forceGenerateCount = self.forceGenerateCount - 1 + if self.forceGenerateCount == 0 then + self:generateHeadModel() + events.WORLD_TICK:remove("head_block_world_tick") + end + end, "head_block_world_tick") + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/head_model_generator.lua b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/head_model_generator.lua new file mode 100644 index 0000000..76b2ab7 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/head_model_generator.lua @@ -0,0 +1,85 @@ +---@class (exact) HeadModelGenerator : AvatarModule 頭のモデルの生成を含む抽象クラス +---@field public processData BlueArchiveCharacter.HeadBlockStruct 頭モデルを生成する過程で参照するデータ +---@field public parentName string モデルを生成する名前空間 +---@field public parentType ModelPart.parentType コピーした頭モデルに適用する親タイプ +---@field public generateHeadModel fun(self: HeadModelGenerator) 頭モデルのコピーを生成する +---@field package isScriptLoaded boolean スクリプトが全てロードされているかどうか + +HeadModelGenerator = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return HeadModelGenerator + new = function (parent) + ---@type HeadModelGenerator + local instance = Avatar.instantiate(HeadModelGenerator, AvatarModule, parent) + + instance.isScriptLoaded = false + + return instance + end; + + ---初期化関数 + ---@param self HeadModelGenerator + init = function (self) + AvatarModule.init(self) + + ---@diagnostic disable-next-line: discard-returns + models:newPart("script_"..self.parentName, "None") + + self.parent.avatarEvents.SCRIPT_INIT:register(function () + self.isScriptLoaded = true + end) + end; + + ---頭モデルのコピーを生成する。 + ---@param self HeadModelGenerator + generateHeadModel = function (self) + --既存の頭ブロックのモデルを削除する。 + if models["script_"..self.parentName].Head ~= nil then + models["script_"..self.parentName].Head:remove() + end + + --ヘルメットを着けている場合は外しておく。 + local isHelmetVisible = self.isScriptLoaded and self.parent.armor.isArmorVisible.helmet or false + if isHelmetVisible then + self.parent.armor:setHelmet(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + + if self.isScriptLoaded then + self.parent.physics:disable() + end + if self.processData.callbacks ~= nil and self.processData.callbacks.onBeforeModelCopy ~= nil then + self.processData.callbacks.onBeforeModelCopy(self.parent.characterData, self.isScriptLoaded) + end + + --現在の衣装を基に新たな頭ブロックのモデルを生成する。 + local copiedPart = self.parent.modelUtils:copyModel(models.models.main.Avatar.Head) + if copiedPart ~= nil then + models["script_"..self.parentName]:addChild(copiedPart) + models["script_"..self.parentName].Head:setParentType(self.parentType) + models["script_"..self.parentName].Head:setPos(0, -24, 0) + models["script_"..self.parentName].Head.HeadRing:setRot(self.parent.headRing.initialHaloRot) + models["script_"..self.parentName].Head.HeadRing:setLight(15) + for _, modelPart in ipairs({models["script_"..self.parentName].Head.FaceParts.Eyes.EyeRight, models["script_"..self.parentName].Head.FaceParts.Eyes.EyeLeft}) do + modelPart:setUVPixels() + end + for _, modelPart in ipairs(self.processData.includeModels) do + local copiedIncludePart = self.parent.modelUtils:copyModel(modelPart) + if copiedIncludePart ~= nil then + models["script_"..self.parentName].Head:addChild(copiedIncludePart) + end + end + end + + --非表示にしたモデルを元に戻す。 + if isHelmetVisible then + self.parent.armor:setHelmet(self.parent.armor.armorSlotItems[1]) + end + if self.isScriptLoaded then + self.parent.physics:enable() + end + if self.processData.callbacks ~= nil and self.processData.callbacks.onAfterModelCopy ~= nil then + self.processData.callbacks.onAfterModelCopy(self.parent.characterData, self.isScriptLoaded) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/head_ring.lua b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/head_ring.lua new file mode 100644 index 0000000..315489c --- /dev/null +++ b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/head_ring.lua @@ -0,0 +1,79 @@ +---@class (exact) HeadRing : AvatarModule ヘイロー(頭の輪っか)を制御するクラス +---@field public initialHaloRot number ヘイローの初期角度 +---@field package headRotData number[] 一定期間内の頭の角度を保持するテーブル +---@field package headRotAverage number[] 頭の角度の移動平均値 +---@field package floatCount integer ヘイローが上下するアニメーションのカウンター + +HeadRing = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return HeadRing + new = function (parent) + ---@type HeadRing + local instance = Avatar.instantiate(HeadRing, AvatarModule, parent) + + instance.initialHaloRot = models.models.main.Avatar.Head.HeadRing:getRot().x + instance.haloRotPrev = instance.initialHaloRot + instance.headRotData = {} + instance.headRotAverage = {0, 0} + instance.floatCount = 0 + + return instance + end; + + ---初期化関数 + ---@param self HeadRing + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + if not client:isPaused() then + --移動平均値の算出 + local headRot = self.parent.exSkill.animationCount > -1 and models.models.main.Avatar.Head:getAnimRot().x or math.deg(math.asin(player:getLookDir().y)) + local headRotAverage = self.headRotAverage[2] + headRotAverage = (#self.headRotData * headRotAverage + headRot) / (#self.headRotData + 1) + table.insert(self.headRotData, headRot) + --古いデータの切り捨て + if #self.headRotData > 5 then + headRotAverage = (#self.headRotData * headRotAverage - self.headRotData[1]) / (#self.headRotData - 1) + table.remove(self.headRotData, 1) + end + table.insert(self.headRotAverage, headRotAverage) + table.remove(self.headRotAverage, 1) + end + end) + + events.WORLD_TICK:register(function () + if not client:isPaused() then + self.floatCount = self.floatCount + 1 + self.floatCount = self.floatCount == 80 and 0 or self.floatCount + end + end) + + events.RENDER:register(function (delta) + if not client:isPaused() then + --ヘイローの位置・角度を設定 + local playerPose = player:getPose() + local headRot = self.parent.physics.getValueBetweenTicks(self.headRotAverage, delta) + local floatOffset = math.sin((self.floatCount + delta) / 80 * 2 * math.pi) * 0.25 + if playerPose == "SWIMMING" or playerPose == "FALL_FLYING" then + models.models.main.Avatar.Head.HeadRing:setPos(self.parent.physics.velocityAverage[3][2] * 3, math.cos(math.rad(headRot)) * self.parent.physics.velocityAverage[1][2] * -1 + math.sin(math.rad(headRot)) * self.parent.physics.velocityAverage[2][2] * -1 + floatOffset, math.cos(math.rad(headRot)) * self.parent.physics.velocityAverage[2][2] * -3 + math.sin(math.rad(headRot)) * self.parent.physics.velocityAverage[1][2]) + else + models.models.main.Avatar.Head.HeadRing:setPos(self.parent.physics.velocityAverage[3][2] * -3, math.cos(math.rad(headRot)) * self.parent.physics.velocityAverage[2][2] * -1 + math.sin(math.rad(headRot)) * self.parent.physics.velocityAverage[1][2] + floatOffset, math.cos(math.rad(headRot)) * self.parent.physics.velocityAverage[1][2] * 3 + math.sin(math.rad(headRot)) * self.parent.physics.velocityAverage[2][2]) + end + if self.parent.deathAnimation.dummyAvatarRoot ~= nil then + self.parent.deathAnimation.dummyAvatarRoot.Head.HeadRing:setPos(0, floatOffset, 0) + end + models.models.main.Avatar.Head.HeadRing:setRot(headRot - (self.parent.exSkill.animationCount > -1 and models.models.main.Avatar.Head:getAnimRot().x or math.deg(math.asin(player:getLookDir().y))) + self.initialHaloRot, 0, 0) + end + end) + + events.WORLD_RENDER:register(function (delta) + if not client:isPaused() and models.script_head_block.Head ~= nil and models.script_head_block.Head.HeadRing ~= nil then + models.script_head_block.Head.HeadRing:setPos(0, math.sin((self.floatCount + delta) / 80 * 2 * math.pi) * 0.25, 0) + end + end) + + models.models.main.Avatar.Head.HeadRing:setLight(15) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/hypixel_zombies.lua b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/hypixel_zombies.lua new file mode 100644 index 0000000..5d3df84 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/hypixel_zombies.lua @@ -0,0 +1,85 @@ +---@class (exact) HypixelZombies : AvatarModule Hypixelの「Zombies」にアバターを対応させるパッチ +---@field package isEnabled boolean Zombiesモードが有効かどうか +---@field package damagerPercentPrev number[] 前ティック以前のツールの耐久度割合 +---@field public enable fun(self: HypixelZombies) Zombiesモードを有効にする +---@field public disable fun(self: HypixelZombies) Zombiesモードを無効にする + +HypixelZombies = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return HypixelZombies + new = function (parent) + ---@type HypixelZombies + local instance = Avatar.instantiate(HypixelZombies, AvatarModule, parent) + + instance.isEnabled = false + instance.damagerPercentPrev = {1, 1} + + return instance + end; + + ---Zombiesモードを有効にする。 + ---@param self HypixelZombies + enable = function (self) + if not self.isEnabled then + self.parent.gun.gunItems = {"minecraft:bow", "minecraft:crossbow", "minecraft:wooden_hoe", "minecraft:stone_hoe", "minecraft:iron_hoe", "minecraft:wooden_shovel", "minecraft:stone_shovel", "minecraft:shears", "minecraft:diamond_hoe", "minecraft:golden_hoe", "minecraft:iron_shovel", "minecraft:diamond_pickaxe", "minecraft:golden_pickaxe", "minecraft:golden_shovel", "minecraft:flint_and_steel"} + + events.TICK:register(function () + local heldItem = player:getHeldItem() + local maxDamage = heldItem:getMaxDamage() + local damagePercent = (maxDamage - heldItem:getDamage()) / maxDamage + if maxDamage > 0 then + if damagePercent - self.damagerPercentPrev[1] > 0 and damagePercent - self.damagerPercentPrev[1] <= 0.2 then + if self.parent.bubble.bubbleCount == 0 then + self.parent.bubble:play("RELOAD", -1, vectors.vec2(), 0, false) + end + elseif self.parent.bubble.emoji == "RELOAD" then + self.parent.bubble:stop() + end + table.insert(self.damagerPercentPrev, damagePercent) + else + if self.parent.bubble.emoji == "RELOAD" then + self.parent.bubble:stop() + end + table.insert(self.damagerPercentPrev, 1) + end + table.remove(self.damagerPercentPrev, 1) + end, "hypixel_zombies_tick") + + if host:isHost() then + print(self.parent.locale:getLocale("avatar.zombies_mode.enable")) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.lightning_bolt.thunder"), player:getPos(), 0.5, 2) + end + + self.isEnabled = true + elseif host:isHost() then + print(self.parent.locale:getLocale("avatar.zombies_mode.already_enabled")) + end + end; + + ---Zombiesモードを無効にする。 + ---@param self HypixelZombies + disable = function (self) + if self.isEnabled then + events.TICK:remove("hypixel_zombies_tick") + self.parent.gun.gunItems = {"minecraft:bow", "minecraft:crossbow"} + + if host:isHost() then + print(self.parent.locale:getLocale("avatar.zombies_mode.disable")) + end + elseif host:isHost() then + print(self.parent.locale:getLocale("avatar.zombies_mode.already_disabled")) + end + self.isEnabled = false + end +} + +---Zombiesモードを有効にする。 +function pings.enableZombiesMode() + AvatarInstance.hypixelZombies:enable() +end + +---Zombiesモードを無効にする。 +function pings.disableZombiesMode() + AvatarInstance.hypixelZombies:disable() +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/key_manager.lua b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/key_manager.lua new file mode 100644 index 0000000..e1cac33 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/key_manager.lua @@ -0,0 +1,45 @@ +---@class (exact) KeyManager : AvatarModule アバターのキー割り当てを管理するクラス。ここで管理する割り当ては設定で変更された場合はそれが保存される。 +---@field public keyMappings {[string]: Keybind} キーの割り当てのテーブル +---@field public register fun(self: KeyManager, assignName: string, keyName: Minecraft.keyCode): Keybind キー割り当てを登録する + +KeyManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return KeyManager + new = function (parent) + ---@type KeyManager + local instance = Avatar.instantiate(KeyManager, AvatarModule, parent) + + instance.keyMappings = {} + + return instance + end; + + ---初期化関数 + ---@param self KeyManager + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + events.TICK:register(function () + for key, value in pairs(self.keyMappings) do + if not value:isDefault() then + local newKey = value:getKey() + self.parent.config:saveConfig("PRIVATE", "keybind."..key, newKey) + value:setKey(newKey) + end + end + end) + end + end; + + ---キー割り当てを登録する。 + ---@param self KeyManager + ---@param assignName string 割り当ての名前 + ---@param keyName Minecraft.keyCode 割当先のキー + ---@return Keybind assignedKey キーマネージャーによって登録がされたキーバインド + register = function (self, assignName, keyName) + self.keyMappings[assignName] = keybinds:newKeybind(self.parent.locale:getLocale("key_name."..assignName), self.parent.config:loadConfig("PRIVATE", "keybind."..assignName, keyName)) + return self.keyMappings[assignName] + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/locale.lua b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/locale.lua new file mode 100644 index 0000000..b2675ce --- /dev/null +++ b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/locale.lua @@ -0,0 +1,118 @@ +---@alias Locale.Language +---| "en_us" # 英語(米国) +---| "ja_jp" # 日本語 + +---@class (exact) Locale : AvatarModule アバターの表示言語を管理するクラス +---@field public localeData {[Locale.Language]: {[string]: string}} 言語データ +---@field public getLocale fun(self: Locale, key: string): string 翻訳キーに対する訳文を返す。設定言語が存在しない場合は英語の文が返される。また、指定したキーの訳が無い場合は英語->キーそのままが返される。 + +Locale = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Locale + new = function (parent) + ---@type Locale + local instance = Avatar.instantiate(Locale, AvatarModule, parent) + + instance.localeData = { + en_us = {}; + ja_jp = {}; + } + + ---言語データのリスト + ---1. キー名, 2. 英語(米国), 3. 日本語 + local localeStrings = { + {"avatar.old_version_warning", "For the best experience, playing with 1.20.1 or higher is recommended!", "生徒さんとより良い時間を過ごすためにバージョン1.20.1以上でのプレイをおすすめします!"}; + {"avatar.zombies_mode.enable", "Enabled Zombies mode.", "Zombiesモードを有効にしました。"}; + {"avatar.zombies_mode.already_enabled", "Already enabled Zombies mode.", "Zombiesモードは既に有効化されています。"}; + {"avatar.zombies_mode.disable", "Disabled Zombies mode.", "Zombiesモードを無効にしました。"}; + {"avatar.zombies_mode.already_disabled", "Already disabled Zombies mode.", "Zombiesモードは既に無効化されています。"}; + {"action_wheel.toggle_off", "off", "オフ"}; + {"action_wheel.toggle_on", "on", "オン"}; + {"action_wheel.main.action_1.title", "Change costume: ", "衣装を変更:"}; + {"action_wheel.main.action_1.unavailable", "There is no costume available.", "利用可能な衣装はありません。"}; + {"action_wheel.main.action_1.done_first", "Changed costume to §b", "衣装を§b"}; + {"action_wheel.main.action_1.done_last", "§r.", "§rに変更しました。"}; + {"action_wheel.main.action_2.title", "Change display name: ", "表示名を変更:"}; + {"action_wheel.main.action_2.title_2", "Show club name: ", "部活名を表示:"}; + {"action_wheel.main.action_2.done_first", "Changed display name to §b", "表示名を§b"}; + {"action_wheel.main.action_2.done_last", "§r.", "§rに変更しました。"}; + {"action_wheel.main.action_3.title", "Show armors: ", "防具を表示:"}; + {"action_wheel.main.action_4.title", "Show weapon models in first person: ", "一人称視点で武器モデルを表示:"}; + {"action_wheel.main.action_5.title", "Amount of particles in Ex skill frame: ", "Exスキルフレームのパーティクルの量:"}; + {"action_wheel.main.action_5.option_1", "Standard", "標準"}; + {"action_wheel.main.action_5.option_2", "Minimum", "少なめ"}; + {"action_wheel.main.action_5.option_3", "None", "なし"}; + {"action_wheel.main.action_5.option_4", "Hide Ex skill frame", "スキルフレーム非表示"}; + {"action_wheel.main.action_5.done_first", "Changed amount of particles in Ex skill frame to§b", "Exスキルフレームのパーティクルの量を§b"}; + {"action_wheel.main.action_5.done_last", "§r.", "§rに変更しました。"}; + {"action_wheel.main.action_6.title", "Replace vehicle models: ", "乗り物のモデルを置き換え:"}; + {"action_wheel.main.action_6.unavailable", "This option is unavailable for this character.", "この生徒さんでは利用できません。"}; + {"action_wheel.main.action_7.title_1", "Check for new FBAC Updates ", "FBACアップデートの確認"}; + {"action_wheel.main.action_7.title_2", "(Left-click)", "(左クリック)"}; + {"action_wheel.main.action_7.title_3", "Copy URL for the latest FBAC ", "最新FBACバージョンのURLをコピー"}; + {"action_wheel.main.action_7.title_4", "(Right-click)", "(右クリック)"}; + {"action_wheel.main.action_7.networking_api", "To enable update checking, you need to allow Figura's Networking and put \"api.github.com\" in the Network Filter from Figura settings!", "アップデート確認機能を有効にするにはFiguraの設定より、FiguraのNetworkingの使用を許可し、\"api.github.com\"を許可リストに入れる必要があります!"}; + {"action_wheel.main.action_7.ongoing", "Checking for updates is ongoing. Please DO NOT click repeatedly!", "現在アップデートの確認中です。連打しないでください!"}; + {"action_wheel.main.action_7.copied", "Coped the link to the latest FBAC to your clipboard. Please open the link in your browser.", "最新のFBACへのリンクをクリップボードにコピーしました。ブラウザでリンクを開いてください。"}; + {"action_wheel.main.action_7.cannot_check_latest", "Cannot get the link because cannot check the latest FBAC.", "FBACの最新バージョンを確認できないため、リンクを取得できません。"}; + {"action_wheel.gui.bubble_guide.title", "§0Bubble emote guide", "§0吹き出しエモートガイド"}; + {"action_wheel.gui.ex_skill_guide.title", "§0Ex skill guide", "§0Exスキルガイド"}; + {"action_wheel.gui.ex_skill_guide.key_pre", "Press \"", "\""}; + {"action_wheel.gui.ex_skill_guide.key_post", "\"key to play", "\"キーで再生"}; + {"action_wheel.gui.update_check.checking", "Checking for updates...", "アップデートを確認中..."}; + {"action_wheel.gui.update_check.latest", "No FBAC update available", "最新のFBACを使用中です"}; + {"action_wheel.gui.update_check.update_available", "New FBAC update is available: ", "FBACのアップデートが利用可能です:"}; + {"action_wheel.gui.update_check.error_not_allowed", "Failed to check for updates - Networking API not allowed", "アップデート確認失敗 - ネットワーキング機能が不許可"}; + {"action_wheel.gui.update_check.error_network_err", "Failed to check for updates - Network error", "アップデート確認失敗 - ネットワークエラー"}; + {"action_wheel.gui.update_check.error_request_failed", "Failed to check for updates - Request failure ", "アップデート確認失敗 - リクエスト失敗 "}; + {"action_wheel.gui.update_check.error_invalid_json_syntax", "Failed to check for updates - Json parsing failure", "アップデート確認失敗 - リクエスト解析失敗"}; + {"action_wheel.gui.update_check.error_invalid_json", "Failed to check for updates - Unexpected Request", "アップデート確認失敗 - 予期しないリクエスト"}; + {"key_name.ex_skill", "Ex Skill", "Exスキル"}; + {"key_name.ex_skill_sub", "Sub Ex Skill", "サブExスキル"}; + {"key_name.bubble_1", "Bubble: Good", "吹き出し:いいね"}; + {"key_name.bubble_2", "Bubble: Heart", "吹き出し:ハート"}; + {"key_name.bubble_3", "Bubble: Note", "吹き出し:音符"}; + {"key_name.bubble_4", "Bubble: Question", "吹き出し:はてな"}; + {"key_name.bubble_5", "Bubble: Sweat", "吹き出し:汗"}; + {"key_bind.ex_skill.unavailable", "You cannot do this now.", "今は再生できません。"}; + {"key_bind.ex_skill.unavailable_firstperson", "You cannot do this in first person perspective.", "一人称視点では再生できません。"}; + } + + for _, localeSet in ipairs(localeStrings) do + instance.localeData.en_us[localeSet[1]] = localeSet[2] + instance.localeData.ja_jp[localeSet[1]] = localeSet[3] + end + + return instance + end; + + ---初期化関数 + ---@param self Locale + init = function (self) + AvatarModule.init(self) + + self.localeData.en_us["nameplate.club_name"] = self.parent.characterData.basic.clubName.en_us + self.localeData.ja_jp["nameplate.club_name"] = self.parent.characterData.basic.clubName.ja_jp + + if host:isHost() then + for index, exSkill in ipairs(self.parent.characterData.exSkill) do + self.localeData.en_us["action_wheel.gui.ex_skill_guide.ex_skill_"..index..".name"] = exSkill.name.en_us + self.localeData.ja_jp["action_wheel.gui.ex_skill_guide.ex_skill_"..index..".name"] = exSkill.name.ja_jp + end + for _, costume in ipairs(self.parent.characterData.costume.costumes) do + self.localeData.en_us["costume."..costume.name] = costume.displayName.en_us + self.localeData.ja_jp["costume."..costume.name] = costume.displayName.ja_jp + end + end + end; + + ---翻訳キーに対する訳文を返す。設定言語が存在しない場合は英語の文が返される。また、指定したキーの訳が無い場合は英語->キーそのままが返される。 + ---@param self Locale + ---@param key string 翻訳キー + ---@return string translatedString 翻訳キーに対する翻訳データ。設定言語での翻訳が存在しない場合は英文が返される。英文すら存在しない場合は翻訳キーがそのまま返される。 + getLocale = function (self, key) + local activeLanguage = client:getActiveLang() + return (self.localeData[activeLanguage] ~= nil and self.localeData[activeLanguage][key] ~= nil) and self.localeData[activeLanguage][key] or (self.localeData.en_us[key] and self.localeData.en_us[key] or key) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/nameplate.lua b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/nameplate.lua new file mode 100644 index 0000000..1db7e24 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/nameplate.lua @@ -0,0 +1,77 @@ +---@class (exact) Nameplate : AvatarModule プレイヤーの表示名を制御するクラス +---@field public currentName integer 現在の表示名:1. プレイヤー名, 2. 名のみ(英語), 3. 名のみ(日本語), 4. 名性(英語), 5. 性名(英語), 6. 性名(日本語) +---@field public shouldShowClubName boolean 部活名を表示するかどうか +---@field package localePrev string 前ティックの設定言語 +---@field public getName fun(self: Nameplate, typeId: integer): string 指定されたtypeIdでの表示名を返す +---@field public setName fun(self: Nameplate, typeId: integer, shouldShowClubName: boolean) 入力された設定で表示名を設定する + +Nameplate = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Nameplate + new = function (parent) + ---@type Nameplate + local instance = Avatar.instantiate(Nameplate, AvatarModule, parent) + + instance.currentName = instance.parent.config:loadConfig("PRIVATE", "name", 1) + instance.shouldShowClubName = instance.parent.config:loadConfig("PRIVATE", "showClubName", false) + instance.localePrev = client:getActiveLang() + + return instance + end; + + ---指定されたtypeIdでの表示名を返す。 + ---@param self Nameplate + ---@param typeId integer 表示名の種類:1. プレイヤー名, 2. 名のみ(英語), 3. 名のみ(日本語), 4. 名性(英語), 5. 性名(英語), 6. 性名(日本語) + ---@return string displayName 指定されたtypeIdでの表示名 + getName = function (self, typeId) + local displayName = typeId == 1 and player:getName() or ((typeId == 2 or typeId == 4) and self.parent.characterData.basic.firstName.en_us or (typeId == 5 and self.parent.characterData.basic.lastName.en_us or (typeId == 3 and self.parent.characterData.basic.firstName.ja_jp or self.parent.characterData.basic.lastName.ja_jp))) + if typeId >= 4 then + displayName = displayName.." "..(typeId == 4 and self.parent.characterData.basic.lastName.en_us or (typeId == 5 and self.parent.characterData.basic.firstName.en_us or self.parent.characterData.basic.firstName.ja_jp)) + end + return displayName + end; + + ---入力された設定で表示名を設定する。 + ---@param self Nameplate + ---@param typeId integer 表示名の種類:1. プレイヤー名, 2. 名のみ(英語), 3. 名のみ(日本語), 4. 名性(英語), 5. 性名(英語), 6. 性名(日本語) + ---@param shouldShowClubName boolean 部活名を表示するかどうか + setName = function (self, typeId, shouldShowClubName) + local date = client:getDate() + local displayName = self:getName(typeId)..((typeId >= 2 and date.month == self.parent.characterData.basic.birth.month and date.day == self.parent.characterData.basic.birth.day) and " :cake:" or "") + nameplate.ALL:setText(displayName) + if typeId >= 2 and shouldShowClubName then + nameplate.ENTITY:setText(displayName.."\n§7"..self.parent.locale:getLocale("nameplate.club_name")) + end + self.currentName = typeId + self.shouldShowClubName = shouldShowClubName + end; + + ---初期化関数 + ---@param self Nameplate + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + local locale = client:getActiveLang() + if locale ~= self.localePrev then + if self.shouldShowClubName then + self:setName(self.currentName, true) + end + self.localePrev = locale + end + end) + + events.RENDER:register(function (delta, context) + if context ~= "PAPERDOLL" then + nameplate.ENTITY:setPivot(self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.UpperBody.Body.NameplateAnchor):sub(player:getPos(delta)):add(0, self.parent.barrier.isBarrierVisible and 1.095 or 0.895, 0)) + else + nameplate.ENTITY:setPivot() + end + end) + + if self.currentName >= 2 then + self:setName(self.currentName, self.shouldShowClubName) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/physics.lua b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/physics.lua new file mode 100644 index 0000000..0b17e3f --- /dev/null +++ b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/physics.lua @@ -0,0 +1,199 @@ +---@class (exact) Physics : AvatarModule 物理演算を制御するクラス +---@field public velocityData number[][] 速度データ:1. 頭前後, 2. 上下, 3. 頭左右, 4. 頭角速度, 5. 体前後, 6. 体左右, 7. 体角速度 +---@field public velocityAverage number[][] 速度の平均値:1. 頭前後, 2. 上下, 3. 頭左右, 4. 頭角速度, 5. 体前後, 6. 体左右, 7. 体角速度 +---@field package directionPrev number[] 前ティックのdirectionテーブル +---@field public getValueBetweenTicks fun(tickData: number[], delta: number): number 2つのティックデータの間からレンダーのデルタ値を加味した値を返す +---@field package decomposeHorizontalVelocity fun(self: Physics, direction: number, index: integer): number, number, number 速度を指定された方向から見て前後方向、左右方向に分解する +---@field package getPhysicRot fun(self: Physics, physicData: BlueArchiveCharacter.PhysicCoreData, delta: number): number 物理演算で計算した角度を返す +---@field public enable fun(self: Physics) 物理演算を初期化し、有効にする +---@field public disable fun(self: Physics) 物理演算を無効にする。物理演算で管理していたモデルの回転をリセットする + +Physics = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Physics + new = function (parent) + ---@type Physics + local instance = Avatar.instantiate(Physics, AvatarModule, parent) + + instance.velocityData = {{}, {}, {}, {}, {}, {}, {}} + instance.velocityAverage = {{0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}} + instance.directionPrev = {} + + return instance + end; + + ---2つのティックデータの間からレンダーのデルタ値を加味した値を返す。 + ---@param tickData number[] ティックデータ:1. 前ティック, 2. 現ティック + ---@param delta number デルタ値 + ---@return number deltaValue 2つのティックデータの間からデルタ値で補完した値 + getValueBetweenTicks = function (tickData, delta) + return tickData[1] + (tickData[2] - tickData[1]) * delta + end; + + ---速度を指定された方向から見て前後方向、左右方向に分解する。 + ---@param self Physics + ---@param direction number 基準にする方向 + ---@param index integer データ管理用のインデックス番号(呼び出しの度に異なるインデックス番号になるようにする) + ---@return number velocityFront 指定された方向から見た前後方向の速度 + ---@return number velocityRight 指定された方向から見た左右方向の速度 + ---@return number velocityRot 指定された方向を基準とした角速度 + decomposeHorizontalVelocity = function (self, direction, index) + local velocity = player:getVelocity() + if self.directionPrev[index] == nil then + self.directionPrev[index] = 0 + end + local velocityRot = math.deg(math.atan2(velocity.z, velocity.x)) + velocityRot = velocityRot < 0 and 360 + velocityRot or velocityRot + local directionAbsFront = math.abs(velocityRot - (direction) % 360) + directionAbsFront = directionAbsFront > 180 and 360 - directionAbsFront or directionAbsFront + local directionAbsRight = math.abs(velocityRot - (direction + 90) % 360) + directionAbsRight = directionAbsRight > 180 and 360 - directionAbsRight or directionAbsRight + local directionDelta = direction - self.directionPrev[index] + directionDelta = directionDelta > 180 and (360 - directionDelta) * 20 or (directionDelta < -180 and (360 + directionDelta) * 20 or directionDelta * 20) + self.directionPrev[index] = direction + return math.sqrt(velocity.x ^ 2 + velocity.z ^ 2) * math.cos(math.rad(directionAbsFront)), math.sqrt(velocity.x ^ 2 + velocity.z ^ 2) * math.cos(math.rad(directionAbsRight)), directionDelta + end; + + ---物理演算で計算した角度を返す。 + ---@param self Physics + ---@param physicData BlueArchiveCharacter.PhysicCoreData 物理演算データ + ---@param delta number デルタ値 + ---@return number physicDirection 物理演算で計算したモデルの角度 + getPhysicRot = function (self, physicData, delta) + local rot = physicData.neutral + local waterMultiplayer = player:isUnderwater() and 2 or 1 + if physicData.headX ~= nil then + rot = rot + math.clamp(self.getValueBetweenTicks(self.velocityAverage[1], delta) * physicData.headX.multiplayer * waterMultiplayer, physicData.headX.min - physicData.neutral, physicData.headX.max - physicData.neutral) + end + if physicData.headZ ~= nil then + rot = rot + math.clamp(self.getValueBetweenTicks(self.velocityAverage[3], delta) * physicData.headZ.multiplayer * waterMultiplayer, physicData.headZ.min - physicData.neutral, physicData.headZ.max - physicData.neutral) + end + if physicData.headRot ~= nil then + rot = rot + math.clamp(math.abs(self.getValueBetweenTicks(self.velocityAverage[4], delta)) * -1 * physicData.headRot.multiplayer, physicData.headRot.min - physicData.neutral, physicData.headRot.max - physicData.neutral) + end + if physicData.bodyX ~= nil then + rot = rot + math.clamp(self.getValueBetweenTicks(self.velocityAverage[5], delta) * physicData.bodyX.multiplayer * waterMultiplayer, physicData.bodyX.min - physicData.neutral, physicData.bodyX.max - physicData.neutral) + end + if physicData.bodyY ~= nil then + rot = rot + math.clamp(self.getValueBetweenTicks(self.velocityAverage[2], delta) * physicData.bodyY.multiplayer * waterMultiplayer, physicData.bodyY.min - physicData.neutral, physicData.bodyY.max - physicData.neutral) + end + if physicData.bodyZ ~= nil then + rot = rot + math.clamp(self.getValueBetweenTicks(self.velocityAverage[player:getVehicle() == nil and 6 or 3], delta) * physicData.bodyZ.multiplayer * waterMultiplayer, physicData.bodyZ.min - physicData.neutral, physicData.bodyZ.max - physicData.neutral) + end + if physicData.bodyRot ~= nil then + rot = rot + math.clamp(-math.abs(self.getValueBetweenTicks(self.velocityAverage[7], delta)) * physicData.bodyRot.multiplayer, physicData.bodyRot.min - physicData.neutral, physicData.bodyRot.max - physicData.neutral) + end + rot = math.clamp(rot, physicData.min, physicData.max) + if physicData.headRotMultiplayer ~= nil then + rot = rot + math.deg(math.asin(player:getLookDir().y)) * physicData.headRotMultiplayer + end + if physicData.sneakOffset ~= nil and player:isCrouching() then + rot = rot + physicData.sneakOffset + end + return rot + end; + + ---物理演算を初期化し、有効にする。 + ---@param self Physics + enable = function (self) + self.velocityData = {{}, {}, {}, {}, {}, {}, {}} + self.velocityAverage = {{0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}} + self.directionPrev = {} + + if events.TICK:getRegisteredCount("physics_tick") == 0 then + events.TICK:register(function () + if not client:isPaused() then + local lookDir = player:getLookDir() + local velocityHeadFront, velocityHeadRight, velocityHeadRot = self:decomposeHorizontalVelocity(math.deg(math.atan2(lookDir.z, lookDir.x)), 1) + local velocityAverage = {self.velocityAverage[1][2], self.velocityAverage[2][2], self.velocityAverage[3][2], self.velocityAverage[4][2], self.velocityAverage[5][2], self.velocityAverage[6][2], self.velocityAverage[7][2]} + local velocityY = player:getVelocity().y + velocityAverage[1] = (#self.velocityData[1] * velocityAverage[1] + velocityHeadFront) / (#self.velocityData[1] + 1) + table.insert(self.velocityData[1], velocityHeadFront) + velocityAverage[2] = (#self.velocityData[2] * velocityAverage[2] + velocityY) / (#self.velocityData[2] + 1) + table.insert(self.velocityData[2], velocityY) + velocityAverage[3] = (#self.velocityData[3] * velocityAverage[3] + velocityHeadRight) / (#self.velocityData[3] + 1) + table.insert(self.velocityData[3], velocityHeadRight) + velocityAverage[4] = (#self.velocityData[4] * velocityAverage[4] + velocityHeadRot) / (#self.velocityData[4] + 1) + table.insert(self.velocityData[4], velocityHeadRot) + local velocityBodyFront, velocityBodyRight, velocityBodyRot = self:decomposeHorizontalVelocity((player:getBodyYaw() + models.models.main.Avatar.UpperBody:getTrueRot().y - 90) % 360 - 180, 2) + velocityAverage[5] = (#self.velocityData[5] * velocityAverage[5] + velocityBodyFront) / (#self.velocityData[5] + 1) + table.insert(self.velocityData[5], velocityBodyFront) + velocityAverage[6] = (#self.velocityData[6] * velocityAverage[6] + velocityBodyRight) / (#self.velocityData[6] + 1) + table.insert(self.velocityData[6], velocityBodyRight) + velocityAverage[7] = (#self.velocityData[7] * velocityAverage[7] + velocityBodyRot) / (#self.velocityData[7] + 1) + table.insert(self.velocityData[7], velocityBodyRot) + --古いデータの切り捨て + for index, velocityTable in ipairs(self.velocityData) do + if #velocityTable > 5 then + velocityAverage[index] = (#velocityTable * velocityAverage[index] - velocityTable[1]) / (#velocityTable - 1) + table.remove(velocityTable, 1) + end + table.insert(self.velocityAverage[index], velocityAverage[index]) + table.remove(self.velocityAverage[index], 1) + end + end + end, "physics_tick") + + events.RENDER:register(function (delta) + local playerPose = player:getPose() + local isHorizontal = playerPose == "SWIMMING" or playerPose == "FALL_FLYING" + + for _, physicData in ipairs(self.parent.characterData.physics.physicData) do + for _, modelPart in ipairs(physicData.models) do + if modelPart:getVisible() then + local rot = vectors.vec3() + if physicData.x ~= nil then + if isHorizontal and physicData.x.horizontal then + rot.x = self:getPhysicRot(physicData.x.horizontal, delta) + elseif not isHorizontal and physicData.x.vertical then + rot.x = self:getPhysicRot(physicData.x.vertical, delta) + end + end + if physicData.y ~= nil then + if isHorizontal and physicData.y.horizontal then + rot.y = self:getPhysicRot(physicData.y.horizontal, delta) + elseif not isHorizontal and physicData.y.vertical then + rot.y = self:getPhysicRot(physicData.y.vertical, delta) + end + end + if physicData.z ~= nil then + if isHorizontal and physicData.z.horizontal then + rot.z = self:getPhysicRot(physicData.z.horizontal, delta) + elseif not isHorizontal and physicData.z.vertical then + rot.z = self:getPhysicRot(physicData.z.vertical, delta) + end + end + modelPart:setRot(rot) + if self.parent.characterData.physics.callbacks ~= nil and self.parent.characterData.physics.callbacks.onPhysicPerformed ~= nil then + self.parent.characterData.physics.callbacks.onPhysicPerformed(self.parent.characterData, modelPart) + end + end + end + end + end, "physics_render") + end + end; + + ---物理演算を無効にする。物理演算で管理していたモデルの回転をリセットする。 + ---@param self Physics + disable = function (self) + events.TICK:remove("physics_tick") + events.RENDER:remove("physics_render") + for _, physicData in ipairs(self.parent.characterData.physics.physicData) do + local initialRot = vectors.vec3() + if physicData.x ~= nil and physicData.x.vertical ~= nil then + initialRot.x = physicData.x.vertical.neutral + end + if physicData.y ~= nil and physicData.y.vertical ~= nil then + initialRot.y = physicData.y.vertical.neutral + end + if physicData.z ~= nil and physicData.z.vertical ~= nil then + initialRot.z = physicData.z.vertical.neutral + end + for _, modelPart in ipairs(physicData.models) do + modelPart:setRot(initialRot) + end + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/placement_object/placement_object.lua b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/placement_object/placement_object.lua new file mode 100644 index 0000000..ee9151d --- /dev/null +++ b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/placement_object/placement_object.lua @@ -0,0 +1,231 @@ +---@class (exact) PlacementObject : SpawnObject 単一の設置物を管理するクラス +---@field package object ModelPart インスタンスで制御するオブジェクト +---@field public index integer 設置物データのインデックス番号。設置物のデータを参照するときに使用する。 +---@field package boundingBox Vector3 設置物の当たり判定 +---@field package gravity number この設置物に働く重力の大きさ +---@field package hasFireResistance boolean この設置物に炎耐性を付けるかどうか +---@field public removeReason PlacementObjectManager.RemoveReason この設置物のインスタンスが破棄される理由 +---@field package modelOffsetPos Vector3 設置物"モデル"の位置オフセット値 +---@field package offsetPos Vector3 設置物の中心座標のオフセット値 +---@field public currentPos Vector3 設置物の現在位置 +---@field package nextPos Vector3 設置物の次ティックの位置 +---@field package fallingSpeed number 設置物の落下速度 +---@field package isOnGround boolean 設置物が接地しているかどうか +---@field public new fun(parent: Avatar, model: ModelPart, index: integer, data: BlueArchiveCharacter.PlacementObjectStruct, pos: Vector3, rot: number): PlacementObject コンストラクター + +PlacementObject = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@param index integer 設置物データのインデックス番号。設置物のデータを参照するときに使用する。 + ---@param pos Vector3 設置物を設置するワールド座標 + ---@param rot number 設置物のワールド方向 + ---@return PlacementObject + new = function (parent, index, pos, rot) + ---@type PlacementObject + local instance = Avatar.instantiate(PlacementObject, SpawnObject, parent) + + instance.index = index + instance.object = instance.parent.characterData.placementObjects[instance.index].placementMode == "COPY" and instance.parent.characterData.placementObjects[instance.index].model:copy(instance.uuid) or instance.parent.characterData.placementObjects[instance.index].model + instance.boundingBox = instance.parent.characterData.placementObjects[instance.index].boundingBox.size:copy():scale(0.0625) + instance.gravity = instance.parent.characterData.placementObjects[instance.index].gravity ~= nil and instance.parent.characterData.placementObjects[instance.index].gravity or 1 + instance.hasFireResistance = instance.parent.characterData.placementObjects[instance.index].hasFireResistance ~= nil and instance.parent.characterData.placementObjects[instance.index].hasFireResistance or false + instance.removeReason = "REMOVED_BY_SCRIPTS" + instance.modelOffsetPos = vectors.vec3() + instance.offsetPos = vectors.vec3() + instance.currentPos = pos + instance.nextPos = instance.currentPos + instance.fallingSpeed = 0 + instance.isOnGround = false + + instance.callbacks = { + ---@param self PlacementObject + onInit = function (self) + if self.parent.characterData.placementObjects[self.index].placementMode == "COPY" then + models.script_placement_object:addChild(self.object) + end + local objectOffset = vectors.vec3() + if self.parent.characterData.placementObjects[self.index].boundingBox.offsetPos ~= nil then + objectOffset = self.parent.characterData.placementObjects[self.index].boundingBox.offsetPos:copy():scale(-0.0625) + end + if self.gravity >= 0 then + self.modelOffsetPos = objectOffset:copy():add(0, 0.075, 0) + else + self.modelOffsetPos = objectOffset:copy():add(0, -0.075, 0) + end + --self.objectModel:setPos(self.currentPos:copy():add(self.modelOffsetPos):scale(16)) + self.object:setRot(0, rot, 0) + self.object:setVisible(true) + if self.parent.characterData.placementObjects[self.index].callbacks ~= nil and self.parent.characterData.placementObjects[self.index].callbacks.onInit ~= nil then + self.parent.characterData.placementObjects[self.index].callbacks.onInit(self.parent.characterData, self) + end + end; + + ---@param self PlacementObject + onDeinit = function (self) + if self.parent.characterData.placementObjects[self.index].placementMode == "COPY" then + models.script_placement_object:removeChild(self.object) + self.object:remove() + else + self.object:setVisible(false) + end + if self.parent.characterData.placementObjects[self.index].callbacks ~= nil and self.parent.characterData.placementObjects[self.index].callbacks.onDeinit ~= nil then + self.parent.characterData.placementObjects[self.index].callbacks.onDeinit(self.parent.characterData, self) + end + end; + + ---@param self PlacementObject + onTick = function (self) + --設置物の位置を強制更新 + self.currentPos = self.nextPos + self.object:setPos(self.currentPos:copy():add(self.modelOffsetPos):scale(16)) + + --当たり判定同士が重複しているか確認 + local boundingBoxStartPos = vectors.vec3(self.currentPos.x - self.boundingBox.x / 2, self.currentPos.y, self.currentPos.z - self.boundingBox.z / 2) + local boundingBoxEndPos = vectors.vec3(self.currentPos.x + self.boundingBox.x / 2, self.currentPos.y + self.boundingBox.y, self.currentPos.z + self.boundingBox.z / 2) + local boundingBoxCenter = boundingBoxEndPos:copy():sub(boundingBoxStartPos):scale(0.5):add(boundingBoxStartPos) + for z = math.floor(boundingBoxStartPos.z), math.floor(boundingBoxEndPos.z) do + for y = math.floor(boundingBoxStartPos.y), math.floor(boundingBoxEndPos.y) do + for x = math.floor(boundingBoxStartPos.x), math.floor(boundingBoxEndPos.x) do + for _, collisionBox in ipairs( world.getBlockState(x, y, z):getCollisionShape()) do + local collisionStartPos = collisionBox[1]:copy():add(x, y, z) + local collisionEndPos = collisionBox[2]:copy():add(x, y, z) + local collisionBoxCenter = collisionStartPos:copy():add(collisionEndPos:copy():sub(collisionStartPos):scale(0.5)) + if math.abs(collisionBoxCenter.x - boundingBoxCenter.x) < ((collisionEndPos.x - collisionStartPos.x) + (boundingBoxEndPos.x - boundingBoxStartPos.x)) / 2 and math.abs(collisionBoxCenter.y - boundingBoxCenter.y) < ((collisionEndPos.y - collisionStartPos.y) + (boundingBoxEndPos.y - boundingBoxStartPos.y)) / 2 and math.abs(collisionBoxCenter.z - boundingBoxCenter.z) < ((collisionEndPos.z - collisionStartPos.z) + (boundingBoxEndPos.z - boundingBoxStartPos.z)) / 2 then + self.removeReason = "OVERLAPPED" + self.shouldDeinit = true + return + end + end + end + end + end + + --落下速度を更新 + local fluidTags = world.getBlockState(self.currentPos):getFluidTags() + if fluidTags[2] == "c:water" then + if self.gravity >= 0 then + self.fallingSpeed = math.max(self.fallingSpeed - 0.1 * self.gravity, 0.1 * self.gravity) + else + self.fallingSpeed = math.min(self.fallingSpeed - 0.1 * self.gravity, 0.1 * self.gravity) + end + elseif fluidTags[2] == "c:lava" then + if self.gravity >= 0 then + self.fallingSpeed = math.max(self.fallingSpeed - 0.1 * self.gravity, 0.02 * self.gravity) + else + self.fallingSpeed = math.min(self.fallingSpeed - 0.1 * self.gravity, 0.02 * self.gravity) + end + else + if self.gravity >= 0 then + self.fallingSpeed = math.min(self.fallingSpeed + 0.035 * self.gravity, 3.575 * self.gravity) + else + self.fallingSpeed = math.max(self.fallingSpeed + 0.035 * self.gravity, 3.575 * self.gravity) + end + end + self.nextPos = self.currentPos:copy():add(0, self.fallingSpeed * -1, 0) + + --現ティックと次ティックから直方体を算出 + local nextBoxStartPos = vectors.vec3() + local nextBoxEndPos = vectors.vec3() + if self.gravity >= 0 then + nextBoxStartPos = vectors.vec3(self.currentPos.x - self.boundingBox.x / 2, math.min(self.currentPos.y, self.currentPos.y - self.fallingSpeed), self.currentPos.z - self.boundingBox.z / 2) + nextBoxEndPos = vectors.vec3(self.currentPos.x + self.boundingBox.x / 2, math.max(self.currentPos.y, self.currentPos.y - self.fallingSpeed), self.currentPos.z + self.boundingBox.z / 2) + else + nextBoxStartPos = vectors.vec3(self.currentPos.x - self.boundingBox.x / 2, math.min(self.currentPos.y, self.currentPos.y - self.fallingSpeed) + self.boundingBox.y, self.currentPos.z - self.boundingBox.z / 2) + nextBoxEndPos = vectors.vec3(self.currentPos.x + self.boundingBox.x / 2, math.max(self.currentPos.y, self.currentPos.y - self.fallingSpeed) + self.boundingBox.y, self.currentPos.z + self.boundingBox.z / 2) + end + local nextBoxCenter = nextBoxStartPos:copy():add(nextBoxEndPos:copy():sub(nextBoxStartPos):scale(0.5)) + + --直方体と重なるブロック座標を全て算出 + local collisionDetected = false + if self.gravity >= 0 then + local collisionYPos = math.floor(nextBoxStartPos.y) + for y = math.floor(nextBoxEndPos.y), math.floor(nextBoxStartPos.y) - 1, -1 do + for z = math.floor(nextBoxStartPos.z), math.floor(nextBoxEndPos.z) do + for x = math.floor(nextBoxStartPos.x), math.floor(nextBoxEndPos.x) do + for _, collisionBox in ipairs( world.getBlockState(x, y, z):getCollisionShape()) do + local collisionStartPos = collisionBox[1]:copy():add(x, y, z) + local collisionEndPos = collisionBox[2]:copy():add(x, y, z) + local collisionBoxCenter = collisionStartPos:copy():add(collisionEndPos:copy():sub(collisionStartPos):scale(0.5)) + if math.abs(collisionBoxCenter.x - nextBoxCenter.x) < ((collisionEndPos.x - collisionStartPos.x) + (nextBoxEndPos.x - nextBoxStartPos.x)) / 2 and math.abs(collisionBoxCenter.y - nextBoxCenter.y) < ((collisionEndPos.y - collisionStartPos.y) + (nextBoxEndPos.y - nextBoxStartPos.y)) / 2 and math.abs(collisionBoxCenter.z - nextBoxCenter.z) < ((collisionEndPos.z - collisionStartPos.z) + (nextBoxEndPos.z - nextBoxStartPos.z)) / 2 then + if collisionEndPos.y > self.nextPos.y then + self.nextPos.y = collisionEndPos.y + collisionYPos = y + self.fallingSpeed = 0 + collisionDetected = true + end + end + end + end + end + if y == collisionYPos - 1 then + break + end + end + else + local collisionYPos = math.floor(nextBoxEndPos.y) + for y = math.floor(nextBoxStartPos.y), math.floor(nextBoxEndPos.y), 1 do + for z = math.floor(nextBoxStartPos.z), math.floor(nextBoxEndPos.z) do + for x = math.floor(nextBoxStartPos.x), math.floor(nextBoxEndPos.x) do + for _, collisionBox in ipairs( world.getBlockState(x, y, z):getCollisionShape()) do + local collisionStartPos = collisionBox[1]:copy():add(x, y, z) + local collisionEndPos = collisionBox[2]:copy():add(x, y, z) + local collisionBoxCenter = collisionStartPos:copy():add(collisionEndPos:copy():sub(collisionStartPos):scale(0.5)) + if math.abs(collisionBoxCenter.x - nextBoxCenter.x) < ((collisionEndPos.x - collisionStartPos.x) + (nextBoxEndPos.x - nextBoxStartPos.x)) / 2 and math.abs(collisionBoxCenter.y - nextBoxCenter.y) < ((collisionEndPos.y - collisionStartPos.y) + (nextBoxEndPos.y - nextBoxStartPos.y)) / 2 and math.abs(collisionBoxCenter.z - nextBoxCenter.z) < ((collisionEndPos.z - collisionStartPos.z) + (nextBoxEndPos.z - nextBoxStartPos.z)) / 2 then + if collisionStartPos.y < self.nextPos.y + self.boundingBox.y then + self.nextPos.y = collisionStartPos.y - self.boundingBox.y + collisionYPos = y + self.fallingSpeed = 0 + collisionDetected = true + end + end + end + end + end + if y == collisionYPos + 1 then + break + end + end + end + if collisionDetected and not self.isOnGround and self.parent.characterData.placementObjects[self.index].callbacks ~= nil and self.parent.characterData.placementObjects[self.index].callbacks.onGround ~= nil then + self.parent.characterData.placementObjects[self.index].callbacks.onGround(self.parent.characterData, self) + end + self.isOnGround = collisionDetected + local nextBlock = world.getBlockState(self.nextPos) + local isNextBlockFire = false + for _, tag in ipairs(nextBlock:getTags()) do + if tag == "minecraft:fire" then + isNextBlockFire = true + break + end + end + if self.nextPos.y < -128 then + self.removeReason = "TOO_LOW" + self.shouldDeinit = true + elseif self.nextPos.y > 384 then + self.removeReason = "TOO_HIGH" + self.shouldDeinit = true + elseif not self.hasFireResistance and (nextBlock:getFluidTags()[2] == "c:lava" or isNextBlockFire) then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.fire.extinguish"), self.nextPos) + for _ = 0, self.boundingBox.x * self.boundingBox.y * self.boundingBox.z * 8 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:smoke"), vectors.vec3(self.nextPos.x + math.random() * self.boundingBox.x - self.boundingBox.x / 2, self.nextPos.y + math.random() * self.boundingBox.y, self.nextPos.z + math.random() * self.boundingBox.z - self.boundingBox.z / 2)) + end + self.removeReason = "BURNT" + self.shouldDeinit = true + end + if self.parent.characterData.placementObjects[self.index].callbacks ~= nil and self.parent.characterData.placementObjects[self.index].callbacks.onTick ~= nil then + self.parent.characterData.placementObjects[self.index].callbacks.onTick(self.parent.characterData, self) + end + end; + + ---@param self PlacementObject + onRender = function (self, delta, context) + self.object:setPos(self.nextPos:copy():sub(self.currentPos):scale(delta):add(self.currentPos):add(self.modelOffsetPos):scale(16)) + if self.parent.characterData.placementObjects[self.index].callbacks ~= nil and self.parent.characterData.placementObjects[self.index].callbacks.onRender ~= nil then + self.parent.characterData.placementObjects[self.index].callbacks.onRender(self.parent.characterData, self) + end + end + } + + return instance + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/placement_object/placement_object_manager.lua b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/placement_object/placement_object_manager.lua new file mode 100644 index 0000000..eee06b5 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/placement_object/placement_object_manager.lua @@ -0,0 +1,87 @@ +---設置物の設置モードの列挙型 +---@alias PlacementObjectManager.PlacementMode +---| "COPY" # コピーモード。BBアニメーションは使えないが、複数の設置物を設置可能。 +---| "MOVE" # 移動モード。同時に1つしか設置物を設置できないが、BBアニメーションが使える。 + +---設置物が削除された理由の列挙型 +---@alias PlacementObjectManager.RemoveReason +---| "REMOVED_BY_SCRIPTS" # スクリプトによって削除 +---| "OVERLAPPED" # 設置物がブロックと重なって削除 +---| "BURNT" # 炎に焼かれて削除 +---| "TOO_LOW" # 設置物のY座標が低過ぎて削除 +---| "TOO_HIGH" # 設置物のY座標が高過ぎて削除 + +---@class (exact) PlacementObjectManager : SpawnObjectManager 設置物を管理するマネージャークラス +---@field public objects PlacementObject[] インスタンスで制御するオブジェクト +---@field public getObject fun(self: PlacementObjectManager, index: integer, pos: Vector3, rot: number): PlacementObject 設置物のインスタンスを生成して返す +---@field public spawn fun(self: PlacementObjectManager, index: integer, pos: Vector3, rot: number) 設置物を設置する +---@field public applyFunc fun(self: PlacementObjectManager, index: integer, func: fun(object: PlacementObject, i: integer)) 設置済み設置物の指定した設置物データのインデックス番号のみに関数を適用する + +PlacementObjectManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return PlacementObjectManager + new = function (parent) + ---@type PlacementObjectManager + local instance = Avatar.instantiate(PlacementObjectManager, SpawnObjectManager, parent) + + instance.managerName = "placement_object" + + return instance + end; + + ---初期化関数 + ---@param self PlacementObjectManager + init = function (self) + SpawnObjectManager.init(self) + + ---@diagnostic disable-next-line: discard-returns + models:newPart("script_placement_object", "World") + for _, data in ipairs(self.parent.characterData.placementObjects) do + if data.placementMode == "MOVE" then + data.model = data.model:moveTo(models.script_placement_object) + data.model:setVisible(false) + end + end + end; + + + ---設置物のインスタンスを生成して返す。 + ---@param self PlacementObjectManager + ---@param index integer 設置物データのインデックス番号 + ---@param pos Vector3 設置物を設置するワールド座標 + ---@param rot number 設置物を設置するワールド方向(Y軸のみ) + ---@return PlacementObject instance 生成したインスタンス + getObject = function (self, index, pos, rot) + if self.parent.characterData.placementObjects[index].placementMode == "MOVE" then + for i, placementObject in ipairs(self.objects) do + if placementObject.index == index then + self:remove(i) + break + end + end + end + return PlacementObject.new(self.parent, index, pos, rot) + end; + + ---設置物を設置する。 + ---@param self PlacementObjectManager + ---@param index integer 設置物データのインデックス番号 + ---@param pos Vector3 設置物を設置するワールド座標 + ---@param rot number 設置物を設置するワールド方向(Y軸のみ) + spawn = function (self, index, pos, rot) + SpawnObjectManager.spawn(self, index, pos, rot) + end; + + ---設置済み設置物の、指定した設置物データのインデックス番号のみに関数を適用する。 + ---@param self PlacementObjectManager + ---@param index integer 関数実行対象の設置物データのインデックス番号 + ---@param func fun(object: PlacementObject, i: integer) 実行する関数 + applyFunc = function (self, index, func) + for i, obj in ipairs(self.objects) do + if obj.index == index then + func(obj, i) + end + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/portrait.lua b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/portrait.lua new file mode 100644 index 0000000..3d887aa --- /dev/null +++ b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/portrait.lua @@ -0,0 +1,32 @@ +---@class (exact) Portrait : HeadModelGenerator ポートレートのモデルを管理するクラス + +Portrait = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Portrait + new = function (parent) + ---@type Portrait + local instance = Avatar.instantiate(Portrait, HeadModelGenerator, parent) + + instance.processData = instance.parent.characterData.portrait + instance.parentName = "portrait" + instance.parentType = "Portrait" + + return instance + end; + + ---初期化関数 + ---@param self Portrait + init = function (self) + HeadModelGenerator.init(self) + end; + + ---頭モデルのコピーを生成する。 + ---@param self HeadBlock + generateHeadModel = function (self) + HeadModelGenerator.generateHeadModel(self) + if models.script_portrait.Head ~= nil then + models.script_portrait.Head.HeadRing:remove() + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/skirt.lua b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/skirt.lua new file mode 100644 index 0000000..48e97f8 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/skirt.lua @@ -0,0 +1,30 @@ +---@class Skirt : AvatarModule スカートを制御するクラス + +Skirt = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Skirt + new = function (parent) + ---@type Skirt + local instance = Avatar.instantiate(Skirt, AvatarModule, parent) + + return instance + end; + + ---初期化関数 + ---@param self AvatarModule + init = function (self) + AvatarModule.init(self) + + if self.parent.characterData.skirt.skirtModels ~= nil and #self.parent.characterData.skirt.skirtModels > 0 then + events.TICK:register(function () + local isCrouching = player:isCrouching() + for _, skirtModel in ipairs(self.parent.characterData.skirt.skirtModels) do + if skirtModel:getVisible() then + skirtModel:setRot(isCrouching and 30 or 0, 0, 0) + end + end + end) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/utils/compatibility_utils.lua b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/utils/compatibility_utils.lua new file mode 100644 index 0000000..3318d35 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/utils/compatibility_utils.lua @@ -0,0 +1,159 @@ +---レジストリの種類を示す列挙型 +---@alias CompatibilityUtils.RegistryType +---| "BLOCK" # ブロック名 +---| "ITEM" # アイテム名 +---| "PARTICLE" # パーティクル名 +---| "SOUND" # サウンド名 + +---@class (exact) CompatibilityUtils : AvatarModule Minecraftのゲームバージョンが異なっていてもある程度互換性を確保するためのユーティリティクラス +---@field package registries {block: Minecraft.blockID[], item: Minecraft.itemID[], particle: Minecraft.particleID[], sound: Minecraft.soundID[]} ゲームから取得した全アイテム名を保持するテーブル +---@field package checkedTable {block: {[Minecraft.blockID]: boolean}, item: {[Minecraft.itemID]: boolean}, particle: {[Minecraft.particleID]: boolean}, sound: {[Minecraft.soundID]: boolean}} レジストリへの確認が済んでいるIDを保持するテーブル +---@field package find fun(self: CompatibilityUtils, registryType: CompatibilityUtils.RegistryType, target: string): boolean 指定されたターゲットがレジストリに登録されているかどうかを返す。 +---@field public checkBlock fun(self: CompatibilityUtils, block: Minecraft.blockID): Minecraft.blockID 指定されたブロックIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:dirt"を返す。 +---@field public checkItem fun(self: CompatibilityUtils, item: Minecraft.itemID): Minecraft.itemID 指定されたアイテムIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:barrier"を返す。 +---@field public checkParticle fun(self: CompatibilityUtils, particle: Minecraft.particleID): Minecraft.particleID 指定されたパーティクルIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:poof"を返す。 +---@field public checkSound fun(self: CompatibilityUtils, sound: Minecraft.soundID): Minecraft.soundID 指定されたサウンドIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:empty"を返す。 +---@field public getBlockParticleId fun(block: Minecraft.blockID): string ブロックの破片のパーティクルを示す文字列を返す。Minecraftのバージョン違いを吸収するための関数。 +---@field public getDustParticleId fun(color: Vector3, size: number): string dustパーティクルを示す文字列を返す。Minecraftのバージョン違いを吸収するための関数。 + +CompatibilityUtils = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return CompatibilityUtils + new = function (parent) + ---@type CompatibilityUtils + local instance = Avatar.instantiate(CompatibilityUtils, AvatarModule, parent) + + instance.registries = {} + instance.checkedTable = { + block = {}; + item = {}; + particle = {}; + sound = {}; + } + + return instance + end; + + ---初期化関数 + ---@param self CompatibilityUtils + init = function (self) + AvatarModule.init(self) + + self.registries.block = client.getRegistry("minecraft:block") + self.registries.item = client.getRegistry("minecraft:item") + self.registries.particle = client.getRegistry("minecraft:particle_type") + self.registries.sound = client.getRegistry("minecraft:sound_event") + for name, _ in pairs(self.registries) do + table.sort(self.registries[name]) + end + self.checkedTable.block["minecraft:dirt"] = true + self.checkedTable.item["minecraft:barrier"] = true + self.checkedTable.particle["minecraft:poof"] = true + self.checkedTable.sound["minecraft:empty"] = true + if host:isHost() and client:getVersion() < "1.20.1" then + print(self.parent.locale:getLocale("avatar.old_version_warning")) + end + end; + + ---指定されたターゲットがレジストリに登録されているかどうかを返す。 + ---@param self CompatibilityUtils + ---@param registryType CompatibilityUtils.RegistryType 検索をかける対象のレジストリ + ---@param target string 検索対象名。"minecraft:"を抜かないこと。 + ---@return boolean idFound 指定されたターゲットがレジストリで見つかったかどうか + find = function (self, registryType, target) + ---リスト内の中央の要素(偶数の場合は中央から1つ左の要素)と指定されたターゲットのUnicode順を比較する。 + ---@param from integer リストの検索開始のインデックス番号 + ---@param to integer リストの検索終了のインスタンス番号(指定したインデックス番号の要素も検索に含む) + ---@return integer compareResult 比較結果。0は同じ文字列、1はターゲットの方が大きい、-1はターゲットの方が小さいことを表す。 + local function compareToCenterElement(from, to) + local centerIndex = math.floor((to - from) / 2) + from + if self.registries[registryType:lower()][centerIndex] < target then + return 1 + elseif self.registries[registryType:lower()][centerIndex] > target then + return -1 + else + return 0 + end + end + + local startIndex = 1 + local endIndex = #self.registries[registryType:lower()] + while startIndex < endIndex do + local compareResult = compareToCenterElement(startIndex, endIndex) + if compareResult == 1 then + startIndex = math.floor((endIndex - startIndex) / 2) + startIndex + 1 + elseif compareResult == -1 then + endIndex = math.floor((endIndex - startIndex) / 2) + startIndex + else + break + end + end + if startIndex == endIndex then + return compareToCenterElement(startIndex, endIndex) == 0 + else + return true + end + end; + + ---指定されたブロックIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:dirt"を返す。 + ---@param self CompatibilityUtils + ---@param block Minecraft.blockID 確認対象のブロックID + ---@param blockState string? ブロックステートを示す文字列 + ---@return Minecraft.blockID blockID レジストリに登録してある場合は確認対象のブロックIDをそのまま返し、未登録の場合は"minecraft:dirt"が返す。 + checkBlock = function (self, block, blockState) + if self.checkedTable.block[block] == nil then + self.checkedTable.block[block] = self:find("BLOCK", block) + end + local state = blockState ~= nil and blockState or "" + return self.checkedTable.block[block] and block..state or "minecraft:dirt" + end; + + ---指定されたアイテムIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:barrier"を返す。 + ---@param self CompatibilityUtils + ---@param item Minecraft.itemID 確認対象のアイテムID + ---@return Minecraft.itemID blockID レジストリに登録してある場合は確認対象のアイテムIDをそのまま返し、未登録の場合は"minecraft:barrier"が返す。 + checkItem = function (self, item) + if self.checkedTable.item[item] == nil then + self.checkedTable.item[item] = self:find("ITEM", item) + end + return self.checkedTable.item[item] and item or "minecraft:barrier" + end; + + ---指定されたパーティクルIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:poof"を返す。 + ---@param self CompatibilityUtils + ---@param particle Minecraft.particleID 確認対象のパーティクルID + ---@return Minecraft.particleID particleID レジストリに登録してある場合は確認対象のパーティクルIDをそのまま返し、未登録の場合は"minecraft:poof"が返す。 + checkParticle = function (self, particle) + if self.checkedTable.particle[particle] == nil then + self.checkedTable.particle[particle] = self:find("PARTICLE", particle) + end + return self.checkedTable.particle[particle] and particle or "minecraft:poof" + end; + + ---指定されたサウンドIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:empty"を返す。 + ---@param self CompatibilityUtils + ---@param sound Minecraft.soundID 確認対象のサウンドID + ---@return Minecraft.soundID particleID レジストリに登録してある場合は確認対象のサウンドIDをそのまま返し、未登録の場合は"minecraft:empty"が返す。 + checkSound = function (self, sound) + if self.checkedTable.sound[sound] == nil then + self.checkedTable.sound[sound] = self:find("SOUND", sound) + end + return self.checkedTable.sound[sound] and sound or "minecraft:empty" + end; + + ---ブロックの破片のパーティクルを示す文字列を返す。Minecraftのバージョン違いを吸収するための関数。 + ---@param block Minecraft.blockID ブロックの破片パーティクルとして表示するブロックのID。レジストリへの確認は行わない。 + ---@return string particleData ブロックの破片のパーティクルを示す文字列 + getBlockParticleId = function (block) + return client:getVersion() >= "1.20.5" and "minecraft:block{block_state:\""..block.."\"}" or "minecraft:block "..block + end; + + ---dustパーティクルを示す文字列を返す。Minecraftのバージョン違いを吸収するための関数。 + ---@param color Vector3 dustの色 + ---@param size number dustの大きさ + ---@return string particleData dustの破片のパーティクルを示す文字列 + getDustParticleId = function (color, size) + return client:getVersion() >= "1.20.5" and "minecraft:dust{color:["..color.x..","..color.y..","..color.z.."],scale:"..size.."}" or "minecraft:dust "..color.x.." "..color.y.." "..color.z.." "..size + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/utils/model_utils.lua b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/utils/model_utils.lua new file mode 100644 index 0000000..4208e9f --- /dev/null +++ b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/utils/model_utils.lua @@ -0,0 +1,59 @@ +---@class (exact) ModelUtils : AvatarModule モデルに関するユーティリティ関数群 +---@field public getModelWorldPos fun(model: ModelPart): Vector3 指定したモデルのワールド位置を返す。 +---@field public copyModel fun(self: ModelUtils, modelPart: ModelPart, name?: string, forceCopy?: boolean): ModelPart|nil モデルパーツをディープコピーする。 +---@field public copyModel fun(self: ModelUtils, modelPart: ModelPart, name?: string, forceCopy?: true): ModelPart モデルパーツをディープコピーする。 +---@field public moveTo fun(target: ModelPart, destination: ModelPart, originalParent: ModelPart) モデルパーツを別の親に移動させる。組み込みmoveTo()で何故かモデルパーツが残ってしまう問題に対処済み。 + +ModelUtils = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ModelUtils + new = function (parent) + ---@type ModelUtils + local instance = Avatar.instantiate(ModelUtils, AvatarModule, parent) + + return instance + end; + + ---指定したモデルのワールド位置を返す。 + ---@param model ModelPart ワールド位置を取得するモデルパーツ + ---@return Vector3 worldPos モデルのワールド位置 + getModelWorldPos = function(model) + local modelMatrix = model:partToWorldMatrix() + return vectors.vec3(modelMatrix[4][1], modelMatrix[4][2], modelMatrix[4][3]) + end; + + ---モデルパーツをディープコピーする。 + ---非表示のモデルパーツはコピーしない。 + ---@param modelPart ModelPart コピーするモデルパーツ + ---@param name? string コピーしたモデルパーツの名前。省略した際はコピー元と同じ名前になる。 + ---@param forceCopy? boolean 非表示のモデルも強制的にコピーするかどうか + ---@return ModelPart|nil copiedModelPart コピーされたモデルパーツ。入力されたモデルパーツが非表示の場合はnilが返る。 + copyModel = function (self, modelPart, name, forceCopy) + if modelPart:getVisible() or forceCopy then + local copy = modelPart:copy(name ~= nil and name or modelPart:getName()) + copy:setParentType("None") + for _, child in ipairs(copy:getChildren()) do + copy:removeChild(child) + local childModel = self:copyModel(child) + if childModel ~= nil then + copy:addChild(childModel) + end + end + return copy + end + end; + + ---モデルパーツを別の親に移動させる。 + ---組み込みmoveTo()で何故かモデルパーツが残ってしまう問題に対処済み。 + ---@param target ModelPart 移動させる対象のモデルパーツ + ---@param destination ModelPart 移動先の親 + ---@param originalParent ModelPart 移動元の親 + moveTo = function (target, destination, originalParent) + target:moveTo(destination) + local modelName = target:getName() + if originalParent[modelName] ~= nil then + originalParent:removeChild(target) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/utils/player_utils.lua b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/utils/player_utils.lua new file mode 100644 index 0000000..274c213 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/utils/player_utils.lua @@ -0,0 +1,35 @@ +---@alias PlayerUtils.DamageStatus +---| "NONE" # ダメージなし +---| "DAMAGE" # ダメージを受けた +---| "DIED" # 死亡した + +---@class (exact) PlayerUtils : AvatarModule プレイヤーに関するユーティリティ関数群 +---@field public damageStatus PlayerUtils.DamageStatus 現在のティックのダメージステータス +---@field package healthPrev integer 前ティックのHP量 + +PlayerUtils = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return PlayerUtils + new = function (parent) + ---@type PlayerUtils + local instance = Avatar.instantiate(PlayerUtils, AvatarModule, parent) + + instance.damageStatus = "NONE" + instance.healthPrev = player:getHealth() + + return instance + end; + + ---初期化関数 + ---@param self PlayerUtils + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + local health = player:getHealth() + self.damageStatus = self.healthPrev > health and (health == 0 and "DIED" or "DAMAGE") or "NONE" + self.healthPrev = health + end) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/utils/spawn_object.lua b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/utils/spawn_object.lua new file mode 100644 index 0000000..cf08811 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/utils/spawn_object.lua @@ -0,0 +1,26 @@ +---@class (exact) SpawnObject : AvatarModule オブジェクト(設置物、独自定義パーティクル、bbモデルetc.)クラス +---@field public object any インスタンスで制御するオブジェクト。ModelPartやRenderTaskを想定している。 +---@field public uuid string このインスタンスのUUID。オブジェクトの名前付けなどにどうぞ。 +---@field public shouldDeinit boolean このオブジェクトを破棄するかどうか。trueにするとオブジェクトが破棄され、その際に、onDeinit()コールバック関数が呼ばれる。 +---@field public callbacks? SpawnObject.CallbackSet スポーンオブジェクトのコールバック関数 + +---@class (exact) SpawnObject.CallbackSet スポーンオブジェクトのコールバック関数のセット +---@field public onInit? fun(self: SpawnObject) オブジェクトの初期化直後に呼ばれる関数 +---@field public onDeinit? fun(self: SpawnObject) オブジェクトの破棄直前に呼ばれる関数 +---@field public onTick? fun(self: SpawnObject) 各ティック毎に呼ばれる関数 +---@field public onRender? fun(self: SpawnObject, delta: number, context: Event.Render.context) 各レンダーティック毎に呼ばれる関数 + +SpawnObject = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return SpawnObject + new = function (parent) + ---@type SpawnObject + local instance = Avatar.instantiate(SpawnObject, AvatarModule, parent) + + instance.uuid = client.intUUIDToString(client.generateUUID()) + instance.shouldDeinit = false + + return instance + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/utils/spawn_object_manager.lua b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/utils/spawn_object_manager.lua new file mode 100644 index 0000000..3026820 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/utils/spawn_object_manager.lua @@ -0,0 +1,102 @@ +---@class (exact) SpawnObjectManager : AvatarModule オブジェクト(設置物、独自定義パーティクル、bbモデルetc.)をスポーンさせ、管理するマネージャークラス +---@field public managerName string このマネージャーの名前 +---@field public objects SpawnObject[] スポーンさせたオブジェクトを保持するテーブル +---@field public getObject fun(self: SpawnObjectManager): SpawnObject スポーンオブジェクトのインスタンスを生成して返す +---@field public spawn fun(self: SpawnObjectManager, ...: any) オブジェクトをスポーンさせる +---@field public remove fun(self: SpawnObjectManager, index: integer) オブジェクトを1つ削除する +---@field public removeAll fun(self: SpawnObjectManager) オブジェクトをすべて削除する + +SpawnObjectManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return SpawnObjectManager + new = function (parent) + ---@type SpawnObjectManager + local instance = Avatar.instantiate(SpawnObjectManager, AvatarModule, parent) + + instance.managerName = "spawn_object" + instance.objects = {} + + return instance + end; + + ---スポーンオブジェクトのインスタンスを生成して返す。 + ---@param self SpawnObjectManager + ---@return SpawnObject instance 生成したスポーンオブジェクト + getObject = function (self) + return SpawnObject.new(self.parent) + end; + + ---オブジェクトをスポーンさせる。 + ---@param self SpawnObjectManager + ---@param ... any インスタンス生成時の引数 + spawn = function (self, ...) + ---@diagnostic disable-next-line: redundant-parameter + local instance = self:getObject(...) + table.insert(self.objects, instance) + if instance.callbacks ~= nil and instance.callbacks.onInit ~= nil then + instance.callbacks.onInit(instance) + end + + if #self.objects == 1 then + events.TICK:register(function () + if not client:isPaused() then + for index, ins in ipairs(self.objects) do + if ins.callbacks ~= nil and ins.callbacks.onTick ~= nil then + ins.callbacks.onTick(ins) + end + if ins.shouldDeinit then + if ins.callbacks ~= nil and ins.callbacks.onDeinit ~= nil then + ins.callbacks.onDeinit(ins) + end + table.remove(self.objects, index) + if #self.objects == 0 then + events.TICK:remove(self.managerName.."_tick") + events.RENDER:remove(self.managerName.."_render") + end + end + end + end + end, self.managerName.."_tick") + + events.RENDER:register(function (delta, ctx) + if not client:isPaused() then + for _, ins in ipairs(self.objects) do + if ins.callbacks ~= nil and ins.callbacks.onRender ~= nil then + ins.callbacks.onRender(ins, delta, ctx) + end + end + end + end, self.managerName.."_render") + end + end; + + ---オブジェクトを1つ削除する。 + ---@param self SpawnObjectManager + ---@param index integer 削除するオブジェクトのインデックス番号 + remove = function (self, index) + if self.objects[index] ~= nil then + if self.objects[index].callbacks ~= nil and self.objects[index].callbacks.onDeinit ~= nil then + self.objects[index].callbacks.onDeinit(self.objects[index]) + end + table.remove(self.objects, index) + if #self.objects == 0 then + events.TICK:remove(self.managerName.."_tick") + events.RENDER:remove(self.managerName.."_render") + end + end + end; + + ---オブジェクトをすべて削除する。 + ---@param self SpawnObjectManager + removeAll = function (self) + while #self.objects > 0 do + if self.objects[1].callbacks ~= nil and self.objects[1].callbacks.onDeinit ~= nil then + self.objects[1].callbacks.onDeinit(self.objects[1]) + end + table.remove(self.objects, 1) + end + events.TICK:remove(self.managerName.."_tick") + events.RENDER:remove(self.managerName.."_render") + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/vanilla_model.lua b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/vanilla_model.lua new file mode 100644 index 0000000..2220732 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Iroha/scripts/avatar_modules/vanilla_model.lua @@ -0,0 +1,23 @@ +---@class (exact) VanillaModel : AvatarModule バニラーのモデルの管理クラス + +VanillaModel = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return VanillaModel + new = function (parent) + ---@type VanillaModel + local instance = Avatar.instantiate(VanillaModel, AvatarModule, parent) + + return instance + end; + + ---初期化関数 + ---@param self AvatarModule + init = function (self) + AvatarModule.init(self) + + for _, vanillaModel in ipairs({vanilla_model.PLAYER, vanilla_model.CHESTPLATE_RIGHT_ARM, vanilla_model.CHESTPLATE_LEFT_ARM, vanilla_model.LEGGINGS_RIGHT_LEG, vanilla_model.LEGGINGS_LEFT_LEG, vanilla_model.BOOTS}) do + vanillaModel:setVisible(false) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Iroha/scripts/blue_archive_character.lua b/config/yosbr/config/figura/avatars/Iroha/scripts/blue_archive_character.lua new file mode 100644 index 0000000..40f445b --- /dev/null +++ b/config/yosbr/config/figura/avatars/Iroha/scripts/blue_archive_character.lua @@ -0,0 +1,1120 @@ +---@alias BlueArchiveCharacter.RightEyeTextures +---| "NORMAL" # 通常 +---| "SURPRISED" # 驚いた目(ダメージを受けたときなど) +---| "TIRED" # 疲れた目(死亡アニメーションなど) +---| "CLOSED" # 閉じた目(瞬き、睡眠中など) +---| "CENTER" # 少し反対側を見る目 +---| "CLOSED2" # 閉じた目2 +---| "ANGRY" # 怒った目 + +---@alias BlueArchiveCharacter.LeftEyeTextures +---| "NORMAL" # 通常 +---| "SURPRISED" # 驚いた目(ダメージを受けたときなど) +---| "TIRED" # 疲れた目(死亡アニメーションなど) +---| "CLOSED" # 閉じた目(瞬き、睡眠中など) +---| "INVERTED" # 反対側を見る目 +---| "CLOSED2" # 閉じた目2 +---| "CENTER" # 少し反対側を見る目 +---| "ANGRY_INVERTED" # 怒りつつ、反対側を見る目 +---| "ANGRY" # 怒った目 + +---@alias BlueArchiveCharacter.MouthTextures +---| "NORMAL" # 通常 +---| "CLOSED" # 閉じた口 +---| "SMALL" # 小さく開いた口 +---| "SIGH" # ため息口 +---| "ANXIOUS" # への口 +---| "SMILE" # にっこり + +---@alias BlueArchiveCharacter.GunHoldType +---| "NORMAL" # バニラの弓やクロスボウの構え方と同じ +---| "CUSTOM" # BBアニメーション"[models.main][gun_hold_right]"と"[models.main][gun_hold_left]"で構え方を定義する + +---@alias BlueArchiveCharacter.GunPutType +---| "BODY" # アバターのBodyに銃を移動させる +---| "HIDDEN" # 銃を隠す + +---@alias BlueArchiveCharacter.FormationType +---| "STRIKER" # ストライカー(前衛) +---| "SPECIAL" # スペシャル(後方支援) + +---@alias BlueArchiveCharacter.Costumes +---| "DEFAULT" # デフォルト衣装 + +--[[ ******************************** ]] + +---@class BlueArchiveCharacter : AvatarModule キャラクター変数を保持するクラス。別のキャラクターに対してもここを変更するだけで対応できるようにする。 +---@field public basic BlueArchiveCharacter.BasicStruct 生徒の基本情報 +---@field public faceParts BlueArchiveCharacter.FacePartsStruct 目や口による表情 +---@field public arms BlueArchiveCharacter.ArmsStruct 腕 +---@field public skirt BlueArchiveCharacter.SkirtStruct スカート +---@field public gun BlueArchiveCharacter.GunStruct 銃 +---@field public placementObjects BlueArchiveCharacter.PlacementObjectStruct[] 設置物 +---@field public exSkill BlueArchiveCharacter.ExSkillStruct[] Exスキル +---@field public costume BlueArchiveCharacter.CostumeStruct コスチューム +---@field public bubble BlueArchiveCharacter.BubbleStruct 吹き出しエモート +---@field public headBlock BlueArchiveCharacter.HeadBlockStruct 頭ブロック +---@field public portrait BlueArchiveCharacter.HeadBlockStruct ポートレート +---@field public deathAnimation BlueArchiveCharacter.DeathAnimationStruct 死亡アニメーション +---@field public actionWheel BlueArchiveCharacter.ActionWheelStruct アクションホイール +---@field public physics BlueArchiveCharacter.PhysicsStruct 物理演算 +---@field public dataSync BlueArchiveCharacter.DataSyncStruct データ同期 + +--[[ ******************************** ]] + +---@class BlueArchiveCharacter.BasicStruct 生徒の基本情報のデータ構造体 +---@field public firstName BlueArchiveCharacter.LocaleStringSet 生徒の名前 +---@field public lastName BlueArchiveCharacter.LocaleStringSet 生徒の苗字 +---@field public clubName BlueArchiveCharacter.LocaleStringSet 生徒が所属している部活名 +---@field public birth BlueArchiveCharacter.MonthDaySet 生徒の誕生日 + +---@class BlueArchiveCharacter.FacePartsStruct 目や口による表情のデータ構造体。UVマッピング情報は、デフォルトパーツから見て左からx番目、上からy番目とする。 +---@field public rightEye {[BlueArchiveCharacter.RightEyeTextures]: Vector2} 右目のテクスチャのUVマッピング情報 +---@field public leftEye {[BlueArchiveCharacter.LeftEyeTextures]: Vector2} 左目のテクスチャのUVマッピング情報 +---@field public mouth {[BlueArchiveCharacter.MouthTextures]: Vector2} 口のテクスチャのUVマッピング情報 +---@field public emotionSet? BlueArchiveCharacter.OverrideEmotionSet 特定の状況における表情を上書きする + +---@class BlueArchiveCharacter.ArmsStruct 腕のデータ構造体 +---@field public callbacks? BlueArchiveCharacter.ArmsCallbacksSet 腕の制御のコールバック関数群 + +---@class BlueArchiveCharacter.SkirtStruct スカートのデータ構造体 +---@field public skirtModels? ModelPart[] スカートとして制御するモデル + +---@class BlueArchiveCharacter.GunStruct 銃のデータ構造体 +---@field public scale number 銃モデルの大きさの倍率 +---@field public gunPosition BlueArchiveCharacter.GunPositionSet 銃モデルの位置や向き +---@field public sound BlueArchiveCharacter.GunSoundSet 銃の射撃音 +---@field public callbacks? BlueArchiveCharacter.GunCallbacksSet 銃のコールバック関数 + +---@class BlueArchiveCharacter.PlacementObjectStruct 設置物のデータ構造体 +---@field public model ModelPart 設置物として扱うモデル +---@field public boundingBox BlueArchiveCharacter.PlacementObjectBoundingBoxSet 設置物の当たり判定 +---@field public placementMode PlacementObjectManager.PlacementMode 設置物の設置モード +---@field public gravity? number 設置物にかかる重力。1が標準的な自由落下。0で空中静止。負の数で反重力(上に向かって落ちる)。 +---@field public hasFireResistance? boolean 設置物に火炎耐性を付与するかどうか。trueにすると炎やマグマで焼かれなくなる。 +---@field public callbacks? BlueArchiveCharacter.PlacementObjectCallbacksSet 設置物のコールバック関数 + +---@class BlueArchiveCharacter.ExSkillStruct Exスキルのデータ構造体 +---@field public name BlueArchiveCharacter.LocaleStringSet Exスキルの名前 +---@field public formationType BlueArchiveCharacter.FormationType この生徒の戦闘配置タイプ +---@field public models ModelPart[] Exスキルアニメーション開始時に表示し、Exスキルアニメーション終了時に非表示にするモデルパーツ +---@field public animations string[] Exスキルアニメーションが含まれるモデルファイル名。アニメーション名は"ex_skill_"にすること。 +---@field public camera BlueArchiveCharacter.ExSkillCameraSet Exスキルアニメーション中のカメラワーク +---@field public callbacks? BlueArchiveCharacter.ExSkillCallbacks Exスキルのコールバック関数 + +---@class BlueArchiveCharacter.CostumeStruct コスチュームのデータ構造体 +---@field public costumes BlueArchiveCharacter.CostumeDataSet[] コスチュームデータ +---@field public callbacks? BlueArchiveCharacter.CostumeCallbacks コスチュームのコールバック関数 + +---@class BlueArchiveCharacter.BubbleStruct 吹き出しエモートのデータ構造体 +---@field public callbacks? BlueArchiveCharacter.BubbleCallbacks 吹き出しエモートのコールバック関数 + +---@class BlueArchiveCharacter.HeadBlockStruct 頭ブロック、ポートレートのデータ構造体 +---@field public includeModels ModelPart[] 頭モデルに追加でアタッチするモデル +---@field public callbacks? BlueArchiveCharacter.HeadBlockCallbacks 頭ブロック、ポートレートのコールバック関数 + +---@class BlueArchiveCharacter.DeathAnimationStruct 死亡アニメーションのデータ構造体 +---@field public callbacks? BlueArchiveCharacter.DeathAnimationCallbacks 死亡アニメーションのコールバック関数 + +---@class BlueArchiveCharacter.ActionWheelStruct アクションホイールのデータ構造体 +---@field public isVehicleOptionEnabled boolean 乗り物のモデル置き換えオプションを有効にするかどうか + +---@class BlueArchiveCharacter.PhysicsStruct 物理演算のデータ構造体 +---@field physicData BlueArchiveCharacter.PhysicDataSet[] 物理演算データ +---@field callbacks? BlueArchiveCharacter.PhysicCallbacks 物理演算のコールバック関数 + +---@class BlueArchiveCharacter.DataSyncStruct データ同期のデータ構造体 +---@field public syncData {[string]: any} 追加でping同期させるデータテーブル +---@field public callbacks? BlueArchiveCharacter.DataSyncCallbacks データ同期のコールバック関数 + +--[[ ******************************** ]] + +---@class (exact) BlueArchiveCharacter.OverrideEmotionSet 特定の状況における表情を上書きするセット +---@field public onDamage? BlueArchiveCharacter.EmotionSet ダメージを受けたとき +---@field public onDied? BlueArchiveCharacter.EmotionSet 死んだとき(死亡アニメーションは除外) +---@field public onSleep? BlueArchiveCharacter.EmotionSet ベッドで寝ているとき + +---@class (exact) BlueArchiveCharacter.EmotionSet 表情のデータセット +---@field public rightEye BlueArchiveCharacter.RightEyeTextures 右目の表情名 +---@field public leftEye BlueArchiveCharacter.LeftEyeTextures 左目の表情名 +---@field public mouth BlueArchiveCharacter.MouthTextures 口の表情名 + +---@class (exact) BlueArchiveCharacter.ArmsCallbacksSet 腕処理のコールバック関数のセット +---@field public onArmStateChanged? fun(self: BlueArchiveCharacter, right: integer, left: integer): {right?: integer, left?: integer}|nil 腕の状態が変更された際のコールバック関数 +---@field public onAdditionalRightArmProcess? fun(self: BlueArchiveCharacter, state: integer) 右腕の追加処理 +---@field public onAdditionalLeftArmProcess? fun(self: BlueArchiveCharacter, state: integer) 左腕の追加処理 + +---@class (exact) BlueArchiveCharacter.GunPositionSet 銃のモデルの位置や向きのデータセット +---@field public hold BlueArchiveCharacter.GunHoldPositionSet 銃を構えているとき +---@field public put BlueArchiveCharacter.GunPutPositionSet 銃をしまっているとき + +---@class (exact) BlueArchiveCharacter.GunHoldPositionSet 構えているときの銃のモデルの位置や向きのデータセット +---@field public type BlueArchiveCharacter.GunHoldType 銃の構え方の種類 +---@field public firstPersonPos? BlueArchiveCharacter.Vector3RightLeftSet 一人称視点での銃の位置 +---@field public firstPersonRot? BlueArchiveCharacter.Vector3RightLeftSet 一人称視点での銃の方向 +---@field public thirdPersonPos? BlueArchiveCharacter.Vector3RightLeftSet 三人称視点での銃の位置 +---@field public thirdPersonRot? BlueArchiveCharacter.Vector3RightLeftSet 三人称視点での銃の方向 + +---@class (exact) BlueArchiveCharacter.GunPutPositionSet しまっているときの銃のモデルの位置や向きのデータセット +---@field public type BlueArchiveCharacter.GunPutType 銃のしまい方の種類 +---@field public pos? BlueArchiveCharacter.Vector3RightLeftSet 一人称視点での銃の位置 +---@field public rot? BlueArchiveCharacter.Vector3RightLeftSet 一人称視点での銃の方向 + +---@class (exact) BlueArchiveCharacter.GunSoundSet 銃の音のデータセット +---@field public name Minecraft.soundID 銃の音として使用するゲームの音源名 +---@field public pitch number 音源の再生ピッチ(0.5~2) + +---@class (exact) BlueArchiveCharacter.GunCallbacksSet 銃のコールバック関数のセット +---@field public onMainHandChange? fun(self: BlueArchiveCharacter, direction: Gun.HandDirection) 利き手が変更されたときに呼び出される関数 + +---@class (exact) BlueArchiveCharacter.PlacementObjectBoundingBoxSet 設置物の当たり判定のデータセット +---@field public offsetPos? Vector3 設置物の底の中心点のオフセット位置(任意)。基準点は(0, 0, 0)。 +---@field public size? Vector3 当たり判定の大きさ。BlockBenchでのサイズの値をそのまま入力する。基準点はモデルの底面の中心。 + +---@class (exact) BlueArchiveCharacter.PlacementObjectCallbacksSet 設置物のコールバック関数のセット +---@field public onInit? fun(self: BlueArchiveCharacter, placementObject: PlacementObject) 設置物インスタンスが生成された直後に呼ばれる関数 +---@field public onDeinit? fun(self: BlueArchiveCharacter, placementObject: PlacementObject) 設置物インスタンスが破棄される直前に呼ばれる関数 +---@field public onTick? fun(self: BlueArchiveCharacter, placementObject: PlacementObject) 各ティック毎に呼ばれる関数 +---@field public onRender? fun(self: BlueArchiveCharacter, placementObject: PlacementObject) 各レンダーティック毎に呼ばれる関数 +---@field public onGround? fun(self: BlueArchiveCharacter, placementObject: PlacementObject) 設置物が接地した瞬間に呼ばれる関数 + +---@class (exact) BlueArchiveCharacter.ExSkillCameraSet Exスキルアニメーション中のカメラワークのセット +---@field public start BlueArchiveCharacter.ExSkillCameraPositionSet Exスキルアニメーション開始地点 +---@field public fin BlueArchiveCharacter.ExSkillCameraPositionSet Exスキルアニメーション終了地点 +---@field public fixMode? boolean カメラの補正モード。通常は無効だが、特定のキャラクターに対しては有効にしておく。 + +---@class (exact) BlueArchiveCharacter.ExSkillCameraPositionSet Exスキルアニメーション中のカメラワークの開始/終了地点の位置のデータセット +---@field public pos Vector3 カメラの位置 +---@field public rot Vector3 カメラの方向 + +---@class (exact) BlueArchiveCharacter.ExSkillCallbacks Exスキルのコールバック関数のセット +---@field public onPreTransition? fun(self: BlueArchiveCharacter) Exスキルアニメーション開始前のトランジション開始前に実行されるコールバック関数 +---@field public onPreAnimation? fun(self: BlueArchiveCharacter) Exスキルアニメーション開始前のトランジション終了後に実行されるコールバック関数 +---@field public onAnimationTick? fun(self: BlueArchiveCharacter, tick: integer) Exスキルアニメーション再生中のみ実行されるティック関数 +---@field public onPostAnimation? fun(self: BlueArchiveCharacter, forcedStop: boolean) Exスキルアニメーション終了後のトランジション開始前に実行されるコールバック関数 +---@field public onPostTransition? fun(self: BlueArchiveCharacter, forcedStop: boolean) Exスキルアニメーション終了後のトランジション終了後に実行されるコールバック関数 + +---@class BlueArchiveCharacter.CostumeDataSet コスチュームのデータセット +---@field public name string コスチュームの内部名 +---@field public displayName BlueArchiveCharacter.LocaleStringSet コスチュームの表示名 +---@field public exSkill integer コスチュームに対応するExスキルのインデックス番号 +---@field public subExSkill? integer コスチュームに対応するサブExスキルのインデックス番号 + +---@class (exact) BlueArchiveCharacter.CostumeCallbacks コスチュームのコールバック関数のセット +---@field public onChange? fun(self: BlueArchiveCharacter, costumeId: BlueArchiveCharacter.Costumes) 衣装が変更されたときに実行されるコールバック関数。デフォルトの衣装はここに含めない。 +---@field public onReset? fun(self: BlueArchiveCharacter) 衣装がリセットされたときに実行されるコールバック関数。あらゆる衣装からデフォルトの衣装へ推移できるようにする。 +---@field public onArmorChange? fun(self: BlueArchiveCharacter, parts: Armor.ArmorPart, isVisible: boolean) 防具が変更された(防具が見える/見えない)ときに実行されるコールバック関数 + +---@class (exact) BlueArchiveCharacter.BubbleCallbacks 吹き出しエモートのコールバック関数のセット +---@field public onPlay? fun(self: BlueArchiveCharacter, type: Bubble.BubbleType, duration: integer, showInGui: boolean) 吹き出しエモートが再生された時に実行されるコールバック関数 +---@field public onStop? fun(self: BlueArchiveCharacter, type: Bubble.BubbleType, forcedStop: boolean) 吹き出しアニメーション終了時に実行されるコールバック関数 + +---@class (exact) BlueArchiveCharacter.HeadBlockCallbacks 頭ブロックのコールバック関数のセット +---@field public onBeforeModelCopy? fun(self: BlueArchiveCharacter, isScriptLoaded: boolean) モデルのコピー直前に実行される関数 +---@field public onAfterModelCopy? fun(self: BlueArchiveCharacter, isScriptLoaded: boolean) モデルのコピー直後に実行される関数 + +---@class (exact) BlueArchiveCharacter.DeathAnimationCallbacks 死亡アニメーションのコールバック関数のセット +---@field public onPhase1? fun(self: BlueArchiveCharacter, dummyAvatar: ModelPart, costume: BlueArchiveCharacter.Costumes) 死亡アニメーションが再生された直後に実行される関数 +---@field public onPhase2? fun(self: BlueArchiveCharacter, dummyAvatar: ModelPart, costume: BlueArchiveCharacter.Costumes) ダミーアバターが縄ばしごにつかまった直後に実行される関数 +---@field public onBeforeModelCopy? fun(self: BlueArchiveCharacter, isScriptLoaded: boolean) モデルのコピー直前に実行される関数 +---@field public onAfterModelCopy? fun(self: BlueArchiveCharacter, isScriptLoaded: boolean) モデルのコピー直後に実行される関数 + +---@class (exact) BlueArchiveCharacter.PhysicDataSet 物理演算のデータセット +---@field public models ModelPart[] 物理演算の対象にするモデルパーツ +---@field public x? BlueArchiveCharacter.PhysicAxisData x軸のデータ +---@field public y? BlueArchiveCharacter.PhysicAxisData y軸のデータ +---@field public z? BlueArchiveCharacter.PhysicAxisData z軸のデータ + +---@class (exact) BlueArchiveCharacter.PhysicAxisData 物理演算の1軸のデータセット +---@field public vertical? BlueArchiveCharacter.PhysicCoreData 体が垂直方向である時(通常時)の物理演算データ +---@field public horizontal? BlueArchiveCharacter.PhysicCoreData 体が水平方向である時(水泳時、エリトラ飛行時)の物理演算データ + +---@class (exact) BlueArchiveCharacter.PhysicCoreData 物理演算のコアデータ +---@field public min number このモデルパーツ、回転軸の絶対的な回転の最小値(度) +---@field public neutral number このモデルパーツ、回転軸の中立の回転位置(度) +---@field public max number このモデルパーツ、回転軸の絶対的な回転の最大値(度) +---@field public sneakOffset? number スニーク時にこのモデルパーツの回転に加えられるオフセット値 +---@field public headRotMultiplayer? number 頭の縦方向の回転と共にこのモデルパーツの回転に加えられる値の倍率 +---@field public headX? BlueArchiveCharacter.PhysicFactorData 頭を基準とした、前後方向移動によるモデルパーツの回転データ +---@field public headZ? BlueArchiveCharacter.PhysicFactorData 頭を基準とした、左右方向移動によるモデルパーツの回転データ +---@field public headRot? BlueArchiveCharacter.PhysicFactorData 頭の回転によるによるモデルパーツの回転データ +---@field public bodyX? BlueArchiveCharacter.PhysicFactorData 体を基準とした、前後方向移動によるモデルパーツの回転データ +---@field public bodyY? BlueArchiveCharacter.PhysicFactorData 体を基準とした、上下方向移動によるモデルパーツの回転データ +---@field public bodyZ? BlueArchiveCharacter.PhysicFactorData 体を基準とした、左右方向移動によるモデルパーツの回転データ +---@field public bodyRot? BlueArchiveCharacter.PhysicFactorData 体の回転によるによるモデルパーツの回転データ + +---@class (exact) BlueArchiveCharacter.PhysicFactorData 物理演算を働かせる要因を定義するデータセット +---@field public multiplayer number この回転事象がモデルパーツに与える回転の倍率 +---@field public min number この回転事象がモデルパーツに与える回転の最小値 +---@field public max number この回転事象がモデルパーツに与える回転の最大値 + +---@class (exact) BlueArchiveCharacter.PhysicCallbacks 物理演算のコールバック関数のセット +---@field public onPhysicPerformed? fun(self: BlueArchiveCharacter, model: ModelPart) 物理演算処理後に実行されるコールバック関数(省略可)。ここでモデルパーツの向きを上書きできる。 + +---@class (exact) BlueArchiveCharacter.DataSyncCallbacks データ同期のコールバック関数のセット +---@field public onDataSynced? fun(self: BlueArchiveCharacter) データが同期されたときに実行させるコールバック関数。ホスト上では実行されない。 + +--[[ ******************************** ]] + +---@class (exact) BlueArchiveCharacter.LocaleStringSet ロケール文字列のセット +---@field public en_us string 英語(米国) +---@field public ja_jp string 日本語 + +---@class (exact) BlueArchiveCharacter.MonthDaySet 日月のデータセット +---@field public month integer 月 +---@field public day integer 日 + +---@class (exact) BlueArchiveCharacter.Vector3RightLeftSet 左右で別々にVector3が定義できるデータセット +---@field public right? Vector3 右 +---@field public left? Vector3 左 + +BlueArchiveCharacter = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return BlueArchiveCharacter + new = function (parent) + ---@type BlueArchiveCharacter + local instance = Avatar.instantiate(BlueArchiveCharacter, AvatarModule, parent) + + instance.basic = { + firstName = { + en_us = "Iroha"; + ja_jp = "イロハ"; + }; + + lastName = { + en_us = "Natsume"; + ja_jp = "棗"; + }; + + clubName = { + en_us = "Pandemonium Society"; + ja_jp = "万魔殿"; + }; + + birth = { + month = 11; + day = 16; + }; + } + + instance.faceParts = { + rightEye = { + NORMAL = vectors.vec2(0, 0); --必須 + SURPRISED = vectors.vec2(2, 0); --必須 + TIRED = vectors.vec2(3, 0); --必須 + CLOSED = vectors.vec2(4, 0); --必須 + CENTER = vectors.vec2(6, 0); + CLOSED2 = vectors.vec2(7, 0); + ANGRY = vectors.vec2(9, 0); + }; + + leftEye = { + NORMAL = vectors.vec2(0, 0); --必須 + SURPRISED = vectors.vec2(1, 0); --必須 + TIRED = vectors.vec2(2, 0); --必須 + CLOSED = vectors.vec2(3, 0); --必須 + INVERTED = vectors.vec2(4, 0); + CLOSED2 = vectors.vec2(6, 0); + CENTER = vectors.vec2(7, 0); + ANGRY_INVERTED = vectors.vec2(-1, 1); + ANGRY = vectors.vec2(0, 1); + }; + + mouth = { + CLOSED = vectors.vec2(0, 0); + SMALL = vectors.vec2(1, 0); + SIGH = vectors.vec2(2, 0); + ANXIOUS = vectors.vec2(3, 0); + SMILE = vectors.vec2(0, 1); + }; + } + + instance.arms = { + callbacks = { + onArmStateChanged = function (self, right, left) + if self.costume.costumes[1].isRidingTank and self.costume.costumes[1].tankTick <= 35 then + return {right = 0, left = 0} + end + if self.costume.costumes[1].isRidingTank then + if self.costume.costumes[1].tankTick <= 35 then + return {right = 0, left = 0} + else + return {right = right == 1 and 4 or (right == 2 and 5 or right), left = left == 1 and 4 or (left == 2 and 5 or left)} + end + end + end; + + onAdditionalRightArmProcess = function (self, state) + if state == 4 then + --虎丸搭乗中の武器の構え + events.TICK:register(function () + self.parent.arms:processArmWingCount() + if player:isSwingingArm() and not player:isLeftHanded() and self.costume.costumes[1].shootTick == -1 then + models.models.main.Avatar.UpperBody.Arms.RightArm:setParentType("RightArm") + else + models.models.main.Avatar.UpperBody.Arms.RightArm:setParentType("Body") + end + if player:getActiveItem().id == "minecraft:crossbow" then + self.parent.arms:setArmState(3, 3) + end + end, "right_arm_tick") + events.RENDER:register(function (delta) + local headRot = vanilla_model.HEAD:getOriginRot() + models.models.main.Avatar.UpperBody.Arms.RightArm:setRot(((player:isSwingingArm() and not player:isLeftHanded()) or self.costume.costumes[1].shootTick >= 0) and vectors.vec3() or vectors.vec3(headRot.x + math.sin((self.parent.arms.swingCount + delta) / 100 * math.pi * 2) * 2.5 + 90, 70, 0)) + end, "right_arm_render") + elseif state == 5 then + --虎丸搭乗中の武器を持っていない手 + local isHolding = false + events.TICK:register(function () + self.parent.arms:processArmWingCount() + local heldItem = player:getHeldItem(not player:isLeftHanded()) + isHolding = player:getActiveItem().id == "minecraft:bow" or (heldItem.id == "minecraft:crossbow" and heldItem.tag.Charged ~= nil and heldItem.tag.Charged == 1) + models.models.main.Avatar.UpperBody.Arms.RightArm:setParentType((isHolding or self.costume.costumes[1].shootTick >= 0) and "Body" or "RightArm") + end, "right_arm_tick") + events.RENDER:register(function (delta) + models.models.main.Avatar.UpperBody.Arms.RightArm:setRot(isHolding and vectors.vec3(math.sin((self.parent.arms.swingCount + delta) / 100 * math.pi * 2) * 2.5 + 35, 0, 0) or vectors.vec3()) + end, "right_arm_render") + end + end; + + onAdditionalLeftArmProcess = function (self, state) + if state == 4 then + --虎丸搭乗中の武器の構え + events.TICK:register(function () + self.parent.arms:processArmWingCount() + if player:isSwingingArm() and player:isLeftHanded() and self.costume.costumes[1].shootTick == -1 then + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType("LeftArm") + else + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType("Body") + end + if player:getActiveItem().id == "minecraft:crossbow" then + self.parent.arms:setArmState(3, 3) + end + end, "right_arm_tick") + events.RENDER:register(function (delta) + local headRot = vanilla_model.HEAD:getOriginRot() + models.models.main.Avatar.UpperBody.Arms.LeftArm:setRot(((player:isSwingingArm() and player:isLeftHanded()) or self.costume.costumes[1].shootTick >= 0) and vectors.vec3() or vectors.vec3(headRot.x + math.sin((self.parent.arms.swingCount + delta) / 100 * math.pi * 2) * 2.5 + 90, 90, 0)) + end, "right_arm_render") + elseif state == 5 then + --虎丸搭乗中の武器を持っていない手 + local isHolding = false + events.TICK:register(function () + self.parent.arms:processArmWingCount() + local heldItem = player:getHeldItem(player:isLeftHanded()) + isHolding = player:getActiveItem().id == "minecraft:bow" or (heldItem.id == "minecraft:crossbow" and heldItem.tag.Charged ~= nil and heldItem.tag.Charged == 1) + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType((isHolding or self.costume.costumes[1].shootTick >= 0) and "Body" or "LeftArm") + end, "right_arm_tick") + events.RENDER:register(function (delta) + models.models.main.Avatar.UpperBody.Arms.LeftArm:setRot(isHolding and vectors.vec3(math.sin((self.parent.arms.swingCount + delta) / 100 * math.pi * 2) * 2.5 + 35, 0, 0) or vectors.vec3()) + end, "right_arm_render") + end + end + }; + } + + instance.skirt = { + + } + + instance.gun = { + scale = 0.4; + + gunPosition = { + hold = { + type = "NORMAL"; + + firstPersonPos = { + right = vectors.vec3(-0.5, -3.75, -3); + left = vectors.vec3(0.5, -3.75, -3); + }; + + thirdPersonPos = { + right = vectors.vec3(0, -3.75, -3); + left = vectors.vec3(0, -3.75, -3); + }; + }; + + put = { + type = "HIDDEN"; + }; + }; + + sound = { + name = "minecraft:entity.iron_golem.hurt"; + pitch = 2; + }; + } + + instance.placementObjects = { + + } + + instance.exSkill = { + { + name = { + en_us = "Let's go, Toramaru"; + ja_jp = "行きますよ、虎丸"; + }; + + formationType = "SPECIAL"; + + models = {models.models.ex_skill_1.Tank, models.models.ex_skill_1.Tank.TankBody.Turret.Cannon.ShineEffect, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.Book}; + + animations = {"main", "ex_skill_1"}; + + camera = { + start = { + rot = vectors.vec3(0, 155, 0); + pos = vectors.vec3(0, 43, -28); + }; + + fin = { + rot = vectors.vec3(-5, 280, 0); + pos = vectors.vec3(-8, 60.4, -388); + }; + }; + + callbacks = { + onPreAnimation = function (self) + self.parent.faceParts:setEmotion("CENTER", "NORMAL", "CLOSED", 13, true) + end; + + onAnimationTick = function (self, tick) + if tick == 13 then + self.parent.faceParts:setEmotion("NORMAL", "CENTER", "SMALL", 6, true) + models.models.main.Avatar.Head.NoticeEffect:setVisible(true) + elseif tick == 15 then + models.models.main.Avatar.Head.NoticeEffect:setVisible(false) + elseif tick == 17 then + models.models.main.Avatar.Head.NoticeEffect:setVisible(true) + elseif tick == 19 then + self.parent.faceParts:setEmotion("NORMAL", "CENTER", "SIGH", 5, true) + models.models.main.Avatar.Head.NoticeEffect:setVisible(false) + elseif tick == 22 then + local bodyYaw = player:getBodyYaw() * -1 - 60 + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:electric_spark"), self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.Book):add(vectors.rotateAroundAxis(bodyYaw, -0.25, 0.2, 0.1, 0, 1, 0))):setScale(0.5):setVelocity(vectors.rotateAroundAxis(bodyYaw, -0.1, 0.05, 0, 0, 1, 0)):setColor(1, 1, 0.608):setGravity(0.4) + elseif tick == 24 then + self.parent.faceParts:setEmotion("CLOSED2", "CLOSED2", "SMALL", 10, true) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.chiseled_bookshelf.insert"), self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.Book), 1, 1) + elseif tick == 26 then + local bodyYaw = player:getBodyYaw() * -1 - 60 + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:snowflake"), self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.Head.FaceParts.Mouth):add(vectors.rotateAroundAxis(bodyYaw, 0, 0, 0.2, 0, 1, 0))):setScale(0.5):setVelocity(vectors.rotateAroundAxis(bodyYaw, 0, -0.01, 0.05, 0, 1, 0)):setGravity(0):setLifetime(8) + elseif tick == 34 then + self.parent.faceParts:setEmotion("CLOSED2", "CLOSED2", "ANXIOUS", 3, true) + elseif tick == 37 then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "ANXIOUS", 35, true) + elseif tick == 40 then + self.exSkill[1].engineSound = sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.minecart.riding"), player:getPos(), 0.25, 0.5) + elseif tick == 62 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.levelup"), player:getPos(), 1, 1.5) + elseif tick == 72 then + self.parent.faceParts:setEmotion("CLOSED2", "CLOSED2", "ANXIOUS", 6, true) + elseif tick == 78 then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "CLOSED", 19, true) + elseif tick == 97 then + self.parent.faceParts:setEmotion("CENTER", "NORMAL", "CLOSED", 16, true) + end + if (tick >= 51 and tick < 65) or (tick >= 74 and tick < 77) then + for _, modelPart in ipairs({models.models.ex_skill_1.Tank.RightCrawler.ExSkill1ParticleAnchor1, models.models.ex_skill_1.Tank.LeftCrawler.ExSkill1ParticleAnchor2}) do + local anchorPos = self.parent.modelUtils.getModelWorldPos(modelPart) + for _ = 1, 5 do + local offsetPos = vectors.vec3(math.random() - 0.5, 0, math.random() - 0.5) + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:electric_spark"), anchorPos:copy():add(offsetPos)):setVelocity(offsetPos:copy():scale(0.1):add(0, 0.05, 0)):setColor(0.98, 0.784, 0.533) + end + end + end + if (tick >= 51 and tick < 65) or tick >= 74 then + local anchorPos = self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_1.Tank) + for _ = 1, 5 do + local offsetPos = vectors.vec3(math.random() * 7 - 3.5, 0, math.random() * 7 - 3.5) + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:campfire_cosy_smoke"), anchorPos:copy():add(offsetPos)):setScale(5):setVelocity(offsetPos:copy():scale(0.01):add(0, 0.025, 0)) + end + end + if tick >= 51 and tick < 65 and tick % 2 == 0 then + for _, modelPart in ipairs({models.models.ex_skill_1.Tank.RightCrawler.RightCrawlerBelt, models.models.ex_skill_1.Tank.LeftCrawler.LeftCrawlerBelt}) do + modelPart:setUVPixels(0, (tick % 4) / 2) + end + end + if tick >= 74 then + for _, modelPart in ipairs({models.models.ex_skill_1.Tank.RightCrawler.RightCrawlerBelt, models.models.ex_skill_1.Tank.LeftCrawler.LeftCrawlerBelt}) do + modelPart:setUVPixels(0, (tick % 2)) + end + end + if tick > 40 then + self.exSkill[1].engineSound:setPos(self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_1.Tank)) + end + if tick > 73 then + if tick % 2 == 0 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.piston.extend"), self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_1.Tank), 0.5, 0.2 + (tick - 73) / 370) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.piston.contract"), self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_1.Tank), 0.5, 0.2 + (tick - 73) / 370) + end + end + end; + + onPostAnimation = function (self, forcedStop) + self.exSkill[1].engineSound = nil + if forcedStop then + models.models.main.Avatar.Head.NoticeEffect:setVisible(false) + end + end; + }; + + ---戦車のエンジン音のインスタンス + ---@type Sound|nil + engineSound = nil; + }; + } + + instance.costume = { + costumes = { + { + name = "default"; + + displayName = { + en_us = "Default"; + ja_jp = "デフォルト"; + }; + + exSkill = 1; + + ---戦車に乗っているかどうか + ---@type boolean + isRidingTank = false; + + ---前ティックに戦車に乗っていたかどうか + ---@type boolean + isRidingTankPrev = false; + + ---前ティックに戦車のエンジンが起動していたかどうか + ---@type boolean + isEngineActivePrev = false; + + ---戦車に乗っているときのティックカウンター + ---@type integer + tankTick = 0; + + ---ラクダの向きのデータ + ---@type number[] + camelRotData = {0, 0}; + + ---現ティックの戦車の移動ベクトル + ---@type Vector3 + tankVelocity = vectors.vec3(); + + ---砲弾を撃つ際のティックカウンター + ---@type integer + shootTick = -1; + + ---次の砲弾を撃つまでのクールダウン + ---@type integer + shootCooldown = 0; + + ---ヒント表示をしたかどうか。 + ---@type boolean + isTipShowed = false; + }; + }; + + callbacks = { + onArmorChange = function (self, parts, isVisible) + if parts == "HELMET" then + models.models.main.Avatar.Head.Hat:setVisible(not isVisible) + end + end; + }; + } + + instance.bubble = { + callbacks = { + onPlay = function (self, type, duration, showInGui) + if type == "GOOD" then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "CLOSED", duration, true) + elseif type == "HEART" then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "SMILE", duration, true) + elseif type == "NOTE" then + self.parent.faceParts:setEmotion("ANGRY", "ANGRY", "SMILE", duration, true) + elseif type == "QUESTION" then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "SMALL", duration, true) + elseif type == "SWEAT" then + if showInGui then + self.parent.faceParts:setEmotion("CLOSED2", "CLOSED2", "SIGH", duration, true) + else + + self.parent.faceParts:setEmotion("SURPRISED", "SURPRISED", "CLOSED", 60, true) + end + end + end + }; + } + + instance.headBlock = { + includeModels = {}; + } + + instance.portrait = { + includeModels = {}; + } + + instance.deathAnimation = { + callbacks = { + onPhase1 = function (_, dummyAvatar) + dummyAvatar.Head.BackHair:setRot(20, 0, 0) + dummyAvatar.Head.BackHair:setOffsetPivot(0, 0, 4) + end; + + onPhase2 = function (_, dummyAvatar) + dummyAvatar.Head.BackHair:setRot(-20, 0, 0) + dummyAvatar.Head.BackHair:setOffsetPivot() + end; + }; + } + + instance.actionWheel = { + isVehicleOptionEnabled = true; + } + + instance.physics = { + physicData = { + { + models = {models.models.main.Avatar.Head.BackHair}; + + x = { + vertical = { + min = -120; + neutral = 0; + max = 0; + sneakOffset = -30; + + headRotMultiplayer = -1; + + headX = { + multiplayer = -80; + min = -90; + max = 0; + }; + + headRot = { + multiplayer = 0.05; + min = -90; + max = 0; + }; + + bodyY = { + multiplayer = 80; + min = -120; + max = 0; + }; + }; + + horizontal = { + min = -135; + neutral = -30; + max = 0; + + headX = { + multiplayer = -80; + min = -45; + max = 0; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.Head.Hat.RightHatRibbon}; + + x = { + vertical = { + min = -5; + neutral = -5; + max = -5; + }; + }; + + z = { + vertical = { + min = 0; + neutral = 0; + max = 150; + + bodyY = { + multiplayer = -80; + min = 0; + max = 150; + }; + + headZ = { + multiplayer = -80; + min = 0; + max = 90; + }; + + headRot = { + multiplayer = -0.05; + min = 0; + max = 90; + }; + }; + + horizontal = { + min = -150; + neutral = -10; + max = 35; + + bodyX = { + multiplayer = 80; + min = -150; + max = 0; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.Head.Hat.LeftHatRibbon}; + + x = { + vertical = { + min = -5; + neutral = -5; + max = -5; + }; + }; + + z = { + vertical = { + min = -150; + neutral = 0; + max = 0; + + bodyY = { + multiplayer = 80; + min = -150; + max = 0; + }; + + headZ = { + multiplayer = -80; + min = -90; + max = 0; + }; + + headRot = { + multiplayer = 0.05; + min = -90; + max = 0; + }; + }; + + horizontal = { + min = -150; + neutral = -10; + max = 35; + + bodyX = { + multiplayer = 80; + min = -150; + max = 0; + }; + }; + }; + }; + }; + + callbacks = { + onPhysicPerformed = function (self, model) + if model == models.models.main.Avatar.Head.BackHair then + local rot = math.deg(math.asin(player:getLookDir().y)) - model:getRot().x + if rot < 0 then + models.models.main.Avatar.Head.BackHair:setOffsetPivot(0, 0, 2) + else + models.models.main.Avatar.Head.BackHair:setOffsetPivot() + end + end + end + }; + } + + instance.dataSync = { + syncData = { + + }; + + callbacks = { + + }; + } + + return instance + end; + + ---初期化関数 + ---@param self BlueArchiveCharacter + init = function (self) + AvatarModule.init(self) + + --生徒固有初期化処理 + --Player APIにアクセスする場合は、ENTITY_INIT後に実行されるようにする必要がある。 + + models.models.ex_skill_1.Tank:setColor(1, 1, 1) + for _, modelPart in ipairs({models.models.ex_skill_1.Tank.TankBody.PSLogo1, models.models.ex_skill_1.Tank.TankBody.Turret.PSLogo2, models.models.ex_skill_1.Tank.TankBody.Turret.PSLogo3}) do + modelPart:newText("toramaru_logo_text"):setText("§e万魔殿"):setPos(0, 2.25, 0):setScale(0.2):setAlignment("CENTER"):setOutline(true):setOutlineColor(0.404, 0.306, 0.051) + end + models.models.ex_skill_1.Tank.TankBody.Turret.Cannon.HangingSign:setPrimaryTexture("RESOURCE", "minecraft:textures/entity/signs/hanging/oak.png") + models.models.ex_skill_1.Tank.TankBody.Turret.Cannon.HangingSign:newText("toramaru_sign_text_1"):setText("§0§l巡回中"):setPos(-1, -9, 0.5):setRot(0, 90, 0):setScale(0.5):setAlignment("CENTER") + models.models.ex_skill_1.Tank.TankBody.Turret.Cannon.HangingSign:newText("toramaru_sign_text_2"):setText("§0§l巡回中"):setPos(1, -9, -0.5):setRot(0, -90, 0):setScale(0.5):setAlignment("CENTER") + + self.parent.avatarEvents.SCRIPT_INIT:register(function () + for i = 0, 1 do + for j = 0, 9 do + models.models.ex_skill_1.Tank.TankBody.BaseBase1:newBlock("toramaru_log_"..(i * 10 + j)):setBlock(self.parent.compatibilityUtils:checkBlock("minecraft:oak_log").."[axis=z]"):setPos(36 + i * -80, -2, j * 8 - 41):setScale(0.5) + end + end + + if host:isHost() then + local localeStrings = { + {"key_name.tank_shoot", "Main gun aim, fire", "主砲照準、発射"}; + {"tank_shoot.in_cool_down_pre", "Please wait ", "あと"}; + {"tank_shoot.in_cool_down_post", " more seconds to shoot a shell.", "秒待ってください。"}; + {"tank_shoot.tip_pre", "9§l[TIP]§r Press ", "§9§l[TIP]§r "}; + {"tank_shoot.tip_post", " key to shoot a shell!", "キーを押すと砲弾を発射します!"}; + } + + for _, localeSet in ipairs(localeStrings) do + self.parent.locale.localeData.en_us[localeSet[1]] = localeSet[2] + self.parent.locale.localeData.ja_jp[localeSet[1]] = localeSet[3] + end + + self.parent.keyManager:register("tank_shoot", "key.keyboard.v"):setOnPress(function () + if self.costume.costumes[1].isRidingTank and self.costume.costumes[1].tankTick >= 36 and models.models.ex_skill_1.Tank:getColor() == vectors.vec3(1, 1, 1) then + if self.costume.costumes[1].shootCooldown == 0 then + pings.tankShoot() + else + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + print(self.parent.locale:getLocale("tank_shoot.in_cool_down_pre")..math.ceil(self.costume.costumes[1].shootCooldown / 20)..self.parent.locale:getLocale("tank_shoot.in_cool_down_post")) + end + end + end) + end + end) + + events.TICK:register(function () + if not client:isPaused() then + local vehicle = player:getVehicle() + self.costume.costumes[1].isRidingTank = vehicle ~= nil and vehicle:getType() == "minecraft:camel" and vehicle:getControllingPassenger() ~= nil and vehicle:getControllingPassenger():getName() == player:getName() and #vehicle:getPassengers() == 1 and self.parent.actionWheel.shouldReplaceVehicleModels and player:getHealth() > 0 + if self.costume.costumes[1].isRidingTank ~= self.costume.costumes[1].isRidingTankPrev then + if self.costume.costumes[1].isRidingTank then + renderer:setRenderVehicle(false) + models.models.ex_skill_1.Tank:setVisible(true) + models.models.main.Avatar:setPos(-13, 16, 4) + models.models.ex_skill_1.Tank:setOffsetPivot(0, 0, 8) + self.parent.cameraManager:setThirdPersonCameraDistance(8) + self.parent.arms:setArmState(0, 0) + animations["models.main"]["tank_start"]:play() + animations["models.main"]["tank_idle"]:play() + for _, animationName in ipairs({"tank_start", "tank_move"}) do + animations["models.ex_skill_1"][animationName]:play() + end + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "CLOSED", 35, true) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.iron_trapdoor.open"), player:getPos(), 1, 0.5) + self.costume.costumes[1].tankVelocity = vectors.rotateAroundAxis(vehicle:getRot().y * -1, 0, 0, 1, 0, 1, 0) + events.TICK:register(function () + if not client:isPaused() then + local camelRot = vehicle:getRot().y % 360 + table.insert(self.costume.costumes[1].camelRotData, camelRot) + table.remove(self.costume.costumes[1].camelRotData, 1) + local velocity = vehicle:getVelocity():mul(1, 0, 1) + local camelVelocity = velocity:length() + if camelVelocity > 0.01 then + self.costume.costumes[1].tankVelocity = vectors.rotateAroundAxis(camelRot * -1, 0, 0, 1, 0, 1, 0) + end + local isEngineActive = self.costume.costumes[1].isRidingTank and (player:getPos():sub(vehicle:getPos()):length() - 1.51017) * -1.35 < 1 and models.models.ex_skill_1.Tank:getColor() == vectors.vec3(1, 1, 1) + if isEngineActive and not self.costume.costumes[1].isEngineActivePrev then + animations["models.main"]["tank_idle_powered"]:play() + animations["models.ex_skill_1"]["tank_idle"]:play() + elseif not isEngineActive and self.costume.costumes[1].isEngineActivePrev then + animations["models.main"]["tank_idle_powered"]:stop() + animations["models.ex_skill_1"]["tank_idle"]:stop() + end + animations["models.ex_skill_1"]["tank_move"]:setSpeed(self.parent.physics.velocityAverage[5][2] * 2.5) + local beltOffset = math.floor(animations["models.ex_skill_1"]["tank_move"]:getTime() * 32) % 2 + for _, modelPart in ipairs({models.models.ex_skill_1.Tank.RightCrawler.RightCrawlerBelt, models.models.ex_skill_1.Tank.LeftCrawler.LeftCrawlerBelt}) do + modelPart:setUVPixels(0, beltOffset) + end + if self.parent.faceParts.blinkCount == 0 and self.parent.faceParts.emotionCount == 0 then + self.parent.faceParts:setEmotion("CLOSED", "CLOSED", "CLOSED", 2, true) + else + self.parent.faceParts:setEmotion("NORMAL", "INVERTED", "CLOSED", 1) + end + if self.costume.costumes[1].tankTick == 36 then + if self.parent.gun.currentGunPosition == "RIGHT" then + self.parent.arms:setArmState(4, 5) + elseif self.parent.gun.currentGunPosition == "LEFT" then + self.parent.arms:setArmState(5, 4) + end + if host:isHost() and not self.costume.costumes[1].isTipShowed then + print(self.parent.locale:getLocale("tank_shoot.tip_pre")..self.parent.keyManager.keyMappings["tank_shoot"]:getKeyName()..self.parent.locale:getLocale("tank_shoot.tip_post")) + self.costume.costumes[1].isTipShowed = true + end + end + if self.costume.costumes[1].tankTick % 2 == 0 and isEngineActive then + sounds:playSound(self.parent.compatibilityUtils:checkSound(self.costume.costumes[1].tankTick % 4 == 0 and "minecraft:block.piston.extend" or "minecraft:block.piston.contract"), vehicle:getPos(), 0.02, 0.5) + end + local health = vehicle:getNbt().Health + if health < 16 then + local playerPos = player:getPos() + local bodyYaw = player:getBodyYaw() + if health < 8 then + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:flame"), playerPos:copy():add(vectors.rotateAroundAxis(bodyYaw * -1 , math.random() * 5 - 2.5, math.random() * 3 - 1.5, math.random() * 7 - 3.5, 0, 1, 0))) + end + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:large_smoke"), playerPos:copy():add(vectors.rotateAroundAxis(bodyYaw * -1 , math.random() * 5 - 2.5, math.random() * 3 - 1.5, math.random() * 7 - 3.5, 0, 1, 0))) + end + self.costume.costumes[1].tankTick = self.costume.costumes[1].isRidingTank and self.costume.costumes[1].tankTick + 1 or 0 + self.costume.costumes[1].isEngineActivePrev = isEngineActive + end + end, "tank_tick") + events.RENDER:register(function (delta) + if not client:isPaused() then + local camelRot = math.abs(self.costume.costumes[1].camelRotData[1] - self.costume.costumes[1].camelRotData[2]) <= 180 and self.costume.costumes[1].camelRotData[2] + ((self.costume.costumes[1].camelRotData[2] - self.costume.costumes[1].camelRotData[1]) * delta) or self.costume.costumes[1].camelRotData[2] + local camelVelocity = vehicle:getVelocity():mul(1, 0, 1):length() + local baseRot = camelRot - (math.deg(math.atan2(self.costume.costumes[1].tankVelocity.z, self.costume.costumes[1].tankVelocity.x)) - 90) % 360 + local lookDir = player:getLookDir() + local turretRot = math.clamp(math.deg(math.asin(lookDir.y)), -15, 25) + local heightOffset = (player:getPos(delta):sub(vehicle:getPos(delta)):length() - 1.51017) * -1.35 + models.models.main.Avatar:setPos(-13, 16 + heightOffset * 16, 4) + models.models.ex_skill_1.Tank:setPos(0, -24.5 + heightOffset * 16, 0) + models.models.ex_skill_1.Tank.TankBody.Turret.Cannon:setRot(turretRot, 0, 0) + models.models.ex_skill_1.Tank.TankBody.Turret.Cannon.HangingSign:setRot(turretRot * -1, 0, 0) + if camelVelocity > 0.01 then + for _, modelPart in ipairs({models.models.ex_skill_1.Tank, models.models.ex_skill_1.Tank.TankBody.Turret}) do + modelPart:setRot() + end + else + models.models.ex_skill_1.Tank:setRot(0, baseRot, 0) + models.models.ex_skill_1.Tank.TankBody.Turret:setRot(0, baseRot * -1, 0) + end + + local bodyYaw = player:getBodyYaw(delta) + if renderer:isFirstPerson() then + renderer:setCameraPos(-0.75, 0, 0) + self.parent.cameraManager.setCameraPivot(vectors.vec3(math.sin(math.rad(bodyYaw)) * 0.2, 1 + heightOffset, math.cos(math.rad(bodyYaw)) * -0.2)) + renderer:setEyeOffset(vectors.rotateAroundAxis(bodyYaw * -1, 0.8, 1 + heightOffset, 0.2, 0, 1, 0)) + else + self.parent.cameraManager.setCameraPivot(vectors.vec3(0, heightOffset * 0.75, 0)) + renderer:setEyeOffset(0, heightOffset * 0.75, 0) + end + end + end, "tank_render") + + events.ON_PLAY_SOUND:register(function (id, pos, _, _, _, _, path) + if pos:copy():sub(vehicle:getPos()):length() < 2 and path ~= nil then + if id:match("^minecraft:entity.camel") ~= nil or id == "minecraft:entity.horse.land" then + if id == "minecraft:entity.camel.step" then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.wool.step"), pos, 0.25, 1) + elseif id == "minecraft:entity.horse.land" then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.wool.step"), pos, 1, 1) + elseif id == "minecraft:entity.camel.dash" then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.blaze.hurt"), pos, 1, 1.5) + elseif id == "minecraft:entity.camel.dash_ready" then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.dispenser.fail"), pos, 1, 2) + elseif id == "minecraft:entity.camel.hurt" then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.anvil.place"), pos, 1, 2) + elseif id == "minecraft:entity.camel.death" then + models.models.ex_skill_1.Tank:setColor(0.2, 0.2, 0.2) + for _, modelPart in ipairs({models.models.ex_skill_1.Tank.TankBody.PSLogo1, models.models.ex_skill_1.Tank.TankBody.Turret.PSLogo2, models.models.ex_skill_1.Tank.TankBody.Turret.PSLogo3}) do + modelPart:getTask("toramaru_logo_text"):setText("§0万魔殿"):setOutlineColor(0, 0, 0) + end + for i = 0, 1 do + for j = 0, 9 do + models.models.ex_skill_1.Tank.TankBody.BaseBase1:getTask("toramaru_log_"..(i * 10 + j)):setLight(0) + end + end + local playerPos = player:getPos() + local bodyYaw = player:getBodyYaw() + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:explosion_emitter"), playerPos) + for _ = 0, 50 do + local offsetPos = vectors.rotateAroundAxis(bodyYaw * -1 , math.random() * 5 - 2.5, math.random() * 3 - 1.5, math.random() * 7 - 3.5, 0, 1, 0) + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:poof"), playerPos:copy():add(offsetPos)):setColor(vectors.vec3(1, 1, 1):scale(math.random() * 0.1 + 0.2)):setScale(5):setVelocity(offsetPos:copy():scale(0.05)) + end + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.generic.explode"), pos, 1, 1) + self.parent.bubble:play("SWEAT", 20, vectors.vec2(), 40, false) + end + return true + end + end + end, "tank_on_play_sound") + else + events.TICK:remove("tank_tick") + events.RENDER:remove("tank_render") + events.ON_PLAY_SOUND:remove("tank_on_play_sound") + renderer:setRenderVehicle(true) + models.models.ex_skill_1.Tank:setVisible(false) + for _, modelPart in ipairs({models.models.ex_skill_1.Tank, models.models.ex_skill_1.Tank.TankBody.Turret, models.models.ex_skill_1.Tank.TankBody.Turret.Cannon}) do + modelPart:setPos() + modelPart:setRot() + end + models.models.ex_skill_1.Tank.TankBody.Turret.Cannon.HangingSign:setRot() + models.models.ex_skill_1.Tank:setColor(1, 1, 1) + for _, modelPart in ipairs({models.models.ex_skill_1.Tank.TankBody.PSLogo1, models.models.ex_skill_1.Tank.TankBody.Turret.PSLogo2, models.models.ex_skill_1.Tank.TankBody.Turret.PSLogo3}) do + modelPart:getTask("toramaru_logo_text"):setText("§e万魔殿"):setOutlineColor(0.404, 0.306, 0.051) + end + for i = 0, 1 do + for j = 0, 9 do + models.models.ex_skill_1.Tank.TankBody.BaseBase1:getTask("toramaru_log_"..(i * 10 + j)):setLight() + end + end + models.models.main.Avatar:setPos() + self.parent.cameraManager:setThirdPersonCameraDistance(4) + self.parent.cameraManager.setCameraPivot() + renderer:setEyeOffset() + for _, animationName in ipairs({"tank_start", "tank_idle", "tank_idle_powered", "tank_shoot_right", "tank_shoot_left"}) do + animations["models.main"][animationName]:stop() + end + for _, animationName in ipairs({"tank_start", "tank_idle", "tank_move", "tank_shoot"}) do + animations["models.ex_skill_1"][animationName]:stop() + end + if self.parent.gun.currentGunPosition == "RIGHT" then + self.parent.arms:setArmState(1, 2) + elseif self.parent.gun.currentGunPosition == "LEFT" then + self.parent.arms:setArmState(2, 1) + end + self.costume.costumes[1].tankTick = 0 + self.costume.costumes[1].shootTick = -1 + self.costume.costumes[1].isEngineActivePrev = false + end + end + + if self.costume.costumes[1].shootTick >= 0 then + self.costume.costumes[1].shootTick = self.costume.costumes[1].shootTick + 1 + if self.costume.costumes[1].shootTick == 13 then + local anchorPos = self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_1.Tank.TankBody.Turret.Cannon.MuzzleAnchor1) + self.parent.shellManager:spawn(anchorPos, vectors.vec3(models.models.ex_skill_1.Tank.TankBody.Turret.Cannon:getRot().x * -1, player:getBodyYaw() * -1, 0)) + for _ = 1, 10 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:large_smoke"), anchorPos:copy():add(math.random() - 0.5, math.random() - 0.5, math.random() - 0.5)):setScale(2) + end + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.firework_rocket.large_blast"), player:getPos(), 1, 1) + elseif self.costume.costumes[1].shootTick == 38 then + events.RENDER:remove("tank_shoot_render") + self.costume.costumes[1].shootTick = -1 + end + end + self.costume.costumes[1].isRidingTankPrev = self.costume.costumes[1].isRidingTank + self.costume.costumes[1].shootCooldown = math.max(self.costume.costumes[1].shootCooldown - 1, 0) + end + end) + end; +} + +---虎丸の弾を発射する。 +function pings.tankShoot() + animations["models.main"]["tank_shoot"]:play() + animations["models.main"]["tank_shoot_"..(player:isLeftHanded() and "left" or "right")]:play() + animations["models.ex_skill_1"]["tank_shoot"]:play() + AvatarInstance.faceParts:setEmotion("ANGRY", "ANGRY_INVERTED", "CLOSED", 38, true) + events.RENDER:register(function (delta, ctx, matrix) + models.models.ex_skill_1.Tank:setPos(0, models.models.ex_skill_1.Tank:getPos().y, models.models.ex_skill_1.ShootAnimAnchor:getAnimPos().z) + end, "tank_shoot_render") + AvatarInstance.characterData.costume.costumes[1].shootTick = 0 + AvatarInstance.characterData.costume.costumes[1].shootCooldown = 100 +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Iroha/scripts/character_scripts/tank_shell.lua b/config/yosbr/config/figura/avatars/Iroha/scripts/character_scripts/tank_shell.lua new file mode 100644 index 0000000..3bfbaa1 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Iroha/scripts/character_scripts/tank_shell.lua @@ -0,0 +1,95 @@ +---@class TankShell : SpawnObject 視覚的な砲弾オブジェクトのクラス +---@field package object ModelPart インスタンスで制御するモデルパーツ +---@field package currentPos Vector3 現ティックでのオブジェクトの位置 +---@field package nextPos Vector3 次ティックでのオブジェクトの位置 +---@field package rot Vector3 ミサイルモデルの向き +---@field package velocity Vector3 ミサイルが飛んでいく方向を示すベクトル +---@field package explosionCount integer ミサイルが爆発するまでのカウンタ +---@field package missileSound Sound ミサイルが飛んでいく方向を示すベクトル +---@field public new fun(parent: Avatar, startPos: Vector3, rot: Vector3): TankShell コンストラクタ +---@field package explode fun(self: TankShell) 砲弾を爆破させる + +TankShell = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@param startPos Vector3 砲弾の出現位置 + ---@param rot Vector3 砲弾が飛んでいく方向 + ---@return TankShell + new = function (parent, startPos, rot) + ---@type TankShell + local instance = Avatar.instantiate(TankShell, SpawnObject, parent) + + instance.object = models.models.ex_skill_1.Shell:copy(instance.uuid) + instance.currentPos = startPos:copy() + instance.nextPos = instance.currentPos:copy() + instance.rot = rot:copy() + instance.velocity = vectors.rotateAroundAxis(instance.rot.z, vectors.rotateAroundAxis(instance.rot.y, vectors.rotateAroundAxis(instance.rot.x, 0, 0, 1, 1, 0, 0), 0, 1, 0), 0, 0, 1) + instance.explosionCount = 200 + instance.missileSound = sounds:playSound(instance.parent.compatibilityUtils:checkSound("minecraft:entity.firework_rocket.launch"), instance.currentPos, 1, 2) + + instance.callbacks = { + ---@param self TankShell + onInit = function (self) + models.script_tank_shell:addChild(self.object) + self.object:setPos(self.currentPos:copy():scale(16)) + self.object:setRot(math.deg(math.atan2(self.velocity.y, math.sqrt(self.velocity.x ^ 2 + self.velocity.z ^ 2))) * -1, self.rot.y, self.rot.z) + self.object:setVisible(true) + end; + + ---@param self TankShell + onDeinit = function (self) + models.script_tank_shell:removeChild(self.object) + self.object:remove() + end; + + ---@param self TankShell + onTick = function (self) + if self.explosionCount == 0 then + self:explode() + end + + --砲弾の位置を強制更新 + self.currentPos = self.nextPos + self.object:setPos(self.currentPos:copy():scale(16)) + self.missileSound:setPos(self.currentPos) + + --当たり判定チェック + local block, _, _ = raycast:block(self.currentPos, self.nextPos, "COLLIDER", "NONE") + if block.id ~= "minecraft:air" and block.id ~= "minecraft:cave_air" and block.id ~= "minecraft:void_air" then + self:explode() + end + + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:large_smoke"), self.currentPos):setVelocity(vectors.rotateAroundAxis(self.rot.z, vectors.rotateAroundAxis(self.rot.y, vectors.rotateAroundAxis(self.rot.x, math.random() * 0.05 - 0.025, math.random() * 0.05 - 0.025, 0, 1, 0, 0), 0, 1, 0), 0, 0, 1)) + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:flame"), self.currentPos):setScale(1.5):setVelocity(vectors.rotateAroundAxis(self.rot.z, vectors.rotateAroundAxis(self.rot.y, vectors.rotateAroundAxis(self.rot.x, math.random() * 0.05 - 0.025, math.random() * 0.05 - 0.025, 0, 1, 0, 0), 0, 1, 0), 0, 0, 1)):setLifetime(4) + + --次ティックの砲弾の位置を算出 + self.nextPos = self.currentPos:copy():add(self.velocity:copy():scale(4)) + self.velocity.y = self.velocity.y - 0.01 + + self.object:setRot(math.deg(math.atan2(self.velocity.y, math.sqrt(self.velocity.x ^ 2 + self.velocity.z ^ 2))) * -1, self.rot.y, self.rot.z) + + self.explosionCount = self.explosionCount - 1 + end; + + onRender = function (self, delta) + self.object:setPos(self.nextPos:copy():sub(self.currentPos):scale(delta):add(self.currentPos):scale(16)) + end; + } + + return instance + end; + + ---砲弾を爆破させる。 + ---@param self TankShell + explode = function (self) + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:explosion_emitter"), self.currentPos) + for _ = 1, 50 do + local randomOffset = vectors.vec3(math.random() * 2 - 1, math.random() * 2 - 1, math.random() * 2 - 1) + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:large_smoke"), self.currentPos:copy():add(randomOffset:copy():scale(5))):setScale(10):setVelocity(randomOffset:copy():scale(0.1)):setLifetime(100 + math.random(-20, 20)) + end + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.generic.explode"), self.currentPos, 0.5, 1):setAttenuation(5) + --host:sendChatCommand("/summon creeper "..self.currentPos.x.." "..(self.currentPos.y + 1).." "..self.currentPos.z.." {NoGravity:1b,Silent:1b,Invulnerable:1b,NoAI:1b,ExplosionRadius:5b,Fuse:0,ignited:1b}") + self.explosionCount = -1 + self.shouldDeinit = true + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Iroha/scripts/character_scripts/tank_shell_manager.lua b/config/yosbr/config/figura/avatars/Iroha/scripts/character_scripts/tank_shell_manager.lua new file mode 100644 index 0000000..10bae5f --- /dev/null +++ b/config/yosbr/config/figura/avatars/Iroha/scripts/character_scripts/tank_shell_manager.lua @@ -0,0 +1,45 @@ +---@class TankShellManager : SpawnObjectManager 視覚的な砲弾オブジェクトを管理するクラス +---@field public new fun(parent: Avatar): TankShellManager コンストラクタ +---@field public init fun(self: TankShellManager) 初期化関数 +---@field public getObject fun(self: TankShellManager, startPos: Vector3, rot: Vector3): TankShell 砲弾のインスタンスを生成して返す +---@field public spawn fun(self: TankShellManager, startPos: Vector3, rot: Vector3) 砲弾をスポーンさせる + +TankShellManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return TankShellManager + new = function (parent) + ---@type TankShellManager + local instance = Avatar.instantiate(TankShellManager, SpawnObjectManager, parent) + + instance.managerName = "tank_shell" + + return instance + end; + + ---初期化関数 + ---@param self TankShellManager + init = function (self) + SpawnObjectManager.init(self) + + ---@diagnostic disable-next-line: discard-returns + models:newPart("script_tank_shell", "World") + end; + + ---砲弾のインスタンスを生成して返す。 + ---@param self TankShellManager + ---@param startPos Vector3 砲弾の出現位置 + ---@param rot Vector3 砲弾が飛んでいく方向 + ---@return TankShell instance 生成したインスタンス + getObject = function (self, startPos, rot) + return TankShell.new(self.parent, startPos, rot) + end; + + ---砲弾をスポーンさせる。 + ---@param self TankShellManager + ---@param startPos Vector3 砲弾の出現位置 + ---@param rot Vector3 砲弾が飛んでいく方向 + spawn = function (self, startPos, rot) + SpawnObjectManager.spawn(self, startPos, rot) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Iroha/textures/barrier.png b/config/yosbr/config/figura/avatars/Iroha/textures/barrier.png new file mode 100644 index 0000000000000000000000000000000000000000..f370a968a6e6c60761c4f7a188d7c44ce1bf9bf6 GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^j3CU&3?x-=hn)gaoCO|{#S9GG!XV7ZFl&wkP>?ym tC&cyq|NqVF|3v_~T%InDAsp9}6M$?c2F6ES|xv6<249-QVi6yBi z3gww484B*6z5(HleBwYwoCO|{#S9F3${@^GvDCf{D997w6XNP#-~(j-|NkFI{ubWW z3Z$4yg8YIRI4V3`K^7Z%x;Tb#Tu)Be@c;0E1AnrA*vjLu_#ZRFy%x2ZQhP5x1L|h*boFyt=akR{09f)oX8-^I literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Iroha/textures/bubble_emote_guide.png b/config/yosbr/config/figura/avatars/Iroha/textures/bubble_emote_guide.png new file mode 100644 index 0000000000000000000000000000000000000000..a6b414202e18123cc93b634a85e680a66e0a9fe4 GIT binary patch literal 494 zcmVvD800032NklL{98?E$@`La%y+s+cA+7ER}K+p}aatE=lFu-ULeLWgH1R zr7|d~dm1u3wI-OHl&evMe$!{KVri$1Za$T<*ZHa3DM<}U69UsXiOn<=cIQ} k=*f{RowdRB0DV*N2kFQ#jp%gQga7~l07*qoM6N<$g5h)W9smFU literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Iroha/textures/bullet.png b/config/yosbr/config/figura/avatars/Iroha/textures/bullet.png new file mode 100644 index 0000000000000000000000000000000000000000..392b8f7c3906129885119b03aad3353ef99e562c GIT binary patch literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^EI`b|!VDz0_b@5|DajJoh!W@g+}zZ>5(ej@)Wnk1 z6ovB4k_-iRPv3y>Mm}+%BF+Mj$YKTtJ!KGPtXOJa1{72Y@Ck8^3Xe~T4g->>mxKTr z|9>6*|836R83F%a&e=cH^Z$Eal|aXmSq yC?TOJ!3aqGdOtPI(4Y{viAnS=lpGkCiCxvXM%c6Q{{H^* zkUz(YMaTRX_wV2D?Ci9$ zv1z{(^(fi%W%h-k$7%Wb`CKmd`Sa&27Aq+!sUXg_f^$49EUYolD>F0mamHyM2d!u? zz3%RA6&016!KPt7(WU$gkYGnUCqTz|X8}la*5;Fr>e)l!RI2s&F{Lzr@sUR+bYp)U*)?NT@-*N^nGX&HpwE<%v z;Mv9t4j;NR(L1{-^eTl5`E&++*XK6q?n8Q4oRUGa|E#BPiU79>;>zSC;ja87a5$VP zWMb_dWHDukspEkn-1RZV_?=gRtByVP@1+^Tf&%6RskQVX=w+f2w!TF3F{DHitS4so zbn1h-$*d|O-XWw>+;M{-R^s|0 zI0^rVIJU#9h(8gE0+e3F9e_Y#vK^&&pihe4l$F1QC96&`j7JiyA8N7wi8TZ24jmxY zjZi|d+uhQ?5gGYJ{=};}>#xA3GV&-rQAhl-Ogo%-=Pxiv*t$64=#IS~BaJPqzkt$) z=C}G9jxj}bOt_@u3-}$AyS_Vixd=?_WbOVb1N_vQMmII-RV5+{7(lS2hkf^EzIMfb z)BJW14#LV(haYDatzv5+&F;n8{&TQUqYGN{Xq~4pAPf+|KnyxW<9%pQc_2;*olXrd z$@{?92zUyT8yf3mY(tsNnBF~+n>bw zU@Q%F)uV*o{+q2$h5HX8B4~KA-EgM16gyNL7>I{NRU~GeOvFDz^<@M^;H*dX;#3X%2)S89eRvy}!%~0Spjg>9h$|NVrBlsIKWloQRo!4Y^6`Zp>)N-w} z(hZTrBnz3Opmt*wt*a-%b#iPsy3lQprL2$1qRy6c1rEf+O2b0vL+Q~k&g^$zEmsY; zxzvt}M=A*IhmTQ+(hsmlNK>>Q1oY{^j{M-o%d0E5#_dgssd6Ho8;LMD!Xe}5=;GrX z5^lax9rll543&!g@4W9$-r5a#+^!_WKH?sdVWNez7`IluAt=WrlHOyi(eJ-8lgFiU z2V@Pqh77RDHFrH^e8q^w%x!2wwsX^kuT?~0jF@5=o2xyfa)-?JTrVPJ0htgC~v(@%Dtgd%iFO0cS>vX;9*Fuf=?9nC!;N&AtIHtqyc-nA7 zja@>QGCsL65_qP?khB-HLSxmDJ=M%ZH_B)K}-i%#v5v9yt%pxWDye2ZvXEc@6pfE@PD0hr1Y{r z*Qd>Hvmt&SlLf68l;<#Pge!%(Obb*YGYR#gKXyj$nzzNxunn{%f^+@)qksz`Ds9zT zF=ex>>-QJjzT4c)ma(D{dUAtZ0(Ja4YK~O1YL|*eD;;2}tvs504;efVKS$NXcF;vX zHu|f&EWGi1m#flFA$^Ra$B6aHOTe zi`u2Zk&_T1~fhss;p(*(Y$*m48?!f83xfnCxZ*ALJt&A*tP$P3IG(h+DcFc(fm910e@pj0zyLjKqmE%MS zS1IvisvB5Hw7!A5!^Ln$m=}{*?z0<>UcsIJ_}%4{%eQTTC;Qb}?M@}$7F~8A$mEM% zd`Es-Ad$!I-@R`s3Sa#qfXu9{7#zS#MZ--B*uMB6Oc(=|9bn6yAl7%~FCo=(+^C%E z28)PNS{Yu5OhjExFV^8Il26&6*o%}JqcuifEtH0}F~g_i#6k-WF(GczHDsP6c2R1R XSQ8c-oF?b-3HV`cVP{@`m>v6nxgKEv literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Iroha/textures/emojis/black_dot.png b/config/yosbr/config/figura/avatars/Iroha/textures/emojis/black_dot.png new file mode 100644 index 0000000000000000000000000000000000000000..32f952e6926fed6a3e8c08e8e28c6774175c72bd GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^EFjFt3?wJp^Vk9@$r9Iy66gHf+|;}h2Ir#G#FEq$ zh4Rdj3FVdQ&MBb@0G;0^#{d8T literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Iroha/textures/emojis/dots.png b/config/yosbr/config/figura/avatars/Iroha/textures/emojis/dots.png new file mode 100644 index 0000000000000000000000000000000000000000..eeb5df5529e8a8d668a571f4339092e73a982fe5 GIT binary patch literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrOUWQl7;iF1B#Zfaf$gL6@8Vo7R> zLV0FMhJw4NZ$Nk>pEytvXMsm#F$061G6*wPEVVBK3bFt3ruKaWT?N-8k{WU=nquD;OXk;vd$@? F2>^vjE2#hg literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Iroha/textures/emojis/good.png b/config/yosbr/config/figura/avatars/Iroha/textures/emojis/good.png new file mode 100644 index 0000000000000000000000000000000000000000..df8baedf092d1697de5f940e1c6dc2783271ff32 GIT binary patch literal 220 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGaEOCt}an8@pP0cG|a4t$sEJ;mK zD92YC`j z#ZwKOPu#e1GD7f#Kw)7Zn{i900OQLbCg~MRR5&)uIx#XVd&Kqp=CnOEK*Jb3UHx3v IIVCg!0HohPs{jB1 literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Iroha/textures/emojis/heart.png b/config/yosbr/config/figura/avatars/Iroha/textures/emojis/heart.png new file mode 100644 index 0000000000000000000000000000000000000000..cea3a12c758ab289a5f79498292947ece20672eb GIT binary patch literal 219 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9k|nMYCC>S|xv6<249-QVi6yBi z3gww484B*6z5(HleBwYwoCO|{#S9F3${@^GvDCf{D997w6XNP#;Il};<@c10|F@rh zwZ_2#D9%_C;uyklJvo7a@fbrGJKHwZAYq9macR1VC*rndsXEJP zDQ?ZWDkSi+r7`#FD^8xC)z>Ty3{w8GWQomYGCIhZBf!k?EmHjUgCi3&fyOa-y85}S Ib4q9e0IvE$hX4Qo literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Iroha/textures/emojis/note.png b/config/yosbr/config/figura/avatars/Iroha/textures/emojis/note.png new file mode 100644 index 0000000000000000000000000000000000000000..0d360af1ac98d32e264cb3707642ce0cf45d0af6 GIT binary patch literal 223 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGaEOCt}an8@pP0cG|a4t$sEJ;mK zD9S|xv6<249-QVi6yBi z3gww484B*6z5(HleBwYwoCO|{#S9F3${@^GvDCf{D997w6XNP#;Is3uv&MRt|Nrj< z-o88=D9%_C!8QX9KfW(tYRVTpff>0q9O7Qr-u;3Eg3G&LkIdM1I=LYboFyt=akR{05z*SssI20 literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Iroha/textures/emojis/reload.png b/config/yosbr/config/figura/avatars/Iroha/textures/emojis/reload.png new file mode 100644 index 0000000000000000000000000000000000000000..1f33267d6e9717d41b952588bb05fd8a47c3e806 GIT binary patch literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrOUWQl7;iF1B#Zfaf$gL6@8Vo7R> zLV0FMhJw4NZ$Nk>pEytvXMsm#F$061G6*wPEVVBK3bF@&*Qm+^L+W6E(EufCe&n My85}Sb4q9e0LG6%-2eap literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Iroha/textures/ex_skill_1.png b/config/yosbr/config/figura/avatars/Iroha/textures/ex_skill_1.png new file mode 100644 index 0000000000000000000000000000000000000000..ba4793cfffa0149bcf2036e67c594abac0e1f6cd GIT binary patch literal 2885 zcmZ`*c{tQtAOC5(_OT>umK1j`(vY$=W8asMl#(ryu}+D}Ff*2rBq~{oF?B6t$)24d zGD1jY>_nItnlxM{%)C?gdG7oEao^`T`*%6t&*yv2bIx5ydrL6C3_kz>U~4NgCrA30zjGjn^`QzGA$sqs0inY3z8QN}XEs@n9 zH!2?ooS7=n%sE3geB^fmI-~_d!rI5%W_dEv=xcd+>JDa0ryYIm#PH!O(-ROd?fd=b zYEQG-KSoi9rX7M`t(-4&+X2s#f(P$?XPz2qze*TdPWKW8WBr}0i(c);$;dr{tFZ=IEGqPkpO#< z#BhvBQ`hHpUTk1gAI(I4i@K&NEbEFFxo-5$RL z5{8iV)BKp9S-D8xi0$J5U1+^ib$b%o4l+`26o*#t{19rUtW7rbkW8YzZ%BNTnCY_x zfxf6n+$WLfb1Q9&+H;o~Xn4C%j&$Cjdt(3)lBIVx-0rxGQK6GX)2h&A%D2zr$|4G-_sFV@%h1oa!jSi)hIbhAJMVPMJGyiVwW;(pg! z3;CH=5k<0|_~ZU_6_IHQTQ0X2s(g%ZHGA-~=hLEjfw2}gU|~tmk*oTIgV%VcmDO;l z($1w75!o~}V4I0}zj-2df0;|e9U++gdfWkOrRfSru{C?Pg>Cc&T73Sk@FCjydFJxt z@|>1J`|$>3T7OsteQzX5kG;eUlzAp%Xx~Z3NaLK&JY0`g>?6f2EUbJQV2r*TGN_wb z{i9?%YD=LiK~7vu7!uU4-XyV%!uhbs4wYNS*i#TXm%3JRjjz!?ZaX;OdI12qqqmN} zJgH;bK*-KDv%OiXxA#h*gP7-`QD5BUBne0@Hb}@BtOFCtehZrCV$Vka?~t6lMJAhT zeQl`IPvo$rJzNf%%JV+!7KUbhv?oM>**~_V3^ovDdTTV;7j)GJt;BUay>FV)*UuCC zB+6(p4?~rHn{~HDxlq7tQU8{EGF?kvR!gJSk+jiOpIUR|gsf=DekUrd_K>(L5mc-i zR?eJMz`5=~pETV;uHr<2Z#2^=t`{+smuEo|IOR+MRq4|j(Tf4$?fmy>fn+sk3)Ff4 z?PyjyUE_ev9-r4T$jGx=H=}xk%Wf3vwRYVQj}&|F6TuaOO|i_p;40cBJg+3Zd6j9q68NkLelb`yMY?X#r2;6vI^`m>I^FD&x*``P0u zF~6-x{S`fXOc%4ji&~p1aYH$kx61QQkQ*m*Rn8csxbcal+L81uv4UV*&JjG9{$mA? zS2${4jn5|zhN5sOy4@%tq0{~0C>(~j`n-=>0z3%+Y7i37Q5vx@H*abb9pcPtZiN z%K+*s4<)HnU_OXAdNj?bBZ&CWyy1~E3=1Qi75mGYUw%^Y_2!0&tM!T!;p0}&^i+8@ zgKrK_5J4Fzu3~=1TE*bILKW-$iNt{y_Dc}{dAA@Doi3~GM-_9@8AO_K)Ra(=GSQyT z`IMiSeSR6QEXju){RDU5c$mxnWsCDx-&eY&`o`n6>TR}=j*>|PHOIfD`SkF|$D1Qu zvJBH_2WFZFX~9SLr7{&C^3jQJ`FnOBgoTHjjE>M(vf3nO_+W-gXA^kFn9rMVd(D1m z7Z;+RUdN#D{j5e@JkJqb!xdXX3Ga^K`4^mfjR@%bv#jjg(}3jQ(pPAl)eE`9Y79`% zF7LMZrQdomCfod3KXJ-3#EdozKpbqT{|YzO;uI}hYCO3Pd_xdw8Ox!8WBWHVb7u#5 zr<%hj>t#3CbqxI}-u>c}d_5RK{9ezdM|9mA&HoZ2Mb(!vU{kv3 zuUx)Xys~Rkm||178u>6M0PAY)1B2r$PZviXkh4O<;I;Trw9SuE$-i|!WkW9!4xUP5 za$Xu{$!|E?QnrJc>*OmRz>c7IEAEeulAiAPnB^@Kg57hYv3JZob@=&wEV*F5ruU6+&CDu)t_WGFp z#JluR{RgDC1?|y5Tbuci%h!D!GzgSpc612dp7~ll?mgwX@nJCqAaAl-+awW&SI7hPw&9%#E=@uMw$wGz*3xqj+BOF>C@MCqU4|78&7tYzOy zUZ5^5rP%$R-<#z|efn2x!bMvd?bU_aenG__!#c-vQWXff(NZh6 zLpbgZ48$=!#&*|2DowIe0sFZoxJ^VJ;Fxj&^+A_yDO}p?hE}(pks(BrZnmywH}Y{* zMd#*izdMeI!KWdT-j}DLl(S8qbY@?o5eySJJH!R7t*rqusi{Ih$D232z^AX%EkKOt zUs#x9o6c8fH!vYLViXa=jE5SV@h_*W;Z7U9W)}=|d5u^~65e5zkcQx0qO&HIO1|d) zr$BDMF|94Ox`PL)oZgG5k)2U#d;u!f5Eq@FLbu0fDD-zVc_b-|jVISmsWg{*NRLnT z=(qP<|DHZ1cBC ztN~I5`^fb4R z@<~1rkkRIbHqN$oX50;K>Qp}D{f<)p@xEm^TaWc*?hZ-lWNKu79?;$EqFE1$K?PY} zZg3LD#Fd!)^(Lw9IQklOU=k13v8uAsB*GY6NBbVEknbfKVYJj zyDABfa8)s7_d-*j=jV69AD$-4tw|#$4j`Tisn>?xnAtt%o_))5hGw`j0 rpO;jvMvBcdv1_>(yNe{`0hTaCWD<7Om{i319s}0q_GT3(UUB~cnxB;t literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Iroha/textures/ex_skill_frame.png b/config/yosbr/config/figura/avatars/Iroha/textures/ex_skill_frame.png new file mode 100644 index 0000000000000000000000000000000000000000..ecd42ae146dcca54f67018876c69776017512247 GIT binary patch literal 410 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!3HGD8EPYe6kC$Fy9>jA5L~c#`DCC7XMsm# zF$061G6*wPEVVBK3bL1Y`ns~eU}EGG)P12IstOd6EOCt}an8@pP0cG|a4t$sEJ;mK zD99588yNaOGQ*@Zb%RVsHBHF(^7#o|)D#N^+K zq+6OB)wpsy#E<(h35N=KyNfR`5fkQcJGC=nne=(fL;I~kNo-zxk2gy0G8Dz0QeTR2LLGD_7YX@zN=sL8dVR| z1R&+4wzeA6DV-^B-p6jZZ>6)|;%wXm0QLejp1lMecKxgw)4cZ*Y`zGP`V9Ra$4w$Y zFQmaDO*-ZVJ3u5`_9aISX8-pm0IDk1Z4WY`c2zqXHk+^#;VykJ0ao+6giyf6EL1SH9Ig- z2$E#n;B1Ad?@^%@gODEE h5%G*bs~H%6sH$^a2tToI_4+R$uBWS?%Q~loCIBS)MOy#> literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Iroha/textures/for_modeling/leather_layer_2.png b/config/yosbr/config/figura/avatars/Iroha/textures/for_modeling/leather_layer_2.png new file mode 100644 index 0000000000000000000000000000000000000000..abd64e6b2afc513de9bb4794d53f15f5860b47e4 GIT binary patch literal 322 zcmV-I0lof-P)C2ia4%LKP}`efr*W;P{}&k(_|QiVHk#C7=~dO#_(8{ z<;0lh`T7niz_IV=wr!UP!wCS=Am3UWR{$Nu^gR2Xy{|d&X|IGpAOpLv>-r{$dA25b z%*(V0NKgP0LqR3t$&07*+Ys1m5g4aN>D>K);}U+VrJZBN|rIb`d|P57t+vV U)x6I!H2?qr07*qoM6N<$g2$hYH~;_u literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Iroha/textures/for_modeling/leather_layer_2_overlay.png b/config/yosbr/config/figura/avatars/Iroha/textures/for_modeling/leather_layer_2_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..4faea6d65b021018577bab2b0b24edb8cc59df91 GIT binary patch literal 181 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!3-p)I`?e@QlbGqA+A8$OGhHeL?OyTA<0G| z%R#f)L-Tr$Cnr#Xu_VYZn8D%MjWi&~&(p;*#Dn+kK|?NQLjh;Ux0kiP+ZQEGR$6+H zrEa6KRC3Qpi*4(Eh`w$Ue%-b9`GdtbxHR^abg^tQS)wRy6`JRve_@@M{tJyOVzR;IuzHz8cQo9?rhG#&F^^uH5I_qyBNV-*0X240Afi zHHS0iak^hu+5mQbxf+16U;yHb$2j@@&E5b^uJbYQF|G;%9GH}GwPQ6vRE$dzkg9?h zr?KJ$NL_)Gs#+LeU3~{j9OURIpdv-%>$ZT$6(Imnai0sA78l231$bPFq!^c~q}2V0 z`IkNK3(!$YpbUz|t-v^OsX4!nO2>P~ieUcF3D6Jfs2|O_kCa0_?zsr#Aru$A2^eBf z?>7jof|w~l=mR_s@)k|Pl&wLG0RL1KRRbL>brc)}Fh%7>RKnbcAgZq;U=dY72S|IW z^N*M7ul_(sUCU!!s?izy%k=mv3Glu>)g18-;Bh*4cS77_Ts6R@s=#qXZ3sYlIy|mX zH#fgH0jTSx3m5>=C3@RT_m-Pq1p(|+f7f?48F!VPfSmlQ2=EsfFIg{V=5!qin3G@4 z2N1ycV*TyTl|xA{`?>j55WwG4EL~r?J4!-8PJT6CfLzV^jlcoj#+$6ti)~s2xX3d&4 aD`cPH!vrzhf8N^w0000ujP)Kn4&WeQ-WEtf$C=UKJUm1l($mU{vCUIG$E=~i5Tl%L(mx32&! zU;?O$wqu$coG!j`YowW^C2`iSY&F+vkg{#gnEwLr4S=nQoDGqb{Qx%j^Z0&MCCLB) N002ovPDHLkV1ivOZl?eM literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Iroha/textures/for_modeling/oak_log_top.png b/config/yosbr/config/figura/avatars/Iroha/textures/for_modeling/oak_log_top.png new file mode 100644 index 0000000000000000000000000000000000000000..27f1abacbd69f24400d62e3ec6200c56891f5105 GIT binary patch literal 273 zcmV+s0q*{ZP)vl5xc}&SNroi0*7A!8)HsL<+6Q0+jSq1k&oH9@X1c6pY z1PEY_00$Ukx-H-gGJ&7f06`L{3{9H^^sNTG#8)84zpVRJ2|feHm@aK0p+`W!Cc$dZ zB2e&E-7jk3i^#rEDSt`mePba(zp>Uh1e>goKmu*y9m(a literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Iroha/textures/for_modeling/trim.png b/config/yosbr/config/figura/avatars/Iroha/textures/for_modeling/trim.png new file mode 100644 index 0000000000000000000000000000000000000000..0f74169823341663f74912d23b5615fd1adf7563 GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!3HE3&8=$zQqw$L978hhy}c30)u15YdU4vT zpqMW2Ld|zeW;|%MnY4ia;4XHyCYj7L^JnHVGcf#EJ?FFB#2_o>dET1oSEANutbKc` z^ZCEI*M8e^y%nuIb@f*&-zn|~uYe{qFgz<+Si53r*zdI;u2rA1Ni=bP(Y<4~bVZ-I zxZzR;`_%W}e=lqkH@J13UBf%p`u_v-`lOePr!Mz0e2`>M57Wq-(DL9E$QVyoKbLh* G2~7aLiB-M; literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Iroha/textures/for_modeling/trim_leggings.png b/config/yosbr/config/figura/avatars/Iroha/textures/for_modeling/trim_leggings.png new file mode 100644 index 0000000000000000000000000000000000000000..509e2440789e72a85fe37e34c45fdcdb87ccf18b GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!3HE3&8=$zQW>5ujv*P&Z?80RHYfvV0V-u+*wBCPx1{N@3a#HU-C1krE}gPFYi+sw=hu}7 z;*8{tgrEJH@%_xqP4CXzZBqUG^t+_6c%5{gTe~ HDWM4fe7ZSG literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Iroha/textures/gun.png b/config/yosbr/config/figura/avatars/Iroha/textures/gun.png new file mode 100644 index 0000000000000000000000000000000000000000..01c2f8e3971aa7e7de5a468aab2ba0088d2dee66 GIT binary patch literal 672 zcmV;R0$=@!P)j_idbxt9U}t+1Hvg|DQW>m4Gm|UQI4KW$c+_W?^p~ECB~N$q>1(b zBt%hxhK4hPp0*NALha3)7YrgI5(H^t022e90W}>@Fb|+dJt@hC5;YINrnEJR?iqA&_ugejC_V74QDQxFZrcPp^arp2Bd-D! zJ}!qyGrnbb`d=8UXQUb5(y2p(!{Nvw>g!#A*AoK?Sdbl0?M4}0Jy2W`j#JTr!&~6R z;h^;ZdJ%{Z;Ho=tf&Mk?XyySXh9M4Eu$AN306mICiabCl14}aw&KMvn2@P~nNmL9R zIJ^aCLu^Ro0pwB$)(9I?nRuu<93u}5MaK_|dSKK80}TMlo%eiZ-7ez*0000DSZF{43tSk zK~#9!?OlCr6vq{RdmNn4K4Tdh2V)BeNbpDHCIliok@*LN%tvifh$GN`#6aCUTYm;`W>REYpVF<|P$_bv1gBO8vPT~VdI10+&z%`z{xm2g2w34RZ$P#He4X$B(2CJ%w|rh$_=lCuau;@- zfXd3f(&dI)gh9Z7Bnl4*xd7SQv}=e6Rv}F05a`fa$0RFu53IG6{ zzH(k#KBqh(2vFDs06_MCe4XdccfqhkcMYy5ZaF)>%b?ZoX7EvLx=v=X$L`+@=@>!u(0eb7!jZ1>I=6Zc$JMhKC?GdjhyJ(g6S<*w+tT-H)u{ zfP%t8@ZNhM|3I*>A6yyf&~f*!?C*U~2HCs-BV3R(d6L|?oTudr3JW3F*AM<4pQ8Sp zjCA=owR-+xpcitpCxE}l2mT(P%s;u=6QFU$7L@1CH02Je96*lqSu>|X&yTkO0Oacn zJ5E5pCyUD;tgu*=14y6u1p~0;(>+q-iY=(+{w?^^#nV#biY;io%Wawyq=t&O6u$KA z_?!p;UOlpvS@_hicSZnk%jebA0P^>EB+O&{=BgURax1NlAk&=fT^-Cui4qsBJgYt} z0Mz8Zzen|6z9-AvC{UDJpc>`1cXdGj!%i6TJ(kmke2=03VW+0DMY#pQs-L_+_gJmO z>#@@MI;ry9-UurN0BERq3ss)mE0xyQNxa^kd#pC%K3zW~yT}N*#-=M!4nFCZjHK%o ztLoRPhgV*r3mO%@4cGg-(W*zD4PO1`8eIM68Vn5fLHW{kK&O{4T?Ye$eG%#S;~JZe zjDU&j#r2T&#l#r&SLxKd=2<0GiHRLf>Eg4vD7I4aWfB{92ZQ^RWOR?`c^8 zFF&vSDPfTbtEY_mwrz$%tJv7C;t*kD)+jLQM2(GwSk&&K#>OcYO@_HZBFW&HPnniB z?v)in?Y(~dB(wa_fAyLq3;3*S3>(vQ}>=8>GXQ@kmxI8RAMo-%$O zggE0QFNhGiA9dwF^CL6)F)#oCM?UFA0Mz>dI7rYFNySY0Mn9@v?9ui6)r&pSfkr>7 zUcxWuOf*HgWEDcD%HiHW(A0-qk3xVDg2N|#$QC5{!MR@a+loxdOnKxQiTPaKkh%pV zoD3sN%aa6X69B9(k8Cy=Z0X?9Ze1uGJlc)cug;d( z03aK200v=Awsi1t7=-n&XLBP%InNq?9?S!_T@S#%%mixf1Yy0Tm6dNN6epf&*rjOv zqIu=$^RL2hmy2BM73YoCM()l1?^Qx!Vfa0~oT*d8oH9IpB#d<21ONcd^77)B^Gwxu>0)j!m;-1UpvCINQ01>eS zVGaPBi&+kE*i~7xirWqVE6m+809-DQ;u8-LtPZ@T`r(Sc3Nglm&JREMO}bCheT_CG5s65 zEr2deABm&7_>napJOB}!uG1V&dE+$Rgl&W;28M@VKwy`+-rrCF;Jx=i$R}Br;qUPQ z06>NMg>h}v90 z4>4k8(;QBDC?umg^7I$2V>QV9A_14F>9CP-5;ss!e!Y_@wGi6M!w(!r%+1WuW@K1p zaf4+GBBZ&Api0iySrZeHDJ<_$6J9K#M!;s*1e_$QBBokeUnl9E;nC$qU4T~3%&bo} z4$x!%%~dsscf_8Ru0T(Bahg>}XfZiJw0Br1NE#JVA$(1zk<)1wFfru-7DGpKG>BOw zNUy@gJ3xsU09Fi9v0lfs+yXGE=^X|~gC#g(8QhE}*GWlAQerIFiAMgYHBSr1sP$Oes#=6UMjI9jz`&?-N#(C(PbNKBA{@Y*$(eO6kup)^06kVVtrmY+qr;Qa z_Kz*8_urRq!=7)$hrd_E3V=lDc`P;i?m))0S=Mm??enyZ4TTinpNtu!_?}-lGonnH z_Xcce{78|uf5{urlruwj1A~Dc%{+mDUT~)=JL$78>&4Cw7#j+K+J^;*+I;|krkokD zf5{uBm5<3NfVw+O4QIbxUB|sw=Di^UVpO7T0m&W*r2t?h4)yzCsNbIy05FF^XS(>A z0Ks6uP#)LQ{}vex2IOl!by^0%f{Kk1iPzd&;JKm_p$f)lP3GQfa?M~WNGj=ax#c`$ z+6V~_#@+>X-0KP~5RVW_=OJKTy9t&Xg8Y^8y89J}a<%Tlv zJuyxCgUVsh3;@^yL_m1l`}Ciz_Hr`x>gbMM#&;>fEg;%Lht#6-W_E$G^#DBI#?h5% zL`5!^MC$;Cm{|Y-z(4+F?5rNE&mV{z07hj;=S|rD&L$`=Emm%KX>LW^{`kHSJK?JW|E9{>Qh=g)+J;UU=3c~j^IaUHmvmRnf8Ny>5; z*mnO%HW@azqPb7qpsl$Tsg-;9zdLYX-yX&N>Wy0|Lb-Etgy%=NmTT_U$7xN4FCWZ{q;rrM}kHKKl?AdoChz=k7FQ2t_hf3515pd zDg2H>#Myq?7I^i4p_XP3bFiLbOq;;x6@PuCgeQBe7dV8db!C^D7>t!ShE7H z_Y3sCe_(}tuzNqUgabsz?yvrN+*D)b7b&O*8=4lN7Adw|(u^Q+q?q)N$DPp#Ut=j| zLuJ+VfPIHg7^)k;TOjh7{akvkAriDIRE|m6!-2%*#pk#JEz$^!Rd2XMvhFdf}{y!e15n0`Q RDc1l1002ovPDHLkV1fcjFF*hQ literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Izuna/avatar.json b/config/yosbr/config/figura/avatars/Izuna/avatar.json new file mode 100644 index 0000000..a246d65 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Izuna/avatar.json @@ -0,0 +1,190 @@ +{ + "name": "Izuna", + "description": "Izuna Kuda from Blue Archive", + "author": "Gakuto1112", + "version": "0.1.4", + "color": "a3e0fb", + "ignoredTextures": [ + "textures.for_modeling.snow_fox", + "textures.for_modeling.sunflower_front", + "textures.for_modeling.leather_layer_1", + "textures.for_modeling.leather_layer_1_overlay", + "textures.for_modeling.leather_layer_2", + "textures.for_modeling.leather_layer_2_overlay", + "textures.for_modeling.trim", + "textures.for_modeling.trim_leggings" + ], + "autoScripts": [ + "scripts/avatar.lua" + ], + "customizations": { + "models.models.main": { + "primaryRenderType": "CUTOUT" + }, + "models.models.main.Avatar.Head.HeadRing": { + "parentType": "None" + }, + "models.models.main.Avatar.UpperBody": { + "parentType": "None" + }, + "models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom": { + "parentType": "None" + }, + "models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom": { + "parentType": "None" + }, + "models.models.main.Avatar.LowerBody": { + "parentType": "None" + }, + "models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom": { + "parentType": "None" + }, + "models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom": { + "parentType": "None" + }, + "models.models.main.CameraAnchor": { + "parentType": "None" + }, + "models.models.main.CameraBackground": { + "primaryRenderType": "EMISSIVE_SOLID", + "visible": false + }, + "models.models.armor.ArmorRA": { + "moveTo": "models.models.main.Avatar.UpperBody.Arms.RightArm", + "visible": false + }, + "models.models.armor.ArmorRA.RightChestplate.RightChestplateTrim": { + "visible": false + }, + "models.models.armor.ArmorRAB": { + "moveTo": "models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom", + "visible": false + }, + "models.models.armor.ArmorRAB.RightChestplateBottom.RightChestplateBottomTrim": { + "visible": false + }, + "models.models.armor.ArmorLA": { + "moveTo": "models.models.main.Avatar.UpperBody.Arms.LeftArm", + "visible": false + }, + "models.models.armor.ArmorLA.LeftChestplate.LeftChestplateTrim": { + "visible": false + }, + "models.models.armor.ArmorLAB": { + "moveTo": "models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom", + "visible": false + }, + "models.models.armor.ArmorLAB.LeftChestplateBottom.LeftChestplateBottomTrim": { + "visible": false + }, + "models.models.armor.ArmorRL": { + "moveTo": "models.models.main.Avatar.LowerBody.Legs.RightLeg" + }, + "models.models.armor.ArmorRL.RightLeggings": { + "visible": false, + "parentType": "None" + }, + "models.models.armor.ArmorRL.RightLeggings.RightLeggingsTrim": { + "visible": false + }, + "models.models.armor.ArmorRL.RightBoots": { + "visible": false + }, + "models.models.armor.ArmorRL.RightBoots.RightBootsTrim": { + "visible": false + }, + "models.models.armor.ArmorRLB": { + "moveTo": "models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom" + }, + "models.models.armor.ArmorRLB.RightLeggingsBottom": { + "visible": false, + "parentType": "None" + }, + "models.models.armor.ArmorRLB.RightLeggingsBottom.RightLeggingsBottomTrim": { + "visible": false + }, + "models.models.armor.ArmorRLB.RightBootsBottom": { + "visible": false + }, + "models.models.armor.ArmorRLB.RightBootsBottom.RightBootsBottomTrim": { + "visible": false + }, + "models.models.armor.ArmorLL": { + "moveTo": "models.models.main.Avatar.LowerBody.Legs.LeftLeg" + }, + "models.models.armor.ArmorLL.LeftLeggings": { + "visible": false, + "parentType": "None" + }, + "models.models.armor.ArmorLL.LeftLeggings.LeftLeggingsTrim": { + "visible": false + }, + "models.models.armor.ArmorLL.LeftBoots": { + "visible": false + }, + "models.models.armor.ArmorLL.LeftBoots.LeftBootsTrim": { + "visible": false + }, + "models.models.armor.ArmorLLB": { + "moveTo": "models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom" + }, + "models.models.armor.ArmorLLB.LeftLeggingsBottom": { + "visible": false, + "parentType": "None" + }, + "models.models.armor.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottomTrim": { + "visible": false + }, + "models.models.armor.ArmorLLB.LeftBootsBottom": { + "visible": false + }, + "models.models.armor.ArmorLLB.LeftBootsBottom.LeftBootsBottomTrim": { + "visible": false + }, + "models.models.gun.Gun": { + "moveTo": "models.models.main.Avatar.UpperBody.Body" + }, + "models.models.ex_skill_1.PlacementObject": { + "visible": false + }, + "models.models.costume_swimsuit.CSwimsuitH": { + "visible": false, + "moveTo": "models.models.main.Avatar.Head" + }, + "models.models.costume_swimsuit.CSwimsuitB": { + "visible": false, + "moveTo": "models.models.main.Avatar.UpperBody.Body" + }, + "models.models.costume_swimsuit.CSwimsuitLL": { + "visible": false, + "moveTo": "models.models.main.Avatar.LowerBody.Legs.LeftLeg" + }, + "models.models.costume_swimsuit.BeachBall": { + "visible": false + }, + "models.models.ex_skill_frame.Particles": { + "visible": false + }, + "models.models.bubble.Camera.AvatarBubble": { + "visible": false + }, + "models.models.bubble.Camera.AvatarBubble.Bullets": { + "visible": false + }, + "models.models.bubble.Camera.AvatarBubble.Dots": { + "visible": false + }, + "models.models.action_wheel_gui.Gui": { + "visible": false + }, + "models.models.barrier": { + "moveTo": "models.models.main.Avatar", + "primaryRenderType": "CUTOUT_EMISSIVE_SOLID", + "visible": false + }, + "models.models.death_animation": { + "visible": false, + "parentType": "World" + } + } +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Izuna/avatar.png b/config/yosbr/config/figura/avatars/Izuna/avatar.png new file mode 100644 index 0000000000000000000000000000000000000000..3f5cdbcebf99897fe207afd5e177714c8a504df0 GIT binary patch literal 28628 zcmV)^K!CrAP)e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{03ZNKL_t(|+U$LId>qx)_H*yd zY*#NXl5N?>HrU3vfB|D0Os}CNKuAb1H3~*gnZN4QJJP;>!fEqy$v1z1;hu7EaO;~IKaQ#fDAixkPJ|sY zk%Q{LF#uHm7XSptt*6ETW$g}l-`$b^JB};?n=}mSp>=Tm zXZG3W;afldH9!amwC~S}ZR6?pAQ(SzYrAnyK!|k>C)Regy^JsY_Tjt>0dcS~eYwA@vD=sMMLF?6gekcI}e-^{ULMntj6fvWPAXi3}7IjR69orwU~o2h(|O4 zOZNaVMSIOHfR8MNa{A$bK%jB}l!8qk3A%b;%Dr~@1e8Zqke!_%T`_P;fUxZV_=nqp zxSHE@t?(dp>Z<ilC&zWAQiFZh~-bK4z6r2#i_$?hp*z()z?WO<TwfNZ?MD#b-{Q@SI>uX z#u4CkmEaSqdi-9dWjVhA%B8a)e(7i=YRaKGdh8*#fB;97a8ndhhZ&sY3OF9RCLk!Bik+$4lsbH6%Z)+m~tqmABM!jIbc&qLE9_ZC($zx@AmsBWiB)yUk~!#NF`{ zyB4Pa7$;5%V%I)|q-u5ju~bkXYjlRp079U)HsZcN{-FT-2bedz4&|kuZm)~kTqmD5 zvypqjf`+`_UwGFV{qb=S-MO@fRt)}EZOQ{6wso+q25XIoxjb4tfIF0c@&4HgfdLf& z{muM#T7O_OZg}|)B)ZydCND8fFP5SjVZO#dv^apxbY`5{G^~Eclm<-y4C-JeHnI}R zWk*9kcRKjQVVY(&KGD1t0y2NBbK_G$@rwvwbU5fGvr%)z1b|Xg2xVMM-H+E|7rMaW z+@Yzd!CAUcGd3QzJ&$aGrKCLs!Z{W{``?1>8J}0g$#chaE08z`swyl2(bN*oc)j4w zuLrzj=>~^IuPbclf{>(u3Wrnq7*>P*3&ANPtk?i?yiIR}K)(rqTu^@bW`2X(LoK-J zTbCoee>(smYFig8(oYoA{*F2xA| z57o`>@xx4E(lMn1!LJ++>B@Ns46laZlG6ACKv@!#GF#w}a+^zFaI<4)YB$J|T!RWi zY$4L@Xv4a-_}9Jv%K!cWaO|vM@Oh*jw7=r`eOR?WqX6^yTzLxu0>FwzF9CAQ#+=+? z0dSjnr8)uyTocm9YH;GzQMOEg;Ytvja4^mVDZwMZ`bJJXIUp85ciO*D%x}<^P1~{X z!b`Az%_^vh>8Kc9ohA%V9KwcXlI|pP2%p*_{?x9W?A`)LcMiYPJ&DBdj!4^n=!rn5Q_pQeR~N8U=VZ#A)_`f> zbCTA=aU=~0Qi6_;0{R_?fX2doc!Edg+7VkX!IJl}H)j5VE5NJMSJ-kc- z5QTxfvJS3K_kt(X6zxyB?*B6m5{g57Xc@?kc8E`{&NGfxK!(q8N+yf(%!L6U6|67qx*z`bKKUsve%a-STy$Au$ zI%#}XF@k841waT83d`x=SD^5?^XCRoO0Z|qA@ws-7jWpb=$$s zP=F&`V8RRZZ4fdAjrPJLzy3z?2!L#;;e)^S>*pmR5#0NyTkz_??gm#B-Sp=U&Cg8V zOpg)h%%A9tLVA2T=$2N{w>Lw4@FVbqGiT5A1dI66T8RJr2nKk7?C*l~;%f6#2mz>~ z04+iAdzYYUeVa2Yx2_5N`BeyoW6lgf24d+91)lkwLpa#4BRst!&g};?4^`;Gub+P! zP}RJzRc*BohaFO#m7pl`yHbQg-S9yAXT>=#|I%R&&{LoHRofoeBs_>sixWdI5Z$pN z+zj`#G_pNe%R4XxdNzRAVhawXmF0KpcL9*j{C{-LO8od+M`6OaGW2IXAf*KV{>Q)Y zhyS?|Z7t1uYQ_kNX*d8!unYubXA1)V{us0+V!csRfq35sAYs{DEV{b|;%jR`cC@E% z)SVrW{<;`+S1TfsIK=HO;E#NgIo!S{2;YB}A>I{1ibbAeCRUO3CVoZ%VcTSkXq&Ra zA!WFe`I7>r20gj?`!0eD875y5nx$xX-8*zQ(smX6eaC9M|rge`P_6HH|>JT zn9ZE$I)4%)t7k@h4O{?_6#X|DnWQo@v3xV*$1Z)_GQ!iZZ$^Px1ULWyV2q=@)Q#^i zoQY#*4l4+Fq&uy#{{46Hy|Yh8`|j-yG0bdEu^g8nEm{NVxpnE^NM#WJ`5{P525stu z@a$TU&r_kZifu)OMH^81+6M4N8?#U?DqIgP10wMh^-i*s@Q$CkQ&l8e0+b_bZPKYW zdqKJe&vA#7^RB34b(YuFN(V;$Miqo7=RG=vLgf*dg-%bVoj4}Of!4SQ@+ zA7_LZ&~o>nX|z4JF}aZzG-4iHb9>744VscQ$RGtcR6O+lLv-q$4HmvG)G6SKND zAu}jyI_MLDi4YKCn4y7jPTwOy5(s z;GJTc@P=UKCO|8FfZ5t=VM3fSA6tMro6yaG3xH(Pj8cNL7L3E?7aazlr+<;k(XK9B z{ng8`c+o2+695FL41ka80ih=lC|4W{;&Fl1RzN*Z1M~!m0(eCrn9!os9trAclc3HX z5AN5n>g4!CL1xuucat(h>Dya?b-R%%E(ose0-78fNQwurv<|1f4mKg;-LZw|f=@f<G#{e})O z$tJcjpaQ^%`ll0AGp7#6^;b>Dh+)2djSGmB;GSRJgh%hX6+}*$0UG6)L!eF{X=-wZ z)SovNvF|Ma_q)Nsw1pU519t9IlyVV>D5e!4UwItZq&k2AZd(wC95)f<+WDHW$i@Ps7t*f=Fg~4 zBjGp_vH}nRT&f0l*8%Q2H1TOrhn)k@xUWF1Jq@h%FnBA+fO~2I>dF|q0Dxm>O@SgS zdAs+`t5<-Sfxsl_jvfz42LCC9n!Z0nnp-8@mZsHCgg{b)y^d5i=@}O=;1+<(Me)hH zrnKiq)Ry47g)=Z=Tq*jyS=bBzc^LQp{uhuVVUtbe<0m2Ujbi{we{2C4P5#Gp3IP+NiBO$xYw64aWLK}MVf zwdNGC%A>(5WL@e7!AY9!7iEsR$B^yf`Wk& z2De?S+80lfKo=eZ_P~ePrE+$5fIYt&vpkc||GW zi9}xBu656DguA-n3zXPm0Cv~issD{~U=0tz&9ZH~S+BwWI4IYIM3CBo2%KxhTZZ*U zEPO{#@$`aQ06l?#C?VL}6wG)&5|zO@aL$PnaKRbl`_&R40M@+oHg5Uxjo7hnB?#dV z1q!U(3CJqInS-e;3&4pERBOvMK)>C*vljvoyO!X9-wk^8T#%#cv%As#UEoiz1ZxYW z$_(l>p=r{~G|kUsYa_^({ovagL2g|Ha_b^s_BilUrh$*D2Cu8aqSs$W^R{jI-!A~J zK64TnQ-RW2z#RaRN@DZA&IFi!)S>x{YsKS8?AwY|XeD=`_Z@f-*kIQt?u^(hHbZb* zrG?aXG37Qlzy|)h4}NXCWPva>^f7#t@YI~sTVavn+o{cE`F`Rr5N zbk)_^`O%voZ>)#3Vh>1X9Ik(U1QL!p7DDDki#CJWDg+ontgxGh>Ki&4c565DJQB#9 z2_Pqo%hK+Q0}n3;LNTkP6hH;f><$=IzWV_9U*9kfJiQ8dW;O8Cs$};Y0I+M>y;{98`}5 zg!DK7GqD+|m7cU4z8WwAUW`P&BfEwyCk9H4q?F*A!hr+ih%q3iPRjm1A6g2& zVQ)|2fRvyjVv2QSSPV)4ITphse=m&bU*?x^>XDFMXs_zjiena3WCb5@v^CX!=cy~gN6paP2ZD$Bw;q3h{zgNO7KRXV! z)!u$}2^bh&+wuYKUh-ck#6kknk9R>>wNr-=Ll5X^*R!N-yxUPA&aK5G&H#=>G#*w5 za?*tCZc=98Z)^hpXfqN~t=_RB4I0RJsVrM9`=5^i09!uah!yX=RgmX<@$n51sI4|Y8C;rAu(A}AT~(sfm#B}iPO(F8wF%{ zk3}H>5($d86G;E$aGJ{NxSouhEd{5mK~|49Kt2;SQMF>ZeCE<|C$d}(8+39PXf z2OCxZvqgN3s4Y+N3oT(_d}R$T&OxTsgUlNX)cCTy(dBy}JhvK3Gzt?gmTddyxB(K1 zjNjkzy@EW~+HyChj!nW^#QV`cJo5CC#!0idW1i9~vP-z5n+_mqja{NhRd3Lgf5 zjZICsdC}jnp=lf9SIvQZ#x$M3wEluB;X3nM{omYX@xQ$!m{^*JTbxfw(ykx`WM%`% z#j^o_cBnhr90Q*C1hMvZEf$az@vF%3ku84xHN?8Q^8PF-0j@Z0A__eiiZSN+jE;6I zg-I#JQOC?MugiyN*}2;ak}{GS455*Cybgg~uUVno;e$^FFauuw8c z1VHzjgJ9Rb&Tg%+qo>#7>Px18kp2|{TU%Oi`^IOnV#SA!g=J=Sm+k*NY1z%3uC4uR zN?R_H6fgpaKtL})7AW^*b&o=)40mJ1(*DVvL9+}N9f%#kV+9EO0l*RCDln`vjb#&U zbyU`6YoQqj07N2D%Onp+5Q|y06y+7=j=!5bcUE4%SJU1-W&xGPtm*su*jCpB4cjpo zOfU2?D+l#+M)41|L5Cfw1x^N!0BGxorr*Eb;Ha>(Seg8)YGyV&`VLD6y-3d&9Tno^l`n6+pjvEKr?= zJ1}D;=wTYnxEuiIs;2#^{Y}#Z9*l!=sH%#GmcN0H-TB91s0{eV$rI9xpipB*O>AfM z9XocJ$CFPyi*H}{J^bnScYqKApU-LvT2c~#*PB^zQg0bVDSsKJ7an}je8|ih#^LixX*<3c z-+4kq1-`#<7XJ9RkI~c|>qjdExaD`Z;<#0xApT47>NV=HSx7)gfBUF?T=*6zNRPti-QX)uCfUi3u|opo}aBzi2vK zk6Sr=;&KZJU}S+@7s?Jt2b!=IRMF(|LQ~H@`AYi0P-UMM1f%C=3SUK_ArP32LNuMb&#yi ziP@-C(XB>sf-Z0bNb>dEbSfQ4)Bi53|Mb09!?k~2Y^ z6PbuT(o{q)KxPn-e(wyBV+zDHCBUUeUFX6*53NT$ zq4t{)XxqC7zq|ZW{Lel2W8&l~NbWTVrfGf)kFTGz*YN8W0*NailIV=tF`M70YZ6vn z3O1z{tiHmrIRI{rCLkR4a`T=jD#!7=B@daY%syL5CL@cG6$Q6Eu}-UmQ>~5f5&@Uk z_s?r>YC$mAm6HJA9GEw)4sX7~Akq9Njd=S3FhvF>E>lxGxz&j5aEEhX+>jO6=VpX} z5IFwM5%c5etcsNQ2`RcDU_xQo(b$zSMqm#LR+M?NP8l6CrV>BAW+r^T{xxz0hC=DF7LxX@&4#G$ZAQ-SxfpFvnOq`&VvElZ!W=9FLWq{dxa4-n~0ALve z00(fO#mPVwWgbLh+1GH_RQmAsbEo3S>DB$-Ti}&@|A9yDz6+7gP5=aP*l^wUEXw-F^!rqtqZ>tD3N5s3||3J^gsnOs&?sEmPeo&vNPXnOUzSJMgrdkQfUj$q%u z{n)d2AC@nE8wo{4D3(8Wkq}_Ty3e)eZU+ABj(}0etG%KmwS7(=%|ZZ#lFo2$n?Yy@ z_$(_y#G(=a86G?VP+jRw`*1@M83A8*5n;|bzIpysxP*=Pcx6*sh;gCly(j*QeLJ?} z##`=yKM=5niy9^%<8VE;3?xa=ITq`ktsn^%YC|<#kFV^p=acm6r@+NW0g_-$|I&Dx zsUR}5#(?i^M*IgSArXy%i4-lZE!fbw6$g~*3f{>MhP&tE;WoG2{CmzEo=U$NH`I98A&utbPM{+p8{);nts4Xn9 zpCib+60E2Mz?QvTm^M9gP%oK!Gt_|)f{W&lL#-qcQPeg^QwP*fwrN73u?uJl;pNXi zL}x4nHmV$n^_6(;Uk?r3BAE_cHeHZN%yos}T-`K`8|l1ken<1{KCIV@w&= z?&$2cnTC)1+8Hp*Mq%8|5tTzFG}aZy#CPuR&L;+vaOuk(m#J7Fw*lj

z;EIA(H{Pvj3JyHE@g00{;8QTpQ6hLXZ22Y}wDj_Gi!AN#>DjmE0M_p4aE|ZpBUO!R zKu08jDj)Pzpd;F9vNj_mDMpm;?qJI%BtgjuF{ct|EhGyU)XO{yJktoUNL0lGx1F5! zTw6yBl^O8whIyO%?Ib|(Vef%BYU>(6UBduRz>*3pA44#z;;v^tMQc~0-#6#QKl&-o zyx_}_TyCusPc#ncUmt7ThU|Ofn9)#XjRg~_!}ued!}Z8gkk%-|i6~@MLHzP#@bG>A z!0ILMnF^${`2fDCq%vj-fNUAU>vE&SCn6N>Tc5!1{PA`iI&B)tDytz70!{&<_v_-$ z0ud-wLu^uFRKNDzLGAy!NQ+*-7s6A=(x7+#%0&IN{}lr-b|3#Q`VuW!QE{h@ySzK`GjXKY%z z0^j}FFAylN0Qb5fUv@MkqaUC^q0Vc7dc+v5&j8aZmV;7tRqBA>(#{AsgFj5x=#Marz-uIBfnoq$} zDhIi(kQgTVSHpT_uh;uU0A!>60YDH5_BVwwvM#ltr=hL{T(1n{QaRumiOz@we@O|b zI{=U1F#~;BQ`smW+>8>Rgdbcm6>qQHjb}dGi~g)EUiJ2y_)8*zD{uS}Mvfi>)$fM- z{RMDuZh|~+7`LZJ3S2<$u%?zMUB4wT@M zE3VR;6lz1Z0STk)n+OhyuZ$<`62YJ&;5S>aG9;ttlk))Pj4RO)^UYN#;PVBv?KE8RJ+m zqaK7%Jo{n)b|3z9$$R+I-aYuypKk*dCH(NqU()8w4N>2%%3k>LjB`|YMTBBXueMdg zq=~4h8wKZ#FRKBF=?X9n&TTf9<<>A7W*_^mzfJm>05Qvi?IFaXvH-G{)|6mRxE9mv z&HyI_j0yk|3b{K{T#ETej6_+$ji=t*p4WVE+Rr8gilUjB`?hYujTfFj#IeN?H&9i? zWR@Ez+357IEd+=N!>Q-cz&{4lYC^zh8%Oo}FJiWcqeizMy(_SZ@wJZr!+AfXLCDyTJ6C+yR8+YFfj}=N9qD%V(isn7>CekmyJ`#yO}cfKzHR zc|w*ol$?%~8=`@U1N0^s*c&?gl1sFH5X|ZjZB=+0bJ(@lRI^IU7W6aBc|y!?Kh(kG z9O*<;hy%!x`HNBjY}(e8Q%yi$$>+-K1-T>v-#d2-=1r|JO?G1$s3@A+JfW&k7=y|= z;tAO_>xXFYQaWL6ZH5|ipo&-L+3T+j0}&XcD3>VrLP6Pzp| zW*ZBZmerG6j}NjK006YLwrdg6{<1hK>Vfv1jzu(F^rzn2iiDzq5-pz$Ld=b!Boaeh zaxljM7z3r$5sd9=S5BUD93+1!7$ZqQ9wVI3H6$S8`qT&`^_OG?m_tI1o`ALvQs(uk z%|t_-=Nt{`$1i=dI6;r+00wDyS?1_NwZw5F=OE89~KHRTOpM}wo!tuq1 zIAai!ffbQCgP2A;3br=j0=3p$$--qbb_5kfTyoVl8q-s~$Aj76g*Y4eQH_ads)68W zA5MvJorMEn>85}>EP(DoKt*o>fKnjX1bD{udC|>S>o59QMjDggk3!+0g8%OmlqYdt6-5QY2%n7Ix^tsF5N<0nmq)c_Pp-JSH;8HY-! zWyW)B4l2*|!zEYbm>A?Hwxs;c0egAjs; z9{exD;V>BENF?Ie_W3pwK-1st!-uGUwY@v0Zb*e*d(;&&)U`h zJ@TZ}z$D4Zq|9mnVm5oB(29Pz*^mMD#*GFT$k7VY)+~m>mNhVpiwwha(mWed^cH|1 zQoQ*7CR{RhdR7*9M|%g#E6NcHh4F{q+=>Ic_iO#`0^SrxA7cE2k9>X~1VJ?8HZGS2 z?s9R8nVl7=Zx5KG+Bkrtm3r(FIuS$u0?j4WHMroiD*etf5?gJ9 zI{HQ@pL;HRUawZsXKUTYY!1FTGLGoY`-sh#HwJkcmBP9kpa}uZv^Q%3h!F(Trvhq`;NvHcm#qdclzjNyLZa<*$_r+W?Nq-GZtVm zIMt*4hJa!Qv+J<|24`T<{7hn>LY-yEtq4{<^);rTva&QM^S!F765}V0AL61xM&%Xd zC@8;xx9Xpcp^@bZ@ zwrt`KQ=by6R{*o|3^nTri0M8QzXd>&I-R6(^gBAEXle_icG!?PKUm4`zDX|0^37eY z9?kcBQIiNrEVe zsHv?nkMiBc=v^85s8G&zI^svKC`v*qTD)9 zlZP`n=fGMo8k(P2vqY#dEY!dV5Ic^553B&-dEi1-RiUU#&dmRf%Pv7Y5*y;iezD{L zx7%%*?G+U$D=$M?c^S&f%ZuU`1x_$EQfdxhO{U>W38pADd3`7zgBcky{dlg=fME84 z3=U;zo9bZ%1nrWFaJ`m@m{X*UX~RaHkx@Hv&ablv0To9KAQQFkMy?&p0s;R}!A(C= zNl6JxN=qOJ0t7+G+bFHPC?RNRz_a$&VRBPNx7W=|jDW=Ze(!sC?E-9L-aym%=f+m>Q%==RURtD=?^N_f~Q)=joHBp zoU^kYl0wlPZ}TpOVHZ!wm6u$OgdFeF=f3*fcYxamKIsf; z`2I-@Z5I|?Px*0M%)kH9|sJ4dwl%9X@o-C(Ms z;Q#J@4Bx))YBM*iOELh!_H8@y>8GE8F^1NbHtg886Wcd!gU9FT_dwGS<=1>46Y=5D zU>O=qB3SFsZN&QrWv%#XYapZM=gle_9{4f>^}`@|+}Z$6O0eJ?=VSdXxAqAwYG`-A zp~V@2pK^rtbIdlG)yU&hV&wDfmV)jgaJvhTdS8@SF#&s~;Ghry0I+Av7X0I{_u}N! zPeNyB5FdZA49k}+12_kDOK`cJAP<+9frRHTpM zr(;!-6RaB1is_A2DU4sTa3aQEaW=RSC$hz>r%auSxzmou2kVyg>i$FRt!Qc7k1@lC zIqr-B@B^9OP`R46{H%jM%>+Ng5!?%>qMf)+jOH1_zG-;2an~q6AA&(|ZCB7av(h&6n5g^nRLcr0PwU_2T2o4LDVq$xly%{b_A`+?<7n($;e_p~wjEnlw z=!&69O7-2hc*2+}R6tZIAai&Y)M3oRQ{gHNSj?ZsjXdkJi?ROKpQAI>ne%suc66Yl ztrcTN47d9BQ7bKHzlhA&!xStWOzZdVdFJH9kk`Q2BFDA6) zG6Z6X`l_|_BW?)?Mn(K7s69@AqYhMCHTM7(wAA9ny~A-xa~Wpa&LznvtQyt|;uBDH z?QBf^!I$AKE9ud^FR!V>+*42NbtcJYOk1@@X;n+we7!p%V18Q->JwgE zuzfTtLmo}D18~U#Mki8-#zsRS9Ci5x7=O>@s5|Z0oYv&jGtWd>Wks*PN8|o|85ztR z#L7u3({blmFr$}<>H2fWJa;QyXom*_y~>)=Ja6i}THumMAs!?GKomu|TrRj=E>u)j zm?*jGnre7F9uq1%m?)o^i*_l2=0N()LT%8CqxaRM4eZU{SA%j@GOfRc2@`PJJ@;VR z^y%<flazZv6 zu;e2M_+fQ3&WVglTfoyDO$wD@<5=LbtFK0RMMYMSaHgtgUcLdtjyXK#+{B}%;plPG z@yX8hIo-!+AAbm#fZ(J^U5do9_4qS;{u8UghwWXMjs!Hu30iRiVw)h;yEQ170O$({ z$Yf+)!zA|x$YwM37kNA$GaDg_Vwx;Ob_*klV$R?5V50=#*i_YlNi8`*iDL}&es&qo z8e5muvm=yZ@0&}}`QAp*fE%^5r>3A7DWy2|s*AAtHyfem2zY8~YC`q!VHw)>aXlko zboV7T4NlBn0nBU#My&Q=fDQDcX9_rMD8gV3C9@Dg_Z^m&kxq6MulrP%({ zXAtk`O1p=y`qsBmUo|49`|oUP(=GX=!XKM`>IbtJKFLyKwwQrcO=#5qYpFkz=}jx3 z_jd1~5CDY=1bVz4ts#Ye*c(##eBOi7Z!dab4`6di5bgeW+TA+#mM`Pbn=S#(F~&3U z+_~VPG>Spy*z@$eY1i3T62NiC&IQYLQdK(h-`37MZ7VVkvsE~?7Xon$Fr=M#qW_?y z343b=3BXgwe1=C=lBcHLUnCz)}OOx*+*uf z6d^pxf3@%de*JeVg~xSRaIzJ^%`#vUNJOj(LL;?!P`d!xf`JT;El}!6wRwGBc)i+D z%;~nl7yvX1vGPrwqKw^vF#KnX!=(RSftn*HXZ3ud&28!1%mEmA!YuHhZC+21q4KI( znD+Q}-A<$W>envK8uYaG{dWPT8SYkdAX^UKX}8;~0o&*=Sb~5OVvQ8Ee}9tHSCAL6 z01)#KBuZzZNup>Sl4SlY2m-o-T|=sLkh=maN}4d{o2S83QQC9tptS>^-}X2*U->Zh zy|pZ(fF1MKa{+;X4)a+6Ey#F30Q`{5P?y{(eTIfaQNT81WoWfAsxe8~9-a0V(HBZLfoaPP{pH5KzBa0CgkB z;^CKHL3Q28%%-F)_8J&ca_ z_VkJ&p1`L+{wG@RT?Tk;@$``*KL7n=X$6Pq^PqHGea507gCdbAHg4R4?|=VJy!6si z1Q|h`y0dZx7Qgz6$(tNVYJ%%5?e+6a(L=r1hY&}5a1dM2Pfrt8^?@x4A^_|lpf~?? z83+irG*NSs$%!9QhzsRfooO_Y;M~*{1^S!C5(xKs**hJQhPD9*3Mr zn1{7NRJ^fhQCeme+%A;Nn~=5_w!FC$!R>o{XL-mn{`}{EQ9gE!@>kGdu)JPjY6}qV90=40Hqw@l!GvW+KJQf z`@8=!#4+8F-|s)DzK^0PNF);GVK96=7Bgo#b{E_ugy5amUdPrgThg8%bB*S>`VHMi_cKv>c_~gfVQSiQ z>%$zX(mmTW?%aW{j!tXb7m@*c92`8U=E1T87?R9>Ge~Gz1{8X0a1^@$uzOAVoll!N z3s?Q<$B^9af(Gw8^pW60RCtO-qmX48vMd**GxHlSzK9RrdoS&|>KT*ZnO_G`z6oEr2!B2nuHT?9qKkrs?#k#s6E3#JJtmgym-M)=#L3=#G z@2DI!>;>W|CkBinA??~Kf zk%-6BS^*QTJr9T8cR40pdmi$kRYr{(fg5hP7>sd9l7QK>C*T*qxEv!#4nxD(u^3ig z*ZqCN=GNP8$XORiY}XipJ^Ph*yg-^!V94AWt*8V52b@Vx0EAFn_N{N@t5+<b}ybjml0Nj!Nw^-T21<(|6;ryKfs364To4#~r>K`Pa(GJD<5)|N! zgD~Km-?jrZijHy9ZstPN>lcd|nTt;V@#6Fv`ly;U@%#O`3pkD2%F_8nhKyvJVz=d)(*> zg|aGo5d`X}Zy1P9Nc~Okzwss(oN@~4M~%ws`*wB)aqF!QAr@0Wb&FM&Ror*qQ@G}u z3sbI_Bne-=;tD+Z&_n6pueB9r)m08rc5r7HXWpt#Qc&Zn$vgPZkO4g z!0Yuo`WW;?-U2os?JwY!D4gYR26r|q;fSpuVi5C3e zyhm+TsN8ohD7E6?d+m9NqG)SE;)mPqhTH9e+wFps!Q>ohDr6iWxr%e?;&<`ptFJmt z^KdwVx8C{?KmYmP(ca#f^K<{wmrg=mT}2vAFW|lRR;1mds;c6*cixe3hR@k^)a4)`Ze5q z^Zkg$6qBj;?(INhV{?j`9}Y)w%Ps#xI2=j)o|Tp5IQ;O@0DxFb!TIMOhhO|+Au21& zGd8B7l;Xm#UW`a*Fy-9i_uP$b8#g+qecM&Oju0}2{}Q|TuV2PEN7|ji(dQI;(FlOy z!-qqOC-NTyAOxKqo&EA1?2H_@!C_<3C=^A3qC;g5Rw|?bNbA=Vf`32o2sW(V=qTFJ zPvQ34A2XY+wzYL&(V}Zy=S-giNc70Rvs%!A z6!(RSsw*%Z1QBfe2Jh+$fl>lVZzuLeZs}cU(pt8~)1K>U-vRi>r9HQ1&1d-V!`0Ze zs}+fa;t(jGe6kKRW~7bX}^&~0rJhRvz+)@62>?r3xeA4yba-8C#K6Tzv5Yj2=A_J9acXnBSmf%hvaL-3TFAwQ?nH zyz)xy*t{8vET_c^7&wf*TQ=jCU;GSARgI!QIMV$l64*iy#(8qBKyt(|*(w+S0g$h8 zV1y8yc-pB2GtGOtO+`_Wh$oPUC(zN+ftKbL^N7V_h()!7se>O`SjZ9Tkw|m^1Q&rQ z?}JO=h{qM2amG=&5w`qRt6(o_X*+0umj?t8LVd-e52i}2`u_nB3# znaG}+{rL4o`1|d*fGM)w#n(IlTW25wAkG<*#s%u>L8}!Q1;Lkp)q4<7QCR?X6DZ%L z1==(%ZTHg+P2Sqliq4J>1cN~YgTb6S+{6nIw-}=I)Lrm05(z^j3H;y(U&e_i9&5sf z0idj`1d}J%Cn+vq%$RB{TzG!3+`!}J&xf}cGa}x6=1FYZyxFnet*T+G4L#RG{C4kv z8*u<5IG7J*kk19OgMgm6(*iJ@yDl}ud1rRg%{3)*XzOb>61Yz?X%Fo=#onS04tU(=}`bAf7UOqz8rsj;u$oI zpJ4g{)|fvnGhhb*8$!;|+AL4nyQo}%%BreC+Z%r{YRp2BTA(-yr4*vx_FWJt{C=N_ zl=S<3aJeKr^T;EJN7AD|=ggUfnKP&6O*nDRF=N)OUKg?b?{9yNXe453dJe=HhYb_} zPB;j-)mMOUc=L#FFS@}XqZ`HyI%XP-ae%?nbA)ql24@rT1l(>Hyj~ByUT^wY5iS>A zeD>+ILb(vtrsKws2kAkeWC~txTfY{!{p#mvYiZW126a)uZD1jyBLlfnN^EumF2Wc< zJ~Zih7hX7IpZ5b%N(*MD=Uf!TwbtUs5s$^qBN0#J9H;qo#fMg)txzsyB7yhbc?aKL zxUk1whnZ?O+#WYRTlNv||KB?R5XANN_s*_CHUVZUsqyC_1z2=3005}XVGi366(^~x znzmJyLo4&{<1%quVbQ5`k3zujGhLTAK3v|d@QTPHo_q2MT>q0FLzMDcQ$Z=kuAMt^ z-(UZVSTqWMY0p!O(perJkK3F_x%&OZc=@R(aN_wFTA6-(^{)Z>H2^~9i}c_V0E2eJ z>(cv+PUbVv8(}6A39EHg4;s9oemKAZzt4+nE#~dlMm(fdQwWaAN%`VD5zzYX*WM?{(WyiKt*K% z7!tm^x*8+u>#*gsjYAyT4{?C3H;O1a3UYd?C=^5yU0q=?#_*l5pAXJCD4{rR<}{P( zIOj=Y?s{fMN(iPOb_hP(y0gb?+ana~SABxo)6di!g-|Sh`)xe)&_i&0y{H{F40Gnr z&A15Biq%aZQ;5)U z|D@jqKsRoJ`SZrlHX|C2ny&|g;Urf|ySBc56xy1bhJ5ONas%xCXudK7hQ=LelH4xb z^}Amp7-1>tI!Y;Cd*v0JarW8fo=hYXc=SL2!G@J90nq~psY0C*5l)Cs4zZCeXvG_^ zLRD0J>wkU*x7TAf{vfvMKb|MnD2M>qzHKK62vnwG=k@_rFRIWz88=s^XHq|^0c$>4 z2J!`Ha5>O!b1X#3b#~!Fmg;;&0D4NL3 zEiH|W_~i{Z06JvX?U-K8L75Dd+FGk~27xCauz1e*t*UBHU7O$d@57ipeHNx2d6X`O zNKe*(?k-hvY9_$vFBx>quc|{sNc!bj_tqT{(sK^cy9TAzkSq#;B>->;EDo32)hp)j zjWT4aiogHrCT!lYUJC#s{{^!}DF7%HFly}hp`C7;yo0q;vAC?E5+BXE27+^rNfSoH zrG_A~Sij$MJQBwLyZI(;{_In;y*NME1ppxgZnx))#pIkrRaNtFz+n@KL02Rti2`o_ z*P{h+q4XQY#F1LoLQ;#?tn>K6!;Vduvx;NC-+Jd`(^)rM+U3o9!qJ7w~ z1>KQ!5c<-wSS%|>Hx9;_1M_aj!`rWAjA8t!kr-@+l45~^xSVqwIpxq^xt3e^^<20W zC@Dc{c^L?$_;l_1yiHr`OVwzw`2ha;ms`OU6@&w)-Q2fMK;{}1>*lGbs5~fwYMgUN zhoSB^0UNdbNTTmn328gz+Yh-fm>Y6N9hhcz<&ncJFUO{qX!3cvY5{!teDUoChc~Q&luf zn1Ef|wgCV-+S-d&@x1cj{SZYdV|<0=c;iK03{-qJuVD^SO5k>dhF4dhwIeua1OVyl?CNf)ED(Ul?aGS)IC9P$toZ1o zq5v-SL>`X^i=TKHnDLF`u>cBXI*%DQ0eg4v9Dt2WY!BS+*cd$tSdUwRC*Z?17oUg9 zGQCuk06tIOf|@Q##I%Xy@y@bULpFMzY30(Tjx`nufl`D47q8cwHTL14umDDl8QX6H zz~k}2D8TLudhLvP$Kb?cjvQ(-s?&$7*5TqaPAd_bcmpRB`I&p0{n&K&0) zKe_7b_@CSVo^`gNrmPgfPzd2@3>?6B#>~WMcL@w!zx^I(cq_3!)?O4Yr{7n&BD11) zdbCCmbWm;hcbBi}bH!UGI%mN=N2i=GI%UE~`P?pTViRNVOCqA}?TECsVejre=xAw0 zysHb*U=U+Gr5Pve%`6!<;NOo@T2SUMdJCYUvI;J@3-MTNXtx6p^3ck9Aczb*BMN$;VGpE`27X{oL&h4-cP$wET9Dtjm8iN6y^aB z6$IH$Sc-R-ufqHzdpGxy5`7S+AY$vb9SDX(-~irO`~lXj{~R8l2kYC~90NESo0{_= zS_V$g`h31_-I|TI3_xE%Kt*o>09t36!9;GCg!`U&9^bj-{DL6&CN|V#*Zu>8>X~GN z>Li-lLogIVA|V5mq9qi<53qmd zUJ%CN_Ipw+z5Z~cie;H3NrFp~`o#Q$%LO3%bdyjNi0bp{TDw42Zw2;hRz%39-~(R} z2ZX`}ZWvQhh^8Z(cI-iOTRW;N@;~g97a=+_q1QUpRFq-%w8Qjg%dz0-nfUP^{sJ`~ z$6bGWAf+Xjzr;VF_x<3mRhV5nCWDK@afG)DAB39v zIDGqp@Nd|S#`Xh1SOy|a2InHdekqQ{z7D7uq+pr?YOlk_HNfk3Av%EL$c9%}nysxX zN=xvKFP#BEE8Mb!RpN;RLY+alJ?sxNwwFfno6$Q!L%W`2hjZ2bn z-bwSo!68zLW2PUTwlc9hrgsP{LBJ8yCS!S#)-Q;JVnFmR zhK;PptRKw7V|V;{fUTfB(!Q2PaDil{p$H)uRW}NvD56bD;Ke`-wh9N2rg-Z0#RV}O z8Rz)fx4vm==U!P6f?yt{B_-zJ^?EUD%AuGu{cy~lHU*3^upEYRrn6RR3lIm%7fFQT zy~eE>&%3FBTCp%DdP{Q?W*#>WN1Sld!6N|Tu^5yb2PSN)Q1G&^4MXiTb6B(-T>y{A zgMi;}9)6$CJd(Bgr(3q?^@CbnJP=K6q?B2Bt z3AyJ06$8hs>Q1b7b;0d+!|iqr$ODK(q6K^J{ze3PJRb9~Yj&3;nd88F0?p+6mS;>o z42f9rHZ!r0<4(U%3#Xbw;SfB2AHM#*8!>F$AzA%RK2d;qw*bs9772IjA2;(T{x9(< zHmDsS03=C-BuNMa{QZi8GH<8=q^b-nKHZpy4QdIJ&QJ)gok29Vv_cdF_`Kc}MmLUP zq3W{I0S|O_M{9zO=tyK%0v8QG4DkY0VeZ_z1z>=$#E&a~`U{9IcfWuCJ_P~oD8TPN zW;H47Y-|8TvP( zKfCx0C z;GARAj$H`GV%Wd85ub0{0hs_B*M0^{2n2z4JGdh6>lV(lOT;;595V|WRuJ@|R&>z__=7^jSRcyPp7rpryS7azaK|B!b4~7JRmI54LXIj(t1#Kytf43DM@!>C{t9 zWU!!(Ie?Su#uu#spdk3;`nPb~tg|y@RtTnf%JF$TKXopWG3O6JxV-~%JOQGp5WPMS zP#iUX0ru|Nfp;E%bZ`p*Kr4!QzkLhVmSmUSQ;OJE%$8iD2*wy>MS<5X;qez=#p=&K zM<^5lQ`Hm;$J@)1;w}64W7w!s1rXdoG#>AB4@1W$tFI{PHIqpCxKmh8fP-VKyDVn` zU|7BarSN*aCa}#exRqEGts6hb_Ur$Gk=LG&y0cD(=<(vzuUw4vAAgMIo!bVt0QjUf zid~YDm9}DxK~V;e?@tJ^y8em+BEcXOMFsVGpel-)U3lZ&4+~;l@B(!ml0*?Nzxxp` zJZ(Y#-cu4mC@t7M_lW^qE(lZr=NzrEFy7p|$rOak+xJ4@9G*Y`t{w!U&+9eUIo)XV zbUWa{?p;`a?VsU|6YRa^2?XE$1hro|1;bA`4%hznkNEq|H=%jw_Q59rA|k`u${6-b zYSyM|d;qcSkw`Rca}W+7!5KtCQ0ezW07qj>8#o6JZK%WNTed?^$Ov0bJ-U**&J@yj zw+o?sTLJl`VWnm8ND`v)fdP7P#*pah0tkT`i{YXhZh$CB;GARf)TtnZ;Qptd#_Huu z;HFM%Kp+H6mH}M=c=T5A`53LPB;shJan!*B4vwymw<5l52Rgp87Q@du8Q;G7H@Ndh z*CX8CHaG+T2hinF@kUi7r~G0u07Z<#qgv5}k&+J*DExwi6RO5wW%F)4vFrc0cji%Y z-PN7{{N7f3uhrdBtF_vaY)O_ZTe7hYwq-Vh9l)3+4r3F{;*iONKp4n5bLM0Lax!pE zCY+g*jR^sU$pV3}1OtPEvCU>+z?MO>ti{?|QcK-ZZ`HNE_kQ!otFEQH*6#PJUQ6$u zQ&zdV`qg{C-|v3!_uk+A-TPd{=YM(dus7P$!kDFIXNh`HHY%OTVcWKAb@CJOn6qQy zF#y6@1Oh1~>2$hC zoV>AeqTs6udLmIiuyzkN5=|)R%ED0Pm36@Xg%hKsGg)F$chX>mp|NKD2+tol;qslb9NR$~-$()rVs_I<$gHO}{kq3FzgYV!w|L3zD z-1WB7-?@+kJ%BuQg~5P}4=aItwq4JGUp>F1rms@YZ`Vn-k94D{3jJ4K$A(>d7#*S{;niOSjheFEA6IFF4{_Fo{>wkGO@_~mqc)qrTM9d^QUnRgQJ_47`*KtsioftOfvNXJ@fZ z6GhVr$7782M~mPw(ibIE0PJ}+9UK^7_3*H3fyEp4?&Z;c{Ku-SK?uRc^XKUsbic=; zjU=U+bmuGM37SwynK@#r!Q{uj$n~H6k8t2%EyF3=4glqnYg4U<`O2@w%3(Oiij}gX z##d5B-qh3--31ElDz#PwfB%(l@;krrM%OH(5)V7pzwB}&o3ARyFy8*~!}Rv{aB2Jk z-~5|TRLp6);?K*u=YGhB>-V}=G`8V$dbF-2kX3D{lK-YFDk(cpT-7=MvCqKuH~WVH zbcB@_Vg+6_aeQiWl+CgJb}-_V0WN8G&%kS%%Ib9^{HG6ou&8W3Jw1h%Y$XNk8yKW( zaD>_M(fW#Gy1#4Gi8+=)UaieybfJ*7EyCwho_xP6nzUu-uC`fTuR6FM&dt*Xf450A79A($K=_vm?Ta`igt zs4D1s={3Bn^y=${MBI55)`T!LX!cN0Gm0hznbeHyAW%!pT+XvZrdhS|bz`}(e*wU@ zEM9o_8SKJIww3CK+jS}tIt^<4_gr4#QaY34)Y-B5^T^IC7KMRi;nfexzS65Hv6@oC zeQ$XXy8*=)ipKMgf8(;K!G2EfToRloe0u(Hjk1C!#}EqNx==g!dR4TGwc)NSi`K_u zuzCnq4LYx`1Zb-BTEg6#XU;eEcadnUITqkDASb%I=&lp#pPiZUWSAu|rRV((0Il`| zlu}|#Sp;qGqRu;R$@!UC-0W{AqMEzca~T36kqD7G+p1}g06+jU zYJGO}k-J}2eD78gkY@~_(wAI*l13oy72VJo7)tW=kACJVa4TKW=A0HG&?1S(;5RwO ztcQ8>ZHwgqvwCL^!YyeVusjK9_{qO)FI5jmNDdEk=Gal!ul+)LlDnjhUZo?kMDnH$ zJNd-HC((p|np`XgR;4YAtY&c40B?HB>p+5G=p>W*5q@U;RqKnx=8hZLj3O z6W?fX|2ER)a$TJ=RG0J|l32@(Ml2JdJDvy7>WQ{QUoUsvb1$F&AD?tT7-MD}#!_QQ z2O^2Ofx>n$DS)u9GScUqF^?J=!mybzYlBj*aMH53zlS^a-R3-jlm7T~-URE16`=j_r<#7Z9B|hOo`zU6!wVTbhiUn$wS1O4e^$ zS5)jsB+UKy|5|aJ7v@peZQkEhLX}HydTOdT=m+=j=c%uM)tTpzB-F&}-2b)DbL-pR z=Ne#jiUFh*8|h6$X@3JitFmMF4fOW*d2(%42)=pYC~p|rQga?um%}FEcpM=F`CN`a z{`j92&zNhPMk0|YSUH6+{m=hKYT|5lr4o`2p)9tvxcB96X5g0Xi#pBvB?voq`UKy5 z?5W~C9s1EzrM`ipRQqruEf`KVK7(PK?nlqn4pddnig|ZT1OQM^Zn)`Y`ue>A00ErN z&lcV-h5$oRdF`q#e0%J0OV`cK&K8qMk{dVj>Nmd8X}KjO`)+?}u{&(7Xugy-yY{_? zAAI3c2&HWn4Ub)A>J?sfd&(MPNP zer|Tw6Bj@Lr^8t`&P4(Ms3(2>No*mwyx4X7?L-P)aqf7< zD+qpm29u)FCZtj#fENj5!)5q42==2M!T zK_y(+8Wf5`Pk+B>V>7F^zb5920)T-vBP0h0P$Ud{P!Mx|?rmgEB4#M1A?q3#DAwkW zCK9~$p@)h-q;42Zom;qYagz9&h-P*jz9ghFh7>1#Op^mpriZfYUy4rVY#dil1wg3T#GiPJPoa;Ws*NV4%@rHr^%N_UjofA zFdLM2YBtAbZ2z}dx9vKF5X9pN!r@Sbu~{i%3F*`ZXc7Q~3lGZye~1C8(H|*KVd{rqS1Zy{M=ECS{S0{bGbyND{#j4a&2*K3k zqz56O#8J1C0AY{ta0OK!;IOv#N(J^Ku|yy0%&G5{@PphiM4Sq;ES?^pG! z?71t1q6m_MD!qMb4Kier$K8y;x4q}x{L`oZzU^akUdyq8NZY2a{Q$7Uz>02!=p9HF z(pa7U+_G;UKmXq2Eyo|`lVl_ii$-hu=ItVn=PzC&URHv8o)JkYnVfJ6e&lmGzVqq- z&Z!GoAY0cBo}HcsOZv8snF#6V@hDP4A|~ibs70lI>CRFJfpzmP%r?75WG|9popF$nz_9XyF39o&{ zPR3WALsb=Yt@;BA1Qn5w`Q{4uWVvyX&;8+VBNPoqGZ1B`4aI_!hl!}h zY`T8Jh-F)h&Rk@jPXPcV{hM!M=Fqq5CN=?>+0IzvO;=q-BpM~1O11TS1u&uK>C3k# z4$!tphpMW}Qkbruo1Adl3Q;=)x(Pv zei7N#8;_xslG#FYQoo95#bP(rU3M0vdzo~dOnu3!?Q5c{G%*majKp%RzoICNtY2TE zd4(KNO;w0>c~hoK)N@sYAm?JAJ1He=w(oZJ{>_7@@izhp)No^lVx}dz*~SVX?BfWT z;c}1}qZ9}5G6|?{3_#PgWz*$&q6>k*EYfC)sv8Wf9`@v(!_jEXSb-6X@s%%p!PkrE z)XccA?@v)w!UNlza_u`|jHQ&k@qq_A($YMo_=o|N%TkkojAc@CRnvJ6tz_0fEo&hLYsFTaNq4XvDJF=5{NiiFKuW%{D z$#Vvvs%r7T%u*%M*GDWCFLqB-io+x5?(Og38g_4=EfPjVUio_>0_T(?Mxtx*d^0|1b7DA~ipiEvrs9Uw{M+@V7I7UYz7;P;|WlIrC)OZ!sE+(p>tbyK-q}irs(m zVfg4jugn;Lu4%3W$@&HdiOiqr7RCQK%3sI~N)8Nq>c-Ui`KSN<&+F$4)R9OeOkZDb z@ijCw$jHb5Z+I|)rVDh#c~!f-W+-UU#$%hi_yTr5>uU^9)W`zmuQd;yDPDE=z4y8b z^v%lD_&Dt-5T-StKTG020&3R4YZ*vFVKh~%L@ZJEMM#E*hY^a>c8gc5Vodq4#p9(` zQ{CO&bt$Dp#TFw7SwDCu6i~FrzOI#>x@ZMABTpESm>ax0o$$U{R-F;YqAlBlGuth^8{s?Ak{yY`**C^K9&*)v@H`W zpU2QOG-2|K$G^*ttydw1QdE9`OSbonVEoicNOqV3luIi~KyK#Zmlyvm-vuaNFJ77gpovoSfOVBrHKi4UcamTfug4LMqzgJ0NopJ#J9x(nl69k z?sV8CDwdf?$!3ZLYi``J6@b^?v6p}U(KEgoGT~wZit7wO*ECo6 zPDeIuC?Rxp-i#vPRd0SPkAD7ho(y=;zyPYI5vp)lqTd& zG(f8oxQ<2IS6@-uHt+e9KSkP-4}Sdx|1f}N#Vz08@v(J=3duN14G?g)0|kk0?~cAk zP=e|@!7XyP2aFg74_$0{Fi{-q2faMHy?>7Vo5PsiA@ zaV;UkAOyt1K*}i}w`Nr-XuRkCcQpLoy>Eg?{;>VSvf=OJ)_4tNewaW!0)V$Z{4ihs%x7G?-Zi_fcPg_;S@QoE z#slWTCmJCXjgg&eZvls?i(d4nx9gjAY$sV{KoDPT6n`A+S4&L4_{Ib~1%3tqS%+Pj z3KWWh2)i3K{B|mLubcC20>$?j0PcF->lhpwa`onh*R4eq^8M^Gr7!gjORWYn(Vh*K^o2-*4a+NPHat z5W?Bl%+EXRl}cafW~t37y{;F_c?F8!CIGni4fpX)m(y{3dV4D;yO8{2S789U9&X^P zd$oQAnM|f)D{%Q2RZ&;{Rw>lKC?Ws0ZEkx?TBp5w@G@ndLZ+RBDf_|%vb-i?`S_IO)oWL8BzIu~ zY#VF~Tu(P|J(nooyJDA9RTXd-S^#xuIbE7O}Sbxf8*xOb(inLlI;@MdTnR6;|@N%pVz+r z^-k}Bw$qPL6F$Cz%%4W+Ynsq*poOwv$YgtouAJ)Rt(cJ7y31r1OR@gTq5Z91r=4y>OS-n?KU7s-cIUq0|Nrn?-*oM! zj7WrVID#b?P<~NpC?TtRx2mdg)z+MHsALvXVFf}{d0fi9=*@qJP^}+xd2+>sri?U|WL}s#BCr|qa0Hnm8NueZSf$#5k z00_royyW&fP=o|2IOB3b&UIH^jS&umkXRB_vB;$@H3?d<#z)GI53gjgZ4D_kgfKxW zkSjc>twKgtkT{|AH{})xT|;JbSSLl zLCl#@Y@R6^`23A6tdi`*8a?Mb#V

z$DYYB%mcRfaLHn_uTge6d|#tz>*e64je50 z{?R9wU%2tnC!gezcenQ7)44nXNOUDy{w}xVi~sg-O@H>OC%%VD9(8KG5CD^ig;jhL z?jGP#y5d-)K4v|arcnoz0Rs5R1z4B_bk}Zj6w0kAfGKUR z-g*rq>o*`=wy3S@|NQ85DkHGP>1_Owd=A_M0HJ`Uf@u**AT0yH-EVm-Yc~|ybQg*_ zD!RsfzwtJwFo%TSdGBv^RGownT(fO^FtgRhNK+A^5YqHnl^`KN(*TK`nnQ_2gURwE z0Ni@#9fkAxCC+_u>^y@*PT4Mhgm5Ii$t1C^Zc;99PqzP2B$#>7^vin{Dhm4ct%#7} z#6xoa>}a$c+F$;+eo6{zDG_ML&RvxbH-hBQ>ZM)GLtj8uRfHlg59M$ zilePxi!k&O0F=1{2;uaCpRas0mLmVmY3zwv6iXscX0T7BpbY@fYM%c}ODNK+SiX9_ zt55_rEA$59fk%^0A&ii_7gg1cCfx{CMMT0yK$=hDlBcFPGJ1mbc^z?Vn*3v55}tnrbT}C>}*fTg=!qB)TRMV{=SD z_5zdtZ7<;im#As_-oh_}3j^wN`m?Hk(P zCf8839RL>EAzK9gzt>__qvqKxxY%(CRdFiwmVcL&ONtW+;he?bT$Yok&oMxR(42z# zVusAQG;upGBMSc_|M458*iamBc}e0{&&Z?&IFD~}-L z{_HCX+SMDKx5>WZ4dj0O^NJf1g#%ZZlKfPbxonnhbmYk_hkksV^|>AlRb{OzkYtJr zD_#a#f!$c~0N|whDZ!X|DxdlCxA}wjJm77h)iev4ccAq5Rx$ty+Lo)C+kX&E2$UBy z{Oo6k*k<+nP0W-m zkdkja@x;oVrRA^zQEHVfC(@i5Jwvyp5;~sd#8;kUa4d{rXwW5CuM2FP%0_XFMh%Js zxzYeYED1F_EA|R3GBKCQ5)K(HDth7Hv`H#GhhYoUtVQnoqa1$xIkt#Cqy>GZQ$^VV zMwBjC%@ymXU#YaeCIHm01XNa$CMewEsr>TrG4|}ZW-$vWcL8jPEo~G8_K7JD{ct~h z(~_P`3f9RK`Mkh#B6w`3w-AA6<&k$)0qe?GaP3Y4YT202pSf>G2tc+e+fev2o*^pl zPk?>=Jg3fIqB|>znJV`FOI&z-l%y7guwYYI6tlDql$EFH<;7n&CXr_*A!{NA;>ZiL zR}2XF#syfI1mw(*gnS+)NCoy(G8bpDN2icy(wu(s7~x}ideksOssje|E&Qa{JhUktV$EHAld~v*BX+WNvUUZq|BmsF%`)i#GSk5(thgPa71|R@+ zdK#rWfugDYEh>4L$Yam`l09EF5mK-U4MN(=d=P(PLkMI=^WUBKo}Pf^Z4EyIrt0VQ1}Zopeu;AN#xl{Nav78#+)Og;2i0l$#&eb zcPiSy5_S+;PwdNNkw;%#Sr&D^(d7ye1Hr$Joa{V(?h8c}fAu$2fBuU1KH|##*3_dV zvL&ls{8*Vkj6YA|hmgm{%D713-LdnF89^Xd1^@`Y5hJ^gM+Z1tmY~ zD7om1A!oCYak>)8qlL~v5}3}e*vAc$d|Cv6`bj{tK~NwNw{E34t+m5R{E3i*@cv)?ViSr5wMAJX;%_Z(+r>}whiet^4N)BmOPeI zYL+?OB#~`U5?oh{5p}V7wPV4hbS%1E>aQqYJm0z-vV^0bFD7gvg~3Y4ta^3OgT#56-Hj110?eB*%AXV zOPO=yQOT^<`d41mTer+!uZ-XQ#osRL@BK#m8!5l=I90XbvKae^uQ+eYqPw;kq-A;~ zHj-{D#MO!Q%!CAaArWhm$g>k5CCBV(gbEZpg3myoH%b}6{1p@fs3p(;#s96kNLw~y z9#`IJByL6fy}sX9Pj5v4N?PHZErE^LOV@FrJ=9U)7IkWe{N_(A19k2og*i*~;#KCFy(T?mBz-g8h#@iM-~#?;o`y`|I<5e-qTHNleQO6wvDl*|xgw@AXZ?gf@&2 z?=?|es@Nlh;Q6PYA*GnED03hyL-|{B0X`I6$H(VR1~cff#P7PPsn5+#Ys7m4Kn@gt zxh^M-l7K2f;6u@M!EE}$69_h9E=%QaXA)3L3}7J;EQMxvLf-Ry{kXZ``U3p%b7woV zO4q-{*Glw(?>dQ0zyElUzUw*zSP4`mkU*|95pA%VL7$I60=a@EI3^c}FXh-LpKI!K zo8EU_Q=gyzT(jTf*5_B83lK;kfdmX7kU)GPty_(IB)fJB?9ZomKnxgui#?P3PLX8^$x z3nY*$R{{VCBoLp`|8|Ndgb+)K18jQVr)p5AcUS$n*Dg)1`)MR1sBajE&qTCwQ3ebk zkU(6JW1oC($#H{DS^oe40tv)t)L*ojl4{j%C^!)q$V#@v)m_Bp?bA0pbFh@_chd4# zFo1=q1xYJtF|Fo9Y@K(D1y5U^AC<@R#~5-7hX0N^GF1QJLf z{#X7*01$vcAc3?`@jI>jRRN$D2n2u-NFeSgy= 2 then + if direction < 0 then + self.selectingCostume = self.selectingCostume == #self.parent.costume.costumeList and 1 or self.selectingCostume + 1 + else + self.selectingCostume = self.selectingCostume == 1 and #self.parent.costume.costumeList or self.selectingCostume - 1 + end + self:refreshCostumeChangeActionTitle() + else + print(self.parent.locale:getLocale("action_wheel.main.action_1.unavailable")) + end + end):setOnLeftClick(function() + if #self.parent.costume.costumeList >= 2 then + self.selectingCostume = self.parent.costume.currentCostume + self:refreshCostumeChangeActionTitle() + end + end):setOnRightClick(function() + if #self.parent.costume.costumeList >= 2 then + self.selectingCostume = 1 + self:refreshCostumeChangeActionTitle() + end + end) + + if #self.parent.costume.costumeList >= 2 then + local action = self.mainPage:getAction(1) + action:setColor(0.78, 0.78, 0.78) + action:setHoverColor(1, 1, 1) + else + local action = self.mainPage:getAction(1) + action:setColor(0.16, 0.16, 0.16) + action:setHoverColor(1, 0.33, 0.33) + end + + --アクション2. 表示名の変更 + self.mainPage:newAction(2):setItem(self.parent.compatibilityUtils:checkItem("minecraft:name_tag")):setColor(0.78, 0.78, 0.78):setHoverColor(1, 1, 1):setOnScroll(function(direction) + if direction < 0 then + self.selectingName = self.selectingName == 6 and 1 or self.selectingName + 1 + else + self.selectingName = self.selectingName == 1 and 6 or self.selectingName - 1 + end + self:refreshNameChangeActionTitle() + end):setOnLeftClick(function() + self.selectingShouldShowClubName = not self.selectingShouldShowClubName + self:refreshNameChangeActionTitle() + end):setOnRightClick(function() + self.selectingName = 1 + self.selectingShouldShowClubName = false + self:refreshNameChangeActionTitle() + end) + + --アクション3. 防具の表示 + self.mainPage:newAction(3):setItem(self.parent.compatibilityUtils:checkItem("minecraft:iron_chestplate")):setColor(0.67, 0, 0):setHoverColor(1, 0.33, 0.33):setToggleColor(0, 0.67, 0):setOnToggle(function (_, action) + pings.actionWheelSetArmorVisible(true) + action:setHoverColor(0.33, 1, 0.33) + self.parent.config:saveConfig("PRIVATE", "showArmor", true) + end):setOnUntoggle(function(_, action) + pings.actionWheelSetArmorVisible(false) + action:setHoverColor(1, 0.33, 0.33) + self.parent.config:saveConfig("PRIVATE", "showArmor", false) + end) + if self.parent.config:loadConfig("PRIVATE", "showArmor", false) then + local action = self.mainPage:getAction(3) + action:setToggled(true) + action:setHoverColor(0.33, 1, 0.33) + end + + --アクション4. 一人称視点での武器モデルの表示 + self.mainPage:newAction(4):setItem(self.parent.compatibilityUtils:checkItem("minecraft:bow")):setColor(0.67, 0, 0):setHoverColor(1, 0.33, 0.33):setToggleColor(0, 0.67, 0):setOnToggle(function (_, action) + self.parent.gun.shouldShowWeaponInFirstPerson = true + action:setHoverColor(0.33, 1, 0.33) + self.parent.config:saveConfig("PRIVATE", "firstPersonWeapon", true) + end):setOnUntoggle(function (_, action) + self.parent.gun.shouldShowWeaponInFirstPerson = false + action:setHoverColor(1, 0.33, 0.33) + self.parent.config:saveConfig("PRIVATE", "firstPersonWeapon", false) + end) + if self.parent.config:loadConfig("PRIVATE", "firstPersonWeapon", true) then + local action = self.mainPage:getAction(4) + action:setToggled(true) + action:setHoverColor(0.33, 1, 0.33) + end + + --アクション5. Exスキルフレームのパーティクルの量 + self.mainPage:newAction(5):setItem(self.parent.compatibilityUtils:checkItem("minecraft:glowstone_dust")):setColor(0.78, 0.78, 0.78):setHoverColor(1, 1, 1):setOnScroll(function (direction) + if direction < 0 then + self.selectingExSkillParticleAmount = self.selectingExSkillParticleAmount == 4 and 1 or self.selectingExSkillParticleAmount + 1 + else + self.selectingExSkillParticleAmount = self.selectingExSkillParticleAmount == 1 and 4 or self.selectingExSkillParticleAmount - 1 + end + self:refreshExSkillParticleActionTitle() + end):setOnLeftClick(function () + self.selectingExSkillParticleAmount = self.parent.exSkill.frameParticleAmount + self:refreshExSkillParticleActionTitle() + end):setOnRightClick(function () + self.selectingExSkillParticleAmount = 1 + self:refreshExSkillParticleActionTitle() + end) + + --アクション6. 乗り物モデルの置き換え + self.mainPage:newAction(6):setItem(self.parent.compatibilityUtils:checkItem("minecraft:oak_boat")):setColor(0.67, 0, 0):setHoverColor(1, 0.33, 0.33):setToggleColor(0, 0.67, 0):setOnToggle(function (_, action) + if self.parent.characterData.actionWheel.isVehicleOptionEnabled then + pings.actionWheelSetShouldReplaceVehicleModels(true) + action:setHoverColor(0.33, 1, 0.33) + self.parent.config:saveConfig("PRIVATE", "replaceVehicleModels", true) + else + print(self.parent.locale:getLocale("action_wheel.main.action_6.unavailable")) + action:setToggled(false) + end + end):setOnUntoggle(function (_, action) + pings.actionWheelSetShouldReplaceVehicleModels(false) + action:setHoverColor(1, 0.33, 0.33) + self.parent.config:saveConfig("PRIVATE", "replaceVehicleModels", false) + end) + if not self.parent.characterData.actionWheel.isVehicleOptionEnabled then + local action = self.mainPage:getAction(6) + action:setColor(0.16, 0.16, 0.16) + action:setHoverColor(1, 0.33, 0.33) + self.shouldReplaceVehicleModels = false + elseif self.shouldReplaceVehicleModels then + local action = self.mainPage:getAction(6) + action:setToggled(true) + action:setHoverColor(0.33, 1, 0.33) + end + + --アクション7. アップデートの確認 + self.mainPage:newAction(7):setItem("minecraft:compass"):setOnLeftClick(function () + if not self.parent.updateChecker.checkerStatus ~= "CHECKING" then + self.parent.updateChecker:checkUpdate() + else + print("action_wheel.main.action_7.ongoing") + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + end + if not net:isNetworkingAllowed() or not net:isLinkAllowed("https://api.github.com") then + print(self.parent.locale:getLocale("action_wheel.main.action_7.networking_api")) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + end + end):onRightClick(function () + if self.parent.updateChecker.latestVersion ~= nil then + host:setClipboard("https://github.com/Gakuto1112/FiguraBlueArchiveCharacters/releases/tag/"..self.parent.updateChecker.latestVersion) + print(self.parent.locale:getLocale("action_wheel.main.action_7.copied")) + else + print(self.parent.locale:getLocale("action_wheel.main.action_7.cannot_check_latest")) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + end + end) + + --アクション8. (空欄) + self.mainPage:newAction(8):setColor(0.16, 0.16, 0.16):setHoverColor(0.16, 0.16, 0.16) + + action_wheel:setPage(self.mainPage) + end + end; + + ---衣装変更アクションのタイトルを更新する。 + ---@param self ActionWheel + refreshCostumeChangeActionTitle = function (self) + if #self.parent.costume.costumeList >= 2 then + self.mainPage:getAction(1):setTitle(self.parent.locale:getLocale("action_wheel.main.action_1.title").."§b"..self.parent.costume:getCostumeLocalName(self.selectingCostume)) + else + self.mainPage:getAction(1):setTitle("§7"..self.parent.locale:getLocale("action_wheel.main.action_1.title")..self.parent.costume:getCostumeLocalName(self.selectingCostume)) + end + end; + + ---名前変更アクションのタイトルを更新する。 + ---@param self ActionWheel + refreshNameChangeActionTitle = function (self) + if self.selectingName >= 2 then + if self.selectingShouldShowClubName then + self.mainPage:getAction(2):setTitle(self.parent.locale:getLocale("action_wheel.main.action_2.title").."§b"..self.parent.nameplate:getName(self.selectingName).."\n§r"..self.parent.locale:getLocale("action_wheel.main.action_2.title_2").."§a"..self.parent.locale:getLocale("action_wheel.toggle_on")) + else + self.mainPage:getAction(2):setTitle(self.parent.locale:getLocale("action_wheel.main.action_2.title").."§b"..self.parent.nameplate:getName(self.selectingName).."\n§r"..self.parent.locale:getLocale("action_wheel.main.action_2.title_2").."§c"..self.parent.locale:getLocale("action_wheel.toggle_off")) + end + else + self.mainPage:getAction(2):setTitle(self.parent.locale:getLocale("action_wheel.main.action_2.title").."§b"..self.parent.nameplate:getName(self.selectingName).."\n§7"..self.parent.locale:getLocale("action_wheel.main.action_2.title_2")..self.parent.locale:getLocale("action_wheel.toggle_"..(self.selectingShouldShowClubName and "on" or "off"))) + end + end; + + ---Exスキルアニメーションのパーティクル量調整アクションのタイトルを更新する。 + ---@param self ActionWheel + refreshExSkillParticleActionTitle = function (self) + self.mainPage:getAction(5):title(self.parent.locale:getLocale("action_wheel.main.action_5.title").."§b"..self.parent.locale:getLocale("action_wheel.main.action_5.option_"..self.selectingExSkillParticleAmount)) + end; + + ---アップデート確認アクションの状態を更新する。 + ---@param self ActionWheel + refreshUpdateActionStatus = function (self) + local action = self.mainPage:getAction(7) + local actionTitle = "" + if self.parent.updateChecker.checkerStatus == "CHECKING" then + actionTitle = actionTitle.."§7"..self.parent.locale:getLocale("action_wheel.main.action_7.title_1")..self.parent.locale:getLocale("action_wheel.main.action_7.title_2").."\n" + action:setColor(0.16, 0.16, 0.16) + action:setHoverColor(1, 0.33, 0.33) + else + actionTitle = actionTitle..self.parent.locale:getLocale("action_wheel.main.action_7.title_1").."§b"..self.parent.locale:getLocale("action_wheel.main.action_7.title_2").."\n" + action:setColor(0.78, 0.78, 0.78) + action:setHoverColor(1, 1, 1) + end + if self.parent.updateChecker.latestVersion == nil then + actionTitle = actionTitle.."§7"..self.parent.locale:getLocale("action_wheel.main.action_7.title_3")..self.parent.locale:getLocale("action_wheel.main.action_7.title_4") + else + actionTitle = actionTitle.."§r"..self.parent.locale:getLocale("action_wheel.main.action_7.title_3").."§b"..self.parent.locale:getLocale("action_wheel.main.action_7.title_4") + end + action:setTitle(actionTitle) + end; +} + +---アクションホイールから衣装を変更するトリガー関数 +---@param costumeId integer 新しい衣装のインデックス番号 +function pings.actionWheelChangeCostume(costumeId) + if costumeId >= 2 then + AvatarInstance.costume:setCostume(costumeId) + else + AvatarInstance.costume:resetCostume() + end +end + +---アクションホイールから名前を変更するトリガー関数 +---@param typeId integer 新しい名前の表示形式のインデックス番号 +---@param shouldShowClubName boolean 部活名を表示するかどうか +function pings.actionWheelChangeName(typeId, shouldShowClubName) + AvatarInstance.nameplate:setName(typeId, shouldShowClubName) +end + +---アクションホイールから防具の可視性を変更するトリガー関数 +---@param visible boolean 防具を表示するかどうか +function pings.actionWheelSetArmorVisible(visible) + AvatarInstance.armor.shouldShowArmor = visible +end + +---アクションホイールから乗り物モデルの置き換えを変更するトリガー関数 +---@param enabled boolean 乗り物モデルの置き換えを有効化するかどうか +function pings.actionWheelSetShouldReplaceVehicleModels(enabled) + AvatarInstance.actionWheel.shouldReplaceVehicleModels = enabled +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/action_wheel/action_wheel_gui.lua b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/action_wheel/action_wheel_gui.lua new file mode 100644 index 0000000..18f89b7 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/action_wheel/action_wheel_gui.lua @@ -0,0 +1,113 @@ +---@class ActionWheelGui : AvatarModule アクションホイールに表示する追加のGUIを管理するクラス +---@field package isActionWheelOpenedPrev boolean 前ティックにアクションホイールを開けていたかどうか + +ActionWheelGui = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ActionWheelGui + new = function (parent) + ---@type ActionWheelGui + local instance = Avatar.instantiate(ActionWheelGui, AvatarModule, parent) + + instance.isActionWheelOpenedPrev = false + + return instance + end; + + ---初期化関数 + ---@param self ActionWheelGui + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + events.TICK:register(function () + local isActionWheelOpened = action_wheel:isEnabled() + if isActionWheelOpened and not self.isActionWheelOpenedPrev then + models.models.action_wheel_gui.Gui:setVisible(true) + + local windowSize = client:getScaledWindowSize() + models.models.action_wheel_gui.Gui.BubbleGuide:setPos(windowSize.x * -0.5 + 44, windowSize.y * -0.5 + 5, 0) + models.models.action_wheel_gui.Gui.ExSkillGuide:setPos(windowSize.x * -0.5 + 57, -21, 0) + models.models.action_wheel_gui.Gui.VersionDisplay:setPos(-0.75, -0.5, 0) + + local bubbleGuideTextTasks = {models.models.action_wheel_gui.Gui.BubbleGuide:getTask("action_wheel.gui.bubble_guide.title"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.GoodEmoji:getTask("bubble_guide.bubble_1.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.HeartEmoji:getTask("bubble_guide.bubble_2.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.NoteEmoji:getTask("bubble_guide.bubble_3.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.QuestionEmoji:getTask("bubble_guide.bubble_4.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.SweatEmoji:getTask("bubble_guide.bubble_5.key_name")} + bubbleGuideTextTasks[1]:setText(self.parent.locale:getLocale("action_wheel.gui.bubble_guide.title")) + for i = 2, #bubbleGuideTextTasks do + bubbleGuideTextTasks[i]:setText("§0"..self.parent.keyManager.keyMappings["bubble_"..(i - 1)]:getKeyName()) + end + + local bubbleGuideTitleWidth = client.getTextWidth(bubbleGuideTextTasks[1]:getText()) / 2 + 4 + local bubbleGuideBodyWidth = 0 + for i = 2, #bubbleGuideTextTasks do + bubbleGuideBodyWidth = math.max(bubbleGuideBodyWidth, client.getTextWidth(bubbleGuideTextTasks[i]:getText()) * 0.5) + end + local bubbleGuideWidth = math.max(bubbleGuideTitleWidth + 6, bubbleGuideBodyWidth + 22) + bubbleGuideWidth = math.max(bubbleGuideWidth, 39) + + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.TitleBar:setPos((bubbleGuideWidth - bubbleGuideTitleWidth) / 2, 0, 0) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.TitleBar:setScale(bubbleGuideTitleWidth, 1, 1) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.TitleCenter:setScale(bubbleGuideWidth - 25, 1, 1) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.TitleLeft:setPos(bubbleGuideWidth - 26, 0, 0) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.BodyTop:setScale(bubbleGuideWidth, 1, 1) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.BodyBottomCenter:setScale(bubbleGuideWidth - 39, 1, 1) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.BodyBottomLeft:setPos(bubbleGuideWidth - 40, 0, 0) + models.models.action_wheel_gui.Gui.BubbleGuide.Emojis:setPos((bubbleGuideWidth - (bubbleGuideBodyWidth + 22)) / 2 + bubbleGuideBodyWidth + 9, 0, 0) + bubbleGuideTextTasks[1]:setPos(bubbleGuideWidth / 2, 0, 0) + for i = 2, #bubbleGuideTextTasks do + bubbleGuideTextTasks[i]:setPos(bubbleGuideBodyWidth / -2 - 4, 1.5, 0) + end + + local exSkillGuideTextTasks = {models.models.action_wheel_gui.Gui.ExSkillGuide:getTask("action_wheel.gui.ex_skill_guide.title"), models.models.action_wheel_gui.Gui.ExSkillGuide:getTask("action_wheel.gui.ex_skill_guide.body_1"), models.models.action_wheel_gui.Gui.ExSkillGuide:getTask("action_wheel.gui.ex_skill_guide.body_2")} + exSkillGuideTextTasks[1]:setText(self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.title")) + exSkillGuideTextTasks[2]:setText(self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill == nil and "§0§l\""..self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.ex_skill_"..self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].exSkill..".name").."\"" or "§0§l\""..self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.ex_skill_"..self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].exSkill..".name").."\"§r§0 - \""..self.parent.keyManager.keyMappings.ex_skill:getKeyName().."\"") + exSkillGuideTextTasks[3]:setText(self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill == nil and "§0"..self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.key_pre")..self.parent.keyManager.keyMappings.ex_skill:getKeyName()..self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.key_post") or "§0§l\""..self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.ex_skill_"..self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill..".name").."\"§r§0 - \""..self.parent.keyManager.keyMappings.ex_skill_sub:getKeyName().."\"") + + local exSkillGuideTitleWidth = client.getTextWidth(exSkillGuideTextTasks[1]:getText()) / 2 + 4 + local exSkillGuideWidth = exSkillGuideTitleWidth + for i = 2, #exSkillGuideTextTasks do + exSkillGuideWidth = math.max(exSkillGuideWidth, client.getTextWidth(exSkillGuideTextTasks[i]:getText()) / 2 + 10) + end + exSkillGuideWidth = math.max(exSkillGuideWidth, 39) + + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.TitleBar:setPos((exSkillGuideWidth - exSkillGuideTitleWidth) / 2, 0, 0) + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.TitleBar:setScale(exSkillGuideTitleWidth, 1, 1) + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.TitleCenter:setScale(exSkillGuideWidth - 25, 1, 1) + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.TitleLeft:setPos(exSkillGuideWidth - 26, 0, 0) + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.BodyBottomCenter:setScale(exSkillGuideWidth - 39, 1, 1) + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.BodyBottomLeft:setPos(exSkillGuideWidth - 40, 0, 0) + exSkillGuideTextTasks[1]:setPos(exSkillGuideWidth / 2, 0, 0) + for i = 2, #exSkillGuideTextTasks do + exSkillGuideTextTasks[i]:setPos(exSkillGuideWidth / 2, (i - 2) * -5 - 8) + end + + local versionDisplayTextTasks = {} + for i = 1, 3 do + table.insert(versionDisplayTextTasks, models.models.action_wheel_gui.Gui.VersionDisplay:getTask("action_wheel.gui.version_display.l"..i)) + end + + for i = 2, 3 do + versionDisplayTextTasks[i]:setPos(0, (i - 1) * -2.25, 0) + end + + elseif not isActionWheelOpened and self.isActionWheelOpenedPrev then + models.models.action_wheel_gui.Gui:setVisible(false) + end + self.isActionWheelOpenedPrev = isActionWheelOpened + end) + + models.models.action_wheel_gui.Gui:setScale(2, 2, 2) + for _, textTask in ipairs({models.models.action_wheel_gui.Gui.BubbleGuide:newText("action_wheel.gui.bubble_guide.title"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.GoodEmoji:newText("bubble_guide.bubble_1.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.HeartEmoji:newText("bubble_guide.bubble_2.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.NoteEmoji:newText("bubble_guide.bubble_3.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.QuestionEmoji:newText("bubble_guide.bubble_4.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.SweatEmoji:newText("bubble_guide.bubble_5.key_name"), models.models.action_wheel_gui.Gui.ExSkillGuide:newText("action_wheel.gui.ex_skill_guide.title"), models.models.action_wheel_gui.Gui.ExSkillGuide:newText("action_wheel.gui.ex_skill_guide.body_1"), models.models.action_wheel_gui.Gui.ExSkillGuide:newText("action_wheel.gui.ex_skill_guide.body_2")}) do + textTask:setScale(0.5, 0.5, 0.5) + textTask:setAlignment("CENTER") + end + for i = 1, 3 do + local textTask = models.models.action_wheel_gui.Gui.VersionDisplay:newText("action_wheel.gui.version_display.l"..i) + textTask:setScale(0.25, 0.25, 0.25) + textTask:setShadow(true) + if i == 1 then + textTask:setText("Figura Blue Archive Characters (FBAC)") + end + end + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/action_wheel/update_checker.lua b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/action_wheel/update_checker.lua new file mode 100644 index 0000000..56ca22e --- /dev/null +++ b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/action_wheel/update_checker.lua @@ -0,0 +1,181 @@ +---@alias UpdateChecker.CheckerStatus +---| "INIT" # 初期状態 +---| "CHECKING" # アップデート確認中 +---| "LATEST" # アップデート確認済み:最新版 +---| "UPDATE_AVAILABLE" # アップデート確認済み:アップデートあり +---| "ERROR_INVALID_JSON" # エラー:予期しないJSONデータ +---| "ERROR_INVALID_JSON_SYNTAX" # エラー:不正なJSON構文 +---| "ERROR_REQUEST_FAILED" # リクエストに失敗 +---| "ERROR_NETWORK_ERR" # ネットワークエラー +---| "ERROR_NOT_ALLOWED" # ネットワーキングAPIが不許可 + +---@class (exact) UpdateChecker : AvatarModule FBACのアップデートの確認を管理するクラス +---@field package FBAC_VERSION string 現在のFBACバージョン +---@field package BRANCH_NAME string このブランチ名(キャラクター名) +---@field public latestVersion? string リモート上にある最新のFBACバージョン +---@field public checkerStatus UpdateChecker.CheckerStatus アップデートチェッカーの状態 +---@field package requestStatus integer 送信したリクエストのステータスコード +---@field package responseHandler Future.HttpResponse|nil httpレスポンスのハンドラ +---@field package textAnimationCount integer 新しいバージョン表示のテキストのアニメーションのカウンター +---@field package isActionWheelOpenedPrev boolean 前ティックにアクションホイールを開けていたかどうか +---@field package compareVersions fun(version1: string, version2: string): string|nil 2つのバージョン文字列を比較し、新しい方を返す +---@field package showNewUpdateMessage fun(self: UpdateChecker) 新FBACバージョンのお知らせを表示する +---@field public checkUpdate fun(self: UpdateChecker) FBACアップデートの確認を行う + +UpdateChecker = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return UpdateChecker + new = function (parent) + ---@type UpdateChecker + local instance = Avatar.instantiate(UpdateChecker, AvatarModule, parent) + + instance.FBAC_VERSION = "v2.1.2" + instance.BRANCH_NAME = "Izuna" + instance.latestVersion = instance.parent.config:loadConfig("PUBLIC", "latestVersion", nil) + instance.checkerStatus = "INIT" + instance.requestStatus = 0 + instance.textAnimationCount = 0 + + return instance + end; + + ---初期化関数 + ---@param self UpdateChecker + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + models.models.action_wheel_gui.Gui.VersionDisplay:getTask("action_wheel.gui.version_display.l2"):setText(self.FBAC_VERSION.." - "..self.BRANCH_NAME) + + events.TICK:register(function () + local isActionWheelOpened = action_wheel:isEnabled() + if isActionWheelOpened then + local textTask = models.models.action_wheel_gui.Gui.VersionDisplay:getTask("action_wheel.gui.version_display.l3") + if self.checkerStatus == "UPDATE_AVAILABLE" then + if math.floor(self.textAnimationCount / 20) % 2 == 0 then + textTask:setText("§6§n"..self.parent.locale:getLocale("action_wheel.gui.update_check.update_available")..self.latestVersion) + else + textTask:setText("§n"..self.parent.locale:getLocale("action_wheel.gui.update_check.update_available")..self.latestVersion) + end + self.textAnimationCount = self.textAnimationCount + 1 + elseif self.checkerStatus == "ERROR_REQUEST_FAILED" then + textTask:setText(self.parent.locale:getLocale("action_wheel.gui.update_check.error_request_failed").."("..self.requestStatus..")") + else + textTask:setText(self.parent.locale:getLocale("action_wheel.gui.update_check."..self.checkerStatus:lower())) + end + elseif not isActionWheelOpened and self.isActionWheelOpenedPrev then + self.textAnimationCount = 0 + end + self.isActionWheelOpenedPrev = isActionWheelOpened + end) + + local lastUpdateCheckTime = self.parent.config:loadConfig("PUBLIC", "lastUpdateCheckTime", 0) + if client:getSystemTime() >= lastUpdateCheckTime + 86400000 then + self:checkUpdate() + else + local newerVersion = self.compareVersions(self.latestVersion, self.FBAC_VERSION) + if newerVersion ~= nil and newerVersion ~= self.FBAC_VERSION then + self:showNewUpdateMessage() + self.checkerStatus = "UPDATE_AVAILABLE" + else + self.checkerStatus = "LATEST" + end + end + end + end; + + ---2つのバージョン文字列を比較し、新しい方を返す。 + ---@param version1 string 比較するバージョン文字列1 + ---@param version2 string 比較するバージョン文字列2 + ---@return string|nil newerVersion 新しい方のバージョン文字列。比較不可能だった場合はnilを返す。 + compareVersions = function (version1, version2) + local major1, minor1, patch1 = version1:match("^v(%d+)%.(%d+)%.(%d+)") + local major2, minor2, patch2 = version2:match("^v(%d+)%.(%d+)%.(%d+)") + major1 = tonumber(major1) + minor1 = tonumber(minor1) + patch1 = tonumber(patch1) + major2 = tonumber(major2) + minor2 = tonumber(minor2) + patch2 = tonumber(patch2) + if major1 ~= nil and minor1 ~= nil and patch1 ~= nil and major2 ~= nil and minor2 ~= nil and patch2 ~= nil then + return (major1 > major2 or (major1 == major2 and minor1 > minor2) or (major1 == major2 and minor1 == minor2 and patch1 > patch2)) and version1 or version2 + end + end; + + ---新FBACバージョンのお知らせを表示する。 + ---@param self UpdateChecker + showNewUpdateMessage = function (self) + print(self.parent.locale:getLocale("action_wheel.gui.update_check.update_available")..self.latestVersion) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.experience_orb.pickup"), player:getPos(), 1, 1) + end; + + ---FBACアップデートの確認を行う。 + ---@param self UpdateChecker + checkUpdate = function (self) + if host:isHost() and self.checkerStatus ~= "CHECKING" then + self.checkerStatus = "CHECKING" + if net:isNetworkingAllowed() and net:isLinkAllowed("https://api.github.com") then + local request = net.http:request("https://api.github.com/repos/Gakuto1112/FiguraBlueArchiveCharacters/tags") + self.responseHandler = request:send() + events.TICK:register(function () + if self.responseHandler:isDone() then + local response = self.responseHandler:getValue() + if response ~= nil then + local stats = response:getResponseCode() + if math.floor(stats / 100) == 2 then + local stream = response:getData() + local buffer = data:createBuffer() + buffer:readFromStream(stream) + buffer:setPosition(0) + local jsonData = buffer:readByteArray() + if json.isSerializable(jsonData) then + local parseData = parseJson(jsonData) + if parseData[1] ~= nil and parseData[1].name ~= nil then + local newerVersion = self.compareVersions(parseData[1].name, self.FBAC_VERSION) + if newerVersion ~= nil then + if newerVersion ~= self.FBAC_VERSION then + --新しいバージョンがある + self.latestVersion = parseData[1].name + self.checkerStatus = "UPDATE_AVAILABLE" + self:showNewUpdateMessage() + else + --現在は最新 + self.latestVersion = parseData[1].name + self.checkerStatus = "LATEST" + end + self.parent.config:saveConfig("PUBLIC", "lastUpdateCheckTime", client:getSystemTime()) + self.parent.config:saveConfig("PUBLIC", "latestVersion", parseData[1].name) + else + --予期しないJSONデータ + self.checkerStatus = "ERROR_INVALID_JSON" + end + else + --予期しないJSONデータ + self.checkerStatus = "ERROR_INVALID_JSON" + end + else + --JSON解析エラー + self.checkerStatus = "ERROR_INVALID_JSON_SYNTAX" + end + stream:close() + buffer:close() + else + --ステータスコードが200番台以外 + self.checkerStatus = "ERROR_REQUEST_FAILED" + self.requestStatus = stats + end + else + --ネットワークエラー + self.checkerStatus = "ERROR_NETWORK_ERR" + end + events.TICK:remove("update_checker_http_tick") + end + end, "update_checker_http_tick") + else + ---ネットワーキングAPIが不許可 + self.checkerStatus = "ERROR_NOT_ALLOWED" + end + end + end; +} diff --git a/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/armor.lua b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/armor.lua new file mode 100644 index 0000000..7c22696 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/armor.lua @@ -0,0 +1,364 @@ +---防具の部位 +---@alias Armor.ArmorPart +---| "HELMET" # ヘルメット +---| "CHEST_PLATE" # チェストプレート +---| "LEGGINGS" # レギンス +---| "BOOTS" # ブーツ + +---@class (exact) Armor : AvatarModule 防具の表示を制御するクラス +---@field public shouldShowArmor boolean 防具を表示するかどうか +---@field public armorSlotItems ItemStack[] 現ティックの防具スロットのアイテム +---@field package armorSlotItemsPrev ItemStack[] 前ティックの防具スロットのアイテム +---@field public isArmorVisible Armor.VisiblePartsSet 各防具の部位(ヘルメット、チェストプレート、レギンス、ブーツ)が可視状態かどうか +---@field package textureQueue Armor.TextureQueueData[] テクスチャ処理のキュー +---@field package getArmorColor fun(armorItem: ItemStack): number 防具の色を取得する +---@field package compareTrims fun(trim1?: Armor.TrimData, trim2?: Armor.TrimData): boolean 防具装飾が同じものか比較する +---@field package addTextureQueue fun(self: Armor, texture: Texture, paletteName: string) テクスチャの処理のキューにデータを挿入する +---@field package getTrimTexture fun(self: Armor, trimData?: Armor.TrimData, armorId: string): Texture|nil バニラパーツの防具装飾のテクスチャを取得する。テクスチャの処理は次のチック以降行われる。 +---@field public setHelmet fun(self: Armor, helmetItem: ItemStack) ヘルメットを更新する +---@field public setChestplate fun(self: Armor, chestplateItem: ItemStack) チェストプレートを更新する +---@field public setLeggings fun(self: Armor, leggingsItem: ItemStack) レギンスを更新する +---@field public setBoots fun(self: Armor, bootsItem: ItemStack) ブーツを更新する + +---@class (exact) Armor.VisiblePartsSet 各防具の部位の可視状態のセット +---@field public helmet boolean ヘルメット +---@field public chestplate boolean チェストプレート +---@field public leggings boolean レギンス +---@field public boots boolean ブーツ + +---@class (exact) Armor.TextureQueueData テクスチャキューに入るデータの構造体 +---@field public texture Texture 処理対象のテクスチャ +---@field public palette Texture 処理に使用するパレットのテクスチャ +---@field public iterationCount integer 現在の繰り返しカウンター + +---@class (exact) Armor.TrimData 防具装飾のデータセット +---@field public pattern string 防具装飾の模様 +---@field public material string 防具装飾の素材 + +Armor = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Armor + new = function (parent) + ---@type Armor + local instance = Avatar.instantiate(Armor, AvatarModule, parent) + instance.shouldShowArmor = instance.parent.config:loadConfig("PRIVATE", "showArmor", false) + instance.armorSlotItems = {world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air"))} + instance.armorSlotItemsPrev = {world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air"))} + instance.isArmorVisible = { + helmet = false; + chestplate = false; + leggings = false; + boots = false; + } + instance.textureQueue = {} + + return instance + end; + + ---初期化関数 + ---@param self Armor + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + self.armorSlotItems = self.shouldShowArmor and {player:getItem(6), player:getItem(5), player:getItem(4), player:getItem(3)} or {world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))} + if self.armorSlotItems[1].id ~= self.armorSlotItemsPrev[1].id then + self:setHelmet(self.armorSlotItems[1]) + end + if self.armorSlotItems[2].id ~= self.armorSlotItemsPrev[2].id then + self:setChestplate(self.armorSlotItems[2]) + end + if self.armorSlotItems[3].id ~= self.armorSlotItemsPrev[3].id then + self:setLeggings(self.armorSlotItems[3]) + end + if self.armorSlotItems[4].id ~= self.armorSlotItemsPrev[4].id then + self:setBoots(self.armorSlotItems[4]) + end + + for index, armorSlotItem in ipairs(self.armorSlotItems) do + local glint = armorSlotItem:hasGlint() + if glint ~= self.armorSlotItemsPrev[index]:hasGlint() then + --エンチャント変更 + local renderType = glint and "GLINT" or "NONE" + if index == 2 then + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom}) do + armorPart:setSecondaryRenderType(renderType) + end + elseif index == 3 then + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom}) do + armorPart:setSecondaryRenderType(renderType) + end + else + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom}) do + armorPart:setSecondaryRenderType(renderType) + end + end + end + local armorColor = self.getArmorColor(armorSlotItem) + if armorColor ~= self.getArmorColor(self.armorSlotItemsPrev[index]) then + --色変更 + local colorVector = vectors.intToRGB(armorColor) + if index == 2 then + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplate, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottom, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplate, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottom}) do + armorPart:setColor(colorVector) + end + elseif index == 3 then + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggings, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggings, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottom}) do + armorPart:setColor(colorVector) + end + else + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBoots, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBoots, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottom}) do + armorPart:setColor(colorVector) + end + end + end + local trim = self.armorSlotItems[index].tag.Trim + if not self.compareTrims(trim, self.armorSlotItemsPrev[index].tag.Trim) then + --トリム変更 + if index == 2 then + local trimTexture = self:getTrimTexture(trim, self.armorSlotItems[2].id) + if trimTexture then + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplateTrim, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottomTrim, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplateTrim, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottomTrim}) do + armorPart:setVisible(true) + armorPart:setPrimaryTexture("CUSTOM", trimTexture) + end + else + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplateTrim, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottomTrim, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplateTrim, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottomTrim}) do + armorPart:setVisible(false) + end + end + elseif index == 3 then + local trimTexture = self:getTrimTexture(trim, self.armorSlotItems[3].id) + if trimTexture then + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggingsTrim, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottomTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggingsTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottomTrim}) do + armorPart:setVisible(true) + armorPart:setPrimaryTexture("CUSTOM", trimTexture) + end + else + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggingsTrim, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottomTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggingsTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottomTrim}) do + armorPart:setVisible(false) + end + end + else + local trimTexture = self:getTrimTexture(trim, self.armorSlotItems[4].id) + if trimTexture then + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBootsTrim, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottomTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBootsTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottomTrim}) do + armorPart:setVisible(true) + armorPart:setPrimaryTexture("CUSTOM", trimTexture) + end + else + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBootsTrim, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottomTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBootsTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottomTrim}) do + armorPart:setVisible(false) + end + end + end + end + end + --テクスチャの作成処理 + if #self.textureQueue > 0 then + local instructionsAvailable = avatar:getMaxTickCount() - 3000 --このTICKで使用出来る残りの命令数 + while #self.textureQueue > 0 and instructionsAvailable > 0 do + local dimension = self.textureQueue[1].texture:getDimensions() + for y = math.floor(self.textureQueue[1].iterationCount / dimension.x), dimension.y - 1 do + for x = self.textureQueue[1].iterationCount % dimension.x, dimension.x - 1 do + local pixel = self.textureQueue[1].texture:getPixel(x, y) + if pixel.w == 1 then + self.textureQueue[1].texture:setPixel(x, y, self.textureQueue[1].palette:getPixel(7 - math.floor(pixel.x * 8), 0)) + end + self.textureQueue[1].iterationCount = self.textureQueue[1].iterationCount + 1 + instructionsAvailable = instructionsAvailable - 45 + if instructionsAvailable <= 0 then + break + end + end + if instructionsAvailable <= 0 then + break + end + end + self.textureQueue[1].texture:update() + if self.textureQueue[1].iterationCount == dimension.x * dimension.y then + table.remove(self.textureQueue, 1) + end + end + end + self.armorSlotItemsPrev = self.armorSlotItems + end) + + for _, vanillaModel in ipairs({vanilla_model.HELMET, vanilla_model.CHESTPLATE, vanilla_model.LEGGINGS}) do + vanillaModel:setVisible(false) + end + for _, overlayPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottomOverlay, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottomOverlay, models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBootsOverlay, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottomOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBootsOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottomOverlay}) do + overlayPart:setPrimaryTexture("RESOURCE", "minecraft:textures/models/armor/leather_layer_1_overlay.png") + end + for _, overlayPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggingsOverlay, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottomOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggingsOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottomOverlay}) do + overlayPart:setPrimaryTexture("RESOURCE", "minecraft:textures/models/armor/leather_layer_2_overlay.png") + end + end; + + ---防具の色を取得する。 + ---@param armorItem ItemStack 調べるアイテムのオブジェクト + ---@return number color 防具モデルに設定すべき色 + getArmorColor = function (armorItem) + if armorItem.id:find("^minecraft:leather_") then + if armorItem.tag then + if armorItem.tag.display then + return armorItem.tag.display.color and armorItem.tag.display.color or 10511680 + else + return 10511680 + end + else + return 10511680 + end + else + return 16777215 + end + end; + + ---防具装飾が同じものか比較する。 + ---@param trim1? Armor.TrimData 比較する防具装飾のテーブル1 + ---@param trim2? Armor.TrimData 比較する防具装飾のテーブル2 + ---@return boolean isTrimSame 2つの防具装飾が同じものかどうか + compareTrims = function (trim1, trim2) + if type(trim1) == type(trim2) then + if trim1 then + if trim1.pattern ~= trim2.pattern then + return false + elseif trim1.material ~= trim2.material then + return false + else + return true + end + else + return true + end + else + return false + end + end; + + ---テクスチャの処理のキューにデータを挿入する。 + ---@param self Armor + ---@param texture Texture 処理を行うテクスチャ + ---@param paletteName string 使用するパレットの名前 + addTextureQueue = function (self, texture, paletteName) + if textures["trim_palette_"..paletteName] == nil then + textures:fromVanilla("trim_palette_"..paletteName, "minecraft:textures/trims/color_palettes/"..paletteName..".png") + end + table.insert(self.textureQueue, 1, { + texture = texture, + palette = textures["trim_palette_"..paletteName], + iterationCount = 0 + }) + end; + + ---バニラパーツの防具装飾のテクスチャを取得する。テクスチャの処理は次のチック以降行われる。 + ---@param self Armor + ---@param trimData? Armor.TrimData 防具装飾のデータ + ---@param armorId string 防具アイテムのID。 + ---@return Texture|nil trimTexture 色を付けた防具装飾のテクスチャ。防具や防具装飾が非バニラの場合はnilを返す。 + getTrimTexture = function (self, trimData, armorId) + if trimData and trimData.pattern:find("^minecraft:.+$") and trimData.material:find("^minecraft:.+$") and armorId:find("^minecraft:.+_.+$") then + local normalizedPatternName = trimData.pattern:match("^minecraft:(%a+)$") + local normalizedArmorMaterialName = armorId:match("^minecraft:(%a+)_.+$") + normalizedArmorMaterialName = normalizedArmorMaterialName == "golden" and "gold" or normalizedArmorMaterialName + local normalizedMaterialName = trimData.material:match("^minecraft:(%a+)$") + normalizedMaterialName = normalizedMaterialName..(normalizedArmorMaterialName == normalizedMaterialName and "_darker" or "") + local isLeggings = armorId:find("^minecraft:.+_leggings$") + local textureName = "trim_"..normalizedPatternName.."_"..normalizedMaterialName..(isLeggings and "_leggings" or "") + if textures[textureName] then + return textures[textureName] + else + local texture = textures:fromVanilla(textureName, "minecraft:textures/trims/models/armor/"..normalizedPatternName..(armorId:find("^minecraft:.+_leggings$") ~= nil and "_leggings" or "")..".png") + self:addTextureQueue(texture, normalizedMaterialName) + return texture + end + end + end; + + ---ヘルメットを更新する。 + ---@param self Armor + ---@param helmetItem ItemStack ヘルメットのスロットに入っているアイテム + setHelmet = function (self, helmetItem) + local helmetFound = helmetItem.id ~= "minecraft:air" + vanilla_model.HELMET:setVisible(helmetFound) + self.isArmorVisible.helmet = helmetFound + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onArmorChange ~= nil then + self.parent.characterData.costume.callbacks.onArmorChange(self.parent.characterData, "HELMET", self.isArmorVisible.helmet) + end + end; + + ---チェストプレートを更新する。 + ---@param self Armor + ---@param chestplateItem ItemStack チェストプレートスロットに入っているアイテム + setChestplate = function (self, chestplateItem) + local chestplateFound = chestplateItem.id:find("^minecraft:.+_chestplate$") ~= nil + vanilla_model.CHESTPLATE:setVisible(chestplateFound) + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB}) do + armorPart:setVisible(chestplateFound) + end + self.isArmorVisible.chestplate = chestplateFound + if self.isArmorVisible.chestplate then + local material = chestplateItem.id:match("^minecraft:(%a+)_chestplate$") + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplate, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottom, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplate, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottom}) do + armorPart:setPrimaryTexture("RESOURCE", "minecraft:textures/models/armor/"..(material == "golden" and "gold" or material).."_layer_1.png") + end + end + local overlayVisible = chestplateItem.id == "minecraft:leather_chestplate" + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottomOverlay, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottomOverlay}) do + armorPart:setVisible(overlayVisible) + end + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onArmorChange ~= nil then + self.parent.characterData.costume.callbacks.onArmorChange(self.parent.characterData, "CHEST_PLATE", self.isArmorVisible.chestplate) + end + end; + + ---レギンスを更新する。 + ---@param self Armor + ---@param leggingsItem ItemStack レギンススロットに入っているアイテム + setLeggings = function (self, leggingsItem) + local leggingsFound = leggingsItem.id:find("^minecraft:.+_leggings$") ~= nil + vanilla_model.LEGGINGS:setVisible(leggingsFound) + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom}) do + armorPart:setVisible(leggingsFound) + end + self.isArmorVisible.leggings = leggingsFound + if self.isArmorVisible.leggings then + local material = leggingsItem.id:match("^minecraft:(%a+)_leggings$") + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggings, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggings, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottom}) do + armorPart:setPrimaryTexture("RESOURCE", "minecraft:textures/models/armor/"..(material == "golden" and "gold" or material).."_layer_2.png") + end + end + local overlayVisible = leggingsItem.id == "minecraft:leather_leggings" + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggingsOverlay, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottomOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggingsOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottomOverlay}) do + armorPart:setVisible(overlayVisible) + end + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onArmorChange ~= nil then + self.parent.characterData.costume.callbacks.onArmorChange(self.parent.characterData, "LEGGINGS", self.isArmorVisible.leggings) + end + end; + + ---ブーツを更新する。 + ---@param self Armor + ---@param bootsItem ItemStack ブーツスロットに入っているアイテム + setBoots = function (self, bootsItem) + local bootsFound = bootsItem.id:find("^minecraft:.+_boots$") ~= nil + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom}) do + armorPart:setVisible(bootsFound) + end + self.isArmorVisible.boots = bootsFound + if self.isArmorVisible.boots then + local material = bootsItem.id:match("^minecraft:(%a+)_boots$") + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBoots, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBoots, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottom}) do + armorPart:setPrimaryTexture("RESOURCE", "minecraft:textures/models/armor/"..(material == "golden" and "gold" or material).."_layer_1.png") + end + end + local overlayVisible = bootsItem.id == "minecraft:leather_boots" + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBootsOverlay, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottomOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBootsOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottomOverlay}) do + armorPart:setVisible(overlayVisible) + end + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onArmorChange ~= nil then + self.parent.characterData.costume.callbacks.onArmorChange(self.parent.characterData, "BOOTS", self.isArmorVisible.boots) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/arms.lua b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/arms.lua new file mode 100644 index 0000000..27ef260 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/arms.lua @@ -0,0 +1,192 @@ +---@class (exact) Arms : AvatarModule アバターの腕を制御するクラス +---@field public armState Arms.ArmStateSet 腕の状態:0. バニラ状態, 1. 銃を構えている際の、銃を構えている方の腕, 2. 銃を構えている際の、銃を構えていない方の腕, 3. クロスボウ装填中 +---@field package armStatePrev Arms.ArmStateSet 前ティックの腕の状態 +---@field package swingCount integer 腕をプラプラさせるカウンター +---@field package isSwingCountProcessed boolean 腕プラプラカウンターを処理したかどうか +---@field package processArmWingCount fun(self: Arms) 腕プラプラカウンターを処理する +---@field public setArmState fun(self: Arms, right?: integer, left?: integer) 腕の状態を設定する + +---@class (exact) Arms.ArmStateSet 腕の状態を示すデータセット +---@field public right integer 右腕の状態 +---@field public left integer 左腕の状態 + +Arms = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Arms + new = function (parent) + ---@type Arms + local instance = Avatar.instantiate(Arms, AvatarModule, parent) + + instance.armState = { + right = 0; + left = 0; + } + instance.armStatePrev = { + right = 0; + left = 0; + } + instance.swingCount = 0 + instance.isSwingCountProcessed = false + + return instance + end; + + ---初期化関数 + ---@param self Arms + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + self.isSwingCountProcessed = false + end) + end; + + ---腕プラプラカウンターを処理する。 + ---@param self Arms + processArmWingCount = function (self) + if not client:isPaused() and not self.isSwingCountProcessed then + self.swingCount = self.swingCount + 1 + self.swingCount = self.swingCount == 100 and 0 or self.swingCount + self.isSwingCountProcessed = true + end + end; + + ---腕の状態を設定する。 + ---@param self Arms + ---@param right? integer 右腕の状態 + ---@param left? integer 左腕の状態 + setArmState = function (self, right, left) + if right ~= nil then + self.armState.right = right + end + if left ~= nil then + self.armState.left = left + end + if (self.armState.right == 1 or self.armState.left == 1) and player:getActiveItem().id == "minecraft:crossbow" then + self:setArmState(3, 3) + return + end + if self.parent.characterData.arms.callbacks ~= nil and self.parent.characterData.arms.callbacks.onArmStateChanged ~= nil then + local result = self.parent.characterData.arms.callbacks.onArmStateChanged(self.parent.characterData, self.armState.right, self.armState.left) + if result ~= nil then + if result.right ~= nil then + self.armState.right = result.right + end + if result.left ~= nil then + self.armState.left = result.left + end + end + end + + --右腕の操作 + if self.armState.right ~= self.armStatePrev.right then + --腕の状態をリセット + models.models.main.Avatar.UpperBody.Arms.RightArm:setRot() + models.models.main.Avatar.UpperBody.Arms.RightArm:setParentType("RightArm") + events.TICK:remove("right_arm_tick") + events.RENDER:remove("right_arm_render") + if self.armState.right == 1 then + --銃を構えている際の、銃を構えている方の腕 + events.TICK:register(function () + if self.armState.right == 1 then + self:processArmWingCount() + if player:isSwingingArm() and not player:isLeftHanded() then + models.models.main.Avatar.UpperBody.Arms.RightArm:setParentType("RightArm") + else + models.models.main.Avatar.UpperBody.Arms.RightArm:setParentType("Body") + end + if player:getActiveItem().id == "minecraft:crossbow" then + self:setArmState(3, 3) + end + end + end, "right_arm_tick") + events.RENDER:register(function (delta) + local headRot = vanilla_model.HEAD:getOriginRot() + models.models.main.Avatar.UpperBody.Arms.RightArm:setRot(player:isSwingingArm() and not player:isLeftHanded() and vectors.vec3() or vectors.vec3(headRot.x + math.sin((self.swingCount + delta) / 100 * math.pi * 2) * 2.5 + 90 + (player:isCrouching() and 30 or 0), headRot.y, 0)) + end, "right_arm_render") + elseif self.armState.right == 2 then + --銃を構えている際の、銃を構えていない方の腕 + events.TICK:register(function () + self:processArmWingCount() + end, "right_arm_tick") + events.RENDER:register(function (delta, context) + local headRot = vanilla_model.HEAD:getOriginRot() + local isSwingingArm = player:isSwingingArm() and not player:isLeftHanded() + models.models.main.Avatar.UpperBody.Arms.RightArm:setParentType((isSwingingArm or context == "FIRST_PERSON") and "RightArm" or "Body") + models.models.main.Avatar.UpperBody.Arms.RightArm:setRot(isSwingingArm and vectors.vec3() or vectors.vec3(headRot.x + math.sin((self.swingCount + delta) / 100 * math.pi * 2) * 2.5 + 90 + (player:isCrouching() and 30 or 0), math.map((headRot.y + 180) % 360 - 180, -50, 50, -21, 78), 0)) + end, "right_arm_render") + elseif self.armState.right == 3 then + --クロスボウ装填中 + events.TICK:register(function () + if player:getActiveItem().id ~= "minecraft:crossbow" and self.armState.right == 3 then + if self.parent.gun.currentGunPosition == "RIGHT" then + self:setArmState(1, 2) + elseif self.parent.gun.currentGunPosition == "LEFT" then + self:setArmState(2, 1) + end + end + end, "right_arm_tick") + end + if self.parent.characterData.arms.callbacks ~= nil and self.parent.characterData.arms.callbacks.onAdditionalRightArmProcess ~= nil then + self.parent.characterData.arms.callbacks.onAdditionalRightArmProcess(self.parent.characterData, self.armState.right) + end + self.armStatePrev.right = self.armState.right + end + --左腕の操作 + if self.armState.left ~= self.armStatePrev.left then + --腕の状態をリセット + models.models.main.Avatar.UpperBody.Arms.LeftArm:setRot() + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType("LeftArm") + events.TICK:remove("left_arm_tick") + events.RENDER:remove("left_arm_render") + if self.armState.left == 1 then + --銃を構えている際の、銃を構えている方の腕 + events.TICK:register(function () + if self.armState.left == 1 then + self:processArmWingCount() + if player:isSwingingArm() and player:isLeftHanded() then + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType("LeftArm") + else + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType("Body") + end + if player:getActiveItem().id == "minecraft:crossbow" then + self:setArmState(3, 3) + end + end + end, "left_arm_tick") + events.RENDER:register(function (delta) + local headRot = vanilla_model.HEAD:getOriginRot() + models.models.main.Avatar.UpperBody.Arms.LeftArm:setRot(player:isSwingingArm() and player:isLeftHanded() and vectors.vec3() or vectors.vec3(headRot.x + math.sin((self.swingCount + delta) / 100 * math.pi * 2) * -2.5 + 90 + (player:isCrouching() and 30 or 0), headRot.y, 0)) + end, "left_arm_render") + elseif self.armState.left == 2 then + --銃を構えている際の、銃を構えていない方の腕 + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType("Body") + events.TICK:register(function () + self:processArmWingCount() + end, "left_arm_tick") + events.RENDER:register(function (delta, context) + local headRot = vanilla_model.HEAD:getOriginRot() + local isSwingingArm = player:isSwingingArm() and player:isLeftHanded() + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType((isSwingingArm or context == "FIRST_PERSON") and "LeftArm" or "Body") + models.models.main.Avatar.UpperBody.Arms.LeftArm:setRot(isSwingingArm and vectors.vec3() or vectors.vec3(headRot.x + math.sin((self.swingCount + delta) / 100 * math.pi * 2) * -2.5 + 90 + (player:isCrouching() and 30 or 0), math.map((headRot.y + 180) % 360 - 180, -50, 50, -78, 21), 0)) + end, "left_arm_render") + elseif self.armState.left == 3 then + --クロスボウ装填中 + events.TICK:register(function () + if player:getActiveItem().id ~= "minecraft:crossbow" and self.armState.left == 3 then + if self.parent.gun.currentGunPosition == "RIGHT" then + self:setArmState(1, 2) + elseif self.parent.gun.currentGunPosition == "LEFT" then + self:setArmState(2, 1) + end + end + end, "left_arm_tick") + end + if self.parent.characterData.arms.callbacks ~= nil and self.parent.characterData.arms.callbacks.onAdditionalLeftArmProcess ~= nil then + self.parent.characterData.arms.callbacks.onAdditionalLeftArmProcess(self.parent.characterData, self.armState.left) + end + self.armStatePrev.left = self.armState.left + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/avatar_module.lua b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/avatar_module.lua new file mode 100644 index 0000000..4ae2c3a --- /dev/null +++ b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/avatar_module.lua @@ -0,0 +1,23 @@ +---@class AvatarModule アバターの動作を構成するモジュールの抽象クラス +---@field public parent Avatar アバターのメインクラスへの参照 +---@field public new fun(parent: Avatar): AvatarModule コンストラクタ +---@field public init fun(self: AvatarModule) 初期化関数 + +AvatarModule = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return AvatarModule + new = function (parent) + ---@type AvatarModule + local instance = Avatar.instantiate(AvatarModule) + + instance.parent = parent + + return instance + end; + + ---初期化関数 + ---@param self AvatarModule + init = function (self) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/barrier.lua b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/barrier.lua new file mode 100644 index 0000000..06066b9 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/barrier.lua @@ -0,0 +1,88 @@ +---@class (exact) Barrier : AvatarModule バリアの視覚効果を管理するクラス +---@field package animationCounts number[] バリアのアニメーションのカウンター +---@field public isBarrierVisible boolean バリアが可視化状態かどうか +---@field package hadAbsorptionPrev boolean 前ティックの衝撃吸収のハートを持っていたかどうか +---@field package colorFactor number バリアの色の係数 +---@field public enable fun(self: Barrier) バリア機能を有効にする +---@field public disable fun(self: Barrier) バリア機能を無効にする + +Barrier = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Barrier + new = function (parent) + ---@type Barrier + local instance = Avatar.instantiate(Barrier, AvatarModule, parent) + + instance.animationCounts = {} + instance.isBarrierVisible = false + instance.hadAbsorptionPrev = false + instance.colorFactor = client:hasShaderPack() and 0.5 or 1 + + for i = 1, 32 do + instance.animationCounts[i] = math.random(0, 39) + end + + return instance + end; + + ---初期化関数 + ---@param self Barrier + init = function (self) + AvatarModule.init(self) + + models.models.main.Avatar.barrier:setLight(15) + + events.TICK:register(function () + local hasAbsorption = player:getAbsorptionAmount() > 0 and player:getHealth() > 0 + if hasAbsorption and not self.hadAbsorptionPrev then + self:enable() + elseif not hasAbsorption and self.hadAbsorptionPrev then + self:disable() + end + self.hadAbsorptionPrev = hasAbsorption + end) + end; + + ---バリア機能を有効にする。 + ---@param self Barrier + enable = function (self) + for i = 1, 32 do + self.animationCounts[i] = math.random(0, 39) + end + + events.TICK:register(function () + for i = 1, 32 do + self.animationCounts[i] = self.animationCounts[i] + 1 + if self.animationCounts[i] == 40 then + self.animationCounts[i] = 0 + end + end + self.colorFactor = client:hasShaderPack() and 0.5 or 1 + end, "barrier_tick") + + events.RENDER:register(function (delta, context) + if context == "FIRST_PERSON" or context == "RENDER" then + models.models.main.Avatar.barrier:setVisible(true) + for i = 1, 32 do + local opacity = math.abs(-0.025 * (self.animationCounts[i] + delta) + 0.5) + 0.5 + models.models.main.Avatar.barrier.Barrier["Barrier"..i]:setOpacity(opacity) + models.models.main.Avatar.barrier.Barrier["Barrier"..i]:setColor(opacity * self.colorFactor, opacity * self.colorFactor, 1) + end + else + models.models.main.Avatar.barrier:setVisible(false) + end + end, "barrier_render") + + self.isBarrierVisible = true + end; + + ---バリア機能を無効にする。 + ---@param self Barrier + disable = function (self) + models.models.main.Avatar.barrier:setVisible(false) + events.TICK:remove("barrier_tick") + events.RENDER:remove("barrier_render") + self.isBarrierVisible = false + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/bubble.lua b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/bubble.lua new file mode 100644 index 0000000..fc6197b --- /dev/null +++ b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/bubble.lua @@ -0,0 +1,224 @@ +---@alias Bubble.BubbleType +---| "GOOD" # 👍 +---| "HEART" # 💗 +---| "NOTE" # 🎵 +---| "QUESTION" # ❓ +---| "SWEAT" # 💦 +---| "RELOAD" # 弾薬をリロードする絵文字 +---| "DOTS" # … +---| "V" # ✌ + +---@class (exact) Bubble : AvatarModule 吹き出しエモートを管理するクラス +---@field public bubbleCount integer 吹き出しの表示時間を測るカウンター +---@field public emoji Bubble.BubbleType 吹き出しの絵文字 +---@field package duration integer 吹き出しを表示する時間。-1は時間無制限を示す。 +---@field package isAutoBubble boolean 吹き出しエモートが自動で出たものかどうか +---@field package shouldShowInHud boolean 一人称用にHUDに吹き出しを表示するかどうか +---@field package emojiAnimationCount number 絵文字のアニメーションのタイミングを測るカウンター +---@field package isForcedStop boolean 吹き出しエモートが強制停止させられたかどうか +---@field public isChatOpened boolean チャットを開けているかどうか +---@field package isChatOpenedPrev boolean 前ティックにチャットを開けていたかどうか +---@field public play fun(self: Bubble, type: Bubble.BubbleType, duration: integer, offsetPos: Vector2, offsetRot: number, shouldShowInHud: boolean) 吹き出しエモートを再生する +---@field public stop fun(self: Bubble) 吹き出しエモートを停止する + +Bubble = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Bubble + new = function (parent) + ---@type Bubble + local instance = Avatar.instantiate(Bubble, AvatarModule, parent) + + instance.bubbleCount = 0 + instance.emoji = "GOOD" + instance.duration = 0 + instance.isAutoBubble = false + instance.shouldShowInHud = false + instance.emojiAnimationCount = 0 + instance.isForcedStop = false + instance.isChatOpened = false + instance.isChatOpenedPrev = false + + return instance + end; + + ---初期化関数 + ---@param self Bubble + init = function (self) + AvatarModule.init(self) + + models.models.bubble:addChild(models:newPart("Gui", "Gui")) + models.models.bubble.Gui:addChild(models.models.bubble.Camera.AvatarBubble:copy("FirstPersonBubble")) + models.models.bubble.Gui.FirstPersonBubble:setVisible(false) + for _, modelPart in ipairs({models.models.bubble.Camera.AvatarBubble, models.models.bubble.Gui.FirstPersonBubble}) do + modelPart:setScale(0, 0, 0) + end + + --エモートガイド + if host:isHost() then + self.parent.keyManager:register("bubble_1", self.parent.config:loadConfig("PRIVATE", "keybind.bubble_1", "key.keyboard.j")):onPress(function () + if self.parent.exSkill.animationCount == -1 and (self.bubbleCount == 0 or self.isAutoBubble) then + pings.showBubbleEmote("GOOD") + end + end) + self.parent.keyManager:register("bubble_2", self.parent.config:loadConfig("PRIVATE", "keybind.bubble_2", "key.keyboard.k")):onPress(function () + if self.parent.exSkill.animationCount == -1 and (self.bubbleCount == 0 or self.isAutoBubble) then + pings.showBubbleEmote("HEART") + end + end) + self.parent.keyManager:register("bubble_3", self.parent.config:loadConfig("PRIVATE", "keybind.bubble_3", "key.keyboard.n")):onPress(function () + if self.parent.exSkill.animationCount == -1 and (self.bubbleCount == 0 or self.isAutoBubble) then + pings.showBubbleEmote("NOTE") + end + end) + self.parent.keyManager:register("bubble_4", self.parent.config:loadConfig("PRIVATE", "keybind.bubble_4", "key.keyboard.m")):onPress(function () + if self.parent.exSkill.animationCount == -1 and (self.bubbleCount == 0 or self.isAutoBubble) then + pings.showBubbleEmote("QUESTION") + end + end) + self.parent.keyManager:register("bubble_5", self.parent.config:loadConfig("PRIVATE", "keybind.bubble_5", "key.keyboard.comma")):onPress(function () + if self.parent.exSkill.animationCount == -1 and (self.bubbleCount == 0 or self.isAutoBubble) then + pings.showBubbleEmote("SWEAT") + end + end) + end + + events.TICK:register(function () + if host:isHost() then + local isChatOpened = host:isChatOpen() + if isChatOpened ~= self.isChatOpened then + pings.setChatOpen(isChatOpened) + end + self.isChatOpenedPrev = isChatOpened + end + + if player:getActiveItem().id == "minecraft:crossbow" then + if self.bubbleCount == 0 or (self.isAutoBubble and self.emoji ~= "RELOAD") then + self:play("RELOAD", -1, vectors.vec2(), 0, false) + self.isAutoBubble = true + end + elseif self.isChatOpened and self.parent.exSkill.transitionCount == 0 then + if self.bubbleCount == 0 or (self.isAutoBubble and self.emoji ~= "DOTS") then + self:play("DOTS", -1, vectors.vec2(), 0, false) + self.isAutoBubble = true + end + elseif self.isAutoBubble then + self:stop() + self.isAutoBubble = false + end + end) + end; + + ---吹き出しエモートを再生する。 + ---@param self Bubble + ---@param type Bubble.BubbleType 再生する絵文字の種類 + ---@param duration integer 吹き出しを表示している時間。-1にすると停止するまでずっと表示する。 + ---@param offsetPos Vector2 吹き出しの位置のオフセット値 + ---@param offsetRot number アバター周回上の、吹き出しが表示される位置のオフセット値 + ---@param shouldShowInHud boolean 一人称用にHUDに吹き出しを表示するかどうか + play = function (self, type, duration, offsetPos, offsetRot, shouldShowInHud) + self.emoji = type + self.duration = duration + self.shouldShowInHud = shouldShowInHud + self.bubbleCount = 1 + self.emojiAnimationCount = 0 + models.models.bubble.Camera.AvatarBubble.Emoji:setPrimaryTexture("CUSTOM", textures["textures.emojis."..self.emoji:lower()]) + models.models.bubble.Camera.AvatarBubble.Bullets:setVisible(self.emoji == "RELOAD") + models.models.bubble.Camera.AvatarBubble.Dots:setVisible(self.emoji == "DOTS") + if self.shouldShowInHud then + models.models.bubble.Gui.FirstPersonBubble.Emoji:setPrimaryTexture("CUSTOM", textures["textures.emojis."..self.emoji:lower()]) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.item.pickup"), self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar)) + end + + if events.TICK:getRegisteredCount("bubble_tick") == 0 then + events.TICK:register(function () + if not client:isPaused() then + models.models.bubble.Gui.FirstPersonBubble:setVisible(self.shouldShowInHud and renderer:isFirstPerson()) + self.bubbleCount = self.bubbleCount + 1 + if self.bubbleCount == 0 then + for _, modelPart in ipairs({models.models.bubble.Camera.AvatarBubble, models.models.bubble.Gui.FirstPersonBubble, models.models.bubble.Camera.AvatarBubble.Bullets, models.models.bubble.Gui.FirstPersonBubble.Bullets}) do + modelPart:setVisible(false) + end + events.TICK:remove("bubble_tick") + events.RENDER:remove("bubble_render") + if self.parent.characterData.bubble.callbacks ~= nil and self.parent.characterData.bubble.callbacks.onStop ~= nil then + self.parent.characterData.bubble.callbacks.onStop(self.parent.characterData, type, self.isForcedStop) + end + elseif self.duration >= 0 and self.bubbleCount == self.duration + 2 then + self:stop() + end + if self.emoji == "RELOAD" or self.emoji == "DOTS" then + self.emojiAnimationCount = self.emojiAnimationCount + 1 + self.emojiAnimationCount = self.emojiAnimationCount == 25 and 0 or self.emojiAnimationCount + if self.emoji == "DOTS" then + for i = 1, 3 do + models.models.bubble.Camera.AvatarBubble.Dots["Dot"..i]:setVisible(self.emojiAnimationCount >= 6 * i) + end + end + end + end + end, "bubble_tick") + end + + if events.RENDER:getRegisteredCount("bubble_render") == 0 then + events.RENDER:register(function (delta, context) + models.models.bubble.Camera.AvatarBubble:setVisible(context ~= "OTHER") + if not client:isPaused() then + local bubbleScale = math.min(math.abs(0.5 * (self.bubbleCount + delta)), 1) + models.models.bubble.Camera.AvatarBubble:setScale(vectors.vec3(1, 1, 1):scale(bubbleScale)) + local playerPos = self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar) + local avatarBubblePos = context == "PAPERDOLL" and vectors.vec3(0, 32, 0) or vectors.rotateAroundAxis(player:getBodyYaw(delta) + 180, playerPos:copy():sub(player:getPos(delta)):scale(17.067):add(0, 32 + offsetPos.y, 0), 0, 1, 0) + if not renderer:isFirstPerson() then + local cameraPos = client:getCameraPos() + avatarBubblePos:add(vectors.rotateAroundAxis(math.deg(math.atan2(cameraPos.z - playerPos.z, cameraPos.x - playerPos.x) - math.pi / 2) % 360 - (player:getBodyYaw(delta) + offsetRot) % 360, 12 + offsetPos.x, 0, 0, 0, -1, 0)) + else + avatarBubblePos:add(12 + offsetPos.x, 0, 0) + end + models.models.bubble.Camera:setOffsetPivot(avatarBubblePos) + models.models.bubble.Camera.AvatarBubble:setPos(avatarBubblePos) + if host:isHost() and self.shouldShowInHud then + local windowSize = client:getScaledWindowSize() + models.models.bubble.Gui.FirstPersonBubble:setPos(-windowSize.x + 10, -windowSize.y + (action_wheel:isEnabled() and 125 or 10), 0) + models.models.bubble.Gui.FirstPersonBubble:setScale(vectors.vec3(1, 1, 1):scale(bubbleScale * 4)) + end + if self.emoji == "RELOAD" then + local bullet1Counter = math.clamp((self.emojiAnimationCount + delta) * 0.2 - 1, 0, 1) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet1:setPos(0, 1 - bullet1Counter, 0) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet1:setOpacity(bullet1Counter) + local bullet2Counter = math.clamp((self.emojiAnimationCount + delta) * 0.2 - 2, 0, 1) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet2:setPos(0, 1 - bullet2Counter, 0) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet2:setOpacity(bullet2Counter) + local bullet3Counter = math.clamp((self.emojiAnimationCount + delta) * 0.2 - 3, 0, 1) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet3:setPos(0, 1 - bullet3Counter, 0) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet3:setOpacity(bullet3Counter) + end + end + end, "bubble_render") + end + if self.parent.characterData.bubble.callbacks ~= nil and self.parent.characterData.bubble.callbacks.onPlay ~= nil then + self.parent.characterData.bubble.callbacks.onPlay(self.parent.characterData, type, duration, shouldShowInHud) + end + end; + + ---吹き出しエモートを停止する。 + ---@param self Bubble + stop = function (self) + if self.bubbleCount > 0 then + self.isForcedStop = self.duration == -1 or self.bubbleCount < self.duration + 2 + self.bubbleCount = -2 + end + end; +} + +---吹き出しエモートを表示する。 +---@param type Bubble.BubbleType 表示する絵文字の種類 +function pings.showBubbleEmote(type) + AvatarInstance.bubble:play(type, 50, vectors.vec2(), 0, true) + AvatarInstance.bubble.isAutoBubble = false +end + +---Bubbleのチャットを開けているフラグを更新する。 +---@param value boolean 新しい値 +function pings.setChatOpen(value) + AvatarInstance.bubble.isChatOpened = value +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/camera_manager.lua b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/camera_manager.lua new file mode 100644 index 0000000..e985b05 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/camera_manager.lua @@ -0,0 +1,99 @@ +---@class (exact) CameraManager : AvatarModule カメラ制御全般を管理するクラス +---@field package COLLISION_DENIAL_DISABLED boolean カメラの当たり判定打ち消し機能を無効にする。撮影用。 +---@field package thirdPersonCameraDistance number 三人称視点でのカメラと回転軸の距離 +---@field package isCameraCollisionDenialEnabled boolean 三人称視点でのカメラの当たり判定打ち消し機能が有効かどうか +---@field public setCameraManagerRender fun(self: CameraManager, enabled: boolean) CameraManagerのレンダー関数を設定する +---@field public setCameraPivot fun(newPivot?: Vector3) カメラの回転軸のオフセット位置を変更する +---@field public setCameraRot fun(newRot?: Vector3) カメラ方向を変更する +---@field public setThirdPersonCameraDistance fun(self: CameraManager, distance: number) 三人称視点でのカメラと回転軸の距離を設定する +---@field public setCameraCollisionDenial fun(self: CameraManager, enabled: boolean) カメラの当たり判定打ち消し機能を設定する + +CameraManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return CameraManager + new = function (parent) + ---@type CameraManager + local instance = Avatar.instantiate(CameraManager, AvatarModule, parent) + + instance.COLLISION_DENIAL_DISABLED = false + instance.thirdPersonCameraDistance = 4 + instance.isCameraCollisionDenialEnabled = false + + return instance + end; + + ---CameraManagerのレンダー関数を設定する。 + ---@param self CameraManager + ---@param enabled boolean CameraManagerのレンダー関数を有効化するかどうか + setCameraManagerRender = function (self, enabled) + if enabled and events.RENDER:getRegisteredCount("camera_manager_render") == 0 then + events.RENDER:register(function () + if renderer:isFirstPerson() then + renderer:setCameraPos() + else + local rawOffsetCameraPivot = renderer:getCameraOffsetPivot() + rawOffsetCameraPivot = rawOffsetCameraPivot == nil and vectors.vec3() or rawOffsetCameraPivot + local cameraPivot = player:getPos():add(0, 1.62, 0):add(rawOffsetCameraPivot) + local cameraDir = client:getCameraDir() + local baseVector = vectors.rotateAroundAxis(math.deg(math.asin(cameraDir.y)), 0, 0.21, 0, vectors.rotateAroundAxis(math.deg(math.atan2(cameraDir.z, cameraDir.x)) * -1 - 90, 1, 0, 0, 0, 1, 0)) + local minDistance = math.max(self.thirdPersonCameraDistance, 4) + if not self.COLLISION_DENIAL_DISABLED then + for i = 0, 3 do + local startPos = vectors.rotateAroundAxis(i * 90 + 45, baseVector:copy(), cameraDir):add(cameraPivot) + local _, collisionPos, _ = raycast:block(startPos, startPos:copy():add(cameraDir:copy():scale(-4)), "VISUAL", "NONE") + minDistance = math.min(collisionPos:copy():sub(startPos):length(), minDistance) + end + end + renderer:setCameraPos(0, 0, (minDistance > self.thirdPersonCameraDistance or self.isCameraCollisionDenialEnabled) and self.thirdPersonCameraDistance - minDistance or 0) + end + end, "camera_manager_render") + elseif not enabled then + events.RENDER:remove("camera_manager_render") + renderer:setCameraPos() + end + end; + + ---カメラの回転軸のオフセット位置を変更する。 + ---@param newPivot? Vector3 設定する新しいカメラ回転軸のオフセット位置。nilの場合は設定値がリセットされる。 + setCameraPivot = function (newPivot) + if host:isHost() then + renderer:setOffsetCameraPivot(newPivot) + end + end; + + ---カメラ方向を変更する。 + ---@param newRot? Vector3 設定する新しいカメラのオフセット方向。nilの場合は設定値がリセットされる。 + setCameraRot = function (newRot) + if host:isHost() then + renderer:setCameraRot(newRot) + end + end; + + ---三人称視点でのカメラと回転軸の距離を設定する。 + ---@param self CameraManager + ---@param distance number 設定する新しい距離(ブロック単位)。デフォルトは4ブロック。 + setThirdPersonCameraDistance = function (self, distance) + if host:isHost() then + if distance ~= 4 then + self:setCameraManagerRender(true) + elseif not self.isCameraCollisionDenialEnabled then + self:setCameraManagerRender(false) + end + self.thirdPersonCameraDistance = distance + end + end; + + ---カメラの当たり判定打ち消し機能を設定する。 + ---@param enabled boolean カメラの当たり判定打ち消し機能を有効にするかどうか。有効にするとカメラがブロックの中にめり込むようになる。 + setCameraCollisionDenial = function (self, enabled) + if host:isHost() then + if enabled then + self:setCameraManagerRender(true) + elseif self.thirdPersonCameraDistance == 4 then + self:setCameraManagerRender(false) + end + self.isCameraCollisionDenialEnabled = enabled + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/config.lua b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/config.lua new file mode 100644 index 0000000..70b0382 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/config.lua @@ -0,0 +1,116 @@ +---@alias Config.Storage +---| "PUBLIC" # FBACキャラクター共通ストレージ +---| "PRIVATE" # キャラクター固有ストレージ + +---@class (exact) Config : AvatarModule アバター設定を管理するクラス +---@field package privateStorageName string キャラクター固有ストレージの名前 +---@field package defaultValues {[string]: number|boolean|string} 読み込んだ値のデフォルト値を保持するテーブル +---@field package nextSyncCount integer 次の同期pingまでのカウンター +---@field package isSynced boolean 設定値がホストと同期されているかどうか +---@field public loadConfig fun(self: Config, storage: Config.Storage, keyName: string, defaultValue: any): any 設定を読み出す +---@field public saveConfig fun(self: Config, storage: Config.Storage, keyName: string, valueToSave: any) 設定を保存する + +Config = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Config + new = function (parent) + ---@type Config + local instance = Avatar.instantiate(Config, AvatarModule, parent) + + instance.privateStorageName = "BlueArchive_"..instance.parent.characterData.basic.firstName.en_us..instance.parent.characterData.basic.lastName.en_us + instance.defaultValues = {} + instance.nextSyncCount = 0 + instance.isSynced = host:isHost() + + return instance + end; + + ---初期化関数 + ---@param self Config + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + events.TICK:register(function () + if self.nextSyncCount == 0 then + pings.syncAvatarConfig(self.parent.nameplate.currentName, self.parent.nameplate.shouldShowClubName, self.parent.costume.currentCostume, self.parent.armor.shouldShowArmor, self.parent.actionWheel.shouldReplaceVehicleModels, self.parent.bubble.isChatOpened, self.parent.characterData.dataSync.syncData) + self.nextSyncCount = 300 + else + self.nextSyncCount = self.nextSyncCount - 1 + end + end) + end + end; + + ---設定を読み出す。 + ---@generic T + ---@param self Config + ---@param storage Config.Storage 読み出し先のストレージ + ---@param keyName string 読み出す設定の名前 + ---@param defaultValue `T` 該当の設定が無い場合や、ホスト外での実行の場合はこの値が返される。 + ---@return `T` loadedValue 読み出した値 + loadConfig = function (self, storage, keyName, defaultValue) + if host:isHost() then + if storage == "PUBLIC" then + config:setName("BlueArchive_public") + else + config:setName(self.privateStorageName) + end + local loadedData = config:load(keyName) + self.defaultValues[keyName] = defaultValue + if loadedData ~= nil then + return loadedData + else + return defaultValue + end + else + return defaultValue + end + end; + + ---設定を保存する。 + ---@param self Config + ---@param storage Config.Storage 書き込み先のストレージ + ---@param keyName string 保存する設定の名前 + ---@param valueToSave any 保存する値 + saveConfig = function (self, storage, keyName, valueToSave) + if host:isHost() then + if storage == "PUBLIC" then + config:setName("BlueArchive_public") + else + config:setName(self.privateStorageName) + end + if self.defaultValues[keyName] == valueToSave then + config:save(keyName, nil) + else + config:save(keyName, valueToSave) + end + end + end; +} + +---アバター設定を他Figuraクライアントと同期する。 +---@param nameTypeId integer 表示名の種類ID +---@param shouldShowClubName boolean 部活名を表示するかどうか +---@param costumeId integer 現在の衣装ID +---@param shouldShowArmor boolean 防具が見えているかどうか +---@param shouldReplaceVehicleModels boolean 乗り物モデルを置き換えるかどうか +---@param isChatOpened boolean チャット欄を開いているかどうか +---@param additionalData {[string]: any} キャラクター固有用に追加で同期するデータ +function pings.syncAvatarConfig(nameTypeId, shouldShowClubName, costumeId, shouldShowArmor, shouldReplaceVehicleModels, isChatOpened, additionalData) + if not AvatarInstance.config.isSynced then + AvatarInstance.nameplate:setName(nameTypeId, shouldShowClubName) + AvatarInstance.armor.shouldShowArmor = shouldShowArmor + AvatarInstance.actionWheel.shouldReplaceVehicleModels = shouldReplaceVehicleModels + AvatarInstance.bubble.isChatOpened = isChatOpened + if costumeId >= 2 then + AvatarInstance.costume:setCostume(costumeId) + end + AvatarInstance.characterData.dataSync.syncData = additionalData + if AvatarInstance.characterData.dataSync.callbacks ~= nil and AvatarInstance.characterData.dataSync.callbacks.onDataSynced ~= nil then + AvatarInstance.characterData.dataSync.callbacks.onDataSynced(AvatarInstance.characterData) + end + AvatarInstance.config.isSynced = true + end +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/costume.lua b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/costume.lua new file mode 100644 index 0000000..650a557 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/costume.lua @@ -0,0 +1,113 @@ +---@class (exact) Costume : AvatarModule キャラクターのコスチュームを管理し、円滑に切り替えられるようにするクラス +---@field public costumeList string[] 利用可能なコスチューム一覧。BlueArchiveCharacterクラスから動的に生成される。 +---@field public currentCostume integer 現在のコスチューム +---@field public isChangingCostume boolean コスチュームを変更中かどうか +---@field public getCostumeLocalName fun(self: Costume, costumeId: integer) 設定言語を考慮した、衣装の名前を返す +---@field public setCostumeTextureOffset fun(offset: integer) メインモデルのテクスチャのオフセット値を設定する +---@field public setCostume fun(self: Costume, costume: integer) コスチュームを設定する +---@field public resetCostume fun(self: Costume) コスチュームをリセットしデフォルトのコスチュームにする + +Costume = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Costume + new = function (parent) + ---@type Costume + local instance = Avatar.instantiate(Costume, AvatarModule, parent) + + instance.costumeList = {} + instance.currentCostume = instance.parent.config:loadConfig("PRIVATE", "costume", 1) + instance.isChangingCostume = false + + return instance + end; + + ---初期化関数 + ---@param self Costume + init = function (self) + AvatarModule.init(self) + + for _, costume in ipairs(self.parent.characterData.costume.costumes) do + table.insert(self.costumeList, costume.name) + end + if self.currentCostume >= 2 then + if self.costumeList[self.currentCostume] ~= nil then + self:setCostume(self.currentCostume) + else + self.currentCostume = 1 + if host:isHost() then + self.parent.config:saveConfig("PRIVATE", "costume", 1) + end + end + end + self.parent.headBlock:generateHeadModel() + self.parent.portrait:generateHeadModel() + + events.TICK:register(function () + self.isChangingCostume = false + end) + end; + + ---設定言語を考慮した、衣装の名前を返す。 + ---@param self Costume + ---@param costumeId integer ローカル名を取得する衣装のID + ---@return string localCostumeName 衣装のローカル名 + getCostumeLocalName = function(self, costumeId) + return self.parent.locale:getLocale("costume."..self.costumeList[costumeId]) + end; + + ---メインモデルのテクスチャのオフセット値を設定する。 + ---@param offset integer オフセット値 + setCostumeTextureOffset = function (offset) + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Body.Body, models.models.main.Avatar.UpperBody.Body.BodyLayer, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArm, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmLayer, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.RightArmBottom, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.RightArmBottomLayer, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArm, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmLayer, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.LeftArmBottom, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.LeftArmBottomLayer, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLeg, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegLayer, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.RightLegBottom, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.RightLegBottomLayer, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLeg, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegLayer, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.LeftLegBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.LeftLegBottomLayer}) do + modelPart:setUVPixels(0, offset * 48) + end + end; + + ---コスチュームを設定する。 + ---@param self Costume + ---@param costume integer 設定するコスチューム + setCostume = function(self, costume) + self:resetCostume() + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onChange ~= nil then + self.parent.characterData.costume.callbacks.onChange(self.parent.characterData, self.parent.characterData.costume.costumes[costume].name:upper()) + end + self.parent.headBlock:generateHeadModel() + self.parent.portrait:generateHeadModel() + if self.parent.armor.isArmorVisible.chestplate then + self.parent.armor:setChestplate(self.parent.armor.armorSlotItems[2]) + end + if self.parent.armor.isArmorVisible.leggings then + self.parent.armor:setLeggings(self.parent.armor.armorSlotItems[3]) + end + if self.parent.armor.isArmorVisible.boots then + self.parent.armor:setBoots(self.parent.armor.armorSlotItems[4]) + end + self.currentCostume = costume + end; + + ---コスチュームをリセットし、デフォルトのコスチュームにする。 + ---@param self Costume + resetCostume = function (self) + self.isChangingCostume = true + if self.parent.exSkill.transitionCount > 0 then + self.parent.exSkill:forceStop() + end + self.setCostumeTextureOffset(0) + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onReset ~= nil then + self.parent.characterData.costume.callbacks.onReset(self.parent.characterData) + end + self.parent.headBlock:generateHeadModel() + self.parent.portrait:generateHeadModel() + if self.parent.armor.isArmorVisible.chestplate then + self.parent.armor:setChestplate(self.parent.armor.armorSlotItems[2]) + end + if self.parent.armor.isArmorVisible.leggings then + self.parent.armor:setLeggings(self.parent.armor.armorSlotItems[3]) + end + if self.parent.armor.isArmorVisible.boots then + self.parent.armor:setBoots(self.parent.armor.armorSlotItems[4]) + end + self.currentCostume = 1 + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/death_animation.lua b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/death_animation.lua new file mode 100644 index 0000000..65583f8 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/death_animation.lua @@ -0,0 +1,294 @@ +---@class (exact) DeathAnimation : AvatarModule プレイヤーが死亡した際のキャラクターがヘリコプターで回収されるアニメーションを管理するクラス +---@field package DEBUG_MODE boolean デバッグモードを有効にするかどうか。デバッグモードモードではxキーでフェーズ1のモデルを、cキーでフェーズ2のモデルを表示できる。 +---@field public dummyAvatarRoot? ModelPart 死亡アニメーションに使用されるダミーのアバターのルート。アバターが未生成の場合はnilが入っている。 +---@field package animationCount integer 死亡アニメーションの再生カウンター +---@field package animationPos Vector3 アニメーションを再生している場所の座標 +---@field package animationRot number アニメーションを再生している向き(度数法で示す) +---@field package costumeIndex integer 死亡アニメーションのコスチュームのインデックス +---@field package isPlayerInvisible boolean プレイヤーモデルが不可視状態かどうか +---@field package isScriptLoaded false スクリプトを全て読み込んだかどうか +---@field package removeUnsafeModel fun(target?: ModelPart) 存在しないかもしれないモデルパーツを安全に削除する +---@field package spawnHelicopterParticles fun(self: DeathAnimation) ヘリコプターの出現/消滅パーティクルを生成する +---@field package generateDummyAvatar fun(self: DeathAnimation, parent: ModelPart) 死亡アニメーション用のダミーアバターを生成する +---@field package resetDummyAvatar fun(avatarRoot: ModelPart) ダミーアバター状態をリセットする +---@field package setPhase1Pose fun(avatarRoot: ModelPart) ダミーアバターをフェーズ1のポーズにする +---@field package setPhase2Pose fun(avatarRoot: ModelPart) ダミーアバターをフェーズ2のポーズにする +---@field package play fun(self: DeathAnimation) 死亡アニメーションを再生する +---@field package stop fun(self: DeathAnimation) 死亡アニメーションを停止する + +DeathAnimation = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return DeathAnimation + new = function (parent) + ---@type DeathAnimation + local instance = Avatar.instantiate(DeathAnimation, AvatarModule, parent) + + instance.DEBUG_MODE = false + + instance.dummyAvatarRoot = models.models.death_animation.Avatar + instance.animationCount = 0 + instance.animationPos = vectors.vec3() + instance.animationRot = 0 + instance.costumeIndex = 1 + instance.isPlayerInvisible = false + instance.isScriptLoaded = false + + return instance + end; + + ---初期化関数 + ---@param self DeathAnimation + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + if self.parent.playerUtils.damageStatus == "DIED" then + self:play() + models.models.main:setVisible(false) + for _, vanillaModel in ipairs({vanilla_model.RIGHT_ITEM, vanilla_model.LEFT_ITEM, vanilla_model.ELYTRA}) do + vanillaModel:setVisible(false) + end + self.isPlayerInvisible = true + end + if self.isPlayerInvisible and player:getHealth() > 0 then + models.models.main:setVisible(true) + for _, vanillaModel in ipairs({vanilla_model.RIGHT_ITEM, vanilla_model.LEFT_ITEM, vanilla_model.ELYTRA}) do + vanillaModel:setVisible(true) + end + self.isPlayerInvisible = false + end + end) + + self.parent.avatarEvents.SCRIPT_INIT:register(function () + self.isScriptLoaded = true + end) + + if self.DEBUG_MODE then + models:addChild(models:newPart("script_death_animation_debug", "World")) + keybinds:newKeybind("[DEBUG] Spawn death animation phase1 model", "key.keyboard.x"):onPress(function () + self.removeUnsafeModel(models.script_death_animation_debug.Avatar) + self:generateDummyAvatar(models.script_death_animation_debug) + self.resetDummyAvatar(models.script_death_animation_debug.Avatar) + self.setPhase1Pose(models.script_death_animation_debug.Avatar) + models.script_death_animation_debug.Avatar:setPos(player:getPos():add(0, -0.75, 0):scale(16)) + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onPhase1 ~= nil then + self.parent.characterData.deathAnimation.callbacks.onPhase1(self.parent.characterData, models.script_death_animation_debug.Avatar, self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].name:upper()) + end + end) + keybinds:newKeybind("[DEBUG] Spawn death animation phase2 model", "key.keyboard.c"):onPress(function () + self.removeUnsafeModel(models.script_death_animation_debug.Avatar) + self:generateDummyAvatar(models.script_death_animation_debug) + self.resetDummyAvatar(models.script_death_animation_debug.Avatar) + self.setPhase2Pose(models.script_death_animation_debug.Avatar) + models.script_death_animation_debug.Avatar:setPos(player:getPos():scale(16)) + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onPhase1 ~= nil then + self.parent.characterData.deathAnimation.callbacks.onPhase1(self.parent.characterData, models.script_death_animation_debug.Avatar, self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].name:upper()) + end + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onPhase2 ~= nil then + self.parent.characterData.deathAnimation.callbacks.onPhase2(self.parent.characterData, models.script_death_animation_debug.Avatar, self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].name:upper()) + end + end) + end + end; + + ---存在しないかもしれないモデルパーツを安全に削除する。 + ---@param target? ModelPart 削除対象のモデルパーツ + removeUnsafeModel = function (target) + if target ~= nil then + target:getParent():removeChild(target) + target:remove() + end + end; + + ---ヘリコプターの出現/消滅パーティクルを生成する。 + ---@param self DeathAnimation + spawnHelicopterParticles = function (self) + local helicopterPos = self.parent.modelUtils.getModelWorldPos(models.models.death_animation.Helicopter) + for _ = 1, 100 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:poof"), helicopterPos:copy():add(vectors.rotateAroundAxis(self.animationRot, math.random() * 9.375 - 4.6875, math.random() * 11.125 - 5.5625, math.random() * 23.875 - 11.9375, 0, math.abs(helicopterPos.y), 0))) + end + end; + + ---死亡アニメーション用のダミーアバターを生成する。 + ---@param self DeathAnimation + ---@param parent ModelPart ダミーアバターをアタッチする親のモデルパーツ + generateDummyAvatar = function (self, parent) + local isArmorVisible = { + helmet = self.parent.armor.isArmorVisible.helmet; + chestplate = self.parent.armor.isArmorVisible.chestplate; + leggings = self.parent.armor.isArmorVisible.leggings; + boots = self.parent.armor.isArmorVisible.boots; + } + if isArmorVisible.helmet then + self.parent.armor:setHelmet(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + if isArmorVisible.chestplate then + self.parent.armor:setChestplate(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + if isArmorVisible.leggings then + self.parent.armor:setLeggings(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + if isArmorVisible.boots then + self.parent.armor:setBoots(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + self.parent.physics:disable() + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onBeforeModelCopy ~= nil then + self.parent.characterData.deathAnimation.callbacks.onBeforeModelCopy(self.parent.characterData, self.isScriptLoaded) + end + + parent:addChild(self.parent.modelUtils:copyModel(models.models.main.Avatar)) + parent.Avatar.Head.FaceParts.Eyes.EyeRight:setUVPixels(self.parent.characterData.faceParts.leftEye.TIRED:copy():scale(6)) + parent.Avatar.Head.FaceParts.Eyes.EyeLeft:setUVPixels(self.parent.characterData.faceParts.rightEye.TIRED:copy():scale(6)) + parent.Avatar.Head.HeadRing:setRot() + for _, modelPart in ipairs({parent.Avatar.UpperBody.Arms.RightArm.RightArmBottom.RightItemPivot, parent.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.LeftItemPivot}) do + modelPart:remove() + end + local unsafeModels = {parent.Avatar.Head.FaceParts.Mouth, parent.Avatar.Head.ArmorH, parent.Avatar.UpperBody.Body.ArmorB, parent.Avatar.UpperBody.Arms.RightArm.ArmorRA, parent.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB, parent.Avatar.UpperBody.Arms.LeftArm.ArmorLA, parent.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB, parent.Avatar.LowerBody.Legs.RightLeg.ArmorRL, parent.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB, parent.Avatar.LowerBody.Legs.LeftLeg.ArmorLL, parent.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB} + for i = 1, 11 do + self.removeUnsafeModel(unsafeModels[i]) + end + if parent.Avatar.UpperBody.Body.Gun ~= nil then + if self.parent.characterData.gun.gunPosition.put.type == "BODY" then + local leftHanded = player:isLeftHanded() + parent.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, 12, 0):add(self.parent.characterData.gun.gunPosition.put.pos[leftHanded and "left" or "right"])) + parent.Avatar.UpperBody.Body.Gun:setRot(self.parent.characterData.gun.gunPosition.put.rot[leftHanded and "left" or "right"]) + else + parent.Avatar.UpperBody.Body.Gun:remove() + end + end + + if isArmorVisible.helmet then + self.parent.armor:setHelmet(self.parent.armor.armorSlotItems[1]) + end + if isArmorVisible.chestplate then + self.parent.armor:setChestplate(self.parent.armor.armorSlotItems[2]) + end + if isArmorVisible.leggings then + self.parent.armor:setLeggings(self.parent.armor.armorSlotItems[3]) + end + if isArmorVisible.boots then + self.parent.armor:setBoots(self.parent.armor.armorSlotItems[4]) + end + self.parent.physics:enable() + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onAfterModelCopy ~= nil then + self.parent.characterData.deathAnimation.callbacks.onAfterModelCopy(self.parent.characterData, self.isScriptLoaded) + end + end; + + ---ダミーアバター状態をリセットする。 + ---@param avatarRoot ModelPart ダミーアバターのルート + resetDummyAvatar = function (avatarRoot) + for _, modelPart in ipairs({avatarRoot, avatarRoot.Head, avatarRoot.UpperBody, avatarRoot.UpperBody.Body, avatarRoot.UpperBody.Arms, avatarRoot.UpperBody.Arms.RightArm, avatarRoot.UpperBody.Arms.RightArm.RightArmBottom, avatarRoot.UpperBody.Arms.LeftArm, avatarRoot.UpperBody.Arms.LeftArm.LeftArmBottom, avatarRoot.LowerBody, avatarRoot.LowerBody.Legs, avatarRoot.LowerBody.Legs.RightLeg, avatarRoot.LowerBody.Legs.RightLeg.RightLegBottom, avatarRoot.LowerBody.Legs.LeftLeg, avatarRoot.LowerBody.Legs.LeftLeg.LeftLegBottom}) do + modelPart:setPos() + modelPart:setRot() + modelPart:setScale() + end + end; + + ---ダミーアバターをフェーズ1のポーズにする。 + ---@param avatarRoot ModelPart ダミーアバターのルート + setPhase1Pose = function (avatarRoot) + avatarRoot:setPos(0, -12, 0) + avatarRoot.Head:setRot(-30, 0, 0) + avatarRoot.UpperBody.Arms.RightArm:setRot(35, 0, -20) + avatarRoot.UpperBody.Arms.LeftArm:setRot(35, 0, 20) + avatarRoot.LowerBody.Legs.RightLeg:setRot(90, -10, 0) + avatarRoot.LowerBody.Legs.LeftLeg:setRot(90, 10, 0) + end; + + ---ダミーアバターをフェーズ2のポーズにする。 + ---@param avatarRoot ModelPart ダミーアバターのルート + setPhase2Pose = function (avatarRoot) + avatarRoot:setPos(3, -210, 2) + avatarRoot:setRot(105, 75, 90) + avatarRoot.Head:setRot(0, -40, 0) + avatarRoot.UpperBody.Arms.RightArm:setRot(47.5, 0, 20) + avatarRoot.UpperBody.Arms.LeftArm:setRot(-30, 0, -15) + avatarRoot.LowerBody.Legs.RightLeg:setRot(80, 0, 0) + avatarRoot.LowerBody.Legs.RightLeg.RightLegBottom:setRot(-75, 0, 0) + avatarRoot.LowerBody.Legs.LeftLeg:setRot(10, 0, 0) + avatarRoot:setLight() + end; + + ---死亡アニメーションを再生する。 + ---@param self DeathAnimation + play = function (self) + self:stop() + self.costumeIndex = self.parent.costume.currentCostume + + --ダミーアバターを生成する。 + local unsafeModels = {models.models.death_animation.Avatar, models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14.Avatar} + for i = 1, 2 do + self.removeUnsafeModel(unsafeModels[i]) + end + self:generateDummyAvatar(models.models.death_animation) + + --死亡アニメーションを生成する。 + self.resetDummyAvatar(models.models.death_animation.Avatar) + self.setPhase1Pose(models.models.death_animation.Avatar) + self.animationPos = player:getPos() + models.models.death_animation:setPos(self.animationPos:copy():scale(16)) + self.animationRot = (player:getBodyYaw() * -1 + 180) % 360 + models.models.death_animation:setRot(0, self.animationRot) + models.models.death_animation:setVisible(true) + animations["models.death_animation"]["death_animation"]:play() + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onPhase1 ~= nil then + self.parent.characterData.deathAnimation.callbacks.onPhase1(self.parent.characterData, models.models.death_animation.Avatar, self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].name:upper()) + end + + if events.TICK:getRegisteredCount("death_animation_tick") == 0 then + events.TICK:register(function () + local particleAnchorPos = self.parent.modelUtils.getModelWorldPos(models.models.death_animation.DeathAnimationParticleAnchor) + for _ = 1, 3 do + local particleRot = math.random() * math.pi * 2 + local particleOffset = math.random() * 3 + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:poof"), particleAnchorPos:copy():add(math.cos(particleRot) * particleOffset, 0, math.sin(particleRot) * particleOffset)):setVelocity(math.cos(particleRot), 0, math.sin(particleRot)) + + end + if self.animationCount % 2 == 1 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.bamboo_wood_door.close"), self.parent.modelUtils.getModelWorldPos(models.models.death_animation.Helicopter.DeathAnimationSoundAnchor1), 1, 0.5):setAttenuation(2) + end + if self.animationCount < 120 then + models.models.death_animation.Avatar:setLight(world.getLightLevel(self.animationPos)) + end + if self.animationCount == 1 then + self:spawnHelicopterParticles() + elseif self.animationCount == 10 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.iron_door.open"), self.parent.modelUtils.getModelWorldPos(models.models.death_animation.Helicopter.DeathAnimationSoundAnchor1), 1, 0.5) + elseif self.animationCount >= 57 and self.animationCount < 76 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.attack.sweep"), self.parent.modelUtils.getModelWorldPos(models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14), 0.25, -0.056 * (self.animationCount - 57) + 2) + elseif self.animationCount == 120 then + self.dummyAvatarRoot = models.models.death_animation.Avatar:moveTo(models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14) + self.setPhase2Pose(models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14.Avatar) + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onPhase2 ~= nil then + self.parent.characterData.deathAnimation.callbacks.onPhase2(self.parent.characterData, models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14.Avatar, self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].name:upper()) + end + elseif self.animationCount == 180 then + models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14.Avatar:setVisible(false) + elseif self.animationCount == 230 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.iron_door.close"), self.parent.modelUtils.getModelWorldPos(models.models.death_animation.Helicopter.DeathAnimationSoundAnchor1), 1, 0.5) + elseif self.animationCount == 255 then + self:spawnHelicopterParticles() + self:stop() + end + end, "death_animation_tick") + end + if events.WORLD_TICK:getRegisteredCount("death_animation_world_tick") == 0 then + events.WORLD_TICK:register(function () + self.animationCount = self.animationCount + 1 + end, "death_animation_world_tick") + end + end; + + ---死亡アニメーションを停止する。 + ---@param self DeathAnimation + stop = function (self) + models.models.death_animation:setVisible(false) + animations["models.death_animation"]["death_animation"]:stop() + events.TICK:remove("death_animation_tick") + events.WORLD_TICK:remove("death_animation_world_tick") + self.dummyAvatarRoot = nil + self.animationCount = 0 + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/events/abstract_event.lua b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/events/abstract_event.lua new file mode 100644 index 0000000..e6af2e5 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/events/abstract_event.lua @@ -0,0 +1,71 @@ +---@class AbstractEvent : AvatarModule +---@field public registerTable {[string]: fun()[]} 登録されたコールバック関数を管理するテーブル +---@field public register fun(self: AbstractEvent, callback: fun(...: any), name?: string) イベントにコールバック関数登録する +---@field public remove fun(self: AbstractEvent, name: string) 指定した名前のコールバック関数を1つ削除する +---@field public getRegisteredCount fun(self: AbstractEvent, name: string): integer 指定した名前で登録されているコールバック関数の数を返す +---@field public fire fun(self: AbstractEvent, ...: any) 登録された全てのコールバック関数を呼ぶ + +AbstractEvent = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return AbstractEvent + new = function (parent) + ---@type AbstractEvent + local instance = Avatar.instantiate(AbstractEvent, AvatarModule, parent) + + instance.registerTable = {} + + return instance + end; + + ---イベントにコールバック関数登録する。 + ---@param self AbstractEvent + ---@param callback fun(...: any) 登録するコールバック関数 + ---@param name? string コールバック関数の名前 + register = function (self, callback, name) + local callbackName = name ~= nil and name or client.intUUIDToString(client.generateUUID()) + if self.registerTable[callbackName] ~= nil then + table.insert(self.registerTable[callbackName], callback) + else + local callbackTable = {} + table.insert(callbackTable, callback) + self.registerTable[callbackName] = callbackTable + end + end; + + ---指定した名前のコールバック関数を1つ削除する。 + ---@param self AbstractEvent + ---@param name string コールバック関数の名前 + remove = function (self, name) + if self.registerTable[name] ~= nil then + table.remove(self.registerTable[name]) + if #self.registerTable[name] == 0 then + self.registerTable[name] = nil + end + end + end; + + ---指定した名前で登録されているコールバック関数の数を返す。 + ---@param self AbstractEvent + ---@param name string コールバック関数の名前 + ---@return integer registeredCount 登録されていたコールバック関数の数 + getRegisteredCount = function (self, name) + if self.registerTable[name] ~= nil then + return #self.registerTable[name] + else + return 0 + end + end; + + ---登録された全てのコールバック関数を呼ぶ。 + ---@param self AbstractEvent + ---@param ... any callbackArgs コールバック引数 + fire = function (self, ...) + for _, eventTable in pairs(self.registerTable) do + for _, callback in ipairs(eventTable) do + ---@diagnostic disable-next-line: redundant-parameter + callback(...) + end + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/events/avatar_events.lua b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/events/avatar_events.lua new file mode 100644 index 0000000..b2fd6e8 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/events/avatar_events.lua @@ -0,0 +1,16 @@ +---@class AvatarEvents : AvatarModule アバター独自のイベントを定義し、管理するクラス +---@field public SCRIPT_INIT ScriptInitEvent 全てのスクリプトの初期化が完了した後に1度だけ呼ばれるイベント + +AvatarEvents = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return AvatarEvents + new = function (parent) + ---@type AvatarEvents + local instance = Avatar.instantiate(AvatarEvents, AvatarModule, parent) + + instance.SCRIPT_INIT = ScriptInitEvent.new(instance.parent) + + return instance + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/events/script_init_event.lua b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/events/script_init_event.lua new file mode 100644 index 0000000..44c62e7 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/events/script_init_event.lua @@ -0,0 +1,25 @@ +---@class ScriptInitEvent : AbstractEvent 全てのスクリプトの初期化が完了した後に1度だけ呼ばれるイベント +---@field public register fun(self: AbstractEvent, callback: fun(), name?: string) イベントにコールバック関数登録する +---@field public fire fun(self: AbstractEvent) 登録された全てのコールバック関数を呼ぶ + +ScriptInitEvent = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ScriptInitEvent + new = function (parent) + ---@type ScriptInitEvent + local instance = Avatar.instantiate(ScriptInitEvent, AbstractEvent, parent) + + return instance + end; + + ---登録された全てのコールバック関数を呼ぶ。 + ---@param self ScriptInitEvent + fire = function (self, ...) + for _, eventTable in pairs(self.registerTable) do + for _, callback in ipairs(eventTable) do + callback() + end + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/ex_skill/ex_skill.lua b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/ex_skill/ex_skill.lua new file mode 100644 index 0000000..dcc10ca --- /dev/null +++ b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/ex_skill/ex_skill.lua @@ -0,0 +1,434 @@ +---@alias ExSkill.AutoPlayMode +---| "NONE" # 自動再生なし +---| "MAIN" # メインExスキル +---| "SUB" # サブExスキル + +---@alias ExSkill.TransitionPhase +---| "PRE" # Exスキルアニメーション開始前 +---| "POST" # Exスキルアニメーション終了後 + +---@class (exact) ExSkill : AvatarModule Exスキルのアニメーションを管理するクラス +---@field package AUTO_PLAY ExSkill.AutoPlayMode アバター読み込み時に自動的にExスキルが再生される。デバッグ用。 +---@field public frameParticleAmount integer Exスキルフレームのパーティクルの量:1. 標準, 2. 少なめ, 3. なし, 4. Exスキルフレーム非表示、パーティクル量は標準 +---@field package exSkillIndex integer 現在再生中のExスキルのインデックス番号 +---@field public animationCount integer Exスキルのアニメーション再生中に増加するカウンター。-1はアニメーション停止中を示す。 +---@field package animationLength number Exスキルのアニメーションの長さ。スクリプトで自動で代入する。 +---@field public transitionCount number Exスキルのアニメーション前後のカメラのトランジションの進捗を示すカウンター +---@field package keyPressCount integer Exスキルキーを押下し続ける時間を計るカウンター +---@field package bodyYaw number[] プレイヤーの体の回転 +---@field package isDebugInit boolean デバッグモードが初期化されたかどうか +---@field public canPlayAnimation fun(self: ExSkill): boolean アニメーションが再生可能かどうかを返す +---@field package transition fun(self: ExSkill, direction: ExSkill.TransitionPhase, callback: fun()) Exスキルのアニメーションの前後のカメラのトランジションを行う関数 +---@field public play fun(self: ExSkill, isSubExSkill: boolean) アニメーションを再生する +---@field public stop fun(self: ExSkill) アニメーションを停止する +---@field public forceStop fun(self: ExSkill) アニメーションを停止する。終了時のトランジションも無効。 + +ExSkill = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ExSkill + new = function (parent) + ---@type ExSkill + local instance = Avatar.instantiate(ExSkill, AvatarModule, parent) + + instance.AUTO_PLAY = "NONE" + + instance.frameParticleAmount = instance.parent.config:loadConfig("PRIVATE", "exSkillFrameParticleAmount", 1) + instance.exSkillIndex = 1 + instance.animationCount = -1 + instance.animationLength = 0 + instance.transitionCount = 0 + instance.keyPressCount = 0 + instance.bodyYaw = {} + instance.isDebugInit = false + + return instance + end; + + ---初期化関数 + ---@param self ExSkill + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + for _, exSkill in ipairs(self.parent.characterData.exSkill) do + local offset = (exSkill.camera.fixMode ~= nil and exSkill.camera.fixMode) and 1 or 0.9375 + exSkill.camera.start.pos:mul(-1, 1, 1):scale(1 / 16 * offset) + exSkill.camera.fin.pos:mul(-1, 1, 1):scale(1 / 16 * offset) + end + + local exSkillKey = self.parent.keyManager:register("ex_skill", self.parent.config:loadConfig("PRIVATE", "keybind.ex_skill", "key.keyboard.g")) + exSkillKey:setOnPress(function () + while events.TICK:getRegisteredCount("ex_skill_keypress_tick") > 0 do + events.TICK:remove("ex_skill_keypress_tick") + end + events.TICK:register(function () + if self.keyPressCount == 30 then + events.TICK:remove("ex_skill_keypress_tick") + self.parent.placementObjectManager:removeAll() + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.zombie.break_wooden_door"), player:getPos(), 0.25, 2) + self.keyPressCount = 0 + return + end + self.keyPressCount = self.keyPressCount + 1 + end, "ex_skill_keypress_tick") + end) + exSkillKey:setOnRelease(function () + events.TICK:remove("ex_skill_keypress_tick") + if self.keyPressCount > 0 then + if self:canPlayAnimation() and self.animationCount == -1 and self.transitionCount == 0 then + pings.exSkill() + else + print(self.parent.locale:getLocale("key_bind.ex_skill.unavailable"..(renderer:isFirstPerson() and "_firstperson" or ""))) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + end + self.keyPressCount = 0 + end + end) + self.parent.keyManager:register("ex_skill_sub", self.parent.config:loadConfig("PRIVATE", "keybind.ex_skill_sub", "key.keyboard.h")):setOnPress(function () + if self:canPlayAnimation() and self.animationCount == -1 and self.transitionCount == 0 and self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill ~= nil then + pings.subExSkill() + else + print(self.parent.locale:getLocale(self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill == nil and "action_wheel.main.action_6.unavailable" or "key_bind.ex_skill.unavailable"..(renderer:isFirstPerson() and "_firstperson" or ""))) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + end + end) + end + + table.insert(self.bodyYaw, player:getBodyYaw() % 360) + + events.TICK:register(function () + if not renderer:isFirstPerson() then + table.insert(self.bodyYaw, player:getBodyYaw() % 360) + if #self.bodyYaw == 3 then + table.remove(self.bodyYaw, 1) + end + end + end) + + if self.AUTO_PLAY ~= "NONE" then + events.TICK:register(function () + if not self.isDebugInit then + events.TICK:remove("ex_skill_debug_tick") + self:play(self.AUTO_PLAY == "SUB") + self.isDebugInit = true + end + end, "ex_skill_debug_tick") + end + end; + + ---アニメーションが再生可能かどうかを返す。 + ---@param self ExSkill + ---@return boolean canPlayAnimation Exスキルアニメーションが再生可能かどうか + canPlayAnimation = function (self) + return player:getPose() == "STANDING" and player:getVelocity():length() < 0.01 and self.bodyYaw[1] == self.bodyYaw[2] and player:isOnGround() and not player:isInWater() and not player:isInLava() and player:getFrozenTicks() == 0 and not renderer:isFirstPerson() and self.parent.playerUtils.damageStatus == "NONE" and player:getSwingArm() == nil and player:getActiveItem().id == "minecraft:air" and not self.parent.costume.isChangingCostume + end; + + ---Exスキルのアニメーションの前後のカメラのトランジションを行う関数 + ---@param self ExSkill + ---@param direction ExSkill.TransitionPhase カメラのトランジションの向き + ---@param callback fun() トランジション終了時に呼び出されるコールバック関数 + transition = function (self, direction, callback) + events.TICK:register(function () + if not client:isPaused() then + if events.TICK:getRegisteredCount("ex_skill_transition_tick") == 1 then + self.transitionCount = direction == "PRE" and math.min(self.transitionCount + 1, 10) or math.max(self.transitionCount - 1, 0) + end + if (direction == "PRE" and self.transitionCount == 10) or (direction == "POST" and self.transitionCount == 0) then + if host:isHost() then + local windowSize = client:getScaledWindowSize() + models.models.ex_skill_frame.Gui.FrameBar:setPos(0, 0, 0) + if direction == "PRE" and self.frameParticleAmount < 4 then + for _, modelPart in ipairs({models.models.ex_skill_frame.Gui.Frame.FrameTopLeft, models.models.ex_skill_frame.Gui.Frame.FrameTopRight, models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft, models.models.ex_skill_frame.Gui.Frame.FrameBottomRight}) do + modelPart:setVisible(true) + end + models.models.ex_skill_frame.Gui.Frame.FrameTop:setPos(-windowSize.x + 16, -16) + models.models.ex_skill_frame.Gui.Frame.FrameTop:setScale(windowSize.x / 16 - 2, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setPos(-16, -windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setScale(1, windowSize.y / 16 - 2, 1) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setPos(-windowSize.x + 16, -windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setScale(windowSize.x / 16 - 2, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setPos(-windowSize.x, -windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setScale(1, windowSize.y / 16 - 2, 1) + elseif direction == "POST" then + for _, modelPart in ipairs({models.models.ex_skill_frame.Gui.Frame.FrameTopLeft, models.models.ex_skill_frame.Gui.Frame.FrameTopRight, models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft, models.models.ex_skill_frame.Gui.Frame.FrameBottomRight}) do + modelPart:setVisible(false) + end + for _, modelPart in ipairs({models.models.ex_skill_frame.Gui.Frame.FrameTop, models.models.ex_skill_frame.Gui.Frame.FrameLeft, models.models.ex_skill_frame.Gui.Frame.FrameBottom, models.models.ex_skill_frame.Gui.Frame.FrameRight}) do + modelPart:setScale(0, 0, 0) + end + end + end + callback() + events.TICK:remove("ex_skill_transition_tick") + events.RENDER:remove("ex_skill_transition_render") + end + if host:isHost() then + local barPos = models.models.ex_skill_frame.Gui.FrameBar:getPos().x * -1 + local windowSizeY = client:getScaledWindowSize().y + if self.frameParticleAmount ~= 3 and self.transitionCount >= 1 and self.transitionCount <= 9 then + for _ = 1, windowSizeY / (self.frameParticleAmount == 2 and 100 or 20) do + local particleOffset = math.random() * windowSizeY + self.parent.frameParticleManager:spawn(vectors.vec2(barPos - particleOffset - math.random() * 50, particleOffset):scale(-1), vectors.vec2(500, 0)) + end + end + end + end + end, "ex_skill_transition_tick") + + events.RENDER:register(function (delta) + --カメラのトランジション + if not client:isPaused() and host:isHost() then + local lookDir = player:getLookDir() + local cameraRot = renderer:isCameraBackwards() and vectors.vec3(math.deg(math.asin(lookDir.y)), math.deg(math.atan2(lookDir.z, lookDir.x) + math.pi / 2)) or vectors.vec3(math.deg(math.asin(-lookDir.y)), math.deg(math.atan2(lookDir.z, lookDir.x) - math.pi / 2)) + local targetCameraPos = vectors.vec3() + local targetCameraRot = vectors.vec3() + if direction == "PRE" then + targetCameraPos = vectors.rotateAroundAxis(self.bodyYaw[2] * -1 + 180, self.parent.characterData.exSkill[self.exSkillIndex].camera.start.pos, 0, 1):add(0, -1.62) + targetCameraRot = self.parent.characterData.exSkill[self.exSkillIndex].camera.start.rot:copy():add(0, self.bodyYaw[2], 0) + else + targetCameraPos = vectors.rotateAroundAxis(self.bodyYaw[2] * -1 + 180, self.parent.characterData.exSkill[self.exSkillIndex].camera.fin.pos, 0, 1):add(0, -1.62) + targetCameraRot = self.parent.characterData.exSkill[self.exSkillIndex].camera.fin.rot:copy():add(0, self.bodyYaw[2], 0) + end + if math.abs(cameraRot.y - targetCameraRot.y) >= 180 then + if cameraRot.y < targetCameraRot.y then + cameraRot.y = cameraRot.y + 360 + else + targetCameraRot.y = targetCameraRot.y + 360 + end + end + local trueDelta = direction == "PRE" and delta or delta * -1 + self.parent.cameraManager.setCameraPivot(targetCameraPos:scale((self.transitionCount + trueDelta) / 10)) + self.parent.cameraManager.setCameraRot(targetCameraRot:copy():sub(cameraRot):scale((self.transitionCount + trueDelta) / 10):add(cameraRot)) + self.parent.cameraManager:setThirdPersonCameraDistance(4 - (self.transitionCount + trueDelta) / 10 * 4) + + --フレーム演出 + local windowSize = client:getScaledWindowSize() + local barPos = (windowSize.x + windowSize.y + math.sqrt(2) * 16) * (direction == "PRE" and (self.transitionCount + trueDelta) / 10 or (1 - (self.transitionCount + trueDelta) / 10)) + models.models.ex_skill_frame.Gui.FrameBar:setPos(-barPos, 0, 0) + + if self.frameParticleAmount < 4 then + local frameTopLength = math.clamp(barPos, 32, windowSize.x) + local frameLeftLength = math.clamp(barPos, 32, windowSize.y) + local frameBottomLength = math.clamp(barPos - windowSize.y + 16, 32, windowSize.x) + local frameRightLength = math.clamp(barPos - windowSize.x + 16, 32, windowSize.y) + + models.models.ex_skill_frame.Gui.Frame.FrameTopLeft:setPos(-16, -16) + models.models.ex_skill_frame.Gui.Frame.FrameTopRight:setPos(-windowSize.x, -16) + models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft:setPos(-16, -windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameBottomRight:setPos(-windowSize.x, -windowSize.y) + if direction == "PRE" then + models.models.ex_skill_frame.Gui.Frame.FrameTopLeft:setVisible(barPos >= 16) + models.models.ex_skill_frame.Gui.Frame.FrameTopRight:setVisible(barPos >= windowSize.x + 16) + models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft:setVisible(barPos >= windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameBottomRight:setVisible(barPos >= windowSize.x + windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameTop:setPos(-frameTopLength + 16, -16) + models.models.ex_skill_frame.Gui.Frame.FrameTop:setScale(frameTopLength / 16 - 2, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setPos(-16, -frameLeftLength + 16) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setScale(1, frameLeftLength / 16 - 2, 1) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setPos(-frameBottomLength + 16, -windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setScale(frameBottomLength / 16 - 2, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setPos(-windowSize.x, -frameRightLength + 16) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setScale(1, frameRightLength / 16 - 2, 1) + else + models.models.ex_skill_frame.Gui.Frame.FrameTopLeft:setVisible(barPos < 16) + models.models.ex_skill_frame.Gui.Frame.FrameTopRight:setVisible(barPos < windowSize.x + 16) + models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft:setVisible(barPos < windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameBottomRight:setVisible(barPos < windowSize.x + windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameTop:setPos(-windowSize.x + 16, -16) + models.models.ex_skill_frame.Gui.Frame.FrameTop:setScale((windowSize.x - frameTopLength) / 16, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setPos(-16, -windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setScale(1, (windowSize.y - frameLeftLength) / 16, 1) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setPos(-windowSize.x + 16, -windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setScale((windowSize.x - frameBottomLength) / 16, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setPos(-windowSize.x, -windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setScale(1, (windowSize.y - frameRightLength) / 16, 1) + end + end + end + end, "ex_skill_transition_render") + end; + + ---アニメーションを再生する。 + ---@param self ExSkill + ---@param isSubExSkill boolean サブExスキルを再生するかどうか + play = function (self, isSubExSkill) + if isSubExSkill then + if self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill ~= nil then + self.exSkillIndex = self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill + else + return + end + else + self.exSkillIndex = self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].exSkill + end + + self.parent.bubble:stop() + renderer:setFOV(70 / client:getFOV()) + renderer:setRenderHUD(false) + self.parent.cameraManager:setCameraCollisionDenial(true) + models.models.ex_skill_frame.Gui:setColor(self.parent.characterData.exSkill[self.exSkillIndex].formationType == "STRIKER" and vectors.vec3(1, 0.75, 0.75) or vectors.vec3(0.75, 1, 1)) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.levelup"), player:getPos(), 5, 2) + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPreTransition ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPreTransition(self.parent.characterData) + end + models.models.ex_skill_frame.Gui.FrameBar:setScale(1, client:getScaledWindowSize().y * math.sqrt(2) / 16 + 1, 1) + + events.TICK:register(function () + if not self:canPlayAnimation() then + self:forceStop() + end + end, "ex_skill_tick") + + self:transition("PRE", function () + self.parent.physics:disable() + for _, itemModel in ipairs({vanilla_model.RIGHT_ITEM, vanilla_model.LEFT_ITEM}) do + itemModel:setVisible(false) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].models) do + modelPart:setVisible(true) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].animations) do + animations["models."..modelPart]["ex_skill_"..self.exSkillIndex]:play() + end + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPreAnimation ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPreAnimation(self.parent.characterData) + end + self.parent.cameraManager:setThirdPersonCameraDistance(0) + + events.TICK:register(function () + if not client:isPaused() then + if self.animationCount == self.animationLength - 1 then + self:stop() + elseif self:canPlayAnimation() and animations["models.main"]["ex_skill_"..self.exSkillIndex]:isPlaying() then + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onAnimationTick ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onAnimationTick(self.parent.characterData, self.animationCount) + end + self.animationCount = self.animationCount > -1 and self.animationCount + 1 or self.animationCount + end + + if host:isHost() then + local windowSize = client:getScaledWindowSize() + local windowCenter = windowSize:copy():scale(0.5) + if self.frameParticleAmount < 3 then + for _ = 1, (windowSize.x * 2 + windowSize.y * 2) / (self.frameParticleAmount == 1 and 100 or 500) do + local particlePos = vectors.vec2(math.random() * (windowSize.x * 2 + windowSize.y * 2), math.random() * 16) + particlePos = particlePos.x <= windowSize.x and particlePos or (particlePos.x <= windowSize.x + windowSize.y and vectors.vec2(windowSize.x - particlePos.y, particlePos.x - windowSize.x) or (particlePos.x <= windowSize.x * 2 + windowSize.y and vectors.vec2(particlePos.x - (windowSize.x + windowSize.y), windowSize.y - particlePos.y) or vectors.vec2(particlePos.y, particlePos.x - (windowSize.x * 2 + windowSize.y)))) + self.parent.frameParticleManager:spawn(particlePos:copy():scale(-1), windowCenter:copy():sub(particlePos):scale(0.25)) + end + end + end + end + end, "ex_skill_animation_tick") + + if host:isHost() then + events.RENDER:register(function () + if not client:isPaused() then + self.parent.cameraManager.setCameraPivot(vectors.rotateAroundAxis(self.bodyYaw[2] * -1 + 180, models.models.main.CameraAnchor:getAnimPos():scale(1 / 16 * ((self.parent.characterData.exSkill[self.exSkillIndex].camera.fixMode ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].camera.fixMode) and 1 or 0.9375)), 0, 1, 0):add(0, -1.62, 0)) + self.parent.cameraManager.setCameraRot(models.models.main.CameraAnchor:getAnimRot():scale(-1):add(0, self.bodyYaw[2], 0)) + end + end, "ex_skill_animation_render") + end + self.animationCount = 0 + self.parent.gun:processGunTick() + self.animationLength = math.round(animations["models.main"]["ex_skill_"..self.exSkillIndex]:getLength() * 20) + end) + end; + + ---アニメーションを停止する。 + ---@param self ExSkill + stop = function (self) + events.TICK:remove("ex_skill_animation_tick") + if host:isHost() then + events.RENDER:remove("ex_skill_animation_render") + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.levelup"), player:getPos(), 5, 2):setAttenuation(100) + end + + for _, itemModel in ipairs({vanilla_model.RIGHT_ITEM, vanilla_model.LEFT_ITEM}) do + itemModel:setVisible(true) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].models) do + modelPart:setVisible(false) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].animations) do + animations["models."..modelPart]["ex_skill_"..self.exSkillIndex]:stop() + end + self.parent.physics:enable() + renderer:setFOV() + self.animationCount = -1 + + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostAnimation ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostAnimation(self.parent.characterData, false) + end + self:transition("POST", function () + events.TICK:remove("ex_skill_tick") + self.parent.cameraManager.setCameraPivot() + self.parent.cameraManager.setCameraRot() + self.parent.cameraManager:setThirdPersonCameraDistance(4) + self.parent.cameraManager:setCameraCollisionDenial(false) + renderer:setRenderHUD(true) + + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostTransition ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostTransition(self.parent.characterData, false) + end + end) + end; + + ---アニメーションを停止する。終了時のトランジションも無効。 + ---@param self ExSkill + forceStop = function (self) + events.RENDER:remove("ex_skill_transition_render") + if host:isHost() then + events.TICK:remove("ex_skill_transition_tick") + events.RENDER:remove("ex_skill_animation_render") + end + + for _, itemModel in ipairs({vanilla_model.RIGHT_ITEM, vanilla_model.LEFT_ITEM}) do + itemModel:setVisible(true) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].models) do + modelPart:setVisible(false) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].animations) do + animations["models."..modelPart]["ex_skill_"..self.exSkillIndex]:stop() + end + for _, eventName in ipairs({"ex_skill_tick", "ex_skill_animation_tick"}) do + events.TICK:remove(eventName) + end + self.parent.physics:enable() + models.models.ex_skill_frame.Gui.FrameBar:setPos() + for _, modelPart in ipairs({models.models.ex_skill_frame.Gui.Frame.FrameTopLeft, models.models.ex_skill_frame.Gui.Frame.FrameTopRight, models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft, models.models.ex_skill_frame.Gui.Frame.FrameBottomRight}) do + modelPart:setVisible(false) + end + for _, modelPart in ipairs({models.models.ex_skill_frame.Gui.Frame.FrameTop, models.models.ex_skill_frame.Gui.Frame.FrameLeft, models.models.ex_skill_frame.Gui.Frame.FrameBottom, models.models.ex_skill_frame.Gui.Frame.FrameRight}) do + modelPart:setScale(0, 0, 0) + end + self.parent.faceParts:resetEmotion() + self.parent.cameraManager.setCameraPivot() + self.parent.cameraManager.setCameraRot() + self.parent.cameraManager:setThirdPersonCameraDistance(4) + self.parent.cameraManager:setCameraCollisionDenial(false) + renderer:setRenderHUD(true) + renderer:setFOV() + + if self.animationCount >= 0 and self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostAnimation ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostAnimation(self.parent.characterData, true) + end + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostTransition ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostTransition(self.parent.characterData, true) + end + + self.animationCount = -1 + self.transitionCount = 0 + end; +} + +---Exスキルを再生する。 +function pings.exSkill() + AvatarInstance.exSkill:play(false) +end + +---サブExスキルを再生する。 +function pings.subExSkill() + AvatarInstance.exSkill:play(true) +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/ex_skill/ex_skill_frame_particle.lua b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/ex_skill/ex_skill_frame_particle.lua new file mode 100644 index 0000000..59315a9 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/ex_skill/ex_skill_frame_particle.lua @@ -0,0 +1,68 @@ +---@class (exact) ExSkillFrameParticle : SpawnObject Exスキルのフレームで使用するパーティクルの単一を管理するクラス +---@field package object ModelPart インスタンスで制御するオブジェクト +---@field package currentPos Vector2 パーティクルの現在位置 +---@field package nextPos Vector2 次ティックのパーティクルの位置 +---@field package velocity Vector2 パーティクルの速度 +---@field package particleCount integer パーティクルのアニメーションを制御するためのカウンター +---@field public new fun(parent: Avatar, pos: Vector2, velocity: Vector2, type: ExSkillFrameParticleManager.ParticleType): ExSkillFrameParticle コンストラクター + +ExSkillFrameParticle = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@param pos Vector2 パーティクルをスポーンさせるスクリーン上の座標。GUIスケールも考慮される。 + ---@param velocity Vector2 パーティクルの秒間移動距離(ピクセル) + ---@param type ExSkillFrameParticleManager.ParticleType このインスタンスのパーティクルの種類 + ---@return ExSkillFrameParticle + new = function (parent, pos, velocity, type) + ---@type ExSkillFrameParticle + local instance = Avatar.instantiate(ExSkillFrameParticle, SpawnObject, parent) + + instance.object = models.models.ex_skill_frame.Particles["Particle"..(type == "NORMAL" and 1 or 2)]:copy(instance.uuid) + instance.currentPos = pos + instance.nextPos = instance.currentPos + instance.velocity = velocity + instance.particleCount = 0 + + instance.callbacks = { + ---@param self ExSkillFrameParticle + onInit = function (self) + models.models.ex_skill_frame.Gui.script_ex_skill_frame_particles:addChild(self.object) + self.object:setRot(90, math.random() * 360, 180) + end; + + ---@param self ExSkillFrameParticle + onDeinit = function (self) + self.object:remove() + end; + + ---@param self ExSkillFrameParticle + onTick = function (self) + --パーティクル位置を強制更新 + self.currentPos = self.nextPos:copy() + self.object:setPos(self.currentPos:copy():augmented(0)) + self.object:setScale(vectors.vec3(1, 1, 1):scale(1 - self.particleCount / 5)) + + --カウンターを更新 + self.particleCount = self.particleCount + 1 + if self.particleCount == 5 then + self.object:remove() + elseif self.particleCount == 6 then + self.shouldDeinit = true + end + + --次ティックの位置を計算 + if self.velocity:length() > 0 then + self.nextPos = self.currentPos:copy():add(self.velocity:copy():scale(-0.05)) + end + end; + + ---@param self ExSkillFrameParticle + onRender = function (self, delta) + self.object:setPos(self.nextPos:copy():sub(self.currentPos):scale(delta):add(self.currentPos):augmented(0)) + self.object:setScale(vectors.vec3(1, 1, 1):scale(1 - (self.particleCount + delta) / 5)) + end; + } + + return instance + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/ex_skill/ex_skill_frame_particle_manager.lua b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/ex_skill/ex_skill_frame_particle_manager.lua new file mode 100644 index 0000000..262709e --- /dev/null +++ b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/ex_skill/ex_skill_frame_particle_manager.lua @@ -0,0 +1,48 @@ +---@alias ExSkillFrameParticleManager.ParticleType +---| "NORMAL" # 通常のパーティクル +---| "FIGURA" # Figuraマークのパーティクル(穴空き三角形) + +---@class (exact) ExSkillFrameParticleManager : SpawnObjectManager Exスキルのフレームで使用するパーティクルを管理するクラス +---@field public objects ExSkillFrameParticle[] インスタンスで制御するオブジェクト +---@field public getObject fun(self: ExSkillFrameParticleManager, pos: Vector2, velocity: Vector2): ExSkillFrameParticle Exスキルフレームのパーティクルのインスタンスを生成して返す +---@field public spawn fun(self: ExSkillFrameParticleManager, pos: Vector2, velocity: Vector2) Exスキルフレームのパーティクルをスポーンさせる + +ExSkillFrameParticleManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ExSkillFrameParticleManager + new = function (parent) + ---@type ExSkillFrameParticleManager + local instance = Avatar.instantiate(ExSkillFrameParticleManager, SpawnObjectManager, parent) + + instance.managerName = "ex_skill_frame_particle" + + return instance + end; + + ---初期化関数 + ---@param self ExSkillFrameParticleManager + init = function (self) + SpawnObjectManager.init(self) + + ---@diagnostic disable-next-line: discard-returns + models.models.ex_skill_frame.Gui:newPart("script_ex_skill_frame_particles") + end; + + ---Exスキルフレームのパーティクルのインスタンスを生成して返す。 + ---@param self ExSkillFrameParticleManager + ---@param pos Vector2 パーティクルをスポーンさせる画面上の座標 + ---@param velocity Vector2 パーティクルの速度 + ---@return ExSkillFrameParticle instance 生成したインスタンス + getObject = function (self, pos, velocity) + return ExSkillFrameParticle.new(self.parent, pos, velocity, math.random() > 0.9999 and "FIGURA" or "NORMAL") + end; + + ---Exスキルフレームのパーティクルをスポーンさせる。 + ---@param self ExSkillFrameParticleManager + ---@param pos Vector2 パーティクルをスポーンさせる画面上の座標 + ---@param velocity Vector2 パーティクルの速度 + spawn = function (self, pos, velocity) + SpawnObjectManager.spawn(self, pos, velocity) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/face_parts.lua b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/face_parts.lua new file mode 100644 index 0000000..c364e0f --- /dev/null +++ b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/face_parts.lua @@ -0,0 +1,88 @@ +---@class (exact) FaceParts : AvatarModule 目と口のテクスチャを管理するクラス +---@field package emotionCount integer エモートの時間を計るカウンター +---@field public blinkCount integer 瞬きのタイミングを計るカウンター +---@field public setEmotion fun(self: FaceParts, rightEye: BlueArchiveCharacter.RightEyeTextures, leftEye: BlueArchiveCharacter.LeftEyeTextures, mouth: BlueArchiveCharacter.MouthTextures, duration: integer, forced?: boolean) 表情を設定する +---@field public resetEmotion fun(self: FaceParts) 表情をリセットする + +FaceParts = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return FaceParts + new = function (parent) + ---@type FaceParts + local instance = Avatar.instantiate(FaceParts, AvatarModule, parent) + + instance.emotionCount = 0 + instance.blinkCount = 200 + + return instance + end; + + ---初期化関数 + ---@param self FaceParts + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + if not client:isPaused() then + if self.parent.playerUtils.damageStatus == "DAMAGE" then + if self.parent.characterData.faceParts.emotionSet ~= nil and self.parent.characterData.faceParts.emotionSet.onDamage ~= nil then + self:setEmotion(self.parent.characterData.faceParts.emotionSet.onDamage.rightEye, self.parent.characterData.faceParts.emotionSet.onDamage.leftEye, self.parent.characterData.faceParts.emotionSet.onDamage.mouth, 8, true) + else + self:setEmotion("SURPRISED", "SURPRISED", "NORMAL", 8, true) + end + elseif self.parent.playerUtils.damageStatus == "DIED" then + if self.parent.characterData.faceParts.emotionSet ~= nil and self.parent.characterData.faceParts.emotionSet.onDied ~= nil then + self:setEmotion(self.parent.characterData.faceParts.emotionSet.onDied.rightEye, self.parent.characterData.faceParts.emotionSet.onDied.leftEye, self.parent.characterData.faceParts.emotionSet.onDied.mouth, 20, true) + else + self:setEmotion("SURPRISED", "SURPRISED", "NORMAL", 20, true) + end + elseif self.emotionCount == 0 then + self:setEmotion("NORMAL", "NORMAL", "NORMAL", 0) + end + + if self.blinkCount == 0 then + self:setEmotion("CLOSED", "CLOSED", "NORMAL", 2) + self.blinkCount = 200 + else + self.blinkCount = self.blinkCount - 1 + end + + self.emotionCount = self.emotionCount > 0 and self.emotionCount - 1 or self.emotionCount + end + end) + end; + + ---表情を設定する。 + ---@param self FaceParts + ---@param rightEye BlueArchiveCharacter.RightEyeTextures 設定する右目の名前 + ---@param leftEye BlueArchiveCharacter.LeftEyeTextures 設定する左目の名前 + ---@param mouth BlueArchiveCharacter.MouthTextures 設定する口の名前 + ---@param duration integer この表情を有効にする時間 + ---@param forced? boolean trueにすると以前のエモーションが再生中でも強制的に現在のエモーションを適用させる。 + setEmotion = function (self, rightEye, leftEye, mouth, duration, forced) + if self.emotionCount == 0 or forced then + --右目 + models.models.main.Avatar.Head.FaceParts.Eyes.EyeLeft:setUVPixels(self.parent.characterData.faceParts.rightEye[rightEye]:copy():scale(6)) + + --左目 + models.models.main.Avatar.Head.FaceParts.Eyes.EyeRight:setUVPixels(self.parent.characterData.faceParts.leftEye[leftEye]:copy():scale(6)) + + --口 + if mouth ~= "NORMAL" then + models.models.main.Avatar.Head.FaceParts.Mouth:setVisible(true) + models.models.main.Avatar.Head.FaceParts.Mouth:setUVPixels(self.parent.characterData.faceParts.mouth[mouth]:copy():mul(16, 8)) + else + models.models.main.Avatar.Head.FaceParts.Mouth:setVisible(false) + end + + self.emotionCount = duration + end + end; + + ---表情をリセットする。 + ---@param self FaceParts + resetEmotion = function (self) + self.emotionCount = 0 + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/gun.lua b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/gun.lua new file mode 100644 index 0000000..e85079b --- /dev/null +++ b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/gun.lua @@ -0,0 +1,376 @@ +---@alias Gun.GunPosition +---| "NONE" # 構えていない +---| "RIGHT" # 右手に構える +---| "LEFT" # 左手に構える + +---@alias Gun.HandDirection +---| "RIGHT" # 右手 +---| "LEFT" # 左手 + +---@class (exact) Gun : AvatarModule 生徒の銃を制御するクラス +---@field public gunItems Minecraft.itemID[] 銃のモデルを適用するアイテム +---@field public shouldShowWeaponInFirstPerson boolean 一人称で武器(銃を含む)のモデルを表示するかどうか +---@field public currentGunPosition Gun.GunPosition 現在の銃の位置 +---@field package heldItemsPrev Gun.HeldItemSet 前ティックの手持ちアイテム +---@field package isLeftHandedPrev boolean 前ティックに左利きだったかどうか +---@field package isGunTickProcessed boolean このティック内で銃ティックを処理したかどうか +---@field package setBodyGunPos fun(self: Gun) 背中の銃の位置・向きを設定する +---@field public setGunPosition fun(self: Gun, gonPosition: Gun.GunPosition) 銃の位置を変更する +---@field public processGunTick fun(self: Gun) 銃ティックを処理する + +---@class (exact) Gun.HeldItemSet 手持ちアイテムを示すデータセット +---@field public mainHand ItemStack メインハンド +---@field public offHand ItemStack オフハンド + +Gun = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Gun + new = function (parent) + ---@type Gun + local instance = Avatar.instantiate(Gun, AvatarModule, parent) + + instance.gunItems = {"minecraft:bow", "minecraft:crossbow"} + instance.shouldShowWeaponInFirstPerson = instance.parent.config:loadConfig("PRIVATE", "firstPersonWeapon", true) + instance.currentGunPosition = "NONE" + instance.heldItemsPrev = { + mainHand = world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")); + offHand = world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")); + } + instance.isLeftHandedPrev = player:isLeftHanded() + instance.isGunTickProcessed = false + + return instance + end; + + ---初期化関数 + ---@param self Gun + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + self:processGunTick() + self.isGunTickProcessed = false + end) + + events.ON_PLAY_SOUND:register(function (id, pos, _, _, _, _, path) + if path ~= nil then + local velocityDistance = player:getVelocity():length() + local distanceFromSound = math.abs(pos:copy():sub(player:getPos()):length() - velocityDistance) + if (id == "minecraft:entity.arrow.shoot" or id == "minecraft:item.crossbow.loading_end" or id == "minecraft:item.crossbow.shoot") and math.abs(velocityDistance - distanceFromSound) < 1 then + if id == "minecraft:item.crossbow.loading_end" then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.dispenser.fail"), pos, 1, 2) + elseif player:isUnderwater() then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.generic.extinguish_fire"), pos, 0.5, 1.5) + else + local particleAnchor = self.parent.modelUtils.getModelWorldPos(renderer:isFirstPerson() and (Gun.CurrentGunPosition == "RIGHT" and models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.RightItemPivot or models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.LeftItemPivot) or models.models.main.Avatar.UpperBody.Body.Gun.MuzzleAnchor) + for _ = 1, 5 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:smoke"), particleAnchor) + end + sounds:playSound(self.parent.compatibilityUtils:checkSound(self.parent.characterData.gun.sound.name), pos, 1, self.parent.characterData.gun.sound.pitch) + end + return true + elseif (id == "minecraft:item.crossbow.loading_start" or id == "minecraft:item.crossbow.loading_middle" or id:match("^minecraft:item%.crossbow%.quick_charge_[1-3]$") ~= nil) and distanceFromSound < 1 and player:getActiveItem().id == "minecraft:crossbow" then + local activeItemTime = player:getActiveItemTime() + local quickChargeLevel = 0 + local activeItem = player:getActiveItem() + if activeItem.tag.Enchantments ~= nil then + for _, enchant in ipairs(activeItem.tag.Enchantments) do + if enchant.id == "minecraft:quick_charge" then + quickChargeLevel = enchant.lvl + break + end + end + end + if (quickChargeLevel <= 4 and activeItemTime + quickChargeLevel >= 4 and activeItemTime + quickChargeLevel <= 6) or (quickChargeLevel == 5 and activeItemTime <= 2) then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.flintandsteel.use"), pos, 1, 2) + return true + elseif id == "minecraft:item.crossbow.loading_middle" then + return true + end + end + end + end) + + local this = self --Figuraにスクリプトを再構築させると参照がおかしくなることに対処しているコード + events.ITEM_RENDER:register(function (item, mode, _, _, _, leftHanded) + self = this + if mode ~= "HEAD" and self.currentGunPosition == (leftHanded and "LEFT" or "RIGHT") and (self.shouldShowWeaponInFirstPerson or mode =="THIRD_PERSON_LEFT_HAND" or mode == "THIRD_PERSON_RIGHT_HAND") then + for _, gunItem in ipairs(self.gunItems) do + if item.id == gunItem then + if leftHanded then + if mode == "FIRST_PERSON_LEFT_HAND" then + local offsetPos = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.firstPersonPos ~= nil and self.parent.characterData.gun.gunPosition.hold.firstPersonPos.left ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.hold.firstPersonPos.left + end + local offsetRot = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.firstPersonRot ~= nil and self.parent.characterData.gun.gunPosition.hold.firstPersonRot.left ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.hold.firstPersonRot.left + end + local activeItemId = player:getActiveItem().id + if activeItemId == "minecraft:bow" then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -2.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(20, -7.5, -5):add(offsetRot)) + elseif activeItemId == "minecraft:crossbow" then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, 0.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + elseif item.id == "minecraft:crossbow" and item.tag.Charged == 1 then + if player:isLeftHanded() then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(-10, -1.25, 6):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 10, 0):add(offsetRot)) + else + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -1.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + else + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -1.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + elseif mode == "THIRD_PERSON_LEFT_HAND" then + local offsetPos = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.thirdPersonPos ~= nil and self.parent.characterData.gun.gunPosition.hold.thirdPersonPos.left ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.hold.thirdPersonPos.left + end + local offsetRot = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.thirdPersonRot ~= nil and self.parent.characterData.gun.gunPosition.hold.thirdPersonRot.left ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.hold.thirdPersonRot.left + end + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -4.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + else + if mode == "FIRST_PERSON_RIGHT_HAND" then + local offsetPos = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.firstPersonPos ~= nil and self.parent.characterData.gun.gunPosition.hold.firstPersonPos.right ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.hold.firstPersonPos.right + end + local offsetRot = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.firstPersonRot ~= nil and self.parent.characterData.gun.gunPosition.hold.firstPersonRot.right ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.hold.firstPersonRot.right + end + local activeItemId = player:getActiveItem().id + if activeItemId == "minecraft:bow" then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -2.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(20, 7.5, 5):add(offsetRot)) + elseif activeItemId == "minecraft:crossbow" then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, 0.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + elseif item.id == "minecraft:crossbow" and item.tag.Charged == 1 then + if player:isLeftHanded() then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -1.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + else + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(10, -1.25, 6):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, -10, 0):add(offsetRot)) + end + else + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -1.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + elseif mode == "THIRD_PERSON_RIGHT_HAND" then + local offsetPos = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.thirdPersonPos ~= nil and self.parent.characterData.gun.gunPosition.hold.thirdPersonPos.right ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.hold.thirdPersonPos.right + end + local offsetRot = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.thirdPersonRot ~= nil and self.parent.characterData.gun.gunPosition.hold.thirdPersonRot.right ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.hold.thirdPersonRot.right + end + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -4.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + end + return models.models.main.Avatar.UpperBody.Body.Gun + end + end + end + end) + + models.models.main.Avatar.UpperBody.Body.Gun:setScale(vectors.vec3(1, 1, 1):scale(self.parent.characterData.gun.scale)) + self:setGunPosition("NONE") + if self.parent.characterData.gun.callbacks ~= nil and self.parent.characterData.gun.callbacks.onMainHandChange ~= nil then + self.parent.characterData.gun.callbacks.onMainHandChange(self.parent.characterData, self.isLeftHandedPrev and "LEFT" or "RIGHT") + end + end; + + ---背中の銃の位置・向きを設定する。 + ---@param self Gun + setBodyGunPos = function (self) + if models.models.main.Avatar.UpperBody.Body.Gun ~= nil then + local offsetPos = vectors.vec3() + local offsetRot = vectors.vec3() + if player:isLeftHanded() then + if self.parent.characterData.gun.gunPosition.put.pos ~= nil and self.parent.characterData.gun.gunPosition.put.pos.left ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.put.pos.left + end + if self.parent.characterData.gun.gunPosition.put.rot ~= nil and self.parent.characterData.gun.gunPosition.put.rot.left ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.put.rot.left + end + else + if self.parent.characterData.gun.gunPosition.put.pos ~= nil and self.parent.characterData.gun.gunPosition.put.pos.right ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.put.pos.right + end + if self.parent.characterData.gun.gunPosition.put.rot ~= nil and self.parent.characterData.gun.gunPosition.put.rot.right ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.put.rot.right + end + end + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, 12, 0):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(offsetRot) + end + end; + + ---銃の位置を変更する。 + ---@param self Gun + ---@param gunPosition Gun.GunPosition 変更先の構え位置 + setGunPosition = function (self, gunPosition) + if gunPosition == "NONE" then + for _, tickName in ipairs({"right_gun_tick", "left_gun_tick"}) do + events.TICK:remove(tickName) + end + models.models.main.Avatar.UpperBody.Body.Gun:setParentType("None") + models.models.main.Avatar.UpperBody.Body.Gun:setSecondaryRenderType("NONE") + if self.parent.characterData.gun.gunPosition.hold.type == "NORMAL" then + self.parent.arms:setArmState(0, 0) + elseif self.parent.characterData.gun.gunPosition.hold.type == "CUSTOM" then + for _, animationName in ipairs({"gun_hold_right", "gun_hold_left"}) do + animations["models.main"][animationName]:stop() + end + end + if self.parent.characterData.gun.gunPosition.put.type == "BODY" then + self:setBodyGunPos() + elseif self.parent.characterData.gun.gunPosition.put.type == "HIDDEN" then + models.models.main.Avatar.UpperBody.Body.Gun:setVisible(false) + end + elseif gunPosition == "RIGHT" then + events.TICK:remove("left_gun_tick") + if events.TICK:getRegisteredCount("right_gun_tick") == 0 then + events.TICK:register(function () + local heldItem = player:getHeldItem(player:isLeftHanded()) + local hasGlint = false + for _, gunItem in ipairs(self.gunItems) do + if gunItem == heldItem.id and heldItem:hasGlint() then + models.models.main.Avatar.UpperBody.Body.Gun:setSecondaryRenderType("GLINT") + hasGlint = true + break + end + end + if not hasGlint then + models.models.main.Avatar.UpperBody.Body.Gun:setSecondaryRenderType("NONE") + end + end, "right_gun_tick") + end + if self.parent.characterData.gun.gunPosition.hold.type == "NORMAL" then + self.parent.arms:setArmState(1, 2) + elseif self.parent.characterData.gun.gunPosition.hold.type == "CUSTOM" then + animations["models.main"]["gun_hold_left"]:stop() + animations["models.main"]["gun_hold_right"]:play() + end + models.models.main.Avatar.UpperBody.Body.Gun:setVisible(true) + models.models.main.Avatar.UpperBody.Body.Gun:setParentType("Item") + if not client:isPaused() then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.flintandsteel.use"), player:getPos(), 1, 2) + end + elseif gunPosition == "LEFT" then + events.TICK:remove("right_gun_tick") + if events.TICK:getRegisteredCount("left_gun_tick") == 0 then + events.TICK:register(function () + local heldItem = player:getHeldItem(not player:isLeftHanded()) + local hasGlint = false + for _, gunItem in ipairs(self.gunItems) do + if gunItem == heldItem.id and heldItem:hasGlint() then + models.models.main.Avatar.UpperBody.Body.Gun:setSecondaryRenderType("GLINT") + hasGlint = true + break + end + end + if not hasGlint then + models.models.main.Avatar.UpperBody.Body.Gun:setSecondaryRenderType("NONE") + end + end, "left_gun_tick") + end + if self.parent.characterData.gun.gunPosition.hold.type == "NORMAL" then + self.parent.arms:setArmState(2, 1) + elseif self.parent.characterData.gun.gunPosition.hold.type == "CUSTOM" then + animations["models.main"]["gun_hold_right"]:stop() + animations["models.main"]["gun_hold_left"]:play() + end + models.models.main.Avatar.UpperBody.Body.Gun:setVisible(true) + models.models.main.Avatar.UpperBody.Body.Gun:setParentType("Item") + if not client:isPaused() then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.flintandsteel.use"), player:getPos(), 1, 2) + end + end + self.currentGunPosition = gunPosition + end; + + ---銃ティックを処理する。 + ---@param self Gun + processGunTick = function (self) + if not self.isGunTickProcessed then + local heldItems = {} + if player:getPose() ~= "SLEEPING" and self.parent.exSkill.animationCount == -1 then + heldItems.mainHand = player:getHeldItem(false) + heldItems.offHand = player:getHeldItem(true) + else + heldItems.mainHand = world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air")) + heldItems.offHand = world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air")) + end + local targetItemFound = false + local isLeftHanded = player:isLeftHanded() + if heldItems.mainHand.id ~= self.heldItemsPrev.mainHand.id or heldItems.offHand.id ~= self.heldItemsPrev.offHand.id or isLeftHanded ~= self.isLeftHandedPrev then + for _, gunItem in ipairs(self.gunItems) do + if heldItems.mainHand.id == gunItem then + --メインハンドに対象アイテムを持つ + targetItemFound = true + if isLeftHanded then + if self.currentGunPosition ~= "LEFT" then + self:setGunPosition("LEFT") + end + else + if self.currentGunPosition ~= "RIGHT" then + self:setGunPosition("RIGHT") + end + end + break + end + end + if not targetItemFound then + for _, gunItem in ipairs(self.gunItems) do + if heldItems.offHand.id == gunItem then + --オフハンドに対象アイテムを持つ + targetItemFound = true + if isLeftHanded then + if self.currentGunPosition ~= "RIGHT" then + self:setGunPosition("RIGHT") + end + else + if self.currentGunPosition ~= "LEFT" then + self:setGunPosition("LEFT") + end + end + break + end + end + end + if not targetItemFound then + --対象アイテムは持たない + if self.currentGunPosition ~= "NONE" then + self:setGunPosition("NONE") + end + end + if isLeftHanded ~= self.leftHandedPrev then + if self.currentGunPosition == "NONE" then + self:setBodyGunPos() + end + if self.parent.characterData.gun.callbacks ~= nil and self.parent.characterData.gun.callbacks.onMainHandChange ~= nil then + self.parent.characterData.gun.callbacks.onMainHandChange(self.parent.characterData, isLeftHanded and "LEFT" or "RIGHT") + end + self.isLeftHandedPrev = isLeftHanded + end + self.heldItemsPrev = heldItems + end + self.isGunTickProcessed = true + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/head_block.lua b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/head_block.lua new file mode 100644 index 0000000..72bce44 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/head_block.lua @@ -0,0 +1,33 @@ +---@class (exact) HeadBlock : HeadModelGenerator 頭ブロックのモデルを制御するクラス +---@field package forceGenerateCount integer 強制的に頭ブロックを生成するまでのカウンター。これが発火するのはアバタープレイヤーがオフラインの時のみ。 + +HeadBlock = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return HeadBlock + new = function (parent) + ---@type HeadBlock + local instance = Avatar.instantiate(HeadBlock, HeadModelGenerator, parent) + + instance.processData = instance.parent.characterData.headBlock + instance.parentName = "head_block" + instance.parentType = "Skull" + instance.forceGenerateCount = 2 + + return instance + end; + + ---初期化関数 + ---@param self HeadBlock + init = function (self) + HeadModelGenerator.init(self) + + events.WORLD_TICK:register(function () + self.forceGenerateCount = self.forceGenerateCount - 1 + if self.forceGenerateCount == 0 then + self:generateHeadModel() + events.WORLD_TICK:remove("head_block_world_tick") + end + end, "head_block_world_tick") + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/head_model_generator.lua b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/head_model_generator.lua new file mode 100644 index 0000000..76b2ab7 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/head_model_generator.lua @@ -0,0 +1,85 @@ +---@class (exact) HeadModelGenerator : AvatarModule 頭のモデルの生成を含む抽象クラス +---@field public processData BlueArchiveCharacter.HeadBlockStruct 頭モデルを生成する過程で参照するデータ +---@field public parentName string モデルを生成する名前空間 +---@field public parentType ModelPart.parentType コピーした頭モデルに適用する親タイプ +---@field public generateHeadModel fun(self: HeadModelGenerator) 頭モデルのコピーを生成する +---@field package isScriptLoaded boolean スクリプトが全てロードされているかどうか + +HeadModelGenerator = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return HeadModelGenerator + new = function (parent) + ---@type HeadModelGenerator + local instance = Avatar.instantiate(HeadModelGenerator, AvatarModule, parent) + + instance.isScriptLoaded = false + + return instance + end; + + ---初期化関数 + ---@param self HeadModelGenerator + init = function (self) + AvatarModule.init(self) + + ---@diagnostic disable-next-line: discard-returns + models:newPart("script_"..self.parentName, "None") + + self.parent.avatarEvents.SCRIPT_INIT:register(function () + self.isScriptLoaded = true + end) + end; + + ---頭モデルのコピーを生成する。 + ---@param self HeadModelGenerator + generateHeadModel = function (self) + --既存の頭ブロックのモデルを削除する。 + if models["script_"..self.parentName].Head ~= nil then + models["script_"..self.parentName].Head:remove() + end + + --ヘルメットを着けている場合は外しておく。 + local isHelmetVisible = self.isScriptLoaded and self.parent.armor.isArmorVisible.helmet or false + if isHelmetVisible then + self.parent.armor:setHelmet(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + + if self.isScriptLoaded then + self.parent.physics:disable() + end + if self.processData.callbacks ~= nil and self.processData.callbacks.onBeforeModelCopy ~= nil then + self.processData.callbacks.onBeforeModelCopy(self.parent.characterData, self.isScriptLoaded) + end + + --現在の衣装を基に新たな頭ブロックのモデルを生成する。 + local copiedPart = self.parent.modelUtils:copyModel(models.models.main.Avatar.Head) + if copiedPart ~= nil then + models["script_"..self.parentName]:addChild(copiedPart) + models["script_"..self.parentName].Head:setParentType(self.parentType) + models["script_"..self.parentName].Head:setPos(0, -24, 0) + models["script_"..self.parentName].Head.HeadRing:setRot(self.parent.headRing.initialHaloRot) + models["script_"..self.parentName].Head.HeadRing:setLight(15) + for _, modelPart in ipairs({models["script_"..self.parentName].Head.FaceParts.Eyes.EyeRight, models["script_"..self.parentName].Head.FaceParts.Eyes.EyeLeft}) do + modelPart:setUVPixels() + end + for _, modelPart in ipairs(self.processData.includeModels) do + local copiedIncludePart = self.parent.modelUtils:copyModel(modelPart) + if copiedIncludePart ~= nil then + models["script_"..self.parentName].Head:addChild(copiedIncludePart) + end + end + end + + --非表示にしたモデルを元に戻す。 + if isHelmetVisible then + self.parent.armor:setHelmet(self.parent.armor.armorSlotItems[1]) + end + if self.isScriptLoaded then + self.parent.physics:enable() + end + if self.processData.callbacks ~= nil and self.processData.callbacks.onAfterModelCopy ~= nil then + self.processData.callbacks.onAfterModelCopy(self.parent.characterData, self.isScriptLoaded) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/head_ring.lua b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/head_ring.lua new file mode 100644 index 0000000..315489c --- /dev/null +++ b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/head_ring.lua @@ -0,0 +1,79 @@ +---@class (exact) HeadRing : AvatarModule ヘイロー(頭の輪っか)を制御するクラス +---@field public initialHaloRot number ヘイローの初期角度 +---@field package headRotData number[] 一定期間内の頭の角度を保持するテーブル +---@field package headRotAverage number[] 頭の角度の移動平均値 +---@field package floatCount integer ヘイローが上下するアニメーションのカウンター + +HeadRing = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return HeadRing + new = function (parent) + ---@type HeadRing + local instance = Avatar.instantiate(HeadRing, AvatarModule, parent) + + instance.initialHaloRot = models.models.main.Avatar.Head.HeadRing:getRot().x + instance.haloRotPrev = instance.initialHaloRot + instance.headRotData = {} + instance.headRotAverage = {0, 0} + instance.floatCount = 0 + + return instance + end; + + ---初期化関数 + ---@param self HeadRing + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + if not client:isPaused() then + --移動平均値の算出 + local headRot = self.parent.exSkill.animationCount > -1 and models.models.main.Avatar.Head:getAnimRot().x or math.deg(math.asin(player:getLookDir().y)) + local headRotAverage = self.headRotAverage[2] + headRotAverage = (#self.headRotData * headRotAverage + headRot) / (#self.headRotData + 1) + table.insert(self.headRotData, headRot) + --古いデータの切り捨て + if #self.headRotData > 5 then + headRotAverage = (#self.headRotData * headRotAverage - self.headRotData[1]) / (#self.headRotData - 1) + table.remove(self.headRotData, 1) + end + table.insert(self.headRotAverage, headRotAverage) + table.remove(self.headRotAverage, 1) + end + end) + + events.WORLD_TICK:register(function () + if not client:isPaused() then + self.floatCount = self.floatCount + 1 + self.floatCount = self.floatCount == 80 and 0 or self.floatCount + end + end) + + events.RENDER:register(function (delta) + if not client:isPaused() then + --ヘイローの位置・角度を設定 + local playerPose = player:getPose() + local headRot = self.parent.physics.getValueBetweenTicks(self.headRotAverage, delta) + local floatOffset = math.sin((self.floatCount + delta) / 80 * 2 * math.pi) * 0.25 + if playerPose == "SWIMMING" or playerPose == "FALL_FLYING" then + models.models.main.Avatar.Head.HeadRing:setPos(self.parent.physics.velocityAverage[3][2] * 3, math.cos(math.rad(headRot)) * self.parent.physics.velocityAverage[1][2] * -1 + math.sin(math.rad(headRot)) * self.parent.physics.velocityAverage[2][2] * -1 + floatOffset, math.cos(math.rad(headRot)) * self.parent.physics.velocityAverage[2][2] * -3 + math.sin(math.rad(headRot)) * self.parent.physics.velocityAverage[1][2]) + else + models.models.main.Avatar.Head.HeadRing:setPos(self.parent.physics.velocityAverage[3][2] * -3, math.cos(math.rad(headRot)) * self.parent.physics.velocityAverage[2][2] * -1 + math.sin(math.rad(headRot)) * self.parent.physics.velocityAverage[1][2] + floatOffset, math.cos(math.rad(headRot)) * self.parent.physics.velocityAverage[1][2] * 3 + math.sin(math.rad(headRot)) * self.parent.physics.velocityAverage[2][2]) + end + if self.parent.deathAnimation.dummyAvatarRoot ~= nil then + self.parent.deathAnimation.dummyAvatarRoot.Head.HeadRing:setPos(0, floatOffset, 0) + end + models.models.main.Avatar.Head.HeadRing:setRot(headRot - (self.parent.exSkill.animationCount > -1 and models.models.main.Avatar.Head:getAnimRot().x or math.deg(math.asin(player:getLookDir().y))) + self.initialHaloRot, 0, 0) + end + end) + + events.WORLD_RENDER:register(function (delta) + if not client:isPaused() and models.script_head_block.Head ~= nil and models.script_head_block.Head.HeadRing ~= nil then + models.script_head_block.Head.HeadRing:setPos(0, math.sin((self.floatCount + delta) / 80 * 2 * math.pi) * 0.25, 0) + end + end) + + models.models.main.Avatar.Head.HeadRing:setLight(15) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/hypixel_zombies.lua b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/hypixel_zombies.lua new file mode 100644 index 0000000..5d3df84 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/hypixel_zombies.lua @@ -0,0 +1,85 @@ +---@class (exact) HypixelZombies : AvatarModule Hypixelの「Zombies」にアバターを対応させるパッチ +---@field package isEnabled boolean Zombiesモードが有効かどうか +---@field package damagerPercentPrev number[] 前ティック以前のツールの耐久度割合 +---@field public enable fun(self: HypixelZombies) Zombiesモードを有効にする +---@field public disable fun(self: HypixelZombies) Zombiesモードを無効にする + +HypixelZombies = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return HypixelZombies + new = function (parent) + ---@type HypixelZombies + local instance = Avatar.instantiate(HypixelZombies, AvatarModule, parent) + + instance.isEnabled = false + instance.damagerPercentPrev = {1, 1} + + return instance + end; + + ---Zombiesモードを有効にする。 + ---@param self HypixelZombies + enable = function (self) + if not self.isEnabled then + self.parent.gun.gunItems = {"minecraft:bow", "minecraft:crossbow", "minecraft:wooden_hoe", "minecraft:stone_hoe", "minecraft:iron_hoe", "minecraft:wooden_shovel", "minecraft:stone_shovel", "minecraft:shears", "minecraft:diamond_hoe", "minecraft:golden_hoe", "minecraft:iron_shovel", "minecraft:diamond_pickaxe", "minecraft:golden_pickaxe", "minecraft:golden_shovel", "minecraft:flint_and_steel"} + + events.TICK:register(function () + local heldItem = player:getHeldItem() + local maxDamage = heldItem:getMaxDamage() + local damagePercent = (maxDamage - heldItem:getDamage()) / maxDamage + if maxDamage > 0 then + if damagePercent - self.damagerPercentPrev[1] > 0 and damagePercent - self.damagerPercentPrev[1] <= 0.2 then + if self.parent.bubble.bubbleCount == 0 then + self.parent.bubble:play("RELOAD", -1, vectors.vec2(), 0, false) + end + elseif self.parent.bubble.emoji == "RELOAD" then + self.parent.bubble:stop() + end + table.insert(self.damagerPercentPrev, damagePercent) + else + if self.parent.bubble.emoji == "RELOAD" then + self.parent.bubble:stop() + end + table.insert(self.damagerPercentPrev, 1) + end + table.remove(self.damagerPercentPrev, 1) + end, "hypixel_zombies_tick") + + if host:isHost() then + print(self.parent.locale:getLocale("avatar.zombies_mode.enable")) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.lightning_bolt.thunder"), player:getPos(), 0.5, 2) + end + + self.isEnabled = true + elseif host:isHost() then + print(self.parent.locale:getLocale("avatar.zombies_mode.already_enabled")) + end + end; + + ---Zombiesモードを無効にする。 + ---@param self HypixelZombies + disable = function (self) + if self.isEnabled then + events.TICK:remove("hypixel_zombies_tick") + self.parent.gun.gunItems = {"minecraft:bow", "minecraft:crossbow"} + + if host:isHost() then + print(self.parent.locale:getLocale("avatar.zombies_mode.disable")) + end + elseif host:isHost() then + print(self.parent.locale:getLocale("avatar.zombies_mode.already_disabled")) + end + self.isEnabled = false + end +} + +---Zombiesモードを有効にする。 +function pings.enableZombiesMode() + AvatarInstance.hypixelZombies:enable() +end + +---Zombiesモードを無効にする。 +function pings.disableZombiesMode() + AvatarInstance.hypixelZombies:disable() +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/key_manager.lua b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/key_manager.lua new file mode 100644 index 0000000..e1cac33 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/key_manager.lua @@ -0,0 +1,45 @@ +---@class (exact) KeyManager : AvatarModule アバターのキー割り当てを管理するクラス。ここで管理する割り当ては設定で変更された場合はそれが保存される。 +---@field public keyMappings {[string]: Keybind} キーの割り当てのテーブル +---@field public register fun(self: KeyManager, assignName: string, keyName: Minecraft.keyCode): Keybind キー割り当てを登録する + +KeyManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return KeyManager + new = function (parent) + ---@type KeyManager + local instance = Avatar.instantiate(KeyManager, AvatarModule, parent) + + instance.keyMappings = {} + + return instance + end; + + ---初期化関数 + ---@param self KeyManager + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + events.TICK:register(function () + for key, value in pairs(self.keyMappings) do + if not value:isDefault() then + local newKey = value:getKey() + self.parent.config:saveConfig("PRIVATE", "keybind."..key, newKey) + value:setKey(newKey) + end + end + end) + end + end; + + ---キー割り当てを登録する。 + ---@param self KeyManager + ---@param assignName string 割り当ての名前 + ---@param keyName Minecraft.keyCode 割当先のキー + ---@return Keybind assignedKey キーマネージャーによって登録がされたキーバインド + register = function (self, assignName, keyName) + self.keyMappings[assignName] = keybinds:newKeybind(self.parent.locale:getLocale("key_name."..assignName), self.parent.config:loadConfig("PRIVATE", "keybind."..assignName, keyName)) + return self.keyMappings[assignName] + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/locale.lua b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/locale.lua new file mode 100644 index 0000000..b2675ce --- /dev/null +++ b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/locale.lua @@ -0,0 +1,118 @@ +---@alias Locale.Language +---| "en_us" # 英語(米国) +---| "ja_jp" # 日本語 + +---@class (exact) Locale : AvatarModule アバターの表示言語を管理するクラス +---@field public localeData {[Locale.Language]: {[string]: string}} 言語データ +---@field public getLocale fun(self: Locale, key: string): string 翻訳キーに対する訳文を返す。設定言語が存在しない場合は英語の文が返される。また、指定したキーの訳が無い場合は英語->キーそのままが返される。 + +Locale = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Locale + new = function (parent) + ---@type Locale + local instance = Avatar.instantiate(Locale, AvatarModule, parent) + + instance.localeData = { + en_us = {}; + ja_jp = {}; + } + + ---言語データのリスト + ---1. キー名, 2. 英語(米国), 3. 日本語 + local localeStrings = { + {"avatar.old_version_warning", "For the best experience, playing with 1.20.1 or higher is recommended!", "生徒さんとより良い時間を過ごすためにバージョン1.20.1以上でのプレイをおすすめします!"}; + {"avatar.zombies_mode.enable", "Enabled Zombies mode.", "Zombiesモードを有効にしました。"}; + {"avatar.zombies_mode.already_enabled", "Already enabled Zombies mode.", "Zombiesモードは既に有効化されています。"}; + {"avatar.zombies_mode.disable", "Disabled Zombies mode.", "Zombiesモードを無効にしました。"}; + {"avatar.zombies_mode.already_disabled", "Already disabled Zombies mode.", "Zombiesモードは既に無効化されています。"}; + {"action_wheel.toggle_off", "off", "オフ"}; + {"action_wheel.toggle_on", "on", "オン"}; + {"action_wheel.main.action_1.title", "Change costume: ", "衣装を変更:"}; + {"action_wheel.main.action_1.unavailable", "There is no costume available.", "利用可能な衣装はありません。"}; + {"action_wheel.main.action_1.done_first", "Changed costume to §b", "衣装を§b"}; + {"action_wheel.main.action_1.done_last", "§r.", "§rに変更しました。"}; + {"action_wheel.main.action_2.title", "Change display name: ", "表示名を変更:"}; + {"action_wheel.main.action_2.title_2", "Show club name: ", "部活名を表示:"}; + {"action_wheel.main.action_2.done_first", "Changed display name to §b", "表示名を§b"}; + {"action_wheel.main.action_2.done_last", "§r.", "§rに変更しました。"}; + {"action_wheel.main.action_3.title", "Show armors: ", "防具を表示:"}; + {"action_wheel.main.action_4.title", "Show weapon models in first person: ", "一人称視点で武器モデルを表示:"}; + {"action_wheel.main.action_5.title", "Amount of particles in Ex skill frame: ", "Exスキルフレームのパーティクルの量:"}; + {"action_wheel.main.action_5.option_1", "Standard", "標準"}; + {"action_wheel.main.action_5.option_2", "Minimum", "少なめ"}; + {"action_wheel.main.action_5.option_3", "None", "なし"}; + {"action_wheel.main.action_5.option_4", "Hide Ex skill frame", "スキルフレーム非表示"}; + {"action_wheel.main.action_5.done_first", "Changed amount of particles in Ex skill frame to§b", "Exスキルフレームのパーティクルの量を§b"}; + {"action_wheel.main.action_5.done_last", "§r.", "§rに変更しました。"}; + {"action_wheel.main.action_6.title", "Replace vehicle models: ", "乗り物のモデルを置き換え:"}; + {"action_wheel.main.action_6.unavailable", "This option is unavailable for this character.", "この生徒さんでは利用できません。"}; + {"action_wheel.main.action_7.title_1", "Check for new FBAC Updates ", "FBACアップデートの確認"}; + {"action_wheel.main.action_7.title_2", "(Left-click)", "(左クリック)"}; + {"action_wheel.main.action_7.title_3", "Copy URL for the latest FBAC ", "最新FBACバージョンのURLをコピー"}; + {"action_wheel.main.action_7.title_4", "(Right-click)", "(右クリック)"}; + {"action_wheel.main.action_7.networking_api", "To enable update checking, you need to allow Figura's Networking and put \"api.github.com\" in the Network Filter from Figura settings!", "アップデート確認機能を有効にするにはFiguraの設定より、FiguraのNetworkingの使用を許可し、\"api.github.com\"を許可リストに入れる必要があります!"}; + {"action_wheel.main.action_7.ongoing", "Checking for updates is ongoing. Please DO NOT click repeatedly!", "現在アップデートの確認中です。連打しないでください!"}; + {"action_wheel.main.action_7.copied", "Coped the link to the latest FBAC to your clipboard. Please open the link in your browser.", "最新のFBACへのリンクをクリップボードにコピーしました。ブラウザでリンクを開いてください。"}; + {"action_wheel.main.action_7.cannot_check_latest", "Cannot get the link because cannot check the latest FBAC.", "FBACの最新バージョンを確認できないため、リンクを取得できません。"}; + {"action_wheel.gui.bubble_guide.title", "§0Bubble emote guide", "§0吹き出しエモートガイド"}; + {"action_wheel.gui.ex_skill_guide.title", "§0Ex skill guide", "§0Exスキルガイド"}; + {"action_wheel.gui.ex_skill_guide.key_pre", "Press \"", "\""}; + {"action_wheel.gui.ex_skill_guide.key_post", "\"key to play", "\"キーで再生"}; + {"action_wheel.gui.update_check.checking", "Checking for updates...", "アップデートを確認中..."}; + {"action_wheel.gui.update_check.latest", "No FBAC update available", "最新のFBACを使用中です"}; + {"action_wheel.gui.update_check.update_available", "New FBAC update is available: ", "FBACのアップデートが利用可能です:"}; + {"action_wheel.gui.update_check.error_not_allowed", "Failed to check for updates - Networking API not allowed", "アップデート確認失敗 - ネットワーキング機能が不許可"}; + {"action_wheel.gui.update_check.error_network_err", "Failed to check for updates - Network error", "アップデート確認失敗 - ネットワークエラー"}; + {"action_wheel.gui.update_check.error_request_failed", "Failed to check for updates - Request failure ", "アップデート確認失敗 - リクエスト失敗 "}; + {"action_wheel.gui.update_check.error_invalid_json_syntax", "Failed to check for updates - Json parsing failure", "アップデート確認失敗 - リクエスト解析失敗"}; + {"action_wheel.gui.update_check.error_invalid_json", "Failed to check for updates - Unexpected Request", "アップデート確認失敗 - 予期しないリクエスト"}; + {"key_name.ex_skill", "Ex Skill", "Exスキル"}; + {"key_name.ex_skill_sub", "Sub Ex Skill", "サブExスキル"}; + {"key_name.bubble_1", "Bubble: Good", "吹き出し:いいね"}; + {"key_name.bubble_2", "Bubble: Heart", "吹き出し:ハート"}; + {"key_name.bubble_3", "Bubble: Note", "吹き出し:音符"}; + {"key_name.bubble_4", "Bubble: Question", "吹き出し:はてな"}; + {"key_name.bubble_5", "Bubble: Sweat", "吹き出し:汗"}; + {"key_bind.ex_skill.unavailable", "You cannot do this now.", "今は再生できません。"}; + {"key_bind.ex_skill.unavailable_firstperson", "You cannot do this in first person perspective.", "一人称視点では再生できません。"}; + } + + for _, localeSet in ipairs(localeStrings) do + instance.localeData.en_us[localeSet[1]] = localeSet[2] + instance.localeData.ja_jp[localeSet[1]] = localeSet[3] + end + + return instance + end; + + ---初期化関数 + ---@param self Locale + init = function (self) + AvatarModule.init(self) + + self.localeData.en_us["nameplate.club_name"] = self.parent.characterData.basic.clubName.en_us + self.localeData.ja_jp["nameplate.club_name"] = self.parent.characterData.basic.clubName.ja_jp + + if host:isHost() then + for index, exSkill in ipairs(self.parent.characterData.exSkill) do + self.localeData.en_us["action_wheel.gui.ex_skill_guide.ex_skill_"..index..".name"] = exSkill.name.en_us + self.localeData.ja_jp["action_wheel.gui.ex_skill_guide.ex_skill_"..index..".name"] = exSkill.name.ja_jp + end + for _, costume in ipairs(self.parent.characterData.costume.costumes) do + self.localeData.en_us["costume."..costume.name] = costume.displayName.en_us + self.localeData.ja_jp["costume."..costume.name] = costume.displayName.ja_jp + end + end + end; + + ---翻訳キーに対する訳文を返す。設定言語が存在しない場合は英語の文が返される。また、指定したキーの訳が無い場合は英語->キーそのままが返される。 + ---@param self Locale + ---@param key string 翻訳キー + ---@return string translatedString 翻訳キーに対する翻訳データ。設定言語での翻訳が存在しない場合は英文が返される。英文すら存在しない場合は翻訳キーがそのまま返される。 + getLocale = function (self, key) + local activeLanguage = client:getActiveLang() + return (self.localeData[activeLanguage] ~= nil and self.localeData[activeLanguage][key] ~= nil) and self.localeData[activeLanguage][key] or (self.localeData.en_us[key] and self.localeData.en_us[key] or key) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/nameplate.lua b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/nameplate.lua new file mode 100644 index 0000000..1db7e24 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/nameplate.lua @@ -0,0 +1,77 @@ +---@class (exact) Nameplate : AvatarModule プレイヤーの表示名を制御するクラス +---@field public currentName integer 現在の表示名:1. プレイヤー名, 2. 名のみ(英語), 3. 名のみ(日本語), 4. 名性(英語), 5. 性名(英語), 6. 性名(日本語) +---@field public shouldShowClubName boolean 部活名を表示するかどうか +---@field package localePrev string 前ティックの設定言語 +---@field public getName fun(self: Nameplate, typeId: integer): string 指定されたtypeIdでの表示名を返す +---@field public setName fun(self: Nameplate, typeId: integer, shouldShowClubName: boolean) 入力された設定で表示名を設定する + +Nameplate = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Nameplate + new = function (parent) + ---@type Nameplate + local instance = Avatar.instantiate(Nameplate, AvatarModule, parent) + + instance.currentName = instance.parent.config:loadConfig("PRIVATE", "name", 1) + instance.shouldShowClubName = instance.parent.config:loadConfig("PRIVATE", "showClubName", false) + instance.localePrev = client:getActiveLang() + + return instance + end; + + ---指定されたtypeIdでの表示名を返す。 + ---@param self Nameplate + ---@param typeId integer 表示名の種類:1. プレイヤー名, 2. 名のみ(英語), 3. 名のみ(日本語), 4. 名性(英語), 5. 性名(英語), 6. 性名(日本語) + ---@return string displayName 指定されたtypeIdでの表示名 + getName = function (self, typeId) + local displayName = typeId == 1 and player:getName() or ((typeId == 2 or typeId == 4) and self.parent.characterData.basic.firstName.en_us or (typeId == 5 and self.parent.characterData.basic.lastName.en_us or (typeId == 3 and self.parent.characterData.basic.firstName.ja_jp or self.parent.characterData.basic.lastName.ja_jp))) + if typeId >= 4 then + displayName = displayName.." "..(typeId == 4 and self.parent.characterData.basic.lastName.en_us or (typeId == 5 and self.parent.characterData.basic.firstName.en_us or self.parent.characterData.basic.firstName.ja_jp)) + end + return displayName + end; + + ---入力された設定で表示名を設定する。 + ---@param self Nameplate + ---@param typeId integer 表示名の種類:1. プレイヤー名, 2. 名のみ(英語), 3. 名のみ(日本語), 4. 名性(英語), 5. 性名(英語), 6. 性名(日本語) + ---@param shouldShowClubName boolean 部活名を表示するかどうか + setName = function (self, typeId, shouldShowClubName) + local date = client:getDate() + local displayName = self:getName(typeId)..((typeId >= 2 and date.month == self.parent.characterData.basic.birth.month and date.day == self.parent.characterData.basic.birth.day) and " :cake:" or "") + nameplate.ALL:setText(displayName) + if typeId >= 2 and shouldShowClubName then + nameplate.ENTITY:setText(displayName.."\n§7"..self.parent.locale:getLocale("nameplate.club_name")) + end + self.currentName = typeId + self.shouldShowClubName = shouldShowClubName + end; + + ---初期化関数 + ---@param self Nameplate + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + local locale = client:getActiveLang() + if locale ~= self.localePrev then + if self.shouldShowClubName then + self:setName(self.currentName, true) + end + self.localePrev = locale + end + end) + + events.RENDER:register(function (delta, context) + if context ~= "PAPERDOLL" then + nameplate.ENTITY:setPivot(self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.UpperBody.Body.NameplateAnchor):sub(player:getPos(delta)):add(0, self.parent.barrier.isBarrierVisible and 1.095 or 0.895, 0)) + else + nameplate.ENTITY:setPivot() + end + end) + + if self.currentName >= 2 then + self:setName(self.currentName, self.shouldShowClubName) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/physics.lua b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/physics.lua new file mode 100644 index 0000000..0b17e3f --- /dev/null +++ b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/physics.lua @@ -0,0 +1,199 @@ +---@class (exact) Physics : AvatarModule 物理演算を制御するクラス +---@field public velocityData number[][] 速度データ:1. 頭前後, 2. 上下, 3. 頭左右, 4. 頭角速度, 5. 体前後, 6. 体左右, 7. 体角速度 +---@field public velocityAverage number[][] 速度の平均値:1. 頭前後, 2. 上下, 3. 頭左右, 4. 頭角速度, 5. 体前後, 6. 体左右, 7. 体角速度 +---@field package directionPrev number[] 前ティックのdirectionテーブル +---@field public getValueBetweenTicks fun(tickData: number[], delta: number): number 2つのティックデータの間からレンダーのデルタ値を加味した値を返す +---@field package decomposeHorizontalVelocity fun(self: Physics, direction: number, index: integer): number, number, number 速度を指定された方向から見て前後方向、左右方向に分解する +---@field package getPhysicRot fun(self: Physics, physicData: BlueArchiveCharacter.PhysicCoreData, delta: number): number 物理演算で計算した角度を返す +---@field public enable fun(self: Physics) 物理演算を初期化し、有効にする +---@field public disable fun(self: Physics) 物理演算を無効にする。物理演算で管理していたモデルの回転をリセットする + +Physics = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Physics + new = function (parent) + ---@type Physics + local instance = Avatar.instantiate(Physics, AvatarModule, parent) + + instance.velocityData = {{}, {}, {}, {}, {}, {}, {}} + instance.velocityAverage = {{0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}} + instance.directionPrev = {} + + return instance + end; + + ---2つのティックデータの間からレンダーのデルタ値を加味した値を返す。 + ---@param tickData number[] ティックデータ:1. 前ティック, 2. 現ティック + ---@param delta number デルタ値 + ---@return number deltaValue 2つのティックデータの間からデルタ値で補完した値 + getValueBetweenTicks = function (tickData, delta) + return tickData[1] + (tickData[2] - tickData[1]) * delta + end; + + ---速度を指定された方向から見て前後方向、左右方向に分解する。 + ---@param self Physics + ---@param direction number 基準にする方向 + ---@param index integer データ管理用のインデックス番号(呼び出しの度に異なるインデックス番号になるようにする) + ---@return number velocityFront 指定された方向から見た前後方向の速度 + ---@return number velocityRight 指定された方向から見た左右方向の速度 + ---@return number velocityRot 指定された方向を基準とした角速度 + decomposeHorizontalVelocity = function (self, direction, index) + local velocity = player:getVelocity() + if self.directionPrev[index] == nil then + self.directionPrev[index] = 0 + end + local velocityRot = math.deg(math.atan2(velocity.z, velocity.x)) + velocityRot = velocityRot < 0 and 360 + velocityRot or velocityRot + local directionAbsFront = math.abs(velocityRot - (direction) % 360) + directionAbsFront = directionAbsFront > 180 and 360 - directionAbsFront or directionAbsFront + local directionAbsRight = math.abs(velocityRot - (direction + 90) % 360) + directionAbsRight = directionAbsRight > 180 and 360 - directionAbsRight or directionAbsRight + local directionDelta = direction - self.directionPrev[index] + directionDelta = directionDelta > 180 and (360 - directionDelta) * 20 or (directionDelta < -180 and (360 + directionDelta) * 20 or directionDelta * 20) + self.directionPrev[index] = direction + return math.sqrt(velocity.x ^ 2 + velocity.z ^ 2) * math.cos(math.rad(directionAbsFront)), math.sqrt(velocity.x ^ 2 + velocity.z ^ 2) * math.cos(math.rad(directionAbsRight)), directionDelta + end; + + ---物理演算で計算した角度を返す。 + ---@param self Physics + ---@param physicData BlueArchiveCharacter.PhysicCoreData 物理演算データ + ---@param delta number デルタ値 + ---@return number physicDirection 物理演算で計算したモデルの角度 + getPhysicRot = function (self, physicData, delta) + local rot = physicData.neutral + local waterMultiplayer = player:isUnderwater() and 2 or 1 + if physicData.headX ~= nil then + rot = rot + math.clamp(self.getValueBetweenTicks(self.velocityAverage[1], delta) * physicData.headX.multiplayer * waterMultiplayer, physicData.headX.min - physicData.neutral, physicData.headX.max - physicData.neutral) + end + if physicData.headZ ~= nil then + rot = rot + math.clamp(self.getValueBetweenTicks(self.velocityAverage[3], delta) * physicData.headZ.multiplayer * waterMultiplayer, physicData.headZ.min - physicData.neutral, physicData.headZ.max - physicData.neutral) + end + if physicData.headRot ~= nil then + rot = rot + math.clamp(math.abs(self.getValueBetweenTicks(self.velocityAverage[4], delta)) * -1 * physicData.headRot.multiplayer, physicData.headRot.min - physicData.neutral, physicData.headRot.max - physicData.neutral) + end + if physicData.bodyX ~= nil then + rot = rot + math.clamp(self.getValueBetweenTicks(self.velocityAverage[5], delta) * physicData.bodyX.multiplayer * waterMultiplayer, physicData.bodyX.min - physicData.neutral, physicData.bodyX.max - physicData.neutral) + end + if physicData.bodyY ~= nil then + rot = rot + math.clamp(self.getValueBetweenTicks(self.velocityAverage[2], delta) * physicData.bodyY.multiplayer * waterMultiplayer, physicData.bodyY.min - physicData.neutral, physicData.bodyY.max - physicData.neutral) + end + if physicData.bodyZ ~= nil then + rot = rot + math.clamp(self.getValueBetweenTicks(self.velocityAverage[player:getVehicle() == nil and 6 or 3], delta) * physicData.bodyZ.multiplayer * waterMultiplayer, physicData.bodyZ.min - physicData.neutral, physicData.bodyZ.max - physicData.neutral) + end + if physicData.bodyRot ~= nil then + rot = rot + math.clamp(-math.abs(self.getValueBetweenTicks(self.velocityAverage[7], delta)) * physicData.bodyRot.multiplayer, physicData.bodyRot.min - physicData.neutral, physicData.bodyRot.max - physicData.neutral) + end + rot = math.clamp(rot, physicData.min, physicData.max) + if physicData.headRotMultiplayer ~= nil then + rot = rot + math.deg(math.asin(player:getLookDir().y)) * physicData.headRotMultiplayer + end + if physicData.sneakOffset ~= nil and player:isCrouching() then + rot = rot + physicData.sneakOffset + end + return rot + end; + + ---物理演算を初期化し、有効にする。 + ---@param self Physics + enable = function (self) + self.velocityData = {{}, {}, {}, {}, {}, {}, {}} + self.velocityAverage = {{0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}} + self.directionPrev = {} + + if events.TICK:getRegisteredCount("physics_tick") == 0 then + events.TICK:register(function () + if not client:isPaused() then + local lookDir = player:getLookDir() + local velocityHeadFront, velocityHeadRight, velocityHeadRot = self:decomposeHorizontalVelocity(math.deg(math.atan2(lookDir.z, lookDir.x)), 1) + local velocityAverage = {self.velocityAverage[1][2], self.velocityAverage[2][2], self.velocityAverage[3][2], self.velocityAverage[4][2], self.velocityAverage[5][2], self.velocityAverage[6][2], self.velocityAverage[7][2]} + local velocityY = player:getVelocity().y + velocityAverage[1] = (#self.velocityData[1] * velocityAverage[1] + velocityHeadFront) / (#self.velocityData[1] + 1) + table.insert(self.velocityData[1], velocityHeadFront) + velocityAverage[2] = (#self.velocityData[2] * velocityAverage[2] + velocityY) / (#self.velocityData[2] + 1) + table.insert(self.velocityData[2], velocityY) + velocityAverage[3] = (#self.velocityData[3] * velocityAverage[3] + velocityHeadRight) / (#self.velocityData[3] + 1) + table.insert(self.velocityData[3], velocityHeadRight) + velocityAverage[4] = (#self.velocityData[4] * velocityAverage[4] + velocityHeadRot) / (#self.velocityData[4] + 1) + table.insert(self.velocityData[4], velocityHeadRot) + local velocityBodyFront, velocityBodyRight, velocityBodyRot = self:decomposeHorizontalVelocity((player:getBodyYaw() + models.models.main.Avatar.UpperBody:getTrueRot().y - 90) % 360 - 180, 2) + velocityAverage[5] = (#self.velocityData[5] * velocityAverage[5] + velocityBodyFront) / (#self.velocityData[5] + 1) + table.insert(self.velocityData[5], velocityBodyFront) + velocityAverage[6] = (#self.velocityData[6] * velocityAverage[6] + velocityBodyRight) / (#self.velocityData[6] + 1) + table.insert(self.velocityData[6], velocityBodyRight) + velocityAverage[7] = (#self.velocityData[7] * velocityAverage[7] + velocityBodyRot) / (#self.velocityData[7] + 1) + table.insert(self.velocityData[7], velocityBodyRot) + --古いデータの切り捨て + for index, velocityTable in ipairs(self.velocityData) do + if #velocityTable > 5 then + velocityAverage[index] = (#velocityTable * velocityAverage[index] - velocityTable[1]) / (#velocityTable - 1) + table.remove(velocityTable, 1) + end + table.insert(self.velocityAverage[index], velocityAverage[index]) + table.remove(self.velocityAverage[index], 1) + end + end + end, "physics_tick") + + events.RENDER:register(function (delta) + local playerPose = player:getPose() + local isHorizontal = playerPose == "SWIMMING" or playerPose == "FALL_FLYING" + + for _, physicData in ipairs(self.parent.characterData.physics.physicData) do + for _, modelPart in ipairs(physicData.models) do + if modelPart:getVisible() then + local rot = vectors.vec3() + if physicData.x ~= nil then + if isHorizontal and physicData.x.horizontal then + rot.x = self:getPhysicRot(physicData.x.horizontal, delta) + elseif not isHorizontal and physicData.x.vertical then + rot.x = self:getPhysicRot(physicData.x.vertical, delta) + end + end + if physicData.y ~= nil then + if isHorizontal and physicData.y.horizontal then + rot.y = self:getPhysicRot(physicData.y.horizontal, delta) + elseif not isHorizontal and physicData.y.vertical then + rot.y = self:getPhysicRot(physicData.y.vertical, delta) + end + end + if physicData.z ~= nil then + if isHorizontal and physicData.z.horizontal then + rot.z = self:getPhysicRot(physicData.z.horizontal, delta) + elseif not isHorizontal and physicData.z.vertical then + rot.z = self:getPhysicRot(physicData.z.vertical, delta) + end + end + modelPart:setRot(rot) + if self.parent.characterData.physics.callbacks ~= nil and self.parent.characterData.physics.callbacks.onPhysicPerformed ~= nil then + self.parent.characterData.physics.callbacks.onPhysicPerformed(self.parent.characterData, modelPart) + end + end + end + end + end, "physics_render") + end + end; + + ---物理演算を無効にする。物理演算で管理していたモデルの回転をリセットする。 + ---@param self Physics + disable = function (self) + events.TICK:remove("physics_tick") + events.RENDER:remove("physics_render") + for _, physicData in ipairs(self.parent.characterData.physics.physicData) do + local initialRot = vectors.vec3() + if physicData.x ~= nil and physicData.x.vertical ~= nil then + initialRot.x = physicData.x.vertical.neutral + end + if physicData.y ~= nil and physicData.y.vertical ~= nil then + initialRot.y = physicData.y.vertical.neutral + end + if physicData.z ~= nil and physicData.z.vertical ~= nil then + initialRot.z = physicData.z.vertical.neutral + end + for _, modelPart in ipairs(physicData.models) do + modelPart:setRot(initialRot) + end + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/placement_object/placement_object.lua b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/placement_object/placement_object.lua new file mode 100644 index 0000000..ee9151d --- /dev/null +++ b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/placement_object/placement_object.lua @@ -0,0 +1,231 @@ +---@class (exact) PlacementObject : SpawnObject 単一の設置物を管理するクラス +---@field package object ModelPart インスタンスで制御するオブジェクト +---@field public index integer 設置物データのインデックス番号。設置物のデータを参照するときに使用する。 +---@field package boundingBox Vector3 設置物の当たり判定 +---@field package gravity number この設置物に働く重力の大きさ +---@field package hasFireResistance boolean この設置物に炎耐性を付けるかどうか +---@field public removeReason PlacementObjectManager.RemoveReason この設置物のインスタンスが破棄される理由 +---@field package modelOffsetPos Vector3 設置物"モデル"の位置オフセット値 +---@field package offsetPos Vector3 設置物の中心座標のオフセット値 +---@field public currentPos Vector3 設置物の現在位置 +---@field package nextPos Vector3 設置物の次ティックの位置 +---@field package fallingSpeed number 設置物の落下速度 +---@field package isOnGround boolean 設置物が接地しているかどうか +---@field public new fun(parent: Avatar, model: ModelPart, index: integer, data: BlueArchiveCharacter.PlacementObjectStruct, pos: Vector3, rot: number): PlacementObject コンストラクター + +PlacementObject = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@param index integer 設置物データのインデックス番号。設置物のデータを参照するときに使用する。 + ---@param pos Vector3 設置物を設置するワールド座標 + ---@param rot number 設置物のワールド方向 + ---@return PlacementObject + new = function (parent, index, pos, rot) + ---@type PlacementObject + local instance = Avatar.instantiate(PlacementObject, SpawnObject, parent) + + instance.index = index + instance.object = instance.parent.characterData.placementObjects[instance.index].placementMode == "COPY" and instance.parent.characterData.placementObjects[instance.index].model:copy(instance.uuid) or instance.parent.characterData.placementObjects[instance.index].model + instance.boundingBox = instance.parent.characterData.placementObjects[instance.index].boundingBox.size:copy():scale(0.0625) + instance.gravity = instance.parent.characterData.placementObjects[instance.index].gravity ~= nil and instance.parent.characterData.placementObjects[instance.index].gravity or 1 + instance.hasFireResistance = instance.parent.characterData.placementObjects[instance.index].hasFireResistance ~= nil and instance.parent.characterData.placementObjects[instance.index].hasFireResistance or false + instance.removeReason = "REMOVED_BY_SCRIPTS" + instance.modelOffsetPos = vectors.vec3() + instance.offsetPos = vectors.vec3() + instance.currentPos = pos + instance.nextPos = instance.currentPos + instance.fallingSpeed = 0 + instance.isOnGround = false + + instance.callbacks = { + ---@param self PlacementObject + onInit = function (self) + if self.parent.characterData.placementObjects[self.index].placementMode == "COPY" then + models.script_placement_object:addChild(self.object) + end + local objectOffset = vectors.vec3() + if self.parent.characterData.placementObjects[self.index].boundingBox.offsetPos ~= nil then + objectOffset = self.parent.characterData.placementObjects[self.index].boundingBox.offsetPos:copy():scale(-0.0625) + end + if self.gravity >= 0 then + self.modelOffsetPos = objectOffset:copy():add(0, 0.075, 0) + else + self.modelOffsetPos = objectOffset:copy():add(0, -0.075, 0) + end + --self.objectModel:setPos(self.currentPos:copy():add(self.modelOffsetPos):scale(16)) + self.object:setRot(0, rot, 0) + self.object:setVisible(true) + if self.parent.characterData.placementObjects[self.index].callbacks ~= nil and self.parent.characterData.placementObjects[self.index].callbacks.onInit ~= nil then + self.parent.characterData.placementObjects[self.index].callbacks.onInit(self.parent.characterData, self) + end + end; + + ---@param self PlacementObject + onDeinit = function (self) + if self.parent.characterData.placementObjects[self.index].placementMode == "COPY" then + models.script_placement_object:removeChild(self.object) + self.object:remove() + else + self.object:setVisible(false) + end + if self.parent.characterData.placementObjects[self.index].callbacks ~= nil and self.parent.characterData.placementObjects[self.index].callbacks.onDeinit ~= nil then + self.parent.characterData.placementObjects[self.index].callbacks.onDeinit(self.parent.characterData, self) + end + end; + + ---@param self PlacementObject + onTick = function (self) + --設置物の位置を強制更新 + self.currentPos = self.nextPos + self.object:setPos(self.currentPos:copy():add(self.modelOffsetPos):scale(16)) + + --当たり判定同士が重複しているか確認 + local boundingBoxStartPos = vectors.vec3(self.currentPos.x - self.boundingBox.x / 2, self.currentPos.y, self.currentPos.z - self.boundingBox.z / 2) + local boundingBoxEndPos = vectors.vec3(self.currentPos.x + self.boundingBox.x / 2, self.currentPos.y + self.boundingBox.y, self.currentPos.z + self.boundingBox.z / 2) + local boundingBoxCenter = boundingBoxEndPos:copy():sub(boundingBoxStartPos):scale(0.5):add(boundingBoxStartPos) + for z = math.floor(boundingBoxStartPos.z), math.floor(boundingBoxEndPos.z) do + for y = math.floor(boundingBoxStartPos.y), math.floor(boundingBoxEndPos.y) do + for x = math.floor(boundingBoxStartPos.x), math.floor(boundingBoxEndPos.x) do + for _, collisionBox in ipairs( world.getBlockState(x, y, z):getCollisionShape()) do + local collisionStartPos = collisionBox[1]:copy():add(x, y, z) + local collisionEndPos = collisionBox[2]:copy():add(x, y, z) + local collisionBoxCenter = collisionStartPos:copy():add(collisionEndPos:copy():sub(collisionStartPos):scale(0.5)) + if math.abs(collisionBoxCenter.x - boundingBoxCenter.x) < ((collisionEndPos.x - collisionStartPos.x) + (boundingBoxEndPos.x - boundingBoxStartPos.x)) / 2 and math.abs(collisionBoxCenter.y - boundingBoxCenter.y) < ((collisionEndPos.y - collisionStartPos.y) + (boundingBoxEndPos.y - boundingBoxStartPos.y)) / 2 and math.abs(collisionBoxCenter.z - boundingBoxCenter.z) < ((collisionEndPos.z - collisionStartPos.z) + (boundingBoxEndPos.z - boundingBoxStartPos.z)) / 2 then + self.removeReason = "OVERLAPPED" + self.shouldDeinit = true + return + end + end + end + end + end + + --落下速度を更新 + local fluidTags = world.getBlockState(self.currentPos):getFluidTags() + if fluidTags[2] == "c:water" then + if self.gravity >= 0 then + self.fallingSpeed = math.max(self.fallingSpeed - 0.1 * self.gravity, 0.1 * self.gravity) + else + self.fallingSpeed = math.min(self.fallingSpeed - 0.1 * self.gravity, 0.1 * self.gravity) + end + elseif fluidTags[2] == "c:lava" then + if self.gravity >= 0 then + self.fallingSpeed = math.max(self.fallingSpeed - 0.1 * self.gravity, 0.02 * self.gravity) + else + self.fallingSpeed = math.min(self.fallingSpeed - 0.1 * self.gravity, 0.02 * self.gravity) + end + else + if self.gravity >= 0 then + self.fallingSpeed = math.min(self.fallingSpeed + 0.035 * self.gravity, 3.575 * self.gravity) + else + self.fallingSpeed = math.max(self.fallingSpeed + 0.035 * self.gravity, 3.575 * self.gravity) + end + end + self.nextPos = self.currentPos:copy():add(0, self.fallingSpeed * -1, 0) + + --現ティックと次ティックから直方体を算出 + local nextBoxStartPos = vectors.vec3() + local nextBoxEndPos = vectors.vec3() + if self.gravity >= 0 then + nextBoxStartPos = vectors.vec3(self.currentPos.x - self.boundingBox.x / 2, math.min(self.currentPos.y, self.currentPos.y - self.fallingSpeed), self.currentPos.z - self.boundingBox.z / 2) + nextBoxEndPos = vectors.vec3(self.currentPos.x + self.boundingBox.x / 2, math.max(self.currentPos.y, self.currentPos.y - self.fallingSpeed), self.currentPos.z + self.boundingBox.z / 2) + else + nextBoxStartPos = vectors.vec3(self.currentPos.x - self.boundingBox.x / 2, math.min(self.currentPos.y, self.currentPos.y - self.fallingSpeed) + self.boundingBox.y, self.currentPos.z - self.boundingBox.z / 2) + nextBoxEndPos = vectors.vec3(self.currentPos.x + self.boundingBox.x / 2, math.max(self.currentPos.y, self.currentPos.y - self.fallingSpeed) + self.boundingBox.y, self.currentPos.z + self.boundingBox.z / 2) + end + local nextBoxCenter = nextBoxStartPos:copy():add(nextBoxEndPos:copy():sub(nextBoxStartPos):scale(0.5)) + + --直方体と重なるブロック座標を全て算出 + local collisionDetected = false + if self.gravity >= 0 then + local collisionYPos = math.floor(nextBoxStartPos.y) + for y = math.floor(nextBoxEndPos.y), math.floor(nextBoxStartPos.y) - 1, -1 do + for z = math.floor(nextBoxStartPos.z), math.floor(nextBoxEndPos.z) do + for x = math.floor(nextBoxStartPos.x), math.floor(nextBoxEndPos.x) do + for _, collisionBox in ipairs( world.getBlockState(x, y, z):getCollisionShape()) do + local collisionStartPos = collisionBox[1]:copy():add(x, y, z) + local collisionEndPos = collisionBox[2]:copy():add(x, y, z) + local collisionBoxCenter = collisionStartPos:copy():add(collisionEndPos:copy():sub(collisionStartPos):scale(0.5)) + if math.abs(collisionBoxCenter.x - nextBoxCenter.x) < ((collisionEndPos.x - collisionStartPos.x) + (nextBoxEndPos.x - nextBoxStartPos.x)) / 2 and math.abs(collisionBoxCenter.y - nextBoxCenter.y) < ((collisionEndPos.y - collisionStartPos.y) + (nextBoxEndPos.y - nextBoxStartPos.y)) / 2 and math.abs(collisionBoxCenter.z - nextBoxCenter.z) < ((collisionEndPos.z - collisionStartPos.z) + (nextBoxEndPos.z - nextBoxStartPos.z)) / 2 then + if collisionEndPos.y > self.nextPos.y then + self.nextPos.y = collisionEndPos.y + collisionYPos = y + self.fallingSpeed = 0 + collisionDetected = true + end + end + end + end + end + if y == collisionYPos - 1 then + break + end + end + else + local collisionYPos = math.floor(nextBoxEndPos.y) + for y = math.floor(nextBoxStartPos.y), math.floor(nextBoxEndPos.y), 1 do + for z = math.floor(nextBoxStartPos.z), math.floor(nextBoxEndPos.z) do + for x = math.floor(nextBoxStartPos.x), math.floor(nextBoxEndPos.x) do + for _, collisionBox in ipairs( world.getBlockState(x, y, z):getCollisionShape()) do + local collisionStartPos = collisionBox[1]:copy():add(x, y, z) + local collisionEndPos = collisionBox[2]:copy():add(x, y, z) + local collisionBoxCenter = collisionStartPos:copy():add(collisionEndPos:copy():sub(collisionStartPos):scale(0.5)) + if math.abs(collisionBoxCenter.x - nextBoxCenter.x) < ((collisionEndPos.x - collisionStartPos.x) + (nextBoxEndPos.x - nextBoxStartPos.x)) / 2 and math.abs(collisionBoxCenter.y - nextBoxCenter.y) < ((collisionEndPos.y - collisionStartPos.y) + (nextBoxEndPos.y - nextBoxStartPos.y)) / 2 and math.abs(collisionBoxCenter.z - nextBoxCenter.z) < ((collisionEndPos.z - collisionStartPos.z) + (nextBoxEndPos.z - nextBoxStartPos.z)) / 2 then + if collisionStartPos.y < self.nextPos.y + self.boundingBox.y then + self.nextPos.y = collisionStartPos.y - self.boundingBox.y + collisionYPos = y + self.fallingSpeed = 0 + collisionDetected = true + end + end + end + end + end + if y == collisionYPos + 1 then + break + end + end + end + if collisionDetected and not self.isOnGround and self.parent.characterData.placementObjects[self.index].callbacks ~= nil and self.parent.characterData.placementObjects[self.index].callbacks.onGround ~= nil then + self.parent.characterData.placementObjects[self.index].callbacks.onGround(self.parent.characterData, self) + end + self.isOnGround = collisionDetected + local nextBlock = world.getBlockState(self.nextPos) + local isNextBlockFire = false + for _, tag in ipairs(nextBlock:getTags()) do + if tag == "minecraft:fire" then + isNextBlockFire = true + break + end + end + if self.nextPos.y < -128 then + self.removeReason = "TOO_LOW" + self.shouldDeinit = true + elseif self.nextPos.y > 384 then + self.removeReason = "TOO_HIGH" + self.shouldDeinit = true + elseif not self.hasFireResistance and (nextBlock:getFluidTags()[2] == "c:lava" or isNextBlockFire) then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.fire.extinguish"), self.nextPos) + for _ = 0, self.boundingBox.x * self.boundingBox.y * self.boundingBox.z * 8 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:smoke"), vectors.vec3(self.nextPos.x + math.random() * self.boundingBox.x - self.boundingBox.x / 2, self.nextPos.y + math.random() * self.boundingBox.y, self.nextPos.z + math.random() * self.boundingBox.z - self.boundingBox.z / 2)) + end + self.removeReason = "BURNT" + self.shouldDeinit = true + end + if self.parent.characterData.placementObjects[self.index].callbacks ~= nil and self.parent.characterData.placementObjects[self.index].callbacks.onTick ~= nil then + self.parent.characterData.placementObjects[self.index].callbacks.onTick(self.parent.characterData, self) + end + end; + + ---@param self PlacementObject + onRender = function (self, delta, context) + self.object:setPos(self.nextPos:copy():sub(self.currentPos):scale(delta):add(self.currentPos):add(self.modelOffsetPos):scale(16)) + if self.parent.characterData.placementObjects[self.index].callbacks ~= nil and self.parent.characterData.placementObjects[self.index].callbacks.onRender ~= nil then + self.parent.characterData.placementObjects[self.index].callbacks.onRender(self.parent.characterData, self) + end + end + } + + return instance + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/placement_object/placement_object_manager.lua b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/placement_object/placement_object_manager.lua new file mode 100644 index 0000000..eee06b5 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/placement_object/placement_object_manager.lua @@ -0,0 +1,87 @@ +---設置物の設置モードの列挙型 +---@alias PlacementObjectManager.PlacementMode +---| "COPY" # コピーモード。BBアニメーションは使えないが、複数の設置物を設置可能。 +---| "MOVE" # 移動モード。同時に1つしか設置物を設置できないが、BBアニメーションが使える。 + +---設置物が削除された理由の列挙型 +---@alias PlacementObjectManager.RemoveReason +---| "REMOVED_BY_SCRIPTS" # スクリプトによって削除 +---| "OVERLAPPED" # 設置物がブロックと重なって削除 +---| "BURNT" # 炎に焼かれて削除 +---| "TOO_LOW" # 設置物のY座標が低過ぎて削除 +---| "TOO_HIGH" # 設置物のY座標が高過ぎて削除 + +---@class (exact) PlacementObjectManager : SpawnObjectManager 設置物を管理するマネージャークラス +---@field public objects PlacementObject[] インスタンスで制御するオブジェクト +---@field public getObject fun(self: PlacementObjectManager, index: integer, pos: Vector3, rot: number): PlacementObject 設置物のインスタンスを生成して返す +---@field public spawn fun(self: PlacementObjectManager, index: integer, pos: Vector3, rot: number) 設置物を設置する +---@field public applyFunc fun(self: PlacementObjectManager, index: integer, func: fun(object: PlacementObject, i: integer)) 設置済み設置物の指定した設置物データのインデックス番号のみに関数を適用する + +PlacementObjectManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return PlacementObjectManager + new = function (parent) + ---@type PlacementObjectManager + local instance = Avatar.instantiate(PlacementObjectManager, SpawnObjectManager, parent) + + instance.managerName = "placement_object" + + return instance + end; + + ---初期化関数 + ---@param self PlacementObjectManager + init = function (self) + SpawnObjectManager.init(self) + + ---@diagnostic disable-next-line: discard-returns + models:newPart("script_placement_object", "World") + for _, data in ipairs(self.parent.characterData.placementObjects) do + if data.placementMode == "MOVE" then + data.model = data.model:moveTo(models.script_placement_object) + data.model:setVisible(false) + end + end + end; + + + ---設置物のインスタンスを生成して返す。 + ---@param self PlacementObjectManager + ---@param index integer 設置物データのインデックス番号 + ---@param pos Vector3 設置物を設置するワールド座標 + ---@param rot number 設置物を設置するワールド方向(Y軸のみ) + ---@return PlacementObject instance 生成したインスタンス + getObject = function (self, index, pos, rot) + if self.parent.characterData.placementObjects[index].placementMode == "MOVE" then + for i, placementObject in ipairs(self.objects) do + if placementObject.index == index then + self:remove(i) + break + end + end + end + return PlacementObject.new(self.parent, index, pos, rot) + end; + + ---設置物を設置する。 + ---@param self PlacementObjectManager + ---@param index integer 設置物データのインデックス番号 + ---@param pos Vector3 設置物を設置するワールド座標 + ---@param rot number 設置物を設置するワールド方向(Y軸のみ) + spawn = function (self, index, pos, rot) + SpawnObjectManager.spawn(self, index, pos, rot) + end; + + ---設置済み設置物の、指定した設置物データのインデックス番号のみに関数を適用する。 + ---@param self PlacementObjectManager + ---@param index integer 関数実行対象の設置物データのインデックス番号 + ---@param func fun(object: PlacementObject, i: integer) 実行する関数 + applyFunc = function (self, index, func) + for i, obj in ipairs(self.objects) do + if obj.index == index then + func(obj, i) + end + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/portrait.lua b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/portrait.lua new file mode 100644 index 0000000..3d887aa --- /dev/null +++ b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/portrait.lua @@ -0,0 +1,32 @@ +---@class (exact) Portrait : HeadModelGenerator ポートレートのモデルを管理するクラス + +Portrait = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Portrait + new = function (parent) + ---@type Portrait + local instance = Avatar.instantiate(Portrait, HeadModelGenerator, parent) + + instance.processData = instance.parent.characterData.portrait + instance.parentName = "portrait" + instance.parentType = "Portrait" + + return instance + end; + + ---初期化関数 + ---@param self Portrait + init = function (self) + HeadModelGenerator.init(self) + end; + + ---頭モデルのコピーを生成する。 + ---@param self HeadBlock + generateHeadModel = function (self) + HeadModelGenerator.generateHeadModel(self) + if models.script_portrait.Head ~= nil then + models.script_portrait.Head.HeadRing:remove() + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/skirt.lua b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/skirt.lua new file mode 100644 index 0000000..48e97f8 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/skirt.lua @@ -0,0 +1,30 @@ +---@class Skirt : AvatarModule スカートを制御するクラス + +Skirt = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Skirt + new = function (parent) + ---@type Skirt + local instance = Avatar.instantiate(Skirt, AvatarModule, parent) + + return instance + end; + + ---初期化関数 + ---@param self AvatarModule + init = function (self) + AvatarModule.init(self) + + if self.parent.characterData.skirt.skirtModels ~= nil and #self.parent.characterData.skirt.skirtModels > 0 then + events.TICK:register(function () + local isCrouching = player:isCrouching() + for _, skirtModel in ipairs(self.parent.characterData.skirt.skirtModels) do + if skirtModel:getVisible() then + skirtModel:setRot(isCrouching and 30 or 0, 0, 0) + end + end + end) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/utils/compatibility_utils.lua b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/utils/compatibility_utils.lua new file mode 100644 index 0000000..237a6a6 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/utils/compatibility_utils.lua @@ -0,0 +1,169 @@ +---レジストリの種類を示す列挙型 +---@alias CompatibilityUtils.RegistryType +---| "BLOCK" # ブロック名 +---| "ITEM" # アイテム名 +---| "PARTICLE" # パーティクル名 +---| "SOUND" # サウンド名 + +---@class (exact) CompatibilityUtils : AvatarModule Minecraftのゲームバージョンが異なっていてもある程度互換性を確保するためのユーティリティクラス +---@field package registries {block: Minecraft.blockID[], item: Minecraft.itemID[], particle: Minecraft.particleID[], sound: Minecraft.soundID[]} ゲームから取得した全アイテム名を保持するテーブル +---@field package checkedTable {block: {[Minecraft.blockID]: boolean}, item: {[Minecraft.itemID]: boolean}, particle: {[Minecraft.particleID]: boolean}, sound: {[Minecraft.soundID]: boolean}} レジストリへの確認が済んでいるIDを保持するテーブル +---@field package find fun(self: CompatibilityUtils, registryType: CompatibilityUtils.RegistryType, target: string): boolean 指定されたターゲットがレジストリに登録されているかどうかを返す。 +---@field public checkBlock fun(self: CompatibilityUtils, block: Minecraft.blockID): Minecraft.blockID 指定されたブロックIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:dirt"を返す。 +---@field public checkItem fun(self: CompatibilityUtils, item: Minecraft.itemID): Minecraft.itemID 指定されたアイテムIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:barrier"を返す。 +---@field public checkParticle fun(self: CompatibilityUtils, particle: Minecraft.particleID): Minecraft.particleID 指定されたパーティクルIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:poof"を返す。 +---@field public checkSound fun(self: CompatibilityUtils, sound: Minecraft.soundID): Minecraft.soundID 指定されたサウンドIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:empty"を返す。 +---@field public getBlockParticleId fun(block: Minecraft.blockID): string ブロックの破片のパーティクルを示す文字列を返す。Minecraftのバージョン違いを吸収するための関数。 +---@field public getDustParticleId fun(color: Vector3, size: number): string dustパーティクルを示す文字列を返す。Minecraftのバージョン違いを吸収するための関数。 +---@field public setPostEffect fun(effect?: Minecraft.shaderName) renderer:setPostEffect()のラッパー関数。1.20.5でレンダーエフェクトが削除されたことによる対応。 + +CompatibilityUtils = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return CompatibilityUtils + new = function (parent) + ---@type CompatibilityUtils + local instance = Avatar.instantiate(CompatibilityUtils, AvatarModule, parent) + + instance.registries = {} + instance.checkedTable = { + block = {}; + item = {}; + particle = {}; + sound = {}; + } + + return instance + end; + + ---初期化関数 + ---@param self CompatibilityUtils + init = function (self) + AvatarModule.init(self) + + self.registries.block = client.getRegistry("minecraft:block") + self.registries.item = client.getRegistry("minecraft:item") + self.registries.particle = client.getRegistry("minecraft:particle_type") + self.registries.sound = client.getRegistry("minecraft:sound_event") + for name, _ in pairs(self.registries) do + table.sort(self.registries[name]) + end + self.checkedTable.block["minecraft:dirt"] = true + self.checkedTable.item["minecraft:barrier"] = true + self.checkedTable.particle["minecraft:poof"] = true + self.checkedTable.sound["minecraft:empty"] = true + if host:isHost() and client:getVersion() < "1.20.1" then + print(self.parent.locale:getLocale("avatar.old_version_warning")) + end + end; + + ---指定されたターゲットがレジストリに登録されているかどうかを返す。 + ---@param self CompatibilityUtils + ---@param registryType CompatibilityUtils.RegistryType 検索をかける対象のレジストリ + ---@param target string 検索対象名。"minecraft:"を抜かないこと。 + ---@return boolean idFound 指定されたターゲットがレジストリで見つかったかどうか + find = function (self, registryType, target) + ---リスト内の中央の要素(偶数の場合は中央から1つ左の要素)と指定されたターゲットのUnicode順を比較する。 + ---@param from integer リストの検索開始のインデックス番号 + ---@param to integer リストの検索終了のインスタンス番号(指定したインデックス番号の要素も検索に含む) + ---@return integer compareResult 比較結果。0は同じ文字列、1はターゲットの方が大きい、-1はターゲットの方が小さいことを表す。 + local function compareToCenterElement(from, to) + local centerIndex = math.floor((to - from) / 2) + from + if self.registries[registryType:lower()][centerIndex] < target then + return 1 + elseif self.registries[registryType:lower()][centerIndex] > target then + return -1 + else + return 0 + end + end + + local startIndex = 1 + local endIndex = #self.registries[registryType:lower()] + while startIndex < endIndex do + local compareResult = compareToCenterElement(startIndex, endIndex) + if compareResult == 1 then + startIndex = math.floor((endIndex - startIndex) / 2) + startIndex + 1 + elseif compareResult == -1 then + endIndex = math.floor((endIndex - startIndex) / 2) + startIndex + else + break + end + end + if startIndex == endIndex then + return compareToCenterElement(startIndex, endIndex) == 0 + else + return true + end + end; + + ---指定されたブロックIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:dirt"を返す。 + ---@param self CompatibilityUtils + ---@param block Minecraft.blockID 確認対象のブロックID + ---@param blockState string? ブロックステートを示す文字列 + ---@return Minecraft.blockID blockID レジストリに登録してある場合は確認対象のブロックIDをそのまま返し、未登録の場合は"minecraft:dirt"が返す。 + checkBlock = function (self, block, blockState) + if self.checkedTable.block[block] == nil then + self.checkedTable.block[block] = self:find("BLOCK", block) + end + local state = blockState ~= nil and blockState or "" + return self.checkedTable.block[block] and block..state or "minecraft:dirt" + end; + + ---指定されたアイテムIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:barrier"を返す。 + ---@param self CompatibilityUtils + ---@param item Minecraft.itemID 確認対象のアイテムID + ---@return Minecraft.itemID blockID レジストリに登録してある場合は確認対象のアイテムIDをそのまま返し、未登録の場合は"minecraft:barrier"が返す。 + checkItem = function (self, item) + if self.checkedTable.item[item] == nil then + self.checkedTable.item[item] = self:find("ITEM", item) + end + return self.checkedTable.item[item] and item or "minecraft:barrier" + end; + + ---指定されたパーティクルIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:poof"を返す。 + ---@param self CompatibilityUtils + ---@param particle Minecraft.particleID 確認対象のパーティクルID + ---@return Minecraft.particleID particleID レジストリに登録してある場合は確認対象のパーティクルIDをそのまま返し、未登録の場合は"minecraft:poof"が返す。 + checkParticle = function (self, particle) + if self.checkedTable.particle[particle] == nil then + self.checkedTable.particle[particle] = self:find("PARTICLE", particle) + end + return self.checkedTable.particle[particle] and particle or "minecraft:poof" + end; + + ---指定されたサウンドIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:empty"を返す。 + ---@param self CompatibilityUtils + ---@param sound Minecraft.soundID 確認対象のサウンドID + ---@return Minecraft.soundID particleID レジストリに登録してある場合は確認対象のサウンドIDをそのまま返し、未登録の場合は"minecraft:empty"が返す。 + checkSound = function (self, sound) + if self.checkedTable.sound[sound] == nil then + self.checkedTable.sound[sound] = self:find("SOUND", sound) + end + return self.checkedTable.sound[sound] and sound or "minecraft:empty" + end; + + ---ブロックの破片のパーティクルを示す文字列を返す。Minecraftのバージョン違いを吸収するための関数。 + ---@param block Minecraft.blockID ブロックの破片パーティクルとして表示するブロックのID。レジストリへの確認は行わない。 + ---@return string particleData ブロックの破片のパーティクルを示す文字列 + getBlockParticleId = function (block) + return client:getVersion() >= "1.20.5" and "minecraft:block{block_state:\""..block.."\"}" or "minecraft:block "..block + end; + + ---dustパーティクルを示す文字列を返す。Minecraftのバージョン違いを吸収するための関数。 + ---@param color Vector3 dustの色 + ---@param size number dustの大きさ + ---@return string particleData dustの破片のパーティクルを示す文字列 + getDustParticleId = function (color, size) + return client:getVersion() >= "1.20.5" and "minecraft:dust{color:["..color.x..","..color.y..","..color.z.."],scale:"..math.clamp(size, 0.01, 4).."}" or "minecraft:dust "..color.x.." "..color.y.." "..color.z.." "..size + end; + + ---renderer:setPostEffect()のラッパー関数 + ---1.20.5でレンダーエフェクトが削除されたことによる対応 + ---@param effect? Minecraft.shaderName 適用するエフェクト + setPostEffect = function (effect) + if client:getVersion() < "1.20.5" then + renderer:setPostEffect(effect) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/utils/ex_skill_text_animation.lua b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/utils/ex_skill_text_animation.lua new file mode 100644 index 0000000..36a4754 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/utils/ex_skill_text_animation.lua @@ -0,0 +1,124 @@ +---テキストアニメーションで使用されるテキストレンダータスクを指定する列挙子 +---@alias ExSkillTextAnimation.TextTask +---| "PRIMARY" ---メインのテキストレンダータスク +---| "SECONDARY" ---サブのテキストレンダータスク + +---@class Exスキル1で使用するテキストアニメーションのクラス +ExSkillTextAnimation = { + ---設置物のインスタンスを新しく生成する。 + ---@param taskName string 作成するテキストレンダータスクの名前 + ---@param textPos Vector3 テキストの初期位置 + ---@param text string 表示するテキスト + new = function (taskName, textPos, text) + local instance = {} + + ---メインのテキストレンダータスク + ---@type TextTask + ---@diagnostic disable-next-line: undefined-field + instance.PrimaryTextTask = models.models.main.CameraAnchor:newText(taskName.."_1"):setVisible(false):setText("§d"..text):setPos(textPos):setRot(0, 180, 0):setScale(0.45, 0.45, 0.45):setOutline(true) + + ---サブのテキストレンダータスク + ---@type TextTask + ---@diagnostic disable-next-line: undefined-field + instance.SecondaryTextTask = models.models.main.CameraAnchor:newText(taskName.."_2"):setVisible(false):setText("§d"..text):setPos(textPos):setRot(0, 180, 0):setScale(0.45, 0.45, 0.45) + + ---このテキストアニメーションの名前 + ---@type string + instance.AnimationName = taskName + + ---このテキストアニメーションが持つテキスト + ---@type string + instance.Text = text + + ---テキストレンダータスクの初期位置 + ---@type Vector3 + instance.TextTaskPos = textPos + + ---このレンダーで処理を終えたかどうか + ---@type boolean + instance.IsRenderProcessed = false + + ---テキストアニメーションのタイミングを図るカウンター + ---@type number + instance.AnimationCount = 0 + + ---文字がポンって置かれる部分に到達したかどうか + ---@type boolean + instance.PonPointPassed = false + + ---テキストレンダータスクの大きさを設定する。 + ---@param task ExSkillTextAnimation.TextTask 大きさを変更するテキストレンダータスク + ---@param newScale number 設定する大きさの倍率。基準はこのテキストレンダータスク。 + instance.setScale = function (self, task, newScale) + local targetTask = task == "PRIMARY" and self.PrimaryTextTask or self.SecondaryTextTask + local scale = newScale * 0.4 + local offset = (newScale - 1) * 3 / 2 + targetTask:setPos(instance.TextTaskPos:copy():add(-offset, offset, 0)) + targetTask:setScale(scale, scale, scale) + end + + ---テキストを真っ黒にする + ---@param black boolean テキストを真っ黒にするかどうか + instance.setBlack = function (self, black) + instance.PrimaryTextTask:setText("§"..(black and "0" or "d")..self.Text) + end + + ---テキストアニメーションを再生する。 + instance.play = function (self) + self.SecondaryTextTask:setVisible(true) + self.SecondaryTextTask:setOpacity(0.25) + self:setScale("SECONDARY", 2) + if events.RENDER:getRegisteredCount(taskName.."_render") == 0 then + events.RENDER:register(function () + if not self.IsRenderProcessed then + if self.AnimationCount <= 0.1 then + self:setScale("SECONDARY", self.AnimationCount * -10 + 2) + self.SecondaryTextTask:setOpacity(self.AnimationCount * 5 + 0.5) + elseif self.AnimationCount <= 0.2 then + self:setScale("SECONDARY", self.AnimationCount * 10) + self.SecondaryTextTask:setOpacity(self.AnimationCount * -5 + 1.5) + else + self.SecondaryTextTask:setVisible(false) + end + if self.AnimationCount >= 0.05 then + self.PrimaryTextTask:setVisible(true) + if self.AnimationCount <= 0.083 then + self:setScale("PRIMARY", self.AnimationCount * -12.12 + 1.8) + elseif self.AnimationCount <= 0.1 then + self:setScale("PRIMARY", self.AnimationCount * 12.12 - 0.2) + else + self:setScale("PRIMARY", 1) + end + end + if self.AnimationCount >= 0.1 and not self.PonPointPassed then + sounds:playSound("minecraft:block.bone_block.place", player:getPos(), 1, 0.75) + self.PonPointPassed = true + end + self.AnimationCount = self.AnimationCount + 1 / client:getFPS() + self.IsRenderProcessed = true + end + end, taskName.."_render") + end + if events.WORLD_RENDER:getRegisteredCount(taskName.."_world_render") == 0 then + events.WORLD_RENDER:register(function () + self.IsRenderProcessed = false + end, taskName.."_world_render") + end + end + + ---テキストアニメーションを停止する。 + instance.stop = function (self) + for _, textTask in ipairs({self.PrimaryTextTask, self.SecondaryTextTask}) do + textTask:setVisible(false) + end + events.RENDER:remove(taskName.."_render") + events.WORLD_RENDER:remove(taskName.."_world_render") + self.AnimationCount = 0 + self.PonPointPassed = false + end + + return instance + end +} + +return ExSkillTextAnimation \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/utils/model_utils.lua b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/utils/model_utils.lua new file mode 100644 index 0000000..4208e9f --- /dev/null +++ b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/utils/model_utils.lua @@ -0,0 +1,59 @@ +---@class (exact) ModelUtils : AvatarModule モデルに関するユーティリティ関数群 +---@field public getModelWorldPos fun(model: ModelPart): Vector3 指定したモデルのワールド位置を返す。 +---@field public copyModel fun(self: ModelUtils, modelPart: ModelPart, name?: string, forceCopy?: boolean): ModelPart|nil モデルパーツをディープコピーする。 +---@field public copyModel fun(self: ModelUtils, modelPart: ModelPart, name?: string, forceCopy?: true): ModelPart モデルパーツをディープコピーする。 +---@field public moveTo fun(target: ModelPart, destination: ModelPart, originalParent: ModelPart) モデルパーツを別の親に移動させる。組み込みmoveTo()で何故かモデルパーツが残ってしまう問題に対処済み。 + +ModelUtils = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ModelUtils + new = function (parent) + ---@type ModelUtils + local instance = Avatar.instantiate(ModelUtils, AvatarModule, parent) + + return instance + end; + + ---指定したモデルのワールド位置を返す。 + ---@param model ModelPart ワールド位置を取得するモデルパーツ + ---@return Vector3 worldPos モデルのワールド位置 + getModelWorldPos = function(model) + local modelMatrix = model:partToWorldMatrix() + return vectors.vec3(modelMatrix[4][1], modelMatrix[4][2], modelMatrix[4][3]) + end; + + ---モデルパーツをディープコピーする。 + ---非表示のモデルパーツはコピーしない。 + ---@param modelPart ModelPart コピーするモデルパーツ + ---@param name? string コピーしたモデルパーツの名前。省略した際はコピー元と同じ名前になる。 + ---@param forceCopy? boolean 非表示のモデルも強制的にコピーするかどうか + ---@return ModelPart|nil copiedModelPart コピーされたモデルパーツ。入力されたモデルパーツが非表示の場合はnilが返る。 + copyModel = function (self, modelPart, name, forceCopy) + if modelPart:getVisible() or forceCopy then + local copy = modelPart:copy(name ~= nil and name or modelPart:getName()) + copy:setParentType("None") + for _, child in ipairs(copy:getChildren()) do + copy:removeChild(child) + local childModel = self:copyModel(child) + if childModel ~= nil then + copy:addChild(childModel) + end + end + return copy + end + end; + + ---モデルパーツを別の親に移動させる。 + ---組み込みmoveTo()で何故かモデルパーツが残ってしまう問題に対処済み。 + ---@param target ModelPart 移動させる対象のモデルパーツ + ---@param destination ModelPart 移動先の親 + ---@param originalParent ModelPart 移動元の親 + moveTo = function (target, destination, originalParent) + target:moveTo(destination) + local modelName = target:getName() + if originalParent[modelName] ~= nil then + originalParent:removeChild(target) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/utils/player_utils.lua b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/utils/player_utils.lua new file mode 100644 index 0000000..8a8028c --- /dev/null +++ b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/utils/player_utils.lua @@ -0,0 +1,35 @@ +---@alias PlayerUtils.DamageStatus +---| "NONE" # ダメージなし +---| "DAMAGE" # ダメージを受けた +---| "DIED" # 死亡した + +---@class (exact) PlayerUtils : AvatarModule プレイヤーに関するユーティリティ関数群 +---@field public damageStatus PlayerUtils.DamageStatus 現在のティックのダメージステータス +---@field package healthPrev integer 前ティックのHP量 + +PlayerUtils = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return PlayerUtils + new = function (parent) + ---@type PlayerUtils + local instance = Avatar.instantiate(PlayerUtils, AvatarModule, parent) + + instance.damageStatus = "NONE" + instance.healthPrev = player:getHealth() + + return instance + end; + + ---初期化関数 + ---@param self PlayerUtils + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + local health = player:getHealth() + self.damageStatus = self.healthPrev > health and (health == 0 and "DIED" or "DAMAGE") or "NONE" + self.healthPrev = health + end) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/utils/spawn_object.lua b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/utils/spawn_object.lua new file mode 100644 index 0000000..cf08811 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/utils/spawn_object.lua @@ -0,0 +1,26 @@ +---@class (exact) SpawnObject : AvatarModule オブジェクト(設置物、独自定義パーティクル、bbモデルetc.)クラス +---@field public object any インスタンスで制御するオブジェクト。ModelPartやRenderTaskを想定している。 +---@field public uuid string このインスタンスのUUID。オブジェクトの名前付けなどにどうぞ。 +---@field public shouldDeinit boolean このオブジェクトを破棄するかどうか。trueにするとオブジェクトが破棄され、その際に、onDeinit()コールバック関数が呼ばれる。 +---@field public callbacks? SpawnObject.CallbackSet スポーンオブジェクトのコールバック関数 + +---@class (exact) SpawnObject.CallbackSet スポーンオブジェクトのコールバック関数のセット +---@field public onInit? fun(self: SpawnObject) オブジェクトの初期化直後に呼ばれる関数 +---@field public onDeinit? fun(self: SpawnObject) オブジェクトの破棄直前に呼ばれる関数 +---@field public onTick? fun(self: SpawnObject) 各ティック毎に呼ばれる関数 +---@field public onRender? fun(self: SpawnObject, delta: number, context: Event.Render.context) 各レンダーティック毎に呼ばれる関数 + +SpawnObject = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return SpawnObject + new = function (parent) + ---@type SpawnObject + local instance = Avatar.instantiate(SpawnObject, AvatarModule, parent) + + instance.uuid = client.intUUIDToString(client.generateUUID()) + instance.shouldDeinit = false + + return instance + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/utils/spawn_object_manager.lua b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/utils/spawn_object_manager.lua new file mode 100644 index 0000000..3026820 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/utils/spawn_object_manager.lua @@ -0,0 +1,102 @@ +---@class (exact) SpawnObjectManager : AvatarModule オブジェクト(設置物、独自定義パーティクル、bbモデルetc.)をスポーンさせ、管理するマネージャークラス +---@field public managerName string このマネージャーの名前 +---@field public objects SpawnObject[] スポーンさせたオブジェクトを保持するテーブル +---@field public getObject fun(self: SpawnObjectManager): SpawnObject スポーンオブジェクトのインスタンスを生成して返す +---@field public spawn fun(self: SpawnObjectManager, ...: any) オブジェクトをスポーンさせる +---@field public remove fun(self: SpawnObjectManager, index: integer) オブジェクトを1つ削除する +---@field public removeAll fun(self: SpawnObjectManager) オブジェクトをすべて削除する + +SpawnObjectManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return SpawnObjectManager + new = function (parent) + ---@type SpawnObjectManager + local instance = Avatar.instantiate(SpawnObjectManager, AvatarModule, parent) + + instance.managerName = "spawn_object" + instance.objects = {} + + return instance + end; + + ---スポーンオブジェクトのインスタンスを生成して返す。 + ---@param self SpawnObjectManager + ---@return SpawnObject instance 生成したスポーンオブジェクト + getObject = function (self) + return SpawnObject.new(self.parent) + end; + + ---オブジェクトをスポーンさせる。 + ---@param self SpawnObjectManager + ---@param ... any インスタンス生成時の引数 + spawn = function (self, ...) + ---@diagnostic disable-next-line: redundant-parameter + local instance = self:getObject(...) + table.insert(self.objects, instance) + if instance.callbacks ~= nil and instance.callbacks.onInit ~= nil then + instance.callbacks.onInit(instance) + end + + if #self.objects == 1 then + events.TICK:register(function () + if not client:isPaused() then + for index, ins in ipairs(self.objects) do + if ins.callbacks ~= nil and ins.callbacks.onTick ~= nil then + ins.callbacks.onTick(ins) + end + if ins.shouldDeinit then + if ins.callbacks ~= nil and ins.callbacks.onDeinit ~= nil then + ins.callbacks.onDeinit(ins) + end + table.remove(self.objects, index) + if #self.objects == 0 then + events.TICK:remove(self.managerName.."_tick") + events.RENDER:remove(self.managerName.."_render") + end + end + end + end + end, self.managerName.."_tick") + + events.RENDER:register(function (delta, ctx) + if not client:isPaused() then + for _, ins in ipairs(self.objects) do + if ins.callbacks ~= nil and ins.callbacks.onRender ~= nil then + ins.callbacks.onRender(ins, delta, ctx) + end + end + end + end, self.managerName.."_render") + end + end; + + ---オブジェクトを1つ削除する。 + ---@param self SpawnObjectManager + ---@param index integer 削除するオブジェクトのインデックス番号 + remove = function (self, index) + if self.objects[index] ~= nil then + if self.objects[index].callbacks ~= nil and self.objects[index].callbacks.onDeinit ~= nil then + self.objects[index].callbacks.onDeinit(self.objects[index]) + end + table.remove(self.objects, index) + if #self.objects == 0 then + events.TICK:remove(self.managerName.."_tick") + events.RENDER:remove(self.managerName.."_render") + end + end + end; + + ---オブジェクトをすべて削除する。 + ---@param self SpawnObjectManager + removeAll = function (self) + while #self.objects > 0 do + if self.objects[1].callbacks ~= nil and self.objects[1].callbacks.onDeinit ~= nil then + self.objects[1].callbacks.onDeinit(self.objects[1]) + end + table.remove(self.objects, 1) + end + events.TICK:remove(self.managerName.."_tick") + events.RENDER:remove(self.managerName.."_render") + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/vanilla_model.lua b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/vanilla_model.lua new file mode 100644 index 0000000..2220732 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Izuna/scripts/avatar_modules/vanilla_model.lua @@ -0,0 +1,23 @@ +---@class (exact) VanillaModel : AvatarModule バニラーのモデルの管理クラス + +VanillaModel = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return VanillaModel + new = function (parent) + ---@type VanillaModel + local instance = Avatar.instantiate(VanillaModel, AvatarModule, parent) + + return instance + end; + + ---初期化関数 + ---@param self AvatarModule + init = function (self) + AvatarModule.init(self) + + for _, vanillaModel in ipairs({vanilla_model.PLAYER, vanilla_model.CHESTPLATE_RIGHT_ARM, vanilla_model.CHESTPLATE_LEFT_ARM, vanilla_model.LEGGINGS_RIGHT_LEG, vanilla_model.LEGGINGS_LEFT_LEG, vanilla_model.BOOTS}) do + vanillaModel:setVisible(false) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Izuna/scripts/blue_archive_character.lua b/config/yosbr/config/figura/avatars/Izuna/scripts/blue_archive_character.lua new file mode 100644 index 0000000..c371f68 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Izuna/scripts/blue_archive_character.lua @@ -0,0 +1,1233 @@ +---@alias BlueArchiveCharacter.RightEyeTextures +---| "NORMAL" # 通常 +---| "SURPRISED" # 驚いた目(ダメージを受けたときなど) +---| "TIRED" # 疲れた目(死亡アニメーションなど) +---| "CLOSED" # 閉じた目(瞬き、睡眠中など) +---| "ANGRY" # 上釣り目 +---| "CLOSED2" # 横棒 + +---@alias BlueArchiveCharacter.LeftEyeTextures +---| "NORMAL" # 通常 +---| "SURPRISED" # 驚いた目(ダメージを受けたときなど) +---| "TIRED" # 疲れた目(死亡アニメーションなど) +---| "CLOSED" # 閉じた目(瞬き、睡眠中など) +---| "ANGRY" # 怒った目 +---| "CLOSED2" # 横棒 + +---@alias BlueArchiveCharacter.MouthTextures +---| "NORMAL" # 通常 +---| "OPENED" # 開いた口 +---| "CIRCLE" # 丸口 +---| "SMILE" # にっこり +---| "SAD" # への口 + +---@alias BlueArchiveCharacter.GunHoldType +---| "NORMAL" # バニラの弓やクロスボウの構え方と同じ +---| "CUSTOM" # BBアニメーション"[models.main][gun_hold_right]"と"[models.main][gun_hold_left]"で構え方を定義する + +---@alias BlueArchiveCharacter.GunPutType +---| "BODY" # アバターのBodyに銃を移動させる +---| "HIDDEN" # 銃を隠す + +---@alias BlueArchiveCharacter.FormationType +---| "STRIKER" # ストライカー(前衛) +---| "SPECIAL" # スペシャル(後方支援) + +---@alias BlueArchiveCharacter.Costumes +---| "DEFAULT" # デフォルト衣装 +---| "SWIMSUIT" # 水着 + +--[[ ******************************** ]] + +---@class BlueArchiveCharacter : AvatarModule キャラクター変数を保持するクラス。別のキャラクターに対してもここを変更するだけで対応できるようにする。 +---@field public basic BlueArchiveCharacter.BasicStruct 生徒の基本情報 +---@field public faceParts BlueArchiveCharacter.instance.parent.facePartsStruct 目や口による表情 +---@field public arms BlueArchiveCharacter.ArmsStruct 腕 +---@field public skirt BlueArchiveCharacter.SkirtStruct スカート +---@field public gun BlueArchiveCharacter.GunStruct 銃 +---@field public placementObjects BlueArchiveCharacter.PlacementObjectStruct[] 設置物 +---@field public exSkill BlueArchiveCharacter.ExSkillStruct[] Exスキル +---@field public costume BlueArchiveCharacter.CostumeStruct コスチューム +---@field public bubble BlueArchiveCharacter.BubbleStruct 吹き出しエモート +---@field public headBlock BlueArchiveCharacter.HeadBlockStruct 頭ブロック +---@field public portrait BlueArchiveCharacter.HeadBlockStruct ポートレート +---@field public deathAnimation BlueArchiveCharacter.DeathAnimationStruct 死亡アニメーション +---@field public actionWheel BlueArchiveCharacter.ActionWheelStruct アクションホイール +---@field public physics BlueArchiveCharacter.PhysicsStruct 物理演算 +---@field public dataSync BlueArchiveCharacter.DataSyncStruct データ同期 + +--[[ ******************************** ]] + +---@class BlueArchiveCharacter.BasicStruct 生徒の基本情報のデータ構造体 +---@field public firstName BlueArchiveCharacter.LocaleStringSet 生徒の名前 +---@field public lastName BlueArchiveCharacter.LocaleStringSet 生徒の苗字 +---@field public clubName BlueArchiveCharacter.LocaleStringSet 生徒が所属している部活名 +---@field public birth BlueArchiveCharacter.MonthDaySet 生徒の誕生日 + +---@class BlueArchiveCharacter.instance.parent.facePartsStruct 目や口による表情のデータ構造体。UVマッピング情報は、デフォルトパーツから見て左からx番目、上からy番目とする。 +---@field public rightEye {[BlueArchiveCharacter.RightEyeTextures]: Vector2} 右目のテクスチャのUVマッピング情報 +---@field public leftEye {[BlueArchiveCharacter.LeftEyeTextures]: Vector2} 左目のテクスチャのUVマッピング情報 +---@field public mouth {[BlueArchiveCharacter.MouthTextures]: Vector2} 口のテクスチャのUVマッピング情報 +---@field public emotionSet? BlueArchiveCharacter.OverrideEmotionSet 特定の状況における表情を上書きする + +---@class BlueArchiveCharacter.ArmsStruct 腕のデータ構造体 +---@field public callbacks? BlueArchiveCharacter.ArmsCallbacksSet 腕の制御のコールバック関数群 + +---@class BlueArchiveCharacter.SkirtStruct スカートのデータ構造体 +---@field public skirtModels? ModelPart[] スカートとして制御するモデル + +---@class BlueArchiveCharacter.GunStruct 銃のデータ構造体 +---@field public scale number 銃モデルの大きさの倍率 +---@field public gunPosition BlueArchiveCharacter.GunPositionSet 銃モデルの位置や向き +---@field public sound BlueArchiveCharacter.GunSoundSet 銃の射撃音 +---@field public callbacks? BlueArchiveCharacter.GunCallbacksSet 銃のコールバック関数 + +---@class BlueArchiveCharacter.PlacementObjectStruct 設置物のデータ構造体 +---@field public model ModelPart 設置物として扱うモデル +---@field public boundingBox BlueArchiveCharacter.PlacementObjectBoundingBoxSet 設置物の当たり判定 +---@field public placementMode PlacementObjectManager.PlacementMode 設置物の設置モード +---@field public gravity? number 設置物にかかる重力。1が標準的な自由落下。0で空中静止。負の数で反重力(上に向かって落ちる)。 +---@field public hasFireResistance? boolean 設置物に火炎耐性を付与するかどうか。trueにすると炎やマグマで焼かれなくなる。 +---@field public callbacks? BlueArchiveCharacter.PlacementObjectCallbacksSet 設置物のコールバック関数 + +---@class BlueArchiveCharacter.ExSkillStruct Exスキルのデータ構造体 +---@field public name BlueArchiveCharacter.LocaleStringSet Exスキルの名前 +---@field public formationType BlueArchiveCharacter.FormationType この生徒の戦闘配置タイプ +---@field public models ModelPart[] Exスキルアニメーション開始時に表示し、Exスキルアニメーション終了時に非表示にするモデルパーツ +---@field public animations string[] Exスキルアニメーションが含まれるモデルファイル名。アニメーション名は"ex_skill_"にすること。 +---@field public camera BlueArchiveCharacter.ExSkillCameraSet Exスキルアニメーション中のカメラワーク +---@field public callbacks? BlueArchiveCharacter.ExSkillCallbacks Exスキルのコールバック関数 + +---@class BlueArchiveCharacter.CostumeStruct コスチュームのデータ構造体 +---@field public costumes BlueArchiveCharacter.CostumeDataSet[] コスチュームデータ +---@field public callbacks? BlueArchiveCharacter.CostumeCallbacks コスチュームのコールバック関数 + +---@class BlueArchiveCharacter.BubbleStruct 吹き出しエモートのデータ構造体 +---@field public callbacks? BlueArchiveCharacter.BubbleCallbacks 吹き出しエモートのコールバック関数 + +---@class BlueArchiveCharacter.HeadBlockStruct 頭ブロック、ポートレートのデータ構造体 +---@field public includeModels ModelPart[] 頭モデルに追加でアタッチするモデル +---@field public callbacks? BlueArchiveCharacter.HeadBlockCallbacks 頭ブロック、ポートレートのコールバック関数 + +---@class BlueArchiveCharacter.DeathAnimationStruct 死亡アニメーションのデータ構造体 +---@field public callbacks? BlueArchiveCharacter.DeathAnimationCallbacks 死亡アニメーションのコールバック関数 + +---@class BlueArchiveCharacter.ActionWheelStruct アクションホイールのデータ構造体 +---@field public isVehicleOptionEnabled boolean 乗り物のモデル置き換えオプションを有効にするかどうか + +---@class BlueArchiveCharacter.PhysicsStruct 物理演算のデータ構造体 +---@field physicData BlueArchiveCharacter.PhysicDataSet[] 物理演算データ +---@field callbacks? BlueArchiveCharacter.PhysicCallbacks 物理演算のコールバック関数 + +---@class BlueArchiveCharacter.DataSyncStruct データ同期のデータ構造体 +---@field public syncData {[string]: any} 追加でping同期させるデータテーブル +---@field public callbacks? BlueArchiveCharacter.DataSyncCallbacks データ同期のコールバック関数 + +--[[ ******************************** ]] + +---@class (exact) BlueArchiveCharacter.OverrideEmotionSet 特定の状況における表情を上書きするセット +---@field public onDamage? BlueArchiveCharacter.EmotionSet ダメージを受けたとき +---@field public onDied? BlueArchiveCharacter.EmotionSet 死んだとき(死亡アニメーションは除外) +---@field public onSleep? BlueArchiveCharacter.EmotionSet ベッドで寝ているとき + +---@class (exact) BlueArchiveCharacter.EmotionSet 表情のデータセット +---@field public rightEye BlueArchiveCharacter.RightEyeTextures 右目の表情名 +---@field public leftEye BlueArchiveCharacter.LeftEyeTextures 左目の表情名 +---@field public mouth BlueArchiveCharacter.MouthTextures 口の表情名 + +---@class (exact) BlueArchiveCharacter.ArmsCallbacksSet 腕処理のコールバック関数のセット +---@field public onArmStateChanged? fun(self: BlueArchiveCharacter, right: integer, left: integer): {right?: integer, left?: integer}|nil 腕の状態が変更された際のコールバック関数 +---@field public onAdditionalRightArmProcess? fun(self: BlueArchiveCharacter, state: integer) 右腕の追加処理 +---@field public onAdditionalLeftArmProcess? fun(self: BlueArchiveCharacter, state: integer) 左腕の追加処理 + +---@class (exact) BlueArchiveCharacter.GunPositionSet 銃のモデルの位置や向きのデータセット +---@field public hold BlueArchiveCharacter.GunHoldPositionSet 銃を構えているとき +---@field public put BlueArchiveCharacter.GunPutPositionSet 銃をしまっているとき + +---@class (exact) BlueArchiveCharacter.GunHoldPositionSet 構えているときの銃のモデルの位置や向きのデータセット +---@field public type BlueArchiveCharacter.GunHoldType 銃の構え方の種類 +---@field public firstPersonPos? BlueArchiveCharacter.Vector3RightLeftSet 一人称視点での銃の位置 +---@field public firstPersonRot? BlueArchiveCharacter.Vector3RightLeftSet 一人称視点での銃の方向 +---@field public thirdPersonPos? BlueArchiveCharacter.Vector3RightLeftSet 三人称視点での銃の位置 +---@field public thirdPersonRot? BlueArchiveCharacter.Vector3RightLeftSet 三人称視点での銃の方向 + +---@class (exact) BlueArchiveCharacter.GunPutPositionSet しまっているときの銃のモデルの位置や向きのデータセット +---@field public type BlueArchiveCharacter.GunPutType 銃のしまい方の種類 +---@field public pos? BlueArchiveCharacter.Vector3RightLeftSet 一人称視点での銃の位置 +---@field public rot? BlueArchiveCharacter.Vector3RightLeftSet 一人称視点での銃の方向 + +---@class (exact) BlueArchiveCharacter.GunSoundSet 銃の音のデータセット +---@field public name Minecraft.soundID 銃の音として使用するゲームの音源名 +---@field public pitch number 音源の再生ピッチ(0.5~2) + +---@class (exact) BlueArchiveCharacter.GunCallbacksSet 銃のコールバック関数のセット +---@field public onMainHandChange? fun(self: BlueArchiveCharacter, direction: Gun.HandDirection) 利き手が変更されたときに呼び出される関数 + +---@class (exact) BlueArchiveCharacter.PlacementObjectBoundingBoxSet 設置物の当たり判定のデータセット +---@field public offsetPos? Vector3 設置物の底の中心点のオフセット位置(任意)。基準点は(0, 0, 0)。 +---@field public size? Vector3 当たり判定の大きさ。BlockBenchでのサイズの値をそのまま入力する。基準点はモデルの底面の中心。 + +---@class (exact) BlueArchiveCharacter.PlacementObjectCallbacksSet 設置物のコールバック関数のセット +---@field public onInit? fun(self: BlueArchiveCharacter, placementObject: PlacementObject) 設置物インスタンスが生成された直後に呼ばれる関数 +---@field public onDeinit? fun(self: BlueArchiveCharacter, placementObject: PlacementObject) 設置物インスタンスが破棄される直前に呼ばれる関数 +---@field public onTick? fun(self: BlueArchiveCharacter, placementObject: PlacementObject) 各ティック毎に呼ばれる関数 +---@field public onRender? fun(self: BlueArchiveCharacter, placementObject: PlacementObject) 各レンダーティック毎に呼ばれる関数 +---@field public onGround? fun(self: BlueArchiveCharacter, placementObject: PlacementObject) 設置物が接地した瞬間に呼ばれる関数 + +---@class (exact) BlueArchiveCharacter.ExSkillCameraSet Exスキルアニメーション中のカメラワークのセット +---@field public start BlueArchiveCharacter.ExSkillCameraPositionSet Exスキルアニメーション開始地点 +---@field public fin BlueArchiveCharacter.ExSkillCameraPositionSet Exスキルアニメーション終了地点 +---@field public fixMode? boolean カメラの補正モード。通常は無効だが、特定のキャラクターに対しては有効にしておく。 + +---@class (exact) BlueArchiveCharacter.ExSkillCameraPositionSet Exスキルアニメーション中のカメラワークの開始/終了地点の位置のデータセット +---@field public pos Vector3 カメラの位置 +---@field public rot Vector3 カメラの方向 + +---@class (exact) BlueArchiveCharacter.ExSkillCallbacks Exスキルのコールバック関数のセット +---@field public onPreTransition? fun(self: BlueArchiveCharacter) Exスキルアニメーション開始前のトランジション開始前に実行されるコールバック関数 +---@field public onPreAnimation? fun(self: BlueArchiveCharacter) Exスキルアニメーション開始前のトランジション終了後に実行されるコールバック関数 +---@field public onAnimationTick? fun(self: BlueArchiveCharacter, tick: integer) Exスキルアニメーション再生中のみ実行されるティック関数 +---@field public onPostAnimation? fun(self: BlueArchiveCharacter, forcedStop: boolean) Exスキルアニメーション終了後のトランジション開始前に実行されるコールバック関数 +---@field public onPostTransition? fun(self: BlueArchiveCharacter, forcedStop: boolean) Exスキルアニメーション終了後のトランジション終了後に実行されるコールバック関数 + +---@class BlueArchiveCharacter.CostumeDataSet コスチュームのデータセット +---@field public name string コスチュームの内部名 +---@field public displayName BlueArchiveCharacter.LocaleStringSet コスチュームの表示名 +---@field public exSkill integer コスチュームに対応するExスキルのインデックス番号 +---@field public subExSkill? integer コスチュームに対応するサブExスキルのインデックス番号 + +---@class (exact) BlueArchiveCharacter.CostumeCallbacks コスチュームのコールバック関数のセット +---@field public onChange? fun(self: BlueArchiveCharacter, costumeId: BlueArchiveCharacter.Costumes) 衣装が変更されたときに実行されるコールバック関数。デフォルトの衣装はここに含めない。 +---@field public onReset? fun(self: BlueArchiveCharacter) 衣装がリセットされたときに実行されるコールバック関数。あらゆる衣装からデフォルトの衣装へ推移できるようにする。 +---@field public onArmorChange? fun(self: BlueArchiveCharacter, parts: Armor.ArmorPart, isVisible: boolean) 防具が変更された(防具が見える/見えない)ときに実行されるコールバック関数 + +---@class (exact) BlueArchiveCharacter.BubbleCallbacks 吹き出しエモートのコールバック関数のセット +---@field public onPlay? fun(self: BlueArchiveCharacter, type: Bubble.BubbleType, duration: integer, showInGui: boolean) 吹き出しエモートが再生された時に実行されるコールバック関数 +---@field public onStop? fun(self: BlueArchiveCharacter, type: Bubble.BubbleType, forcedStop: boolean) 吹き出しアニメーション終了時に実行されるコールバック関数 + +---@class (exact) BlueArchiveCharacter.HeadBlockCallbacks 頭ブロックのコールバック関数のセット +---@field public onBeforeModelCopy? fun(self: BlueArchiveCharacter, isScriptLoaded: boolean) モデルのコピー直前に実行される関数 +---@field public onAfterModelCopy? fun(self: BlueArchiveCharacter, isScriptLoaded: boolean) モデルのコピー直後に実行される関数 + +---@class (exact) BlueArchiveCharacter.DeathAnimationCallbacks 死亡アニメーションのコールバック関数のセット +---@field public onPhase1? fun(self: BlueArchiveCharacter, dummyAvatar: ModelPart, costume: BlueArchiveCharacter.Costumes) 死亡アニメーションが再生された直後に実行される関数 +---@field public onPhase2? fun(self: BlueArchiveCharacter, dummyAvatar: ModelPart, costume: BlueArchiveCharacter.Costumes) ダミーアバターが縄ばしごにつかまった直後に実行される関数 +---@field public onBeforeModelCopy? fun(self: BlueArchiveCharacter, isScriptLoaded: boolean) モデルのコピー直前に実行される関数 +---@field public onAfterModelCopy? fun(self: BlueArchiveCharacter, isScriptLoaded: boolean) モデルのコピー直後に実行される関数 + +---@class (exact) BlueArchiveCharacter.PhysicDataSet 物理演算のデータセット +---@field public models ModelPart[] 物理演算の対象にするモデルパーツ +---@field public x? BlueArchiveCharacter.PhysicAxisData x軸のデータ +---@field public y? BlueArchiveCharacter.PhysicAxisData y軸のデータ +---@field public z? BlueArchiveCharacter.PhysicAxisData z軸のデータ + +---@class (exact) BlueArchiveCharacter.PhysicAxisData 物理演算の1軸のデータセット +---@field public vertical? BlueArchiveCharacter.PhysicCoreData 体が垂直方向である時(通常時)の物理演算データ +---@field public horizontal? BlueArchiveCharacter.PhysicCoreData 体が水平方向である時(水泳時、エリトラ飛行時)の物理演算データ + +---@class (exact) BlueArchiveCharacter.PhysicCoreData 物理演算のコアデータ +---@field public min number このモデルパーツ、回転軸の絶対的な回転の最小値(度) +---@field public neutral number このモデルパーツ、回転軸の中立の回転位置(度) +---@field public max number このモデルパーツ、回転軸の絶対的な回転の最大値(度) +---@field public sneakOffset? number スニーク時にこのモデルパーツの回転に加えられるオフセット値 +---@field public headRotMultiplayer? number 頭の縦方向の回転と共にこのモデルパーツの回転に加えられる値の倍率 +---@field public headX? BlueArchiveCharacter.PhysicFactorData 頭を基準とした、前後方向移動によるモデルパーツの回転データ +---@field public headZ? BlueArchiveCharacter.PhysicFactorData 頭を基準とした、左右方向移動によるモデルパーツの回転データ +---@field public headRot? BlueArchiveCharacter.PhysicFactorData 頭の回転によるによるモデルパーツの回転データ +---@field public bodyX? BlueArchiveCharacter.PhysicFactorData 体を基準とした、前後方向移動によるモデルパーツの回転データ +---@field public bodyY? BlueArchiveCharacter.PhysicFactorData 体を基準とした、上下方向移動によるモデルパーツの回転データ +---@field public bodyZ? BlueArchiveCharacter.PhysicFactorData 体を基準とした、左右方向移動によるモデルパーツの回転データ +---@field public bodyRot? BlueArchiveCharacter.PhysicFactorData 体の回転によるによるモデルパーツの回転データ + +---@class (exact) BlueArchiveCharacter.PhysicFactorData 物理演算を働かせる要因を定義するデータセット +---@field public multiplayer number この回転事象がモデルパーツに与える回転の倍率 +---@field public min number この回転事象がモデルパーツに与える回転の最小値 +---@field public max number この回転事象がモデルパーツに与える回転の最大値 + +---@class (exact) BlueArchiveCharacter.PhysicCallbacks 物理演算のコールバック関数のセット +---@field public onPhysicPerformed? fun(self: BlueArchiveCharacter, model: ModelPart) 物理演算処理後に実行されるコールバック関数(省略可)。ここでモデルパーツの向きを上書きできる。 + +---@class (exact) BlueArchiveCharacter.DataSyncCallbacks データ同期のコールバック関数のセット +---@field public onDataSynced? fun(self: BlueArchiveCharacter) データが同期されたときに実行させるコールバック関数。ホスト上では実行されない。 + +--[[ ******************************** ]] + +---@class (exact) BlueArchiveCharacter.LocaleStringSet ロケール文字列のセット +---@field public en_us string 英語(米国) +---@field public ja_jp string 日本語 + +---@class (exact) BlueArchiveCharacter.MonthDaySet 日月のデータセット +---@field public month integer 月 +---@field public day integer 日 + +---@class (exact) BlueArchiveCharacter.Vector3RightLeftSet 左右で別々にVector3が定義できるデータセット +---@field public right? Vector3 右 +---@field public left? Vector3 左 + +BlueArchiveCharacter = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return BlueArchiveCharacter + new = function (parent) + ---@type BlueArchiveCharacter + local instance = Avatar.instantiate(BlueArchiveCharacter, AvatarModule, parent) + + instance.basic = { + firstName = { + en_us = "Izuna"; + ja_jp = "イズナ"; + }; + + lastName = { + en_us = "Kuda"; + ja_jp = "久田"; + }; + + clubName = { + en_us = "Ninjutsu Research Club"; + ja_jp = "忍術研究部"; + }; + + birth = { + month = 12; + day = 16; + }; + } + + instance.faceParts = { + rightEye = { + NORMAL = vectors.vec2(0, 0); --必須 + SURPRISED = vectors.vec2(2, 0); --必須 + TIRED = vectors.vec2(3, 0); --必須 + CLOSED = vectors.vec2(4, 0); --必須 + ANGRY = vectors.vec2(5, 0); + CLOSED2 = vectors.vec2(7, 0); + }; + + leftEye = { + NORMAL = vectors.vec2(0, 0); --必須 + SURPRISED = vectors.vec2(1, 0); --必須 + TIRED = vectors.vec2(2, 0); --必須 + CLOSED = vectors.vec2(3, 0); --必須 + ANGRY = vectors.vec2(5, 0); + CLOSED2 = vectors.vec2(6, 0); + }; + + mouth = { + OPENED = vectors.vec2(1, 0); + CIRCLE = vectors.vec2(2, 0); + SMILE = vectors.vec2(3, 0); + SAD = vectors.vec2(2, 1); + }; + } + + instance.arms = { + + } + + instance.skirt = { + skirtModels = {models.models.main.Avatar.UpperBody.Body.Skirt}; + } + + instance.gun = { + scale = 1.2; + + gunPosition = { + hold = { + type = "NORMAL"; + + firstPersonPos = { + right = vectors.vec3(0, 2, -6); + left = vectors.vec3(2.25, 2, -6); + }; + + thirdPersonPos = { + right = vectors.vec3(-1, 0, -7); + left = vectors.vec3(3, 0, -7); + } + }; + + put = { + type = "BODY"; + + pos = { + right = vectors.vec3(0, 1, 3); + left = vectors.vec3(2, 1, 3); + }; + + rot = { + right = vectors.vec3(-20, 90, 0); + left = vectors.vec3(-20, -90, 0); + }; + }; + }; + + sound = { + name = "minecraft:entity.firework_rocket.blast"; + pitch = 0.75; + }; + } + + instance.placementObjects = { + { + model = models.models.ex_skill_1.PlacementObject; + + boundingBox = { + size = vectors.vec3(12, 19, 12) + }; + + placementMode = "MOVE"; + + callbacks = { + onInit = function () + animations["models.ex_skill_1"]["swing"]:play() + end; + }; + }; + } + + instance.exSkill = { + { + name = { + en_us = "This is The Izuna-Style Ninjutsu!"; + ja_jp = "これぞイズナ流忍法!"; + }; + + formationType = "STRIKER"; + + models = {}; + + animations = {"main"}; + + camera = { + start = { + rot = vectors.vec3(10, -160, 10); + pos = vectors.vec3(-36.3, 26, -27); + }; + + fin = { + rot = vectors.vec3(-50, -160, 0); + pos = vectors.vec3(-3, 16, -104); + }; + + fixMode = true; + }; + + callbacks = { + onPreTransition = function (self) + self.parent.placementObjectManager:removeAll() + end; + + onAnimationTick = function (self, tick) + if tick == 0 then + self.parent.faceParts:setEmotion("CLOSED2", "CLOSED2", "NORMAL", 19, true) + elseif tick == 19 then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "NORMAL", 3, true) + elseif tick == 22 then + self.parent.faceParts:setEmotion("ANGRY", "ANGRY", "CIRCLE", 5, true) + elseif tick == 27 then + self.parent.faceParts:setEmotion("ANGRY", "ANGRY", "SMILE", 24, true) + elseif tick == 29 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.attack.weak"), player:getPos(), 0.5, 1.5) + elseif tick == 31 then + self.parent.textObjectManager:spawn(vectors.vec2(2, 5.5), "神") + elseif tick == 34 then + self.parent.textObjectManager:spawn(vectors.vec2(2, 0.5), "出") + elseif tick == 35 or tick == 40 or tick == 43 or tick == 48 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.attack.weak"), player:getPos(), 0.25, 1.5) + elseif tick == 38 then + self.parent.textObjectManager:spawn(vectors.vec2(-5.5, 5.5), "鬼") + elseif tick == 41 then + self.parent.textObjectManager:spawn(vectors.vec2(-5.5, 0.5), "没") + elseif tick == 49 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.attack.sweep"), player:getPos(), 0.5, 1.5) + elseif tick == 50 and host:isHost() then + models.models.main.CameraBackground:setVisible(true) + local backgroundPos = vectors.rotateAroundAxis(player:getBodyYaw() + 180, renderer:getCameraOffsetPivot():copy():add(0, 1.62, 0):add(client:getCameraDir():copy():scale(1.75)), 0, 1, 0):scale(16 / 0.9375) + models.models.main.CameraBackground:setOffsetPivot(backgroundPos) + models.models.main.CameraBackground.Background:setPos(backgroundPos) + local windowSize = client:getWindowSize() + models.models.main.CameraBackground.Background:setScale(vectors.vec3(windowSize.x / windowSize.y, 1, 1):scale(40)) + models.models.main.Avatar:setColor(0, 0, 0) + self.parent.textObjectManager:setBlack(true) + + self.parent.compatibilityUtils.setPostEffect("invert") + elseif tick == 51 then + self.parent.faceParts:setEmotion("ANGRY", "ANGRY", "CIRCLE", 10, true) + elseif tick == 53 and host:isHost() then + models.models.main.CameraBackground:setVisible(false) + models.models.main.Avatar:setColor(1, 1, 1) + self.parent.textObjectManager:setBlack(false) + self.parent.compatibilityUtils.setPostEffect() + elseif tick == 58 then + local playerPos = player:getPos() + for _ = 1, 70 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:poof"), playerPos:copy():add(math.random() * 2 - 1, math.random() * 3 - 0.5, math.random() * 2 - 1)) + end + elseif tick == 61 then + self.parent.textObjectManager:removeAll() + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "OPENED", 12, true) + elseif tick == 73 then + self.parent.faceParts:setEmotion("NORMAL", "CLOSED", "OPENED", 27, true) + local avatarPos = self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar) + for _ = 1, 100 do + local offset = vectors.vec3(math.random() * 2 - 1, math.random() * 2 - 1, math.random() * 2 - 1) + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:cherry_leaves"), avatarPos:copy():add(offset)):setVelocity(offset:scale(0.1)) + end + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.armor.equip_leather"), avatarPos) + elseif tick == 98 then + if math.random() >= 0.95 then + self.placementObjects[1].model:setPrimaryTexture("RESOURCE", "textures/entity/fox/snow_fox.png") + else + self.placementObjects[1].model:setPrimaryTexture("PRIMARY") + end + self.parent.placementObjectManager:spawn(1, self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar), player:getBodyYaw() * -1 + 180) + end + if tick <= 10 then + local anchorPos = self.parent.modelUtils.getModelWorldPos(models.models.main.ExSkill1Anchor1) + local velocityRot = vectors.rotateAroundAxis(-player:getBodyYaw(), -0.1, 0, 0, 0, 1, 0) + for _ = 1, 2 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:cherry_leaves"), anchorPos:copy():add(math.random() * 3 - 1.5, math.random() * 3, math.random() * 3 - 1.5)):setVelocity(velocityRot) + end + end + end; + + onPostAnimation = function (self, forcedStop) + if forcedStop then + self.parent.textObjectManager:removeAll() + if host:isHost() then + models.models.main.CameraBackground:setVisible(false) + models.models.main.Avatar:setColor(1, 1, 1) + self.parent.compatibilityUtils.setPostEffect() + end + end + end; + }; + }; + + { + name = { + en_us = "Izuna-Style Ninjutsu・Summer Version!"; + ja_jp = "イズナ流忍法・夏バージョン"; + }; + + formationType = "STRIKER"; + + models = {models.models.costume_swimsuit.BeachBall}; + + animations = {"main", "costume_swimsuit"}; + + camera = { + start = { + rot = vectors.vec3(0, -160, -10); + pos = vectors.vec3(-6, 30, -60); + }; + + fin = { + rot = vectors.vec3(-10, -150, -10); + pos = vectors.vec3(-4, 154, -350); + }; + + fixMode = true; + }; + + callbacks = { + onAnimationTick = function (self, tick) + if tick < 25 then + if tick == 0 then + self.parent.faceParts:setEmotion("ANGRY", "ANGRY", "NORMAL", 19, true) + elseif tick == 19 then + self.parent.faceParts:setEmotion("ANGRY", "ANGRY", "CIRCLE", 2, true) + elseif tick == 21 then + self.parent.faceParts:setEmotion("CLOSED", "CLOSED", "CIRCLE", 22, true) + end + local anchor1Pos = self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.ExSkill2Anchor1) + local particleBlock = world.getBlockState(anchor1Pos:copy() - 1).id + if particleBlock ~= "minecraft:air" and particleBlock ~= "minecraft:void_air" then + for _ = 1, 50 do + particles:newParticle(self.parent.compatibilityUtils.getBlockParticleId(particleBlock), anchor1Pos:copy():add(math.random() - 0.5, 0, math.random() - 0.5)):setVelocity(math.random() * 0.5 - 0.25, math.random() * 0.5, math.random() * 0.5 - 0.25) + end + end + elseif tick == 25 then + models.models.main.Avatar:setVisible(false) + local anchor1Pos = self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.ExSkill2Anchor1) + for _ = 1, 30 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:poof"), anchor1Pos:copy():add(math.random() - 0.5, math.random() * 2, math.random() - 0.5)) + end + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.bat.takeoff"), self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar), 1, 2) + elseif tick == 28 then + self.parent.compatibilityUtils.setPostEffect("phosphor") + elseif tick == 38 then + self.parent.compatibilityUtils.setPostEffect() + elseif tick == 43 then + models.models.main.Avatar:setVisible(true) + self.parent.faceParts:setEmotion("ANGRY", "ANGRY", "SMILE", 42, true) + elseif tick == 44 then + local avatarPos = self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar):add(0, -1.5, 0) + for _ = 1, 30 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:poof"), avatarPos:copy():add(math.random() - 0.5, math.random() * 2, math.random() - 0.5)) + end + elseif tick >= 45 and tick <= 60 then + local avatarPos = self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.UpperBody.Body) + if tick == 45 then + local bodyYaw = player:getBodyYaw() + local particleDirection = vectors.rotateAroundAxis(-bodyYaw, vectors.rotateAroundAxis(40, 0, 0, 1, 1, 0, 0), 0, 1, 0) + for i = 1, 30 do + for j = 0.7, 1.5, 0.1 do + particles:newParticle(self.parent.compatibilityUtils.getDustParticleId(vectors.vec3(100, 1000000000, 1000000000), 1), vectors.rotateAroundAxis(-bodyYaw, vectors.rotateAroundAxis(40, math.cos(math.rad(i * 12)) * j, math.sin(math.rad(i * 12)) * j, 0, 1, 0, 0), 0, 1, 0):add(avatarPos)):setVelocity(particleDirection:copy():scale(math.random() * 0.1 + 0.2)):setLifetime(math.random() * 10 + 10) + end + local particlePos = vectors.rotateAroundAxis(-bodyYaw, vectors.rotateAroundAxis(40, math.cos(math.rad(i * 12)) * 1.5, math.sin(math.rad(i * 12)) * 1.5, 0, 1, 0, 0), 0, 1, 0):add(avatarPos) + particles:newParticle(self.parent.compatibilityUtils.getDustParticleId(vectors.vec3(100, 1000000000, 1000000000), 1), particlePos):setVelocity(particleDirection:copy():scale(math.random() * 0.1 + 0.2)):setLifetime(math.random() * 10 + 10) + end + end + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.bucket.empty"), avatarPos, 1 - math.map(tick, 45, 60, 0, 0.5), 0.75) + elseif tick == 79 and host:isHost() then + models.models.main.CameraBackground:setVisible(true) + local windowSize = client:getWindowSize() + models.models.main.CameraBackground.Background:setScale(vectors.vec3(windowSize.x / windowSize.y, 1, 1):scale(45)) + events.RENDER:register(function (delta, context) + models.models.main.CameraBackground:setVisible(context == "RENDER") + local backgroundPos = vectors.rotateAroundAxis(player:getBodyYaw(delta) + 180, renderer:getCameraOffsetPivot():copy():add(0, 1.62, 0):add(client:getCameraDir():copy():scale(2)), 0, 1, 0):scale(16 / 0.9375) + models.models.main.CameraBackground:setOffsetPivot(backgroundPos) + models.models.main.CameraBackground.Background:setPos(backgroundPos) + end, "ex_skill_2_background_render") + models.models.main.Avatar:setColor(0, 0, 0) + for _, modelPart in ipairs({models.models.main.Avatar, models.models.costume_swimsuit.BeachBall}) do + modelPart:setColor(0, 0, 0) + end + elseif tick == 80 then + self.parent.compatibilityUtils.setPostEffect("invert") + elseif tick == 84 then + self.parent.compatibilityUtils.setPostEffect() + elseif tick == 85 then + self.parent.faceParts:setEmotion("ANGRY", "ANGRY", "OPENED", 16, true) + models.models.costume_swimsuit.BeachBall:setUVPixels(0, 7) + models.models.costume_swimsuit.BeachBall:setPrimaryRenderType("EMISSIVE_SOLID") + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.blaze.death"), self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar), 1, 2) + elseif tick == 86 then + local bodyYaw = player:getBodyYaw() + local anchor2Pos = self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ExSkill2Anchor2):add(vectors.rotateAroundAxis(-bodyYaw, -0.1, 0, 0, 0, 1, 0)):add(0, 0.4, 0) + local particleAxis = vectors.rotateAroundAxis(-bodyYaw, vectors.rotateAroundAxis(30, 0, 0, 1, 1, 0, 0), 0, 1, 0) + local particleVelocityDirection = vectors.rotateAroundAxis(-bodyYaw, vectors.rotateAroundAxis(-50, 0, 0, 1, 1, 0, 0), 0, 1, 0) + for i = 1, 60 do + local currentParticleVelocityDirection = vectors.rotateAroundAxis(i * 6, particleVelocityDirection, particleAxis) + for _, particleData in ipairs({{0.5, 0.4, 0.1}, {0.25, 0.6, 0.025}, {0.375, 2, 0.05}}) do --[1]. 輪っかの半径, [2]. 輪っかの位置のスケール, [3]. 輪っかの拡散速度のスケール + particles:newParticle(self.parent.compatibilityUtils.getDustParticleId(vectors.vec3(1000000000, 0, 0), 1), vectors.rotateAroundAxis(i * 6, 0, particleData[1], 0, particleAxis):add(anchor2Pos):add(0, -0.3, 0):add(particleAxis:copy():scale(particleData[2]))):setVelocity(currentParticleVelocityDirection:copy():scale(particleData[3])):setLifetime(20) + particles:newParticle(self.parent.compatibilityUtils.getDustParticleId(vectors.vec3(0, 0, 0), 1), vectors.rotateAroundAxis(i * 6, 0, particleData[1] * 1.5, 0, particleAxis):add(anchor2Pos):add(0, -0.3, 0):add(particleAxis:copy():scale(particleData[2]))):setVelocity(currentParticleVelocityDirection:copy():scale(particleData[3])):setLifetime(20) + end + end + if host:isHost() then + models.models.main.CameraBackground:setVisible(false) + events.RENDER:remove("ex_skill_2_background_render") + for _, modelPart in ipairs({models.models.main.Avatar, models.models.costume_swimsuit.BeachBall}) do + modelPart:setColor() + end + end + elseif tick >= 101 then + local bodyYaw = player:getBodyYaw() + local anchor2Pos = self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ExSkill2Anchor2):add(vectors.rotateAroundAxis(-bodyYaw, -0.1, 0, 0, 0, 1, 0)):add(0, -0.3, 0) + local particleAxis = vectors.rotateAroundAxis(-bodyYaw, vectors.rotateAroundAxis(30, 0, 0, 1, 1, 0, 0), 0, 1, 0) + local particleVelocityDirection = vectors.rotateAroundAxis(-bodyYaw, vectors.rotateAroundAxis(-50, 0, 0, 1, 1, 0, 0), 0, 1, 0) + if tick == 101 then + self.parent.faceParts:setEmotion("CLOSED", "CLOSED", "OPENED", 42, true) + models.models.costume_swimsuit.BeachBall:setUVPixels(0, 14) + for i = 1, 60 do + local currentParticleVelocityDirection = vectors.rotateAroundAxis(i * 6, particleVelocityDirection, particleAxis) + for _, particleData in ipairs({{0.3, 3.5, 0.01, 0.5}, {0.5, 3.5, 0.01, 0.5}, {0.25, 7.9, 0.003, 0.2}, {0.28, 7.89, 0.003, 0.2}, {0.45, 7.85, 0.003, 0.5}}) do --[1]. 輪っかの半径, [2]. 輪っかの位置のスケール, [3]. 輪っかの拡散速度のスケール, [4]. 輪っかのパーティクルの大きさ + particles:newParticle(self.parent.compatibilityUtils.getDustParticleId(vectors.vec3(1000000000, 1, 1), particleData[4]), vectors.rotateAroundAxis(i * 6, 0, particleData[1], 0, particleAxis):add(anchor2Pos):add(particleAxis:copy():scale(particleData[2]))):setVelocity(currentParticleVelocityDirection:copy():scale(particleData[3])):setLifetime(45) + end + end + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.lightning_bolt.thunder"), self.parent.modelUtils.getModelWorldPos(models.models.costume_swimsuit.BeachBall), 1, 2) + end + for _ = 1, 10 do + particles:newParticle(self.parent.compatibilityUtils.getDustParticleId(vectors.vec3(1000000000, 1, 1), 1), anchor2Pos:copy():add(particleAxis:copy():scale(7.5)):add(vectors.rotateAroundAxis(-bodyYaw, -0.3, 0, 0, 0, 1, 0)):add(math.random() * 0.2 - 0.1, math.random() * 0.2 - 0.1 - 0.4, math.random() * 0.2 - 0.1)):setVelocity(particleAxis:copy():scale(-1)) + end + end + if tick <= 28 and tick % 4 == 0 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.sand.step"), self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar)) + end + end; + + onPostAnimation = function (self, forcedStop) + models.models.main.Avatar:setVisible(true) + models.models.costume_swimsuit.BeachBall:setUVPixels() + models.models.costume_swimsuit.BeachBall:setPrimaryRenderType("CUTOUT") + if host:isHost() then + models.models.main.CameraBackground.Background:setColor() + models.models.main.CameraBackground.Background:setOpacity(1) + if forcedStop then + events.RENDER:remove("ex_skill_2_background_render") + models.models.main.CameraBackground:setVisible(false) + for _, modelPart in ipairs({models.models.main.Avatar, models.models.costume_swimsuit.BeachBall}) do + modelPart:setColor() + end + self.parent.compatibilityUtils.setPostEffect() + end + end + end; + }; + }; + } + + instance.costume = { + costumes = { + { + name = "default"; + + displayName = { + en_us = "Default"; + ja_jp = "デフォルト"; + }; + + exSkill = 1; + }; + + { + name = "swimsuit"; + + displayName = { + en_us = "Swimsuit"; + ja_jp = "水着"; + }; + + exSkill = 2; + }; + }; + + callbacks = { + onChange = function (self) + self.parent.costume.setCostumeTextureOffset(1) + for _, modelPart in ipairs({models.models.main.Avatar.Head.HairAccessories.FoxAccessory, models.models.main.Avatar.UpperBody.Body.Skirt, models.models.main.Avatar.UpperBody.Body.Scarfs, models.models.main.Avatar.UpperBody.Body.BackRibbon, models.models.main.Avatar.UpperBody.Arms.RightArm.RightSleeveTop, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.RightSleeveBottom, models.models.main.Avatar.LowerBody.Legs.RightLeg.Kunais}) do + modelPart:setVisible(false) + end + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Body.CSwimsuitB, models.models.main.Avatar.Head.CSwimsuitH, models.models.main.Avatar.LowerBody.Legs.LeftLeg.CSwimsuitLL}) do + modelPart:setVisible(true) + end + models.models.main.Avatar.Head.CSwimsuitH.SunflowerAccessory.Sunflower:setPrimaryTexture("RESOURCE", "textures/block/sunflower_front.png") + + events.RENDER:register(function () + if models.models.main.Avatar.LowerBody.Legs.LeftLeg.CSwimsuitLL:getVisible() then + models.models.main.Avatar.LowerBody.Legs.LeftLeg.CSwimsuitLL:setRot((vanilla_model.LEFT_LEG:getOriginRot().x + models.models.main.Avatar.LowerBody.Legs.LeftLeg:getTrueRot().x) * -1, 0, 0) + end + end, "costume_swimsuit_render") + end; + + onReset = function (self) + events.RENDER:remove("costume_swimsuit_render") + self.parent.costume.setCostumeTextureOffset(0) + for _, modelPart in ipairs({models.models.main.Avatar.Head.HairAccessories.FoxAccessory, models.models.main.Avatar.UpperBody.Body.Scarfs, models.models.main.Avatar.UpperBody.Arms.RightArm.RightSleeveTop, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.RightSleeveBottom, models.models.main.Avatar.LowerBody.Legs.RightLeg.Kunais, models.models.main.Avatar.UpperBody.Body.Skirt, models.models.main.Avatar.UpperBody.Body.BackRibbon}) do + modelPart:setVisible(true) + end + for _, modelPart in ipairs({models.models.main.Avatar.Head.CSwimsuitH, models.models.main.Avatar.UpperBody.Body.CSwimsuitB, models.models.main.Avatar.LowerBody.Legs.LeftLeg.CSwimsuitLL}) do + modelPart:setVisible(false) + end + end; + + onArmorChange = function (self, parts, isVisible) + if parts == "HELMET" then + if isVisible then + models.models.main.Avatar.Head.CSwimsuitH:setVisible(false) + else + models.models.main.Avatar.Head.CSwimsuitH:setVisible(self.parent.costume.currentCostume == 2) + end + elseif parts == "CHEST_PLATE" then + if isVisible then + models.models.main.Avatar.UpperBody.Body.Scarfs:setPos(0, 0, 1) + models.models.main.Avatar.UpperBody.Body.CSwimsuitB:setPos(0, 0, -1) + models.models.main.Avatar.UpperBody.Body.BackRibbon:setVisible(false) + else + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Body.Scarfs, models.models.main.Avatar.UpperBody.Body.CSwimsuitB}) do + modelPart:setPos() + end + models.models.main.Avatar.UpperBody.Body.BackRibbon:setVisible(self.parent.costume.currentCostume == 1 and not isVisible) + end + elseif parts == "LEGGINGS" then + if isVisible then + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Body.Skirt, models.models.main.Avatar.LowerBody.Legs.LeftLeg.CSwimsuitLL}) do + modelPart:setVisible(false) + end + models.models.main.Avatar.UpperBody.Body.BackRibbon:setVisible(false) + else + models.models.main.Avatar.UpperBody.Body.Skirt:setVisible(self.parent.costume.currentCostume == 1) + models.models.main.Avatar.LowerBody.Legs.LeftLeg.CSwimsuitLL:setVisible(self.parent.costume.currentCostume == 2) + models.models.main.Avatar.UpperBody.Body.BackRibbon:setVisible(self.parent.costume.currentCostume == 1 and not isVisible) + end + end + end; + }; + } + + instance.bubble = { + callbacks = { + onPlay = function(self, type, duration) + if duration > 0 then + if type == "GOOD" then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "OPENED", duration, true) + elseif type == "HEART" then + self.parent.faceParts:setEmotion("CLOSED", "CLOSED", "OPENED", duration, true) + elseif type == "NOTE" then + self.parent.faceParts:setEmotion("ANGRY", "ANGRY", "OPENED", duration, true) + elseif type == "QUESTION" then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "SAD", duration, true) + elseif type == "SWEAT" then + self.parent.faceParts:setEmotion("CLOSED2", "CLOSED2", "SAD", duration, true) + end + end + end; + + onStop = function(self, _, forcedStop) + if not forcedStop then + self.parent.faceParts:resetEmotion() + end + end; + }; + } + + instance.headBlock = { + includeModels = {}; + } + + instance.portrait = { + includeModels = {}; + } + + instance.deathAnimation = { + callbacks = { + onPhase1 = function (_, dummyAvatar, costume) + dummyAvatar.Head.Ears.RightEarPivot:setRot(-49.02, -11.44, -9.77) + dummyAvatar.Head.Ears.LeftEarPivot:setRot(-49.02, 11.44, 9.77) + dummyAvatar.Head.HairAccessories.HairAccessoryRight.HairTail:setRot(30, 0, 0) + dummyAvatar.Head.HairAccessories.HairAccessoryRight.Braid:setRot(30, 0, 0) + dummyAvatar.UpperBody.Body.Tail:setRot(25, 0, 0) + if costume == 1 then + dummyAvatar.UpperBody.Body.Skirt:setRot(30, 0, 0) + dummyAvatar.UpperBody.Body.Scarfs.Scarf1:setRot(40, 0, 0) + dummyAvatar.UpperBody.Body.Scarfs.Scarf2:setRot(40, 0, 0) + end + end; + + onPhase2 = function (_, dummyAvatar, costume) + dummyAvatar.Head.HairAccessories.HairAccessoryRight.HairTail:setRot(-15, 0, 0) + dummyAvatar.Head.HairAccessories.HairAccessoryRight.Braid:setRot(-15, 0, 0) + dummyAvatar.UpperBody.Body.Tail:setRot(30, 0, 0) + if costume == 1 then + dummyAvatar.UpperBody.Body.Scarfs.Scarf1:setRot(75, 20, 0) + dummyAvatar.UpperBody.Body.Scarfs.Scarf1.Scarf1YPivot:setRot(0, 0, -20) + dummyAvatar.UpperBody.Body.Scarfs.Scarf2:setRot(75, 20, 0) + end + end; + }; + } + + instance.actionWheel = { + isVehicleOptionEnabled = false; + } + + instance.physics = { + physicData = { + { + models = {models.models.main.Avatar.UpperBody.Body.Tail}; + + x = { + vertical = { + min = -60; + neutral = 45; + max = 60; + sneakOffset = 30; + + bodyX = { + multiplayer = -160; + min = 0; + max = 60; + }; + + bodyY = { + multiplayer = 80; + min = -60; + max = 60; + }; + + bodyRot = { + multiplayer = 0.05; + min = 0; + max = 60; + }; + }; + + horizontal = { + min = -60; + neutral = 0; + max = 60; + sneakOffset = 30; + + bodyX = { + multiplayer = 160; + min = -60; + max = 60; + }; + }; + }; + + y = { + vertical = { + min = -30; + neutral = 0; + max = 30; + + bodyZ = { + multiplayer = -160; + min = -30; + max = 30; + }; + }; + + horizontal = { + min = -30; + neutral = 0; + max = 30; + + bodyRot = { + multiplayer = 0.05; + min = -30; + max = 30; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.UpperBody.Body.Scarfs.Scarf1, models.models.main.Avatar.UpperBody.Body.Scarfs.Scarf2}; + + x = { + vertical = { + min = -30; + neutral = 75; + max = 75; + + bodyX = { + multiplayer = -80; + min = 0; + max = 75; + }; + + bodyY = { + multiplayer = 80; + min = -30; + max = 75; + }; + + bodyRot = { + multiplayer = 0.05; + min = -30; + max = 75; + }; + }; + + horizontal = { + min = -30; + neutral = 75; + max = 75; + }; + }; + }; + + { + models = {models.models.main.Avatar.UpperBody.Body.Scarfs.Scarf1.Scarf1YPivot}; + + y = { + vertical = { + min = -70; + neutral = 15; + max = 80; + + bodyX = { + multiplayer = -20; + min = 0; + max = 15; + }; + + bodyZ = { + multiplayer = -80; + min = -70; + max = 80; + }; + + bodyRot = { + multiplayer = 0.01; + min = 0; + max = 15; + }; + }; + + horizontal = { + min = -70; + neutral = 15; + max = 80; + + bodyX = { + multiplayer = -20; + min = 0; + max = 15; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.UpperBody.Body.Scarfs.Scarf2.Scarf2YPivot}; + + y = { + vertical = { + min = -80; + neutral = -15; + max = 70; + + bodyX = { + multiplayer = 20; + min = -15; + max = 0; + }; + + bodyZ = { + multiplayer = -80; + min = -80; + max = 70; + }; + + bodyRot = { + multiplayer = -0.01; + min = -15; + max = 0; + }; + }; + + horizontal = { + min = -80; + neutral = -15; + max = 70; + + bodyX = { + multiplayer = 20; + min = 0; + max = -15; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.Head.HairAccessories.HairAccessoryRight.HairTail}; + + x = { + vertical = { + min = -90; + neutral = 0; + max = 90; + headRotMultiplayer = -1; + + headX = { + multiplayer = -80; + min = -90; + max = 90; + }; + }; + + horizontal = { + min = -45; + neutral = 45; + max = 45; + + headX = { + multiplayer = -80; + min = -45; + max = 45; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.Head.HairAccessories.HairAccessoryRight.HairTail.HairTailZPivot}; + + z = { + vertical = { + min = 0; + neutral = 0; + max = 60; + + headZ = { + multiplayer = -80; + min = 0; + max = 60; + }; + + headRot = { + multiplayer = -0.05; + min = 0; + max = 60; + }; + + bodyY = { + multiplayer = -80; + min = 0; + max = 60; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.Head.HairAccessories.HairAccessoryRight.Braid}; + + x = { + vertical = { + min = -90; + neutral = 0; + max = 90; + headRotMultiplayer = -1; + + headX = { + multiplayer = -160; + min = -90; + max = 90; + }; + }; + + horizontal = { + min = -45; + neutral = 45; + max = 45; + + headX = { + multiplayer = -80; + min = -45; + max = 45; + }; + }; + }; + + z = { + vertical = { + min = 0; + neutral = 0; + max = 60; + + bodyY = { + multiplayer = -80; + min = 0; + max = 60; + }; + + headZ = { + multiplayer = -160; + min = 0; + max = 60; + }; + + headRot = { + multiplayer = -0.05; + min = 0; + max = 60; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.Head.CSwimsuitH.SunflowerAccessory.WhiteRibbon}; + + z = { + vertical = { + min = -40; + neutral = -20; + max = 160; + + bodyY = { + multiplayer = -160; + min = -20; + max = 160; + }; + + headZ = { + multiplayer = -160; + min = -40; + max = 70; + }; + + headRot = { + multiplayer = -0.1; + min = -20; + max = 70; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.UpperBody.Body.CSwimsuitB.Scarf}; + + x = { + vertical = { + min = 0; + neutral = 0; + max = 90; + sneakOffset = 30; + + bodyX = { + multiplayer = -160; + min = 0; + max = 90; + }; + + bodyY = { + multiplayer = -160; + min = 0; + max = 90; + }; + + bodyRot = { + multiplayer = -0.1; + min = 0; + max = 90; + }; + }; + + horizontal = { + min = 0; + neutral = 90; + max = 90; + + headX = { + multiplayer = -160; + min = 0; + max = 90; + }; + }; + }; + }; + }; + } + + instance.dataSync = { + syncData = { + + }; + + callbacks = { + + }; + } + + return instance + end; + + ---初期化関数 + ---@param self BlueArchiveCharacter + init = function (self) + AvatarModule.init(self) + + --生徒固有初期化処理 + --Player APIにアクセスする場合は、ENTITY_INIT後に実行されるようにする必要がある。 + + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Izuna/scripts/character_scripts/ex_skill_1_text_object.lua b/config/yosbr/config/figura/avatars/Izuna/scripts/character_scripts/ex_skill_1_text_object.lua new file mode 100644 index 0000000..724de04 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Izuna/scripts/character_scripts/ex_skill_1_text_object.lua @@ -0,0 +1,93 @@ +---@class ExSkill1TextObject : SpawnObject Exスキル1で使用するテキストオブジェクト +---@field public object TextTask インスタンスで制御するメインテキストレンダータスク +---@field package subObject TextTask インスタンスで制御するサブテキストレンダータスク +---@field package pos Vector2 テキストオブジェクトの位置 +---@field public text string このテキストオブジェクトで表示しているテキスト内容 +---@field package animationCount integer アニメーションのカウンター +---@field public new fun(parent: Avatar, textPos: Vector2, text: string): ExSkill1TextObject コンストラクター +---@field package setScale fun(self: ExSkill1TextObject, task: TextTask, scale: number) テキストタスクのスケールを設定する + +ExSkill1TextObject = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@param textPos Vector2 テキストの初期位置 + ---@param text string 表示するテキスト + ---@return ExSkill1TextObject + new = function (parent, textPos, text) + ---@type ExSkill1TextObject + local instance = Avatar.instantiate(ExSkill1TextObject, SpawnObject, parent) + + instance.object = models.models.main.CameraAnchor:newText(instance.uuid) + instance.subObject = models.models.main.CameraAnchor:newText(client.intUUIDToString(client:generateUUID())) + instance.pos = textPos + instance.text = text + instance.animationCount = 0 + + instance.callbacks = { + ---@param self ExSkill1TextObject + onInit = function (self) + self.object:setPos(textPos:copy():augmented(5)) + self.object:setRot(0, 180, 0) + self.object:setScale(0.45, 0.45, 0.5) + self.object:setText("§d"..self.text) + self.object:setOutline(true) + self.object:setVisible(false) + self.subObject:setPos(textPos:copy():augmented(5)) + self.subObject:setRot(0, 180, 0) + self.subObject:setScale(0.45, 0.45, 0) + self.subObject:setText("§d"..self.text) + end; + + ---@param self ExSkill1TextObject + onDeinit = function (self) + models.models.main.CameraAnchor:removeTask(self.object:getName()) + models.models.main.CameraAnchor:removeTask(self.subObject:getName()) + end; + + ---@param self ExSkill1TextObject + onTick = function (self) + self.animationCount = self.animationCount + 0.05 + if self.animationCount == 0.1 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.bone_block.place"), player:getPos(), 1, 0.75) + end + end; + + ---@param self ExSkill1TextObject + onRender = function (self, delta) + local count = self.animationCount + delta * 0.05 + + if count <= 0.1 then + self:setScale(self.subObject, count * -10 + 2) + self.subObject:setOpacity(count * 5 + 0.5) + elseif count <= 0.2 then + self:setScale(self.subObject, count * 10) + self.subObject:setOpacity(count * -5 + 1.5) + else + self.subObject:setVisible(false) + end + + if count >= 0.05 then + self.object:setVisible(true) + if count <= 0.083 then + self:setScale(self.object, count * -12.12 + 1.8) + elseif count <= 0.1 then + self:setScale(self.object, count * 12.12 - 0.2) + else + self:setScale(self.object, 1) + end + end + end; + } + + return instance + end; + + ---テキストタスクのスケールを設定する。 + ---@param self ExSkill1TextObject + ---@param task TextTask スケールを設定するテキストタスク + ---@param scale number 設定するスケール値 + setScale = function (self, task, scale) + task:setPos(self.pos:copy():add(vectors.vec2(-1, 1):scale((scale - 1) * 3 / 2)):augmented(-5)) + task:setScale(vectors.vec3(1, 1, 1):scale(scale * 0.4)) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Izuna/scripts/character_scripts/ex_skill_1_text_object_manager.lua b/config/yosbr/config/figura/avatars/Izuna/scripts/character_scripts/ex_skill_1_text_object_manager.lua new file mode 100644 index 0000000..c8f64ac --- /dev/null +++ b/config/yosbr/config/figura/avatars/Izuna/scripts/character_scripts/ex_skill_1_text_object_manager.lua @@ -0,0 +1,45 @@ +---@class ExSkill1TextObjectManager : SpawnObjectManager Exスキル1で使用するテキストオブジェクトのマネージャークラス +---@field package objects ExSkill1TextObject[] インスタンスで制御するオブジェクト +---@field public getObject fun(self: ExSkill1TextObjectManager, pos: Vector2, text: string): ExSkill1TextObject テキストオブジェクトのインスタンスを生成して返す +---@field public spawn fun(self: ExSkill1TextObjectManager, pos: Vector2, text: string) テキストオブジェクトを生成する +---@field public setBlack fun(self: ExSkill1TextObjectManager, isBlack: boolean) スポーン中のテキストオブジェクトを全て黒くする + +ExSkill1TextObjectManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ExSkill1TextObjectManager + new = function (parent) + ---@type ExSkill1TextObjectManager + local instance = Avatar.instantiate(ExSkill1TextObjectManager, SpawnObjectManager, parent) + + instance.managerName = "ex_skill_1_text_object" + + return instance + end; + + ---テキストオブジェクトのインスタンスを生成して返す。 + ---@param self ExSkill1TextObjectManager + ---@param pos Vector2 テキストオブジェクトオブジェクトを設置する座標 + ---@param text string オブジェクトに設定するテキスト + ---@return ExSkill1TextObject instance 生成したインスタンス + getObject = function (self, pos, text) + return ExSkill1TextObject.new(self.parent, pos, text) + end; + + ---テキストオブジェクトを生成する。 + ---@param self ExSkill1TextObjectManager + ---@param pos Vector2 テキストオブジェクトオブジェクトを設置する座標 + ---@param text string オブジェクトに設定するテキスト + spawn = function (self, pos, text) + SpawnObjectManager.spawn(self, pos, text) + end; + + ---スポーン中のテキストオブジェクトを全て黒くする。 + ---@param self ExSkill1TextObjectManager + ---@param isBlack boolean テキストオブジェクトを黒くするかどうか + setBlack = function (self, isBlack) + for _, object in ipairs(self.objects) do + object.object:setText("§"..(isBlack and "0" or "d")..object.text) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Izuna/scripts/character_scripts/teleport.lua b/config/yosbr/config/figura/avatars/Izuna/scripts/character_scripts/teleport.lua new file mode 100644 index 0000000..0d517e3 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Izuna/scripts/character_scripts/teleport.lua @@ -0,0 +1,60 @@ +---@class Teleport : AvatarModule 忍術ワープを表現するクラス +---@field package playerPosPrev Vector3 前ティックのプレイヤーの位置 +---@field package isStandingPrev boolean 前ティックにプレイヤーが立っていたかどうか +---@field package bodyYawPrev number 前ティックの体の向き +---@field package healthPrev integer 前ティックのHP量 + +Teleport = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Teleport + new = function (parent) + ---@type Teleport + local instance = Avatar.instantiate(Teleport, AvatarModule, parent) + + instance.playerPosPrev = player:getPos() + instance.isStandingPrev = player:getPose() == "STANDING" and player:getVehicle() == nil + instance.bodyYawPrev = player:getBodyYaw() + instance.healthPrev = player:getHealth() + + return instance + end; + + ---初期化関数 + ---@param self Teleport + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + local playerPos = player:getPos() + local isStanding = player:getPose() == "STANDING" and player:getVehicle() == nil + if playerPos:copy():sub(self.playerPosPrev):length() - 1 > player:getVelocity():length() and isStanding and self.isStandingPrev and self.healthPrev > 0 then + pings.teleport(playerPos, self.playerPosPrev, self.bodyYawPrev) + end + + self.playerPosPrev = playerPos + self.isStandingPrev = isStanding + self.bodyYawPrev = player:getBodyYaw() + self.healthPrev = player:getHealth() + end) + end; +} + +---テレポート時の演出(パーティクル、狐の人形) +---@param currentPos Vector3 テレポート先のワールド座標 +---@param previousPos Vector3 テレポート元のワークフロー座標 +---@param previousRot number テレポート時の体の向き +function pings.teleport(currentPos, previousPos, previousRot) + AvatarInstance.placementObjectManager:removeAll() + if math.random() >= 0.95 then + AvatarInstance.characterData.placementObjects[1].model:setPrimaryTexture("RESOURCE", "textures/entity/fox/snow_fox.png") + else + AvatarInstance.characterData.placementObjects[1].model:setPrimaryTexture("PRIMARY") + end + AvatarInstance.placementObjectManager:spawn(1, previousPos, previousRot * -1 + 180) + for _ = 1, 70 do + particles:newParticle(AvatarInstance.compatibilityUtils:checkParticle("minecraft:poof"), currentPos:copy():add(math.random() * 2 - 1, math.random() * 3 - 0.5, math.random() * 2 - 1)) + particles:newParticle(AvatarInstance.compatibilityUtils:checkParticle("minecraft:poof"), previousPos:copy():add(math.random() * 2 - 1, math.random() * 3 - 0.5, math.random() * 2 - 1)) + end + sounds:playSound(AvatarInstance.compatibilityUtils:checkSound("minecraft:entity.shulker.shoot"), currentPos, 1, 2) +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Izuna/textures/barrier.png b/config/yosbr/config/figura/avatars/Izuna/textures/barrier.png new file mode 100644 index 0000000000000000000000000000000000000000..f370a968a6e6c60761c4f7a188d7c44ce1bf9bf6 GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^j3CU&3?x-=hn)gaoCO|{#S9GG!XV7ZFl&wkP>?ym tC&cyq|NqVF|3v_~T%InDAsp9}6M$?c2F6ES|xv6<249-QVi6yBi z3gww484B*6z5(HleBwYwoCO|{#S9F3${@^GvDCf{D997w6XNP#-~(j-|NkFI{ubWW z3Z$4yg8YIRI4V3`K^7Z%x;Tb#Tu)Be@c;0E1AnrA*vjLu_#ZRFy%x2ZQhP5x1L|h*boFyt=akR{09f)oX8-^I literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Izuna/textures/bubble_emote_guide.png b/config/yosbr/config/figura/avatars/Izuna/textures/bubble_emote_guide.png new file mode 100644 index 0000000000000000000000000000000000000000..a6b414202e18123cc93b634a85e680a66e0a9fe4 GIT binary patch literal 494 zcmVvD800032NklL{98?E$@`La%y+s+cA+7ER}K+p}aatE=lFu-ULeLWgH1R zr7|d~dm1u3wI-OHl&evMe$!{KVri$1Za$T<*ZHa3DM<}U69UsXiOn<=cIQ} k=*f{RowdRB0DV*N2kFQ#jp%gQga7~l07*qoM6N<$g5h)W9smFU literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Izuna/textures/bullet.png b/config/yosbr/config/figura/avatars/Izuna/textures/bullet.png new file mode 100644 index 0000000000000000000000000000000000000000..392b8f7c3906129885119b03aad3353ef99e562c GIT binary patch literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^EI`b|!VDz0_b@5|DajJoh!W@g+}zZ>5(ej@)Wnk1 z6ovB4k_-iRPv3y>Mm}+%BF+Mj$YKTtJ!KGPtXOJa1{72Y@Ck8^3Xe~T4g->>mxKTr z|9>6*|836R83F%a&e=cH^Z$Eal|aXmSq yC?TOJ!3aqGdOtPI(4Y{viAnS=lpGkCiCxvXn&C z_b=~=inm~zCZm)R064$-lmS5J*C*uTn?+V%F_1jY@jQEjDMo^XFN^Z0x1f{~(=?er zyvptG<0dAT?x2|31pp+Eb7XHY#Q-1@M!;_Z1EW*CV@fHpy0-B5w1(TC*8u=J);UMR zh^t_lCKFc?wQnT=z=yF%((3A@ag+~y3}+n^=!82{PX zCG70HkoGPFb>2A2vwGzu@N&lKy3VGjA2M(00RA&It*VDxvPJjNE0@}%q5B2hn zspUk|nWiC~k%Gi~=e|{ri}z=?008E*1!?WiYRUfzgGMKLx}atDI#J-frndcCw*pm85rqBvp@li}SW|=sZx|it_^9S&-jqDsbWK^X66RlpRW)w#~@} zAcDCZu#s{zb2$Jpdq4l!E<)UkMT9JX?pMkeLbC9Fr3?UIFS9bYk@7CK1<=XeEElq{ zUnyg9H|re{aaZO5rmj5)U3b-u(0aFxv#Rw-TE&u=k07*qo IM6N<$f>NYtSO5S3 literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Izuna/textures/death_animation.png b/config/yosbr/config/figura/avatars/Izuna/textures/death_animation.png new file mode 100644 index 0000000000000000000000000000000000000000..f243ea10d108e2c2f5486f6a962aa91378446a34 GIT binary patch literal 2020 zcmW-fc{r4d7st;#!^{{aGM%c6Q{{H^* zkUz(YMaTRX_wV2D?Ci9$ zv1z{(^(fi%W%h-k$7%Wb`CKmd`Sa&27Aq+!sUXg_f^$49EUYolD>F0mamHyM2d!u? zz3%RA6&016!KPt7(WU$gkYGnUCqTz|X8}la*5;Fr>e)l!RI2s&F{Lzr@sUR+bYp)U*)?NT@-*N^nGX&HpwE<%v z;Mv9t4j;NR(L1{-^eTl5`E&++*XK6q?n8Q4oRUGa|E#BPiU79>;>zSC;ja87a5$VP zWMb_dWHDukspEkn-1RZV_?=gRtByVP@1+^Tf&%6RskQVX=w+f2w!TF3F{DHitS4so zbn1h-$*d|O-XWw>+;M{-R^s|0 zI0^rVIJU#9h(8gE0+e3F9e_Y#vK^&&pihe4l$F1QC96&`j7JiyA8N7wi8TZ24jmxY zjZi|d+uhQ?5gGYJ{=};}>#xA3GV&-rQAhl-Ogo%-=Pxiv*t$64=#IS~BaJPqzkt$) z=C}G9jxj}bOt_@u3-}$AyS_Vixd=?_WbOVb1N_vQMmII-RV5+{7(lS2hkf^EzIMfb z)BJW14#LV(haYDatzv5+&F;n8{&TQUqYGN{Xq~4pAPf+|KnyxW<9%pQc_2;*olXrd z$@{?92zUyT8yf3mY(tsNnBF~+n>bw zU@Q%F)uV*o{+q2$h5HX8B4~KA-EgM16gyNL7>I{NRU~GeOvFDz^<@M^;H*dX;#3X%2)S89eRvy}!%~0Spjg>9h$|NVrBlsIKWloQRo!4Y^6`Zp>)N-w} z(hZTrBnz3Opmt*wt*a-%b#iPsy3lQprL2$1qRy6c1rEf+O2b0vL+Q~k&g^$zEmsY; zxzvt}M=A*IhmTQ+(hsmlNK>>Q1oY{^j{M-o%d0E5#_dgssd6Ho8;LMD!Xe}5=;GrX z5^lax9rll543&!g@4W9$-r5a#+^!_WKH?sdVWNez7`IluAt=WrlHOyi(eJ-8lgFiU z2V@Pqh77RDHFrH^e8q^w%x!2wwsX^kuT?~0jF@5=o2xyfa)-?JTrVPJ0htgC~v(@%Dtgd%iFO0cS>vX;9*Fuf=?9nC!;N&AtIHtqyc-nA7 zja@>QGCsL65_qP?khB-HLSxmDJ=M%ZH_B)K}-i%#v5v9yt%pxWDye2ZvXEc@6pfE@PD0hr1Y{r z*Qd>Hvmt&SlLf68l;<#Pge!%(Obb*YGYR#gKXyj$nzzNxunn{%f^+@)qksz`Ds9zT zF=ex>>-QJjzT4c)ma(D{dUAtZ0(Ja4YK~O1YL|*eD;;2}tvs504;efVKS$NXcF;vX zHu|f&EWGi1m#flFA$^Ra$B6aHOTe zi`u2Zk&_T1~fhss;p(*(Y$*m48?!f83xfnCxZ*ALJt&A*tP$P3IG(h+DcFc(fm910e@pj0zyLjKqmE%MS zS1IvisvB5Hw7!A5!^Ln$m=}{*?z0<>UcsIJ_}%4{%eQTTC;Qb}?M@}$7F~8A$mEM% zd`Es-Ad$!I-@R`s3Sa#qfXu9{7#zS#MZ--B*uMB6Oc(=|9bn6yAl7%~FCo=(+^C%E z28)PNS{Yu5OhjExFV^8Il26&6*o%}JqcuifEtH0}F~g_i#6k-WF(GczHDsP6c2R1R XSQ8c-oF?b-3HV`cVP{@`m>v6nxgKEv literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Izuna/textures/emojis/black_dot.png b/config/yosbr/config/figura/avatars/Izuna/textures/emojis/black_dot.png new file mode 100644 index 0000000000000000000000000000000000000000..32f952e6926fed6a3e8c08e8e28c6774175c72bd GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^EFjFt3?wJp^Vk9@$r9Iy66gHf+|;}h2Ir#G#FEq$ zh4Rdj3FVdQ&MBb@0G;0^#{d8T literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Izuna/textures/emojis/dots.png b/config/yosbr/config/figura/avatars/Izuna/textures/emojis/dots.png new file mode 100644 index 0000000000000000000000000000000000000000..eeb5df5529e8a8d668a571f4339092e73a982fe5 GIT binary patch literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrOUWQl7;iF1B#Zfaf$gL6@8Vo7R> zLV0FMhJw4NZ$Nk>pEytvXMsm#F$061G6*wPEVVBK3bFt3ruKaWT?N-8k{WU=nquD;OXk;vd$@? F2>^vjE2#hg literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Izuna/textures/emojis/good.png b/config/yosbr/config/figura/avatars/Izuna/textures/emojis/good.png new file mode 100644 index 0000000000000000000000000000000000000000..df8baedf092d1697de5f940e1c6dc2783271ff32 GIT binary patch literal 220 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGaEOCt}an8@pP0cG|a4t$sEJ;mK zD92YC`j z#ZwKOPu#e1GD7f#Kw)7Zn{i900OQLbCg~MRR5&)uIx#XVd&Kqp=CnOEK*Jb3UHx3v IIVCg!0HohPs{jB1 literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Izuna/textures/emojis/heart.png b/config/yosbr/config/figura/avatars/Izuna/textures/emojis/heart.png new file mode 100644 index 0000000000000000000000000000000000000000..cea3a12c758ab289a5f79498292947ece20672eb GIT binary patch literal 219 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9k|nMYCC>S|xv6<249-QVi6yBi z3gww484B*6z5(HleBwYwoCO|{#S9F3${@^GvDCf{D997w6XNP#;Il};<@c10|F@rh zwZ_2#D9%_C;uyklJvo7a@fbrGJKHwZAYq9macR1VC*rndsXEJP zDQ?ZWDkSi+r7`#FD^8xC)z>Ty3{w8GWQomYGCIhZBf!k?EmHjUgCi3&fyOa-y85}S Ib4q9e0IvE$hX4Qo literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Izuna/textures/emojis/note.png b/config/yosbr/config/figura/avatars/Izuna/textures/emojis/note.png new file mode 100644 index 0000000000000000000000000000000000000000..0d360af1ac98d32e264cb3707642ce0cf45d0af6 GIT binary patch literal 223 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGaEOCt}an8@pP0cG|a4t$sEJ;mK zD9S|xv6<249-QVi6yBi z3gww484B*6z5(HleBwYwoCO|{#S9F3${@^GvDCf{D997w6XNP#;Is3uv&MRt|Nrj< z-o88=D9%_C!8QX9KfW(tYRVTpff>0q9O7Qr-u;3Eg3G&LkIdM1I=LYboFyt=akR{05z*SssI20 literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Izuna/textures/emojis/reload.png b/config/yosbr/config/figura/avatars/Izuna/textures/emojis/reload.png new file mode 100644 index 0000000000000000000000000000000000000000..1f33267d6e9717d41b952588bb05fd8a47c3e806 GIT binary patch literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrOUWQl7;iF1B#Zfaf$gL6@8Vo7R> zLV0FMhJw4NZ$Nk>pEytvXMsm#F$061G6*wPEVVBK3bF@&*Qm+^L+W6E(EufCe&n My85}Sb4q9e0LG6%-2eap literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Izuna/textures/ex_skill_1.png b/config/yosbr/config/figura/avatars/Izuna/textures/ex_skill_1.png new file mode 100644 index 0000000000000000000000000000000000000000..cf7a1d29ab4a171ddcc236f9702a862e81b412d7 GIT binary patch literal 391 zcmV;20eJq2P)eytm(>U!wKPauu z%s79OCaJ@KsH*DP{Cz04Pxe*0cmAAd%)&(EG`18>LIeB_Ht$KcR0IV8cUSuE)YwuG z456oxpuO6b3NcmceJf2(Ua8*6~EHnku_wbfPebD%BmYTMAlYI!O1#IT)NA?*K>V93DI{o*_ zD&KRMe{lE$q$0^76;Hn-c>BvIJqTY&OjTEVpe@zLjIk#BEcEXuCba?0G1~RIlD!8; l0ezFb097;B1+Krh;s*62;m-cJg~tE@002ovPDHLkV1j{XE z)7O>#IkyBKuiXJGxu^zY7@$mc+D22WQ%mvv4FO#oIi B8e#wd literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Izuna/textures/ex_skill_frame.png b/config/yosbr/config/figura/avatars/Izuna/textures/ex_skill_frame.png new file mode 100644 index 0000000000000000000000000000000000000000..ecd42ae146dcca54f67018876c69776017512247 GIT binary patch literal 410 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!3HGD8EPYe6kC$Fy9>jA5L~c#`DCC7XMsm# zF$061G6*wPEVVBK3bL1Y`ns~eU}EGG)P12IstOd6EOCt}an8@pP0cG|a4t$sEJ;mK zD99588yNaOGQ*@Zb%RVsHBHF(^7#o|)D#N^+K zq+6OB)wpsy#E<(h35N=KyNfR`5fkQcJGC=nne=(fL;I~kNo-zxk2gy0G8Dz0QeTR2LLGD_7YX@zN=sL8dVR| z1R&+4wzeA6DV-^B-p6jZZ>6)|;%wXm0QLejp1lMecKxgw)4cZ*Y`zGP`V9Ra$4w$Y zFQmaDO*-ZVJ3u5`_9aISX8-pm0IDk1Z4WY`c2zqXHk+^#;VykJ0ao+6giyf6EL1SH9Ig- z2$E#n;B1Ad?@^%@gODEE h5%G*bs~H%6sH$^a2tToI_4+R$uBWS?%Q~loCIBS)MOy#> literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Izuna/textures/for_modeling/leather_layer_2.png b/config/yosbr/config/figura/avatars/Izuna/textures/for_modeling/leather_layer_2.png new file mode 100644 index 0000000000000000000000000000000000000000..abd64e6b2afc513de9bb4794d53f15f5860b47e4 GIT binary patch literal 322 zcmV-I0lof-P)C2ia4%LKP}`efr*W;P{}&k(_|QiVHk#C7=~dO#_(8{ z<;0lh`T7niz_IV=wr!UP!wCS=Am3UWR{$Nu^gR2Xy{|d&X|IGpAOpLv>-r{$dA25b z%*(V0NKgP0LqR3t$&07*+Ys1m5g4aN>D>K);}U+VrJZBN|rIb`d|P57t+vV U)x6I!H2?qr07*qoM6N<$g2$hYH~;_u literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Izuna/textures/for_modeling/leather_layer_2_overlay.png b/config/yosbr/config/figura/avatars/Izuna/textures/for_modeling/leather_layer_2_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..4faea6d65b021018577bab2b0b24edb8cc59df91 GIT binary patch literal 181 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!3-p)I`?e@QlbGqA+A8$OGhHeL?OyTA<0G| z%R#f)L-Tr$Cnr#Xu_VYZn8D%MjWi&~&(p;*#Dn+kK|?NQLjh;Ux0kiP+ZQEGR$6+H zrEa6KRC3Qpi*4(Eh`w$Ue%-b9`GdtbxHR^abg^tQS)wRy6`JRve_@@M{tJlxtf(NHBj>P<5d#d`4Jn6&Lo-Sz4}X~ zr|Azp+mH8|a`$+@kfB93o6VvfvfFKEO3taqdU8?%0c!r-?S(*Nyc#<@0m{qU>mK04 z^V1ydl$aau=#O!Zot419h=G(`Nc}wfL;ERd4YperAW*L3#Ni05M_-o!|G;-{9Pa>} zn`FC3fQle_6|Su$h6!Y#QleiMr?g@r9x9?`1?K@&W|Ke*dV25!UBwyOux~NY{QgHGIZIrj!j=KX!O7uAy7%|nVWQI==&x>b_!4f#}UXr)moKRVow4kC<^ViEal=U5U~KkjaN$cNgb^nBR`+bDrl5|z_B`CB#AL?3gxwi3=A1)l_}HP>Xc zvlVWm;8zi-YNBkX#xh5Y^V@&Fw;* zrdftC?W${P8rRd`rSzfOk=8;S>k)832v+-C`O+eC^lVerP_EW@w=X52?b2t{_foU; zxsf?73*@0ku&hig3pgStA)qOkU^RfX-gjDW5^$Gkej#XG$X%`DuA%O}>k7om|C>SF zB9N72EA3SToCSDgq+4-r%m0T7P&+KYtGr#MQ5VE495pW7SHD#R6kIjt2)NHNye8^e zOr@@{be}knN}wti+?R*yGl~W^-OLgQKhDg;Qkw*NbKHsUVnFY@E(^7))GwH9>L%R) RNRt2n002ovPDHLkV1m7TKdk@& literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Izuna/textures/for_modeling/sunflower_front.png b/config/yosbr/config/figura/avatars/Izuna/textures/for_modeling/sunflower_front.png new file mode 100644 index 0000000000000000000000000000000000000000..568bd4d7bd5edb3c34baace3677d22329e5cacfc GIT binary patch literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`37#&FAr_~T6C_wI4qlIa_5c6= zkL<|;vsKP2`2JrP`LF$=f!Rf~W|M{&{l%dNB_ew?ZaYdW`B=2};{UyoUI}JCb26Sc zn>3m<^Du7g{Kj@P?to~Af=`jjA(Kfmy~;cc3>V~Q?AYyedOOfA22WQ%mvv4FO#p+E BIQako literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Izuna/textures/for_modeling/trim.png b/config/yosbr/config/figura/avatars/Izuna/textures/for_modeling/trim.png new file mode 100644 index 0000000000000000000000000000000000000000..0f74169823341663f74912d23b5615fd1adf7563 GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!3HE3&8=$zQqw$L978hhy}c30)u15YdU4vT zpqMW2Ld|zeW;|%MnY4ia;4XHyCYj7L^JnHVGcf#EJ?FFB#2_o>dET1oSEANutbKc` z^ZCEI*M8e^y%nuIb@f*&-zn|~uYe{qFgz<+Si53r*zdI;u2rA1Ni=bP(Y<4~bVZ-I zxZzR;`_%W}e=lqkH@J13UBf%p`u_v-`lOePr!Mz0e2`>M57Wq-(DL9E$QVyoKbLh* G2~7aLiB-M; literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Izuna/textures/for_modeling/trim_leggings.png b/config/yosbr/config/figura/avatars/Izuna/textures/for_modeling/trim_leggings.png new file mode 100644 index 0000000000000000000000000000000000000000..509e2440789e72a85fe37e34c45fdcdb87ccf18b GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!3HE3&8=$zQW>5ujv*P&Z?80RHYfvV0V-u+*wBCPx1{N@3a#HU-C1krE}gPFYi+sw=hu}7 z;*8{tgrEJH@%_xqP4CXzZBqUG^t+_6c%5{gTe~ HDWM4fe7ZSG literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Izuna/textures/gun.png b/config/yosbr/config/figura/avatars/Izuna/textures/gun.png new file mode 100644 index 0000000000000000000000000000000000000000..23f686db34f9b584ef8910a2388738e4a9a0c579 GIT binary patch literal 1310 zcmV+(1>yRMP)X1^@s6X=t6w000E#NklT)&g%}pv*d~pLhCaZSptU46Axa#&gmU_@oY^z8bJ^um`%5NszL|5* zeE<2r@0{5sUzRpgtP@K+x2}3@aok~iF?Ctf)}pW1DYGqERuq4H7z>?s0Dy2?H3%U@ zInFfr>&U8|RU+P94th*))HP(y=AjQxU0V%HmKA*i-G0~T{Gw#@?ctwK9znhdw1H zOO_RJZT3{Y7iRzevXIGt*LA%^xK!weKCMq_Iar0RZlH z4-#*lAt3;8<3<;`>~s)wQx&j%8Rn)cnD4X#-;I0Efa*hptmuG5FtkJq`DM}p_(V@$ ze5Tr8>6;O|`|ADLCccBKv|cmfYPeEw!91FV)&viZPPFKzIB)AkUC1v(JQ`IaE>Y#UI<`ComAfjHOq$>E7@7x>IUr z{<%kXuYdcv)IRi{O?Mty#HSuV)$GVb^IHM{fX&~}pUV}am9{qg3hZw8fYl~rW^Nt; zkp3VMQ;_>R6Xv~lvLF-q>!I#*p8J=Z5_h`?;kIgo+o}xT8o=@@bd91uHdX-#&jOfWB+ML6i^005;_n%L-TNXdVZ>S4LDsLlHd08rC2Dn(Z<8;nxD zWzS|Tbk>1fDmbui|G@CDZHK3(XVmbUoKi~J;#M;L1kJm8@b`7MOg!MLahB$Mx~rkw zhE2SKr=xuT#(Xxr&&bCOVWG1Q;kIg&j6XrcgagN6M{}-M{K)SE1j5YRysV~cvQudwHO>%4QPZ#N z>~}FV)V((G*7Q6&oK#3xTPqvEV2quLqDa|U6h&&W6ie;r?catl7-N?S-YC)k0z81t UxzlYUH2?qr07*qoM6N<$g2fU&Hz?~rkl#mE4-;$7-3?Z5K{+Lu#-BaCN)7|+Je$O*c zSJzj+@2}pss=B(mM}Y;>l2gbmy?eKArscQpDo|K>{D^e5uBxgkBqSuDs;UZw|GQ5S zmu`A^WHSy(PC{%<3}RzqFd#X}_5~RsO!? z)tOch8x!M50GT;}k&JH4A3Q+Vr1d7w&e_;+^s_3@&h_!KZZ!PXfz&gxCweCKRO8sW zRpZG(xvl>I0)QB=*c)Q5xyH1Dx=WX|=k@hb2~f1Z#IzNel5E1HpFcRY07cB4brwG~kurx~o7LKO&v@Fw5hF1dmyZX{M=tek=^jPG#G9v;$6E zeZ8r*48L_CB_t%M$^+q%f`$1hwG&q`v;d}9m(HCpE36}-OXtowcmBM_BxPN|%2E;% z5+a61{fOem(CK9t1K`TMJjUydsL$$LglLp=LWGAmVLr?YN8cR*0)fk=0)cRxAg{hY zt8+8FwPmyN)|So6gP9W|O#H#j3B=M(E3tqA0B5on(!{*AnuLNwhm>gJqrEs^4`1FW zzA4~6lf6*bfkYe6(qxIz*OT72F9E<`?|2xZ_@*Ml3jh=I)?(F$4FG`tH}}EPN3x)g z-?nfr=D)ECXXh^0#4~h%ZBx`eaWvOe;yT(=&lhU+uBF?wRa`WM+MKp_*0Ah3fE(@bn`n+j0T7%>A1pia#^q^*8_+ z+V#3xR<`_&`_Qu_9TW4`V%t}Hz~}E-k`5qD4i9G1ve#wx>*1Pf)Lf{hnhVtw3hk%5 z!;?uLUw3#ig+luy;@K~+ygW9qygZiAUw3#ioylHE%#Yo;uG?_TUhRf=DDK{=O6`Vs zq7ssoiMw}di{37~LV%O~6$5iLFR@em4f@xKljD$@R+ zlMRK}uivp%o7$?Q6qj&=LUnZn0Efo^D@yn8N7k{HUozM90l_ul8JC%oEKlt8{?fw# za?}K5qzNSB5j(Mh45a2;5l>Yru zx_`g3>$(IF$RPm+<#+sKj@rUId|xTgo*%BJ$@Bru1rIeeII6&`JR^Z80|2s)ZB~*# zex=3d004l%(n4o_Kx28m{|5pA(*K-G>pncx;LHVB`3_GFQ~a-fPJBP`#eiot$5x4& zS3Y&rGDhXwiUj}wY8LIZC7fBgapRuUC_ir8ldYJ5mp-vafJr%~G=H=&VKd;uA3lmo zK&$+1#RW7&QS}Sk2>?31IL>g0lF7rsD;*yn-#Ugp9fU$vKfl$mwK}~tJ}N~Wjf!n z+7`)PUT`C!jg;?t@4ASKp4o68vHa|)ue1Jq6+E%+(PiA*LZQ!XpGLgmJSi-m56h5b z1TQbBKJ4wBV94zGycvdW!W0$}#Bgr=H0e%}SClEPC&VtiW(7nMo8jE{X=G&5qPp$+xD~viV9-=po*=%}tXQW@ zeu6hXd{Q3(yz!Th4E(u14}SzemzGD?r$>DN$~7ILBFgf~5U;3Ni$@URjfbKr5yB7= z@p*({gYtCAPZ4=}GDM_Uz|}`%QvS#ZEFy@38ex=fRyG=VWjiAtGX6;PR#*X%najY$ z%;AlPo*cV`ctgRUa7f~Z8%HovSk%Inir6r7GbsA;TxlNzx>%<<2Y^n$SSeLu^%t`> z<&El17?mT{Dc*V4V>omAIJ$OA1c0c*J3ji0rB!$VYm;UqS+x!kkw|$Fsy>~GgyGA9 z`T(j5=Y|Pk@m%=K>66&!+hTa#fvK6q6t@GZPLNrFEcC4{N>kd$psH}L8ejG4Okvnc zIVZ{kk_6DjI(0m@3t7u>6B%P4B`bH3-y`Ip^O3P2qdaF$A2%&$m2L&E6XBeISp;(l z<`(++uH6zfes0w9*@c%b)?M!81is712`45JV>@4`j4SZhv^xUm!$$BXjLK0v9g%P> zj_;U^zEL*)Xfm2r@q2wOgV}f>AhQ?4vX=H8XPk0=R76yn=e+ zM6*Lao=spP?%>MGX!q$@+%~+op&2hJt)<_3Dxvi27m>$_dCNfK0(^@anLnRTGqr7; z)rl~)oB933eE$K%w5E1}@I;8+p6V1fo6SY!GaCt#B)&QFwfK#6Sr?F*_lux$0omSL zl#ido^C-ytccgE5G9tdHu!4qm3j*JthLV=5EGey}P;q$AQRTiP=rjG^@EdKXkE?EA zHr&|;@wns{hxO2>v6UJC`AJU@5m8Oa`;?#b1o3f2g%xyU%?8R(dV=zko}ikN_ldp? z?=J`y`_wX2RuZ z5?_WXSX5X+0KgPu$}@r(DU2kR#)#vg3T&ago&;95!M{>2b7)CvEtSvDQGYCrh$2X^ zCg74^ZDnZ!h=|I{h|0>SI_EV4fa;vrH0CE#&L zuyz;4t#DxXO4QZYWuj zXh~@;6%|$x5z)D|ADGH6Z>v%C12=Z z(0F|R-&;*8<|Z*l>Csp~Q$fZ8SRav>noZ^Nb0{x0o7fz{w2^3J{+BpcL@LXN4zXDHTvkd&85K zs;SST=)i=~$LWP-0$W*!KCe+eb}c@ylLw$mX>TY)1|byK1ZBt|{HgLTVL#%L83pv` zBCYQS@`3DAby)1i$7J~6-j_dIT=!{ zEWn5uk!A5j=`FxWo^{iwVbs}EST}u|P)1LDmP*3VsdMqi13~e^i&cw=;;q7>{QA72 z{ATsBalNRpg3hh|fExT8X-R3VI?ju3m-)_+9SsFEf{~zl007>UBg^RAERMg6AK^Za#N@;I|0-I1Ud>c}xWMJR& z&7eJdQFqdBDz_&-D>72ln!?sKDHEZ%fh8DOo5)i1ar|vAJMyN@#(z@=L^4F{0;cD0 z5}CPy)%DEs*8KEE+BW=!rkRY%w2Yl|r*UTSZovy&9&`1HRud6@IemV;uj|V>ndrC$ z%O^3(U9~riE8kgZDs-sWM}aAuQP4yCGFJKt5B_OzHLA|nmn3votdKu*6;h^TAb;j6 z0Dy1TI;4)c&vt!H`W2bnHS>_WW}d5cj?9^b(sy@YWX>#C>XWhnnU-gWe|G}Xr)&n$ z5g(2VKPj4lj;agbye&C37@0Fmy|Ho9`T(HFZa*M+DGW*V;cs{O zgcn<#SQB9plcz7kjN{@@<*iPvLGIJxxjtL%1;RHvN@;KPs4Bzd(cktO!IkCP;$Rod z#{n$8E*WX1z0viRR9xHR5*9og_S40SW?{jzs|?+t@7f2&6*rbwh71BVY=tspe0b?w zr#w@fDX$C}BrUrVx^UFdI9t500Yg%K*yBq@TI@L#2fH9G_8dO^^+t?ZAGVH9C%ulb z`Om=&S zB?G1J?g*36uoX(X@v5??b{s_ar|;J&9~A*kEg(?&IpS;k0tgRLs_>1&Ay0r6nDY5E zS7GSeccMf8`#^j4B7f#8q!-?!uJW+BlqngwJ|hXIb{xd@8A%Al9YTC@WsFu-$OJ9oXP zlxxn1J?eL5FRxL!E|}?(s$zI6D=zyu3-{~QS#!>#vRc3H)-wMN;}$GCirG`O+e)m~ z1Ay@IRmX2$P^{uw1Ehw*vsGu+H32IaDcbRy7nGWxzSyDd9w53{P4$%rC@(czJr_MSc266Zpnsgrj!bcp@_ad7 zdHqqZyw%n?9?dq+HuyIZThZay4taT-RJ*SaD6?%?ee}|>ug_F23P!gfF%KT z)&um2W`BVmPM`l0yIID%sWem7?ZZoBg~6n#=8JpMfCTGRBFCcrU57mm`G8~#d8 zj&^=-$?w<#j9OOqnDLJ#os{^P^dwywLYV4ExR0LSYAPEpqI zBU|NMBS0Uazn{NUxl@x~aKQYJjzbrYQXqAW@O^=J-*n7dZoXG&`Ew6QuNUyJJ2Q0s zQx8n}ySHn8Wc_@XWUWzE$Iy z3&6q!nj6Zb$6pir)bL@q0RRd=FN%oI-S7bbphx%Xv2O9ih_ZpyHNuO<`@}mqqs=b^ z**?M00`!XW@jbdfKLTN@m2mp_~ve&OM!$(P>-Q96eA6I0DG;W?mf;SK{wN3=MLGqW5s$hv@I z0vH$(-TMy2Jvrg;4Q`tm{_LLq9Dr@bWYO#dv^K~RaK$f*UhxEYpU;}?sDhU^<+>zF z%Rub|p3j<$mp0|9N29oJKh%CVw0rMP5tVjKc|drvn$q`#@n-qQuk3|_wGSZu;rF6C zN^g(|T{ud-f=qD$5pgeV%8el4=DQ<5xm{EGUW8JjIJ@~}AUz8FOZq=Jdu?v)Q#g7& zysULYV)*TjK7D#4`6lgb@xb9zIC3QXzHc=7m(3NwYh(qt9-JUOxi9fQnKGiSajkKy zJRq?ordQf(L8PtWiXR4>gn+i>0+tIRc1=DSg|EIZ@I%Cihu$So_=e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{03ZNKL_t(|+U&h)kZsphCitzr z&v3__-=yiuBa#iaLAEi_ILbv)?rNecqJpOBj_xW<)6pFrL3h(sMFrgjvh1R8*#^so zG8D#kc>rv{15j!Y3}&>!mMzPcC&_wxdXnCdZ^+@!_Y8aWkF(D?``jt-y?JitNxj^P zROZXPdGp?L_FDT}Yklimgd?z+nQ^?1*YTQa5fM%O*kgk~UdQX^bp~{7_{Zyb-Mo%~ zj)LJo?`Ph9dImn4`C= zZ&>PMIrsTnm}+o;5NsPJaU6WMIVP zwMr=phz&p9enTjRka2EGKXgZ)K|Qzto0}s{IdU_Ez&Od+__;E^XMCSR2&)2s@W?lw z#K#|axRAylInMcC*XHHRXe$PY^i}87x5tQpIdKRfiG4YNd7Z(a6JTa0BC-zq;_qer zdl`NnNZ{SS^2-Q=06+MTUkgiG1E(wv9naCpDxl)cPinx!M=pbsU)An|1`m0K)Eye( zLF_enZxk>XrikR3O@}am`#GBh3fRRB`);fTkHZto@Tdl#T!e6;AW;_rmHxx9!)wzY zVXVNRhgMhNSAXM^XtsP%G3`G(GzfDU=H}%~$&IDt5)+srXTacr%RbE?nGG&{^S(Rg zast`?aR{e>p2nXTgHki!Nw3$(Z@&4>_}pjy9AOXwqe21meGnz^J9DUU3f+_Qm&E8y z3ybvOl$xv~qMb-g+5JGH4POCRr_td7GWmfK&qs*`pdn7;3HJwZ+4@f0kauE7oIzWz zp=2$?qdHp7OTaS%#(uwtcfaq`_~v6*3v2xG^`JS^VY{ss0>2+YIO4>}BjcwG;uBy9 z4nYXBH-UuykN{aAVS$7V5_a_cDPEh22xeJ_h5!~}{MyOra6rzS<9zS^_oG&?rxZmKC6QzL!x7a|vB$rW5fPMJM%Q^UD&E6WU(ZLregXgGQ(v1aL3^*reSmtC;kLe;<(Z{ga)33q2dSW{kTd5j#F98 z=vlWR6f09*%j;WByy^Z=q1y{^6xO^>Ana^ox%*W-M?8$@iwE(1dJxYM58+Pnb=*SV z#xgFWM%PinHcHrqixvbzZTy^GZ00P49JR;)t-PGf5Y!Tr+@5YUxp;LF>_ZfGVOU;66Pc;HXIRe0#1F@!lQ6pdyd?M`=p35X#C zFe7$JkU^R=_|_YqSF8}=ppAdn3Cx&G3`4yA4fo;EN4^TMii}Alv>iaP&Iu@O*4ay` zGRB{t=Gj}ERtkuR^TdQSJYdt_C+rb5YJc(gpJkkb@i-l8@GHOm8T9%gj?xlyashllM62D!zWdmSuzy}2WsyM<9l$8~ zzbNC+I)T|^(dNz$-ub3~j|)$nGs`g4h(Fdr7>AJ39%s$SiU$UfCH~u?tYf?KYBb%Kplh8)*E$1FtfS?Z z@V@tc7?&{&_fo%NL%){ja|l=g&Q%Wx_PlR*YdP2Wt6))Dr#URsAy5h_rz)l7lhFFLnqDjAe~RhN=dp2Qr8= zQN^2ZZF3WE`^7h+-|H>({t$9C)HhO^19K!c7zDcl!i zUfP%>ge(_;0M|U(Ibs+lCu^MfCn z?_uuM?0#f?@$Wx}zxd=Q77qQpolau>i$MVMh5$PV{9tI0%@(W29(B4>AVXk_OW5XB zJkBq~*Z3Y>;^(5t>j>aZ9R}QV2q3*dYAz&j>B$TD^|!nUmoHv4ZiR^ikkkd@&x2(^ znDMuX@CG`^cS?^|{$E+R!)|w4 z@Qjl`RAFHpz)r(MyJLhtWX;%*GMImu{5psMA-oK!D^M0T)hV3g7vS6K#W=5Ch$gS> zks-Q?9l(B&z_-5qFy4Ltui)zCD@m820K+HBZ~}ymt&>oIbUlDn)bBs49ay6QGTH-^ zz95YdI7SSHb1;2L{9MB*fHKa&Y$aZe<9~P5mtG8H~{nX z-y?Jo1Apkr^XKr(_uUH>h6}wfoo*Yx9}LCR;R3h-^XdXfA#izf2lJH?DNPEJQ8f?} z5E46l22c1e#S{L^@I>%ZTnV3x9kqe$yn+BiUzg!dPccO(ao`TXBmo^(0&r52X&xu= z^)G%2?|bL3p}8AvfS6Jqxd4#~1>&E?HcoN5hqHO0#5rULKS)$VC@#p8P8=G5!t@9{ z)8@}M5DmeKIFwWokPZWqgdm$bG{%lFdjv+Xf#Pp1)0mu;;TQy^ zYC=Sezx&(2!h;Kj{y`9+txx}Pad7TVfaY@oM8Hyh3e4Y+fA;uekK#SQ`i_N% zWSwpsfgg@7r!ix$1ny+}pFe)T-e6p9meM+Zj(WRG);4OgZLl<13&2MAT7d^z#(7La z=mrU7Kq<_g2PoWN)P z=#TNc?|B#co`;kXfXt0ayZa21KaU9BIhzd3R0)VP2YkZSA){Q#0~;Z8hu)D zN*h+p`1B_pz?VMvcMHGnoo;7OnQmr=3iIC+a$a44?QJw$9bEBm+q3pQ&vK}Xb-5h{ zmPzR^7O7!XjvLQeihS=HNIZ{sGf#3TuI-Z}{SxHbr+~MS4PqqKZJob|~ zjz{ot(qvDjPt4#0F>^+@H{J%TG0RLCc>&{>)riDkydL}JH}L*<{>KHQJ%x6sg&+v0 zLVXKK1kR}o&~EIa+v%XIT(s2MLaxtg>k3@*vlSWrwPYG5gH7>PtfCu#%+dBd4?DX% zSY25?P@#!PUvTys@gKbBJ?OSt_-Fs~Pr-FvghMb>a|alaMjx@3?vBL!g+L_HHAv_e zoN?@=2rN<*Ga~0>#|> z#A~-e4BYTfq3Z5LM4frU4-&>6Pm{V5!1LT|xYoNBEMnKri4#wEReX5t?L-%f0P-XO z5eWT$AG?j+1J4P}iv%9{z2Czpe*gF2_xtD@??fn0Sb6c>0WA`q7`aOBj?tQ@PbX6G zM`Zlk8UV!+-^l1af+15_5oz9_M0+$5Q<{YQ>}NiMM;`pbLa%WU1n71<2!iR2Cd$?1 zychOywlo^M00TZrZ24!5SbU(yPZAIo5V!nFM}Nds18F?gtQHVl(S|GAnLbc69~4!M zBJcl??)zZ!+QtnAIdWBiZnuk_-JL^m0`myR|KWSygO9xLKZAn+{aAccMB0MFxQQY; z;gjPn{rQmI7-=Jq&;n`Z2Z_ij#16w4QGv>!1|@*f$h@~mepwLkHDl9SRZ%f?%${`I(P@41e?KPlJ_;RE8BNr+h3irT}E}Pl+r!L8u|@ zn~)1ha7yFTPsnDz0Gx~_AmRz)A}R2X|J=@vZG7~D??Bv6!u`s$aygpd5^_bwdzce?GlPx7Ma z0_2KY~z)0~r+_UEdMOECSM@LQ3mWaeuK$A%1-NM>&8r2?#K%A}cLsQpICRacKai zZe72I-+%vm7k&+U{oYJj|B?5hK)L`xG+c)D%s2)Ru!UWJb${7K4fGilHJP!5&n^H3 zivoQg)9Mg$(s8nPIDu!uYPZ`U0QLIP0V4q)Qd%=@n85e(vG=?ir%#>6D}V6S>BxZu z{->cp>ZQ#Jfsr^gs|9hkKORY_1|$YdnZZ%BNA>9u1PY({*hdZk`g=2H{YM$9=Xr1) zH}_QFyzAmK7qEWfq%NdHl5X3W+C->39s-wBq{2x{mn8wwIWOVpG8 z|LDe&Sr?dL(CLxj0RVuI5||Jtw%So?Wa)sNKo|zFtl7jFy}c1EMdja7bT*EDVFI()|;h7gdQ{g{;&TMfBd_@ za{$nPf5x9Wl3-zbZk~1F+&R4Do|hY8K=fSK{8Knhm!Mdn$7T4+fyXuij`q&7)xfGV zT3DrSb+PGfAYhrej207WaU~$WucrHYwlxDyQ`Ts=+h}(VejHU0%q~*dX*BSzx4an- zeg5wu*kIyiMEteSS#VusmXz(i?ap_77J*RSEf{Qid* z+T#xZ-Ch@-=jX!Y3l~rd6#H-h*REViu6GocMOV4c4lZ=h;_2QUxZ2;qw!egSP)0wr z&<`!__{;Fs=z~O3h|}&3BmJB3NmGmG)JhmMb@gFk4&bnqfSS!FI^E8J|J`{uV!P46 zJAdil^CVNKE05o}! z^BeL135F{ngg!`V&{9R~iN$iorO#636=2e4lyAR)xe zH>A;M9JmvhS7fx^XyDi1^d_AD_G6jSU~HmFa|V(Gp`s)?my@q zrE8Zjy#4q%=n;5a1UdHn<5X!D4SUcYn&Z@ceaT~{{BgJM*inxX_AoEU621si;WKl}72 z7e31SP!5VIQN*4(fCX#LblM#RelLaYhqRvcA;1t4*xA9x`ufb!e7{a0GTzycz~f*0 zI^K5QFW}$&;xA!!VDoA zL;x^)C+2WOdp&=z>n()F3;@sjzf)v4i3D`y5CEC#C;LoFZEbI3eQm8UNFd%Y%qkW2 z)Nl2hUw#O`^mG3@lE6}o#!e)V>h*dHr|lj&1Td`wz}`u~X$*PZ)oOKz<{eJ=x^=~a z3Mz&w5I7tcR=Y~c$)0h64@BE@Hw zV)Xl?m6j9>_{xHUfTt`d7EnwGSs-AEKuPpeWb`2f1k*$XAmjbeO`QW6j|A2yW`qv| zejcy+Q9xeTchL@Dr=@VCw*(J1JY^vWrSADBgnHyx)XNbGIx5X25ESQsBJO}nA#%hg zC=voFT)an7i6>^12@>dgeN@VoW9xY~IDnbb_XCr4M?Bl2mJozTHwm})SM{Gtg*{{9 zSID|EkvZjq5NQcW%@o!8e*y%>j9IBmN8SMpF~f|I!Lc2XNIz%TWCnxmAm1W+O!Z_vWQY%oN#WU!bJ`mA#RF*USWttS7D zPw^PKTb7j=|M5C@0C|LBLM--R*xlYn(z6|F|MSo&C_TEJqM@MCn*^ARc@i2rFrJ+V zfQV2kl~B@Lx8rrZ4#EK}8W}!y?r|_vqz{lvHyPmxCqf@dV;H6KaZ0y%ro&ukf4#@Y zxiuB z*?@~#7tcSTxgnh90OIB?7|wt=QjB6sI=!ON-~<)N{S<`)|8$CRV8;mHcpZlTv%r7_ zEx+GK;Cty*4>Bf0o5LAR?Z3>28TT{hA;~P%0pvjfI$p)D0?rlpKe6RnB`CjzfGT5#7kka7}e z76DPr1Wi{$*xBCJ zYHpmw|B8@B1eEn!=2W;y2bNOl!D9z-yp9pTbPrQXAq+y;wr$v#Lbul$I^~C0fg?}= zGed~kM#Wvdd{NJIi7Yy$^_otA&FOE+_Y|?_{`1^W{x}3UUeC%rz`U#9_vVK9Ldco_ zcDL1zl6S`6RLp5YPZNO@4@ZUujds!0+aD)|M_$)!yrIN44G+6q@=7j6cSJ*38xYnaU>FPKlb|BNI=IqfSYg$5h>lcu7o88 z%4G}E5^!w^%aSOUT`Vt^vA$l%nbS+C*UP9?9k`AS%Zjw}f9@AP1}?S-m>vOWDz0LM zet-Vce_m0UUZ;c5_aJQtv1WUc6pUY^W&$eh15&48jC`8Y=`G9w9Fu?!;H1_qtzj5X z3Wzqr@=^(wEpYbsH7qT;ICZj)YQ=@?NZ7UoAq6UB7q%@?ua{t360VyLpD<(1!2?lB zMz!Li)#(@4$;~0@-Rt)D75mS-0^g5h-R#(yHN6*x0Broa64DPP)5lX5;l!K>9V37v zcv1^Na9s5e5PLVBWBX_N6A(+}%O1(?zLN20#hyj}@Om zl*tc>4D}ZVb$CwXa%^e`bW$UVspFGc5KyZ)C|4|;T(4klwS?s*7t704)ao_kq;_E2 z7MAKINGZmi)Jf;)qR}-GZaK4z8(VD@RYzqOHXxYy75huMznK+*=OGM&#E9dBp3r^% zF}90IKFaJBAmgSJA3K0UJ*gc5AqbVS1tAEwE#TS~9LK`xlXWpPn0cb> zkRa0i(;^_TB$&}8B;ubRJAnL7>KI>Hl29qzSYC3lx?IBgS{X}q7nQON$Cj`y2_XsP zvI9#H>U9@F2sn<^j4hhYXj!4i3S~sVnKMg!D(W6K0+>}ndenP~zPI>hAQgsD%P&$< z50Rh%)~dfzNT*_hj}wN3-REoe5&`C8a)sZgpy51#`IUB zx#Pc^$^i%>{DU7ji@RQM0=23O%M!3Gk%e7{46ktnm=yJ@Tjooz zpVLiYr~|>I|3+W0i$it*M}Y*yU{os>POMjl;D1ppFP;ok6tJ7}k89!NG zzu6>|ssd{VK*r`J!auzC1IhDEO9BFJGAc0he6!vT{&g1nMOs!w8Y(v0J33pt-|dco zf4bR+C?gLJB8V9NYvW(v$62wEt5jqXP^;}3Nxp(Q0Hum;TtYyK<5>!Mt<6i9GSc8m zm-%AR50!)k`fE;wLZ=9a=okSQD-2cPU*o9KQ<0W!OVnyk;hoe`S<>@i%76*o791OB zToHhF0*QPW6IS=>hi^IuaOG+nVZjkV(JKK`MrF<-ucI{V=^I~tSWo+fR`(r%{d$?m zKtM}_<0v|SL%chluL_?CD0&Fsx;B=Uid_jfN(jK~_fawSq)74sWDNa?Kc`}$>$HE( z;sd`*BqiL_r(rEGABrP55(q$-g^Ic?OB{hpz|nyK=f3$3D5dGZ=1>sB*yEueBFPc3 z;Uqc;Y3@nqS65JCfAlfYy6qyV}M6m4HssMu|EGY#nOJaGsgpKtIZaGuWH#fW3v3|L)%TGNOH88Vj+%#|` z@W3&_`+k$TAG?DjAhImj>+5^QWaZ^LmNr(=xO54<8`}%L*j_)t@!H>7U8yFUHFj2! zhM;a~rKs)MbuFB|V;!rjWt==wL%mvp9V-)2)I}+!0Du8UH&0svUK{dVjy(A(bGvs`E1 z+-Z|OLJ+Rq=-~ESmkV1BWM(K8?z`7~kqG6)MjiLO>^8V18|!P4CUmQBHW!fEJA<|CNudxx#;{jcA>7IJ zV#~HruBXj8BqdhvJd0MTgx2LNLr$PvE~8ef;q0AfvA({J6DLlfQmx-AWCmO0}@>kBD&V zEi3reqgQUq5P(%o?4d;Gv&srx2q+?~4Gjt9T!7-C1(~Hv8J0a+OWl?hHg3BECpS*u zv4VzaJDlImGC7J78TKPNvt)ty@5m>{Njl5m2q1Jo8{Oj?P2^xgym{A(zlPDM!Ad^e$V&7a-5N;w{6>C zW>}U5*LAV6v4PuezYS~aYeSC>LIuwcaWk!>pfy;nI=Lo4k5WhA){X0Ex0(rX=?{p* z5~A{8YP39+*RL5KVNs`+2wEU;XQ!h3z;HL@1TZuq+D?KKLL$_R){)WJdQY zn3(hffSOxE#Vw&yD&fU1cs^>C3Rdbh*tQMVw!uLQ-uAZ!=#oIab`tAnZXLR)x13tW zKmR9ppbk+Z}dSC@X^0^4SuBrxw0~T16UT8su4m6mBRCGza5p5o4I|89fY8G zc#^Th0}N6li3l%v-Wl9+>bns3w{SeVxY*0GB%~C%HEYc?AKax@4#BRI0&%)#FJ=kZjOxMqom(5gmzq^(q*nuux^xdv#D*ndk9^szykS%jze%fvn|5anoH9jTu4|)QvU7XBBc%xt1W9I} zjd9<^QRbhSb@eY+11?|=Aan683lMs6A`wUkSgwQ8QXM2@5|0vq)oKmy04G2(C*+7} z5WwUUUf@U-g%{-j!Vs|S!oI#pZv5ue8Mv{#i#yE_c5v$(Ah!xeyT}f}J#{KE{CHKC zYH$X61FEGm%I;_qPq*L4@={$Jcv|x$VMXa3s{|4@NV)(4o$YU+R67glEDiV!0TMP? z`8Tx#D0(uiTy{{c+SuOd=86K2N=Kk#vzrnylK`a2KamrNzbT6A0B8j7JoEx!zyb7q zA3+$v9_V}{0FONO7|vh3i0fNhxN~V6x1J<0D=eS+VMx0^5CZt{x4sOgdd&>u1{%ww*5mI7(!or_Mc&mw)f~rL+EYXJGVC${+wRp+@R( z9l)&Pz($=wei-0-V;8H{I!cDh3=!e__71ih4Q#Bez$!T?FQ3v+6pqLZSdpZ1*iG^c zQAiblIfPTb9gGmtSp^^UOgSTRit8F%9MkDZ)(NgAUvQOoad@@X=W(KuqK8 z_4*@E`cWYO_PQ`*ssuzg(WF~0_~20jEGcts)H+I~z$YJjY^044#f^W)2>YDg)atA*lILJ+(1GYbakxHBXR+9gcIPA@RuMU29k-#7~s%66X1t9xn4UmS^Kf z@@&d~a9YvG@hvUH0W2>sVYk(qaoRM>&neg3Ctdgug zP2r$`a>>4_o3<`rdKNb#x z5#XJJK1PvvIOw9+JO{V_e2~nB211rVdh+_s5bBdQP!a0SD*oJw*qO1xhYZ%xJaq;s zVql&SMG+ufnd^~MuQ<7qcZdiiXf&<7h+%;5$9iA}R7z#QI8W=}j{}%Q0&?B)rJOJb zU=RE}I%NDY$)6Eyy`;pKUBW7ltq>52lwoy5jX6pF#BHJ4msw%7Bcw_PVkIZD&bN>h zAVE;w04nebdmWqw=rkN9HsFPGkK-lxd{1`U8_d9%2=v;0DgiAN0a%tjIo9`mD5Vf| zdr)D3<<&K`+a0VgFAv-}0SF5iVCqGql!q-v+I2AdngcMxIgkX3MEcg5Zc=9iM1K0HlW77NzlY(l$EgZ+c;_#-B+}<* z%V{V}A{fOHAdG2vh+^3&F`@tt!74-;^mL3nqC7}ahX9LNNzR4|#3_^}0HkzS97gA} zP#8F=35bo_5+Er6VQkzyH*mpife3JInX3ahN{yg5HaD}=foE*{r5U|l?g)UG@k2lS zkKuWJJoeQ`aQWNc9u4)Dm#}=>t*}ZZC}v#W*~W8kzilXCCG1+HeqvVu2>lso-*^bD z0!{h#BRv2WF$X#90ahiU0<&fY?k5u*!*Giu)0HaDdr=0O69WkKX)W~0JkLqJCCJAQx2Whr`IZYyyM-J2*3~gMDZsh2}Fx=X8DHzx@;jxjMV)nDN#MSf%=&<$;rmd zc=W;rbhi2pG!!Y7% z7{)Jvq*XZ2eCA?!umlKcp*$e}Egc6d&p8XHS{>Sn=PzHzQ&+Cw2M`;o>OlrkB}#^*VR_bx#;11@S`9=F33}i;_IZ(+Y@*nwArWw9y_)lOJUR#< z@O^|z!O=FL;_+YvUBk+^h22_+^>dVbHj{y}Qh~d%0egh;CpO58-A)^8wR%E)7%gK( za6%haSD)B%OwC!6Nm7><$kwPwoMK^+Uvf-^jKa2{6uvozuvBsLjx3JMYBihix;;3y z9oZ2f$q6XL=$eY`01^cQtZ!@pM6lP_V3jLi0KHBZ_QW^}TKnfj@Z`{7$EpR0Wjc3_l>|L^T5|nw>^D7(eCgK-5jdWm`ZF zz_s(`0vsg=(Ae3A*GnbQO!;rM09Z5^0+>Vs5*o@s{P36Yx1aw4#DD}CGo#yTp|-L- z_Qo(Xb~`Ps)t1oicF}0H;0FPATP^rrA7{%QEUU(`&gZ-kAjeG7B0BeMOF{^OQk0qm zzVeOP7tmVa+7?PVh5<(^2hi!j3q$zPI1u4)-Ppks-}pKn|H{MYce{~8Sjd@}?iI zr<1m=8D+plw6W#t0ECgDtW_)cm;ckhn7BEVQs{QZYruQ07A}6{8@O@t5(tDKWNbBh z$8r3ASHXoh9ZSN=c|gcfLIGw75Fe<6_LZBn%|Enc2oMwqr%#`P^!f+~5`pIOyFCQ1 zlVJ_AQs``Lq51U13_@VW!Vo~Nu24@kD(sfa+5Yox2&$B9R7%#gml}+$o}?gxYfDsI z30Dd@lHgDY3(fI&_vjUbpX0qIW}1#B+i~Wg>zT0 zN29{VpvO+5h5Fh`G!?kt$L=#1(cjq}dTgi|jn**&C}aqb<5Nl@U>Ss^_~i<%5G@74 zbu5$}3wNAaLdCK0{99MxNQsrY3rPeiC8Qwi?sl-d+kq6Rn09=KT-j;kfiFFQeo!op zh-RZPKHb7ab^uWWZ$x0wng*`p!rR`4t4Tp)LxE-sl7O8jo`f2c9ApgZ2Ih)h@?1(Q z@7xTF^Z9*7)K_6k!poj}0(afI1}O#Bmn*QOz^xn60NIErL{qVvl^>wj$*N1+Is{s; zm*GfJI0vwO)$3!CL;K1mf>vuH zi;kJ$dBO1!zJCaiGw_=b0t_@!naxy#hHpOp)i1d-m)BM<*<&lRj^-N_ZCyC`xb9qy zyMRn5Kt*=|tl?T@%N5-a6f|}rN+pQFDZriwZ)*$eP1pXZm={uFPg-<2*UL~)2Y@-= ztCpl92|$2j`E?Q?3P3?Wkrd1r`C-4+3B3=t6tD{D02({HU}i|&q?Ta=9(E33@;pE` zc39-WZoB=C=qI6qzqJMT3EnCoSxy=VJZ=AEMvU zVxByx_!|qY2n6K~uynw}j>b*Xe#AYC>x_xUH+m2Ou4@CWexY8o-|xfsJXnq$9r;Q( zaV{WLu`dT;vH%}?^Xtqh2FVq!)v|Gapbejc`C|FYH#!JI1*`BwBp2WSVk6e-y{xtP zIpnM+KMaok2*DC20aY)9Wlq8y8Wj`~^$-D462g#2ItNQDBo)nt^*s+2RHG|uAb<&u zjt<-bjNJ3F)D9B_qH;_&h*uNYe|ugSKU`ehHpe~8T3a79?MZE%*6~RlM%N3WX2s{# z90LY%j-xUP9gR&+c&yh;IJdc5IHFK%cNZ%wt4ZL$sN*g_2SD)#jxM;?(}C-{SXx;| zV?<-6{nceZQENnaNF5CN7Mm}>Hy4frJ4r-B9M?1Wx|Vu0Md@Y0To6fy~znIEd9MG z3(i7DA7p{09T`4Z05RO1Ckts5i*S7LEc@c-0Y;;+jiqwhZd;(WyS<$leiB)$B0B&| z2b!2CS-D)s`o=o8u3yjP&vg3%f-t8m!P$6O2^V3xsoZqp(r0S94aGQ(U?FkuEP+d`>a&c{|6@IxNY z2ILW>5|eDAVoy3o>C+;F)wP@w0TDW&u%HMa$6cQ|%0iz05waV%%8pgY*WGQmqNqw4 zAwZFH05KDcHS~{%Vw6fH)CVU1OuShjEm{*%JuN991h8B!q2x&1adH`=5iX0ENT)$6dVCyV#UaoqL44Wv9p^Pe-Z*5b`D??2`Hv664DMW zfMD4YQqOy1X1KP*>9q=~u8oZ)7mk!DyB4Gruq}y7$w9SbW3^sJ*|AV7JCQ?(XWZ$` z`9kXKVSqfTfXXgIhW%n%#T2=TR;wZBg5XF|IJq#->q9Aq5Cqmf>c9T^d`Un#=K!KppJPTXN6sLW7JlM? z{on9EyzX@Xfc~{-(0}Ap5P~#Iiy*`l&7^U8?C501z(qy?Q#gRl%bWPn8{ZB#Pf$Uc zHcbedEd*hpPbUE?XtX1R7+VMwM6fLZ&o9=C_j)~W7=T1HE}e@O0+=MAFTdq=8Xi(+ zvT@YYOgMY?Y*NB**Gjl}t_)ViYwDqhU86JnIXD2T1Qb-^ewq-VTq%Q<0=f3sE9Uj| zsCFtY0+`h2K}1+8*|=UX2hi{L;DtUc*9NJ{FoyO)Vh}lA<;dub*&BfZz?2xjKqM6& zbDW?3tH_mry}NaU5D>OC@t${@ZH)kmdrvJ(jx7ZefO@HTqsUr~Cj4#>tm3=080;%@ z+e$_TK7Oex8N!#o0byGpX&2TgD4bn%G?twn++-1FprEcvsXh0UkP^}zf3HYNv>K5- zyAs8n=QrtmBqA)8i?<(p-449Kk17}oBq`*wLkR$z9ajwa8u}*l%!u@q-x7rFLiJlX zYKxW9XoeAnAwoYuyV1nX^=<5K?*K%2`Kw=LB$SGr9cM(frST`XB?O#$4Z+T6g&MLY zu0C}M_&xvyc6PQMBLE)h9E#`wc5d8&*X^a!a-zTvAl~c*ju>Hp!3feSLEvcOuCze1 zpr-{hgz^!hG#rz4d-(K69>DpB9zo#wXkUwnO$r2IS%4IH(QCdRFMsu`vb!r&%q`f- z$V&J3kAuz@%F9dWjBx-ULZ{t{@;^mJJCovPM8Y6NTVB5pKjx6+J+opF4j?l3=u-DN zq5@}!7*Zs0WV;YnQQ;zwCCG$9fb)-^N3#)4Bo_7BPz=@S_4QQY1r2l0+b{wTJb?=@ zEeW?ies~KBfz78cMpy1IlYp72&c^t5-8E@WhR(jhD9=$T+o-wLz*92X{liNPHg|U5 z`~8TXUU&qc(Ld=rphzTpBKR+i6PAcTvcRXsnA6%Vm7@Oa2`h{MxaE@GqXf=f#Vt=~7bFJ8hSmUsp~4W|b{BrPHxc$VuHL}!{Mx&L zz{k)2s~?AD%k1+dZO;*bD-0F-eGlDkA6KtzquuG^(&ZcY{_p=ToIbr~_$CH>d9^vb1bwmXM*e|p_c1YZ>J+I#aS0p*4OlJtt!FiZ5y$J{^ZlnU$s zLX4{23nG+VcjC-H=0U9kib|dZCCKy|J9y;$dHB6Pt~~iPI?Wa~zkMElw~x-wPV~O3 zm5I7~%#7xhYY?`?w;p>6ZrO!W3e9E*y{?DL&s;^j*~R9CtMGdsI=h{uag>~Byu0dp zc=1bLgwvxAmAsrCO%5GK^@olC%w>{*9)9!dlI!Rz0K`yCnQ5ki z_4l-Y5N@Twkui_mLAGs8r1f-n8fZ0JC{-)zCN3~Rrn$R=2j2c(h?1%Kr=7IUaZJ0E zAL1h){4`Xc2H-qpE|{#37!p%*@XYzAao6)tCcjHW$V;+>0hAmE-M&8*=Z{Me3PIRd zD&fM_=Aqr6Ynz)!i|yDjh7Q~TWG*5ZmsvN3#375>XC0RV1p{_vxv)k-p+AvW|O&;vC0=P- zm(nl<0Gav*L~!^jEZc&A$Yn~B0+*h;2;iQD{f&}4Vm<&*P7qc~hnuT9|HL_+I2Xlt z09nURLnbA4bATj*Rjw8o0eA+VA^Sc~-+l{}=R>%o%b1}b;F}MB9nU;*0awmHjee(# z?|#|s`0kfJe}E-8;-n@4kWP?F8)TILX#pZq86s&#C%IjYjNPe3Qn7LUJ#N0(YiFCM zq7-mem*H=1AMP~=;Q66$p5le%0K|-_gb0T|Gr(&$!K^^?2si+XfM8ThzUg)K9(8NW zC~A`oz_@mK6G5PG@yVyqX?Jn`+6{QVkKOGZ$m)1;6IKcjed5mzgJj%w*GYJO0A`@o zXd?(ioVn|z5YhovRwARe93%}j38gqbt*5kxIoerm%R+5q1MNe003brA(?J-7@nzG~ zhVmQRK5{<59+xcYA;6(22AzNW@hB&v3LFAx{$EsT8E^s=TYqxWY0ZEF^8l3Z;}3rG zcd_}+ryv{$5CUY$Xd}|(Ni#$7FA@Iy4?l}P{m@^+>v>=heE4|dM?Zv>6B{^eEh;H3 zl$Mrq^qu8#u9X=+4e@9n@!d9TX|EKv*_}<3KnrWXT0X!0YuP z%29aY-f|m+A4QK8=d+6dOLI_y4 zjiA{|Y`}4C$Z{F0FT4wGt&Y_@&SH6G1?8n>SW>{YY`CtAa=DChwT9aAGPb&X{K+@Z z=@4cFA|QfQt-;$X>?1Ru5~9(`dldZeNj0eyXbExXQiq*x8~@$UKal)8PZCg0Awc%p zG6s!5z3Fj*fJs1>s`EPlQwLCgP1fW)^~~k#_{jS{g)pXej@XN$?k-%|iX0m|*RB;J z+>y487r*?Kc)@qS3Zry8W&fq3iR+d<2o0I5|gFox)?;fMcHDw&bDD3urZWCxtb1;0|CE^rry?U|O_*PGV*n z0|o5r20FdRF!1pC5y3PGogzqAONqvAqc9GDi1$oJ?sa)>OTw{a+P*r*@y(j_RG~tC z)gppzSwn2VNfUQ0DIgEo16;mzu~-OTTvSB^qwvg%K*9_(|8S|EFTrV#eNuL9*kuP{ zvzz-xuQA)q za8BI<1VO}Ym~yq-T`0wnlJcr=l65!NV@-@N< z$(%R@5OY#HNo(I*l`2RO?4^|`fmSNPvLq_y3RX5Yu)48XMSF<@8>4hO~6Pe7V!x<3hW@_ncvjEvMMzh1j?BN_#t6DNP>76l?WjyzP#THyN&eSRx1 z!%t=d>Tl{1A<>Y~5&l@%Ztf0Xu(q#M#K#XqMz81XDXX-6=X3GTe)?yU>~|vcY3!V` z>!LJ31vXD9B0|NnCpv&YDTGQv7C=ci58JYYfHRJ+8ec;pP=CQ)AZfuVmm!5fwOYaQ z${NNye+38E`_(jzX3y&Y_Z4yPZz49RN`#6QGkyscVQT z0%<4^qX3c;BqUhn(=31G$`;N)a|OO1;__3Q@cKS3Ke-97(?_?_0RymVrHMC^L9iWX z;!!b8X=<;H7AS@ngoV(en}#758zLDuo%NWoKq&-@0mnvdWeK)pLka;QMdU<_-XVh#0xSp@noab=5Ig-oyilPRh6p(t)T)?KIkAr0 z-H1RnN?}I;s4Op`WFUp8tealXa;b#!i4$l(^GtfFa|8jFlo%rSn`7qWFsfXxxQ9AE z{4eB-ldtn80qq|F4CvpbvOwu517biDFvO-55+p5fkVk@rP%fAD4bxbKPJWm^_Z7CMa$)s~l0J$VYd7oHrMU)etb&=r{(o^!ok z!jHb{g~`rVnvC}TzxWzd zJeijj1W5vFJW7~MoM8Y(Q5;kX5y>a- z!>)o(8=XC}u4;&V?T0iS#7cmJwiNM+mRdG&`y>uC-c#&ZaA&n3M^-2Y$dKs2uLAo~FoOSu65M$>9 z%(D5H%I=|-2M^r=a54!fHF!2VgV>nIL}c^`FarH6d5#Dxms~hy7uX&z<6Js%60iQT z{~q;?bx3K!u`Sq+6P2H8HB_oq*lr27>+Tu&_^1Lvcte??QqM3g+KtT1(OmKX?6ygch%?= zB2F`pvQp3OjZ`WwO4Z3Zh1$uJc=eC`NW$`)cN0kxdq%WEh>0b|Mi3TA7LliT-!v2l zC*VLkc%{_DrXiIO#KwDo+s@tw<=jXf!-~QE{N@AL(n1gZzMp5g;ufWyV{r~(5($Xn z+8-I=z+l`zVxC)^3kV62rThkjSeCUXXFT)+1fB=CvcJDu76OgEVp$=82@aqasv`p- z3BXdNf+hWGg%lu)T4jZhQ9lIj-EQ4e3gI57CfSvYkH~XCNE9mOBl+Um*20~)|4)84 z`Far~pnW5N$jFm|zwu8>LIWO@4AS9&VxYWsD!)xigo- zfMhS}!5HS=;%twAB>>CKcSfKPlTVAF+d+GGci)@1GKDhmp8WvKh0z3{Dc*BEhYjy3 z1+~|^7S@2Wa^4O==0YzPg2p#ME&6`tsB9zlvuR9XXk^=@TY)JvxF+txFop(!7;skB zktf;v^oiA!);S6R^!w4o)&0W1J#PFo;~ag(Q*jCo3<2!%T0{%Vwt&yac2-m9>9_^*SqW3*2EnadVTbI`&XK^ zr!a^=4bq`?W0#03igyJ|Y_>4+Ic0?~MRJLz3}(Ra9nj03r)8e(J3snESbY zdcoJ+MBRmQ0A$RxV&ai;o=Fm-M7-A^1^{r}GMEG?kNE)1xb@Z(P+kZzW~{U7_tEe7 z_kYo*Z~(PR1=VsnV*b%^2A!ejDHZ|%s69``Jd%|>1pQm|4Jg)66re^Di4(yNwJaOe9B z)Q-qTamIAg&65YHPHb=|kmZ6+2e5b5bBYv1;_(T zbGzrV{ ztDEd*{?43pzVGeD`I$4bv$OMaX6DSy_rS8r%-Pv*&-vc>ectzbf07Be)z|8YmctH= z0S0GqS{NC{02E`C47i+i=Zqo2In0WbU*>Hh24Iv)Xe2QL0S$lw3C(jElaOvxkX*(i zi?TxTgqR`IBhfxe_*+l_wUU5};o5)S!iP>*W$10rLg}AW&g6&~hSqF?b^X5)1$a1a zxp}&F+b`j?e9X)MBp64bMP6EnRW`7!s;q;$ZYi;f3nZAt5GM>Xf&qfYN=HeI2+TI! z?{yOmwwPaOiI!PWuM2-T0NAc1pa>X1r6MS~Yyi2XzgRpMz<2351DM|7Nx@FR+w59P z3c!dU30%Y}mDDi-X}b5u|Ef41yjfe`S%_qWM`gkh8!X|EoeL1wMrV#b6x6bFP{{^* zK|l%SDF7C{Uv)Z=w~6TSqm?ZFD+3Iz&I<*y4vyUqspYWTLDNSaIjE9N7(I?5+oeA^_nbEB$f;n8!;ugT~h$1BUxXlD=j`M+=9@1}g3c(m zTh42nAn5>(?aqN92}l8w(mn5&!tD-C5+G4kA#t78yiMDG`TLI2{zgBilWszL8GyHC zC8%nChOEK{g86`c#F#PY9uwe+B$#GI)E>MJ2Czs0lou(LEE5GA72f7#j_F<}1lDUB z)+O{sTa`7k%v#a%o`w4t*Rmm)=%({rR$Tz!24E;Nk8- z1V~0fDRJZ@yX)Cw`RibYSrT$0HzCFU9z?%s$xX>*G&u}J6pyjxQQdyuE!Xr&hQ8Dj z+iAx7E407>{PSY&39$^$k6FnLU?CSFTm%G{7W+Cu9~yx+Gzuqstz!m?a&utGvHC7v z>YW&s^VTLj0#eFg3J>EP`ci{Fqj1H%BRr-hVt;SKv^*+zpf40att24sTX8Tq!N;@q z+*1NFa0_U$`er5PpLu-*>ggmCH3J|k3na(d|BIsb(VGy?*{fHPxpoaCC8U&?n3}@6 zn{H~O0`MwD6G=pQ#!+jGcfX-iNkC090N3)nXZtLm@_xU!mC5cDxPI`=?>w=rW22A= z;uBl%{#jSn`_X$RYWl@Qg#3*R3b`zVXkWc8u4&LXM`C!`O;=8(kQi#9?_y-xfZkU` zv1Y)XOoY2$F-?t)A?4HgSSv3tIBX07PBbI5NfN%ko7?H9Mvo{EQuXy6k5n%N@lOYS{F^_-YQ5Wja(C6&|M|gt^*w_) zGZx0ch=FlEGAk{J;j;w;SBE&vO~3;YBl z%W)v3L@r-|D4Hk~3P_n2CZgJ?9Qff%9e|F@Hw;|PSRJ`1jpq6HT0)Ut#qv=tKa4ZP zsGq$;)b5CsGDsSdL?9vv;igL$ibV(^aBX1$1+$1uHV4x*;W+MCb;l7PlE`GT$YgW4 zZS@egd}nQRo7J;D2|J77{CrTQlao{)(gp@GNA_}JI3j2*5%wiFyX$A2i z&KWlC`VoNW6o8*mzCJyHb?I^SfZMGA!rJKLV?TF$0Wd(Q`_^?!?OSU}1nCVLl|n!g z!7LO}w2H`NGRWo&FbgIu+ky}>_*tLmElK!7_4;4`Zx(+$bsC)Wnz0e1VjhDdM5_&$ ztEe;r=L~l~c04w;zeDaB>$n1_y!DbX1vkwI3cHMlxYwbaVvCp&^WqkGu62Wwc5b!3=s5;Z_Am=MeE!*IIC}UfzWm~9&CR=1fGH~Bi1PE}w%&J7z7N}W0t-Jn zI*Mc>0Zr4OX$-nyU}QLj(a{l1jE_Orbqpnwi;AkEG#C?CzVcF%8_Vu9EgMo2G$sGN zuK=Dtat!akcT(N4HsddU{Qw2C2*v>0a&X|$NARsp)4`;nK(KqF968z*GPLgis+YU^ zbVLCt;qMIo{pqFB!_jqc&dSD&Q4gKKP?SF#id%rGNOZ>)fPz9K3L&JxstS2sAEasm zlmbxb34s?x;8MnNeS=E-!{Fr#SY`Mq#5)eq&**d#P^=k1r*u(2HRM!Kh)e;5wb9f+ z{;cklg1ccf4o7sC(%<>m)3K%fOVtIm@|moSR!W`FDl`P4a>4sI2B6SSt~a&mW0eAE zxBnjt7eGOwU(l^+e=nRMCBymnNy6?eT5K^vcXQj%3DwhpxbaF>Pgor?A*B%k|cz1plKS65#h>}D>!uMAQ}RDhX&H7(nm2?yRACi3)5w% zA2OK?&YnGsLx-LM0GvI07AH@h#NNGoF*P;Sz{1dQUw&m#>O;3q0G3n$Dha4JaQX6O zy!z^^c;JBtuwumujCgYc@4fe4SeAvCUw#?8cJ0EB9XkSHPo+}GX0v$v?YD8yJ@;T@ zVgj7^PAs^UB%nCb{^f+9wK-L_?@s|3*XsTvlAyRu3|a<42)y&oJ9zNH2eE$rdL)xc zI9|`bbUKZ-Yu94iwrzO+`R6e{J|4U`K0c1=>1piVy&EsQ@B(h!xS=$uiUG7A?e4r& zi&6tiNA;Wiyg2;bhG8I`PGfd<76%R-z?wB{0%ovo-8v)^37Dpdef#!d_3G6CfZ5qu z96NRlt5&TlJ8@7LEb6af06h*(({SH?_aT`~f{1Yc{r6+bmMs8)#~*(jd-m+X%9SfI zKR=HP7cOA$-n{^T6DLl9h@fd2_V3@1v9YnfygzY|@W(;;>rw!7+aFeOfS6)p!X3Mz z>pGIjq&p)}(?CQxbLI?2M@Ny*=P@!eg5lv|06;pOhG7^0fXT^8brT0z`0Hi>N(sah zb8~Y@r_-34nu29ncVfFN41R(@odF2(DrU}Lv?zrO)Oixc^>(;G!?z!i1?%X+K zG8r5>as)5E^b)e!EG}NWi0SERFvj3G4h|najD>{-bu&98_;C~dKmpX71T?q(VWkLS z0>&67Cns_4+&KWi>C>n2#v5O1FRH#Cw?6xuAN^BLu2*3&QKis=YT_1NS2B4sz7=VI8 zJkh9SUCwe>GKO|tKd=fQs!l$Qe*U1WS3yBB0EK~#1uSP_qw?w7%~WC&15llS6cplt za1H?L5Oq`xKw%(b0G(n6v1b5kizz4!E|daLP>31*?<91_7;7dDuvE_aQaShSc4?N& zq3^ZzDhw`I2ak>v15i+i0GFOU-*nudTh?DG00o7ZQGeFq#1XyPf>cGILN8n5>MmDn z=k&|f95nO!-L(8=44_i$#9?6y3WH?%yJ7tSlt#T&3j{X91eOY_wHwU_)p~8c3QG9f zq5z^)0tyNW@fZF@3P33V1%=KDez%3cssdO_2`Gi2pb(AF$3^&;Q~>oT0R;txCWS6W wHR8)IL@5FVh5i%#x)p#@2nq`QBk+~@KOuJRP}J1wAOHXW07*qoM6N<$f;}JTrT_o{ literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Mari/models/action_wheel_gui.bbmodel b/config/yosbr/config/figura/avatars/Mari/models/action_wheel_gui.bbmodel new file mode 100644 index 0000000..afeafbf --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/models/action_wheel_gui.bbmodel @@ -0,0 +1,1989 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "action_wheel_gui", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 16, + "height": 16 + }, + "elements": [ + { + "name": "GoodEmoji", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 36, + 0 + ], + "to": [ + -33.5, + 44, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -41.5, + 40, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "84d1083b-49bc-5614-912e-44f4b899ae46" + }, + { + "name": "HeartEmoji", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 27, + 0 + ], + "to": [ + -33.5, + 35, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -41.5, + 31, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "eaa43af0-2741-87e3-8702-e97d44042bf2" + }, + { + "name": "QuestionEmoji", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 9, + 0 + ], + "to": [ + -33.5, + 17, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -41.5, + 13, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 3 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8de404c9-1e78-68d3-b8a3-38bb7aa8dae2" + }, + { + "name": "BodyBottomRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + -3, + 0.2 + ], + "to": [ + -3.5, + 26, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 2, + 9, + 40, + 38 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "4507a880-9681-34cd-6c87-fac17f8fdd5c" + }, + { + "name": "BodyBottomCenter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.5, + -3, + 0.2 + ], + "to": [ + -2.5, + 26, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3.5, + 11.5, + 0.1 + ], + "faces": { + "north": { + "uv": [ + 1, + 9, + 2, + 38 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "917771d6-d756-41a7-3225-881cb2978484" + }, + { + "name": "BodyBottomLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.5, + -3, + 0.2 + ], + "to": [ + -1.5, + 26, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 9, + 1, + 38 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9964760c-f61e-5f67-f0d2-4d9bc6a2db29" + }, + { + "name": "TitleRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 46, + 0.2 + ], + "to": [ + -38.5, + 54, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 23, + 0, + 26, + 8 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "157d0a40-12c8-0e9f-ff97-0c0134ce6ea6" + }, + { + "name": "TitleLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -37.5, + 46, + 0.2 + ], + "to": [ + -15.5, + 54, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 22, + 8 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "4f6e736e-74db-0300-8874-3f596411c942" + }, + { + "name": "TitleCenter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -38.5, + 46, + 0.2 + ], + "to": [ + -37.5, + 54, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -38.5, + 50, + 0.1 + ], + "faces": { + "north": { + "uv": [ + 22, + 0, + 23, + 8 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6b0744f3-0e21-0fbf-2ae2-18ef858b84af" + }, + { + "name": "BodyTop", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 26, + 0.2 + ], + "to": [ + -40.5, + 46, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -41.5, + 36, + 0.1 + ], + "faces": { + "north": { + "uv": [ + 0, + 8, + 40, + 9 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "181d67e8-0460-aabd-55f6-36d76196c156" + }, + { + "name": "TitleLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -50.5, + 11, + 0.2 + ], + "to": [ + -28.5, + 19, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + -23, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 22, + 8 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "440c3854-1e60-9317-8555-bc5240f178d9" + }, + { + "name": "TitleCenter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -51.5, + 11, + 0.2 + ], + "to": [ + -50.5, + 19, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -51.5, + 15, + 0.1 + ], + "faces": { + "north": { + "uv": [ + 22, + 0, + 23, + 8 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "80c43537-fc6b-fc1b-47fd-bae521fa59df" + }, + { + "name": "TitleRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -54.5, + 11, + 0.2 + ], + "to": [ + -51.5, + 19, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + -23, + 0 + ], + "faces": { + "north": { + "uv": [ + 23, + 0, + 26, + 8 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "cbaf2279-0daf-c842-5ac0-02bb44d9b86d" + }, + { + "name": "BodyBottomCenter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16.5, + -3, + 0.2 + ], + "to": [ + -15.5, + 11, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -16.5, + 4, + 0.1 + ], + "faces": { + "north": { + "uv": [ + 1, + 24, + 2, + 38 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9184dfb8-0e76-f1f7-2994-a00c75ec64d3" + }, + { + "name": "BodyBottomRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -54.5, + -3, + 0.2 + ], + "to": [ + -16.5, + 11, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + -23, + 0 + ], + "faces": { + "north": { + "uv": [ + 2, + 24, + 40, + 38 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5aeb8b47-7cd2-1d4d-33e5-36fb8ea59b5e" + }, + { + "name": "BodyBottomLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -15.5, + -3, + 0.2 + ], + "to": [ + -14.5, + 11, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + -23, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 24, + 1, + 38 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5fdd8d83-a6a5-663e-7757-69fdbbfc0c58" + }, + { + "name": "NoteEmoji", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 18, + 0 + ], + "to": [ + -33.5, + 26, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -41.5, + 22, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6a232e90-acfd-b9ae-6dd2-4ccc394218be" + }, + { + "name": "SweatEmoji", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 0, + 0 + ], + "to": [ + -33.5, + 8, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -41.5, + 4, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9b7746b0-f54b-8a38-8939-67a56cad1e40" + }, + { + "name": "TitleBar", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -54.5, + 12, + 0.1 + ], + "to": [ + -53.5, + 13, + 0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + -54.5, + 12.5, + 0.1 + ], + "faces": { + "north": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ced92cb6-960b-a1ae-ff79-9f04a59bd189" + }, + { + "name": "TitleBar", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 47, + 0.1 + ], + "to": [ + -40.5, + 48, + 0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + -41.5, + 47.5, + 0.1 + ], + "faces": { + "north": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "cb43a040-331d-d647-2667-a5864e0ff99e" + } + ], + "outliner": [ + { + "name": "Gui", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "909f4f9e-cf00-99e1-7699-c2b0e9070eab", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "BubbleGuide", + "origin": [ + -41.5, + 52, + 0.2 + ], + "color": 0, + "uuid": "e29d3e86-e705-1a3c-cada-65a8edd299b0", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "BubbleGuideBackground", + "origin": [ + -2, + 0, + 0 + ], + "color": 0, + "uuid": "ac298288-5f5c-64f4-1b51-f939fb1d21f2", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4507a880-9681-34cd-6c87-fac17f8fdd5c", + "917771d6-d756-41a7-3225-881cb2978484", + "9964760c-f61e-5f67-f0d2-4d9bc6a2db29", + "181d67e8-0460-aabd-55f6-36d76196c156", + "157d0a40-12c8-0e9f-ff97-0c0134ce6ea6", + "6b0744f3-0e21-0fbf-2ae2-18ef858b84af", + "4f6e736e-74db-0300-8874-3f596411c942", + "cb43a040-331d-d647-2667-a5864e0ff99e" + ] + }, + { + "name": "Emojis", + "origin": [ + -14, + 52, + 0 + ], + "color": 0, + "uuid": "58d19f10-42f3-3092-820d-896ea7ee4733", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "84d1083b-49bc-5614-912e-44f4b899ae46", + "eaa43af0-2741-87e3-8702-e97d44042bf2", + "6a232e90-acfd-b9ae-6dd2-4ccc394218be", + "8de404c9-1e78-68d3-b8a3-38bb7aa8dae2", + "9b7746b0-f54b-8a38-8939-67a56cad1e40" + ] + } + ] + }, + { + "name": "ExSkillGuide", + "origin": [ + -54.5, + 17, + 0.2 + ], + "color": 0, + "uuid": "82f089b0-aef7-25b2-da8d-98daa0cb6bea", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "ExSkillGuideBackground", + "origin": [ + -13.75, + 17, + 0 + ], + "color": 0, + "uuid": "8070ebb5-b639-baf7-2735-8a329dc80acb", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "5fdd8d83-a6a5-663e-7757-69fdbbfc0c58", + "5aeb8b47-7cd2-1d4d-33e5-36fb8ea59b5e", + "9184dfb8-0e76-f1f7-2994-a00c75ec64d3", + "cbaf2279-0daf-c842-5ac0-02bb44d9b86d", + "80c43537-fc6b-fc1b-47fd-bae521fa59df", + "440c3854-1e60-9317-8555-bc5240f178d9", + "ced92cb6-960b-a1ae-ff79-9f04a59bd189" + ] + } + ] + }, + { + "name": "VersionDisplay", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "a4e9aabc-7f20-7bd2-cdc0-454075f31f35", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + } + ], + "textures": [ + { + "path": "", + "name": "good.png", + "folder": "", + "namespace": "", + "id": "1", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "eb85d156-8f1a-0715-eb0c-73c744d1192a", + "relative_path": "../../textures/emojis/good.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAJVJREFUOE9jZCASRNmx/gcpXXboNyOyFhQOLrNAmpf2KzJ8fyXIkNJ+DsWQQWgAzK/I3plTacTAKfaesBdgfsUVFnjDADmgzj58AjfDWF4GbDsIEDQA5lRkFxw5/ZUBnyHwWAC5IDNKDMP1yJqxuQLFAFBco4OR5gJ8sQALG7x5ARQTIEOQAUgDMiCYG9GTMroG9FgCAA1snRHHg/NsAAAAAElFTkSuQmCC" + }, + { + "path": "", + "name": "heart.png", + "folder": "", + "namespace": "", + "id": "2", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "0f751aec-a519-017f-2410-5ac9e0a601cb", + "relative_path": "../../textures/emojis/heart.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAKhJREFUOE9jZKAQMCLrXyTg8h/Gj/uwhyg5uCKQ5siWXLh5y2smM8AMwScHNgBZAYuyFMOfu8/ABoEMAQFkg2E2wCxgxKWZmKABGQI3ANlmYjTDXDgIDEAPRFKcD4oljFggZAAsrOCxANOAHtfYDELXDFKDkdqwxTlIITbNGAZgCw+QRhAAJS7k1AlzIYoLkL2DnAJhKRI9f2B1AbbMhU0jXhcQiglkeQDhnXzlvzdk1wAAAABJRU5ErkJggg==" + }, + { + "path": "", + "name": "note.png", + "folder": "", + "namespace": "", + "id": "7", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "8d3f27df-26ac-035a-5808-a8a5fb7df905", + "relative_path": "../../textures/emojis/note.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAALFJREFUOE9jZCAAPm5W+M/v+4ARlzKcEiANIM18xvkMn85OZMBlCFEG/GOwZPhyNgLsCJhBIMNBfKIMACkEGQICMINgLiPaAFgYIBsEcg1RBoDCAGQjDCCHCU4D0AMQ5mfkcMAbBsTEwCAzAN2PJHkBpJjD7D4D298J4ICGhTq+FAiLEUaYZpgAzBCYQfjyATgQYU79xVwAdwG2+MabmWCGICsixvko0YgciOiJBV+OBwCLvoaXPhsOpAAAAABJRU5ErkJggg==" + }, + { + "path": "", + "name": "question.png", + "folder": "", + "namespace": "", + "id": "3", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "0f142e45-9915-9908-6c14-6e682c9b40a8", + "relative_path": "../../textures/emojis/question.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAJNJREFUOE9jZMABNNa7/EeWuhG4hxGbUqyCIM3XA2Yw7PqXDteTv4mRAZshGAYgawZpAoGJfhDHYDMExQCQZmyKcYmDDMVqADabYIagy1HXAJCTQDahBxbRXsAWTfg0Y4QBugGENOM1gBjNRLkApAhXKiRoAK5kjiyONSnDFMDyA1kuQE/SJGUmWHrAlwdgrqTYCwB0pH8RBrtM7wAAAABJRU5ErkJggg==" + }, + { + "path": "", + "name": "sweat.png", + "folder": "", + "namespace": "", + "id": "8", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "4099d802-f6dd-e946-7e18-910d1056fd84", + "relative_path": "../../textures/emojis/sweat.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAJ9JREFUOE9jZCARmO5++/+0qzAjTBucQYw5IM3GypwMZ+9+Z4AZgmEAug3IBhM0AJsCmAEwOVGenwyvv7DDXYHiAooMwGUDyAXIcjAXwVwBdwFFBuCzARTaBF1AyABkb8C8AItKrKaj+xMW5yCLYHLwdIDNdlwGYEtsJLmAaAOcRAXAalfe/46SbGljALYQRg9pfBkNJSGhK0TOtrgMAQB1UsSltwwF2QAAAABJRU5ErkJggg==" + }, + { + "path": "", + "name": "bubble_emote_guide.png", + "folder": "", + "namespace": "", + "id": "6", + "width": 40, + "height": 38, + "uv_width": 40, + "uv_height": 38, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "5f08ee2d-3f25-8eb0-bc5a-be130fd9f46a", + "relative_path": "../../textures/bubble_emote_guide.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAmCAYAAAC29NkdAAAAAXNSR0IArs4c6QAAAixJREFUWEfN2F1OwkAQAOApVMAiAlEJMZHbeQ7xHN7GxBuY+OCLwURNjFET09ZCqRnIwLBMp0vB0nmh7f7k6/4XBwDg9v4pwV8Mr9unS2g23MU1Xpx7zso93dSri+JieqPmOvH3ZVJt38gViKXmDx2O40gTR2kmMgtH5RCpOFKTnLuH17XXb7S7kESBWKjXaS2ed+rT1Ipr1cpK2s6AiKPQkJvgsL6dADlOQx67E+iftMXWM1tuZ10s4SQk4ihMZBpu6xbUcBzJcSZSw20FHI2e9TUiz9QTygwGF/lmcRD4hQDzvqdTZuBkClBaIOJmO0kZW5BwpQRyXOmAEaxuj6UCSriXz6gcYzANV4oW1HB7B2bh9gqUcLTb4Nij2Ms6qOFMZOHAYFqBj7BqtTVPfoNiZzHiKGyQPS8uDshxNkjEFTZJJJyGJFwhQA0nITnu34E2OI40cbmAeNoI4+zT+9fYhU7d/rAexgCnteUHWa51kB+FNCTiKGyQiKPgSOwB63XQPKdhhRKS42yQHMeRNDysgBKOKuNICachJRzlb7rzM38mUMNxpIaTkBoO8/tRAmdeogNtcFjZW3hgtXVhJhyTNrjMSRJNQTiA2zmSyur/irzU43sAR01PrWjs/yzSxS5GHMX6V4KOzMJR6TQkxx23Dte7mOM2Rdri0pAmbm2SSDhb5KY4EynhZkAAGAaBf6XhspB5cVRv3VmOKexWikGncU171tBu+Beea/gHeJZZEDMlW2EAAAAASUVORK5CYII=" + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Mari/models/armor.bbmodel b/config/yosbr/config/figura/avatars/Mari/models/armor.bbmodel new file mode 100644 index 0000000..7a8becd --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/models/armor.bbmodel @@ -0,0 +1,3811 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "armor", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 19, + "height": 48 + }, + "elements": [ + { + "name": "RightChestplate", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 18, + -2 + ], + "to": [ + 8, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 13.0625, + 30, + 14.25, + 39 + ], + "texture": 0 + }, + "east": { + "uv": [ + 11.875, + 30, + 13.0625, + 39 + ], + "texture": 0 + }, + "south": { + "uv": [ + 15.4375, + 30, + 16.625, + 39 + ], + "texture": 0 + }, + "west": { + "uv": [ + 14.25, + 30, + 15.4375, + 39 + ], + "texture": 0 + }, + "up": { + "uv": [ + 13.0625, + 24, + 14.25, + 30 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "04c52e51-518e-9513-d607-bd72f9efa2c9" + }, + { + "name": "RightChestplateOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 18, + -2 + ], + "to": [ + 8, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.001, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 13.0625, + 30, + 14.25, + 39 + ], + "texture": 1 + }, + "east": { + "uv": [ + 11.875, + 30, + 13.0625, + 39 + ], + "texture": 1 + }, + "south": { + "uv": [ + 15.4375, + 30, + 16.625, + 39 + ], + "texture": 1 + }, + "west": { + "uv": [ + 14.25, + 30, + 15.4375, + 39 + ], + "texture": 1 + }, + "up": { + "uv": [ + 13.0625, + 24, + 14.25, + 30 + ], + "rotation": 180, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6be84467-6c7f-1451-5458-a406488d3d44" + }, + { + "name": "LeftChestplate", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 18, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 14.25, + 30, + 13.0625, + 39 + ], + "texture": 0 + }, + "east": { + "uv": [ + 15.4375, + 30, + 14.25, + 39 + ], + "texture": 0 + }, + "south": { + "uv": [ + 16.625, + 30, + 15.4375, + 39 + ], + "texture": 0 + }, + "west": { + "uv": [ + 13.0625, + 30, + 11.875, + 39 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14.25, + 24, + 13.0625, + 30 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "22408e50-1695-eb9c-6ad3-457297fef7dd" + }, + { + "name": "LeftChestplateOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 18, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.001, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 14.25, + 30, + 13.0625, + 39 + ], + "texture": 1 + }, + "east": { + "uv": [ + 15.4375, + 30, + 14.25, + 39 + ], + "texture": 1 + }, + "south": { + "uv": [ + 16.625, + 30, + 15.4375, + 39 + ], + "texture": 1 + }, + "west": { + "uv": [ + 13.0625, + 30, + 11.875, + 39 + ], + "texture": 1 + }, + "up": { + "uv": [ + 14.25, + 24, + 13.0625, + 30 + ], + "rotation": 180, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "77395185-0449-b7e0-c6cb-1acfdbb3f452" + }, + { + "name": "RightLeggings", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 6, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.5, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 30, + 2.375, + 39 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 30, + 1.1875, + 39 + ], + "texture": 2 + }, + "south": { + "uv": [ + 3.5625, + 30, + 4.75, + 39 + ], + "texture": 2 + }, + "west": { + "uv": [ + 2.375, + 30, + 3.5625, + 39 + ], + "texture": 2 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 2 + }, + "down": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "8715712c-138d-7bdc-882f-f4b2c6770544" + }, + { + "name": "RightLeggingsOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 6, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.501, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 30, + 2.375, + 39 + ], + "texture": 3 + }, + "east": { + "uv": [ + 0, + 30, + 1.1875, + 39 + ], + "texture": 3 + }, + "south": { + "uv": [ + 3.5625, + 30, + 4.75, + 39 + ], + "texture": 3 + }, + "west": { + "uv": [ + 2.375, + 30, + 3.5625, + 39 + ], + "texture": 3 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 3 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "db54d1e6-20a4-45af-6869-4a65f0ea1723" + }, + { + "name": "RightBoots", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 6, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 30, + 2.375, + 39 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 30, + 1.1875, + 39 + ], + "texture": 0 + }, + "south": { + "uv": [ + 3.5625, + 30, + 4.75, + 39 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2.375, + 30, + 3.5625, + 39 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "1cb0afb2-ba2b-92d1-1099-aefd7cc512b8" + }, + { + "name": "RightBootsOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 6, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.001, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 30, + 2.375, + 39 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 30, + 1.1875, + 39 + ], + "texture": 1 + }, + "south": { + "uv": [ + 3.5625, + 30, + 4.75, + 39 + ], + "texture": 1 + }, + "west": { + "uv": [ + 2.375, + 30, + 3.5625, + 39 + ], + "texture": 1 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "dad8c5c7-149c-7b1f-9bc2-c432c26bc70e" + }, + { + "name": "LeftLeggings", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 6, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 0.5, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 30, + 1.1875, + 39 + ], + "texture": 2 + }, + "east": { + "uv": [ + 3.5625, + 30, + 2.375, + 39 + ], + "texture": 2 + }, + "south": { + "uv": [ + 4.75, + 30, + 3.5625, + 39 + ], + "texture": 2 + }, + "west": { + "uv": [ + 1.1875, + 30, + 0, + 39 + ], + "texture": 2 + }, + "up": { + "uv": [ + 2.375, + 24, + 1.1875, + 30 + ], + "rotation": 180, + "texture": 2 + }, + "down": { + "uv": [ + 2.375, + 24, + 1.1875, + 30 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "208279dc-0d16-d5cc-3766-43129fd24c7b" + }, + { + "name": "LeftLeggingsOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 6, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 0.501, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 30, + 1.1875, + 39 + ], + "texture": 3 + }, + "east": { + "uv": [ + 3.5625, + 30, + 2.375, + 39 + ], + "texture": 3 + }, + "south": { + "uv": [ + 4.75, + 30, + 3.5625, + 39 + ], + "texture": 3 + }, + "west": { + "uv": [ + 1.1875, + 30, + 0, + 39 + ], + "texture": 3 + }, + "up": { + "uv": [ + 2.375, + 24, + 1.1875, + 30 + ], + "rotation": 180, + "texture": 3 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "a15d5564-7cd3-fc93-e984-76ed5bc8023b" + }, + { + "name": "LeftBoots", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 6, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 30, + 1.1875, + 39 + ], + "texture": 0 + }, + "east": { + "uv": [ + 3.5625, + 30, + 2.375, + 39 + ], + "texture": 0 + }, + "south": { + "uv": [ + 4.75, + 30, + 3.5625, + 39 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1.1875, + 30, + 0, + 39 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2.375, + 24, + 1.1875, + 30 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6646f669-d54c-168c-c291-d46c48bfda6b" + }, + { + "name": "LeftBootsOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 6, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.001, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 30, + 1.1875, + 39 + ], + "texture": 1 + }, + "east": { + "uv": [ + 3.5625, + 30, + 2.375, + 39 + ], + "texture": 1 + }, + "south": { + "uv": [ + 4.75, + 30, + 3.5625, + 39 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1.1875, + 30, + 0, + 39 + ], + "texture": 1 + }, + "up": { + "uv": [ + 2.375, + 24, + 1.1875, + 30 + ], + "rotation": 180, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "7a6660e4-1279-daf0-3b3d-293b6821dcbe" + }, + { + "name": "RightChestplateBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 8, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 22 + ], + "faces": { + "north": { + "uv": [ + 13.0625, + 39, + 14.25, + 48 + ], + "texture": 0 + }, + "east": { + "uv": [ + 11.875, + 39, + 13.0625, + 48 + ], + "texture": 0 + }, + "south": { + "uv": [ + 15.4375, + 39, + 16.625, + 48 + ], + "texture": 0 + }, + "west": { + "uv": [ + 14.25, + 39, + 15.4375, + 48 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 14.25, + 24, + 15.4375, + 30 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "4a3a4eb6-fd3e-7d2b-a211-76957d9120bd" + }, + { + "name": "RightChestplateBottomOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 8, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.001, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 22 + ], + "faces": { + "north": { + "uv": [ + 13.0625, + 39, + 14.25, + 48 + ], + "texture": 1 + }, + "east": { + "uv": [ + 11.875, + 39, + 13.0625, + 48 + ], + "texture": 1 + }, + "south": { + "uv": [ + 15.4375, + 39, + 16.625, + 48 + ], + "texture": 1 + }, + "west": { + "uv": [ + 14.25, + 39, + 15.4375, + 48 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 14.25, + 24, + 15.4375, + 30 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "325d12e9-803c-2ac9-5359-07d737487724" + }, + { + "name": "LeftChestplateBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 12, + -2 + ], + "to": [ + -4, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 22 + ], + "faces": { + "north": { + "uv": [ + 14.25, + 39, + 13.0625, + 48 + ], + "texture": 0 + }, + "east": { + "uv": [ + 15.4375, + 39, + 14.25, + 48 + ], + "texture": 0 + }, + "south": { + "uv": [ + 16.625, + 39, + 15.4375, + 48 + ], + "texture": 0 + }, + "west": { + "uv": [ + 13.0625, + 39, + 11.875, + 48 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 15.4375, + 24, + 14.25, + 30 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "26bc361a-dd53-ef35-4d8c-de683271f69d" + }, + { + "name": "LeftChestplateBottomOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 12, + -2 + ], + "to": [ + -4, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.001, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 22 + ], + "faces": { + "north": { + "uv": [ + 14.25, + 39, + 13.0625, + 48 + ], + "texture": 1 + }, + "east": { + "uv": [ + 15.4375, + 39, + 14.25, + 48 + ], + "texture": 1 + }, + "south": { + "uv": [ + 16.625, + 39, + 15.4375, + 48 + ], + "texture": 1 + }, + "west": { + "uv": [ + 13.0625, + 39, + 11.875, + 48 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 15.4375, + 24, + 14.25, + 30 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "2b05091b-8085-6724-3d43-d9171144768c" + }, + { + "name": "RightLeggingsBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.5, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 39, + 2.375, + 48 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 39, + 1.1875, + 48 + ], + "texture": 2 + }, + "south": { + "uv": [ + 3.5625, + 39, + 4.75, + 48 + ], + "texture": 2 + }, + "west": { + "uv": [ + 2.375, + 39, + 3.5625, + 48 + ], + "texture": 2 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 2 + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "de6d8972-c7d3-65ad-9984-a8cb0304f1a4" + }, + { + "name": "RightLeggingsBottomOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.501, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 39, + 2.375, + 48 + ], + "texture": 3 + }, + "east": { + "uv": [ + 0, + 39, + 1.1875, + 48 + ], + "texture": 3 + }, + "south": { + "uv": [ + 3.5625, + 39, + 4.75, + 48 + ], + "texture": 3 + }, + "west": { + "uv": [ + 2.375, + 39, + 3.5625, + 48 + ], + "texture": 3 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 3 + } + }, + "type": "cube", + "uuid": "0d1b2e25-e3cb-5fe8-2f68-f18aca44f0aa" + }, + { + "name": "RightBootsBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 39, + 2.375, + 48 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 39, + 1.1875, + 48 + ], + "texture": 0 + }, + "south": { + "uv": [ + 3.5625, + 39, + 4.75, + 48 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2.375, + 39, + 3.5625, + 48 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2b06f488-228c-8e2e-cf9f-a31f465b2b91" + }, + { + "name": "LeftLeggingsBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 0.5, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 39, + 1.1875, + 48 + ], + "texture": 2 + }, + "east": { + "uv": [ + 3.5625, + 39, + 2.375, + 48 + ], + "texture": 2 + }, + "south": { + "uv": [ + 4.75, + 39, + 3.5625, + 48 + ], + "texture": 2 + }, + "west": { + "uv": [ + 1.1875, + 39, + 0, + 48 + ], + "texture": 2 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 2 + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "94b2a0f5-fc51-dff6-741d-bb1ba99d2a91" + }, + { + "name": "LeftLeggingsBottomOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 0.501, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 39, + 1.1875, + 48 + ], + "texture": 3 + }, + "east": { + "uv": [ + 3.5625, + 39, + 2.375, + 48 + ], + "texture": 3 + }, + "south": { + "uv": [ + 4.75, + 39, + 3.5625, + 48 + ], + "texture": 3 + }, + "west": { + "uv": [ + 1.1875, + 39, + 0, + 48 + ], + "texture": 3 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "f89ca1fb-370e-a2b8-90bd-46b52f03d3c6" + }, + { + "name": "LeftBootsBottomOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.001, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 39, + 1.1875, + 48 + ], + "texture": 1 + }, + "east": { + "uv": [ + 3.5625, + 39, + 2.375, + 48 + ], + "texture": 1 + }, + "south": { + "uv": [ + 4.75, + 39, + 3.5625, + 48 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1.1875, + 39, + 0, + 48 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "65127873-1035-1a39-184f-f7910cbe00c7" + }, + { + "name": "LeftBootsBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 39, + 1.1875, + 48 + ], + "texture": 0 + }, + "east": { + "uv": [ + 3.5625, + 39, + 2.375, + 48 + ], + "texture": 0 + }, + "south": { + "uv": [ + 4.75, + 39, + 3.5625, + 48 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1.1875, + 39, + 0, + 48 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "aabdaefc-770f-a69a-35cc-bb6ac71bc9be" + }, + { + "name": "RightBootsBottomOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.001, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 39, + 2.375, + 48 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 39, + 1.1875, + 48 + ], + "texture": 1 + }, + "south": { + "uv": [ + 3.5625, + 39, + 4.75, + 48 + ], + "texture": 1 + }, + "west": { + "uv": [ + 2.375, + 39, + 3.5625, + 48 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": 1 + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "2f97fafc-dd7b-205e-8403-0de28ab11617" + }, + { + "name": "RightChestplateTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 18, + -2 + ], + "to": [ + 8, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.002, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 13.0625, + 30, + 14.25, + 39 + ], + "texture": 4 + }, + "east": { + "uv": [ + 11.875, + 30, + 13.0625, + 39 + ], + "texture": 4 + }, + "south": { + "uv": [ + 15.4375, + 30, + 16.625, + 39 + ], + "texture": 4 + }, + "west": { + "uv": [ + 14.25, + 30, + 15.4375, + 39 + ], + "texture": 4 + }, + "up": { + "uv": [ + 13.0625, + 24, + 14.25, + 30 + ], + "rotation": 180, + "texture": 4 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "1bc91350-32b8-1826-c5aa-42a13e529528" + }, + { + "name": "RightChestplateBottomTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 8, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.002, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 22 + ], + "faces": { + "north": { + "uv": [ + 13.0625, + 39, + 14.25, + 48 + ], + "texture": 4 + }, + "east": { + "uv": [ + 11.875, + 39, + 13.0625, + 48 + ], + "texture": 4 + }, + "south": { + "uv": [ + 15.4375, + 39, + 16.625, + 48 + ], + "texture": 4 + }, + "west": { + "uv": [ + 14.25, + 39, + 15.4375, + 48 + ], + "texture": 4 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 4 + }, + "down": { + "uv": [ + 14.25, + 24, + 15.4375, + 30 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "77d2d753-cc5c-9604-ed68-fefded8b74c0" + }, + { + "name": "LeftChestplateTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 18, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.002, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 14.25, + 30, + 13.0625, + 39 + ], + "texture": 4 + }, + "east": { + "uv": [ + 15.4375, + 30, + 14.25, + 39 + ], + "texture": 4 + }, + "south": { + "uv": [ + 16.625, + 30, + 15.4375, + 39 + ], + "texture": 4 + }, + "west": { + "uv": [ + 13.0625, + 30, + 11.875, + 39 + ], + "texture": 4 + }, + "up": { + "uv": [ + 14.25, + 24, + 13.0625, + 30 + ], + "rotation": 180, + "texture": 4 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "ed6a2771-b199-06d5-c826-d9ad2eeeb335" + }, + { + "name": "LeftChestplateBottomTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 12, + -2 + ], + "to": [ + -4, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.002, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 22 + ], + "faces": { + "north": { + "uv": [ + 14.25, + 39, + 13.0625, + 48 + ], + "texture": 4 + }, + "east": { + "uv": [ + 15.4375, + 39, + 14.25, + 48 + ], + "texture": 4 + }, + "south": { + "uv": [ + 16.625, + 39, + 15.4375, + 48 + ], + "texture": 4 + }, + "west": { + "uv": [ + 13.0625, + 39, + 11.875, + 48 + ], + "texture": 4 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 4 + }, + "down": { + "uv": [ + 15.4375, + 24, + 14.25, + 30 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "f3fe7c1b-6af1-72ab-3278-90a5307c6676" + }, + { + "name": "RightLeggingsTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 6, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.502, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 30, + 2.375, + 39 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 30, + 1.1875, + 39 + ], + "texture": 5 + }, + "south": { + "uv": [ + 3.5625, + 30, + 4.75, + 39 + ], + "texture": 5 + }, + "west": { + "uv": [ + 2.375, + 30, + 3.5625, + 39 + ], + "texture": 5 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 5 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 5 + } + }, + "type": "cube", + "uuid": "152a41e4-ba8e-97d6-b386-7f133012408b" + }, + { + "name": "RightBootsTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 6, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.002, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 30, + 2.375, + 39 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 30, + 1.1875, + 39 + ], + "texture": 4 + }, + "south": { + "uv": [ + 3.5625, + 30, + 4.75, + 39 + ], + "texture": 4 + }, + "west": { + "uv": [ + 2.375, + 30, + 3.5625, + 39 + ], + "texture": 4 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 4 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "306712a4-3272-0ec7-9bdf-cee19696ad51" + }, + { + "name": "RightLeggingsBottomTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.502, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 39, + 2.375, + 48 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 39, + 1.1875, + 48 + ], + "texture": 5 + }, + "south": { + "uv": [ + 3.5625, + 39, + 4.75, + 48 + ], + "texture": 5 + }, + "west": { + "uv": [ + 2.375, + 39, + 3.5625, + 48 + ], + "texture": 5 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": 5 + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 5 + } + }, + "type": "cube", + "uuid": "e3ce7714-e502-2ebc-1c85-10d2983ebb7c" + }, + { + "name": "RightBootsBottomTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.002, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 39, + 2.375, + 48 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 39, + 1.1875, + 48 + ], + "texture": 4 + }, + "south": { + "uv": [ + 3.5625, + 39, + 4.75, + 48 + ], + "texture": 4 + }, + "west": { + "uv": [ + 2.375, + 39, + 3.5625, + 48 + ], + "texture": 4 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": 4 + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "1e955fb1-f5ca-cae7-203e-ce7be18f442b" + }, + { + "name": "LeftLeggingsTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 6, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 0.502, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 30, + 1.1875, + 39 + ], + "texture": 5 + }, + "east": { + "uv": [ + 3.5625, + 30, + 2.375, + 39 + ], + "texture": 5 + }, + "south": { + "uv": [ + 4.75, + 30, + 3.5625, + 39 + ], + "texture": 5 + }, + "west": { + "uv": [ + 1.1875, + 30, + 0, + 39 + ], + "texture": 5 + }, + "up": { + "uv": [ + 2.375, + 24, + 1.1875, + 30 + ], + "rotation": 180, + "texture": 5 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 5 + } + }, + "type": "cube", + "uuid": "08aa3ef4-81da-97b6-1fb6-10050d4ab6f9" + }, + { + "name": "LeftBootsTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 6, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.002, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 30, + 1.1875, + 39 + ], + "texture": 4 + }, + "east": { + "uv": [ + 3.5625, + 30, + 2.375, + 39 + ], + "texture": 4 + }, + "south": { + "uv": [ + 4.75, + 30, + 3.5625, + 39 + ], + "texture": 4 + }, + "west": { + "uv": [ + 1.1875, + 30, + 0, + 39 + ], + "texture": 4 + }, + "up": { + "uv": [ + 2.375, + 24, + 1.1875, + 30 + ], + "rotation": 180, + "texture": 4 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "cc172290-3e5f-a21e-14c6-0beb0b7228de" + }, + { + "name": "LeftLeggingsBottomTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 0.502, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 39, + 1.1875, + 48 + ], + "texture": 5 + }, + "east": { + "uv": [ + 3.5625, + 39, + 2.375, + 48 + ], + "texture": 5 + }, + "south": { + "uv": [ + 4.75, + 39, + 3.5625, + 48 + ], + "texture": 5 + }, + "west": { + "uv": [ + 1.1875, + 39, + 0, + 48 + ], + "texture": 5 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": 5 + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 5 + } + }, + "type": "cube", + "uuid": "ae508872-aa37-2b04-7a48-9528dbec9686" + }, + { + "name": "LeftBootsBottomTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.002, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 39, + 1.1875, + 48 + ], + "texture": 4 + }, + "east": { + "uv": [ + 3.5625, + 39, + 2.375, + 48 + ], + "texture": 4 + }, + "south": { + "uv": [ + 4.75, + 39, + 3.5625, + 48 + ], + "texture": 4 + }, + "west": { + "uv": [ + 1.1875, + 39, + 0, + 48 + ], + "texture": 4 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": 4 + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "e46adda3-76b0-3f14-f8bb-14dec4636073" + } + ], + "outliner": [ + { + "name": "ArmorRA", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "9cdcfaa1-6e79-d94c-f516-f1aff5551a36", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightChestplate", + "origin": [ + 0, + 22, + 0 + ], + "color": 0, + "uuid": "fd9a522d-9a6f-9315-f563-c2c2dc2643ed", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "04c52e51-518e-9513-d607-bd72f9efa2c9", + "6be84467-6c7f-1451-5458-a406488d3d44", + "1bc91350-32b8-1826-c5aa-42a13e529528" + ] + } + ] + }, + { + "name": "ArmorRAB", + "origin": [ + 7, + 18, + 2 + ], + "color": 0, + "uuid": "475e6e92-a1e4-3dbd-1fbc-f80f1d0dad3a", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightChestplateBottom", + "origin": [ + 5.5, + 18, + 2 + ], + "color": 0, + "uuid": "002c7a8e-4836-7723-7a30-02d9e7d6864c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4a3a4eb6-fd3e-7d2b-a211-76957d9120bd", + "325d12e9-803c-2ac9-5359-07d737487724", + "77d2d753-cc5c-9604-ed68-fefded8b74c0" + ] + } + ] + }, + { + "name": "ArmorLA", + "origin": [ + -5, + 23, + 0 + ], + "color": 0, + "uuid": "73d4bd8b-b1f2-b209-c731-ba14eca51894", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "LeftChestplate", + "origin": [ + 0, + 22, + 0 + ], + "color": 0, + "uuid": "5c14372a-8dc0-5453-10f1-d47cdec6e52b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "22408e50-1695-eb9c-6ad3-457297fef7dd", + "77395185-0449-b7e0-c6cb-1acfdbb3f452", + "ed6a2771-b199-06d5-c826-d9ad2eeeb335" + ] + } + ] + }, + { + "name": "ArmorLAB", + "origin": [ + -7, + 18, + 2 + ], + "color": 0, + "uuid": "402ce6c8-6779-6fc6-a408-2c462302696d", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "LeftChestplateBottom", + "origin": [ + -5.5, + 18, + 2 + ], + "color": 0, + "uuid": "f09fa0ac-568d-aeed-7aeb-181f6bcae7de", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "26bc361a-dd53-ef35-4d8c-de683271f69d", + "2b05091b-8085-6724-3d43-d9171144768c", + "f3fe7c1b-6af1-72ab-3278-90a5307c6676" + ] + } + ] + }, + { + "name": "ArmorRL", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "09960a3e-73fa-bf53-b5a6-939709be95dd", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightLeggings", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "f2c56651-0b87-7be5-a5d0-54f0b539cedd", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8715712c-138d-7bdc-882f-f4b2c6770544", + "db54d1e6-20a4-45af-6869-4a65f0ea1723", + "152a41e4-ba8e-97d6-b386-7f133012408b" + ] + }, + { + "name": "RightBoots", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "585bbbd4-29dc-4475-360d-a37d1d22a0dc", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1cb0afb2-ba2b-92d1-1099-aefd7cc512b8", + "dad8c5c7-149c-7b1f-9bc2-c432c26bc70e", + "306712a4-3272-0ec7-9bdf-cee19696ad51" + ] + } + ] + }, + { + "name": "ArmorRLB", + "origin": [ + 2, + 6, + 0 + ], + "color": 0, + "uuid": "51c416bc-1aef-41e3-863d-675810356aef", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightLeggingsBottom", + "origin": [ + 2, + 6, + 0 + ], + "color": 0, + "uuid": "943c2228-26ef-a3cc-c4ff-8b2e3a802431", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "de6d8972-c7d3-65ad-9984-a8cb0304f1a4", + "0d1b2e25-e3cb-5fe8-2f68-f18aca44f0aa", + "e3ce7714-e502-2ebc-1c85-10d2983ebb7c" + ] + }, + { + "name": "RightBootsBottom", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "225aaa89-44de-01b7-601e-e0636668f07c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "2b06f488-228c-8e2e-cf9f-a31f465b2b91", + "2f97fafc-dd7b-205e-8403-0de28ab11617", + "1e955fb1-f5ca-cae7-203e-ce7be18f442b" + ] + } + ] + }, + { + "name": "ArmorLL", + "origin": [ + -2, + 6, + 2 + ], + "color": 0, + "uuid": "ebec21d0-6b75-5c93-bcad-43a0bbe83be0", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "LeftLeggings", + "origin": [ + -2, + 6, + 2 + ], + "color": 0, + "uuid": "0e96119a-486e-469e-c718-c9fcb2e8f4aa", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "208279dc-0d16-d5cc-3766-43129fd24c7b", + "a15d5564-7cd3-fc93-e984-76ed5bc8023b", + "08aa3ef4-81da-97b6-1fb6-10050d4ab6f9" + ] + }, + { + "name": "LeftBoots", + "origin": [ + -2, + 6, + -2 + ], + "color": 0, + "uuid": "bae07c99-6cf4-d4d7-9e54-a7966539daf6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "6646f669-d54c-168c-c291-d46c48bfda6b", + "7a6660e4-1279-daf0-3b3d-293b6821dcbe", + "cc172290-3e5f-a21e-14c6-0beb0b7228de" + ] + } + ] + }, + { + "name": "ArmorLLB", + "origin": [ + -2, + 6, + 0 + ], + "color": 0, + "uuid": "ac27b599-070c-a038-5e6f-e998a5ad1cb4", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "LeftLeggingsBottom", + "origin": [ + -2, + 6, + -2 + ], + "color": 0, + "uuid": "bfb3e89f-f73f-f1da-55a1-d25eb9f7c2d4", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "94b2a0f5-fc51-dff6-741d-bb1ba99d2a91", + "f89ca1fb-370e-a2b8-90bd-46b52f03d3c6", + "ae508872-aa37-2b04-7a48-9528dbec9686" + ] + }, + { + "name": "LeftBootsBottom", + "origin": [ + -2, + 6, + -2 + ], + "color": 0, + "uuid": "71ea41e5-93f0-d75e-73eb-77a7b04abfca", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "aabdaefc-770f-a69a-35cc-bb6ac71bc9be", + "65127873-1035-1a39-184f-f7910cbe00c7", + "e46adda3-76b0-3f14-f8bb-14dec4636073" + ] + } + ] + } + ], + "textures": [ + { + "path": "", + "name": "leather_layer_1.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 64, + "height": 32, + "uv_width": 19, + "uv_height": 48, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "3077f184-e559-5a8a-71d6-29d7cea0677e", + "relative_path": "../../textures/for_modeling/leather_layer_1.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAAXNSR0IArs4c6QAAA3lJREFUaEPlmTFv4kAQhU0TnWiQEEW4DlFSRRFVdB1/g5rfRM3foDulQkeacKcUiO5IgZBo0CmNT99Kz5qs7CzENvh8K0XB7Ho98zzzZt7SiAJjNpvFx+PRrWo2m8lqfTeZTBqhPao8HzQeAO7v7t758OftzV2vVqtoPB4H96gFAL9eXqJWq5X40m63/w8AptNp/O3hIfr9+hodDocEAMDYbrf1jwAfgF6vl4CwWCyi2nMAAAyHw2i/37sIEABfbm6iH09P9Y8ASHAwGLi3DgjkPs4zvj8+1j8CAABns0rhP58CWQ7isK37SvwsILQ2bd6WQbsvn68NYMPWedV3hTssj5FUAeZIAQ34YLfbOZC63a5LDQ2lCBzBsH0E1URrq9BHNNLKHCXu6+2ty3ENPxr0ppn3y6S9n/sAAMcZKqWQaWUA6Pf7iWFyzIZyVrcHeD5AAgoQ1uu1mwYgGik7NF+JFLAkl9cggWI5QQDbHqIqZbT0Pl5iChBsCYUfKkGClxIqRIaNiryRVpTdpUdAUYaWtU8QgPl8Hou5Ia7RaBS8pyxj2Vd9i3grbyQFnVkul7F0QFUAUF9RhBYJAvDz+TlWgwQQ144A9S2UVUg074FMEADbKkNieR+YNz1s78FepadAyOAsLeEDZXM3TVx9tN7XD9yfpT3O1RrBCDgFAHKSNKG1Ve9v81NnCnbeX0/bbZ2ie9R3NuettvC1hn99ilzPDYDVElY8Yai0hMQUAEhcoQ1Ybx0S19AlMk8rbbWErhFf0ioSY+yj/ZjXdShlcwNAaOuB1mCpRwyVYxyhWYOtVvCVKKVXesQ6hGP+87KuTzmzLAQAnRj5Ib7ZbNxJspW/OJC2XmpRilFqERA6nY7bRxGWdW0jRACWHgGkgMQOxvLHGSJDR2jiEaWAXW8B8flG64kaK7/TpLnlj3NabncecA6ryhj7EB2a6g0JgLQIEECAo/UAomG7Tt5o3jIXIvF3J0JSaJAWI41VRUoiOeW0f0KkByv8cdgPUU6UGAJMUcP/S/3w4gAgJ/VGFJLWYDvvv0E5ausvoJCzgKJfkyypcY9dLxK7xg8vLgUgFUjHsrQMxlBpeeWk1mcdaWlPHBUQvO2scE5rpi51VpBEgE5oVJfVqOiN23kiguuPGo2iW9ZQLn923kVAWltpWVckmcbEoTLzWcMudd9f6+s3Tq3qU78AAAAASUVORK5CYII=" + }, + { + "path": "", + "name": "leather_layer_1_overlay.png", + "folder": "", + "namespace": "", + "id": "1", + "width": 64, + "height": 32, + "uv_width": 19, + "uv_height": 48, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "2ba8879b-4ecb-195a-59ee-6d9e98804dde", + "relative_path": "../../textures/for_modeling/leather_layer_1_overlay.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAAXNSR0IArs4c6QAAARtJREFUaENjZCABeOlI/Acp33blBSMJ2ga1UpI8EmWhAA6AZScekKRvMIcASR4Z8QGQZANJAfOOjNAUkOWgCQ6AaQeuk5Ryhk0WGA2AkZ4CRnwZQGkABJlACtF1ZwZPIUpSYUZpNUhpANKiMCUpAEAtQQEeDrIbQoOxECUpACiNAVAK4GDhHFTVKF0DAJQCfvz5PqgaUnQNgCFfBlCaBSgtRCm1H5t+uqYAWniAUjMJBgBsDABm0XAaCwD5iagAUBARZPjw4zvDhy8/htVgCNEBAKr7OVgYGF58GKEBgJzPRlwWoLSQGez6CZYBg90DlLpvNAAoDcGhrn80BQz1GKTU/aMpgNIQHOr6R1PAUI9BSt0/mgIoDcGhrh8ARURkId1f/LQAAAAASUVORK5CYII=" + }, + { + "path": "", + "name": "leather_layer_2.png", + "folder": "", + "namespace": "", + "id": "2", + "width": 64, + "height": 32, + "uv_width": 19, + "uv_height": 48, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "a3d07fcc-8736-7c2a-3a7d-01bca4f29360", + "relative_path": "../../textures/for_modeling/leather_layer_2.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAAXNSR0IArs4c6QAAAbNJREFUaEPtVquOg0AUHTSGIDA4BA7ZLLLZj8DzZXi+BI9DoJYKBMGwqevmTHI2N7Ntd5NuSToz15B5NOk9cx43UI5X4Hj/ygPgGeA4Al4CjhPAm6CXgJeA4wh4CThOAJ8CXgJeAgYCbdtesLVtmwrDUFVVZTVLfjQHAN4OB/V5Pquu61Rd124B0DTNpSxLNY6jmufZTQCkKqxnADVP3eML7UsfuHWG/VcHKAAAaDiKIjUMg24+TVMNgLmepknv43xdVyskEkDzSZJoANhgURS60b7vdRrAE1AwRRTWy7Lo+6+eEpoBfHE0hIbzPL/JAAkIALICAL44XpgSAMXRLCkfx7FmBNf4WsEAKQFqHiBkWfYtATDCBIRrKxhAU8OLk+KcA8gIMIAMkaZpRQpIDzBjEICYJmmmxL2YNCOVIzblxXMZuzzbI2a1CfJPmdn/l8Zwh6MzPQJrFkZqljznqA0A5H3c5W/2MNmH53w5OlNC78ej+jiddN/wCpScM2C6kNhv9/cw2YcBuDZIsUG+PJpnapiSYuwSKIKFL0z52R7zbwBIudzzlGsew7mDg5j0jWenzBfesmAwq9d1bgAAAABJRU5ErkJggg==" + }, + { + "path": "", + "name": "leather_layer_2_overlay.png", + "folder": "", + "namespace": "", + "id": "3", + "width": 64, + "height": 32, + "uv_width": 19, + "uv_height": 48, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "72561028-643a-e907-78d7-d707a6b9393f", + "relative_path": "../../textures/for_modeling/leather_layer_2_overlay.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAAXNSR0IArs4c6QAAAP5JREFUaEPtlbEKwjAQhq/gkEKHCA516wM4OvgMjo4+oKPP4eBDODp2KOSGQuUaAramLirE3n9LSS4N3Mf//8lIeWXK5ycAgAKUE4AFlAsAIQgLwALKCcACygWAVwAWgAWUE4AFlAsArwAsAAtECBx3VSfbp8tt9gp5GVCGX9ucHBPV7GYPIQrAmrzXhUoAMrhqC2gLxY9D7rD1gRmKmckYE+U47r07Gy44X38bxF8BUBY+M+6N679hPQDTOqrZ70ifR+sYMbkveQD7TdnZwpBZSGgOBxwPFfrWEHFLVDf+h2q17IHEzicP4NkCImmpKQtM5YvAi5VASh7Av4fmA8zRVyFbTtAIAAAAAElFTkSuQmCC" + }, + { + "path": "", + "name": "trim.png", + "folder": "", + "namespace": "", + "id": "5", + "width": 64, + "height": 32, + "uv_width": 19, + "uv_height": 48, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "10cc6101-1a98-56ff-84bb-c18cb34472c0", + "relative_path": "../../textures/for_modeling/trim.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAAXNSR0IArs4c6QAAARlJREFUaEPtWIEJxCAMrJtkFEdxFEdxFEdxE5/Ip+TFL31S+TamUFrE2NzlUsi5bfHLLY5/MwJMAYszYC2wuADsJ2gtEGOs2AallNYNANBueqcWea83wkoplfbzWFzj53Sx+7m0D58xxr8W4fTHc86ViMHEvfenY+/8n1EBQkKwESBhT0OsKUBDFSUYTAES9jTEmgI0VFGCwRQgYU9DrClAQxUlGG6vAD6FcqA0UuecP/B77/uR/hCjmAD0EzCZkY9AIzOCGPkGfQwft8lXCCGIczxSiEMAxBpt7Od93EPJcjMD174ZGmiaAMBuoNC7RK4zYofs8uTxoyml+mslnmKgDAno+06TA9SraGp/zZDs1WcaAVcz+rTzXjFzgCFw/S4BAAAAAElFTkSuQmCC" + }, + { + "path": "", + "name": "trim_leggings.png", + "folder": "", + "namespace": "", + "id": "6", + "width": 64, + "height": 32, + "uv_width": 19, + "uv_height": 48, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "a801ffff-07dc-221a-9ca4-89a631acd89b", + "relative_path": "../../textures/for_modeling/trim_leggings.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAAXNSR0IArs4c6QAAALdJREFUaEPtlVEKgCAQRPUmHsWj71H2JsVKGxH1o24kM0KkZIs+Z8acwFsG338iACoAnAAtAC4AhiAtQAuAE6AFwAXAW4AWoAXACdAC4ALgLUAL0ALgBLKIbMaglHKiUNU2trc364tIG9o3f2qtS9to6cXPEC8BzKC4co1hBViGeFZ4jnh+eD7YnGum3Of7+KlOdMYMA3g7fVW1Tbf61/7f1BIGwE/9AJCiT7IXbBiA3gV9/R88gB06yDkhrwNxCwAAAABJRU5ErkJggg==" + } + ], + "animations": [ + { + "uuid": "8a5254c3-52e1-ebac-3078-87344e3c6f23", + "name": "jerk_ears", + "loop": "once", + "override": false, + "length": 0.25, + "snapping": 24, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "" + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Mari/models/barrier.bbmodel b/config/yosbr/config/figura/avatars/Mari/models/barrier.bbmodel new file mode 100644 index 0000000..920e657 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/models/barrier.bbmodel @@ -0,0 +1,4318 @@ +{ + "meta": { + "format_version": "4.5", + "model_format": "free", + "box_uv": false + }, + "name": "barrier", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 1, + "height": 1 + }, + "elements": [ + { + "name": "Barrier1", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "Arn5": [ + 12.45573, + -16.30478, + -7.99099 + ], + "bhLA": [ + 17.95504, + -12.10366, + -3.99547 + ], + "oe5L": [ + 12.45573, + -16.30478, + 7.99099 + ], + "LaOo": [ + 17.95504, + -12.10366, + 3.99547 + ], + "skAF": [ + 6.95626, + -20.50605, + 3.99542 + ], + "mSEF": [ + 6.95626, + -20.50605, + -3.99542 + ] + }, + "faces": { + "Qa7oQUdO": { + "uv": { + "Arn5": [ + 0.42424, + 0.89503 + ], + "bhLA": [ + 0.39394, + 0.84254 + ], + "oe5L": [ + 0.30303, + 0.89503 + ] + }, + "vertices": [ + "Arn5", + "bhLA", + "oe5L" + ], + "texture": 0 + }, + "LeEDTzrA": { + "uv": { + "bhLA": [ + 0.39394, + 0.84254 + ], + "LaOo": [ + 0.33333, + 0.84254 + ], + "oe5L": [ + 0.30303, + 0.89503 + ] + }, + "vertices": [ + "bhLA", + "LaOo", + "oe5L" + ], + "texture": 0 + }, + "4X7QzJLA": { + "uv": { + "oe5L": [ + 0.30303, + 0.89503 + ], + "skAF": [ + 0.33333, + 0.94751 + ], + "mSEF": [ + 0.39394, + 0.94751 + ] + }, + "vertices": [ + "oe5L", + "skAF", + "mSEF" + ], + "texture": 0 + }, + "x3acV2xS": { + "uv": { + "mSEF": [ + 0.39394, + 0.94751 + ], + "Arn5": [ + 0.42424, + 0.89503 + ], + "oe5L": [ + 0.30303, + 0.89503 + ] + }, + "vertices": [ + "mSEF", + "Arn5", + "oe5L" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "1ffcfe1b-dd45-30ab-3d50-3eb527527f64" + }, + { + "name": "Barrier2", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "Yag1": [ + -5.37976, + -16.30478, + -13.78618 + ], + "2mKW": [ + -3.2792, + -20.50605, + -7.32118 + ], + "zVpV": [ + -7.97619, + -20.50608, + -0.85638 + ], + "3FTI": [ + -12.1773, + -12.10366, + -13.78622 + ], + "YxwL": [ + -16.87454, + -12.10366, + -7.32115 + ], + "CRpy": [ + -14.77408, + -16.30475, + -0.85638 + ] + }, + "faces": { + "qKcm1Dtp": { + "uv": { + "Yag1": [ + 0.66667, + 0.89503 + ], + "2mKW": [ + 0.69697, + 0.94751 + ], + "zVpV": [ + 0.75758, + 0.94751 + ] + }, + "vertices": [ + "Yag1", + "2mKW", + "zVpV" + ], + "texture": 0 + }, + "zcqb3YJU": { + "uv": { + "3FTI": [ + 0.69697, + 0.84254 + ], + "Yag1": [ + 0.66667, + 0.89503 + ], + "zVpV": [ + 0.75758, + 0.94751 + ] + }, + "vertices": [ + "3FTI", + "Yag1", + "zVpV" + ], + "texture": 0 + }, + "fU1wtLBt": { + "uv": { + "YxwL": [ + 0.75758, + 0.84254 + ], + "3FTI": [ + 0.69697, + 0.84254 + ], + "zVpV": [ + 0.75758, + 0.94751 + ] + }, + "vertices": [ + "YxwL", + "3FTI", + "zVpV" + ], + "texture": 0 + }, + "D23N9iIN": { + "uv": { + "zVpV": [ + 0.75758, + 0.94751 + ], + "CRpy": [ + 0.78788, + 0.89503 + ], + "YxwL": [ + 0.75758, + 0.84254 + ] + }, + "vertices": [ + "zVpV", + "CRpy", + "YxwL" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "28326e39-14dc-4a63-19b6-00c93a838274" + }, + { + "name": "Barrier3", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "R7jj": [ + -3.75085, + -16.30478, + 14.31544 + ], + "Jg1w": [ + -1.65027, + -20.50603, + 7.85045 + ], + "vMd4": [ + 5.94954, + -20.50603, + 5.38107 + ], + "kolb": [ + 9.34848, + -12.10366, + 15.84144 + ], + "wOmD": [ + 1.74848, + -12.10366, + 18.31086 + ], + "NNAA": [ + 11.44901, + -16.30478, + 9.37664 + ] + }, + "faces": { + "0lnLGtFu": { + "uv": { + "R7jj": [ + 0.12121, + 0.89503 + ], + "Jg1w": [ + 0.15152, + 0.94751 + ], + "vMd4": [ + 0.21212, + 0.94751 + ] + }, + "vertices": [ + "R7jj", + "Jg1w", + "vMd4" + ], + "texture": 0 + }, + "hhgfkNIK": { + "uv": { + "kolb": [ + 0.21212, + 0.84254 + ], + "wOmD": [ + 0.15152, + 0.84254 + ], + "R7jj": [ + 0.12121, + 0.89503 + ] + }, + "vertices": [ + "kolb", + "wOmD", + "R7jj" + ], + "texture": 0 + }, + "0Rji1785": { + "uv": { + "vMd4": [ + 0.21212, + 0.94751 + ], + "NNAA": [ + 0.24243, + 0.89503 + ], + "R7jj": [ + 0.12121, + 0.89503 + ] + }, + "vertices": [ + "vMd4", + "NNAA", + "R7jj" + ], + "texture": 0 + }, + "i9dgHyC2": { + "uv": { + "NNAA": [ + 0.24243, + 0.89503 + ], + "kolb": [ + 0.21212, + 0.84254 + ], + "R7jj": [ + 0.12121, + 0.89503 + ] + }, + "vertices": [ + "NNAA", + "kolb", + "R7jj" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "89ca0220-5946-6fb4-0562-9cc2170a16fd" + }, + { + "name": "Barrier4", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "IIXU": [ + 11.44901, + -16.30478, + -9.37664 + ], + "1xE0": [ + 5.94954, + -20.50603, + -5.38107 + ], + "CXrA": [ + -1.65027, + -20.50603, + -7.85045 + ], + "zPA0": [ + 1.74848, + -12.10366, + -18.31086 + ], + "oYOf": [ + 9.34848, + -12.10366, + -15.84144 + ], + "DjUC": [ + -3.75085, + -16.30478, + -14.31544 + ] + }, + "faces": { + "uaJyCz2z": { + "uv": { + "IIXU": [ + 0.48485, + 0.89503 + ], + "1xE0": [ + 0.51515, + 0.94751 + ], + "CXrA": [ + 0.57576, + 0.94751 + ] + }, + "vertices": [ + "IIXU", + "1xE0", + "CXrA" + ], + "texture": 0 + }, + "yI2cpGQZ": { + "uv": { + "zPA0": [ + 0.57576, + 0.84254 + ], + "oYOf": [ + 0.51515, + 0.84254 + ], + "IIXU": [ + 0.48485, + 0.89503 + ] + }, + "vertices": [ + "zPA0", + "oYOf", + "IIXU" + ], + "texture": 0 + }, + "zXKeJgkd": { + "uv": { + "CXrA": [ + 0.57576, + 0.94751 + ], + "DjUC": [ + 0.60606, + 0.89503 + ], + "IIXU": [ + 0.48485, + 0.89503 + ] + }, + "vertices": [ + "CXrA", + "DjUC", + "IIXU" + ], + "texture": 0 + }, + "GgM9ok1T": { + "uv": { + "DjUC": [ + 0.60606, + 0.89503 + ], + "zPA0": [ + 0.57576, + 0.84254 + ], + "IIXU": [ + 0.48485, + 0.89503 + ] + }, + "vertices": [ + "DjUC", + "zPA0", + "IIXU" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "e2fcefb7-9c37-6ff5-68e4-8627896caea9" + }, + { + "name": "Barrier5", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "xYFO": [ + -1.37211, + -3.84915, + 21.63661 + ], + "F8AM": [ + 2.02674, + -10.64672, + 19.16723 + ], + "YWtx": [ + 13.82781, + -3.84922, + 16.69776 + ], + "Rptb": [ + 2.82907, + 2.94872, + 21.63661 + ], + "nAjf": [ + 9.62674, + -10.64672, + 16.69779 + ], + "cm0C": [ + 10.42882, + 2.94878, + 19.16726 + ] + }, + "faces": { + "NFbZyVJX": { + "uv": { + "xYFO": [ + 0.12121, + 0.79005 + ], + "F8AM": [ + 0.15152, + 0.84254 + ], + "YWtx": [ + 0.24243, + 0.79005 + ] + }, + "vertices": [ + "xYFO", + "F8AM", + "YWtx" + ], + "texture": 0 + }, + "oOZWbFhk": { + "uv": { + "Rptb": [ + 0.15152, + 0.73757 + ], + "xYFO": [ + 0.12121, + 0.79005 + ], + "YWtx": [ + 0.24243, + 0.79005 + ] + }, + "vertices": [ + "Rptb", + "xYFO", + "YWtx" + ], + "texture": 0 + }, + "mOru5kIu": { + "uv": { + "F8AM": [ + 0.15152, + 0.84254 + ], + "nAjf": [ + 0.21212, + 0.84254 + ], + "YWtx": [ + 0.24243, + 0.79005 + ] + }, + "vertices": [ + "F8AM", + "nAjf", + "YWtx" + ], + "texture": 0 + }, + "1FFKq8BV": { + "uv": { + "YWtx": [ + 0.24243, + 0.79005 + ], + "cm0C": [ + 0.21212, + 0.73756 + ], + "Rptb": [ + 0.15152, + 0.73757 + ] + }, + "vertices": [ + "YWtx", + "cm0C", + "Rptb" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "0892b9ea-ea94-207c-1f9a-2f8628aac120" + }, + { + "name": "Barrier6", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "nIfk": [ + 11.60749, + 3.8492, + 18.31093 + ], + "Ut8M": [ + 15.00648, + -2.94878, + 15.84141 + ], + "nWP5": [ + 19.70349, + -2.94875, + 9.37669 + ], + "aenb": [ + 17.60302, + 10.6467, + 7.85042 + ], + "wSME": [ + 12.90576, + 10.6467, + 14.31549 + ], + "VVCf": [ + 21.00181, + 3.84917, + 5.38106 + ] + }, + "faces": { + "r899VVRa": { + "uv": { + "nIfk": [ + 0.21212, + 0.73756 + ], + "Ut8M": [ + 0.24243, + 0.79005 + ], + "nWP5": [ + 0.30303, + 0.79005 + ] + }, + "vertices": [ + "nIfk", + "Ut8M", + "nWP5" + ], + "texture": 0 + }, + "m0Cli6Ve": { + "uv": { + "aenb": [ + 0.30303, + 0.68508 + ], + "wSME": [ + 0.24242, + 0.68508 + ], + "nIfk": [ + 0.21212, + 0.73756 + ] + }, + "vertices": [ + "aenb", + "wSME", + "nIfk" + ], + "texture": 0 + }, + "eIe5wd3R": { + "uv": { + "nWP5": [ + 0.30303, + 0.79005 + ], + "VVCf": [ + 0.33334, + 0.73757 + ], + "nIfk": [ + 0.21212, + 0.73756 + ] + }, + "vertices": [ + "nWP5", + "VVCf", + "nIfk" + ], + "texture": 0 + }, + "zhNhQfF3": { + "uv": { + "VVCf": [ + 0.33334, + 0.73757 + ], + "aenb": [ + 0.30303, + 0.68508 + ], + "nIfk": [ + 0.21212, + 0.73756 + ] + }, + "vertices": [ + "VVCf", + "aenb", + "nIfk" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "b353e066-b7eb-5d49-03d0-6bffec0918a0" + }, + { + "name": "Barrier7", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "sgjW": [ + 20.15371, + -3.8492, + 7.99102 + ], + "RXBz": [ + 18.85547, + -10.64674, + 3.99547 + ], + "F24g": [ + 20.15371, + -3.8492, + -7.99102 + ], + "b4nW": [ + 21.45203, + 2.94874, + 3.99539 + ], + "t3ws": [ + 18.85547, + -10.64674, + -3.99547 + ], + "OAIt": [ + 21.45203, + 2.94874, + -3.99539 + ] + }, + "faces": { + "MnnmSYRF": { + "uv": { + "sgjW": [ + 0.30303, + 0.79005 + ], + "RXBz": [ + 0.33333, + 0.84254 + ], + "F24g": [ + 0.42424, + 0.79005 + ] + }, + "vertices": [ + "sgjW", + "RXBz", + "F24g" + ], + "texture": 0 + }, + "eCGpY79B": { + "uv": { + "b4nW": [ + 0.33334, + 0.73757 + ], + "sgjW": [ + 0.30303, + 0.79005 + ], + "F24g": [ + 0.42424, + 0.79005 + ] + }, + "vertices": [ + "b4nW", + "sgjW", + "F24g" + ], + "texture": 0 + }, + "UA9sL3fH": { + "uv": { + "RXBz": [ + 0.33333, + 0.84254 + ], + "t3ws": [ + 0.39394, + 0.84254 + ], + "F24g": [ + 0.42424, + 0.79005 + ] + }, + "vertices": [ + "RXBz", + "t3ws", + "F24g" + ], + "texture": 0 + }, + "1mO1enyO": { + "uv": { + "F24g": [ + 0.42424, + 0.79005 + ], + "OAIt": [ + 0.39394, + 0.73757 + ], + "b4nW": [ + 0.33334, + 0.73757 + ] + }, + "vertices": [ + "F24g", + "OAIt", + "b4nW" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "cf598a49-f1eb-47bc-8232-487d7ce031d1" + }, + { + "name": "Barrier8", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "Q4IN": [ + -13.82781, + 3.84922, + 16.69776 + ], + "wCK2": [ + -10.42882, + -2.94878, + 19.16726 + ], + "PNTE": [ + -2.82907, + -2.94872, + 21.63661 + ], + "mlEN": [ + -2.02674, + 10.64672, + 19.16723 + ], + "lABY": [ + -9.62674, + 10.64672, + 16.69779 + ], + "ZHKx": [ + 1.37211, + 3.84915, + 21.63661 + ] + }, + "faces": { + "n24TdmhQ": { + "uv": { + "Q4IN": [ + 0.0303, + 0.73756 + ], + "wCK2": [ + 0.06061, + 0.79005 + ], + "PNTE": [ + 0.12121, + 0.79005 + ] + }, + "vertices": [ + "Q4IN", + "wCK2", + "PNTE" + ], + "texture": 0 + }, + "UUDEtWYK": { + "uv": { + "mlEN": [ + 0.12121, + 0.68508 + ], + "lABY": [ + 0.06061, + 0.68508 + ], + "Q4IN": [ + 0.0303, + 0.73756 + ] + }, + "vertices": [ + "mlEN", + "lABY", + "Q4IN" + ], + "texture": 0 + }, + "f1u0lNPh": { + "uv": { + "PNTE": [ + 0.12121, + 0.79005 + ], + "ZHKx": [ + 0.15152, + 0.73757 + ], + "Q4IN": [ + 0.0303, + 0.73756 + ] + }, + "vertices": [ + "PNTE", + "ZHKx", + "Q4IN" + ], + "texture": 0 + }, + "1zDhRe2q": { + "uv": { + "ZHKx": [ + 0.15152, + 0.73757 + ], + "mlEN": [ + 0.12121, + 0.68508 + ], + "Q4IN": [ + 0.0303, + 0.73756 + ] + }, + "vertices": [ + "ZHKx", + "mlEN", + "Q4IN" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "8cda9be7-5fa4-c07d-0003-2f7bc1954175" + }, + { + "name": "Barrier9", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "qHbv": [ + -20.15371, + 3.8492, + -7.99102 + ], + "3bwp": [ + -21.45203, + -2.94874, + -3.99539 + ], + "KSbw": [ + -21.45203, + -2.94874, + 3.99539 + ], + "ZsXT": [ + -18.85547, + 10.64674, + 3.99547 + ], + "eH85": [ + -18.85547, + 10.64674, + -3.99547 + ], + "0KPs": [ + -20.15371, + 3.8492, + 7.99102 + ] + }, + "faces": { + "7EXV6aLH": { + "uv": { + "qHbv": [ + 0.75758, + 0.73757 + ], + "3bwp": [ + 0.78788, + 0.79005 + ], + "KSbw": [ + 0.84848, + 0.79005 + ] + }, + "vertices": [ + "qHbv", + "3bwp", + "KSbw" + ], + "texture": 0 + }, + "20iczZep": { + "uv": { + "ZsXT": [ + 0.84849, + 0.68508 + ], + "eH85": [ + 0.78788, + 0.68508 + ], + "qHbv": [ + 0.75758, + 0.73757 + ] + }, + "vertices": [ + "ZsXT", + "eH85", + "qHbv" + ], + "texture": 0 + }, + "JdkP7htC": { + "uv": { + "KSbw": [ + 0.84848, + 0.79005 + ], + "0KPs": [ + 0.87879, + 0.73757 + ], + "qHbv": [ + 0.75758, + 0.73757 + ] + }, + "vertices": [ + "KSbw", + "0KPs", + "qHbv" + ], + "texture": 0 + }, + "icWfShVQ": { + "uv": { + "0KPs": [ + 0.87879, + 0.73757 + ], + "ZsXT": [ + 0.84849, + 0.68508 + ], + "qHbv": [ + 0.75758, + 0.73757 + ] + }, + "vertices": [ + "0KPs", + "ZsXT", + "qHbv" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "bc33b5aa-6b23-ab8a-be66-fa3752a03424" + }, + { + "name": "Barrier10", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "juyq": [ + 1.37211, + 3.84915, + -21.63661 + ], + "VQ5C": [ + -2.82907, + -2.94872, + -21.63661 + ], + "hG3m": [ + -10.42882, + -2.94878, + -19.16726 + ], + "lWhR": [ + -9.62674, + 10.64672, + -16.69779 + ], + "Cnbv": [ + -2.02674, + 10.64672, + -19.16723 + ], + "Xj1y": [ + -13.82781, + 3.84922, + -16.69776 + ] + }, + "faces": { + "6pMwCLSn": { + "uv": { + "juyq": [ + 0.57576, + 0.73757 + ], + "VQ5C": [ + 0.60606, + 0.79005 + ], + "hG3m": [ + 0.66667, + 0.79005 + ] + }, + "vertices": [ + "juyq", + "VQ5C", + "hG3m" + ], + "texture": 0 + }, + "h6AOKRiu": { + "uv": { + "lWhR": [ + 0.66667, + 0.68508 + ], + "Cnbv": [ + 0.60606, + 0.68508 + ], + "juyq": [ + 0.57576, + 0.73757 + ] + }, + "vertices": [ + "lWhR", + "Cnbv", + "juyq" + ], + "texture": 0 + }, + "0FsYmgLW": { + "uv": { + "hG3m": [ + 0.66667, + 0.79005 + ], + "Xj1y": [ + 0.69697, + 0.73756 + ], + "juyq": [ + 0.57576, + 0.73757 + ] + }, + "vertices": [ + "hG3m", + "Xj1y", + "juyq" + ], + "texture": 0 + }, + "FpUb7Vkj": { + "uv": { + "Xj1y": [ + 0.69697, + 0.73756 + ], + "lWhR": [ + 0.66667, + 0.68508 + ], + "juyq": [ + 0.57576, + 0.73757 + ] + }, + "vertices": [ + "Xj1y", + "lWhR", + "juyq" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "1b3fb0cd-4643-e05d-049e-7948bd8339b9" + }, + { + "name": "Barrier11", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "wSjj": [ + -21.00181, + -3.84917, + 5.38106 + ], + "3yqo": [ + -17.60302, + -10.6467, + 7.85042 + ], + "GsYx": [ + -11.60749, + -3.8492, + 18.31093 + ], + "cRt1": [ + -19.70349, + 2.94875, + 9.37669 + ], + "aQOg": [ + -12.90576, + -10.6467, + 14.31549 + ], + "blCS": [ + -15.00648, + 2.94878, + 15.84141 + ] + }, + "faces": { + "wKK3oNBw": { + "uv": { + "wSjj": [ + 0.84848, + 0.79005 + ], + "3yqo": [ + 0.87879, + 0.84254 + ], + "GsYx": [ + 0.9697, + 0.79005 + ] + }, + "vertices": [ + "wSjj", + "3yqo", + "GsYx" + ], + "texture": 0 + }, + "d12lsUHC": { + "uv": { + "cRt1": [ + 0.87879, + 0.73757 + ], + "wSjj": [ + 0.84848, + 0.79005 + ], + "GsYx": [ + 0.9697, + 0.79005 + ] + }, + "vertices": [ + "cRt1", + "wSjj", + "GsYx" + ], + "texture": 0 + }, + "WYCOszu3": { + "uv": { + "3yqo": [ + 0.87879, + 0.84254 + ], + "aQOg": [ + 0.9394, + 0.84254 + ], + "GsYx": [ + 0.9697, + 0.79005 + ] + }, + "vertices": [ + "3yqo", + "aQOg", + "GsYx" + ], + "texture": 0 + }, + "eNYXZE7U": { + "uv": { + "GsYx": [ + 0.9697, + 0.79005 + ], + "blCS": [ + 0.93939, + 0.73756 + ], + "cRt1": [ + 0.87879, + 0.73757 + ] + }, + "vertices": [ + "GsYx", + "blCS", + "cRt1" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "df2ad74a-22a2-510c-8f34-9895b418553d" + }, + { + "name": "Barrier12", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "UdM8": [ + -11.60749, + -3.8492, + -18.31093 + ], + "Artn": [ + -12.90576, + -10.6467, + -14.31549 + ], + "6HSp": [ + -21.00181, + -3.84917, + -5.38106 + ], + "hj5A": [ + -15.00648, + 2.94878, + -15.84141 + ], + "pV62": [ + -17.60302, + -10.6467, + -7.85042 + ], + "8yW9": [ + -19.70349, + 2.94875, + -9.37669 + ] + }, + "faces": { + "IG3YNfqx": { + "uv": { + "UdM8": [ + 0.66667, + 0.79005 + ], + "Artn": [ + 0.69697, + 0.84254 + ], + "6HSp": [ + 0.78788, + 0.79005 + ] + }, + "vertices": [ + "UdM8", + "Artn", + "6HSp" + ], + "texture": 0 + }, + "4chGV6ts": { + "uv": { + "hj5A": [ + 0.69697, + 0.73756 + ], + "UdM8": [ + 0.66667, + 0.79005 + ], + "6HSp": [ + 0.78788, + 0.79005 + ] + }, + "vertices": [ + "hj5A", + "UdM8", + "6HSp" + ], + "texture": 0 + }, + "VGkTMtuQ": { + "uv": { + "Artn": [ + 0.69697, + 0.84254 + ], + "pV62": [ + 0.75758, + 0.84254 + ], + "6HSp": [ + 0.78788, + 0.79005 + ] + }, + "vertices": [ + "Artn", + "pV62", + "6HSp" + ], + "texture": 0 + }, + "v6PHqr8o": { + "uv": { + "6HSp": [ + 0.78788, + 0.79005 + ], + "8yW9": [ + 0.75758, + 0.73757 + ], + "hj5A": [ + 0.69697, + 0.73756 + ] + }, + "vertices": [ + "6HSp", + "8yW9", + "hj5A" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "70bc7923-bd95-97a0-b5e5-a6e107c8b9f3" + }, + { + "name": "Barrier13", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "IywS": [ + 13.82781, + -3.84922, + -16.69776 + ], + "WGv1": [ + 9.62674, + -10.64672, + -16.69779 + ], + "qW39": [ + -1.37211, + -3.84915, + -21.63661 + ], + "WBIQ": [ + 10.42882, + 2.94878, + -19.16726 + ], + "TcLv": [ + 2.02674, + -10.64672, + -19.16723 + ], + "PO4z": [ + 2.82907, + 2.94872, + -21.63661 + ] + }, + "faces": { + "NgYuFwUK": { + "uv": { + "IywS": [ + 0.48485, + 0.79005 + ], + "WGv1": [ + 0.51515, + 0.84254 + ], + "qW39": [ + 0.60606, + 0.79005 + ] + }, + "vertices": [ + "IywS", + "WGv1", + "qW39" + ], + "texture": 0 + }, + "Vk1ixfW9": { + "uv": { + "WBIQ": [ + 0.51515, + 0.73756 + ], + "IywS": [ + 0.48485, + 0.79005 + ], + "qW39": [ + 0.60606, + 0.79005 + ] + }, + "vertices": [ + "WBIQ", + "IywS", + "qW39" + ], + "texture": 0 + }, + "UDZDmr4v": { + "uv": { + "WGv1": [ + 0.51515, + 0.84254 + ], + "TcLv": [ + 0.57576, + 0.84254 + ], + "qW39": [ + 0.60606, + 0.79005 + ] + }, + "vertices": [ + "WGv1", + "TcLv", + "qW39" + ], + "texture": 0 + }, + "1fxm3Azo": { + "uv": { + "qW39": [ + 0.60606, + 0.79005 + ], + "PO4z": [ + 0.57576, + 0.73757 + ], + "WBIQ": [ + 0.51515, + 0.73756 + ] + }, + "vertices": [ + "qW39", + "PO4z", + "WBIQ" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "c7fee38e-2c47-a2f7-7226-1cab458ce078" + }, + { + "name": "Barrier14", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "3Wsb": [ + 21.00181, + 3.84917, + -5.38106 + ], + "92Ls": [ + 19.70349, + -2.94875, + -9.37669 + ], + "T5zd": [ + 15.00648, + -2.94878, + -15.84141 + ], + "pc3G": [ + 12.90576, + 10.6467, + -14.31549 + ], + "yTH1": [ + 17.60302, + 10.6467, + -7.85042 + ], + "KUh7": [ + 11.60749, + 3.8492, + -18.31093 + ] + }, + "faces": { + "z5iseIFC": { + "uv": { + "3Wsb": [ + 0.39394, + 0.73757 + ], + "92Ls": [ + 0.42424, + 0.79005 + ], + "T5zd": [ + 0.48485, + 0.79005 + ] + }, + "vertices": [ + "3Wsb", + "92Ls", + "T5zd" + ], + "texture": 0 + }, + "iUaryT49": { + "uv": { + "pc3G": [ + 0.48485, + 0.68508 + ], + "yTH1": [ + 0.42424, + 0.68508 + ], + "3Wsb": [ + 0.39394, + 0.73757 + ] + }, + "vertices": [ + "pc3G", + "yTH1", + "3Wsb" + ], + "texture": 0 + }, + "0I4Uy5Qt": { + "uv": { + "T5zd": [ + 0.48485, + 0.79005 + ], + "KUh7": [ + 0.51515, + 0.73756 + ], + "3Wsb": [ + 0.39394, + 0.73757 + ] + }, + "vertices": [ + "T5zd", + "KUh7", + "3Wsb" + ], + "texture": 0 + }, + "mQ5kSI6c": { + "uv": { + "KUh7": [ + 0.51515, + 0.73756 + ], + "pc3G": [ + 0.48485, + 0.68508 + ], + "3Wsb": [ + 0.39394, + 0.73757 + ] + }, + "vertices": [ + "KUh7", + "pc3G", + "3Wsb" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "45b3660e-3b5c-a4ef-ca94-b53cb44d79ae" + }, + { + "name": "Barrier15", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "WVDV": [ + 3.2792, + 20.50605, + 7.32118 + ], + "QGox": [ + 5.37976, + 16.30478, + 13.78618 + ], + "0vPb": [ + 12.1773, + 12.10366, + 13.78622 + ], + "LiZb": [ + 7.97619, + 20.50608, + 0.85638 + ], + "lVmK": [ + 14.77408, + 16.30475, + 0.85638 + ], + "fJUn": [ + 16.87454, + 12.10366, + 7.32115 + ] + }, + "faces": { + "rKUZxlFB": { + "uv": { + "WVDV": [ + 0.24243, + 0.5801 + ], + "QGox": [ + 0.21212, + 0.63259 + ], + "0vPb": [ + 0.24242, + 0.68508 + ] + }, + "vertices": [ + "WVDV", + "QGox", + "0vPb" + ], + "texture": 0 + }, + "krK3LH0j": { + "uv": { + "LiZb": [ + 0.30303, + 0.5801 + ], + "WVDV": [ + 0.24243, + 0.5801 + ], + "0vPb": [ + 0.24242, + 0.68508 + ] + }, + "vertices": [ + "LiZb", + "WVDV", + "0vPb" + ], + "texture": 0 + }, + "z4iC3FpH": { + "uv": { + "lVmK": [ + 0.33334, + 0.63259 + ], + "LiZb": [ + 0.30303, + 0.5801 + ], + "0vPb": [ + 0.24242, + 0.68508 + ] + }, + "vertices": [ + "lVmK", + "LiZb", + "0vPb" + ], + "texture": 0 + }, + "17HHqHr8": { + "uv": { + "0vPb": [ + 0.24242, + 0.68508 + ], + "fJUn": [ + 0.30303, + 0.68508 + ], + "lVmK": [ + 0.33334, + 0.63259 + ] + }, + "vertices": [ + "0vPb", + "fJUn", + "lVmK" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "0eb84df0-6dcf-d820-ca27-bc7705c5c5d2" + }, + { + "name": "Barrier16", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "64Fn": [ + -11.44901, + 16.30478, + 9.37664 + ], + "F8oA": [ + -9.34848, + 12.10366, + 15.84144 + ], + "tkDL": [ + 3.75085, + 16.30478, + 14.31544 + ], + "urE0": [ + -5.94954, + 20.50603, + 5.38107 + ], + "CBMq": [ + -1.74848, + 12.10366, + 18.31086 + ], + "xZmX": [ + 1.65027, + 20.50603, + 7.85045 + ] + }, + "faces": { + "2TpR2vyn": { + "uv": { + "64Fn": [ + 0.0303, + 0.63259 + ], + "F8oA": [ + 0.06061, + 0.68508 + ], + "tkDL": [ + 0.15152, + 0.63259 + ] + }, + "vertices": [ + "64Fn", + "F8oA", + "tkDL" + ], + "texture": 0 + }, + "qNYd432g": { + "uv": { + "urE0": [ + 0.06061, + 0.5801 + ], + "64Fn": [ + 0.0303, + 0.63259 + ], + "tkDL": [ + 0.15152, + 0.63259 + ] + }, + "vertices": [ + "urE0", + "64Fn", + "tkDL" + ], + "texture": 0 + }, + "vngzZZyv": { + "uv": { + "F8oA": [ + 0.06061, + 0.68508 + ], + "CBMq": [ + 0.12121, + 0.68508 + ], + "tkDL": [ + 0.15152, + 0.63259 + ] + }, + "vertices": [ + "F8oA", + "CBMq", + "tkDL" + ], + "texture": 0 + }, + "LE6Kp0Mj": { + "uv": { + "tkDL": [ + 0.15152, + 0.63259 + ], + "xZmX": [ + 0.12121, + 0.5801 + ], + "urE0": [ + 0.06061, + 0.5801 + ] + }, + "vertices": [ + "tkDL", + "xZmX", + "urE0" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "d1cb7706-eef3-1779-2707-cdfe2d72b62e" + }, + { + "name": "Barrier17", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "5HFB": [ + -12.45573, + 16.30478, + -7.99099 + ], + "JDQi": [ + -17.95504, + 12.10366, + -3.99547 + ], + "m2BW": [ + -12.45573, + 16.30478, + 7.99099 + ], + "DepI": [ + -6.95626, + 20.50605, + -3.99542 + ], + "P5bi": [ + -17.95504, + 12.10366, + 3.99547 + ], + "2shv": [ + -6.95626, + 20.50605, + 3.99542 + ] + }, + "faces": { + "0f91mzoQ": { + "uv": { + "5HFB": [ + 0.75758, + 0.63259 + ], + "JDQi": [ + 0.78788, + 0.68508 + ], + "m2BW": [ + 0.87879, + 0.63259 + ] + }, + "vertices": [ + "5HFB", + "JDQi", + "m2BW" + ], + "texture": 0 + }, + "qoogvexQ": { + "uv": { + "DepI": [ + 0.78788, + 0.5801 + ], + "5HFB": [ + 0.75758, + 0.63259 + ], + "m2BW": [ + 0.87879, + 0.63259 + ] + }, + "vertices": [ + "DepI", + "5HFB", + "m2BW" + ], + "texture": 0 + }, + "7ma6IzQW": { + "uv": { + "JDQi": [ + 0.78788, + 0.68508 + ], + "P5bi": [ + 0.84849, + 0.68508 + ], + "m2BW": [ + 0.87879, + 0.63259 + ] + }, + "vertices": [ + "JDQi", + "P5bi", + "m2BW" + ], + "texture": 0 + }, + "L5znhKgV": { + "uv": { + "m2BW": [ + 0.87879, + 0.63259 + ], + "2shv": [ + 0.84849, + 0.5801 + ], + "DepI": [ + 0.78788, + 0.5801 + ] + }, + "vertices": [ + "m2BW", + "2shv", + "DepI" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "0d00fdac-233d-4adf-53c6-a02afd385a9b" + }, + { + "name": "Barrier18", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "223J": [ + 3.75085, + 16.30478, + -14.31544 + ], + "pW0y": [ + -1.74848, + 12.10366, + -18.31086 + ], + "qgCV": [ + -11.44901, + 16.30478, + -9.37664 + ], + "FrYg": [ + 1.65027, + 20.50603, + -7.85045 + ], + "QjdH": [ + -9.34848, + 12.10366, + -15.84144 + ], + "qMuF": [ + -5.94954, + 20.50605, + -5.38107 + ] + }, + "faces": { + "8ibtPIMP": { + "uv": { + "223J": [ + 0.57576, + 0.63259 + ], + "pW0y": [ + 0.60606, + 0.68508 + ], + "qgCV": [ + 0.69697, + 0.63259 + ] + }, + "vertices": [ + "223J", + "pW0y", + "qgCV" + ], + "texture": 0 + }, + "M0luOpy1": { + "uv": { + "FrYg": [ + 0.60606, + 0.5801 + ], + "223J": [ + 0.57576, + 0.63259 + ], + "qgCV": [ + 0.69697, + 0.63259 + ] + }, + "vertices": [ + "FrYg", + "223J", + "qgCV" + ], + "texture": 0 + }, + "IVfPhmRG": { + "uv": { + "pW0y": [ + 0.60606, + 0.68508 + ], + "QjdH": [ + 0.66667, + 0.68508 + ], + "qgCV": [ + 0.69697, + 0.63259 + ] + }, + "vertices": [ + "pW0y", + "QjdH", + "qgCV" + ], + "texture": 0 + }, + "hkSpGwnR": { + "uv": { + "qgCV": [ + 0.69697, + 0.63259 + ], + "qMuF": [ + 0.66667, + 0.5801 + ], + "FrYg": [ + 0.60606, + 0.5801 + ] + }, + "vertices": [ + "qgCV", + "qMuF", + "FrYg" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "fcd3d424-d6fb-d18d-4e2d-1930b4c0b8e6" + }, + { + "name": "Barrier19", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "lIrd": [ + 7.97619, + 20.50608, + -0.85638 + ], + "t2bZ": [ + 14.77408, + 16.30475, + -0.85638 + ], + "XKGS": [ + 16.87454, + 12.10366, + -7.32115 + ], + "TT9g": [ + 5.37976, + 16.30478, + -13.78618 + ], + "zUlh": [ + 3.2792, + 20.50605, + -7.32118 + ], + "csGR": [ + 12.1773, + 12.10366, + -13.78622 + ] + }, + "faces": { + "xaKteESB": { + "uv": { + "lIrd": [ + 0.42424, + 0.5801 + ], + "t2bZ": [ + 0.39394, + 0.63259 + ], + "XKGS": [ + 0.42424, + 0.68508 + ] + }, + "vertices": [ + "lIrd", + "t2bZ", + "XKGS" + ], + "texture": 0 + }, + "8ngeSaOz": { + "uv": { + "TT9g": [ + 0.51515, + 0.63259 + ], + "zUlh": [ + 0.48485, + 0.5801 + ], + "lIrd": [ + 0.42424, + 0.5801 + ] + }, + "vertices": [ + "TT9g", + "zUlh", + "lIrd" + ], + "texture": 0 + }, + "OhBaOPiD": { + "uv": { + "XKGS": [ + 0.42424, + 0.68508 + ], + "csGR": [ + 0.48485, + 0.68508 + ], + "lIrd": [ + 0.42424, + 0.5801 + ] + }, + "vertices": [ + "XKGS", + "csGR", + "lIrd" + ], + "texture": 0 + }, + "J7r3VruA": { + "uv": { + "csGR": [ + 0.48485, + 0.68508 + ], + "TT9g": [ + 0.51515, + 0.63259 + ], + "lIrd": [ + 0.42424, + 0.5801 + ] + }, + "vertices": [ + "csGR", + "TT9g", + "lIrd" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "77755fa8-c601-10d3-3837-b3468bd8dc96" + }, + { + "name": "Barrier20", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "IZcu": [ + -2.1005, + -20.99888, + 6.4648 + ], + "Plkb": [ + -6.7975, + -20.99891, + 0 + ], + "Iz64": [ + -2.1005, + -20.99888, + -6.4648 + ], + "E3i2": [ + 5.49931, + -20.99888, + 3.99542 + ], + "PdRm": [ + 5.49931, + -20.99888, + -3.99542 + ] + }, + "faces": { + "ja8upiKN": { + "uv": { + "IZcu": [ + 0.15152, + 0.94751 + ], + "Plkb": [ + 0.87879, + 0.94751 + ], + "Iz64": [ + 0.69697, + 0.94751 + ] + }, + "vertices": [ + "IZcu", + "Plkb", + "Iz64" + ], + "texture": 0 + }, + "g7zBloQn": { + "uv": { + "Iz64": [ + 0.69697, + 0.94751 + ], + "E3i2": [ + 0.33333, + 0.94751 + ], + "IZcu": [ + 0.15152, + 0.94751 + ] + }, + "vertices": [ + "Iz64", + "E3i2", + "IZcu" + ], + "texture": 0 + }, + "iaSkji52": { + "uv": { + "Iz64": [ + 0.69697, + 0.94751 + ], + "PdRm": [ + 0.51515, + 0.94751 + ], + "E3i2": [ + 0.33333, + 0.94751 + ] + }, + "vertices": [ + "Iz64", + "PdRm", + "E3i2" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "98c517d9-af86-f1f7-15e7-706cdc5a7225" + }, + { + "name": "Barrier21", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "eNc6": [ + 18.23474, + -11.26981, + 5.25723 + ], + "oXU3": [ + 19.53298, + -4.47227, + 9.25277 + ], + "v45W": [ + 10.63491, + -11.26981, + 15.71755 + ], + "qesY": [ + 12.73544, + -15.47093, + 9.25274 + ], + "fClk": [ + 14.83598, + -4.4723, + 15.7175 + ] + }, + "faces": { + "czOWc0m9": { + "uv": { + "eNc6": [ + 0.33333, + 0.84254 + ], + "oXU3": [ + 0.30303, + 0.79005 + ], + "v45W": [ + 0.21212, + 0.84254 + ] + }, + "vertices": [ + "eNc6", + "oXU3", + "v45W" + ], + "texture": 0 + }, + "PcDsG9ps": { + "uv": { + "qesY": [ + 0.24243, + 0.89503 + ], + "eNc6": [ + 0.33333, + 0.84254 + ], + "v45W": [ + 0.21212, + 0.84254 + ] + }, + "vertices": [ + "qesY", + "eNc6", + "v45W" + ], + "texture": 0 + }, + "2HtM1VXx": { + "uv": { + "oXU3": [ + 0.30303, + 0.79005 + ], + "fClk": [ + 0.24243, + 0.79005 + ], + "v45W": [ + 0.21212, + 0.84254 + ] + }, + "vertices": [ + "oXU3", + "fClk", + "v45W" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "acaf2d7b-dada-e2a1-7217-364a38996fa9" + }, + { + "name": "Barrier22", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "4tBa": [ + -4.8644, + -15.47093, + 14.97136 + ], + "FmtI": [ + 0.63491, + -11.26981, + 18.96678 + ], + "KdKL": [ + -10.36366, + -4.4723, + 18.96683 + ], + "JBqo": [ + -11.66194, + -11.26981, + 14.97141 + ], + "Ogq6": [ + -2.76392, + -4.47224, + 21.43616 + ] + }, + "faces": { + "UBsmS2b1": { + "uv": { + "4tBa": [ + 0.9697, + 0.89503 + ], + "FmtI": [ + 0.15152, + 0.84254 + ], + "KdKL": [ + 0.06061, + 0.79005 + ] + }, + "vertices": [ + "4tBa", + "FmtI", + "KdKL" + ], + "texture": 0 + }, + "cFS39XOs": { + "uv": { + "JBqo": [ + 0.9394, + 0.84254 + ], + "4tBa": [ + 0.9697, + 0.89503 + ], + "KdKL": [ + 0.06061, + 0.79005 + ] + }, + "vertices": [ + "JBqo", + "4tBa", + "KdKL" + ], + "texture": 0 + }, + "KBzO3gqa": { + "uv": { + "FmtI": [ + 0.15152, + 0.84254 + ], + "Ogq6": [ + 0.12121, + 0.79005 + ], + "KdKL": [ + 0.06061, + 0.79005 + ] + }, + "vertices": [ + "FmtI", + "Ogq6", + "KdKL" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "c8d44095-5fc1-3347-524f-7445a11e5732" + }, + { + "name": "Barrier23", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "muYb": [ + -17.84248, + -11.26981, + -6.46477 + ], + "fRkY": [ + -15.74202, + -15.4709, + 0 + ], + "6q3M": [ + -17.84248, + -11.26981, + 6.46477 + ], + "D2fl": [ + -21.24126, + -4.47227, + -3.99539 + ], + "ypKx": [ + -21.24126, + -4.47227, + 3.99539 + ] + }, + "faces": { + "wkWcI2Y3": { + "uv": { + "muYb": [ + 0.75758, + 0.84254 + ], + "fRkY": [ + 0.78788, + 0.89503 + ], + "6q3M": [ + 0.87879, + 0.84254 + ] + }, + "vertices": [ + "muYb", + "fRkY", + "6q3M" + ], + "texture": 0 + }, + "oVsURH9K": { + "uv": { + "6q3M": [ + 0.87879, + 0.84254 + ], + "D2fl": [ + 0.78788, + 0.79005 + ], + "muYb": [ + 0.75758, + 0.84254 + ] + }, + "vertices": [ + "6q3M", + "D2fl", + "muYb" + ], + "texture": 0 + }, + "CdYPQXtk": { + "uv": { + "6q3M": [ + 0.87879, + 0.84254 + ], + "ypKx": [ + 0.84848, + 0.79005 + ], + "D2fl": [ + 0.78788, + 0.79005 + ] + }, + "vertices": [ + "6q3M", + "ypKx", + "D2fl" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "4b82495b-f06e-a90c-ed3c-7614ecda8d9c" + }, + { + "name": "Barrier24", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "NE11": [ + 0.63491, + -11.26981, + -18.96678 + ], + "YxTY": [ + -4.8644, + -15.47093, + -14.97136 + ], + "aa9J": [ + -11.66194, + -11.26981, + -14.97141 + ], + "8Dae": [ + -10.36366, + -4.4723, + -18.96683 + ], + "YvlI": [ + -2.76392, + -4.47224, + -21.43616 + ] + }, + "faces": { + "GPhPTshD": { + "uv": { + "NE11": [ + 0.57576, + 0.84254 + ], + "YxTY": [ + 0.60606, + 0.89503 + ], + "aa9J": [ + 0.69697, + 0.84254 + ] + }, + "vertices": [ + "NE11", + "YxTY", + "aa9J" + ], + "texture": 0 + }, + "SejV0AIJ": { + "uv": { + "8Dae": [ + 0.66667, + 0.79005 + ], + "YvlI": [ + 0.60606, + 0.79005 + ], + "NE11": [ + 0.57576, + 0.84254 + ] + }, + "vertices": [ + "8Dae", + "YvlI", + "NE11" + ], + "texture": 0 + }, + "o3v4kNYp": { + "uv": { + "aa9J": [ + 0.69697, + 0.84254 + ], + "8Dae": [ + 0.66667, + 0.79005 + ], + "NE11": [ + 0.57576, + 0.84254 + ] + }, + "vertices": [ + "aa9J", + "8Dae", + "NE11" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "b2ac7b55-8b42-54b1-db4e-153957427815" + }, + { + "name": "Barrier25", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "Vp7c": [ + 18.23474, + -11.26981, + -5.25723 + ], + "85VE": [ + 12.73544, + -15.47093, + -9.25274 + ], + "Lnxh": [ + 14.83598, + -4.4723, + -15.7175 + ], + "EUVE": [ + 19.53298, + -4.47227, + -9.25277 + ], + "tZ8r": [ + 10.63491, + -11.26981, + -15.71755 + ] + }, + "faces": { + "hRmwvBcn": { + "uv": { + "Vp7c": [ + 0.39394, + 0.84254 + ], + "85VE": [ + 0.42424, + 0.89503 + ], + "Lnxh": [ + 0.48485, + 0.79005 + ] + }, + "vertices": [ + "Vp7c", + "85VE", + "Lnxh" + ], + "texture": 0 + }, + "IMf3ldec": { + "uv": { + "EUVE": [ + 0.42424, + 0.79005 + ], + "Vp7c": [ + 0.39394, + 0.84254 + ], + "Lnxh": [ + 0.48485, + 0.79005 + ] + }, + "vertices": [ + "EUVE", + "Vp7c", + "Lnxh" + ], + "texture": 0 + }, + "203M88cT": { + "uv": { + "85VE": [ + 0.42424, + 0.89503 + ], + "tZ8r": [ + 0.51515, + 0.84254 + ], + "Lnxh": [ + 0.48485, + 0.79005 + ] + }, + "vertices": [ + "85VE", + "tZ8r", + "Lnxh" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "595fb404-7e48-c586-e605-c71607e492cd" + }, + { + "name": "Barrier26", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "UrRE": [ + -0.63491, + 11.26981, + 18.96678 + ], + "HQLB": [ + 2.76392, + 4.47224, + 21.43616 + ], + "f3hl": [ + 10.36366, + 4.4723, + 18.96683 + ], + "qV6s": [ + 4.8644, + 15.47093, + 14.97136 + ], + "Mlw8": [ + 11.66194, + 11.26981, + 14.97141 + ] + }, + "faces": { + "3mZNNq28": { + "uv": { + "UrRE": [ + 0.12121, + 0.68508 + ], + "HQLB": [ + 0.15152, + 0.73757 + ], + "f3hl": [ + 0.21212, + 0.73756 + ] + }, + "vertices": [ + "UrRE", + "HQLB", + "f3hl" + ], + "texture": 0 + }, + "drL3vwpz": { + "uv": { + "f3hl": [ + 0.21212, + 0.73756 + ], + "qV6s": [ + 0.21212, + 0.63259 + ], + "UrRE": [ + 0.12121, + 0.68508 + ] + }, + "vertices": [ + "f3hl", + "qV6s", + "UrRE" + ], + "texture": 0 + }, + "6OkNCR9T": { + "uv": { + "f3hl": [ + 0.21212, + 0.73756 + ], + "Mlw8": [ + 0.24242, + 0.68508 + ], + "qV6s": [ + 0.21212, + 0.63259 + ] + }, + "vertices": [ + "f3hl", + "Mlw8", + "qV6s" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "d65c0226-7d52-b075-5175-d36a91241998" + }, + { + "name": "Barrier27", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "XCha": [ + -18.23474, + 11.26981, + 5.25723 + ], + "uMQ6": [ + -19.53298, + 4.47227, + 9.25277 + ], + "ozy5": [ + -14.83598, + 4.4723, + 15.7175 + ], + "z59j": [ + -12.73544, + 15.47093, + 9.25274 + ], + "TWQ0": [ + -10.63491, + 11.26981, + 15.71755 + ] + }, + "faces": { + "s82K64dY": { + "uv": { + "XCha": [ + 0.84849, + 0.68508 + ], + "uMQ6": [ + 0.87879, + 0.73757 + ], + "ozy5": [ + 0.93939, + 0.73756 + ] + }, + "vertices": [ + "XCha", + "uMQ6", + "ozy5" + ], + "texture": 0 + }, + "VyOSfUkW": { + "uv": { + "ozy5": [ + 0.93939, + 0.73756 + ], + "z59j": [ + 0.0303, + 0.63259 + ], + "XCha": [ + 0.84849, + 0.68508 + ] + }, + "vertices": [ + "ozy5", + "z59j", + "XCha" + ], + "texture": 0 + }, + "foS0oRcv": { + "uv": { + "ozy5": [ + 0.93939, + 0.73756 + ], + "TWQ0": [ + 0.06061, + 0.68508 + ], + "z59j": [ + 0.0303, + 0.63259 + ] + }, + "vertices": [ + "ozy5", + "TWQ0", + "z59j" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "95d92578-f05d-6718-6c5d-19a7ae5d2198" + }, + { + "name": "Barrier28", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "fRsf": [ + -10.63491, + 11.26981, + -15.71755 + ], + "awoe": [ + -14.83598, + 4.4723, + -15.7175 + ], + "nOCi": [ + -19.53298, + 4.47227, + -9.25277 + ], + "98zR": [ + -18.23474, + 11.26981, + -5.25723 + ], + "YFOh": [ + -12.73544, + 15.47093, + -9.25274 + ] + }, + "faces": { + "EVUdOq2A": { + "uv": { + "fRsf": [ + 0.66667, + 0.68508 + ], + "awoe": [ + 0.69697, + 0.73756 + ], + "nOCi": [ + 0.75758, + 0.73757 + ] + }, + "vertices": [ + "fRsf", + "awoe", + "nOCi" + ], + "texture": 0 + }, + "qNc0OG7W": { + "uv": { + "98zR": [ + 0.78788, + 0.68508 + ], + "YFOh": [ + 0.75758, + 0.63259 + ], + "fRsf": [ + 0.66667, + 0.68508 + ] + }, + "vertices": [ + "98zR", + "YFOh", + "fRsf" + ], + "texture": 0 + }, + "DY4R9H9H": { + "uv": { + "nOCi": [ + 0.75758, + 0.73757 + ], + "98zR": [ + 0.78788, + 0.68508 + ], + "fRsf": [ + 0.66667, + 0.68508 + ] + }, + "vertices": [ + "nOCi", + "98zR", + "fRsf" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "683c9e1e-db34-3c25-fad5-5077a386f2a2" + }, + { + "name": "Barrier29", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "tAxH": [ + 10.36366, + 4.4723, + -18.96683 + ], + "fsab": [ + 2.76392, + 4.47224, + -21.43616 + ], + "7nNh": [ + 4.8644, + 15.47093, + -14.97136 + ], + "3rOe": [ + 11.66194, + 11.26981, + -14.97139 + ], + "8Zwk": [ + -0.63491, + 11.26981, + -18.96678 + ] + }, + "faces": { + "6pjjUSla": { + "uv": { + "tAxH": [ + 0.51515, + 0.73756 + ], + "fsab": [ + 0.57576, + 0.73757 + ], + "7nNh": [ + 0.57576, + 0.63259 + ] + }, + "vertices": [ + "tAxH", + "fsab", + "7nNh" + ], + "texture": 0 + }, + "D31ETL9A": { + "uv": { + "3rOe": [ + 0.48485, + 0.68508 + ], + "tAxH": [ + 0.51515, + 0.73756 + ], + "7nNh": [ + 0.57576, + 0.63259 + ] + }, + "vertices": [ + "3rOe", + "tAxH", + "7nNh" + ], + "texture": 0 + }, + "hLGJEHR4": { + "uv": { + "fsab": [ + 0.57576, + 0.73757 + ], + "8Zwk": [ + 0.60606, + 0.68508 + ], + "7nNh": [ + 0.57576, + 0.63259 + ] + }, + "vertices": [ + "fsab", + "8Zwk", + "7nNh" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "323bd6cd-e7fb-1861-d7e5-a99f1c459480" + }, + { + "name": "Barrier30", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "E9s0": [ + 17.84248, + 11.26981, + 6.46477 + ], + "cSOT": [ + 21.24126, + 4.47227, + 3.99539 + ], + "TLiD": [ + 21.24126, + 4.47227, + -3.99539 + ], + "DBUq": [ + 17.84248, + 11.26981, + -6.46477 + ], + "enpU": [ + 15.74202, + 15.4709, + 0 + ] + }, + "faces": { + "xNDk2hTp": { + "uv": { + "E9s0": [ + 0.30303, + 0.68508 + ], + "cSOT": [ + 0.33334, + 0.73757 + ], + "TLiD": [ + 0.39394, + 0.73757 + ] + }, + "vertices": [ + "E9s0", + "cSOT", + "TLiD" + ], + "texture": 0 + }, + "rcve7zmH": { + "uv": { + "DBUq": [ + 0.42424, + 0.68508 + ], + "enpU": [ + 0.39394, + 0.63259 + ], + "E9s0": [ + 0.30303, + 0.68508 + ] + }, + "vertices": [ + "DBUq", + "enpU", + "E9s0" + ], + "texture": 0 + }, + "1iW0uVoe": { + "uv": { + "TLiD": [ + 0.39394, + 0.73757 + ], + "DBUq": [ + 0.42424, + 0.68508 + ], + "E9s0": [ + 0.30303, + 0.68508 + ] + }, + "vertices": [ + "TLiD", + "DBUq", + "E9s0" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "2cf404c2-242e-63dc-bb97-a00238d7b0c8" + }, + { + "name": "Barrier31", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "HHVw": [ + 2.1005, + 20.99888, + 6.4648 + ], + "jo7T": [ + 6.7975, + 20.99891, + 0 + ], + "HKP0": [ + -5.49931, + 20.99888, + -3.99542 + ], + "SfNH": [ + -5.49931, + 20.99888, + 3.99542 + ], + "YIUB": [ + 2.1005, + 20.99888, + -6.4648 + ] + }, + "faces": { + "9RPwbRVR": { + "uv": { + "HHVw": [ + 0.12121, + 0.5801 + ], + "jo7T": [ + 0.30303, + 0.5801 + ], + "HKP0": [ + 0.66667, + 0.5801 + ] + }, + "vertices": [ + "HHVw", + "jo7T", + "HKP0" + ], + "texture": 0 + }, + "Q14gqgUR": { + "uv": { + "SfNH": [ + 0.84849, + 0.5801 + ], + "HHVw": [ + 0.12121, + 0.5801 + ], + "HKP0": [ + 0.66667, + 0.5801 + ] + }, + "vertices": [ + "SfNH", + "HHVw", + "HKP0" + ], + "texture": 0 + }, + "mjEqMUQV": { + "uv": { + "jo7T": [ + 0.30303, + 0.5801 + ], + "YIUB": [ + 0.48485, + 0.5801 + ], + "HKP0": [ + 0.66667, + 0.5801 + ] + }, + "vertices": [ + "jo7T", + "YIUB", + "HKP0" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "1943b182-ca0d-5c04-2b60-b8ddd491658a" + }, + { + "name": "Barrier32", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "E26f": [ + -7.97619, + -20.50608, + 0.85638 + ], + "vKiz": [ + -3.2792, + -20.50605, + 7.32118 + ], + "ZTJ5": [ + -12.1773, + -12.10366, + 13.78622 + ], + "dm81": [ + -14.77408, + -16.30475, + 0.85638 + ], + "5qLS": [ + -5.37976, + -16.30478, + 13.78618 + ], + "fytA": [ + -16.87454, + -12.10366, + 7.32115 + ] + }, + "faces": { + "mv6HvYXc": { + "uv": { + "E26f": [ + 0.87879, + 0.94751 + ], + "vKiz": [ + 0.93939, + 0.94751 + ], + "ZTJ5": [ + 0.9394, + 0.84254 + ] + }, + "vertices": [ + "E26f", + "vKiz", + "ZTJ5" + ], + "texture": 0 + }, + "PdbIjNJE": { + "uv": { + "dm81": [ + 0.84848, + 0.89503 + ], + "E26f": [ + 0.87879, + 0.94751 + ], + "ZTJ5": [ + 0.9394, + 0.84254 + ] + }, + "vertices": [ + "dm81", + "E26f", + "ZTJ5" + ], + "texture": 0 + }, + "vax1ynRt": { + "uv": { + "vKiz": [ + 0.93939, + 0.94751 + ], + "5qLS": [ + 0.9697, + 0.89503 + ], + "ZTJ5": [ + 0.9394, + 0.84254 + ] + }, + "vertices": [ + "vKiz", + "5qLS", + "ZTJ5" + ], + "texture": 0 + }, + "Kgsk2Owa": { + "uv": { + "ZTJ5": [ + 0.9394, + 0.84254 + ], + "fytA": [ + 0.87879, + 0.84254 + ], + "dm81": [ + 0.84848, + 0.89503 + ] + }, + "vertices": [ + "ZTJ5", + "fytA", + "dm81" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "ef1b976b-af20-7115-2e50-08dcabfcc111" + } + ], + "outliner": [ + { + "name": "Barrier", + "origin": [ + 0, + 16, + 0 + ], + "color": 0, + "uuid": "def79492-697f-2380-47e9-18813f1756d0", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1ffcfe1b-dd45-30ab-3d50-3eb527527f64", + "28326e39-14dc-4a63-19b6-00c93a838274", + "89ca0220-5946-6fb4-0562-9cc2170a16fd", + "e2fcefb7-9c37-6ff5-68e4-8627896caea9", + "0892b9ea-ea94-207c-1f9a-2f8628aac120", + "b353e066-b7eb-5d49-03d0-6bffec0918a0", + "cf598a49-f1eb-47bc-8232-487d7ce031d1", + "8cda9be7-5fa4-c07d-0003-2f7bc1954175", + "bc33b5aa-6b23-ab8a-be66-fa3752a03424", + "1b3fb0cd-4643-e05d-049e-7948bd8339b9", + "df2ad74a-22a2-510c-8f34-9895b418553d", + "70bc7923-bd95-97a0-b5e5-a6e107c8b9f3", + "c7fee38e-2c47-a2f7-7226-1cab458ce078", + "45b3660e-3b5c-a4ef-ca94-b53cb44d79ae", + "0eb84df0-6dcf-d820-ca27-bc7705c5c5d2", + "d1cb7706-eef3-1779-2707-cdfe2d72b62e", + "0d00fdac-233d-4adf-53c6-a02afd385a9b", + "fcd3d424-d6fb-d18d-4e2d-1930b4c0b8e6", + "77755fa8-c601-10d3-3837-b3468bd8dc96", + "98c517d9-af86-f1f7-15e7-706cdc5a7225", + "acaf2d7b-dada-e2a1-7217-364a38996fa9", + "c8d44095-5fc1-3347-524f-7445a11e5732", + "4b82495b-f06e-a90c-ed3c-7614ecda8d9c", + "b2ac7b55-8b42-54b1-db4e-153957427815", + "595fb404-7e48-c586-e605-c71607e492cd", + "d65c0226-7d52-b075-5175-d36a91241998", + "95d92578-f05d-6718-6c5d-19a7ae5d2198", + "683c9e1e-db34-3c25-fad5-5077a386f2a2", + "323bd6cd-e7fb-1861-d7e5-a99f1c459480", + "2cf404c2-242e-63dc-bb97-a00238d7b0c8", + "1943b182-ca0d-5c04-2b60-b8ddd491658a", + "ef1b976b-af20-7115-2e50-08dcabfcc111" + ] + } + ], + "textures": [ + { + "path": "", + "name": "barrier.png", + "folder": "", + "namespace": "", + "id": "0", + "particle": false, + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "mode": "bitmap", + "saved": true, + "uuid": "fed26a56-fb52-7c1b-1747-2bd753a9a9ab", + "relative_path": "../../textures/barrier.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAA1JREFUGFdjOP///38ACTsDzcqK7YcAAAAASUVORK5CYII=" + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Mari/models/bubble.bbmodel b/config/yosbr/config/figura/avatars/Mari/models/bubble.bbmodel new file mode 100644 index 0000000..443a76b --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/models/bubble.bbmodel @@ -0,0 +1,902 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "bubble", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 16, + "height": 16 + }, + "elements": [ + { + "name": "Bubble", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + -4, + 0 + ], + "to": [ + 5, + 4, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ee16cd89-5e16-d1c0-bdb4-bec63d4d29dc" + }, + { + "name": "Emoji", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + -2.5, + -0.05 + ], + "to": [ + 3.5, + 2.5, + -0.05 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e1f1401a-3276-4ed6-1633-16078de30336" + }, + { + "name": "Bullet1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1.9375, + -1.875, + -0.1 + ], + "to": [ + 3.1875, + 1.875, + -0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "015d120f-7c4c-05e7-86b8-e442d2ca89ce" + }, + { + "name": "Bullet2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.375, + -1.875, + -0.1 + ], + "to": [ + 1.625, + 1.875, + -0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "71c04be5-6d32-4cee-9e7d-b8d98db60f7d" + }, + { + "name": "Bullet3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.1875, + -1.875, + -0.1 + ], + "to": [ + 0.0625, + 1.875, + -0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "c13ac616-5ee7-3b04-83ed-f9490507b4f8" + }, + { + "name": "Dot1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2.25, + -0.625, + -0.1 + ], + "to": [ + 3.5, + 0.625, + -0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f336f75d-4273-d986-7b79-5028befe8efc" + }, + { + "name": "Dot2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.375, + -0.625, + -0.1 + ], + "to": [ + 1.625, + 0.625, + -0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9d1c3e18-15c3-3c07-f04a-d705ceec1fed" + }, + { + "name": "Dot3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + -0.625, + -0.1 + ], + "to": [ + -0.25, + 0.625, + -0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "23a7b4da-5022-66ac-bfac-23544ab88f69" + } + ], + "outliner": [ + { + "name": "Camera", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "1ad8e11f-891c-06f0-491f-55ff468a6e74", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "AvatarBubble", + "origin": [ + -3, + -4, + 0 + ], + "color": 0, + "uuid": "ce33d433-402d-decd-b93f-250225de88c7", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ee16cd89-5e16-d1c0-bdb4-bec63d4d29dc", + "e1f1401a-3276-4ed6-1633-16078de30336", + { + "name": "Bullets", + "origin": [ + 1, + 0, + 0 + ], + "color": 0, + "uuid": "2a47b3c1-ef22-e939-70d9-e17ea10d79d9", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "015d120f-7c4c-05e7-86b8-e442d2ca89ce", + "71c04be5-6d32-4cee-9e7d-b8d98db60f7d", + "c13ac616-5ee7-3b04-83ed-f9490507b4f8" + ] + }, + { + "name": "Dots", + "origin": [ + -3, + -4, + 0 + ], + "color": 0, + "uuid": "55f984b9-0c0d-7ae1-712d-78a7d7fbfa03", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f336f75d-4273-d986-7b79-5028befe8efc", + "9d1c3e18-15c3-3c07-f04a-d705ceec1fed", + "23a7b4da-5022-66ac-bfac-23544ab88f69" + ] + } + ] + } + ] + } + ], + "textures": [ + { + "path": "", + "name": "bubble.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "849f6abb-5d52-7cbc-bc5e-c54506c00158", + "relative_path": "../../textures/bubble.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAGhJREFUOE/tk0sOABAMRNul+1/WroKO+KcSdqykzGvDDNN8yaLOfb0vJKHIXM9cro+brFs1bvsqKEFAMouBAuQK4Lh7PUWc4AMuvIGaz2aiJz4A1Pyd6kJHRP44TMgLIEM8dZxdnJuzAGqUPxJDQDMGAAAAAElFTkSuQmCC" + }, + { + "path": "", + "name": "reload.png", + "folder": "", + "namespace": "", + "id": "4", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "e5650158-1574-55d1-6b46-d58173bbb96b", + "relative_path": "../../textures/emojis/reload.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAEpJREFUOE9jZKAQMFKonwFuwOf37/+DDOMVFCRJjCTFIAvQLQIbABKE2QxjEys2aoAg42gYIIUBcp4AJSpYioOJ4xKjXmYiN1cCAKtG/BHrN3pVAAAAAElFTkSuQmCC" + }, + { + "path": "", + "name": "bullet.png", + "folder": "", + "namespace": "", + "id": "5", + "width": 4, + "height": 12, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "1a2d73a2-6180-0319-1efb-16f49aa91e7a", + "relative_path": "../../textures/bullet.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAMCAYAAABFohwTAAAAAXNSR0IArs4c6QAAAGdJREFUGFdjTEhI4Pj1/f93LpbvDH9YuTgZMQSiwuP/V4azMOh4+TKkJi9jYAQJJDt+ZHAK9GFILdoFESj0/cpgEuTBkJoKFSCsAqwlrJAhNXEikhl4BVKdXjE4xAZDbEmJDvvPgAQAMBRGJaIzndEAAAAASUVORK5CYII=" + }, + { + "path": "", + "name": "dots.png", + "folder": "", + "namespace": "", + "id": "3", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "7dda2e3d-9f23-52bb-e799-b8a2879d3871", + "relative_path": "../../textures/emojis/dots.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAADhJREFUOE9jZKAQMFKon2HUAAZIGHx+//4/iOYVFEQJE2LEGWGKYLEBM4RYccoNoNgLowlpEOQFAJrjL7ESx0KNAAAAAElFTkSuQmCC" + }, + { + "path": "", + "name": "black_dot.png", + "folder": "", + "namespace": "", + "id": "6", + "width": 4, + "height": 4, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "d1f6e856-c31e-ace6-6507-d03259b83bf5", + "relative_path": "../../textures/emojis/black_dot.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAABhJREFUGFdjZICA/1CakRGJAxbDKoCiBQCSkQQDt6KjJwAAAABJRU5ErkJggg==" + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Mari/models/bullet.bbmodel b/config/yosbr/config/figura/avatars/Mari/models/bullet.bbmodel new file mode 100644 index 0000000..6095e9d --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/models/bullet.bbmodel @@ -0,0 +1,237 @@ +{ + "meta": { + "format_version": "4.5", + "model_format": "free", + "box_uv": false + }, + "name": "bullet", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 4, + "height": 12 + }, + "elements": [ + { + "name": "Bullet1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 0, + -1 + ], + "to": [ + 0.5, + 1, + 1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 3, + 2, + 4 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 3, + 2, + 11 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 1, + 10, + 2, + 11 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 3, + 2, + 11 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 1, + 3, + 2, + 11 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 3, + 2, + 11 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "eb1cee40-d947-b0fd-992e-a0445207f5c3" + }, + { + "name": "Bullet2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.375, + 0.125, + -1.25 + ], + "to": [ + 0.375, + 0.875, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c69c3bcf-da9b-3ad4-7d0a-e697c8066967" + } + ], + "outliner": [ + { + "name": "Arrow", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "0c9fab8f-3742-3b33-0bef-de2eca96287f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "eb1cee40-d947-b0fd-992e-a0445207f5c3", + "c69c3bcf-da9b-3ad4-7d0a-e697c8066967" + ] + } + ], + "textures": [ + { + "path": "", + "name": "bullet.png", + "folder": "", + "namespace": "", + "id": "0", + "particle": false, + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "mode": "bitmap", + "saved": true, + "uuid": "d4264722-75e2-f338-9736-9de1cd8631d0", + "relative_path": "../../textures/bullet.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAMCAYAAABFohwTAAAAAXNSR0IArs4c6QAAAGdJREFUGFdjTEhI4Pj1/f93LpbvDH9YuTgZMQSiwuP/V4azMOh4+TKkJi9jYAQJJDt+ZHAK9GFILdoFESj0/cpgEuTBkJoKFSCsAqwlrJAhNXEikhl4BVKdXjE4xAZDbEmJDvvPgAQAMBRGJaIzndEAAAAASUVORK5CYII=" + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Mari/models/costume_idol.bbmodel b/config/yosbr/config/figura/avatars/Mari/models/costume_idol.bbmodel new file mode 100644 index 0000000..590eabc --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/models/costume_idol.bbmodel @@ -0,0 +1,5717 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "costume_idol", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 64, + "height": 197 + }, + "elements": [ + { + "name": "HairTailBase", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 23.5, + -1 + ], + "to": [ + 1, + 28, + 4 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 5, + 5, + 9.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 10, + 5, + 5, + 9.5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 10, + 5, + 15, + 9.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 5, + 10, + 9.5 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 5, + 5 + ], + "texture": 0 + }, + "down": { + "uv": [ + 5, + 0, + 10, + 5 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a32e8f76-cadb-7bae-a3a1-7155e47092b4" + }, + { + "name": "HairTailBottom1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.5, + 23, + 1.5 + ], + "to": [ + -0.5, + 23.5, + 3.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + 23.5, + 2.5 + ], + "faces": { + "north": { + "uv": [ + 4, + 7, + 6, + 8 + ], + "texture": 0 + }, + "east": { + "uv": [ + 4, + 7, + 6, + 8 + ], + "texture": 0 + }, + "south": { + "uv": [ + 4, + 7, + 6, + 8 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 7, + 6, + 8 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "306edba0-1205-c6f4-b511-0de38d722e09" + }, + { + "name": "HairTailBottom2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.5, + 20, + 1 + ], + "to": [ + 0.5, + 23, + 4 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + 23.5, + 2.5 + ], + "faces": { + "north": { + "uv": [ + 10, + 10, + 14, + 13 + ], + "texture": 0 + }, + "east": { + "uv": [ + 7, + 10, + 10, + 13 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 10, + 4, + 13 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 10, + 7, + 13 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 10, + 18, + 13 + ], + "texture": 0 + }, + "down": { + "uv": [ + 18, + 10, + 22, + 13 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "810164b7-89e8-76d9-761c-960dec5065b8" + }, + { + "name": "HairTailBottom3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 17, + 1.5 + ], + "to": [ + 1, + 20, + 4.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + 23.5, + 2.5 + ], + "faces": { + "north": { + "uv": [ + 11, + 13, + 16, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 13, + 11, + 16 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 13, + 5, + 16 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 13, + 8, + 16 + ], + "texture": 0 + }, + "up": { + "uv": [ + 16, + 13, + 21, + 16 + ], + "texture": 0 + }, + "down": { + "uv": [ + 21, + 13, + 26, + 16 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "39131979-9c9c-d17c-3191-33f7f7f9bb1c" + }, + { + "name": "HairTailBottom4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.5, + 15, + 1 + ], + "to": [ + 0.5, + 17, + 3 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + 23.5, + 2.5 + ], + "faces": { + "north": { + "uv": [ + 6, + 16, + 10, + 18 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 16, + 4, + 18 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 16, + 4, + 18 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 16, + 6, + 18 + ], + "texture": 0 + }, + "up": { + "uv": [ + 10, + 16, + 14, + 18 + ], + "texture": 0 + }, + "down": { + "uv": [ + 14, + 16, + 18, + 18 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "aef2bb1c-59fe-bb71-e577-25f2fea9dfdb" + }, + { + "name": "HairTailBase", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 23.5, + -1 + ], + "to": [ + 4, + 28, + 4 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 5, + 5, + 0, + 9.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 10, + 5, + 5, + 9.5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 15, + 5, + 10, + 9.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 5, + 10, + 9.5 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 0, + 0, + 5 + ], + "texture": 0 + }, + "down": { + "uv": [ + 10, + 0, + 5, + 5 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5cbfc8b6-0d9f-d186-1590-b62d3ed2c530" + }, + { + "name": "HairTailBottom1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.5, + 23, + 1.5 + ], + "to": [ + 2.5, + 23.5, + 3.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 2, + 23.5, + 2.5 + ], + "faces": { + "north": { + "uv": [ + 6, + 7, + 4, + 8 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 7, + 4, + 8 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 7, + 4, + 8 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 7, + 4, + 8 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "4f8e7ba2-8ce9-8198-9fee-8a82a94824b2" + }, + { + "name": "HairTailBottom2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 20, + 1 + ], + "to": [ + 3.5, + 23, + 4 + ], + "autouv": 0, + "color": 0, + "origin": [ + 2, + 23.5, + 2.5 + ], + "faces": { + "north": { + "uv": [ + 14, + 10, + 10, + 13 + ], + "texture": 0 + }, + "east": { + "uv": [ + 7, + 10, + 4, + 13 + ], + "texture": 0 + }, + "south": { + "uv": [ + 4, + 10, + 0, + 13 + ], + "texture": 0 + }, + "west": { + "uv": [ + 10, + 10, + 7, + 13 + ], + "texture": 0 + }, + "up": { + "uv": [ + 18, + 10, + 14, + 13 + ], + "texture": 0 + }, + "down": { + "uv": [ + 22, + 10, + 18, + 13 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "6d331c72-45ed-acfc-e45b-c63eddf0ce63" + }, + { + "name": "HairTailBottom3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 17, + 1.5 + ], + "to": [ + 4, + 20, + 4.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 2, + 23.5, + 2.5 + ], + "faces": { + "north": { + "uv": [ + 16, + 13, + 11, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 13, + 5, + 16 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 13, + 0, + 16 + ], + "texture": 0 + }, + "west": { + "uv": [ + 11, + 13, + 8, + 16 + ], + "texture": 0 + }, + "up": { + "uv": [ + 21, + 13, + 16, + 16 + ], + "texture": 0 + }, + "down": { + "uv": [ + 26, + 13, + 21, + 16 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5da18039-8578-75cf-2e38-f42562dc0962" + }, + { + "name": "HairTailBottom4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 15, + 1 + ], + "to": [ + 3.5, + 17, + 3 + ], + "autouv": 0, + "color": 0, + "origin": [ + 2, + 23.5, + 2.5 + ], + "faces": { + "north": { + "uv": [ + 10, + 16, + 6, + 18 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 16, + 4, + 18 + ], + "texture": 0 + }, + "south": { + "uv": [ + 4, + 16, + 0, + 18 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 16, + 6, + 18 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 16, + 10, + 18 + ], + "texture": 0 + }, + "down": { + "uv": [ + 18, + 16, + 14, + 18 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "bf9dbfdb-eb84-4d1d-1d07-783e2de44b92" + }, + { + "name": "HatBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 32.5, + -2.5 + ], + "to": [ + 5, + 33, + 3.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -1, + 32.5, + -2.5 + ], + "faces": { + "north": { + "uv": [ + 10, + 0, + 11, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 10, + 0, + 11, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 10, + 0, + 11, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 10, + 0, + 11, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 10, + 0, + 11, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 10, + 0, + 11, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d6eee12c-81ee-9407-80d6-df40cc3e2def" + }, + { + "name": "Hat", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 33, + -1.5 + ], + "to": [ + 4, + 36, + 2.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -1, + 32.5, + -2.5 + ], + "faces": { + "north": { + "uv": [ + 10, + 0, + 11, + 4 + ], + "texture": 0 + }, + "east": { + "uv": [ + 10, + 0, + 11, + 4 + ], + "texture": 0 + }, + "south": { + "uv": [ + 10, + 0, + 11, + 4 + ], + "texture": 0 + }, + "west": { + "uv": [ + 10, + 0, + 11, + 4 + ], + "texture": 0 + }, + "up": { + "uv": [ + 10, + 0, + 11, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ] + } + }, + "type": "cube", + "uuid": "6d765da1-c175-7224-684d-889dee51e248" + }, + { + "name": "Flower", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1.5, + 33, + -1.504 + ], + "to": [ + 2.75, + 34.25, + -1.504 + ], + "autouv": 0, + "color": 0, + "origin": [ + -1, + 32.5, + 0.5 + ], + "faces": { + "north": { + "uv": [ + 11, + 0, + 15, + 4 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "771bc8d6-bbd2-c25c-3c1c-3d2a049170b7" + }, + { + "name": "Feather1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + 33, + -1.501 + ], + "to": [ + 2.5, + 37, + -1.501 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 0, + 0, + -115 + ], + "origin": [ + 2, + 33.5, + -1.501 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 16, + 0, + 0, + 16 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "49f7c0eb-ad3e-e072-5962-f1fb605111e4" + }, + { + "name": "Feather2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + 33, + -1.502 + ], + "to": [ + 2.5, + 37, + -1.502 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 0, + 0, + -70 + ], + "origin": [ + 2, + 33.5, + -1.501 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 16, + 0, + 0, + 16 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "3faa9545-8d70-c936-93e5-3583fdb75b64" + }, + { + "name": "HatVeil1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 5, + 27, + -0.75 + ], + "to": [ + 5, + 33, + 3.25 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 5, + 32.5, + 0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 15, + 0, + 19, + 6 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 19, + 0, + 15, + 6 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "1fd38ead-ec77-ba88-dda7-90166e8d35aa" + }, + { + "name": "HatVeilLayer1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 5, + 27, + -0.75 + ], + "to": [ + 5, + 33, + 3.25 + ], + "autouv": 0, + "color": 0, + "inflate": 0.1, + "origin": [ + 5, + 32.5, + 0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 19, + 0, + 23, + 6 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 23, + 0, + 19, + 6 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "c111259f-cca7-bef6-28b5-961a88b88ba5" + }, + { + "name": "HatVeil2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 5, + 29, + -0.25 + ], + "to": [ + 5, + 33, + 2.75 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 0, + 0, + 5 + ], + "origin": [ + 5, + 33, + 1.25 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 23, + 0, + 26, + 4 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 26, + 0, + 23, + 4 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "321856fc-70d1-fafe-efb4-01a4785cb354" + }, + { + "name": "HatVeilLayer2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 5, + 29, + -0.25 + ], + "to": [ + 5, + 33, + 2.75 + ], + "autouv": 0, + "color": 0, + "inflate": 0.1, + "rotation": [ + 0, + 0, + 5 + ], + "origin": [ + 5, + 33, + 1.25 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 23, + 4, + 26, + 8 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 26, + 4, + 23, + 8 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "7a2bf31f-6b5a-4747-dc56-a869b9277658" + }, + { + "name": "Inner1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.5, + 14, + -3 + ], + "to": [ + 4.5, + 15, + 3 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 6, + 24, + 15, + 25 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 24, + 6, + 25 + ], + "texture": 0 + }, + "south": { + "uv": [ + 21, + 24, + 30, + 25 + ], + "texture": 0 + }, + "west": { + "uv": [ + 15, + 24, + 21, + 25 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 18, + 15, + 24 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f35fa8f4-0b78-ac85-6100-837247b2f4cb" + }, + { + "name": "Inner2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5, + 12, + -4 + ], + "to": [ + 5, + 14, + 4 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 33, + 18, + 35 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 33, + 8, + 35 + ], + "texture": 0 + }, + "south": { + "uv": [ + 26, + 33, + 36, + 35 + ], + "texture": 0 + }, + "west": { + "uv": [ + 18, + 33, + 26, + 35 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 25, + 18, + 33 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "49b7d417-22b6-8b39-73c5-96a86a10b015" + }, + { + "name": "Inner3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5.5, + 10, + -5 + ], + "to": [ + 5.5, + 12, + 5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 10, + 45, + 21, + 47 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 45, + 10, + 47 + ], + "texture": 0 + }, + "south": { + "uv": [ + 31, + 45, + 42, + 47 + ], + "texture": 0 + }, + "west": { + "uv": [ + 21, + 45, + 31, + 47 + ], + "texture": 0 + }, + "up": { + "uv": [ + 10, + 35, + 21, + 45 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "29eed479-bcf5-622a-a0a4-d9a6a1c5f0b7" + }, + { + "name": "Inner4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -6, + 8, + -6 + ], + "to": [ + 6, + 10, + 6 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 12, + 59, + 24, + 61 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 59, + 12, + 61 + ], + "texture": 0 + }, + "south": { + "uv": [ + 36, + 59, + 48, + 61 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 59, + 36, + 61 + ], + "texture": 0 + }, + "up": { + "uv": [ + 12, + 47, + 24, + 59 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "80fbbb68-be51-36f8-93ac-5b22a5faf0e0" + }, + { + "name": "Outer4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -6, + 6, + -6 + ], + "to": [ + 6, + 10, + 6 + ], + "autouv": 0, + "color": 0, + "inflate": 0.5, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 12, + 104, + 24, + 108 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 104, + 12, + 108 + ], + "texture": 0 + }, + "south": { + "uv": [ + 36, + 104, + 48, + 108 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 104, + 36, + 108 + ], + "texture": 0 + }, + "up": { + "uv": [ + 12, + 92, + 24, + 104 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8b39b1dc-e106-e97d-e90a-079204a94d31" + }, + { + "name": "Outer1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.5, + 14, + -3 + ], + "to": [ + 4.5, + 15, + 3 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 6, + 69, + 15, + 70 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 69, + 6, + 70 + ], + "texture": 0 + }, + "south": { + "uv": [ + 21, + 69, + 30, + 70 + ], + "texture": 0 + }, + "west": { + "uv": [ + 15, + 69, + 21, + 70 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 63, + 15, + 69 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "7086a932-0eb6-b553-735e-95dd254c8675" + }, + { + "name": "Outer2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5, + 12, + -4 + ], + "to": [ + 5, + 14, + 4 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 78, + 18, + 80 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 78, + 8, + 80 + ], + "texture": 0 + }, + "south": { + "uv": [ + 26, + 78, + 36, + 80 + ], + "texture": 0 + }, + "west": { + "uv": [ + 18, + 78, + 26, + 80 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 70, + 18, + 78 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "0e7cd89d-e682-98ec-6b86-edfb1cca1224" + }, + { + "name": "Outer3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5.5, + 10, + -5 + ], + "to": [ + 5.5, + 12, + 5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 10, + 90, + 21, + 92 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 90, + 10, + 92 + ], + "texture": 0 + }, + "south": { + "uv": [ + 31, + 90, + 42, + 92 + ], + "texture": 0 + }, + "west": { + "uv": [ + 21, + 90, + 31, + 92 + ], + "texture": 0 + }, + "up": { + "uv": [ + 10, + 80, + 21, + 90 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "3acf02a7-dbdd-0029-e162-a40adad3a555" + }, + { + "name": "Inner4Layer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -6, + 8, + -6 + ], + "to": [ + 6, + 10, + 6 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 12, + 61, + 24, + 63 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 61, + 12, + 63 + ], + "texture": 0 + }, + "south": { + "uv": [ + 36, + 61, + 48, + 63 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 61, + 36, + 63 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "762d80ec-84b1-cf60-f324-9da71f67d49a" + }, + { + "name": "NeckRibbonCenter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.25, + 22.75, + -2.003 + ], + "to": [ + -1.5, + 23.5, + -2.003 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2.25, + 23.5, + 3.25 + ], + "faces": { + "north": { + "uv": [ + 15, + 6, + 19, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6f65f407-e4b1-a164-3bd5-e4ccae6e7044" + }, + { + "name": "NeciRibbon1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.25, + 23.3125, + -2.002 + ], + "to": [ + -1.5, + 24.25, + -2.002 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + 30 + ], + "origin": [ + -1.875, + 23.125, + -2 + ], + "faces": { + "north": { + "uv": [ + 19, + 6, + 23, + 11 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5ae71fed-4a16-e0dd-9b1f-85dc30c695f1" + }, + { + "name": "NeciRibbon2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.25, + 23.3125, + -2.002 + ], + "to": [ + -1.5, + 24.25, + -2.002 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + 120 + ], + "origin": [ + -1.875, + 23.125, + -2 + ], + "faces": { + "north": { + "uv": [ + 19, + 6, + 23, + 11 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "002578f8-0c01-9a07-49ec-29ec45da30af" + }, + { + "name": "NeciRibbon3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.25, + 23.3125, + -2.002 + ], + "to": [ + -1.5, + 24.25, + -2.002 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + -150 + ], + "origin": [ + -1.875, + 23.125, + -2 + ], + "faces": { + "north": { + "uv": [ + 19, + 6, + 23, + 11 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "a373fa76-6bcb-c92d-0f62-b0ad32d8e83d" + }, + { + "name": "NeciRibbon4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.25, + 23.3125, + -2.002 + ], + "to": [ + -1.5, + 24.25, + -2.002 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + -60 + ], + "origin": [ + -1.875, + 23.125, + -2 + ], + "faces": { + "north": { + "uv": [ + 19, + 6, + 23, + 11 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "c4af36d4-ea08-53ef-9580-e4b91387c449" + }, + { + "name": "NeciRibbon5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.75, + 19.25, + -2.001 + ], + "to": [ + -1.75, + 22.75, + -2.001 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2.25, + 22.75, + -2.001 + ], + "faces": { + "north": { + "uv": [ + 27, + 0, + 31, + 14 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6d59a1b8-9afc-613c-0d68-4a27a7ec7a4f" + }, + { + "name": "RibbonCenter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1.75, + 2.75, + -2.75 + ], + "to": [ + 2.25, + 3.25, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 2, + 12, + 0 + ], + "faces": { + "north": { + "uv": [ + 23, + 8, + 24, + 9 + ], + "texture": 0 + }, + "east": { + "uv": [ + 23, + 8, + 24, + 9 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 23, + 8, + 24, + 9 + ], + "texture": 0 + }, + "up": { + "uv": [ + 23, + 8, + 24, + 9 + ], + "texture": 0 + }, + "down": { + "uv": [ + 23, + 8, + 24, + 9 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "ce2f42c2-c179-caf8-82ac-7ad6465aba6a" + }, + { + "name": "RibbonLeft2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2.5, + 2.25, + -2.5 + ], + "to": [ + 4.25, + 3.75, + -2.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 2, + 12, + 0 + ], + "faces": { + "north": { + "uv": [ + 24, + 8, + 27, + 11 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 8, + 25, + 9 + ], + "texture": 0 + }, + "south": { + "uv": [ + 27, + 8, + 24, + 11 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 8, + 25, + 9 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 8, + 25, + 9 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 8, + 25, + 9 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c354e341-dc50-9a0f-a637-348c3bee93b3" + }, + { + "name": "RibbonLeft1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2.25, + 2.5, + -2.5 + ], + "to": [ + 2.5, + 3.5, + -2.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 2, + 12, + 0 + ], + "faces": { + "north": { + "uv": [ + 26, + 8.5, + 27, + 10.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 26, + 8.5, + 27, + 10.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 8, + 25, + 9 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 8, + 25, + 9 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 8, + 25, + 9 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "bc8c9a7c-6301-d48c-63a2-f2ac71dc821b" + }, + { + "name": "RibbonRight1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1.5, + 2.5, + -2.5 + ], + "to": [ + 1.75, + 3.5, + -2.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 2, + 12, + 0 + ], + "faces": { + "north": { + "uv": [ + 26, + 8.5, + 27, + 10.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 26, + 8.5, + 27, + 10.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 8, + 25, + 9 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 8, + 25, + 9 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 8, + 25, + 9 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c223df39-4e79-65fb-31ba-39a4cf185847" + }, + { + "name": "RibbonRight2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.25, + 2.25, + -2.5 + ], + "to": [ + 1.5, + 3.75, + -2.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 2, + 12, + 0 + ], + "faces": { + "north": { + "uv": [ + 27, + 8, + 24, + 11 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 8, + 25, + 9 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 8, + 27, + 11 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 8, + 25, + 9 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 8, + 25, + 9 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 8, + 25, + 9 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5a168a3d-475f-44d1-d42b-d23a45930988" + }, + { + "name": "RibbonBottomLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1.5, + 0.5, + -2.499 + ], + "to": [ + 2.5, + 2.75, + -2.249 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + 45 + ], + "origin": [ + 2, + 2.75, + -2.374 + ], + "faces": { + "north": { + "uv": [ + 25, + 8, + 24, + 9 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 8, + 25, + 9 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 8, + 25, + 9 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 8, + 25, + 9 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 8, + 25, + 9 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 8, + 25, + 9 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "7617fc17-afc5-92d1-879c-d8dd559ef4e2" + }, + { + "name": "RibbonBottomRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1.5, + 0.5, + -2.499 + ], + "to": [ + 2.5, + 2.75, + -2.249 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + -45 + ], + "origin": [ + 2, + 2.75, + -2.374 + ], + "faces": { + "north": { + "uv": [ + 25, + 8, + 24, + 9 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 8, + 25, + 9 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 8, + 25, + 9 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 8, + 25, + 9 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 8, + 25, + 9 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 8, + 25, + 9 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "4b799bd8-abe6-a596-73d6-9aa301196202" + }, + { + "name": "RibbonCenter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.25, + 2.75, + -2.75 + ], + "to": [ + -1.75, + 3.25, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + 12, + 0 + ], + "faces": { + "north": { + "uv": [ + 24, + 8, + 23, + 9 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 8, + 23, + 9 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 24, + 8, + 23, + 9 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 8, + 23, + 9 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 8, + 23, + 9 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "9d61f0ac-0ae7-61fa-7262-7d0b83d60bfb" + }, + { + "name": "RibbonRight1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.5, + 2.5, + -2.5 + ], + "to": [ + -2.25, + 3.5, + -2.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + 12, + 0 + ], + "faces": { + "north": { + "uv": [ + 27, + 8.5, + 26, + 10.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 25, + 8, + 24, + 9 + ], + "texture": 0 + }, + "south": { + "uv": [ + 27, + 8.5, + 26, + 10.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 25, + 8, + 24, + 9 + ], + "texture": 0 + }, + "down": { + "uv": [ + 25, + 8, + 24, + 9 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "6db9a87a-3596-6f23-321e-da45d4ce0388" + }, + { + "name": "RibbonRight2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.25, + 2.25, + -2.5 + ], + "to": [ + -2.5, + 3.75, + -2.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + 12, + 0 + ], + "faces": { + "north": { + "uv": [ + 27, + 8, + 24, + 11 + ], + "texture": 0 + }, + "east": { + "uv": [ + 25, + 8, + 24, + 9 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 8, + 27, + 11 + ], + "texture": 0 + }, + "west": { + "uv": [ + 25, + 8, + 24, + 9 + ], + "texture": 0 + }, + "up": { + "uv": [ + 25, + 8, + 24, + 9 + ], + "texture": 0 + }, + "down": { + "uv": [ + 25, + 8, + 24, + 9 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a2178aea-f7f7-22c6-028b-d656f16f6dfd" + }, + { + "name": "RibbonLeft1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.75, + 2.5, + -2.5 + ], + "to": [ + -1.5, + 3.5, + -2.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + 12, + 0 + ], + "faces": { + "north": { + "uv": [ + 27, + 8.5, + 26, + 10.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 25, + 8, + 24, + 9 + ], + "texture": 0 + }, + "south": { + "uv": [ + 27, + 8.5, + 26, + 10.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 25, + 8, + 24, + 9 + ], + "texture": 0 + }, + "down": { + "uv": [ + 25, + 8, + 24, + 9 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "bd777d88-f26e-de56-1f87-5b6f930408b7" + }, + { + "name": "RibbonLeft2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + 2.25, + -2.5 + ], + "to": [ + 0.25, + 3.75, + -2.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + 12, + 0 + ], + "faces": { + "north": { + "uv": [ + 24, + 8, + 27, + 11 + ], + "texture": 0 + }, + "east": { + "uv": [ + 25, + 8, + 24, + 9 + ], + "texture": 0 + }, + "south": { + "uv": [ + 27, + 8, + 24, + 11 + ], + "texture": 0 + }, + "west": { + "uv": [ + 25, + 8, + 24, + 9 + ], + "texture": 0 + }, + "up": { + "uv": [ + 25, + 8, + 24, + 9 + ], + "texture": 0 + }, + "down": { + "uv": [ + 25, + 8, + 24, + 9 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f789ba47-dfa7-121e-324f-d3493b2246c1" + }, + { + "name": "RibbonBottomRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.5, + 0.5, + -2.499 + ], + "to": [ + -1.5, + 2.75, + -2.249 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + -45 + ], + "origin": [ + -2, + 2.75, + -2.374 + ], + "faces": { + "north": { + "uv": [ + 24, + 8, + 25, + 9 + ], + "texture": 0 + }, + "east": { + "uv": [ + 25, + 8, + 24, + 9 + ], + "texture": 0 + }, + "south": { + "uv": [ + 25, + 8, + 24, + 9 + ], + "texture": 0 + }, + "west": { + "uv": [ + 25, + 8, + 24, + 9 + ], + "texture": 0 + }, + "up": { + "uv": [ + 25, + 8, + 24, + 9 + ], + "texture": 0 + }, + "down": { + "uv": [ + 25, + 8, + 24, + 9 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "0e4d7acf-e9ac-1318-c2ad-61f61d22cc91" + }, + { + "name": "RibbonBottomLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.5, + 0.5, + -2.499 + ], + "to": [ + -1.5, + 2.75, + -2.249 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + 45 + ], + "origin": [ + -2, + 2.75, + -2.374 + ], + "faces": { + "north": { + "uv": [ + 24, + 8, + 25, + 9 + ], + "texture": 0 + }, + "east": { + "uv": [ + 25, + 8, + 24, + 9 + ], + "texture": 0 + }, + "south": { + "uv": [ + 25, + 8, + 24, + 9 + ], + "texture": 0 + }, + "west": { + "uv": [ + 25, + 8, + 24, + 9 + ], + "texture": 0 + }, + "up": { + "uv": [ + 25, + 8, + 24, + 9 + ], + "texture": 0 + }, + "down": { + "uv": [ + 25, + 8, + 24, + 9 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5c1b17da-6f62-77cc-a7c9-fbdfd7d37cee" + } + ], + "outliner": [ + { + "name": "CIdolH", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "87280560-e083-5bb6-929d-37b357566cd5", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "HairTails", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "cdab52c9-c65e-264f-0cc5-61c5d0b21952", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "HairTailLeft", + "origin": [ + -4, + 28, + 4 + ], + "rotation": [ + -7.38733, + -1.29876, + -9.91615 + ], + "color": 0, + "uuid": "55193542-7896-24c9-88a6-9440374aab06", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a32e8f76-cadb-7bae-a3a1-7155e47092b4", + { + "name": "HairLeftBottom", + "origin": [ + -1.5, + 23.5, + 2.5 + ], + "color": 0, + "uuid": "5c5be983-1a1a-0ae0-5de5-fb2f76d4dd3d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "HairLeftBottomZ", + "origin": [ + -1.5, + 23.5, + 2.5 + ], + "color": 0, + "uuid": "5bb28399-03df-07c4-56f0-8fc0424dba69", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "306edba0-1205-c6f4-b511-0de38d722e09", + "810164b7-89e8-76d9-761c-960dec5065b8", + "39131979-9c9c-d17c-3191-33f7f7f9bb1c", + "aef2bb1c-59fe-bb71-e577-25f2fea9dfdb" + ] + } + ] + } + ] + }, + { + "name": "HairTailRight", + "origin": [ + 4, + 28, + 4 + ], + "rotation": [ + -7.38733, + 1.29876, + 9.91615 + ], + "color": 0, + "uuid": "beda13c3-341f-7523-7fdc-da7c7782b288", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "5cbfc8b6-0d9f-d186-1590-b62d3ed2c530", + { + "name": "HairRightBottom", + "origin": [ + 1.5, + 23.5, + 2.5 + ], + "color": 0, + "uuid": "40c15a0f-d6ac-0cf7-1087-7b30ce0bbff1", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "HairRightBottomZ", + "origin": [ + 1.5, + 23.5, + 2.5 + ], + "color": 0, + "uuid": "84ae29cb-6cd5-be4e-315e-93105347603b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4f8e7ba2-8ce9-8198-9fee-8a82a94824b2", + "6d331c72-45ed-acfc-e45b-c63eddf0ce63", + "5da18039-8578-75cf-2e38-f42562dc0962", + "bf9dbfdb-eb84-4d1d-1d07-783e2de44b92" + ] + } + ] + } + ] + } + ] + }, + { + "name": "Hat", + "origin": [ + -1, + 32.5, + 0.5 + ], + "rotation": [ + 0, + 0, + -10 + ], + "color": 0, + "uuid": "cb2e5fa0-3f64-fa5f-9dd9-f71cfee8b07e", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d6eee12c-81ee-9407-80d6-df40cc3e2def", + "6d765da1-c175-7224-684d-889dee51e248", + "771bc8d6-bbd2-c25c-3c1c-3d2a049170b7", + "49f7c0eb-ad3e-e072-5962-f1fb605111e4", + "3faa9545-8d70-c936-93e5-3583fdb75b64", + { + "name": "HatVeil", + "origin": [ + 5, + 33, + 1.25 + ], + "color": 0, + "uuid": "096b8f99-10cd-3288-a4f6-5b2635c44efb", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "HatVeilInner", + "origin": [ + 5, + 33, + 1.25 + ], + "rotation": [ + 0, + 0, + 15 + ], + "color": 0, + "uuid": "1d65ddf4-6860-180e-5ff4-6d7faa0ca67c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1fd38ead-ec77-ba88-dda7-90166e8d35aa", + "c111259f-cca7-bef6-28b5-961a88b88ba5", + "321856fc-70d1-fafe-efb4-01a4785cb354", + "7a2bf31f-6b5a-4747-dc56-a869b9277658" + ] + } + ] + } + ] + } + ] + }, + { + "name": "CIdolB", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "100df580-b7d5-f732-e3b5-b1818fae4dc3", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Skirt", + "origin": [ + 0, + 15, + 0 + ], + "color": 0, + "uuid": "39bf2ba3-17d9-beac-f946-517d0f9919a0", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f35fa8f4-0b78-ac85-6100-837247b2f4cb", + "49b7d417-22b6-8b39-73c5-96a86a10b015", + "29eed479-bcf5-622a-a0a4-d9a6a1c5f0b7", + "80fbbb68-be51-36f8-93ac-5b22a5faf0e0", + "762d80ec-84b1-cf60-f324-9da71f67d49a", + "7086a932-0eb6-b553-735e-95dd254c8675", + "0e7cd89d-e682-98ec-6b86-edfb1cca1224", + "3acf02a7-dbdd-0029-e162-a40adad3a555", + "8b39b1dc-e106-e97d-e90a-079204a94d31" + ] + }, + { + "name": "NeckRibbon", + "origin": [ + 0.5, + 24.25, + 0 + ], + "color": 0, + "uuid": "812bacd3-66b0-d8bb-2c4c-59ac086bbd80", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "6f65f407-e4b1-a164-3bd5-e4ccae6e7044", + "5ae71fed-4a16-e0dd-9b1f-85dc30c695f1", + "002578f8-0c01-9a07-49ec-29ec45da30af", + "a373fa76-6bcb-c92d-0f62-b0ad32d8e83d", + "c4af36d4-ea08-53ef-9580-e4b91387c449", + { + "name": "NeckRibbonBottom", + "origin": [ + -2.25, + 22.75, + -2.001 + ], + "color": 0, + "uuid": "05a9b6e2-502f-8c6d-42d1-5fc1fe46c3df", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "NeckRibbonBottomZPivot", + "origin": [ + -2.25, + 22.75, + -2.001 + ], + "color": 0, + "uuid": "2ac3f06d-6db1-9cd3-e4b9-898213169e12", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "6d59a1b8-9afc-613c-0d68-4a27a7ec7a4f" + ] + } + ] + } + ] + } + ] + }, + { + "name": "CIdolRLB", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "859d36d0-845b-b963-d354-d0454b7402bb", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RLBRibbon", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "53c067b8-a902-a562-ecb2-d437fd786e10", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ce2f42c2-c179-caf8-82ac-7ad6465aba6a", + "bc8c9a7c-6301-d48c-63a2-f2ac71dc821b", + "c354e341-dc50-9a0f-a637-348c3bee93b3", + "c223df39-4e79-65fb-31ba-39a4cf185847", + "5a168a3d-475f-44d1-d42b-d23a45930988", + "7617fc17-afc5-92d1-879c-d8dd559ef4e2", + "4b799bd8-abe6-a596-73d6-9aa301196202" + ] + } + ] + }, + { + "name": "CIdolLLB", + "origin": [ + -2, + 12, + 0 + ], + "color": 0, + "uuid": "eb3642a9-a50a-0adf-1cd7-6512bc997883", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "LLBRibbon", + "origin": [ + -2, + 12, + 0 + ], + "color": 0, + "uuid": "4785fdcc-faa2-9f3d-63a2-56b0d6214400", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "9d61f0ac-0ae7-61fa-7262-7d0b83d60bfb", + "6db9a87a-3596-6f23-321e-da45d4ce0388", + "a2178aea-f7f7-22c6-028b-d656f16f6dfd", + "bd777d88-f26e-de56-1f87-5b6f930408b7", + "f789ba47-dfa7-121e-324f-d3493b2246c1", + "0e4d7acf-e9ac-1318-c2ad-61f61d22cc91", + "5c1b17da-6f62-77cc-a7c9-fbdfd7d37cee" + ] + } + ] + } + ], + "textures": [ + { + "path": "", + "name": "costume_idol.png", + "folder": "", + "namespace": "", + "id": "1", + "width": 48, + "height": 108, + "uv_width": 48, + "uv_height": 108, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "b7b211be-0478-44f1-555d-4ea220b09c2e", + "relative_path": "../../textures/costume_idol.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAABsCAYAAAAsTjELAAAAAXNSR0IArs4c6QAABZZJREFUeF7tWF2IVVUU3gd1GsbGgVCU3vNFbDCiHlKTLGLIMSkS56EI7KUfRSJoHqIoIgz6xckQX3wRI+nHGUUii5LqoV8UeqjEKYRhFBkcxxniOnpibVyXdZbrnL32+blzbu77ss/Ze529v2+tb6+97o6M8Pv3+O4Yuq9MXzHzFs6zFlve/tJ8fuiz6JuhR+zYuuc+jaD9/cSv9n1F7x32nf5wDMcbp9+LG7NXrcnNy5+/zl7C4uoTJwECCB5bILDjgch0L1tmxk6eMLfe3ms6b3sqMT8nAQQal2dNx4L5liAlUBYJLwJbe8+Zuzf1mTOnx8zU+LhZsuYlgwApUAAOgH/7+cf4q2Nfm/X332dW3XlX6whMH90Vg3RoFHq3D5lTf/0Rjbx8j5VM/2vfW4A8xAAU+qF9a+fO+IXBwWZLIzB25rxZvv6NwjKKJLCoe7oHOtc+c91i1MPoadoCeE4QSZRGgC+AhLCf7wVKauiHi4Z6mHsc5sBo4Hy1IgBRebT/QSujT0a+sN4GgLadvWozDZKqjACV0MK+bVZSuBiVEvTxffHE7sNm7/BeMzZxyrzy5JvmwPt9Fjj8QCLDPy1KRAgJgk1pEnLtAQk4EgECr+570VwYv2DeHdxjCVyanjEdN3VagI0lm83AwONNlf4ysjVBsJRNjDmfe53uDdC9RAQiRiUE8qEEAODKFSttREf/GTUTJ1+vloCUfTh4JAItjsEzkLn05zuJtAp7AAmADUagLPnAnM00SgGhRKjXJeAAGvpBhvjMsxp9LzsDJQikpUvej0QxWmlSk86NSghIdY+WDEqIep8WgjSCYAME/h49V8oJjI5LSIjLiHs7jRj1NqZhHiEpIlly045FNAvxPK995xkK3jkpzR7RgqZ2TQJpYKXNK9lW5WEXqdRijtY88Mw9SGsmady1cFnjqeXsd8e/TeT02cZlM79jQWLd1WvvLVwOFyWSSSALIBAMBIq6H07itDlcHnaNl4BNNcX/m4DLBbXYAzzbpIGWspCLYNZ4WeSdaVBKpwCsLilVRcDlrbnc0IEAyClEoEA2CBJqCwlpIuzKVJo58thE2oMMJ4cDTToH8iwufePriPYnoPWcFKm08sLXi1oMkp0zC+FH2lyvtSsCOvGnXjuRFpjWTruuyy5EgHsoRMClGTYeJBQk5CkZbu4lIe1aLT3IfGshSqLsP/p5LgG8a6HaEdDKgpYUPt9ULSf1HvCtiVr1RycQyJJTK8qKEIEQAZ+UJtgGCQUJBQl5esC3+Ku8lDg6Mhx39/SYqclJ045t9NH+/XHPom4zeXHKtGPrnUY9FVe5uSUAMurr3xi1Y5sagc2PDcQzMzOmq6ur6UX+/vHBA3MewUwCgDyNBPQfPnKo3gSyPAwRqnUENjz0cJzl4doTAIBcQlRObSEhrn9OqBYSQk+7EjaA1dq65oLxssg7swgHjQun9WvAl2mjIuDy1lxu6EAA5BAiUGBTBAm1hYQ0EXZlKs0ceWxUh9PSxbfYuc+en2geQLBxaX+exaVvfB0hEqDA4BmAww+ed334gd03255+Nqb98FwGIW8CWs9xwEhEIkPHtPPntXNmIZwYCGiAae3yAubfqQloDyutXSBwzQPqCGilobULEfCNgFbbWrsQgRsyAtqw+56m2nklu9RSQioTpJIiq6zgcxQBmuYUFQFpYV5KSDYtIVDEK3X4Vn2Q1QGsuAd8gfnkeR9bXxxo7x0BH1A+toGA1gM+XvWx1a6f+/8AfugDyse2ZQR8ymUf20BA6wEfWfjYatcvZQ/4LFZ1YZfrHEAC/B5IuheqnADe9/ALLO5lzZVKVmRgHT6edTEm4ZHsbTXKb+JgoaKAXTJDQtKNnoQH5+P2CQKtAM6J0chQD6MddyS3j7Cjao9rI5IGPI34fxzCcMlumtouAAAAAElFTkSuQmCC" + }, + { + "path": "", + "name": "feather.png", + "folder": "", + "namespace": "", + "id": "2", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "5c8fcce0-a0c7-c1f6-c462-35bfbf1ba66e", + "relative_path": "../../textures/for_modeling/feather.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAMNJREFUOE+lU8sRhCAMDUXYAwcowQvd0JB0AwdLgAPdsPOYieOyuIjmCHm/EAS9LPEST9MEMcaitT5wjwjgmkmmCKC+7ztZa0kIUbG3CQBWSpFzrhKklKqLKQKoSylpWZb7EVg5hEA5Z1rX9QD/jcDTLqUU2IU6wIjB9i8JWBWNqCvwJQFUccnKbe7z8n0NEcq4hE3OjIlzna3z2c8reO8LhoXqZW5X/yDYtq2qo9hyO7Dev+nuAVyg2Rgz3JNhw+i3fgCHjXQR4Guo/QAAAABJRU5ErkJggg==" + } + ], + "animations": [ + { + "uuid": "83f6fbc9-a3dd-e93d-8029-be71d38d731f", + "name": "ex_skill_3", + "loop": "hold", + "override": true, + "length": 9.75, + "snapping": 20, + "selected": true, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "5c5be983-1a1a-0ae0-5de5-fb2f76d4dd3d": { + "name": "HairLeftBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -22.5, + "y": "0", + "z": "0" + } + ], + "uuid": "db8cbd84-7ab8-9e26-6d1a-c14fe49b8366", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-10", + "y": 0, + "z": 0 + } + ], + "uuid": "cdafa02b-2c4d-e9fa-7b8b-bbcc92ba5207", + "time": 4.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-10", + "y": 0, + "z": 0 + } + ], + "uuid": "ad5dc8ff-da28-b960-d656-6a860d31dbf8", + "time": 5.35, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-15", + "y": 0, + "z": 0 + } + ], + "uuid": "ff3dea0e-5e68-f795-5c18-6a387fa624b1", + "time": 6.15, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.4, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.4, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "5f60c8d8-3cb4-1935-3353-000188bab232", + "time": 6.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "c1a372a9-8356-8d89-b1da-fed4f3afb297", + "time": 7.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 40 + } + ], + "uuid": "7822ad30-d4d4-c7a5-24ae-0d2e90fc89a7", + "time": 7.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 54.91443, + "y": -20.25689, + "z": 33.47094 + } + ], + "uuid": "a73cb069-65ff-d823-5e19-628c4effe93f", + "time": 7.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-10", + "y": 0, + "z": "0" + } + ], + "uuid": "d16f5064-5cd5-f753-f3a6-12409a4474a8", + "time": 8.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": 0, + "z": 0 + } + ], + "uuid": "47340a70-224d-a27f-5cb6-d9f4dfa9a774", + "time": 8.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-10", + "y": 0, + "z": "0" + } + ], + "uuid": "7981cf71-15ed-a7a0-1dd3-076af9fb6b4c", + "time": 8.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": 0, + "z": 0 + } + ], + "uuid": "76833c48-3e44-cb2b-e7a9-ee8eb5f87060", + "time": 8.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 45.90469, + "y": 22.52101, + "z": -20.36057 + } + ], + "uuid": "66420b6c-c9de-59c7-49d9-d4067a05bd45", + "time": 9.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "40c15a0f-d6ac-0cf7-1087-7b30ce0bbff1": { + "name": "HairRightBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -27.5, + "y": "0", + "z": "0" + } + ], + "uuid": "2719cd2e-bf24-ca91-2811-df79027eb87e", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-10", + "y": 0, + "z": 0 + } + ], + "uuid": "78b230d5-e6e3-d64b-ae55-5b8b3bdcc7ad", + "time": 4.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-10", + "y": 0, + "z": 0 + } + ], + "uuid": "6ed1ba05-5d96-0e57-af05-8ad917975a39", + "time": 5.35, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-15", + "y": 0, + "z": 0 + } + ], + "uuid": "9e4ee6df-5e77-3485-f172-fc507fd91d8d", + "time": 6.15, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.4, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.4, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "0727689d-b5c9-d7ee-d496-f1284dda074a", + "time": 6.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "8a714d6a-3408-616e-ab1c-2a7d0b7e55d4", + "time": 7.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 32.5 + } + ], + "uuid": "246bb23a-a52e-a9b4-6e55-7230ed6f06d3", + "time": 7.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 51.36043, + "y": -30.27691, + "z": 21.75374 + } + ], + "uuid": "ab8a0050-74b6-c7f3-8f87-812f871125a4", + "time": 7.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-10", + "y": 0, + "z": "0" + } + ], + "uuid": "6478c443-3f8f-4812-1b40-d77fff092bb9", + "time": 8.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "10", + "y": 0, + "z": 0 + } + ], + "uuid": "3a687e25-b896-9bc2-416f-d39bd0a66338", + "time": 8.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-10", + "y": 0, + "z": "0" + } + ], + "uuid": "61de4e66-0cf3-9f18-0d50-0688b5182edb", + "time": 8.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": 0, + "z": 0 + } + ], + "uuid": "9b04e410-922c-3eb9-85e3-a92fed9e2f40", + "time": 8.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 47.20513, + "y": -18.88952, + "z": 16.68541 + } + ], + "uuid": "9c817ca2-e636-eb8d-917a-da5b5edf8dc9", + "time": 9.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "096b8f99-10cd-3288-a4f6-5b2635c44efb": { + "name": "HatVeil", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "a5c8d0c5-9125-1df0-2351-35d8e623a534", + "time": 7.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 15 + } + ], + "uuid": "604687bd-13b4-13b2-a883-9be7187ba247", + "time": 7.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 62.5 + } + ], + "uuid": "8bba05ab-08b1-0c24-a161-1ba876793f42", + "time": 7.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "647f4867-aa15-552e-2305-7bd0c6f3a410", + "time": 8.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "57b3e790-3be5-f731-c740-cd2222695f4e", + "time": 8.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 42.5 + } + ], + "uuid": "183ce92d-0004-0c8b-8e58-4ea08a2e9206", + "time": 9.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Mari/models/costume_tracksuit.bbmodel b/config/yosbr/config/figura/avatars/Mari/models/costume_tracksuit.bbmodel new file mode 100644 index 0000000..1ab82bf --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/models/costume_tracksuit.bbmodel @@ -0,0 +1,5912 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "costume_tracksuit", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 30, + "height": 119 + }, + "elements": [ + { + "name": "TrinityLogo", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.75, + 20.75, + -2.01 + ], + "to": [ + -1.68, + 21.75, + -2.01 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 29, + 27 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "a52c3815-b79c-08db-8d4b-565a2d56e4d6" + }, + { + "name": "Fastener", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.25, + 12, + -2.01 + ], + "to": [ + 0.25, + 24, + -2.01 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9ef62873-4f70-0f81-1320-afe6ec9cfb10" + }, + { + "name": "HairbandFront", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.5, + 29.125, + -4.51 + ], + "to": [ + 4.5, + 31.375, + -4.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 27, + 8, + 29 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6697d60d-5ea3-66b8-bc8f-b11efddbd6f9" + }, + { + "name": "FrontHair1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2, + 21, + -2.5 + ], + "to": [ + 4, + 24, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + -2 + ], + "faces": { + "north": { + "uv": [ + 0, + 29, + 2, + 32 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 29, + 1, + 32 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 29, + 0, + 32 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 29, + 2, + 32 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 29, + 2, + 30 + ], + "texture": 0 + }, + "down": { + "uv": [ + 2, + 31, + 0, + 32 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "30e749d8-37ee-6000-f1e3-599c3fdf16e4" + }, + { + "name": "FrontHair2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3, + 20, + -2.5 + ], + "to": [ + 4, + 21, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + -2 + ], + "faces": { + "north": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c22e7425-7660-3449-6130-abcd22d17b12" + }, + { + "name": "FrontHair3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 21, + -2.5 + ], + "to": [ + -2, + 24, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + -2 + ], + "faces": { + "north": { + "uv": [ + 6, + 29, + 8, + 32 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 29, + 7, + 32 + ], + "texture": 0 + }, + "south": { + "uv": [ + 8, + 29, + 6, + 32 + ], + "texture": 0 + }, + "west": { + "uv": [ + 7, + 29, + 8, + 32 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 29, + 8, + 30 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 31, + 6, + 32 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "554bfc5e-911e-40e1-9a32-2c712a56ff4f" + }, + { + "name": "FrontHair4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 20, + -2.5 + ], + "to": [ + -3, + 21, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + -2 + ], + "faces": { + "north": { + "uv": [ + 7, + 32, + 8, + 33 + ], + "texture": 0 + }, + "east": { + "uv": [ + 7, + 32, + 8, + 33 + ], + "texture": 0 + }, + "south": { + "uv": [ + 7, + 32, + 8, + 33 + ], + "texture": 0 + }, + "west": { + "uv": [ + 7, + 32, + 8, + 33 + ], + "texture": 0 + }, + "up": { + "uv": [ + 7, + 0, + 7, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 7, + 32, + 8, + 33 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "24807490-4ab6-cfb0-e431-bb2a0bf4ca2a" + }, + { + "name": "HairTail", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + 14, + 3 + ], + "to": [ + 1.5, + 28, + 5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 10, + 29, + 13, + 43 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 29, + 10, + 43 + ], + "texture": 0 + }, + "south": { + "uv": [ + 15, + 29, + 18, + 43 + ], + "texture": 0 + }, + "west": { + "uv": [ + 13, + 29, + 15, + 43 + ], + "texture": 0 + }, + "up": { + "uv": [ + 10, + 27, + 13, + 29 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "0d801519-76c3-664d-9f0f-a0344943255f" + }, + { + "name": "Hairband", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 24, + -4 + ], + "to": [ + 4, + 30, + 4 + ], + "autouv": 0, + "color": 0, + "inflate": 0.1, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 33, + 8, + 39 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 39, + 8, + 45 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 33, + 0, + 39 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "3fd49a4c-e901-1714-24fa-f3f760a7f00a" + }, + { + "name": "HairBandRibbonTopLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5.5, + 25.5, + 4.5 + ], + "to": [ + -1.5, + 27.5, + 4.5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 0, + 0, + 20 + ], + "origin": [ + -1.5, + 27.5, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 22, + 27, + 18, + 30 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 18, + 27, + 22, + 30 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ] + } + }, + "type": "cube", + "uuid": "ba783e23-e601-b1ff-8e66-98031c645e80" + }, + { + "name": "HairBandRibbonTopRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1.5, + 25.5, + 4.5 + ], + "to": [ + 5.5, + 27.5, + 4.5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 0, + 0, + -20 + ], + "origin": [ + 1.5, + 27.5, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 18, + 27, + 22, + 30 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 22, + 27, + 18, + 30 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 1, + 0, + 0, + 1 + ] + } + }, + "type": "cube", + "uuid": "fdd279b8-a16e-491f-440e-25106912be55" + }, + { + "name": "HairBandRibbonBottomLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7.5, + 24.5, + 4.5 + ], + "to": [ + -1.5, + 25.5, + 4.5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 0, + 0, + 60 + ], + "origin": [ + -1.5, + 25.5, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 18, + 28, + 19, + 29 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 18, + 28, + 19, + 29 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ] + } + }, + "type": "cube", + "uuid": "abf5a78b-df7b-d86f-deb8-be94980580fb" + }, + { + "name": "HairBandRibbonBottomRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1.5, + 24.5, + 4.5 + ], + "to": [ + 7.5, + 25.5, + 4.5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 0, + 0, + -60 + ], + "origin": [ + 1.5, + 25.5, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 19, + 28, + 18, + 29 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 19, + 28, + 18, + 29 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 1, + 0, + 0, + 1 + ] + } + }, + "type": "cube", + "uuid": "3df702e0-9161-b25d-216d-d67a920f4811" + }, + { + "name": "HairBandRibbonCenter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 25, + 4 + ], + "to": [ + 1, + 26.5, + 4.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 25, + 0 + ], + "faces": { + "north": { + "uv": [ + 21, + 30, + 25, + 33 + ], + "texture": 0 + }, + "east": { + "uv": [ + 18, + 30, + 19.5, + 33 + ], + "texture": 0 + }, + "south": { + "uv": [ + 18, + 33, + 22, + 36 + ], + "texture": 0 + }, + "west": { + "uv": [ + 25, + 30, + 26.5, + 33 + ], + "texture": 0 + }, + "up": { + "uv": [ + 18, + 36, + 22, + 37.5 + ], + "texture": 0 + }, + "down": { + "uv": [ + 22, + 36, + 26, + 37.5 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "26c83d14-ea47-62cf-34d6-4695fb852ee3" + }, + { + "name": "BagBase", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -10, + 9, + -4 + ], + "to": [ + -6, + 15, + 4 + ], + "autouv": 0, + "color": 0, + "origin": [ + -13, + 7, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 97, + 8, + 109 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 97, + 24, + 109 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 97, + 8, + 109 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 97, + 24, + 109 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 89, + 24, + 97 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 24, + 89, + 25, + 97 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "ad005286-a9bf-f9ff-fb1d-fcaecfb30417" + }, + { + "name": "BackPocket", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -10.5, + 9.75, + -3 + ], + "to": [ + -10, + 13.25, + 3 + ], + "autouv": 0, + "color": 0, + "origin": [ + -13, + 7, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 89, + 3, + 93 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 89, + 0, + 89 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 89, + 3, + 93 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 89, + 9, + 90 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 89, + 3, + 90 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 89, + 1, + 90 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "bb52c41f-8c0d-5ab1-09c8-f5ec3665d088" + }, + { + "name": "TrinityLogo", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -10.51, + 10, + -1 + ], + "to": [ + -10.51, + 13.03, + 1 + ], + "autouv": 0, + "color": 0, + "origin": [ + -13, + 7, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 89, + 0, + 89 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 89, + 0, + 89 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 45, + 29, + 89 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 89, + 0, + 89 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 89, + 0, + 89 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "eb8e47ef-f4a0-553c-357c-61c7859e1f78" + }, + { + "name": "BagHandle1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8.5, + 15.25, + -2 + ], + "to": [ + -7.5, + 15.5, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -8.5, + 15.25, + -2 + ], + "faces": { + "north": { + "uv": [ + 0, + 89, + 0, + 89 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 89, + 9, + 90 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 89, + 0, + 89 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 89, + 9, + 90 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 89, + 9, + 90 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 89, + 9, + 90 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "34c74684-e573-8723-5f3c-05a47a001500" + }, + { + "name": "BagHandle2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8.5, + 15.25, + -3 + ], + "to": [ + -7.5, + 15.5, + -2 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -30, + 0, + 0 + ], + "origin": [ + -8, + 15.5, + -2 + ], + "faces": { + "north": { + "uv": [ + 0, + 89, + 0, + 89 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 89, + 9, + 90 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 89, + 0, + 89 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 89, + 9, + 90 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 89, + 9, + 90 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 89, + 9, + 90 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2aa27156-8629-958f-8eed-6fe842191ad0" + }, + { + "name": "BagHandle2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8.5, + 15.25, + 2 + ], + "to": [ + -7.5, + 15.5, + 3 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 30, + 0, + 0 + ], + "origin": [ + -8, + 15.5, + 2 + ], + "faces": { + "north": { + "uv": [ + 0, + 89, + 0, + 89 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 89, + 9, + 90 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 89, + 0, + 89 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 89, + 9, + 90 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 89, + 9, + 90 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 89, + 9, + 90 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "cd1d0b29-d92c-7d2a-74f3-6859fdbf5f58" + }, + { + "name": "BagHookNorth1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8.55, + 12.25, + -4.05 + ], + "to": [ + -8.45, + 12.75, + -3.95 + ], + "autouv": 0, + "color": 0, + "origin": [ + -8.55, + 12.25, + -4.1 + ], + "faces": { + "north": { + "uv": [ + 3, + 102, + 4, + 103 + ], + "texture": 0 + }, + "east": { + "uv": [ + 3, + 102, + 4, + 103 + ], + "texture": 0 + }, + "south": { + "uv": [ + 3, + 102, + 4, + 103 + ], + "texture": 0 + }, + "west": { + "uv": [ + 3, + 102, + 4, + 103 + ], + "texture": 0 + }, + "up": { + "uv": [ + 3, + 102, + 4, + 103 + ], + "texture": 0 + }, + "down": { + "uv": [ + 3, + 102, + 4, + 103 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e6ca3aba-37d9-d33f-c8b9-256fafe9fc75" + }, + { + "name": "BagHookNorth2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7.55, + 12.25, + -4.05 + ], + "to": [ + -7.45, + 12.75, + -3.95 + ], + "autouv": 0, + "color": 0, + "origin": [ + -8.55, + 12.25, + -4.1 + ], + "faces": { + "north": { + "uv": [ + 3, + 102, + 4, + 103 + ], + "texture": 0 + }, + "east": { + "uv": [ + 3, + 102, + 4, + 103 + ], + "texture": 0 + }, + "south": { + "uv": [ + 3, + 102, + 4, + 103 + ], + "texture": 0 + }, + "west": { + "uv": [ + 3, + 102, + 4, + 103 + ], + "texture": 0 + }, + "up": { + "uv": [ + 3, + 102, + 4, + 103 + ], + "texture": 0 + }, + "down": { + "uv": [ + 3, + 102, + 4, + 103 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "9e8296ad-76f1-a6e9-b9d0-d43f43729cf9" + }, + { + "name": "BagHookNorth3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8.45, + 12.7, + -4.05 + ], + "to": [ + -7.55, + 12.8, + -3.95 + ], + "autouv": 0, + "color": 0, + "origin": [ + -8.55, + 12.25, + -4.1 + ], + "faces": { + "north": { + "uv": [ + 3, + 102, + 4, + 103 + ], + "texture": 0 + }, + "east": { + "uv": [ + 3, + 102, + 4, + 103 + ], + "texture": 0 + }, + "south": { + "uv": [ + 3, + 102, + 4, + 103 + ], + "texture": 0 + }, + "west": { + "uv": [ + 3, + 102, + 4, + 103 + ], + "texture": 0 + }, + "up": { + "uv": [ + 3, + 102, + 4, + 103 + ], + "texture": 0 + }, + "down": { + "uv": [ + 3, + 102, + 4, + 103 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "7eecf17f-2153-12fa-df48-07846576e334" + }, + { + "name": "BagHookSouth1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8.55, + 12.25, + 3.95 + ], + "to": [ + -8.45, + 12.75, + 4.05 + ], + "autouv": 0, + "color": 0, + "origin": [ + -8.55, + 12.25, + 4.1 + ], + "faces": { + "north": { + "uv": [ + 4, + 102, + 3, + 103 + ], + "texture": 0 + }, + "east": { + "uv": [ + 4, + 102, + 3, + 103 + ], + "texture": 0 + }, + "south": { + "uv": [ + 4, + 102, + 3, + 103 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 102, + 3, + 103 + ], + "texture": 0 + }, + "up": { + "uv": [ + 3, + 103, + 4, + 102 + ], + "texture": 0 + }, + "down": { + "uv": [ + 3, + 103, + 4, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "053e2b5b-3fd6-9baa-4ea4-37ee1c15733c" + }, + { + "name": "BagHookSouth2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7.55, + 12.25, + 3.95 + ], + "to": [ + -7.45, + 12.75, + 4.05 + ], + "autouv": 0, + "color": 0, + "origin": [ + -8.55, + 12.25, + 4.1 + ], + "faces": { + "north": { + "uv": [ + 4, + 102, + 3, + 103 + ], + "texture": 0 + }, + "east": { + "uv": [ + 4, + 102, + 3, + 103 + ], + "texture": 0 + }, + "south": { + "uv": [ + 4, + 102, + 3, + 103 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 102, + 3, + 103 + ], + "texture": 0 + }, + "up": { + "uv": [ + 3, + 103, + 4, + 102 + ], + "texture": 0 + }, + "down": { + "uv": [ + 3, + 103, + 4, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "9a757c70-7b94-23c4-5baf-1a7f0aeef3b5" + }, + { + "name": "BagHookSouth3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8.45, + 12.7, + 3.95 + ], + "to": [ + -7.55, + 12.8, + 4.05 + ], + "autouv": 0, + "color": 0, + "origin": [ + -8.55, + 12.25, + 4.1 + ], + "faces": { + "north": { + "uv": [ + 4, + 102, + 3, + 103 + ], + "texture": 0 + }, + "east": { + "uv": [ + 4, + 102, + 3, + 103 + ], + "texture": 0 + }, + "south": { + "uv": [ + 4, + 102, + 3, + 103 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 102, + 3, + 103 + ], + "texture": 0 + }, + "up": { + "uv": [ + 3, + 103, + 4, + 102 + ], + "texture": 0 + }, + "down": { + "uv": [ + 3, + 103, + 4, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8ba76c57-86e2-1d24-d05d-c34c32ee99c7" + }, + { + "name": "BagBeltNorthHook", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8.05, + 12.65, + -4.165 + ], + "to": [ + -7.95, + 13.15, + -4.015 + ], + "autouv": 0, + "color": 0, + "origin": [ + -8, + 16, + 0 + ], + "faces": { + "north": { + "uv": [ + 3, + 102, + 4, + 103 + ], + "texture": 0 + }, + "east": { + "uv": [ + 3, + 102, + 4, + 103 + ], + "texture": 0 + }, + "south": { + "uv": [ + 3, + 102, + 4, + 103 + ], + "texture": 0 + }, + "west": { + "uv": [ + 3, + 102, + 4, + 103 + ], + "texture": 0 + }, + "up": { + "uv": [ + 3, + 102, + 4, + 103 + ], + "texture": 0 + }, + "down": { + "uv": [ + 3, + 102, + 4, + 103 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e1e81e0d-3db3-8001-5936-a27e863d1f5b" + }, + { + "name": "BagBeltNorth1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8.5, + 13.15, + -4.165 + ], + "to": [ + -7.5, + 20.15, + -4.015 + ], + "autouv": 0, + "color": 0, + "origin": [ + -8, + 16, + 0 + ], + "faces": { + "north": { + "uv": [ + 29, + 105, + 30, + 119 + ], + "texture": 0 + }, + "east": { + "uv": [ + 29, + 105, + 30, + 119 + ], + "texture": 0 + }, + "south": { + "uv": [ + 29, + 105, + 30, + 119 + ], + "texture": 0 + }, + "west": { + "uv": [ + 29, + 105, + 30, + 119 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 89, + 0, + 89 + ], + "texture": 0 + }, + "down": { + "uv": [ + 29, + 118, + 30, + 119 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "bc5e73b9-5ce9-2b24-b3ac-7c3f2d66cfcb" + }, + { + "name": "BagBeltSouthHook", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8.05, + 12.65, + 4.015 + ], + "to": [ + -7.95, + 13.15, + 4.165 + ], + "autouv": 0, + "color": 0, + "origin": [ + -8, + 16, + 0 + ], + "faces": { + "north": { + "uv": [ + 4, + 102, + 3, + 103 + ], + "texture": 0 + }, + "east": { + "uv": [ + 4, + 102, + 3, + 103 + ], + "texture": 0 + }, + "south": { + "uv": [ + 4, + 102, + 3, + 103 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 102, + 3, + 103 + ], + "texture": 0 + }, + "up": { + "uv": [ + 3, + 103, + 4, + 102 + ], + "texture": 0 + }, + "down": { + "uv": [ + 3, + 103, + 4, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "813b1e20-93bc-393d-e7a1-4445e81e3f9c" + }, + { + "name": "BagBeltSouth1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8.5, + 13.15, + 4.015 + ], + "to": [ + -7.5, + 20.15, + 4.165 + ], + "autouv": 0, + "color": 0, + "origin": [ + -8, + 16, + 0 + ], + "faces": { + "north": { + "uv": [ + 29, + 105, + 30, + 119 + ], + "texture": 0 + }, + "east": { + "uv": [ + 29, + 105, + 30, + 119 + ], + "texture": 0 + }, + "south": { + "uv": [ + 29, + 105, + 30, + 119 + ], + "texture": 0 + }, + "west": { + "uv": [ + 29, + 105, + 30, + 119 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 89, + 0, + 89 + ], + "texture": 0 + }, + "down": { + "uv": [ + 29, + 118, + 30, + 119 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "82916e56-1f29-968f-4195-789b4408edbf" + }, + { + "name": "BagBeltCenter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8.75, + 28, + -4.265 + ], + "to": [ + -7.25, + 28.15, + 1.465 + ], + "autouv": 0, + "color": 0, + "origin": [ + -8, + 29.15, + -4.165 + ], + "faces": { + "north": { + "uv": [ + 0, + 89, + 0, + 89 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 97, + 25, + 98 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 89, + 0, + 89 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 97, + 25, + 98 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 97, + 30, + 98 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 97, + 30, + 98 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "76b57c32-8e80-19ee-c242-df3d8cbf37b5" + }, + { + "name": "BagBeltNorth4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8.75, + 26.15, + -4.165 + ], + "to": [ + -7.25, + 28.15, + -4.015 + ], + "autouv": 0, + "color": 0, + "origin": [ + -8, + 16, + 0 + ], + "faces": { + "north": { + "uv": [ + 24, + 97, + 30, + 105 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 97, + 25, + 98 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 97, + 30, + 105 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 97, + 25, + 98 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 89, + 0, + 89 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 97, + 25, + 98 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "ae1d1fb6-4b22-8e6f-03f6-6e4cef28c83d" + }, + { + "name": "BagBeltSouth3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8.75, + 26.15, + 4.015 + ], + "to": [ + -7.25, + 28.15, + 4.165 + ], + "autouv": 0, + "color": 0, + "origin": [ + -8, + 16, + 0 + ], + "faces": { + "north": { + "uv": [ + 24, + 97, + 30, + 105 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 97, + 25, + 98 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 97, + 30, + 105 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 97, + 25, + 98 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 89, + 0, + 89 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 97, + 25, + 98 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c49a0855-bdce-2e9c-7027-f2628b8a74ff" + }, + { + "name": "BagBeltNorth2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8.75, + 20.15, + -4.165 + ], + "to": [ + -7.25, + 21.65, + -4.015 + ], + "autouv": 0, + "color": 0, + "origin": [ + -8, + 16, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 109, + 6, + 115 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 109, + 1, + 110 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 109, + 6, + 115 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 109, + 1, + 110 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 109, + 1, + 110 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 109, + 1, + 110 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "221b8d4f-6c40-6dca-315a-9fe0c9e6ba6d" + }, + { + "name": "BagBeltNorth3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8.5, + 21.65, + -4.165 + ], + "to": [ + -7.5, + 26.15, + -4.015 + ], + "autouv": 0, + "color": 0, + "origin": [ + -8, + 16, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 89, + 9, + 90 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 89, + 9, + 90 + ], + "texture": 0 + }, + "south": { + "uv": [ + 8, + 89, + 9, + 90 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 89, + 9, + 90 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 89, + 0, + 89 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 89, + 0, + 89 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "326667df-48f5-40f4-35da-37fd65a04e8c" + }, + { + "name": "IDCardHook", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7.575, + 11.9, + -4 + ], + "to": [ + -7.425, + 12.4, + -4 + ], + "autouv": 0, + "color": 0, + "origin": [ + -7.525, + 15.25, + 0.1 + ], + "faces": { + "north": { + "uv": [ + 6, + 109, + 7, + 110 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 89, + 0, + 89 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 109, + 7, + 110 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 89, + 0, + 89 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 89, + 0, + 89 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 89, + 0, + 89 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "66c019ae-da1c-d9af-3aae-52f5f1c58ddb" + }, + { + "name": "IDCard", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8.25, + 9.65, + -4 + ], + "to": [ + -6.75, + 11.9, + -4 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + -7.5, + 12.35, + -4 + ], + "faces": { + "north": { + "uv": [ + 6, + 109, + 12, + 118 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 6, + 109, + 12, + 118 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "7e96ba1c-13d1-40fc-a93b-ced647d833b2" + }, + { + "name": "TrinityLogo", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7.96, + 10.175, + -4.01 + ], + "to": [ + -7.04, + 11.575, + -4.01 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 7, + -13 + ], + "faces": { + "north": { + "uv": [ + 0, + 44, + 29, + 88 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 89, + 0, + 89 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 89, + 0, + 89 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 89, + 0, + 89 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 89, + 0, + 89 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "c41cc07b-30ba-fa46-64a9-bb962e146fba" + }, + { + "name": "BagBaseFastener1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -9.375, + 13.75, + -4.1 + ], + "to": [ + -9.125, + 14.25, + -4 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + -10 + ], + "origin": [ + -9.25, + 14.25, + -4 + ], + "faces": { + "north": { + "uv": [ + 1, + 89, + 2, + 90 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 89, + 2, + 90 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 89, + 2, + 90 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 89, + 2, + 90 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 89, + 2, + 90 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 89, + 2, + 90 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8e899c5c-17c9-6f19-bc77-94669ae92648" + }, + { + "name": "BagBaseFastener2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -9.125, + 13.75, + -4.1 + ], + "to": [ + -8.875, + 14.25, + -4 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + 20 + ], + "origin": [ + -9, + 14.25, + -4 + ], + "faces": { + "north": { + "uv": [ + 1, + 89, + 2, + 90 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 89, + 2, + 90 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 89, + 2, + 90 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 89, + 2, + 90 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 89, + 2, + 90 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 89, + 2, + 90 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c997ae8b-0ff9-1f71-18c2-3fa3802bb718" + }, + { + "name": "BackPocketFastener", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -10.375, + 10.25, + -3.1 + ], + "to": [ + -10.125, + 10.75, + -3 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + -15 + ], + "origin": [ + -10.25, + 10.75, + -3 + ], + "faces": { + "north": { + "uv": [ + 1, + 89, + 2, + 90 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 89, + 2, + 90 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 89, + 2, + 90 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 89, + 2, + 90 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 89, + 2, + 90 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 89, + 2, + 90 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b7725831-ab34-7165-7f19-22d4d785f7b2" + }, + { + "name": "BagBeltSouth2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8.5, + 20.15, + 4.015 + ], + "to": [ + -7.5, + 26.15, + 4.165 + ], + "autouv": 0, + "color": 0, + "origin": [ + -8, + 16, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 89, + 9, + 90 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 89, + 9, + 90 + ], + "texture": 0 + }, + "south": { + "uv": [ + 8, + 89, + 9, + 90 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 89, + 9, + 90 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 89, + 0, + 89 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 89, + 0, + 89 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "efcd8424-1913-07bf-25da-097fdf5396f3" + }, + { + "name": "HairTailBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + 16, + 3 + ], + "to": [ + 1.5, + 16, + 5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 10, + 27, + 13, + 29 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e79ff80d-15e0-a0d2-91ce-27648026105e" + } + ], + "outliner": [ + { + "name": "CTracksuitH", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "6fe1cd31-8379-4e0a-6103-4954b417062f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "6697d60d-5ea3-66b8-bc8f-b11efddbd6f9", + "3fd49a4c-e901-1714-24fa-f3f760a7f00a", + { + "name": "HairBandRibbon", + "origin": [ + 0, + 25, + 0 + ], + "color": 0, + "uuid": "a10e5d8d-8a1f-c9e0-b6e3-2b23c0f63031", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "26c83d14-ea47-62cf-34d6-4695fb852ee3", + { + "name": "HairBandRibbonTopLeftYPivot", + "origin": [ + -1.5, + 26.5, + 4.5 + ], + "color": 0, + "uuid": "1840a813-ce61-0a7e-004b-e87c624c95dc", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "HairBandRibbonTopLeftZPivot", + "origin": [ + -1.5, + 26.5, + 4.5 + ], + "color": 0, + "uuid": "ab0f2c82-551a-63f9-467d-73a5ebf307ce", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ba783e23-e601-b1ff-8e66-98031c645e80" + ] + } + ] + }, + { + "name": "HairBandRibbonTopRightYPivot", + "origin": [ + 1.5, + 26.5, + 4.5 + ], + "color": 0, + "uuid": "e9acdedd-37ae-f856-5879-0b0fb3a02f77", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "HairBandRibbonTopRightZPivot", + "origin": [ + 1.5, + 26.5, + 4.5 + ], + "color": 0, + "uuid": "d38e4431-d898-316b-618e-37d4ace189d4", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "fdd279b8-a16e-491f-440e-25106912be55" + ] + } + ] + }, + { + "name": "HairBandRibbonBottom", + "origin": [ + 0, + 25.25, + 4.5 + ], + "color": 0, + "uuid": "7e9b1bb7-8935-889e-de5f-97f34d1a3441", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "HairBandRibbonBottomLeftXPivot", + "origin": [ + 0, + 25.25, + 4.5 + ], + "color": 0, + "uuid": "e6971ded-0ce5-b868-6dbe-22b25e27c5fe", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "HairBandRibbonBottomLeftZPivot", + "origin": [ + -1.5, + 25.5, + 4.5 + ], + "color": 0, + "uuid": "75f08b9b-8303-ca55-4a2b-3702c36a650f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "abf5a78b-df7b-d86f-deb8-be94980580fb" + ] + } + ] + }, + { + "name": "HairBandRibbonBottomRightXPivot", + "origin": [ + 0, + 25.25, + 4.5 + ], + "color": 0, + "uuid": "3f1ac4bc-e801-9ce6-731d-d472a46a5057", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "HairBandRibbonBottomRightZPivot", + "origin": [ + 1.5, + 25.5, + 4.5 + ], + "color": 0, + "uuid": "f5b93b89-3b0f-4cf9-952f-8c57453c07c5", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "3df702e0-9161-b25d-216d-d67a920f4811" + ] + } + ] + } + ] + } + ] + }, + { + "name": "HairTail", + "origin": [ + 0, + 28, + 4 + ], + "color": 0, + "uuid": "63a97729-5eb8-975e-dbc1-d79fee2a5068", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "HairTailZPivot", + "origin": [ + 0, + 28, + 4 + ], + "color": 0, + "uuid": "3a37a29e-2844-7be7-3259-4f891dc3c329", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "0d801519-76c3-664d-9f0f-a0344943255f", + "e79ff80d-15e0-a0d2-91ce-27648026105e" + ] + } + ] + } + ] + }, + { + "name": "CTracksuitB", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "bf46683d-6d5a-c0bb-805d-73d15459b2a0", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a52c3815-b79c-08db-8d4b-565a2d56e4d6", + "9ef62873-4f70-0f81-1320-afe6ec9cfb10", + { + "name": "FrontHair", + "origin": [ + 0, + 24, + -2 + ], + "color": 0, + "uuid": "b5cfe6c8-6c9a-0cb8-f7d5-e61f4547565f", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "30e749d8-37ee-6000-f1e3-599c3fdf16e4", + "c22e7425-7660-3449-6130-abcd22d17b12", + "554bfc5e-911e-40e1-9a32-2c712a56ff4f", + "24807490-4ab6-cfb0-e431-bb2a0bf4ca2a" + ] + }, + { + "name": "Bag", + "origin": [ + -8, + 9, + 0 + ], + "rotation": [ + 0, + 0, + -20 + ], + "color": 0, + "uuid": "28e02cdb-b83e-e678-b660-ba086a8cfa20", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ad005286-a9bf-f9ff-fb1d-fcaecfb30417", + { + "name": "BagBaseFastener1XPivot", + "origin": [ + -9.25, + 14.25, + -4 + ], + "color": 0, + "uuid": "fbf46cae-d522-3a7c-aba6-5afd14f45323", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "BagBaseFastener1ZPivot", + "origin": [ + -9.25, + 14.25, + -4 + ], + "color": 0, + "uuid": "6c52309f-e114-d67b-5d51-373a70da7436", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8e899c5c-17c9-6f19-bc77-94669ae92648" + ] + } + ] + }, + { + "name": "BagBaseFastener2XPivot", + "origin": [ + -9, + 14.25, + -4 + ], + "color": 0, + "uuid": "fd74991d-bbd5-a692-a133-3c6b58079873", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "BagBaseFastener2ZPivot", + "origin": [ + -9, + 14.25, + -4 + ], + "color": 0, + "uuid": "87d0a36a-7928-8faf-6cfc-11a8d41719a8", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "c997ae8b-0ff9-1f71-18c2-3fa3802bb718" + ] + } + ] + }, + { + "name": "BackPocket", + "origin": [ + -13, + 7, + 0 + ], + "color": 0, + "uuid": "ec014358-7f2c-bc10-dd0e-295292fa4699", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "bb52c41f-8c0d-5ab1-09c8-f5ec3665d088", + "eb8e47ef-f4a0-553c-357c-61c7859e1f78", + { + "name": "BackPocketFastenerXPivot", + "origin": [ + -10.25, + 10.75, + -3 + ], + "color": 0, + "uuid": "41c12291-c49a-de22-49ee-fdd2034636c5", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "BackPocketFastenerZPivot", + "origin": [ + -10.25, + 10.75, + -3 + ], + "color": 0, + "uuid": "df32f588-23b8-c83f-282c-c8bc8e1c80b5", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b7725831-ab34-7165-7f19-22d4d785f7b2" + ] + } + ] + } + ] + }, + { + "name": "BagHandle", + "origin": [ + -8.5, + 15.25, + -2 + ], + "color": 0, + "uuid": "45b72976-bd03-0657-b98d-4a60e90b3ffa", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "34c74684-e573-8723-5f3c-05a47a001500", + "cd1d0b29-d92c-7d2a-74f3-6859fdbf5f58", + "2aa27156-8629-958f-8eed-6fe842191ad0" + ] + }, + { + "name": "BagHooks", + "origin": [ + -13, + 7, + 0 + ], + "color": 0, + "uuid": "120586dc-630d-cb0f-74df-fda78102ca3c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "BagHookNorth", + "origin": [ + -8, + 12.25, + -4 + ], + "rotation": [ + -10, + 0, + 0 + ], + "color": 0, + "uuid": "b0ff4076-4b0b-efdd-be88-83424df6d2a9", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e6ca3aba-37d9-d33f-c8b9-256fafe9fc75", + "9e8296ad-76f1-a6e9-b9d0-d43f43729cf9", + "7eecf17f-2153-12fa-df48-07846576e334", + { + "name": "IDCard", + "origin": [ + -7.5, + 12.35, + -4 + ], + "rotation": [ + 14.13272, + -5.07855, + 19.37006 + ], + "color": 0, + "uuid": "e20e20d1-531c-79c4-3954-ff8cbc6a1349", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "IDCardXPivot", + "origin": [ + -7.5, + 12.35, + -4 + ], + "color": 0, + "uuid": "2b28bd83-11e0-f23e-1b8b-21c45ee12e61", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "IDCardZPivot", + "origin": [ + -7.5, + 12.35, + -4 + ], + "color": 0, + "uuid": "cd173251-8131-87ca-2d91-0e618f09e128", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "66c019ae-da1c-d9af-3aae-52f5f1c58ddb", + "7e96ba1c-13d1-40fc-a93b-ced647d833b2", + "c41cc07b-30ba-fa46-64a9-bb962e146fba" + ] + } + ] + } + ] + } + ] + }, + { + "name": "BagHookSouth", + "origin": [ + -8, + 12.25, + 4 + ], + "rotation": [ + 10, + 0, + 0 + ], + "color": 0, + "uuid": "b3c27a0d-c738-29ab-7815-989841ccaf11", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "053e2b5b-3fd6-9baa-4ea4-37ee1c15733c", + "9a757c70-7b94-23c4-5baf-1a7f0aeef3b5", + "8ba76c57-86e2-1d24-d05d-c34c32ee99c7" + ] + } + ] + }, + { + "name": "BagBelt", + "origin": [ + -8, + 12.73, + 0 + ], + "rotation": [ + 0, + 0, + -20 + ], + "color": 0, + "uuid": "d71e3faa-91ec-59f4-9c97-8fb1ad0040fc", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e1e81e0d-3db3-8001-5936-a27e863d1f5b", + "813b1e20-93bc-393d-e7a1-4445e81e3f9c", + { + "name": "BagBeltNorth", + "origin": [ + -8, + 13.15, + -4.075 + ], + "rotation": [ + 5, + 0, + 0 + ], + "color": 0, + "uuid": "e41b8015-d134-6b1b-6579-b44a63328e58", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "bc5e73b9-5ce9-2b24-b3ac-7c3f2d66cfcb", + "221b8d4f-6c40-6dca-315a-9fe0c9e6ba6d", + "326667df-48f5-40f4-35da-37fd65a04e8c", + "ae1d1fb6-4b22-8e6f-03f6-6e4cef28c83d", + { + "name": "BagBeltCenter", + "origin": [ + -8, + 29.15, + -4.165 + ], + "rotation": [ + -5, + 0, + 0 + ], + "color": 0, + "uuid": "fa5e0bf4-f622-33ae-c246-c9be70923bad", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "76b57c32-8e80-19ee-c242-df3d8cbf37b5" + ] + } + ] + }, + { + "name": "BagBeltSouth", + "origin": [ + -8, + 13.15, + 4.075 + ], + "rotation": [ + -5, + 0, + 0 + ], + "color": 0, + "uuid": "39e76c0d-e0da-ae04-b2af-b84bce22f218", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "82916e56-1f29-968f-4195-789b4408edbf", + "efcd8424-1913-07bf-25da-097fdf5396f3", + "c49a0855-bdce-2e9c-7027-f2628b8a74ff" + ] + } + ] + } + ] + } + ] + } + ], + "textures": [ + { + "path": "", + "name": "costume_tracksuit.png", + "folder": "", + "namespace": "", + "id": "1", + "width": 30, + "height": 119, + "uv_width": 30, + "uv_height": 119, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "8b348af9-4c86-bad1-47f6-c93817331e9c", + "relative_path": "../../textures/costume_tracksuit.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAB3CAYAAAAUy/AwAAAAAXNSR0IArs4c6QAABNpJREFUaEPtWDtoFVEQ3TXko5GIX9DOUhRBxARBrYJiJyJYC6IoWimKCBaCCLaCYmUtiNiJYhUFiRJsFEs7Gz9gMCQhxJVZmHV23vzubl5C4L3m5e29d87MmTNzZ5NngU9RFAVuy/M850e8dQmiwwjdhAYpGH8Gv611LS4VmBuUopSix33eeRHYOxQ1btlxgWn+AnIotyATycA8zzyHKb+Tc6zRKTFgOdIYGA4iZZ7Ko9oo0yF5JBmgz6gjVj6Tc+zVpgZMhUWZSmogKRF6DCUBe+ICir2cW+VntkxJWBKdFMDqZrV9XlOwaExRMcdxI9ZE0iSvSRF76rS6XKscL8WF0EjVPCJNXFFRob1Qjj0BNllfOWB+26RS1iTaMl1S341eHJaivRpXgaV2SBVeiSQ4dfIAK2Ber9INxa9A6SKxejz2d/guxaU1e22yiNzH3CbVUgXcVCCp5yhDy1ZOYsRfHt0qtp66kW0YGSqD+D09l31/ejfbdf525djcxIPqNWboyMUOh3/8nK3Wt2xe6waUc1Ckj4N7wAsL/9+vwEZ/f+c7Vu12mnlxv/R0+Pjlmpf4vG+4L5TKvoMXavtaAw9sG8gWZxZV8MqxvefKPRIgskHXcohsfno623T6Zi3iX0/uFIMjI1lqxGFgAOCgGB6srdu+MUT1n91nSnFKwCg8KjpTfUDR4ruHIeDkHGtWMS8IDHm2aG8FzEsCSmr958c1cQE4OkG/Z0fP1mLwajmnYABEP3AYxIdgFucD45dqy5KtWh17HQfr2Ut0MrBnMArMG5Bn1+2pPWCkEKilbCRTTVWNXYc/oxcJ/E1B+G8vt9WshqrGu5hei/C3V49RIL6vEhctq24CVhE39fjr1LNi5/6TblVo9hsdRNA24MnAHKwpeBKwBtIEPAkY8rWsEVMwCzglcjViDSwK7DlhUi0djlDtgULKQjkGQ1iPUu1661ItdwCjEQCgf+Nh/kxiAPZq593O5dHVdr0WcaQjcdFhdBKdlr0KmG6i+aT5i/Z1SjOlneqjBLZo81TsrVNn6d5SQNYto4mHGqTno/bciCkjnsqjoLU6lnJMhSN1Mqu7cUa4UyFVa7XrKdxVtUYh5k4yoEVLGw3PPWXQbZmpnUkKwm2ZVuS0nqVItF6uOZIcMVd504HPvCS0fGlNx0qLOldb7dASkiey5PFWa4Wpz5OAvcZglUmUgbC4tGbAn3tt0x0EOEVR4OjV6UasOWApPgLeAzZZ0oQTFRQ1vnqo7lqvjijSGxAjNpKpjhiN7Fk5YHrB09Ek4nWbPdVc7ZVE6rq3XwW2ZidtDKJtlI9CvNfX3iRSL/zofqkEqzcJnl/twtfq2Bt7OEvLqmrq3LIBd0Q8P/+3+PbpebZjz4lscHBNhyOw3qZswLY0AufdBganpYBWFhip7AbVasRe/trmuAccnqvbUm2Wk5fntusATj/QM6r/V7Y1rp0HEBUYFqUPHtDWPWexI/aAqxwjlZOTH0v2xsb2ld9dp9rL1arNsRRYWU7dVLV0F0NT6gHX0sEL3xOhtK5SPTExJc5UV65eF3E+vH/dekAscwzAWLeIBPUMwG/fvKqBHzp8NOsBN8n7ylMted31HGtUHRgdL7oqLgt48uW12vLYsXtLp2oLWFpbsnJqosq2Z6B3/ANJ4lO9C+8EggAAAABJRU5ErkJggg==" + } + ], + "animations": [ + { + "uuid": "6e9a9133-73c7-d807-5c0c-02cfe18849b6", + "name": "ex_skill_2", + "loop": "hold", + "override": true, + "length": 5.05, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "63a97729-5eb8-975e-dbc1-d79fee2a5068": { + "name": "HairTail", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": "0", + "z": "0" + } + ], + "uuid": "40fb8ea3-3e88-c622-815b-ceca612dc96d", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "fb9a388c-135a-7371-ae8c-a744e39e148b", + "time": 0.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "68897350-6c1c-ce7e-10fb-9a9bd9bccd1f", + "time": 1.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -5, + "y": 0, + "z": 0 + } + ], + "uuid": "67c08c46-2c83-dc73-6ca4-d9b31e1f6a7e", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -4.81594, + "y": 2.15393, + "z": 9.76758 + } + ], + "uuid": "ab40f049-e1df-bfe4-9ad7-99e50aab57ca", + "time": 1.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 5, + "y": "0", + "z": "0" + } + ], + "uuid": "7a99145c-735a-a569-52ca-2f1cff3fa13f", + "time": 1.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 5, + "y": 0, + "z": 0 + } + ], + "uuid": "b94d78aa-7155-4087-05e1-44c21810bee8", + "time": 2.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -7.49294, + "y": -0.32621, + "z": -2.47864 + } + ], + "uuid": "9cecae11-10f1-1015-1dc7-ce91fc4ac076", + "time": 2.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 7.5, + "y": "0", + "z": "0" + } + ], + "uuid": "074d1d26-36f9-ce04-eadb-bc59e512f843", + "time": 2.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 7.5, + "y": 0, + "z": 0 + } + ], + "uuid": "4876fbc0-454c-9b62-0376-c0508977aad7", + "time": 2.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 5, + "y": 0, + "z": 0 + } + ], + "uuid": "e7bf6666-6146-4f89-ea80-42a275352027", + "time": 2.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 5, + "y": 0, + "z": 0 + } + ], + "uuid": "22e92ce3-6da7-d26a-0058-459f6685f85f", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -5, + "y": 0, + "z": 0 + } + ], + "uuid": "2c0d5575-8d84-04ed-0f6c-9279faed3e09", + "time": 3.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 2.4905, + "y": -0.21782, + "z": 4.99527 + } + ], + "uuid": "116d2d81-0a4d-0e25-7acb-899aacb12c45", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 2.49, + "y": -0.22, + "z": 5 + } + ], + "uuid": "4c4791b2-b7a1-d644-62f7-fa60310fc06b", + "time": 3.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 2.49722, + "y": -0.11121, + "z": 2.50236 + } + ], + "uuid": "5cb3f677-baca-ac44-8aff-854c7bf11b89", + "time": 3.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 2.50242, + "y": -0.00088, + "z": 0.00238 + } + ], + "uuid": "5b3b38f9-6b77-3636-2a4e-b899f6fc067e", + "time": 3.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -9.99067, + "y": 0.43399, + "z": 2.46207 + } + ], + "uuid": "550bc779-247b-3ea8-4048-d18fed28f51c", + "time": 4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -2.5, + "y": "0", + "z": "0" + } + ], + "uuid": "fef69e55-b801-b0a2-cc9c-f536ed81560f", + "time": 4.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 34.58897, + "y": 5.71617, + "z": -8.21888 + } + ], + "uuid": "f07c10c3-e95f-a568-91e5-8f96ed6dbdef", + "time": 4.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 34.59105, + "y": -5.71278, + "z": 8.21745 + } + ], + "uuid": "bd5ae4d5-d629-ccf4-7d57-6f9ed2195ca0", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 34.58897, + "y": 5.71617, + "z": -8.21888 + } + ], + "uuid": "5ea04d8d-d4e0-ac8c-eac8-2b6448ae11f3", + "time": 4.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 34.59105, + "y": -5.71278, + "z": 8.21745 + } + ], + "uuid": "7d1bf0ca-b74e-1989-e79a-fa270e06a194", + "time": 4.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 34.58897, + "y": 5.71617, + "z": -8.21888 + } + ], + "uuid": "7371ed76-c033-161b-0fe6-f7f4e9d19b50", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 34.59105, + "y": -5.71278, + "z": 8.21745 + } + ], + "uuid": "b3027e35-dd79-f071-9ce8-3fb6325415a5", + "time": 4.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 34.58897, + "y": 5.71617, + "z": -8.21888 + } + ], + "uuid": "f9fb4d09-7f02-c654-5b70-bb16da40c55b", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 34.59105, + "y": -5.71278, + "z": 8.21745 + }, + { + "x": "-2.5", + "y": "0", + "z": "-42.5" + } + ], + "uuid": "9329c7de-c77f-1f9f-7c2e-3a37f6211842", + "time": 5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "b5cfe6c8-6c9a-0cb8-f7d5-e61f4547565f": { + "name": "FrontHair", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "909a0369-4e68-3aea-19fa-1aa06ec9bb1e", + "time": 4.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30, + "y": 0, + "z": 0 + } + ], + "uuid": "14c42805-ab6e-3de7-e899-4233b17155fd", + "time": 4.3, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "0245589e-ff7c-98c6-8b41-62ab79ab7614", + "time": 5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "28e02cdb-b83e-e678-b660-ba086a8cfa20": { + "name": "Bag", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "ed027339-15b0-0a58-64d0-9135d878e39a", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 50, + "z": 20 + } + ], + "uuid": "b6791c06-85f6-82e7-07f9-bcf37ffbd1d2", + "time": 5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "17621b7c-0ec5-63a4-4e3b-1c899bc620a6", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 7, + "y": -9, + "z": 9 + } + ], + "uuid": "ff00a499-9bd0-6e8c-9bf4-8cd525b302e4", + "time": 5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "d71e3faa-91ec-59f4-9c97-8fb1ad0040fc": { + "name": "BagBelt", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "24b79406-52a5-8038-6dd7-825ab83b6227", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -82.5 + } + ], + "uuid": "077eae11-f2cb-bc6f-06d0-9edc8df96a22", + "time": 5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e20e20d1-531c-79c4-3954-ff8cbc6a1349": { + "name": "IDCard", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "e83eff34-42dc-1cbf-5a0a-e18936887a69", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -20 + } + ], + "uuid": "b9c009a6-7e11-ed3c-0fa4-69f6dba321ae", + "time": 5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + }, + { + "uuid": "1e81146d-7ca0-a69e-aa8c-684d589a0f75", + "name": "ex_skill_3", + "loop": "hold", + "override": true, + "length": 3.2, + "snapping": 20, + "selected": true, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "63a97729-5eb8-975e-dbc1-d79fee2a5068": { + "name": "HairTail", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "-20", + "y": "0", + "z": "0" + } + ], + "uuid": "f9628423-9eff-7964-64f4-28631a633c4a", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -20, + "y": 0, + "z": 0 + } + ], + "uuid": "31f2da65-7b0a-ab09-58df-b34b8f3658f6", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "c82c537d-3b36-27de-9941-b287b71844eb", + "time": 2.75, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-20", + "y": "0", + "z": 0 + } + ], + "uuid": "5ca17736-4617-ef30-0ba7-422b606c0047", + "time": 3.2, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.3, + -0.3, + -0.1 + ], + "bezier_left_value": [ + 0.07664, + 0, + 0 + ], + "bezier_right_time": [ + 0.3, + 0.3, + 0.1 + ], + "bezier_right_value": [ + -0.07664, + 0, + 0 + ] + } + ] + } + } + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Mari/models/death_animation.bbmodel b/config/yosbr/config/figura/avatars/Mari/models/death_animation.bbmodel new file mode 100644 index 0000000..230409b --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/models/death_animation.bbmodel @@ -0,0 +1,20545 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "death_animation", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 256, + "height": 191 + }, + "elements": [ + { + "name": "Body1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20, + 15.5, + -37 + ], + "to": [ + 20, + 55.5, + 33 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 70, + 0, + 0, + 40 + ], + "texture": 0 + }, + "south": { + "uv": [ + 70, + 105, + 110, + 145 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 70, + 40 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 40, + 70, + 80 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 80, + 70, + 120 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "b7c05a5f-7761-cdb8-f20e-1c37a3ade2d6" + }, + { + "name": "FrontWindow1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20, + 38.25, + -64.75 + ], + "to": [ + 20, + 55.25, + -36.5 + ], + "autouv": 0, + "color": 0, + "inflate": -0.01, + "rotation": [ + -70, + 0, + 0 + ], + "origin": [ + 0, + 55, + -37 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 98.25, + 0, + 70, + 17 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 70, + 0, + 98.25, + 17 + ], + "texture": 0 + }, + "up": { + "uv": [ + 70, + 41, + 110, + 69.25 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "96c3a955-eb63-9471-5196-694594fda260" + }, + { + "name": "Nose1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -10, + 15.5, + -75.25 + ], + "to": [ + 10, + 32.5, + -45.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -25.25 + ], + "faces": { + "north": { + "uv": [ + 111, + 14, + 131, + 31 + ], + "texture": 0 + }, + "east": { + "uv": [ + 161, + 14.25, + 131, + 31.25 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 131, + 14.25, + 161, + 31.25 + ], + "texture": 0 + }, + "up": { + "uv": [ + 161, + 14, + 191, + 34 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 191, + 14, + 161, + 34 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "e7fa4708-6808-a16e-c3cf-84c4423ce64d" + }, + { + "name": "Nose2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 10, + 15.5, + -76.925 + ], + "to": [ + 20, + 29.5, + -46.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 19.15, + 0 + ], + "origin": [ + 20, + 22.5, + -46.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 80, + 17, + 110.425, + 31 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 99, + 4, + 129.425, + 14 + ], + "rotation": 270, + "texture": 0 + }, + "down": { + "uv": [ + 129.425, + 4, + 99, + 14 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "c62a05d2-a700-0657-0afa-5f2244004bff" + }, + { + "name": "Body2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20, + 15.5, + -46.5 + ], + "to": [ + 20, + 29.5, + -37 + ], + "autouv": 0, + "color": 0, + "inflate": -0.001, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 79.5, + 17, + 70, + 31 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 70, + 17, + 79.5, + 31 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 70, + 31, + 110, + 40.5 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f00ed130-bf0d-ecc1-f1ca-bbf1616f1ada" + }, + { + "name": "Nose3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20, + 15.5, + -76.925 + ], + "to": [ + -10, + 29.5, + -46.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -19.15, + 0 + ], + "origin": [ + -20, + 22.5, + -46.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 110.425, + 17, + 80, + 31 + ], + "texture": 0 + }, + "up": { + "uv": [ + 99, + 14, + 129.425, + 4 + ], + "rotation": 270, + "texture": 0 + }, + "down": { + "uv": [ + 129.425, + 14, + 99, + 4 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "09ad8112-4cf8-8762-652e-f5ad6d9f618e" + }, + { + "name": "RearBody1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -10, + 15.5, + 33 + ], + "to": [ + 10, + 50.5, + 63 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 191, + 14, + 211, + 49 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 130, + 32, + 150, + 62 + ], + "texture": 0 + }, + "down": { + "uv": [ + 170, + 34, + 190, + 64 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "890f0f8a-d674-0b64-0662-72ec21b7e302" + }, + { + "name": "RearBody2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20, + 15.5, + 33 + ], + "to": [ + 0, + 50.5, + 64.62 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 18.4, + 0 + ], + "origin": [ + -20, + 35, + 33 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 70, + 70, + 101.62, + 105 + ], + "texture": 0 + }, + "up": { + "uv": [ + 110, + 31, + 130, + 62.62 + ], + "texture": 0 + }, + "down": { + "uv": [ + 150, + 34, + 170, + 65.62 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "553e0577-b6a2-7ca8-524a-dcd364e5e845" + }, + { + "name": "RearBody3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 15.5, + 33 + ], + "to": [ + 20, + 50.5, + 64.62 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -18.4, + 0 + ], + "origin": [ + 20, + 35, + 33 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 101.62, + 70, + 70, + 105 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 130, + 31, + 110, + 62.62 + ], + "texture": 0 + }, + "down": { + "uv": [ + 170, + 34, + 150, + 65.62 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "6e532d40-881b-73cd-c7ce-a6d5be00d54f" + }, + { + "name": "EngineRoom1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 55.5, + -13 + ], + "to": [ + 8, + 71.5, + 13 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 110, + 125, + 126, + 141 + ], + "texture": 0 + }, + "east": { + "uv": [ + 152, + 125, + 126, + 141 + ], + "texture": 0 + }, + "south": { + "uv": [ + 152, + 125, + 168, + 141 + ], + "texture": 0 + }, + "west": { + "uv": [ + 126, + 125, + 152, + 141 + ], + "texture": 0 + }, + "up": { + "uv": [ + 168, + 125, + 194, + 141 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6daed1d4-981e-461b-e3bb-74c380ac33dc" + }, + { + "name": "EngineRoomLeft1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16, + 55.5, + -13 + ], + "to": [ + -8, + 61.5, + 17 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 120, + 8, + 126 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 8, + 120, + 38, + 126 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 126, + 30, + 134 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "429f5b24-b23e-95d7-a9ee-497cc9d6870d" + }, + { + "name": "EngineRoomLeft2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16, + 50.5, + 17 + ], + "to": [ + -8, + 64.5, + 45 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 28, + 134, + 42, + 142 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 42, + 134, + 56, + 142 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 38, + 120, + 66, + 134 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 134, + 28, + 142 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "4f5a613d-8830-b138-718b-9ffbb057e3d2" + }, + { + "name": "EngineRoom2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 50.5, + 13 + ], + "to": [ + 8, + 67.5, + 59 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 240, + 117, + 194, + 134 + ], + "texture": 0 + }, + "south": { + "uv": [ + 240, + 117, + 256, + 134 + ], + "texture": 0 + }, + "west": { + "uv": [ + 194, + 117, + 240, + 134 + ], + "texture": 0 + }, + "up": { + "uv": [ + 194, + 134, + 240, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "00352831-878c-36dd-56e5-23907f1b47fa" + }, + { + "name": "EngineRoomExhaustLeft1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16, + 63.5, + 45 + ], + "to": [ + -8, + 64.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 30, + 131, + 38, + 132 + ], + "texture": 0 + }, + "west": { + "uv": [ + 37, + 132, + 38, + 126 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 30, + 126, + 38, + 132 + ], + "texture": 0 + }, + "down": { + "uv": [ + 30, + 126, + 31, + 127 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "59b62c8d-08db-51f2-9fd9-207412f3c43a" + }, + { + "name": "EngineRoomExhaustLeft2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16, + 56.5, + 45 + ], + "to": [ + -8, + 57.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 30, + 131, + 38, + 132 + ], + "texture": 0 + }, + "west": { + "uv": [ + 30, + 132, + 31, + 126 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 30, + 126, + 38, + 132 + ], + "texture": 0 + }, + "down": { + "uv": [ + 30, + 126, + 38, + 132 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "48913cfa-28ec-987b-4365-3a4efe28b6e9" + }, + { + "name": "EngineRoomExhaustLeft3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16, + 57.5, + 45 + ], + "to": [ + -15, + 63.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 30, + 126, + 31, + 127 + ], + "texture": 0 + }, + "south": { + "uv": [ + 31, + 131, + 37, + 132 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 31, + 126, + 37, + 132 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "12a1c9b3-563f-29d1-4231-8b8960e9bf95" + }, + { + "name": "EngineRoomExhaustLeft4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -9, + 57.5, + 45 + ], + "to": [ + -8, + 63.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 31, + 131, + 37, + 132 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 31, + 126, + 37, + 132 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "bb1f1492-cd11-fc0f-eb04-6a5f11c8bd62" + }, + { + "name": "RotorShaft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 71.5, + -2 + ], + "to": [ + 2, + 77.5, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 142, + 4, + 148 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 142, + 4, + 148 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 142, + 4, + 148 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 142, + 4, + 148 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "a1ca5212-93a0-4d30-6122-d2e5c9872983" + }, + { + "name": "RotorHead", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5, + 77.5, + -5 + ], + "to": [ + 5, + 81.5, + 5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 4, + 152, + 14, + 156 + ], + "texture": 0 + }, + "east": { + "uv": [ + 4, + 152, + 14, + 156 + ], + "texture": 0 + }, + "south": { + "uv": [ + 4, + 152, + 14, + 156 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 152, + 14, + 156 + ], + "texture": 0 + }, + "up": { + "uv": [ + 4, + 142, + 14, + 152 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 142, + 14, + 152 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "66601b79-7b9e-fa15-2bd4-56693acf0bb7" + }, + { + "name": "BladeSleeve", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 78.5, + -17 + ], + "to": [ + 3, + 80.5, + -5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 44, + 142, + 38, + 144 + ], + "texture": 0 + }, + "east": { + "uv": [ + 38, + 142, + 26, + 144 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 26, + 142, + 38, + 144 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "103317bc-2688-89dd-17f8-3650470efcaa" + }, + { + "name": "Blade1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 79, + -25 + ], + "to": [ + 2, + 80, + -17 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 94, + 152, + 102, + 153 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 94, + 149, + 102, + 150 + ], + "texture": 0 + }, + "up": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "d1db4ea0-4661-4e86-13ab-d074bdb22394" + }, + { + "name": "Blade2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 79, + -105 + ], + "to": [ + 3, + 80, + -25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 14, + 148, + 15, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 94, + 153, + 14, + 154 + ], + "texture": 0 + }, + "south": { + "uv": [ + 93, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 14, + 148, + 94, + 149 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 148, + 14, + 154 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "8c22cade-6d0a-00a9-2974-2804a153f903" + }, + { + "name": "Tail1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 17.5, + 62 + ], + "to": [ + 7, + 48.5, + 97 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -158 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 145, + 94, + 110, + 125 + ], + "texture": 0 + }, + "south": { + "uv": [ + 211, + 0, + 225, + 31 + ], + "texture": 0 + }, + "west": { + "uv": [ + 110, + 94, + 145, + 125 + ], + "texture": 0 + }, + "up": { + "uv": [ + 110, + 66, + 145, + 80 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 110, + 80, + 145, + 94 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "623664b1-2689-578e-fd04-eee31711ff1d" + }, + { + "name": "Tail2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 21.5, + 97 + ], + "to": [ + 7, + 48.5, + 132 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -158 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 180, + 94, + 145, + 121 + ], + "texture": 0 + }, + "south": { + "uv": [ + 211, + 31, + 225, + 62 + ], + "texture": 0 + }, + "west": { + "uv": [ + 145, + 94, + 180, + 121 + ], + "texture": 0 + }, + "up": { + "uv": [ + 145, + 66, + 180, + 80 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 145, + 80, + 180, + 94 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "fc8ce5f4-0840-2f3d-140f-21dc84105267" + }, + { + "name": "Tail3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 25.5, + 132 + ], + "to": [ + 7, + 48.5, + 167 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -158 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 215, + 94, + 180, + 117 + ], + "texture": 0 + }, + "south": { + "uv": [ + 225, + 0, + 239, + 23 + ], + "texture": 0 + }, + "west": { + "uv": [ + 180, + 94, + 215, + 117 + ], + "texture": 0 + }, + "up": { + "uv": [ + 180, + 66, + 215, + 80 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 180, + 80, + 215, + 94 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "8e802d51-1ae6-3899-f6d4-8cd3c38b139f" + }, + { + "name": "Tail4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 29.5, + 167 + ], + "to": [ + 7, + 48.5, + 202 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -158 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 250, + 94, + 215, + 113 + ], + "texture": 0 + }, + "south": { + "uv": [ + 225, + 23, + 239, + 42 + ], + "texture": 0 + }, + "west": { + "uv": [ + 215, + 94, + 250, + 113 + ], + "texture": 0 + }, + "up": { + "uv": [ + 215, + 66, + 250, + 80 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 215, + 80, + 250, + 94 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "67af4d6d-9e06-3523-d121-1449e5623033" + }, + { + "name": "TailBladeLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -27, + 27.5, + 110 + ], + "to": [ + -7, + 29.5, + 120 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 10, + 0 + ], + "origin": [ + -7, + 28, + 110 + ], + "faces": { + "north": { + "uv": [ + 150, + 8, + 130, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 180, + 8, + 160, + 10 + ], + "texture": 0 + }, + "west": { + "uv": [ + 160, + 8, + 150, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 206, + 0, + 186, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 206, + 10, + 186, + 0 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f0926915-1b03-abd3-2ff0-fb9e7b9d69ba" + }, + { + "name": "Tail5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 48.5, + 175 + ], + "to": [ + 4, + 88.5, + 191 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 48, + 175 + ], + "faces": { + "north": { + "uv": [ + 130, + 0, + 170, + 8 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 255, + 0, + 239, + 40 + ], + "texture": 0 + }, + "south": { + "uv": [ + 130, + 0, + 170, + 8 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 239, + 0, + 255, + 40 + ], + "texture": 0 + }, + "up": { + "uv": [ + 170, + 0, + 186, + 8 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "0945a87b-a1d3-7f38-aac7-6dcca9f02a58" + }, + { + "name": "RotorShaft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 79.5, + 181 + ], + "to": [ + 10, + 83.5, + 185 + ], + "autouv": 0, + "color": 0, + "origin": [ + 11, + 85, + 175 + ], + "faces": { + "north": { + "uv": [ + 0, + 156, + 4, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 156, + 4, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 156, + 4, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 156, + 4, + 162 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "4921cf7b-b2b3-af9f-9a0d-45bd294a5c63" + }, + { + "name": "RotorHead", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 10, + 76.5, + 178 + ], + "to": [ + 14, + 86.5, + 188 + ], + "autouv": 0, + "color": 0, + "origin": [ + 11, + 85, + 175 + ], + "faces": { + "north": { + "uv": [ + 4, + 166, + 14, + 170 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 4, + 156, + 14, + 166 + ], + "texture": 0 + }, + "south": { + "uv": [ + 4, + 166, + 14, + 170 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 4, + 156, + 14, + 166 + ], + "texture": 0 + }, + "up": { + "uv": [ + 4, + 166, + 14, + 170 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 4, + 166, + 14, + 170 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "5354d04a-dcfe-a853-0890-af0a391580cf" + }, + { + "name": "TailSleeve", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11, + 72.5, + 180 + ], + "to": [ + 13, + 76.5, + 186 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 81, + 183 + ], + "faces": { + "north": { + "uv": [ + 18, + 154, + 22, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 14, + 154, + 18, + 160 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 18, + 154, + 22, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 14, + 154, + 18, + 160 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 22, + 154, + 28, + 156 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "b4ca7b1a-f286-c59f-de41-2f4c81ebcf60" + }, + { + "name": "Blade1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11.5, + 68.5, + 183 + ], + "to": [ + 12.5, + 72.5, + 185 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 81, + 183 + ], + "faces": { + "north": { + "uv": [ + 34, + 160, + 30, + 161 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 34, + 160, + 30, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 34, + 161, + 30, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 34, + 160, + 30, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b22dabbf-eb73-a416-efd2-8c592faea638" + }, + { + "name": "Blade2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11.5, + 52.5, + 181 + ], + "to": [ + 12.5, + 68.5, + 185 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 81, + 183 + ], + "faces": { + "north": { + "uv": [ + 30, + 160, + 14, + 161 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 30, + 160, + 14, + 164 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 30, + 163, + 14, + 164 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 30, + 160, + 14, + 164 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 29, + 164, + 30, + 160 + ], + "texture": 0 + }, + "down": { + "uv": [ + 14, + 164, + 15, + 160 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8659a038-d656-e9a6-677d-860067d72528" + }, + { + "name": "LanderShaft1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16, + -1.5, + -37 + ], + "to": [ + -14, + 15.5, + -35 + ], + "autouv": 0, + "color": 0, + "origin": [ + -15, + 13, + -25 + ], + "faces": { + "north": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b9e80942-0725-306b-d7d1-726fef83a08d" + }, + { + "name": "LanderShaft2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16, + -1.5, + 31 + ], + "to": [ + -14, + 15.5, + 33 + ], + "autouv": 0, + "color": 0, + "origin": [ + -15, + 13, + -25 + ], + "faces": { + "north": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "be81893d-06ce-98ae-2241-f24e1a6e49e0" + }, + { + "name": "LanderBottom1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -18, + -2.5, + -47 + ], + "to": [ + -12, + -0.5, + 43 + ], + "autouv": 0, + "color": 0, + "origin": [ + -14, + 15, + -2 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 110, + 154, + 200, + 156 + ], + "texture": 0 + }, + "south": { + "uv": [ + 110, + 150, + 112, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 110, + 150, + 200, + 152 + ], + "texture": 0 + }, + "up": { + "uv": [ + 110, + 150, + 200, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 110, + 150, + 200, + 156 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "d4502cca-0b14-7d86-6160-f86322c35b25" + }, + { + "name": "LanderBottom2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -18, + -2.5, + -57 + ], + "to": [ + -12, + -0.5, + -47 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -15, + -3, + -47 + ], + "faces": { + "north": { + "uv": [ + 200, + 150, + 202, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 200, + 154, + 210, + 156 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 200, + 150, + 210, + 152 + ], + "texture": 0 + }, + "up": { + "uv": [ + 200, + 150, + 210, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 200, + 150, + 210, + 156 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "57c510e5-6036-ee15-39e0-ae4cbb2c00fa" + }, + { + "name": "LanderShaft1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 14, + -1.5, + -37 + ], + "to": [ + 16, + 15.5, + -35 + ], + "autouv": 0, + "color": 0, + "origin": [ + 15, + 13, + -25 + ], + "faces": { + "north": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e7f46383-2d20-b790-1b02-2efbd9022ded" + }, + { + "name": "LanderShaft2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 14, + -1.5, + 31 + ], + "to": [ + 16, + 15.5, + 33 + ], + "autouv": 0, + "color": 0, + "origin": [ + 15, + 13, + -25 + ], + "faces": { + "north": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "30329970-0ddf-fc94-6f51-ee9cfbee974b" + }, + { + "name": "LanderBottom1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 12, + -2.5, + -47 + ], + "to": [ + 18, + -0.5, + 43 + ], + "autouv": 0, + "color": 0, + "origin": [ + 14, + 15, + -2 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 110, + 154, + 200, + 156 + ], + "texture": 0 + }, + "south": { + "uv": [ + 110, + 150, + 112, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 110, + 150, + 200, + 152 + ], + "texture": 0 + }, + "up": { + "uv": [ + 110, + 150, + 200, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 110, + 150, + 200, + 156 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "22aaf02a-dcc5-0b1e-163c-8f002d8a332d" + }, + { + "name": "LanderBottom2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 12, + -2.5, + -57 + ], + "to": [ + 18, + -0.5, + -47 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + 15, + -3, + -47 + ], + "faces": { + "north": { + "uv": [ + 200, + 150, + 202, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 200, + 154, + 210, + 156 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 200, + 150, + 210, + 152 + ], + "texture": 0 + }, + "up": { + "uv": [ + 200, + 150, + 210, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 200, + 150, + 210, + 156 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "7823fa17-de11-0fe8-2baf-f8fb991f1c3a" + }, + { + "name": "TailBladeRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 7, + 27.5, + 110 + ], + "to": [ + 27, + 29.5, + 120 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -10, + 0 + ], + "origin": [ + 7, + 28, + 110 + ], + "faces": { + "north": { + "uv": [ + 130, + 8, + 150, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 150, + 8, + 160, + 10 + ], + "texture": 0 + }, + "south": { + "uv": [ + 160, + 8, + 180, + 10 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 186, + 0, + 206, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 186, + 10, + 206, + 0 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "87df5ebb-ce10-e033-a030-13710b994a15" + }, + { + "name": "EngineRoomRight1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + 55.5, + -13 + ], + "to": [ + 16, + 61.5, + 17 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 8, + 120, + 0, + 126 + ], + "texture": 0 + }, + "east": { + "uv": [ + 38, + 120, + 8, + 126 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 134, + 30, + 126 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "02e23b3b-bbd1-8429-2e72-30a7942b1a59" + }, + { + "name": "EngineRoomRight2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + 50.5, + 17 + ], + "to": [ + 16, + 64.5, + 45 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 28, + 142, + 42, + 134 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 66, + 120, + 38, + 134 + ], + "texture": 0 + }, + "south": { + "uv": [ + 42, + 134, + 56, + 142 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 142, + 28, + 134 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "47afaa80-32d5-ef12-1c54-f7af51108b24" + }, + { + "name": "EngineRoomExhaustRight1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + 63.5, + 45 + ], + "to": [ + 16, + 64.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 37, + 126, + 38, + 132 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 38, + 131, + 30, + 132 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 38, + 126, + 30, + 132 + ], + "texture": 0 + }, + "down": { + "uv": [ + 38, + 126, + 30, + 132 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b0c15dcb-3164-8e83-617a-faf2031bad34" + }, + { + "name": "EngineRoomExhaustRight2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + 56.5, + 45 + ], + "to": [ + 16, + 57.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 37, + 126, + 38, + 132 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 38, + 131, + 30, + 132 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 38, + 126, + 30, + 132 + ], + "texture": 0 + }, + "down": { + "uv": [ + 38, + 126, + 30, + 132 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "fea2953f-ff6d-d6f4-0e7a-12e45eb37e3d" + }, + { + "name": "EngineRoomExhaustRight3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 15, + 57.5, + 45 + ], + "to": [ + 16, + 63.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 37, + 132, + 31, + 126 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 31, + 132, + 37, + 131 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6e2dde80-d293-08d7-2c83-8f7edab96858" + }, + { + "name": "EngineRoomExhaustRight4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + 57.5, + 45 + ], + "to": [ + 9, + 63.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 31, + 132, + 37, + 126 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 31, + 132, + 37, + 131 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "787b4297-9e84-2172-ca92-f890a7337aaa" + }, + { + "name": "BladeSleeve", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 78.5, + -17 + ], + "to": [ + 3, + 80.5, + -5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 44, + 142, + 38, + 144 + ], + "texture": 0 + }, + "east": { + "uv": [ + 38, + 142, + 26, + 144 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 26, + 142, + 38, + 144 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "db87ecaf-8136-4d52-d5c9-3d4f4b20fd3d" + }, + { + "name": "Blade1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 79, + -25 + ], + "to": [ + 2, + 80, + -17 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 94, + 152, + 102, + 153 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 94, + 149, + 102, + 150 + ], + "texture": 0 + }, + "up": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "c586ee43-2365-0815-9be1-57eb4d52415d" + }, + { + "name": "Blade2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 79, + -105 + ], + "to": [ + 3, + 80, + -25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 14, + 148, + 15, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 94, + 153, + 14, + 154 + ], + "texture": 0 + }, + "south": { + "uv": [ + 93, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 14, + 148, + 94, + 149 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 148, + 14, + 154 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "adfdc4b7-1eb1-0617-f8ab-48b0db5665f9" + }, + { + "name": "BladeSleeve", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 78.5, + -17 + ], + "to": [ + 3, + 80.5, + -5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 44, + 142, + 38, + 144 + ], + "texture": 0 + }, + "east": { + "uv": [ + 38, + 142, + 26, + 144 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 26, + 142, + 38, + 144 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "9a654922-f592-c03e-ec3a-411273b14955" + }, + { + "name": "Blade1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 79, + -25 + ], + "to": [ + 2, + 80, + -17 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 94, + 152, + 102, + 153 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 94, + 149, + 102, + 150 + ], + "texture": 0 + }, + "up": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "34b50ab0-c515-6c0a-ebe9-80822ac5c44e" + }, + { + "name": "Blade2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 79, + -105 + ], + "to": [ + 3, + 80, + -25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 14, + 148, + 15, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 94, + 153, + 14, + 154 + ], + "texture": 0 + }, + "south": { + "uv": [ + 93, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 14, + 148, + 94, + 149 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 148, + 14, + 154 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "d28f3b53-e1fd-6e19-ee52-768b3d16f520" + }, + { + "name": "BladeSleeve", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 78.5, + -17 + ], + "to": [ + 3, + 80.5, + -5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 44, + 142, + 38, + 144 + ], + "texture": 0 + }, + "east": { + "uv": [ + 38, + 142, + 26, + 144 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 26, + 142, + 38, + 144 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "cf06849c-bf04-230f-8555-70a0f6fbb714" + }, + { + "name": "Blade1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 79, + -25 + ], + "to": [ + 2, + 80, + -17 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 94, + 152, + 102, + 153 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 94, + 149, + 102, + 150 + ], + "texture": 0 + }, + "up": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "b91de1a5-0b22-48de-55da-1ad9e0400b04" + }, + { + "name": "Blade2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 79, + -105 + ], + "to": [ + 3, + 80, + -25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 14, + 148, + 15, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 94, + 153, + 14, + 154 + ], + "texture": 0 + }, + "south": { + "uv": [ + 93, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 14, + 148, + 94, + 149 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 148, + 14, + 154 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "3ae96f69-18b8-0a78-9d04-f3caffc1b4a1" + }, + { + "name": "TailSleeve", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11, + 72.5, + 180 + ], + "to": [ + 13, + 76.5, + 186 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 81, + 183 + ], + "faces": { + "north": { + "uv": [ + 18, + 154, + 22, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 14, + 154, + 18, + 160 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 18, + 154, + 22, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 14, + 154, + 18, + 160 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 22, + 154, + 28, + 156 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "4e2b41c3-a5b0-7ac4-3410-47ad58210db4" + }, + { + "name": "Blade1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11.5, + 68.5, + 183 + ], + "to": [ + 12.5, + 72.5, + 185 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 81, + 183 + ], + "faces": { + "north": { + "uv": [ + 34, + 160, + 30, + 161 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 34, + 160, + 30, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 34, + 161, + 30, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 34, + 160, + 30, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b017b261-b144-7afe-0641-3d4b4b111aa5" + }, + { + "name": "Blade2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11.5, + 52.5, + 181 + ], + "to": [ + 12.5, + 68.5, + 185 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 81, + 183 + ], + "faces": { + "north": { + "uv": [ + 30, + 160, + 14, + 161 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 30, + 160, + 14, + 164 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 30, + 163, + 14, + 164 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 30, + 160, + 14, + 164 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 29, + 164, + 30, + 160 + ], + "texture": 0 + }, + "down": { + "uv": [ + 14, + 164, + 15, + 160 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "aeb1e055-a22c-2884-4143-efb88f549cb3" + }, + { + "name": "DoorLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20.1, + 16.5, + -21 + ], + "to": [ + -18.1, + 51.5, + 28 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 34, + 154, + 36, + 189 + ], + "texture": 0 + }, + "east": { + "uv": [ + 85, + 156, + 134, + 191 + ], + "texture": 0 + }, + "south": { + "uv": [ + 34, + 154, + 36, + 189 + ], + "texture": 0 + }, + "west": { + "uv": [ + 36, + 156, + 85, + 191 + ], + "texture": 0 + }, + "up": { + "uv": [ + 36, + 154, + 85, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 36, + 154, + 85, + 156 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "c683f988-d7ac-d768-398e-41744d3302cb" + }, + { + "name": "DoorRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 18.1, + 16.5, + -21 + ], + "to": [ + 20.1, + 51.5, + 28 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 36, + 154, + 34, + 189 + ], + "texture": 0 + }, + "east": { + "uv": [ + 85, + 156, + 36, + 191 + ], + "texture": 0 + }, + "south": { + "uv": [ + 36, + 154, + 34, + 189 + ], + "texture": 0 + }, + "west": { + "uv": [ + 134, + 156, + 85, + 191 + ], + "texture": 0 + }, + "up": { + "uv": [ + 36, + 156, + 85, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 36, + 156, + 85, + 154 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "0c7841d3-9d21-15ca-262b-1627bc2f205b" + }, + { + "name": "SchaleLabel", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20.2, + 19.5, + -16 + ], + "to": [ + -20.2, + 24.5, + 23 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 134, + 156, + 173, + 161 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "166f93d9-1fd0-34ac-2675-dd025f53f0f8" + }, + { + "name": "SchaleLabel", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 20.2, + 19.5, + -16 + ], + "to": [ + 20.2, + 24.5, + 23 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 134, + 156, + 173, + 161 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "20c339d6-7391-1da8-9c28-0cd84d7d4b32" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 2, + 7 + ], + "to": [ + 1, + 18, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 2, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "ceea50d1-ebb7-d7cb-b6b9-69a321fd2698" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 2, + -3 + ], + "to": [ + 1, + 18, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 2, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2cbdf3db-26d4-6b03-d386-78cbd775872a" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 5.5, + -4 + ], + "to": [ + 2, + 6.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 2, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "bc13f85c-c966-c61e-8958-954dae7efcd9" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 13.5, + -4 + ], + "to": [ + 2, + 14.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 2, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "af62dbcd-800e-f962-49ef-2cc8b7512391" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -14, + 7 + ], + "to": [ + 1, + 2, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -14, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a2f4989f-e70f-5196-4050-f0b1825614e1" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -14, + -3 + ], + "to": [ + 1, + 2, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -14, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "3c8f15aa-a7a8-ebc5-4678-c3e2f4a624d7" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -2.5, + -4 + ], + "to": [ + 2, + -1.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -14, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "05bc5a8b-b514-4d34-9df4-85a29e758ed2" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -10.5, + -4 + ], + "to": [ + 2, + -9.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -14, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "560ddc94-bfeb-9ca3-3ad5-2b996a9417e5" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -30, + 7 + ], + "to": [ + 1, + -14, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -30, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5ad4ce08-eefc-6107-fc45-b54c501d5a17" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -30, + -3 + ], + "to": [ + 1, + -14, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -30, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5382e7ce-0210-07a3-5a39-564881ad85b6" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -18.5, + -4 + ], + "to": [ + 2, + -17.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -30, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "651651ac-c2e0-5cef-8e1a-981e98653024" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -26.5, + -4 + ], + "to": [ + 2, + -25.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -30, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "29295c79-a462-f3ae-b17d-165b0b24e5d0" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -46, + 7 + ], + "to": [ + 1, + -30, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -46, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "adcf364d-c4cb-636b-81d6-c7977d7b3525" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -46, + -3 + ], + "to": [ + 1, + -30, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -46, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "42f4c692-3694-c495-ec99-09556d5bb0c0" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -34.5, + -4 + ], + "to": [ + 2, + -33.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -46, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "595ef090-7f9a-8179-e935-4b29f2d7e184" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -42.5, + -4 + ], + "to": [ + 2, + -41.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -46, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "9d74e4a4-4705-1cf9-0022-51fe5ae26385" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -62, + 7 + ], + "to": [ + 1, + -46, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -62, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e61bb277-9b35-78e5-93f1-b3f8d8d7fc7f" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -62, + -3 + ], + "to": [ + 1, + -46, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -62, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "37236c6a-8616-a237-baa4-aa0ead82d0f7" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -50.5, + -4 + ], + "to": [ + 2, + -49.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -62, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "1a350fe0-670a-70fe-88e3-734694dad6ba" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -58.5, + -4 + ], + "to": [ + 2, + -57.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -62, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "6584c65b-14b3-9256-0b14-bc8198dfc9fb" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -78, + 7 + ], + "to": [ + 1, + -62, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -78, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a6b332b9-51fe-6bde-d3f7-f4d49e2fad64" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -78, + -3 + ], + "to": [ + 1, + -62, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -78, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e283a6d7-c1c4-dccf-55a8-7d7f840f4259" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -66.5, + -4 + ], + "to": [ + 2, + -65.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -78, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "abbdc168-0478-26c0-4fd5-8a4e0a6d6c70" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -74.5, + -4 + ], + "to": [ + 2, + -73.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -78, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d8af1577-a3b2-233f-5fa7-8614c8a06d46" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -94, + 7 + ], + "to": [ + 1, + -78, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -94, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "1382a9ae-d04f-9f91-e940-0acfccd26b02" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -94, + -3 + ], + "to": [ + 1, + -78, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -94, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f47a62ab-f0c5-eba4-9b39-c6ddcd063b1d" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -82.5, + -4 + ], + "to": [ + 2, + -81.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -94, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "db16de55-a5a5-3191-cab1-737029a1c1d4" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -90.5, + -4 + ], + "to": [ + 2, + -89.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -94, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "bb0aac5a-aed5-18eb-078c-087cadeaa272" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -110, + 7 + ], + "to": [ + 1, + -94, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -110, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "65c9cc04-0f2e-be8d-e5dd-596432b80caf" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -110, + -3 + ], + "to": [ + 1, + -94, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -110, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "dc6bada8-0f68-3157-623e-5d707cf63adc" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -98.5, + -4 + ], + "to": [ + 2, + -97.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -110, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "1b0b4d4b-ba33-c817-e5b6-ce5f0a015670" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -106.5, + -4 + ], + "to": [ + 2, + -105.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -110, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "34d34524-8192-5c54-2edb-6687d32c54ae" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -126, + 7 + ], + "to": [ + 1, + -110, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -126, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b9cf06c2-18d5-b469-6005-557f1b65bbd3" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -126, + -3 + ], + "to": [ + 1, + -110, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -126, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e28c6ffe-1742-144c-1949-91050bdc81f5" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -114.5, + -4 + ], + "to": [ + 2, + -113.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -126, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "173bd1e5-b573-e827-e8c1-3b545bb9fddb" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -122.5, + -4 + ], + "to": [ + 2, + -121.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -126, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b8bc4a52-d289-10ea-307c-b439840f0306" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -142, + 7 + ], + "to": [ + 1, + -126, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -142, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "616545a5-dc5f-fc34-fba0-fa73a5d2dda0" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -142, + -3 + ], + "to": [ + 1, + -126, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -142, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "84690380-add5-e58c-bade-29566cbd0ca8" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -130.5, + -4 + ], + "to": [ + 2, + -129.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -142, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "9995ccb7-13d8-d7ad-177b-1061111eae4e" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -138.5, + -4 + ], + "to": [ + 2, + -137.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -142, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "fbde71ac-aa28-ddfc-b282-2d8a90ca7468" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -158, + 7 + ], + "to": [ + 1, + -142, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -158, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "188ccb12-851b-1814-a474-acf791a7b3fe" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -158, + -3 + ], + "to": [ + 1, + -142, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -158, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5c2041f8-0c46-922f-089a-18b3e99969ed" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -146.5, + -4 + ], + "to": [ + 2, + -145.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -158, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "334e1d65-f729-2eef-0d61-2ce72451a335" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -154.5, + -4 + ], + "to": [ + 2, + -153.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -158, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "7a2fd5ad-01b2-3a7e-11db-8fc0532ea0ac" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -174, + 7 + ], + "to": [ + 1, + -158, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -174, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "ffe85353-4a8e-827b-da4c-b073e7ea6377" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -174, + -3 + ], + "to": [ + 1, + -158, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -174, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "86a1da75-1f45-bf6f-2f92-2fc63d8e993a" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -162.5, + -4 + ], + "to": [ + 2, + -161.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -174, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "d506e185-339a-eebd-7381-6348d3f8e0d4" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -170.5, + -4 + ], + "to": [ + 2, + -169.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -174, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "511c8f02-6fd7-f679-dd0d-5618cd7e5ed1" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -190, + 7 + ], + "to": [ + 1, + -174, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -190, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e9f10a40-b536-eefe-721f-aff1b8a6a6a9" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -190, + -3 + ], + "to": [ + 1, + -174, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -190, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "066c1dc4-37b5-d79d-12b2-d0a3ef5ebf37" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -178.5, + -4 + ], + "to": [ + 2, + -177.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -190, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "fc44e348-0fba-cb31-af5b-16506815543e" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -186.5, + -4 + ], + "to": [ + 2, + -185.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -190, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5f77bf2c-d246-9156-c10e-f71dcaed59a1" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -206, + 7 + ], + "to": [ + 1, + -190, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -206, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "6fc54381-1c0e-b4af-9bbc-4d8da96fecf9" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -206, + -3 + ], + "to": [ + 1, + -190, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -206, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "afef023d-931c-9a20-73fc-6300e8088df0" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -194.5, + -4 + ], + "to": [ + 2, + -193.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -206, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "b2709f0b-8848-15c4-8022-5ee5ae61eb21" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -202.5, + -4 + ], + "to": [ + 2, + -201.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -206, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b335fbde-c8fa-7a9d-ef18-8aca48e7e18c" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -222, + 7 + ], + "to": [ + 1, + -206, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -222, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c20a24d6-be1c-9057-82d7-04de02f59886" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -222, + -3 + ], + "to": [ + 1, + -206, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -222, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "3a63e341-e8fb-2bd2-6362-8562b2e7b7ef" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -210.5, + -4 + ], + "to": [ + 2, + -209.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -222, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "976656dc-5616-ef7b-ff0f-0284637bb753" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -218.5, + -4 + ], + "to": [ + 2, + -217.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -222, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "da9f89fb-21c2-448a-c367-0f483f1fdd96" + } + ], + "outliner": [ + { + "name": "Helicopter", + "origin": [ + 0, + 41, + 72 + ], + "color": 0, + "uuid": "3855c725-cad3-125d-db6d-7aa36afaff7c", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b7c05a5f-7761-cdb8-f20e-1c37a3ade2d6", + "f00ed130-bf0d-ecc1-f1ca-bbf1616f1ada", + "96c3a955-eb63-9471-5196-694594fda260", + { + "name": "Doors", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "c8c6350b-e8cd-d570-31a7-cf4e2bc83a28", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "DoorLeft", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "ed76b98c-a423-8851-e841-2021ddaf8547", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "c683f988-d7ac-d768-398e-41744d3302cb", + "166f93d9-1fd0-34ac-2675-dd025f53f0f8" + ] + }, + { + "name": "DoorRight", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "2c757bc9-83e6-d23d-9df6-bf4f97a4f5d6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "0c7841d3-9d21-15ca-262b-1627bc2f205b", + "20c339d6-7391-1da8-9c28-0cd84d7d4b32" + ] + } + ] + }, + { + "name": "Nose", + "origin": [ + 0, + 15, + -25.25 + ], + "color": 0, + "uuid": "7c0528cc-eca1-1af9-1c0e-8dc2ad12def4", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e7fa4708-6808-a16e-c3cf-84c4423ce64d", + "c62a05d2-a700-0657-0afa-5f2244004bff", + "09ad8112-4cf8-8762-652e-f5ad6d9f618e" + ] + }, + { + "name": "RearBody", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "93e928d9-d6f0-43df-6293-0a3cd4e289b6", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "890f0f8a-d674-0b64-0662-72ec21b7e302", + "553e0577-b6a2-7ca8-524a-dcd364e5e845", + "6e532d40-881b-73cd-c7ce-a6d5be00d54f", + { + "name": "Tail", + "origin": [ + 0, + 15, + -158 + ], + "color": 0, + "uuid": "d262a3fe-1946-6256-fce5-ba051869f9b3", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "623664b1-2689-578e-fd04-eee31711ff1d", + "fc8ce5f4-0840-2f3d-140f-21dc84105267", + "8e802d51-1ae6-3899-f6d4-8cd3c38b139f", + "67af4d6d-9e06-3523-d121-1449e5623033", + { + "name": "TailBlades", + "origin": [ + 0, + 27, + 111 + ], + "color": 0, + "uuid": "a5b0c0fa-1a35-5bbc-8477-a99377c7910e", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f0926915-1b03-abd3-2ff0-fb9e7b9d69ba", + "87df5ebb-ce10-e033-a030-13710b994a15" + ] + }, + { + "name": "Tail2", + "origin": [ + 0, + 48, + 175 + ], + "rotation": [ + 45, + 0, + 0 + ], + "color": 0, + "uuid": "22f49b13-6a3d-b438-2c5c-dc918d4d3576", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "0945a87b-a1d3-7f38-aac7-6dcca9f02a58", + { + "name": "TailRotor", + "origin": [ + 4, + 81, + 183 + ], + "rotation": [ + -45, + 0, + 0 + ], + "color": 0, + "uuid": "cd3f847e-32d5-a57a-9d0d-2fb39777e3db", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4921cf7b-b2b3-af9f-9a0d-45bd294a5c63", + "5354d04a-dcfe-a853-0890-af0a391580cf", + { + "name": "TailRotorBlades", + "origin": [ + 12, + 81, + 183 + ], + "color": 0, + "uuid": "47f57408-507e-ee25-dfbd-8f633fe8ccfd", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "TailRotorBlade1", + "origin": [ + 12, + 81, + 183 + ], + "color": 0, + "uuid": "124e1398-1a3b-52cb-328a-d53ee1298459", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4e2b41c3-a5b0-7ac4-3410-47ad58210db4", + "b017b261-b144-7afe-0641-3d4b4b111aa5", + "aeb1e055-a22c-2884-4143-efb88f549cb3" + ] + }, + { + "name": "TailRotorBlade2", + "origin": [ + 12, + 81, + 183 + ], + "rotation": [ + -180, + 0, + 0 + ], + "color": 0, + "uuid": "f048d185-df18-6a18-4f96-77a3b8dc02e8", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b4ca7b1a-f286-c59f-de41-2f4c81ebcf60", + "b22dabbf-eb73-a416-efd2-8c592faea638", + "8659a038-d656-e9a6-677d-860067d72528" + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "name": "Lander", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "3352001e-59dc-756f-ca56-75a0ff69c425", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "LanderLeft", + "origin": [ + -14, + 15, + -2 + ], + "rotation": [ + 0, + 0, + -30 + ], + "color": 0, + "uuid": "e96bb96e-5c1e-69c0-e981-61680a7c39d2", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b9e80942-0725-306b-d7d1-726fef83a08d", + "be81893d-06ce-98ae-2241-f24e1a6e49e0", + { + "name": "LanderBottomLeft", + "origin": [ + -15, + -1, + -2 + ], + "rotation": [ + 0, + 0, + 30 + ], + "color": 0, + "uuid": "44f381e1-ac30-7518-5b19-76b403eb7996", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d4502cca-0b14-7d86-6160-f86322c35b25", + "57c510e5-6036-ee15-39e0-ae4cbb2c00fa" + ] + } + ] + }, + { + "name": "LanderRight", + "origin": [ + 14, + 15, + -2 + ], + "rotation": [ + 0, + 0, + 30 + ], + "color": 0, + "uuid": "9d0c1522-0a37-b6a7-2e1d-6a52b389a65c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e7f46383-2d20-b790-1b02-2efbd9022ded", + "30329970-0ddf-fc94-6f51-ee9cfbee974b", + { + "name": "LanderBottomRight", + "origin": [ + 15, + -1, + -2 + ], + "rotation": [ + 0, + 0, + -30 + ], + "color": 0, + "uuid": "f4cc6580-f851-149d-f2fb-1bc9469b7ce1", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "22aaf02a-dcc5-0b1e-163c-8f002d8a332d", + "7823fa17-de11-0fe8-2baf-f8fb991f1c3a" + ] + } + ] + } + ] + }, + { + "name": "EngineRoom", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "32d2ada4-d3e8-9606-b3e2-5e51f4ee0c7b", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "6daed1d4-981e-461b-e3bb-74c380ac33dc", + "00352831-878c-36dd-56e5-23907f1b47fa", + { + "name": "EngineRoomLeft", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "cca24d86-e850-053a-9dec-395bac3130ea", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "429f5b24-b23e-95d7-a9ee-497cc9d6870d", + "4f5a613d-8830-b138-718b-9ffbb057e3d2", + "59b62c8d-08db-51f2-9fd9-207412f3c43a", + "48913cfa-28ec-987b-4365-3a4efe28b6e9", + "12a1c9b3-563f-29d1-4231-8b8960e9bf95", + "bb1f1492-cd11-fc0f-eb04-6a5f11c8bd62" + ] + }, + { + "name": "EngineRoomRight", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "76ae5dd4-5132-c9eb-0ef8-a39f2bd556af", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "02e23b3b-bbd1-8429-2e72-30a7942b1a59", + "47afaa80-32d5-ef12-1c54-f7af51108b24", + "b0c15dcb-3164-8e83-617a-faf2031bad34", + "fea2953f-ff6d-d6f4-0e7a-12e45eb37e3d", + "6e2dde80-d293-08d7-2c83-8f7edab96858", + "787b4297-9e84-2172-ca92-f890a7337aaa" + ] + }, + { + "name": "Rotor", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "38ed883a-0fe3-ee8a-2189-c6e092c1fbdb", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a1ca5212-93a0-4d30-6122-d2e5c9872983", + "66601b79-7b9e-fa15-2bd4-56693acf0bb7", + { + "name": "RotorBlades", + "origin": [ + 0, + 79, + 0 + ], + "color": 0, + "uuid": "812dc3c3-7569-417c-88ea-98db26c9084f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RotorBlade1", + "origin": [ + 0, + 79, + 0 + ], + "color": 0, + "uuid": "f7b3eb02-a8bd-10df-159b-84a8d7d8de15", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "103317bc-2688-89dd-17f8-3650470efcaa", + "d1db4ea0-4661-4e86-13ab-d074bdb22394", + "8c22cade-6d0a-00a9-2974-2804a153f903" + ] + }, + { + "name": "RotorBlade2", + "origin": [ + 0, + 79, + 0 + ], + "rotation": [ + 0, + 90, + 0 + ], + "color": 0, + "uuid": "8d437dd0-b961-9ee5-6a21-c66cc9e2c290", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "db87ecaf-8136-4d52-d5c9-3d4f4b20fd3d", + "c586ee43-2365-0815-9be1-57eb4d52415d", + "adfdc4b7-1eb1-0617-f8ab-48b0db5665f9" + ] + }, + { + "name": "RotorBlade3", + "origin": [ + 0, + 79, + 0 + ], + "rotation": [ + 0, + -180, + 0 + ], + "color": 0, + "uuid": "313b00e1-ad6e-cfc0-f25e-cf657a31be43", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "9a654922-f592-c03e-ec3a-411273b14955", + "34b50ab0-c515-6c0a-ebe9-80822ac5c44e", + "d28f3b53-e1fd-6e19-ee52-768b3d16f520" + ] + }, + { + "name": "RotorBlade4", + "origin": [ + 0, + 79, + 0 + ], + "rotation": [ + 0, + -90, + 0 + ], + "color": 0, + "uuid": "669905c4-3a7d-c6e9-3553-9ac439ac10f0", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "cf06849c-bf04-230f-8555-70a0f6fbb714", + "b91de1a5-0b22-48de-55da-1ad9e0400b04", + "3ae96f69-18b8-0a78-9d04-f3caffc1b4a1" + ] + } + ] + } + ] + } + ] + }, + { + "name": "RopeLadder", + "origin": [ + 0, + 18, + 3 + ], + "rotation": [ + 0, + 0, + 90 + ], + "color": 0, + "uuid": "349fd936-b671-8cf5-1bd3-e66530c8bee3", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ceea50d1-ebb7-d7cb-b6b9-69a321fd2698", + "2cbdf3db-26d4-6b03-d386-78cbd775872a", + "af62dbcd-800e-f962-49ef-2cc8b7512391", + "bc13f85c-c966-c61e-8958-954dae7efcd9", + { + "name": "RopeLadder2", + "origin": [ + 0, + 2, + 3 + ], + "rotation": [ + 0, + 0, + 85 + ], + "color": 0, + "uuid": "75c895fd-4365-0281-ecda-1a6d54d01e66", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a2f4989f-e70f-5196-4050-f0b1825614e1", + "3c8f15aa-a7a8-ebc5-4678-c3e2f4a624d7", + "05bc5a8b-b514-4d34-9df4-85a29e758ed2", + "560ddc94-bfeb-9ca3-3ad5-2b996a9417e5", + { + "name": "RopeLadder3", + "origin": [ + 0, + -14, + 3 + ], + "rotation": [ + 0, + 0, + 55 + ], + "color": 0, + "uuid": "0bda9a1f-977f-e6e5-c943-0ab890083646", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "5ad4ce08-eefc-6107-fc45-b54c501d5a17", + "5382e7ce-0210-07a3-5a39-564881ad85b6", + "651651ac-c2e0-5cef-8e1a-981e98653024", + "29295c79-a462-f3ae-b17d-165b0b24e5d0", + { + "name": "RopeLadder4", + "origin": [ + 0, + -30, + 3 + ], + "rotation": [ + 0, + 0, + 17.5 + ], + "color": 0, + "uuid": "9cb16d11-101b-c58c-24e7-c7a2dec1668f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "adcf364d-c4cb-636b-81d6-c7977d7b3525", + "42f4c692-3694-c495-ec99-09556d5bb0c0", + "595ef090-7f9a-8179-e935-4b29f2d7e184", + "9d74e4a4-4705-1cf9-0022-51fe5ae26385", + { + "name": "RopeLadder5", + "origin": [ + 0, + -46, + 3 + ], + "rotation": [ + 0, + 0, + 85 + ], + "color": 0, + "uuid": "20e90317-4e90-cada-923e-1551e99844fe", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e61bb277-9b35-78e5-93f1-b3f8d8d7fc7f", + "37236c6a-8616-a237-baa4-aa0ead82d0f7", + "1a350fe0-670a-70fe-88e3-734694dad6ba", + "6584c65b-14b3-9256-0b14-bc8198dfc9fb", + { + "name": "RopeLadder6", + "origin": [ + 0, + -62, + 3 + ], + "rotation": [ + 0, + 0, + 45 + ], + "color": 0, + "uuid": "9df17c50-2500-dc3d-3c9d-1bb6cd628896", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a6b332b9-51fe-6bde-d3f7-f4d49e2fad64", + "e283a6d7-c1c4-dccf-55a8-7d7f840f4259", + "abbdc168-0478-26c0-4fd5-8a4e0a6d6c70", + "d8af1577-a3b2-233f-5fa7-8614c8a06d46", + { + "name": "RopeLadder7", + "origin": [ + 0, + -78, + 3 + ], + "rotation": [ + 0, + 0, + 72.5 + ], + "color": 0, + "uuid": "335c6570-26b8-856b-bda3-65395902f2c1", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1382a9ae-d04f-9f91-e940-0acfccd26b02", + "f47a62ab-f0c5-eba4-9b39-c6ddcd063b1d", + "db16de55-a5a5-3191-cab1-737029a1c1d4", + "bb0aac5a-aed5-18eb-078c-087cadeaa272", + { + "name": "RopeLadder8", + "origin": [ + 0, + -94, + 3 + ], + "rotation": [ + 0, + 0, + 30 + ], + "color": 0, + "uuid": "3bd16030-14b3-a1bf-76ef-9adb8e3564d9", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "65c9cc04-0f2e-be8d-e5dd-596432b80caf", + "dc6bada8-0f68-3157-623e-5d707cf63adc", + "1b0b4d4b-ba33-c817-e5b6-ce5f0a015670", + "34d34524-8192-5c54-2edb-6687d32c54ae", + { + "name": "RopeLadder9", + "origin": [ + 0, + -110, + 3 + ], + "rotation": [ + 0, + 0, + 105 + ], + "color": 0, + "uuid": "12e7191b-e255-e122-467f-4e74ea1ca25b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b9cf06c2-18d5-b469-6005-557f1b65bbd3", + "e28c6ffe-1742-144c-1949-91050bdc81f5", + "173bd1e5-b573-e827-e8c1-3b545bb9fddb", + "b8bc4a52-d289-10ea-307c-b439840f0306", + { + "name": "RopeLadder10", + "origin": [ + 0, + -126, + 3 + ], + "rotation": [ + 0, + 0, + 30 + ], + "color": 0, + "uuid": "c8667a44-3ce4-ea1f-ecfe-d9fac6461f90", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "616545a5-dc5f-fc34-fba0-fa73a5d2dda0", + "84690380-add5-e58c-bade-29566cbd0ca8", + "9995ccb7-13d8-d7ad-177b-1061111eae4e", + "fbde71ac-aa28-ddfc-b282-2d8a90ca7468", + { + "name": "RopeLadder11", + "origin": [ + 0, + -142, + 3 + ], + "rotation": [ + 0, + 0, + 95 + ], + "color": 0, + "uuid": "73305a61-a5fc-3ffd-28cf-a5a7156ade9d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "188ccb12-851b-1814-a474-acf791a7b3fe", + "5c2041f8-0c46-922f-089a-18b3e99969ed", + "334e1d65-f729-2eef-0d61-2ce72451a335", + "7a2fd5ad-01b2-3a7e-11db-8fc0532ea0ac", + { + "name": "RopeLadder12", + "origin": [ + 0, + -158, + 3 + ], + "rotation": [ + 0, + 0, + 77.5 + ], + "color": 0, + "uuid": "fac07263-8b34-d5b4-c7e2-83b19ee7d708", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ffe85353-4a8e-827b-da4c-b073e7ea6377", + "86a1da75-1f45-bf6f-2f92-2fc63d8e993a", + "d506e185-339a-eebd-7381-6348d3f8e0d4", + "511c8f02-6fd7-f679-dd0d-5618cd7e5ed1", + { + "name": "RopeLadder13", + "origin": [ + 0, + -174, + 3 + ], + "rotation": [ + 0, + 0, + 95 + ], + "color": 0, + "uuid": "44f6b24f-ec24-3b6c-95dc-fc2d04130722", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e9f10a40-b536-eefe-721f-aff1b8a6a6a9", + "066c1dc4-37b5-d79d-12b2-d0a3ef5ebf37", + "fc44e348-0fba-cb31-af5b-16506815543e", + "5f77bf2c-d246-9156-c10e-f71dcaed59a1", + { + "name": "RopeLadder14", + "origin": [ + 0, + -190, + 3 + ], + "rotation": [ + 0, + 0, + 105 + ], + "color": 0, + "uuid": "81c03504-cef5-69e6-cf02-f623ce10f5b6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "6fc54381-1c0e-b4af-9bbc-4d8da96fecf9", + "afef023d-931c-9a20-73fc-6300e8088df0", + "b2709f0b-8848-15c4-8022-5ee5ae61eb21", + "b335fbde-c8fa-7a9d-ef18-8aca48e7e18c", + { + "name": "RopeLadder15", + "origin": [ + 0, + -206, + 3 + ], + "rotation": [ + 0, + 0, + 130 + ], + "color": 0, + "uuid": "0cb872f1-2b47-cee6-492f-bfa20246c3ac", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "c20a24d6-be1c-9057-82d7-04de02f59886", + "3a63e341-e8fb-2bd2-6362-8562b2e7b7ef", + "976656dc-5616-ef7b-ff0f-0284637bb753", + "da9f89fb-21c2-448a-c367-0f483f1fdd96" + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "name": "DeathAnimationSoundAnchor1", + "origin": [ + 0, + 34, + 0 + ], + "color": 0, + "uuid": "fcb2fee0-4cd1-e336-8621-8ce8d361032d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + { + "name": "DeathAnimationParticleAnchor", + "origin": [ + -35, + 0, + 20 + ], + "color": 0, + "uuid": "c9619203-8699-a8fd-5b1f-e5d7977f2b78", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ], + "textures": [ + { + "path": "", + "name": "death_animation.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 256, + "height": 191, + "uv_width": 256, + "uv_height": 191, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "66f8b2e8-963d-24d5-1b10-af18e7682f3d", + "relative_path": "../../textures/death_animation.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAC/CAYAAAARmQJyAAAAAXNSR0IArs4c6QAAFtBJREFUeF7tnWusVcUVx+dI2ni9oIBieAVQUVAU2rQk2pjSpESJpB9QQWk0RpqaJhoTY7T9IFWKaWxsYyK2scb6bEsFIkkblJo+JNYPhg9VCsitGMDwqg/QkFtozPU0c7j73H32nb1n1sya2bP3/p8vcO9Zs2bmv9b67dmzH7d1aqjdFvhEocCZY1qtsgYyMDAQdR7MnH2JeOXIaXWumyK6/9fpJW0P7P23kO05P6pYlVFLLprMmTOn1UoGnTjiFKnKvmTihP4AAPmKAwBqbVgAgOIfLW4eADZueMmZC8tX3KT0AQD4A0CbeaE7d+7cUau1Sq8AnLO6AQ5k8e+cuqgz03nTJpJm3Nq+WeQVfuIIAAAASEklRk6FbE6Lek4BqB2nkta2aTTtTg3pT39l8f/y0Dgxe9ZMMW3Sud2xF4Fg16FjYs3Vk43nmQZAck4ug2TswMGw7nsAyQpgcHBQ9Pf3d5Wy/bk2K4AX1/9Bn/1C5B69zhwTJD8dUlvflAoA6TENgWwPlKJPt00AkFeMPmEAAJyOhCkQagWA9sJl3TycP26oJ593nBjT+TlvCds0AEgt5CogCwHboqcAIG3LDYO6A0DqtWfPnrZpgSda59nXBgAv7P1fOyl6WewqAMilrPxcfnjbqJVAkwEgNXl62Tz9EsPQQrcCyHPDAQMAoKErgDQA1u/5rDBVAYBxHX1ev+c6w5KmmUkAuBaiLQy4d7D3vzdQOPlZF8/pfJ/Y+TwyJwPBCuC0Esm9EZ1NQAkA+cvkKF8UtSYDgFbKdtYcAEh6poIAAGjwCsCk+A999Im49vOdjT0FsCtpWitOAPjcL6DNqjnW3BA1Uc75RiC5AtABQBa//AAAJiGxt5G3rPr+UFcGvsdTJ/+1BEBS/Hv3HxB3TjuBFYDHjA0BgBfXj9zJ+PBDP67+NVyP8aC6riQAfrjtSO59AEnxSyEAAGo60O1DAyA9QsCAHq9si1oBIFv8crJYAbgnSZEH6q3ADzz0E6ObuFxH/cDq1a4uCts/vHat8vtbV6qfmeAaDPcTglzjovhx3gNQrQDSxZ8c/QEASljsbAGAXt0AAH0esQMgW/wAgD4IXBaxAsB3Iab3JdJa+u4XK4A5rVZ6BaAqfgCAq7zt/eQtke090lr6LER5VSLvVMZnv1IBACAFgLziBwBoxcJtHbL4y9oIBADss4blFKCo+AEA++BwtAQAOFRU+4hlBWB79cf1LUmdW4Fv2bRTu5MsLwFiE9BfIhZ5BgD86Q4AAACd7FK9D8D3a9JM3jkYsvilDjgF8AebIs9RrwCSo3/TVgC+ASD11EEAAGjGfQClAuDKn2/RngIk9GrSjUAhAKCDAADQDAC4rDucNwFNAaAqfjnwur4QJBQAiiAAAAAAOjg4AwDvBCxnDyAbWNXpAAAAAPgCwPDBe+QPg+g6yvseKwBb5Ua3KxsC2ATki2UoT7YrAAAgFaEyrgLkJUgWAiFXAQCAW9m6bObZ9kwFQDq/5K3n3T8NZjuAuq4AbPXgbgcAcCs64o/7PoDYAZA9uAAAw7mgWgHYBtNHuuY9LMPdF1YAbora5owLiExXAKrTyw4AXj7o9kfTrp9e/ZfKvHxw9JXQeYP+X89lmm4AgKlSNDuXwlP1FCsA8u43AQCGoxg7AFTJxp281EeRaaVWbI2HgezV1K0Aim42AwAAAPvM07SkAAUAsA9DEQB0d5oCAACAfeYBAN60ozjOA4Cu+LuXAbEHIAROASgpZ2Zrez5s5t3dSj4KW8ZLPN1H3utBBQCT4gcAUjoCANxpKQQAwK+pymMWAKbFDwAAAF4zFADwKm/XeRoA1B5xH8CwYrHfBxDiKgA1eXT2VQKALCLKkVM395DfOwOA4a/Rhpyvl74GBor/kq2XTh2dcl8GdBzOqOZVAYBLAXFrZuPPBV6dFYArAGwGjTbuCgAAbhrKTcD0BnhVVwAuKrCcArgMIOa2sR/BAAC37IkJALa5xvGHXmtxKcQtFdxaU254MelJtyKLvfCTOdomtYlGHDYAwGkVAQDHbOIGQB2uTUtJAQDzxOLOIfOeAQAjrTZuGPmT2tkGt668mfVpqKI3NC1f4fcNOUZiGBoBAIZCnX6tHmsOmfecA4DjRw9TfHRtJ0yeatUu5kay+DefnG41xGV9B0W2aLn9WQ0sQKMqAaDsDcCoACCL37aQXdoGyElyFy7FmnSWhgC3P/KEAjaoCgDKLn4ZkmgAwFHAHD4C5mlhV0nBXnzRRVZDeu/994UKAFz+rAYVqFEVABDLfgsAECgpqd1IAOycuojarMf+8sPbuqcB3P6cBua5cRUAoLviQpXI9goNAEBVOpA9d8Fy+wskg1U3AIC5bACAuVZBLbkLlttfUDGInVUBAMQpac1tTykAAK205RhwFyy3v3JUMesVADDTCZuA5joFt+QuWG5/wQUhdAgAmIuFFYC5VkEtuQuW219QMYidAQDmggEA5loFteQuWG5/QcUgdgYAmAsGAJhrFdSSu2C5/QUVg9gZAGAuGABgrlVQS+6C5fYXVAxiZwCAuWDRAEAO2eVOPpe25nKFs+QuWG5/4ZSg9wQAmGsWFQASCJgPf8TS9hkCm75CtOEuWG5/ITSw7aOJALC9s5DjxR62ccL7AAqU4y5Ybn+2QQ/RDgAwVxkAMNcqqCV3wXL7CyoGsTMAwFwwAMBcq6CW3AXL7S+oGMTOAABzwQAAc62CWnIXLLe/oGIQOwMAzAWLDgB4I9Dp4HEXLLc/8xTTW3LvRNtuiOlHymNRZtHxzIDHy6hNQJdLeS5teabD68W2YFfOPaczkPV7PhMc7wNQ+eMuWF7lhAAAuBX1468HABwFzOHDz1TpXiUA2guXiV2HjpEaJwW748QY0dq+ueeFIFz+mgYAHLFJKWhsDAAUSJUAoEjN+eOGer6WRZ/+qADA4Q8AMM5xGBYoAABo0kMHgSIApIs/6YbbH7IbCpgokHfAAAAM1JNFa/PJe48/tz+bsaFNsxQAAJoVb8wWCvQoAAAgIaBAgxUAAKjB/+ILagte+zPO4PUHb41WAACghl8CoKwiLLNvqk6wr4QCAAA1TGUWYZl9U3WCfSUUAACoYXIowgljviWOD71O7XHE3qFv+07Rss4KGAFACuByJ59L2+jEtyhCWfjZjxUILPqOTj8MKCoFjAGQQMBm9LV6I5BhEaaLPin29ApA9b1WW8O+tX5gAAWGFSABAKoJIQyKMG+pT/39KL0N+kaMoABFAQCAopa0NSxCrACowsI+q8ArR0Z+c90UIdI/U9SSbfM+AABFSQIA0m6xB0AVGfYhil+qDABQc81wBaByi6sAVLGbaR+q+AsBEPuLG8pKjZkXzra6Echq0y87SQP4xP7KrbLihn7VCuS9T6EFAKgFowIgKXx5JSBZAaR/R0pMAIAkF4z1CgAAeo16LCgAyC75dT9rhwIAaCWCAU0BAICml7ABQPrIn10JkG4IAgCI0YK5TgEAQKdQ5ntTAKg2/Ex/lzskAIAYLZjrFAAAdAoRAKC63Jdunhz9i7osXBEAAMRowVynAACgU4gAgLSp6dGedGkQACBGC+Y6BQAAnUKWAJDNdOf+pOKXDgEAYrRgrlMAANAppADA8Q+PjmqleuBJt+sPABDFhzm7AgAAUVK5CSgBkC74osedcR8AUWCYB1UAACDKTQVA4h53AhKFhnkQBQAAosy2AEjvCRC7HDHHHoC1dGioVgAAIGZGAoBsM5OXnpDP+bOdAADEaMFcpwAAoFNIsQlo+1ZgAIAoNsy9KwAAECU2vROQ6NbM3GAFYOYIVjErgMeBI47Orv5LSh1d0dtdSh0YOmdRwGfxZ33LAee+EASPA6vj2VQA2L6OiqUqGuiE+xVgquIHACwSq4kAQPFbJIpDk1DFDwBYBKlpAMgWP05BLJKG2MQWuKrY5B35kyHhFIAYnCYBAMVPTA6NuW1hm4zCpvixAjBRNmPTFAAUFb/PRLYISeOb2BY/AGCROk0AAIrfIjFKauJS/ACARdBmzi73MqDFkElNUPwkuUo1di1+AKDU8Nl17hNAKH67mJTRiqP4AYAyIufYpy8AoPgdAxOwOVfxAwAWQcsWYN5lFAvXVk1ODbXbVg1TjVD8rgqGa89Z/ACARdyym4DXT2+1LNywNXn5YC8AqNfpUfxsofDuiLv4AQCLkNUJACh+iwQoqYmP4gcALIJZl1MAFL9F8Etq4qv4AQCLgNYBACh+i8AzNaGeojF1m+sGtwITFc57gQLRjTdz3aYgit+b9FrHsRU/VgDakI02qDIAUPwWAWdqki7+mP6EO94IRAxwVQGA4icGmtE8e+QHABjFDe2qigBoevHHtvQu+94Rk5pp4Y1AapmqBgAUv0m6h7UBAMLqzdpbFQCQ97hu+kjYhEd6q3bezZqojs6wAsgRsMoAcMyJSjWv4nl3TAIDAACAUz7W5bxbd1nVSaSIGwMAAIB1esZW/EXXu3WTBAB0CjXse5wCFAe8bufdWQCEvoTn6/FvXdm23njjjcLHTBd+42qdj1p8X4Ud27TQMmHL2uCr43l3FgCx5IPvlUnrueeeKwTAzbfeFk2B+0j4JJljCbip2GUBQLXsr5p2Ko0bCwDTFYCP4itK9tDnl1VLYt9HBlMQuZx3U/rwbZu9HyaWU0DfcTZaAYQufhls39eys4CpGgBiuoErlmLxDYky/HsHgOkKoIzJyz59wKcOy1gAoKyMDNuvdwDo9gCuuuqqsDMe7s3Xe/nzTi2qtgLwnRilBL3ETmONv+84t3x3kBfT3z//bGG4x19zO3s6FO0rxJoAeSKUFTf2oETiMNb4+45ztAD47m38ACjKtVgTAAAIQ4hY499IAJw8eVIsXrzYKfLUGytiTQAAwCkNjBuXHX/fhZ4nRGkrgN88+SvR19fXHZcs+uTnjz/+WNx///1Or+GmClp2Ahhn6rAhdX5U/1z2rrqGmqfrOF31CjXP7DhLA8Djv3hU9Pf3d4peFv/g4GDnZ/mR/wcAilOqrIShJrprYYWap+s4qbpk7UPNMyoAyMHIopcFn/0AAACAVCBUYQAArggjtvctODVxfI+HKI/WnDo/rUNPBq66hpqn6zhd5Qs1z2hWAL4Fp94oU7W72cpKGGqiu8Y51Dxdx0nVJWtPzVfX/pL2pe0ByAFwiq5KFPlIZ9UK2zSwroUR6nFXV/1d52mqZ1XtXGuoUgBYsmSJ8snFrVu3KucBAJSf1q4JCgAUx9BV38oBYMGCBT2KvPPOOwIAKL/Q80bgmqAAAADQVUCuACQANm3a1PndjTfeKACAeIuf4zQPAAAAAABFDlSlMLAC8AtoV31xCuA3Pt68AwDepK2U48YBQBWdJu4BuF42oj4rYVsVrglaFdDZ6uPazlXfSq0AisRq2mVA18RB+14FqgoaZwBs3Lix59Lavffea5Qbjz32mJEdt9ENN9zg9JAQ93jgrx4KAADDcQQA6pHQmAVNAQDAMwBw5KYlJKzDKgAAAABhMw69RaUAAAAARJWQGExYBQAAACBsxqG3qBRoLACyUZgxY0bhnwpL7MeOHdv578Ov7er8+8A185Q/RxXliAaze/dup6sZl112mVGciqbsOoaI5HQeCgAwLCEA4JxLLA50xQkAsMjcdQIAAAC8GeXoLQQAHIeI5ikFdPGKVaxRy1CsAOIIlS6hOFYAccy0HqPQxSvWWQIAkUZGl1AAQFyB08UrrtGOjGYUAJYuXWq0ubRv3z5sAjpE1TVhAAAH8T00dY2nhyEZubQGwKpVq4w6yBrl3RH44IMPGoHHqtPAjdasWeO0w28yXADARKVwNrUBgOkegO3DQAAAT1ICADw6cnmpLAC4ngZ0vdc/WQH84I47uGJSmp+fPvJIaX1zdbxu3bpWn1jUXZWdFNt6VjXJd6rfJ7+TNjbtsnNIj0N+l/XJNecm+mnFCIAJk6dWNhbHjx4WEgATJ06s7ByOHTsmnl63I7fQ0oWdLXKO71QAQNH7SScAgFnXugAgvQIoOspTjtZFR3LVaiHxjRUAc5Km3FUKABs3vGSlxPIVN+W24/apA8D+/fut5jBr1qzcdtw+5QpAAiBdgGkIcBzli1YOWAFYpYhVI2sAyGcB5HMA6WcAkv/bjGT58uWdZnIPQHUKIAu1vXBZ1/X8cUM93ew4MSa329b2zUIFAR8+iwAgC/Xbq5/KHWfRnP669g6hgoAPn8kpQDJQ1Tl9dg8gKWgVHEy/Swsj+0y3y35nk2NoM1qBSgAgKdSkQGSxmwBg16Fj3RlffnhbDwR8+JSd5QFAFurkVSObg/Omjd4jUM0pPecsBHz4lHPIrgBQOPVVwOlOQJcVQPaySfoqQHYFkC3W9Xs+I0dEBwAOnxQAmE5g5dxzOqYSejoAcPgEAExVrIddpQAgJU8f1U1DcOijT8S1n+9UrgA4feoAMPSd+8S0SeeaDrtrl6wWVADg9gkAkMNT6QbWAPjggw9Y73YzWQHYFKssfvnhBECeTxMASBsqBHQA4PQJAFS6nsmDrzUAkkLdu/+AuHPaCZYVQJFPHQAGrlghZs+a2QkSBQJFAOD2CQCQa6jSDWoLgKRQZXS4AKDzSQEABQKmAODwCQBUup7Jg7d+GGjLli3RngJkC1Wq4roCMPFpAgBpk6wCTAtWBwBOnwAAuYYq3aB2AEgXanL0dwWAqU8bAJhAgAoAF58AQKXrmTz4Wp0CZAuVAwAUn7YA0BWsDQBsfQIA5BqqdIMuALb/dnX7wyMHO5M5f8p0sfCWtaxLfJ1KrlcBVIXqCgCqTxcAFBWsLQBsfAIAukyt1/fdIt/y6O1tWfjyI0Gw9L5nKwOAvEJ1AYCNT1cA5BWsCwCoPgGAehW4bjYteeQ/77xJYve//inGn90vvtw/QaR/fuHV18WyxV8TJz//rzj37HHim997xgsYbFcARYVqCwBbnxwAUBWsKwAoPgEAXcnU6/vWm7++q50t+vTPb727W3z1ihmi70tnibP6xpQKgOxdgKaFKkOWdxWA06cpAKRd+kqAKqWy9wlICKjuBJT3ASQfDp8AQL0KXDebllz6q478CQRe/ctmMWXaeR0AyM+Su54vbQWQLlbVZbmiyZoAwNUnBQB5Y827RGgCAA6fAICuZOr1fWvf1sfbect/CYHtb/9D9I0fK6aMn9g5DVh2z8bgAJCSyweCdk5d1FE/fTeeSTiyxZ+08eFT9zhw+ohdNPbsHYNHn/lR7uPA3D7xNKBJVtXDRrsH8Oe3tosLLjy/dAAkELCRHS8EUauW95IRAMAmy6rZRrsH8Mc3t4srv36BGN9/ZmmbgFWSVvdGoCrMBQCoQpR4xqjdA3jkyac6AJCfi6ZMKmUTkGeq/F7e3fF21+ml87/S+T8AwK8zPPpTQLsH8PSmzWLJokvFp4OnAICcOEgQAAD+khSe/SlgtAcgLwMCAGZBwArATCdYxaGAdg/gwH/2dy4Dyk9ZNwLFIZXZKAAAM51gFYcC2j2AZzf8rnMjUKgVwILvPxSHMg6j+PvP7q78HwZJvxbcQQo0jVwB7R7An/72WucyYKirAABA+RmDqwDlxyDUCLR7APJZgJBXAQCAUKHP7wcAKD8GoUag3QOQ9wHIh4GOfHqsczOQ71uBAYBQoQcAyle6/BFo9wAuWHK3l1t/s1NPngYEAMpPCqwAyo9BqBFo9wBCvRgEAAgVcn0/AIBeo7pYBDm6m4gFAJioFMYGAAijcwy9RAOARIwjhw61VX8cNAaxTMaA+wBMVIJNLApEB4CBgYF2LOLYjuOJJ56wbRpNO9wHEE0ovA7k/3+rU5fDkJo5AAAAAElFTkSuQmCC" + } + ], + "animations": [ + { + "uuid": "96b1b305-92fe-9c7f-475b-19434f1d7894", + "name": "death_animation", + "loop": "hold", + "override": false, + "length": 12.75, + "snapping": 20, + "selected": true, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "markers": [ + { + "color": 0, + "time": 6 + } + ], + "animators": { + "3855c725-cad3-125d-db6d-7aa36afaff7c": { + "name": "Helicopter", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "40", + "y": "224", + "z": "13" + } + ], + "uuid": "e4067018-0609-ad89-380a-25747f6f1008", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "2c757bc9-83e6-d23d-9df6-bf4f97a4f5d6": { + "name": "DoorRight", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "1cbe7ba5-d97b-dff3-da58-6031cbe583a2", + "time": 0.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -2, + "y": 0, + "z": 0 + } + ], + "uuid": "5c238362-3d39-d6c8-b90f-7ea474e7c4ab", + "time": 0.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -2, + "y": 0, + "z": 0 + } + ], + "uuid": "bf74fbe3-b3e9-c73e-0c01-744f7c080b75", + "time": 0.9, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -1.40763 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 1.40763 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -2, + "y": 0, + "z": 48 + } + ], + "uuid": "f20761ca-e540-501a-4cd5-2c2989a16df0", + "time": 2.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.63708 + ], + "bezier_left_value": [ + 0, + 0, + 0.29763 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.63708 + ], + "bezier_right_value": [ + 0, + 0, + -0.29763 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -2, + "y": 0, + "z": 48 + } + ], + "uuid": "3c2870c2-1a3d-3b96-e2bd-bf03ff11662b", + "time": 10, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -1.10129 + ], + "bezier_left_value": [ + 0, + 0, + 0.30123 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 1.10129 + ], + "bezier_right_value": [ + 0, + 0, + -0.30123 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -2, + "y": 0, + "z": "0" + } + ], + "uuid": "863662d3-1b4b-b2bb-e742-5c66476d11b8", + "time": 11.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "14d9f06d-656e-28c1-e3c5-7ed8dbb30749", + "time": 11.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "349fd936-b671-8cf5-1bd3-e66530c8bee3": { + "name": "RopeLadder", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "7a6a939e-4117-86f9-9f90-aec63b8e61e9", + "time": 2.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 42.5 + } + ], + "uuid": "72250253-88e4-f556-3497-a042b2c1c2d1", + "time": 2.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "2a8320c4-a06e-5ff3-a2f2-5cd46f367dc2", + "time": 3.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "4465e37e-06aa-0af8-16f8-5d41ccd28a4e", + "time": 7.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "860bb0dd-a0c9-dd44-6cd1-139165eb773f", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "acb0ed56-dfd1-347b-0b5d-07ffe2041332", + "time": 2.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -18, + "y": 0, + "z": 0 + } + ], + "uuid": "0eea9772-0235-2498-a30d-7cc9636e9f07", + "time": 2.95, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -18, + "y": 0, + "z": 0 + } + ], + "uuid": "cfc2447b-f3db-735b-f943-fa6d38de094c", + "time": 7.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -3, + "y": 0, + "z": 0 + } + ], + "uuid": "96fcb9f9-2177-6c94-a351-0f548b37d298", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -3, + "y": 0, + "z": 0 + } + ], + "uuid": "dfe4fb8a-c882-4cfb-9705-7560e8ee61fe", + "time": 8.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 3, + "y": 0, + "z": 0 + } + ], + "uuid": "c9d4c448-85d5-c90f-cae1-5bd41d65fd8f", + "time": 9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -8.5, + "y": 0, + "z": 0 + } + ], + "uuid": "84964543-6db1-bbf9-ba7d-bc929a414813", + "time": 7.55, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "75c895fd-4365-0281-ecda-1a6d54d01e66": { + "name": "RopeLadder2", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "715ca160-5e7a-ab6e-7f05-423c3986350c", + "time": 3.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -120 + } + ], + "uuid": "d13fa408-90b4-1c79-dc11-472351e4ce31", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-120" + } + ], + "uuid": "f2c6875a-0d7b-156d-9136-0a650ef27f33", + "time": 4.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -120 + } + ], + "uuid": "2e86ee13-c9e9-2ed2-b1b8-95c3a5b4b394", + "time": 5.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -117.5 + } + ], + "uuid": "1c2bf741-57d3-c5ad-090a-8bbbad3e3029", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -120 + } + ], + "uuid": "b7d026a8-ad38-14a7-f867-1ba2d95d9391", + "time": 6.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-121.25" + } + ], + "uuid": "e76f4473-96d5-8842-0274-b0358a654c8e", + "time": 5.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-119.375" + } + ], + "uuid": "65612d85-2ab1-d18c-b0bf-47c1afcd6f1c", + "time": 6.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -120 + } + ], + "uuid": "27614e65-f95b-6b31-3628-9e04ae6de7af", + "time": 7.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -120 + } + ], + "uuid": "938323f4-87a5-ab37-7b1b-97a6ce4c8bca", + "time": 7.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -140 + } + ], + "uuid": "d14e16d9-9442-78aa-8918-2831a5ac3ead", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "105854b0-38ae-6d67-c4c1-3dc4809bba38", + "time": 7.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "e5002226-5469-1042-b029-0f1afc6be98d", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "84b84f95-6c5f-0b4a-6cba-b1625c5ffe78", + "time": 7.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "d673620a-d093-ad34-9edb-ed8e4685e43f", + "time": 7.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "0bda9a1f-977f-e6e5-c943-0ab890083646": { + "name": "RopeLadder3", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "5ed816f8-135f-0da0-5923-129ebc1c7bd6", + "time": 3.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "041c15ad-4012-b38d-82ae-971e61223436", + "time": 3.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "39c58d1d-12c8-d230-c6b5-6d104160c15b", + "time": 4.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -52.5 + } + ], + "uuid": "b8dcff37-3b94-4056-c23a-e8462043db74", + "time": 4.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "11bd825f-6b2e-aacb-e8b4-b63a18256b38", + "time": 5.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "1ff3553a-bec7-da76-7698-f56e69a072c4", + "time": 6.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-56.25" + } + ], + "uuid": "9cfa4b8d-8689-10e9-0147-11c88e06f48c", + "time": 5.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-54.375" + } + ], + "uuid": "72b93d9f-9ec1-38e2-bd94-e09ed920645f", + "time": 6.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "85a519f5-bb8f-d7f7-cd2c-ee83e94f8e19", + "time": 7.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -90 + } + ], + "uuid": "41311d57-2e2d-3539-407a-ab50771f2830", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-110" + } + ], + "uuid": "04ee912a-1a01-d160-d1cc-02423e3c64aa", + "time": 7.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-55" + } + ], + "uuid": "aa92bfd1-b3bb-8c32-15a3-a20506d635e9", + "time": 7.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "d47c969c-745e-d0de-01e8-d9057a9bac55", + "time": 7.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "5bda63ae-aee5-b44f-7777-ccb4998ea206", + "time": 7.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "b6e9b356-e0fe-62ae-e490-5f2576e4c6f0", + "time": 7.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "99e1aee4-3ecf-0b8f-0db6-12825624b7ba", + "time": 7.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "9cb16d11-101b-c58c-24e7-c7a2dec1668f": { + "name": "RopeLadder4", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "55a90d22-0aa7-a1ed-0a20-462b561529c4", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "4e4b85da-ebb9-c3e7-f66a-81f1f7131a18", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "8f8d286d-3876-0d88-731a-1b08212b71c6", + "time": 4.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "2c965938-a38a-2aa5-4e40-7b7490cbb9f3", + "time": 4.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "94a7c70a-b3de-422a-70da-b7f4f3f192ef", + "time": 5.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-17.5" + } + ], + "uuid": "018db8e7-c53c-48a2-82e6-f5704a2e030f", + "time": 6.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-18.75" + } + ], + "uuid": "76305530-2812-3b4e-76a6-881212353a98", + "time": 5.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-16.875" + } + ], + "uuid": "8dac90e3-c610-5a05-d495-0f940fe2321b", + "time": 6.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "ff8a99bc-6ecc-fa9a-a3a1-772c8458f386", + "time": 7.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "8b97c453-3b59-1b5b-1b87-5270a861395b", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -52.5 + } + ], + "uuid": "dc1e0624-fae4-1db4-0b17-c2daaa720b8f", + "time": 7.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "3608771d-a92f-73a2-1cb0-b6c63983e29e", + "time": 7.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "eaed630f-5ce3-6152-f91c-e7d30cfc3705", + "time": 7.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "8e7b9142-b842-f147-eef4-c6a415b2fca9", + "time": 7.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "1d4a7779-0147-7eaf-eacb-6498c62ec7ce", + "time": 7.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "6cc6be4e-6273-f0bf-1046-cc74826ad972", + "time": 7.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "20e90317-4e90-cada-923e-1551e99844fe": { + "name": "RopeLadder5", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "fd0d9523-f494-fbbd-579d-a9f8aa29505c", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "cbbb7211-7306-4da6-e9cd-cee32f3db277", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "ad615c94-7d2f-3d30-d2cb-1fb982efa62c", + "time": 4.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "f8b8ee5a-718b-57ec-e29f-2a957e84eba6", + "time": 5.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -82.5 + } + ], + "uuid": "4186b1f0-b56f-aa2c-d8d3-bb53424a8814", + "time": 4.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "05edfa8b-dbe5-9ac6-f39e-e13689d0736d", + "time": 6.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-86.25" + } + ], + "uuid": "2fcfc415-f20f-e75b-95c3-9c47bc7aeb3a", + "time": 5.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-84.375" + } + ], + "uuid": "2515814e-e6b6-ff78-5456-a857633e5e76", + "time": 6.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "11a7a53e-3040-b39e-6ed0-379bd2e00b92", + "time": 7.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "43eccee8-8e2a-9d27-6bc4-11bddb7bcca3", + "time": 7.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -120 + } + ], + "uuid": "08efecdc-9ec1-ac7f-2176-cf1557a6d6d6", + "time": 7.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -140 + } + ], + "uuid": "50b3a825-995e-75a9-f7af-ecf3a58496eb", + "time": 7.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "cc926f12-2919-d6d4-ecfd-09ef1110ec9e", + "time": 8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "d781389c-f13e-57fd-5443-0c375ddb8fc5", + "time": 7.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "7e66f59e-c9de-c580-b98d-7ec52ce6dcdb", + "time": 8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "965810b4-fb7c-3804-c156-6acdbbf0fd8a", + "time": 7.95, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "9df17c50-2500-dc3d-3c9d-1bb6cd628896": { + "name": "RopeLadder6", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "333957d7-7490-42ea-4b18-1e33f22720c8", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -45 + } + ], + "uuid": "b7a2d6e9-4056-008c-ccc4-11032641dfe1", + "time": 3.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -45 + } + ], + "uuid": "361017c2-c56b-05e7-9f41-a54eb0d67951", + "time": 4.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -45 + } + ], + "uuid": "cf8acc2f-581b-500c-dd24-adcf074aeea7", + "time": 5.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -42.5 + } + ], + "uuid": "82406510-9cdb-3e15-bd50-e6ae0b854a45", + "time": 4.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -45 + } + ], + "uuid": "a81c2263-8ca2-e039-3abc-c08e67bb7d26", + "time": 6.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-46.25" + } + ], + "uuid": "7403a1fb-025c-3ad1-d935-d334f2d38e6e", + "time": 5.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-44.375" + } + ], + "uuid": "796bf88a-e601-c774-69c6-9bf911e76d48", + "time": 6.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -45 + } + ], + "uuid": "b34ba9b8-05e1-5414-995a-69e8ccba3742", + "time": 7.35, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -45 + } + ], + "uuid": "86ed3337-b4f3-aac9-ff95-aa28d95f178b", + "time": 7.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -80 + } + ], + "uuid": "927a5b26-48b9-a341-3a31-4d63f8a3fede", + "time": 7.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -100 + } + ], + "uuid": "24ff5a31-95c6-8d40-29d8-745d98e06553", + "time": 8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -45 + } + ], + "uuid": "8d9f1b9c-1b64-0e85-f7b5-2abb6b74d617", + "time": 8.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "cdaaf4f8-0111-72e2-4516-72f5ff3e85ba", + "time": 8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "4327e269-e44c-7182-3fff-16315107ae30", + "time": 8.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "9dd6f2f6-fd36-c4b5-8aed-a6dc4ac524e9", + "time": 8.05, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "335c6570-26b8-856b-bda3-65395902f2c1": { + "name": "RopeLadder7", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "44deab22-701c-c222-9d88-821dc88b0ab8", + "time": 3.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "5a007d3b-580e-665d-114f-1104c2cd52ca", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "fab7f68b-3230-f50d-7c79-e3b81178cd0f", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "54b70589-b1e3-77eb-e212-f65576e31615", + "time": 5.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -70 + } + ], + "uuid": "ffd3c88c-c7fd-4156-f873-679613272b72", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "a545cacd-932e-6258-8560-85ec089cdaab", + "time": 6.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-73.75" + } + ], + "uuid": "66f3fc9d-c7f7-cd74-1df9-ced4f5ea1bb5", + "time": 5.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-71.875" + } + ], + "uuid": "062b58fe-ea6a-b033-11fd-bae2d8d7c194", + "time": 6.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "f2e6608a-6953-00c6-b181-cbef0571590f", + "time": 7.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "e41721f9-d7ec-d856-86a4-0f0acf44872d", + "time": 7.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -107.5 + } + ], + "uuid": "ae713465-bf77-478a-8401-b8c6dc6b2dde", + "time": 8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -127.5 + } + ], + "uuid": "ad9c6331-a9ee-5ff8-8aa1-fb7cad8116d5", + "time": 8.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "4934e04b-7fbf-2ba3-0eb8-8dab5e5e2b2d", + "time": 8.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "4db7f489-4b91-0ab2-98e7-4eaa93faae71", + "time": 8.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "efee1e69-83bc-819f-ce69-78abcc16ae02", + "time": 8.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "f0fc56c7-4636-529b-1ba0-706b5b623db8", + "time": 8.15, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3bd16030-14b3-a1bf-76ef-9adb8e3564d9": { + "name": "RopeLadder8", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "7d6528b1-2da3-f8ed-3305-63ebced40d77", + "time": 3.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "77f387e0-d6b5-9515-f961-48fc3591cc79", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "81b14531-125f-1885-964c-93f9c12b4ff7", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "705cae46-bb94-7d53-63b5-bde9bfc5db21", + "time": 5.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -27.5 + } + ], + "uuid": "63dc2e71-e3c5-aea4-9845-7b9127472c56", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "bf8c4ae2-5453-be09-b954-eceb41be02de", + "time": 6.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-31.25" + } + ], + "uuid": "8d406165-b149-9a75-913a-f01cc625a884", + "time": 5.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-29.375" + } + ], + "uuid": "8fc64b38-8de3-5789-f573-f75b776c2130", + "time": 6.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "1ae28892-3925-6455-7979-871d2e0d1759", + "time": 7.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "1d35fc36-25d9-de33-b582-a1941ab3f255", + "time": 8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -65 + } + ], + "uuid": "e25a2001-e5bb-a820-5311-ea93425c8e90", + "time": 8.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "3058a961-8743-c600-4a3b-b015656f08c9", + "time": 8.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "36daff5d-1428-4808-0994-97ce0ee6df21", + "time": 8.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-30.625" + } + ], + "uuid": "a49c98ba-ec8e-0175-be8c-8f9b3ac6d3f4", + "time": 7.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "6fa3f6a5-6a70-3890-8ef8-2dc552df9f75", + "time": 8.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "d7f231f4-fa90-baef-490a-cb27fd9445e7", + "time": 8.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "ba4435b6-5449-22c9-8137-7cb8b7faeba0", + "time": 8.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "12e7191b-e255-e122-467f-4e74ea1ca25b": { + "name": "RopeLadder9", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "b1e8cb95-1c6f-5b1c-f418-639a7cab014b", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "94b60b23-61aa-c77c-d51a-b2a2db70f960", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "29c60c10-e605-331f-0342-8c6f2bf86bc4", + "time": 4.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "79dc3101-ca96-2792-c24b-3e1d07fba131", + "time": 5.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": "-102.5" + } + ], + "uuid": "0a3e2979-121f-645a-4e29-cf9845632153", + "time": 4.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "d484bd8b-227a-5bde-e77f-be4fbc73a0ef", + "time": 6.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": "-106.25" + } + ], + "uuid": "3d9a193b-be69-2360-6b73-a4674c7ba8d0", + "time": 5.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-104.375" + } + ], + "uuid": "1435311a-2783-f508-04b1-2e4b4505dc67", + "time": 6.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "4e66c5e0-95a5-d76c-3f1f-164d5f478275", + "time": 7.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "068e1cab-0745-18ee-70f6-7466fb12874e", + "time": 8.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -140 + } + ], + "uuid": "f6364f07-ad42-5d90-9ece-c7e2391e4b60", + "time": 8.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -160 + } + ], + "uuid": "b7d6338a-6f27-ca05-4227-2a4f370bb5ce", + "time": 8.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "f665ff53-b17b-e5d6-eabc-a2a5ad8495c3", + "time": 8.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-105.625" + } + ], + "uuid": "6f1f5153-c606-fb59-b771-4ed203f70cb7", + "time": 7.95, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "94027b76-7cf5-513c-b6e4-c9f4b97aab59", + "time": 8.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "50d74b2c-4484-9df3-d1d5-361b22063b3c", + "time": 8.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "d67ac890-33fc-bd80-b170-332802c03125", + "time": 8.35, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "c8667a44-3ce4-ea1f-ecfe-d9fac6461f90": { + "name": "RopeLadder10", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "83eb069e-f225-c6ff-a092-082516cf7636", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "fbf27e4b-f216-9f88-00b3-cbc58c3ed671", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "1c5edae4-19da-3230-978b-2cb1b5ffa8dc", + "time": 4.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "a7ca8670-4b26-9c2f-4c19-f5a238ec3666", + "time": 5.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -27.5 + } + ], + "uuid": "b7de9a27-20a3-2e3d-13d8-c948a43eaf24", + "time": 4.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "e9ee1404-07e8-5253-1a7c-31725b62ae3f", + "time": 6.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-31.25" + } + ], + "uuid": "07903ec4-ca26-6878-a5e8-b1b2c683d251", + "time": 5.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-29.375" + } + ], + "uuid": "3283a399-91c6-f20d-11b6-00a57d204cbc", + "time": 6.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "9260370a-9e7a-edf2-d99d-83995d145425", + "time": 7.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "cf3d0e5a-b59f-ed5a-16bc-1d09adf3afcd", + "time": 8.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -65 + } + ], + "uuid": "bccdb8e1-9ecc-c8a6-c0d5-cd39277e6a45", + "time": 8.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "4663dfca-6a13-f691-61bf-f40c463d5f81", + "time": 8.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "e7619056-067a-1344-6ea1-9305447c04dd", + "time": 8.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-30.625" + } + ], + "uuid": "cc6fe899-933f-3723-7467-625fc099cfc8", + "time": 7.95, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "0f934b98-7a9b-df7c-82a7-3b737c2c1d4e", + "time": 8.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "c78a5ec6-c981-5eb5-ba5a-27b89a415475", + "time": 8.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "190df046-ee7f-1728-7dde-0755b39fc9c1", + "time": 8.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "73305a61-a5fc-3ffd-28cf-a5a7156ade9d": { + "name": "RopeLadder11", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "1a40387a-7b9d-1003-b69f-73b7bda2d673", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "3989ba7a-db3e-b3ad-aad9-d3f59f645574", + "time": 3.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "8ad54380-220e-bcd1-fd95-68a2f825468e", + "time": 4.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -92.5 + } + ], + "uuid": "64e1e450-2353-353e-2cc1-30b6916afdd1", + "time": 5.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "6a5f9b25-ffa2-8db8-099a-29c18235134f", + "time": 5.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "1791f50c-4bbf-341c-dae4-2c27891fab38", + "time": 6.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-96.25" + } + ], + "uuid": "deb5c22a-93ed-f46f-767e-f8bfe3ba8029", + "time": 6.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-94.375" + } + ], + "uuid": "b261d784-b671-a6ce-c702-1bab7434c0ae", + "time": 7.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "bbbaa549-460a-4921-d455-85ca0c90bc12", + "time": 7.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "767f6b12-00f3-cec8-31b5-012f59710173", + "time": 8.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -130 + } + ], + "uuid": "f328bf97-5dd5-614c-05f6-51b524e78c63", + "time": 8.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -150 + } + ], + "uuid": "ddbd3e32-1a8d-0c20-0a4a-47ded44f8392", + "time": 8.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "72adec00-19c7-4fa5-900a-76ecfd03068c", + "time": 8.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-95.625" + } + ], + "uuid": "e14449b1-e5fe-11a2-17ec-0ec7701c1e4b", + "time": 8.05, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "20085f32-db2f-6922-b3a4-842239584414", + "time": 8.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "3ca6575f-43cc-03fd-c391-121c08cfb988", + "time": 8.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "e6793b5c-6e62-e047-f070-04ab2de10a32", + "time": 8.55, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "fac07263-8b34-d5b4-c7e2-83b19ee7d708": { + "name": "RopeLadder12", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "91e861ef-f9f5-5ae9-bf67-bf63e63e4b43", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -77.5 + } + ], + "uuid": "e073481b-8372-b554-89e4-3ec7a33d3b81", + "time": 3.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -77.5 + } + ], + "uuid": "7945611b-0589-adc6-dca7-6fcb2aa96d20", + "time": 4.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -75 + } + ], + "uuid": "8f7237d7-22cb-a332-13ad-89a794fdf1ca", + "time": 5.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -77.5 + } + ], + "uuid": "b51ae597-1cc6-ed43-b874-3d760fd0769d", + "time": 5.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -77.5 + } + ], + "uuid": "d910c131-5795-9924-a404-76491396aa83", + "time": 6.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-78.75" + } + ], + "uuid": "70386e7a-cee3-7976-4f6d-044c1855a3a1", + "time": 6.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-76.875" + } + ], + "uuid": "2845c2a6-3bc4-0168-52e6-7273978be456", + "time": 7.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -77.5 + } + ], + "uuid": "bd656eb8-581c-f9f5-bc89-fca5559c257f", + "time": 7.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -77.5 + } + ], + "uuid": "737a3536-fcab-57d7-9eac-f96e47b2a1f3", + "time": 8.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -112.5 + } + ], + "uuid": "f3f88ca3-a3d7-1de6-93c4-95218bc45953", + "time": 8.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -132.5 + } + ], + "uuid": "615c9842-9dc5-ee5e-728a-1dbacc089696", + "time": 8.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -77.5 + } + ], + "uuid": "66677efe-b841-1f75-109b-a5aa7f6c576d", + "time": 8.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-78.125" + } + ], + "uuid": "e02af0bd-6d77-4be6-dd64-06848d575632", + "time": 8.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "968e8269-835e-879d-97bd-d4b01931b097", + "time": 8.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 17, + "z": 0 + } + ], + "uuid": "ed96e3b0-e8a2-25e5-337b-1e147785210c", + "time": 8.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10.5, + "z": 0 + } + ], + "uuid": "5a84d1cb-e872-1965-39ef-a9ef75e15a2f", + "time": 8.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "44f6b24f-ec24-3b6c-95dc-fc2d04130722": { + "name": "RopeLadder13", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "82967f6c-bd02-5a8f-ad9e-8c015374b361", + "time": 3.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "bbd10306-7631-63e9-18d2-46b603f5ab32", + "time": 3.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "d15eb4a4-4815-c1d0-df3b-8e086138c785", + "time": 4.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -92.5 + } + ], + "uuid": "f31fba74-e823-7ba3-9ae3-a67360ae34c4", + "time": 5.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "a839844d-85e4-3acb-cb3b-86038e43777b", + "time": 5.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "a14cdc74-9255-08d5-1e83-e06283199291", + "time": 6.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-96.25" + } + ], + "uuid": "1337ba2f-42a7-cb0d-d07a-878ab8834e7c", + "time": 6.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-94.375" + } + ], + "uuid": "2fdee278-0a16-be21-891a-fb48380fe654", + "time": 7.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "52e87cc4-b292-6d09-c196-3b52e394765c", + "time": 7.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "003cf14f-a93c-1189-8027-36f349c79f50", + "time": 8.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -130 + } + ], + "uuid": "33fe971d-1e16-a7e0-72a7-995bfa36c293", + "time": 8.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "49428d59-4973-1566-4091-bee99d4d58f0", + "time": 8.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -147.5 + } + ], + "uuid": "c82a0a19-6a82-ff84-9278-e5498f50d143", + "time": 8.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-95.625" + } + ], + "uuid": "1d5dea88-d6db-f260-f001-bb9785a167e1", + "time": 8.15, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "8f9e54ff-9798-a75d-c10a-704ca0739c98", + "time": 8.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 15, + "z": 0 + } + ], + "uuid": "f00e66ed-398e-60c4-d8f1-85b53bafa7e9", + "time": 8.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 9.5, + "z": 0 + } + ], + "uuid": "b45202cd-424f-2474-d13f-a26520086150", + "time": 8.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "81c03504-cef5-69e6-cf02-f623ce10f5b6": { + "name": "RopeLadder14", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "93f9f586-4e9b-3923-8f9c-44832080c328", + "time": 3.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "d6096621-5b95-817f-a799-c36f447e6fd4", + "time": 3.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "7c6b8e5b-0ceb-fe54-ab7b-8d7811bd2672", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -102.5 + } + ], + "uuid": "9ac5855e-42b3-487c-e521-a01b1a9e1d8c", + "time": 5.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "af233243-4539-b62b-310a-53e47d19762b", + "time": 5.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "3edb744f-dc01-d487-8c0a-bafe53c6ccb2", + "time": 6.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-106.25" + } + ], + "uuid": "3624af05-78f8-198e-b8c4-76ab3193b063", + "time": 6.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-104.375" + } + ], + "uuid": "4282ce73-34f3-16aa-49b3-df8574ad6691", + "time": 7.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "093881ee-7ca5-ba90-cf87-27bfe5320508", + "time": 7.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "dd457da2-3b85-73bb-4b15-5274a2493391", + "time": 8.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -142.5 + } + ], + "uuid": "9c720fcb-9108-2a44-df75-54043f2b53d1", + "time": 8.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -160 + } + ], + "uuid": "6c8f42f9-4129-08e4-0273-1174cdd7ff4d", + "time": 8.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "5fe75780-5b25-6646-e14a-d44cfc96bcf9", + "time": 8.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-105.625" + } + ], + "uuid": "47266fc4-e056-2041-ef22-595cd7482e03", + "time": 8.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "6003dc25-616a-3edd-1040-d9b2b35f3d80", + "time": 8.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 15, + "z": 0 + } + ], + "uuid": "4176975c-b729-106d-688c-09c887bd073d", + "time": 8.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 1.5, + "z": 0 + } + ], + "uuid": "b83a6031-7006-62d1-73fa-9cfe048d9496", + "time": 8.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "0cb872f1-2b47-cee6-492f-bfa20246c3ac": { + "name": "RopeLadder15", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "b1351cff-ed11-c2f0-e157-0f2e8d10b981", + "time": 3.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -130 + } + ], + "uuid": "1de4e324-219c-bfef-a594-e39a8fb5a350", + "time": 3.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -130 + } + ], + "uuid": "f61177ef-795c-a7d4-3b3c-b235ba115436", + "time": 4.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -127.5 + } + ], + "uuid": "d3e1c562-d3b8-0f96-4ff5-969dfa9ae4b5", + "time": 5.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -130 + } + ], + "uuid": "0a624dcc-15a2-456c-0b59-95d5feebbac4", + "time": 5.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -130 + } + ], + "uuid": "80c067d5-7cd6-cb24-56d0-2d2d140bd3b5", + "time": 6.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-131.25" + } + ], + "uuid": "be5a2d2a-9021-18a1-0fd2-76dca6100e21", + "time": 6.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-129.375" + } + ], + "uuid": "a9b9220c-ad00-9b9f-1bb4-75788b71dd2b", + "time": 7.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -130 + } + ], + "uuid": "b12b3267-e31c-cd0e-ff3e-d1150c2d088f", + "time": 7.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "44ff2d7b-fc5d-4f07-9be5-ccd9cf815be7", + "time": 8.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 15, + "z": 0 + } + ], + "uuid": "b754696d-b8fa-2ef6-e49a-76c6b4435e2c", + "time": 9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "47f57408-507e-ee25-dfbd-8f633fe8ccfd": { + "name": "TailRotorBlades", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "6dd64455-bc9b-cfd7-9fb0-a3eab02e7196", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "36720", + "y": "0", + "z": 0 + } + ], + "uuid": "f9d8e6f4-e171-0f12-1ca6-375ba6dc55d2", + "time": 12.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "812dc3c3-7569-417c-88ea-98db26c9084f": { + "name": "RotorBlades", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "f35b2cfe-e6ec-a772-1cc0-e8458d2373e9", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "18360", + "z": 0 + } + ], + "uuid": "fca52224-a73b-4ae1-4808-d80fb10b5eba", + "time": 12.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Mari/models/ex_skill_2.bbmodel b/config/yosbr/config/figura/avatars/Mari/models/ex_skill_2.bbmodel new file mode 100644 index 0000000..f476029 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/models/ex_skill_2.bbmodel @@ -0,0 +1,25628 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "ex_skill_2", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 64, + "height": 145 + }, + "elements": [ + { + "name": "DrinkBottle1Body", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 0, + -1 + ], + "to": [ + 1, + 5, + 1 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + -1, + 0, + 15 + ], + "faces": { + "north": { + "uv": [ + 17, + 128, + 21, + 138 + ], + "texture": 0 + }, + "east": { + "uv": [ + 17, + 128, + 21, + 138 + ], + "texture": 0 + }, + "south": { + "uv": [ + 17, + 128, + 21, + 138 + ], + "texture": 0 + }, + "west": { + "uv": [ + 17, + 128, + 21, + 138 + ], + "texture": 0 + }, + "up": { + "uv": [ + 17, + 128, + 21, + 129 + ], + "texture": 0 + }, + "down": { + "uv": [ + 17, + 137, + 21, + 138 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "ebae2a79-5686-3544-197c-412362208537" + }, + { + "name": "DrinkBottle1Cap", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 5, + -0.5 + ], + "to": [ + 0.5, + 5.5, + 0.5 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0.5, + 3, + 0.5 + ], + "faces": { + "north": { + "uv": [ + 17, + 130, + 18, + 131 + ], + "texture": 0 + }, + "east": { + "uv": [ + 17, + 130, + 18, + 131 + ], + "texture": 0 + }, + "south": { + "uv": [ + 17, + 130, + 18, + 131 + ], + "texture": 0 + }, + "west": { + "uv": [ + 17, + 130, + 18, + 131 + ], + "texture": 0 + }, + "up": { + "uv": [ + 17, + 130, + 18, + 131 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 105, + 0, + 105 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "12cb07e7-02dc-e0b3-18cf-10b58203e926" + }, + { + "name": "Mob1Head", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 24, + -4 + ], + "to": [ + 4, + 32, + 4 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 8, + 16, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 8, + 8, + 16 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 16, + 8, + 24, + 16 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 24, + 0, + 16, + 8 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5fdc3e88-1d00-c80e-92bf-abc5bfe889d3" + }, + { + "name": "Mob1Body", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 12, + -2 + ], + "to": [ + 4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 16 + ], + "faces": { + "north": { + "uv": [ + 20, + 20, + 28, + 32 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 20, + 20, + 32 + ], + "texture": 0 + }, + "south": { + "uv": [ + 32, + 20, + 40, + 32 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 20, + 32, + 32 + ], + "texture": 0 + }, + "up": { + "uv": [ + 28, + 20, + 20, + 16 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6d36121f-19a4-c725-2bad-5055afad303a" + }, + { + "name": "Mob1BodyLayerColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 12, + -2 + ], + "to": [ + 4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 32 + ], + "faces": { + "north": { + "uv": [ + 20, + 100, + 28, + 112 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 100, + 20, + 112 + ], + "texture": 0 + }, + "south": { + "uv": [ + 32, + 100, + 40, + 112 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 100, + 32, + 112 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "435aa071-6009-356d-39ac-ebb796948632" + }, + { + "name": "Mob1RightArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 7, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 44, + 20, + 47, + 32 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 20, + 44, + 32 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 20, + 54, + 32 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 20, + 51, + 32 + ], + "texture": 0 + }, + "up": { + "uv": [ + 47, + 20, + 44, + 16 + ], + "texture": 0 + }, + "down": { + "uv": [ + 50, + 16, + 47, + 20 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "db19897f-193f-834b-7cde-9b7d67a9f059" + }, + { + "name": "Mob1RightArmLayerColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 7, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 32 + ], + "faces": { + "north": { + "uv": [ + 44, + 100, + 47, + 112 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 100, + 44, + 112 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 100, + 54, + 112 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 100, + 51, + 112 + ], + "texture": 0 + }, + "up": { + "uv": [ + 47, + 100, + 44, + 96 + ], + "texture": 0 + }, + "down": { + "uv": [ + 50, + 96, + 47, + 100 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "9a346b06-6cae-0ccb-cd82-5c31599a23a2" + }, + { + "name": "Mob1LeftArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 12, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 32, + 48 + ], + "faces": { + "north": { + "uv": [ + 36, + 52, + 39, + 64 + ], + "texture": 0 + }, + "east": { + "uv": [ + 32, + 52, + 36, + 64 + ], + "texture": 0 + }, + "south": { + "uv": [ + 43, + 52, + 46, + 64 + ], + "texture": 0 + }, + "west": { + "uv": [ + 39, + 52, + 43, + 64 + ], + "texture": 0 + }, + "up": { + "uv": [ + 39, + 52, + 36, + 48 + ], + "texture": 0 + }, + "down": { + "uv": [ + 42, + 48, + 39, + 52 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8eca8028-e1b8-f033-2a85-5edb150d545e" + }, + { + "name": "Mob1LeftArmLayerColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 12, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 48, + 48 + ], + "faces": { + "north": { + "uv": [ + 52, + 116, + 55, + 128 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 116, + 52, + 128 + ], + "texture": 0 + }, + "south": { + "uv": [ + 59, + 116, + 62, + 128 + ], + "texture": 0 + }, + "west": { + "uv": [ + 55, + 116, + 59, + 128 + ], + "texture": 0 + }, + "up": { + "uv": [ + 55, + 116, + 52, + 112 + ], + "texture": 0 + }, + "down": { + "uv": [ + 58, + 112, + 55, + 116 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "9b7b52c7-5fb7-966c-3249-4b89c813f2d6" + }, + { + "name": "Mob1RightLeg", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 4, + 20, + 8, + 32 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 20, + 4, + 32 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 20, + 16, + 32 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 20, + 12, + 32 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 12, + 16, + 8, + 20 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b07c0a21-2216-8946-97b5-3e8cc72c44b3" + }, + { + "name": "Mob1RightLegLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 32 + ], + "faces": { + "north": { + "uv": [ + 4, + 36, + 8, + 48 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 36, + 4, + 48 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 36, + 16, + 48 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 36, + 12, + 48 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 12, + 32, + 8, + 36 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f7f8d4ca-b947-dbae-baee-9230112d10b7" + }, + { + "name": "Mob1LeftLeg", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 48 + ], + "faces": { + "north": { + "uv": [ + 20, + 52, + 24, + 64 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 52, + 20, + 64 + ], + "texture": 0 + }, + "south": { + "uv": [ + 28, + 52, + 32, + 64 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 52, + 28, + 64 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 28, + 48, + 24, + 52 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "304e2ee3-cf07-cdea-bfaa-b89c85cb807c" + }, + { + "name": "Mob1LeftLegLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 48 + ], + "faces": { + "north": { + "uv": [ + 4, + 52, + 8, + 64 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 52, + 4, + 64 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 52, + 16, + 64 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 52, + 12, + 64 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 52, + 4, + 48 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 48, + 8, + 52 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "ad3669de-c289-958e-56e8-ed7524b5d1e5" + }, + { + "name": "Mob1HeadRing", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 35, + -4 + ], + "to": [ + 4, + 35, + 4 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.001, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 128, + 17, + 145 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 128, + 17, + 145 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "34ea71bd-228e-0dcc-7ee7-b2392902396f" + }, + { + "name": "Mob1HeadColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 24, + -4 + ], + "to": [ + 4, + 32, + 4 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 72, + 16, + 80 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 72, + 8, + 80 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 72, + 32, + 80 + ], + "texture": 0 + }, + "west": { + "uv": [ + 16, + 72, + 24, + 80 + ], + "texture": 0 + }, + "up": { + "uv": [ + 16, + 72, + 8, + 64 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 64, + 16, + 72 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c47beae5-9aa2-13b0-2d2e-86e7f2d9fb0a" + }, + { + "name": "Mob1HeadLayerColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 24, + -4 + ], + "to": [ + 4, + 32, + 4 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.5, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 32, + 0 + ], + "faces": { + "north": { + "uv": [ + 40, + 72, + 48, + 80 + ], + "texture": 0 + }, + "east": { + "uv": [ + 32, + 72, + 40, + 80 + ], + "texture": 0 + }, + "south": { + "uv": [ + 56, + 72, + 64, + 80 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 72, + 56, + 80 + ], + "texture": 0 + }, + "up": { + "uv": [ + 48, + 72, + 40, + 64 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ec834a8d-8c77-7246-e1ad-0c7442bc9672" + }, + { + "name": "Mob1BodyColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 12, + -2 + ], + "to": [ + 4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 16 + ], + "faces": { + "north": { + "uv": [ + 20, + 84, + 28, + 96 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 84, + 20, + 96 + ], + "texture": 0 + }, + "south": { + "uv": [ + 32, + 84, + 40, + 96 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 84, + 32, + 96 + ], + "texture": 0 + }, + "up": { + "uv": [ + 28, + 84, + 20, + 80 + ], + "texture": 0 + }, + "down": { + "uv": [ + 36, + 80, + 28, + 84 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "15583f58-bbaa-f7ea-61df-4c6d92acde9e" + }, + { + "name": "Mob1RightArmColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 7, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 44, + 84, + 47, + 96 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 84, + 44, + 96 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 84, + 54, + 96 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 84, + 51, + 96 + ], + "texture": 0 + }, + "up": { + "uv": [ + 47, + 84, + 44, + 80 + ], + "texture": 0 + }, + "down": { + "uv": [ + 50, + 80, + 47, + 84 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "0dfe5ab7-09aa-0974-e236-30d26f96c711" + }, + { + "name": "Mob1LeftArmColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 12, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 32, + 48 + ], + "faces": { + "north": { + "uv": [ + 36, + 116, + 39, + 128 + ], + "texture": 0 + }, + "east": { + "uv": [ + 32, + 116, + 36, + 128 + ], + "texture": 0 + }, + "south": { + "uv": [ + 43, + 116, + 46, + 128 + ], + "texture": 0 + }, + "west": { + "uv": [ + 39, + 116, + 43, + 128 + ], + "texture": 0 + }, + "up": { + "uv": [ + 39, + 116, + 36, + 112 + ], + "texture": 0 + }, + "down": { + "uv": [ + 42, + 112, + 39, + 116 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b67a42a6-c6a3-ac2c-332e-647cd46e8a2f" + }, + { + "name": "Mob1RightLegColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 4, + 84, + 8, + 96 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 84, + 4, + 96 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 84, + 16, + 96 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 84, + 12, + 96 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 84, + 4, + 80 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b56f235c-7dcd-50ef-e346-9a3957551afd" + }, + { + "name": "Mob1RightLegLayerColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 32 + ], + "faces": { + "north": { + "uv": [ + 4, + 100, + 8, + 112 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 100, + 4, + 112 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 100, + 16, + 112 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 100, + 12, + 112 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f93b00fe-85c9-f27d-3aa8-8ee0fa4bab26" + }, + { + "name": "Mob1LeftLegColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 48 + ], + "faces": { + "north": { + "uv": [ + 20, + 116, + 24, + 128 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "4c2253df-145b-ffd7-bd38-3e0d318300a0" + }, + { + "name": "Mob1LeftLegLayerColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 48 + ], + "faces": { + "north": { + "uv": [ + 4, + 116, + 8, + 128 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 116, + 4, + 128 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 116, + 16, + 128 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 116, + 12, + 128 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "175ccbb6-75fa-1387-28ef-b2cbc7c1ed92" + }, + { + "name": "Mob2Head", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 24, + -4 + ], + "to": [ + 4, + 32, + 4 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 8, + 16, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 8, + 8, + 16 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 16, + 8, + 24, + 16 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 24, + 0, + 16, + 8 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "038027bd-3074-7324-6c50-3d5d7a4f9dd8" + }, + { + "name": "Mob2HeadColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 24, + -4 + ], + "to": [ + 4, + 32, + 4 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 72, + 16, + 80 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 72, + 8, + 80 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 72, + 32, + 80 + ], + "texture": 0 + }, + "west": { + "uv": [ + 16, + 72, + 24, + 80 + ], + "texture": 0 + }, + "up": { + "uv": [ + 16, + 72, + 8, + 64 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 64, + 16, + 72 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "548d448a-405e-0860-2a23-fd565410b632" + }, + { + "name": "Mob2HeadLayerColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 24, + -4 + ], + "to": [ + 4, + 32, + 4 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.5, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 32, + 0 + ], + "faces": { + "north": { + "uv": [ + 40, + 72, + 48, + 80 + ], + "texture": 0 + }, + "east": { + "uv": [ + 32, + 72, + 40, + 80 + ], + "texture": 0 + }, + "south": { + "uv": [ + 56, + 72, + 64, + 80 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 72, + 56, + 80 + ], + "texture": 0 + }, + "up": { + "uv": [ + 48, + 72, + 40, + 64 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8babce5a-9d7d-7595-1c90-06348030691f" + }, + { + "name": "Mob2HeadRing", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 35, + -4 + ], + "to": [ + 4, + 35, + 4 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.001, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 128, + 17, + 145 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 128, + 17, + 145 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a72b4351-9cb5-813d-7ab1-9367aa8b7a0a" + }, + { + "name": "Mob2Body", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 12, + -2 + ], + "to": [ + 4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 16 + ], + "faces": { + "north": { + "uv": [ + 20, + 20, + 28, + 32 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 20, + 20, + 32 + ], + "texture": 0 + }, + "south": { + "uv": [ + 32, + 20, + 40, + 32 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 20, + 32, + 32 + ], + "texture": 0 + }, + "up": { + "uv": [ + 28, + 20, + 20, + 16 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "820a5d5f-187c-f3cd-5042-198c565274e3" + }, + { + "name": "Mob2BodyColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 12, + -2 + ], + "to": [ + 4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 16 + ], + "faces": { + "north": { + "uv": [ + 20, + 84, + 28, + 96 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 84, + 20, + 96 + ], + "texture": 0 + }, + "south": { + "uv": [ + 32, + 84, + 40, + 96 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 84, + 32, + 96 + ], + "texture": 0 + }, + "up": { + "uv": [ + 28, + 84, + 20, + 80 + ], + "texture": 0 + }, + "down": { + "uv": [ + 36, + 80, + 28, + 84 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "ea5a7934-2f0f-83e7-846b-a501028aba9b" + }, + { + "name": "Mob2BodyLayerColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 12, + -2 + ], + "to": [ + 4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 32 + ], + "faces": { + "north": { + "uv": [ + 20, + 100, + 28, + 112 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 100, + 20, + 112 + ], + "texture": 0 + }, + "south": { + "uv": [ + 32, + 100, + 40, + 112 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 100, + 32, + 112 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "39cdb4f9-bfdc-8a76-635d-a453ac0d4d99" + }, + { + "name": "Mob2RightArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 7, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 44, + 20, + 47, + 32 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 20, + 44, + 32 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 20, + 54, + 32 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 20, + 51, + 32 + ], + "texture": 0 + }, + "up": { + "uv": [ + 47, + 20, + 44, + 16 + ], + "texture": 0 + }, + "down": { + "uv": [ + 50, + 16, + 47, + 20 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c6e02324-1a28-2182-6c8b-f80c8ae19027" + }, + { + "name": "Mob2RightArmColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 7, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 44, + 84, + 47, + 96 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 84, + 44, + 96 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 84, + 54, + 96 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 84, + 51, + 96 + ], + "texture": 0 + }, + "up": { + "uv": [ + 47, + 84, + 44, + 80 + ], + "texture": 0 + }, + "down": { + "uv": [ + 50, + 80, + 47, + 84 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "92df945d-b87a-14e7-fae5-186f266adc0a" + }, + { + "name": "Mob2RightArmLayerColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 7, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 32 + ], + "faces": { + "north": { + "uv": [ + 44, + 100, + 47, + 112 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 100, + 44, + 112 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 100, + 54, + 112 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 100, + 51, + 112 + ], + "texture": 0 + }, + "up": { + "uv": [ + 47, + 100, + 44, + 96 + ], + "texture": 0 + }, + "down": { + "uv": [ + 50, + 96, + 47, + 100 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "0c3e6981-5e2d-5583-f3a3-e05d5a84da0c" + }, + { + "name": "Mob2LeftArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 12, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 32, + 48 + ], + "faces": { + "north": { + "uv": [ + 36, + 52, + 39, + 64 + ], + "texture": 0 + }, + "east": { + "uv": [ + 32, + 52, + 36, + 64 + ], + "texture": 0 + }, + "south": { + "uv": [ + 43, + 52, + 46, + 64 + ], + "texture": 0 + }, + "west": { + "uv": [ + 39, + 52, + 43, + 64 + ], + "texture": 0 + }, + "up": { + "uv": [ + 39, + 52, + 36, + 48 + ], + "texture": 0 + }, + "down": { + "uv": [ + 42, + 48, + 39, + 52 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c648283e-48e7-74b3-9baf-8af47543d2ce" + }, + { + "name": "Mob2LeftArmColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 12, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 32, + 48 + ], + "faces": { + "north": { + "uv": [ + 36, + 116, + 39, + 128 + ], + "texture": 0 + }, + "east": { + "uv": [ + 32, + 116, + 36, + 128 + ], + "texture": 0 + }, + "south": { + "uv": [ + 43, + 116, + 46, + 128 + ], + "texture": 0 + }, + "west": { + "uv": [ + 39, + 116, + 43, + 128 + ], + "texture": 0 + }, + "up": { + "uv": [ + 39, + 116, + 36, + 112 + ], + "texture": 0 + }, + "down": { + "uv": [ + 42, + 112, + 39, + 116 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "9f182456-bb87-1366-27fc-559de2df661f" + }, + { + "name": "Mob2LeftArmLayerColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 12, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 48, + 48 + ], + "faces": { + "north": { + "uv": [ + 52, + 116, + 55, + 128 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 116, + 52, + 128 + ], + "texture": 0 + }, + "south": { + "uv": [ + 59, + 116, + 62, + 128 + ], + "texture": 0 + }, + "west": { + "uv": [ + 55, + 116, + 59, + 128 + ], + "texture": 0 + }, + "up": { + "uv": [ + 55, + 116, + 52, + 112 + ], + "texture": 0 + }, + "down": { + "uv": [ + 58, + 112, + 55, + 116 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "897fa024-b82a-cccd-f08d-0ed0c7bf0ff3" + }, + { + "name": "Mob2RightLeg", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 4, + 20, + 8, + 32 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 20, + 4, + 32 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 20, + 16, + 32 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 20, + 12, + 32 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 12, + 16, + 8, + 20 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e9f8f57c-5ad2-0593-2312-91f3d10375d5" + }, + { + "name": "Mob2RightLegColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 4, + 84, + 8, + 96 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 84, + 4, + 96 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 84, + 16, + 96 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 84, + 12, + 96 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 84, + 4, + 80 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "09fd1908-525a-f926-7c49-0c203cb06f14" + }, + { + "name": "Mob2RightLegLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 32 + ], + "faces": { + "north": { + "uv": [ + 4, + 36, + 8, + 48 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 36, + 4, + 48 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 36, + 16, + 48 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 36, + 12, + 48 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 12, + 32, + 8, + 36 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2e59d3da-d42e-7d47-b7b5-6a90b0b2a4a6" + }, + { + "name": "Mob2RightLegLayerColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 32 + ], + "faces": { + "north": { + "uv": [ + 4, + 100, + 8, + 112 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 100, + 4, + 112 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 100, + 16, + 112 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 100, + 12, + 112 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "c69d3e39-2eb4-b29b-b269-0091ebe51603" + }, + { + "name": "Mob2LeftLeg", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 48 + ], + "faces": { + "north": { + "uv": [ + 20, + 52, + 24, + 64 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 52, + 20, + 64 + ], + "texture": 0 + }, + "south": { + "uv": [ + 28, + 52, + 32, + 64 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 52, + 28, + 64 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 28, + 48, + 24, + 52 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "49e797bf-bfdd-4d8e-ca42-76063593cc26" + }, + { + "name": "Mob2LeftLegColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 48 + ], + "faces": { + "north": { + "uv": [ + 20, + 116, + 24, + 128 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "96796a96-284e-94d7-9da7-46e73e6e2c3d" + }, + { + "name": "Mob2LeftLegLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 48 + ], + "faces": { + "north": { + "uv": [ + 4, + 52, + 8, + 64 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 52, + 4, + 64 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 52, + 16, + 64 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 52, + 12, + 64 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 52, + 4, + 48 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 48, + 8, + 52 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8adce536-2419-15dc-42e6-63b53a0d0589" + }, + { + "name": "Mob2LeftLegLayerColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 48 + ], + "faces": { + "north": { + "uv": [ + 4, + 116, + 8, + 128 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 116, + 4, + 128 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 116, + 16, + 128 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 116, + 12, + 128 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "796a105f-c314-c4c2-3890-b752c951f41f" + }, + { + "name": "Mob3Head", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 24, + -4 + ], + "to": [ + 4, + 32, + 4 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 8, + 16, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 8, + 8, + 16 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 16, + 8, + 24, + 16 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 24, + 0, + 16, + 8 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "7b03f812-a0c8-b271-f5e1-591230ac7281" + }, + { + "name": "Mob3HeadColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 24, + -4 + ], + "to": [ + 4, + 32, + 4 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 72, + 16, + 80 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 72, + 8, + 80 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 72, + 32, + 80 + ], + "texture": 0 + }, + "west": { + "uv": [ + 16, + 72, + 24, + 80 + ], + "texture": 0 + }, + "up": { + "uv": [ + 16, + 72, + 8, + 64 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 64, + 16, + 72 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "ce0bec13-a015-109c-a778-c5bab65fd57e" + }, + { + "name": "Mob3HeadLayerColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 24, + -4 + ], + "to": [ + 4, + 32, + 4 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.5, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 32, + 0 + ], + "faces": { + "north": { + "uv": [ + 40, + 72, + 48, + 80 + ], + "texture": 0 + }, + "east": { + "uv": [ + 32, + 72, + 40, + 80 + ], + "texture": 0 + }, + "south": { + "uv": [ + 56, + 72, + 64, + 80 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 72, + 56, + 80 + ], + "texture": 0 + }, + "up": { + "uv": [ + 48, + 72, + 40, + 64 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "17e130d3-ca22-7982-bfc1-3c42d874fc68" + }, + { + "name": "Mob3HeadRing", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 35, + -4 + ], + "to": [ + 4, + 35, + 4 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.001, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 128, + 17, + 145 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 128, + 17, + 145 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d24aab18-54a8-2fe0-09c4-ceee5fe2f69b" + }, + { + "name": "Mob3Body", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 12, + -2 + ], + "to": [ + 4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 16 + ], + "faces": { + "north": { + "uv": [ + 20, + 20, + 28, + 32 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 20, + 20, + 32 + ], + "texture": 0 + }, + "south": { + "uv": [ + 32, + 20, + 40, + 32 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 20, + 32, + 32 + ], + "texture": 0 + }, + "up": { + "uv": [ + 28, + 20, + 20, + 16 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e7225529-20c9-99eb-4e3f-ac46fea9ec08" + }, + { + "name": "Mob3BodyColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 12, + -2 + ], + "to": [ + 4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 16 + ], + "faces": { + "north": { + "uv": [ + 20, + 84, + 28, + 96 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 84, + 20, + 96 + ], + "texture": 0 + }, + "south": { + "uv": [ + 32, + 84, + 40, + 96 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 84, + 32, + 96 + ], + "texture": 0 + }, + "up": { + "uv": [ + 28, + 84, + 20, + 80 + ], + "texture": 0 + }, + "down": { + "uv": [ + 36, + 80, + 28, + 84 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "272dccf8-7bec-1178-3ffd-f90a108da83a" + }, + { + "name": "Mob3BodyLayerColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 12, + -2 + ], + "to": [ + 4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 32 + ], + "faces": { + "north": { + "uv": [ + 20, + 100, + 28, + 112 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 100, + 20, + 112 + ], + "texture": 0 + }, + "south": { + "uv": [ + 32, + 100, + 40, + 112 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 100, + 32, + 112 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8d49af08-9a64-818a-70aa-23bcdb55f4ef" + }, + { + "name": "Mob3RightArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 7, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 44, + 20, + 47, + 32 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 20, + 44, + 32 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 20, + 54, + 32 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 20, + 51, + 32 + ], + "texture": 0 + }, + "up": { + "uv": [ + 47, + 20, + 44, + 16 + ], + "texture": 0 + }, + "down": { + "uv": [ + 50, + 16, + 47, + 20 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "6e2fbe01-669a-f779-a34c-3f2a0171a323" + }, + { + "name": "Mob3RightArmColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 7, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 44, + 84, + 47, + 96 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 84, + 44, + 96 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 84, + 54, + 96 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 84, + 51, + 96 + ], + "texture": 0 + }, + "up": { + "uv": [ + 47, + 84, + 44, + 80 + ], + "texture": 0 + }, + "down": { + "uv": [ + 50, + 80, + 47, + 84 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b534b7d1-d676-b1b9-6013-2f05efdce61d" + }, + { + "name": "Mob3RightArmLayerColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 7, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 32 + ], + "faces": { + "north": { + "uv": [ + 44, + 100, + 47, + 112 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 100, + 44, + 112 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 100, + 54, + 112 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 100, + 51, + 112 + ], + "texture": 0 + }, + "up": { + "uv": [ + 47, + 100, + 44, + 96 + ], + "texture": 0 + }, + "down": { + "uv": [ + 50, + 96, + 47, + 100 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "7d7b5ac9-4c33-6f54-1f6d-cfe95f8e5b99" + }, + { + "name": "Mob3LeftArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 12, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 32, + 48 + ], + "faces": { + "north": { + "uv": [ + 36, + 52, + 39, + 64 + ], + "texture": 0 + }, + "east": { + "uv": [ + 32, + 52, + 36, + 64 + ], + "texture": 0 + }, + "south": { + "uv": [ + 43, + 52, + 46, + 64 + ], + "texture": 0 + }, + "west": { + "uv": [ + 39, + 52, + 43, + 64 + ], + "texture": 0 + }, + "up": { + "uv": [ + 39, + 52, + 36, + 48 + ], + "texture": 0 + }, + "down": { + "uv": [ + 42, + 48, + 39, + 52 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "7b57b1b4-ecc6-5c30-07b9-4c2060b5e070" + }, + { + "name": "Mob3LeftArmColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 12, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 32, + 48 + ], + "faces": { + "north": { + "uv": [ + 36, + 116, + 39, + 128 + ], + "texture": 0 + }, + "east": { + "uv": [ + 32, + 116, + 36, + 128 + ], + "texture": 0 + }, + "south": { + "uv": [ + 43, + 116, + 46, + 128 + ], + "texture": 0 + }, + "west": { + "uv": [ + 39, + 116, + 43, + 128 + ], + "texture": 0 + }, + "up": { + "uv": [ + 39, + 116, + 36, + 112 + ], + "texture": 0 + }, + "down": { + "uv": [ + 42, + 112, + 39, + 116 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f0f68ece-753e-9392-6fc2-cc35d22fdbdc" + }, + { + "name": "Mob3LeftArmLayerColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 12, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 48, + 48 + ], + "faces": { + "north": { + "uv": [ + 52, + 116, + 55, + 128 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 116, + 52, + 128 + ], + "texture": 0 + }, + "south": { + "uv": [ + 59, + 116, + 62, + 128 + ], + "texture": 0 + }, + "west": { + "uv": [ + 55, + 116, + 59, + 128 + ], + "texture": 0 + }, + "up": { + "uv": [ + 55, + 116, + 52, + 112 + ], + "texture": 0 + }, + "down": { + "uv": [ + 58, + 112, + 55, + 116 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8983043f-e2f6-de7b-e5cd-4ac9653efe07" + }, + { + "name": "Mob3RightLeg", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 4, + 20, + 8, + 32 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 20, + 4, + 32 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 20, + 16, + 32 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 20, + 12, + 32 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 12, + 16, + 8, + 20 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "6082963a-5e4c-b7f7-4e66-aaad88cb2213" + }, + { + "name": "Mob3RightLegColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 4, + 84, + 8, + 96 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 84, + 4, + 96 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 84, + 16, + 96 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 84, + 12, + 96 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 84, + 4, + 80 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ad923605-dc3b-2cd1-8068-85936f4cc7b8" + }, + { + "name": "Mob3RightLegLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 32 + ], + "faces": { + "north": { + "uv": [ + 4, + 36, + 8, + 48 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 36, + 4, + 48 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 36, + 16, + 48 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 36, + 12, + 48 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 12, + 32, + 8, + 36 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "059b8490-a3c4-31f8-718b-0b14b7883cf5" + }, + { + "name": "Mob3RightLegLayerColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 32 + ], + "faces": { + "north": { + "uv": [ + 4, + 100, + 8, + 112 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 100, + 4, + 112 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 100, + 16, + 112 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 100, + 12, + 112 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "afdb3d94-ccba-288d-bda1-3e9bf9160191" + }, + { + "name": "Mob3LeftLeg", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 48 + ], + "faces": { + "north": { + "uv": [ + 20, + 52, + 24, + 64 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 52, + 20, + 64 + ], + "texture": 0 + }, + "south": { + "uv": [ + 28, + 52, + 32, + 64 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 52, + 28, + 64 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 28, + 48, + 24, + 52 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "61d452dd-c8fb-9029-362b-cf457b790753" + }, + { + "name": "Mob3LeftLegColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 48 + ], + "faces": { + "north": { + "uv": [ + 20, + 116, + 24, + 128 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5057719a-c4b0-54a6-2019-7ea6a0f14c1f" + }, + { + "name": "Mob3LeftLegLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 48 + ], + "faces": { + "north": { + "uv": [ + 4, + 52, + 8, + 64 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 52, + 4, + 64 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 52, + 16, + 64 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 52, + 12, + 64 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 52, + 4, + 48 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 48, + 8, + 52 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "466e74e6-48ff-4bf3-3f34-2722a364a63b" + }, + { + "name": "Mob3LeftLegLayerColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 48 + ], + "faces": { + "north": { + "uv": [ + 4, + 116, + 8, + 128 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 116, + 4, + 128 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 116, + 16, + 128 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 116, + 12, + 128 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "1d457337-ca51-e294-0082-4c9c48e56659" + }, + { + "name": "Mob4Head", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 24, + -4 + ], + "to": [ + 4, + 32, + 4 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 8, + 16, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 8, + 8, + 16 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 16, + 8, + 24, + 16 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 24, + 0, + 16, + 8 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "dc54f7d5-2cda-956d-cb81-515f7d0df9d5" + }, + { + "name": "Mob4HeadColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 24, + -4 + ], + "to": [ + 4, + 32, + 4 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 72, + 16, + 80 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 72, + 8, + 80 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 72, + 32, + 80 + ], + "texture": 0 + }, + "west": { + "uv": [ + 16, + 72, + 24, + 80 + ], + "texture": 0 + }, + "up": { + "uv": [ + 16, + 72, + 8, + 64 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 64, + 16, + 72 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "1ff0940b-633e-5305-3025-67d30c05c786" + }, + { + "name": "Mob4HeadLayerColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 24, + -4 + ], + "to": [ + 4, + 32, + 4 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.5, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 32, + 0 + ], + "faces": { + "north": { + "uv": [ + 40, + 72, + 48, + 80 + ], + "texture": 0 + }, + "east": { + "uv": [ + 32, + 72, + 40, + 80 + ], + "texture": 0 + }, + "south": { + "uv": [ + 56, + 72, + 64, + 80 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 72, + 56, + 80 + ], + "texture": 0 + }, + "up": { + "uv": [ + 48, + 72, + 40, + 64 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "11302967-f567-9320-7498-01c4ac2e60de" + }, + { + "name": "Mob4HeadRing", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 35, + -4 + ], + "to": [ + 4, + 35, + 4 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.001, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 128, + 17, + 145 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 128, + 17, + 145 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8738edf5-4e31-3599-5073-e01288f1ad14" + }, + { + "name": "Mob4Body", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 12, + -2 + ], + "to": [ + 4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 16 + ], + "faces": { + "north": { + "uv": [ + 20, + 20, + 28, + 32 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 20, + 20, + 32 + ], + "texture": 0 + }, + "south": { + "uv": [ + 32, + 20, + 40, + 32 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 20, + 32, + 32 + ], + "texture": 0 + }, + "up": { + "uv": [ + 28, + 20, + 20, + 16 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "31783bce-8f83-7b89-a1d9-de9130182dbf" + }, + { + "name": "Mob4BodyColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 12, + -2 + ], + "to": [ + 4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 16 + ], + "faces": { + "north": { + "uv": [ + 20, + 84, + 28, + 96 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 84, + 20, + 96 + ], + "texture": 0 + }, + "south": { + "uv": [ + 32, + 84, + 40, + 96 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 84, + 32, + 96 + ], + "texture": 0 + }, + "up": { + "uv": [ + 28, + 84, + 20, + 80 + ], + "texture": 0 + }, + "down": { + "uv": [ + 36, + 80, + 28, + 84 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5b0425cc-24a8-4934-7bd5-7daade9a7743" + }, + { + "name": "Mob4BodyLayerColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 12, + -2 + ], + "to": [ + 4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 32 + ], + "faces": { + "north": { + "uv": [ + 20, + 100, + 28, + 112 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 100, + 20, + 112 + ], + "texture": 0 + }, + "south": { + "uv": [ + 32, + 100, + 40, + 112 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 100, + 32, + 112 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "c11afbed-2e2b-f126-bd68-4af98e4eada6" + }, + { + "name": "Mob4RightArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 7, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 44, + 20, + 47, + 32 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 20, + 44, + 32 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 20, + 54, + 32 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 20, + 51, + 32 + ], + "texture": 0 + }, + "up": { + "uv": [ + 47, + 20, + 44, + 16 + ], + "texture": 0 + }, + "down": { + "uv": [ + 50, + 16, + 47, + 20 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "1e70940c-a690-cd6e-7783-7f17004499f7" + }, + { + "name": "Mob4RightArmColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 7, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 44, + 84, + 47, + 96 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 84, + 44, + 96 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 84, + 54, + 96 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 84, + 51, + 96 + ], + "texture": 0 + }, + "up": { + "uv": [ + 47, + 84, + 44, + 80 + ], + "texture": 0 + }, + "down": { + "uv": [ + 50, + 80, + 47, + 84 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8b33bbd9-c4e5-9e30-9b06-be3393f070a7" + }, + { + "name": "Mob4RightArmLayerColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 7, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 32 + ], + "faces": { + "north": { + "uv": [ + 44, + 100, + 47, + 112 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 100, + 44, + 112 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 100, + 54, + 112 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 100, + 51, + 112 + ], + "texture": 0 + }, + "up": { + "uv": [ + 47, + 100, + 44, + 96 + ], + "texture": 0 + }, + "down": { + "uv": [ + 50, + 96, + 47, + 100 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a1f61405-41cf-7e2f-7ee1-0a51d704f14a" + }, + { + "name": "Mob4LeftArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 12, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 32, + 48 + ], + "faces": { + "north": { + "uv": [ + 36, + 52, + 39, + 64 + ], + "texture": 0 + }, + "east": { + "uv": [ + 32, + 52, + 36, + 64 + ], + "texture": 0 + }, + "south": { + "uv": [ + 43, + 52, + 46, + 64 + ], + "texture": 0 + }, + "west": { + "uv": [ + 39, + 52, + 43, + 64 + ], + "texture": 0 + }, + "up": { + "uv": [ + 39, + 52, + 36, + 48 + ], + "texture": 0 + }, + "down": { + "uv": [ + 42, + 48, + 39, + 52 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "0262363e-047f-4aab-ee87-f2ad5c6cd3e9" + }, + { + "name": "Mob4LeftArmColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 12, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 32, + 48 + ], + "faces": { + "north": { + "uv": [ + 36, + 116, + 39, + 128 + ], + "texture": 0 + }, + "east": { + "uv": [ + 32, + 116, + 36, + 128 + ], + "texture": 0 + }, + "south": { + "uv": [ + 43, + 116, + 46, + 128 + ], + "texture": 0 + }, + "west": { + "uv": [ + 39, + 116, + 43, + 128 + ], + "texture": 0 + }, + "up": { + "uv": [ + 39, + 116, + 36, + 112 + ], + "texture": 0 + }, + "down": { + "uv": [ + 42, + 112, + 39, + 116 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "88ec3f9d-d5f5-7e50-499d-8229bf2e533f" + }, + { + "name": "Mob4LeftArmLayerColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 12, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 48, + 48 + ], + "faces": { + "north": { + "uv": [ + 52, + 116, + 55, + 128 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 116, + 52, + 128 + ], + "texture": 0 + }, + "south": { + "uv": [ + 59, + 116, + 62, + 128 + ], + "texture": 0 + }, + "west": { + "uv": [ + 55, + 116, + 59, + 128 + ], + "texture": 0 + }, + "up": { + "uv": [ + 55, + 116, + 52, + 112 + ], + "texture": 0 + }, + "down": { + "uv": [ + 58, + 112, + 55, + 116 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e31c48ba-79f7-4f2c-679d-be3e94af3608" + }, + { + "name": "Mob4RightLeg", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 4, + 20, + 8, + 32 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 20, + 4, + 32 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 20, + 16, + 32 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 20, + 12, + 32 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 12, + 16, + 8, + 20 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "dcaf5b8f-9a8a-702f-6655-9d4949ad8749" + }, + { + "name": "Mob4RightLegColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 4, + 84, + 8, + 96 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 84, + 4, + 96 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 84, + 16, + 96 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 84, + 12, + 96 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 84, + 4, + 80 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "29036a25-5189-3218-c24c-47cfcd1fc6c8" + }, + { + "name": "Mob4RightLegLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 32 + ], + "faces": { + "north": { + "uv": [ + 4, + 36, + 8, + 48 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 36, + 4, + 48 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 36, + 16, + 48 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 36, + 12, + 48 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 12, + 32, + 8, + 36 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c363b583-7fdb-c608-7f4c-b6a435c378f9" + }, + { + "name": "Mob4RightLegLayerColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 32 + ], + "faces": { + "north": { + "uv": [ + 4, + 100, + 8, + 112 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 100, + 4, + 112 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 100, + 16, + 112 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 100, + 12, + 112 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d42e5b4a-bc0a-019f-26db-4eeea6b7cf99" + }, + { + "name": "Mob4LeftLeg", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 48 + ], + "faces": { + "north": { + "uv": [ + 20, + 52, + 24, + 64 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 52, + 20, + 64 + ], + "texture": 0 + }, + "south": { + "uv": [ + 28, + 52, + 32, + 64 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 52, + 28, + 64 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 28, + 48, + 24, + 52 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e4b6528e-e915-b2ab-5cc6-aa4c9b9e0cfb" + }, + { + "name": "Mob4LeftLegColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 48 + ], + "faces": { + "north": { + "uv": [ + 20, + 116, + 24, + 128 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "7ef39e93-3708-1959-ff3f-034d07041386" + }, + { + "name": "Mob4LeftLegLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 48 + ], + "faces": { + "north": { + "uv": [ + 4, + 52, + 8, + 64 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 52, + 4, + 64 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 52, + 16, + 64 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 52, + 12, + 64 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 52, + 4, + 48 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 48, + 8, + 52 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "df92be80-779d-cff6-8e78-7f0a40ab7b58" + }, + { + "name": "Mob4LeftLegLayerColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 48 + ], + "faces": { + "north": { + "uv": [ + 4, + 116, + 8, + 128 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 116, + 4, + 128 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 116, + 16, + 128 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 116, + 12, + 128 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "94e6e3ef-e63c-2a0c-d65f-08fcc44c9981" + }, + { + "name": "Mob5Head", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 24, + -4 + ], + "to": [ + 4, + 32, + 4 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 8, + 16, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 8, + 8, + 16 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 16, + 8, + 24, + 16 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 24, + 0, + 16, + 8 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "6a9a4754-fcb9-1606-2526-f6db0c08af88" + }, + { + "name": "Mob5HeadColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 24, + -4 + ], + "to": [ + 4, + 32, + 4 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 72, + 16, + 80 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 72, + 8, + 80 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 72, + 32, + 80 + ], + "texture": 0 + }, + "west": { + "uv": [ + 16, + 72, + 24, + 80 + ], + "texture": 0 + }, + "up": { + "uv": [ + 16, + 72, + 8, + 64 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 64, + 16, + 72 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "29eb4e3f-a854-d3fa-84c4-50f5f0d28798" + }, + { + "name": "Mob5HeadLayerColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 24, + -4 + ], + "to": [ + 4, + 32, + 4 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.5, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 32, + 0 + ], + "faces": { + "north": { + "uv": [ + 40, + 72, + 48, + 80 + ], + "texture": 0 + }, + "east": { + "uv": [ + 32, + 72, + 40, + 80 + ], + "texture": 0 + }, + "south": { + "uv": [ + 56, + 72, + 64, + 80 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 72, + 56, + 80 + ], + "texture": 0 + }, + "up": { + "uv": [ + 48, + 72, + 40, + 64 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "03ccf064-b0d1-c484-6231-06970a1a7292" + }, + { + "name": "Mob5HeadRing", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 35, + -4 + ], + "to": [ + 4, + 35, + 4 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.001, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 128, + 17, + 145 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 128, + 17, + 145 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "46785bbb-c56f-956a-a1d6-0bd67ed69258" + }, + { + "name": "Mob5Body", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 12, + -2 + ], + "to": [ + 4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 16 + ], + "faces": { + "north": { + "uv": [ + 20, + 20, + 28, + 32 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 20, + 20, + 32 + ], + "texture": 0 + }, + "south": { + "uv": [ + 32, + 20, + 40, + 32 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 20, + 32, + 32 + ], + "texture": 0 + }, + "up": { + "uv": [ + 28, + 20, + 20, + 16 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "99a3f226-3970-0931-2fd9-cd885e6c6de6" + }, + { + "name": "Mob5BodyColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 12, + -2 + ], + "to": [ + 4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 16 + ], + "faces": { + "north": { + "uv": [ + 20, + 84, + 28, + 96 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 84, + 20, + 96 + ], + "texture": 0 + }, + "south": { + "uv": [ + 32, + 84, + 40, + 96 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 84, + 32, + 96 + ], + "texture": 0 + }, + "up": { + "uv": [ + 28, + 84, + 20, + 80 + ], + "texture": 0 + }, + "down": { + "uv": [ + 36, + 80, + 28, + 84 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "9428db88-67cf-9fc0-5b47-82aabad408f3" + }, + { + "name": "Mob5BodyLayerColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 12, + -2 + ], + "to": [ + 4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 32 + ], + "faces": { + "north": { + "uv": [ + 20, + 100, + 28, + 112 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 100, + 20, + 112 + ], + "texture": 0 + }, + "south": { + "uv": [ + 32, + 100, + 40, + 112 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 100, + 32, + 112 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "570d861b-1de3-c4c9-4ddd-82634ab6d30d" + }, + { + "name": "Mob5RightArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 7, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 44, + 20, + 47, + 32 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 20, + 44, + 32 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 20, + 54, + 32 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 20, + 51, + 32 + ], + "texture": 0 + }, + "up": { + "uv": [ + 47, + 20, + 44, + 16 + ], + "texture": 0 + }, + "down": { + "uv": [ + 50, + 16, + 47, + 20 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "6ac17106-98af-d387-1855-eb431a962413" + }, + { + "name": "Mob5RightArmColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 7, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 44, + 84, + 47, + 96 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 84, + 44, + 96 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 84, + 54, + 96 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 84, + 51, + 96 + ], + "texture": 0 + }, + "up": { + "uv": [ + 47, + 84, + 44, + 80 + ], + "texture": 0 + }, + "down": { + "uv": [ + 50, + 80, + 47, + 84 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5f0a7efa-7567-b3e4-e57b-2123f7d8dc59" + }, + { + "name": "Mob5RightArmLayerColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 7, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 32 + ], + "faces": { + "north": { + "uv": [ + 44, + 100, + 47, + 112 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 100, + 44, + 112 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 100, + 54, + 112 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 100, + 51, + 112 + ], + "texture": 0 + }, + "up": { + "uv": [ + 47, + 100, + 44, + 96 + ], + "texture": 0 + }, + "down": { + "uv": [ + 50, + 96, + 47, + 100 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "1fa3b00d-6124-47f7-29ca-0707edfbd51a" + }, + { + "name": "Mob5LeftArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 12, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 32, + 48 + ], + "faces": { + "north": { + "uv": [ + 36, + 52, + 39, + 64 + ], + "texture": 0 + }, + "east": { + "uv": [ + 32, + 52, + 36, + 64 + ], + "texture": 0 + }, + "south": { + "uv": [ + 43, + 52, + 46, + 64 + ], + "texture": 0 + }, + "west": { + "uv": [ + 39, + 52, + 43, + 64 + ], + "texture": 0 + }, + "up": { + "uv": [ + 39, + 52, + 36, + 48 + ], + "texture": 0 + }, + "down": { + "uv": [ + 42, + 48, + 39, + 52 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "30601da0-988a-b1aa-8d5a-d8369449b971" + }, + { + "name": "Mob5LeftArmColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 12, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 32, + 48 + ], + "faces": { + "north": { + "uv": [ + 36, + 116, + 39, + 128 + ], + "texture": 0 + }, + "east": { + "uv": [ + 32, + 116, + 36, + 128 + ], + "texture": 0 + }, + "south": { + "uv": [ + 43, + 116, + 46, + 128 + ], + "texture": 0 + }, + "west": { + "uv": [ + 39, + 116, + 43, + 128 + ], + "texture": 0 + }, + "up": { + "uv": [ + 39, + 116, + 36, + 112 + ], + "texture": 0 + }, + "down": { + "uv": [ + 42, + 112, + 39, + 116 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "356d99f6-4b3b-d12c-3a05-fca94229dadc" + }, + { + "name": "Mob5LeftArmLayerColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 12, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 48, + 48 + ], + "faces": { + "north": { + "uv": [ + 52, + 116, + 55, + 128 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 116, + 52, + 128 + ], + "texture": 0 + }, + "south": { + "uv": [ + 59, + 116, + 62, + 128 + ], + "texture": 0 + }, + "west": { + "uv": [ + 55, + 116, + 59, + 128 + ], + "texture": 0 + }, + "up": { + "uv": [ + 55, + 116, + 52, + 112 + ], + "texture": 0 + }, + "down": { + "uv": [ + 58, + 112, + 55, + 116 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "052fde58-4c60-5765-98f1-c19b2e67993b" + }, + { + "name": "Mob5RightLeg", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 4, + 20, + 8, + 32 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 20, + 4, + 32 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 20, + 16, + 32 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 20, + 12, + 32 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 12, + 16, + 8, + 20 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "caa97587-25d5-f98b-0e70-8b68b40224a0" + }, + { + "name": "Mob5RightLegColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 4, + 84, + 8, + 96 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 84, + 4, + 96 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 84, + 16, + 96 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 84, + 12, + 96 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 84, + 4, + 80 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "06c23414-8495-d267-b900-5849abbc0eb2" + }, + { + "name": "Mob5RightLegLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 32 + ], + "faces": { + "north": { + "uv": [ + 4, + 36, + 8, + 48 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 36, + 4, + 48 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 36, + 16, + 48 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 36, + 12, + 48 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 12, + 32, + 8, + 36 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "6206819f-671b-4e4e-ab1b-f2361ec428a8" + }, + { + "name": "Mob5RightLegLayerColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 32 + ], + "faces": { + "north": { + "uv": [ + 4, + 100, + 8, + 112 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 100, + 4, + 112 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 100, + 16, + 112 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 100, + 12, + 112 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "84611316-2a40-9a4f-f65e-dea8caabc970" + }, + { + "name": "Mob5LeftLeg", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 48 + ], + "faces": { + "north": { + "uv": [ + 20, + 52, + 24, + 64 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 52, + 20, + 64 + ], + "texture": 0 + }, + "south": { + "uv": [ + 28, + 52, + 32, + 64 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 52, + 28, + 64 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 28, + 48, + 24, + 52 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "66eaaa4b-60a7-6a52-8bf8-c03ce6cb2fa5" + }, + { + "name": "Mob5LeftLegColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 48 + ], + "faces": { + "north": { + "uv": [ + 20, + 116, + 24, + 128 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "bce60bac-d51a-f3a2-8aa1-e61aa6ae824e" + }, + { + "name": "Mob5LeftLegLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 48 + ], + "faces": { + "north": { + "uv": [ + 4, + 52, + 8, + 64 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 52, + 4, + 64 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 52, + 16, + 64 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 52, + 12, + 64 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 52, + 4, + 48 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 48, + 8, + 52 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "89a45cb9-842f-e051-4654-053818b5b3cd" + }, + { + "name": "Mob5LeftLegLayerColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 48 + ], + "faces": { + "north": { + "uv": [ + 4, + 116, + 8, + 128 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 116, + 4, + 128 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 116, + 16, + 128 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 116, + 12, + 128 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "126532ef-cc48-10a6-33e1-f84342f24d49" + }, + { + "name": "Mob6Head", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 24, + -4 + ], + "to": [ + 4, + 32, + 4 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 8, + 16, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 8, + 8, + 16 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 16, + 8, + 24, + 16 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 24, + 0, + 16, + 8 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "7c9418a2-4efb-80d7-fe4d-051da4783793" + }, + { + "name": "Mob6HeadColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 24, + -4 + ], + "to": [ + 4, + 32, + 4 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 72, + 16, + 80 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 72, + 8, + 80 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 72, + 32, + 80 + ], + "texture": 0 + }, + "west": { + "uv": [ + 16, + 72, + 24, + 80 + ], + "texture": 0 + }, + "up": { + "uv": [ + 16, + 72, + 8, + 64 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 64, + 16, + 72 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2b47177d-4f30-b090-0ee7-b909965c05ce" + }, + { + "name": "Mob6HeadLayerColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 24, + -4 + ], + "to": [ + 4, + 32, + 4 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.5, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 32, + 0 + ], + "faces": { + "north": { + "uv": [ + 40, + 72, + 48, + 80 + ], + "texture": 0 + }, + "east": { + "uv": [ + 32, + 72, + 40, + 80 + ], + "texture": 0 + }, + "south": { + "uv": [ + 56, + 72, + 64, + 80 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 72, + 56, + 80 + ], + "texture": 0 + }, + "up": { + "uv": [ + 48, + 72, + 40, + 64 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "321dab03-6f52-c86d-806f-0bebee0354b7" + }, + { + "name": "Mob6HeadRing", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 35, + -4 + ], + "to": [ + 4, + 35, + 4 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.001, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 128, + 17, + 145 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 128, + 17, + 145 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e276e025-e14e-873f-e411-f76ba825e747" + }, + { + "name": "Mob6Body", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 12, + -2 + ], + "to": [ + 4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 16 + ], + "faces": { + "north": { + "uv": [ + 20, + 20, + 28, + 32 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 20, + 20, + 32 + ], + "texture": 0 + }, + "south": { + "uv": [ + 32, + 20, + 40, + 32 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 20, + 32, + 32 + ], + "texture": 0 + }, + "up": { + "uv": [ + 28, + 20, + 20, + 16 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "12f26f9b-e2fa-aea0-56fa-cfd4a46143c7" + }, + { + "name": "Mob6BodyColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 12, + -2 + ], + "to": [ + 4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 16 + ], + "faces": { + "north": { + "uv": [ + 20, + 84, + 28, + 96 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 84, + 20, + 96 + ], + "texture": 0 + }, + "south": { + "uv": [ + 32, + 84, + 40, + 96 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 84, + 32, + 96 + ], + "texture": 0 + }, + "up": { + "uv": [ + 28, + 84, + 20, + 80 + ], + "texture": 0 + }, + "down": { + "uv": [ + 36, + 80, + 28, + 84 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "895403e1-b2ef-456c-7d74-11bdec52b27c" + }, + { + "name": "Mob6BodyLayerColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 12, + -2 + ], + "to": [ + 4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 32 + ], + "faces": { + "north": { + "uv": [ + 20, + 100, + 28, + 112 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 100, + 20, + 112 + ], + "texture": 0 + }, + "south": { + "uv": [ + 32, + 100, + 40, + 112 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 100, + 32, + 112 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "978bbe08-be0a-c582-a2b5-4da852f2c57f" + }, + { + "name": "Mob6RightArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 7, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 44, + 20, + 47, + 32 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 20, + 44, + 32 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 20, + 54, + 32 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 20, + 51, + 32 + ], + "texture": 0 + }, + "up": { + "uv": [ + 47, + 20, + 44, + 16 + ], + "texture": 0 + }, + "down": { + "uv": [ + 50, + 16, + 47, + 20 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "9e412850-be1d-629c-094c-64eb45a2443f" + }, + { + "name": "Mob6RightArmColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 7, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 44, + 84, + 47, + 96 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 84, + 44, + 96 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 84, + 54, + 96 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 84, + 51, + 96 + ], + "texture": 0 + }, + "up": { + "uv": [ + 47, + 84, + 44, + 80 + ], + "texture": 0 + }, + "down": { + "uv": [ + 50, + 80, + 47, + 84 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "7651cb43-2f79-ce34-8029-8881171abccb" + }, + { + "name": "Mob6RightArmLayerColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 7, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 32 + ], + "faces": { + "north": { + "uv": [ + 44, + 100, + 47, + 112 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 100, + 44, + 112 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 100, + 54, + 112 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 100, + 51, + 112 + ], + "texture": 0 + }, + "up": { + "uv": [ + 47, + 100, + 44, + 96 + ], + "texture": 0 + }, + "down": { + "uv": [ + 50, + 96, + 47, + 100 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2183c3ce-f53a-3c80-77d8-e6bb7f716544" + }, + { + "name": "Mob6LeftArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 12, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 32, + 48 + ], + "faces": { + "north": { + "uv": [ + 36, + 52, + 39, + 64 + ], + "texture": 0 + }, + "east": { + "uv": [ + 32, + 52, + 36, + 64 + ], + "texture": 0 + }, + "south": { + "uv": [ + 43, + 52, + 46, + 64 + ], + "texture": 0 + }, + "west": { + "uv": [ + 39, + 52, + 43, + 64 + ], + "texture": 0 + }, + "up": { + "uv": [ + 39, + 52, + 36, + 48 + ], + "texture": 0 + }, + "down": { + "uv": [ + 42, + 48, + 39, + 52 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f964dddd-f310-a371-3a58-f7dbb3ddf76e" + }, + { + "name": "Mob6LeftArmColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 12, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 32, + 48 + ], + "faces": { + "north": { + "uv": [ + 36, + 116, + 39, + 128 + ], + "texture": 0 + }, + "east": { + "uv": [ + 32, + 116, + 36, + 128 + ], + "texture": 0 + }, + "south": { + "uv": [ + 43, + 116, + 46, + 128 + ], + "texture": 0 + }, + "west": { + "uv": [ + 39, + 116, + 43, + 128 + ], + "texture": 0 + }, + "up": { + "uv": [ + 39, + 116, + 36, + 112 + ], + "texture": 0 + }, + "down": { + "uv": [ + 42, + 112, + 39, + 116 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "da2f0399-1584-1d6f-0368-2b59634cf71d" + }, + { + "name": "Mob6LeftArmLayerColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 12, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 48, + 48 + ], + "faces": { + "north": { + "uv": [ + 52, + 116, + 55, + 128 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 116, + 52, + 128 + ], + "texture": 0 + }, + "south": { + "uv": [ + 59, + 116, + 62, + 128 + ], + "texture": 0 + }, + "west": { + "uv": [ + 55, + 116, + 59, + 128 + ], + "texture": 0 + }, + "up": { + "uv": [ + 55, + 116, + 52, + 112 + ], + "texture": 0 + }, + "down": { + "uv": [ + 58, + 112, + 55, + 116 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8add2b1a-8038-8f77-a019-1e0c9ef390c2" + }, + { + "name": "Mob6RightLeg", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 4, + 20, + 8, + 32 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 20, + 4, + 32 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 20, + 16, + 32 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 20, + 12, + 32 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 12, + 16, + 8, + 20 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "71205014-fefb-02ef-6b4c-e8c48e97cbe7" + }, + { + "name": "Mob6RightLegColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 4, + 84, + 8, + 96 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 84, + 4, + 96 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 84, + 16, + 96 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 84, + 12, + 96 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 84, + 4, + 80 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9d8e0d6a-36cf-1991-1da0-a28d6e28c83b" + }, + { + "name": "Mob6RightLegLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 32 + ], + "faces": { + "north": { + "uv": [ + 4, + 36, + 8, + 48 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 36, + 4, + 48 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 36, + 16, + 48 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 36, + 12, + 48 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 12, + 32, + 8, + 36 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "674bf464-199b-da89-cfb3-e2e114997c48" + }, + { + "name": "Mob6RightLegLayerColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 32 + ], + "faces": { + "north": { + "uv": [ + 4, + 100, + 8, + 112 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 100, + 4, + 112 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 100, + 16, + 112 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 100, + 12, + 112 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "dae8a758-84dc-40aa-8a45-6c22ebf8ff21" + }, + { + "name": "Mob6LeftLeg", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 48 + ], + "faces": { + "north": { + "uv": [ + 20, + 52, + 24, + 64 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 52, + 20, + 64 + ], + "texture": 0 + }, + "south": { + "uv": [ + 28, + 52, + 32, + 64 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 52, + 28, + 64 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 28, + 48, + 24, + 52 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8db54bb0-e408-90aa-9d0f-a92734bcb5a1" + }, + { + "name": "Mob6LeftLegColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 48 + ], + "faces": { + "north": { + "uv": [ + 20, + 116, + 24, + 128 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "52568d78-407b-39e3-d2cd-d7c41e33e754" + }, + { + "name": "Mob6LeftLegLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 48 + ], + "faces": { + "north": { + "uv": [ + 4, + 52, + 8, + 64 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 52, + 4, + 64 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 52, + 16, + 64 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 52, + 12, + 64 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 52, + 4, + 48 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 48, + 8, + 52 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "3cfd5ae9-e2c6-36b2-5e44-1c1190da6e45" + }, + { + "name": "Mob6LeftLegLayerColor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 48 + ], + "faces": { + "north": { + "uv": [ + 4, + 116, + 8, + 128 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 116, + 4, + 128 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 116, + 16, + 128 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 116, + 12, + 128 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ec3a8fb0-f44f-131f-a356-93c6578852f6" + }, + { + "name": "Mob2HairTail", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3, + 24.5, + -1 + ], + "to": [ + 5, + 25.5, + 3 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "rotation": [ + -10, + -30, + 0 + ], + "origin": [ + 4, + 25.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 72, + 1, + 73 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 72, + 1, + 73 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 72, + 1, + 73 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 72, + 1, + 73 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 72, + 1, + 73 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 72, + 1, + 73 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "98f262ed-92b6-05b7-6908-eb5467f42d7c" + }, + { + "name": "Mob3Bun", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 24, + 4 + ], + "to": [ + 1, + 26, + 6 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 78, + 1, + 79 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 78, + 1, + 79 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 78, + 1, + 79 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 78, + 1, + 79 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 78, + 1, + 79 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "1bd36bb0-65c0-74f0-f9c0-72ec6210a804" + }, + { + "name": "Mob4Bun", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 24, + 4 + ], + "to": [ + 1, + 26, + 6 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 78, + 1, + 79 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 78, + 1, + 79 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 78, + 1, + 79 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 78, + 1, + 79 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 78, + 1, + 79 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a54fd0b5-d97f-1c54-7815-54b750b431a4" + }, + { + "name": "Mob2HairTail", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3, + 24.5, + -1 + ], + "to": [ + 5, + 25.5, + 3 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "rotation": [ + -10, + -30, + 0 + ], + "origin": [ + 4, + 25.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 72, + 1, + 73 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 72, + 1, + 73 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 72, + 1, + 73 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 72, + 1, + 73 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 72, + 1, + 73 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 72, + 1, + 73 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "7ca1ce29-ba7f-0176-4c8a-d554e4785353" + }, + { + "name": "DrinkBottle2Body", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 0, + -1 + ], + "to": [ + 1, + 5, + 1 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + -1, + 0, + 15 + ], + "faces": { + "north": { + "uv": [ + 17, + 128, + 21, + 138 + ], + "texture": 0 + }, + "east": { + "uv": [ + 17, + 128, + 21, + 138 + ], + "texture": 0 + }, + "south": { + "uv": [ + 17, + 128, + 21, + 138 + ], + "texture": 0 + }, + "west": { + "uv": [ + 17, + 128, + 21, + 138 + ], + "texture": 0 + }, + "up": { + "uv": [ + 17, + 128, + 21, + 129 + ], + "texture": 0 + }, + "down": { + "uv": [ + 17, + 137, + 21, + 138 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b8e3fac8-33b2-95f4-74b6-e127e1266c32" + }, + { + "name": "DrinkBottle2Cap", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 5, + -0.5 + ], + "to": [ + 0.5, + 5.5, + 0.5 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0.5, + 3, + 0.5 + ], + "faces": { + "north": { + "uv": [ + 17, + 130, + 18, + 131 + ], + "texture": 0 + }, + "east": { + "uv": [ + 17, + 130, + 18, + 131 + ], + "texture": 0 + }, + "south": { + "uv": [ + 17, + 130, + 18, + 131 + ], + "texture": 0 + }, + "west": { + "uv": [ + 17, + 130, + 18, + 131 + ], + "texture": 0 + }, + "up": { + "uv": [ + 17, + 130, + 18, + 131 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 105, + 0, + 105 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "db22eafe-4b71-fe76-b14b-d5bd16066349" + }, + { + "name": "DrinkBottle3Body", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 0, + -1 + ], + "to": [ + 1, + 5, + 1 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + -1, + 0, + 15 + ], + "faces": { + "north": { + "uv": [ + 17, + 128, + 21, + 138 + ], + "texture": 0 + }, + "east": { + "uv": [ + 17, + 128, + 21, + 138 + ], + "texture": 0 + }, + "south": { + "uv": [ + 17, + 128, + 21, + 138 + ], + "texture": 0 + }, + "west": { + "uv": [ + 17, + 128, + 21, + 138 + ], + "texture": 0 + }, + "up": { + "uv": [ + 17, + 128, + 21, + 129 + ], + "texture": 0 + }, + "down": { + "uv": [ + 17, + 137, + 21, + 138 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c7f53d18-f0e3-877b-0a7c-8b8b55d1bf88" + }, + { + "name": "DrinkBottle3Cap", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 5, + -0.5 + ], + "to": [ + 0.5, + 5.5, + 0.5 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0.5, + 3, + 0.5 + ], + "faces": { + "north": { + "uv": [ + 17, + 130, + 18, + 131 + ], + "texture": 0 + }, + "east": { + "uv": [ + 17, + 130, + 18, + 131 + ], + "texture": 0 + }, + "south": { + "uv": [ + 17, + 130, + 18, + 131 + ], + "texture": 0 + }, + "west": { + "uv": [ + 17, + 130, + 18, + 131 + ], + "texture": 0 + }, + "up": { + "uv": [ + 17, + 130, + 18, + 131 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 105, + 0, + 105 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5baca1b9-e5c2-ea26-4bb3-f26bb1d99706" + }, + { + "name": "FaceShadow", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 24, + -4.01 + ], + "to": [ + 4, + 32, + -4.01 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + -0.5, + 23.5, + -4.5 + ], + "faces": { + "north": { + "uv": [ + 21, + 126, + 29, + 134 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "3a7bb2cc-fb2c-6120-81ed-289817ae8b62" + }, + { + "name": "AnxiousFrame", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -1, + 1 + ], + "to": [ + 0, + 0, + 1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 1 + ], + "faces": { + "north": { + "uv": [ + 29, + 128, + 45, + 144 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ] + } + }, + "type": "cube", + "uuid": "16cb0bf2-6dbc-fa23-00f4-08e20365e791" + } + ], + "outliner": [ + { + "name": "DrinkBottles", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "67cb1e09-923e-929c-8d85-da72bbc7bdea", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + { + "name": "DrinkBottle1", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "cd960919-b245-bafc-10d0-332d4dddc85f", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "ebae2a79-5686-3544-197c-412362208537", + "12cb07e7-02dc-e0b3-18cf-10b58203e926" + ] + }, + { + "name": "DrinkBottle2", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "682435de-9ad3-7359-1a28-f7a31045a746", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "b8e3fac8-33b2-95f4-74b6-e127e1266c32", + "db22eafe-4b71-fe76-b14b-d5bd16066349" + ] + }, + { + "name": "DrinkBottle3", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "3ed04c87-d0cd-b702-49d9-938f8d02aa15", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "c7f53d18-f0e3-877b-0a7c-8b8b55d1bf88", + "5baca1b9-e5c2-ea26-4bb3-f26bb1d99706" + ] + } + ] + }, + { + "name": "Mobs", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "0dcd81c5-9f78-749d-951c-4683935630eb", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + { + "name": "Mob1", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "963100e3-613f-5869-110a-26ce357598fa", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + { + "name": "Mob1Head", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "0c652625-ca46-ebe3-0eec-782b08be1fb7", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "5fdc3e88-1d00-c80e-92bf-abc5bfe889d3", + "c47beae5-9aa2-13b0-2d2e-86e7f2d9fb0a", + "ec834a8d-8c77-7246-e1ad-0c7442bc9672", + "34ea71bd-228e-0dcc-7ee7-b2392902396f" + ] + }, + { + "name": "Mob1UpperBody", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "69899b6a-0982-53bf-111b-7c83fcab5203", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + { + "name": "Mob1Body", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "e1057fd2-50ed-6a09-60be-26af907d5aea", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "6d36121f-19a4-c725-2bad-5055afad303a", + "15583f58-bbaa-f7ea-61df-4c6d92acde9e", + "435aa071-6009-356d-39ac-ebb796948632" + ] + }, + { + "name": "Mob1Arms", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "f5ea5ad3-fa6a-b538-951b-4c831fd801fe", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + { + "name": "Mob1RightArm", + "origin": [ + 5, + 22, + 0 + ], + "color": 0, + "uuid": "a1b5e11a-bbef-fc5e-2bf6-3a2b08fa8586", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "db19897f-193f-834b-7cde-9b7d67a9f059", + "0dfe5ab7-09aa-0974-e236-30d26f96c711", + "9a346b06-6cae-0ccb-cd82-5c31599a23a2" + ] + }, + { + "name": "Mob1LeftArm", + "origin": [ + -5, + 22, + 0 + ], + "color": 0, + "uuid": "e413aace-5be0-b1fe-76e2-f3fe3b60efa5", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "8eca8028-e1b8-f033-2a85-5edb150d545e", + "b67a42a6-c6a3-ac2c-332e-647cd46e8a2f", + "9b7b52c7-5fb7-966c-3249-4b89c813f2d6" + ] + } + ] + } + ] + }, + { + "name": "Mob1LowerBody", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "4864503f-0b37-9080-9abc-c913505a28ff", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + { + "name": "Mob1Legs", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "d1502b4e-684d-7d83-fae1-1cec08752271", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + { + "name": "Mob1RightLeg", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "ca8c08d9-102d-a15d-aa73-8abfbedaadec", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "b07c0a21-2216-8946-97b5-3e8cc72c44b3", + "b56f235c-7dcd-50ef-e346-9a3957551afd", + "f7f8d4ca-b947-dbae-baee-9230112d10b7", + "f93b00fe-85c9-f27d-3aa8-8ee0fa4bab26" + ] + }, + { + "name": "Mob1LeftLeg", + "origin": [ + -2, + 12, + 0 + ], + "color": 0, + "uuid": "6ef4e2d4-9086-9d22-3a85-a8eb9d97be96", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "304e2ee3-cf07-cdea-bfaa-b89c85cb807c", + "4c2253df-145b-ffd7-bd38-3e0d318300a0", + "ad3669de-c289-958e-56e8-ed7524b5d1e5", + "175ccbb6-75fa-1387-28ef-b2cbc7c1ed92" + ] + } + ] + } + ] + } + ] + }, + { + "name": "Mob2", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "19ed4c1a-9ed9-a029-2299-be902e980ca3", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + { + "name": "Mob2Head", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "46c77157-3c99-c23d-ecc4-8739d9da0e38", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "038027bd-3074-7324-6c50-3d5d7a4f9dd8", + "548d448a-405e-0860-2a23-fd565410b632", + "8babce5a-9d7d-7595-1c90-06348030691f", + "98f262ed-92b6-05b7-6908-eb5467f42d7c", + "a72b4351-9cb5-813d-7ab1-9367aa8b7a0a" + ] + }, + { + "name": "Mob2UpperBody", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "90cd20b1-500e-933b-cc46-4aa144cf1b01", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + { + "name": "Mob2Body", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "a591799e-eca6-c8d8-5c7b-84c73f7ad07a", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "820a5d5f-187c-f3cd-5042-198c565274e3", + "ea5a7934-2f0f-83e7-846b-a501028aba9b", + "39cdb4f9-bfdc-8a76-635d-a453ac0d4d99" + ] + }, + { + "name": "Mob2Arms", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "d059198c-025a-f159-69c8-f29749911e3e", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + { + "name": "Mob2RightArm", + "origin": [ + 5, + 22, + 0 + ], + "color": 0, + "uuid": "dbe3c0ec-3af1-fc5d-36ef-c9cc85159214", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "c6e02324-1a28-2182-6c8b-f80c8ae19027", + "92df945d-b87a-14e7-fae5-186f266adc0a", + "0c3e6981-5e2d-5583-f3a3-e05d5a84da0c" + ] + }, + { + "name": "Mob2LeftArm", + "origin": [ + -5, + 22, + 0 + ], + "color": 0, + "uuid": "8227ec2d-6963-1123-8b80-d6af238db7ff", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "c648283e-48e7-74b3-9baf-8af47543d2ce", + "9f182456-bb87-1366-27fc-559de2df661f", + "897fa024-b82a-cccd-f08d-0ed0c7bf0ff3" + ] + } + ] + } + ] + }, + { + "name": "Mob2LowerBody", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "c22abd39-3695-4af6-86bd-89884c05f6ec", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + { + "name": "Mob2Legs", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "159ce46b-9836-4c45-46a0-10917e03fbbc", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + { + "name": "Mob2RightLeg", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "234a7d4a-6d4c-8405-9bb0-bdd9f67d283e", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "e9f8f57c-5ad2-0593-2312-91f3d10375d5", + "09fd1908-525a-f926-7c49-0c203cb06f14", + "2e59d3da-d42e-7d47-b7b5-6a90b0b2a4a6", + "c69d3e39-2eb4-b29b-b269-0091ebe51603" + ] + }, + { + "name": "Mob2LeftLeg", + "origin": [ + -2, + 12, + 0 + ], + "color": 0, + "uuid": "e41fed33-68ee-4a65-c283-a3e37b8dc627", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "49e797bf-bfdd-4d8e-ca42-76063593cc26", + "96796a96-284e-94d7-9da7-46e73e6e2c3d", + "8adce536-2419-15dc-42e6-63b53a0d0589", + "796a105f-c314-c4c2-3890-b752c951f41f" + ] + } + ] + } + ] + } + ] + }, + { + "name": "Mob3", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "0ba4bec8-e8f2-76a1-90db-3b7ba69c64bb", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + { + "name": "Mob3Head", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "6ce3d6fa-44ac-7e47-d027-1876630cf5c8", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "7b03f812-a0c8-b271-f5e1-591230ac7281", + "ce0bec13-a015-109c-a778-c5bab65fd57e", + "17e130d3-ca22-7982-bfc1-3c42d874fc68", + "1bd36bb0-65c0-74f0-f9c0-72ec6210a804", + "d24aab18-54a8-2fe0-09c4-ceee5fe2f69b" + ] + }, + { + "name": "Mob3UpperBody", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "955c0b9f-fd45-39a9-2c80-70c30c0dd236", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + { + "name": "Mob3Body", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "1571f56f-f76b-8355-b5c0-6948a20dd705", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "e7225529-20c9-99eb-4e3f-ac46fea9ec08", + "272dccf8-7bec-1178-3ffd-f90a108da83a", + "8d49af08-9a64-818a-70aa-23bcdb55f4ef" + ] + }, + { + "name": "Mob3Arms", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "c9ca3c9b-d4ac-3772-6cdd-ca77568b954a", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + { + "name": "Mob3RightArm", + "origin": [ + 5, + 22, + 0 + ], + "color": 0, + "uuid": "f7571e5e-8754-e42d-5171-349a407951f0", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "6e2fbe01-669a-f779-a34c-3f2a0171a323", + "b534b7d1-d676-b1b9-6013-2f05efdce61d", + "7d7b5ac9-4c33-6f54-1f6d-cfe95f8e5b99" + ] + }, + { + "name": "Mob3LeftArm", + "origin": [ + -5, + 22, + 0 + ], + "color": 0, + "uuid": "75891b56-8bb1-e02a-0d59-ce175310e783", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "7b57b1b4-ecc6-5c30-07b9-4c2060b5e070", + "f0f68ece-753e-9392-6fc2-cc35d22fdbdc", + "8983043f-e2f6-de7b-e5cd-4ac9653efe07" + ] + } + ] + } + ] + }, + { + "name": "Mob3LowerBody", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "1135304a-d231-a01d-846d-b5d7f208b9e6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + { + "name": "Mob3Legs", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "1c09fd84-62ad-f8d8-8a6c-41e7bbf466f6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + { + "name": "Mob3RightLeg", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "1e6c7dd8-4bf3-0fca-1ac8-9c6072c199ed", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "6082963a-5e4c-b7f7-4e66-aaad88cb2213", + "ad923605-dc3b-2cd1-8068-85936f4cc7b8", + "059b8490-a3c4-31f8-718b-0b14b7883cf5", + "afdb3d94-ccba-288d-bda1-3e9bf9160191" + ] + }, + { + "name": "Mob3LeftLeg", + "origin": [ + -2, + 12, + 0 + ], + "color": 0, + "uuid": "48289d5c-6e65-9104-4255-1cdf87a34266", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "61d452dd-c8fb-9029-362b-cf457b790753", + "5057719a-c4b0-54a6-2019-7ea6a0f14c1f", + "466e74e6-48ff-4bf3-3f34-2722a364a63b", + "1d457337-ca51-e294-0082-4c9c48e56659" + ] + } + ] + } + ] + } + ] + }, + { + "name": "Mob4", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "eeb5d6d3-eabc-8f23-b366-7669a4a3a91c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + { + "name": "Mob4Head", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "8f798193-98de-2080-9628-654802ffea30", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "dc54f7d5-2cda-956d-cb81-515f7d0df9d5", + "1ff0940b-633e-5305-3025-67d30c05c786", + "11302967-f567-9320-7498-01c4ac2e60de", + "a54fd0b5-d97f-1c54-7815-54b750b431a4", + "8738edf5-4e31-3599-5073-e01288f1ad14" + ] + }, + { + "name": "Mob4UpperBody", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "a9a5e531-9733-7d9b-2d78-bcaf3f60055a", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + { + "name": "Mob4Body", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "13f9506d-fea3-e8eb-31f5-13467921d6be", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "31783bce-8f83-7b89-a1d9-de9130182dbf", + "5b0425cc-24a8-4934-7bd5-7daade9a7743", + "c11afbed-2e2b-f126-bd68-4af98e4eada6" + ] + }, + { + "name": "Mob4Arms", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "00987c4e-180a-40ce-98b4-24b4d61dcfbf", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + { + "name": "Mob4RightArm", + "origin": [ + 5, + 22, + 0 + ], + "color": 0, + "uuid": "a920e2ea-657b-1b93-9119-60b53db50e74", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "1e70940c-a690-cd6e-7783-7f17004499f7", + "8b33bbd9-c4e5-9e30-9b06-be3393f070a7", + "a1f61405-41cf-7e2f-7ee1-0a51d704f14a" + ] + }, + { + "name": "Mob4LeftArm", + "origin": [ + -5, + 22, + 0 + ], + "color": 0, + "uuid": "5ee1a0ee-86b4-892f-cdea-1657617f8179", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "0262363e-047f-4aab-ee87-f2ad5c6cd3e9", + "88ec3f9d-d5f5-7e50-499d-8229bf2e533f", + "e31c48ba-79f7-4f2c-679d-be3e94af3608" + ] + } + ] + } + ] + }, + { + "name": "Mob4LowerBody", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "b5263fa2-00c3-1072-2d26-189a36e9b1e3", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + { + "name": "Mob4Legs", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "0321de23-fca4-121b-3cf1-f8fc83199c85", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + { + "name": "Mob4RightLeg", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "848e042d-8b9f-bc88-9bb1-7879afc3e558", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "dcaf5b8f-9a8a-702f-6655-9d4949ad8749", + "29036a25-5189-3218-c24c-47cfcd1fc6c8", + "c363b583-7fdb-c608-7f4c-b6a435c378f9", + "d42e5b4a-bc0a-019f-26db-4eeea6b7cf99" + ] + }, + { + "name": "Mob4LeftLeg", + "origin": [ + -2, + 12, + 0 + ], + "color": 0, + "uuid": "07abb791-f8dc-48c3-1093-a33da5695417", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "e4b6528e-e915-b2ab-5cc6-aa4c9b9e0cfb", + "7ef39e93-3708-1959-ff3f-034d07041386", + "df92be80-779d-cff6-8e78-7f0a40ab7b58", + "94e6e3ef-e63c-2a0c-d65f-08fcc44c9981" + ] + } + ] + } + ] + } + ] + }, + { + "name": "Mob5", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "085d737a-b0f8-93d5-e166-9683523f8861", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + { + "name": "Mob5Head", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "550073e8-4834-910d-b83c-040784755b8c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "6a9a4754-fcb9-1606-2526-f6db0c08af88", + "29eb4e3f-a854-d3fa-84c4-50f5f0d28798", + "03ccf064-b0d1-c484-6231-06970a1a7292", + "46785bbb-c56f-956a-a1d6-0bd67ed69258" + ] + }, + { + "name": "Mob5UpperBody", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "bb0430c4-5636-7479-1c83-d29b98603b54", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + { + "name": "Mob5Body", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "ee63bed5-c78b-c351-ed67-8b83a7ce1689", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "99a3f226-3970-0931-2fd9-cd885e6c6de6", + "9428db88-67cf-9fc0-5b47-82aabad408f3", + "570d861b-1de3-c4c9-4ddd-82634ab6d30d" + ] + }, + { + "name": "Mob5Arms", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "1beeb260-cfa4-cc86-caa3-d2c0972de72f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + { + "name": "Mob5RightArm", + "origin": [ + 5, + 22, + 0 + ], + "color": 0, + "uuid": "98609609-3003-7828-0a66-d56a21a1d670", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "6ac17106-98af-d387-1855-eb431a962413", + "5f0a7efa-7567-b3e4-e57b-2123f7d8dc59", + "1fa3b00d-6124-47f7-29ca-0707edfbd51a" + ] + }, + { + "name": "Mob5LeftArm", + "origin": [ + -5, + 22, + 0 + ], + "color": 0, + "uuid": "68868359-f8b6-bfc4-d672-3717477c2c13", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "30601da0-988a-b1aa-8d5a-d8369449b971", + "356d99f6-4b3b-d12c-3a05-fca94229dadc", + "052fde58-4c60-5765-98f1-c19b2e67993b" + ] + } + ] + } + ] + }, + { + "name": "Mob5LowerBody", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "7b1d4e10-0fbf-178c-24e2-299c8a71678b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + { + "name": "Mob5Legs", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "92a9bbbb-695b-1bc7-d7b8-29eb2441e47b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + { + "name": "Mob5RightLeg", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "67f2b7ac-ae33-ab7c-e032-b3b47223aa19", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "caa97587-25d5-f98b-0e70-8b68b40224a0", + "06c23414-8495-d267-b900-5849abbc0eb2", + "6206819f-671b-4e4e-ab1b-f2361ec428a8", + "84611316-2a40-9a4f-f65e-dea8caabc970" + ] + }, + { + "name": "Mob5LeftLeg", + "origin": [ + -2, + 12, + 0 + ], + "color": 0, + "uuid": "138973de-dc2b-5ff2-d645-a32e7330db7a", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "66eaaa4b-60a7-6a52-8bf8-c03ce6cb2fa5", + "bce60bac-d51a-f3a2-8aa1-e61aa6ae824e", + "89a45cb9-842f-e051-4654-053818b5b3cd", + "126532ef-cc48-10a6-33e1-f84342f24d49" + ] + } + ] + } + ] + } + ] + }, + { + "name": "Mob6", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "458eaea6-06b6-8ed5-26df-a89a3eb621db", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + { + "name": "Mob6Head", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "540dde1c-f922-b132-7740-1c2d328b7a0c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "7c9418a2-4efb-80d7-fe4d-051da4783793", + "2b47177d-4f30-b090-0ee7-b909965c05ce", + "321dab03-6f52-c86d-806f-0bebee0354b7", + "7ca1ce29-ba7f-0176-4c8a-d554e4785353", + "e276e025-e14e-873f-e411-f76ba825e747" + ] + }, + { + "name": "Mob6UpperBody", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "04f2056e-5ff1-9c2f-6d26-a4df27fe704d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + { + "name": "Mob6Body", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "de4b9e8d-3f54-b977-85d2-785ec1a4603c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "12f26f9b-e2fa-aea0-56fa-cfd4a46143c7", + "895403e1-b2ef-456c-7d74-11bdec52b27c", + "978bbe08-be0a-c582-a2b5-4da852f2c57f" + ] + }, + { + "name": "Mob6Arms", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "3d1be95a-ffbd-bfbc-fc5a-6e9233caa276", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + { + "name": "Mob6RightArm", + "origin": [ + 5, + 22, + 0 + ], + "color": 0, + "uuid": "e2fc5400-cc66-ebed-b8ca-f28839e49996", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "9e412850-be1d-629c-094c-64eb45a2443f", + "7651cb43-2f79-ce34-8029-8881171abccb", + "2183c3ce-f53a-3c80-77d8-e6bb7f716544" + ] + }, + { + "name": "Mob6LeftArm", + "origin": [ + -5, + 22, + 0 + ], + "color": 0, + "uuid": "6f736ec1-75f2-661f-d4bd-d690764ef965", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "f964dddd-f310-a371-3a58-f7dbb3ddf76e", + "da2f0399-1584-1d6f-0368-2b59634cf71d", + "8add2b1a-8038-8f77-a019-1e0c9ef390c2" + ] + } + ] + } + ] + }, + { + "name": "Mob6LowerBody", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "3cf8f2a8-ddcb-b4f7-d24e-77767b8b8ec1", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + { + "name": "Mob6Legs", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "00ee2efb-c31a-6879-59f4-1fdc05d6982a", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + { + "name": "Mob6RightLeg", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "16a244fa-837a-c4bf-df5e-74fca18cd828", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "71205014-fefb-02ef-6b4c-e8c48e97cbe7", + "9d8e0d6a-36cf-1991-1da0-a28d6e28c83b", + "674bf464-199b-da89-cfb3-e2e114997c48", + "dae8a758-84dc-40aa-8a45-6c22ebf8ff21" + ] + }, + { + "name": "Mob6LeftLeg", + "origin": [ + -2, + 12, + 0 + ], + "color": 0, + "uuid": "4a32bd91-7295-3554-2bd7-1b4c1f564d54", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "8db54bb0-e408-90aa-9d0f-a92734bcb5a1", + "52568d78-407b-39e3-d2cd-d7c41e33e754", + "3cfd5ae9-e2c6-36b2-5e44-1c1190da6e45", + "ec3a8fb0-f44f-131f-a356-93c6578852f6" + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "name": "FaceShadow", + "origin": [ + -0.5, + 23.5, + -4.5 + ], + "color": 0, + "uuid": "73274e81-3f3b-d2bf-b5be-9a43b80b3b88", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": false, + "autouv": 0, + "children": [ + "3a7bb2cc-fb2c-6120-81ed-289817ae8b62" + ] + }, + { + "name": "Gui", + "origin": [ + 0, + 0, + 1 + ], + "color": 0, + "uuid": "4b83df88-35ec-b890-c431-554262581c0d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "16cb0bf2-6dbc-fa23-00f4-08e20365e791" + ] + } + ], + "textures": [ + { + "path": "", + "name": "ex_skill_2.png", + "folder": "", + "namespace": "", + "id": "1", + "width": 64, + "height": 145, + "uv_width": 64, + "uv_height": 145, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "cf9d4f61-242a-5a1e-3e56-1d6264aa3a86", + "relative_path": "../../textures/ex_skill_2.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAACRCAYAAABzC75UAAAAAXNSR0IArs4c6QAACNhJREFUeF7tnb9vHEUUx9+b9Y9zsGPHtmLnJ7YgETQpYqVCQooUxWcjgZSWAgnK8BeAUkV00CUlSBSILgVSbF8UCUSRBpIiDQhFsvPD+QH4d/DZZ+88NGtPNLfe3Zn9cb7d3Lg5y/Prvc9839uZnUkOocV/sMX9BwvAKiADArS+SEsvntT1dGjoOOCB/twrLBMDLYD1RQoSUkspoKUBZJBGmtZFJjmgadZnMLAFYAJxcfZ+YJLrHz1TeIBGDoyMjHgA7v38k8fr7PkPvc+5uTmj9iaQm1Un0gEx88LZ2dlZuHTpEtz44VvPzksffwY3btyA0dFRD0qRlRAKQDgvV3PLy8t04cIF+O3XWx6Ac+9fhNu3b0NfXx/KRVBRIYQCEI4JZ8ViRv4OD/7aUerbp70PtawIi57AtYou9mZnZ+sS4OjoaNPjnq+t7kyOs/3K/KQToHUmDQAivmMoMu04uokIKn+lzF01JulDa1hSAJ7z1eUdm7r6GgKhZQFkHgKyQ9ZzMFARuvIw6TUqBKQ9Ylxpc9DfTELCc1jnYFS5OrAcUAfSb1hU/aAyC2D3KZCJAtREYiIZfx1y2/Y0K5QCLICQ11mmarAKsCFQ9Bywu1w1lfyeJPjyZcGTYACAubmHnlMjI29quVATAGiNilEB/Wt91XEJIqq/Ru8Okz6lTHeHgQBiABRvhbQbqjj97QmxhE8pYwA648TbILWOeAuka1Okcq0zFoBVQIuHQJHiOYmt2hyQpNMitbEAijRbjbDVKqARVIvUp1VAkWarEbZaBQRRlev/123jE+Qr+jc7opJ0PKjM30nRIdkQ0CWWtNvhuKfL6jFcFqe/Ov+0CthvAKrBFoDyOsz0FZduxv3luVNA7kLAhGja4/U4Z/y6sUzsVetoFWDSoc4o3f0CC2D3ZorJLQ8dbJMJy1QBSQ8upBHidLnQCrAAEp7cWAXsErAhUPgckMH9gtwlwTjvA+RlSPXREud+QaPuEZs+DlO/D1haWtozlrxYYXK/YGSo19TWunpZ7Q1SrwSDLljE8Sj3AFZWVgL/wZSpk729vakhm46VpJ7WOAvAKsCGgDYHhMW5CJ+WyAEWQEimtwrIKATCnkRZhBemfcwlefaqbUycaFkAppNjAjFsoowU8DLgQrTosLu7O60AIMp4FYCwQY6n/i4MaDiAqCyfloAJAOHwsWPHcH5+3nsky98lkMwB+GdcDBjkqDRIliVRRJDx/pkPG98fIklAeCEgHRYOqM6HDeyHoYJQ+1Alq4ZM0HhyLP8sR9ngryvVIT79k+PvR5a/kpXfKdWgKAX4DU8bEqoTcfvyO23SvukA1NiWBpsqL0qJUWpQx9kT27VarW7t39HRod0yq4b425vMglpHN57oX1cnzpgNBSANjQNF55ya+JIkPT+chgHwO2IKQQdA7UdX10QJhQSQheMSDqoxJelWq1Xo6up6BTBIyv46ftqLi4swPDzsAX7+/Dn19/dHToior/6o9cPsEfWlzSqUOHkiNYCg2ZBGSaekM2Ezp8padVbUF2WFBSBmyO9QkAyaCsAkUcStE+WQBRBAwCpAWXztew6IK2+T+jYEImbU5gCbA/YSiAoZsYgyCTt/HbkI07WNtdPTyTeoXLdi9LeJWvTonElSnhpA0hkyNdZ0Jk370+4Gk3ZU1HapFVBUx6XdFkDRZzCt/VYBaQkWvX3uFaB7IRK2NjF9bWYBFF3Cae23CkhLsNHtbQ7QvBV+7ZNgoxWW+xyQdLdpuovMPYCGKyAp4UYbJvs3ncmk9mSugLT3C6Qjcc73kjov2uUOQNbn/zo4uQOQ9fl/4QAULgSC7hcIJ4JOhYPuH8gjcNHGf8YvYZicMOtmOqw8dQhYAMqtLd2Z4H4qQGdLrl6Khl1zSRMCLQ/ANCekzgGmA0XVswrYPU7P8inQ8iHQ8gBMQ7PpOSDpblS9hGnqrFpPtm86gCTGZ9kGk87Afu3Xs3Q2qK9ABRBR6LUURNzT5vlKta7+cG9XpLLKk5VnQDBLCI8QYAEAFomwCsA3AdmGZyjxEmNY4hy6EKkPCE4A4iACvDU9NT6cFZg6Q6XjQU7KAYPq3P3jaR2AsXePRgOYqNzxnCd4jAyWOeELRrwGgKuqYxypB4B1MqQhADxEnI4BwsmZqfH3MgcgHIty3D+gWv/7+9t1AD4504bfXb0cqKJPr1zH8kTlR2Q4zzl/Bgh/M8I1zuglIv3HuLPFmdvuiYDwDcax2wNBcJgxdoQ4PzUzXf4oUwBxnVfVIKDFBjBZuY4ITznRI+RsAdrcJcadKuduFZG2Gesg191qpzYsIdAB2HYOEeMDDPEkERydmRq/XHQAVwnwISP6lxz+grZw1XFc8YVFm0ToCucQyQGATtd1urGdDqLLhjjQcUQcmpkav5IZgKSzr6rg3p/P6uzR5YDxiVtfAPLHgCBC4B+Hu8tEuC4AuK7jAXAc1wOASAcA2g+5yAeB4IhQwfTN8a9yBeCX3x/U2XP+3KnIJDg+eesyI5oXsw/bsMgYXxEAqtWu2tpajwegp2fN6euDUq22XgLoPMjZ1gC67KRQQWW6/E2uAMRXwMznDPAJIj4h2hb/E9Oq6zrrCwsDtbt3x7zv0h0bu9s2MLDQ4TjuAcY6elzcGpJhUJkuX8sVgKQKUAFUq13VtbWezSgAxPEwADtembp4PVcApALkEunsO9HrADUEGG9fANhcjQoBzlkvtEG/CAFgcGL65vjXuQIQZ/0gDJ/4oPIlcHrMGTxVk2B7+9bGxkaJizql0gbb2movFSIJxgVQnqzk5zG4s+KKtwr0L4TiyrE8OXMNEZ+JhRAjFGuBZQJcd3hblajmPQWIsE0uhNBlfRxpEIidQORHZ6bKn8cdM6y+97jadwAxl8IAdJCQDQLREQA6nflSOAmEpNDEWOWJyh0AEN/q+ERuhsROUOwJmrYZkhB2lqF7t7yq7HV1dPKU22EPAoqtMCwxBlXOSWyFN3fbd4rtMBGUAKAfiI43fDvsdzLIkbgJTwej2eX/A/7meGaq0e+fAAAAAElFTkSuQmCC" + } + ], + "animations": [ + { + "uuid": "c85ae315-20f5-3d8e-9596-ed19a884a3e6", + "name": "ex_skill_2", + "loop": "hold", + "override": true, + "length": 4.65, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "963100e3-613f-5869-110a-26ce357598fa": { + "name": "Mob1", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": -160, + "z": "0" + } + ], + "uuid": "ebb739f0-307a-b551-b8f7-036d9d1d03ed", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "-150", + "z": 0 + } + ], + "uuid": "deb24f33-10df-3bb2-a9c5-3dd534da3d8c", + "time": 1.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -13, + "y": "0", + "z": -23 + } + ], + "uuid": "4049d9c0-aa7e-b62a-7013-99cb3387ae46", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -10, + "y": 0, + "z": -17 + } + ], + "uuid": "058a127e-2f0f-4c49-c407-0a36d2156c23", + "time": 1.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -10, + "y": 0, + "z": -17 + } + ], + "uuid": "c99ff03d-988c-7c43-a5db-9acfe7af1ce9", + "time": 4.15, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -11, + "y": 0, + "z": -19 + } + ], + "uuid": "ce55c7eb-d764-436a-4590-0ae8b5f31b41", + "time": 4.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -11.68, + "y": 0, + "z": -23.37 + } + ], + "uuid": "489938f7-bb0e-f8e7-74b0-98905ea6b76e", + "time": 0.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -13.36, + "y": 0, + "z": -21.74 + } + ], + "uuid": "10338503-744d-745a-ae00-0fb8f5a4eed1", + "time": 0.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -12.05, + "y": 0, + "z": -22.11 + } + ], + "uuid": "df76eb71-1ced-1458-d2e0-6ca6ce84ff00", + "time": 0.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -10.73, + "y": 0, + "z": -19.48 + } + ], + "uuid": "78b56431-a4b2-dfb8-08cb-86ab17c98dc3", + "time": 0.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -10.42, + "y": 0, + "z": -19.85 + } + ], + "uuid": "d5d105ff-2397-1dbb-c83c-0ee63148fcc7", + "time": 1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -12.1, + "y": 0, + "z": -20.22 + } + ], + "uuid": "39bdd78d-7172-c699-d15b-022889a8b68c", + "time": 1.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -10.79, + "y": 0, + "z": -17.59 + } + ], + "uuid": "48bdb8e7-7eb9-05b5-60a4-c8c9a58cfbe5", + "time": 1.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -9.47, + "y": 0, + "z": -18.95 + } + ], + "uuid": "5e4ff6a9-50c8-7d70-292a-d085385b7539", + "time": 1.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -9.16, + "y": 0, + "z": -17.32 + } + ], + "uuid": "2eb1cffc-d4f0-db5c-2a04-2291d9d12811", + "time": 1.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -9, + "y": 0, + "z": -16 + } + ], + "uuid": "10616cc0-6712-fcbd-5c38-ff2e0a53120a", + "time": 2.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -11, + "y": 0, + "z": -17 + } + ], + "uuid": "b99e7060-9281-3456-5e43-f997e4206876", + "time": 2.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -10, + "y": 0, + "z": -18 + } + ], + "uuid": "dd0858a4-ed30-e8a3-8078-eb30baaa1f9a", + "time": 2.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -11, + "y": 0, + "z": -16 + } + ], + "uuid": "e49c7431-5364-3f8d-8f8b-6201939f6af9", + "time": 2.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -9, + "y": 0, + "z": -18 + } + ], + "uuid": "89fcc89f-6d3a-0774-1052-63b6f921dca2", + "time": 2.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -10, + "y": 0, + "z": -18 + } + ], + "uuid": "e09fcbe3-50c9-0f6c-f09b-02786ac9e5b7", + "time": 3.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -11, + "y": 0, + "z": -17 + } + ], + "uuid": "cc092c01-c6ae-55a7-7f5a-e4dd4cd553fc", + "time": 3.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -11, + "y": 0, + "z": -16 + } + ], + "uuid": "a7c0dbab-a1ad-3c91-91b8-3c7dabe7f3fb", + "time": 3.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -10, + "y": 0, + "z": -18 + } + ], + "uuid": "c7c5534f-fd73-7ef7-eaa0-eb45fbab6cb9", + "time": 3.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -9, + "y": 0, + "z": -18 + } + ], + "uuid": "b9d9ce7a-1947-e2b7-8a61-d79f96ad3d74", + "time": 3.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "a1b5e11a-bbef-fc5e-2bf6-3a2b08fa8586": { + "name": "Mob1RightArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": "0", + "z": "0" + } + ], + "uuid": "151373cb-c33b-3778-a76d-96f956513074", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -120, + "y": 0, + "z": 0 + } + ], + "uuid": "a3212ec2-e7c5-e988-5516-0ac8bd0b1960", + "time": 0.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": 0, + "z": 0 + } + ], + "uuid": "e2b9ab7c-86c3-953e-4e68-0a68246d7a51", + "time": 0.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -120, + "y": 0, + "z": 0 + } + ], + "uuid": "28b8d861-d61e-9a2c-2f2d-cba4a60909d0", + "time": 0.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": 0, + "z": 0 + } + ], + "uuid": "b02d941d-f6cf-da71-5db4-cdf430819c26", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -120, + "y": 0, + "z": 0 + } + ], + "uuid": "cf551329-871a-705d-542b-e7f5d21b6e23", + "time": 1.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": 0, + "z": 0 + } + ], + "uuid": "2adf6df8-abc5-d10e-1cb9-4331cfd8990a", + "time": 1.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -120, + "y": 0, + "z": 0 + } + ], + "uuid": "cced5e5c-3d6a-169e-2587-fa6098f250ff", + "time": 1.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": 0, + "z": 0 + } + ], + "uuid": "1a676eb0-22d8-28ad-7d2b-f812b4ff73fc", + "time": 1.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -120, + "y": 0, + "z": 0 + } + ], + "uuid": "03f9abf9-40e3-4d0f-078e-32f0411c4c3c", + "time": 2.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": 0, + "z": 0 + } + ], + "uuid": "94063547-5e2b-20cf-1fdc-1ed1daf042a4", + "time": 2.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -120, + "y": 0, + "z": 0 + } + ], + "uuid": "6eda6722-4d6a-6ea6-09a5-5c14050aacfd", + "time": 2.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": 0, + "z": 0 + } + ], + "uuid": "4e42c3b7-bd87-2eb9-5653-3f8efd805e33", + "time": 2.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -120, + "y": 0, + "z": 0 + } + ], + "uuid": "70d06123-030f-0db9-033c-c62fd6954d56", + "time": 3.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": 0, + "z": 0 + } + ], + "uuid": "bb3eb29d-7317-271c-055e-ac773051389c", + "time": 3.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -120, + "y": 0, + "z": 0 + } + ], + "uuid": "1aa67f41-44f1-c82d-d661-2b47988d76f6", + "time": 3.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": 0, + "z": 0 + } + ], + "uuid": "9b8174ac-0024-01ce-bc54-d005815cf4f4", + "time": 3.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": 0, + "z": 0 + } + ], + "uuid": "043654a3-f12f-e4c1-87f0-cc7364cb0109", + "time": 4.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -20, + "y": 0, + "z": 0 + } + ], + "uuid": "f80cc9e6-4445-ef6c-8ca5-08322d19f221", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ca8c08d9-102d-a15d-aa73-8abfbedaadec": { + "name": "Mob1RightLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -20, + "y": "0", + "z": "0" + } + ], + "uuid": "491c4a45-bd8a-e1ca-0c8e-08219b88806e", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": "0", + "z": "0" + } + ], + "uuid": "1fb12cfd-293a-d9af-f88d-63506a144441", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "20", + "y": 0, + "z": 0 + } + ], + "uuid": "08881fbc-56d0-489d-c323-e09378aaa0a5", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": 0, + "z": 0 + } + ], + "uuid": "0c23fee4-57e8-50b6-fadf-cf6821258dd8", + "time": 4.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "20", + "y": 0, + "z": 0 + } + ], + "uuid": "38b47cf8-6737-5411-4529-7cce22381833", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "6ef4e2d4-9086-9d22-3a85-a8eb9d97be96": { + "name": "Mob1LeftLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 20, + "y": "0", + "z": "0" + } + ], + "uuid": "3fd346c7-a350-d127-dce0-904daa7f0b0f", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 20, + "y": "0", + "z": "0" + } + ], + "uuid": "1c08c21f-8a20-c1e7-1df9-43f5e0edbfaf", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-20", + "y": 0, + "z": 0 + } + ], + "uuid": "c4233d8a-0732-b19a-39aa-c6b6d72ee16c", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 20, + "y": 0, + "z": 0 + } + ], + "uuid": "57590b3a-52ae-2009-614d-ef90f3ed09e7", + "time": 4.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-10", + "y": 0, + "z": 0 + } + ], + "uuid": "1dc896dd-70e8-afb9-8b75-f09d7c39f83b", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "19ed4c1a-9ed9-a029-2299-be902e980ca3": { + "name": "Mob2", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "-120", + "z": "0" + } + ], + "uuid": "3be59040-9a92-8aae-7680-cea100bb9289", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "-110", + "z": 0 + } + ], + "uuid": "3843ee17-1d12-f40f-3c7f-c578b88adf0a", + "time": 1.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -25, + "y": "0", + "z": -12 + } + ], + "uuid": "e8b120d9-0290-925b-7545-6e8e75f9991f", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -17, + "y": 0, + "z": -6 + } + ], + "uuid": "a4c6a0a2-c6dc-ea58-f4b5-7ca4e97bc250", + "time": 1.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -17, + "y": 0, + "z": -6 + } + ], + "uuid": "7bebe4bd-e8ff-0036-7e07-ccb4c0329518", + "time": 4.15, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -19, + "y": 0, + "z": -7.5 + } + ], + "uuid": "d73efef5-fb9a-a313-8430-8b985ed57b8b", + "time": 4.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -23.16, + "y": 0, + "z": -11.37 + } + ], + "uuid": "85ff8989-bb98-ae3a-0dc2-68b0e7a4ae77", + "time": 0.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -24.32, + "y": 0, + "z": -9.74 + } + ], + "uuid": "a7810ff6-8897-624e-c2c9-1a745c67ca4e", + "time": 0.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -22.48, + "y": 0, + "z": -11.11 + } + ], + "uuid": "17881c5d-090a-47c2-2749-2a00cd294d99", + "time": 0.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -22.64, + "y": 0, + "z": -10.48 + } + ], + "uuid": "f5951997-1e3e-1cc0-4c61-215ea5cc6840", + "time": 0.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -19.8, + "y": 0, + "z": -9.85 + } + ], + "uuid": "ee1eb8db-3ba5-2b38-20ce-92243ce9a994", + "time": 1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -20.96, + "y": 0, + "z": -7.22 + } + ], + "uuid": "c077dfe0-c10a-aca0-87ed-309432f4d815", + "time": 1.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -20.11, + "y": 0, + "z": -6.59 + } + ], + "uuid": "3c56dd5f-f61b-cbaf-8dc0-123b7e76de7a", + "time": 1.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -17.27, + "y": 0, + "z": -5.95 + } + ], + "uuid": "9ceb191a-2c13-7f04-6878-e1a5cfbb0471", + "time": 1.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -16.42, + "y": 0, + "z": -6.32 + } + ], + "uuid": "a5499c48-b33a-5888-d864-1a7aee3f9b7b", + "time": 1.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -18, + "y": 0, + "z": -6 + } + ], + "uuid": "04f2b3e3-01cb-a65c-ba4d-311aa79326e9", + "time": 2.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -16, + "y": 0, + "z": -7 + } + ], + "uuid": "b8733362-be42-a0c7-4f0f-bc71314ffbb6", + "time": 2.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -17, + "y": 0, + "z": -5 + } + ], + "uuid": "4ab4af01-0511-3b70-6e4a-9ac632fdf75e", + "time": 2.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -18, + "y": 0, + "z": -5 + } + ], + "uuid": "8e645963-17b1-fe55-76cf-a4bf2c8a644f", + "time": 2.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -16, + "y": 0, + "z": -5 + } + ], + "uuid": "1c1a3f50-8465-ba45-1d84-b2d50e3cacce", + "time": 2.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -17, + "y": 0, + "z": -7 + } + ], + "uuid": "0d95ed76-8521-36d5-36d4-1eed63e52fe4", + "time": 3.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -18, + "y": 0, + "z": -6 + } + ], + "uuid": "6f24ba36-dd84-663d-aee4-e33b5ced975e", + "time": 3.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -18, + "y": 0, + "z": -7 + } + ], + "uuid": "18568c54-ae0b-5297-698a-f7ea0566ac85", + "time": 3.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -16, + "y": 0, + "z": -6 + } + ], + "uuid": "757d87ac-6896-6a5a-c164-628b86952848", + "time": 3.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -18, + "y": 0, + "z": -5 + } + ], + "uuid": "8b374c89-8ff5-1752-3ac2-8ce2d639cb88", + "time": 3.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "dbe3c0ec-3af1-fc5d-36ef-c9cc85159214": { + "name": "Mob2RightArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -95, + "y": "0", + "z": "0" + } + ], + "uuid": "9ddd0e4f-d268-06eb-e52a-51a95edd15ac", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -120, + "y": 0, + "z": 0 + } + ], + "uuid": "074a2179-73a0-1fae-04be-42b0e0f3c234", + "time": 0.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": 0, + "z": 0 + } + ], + "uuid": "45a50504-b28c-25cf-b216-4a6106013dfb", + "time": 0.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -120, + "y": 0, + "z": 0 + } + ], + "uuid": "442f786e-4d98-0ed3-4e45-20ae2bf86854", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": 0, + "z": 0 + } + ], + "uuid": "48c02c67-7189-3c91-1bfa-8489a3c3dd03", + "time": 0.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -120, + "y": 0, + "z": 0 + } + ], + "uuid": "5a49a838-d563-3e7d-d984-7a264ca51d4d", + "time": 1.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": 0, + "z": 0 + } + ], + "uuid": "0bc5da4e-0ff6-0371-6e79-4af92ec65abe", + "time": 1.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -120, + "y": 0, + "z": 0 + } + ], + "uuid": "29ba635d-10bc-47a6-d601-dba5f34f49fe", + "time": 1.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": 0, + "z": 0 + } + ], + "uuid": "ecbf9f56-f240-04e7-5869-45944627df54", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -120, + "y": 0, + "z": 0 + } + ], + "uuid": "28290445-ad8b-851a-090a-907bc6ebd321", + "time": 2.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": 0, + "z": 0 + } + ], + "uuid": "19b15c1a-416b-f10d-9018-427f3a8e77e2", + "time": 2.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -120, + "y": 0, + "z": 0 + } + ], + "uuid": "5b31a2a3-fb7b-af54-ccae-f04fd9d1c92c", + "time": 2.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": 0, + "z": 0 + } + ], + "uuid": "33cebb04-bcb6-eb65-239f-5ff92e6f92a4", + "time": 2.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -120, + "y": 0, + "z": 0 + } + ], + "uuid": "344874f0-bb74-4249-23a4-fe759b53e772", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": 0, + "z": 0 + } + ], + "uuid": "8a3b1dd5-28c2-d358-c7c3-60ccfb7a9db7", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -120, + "y": 0, + "z": 0 + } + ], + "uuid": "b0cf7e86-6d17-1630-da8c-6f60852d9338", + "time": 3.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": 0, + "z": 0 + } + ], + "uuid": "96d941d2-1a6e-f00d-5222-479dacb05fa1", + "time": 3.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": 0, + "z": 0 + } + ], + "uuid": "30b7150b-37b3-3849-d2e7-d86bafcb85aa", + "time": 4.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -20, + "y": 0, + "z": 0 + } + ], + "uuid": "cb32713e-f350-93a8-1ad7-e35197ee2ec9", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "234a7d4a-6d4c-8405-9bb0-bdd9f67d283e": { + "name": "Mob2RightLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -20, + "y": "0", + "z": "0" + } + ], + "uuid": "1843ee94-9206-a07d-3411-dcedab388cad", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": "0", + "z": "0" + } + ], + "uuid": "3078fc44-5387-99a2-f93d-29f6a94df6e1", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "20", + "y": 0, + "z": 0 + } + ], + "uuid": "49129805-7241-c23a-cb05-abbd63693908", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": 0, + "z": 0 + } + ], + "uuid": "d34f7d21-897e-655b-1ece-309a3aff5bc9", + "time": 4.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "20", + "y": 0, + "z": 0 + } + ], + "uuid": "5c57b575-6a84-ddf7-9051-d727392bb060", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e41fed33-68ee-4a65-c283-a3e37b8dc627": { + "name": "Mob2LeftLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 20, + "y": "0", + "z": "0" + } + ], + "uuid": "836d27f2-8234-5676-12a0-38938453dc1b", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 20, + "y": "0", + "z": "0" + } + ], + "uuid": "d943facd-3438-8a2f-adba-4a7831745cb9", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-20", + "y": 0, + "z": 0 + } + ], + "uuid": "388366df-c36d-f604-d6c3-537b4197d95d", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 20, + "y": 0, + "z": 0 + } + ], + "uuid": "b0317935-2c48-7fad-d814-2dafc0acfdc4", + "time": 4.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-10", + "y": 0, + "z": 0 + } + ], + "uuid": "67407c1e-1d3e-1791-dd93-398dd873ef37", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "0ba4bec8-e8f2-76a1-90db-3b7ba69c64bb": { + "name": "Mob3", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "-80", + "z": "0" + } + ], + "uuid": "08a591cc-a54d-65c5-ef0d-ff1f3044f541", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "-60", + "z": 0 + } + ], + "uuid": "31cd814e-34ce-c648-3497-70f3e143e373", + "time": 1.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -26, + "y": "0", + "z": 5 + } + ], + "uuid": "f990578c-8bce-fa0f-0d4f-70527faadc9d", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -17, + "y": 0, + "z": 9 + } + ], + "uuid": "e752a042-6398-57e2-6271-f8d989f09002", + "time": 1.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -17, + "y": 0, + "z": 9 + } + ], + "uuid": "fe070b5c-02fd-2da5-d4e9-337615b79f57", + "time": 4.15, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -19, + "y": 0, + "z": 8 + } + ], + "uuid": "332efdb6-cdb9-4435-703e-8cb9910ecfd9", + "time": 4.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -25.05, + "y": 0, + "z": 6.42 + } + ], + "uuid": "f4aad724-b440-b817-a9a8-c26caca848f8", + "time": 0.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -23.1, + "y": 0, + "z": 5.84 + } + ], + "uuid": "3c7336ff-0840-17ac-f2f6-fa99c8cf4916", + "time": 0.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -24.15, + "y": 0, + "z": 7.26 + } + ], + "uuid": "a173b199-1f7c-a0c2-596f-62c90a1d4c20", + "time": 0.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -21.2, + "y": 0, + "z": 6.68 + } + ], + "uuid": "b3ec3cbb-ae2e-ba54-8ecc-0d6daa1c188c", + "time": 0.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -20.25, + "y": 0, + "z": 8.1 + } + ], + "uuid": "9b8fe32a-1698-8c88-d370-59360b24bbae", + "time": 1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -21.31, + "y": 0, + "z": 6.52 + } + ], + "uuid": "16746711-b3c4-8b98-f072-f688f06ab685", + "time": 1.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -19.36, + "y": 0, + "z": 8.94 + } + ], + "uuid": "75ac79ad-fe98-f38a-3535-c827f38568e5", + "time": 1.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -19.42, + "y": 0, + "z": 8.36 + } + ], + "uuid": "d18872ca-08d1-fc7f-e5a8-1709c2718b9b", + "time": 1.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -16.47, + "y": 0, + "z": 7.79 + } + ], + "uuid": "a825e2da-7057-7bc6-5434-b2472b36e9ac", + "time": 1.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -18, + "y": 0, + "z": 8 + } + ], + "uuid": "e5680c47-4882-3757-b35a-4e58c8169906", + "time": 2.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -17, + "y": 0, + "z": 8 + } + ], + "uuid": "c3ceb0d9-257b-9c05-4ee7-9207cd6207cd", + "time": 2.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -18, + "y": 0, + "z": 10 + } + ], + "uuid": "8f3c2d1a-29c1-3f81-89b0-504b532cd672", + "time": 2.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -17, + "y": 0, + "z": 8 + } + ], + "uuid": "795536d0-1535-8e80-13a8-1c25aef290e9", + "time": 2.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -16, + "y": 0, + "z": 8 + } + ], + "uuid": "4b61e73e-77ed-f448-fa1e-dc3cabeeb508", + "time": 2.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -18, + "y": 0, + "z": 10 + } + ], + "uuid": "c8d1c83c-5afe-62eb-6606-f8b8e14cbca4", + "time": 3.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -17, + "y": 0, + "z": 8 + } + ], + "uuid": "50d2c9d8-b374-8514-6f83-d71469d704dd", + "time": 3.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -16, + "y": 0, + "z": 9 + } + ], + "uuid": "387d42e3-e579-b9ae-e61e-5a54e5e6a6b5", + "time": 3.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -18, + "y": 0, + "z": 10 + } + ], + "uuid": "d68b1fa4-5606-3a5a-ee89-1cf8bb4d7773", + "time": 3.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -18, + "y": 0, + "z": 9 + } + ], + "uuid": "a8a1e9e0-606f-bf17-4cac-f1797f2a7c83", + "time": 3.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "f7571e5e-8754-e42d-5171-349a407951f0": { + "name": "Mob3RightArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -95, + "y": "0", + "z": "0" + } + ], + "uuid": "6a842dac-f660-8a49-14f8-81c2a747e6dd", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -120, + "y": 0, + "z": 0 + } + ], + "uuid": "c46336d7-11b3-3b4c-6e28-af0a1f41f056", + "time": 0.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": 0, + "z": 0 + } + ], + "uuid": "cfc25ba7-4a13-adbf-7f9a-a885ee0b3bae", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -120, + "y": 0, + "z": 0 + } + ], + "uuid": "188f5891-32b4-88ca-03fa-ce9f83bd1a8e", + "time": 0.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": 0, + "z": 0 + } + ], + "uuid": "8504c68c-c6b9-cb8f-0f28-1c9fa7075803", + "time": 1.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -120, + "y": 0, + "z": 0 + } + ], + "uuid": "2ffbb5d3-bf5f-37ce-b07d-42f97a059896", + "time": 1.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": 0, + "z": 0 + } + ], + "uuid": "02a224e8-62a4-0ddc-ec58-e28a410853a7", + "time": 1.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -120, + "y": 0, + "z": 0 + } + ], + "uuid": "a9b3bc96-1485-c3c7-5b29-c67f22a146b3", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": 0, + "z": 0 + } + ], + "uuid": "011e8729-1952-8def-f22d-78008a15acc1", + "time": 2.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -120, + "y": 0, + "z": 0 + } + ], + "uuid": "aecd4e19-3aff-9940-a3a2-2e684386c7eb", + "time": 2.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": 0, + "z": 0 + } + ], + "uuid": "ca9c9e0d-b773-627f-29e7-bffe6a232856", + "time": 2.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -120, + "y": 0, + "z": 0 + } + ], + "uuid": "b32f7e27-b6c2-702f-9af3-882205c3c47e", + "time": 2.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": 0, + "z": 0 + } + ], + "uuid": "9219ded3-d954-31f1-13f8-16672bd1e82b", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -120, + "y": 0, + "z": 0 + } + ], + "uuid": "56ed0194-7db2-9484-1605-7fd9a98cbc22", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": 0, + "z": 0 + } + ], + "uuid": "8da6caee-00db-ee8b-7a1d-1341e4059ed8", + "time": 3.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -120, + "y": 0, + "z": 0 + } + ], + "uuid": "fb3b9b84-4620-5cd7-03b7-fcce3b627d4e", + "time": 3.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": 0, + "z": 0 + } + ], + "uuid": "fcf18f26-a304-6666-323b-bb85b7833599", + "time": 4.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -20, + "y": 0, + "z": 0 + } + ], + "uuid": "ed530fa2-f66d-19fb-bc25-51c63078f694", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "1e6c7dd8-4bf3-0fca-1ac8-9c6072c199ed": { + "name": "Mob3RightLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -20, + "y": "0", + "z": "0" + } + ], + "uuid": "a225a292-2a67-0790-9078-79dd4b8cf1bf", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": "0", + "z": "0" + } + ], + "uuid": "7120d830-8e63-c17c-719d-c208ef80b4a5", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "20", + "y": 0, + "z": 0 + } + ], + "uuid": "2935b978-c7f5-4516-fcd3-9f3ac8c9359f", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": 0, + "z": 0 + } + ], + "uuid": "af132f43-e187-b828-d7dd-86152eabab8a", + "time": 4.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "20", + "y": 0, + "z": 0 + } + ], + "uuid": "7f17faf7-7e6b-7bf7-3b76-99c6a13a1b1b", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "48289d5c-6e65-9104-4255-1cdf87a34266": { + "name": "Mob3LeftLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 20, + "y": "0", + "z": "0" + } + ], + "uuid": "b961c9a2-4c8f-fb05-af70-40a957c01776", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 20, + "y": "0", + "z": "0" + } + ], + "uuid": "d959cc9f-90f7-b6c0-9351-eee68b59c26c", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-20", + "y": 0, + "z": 0 + } + ], + "uuid": "04f3ba15-dc23-f4ee-d687-4c1f4e38190e", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 20, + "y": 0, + "z": 0 + } + ], + "uuid": "fbc02e28-1586-6409-01cb-f51f6e4017ef", + "time": 4.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-10", + "y": 0, + "z": 0 + } + ], + "uuid": "d807195b-9543-d827-31a8-3234dc679200", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "eeb5d6d3-eabc-8f23-b366-7669a4a3a91c": { + "name": "Mob4", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "160", + "z": "0" + } + ], + "uuid": "40c7eac8-4668-5292-f2b5-4e2b4a9ad89b", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "150", + "z": 0 + } + ], + "uuid": "b2756180-7b61-0f4d-441d-3a6b701b0eee", + "time": 1.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 13, + "y": 0, + "z": -23 + } + ], + "uuid": "a34e462c-f526-f0ab-fd6e-c3ab9a4ed5d2", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "10", + "y": 0, + "z": "-17" + } + ], + "uuid": "76907b80-ea42-319f-99f5-79172d69009b", + "time": 1.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 10, + "y": 0, + "z": -17 + } + ], + "uuid": "c2155d05-b4b1-ab92-fb22-9b116ff03941", + "time": 4.15, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "11", + "y": 0, + "z": "-19" + } + ], + "uuid": "44db9dfc-9904-cd4d-d555-5acdfb1f5936", + "time": 4.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 11.68, + "y": 0, + "z": -22.37 + } + ], + "uuid": "8f8114e7-728d-e211-1fbe-40bf67a05a99", + "time": 0.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 13.36, + "y": 0, + "z": -22.74 + } + ], + "uuid": "6cda8cdb-46e4-0f13-dd37-c348abba4ad9", + "time": 0.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 13.05, + "y": 0, + "z": -21.11 + } + ], + "uuid": "c9ce832b-dc7f-3f34-80a0-4ecbd6bacc13", + "time": 0.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 10.73, + "y": 0, + "z": -19.48 + } + ], + "uuid": "69d2346e-3ef2-6944-c868-b44b7e92bdbf", + "time": 0.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 11.42, + "y": 0, + "z": -18.85 + } + ], + "uuid": "bc6aeafb-a15e-1be6-13ed-be72d0ce2b54", + "time": 1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 12.1, + "y": 0, + "z": -20.22 + } + ], + "uuid": "a7050fa7-5fd9-cd4e-4397-6a9bbd043cc0", + "time": 1.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 9.79, + "y": 0, + "z": -19.59 + } + ], + "uuid": "58c51e13-f589-0e9a-473c-1f473a9c9411", + "time": 1.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 11.47, + "y": 0, + "z": -17.95 + } + ], + "uuid": "a4d3d006-051d-c034-d8a6-28f6d7bbfd79", + "time": 1.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 10.16, + "y": 0, + "z": -17.32 + } + ], + "uuid": "28f8f7a1-2679-fcad-08a3-56050f2e3b7c", + "time": 1.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 9, + "y": 0, + "z": -16 + } + ], + "uuid": "c92e6165-049d-96d5-64eb-7e7574dca6a2", + "time": 2.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 10, + "y": 0, + "z": -18 + } + ], + "uuid": "e437d0c3-003a-67ed-1710-5475571b4c13", + "time": 2.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 11, + "y": 0, + "z": -16 + } + ], + "uuid": "6ccb0605-fd40-7c33-1f16-05f013408009", + "time": 2.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 9, + "y": 0, + "z": -18 + } + ], + "uuid": "cfcab336-0cdc-f389-4c6d-4bf5fa19b48d", + "time": 2.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 11, + "y": 0, + "z": -17 + } + ], + "uuid": "5586b51f-2cba-b005-61f0-27b35fc84988", + "time": 2.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 10, + "y": 0, + "z": -16 + } + ], + "uuid": "b5dc8193-c5d5-5b47-611d-e7b27efdd714", + "time": 3.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 10, + "y": 0, + "z": -18 + } + ], + "uuid": "2446e1b6-1944-7396-c244-82baa4b30df3", + "time": 3.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 9, + "y": 0, + "z": -17 + } + ], + "uuid": "534021e6-24be-7c2d-2230-adf198e8cf15", + "time": 3.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 11, + "y": 0, + "z": -16 + } + ], + "uuid": "ce18df32-5fe9-a21b-75f1-57c339b8b378", + "time": 3.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 9, + "y": 0, + "z": -16 + } + ], + "uuid": "f5d586fc-807b-7f9f-0ea1-191c8ea707cb", + "time": 3.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "5ee1a0ee-86b4-892f-cdea-1657617f8179": { + "name": "Mob4LeftArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -95, + "y": "0", + "z": "0" + } + ], + "uuid": "64fc5032-3aff-74f8-9083-fd6af5daee8a", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -120, + "y": 0, + "z": 0 + } + ], + "uuid": "eac4a6e1-efaa-ab0a-ce29-6a2df0284147", + "time": 0.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": 0, + "z": 0 + } + ], + "uuid": "1119241e-3779-7e9e-80b7-94d202ab7bcf", + "time": 0.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -120, + "y": 0, + "z": 0 + } + ], + "uuid": "b6bce408-a800-03b2-6294-57b4dae489fb", + "time": 0.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": 0, + "z": 0 + } + ], + "uuid": "09c8c797-b198-457b-83dd-ac9de0ea4e97", + "time": 0.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -120, + "y": 0, + "z": 0 + } + ], + "uuid": "fe49a0f5-cbd8-f0a5-a9de-2fee3c7cfeef", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": 0, + "z": 0 + } + ], + "uuid": "01e30799-c938-83c1-2d6d-f7f702186eb6", + "time": 1.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -120, + "y": 0, + "z": 0 + } + ], + "uuid": "e6ab2331-a8a3-bd4d-3bba-39b1de8ca2e9", + "time": 1.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": 0, + "z": 0 + } + ], + "uuid": "8ea6129b-16ed-59d2-8c79-6b30a737e814", + "time": 1.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -120, + "y": 0, + "z": 0 + } + ], + "uuid": "745c8d50-02d8-a996-8ac2-4f5957f2bf94", + "time": 2.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": 0, + "z": 0 + } + ], + "uuid": "005d24f4-c197-6e47-78a9-48c6164a7b07", + "time": 2.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -120, + "y": 0, + "z": 0 + } + ], + "uuid": "702b376e-3de3-c144-e54c-15bcde402c02", + "time": 2.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": 0, + "z": 0 + } + ], + "uuid": "251a180c-4a2f-24e0-7256-07c2002ea230", + "time": 2.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -120, + "y": 0, + "z": 0 + } + ], + "uuid": "d4042aba-4665-1195-9bf4-8c3557b5963a", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": 0, + "z": 0 + } + ], + "uuid": "0abaed3e-e0c7-0ba6-e047-007a99ab6de2", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -120, + "y": 0, + "z": 0 + } + ], + "uuid": "fb05a9d8-1a78-00e9-021c-e10299df13a1", + "time": 3.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": 0, + "z": 0 + } + ], + "uuid": "9d5ed52d-995b-21ee-59a3-b14ecbbfbebb", + "time": 3.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": 0, + "z": 0 + } + ], + "uuid": "728e61ae-5b04-e032-f270-19e0421b0a99", + "time": 4.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -20, + "y": 0, + "z": 0 + } + ], + "uuid": "3a166cb9-9066-c797-a59d-e29f2d6228cb", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "848e042d-8b9f-bc88-9bb1-7879afc3e558": { + "name": "Mob4RightLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 20, + "y": "0", + "z": "0" + } + ], + "uuid": "d7ab15c9-2744-2578-cc6f-2f34ed6945d6", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 20, + "y": "0", + "z": "0" + } + ], + "uuid": "1f6d7423-9dd5-6aa1-8c1c-1163e21e0e57", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-20", + "y": 0, + "z": 0 + } + ], + "uuid": "8b506e1a-ef2f-4fdd-c80c-b79912c33602", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 20, + "y": 0, + "z": 0 + } + ], + "uuid": "2422bd21-8ff1-f3a6-0986-3fdb1d8346a7", + "time": 4.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-10", + "y": 0, + "z": 0 + } + ], + "uuid": "7dcfb786-c975-e182-f9e4-4276b7d776c5", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "07abb791-f8dc-48c3-1093-a33da5695417": { + "name": "Mob4LeftLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -20, + "y": "0", + "z": "0" + } + ], + "uuid": "839bcf4c-b7c1-a5fa-3970-ff586b129894", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": "0", + "z": "0" + } + ], + "uuid": "fea47082-4549-1c7c-05c2-9a81ba524b67", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "20", + "y": 0, + "z": 0 + } + ], + "uuid": "361ea979-567e-8183-0363-df8f7a9cc61b", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": 0, + "z": 0 + } + ], + "uuid": "2f5ad278-11ae-7cec-7bbe-96ca87b53646", + "time": 4.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "20", + "y": 0, + "z": 0 + } + ], + "uuid": "24cee85c-3b7e-d0ff-d816-23502f9ed322", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "085d737a-b0f8-93d5-e166-9683523f8861": { + "name": "Mob5", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "120", + "z": "0" + } + ], + "uuid": "529f36ee-c759-0830-aab8-1f84b83acb38", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "110", + "z": 0 + } + ], + "uuid": "c62fdf76-e561-9f4c-1ec8-4df97760d216", + "time": 1.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "25", + "y": "0", + "z": "-12" + } + ], + "uuid": "39d53ef2-feb0-aa27-57e0-e94ae4daf92a", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "17", + "y": 0, + "z": "-6" + } + ], + "uuid": "285a76b8-2590-6a17-225e-96ca164fac3a", + "time": 1.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "19", + "y": 0, + "z": "-7.5" + } + ], + "uuid": "2c36f0c2-4adb-022d-9f3c-1df8e3cf2f61", + "time": 4.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 17, + "y": 0, + "z": -6 + } + ], + "uuid": "c3ad231a-864f-3a06-5e4d-1a24610ebadc", + "time": 4.15, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 25.16, + "y": 0, + "z": -11.37 + } + ], + "uuid": "f671d03c-5725-67aa-8db0-88ba677bcca9", + "time": 0.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 23.32, + "y": 0, + "z": -11.74 + } + ], + "uuid": "953babd5-d611-6f93-576e-15d4860e59e5", + "time": 0.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 21.48, + "y": 0, + "z": -9.11 + } + ], + "uuid": "d30e4bc2-ce48-f6e1-cc69-e9eebcbdd384", + "time": 0.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 20.64, + "y": 0, + "z": -9.48 + } + ], + "uuid": "0a7653e8-2183-170c-5684-4607ee60e606", + "time": 0.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 21.8, + "y": 0, + "z": -9.85 + } + ], + "uuid": "3a2ff124-dc5f-afde-1e49-06e60bb8c8d5", + "time": 1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 18.96, + "y": 0, + "z": -9.22 + } + ], + "uuid": "c1c631a7-78a3-ee7d-96c1-6b9a97665a07", + "time": 1.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 20.11, + "y": 0, + "z": -6.59 + } + ], + "uuid": "53e5f4a6-c2ec-d8af-a4b8-c53237ce545f", + "time": 1.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 18.27, + "y": 0, + "z": -7.95 + } + ], + "uuid": "b14952d0-6b7c-f0f9-0ba6-82682f6f97be", + "time": 1.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 17.42, + "y": 0, + "z": -6.32 + } + ], + "uuid": "3bcc1f32-2fb1-ba13-8bbd-3972d2c94bb4", + "time": 1.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 18, + "y": 0, + "z": -6 + } + ], + "uuid": "ae495603-4551-452f-3845-9c6dad49a666", + "time": 2.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 16, + "y": 0, + "z": -5 + } + ], + "uuid": "5555fde6-b42a-af2c-0ee3-c607de35451d", + "time": 2.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 18, + "y": 0, + "z": -7 + } + ], + "uuid": "80cf07ca-532c-256e-bfb3-43ddd723a0c4", + "time": 2.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 16, + "y": 0, + "z": -6 + } + ], + "uuid": "5ad0405e-d347-f695-0a25-3cb3737bfad9", + "time": 2.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 17, + "y": 0, + "z": -5 + } + ], + "uuid": "63ab1fff-427f-15e3-9eb9-ab5ea18a0ec5", + "time": 2.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 17, + "y": 0, + "z": -7 + } + ], + "uuid": "f8f60649-4758-3094-7ad0-42f78b6380bc", + "time": 3.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 16, + "y": 0, + "z": -7 + } + ], + "uuid": "702a7f27-ce9c-aa1c-7d46-34a2dbd84509", + "time": 3.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 18, + "y": 0, + "z": -6 + } + ], + "uuid": "f4982354-39a7-db36-6360-0be87a5f6dc7", + "time": 3.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 16, + "y": 0, + "z": -6 + } + ], + "uuid": "a6d008ae-dc8b-8cd8-efe9-3ceccef7d684", + "time": 3.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 16, + "y": 0, + "z": -5 + } + ], + "uuid": "51682924-9507-3db5-64f3-d682d5e40a34", + "time": 3.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "68868359-f8b6-bfc4-d672-3717477c2c13": { + "name": "Mob5LeftArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -95, + "y": "0", + "z": "0" + } + ], + "uuid": "1e5691ca-09f5-d4ee-75fb-e57f93d90aa4", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -120, + "y": 0, + "z": 0 + } + ], + "uuid": "dfd16064-a4b1-7f7a-5ce4-954c90141010", + "time": 0.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": 0, + "z": 0 + } + ], + "uuid": "0d54f9c1-3a21-8ac4-5061-0cd2225d5157", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -120, + "y": 0, + "z": 0 + } + ], + "uuid": "820b429b-fef4-7eb7-2d16-5811700a73e0", + "time": 0.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": 0, + "z": 0 + } + ], + "uuid": "de44a102-8abd-d50c-ef52-97e4c2a45daf", + "time": 1.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -120, + "y": 0, + "z": 0 + } + ], + "uuid": "6f98d0c8-3b78-dc69-8437-ca67d4a0a634", + "time": 1.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": 0, + "z": 0 + } + ], + "uuid": "541cbe7d-9ad6-fdfa-be02-8079e33cf865", + "time": 1.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -120, + "y": 0, + "z": 0 + } + ], + "uuid": "e8ae3cb4-ba2e-63bd-c1fe-fef762fcebac", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": 0, + "z": 0 + } + ], + "uuid": "b7b2483a-5bcf-7004-0808-85deef633d09", + "time": 2.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -120, + "y": 0, + "z": 0 + } + ], + "uuid": "96f9b356-671c-7a58-96a1-f6c158f5816e", + "time": 2.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": 0, + "z": 0 + } + ], + "uuid": "fe61c014-bc1c-4b43-99c4-887630ba9cdd", + "time": 2.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -120, + "y": 0, + "z": 0 + } + ], + "uuid": "7f6ab0bb-aad9-91e6-f24e-25c83a8ec29a", + "time": 2.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": 0, + "z": 0 + } + ], + "uuid": "2265f7b6-ab13-fcee-a195-545dbac39f89", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -120, + "y": 0, + "z": 0 + } + ], + "uuid": "a3caad78-c80c-08d0-a84b-e9ad4a615292", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": 0, + "z": 0 + } + ], + "uuid": "f1c988f1-b791-5e1d-9bd0-e0adf9b8cbf4", + "time": 3.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -120, + "y": 0, + "z": 0 + } + ], + "uuid": "15ac0509-0493-2ac7-84ed-1f7ee1e319dc", + "time": 3.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": 0, + "z": 0 + } + ], + "uuid": "107add4f-ea69-3c64-a51f-9c3add3eaeaa", + "time": 4.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -20, + "y": 0, + "z": 0 + } + ], + "uuid": "16dc04fe-1308-f4e7-c5cf-783d9c8d8d8f", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "67f2b7ac-ae33-ab7c-e032-b3b47223aa19": { + "name": "Mob5RightLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 20, + "y": "0", + "z": "0" + } + ], + "uuid": "f6f64cf8-5c96-0bd5-8170-11548e733ec8", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 20, + "y": "0", + "z": "0" + } + ], + "uuid": "5a5eca1f-0993-ebf5-ab47-11da36de81e6", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-20", + "y": 0, + "z": 0 + } + ], + "uuid": "dfc5eec3-e796-1ae7-c2ec-fa804401ff9f", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 20, + "y": 0, + "z": 0 + } + ], + "uuid": "e31e1067-8504-e769-2663-82cb2a345c9b", + "time": 4.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-10", + "y": 0, + "z": 0 + } + ], + "uuid": "c453a76f-8224-4abb-70ae-f8fdcc69ba91", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "138973de-dc2b-5ff2-d645-a32e7330db7a": { + "name": "Mob5LeftLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -20, + "y": "0", + "z": "0" + } + ], + "uuid": "35b5af26-57ab-27af-b3b9-000a8fa7c277", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": "0", + "z": "0" + } + ], + "uuid": "ce6ab550-62a0-5713-4db3-89fc7ab1295e", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "20", + "y": 0, + "z": 0 + } + ], + "uuid": "cd5c0b9b-ecb3-fbe0-2e8c-b6ac90b14b44", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": 0, + "z": 0 + } + ], + "uuid": "04f13525-c433-ce62-eb2e-962c5ed5a82e", + "time": 4.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "20", + "y": 0, + "z": 0 + } + ], + "uuid": "e7248f41-39f6-8d4f-6f76-7aca8590d333", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "458eaea6-06b6-8ed5-26df-a89a3eb621db": { + "name": "Mob6", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "80", + "z": "0" + } + ], + "uuid": "0918aff9-b846-398e-4e3e-1404cd0234bc", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "60", + "z": 0 + } + ], + "uuid": "0f0a4633-c6d9-cc14-8077-2af1906f16a7", + "time": 1.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "26", + "y": "0", + "z": 5 + } + ], + "uuid": "0173b079-6f6d-c265-489f-7807ebd0d173", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "17", + "y": 0, + "z": "9" + } + ], + "uuid": "d9c7d900-4fc9-8885-2f85-f6c03b07e275", + "time": 1.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 17, + "y": 0, + "z": 9 + } + ], + "uuid": "cf781011-960e-b82b-4ea9-a9e4ba45dac3", + "time": 4.15, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "19", + "y": 0, + "z": "8" + } + ], + "uuid": "29a69de0-e6fe-0b19-fee1-b1c9a8265d53", + "time": 4.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 25.05, + "y": 0, + "z": 6.42 + } + ], + "uuid": "f481033c-806a-b13d-2d63-28718e27bb0d", + "time": 0.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 23.1, + "y": 0, + "z": 4.84 + } + ], + "uuid": "1816b198-35fb-4945-9a1b-4257f050953e", + "time": 0.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 24.15, + "y": 0, + "z": 6.26 + } + ], + "uuid": "543a1671-8e94-0ef5-251a-51ddc7bd37d4", + "time": 0.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 21.2, + "y": 0, + "z": 6.68 + } + ], + "uuid": "b06a5329-4015-73a5-2386-d716708910f0", + "time": 0.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 22.25, + "y": 0, + "z": 6.1 + } + ], + "uuid": "acc5f632-dfdc-c254-a45e-20ed20aa9bb3", + "time": 1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 20.31, + "y": 0, + "z": 8.52 + } + ], + "uuid": "831ec3c7-5feb-b6a8-7306-ecc3e6f469c2", + "time": 1.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 18.36, + "y": 0, + "z": 8.94 + } + ], + "uuid": "5ca7ef48-6213-105e-f43b-a379d4cd29ea", + "time": 1.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 18.42, + "y": 0, + "z": 7.36 + } + ], + "uuid": "7f7e75aa-7670-2e67-08e0-a5b489228a3d", + "time": 1.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 18.47, + "y": 0, + "z": 7.79 + } + ], + "uuid": "a2c142bc-9fc5-ce7f-5f67-052c9787938b", + "time": 1.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 16, + "y": 0, + "z": 9 + } + ], + "uuid": "deea02f1-91e6-033b-ae9d-82fe750d7de1", + "time": 2.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 17, + "y": 0, + "z": 10 + } + ], + "uuid": "110a6219-61fb-60c9-62e1-c77c9d8c9c0c", + "time": 2.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 18, + "y": 0, + "z": 8 + } + ], + "uuid": "b0474c31-b634-b4ea-c6eb-6d0f617ff8d3", + "time": 2.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 16, + "y": 0, + "z": 9 + } + ], + "uuid": "c5d50556-2fe5-f6ab-e21e-6206a7250598", + "time": 2.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 16, + "y": 0, + "z": 10 + } + ], + "uuid": "1b1a04e0-5485-b938-a5fb-e519e188825e", + "time": 2.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 18, + "y": 0, + "z": 9 + } + ], + "uuid": "0d6c84c6-4961-7321-f60b-5bd94fd21ed8", + "time": 3.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 16, + "y": 0, + "z": 8 + } + ], + "uuid": "0bd9dbb6-e837-e479-695b-fd20d181f590", + "time": 3.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 18, + "y": 0, + "z": 9 + } + ], + "uuid": "bd0a6067-72e4-77d5-f696-092ff5a4a05a", + "time": 3.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 16, + "y": 0, + "z": 10 + } + ], + "uuid": "0a3f59c6-1c47-7184-985a-bb9130285193", + "time": 3.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 17, + "y": 0, + "z": 8 + } + ], + "uuid": "2df0d7db-bf0e-13bb-15d9-a3be6cfe9dcd", + "time": 3.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "6f736ec1-75f2-661f-d4bd-d690764ef965": { + "name": "Mob6LeftArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": "0", + "z": "0" + } + ], + "uuid": "99728dfc-8fee-6d0f-555f-0e4cda4e7d3e", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -120, + "y": 0, + "z": 0 + } + ], + "uuid": "dfeb3bb3-04c0-39be-a879-744addab7b9a", + "time": 0.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": 0, + "z": 0 + } + ], + "uuid": "b6c04a25-6c6c-a5b9-5771-ab46334bcbcc", + "time": 0.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -120, + "y": 0, + "z": 0 + } + ], + "uuid": "8b3701a6-6acf-002d-a6da-bec355509ea4", + "time": 0.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": 0, + "z": 0 + } + ], + "uuid": "aa07319e-ad14-e415-82fd-c26af2d4f9c0", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -120, + "y": 0, + "z": 0 + } + ], + "uuid": "bcdf94d3-e754-8f02-467d-e21518816bae", + "time": 1.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": 0, + "z": 0 + } + ], + "uuid": "cf4a2a50-1e22-b305-ee85-2c7644b41f50", + "time": 1.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -120, + "y": 0, + "z": 0 + } + ], + "uuid": "8c698ccd-34bc-cac7-97f5-ee1e6997dd51", + "time": 1.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": 0, + "z": 0 + } + ], + "uuid": "2d220035-1ec5-cfee-fd22-99ea7598da62", + "time": 1.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -120, + "y": 0, + "z": 0 + } + ], + "uuid": "649e8407-0d52-5009-45ba-8d11a065eb50", + "time": 2.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": 0, + "z": 0 + } + ], + "uuid": "1f3a7833-897e-26da-c0c0-346b696fdef5", + "time": 2.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -120, + "y": 0, + "z": 0 + } + ], + "uuid": "fb5abccf-aca1-0b77-e356-de572dee31cc", + "time": 2.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": 0, + "z": 0 + } + ], + "uuid": "9888d8f2-9d9f-ec66-1dec-e69898a9dcf2", + "time": 2.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -120, + "y": 0, + "z": 0 + } + ], + "uuid": "b3548dae-c8ae-c5bf-95f1-5c7e3629cdb1", + "time": 3.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": 0, + "z": 0 + } + ], + "uuid": "f6fdef3d-fa5e-084e-17cb-dac190f48d55", + "time": 3.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -120, + "y": 0, + "z": 0 + } + ], + "uuid": "77b7a6c4-6f6c-6580-fbb3-cec8b38120c8", + "time": 3.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": 0, + "z": 0 + } + ], + "uuid": "5abec112-d833-432d-6e31-d1a5ca40ffdb", + "time": 3.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-95", + "y": 0, + "z": 0 + } + ], + "uuid": "19a7d332-b360-8441-f96c-7b95d195cbe9", + "time": 4.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -20, + "y": 0, + "z": 0 + } + ], + "uuid": "5082a8c6-8036-3a6d-ab75-6c5b4df723ed", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "16a244fa-837a-c4bf-df5e-74fca18cd828": { + "name": "Mob6RightLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 20, + "y": "0", + "z": "0" + } + ], + "uuid": "ee8612f9-e29f-b015-c597-0a973359bd59", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 20, + "y": "0", + "z": "0" + } + ], + "uuid": "47664489-2ecc-b44d-cdb1-dc7b2af20768", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-20", + "y": 0, + "z": 0 + } + ], + "uuid": "1d266c30-7ebf-37d1-e7d3-31506fb0c319", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 20, + "y": 0, + "z": 0 + } + ], + "uuid": "37bbf088-3ee5-b645-54c8-a99344ba4fe7", + "time": 4.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-10", + "y": 0, + "z": 0 + } + ], + "uuid": "6c3034c6-f34b-110f-ded7-56f61c71d47e", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "4a32bd91-7295-3554-2bd7-1b4c1f564d54": { + "name": "Mob6LeftLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -20, + "y": "0", + "z": "0" + } + ], + "uuid": "bfa032cd-48a3-2a86-5067-c564d540f292", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": "0", + "z": "0" + } + ], + "uuid": "0669ae47-5832-3db1-e0e9-03d6f3b4d708", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "20", + "y": 0, + "z": 0 + } + ], + "uuid": "2558ac98-397d-5eed-45de-1727c60ef6a1", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": 0, + "z": 0 + } + ], + "uuid": "cdc8a635-caf8-5f91-25ac-3c1373d605ba", + "time": 4.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "20", + "y": 0, + "z": 0 + } + ], + "uuid": "e8ffef3a-4fb2-1761-e30e-cbb7fe7d4fe0", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "cd960919-b245-bafc-10d0-332d4dddc85f": { + "name": "DrinkBottle1", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "90", + "y": "0", + "z": "0" + } + ], + "uuid": "90663ecb-c623-8826-0523-2a54201e1b02", + "time": 0.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 90, + "y": -15, + "z": 0 + } + ], + "uuid": "4bd89e27-2ccf-68c4-dbf5-80cd373d8c8b", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -6, + "y": 12, + "z": 1.5 + } + ], + "uuid": "ad541db1-3ffc-837e-947c-c650c9cc39ee", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -5.5, + "y": 12, + "z": 1.5 + } + ], + "uuid": "0ea080af-a3ff-08d9-4761-f5cc0f98fd09", + "time": 0.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "682435de-9ad3-7359-1a28-f7a31045a746": { + "name": "DrinkBottle2", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "7c85c237-a978-62a7-98d7-603ced683038", + "time": 4.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 60, + "y": 0, + "z": 0 + } + ], + "uuid": "f51a2752-d041-bd9f-8a6d-0bebbe602fe0", + "time": 4.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 100.34527, + "y": 14.76689, + "z": 2.66399 + } + ], + "uuid": "1edfdd5e-a0a2-8470-c859-a344ce0271cf", + "time": 4.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -1, + "y": 17.5, + "z": -3 + } + ], + "uuid": "5d0c29b9-bdad-1feb-43c9-e5aa1409f12e", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -1, + "y": 17.5, + "z": -3 + } + ], + "uuid": "2056e822-1e9c-3f7b-33cf-64ee418d55b2", + "time": 4.1, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.25333, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.25333, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -1, + "y": 0.5, + "z": -2 + } + ], + "uuid": "46676ffe-eab5-80b6-8923-c2ee8762fe98", + "time": 4.5, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3ed04c87-d0cd-b702-49d9-938f8d02aa15": { + "name": "DrinkBottle3", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "99c37766-2677-dd6d-a1bf-a3658494662e", + "time": 4.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 60, + "y": 0, + "z": 0 + } + ], + "uuid": "27904082-0b0e-ff25-34d3-78516c282d26", + "time": 4.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 101.50839, + "y": -29.4987, + "z": -5.72511 + } + ], + "uuid": "0388bfad-786c-bdd0-8932-f26645440d42", + "time": 4.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 1.5, + "y": 18, + "z": -2.5 + } + ], + "uuid": "9777c3c6-517b-8f3c-88d2-015c18a487d7", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 1.5, + "y": 18, + "z": -2.5 + } + ], + "uuid": "9d9a9826-d015-a399-be16-f452d25e9930", + "time": 4.1, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.24667, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.24667, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "1.5", + "y": 0.5, + "z": "-2" + } + ], + "uuid": "d13a15b5-d32a-4b2d-b0dc-10ec1f841092", + "time": 4.5, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Mari/models/ex_skill_3.bbmodel b/config/yosbr/config/figura/avatars/Mari/models/ex_skill_3.bbmodel new file mode 100644 index 0000000..8010509 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/models/ex_skill_3.bbmodel @@ -0,0 +1,7003 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "ex_skill_3", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 64, + "height": 197 + }, + "elements": [ + { + "name": "TrinityLogo", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.75, + 20.75, + -2.01 + ], + "to": [ + -1.75, + 21.75, + -2.01 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 5, + 0, + 24, + 19 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b2067a5b-b8aa-d4d4-578b-42fc9d020426" + }, + { + "name": "CircleEffect", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 7.5, + -0.5, + 52 + ], + "to": [ + 8.5, + 0.5, + 52 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 15, + 15 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "0c2ebb51-d957-4dfb-737a-9606f6a8924e" + }, + { + "name": "CircleEffect", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.5, + 15.5, + 52 + ], + "to": [ + -3.5, + 16.5, + 52 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 15, + 15 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d5f96e03-569c-d0fc-45d9-e63b80a323ce" + }, + { + "name": "UpperWave1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -92, + -30, + 0 + ], + "to": [ + 0, + 0, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -46, + -15, + 0 + ], + "faces": { + "north": { + "uv": [ + 15, + 15, + 61, + 0 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "37a64649-3e24-0bb0-dac4-e5e5a7b13eda" + }, + { + "name": "LowerWave1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -92, + -30, + 0 + ], + "to": [ + 0, + 0, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -46, + -15, + 0 + ], + "faces": { + "north": { + "uv": [ + 15, + 0, + 61, + 15 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "78831cad-88a0-6989-fb19-4c5eb55c5d83" + }, + { + "name": "StripeBackground1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -6, + -2, + 0 + ], + "to": [ + 0, + 0, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 15, + 20, + 18, + 21 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ] + } + }, + "type": "cube", + "uuid": "b78fde6f-7804-7a93-d1e9-8785c77c59e3" + }, + { + "name": "UpperLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -48, + 0 + ], + "to": [ + 0, + 0, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 31, + 0, + 32, + 16 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "2eb3c1f4-bfd1-f5be-24ef-1b086bddfe64" + }, + { + "name": "LowerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -48, + 0 + ], + "to": [ + 0, + 0, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -48, + 0 + ], + "faces": { + "north": { + "uv": [ + 31, + 16, + 32, + 0 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "655a64a3-22dd-0e00-0b12-4d79bf9f27f1" + }, + { + "name": "GradientBackground1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -32, + -1, + 0 + ], + "to": [ + 0, + 0, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 31, + 0, + 32, + 16 + ], + "rotation": 90, + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8410e714-f464-a12e-6770-b52760539d61" + }, + { + "name": "Circle1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -30, + -30, + 0 + ], + "to": [ + 0, + 0, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -15, + -15, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 15, + 15, + 30 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "16a5c858-2d5a-6df2-e4d5-05075506cdad" + }, + { + "name": "Shine1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -10, + -10, + 0 + ], + "to": [ + 0, + 0, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -5, + -5, + 0 + ], + "faces": { + "north": { + "uv": [ + 15, + 15, + 20, + 20 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "0f448452-7e42-8f23-9a70-9a3bba6b8697" + }, + { + "name": "CircleEffect", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 15.5, + 52 + ], + "to": [ + 0.5, + 16.5, + 52 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 15, + 15 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "0c1d7168-bdf1-8880-5be0-c8d03522a668" + }, + { + "name": "Background", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + -0.5, + 0 + ], + "to": [ + 0.5, + 0.5, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 18, + 20, + 19, + 21 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ae4b497e-9b62-276b-6bc8-2105163880f1" + }, + { + "name": "UpperCircle", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7.5, + 0.5, + -1 + ], + "to": [ + 7.5, + 6.5, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + -7.5, + 0.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 20, + 15, + 35, + 21 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6bfcea7b-0e60-11f9-7706-6f0044d4527c" + }, + { + "name": "CenterCircle", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7.5, + -0.5, + -1 + ], + "to": [ + 7.5, + 0.5, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -1 + ], + "faces": { + "north": { + "uv": [ + 20, + 21, + 35, + 22 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ] + } + }, + "type": "cube", + "uuid": "ffbca662-3471-560a-1a3b-e51560178bba" + }, + { + "name": "LowerCircle", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7.5, + -6.5, + -1 + ], + "to": [ + 7.5, + -0.5, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + -7.5, + 0.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 20, + 21, + 35, + 15 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "04324ca5-915b-2a4b-e04e-58576c7b568b" + }, + { + "name": "StageFloor", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -120, + 0, + -72 + ], + "to": [ + 120, + 32, + 168 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -48 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 240, + 32 + ], + "texture": 3 + }, + "east": { + "uv": [ + 0, + 0, + 240, + 32 + ], + "texture": 3 + }, + "south": { + "uv": [ + 0, + 0, + 240, + 32 + ], + "texture": 3 + }, + "west": { + "uv": [ + 0, + 0, + 240, + 32 + ], + "texture": 3 + }, + "up": { + "uv": [ + 0, + 0, + 240, + 240 + ], + "texture": 3 + }, + "down": { + "uv": [ + 0, + 0, + 240, + 240 + ], + "texture": 3 + } + }, + "type": "cube", + "uuid": "3104482f-2fff-f096-3c44-7e7b324b3ff3" + }, + { + "name": "SpotLightBase", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 32, + -69 + ], + "to": [ + 8, + 33, + -61 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -48 + ], + "faces": { + "north": { + "uv": [ + 15, + 21, + 16, + 22 + ], + "texture": 0 + }, + "east": { + "uv": [ + 15, + 21, + 16, + 22 + ], + "texture": 0 + }, + "south": { + "uv": [ + 15, + 21, + 16, + 22 + ], + "texture": 0 + }, + "west": { + "uv": [ + 15, + 21, + 16, + 22 + ], + "texture": 0 + }, + "up": { + "uv": [ + 15, + 21, + 16, + 22 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "c49d2c05-1a87-d19e-3a14-dbfde2ff9a5e" + }, + { + "name": "SpotLightArmLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 7, + 33, + -67 + ], + "to": [ + 8, + 38, + -63 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -48 + ], + "faces": { + "north": { + "uv": [ + 15, + 21, + 16, + 22 + ], + "texture": 0 + }, + "east": { + "uv": [ + 15, + 21, + 19, + 26 + ], + "texture": 0 + }, + "south": { + "uv": [ + 15, + 21, + 16, + 22 + ], + "texture": 0 + }, + "west": { + "uv": [ + 15, + 21, + 19, + 26 + ], + "texture": 0 + }, + "up": { + "uv": [ + 15, + 21, + 16, + 22 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "4eab15d7-c103-e84d-80a6-4e77ba02e273" + }, + { + "name": "SpotLightArmRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 33, + -67 + ], + "to": [ + 1, + 38, + -63 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -48 + ], + "faces": { + "north": { + "uv": [ + 15, + 21, + 16, + 22 + ], + "texture": 0 + }, + "east": { + "uv": [ + 15, + 21, + 19, + 26 + ], + "texture": 0 + }, + "south": { + "uv": [ + 15, + 21, + 16, + 22 + ], + "texture": 0 + }, + "west": { + "uv": [ + 15, + 21, + 19, + 26 + ], + "texture": 0 + }, + "up": { + "uv": [ + 15, + 21, + 16, + 22 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "78839fcc-74c2-605e-7575-7e9a9b650a59" + }, + { + "name": "SpotLightCore", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1, + 34, + -68 + ], + "to": [ + 7, + 40, + -60 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 38, + -65 + ], + "faces": { + "north": { + "uv": [ + 41, + 15, + 47, + 21 + ], + "texture": 0 + }, + "east": { + "uv": [ + 15, + 21, + 16, + 22 + ], + "texture": 0 + }, + "south": { + "uv": [ + 35, + 15, + 41, + 21 + ], + "texture": 0 + }, + "west": { + "uv": [ + 15, + 21, + 16, + 22 + ], + "texture": 0 + }, + "up": { + "uv": [ + 15, + 21, + 16, + 22 + ], + "texture": 0 + }, + "down": { + "uv": [ + 15, + 21, + 16, + 22 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f45164ab-3087-5de3-31cb-46c11349012e" + }, + { + "name": "SpotLightBase", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -80, + 32, + -69 + ], + "to": [ + -72, + 33, + -61 + ], + "autouv": 0, + "color": 0, + "origin": [ + -80, + 0, + -48 + ], + "faces": { + "north": { + "uv": [ + 15, + 21, + 16, + 22 + ], + "texture": 0 + }, + "east": { + "uv": [ + 15, + 21, + 16, + 22 + ], + "texture": 0 + }, + "south": { + "uv": [ + 15, + 21, + 16, + 22 + ], + "texture": 0 + }, + "west": { + "uv": [ + 15, + 21, + 16, + 22 + ], + "texture": 0 + }, + "up": { + "uv": [ + 15, + 21, + 16, + 22 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "4f220d53-1cbe-826c-dc50-ea014418b4b8" + }, + { + "name": "SpotLightArmRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -80, + 33, + -67 + ], + "to": [ + -79, + 38, + -63 + ], + "autouv": 0, + "color": 0, + "origin": [ + -80, + 0, + -48 + ], + "faces": { + "north": { + "uv": [ + 15, + 21, + 16, + 22 + ], + "texture": 0 + }, + "east": { + "uv": [ + 15, + 21, + 19, + 26 + ], + "texture": 0 + }, + "south": { + "uv": [ + 15, + 21, + 16, + 22 + ], + "texture": 0 + }, + "west": { + "uv": [ + 15, + 21, + 19, + 26 + ], + "texture": 0 + }, + "up": { + "uv": [ + 15, + 21, + 16, + 22 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5cd77071-678a-b615-6b11-b1b0f2d09363" + }, + { + "name": "SpotLightArmLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -73, + 33, + -67 + ], + "to": [ + -72, + 38, + -63 + ], + "autouv": 0, + "color": 0, + "origin": [ + -80, + 0, + -48 + ], + "faces": { + "north": { + "uv": [ + 15, + 21, + 16, + 22 + ], + "texture": 0 + }, + "east": { + "uv": [ + 15, + 21, + 19, + 26 + ], + "texture": 0 + }, + "south": { + "uv": [ + 15, + 21, + 16, + 22 + ], + "texture": 0 + }, + "west": { + "uv": [ + 15, + 21, + 19, + 26 + ], + "texture": 0 + }, + "up": { + "uv": [ + 15, + 21, + 16, + 22 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "aa53a950-e435-8ab6-68c7-b114aabd8ccd" + }, + { + "name": "SpotLightCore", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -79, + 34, + -68 + ], + "to": [ + -73, + 40, + -60 + ], + "autouv": 0, + "color": 0, + "origin": [ + -76, + 38, + -65 + ], + "faces": { + "north": { + "uv": [ + 41, + 15, + 47, + 21 + ], + "texture": 0 + }, + "east": { + "uv": [ + 15, + 21, + 16, + 22 + ], + "texture": 0 + }, + "south": { + "uv": [ + 35, + 15, + 41, + 21 + ], + "texture": 0 + }, + "west": { + "uv": [ + 15, + 21, + 16, + 22 + ], + "texture": 0 + }, + "up": { + "uv": [ + 15, + 21, + 16, + 22 + ], + "texture": 0 + }, + "down": { + "uv": [ + 15, + 21, + 16, + 22 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "782ffee2-d9e9-c94d-16cf-3412280ebb47" + }, + { + "name": "SpotLightBase", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 80, + 32, + -69 + ], + "to": [ + 88, + 33, + -61 + ], + "autouv": 0, + "color": 0, + "origin": [ + 80, + 0, + -48 + ], + "faces": { + "north": { + "uv": [ + 15, + 21, + 16, + 22 + ], + "texture": 0 + }, + "east": { + "uv": [ + 15, + 21, + 16, + 22 + ], + "texture": 0 + }, + "south": { + "uv": [ + 15, + 21, + 16, + 22 + ], + "texture": 0 + }, + "west": { + "uv": [ + 15, + 21, + 16, + 22 + ], + "texture": 0 + }, + "up": { + "uv": [ + 15, + 21, + 16, + 22 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "96f060d9-dc5a-12d9-ca89-f7f94b4a772b" + }, + { + "name": "SpotLightArmRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 80, + 33, + -67 + ], + "to": [ + 81, + 38, + -63 + ], + "autouv": 0, + "color": 0, + "origin": [ + 80, + 0, + -48 + ], + "faces": { + "north": { + "uv": [ + 15, + 21, + 16, + 22 + ], + "texture": 0 + }, + "east": { + "uv": [ + 15, + 21, + 19, + 26 + ], + "texture": 0 + }, + "south": { + "uv": [ + 15, + 21, + 16, + 22 + ], + "texture": 0 + }, + "west": { + "uv": [ + 15, + 21, + 19, + 26 + ], + "texture": 0 + }, + "up": { + "uv": [ + 15, + 21, + 16, + 22 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "aba1f3a4-643c-7149-151e-3b3a83185cf5" + }, + { + "name": "SpotLightArmLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 87, + 33, + -67 + ], + "to": [ + 88, + 38, + -63 + ], + "autouv": 0, + "color": 0, + "origin": [ + 80, + 0, + -48 + ], + "faces": { + "north": { + "uv": [ + 15, + 21, + 16, + 22 + ], + "texture": 0 + }, + "east": { + "uv": [ + 15, + 21, + 19, + 26 + ], + "texture": 0 + }, + "south": { + "uv": [ + 15, + 21, + 16, + 22 + ], + "texture": 0 + }, + "west": { + "uv": [ + 15, + 21, + 19, + 26 + ], + "texture": 0 + }, + "up": { + "uv": [ + 15, + 21, + 16, + 22 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ce269020-dda1-60a3-8944-2fd804657e3c" + }, + { + "name": "SpotLightCore", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 81, + 34, + -68 + ], + "to": [ + 87, + 40, + -60 + ], + "autouv": 0, + "color": 0, + "origin": [ + 84, + 38, + -65 + ], + "faces": { + "north": { + "uv": [ + 41, + 15, + 47, + 21 + ], + "texture": 0 + }, + "east": { + "uv": [ + 15, + 21, + 16, + 22 + ], + "texture": 0 + }, + "south": { + "uv": [ + 35, + 15, + 41, + 21 + ], + "texture": 0 + }, + "west": { + "uv": [ + 15, + 21, + 16, + 22 + ], + "texture": 0 + }, + "up": { + "uv": [ + 15, + 21, + 16, + 22 + ], + "texture": 0 + }, + "down": { + "uv": [ + 15, + 21, + 16, + 22 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "3052e234-0f09-0276-c51d-8ff749d4d474" + }, + { + "name": "StageStair1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -120, + 32, + 88 + ], + "to": [ + 120, + 40, + 168 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -48 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 8, + 80, + 16 + ], + "texture": 3 + }, + "south": { + "uv": [ + 0, + 8, + 240, + 16 + ], + "texture": 3 + }, + "west": { + "uv": [ + 0, + 8, + 80, + 16 + ], + "texture": 3 + }, + "up": { + "uv": [ + 0, + 0, + 240, + 80 + ], + "texture": 3 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5408e97c-8871-d3be-341e-886bfa6fbe1c" + }, + { + "name": "StageStair2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -56, + 40, + 88 + ], + "to": [ + 56, + 48, + 104 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -48 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 112, + 16 + ], + "texture": 3 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "fb6e3a25-8a86-72fd-dccf-440b344c0de2" + }, + { + "name": "StageStair3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -120, + 40, + 104 + ], + "to": [ + 120, + 48, + 168 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -48 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 64, + 8 + ], + "texture": 3 + }, + "south": { + "uv": [ + 0, + 0, + 240, + 8 + ], + "texture": 3 + }, + "west": { + "uv": [ + 0, + 0, + 64, + 8 + ], + "texture": 3 + }, + "up": { + "uv": [ + 0, + 0, + 240, + 64 + ], + "texture": 3 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5fc5e114-a9e1-9b0f-b4b7-e26f55589189" + }, + { + "name": "StageStair4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -72, + 32, + 72 + ], + "to": [ + 72, + 40, + 88 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -48 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 112, + 16 + ], + "texture": 3 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ba255073-0034-88ab-a12e-044e4c59e6e8" + }, + { + "name": "SpotLightEmissive", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2, + 35, + -60.1 + ], + "to": [ + 6, + 39, + -60.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 38, + -65 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 47, + 15, + 48, + 16 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "c4194cc3-511d-306e-e4df-5c42dd57770c" + }, + { + "name": "SpotLightEmissive", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -78, + 35, + -60.1 + ], + "to": [ + -74, + 39, + -60.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 38, + -65 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 47, + 15, + 48, + 16 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "40c2a234-7ee3-febf-bc1f-084b5d675f23" + }, + { + "name": "SpotLightEmissive", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 82, + 35, + -60.1 + ], + "to": [ + 86, + 39, + -60.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 38, + -65 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 47, + 15, + 48, + 16 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e15491a3-1ef9-80ea-3726-da076e69af97" + }, + { + "name": "StageEmissives1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 32, + 72 + ], + "to": [ + 72, + 40, + 72 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -48 + ], + "faces": { + "north": { + "uv": [ + 72, + 0, + 0, + 1 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e8ac1361-3a91-9e00-48f3-e0b27ca49a8e" + }, + { + "name": "StageEmissives2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 72, + 32, + 72 + ], + "to": [ + 72, + 40, + 88 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -48 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 88, + 0, + 72, + 1 + ], + "texture": 4 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "639f2727-18f8-15ed-6387-3747b6024462" + }, + { + "name": "StageEmissives3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 72, + 32, + 88 + ], + "to": [ + 120, + 40, + 88 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -48 + ], + "faces": { + "north": { + "uv": [ + 136, + 0, + 88, + 1 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "381240bb-256b-0ceb-75d6-6a4ea50fa940" + }, + { + "name": "StageEmissives4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 40, + 88 + ], + "to": [ + 56, + 48, + 88 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -48 + ], + "faces": { + "north": { + "uv": [ + 56, + 0, + 0, + 1 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "21ae33b2-5696-943b-e688-43a21e2a4be3" + }, + { + "name": "StageEmissives5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 56, + 40, + 88 + ], + "to": [ + 56, + 48, + 104 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -48 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 72, + 0, + 56, + 1 + ], + "texture": 4 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5954359d-08cf-2842-709f-be98d58b25d3" + }, + { + "name": "StageEmissives6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 56, + 40, + 104 + ], + "to": [ + 120, + 48, + 104 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -48 + ], + "faces": { + "north": { + "uv": [ + 136, + 0, + 72, + 1 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "288d4c2a-136c-bb17-8cf3-1e42aae68fb0" + }, + { + "name": "StageEmissives7", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -72, + 32, + 72 + ], + "to": [ + 0, + 40, + 72 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -48 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 72, + 1 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "250293f3-aad3-85e3-2b76-76c5c6c232ba" + }, + { + "name": "StageEmissives8", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -72, + 32, + 72 + ], + "to": [ + -72, + 40, + 88 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -48 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 72, + 0, + 88, + 1 + ], + "texture": 4 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f5a7f014-1d06-48b1-e8d2-17624234ddb7" + }, + { + "name": "StageEmissives9", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -120, + 32, + 88 + ], + "to": [ + -72, + 40, + 88 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -48 + ], + "faces": { + "north": { + "uv": [ + 88, + 0, + 136, + 1 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "19c755e0-4c16-3e0a-7ed3-fe2c03a093d4" + }, + { + "name": "StageEmissives10", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -56, + 40, + 88 + ], + "to": [ + 0, + 48, + 88 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -48 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 56, + 1 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "3a944ed2-aab5-6bbf-fd68-ab220d903e12" + }, + { + "name": "StageEmissives11", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -56, + 40, + 88 + ], + "to": [ + -56, + 48, + 104 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -48 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 56, + 0, + 72, + 1 + ], + "texture": 4 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f99ddfc4-619b-fd35-4d8c-ac3d38e386b7" + }, + { + "name": "StageEmissives12", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -120, + 40, + 104 + ], + "to": [ + -56, + 48, + 104 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -48 + ], + "faces": { + "north": { + "uv": [ + 72, + 0, + 136, + 1 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "de0a4ad4-bbce-1c52-e4c7-35dd103e725e" + }, + { + "name": "Background", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + -0.5, + 0 + ], + "to": [ + 0.5, + 0.5, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 55, + 1, + 136, + 2 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "61f22b13-bdd0-3c76-27b9-7116dfd6b6e1" + }, + { + "name": "Background", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -1, + 0 + ], + "to": [ + 0, + 0, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 20, + 20, + 21, + 21 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ca55747b-77c6-b54b-2dc8-6f7385b49668" + }, + { + "name": "Frame", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -1, + 1 + ], + "to": [ + 0, + 0, + 1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 1 + ], + "faces": { + "north": { + "uv": [ + 29, + 128, + 45, + 144 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ] + } + }, + "type": "cube", + "uuid": "efb8ca14-20a4-92a4-d1a9-1105a95b5268" + }, + { + "name": "PenLightBase", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 0, + -1 + ], + "to": [ + 1, + 6, + 1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 25, + 15, + 26, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 25, + 15, + 26, + 16 + ], + "texture": 0 + }, + "south": { + "uv": [ + 25, + 15, + 26, + 16 + ], + "texture": 0 + }, + "west": { + "uv": [ + 25, + 15, + 26, + 16 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 25, + 15, + 26, + 16 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f5ab3b37-6b15-342d-c75b-37166862b870" + }, + { + "name": "PenLightEmissive", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 6, + -1 + ], + "to": [ + 1, + 14, + 1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 48, + 15, + 50, + 23 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 15, + 50, + 23 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 15, + 50, + 23 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 15, + 50, + 23 + ], + "texture": 0 + }, + "up": { + "uv": [ + 48, + 15, + 50, + 16 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "add07473-803e-615c-9402-4bd9f237ebeb" + } + ], + "outliner": [ + { + "name": "Gui", + "origin": [ + 0, + 0, + 1 + ], + "color": 0, + "uuid": "60a8a0fc-0e55-4e51-676e-fbd621ca44fb", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Transition", + "origin": [ + 0, + 0, + 0 + ], + "rotation": [ + 0, + 0, + 45 + ], + "color": 0, + "uuid": "74df8106-cf64-ed53-2e72-467847496dea", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "CirclePillars", + "origin": [ + 0, + 0, + -1 + ], + "color": 0, + "uuid": "0937b2cf-5129-78a9-cf3e-3734e173320f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Pillar1", + "origin": [ + -7.5, + 0.5, + -1 + ], + "color": 0, + "uuid": "da14c495-e200-4ca5-ca49-38b45ba13f42", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "6bfcea7b-0e60-11f9-7706-6f0044d4527c", + "ffbca662-3471-560a-1a3b-e51560178bba", + "04324ca5-915b-2a4b-e04e-58576c7b568b" + ] + } + ] + }, + "ae4b497e-9b62-276b-6bc8-2105163880f1" + ] + }, + { + "name": "Scrollable", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "e7552f75-1bbd-444e-8741-5f954a426a4f", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Characters", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "22353563-61d7-e940-9230-67ea209b3409", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Pose1", + "origin": [ + 0, + 16, + 0 + ], + "color": 0, + "uuid": "ae4c1096-b8bb-ca2c-fdfb-a984037a6580", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "Pose2", + "origin": [ + 0, + 16, + 0 + ], + "color": 0, + "uuid": "c19464ac-c206-137f-a81b-6b07038821b7", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "CircleEffect2", + "origin": [ + 0, + 16, + 52 + ], + "color": 0, + "uuid": "ec467c08-d1e8-73ab-911f-d0d2c1603b41", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "0c1d7168-bdf1-8880-5be0-c8d03522a668" + ] + } + ] + }, + { + "name": "Pose3", + "origin": [ + 8, + 0, + -16 + ], + "color": 0, + "uuid": "857c5b08-1c62-cde7-b8e4-070d95ded62d", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "CircleEffect3", + "origin": [ + 8, + 0, + 52 + ], + "color": 0, + "uuid": "3b35228e-a875-9d65-1c25-0367dd2a94c1", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "0c2ebb51-d957-4dfb-737a-9606f6a8924e" + ] + } + ] + }, + { + "name": "Pose4", + "origin": [ + -4, + 16, + 0 + ], + "color": 0, + "uuid": "a131ab02-eb99-240e-660c-0b1cff7aa8fc", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "CircleEffect4", + "origin": [ + -4, + 16, + 52 + ], + "color": 0, + "uuid": "fd288c19-81e4-ce66-70cf-b20e876241a7", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d5f96e03-569c-d0fc-45d9-e63b80a323ce" + ] + } + ] + } + ] + }, + { + "name": "WaveBackground", + "origin": [ + 0, + 0, + 53 + ], + "color": 0, + "uuid": "3334c5b7-a6b0-86cb-9006-09e2f7f2f247", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "UpperWave", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "a5ca0af6-0263-34ab-b6d0-6bd1f6d142ae", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "37a64649-3e24-0bb0-dac4-e5e5a7b13eda" + ] + }, + { + "name": "LowerWave", + "origin": [ + 0, + -44, + 0 + ], + "color": 0, + "uuid": "0ab2df98-d3f2-abe1-2d75-dd0b2e071092", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "78831cad-88a0-6989-fb19-4c5eb55c5d83" + ] + } + ] + } + ] + }, + { + "name": "Scrollable2", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "8093598d-2ee3-7ae0-ab08-7b3a64a16433", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "16a5c858-2d5a-6df2-e4d5-05075506cdad", + "0f448452-7e42-8f23-9a70-9a3bba6b8697" + ] + }, + { + "name": "Background", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "3608dea1-123d-7b22-752f-b5a1432c7035", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "2eb3c1f4-bfd1-f5be-24ef-1b086bddfe64", + "655a64a3-22dd-0e00-0b12-4d79bf9f27f1", + { + "name": "GradientBackground", + "origin": [ + 0, + 0, + 0 + ], + "rotation": [ + 0, + 0, + 45 + ], + "color": 0, + "uuid": "d036997a-19e2-5963-126b-d12da5d2e281", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8410e714-f464-a12e-6770-b52760539d61" + ] + }, + { + "name": "StripeBackground", + "origin": [ + 0, + 0, + 0 + ], + "rotation": [ + 0, + 0, + 45 + ], + "color": 0, + "uuid": "4057adca-7f65-29df-1129-7b176d14148c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b78fde6f-7804-7a93-d1e9-8785c77c59e3" + ] + } + ] + }, + { + "name": "WhiteScreen", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "a13b6419-e5f1-9018-3f89-189982a8f48f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ca55747b-77c6-b54b-2dc8-6f7385b49668", + { + "name": "GOpacity", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "07113e55-77bf-44e0-a5fe-33c69d7d4f5c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + "efb8ca14-20a4-92a4-d1a9-1105a95b5268" + ] + }, + { + "name": "BTrinityLogo", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "0ef2db7c-5b74-932c-d3ed-4f9fdf95b2a0", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b2067a5b-b8aa-d4d4-578b-42fc9d020426" + ] + }, + { + "name": "ScrollableAnchor", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "72c54d6f-d201-098a-7538-3b4f09761f82", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "TransitionAnchor", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "98f474bb-fea5-67be-e4e2-0102c10b78a0", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "Stage", + "origin": [ + 0, + 0, + -48 + ], + "color": 0, + "uuid": "88a3ab57-dfc2-b157-ab48-e38c6e7c6a04", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "3104482f-2fff-f096-3c44-7e7b324b3ff3", + "5408e97c-8871-d3be-341e-886bfa6fbe1c", + "fb6e3a25-8a86-72fd-dccf-440b344c0de2", + "5fc5e114-a9e1-9b0f-b4b7-e26f55589189", + "ba255073-0034-88ab-a12e-044e4c59e6e8", + { + "name": "StageEmissives", + "origin": [ + 0, + 0, + -48 + ], + "color": 0, + "uuid": "0d362a4e-927a-a35c-a6cf-942fbba51ec8", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e8ac1361-3a91-9e00-48f3-e0b27ca49a8e", + "639f2727-18f8-15ed-6387-3747b6024462", + "381240bb-256b-0ceb-75d6-6a4ea50fa940", + "21ae33b2-5696-943b-e688-43a21e2a4be3", + "5954359d-08cf-2842-709f-be98d58b25d3", + "288d4c2a-136c-bb17-8cf3-1e42aae68fb0", + "250293f3-aad3-85e3-2b76-76c5c6c232ba", + "f5a7f014-1d06-48b1-e8d2-17624234ddb7", + "19c755e0-4c16-3e0a-7ed3-fe2c03a093d4", + "3a944ed2-aab5-6bbf-fd68-ab220d903e12", + "f99ddfc4-619b-fd35-4d8c-ac3d38e386b7", + "de0a4ad4-bbce-1c52-e4c7-35dd103e725e" + ] + }, + { + "name": "SpotLights", + "origin": [ + 0, + 0, + -48 + ], + "color": 0, + "uuid": "6b5be856-b133-2de0-1aae-28ee8e10f08e", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "SpotLight1", + "origin": [ + 4, + 32, + -65 + ], + "color": 0, + "uuid": "ae3c466c-c89d-dd6b-452e-a7c2c60c3df1", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "c49d2c05-1a87-d19e-3a14-dbfde2ff9a5e", + "78839fcc-74c2-605e-7575-7e9a9b650a59", + "4eab15d7-c103-e84d-80a6-4e77ba02e273", + { + "name": "SpotLight1Core", + "origin": [ + 4, + 38, + -65 + ], + "rotation": [ + -30, + 0, + 0 + ], + "color": 0, + "uuid": "a7ef7e3f-d8d5-d1aa-1759-309d94c850e4", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f45164ab-3087-5de3-31cb-46c11349012e", + "c4194cc3-511d-306e-e4df-5c42dd57770c" + ] + } + ] + }, + { + "name": "SpotLight2", + "origin": [ + -76, + 32, + -65 + ], + "rotation": [ + 0, + 25, + 0 + ], + "color": 0, + "uuid": "b064e975-c187-9a4c-9bbe-bc7526b05e0c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4f220d53-1cbe-826c-dc50-ea014418b4b8", + "5cd77071-678a-b615-6b11-b1b0f2d09363", + "aa53a950-e435-8ab6-68c7-b114aabd8ccd", + { + "name": "SpotLight2Core", + "origin": [ + -76, + 38, + -65 + ], + "rotation": [ + -30, + 0, + 0 + ], + "color": 0, + "uuid": "e1fa0fd2-6fb9-ec1f-18a1-6d9ad4280f50", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "782ffee2-d9e9-c94d-16cf-3412280ebb47", + "40c2a234-7ee3-febf-bc1f-084b5d675f23" + ] + } + ] + }, + { + "name": "SpotLight3", + "origin": [ + 84, + 32, + -65 + ], + "rotation": [ + 0, + -25, + 0 + ], + "color": 0, + "uuid": "620ef927-ac94-0b3e-fa7c-6440132f18eb", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "96f060d9-dc5a-12d9-ca89-f7f94b4a772b", + "aba1f3a4-643c-7149-151e-3b3a83185cf5", + "ce269020-dda1-60a3-8944-2fd804657e3c", + { + "name": "SpotLight3Core", + "origin": [ + 84, + 38, + -65 + ], + "rotation": [ + -30, + 0, + 0 + ], + "color": 0, + "uuid": "7da0aac6-cd86-5346-eb02-c3bef86fc29b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "3052e234-0f09-0276-c51d-8ff749d4d474", + "e15491a3-1ef9-80ea-3726-da076e69af97" + ] + } + ] + } + ] + }, + { + "name": "StageEmissiveStrength", + "origin": [ + 0, + 0, + -48 + ], + "color": 0, + "uuid": "1ce53e10-8a79-ac9b-7c0d-6ab6c4d9d6a4", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "PenLights", + "origin": [ + 0, + 0, + -48 + ], + "color": 0, + "uuid": "164fec8f-e1c5-c28d-877d-6e2cf1c0779b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "PenLight1", + "origin": [ + 0, + 1, + 0 + ], + "color": 0, + "uuid": "a5c005a6-706b-069a-ce6b-09caf40e0a97", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f5ab3b37-6b15-342d-c75b-37166862b870", + "add07473-803e-615c-9402-4bd9f237ebeb" + ] + } + ] + } + ] + }, + { + "name": "Camera", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "0de640ba-ed0f-2609-fa58-afbc6366c7ac", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "61f22b13-bdd0-3c76-27b9-7116dfd6b6e1", + { + "name": "COpacity", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "54216d06-026c-e21d-7c6d-3a8e645bcdca", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + } + ], + "textures": [ + { + "path": "", + "name": "ex_skill_3.png", + "folder": "", + "namespace": "", + "id": "4", + "width": 61, + "height": 30, + "uv_width": 61, + "uv_height": 30, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "28c8c815-6058-88af-ff12-a26e5fd30f9f", + "relative_path": "../../textures/ex_skill_3.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD0AAAAeCAYAAACfWhZxAAAAAXNSR0IArs4c6QAABRtJREFUWEfVWUFrHVUUPrfaBNuNwY1oX3axBq1NTVpdZSehgitX4iIrETFU/Bv+Bd1k4a4gBYUEodBQiKl5oYIYMRvxVQy4eE9Lm8ybN3PlnHPPvefOTN+beb6geRDevJk7d853zvd950xroOJj7Qe2eNqYz03V2kmee+OXvPRc3H/npTMTfXa0WRXYkwZ/7efMgoNqDMghH1RAvffyU/86AX6DImBd2WHXxq301Z8GBBUD8OXVdZbIrKwxYIxbYAHuvfL02ODpRg1qGI3rrhuWiKs/pmUKCxYDQLh0JkZA+/7Vs43BR6Dr6FaA11lbBL/0Q2oJleWqVQnYgAG+4pDTYcQHt21YufvaVCPgpmn1mq4X4Iv3E1Gug8M/OXT8Rh4bsHTahmKL0Ak3nuekeJToA9ZAe6E+cA+6SeWaVntxL6EKIyAMuvwR4UpFg6AZpvooXXOy3D3GQPvKdK2Knyjo13ePA1OFzJErqyoT66lszGbHA5epCqEHU4tMwADsLT0zFPyJgL6y89hHzqxk6jKdOVghN4MLGo5XCZxC//I/4/PeDdzpvWvnKsFPTNML3z3GWnkqCi0DxEDdglWpe7TGdTIkNaJpnTxxBd0AQ2rlqfffPK/5E1pWHV1rPS9sP/IWHGql4Tr6lsz3CZOHqro3N6G530M832ATYObgQekT1mk2BZKosbNJn7589yE2H36m6j9VDYbqQJIV+7EuVh7D9LU4flQKg6I7tZSJWeILeF3LRKpdTodP0TgT2eWth0Gauukq1D4MN3hU5z9uy0JUCVd1bRI5tXpapPxbLQreH/tfsTdwJiteNIp50ky4dOdvKwHQhhSQtJC4+t6MQ6zO1nheKQjbmzZdYlP3rs6tL9zjf0uwmu2sAR9Maa3PbM23rEu3/9L1rdDV//NUpaVvZ7nFl7wsAxjkAJkFeOvck1/vkCHDvODg4KCUnLm5udKzV1ZWGiVxY2MDer0eZXZmZqbWYFKUDuzY3OYOZJYD4DGCpnPu751nY/DDxtJOp2ODvYfWwnpkKbRmWz5YBL25uRkFL4nodDoRbVqtFuDapJ+QmU5NNRhDZScCbBmkdQCpyhmAVB0rjn/vPsfAh/1jw+HhoRqgw8xUNJMk7cNsa5b2GwYaryNwBCvfCLrfT2gin24K2lfYVRbFToALVZaE4Pd7z5eBC8V73a7FkbLIN6qwe2nIbQZpP6WcC/BRldaA8T4E3e12advG9N7OczvIuIqaylJluiZJcGvefyHQvKjpo6NjqrKYJrs69mXXk8HCUZKAzRl4XdCa30LvBw9+J9AXLrxYX9MIGMEhKNIvUljRWipOCVDaxjW7v3EY0+ctnD3M4LO3p4zl6WPoJzk+hnQwgDTtQ5L0GXg/gbW1tVG3Rtex0vv7+/S8+fn5+qDvprnVVCZdO9dGkNrFdUKQFTc/vF4KohboJIE0TUugqxx9VBba7TZleWlxsT7oO0luqcpiWMrEtKF5VxeqW4CvProO6+vrFNfq6ippbFSQk76+tbVFlV5eXq79bHP7iPXsq1jRpoj+EGiPScL03vq4XOlJgzqJ/cy3j2LQVa6ttaz79jc3TilozOTXPTeBOQOjflwwLd++nMvfuHjGFCeo/4Le4zCBdHCr6yaxCtDRsIIyQJpnAJ/OT/Z/HcYJftx7vPhv/lnQtnNwP6g4A0Ptn2bAmKjI8b78w1XcUVj6Nw0t7txpB1wCLXT54lduY3rm/uTi6aVzUQb/AH1KyrblqF6AAAAAAElFTkSuQmCC" + }, + { + "path": "", + "name": "ex_skill_frame.png", + "folder": "", + "namespace": "", + "id": "5", + "width": 32, + "height": 16, + "uv_width": 32, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "47c04c50-0d5b-a926-bb42-7219d0994ed5", + "relative_path": "../../textures/ex_skill_frame.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAQCAYAAAB3AH1ZAAAAAXNSR0IArs4c6QAAAbdJREFUSEutVYtuwjAMtFOJ///KbbwLY4wJJZ6uxOzitmwSi1SlaVznend2te/7s4io/Ayjtd9jxvA4X/uzuO/ZOC7G3hJWAG8EgG/nEiMGe6nOnrzMgAdwXJxvuAeATxF5FZGNiOTAhB8QmfCwmHjqO/jg0T4zAADrO3dmN4SqamaGmfd4PdBRYzD7ezOsMnhjBrYislJVgHDUrHn0Ceef8hB7iT3BuQcAMCEk2FUAYGIf5OADXH82VTTnHKCRkRsPmNkqpbQtpfSYZ5jgJL+wPDJd/JDGhC7BhgD0fEIpRVNKTWn5s6k9vMvPYyzWUwwAwKEy0JdSTkEONpHL8dDp9BGjPtJUgUtQPQAf7AFAVY9/6BOxgTVunzO2A1jWElyrqksAUwLAu6ri+gCjXnJNCVCJ8r6XqpfmVFnHRjQAqAzsIIWIHCuAU84ZIP51jBoR+kD1gDMACQ6qes45n1JKADHVVpv6foCy8Ysz8CIi21iGlQHQ3wDIOX8tFotBjmdH0wnNbFndPxiQPAAZ7gwAQNd1+Ic8PRoGYMQJCcBAA6DrukvO+XK9Xi/+r7hbvhqSjRf3GPU3orWFV48IG9oAAAAASUVORK5CYII=" + }, + { + "path": "", + "name": "costume_tracksuit.png", + "folder": "", + "namespace": "", + "id": "6", + "width": 30, + "height": 119, + "uv_width": 30, + "uv_height": 119, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "4f7f0aab-23b4-bb95-1765-0d739d5eb801", + "relative_path": "../../textures/costume_tracksuit.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAB3CAYAAAAUy/AwAAAAAXNSR0IArs4c6QAABNpJREFUaEPtWDtoFVEQ3TXko5GIX9DOUhRBxARBrYJiJyJYC6IoWimKCBaCCLaCYmUtiNiJYhUFiRJsFEs7Gz9gMCQhxJVZmHV23vzubl5C4L3m5e29d87MmTNzZ5NngU9RFAVuy/M850e8dQmiwwjdhAYpGH8Gv611LS4VmBuUopSix33eeRHYOxQ1btlxgWn+AnIotyATycA8zzyHKb+Tc6zRKTFgOdIYGA4iZZ7Ko9oo0yF5JBmgz6gjVj6Tc+zVpgZMhUWZSmogKRF6DCUBe+ICir2cW+VntkxJWBKdFMDqZrV9XlOwaExRMcdxI9ZE0iSvSRF76rS6XKscL8WF0EjVPCJNXFFRob1Qjj0BNllfOWB+26RS1iTaMl1S341eHJaivRpXgaV2SBVeiSQ4dfIAK2Ber9INxa9A6SKxejz2d/guxaU1e22yiNzH3CbVUgXcVCCp5yhDy1ZOYsRfHt0qtp66kW0YGSqD+D09l31/ejfbdf525djcxIPqNWboyMUOh3/8nK3Wt2xe6waUc1Ckj4N7wAsL/9+vwEZ/f+c7Vu12mnlxv/R0+Pjlmpf4vG+4L5TKvoMXavtaAw9sG8gWZxZV8MqxvefKPRIgskHXcohsfno623T6Zi3iX0/uFIMjI1lqxGFgAOCgGB6srdu+MUT1n91nSnFKwCg8KjpTfUDR4ruHIeDkHGtWMS8IDHm2aG8FzEsCSmr958c1cQE4OkG/Z0fP1mLwajmnYABEP3AYxIdgFucD45dqy5KtWh17HQfr2Ut0MrBnMArMG5Bn1+2pPWCkEKilbCRTTVWNXYc/oxcJ/E1B+G8vt9WshqrGu5hei/C3V49RIL6vEhctq24CVhE39fjr1LNi5/6TblVo9hsdRNA24MnAHKwpeBKwBtIEPAkY8rWsEVMwCzglcjViDSwK7DlhUi0djlDtgULKQjkGQ1iPUu1661ItdwCjEQCgf+Nh/kxiAPZq593O5dHVdr0WcaQjcdFhdBKdlr0KmG6i+aT5i/Z1SjOlneqjBLZo81TsrVNn6d5SQNYto4mHGqTno/bciCkjnsqjoLU6lnJMhSN1Mqu7cUa4UyFVa7XrKdxVtUYh5k4yoEVLGw3PPWXQbZmpnUkKwm2ZVuS0nqVItF6uOZIcMVd504HPvCS0fGlNx0qLOldb7dASkiey5PFWa4Wpz5OAvcZglUmUgbC4tGbAn3tt0x0EOEVR4OjV6UasOWApPgLeAzZZ0oQTFRQ1vnqo7lqvjijSGxAjNpKpjhiN7Fk5YHrB09Ek4nWbPdVc7ZVE6rq3XwW2ZidtDKJtlI9CvNfX3iRSL/zofqkEqzcJnl/twtfq2Bt7OEvLqmrq3LIBd0Q8P/+3+PbpebZjz4lscHBNhyOw3qZswLY0AufdBganpYBWFhip7AbVasRe/trmuAccnqvbUm2Wk5fntusATj/QM6r/V7Y1rp0HEBUYFqUPHtDWPWexI/aAqxwjlZOTH0v2xsb2ld9dp9rL1arNsRRYWU7dVLV0F0NT6gHX0sEL3xOhtK5SPTExJc5UV65eF3E+vH/dekAscwzAWLeIBPUMwG/fvKqBHzp8NOsBN8n7ylMted31HGtUHRgdL7oqLgt48uW12vLYsXtLp2oLWFpbsnJqosq2Z6B3/ANJ4lO9C+8EggAAAABJRU5ErkJggg==" + }, + { + "path": "", + "name": "gray_concrete.png", + "folder": "", + "namespace": "", + "id": "3", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "6f78dc55-2951-9594-4169-5a6ad737e537", + "relative_path": "../../textures/for_modeling/gray_concrete.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAL5JREFUOE+FU9EOAyEIQz9qy5bc/v+rdIGspFa8+XLiYQsttuf7M83M5pzWWvNtLj/Dqv75WXMAXGYQXPYk3gMwzx6vK2g0Udk5Rn580YIic5JWyBWVLVTlg6D3bmOMCH1/BPjXe4rrGqjCcGWxRAIQbBpUNoJArY6YRbyzrhIy5oBbKBlkuLS9BUB71oqybwJdXDiN9MaqANt4/sa3YlSRowL2nNlO9iI/B0lLvxNTH9aigSP7mB6fLr1MtPIF0CTO5Y3WDroAAAAASUVORK5CYII=" + }, + { + "path": "", + "name": "ex_skill_3_stage_emissive_mapping.png", + "folder": "", + "namespace": "", + "id": "7", + "width": 136, + "height": 2, + "uv_width": 136, + "uv_height": 2, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "5610f4da-6f58-ffe6-0b8b-45f558498432", + "relative_path": "../../textures/ex_skill_3_stage_emissive_mapping.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIgAAAACCAYAAACDkZTsAAAAAXNSR0IArs4c6QAAALJJREFUOE+dkVEOwjAMQ93C/a+0M+0fWmSqCOM2o+IjWuRkiV9a+nF0VAA3iTswaexZ6fFfzJCeVoAngAbgge+cGmseVzpnsN5QzLADKIwb9FqAUa8fk2rMTYWR6AlAB5UZtc8nzZxlZ15RUhvXzS53BaKGFSZyoPTz7O8dvDkj8pW2U7ceDo/gyN08ev07zLrJfwDUqMDHgl2j2r8CFADfuEOR/aPPNa6qyzOIXy8wX/0FIcx1X0wUi0UAAAAASUVORK5CYII=" + }, + { + "path": "", + "name": "ex_skill_2.png", + "folder": "", + "namespace": "", + "id": "8", + "width": 64, + "height": 145, + "uv_width": 64, + "uv_height": 145, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "86332311-a2fd-4777-34ae-3b7202f8c2bb", + "relative_path": "../../textures/ex_skill_2.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAACRCAYAAABzC75UAAAAAXNSR0IArs4c6QAACDBJREFUeF7tXTmMHEUUfWUbwxrjXS+HFx8wA74QkgMjp4Ali5BgUwIQZBBBiOTIEhGQEXIFpBsQIksYUsCBJU4ZZgHbrDn2MMYLxrjR661a1dRUdx3ds9PtKUutGbl/Vf3//vu/fnXVbAuM+T8x5vYjAZAYUAMC2bXFbOnyhb6edu7aC7FtuvEMq0XBBMC1xcxGpLFiwFgDUEMaGVkXteSAkWlfw8AJAB8QF3vnrEluunuk9QB6GdDpdHIAzn78YY7X0eNP55/z8/Ne7X1AHpVMqQH0PI3t9XqYnZ3F3Adv53rOPvMC5ubm0O12c1DazIRCAGi8quaWl5ezEydO4LNPP8oBOPb4Uzh9+jSmpqaEKoLaCkIhADSMxrKYUd9x/rs1pu4/mH/o99pQ9FhrFVfs9Xq9vgTY7XZHHvc3/7yy5pzNN9bVj3WA05gqAGTZzTVFxSbnOC5H2O6vM1OyMaYPp2KxAOTGry6v6TQxNRQQxhaA2kNAdbjprh1WRrjuF1FvWCGg9OG4Smfb//mERG6wy8Cy+/rAakAXkKZiZfK2ewkAOQvUwgA9kfhQxpTJ/tsy0KxVDEgAFDzO8mVDYkAKgbbnAFmu+lJ+IAlevdryJGgBYH7+x9yoTudBJy7ZCABwKhUgIMxaXzdcAVHW37BXh7GzlO/q0ApAAIB8KuRcUIX0NxBikbOUNwAu5fg0SJfhUyBXmzbddxqTAEgMGPMQaFM8x+jqzAExnbapTQKgTd4ahq6JAcNAtU19Jga0yVvD0DUxwIaqqv9vtYWPzVZhLnYopAy33TM7aTtIKQRciaXqcjh0d1nfhqtj99dln5MBGw2ArnACQHsc5vuIy+Vx837jGNC4EPBBtOr2esgev2ssH311GScDfDp0KeU6X5AAkCdTfE55uMD2cVitDIjduFBKcHe51QxIAETu3CQGSARSCLQ+B9RwvqBxSTDkeYA6DKlPLSHnC4Z1jth3Oqz8PGBpaWlgLHWwwud8QWfXpK+ufXJ1rQ0qV4K2AxYhFjUegJWVFesPpnyNnJycrAyy71gxck7lEgCJASkEnDmgKM4ZPmORAxIABZk+MaCmECiaieoIL1F1mouZe/U2PkaMLQC+zvEBschRXgy4ajkQzQ63b99elQAoU14HgDqo8fTvVGDoAJRl+aoI+ABAg/fs2SMuXryYT8nquwKkdgBMj3NAm6FKIXUvhhE25U3PF41vhkgMEHkIKINpgG580cAmGDoQeh86ZfWQsY2nxjK9XKaDKavYwU/TOWY/6v46rUyjdIXKGGAqXjUkdCNC+zKN9mk/cgD02FYK+zKvjIllbNDHGYjt69ev99X+W7dudS6ZdUXM9j5e0GVc47F/l0zImEMFQCkaAorLOD3xxSQ9E5yhAWAa4guCCwC9H5esDxNaCUAdhitwhB5TCt3V1VVMTEysA2ijsiljor24uIiZmZkc4IWFhWx6errUIZTX/+nyRfpQXumsgxKSJyoDYPOGUkoZpYwp8pxOa91YyvNeawGgh0yDbDQYKQA+iSJUpsygBIAFgcQArfja8BwQSm8f+RQCJR5NOSDlgEEEykKGRZRP2JkyqghztQ1a6bnoa7vvqhjNNmVFj8uYmPuVAYj1kK+yvp707c+5GoztqK3tKjOgrYYrvRMAbfdgVf0TA6oi2Pb2jWeA64FIUW3i+9gsAdB2ClfVPzGgKoLDbp9ygOOp8C2fBIfNsMbngNjVpu8qsvEADJ0BsQgPWzHVv68nY/WpnQFVzxcoQ0L292KNZ7vGAVD3/r8LnMYBUPf+f+sAaF0I2M4X0AjbrrDt/IHaAmcbc49fgeGzw+zydNH9yiGQANBObbn2BDeSAS5dGvVQtOiYS5UQGHsAfHNC5RzgO1CZXGKA3E6vcxYY+xAYewB8Q3PkOSB2NaofwvQ1VpdT7UcOQIzydbYRsR7YqPV6ncba+rIyIMuywmMpQoiBNgsrq33yM5MTpcyS/X8L4DKAHoDfuXzQLurKw8q8tgG4BwDf93E/gIM2HWKB6lNUGV42gE3mi68v9QHw2CO7XQDQ+O+l8fwbHDwpzc9/5EV7bpfXTgC87pYgPCyEOBxrsNluXVEaFoKsLv/+uRt9ADx7ZIt459RLVhY9f/ItkWXZJwC+BPAzAL6U8FcAV3j4W1754lBeOwDcJ0HYC+BRIcQTtQIQarwaXLWLAOBdABcAXJJh8AeAvwBcA/Cv7P82Sf87pfd3AdgNYJ8Q4rm2A/A6f9kGgO/zofFkARnAEFAvEt0M4A4AZMCUFgIHhBAv1gZArPd1Fpz95pc+fTxywCkAP0gWMPYVAxgCOgMYBooBzAP7AHSFECcbBcCZz8/36XP82AFXEnyVL66WLPhNJkDOAmSADgATIWcCGn8vfzXL9z8JIV5rFAARDHhFArAgp0CGAHMAAbgpjdskZwEyQIUAp0EC8GajAIhgwMsAfpJJkDXAigMA/rkp1gLNBEAxQJVIRw876wCGAAsgzgKuEGAhRAZwKiQAzAHNCoGQ+oHUzbKMSZAAsA4ISYKsAx5qXBKMAOANOQMwDBgCPtMgQ+ABAPVOg9IjQVWgWQiFJqQsy96T3mcIsAokCHohxFmEb3Ik/ZkEaTxDoJmFUAQAZwB8pdUBXBTxzY2cBVgLqFKY0yD/TgerQMY/GcBZ4MnQMYvka1kLhCqTZRkXQyweWAtwIcSLYfC3BIDrCFaBBIAJkD87pfFkwn4hxKHQMZ0AqFDgZ+hqMFQZbTnMOoAgcA3AalAtidmlWg7TaH7vAJgBcCg055TpV8vzgFAAmiT/P8HzeFdCSuqlAAAAAElFTkSuQmCC" + } + ], + "animations": [ + { + "uuid": "5b7c00a4-7d32-9866-1432-c15914ada095", + "name": "ex_skill_3", + "loop": "hold", + "override": true, + "length": 8.9, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "markers": [ + { + "color": 0, + "time": 2.6 + } + ], + "animators": { + "ae4c1096-b8bb-ca2c-fdfb-a984037a6580": { + "name": "Pose1", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": 134, + "y": "-112", + "z": "0" + } + ], + "uuid": "87b20feb-14e4-c009-291f-ebe022c62fc8", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "5", + "y": "5", + "z": "5" + } + ], + "uuid": "c5bb6be2-0a2c-89a6-9d9f-aef465e0ddea", + "time": 0, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "c19464ac-c206-137f-a81b-6b07038821b7": { + "name": "Pose2", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": 222, + "y": "-197", + "z": "0" + } + ], + "uuid": "95ea80b7-0b02-4d6c-d1b9-db3d13482bf2", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "f2c1a867-e266-88bf-114c-137a1e7d4200", + "time": 0.45, + "color": -1, + "uniform": true, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 10, + "y": 10, + "z": 10 + } + ], + "uuid": "27d425e8-4c64-9ce6-24f2-d7f8d7104086", + "time": 0.85, + "color": -1, + "uniform": true, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.26, + -0.26, + -0.26 + ], + "bezier_left_value": [ + 6.54638, + 6.54638, + 6.54638 + ], + "bezier_right_time": [ + 0.26, + 0.26, + 0.26 + ], + "bezier_right_value": [ + -6.54638, + -6.54638, + -6.54638 + ] + } + ] + }, + "857c5b08-1c62-cde7-b8e4-070d95ded62d": { + "name": "Pose3", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "372", + "y": -114, + "z": "-80" + } + ], + "uuid": "9511ab48-2227-24cb-907f-874504f79ed3", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "31e21a31-eaca-e910-8927-e86f8193db1e", + "time": 1.15, + "color": -1, + "uniform": true, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 5, + "y": 5, + "z": 5 + } + ], + "uuid": "1667dbe9-2b29-8b0c-642c-125c6640883f", + "time": 1.55, + "color": -1, + "uniform": true, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.26667, + -0.26667, + -0.26667 + ], + "bezier_left_value": [ + 1.74455, + 1.74455, + 1.74455 + ], + "bezier_right_time": [ + 0.26667, + 0.26667, + 0.26667 + ], + "bezier_right_value": [ + -1.74455, + -1.74455, + -1.74455 + ] + } + ] + }, + "a131ab02-eb99-240e-660c-0b1cff7aa8fc": { + "name": "Pose4", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "476", + "y": "-151", + "z": "0" + } + ], + "uuid": "147a9096-f839-0618-cd45-5345c12d86d1", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "0c89f81d-8e75-dbd0-8186-81660f577e3e", + "time": 1.95, + "color": -1, + "uniform": true, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 8, + "y": 8, + "z": 8 + } + ], + "uuid": "4e963512-ac59-f072-3d45-efd75b911c3d", + "time": 2.35, + "color": -1, + "uniform": true, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.3, + -0.3, + -0.3 + ], + "bezier_left_value": [ + 3.19076, + 3.19076, + 3.19076 + ], + "bezier_right_time": [ + 0.3, + 0.3, + 0.3 + ], + "bezier_right_value": [ + -3.19076, + -3.19076, + -3.19076 + ] + } + ] + }, + "3b35228e-a875-9d65-1c25-0367dd2a94c1": { + "name": "CircleEffect3", + "type": "bone", + "keyframes": [ + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "ac86e673-d309-e27e-eb48-f40add0d1298", + "time": 1.15, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "32", + "y": "32", + "z": "32" + } + ], + "uuid": "43e69682-430c-6783-6591-e651ed4262e1", + "time": 1.55, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "79e72f6b-84c5-297b-b341-6b97a499b18b", + "time": 1.7, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.26, + -0.26, + -0.26 + ], + "bezier_left_value": [ + 6.54638, + 6.54638, + 6.54638 + ], + "bezier_right_time": [ + 0.26, + 0.26, + 0.26 + ], + "bezier_right_value": [ + -6.54638, + -6.54638, + -6.54638 + ] + } + ] + }, + "fd288c19-81e4-ce66-70cf-b20e876241a7": { + "name": "CircleEffect4", + "type": "bone", + "keyframes": [ + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "d22ab556-c301-82ce-ebc8-8249869ebf25", + "time": 1.95, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "32", + "y": "32", + "z": "32" + } + ], + "uuid": "7a743979-9b4f-5694-3844-cdc307ff0591", + "time": 2.35, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "4d6cecc4-94dc-2b44-69fe-511985251d85", + "time": 2.5, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "8093598d-2ee3-7ae0-ab08-7b3a64a16433": { + "name": "Scrollable2", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "197537f4-a046-1030-2337-6b78defc36f8", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "100", + "y": "100", + "z": 0 + } + ], + "uuid": "ea5965dc-7282-0997-3a44-dbea03492282", + "time": 2.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ec467c08-d1e8-73ab-911f-d0d2c1603b41": { + "name": "CircleEffect2", + "type": "bone", + "keyframes": [ + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "c7a57de2-f12c-bc2a-7a4a-f34394ef4d03", + "time": 0.45, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "32", + "y": "32", + "z": "32" + } + ], + "uuid": "098e5341-454c-9727-dbfc-84b8c55fd938", + "time": 0.85, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "f688a59e-0c89-2d0d-3a88-b0fd90febb00", + "time": 1, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.26, + -0.26, + -0.26 + ], + "bezier_left_value": [ + 6.54638, + 6.54638, + 6.54638 + ], + "bezier_right_time": [ + 0.26, + 0.26, + 0.26 + ], + "bezier_right_value": [ + -6.54638, + -6.54638, + -6.54638 + ] + } + ] + }, + "72c54d6f-d201-098a-7538-3b4f09761f82": { + "name": "ScrollableAnchor", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "0329ccc5-8963-ce93-3b53-5eee5e1f45a0", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-160", + "y": 0, + "z": 0 + } + ], + "uuid": "3d37f4dd-14ca-8e87-479b-6fa330bf5f4b", + "time": 2.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "98f474bb-fea5-67be-e4e2-0102c10b78a0": { + "name": "TransitionAnchor", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": 1, + "y": 1, + "z": "0" + } + ], + "uuid": "b367df52-5466-27ac-b69c-65fa1eb3a9f5", + "time": 2.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-1", + "y": "-1", + "z": 0 + } + ], + "uuid": "7acef24a-f5db-9097-dc54-724014e5dc60", + "time": 2.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "88a3ab57-dfc2-b157-ab48-e38c6e7c6a04": { + "name": "Stage", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "22d42fa2-fe73-4fe7-fcc8-1cd982e44026", + "time": 3.9, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.35391, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.35391, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": -32, + "z": 0 + } + ], + "uuid": "a584a4e2-6ff9-5282-90ae-4106f8057715", + "time": 3.45, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "54216d06-026c-e21d-7c6d-3a8e645bcdca": { + "name": "COpacity", + "type": "bone", + "keyframes": [ + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "824c94ba-47bf-a193-c642-4f0711030db2", + "time": 0, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "809d36e9-8a4c-5744-03db-ac1febfb2599", + "time": 3.3, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "167f0344-28ee-b6af-fcdd-1a4521d5b941", + "time": 3.4, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 1, + "y": 1, + "z": 1 + } + ], + "uuid": "d48d642a-202c-cbd7-7c0d-d318031dd4b8", + "time": 3.75, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "15a869e8-b3d8-296f-16fc-f1eaac3bb49a", + "time": 4.05, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "07113e55-77bf-44e0-a5fe-33c69d7d4f5c": { + "name": "GOpacity", + "type": "bone", + "keyframes": [ + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "e156cd7a-0cfa-9975-776a-774f26e4be1e", + "time": 3.3, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "6d9d510f-1341-547e-673f-deb707420b7f", + "time": 3.4, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 1, + "y": 1, + "z": 1 + } + ], + "uuid": "3eeaa74f-67ad-45ea-206c-f82445c24926", + "time": 3.45, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "9e7b01df-a488-0f54-3671-c8ae8b6b7212", + "time": 3.6, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "90a6a6ec-1eda-74ba-d0a5-3f1ebe18a92f", + "time": 8.6, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "94eb5c76-9f64-644b-2d70-eed1ada36f34", + "time": 8.7, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 1, + "y": 1, + "z": 1 + } + ], + "uuid": "25e26974-d2a0-223f-d76c-905a979c0d4f", + "time": 8.8, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "86f7b828-1fe7-3539-3859-4335ff046fde", + "time": 8.9, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "1ce53e10-8a79-ac9b-7c0d-6ab6c4d9d6a4": { + "name": "StageEmissiveStrength", + "type": "bone", + "keyframes": [ + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "63cf8fa3-3554-38e1-231f-39ec3417ba08", + "time": 6.7, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 1, + "y": 1, + "z": 1 + } + ], + "uuid": "2069861e-4b85-b934-bfa5-404e68a93d48", + "time": 6.8, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Mari/models/ex_skill_frame.bbmodel b/config/yosbr/config/figura/avatars/Mari/models/ex_skill_frame.bbmodel new file mode 100644 index 0000000..52727e4 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/models/ex_skill_frame.bbmodel @@ -0,0 +1,1179 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "ex_skill_frame", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 32, + "height": 16 + }, + "elements": [ + { + "name": "FrameTopLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d58488eb-4b98-5e52-740e-041d7c8c7b7f" + }, + { + "name": "FrameTop", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 16, + 0, + 32, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d7b279c5-8b54-f727-c9a0-07e530c5ab5a" + }, + { + "name": "FrameTopRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "86208108-703b-1a71-9e73-d829fcf93af0" + }, + { + "name": "FrameLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 16, + 0, + 32, + 16 + ], + "rotation": 270, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b38e5f11-842c-da8d-98f0-6570158f844f" + }, + { + "name": "FrameRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 16, + 0, + 32, + 16 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "72a70b22-fd81-174e-fbf8-59f6de9f116f" + }, + { + "name": "FrameBottomLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "rotation": 270, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8bd9fdba-ab88-a00c-3fbe-b5f33f230b66" + }, + { + "name": "FrameBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 16, + 0, + 32, + 16 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "77cf6831-3106-4f1e-8a19-d7d2cd39e07a" + }, + { + "name": "FrameBottomRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "99390453-8b25-0545-3dbf-db759d9122ff" + }, + { + "name": "FrameBarLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + -16, + -1000 + ], + "to": [ + 16, + 0, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + -6, + 4, + -99 + ], + "faces": { + "north": { + "uv": [ + 16, + 0, + 32, + 16 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "89423f5b-a0dd-39ba-2e32-74ba776e7d5f" + }, + { + "name": "FrameRBaright", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + -16, + -1000 + ], + "to": [ + 8, + 0, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + -6, + 4, + -99 + ], + "faces": { + "north": { + "uv": [ + 16, + 0, + 32, + 16 + ], + "rotation": 270, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "47e36d29-e769-b566-72a7-349097398d38" + }, + { + "name": "Particle1", + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "rotation": [ + 90, + 0, + 180 + ], + "export": true, + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "fvyx": [ + 4.6282, + 0, + 0 + ], + "URoh": [ + -2.3, + 0, + 4 + ], + "95Z0": [ + -2.3, + 0, + -4 + ] + }, + "faces": { + "4qMG6SMe": { + "uv": { + "fvyx": [ + 1, + 1 + ], + "95Z0": [ + 0, + 0 + ], + "URoh": [ + 0, + 1 + ] + }, + "vertices": [ + "fvyx", + "95Z0", + "URoh" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "b8f8c1d0-10bd-729b-caf4-15c768cff368" + }, + { + "name": "Particle2", + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "rotation": [ + 90, + 0, + -180 + ], + "export": true, + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "fvyx": [ + 4.6282, + 0, + 0 + ], + "URoh": [ + -2.3, + 0, + 4 + ], + "95Z0": [ + -2.3, + 0, + -4 + ], + "A1gx": [ + 3.104, + 0, + 0 + ], + "Rbsm": [ + -1.5379, + 0, + -2.68 + ], + "GZIF": [ + -1.5379, + 0, + 2.68 + ] + }, + "faces": { + "jydbDtJR": { + "uv": { + "Rbsm": [ + 0, + 1.32 + ], + "A1gx": [ + 0, + 6.68 + ], + "fvyx": [ + 0.7621, + 8 + ], + "95Z0": [ + 0.7621, + 0 + ] + }, + "vertices": [ + "Rbsm", + "A1gx", + "fvyx", + "95Z0" + ], + "texture": 0 + }, + "FShNpiER": { + "uv": { + "GZIF": [ + 0.7621, + 6.68 + ], + "Rbsm": [ + 0.7621, + 1.32 + ], + "95Z0": [ + 0, + 0 + ], + "URoh": [ + 0, + 8 + ] + }, + "vertices": [ + "GZIF", + "Rbsm", + "95Z0", + "URoh" + ], + "texture": 0 + }, + "Y8V06sJ8": { + "uv": { + "A1gx": [ + 6.68, + 0 + ], + "GZIF": [ + 1.32, + 0 + ], + "URoh": [ + 0, + 0.7621 + ], + "fvyx": [ + 8, + 0.7621 + ] + }, + "vertices": [ + "A1gx", + "GZIF", + "URoh", + "fvyx" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "26a9457e-5983-383c-377e-80178696ca03" + } + ], + "outliner": [ + { + "name": "Gui", + "origin": [ + 0, + 0, + -1000 + ], + "color": 0, + "uuid": "80d8e2e3-01bb-8e7a-de84-164a65212d5c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Frame", + "origin": [ + 0, + 0, + -100 + ], + "color": 0, + "uuid": "1a9432d3-a6a3-0042-6828-0adc1991dedf", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d58488eb-4b98-5e52-740e-041d7c8c7b7f", + "d7b279c5-8b54-f727-c9a0-07e530c5ab5a", + "86208108-703b-1a71-9e73-d829fcf93af0", + "b38e5f11-842c-da8d-98f0-6570158f844f", + "72a70b22-fd81-174e-fbf8-59f6de9f116f", + "8bd9fdba-ab88-a00c-3fbe-b5f33f230b66", + "77cf6831-3106-4f1e-8a19-d7d2cd39e07a", + "99390453-8b25-0545-3dbf-db759d9122ff" + ] + }, + { + "name": "FrameBar", + "origin": [ + 0, + 0, + -100 + ], + "rotation": [ + 0, + 0, + 45 + ], + "color": 0, + "uuid": "9a3f01ed-f49d-aaf3-78dd-22c36d7f20a7", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "89423f5b-a0dd-39ba-2e32-74ba776e7d5f", + "47e36d29-e769-b566-72a7-349097398d38" + ] + } + ] + }, + { + "name": "Particles", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "3f41b05a-dfcf-a9ea-5775-1b908472a151", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b8f8c1d0-10bd-729b-caf4-15c768cff368", + "26a9457e-5983-383c-377e-80178696ca03" + ] + } + ], + "textures": [ + { + "path": "", + "name": "ex_skill_frame.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 32, + "height": 16, + "uv_width": 32, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "d4a6d900-994d-d2db-a2a9-40eeb7363089", + "relative_path": "../../textures/ex_skill_frame.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAQCAYAAAB3AH1ZAAAAAXNSR0IArs4c6QAAAbdJREFUSEutVYtuwjAMtFOJ///KbbwLY4wJJZ6uxOzitmwSi1SlaVznend2te/7s4io/Ayjtd9jxvA4X/uzuO/ZOC7G3hJWAG8EgG/nEiMGe6nOnrzMgAdwXJxvuAeATxF5FZGNiOTAhB8QmfCwmHjqO/jg0T4zAADrO3dmN4SqamaGmfd4PdBRYzD7ezOsMnhjBrYislJVgHDUrHn0Ceef8hB7iT3BuQcAMCEk2FUAYGIf5OADXH82VTTnHKCRkRsPmNkqpbQtpfSYZ5jgJL+wPDJd/JDGhC7BhgD0fEIpRVNKTWn5s6k9vMvPYyzWUwwAwKEy0JdSTkEONpHL8dDp9BGjPtJUgUtQPQAf7AFAVY9/6BOxgTVunzO2A1jWElyrqksAUwLAu6ri+gCjXnJNCVCJ8r6XqpfmVFnHRjQAqAzsIIWIHCuAU84ZIP51jBoR+kD1gDMACQ6qes45n1JKADHVVpv6foCy8Ysz8CIi21iGlQHQ3wDIOX8tFotBjmdH0wnNbFndPxiQPAAZ7gwAQNd1+Ic8PRoGYMQJCcBAA6DrukvO+XK9Xi/+r7hbvhqSjRf3GPU3orWFV48IG9oAAAAASUVORK5CYII=" + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Mari/models/gun.bbmodel b/config/yosbr/config/figura/avatars/Mari/models/gun.bbmodel new file mode 100644 index 0000000..0931a2f --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/models/gun.bbmodel @@ -0,0 +1,5674 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "gun", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 64, + "height": 26 + }, + "elements": [ + { + "name": "Barrel", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 5.75, + -7 + ], + "to": [ + 0, + 6.54, + 1.44 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.75, + 1 + ], + "faces": { + "north": { + "uv": [ + 0, + 5, + 5, + 9 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0.66, + 0, + 54, + 5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 53.34, + 0, + 0, + 5 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "5c148e89-1a42-d254-daf6-b0c8f0c9b182" + }, + { + "name": "UnderBarrel1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 4.75, + -6.51 + ], + "to": [ + 0, + 5.75, + -5.13 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.75, + 1 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 54, + 0, + 55, + 5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 54, + 0, + 55, + 5 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 3, + 1, + 4 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "08f4f193-e10d-546d-d98c-0dff762e5258" + }, + { + "name": "Body1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.125, + 4.75, + 1.44 + ], + "to": [ + 0.125, + 6.9, + 5.91 + ], + "autouv": 0, + "color": 5, + "origin": [ + 0, + 4.25, + -2 + ], + "faces": { + "north": { + "uv": [ + 5, + 5, + 6, + 6 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 5, + 33.3, + 18.6 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 5, + 6, + 19 + ], + "texture": 0 + }, + "west": { + "uv": [ + 33.3, + 5, + 5, + 18.6 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 5, + 6, + 6 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 5, + 17, + 6, + 18 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "c5065473-1145-e660-756b-8b0678d915bf" + }, + { + "name": "Body3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.125, + 4.75, + -5.13 + ], + "to": [ + 0.125, + 5.75, + 1.44 + ], + "autouv": 0, + "color": 5, + "origin": [ + 0, + 4.25, + -2 + ], + "faces": { + "north": { + "uv": [ + 5, + 11, + 6, + 19 + ], + "texture": 0 + }, + "east": { + "uv": [ + 34, + 12, + 55.024, + 16 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "west": { + "uv": [ + 55.024, + 12, + 34, + 16 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 5, + 6, + 6 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 34, + 8, + 55.024, + 12 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "f3aea05d-3661-b9f4-311c-208c2a841060" + }, + { + "name": "Grip", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 0, + 2.02 + ], + "to": [ + 0, + 5.6, + 4.53 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 4.75, + 2.025 + ], + "faces": { + "north": { + "uv": [ + 63, + 5, + 64, + 23 + ], + "texture": 0 + }, + "east": { + "uv": [ + 56, + 5, + 64, + 23 + ], + "texture": 0 + }, + "south": { + "uv": [ + 56, + 5, + 57, + 23 + ], + "texture": 0 + }, + "west": { + "uv": [ + 64, + 5, + 56, + 23 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 90 + }, + "down": { + "uv": [ + 56, + 9, + 57, + 10 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "813366db-dfd3-32ab-d44f-e20a5d6b0171" + }, + { + "name": "FrontSight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.75, + 6.54, + -6.83 + ], + "to": [ + -0.25, + 7.38, + -5.91 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.75, + 1 + ], + "faces": { + "north": { + "uv": [ + 5, + 16, + 6, + 18 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 16, + 6, + 18 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 16, + 6, + 18 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 16, + 6, + 18 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 9, + 2, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "0d34d03b-eba1-c6c9-9c95-650c4deddd18" + }, + { + "name": "JagTop1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.875, + 6.54, + -7 + ], + "to": [ + -0.125, + 6.75, + -6.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.75, + 1 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 9, + 1, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "70b15a18-d9c6-2782-ac3f-3a6d88ac448e" + }, + { + "name": "JagTop2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.875, + 6.54, + -6.1 + ], + "to": [ + -0.125, + 6.75, + -5.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.75, + 1 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 9, + 1, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "62f14cbd-3658-dd27-3659-5cd340f0df7b" + }, + { + "name": "JagTop3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.875, + 6.54, + -4.56 + ], + "to": [ + -0.125, + 6.75, + -4.02 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.75, + 1 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 9, + 1, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "a3b32896-d760-6bd7-95ee-e013147b59ce" + }, + { + "name": "JagTop4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.875, + 6.54, + -3.48 + ], + "to": [ + -0.125, + 6.75, + -2.94 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.75, + 1 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 9, + 1, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "29d70f7b-a4c7-fd5f-e9a0-face1ffd3083" + }, + { + "name": "JagTop5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.875, + 6.54, + -2.4 + ], + "to": [ + -0.125, + 6.75, + -1.86 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.75, + 1 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 9, + 1, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "4289b3d4-0e53-1064-2ff8-8d73fac44ef3" + }, + { + "name": "JagTop6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.875, + 6.54, + -1.32 + ], + "to": [ + -0.125, + 6.75, + -0.78 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.75, + 1 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 9, + 1, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "77d0e707-7ed4-fac7-4fa4-e2b874417d4b" + }, + { + "name": "JagTop7", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.875, + 6.54, + -0.57 + ], + "to": [ + -0.125, + 6.75, + 1.47 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.75, + 1 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 9, + 1, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "561f5a5e-4124-7d96-1c39-38deb7337f7a" + }, + { + "name": "JapBottomBase", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.875, + 4.42, + -5.71 + ], + "to": [ + -0.125, + 4.75, + -0.57 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.75, + 1 + ], + "faces": { + "north": { + "uv": [ + 5, + 17, + 6, + 18 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 17, + 6, + 18 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 17, + 6, + 18 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 17, + 6, + 18 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 5, + 17, + 6, + 18 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "35d6ff6d-ba6d-af35-286e-9367b13c8a87" + }, + { + "name": "JapBottom1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.875, + 4.04, + -5.71 + ], + "to": [ + -0.125, + 4.42, + -5.087 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.75, + 1 + ], + "faces": { + "north": { + "uv": [ + 2, + 9, + 3, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 9, + 3, + 10 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 9, + 3, + 10 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 9, + 3, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 2, + 9, + 3, + 10 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "6ba24a36-ae00-2f18-28ba-07fcf53b4bf8" + }, + { + "name": "JapBottom2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.875, + 4.04, + -4.71 + ], + "to": [ + -0.125, + 4.42, + -4.087 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.75, + 1 + ], + "faces": { + "north": { + "uv": [ + 2, + 9, + 3, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 9, + 3, + 10 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 9, + 3, + 10 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 9, + 3, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 2, + 9, + 3, + 10 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "e493445a-2373-04f4-31da-0b84346fda99" + }, + { + "name": "JapBottom3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.875, + 4.04, + -3.71 + ], + "to": [ + -0.125, + 4.42, + -3.087 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.75, + 1 + ], + "faces": { + "north": { + "uv": [ + 2, + 9, + 3, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 9, + 3, + 10 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 9, + 3, + 10 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 9, + 3, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 2, + 9, + 3, + 10 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "2aa4b44e-e3b2-2f57-ea7b-c70c725abb78" + }, + { + "name": "JapBottom4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.875, + 4.04, + -2.7 + ], + "to": [ + -0.125, + 4.42, + -2.077 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.75, + 1 + ], + "faces": { + "north": { + "uv": [ + 2, + 9, + 3, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 9, + 3, + 10 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 9, + 3, + 10 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 9, + 3, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 2, + 9, + 3, + 10 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "fc94719a-244a-c903-f124-c30983208134" + }, + { + "name": "JapBottom5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.875, + 4.04, + -1.7 + ], + "to": [ + -0.125, + 4.42, + -1.077 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.75, + 1 + ], + "faces": { + "north": { + "uv": [ + 2, + 9, + 3, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 9, + 3, + 10 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 9, + 3, + 10 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 9, + 3, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 2, + 9, + 3, + 10 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "5f50707b-7283-616f-f53d-2c25a5513478" + }, + { + "name": "UnderBarrel2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 4.75, + -6.51 + ], + "to": [ + 0, + 5.861, + -6.06 + ], + "autouv": 0, + "color": 0, + "inflate": -0.001, + "rotation": [ + -26, + 0, + 0 + ], + "origin": [ + -0.5, + 4.75, + -6.51 + ], + "faces": { + "north": { + "uv": [ + 10, + 0, + 11, + 5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 55, + 0, + 57, + 5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 57, + 0, + 55, + 5 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "bdd4fb81-1732-e3b1-2cbd-e8aef3da6d99" + }, + { + "name": "Body2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.125, + 6.9, + 1.44 + ], + "to": [ + 0.125, + 7.05, + 3.68 + ], + "autouv": 0, + "color": 5, + "origin": [ + 0, + 4.25, + -2 + ], + "faces": { + "north": { + "uv": [ + 5, + 5, + 6, + 6 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 5, + 6, + 6 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 5, + 6, + 6 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 5, + 6, + 6 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 5, + 6, + 6 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "92b575b7-d40c-7f80-0dee-eaee2a9d0ad7" + }, + { + "name": "Flower1Pedal1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.125, + 5.375, + -4.005 + ], + "to": [ + 0.125, + 5.675, + -3.78 + ], + "autouv": 0, + "color": 5, + "inflate": 0.001, + "origin": [ + 0, + 5.375, + -3.88 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 9, + 1, + 10 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 9, + 1, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "21fb68b8-a231-f3be-267f-20ba4495bab7" + }, + { + "name": "Flower1Pedal5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.125, + 5.375, + -4.005 + ], + "to": [ + 0.125, + 5.675, + -3.755 + ], + "autouv": 0, + "color": 5, + "inflate": 0.001, + "rotation": [ + 72, + 0, + 0 + ], + "origin": [ + 0, + 5.375, + -3.88 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 9, + 1, + 10 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 9, + 1, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "13511847-3581-9d5c-70cf-55f5d222efbf" + }, + { + "name": "Flower1Pedal3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.125, + 5.375, + -4.005 + ], + "to": [ + 0.125, + 5.675, + -3.755 + ], + "autouv": 0, + "color": 5, + "inflate": 0.001, + "rotation": [ + -144, + 0, + 0 + ], + "origin": [ + 0, + 5.375, + -3.88 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 9, + 1, + 10 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 9, + 1, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "7007a109-9ddc-afdb-ebb9-2b34338fe48c" + }, + { + "name": "Flower1Pedal4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.125, + 5.375, + -4.005 + ], + "to": [ + 0.125, + 5.675, + -3.755 + ], + "autouv": 0, + "color": 5, + "inflate": 0.001, + "rotation": [ + 144, + 0, + 0 + ], + "origin": [ + 0, + 5.375, + -3.88 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 9, + 1, + 10 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 9, + 1, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "14d3edb4-2406-a195-d203-9574d8a4069a" + }, + { + "name": "Flower1Pedal2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.125, + 5.375, + -4.005 + ], + "to": [ + 0.125, + 5.675, + -3.755 + ], + "autouv": 0, + "color": 5, + "inflate": 0.001, + "rotation": [ + -72, + 0, + 0 + ], + "origin": [ + 0, + 5.375, + -3.88 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 9, + 1, + 10 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 9, + 1, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "5f3181a7-f1ff-d2a0-9bb4-15f6790e7d0a" + }, + { + "name": "Flower2Pedal2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.125, + 5.375, + -2.505 + ], + "to": [ + 0.125, + 5.675, + -2.28 + ], + "autouv": 0, + "color": 5, + "inflate": 0.001, + "origin": [ + 0, + 5.375, + -2.38 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 9, + 1, + 10 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 9, + 1, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "b51ba71c-dfb5-ab0b-f18b-40e9d5468d64" + }, + { + "name": "Flower1Pedal3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.125, + 5.375, + -2.505 + ], + "to": [ + 0.125, + 5.675, + -2.255 + ], + "autouv": 0, + "color": 5, + "inflate": 0.001, + "rotation": [ + -72, + 0, + 0 + ], + "origin": [ + 0, + 5.375, + -2.38 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 9, + 1, + 10 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 9, + 1, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "741eee6b-52f7-7f02-4fc8-0d2f5f924fac" + }, + { + "name": "Flower1Pedal4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.125, + 5.375, + -2.505 + ], + "to": [ + 0.125, + 5.675, + -2.255 + ], + "autouv": 0, + "color": 5, + "inflate": 0.001, + "rotation": [ + -144, + 0, + 0 + ], + "origin": [ + 0, + 5.375, + -2.38 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 9, + 1, + 10 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 9, + 1, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "4979e9b7-5da0-2ff7-f79b-6cce7f6cc092" + }, + { + "name": "Flower1Pedal5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.125, + 5.375, + -2.505 + ], + "to": [ + 0.125, + 5.675, + -2.255 + ], + "autouv": 0, + "color": 5, + "inflate": 0.001, + "rotation": [ + 144, + 0, + 0 + ], + "origin": [ + 0, + 5.375, + -2.38 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 9, + 1, + 10 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 9, + 1, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "142681ce-c24e-c899-fab5-7a108945e833" + }, + { + "name": "Flower1Pedal6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.125, + 5.375, + -2.505 + ], + "to": [ + 0.125, + 5.675, + -2.255 + ], + "autouv": 0, + "color": 5, + "inflate": 0.001, + "rotation": [ + 72, + 0, + 0 + ], + "origin": [ + 0, + 5.375, + -2.38 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 9, + 1, + 10 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 9, + 1, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "b04b857e-7185-b95b-bc36-84f023a4daf7" + }, + { + "name": "Flower3Pedal3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.125, + 5.375, + -1.005 + ], + "to": [ + 0.125, + 5.675, + -0.78 + ], + "autouv": 0, + "color": 5, + "inflate": 0.001, + "origin": [ + 0, + 5.375, + -0.88 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 9, + 1, + 10 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 9, + 1, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "58b7d011-cab3-c322-dbb2-7870beeff644" + }, + { + "name": "Flower1Pedal4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.125, + 5.375, + -1.005 + ], + "to": [ + 0.125, + 5.675, + -0.755 + ], + "autouv": 0, + "color": 5, + "inflate": 0.001, + "rotation": [ + -72, + 0, + 0 + ], + "origin": [ + 0, + 5.375, + -0.88 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 9, + 1, + 10 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 9, + 1, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "40f8ca31-90dc-710d-8b70-931439102985" + }, + { + "name": "Flower1Pedal5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.125, + 5.375, + -1.005 + ], + "to": [ + 0.125, + 5.675, + -0.755 + ], + "autouv": 0, + "color": 5, + "inflate": 0.001, + "rotation": [ + -144, + 0, + 0 + ], + "origin": [ + 0, + 5.375, + -0.88 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 9, + 1, + 10 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 9, + 1, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "853aa4b2-0ade-d4ee-b338-dd1350c31f96" + }, + { + "name": "Flower1Pedal6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.125, + 5.375, + -1.005 + ], + "to": [ + 0.125, + 5.675, + -0.755 + ], + "autouv": 0, + "color": 5, + "inflate": 0.001, + "rotation": [ + 144, + 0, + 0 + ], + "origin": [ + 0, + 5.375, + -0.88 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 9, + 1, + 10 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 9, + 1, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "41af6b1c-81b6-f630-ecaa-aedbf3190195" + }, + { + "name": "Flower1Pedal7", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.125, + 5.375, + -1.005 + ], + "to": [ + 0.125, + 5.675, + -0.755 + ], + "autouv": 0, + "color": 5, + "inflate": 0.001, + "rotation": [ + 72, + 0, + 0 + ], + "origin": [ + 0, + 5.375, + -0.88 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 9, + 1, + 10 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 9, + 1, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "5874081c-d6f4-33e2-cb29-3d75da46c8cd" + }, + { + "name": "Hammer1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.75, + 6.9, + 4.33 + ], + "to": [ + -0.25, + 7.4, + 4.83 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.75, + 1 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "22f87e49-9a34-434e-8f36-d190e49f5d52" + }, + { + "name": "Hammer2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.75, + 5.3, + 5.91 + ], + "to": [ + -0.25, + 6.18, + 6.79 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -15, + 0, + 0 + ], + "origin": [ + -0.5, + 5.3, + 5.91 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "9e0fb4d6-7d9c-bbb7-7302-03f1f6d46601" + }, + { + "name": "TriggerBase", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.875, + 4.04, + -0.57 + ], + "to": [ + -0.125, + 4.75, + 2.22 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.75, + 1 + ], + "faces": { + "north": { + "uv": [ + 34, + 5, + 35, + 6 + ], + "texture": 0 + }, + "east": { + "uv": [ + 34, + 5, + 45.76, + 8 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 45.76, + 5, + 34, + 8 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 34, + 5, + 35, + 6 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "0e23b3d9-614b-8883-0c51-5d1a5e13844f" + }, + { + "name": "Hammer3_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.875, + 4.33, + 4.61 + ], + "to": [ + -0.125, + 4.75, + 6.86 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 5.3, + 5.91 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 3, + 9, + 4, + 10 + ], + "texture": 0 + }, + "south": { + "uv": [ + 3, + 9, + 4, + 10 + ], + "texture": 0 + }, + "west": { + "uv": [ + 3, + 9, + 4, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 3, + 9, + 4, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 3, + 9, + 4, + 10 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "ea0d3e8e-b423-27f9-068f-99423de2d525" + }, + { + "name": "Hammer3_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.875, + 4.12, + 4.61 + ], + "to": [ + -0.125, + 4.33, + 5.61 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 5.3, + 5.91 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 3, + 9, + 4, + 10 + ], + "texture": 0 + }, + "south": { + "uv": [ + 3, + 9, + 4, + 10 + ], + "texture": 0 + }, + "west": { + "uv": [ + 3, + 9, + 4, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 3, + 9, + 4, + 10 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "bbb4d8c7-3e6a-68a8-bef0-d92816206067" + }, + { + "name": "TriggerGuard1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.775, + 2.83, + 0.315 + ], + "to": [ + -0.275, + 4.04, + 0.565 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.75, + 1 + ], + "faces": { + "north": { + "uv": [ + 34, + 5, + 35, + 6 + ], + "texture": 0 + }, + "east": { + "uv": [ + 34, + 5, + 35, + 6 + ], + "texture": 0 + }, + "south": { + "uv": [ + 34, + 5, + 35, + 6 + ], + "texture": 0 + }, + "west": { + "uv": [ + 34, + 5, + 35, + 6 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "687ade1d-9385-ae7d-97c2-cb1ad82b670a" + }, + { + "name": "TriggerGuard3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.775, + 2.58, + 0.315 + ], + "to": [ + -0.275, + 2.83, + 2.615 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.75, + 1 + ], + "faces": { + "north": { + "uv": [ + 34, + 5, + 35, + 6 + ], + "texture": 0 + }, + "east": { + "uv": [ + 56, + 7, + 46.8, + 8 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 46.8, + 7, + 56, + 8 + ], + "texture": 0 + }, + "up": { + "uv": [ + 34, + 5, + 35, + 6 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 34, + 5, + 35, + 6 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "5453d2c2-3cf9-9062-a042-3e032e0ee656" + }, + { + "name": "TriggerGuard2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.775, + 3.915, + 0.19 + ], + "to": [ + -0.275, + 4.04, + 0.69 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.75, + 1 + ], + "faces": { + "north": { + "uv": [ + 34, + 5, + 35, + 6 + ], + "texture": 0 + }, + "east": { + "uv": [ + 34, + 5, + 35, + 6 + ], + "texture": 0 + }, + "south": { + "uv": [ + 34, + 5, + 35, + 6 + ], + "texture": 0 + }, + "west": { + "uv": [ + 34, + 5, + 35, + 6 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 34, + 5, + 35, + 6 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "d3e8bcd6-054d-c349-8259-9f0ce2eee118" + }, + { + "name": "Trigger", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.775, + 2.83, + 1.815 + ], + "to": [ + -0.275, + 4.04, + 2.065 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 35, + 0, + 0 + ], + "origin": [ + -0.525, + 4.04, + 2.07 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "bac77e1d-382f-d062-95fe-8aa99296ebc7" + }, + { + "name": "Magazine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -0.3, + 2.02 + ], + "to": [ + 0, + 0, + 4.02 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 4.75, + 2.025 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "7888477e-c32b-14c2-25a5-2f13b9355a9d" + }, + { + "name": "Line", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2, + -0.65, + 4.275 + ], + "to": [ + -0.05, + 0.1, + 4.425 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.1, + -0.25, + 4.275 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "472d8bde-9adf-082b-17ff-549c468c11a9" + }, + { + "name": "Ball", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.625, + -1.65, + 3.85 + ], + "to": [ + 0.375, + -0.65, + 4.85 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.1, + -0.25, + 4.275 + ], + "faces": { + "north": { + "uv": [ + 4, + 10, + 5, + 13 + ], + "texture": 0 + }, + "east": { + "uv": [ + 4, + 10, + 5, + 13 + ], + "texture": 0 + }, + "south": { + "uv": [ + 4, + 10, + 5, + 13 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 10, + 5, + 13 + ], + "texture": 0 + }, + "up": { + "uv": [ + 4, + 10, + 5, + 11 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 4, + 12, + 5, + 13 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "94afff98-1162-76f3-8b7b-04b5123323f5" + }, + { + "name": "Line", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.95, + -0.65, + 4.275 + ], + "to": [ + -0.8, + 0.1, + 4.425 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.85, + -0.25, + 4.275 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "dd96b9b3-2a5b-cff1-bf3d-40ba51b12ad1" + }, + { + "name": "Ball", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.375, + -1.65, + 3.85 + ], + "to": [ + -0.375, + -0.65, + 4.85 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.85, + -0.25, + 4.275 + ], + "faces": { + "north": { + "uv": [ + 4, + 10, + 5, + 13 + ], + "texture": 0 + }, + "east": { + "uv": [ + 4, + 10, + 5, + 13 + ], + "texture": 0 + }, + "south": { + "uv": [ + 4, + 10, + 5, + 13 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 10, + 5, + 13 + ], + "texture": 0 + }, + "up": { + "uv": [ + 4, + 10, + 5, + 11 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 4, + 12, + 5, + 13 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "89153879-9a4f-a971-39b3-65148cfe913b" + }, + { + "name": "Line", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.575, + -1.65, + 4.275 + ], + "to": [ + -0.425, + 0.1, + 4.425 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.475, + -0.25, + 4.275 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "a41b3918-c319-fe4b-f354-7fcf511ee1fe" + }, + { + "name": "Bird1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5625, + -1.775, + 4.165 + ], + "to": [ + -0.4375, + -1.65, + 4.54 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.475, + -0.25, + 4.275 + ], + "faces": { + "north": { + "uv": [ + 36, + 16, + 37, + 17 + ], + "texture": 0 + }, + "east": { + "uv": [ + 39, + 16, + 36, + 17 + ], + "texture": 0 + }, + "south": { + "uv": [ + 38, + 16, + 39, + 17 + ], + "texture": 0 + }, + "west": { + "uv": [ + 36, + 16, + 39, + 17 + ], + "texture": 0 + }, + "up": { + "uv": [ + 36, + 16, + 39, + 17 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "e79e448e-b090-16e9-2721-3b3c24510ebb" + }, + { + "name": "Bird2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5625, + -1.9, + 4.04 + ], + "to": [ + -0.4375, + -1.775, + 4.79 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.475, + -0.25, + 4.275 + ], + "faces": { + "north": { + "uv": [ + 35, + 17, + 36, + 18 + ], + "texture": 0 + }, + "east": { + "uv": [ + 41, + 17, + 35, + 18 + ], + "texture": 0 + }, + "south": { + "uv": [ + 40, + 17, + 41, + 18 + ], + "texture": 0 + }, + "west": { + "uv": [ + 35, + 17, + 41, + 18 + ], + "texture": 0 + }, + "up": { + "uv": [ + 35, + 17, + 41, + 18 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "7ba095ae-ea4c-bef8-96cd-51fd6c80f5a3" + }, + { + "name": "Bird3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5625, + -2.025, + 3.915 + ], + "to": [ + -0.4375, + -1.9, + 5.04 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.475, + -0.25, + 4.275 + ], + "faces": { + "north": { + "uv": [ + 34, + 18, + 35, + 19 + ], + "texture": 0 + }, + "east": { + "uv": [ + 43, + 18, + 34, + 19 + ], + "texture": 0 + }, + "south": { + "uv": [ + 42, + 18, + 43, + 19 + ], + "texture": 0 + }, + "west": { + "uv": [ + 34, + 18, + 43, + 19 + ], + "texture": 0 + }, + "up": { + "uv": [ + 34, + 18, + 43, + 19 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 34, + 18, + 43, + 19 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "4f5c9358-adde-232d-b652-bb8f0310a011" + }, + { + "name": "Bird4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5625, + -2.15, + 4.29 + ], + "to": [ + -0.4375, + -2.025, + 5.165 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.475, + -0.25, + 4.275 + ], + "faces": { + "north": { + "uv": [ + 37, + 19, + 38, + 20 + ], + "texture": 0 + }, + "east": { + "uv": [ + 44, + 19, + 37, + 20 + ], + "texture": 0 + }, + "south": { + "uv": [ + 43, + 19, + 44, + 20 + ], + "texture": 0 + }, + "west": { + "uv": [ + 37, + 19, + 44, + 20 + ], + "texture": 0 + }, + "up": { + "uv": [ + 37, + 19, + 44, + 20 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 37, + 19, + 44, + 20 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "cf39350b-6cdd-6428-a409-405020134892" + }, + { + "name": "Bird5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5625, + -2.275, + 4.415 + ], + "to": [ + -0.4375, + -2.15, + 5.415 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.475, + -0.25, + 4.275 + ], + "faces": { + "north": { + "uv": [ + 38, + 20, + 39, + 21 + ], + "texture": 0 + }, + "east": { + "uv": [ + 46, + 20, + 38, + 21 + ], + "texture": 0 + }, + "south": { + "uv": [ + 45, + 20, + 46, + 21 + ], + "texture": 0 + }, + "west": { + "uv": [ + 38, + 20, + 46, + 21 + ], + "texture": 0 + }, + "up": { + "uv": [ + 38, + 20, + 46, + 21 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 38, + 20, + 46, + 21 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "7bfdad08-2afb-0d34-754b-83ca56a0d1c6" + }, + { + "name": "Bird6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5625, + -2.4, + 4.54 + ], + "to": [ + -0.4375, + -2.275, + 5.665 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.475, + -0.25, + 4.275 + ], + "faces": { + "north": { + "uv": [ + 39, + 21, + 40, + 22 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 21, + 39, + 22 + ], + "texture": 0 + }, + "south": { + "uv": [ + 47, + 21, + 48, + 22 + ], + "texture": 0 + }, + "west": { + "uv": [ + 39, + 21, + 48, + 22 + ], + "texture": 0 + }, + "up": { + "uv": [ + 39, + 21, + 48, + 22 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 39, + 21, + 48, + 22 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "108c9a6f-c096-66bf-30dc-8675ea093d1e" + }, + { + "name": "Bird7", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5625, + -2.525, + 4.665 + ], + "to": [ + -0.4375, + -2.4, + 5.165 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.475, + -0.25, + 4.275 + ], + "faces": { + "north": { + "uv": [ + 40, + 22, + 41, + 23 + ], + "texture": 0 + }, + "east": { + "uv": [ + 44, + 22, + 40, + 23 + ], + "texture": 0 + }, + "south": { + "uv": [ + 43, + 22, + 44, + 23 + ], + "texture": 0 + }, + "west": { + "uv": [ + 40, + 22, + 44, + 23 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 40, + 22, + 44, + 23 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "90a84364-51d6-b148-8a2f-95264c943547" + }, + { + "name": "Bird8", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5625, + -2.775, + 4.915 + ], + "to": [ + -0.4375, + -2.525, + 5.04 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.475, + -0.25, + 4.275 + ], + "faces": { + "north": { + "uv": [ + 42, + 23, + 43, + 25 + ], + "texture": 0 + }, + "east": { + "uv": [ + 42, + 23, + 43, + 25 + ], + "texture": 0 + }, + "south": { + "uv": [ + 42, + 23, + 43, + 25 + ], + "texture": 0 + }, + "west": { + "uv": [ + 42, + 23, + 43, + 25 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "31690759-0ab1-9dec-ae34-26b32fe1b4ed" + }, + { + "name": "Bird9", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5625, + -2.9, + 4.79 + ], + "to": [ + -0.4375, + -2.775, + 5.04 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.475, + -0.25, + 4.275 + ], + "faces": { + "north": { + "uv": [ + 41, + 25, + 42, + 26 + ], + "texture": 0 + }, + "east": { + "uv": [ + 43, + 25, + 41, + 26 + ], + "texture": 0 + }, + "south": { + "uv": [ + 42, + 25, + 43, + 26 + ], + "texture": 0 + }, + "west": { + "uv": [ + 41, + 25, + 43, + 26 + ], + "texture": 0 + }, + "up": { + "uv": [ + 41, + 25, + 43, + 26 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 41, + 25, + 43, + 26 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "db103dc7-267b-cf7f-cad7-40c38859bd0b" + }, + { + "name": "Bird10", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5625, + -2.525, + 5.415 + ], + "to": [ + -0.4375, + -2.4, + 5.79 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.475, + -0.25, + 4.275 + ], + "faces": { + "north": { + "uv": [ + 46, + 22, + 47, + 23 + ], + "texture": 0 + }, + "east": { + "uv": [ + 49, + 22, + 46, + 23 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 22, + 49, + 23 + ], + "texture": 0 + }, + "west": { + "uv": [ + 46, + 22, + 49, + 23 + ], + "texture": 0 + }, + "up": { + "uv": [ + 46, + 22, + 49, + 23 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 46, + 22, + 49, + 23 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "97541783-edfb-8823-4f8e-5e984a771d43" + }, + { + "name": "Bird11", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5625, + -2.65, + 5.665 + ], + "to": [ + -0.4375, + -2.525, + 5.915 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.475, + -0.25, + 4.275 + ], + "faces": { + "north": { + "uv": [ + 48, + 23, + 49, + 24 + ], + "texture": 0 + }, + "east": { + "uv": [ + 50, + 23, + 48, + 24 + ], + "texture": 0 + }, + "south": { + "uv": [ + 49, + 23, + 50, + 24 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 23, + 50, + 24 + ], + "texture": 0 + }, + "up": { + "uv": [ + 48, + 23, + 50, + 24 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 48, + 23, + 50, + 24 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "32d7f93e-24e3-ae3c-7be9-125e7d864e6a" + } + ], + "outliner": [ + { + "name": "Gun", + "origin": [ + 0, + 4, + 0 + ], + "color": 0, + "uuid": "20fe1cca-22a6-ca36-3dc4-e85c7c10e012", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "5c148e89-1a42-d254-daf6-b0c8f0c9b182", + "0d34d03b-eba1-c6c9-9c95-650c4deddd18", + "70b15a18-d9c6-2782-ac3f-3a6d88ac448e", + "62f14cbd-3658-dd27-3659-5cd340f0df7b", + "a3b32896-d760-6bd7-95ee-e013147b59ce", + "29d70f7b-a4c7-fd5f-e9a0-face1ffd3083", + "4289b3d4-0e53-1064-2ff8-8d73fac44ef3", + "77d0e707-7ed4-fac7-4fa4-e2b874417d4b", + "561f5a5e-4124-7d96-1c39-38deb7337f7a", + "08f4f193-e10d-546d-d98c-0dff762e5258", + "bdd4fb81-1732-e3b1-2cbd-e8aef3da6d99", + "35d6ff6d-ba6d-af35-286e-9367b13c8a87", + "6ba24a36-ae00-2f18-28ba-07fcf53b4bf8", + "e493445a-2373-04f4-31da-0b84346fda99", + "2aa4b44e-e3b2-2f57-ea7b-c70c725abb78", + "fc94719a-244a-c903-f124-c30983208134", + "5f50707b-7283-616f-f53d-2c25a5513478", + "c5065473-1145-e660-756b-8b0678d915bf", + "22f87e49-9a34-434e-8f36-d190e49f5d52", + "9e0fb4d6-7d9c-bbb7-7302-03f1f6d46601", + "ea0d3e8e-b423-27f9-068f-99423de2d525", + "bbb4d8c7-3e6a-68a8-bef0-d92816206067", + "92b575b7-d40c-7f80-0dee-eaee2a9d0ad7", + "f3aea05d-3661-b9f4-311c-208c2a841060", + "0e23b3d9-614b-8883-0c51-5d1a5e13844f", + "687ade1d-9385-ae7d-97c2-cb1ad82b670a", + "d3e8bcd6-054d-c349-8259-9f0ce2eee118", + "5453d2c2-3cf9-9062-a042-3e032e0ee656", + "bac77e1d-382f-d062-95fe-8aa99296ebc7", + { + "name": "Flower1", + "origin": [ + -1.875, + 4.25, + 0 + ], + "color": 0, + "uuid": "29a510ec-8705-3cef-53a1-9d766c6ffa00", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "21fb68b8-a231-f3be-267f-20ba4495bab7", + "5f3181a7-f1ff-d2a0-9bb4-15f6790e7d0a", + "7007a109-9ddc-afdb-ebb9-2b34338fe48c", + "14d3edb4-2406-a195-d203-9574d8a4069a", + "13511847-3581-9d5c-70cf-55f5d222efbf" + ] + }, + { + "name": "Flower2", + "origin": [ + -0.375, + 4.25, + 0 + ], + "color": 0, + "uuid": "f4a037d1-bfdb-2caa-e690-ab7c5705d601", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b51ba71c-dfb5-ab0b-f18b-40e9d5468d64", + "741eee6b-52f7-7f02-4fc8-0d2f5f924fac", + "4979e9b7-5da0-2ff7-f79b-6cce7f6cc092", + "142681ce-c24e-c899-fab5-7a108945e833", + "b04b857e-7185-b95b-bc36-84f023a4daf7" + ] + }, + { + "name": "Flower3", + "origin": [ + 1.125, + 4.25, + 0 + ], + "color": 0, + "uuid": "7a62bf53-1367-0693-93f8-b6022e3f0fd5", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "58b7d011-cab3-c322-dbb2-7870beeff644", + "40f8ca31-90dc-710d-8b70-931439102985", + "853aa4b2-0ade-d4ee-b338-dd1350c31f96", + "41af6b1c-81b6-f630-ecaa-aedbf3190195", + "5874081c-d6f4-33e2-cb29-3d75da46c8cd" + ] + }, + { + "name": "Grip", + "origin": [ + -0.5, + 4.75, + 2.025 + ], + "rotation": [ + -15, + 0, + 0 + ], + "color": 0, + "uuid": "fcbad7d0-77a3-91d6-38a9-0a3fab41250a", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "813366db-dfd3-32ab-d44f-e20a5d6b0171", + "7888477e-c32b-14c2-25a5-2f13b9355a9d", + { + "name": "KeyHolder", + "origin": [ + -0.5, + 0, + 4.275 + ], + "rotation": [ + 15, + 0, + 0 + ], + "color": 0, + "uuid": "ff589375-3e7d-edab-04d1-cbcb78280fcf", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Ball1", + "origin": [ + -0.1, + 0.025, + 4.275 + ], + "rotation": [ + 0, + 0, + 15 + ], + "color": 0, + "uuid": "d34ceafb-9d64-31fa-6bf7-37c05297adcb", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "472d8bde-9adf-082b-17ff-549c468c11a9", + "94afff98-1162-76f3-8b7b-04b5123323f5" + ] + }, + { + "name": "Ball2", + "origin": [ + -0.85, + 0.025, + 4.275 + ], + "rotation": [ + 0, + 0, + -15 + ], + "color": 0, + "uuid": "a43dcc5e-31a8-e779-7701-5fb8b9c8dd7c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "dd96b9b3-2a5b-cff1-bf3d-40ba51b12ad1", + "89153879-9a4f-a971-39b3-65148cfe913b" + ] + }, + { + "name": "Bird", + "origin": [ + 4.275, + 0.025, + 0.475 + ], + "color": 0, + "uuid": "aef14606-72e1-a496-3ec5-9bf50cbbe39b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a41b3918-c319-fe4b-f354-7fcf511ee1fe", + "e79e448e-b090-16e9-2721-3b3c24510ebb", + "7ba095ae-ea4c-bef8-96cd-51fd6c80f5a3", + "4f5c9358-adde-232d-b652-bb8f0310a011", + "cf39350b-6cdd-6428-a409-405020134892", + "7bfdad08-2afb-0d34-754b-83ca56a0d1c6", + "108c9a6f-c096-66bf-30dc-8675ea093d1e", + "90a84364-51d6-b148-8a2f-95264c943547", + "31690759-0ab1-9dec-ae34-26b32fe1b4ed", + "db103dc7-267b-cf7f-cad7-40c38859bd0b", + "97541783-edfb-8823-4f8e-5e984a771d43", + "32d7f93e-24e3-ae3c-7be9-125e7d864e6a" + ] + } + ] + } + ] + }, + { + "name": "MuzzleAnchor", + "origin": [ + -0.5, + 6.145, + -7 + ], + "color": 0, + "uuid": "f124d5be-f16b-6f76-195d-7884e6fca024", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + } + ], + "textures": [ + { + "path": "", + "name": "gun.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 64, + "height": 26, + "uv_width": 64, + "uv_height": 26, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "7bd4b824-3db6-476b-99e3-dde805a618f1", + "relative_path": "../../textures/gun.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAaCAYAAAAHfFpPAAAAAXNSR0IArs4c6QAAAqZJREFUWEdj3L86/j/DMAQnjt6F+6pywhFGXF5kJCUAkA0d7GFmYa3MAHIviHYMXUjdAAAZOpQA3gBoL7AhKgvAPA1LBUMhEEAeB6VwqgTAUIpxmFtBeR8UwSSXAZ1z3g4K/zpovkdxx4HrgnD+jp1bcOZrUhwPSyJwPftXxzMgB0C00wec5jXNeQGWU1bSIMVOktWCAgLZ8yAD6BIAIM+fvPyFISFUj+H6jXsYDqdXAJAcYlANTYmSDGYRs3GmFA93n/94UwAsAEDmmevywN0B8zg1Y//e/Vvk+hOuL8lLFM6et+01w61bt1A8D/IwuiWM72+2/p+6+j/DlClTGMJCo0BJi0FJUQ2uDjkLIHscpGB5jxVDzbR3YLU6Orpg+sqVy2TxqZWk0T2opqYG9jSyn0B8UOqom/+cASN5XJ7b/L901UmSY2OwBwC6h2ABAg4A5KTR4GPM0LDlLIp6Sj1HSD/IMlplAVgKwBajoEBgRM8X8WpCDAtvQZI1DBDyAKXyJCc3EjTgC1hwAKCHEKjgQA4USj1HSD8JfiFL6WgA4KhdljTZgwMUbwogFHuUyiNHKSymYFUZqBqjFICSOKGyZdAEAKwaPLE2E15XWwRPp7i5i60QfPsW0dTHGgD4Sk5KYwWXflDZg+x5kLpVGy+ClfctOkZ2QAyZAFjU7gz27JGTj8H0sxfvGKQkhODsMH99BnJSBKHIJDtkaZUSQOb2lEGarMiBAOLbmMuSHAigAEh2k2SYu+s5VicPygBADwQQH5YaQIEAAsSmBoJZgJYxSanZsJQASw3kBISwsDDeEa9BmwJggYccCCCxki7IQAhMnFC2GJJlALaUkxDi/H/Bmr0YEQYKCEKBgC8lDvoUAHM8rgCgNJsNiQAAeR7kUWwpgNIAAAA8NsCaqfzhDQAAAABJRU5ErkJggg==" + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Mari/models/main.bbmodel b/config/yosbr/config/figura/avatars/Mari/models/main.bbmodel new file mode 100644 index 0000000..3069829 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/models/main.bbmodel @@ -0,0 +1,23641 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "main", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 64, + "height": 197 + }, + "elements": [ + { + "name": "Head", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 24, + -4 + ], + "to": [ + 4, + 32, + 4 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 8, + 16, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 8, + 8, + 16 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 8, + 32, + 16 + ], + "texture": 0 + }, + "west": { + "uv": [ + 16, + 8, + 24, + 16 + ], + "texture": 0 + }, + "up": { + "uv": [ + 16, + 8, + 8, + 0 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 0, + 16, + 8 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a66c63cf-0082-7797-3f4e-08ff434a1cac" + }, + { + "name": "HatLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 24, + -4 + ], + "to": [ + 4, + 32, + 4 + ], + "autouv": 0, + "color": 0, + "inflate": 0.5, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 32, + 0 + ], + "faces": { + "north": { + "uv": [ + 40, + 8, + 48, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 32, + 8, + 40, + 16 + ], + "texture": 0 + }, + "south": { + "uv": [ + 56, + 8, + 64, + 16 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 8, + 56, + 16 + ], + "texture": 0 + }, + "up": { + "uv": [ + 48, + 8, + 40, + 0 + ], + "texture": 0 + }, + "down": { + "uv": [ + 56, + 0, + 48, + 8 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d48552a8-9f0d-7335-2a82-794f3264fc9d" + }, + { + "name": "Body", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 12, + -2 + ], + "to": [ + 4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 16 + ], + "faces": { + "north": { + "uv": [ + 20, + 121, + 28, + 133 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 121, + 20, + 133 + ], + "texture": 0 + }, + "south": { + "uv": [ + 32, + 121, + 40, + 133 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 121, + 32, + 133 + ], + "texture": 0 + }, + "up": { + "uv": [ + 28, + 121, + 20, + 117 + ], + "texture": 0 + }, + "down": { + "uv": [ + 36, + 117, + 28, + 121 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "742e9ab7-8cdd-8d93-9a9a-88011f54d15b" + }, + { + "name": "BodyLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 12, + -2 + ], + "to": [ + 4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 32 + ], + "faces": { + "north": { + "uv": [ + 20, + 137, + 28, + 149 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 137, + 20, + 149 + ], + "texture": 0 + }, + "south": { + "uv": [ + 32, + 137, + 40, + 149 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 137, + 32, + 149 + ], + "texture": 0 + }, + "up": { + "uv": [ + 28, + 137, + 20, + 133 + ], + "texture": 0 + }, + "down": { + "uv": [ + 36, + 133, + 28, + 137 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2574fa9e-0d5f-502c-ce28-ef5cf30f41ec" + }, + { + "name": "RightArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 18, + -2 + ], + "to": [ + 7, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 44, + 121, + 47, + 127 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 121, + 44, + 127 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 121, + 54, + 127 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 121, + 51, + 127 + ], + "texture": 0 + }, + "up": { + "uv": [ + 47, + 121, + 44, + 117 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 101, + 0, + 101 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8831734e-ce90-e6bb-8368-e011a468277d" + }, + { + "name": "RightArmLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 18, + -2 + ], + "to": [ + 7, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 32 + ], + "faces": { + "north": { + "uv": [ + 44, + 137, + 47, + 143 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 137, + 44, + 143 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 137, + 54, + 143 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 137, + 51, + 143 + ], + "texture": 0 + }, + "up": { + "uv": [ + 47, + 137, + 44, + 133 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 101, + 0, + 101 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "cea7603d-ae80-e4e7-6f93-905551a79117" + }, + { + "name": "LeftArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 18, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 32, + 48 + ], + "faces": { + "north": { + "uv": [ + 36, + 153, + 39, + 159 + ], + "texture": 0 + }, + "east": { + "uv": [ + 32, + 153, + 36, + 159 + ], + "texture": 0 + }, + "south": { + "uv": [ + 43, + 153, + 46, + 159 + ], + "texture": 0 + }, + "west": { + "uv": [ + 39, + 153, + 43, + 159 + ], + "texture": 0 + }, + "up": { + "uv": [ + 39, + 153, + 36, + 149 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 101, + 0, + 101 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "af1aa9d5-0ccf-d579-b381-54ac7b12fb55" + }, + { + "name": "LeftArmLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 18, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 48, + 48 + ], + "faces": { + "north": { + "uv": [ + 52, + 153, + 55, + 159 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 153, + 52, + 159 + ], + "texture": 0 + }, + "south": { + "uv": [ + 59, + 153, + 62, + 159 + ], + "texture": 0 + }, + "west": { + "uv": [ + 55, + 153, + 59, + 159 + ], + "texture": 0 + }, + "up": { + "uv": [ + 55, + 153, + 52, + 149 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 101, + 0, + 101 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b74fb9e9-db24-b669-6f87-8469be63eda5" + }, + { + "name": "RightLeg", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 6, + -2 + ], + "to": [ + 4, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 4, + 121, + 8, + 127 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 121, + 4, + 127 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 121, + 16, + 127 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 121, + 12, + 127 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 121, + 4, + 117 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 101, + 0, + 101 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "da81ebbe-5b4e-2d46-144a-6f839ad6fa3c" + }, + { + "name": "RightLegLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 6, + -2 + ], + "to": [ + 4, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 32 + ], + "faces": { + "north": { + "uv": [ + 4, + 137, + 8, + 143 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 137, + 4, + 143 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 137, + 16, + 143 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 137, + 12, + 143 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 137, + 4, + 133 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 101, + 0, + 101 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "bcf37da3-caec-e8f2-bc82-76a3f169374c" + }, + { + "name": "LeftLeg", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 6, + -2 + ], + "to": [ + 0, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 48 + ], + "faces": { + "north": { + "uv": [ + 20, + 153, + 24, + 159 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 153, + 20, + 159 + ], + "texture": 0 + }, + "south": { + "uv": [ + 28, + 153, + 32, + 159 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 153, + 28, + 159 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 153, + 20, + 149 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 101, + 0, + 101 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9c06bc9a-beae-98d9-e9ce-9c8e6ddbb9d3" + }, + { + "name": "LeftLegLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 6, + -2 + ], + "to": [ + 0, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 48 + ], + "faces": { + "north": { + "uv": [ + 4, + 153, + 8, + 159 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 153, + 4, + 159 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 153, + 16, + 159 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 153, + 12, + 159 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 153, + 4, + 149 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 101, + 0, + 101 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f8f1e7ad-7999-9f17-0488-5dcbd4af7945" + }, + { + "name": "EyeLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1, + 25, + -4.02 + ], + "to": [ + 4, + 28, + -4.02 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 32, + 6, + 38 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "7853e9a2-b429-5a00-5e0e-70449c3a71ee" + }, + { + "name": "EyeRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 25, + -4.02 + ], + "to": [ + -1, + 28, + -4.02 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 12, + 32, + 6, + 38 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "328a2de5-64bc-807b-5906-227bfceedf26" + }, + { + "name": "RightArmBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 7, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 44, + 127, + 47, + 133 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 127, + 44, + 133 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 127, + 54, + 133 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 127, + 51, + 133 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 101, + 0, + 101 + ], + "texture": null + }, + "down": { + "uv": [ + 50, + 121, + 47, + 117 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "643f9c05-2d3c-e1d1-5a2f-874902eb1784" + }, + { + "name": "RightArmBottomLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 7, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 32 + ], + "faces": { + "north": { + "uv": [ + 44, + 143, + 47, + 149 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 143, + 44, + 149 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 143, + 54, + 149 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 143, + 51, + 149 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 101, + 0, + 101 + ], + "texture": null + }, + "down": { + "uv": [ + 50, + 137, + 47, + 133 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b1a76f47-912e-c2d4-8090-6f6ac9734672" + }, + { + "name": "LeftArmBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 12, + -2 + ], + "to": [ + -4, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 32, + 48 + ], + "faces": { + "north": { + "uv": [ + 36, + 159, + 39, + 165 + ], + "texture": 0 + }, + "east": { + "uv": [ + 32, + 159, + 36, + 165 + ], + "texture": 0 + }, + "south": { + "uv": [ + 43, + 159, + 46, + 165 + ], + "texture": 0 + }, + "west": { + "uv": [ + 39, + 159, + 43, + 165 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 101, + 0, + 101 + ], + "texture": null + }, + "down": { + "uv": [ + 42, + 153, + 39, + 149 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a82219a3-e344-a4d8-c85c-51462943a7dc" + }, + { + "name": "LeftArmBottomLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 12, + -2 + ], + "to": [ + -4, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 48, + 48 + ], + "faces": { + "north": { + "uv": [ + 52, + 159, + 55, + 165 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 159, + 52, + 165 + ], + "texture": 0 + }, + "south": { + "uv": [ + 59, + 159, + 62, + 165 + ], + "texture": 0 + }, + "west": { + "uv": [ + 55, + 159, + 59, + 165 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 101, + 0, + 101 + ], + "texture": null + }, + "down": { + "uv": [ + 58, + 153, + 55, + 149 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d7794b2f-dbb3-2cd5-c956-cd163b703976" + }, + { + "name": "RightLegBottomLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -2 + ], + "to": [ + 4, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 32 + ], + "faces": { + "north": { + "uv": [ + 4, + 143, + 8, + 149 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 143, + 4, + 149 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 143, + 16, + 149 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 143, + 12, + 149 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 101, + 0, + 101 + ], + "texture": null + }, + "down": { + "uv": [ + 12, + 137, + 8, + 133 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "72c6eff7-d0eb-2ffa-193f-2ca402bdc722" + }, + { + "name": "RightLegBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -2 + ], + "to": [ + 4, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 4, + 127, + 8, + 133 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 127, + 4, + 133 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 127, + 16, + 133 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 127, + 12, + 133 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 101, + 0, + 101 + ], + "texture": null + }, + "down": { + "uv": [ + 12, + 121, + 8, + 117 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8b1cc891-ffa8-9f46-ebc0-f0b84e6ffb15" + }, + { + "name": "LeftLegBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 0, + -2 + ], + "to": [ + 0, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 48 + ], + "faces": { + "north": { + "uv": [ + 20, + 159, + 24, + 165 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 159, + 20, + 165 + ], + "texture": 0 + }, + "south": { + "uv": [ + 28, + 159, + 32, + 165 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 159, + 28, + 165 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 101, + 0, + 101 + ], + "texture": null + }, + "down": { + "uv": [ + 28, + 153, + 24, + 149 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a1169ee6-6a78-c7c4-9214-670991206468" + }, + { + "name": "LeftLegBottomLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 0, + -2 + ], + "to": [ + 0, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 48 + ], + "faces": { + "north": { + "uv": [ + 4, + 159, + 8, + 165 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 159, + 4, + 165 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 159, + 16, + 165 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 159, + 12, + 165 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 101, + 0, + 101 + ], + "texture": null + }, + "down": { + "uv": [ + 12, + 153, + 8, + 149 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a5173990-504e-f5c4-45c7-9347880c1306" + }, + { + "name": "Camera2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -1, + 1 + ], + "to": [ + 1, + 1, + 4 + ], + "autouv": 1, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "south": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "west": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "up": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "down": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "c2175bbe-2cfe-5bd6-da67-98c3b6cd21ee" + }, + { + "name": "Camera3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 1, + 1.25 + ], + "to": [ + 0.5, + 2, + 2.25 + ], + "autouv": 1, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "south": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "west": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "up": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "down": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "7e6a5cd5-aefb-6095-d77f-adf6c4130742" + }, + { + "name": "Camera4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 1, + 2.75 + ], + "to": [ + 0.5, + 2, + 3.75 + ], + "autouv": 1, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "south": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "west": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "up": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "down": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "31aaec73-9e98-c58c-c0ed-6d915f491f85" + }, + { + "name": "Camera1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + -1.5, + 0 + ], + "to": [ + 1.5, + 1.5, + 1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "south": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "west": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "up": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "down": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8b47234a-9700-3da5-47db-8f75a6aab837" + }, + { + "name": "RightEarFront1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2.15, + 30.5, + -2 + ], + "to": [ + 3.9, + 32.5, + -0.5 + ], + "autouv": 0, + "color": 1, + "rotation": [ + 0, + 0, + -25 + ], + "origin": [ + 4.25, + 31.75, + -1.25 + ], + "uv_offset": [ + 0, + 3 + ], + "faces": { + "north": { + "uv": [ + 24, + 6, + 25, + 7 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 6, + 25, + 7 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 6, + 25, + 7 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 6, + 25, + 7 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 6, + 25, + 7 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 6, + 25, + 7 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b95a0594-6f51-b245-95e7-4be195efa438" + }, + { + "name": "RightEarFront2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1.05, + 30.75, + -1.25 + ], + "to": [ + 2.05, + 35.75, + -0.25 + ], + "autouv": 0, + "color": 7, + "shade": false, + "rotation": [ + 0, + 0, + -25 + ], + "origin": [ + 2.75, + 31.75, + -1.25 + ], + "uv_offset": [ + 16, + 0 + ], + "faces": { + "north": { + "uv": [ + 24, + 1, + 25, + 6 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 1, + 25, + 6 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 0, + 25, + 5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 0, + 25, + 5 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 0, + 25, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 3, + 25, + 4 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "15cf28e9-1940-5b16-3c26-e017d53f1d55" + }, + { + "name": "RightEarFront3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4.1, + 31.9, + -1.25 + ], + "to": [ + 5.1, + 35.9, + -0.25 + ], + "autouv": 0, + "color": 7, + "shade": false, + "rotation": [ + 0, + 0, + 17.5 + ], + "origin": [ + 5.25, + 31.75, + -1.25 + ], + "uv_offset": [ + 20, + 0 + ], + "faces": { + "north": { + "uv": [ + 24, + 1, + 25, + 5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 0, + 25, + 4 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 0, + 25, + 4 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 0, + 25, + 4 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 0, + 25, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 0, + 25, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "4d3e41a1-250c-1ab3-e910-dc5ae25187ad" + }, + { + "name": "RightEarFront4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.9, + 29.9, + -1.15 + ], + "to": [ + 4.9, + 31.9, + -0.15 + ], + "autouv": 0, + "color": 7, + "shade": false, + "rotation": [ + 0, + 0, + -17.5 + ], + "origin": [ + 5.15, + 31.75, + -0.85 + ], + "uv_offset": [ + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 24, + 3, + 25, + 4 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 3, + 25, + 4 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 3, + 25, + 4 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 3, + 25, + 4 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 3, + 25, + 4 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 3, + 25, + 4 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b7a1ddd4-07d9-4384-d4bf-83db9af50bfc" + }, + { + "name": "RightEarBack1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2.75, + 30.75, + -0.45 + ], + "to": [ + 3.75, + 34.75, + 0.55 + ], + "autouv": 0, + "color": 5, + "origin": [ + 3.75, + 31.5, + -1.25 + ], + "uv_offset": [ + 12, + 0 + ], + "faces": { + "north": { + "uv": [ + 25, + 0, + 26, + 4 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 0, + 25, + 4 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 2, + 25, + 6 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 1, + 25, + 5 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 0, + 25, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 3, + 25, + 4 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5f4c88b7-e251-8a1d-333e-87313c4523ad" + }, + { + "name": "RightEarBack2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1.7, + 30.55, + -0.5 + ], + "to": [ + 2.7, + 34.55, + 0.5 + ], + "autouv": 0, + "color": 3, + "rotation": [ + 0, + 0, + -11 + ], + "origin": [ + 2.7, + 31.35, + -1 + ], + "uv_offset": [ + 8, + 0 + ], + "faces": { + "north": { + "uv": [ + 25, + 1, + 26, + 5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 25, + 2, + 26, + 6 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 2, + 25, + 6 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 1, + 25, + 5 + ], + "texture": 0 + }, + "up": { + "uv": [ + 25, + 0, + 24, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 25, + 3, + 24, + 4 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8423948c-fa84-ced4-388f-18af27f34ceb" + }, + { + "name": "RightEarBack3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.75, + 31.85, + -0.55 + ], + "to": [ + 4.75, + 34.85, + 0.45 + ], + "autouv": 0, + "color": 3, + "rotation": [ + 0, + 0, + 17.5 + ], + "origin": [ + 4.75, + 31.75, + -1.25 + ], + "uv_offset": [ + 4, + 0 + ], + "faces": { + "north": { + "uv": [ + 26, + 1, + 25, + 4 + ], + "texture": 0 + }, + "east": { + "uv": [ + 25, + 2, + 24, + 5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 25, + 2, + 24, + 5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 26, + 1, + 25, + 4 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 0, + 25, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 3, + 25, + 4 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "81481ee9-362e-7cc4-4fc2-0325e6022eb4" + }, + { + "name": "LeftEarFront1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 30.5, + -2 + ], + "to": [ + -2.15, + 32.5, + -0.5 + ], + "autouv": 0, + "color": 1, + "rotation": [ + 0, + 0, + 25 + ], + "origin": [ + -4.25, + 31.75, + -1.25 + ], + "uv_offset": [ + 0, + 3 + ], + "faces": { + "north": { + "uv": [ + 25, + 6, + 24, + 7 + ], + "texture": 0 + }, + "east": { + "uv": [ + 25, + 6, + 24, + 7 + ], + "texture": 0 + }, + "south": { + "uv": [ + 25, + 6, + 24, + 7 + ], + "texture": 0 + }, + "west": { + "uv": [ + 25, + 6, + 24, + 7 + ], + "texture": 0 + }, + "up": { + "uv": [ + 25, + 6, + 24, + 7 + ], + "texture": 0 + }, + "down": { + "uv": [ + 25, + 6, + 24, + 7 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5b89422c-0d46-1d9b-ac66-496a04dc8cb5" + }, + { + "name": "LeftEarFront2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.05, + 30.75, + -1.25 + ], + "to": [ + -1.05, + 35.75, + -0.25 + ], + "autouv": 0, + "color": 7, + "shade": false, + "rotation": [ + 0, + 0, + 25 + ], + "origin": [ + -2.75, + 31.75, + -1.25 + ], + "uv_offset": [ + 16, + 0 + ], + "faces": { + "north": { + "uv": [ + 25, + 1, + 24, + 6 + ], + "texture": 0 + }, + "east": { + "uv": [ + 25, + 0, + 24, + 5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 25, + 0, + 24, + 5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 25, + 1, + 24, + 6 + ], + "texture": 0 + }, + "up": { + "uv": [ + 25, + 0, + 24, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 25, + 3, + 24, + 4 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "0b07e431-27a9-bbe5-e776-8d5562060327" + }, + { + "name": "LeftEarFront3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5.1, + 31.9, + -1.25 + ], + "to": [ + -4.1, + 35.9, + -0.25 + ], + "autouv": 0, + "color": 7, + "shade": false, + "rotation": [ + 0, + 0, + -17.5 + ], + "origin": [ + -5.25, + 31.75, + -1.25 + ], + "uv_offset": [ + 20, + 0 + ], + "faces": { + "north": { + "uv": [ + 25, + 1, + 24, + 5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 25, + 0, + 24, + 4 + ], + "texture": 0 + }, + "south": { + "uv": [ + 25, + 0, + 24, + 4 + ], + "texture": 0 + }, + "west": { + "uv": [ + 25, + 0, + 24, + 4 + ], + "texture": 0 + }, + "up": { + "uv": [ + 25, + 0, + 24, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 25, + 0, + 24, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "04a3a78f-8a79-2fc4-1155-aad17ff9bbef" + }, + { + "name": "LeftEarFront4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.9, + 29.9, + -1.15 + ], + "to": [ + -3.9, + 31.9, + -0.15 + ], + "autouv": 0, + "color": 7, + "shade": false, + "rotation": [ + 0, + 0, + 17.5 + ], + "origin": [ + -5.15, + 31.75, + -0.85 + ], + "uv_offset": [ + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 25, + 3, + 24, + 4 + ], + "texture": 0 + }, + "east": { + "uv": [ + 25, + 3, + 24, + 4 + ], + "texture": 0 + }, + "south": { + "uv": [ + 25, + 3, + 24, + 4 + ], + "texture": 0 + }, + "west": { + "uv": [ + 25, + 3, + 24, + 4 + ], + "texture": 0 + }, + "up": { + "uv": [ + 25, + 3, + 24, + 4 + ], + "texture": 0 + }, + "down": { + "uv": [ + 25, + 3, + 24, + 4 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "525613e6-f2ef-8e44-e382-d5a67d101833" + }, + { + "name": "LeftEarBack1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.75, + 30.75, + -0.45 + ], + "to": [ + -2.75, + 34.75, + 0.55 + ], + "autouv": 0, + "color": 5, + "origin": [ + -3.75, + 31.5, + -1.25 + ], + "uv_offset": [ + 12, + 0 + ], + "faces": { + "north": { + "uv": [ + 26, + 0, + 25, + 4 + ], + "texture": 0 + }, + "east": { + "uv": [ + 25, + 1, + 24, + 5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 25, + 2, + 24, + 6 + ], + "texture": 0 + }, + "west": { + "uv": [ + 25, + 0, + 24, + 4 + ], + "texture": 0 + }, + "up": { + "uv": [ + 25, + 0, + 24, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 25, + 3, + 24, + 4 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "9b3605c0-b4ff-819a-2c00-f44f305ad181" + }, + { + "name": "LeftEarBack2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.7, + 30.55, + -0.5 + ], + "to": [ + -1.7, + 34.55, + 0.5 + ], + "autouv": 0, + "color": 3, + "rotation": [ + 0, + 0, + 11 + ], + "origin": [ + -2.7, + 31.35, + -1 + ], + "uv_offset": [ + 8, + 0 + ], + "faces": { + "north": { + "uv": [ + 26, + 1, + 25, + 5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 25, + 1, + 24, + 5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 25, + 2, + 24, + 6 + ], + "texture": 0 + }, + "west": { + "uv": [ + 26, + 2, + 25, + 6 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 0, + 25, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 3, + 25, + 4 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "88a378e8-ca34-535c-0088-b8b1035325bf" + }, + { + "name": "LeftEarBack3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.75, + 31.85, + -0.55 + ], + "to": [ + -3.75, + 34.85, + 0.45 + ], + "autouv": 0, + "color": 3, + "rotation": [ + 0, + 0, + -17.5 + ], + "origin": [ + -4.75, + 31.75, + -1.25 + ], + "uv_offset": [ + 4, + 0 + ], + "faces": { + "north": { + "uv": [ + 25, + 1, + 26, + 4 + ], + "texture": 0 + }, + "east": { + "uv": [ + 25, + 1, + 26, + 4 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 2, + 25, + 5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 2, + 25, + 5 + ], + "texture": 0 + }, + "up": { + "uv": [ + 25, + 0, + 24, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 25, + 3, + 24, + 4 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "126a569f-2e1f-57fe-3e85-3b46a9333792" + }, + { + "name": "Robe1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.5, + 11, + -3 + ], + "to": [ + 4.5, + 14, + 3 + ], + "autouv": 0, + "color": 0, + "origin": [ + -5, + 31, + -3 + ], + "faces": { + "north": { + "uv": [ + 6, + 84, + 15, + 87 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 84, + 6, + 87 + ], + "texture": 0 + }, + "south": { + "uv": [ + 21, + 84, + 30, + 87 + ], + "texture": 0 + }, + "west": { + "uv": [ + 15, + 84, + 21, + 87 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 78, + 15, + 84 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 43, + 0, + 43 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "cb1f71a2-bf98-5538-68d0-63994d50382a" + }, + { + "name": "Robe2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5, + 7, + -4 + ], + "to": [ + 5, + 11, + 4 + ], + "autouv": 0, + "color": 0, + "origin": [ + -5, + 31, + -3 + ], + "faces": { + "north": { + "uv": [ + 8, + 95, + 18, + 99 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 95, + 8, + 99 + ], + "texture": 0 + }, + "south": { + "uv": [ + 26, + 95, + 36, + 99 + ], + "texture": 0 + }, + "west": { + "uv": [ + 18, + 95, + 26, + 99 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 87, + 18, + 95 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 43, + 0, + 43 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "3e3de324-cb28-8c98-fb49-18a6b16db23a" + }, + { + "name": "Robe3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5.5, + 3, + -5 + ], + "to": [ + 5.5, + 7, + 5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -5, + 31, + -3 + ], + "faces": { + "north": { + "uv": [ + 10, + 109, + 21, + 113 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 109, + 10, + 113 + ], + "texture": 0 + }, + "south": { + "uv": [ + 31, + 109, + 42, + 113 + ], + "texture": 0 + }, + "west": { + "uv": [ + 21, + 109, + 31, + 113 + ], + "texture": 0 + }, + "up": { + "uv": [ + 10, + 99, + 21, + 109 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 43, + 0, + 43 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6929cbfd-7e58-62a2-5772-70d8b776adaf" + }, + { + "name": "HeadRing", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 36, + -4 + ], + "to": [ + 4, + 36, + 4 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 45, + 0, + 0 + ], + "origin": [ + 0, + 28, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 42, + 32, + 59, + 49 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "1b474e89-7152-081b-08e8-337f43a183de" + }, + { + "name": "InnerRing1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.25, + 36, + -3.5 + ], + "to": [ + 1.25, + 36, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 36, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ] + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ] + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ] + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ] + }, + "up": { + "uv": [ + 59, + 32, + 64, + 37 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "44f1873c-2d7d-0c90-0145-9db758d6ad19" + }, + { + "name": "InnerRing2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.25, + 36, + -3.5 + ], + "to": [ + 1.25, + 36, + -1 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 60, + 0 + ], + "origin": [ + 0, + 36, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ] + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ] + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ] + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ] + }, + "up": { + "uv": [ + 59, + 37, + 64, + 42 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "2cb4c163-f31e-0f36-cbd4-3bd42615163f" + }, + { + "name": "InnerRing3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.25, + 36, + -3.5 + ], + "to": [ + 1.25, + 36, + -1 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 120, + 0 + ], + "origin": [ + 0, + 36, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ] + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ] + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ] + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ] + }, + "up": { + "uv": [ + 59, + 42, + 64, + 47 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d43c851f-9472-bb2a-3371-5ebcf38d982c" + }, + { + "name": "InnerRing4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.25, + 36, + -3.5 + ], + "to": [ + 1.25, + 36, + -1 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -180, + 0 + ], + "origin": [ + 0, + 36, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ] + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ] + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ] + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ] + }, + "up": { + "uv": [ + 59, + 47, + 64, + 52 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "da78b587-a7e8-3e5d-ea1d-bf7c045b881c" + }, + { + "name": "InnerRing5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.25, + 36, + -3.5 + ], + "to": [ + 1.25, + 36, + -1 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -120, + 0 + ], + "origin": [ + 0, + 36, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ] + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ] + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ] + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ] + }, + "up": { + "uv": [ + 64, + 42, + 59, + 47 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "02a17bf0-5590-739c-ffc1-f6170d1e8400" + }, + { + "name": "InnerRing6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.25, + 36, + -3.5 + ], + "to": [ + 1.25, + 36, + -1 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -60, + 0 + ], + "origin": [ + 0, + 36, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ] + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ] + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ] + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ] + }, + "up": { + "uv": [ + 64, + 37, + 59, + 42 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "176b89c4-0717-5808-8e48-cfbed6f04f33" + }, + { + "name": "OuterRing1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.75, + 36, + -5.375 + ], + "to": [ + 0.75, + 36, + -3.875 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 30, + 0 + ], + "origin": [ + 0, + 36.25, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ] + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ] + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ] + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ] + }, + "up": { + "uv": [ + 50, + 49, + 53, + 52 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e6779cb0-ae90-2069-95c6-79a62d7ce6b4" + }, + { + "name": "OuterRing2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.75, + 36, + -5.375 + ], + "to": [ + 0.75, + 36, + -3.875 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 90, + 0 + ], + "origin": [ + 0, + 36.25, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ] + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ] + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ] + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ] + }, + "up": { + "uv": [ + 53, + 49, + 56, + 52 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "407bb643-5ff6-5890-66b5-2c514a00421e" + }, + { + "name": "OuterRing3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.75, + 36, + -5.375 + ], + "to": [ + 0.75, + 36, + -3.875 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 150, + 0 + ], + "origin": [ + 0, + 36.25, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ] + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ] + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ] + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ] + }, + "up": { + "uv": [ + 56, + 49, + 59, + 52 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "28f99ded-3391-c344-7caf-84dca58346e9" + }, + { + "name": "OuterRing4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.75, + 36, + -5.375 + ], + "to": [ + 0.75, + 36, + -3.875 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -150, + 0 + ], + "origin": [ + 0, + 36.25, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ] + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ] + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ] + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ] + }, + "up": { + "uv": [ + 56, + 49, + 59, + 52 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9b21c51e-09e8-bcb0-75f6-47c18ed2a376" + }, + { + "name": "OuterRing5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.75, + 36, + -5.375 + ], + "to": [ + 0.75, + 36, + -3.875 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -90, + 0 + ], + "origin": [ + 0, + 36.25, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ] + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ] + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ] + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ] + }, + "up": { + "uv": [ + 53, + 49, + 56, + 52 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f1e850ef-cf15-8c5e-57b9-e1f784b4f177" + }, + { + "name": "OuterRing6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.75, + 36, + -5.375 + ], + "to": [ + 0.75, + 36, + -3.875 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -30, + 0 + ], + "origin": [ + 0, + 36.25, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ] + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ] + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ] + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ] + }, + "up": { + "uv": [ + 50, + 49, + 53, + 52 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5e24302f-320b-ff88-369f-b697322a8e0f" + }, + { + "name": "Robe3Layer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5.5, + 3, + -5 + ], + "to": [ + 5.5, + 7, + 5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + -5, + 31, + -3 + ], + "faces": { + "north": { + "uv": [ + 10, + 113, + 21, + 117 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 113, + 10, + 117 + ], + "texture": 0 + }, + "south": { + "uv": [ + 31, + 113, + 42, + 117 + ], + "texture": 0 + }, + "west": { + "uv": [ + 21, + 113, + 31, + 117 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 43, + 0, + 43 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 43, + 0, + 43 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "4cf71d74-ca7e-ffea-1b11-e1aeff982176" + }, + { + "name": "VeilBase", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 24, + -4 + ], + "to": [ + 4, + 32, + 4 + ], + "autouv": 0, + "color": 0, + "inflate": 0.655, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 38, + 87, + 46, + 95 + ], + "texture": 0 + }, + "east": { + "uv": [ + 30, + 87, + 38, + 95 + ], + "texture": 0 + }, + "south": { + "uv": [ + 54, + 87, + 62, + 95 + ], + "texture": 0 + }, + "west": { + "uv": [ + 46, + 87, + 54, + 95 + ], + "texture": 0 + }, + "up": { + "uv": [ + 46, + 87, + 38, + 79 + ], + "texture": 0 + }, + "down": { + "uv": [ + 54, + 79, + 46, + 87 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "907b90f5-20b4-4800-6864-d18e1d91360f" + }, + { + "name": "RightVeilEarFront1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1.05, + 30.75, + -2.25 + ], + "to": [ + 2.05, + 35.75, + 0.75 + ], + "autouv": 0, + "color": 7, + "shade": false, + "inflate": 0.1, + "rotation": [ + 0, + 0, + -25 + ], + "origin": [ + 2.75, + 31.75, + -1.25 + ], + "uv_offset": [ + 16, + 0 + ], + "faces": { + "north": { + "uv": [ + 54, + 80, + 55, + 85 + ], + "texture": 0 + }, + "east": { + "uv": [ + 54, + 80, + 55, + 85 + ], + "texture": 0 + }, + "south": { + "uv": [ + 54, + 79, + 55, + 84 + ], + "texture": 0 + }, + "west": { + "uv": [ + 54, + 79, + 55, + 84 + ], + "texture": 0 + }, + "up": { + "uv": [ + 54, + 79, + 55, + 80 + ], + "texture": 0 + }, + "down": { + "uv": [ + 10, + 79, + 10, + 79 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "7c294cc9-2768-d213-2330-e30a12ad925c" + }, + { + "name": "RightVeilEarFront2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4.1, + 31.9, + -2.25 + ], + "to": [ + 5.1, + 35.9, + 0.75 + ], + "autouv": 0, + "color": 7, + "shade": false, + "inflate": 0.1, + "rotation": [ + 0, + 0, + 17.5 + ], + "origin": [ + 5.25, + 31.75, + -1.25 + ], + "uv_offset": [ + 20, + 0 + ], + "faces": { + "north": { + "uv": [ + 54, + 80, + 55, + 84 + ], + "texture": 0 + }, + "east": { + "uv": [ + 54, + 79, + 55, + 83 + ], + "texture": 0 + }, + "south": { + "uv": [ + 54, + 79, + 55, + 83 + ], + "texture": 0 + }, + "west": { + "uv": [ + 54, + 79, + 55, + 83 + ], + "texture": 0 + }, + "up": { + "uv": [ + 54, + 79, + 55, + 80 + ], + "texture": 0 + }, + "down": { + "uv": [ + 54, + 79, + 55, + 80 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "0a1adbee-2416-4e99-67fd-67e1adec21d9" + }, + { + "name": "RightVeilEarFront3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.9, + 29.9, + -2.15 + ], + "to": [ + 4.9, + 31.9, + 0.85 + ], + "autouv": 0, + "color": 7, + "shade": false, + "inflate": 0.1, + "rotation": [ + 0, + 0, + -17.5 + ], + "origin": [ + 5.15, + 31.75, + -0.85 + ], + "uv_offset": [ + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 54, + 82, + 55, + 83 + ], + "texture": 0 + }, + "east": { + "uv": [ + 54, + 82, + 55, + 83 + ], + "texture": 0 + }, + "south": { + "uv": [ + 54, + 82, + 55, + 83 + ], + "texture": 0 + }, + "west": { + "uv": [ + 10, + 79, + 10, + 79 + ], + "texture": 0 + }, + "up": { + "uv": [ + 54, + 82, + 55, + 83 + ], + "texture": 0 + }, + "down": { + "uv": [ + 10, + 79, + 10, + 79 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "80fb6019-7c8d-fd7a-27ae-4d01090b367d" + }, + { + "name": "RightVeilEarBack", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2.35, + 30.75, + -2 + ], + "to": [ + 3.6, + 34.75, + 0.5 + ], + "autouv": 0, + "color": 5, + "inflate": 0.1, + "origin": [ + 3.75, + 31.5, + -1.25 + ], + "uv_offset": [ + 12, + 0 + ], + "faces": { + "north": { + "uv": [ + 55, + 80, + 56, + 84 + ], + "texture": 0 + }, + "east": { + "uv": [ + 10, + 80, + 10, + 80 + ], + "texture": 0 + }, + "south": { + "uv": [ + 54, + 81, + 55, + 85 + ], + "texture": 0 + }, + "west": { + "uv": [ + 10, + 80, + 10, + 80 + ], + "texture": 0 + }, + "up": { + "uv": [ + 10, + 80, + 10, + 80 + ], + "texture": 0 + }, + "down": { + "uv": [ + 10, + 80, + 10, + 80 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b6e8f57f-6d0f-c17a-bad3-438607690fd7" + }, + { + "name": "LeftVeilEarFront1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.05, + 30.75, + -2.25 + ], + "to": [ + -1.05, + 35.75, + 0.75 + ], + "autouv": 0, + "color": 7, + "shade": false, + "inflate": 0.1, + "rotation": [ + 0, + 0, + 25 + ], + "origin": [ + -2.75, + 31.75, + -1.25 + ], + "uv_offset": [ + 16, + 0 + ], + "faces": { + "north": { + "uv": [ + 55, + 80, + 54, + 85 + ], + "texture": 0 + }, + "east": { + "uv": [ + 55, + 79, + 54, + 84 + ], + "texture": 0 + }, + "south": { + "uv": [ + 55, + 79, + 54, + 84 + ], + "texture": 0 + }, + "west": { + "uv": [ + 55, + 80, + 54, + 85 + ], + "texture": 0 + }, + "up": { + "uv": [ + 55, + 79, + 54, + 80 + ], + "texture": 0 + }, + "down": { + "uv": [ + 10, + 79, + 10, + 79 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "13bf1d14-7c31-2204-5eae-9b1c0a326393" + }, + { + "name": "LeftVeilEarFront2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5.1, + 31.9, + -2.25 + ], + "to": [ + -4.1, + 35.9, + 0.75 + ], + "autouv": 0, + "color": 7, + "shade": false, + "inflate": 0.1, + "rotation": [ + 0, + 0, + -17.5 + ], + "origin": [ + -5.25, + 31.75, + -1.25 + ], + "uv_offset": [ + 20, + 0 + ], + "faces": { + "north": { + "uv": [ + 55, + 80, + 54, + 84 + ], + "texture": 0 + }, + "east": { + "uv": [ + 55, + 79, + 54, + 83 + ], + "texture": 0 + }, + "south": { + "uv": [ + 55, + 79, + 54, + 83 + ], + "texture": 0 + }, + "west": { + "uv": [ + 55, + 79, + 54, + 83 + ], + "texture": 0 + }, + "up": { + "uv": [ + 55, + 79, + 54, + 80 + ], + "texture": 0 + }, + "down": { + "uv": [ + 55, + 79, + 54, + 80 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "32922f66-f03a-8c58-6324-3acc1ddb9a11" + }, + { + "name": "LeftVeilEarFront3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.9, + 29.9, + -2.15 + ], + "to": [ + -3.9, + 31.9, + 0.85 + ], + "autouv": 0, + "color": 7, + "shade": false, + "inflate": 0.1, + "rotation": [ + 0, + 0, + 17.5 + ], + "origin": [ + -5.15, + 31.75, + -0.85 + ], + "uv_offset": [ + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 55, + 82, + 54, + 83 + ], + "texture": 0 + }, + "east": { + "uv": [ + 10, + 79, + 10, + 79 + ], + "texture": 0 + }, + "south": { + "uv": [ + 55, + 82, + 54, + 83 + ], + "texture": 0 + }, + "west": { + "uv": [ + 55, + 82, + 54, + 83 + ], + "texture": 0 + }, + "up": { + "uv": [ + 55, + 82, + 54, + 83 + ], + "texture": 0 + }, + "down": { + "uv": [ + 10, + 79, + 10, + 79 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5593ccd7-1715-dc06-d5a0-7acf36b6f8d1" + }, + { + "name": "LeftVeilEarBack", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.6, + 30.75, + -2 + ], + "to": [ + -2.35, + 34.75, + 0.5 + ], + "autouv": 0, + "color": 5, + "inflate": 0.1, + "origin": [ + -3.75, + 31.5, + -1.25 + ], + "uv_offset": [ + 12, + 0 + ], + "faces": { + "north": { + "uv": [ + 56, + 80, + 55, + 84 + ], + "texture": 0 + }, + "east": { + "uv": [ + 10, + 80, + 10, + 80 + ], + "texture": 0 + }, + "south": { + "uv": [ + 55, + 81, + 54, + 85 + ], + "texture": 0 + }, + "west": { + "uv": [ + 10, + 80, + 10, + 80 + ], + "texture": 0 + }, + "up": { + "uv": [ + 10, + 80, + 10, + 80 + ], + "texture": 0 + }, + "down": { + "uv": [ + 10, + 80, + 10, + 80 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e00515a3-cd89-0ec6-ec69-be8b14867216" + }, + { + "name": "FrontHair1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2, + 20, + -2.5 + ], + "to": [ + 4, + 24, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -4, + 12, + -2.5 + ], + "faces": { + "north": { + "uv": [ + 36, + 95, + 38, + 99 + ], + "texture": 0 + }, + "east": { + "uv": [ + 36, + 95, + 37, + 99 + ], + "texture": 0 + }, + "south": { + "uv": [ + 38, + 95, + 36, + 99 + ], + "texture": 0 + }, + "west": { + "uv": [ + 37, + 95, + 38, + 99 + ], + "texture": 0 + }, + "up": { + "uv": [ + 38, + 95, + 36, + 96 + ], + "texture": 0 + }, + "down": { + "uv": [ + 38, + 98, + 36, + 99 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "07561b98-0ceb-612c-aae3-5d4a597515aa" + }, + { + "name": "FrontHair2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3, + 18, + -2.45 + ], + "to": [ + 4, + 20, + -2.05 + ], + "autouv": 0, + "color": 0, + "origin": [ + -4, + 12, + -2.5 + ], + "faces": { + "north": { + "uv": [ + 36, + 99, + 37, + 101 + ], + "texture": 0 + }, + "east": { + "uv": [ + 36, + 99, + 37, + 101 + ], + "texture": 0 + }, + "south": { + "uv": [ + 37, + 99, + 36, + 101 + ], + "texture": 0 + }, + "west": { + "uv": [ + 36, + 99, + 37, + 101 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 43, + 0, + 43 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 43, + 0, + 43 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "59360d0d-f6f0-3fdc-831f-d09dfe47d013" + }, + { + "name": "FrontHair3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3, + 17, + -2.5 + ], + "to": [ + 4, + 18, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -4, + 12, + -2.5 + ], + "faces": { + "north": { + "uv": [ + 36, + 101, + 37, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 36, + 101, + 37, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 37, + 101, + 36, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 36, + 101, + 37, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 43, + 0, + 43 + ], + "texture": null + }, + "down": { + "uv": [ + 37, + 101, + 36, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f5f1311f-20f7-370b-545b-6a1be65b749a" + }, + { + "name": "FrontHair4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2, + 16, + -2.5 + ], + "to": [ + 3, + 17, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -4, + 12, + -2.5 + ], + "faces": { + "north": { + "uv": [ + 37, + 102, + 38, + 103 + ], + "texture": 0 + }, + "east": { + "uv": [ + 37, + 102, + 38, + 103 + ], + "texture": 0 + }, + "south": { + "uv": [ + 38, + 102, + 37, + 103 + ], + "texture": 0 + }, + "west": { + "uv": [ + 37, + 102, + 38, + 103 + ], + "texture": 0 + }, + "up": { + "uv": [ + 38, + 102, + 37, + 103 + ], + "texture": 0 + }, + "down": { + "uv": [ + 38, + 102, + 37, + 103 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "013344d0-554f-dbec-925e-8971c13581f3" + }, + { + "name": "FrontHair5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 22, + -2.5 + ], + "to": [ + -2, + 24, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -4, + 12, + -2.5 + ], + "faces": { + "north": { + "uv": [ + 42, + 95, + 44, + 97 + ], + "texture": 0 + }, + "east": { + "uv": [ + 42, + 95, + 43, + 97 + ], + "texture": 0 + }, + "south": { + "uv": [ + 44, + 95, + 42, + 97 + ], + "texture": 0 + }, + "west": { + "uv": [ + 43, + 95, + 44, + 97 + ], + "texture": 0 + }, + "up": { + "uv": [ + 44, + 95, + 42, + 96 + ], + "texture": 0 + }, + "down": { + "uv": [ + 44, + 96, + 42, + 97 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "96e42543-a1d5-bb28-9c20-ba368838d0b8" + }, + { + "name": "FrontHair6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 21, + -2.5 + ], + "to": [ + -2, + 22, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -4, + 12, + -2.5 + ], + "faces": { + "north": { + "uv": [ + 42, + 97, + 43, + 98 + ], + "texture": 0 + }, + "east": { + "uv": [ + 42, + 97, + 43, + 98 + ], + "texture": 0 + }, + "south": { + "uv": [ + 43, + 97, + 42, + 98 + ], + "texture": 0 + }, + "west": { + "uv": [ + 42, + 97, + 43, + 98 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 43, + 0, + 43 + ], + "texture": null + }, + "down": { + "uv": [ + 43, + 97, + 42, + 98 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "9d84217b-dce6-6b1d-37c3-d5b017b9306d" + }, + { + "name": "VeilBody", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 16, + 2.25 + ], + "to": [ + 8, + 24, + 2.25 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0, + 24, + -0.75 + ], + "faces": { + "north": { + "uv": [ + 48, + 103, + 64, + 111 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 103, + 64, + 111 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 95, + 64, + 103 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 43, + 1, + 44 + ] + }, + "up": { + "uv": [ + 0, + 43, + 1, + 44 + ] + }, + "down": { + "uv": [ + 0, + 43, + 1, + 44 + ] + } + }, + "type": "cube", + "uuid": "18e72db3-e816-2d4d-3f02-af7cec389731" + }, + { + "name": "BackRibbon1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 14.25, + 2 + ], + "to": [ + 1, + 15.75, + 2.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + -1, + 14, + 2 + ], + "faces": { + "north": { + "uv": [ + 21, + 99, + 22, + 100 + ], + "texture": 0 + }, + "east": { + "uv": [ + 21, + 99, + 22, + 100 + ], + "texture": 0 + }, + "south": { + "uv": [ + 21, + 99, + 22, + 100 + ], + "texture": 0 + }, + "west": { + "uv": [ + 21, + 99, + 22, + 100 + ], + "texture": 0 + }, + "up": { + "uv": [ + 21, + 99, + 22, + 100 + ], + "texture": 0 + }, + "down": { + "uv": [ + 21, + 99, + 22, + 100 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "0a1fe62a-063b-e67f-e3f8-7b3b7ad2ddb7" + }, + { + "name": "BackRibbon2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 14, + 2 + ], + "to": [ + -1, + 16, + 2.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + 5 + ], + "origin": [ + -1, + 15.75, + 2.25 + ], + "faces": { + "north": { + "uv": [ + 21, + 99, + 22, + 100 + ], + "texture": 0 + }, + "east": { + "uv": [ + 21, + 99, + 22, + 100 + ], + "texture": 0 + }, + "south": { + "uv": [ + 21, + 99, + 22, + 100 + ], + "texture": 0 + }, + "west": { + "uv": [ + 21, + 99, + 22, + 100 + ], + "texture": 0 + }, + "up": { + "uv": [ + 21, + 99, + 22, + 100 + ], + "texture": 0 + }, + "down": { + "uv": [ + 21, + 99, + 22, + 100 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "31d8cbce-2ce0-ddfc-e24d-d262dd03afc6" + }, + { + "name": "BackRibbon3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1, + 14, + 2 + ], + "to": [ + 4, + 16, + 2.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + -5 + ], + "origin": [ + 1, + 15.75, + 2.25 + ], + "faces": { + "north": { + "uv": [ + 21, + 99, + 22, + 100 + ], + "texture": 0 + }, + "east": { + "uv": [ + 21, + 99, + 22, + 100 + ], + "texture": 0 + }, + "south": { + "uv": [ + 21, + 99, + 22, + 100 + ], + "texture": 0 + }, + "west": { + "uv": [ + 21, + 99, + 22, + 100 + ], + "texture": 0 + }, + "up": { + "uv": [ + 21, + 99, + 22, + 100 + ], + "texture": 0 + }, + "down": { + "uv": [ + 21, + 99, + 22, + 100 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "ba8bdd8c-7c47-d739-2c38-6993a2d2c89c" + }, + { + "name": "BackRibbon4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1, + 13.75, + 2 + ], + "to": [ + 6, + 15.75, + 2.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + -60 + ], + "origin": [ + 1, + 14.75, + 2.25 + ], + "faces": { + "north": { + "uv": [ + 21, + 99, + 22, + 104 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 21, + 99, + 22, + 100 + ], + "texture": 0 + }, + "south": { + "uv": [ + 21, + 99, + 22, + 104 + ], + "rotation": 270, + "texture": 0 + }, + "west": { + "uv": [ + 21, + 99, + 22, + 104 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 21, + 99, + 22, + 104 + ], + "rotation": 270, + "texture": 0 + }, + "down": { + "uv": [ + 21, + 99, + 22, + 104 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "e6305619-bf6c-0bbb-01a4-c923e21c80af" + }, + { + "name": "BackRibbon5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -6, + 13.75, + 2 + ], + "to": [ + -1, + 15.75, + 2.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + 60 + ], + "origin": [ + -1, + 14.75, + 2.25 + ], + "faces": { + "north": { + "uv": [ + 21, + 99, + 22, + 104 + ], + "rotation": 270, + "texture": 0 + }, + "east": { + "uv": [ + 21, + 99, + 22, + 100 + ], + "texture": 0 + }, + "south": { + "uv": [ + 21, + 99, + 22, + 104 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 21, + 99, + 22, + 104 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 21, + 99, + 22, + 104 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 21, + 99, + 22, + 104 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "6c793e73-2c32-16c7-cd79-6dfedbb877d9" + }, + { + "name": "AccessoryFlower1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3, + 29, + -4.67 + ], + "to": [ + 4, + 30, + -4.67 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 22, + 99, + 25, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 43, + 0, + 43 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 43, + 0, + 43 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 43, + 0, + 43 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 43, + 0, + 43 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 43, + 0, + 43 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "917e8ae9-34ca-de04-b819-a482b0512829" + }, + { + "name": "AccessoryFlower2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2.25, + 29.25, + -4.67 + ], + "to": [ + 3.25, + 30.25, + -4.67 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 22, + 99, + 25, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 43, + 0, + 43 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 43, + 0, + 43 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 43, + 0, + 43 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 43, + 0, + 43 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 43, + 0, + 43 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "c17b5493-bd54-801d-5b88-6b11ddb4e919" + }, + { + "name": "AccessoryFlower3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2.65, + 29.75, + -4.67 + ], + "to": [ + 3.65, + 30.75, + -4.67 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 22, + 99, + 25, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 43, + 0, + 43 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 43, + 0, + 43 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 43, + 0, + 43 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 43, + 0, + 43 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 43, + 0, + 43 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "3e498377-98dd-e906-792b-3c47a8f54261" + }, + { + "name": "AccessoryLeaf1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.5, + 29.5, + -4.66 + ], + "to": [ + 4.75, + 30.25, + -4.66 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 22, + 102, + 25, + 103 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 43, + 0, + 43 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 43, + 0, + 43 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 43, + 0, + 43 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 43, + 0, + 43 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 43, + 0, + 43 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5b5c1656-075e-f631-8ce4-4e7d543852a0" + }, + { + "name": "AccessoryLeaf2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.5, + 29.75, + -4.66 + ], + "to": [ + 4.75, + 30.5, + -4.66 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 0, + 0, + 45 + ], + "origin": [ + 3.5, + 30.125, + -4.66 + ], + "faces": { + "north": { + "uv": [ + 22, + 102, + 25, + 103 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 43, + 0, + 43 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 43, + 0, + 43 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 43, + 0, + 43 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 43, + 0, + 43 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 43, + 0, + 43 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "0c090830-7697-390b-4544-0fb31c887497" + }, + { + "name": "AccessoryLeaf3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.5, + 29, + -4.66 + ], + "to": [ + 4.75, + 29.75, + -4.66 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 0, + 0, + -30 + ], + "origin": [ + 3.5, + 29.375, + -4.66 + ], + "faces": { + "north": { + "uv": [ + 22, + 102, + 25, + 103 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 43, + 0, + 43 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 43, + 0, + 43 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 43, + 0, + 43 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 43, + 0, + 43 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 43, + 0, + 43 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "1280ce03-6135-0ba9-7604-cccabba5e699" + }, + { + "name": "RightHairEnd", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2.25, + 23.5, + -4.5 + ], + "to": [ + 4.5, + 28, + -4.5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 3.9625, + 28, + -4.5 + ], + "faces": { + "north": { + "uv": [ + 26, + 0, + 28, + 4 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 28, + 0, + 26, + 4 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "4218e587-ab85-7ae8-f6b7-273129c8da81" + }, + { + "name": "LeftHairEnd", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.5, + 23.5, + -4.5 + ], + "to": [ + -2.25, + 28, + -4.5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + -3.9625, + 28, + -4.5 + ], + "faces": { + "north": { + "uv": [ + 28, + 0, + 26, + 4 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 26, + 0, + 28, + 4 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e3db808c-4159-abb2-38ab-a737151e7626" + }, + { + "name": "CenterHairEnd", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.125, + 26.875, + -4.5 + ], + "to": [ + 1.125, + 28, + -4.5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 3.9625, + 28, + -4.5 + ], + "faces": { + "north": { + "uv": [ + 26, + 4, + 28, + 5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 28, + 0, + 26, + 4 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "57993f40-26e2-8e9c-b3e3-91d26b45a03f" + }, + { + "name": "TrinityLogo", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 22.175, + -2.26 + ], + "to": [ + 0.5, + 23.175, + -2.26 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 32, + 60, + 51, + 79 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 43, + 0, + 43 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 43, + 0, + 43 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 43, + 0, + 43 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 43, + 0, + 43 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 43, + 0, + 43 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f4473516-43ac-c120-a767-942bb0823960" + }, + { + "name": "Mouth", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 24, + -4.02 + ], + "to": [ + 1, + 25, + -4.02 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 44, + 16, + 52 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d9d80373-4145-9e90-28de-12248a8075d9" + } + ], + "outliner": [ + { + "name": "Avatar", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "e98e96cf-993b-878e-02b8-777c368bb888", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Head", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "22d40862-bd19-a16d-9e33-79364e6656d8", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a66c63cf-0082-7797-3f4e-08ff434a1cac", + "d48552a8-9f0d-7335-2a82-794f3264fc9d", + { + "name": "FaceParts", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "db381b6c-e0d3-6ca8-6433-4371d36cc6c6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Eyes", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "25d20f6a-b84c-5105-726d-79a4fc3a5a4d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "7853e9a2-b429-5a00-5e0e-70449c3a71ee", + "328a2de5-64bc-807b-5906-227bfceedf26", + { + "name": "RightSpyglassPivot", + "origin": [ + 2, + 26, + -4 + ], + "color": 0, + "uuid": "d775a8e4-818b-b21e-93df-fdb4456fefc8", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "LeftSpyglassPivot", + "origin": [ + -2, + 26, + -4 + ], + "color": 0, + "uuid": "5e757c9d-cb7e-d074-a20f-d95f46e96872", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + "d9d80373-4145-9e90-28de-12248a8075d9" + ] + }, + { + "name": "HeadRing", + "origin": [ + 0, + 28, + 0 + ], + "color": 0, + "uuid": "a0a9e8dc-34d7-c519-37ee-072140e723ff", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1b474e89-7152-081b-08e8-337f43a183de", + { + "name": "InnerRing", + "origin": [ + 0, + 28, + 0 + ], + "rotation": [ + 45, + 0, + 0 + ], + "color": 0, + "uuid": "a1251680-7912-923b-91d7-e46c1741e3b8", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "44f1873c-2d7d-0c90-0145-9db758d6ad19", + "2cb4c163-f31e-0f36-cbd4-3bd42615163f", + "d43c851f-9472-bb2a-3371-5ebcf38d982c", + "da78b587-a7e8-3e5d-ea1d-bf7c045b881c", + "02a17bf0-5590-739c-ffc1-f6170d1e8400", + "176b89c4-0717-5808-8e48-cfbed6f04f33" + ] + }, + { + "name": "OuterRing", + "origin": [ + 0, + 28, + 0 + ], + "rotation": [ + 45, + 0, + 0 + ], + "color": 0, + "uuid": "5d83c3c1-ad7e-3a34-7cf4-7f16cf77d8aa", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e6779cb0-ae90-2069-95c6-79a62d7ce6b4", + "407bb643-5ff6-5890-66b5-2c514a00421e", + "28f99ded-3391-c344-7caf-84dca58346e9", + "9b21c51e-09e8-bcb0-75f6-47c18ed2a376", + "f1e850ef-cf15-8c5e-57b9-e1f784b4f177", + "5e24302f-320b-ff88-369f-b697322a8e0f" + ] + } + ] + }, + { + "name": "Ears", + "origin": [ + 0, + 30, + 0 + ], + "color": 0, + "uuid": "62a150d5-23c3-7461-a5be-45357c1dca73", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightEarPivot", + "origin": [ + 1, + 30, + 0 + ], + "color": 0, + "uuid": "d9d3d58a-ac0b-fce1-f92f-b3f9f8f19f62", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightEar", + "origin": [ + 4.25, + 31.75, + -1.25 + ], + "rotation": [ + 0, + 0, + -15 + ], + "color": 0, + "uuid": "f1f911df-3ba5-99ee-5f7c-bd108a06220b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b95a0594-6f51-b245-95e7-4be195efa438", + "15cf28e9-1940-5b16-3c26-e017d53f1d55", + "4d3e41a1-250c-1ab3-e910-dc5ae25187ad", + "b7a1ddd4-07d9-4384-d4bf-83db9af50bfc", + "5f4c88b7-e251-8a1d-333e-87313c4523ad", + "8423948c-fa84-ced4-388f-18af27f34ceb", + "81481ee9-362e-7cc4-4fc2-0325e6022eb4" + ] + } + ] + }, + { + "name": "LeftEarPivot", + "origin": [ + -1, + 30, + 0 + ], + "color": 0, + "uuid": "55298b68-6189-2e4a-7d05-64d34781075e", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "LeftEar", + "origin": [ + -4.25, + 31.75, + -1.25 + ], + "rotation": [ + 0, + 0, + 15 + ], + "color": 0, + "uuid": "b7cd6316-cbee-8ef8-5ba2-a5ebc2d2f4e7", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "5b89422c-0d46-1d9b-ac66-496a04dc8cb5", + "0b07e431-27a9-bbe5-e776-8d5562060327", + "04a3a78f-8a79-2fc4-1155-aad17ff9bbef", + "525613e6-f2ef-8e44-e382-d5a67d101833", + "9b3605c0-b4ff-819a-2c00-f44f305ad181", + "88a378e8-ca34-535c-0088-b8b1035325bf", + "126a569f-2e1f-57fe-3e85-3b46a9333792" + ] + } + ] + } + ] + }, + { + "name": "Veil", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "55af9bd0-1a02-f6ca-46ed-d5a38c5ef97b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "907b90f5-20b4-4800-6864-d18e1d91360f", + { + "name": "VeilEar", + "origin": [ + 0, + 30, + 0 + ], + "color": 0, + "uuid": "e6acbc78-9f29-05a8-0fa2-bd224faef9cb", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightVeilEarPivot", + "origin": [ + 1, + 30, + 0 + ], + "color": 0, + "uuid": "8f376321-2794-efbf-605a-21e4092d75b0", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightVeilEar", + "origin": [ + 4.25, + 31.75, + -1.25 + ], + "rotation": [ + 0, + 0, + -15 + ], + "color": 0, + "uuid": "dd062752-88c6-9eaa-bcfe-0676b548254e", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "7c294cc9-2768-d213-2330-e30a12ad925c", + "0a1adbee-2416-4e99-67fd-67e1adec21d9", + "80fb6019-7c8d-fd7a-27ae-4d01090b367d", + "b6e8f57f-6d0f-c17a-bad3-438607690fd7" + ] + } + ] + }, + { + "name": "LeftVeilEarPivot", + "origin": [ + -1, + 30, + 0 + ], + "color": 0, + "uuid": "46c05cf4-965e-8028-3f2c-13654267c3c1", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "LeftVeilEar", + "origin": [ + -4.25, + 31.75, + -1.25 + ], + "rotation": [ + 0, + 0, + 15 + ], + "color": 0, + "uuid": "fe26e1e0-439c-974e-6ee7-b4275f83e059", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "13bf1d14-7c31-2204-5eae-9b1c0a326393", + "32922f66-f03a-8c58-6324-3acc1ddb9a11", + "5593ccd7-1715-dc06-d5a0-7acf36b6f8d1", + "e00515a3-cd89-0ec6-ec69-be8b14867216" + ] + } + ] + } + ] + } + ] + }, + { + "name": "Accessory", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "37820879-e03f-b93e-a0bc-c79b2670a505", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "917e8ae9-34ca-de04-b819-a482b0512829", + "c17b5493-bd54-801d-5b88-6b11ddb4e919", + "3e498377-98dd-e906-792b-3c47a8f54261", + "5b5c1656-075e-f631-8ce4-4e7d543852a0", + "0c090830-7697-390b-4544-0fb31c887497", + "1280ce03-6135-0ba9-7604-cccabba5e699" + ] + }, + { + "name": "HairEnds", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "e6e8a773-ca3b-f149-4405-2b7b4e1c43c4", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightHairEnd", + "origin": [ + 3.9625, + 28, + -4.5 + ], + "color": 0, + "uuid": "8dde4af5-97c7-3389-620c-89d5e53f1008", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4218e587-ab85-7ae8-f6b7-273129c8da81" + ] + }, + { + "name": "CenterHairEnd", + "origin": [ + 0, + 28, + -4.5 + ], + "color": 0, + "uuid": "c19f9a52-3d3b-8980-7993-913880afded0", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "57993f40-26e2-8e9c-b3e3-91d26b45a03f" + ] + }, + { + "name": "LeftHairEnd", + "origin": [ + -3.9625, + 28, + -4.5 + ], + "color": 0, + "uuid": "e8414120-ad11-d237-f5d5-4eaf84b464b0", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e3db808c-4159-abb2-38ab-a737151e7626" + ] + } + ] + }, + { + "name": "HelmetPivot", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "0993e2f1-c5c0-91f2-56e8-01729d58e4b7", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "HelmetItemPivot", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "7790a4b0-cbe3-f0f8-1dfb-9ca0a44b4633", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + { + "name": "UpperBody", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "16d22746-633e-382e-dd96-b35bde99daa5", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Body", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "bf4dd57f-d0f7-1fe0-98e6-59e00f97f41b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "742e9ab7-8cdd-8d93-9a9a-88011f54d15b", + "2574fa9e-0d5f-502c-ce28-ef5cf30f41ec", + "f4473516-43ac-c120-a767-942bb0823960", + { + "name": "FrontHair", + "origin": [ + 0, + 24, + -2 + ], + "color": 0, + "uuid": "b5cfe6c8-6c9a-0cb8-f7d5-e61f4547565f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "07561b98-0ceb-612c-aae3-5d4a597515aa", + "59360d0d-f6f0-3fdc-831f-d09dfe47d013", + "f5f1311f-20f7-370b-545b-6a1be65b749a", + "013344d0-554f-dbec-925e-8971c13581f3", + "96e42543-a1d5-bb28-9c20-ba368838d0b8", + "9d84217b-dce6-6b1d-37c3-d5b017b9306d" + ] + }, + { + "name": "VeilBody", + "origin": [ + 0, + 24, + 2.25 + ], + "color": 0, + "uuid": "b9421d3c-d216-df38-f6cf-c28e125b6fc5", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "18e72db3-e816-2d4d-3f02-af7cec389731" + ] + }, + { + "name": "BackRibbon", + "origin": [ + 0, + 15, + 2 + ], + "rotation": [ + -25, + 0, + 0 + ], + "color": 0, + "uuid": "52269359-07c0-2957-00ea-e609e9bb9413", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "0a1fe62a-063b-e67f-e3f8-7b3b7ad2ddb7", + "31d8cbce-2ce0-ddfc-e24d-d262dd03afc6", + "ba8bdd8c-7c47-d739-2c38-6993a2d2c89c", + { + "name": "BackRibbonBottom", + "origin": [ + 0, + 14.25, + 2.5 + ], + "color": 0, + "uuid": "0da5a55a-eb37-201e-d52a-942c138747f7", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e6305619-bf6c-0bbb-01a4-c923e21c80af", + "6c793e73-2c32-16c7-cd79-6dfedbb877d9" + ] + } + ] + }, + { + "name": "Robe", + "origin": [ + 0, + 14, + 0 + ], + "color": 0, + "uuid": "d19704ca-817d-20fe-9cd6-b1edbf8f3d77", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "cb1f71a2-bf98-5538-68d0-63994d50382a", + { + "name": "Robe2", + "origin": [ + 0, + 11, + 0 + ], + "color": 0, + "uuid": "33512fb7-8955-2de4-2b2d-c717671a6d7d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "3e3de324-cb28-8c98-fb49-18a6b16db23a", + { + "name": "Robe3", + "origin": [ + 0, + 7, + 0 + ], + "color": 0, + "uuid": "0b9663f6-3532-a4ef-99fd-fb1367451d39", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "6929cbfd-7e58-62a2-5772-70d8b776adaf", + "4cf71d74-ca7e-ffea-1b11-e1aeff982176" + ] + } + ] + } + ] + }, + { + "name": "ChestplateBodyPivot", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "f147dc08-f928-ebf4-9643-0de232fb8527", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "BeltPivot", + "origin": [ + 0, + 12, + 0 + ], + "color": 0, + "uuid": "e7169010-b12e-c56d-504f-1c05609cebca", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "NameplateAnchor", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "71b16a49-1da9-df63-2f72-f5272bb4b134", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + { + "name": "Arms", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "c062b0e8-6983-de4d-12e9-7b5ad9e81528", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightArm", + "origin": [ + 5, + 22, + 0 + ], + "color": 0, + "uuid": "3c1cb66d-8a31-d31f-ec9f-65a33e313a53", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8831734e-ce90-e6bb-8368-e011a468277d", + "cea7603d-ae80-e4e7-6f93-905551a79117", + { + "name": "RightArmBottom", + "origin": [ + 5, + 18, + 2 + ], + "color": 0, + "uuid": "b924539e-1292-1a17-6240-a525ae346090", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "643f9c05-2d3c-e1d1-5a2f-874902eb1784", + "b1a76f47-912e-c2d4-8090-6f6ac9734672", + { + "name": "ExSkill1ParticleAnchor2", + "origin": [ + 5, + 12, + 2 + ], + "color": 0, + "uuid": "bad3704a-23f5-6ec1-2204-eebb059c6c0e", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "RightItemPivot", + "origin": [ + 5.5, + 12, + -2 + ], + "color": 0, + "uuid": "f77eb5a1-0c86-2ec0-fa55-565b454784db", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + } + ] + }, + { + "name": "LeftArm", + "origin": [ + -5, + 22, + 0 + ], + "color": 0, + "uuid": "e7d3e5d8-00e4-587c-7bb6-6787db00054b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "af1aa9d5-0ccf-d579-b381-54ac7b12fb55", + "b74fb9e9-db24-b669-6f87-8469be63eda5", + { + "name": "LeftArmBottom", + "origin": [ + -5, + 18, + 2 + ], + "color": 0, + "uuid": "ad1c45ef-c0a8-6d31-d2dc-fbdc6ab7ddcc", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a82219a3-e344-a4d8-c85c-51462943a7dc", + "d7794b2f-dbb3-2cd5-c956-cd163b703976", + { + "name": "LeftItemPivot", + "origin": [ + -5.5, + 12, + -2 + ], + "color": 0, + "uuid": "4f31b2fe-139d-4fb3-f36f-3d5ed0997399", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + } + ] + } + ] + }, + { + "name": "LeftElytraPivot", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "34f8f1e3-7498-d32a-cbaa-e08af5c6b7e9", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "RightElytraPivot", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "884aa12d-4d86-c86f-f3ae-27294c5df1b1", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "LeftParrotPivot", + "origin": [ + -6.5, + 24, + 0 + ], + "color": 0, + "uuid": "29a158b7-4e78-b2e4-f4a6-a828afb1514f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "RightParrotPivot", + "origin": [ + 6.5, + 24, + 0 + ], + "color": 0, + "uuid": "7d993335-4efa-18af-e219-def6c191632a", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + { + "name": "LowerBody", + "origin": [ + 0, + 12, + 0 + ], + "color": 0, + "uuid": "2f61e368-1c06-648e-26d4-aee94647e4da", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Legs", + "origin": [ + 0, + 12, + 0 + ], + "color": 0, + "uuid": "29730186-2622-086d-ab67-4bb8e356bb6c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightLeg", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "4e80b5b4-7c04-8374-f8a7-526b3d36d050", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "da81ebbe-5b4e-2d46-144a-6f839ad6fa3c", + "bcf37da3-caec-e8f2-bc82-76a3f169374c", + { + "name": "RightLegBottom", + "origin": [ + 2, + 6, + -2 + ], + "color": 0, + "uuid": "84fe0b3a-286b-e17f-288e-c39feaa2e5e6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8b1cc891-ffa8-9f46-ebc0-f0b84e6ffb15", + "72c6eff7-d0eb-2ffa-193f-2ca402bdc722" + ] + } + ] + }, + { + "name": "LeftLeg", + "origin": [ + -2, + 12, + 0 + ], + "color": 0, + "uuid": "73b3d6bc-af0b-a066-5d73-f3938109e11f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "9c06bc9a-beae-98d9-e9ce-9c8e6ddbb9d3", + "f8f1e7ad-7999-9f17-0488-5dcbd4af7945", + { + "name": "LeftLegBottom", + "origin": [ + -2, + 6, + -2 + ], + "color": 0, + "uuid": "ee9973d4-ff4e-c96b-64f6-d1f28afd69c6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a1169ee6-6a78-c7c4-9214-670991206468", + "a5173990-504e-f5c4-45c7-9347880c1306" + ] + } + ] + } + ] + } + ] + }, + { + "name": "ExSkill1ParticleAnchor1", + "origin": [ + 12, + 18, + -10 + ], + "color": 0, + "uuid": "d480e62c-9def-8d74-d36f-ce1de9aab763", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "ExSkill1ParticleAnchor3", + "origin": [ + 0, + 20, + 24 + ], + "color": 0, + "uuid": "740b3725-ba58-ddca-52bc-9822a91c35da", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + { + "name": "CameraAnchor", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "4ad021e9-2857-4e55-337b-f61da0762800", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8b47234a-9700-3da5-47db-8f75a6aab837", + "c2175bbe-2cfe-5bd6-da67-98c3b6cd21ee", + "7e6a5cd5-aefb-6095-d77f-adf6c4130742", + "31aaec73-9e98-c58c-c0ed-6d915f491f85" + ] + } + ], + "textures": [ + { + "path": "", + "name": "main.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 64, + "height": 309, + "uv_width": 64, + "uv_height": 309, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "49d663f7-0284-81d3-5d9d-8f9c415279bb", + "relative_path": "../../textures/main.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAE1CAYAAABX8eYYAAAAAXNSR0IArs4c6QAAFmhJREFUeF7tXQ10FdW1Pjd/ECAEhEAQFH8QER/WB1R5gtK41CQuUKSiXQ9Fap/WFnlWRanwfK8W0ar401JdqKuKqdQfBFFZkliXsYo+tOKrUvwFEQENRA0hQP4zb+0Jezj33DOzz5kzkzv35s5aWUnm7LPP3t/59j5/c+fGGHE1vfGQRcmolvc865cxVdmukiMN4gFoq2+x7copzNOyL9Z3Amv75i3Wu3wu2Z6W4gCESYMyAHAhYMKAHqeOjR1Yt9SKGgsCYUCPcZdIydi88Vn7PoSAtW+D/XfU8kCXABBFx7HHQgcg94xfsOycGNlOAPnMlwrSMJVh0CsEokZ5EaWYioO+oFWspAKQm40qdSkzHACye2ez9gPttjz/N/z/5tp3pHrOnHK6c9+rPgqJelVyA9VBpiDYALgZv3fb96zfsUd4AoAyInCoU3Qa/ocLwfZygHfeC2ATEKQhAE7hBQA0DhojZUD+nk1MlJUJik4jWPC7ZU9LwgwR5gtQljfo8IwTAMsdVGCrb93TYLMU62Ob4hwD9bjNPaA8VvPE7Z5zfR0AqHiTlRcMKnRCTtbLYDwwQexlvIdOqrQt6wglALyyPM8AFSNEGQAYelcWKnCfmjkCAOgYH1p83hHv8+GZdACAAW75A+6rAMCD6gaGWxja9HLrRegdOxaPLWEd+X1Ydn5+ZwJrbGRZjftZy7Zq+3+qvlc5UBt7URyFKOfRcbcwwPp8OQ8QtG08EUKj3eiv6oSf8AmijhYAstUg32u8QXi/WwDA00oEIe0BoGhoMkmhdAdRbhwCYERKL4YoFFW2xDIAeOwIpVUIuLElpRlALTepEKHK+WkuPxvD6ajKKBH6foA4TRT/p/YDvOoDALCqQyBwXg51ZCtBEVBwftvHNezXa//Bxo3pXJVu3LSJ/W7KqezYk4qNN1k9d4R09wNkbDBhgMx5bCMoEBIA4Gd2l95TyZ65qcxzPwBlvGaE/OqLZwC12mvd+LCzVPfaD1AJI7dQtQHg5/NI57srd9lUUwEAqHlz2dDOhdKhbTX4W9wV0s0BeJBC7QcYAyBDBwC4+sR8e0uM2g945NNGBwA3pGU5AGS9hkmVkyQVGa9EbS9FZQL3vlmjBcCNZxZL2xHpj0IISNIBUBkGqf0AL4T5nhflqBxADbFBlJNrgSAaCUtH3Yf/5bqf2f+U211927t5kdXv5Fvt8gShi/oVWs/vrTe+H5bToBccgN/ohKwtN5n6T+5yQCscNf/wjhA4zitCEHTvow43IN2AUQUeHADDVQEW5fd9fr/jZ98Tro/FeAfv/eATVtS/H1u0upJ9/qvZThtwf1n1Bnbr9DI26+jDyQ7u43Xc8CG2UW6AeTmuCjwYD0arOo9yWK/hiwcTQsYx+rnavbb86ppv2Rc7d7D5/zbWBoe6D3WWvPd/bEN5iWMX1LllxRr7/7tnXyQFhncC5A82NrGHNn+coAfsKSvswwr65sfAgYLj5mgDgPX2f/mIHAAwpr3VsguhQbhmHFVkN0TdR0eyczvZJAKGwLjlFV4e2xX1wP3y9udZn2Ou1nYe7QPnsT4PpG+FujQ0lT+w4wmr91FX+LYX68Nvq72ZWR2tDNjkWyGV7HSTIAXQwa//YvU68t9924v1AQBoC0AARvhW6Hd0oBx1K2+sec7KL77Yt71Q33a8o4VZ7a02AMAC5fGe73H8u+KrGnvEuKZkArvxB6Mc2094YLk9YtTW7WU4OlCjgCxH8HWaal+yehZN9Q0A1Mee50FwFOr0KCYpHDHmjf9XxidB8T40TA2PWO4GRHNdldWjf6lvAPj6LfXVVl5hSedMkDcMMjI/DHrRFUYHHDGmFw+0AcBRQ3Yfyr5qbLGOzs+Lc4JyHG3gjfYTRli/teEty2ZARwsDQH0j6scI0zpgfG7BRG2b+XoAhA1AWwuDkNJWZuqESf22g+9aOb1O07YZ6/G9DwBAItRWZuJAEHXbm/9hZfc4VdluXh57H+zoaG6ww0BZkY7x769dKV2mjp0yI5D2Olo/svVn5Y521eclA2VYNxCDdMAJUtbq+Mx1PyCWNVLqGzACbQAmpTQAIpiwQYIbIfzECYBCQCAfYD3IJ2kDAGyAQFKDK3/I6Ydmei0sv3i8g1PbgdoEAqYVADjTEwGw2ttsx9sO7k5fAPzmlsAZsP/1Ks8HL/v8yP90VsVJ3fYTAMAhTByy3O7zRlGNo6wqCCptmrbvygBxLFcZw4MEANrHNvm/vVjgp/20CQFV50UWBg4ANiAapEp7lTiXyUQOAL+OmNRTBYHvjNAYYOJIV9aNIgD8MCqzjyrXwi+hAYpGIcYyOsbbJN6D/73KtZwH4TgAKOd1x3ENa0THxKqm5a6mBA4ABaKEQZRzaDwlR5VLQXAAoAwXa4uOGNTnDfecRrt0I/qQXADAOFUQPPKILMbFmPf6XyPqOkVdQ8Crh0NOhLIkxzsWHgDa8IVTAVlAjQq+KC+aHIV5gMwRMS+AnbJ7vD++AAl8FPBBCmps5xnBJzwxhKMHACZFhZyh0+MUY7T6IAoM8KIxnweonKDlOApHaSoMNokJUEZztxEhGABQS1ev5w+160VvXzFOoRKFUUBl3h9o3AdKIQphH+WqPa0q52lCFBnA5wI34wNxPmEq7KO3wqwSStZXngmeNamEXJm9sb46qgxS7hhXB5INgEr7Kl5SnZTWAGzf/iXbvmObJ0szALjRSIWCFL1UKGrSPqU/rRlAgQ8dqAQA1dMvrn0+AegLplxEgU+WqzjgpUS1PiUXUwGgoHfnq27gajhQz1IBALIHDgmQAFRXv5agq6TkbFX9rnJUz1AdQ9VXNZCcyKAhMiCgEQRD1yDKQVUH/MqhvZEH4OmHL7Z9HDCk87PJ517we78+x9VLCQDQebQ8SBBSAgC3sAoifLQBoHgXZA5Q1WUCRGQBUHUeO8QvCJEEQNd5ExAiB4Bf5/2C4ACgSiFqHkDlCNXytfOnsuycXNf3jHq9LkPVFx5sciaIhncVAOsWTmftba2s79Qb4uYo1AtSwc60AGDVdeeyXn0KpAwIovexQyMbAsCAg/sbWNGMBeQslQ8r1d5PAEA1Nqk1Ab8ueHBxORsz+eZYe5tl6b5YvaVujZXXf1qozvMgKDekC8DoiTex/TvfYH2GnaX1dvm0AcAvA3TfC6RLfZHxoTDgnoWT2W0rv2EDjyxmxw8Zyv5njt6LD3RAiCwAp5f/Rhlc1TxEyeHbLig5/JwzyCkbqYO06ayOcsCtvFsDoOo8gocsSBsGdGsAdJ3nWZAWDDACQCe5AXJuiyJ+Jug3iXnVc0usfp3HtmIffLTVqn3/VlY0dhFT+V1y6QpXO6ufmamsR7U9lDvnsr9I2WoMACiA0x44/VH97YaAan0/cv369VMOVx0GxkwR1GnMRJafvJjo8T0VDrLRKOmyafVx9TzrpJIlMdXfbg6o1vcrFwZwocRVGIaGpTMDgIisOC/o379/nMgLL632BA2S6keffMxGjzoprh7eo47WqYUUb9/fqlY6bcR6D/TVmQmVggRg+PDhtoHbt29n3Q6A8tIytuPz920AjjphLFtXVWmzotswIGUA0F0LqGRjWC8A/XkGQBjIeh9kTXKGmz1ULnHWAmEAcN6C37Jbzp0UZ9udf13PXrnjvxPsRQBkjqiETCQBAKN4ENycBzmv1SWUt+9/Qerjpx9+xr7e/lVc2ZHDj2YnnjLSvqd6thCzDnxLPhXuRfvJpTOkxfB84baND7FRp4xkzbnnBPJonUr4oYxyCIQFAPQs9DxcEA5U9ndz7tWXrktNBgQFgE6v87JJZwCEwB/f3mTbdO0ZY6IbAnv37jXKAW6PzQIAS6o6v298XumE6AIAh5FuNKMyLdQ7Z6r8wUXxIesgni/WCQflEJAxYO6c69nZ553NLrpwKtmml2MIgonzjz1wodSG3Tu/Y3Xf1ceV9R9QyAYPG2DfGzH+V0qLo9iFU6cnMGD16lW2ktmzr2T79sU3IlpTV1dHgmQiwK/4dPSorg6lAOg0lPIAUM6KDFHZD3h16xZ2zvEj4lTjvbA2Nyk/3MrJODEBgN8P6DYA4ONsJ/7sHrbz669sgIcdebT16Z9usjvB5Gux/PayV73AGZB2APhBHfYFgf48A2A/QBb/IJvMnEEywA8Ad735njVvwjj7qA0uOHZbsmEjm3/m+IT2EABZO5BIw06aoQAAziAI8Leb81BGHc2Fvh/gp4e7ug5O13GTg3+WsKriWnsiVzrrj3Zn6j5nGBoDggLJba1CrVOUd4SCMjRV9USeAX43bZVXg1QSono27CwdOgCUg8kuDx0AGQP4r8yhAAibAVT7puWRzwGmDlL1jfcDqOUxZUCyy0kG6C6HTY/Xgz7/pwDOAEAhlGGAsGlKxXzahQDFEL/jNKWXKled6VF6yBxAKcgAoPDSNS8QF159clwxf8bvVg9WgvCpNCjH5TDK6tY3ZkBYx+sU8/gQ8NoT8NpLgDaSDsArq36TYQDV27LyyCTBZIeA3yTsfHrcdD8Ad3799CLU8XtyjA4YA+DXcKznJwtjXcjmcxau82VCYACY7gfIGKDzfMH6VfHPDvJn/G7IwLMBE6ctMk7ggYwCps8XrHn6EV8MUD3/p5Qb7wdQDVDlSQdANLC0bFbcEyO33RZP0Qmnj/CknlifAkAsr6qs8P48Qpvl2JfV/J1T3S8jEhqLOgA7N1c7AAw9Zkz0AMDj8em//zurXHWfbWDZj29gq6/7of033Pe6KAbMvPwWB4Anl93Y/QCAF7Og14GEAFB+8dwfsmHjZrArZt8s7Zwnlt/Ndm5cyRYu9e49qPzy2iccHedPucL+W3ZPNTdA3W8+fZ3N/90rrOLxOxKqzfrpAnbXr89jQ078UVyZ6ttrYkApUDB09GR22ayFUruerFjMdn30N9sI8WpqOsiefeoBqWH8TTfjxYrf1u5iA4s63x4JF9QLFQDTufzFsxfZhiII0CNeFwLhJpeyAKDTPXv2UmW3VC7lANj1ZecT4XjJwoQvh3Dzumq+/CcrPuZfHBGI7UiHAOt1RJw/brkChDDXeAGwe/ceNnjwIEekoz0WbQAwB6DFzz17vzRhovMXX3J9nP9iyHR5CLS3tBp9XuCSmfMSHIJRQxxR8B6MGvyVAUBIml3OAMvqSGDAVdd0TjgeXjrfM2Fl5WYzGaWDZMCG/33V16iydcvflfYLYv/x89sTAHh0WedYjkB4WVD3fW2oIcDP93WQUF0dSgHQaQjB0qmjJXvwey1xFFYGgNK+4Z0tcQyh9gMofVErV4qTqBkdpD0ZAIJEMxV1ZRiQir0WpM2RZwBsgYmrQWq3R+d9xhkAgqRTKurKMCDqvZbJAd09CYbN0MjngImTLvS1Y/XW+heUfFMSCrsXkqk/DoC2ljYp2jl5Oa5AyXaUgnQoFssKtZNI5br7AabH60EfflKdQQJAKRDLTQEI+vyfsj9yAAR9/p9yAKRcCJg+XxD2+X/oDDB9viDs8//QATB9vqCjx4BQDj8xlMQnSMS9BOMkmAHA8IWMYTGAor5zgKIq6CaXYUBEGdBlOcD0+QKWlZPaSTCqAKiGtvko4PF8gezkuKO1Pc62kaPPULU1Tg7P/033C4wBMH2+4NH7rvEFgOrxN6XceD9ABgDVKF8eKQDAsCsuv9zeFGlqamI9e/Zkb65/O86fL7Zt9WTNupdetN5/byNb8+Ja9u76KrvuaZNK2bQLprCx48exxyue8sTn2ZVPeeovLzvf+s85nawpO/tw+PhlREJjIgCrn18TZ3DD/gZPA59escLa+tlnUgCOHzmSrV6z1giAn86+yio9t/PB6EunlTq6IgNAhgGpxgCkvMhLzAEyvvJly5fdHydS+drbDHLAgpvn2rEPF+SCO+5eaucAPm6h7Jk1VQxCRiYPIcPTHBs6/8ezGOQBma6qv77OHnvwTqYaErGgAQCHhh01jP3psSdZTc0uVlw81P69cMF8tnPHzgSHALCCwkK2+I67HFmo87MrL2MN9fUJTiIIV865xXaUvwCYl1dV2LeSBsBbGzc7NrW1tLL29nbWI7+nc2/iuPj3BfDyMraJ8qpDbCQAaG5sYtnZ2SwnLzd9AZg2bZprp0Dvw09eXp5qxyXITSub7KtulzGgsaktwcDBA49gu7+Nf8JTdg8rYllbW4t9Kycnj+G9Z5YvTV0Axpw8yjZ+0+ZPHIdk3ngBAPK1tbtZUdFgrd/Vr7+mtM4xHgXCZkBKA5BSDBAXPTxVz5wUv2bnJ0Ipz4Djjj3eORLnHeWd9AJn/PjTUjsJFvQpcAAoKjr8aS3eq9raPc6/okzKA0CNMTxDQFZlP6B86gXSDAwrRbcyyg6+HPTA/0HoIocKXQB0HPEjC/sBjy9/lLRbVXdgirBBr17OMEC1WzzkUpoBAfjvqHBjky5AgYcAWoiGUAbxjoh1vEKG0qsKdmgAqBqQbLkMAMnugWS3n2FAmD1w35J77RnbDfNu9A00HLQU9i1g9fsamM5v1Vmib8PCBK4rdYcKQBAMCBsMBwBxzs83TC2AwjQy9BDgHXdzVEUmTBDC1B0D58BxLwbgMlgmk0x2BAEMmQN0l8Nw1Oa1m0QBhmv9Pzy4zDnmAkdV9/l19wpCB8DP8wXgMB5yYi+rAiCuRSiWkABQCsRykQG6AGQYsGKFPXlKGQbIjte9ni1AxqCM7PkCMf55lsGxODwi85OZM32xV1xG+1LCGxQ0ALJzfzHM4DmAdZUvS23X3SeIHACqOUc3KbrpzQCgiribXNAhoGpPhgG9Bxqz155gqSIeFgPgcNXk/N90sZTyAJh2YAYAQJBaCeJqUIY2JEGv43Os4/aMQdJDQGWtrwIQOIpOijNBL4C2/vMdXywObBQw3Q/wenYAPfOSSToAIvymH3+3rM6Xn484If7JkS2fv6vU07FYzDMvwafBsrIPqToYwe8XCBsA1G9DEEUA8PsFTplbwbZ80PkNMiN+UM4+XDrL/rtX2bWeTKAYkAHgUIgFxgDTz/9Xrjv8fQJ810IO4BlA5QDVnNHRzpiTA1y4BDLUG+ewqvH3CzxZkfilB6gcneKdB+PwohwBOTeHUQ+vg5elQskBwPTDz6zXAKXsjkIqPail0EU4sgDoOsczRqeucgh0NQN0nJDNJ1TrK79aO1gAYA5kvL6K95Eb61WdBznVqXIsWAB0TFSUDRsA04+/Z+XmKHriUywDwOH5vg6E6iFg+P0Cgce86GXYDDD+/P8y+Zcz6fSWp2wyANAxfvFvf64jri07qI+/UUU5BCiLdN8nSOmLWrk/eBW9wFfjrfjznaG2o2iOVCw0w8B5dJz/28TYMOpmAAgDVdCpywD+TZJQv6vCJjQGIAhd6YyfzgwVAD8GdXWdDABdjbhue2JuUK2vmkMyDFBFNF3lMgxI155V9SvDAFWk0lUujgF+vl8g1YEhQ0B3P8D0+QI8/7dPkJrNz/+pDiIBoBSI5aYABH38TdmfAYBCSLe82zEgrOcLKOBVT39JPZQAVW76/QL88wWyM3+39iMDQNBni6ogpA0A8Hp9P5fq+T+l23gUMGUAPEHm58Lzf9P9gqQD4Md5qKN68kPpzwBAIUSVGz9f0FpPNSEtjwwDuj0Asm+bu+qazmcHVb5fICvVGWD8fEHm+wWS+wUL/w8q6uHILwuE0AAAAABJRU5ErkJggg==" + } + ], + "animations": [ + { + "uuid": "e7e83f43-b662-56ee-0f85-7ffbcaf2a66d", + "name": "ex_skill_1", + "loop": "once", + "override": true, + "length": 4.2, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "22d40862-bd19-a16d-9e33-79364e6656d8": { + "name": "Head", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": "0", + "z": 0 + } + ], + "uuid": "f1ad0fb0-bc4f-1d4c-5e88-b602aa5918a1", + "time": 0.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": "0", + "z": 0 + } + ], + "uuid": "03d73f75-7b95-0627-2157-5ba7dec0b2b6", + "time": 1.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": 0, + "z": 0 + } + ], + "uuid": "3fcde1a5-1694-5a3e-f69b-151d9e9c2d00", + "time": 2.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -5, + "y": 0, + "z": 0 + } + ], + "uuid": "04cb304f-3a09-fd59-10e7-fdf119eb8d70", + "time": 2.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3c1cb66d-8a31-d31f-ec9f-65a33e313a53": { + "name": "RightArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "-60", + "y": "-40", + "z": 4e-05 + } + ], + "uuid": "9244ddaa-638d-a7fa-125a-5a7fb8ff9cb5", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0.5", + "y": "0", + "z": "-0.5" + } + ], + "uuid": "82be8398-52da-7c9e-deac-7f001b839816", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e7d3e5d8-00e4-587c-7bb6-6787db00054b": { + "name": "LeftArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "-60", + "y": "40", + "z": "0" + } + ], + "uuid": "ec54bf02-e8f0-f802-96ad-16518f4330b5", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-0.5", + "y": "0", + "z": "-0.5" + } + ], + "uuid": "b60744dd-9496-9c77-1c92-0e44552f0ce0", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "4ad021e9-2857-4e55-337b-f61da0762800": { + "name": "CameraAnchor", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "150", + "z": "3" + } + ], + "uuid": "808b2413-d54d-ccd4-1d02-38c721c05e48", + "time": 0, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "10", + "y": "180", + "z": 0 + } + ], + "uuid": "60363669-2d0b-ecfc-4674-6b8a44ffebdc", + "time": 1.15, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.29749, + -0.29749, + -0.29749 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.29749, + 0.29749, + 0.29749 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": 180, + "z": 0 + } + ], + "uuid": "de317f83-54b3-5f5d-1e19-8e37bc6ef9d6", + "time": 2.15, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.59724, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.59724, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 180, + "z": 0 + } + ], + "uuid": "93cbd638-be6e-9a9b-7ff5-1440312808d7", + "time": 3.55, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.60429, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.60429, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 25, + "y": 25, + "z": -21 + } + ], + "uuid": "d9b0e82b-5deb-f18d-8a41-d745014dd795", + "time": 0, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 28, + "z": -11 + } + ], + "uuid": "9912cf8d-b6d0-1422-d220-f9b32a42a6ab", + "time": 1.15, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.30101, + -0.30454, + -0.30454 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.30101, + 0.30454, + 0.30454 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 28, + "z": -11 + } + ], + "uuid": "063e3fed-2583-c162-3e30-2047a219dc23", + "time": 2.15, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.59724, + -0.60077 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.59724, + 0.60077 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 23, + "z": -36 + } + ], + "uuid": "fffd24e4-dd7a-4135-2e23-bed841caf9a7", + "time": 3.55, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.60077, + -0.60077 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.60077, + 0.60077 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "b9421d3c-d216-df38-f6cf-c28e125b6fc5": { + "name": "VeilBody", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 20, + "y": "0", + "z": "0" + } + ], + "uuid": "cbc7bf12-fd7a-6064-c250-e0fd8c50169f", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 45, + "y": 0, + "z": 0 + } + ], + "uuid": "a4aad761-4a78-16d9-e3c1-1f52d481df8e", + "time": 0.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 45, + "y": 0, + "z": 0 + } + ], + "uuid": "f28adc7f-b2f5-30cb-c098-565142baa012", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": 0, + "z": 0 + } + ], + "uuid": "a1e357c7-9236-fd9b-45cd-fade78f63189", + "time": 1.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": 0, + "z": 0 + } + ], + "uuid": "c2a50fd1-6760-0384-7e65-be56db30367d", + "time": 1.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "61a89c00-d352-d4fd-dc78-180c1798d412", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 40, + "y": 0, + "z": 0 + } + ], + "uuid": "2076913d-e847-0c4d-8c0e-1c86ad790eef", + "time": 2.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": 0, + "z": 0 + } + ], + "uuid": "a72c8e8f-c8c3-d74f-ed77-37f315371cdb", + "time": 2.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 40, + "y": 0, + "z": 0 + } + ], + "uuid": "272f43b2-1fec-5aee-f754-75b199a35371", + "time": 3.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": 0, + "z": 0 + } + ], + "uuid": "93cc26b8-58dc-3962-1260-4df8e0fca5de", + "time": 3.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 40, + "y": 0, + "z": 0 + } + ], + "uuid": "86b4dcba-b64b-997a-977c-2d33ddeedde5", + "time": 4.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "0da5a55a-eb37-201e-d52a-942c138747f7": { + "name": "BackRibbonBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "1826bc61-abc2-eaab-d5c8-e42d3ca8ac3e", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 35, + "y": 0, + "z": 0 + } + ], + "uuid": "61b10c72-00fd-ba53-081e-64e8b0dd0b39", + "time": 2.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": 0, + "z": 0 + } + ], + "uuid": "0b99c95c-431b-0e23-6b01-25f5400a5cf3", + "time": 2.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 35, + "y": 0, + "z": 0 + } + ], + "uuid": "b424c64a-b943-2679-8022-404b0e449257", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": 0, + "z": 0 + } + ], + "uuid": "42114de4-e90c-48d8-85dd-63abf1622a96", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 35, + "y": 0, + "z": 0 + } + ], + "uuid": "2a5f864f-8c6f-80b8-c1a3-5b216759372f", + "time": 3.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": 0, + "z": 0 + } + ], + "uuid": "1b6e70f9-f762-219a-7781-aa57de7cecb6", + "time": 4.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "d19704ca-817d-20fe-9cd6-b1edbf8f3d77": { + "name": "Robe", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "cf8a18ef-47a6-05e5-fbee-0f05b69e9426", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 5, + "y": 0, + "z": -10 + } + ], + "uuid": "dcdca4b6-48b0-c3c1-b026-b02b70036a53", + "time": 2.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": 0, + "z": -5 + } + ], + "uuid": "690e83df-6d4a-dd1e-5fa9-78e236a7a806", + "time": 2.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "5", + "y": 0, + "z": "0" + } + ], + "uuid": "a7bdb517-f641-2c60-dd8f-38a41da3556c", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-5", + "y": 0, + "z": 10 + } + ], + "uuid": "244d89e0-a062-991e-ac73-7a64cd266b04", + "time": 3.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": "-5" + } + ], + "uuid": "ab91f5b9-db1a-8f80-86d6-fd380f2160c0", + "time": 4.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "4ad3d356-d906-ca3c-1507-6446a299fc22", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "4c7f4370-1ccb-9f26-db90-e1a50eac26f5", + "time": 1.75, + "color": -1, + "uniform": false, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1.1", + "y": 1, + "z": "1.05" + } + ], + "uuid": "30dce5f3-c474-601b-a4cb-4e0add918b0e", + "time": 2.25, + "color": -1, + "uniform": false, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1.05", + "y": 1, + "z": "1" + } + ], + "uuid": "35ae1ecd-f369-4034-155a-d0dd2274ff68", + "time": 2.5, + "color": -1, + "uniform": false, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1.1", + "y": 1, + "z": "1.05" + } + ], + "uuid": "946e612a-c404-957a-3b21-c6a2623ae389", + "time": 2.9, + "color": -1, + "uniform": false, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": 1, + "z": "1" + } + ], + "uuid": "9843479c-3fe2-0b70-d9ae-c2e66098aae2", + "time": 3.3, + "color": -1, + "uniform": false, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1.05", + "y": 1, + "z": "1.05" + } + ], + "uuid": "d1426748-29ec-8f09-1056-e849a4a55093", + "time": 3.7, + "color": -1, + "uniform": false, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": 1, + "z": "1" + } + ], + "uuid": "0916aeb5-0a76-9feb-4efa-5358ffd20466", + "time": 4.1, + "color": -1, + "uniform": false, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "b924539e-1292-1a17-6240-a525ae346090": { + "name": "RightArmBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": "0", + "z": "0" + } + ], + "uuid": "e9222d3a-daab-746f-4eaa-93ec13e676d5", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ad1c45ef-c0a8-6d31-d2dc-fbdc6ab7ddcc": { + "name": "LeftArmBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": "0", + "z": "0" + } + ], + "uuid": "73c1ae57-c556-c1c5-47c7-2424c73c1ebc", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "8dde4af5-97c7-3389-620c-89d5e53f1008": { + "name": "RightHairEnd", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "fb418904-cb42-c478-3288-f6ab8153911a", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 0, + "z": 25 + } + ], + "uuid": "a2edd217-8845-832c-e7b7-e885476e5eeb", + "time": 2.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -4.76968, + "y": -1.50179, + "z": 7.56255 + } + ], + "uuid": "e67e333b-e315-2331-c06f-cf107edf2374", + "time": 2.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 0, + "z": 25 + } + ], + "uuid": "faf79688-8a4a-3cfe-71bd-be871e809878", + "time": 3.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -4.76968, + "y": -1.50179, + "z": 7.56255 + } + ], + "uuid": "858d3b64-ea86-ca8c-5d8d-7d1b603541aa", + "time": 3.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 0, + "z": 25 + } + ], + "uuid": "e2deed9c-0645-f3ba-ee1b-693866a34f35", + "time": 4.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e8414120-ad11-d237-f5d5-4eaf84b464b0": { + "name": "LeftHairEnd", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "c2804341-c01c-9971-aeac-bb4b8560f627", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-15", + "y": 0, + "z": "-25" + } + ], + "uuid": "8a1f50f9-df71-f51a-e51b-0bf2921fb3bb", + "time": 2.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "580886ac-ae1c-236d-c3ef-37324060ee04", + "time": 2.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-15", + "y": 0, + "z": "-25" + } + ], + "uuid": "62b3f33a-48b3-d015-1f19-202ba0ff614d", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "ec5d4b19-6784-90be-868e-7cc4c722de23", + "time": 3.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-15", + "y": 0, + "z": "-25" + } + ], + "uuid": "a35b78a9-314b-2b53-87bd-23eabb0cc5f2", + "time": 4.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "c19f9a52-3d3b-8980-7993-913880afded0": { + "name": "CenterHairEnd", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "e77e6161-d3ae-5519-2177-060efc5cef1c", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -35, + "y": 0, + "z": 0 + } + ], + "uuid": "080bb1c2-4d6c-0600-227a-b5c0857afb4b", + "time": 2.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-10", + "y": 0, + "z": 0 + } + ], + "uuid": "bc9184f3-237a-3ab3-7cf1-335adecd26d2", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -35, + "y": 0, + "z": 0 + } + ], + "uuid": "93e7d220-e6b8-7a79-5349-ec6d763492a4", + "time": 2.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-10", + "y": 0, + "z": 0 + } + ], + "uuid": "3aa4b233-5f6f-72f1-1c4f-51ef6715cf9c", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -35, + "y": 0, + "z": 0 + } + ], + "uuid": "8b9a12d0-97a7-b003-34bd-1f0b42f435a3", + "time": 3.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-10", + "y": 0, + "z": 0 + } + ], + "uuid": "6b9e1e65-3ef8-43b3-7a52-4300684ad3ae", + "time": 3.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -35, + "y": 0, + "z": 0 + } + ], + "uuid": "8ed61c38-8a60-9a88-aab5-966dd8f8e0ef", + "time": 4.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-10", + "y": 0, + "z": 0 + } + ], + "uuid": "b5972011-63ea-0802-9eae-a59523ba119f", + "time": 4.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + }, + { + "uuid": "12187792-147d-3f5f-85b0-67ed58d175b3", + "name": "ex_skill_2", + "loop": "once", + "override": true, + "length": 7.15, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "e98e96cf-993b-878e-02b8-777c368bb888": { + "name": "Avatar", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "c32c609b-d16c-ef3e-1479-a012ff173bb3", + "time": 1.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": 0, + "z": 0 + } + ], + "uuid": "17b748ab-2e0f-7ebb-2cae-f8c29d765993", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 20.80524, + "y": -22.13991, + "z": -4.11405 + } + ], + "uuid": "a1a8da9e-208e-e9e7-6bbb-e24078b0ca09", + "time": 1.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 4.79114, + "y": -22.371, + "z": -1.42029 + } + ], + "uuid": "25193085-d7dd-3a7a-b521-55fb9cef476c", + "time": 1.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 4.79, + "y": -22.37, + "z": -1.42 + } + ], + "uuid": "7b290b50-ceb8-e7a5-b700-2e8447ff579f", + "time": 2.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 14.41312, + "y": 0.68189, + "z": -2.01004 + } + ], + "uuid": "04659a64-b386-e85a-c8e6-ac80f1d1617e", + "time": 2.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 4.41, + "y": 0.68, + "z": -2.01 + } + ], + "uuid": "86544dd9-5178-b85a-6fec-481924bd379f", + "time": 2.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 4.41, + "y": 0.68, + "z": -2.01 + } + ], + "uuid": "413c4723-5635-4e92-5b8b-566c1b4c22bc", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 14.41, + "y": 0.68, + "z": -2.01 + } + ], + "uuid": "fb760751-21bc-cef8-ac1c-f7612b7b7017", + "time": 3.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 14.41, + "y": 0.68, + "z": -2.01 + } + ], + "uuid": "6a228c88-c699-39e6-167f-2d404c2c9329", + "time": 3.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 19.41, + "y": 0.68, + "z": -2.01 + } + ], + "uuid": "0708eb6d-0b9e-8ac0-87a6-8009fdeac563", + "time": 4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 19.41, + "y": 0.68, + "z": -2.01 + } + ], + "uuid": "5846181b-6c9a-df12-a34a-2e9c6b60afda", + "time": 4.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": "0", + "z": "0" + } + ], + "uuid": "c8809115-cf6c-c746-c03e-c529a31b6873", + "time": 4.3, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -9.85108, + "y": 1.72794, + "z": 9.85108 + } + ], + "uuid": "ce7dd951-1b89-e42b-3d6d-42cb20ca2d2e", + "time": 5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "fdfc4adc-8952-b1ed-8e77-852da0f6453a", + "time": 1.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 2 + } + ], + "uuid": "a006ab99-350a-ee53-80aa-4c10e82cb904", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -1, + "y": 0, + "z": 4 + } + ], + "uuid": "a7edad5c-6fbd-6032-61d6-5b235889f56e", + "time": 1.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -1, + "y": -0.5, + "z": 1 + } + ], + "uuid": "7dbb7cbe-ad9f-a24e-b7c0-615862e45682", + "time": 1.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -1, + "y": -0.5, + "z": 1 + } + ], + "uuid": "c9021d47-4f53-3b0f-87e1-0ddeb56f7246", + "time": 2.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": -0.5, + "z": 3 + } + ], + "uuid": "ceaf4e1c-b6ad-4d7f-e621-7917bf7172b9", + "time": 2.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": -0.5, + "z": 2 + } + ], + "uuid": "a1d605d3-b880-ed30-8704-1cc237592d46", + "time": 2.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": -0.5, + "z": 2 + } + ], + "uuid": "5445f808-9107-33d0-924c-2b99f5409116", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": -0.25, + "z": 4 + } + ], + "uuid": "b7258f56-c228-50df-20db-cda18cd26520", + "time": 3.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": -0.5, + "z": 4 + } + ], + "uuid": "23a39f49-55dc-e057-cd05-9f904b0f008b", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": -0.5, + "z": 4 + } + ], + "uuid": "2426d35f-26cb-e87c-a790-bd0e00fafe8b", + "time": 3.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 5 + } + ], + "uuid": "c1c94925-8a00-dcb0-611d-e748f7bc2a42", + "time": 4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 5 + } + ], + "uuid": "a5573ab8-f57e-67f3-a297-e6c5279f7daf", + "time": 4.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "4d59c23a-9140-76ce-d3b7-5fc0e8e284c2", + "time": 4.3, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 1, + "y": -3, + "z": -7 + } + ], + "uuid": "9afb1d55-f31a-b090-8114-a2ed556aaed8", + "time": 5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "22d40862-bd19-a16d-9e33-79364e6656d8": { + "name": "Head", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 25, + "z": "0" + } + ], + "uuid": "cbdea3b4-e45b-8146-fe8d-123fcdad9969", + "time": 0.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": 10, + "z": 0 + } + ], + "uuid": "cca77d61-e7d9-a46f-e16f-3b773291fc95", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 25, + "z": 0 + } + ], + "uuid": "4db73829-d9ea-0378-a051-f4ca3bd53b4c", + "time": 1.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -10, + "z": 0 + } + ], + "uuid": "de86b258-4276-2eab-31c7-740dbf125d9f", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 15, + "y": -20, + "z": 0 + } + ], + "uuid": "3cd73d98-d736-70f2-cff2-efaff64b4730", + "time": 1.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -3.40569, + "y": -19.87119, + "z": 2.65585 + } + ], + "uuid": "ce707021-e256-fd25-866a-2b861540e99f", + "time": 1.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -3.41, + "y": -19.87, + "z": 2.66 + } + ], + "uuid": "9646765a-8e81-d235-8937-f39f7bdc6db5", + "time": 2.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 14.29041, + "y": -2.39871, + "z": 1.63424 + } + ], + "uuid": "b79cd383-0178-a761-ade1-54c06d6631ff", + "time": 2.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -6.07171, + "y": 14.78964, + "z": -1.6834 + } + ], + "uuid": "b8602866-cad6-d576-212f-f481dd6f39c3", + "time": 2.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -6.07, + "y": 14.79, + "z": -1.68 + } + ], + "uuid": "3b036566-9b14-3280-6d56-1921c3912788", + "time": 2.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -5.96044, + "y": -10.07666, + "z": 0.92151 + } + ], + "uuid": "1b0de103-fc6e-c932-aa2b-6da35096d99f", + "time": 2.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -5.96, + "y": -10.08, + "z": 0.92 + } + ], + "uuid": "1ced4e56-144f-a30d-3744-2165640affbb", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -0.87384, + "y": -2.61984, + "z": 0.14263 + } + ], + "uuid": "6d50289b-9030-c7b1-18b1-9d075aff440b", + "time": 3.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -8.48085, + "y": -27.61685, + "z": 0.55494 + } + ], + "uuid": "210feb7d-fed5-26d7-ab1f-2ae2c3108b0d", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -8.48, + "y": -27.62, + "z": 0.55 + } + ], + "uuid": "4b8ea5f2-5b51-b60b-2ed6-b4315ad5505b", + "time": 3.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -5.00786, + "y": -0.37628, + "z": -3.35445 + } + ], + "uuid": "27b00eba-b753-fa5e-9f24-e40cd641dd17", + "time": 3.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -8.09868, + "y": 21.91713, + "z": -6.44049 + } + ], + "uuid": "fabc4438-ec34-28f2-0ac9-0361a3cb3d72", + "time": 3.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 12.38322, + "y": 9.53636, + "z": -4.66791 + } + ], + "uuid": "2e86ba5d-c0dd-00bc-fd21-785b6c490749", + "time": 4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 12.38, + "y": 9.54, + "z": -4.67 + } + ], + "uuid": "29719711-2736-3090-c63c-b4170f743720", + "time": 4.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15.0547, + "y": -4.82922, + "z": 1.29717 + } + ], + "uuid": "684c9299-7465-8564-df82-8769d30511f6", + "time": 4.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -1.32467, + "y": 9.76868, + "z": -2.45584 + } + ], + "uuid": "dd9cbd48-9d75-459b-dd70-37f06540d637", + "time": 4.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15.04997, + "y": 4.82865, + "z": -1.29354 + } + ], + "uuid": "1f9f7f9f-74f8-a5db-3a6b-bb26742c0e96", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15.0547, + "y": -4.82922, + "z": 1.29717 + } + ], + "uuid": "d990a53d-fb70-32f9-34e6-8da489c6e408", + "time": 4.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15.04997, + "y": 4.82865, + "z": -1.29354 + } + ], + "uuid": "2c3b3df6-7270-276f-b90f-6d646a19b52b", + "time": 4.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15.0547, + "y": -4.82922, + "z": 1.29717 + } + ], + "uuid": "682c2525-92c1-0a71-45f3-27126ef249bb", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15.04997, + "y": 4.82865, + "z": -1.29354 + } + ], + "uuid": "037e4da7-b4bb-fd73-5d9b-a8e977ddea82", + "time": 4.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15.0547, + "y": -4.82922, + "z": 1.29717 + } + ], + "uuid": "a49a71a2-2417-a27f-d1df-7fec2d022510", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15.04997, + "y": 4.82865, + "z": -1.29354 + }, + { + "x": "6.0638", + "y": "-20.4946", + "z": "23.1223" + } + ], + "uuid": "de4ada6c-c034-aeb8-06d3-7e68bd8eaed4", + "time": 5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3c1cb66d-8a31-d31f-ec9f-65a33e313a53": { + "name": "RightArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -71.92221, + "y": 14.2906, + "z": 4.60659 + } + ], + "uuid": "6d80e498-9e3e-d101-42db-3f4310f7e953", + "time": 0.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -62.16481, + "y": -12.34133, + "z": -9.3308 + } + ], + "uuid": "7a950535-9ac6-2e16-6e48-7f4fccf33584", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -71.92, + "y": 14.29, + "z": 4.61 + } + ], + "uuid": "2c404aea-7737-6597-f6cf-0c79cd2bc123", + "time": 1.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -48.97497, + "y": 16.18256, + "z": 6.30308 + } + ], + "uuid": "5600c896-39f6-2c3a-69b3-976c04bb4ddc", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -66.56152, + "y": -22.34542, + "z": -16.35446 + } + ], + "uuid": "5ed8e86b-658a-354a-1d12-2453f0b3e419", + "time": 1.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -66.56, + "y": -22.35, + "z": -16.35 + } + ], + "uuid": "b65d17f6-0e5c-9430-7b8c-5178cb79a2c6", + "time": 2.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -55.35385, + "y": -19.30957, + "z": -11.5907 + } + ], + "uuid": "3574bc1d-6758-be05-5714-82b240e117cf", + "time": 2.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -17.85, + "y": -19.31, + "z": -11.59 + } + ], + "uuid": "9080ab38-3534-cfe2-ac64-1cad3da858d5", + "time": 2.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -17.85, + "y": -19.31, + "z": -11.59 + } + ], + "uuid": "651eeca0-ccfa-86a1-85f0-aab5a1921790", + "time": 4.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 14.78217, + "y": -2.57594, + "z": 9.6658 + } + ], + "uuid": "0449516a-73b3-59de-881a-0cecce6ef5c5", + "time": 4.3, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -49.73782, + "y": -48.78316, + "z": 49.77878 + } + ], + "uuid": "803932cd-748e-456a-414b-97ee6e93a950", + "time": 5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "9a6422cd-f1eb-1860-ac6c-08953c59683a", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": -1, + "z": 0 + } + ], + "uuid": "77c7135a-7706-61d4-e03b-51dd5b254c1a", + "time": 5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "b924539e-1292-1a17-6240-a525ae346090": { + "name": "RightArmBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -57.5, + "y": "0", + "z": "0" + } + ], + "uuid": "ce561493-bc00-c59b-f536-7193367b7189", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "dbcf6133-534a-c0a9-5f2d-34074710aa84", + "time": 0.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "1fea7037-4055-aa9b-019f-98bd397056c5", + "time": 2.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -35, + "y": 0, + "z": 0 + } + ], + "uuid": "6e025bbc-465e-be4f-ea5a-72cc8aedbfe6", + "time": 2.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -62.5, + "y": 0, + "z": 0 + } + ], + "uuid": "f4ab3cad-787c-ec83-74ca-dbd7bb72c8ae", + "time": 2.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -62.5, + "y": 0, + "z": 0 + } + ], + "uuid": "c5d9eca5-e605-5bf2-5ccf-67ee383bd157", + "time": 4.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "83523343-f4d8-7558-aa55-03f64768178e", + "time": 4.3, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -39.56869, + "y": -6.40865, + "z": -7.69263 + } + ], + "uuid": "c174fe84-5586-5df9-a345-d29340b38429", + "time": 5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e7d3e5d8-00e4-587c-7bb6-6787db00054b": { + "name": "LeftArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -29.99991, + "y": 59.99995, + "z": 7e-05 + } + ], + "uuid": "b123410d-ee8f-06e3-24c4-23675c08412e", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30, + "y": 60, + "z": 0 + } + ], + "uuid": "d7791cb6-4e00-dea8-4f2c-a568f13f34f2", + "time": 4.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 14.78217, + "y": 2.57594, + "z": -9.6658 + } + ], + "uuid": "b27b507e-b146-769c-5f76-db01872d0a59", + "time": 4.3, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 9.65759, + "y": 3.21528, + "z": -12.09104 + } + ], + "uuid": "2fd9fcc2-c895-4e50-74ec-9f5a7c09a55c", + "time": 5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": -1 + } + ], + "uuid": "402dfcbc-c635-661d-90cd-38223c125c28", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -1 + } + ], + "uuid": "6ab58d20-8bb3-a665-5446-9c6c74a39b2e", + "time": 4.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "633da0b2-6b39-cbf8-ece3-660027b0fcc0", + "time": 4.3, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0.5, + "y": -1, + "z": 0 + } + ], + "uuid": "fb200fa2-e7ca-0072-14aa-7b96f77215c9", + "time": 5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ad1c45ef-c0a8-6d31-d2dc-fbdc6ab7ddcc": { + "name": "LeftArmBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "-60", + "y": "0", + "z": "0" + } + ], + "uuid": "6840f486-61c1-8fb0-e9a7-e2a05fdeda0a", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -60, + "y": 0, + "z": 0 + } + ], + "uuid": "0b17756a-9c4c-ec19-64fb-0547dd88240b", + "time": 4.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "4bfa3658-6a36-a934-c373-2a2e52321dca", + "time": 4.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "2f61e368-1c06-648e-26d4-aee94647e4da": { + "name": "LowerBody", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "5d2d66e8-4e37-e69c-8da3-6fa3e94eb023", + "time": 1.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": 0, + "z": 0 + } + ], + "uuid": "8a3575c0-9212-667a-3125-aa36b8671963", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -20, + "y": 0, + "z": 0 + } + ], + "uuid": "4c1cdb1d-1545-a70f-a3d1-37893c5bf027", + "time": 1.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -5, + "y": 0, + "z": 0 + } + ], + "uuid": "39cb4200-0760-c601-4399-5380244026f4", + "time": 1.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -5, + "y": 0, + "z": 0 + } + ], + "uuid": "e7af04ef-7cd8-18b3-0e43-4f88ba7e7b98", + "time": 2.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -12.5, + "y": 0, + "z": 0 + } + ], + "uuid": "4c05f81a-5e22-75a4-cb19-1c1b008635c6", + "time": 2.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -2.5, + "y": 0, + "z": 0 + } + ], + "uuid": "6176bc42-3717-86e9-79a0-889b8b7945be", + "time": 2.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -2.5, + "y": 0, + "z": 0 + } + ], + "uuid": "c1e70d13-b565-7061-92b9-d1d52c91cec8", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -12.5, + "y": 0, + "z": 0 + } + ], + "uuid": "57d975b7-d995-5073-209c-14fca15a02b4", + "time": 3.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -12.5, + "y": 0, + "z": 0 + } + ], + "uuid": "2905aa86-f06a-255b-95d8-dfd004d3345b", + "time": 3.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -17.5, + "y": 0, + "z": 0 + } + ], + "uuid": "5c57e385-048e-3e09-ef33-7d182c28c5d6", + "time": 4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -17.5, + "y": 0, + "z": 0 + } + ], + "uuid": "ee8844f0-d967-329d-e181-f540768254e1", + "time": 4.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": 0, + "z": 0 + } + ], + "uuid": "77349401-e957-f6ec-6ae1-61e5597f6ac2", + "time": 4.3, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 9.85108, + "y": 1.72794, + "z": -9.85108 + } + ], + "uuid": "de1557ec-b374-43df-5ce0-a7c06a4e7d7d", + "time": 5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "4e80b5b4-7c04-8374-f8a7-526b3d36d050": { + "name": "RightLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -2.5, + "y": 0, + "z": 5 + } + ], + "uuid": "637912cd-0579-6d98-3560-93ca58c6b542", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -2.5, + "y": 0, + "z": 5 + } + ], + "uuid": "2859f5e5-6205-d56e-356d-d27e31abe480", + "time": 1.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -12.5, + "y": 0, + "z": 5 + } + ], + "uuid": "109e68a4-ee76-49cd-2629-8e92f8e8ffb9", + "time": 1.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -12.5, + "y": 0, + "z": 5 + } + ], + "uuid": "159f4f12-d42d-24ca-6c80-8fb49dde1492", + "time": 2.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -12.48848, + "y": -0.54094, + "z": 2.55919 + } + ], + "uuid": "bd04898e-df7b-946d-9a11-d9e4a95314a1", + "time": 2.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -12.49, + "y": -0.54, + "z": 2.56 + } + ], + "uuid": "45b30e34-3900-4d1b-216c-9ad7d7a99dec", + "time": 4.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 5 + } + ], + "uuid": "2fe9de68-3bab-39e3-eb43-327cdd6f40e8", + "time": 4.3, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -79.99067, + "y": 2.462, + "z": 0.43439 + } + ], + "uuid": "cbf6127b-6478-fce2-3a7d-b5993a4ab772", + "time": 5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "84fe0b3a-286b-e17f-288e-c39feaa2e5e6": { + "name": "RightLegBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "c2b7a364-e2a8-0769-e151-baac9e2f96db", + "time": 1.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": 0, + "z": 0 + } + ], + "uuid": "93e2ab2a-dfb8-fa9e-0032-f1fb042316d4", + "time": 1.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": 0, + "z": 0 + } + ], + "uuid": "6b993e6c-bd54-a689-a8bd-c94f7bc2d66e", + "time": 4.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "bdbe2022-d1de-1c8e-7e90-36ed7686b33c", + "time": 4.3, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 50, + "y": 0, + "z": 0 + } + ], + "uuid": "156fd588-fac3-640e-a826-19f6d1ade0c6", + "time": 5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "73b3d6bc-af0b-a066-5d73-f3938109e11f": { + "name": "LeftLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 2.5, + "y": 0, + "z": -5 + } + ], + "uuid": "791cf8ac-d36c-b6ab-6225-8c1c24a3539a", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 2.5, + "y": 0, + "z": -5 + } + ], + "uuid": "1c63b0b6-f6c7-448f-8ff0-71683eec4cd4", + "time": 1.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -7.5, + "y": 0, + "z": -5 + } + ], + "uuid": "a31577b5-3483-5d10-63e6-eca64932a2cd", + "time": 1.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -7.5, + "y": 0, + "z": -5 + } + ], + "uuid": "26ecf105-4214-e5fa-5aa2-c619bfe7e9c4", + "time": 2.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -7.49294, + "y": 0.32621, + "z": -2.52136 + } + ], + "uuid": "5abbf361-d8a5-bc35-bd69-317c5b79ce7f", + "time": 2.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -7.49, + "y": 0.33, + "z": -2.52 + } + ], + "uuid": "c1193714-3b9a-278f-215c-ee7264184504", + "time": 4.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": -5 + } + ], + "uuid": "9f075c91-7672-859b-3c6b-3009fe075f97", + "time": 4.3, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -79.99067, + "y": -2.462, + "z": -0.43439 + } + ], + "uuid": "2081efd6-5810-f2b7-f256-98866bd27c04", + "time": 5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ee9973d4-ff4e-c96b-64f6-d1f28afd69c6": { + "name": "LeftLegBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "95c7255b-a72b-ddbb-54c7-85d2d0b2c736", + "time": 1.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": 0, + "z": 0 + } + ], + "uuid": "690f6d65-d1bf-8ff9-a132-e488e6f86b6d", + "time": 1.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": 0, + "z": 0 + } + ], + "uuid": "9b4c5209-18b7-6d01-c9e6-62cbd9ac78cc", + "time": 4.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "893474bc-41fa-faf0-5688-3f5b1db3958d", + "time": 4.3, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 50, + "y": 0, + "z": 0 + } + ], + "uuid": "98b9e646-91cb-7f31-a152-e1db93cf57cd", + "time": 5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "4ad021e9-2857-4e55-337b-f61da0762800": { + "name": "CameraAnchor", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "-5", + "y": "180", + "z": "0" + } + ], + "uuid": "aaf5f963-4f34-34da-0fe9-78422f6d9ecc", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "30", + "y": 180, + "z": 0 + } + ], + "uuid": "672f1d34-4beb-ea17-0f86-026b1f9d5f19", + "time": 0.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 30, + "y": 180, + "z": 0 + } + ], + "uuid": "ebe292d9-e32e-939c-6099-1f550d56880c", + "time": 1.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "5", + "y": 180, + "z": 0 + } + ], + "uuid": "9dae5116-9758-5bea-5fb0-a8c9e6754689", + "time": 1.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 5, + "y": 180, + "z": 0 + } + ], + "uuid": "e37693c9-ca3e-9cf6-c25b-d882234a0107", + "time": 2.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 180, + "z": 0 + } + ], + "uuid": "ec5e15cc-6e57-bd26-10a6-99232eae449b", + "time": 3.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 180, + "z": 0 + } + ], + "uuid": "e9814dc7-8b3a-d361-dabd-d443e72491fb", + "time": 3.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-30", + "y": 180, + "z": 0 + } + ], + "uuid": "7c37a423-f9a4-24c9-6453-affef6fb6535", + "time": 4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "30", + "y": 180, + "z": "30" + } + ], + "uuid": "3df8ee8e-1fd7-df01-14f3-652c11701cea", + "time": 4.3, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "150", + "z": 0 + } + ], + "uuid": "8f449682-9448-ec97-6f80-11b5bb056bc8", + "time": 5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -1, + "y": 27, + "z": -12 + } + ], + "uuid": "3ae4036c-e14c-2af0-a39d-eaf34a70a095", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 35, + "z": -24 + } + ], + "uuid": "e63632d0-0f7d-695a-7021-1ec040024c00", + "time": 0.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 35, + "z": -24 + } + ], + "uuid": "38f37585-0577-2a88-92c5-c464331a673b", + "time": 1.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 26, + "z": -21 + } + ], + "uuid": "3f6ff479-8db2-44b9-8407-94ea8d7250dc", + "time": 1.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -1, + "y": 27, + "z": -21 + } + ], + "uuid": "050fccb9-506e-6f61-aa27-3abe5be508bf", + "time": 2.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -1, + "y": 26, + "z": -15 + } + ], + "uuid": "a06bad40-89e1-236a-670c-e7376d512c18", + "time": 3.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -1, + "y": 25, + "z": -15 + } + ], + "uuid": "5a4189ac-20bd-2f02-adf6-5462036099d2", + "time": 3.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -1, + "y": 21, + "z": -16 + } + ], + "uuid": "d393fbbf-2db7-a3ec-18bb-f7bba47f6ba3", + "time": 4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 31, + "z": -3 + } + ], + "uuid": "26050e64-c762-7321-0184-6a893c65d5fe", + "time": 4.3, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 10, + "y": 22, + "z": -11 + } + ], + "uuid": "ca58eb8a-8567-9f50-846a-ed787cd29c60", + "time": 5.05, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 21, + "y": 20, + "z": -30 + } + ], + "uuid": "f9fa9111-0903-35bb-ef10-e9e3426055e4", + "time": 6.25, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -1.05, + -1.04667, + -1.05333 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 1.05, + 1.04667, + 1.05333 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 10, + "y": 22, + "z": -11 + } + ], + "uuid": "1e31458f-5ba4-8dfd-9f36-f5f808704c68", + "time": 5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -1, + "y": 36, + "z": -24 + } + ], + "uuid": "21c0f878-8395-151a-23f9-8734e240a26c", + "time": 1.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 1, + "y": 34, + "z": -24 + } + ], + "uuid": "bd9451b3-fc75-d9f9-09b6-200125a5690c", + "time": 1.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 37, + "z": -24 + } + ], + "uuid": "280717d8-62d9-de69-f893-e0eb2db0beab", + "time": 1.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -1, + "y": 34, + "z": -24 + } + ], + "uuid": "79ce8269-891a-b34e-76ba-7b662ae80012", + "time": 1.05, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 1, + "y": 35, + "z": -24 + } + ], + "uuid": "dd0960b9-74b0-343e-a6e6-8fd49a2871ba", + "time": 0.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 1, + "y": 25, + "z": -21 + } + ], + "uuid": "a497007c-91e6-c7fe-6d51-433486ed98d2", + "time": 2.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -1, + "y": 26, + "z": -21 + } + ], + "uuid": "a18b68e2-69da-65ec-d832-706f2c213c20", + "time": 2.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 1, + "y": 27, + "z": -21 + } + ], + "uuid": "bcaa9bd0-1a1f-c188-f57d-fd7e4561265a", + "time": 2.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 25, + "z": -21 + } + ], + "uuid": "51739095-68e1-ef9c-1f23-e72dfaf54a01", + "time": 2.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 1, + "y": 26, + "z": -18 + } + ], + "uuid": "b8776ad5-900e-0abc-d5b2-53ed8727df5a", + "time": 3.05, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 27, + "z": -15 + } + ], + "uuid": "d8284414-d987-c41a-d155-e81ca1d1b597", + "time": 3.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 1, + "y": 25, + "z": -15 + } + ], + "uuid": "737de682-63b6-4f6c-3932-76585f7cbbd2", + "time": 3.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "d9d3d58a-ac0b-fce1-f92f-b3f9f8f19f62": { + "name": "RightEarPivot", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "c54ea12e-de00-e566-59b5-fd13b9dc4424", + "time": 1.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "20", + "y": 0, + "z": 0 + } + ], + "uuid": "42047ad9-24e0-aa46-b59b-5486a39d8f37", + "time": 1.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "83a8dbd3-fa82-cd86-7a99-47709df6e80f", + "time": 1.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "edb61b51-ee25-4ca9-2e58-607fc0026bfa", + "time": 2.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "20", + "y": 0, + "z": 0 + } + ], + "uuid": "de9df28f-a688-72bd-22ac-9ed6d6df4853", + "time": 2.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 30, + "y": 0, + "z": 0 + } + ], + "uuid": "a42251e4-afee-5d65-ef50-2f5bee2de4ba", + "time": 2.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 30, + "y": 0, + "z": 0 + } + ], + "uuid": "27ab906c-059d-54cb-4120-513a39ae800b", + "time": 4.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "35ffbb53-ba6f-5855-fa6d-a1568989e9ad", + "time": 4.3, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "45", + "y": 0, + "z": 0 + } + ], + "uuid": "8ea62775-37e2-7297-3ca5-e39d220806a1", + "time": 5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "55298b68-6189-2e4a-7d05-64d34781075e": { + "name": "LeftEarPivot", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "8f61cff6-005f-2cf2-4b11-3b90b4f81bdf", + "time": 1.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "20", + "y": 0, + "z": 0 + } + ], + "uuid": "29ff378b-eca9-4bac-f722-3b376bf57412", + "time": 1.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "fada13ac-3690-882f-55f2-5c62156bd4ea", + "time": 1.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "6705a532-0623-0a04-e359-fbc2757d28d1", + "time": 2.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "20", + "y": 0, + "z": 0 + } + ], + "uuid": "74227acf-ab69-09b9-607c-e565fca96c4b", + "time": 2.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 30, + "y": 0, + "z": 0 + } + ], + "uuid": "abf097b1-b1a3-4a2a-aa37-926a44b75c00", + "time": 2.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 30, + "y": 0, + "z": 0 + } + ], + "uuid": "05fcd3b7-c555-8cd1-2f15-5838efb3b95b", + "time": 4.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "a572d7a8-8003-23d0-af29-3ef33d09207a", + "time": 4.3, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "45", + "y": 0, + "z": 0 + } + ], + "uuid": "085520ec-296b-f412-fa11-fb544a4ffb68", + "time": 5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + }, + { + "uuid": "130d4870-d625-28de-dad6-b0ddb5c3fb65", + "name": "ex_skill_3", + "loop": "once", + "override": true, + "length": 10.65, + "snapping": 20, + "selected": true, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "markers": [ + { + "color": 0, + "time": 3.45 + }, + { + "color": 0, + "time": 4.85 + }, + { + "color": 0, + "time": 2.65 + }, + { + "color": 0, + "time": 8.75 + } + ], + "animators": { + "e98e96cf-993b-878e-02b8-777c368bb888": { + "name": "Avatar", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "0fc75ae8-91ef-985d-695c-8c446e1fe4ae", + "time": 2.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 2.5, + "y": 0, + "z": 0 + } + ], + "uuid": "3235a7e4-6ff7-f26e-1e6a-dc3e73cb8411", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 2.5, + "y": 0, + "z": 0 + } + ], + "uuid": "6b4b2daa-338e-44e6-f8b4-e9c993d1ae2b", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "2634e4bd-4486-8531-cb3b-b881335ed4b7", + "time": 5.35, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "2.5", + "y": 0, + "z": 0 + } + ], + "uuid": "5e3aaa80-5524-05d4-851d-632984e5f8e7", + "time": 6.15, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.4, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.4, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "456326cb-4583-6ad3-e45f-993972545b01", + "time": 6.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "803dd94b-57c7-af2b-2f94-6d4147abffc0", + "time": 7.15, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "10", + "y": -12.5, + "z": "2.5" + } + ], + "uuid": "c7c633b3-8b2a-688f-dad9-bde7a7f1b453", + "time": 7.4, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "5", + "y": "360", + "z": "0" + } + ], + "uuid": "c39e5695-e7d4-7f6d-f335-1acfa069b438", + "time": 8.45, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.59667, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.59667, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 62.89, + "z": 2.5 + } + ], + "uuid": "b7666b7f-9d40-630e-a702-6fcf5e63548c", + "time": 7.55, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0.99357, + -62.34816, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + -0.99357, + 62.34816, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 5, + "y": 360, + "z": 0 + } + ], + "uuid": "1cc5f644-2b9b-66f4-b3b1-f755a478da98", + "time": 8.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 360, + "z": 0 + } + ], + "uuid": "5d96ab42-cfe3-4c6e-0d74-6ae9b53a2741", + "time": 8.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "2ca95b94-96a1-07b5-376f-f310880d6418", + "time": 2.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "32", + "z": 0.5 + } + ], + "uuid": "fd70cdcc-9ad6-b146-6a97-b0d0a287bb81", + "time": 4.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "32", + "z": "0" + } + ], + "uuid": "965c6a62-b9b4-b7bf-6ad3-ccd50ff65f76", + "time": 5.35, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "32", + "z": "0.5" + } + ], + "uuid": "e4b2f754-7d02-1aa4-803a-6da82e120883", + "time": 6.15, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.50333 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.50333 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "32", + "z": "0" + } + ], + "uuid": "c35407ce-ed2c-e631-87de-c6c740f12214", + "time": 6.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "32", + "z": 0 + } + ], + "uuid": "4ee5064b-709a-22ec-53d0-5f9713efcebd", + "time": 7.15, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -0.5, + "y": "32", + "z": 2 + } + ], + "uuid": "7a572c2b-4a77-83a8-7d5e-67515c998b17", + "time": 7.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "32", + "z": 1 + } + ], + "uuid": "75dbd702-4e5c-904a-3820-c89af094f6a6", + "time": 8.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -5.03, + "y": "32", + "z": 0.76 + } + ], + "uuid": "3db19db9-3ed1-aed4-7cfc-a86d19d3edb6", + "time": 7.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -2.68, + "y": "32", + "z": -1.62 + } + ], + "uuid": "20013df4-1b98-39ca-be1a-3edce2d1392d", + "time": 7.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -2.54, + "y": "32", + "z": 2.3 + } + ], + "uuid": "4afee154-1610-da80-bb62-637fdd3ca8fb", + "time": 7.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -0.41, + "y": "32", + "z": 0.45 + } + ], + "uuid": "1eadf653-97f0-dfb9-5ab2-ba418bc0b09b", + "time": 8.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "32", + "z": 1 + } + ], + "uuid": "bf597e4a-cb42-5f1b-10df-70dd45401839", + "time": 8.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "32", + "z": "0" + } + ], + "uuid": "0636c459-6ab5-2d3e-0d5b-afa5f80779c4", + "time": 8.9, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "31", + "z": 0.38 + } + ], + "uuid": "037d111f-8af2-d70b-25b0-2cd5d32f328c", + "time": 8.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "33", + "z": 0 + } + ], + "uuid": "c594c3b9-9489-218f-6d69-0aca6c38d470", + "time": 10.25, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -1.10333, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 1.10333, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0.5 + } + ], + "uuid": "d88dbe27-4600-e90b-e7e9-ce2c445072ab", + "time": 3.45, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "32", + "z": "0.5" + } + ], + "uuid": "ab10cdae-444d-b1c9-ab56-470c47267f7f", + "time": 3.9, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.34666, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.34666, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "22d40862-bd19-a16d-9e33-79364e6656d8": { + "name": "Head", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 5, + "y": "0", + "z": "0" + } + ], + "uuid": "2e8b48ec-e59c-d0c6-3e91-f131a118651d", + "time": 2.75, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 20, + "y": "20", + "z": 0 + } + ], + "uuid": "3d8eaf84-91dd-cd19-8980-d6a0f8cd59c8", + "time": 3.2, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.3, + -0.3, + -0.1 + ], + "bezier_left_value": [ + 0.07664, + 0, + 0 + ], + "bezier_right_time": [ + 0.3, + 0.3, + 0.1 + ], + "bezier_right_value": [ + -0.07664, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 20, + "y": 20, + "z": 0 + } + ], + "uuid": "63c97097-3fcb-2c0d-3bc4-93bc110b3bcd", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "10", + "y": "0", + "z": 0 + } + ], + "uuid": "082e1e74-3354-62a4-ee5c-7ca139bb73d6", + "time": 4.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": 0, + "z": 0 + } + ], + "uuid": "3ebb8349-74c0-5383-31ef-69178df4d214", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "5", + "y": 0, + "z": 0 + } + ], + "uuid": "a269c2ca-0d50-ce05-facd-304a66162fda", + "time": 5.35, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "10", + "y": 0, + "z": 0 + } + ], + "uuid": "ef4805b0-a32d-d187-32d9-232ad37d282a", + "time": 6.15, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.4, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.4, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "609fcbe4-b936-e846-3cd4-447d0f3ed2ac", + "time": 6.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "004a2e9d-fc3a-e22d-7463-554cc58d51b5", + "time": 7.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "12.5", + "z": "-2.5" + } + ], + "uuid": "9872bc2e-8d4c-c16f-5de3-f6da951bac1d", + "time": 7.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 30, + "z": -2.5 + } + ], + "uuid": "597db2c6-92b2-df3b-d811-b3fe2e7a414e", + "time": 7.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -4.30963, + "y": 29.7174, + "z": -11.14388 + } + ], + "uuid": "f08c590c-f0ff-cbe6-d936-9a1aa83544a0", + "time": 7.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "5", + "y": "0", + "z": "0" + } + ], + "uuid": "96e9ed2e-dccf-c78b-7c38-67a7f73a30a3", + "time": 8.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -2.65, + "y": 29.83, + "z": -7.82 + } + ], + "uuid": "70b19498-c012-e53b-0cb9-ef14c6057714", + "time": 8.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 5, + "y": 0, + "z": 0 + } + ], + "uuid": "5f9e479d-d97f-e95f-753c-37dc7a406b0f", + "time": 8.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "20", + "y": 0, + "z": 0 + } + ], + "uuid": "570b9fc4-043e-a4b0-2663-c440972c1c23", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "20", + "y": 0, + "z": 0 + } + ], + "uuid": "44dc00bb-633a-78a7-8092-29ab8ce65220", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3c1cb66d-8a31-d31f-ec9f-65a33e313a53": { + "name": "RightArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -30, + "y": 0, + "z": 25 + } + ], + "uuid": "5ecf86b8-9809-c423-c499-652fdd072565", + "time": 2.75, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -40, + "y": -72.5, + "z": 0 + } + ], + "uuid": "d30d3284-967f-d284-fb8d-af4091223215", + "time": 3.15, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.3, + -0.3, + -0.30333 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.3, + 0.3, + 0.30333 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -40, + "y": -72.5, + "z": 0 + } + ], + "uuid": "68b36392-bfdd-c7eb-972d-a96dc5dc1172", + "time": 7.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -139.20629, + "y": 0.06831, + "z": 90.47615 + } + ], + "uuid": "c0d7a62c-2cc8-230c-434b-f209aeb0cb85", + "time": 7.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-75", + "y": 0, + "z": 90 + } + ], + "uuid": "fbd1cd8d-769a-9118-94cd-e38d5fc7c82a", + "time": 7.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -32.5, + "y": 0, + "z": 90 + } + ], + "uuid": "3156aada-0fb7-cd53-3fe9-55d749213498", + "time": 7.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -31.28, + "y": -9.3, + "z": 75.11 + } + ], + "uuid": "d4088edb-fd45-733b-1753-fc00e48dd8b9", + "time": 8.1, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.19667, + -0.2, + -0.19667 + ], + "bezier_left_value": [ + -2.5912, + 0, + 0 + ], + "bezier_right_time": [ + 0.19667, + 0.2, + 0.19667 + ], + "bezier_right_value": [ + 2.5912, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -45, + "y": "-20", + "z": "0" + } + ], + "uuid": "2a56a530-f7bc-7af9-07e0-61e274468331", + "time": 8.45, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -45, + "y": -20, + "z": 0 + } + ], + "uuid": "a54f2ba5-3894-7072-eae7-942ab6c894b5", + "time": 8.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-22.5", + "y": "0", + "z": "30" + } + ], + "uuid": "d46d107f-d992-f590-41b4-c1492d4d4b30", + "time": 8.9, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-22.5\n", + "y": 0, + "z": "65" + } + ], + "uuid": "cecdd160-e777-6445-d28d-432d09e092ee", + "time": 9.4, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.80333 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.80333 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -40, + "y": -72.5, + "z": 0 + } + ], + "uuid": "2aa35f0d-45c4-f424-7800-abbfadd038e2", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.3, + -0.3, + -0.30333 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.3, + 0.3, + 0.30333 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -40, + "y": -72.5, + "z": 0 + } + ], + "uuid": "2d9998bf-1c25-bec9-2d7b-8626e4c333a8", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.3, + -0.3, + -0.30333 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.3, + 0.3, + 0.30333 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "b924539e-1292-1a17-6240-a525ae346090": { + "name": "RightArmBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -20, + "y": "0", + "z": "10" + } + ], + "uuid": "696f9b0f-0024-4a4f-67f1-4ee4ae597e37", + "time": 2.75, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -69.98246, + "y": 2.34914, + "z": 0.85553 + } + ], + "uuid": "c66dfbaf-f5f9-d321-c03a-7db65cac9d1b", + "time": 3.15, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.30333, + -0.30333, + -0.3 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.30333, + 0.30333, + 0.3 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -69.98, + "y": 2.35, + "z": 0.86 + } + ], + "uuid": "33932df2-7948-2612-5111-96417bc76dea", + "time": 7.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0.02459, + 0.00856, + 0.0447 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + -0.02459, + -0.00856, + -0.0447 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -12.48, + "y": "0", + "z": "0" + } + ], + "uuid": "53f55454-efb5-7f54-56df-e327e1d017ea", + "time": 7.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "fb3b9e22-182b-b7dd-014d-b12af71c80cf", + "time": 7.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "0b4c205d-015c-fa7a-94d9-0fa611f3731c", + "time": 8.1, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.2, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.2, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -60, + "y": 0, + "z": 0 + } + ], + "uuid": "4ed8a1a9-1512-1cb0-b3d4-e4cad551a943", + "time": 8.45, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -60, + "y": 0, + "z": 0 + } + ], + "uuid": "2db88161-8929-b087-60b3-0f1bc7feade0", + "time": 8.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "fd9006ac-7b1e-9b01-9bcb-f1f88dd865fd", + "time": 8.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -69.98246, + "y": 2.34914, + "z": 0.85553 + } + ], + "uuid": "afa5d5a1-4020-4379-1414-86e7b258d336", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.30333, + -0.30333, + -0.3 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.30333, + 0.30333, + 0.3 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -69.98246, + "y": 2.34914, + "z": 0.85553 + } + ], + "uuid": "2da0208e-cde0-1f89-558e-dddcc66aaf5e", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.30333, + -0.30333, + -0.3 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.30333, + 0.30333, + 0.3 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e7d3e5d8-00e4-587c-7bb6-6787db00054b": { + "name": "LeftArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -30, + "y": 0, + "z": -25 + } + ], + "uuid": "1aa4c6ff-28a1-9182-03bb-58d86a9e1020", + "time": 2.75, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -57.5, + "y": 65, + "z": 0 + } + ], + "uuid": "1c251803-d116-e66d-cb1d-ffe160a8e57d", + "time": 3.25, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.29667, + -0.3, + -0.3 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.29667, + 0.3, + 0.3 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -57.5, + "y": 65, + "z": 0 + } + ], + "uuid": "0ecea9cc-2d2a-5631-9579-bc0a1c7268e7", + "time": 7.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -42.22625, + "y": -1.03519, + "z": -87.7486 + } + ], + "uuid": "3cfdcc77-e21f-86c5-47b5-89bff0c8445e", + "time": 7.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -42.08626, + "y": 3.9978, + "z": -82.19022 + } + ], + "uuid": "63dc4400-2d58-7bda-9562-f479f4ac1b46", + "time": 7.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "45", + "y": "0", + "z": -90 + } + ], + "uuid": "2bfd59f9-60a1-2f65-82ef-2b8eb30d81b3", + "time": 7.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 45, + "y": 0, + "z": -60 + } + ], + "uuid": "ca16f88b-6f1d-cb93-f2a9-c9f48096e157", + "time": 8.1, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.2, + -0.19667, + -0.2 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.2, + 0.19667, + 0.2 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-45", + "y": "20", + "z": "0" + } + ], + "uuid": "7d55a1f3-123f-b6a2-542e-3fb045e33a5a", + "time": 8.45, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -45, + "y": 20, + "z": 0 + } + ], + "uuid": "0139b083-457c-85ae-6fa8-49c1080eaa1f", + "time": 8.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -22.5, + "y": 0, + "z": -30 + } + ], + "uuid": "020934d6-c521-f570-9acf-bbae46bbed51", + "time": 8.9, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-22.5\n", + "y": 0, + "z": "-65" + } + ], + "uuid": "973d9fef-ba34-fbb9-8b7c-87cc4e64de67", + "time": 9.4, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.79667 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.79667 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -57.5, + "y": 65, + "z": 0 + } + ], + "uuid": "5bc04d42-5c32-01f5-e294-9751e934e2f2", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.29667, + -0.3, + -0.3 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.29667, + 0.3, + 0.3 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -57.5, + "y": 65, + "z": 0 + } + ], + "uuid": "9d898ae3-eb3b-3ee9-6dc3-f3d167fe8489", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.29667, + -0.3, + -0.3 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.29667, + 0.3, + 0.3 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ad1c45ef-c0a8-6d31-d2dc-fbdc6ab7ddcc": { + "name": "LeftArmBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -20, + "y": "0", + "z": "-10" + } + ], + "uuid": "657665da-2763-f11f-c6fe-0207c8653c05", + "time": 2.75, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -44.97272, + "y": -1.76749, + "z": -1.76833 + } + ], + "uuid": "e56753a2-83e4-5a8d-1fc0-278ba6ecc70c", + "time": 3.25, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.30333, + -0.30333, + -0.30333 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.30333, + 0.30333, + 0.30333 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -44.97, + "y": -1.77, + "z": -1.77 + } + ], + "uuid": "0f734a36-5f38-0376-dc3c-6b0c36d3335a", + "time": 7.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0.02721, + -0.02514, + -0.01672 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + -0.02721, + 0.02514, + 0.01672 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-75", + "y": "0", + "z": "0" + } + ], + "uuid": "e39f08d2-536d-80d9-8986-5ae428d63a90", + "time": 7.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "8de66eae-50c5-95e1-0a34-8aa261d454b4", + "time": 7.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "3fd36ead-0b62-9139-3acb-01b3287622ba", + "time": 8.1, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.19667, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.19667, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-60", + "y": 0, + "z": 0 + } + ], + "uuid": "6f9327c4-fdcc-1c6e-5c6a-053ebeeca3f0", + "time": 8.45, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -60, + "y": 0, + "z": 0 + } + ], + "uuid": "fd3914fd-ef72-c6c4-d6ea-fe1d59762dbd", + "time": 8.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "064bf8ce-810e-85c9-db97-9fb39c43cf83", + "time": 8.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -44.97272, + "y": -1.76749, + "z": -1.76833 + } + ], + "uuid": "b76c841f-dd73-4c15-99e5-f2e620e4c0cd", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.30333, + -0.30333, + -0.30333 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.30333, + 0.30333, + 0.30333 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -44.97272, + "y": -1.76749, + "z": -1.76833 + } + ], + "uuid": "dfd1f5b1-b018-61a5-2cd2-1e3dd697c3f9", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.30333, + -0.30333, + -0.30333 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.30333, + 0.30333, + 0.30333 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "29730186-2622-086d-ab67-4bb8e356bb6c": { + "name": "Legs", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "76b9903d-aca7-d7b7-3862-2538f432712d", + "time": 2.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-2.5", + "y": 0, + "z": 0 + } + ], + "uuid": "119ed0a7-84ba-fc2b-7e7f-ec98ac462766", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -2.5, + "y": 0, + "z": 0 + } + ], + "uuid": "bdf4a60c-d561-7dea-2bdf-cafeabea2c96", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "a0fd2234-e671-8f73-1640-312233cadd19", + "time": 5.35, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-2.5", + "y": 0, + "z": 0 + } + ], + "uuid": "fa067e48-31e9-9345-dab8-e5783894ce4b", + "time": 6.15, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.39667, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.39667, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "464cd3e2-785b-14ff-5079-4151e6a27b80", + "time": 6.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-10", + "y": "12.5", + "z": "-2.5" + } + ], + "uuid": "84caa967-5297-88b4-e3d8-1b3d10b9ca30", + "time": 7.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "0aa355f7-aa05-9786-b353-d885b0e64f3b", + "time": 7.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 40, + "z": -2.5 + } + ], + "uuid": "405c0203-0c9a-d6cb-e0f3-0d3c81da821c", + "time": 7.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-5", + "y": "0", + "z": "0" + } + ], + "uuid": "0220e173-3835-565a-14ed-8b320dd12d85", + "time": 8.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 24.13, + "z": -2.68 + } + ], + "uuid": "8bdce85d-9896-e7e3-c88b-b9631679bee6", + "time": 7.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -5, + "y": 0, + "z": 0 + } + ], + "uuid": "9b79816e-3ed6-961d-beb4-0bddccc1ede8", + "time": 8.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "bc39a60c-50f2-8ef8-9377-f942bc945ede", + "time": 8.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "4e80b5b4-7c04-8374-f8a7-526b3d36d050": { + "name": "RightLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 2.5 + } + ], + "uuid": "cd9a87b8-fe55-3282-f601-b2df49f8ee9c", + "time": 2.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 2.5 + } + ], + "uuid": "a62bea49-f61a-69a3-74a0-b897c09903d9", + "time": 8.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -7.5, + "y": 0, + "z": 2.5 + } + ], + "uuid": "37746c1d-99fa-2a77-431c-07eff474d4b5", + "time": 8.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 2.5 + } + ], + "uuid": "fbcb148f-ad4e-b81f-fecf-8c01df49c234", + "time": 8.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "84fe0b3a-286b-e17f-288e-c39feaa2e5e6": { + "name": "RightLegBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "cc1faa73-9691-7854-b076-5c5b53a6f0dd", + "time": 8.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 20, + "y": 0, + "z": 0 + } + ], + "uuid": "6bd7df19-3deb-3e0a-230c-363d90f91cff", + "time": 8.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "ec6b84c8-326d-dfcf-442a-58b551bc9d2d", + "time": 8.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "73b3d6bc-af0b-a066-5d73-f3938109e11f": { + "name": "LeftLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": -2.5 + } + ], + "uuid": "5ef899ad-b88b-bb37-9735-81855799d811", + "time": 2.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -2.5 + } + ], + "uuid": "be22ad91-d17d-3464-2ab9-3bfabc0fdcd8", + "time": 7.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -12.5, + "y": 0, + "z": -10 + } + ], + "uuid": "1bece439-7765-106c-e131-69fa1646930a", + "time": 7.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 61.15088, + "y": 11.72145, + "z": -23.0867 + } + ], + "uuid": "61bc41c9-ac4d-5a36-b728-777af44b5387", + "time": 7.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 61.15, + "y": 11.72, + "z": -23.09 + } + ], + "uuid": "c5897702-4c97-984e-9362-1b2e04e5da13", + "time": 8.1, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "10", + "y": "0", + "z": "-5" + } + ], + "uuid": "6dba7122-a1e5-cfcf-5a89-97b59cfb9f1c", + "time": 8.45, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.20333, + -0.19667, + -0.2 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.20333, + 0.19667, + 0.2 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": 0, + "z": -5 + } + ], + "uuid": "0f04dcd9-e17f-47dc-4364-bb8638a61314", + "time": 8.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": -5 + } + ], + "uuid": "14a28342-fcff-77ce-1b4b-2900dd0650ed", + "time": 8.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ee9973d4-ff4e-c96b-64f6-d1f28afd69c6": { + "name": "LeftLegBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "3b38eef8-ac61-80be-8d78-20b126ed1981", + "time": 7.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 17.5, + "y": 0, + "z": 0 + } + ], + "uuid": "736f6549-b896-d4f6-425e-4e54357fd9cc", + "time": 7.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 32.5, + "y": 0, + "z": 0 + } + ], + "uuid": "4cd75223-4f97-bc9b-eceb-40fc87d84eea", + "time": 7.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 32.5, + "y": 0, + "z": 0 + } + ], + "uuid": "0a0914cc-4457-dfce-6050-87869507728c", + "time": 8.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": 0, + "z": 0 + } + ], + "uuid": "2cd5b928-788c-a08b-0c5e-179d0177a0f3", + "time": 8.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": 0, + "z": 0 + } + ], + "uuid": "001f6a74-55d4-22c1-8369-ae7e2ad28efc", + "time": 8.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "8a85ed92-9725-ddbb-d24b-9c321172faff", + "time": 8.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 13.76, + "y": 0, + "z": 0 + } + ], + "uuid": "42487a66-f259-3eaa-e684-bcc50338e5ad", + "time": 8.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "d9d3d58a-ac0b-fce1-f92f-b3f9f8f19f62": { + "name": "RightEarPivot", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "25bb57b2-3deb-01b5-72f1-ea52ab42445d", + "time": 2.75, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 40, + "y": 0, + "z": "-10" + } + ], + "uuid": "aed04625-43b8-0252-de4f-d9a9334f766e", + "time": 3.2, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.30667, + -0.1, + -0.3 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.30667, + 0.1, + 0.3 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": "0" + } + ], + "uuid": "2d6ecf85-be93-a59a-9063-aa8b76f63b52", + "time": 3.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "55298b68-6189-2e4a-7d05-64d34781075e": { + "name": "LeftEarPivot", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "38bd5a31-9243-55f3-e33d-4b1bc5338dd3", + "time": 2.75, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 40, + "y": 0, + "z": "10" + } + ], + "uuid": "6f6632a1-f8a5-7f67-1317-9713c7954d33", + "time": 3.2, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.30667, + -0.1, + -0.3 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.30667, + 0.1, + 0.3 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 40, + "y": 0, + "z": 10 + } + ], + "uuid": "1f7410de-349c-7ce5-18f5-56ca4865ea08", + "time": 6.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": "0" + } + ], + "uuid": "11a23d4b-65ed-a854-a572-55bf6b86d0cb", + "time": 6.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "4ad021e9-2857-4e55-337b-f61da0762800": { + "name": "CameraAnchor", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "180", + "z": "0" + } + ], + "uuid": "cf09ce67-6995-c20a-0e6f-ad165630485f", + "time": 2.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "10", + "y": "165", + "z": 0 + } + ], + "uuid": "f61bf39d-2af4-61e2-8079-5ad4db52f4fd", + "time": 3.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "90", + "z": 0 + } + ], + "uuid": "3a79e32e-430a-25e8-4d8d-6eab00f5c9cf", + "time": 3.65, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "15", + "y": "25", + "z": 0 + } + ], + "uuid": "2a18f55b-bac8-0acd-3836-9e2b8b9ed0b7", + "time": 4.8, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.90163, + -0.90163, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.90163, + 0.90163, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "180", + "z": 0 + } + ], + "uuid": "fb80c67e-0cc4-dfbe-0076-dbfe89af1288", + "time": 4.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 180, + "z": 0 + } + ], + "uuid": "923e3d9a-2a20-a4f3-e207-f1b2e2575600", + "time": 7.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "5", + "y": "185", + "z": 0 + } + ], + "uuid": "dc507f94-3ed2-4030-ffa2-b48902d32061", + "time": 7.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-15", + "y": "200", + "z": 0 + } + ], + "uuid": "edb85ce0-a971-380e-f519-af1d583d1933", + "time": 8.45, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-20", + "y": 200, + "z": "10" + } + ], + "uuid": "287cd87b-cb16-ce0a-f1d6-fa08bdda00e3", + "time": 8.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": 25, + "z": -22 + } + ], + "uuid": "ca423e83-ced0-a8f3-c9ee-809232ddca9a", + "time": 2.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 3, + "y": 27, + "z": -17 + } + ], + "uuid": "0392a00c-69fa-dc6a-78be-ccb55f9bb072", + "time": 3.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 14, + "y": 41.9, + "z": -1 + } + ], + "uuid": "608db57b-5299-3bea-3a44-7405484c0643", + "time": 3.65, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 7.71, + "y": "27", + "z": -10.14 + } + ], + "uuid": "8d7c7e94-73fb-4fde-7e94-0a06a0845ac4", + "time": 3.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 22, + "y": 69.3, + "z": 28 + } + ], + "uuid": "c237f6bb-3481-ba27-e6f6-6fd78ad71f72", + "time": 4.8, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.90163, + -0.898, + -0.898 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.90163, + 0.898, + 0.898 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": 55, + "z": -14 + } + ], + "uuid": "c4250b90-1906-8ca6-0ec4-fb5ccd856f22", + "time": 4.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 59, + "z": -14 + } + ], + "uuid": "3a540419-c460-3b16-6663-0401c3b359cd", + "time": 7.15, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -3, + "y": 59, + "z": -14 + } + ], + "uuid": "4446993e-d1ee-545a-4a06-97f6e6da7e69", + "time": 7.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -1, + "y": 59, + "z": -14 + } + ], + "uuid": "d2e4f0aa-8bcd-55fd-ba36-8ed414357af0", + "time": 7.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -4, + "y": 57, + "z": -13 + } + ], + "uuid": "8a1c3fef-5738-bed4-a695-275a48fcccf7", + "time": 8.45, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -6, + "y": 50.4, + "z": -18 + } + ], + "uuid": "661eefcf-7dcb-247d-2dc8-c09bf249bca0", + "time": 8.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Mari/scripts/avatar.lua b/config/yosbr/config/figura/avatars/Mari/scripts/avatar.lua new file mode 100644 index 0000000..b002a90 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/scripts/avatar.lua @@ -0,0 +1,208 @@ +---@class Avatar アバターのメインクラス +---@field public avatarEvents AvatarEvents +---@field public modelUtils ModelUtils +---@field public playerUtils PlayerUtils +---@field public compatibilityUtils CompatibilityUtils +---@field public characterData BlueArchiveCharacter +---@field public headRing HeadRing +---@field public headBlock HeadBlock +---@field public locale Locale +---@field public config Config +---@field public cameraManager CameraManager +---@field public keyManager KeyManager +---@field public vanillaModel VanillaModel +---@field public arms Arms +---@field public skirt Skirt +---@field public armor Armor +---@field public faceParts FaceParts +---@field public portrait Portrait +---@field public physics Physics +---@field public gun Gun +---@field public nameplate Nameplate +---@field public exSkill ExSkill +---@field public frameParticleManager ExSkillFrameParticleManager +---@field public placementObjectManager PlacementObjectManager +---@field public costume Costume +---@field public actionWheel ActionWheel +---@field public actionWheelGui ActionWheelGui +---@field public bubble Bubble +---@field public barrier Barrier +---@field public deathAnimation DeathAnimation +---@field public hypixelZombies HypixelZombies +---@field public updateChecker UpdateChecker +---@field public instantiate fun(class: table, super: table, ...: any) クラスをインスタンス化する + +Avatar = { + ---コンストラクタ + ---@return Avatar + new = function () + ---@type Avatar + local instance = Avatar.instantiate(Avatar) + + --ENTITY_INIT前に読み込み + require("scripts.avatar_modules.avatar_module") + + --ユーティリティクラスの読み込み + require("scripts.avatar_modules.events.abstract_event") + require("scripts.avatar_modules.events.script_init_event") + require("scripts.avatar_modules.events.avatar_events") + instance.avatarEvents = AvatarEvents.new(instance) + instance.avatarEvents:init() + + require("scripts.avatar_modules.utils.model_utils") + instance.modelUtils = ModelUtils.new(instance) + instance.modelUtils:init() + + --アバターモジュールの読み込み + require("scripts.blue_archive_character") + instance.characterData = BlueArchiveCharacter.new(instance) + instance.characterData:init() + + require("scripts.avatar_modules.head_ring") + instance.headRing = HeadRing.new(instance) + instance.headRing:init() + + require("scripts.avatar_modules.head_model_generator") + require("scripts.avatar_modules.head_block") + instance.headBlock = HeadBlock.new(instance) + instance.headBlock:init() + + --生徒固有クラスの読み込み + + events.ENTITY_INIT:register(function () + --ユーティリティクラスの読み込み + require("scripts.avatar_modules.utils.player_utils") + instance.playerUtils = PlayerUtils.new(instance) + instance.playerUtils:init() + + require("scripts.avatar_modules.utils.compatibility_utils") + instance.compatibilityUtils = CompatibilityUtils.new(instance) + instance.compatibilityUtils:init() + + require("scripts.avatar_modules.utils.spawn_object_manager") + require("scripts.avatar_modules.utils.spawn_object") + + --アバターモジュールの読み込み + require("scripts.avatar_modules.locale") + instance.locale = Locale.new(instance) + instance.locale:init() + + require("scripts.avatar_modules.config") + instance.config = Config.new(instance) + instance.config:init() + + require("scripts.avatar_modules.camera_manager") + instance.cameraManager = CameraManager.new(instance) + instance.cameraManager:init() + + require("scripts.avatar_modules.key_manager") + instance.keyManager = KeyManager.new(instance) + instance.keyManager:init() + + require("scripts.avatar_modules.vanilla_model") + instance.vanillaModel = VanillaModel.new(instance) + instance.vanillaModel:init() + + require("scripts.avatar_modules.arms") + instance.arms = Arms.new(instance) + instance.arms:init() + + require("scripts.avatar_modules.skirt") + instance.skirt = Skirt.new(instance) + instance.skirt:init() + + require("scripts.avatar_modules.armor") + instance.armor = Armor.new(instance) + instance.armor:init() + + require("scripts.avatar_modules.face_parts") + instance.faceParts = FaceParts.new(instance) + instance.faceParts:init() + + require("scripts.avatar_modules.portrait") + instance.portrait = Portrait.new(instance) + instance.portrait:init() + + require("scripts.avatar_modules.physics") + instance.physics = Physics.new(instance) + instance.physics:init() + + require("scripts.avatar_modules.gun") + instance.gun = Gun.new(instance) + instance.gun:init() + + require("scripts.avatar_modules.nameplate") + instance.nameplate = Nameplate.new(instance) + instance.nameplate:init() + + require("scripts.avatar_modules.ex_skill.ex_skill") + instance.exSkill = ExSkill.new(instance) + instance.exSkill:init() + + require("scripts.avatar_modules.ex_skill.ex_skill_frame_particle_manager") + require("scripts.avatar_modules.ex_skill.ex_skill_frame_particle") + instance.frameParticleManager = ExSkillFrameParticleManager.new(instance) + instance.frameParticleManager:init() + + require("scripts.avatar_modules.placement_object.placement_object_manager") + require("scripts.avatar_modules.placement_object.placement_object") + instance.placementObjectManager = PlacementObjectManager.new(instance) + instance.placementObjectManager:init() + + require("scripts.avatar_modules.costume") + instance.costume = Costume.new(instance) + instance.costume:init() + + require("scripts.avatar_modules.action_wheel.action_wheel") + instance.actionWheel = ActionWheel.new(instance) + instance.actionWheel:init() + + require("scripts.avatar_modules.action_wheel.action_wheel_gui") + instance.actionWheelGui = ActionWheelGui.new(instance) + instance.actionWheelGui:init() + + require("scripts.avatar_modules.bubble") + instance.bubble = Bubble.new(instance) + instance.bubble:init() + + require("scripts.avatar_modules.barrier") + instance.barrier = Barrier.new(instance) + instance.barrier:init() + + require("scripts.avatar_modules.death_animation") + instance.deathAnimation = DeathAnimation.new(instance) + instance.deathAnimation:init() + + require("scripts.avatar_modules.hypixel_zombies") + instance.hypixelZombies = HypixelZombies.new(instance) + instance.hypixelZombies:init() + + require("scripts.avatar_modules.action_wheel.update_checker") + instance.updateChecker = UpdateChecker.new(instance) + instance.updateChecker:init() + + --生徒固有クラスの読み込み + + --SCRIPT_INITイベントを実行 + instance.avatarEvents.SCRIPT_INIT:fire() + end) + + return instance + end; + + ---クラスをインスタンス化する。 + ---@generic S + ---@generic C + ---@param class `C` インスタンス化するクラス + ---@param super? `S` インスタンス化するクラスのスーパークラス + ---@param ... any クラスのインスタンス時に渡される引数 + ---@return C instance インスタンス化されたクラスのオブジェクト + instantiate = function (class, super, ...) + local instance = super and super.new(...) or {} + setmetatable(instance, {__index = class}) + setmetatable(class, {__index = super}) + return instance + end; +} + +AvatarInstance = Avatar.new() \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/action_wheel/action_wheel.lua b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/action_wheel/action_wheel.lua new file mode 100644 index 0000000..e7e2c4e --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/action_wheel/action_wheel.lua @@ -0,0 +1,319 @@ +---@class (exact) ActionWheel : AvatarModule アクションホイールを管理するクラス +---@field package mainPage Page アクションホイールのメインページのインスタンスへの参照 +---@field package selectingCostume integer 現在選択中の衣装 +---@field package selectingName integer 現在選択中の表示名 +---@field package selectingShouldShowClubName boolean 現在選択中の「部活名を表示するかどうか」 +---@field package selectingExSkillParticleAmount integer 現在選択中のExスキルフレームのパーティクル量 +---@field public shouldReplaceVehicleModels boolean 乗り物のモデルを置き換えるかどうか +---@field package isActionWheelOpenedPrev boolean 前ティックにアクションホイールを開けていたかどうか +---@field package refreshCostumeChangeActionTitle fun(self: ActionWheel) 衣装変更アクションのタイトルを更新する +---@field package refreshNameChangeActionTitle fun(self: ActionWheel) 名前変更アクションのタイトルを更新する +---@field package refreshExSkillParticleActionTitle fun(self: ActionWheel) Exスキルアニメーションのパーティクル量調整アクションのタイトルを更新する +---@field package refreshUpdateActionStatus fun(self: ActionWheel) アップデート確認アクションの状態を更新する + +ActionWheel = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ActionWheel + new = function (parent) + ---@type ActionWheel + local instance = Avatar.instantiate(ActionWheel, AvatarModule, parent) + + instance.mainPage = action_wheel:newPage("main") + instance.selectingCostume = instance.parent.costume.currentCostume + instance.selectingName = instance.parent.nameplate.currentName + instance.selectingShouldShowClubName = instance.parent.nameplate.shouldShowClubName + instance.selectingExSkillParticleAmount = instance.parent.exSkill.frameParticleAmount + instance.shouldReplaceVehicleModels = instance.parent.config:loadConfig("PRIVATE", "replaceVehicleModels", true) + instance.isActionWheelOpenedPrev = false + + return instance + end; + + ---初期化関数 + ---@param self ActionWheel + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + events.TICK:register(function() + local isActionWheelOpened = action_wheel:isEnabled() + if isActionWheelOpened then + local mainAction3 = self.mainPage:getAction(3) + mainAction3:setTitle(self.parent.locale:getLocale("action_wheel.main.action_3.title").."§c"..self.parent.locale:getLocale("action_wheel.toggle_off")) + mainAction3:setToggleTitle(self.parent.locale:getLocale("action_wheel.main.action_3.title").."§a"..self.parent.locale:getLocale("action_wheel.toggle_on")) + local mainAction4 = self.mainPage:getAction(4) + mainAction4:setTitle(self.parent.locale:getLocale("action_wheel.main.action_4.title").."§c"..self.parent.locale:getLocale("action_wheel.toggle_off")) + mainAction4:setToggleTitle(self.parent.locale:getLocale("action_wheel.main.action_4.title").."§a"..self.parent.locale:getLocale("action_wheel.toggle_on")) + local mainAction6 = self.mainPage:getAction(6) + if self.parent.characterData.actionWheel.isVehicleOptionEnabled then + mainAction6:setTitle(self.parent.locale:getLocale("action_wheel.main.action_6.title").."§c"..self.parent.locale:getLocale("action_wheel.toggle_off")) + else + mainAction6:setTitle("§7"..self.parent.locale:getLocale("action_wheel.main.action_6.title")..self.parent.locale:getLocale("action_wheel.toggle_off")) + end + mainAction6:setToggleTitle(self.parent.locale:getLocale("action_wheel.main.action_6.title").."§a"..self.parent.locale:getLocale("action_wheel.toggle_on")) + self:refreshCostumeChangeActionTitle() + self:refreshNameChangeActionTitle() + self:refreshExSkillParticleActionTitle() + self:refreshUpdateActionStatus() + elseif not isActionWheelOpened and self.isActionWheelOpenedPrev then + if self.selectingCostume ~= self.parent.costume.currentCostume then + pings.actionWheelChangeCostume(self.selectingCostume) + self.parent.config:saveConfig("PRIVATE", "costume", self.selectingCostume) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.armor.equip_leather"), player:getPos()) + print(self.parent.locale:getLocale("action_wheel.main.action_1.done_first")..self.parent.costume:getCostumeLocalName(self.selectingCostume)..self.parent.locale:getLocale("action_wheel.main.action_1.done_last")) + end + if self.selectingName ~= self.parent.nameplate.currentName or self.selectingShouldShowClubName ~= self.parent.nameplate.shouldShowClubName then + pings.actionWheelChangeName(self.selectingName, self.selectingShouldShowClubName) + self.parent.config:saveConfig("PRIVATE", "name", self.selectingName) + self.parent.config:saveConfig("PRIVATE", "showClubName", self.selectingShouldShowClubName) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:ui.cartography_table.take_result"), player:getPos()) + print(self.parent.locale:getLocale("action_wheel.main.action_2.done_first")..self.parent.nameplate:getName(self.selectingName)..self.parent.locale:getLocale("action_wheel.main.action_2.done_last")) + end + if self.selectingExSkillParticleAmount ~= self.parent.exSkill.frameParticleAmount then + self.parent.exSkill.frameParticleAmount = self.selectingExSkillParticleAmount + self.parent.config:saveConfig("PRIVATE", "exSkillFrameParticleAmount", self.selectingExSkillParticleAmount) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.item.pickup"), player:getPos(), 1, 0.5) + print(self.parent.locale:getLocale("action_wheel.main.action_5.done_first")..self.parent.locale:getLocale("action_wheel.main.action_5.option_"..self.selectingExSkillParticleAmount)..self.parent.locale:getLocale("action_wheel.main.action_5.done_last")) + end + end + self.isActionWheelOpenedPrev = isActionWheelOpened + end) + + --アクションの設定 + + --アクション1. 衣装を変更 + self.mainPage:newAction(1):setItem(self.parent.compatibilityUtils:checkItem("minecraft:leather_chestplate")):setOnScroll(function(direction) + if #self.parent.costume.costumeList >= 2 then + if direction < 0 then + self.selectingCostume = self.selectingCostume == #self.parent.costume.costumeList and 1 or self.selectingCostume + 1 + else + self.selectingCostume = self.selectingCostume == 1 and #self.parent.costume.costumeList or self.selectingCostume - 1 + end + self:refreshCostumeChangeActionTitle() + else + print(self.parent.locale:getLocale("action_wheel.main.action_1.unavailable")) + end + end):setOnLeftClick(function() + if #self.parent.costume.costumeList >= 2 then + self.selectingCostume = self.parent.costume.currentCostume + self:refreshCostumeChangeActionTitle() + end + end):setOnRightClick(function() + if #self.parent.costume.costumeList >= 2 then + self.selectingCostume = 1 + self:refreshCostumeChangeActionTitle() + end + end) + + if #self.parent.costume.costumeList >= 2 then + local action = self.mainPage:getAction(1) + action:setColor(0.78, 0.78, 0.78) + action:setHoverColor(1, 1, 1) + else + local action = self.mainPage:getAction(1) + action:setColor(0.16, 0.16, 0.16) + action:setHoverColor(1, 0.33, 0.33) + end + + --アクション2. 表示名の変更 + self.mainPage:newAction(2):setItem(self.parent.compatibilityUtils:checkItem("minecraft:name_tag")):setColor(0.78, 0.78, 0.78):setHoverColor(1, 1, 1):setOnScroll(function(direction) + if direction < 0 then + self.selectingName = self.selectingName == 6 and 1 or self.selectingName + 1 + else + self.selectingName = self.selectingName == 1 and 6 or self.selectingName - 1 + end + self:refreshNameChangeActionTitle() + end):setOnLeftClick(function() + self.selectingShouldShowClubName = not self.selectingShouldShowClubName + self:refreshNameChangeActionTitle() + end):setOnRightClick(function() + self.selectingName = 1 + self.selectingShouldShowClubName = false + self:refreshNameChangeActionTitle() + end) + + --アクション3. 防具の表示 + self.mainPage:newAction(3):setItem(self.parent.compatibilityUtils:checkItem("minecraft:iron_chestplate")):setColor(0.67, 0, 0):setHoverColor(1, 0.33, 0.33):setToggleColor(0, 0.67, 0):setOnToggle(function (_, action) + pings.actionWheelSetArmorVisible(true) + action:setHoverColor(0.33, 1, 0.33) + self.parent.config:saveConfig("PRIVATE", "showArmor", true) + end):setOnUntoggle(function(_, action) + pings.actionWheelSetArmorVisible(false) + action:setHoverColor(1, 0.33, 0.33) + self.parent.config:saveConfig("PRIVATE", "showArmor", false) + end) + if self.parent.config:loadConfig("PRIVATE", "showArmor", false) then + local action = self.mainPage:getAction(3) + action:setToggled(true) + action:setHoverColor(0.33, 1, 0.33) + end + + --アクション4. 一人称視点での武器モデルの表示 + self.mainPage:newAction(4):setItem(self.parent.compatibilityUtils:checkItem("minecraft:bow")):setColor(0.67, 0, 0):setHoverColor(1, 0.33, 0.33):setToggleColor(0, 0.67, 0):setOnToggle(function (_, action) + self.parent.gun.shouldShowWeaponInFirstPerson = true + action:setHoverColor(0.33, 1, 0.33) + self.parent.config:saveConfig("PRIVATE", "firstPersonWeapon", true) + end):setOnUntoggle(function (_, action) + self.parent.gun.shouldShowWeaponInFirstPerson = false + action:setHoverColor(1, 0.33, 0.33) + self.parent.config:saveConfig("PRIVATE", "firstPersonWeapon", false) + end) + if self.parent.config:loadConfig("PRIVATE", "firstPersonWeapon", true) then + local action = self.mainPage:getAction(4) + action:setToggled(true) + action:setHoverColor(0.33, 1, 0.33) + end + + --アクション5. Exスキルフレームのパーティクルの量 + self.mainPage:newAction(5):setItem(self.parent.compatibilityUtils:checkItem("minecraft:glowstone_dust")):setColor(0.78, 0.78, 0.78):setHoverColor(1, 1, 1):setOnScroll(function (direction) + if direction < 0 then + self.selectingExSkillParticleAmount = self.selectingExSkillParticleAmount == 4 and 1 or self.selectingExSkillParticleAmount + 1 + else + self.selectingExSkillParticleAmount = self.selectingExSkillParticleAmount == 1 and 4 or self.selectingExSkillParticleAmount - 1 + end + self:refreshExSkillParticleActionTitle() + end):setOnLeftClick(function () + self.selectingExSkillParticleAmount = self.parent.exSkill.frameParticleAmount + self:refreshExSkillParticleActionTitle() + end):setOnRightClick(function () + self.selectingExSkillParticleAmount = 1 + self:refreshExSkillParticleActionTitle() + end) + + --アクション6. 乗り物モデルの置き換え + self.mainPage:newAction(6):setItem(self.parent.compatibilityUtils:checkItem("minecraft:oak_boat")):setColor(0.67, 0, 0):setHoverColor(1, 0.33, 0.33):setToggleColor(0, 0.67, 0):setOnToggle(function (_, action) + if self.parent.characterData.actionWheel.isVehicleOptionEnabled then + pings.actionWheelSetShouldReplaceVehicleModels(true) + action:setHoverColor(0.33, 1, 0.33) + self.parent.config:saveConfig("PRIVATE", "replaceVehicleModels", true) + else + print(self.parent.locale:getLocale("action_wheel.main.action_6.unavailable")) + action:setToggled(false) + end + end):setOnUntoggle(function (_, action) + pings.actionWheelSetShouldReplaceVehicleModels(false) + action:setHoverColor(1, 0.33, 0.33) + self.parent.config:saveConfig("PRIVATE", "replaceVehicleModels", false) + end) + if not self.parent.characterData.actionWheel.isVehicleOptionEnabled then + local action = self.mainPage:getAction(6) + action:setColor(0.16, 0.16, 0.16) + action:setHoverColor(1, 0.33, 0.33) + self.shouldReplaceVehicleModels = false + elseif self.shouldReplaceVehicleModels then + local action = self.mainPage:getAction(6) + action:setToggled(true) + action:setHoverColor(0.33, 1, 0.33) + end + + --アクション7. アップデートの確認 + self.mainPage:newAction(7):setItem("minecraft:compass"):setOnLeftClick(function () + if not self.parent.updateChecker.checkerStatus ~= "CHECKING" then + self.parent.updateChecker:checkUpdate() + else + print("action_wheel.main.action_7.ongoing") + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + end + if not net:isNetworkingAllowed() or not net:isLinkAllowed("https://api.github.com") then + print(self.parent.locale:getLocale("action_wheel.main.action_7.networking_api")) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + end + end):onRightClick(function () + if self.parent.updateChecker.latestVersion ~= nil then + host:setClipboard("https://github.com/Gakuto1112/FiguraBlueArchiveCharacters/releases/tag/"..self.parent.updateChecker.latestVersion) + print(self.parent.locale:getLocale("action_wheel.main.action_7.copied")) + else + print(self.parent.locale:getLocale("action_wheel.main.action_7.cannot_check_latest")) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + end + end) + + --アクション8. (空欄) + self.mainPage:newAction(8):setColor(0.16, 0.16, 0.16):setHoverColor(0.16, 0.16, 0.16) + + action_wheel:setPage(self.mainPage) + end + end; + + ---衣装変更アクションのタイトルを更新する。 + ---@param self ActionWheel + refreshCostumeChangeActionTitle = function (self) + if #self.parent.costume.costumeList >= 2 then + self.mainPage:getAction(1):setTitle(self.parent.locale:getLocale("action_wheel.main.action_1.title").."§b"..self.parent.costume:getCostumeLocalName(self.selectingCostume)) + else + self.mainPage:getAction(1):setTitle("§7"..self.parent.locale:getLocale("action_wheel.main.action_1.title")..self.parent.costume:getCostumeLocalName(self.selectingCostume)) + end + end; + + ---名前変更アクションのタイトルを更新する。 + ---@param self ActionWheel + refreshNameChangeActionTitle = function (self) + if self.selectingName >= 2 then + if self.selectingShouldShowClubName then + self.mainPage:getAction(2):setTitle(self.parent.locale:getLocale("action_wheel.main.action_2.title").."§b"..self.parent.nameplate:getName(self.selectingName).."\n§r"..self.parent.locale:getLocale("action_wheel.main.action_2.title_2").."§a"..self.parent.locale:getLocale("action_wheel.toggle_on")) + else + self.mainPage:getAction(2):setTitle(self.parent.locale:getLocale("action_wheel.main.action_2.title").."§b"..self.parent.nameplate:getName(self.selectingName).."\n§r"..self.parent.locale:getLocale("action_wheel.main.action_2.title_2").."§c"..self.parent.locale:getLocale("action_wheel.toggle_off")) + end + else + self.mainPage:getAction(2):setTitle(self.parent.locale:getLocale("action_wheel.main.action_2.title").."§b"..self.parent.nameplate:getName(self.selectingName).."\n§7"..self.parent.locale:getLocale("action_wheel.main.action_2.title_2")..self.parent.locale:getLocale("action_wheel.toggle_"..(self.selectingShouldShowClubName and "on" or "off"))) + end + end; + + ---Exスキルアニメーションのパーティクル量調整アクションのタイトルを更新する。 + ---@param self ActionWheel + refreshExSkillParticleActionTitle = function (self) + self.mainPage:getAction(5):title(self.parent.locale:getLocale("action_wheel.main.action_5.title").."§b"..self.parent.locale:getLocale("action_wheel.main.action_5.option_"..self.selectingExSkillParticleAmount)) + end; + + ---アップデート確認アクションの状態を更新する。 + ---@param self ActionWheel + refreshUpdateActionStatus = function (self) + local action = self.mainPage:getAction(7) + local actionTitle = "" + if self.parent.updateChecker.checkerStatus == "CHECKING" then + actionTitle = actionTitle.."§7"..self.parent.locale:getLocale("action_wheel.main.action_7.title_1")..self.parent.locale:getLocale("action_wheel.main.action_7.title_2").."\n" + action:setColor(0.16, 0.16, 0.16) + action:setHoverColor(1, 0.33, 0.33) + else + actionTitle = actionTitle..self.parent.locale:getLocale("action_wheel.main.action_7.title_1").."§b"..self.parent.locale:getLocale("action_wheel.main.action_7.title_2").."\n" + action:setColor(0.78, 0.78, 0.78) + action:setHoverColor(1, 1, 1) + end + if self.parent.updateChecker.latestVersion == nil then + actionTitle = actionTitle.."§7"..self.parent.locale:getLocale("action_wheel.main.action_7.title_3")..self.parent.locale:getLocale("action_wheel.main.action_7.title_4") + else + actionTitle = actionTitle.."§r"..self.parent.locale:getLocale("action_wheel.main.action_7.title_3").."§b"..self.parent.locale:getLocale("action_wheel.main.action_7.title_4") + end + action:setTitle(actionTitle) + end; +} + +---アクションホイールから衣装を変更するトリガー関数 +---@param costumeId integer 新しい衣装のインデックス番号 +function pings.actionWheelChangeCostume(costumeId) + if costumeId >= 2 then + AvatarInstance.costume:setCostume(costumeId) + else + AvatarInstance.costume:resetCostume() + end +end + +---アクションホイールから名前を変更するトリガー関数 +---@param typeId integer 新しい名前の表示形式のインデックス番号 +---@param shouldShowClubName boolean 部活名を表示するかどうか +function pings.actionWheelChangeName(typeId, shouldShowClubName) + AvatarInstance.nameplate:setName(typeId, shouldShowClubName) +end + +---アクションホイールから防具の可視性を変更するトリガー関数 +---@param visible boolean 防具を表示するかどうか +function pings.actionWheelSetArmorVisible(visible) + AvatarInstance.armor.shouldShowArmor = visible +end + +---アクションホイールから乗り物モデルの置き換えを変更するトリガー関数 +---@param enabled boolean 乗り物モデルの置き換えを有効化するかどうか +function pings.actionWheelSetShouldReplaceVehicleModels(enabled) + AvatarInstance.actionWheel.shouldReplaceVehicleModels = enabled +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/action_wheel/action_wheel_gui.lua b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/action_wheel/action_wheel_gui.lua new file mode 100644 index 0000000..18f89b7 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/action_wheel/action_wheel_gui.lua @@ -0,0 +1,113 @@ +---@class ActionWheelGui : AvatarModule アクションホイールに表示する追加のGUIを管理するクラス +---@field package isActionWheelOpenedPrev boolean 前ティックにアクションホイールを開けていたかどうか + +ActionWheelGui = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ActionWheelGui + new = function (parent) + ---@type ActionWheelGui + local instance = Avatar.instantiate(ActionWheelGui, AvatarModule, parent) + + instance.isActionWheelOpenedPrev = false + + return instance + end; + + ---初期化関数 + ---@param self ActionWheelGui + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + events.TICK:register(function () + local isActionWheelOpened = action_wheel:isEnabled() + if isActionWheelOpened and not self.isActionWheelOpenedPrev then + models.models.action_wheel_gui.Gui:setVisible(true) + + local windowSize = client:getScaledWindowSize() + models.models.action_wheel_gui.Gui.BubbleGuide:setPos(windowSize.x * -0.5 + 44, windowSize.y * -0.5 + 5, 0) + models.models.action_wheel_gui.Gui.ExSkillGuide:setPos(windowSize.x * -0.5 + 57, -21, 0) + models.models.action_wheel_gui.Gui.VersionDisplay:setPos(-0.75, -0.5, 0) + + local bubbleGuideTextTasks = {models.models.action_wheel_gui.Gui.BubbleGuide:getTask("action_wheel.gui.bubble_guide.title"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.GoodEmoji:getTask("bubble_guide.bubble_1.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.HeartEmoji:getTask("bubble_guide.bubble_2.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.NoteEmoji:getTask("bubble_guide.bubble_3.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.QuestionEmoji:getTask("bubble_guide.bubble_4.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.SweatEmoji:getTask("bubble_guide.bubble_5.key_name")} + bubbleGuideTextTasks[1]:setText(self.parent.locale:getLocale("action_wheel.gui.bubble_guide.title")) + for i = 2, #bubbleGuideTextTasks do + bubbleGuideTextTasks[i]:setText("§0"..self.parent.keyManager.keyMappings["bubble_"..(i - 1)]:getKeyName()) + end + + local bubbleGuideTitleWidth = client.getTextWidth(bubbleGuideTextTasks[1]:getText()) / 2 + 4 + local bubbleGuideBodyWidth = 0 + for i = 2, #bubbleGuideTextTasks do + bubbleGuideBodyWidth = math.max(bubbleGuideBodyWidth, client.getTextWidth(bubbleGuideTextTasks[i]:getText()) * 0.5) + end + local bubbleGuideWidth = math.max(bubbleGuideTitleWidth + 6, bubbleGuideBodyWidth + 22) + bubbleGuideWidth = math.max(bubbleGuideWidth, 39) + + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.TitleBar:setPos((bubbleGuideWidth - bubbleGuideTitleWidth) / 2, 0, 0) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.TitleBar:setScale(bubbleGuideTitleWidth, 1, 1) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.TitleCenter:setScale(bubbleGuideWidth - 25, 1, 1) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.TitleLeft:setPos(bubbleGuideWidth - 26, 0, 0) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.BodyTop:setScale(bubbleGuideWidth, 1, 1) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.BodyBottomCenter:setScale(bubbleGuideWidth - 39, 1, 1) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.BodyBottomLeft:setPos(bubbleGuideWidth - 40, 0, 0) + models.models.action_wheel_gui.Gui.BubbleGuide.Emojis:setPos((bubbleGuideWidth - (bubbleGuideBodyWidth + 22)) / 2 + bubbleGuideBodyWidth + 9, 0, 0) + bubbleGuideTextTasks[1]:setPos(bubbleGuideWidth / 2, 0, 0) + for i = 2, #bubbleGuideTextTasks do + bubbleGuideTextTasks[i]:setPos(bubbleGuideBodyWidth / -2 - 4, 1.5, 0) + end + + local exSkillGuideTextTasks = {models.models.action_wheel_gui.Gui.ExSkillGuide:getTask("action_wheel.gui.ex_skill_guide.title"), models.models.action_wheel_gui.Gui.ExSkillGuide:getTask("action_wheel.gui.ex_skill_guide.body_1"), models.models.action_wheel_gui.Gui.ExSkillGuide:getTask("action_wheel.gui.ex_skill_guide.body_2")} + exSkillGuideTextTasks[1]:setText(self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.title")) + exSkillGuideTextTasks[2]:setText(self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill == nil and "§0§l\""..self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.ex_skill_"..self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].exSkill..".name").."\"" or "§0§l\""..self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.ex_skill_"..self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].exSkill..".name").."\"§r§0 - \""..self.parent.keyManager.keyMappings.ex_skill:getKeyName().."\"") + exSkillGuideTextTasks[3]:setText(self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill == nil and "§0"..self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.key_pre")..self.parent.keyManager.keyMappings.ex_skill:getKeyName()..self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.key_post") or "§0§l\""..self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.ex_skill_"..self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill..".name").."\"§r§0 - \""..self.parent.keyManager.keyMappings.ex_skill_sub:getKeyName().."\"") + + local exSkillGuideTitleWidth = client.getTextWidth(exSkillGuideTextTasks[1]:getText()) / 2 + 4 + local exSkillGuideWidth = exSkillGuideTitleWidth + for i = 2, #exSkillGuideTextTasks do + exSkillGuideWidth = math.max(exSkillGuideWidth, client.getTextWidth(exSkillGuideTextTasks[i]:getText()) / 2 + 10) + end + exSkillGuideWidth = math.max(exSkillGuideWidth, 39) + + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.TitleBar:setPos((exSkillGuideWidth - exSkillGuideTitleWidth) / 2, 0, 0) + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.TitleBar:setScale(exSkillGuideTitleWidth, 1, 1) + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.TitleCenter:setScale(exSkillGuideWidth - 25, 1, 1) + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.TitleLeft:setPos(exSkillGuideWidth - 26, 0, 0) + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.BodyBottomCenter:setScale(exSkillGuideWidth - 39, 1, 1) + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.BodyBottomLeft:setPos(exSkillGuideWidth - 40, 0, 0) + exSkillGuideTextTasks[1]:setPos(exSkillGuideWidth / 2, 0, 0) + for i = 2, #exSkillGuideTextTasks do + exSkillGuideTextTasks[i]:setPos(exSkillGuideWidth / 2, (i - 2) * -5 - 8) + end + + local versionDisplayTextTasks = {} + for i = 1, 3 do + table.insert(versionDisplayTextTasks, models.models.action_wheel_gui.Gui.VersionDisplay:getTask("action_wheel.gui.version_display.l"..i)) + end + + for i = 2, 3 do + versionDisplayTextTasks[i]:setPos(0, (i - 1) * -2.25, 0) + end + + elseif not isActionWheelOpened and self.isActionWheelOpenedPrev then + models.models.action_wheel_gui.Gui:setVisible(false) + end + self.isActionWheelOpenedPrev = isActionWheelOpened + end) + + models.models.action_wheel_gui.Gui:setScale(2, 2, 2) + for _, textTask in ipairs({models.models.action_wheel_gui.Gui.BubbleGuide:newText("action_wheel.gui.bubble_guide.title"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.GoodEmoji:newText("bubble_guide.bubble_1.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.HeartEmoji:newText("bubble_guide.bubble_2.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.NoteEmoji:newText("bubble_guide.bubble_3.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.QuestionEmoji:newText("bubble_guide.bubble_4.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.SweatEmoji:newText("bubble_guide.bubble_5.key_name"), models.models.action_wheel_gui.Gui.ExSkillGuide:newText("action_wheel.gui.ex_skill_guide.title"), models.models.action_wheel_gui.Gui.ExSkillGuide:newText("action_wheel.gui.ex_skill_guide.body_1"), models.models.action_wheel_gui.Gui.ExSkillGuide:newText("action_wheel.gui.ex_skill_guide.body_2")}) do + textTask:setScale(0.5, 0.5, 0.5) + textTask:setAlignment("CENTER") + end + for i = 1, 3 do + local textTask = models.models.action_wheel_gui.Gui.VersionDisplay:newText("action_wheel.gui.version_display.l"..i) + textTask:setScale(0.25, 0.25, 0.25) + textTask:setShadow(true) + if i == 1 then + textTask:setText("Figura Blue Archive Characters (FBAC)") + end + end + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/action_wheel/update_checker.lua b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/action_wheel/update_checker.lua new file mode 100644 index 0000000..2a50d49 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/action_wheel/update_checker.lua @@ -0,0 +1,181 @@ +---@alias UpdateChecker.CheckerStatus +---| "INIT" # 初期状態 +---| "CHECKING" # アップデート確認中 +---| "LATEST" # アップデート確認済み:最新版 +---| "UPDATE_AVAILABLE" # アップデート確認済み:アップデートあり +---| "ERROR_INVALID_JSON" # エラー:予期しないJSONデータ +---| "ERROR_INVALID_JSON_SYNTAX" # エラー:不正なJSON構文 +---| "ERROR_REQUEST_FAILED" # リクエストに失敗 +---| "ERROR_NETWORK_ERR" # ネットワークエラー +---| "ERROR_NOT_ALLOWED" # ネットワーキングAPIが不許可 + +---@class (exact) UpdateChecker : AvatarModule FBACのアップデートの確認を管理するクラス +---@field package FBAC_VERSION string 現在のFBACバージョン +---@field package BRANCH_NAME string このブランチ名(キャラクター名) +---@field public latestVersion? string リモート上にある最新のFBACバージョン +---@field public checkerStatus UpdateChecker.CheckerStatus アップデートチェッカーの状態 +---@field package requestStatus integer 送信したリクエストのステータスコード +---@field package responseHandler Future.HttpResponse|nil httpレスポンスのハンドラ +---@field package textAnimationCount integer 新しいバージョン表示のテキストのアニメーションのカウンター +---@field package isActionWheelOpenedPrev boolean 前ティックにアクションホイールを開けていたかどうか +---@field package compareVersions fun(version1: string, version2: string): string|nil 2つのバージョン文字列を比較し、新しい方を返す +---@field package showNewUpdateMessage fun(self: UpdateChecker) 新FBACバージョンのお知らせを表示する +---@field public checkUpdate fun(self: UpdateChecker) FBACアップデートの確認を行う + +UpdateChecker = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return UpdateChecker + new = function (parent) + ---@type UpdateChecker + local instance = Avatar.instantiate(UpdateChecker, AvatarModule, parent) + + instance.FBAC_VERSION = "v2.1.2" + instance.BRANCH_NAME = "Mari" + instance.latestVersion = instance.parent.config:loadConfig("PUBLIC", "latestVersion", nil) + instance.checkerStatus = "INIT" + instance.requestStatus = 0 + instance.textAnimationCount = 0 + + return instance + end; + + ---初期化関数 + ---@param self UpdateChecker + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + models.models.action_wheel_gui.Gui.VersionDisplay:getTask("action_wheel.gui.version_display.l2"):setText(self.FBAC_VERSION.." - "..self.BRANCH_NAME) + + events.TICK:register(function () + local isActionWheelOpened = action_wheel:isEnabled() + if isActionWheelOpened then + local textTask = models.models.action_wheel_gui.Gui.VersionDisplay:getTask("action_wheel.gui.version_display.l3") + if self.checkerStatus == "UPDATE_AVAILABLE" then + if math.floor(self.textAnimationCount / 20) % 2 == 0 then + textTask:setText("§6§n"..self.parent.locale:getLocale("action_wheel.gui.update_check.update_available")..self.latestVersion) + else + textTask:setText("§n"..self.parent.locale:getLocale("action_wheel.gui.update_check.update_available")..self.latestVersion) + end + self.textAnimationCount = self.textAnimationCount + 1 + elseif self.checkerStatus == "ERROR_REQUEST_FAILED" then + textTask:setText(self.parent.locale:getLocale("action_wheel.gui.update_check.error_request_failed").."("..self.requestStatus..")") + else + textTask:setText(self.parent.locale:getLocale("action_wheel.gui.update_check."..self.checkerStatus:lower())) + end + elseif not isActionWheelOpened and self.isActionWheelOpenedPrev then + self.textAnimationCount = 0 + end + self.isActionWheelOpenedPrev = isActionWheelOpened + end) + + local lastUpdateCheckTime = self.parent.config:loadConfig("PUBLIC", "lastUpdateCheckTime", 0) + if client:getSystemTime() >= lastUpdateCheckTime + 86400000 then + self:checkUpdate() + else + local newerVersion = self.compareVersions(self.latestVersion, self.FBAC_VERSION) + if newerVersion ~= nil and newerVersion ~= self.FBAC_VERSION then + self:showNewUpdateMessage() + self.checkerStatus = "UPDATE_AVAILABLE" + else + self.checkerStatus = "LATEST" + end + end + end + end; + + ---2つのバージョン文字列を比較し、新しい方を返す。 + ---@param version1 string 比較するバージョン文字列1 + ---@param version2 string 比較するバージョン文字列2 + ---@return string|nil newerVersion 新しい方のバージョン文字列。比較不可能だった場合はnilを返す。 + compareVersions = function (version1, version2) + local major1, minor1, patch1 = version1:match("^v(%d+)%.(%d+)%.(%d+)") + local major2, minor2, patch2 = version2:match("^v(%d+)%.(%d+)%.(%d+)") + major1 = tonumber(major1) + minor1 = tonumber(minor1) + patch1 = tonumber(patch1) + major2 = tonumber(major2) + minor2 = tonumber(minor2) + patch2 = tonumber(patch2) + if major1 ~= nil and minor1 ~= nil and patch1 ~= nil and major2 ~= nil and minor2 ~= nil and patch2 ~= nil then + return (major1 > major2 or (major1 == major2 and minor1 > minor2) or (major1 == major2 and minor1 == minor2 and patch1 > patch2)) and version1 or version2 + end + end; + + ---新FBACバージョンのお知らせを表示する。 + ---@param self UpdateChecker + showNewUpdateMessage = function (self) + print(self.parent.locale:getLocale("action_wheel.gui.update_check.update_available")..self.latestVersion) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.experience_orb.pickup"), player:getPos(), 1, 1) + end; + + ---FBACアップデートの確認を行う。 + ---@param self UpdateChecker + checkUpdate = function (self) + if host:isHost() and self.checkerStatus ~= "CHECKING" then + self.checkerStatus = "CHECKING" + if net:isNetworkingAllowed() and net:isLinkAllowed("https://api.github.com") then + local request = net.http:request("https://api.github.com/repos/Gakuto1112/FiguraBlueArchiveCharacters/tags") + self.responseHandler = request:send() + events.TICK:register(function () + if self.responseHandler:isDone() then + local response = self.responseHandler:getValue() + if response ~= nil then + local stats = response:getResponseCode() + if math.floor(stats / 100) == 2 then + local stream = response:getData() + local buffer = data:createBuffer() + buffer:readFromStream(stream) + buffer:setPosition(0) + local jsonData = buffer:readByteArray() + if json.isSerializable(jsonData) then + local parseData = parseJson(jsonData) + if parseData[1] ~= nil and parseData[1].name ~= nil then + local newerVersion = self.compareVersions(parseData[1].name, self.FBAC_VERSION) + if newerVersion ~= nil then + if newerVersion ~= self.FBAC_VERSION then + --新しいバージョンがある + self.latestVersion = parseData[1].name + self.checkerStatus = "UPDATE_AVAILABLE" + self:showNewUpdateMessage() + else + --現在は最新 + self.latestVersion = parseData[1].name + self.checkerStatus = "LATEST" + end + self.parent.config:saveConfig("PUBLIC", "lastUpdateCheckTime", client:getSystemTime()) + self.parent.config:saveConfig("PUBLIC", "latestVersion", parseData[1].name) + else + --予期しないJSONデータ + self.checkerStatus = "ERROR_INVALID_JSON" + end + else + --予期しないJSONデータ + self.checkerStatus = "ERROR_INVALID_JSON" + end + else + --JSON解析エラー + self.checkerStatus = "ERROR_INVALID_JSON_SYNTAX" + end + stream:close() + buffer:close() + else + --ステータスコードが200番台以外 + self.checkerStatus = "ERROR_REQUEST_FAILED" + self.requestStatus = stats + end + else + --ネットワークエラー + self.checkerStatus = "ERROR_NETWORK_ERR" + end + events.TICK:remove("update_checker_http_tick") + end + end, "update_checker_http_tick") + else + ---ネットワーキングAPIが不許可 + self.checkerStatus = "ERROR_NOT_ALLOWED" + end + end + end; +} diff --git a/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/armor.lua b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/armor.lua new file mode 100644 index 0000000..7c22696 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/armor.lua @@ -0,0 +1,364 @@ +---防具の部位 +---@alias Armor.ArmorPart +---| "HELMET" # ヘルメット +---| "CHEST_PLATE" # チェストプレート +---| "LEGGINGS" # レギンス +---| "BOOTS" # ブーツ + +---@class (exact) Armor : AvatarModule 防具の表示を制御するクラス +---@field public shouldShowArmor boolean 防具を表示するかどうか +---@field public armorSlotItems ItemStack[] 現ティックの防具スロットのアイテム +---@field package armorSlotItemsPrev ItemStack[] 前ティックの防具スロットのアイテム +---@field public isArmorVisible Armor.VisiblePartsSet 各防具の部位(ヘルメット、チェストプレート、レギンス、ブーツ)が可視状態かどうか +---@field package textureQueue Armor.TextureQueueData[] テクスチャ処理のキュー +---@field package getArmorColor fun(armorItem: ItemStack): number 防具の色を取得する +---@field package compareTrims fun(trim1?: Armor.TrimData, trim2?: Armor.TrimData): boolean 防具装飾が同じものか比較する +---@field package addTextureQueue fun(self: Armor, texture: Texture, paletteName: string) テクスチャの処理のキューにデータを挿入する +---@field package getTrimTexture fun(self: Armor, trimData?: Armor.TrimData, armorId: string): Texture|nil バニラパーツの防具装飾のテクスチャを取得する。テクスチャの処理は次のチック以降行われる。 +---@field public setHelmet fun(self: Armor, helmetItem: ItemStack) ヘルメットを更新する +---@field public setChestplate fun(self: Armor, chestplateItem: ItemStack) チェストプレートを更新する +---@field public setLeggings fun(self: Armor, leggingsItem: ItemStack) レギンスを更新する +---@field public setBoots fun(self: Armor, bootsItem: ItemStack) ブーツを更新する + +---@class (exact) Armor.VisiblePartsSet 各防具の部位の可視状態のセット +---@field public helmet boolean ヘルメット +---@field public chestplate boolean チェストプレート +---@field public leggings boolean レギンス +---@field public boots boolean ブーツ + +---@class (exact) Armor.TextureQueueData テクスチャキューに入るデータの構造体 +---@field public texture Texture 処理対象のテクスチャ +---@field public palette Texture 処理に使用するパレットのテクスチャ +---@field public iterationCount integer 現在の繰り返しカウンター + +---@class (exact) Armor.TrimData 防具装飾のデータセット +---@field public pattern string 防具装飾の模様 +---@field public material string 防具装飾の素材 + +Armor = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Armor + new = function (parent) + ---@type Armor + local instance = Avatar.instantiate(Armor, AvatarModule, parent) + instance.shouldShowArmor = instance.parent.config:loadConfig("PRIVATE", "showArmor", false) + instance.armorSlotItems = {world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air"))} + instance.armorSlotItemsPrev = {world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air"))} + instance.isArmorVisible = { + helmet = false; + chestplate = false; + leggings = false; + boots = false; + } + instance.textureQueue = {} + + return instance + end; + + ---初期化関数 + ---@param self Armor + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + self.armorSlotItems = self.shouldShowArmor and {player:getItem(6), player:getItem(5), player:getItem(4), player:getItem(3)} or {world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))} + if self.armorSlotItems[1].id ~= self.armorSlotItemsPrev[1].id then + self:setHelmet(self.armorSlotItems[1]) + end + if self.armorSlotItems[2].id ~= self.armorSlotItemsPrev[2].id then + self:setChestplate(self.armorSlotItems[2]) + end + if self.armorSlotItems[3].id ~= self.armorSlotItemsPrev[3].id then + self:setLeggings(self.armorSlotItems[3]) + end + if self.armorSlotItems[4].id ~= self.armorSlotItemsPrev[4].id then + self:setBoots(self.armorSlotItems[4]) + end + + for index, armorSlotItem in ipairs(self.armorSlotItems) do + local glint = armorSlotItem:hasGlint() + if glint ~= self.armorSlotItemsPrev[index]:hasGlint() then + --エンチャント変更 + local renderType = glint and "GLINT" or "NONE" + if index == 2 then + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom}) do + armorPart:setSecondaryRenderType(renderType) + end + elseif index == 3 then + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom}) do + armorPart:setSecondaryRenderType(renderType) + end + else + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom}) do + armorPart:setSecondaryRenderType(renderType) + end + end + end + local armorColor = self.getArmorColor(armorSlotItem) + if armorColor ~= self.getArmorColor(self.armorSlotItemsPrev[index]) then + --色変更 + local colorVector = vectors.intToRGB(armorColor) + if index == 2 then + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplate, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottom, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplate, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottom}) do + armorPart:setColor(colorVector) + end + elseif index == 3 then + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggings, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggings, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottom}) do + armorPart:setColor(colorVector) + end + else + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBoots, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBoots, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottom}) do + armorPart:setColor(colorVector) + end + end + end + local trim = self.armorSlotItems[index].tag.Trim + if not self.compareTrims(trim, self.armorSlotItemsPrev[index].tag.Trim) then + --トリム変更 + if index == 2 then + local trimTexture = self:getTrimTexture(trim, self.armorSlotItems[2].id) + if trimTexture then + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplateTrim, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottomTrim, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplateTrim, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottomTrim}) do + armorPart:setVisible(true) + armorPart:setPrimaryTexture("CUSTOM", trimTexture) + end + else + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplateTrim, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottomTrim, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplateTrim, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottomTrim}) do + armorPart:setVisible(false) + end + end + elseif index == 3 then + local trimTexture = self:getTrimTexture(trim, self.armorSlotItems[3].id) + if trimTexture then + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggingsTrim, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottomTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggingsTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottomTrim}) do + armorPart:setVisible(true) + armorPart:setPrimaryTexture("CUSTOM", trimTexture) + end + else + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggingsTrim, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottomTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggingsTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottomTrim}) do + armorPart:setVisible(false) + end + end + else + local trimTexture = self:getTrimTexture(trim, self.armorSlotItems[4].id) + if trimTexture then + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBootsTrim, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottomTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBootsTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottomTrim}) do + armorPart:setVisible(true) + armorPart:setPrimaryTexture("CUSTOM", trimTexture) + end + else + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBootsTrim, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottomTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBootsTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottomTrim}) do + armorPart:setVisible(false) + end + end + end + end + end + --テクスチャの作成処理 + if #self.textureQueue > 0 then + local instructionsAvailable = avatar:getMaxTickCount() - 3000 --このTICKで使用出来る残りの命令数 + while #self.textureQueue > 0 and instructionsAvailable > 0 do + local dimension = self.textureQueue[1].texture:getDimensions() + for y = math.floor(self.textureQueue[1].iterationCount / dimension.x), dimension.y - 1 do + for x = self.textureQueue[1].iterationCount % dimension.x, dimension.x - 1 do + local pixel = self.textureQueue[1].texture:getPixel(x, y) + if pixel.w == 1 then + self.textureQueue[1].texture:setPixel(x, y, self.textureQueue[1].palette:getPixel(7 - math.floor(pixel.x * 8), 0)) + end + self.textureQueue[1].iterationCount = self.textureQueue[1].iterationCount + 1 + instructionsAvailable = instructionsAvailable - 45 + if instructionsAvailable <= 0 then + break + end + end + if instructionsAvailable <= 0 then + break + end + end + self.textureQueue[1].texture:update() + if self.textureQueue[1].iterationCount == dimension.x * dimension.y then + table.remove(self.textureQueue, 1) + end + end + end + self.armorSlotItemsPrev = self.armorSlotItems + end) + + for _, vanillaModel in ipairs({vanilla_model.HELMET, vanilla_model.CHESTPLATE, vanilla_model.LEGGINGS}) do + vanillaModel:setVisible(false) + end + for _, overlayPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottomOverlay, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottomOverlay, models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBootsOverlay, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottomOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBootsOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottomOverlay}) do + overlayPart:setPrimaryTexture("RESOURCE", "minecraft:textures/models/armor/leather_layer_1_overlay.png") + end + for _, overlayPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggingsOverlay, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottomOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggingsOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottomOverlay}) do + overlayPart:setPrimaryTexture("RESOURCE", "minecraft:textures/models/armor/leather_layer_2_overlay.png") + end + end; + + ---防具の色を取得する。 + ---@param armorItem ItemStack 調べるアイテムのオブジェクト + ---@return number color 防具モデルに設定すべき色 + getArmorColor = function (armorItem) + if armorItem.id:find("^minecraft:leather_") then + if armorItem.tag then + if armorItem.tag.display then + return armorItem.tag.display.color and armorItem.tag.display.color or 10511680 + else + return 10511680 + end + else + return 10511680 + end + else + return 16777215 + end + end; + + ---防具装飾が同じものか比較する。 + ---@param trim1? Armor.TrimData 比較する防具装飾のテーブル1 + ---@param trim2? Armor.TrimData 比較する防具装飾のテーブル2 + ---@return boolean isTrimSame 2つの防具装飾が同じものかどうか + compareTrims = function (trim1, trim2) + if type(trim1) == type(trim2) then + if trim1 then + if trim1.pattern ~= trim2.pattern then + return false + elseif trim1.material ~= trim2.material then + return false + else + return true + end + else + return true + end + else + return false + end + end; + + ---テクスチャの処理のキューにデータを挿入する。 + ---@param self Armor + ---@param texture Texture 処理を行うテクスチャ + ---@param paletteName string 使用するパレットの名前 + addTextureQueue = function (self, texture, paletteName) + if textures["trim_palette_"..paletteName] == nil then + textures:fromVanilla("trim_palette_"..paletteName, "minecraft:textures/trims/color_palettes/"..paletteName..".png") + end + table.insert(self.textureQueue, 1, { + texture = texture, + palette = textures["trim_palette_"..paletteName], + iterationCount = 0 + }) + end; + + ---バニラパーツの防具装飾のテクスチャを取得する。テクスチャの処理は次のチック以降行われる。 + ---@param self Armor + ---@param trimData? Armor.TrimData 防具装飾のデータ + ---@param armorId string 防具アイテムのID。 + ---@return Texture|nil trimTexture 色を付けた防具装飾のテクスチャ。防具や防具装飾が非バニラの場合はnilを返す。 + getTrimTexture = function (self, trimData, armorId) + if trimData and trimData.pattern:find("^minecraft:.+$") and trimData.material:find("^minecraft:.+$") and armorId:find("^minecraft:.+_.+$") then + local normalizedPatternName = trimData.pattern:match("^minecraft:(%a+)$") + local normalizedArmorMaterialName = armorId:match("^minecraft:(%a+)_.+$") + normalizedArmorMaterialName = normalizedArmorMaterialName == "golden" and "gold" or normalizedArmorMaterialName + local normalizedMaterialName = trimData.material:match("^minecraft:(%a+)$") + normalizedMaterialName = normalizedMaterialName..(normalizedArmorMaterialName == normalizedMaterialName and "_darker" or "") + local isLeggings = armorId:find("^minecraft:.+_leggings$") + local textureName = "trim_"..normalizedPatternName.."_"..normalizedMaterialName..(isLeggings and "_leggings" or "") + if textures[textureName] then + return textures[textureName] + else + local texture = textures:fromVanilla(textureName, "minecraft:textures/trims/models/armor/"..normalizedPatternName..(armorId:find("^minecraft:.+_leggings$") ~= nil and "_leggings" or "")..".png") + self:addTextureQueue(texture, normalizedMaterialName) + return texture + end + end + end; + + ---ヘルメットを更新する。 + ---@param self Armor + ---@param helmetItem ItemStack ヘルメットのスロットに入っているアイテム + setHelmet = function (self, helmetItem) + local helmetFound = helmetItem.id ~= "minecraft:air" + vanilla_model.HELMET:setVisible(helmetFound) + self.isArmorVisible.helmet = helmetFound + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onArmorChange ~= nil then + self.parent.characterData.costume.callbacks.onArmorChange(self.parent.characterData, "HELMET", self.isArmorVisible.helmet) + end + end; + + ---チェストプレートを更新する。 + ---@param self Armor + ---@param chestplateItem ItemStack チェストプレートスロットに入っているアイテム + setChestplate = function (self, chestplateItem) + local chestplateFound = chestplateItem.id:find("^minecraft:.+_chestplate$") ~= nil + vanilla_model.CHESTPLATE:setVisible(chestplateFound) + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB}) do + armorPart:setVisible(chestplateFound) + end + self.isArmorVisible.chestplate = chestplateFound + if self.isArmorVisible.chestplate then + local material = chestplateItem.id:match("^minecraft:(%a+)_chestplate$") + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplate, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottom, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplate, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottom}) do + armorPart:setPrimaryTexture("RESOURCE", "minecraft:textures/models/armor/"..(material == "golden" and "gold" or material).."_layer_1.png") + end + end + local overlayVisible = chestplateItem.id == "minecraft:leather_chestplate" + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottomOverlay, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottomOverlay}) do + armorPart:setVisible(overlayVisible) + end + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onArmorChange ~= nil then + self.parent.characterData.costume.callbacks.onArmorChange(self.parent.characterData, "CHEST_PLATE", self.isArmorVisible.chestplate) + end + end; + + ---レギンスを更新する。 + ---@param self Armor + ---@param leggingsItem ItemStack レギンススロットに入っているアイテム + setLeggings = function (self, leggingsItem) + local leggingsFound = leggingsItem.id:find("^minecraft:.+_leggings$") ~= nil + vanilla_model.LEGGINGS:setVisible(leggingsFound) + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom}) do + armorPart:setVisible(leggingsFound) + end + self.isArmorVisible.leggings = leggingsFound + if self.isArmorVisible.leggings then + local material = leggingsItem.id:match("^minecraft:(%a+)_leggings$") + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggings, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggings, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottom}) do + armorPart:setPrimaryTexture("RESOURCE", "minecraft:textures/models/armor/"..(material == "golden" and "gold" or material).."_layer_2.png") + end + end + local overlayVisible = leggingsItem.id == "minecraft:leather_leggings" + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggingsOverlay, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottomOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggingsOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottomOverlay}) do + armorPart:setVisible(overlayVisible) + end + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onArmorChange ~= nil then + self.parent.characterData.costume.callbacks.onArmorChange(self.parent.characterData, "LEGGINGS", self.isArmorVisible.leggings) + end + end; + + ---ブーツを更新する。 + ---@param self Armor + ---@param bootsItem ItemStack ブーツスロットに入っているアイテム + setBoots = function (self, bootsItem) + local bootsFound = bootsItem.id:find("^minecraft:.+_boots$") ~= nil + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom}) do + armorPart:setVisible(bootsFound) + end + self.isArmorVisible.boots = bootsFound + if self.isArmorVisible.boots then + local material = bootsItem.id:match("^minecraft:(%a+)_boots$") + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBoots, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBoots, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottom}) do + armorPart:setPrimaryTexture("RESOURCE", "minecraft:textures/models/armor/"..(material == "golden" and "gold" or material).."_layer_1.png") + end + end + local overlayVisible = bootsItem.id == "minecraft:leather_boots" + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBootsOverlay, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottomOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBootsOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottomOverlay}) do + armorPart:setVisible(overlayVisible) + end + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onArmorChange ~= nil then + self.parent.characterData.costume.callbacks.onArmorChange(self.parent.characterData, "BOOTS", self.isArmorVisible.boots) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/arms.lua b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/arms.lua new file mode 100644 index 0000000..27ef260 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/arms.lua @@ -0,0 +1,192 @@ +---@class (exact) Arms : AvatarModule アバターの腕を制御するクラス +---@field public armState Arms.ArmStateSet 腕の状態:0. バニラ状態, 1. 銃を構えている際の、銃を構えている方の腕, 2. 銃を構えている際の、銃を構えていない方の腕, 3. クロスボウ装填中 +---@field package armStatePrev Arms.ArmStateSet 前ティックの腕の状態 +---@field package swingCount integer 腕をプラプラさせるカウンター +---@field package isSwingCountProcessed boolean 腕プラプラカウンターを処理したかどうか +---@field package processArmWingCount fun(self: Arms) 腕プラプラカウンターを処理する +---@field public setArmState fun(self: Arms, right?: integer, left?: integer) 腕の状態を設定する + +---@class (exact) Arms.ArmStateSet 腕の状態を示すデータセット +---@field public right integer 右腕の状態 +---@field public left integer 左腕の状態 + +Arms = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Arms + new = function (parent) + ---@type Arms + local instance = Avatar.instantiate(Arms, AvatarModule, parent) + + instance.armState = { + right = 0; + left = 0; + } + instance.armStatePrev = { + right = 0; + left = 0; + } + instance.swingCount = 0 + instance.isSwingCountProcessed = false + + return instance + end; + + ---初期化関数 + ---@param self Arms + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + self.isSwingCountProcessed = false + end) + end; + + ---腕プラプラカウンターを処理する。 + ---@param self Arms + processArmWingCount = function (self) + if not client:isPaused() and not self.isSwingCountProcessed then + self.swingCount = self.swingCount + 1 + self.swingCount = self.swingCount == 100 and 0 or self.swingCount + self.isSwingCountProcessed = true + end + end; + + ---腕の状態を設定する。 + ---@param self Arms + ---@param right? integer 右腕の状態 + ---@param left? integer 左腕の状態 + setArmState = function (self, right, left) + if right ~= nil then + self.armState.right = right + end + if left ~= nil then + self.armState.left = left + end + if (self.armState.right == 1 or self.armState.left == 1) and player:getActiveItem().id == "minecraft:crossbow" then + self:setArmState(3, 3) + return + end + if self.parent.characterData.arms.callbacks ~= nil and self.parent.characterData.arms.callbacks.onArmStateChanged ~= nil then + local result = self.parent.characterData.arms.callbacks.onArmStateChanged(self.parent.characterData, self.armState.right, self.armState.left) + if result ~= nil then + if result.right ~= nil then + self.armState.right = result.right + end + if result.left ~= nil then + self.armState.left = result.left + end + end + end + + --右腕の操作 + if self.armState.right ~= self.armStatePrev.right then + --腕の状態をリセット + models.models.main.Avatar.UpperBody.Arms.RightArm:setRot() + models.models.main.Avatar.UpperBody.Arms.RightArm:setParentType("RightArm") + events.TICK:remove("right_arm_tick") + events.RENDER:remove("right_arm_render") + if self.armState.right == 1 then + --銃を構えている際の、銃を構えている方の腕 + events.TICK:register(function () + if self.armState.right == 1 then + self:processArmWingCount() + if player:isSwingingArm() and not player:isLeftHanded() then + models.models.main.Avatar.UpperBody.Arms.RightArm:setParentType("RightArm") + else + models.models.main.Avatar.UpperBody.Arms.RightArm:setParentType("Body") + end + if player:getActiveItem().id == "minecraft:crossbow" then + self:setArmState(3, 3) + end + end + end, "right_arm_tick") + events.RENDER:register(function (delta) + local headRot = vanilla_model.HEAD:getOriginRot() + models.models.main.Avatar.UpperBody.Arms.RightArm:setRot(player:isSwingingArm() and not player:isLeftHanded() and vectors.vec3() or vectors.vec3(headRot.x + math.sin((self.swingCount + delta) / 100 * math.pi * 2) * 2.5 + 90 + (player:isCrouching() and 30 or 0), headRot.y, 0)) + end, "right_arm_render") + elseif self.armState.right == 2 then + --銃を構えている際の、銃を構えていない方の腕 + events.TICK:register(function () + self:processArmWingCount() + end, "right_arm_tick") + events.RENDER:register(function (delta, context) + local headRot = vanilla_model.HEAD:getOriginRot() + local isSwingingArm = player:isSwingingArm() and not player:isLeftHanded() + models.models.main.Avatar.UpperBody.Arms.RightArm:setParentType((isSwingingArm or context == "FIRST_PERSON") and "RightArm" or "Body") + models.models.main.Avatar.UpperBody.Arms.RightArm:setRot(isSwingingArm and vectors.vec3() or vectors.vec3(headRot.x + math.sin((self.swingCount + delta) / 100 * math.pi * 2) * 2.5 + 90 + (player:isCrouching() and 30 or 0), math.map((headRot.y + 180) % 360 - 180, -50, 50, -21, 78), 0)) + end, "right_arm_render") + elseif self.armState.right == 3 then + --クロスボウ装填中 + events.TICK:register(function () + if player:getActiveItem().id ~= "minecraft:crossbow" and self.armState.right == 3 then + if self.parent.gun.currentGunPosition == "RIGHT" then + self:setArmState(1, 2) + elseif self.parent.gun.currentGunPosition == "LEFT" then + self:setArmState(2, 1) + end + end + end, "right_arm_tick") + end + if self.parent.characterData.arms.callbacks ~= nil and self.parent.characterData.arms.callbacks.onAdditionalRightArmProcess ~= nil then + self.parent.characterData.arms.callbacks.onAdditionalRightArmProcess(self.parent.characterData, self.armState.right) + end + self.armStatePrev.right = self.armState.right + end + --左腕の操作 + if self.armState.left ~= self.armStatePrev.left then + --腕の状態をリセット + models.models.main.Avatar.UpperBody.Arms.LeftArm:setRot() + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType("LeftArm") + events.TICK:remove("left_arm_tick") + events.RENDER:remove("left_arm_render") + if self.armState.left == 1 then + --銃を構えている際の、銃を構えている方の腕 + events.TICK:register(function () + if self.armState.left == 1 then + self:processArmWingCount() + if player:isSwingingArm() and player:isLeftHanded() then + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType("LeftArm") + else + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType("Body") + end + if player:getActiveItem().id == "minecraft:crossbow" then + self:setArmState(3, 3) + end + end + end, "left_arm_tick") + events.RENDER:register(function (delta) + local headRot = vanilla_model.HEAD:getOriginRot() + models.models.main.Avatar.UpperBody.Arms.LeftArm:setRot(player:isSwingingArm() and player:isLeftHanded() and vectors.vec3() or vectors.vec3(headRot.x + math.sin((self.swingCount + delta) / 100 * math.pi * 2) * -2.5 + 90 + (player:isCrouching() and 30 or 0), headRot.y, 0)) + end, "left_arm_render") + elseif self.armState.left == 2 then + --銃を構えている際の、銃を構えていない方の腕 + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType("Body") + events.TICK:register(function () + self:processArmWingCount() + end, "left_arm_tick") + events.RENDER:register(function (delta, context) + local headRot = vanilla_model.HEAD:getOriginRot() + local isSwingingArm = player:isSwingingArm() and player:isLeftHanded() + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType((isSwingingArm or context == "FIRST_PERSON") and "LeftArm" or "Body") + models.models.main.Avatar.UpperBody.Arms.LeftArm:setRot(isSwingingArm and vectors.vec3() or vectors.vec3(headRot.x + math.sin((self.swingCount + delta) / 100 * math.pi * 2) * -2.5 + 90 + (player:isCrouching() and 30 or 0), math.map((headRot.y + 180) % 360 - 180, -50, 50, -78, 21), 0)) + end, "left_arm_render") + elseif self.armState.left == 3 then + --クロスボウ装填中 + events.TICK:register(function () + if player:getActiveItem().id ~= "minecraft:crossbow" and self.armState.left == 3 then + if self.parent.gun.currentGunPosition == "RIGHT" then + self:setArmState(1, 2) + elseif self.parent.gun.currentGunPosition == "LEFT" then + self:setArmState(2, 1) + end + end + end, "left_arm_tick") + end + if self.parent.characterData.arms.callbacks ~= nil and self.parent.characterData.arms.callbacks.onAdditionalLeftArmProcess ~= nil then + self.parent.characterData.arms.callbacks.onAdditionalLeftArmProcess(self.parent.characterData, self.armState.left) + end + self.armStatePrev.left = self.armState.left + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/avatar_module.lua b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/avatar_module.lua new file mode 100644 index 0000000..4ae2c3a --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/avatar_module.lua @@ -0,0 +1,23 @@ +---@class AvatarModule アバターの動作を構成するモジュールの抽象クラス +---@field public parent Avatar アバターのメインクラスへの参照 +---@field public new fun(parent: Avatar): AvatarModule コンストラクタ +---@field public init fun(self: AvatarModule) 初期化関数 + +AvatarModule = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return AvatarModule + new = function (parent) + ---@type AvatarModule + local instance = Avatar.instantiate(AvatarModule) + + instance.parent = parent + + return instance + end; + + ---初期化関数 + ---@param self AvatarModule + init = function (self) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/barrier.lua b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/barrier.lua new file mode 100644 index 0000000..06066b9 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/barrier.lua @@ -0,0 +1,88 @@ +---@class (exact) Barrier : AvatarModule バリアの視覚効果を管理するクラス +---@field package animationCounts number[] バリアのアニメーションのカウンター +---@field public isBarrierVisible boolean バリアが可視化状態かどうか +---@field package hadAbsorptionPrev boolean 前ティックの衝撃吸収のハートを持っていたかどうか +---@field package colorFactor number バリアの色の係数 +---@field public enable fun(self: Barrier) バリア機能を有効にする +---@field public disable fun(self: Barrier) バリア機能を無効にする + +Barrier = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Barrier + new = function (parent) + ---@type Barrier + local instance = Avatar.instantiate(Barrier, AvatarModule, parent) + + instance.animationCounts = {} + instance.isBarrierVisible = false + instance.hadAbsorptionPrev = false + instance.colorFactor = client:hasShaderPack() and 0.5 or 1 + + for i = 1, 32 do + instance.animationCounts[i] = math.random(0, 39) + end + + return instance + end; + + ---初期化関数 + ---@param self Barrier + init = function (self) + AvatarModule.init(self) + + models.models.main.Avatar.barrier:setLight(15) + + events.TICK:register(function () + local hasAbsorption = player:getAbsorptionAmount() > 0 and player:getHealth() > 0 + if hasAbsorption and not self.hadAbsorptionPrev then + self:enable() + elseif not hasAbsorption and self.hadAbsorptionPrev then + self:disable() + end + self.hadAbsorptionPrev = hasAbsorption + end) + end; + + ---バリア機能を有効にする。 + ---@param self Barrier + enable = function (self) + for i = 1, 32 do + self.animationCounts[i] = math.random(0, 39) + end + + events.TICK:register(function () + for i = 1, 32 do + self.animationCounts[i] = self.animationCounts[i] + 1 + if self.animationCounts[i] == 40 then + self.animationCounts[i] = 0 + end + end + self.colorFactor = client:hasShaderPack() and 0.5 or 1 + end, "barrier_tick") + + events.RENDER:register(function (delta, context) + if context == "FIRST_PERSON" or context == "RENDER" then + models.models.main.Avatar.barrier:setVisible(true) + for i = 1, 32 do + local opacity = math.abs(-0.025 * (self.animationCounts[i] + delta) + 0.5) + 0.5 + models.models.main.Avatar.barrier.Barrier["Barrier"..i]:setOpacity(opacity) + models.models.main.Avatar.barrier.Barrier["Barrier"..i]:setColor(opacity * self.colorFactor, opacity * self.colorFactor, 1) + end + else + models.models.main.Avatar.barrier:setVisible(false) + end + end, "barrier_render") + + self.isBarrierVisible = true + end; + + ---バリア機能を無効にする。 + ---@param self Barrier + disable = function (self) + models.models.main.Avatar.barrier:setVisible(false) + events.TICK:remove("barrier_tick") + events.RENDER:remove("barrier_render") + self.isBarrierVisible = false + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/bubble.lua b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/bubble.lua new file mode 100644 index 0000000..fc6197b --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/bubble.lua @@ -0,0 +1,224 @@ +---@alias Bubble.BubbleType +---| "GOOD" # 👍 +---| "HEART" # 💗 +---| "NOTE" # 🎵 +---| "QUESTION" # ❓ +---| "SWEAT" # 💦 +---| "RELOAD" # 弾薬をリロードする絵文字 +---| "DOTS" # … +---| "V" # ✌ + +---@class (exact) Bubble : AvatarModule 吹き出しエモートを管理するクラス +---@field public bubbleCount integer 吹き出しの表示時間を測るカウンター +---@field public emoji Bubble.BubbleType 吹き出しの絵文字 +---@field package duration integer 吹き出しを表示する時間。-1は時間無制限を示す。 +---@field package isAutoBubble boolean 吹き出しエモートが自動で出たものかどうか +---@field package shouldShowInHud boolean 一人称用にHUDに吹き出しを表示するかどうか +---@field package emojiAnimationCount number 絵文字のアニメーションのタイミングを測るカウンター +---@field package isForcedStop boolean 吹き出しエモートが強制停止させられたかどうか +---@field public isChatOpened boolean チャットを開けているかどうか +---@field package isChatOpenedPrev boolean 前ティックにチャットを開けていたかどうか +---@field public play fun(self: Bubble, type: Bubble.BubbleType, duration: integer, offsetPos: Vector2, offsetRot: number, shouldShowInHud: boolean) 吹き出しエモートを再生する +---@field public stop fun(self: Bubble) 吹き出しエモートを停止する + +Bubble = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Bubble + new = function (parent) + ---@type Bubble + local instance = Avatar.instantiate(Bubble, AvatarModule, parent) + + instance.bubbleCount = 0 + instance.emoji = "GOOD" + instance.duration = 0 + instance.isAutoBubble = false + instance.shouldShowInHud = false + instance.emojiAnimationCount = 0 + instance.isForcedStop = false + instance.isChatOpened = false + instance.isChatOpenedPrev = false + + return instance + end; + + ---初期化関数 + ---@param self Bubble + init = function (self) + AvatarModule.init(self) + + models.models.bubble:addChild(models:newPart("Gui", "Gui")) + models.models.bubble.Gui:addChild(models.models.bubble.Camera.AvatarBubble:copy("FirstPersonBubble")) + models.models.bubble.Gui.FirstPersonBubble:setVisible(false) + for _, modelPart in ipairs({models.models.bubble.Camera.AvatarBubble, models.models.bubble.Gui.FirstPersonBubble}) do + modelPart:setScale(0, 0, 0) + end + + --エモートガイド + if host:isHost() then + self.parent.keyManager:register("bubble_1", self.parent.config:loadConfig("PRIVATE", "keybind.bubble_1", "key.keyboard.j")):onPress(function () + if self.parent.exSkill.animationCount == -1 and (self.bubbleCount == 0 or self.isAutoBubble) then + pings.showBubbleEmote("GOOD") + end + end) + self.parent.keyManager:register("bubble_2", self.parent.config:loadConfig("PRIVATE", "keybind.bubble_2", "key.keyboard.k")):onPress(function () + if self.parent.exSkill.animationCount == -1 and (self.bubbleCount == 0 or self.isAutoBubble) then + pings.showBubbleEmote("HEART") + end + end) + self.parent.keyManager:register("bubble_3", self.parent.config:loadConfig("PRIVATE", "keybind.bubble_3", "key.keyboard.n")):onPress(function () + if self.parent.exSkill.animationCount == -1 and (self.bubbleCount == 0 or self.isAutoBubble) then + pings.showBubbleEmote("NOTE") + end + end) + self.parent.keyManager:register("bubble_4", self.parent.config:loadConfig("PRIVATE", "keybind.bubble_4", "key.keyboard.m")):onPress(function () + if self.parent.exSkill.animationCount == -1 and (self.bubbleCount == 0 or self.isAutoBubble) then + pings.showBubbleEmote("QUESTION") + end + end) + self.parent.keyManager:register("bubble_5", self.parent.config:loadConfig("PRIVATE", "keybind.bubble_5", "key.keyboard.comma")):onPress(function () + if self.parent.exSkill.animationCount == -1 and (self.bubbleCount == 0 or self.isAutoBubble) then + pings.showBubbleEmote("SWEAT") + end + end) + end + + events.TICK:register(function () + if host:isHost() then + local isChatOpened = host:isChatOpen() + if isChatOpened ~= self.isChatOpened then + pings.setChatOpen(isChatOpened) + end + self.isChatOpenedPrev = isChatOpened + end + + if player:getActiveItem().id == "minecraft:crossbow" then + if self.bubbleCount == 0 or (self.isAutoBubble and self.emoji ~= "RELOAD") then + self:play("RELOAD", -1, vectors.vec2(), 0, false) + self.isAutoBubble = true + end + elseif self.isChatOpened and self.parent.exSkill.transitionCount == 0 then + if self.bubbleCount == 0 or (self.isAutoBubble and self.emoji ~= "DOTS") then + self:play("DOTS", -1, vectors.vec2(), 0, false) + self.isAutoBubble = true + end + elseif self.isAutoBubble then + self:stop() + self.isAutoBubble = false + end + end) + end; + + ---吹き出しエモートを再生する。 + ---@param self Bubble + ---@param type Bubble.BubbleType 再生する絵文字の種類 + ---@param duration integer 吹き出しを表示している時間。-1にすると停止するまでずっと表示する。 + ---@param offsetPos Vector2 吹き出しの位置のオフセット値 + ---@param offsetRot number アバター周回上の、吹き出しが表示される位置のオフセット値 + ---@param shouldShowInHud boolean 一人称用にHUDに吹き出しを表示するかどうか + play = function (self, type, duration, offsetPos, offsetRot, shouldShowInHud) + self.emoji = type + self.duration = duration + self.shouldShowInHud = shouldShowInHud + self.bubbleCount = 1 + self.emojiAnimationCount = 0 + models.models.bubble.Camera.AvatarBubble.Emoji:setPrimaryTexture("CUSTOM", textures["textures.emojis."..self.emoji:lower()]) + models.models.bubble.Camera.AvatarBubble.Bullets:setVisible(self.emoji == "RELOAD") + models.models.bubble.Camera.AvatarBubble.Dots:setVisible(self.emoji == "DOTS") + if self.shouldShowInHud then + models.models.bubble.Gui.FirstPersonBubble.Emoji:setPrimaryTexture("CUSTOM", textures["textures.emojis."..self.emoji:lower()]) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.item.pickup"), self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar)) + end + + if events.TICK:getRegisteredCount("bubble_tick") == 0 then + events.TICK:register(function () + if not client:isPaused() then + models.models.bubble.Gui.FirstPersonBubble:setVisible(self.shouldShowInHud and renderer:isFirstPerson()) + self.bubbleCount = self.bubbleCount + 1 + if self.bubbleCount == 0 then + for _, modelPart in ipairs({models.models.bubble.Camera.AvatarBubble, models.models.bubble.Gui.FirstPersonBubble, models.models.bubble.Camera.AvatarBubble.Bullets, models.models.bubble.Gui.FirstPersonBubble.Bullets}) do + modelPart:setVisible(false) + end + events.TICK:remove("bubble_tick") + events.RENDER:remove("bubble_render") + if self.parent.characterData.bubble.callbacks ~= nil and self.parent.characterData.bubble.callbacks.onStop ~= nil then + self.parent.characterData.bubble.callbacks.onStop(self.parent.characterData, type, self.isForcedStop) + end + elseif self.duration >= 0 and self.bubbleCount == self.duration + 2 then + self:stop() + end + if self.emoji == "RELOAD" or self.emoji == "DOTS" then + self.emojiAnimationCount = self.emojiAnimationCount + 1 + self.emojiAnimationCount = self.emojiAnimationCount == 25 and 0 or self.emojiAnimationCount + if self.emoji == "DOTS" then + for i = 1, 3 do + models.models.bubble.Camera.AvatarBubble.Dots["Dot"..i]:setVisible(self.emojiAnimationCount >= 6 * i) + end + end + end + end + end, "bubble_tick") + end + + if events.RENDER:getRegisteredCount("bubble_render") == 0 then + events.RENDER:register(function (delta, context) + models.models.bubble.Camera.AvatarBubble:setVisible(context ~= "OTHER") + if not client:isPaused() then + local bubbleScale = math.min(math.abs(0.5 * (self.bubbleCount + delta)), 1) + models.models.bubble.Camera.AvatarBubble:setScale(vectors.vec3(1, 1, 1):scale(bubbleScale)) + local playerPos = self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar) + local avatarBubblePos = context == "PAPERDOLL" and vectors.vec3(0, 32, 0) or vectors.rotateAroundAxis(player:getBodyYaw(delta) + 180, playerPos:copy():sub(player:getPos(delta)):scale(17.067):add(0, 32 + offsetPos.y, 0), 0, 1, 0) + if not renderer:isFirstPerson() then + local cameraPos = client:getCameraPos() + avatarBubblePos:add(vectors.rotateAroundAxis(math.deg(math.atan2(cameraPos.z - playerPos.z, cameraPos.x - playerPos.x) - math.pi / 2) % 360 - (player:getBodyYaw(delta) + offsetRot) % 360, 12 + offsetPos.x, 0, 0, 0, -1, 0)) + else + avatarBubblePos:add(12 + offsetPos.x, 0, 0) + end + models.models.bubble.Camera:setOffsetPivot(avatarBubblePos) + models.models.bubble.Camera.AvatarBubble:setPos(avatarBubblePos) + if host:isHost() and self.shouldShowInHud then + local windowSize = client:getScaledWindowSize() + models.models.bubble.Gui.FirstPersonBubble:setPos(-windowSize.x + 10, -windowSize.y + (action_wheel:isEnabled() and 125 or 10), 0) + models.models.bubble.Gui.FirstPersonBubble:setScale(vectors.vec3(1, 1, 1):scale(bubbleScale * 4)) + end + if self.emoji == "RELOAD" then + local bullet1Counter = math.clamp((self.emojiAnimationCount + delta) * 0.2 - 1, 0, 1) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet1:setPos(0, 1 - bullet1Counter, 0) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet1:setOpacity(bullet1Counter) + local bullet2Counter = math.clamp((self.emojiAnimationCount + delta) * 0.2 - 2, 0, 1) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet2:setPos(0, 1 - bullet2Counter, 0) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet2:setOpacity(bullet2Counter) + local bullet3Counter = math.clamp((self.emojiAnimationCount + delta) * 0.2 - 3, 0, 1) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet3:setPos(0, 1 - bullet3Counter, 0) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet3:setOpacity(bullet3Counter) + end + end + end, "bubble_render") + end + if self.parent.characterData.bubble.callbacks ~= nil and self.parent.characterData.bubble.callbacks.onPlay ~= nil then + self.parent.characterData.bubble.callbacks.onPlay(self.parent.characterData, type, duration, shouldShowInHud) + end + end; + + ---吹き出しエモートを停止する。 + ---@param self Bubble + stop = function (self) + if self.bubbleCount > 0 then + self.isForcedStop = self.duration == -1 or self.bubbleCount < self.duration + 2 + self.bubbleCount = -2 + end + end; +} + +---吹き出しエモートを表示する。 +---@param type Bubble.BubbleType 表示する絵文字の種類 +function pings.showBubbleEmote(type) + AvatarInstance.bubble:play(type, 50, vectors.vec2(), 0, true) + AvatarInstance.bubble.isAutoBubble = false +end + +---Bubbleのチャットを開けているフラグを更新する。 +---@param value boolean 新しい値 +function pings.setChatOpen(value) + AvatarInstance.bubble.isChatOpened = value +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/camera_manager.lua b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/camera_manager.lua new file mode 100644 index 0000000..e985b05 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/camera_manager.lua @@ -0,0 +1,99 @@ +---@class (exact) CameraManager : AvatarModule カメラ制御全般を管理するクラス +---@field package COLLISION_DENIAL_DISABLED boolean カメラの当たり判定打ち消し機能を無効にする。撮影用。 +---@field package thirdPersonCameraDistance number 三人称視点でのカメラと回転軸の距離 +---@field package isCameraCollisionDenialEnabled boolean 三人称視点でのカメラの当たり判定打ち消し機能が有効かどうか +---@field public setCameraManagerRender fun(self: CameraManager, enabled: boolean) CameraManagerのレンダー関数を設定する +---@field public setCameraPivot fun(newPivot?: Vector3) カメラの回転軸のオフセット位置を変更する +---@field public setCameraRot fun(newRot?: Vector3) カメラ方向を変更する +---@field public setThirdPersonCameraDistance fun(self: CameraManager, distance: number) 三人称視点でのカメラと回転軸の距離を設定する +---@field public setCameraCollisionDenial fun(self: CameraManager, enabled: boolean) カメラの当たり判定打ち消し機能を設定する + +CameraManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return CameraManager + new = function (parent) + ---@type CameraManager + local instance = Avatar.instantiate(CameraManager, AvatarModule, parent) + + instance.COLLISION_DENIAL_DISABLED = false + instance.thirdPersonCameraDistance = 4 + instance.isCameraCollisionDenialEnabled = false + + return instance + end; + + ---CameraManagerのレンダー関数を設定する。 + ---@param self CameraManager + ---@param enabled boolean CameraManagerのレンダー関数を有効化するかどうか + setCameraManagerRender = function (self, enabled) + if enabled and events.RENDER:getRegisteredCount("camera_manager_render") == 0 then + events.RENDER:register(function () + if renderer:isFirstPerson() then + renderer:setCameraPos() + else + local rawOffsetCameraPivot = renderer:getCameraOffsetPivot() + rawOffsetCameraPivot = rawOffsetCameraPivot == nil and vectors.vec3() or rawOffsetCameraPivot + local cameraPivot = player:getPos():add(0, 1.62, 0):add(rawOffsetCameraPivot) + local cameraDir = client:getCameraDir() + local baseVector = vectors.rotateAroundAxis(math.deg(math.asin(cameraDir.y)), 0, 0.21, 0, vectors.rotateAroundAxis(math.deg(math.atan2(cameraDir.z, cameraDir.x)) * -1 - 90, 1, 0, 0, 0, 1, 0)) + local minDistance = math.max(self.thirdPersonCameraDistance, 4) + if not self.COLLISION_DENIAL_DISABLED then + for i = 0, 3 do + local startPos = vectors.rotateAroundAxis(i * 90 + 45, baseVector:copy(), cameraDir):add(cameraPivot) + local _, collisionPos, _ = raycast:block(startPos, startPos:copy():add(cameraDir:copy():scale(-4)), "VISUAL", "NONE") + minDistance = math.min(collisionPos:copy():sub(startPos):length(), minDistance) + end + end + renderer:setCameraPos(0, 0, (minDistance > self.thirdPersonCameraDistance or self.isCameraCollisionDenialEnabled) and self.thirdPersonCameraDistance - minDistance or 0) + end + end, "camera_manager_render") + elseif not enabled then + events.RENDER:remove("camera_manager_render") + renderer:setCameraPos() + end + end; + + ---カメラの回転軸のオフセット位置を変更する。 + ---@param newPivot? Vector3 設定する新しいカメラ回転軸のオフセット位置。nilの場合は設定値がリセットされる。 + setCameraPivot = function (newPivot) + if host:isHost() then + renderer:setOffsetCameraPivot(newPivot) + end + end; + + ---カメラ方向を変更する。 + ---@param newRot? Vector3 設定する新しいカメラのオフセット方向。nilの場合は設定値がリセットされる。 + setCameraRot = function (newRot) + if host:isHost() then + renderer:setCameraRot(newRot) + end + end; + + ---三人称視点でのカメラと回転軸の距離を設定する。 + ---@param self CameraManager + ---@param distance number 設定する新しい距離(ブロック単位)。デフォルトは4ブロック。 + setThirdPersonCameraDistance = function (self, distance) + if host:isHost() then + if distance ~= 4 then + self:setCameraManagerRender(true) + elseif not self.isCameraCollisionDenialEnabled then + self:setCameraManagerRender(false) + end + self.thirdPersonCameraDistance = distance + end + end; + + ---カメラの当たり判定打ち消し機能を設定する。 + ---@param enabled boolean カメラの当たり判定打ち消し機能を有効にするかどうか。有効にするとカメラがブロックの中にめり込むようになる。 + setCameraCollisionDenial = function (self, enabled) + if host:isHost() then + if enabled then + self:setCameraManagerRender(true) + elseif self.thirdPersonCameraDistance == 4 then + self:setCameraManagerRender(false) + end + self.isCameraCollisionDenialEnabled = enabled + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/config.lua b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/config.lua new file mode 100644 index 0000000..70b0382 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/config.lua @@ -0,0 +1,116 @@ +---@alias Config.Storage +---| "PUBLIC" # FBACキャラクター共通ストレージ +---| "PRIVATE" # キャラクター固有ストレージ + +---@class (exact) Config : AvatarModule アバター設定を管理するクラス +---@field package privateStorageName string キャラクター固有ストレージの名前 +---@field package defaultValues {[string]: number|boolean|string} 読み込んだ値のデフォルト値を保持するテーブル +---@field package nextSyncCount integer 次の同期pingまでのカウンター +---@field package isSynced boolean 設定値がホストと同期されているかどうか +---@field public loadConfig fun(self: Config, storage: Config.Storage, keyName: string, defaultValue: any): any 設定を読み出す +---@field public saveConfig fun(self: Config, storage: Config.Storage, keyName: string, valueToSave: any) 設定を保存する + +Config = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Config + new = function (parent) + ---@type Config + local instance = Avatar.instantiate(Config, AvatarModule, parent) + + instance.privateStorageName = "BlueArchive_"..instance.parent.characterData.basic.firstName.en_us..instance.parent.characterData.basic.lastName.en_us + instance.defaultValues = {} + instance.nextSyncCount = 0 + instance.isSynced = host:isHost() + + return instance + end; + + ---初期化関数 + ---@param self Config + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + events.TICK:register(function () + if self.nextSyncCount == 0 then + pings.syncAvatarConfig(self.parent.nameplate.currentName, self.parent.nameplate.shouldShowClubName, self.parent.costume.currentCostume, self.parent.armor.shouldShowArmor, self.parent.actionWheel.shouldReplaceVehicleModels, self.parent.bubble.isChatOpened, self.parent.characterData.dataSync.syncData) + self.nextSyncCount = 300 + else + self.nextSyncCount = self.nextSyncCount - 1 + end + end) + end + end; + + ---設定を読み出す。 + ---@generic T + ---@param self Config + ---@param storage Config.Storage 読み出し先のストレージ + ---@param keyName string 読み出す設定の名前 + ---@param defaultValue `T` 該当の設定が無い場合や、ホスト外での実行の場合はこの値が返される。 + ---@return `T` loadedValue 読み出した値 + loadConfig = function (self, storage, keyName, defaultValue) + if host:isHost() then + if storage == "PUBLIC" then + config:setName("BlueArchive_public") + else + config:setName(self.privateStorageName) + end + local loadedData = config:load(keyName) + self.defaultValues[keyName] = defaultValue + if loadedData ~= nil then + return loadedData + else + return defaultValue + end + else + return defaultValue + end + end; + + ---設定を保存する。 + ---@param self Config + ---@param storage Config.Storage 書き込み先のストレージ + ---@param keyName string 保存する設定の名前 + ---@param valueToSave any 保存する値 + saveConfig = function (self, storage, keyName, valueToSave) + if host:isHost() then + if storage == "PUBLIC" then + config:setName("BlueArchive_public") + else + config:setName(self.privateStorageName) + end + if self.defaultValues[keyName] == valueToSave then + config:save(keyName, nil) + else + config:save(keyName, valueToSave) + end + end + end; +} + +---アバター設定を他Figuraクライアントと同期する。 +---@param nameTypeId integer 表示名の種類ID +---@param shouldShowClubName boolean 部活名を表示するかどうか +---@param costumeId integer 現在の衣装ID +---@param shouldShowArmor boolean 防具が見えているかどうか +---@param shouldReplaceVehicleModels boolean 乗り物モデルを置き換えるかどうか +---@param isChatOpened boolean チャット欄を開いているかどうか +---@param additionalData {[string]: any} キャラクター固有用に追加で同期するデータ +function pings.syncAvatarConfig(nameTypeId, shouldShowClubName, costumeId, shouldShowArmor, shouldReplaceVehicleModels, isChatOpened, additionalData) + if not AvatarInstance.config.isSynced then + AvatarInstance.nameplate:setName(nameTypeId, shouldShowClubName) + AvatarInstance.armor.shouldShowArmor = shouldShowArmor + AvatarInstance.actionWheel.shouldReplaceVehicleModels = shouldReplaceVehicleModels + AvatarInstance.bubble.isChatOpened = isChatOpened + if costumeId >= 2 then + AvatarInstance.costume:setCostume(costumeId) + end + AvatarInstance.characterData.dataSync.syncData = additionalData + if AvatarInstance.characterData.dataSync.callbacks ~= nil and AvatarInstance.characterData.dataSync.callbacks.onDataSynced ~= nil then + AvatarInstance.characterData.dataSync.callbacks.onDataSynced(AvatarInstance.characterData) + end + AvatarInstance.config.isSynced = true + end +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/costume.lua b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/costume.lua new file mode 100644 index 0000000..650a557 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/costume.lua @@ -0,0 +1,113 @@ +---@class (exact) Costume : AvatarModule キャラクターのコスチュームを管理し、円滑に切り替えられるようにするクラス +---@field public costumeList string[] 利用可能なコスチューム一覧。BlueArchiveCharacterクラスから動的に生成される。 +---@field public currentCostume integer 現在のコスチューム +---@field public isChangingCostume boolean コスチュームを変更中かどうか +---@field public getCostumeLocalName fun(self: Costume, costumeId: integer) 設定言語を考慮した、衣装の名前を返す +---@field public setCostumeTextureOffset fun(offset: integer) メインモデルのテクスチャのオフセット値を設定する +---@field public setCostume fun(self: Costume, costume: integer) コスチュームを設定する +---@field public resetCostume fun(self: Costume) コスチュームをリセットしデフォルトのコスチュームにする + +Costume = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Costume + new = function (parent) + ---@type Costume + local instance = Avatar.instantiate(Costume, AvatarModule, parent) + + instance.costumeList = {} + instance.currentCostume = instance.parent.config:loadConfig("PRIVATE", "costume", 1) + instance.isChangingCostume = false + + return instance + end; + + ---初期化関数 + ---@param self Costume + init = function (self) + AvatarModule.init(self) + + for _, costume in ipairs(self.parent.characterData.costume.costumes) do + table.insert(self.costumeList, costume.name) + end + if self.currentCostume >= 2 then + if self.costumeList[self.currentCostume] ~= nil then + self:setCostume(self.currentCostume) + else + self.currentCostume = 1 + if host:isHost() then + self.parent.config:saveConfig("PRIVATE", "costume", 1) + end + end + end + self.parent.headBlock:generateHeadModel() + self.parent.portrait:generateHeadModel() + + events.TICK:register(function () + self.isChangingCostume = false + end) + end; + + ---設定言語を考慮した、衣装の名前を返す。 + ---@param self Costume + ---@param costumeId integer ローカル名を取得する衣装のID + ---@return string localCostumeName 衣装のローカル名 + getCostumeLocalName = function(self, costumeId) + return self.parent.locale:getLocale("costume."..self.costumeList[costumeId]) + end; + + ---メインモデルのテクスチャのオフセット値を設定する。 + ---@param offset integer オフセット値 + setCostumeTextureOffset = function (offset) + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Body.Body, models.models.main.Avatar.UpperBody.Body.BodyLayer, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArm, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmLayer, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.RightArmBottom, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.RightArmBottomLayer, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArm, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmLayer, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.LeftArmBottom, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.LeftArmBottomLayer, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLeg, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegLayer, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.RightLegBottom, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.RightLegBottomLayer, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLeg, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegLayer, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.LeftLegBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.LeftLegBottomLayer}) do + modelPart:setUVPixels(0, offset * 48) + end + end; + + ---コスチュームを設定する。 + ---@param self Costume + ---@param costume integer 設定するコスチューム + setCostume = function(self, costume) + self:resetCostume() + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onChange ~= nil then + self.parent.characterData.costume.callbacks.onChange(self.parent.characterData, self.parent.characterData.costume.costumes[costume].name:upper()) + end + self.parent.headBlock:generateHeadModel() + self.parent.portrait:generateHeadModel() + if self.parent.armor.isArmorVisible.chestplate then + self.parent.armor:setChestplate(self.parent.armor.armorSlotItems[2]) + end + if self.parent.armor.isArmorVisible.leggings then + self.parent.armor:setLeggings(self.parent.armor.armorSlotItems[3]) + end + if self.parent.armor.isArmorVisible.boots then + self.parent.armor:setBoots(self.parent.armor.armorSlotItems[4]) + end + self.currentCostume = costume + end; + + ---コスチュームをリセットし、デフォルトのコスチュームにする。 + ---@param self Costume + resetCostume = function (self) + self.isChangingCostume = true + if self.parent.exSkill.transitionCount > 0 then + self.parent.exSkill:forceStop() + end + self.setCostumeTextureOffset(0) + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onReset ~= nil then + self.parent.characterData.costume.callbacks.onReset(self.parent.characterData) + end + self.parent.headBlock:generateHeadModel() + self.parent.portrait:generateHeadModel() + if self.parent.armor.isArmorVisible.chestplate then + self.parent.armor:setChestplate(self.parent.armor.armorSlotItems[2]) + end + if self.parent.armor.isArmorVisible.leggings then + self.parent.armor:setLeggings(self.parent.armor.armorSlotItems[3]) + end + if self.parent.armor.isArmorVisible.boots then + self.parent.armor:setBoots(self.parent.armor.armorSlotItems[4]) + end + self.currentCostume = 1 + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/death_animation.lua b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/death_animation.lua new file mode 100644 index 0000000..65583f8 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/death_animation.lua @@ -0,0 +1,294 @@ +---@class (exact) DeathAnimation : AvatarModule プレイヤーが死亡した際のキャラクターがヘリコプターで回収されるアニメーションを管理するクラス +---@field package DEBUG_MODE boolean デバッグモードを有効にするかどうか。デバッグモードモードではxキーでフェーズ1のモデルを、cキーでフェーズ2のモデルを表示できる。 +---@field public dummyAvatarRoot? ModelPart 死亡アニメーションに使用されるダミーのアバターのルート。アバターが未生成の場合はnilが入っている。 +---@field package animationCount integer 死亡アニメーションの再生カウンター +---@field package animationPos Vector3 アニメーションを再生している場所の座標 +---@field package animationRot number アニメーションを再生している向き(度数法で示す) +---@field package costumeIndex integer 死亡アニメーションのコスチュームのインデックス +---@field package isPlayerInvisible boolean プレイヤーモデルが不可視状態かどうか +---@field package isScriptLoaded false スクリプトを全て読み込んだかどうか +---@field package removeUnsafeModel fun(target?: ModelPart) 存在しないかもしれないモデルパーツを安全に削除する +---@field package spawnHelicopterParticles fun(self: DeathAnimation) ヘリコプターの出現/消滅パーティクルを生成する +---@field package generateDummyAvatar fun(self: DeathAnimation, parent: ModelPart) 死亡アニメーション用のダミーアバターを生成する +---@field package resetDummyAvatar fun(avatarRoot: ModelPart) ダミーアバター状態をリセットする +---@field package setPhase1Pose fun(avatarRoot: ModelPart) ダミーアバターをフェーズ1のポーズにする +---@field package setPhase2Pose fun(avatarRoot: ModelPart) ダミーアバターをフェーズ2のポーズにする +---@field package play fun(self: DeathAnimation) 死亡アニメーションを再生する +---@field package stop fun(self: DeathAnimation) 死亡アニメーションを停止する + +DeathAnimation = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return DeathAnimation + new = function (parent) + ---@type DeathAnimation + local instance = Avatar.instantiate(DeathAnimation, AvatarModule, parent) + + instance.DEBUG_MODE = false + + instance.dummyAvatarRoot = models.models.death_animation.Avatar + instance.animationCount = 0 + instance.animationPos = vectors.vec3() + instance.animationRot = 0 + instance.costumeIndex = 1 + instance.isPlayerInvisible = false + instance.isScriptLoaded = false + + return instance + end; + + ---初期化関数 + ---@param self DeathAnimation + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + if self.parent.playerUtils.damageStatus == "DIED" then + self:play() + models.models.main:setVisible(false) + for _, vanillaModel in ipairs({vanilla_model.RIGHT_ITEM, vanilla_model.LEFT_ITEM, vanilla_model.ELYTRA}) do + vanillaModel:setVisible(false) + end + self.isPlayerInvisible = true + end + if self.isPlayerInvisible and player:getHealth() > 0 then + models.models.main:setVisible(true) + for _, vanillaModel in ipairs({vanilla_model.RIGHT_ITEM, vanilla_model.LEFT_ITEM, vanilla_model.ELYTRA}) do + vanillaModel:setVisible(true) + end + self.isPlayerInvisible = false + end + end) + + self.parent.avatarEvents.SCRIPT_INIT:register(function () + self.isScriptLoaded = true + end) + + if self.DEBUG_MODE then + models:addChild(models:newPart("script_death_animation_debug", "World")) + keybinds:newKeybind("[DEBUG] Spawn death animation phase1 model", "key.keyboard.x"):onPress(function () + self.removeUnsafeModel(models.script_death_animation_debug.Avatar) + self:generateDummyAvatar(models.script_death_animation_debug) + self.resetDummyAvatar(models.script_death_animation_debug.Avatar) + self.setPhase1Pose(models.script_death_animation_debug.Avatar) + models.script_death_animation_debug.Avatar:setPos(player:getPos():add(0, -0.75, 0):scale(16)) + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onPhase1 ~= nil then + self.parent.characterData.deathAnimation.callbacks.onPhase1(self.parent.characterData, models.script_death_animation_debug.Avatar, self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].name:upper()) + end + end) + keybinds:newKeybind("[DEBUG] Spawn death animation phase2 model", "key.keyboard.c"):onPress(function () + self.removeUnsafeModel(models.script_death_animation_debug.Avatar) + self:generateDummyAvatar(models.script_death_animation_debug) + self.resetDummyAvatar(models.script_death_animation_debug.Avatar) + self.setPhase2Pose(models.script_death_animation_debug.Avatar) + models.script_death_animation_debug.Avatar:setPos(player:getPos():scale(16)) + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onPhase1 ~= nil then + self.parent.characterData.deathAnimation.callbacks.onPhase1(self.parent.characterData, models.script_death_animation_debug.Avatar, self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].name:upper()) + end + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onPhase2 ~= nil then + self.parent.characterData.deathAnimation.callbacks.onPhase2(self.parent.characterData, models.script_death_animation_debug.Avatar, self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].name:upper()) + end + end) + end + end; + + ---存在しないかもしれないモデルパーツを安全に削除する。 + ---@param target? ModelPart 削除対象のモデルパーツ + removeUnsafeModel = function (target) + if target ~= nil then + target:getParent():removeChild(target) + target:remove() + end + end; + + ---ヘリコプターの出現/消滅パーティクルを生成する。 + ---@param self DeathAnimation + spawnHelicopterParticles = function (self) + local helicopterPos = self.parent.modelUtils.getModelWorldPos(models.models.death_animation.Helicopter) + for _ = 1, 100 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:poof"), helicopterPos:copy():add(vectors.rotateAroundAxis(self.animationRot, math.random() * 9.375 - 4.6875, math.random() * 11.125 - 5.5625, math.random() * 23.875 - 11.9375, 0, math.abs(helicopterPos.y), 0))) + end + end; + + ---死亡アニメーション用のダミーアバターを生成する。 + ---@param self DeathAnimation + ---@param parent ModelPart ダミーアバターをアタッチする親のモデルパーツ + generateDummyAvatar = function (self, parent) + local isArmorVisible = { + helmet = self.parent.armor.isArmorVisible.helmet; + chestplate = self.parent.armor.isArmorVisible.chestplate; + leggings = self.parent.armor.isArmorVisible.leggings; + boots = self.parent.armor.isArmorVisible.boots; + } + if isArmorVisible.helmet then + self.parent.armor:setHelmet(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + if isArmorVisible.chestplate then + self.parent.armor:setChestplate(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + if isArmorVisible.leggings then + self.parent.armor:setLeggings(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + if isArmorVisible.boots then + self.parent.armor:setBoots(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + self.parent.physics:disable() + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onBeforeModelCopy ~= nil then + self.parent.characterData.deathAnimation.callbacks.onBeforeModelCopy(self.parent.characterData, self.isScriptLoaded) + end + + parent:addChild(self.parent.modelUtils:copyModel(models.models.main.Avatar)) + parent.Avatar.Head.FaceParts.Eyes.EyeRight:setUVPixels(self.parent.characterData.faceParts.leftEye.TIRED:copy():scale(6)) + parent.Avatar.Head.FaceParts.Eyes.EyeLeft:setUVPixels(self.parent.characterData.faceParts.rightEye.TIRED:copy():scale(6)) + parent.Avatar.Head.HeadRing:setRot() + for _, modelPart in ipairs({parent.Avatar.UpperBody.Arms.RightArm.RightArmBottom.RightItemPivot, parent.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.LeftItemPivot}) do + modelPart:remove() + end + local unsafeModels = {parent.Avatar.Head.FaceParts.Mouth, parent.Avatar.Head.ArmorH, parent.Avatar.UpperBody.Body.ArmorB, parent.Avatar.UpperBody.Arms.RightArm.ArmorRA, parent.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB, parent.Avatar.UpperBody.Arms.LeftArm.ArmorLA, parent.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB, parent.Avatar.LowerBody.Legs.RightLeg.ArmorRL, parent.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB, parent.Avatar.LowerBody.Legs.LeftLeg.ArmorLL, parent.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB} + for i = 1, 11 do + self.removeUnsafeModel(unsafeModels[i]) + end + if parent.Avatar.UpperBody.Body.Gun ~= nil then + if self.parent.characterData.gun.gunPosition.put.type == "BODY" then + local leftHanded = player:isLeftHanded() + parent.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, 12, 0):add(self.parent.characterData.gun.gunPosition.put.pos[leftHanded and "left" or "right"])) + parent.Avatar.UpperBody.Body.Gun:setRot(self.parent.characterData.gun.gunPosition.put.rot[leftHanded and "left" or "right"]) + else + parent.Avatar.UpperBody.Body.Gun:remove() + end + end + + if isArmorVisible.helmet then + self.parent.armor:setHelmet(self.parent.armor.armorSlotItems[1]) + end + if isArmorVisible.chestplate then + self.parent.armor:setChestplate(self.parent.armor.armorSlotItems[2]) + end + if isArmorVisible.leggings then + self.parent.armor:setLeggings(self.parent.armor.armorSlotItems[3]) + end + if isArmorVisible.boots then + self.parent.armor:setBoots(self.parent.armor.armorSlotItems[4]) + end + self.parent.physics:enable() + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onAfterModelCopy ~= nil then + self.parent.characterData.deathAnimation.callbacks.onAfterModelCopy(self.parent.characterData, self.isScriptLoaded) + end + end; + + ---ダミーアバター状態をリセットする。 + ---@param avatarRoot ModelPart ダミーアバターのルート + resetDummyAvatar = function (avatarRoot) + for _, modelPart in ipairs({avatarRoot, avatarRoot.Head, avatarRoot.UpperBody, avatarRoot.UpperBody.Body, avatarRoot.UpperBody.Arms, avatarRoot.UpperBody.Arms.RightArm, avatarRoot.UpperBody.Arms.RightArm.RightArmBottom, avatarRoot.UpperBody.Arms.LeftArm, avatarRoot.UpperBody.Arms.LeftArm.LeftArmBottom, avatarRoot.LowerBody, avatarRoot.LowerBody.Legs, avatarRoot.LowerBody.Legs.RightLeg, avatarRoot.LowerBody.Legs.RightLeg.RightLegBottom, avatarRoot.LowerBody.Legs.LeftLeg, avatarRoot.LowerBody.Legs.LeftLeg.LeftLegBottom}) do + modelPart:setPos() + modelPart:setRot() + modelPart:setScale() + end + end; + + ---ダミーアバターをフェーズ1のポーズにする。 + ---@param avatarRoot ModelPart ダミーアバターのルート + setPhase1Pose = function (avatarRoot) + avatarRoot:setPos(0, -12, 0) + avatarRoot.Head:setRot(-30, 0, 0) + avatarRoot.UpperBody.Arms.RightArm:setRot(35, 0, -20) + avatarRoot.UpperBody.Arms.LeftArm:setRot(35, 0, 20) + avatarRoot.LowerBody.Legs.RightLeg:setRot(90, -10, 0) + avatarRoot.LowerBody.Legs.LeftLeg:setRot(90, 10, 0) + end; + + ---ダミーアバターをフェーズ2のポーズにする。 + ---@param avatarRoot ModelPart ダミーアバターのルート + setPhase2Pose = function (avatarRoot) + avatarRoot:setPos(3, -210, 2) + avatarRoot:setRot(105, 75, 90) + avatarRoot.Head:setRot(0, -40, 0) + avatarRoot.UpperBody.Arms.RightArm:setRot(47.5, 0, 20) + avatarRoot.UpperBody.Arms.LeftArm:setRot(-30, 0, -15) + avatarRoot.LowerBody.Legs.RightLeg:setRot(80, 0, 0) + avatarRoot.LowerBody.Legs.RightLeg.RightLegBottom:setRot(-75, 0, 0) + avatarRoot.LowerBody.Legs.LeftLeg:setRot(10, 0, 0) + avatarRoot:setLight() + end; + + ---死亡アニメーションを再生する。 + ---@param self DeathAnimation + play = function (self) + self:stop() + self.costumeIndex = self.parent.costume.currentCostume + + --ダミーアバターを生成する。 + local unsafeModels = {models.models.death_animation.Avatar, models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14.Avatar} + for i = 1, 2 do + self.removeUnsafeModel(unsafeModels[i]) + end + self:generateDummyAvatar(models.models.death_animation) + + --死亡アニメーションを生成する。 + self.resetDummyAvatar(models.models.death_animation.Avatar) + self.setPhase1Pose(models.models.death_animation.Avatar) + self.animationPos = player:getPos() + models.models.death_animation:setPos(self.animationPos:copy():scale(16)) + self.animationRot = (player:getBodyYaw() * -1 + 180) % 360 + models.models.death_animation:setRot(0, self.animationRot) + models.models.death_animation:setVisible(true) + animations["models.death_animation"]["death_animation"]:play() + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onPhase1 ~= nil then + self.parent.characterData.deathAnimation.callbacks.onPhase1(self.parent.characterData, models.models.death_animation.Avatar, self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].name:upper()) + end + + if events.TICK:getRegisteredCount("death_animation_tick") == 0 then + events.TICK:register(function () + local particleAnchorPos = self.parent.modelUtils.getModelWorldPos(models.models.death_animation.DeathAnimationParticleAnchor) + for _ = 1, 3 do + local particleRot = math.random() * math.pi * 2 + local particleOffset = math.random() * 3 + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:poof"), particleAnchorPos:copy():add(math.cos(particleRot) * particleOffset, 0, math.sin(particleRot) * particleOffset)):setVelocity(math.cos(particleRot), 0, math.sin(particleRot)) + + end + if self.animationCount % 2 == 1 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.bamboo_wood_door.close"), self.parent.modelUtils.getModelWorldPos(models.models.death_animation.Helicopter.DeathAnimationSoundAnchor1), 1, 0.5):setAttenuation(2) + end + if self.animationCount < 120 then + models.models.death_animation.Avatar:setLight(world.getLightLevel(self.animationPos)) + end + if self.animationCount == 1 then + self:spawnHelicopterParticles() + elseif self.animationCount == 10 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.iron_door.open"), self.parent.modelUtils.getModelWorldPos(models.models.death_animation.Helicopter.DeathAnimationSoundAnchor1), 1, 0.5) + elseif self.animationCount >= 57 and self.animationCount < 76 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.attack.sweep"), self.parent.modelUtils.getModelWorldPos(models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14), 0.25, -0.056 * (self.animationCount - 57) + 2) + elseif self.animationCount == 120 then + self.dummyAvatarRoot = models.models.death_animation.Avatar:moveTo(models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14) + self.setPhase2Pose(models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14.Avatar) + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onPhase2 ~= nil then + self.parent.characterData.deathAnimation.callbacks.onPhase2(self.parent.characterData, models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14.Avatar, self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].name:upper()) + end + elseif self.animationCount == 180 then + models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14.Avatar:setVisible(false) + elseif self.animationCount == 230 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.iron_door.close"), self.parent.modelUtils.getModelWorldPos(models.models.death_animation.Helicopter.DeathAnimationSoundAnchor1), 1, 0.5) + elseif self.animationCount == 255 then + self:spawnHelicopterParticles() + self:stop() + end + end, "death_animation_tick") + end + if events.WORLD_TICK:getRegisteredCount("death_animation_world_tick") == 0 then + events.WORLD_TICK:register(function () + self.animationCount = self.animationCount + 1 + end, "death_animation_world_tick") + end + end; + + ---死亡アニメーションを停止する。 + ---@param self DeathAnimation + stop = function (self) + models.models.death_animation:setVisible(false) + animations["models.death_animation"]["death_animation"]:stop() + events.TICK:remove("death_animation_tick") + events.WORLD_TICK:remove("death_animation_world_tick") + self.dummyAvatarRoot = nil + self.animationCount = 0 + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/events/abstract_event.lua b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/events/abstract_event.lua new file mode 100644 index 0000000..e6af2e5 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/events/abstract_event.lua @@ -0,0 +1,71 @@ +---@class AbstractEvent : AvatarModule +---@field public registerTable {[string]: fun()[]} 登録されたコールバック関数を管理するテーブル +---@field public register fun(self: AbstractEvent, callback: fun(...: any), name?: string) イベントにコールバック関数登録する +---@field public remove fun(self: AbstractEvent, name: string) 指定した名前のコールバック関数を1つ削除する +---@field public getRegisteredCount fun(self: AbstractEvent, name: string): integer 指定した名前で登録されているコールバック関数の数を返す +---@field public fire fun(self: AbstractEvent, ...: any) 登録された全てのコールバック関数を呼ぶ + +AbstractEvent = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return AbstractEvent + new = function (parent) + ---@type AbstractEvent + local instance = Avatar.instantiate(AbstractEvent, AvatarModule, parent) + + instance.registerTable = {} + + return instance + end; + + ---イベントにコールバック関数登録する。 + ---@param self AbstractEvent + ---@param callback fun(...: any) 登録するコールバック関数 + ---@param name? string コールバック関数の名前 + register = function (self, callback, name) + local callbackName = name ~= nil and name or client.intUUIDToString(client.generateUUID()) + if self.registerTable[callbackName] ~= nil then + table.insert(self.registerTable[callbackName], callback) + else + local callbackTable = {} + table.insert(callbackTable, callback) + self.registerTable[callbackName] = callbackTable + end + end; + + ---指定した名前のコールバック関数を1つ削除する。 + ---@param self AbstractEvent + ---@param name string コールバック関数の名前 + remove = function (self, name) + if self.registerTable[name] ~= nil then + table.remove(self.registerTable[name]) + if #self.registerTable[name] == 0 then + self.registerTable[name] = nil + end + end + end; + + ---指定した名前で登録されているコールバック関数の数を返す。 + ---@param self AbstractEvent + ---@param name string コールバック関数の名前 + ---@return integer registeredCount 登録されていたコールバック関数の数 + getRegisteredCount = function (self, name) + if self.registerTable[name] ~= nil then + return #self.registerTable[name] + else + return 0 + end + end; + + ---登録された全てのコールバック関数を呼ぶ。 + ---@param self AbstractEvent + ---@param ... any callbackArgs コールバック引数 + fire = function (self, ...) + for _, eventTable in pairs(self.registerTable) do + for _, callback in ipairs(eventTable) do + ---@diagnostic disable-next-line: redundant-parameter + callback(...) + end + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/events/avatar_events.lua b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/events/avatar_events.lua new file mode 100644 index 0000000..b2fd6e8 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/events/avatar_events.lua @@ -0,0 +1,16 @@ +---@class AvatarEvents : AvatarModule アバター独自のイベントを定義し、管理するクラス +---@field public SCRIPT_INIT ScriptInitEvent 全てのスクリプトの初期化が完了した後に1度だけ呼ばれるイベント + +AvatarEvents = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return AvatarEvents + new = function (parent) + ---@type AvatarEvents + local instance = Avatar.instantiate(AvatarEvents, AvatarModule, parent) + + instance.SCRIPT_INIT = ScriptInitEvent.new(instance.parent) + + return instance + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/events/script_init_event.lua b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/events/script_init_event.lua new file mode 100644 index 0000000..44c62e7 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/events/script_init_event.lua @@ -0,0 +1,25 @@ +---@class ScriptInitEvent : AbstractEvent 全てのスクリプトの初期化が完了した後に1度だけ呼ばれるイベント +---@field public register fun(self: AbstractEvent, callback: fun(), name?: string) イベントにコールバック関数登録する +---@field public fire fun(self: AbstractEvent) 登録された全てのコールバック関数を呼ぶ + +ScriptInitEvent = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ScriptInitEvent + new = function (parent) + ---@type ScriptInitEvent + local instance = Avatar.instantiate(ScriptInitEvent, AbstractEvent, parent) + + return instance + end; + + ---登録された全てのコールバック関数を呼ぶ。 + ---@param self ScriptInitEvent + fire = function (self, ...) + for _, eventTable in pairs(self.registerTable) do + for _, callback in ipairs(eventTable) do + callback() + end + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/ex_skill/ex_skill.lua b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/ex_skill/ex_skill.lua new file mode 100644 index 0000000..dcc10ca --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/ex_skill/ex_skill.lua @@ -0,0 +1,434 @@ +---@alias ExSkill.AutoPlayMode +---| "NONE" # 自動再生なし +---| "MAIN" # メインExスキル +---| "SUB" # サブExスキル + +---@alias ExSkill.TransitionPhase +---| "PRE" # Exスキルアニメーション開始前 +---| "POST" # Exスキルアニメーション終了後 + +---@class (exact) ExSkill : AvatarModule Exスキルのアニメーションを管理するクラス +---@field package AUTO_PLAY ExSkill.AutoPlayMode アバター読み込み時に自動的にExスキルが再生される。デバッグ用。 +---@field public frameParticleAmount integer Exスキルフレームのパーティクルの量:1. 標準, 2. 少なめ, 3. なし, 4. Exスキルフレーム非表示、パーティクル量は標準 +---@field package exSkillIndex integer 現在再生中のExスキルのインデックス番号 +---@field public animationCount integer Exスキルのアニメーション再生中に増加するカウンター。-1はアニメーション停止中を示す。 +---@field package animationLength number Exスキルのアニメーションの長さ。スクリプトで自動で代入する。 +---@field public transitionCount number Exスキルのアニメーション前後のカメラのトランジションの進捗を示すカウンター +---@field package keyPressCount integer Exスキルキーを押下し続ける時間を計るカウンター +---@field package bodyYaw number[] プレイヤーの体の回転 +---@field package isDebugInit boolean デバッグモードが初期化されたかどうか +---@field public canPlayAnimation fun(self: ExSkill): boolean アニメーションが再生可能かどうかを返す +---@field package transition fun(self: ExSkill, direction: ExSkill.TransitionPhase, callback: fun()) Exスキルのアニメーションの前後のカメラのトランジションを行う関数 +---@field public play fun(self: ExSkill, isSubExSkill: boolean) アニメーションを再生する +---@field public stop fun(self: ExSkill) アニメーションを停止する +---@field public forceStop fun(self: ExSkill) アニメーションを停止する。終了時のトランジションも無効。 + +ExSkill = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ExSkill + new = function (parent) + ---@type ExSkill + local instance = Avatar.instantiate(ExSkill, AvatarModule, parent) + + instance.AUTO_PLAY = "NONE" + + instance.frameParticleAmount = instance.parent.config:loadConfig("PRIVATE", "exSkillFrameParticleAmount", 1) + instance.exSkillIndex = 1 + instance.animationCount = -1 + instance.animationLength = 0 + instance.transitionCount = 0 + instance.keyPressCount = 0 + instance.bodyYaw = {} + instance.isDebugInit = false + + return instance + end; + + ---初期化関数 + ---@param self ExSkill + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + for _, exSkill in ipairs(self.parent.characterData.exSkill) do + local offset = (exSkill.camera.fixMode ~= nil and exSkill.camera.fixMode) and 1 or 0.9375 + exSkill.camera.start.pos:mul(-1, 1, 1):scale(1 / 16 * offset) + exSkill.camera.fin.pos:mul(-1, 1, 1):scale(1 / 16 * offset) + end + + local exSkillKey = self.parent.keyManager:register("ex_skill", self.parent.config:loadConfig("PRIVATE", "keybind.ex_skill", "key.keyboard.g")) + exSkillKey:setOnPress(function () + while events.TICK:getRegisteredCount("ex_skill_keypress_tick") > 0 do + events.TICK:remove("ex_skill_keypress_tick") + end + events.TICK:register(function () + if self.keyPressCount == 30 then + events.TICK:remove("ex_skill_keypress_tick") + self.parent.placementObjectManager:removeAll() + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.zombie.break_wooden_door"), player:getPos(), 0.25, 2) + self.keyPressCount = 0 + return + end + self.keyPressCount = self.keyPressCount + 1 + end, "ex_skill_keypress_tick") + end) + exSkillKey:setOnRelease(function () + events.TICK:remove("ex_skill_keypress_tick") + if self.keyPressCount > 0 then + if self:canPlayAnimation() and self.animationCount == -1 and self.transitionCount == 0 then + pings.exSkill() + else + print(self.parent.locale:getLocale("key_bind.ex_skill.unavailable"..(renderer:isFirstPerson() and "_firstperson" or ""))) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + end + self.keyPressCount = 0 + end + end) + self.parent.keyManager:register("ex_skill_sub", self.parent.config:loadConfig("PRIVATE", "keybind.ex_skill_sub", "key.keyboard.h")):setOnPress(function () + if self:canPlayAnimation() and self.animationCount == -1 and self.transitionCount == 0 and self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill ~= nil then + pings.subExSkill() + else + print(self.parent.locale:getLocale(self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill == nil and "action_wheel.main.action_6.unavailable" or "key_bind.ex_skill.unavailable"..(renderer:isFirstPerson() and "_firstperson" or ""))) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + end + end) + end + + table.insert(self.bodyYaw, player:getBodyYaw() % 360) + + events.TICK:register(function () + if not renderer:isFirstPerson() then + table.insert(self.bodyYaw, player:getBodyYaw() % 360) + if #self.bodyYaw == 3 then + table.remove(self.bodyYaw, 1) + end + end + end) + + if self.AUTO_PLAY ~= "NONE" then + events.TICK:register(function () + if not self.isDebugInit then + events.TICK:remove("ex_skill_debug_tick") + self:play(self.AUTO_PLAY == "SUB") + self.isDebugInit = true + end + end, "ex_skill_debug_tick") + end + end; + + ---アニメーションが再生可能かどうかを返す。 + ---@param self ExSkill + ---@return boolean canPlayAnimation Exスキルアニメーションが再生可能かどうか + canPlayAnimation = function (self) + return player:getPose() == "STANDING" and player:getVelocity():length() < 0.01 and self.bodyYaw[1] == self.bodyYaw[2] and player:isOnGround() and not player:isInWater() and not player:isInLava() and player:getFrozenTicks() == 0 and not renderer:isFirstPerson() and self.parent.playerUtils.damageStatus == "NONE" and player:getSwingArm() == nil and player:getActiveItem().id == "minecraft:air" and not self.parent.costume.isChangingCostume + end; + + ---Exスキルのアニメーションの前後のカメラのトランジションを行う関数 + ---@param self ExSkill + ---@param direction ExSkill.TransitionPhase カメラのトランジションの向き + ---@param callback fun() トランジション終了時に呼び出されるコールバック関数 + transition = function (self, direction, callback) + events.TICK:register(function () + if not client:isPaused() then + if events.TICK:getRegisteredCount("ex_skill_transition_tick") == 1 then + self.transitionCount = direction == "PRE" and math.min(self.transitionCount + 1, 10) or math.max(self.transitionCount - 1, 0) + end + if (direction == "PRE" and self.transitionCount == 10) or (direction == "POST" and self.transitionCount == 0) then + if host:isHost() then + local windowSize = client:getScaledWindowSize() + models.models.ex_skill_frame.Gui.FrameBar:setPos(0, 0, 0) + if direction == "PRE" and self.frameParticleAmount < 4 then + for _, modelPart in ipairs({models.models.ex_skill_frame.Gui.Frame.FrameTopLeft, models.models.ex_skill_frame.Gui.Frame.FrameTopRight, models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft, models.models.ex_skill_frame.Gui.Frame.FrameBottomRight}) do + modelPart:setVisible(true) + end + models.models.ex_skill_frame.Gui.Frame.FrameTop:setPos(-windowSize.x + 16, -16) + models.models.ex_skill_frame.Gui.Frame.FrameTop:setScale(windowSize.x / 16 - 2, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setPos(-16, -windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setScale(1, windowSize.y / 16 - 2, 1) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setPos(-windowSize.x + 16, -windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setScale(windowSize.x / 16 - 2, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setPos(-windowSize.x, -windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setScale(1, windowSize.y / 16 - 2, 1) + elseif direction == "POST" then + for _, modelPart in ipairs({models.models.ex_skill_frame.Gui.Frame.FrameTopLeft, models.models.ex_skill_frame.Gui.Frame.FrameTopRight, models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft, models.models.ex_skill_frame.Gui.Frame.FrameBottomRight}) do + modelPart:setVisible(false) + end + for _, modelPart in ipairs({models.models.ex_skill_frame.Gui.Frame.FrameTop, models.models.ex_skill_frame.Gui.Frame.FrameLeft, models.models.ex_skill_frame.Gui.Frame.FrameBottom, models.models.ex_skill_frame.Gui.Frame.FrameRight}) do + modelPart:setScale(0, 0, 0) + end + end + end + callback() + events.TICK:remove("ex_skill_transition_tick") + events.RENDER:remove("ex_skill_transition_render") + end + if host:isHost() then + local barPos = models.models.ex_skill_frame.Gui.FrameBar:getPos().x * -1 + local windowSizeY = client:getScaledWindowSize().y + if self.frameParticleAmount ~= 3 and self.transitionCount >= 1 and self.transitionCount <= 9 then + for _ = 1, windowSizeY / (self.frameParticleAmount == 2 and 100 or 20) do + local particleOffset = math.random() * windowSizeY + self.parent.frameParticleManager:spawn(vectors.vec2(barPos - particleOffset - math.random() * 50, particleOffset):scale(-1), vectors.vec2(500, 0)) + end + end + end + end + end, "ex_skill_transition_tick") + + events.RENDER:register(function (delta) + --カメラのトランジション + if not client:isPaused() and host:isHost() then + local lookDir = player:getLookDir() + local cameraRot = renderer:isCameraBackwards() and vectors.vec3(math.deg(math.asin(lookDir.y)), math.deg(math.atan2(lookDir.z, lookDir.x) + math.pi / 2)) or vectors.vec3(math.deg(math.asin(-lookDir.y)), math.deg(math.atan2(lookDir.z, lookDir.x) - math.pi / 2)) + local targetCameraPos = vectors.vec3() + local targetCameraRot = vectors.vec3() + if direction == "PRE" then + targetCameraPos = vectors.rotateAroundAxis(self.bodyYaw[2] * -1 + 180, self.parent.characterData.exSkill[self.exSkillIndex].camera.start.pos, 0, 1):add(0, -1.62) + targetCameraRot = self.parent.characterData.exSkill[self.exSkillIndex].camera.start.rot:copy():add(0, self.bodyYaw[2], 0) + else + targetCameraPos = vectors.rotateAroundAxis(self.bodyYaw[2] * -1 + 180, self.parent.characterData.exSkill[self.exSkillIndex].camera.fin.pos, 0, 1):add(0, -1.62) + targetCameraRot = self.parent.characterData.exSkill[self.exSkillIndex].camera.fin.rot:copy():add(0, self.bodyYaw[2], 0) + end + if math.abs(cameraRot.y - targetCameraRot.y) >= 180 then + if cameraRot.y < targetCameraRot.y then + cameraRot.y = cameraRot.y + 360 + else + targetCameraRot.y = targetCameraRot.y + 360 + end + end + local trueDelta = direction == "PRE" and delta or delta * -1 + self.parent.cameraManager.setCameraPivot(targetCameraPos:scale((self.transitionCount + trueDelta) / 10)) + self.parent.cameraManager.setCameraRot(targetCameraRot:copy():sub(cameraRot):scale((self.transitionCount + trueDelta) / 10):add(cameraRot)) + self.parent.cameraManager:setThirdPersonCameraDistance(4 - (self.transitionCount + trueDelta) / 10 * 4) + + --フレーム演出 + local windowSize = client:getScaledWindowSize() + local barPos = (windowSize.x + windowSize.y + math.sqrt(2) * 16) * (direction == "PRE" and (self.transitionCount + trueDelta) / 10 or (1 - (self.transitionCount + trueDelta) / 10)) + models.models.ex_skill_frame.Gui.FrameBar:setPos(-barPos, 0, 0) + + if self.frameParticleAmount < 4 then + local frameTopLength = math.clamp(barPos, 32, windowSize.x) + local frameLeftLength = math.clamp(barPos, 32, windowSize.y) + local frameBottomLength = math.clamp(barPos - windowSize.y + 16, 32, windowSize.x) + local frameRightLength = math.clamp(barPos - windowSize.x + 16, 32, windowSize.y) + + models.models.ex_skill_frame.Gui.Frame.FrameTopLeft:setPos(-16, -16) + models.models.ex_skill_frame.Gui.Frame.FrameTopRight:setPos(-windowSize.x, -16) + models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft:setPos(-16, -windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameBottomRight:setPos(-windowSize.x, -windowSize.y) + if direction == "PRE" then + models.models.ex_skill_frame.Gui.Frame.FrameTopLeft:setVisible(barPos >= 16) + models.models.ex_skill_frame.Gui.Frame.FrameTopRight:setVisible(barPos >= windowSize.x + 16) + models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft:setVisible(barPos >= windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameBottomRight:setVisible(barPos >= windowSize.x + windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameTop:setPos(-frameTopLength + 16, -16) + models.models.ex_skill_frame.Gui.Frame.FrameTop:setScale(frameTopLength / 16 - 2, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setPos(-16, -frameLeftLength + 16) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setScale(1, frameLeftLength / 16 - 2, 1) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setPos(-frameBottomLength + 16, -windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setScale(frameBottomLength / 16 - 2, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setPos(-windowSize.x, -frameRightLength + 16) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setScale(1, frameRightLength / 16 - 2, 1) + else + models.models.ex_skill_frame.Gui.Frame.FrameTopLeft:setVisible(barPos < 16) + models.models.ex_skill_frame.Gui.Frame.FrameTopRight:setVisible(barPos < windowSize.x + 16) + models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft:setVisible(barPos < windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameBottomRight:setVisible(barPos < windowSize.x + windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameTop:setPos(-windowSize.x + 16, -16) + models.models.ex_skill_frame.Gui.Frame.FrameTop:setScale((windowSize.x - frameTopLength) / 16, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setPos(-16, -windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setScale(1, (windowSize.y - frameLeftLength) / 16, 1) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setPos(-windowSize.x + 16, -windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setScale((windowSize.x - frameBottomLength) / 16, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setPos(-windowSize.x, -windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setScale(1, (windowSize.y - frameRightLength) / 16, 1) + end + end + end + end, "ex_skill_transition_render") + end; + + ---アニメーションを再生する。 + ---@param self ExSkill + ---@param isSubExSkill boolean サブExスキルを再生するかどうか + play = function (self, isSubExSkill) + if isSubExSkill then + if self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill ~= nil then + self.exSkillIndex = self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill + else + return + end + else + self.exSkillIndex = self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].exSkill + end + + self.parent.bubble:stop() + renderer:setFOV(70 / client:getFOV()) + renderer:setRenderHUD(false) + self.parent.cameraManager:setCameraCollisionDenial(true) + models.models.ex_skill_frame.Gui:setColor(self.parent.characterData.exSkill[self.exSkillIndex].formationType == "STRIKER" and vectors.vec3(1, 0.75, 0.75) or vectors.vec3(0.75, 1, 1)) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.levelup"), player:getPos(), 5, 2) + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPreTransition ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPreTransition(self.parent.characterData) + end + models.models.ex_skill_frame.Gui.FrameBar:setScale(1, client:getScaledWindowSize().y * math.sqrt(2) / 16 + 1, 1) + + events.TICK:register(function () + if not self:canPlayAnimation() then + self:forceStop() + end + end, "ex_skill_tick") + + self:transition("PRE", function () + self.parent.physics:disable() + for _, itemModel in ipairs({vanilla_model.RIGHT_ITEM, vanilla_model.LEFT_ITEM}) do + itemModel:setVisible(false) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].models) do + modelPart:setVisible(true) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].animations) do + animations["models."..modelPart]["ex_skill_"..self.exSkillIndex]:play() + end + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPreAnimation ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPreAnimation(self.parent.characterData) + end + self.parent.cameraManager:setThirdPersonCameraDistance(0) + + events.TICK:register(function () + if not client:isPaused() then + if self.animationCount == self.animationLength - 1 then + self:stop() + elseif self:canPlayAnimation() and animations["models.main"]["ex_skill_"..self.exSkillIndex]:isPlaying() then + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onAnimationTick ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onAnimationTick(self.parent.characterData, self.animationCount) + end + self.animationCount = self.animationCount > -1 and self.animationCount + 1 or self.animationCount + end + + if host:isHost() then + local windowSize = client:getScaledWindowSize() + local windowCenter = windowSize:copy():scale(0.5) + if self.frameParticleAmount < 3 then + for _ = 1, (windowSize.x * 2 + windowSize.y * 2) / (self.frameParticleAmount == 1 and 100 or 500) do + local particlePos = vectors.vec2(math.random() * (windowSize.x * 2 + windowSize.y * 2), math.random() * 16) + particlePos = particlePos.x <= windowSize.x and particlePos or (particlePos.x <= windowSize.x + windowSize.y and vectors.vec2(windowSize.x - particlePos.y, particlePos.x - windowSize.x) or (particlePos.x <= windowSize.x * 2 + windowSize.y and vectors.vec2(particlePos.x - (windowSize.x + windowSize.y), windowSize.y - particlePos.y) or vectors.vec2(particlePos.y, particlePos.x - (windowSize.x * 2 + windowSize.y)))) + self.parent.frameParticleManager:spawn(particlePos:copy():scale(-1), windowCenter:copy():sub(particlePos):scale(0.25)) + end + end + end + end + end, "ex_skill_animation_tick") + + if host:isHost() then + events.RENDER:register(function () + if not client:isPaused() then + self.parent.cameraManager.setCameraPivot(vectors.rotateAroundAxis(self.bodyYaw[2] * -1 + 180, models.models.main.CameraAnchor:getAnimPos():scale(1 / 16 * ((self.parent.characterData.exSkill[self.exSkillIndex].camera.fixMode ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].camera.fixMode) and 1 or 0.9375)), 0, 1, 0):add(0, -1.62, 0)) + self.parent.cameraManager.setCameraRot(models.models.main.CameraAnchor:getAnimRot():scale(-1):add(0, self.bodyYaw[2], 0)) + end + end, "ex_skill_animation_render") + end + self.animationCount = 0 + self.parent.gun:processGunTick() + self.animationLength = math.round(animations["models.main"]["ex_skill_"..self.exSkillIndex]:getLength() * 20) + end) + end; + + ---アニメーションを停止する。 + ---@param self ExSkill + stop = function (self) + events.TICK:remove("ex_skill_animation_tick") + if host:isHost() then + events.RENDER:remove("ex_skill_animation_render") + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.levelup"), player:getPos(), 5, 2):setAttenuation(100) + end + + for _, itemModel in ipairs({vanilla_model.RIGHT_ITEM, vanilla_model.LEFT_ITEM}) do + itemModel:setVisible(true) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].models) do + modelPart:setVisible(false) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].animations) do + animations["models."..modelPart]["ex_skill_"..self.exSkillIndex]:stop() + end + self.parent.physics:enable() + renderer:setFOV() + self.animationCount = -1 + + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostAnimation ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostAnimation(self.parent.characterData, false) + end + self:transition("POST", function () + events.TICK:remove("ex_skill_tick") + self.parent.cameraManager.setCameraPivot() + self.parent.cameraManager.setCameraRot() + self.parent.cameraManager:setThirdPersonCameraDistance(4) + self.parent.cameraManager:setCameraCollisionDenial(false) + renderer:setRenderHUD(true) + + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostTransition ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostTransition(self.parent.characterData, false) + end + end) + end; + + ---アニメーションを停止する。終了時のトランジションも無効。 + ---@param self ExSkill + forceStop = function (self) + events.RENDER:remove("ex_skill_transition_render") + if host:isHost() then + events.TICK:remove("ex_skill_transition_tick") + events.RENDER:remove("ex_skill_animation_render") + end + + for _, itemModel in ipairs({vanilla_model.RIGHT_ITEM, vanilla_model.LEFT_ITEM}) do + itemModel:setVisible(true) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].models) do + modelPart:setVisible(false) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].animations) do + animations["models."..modelPart]["ex_skill_"..self.exSkillIndex]:stop() + end + for _, eventName in ipairs({"ex_skill_tick", "ex_skill_animation_tick"}) do + events.TICK:remove(eventName) + end + self.parent.physics:enable() + models.models.ex_skill_frame.Gui.FrameBar:setPos() + for _, modelPart in ipairs({models.models.ex_skill_frame.Gui.Frame.FrameTopLeft, models.models.ex_skill_frame.Gui.Frame.FrameTopRight, models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft, models.models.ex_skill_frame.Gui.Frame.FrameBottomRight}) do + modelPart:setVisible(false) + end + for _, modelPart in ipairs({models.models.ex_skill_frame.Gui.Frame.FrameTop, models.models.ex_skill_frame.Gui.Frame.FrameLeft, models.models.ex_skill_frame.Gui.Frame.FrameBottom, models.models.ex_skill_frame.Gui.Frame.FrameRight}) do + modelPart:setScale(0, 0, 0) + end + self.parent.faceParts:resetEmotion() + self.parent.cameraManager.setCameraPivot() + self.parent.cameraManager.setCameraRot() + self.parent.cameraManager:setThirdPersonCameraDistance(4) + self.parent.cameraManager:setCameraCollisionDenial(false) + renderer:setRenderHUD(true) + renderer:setFOV() + + if self.animationCount >= 0 and self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostAnimation ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostAnimation(self.parent.characterData, true) + end + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostTransition ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostTransition(self.parent.characterData, true) + end + + self.animationCount = -1 + self.transitionCount = 0 + end; +} + +---Exスキルを再生する。 +function pings.exSkill() + AvatarInstance.exSkill:play(false) +end + +---サブExスキルを再生する。 +function pings.subExSkill() + AvatarInstance.exSkill:play(true) +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/ex_skill/ex_skill_frame_particle.lua b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/ex_skill/ex_skill_frame_particle.lua new file mode 100644 index 0000000..59315a9 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/ex_skill/ex_skill_frame_particle.lua @@ -0,0 +1,68 @@ +---@class (exact) ExSkillFrameParticle : SpawnObject Exスキルのフレームで使用するパーティクルの単一を管理するクラス +---@field package object ModelPart インスタンスで制御するオブジェクト +---@field package currentPos Vector2 パーティクルの現在位置 +---@field package nextPos Vector2 次ティックのパーティクルの位置 +---@field package velocity Vector2 パーティクルの速度 +---@field package particleCount integer パーティクルのアニメーションを制御するためのカウンター +---@field public new fun(parent: Avatar, pos: Vector2, velocity: Vector2, type: ExSkillFrameParticleManager.ParticleType): ExSkillFrameParticle コンストラクター + +ExSkillFrameParticle = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@param pos Vector2 パーティクルをスポーンさせるスクリーン上の座標。GUIスケールも考慮される。 + ---@param velocity Vector2 パーティクルの秒間移動距離(ピクセル) + ---@param type ExSkillFrameParticleManager.ParticleType このインスタンスのパーティクルの種類 + ---@return ExSkillFrameParticle + new = function (parent, pos, velocity, type) + ---@type ExSkillFrameParticle + local instance = Avatar.instantiate(ExSkillFrameParticle, SpawnObject, parent) + + instance.object = models.models.ex_skill_frame.Particles["Particle"..(type == "NORMAL" and 1 or 2)]:copy(instance.uuid) + instance.currentPos = pos + instance.nextPos = instance.currentPos + instance.velocity = velocity + instance.particleCount = 0 + + instance.callbacks = { + ---@param self ExSkillFrameParticle + onInit = function (self) + models.models.ex_skill_frame.Gui.script_ex_skill_frame_particles:addChild(self.object) + self.object:setRot(90, math.random() * 360, 180) + end; + + ---@param self ExSkillFrameParticle + onDeinit = function (self) + self.object:remove() + end; + + ---@param self ExSkillFrameParticle + onTick = function (self) + --パーティクル位置を強制更新 + self.currentPos = self.nextPos:copy() + self.object:setPos(self.currentPos:copy():augmented(0)) + self.object:setScale(vectors.vec3(1, 1, 1):scale(1 - self.particleCount / 5)) + + --カウンターを更新 + self.particleCount = self.particleCount + 1 + if self.particleCount == 5 then + self.object:remove() + elseif self.particleCount == 6 then + self.shouldDeinit = true + end + + --次ティックの位置を計算 + if self.velocity:length() > 0 then + self.nextPos = self.currentPos:copy():add(self.velocity:copy():scale(-0.05)) + end + end; + + ---@param self ExSkillFrameParticle + onRender = function (self, delta) + self.object:setPos(self.nextPos:copy():sub(self.currentPos):scale(delta):add(self.currentPos):augmented(0)) + self.object:setScale(vectors.vec3(1, 1, 1):scale(1 - (self.particleCount + delta) / 5)) + end; + } + + return instance + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/ex_skill/ex_skill_frame_particle_manager.lua b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/ex_skill/ex_skill_frame_particle_manager.lua new file mode 100644 index 0000000..262709e --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/ex_skill/ex_skill_frame_particle_manager.lua @@ -0,0 +1,48 @@ +---@alias ExSkillFrameParticleManager.ParticleType +---| "NORMAL" # 通常のパーティクル +---| "FIGURA" # Figuraマークのパーティクル(穴空き三角形) + +---@class (exact) ExSkillFrameParticleManager : SpawnObjectManager Exスキルのフレームで使用するパーティクルを管理するクラス +---@field public objects ExSkillFrameParticle[] インスタンスで制御するオブジェクト +---@field public getObject fun(self: ExSkillFrameParticleManager, pos: Vector2, velocity: Vector2): ExSkillFrameParticle Exスキルフレームのパーティクルのインスタンスを生成して返す +---@field public spawn fun(self: ExSkillFrameParticleManager, pos: Vector2, velocity: Vector2) Exスキルフレームのパーティクルをスポーンさせる + +ExSkillFrameParticleManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ExSkillFrameParticleManager + new = function (parent) + ---@type ExSkillFrameParticleManager + local instance = Avatar.instantiate(ExSkillFrameParticleManager, SpawnObjectManager, parent) + + instance.managerName = "ex_skill_frame_particle" + + return instance + end; + + ---初期化関数 + ---@param self ExSkillFrameParticleManager + init = function (self) + SpawnObjectManager.init(self) + + ---@diagnostic disable-next-line: discard-returns + models.models.ex_skill_frame.Gui:newPart("script_ex_skill_frame_particles") + end; + + ---Exスキルフレームのパーティクルのインスタンスを生成して返す。 + ---@param self ExSkillFrameParticleManager + ---@param pos Vector2 パーティクルをスポーンさせる画面上の座標 + ---@param velocity Vector2 パーティクルの速度 + ---@return ExSkillFrameParticle instance 生成したインスタンス + getObject = function (self, pos, velocity) + return ExSkillFrameParticle.new(self.parent, pos, velocity, math.random() > 0.9999 and "FIGURA" or "NORMAL") + end; + + ---Exスキルフレームのパーティクルをスポーンさせる。 + ---@param self ExSkillFrameParticleManager + ---@param pos Vector2 パーティクルをスポーンさせる画面上の座標 + ---@param velocity Vector2 パーティクルの速度 + spawn = function (self, pos, velocity) + SpawnObjectManager.spawn(self, pos, velocity) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/face_parts.lua b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/face_parts.lua new file mode 100644 index 0000000..c364e0f --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/face_parts.lua @@ -0,0 +1,88 @@ +---@class (exact) FaceParts : AvatarModule 目と口のテクスチャを管理するクラス +---@field package emotionCount integer エモートの時間を計るカウンター +---@field public blinkCount integer 瞬きのタイミングを計るカウンター +---@field public setEmotion fun(self: FaceParts, rightEye: BlueArchiveCharacter.RightEyeTextures, leftEye: BlueArchiveCharacter.LeftEyeTextures, mouth: BlueArchiveCharacter.MouthTextures, duration: integer, forced?: boolean) 表情を設定する +---@field public resetEmotion fun(self: FaceParts) 表情をリセットする + +FaceParts = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return FaceParts + new = function (parent) + ---@type FaceParts + local instance = Avatar.instantiate(FaceParts, AvatarModule, parent) + + instance.emotionCount = 0 + instance.blinkCount = 200 + + return instance + end; + + ---初期化関数 + ---@param self FaceParts + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + if not client:isPaused() then + if self.parent.playerUtils.damageStatus == "DAMAGE" then + if self.parent.characterData.faceParts.emotionSet ~= nil and self.parent.characterData.faceParts.emotionSet.onDamage ~= nil then + self:setEmotion(self.parent.characterData.faceParts.emotionSet.onDamage.rightEye, self.parent.characterData.faceParts.emotionSet.onDamage.leftEye, self.parent.characterData.faceParts.emotionSet.onDamage.mouth, 8, true) + else + self:setEmotion("SURPRISED", "SURPRISED", "NORMAL", 8, true) + end + elseif self.parent.playerUtils.damageStatus == "DIED" then + if self.parent.characterData.faceParts.emotionSet ~= nil and self.parent.characterData.faceParts.emotionSet.onDied ~= nil then + self:setEmotion(self.parent.characterData.faceParts.emotionSet.onDied.rightEye, self.parent.characterData.faceParts.emotionSet.onDied.leftEye, self.parent.characterData.faceParts.emotionSet.onDied.mouth, 20, true) + else + self:setEmotion("SURPRISED", "SURPRISED", "NORMAL", 20, true) + end + elseif self.emotionCount == 0 then + self:setEmotion("NORMAL", "NORMAL", "NORMAL", 0) + end + + if self.blinkCount == 0 then + self:setEmotion("CLOSED", "CLOSED", "NORMAL", 2) + self.blinkCount = 200 + else + self.blinkCount = self.blinkCount - 1 + end + + self.emotionCount = self.emotionCount > 0 and self.emotionCount - 1 or self.emotionCount + end + end) + end; + + ---表情を設定する。 + ---@param self FaceParts + ---@param rightEye BlueArchiveCharacter.RightEyeTextures 設定する右目の名前 + ---@param leftEye BlueArchiveCharacter.LeftEyeTextures 設定する左目の名前 + ---@param mouth BlueArchiveCharacter.MouthTextures 設定する口の名前 + ---@param duration integer この表情を有効にする時間 + ---@param forced? boolean trueにすると以前のエモーションが再生中でも強制的に現在のエモーションを適用させる。 + setEmotion = function (self, rightEye, leftEye, mouth, duration, forced) + if self.emotionCount == 0 or forced then + --右目 + models.models.main.Avatar.Head.FaceParts.Eyes.EyeLeft:setUVPixels(self.parent.characterData.faceParts.rightEye[rightEye]:copy():scale(6)) + + --左目 + models.models.main.Avatar.Head.FaceParts.Eyes.EyeRight:setUVPixels(self.parent.characterData.faceParts.leftEye[leftEye]:copy():scale(6)) + + --口 + if mouth ~= "NORMAL" then + models.models.main.Avatar.Head.FaceParts.Mouth:setVisible(true) + models.models.main.Avatar.Head.FaceParts.Mouth:setUVPixels(self.parent.characterData.faceParts.mouth[mouth]:copy():mul(16, 8)) + else + models.models.main.Avatar.Head.FaceParts.Mouth:setVisible(false) + end + + self.emotionCount = duration + end + end; + + ---表情をリセットする。 + ---@param self FaceParts + resetEmotion = function (self) + self.emotionCount = 0 + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/gun.lua b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/gun.lua new file mode 100644 index 0000000..e85079b --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/gun.lua @@ -0,0 +1,376 @@ +---@alias Gun.GunPosition +---| "NONE" # 構えていない +---| "RIGHT" # 右手に構える +---| "LEFT" # 左手に構える + +---@alias Gun.HandDirection +---| "RIGHT" # 右手 +---| "LEFT" # 左手 + +---@class (exact) Gun : AvatarModule 生徒の銃を制御するクラス +---@field public gunItems Minecraft.itemID[] 銃のモデルを適用するアイテム +---@field public shouldShowWeaponInFirstPerson boolean 一人称で武器(銃を含む)のモデルを表示するかどうか +---@field public currentGunPosition Gun.GunPosition 現在の銃の位置 +---@field package heldItemsPrev Gun.HeldItemSet 前ティックの手持ちアイテム +---@field package isLeftHandedPrev boolean 前ティックに左利きだったかどうか +---@field package isGunTickProcessed boolean このティック内で銃ティックを処理したかどうか +---@field package setBodyGunPos fun(self: Gun) 背中の銃の位置・向きを設定する +---@field public setGunPosition fun(self: Gun, gonPosition: Gun.GunPosition) 銃の位置を変更する +---@field public processGunTick fun(self: Gun) 銃ティックを処理する + +---@class (exact) Gun.HeldItemSet 手持ちアイテムを示すデータセット +---@field public mainHand ItemStack メインハンド +---@field public offHand ItemStack オフハンド + +Gun = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Gun + new = function (parent) + ---@type Gun + local instance = Avatar.instantiate(Gun, AvatarModule, parent) + + instance.gunItems = {"minecraft:bow", "minecraft:crossbow"} + instance.shouldShowWeaponInFirstPerson = instance.parent.config:loadConfig("PRIVATE", "firstPersonWeapon", true) + instance.currentGunPosition = "NONE" + instance.heldItemsPrev = { + mainHand = world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")); + offHand = world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")); + } + instance.isLeftHandedPrev = player:isLeftHanded() + instance.isGunTickProcessed = false + + return instance + end; + + ---初期化関数 + ---@param self Gun + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + self:processGunTick() + self.isGunTickProcessed = false + end) + + events.ON_PLAY_SOUND:register(function (id, pos, _, _, _, _, path) + if path ~= nil then + local velocityDistance = player:getVelocity():length() + local distanceFromSound = math.abs(pos:copy():sub(player:getPos()):length() - velocityDistance) + if (id == "minecraft:entity.arrow.shoot" or id == "minecraft:item.crossbow.loading_end" or id == "minecraft:item.crossbow.shoot") and math.abs(velocityDistance - distanceFromSound) < 1 then + if id == "minecraft:item.crossbow.loading_end" then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.dispenser.fail"), pos, 1, 2) + elseif player:isUnderwater() then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.generic.extinguish_fire"), pos, 0.5, 1.5) + else + local particleAnchor = self.parent.modelUtils.getModelWorldPos(renderer:isFirstPerson() and (Gun.CurrentGunPosition == "RIGHT" and models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.RightItemPivot or models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.LeftItemPivot) or models.models.main.Avatar.UpperBody.Body.Gun.MuzzleAnchor) + for _ = 1, 5 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:smoke"), particleAnchor) + end + sounds:playSound(self.parent.compatibilityUtils:checkSound(self.parent.characterData.gun.sound.name), pos, 1, self.parent.characterData.gun.sound.pitch) + end + return true + elseif (id == "minecraft:item.crossbow.loading_start" or id == "minecraft:item.crossbow.loading_middle" or id:match("^minecraft:item%.crossbow%.quick_charge_[1-3]$") ~= nil) and distanceFromSound < 1 and player:getActiveItem().id == "minecraft:crossbow" then + local activeItemTime = player:getActiveItemTime() + local quickChargeLevel = 0 + local activeItem = player:getActiveItem() + if activeItem.tag.Enchantments ~= nil then + for _, enchant in ipairs(activeItem.tag.Enchantments) do + if enchant.id == "minecraft:quick_charge" then + quickChargeLevel = enchant.lvl + break + end + end + end + if (quickChargeLevel <= 4 and activeItemTime + quickChargeLevel >= 4 and activeItemTime + quickChargeLevel <= 6) or (quickChargeLevel == 5 and activeItemTime <= 2) then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.flintandsteel.use"), pos, 1, 2) + return true + elseif id == "minecraft:item.crossbow.loading_middle" then + return true + end + end + end + end) + + local this = self --Figuraにスクリプトを再構築させると参照がおかしくなることに対処しているコード + events.ITEM_RENDER:register(function (item, mode, _, _, _, leftHanded) + self = this + if mode ~= "HEAD" and self.currentGunPosition == (leftHanded and "LEFT" or "RIGHT") and (self.shouldShowWeaponInFirstPerson or mode =="THIRD_PERSON_LEFT_HAND" or mode == "THIRD_PERSON_RIGHT_HAND") then + for _, gunItem in ipairs(self.gunItems) do + if item.id == gunItem then + if leftHanded then + if mode == "FIRST_PERSON_LEFT_HAND" then + local offsetPos = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.firstPersonPos ~= nil and self.parent.characterData.gun.gunPosition.hold.firstPersonPos.left ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.hold.firstPersonPos.left + end + local offsetRot = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.firstPersonRot ~= nil and self.parent.characterData.gun.gunPosition.hold.firstPersonRot.left ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.hold.firstPersonRot.left + end + local activeItemId = player:getActiveItem().id + if activeItemId == "minecraft:bow" then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -2.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(20, -7.5, -5):add(offsetRot)) + elseif activeItemId == "minecraft:crossbow" then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, 0.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + elseif item.id == "minecraft:crossbow" and item.tag.Charged == 1 then + if player:isLeftHanded() then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(-10, -1.25, 6):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 10, 0):add(offsetRot)) + else + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -1.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + else + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -1.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + elseif mode == "THIRD_PERSON_LEFT_HAND" then + local offsetPos = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.thirdPersonPos ~= nil and self.parent.characterData.gun.gunPosition.hold.thirdPersonPos.left ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.hold.thirdPersonPos.left + end + local offsetRot = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.thirdPersonRot ~= nil and self.parent.characterData.gun.gunPosition.hold.thirdPersonRot.left ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.hold.thirdPersonRot.left + end + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -4.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + else + if mode == "FIRST_PERSON_RIGHT_HAND" then + local offsetPos = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.firstPersonPos ~= nil and self.parent.characterData.gun.gunPosition.hold.firstPersonPos.right ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.hold.firstPersonPos.right + end + local offsetRot = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.firstPersonRot ~= nil and self.parent.characterData.gun.gunPosition.hold.firstPersonRot.right ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.hold.firstPersonRot.right + end + local activeItemId = player:getActiveItem().id + if activeItemId == "minecraft:bow" then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -2.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(20, 7.5, 5):add(offsetRot)) + elseif activeItemId == "minecraft:crossbow" then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, 0.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + elseif item.id == "minecraft:crossbow" and item.tag.Charged == 1 then + if player:isLeftHanded() then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -1.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + else + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(10, -1.25, 6):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, -10, 0):add(offsetRot)) + end + else + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -1.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + elseif mode == "THIRD_PERSON_RIGHT_HAND" then + local offsetPos = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.thirdPersonPos ~= nil and self.parent.characterData.gun.gunPosition.hold.thirdPersonPos.right ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.hold.thirdPersonPos.right + end + local offsetRot = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.thirdPersonRot ~= nil and self.parent.characterData.gun.gunPosition.hold.thirdPersonRot.right ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.hold.thirdPersonRot.right + end + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -4.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + end + return models.models.main.Avatar.UpperBody.Body.Gun + end + end + end + end) + + models.models.main.Avatar.UpperBody.Body.Gun:setScale(vectors.vec3(1, 1, 1):scale(self.parent.characterData.gun.scale)) + self:setGunPosition("NONE") + if self.parent.characterData.gun.callbacks ~= nil and self.parent.characterData.gun.callbacks.onMainHandChange ~= nil then + self.parent.characterData.gun.callbacks.onMainHandChange(self.parent.characterData, self.isLeftHandedPrev and "LEFT" or "RIGHT") + end + end; + + ---背中の銃の位置・向きを設定する。 + ---@param self Gun + setBodyGunPos = function (self) + if models.models.main.Avatar.UpperBody.Body.Gun ~= nil then + local offsetPos = vectors.vec3() + local offsetRot = vectors.vec3() + if player:isLeftHanded() then + if self.parent.characterData.gun.gunPosition.put.pos ~= nil and self.parent.characterData.gun.gunPosition.put.pos.left ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.put.pos.left + end + if self.parent.characterData.gun.gunPosition.put.rot ~= nil and self.parent.characterData.gun.gunPosition.put.rot.left ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.put.rot.left + end + else + if self.parent.characterData.gun.gunPosition.put.pos ~= nil and self.parent.characterData.gun.gunPosition.put.pos.right ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.put.pos.right + end + if self.parent.characterData.gun.gunPosition.put.rot ~= nil and self.parent.characterData.gun.gunPosition.put.rot.right ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.put.rot.right + end + end + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, 12, 0):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(offsetRot) + end + end; + + ---銃の位置を変更する。 + ---@param self Gun + ---@param gunPosition Gun.GunPosition 変更先の構え位置 + setGunPosition = function (self, gunPosition) + if gunPosition == "NONE" then + for _, tickName in ipairs({"right_gun_tick", "left_gun_tick"}) do + events.TICK:remove(tickName) + end + models.models.main.Avatar.UpperBody.Body.Gun:setParentType("None") + models.models.main.Avatar.UpperBody.Body.Gun:setSecondaryRenderType("NONE") + if self.parent.characterData.gun.gunPosition.hold.type == "NORMAL" then + self.parent.arms:setArmState(0, 0) + elseif self.parent.characterData.gun.gunPosition.hold.type == "CUSTOM" then + for _, animationName in ipairs({"gun_hold_right", "gun_hold_left"}) do + animations["models.main"][animationName]:stop() + end + end + if self.parent.characterData.gun.gunPosition.put.type == "BODY" then + self:setBodyGunPos() + elseif self.parent.characterData.gun.gunPosition.put.type == "HIDDEN" then + models.models.main.Avatar.UpperBody.Body.Gun:setVisible(false) + end + elseif gunPosition == "RIGHT" then + events.TICK:remove("left_gun_tick") + if events.TICK:getRegisteredCount("right_gun_tick") == 0 then + events.TICK:register(function () + local heldItem = player:getHeldItem(player:isLeftHanded()) + local hasGlint = false + for _, gunItem in ipairs(self.gunItems) do + if gunItem == heldItem.id and heldItem:hasGlint() then + models.models.main.Avatar.UpperBody.Body.Gun:setSecondaryRenderType("GLINT") + hasGlint = true + break + end + end + if not hasGlint then + models.models.main.Avatar.UpperBody.Body.Gun:setSecondaryRenderType("NONE") + end + end, "right_gun_tick") + end + if self.parent.characterData.gun.gunPosition.hold.type == "NORMAL" then + self.parent.arms:setArmState(1, 2) + elseif self.parent.characterData.gun.gunPosition.hold.type == "CUSTOM" then + animations["models.main"]["gun_hold_left"]:stop() + animations["models.main"]["gun_hold_right"]:play() + end + models.models.main.Avatar.UpperBody.Body.Gun:setVisible(true) + models.models.main.Avatar.UpperBody.Body.Gun:setParentType("Item") + if not client:isPaused() then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.flintandsteel.use"), player:getPos(), 1, 2) + end + elseif gunPosition == "LEFT" then + events.TICK:remove("right_gun_tick") + if events.TICK:getRegisteredCount("left_gun_tick") == 0 then + events.TICK:register(function () + local heldItem = player:getHeldItem(not player:isLeftHanded()) + local hasGlint = false + for _, gunItem in ipairs(self.gunItems) do + if gunItem == heldItem.id and heldItem:hasGlint() then + models.models.main.Avatar.UpperBody.Body.Gun:setSecondaryRenderType("GLINT") + hasGlint = true + break + end + end + if not hasGlint then + models.models.main.Avatar.UpperBody.Body.Gun:setSecondaryRenderType("NONE") + end + end, "left_gun_tick") + end + if self.parent.characterData.gun.gunPosition.hold.type == "NORMAL" then + self.parent.arms:setArmState(2, 1) + elseif self.parent.characterData.gun.gunPosition.hold.type == "CUSTOM" then + animations["models.main"]["gun_hold_right"]:stop() + animations["models.main"]["gun_hold_left"]:play() + end + models.models.main.Avatar.UpperBody.Body.Gun:setVisible(true) + models.models.main.Avatar.UpperBody.Body.Gun:setParentType("Item") + if not client:isPaused() then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.flintandsteel.use"), player:getPos(), 1, 2) + end + end + self.currentGunPosition = gunPosition + end; + + ---銃ティックを処理する。 + ---@param self Gun + processGunTick = function (self) + if not self.isGunTickProcessed then + local heldItems = {} + if player:getPose() ~= "SLEEPING" and self.parent.exSkill.animationCount == -1 then + heldItems.mainHand = player:getHeldItem(false) + heldItems.offHand = player:getHeldItem(true) + else + heldItems.mainHand = world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air")) + heldItems.offHand = world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air")) + end + local targetItemFound = false + local isLeftHanded = player:isLeftHanded() + if heldItems.mainHand.id ~= self.heldItemsPrev.mainHand.id or heldItems.offHand.id ~= self.heldItemsPrev.offHand.id or isLeftHanded ~= self.isLeftHandedPrev then + for _, gunItem in ipairs(self.gunItems) do + if heldItems.mainHand.id == gunItem then + --メインハンドに対象アイテムを持つ + targetItemFound = true + if isLeftHanded then + if self.currentGunPosition ~= "LEFT" then + self:setGunPosition("LEFT") + end + else + if self.currentGunPosition ~= "RIGHT" then + self:setGunPosition("RIGHT") + end + end + break + end + end + if not targetItemFound then + for _, gunItem in ipairs(self.gunItems) do + if heldItems.offHand.id == gunItem then + --オフハンドに対象アイテムを持つ + targetItemFound = true + if isLeftHanded then + if self.currentGunPosition ~= "RIGHT" then + self:setGunPosition("RIGHT") + end + else + if self.currentGunPosition ~= "LEFT" then + self:setGunPosition("LEFT") + end + end + break + end + end + end + if not targetItemFound then + --対象アイテムは持たない + if self.currentGunPosition ~= "NONE" then + self:setGunPosition("NONE") + end + end + if isLeftHanded ~= self.leftHandedPrev then + if self.currentGunPosition == "NONE" then + self:setBodyGunPos() + end + if self.parent.characterData.gun.callbacks ~= nil and self.parent.characterData.gun.callbacks.onMainHandChange ~= nil then + self.parent.characterData.gun.callbacks.onMainHandChange(self.parent.characterData, isLeftHanded and "LEFT" or "RIGHT") + end + self.isLeftHandedPrev = isLeftHanded + end + self.heldItemsPrev = heldItems + end + self.isGunTickProcessed = true + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/head_block.lua b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/head_block.lua new file mode 100644 index 0000000..72bce44 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/head_block.lua @@ -0,0 +1,33 @@ +---@class (exact) HeadBlock : HeadModelGenerator 頭ブロックのモデルを制御するクラス +---@field package forceGenerateCount integer 強制的に頭ブロックを生成するまでのカウンター。これが発火するのはアバタープレイヤーがオフラインの時のみ。 + +HeadBlock = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return HeadBlock + new = function (parent) + ---@type HeadBlock + local instance = Avatar.instantiate(HeadBlock, HeadModelGenerator, parent) + + instance.processData = instance.parent.characterData.headBlock + instance.parentName = "head_block" + instance.parentType = "Skull" + instance.forceGenerateCount = 2 + + return instance + end; + + ---初期化関数 + ---@param self HeadBlock + init = function (self) + HeadModelGenerator.init(self) + + events.WORLD_TICK:register(function () + self.forceGenerateCount = self.forceGenerateCount - 1 + if self.forceGenerateCount == 0 then + self:generateHeadModel() + events.WORLD_TICK:remove("head_block_world_tick") + end + end, "head_block_world_tick") + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/head_model_generator.lua b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/head_model_generator.lua new file mode 100644 index 0000000..76b2ab7 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/head_model_generator.lua @@ -0,0 +1,85 @@ +---@class (exact) HeadModelGenerator : AvatarModule 頭のモデルの生成を含む抽象クラス +---@field public processData BlueArchiveCharacter.HeadBlockStruct 頭モデルを生成する過程で参照するデータ +---@field public parentName string モデルを生成する名前空間 +---@field public parentType ModelPart.parentType コピーした頭モデルに適用する親タイプ +---@field public generateHeadModel fun(self: HeadModelGenerator) 頭モデルのコピーを生成する +---@field package isScriptLoaded boolean スクリプトが全てロードされているかどうか + +HeadModelGenerator = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return HeadModelGenerator + new = function (parent) + ---@type HeadModelGenerator + local instance = Avatar.instantiate(HeadModelGenerator, AvatarModule, parent) + + instance.isScriptLoaded = false + + return instance + end; + + ---初期化関数 + ---@param self HeadModelGenerator + init = function (self) + AvatarModule.init(self) + + ---@diagnostic disable-next-line: discard-returns + models:newPart("script_"..self.parentName, "None") + + self.parent.avatarEvents.SCRIPT_INIT:register(function () + self.isScriptLoaded = true + end) + end; + + ---頭モデルのコピーを生成する。 + ---@param self HeadModelGenerator + generateHeadModel = function (self) + --既存の頭ブロックのモデルを削除する。 + if models["script_"..self.parentName].Head ~= nil then + models["script_"..self.parentName].Head:remove() + end + + --ヘルメットを着けている場合は外しておく。 + local isHelmetVisible = self.isScriptLoaded and self.parent.armor.isArmorVisible.helmet or false + if isHelmetVisible then + self.parent.armor:setHelmet(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + + if self.isScriptLoaded then + self.parent.physics:disable() + end + if self.processData.callbacks ~= nil and self.processData.callbacks.onBeforeModelCopy ~= nil then + self.processData.callbacks.onBeforeModelCopy(self.parent.characterData, self.isScriptLoaded) + end + + --現在の衣装を基に新たな頭ブロックのモデルを生成する。 + local copiedPart = self.parent.modelUtils:copyModel(models.models.main.Avatar.Head) + if copiedPart ~= nil then + models["script_"..self.parentName]:addChild(copiedPart) + models["script_"..self.parentName].Head:setParentType(self.parentType) + models["script_"..self.parentName].Head:setPos(0, -24, 0) + models["script_"..self.parentName].Head.HeadRing:setRot(self.parent.headRing.initialHaloRot) + models["script_"..self.parentName].Head.HeadRing:setLight(15) + for _, modelPart in ipairs({models["script_"..self.parentName].Head.FaceParts.Eyes.EyeRight, models["script_"..self.parentName].Head.FaceParts.Eyes.EyeLeft}) do + modelPart:setUVPixels() + end + for _, modelPart in ipairs(self.processData.includeModels) do + local copiedIncludePart = self.parent.modelUtils:copyModel(modelPart) + if copiedIncludePart ~= nil then + models["script_"..self.parentName].Head:addChild(copiedIncludePart) + end + end + end + + --非表示にしたモデルを元に戻す。 + if isHelmetVisible then + self.parent.armor:setHelmet(self.parent.armor.armorSlotItems[1]) + end + if self.isScriptLoaded then + self.parent.physics:enable() + end + if self.processData.callbacks ~= nil and self.processData.callbacks.onAfterModelCopy ~= nil then + self.processData.callbacks.onAfterModelCopy(self.parent.characterData, self.isScriptLoaded) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/head_ring.lua b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/head_ring.lua new file mode 100644 index 0000000..315489c --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/head_ring.lua @@ -0,0 +1,79 @@ +---@class (exact) HeadRing : AvatarModule ヘイロー(頭の輪っか)を制御するクラス +---@field public initialHaloRot number ヘイローの初期角度 +---@field package headRotData number[] 一定期間内の頭の角度を保持するテーブル +---@field package headRotAverage number[] 頭の角度の移動平均値 +---@field package floatCount integer ヘイローが上下するアニメーションのカウンター + +HeadRing = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return HeadRing + new = function (parent) + ---@type HeadRing + local instance = Avatar.instantiate(HeadRing, AvatarModule, parent) + + instance.initialHaloRot = models.models.main.Avatar.Head.HeadRing:getRot().x + instance.haloRotPrev = instance.initialHaloRot + instance.headRotData = {} + instance.headRotAverage = {0, 0} + instance.floatCount = 0 + + return instance + end; + + ---初期化関数 + ---@param self HeadRing + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + if not client:isPaused() then + --移動平均値の算出 + local headRot = self.parent.exSkill.animationCount > -1 and models.models.main.Avatar.Head:getAnimRot().x or math.deg(math.asin(player:getLookDir().y)) + local headRotAverage = self.headRotAverage[2] + headRotAverage = (#self.headRotData * headRotAverage + headRot) / (#self.headRotData + 1) + table.insert(self.headRotData, headRot) + --古いデータの切り捨て + if #self.headRotData > 5 then + headRotAverage = (#self.headRotData * headRotAverage - self.headRotData[1]) / (#self.headRotData - 1) + table.remove(self.headRotData, 1) + end + table.insert(self.headRotAverage, headRotAverage) + table.remove(self.headRotAverage, 1) + end + end) + + events.WORLD_TICK:register(function () + if not client:isPaused() then + self.floatCount = self.floatCount + 1 + self.floatCount = self.floatCount == 80 and 0 or self.floatCount + end + end) + + events.RENDER:register(function (delta) + if not client:isPaused() then + --ヘイローの位置・角度を設定 + local playerPose = player:getPose() + local headRot = self.parent.physics.getValueBetweenTicks(self.headRotAverage, delta) + local floatOffset = math.sin((self.floatCount + delta) / 80 * 2 * math.pi) * 0.25 + if playerPose == "SWIMMING" or playerPose == "FALL_FLYING" then + models.models.main.Avatar.Head.HeadRing:setPos(self.parent.physics.velocityAverage[3][2] * 3, math.cos(math.rad(headRot)) * self.parent.physics.velocityAverage[1][2] * -1 + math.sin(math.rad(headRot)) * self.parent.physics.velocityAverage[2][2] * -1 + floatOffset, math.cos(math.rad(headRot)) * self.parent.physics.velocityAverage[2][2] * -3 + math.sin(math.rad(headRot)) * self.parent.physics.velocityAverage[1][2]) + else + models.models.main.Avatar.Head.HeadRing:setPos(self.parent.physics.velocityAverage[3][2] * -3, math.cos(math.rad(headRot)) * self.parent.physics.velocityAverage[2][2] * -1 + math.sin(math.rad(headRot)) * self.parent.physics.velocityAverage[1][2] + floatOffset, math.cos(math.rad(headRot)) * self.parent.physics.velocityAverage[1][2] * 3 + math.sin(math.rad(headRot)) * self.parent.physics.velocityAverage[2][2]) + end + if self.parent.deathAnimation.dummyAvatarRoot ~= nil then + self.parent.deathAnimation.dummyAvatarRoot.Head.HeadRing:setPos(0, floatOffset, 0) + end + models.models.main.Avatar.Head.HeadRing:setRot(headRot - (self.parent.exSkill.animationCount > -1 and models.models.main.Avatar.Head:getAnimRot().x or math.deg(math.asin(player:getLookDir().y))) + self.initialHaloRot, 0, 0) + end + end) + + events.WORLD_RENDER:register(function (delta) + if not client:isPaused() and models.script_head_block.Head ~= nil and models.script_head_block.Head.HeadRing ~= nil then + models.script_head_block.Head.HeadRing:setPos(0, math.sin((self.floatCount + delta) / 80 * 2 * math.pi) * 0.25, 0) + end + end) + + models.models.main.Avatar.Head.HeadRing:setLight(15) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/hypixel_zombies.lua b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/hypixel_zombies.lua new file mode 100644 index 0000000..5d3df84 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/hypixel_zombies.lua @@ -0,0 +1,85 @@ +---@class (exact) HypixelZombies : AvatarModule Hypixelの「Zombies」にアバターを対応させるパッチ +---@field package isEnabled boolean Zombiesモードが有効かどうか +---@field package damagerPercentPrev number[] 前ティック以前のツールの耐久度割合 +---@field public enable fun(self: HypixelZombies) Zombiesモードを有効にする +---@field public disable fun(self: HypixelZombies) Zombiesモードを無効にする + +HypixelZombies = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return HypixelZombies + new = function (parent) + ---@type HypixelZombies + local instance = Avatar.instantiate(HypixelZombies, AvatarModule, parent) + + instance.isEnabled = false + instance.damagerPercentPrev = {1, 1} + + return instance + end; + + ---Zombiesモードを有効にする。 + ---@param self HypixelZombies + enable = function (self) + if not self.isEnabled then + self.parent.gun.gunItems = {"minecraft:bow", "minecraft:crossbow", "minecraft:wooden_hoe", "minecraft:stone_hoe", "minecraft:iron_hoe", "minecraft:wooden_shovel", "minecraft:stone_shovel", "minecraft:shears", "minecraft:diamond_hoe", "minecraft:golden_hoe", "minecraft:iron_shovel", "minecraft:diamond_pickaxe", "minecraft:golden_pickaxe", "minecraft:golden_shovel", "minecraft:flint_and_steel"} + + events.TICK:register(function () + local heldItem = player:getHeldItem() + local maxDamage = heldItem:getMaxDamage() + local damagePercent = (maxDamage - heldItem:getDamage()) / maxDamage + if maxDamage > 0 then + if damagePercent - self.damagerPercentPrev[1] > 0 and damagePercent - self.damagerPercentPrev[1] <= 0.2 then + if self.parent.bubble.bubbleCount == 0 then + self.parent.bubble:play("RELOAD", -1, vectors.vec2(), 0, false) + end + elseif self.parent.bubble.emoji == "RELOAD" then + self.parent.bubble:stop() + end + table.insert(self.damagerPercentPrev, damagePercent) + else + if self.parent.bubble.emoji == "RELOAD" then + self.parent.bubble:stop() + end + table.insert(self.damagerPercentPrev, 1) + end + table.remove(self.damagerPercentPrev, 1) + end, "hypixel_zombies_tick") + + if host:isHost() then + print(self.parent.locale:getLocale("avatar.zombies_mode.enable")) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.lightning_bolt.thunder"), player:getPos(), 0.5, 2) + end + + self.isEnabled = true + elseif host:isHost() then + print(self.parent.locale:getLocale("avatar.zombies_mode.already_enabled")) + end + end; + + ---Zombiesモードを無効にする。 + ---@param self HypixelZombies + disable = function (self) + if self.isEnabled then + events.TICK:remove("hypixel_zombies_tick") + self.parent.gun.gunItems = {"minecraft:bow", "minecraft:crossbow"} + + if host:isHost() then + print(self.parent.locale:getLocale("avatar.zombies_mode.disable")) + end + elseif host:isHost() then + print(self.parent.locale:getLocale("avatar.zombies_mode.already_disabled")) + end + self.isEnabled = false + end +} + +---Zombiesモードを有効にする。 +function pings.enableZombiesMode() + AvatarInstance.hypixelZombies:enable() +end + +---Zombiesモードを無効にする。 +function pings.disableZombiesMode() + AvatarInstance.hypixelZombies:disable() +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/key_manager.lua b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/key_manager.lua new file mode 100644 index 0000000..e1cac33 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/key_manager.lua @@ -0,0 +1,45 @@ +---@class (exact) KeyManager : AvatarModule アバターのキー割り当てを管理するクラス。ここで管理する割り当ては設定で変更された場合はそれが保存される。 +---@field public keyMappings {[string]: Keybind} キーの割り当てのテーブル +---@field public register fun(self: KeyManager, assignName: string, keyName: Minecraft.keyCode): Keybind キー割り当てを登録する + +KeyManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return KeyManager + new = function (parent) + ---@type KeyManager + local instance = Avatar.instantiate(KeyManager, AvatarModule, parent) + + instance.keyMappings = {} + + return instance + end; + + ---初期化関数 + ---@param self KeyManager + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + events.TICK:register(function () + for key, value in pairs(self.keyMappings) do + if not value:isDefault() then + local newKey = value:getKey() + self.parent.config:saveConfig("PRIVATE", "keybind."..key, newKey) + value:setKey(newKey) + end + end + end) + end + end; + + ---キー割り当てを登録する。 + ---@param self KeyManager + ---@param assignName string 割り当ての名前 + ---@param keyName Minecraft.keyCode 割当先のキー + ---@return Keybind assignedKey キーマネージャーによって登録がされたキーバインド + register = function (self, assignName, keyName) + self.keyMappings[assignName] = keybinds:newKeybind(self.parent.locale:getLocale("key_name."..assignName), self.parent.config:loadConfig("PRIVATE", "keybind."..assignName, keyName)) + return self.keyMappings[assignName] + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/locale.lua b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/locale.lua new file mode 100644 index 0000000..b2675ce --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/locale.lua @@ -0,0 +1,118 @@ +---@alias Locale.Language +---| "en_us" # 英語(米国) +---| "ja_jp" # 日本語 + +---@class (exact) Locale : AvatarModule アバターの表示言語を管理するクラス +---@field public localeData {[Locale.Language]: {[string]: string}} 言語データ +---@field public getLocale fun(self: Locale, key: string): string 翻訳キーに対する訳文を返す。設定言語が存在しない場合は英語の文が返される。また、指定したキーの訳が無い場合は英語->キーそのままが返される。 + +Locale = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Locale + new = function (parent) + ---@type Locale + local instance = Avatar.instantiate(Locale, AvatarModule, parent) + + instance.localeData = { + en_us = {}; + ja_jp = {}; + } + + ---言語データのリスト + ---1. キー名, 2. 英語(米国), 3. 日本語 + local localeStrings = { + {"avatar.old_version_warning", "For the best experience, playing with 1.20.1 or higher is recommended!", "生徒さんとより良い時間を過ごすためにバージョン1.20.1以上でのプレイをおすすめします!"}; + {"avatar.zombies_mode.enable", "Enabled Zombies mode.", "Zombiesモードを有効にしました。"}; + {"avatar.zombies_mode.already_enabled", "Already enabled Zombies mode.", "Zombiesモードは既に有効化されています。"}; + {"avatar.zombies_mode.disable", "Disabled Zombies mode.", "Zombiesモードを無効にしました。"}; + {"avatar.zombies_mode.already_disabled", "Already disabled Zombies mode.", "Zombiesモードは既に無効化されています。"}; + {"action_wheel.toggle_off", "off", "オフ"}; + {"action_wheel.toggle_on", "on", "オン"}; + {"action_wheel.main.action_1.title", "Change costume: ", "衣装を変更:"}; + {"action_wheel.main.action_1.unavailable", "There is no costume available.", "利用可能な衣装はありません。"}; + {"action_wheel.main.action_1.done_first", "Changed costume to §b", "衣装を§b"}; + {"action_wheel.main.action_1.done_last", "§r.", "§rに変更しました。"}; + {"action_wheel.main.action_2.title", "Change display name: ", "表示名を変更:"}; + {"action_wheel.main.action_2.title_2", "Show club name: ", "部活名を表示:"}; + {"action_wheel.main.action_2.done_first", "Changed display name to §b", "表示名を§b"}; + {"action_wheel.main.action_2.done_last", "§r.", "§rに変更しました。"}; + {"action_wheel.main.action_3.title", "Show armors: ", "防具を表示:"}; + {"action_wheel.main.action_4.title", "Show weapon models in first person: ", "一人称視点で武器モデルを表示:"}; + {"action_wheel.main.action_5.title", "Amount of particles in Ex skill frame: ", "Exスキルフレームのパーティクルの量:"}; + {"action_wheel.main.action_5.option_1", "Standard", "標準"}; + {"action_wheel.main.action_5.option_2", "Minimum", "少なめ"}; + {"action_wheel.main.action_5.option_3", "None", "なし"}; + {"action_wheel.main.action_5.option_4", "Hide Ex skill frame", "スキルフレーム非表示"}; + {"action_wheel.main.action_5.done_first", "Changed amount of particles in Ex skill frame to§b", "Exスキルフレームのパーティクルの量を§b"}; + {"action_wheel.main.action_5.done_last", "§r.", "§rに変更しました。"}; + {"action_wheel.main.action_6.title", "Replace vehicle models: ", "乗り物のモデルを置き換え:"}; + {"action_wheel.main.action_6.unavailable", "This option is unavailable for this character.", "この生徒さんでは利用できません。"}; + {"action_wheel.main.action_7.title_1", "Check for new FBAC Updates ", "FBACアップデートの確認"}; + {"action_wheel.main.action_7.title_2", "(Left-click)", "(左クリック)"}; + {"action_wheel.main.action_7.title_3", "Copy URL for the latest FBAC ", "最新FBACバージョンのURLをコピー"}; + {"action_wheel.main.action_7.title_4", "(Right-click)", "(右クリック)"}; + {"action_wheel.main.action_7.networking_api", "To enable update checking, you need to allow Figura's Networking and put \"api.github.com\" in the Network Filter from Figura settings!", "アップデート確認機能を有効にするにはFiguraの設定より、FiguraのNetworkingの使用を許可し、\"api.github.com\"を許可リストに入れる必要があります!"}; + {"action_wheel.main.action_7.ongoing", "Checking for updates is ongoing. Please DO NOT click repeatedly!", "現在アップデートの確認中です。連打しないでください!"}; + {"action_wheel.main.action_7.copied", "Coped the link to the latest FBAC to your clipboard. Please open the link in your browser.", "最新のFBACへのリンクをクリップボードにコピーしました。ブラウザでリンクを開いてください。"}; + {"action_wheel.main.action_7.cannot_check_latest", "Cannot get the link because cannot check the latest FBAC.", "FBACの最新バージョンを確認できないため、リンクを取得できません。"}; + {"action_wheel.gui.bubble_guide.title", "§0Bubble emote guide", "§0吹き出しエモートガイド"}; + {"action_wheel.gui.ex_skill_guide.title", "§0Ex skill guide", "§0Exスキルガイド"}; + {"action_wheel.gui.ex_skill_guide.key_pre", "Press \"", "\""}; + {"action_wheel.gui.ex_skill_guide.key_post", "\"key to play", "\"キーで再生"}; + {"action_wheel.gui.update_check.checking", "Checking for updates...", "アップデートを確認中..."}; + {"action_wheel.gui.update_check.latest", "No FBAC update available", "最新のFBACを使用中です"}; + {"action_wheel.gui.update_check.update_available", "New FBAC update is available: ", "FBACのアップデートが利用可能です:"}; + {"action_wheel.gui.update_check.error_not_allowed", "Failed to check for updates - Networking API not allowed", "アップデート確認失敗 - ネットワーキング機能が不許可"}; + {"action_wheel.gui.update_check.error_network_err", "Failed to check for updates - Network error", "アップデート確認失敗 - ネットワークエラー"}; + {"action_wheel.gui.update_check.error_request_failed", "Failed to check for updates - Request failure ", "アップデート確認失敗 - リクエスト失敗 "}; + {"action_wheel.gui.update_check.error_invalid_json_syntax", "Failed to check for updates - Json parsing failure", "アップデート確認失敗 - リクエスト解析失敗"}; + {"action_wheel.gui.update_check.error_invalid_json", "Failed to check for updates - Unexpected Request", "アップデート確認失敗 - 予期しないリクエスト"}; + {"key_name.ex_skill", "Ex Skill", "Exスキル"}; + {"key_name.ex_skill_sub", "Sub Ex Skill", "サブExスキル"}; + {"key_name.bubble_1", "Bubble: Good", "吹き出し:いいね"}; + {"key_name.bubble_2", "Bubble: Heart", "吹き出し:ハート"}; + {"key_name.bubble_3", "Bubble: Note", "吹き出し:音符"}; + {"key_name.bubble_4", "Bubble: Question", "吹き出し:はてな"}; + {"key_name.bubble_5", "Bubble: Sweat", "吹き出し:汗"}; + {"key_bind.ex_skill.unavailable", "You cannot do this now.", "今は再生できません。"}; + {"key_bind.ex_skill.unavailable_firstperson", "You cannot do this in first person perspective.", "一人称視点では再生できません。"}; + } + + for _, localeSet in ipairs(localeStrings) do + instance.localeData.en_us[localeSet[1]] = localeSet[2] + instance.localeData.ja_jp[localeSet[1]] = localeSet[3] + end + + return instance + end; + + ---初期化関数 + ---@param self Locale + init = function (self) + AvatarModule.init(self) + + self.localeData.en_us["nameplate.club_name"] = self.parent.characterData.basic.clubName.en_us + self.localeData.ja_jp["nameplate.club_name"] = self.parent.characterData.basic.clubName.ja_jp + + if host:isHost() then + for index, exSkill in ipairs(self.parent.characterData.exSkill) do + self.localeData.en_us["action_wheel.gui.ex_skill_guide.ex_skill_"..index..".name"] = exSkill.name.en_us + self.localeData.ja_jp["action_wheel.gui.ex_skill_guide.ex_skill_"..index..".name"] = exSkill.name.ja_jp + end + for _, costume in ipairs(self.parent.characterData.costume.costumes) do + self.localeData.en_us["costume."..costume.name] = costume.displayName.en_us + self.localeData.ja_jp["costume."..costume.name] = costume.displayName.ja_jp + end + end + end; + + ---翻訳キーに対する訳文を返す。設定言語が存在しない場合は英語の文が返される。また、指定したキーの訳が無い場合は英語->キーそのままが返される。 + ---@param self Locale + ---@param key string 翻訳キー + ---@return string translatedString 翻訳キーに対する翻訳データ。設定言語での翻訳が存在しない場合は英文が返される。英文すら存在しない場合は翻訳キーがそのまま返される。 + getLocale = function (self, key) + local activeLanguage = client:getActiveLang() + return (self.localeData[activeLanguage] ~= nil and self.localeData[activeLanguage][key] ~= nil) and self.localeData[activeLanguage][key] or (self.localeData.en_us[key] and self.localeData.en_us[key] or key) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/nameplate.lua b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/nameplate.lua new file mode 100644 index 0000000..1db7e24 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/nameplate.lua @@ -0,0 +1,77 @@ +---@class (exact) Nameplate : AvatarModule プレイヤーの表示名を制御するクラス +---@field public currentName integer 現在の表示名:1. プレイヤー名, 2. 名のみ(英語), 3. 名のみ(日本語), 4. 名性(英語), 5. 性名(英語), 6. 性名(日本語) +---@field public shouldShowClubName boolean 部活名を表示するかどうか +---@field package localePrev string 前ティックの設定言語 +---@field public getName fun(self: Nameplate, typeId: integer): string 指定されたtypeIdでの表示名を返す +---@field public setName fun(self: Nameplate, typeId: integer, shouldShowClubName: boolean) 入力された設定で表示名を設定する + +Nameplate = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Nameplate + new = function (parent) + ---@type Nameplate + local instance = Avatar.instantiate(Nameplate, AvatarModule, parent) + + instance.currentName = instance.parent.config:loadConfig("PRIVATE", "name", 1) + instance.shouldShowClubName = instance.parent.config:loadConfig("PRIVATE", "showClubName", false) + instance.localePrev = client:getActiveLang() + + return instance + end; + + ---指定されたtypeIdでの表示名を返す。 + ---@param self Nameplate + ---@param typeId integer 表示名の種類:1. プレイヤー名, 2. 名のみ(英語), 3. 名のみ(日本語), 4. 名性(英語), 5. 性名(英語), 6. 性名(日本語) + ---@return string displayName 指定されたtypeIdでの表示名 + getName = function (self, typeId) + local displayName = typeId == 1 and player:getName() or ((typeId == 2 or typeId == 4) and self.parent.characterData.basic.firstName.en_us or (typeId == 5 and self.parent.characterData.basic.lastName.en_us or (typeId == 3 and self.parent.characterData.basic.firstName.ja_jp or self.parent.characterData.basic.lastName.ja_jp))) + if typeId >= 4 then + displayName = displayName.." "..(typeId == 4 and self.parent.characterData.basic.lastName.en_us or (typeId == 5 and self.parent.characterData.basic.firstName.en_us or self.parent.characterData.basic.firstName.ja_jp)) + end + return displayName + end; + + ---入力された設定で表示名を設定する。 + ---@param self Nameplate + ---@param typeId integer 表示名の種類:1. プレイヤー名, 2. 名のみ(英語), 3. 名のみ(日本語), 4. 名性(英語), 5. 性名(英語), 6. 性名(日本語) + ---@param shouldShowClubName boolean 部活名を表示するかどうか + setName = function (self, typeId, shouldShowClubName) + local date = client:getDate() + local displayName = self:getName(typeId)..((typeId >= 2 and date.month == self.parent.characterData.basic.birth.month and date.day == self.parent.characterData.basic.birth.day) and " :cake:" or "") + nameplate.ALL:setText(displayName) + if typeId >= 2 and shouldShowClubName then + nameplate.ENTITY:setText(displayName.."\n§7"..self.parent.locale:getLocale("nameplate.club_name")) + end + self.currentName = typeId + self.shouldShowClubName = shouldShowClubName + end; + + ---初期化関数 + ---@param self Nameplate + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + local locale = client:getActiveLang() + if locale ~= self.localePrev then + if self.shouldShowClubName then + self:setName(self.currentName, true) + end + self.localePrev = locale + end + end) + + events.RENDER:register(function (delta, context) + if context ~= "PAPERDOLL" then + nameplate.ENTITY:setPivot(self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.UpperBody.Body.NameplateAnchor):sub(player:getPos(delta)):add(0, self.parent.barrier.isBarrierVisible and 1.095 or 0.895, 0)) + else + nameplate.ENTITY:setPivot() + end + end) + + if self.currentName >= 2 then + self:setName(self.currentName, self.shouldShowClubName) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/physics.lua b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/physics.lua new file mode 100644 index 0000000..0b17e3f --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/physics.lua @@ -0,0 +1,199 @@ +---@class (exact) Physics : AvatarModule 物理演算を制御するクラス +---@field public velocityData number[][] 速度データ:1. 頭前後, 2. 上下, 3. 頭左右, 4. 頭角速度, 5. 体前後, 6. 体左右, 7. 体角速度 +---@field public velocityAverage number[][] 速度の平均値:1. 頭前後, 2. 上下, 3. 頭左右, 4. 頭角速度, 5. 体前後, 6. 体左右, 7. 体角速度 +---@field package directionPrev number[] 前ティックのdirectionテーブル +---@field public getValueBetweenTicks fun(tickData: number[], delta: number): number 2つのティックデータの間からレンダーのデルタ値を加味した値を返す +---@field package decomposeHorizontalVelocity fun(self: Physics, direction: number, index: integer): number, number, number 速度を指定された方向から見て前後方向、左右方向に分解する +---@field package getPhysicRot fun(self: Physics, physicData: BlueArchiveCharacter.PhysicCoreData, delta: number): number 物理演算で計算した角度を返す +---@field public enable fun(self: Physics) 物理演算を初期化し、有効にする +---@field public disable fun(self: Physics) 物理演算を無効にする。物理演算で管理していたモデルの回転をリセットする + +Physics = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Physics + new = function (parent) + ---@type Physics + local instance = Avatar.instantiate(Physics, AvatarModule, parent) + + instance.velocityData = {{}, {}, {}, {}, {}, {}, {}} + instance.velocityAverage = {{0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}} + instance.directionPrev = {} + + return instance + end; + + ---2つのティックデータの間からレンダーのデルタ値を加味した値を返す。 + ---@param tickData number[] ティックデータ:1. 前ティック, 2. 現ティック + ---@param delta number デルタ値 + ---@return number deltaValue 2つのティックデータの間からデルタ値で補完した値 + getValueBetweenTicks = function (tickData, delta) + return tickData[1] + (tickData[2] - tickData[1]) * delta + end; + + ---速度を指定された方向から見て前後方向、左右方向に分解する。 + ---@param self Physics + ---@param direction number 基準にする方向 + ---@param index integer データ管理用のインデックス番号(呼び出しの度に異なるインデックス番号になるようにする) + ---@return number velocityFront 指定された方向から見た前後方向の速度 + ---@return number velocityRight 指定された方向から見た左右方向の速度 + ---@return number velocityRot 指定された方向を基準とした角速度 + decomposeHorizontalVelocity = function (self, direction, index) + local velocity = player:getVelocity() + if self.directionPrev[index] == nil then + self.directionPrev[index] = 0 + end + local velocityRot = math.deg(math.atan2(velocity.z, velocity.x)) + velocityRot = velocityRot < 0 and 360 + velocityRot or velocityRot + local directionAbsFront = math.abs(velocityRot - (direction) % 360) + directionAbsFront = directionAbsFront > 180 and 360 - directionAbsFront or directionAbsFront + local directionAbsRight = math.abs(velocityRot - (direction + 90) % 360) + directionAbsRight = directionAbsRight > 180 and 360 - directionAbsRight or directionAbsRight + local directionDelta = direction - self.directionPrev[index] + directionDelta = directionDelta > 180 and (360 - directionDelta) * 20 or (directionDelta < -180 and (360 + directionDelta) * 20 or directionDelta * 20) + self.directionPrev[index] = direction + return math.sqrt(velocity.x ^ 2 + velocity.z ^ 2) * math.cos(math.rad(directionAbsFront)), math.sqrt(velocity.x ^ 2 + velocity.z ^ 2) * math.cos(math.rad(directionAbsRight)), directionDelta + end; + + ---物理演算で計算した角度を返す。 + ---@param self Physics + ---@param physicData BlueArchiveCharacter.PhysicCoreData 物理演算データ + ---@param delta number デルタ値 + ---@return number physicDirection 物理演算で計算したモデルの角度 + getPhysicRot = function (self, physicData, delta) + local rot = physicData.neutral + local waterMultiplayer = player:isUnderwater() and 2 or 1 + if physicData.headX ~= nil then + rot = rot + math.clamp(self.getValueBetweenTicks(self.velocityAverage[1], delta) * physicData.headX.multiplayer * waterMultiplayer, physicData.headX.min - physicData.neutral, physicData.headX.max - physicData.neutral) + end + if physicData.headZ ~= nil then + rot = rot + math.clamp(self.getValueBetweenTicks(self.velocityAverage[3], delta) * physicData.headZ.multiplayer * waterMultiplayer, physicData.headZ.min - physicData.neutral, physicData.headZ.max - physicData.neutral) + end + if physicData.headRot ~= nil then + rot = rot + math.clamp(math.abs(self.getValueBetweenTicks(self.velocityAverage[4], delta)) * -1 * physicData.headRot.multiplayer, physicData.headRot.min - physicData.neutral, physicData.headRot.max - physicData.neutral) + end + if physicData.bodyX ~= nil then + rot = rot + math.clamp(self.getValueBetweenTicks(self.velocityAverage[5], delta) * physicData.bodyX.multiplayer * waterMultiplayer, physicData.bodyX.min - physicData.neutral, physicData.bodyX.max - physicData.neutral) + end + if physicData.bodyY ~= nil then + rot = rot + math.clamp(self.getValueBetweenTicks(self.velocityAverage[2], delta) * physicData.bodyY.multiplayer * waterMultiplayer, physicData.bodyY.min - physicData.neutral, physicData.bodyY.max - physicData.neutral) + end + if physicData.bodyZ ~= nil then + rot = rot + math.clamp(self.getValueBetweenTicks(self.velocityAverage[player:getVehicle() == nil and 6 or 3], delta) * physicData.bodyZ.multiplayer * waterMultiplayer, physicData.bodyZ.min - physicData.neutral, physicData.bodyZ.max - physicData.neutral) + end + if physicData.bodyRot ~= nil then + rot = rot + math.clamp(-math.abs(self.getValueBetweenTicks(self.velocityAverage[7], delta)) * physicData.bodyRot.multiplayer, physicData.bodyRot.min - physicData.neutral, physicData.bodyRot.max - physicData.neutral) + end + rot = math.clamp(rot, physicData.min, physicData.max) + if physicData.headRotMultiplayer ~= nil then + rot = rot + math.deg(math.asin(player:getLookDir().y)) * physicData.headRotMultiplayer + end + if physicData.sneakOffset ~= nil and player:isCrouching() then + rot = rot + physicData.sneakOffset + end + return rot + end; + + ---物理演算を初期化し、有効にする。 + ---@param self Physics + enable = function (self) + self.velocityData = {{}, {}, {}, {}, {}, {}, {}} + self.velocityAverage = {{0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}} + self.directionPrev = {} + + if events.TICK:getRegisteredCount("physics_tick") == 0 then + events.TICK:register(function () + if not client:isPaused() then + local lookDir = player:getLookDir() + local velocityHeadFront, velocityHeadRight, velocityHeadRot = self:decomposeHorizontalVelocity(math.deg(math.atan2(lookDir.z, lookDir.x)), 1) + local velocityAverage = {self.velocityAverage[1][2], self.velocityAverage[2][2], self.velocityAverage[3][2], self.velocityAverage[4][2], self.velocityAverage[5][2], self.velocityAverage[6][2], self.velocityAverage[7][2]} + local velocityY = player:getVelocity().y + velocityAverage[1] = (#self.velocityData[1] * velocityAverage[1] + velocityHeadFront) / (#self.velocityData[1] + 1) + table.insert(self.velocityData[1], velocityHeadFront) + velocityAverage[2] = (#self.velocityData[2] * velocityAverage[2] + velocityY) / (#self.velocityData[2] + 1) + table.insert(self.velocityData[2], velocityY) + velocityAverage[3] = (#self.velocityData[3] * velocityAverage[3] + velocityHeadRight) / (#self.velocityData[3] + 1) + table.insert(self.velocityData[3], velocityHeadRight) + velocityAverage[4] = (#self.velocityData[4] * velocityAverage[4] + velocityHeadRot) / (#self.velocityData[4] + 1) + table.insert(self.velocityData[4], velocityHeadRot) + local velocityBodyFront, velocityBodyRight, velocityBodyRot = self:decomposeHorizontalVelocity((player:getBodyYaw() + models.models.main.Avatar.UpperBody:getTrueRot().y - 90) % 360 - 180, 2) + velocityAverage[5] = (#self.velocityData[5] * velocityAverage[5] + velocityBodyFront) / (#self.velocityData[5] + 1) + table.insert(self.velocityData[5], velocityBodyFront) + velocityAverage[6] = (#self.velocityData[6] * velocityAverage[6] + velocityBodyRight) / (#self.velocityData[6] + 1) + table.insert(self.velocityData[6], velocityBodyRight) + velocityAverage[7] = (#self.velocityData[7] * velocityAverage[7] + velocityBodyRot) / (#self.velocityData[7] + 1) + table.insert(self.velocityData[7], velocityBodyRot) + --古いデータの切り捨て + for index, velocityTable in ipairs(self.velocityData) do + if #velocityTable > 5 then + velocityAverage[index] = (#velocityTable * velocityAverage[index] - velocityTable[1]) / (#velocityTable - 1) + table.remove(velocityTable, 1) + end + table.insert(self.velocityAverage[index], velocityAverage[index]) + table.remove(self.velocityAverage[index], 1) + end + end + end, "physics_tick") + + events.RENDER:register(function (delta) + local playerPose = player:getPose() + local isHorizontal = playerPose == "SWIMMING" or playerPose == "FALL_FLYING" + + for _, physicData in ipairs(self.parent.characterData.physics.physicData) do + for _, modelPart in ipairs(physicData.models) do + if modelPart:getVisible() then + local rot = vectors.vec3() + if physicData.x ~= nil then + if isHorizontal and physicData.x.horizontal then + rot.x = self:getPhysicRot(physicData.x.horizontal, delta) + elseif not isHorizontal and physicData.x.vertical then + rot.x = self:getPhysicRot(physicData.x.vertical, delta) + end + end + if physicData.y ~= nil then + if isHorizontal and physicData.y.horizontal then + rot.y = self:getPhysicRot(physicData.y.horizontal, delta) + elseif not isHorizontal and physicData.y.vertical then + rot.y = self:getPhysicRot(physicData.y.vertical, delta) + end + end + if physicData.z ~= nil then + if isHorizontal and physicData.z.horizontal then + rot.z = self:getPhysicRot(physicData.z.horizontal, delta) + elseif not isHorizontal and physicData.z.vertical then + rot.z = self:getPhysicRot(physicData.z.vertical, delta) + end + end + modelPart:setRot(rot) + if self.parent.characterData.physics.callbacks ~= nil and self.parent.characterData.physics.callbacks.onPhysicPerformed ~= nil then + self.parent.characterData.physics.callbacks.onPhysicPerformed(self.parent.characterData, modelPart) + end + end + end + end + end, "physics_render") + end + end; + + ---物理演算を無効にする。物理演算で管理していたモデルの回転をリセットする。 + ---@param self Physics + disable = function (self) + events.TICK:remove("physics_tick") + events.RENDER:remove("physics_render") + for _, physicData in ipairs(self.parent.characterData.physics.physicData) do + local initialRot = vectors.vec3() + if physicData.x ~= nil and physicData.x.vertical ~= nil then + initialRot.x = physicData.x.vertical.neutral + end + if physicData.y ~= nil and physicData.y.vertical ~= nil then + initialRot.y = physicData.y.vertical.neutral + end + if physicData.z ~= nil and physicData.z.vertical ~= nil then + initialRot.z = physicData.z.vertical.neutral + end + for _, modelPart in ipairs(physicData.models) do + modelPart:setRot(initialRot) + end + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/placement_object/placement_object.lua b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/placement_object/placement_object.lua new file mode 100644 index 0000000..ee9151d --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/placement_object/placement_object.lua @@ -0,0 +1,231 @@ +---@class (exact) PlacementObject : SpawnObject 単一の設置物を管理するクラス +---@field package object ModelPart インスタンスで制御するオブジェクト +---@field public index integer 設置物データのインデックス番号。設置物のデータを参照するときに使用する。 +---@field package boundingBox Vector3 設置物の当たり判定 +---@field package gravity number この設置物に働く重力の大きさ +---@field package hasFireResistance boolean この設置物に炎耐性を付けるかどうか +---@field public removeReason PlacementObjectManager.RemoveReason この設置物のインスタンスが破棄される理由 +---@field package modelOffsetPos Vector3 設置物"モデル"の位置オフセット値 +---@field package offsetPos Vector3 設置物の中心座標のオフセット値 +---@field public currentPos Vector3 設置物の現在位置 +---@field package nextPos Vector3 設置物の次ティックの位置 +---@field package fallingSpeed number 設置物の落下速度 +---@field package isOnGround boolean 設置物が接地しているかどうか +---@field public new fun(parent: Avatar, model: ModelPart, index: integer, data: BlueArchiveCharacter.PlacementObjectStruct, pos: Vector3, rot: number): PlacementObject コンストラクター + +PlacementObject = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@param index integer 設置物データのインデックス番号。設置物のデータを参照するときに使用する。 + ---@param pos Vector3 設置物を設置するワールド座標 + ---@param rot number 設置物のワールド方向 + ---@return PlacementObject + new = function (parent, index, pos, rot) + ---@type PlacementObject + local instance = Avatar.instantiate(PlacementObject, SpawnObject, parent) + + instance.index = index + instance.object = instance.parent.characterData.placementObjects[instance.index].placementMode == "COPY" and instance.parent.characterData.placementObjects[instance.index].model:copy(instance.uuid) or instance.parent.characterData.placementObjects[instance.index].model + instance.boundingBox = instance.parent.characterData.placementObjects[instance.index].boundingBox.size:copy():scale(0.0625) + instance.gravity = instance.parent.characterData.placementObjects[instance.index].gravity ~= nil and instance.parent.characterData.placementObjects[instance.index].gravity or 1 + instance.hasFireResistance = instance.parent.characterData.placementObjects[instance.index].hasFireResistance ~= nil and instance.parent.characterData.placementObjects[instance.index].hasFireResistance or false + instance.removeReason = "REMOVED_BY_SCRIPTS" + instance.modelOffsetPos = vectors.vec3() + instance.offsetPos = vectors.vec3() + instance.currentPos = pos + instance.nextPos = instance.currentPos + instance.fallingSpeed = 0 + instance.isOnGround = false + + instance.callbacks = { + ---@param self PlacementObject + onInit = function (self) + if self.parent.characterData.placementObjects[self.index].placementMode == "COPY" then + models.script_placement_object:addChild(self.object) + end + local objectOffset = vectors.vec3() + if self.parent.characterData.placementObjects[self.index].boundingBox.offsetPos ~= nil then + objectOffset = self.parent.characterData.placementObjects[self.index].boundingBox.offsetPos:copy():scale(-0.0625) + end + if self.gravity >= 0 then + self.modelOffsetPos = objectOffset:copy():add(0, 0.075, 0) + else + self.modelOffsetPos = objectOffset:copy():add(0, -0.075, 0) + end + --self.objectModel:setPos(self.currentPos:copy():add(self.modelOffsetPos):scale(16)) + self.object:setRot(0, rot, 0) + self.object:setVisible(true) + if self.parent.characterData.placementObjects[self.index].callbacks ~= nil and self.parent.characterData.placementObjects[self.index].callbacks.onInit ~= nil then + self.parent.characterData.placementObjects[self.index].callbacks.onInit(self.parent.characterData, self) + end + end; + + ---@param self PlacementObject + onDeinit = function (self) + if self.parent.characterData.placementObjects[self.index].placementMode == "COPY" then + models.script_placement_object:removeChild(self.object) + self.object:remove() + else + self.object:setVisible(false) + end + if self.parent.characterData.placementObjects[self.index].callbacks ~= nil and self.parent.characterData.placementObjects[self.index].callbacks.onDeinit ~= nil then + self.parent.characterData.placementObjects[self.index].callbacks.onDeinit(self.parent.characterData, self) + end + end; + + ---@param self PlacementObject + onTick = function (self) + --設置物の位置を強制更新 + self.currentPos = self.nextPos + self.object:setPos(self.currentPos:copy():add(self.modelOffsetPos):scale(16)) + + --当たり判定同士が重複しているか確認 + local boundingBoxStartPos = vectors.vec3(self.currentPos.x - self.boundingBox.x / 2, self.currentPos.y, self.currentPos.z - self.boundingBox.z / 2) + local boundingBoxEndPos = vectors.vec3(self.currentPos.x + self.boundingBox.x / 2, self.currentPos.y + self.boundingBox.y, self.currentPos.z + self.boundingBox.z / 2) + local boundingBoxCenter = boundingBoxEndPos:copy():sub(boundingBoxStartPos):scale(0.5):add(boundingBoxStartPos) + for z = math.floor(boundingBoxStartPos.z), math.floor(boundingBoxEndPos.z) do + for y = math.floor(boundingBoxStartPos.y), math.floor(boundingBoxEndPos.y) do + for x = math.floor(boundingBoxStartPos.x), math.floor(boundingBoxEndPos.x) do + for _, collisionBox in ipairs( world.getBlockState(x, y, z):getCollisionShape()) do + local collisionStartPos = collisionBox[1]:copy():add(x, y, z) + local collisionEndPos = collisionBox[2]:copy():add(x, y, z) + local collisionBoxCenter = collisionStartPos:copy():add(collisionEndPos:copy():sub(collisionStartPos):scale(0.5)) + if math.abs(collisionBoxCenter.x - boundingBoxCenter.x) < ((collisionEndPos.x - collisionStartPos.x) + (boundingBoxEndPos.x - boundingBoxStartPos.x)) / 2 and math.abs(collisionBoxCenter.y - boundingBoxCenter.y) < ((collisionEndPos.y - collisionStartPos.y) + (boundingBoxEndPos.y - boundingBoxStartPos.y)) / 2 and math.abs(collisionBoxCenter.z - boundingBoxCenter.z) < ((collisionEndPos.z - collisionStartPos.z) + (boundingBoxEndPos.z - boundingBoxStartPos.z)) / 2 then + self.removeReason = "OVERLAPPED" + self.shouldDeinit = true + return + end + end + end + end + end + + --落下速度を更新 + local fluidTags = world.getBlockState(self.currentPos):getFluidTags() + if fluidTags[2] == "c:water" then + if self.gravity >= 0 then + self.fallingSpeed = math.max(self.fallingSpeed - 0.1 * self.gravity, 0.1 * self.gravity) + else + self.fallingSpeed = math.min(self.fallingSpeed - 0.1 * self.gravity, 0.1 * self.gravity) + end + elseif fluidTags[2] == "c:lava" then + if self.gravity >= 0 then + self.fallingSpeed = math.max(self.fallingSpeed - 0.1 * self.gravity, 0.02 * self.gravity) + else + self.fallingSpeed = math.min(self.fallingSpeed - 0.1 * self.gravity, 0.02 * self.gravity) + end + else + if self.gravity >= 0 then + self.fallingSpeed = math.min(self.fallingSpeed + 0.035 * self.gravity, 3.575 * self.gravity) + else + self.fallingSpeed = math.max(self.fallingSpeed + 0.035 * self.gravity, 3.575 * self.gravity) + end + end + self.nextPos = self.currentPos:copy():add(0, self.fallingSpeed * -1, 0) + + --現ティックと次ティックから直方体を算出 + local nextBoxStartPos = vectors.vec3() + local nextBoxEndPos = vectors.vec3() + if self.gravity >= 0 then + nextBoxStartPos = vectors.vec3(self.currentPos.x - self.boundingBox.x / 2, math.min(self.currentPos.y, self.currentPos.y - self.fallingSpeed), self.currentPos.z - self.boundingBox.z / 2) + nextBoxEndPos = vectors.vec3(self.currentPos.x + self.boundingBox.x / 2, math.max(self.currentPos.y, self.currentPos.y - self.fallingSpeed), self.currentPos.z + self.boundingBox.z / 2) + else + nextBoxStartPos = vectors.vec3(self.currentPos.x - self.boundingBox.x / 2, math.min(self.currentPos.y, self.currentPos.y - self.fallingSpeed) + self.boundingBox.y, self.currentPos.z - self.boundingBox.z / 2) + nextBoxEndPos = vectors.vec3(self.currentPos.x + self.boundingBox.x / 2, math.max(self.currentPos.y, self.currentPos.y - self.fallingSpeed) + self.boundingBox.y, self.currentPos.z + self.boundingBox.z / 2) + end + local nextBoxCenter = nextBoxStartPos:copy():add(nextBoxEndPos:copy():sub(nextBoxStartPos):scale(0.5)) + + --直方体と重なるブロック座標を全て算出 + local collisionDetected = false + if self.gravity >= 0 then + local collisionYPos = math.floor(nextBoxStartPos.y) + for y = math.floor(nextBoxEndPos.y), math.floor(nextBoxStartPos.y) - 1, -1 do + for z = math.floor(nextBoxStartPos.z), math.floor(nextBoxEndPos.z) do + for x = math.floor(nextBoxStartPos.x), math.floor(nextBoxEndPos.x) do + for _, collisionBox in ipairs( world.getBlockState(x, y, z):getCollisionShape()) do + local collisionStartPos = collisionBox[1]:copy():add(x, y, z) + local collisionEndPos = collisionBox[2]:copy():add(x, y, z) + local collisionBoxCenter = collisionStartPos:copy():add(collisionEndPos:copy():sub(collisionStartPos):scale(0.5)) + if math.abs(collisionBoxCenter.x - nextBoxCenter.x) < ((collisionEndPos.x - collisionStartPos.x) + (nextBoxEndPos.x - nextBoxStartPos.x)) / 2 and math.abs(collisionBoxCenter.y - nextBoxCenter.y) < ((collisionEndPos.y - collisionStartPos.y) + (nextBoxEndPos.y - nextBoxStartPos.y)) / 2 and math.abs(collisionBoxCenter.z - nextBoxCenter.z) < ((collisionEndPos.z - collisionStartPos.z) + (nextBoxEndPos.z - nextBoxStartPos.z)) / 2 then + if collisionEndPos.y > self.nextPos.y then + self.nextPos.y = collisionEndPos.y + collisionYPos = y + self.fallingSpeed = 0 + collisionDetected = true + end + end + end + end + end + if y == collisionYPos - 1 then + break + end + end + else + local collisionYPos = math.floor(nextBoxEndPos.y) + for y = math.floor(nextBoxStartPos.y), math.floor(nextBoxEndPos.y), 1 do + for z = math.floor(nextBoxStartPos.z), math.floor(nextBoxEndPos.z) do + for x = math.floor(nextBoxStartPos.x), math.floor(nextBoxEndPos.x) do + for _, collisionBox in ipairs( world.getBlockState(x, y, z):getCollisionShape()) do + local collisionStartPos = collisionBox[1]:copy():add(x, y, z) + local collisionEndPos = collisionBox[2]:copy():add(x, y, z) + local collisionBoxCenter = collisionStartPos:copy():add(collisionEndPos:copy():sub(collisionStartPos):scale(0.5)) + if math.abs(collisionBoxCenter.x - nextBoxCenter.x) < ((collisionEndPos.x - collisionStartPos.x) + (nextBoxEndPos.x - nextBoxStartPos.x)) / 2 and math.abs(collisionBoxCenter.y - nextBoxCenter.y) < ((collisionEndPos.y - collisionStartPos.y) + (nextBoxEndPos.y - nextBoxStartPos.y)) / 2 and math.abs(collisionBoxCenter.z - nextBoxCenter.z) < ((collisionEndPos.z - collisionStartPos.z) + (nextBoxEndPos.z - nextBoxStartPos.z)) / 2 then + if collisionStartPos.y < self.nextPos.y + self.boundingBox.y then + self.nextPos.y = collisionStartPos.y - self.boundingBox.y + collisionYPos = y + self.fallingSpeed = 0 + collisionDetected = true + end + end + end + end + end + if y == collisionYPos + 1 then + break + end + end + end + if collisionDetected and not self.isOnGround and self.parent.characterData.placementObjects[self.index].callbacks ~= nil and self.parent.characterData.placementObjects[self.index].callbacks.onGround ~= nil then + self.parent.characterData.placementObjects[self.index].callbacks.onGround(self.parent.characterData, self) + end + self.isOnGround = collisionDetected + local nextBlock = world.getBlockState(self.nextPos) + local isNextBlockFire = false + for _, tag in ipairs(nextBlock:getTags()) do + if tag == "minecraft:fire" then + isNextBlockFire = true + break + end + end + if self.nextPos.y < -128 then + self.removeReason = "TOO_LOW" + self.shouldDeinit = true + elseif self.nextPos.y > 384 then + self.removeReason = "TOO_HIGH" + self.shouldDeinit = true + elseif not self.hasFireResistance and (nextBlock:getFluidTags()[2] == "c:lava" or isNextBlockFire) then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.fire.extinguish"), self.nextPos) + for _ = 0, self.boundingBox.x * self.boundingBox.y * self.boundingBox.z * 8 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:smoke"), vectors.vec3(self.nextPos.x + math.random() * self.boundingBox.x - self.boundingBox.x / 2, self.nextPos.y + math.random() * self.boundingBox.y, self.nextPos.z + math.random() * self.boundingBox.z - self.boundingBox.z / 2)) + end + self.removeReason = "BURNT" + self.shouldDeinit = true + end + if self.parent.characterData.placementObjects[self.index].callbacks ~= nil and self.parent.characterData.placementObjects[self.index].callbacks.onTick ~= nil then + self.parent.characterData.placementObjects[self.index].callbacks.onTick(self.parent.characterData, self) + end + end; + + ---@param self PlacementObject + onRender = function (self, delta, context) + self.object:setPos(self.nextPos:copy():sub(self.currentPos):scale(delta):add(self.currentPos):add(self.modelOffsetPos):scale(16)) + if self.parent.characterData.placementObjects[self.index].callbacks ~= nil and self.parent.characterData.placementObjects[self.index].callbacks.onRender ~= nil then + self.parent.characterData.placementObjects[self.index].callbacks.onRender(self.parent.characterData, self) + end + end + } + + return instance + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/placement_object/placement_object_manager.lua b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/placement_object/placement_object_manager.lua new file mode 100644 index 0000000..eee06b5 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/placement_object/placement_object_manager.lua @@ -0,0 +1,87 @@ +---設置物の設置モードの列挙型 +---@alias PlacementObjectManager.PlacementMode +---| "COPY" # コピーモード。BBアニメーションは使えないが、複数の設置物を設置可能。 +---| "MOVE" # 移動モード。同時に1つしか設置物を設置できないが、BBアニメーションが使える。 + +---設置物が削除された理由の列挙型 +---@alias PlacementObjectManager.RemoveReason +---| "REMOVED_BY_SCRIPTS" # スクリプトによって削除 +---| "OVERLAPPED" # 設置物がブロックと重なって削除 +---| "BURNT" # 炎に焼かれて削除 +---| "TOO_LOW" # 設置物のY座標が低過ぎて削除 +---| "TOO_HIGH" # 設置物のY座標が高過ぎて削除 + +---@class (exact) PlacementObjectManager : SpawnObjectManager 設置物を管理するマネージャークラス +---@field public objects PlacementObject[] インスタンスで制御するオブジェクト +---@field public getObject fun(self: PlacementObjectManager, index: integer, pos: Vector3, rot: number): PlacementObject 設置物のインスタンスを生成して返す +---@field public spawn fun(self: PlacementObjectManager, index: integer, pos: Vector3, rot: number) 設置物を設置する +---@field public applyFunc fun(self: PlacementObjectManager, index: integer, func: fun(object: PlacementObject, i: integer)) 設置済み設置物の指定した設置物データのインデックス番号のみに関数を適用する + +PlacementObjectManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return PlacementObjectManager + new = function (parent) + ---@type PlacementObjectManager + local instance = Avatar.instantiate(PlacementObjectManager, SpawnObjectManager, parent) + + instance.managerName = "placement_object" + + return instance + end; + + ---初期化関数 + ---@param self PlacementObjectManager + init = function (self) + SpawnObjectManager.init(self) + + ---@diagnostic disable-next-line: discard-returns + models:newPart("script_placement_object", "World") + for _, data in ipairs(self.parent.characterData.placementObjects) do + if data.placementMode == "MOVE" then + data.model = data.model:moveTo(models.script_placement_object) + data.model:setVisible(false) + end + end + end; + + + ---設置物のインスタンスを生成して返す。 + ---@param self PlacementObjectManager + ---@param index integer 設置物データのインデックス番号 + ---@param pos Vector3 設置物を設置するワールド座標 + ---@param rot number 設置物を設置するワールド方向(Y軸のみ) + ---@return PlacementObject instance 生成したインスタンス + getObject = function (self, index, pos, rot) + if self.parent.characterData.placementObjects[index].placementMode == "MOVE" then + for i, placementObject in ipairs(self.objects) do + if placementObject.index == index then + self:remove(i) + break + end + end + end + return PlacementObject.new(self.parent, index, pos, rot) + end; + + ---設置物を設置する。 + ---@param self PlacementObjectManager + ---@param index integer 設置物データのインデックス番号 + ---@param pos Vector3 設置物を設置するワールド座標 + ---@param rot number 設置物を設置するワールド方向(Y軸のみ) + spawn = function (self, index, pos, rot) + SpawnObjectManager.spawn(self, index, pos, rot) + end; + + ---設置済み設置物の、指定した設置物データのインデックス番号のみに関数を適用する。 + ---@param self PlacementObjectManager + ---@param index integer 関数実行対象の設置物データのインデックス番号 + ---@param func fun(object: PlacementObject, i: integer) 実行する関数 + applyFunc = function (self, index, func) + for i, obj in ipairs(self.objects) do + if obj.index == index then + func(obj, i) + end + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/portrait.lua b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/portrait.lua new file mode 100644 index 0000000..3d887aa --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/portrait.lua @@ -0,0 +1,32 @@ +---@class (exact) Portrait : HeadModelGenerator ポートレートのモデルを管理するクラス + +Portrait = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Portrait + new = function (parent) + ---@type Portrait + local instance = Avatar.instantiate(Portrait, HeadModelGenerator, parent) + + instance.processData = instance.parent.characterData.portrait + instance.parentName = "portrait" + instance.parentType = "Portrait" + + return instance + end; + + ---初期化関数 + ---@param self Portrait + init = function (self) + HeadModelGenerator.init(self) + end; + + ---頭モデルのコピーを生成する。 + ---@param self HeadBlock + generateHeadModel = function (self) + HeadModelGenerator.generateHeadModel(self) + if models.script_portrait.Head ~= nil then + models.script_portrait.Head.HeadRing:remove() + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/skirt.lua b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/skirt.lua new file mode 100644 index 0000000..48e97f8 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/skirt.lua @@ -0,0 +1,30 @@ +---@class Skirt : AvatarModule スカートを制御するクラス + +Skirt = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Skirt + new = function (parent) + ---@type Skirt + local instance = Avatar.instantiate(Skirt, AvatarModule, parent) + + return instance + end; + + ---初期化関数 + ---@param self AvatarModule + init = function (self) + AvatarModule.init(self) + + if self.parent.characterData.skirt.skirtModels ~= nil and #self.parent.characterData.skirt.skirtModels > 0 then + events.TICK:register(function () + local isCrouching = player:isCrouching() + for _, skirtModel in ipairs(self.parent.characterData.skirt.skirtModels) do + if skirtModel:getVisible() then + skirtModel:setRot(isCrouching and 30 or 0, 0, 0) + end + end + end) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/utils/compatibility_utils.lua b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/utils/compatibility_utils.lua new file mode 100644 index 0000000..3318d35 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/utils/compatibility_utils.lua @@ -0,0 +1,159 @@ +---レジストリの種類を示す列挙型 +---@alias CompatibilityUtils.RegistryType +---| "BLOCK" # ブロック名 +---| "ITEM" # アイテム名 +---| "PARTICLE" # パーティクル名 +---| "SOUND" # サウンド名 + +---@class (exact) CompatibilityUtils : AvatarModule Minecraftのゲームバージョンが異なっていてもある程度互換性を確保するためのユーティリティクラス +---@field package registries {block: Minecraft.blockID[], item: Minecraft.itemID[], particle: Minecraft.particleID[], sound: Minecraft.soundID[]} ゲームから取得した全アイテム名を保持するテーブル +---@field package checkedTable {block: {[Minecraft.blockID]: boolean}, item: {[Minecraft.itemID]: boolean}, particle: {[Minecraft.particleID]: boolean}, sound: {[Minecraft.soundID]: boolean}} レジストリへの確認が済んでいるIDを保持するテーブル +---@field package find fun(self: CompatibilityUtils, registryType: CompatibilityUtils.RegistryType, target: string): boolean 指定されたターゲットがレジストリに登録されているかどうかを返す。 +---@field public checkBlock fun(self: CompatibilityUtils, block: Minecraft.blockID): Minecraft.blockID 指定されたブロックIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:dirt"を返す。 +---@field public checkItem fun(self: CompatibilityUtils, item: Minecraft.itemID): Minecraft.itemID 指定されたアイテムIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:barrier"を返す。 +---@field public checkParticle fun(self: CompatibilityUtils, particle: Minecraft.particleID): Minecraft.particleID 指定されたパーティクルIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:poof"を返す。 +---@field public checkSound fun(self: CompatibilityUtils, sound: Minecraft.soundID): Minecraft.soundID 指定されたサウンドIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:empty"を返す。 +---@field public getBlockParticleId fun(block: Minecraft.blockID): string ブロックの破片のパーティクルを示す文字列を返す。Minecraftのバージョン違いを吸収するための関数。 +---@field public getDustParticleId fun(color: Vector3, size: number): string dustパーティクルを示す文字列を返す。Minecraftのバージョン違いを吸収するための関数。 + +CompatibilityUtils = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return CompatibilityUtils + new = function (parent) + ---@type CompatibilityUtils + local instance = Avatar.instantiate(CompatibilityUtils, AvatarModule, parent) + + instance.registries = {} + instance.checkedTable = { + block = {}; + item = {}; + particle = {}; + sound = {}; + } + + return instance + end; + + ---初期化関数 + ---@param self CompatibilityUtils + init = function (self) + AvatarModule.init(self) + + self.registries.block = client.getRegistry("minecraft:block") + self.registries.item = client.getRegistry("minecraft:item") + self.registries.particle = client.getRegistry("minecraft:particle_type") + self.registries.sound = client.getRegistry("minecraft:sound_event") + for name, _ in pairs(self.registries) do + table.sort(self.registries[name]) + end + self.checkedTable.block["minecraft:dirt"] = true + self.checkedTable.item["minecraft:barrier"] = true + self.checkedTable.particle["minecraft:poof"] = true + self.checkedTable.sound["minecraft:empty"] = true + if host:isHost() and client:getVersion() < "1.20.1" then + print(self.parent.locale:getLocale("avatar.old_version_warning")) + end + end; + + ---指定されたターゲットがレジストリに登録されているかどうかを返す。 + ---@param self CompatibilityUtils + ---@param registryType CompatibilityUtils.RegistryType 検索をかける対象のレジストリ + ---@param target string 検索対象名。"minecraft:"を抜かないこと。 + ---@return boolean idFound 指定されたターゲットがレジストリで見つかったかどうか + find = function (self, registryType, target) + ---リスト内の中央の要素(偶数の場合は中央から1つ左の要素)と指定されたターゲットのUnicode順を比較する。 + ---@param from integer リストの検索開始のインデックス番号 + ---@param to integer リストの検索終了のインスタンス番号(指定したインデックス番号の要素も検索に含む) + ---@return integer compareResult 比較結果。0は同じ文字列、1はターゲットの方が大きい、-1はターゲットの方が小さいことを表す。 + local function compareToCenterElement(from, to) + local centerIndex = math.floor((to - from) / 2) + from + if self.registries[registryType:lower()][centerIndex] < target then + return 1 + elseif self.registries[registryType:lower()][centerIndex] > target then + return -1 + else + return 0 + end + end + + local startIndex = 1 + local endIndex = #self.registries[registryType:lower()] + while startIndex < endIndex do + local compareResult = compareToCenterElement(startIndex, endIndex) + if compareResult == 1 then + startIndex = math.floor((endIndex - startIndex) / 2) + startIndex + 1 + elseif compareResult == -1 then + endIndex = math.floor((endIndex - startIndex) / 2) + startIndex + else + break + end + end + if startIndex == endIndex then + return compareToCenterElement(startIndex, endIndex) == 0 + else + return true + end + end; + + ---指定されたブロックIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:dirt"を返す。 + ---@param self CompatibilityUtils + ---@param block Minecraft.blockID 確認対象のブロックID + ---@param blockState string? ブロックステートを示す文字列 + ---@return Minecraft.blockID blockID レジストリに登録してある場合は確認対象のブロックIDをそのまま返し、未登録の場合は"minecraft:dirt"が返す。 + checkBlock = function (self, block, blockState) + if self.checkedTable.block[block] == nil then + self.checkedTable.block[block] = self:find("BLOCK", block) + end + local state = blockState ~= nil and blockState or "" + return self.checkedTable.block[block] and block..state or "minecraft:dirt" + end; + + ---指定されたアイテムIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:barrier"を返す。 + ---@param self CompatibilityUtils + ---@param item Minecraft.itemID 確認対象のアイテムID + ---@return Minecraft.itemID blockID レジストリに登録してある場合は確認対象のアイテムIDをそのまま返し、未登録の場合は"minecraft:barrier"が返す。 + checkItem = function (self, item) + if self.checkedTable.item[item] == nil then + self.checkedTable.item[item] = self:find("ITEM", item) + end + return self.checkedTable.item[item] and item or "minecraft:barrier" + end; + + ---指定されたパーティクルIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:poof"を返す。 + ---@param self CompatibilityUtils + ---@param particle Minecraft.particleID 確認対象のパーティクルID + ---@return Minecraft.particleID particleID レジストリに登録してある場合は確認対象のパーティクルIDをそのまま返し、未登録の場合は"minecraft:poof"が返す。 + checkParticle = function (self, particle) + if self.checkedTable.particle[particle] == nil then + self.checkedTable.particle[particle] = self:find("PARTICLE", particle) + end + return self.checkedTable.particle[particle] and particle or "minecraft:poof" + end; + + ---指定されたサウンドIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:empty"を返す。 + ---@param self CompatibilityUtils + ---@param sound Minecraft.soundID 確認対象のサウンドID + ---@return Minecraft.soundID particleID レジストリに登録してある場合は確認対象のサウンドIDをそのまま返し、未登録の場合は"minecraft:empty"が返す。 + checkSound = function (self, sound) + if self.checkedTable.sound[sound] == nil then + self.checkedTable.sound[sound] = self:find("SOUND", sound) + end + return self.checkedTable.sound[sound] and sound or "minecraft:empty" + end; + + ---ブロックの破片のパーティクルを示す文字列を返す。Minecraftのバージョン違いを吸収するための関数。 + ---@param block Minecraft.blockID ブロックの破片パーティクルとして表示するブロックのID。レジストリへの確認は行わない。 + ---@return string particleData ブロックの破片のパーティクルを示す文字列 + getBlockParticleId = function (block) + return client:getVersion() >= "1.20.5" and "minecraft:block{block_state:\""..block.."\"}" or "minecraft:block "..block + end; + + ---dustパーティクルを示す文字列を返す。Minecraftのバージョン違いを吸収するための関数。 + ---@param color Vector3 dustの色 + ---@param size number dustの大きさ + ---@return string particleData dustの破片のパーティクルを示す文字列 + getDustParticleId = function (color, size) + return client:getVersion() >= "1.20.5" and "minecraft:dust{color:["..color.x..","..color.y..","..color.z.."],scale:"..size.."}" or "minecraft:dust "..color.x.." "..color.y.." "..color.z.." "..size + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/utils/model_utils.lua b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/utils/model_utils.lua new file mode 100644 index 0000000..4208e9f --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/utils/model_utils.lua @@ -0,0 +1,59 @@ +---@class (exact) ModelUtils : AvatarModule モデルに関するユーティリティ関数群 +---@field public getModelWorldPos fun(model: ModelPart): Vector3 指定したモデルのワールド位置を返す。 +---@field public copyModel fun(self: ModelUtils, modelPart: ModelPart, name?: string, forceCopy?: boolean): ModelPart|nil モデルパーツをディープコピーする。 +---@field public copyModel fun(self: ModelUtils, modelPart: ModelPart, name?: string, forceCopy?: true): ModelPart モデルパーツをディープコピーする。 +---@field public moveTo fun(target: ModelPart, destination: ModelPart, originalParent: ModelPart) モデルパーツを別の親に移動させる。組み込みmoveTo()で何故かモデルパーツが残ってしまう問題に対処済み。 + +ModelUtils = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ModelUtils + new = function (parent) + ---@type ModelUtils + local instance = Avatar.instantiate(ModelUtils, AvatarModule, parent) + + return instance + end; + + ---指定したモデルのワールド位置を返す。 + ---@param model ModelPart ワールド位置を取得するモデルパーツ + ---@return Vector3 worldPos モデルのワールド位置 + getModelWorldPos = function(model) + local modelMatrix = model:partToWorldMatrix() + return vectors.vec3(modelMatrix[4][1], modelMatrix[4][2], modelMatrix[4][3]) + end; + + ---モデルパーツをディープコピーする。 + ---非表示のモデルパーツはコピーしない。 + ---@param modelPart ModelPart コピーするモデルパーツ + ---@param name? string コピーしたモデルパーツの名前。省略した際はコピー元と同じ名前になる。 + ---@param forceCopy? boolean 非表示のモデルも強制的にコピーするかどうか + ---@return ModelPart|nil copiedModelPart コピーされたモデルパーツ。入力されたモデルパーツが非表示の場合はnilが返る。 + copyModel = function (self, modelPart, name, forceCopy) + if modelPart:getVisible() or forceCopy then + local copy = modelPart:copy(name ~= nil and name or modelPart:getName()) + copy:setParentType("None") + for _, child in ipairs(copy:getChildren()) do + copy:removeChild(child) + local childModel = self:copyModel(child) + if childModel ~= nil then + copy:addChild(childModel) + end + end + return copy + end + end; + + ---モデルパーツを別の親に移動させる。 + ---組み込みmoveTo()で何故かモデルパーツが残ってしまう問題に対処済み。 + ---@param target ModelPart 移動させる対象のモデルパーツ + ---@param destination ModelPart 移動先の親 + ---@param originalParent ModelPart 移動元の親 + moveTo = function (target, destination, originalParent) + target:moveTo(destination) + local modelName = target:getName() + if originalParent[modelName] ~= nil then + originalParent:removeChild(target) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/utils/player_utils.lua b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/utils/player_utils.lua new file mode 100644 index 0000000..274c213 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/utils/player_utils.lua @@ -0,0 +1,35 @@ +---@alias PlayerUtils.DamageStatus +---| "NONE" # ダメージなし +---| "DAMAGE" # ダメージを受けた +---| "DIED" # 死亡した + +---@class (exact) PlayerUtils : AvatarModule プレイヤーに関するユーティリティ関数群 +---@field public damageStatus PlayerUtils.DamageStatus 現在のティックのダメージステータス +---@field package healthPrev integer 前ティックのHP量 + +PlayerUtils = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return PlayerUtils + new = function (parent) + ---@type PlayerUtils + local instance = Avatar.instantiate(PlayerUtils, AvatarModule, parent) + + instance.damageStatus = "NONE" + instance.healthPrev = player:getHealth() + + return instance + end; + + ---初期化関数 + ---@param self PlayerUtils + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + local health = player:getHealth() + self.damageStatus = self.healthPrev > health and (health == 0 and "DIED" or "DAMAGE") or "NONE" + self.healthPrev = health + end) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/utils/spawn_object.lua b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/utils/spawn_object.lua new file mode 100644 index 0000000..cf08811 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/utils/spawn_object.lua @@ -0,0 +1,26 @@ +---@class (exact) SpawnObject : AvatarModule オブジェクト(設置物、独自定義パーティクル、bbモデルetc.)クラス +---@field public object any インスタンスで制御するオブジェクト。ModelPartやRenderTaskを想定している。 +---@field public uuid string このインスタンスのUUID。オブジェクトの名前付けなどにどうぞ。 +---@field public shouldDeinit boolean このオブジェクトを破棄するかどうか。trueにするとオブジェクトが破棄され、その際に、onDeinit()コールバック関数が呼ばれる。 +---@field public callbacks? SpawnObject.CallbackSet スポーンオブジェクトのコールバック関数 + +---@class (exact) SpawnObject.CallbackSet スポーンオブジェクトのコールバック関数のセット +---@field public onInit? fun(self: SpawnObject) オブジェクトの初期化直後に呼ばれる関数 +---@field public onDeinit? fun(self: SpawnObject) オブジェクトの破棄直前に呼ばれる関数 +---@field public onTick? fun(self: SpawnObject) 各ティック毎に呼ばれる関数 +---@field public onRender? fun(self: SpawnObject, delta: number, context: Event.Render.context) 各レンダーティック毎に呼ばれる関数 + +SpawnObject = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return SpawnObject + new = function (parent) + ---@type SpawnObject + local instance = Avatar.instantiate(SpawnObject, AvatarModule, parent) + + instance.uuid = client.intUUIDToString(client.generateUUID()) + instance.shouldDeinit = false + + return instance + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/utils/spawn_object_manager.lua b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/utils/spawn_object_manager.lua new file mode 100644 index 0000000..3026820 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/utils/spawn_object_manager.lua @@ -0,0 +1,102 @@ +---@class (exact) SpawnObjectManager : AvatarModule オブジェクト(設置物、独自定義パーティクル、bbモデルetc.)をスポーンさせ、管理するマネージャークラス +---@field public managerName string このマネージャーの名前 +---@field public objects SpawnObject[] スポーンさせたオブジェクトを保持するテーブル +---@field public getObject fun(self: SpawnObjectManager): SpawnObject スポーンオブジェクトのインスタンスを生成して返す +---@field public spawn fun(self: SpawnObjectManager, ...: any) オブジェクトをスポーンさせる +---@field public remove fun(self: SpawnObjectManager, index: integer) オブジェクトを1つ削除する +---@field public removeAll fun(self: SpawnObjectManager) オブジェクトをすべて削除する + +SpawnObjectManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return SpawnObjectManager + new = function (parent) + ---@type SpawnObjectManager + local instance = Avatar.instantiate(SpawnObjectManager, AvatarModule, parent) + + instance.managerName = "spawn_object" + instance.objects = {} + + return instance + end; + + ---スポーンオブジェクトのインスタンスを生成して返す。 + ---@param self SpawnObjectManager + ---@return SpawnObject instance 生成したスポーンオブジェクト + getObject = function (self) + return SpawnObject.new(self.parent) + end; + + ---オブジェクトをスポーンさせる。 + ---@param self SpawnObjectManager + ---@param ... any インスタンス生成時の引数 + spawn = function (self, ...) + ---@diagnostic disable-next-line: redundant-parameter + local instance = self:getObject(...) + table.insert(self.objects, instance) + if instance.callbacks ~= nil and instance.callbacks.onInit ~= nil then + instance.callbacks.onInit(instance) + end + + if #self.objects == 1 then + events.TICK:register(function () + if not client:isPaused() then + for index, ins in ipairs(self.objects) do + if ins.callbacks ~= nil and ins.callbacks.onTick ~= nil then + ins.callbacks.onTick(ins) + end + if ins.shouldDeinit then + if ins.callbacks ~= nil and ins.callbacks.onDeinit ~= nil then + ins.callbacks.onDeinit(ins) + end + table.remove(self.objects, index) + if #self.objects == 0 then + events.TICK:remove(self.managerName.."_tick") + events.RENDER:remove(self.managerName.."_render") + end + end + end + end + end, self.managerName.."_tick") + + events.RENDER:register(function (delta, ctx) + if not client:isPaused() then + for _, ins in ipairs(self.objects) do + if ins.callbacks ~= nil and ins.callbacks.onRender ~= nil then + ins.callbacks.onRender(ins, delta, ctx) + end + end + end + end, self.managerName.."_render") + end + end; + + ---オブジェクトを1つ削除する。 + ---@param self SpawnObjectManager + ---@param index integer 削除するオブジェクトのインデックス番号 + remove = function (self, index) + if self.objects[index] ~= nil then + if self.objects[index].callbacks ~= nil and self.objects[index].callbacks.onDeinit ~= nil then + self.objects[index].callbacks.onDeinit(self.objects[index]) + end + table.remove(self.objects, index) + if #self.objects == 0 then + events.TICK:remove(self.managerName.."_tick") + events.RENDER:remove(self.managerName.."_render") + end + end + end; + + ---オブジェクトをすべて削除する。 + ---@param self SpawnObjectManager + removeAll = function (self) + while #self.objects > 0 do + if self.objects[1].callbacks ~= nil and self.objects[1].callbacks.onDeinit ~= nil then + self.objects[1].callbacks.onDeinit(self.objects[1]) + end + table.remove(self.objects, 1) + end + events.TICK:remove(self.managerName.."_tick") + events.RENDER:remove(self.managerName.."_render") + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/vanilla_model.lua b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/vanilla_model.lua new file mode 100644 index 0000000..2220732 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/scripts/avatar_modules/vanilla_model.lua @@ -0,0 +1,23 @@ +---@class (exact) VanillaModel : AvatarModule バニラーのモデルの管理クラス + +VanillaModel = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return VanillaModel + new = function (parent) + ---@type VanillaModel + local instance = Avatar.instantiate(VanillaModel, AvatarModule, parent) + + return instance + end; + + ---初期化関数 + ---@param self AvatarModule + init = function (self) + AvatarModule.init(self) + + for _, vanillaModel in ipairs({vanilla_model.PLAYER, vanilla_model.CHESTPLATE_RIGHT_ARM, vanilla_model.CHESTPLATE_LEFT_ARM, vanilla_model.LEGGINGS_RIGHT_LEG, vanilla_model.LEGGINGS_LEFT_LEG, vanilla_model.BOOTS}) do + vanillaModel:setVisible(false) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Mari/scripts/blue_archive_character.lua b/config/yosbr/config/figura/avatars/Mari/scripts/blue_archive_character.lua new file mode 100644 index 0000000..bf01401 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Mari/scripts/blue_archive_character.lua @@ -0,0 +1,2034 @@ +---@alias BlueArchiveCharacter.RightEyeTextures +---| "NORMAL" # 通常 +---| "SURPRISED" # 驚いた目(ダメージを受けたときなど) +---| "TIRED" # 疲れた目(死亡アニメーションなど) +---| "CLOSED" # 閉じた目(瞬き、睡眠中など) +---| "NARROW1" # 狭めの目1 +---| "NARROW2" # 狭めの目2 +---| "CLOSED2" # 横線目 +---| "INVERTED" # 反対側を見る目 +---| "TEAR" # 横線目+涙 +---| "UNEQUAL" # >< + +---@alias BlueArchiveCharacter.LeftEyeTextures +---| "NORMAL" # 通常 +---| "SURPRISED" # 驚いた目(ダメージを受けたときなど) +---| "TIRED" # 疲れた目(死亡アニメーションなど) +---| "CLOSED" # 閉じた目(瞬き、睡眠中など) +---| "NARROW1" # 狭めの目1 +---| "NARROW2" # 狭めの目2 +---| "CLOSED2" # 横線目 +---| "INVERTED" # 反対側を見る目 +---| "TEAR" # 横線目+涙 +---| "UNEQUAL" # >< + +---@alias BlueArchiveCharacter.MouthTextures +---| "NORMAL" # 通常 +---| "CLOSED" # 閉じた口 +---| "SMILE" # にっこり +---| "OPENED" # 開いた口1 +---| "ANXIOUS" # への口 +---| "TRIANGLE" # 三角口1 +---| "TRIANGLE2" # 三角口2 +---| "TIRED" # げっそり口 +---| "OPENED2" # 開いた口2 +---| "SMALL" # 小さく開いた口 + +---@alias BlueArchiveCharacter.GunHoldType +---| "NORMAL" # バニラの弓やクロスボウの構え方と同じ +---| "CUSTOM" # BBアニメーション"[models.main][gun_hold_right]"と"[models.main][gun_hold_left]"で構え方を定義する + +---@alias BlueArchiveCharacter.GunPutType +---| "BODY" # アバターのBodyに銃を移動させる +---| "HIDDEN" # 銃を隠す + +---@alias BlueArchiveCharacter.FormationType +---| "STRIKER" # ストライカー(前衛) +---| "SPECIAL" # スペシャル(後方支援) + +---@alias BlueArchiveCharacter.Costumes +---| "DEFAULT" # デフォルト衣装 +---| "NO_VEIL" # デフォルト(ベールなし) +---| "TRACKSUIT" # 体操服 +---| "IDOL" # アイドル + +--[[ ******************************** ]] + +---@class BlueArchiveCharacter : AvatarModule キャラクター変数を保持するクラス。別のキャラクターに対してもここを変更するだけで対応できるようにする。 +---@field public basic BlueArchiveCharacter.BasicStruct 生徒の基本情報 +---@field public faceParts BlueArchiveCharacter.instance.parent.facePartsStruct 目や口による表情 +---@field public arms BlueArchiveCharacter.ArmsStruct 腕 +---@field public skirt BlueArchiveCharacter.SkirtStruct スカート +---@field public gun BlueArchiveCharacter.GunStruct 銃 +---@field public placementObjects BlueArchiveCharacter.PlacementObjectStruct[] 設置物 +---@field public exSkill BlueArchiveCharacter.ExSkillStruct[] Exスキル +---@field public costume BlueArchiveCharacter.CostumeStruct コスチューム +---@field public bubble BlueArchiveCharacter.BubbleStruct 吹き出しエモート +---@field public headBlock BlueArchiveCharacter.HeadBlockStruct 頭ブロック +---@field public portrait BlueArchiveCharacter.HeadBlockStruct ポートレート +---@field public deathAnimation BlueArchiveCharacter.DeathAnimationStruct 死亡アニメーション +---@field public actionWheel BlueArchiveCharacter.ActionWheelStruct アクションホイール +---@field public physics BlueArchiveCharacter.PhysicsStruct 物理演算 +---@field public dataSync BlueArchiveCharacter.DataSyncStruct データ同期 + +--[[ ******************************** ]] + +---@class BlueArchiveCharacter.BasicStruct 生徒の基本情報のデータ構造体 +---@field public firstName BlueArchiveCharacter.LocaleStringSet 生徒の名前 +---@field public lastName BlueArchiveCharacter.LocaleStringSet 生徒の苗字 +---@field public clubName BlueArchiveCharacter.LocaleStringSet 生徒が所属している部活名 +---@field public birth BlueArchiveCharacter.MonthDaySet 生徒の誕生日 + +---@class BlueArchiveCharacter.instance.parent.facePartsStruct 目や口による表情のデータ構造体。UVマッピング情報は、デフォルトパーツから見て左からx番目、上からy番目とする。 +---@field public rightEye {[BlueArchiveCharacter.RightEyeTextures]: Vector2} 右目のテクスチャのUVマッピング情報 +---@field public leftEye {[BlueArchiveCharacter.LeftEyeTextures]: Vector2} 左目のテクスチャのUVマッピング情報 +---@field public mouth {[BlueArchiveCharacter.MouthTextures]: Vector2} 口のテクスチャのUVマッピング情報 +---@field public emotionSet? BlueArchiveCharacter.OverrideEmotionSet 特定の状況における表情を上書きする + +---@class BlueArchiveCharacter.ArmsStruct 腕のデータ構造体 +---@field public callbacks? BlueArchiveCharacter.ArmsCallbacksSet 腕の制御のコールバック関数群 + +---@class BlueArchiveCharacter.SkirtStruct スカートのデータ構造体 +---@field public skirtModels? ModelPart[] スカートとして制御するモデル + +---@class BlueArchiveCharacter.GunStruct 銃のデータ構造体 +---@field public scale number 銃モデルの大きさの倍率 +---@field public gunPosition BlueArchiveCharacter.GunPositionSet 銃モデルの位置や向き +---@field public sound BlueArchiveCharacter.GunSoundSet 銃の射撃音 +---@field public callbacks? BlueArchiveCharacter.GunCallbacksSet 銃のコールバック関数 + +---@class BlueArchiveCharacter.PlacementObjectStruct 設置物のデータ構造体 +---@field public model ModelPart 設置物として扱うモデル +---@field public boundingBox BlueArchiveCharacter.PlacementObjectBoundingBoxSet 設置物の当たり判定 +---@field public placementMode PlacementObjectManager.PlacementMode 設置物の設置モード +---@field public gravity? number 設置物にかかる重力。1が標準的な自由落下。0で空中静止。負の数で反重力(上に向かって落ちる)。 +---@field public hasFireResistance? boolean 設置物に火炎耐性を付与するかどうか。trueにすると炎やマグマで焼かれなくなる。 +---@field public callbacks? BlueArchiveCharacter.PlacementObjectCallbacksSet 設置物のコールバック関数 + +---@class BlueArchiveCharacter.ExSkillStruct Exスキルのデータ構造体 +---@field public name BlueArchiveCharacter.LocaleStringSet Exスキルの名前 +---@field public formationType BlueArchiveCharacter.FormationType この生徒の戦闘配置タイプ +---@field public models ModelPart[] Exスキルアニメーション開始時に表示し、Exスキルアニメーション終了時に非表示にするモデルパーツ +---@field public animations string[] Exスキルアニメーションが含まれるモデルファイル名。アニメーション名は"ex_skill_"にすること。 +---@field public camera BlueArchiveCharacter.ExSkillCameraSet Exスキルアニメーション中のカメラワーク +---@field public callbacks? BlueArchiveCharacter.ExSkillCallbacks Exスキルのコールバック関数 + +---@class BlueArchiveCharacter.CostumeStruct コスチュームのデータ構造体 +---@field public costumes BlueArchiveCharacter.CostumeDataSet[] コスチュームデータ +---@field public callbacks? BlueArchiveCharacter.CostumeCallbacks コスチュームのコールバック関数 + +---@class BlueArchiveCharacter.BubbleStruct 吹き出しエモートのデータ構造体 +---@field public callbacks? BlueArchiveCharacter.BubbleCallbacks 吹き出しエモートのコールバック関数 + +---@class BlueArchiveCharacter.HeadBlockStruct 頭ブロック、ポートレートのデータ構造体 +---@field public includeModels ModelPart[] 頭モデルに追加でアタッチするモデル +---@field public callbacks? BlueArchiveCharacter.HeadBlockCallbacks 頭ブロック、ポートレートのコールバック関数 + +---@class BlueArchiveCharacter.DeathAnimationStruct 死亡アニメーションのデータ構造体 +---@field public callbacks? BlueArchiveCharacter.DeathAnimationCallbacks 死亡アニメーションのコールバック関数 + +---@class BlueArchiveCharacter.ActionWheelStruct アクションホイールのデータ構造体 +---@field public isVehicleOptionEnabled boolean 乗り物のモデル置き換えオプションを有効にするかどうか + +---@class BlueArchiveCharacter.PhysicsStruct 物理演算のデータ構造体 +---@field physicData BlueArchiveCharacter.PhysicDataSet[] 物理演算データ +---@field callbacks? BlueArchiveCharacter.PhysicCallbacks 物理演算のコールバック関数 + +---@class BlueArchiveCharacter.DataSyncStruct データ同期のデータ構造体 +---@field public syncData {[string]: any} 追加でping同期させるデータテーブル +---@field public callbacks? BlueArchiveCharacter.DataSyncCallbacks データ同期のコールバック関数 + +--[[ ******************************** ]] + +---@class (exact) BlueArchiveCharacter.OverrideEmotionSet 特定の状況における表情を上書きするセット +---@field public onDamage? BlueArchiveCharacter.EmotionSet ダメージを受けたとき +---@field public onDied? BlueArchiveCharacter.EmotionSet 死んだとき(死亡アニメーションは除外) +---@field public onSleep? BlueArchiveCharacter.EmotionSet ベッドで寝ているとき + +---@class (exact) BlueArchiveCharacter.EmotionSet 表情のデータセット +---@field public rightEye BlueArchiveCharacter.RightEyeTextures 右目の表情名 +---@field public leftEye BlueArchiveCharacter.LeftEyeTextures 左目の表情名 +---@field public mouth BlueArchiveCharacter.MouthTextures 口の表情名 + +---@class (exact) BlueArchiveCharacter.ArmsCallbacksSet 腕処理のコールバック関数のセット +---@field public onArmStateChanged? fun(self: BlueArchiveCharacter, right: integer, left: integer): {right?: integer, left?: integer}|nil 腕の状態が変更された際のコールバック関数 +---@field public onAdditionalRightArmProcess? fun(self: BlueArchiveCharacter, state: integer) 右腕の追加処理 +---@field public onAdditionalLeftArmProcess? fun(self: BlueArchiveCharacter, state: integer) 左腕の追加処理 + +---@class (exact) BlueArchiveCharacter.GunPositionSet 銃のモデルの位置や向きのデータセット +---@field public hold BlueArchiveCharacter.GunHoldPositionSet 銃を構えているとき +---@field public put BlueArchiveCharacter.GunPutPositionSet 銃をしまっているとき + +---@class (exact) BlueArchiveCharacter.GunHoldPositionSet 構えているときの銃のモデルの位置や向きのデータセット +---@field public type BlueArchiveCharacter.GunHoldType 銃の構え方の種類 +---@field public firstPersonPos? BlueArchiveCharacter.Vector3RightLeftSet 一人称視点での銃の位置 +---@field public firstPersonRot? BlueArchiveCharacter.Vector3RightLeftSet 一人称視点での銃の方向 +---@field public thirdPersonPos? BlueArchiveCharacter.Vector3RightLeftSet 三人称視点での銃の位置 +---@field public thirdPersonRot? BlueArchiveCharacter.Vector3RightLeftSet 三人称視点での銃の方向 + +---@class (exact) BlueArchiveCharacter.GunPutPositionSet しまっているときの銃のモデルの位置や向きのデータセット +---@field public type BlueArchiveCharacter.GunPutType 銃のしまい方の種類 +---@field public pos? BlueArchiveCharacter.Vector3RightLeftSet 一人称視点での銃の位置 +---@field public rot? BlueArchiveCharacter.Vector3RightLeftSet 一人称視点での銃の方向 + +---@class (exact) BlueArchiveCharacter.GunSoundSet 銃の音のデータセット +---@field public name Minecraft.soundID 銃の音として使用するゲームの音源名 +---@field public pitch number 音源の再生ピッチ(0.5~2) + +---@class (exact) BlueArchiveCharacter.GunCallbacksSet 銃のコールバック関数のセット +---@field public onMainHandChange? fun(self: BlueArchiveCharacter, direction: Gun.HandDirection) 利き手が変更されたときに呼び出される関数 + +---@class (exact) BlueArchiveCharacter.PlacementObjectBoundingBoxSet 設置物の当たり判定のデータセット +---@field public offsetPos? Vector3 設置物の底の中心点のオフセット位置(任意)。基準点は(0, 0, 0)。 +---@field public size? Vector3 当たり判定の大きさ。BlockBenchでのサイズの値をそのまま入力する。基準点はモデルの底面の中心。 + +---@class (exact) BlueArchiveCharacter.PlacementObjectCallbacksSet 設置物のコールバック関数のセット +---@field public onInit? fun(self: BlueArchiveCharacter, placementObject: PlacementObject) 設置物インスタンスが生成された直後に呼ばれる関数 +---@field public onDeinit? fun(self: BlueArchiveCharacter, placementObject: PlacementObject) 設置物インスタンスが破棄される直前に呼ばれる関数 +---@field public onTick? fun(self: BlueArchiveCharacter, placementObject: PlacementObject) 各ティック毎に呼ばれる関数 +---@field public onRender? fun(self: BlueArchiveCharacter, placementObject: PlacementObject) 各レンダーティック毎に呼ばれる関数 +---@field public onGround? fun(self: BlueArchiveCharacter, placementObject: PlacementObject) 設置物が接地した瞬間に呼ばれる関数 + +---@class (exact) BlueArchiveCharacter.ExSkillCameraSet Exスキルアニメーション中のカメラワークのセット +---@field public start BlueArchiveCharacter.ExSkillCameraPositionSet Exスキルアニメーション開始地点 +---@field public fin BlueArchiveCharacter.ExSkillCameraPositionSet Exスキルアニメーション終了地点 +---@field public fixMode? boolean カメラの補正モード。通常は無効だが、特定のキャラクターに対しては有効にしておく。 + +---@class (exact) BlueArchiveCharacter.ExSkillCameraPositionSet Exスキルアニメーション中のカメラワークの開始/終了地点の位置のデータセット +---@field public pos Vector3 カメラの位置 +---@field public rot Vector3 カメラの方向 + +---@class (exact) BlueArchiveCharacter.ExSkillCallbacks Exスキルのコールバック関数のセット +---@field public onPreTransition? fun(self: BlueArchiveCharacter) Exスキルアニメーション開始前のトランジション開始前に実行されるコールバック関数 +---@field public onPreAnimation? fun(self: BlueArchiveCharacter) Exスキルアニメーション開始前のトランジション終了後に実行されるコールバック関数 +---@field public onAnimationTick? fun(self: BlueArchiveCharacter, tick: integer) Exスキルアニメーション再生中のみ実行されるティック関数 +---@field public onPostAnimation? fun(self: BlueArchiveCharacter, forcedStop: boolean) Exスキルアニメーション終了後のトランジション開始前に実行されるコールバック関数 +---@field public onPostTransition? fun(self: BlueArchiveCharacter, forcedStop: boolean) Exスキルアニメーション終了後のトランジション終了後に実行されるコールバック関数 + +---@class BlueArchiveCharacter.CostumeDataSet コスチュームのデータセット +---@field public name string コスチュームの内部名 +---@field public displayName BlueArchiveCharacter.LocaleStringSet コスチュームの表示名 +---@field public exSkill integer コスチュームに対応するExスキルのインデックス番号 +---@field public subExSkill? integer コスチュームに対応するサブExスキルのインデックス番号 + +---@class (exact) BlueArchiveCharacter.CostumeCallbacks コスチュームのコールバック関数のセット +---@field public onChange? fun(self: BlueArchiveCharacter, costumeId: BlueArchiveCharacter.Costumes) 衣装が変更されたときに実行されるコールバック関数。デフォルトの衣装はここに含めない。 +---@field public onReset? fun(self: BlueArchiveCharacter) 衣装がリセットされたときに実行されるコールバック関数。あらゆる衣装からデフォルトの衣装へ推移できるようにする。 +---@field public onArmorChange? fun(self: BlueArchiveCharacter, parts: Armor.ArmorPart, isVisible: boolean) 防具が変更された(防具が見える/見えない)ときに実行されるコールバック関数 + +---@class (exact) BlueArchiveCharacter.BubbleCallbacks 吹き出しエモートのコールバック関数のセット +---@field public onPlay? fun(self: BlueArchiveCharacter, type: Bubble.BubbleType, duration: integer, showInGui: boolean) 吹き出しエモートが再生された時に実行されるコールバック関数 +---@field public onStop? fun(self: BlueArchiveCharacter, type: Bubble.BubbleType, forcedStop: boolean) 吹き出しアニメーション終了時に実行されるコールバック関数 + +---@class (exact) BlueArchiveCharacter.HeadBlockCallbacks 頭ブロックのコールバック関数のセット +---@field public onBeforeModelCopy? fun(self: BlueArchiveCharacter, isScriptLoaded: boolean) モデルのコピー直前に実行される関数 +---@field public onAfterModelCopy? fun(self: BlueArchiveCharacter, isScriptLoaded: boolean) モデルのコピー直後に実行される関数 + +---@class (exact) BlueArchiveCharacter.DeathAnimationCallbacks 死亡アニメーションのコールバック関数のセット +---@field public onPhase1? fun(self: BlueArchiveCharacter, dummyAvatar: ModelPart, costume: BlueArchiveCharacter.Costumes) 死亡アニメーションが再生された直後に実行される関数 +---@field public onPhase2? fun(self: BlueArchiveCharacter, dummyAvatar: ModelPart, costume: BlueArchiveCharacter.Costumes) ダミーアバターが縄ばしごにつかまった直後に実行される関数 +---@field public onBeforeModelCopy? fun(self: BlueArchiveCharacter, isScriptLoaded: boolean) モデルのコピー直前に実行される関数 +---@field public onAfterModelCopy? fun(self: BlueArchiveCharacter, isScriptLoaded: boolean) モデルのコピー直後に実行される関数 + +---@class (exact) BlueArchiveCharacter.PhysicDataSet 物理演算のデータセット +---@field public models ModelPart[] 物理演算の対象にするモデルパーツ +---@field public x? BlueArchiveCharacter.PhysicAxisData x軸のデータ +---@field public y? BlueArchiveCharacter.PhysicAxisData y軸のデータ +---@field public z? BlueArchiveCharacter.PhysicAxisData z軸のデータ + +---@class (exact) BlueArchiveCharacter.PhysicAxisData 物理演算の1軸のデータセット +---@field public vertical? BlueArchiveCharacter.PhysicCoreData 体が垂直方向である時(通常時)の物理演算データ +---@field public horizontal? BlueArchiveCharacter.PhysicCoreData 体が水平方向である時(水泳時、エリトラ飛行時)の物理演算データ + +---@class (exact) BlueArchiveCharacter.PhysicCoreData 物理演算のコアデータ +---@field public min number このモデルパーツ、回転軸の絶対的な回転の最小値(度) +---@field public neutral number このモデルパーツ、回転軸の中立の回転位置(度) +---@field public max number このモデルパーツ、回転軸の絶対的な回転の最大値(度) +---@field public sneakOffset? number スニーク時にこのモデルパーツの回転に加えられるオフセット値 +---@field public headRotMultiplayer? number 頭の縦方向の回転と共にこのモデルパーツの回転に加えられる値の倍率 +---@field public headX? BlueArchiveCharacter.PhysicFactorData 頭を基準とした、前後方向移動によるモデルパーツの回転データ +---@field public headZ? BlueArchiveCharacter.PhysicFactorData 頭を基準とした、左右方向移動によるモデルパーツの回転データ +---@field public headRot? BlueArchiveCharacter.PhysicFactorData 頭の回転によるによるモデルパーツの回転データ +---@field public bodyX? BlueArchiveCharacter.PhysicFactorData 体を基準とした、前後方向移動によるモデルパーツの回転データ +---@field public bodyY? BlueArchiveCharacter.PhysicFactorData 体を基準とした、上下方向移動によるモデルパーツの回転データ +---@field public bodyZ? BlueArchiveCharacter.PhysicFactorData 体を基準とした、左右方向移動によるモデルパーツの回転データ +---@field public bodyRot? BlueArchiveCharacter.PhysicFactorData 体の回転によるによるモデルパーツの回転データ + +---@class (exact) BlueArchiveCharacter.PhysicFactorData 物理演算を働かせる要因を定義するデータセット +---@field public multiplayer number この回転事象がモデルパーツに与える回転の倍率 +---@field public min number この回転事象がモデルパーツに与える回転の最小値 +---@field public max number この回転事象がモデルパーツに与える回転の最大値 + +---@class (exact) BlueArchiveCharacter.PhysicCallbacks 物理演算のコールバック関数のセット +---@field public onPhysicPerformed? fun(self: BlueArchiveCharacter, model: ModelPart) 物理演算処理後に実行されるコールバック関数(省略可)。ここでモデルパーツの向きを上書きできる。 + +---@class (exact) BlueArchiveCharacter.DataSyncCallbacks データ同期のコールバック関数のセット +---@field public onDataSynced? fun(self: BlueArchiveCharacter) データが同期されたときに実行させるコールバック関数。ホスト上では実行されない。 + +--[[ ******************************** ]] + +---@class (exact) BlueArchiveCharacter.LocaleStringSet ロケール文字列のセット +---@field public en_us string 英語(米国) +---@field public ja_jp string 日本語 + +---@class (exact) BlueArchiveCharacter.MonthDaySet 日月のデータセット +---@field public month integer 月 +---@field public day integer 日 + +---@class (exact) BlueArchiveCharacter.Vector3RightLeftSet 左右で別々にVector3が定義できるデータセット +---@field public right? Vector3 右 +---@field public left? Vector3 左 + +BlueArchiveCharacter = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return BlueArchiveCharacter + new = function (parent) + ---@type BlueArchiveCharacter + local instance = Avatar.instantiate(BlueArchiveCharacter, AvatarModule, parent) + + instance.basic = { + firstName = { + en_us = "Mari"; + ja_jp = "マリー"; + }; + + lastName = { + en_us = "Iochi"; + ja_jp = "伊落"; + }; + + clubName = { + en_us = "Sisterhood"; + ja_jp = "シスターフッド"; + }; + + birth = { + month = 9; + day = 12; + }; + } + + instance.faceParts = { + rightEye = { + NORMAL = vectors.vec2(0, 0); --必須 + SURPRISED = vectors.vec2(2, 0); --必須 + TIRED = vectors.vec2(3, 0); --必須 + CLOSED = vectors.vec2(4, 0); --必須 + NARROW1 = vectors.vec2(5, 0); + NARROW2 = vectors.vec2(0, 1); + CLOSED2 = vectors.vec2(1, 1); + INVERTED = vectors.vec2(2, 1); + TEAR = vectors.vec2(4, 1); + UNEQUAL = vectors.vec2(5, 1); + }; + + leftEye = { + NORMAL = vectors.vec2(0, 0); --必須 + SURPRISED = vectors.vec2(1, 0); --必須 + TIRED = vectors.vec2(2, 0); --必須 + CLOSED = vectors.vec2(3, 0); --必須 + NARROW1 = vectors.vec2(5, 0); + NARROW2 = vectors.vec2(-1, 1); + CLOSED2 = vectors.vec2(0, 1); + INVERTED = vectors.vec2(2, 1); + TEAR = vectors.vec2(3, 1); + UNEQUAL = vectors.vec2(4, 1); + }; + + mouth = { + CLOSED = vectors.vec2(1, 0); + SMILE = vectors.vec2(0, 1); + OPENED = vectors.vec2(1, 1); + ANXIOUS = vectors.vec2(2, 1); + TRIANGLE = vectors.vec2(3, 1); + TRIANGLE2 = vectors.vec2(0, 2); + TIRED = vectors.vec2(1, 2); + OPENED2 = vectors.vec2(0, 3); + SMALL = vectors.vec2(1, 3); + }; + } + + instance.arms = { + + } + + instance.skirt = { + skirtModels = {models.models.main.Avatar.UpperBody.Body.Robe, models.models.main.Avatar.UpperBody.Body.CIdolB.Skirt}; + } + + instance.gun = { + scale = 0.75; + + gunPosition = { + hold = { + type = "NORMAL"; + + firstPersonPos = { + right = vectors.vec3(-0.5, 0, -5); + left = vectors.vec3(1, 0, -5); + }; + + thirdPersonPos = { + right = vectors.vec3(0, -0.5, -5); + left = vectors.vec3(0, -0.5, -5); + }; + }; + + put = { + type = "HIDDEN"; + }; + }; + + sound = { + name = "minecraft:entity.iron_golem.hurt"; + pitch = 2; + }; + } + + instance.placementObjects = { + } + + instance.exSkill = { + { + name = { + en_us = "Holy Blessing"; + ja_jp = "聖なる加護"; + }; + + formationType = "SPECIAL"; + + models = {}; + + animations = {"main"}; + + camera = { + start = { + rot = vectors.vec3(0, 150, -3); + pos = vectors.vec3(25, 25, -21); + }; + + fin = { + rot = vectors.vec3(0, 180, 0); + pos = vectors.vec3(0, 23, -36); + }; + }; + + callbacks = { + onAnimationTick = function (self, tick) + if tick == 0 then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "CLOSED", 14, true) + elseif tick == 5 then + local anchorPos = self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.ExSkill1ParticleAnchor1) + local bodyYaw = player:getBodyYaw() + for _ = 1, 30 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:cherry_leaves"), anchorPos:copy():add(math.random() - 0.5, math.random() * 2 - 1, math.random() - 0.5)):setColor(0.2, 1, 0.2):setVelocity(vectors.rotateAroundAxis(-bodyYaw, 0.1, 0, 0, 0, 1, 0)) + end + elseif tick == 14 then + self.parent.faceParts:setEmotion("NARROW1", "NARROW1", "CLOSED", 2, true) + elseif tick == 16 then + self.parent.faceParts:setEmotion("NARROW2", "NARROW2", "CLOSED", 2, true) + elseif tick == 18 then + self.parent.faceParts:setEmotion("CLOSED2", "CLOSED2", "CLOSED", 66, true) + elseif tick == 59 then + local playerPos = player:getPos() + for _ = 1, 100 do + particles:newParticle(self.parent.compatibilityUtils.getDustParticleId(vectors.vec3(100000000, 100000000, 100000000), 1), playerPos:copy():add(math.random() * 4 - 2, 0, math.random() * 4 - 2)):setLifetime(100):setVelocity() + end + local anchorPos = self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.ExSkill1ParticleAnchor3) + local bodyYaw = player:getBodyYaw() + for _ = 1, 50 do + particles:newParticle(self.parent.compatibilityUtils.getDustParticleId(vectors.vec3(100000000, 100000000, 100000000), 1), anchorPos:copy():add(vectors.rotateAroundAxis(-bodyYaw, vectors.rotateAroundAxis(math.random() * 360, 0, 1.25, 0, 0, 0, 1), 0, 1, 0))):setLifetime(40):setVelocity(vectors.rotateAroundAxis(-bodyYaw, 0, 0, math.random() * 0.1 + 0.05, 0, 1, 0)) + end + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.beacon.activate"), playerPos, 1, 1.5) + end + if tick >= 24 then + local anchorPos = self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ExSkill1ParticleAnchor2) + for _ = 1, 2 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:wax_off"), anchorPos:copy():add(math.random() * 0.4 - 0.2, 0, math.random() * 0.4 - 0.2)):setScale(0.15):setVelocity(0, math.random() * 0.025, 0):setColor(1, 1, 0.875) + end + end + if tick % 3 == 0 and tick <= 50 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.parrot.ambient"), player:getPos(), (50 - tick) / 50, 1.5) + end + end + }; + }; + + { + name = { + en_us = "Please have some water"; + ja_jp = "お水をどうぞ"; + }; + + formationType = "STRIKER"; + + models = {models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.DrinkBottle1, models.models.main.Avatar.UpperBody.Body.DrinkBottle2, models.models.main.Avatar.UpperBody.Body.DrinkBottle3, models.models.ex_skill_2.Mobs}; + + animations = {"main", "costume_tracksuit", "ex_skill_2"}; + + camera = { + start = { + rot = vectors.vec3(-5, 180, 0); + pos = vectors.vec3(-1, 27, -12); + }; + + fin = { + rot = vectors.vec3(0, 150, 0); + pos = vectors.vec3(21, 20, -30); + }; + }; + + callbacks = { + onPreAnimation = function (self) + if not self.exSkill[2].init then + for _, modelPart in ipairs({models.models.ex_skill_2.Mobs.Mob1.Mob1Head.Mob1HeadColor, models.models.ex_skill_2.Mobs.Mob1.Mob1Head.Mob1HeadLayerColor}) do + modelPart:setColor(0.318, 0.235, 0.282) + end + for _, modelPart in ipairs({models.models.ex_skill_2.Mobs.Mob1.Mob1UpperBody.Mob1Body.Mob1BodyColor, models.models.ex_skill_2.Mobs.Mob1.Mob1UpperBody.Mob1Body.Mob1BodyLayerColor, models.models.ex_skill_2.Mobs.Mob1.Mob1UpperBody.Mob1Arms.Mob1RightArm.Mob1RightArmColor, models.models.ex_skill_2.Mobs.Mob1.Mob1UpperBody.Mob1Arms.Mob1RightArm.Mob1RightArmLayerColor, models.models.ex_skill_2.Mobs.Mob1.Mob1UpperBody.Mob1Arms.Mob1LeftArm.Mob1LeftArmColor, models.models.ex_skill_2.Mobs.Mob1.Mob1UpperBody.Mob1Arms.Mob1LeftArm.Mob1LeftArmLayerColor, models.models.ex_skill_2.Mobs.Mob1.Mob1LowerBody.Mob1Legs.Mob1RightLeg.Mob1RightLegColor, models.models.ex_skill_2.Mobs.Mob1.Mob1LowerBody.Mob1Legs.Mob1RightLeg.Mob1RightLegLayerColor, models.models.ex_skill_2.Mobs.Mob1.Mob1LowerBody.Mob1Legs.Mob1LeftLeg.Mob1LeftLegColor, models.models.ex_skill_2.Mobs.Mob1.Mob1LowerBody.Mob1Legs.Mob1LeftLeg.Mob1LeftLegLayerColor}) do + modelPart:setColor(0.788, 0.263, 0.275) + end + for _, modelPart in ipairs({models.models.ex_skill_2.Mobs.Mob1.Mob1Head.Mob1HeadRing, models.models.ex_skill_2.Mobs.Mob2.Mob2Head.Mob2HeadRing, models.models.ex_skill_2.Mobs.Mob3.Mob3Head.Mob3HeadRing}) do + modelPart:setColor(0.996, 0.824, 0.843) + end + for _, modelPart in ipairs({models.models.ex_skill_2.Mobs.Mob2.Mob2Head.Mob2HeadColor, models.models.ex_skill_2.Mobs.Mob2.Mob2Head.Mob2HeadLayerColor, models.models.ex_skill_2.Mobs.Mob2.Mob2Head.Mob2HairTail}) do + modelPart:setColor(0.502, 0.369, 0.408) + end + for _, modelPart in ipairs({models.models.ex_skill_2.Mobs.Mob2.Mob2UpperBody.Mob2Body.Mob2BodyColor, models.models.ex_skill_2.Mobs.Mob2.Mob2UpperBody.Mob2Body.Mob2BodyLayerColor, models.models.ex_skill_2.Mobs.Mob2.Mob2UpperBody.Mob2Arms.Mob2RightArm.Mob2RightArmColor, models.models.ex_skill_2.Mobs.Mob2.Mob2UpperBody.Mob2Arms.Mob2RightArm.Mob2RightArmLayerColor, models.models.ex_skill_2.Mobs.Mob2.Mob2UpperBody.Mob2Arms.Mob2LeftArm.Mob2LeftArmColor, models.models.ex_skill_2.Mobs.Mob2.Mob2UpperBody.Mob2Arms.Mob2LeftArm.Mob2LeftArmLayerColor, models.models.ex_skill_2.Mobs.Mob2.Mob2LowerBody.Mob2Legs.Mob2RightLeg.Mob2RightLegColor, models.models.ex_skill_2.Mobs.Mob2.Mob2LowerBody.Mob2Legs.Mob2RightLeg.Mob2RightLegLayerColor, models.models.ex_skill_2.Mobs.Mob2.Mob2LowerBody.Mob2Legs.Mob2LeftLeg.Mob2LeftLegColor, models.models.ex_skill_2.Mobs.Mob2.Mob2LowerBody.Mob2Legs.Mob2LeftLeg.Mob2LeftLegLayerColor}) do + modelPart:setColor(0.596, 0.6, 0.757) + end + for _, modelPart in ipairs({models.models.ex_skill_2.Mobs.Mob3.Mob3Head.Mob3HeadColor, models.models.ex_skill_2.Mobs.Mob3.Mob3Head.Mob3HeadLayerColor, models.models.ex_skill_2.Mobs.Mob3.Mob3Head.Mob3Bun}) do + modelPart:setColor(0.275, 0.212, 0.227) + end + for _, modelPart in ipairs({models.models.ex_skill_2.Mobs.Mob3.Mob3UpperBody.Mob3Body.Mob3BodyColor, models.models.ex_skill_2.Mobs.Mob3.Mob3UpperBody.Mob3Body.Mob3BodyLayerColor, models.models.ex_skill_2.Mobs.Mob3.Mob3UpperBody.Mob3Arms.Mob3RightArm.Mob3RightArmColor, models.models.ex_skill_2.Mobs.Mob3.Mob3UpperBody.Mob3Arms.Mob3RightArm.Mob3RightArmLayerColor, models.models.ex_skill_2.Mobs.Mob3.Mob3UpperBody.Mob3Arms.Mob3LeftArm.Mob3LeftArmColor, models.models.ex_skill_2.Mobs.Mob3.Mob3UpperBody.Mob3Arms.Mob3LeftArm.Mob3LeftArmLayerColor, models.models.ex_skill_2.Mobs.Mob3.Mob3LowerBody.Mob3Legs.Mob3RightLeg.Mob3RightLegColor, models.models.ex_skill_2.Mobs.Mob3.Mob3LowerBody.Mob3Legs.Mob3RightLeg.Mob3RightLegLayerColor, models.models.ex_skill_2.Mobs.Mob3.Mob3LowerBody.Mob3Legs.Mob3LeftLeg.Mob3LeftLegColor, models.models.ex_skill_2.Mobs.Mob3.Mob3LowerBody.Mob3Legs.Mob3LeftLeg.Mob3LeftLegLayerColor}) do + modelPart:setColor(0.231, 0.298, 0.22) + end + for _, modelPart in ipairs({models.models.ex_skill_2.Mobs.Mob4.Mob4Head.Mob4HeadColor, models.models.ex_skill_2.Mobs.Mob4.Mob4Head.Mob4HeadLayerColor, models.models.ex_skill_2.Mobs.Mob4.Mob4Head.Mob4Bun}) do + modelPart:setColor(0.345, 0.251, 0.251) + end + for _, modelPart in ipairs({models.models.ex_skill_2.Mobs.Mob4.Mob4UpperBody.Mob4Body.Mob4BodyColor, models.models.ex_skill_2.Mobs.Mob4.Mob4UpperBody.Mob4Body.Mob4BodyLayerColor, models.models.ex_skill_2.Mobs.Mob4.Mob4UpperBody.Mob4Arms.Mob4RightArm.Mob4RightArmColor, models.models.ex_skill_2.Mobs.Mob4.Mob4UpperBody.Mob4Arms.Mob4RightArm.Mob4RightArmLayerColor, models.models.ex_skill_2.Mobs.Mob4.Mob4UpperBody.Mob4Arms.Mob4LeftArm.Mob4LeftArmColor, models.models.ex_skill_2.Mobs.Mob4.Mob4UpperBody.Mob4Arms.Mob4LeftArm.Mob4LeftArmLayerColor, models.models.ex_skill_2.Mobs.Mob4.Mob4LowerBody.Mob4Legs.Mob4RightLeg.Mob4RightLegColor, models.models.ex_skill_2.Mobs.Mob4.Mob4LowerBody.Mob4Legs.Mob4RightLeg.Mob4RightLegLayerColor, models.models.ex_skill_2.Mobs.Mob4.Mob4LowerBody.Mob4Legs.Mob4LeftLeg.Mob4LeftLegColor, models.models.ex_skill_2.Mobs.Mob4.Mob4LowerBody.Mob4Legs.Mob4LeftLeg.Mob4LeftLegLayerColor}) do + modelPart:setColor(0.49, 0.42, 0.522) + end + for _, modelPart in ipairs({models.models.ex_skill_2.Mobs.Mob4.Mob4Head.Mob4HeadRing, models.models.ex_skill_2.Mobs.Mob5.Mob5Head.Mob5HeadRing, models.models.ex_skill_2.Mobs.Mob6.Mob6Head.Mob6HeadRing}) do + modelPart:setColor(1, 0.98, 0.804) + end + for _, modelPart in ipairs({models.models.ex_skill_2.Mobs.Mob5.Mob5Head.Mob5HeadColor, models.models.ex_skill_2.Mobs.Mob5.Mob5Head.Mob5HeadLayerColor}) do + modelPart:setColor(0.349, 0.286, 0.365) + end + for _, modelPart in ipairs({models.models.ex_skill_2.Mobs.Mob5.Mob5UpperBody.Mob5Body.Mob5BodyColor, models.models.ex_skill_2.Mobs.Mob5.Mob5UpperBody.Mob5Body.Mob5BodyLayerColor, models.models.ex_skill_2.Mobs.Mob5.Mob5UpperBody.Mob5Arms.Mob5RightArm.Mob5RightArmColor, models.models.ex_skill_2.Mobs.Mob5.Mob5UpperBody.Mob5Arms.Mob5RightArm.Mob5RightArmLayerColor, models.models.ex_skill_2.Mobs.Mob5.Mob5UpperBody.Mob5Arms.Mob5LeftArm.Mob5LeftArmColor, models.models.ex_skill_2.Mobs.Mob5.Mob5UpperBody.Mob5Arms.Mob5LeftArm.Mob5LeftArmLayerColor, models.models.ex_skill_2.Mobs.Mob5.Mob5LowerBody.Mob5Legs.Mob5RightLeg.Mob5RightLegColor, models.models.ex_skill_2.Mobs.Mob5.Mob5LowerBody.Mob5Legs.Mob5RightLeg.Mob5RightLegLayerColor, models.models.ex_skill_2.Mobs.Mob5.Mob5LowerBody.Mob5Legs.Mob5LeftLeg.Mob5LeftLegColor, models.models.ex_skill_2.Mobs.Mob5.Mob5LowerBody.Mob5Legs.Mob5LeftLeg.Mob5LeftLegLayerColor}) do + modelPart:setColor(0.294, 0.337, 0.49) + end + for _, modelPart in ipairs({models.models.ex_skill_2.Mobs.Mob6.Mob6Head.Mob6HeadColor, models.models.ex_skill_2.Mobs.Mob6.Mob6Head.Mob6HeadLayerColor, models.models.ex_skill_2.Mobs.Mob6.Mob6Head.Mob6HairTail}) do + modelPart:setColor(0.506, 0.369, 0.322) + end + for _, modelPart in ipairs({models.models.ex_skill_2.Mobs.Mob6.Mob6UpperBody.Mob6Body.Mob6BodyColor, models.models.ex_skill_2.Mobs.Mob6.Mob6UpperBody.Mob6Body.Mob6BodyLayerColor, models.models.ex_skill_2.Mobs.Mob6.Mob6UpperBody.Mob6Arms.Mob6RightArm.Mob6RightArmColor, models.models.ex_skill_2.Mobs.Mob6.Mob6UpperBody.Mob6Arms.Mob6RightArm.Mob6RightArmLayerColor, models.models.ex_skill_2.Mobs.Mob6.Mob6UpperBody.Mob6Arms.Mob6LeftArm.Mob6LeftArmColor, models.models.ex_skill_2.Mobs.Mob6.Mob6UpperBody.Mob6Arms.Mob6LeftArm.Mob6LeftArmLayerColor, models.models.ex_skill_2.Mobs.Mob6.Mob6LowerBody.Mob6Legs.Mob6RightLeg.Mob6RightLegColor, models.models.ex_skill_2.Mobs.Mob6.Mob6LowerBody.Mob6Legs.Mob6RightLeg.Mob6RightLegLayerColor, models.models.ex_skill_2.Mobs.Mob6.Mob6LowerBody.Mob6Legs.Mob6LeftLeg.Mob6LeftLegColor, models.models.ex_skill_2.Mobs.Mob6.Mob6LowerBody.Mob6Legs.Mob6LeftLeg.Mob6LeftLegLayerColor}) do + modelPart:setColor(0.58, 0.231, 0.29) + end + + models.models.main.Avatar.Head.FaceShadow:setOpacity(0.5) + + self.exSkill[2].stairs:setPos(6, 0, 6) + self.exSkill[2].stairs:setRot(0, 180, 0) + self.exSkill[2].stairs:setBlock(self.parent.compatibilityUtils:checkBlock("minecraft:oak_stairs")) + self.exSkill[2].stairs:setVisible(false) + if host:isHost() then + models.models.ex_skill_2.Gui.AnxiousFrame:setColor(0.282, 0.29, 0.725) + end + self.exSkill[2].init = true + end + end; + + onAnimationTick = function (self, tick) + if tick == 0 then + self.parent.faceParts:setEmotion("CLOSED", "CLOSED", "SMILE", 7, true) + elseif tick == 7 then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "OPENED", 11, true) + elseif tick == 18 then + self.parent.faceParts:setEmotion("NORMAL", "INVERTED", "OPENED", 6, true) + elseif tick == 24 then + self.parent.faceParts:setEmotion("CLOSED2", "CLOSED2", "CLOSED", 8, true) + elseif tick == 32 then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "OPENED", 10, true) + elseif tick == 38 and host:isHost() then + for _, modelPart in ipairs({models.models.ex_skill_2.Mobs.Mob1, models.models.ex_skill_2.Mobs.Mob4}) do + modelPart:setVisible(false) + end + elseif tick == 42 then + self.parent.faceParts:setEmotion("INVERTED", "NORMAL", "OPENED", 5, true) + elseif tick == 45 then + self.parent.faceParts:setEmotion("CLOSED2", "CLOSED2", "CLOSED", 3, true) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.wither.spawn"), player:getPos(), 0.15, 2) + if host:isHost() then + local windowSize = client:getScaledWindowSize() + models.models.ex_skill_2.Gui.AnxiousFrame:setScale(windowSize.x, windowSize.y, 1) + models.models.ex_skill_2.Gui.AnxiousFrame:setVisible(true) + end + elseif tick == 50 then + self.parent.faceParts:setEmotion("INVERTED", "NORMAL", "ANXIOUS", 6, true) + elseif tick == 56 then + self.parent.faceParts:setEmotion("NORMAL", "INVERTED", "ANXIOUS", 10, true) + elseif tick == 66 then + self.parent.faceParts:setEmotion("NORMAL", "INVERTED", "TRIANGLE", 5, true) + elseif tick == 71 then + self.parent.faceParts:setEmotion("INVERTED", "NORMAL", "TRIANGLE", 10, true) + elseif tick == 80 then + models.models.main.Avatar:setColor() + models.models.ex_skill_2.Gui.AnxiousFrame:setVisible(false) + elseif tick == 81 then + self.parent.faceParts:setEmotion("CLOSED2", "CLOSED2", "CLOSED", 4, true) + elseif tick == 85 then + self.parent.faceParts:setEmotion("TEAR", "TEAR", "TRIANGLE2", 15, true) + elseif tick == 100 then + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Body.DrinkBottle2, models.models.main.Avatar.UpperBody.Body.DrinkBottle3, models.models.ex_skill_2.Mobs}) do + modelPart:setVisible(false) + end + self.exSkill[2].stairs:setVisible(true) + models.models.main.Avatar.UpperBody.Body.CTracksuitB.Bag:moveTo(models.models.main) + models.models.main.Avatar.Head.FaceShadow:setVisible(true) + self.parent.faceParts:setEmotion("TIRED", "TIRED", "TIRED", 43, true) + local bodyYaw = player:getBodyYaw() + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:soul"), self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.Head.FaceParts.Mouth):add(vectors.rotateAroundAxis(-bodyYaw, 0.1, 0.17, 0.35, 0, 1, 0))):setScale(0.75):setVelocity(vectors.rotateAroundAxis(-bodyYaw, -0.01, 0, 0, 0, 1, 0)):setLifetime(40) + local playerPos = player:getPos() + for _ = 1, 50 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:effect"), playerPos:copy():add(math.random() * 1.5 - 0.75, math.random() * 1.5 + 0.5, math.random() * 1.5 - 0.75)):setColor(0.1, 0.1, 0.1):setGravity(0.1):setLifetime(40) + end + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.beacon.deactivate"), playerPos, 1, 2) + end + if tick >= 45 and tick <= 56 then + models.models.main.Avatar:setColor(vectors.vec3(1, 1, 1):scale(1 - math.map(tick, 45, 56, 0, 0.25))) + if host:isHost() then + models.models.ex_skill_2.Gui.AnxiousFrame:setOpacity(math.map(tick, 45, 56, 0, 1)) + end + end + if tick >= 8 and tick < 80 then + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:splash"), self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.Head)):setPower(2) + if tick % 4 == 0 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.bubble_column.bubble_pop"), player:getPos(), 0.15, 2 - math.random() * 0.5) + end + elseif tick >= 85 and tick < 100 and tick % 2 == 0 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.experience_orb.pickup"), player:getPos(), 0.5, 2) + end + end; + + onPostAnimation = function (self, forcedStop) + if models.models.main.Bag ~= nil then + models.models.main.Bag:moveTo(models.models.main.Avatar.UpperBody.Body.CTracksuitB) + end + self.exSkill[2].stairs:setVisible(false) + models.models.main.Avatar.Head.FaceShadow:setVisible(false) + if host:isHost() then + for _, modelPart in ipairs({models.models.ex_skill_2.Mobs.Mob1, models.models.ex_skill_2.Mobs.Mob4}) do + modelPart:setVisible(true) + end + end + if forcedStop then + models.models.main.Avatar:setColor() + if host:isHost() then + models.models.ex_skill_2.Gui.AnxiousFrame:setVisible(false) + end + end + end; + }; + + ---Exスキルの初期化処理が行われたかどうか + ---@type boolean + init = false; + + ---Exスキル2で使用する階段ブロック + ---@type BlockTask + stairs = models.models.main:newBlock("ex_skill_2_stairs") + }; + + { + name = { + en_us = "Overflowing heart"; + ja_jp = "溢れるハート"; + }; + + formationType = "STRIKER"; + + models = {models.models.ex_skill_3.Gui}; + + animations = {"main", "costume_tracksuit", "costume_idol", "ex_skill_3"}; + + camera = { + start = { + rot = vectors.vec3(0, 180, 0); + pos = vectors.vec3(0, 25, -22); + }; + + fin = { + rot = vectors.vec3(-20, 200, -10); + pos = vectors.vec3(-6, 50, -18); + }; + }; + + callbacks = { + onPreAnimation = function (self) + self.parent.costume.setCostumeTextureOffset(3) + for _, modelPart in ipairs({models.models.main.Avatar.Head.Head, models.models.main.Avatar.Head.HatLayer}) do + modelPart:setUVPixels() + end + for _, modelPart in ipairs({models.models.main.Avatar.Head.CIdolH, models.models.main.Avatar.UpperBody.Body.CIdolB, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.CIdolRLB, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.CIdolLLB, models.models.main.Avatar.Head.CTracksuitH.HairbandFront, models.models.main.Avatar.Head.CTracksuitH.Hairband, models.models.main.Avatar.Head.CTracksuitH.HairBandRibbon, models.models.main.Avatar.UpperBody.Body.CTracksuitB.TrinityLogo, models.models.main.Avatar.UpperBody.Body.CTracksuitB.Fastener, models.models.main.Avatar.UpperBody.Body.CTracksuitB.Bag}) do + modelPart:setVisible(false) + end + for _, modelPart in ipairs({models.models.main.Avatar.Head.CTracksuitH, models.models.main.Avatar.UpperBody.Body.CTracksuitB, models.models.main.Avatar.UpperBody.Body.BTrinityLogo}) do + modelPart:setVisible(true) + end + models.models.main.Avatar.Head.Ears.RightEarPivot:setRot() + + if not self.exSkill[3].init then + models.models.main.Avatar.UpperBody.Body.BTrinityLogo:setColor(0.357, 0.365, 0.475) + for _, modelPart in ipairs({models.models.ex_skill_3.Stage.StageFloor, models.models.ex_skill_3.Stage.StageStair1, models.models.ex_skill_3.Stage.StageStair2, models.models.ex_skill_3.Stage.StageStair3, models.models.ex_skill_3.Stage.StageStair4}) do + modelPart:setPrimaryTexture("RESOURCE", "minecraft:textures/block/gray_concrete.png") + end + --ペンライトの作成 + local penLightColors = {vectors.vec3(1, 0.855, 0.584), vectors.vec3(0.698, 1, 0.97), vectors.vec3(0.81, 1, 0.698)} + for i = 1, 100 do + local model = models.models.ex_skill_3.Stage.PenLights["PenLight"..i] + if model == nil then + model = self.parent.modelUtils:copyModel(models.models.ex_skill_3.Stage.PenLights.PenLight1, "PenLight"..i, true) + models.models.ex_skill_3.Stage.PenLights:addChild(model) + end + model.PenLightEmissive:setColor(penLightColors[math.floor(math.random() * 3) + 1]) + end + if host:isHost() then + --モデルのコピー + models.models.main.Avatar.Head.FaceParts.Mouth:setVisible(true) + models.models.main.Avatar.UpperBody.Body.Gun:setVisible(false) + local armorVisible = { + helmet = self.parent.armor.isArmorVisible.helmet; + chestplate = self.parent.armor.isArmorVisible.chestplate; + leggings = self.parent.armor.isArmorVisible.leggings; + boots = self.parent.armor.isArmorVisible.boots; + } + if armorVisible.helmet then + self.parent.armor:setHelmet(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + models.models.main.Avatar.Head.Ears.RightEarPivot:setRot() + end + if armorVisible.chestplate then + Armor:setChestPlate(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + if armorVisible.leggings then + Armor:setLeggings(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + if armorVisible.boots then + Armor:setBoots(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + for i = 1, 4 do + models.models.ex_skill_3.Gui.Scrollable.Characters["Pose"..i]:addChild(self.parent.modelUtils:copyModel(models.models.main.Avatar)) + end + models.models.main.Avatar.Head.FaceParts.Mouth:setVisible(false) + --ポーズの作成 + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose1.Avatar:setRot(-2.7199, 19.8217, -7.9753) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose1.Avatar.Head:setRot(2.664, -14.7669, -10.3453) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose1.Avatar.Head.Ears.RightEarPivot:setRot(0, 0, -15) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose1.Avatar.Head.Ears.LeftEarPivot:setRot(0, 0, -15) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose1.Avatar.Head.CTracksuitH.HairTail:setRot(-22.5, 0, 20) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose1.Avatar.UpperBody.Body.CTracksuitB.FrontHair:setRot(15, 0, 0) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose1.Avatar.UpperBody.Arms.RightArm:setRot(0, 0, 22.5) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose1.Avatar.UpperBody.Arms.LeftArm:setRot(0, 90, -110) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose1.Avatar.LowerBody.Legs.RightLeg:setRot(52.0721, 46.6851, 28.5204) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose1.Avatar.LowerBody.Legs.RightLeg.RightLegBottom:setRot(-60, 0, 0) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose1.Avatar.LowerBody.Legs.LeftLeg:setRot(0, 0, 15) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose1.Avatar.Head.FaceParts.Eyes.EyeLeft:setUVPixels(self.faceParts.rightEye.CLOSED:copy():scale(6)) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose1.Avatar.Head.FaceParts.Mouth:setUVPixels(self.faceParts.mouth.OPENED2:copy():mul(16, 8)) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose2.Avatar:setRot(-0.9096, -19.9801, 2.6602) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose2.Avatar.Head:setRot(-2.7199, 19.8217, -7.9753) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose2.Avatar.Head.CTracksuitH.HairTail:setRot(0, 0, 5) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose2.Avatar.UpperBody.Body.CTracksuitB.FrontHair:setRot(22.5, 0, 0) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose2.Avatar.UpperBody.Arms.RightArm:setRot(32.5, 67.5, 0) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose2.Avatar.UpperBody.Arms.RightArm.RightArmBottom:setRot(70, 0, 0) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose2.Avatar.UpperBody.Arms.LeftArm:setRot(103.7833, -8.4773, 119.2288) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose2.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom:setRot(10, 0, 0) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose2.Avatar.LowerBody.Legs.RightLeg:setRot(0, 12.5, 0) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose2.Avatar.LowerBody.Legs.LeftLeg:setRot(0, 0, -10) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose2.Avatar.Head.FaceParts.Mouth:setUVPixels(self.faceParts.mouth.SMILE:copy():mul(16, 8)) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose3.Avatar:setRot(-98.9287, -27.6048, -13.6459) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose3.Avatar.Head:setRot(85, 0, 0) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose3.Avatar.Head.Ears.RightEarPivot:setRot(-30, 0, -10) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose3.Avatar.Head.Ears.LeftEarPivot:setRot(-30, 0, 10) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose3.Avatar.Head.CTracksuitH.HairTail:setRot(-87.5, -22.5, 0) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose3.Avatar.UpperBody.Body.CTracksuitB.FrontHair:setPos(0, 3, 2) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose3.Avatar.UpperBody.Body.CTracksuitB.FrontHair:setRot(90, 0, 0) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose3.Avatar.UpperBody.Arms.RightArm:setRot(-180, 0, -7.5) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose3.Avatar.UpperBody.Arms.LeftArm:setRot(-180, 0, 7.5) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose3.Avatar.LowerBody.Legs.RightLeg:setRot(-39.8593, 2.2494, 7.1566) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose3.Avatar.LowerBody.Legs.RightLeg.RightLegBottom:setRot(-40, 0, 0) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose3.Avatar.LowerBody.Legs.LeftLeg:setRot(-4.7697, -1.5018, -17.4374) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose3.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom:setRot(-25, 0, 0) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose3.Avatar.Head.FaceParts.Eyes.EyeLeft:setUVPixels(self.faceParts.rightEye.UNEQUAL:copy():scale(6)) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose3.Avatar.Head.FaceParts.Eyes.EyeRight:setUVPixels(self.faceParts.leftEye.UNEQUAL:copy():scale(6)) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose3.Avatar.Head.FaceParts.Mouth:setUVPixels(self.faceParts.mouth.TRIANGLE:copy():mul(16, 8)) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose4.Avatar:setRot(-30, 30, 0) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose4.Avatar.Head:setRot(9.8511, 1.7279, -9.8511) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose4.Avatar.Head.Ears.RightEarPivot:setRot(-40, 0, -10) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose4.Avatar.Head.Ears.LeftEarPivot:setRot(-40, 0, 10) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose4.Avatar.Head.CTracksuitH.HairTail:setRot(-5, 0, 15) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose4.Avatar.UpperBody.Body.CTracksuitB.FrontHair:setRot(25, 0, 0) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose4.Avatar.UpperBody.Arms.RightArm:setRot(62.5, 65, 0) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose4.Avatar.UpperBody.Arms.RightArm.RightArmBottom:setRot(47.5, 0, 0) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose4.Avatar.UpperBody.Arms.LeftArm:setRot(28.8384, -8.6474, 15.2727) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose4.Avatar.LowerBody.Legs.RightLeg:setRot(60, 0, 0) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose4.Avatar.LowerBody.Legs.RightLeg.RightLegBottom:setRot(-37.5, 0, 0) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose4.Avatar.LowerBody.Legs.LeftLeg:setRot(60, 0, 0) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose4.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom:setRot(-37.5, 0, 0) + models.models.ex_skill_3.Gui.Scrollable.Characters.Pose4.Avatar.Head.FaceParts.Mouth:setUVPixels(self.faceParts.mouth.SMALL:copy():mul(16, 8)) + if armorVisible.helmet then + self.parent.armor:setHelmet(self.parent.armor.armorSlotItems[1]) + end + if armorVisible.chestplate then + self.parent.armor:setChestplate(self.parent.armor.armorSlotItems[2]) + end + if armorVisible.leggings then + self.parent.armor:setLeggings(self.parent.armor.armorSlotItems[3]) + end + if armorVisible.boots then + self.parent.armor:setBoots(self.parent.armor.armorSlotItems[4]) + end + --白い縁取りと影の作成 + local outlineTexture = textures:newTexture("ex_skill_3_character_outline", 1, 1) + outlineTexture:fill(0, 0, 1, 1, 1, 1, 1) + for i = 1, 4 do + local outlineAvatar = models.models.ex_skill_3.Gui.Scrollable.Characters["Pose"..i].Avatar:copy("OutlineAvatar") + outlineAvatar:setPrimaryRenderType("EMISSIVE_SOLID") + outlineAvatar:setPrimaryTexture("CUSTOM", outlineTexture) + ---@diagnostic disable-next-line: discard-returns + models.models.ex_skill_3.Gui.Scrollable.Characters["Pose"..i]:newPart("Outline") + models.models.ex_skill_3.Gui.Scrollable.Characters["Pose"..i].Outline:setPos(0, 0, 50) + models.models.ex_skill_3.Gui.Scrollable.Characters["Pose"..i].Outline:setScale(1.2, 1.2, 0) + models.models.ex_skill_3.Gui.Scrollable.Characters["Pose"..i].Outline:addChild(outlineAvatar) + local shaderAvatar = models.models.ex_skill_3.Gui.Scrollable.Characters["Pose"..i].Outline.OutlineAvatar:copy("ShaderAvatar") + shaderAvatar:setPos(-1, -1, 0) + shaderAvatar:setColor(0.478, 0.631, 0.98) + ---@diagnostic disable-next-line: discard-returns + models.models.ex_skill_3.Gui.Scrollable.Characters["Pose"..i]:newPart("Shader") + models.models.ex_skill_3.Gui.Scrollable.Characters["Pose"..i].Shader:setPos(i <= 2 and 2 or -0.25, -0.25, 51) + models.models.ex_skill_3.Gui.Scrollable.Characters["Pose"..i].Shader:setScale(1.2, 1.2, 0) + models.models.ex_skill_3.Gui.Scrollable.Characters["Pose"..i].Shader:addChild(shaderAvatar) + end + --波型背景の作成 + models.models.ex_skill_3.Gui.Scrollable.WaveBackground.UpperWave:setPos(0, 0, 600) + models.models.ex_skill_3.Gui.Background.UpperLine:setPos(0, 0, 601) + ---背景の円とキラキラを作成 + models.models.ex_skill_3.Gui.Scrollable2:setPos(0, 0, 602) + for i = 2, 10 do + models.models.ex_skill_3.Gui.Scrollable2:addChild(models.models.ex_skill_3.Gui.Scrollable2.Circle1:copy("Circle"..i)) + end + for i = 2, 20 do + models.models.ex_skill_3.Gui.Scrollable2:addChild(models.models.ex_skill_3.Gui.Scrollable2.Shine1:copy("Shine"..i)) + end + ---グラデーション背景の作成 + models.models.ex_skill_3.Gui.Background.GradientBackground:setPos(0, 0, 603) + models.models.ex_skill_3.Gui.Background.GradientBackground:setColor(0.463, 0.875, 0.996) + models.models.ex_skill_3.Gui.Background.GradientBackground.GradientBackground1:setPos(-150, 182, 0) + --縞背景の作成 + models.models.ex_skill_3.Gui.Background.StripeBackground:setPos(0, 0, 604) + models.models.ex_skill_3.Gui.Background.StripeBackground.StripeBackground1:setPos(0, 6, 0) + --トランジションの円棒の作成 + for i = 2, 20 do + models.models.ex_skill_3.Gui.Transition.CirclePillars:addChild(models.models.ex_skill_3.Gui.Transition.CirclePillars.Pillar1:copy("Pillar"..i)) + end + models.models.ex_skill_3.Gui.Frame:setColor(1, 0.875, 1) + models.models.ex_skill_3.Gui.Frame:setOpacity(0.75) + end + for i = 2, 3 do + models.models.ex_skill_3.Stage.SpotLights["SpotLight"..i]["SpotLight"..i.."Core"].SpotLightEmissive:setColor(0.729, 1, 0.996) + end + self.exSkill[3].init = true + end + + if host:isHost() then + local windowSize = client:getScaledWindowSize() + --キャラクターの位置調整 + local characterScale = windowSize.y / 270 + models.models.ex_skill_3.Gui.Scrollable.Characters:setPos((windowSize.x - windowSize.y / 0.5625) / 2 * -1) + models.models.ex_skill_3.Gui.Scrollable.Characters:setScale(vectors.vec3(1, 1, 0):scale(characterScale):add(0, 0, 1)) + --波型背景の配置 + models.models.ex_skill_3.Gui.Scrollable.WaveBackground.LowerWave:setPos(0, windowSize.y * -1 + 30, 600) + for i = 1, (windowSize.x + 160 * characterScale) / 92 + 1 do + if models.models.ex_skill_3.Gui.Scrollable.WaveBackground.UpperWave["UpperWave"..i] == nil then + local upperWave = models.models.ex_skill_3.Gui.Scrollable.WaveBackground.UpperWave.UpperWave1:copy("UpperWave"..i) + upperWave:setPos((i - 1) * -92, 0, 0) + models.models.ex_skill_3.Gui.Scrollable.WaveBackground.UpperWave:addChild(upperWave) + end + if models.models.ex_skill_3.Gui.Scrollable.WaveBackground.LowerWave.LowerWave1["LowerWave"..i] == nil then + local lowerWave = models.models.ex_skill_3.Gui.Scrollable.WaveBackground.LowerWave.LowerWave1:copy("LowerWave"..i) + lowerWave:setPos((i - 1) * -92, 0, 0) + models.models.ex_skill_3.Gui.Scrollable.WaveBackground.LowerWave:addChild(lowerWave) + end + end + models.models.ex_skill_3.Gui.Background.UpperLine:setScale(windowSize.x, 1, 1) + models.models.ex_skill_3.Gui.Background.LowerLine:setPos(0, windowSize.y * -1 + 48, 601) + models.models.ex_skill_3.Gui.Background.LowerLine:setScale(windowSize.x, 1, 1) + --グラデーション背景の配置 + local gradientPanelSize = windowSize.y / math.sqrt(2) * 2 + models.models.ex_skill_3.Gui.Background.GradientBackground.GradientBackground1:setScale(1, gradientPanelSize, 1) + for i = 1, (windowSize.x + windowSize.y) / math.sqrt(2) / 150 + 1 do + local model = models.models.ex_skill_3.Gui.Background.GradientBackground["GradientBackground"..i] + if model == nil then + model = models.models.ex_skill_3.Gui.Background.GradientBackground.GradientBackground1:copy("GradientBackground"..i) + models.models.ex_skill_3.Gui.Background.GradientBackground:addChild(model) + end + model:setPos((i - 1) * -150, (i - 1) * 150 + 32, 0) + model:setScale(1, gradientPanelSize, 1) + end + --背景の円とキラキラの配置 + for i = 1, 10 do + models.models.ex_skill_3.Gui.Scrollable2["Circle"..i]:setPos((math.random() * (windowSize.x + 100 * math.sqrt(2)) - 100 * math.sqrt(2)) * -1, math.random() * (windowSize.y + 100 * math.sqrt(2)) * -1, 0) + models.models.ex_skill_3.Gui.Scrollable2["Circle"..i]:setScale(vectors.vec3(1, 1, 1):scale(math.random() * 0.1 + 0.95)) + end + for i = 1, 20 do + models.models.ex_skill_3.Gui.Scrollable2["Shine"..i]:setPos((math.random() * (windowSize.x + 100 * math.sqrt(2)) - 100 * math.sqrt(2)) * -1, math.random() * (windowSize.y + 100 * math.sqrt(2)) * -1, 0) + end + --縞背景の配置 + local stripePanelSize = windowSize.y / math.sqrt(2) + 3 + models.models.ex_skill_3.Gui.Background.StripeBackground.StripeBackground1:setScale(1, stripePanelSize, 1) + for i = 2, (windowSize.x + windowSize.y) / (6 * math.sqrt(2)) + 2 do + local model = models.models.ex_skill_3.Gui.Background.StripeBackground["StripeBackground"..i] + if model == nil then + model = models.models.ex_skill_3.Gui.Background.StripeBackground.StripeBackground1:copy("StripeBackground"..i) + models.models.ex_skill_3.Gui.Background.StripeBackground:addChild(model) + end + model:setPos((i - 1) * -6, 6 * (i - 1), 0) + model:setScale(1, stripePanelSize, 1) + end + --トランジションの配置 + local transitionCenter = vectors.vec3(windowSize.x / 2 * -1, windowSize.y / 2 * -1, -200 * characterScale) + local rearTransitionSize = (windowSize.x + windowSize.y) / math.sqrt(2) + models.models.ex_skill_3.Gui.Transition.Background:setScale(rearTransitionSize, rearTransitionSize, 1) + --トランジションの円棒の配置 + local colorPalette = {vectors.vec3(0.482, 0.91, 1), vectors.vec3(0.749, 1, 0.996), vectors.vec3(1, 1, 0.663)} + for i = 1, 20 do + models.models.ex_skill_3.Gui.Transition.CirclePillars["Pillar"..i]:setPos((math.random() * 2 - 1) * (rearTransitionSize / 2), (math.random() * 2 - 1) * (rearTransitionSize / 2 * 1.2), 0) + local pillarScaleFactor = math.random() * 0.75 + 0.25 + models.models.ex_skill_3.Gui.Transition.CirclePillars["Pillar"..i]:setScale(vectors.vec3(4, 4, 4):scale(pillarScaleFactor)) + local pillarHeight = -160 * pillarScaleFactor + 220 + models.models.ex_skill_3.Gui.Transition.CirclePillars["Pillar"..i].CenterCircle:setScale(1, pillarHeight, 1) + models.models.ex_skill_3.Gui.Transition.CirclePillars["Pillar"..i].UpperCircle:setPos(0, pillarHeight / 2 - 1, 0) + models.models.ex_skill_3.Gui.Transition.CirclePillars["Pillar"..i].LowerCircle:setPos(0, pillarHeight / 2 * -1 + 1, 0) + models.models.ex_skill_3.Gui.Transition.CirclePillars["Pillar"..i]:setColor(colorPalette[math.floor(math.random() * 3) + 1]) + end + --レンダーイベント + events.RENDER:register(function () + models.models.ex_skill_3.Gui.Scrollable:setPos(models.models.ex_skill_3.ScrollableAnchor:getAnimPos():scale(characterScale)) + models.models.ex_skill_3.Gui.Transition:setPos(transitionCenter:copy():add(models.models.ex_skill_3.TransitionAnchor:getAnimPos():scale(rearTransitionSize))) + models.models.ex_skill_3.Gui.WhiteScreen:setOpacity(models.models.ex_skill_3.Gui.WhiteScreen.GOpacity:getAnimScale().x) + end, "ex_skill_3_render") + end + + events.RENDER:register(function () + local strength = models.models.ex_skill_3.Stage.StageEmissiveStrength:getAnimScale().x + models.models.ex_skill_3.Stage.StageEmissives:setColor(vectors.vec3(1, 1, 1):scale(strength)) + models.models.ex_skill_3.Stage.SpotLights.SpotLight1.SpotLight1Core.SpotLightEmissive:setColor(vectors.vec3(1, 0.875, 1):scale(strength)) + end, "ex_skill_3_render_global") + + for i = 1, 100 do + models.models.ex_skill_3.Stage.PenLights["PenLight"..i]:setPos(math.map(math.random(), 0, 1, -160, 160), 32, math.map(math.random(), 0, 1, -400, -80)) + self.exSkill[3].penLightSwingOffsets[i] = math.random() + end + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "SMALL", 56, true) + end; + + onAnimationTick = function (self, tick) + if tick == 9 and host:isHost() then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.item.pickup"), player:getPos(), 0.5, 1.5) + elseif tick == 23 and host:isHost() then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.hurt"), player:getPos(), 0.5, 1.2) + elseif tick == 39 and host:isHost() then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.item.pickup"), player:getPos(), 0.5, 1.5) + elseif tick == 50 and host:isHost() then + models.models.ex_skill_3.Gui.Transition:setVisible(true) + elseif tick == 53 and host:isHost() then + for _, modelPart in ipairs({models.models.ex_skill_3.Gui.Scrollable, models.models.ex_skill_3.Gui.Scrollable2, models.models.ex_skill_3.Gui.Background}) do + modelPart:setVisible(false) + end + elseif tick == 56 then + self.parent.faceParts:setEmotion("CLOSED2", "CLOSED2", "SMALL", 5, true) + if host:isHost() then + models.models.ex_skill_3.Gui.Transition:setVisible(false) + end + elseif tick == 61 then + self.parent.faceParts:setEmotion("CLOSED2", "CLOSED2", "CLOSED", 36, true) + elseif tick == 66 and host:isHost() then + local windowSize = client:getWindowSize() + models.models.ex_skill_3.Gui.WhiteScreen:setVisible(true) + models.models.ex_skill_3.Gui.WhiteScreen:setScale(windowSize.x, windowSize.y, 1) + models.models.ex_skill_3.Camera.Background:setScale(vectors.vec3(windowSize.x / windowSize.y, 1, 1):scale(40)) + events.RENDER:register(function (delta, context) + models.models.ex_skill_3.Camera:setVisible(context == "RENDER") + local backgroundPos = vectors.rotateAroundAxis(player:getBodyYaw(delta) + 180, renderer:getCameraOffsetPivot():copy():add(0, 1.62, 0):add(client:getCameraDir():copy():scale(1.75)), 0, 1, 0):scale(16 / 0.9375) + models.models.ex_skill_3.Camera:setOffsetPivot(backgroundPos) + models.models.ex_skill_3.Camera.Background:setPos(backgroundPos) + local opacity = models.models.ex_skill_3.Camera.COpacity:getAnimScale().x + models.models.ex_skill_3.Camera.Background:setOpacity(opacity) + models.models.main.Avatar:setColor(vectors.vec3(1, 1, 1):scale(1 - opacity)) + end, "ex_skill_3_background_render") + elseif tick == 69 then + Costume.setCostumeTextureOffset(2) + for _, modelPart in ipairs({models.models.main.Avatar.Head.Head, models.models.main.Avatar.Head.HatLayer}) do + modelPart:setUVPixels(0, 16) + end + for _, modelPart in ipairs({models.models.main.Avatar.Head.CTracksuitH, models.models.main.Avatar.UpperBody.Body.CTracksuitB, models.models.main.Avatar.UpperBody.Body.BTrinityLogo}) do + modelPart:setVisible(false) + end + for _, modelPart in ipairs({models.models.main.Avatar.Head.CIdolH, models.models.main.Avatar.UpperBody.Body.CIdolB, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.CIdolRLB, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.CIdolLLB, models.models.main.Avatar.Head.CTracksuitH.HairbandFront, models.models.main.Avatar.Head.CTracksuitH.Hairband, models.models.main.Avatar.Head.CTracksuitH.HairBandRibbon, models.models.main.Avatar.UpperBody.Body.CTracksuitB.TrinityLogo, models.models.main.Avatar.UpperBody.Body.CTracksuitB.Fastener, models.models.main.Avatar.UpperBody.Body.CTracksuitB.Bag}) do + modelPart:setVisible(true) + end + if not self.parent.armor.isArmorVisible.helmet then + models.models.main.Avatar.Head.Ears.RightEarPivot:setRot(-45, -10, 0) + end + models.models.ex_skill_3.Stage:setVisible(true) + events.RENDER:register(function (delta) + for i = 1, 100 do + models.models.ex_skill_3.Stage.PenLights["PenLight"..i]:setRot(0, 0, math.sin((self.exSkill[3].penLightSwingOffsets[i] + delta * 0.1) * 2 * math.pi) * 40) + end + end, "ex_skill_3_pen_light_render") + elseif tick == 81 and host:isHost() then + events.RENDER:remove("ex_skill_3_background_render") + for _, modelPart in ipairs({models.models.ex_skill_3.Gui.WhiteScreen, models.models.ex_skill_3.Camera}) do + modelPart:setVisible(false) + end + models.models.main.Avatar:setColor(1, 1, 1) + elseif tick == 97 then + self.parent.faceParts:setEmotion("CLOSED2", "CLOSED2", "ANXIOUS", 3, true) + elseif tick == 100 then + self.parent.faceParts:setEmotion("CLOSED2", "CLOSED2", "TRIANGLE", 12, true) + elseif tick == 112 then + self.parent.faceParts:setEmotion("CLOSED2", "CLOSED2", "SMALL", 16, true) + elseif tick == 128 then + self.parent.faceParts:setEmotion("NARROW1", "NARROW1", "SMILE", 2, true) + elseif tick == 130 then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "SMILE", 17, true) + elseif tick == 136 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.levelup"), player:getPos():add(0, 2, 0), 0.1, 2) + elseif tick == 147 then + self.parent.faceParts:setEmotion("CLOSED", "CLOSED", "OPENED2", 2, true) + elseif tick == 148 then + for _ = 1, 4 do + table.insert(self.exSkill[3].particleAnchors, {vectors.rotateAroundAxis(math.random() * 360, 0, math.random() * 1.5 + 0.5, 1.5, 0, 1, 0), vectors.hsvToRGB(math.random() * 0.28 + 0.9, 0.5, 1), math.random()}) + end + elseif tick == 149 then + self.parent.faceParts:setEmotion("INVERTED", "NORMAL", "OPENED2", 22, true) + elseif tick == 171 then + self.parent.faceParts:setEmotion("CLOSED", "CLOSED", "SMILE", 4, true) + elseif tick == 172 and host:isHost() then + models.models.ex_skill_3.Gui.WhiteScreen:setVisible(true) + elseif tick == 175 then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "OPENED2", 38, true) + elseif tick == 176 and host:isHost() then + local windowSize = client:getScaledWindowSize() + models.models.ex_skill_3.Gui.Frame:setScale(windowSize.x, windowSize.y, 1) + models.models.ex_skill_3.Gui.Frame:setVisible(true) + elseif tick == 178 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.levelup"), player:getPos():add(0, 2, 0), 1, 1.5) + if host:isHost() then + models.models.ex_skill_3.Gui.WhiteScreen:setVisible(false) + end + end + + for _ = 1, 12 do + models.models.ex_skill_3.Stage.StageEmissives:setUVPixels(tick * -1, 0) + end + if tick >= 69 and tick < 81 then + models.models.ex_skill_3.Camera.Background:setUVPixels((tick - 69) * -10, 0) + end + if tick >= 69 then + for i = 1, 100 do + self.exSkill[3].penLightSwingOffsets[i] = self.exSkill[3].penLightSwingOffsets[i] + 0.1 + self.exSkill[3].penLightSwingOffsets[i] = self.exSkill[3].penLightSwingOffsets[i] > 1 and self.exSkill[3].penLightSwingOffsets[i] - 1 or self.exSkill[3].penLightSwingOffsets[i] + end + if (tick - 69) % 8 == 0 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:weather.rain"), player:getPos():add(vectors.rotateAroundAxis(player:getBodyYaw() * -1, 0, 1, 8, 0, 1, 0)), 0.5, 1.5) + end + end + if tick >= 136 then + local bodyYaw = player:getBodyYaw() + local anchorPos = player:getPos():add(vectors.rotateAroundAxis(bodyYaw * -1, -6, 3, -4, 0, 1, 0)) + for _ = 1, 2 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:firework"), anchorPos:copy():add(vectors.rotateAroundAxis(bodyYaw * -1, math.random() * 12, math.random() * 6, math.random() * 6, 0, 1, 0))):setColor(1, 1, 0.6) + end + end + if tick >= 148 and tick < 166 then + local playerPos = player:getPos():add(0, 2, 0) + local bodyYaw = player:getBodyYaw() * -1 + models.models.main.Avatar:getAnimRot().y * 0.5 + for i = 1, 4 do + local anchorPos = playerPos:copy():add(vectors.rotateAroundAxis(bodyYaw, self.exSkill[3].particleAnchors[i][1]:copy():add(0, math.sin(((tick - 148) / 18 + self.exSkill[3].particleAnchors[i][3]) * 8 * math.pi) * 0.25, 0), 0, 1, 0)) + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:firework"), anchorPos):setScale(1):setVelocity(anchorPos:copy():sub(playerPos):normalize():mul(0.05, 0, 0.05)):setColor(self.exSkill[3].particleAnchors[i][2]):setGravity(0):setLifetime(213 - tick) + end + end + if tick >= 148 and tick < 176 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.experience_orb.pickup"), player:getPos():add(0, 2, 0), 0.5, 1 + ((tick - 148) / 28)) + end + end; + + onPostAnimation = function (self, forcedStop) + for _, eventName in ipairs({"ex_skill_3_render_global", "ex_skill_3_pen_light_render"}) do + events.RENDER:remove(eventName) + end + models.models.ex_skill_3.Stage:setVisible(false) + if host:isHost() then + events.RENDER:remove("ex_skill_3_render") + for _, modelPart in ipairs({models.models.ex_skill_3.Gui.Scrollable, models.models.ex_skill_3.Gui.Scrollable2, models.models.ex_skill_3.Gui.Background}) do + modelPart:setVisible(true) + end + models.models.ex_skill_3.Gui.Frame:setVisible(false) + end + if forcedStop then + self.parent.costume.setCostumeTextureOffset(2) + for _, modelPart in ipairs({models.models.main.Avatar.Head.Head, models.models.main.Avatar.Head.HatLayer}) do + modelPart:setUVPixels(0, 16) + end + for _, modelPart in ipairs({models.models.main.Avatar.Head.CTracksuitH, models.models.main.Avatar.UpperBody.Body.CTracksuitB, models.models.main.Avatar.UpperBody.Body.BTrinityLogo}) do + modelPart:setVisible(false) + end + for _, modelPart in ipairs({models.models.main.Avatar.Head.CIdolH, models.models.main.Avatar.UpperBody.Body.CIdolB, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.CIdolRLB, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.CIdolLLB, models.models.main.Avatar.Head.CTracksuitH.HairbandFront, models.models.main.Avatar.Head.CTracksuitH.Hairband, models.models.main.Avatar.Head.CTracksuitH.HairBandRibbon, models.models.main.Avatar.UpperBody.Body.CTracksuitB.TrinityLogo, models.models.main.Avatar.UpperBody.Body.CTracksuitB.Fastener, models.models.main.Avatar.UpperBody.Body.CTracksuitB.Bag}) do + modelPart:setVisible(true) + end + if not self.parent.armor.isArmorVisible.helmet then + models.models.main.Avatar.Head.Ears.RightEarPivot:setRot(-45, -10, 0) + end + self.exSkill[3].penLightSwingOffsets = {} + self.exSkill[3].particleAnchors = {} + if host:isHost() then + events.RENDER:remove("ex_skill_3_background_render") + for _, modelPart in ipairs({models.models.ex_skill_3.Gui.Transition, models.models.ex_skill_3.Gui.WhiteScreen, models.models.ex_skill_3.Camera}) do + modelPart:setVisible(false) + end + models.models.main.Avatar:setColor(1, 1, 1) + end + end + end; + }; + + ---Exスキルの初期化処理が行われたかどうか + ---@type boolean + init = false; + + ---ペンライトの振り時間のオフセット値 + ---@type number[] + penLightSwingOffsets = {}; + + ---くるりんぱする時のパーティクルのアンカー位置 + ---@type table[] + particleAnchors = {}; + }; + } + + instance.costume = { + costumes = { + { + name = "default"; + + displayName = { + en_us = "Default"; + ja_jp = "デフォルト"; + }; + + exSkill = 1; + + ---前ティックに脚とスカートの調整をしたかどうか + ---@type boolean + shouldAdjustLegsPrev = false; + + ---前ティックは脚を隠すべきだったかどうか + ---@type boolean + shouldHideLegsPrev = false; + + ---衣装適用時に実行するティック関数 + ---@param self BlueArchiveCharacter + tick = function(self) + if not client:isPaused() then + local robeVisible = models.models.main.Avatar.UpperBody.Body.Robe:getVisible() + local shouldHideLegs = robeVisible and player:getVehicle() ~= nil + if shouldHideLegs and not self.costume.costumes[1].shouldHideLegsPrev then + models.models.main.Avatar.LowerBody.Legs:setVisible(false) + models.models.main.Avatar.UpperBody.Body.Robe:setScale(1.5, 0.35, 2) + elseif not shouldHideLegs and self.costume.costumes[1].shouldHideLegsPrev then + models.models.main.Avatar.LowerBody.Legs:setVisible(true) + models.models.main.Avatar.UpperBody.Body.Robe:setScale() + end + + local shouldAdjustLegs = robeVisible and not shouldHideLegs + if shouldAdjustLegs and not self.costume.costumes[1].shouldAdjustLegsPrev then + events.RENDER:register(function () + local rightLegRotX = vanilla_model.RIGHT_LEG:getOriginRot().x + models.models.main.Avatar.LowerBody.Legs.RightLeg:setRot(rightLegRotX * -0.55, 0, 0) + models.models.main.Avatar.LowerBody.Legs.LeftLeg:setRot(vanilla_model.LEFT_LEG:getOriginRot().x * -0.55, 0, 0) + local rightLegRotAbs = math.abs(rightLegRotX) + models.models.main.Avatar.UpperBody.Body.Robe:setScale(1, 1, rightLegRotAbs * 0.0025 + 1) + local robeScale2 = vectors.vec3(rightLegRotAbs * -0.000625 + 1, 1, rightLegRotAbs * 0.00125 + 1) + models.models.main.Avatar.UpperBody.Body.Robe.Robe2:setScale(robeScale2) + models.models.main.Avatar.UpperBody.Body.Robe.Robe2.Robe3:setScale(robeScale2) + end, "costume_default_render") + elseif not shouldAdjustLegs and self.costume.costumes[1].shouldAdjustLegsPrev then + events.RENDER:remove("costume_default_render") + for _, modelPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg, models.models.main.Avatar.LowerBody.Legs.LeftLeg}) do + modelPart:setRot() + end + if not shouldHideLegs then + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Body.Robe, models.models.main.Avatar.UpperBody.Body.Robe.Robe2, models.models.main.Avatar.UpperBody.Body.Robe.Robe2.Robe3}) do + modelPart:setScale() + end + end + end + + self.costume.costumes[1].shouldHideLegsPrev = shouldHideLegs + self.costume.costumes[1].shouldAdjustLegsPrev = shouldAdjustLegs + end + end; + }; + + { + name = "no_veil"; + + displayName = { + en_us = "Default (no veil)"; + ja_jp = "デフォルト(ベールなし)"; + }; + + exSkill = 1; + }; + + { + name = "tracksuit"; + + displayName = { + en_us = "Tracksuit"; + ja_jp = "体操服"; + }; + + exSkill = 2; + }; + + { + name = "idol"; + + displayName = { + en_us = "Idol"; + ja_jp = "アイドル"; + }; + + exSkill = 3; + + ---この衣装の初期化処理が行われたかどうか + ---@type boolean + init = false; + }; + }; + + callbacks = { + onChange = function (self, costumeId) + models.models.main.Avatar.Head.Ears:setVisible(true) + for _, modelPart in ipairs({models.models.main.Avatar.Head.Veil, models.models.main.Avatar.UpperBody.Body.VeilBody}) do + modelPart:setVisible(false) + end + if costumeId == "NO_VEIL" then + models.models.main.Avatar.Head.Accessory:setPos(0, -1, 0) + end + if costumeId == "TRACKSUIT" then + self.parent.costume.setCostumeTextureOffset(1) + for _, modelPart in ipairs({models.models.main.Avatar.Head.CTracksuitH, models.models.main.Avatar.UpperBody.Body.CTracksuitB}) do + modelPart:setVisible(true) + end + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Body.TrinityLogo, models.models.main.Avatar.UpperBody.Body.FrontHair, models.models.main.Avatar.UpperBody.Body.Robe, models.models.main.Avatar.UpperBody.Body.BackRibbon}) do + modelPart:setVisible(false) + end + elseif costumeId == "IDOL" then + self.parent.costume.setCostumeTextureOffset(2) + models.models.main.Avatar.Head.Ears.RightEarPivot:setRot(-45, -10, 0) + for _, modelPart in ipairs({models.models.main.Avatar.Head.Head, models.models.main.Avatar.Head.HatLayer}) do + modelPart:setUVPixels(0, 16) + end + for _, modelPart in ipairs({models.models.main.Avatar.Head.CIdolH, models.models.main.Avatar.UpperBody.Body.CIdolB, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.CIdolRLB, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.CIdolLLB}) do + modelPart:setVisible(true) + end + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Body.TrinityLogo, models.models.main.Avatar.UpperBody.Body.FrontHair, models.models.main.Avatar.UpperBody.Body.Robe, models.models.main.Avatar.UpperBody.Body.BackRibbon, models.models.main.Avatar.Head.Accessory}) do + modelPart:setVisible(false) + end + + if not self.costume.costumes[4].init then + for i = 1, 2 do + models.models.main.Avatar.Head.CIdolH.Hat["Feather"..i]:setPrimaryTexture("RESOURCE", "minecraft:textures/item/feather.png") + models.models.main.Avatar.Head.CIdolH.Hat["Feather"..i]:setColor(0.65, 0.65, 0.65) + end + self.costume.costumes[4].init = true + end + end + if costumeId == "TRACKSUIT" or costumeId == "IDOL" then + events.TICK:remove("costume_default_tick") + events.RENDER:remove("costume_default_render") + models.models.main.Avatar.LowerBody.Legs:setVisible(true) + for _, modelPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg, models.models.main.Avatar.LowerBody.Legs.LeftLeg}) do + modelPart:setRot() + end + self.costume.costumes[1].shouldHideLegsPrev = false + self.costume.costumes[1].shouldAdjustLegsPrev = false + end + end; + + onReset = function (self) + self.parent.costume.setCostumeTextureOffset(0) + for _, modelPart in ipairs({models.models.main.Avatar.Head.Ears, models.models.main.Avatar.Head.CTracksuitH, models.models.main.Avatar.UpperBody.Body.CTracksuitB, models.models.main.Avatar.Head.CIdolH, models.models.main.Avatar.UpperBody.Body.CIdolB, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.CIdolRLB, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.CIdolLLB}) do + modelPart:setVisible(false) + end + for _, modelPart in ipairs({models.models.main.Avatar.Head.Veil, models.models.main.Avatar.UpperBody.Body.VeilBody, models.models.main.Avatar.UpperBody.Body.TrinityLogo, models.models.main.Avatar.UpperBody.Body.FrontHair, models.models.main.Avatar.Head.Accessory, models.models.main.Avatar.UpperBody.Body.Robe, models.models.main.Avatar.UpperBody.Body.BackRibbon}) do + modelPart:setVisible(true) + end + for _, modelPart in ipairs({models.models.main.Avatar.Head.Head, models.models.main.Avatar.Head.HatLayer}) do + modelPart:setUVPixels() + end + models.models.main.Avatar.Head.Accessory:setPos() + models.models.main.Avatar.Head.Ears.RightEarPivot:setRot() + + if events.TICK:getRegisteredCount("costume_default_tick") == 0 then + events.TICK:register(function () + self.costume.costumes[1].tick(self) + end, "costume_default_tick") + end + end; + + onArmorChange = function (self, parts, isVisible) + if parts == "HELMET" then + if isVisible then + for _, modelPart in ipairs({models.models.main.Avatar.Head.CTracksuitH.HairBandRibbon, models.models.main.Avatar.Head.CTracksuitH.HairTail}) do + modelPart:setPos(0, 0, 1) + end + models.models.main.Avatar.Head.CIdolH.Hat:setVisible(false) + models.models.main.Avatar.Head.Ears.RightEarPivot:setRot() + else + for _, modelPart in ipairs({models.models.main.Avatar.Head.CTracksuitH.HairBandRibbon, models.models.main.Avatar.Head.CTracksuitH.HairTail}) do + modelPart:setPos() + end + models.models.main.Avatar.Head.CIdolH.Hat:setVisible(true) + if self.parent.costume.currentCostume == 4 then + models.models.main.Avatar.Head.Ears.RightEarPivot:setRot(-45, -10, 0) + end + end + elseif parts == "CHEST_PLATE" then + if isVisible then + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Body.FrontHair, models.models.main.Avatar.UpperBody.Body.CTracksuitB.FrontHair}) do + modelPart:setPos(0, 0, -1) + end + models.models.main.Avatar.UpperBody.Body.VeilBody:setPos(0, 0, 1) + models.models.main.Avatar.UpperBody.Body.CIdolB.NeckRibbon.NeckRibbonBottom:setVisible(false) + else + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Body.FrontHair, models.models.main.Avatar.UpperBody.Body.VeilBody, models.models.main.Avatar.UpperBody.Body.CTracksuitB.FrontHair}) do + modelPart:setPos() + end + models.models.main.Avatar.UpperBody.Body.CIdolB.NeckRibbon.NeckRibbonBottom:setVisible(true) + end + elseif parts == "LEGGINGS" then + if isVisible then + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Body.Robe, models.models.main.Avatar.UpperBody.Body.BackRibbon, models.models.main.Avatar.UpperBody.Body.CIdolB.Skirt}) do + modelPart:setVisible(false) + end + else + if self.parent.costume.currentCostume <= 2 then + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Body.Robe, models.models.main.Avatar.UpperBody.Body.BackRibbon}) do + modelPart:setVisible(true) + end + end + models.models.main.Avatar.UpperBody.Body.CIdolB.Skirt:setVisible(true) + end + end + end + }; + } + + instance.bubble = { + callbacks = { + onPlay = function(self, type, duration) + if duration > 0 then + if type == "GOOD" then + self.parent.faceParts:setEmotion("CLOSED", "CLOSED", "SMILE", duration, true) + elseif type == "HEART" then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "SMILE", duration, true) + elseif type == "NOTE" then + self.parent.faceParts:setEmotion("CLOSED", "CLOSED", "OPENED", duration, true) + elseif type == "QUESTION" then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "ANXIOUS", duration, true) + elseif type == "SWEAT" then + self.parent.faceParts:setEmotion("TEAR", "TEAR", "TIRED", duration, true) + end + end + end; + + onStop = function(self, _, forcedStop) + if forcedStop then + self.parent.faceParts:resetEmotion() + end + end; + }; + } + + instance.headBlock = { + includeModels = {models.models.main.Avatar.UpperBody.Body.FrontHair, models.models.main.Avatar.UpperBody.Body.VeilBody, models.models.main.Avatar.UpperBody.Body.CTracksuitB.FrontHair}; + } + + instance.portrait = { + includeModels = {}; + } + + instance.deathAnimation = { + callbacks = { + onPhase1 = function (_, dummyAvatar, costume) + if costume == "DEFAULT" then + for _, modelPart in ipairs({dummyAvatar.Head.Veil.VeilEar.RightVeilEarPivot, dummyAvatar.Head.Veil.VeilEar.LeftVeilEarPivot}) do + modelPart:setRot(-30, 0, 0) + end + elseif costume == "IDOL" then + dummyAvatar.Head.Ears.RightEarPivot:setRot(-45, -10, 0) + dummyAvatar.Head.Ears.LeftEarPivot:setRot(-30, 0, 0) + else + for _, modelPart in ipairs({dummyAvatar.Head.Ears.RightEarPivot, dummyAvatar.Head.Ears.LeftEarPivot}) do + modelPart:setRot(-30, 0, 0) + end + end + if costume == "TRACKSUIT" then + dummyAvatar.Head.CTracksuitH.HairTail:setRot(17.5, 0, 0) + dummyAvatar.UpperBody.Body.CTracksuitB.Bag:setPos(3, 2, 0) + dummyAvatar.UpperBody.Body.CTracksuitB.Bag:setRot(0, 0, -25) + elseif costume == "IDOL" then + dummyAvatar.UpperBody.Body.CIdolB.Skirt:setRot(50, 0, 0) + for _, modelPart in ipairs({dummyAvatar.Head.CIdolH.HairTails.HairTailRight.HairRightBottom, dummyAvatar.Head.CIdolH.HairTails.HairTailLeft.HairLeftBottom}) do + modelPart:setRot(30, 0, 0) + end + else + dummyAvatar.LowerBody:setVisible(false) + dummyAvatar.UpperBody.Body.Robe:setScale(1.5, 0.35, 2) + end + end; + + onPhase2 = function (_, dummyAvatar, costume) + if costume == "TRACKSUIT" then + dummyAvatar.Head.CTracksuitH.HairTail:setRot(-5, 0, -17.5) + dummyAvatar.UpperBody.Body.CTracksuitB.Bag:setPos() + dummyAvatar.UpperBody.Body.CTracksuitB.Bag:setRot() + elseif costume == "IDOL" then + dummyAvatar.UpperBody.Body.CIdolB.Skirt:setRot(30, 0, 0) + for _, modelPart in ipairs({dummyAvatar.Head.CIdolH.HairTails.HairTailRight.HairRightBottom, dummyAvatar.Head.CIdolH.HairTails.HairTailLeft.HairLeftBottom}) do + modelPart:setRot(-20, 0, 0) + end + else + dummyAvatar.LowerBody:setVisible(true) + dummyAvatar.UpperBody.Body.Robe:setRot(30, 0, 0) + dummyAvatar.UpperBody.Body.Robe:setScale(1.2, 1, 1) + end + end; + }; + } + + instance.actionWheel = { + isVehicleOptionEnabled = false; + } + + instance.physics = { + physicData = { + { + models = {models.models.main.Avatar.UpperBody.Body.VeilBody}; + + x = { + vertical = { + min = -80; + neutral = 0; + max = 0; + + bodyX = { + multiplayer = -160; + min = -80; + max = 0; + }; + + bodyY = { + multiplayer = 160; + min = -80; + max = 0; + }; + + bodyRot = { + multiplayer = 0.1; + min = -80; + max = 0; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.UpperBody.Body.FrontHair, models.models.main.Avatar.UpperBody.Body.CTracksuitB.FrontHair}; + + x = { + vertical = { + min = 0; + neutral = 0; + max = 80; + sneakOffset = 30; + + bodyX = { + multiplayer = -80; + min = 0; + max = 80; + }; + + bodyY = { + multiplayer = -80; + min = 0; + max = 80; + }; + + bodyRot = { + multiplayer = -0.05; + min = 0; + max = 80; + }; + }; + + horizontal = { + min = 0; + neutral = 80; + max = 80; + + bodyX = { + multiplayer = -160; + min = 0; + max = 80; + }; + }; + }; + }; + + { + ---この物理演算データを適用させるモデルパーツ + ---@type ModelPart | ModelPart[] + models = {models.models.main.Avatar.UpperBody.Body.BackRibbon.BackRibbonBottom}; + + x = { + vertical = { + min = -150; + neutral = 0; + max = 0; + + bodyX = { + multiplayer = -80; + min = -65; + max = 0; + }; + + bodyY = { + multiplayer = 160; + min = -150; + max = 0; + }; + + bodyRot = { + multiplayer = 0.1; + min = -65; + max = 0; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.Head.CTracksuitH.HairTail}; + + x = { + vertical = { + min = -170; + neutral = 0; + max = 30; + sneakOffset = -20; + headRotMultiplayer = -1; + + headX = { + multiplayer = -80; + min = -90; + max = 10; + }; + + headRot = { + multiplayer = 0.05; + min = -90; + max = 0; + }; + + bodyY = { + multiplayer = 80; + min = -170; + max = 0; + }; + }; + + horizontal = { + min = -135; + neutral = -30; + max = -30; + + headX = { + multiplayer = -80; + min = -45; + max = -30; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.Head.CTracksuitH.HairTail.HairTailZPivot}; + + z = { + vertical = { + min = -80; + neutral = 0; + max = 80; + + headZ = { + multiplayer = -80; + min = -80; + max = 80; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.Head.CTracksuitH.HairBandRibbon.HairBandRibbonTopLeftYPivot}; + + y = { + vertical = { + min = 0; + neutral = 0; + max = 80; + headRotMultiplayer = 0.5; + + headX = { + multiplayer = 160; + min = 0; + max = 80; + }; + + headRot = { + multiplayer = -0.1; + min = 0; + max = 80; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.Head.CTracksuitH.HairBandRibbon.HairBandRibbonTopLeftYPivot.HairBandRibbonTopLeftZPivot}; + + z = { + vertical = { + min = -40; + neutral = 0; + max = 40; + + bodyY = { + multiplayer = 20; + min = -40; + max = 40; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.Head.CTracksuitH.HairBandRibbon.HairBandRibbonTopRightYPivot}; + + y = { + vertical = { + min = -80; + neutral = 0; + max = 0; + headRotMultiplayer = -0.5; + + headX = { + multiplayer = -160; + min = -80; + max = 0; + }; + + headRot = { + multiplayer = 0.1; + min = -80; + max = 0; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.Head.CTracksuitH.HairBandRibbon.HairBandRibbonTopRightYPivot.HairBandRibbonTopRightZPivot}; + + z = { + vertical = { + min = -40; + neutral = 0; + max = 40; + + bodyY = { + multiplayer = -20; + min = -40; + max = 40; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.Head.CTracksuitH.HairBandRibbon.HairBandRibbonBottom.HairBandRibbonBottomLeftXPivot, models.models.main.Avatar.Head.CTracksuitH.HairBandRibbon.HairBandRibbonBottom.HairBandRibbonBottomRightXPivot}; + + x = { + vertical = { + min = -170; + neutral = 0; + max = 0; + headRotMultiplayer = -1; + + headX = { + multiplayer = -160; + min = -80; + max = 0; + }; + + headRot = { + multiplayer = 0.1; + min = -80; + max = 0; + }; + + bodyY = { + multiplayer = 160; + min = -170; + max = 0; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.Head.CTracksuitH.HairBandRibbon.HairBandRibbonBottom.HairBandRibbonBottomLeftXPivot.HairBandRibbonBottomLeftZPivot}; + + z = { + vertical = { + min = 0; + neutral = 0; + max = 30; + + headX = { + multiplayer = 20; + min = 0; + max = 30; + }; + + headRot = { + multiplayer = -0.1; + min = 0; + max = 30; + }; + + bodyY = { + multiplayer = 20; + min = 0; + max = 30; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.Head.CTracksuitH.HairBandRibbon.HairBandRibbonBottom.HairBandRibbonBottomRightXPivot.HairBandRibbonBottomRightZPivot}; + + z = { + vertical = { + min = -30; + neutral = 0; + max = 0; + + headX = { + multiplayer = -20; + min = -30; + max = 0; + }; + + headRot = { + multiplayer = 0.1; + min = -30; + max = 0; + }; + + bodyY = { + multiplayer = -20; + min = -30; + max = 0; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.UpperBody.Body.CTracksuitB.Bag.BagHooks.BagHookNorth.IDCard.IDCardXPivot, models.models.main.Avatar.UpperBody.Body.CTracksuitB.Bag.BagBaseFastener1XPivot, models.models.main.Avatar.UpperBody.Body.CTracksuitB.Bag.BagBaseFastener2XPivot, models.models.main.Avatar.UpperBody.Body.CTracksuitB.Bag.BackPocket.BackPocketFastenerXPivot, models.models.main.Avatar.UpperBody.Body.CIdolB.NeckRibbon.NeckRibbonBottom}, + + x = { + vertical = { + min = 0; + neutral = 0; + max = 80; + sneakOffset = 30; + + bodyX = { + multiplayer = -160; + min = 0; + max = 80; + }; + + bodyY = { + multiplayer = -160; + min = 0; + max = 80 + }; + + bodyRot = { + multiplayer = -0.1; + min = 0; + max = 80; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.UpperBody.Body.CTracksuitB.Bag.BagHooks.BagHookNorth.IDCard.IDCardXPivot.IDCardZPivot, models.models.main.Avatar.UpperBody.Body.CTracksuitB.Bag.BagBaseFastener1XPivot.BagBaseFastener1ZPivot, models.models.main.Avatar.UpperBody.Body.CTracksuitB.Bag.BagBaseFastener2XPivot.BagBaseFastener2ZPivot, models.models.main.Avatar.UpperBody.Body.CTracksuitB.Bag.BackPocket.BackPocketFastenerXPivot.BackPocketFastenerZPivot, models.models.main.Avatar.UpperBody.Body.CIdolB.NeckRibbon.NeckRibbonBottom.NeckRibbonBottomZPivot}, + + z = { + vertical = { + min = -80; + neutral = 0; + max = 80; + + headZ = { + multiplayer = -160; + min = -80; + max = 80; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.Head.CIdolH.HairTails.HairTailLeft.HairLeftBottom}; + + x = { + vertical = { + min = -165; + neutral = 0; + max = 10; + headRotMultiplayer = -1; + + headX = { + multiplayer = -80; + min = -82.5; + max = 10; + }; + + headRot = { + multiplayer = 0.05; + min = -82.5; + max = 0; + }; + + bodyY = { + multiplayer = 80; + min = -165; + max = 7.5; + }; + }; + + horizontal = { + min = -155; + neutral = -45; + max = -45; + }; + }; + }; + + { + models = {models.models.main.Avatar.Head.CIdolH.HairTails.HairTailLeft.HairLeftBottom.HairLeftBottomZ}; + + z = { + vertical = { + min = -80; + neutral = 0; + max = 100; + + headZ = { + multiplayer = -80; + min = -80; + max = 100; + }; + }; + + horizontal = { + min = -80; + neutral = 0; + max = 100; + }; + }; + }; + + { + models = {models.models.main.Avatar.Head.CIdolH.HairTails.HairTailRight.HairRightBottom}; + + x = { + vertical = { + min = -165; + neutral = 0; + max = 10; + headRotMultiplayer = -1; + + headX = { + multiplayer = -80; + min = -82.5; + max = 10; + }; + + headRot = { + multiplayer = 0.05; + min = -82.5; + max = 0; + }; + + bodyY = { + multiplayer = 80; + min = -165; + max = 7.5; + }; + }; + + horizontal = { + min = -155; + neutral = -45; + max = -45; + }; + }; + }; + + { + models = {models.models.main.Avatar.Head.CIdolH.HairTails.HairTailRight.HairRightBottom.HairRightBottomZ}; + + z = { + vertical = { + min = -100; + neutral = 0; + max = 80; + + headZ = { + multiplayer = -80; + min = -100; + max = 80; + }; + }; + + horizontal = { + min = -100; + neutral = -20; + max = 80; + }; + }; + }; + + { + models = {models.models.main.Avatar.Head.CIdolH.Hat.HatVeil}; + + x = { + vertical = { + min = 0; + neutral = 0; + max = 0; + headRotMultiplayer = -1; + }; + }; + + z = { + vertical = { + min = -35; + neutral = 0; + max = 150; + + bodyY = { + multiplayer = -80; + min = 0; + max = 150; + }; + + headZ = { + multiplayer = -80; + min = -35; + max = 90; + }; + + headRot = { + multiplayer = -0.05; + min = 0; + max = 90; + }; + }; + + horizontal = { + min = -35; + neutral = 10; + max = 150; + + bodyX = { + multiplayer = -80; + min = 0; + max = 150; + }; + }; + }; + }; + }; + + callbacks = { + onPhysicPerformed = function (_, model) + if model == models.models.main.Avatar.Head.CTracksuitH.HairTail then + model:setRot(math.min(model:getRot().x, 20), 0, 0) + elseif model == models.models.main.Avatar.Head.CTracksuitH.HairBandRibbon.HairBandRibbonTopRightYPivot then + model:setRot(0, math.min(model:getRot().y, 0), 0) + elseif model == models.models.main.Avatar.Head.CTracksuitH.HairBandRibbon.HairBandRibbonTopLeftYPivot then + model:setRot(0, math.max(model:getRot().y, 0), 0) + elseif model == models.models.main.Avatar.Head.CTracksuitH.HairBandRibbon.HairBandRibbonBottom.HairBandRibbonBottomRightXPivot or model == models.models.main.Avatar.Head.CTracksuitH.HairBandRibbon.HairBandRibbonBottom.HairBandRibbonBottomLeftXPivot then + model:setRot(math.min(model:getRot().x, 0), 0, 0) + end + end + }; + } + + instance.dataSync = { + syncData = { + + }; + + callbacks = { + + }; + } + + return instance + end; + + ---初期化関数 + ---@param self BlueArchiveCharacter + init = function (self) + AvatarModule.init(self) + + --生徒固有初期化処理 + --Player APIにアクセスする場合は、ENTITY_INIT後に実行されるようにする必要がある。 + events.TICK:register(function () + self.costume.costumes[1].tick(self) + end, "costume_default_tick") + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Mari/textures/barrier.png b/config/yosbr/config/figura/avatars/Mari/textures/barrier.png new file mode 100644 index 0000000000000000000000000000000000000000..f370a968a6e6c60761c4f7a188d7c44ce1bf9bf6 GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^j3CU&3?x-=hn)gaoCO|{#S9GG!XV7ZFl&wkP>?ym tC&cyq|NqVF|3v_~T%InDAsp9}6M$?c2F6ES|xv6<249-QVi6yBi z3gww484B*6z5(HleBwYwoCO|{#S9F3${@^GvDCf{D997w6XNP#-~(j-|NkFI{ubWW z3Z$4yg8YIRI4V3`K^7Z%x;Tb#Tu)Be@c;0E1AnrA*vjLu_#ZRFy%x2ZQhP5x1L|h*boFyt=akR{09f)oX8-^I literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Mari/textures/bubble_emote_guide.png b/config/yosbr/config/figura/avatars/Mari/textures/bubble_emote_guide.png new file mode 100644 index 0000000000000000000000000000000000000000..a6b414202e18123cc93b634a85e680a66e0a9fe4 GIT binary patch literal 494 zcmVvD800032NklL{98?E$@`La%y+s+cA+7ER}K+p}aatE=lFu-ULeLWgH1R zr7|d~dm1u3wI-OHl&evMe$!{KVri$1Za$T<*ZHa3DM<}U69UsXiOn<=cIQ} k=*f{RowdRB0DV*N2kFQ#jp%gQga7~l07*qoM6N<$g5h)W9smFU literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Mari/textures/bullet.png b/config/yosbr/config/figura/avatars/Mari/textures/bullet.png new file mode 100644 index 0000000000000000000000000000000000000000..392b8f7c3906129885119b03aad3353ef99e562c GIT binary patch literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^EI`b|!VDz0_b@5|DajJoh!W@g+}zZ>5(ej@)Wnk1 z6ovB4k_-iRPv3y>Mm}+%BF+Mj$YKTtJ!KGPtXOJa1{72Y@Ck8^3Xe~T4g->>mxKTr z|9>6*|836R83F%a&e=cH^Z$Eal|aXmSq yC?TOJ!3aqGdOtPI(4Y{viAnS=lpGkCiCxvXNkl%o&q z323!8IXt9EYNb+I`Uh+EP(&$#MK6LAX`96=o+K}%5 z?_Zxu*T+SvfQ;(BMQq$WfPt;sP+eF6@I*j=wGk*mt-sp9?97}}2@^;a;J-e#f8M%< z;g7C4KV2%L^2c@TJa*CHg_pInGjkX#m7Lj`xt4cS=9i2p;MB_FOca*vp6_?>IMQOX zzyI<4bo&}e9rT6sLMO~DEaWH0 zk26_IO1{4RO(PB~BbE<{jFn2x{^33B$7|mO&;Feg?ER7Mz)5B1V-lDDvUD00c?vy+ zmPkZ2YfbDQ-os8$oknH(HgE`R^5hUGOjhQXAUhG$gie6sKQB0MGBPU5w{d^re(>x+ zd=T{azPlI2!6G|z_Dd88i;T|$rf~T$EDFmzvy2PVmmM4e3;HLALb3hTt*<%7!6E~I zyMNy`DmdZt53=aPn-i}HIW|3Cn7$0Z@d#ZnbprqfHui;HwCR;iLElsa0syz2urgDk zIr14&L{=W$xOsygGm?En3Q$K@I*9p!r_fUfdSmJm;Z6ak)` ziWuQcnhzkDP}B*i5a;+)5Z82V{=oRDxT3vNEBo52Q;}t9-h_B(H?9D6RKkh#GTPa^ zSgx4F)visyp*3&qcsr3uvnE6Z;?5^UN7ZN=$Q7`S z8#S30JCDNA6;c+3I>A%~YrBaooC3&BNYyzZo2Hg|C(aeHO|F1#A`=;r=7gr5$Ou&) zFh$&al6e!-)>d{>s`4V0Sy|WAlJ=L(n^3NRZE^){lPh2wty+jkV@(vh7UD7eLq7^t zcF(*C#jaW6o>=PYqBsg9;WL>xpHgR-q`P}(Q?X|l5nb@c8 zCZf>vV%2!+(D~{%BU0we>0ANZnCMe>K++d$*I4u7XYxhv>eI<{J1IN<`d}& z@PhUC^#%gcIQ98)T1$VI6x!O39zM!=fyYmM?&!>=hS9@EwfsPLohh`Vkgi!IX+FR+ z5Jt5X;2qe+I#c8(WSd+8+r+wFPh(9at%X!&f^H_3t?$&iRW*{<2~cQ^3Xx)+l#`<% zjw2`G^qCK%xdOI%{uGE4 z3oN43yB^tfOVq`fOdi>KN4z4W{?opkB86l(dNO$kaec@KlDt);_e5QU$>b5&J2YVX gI#3j>ojkPuKTbjgPF4BHkpKVy07*qoM6N<$g8E&Ay#N3J literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Mari/textures/costume_tracksuit.png b/config/yosbr/config/figura/avatars/Mari/textures/costume_tracksuit.png new file mode 100644 index 0000000000000000000000000000000000000000..4df157e3fc4f0462a3652866e256d7662917ab25 GIT binary patch literal 1112 zcmV-e1gHCnP)lwG4Hs7OsnHD}gIzjp37!r3j*YVc!Dojp{oeL)?#sHRA zp#y+-p1);zMV+6fh$AEJd=b6v4FmuffA%snP|6$Q4Gu3f9=ymrQ^e%Gx-s5>ey{J; zQ-o=H7GG5t0RSZ3Zf-#-bCF6tHO7P}>2_giWi4mr)XJJL8Dzt8_tdG=_0Bk?DPsTY z2Ntn!jIF&|#zi8;oi1dOOD8+-p2Bs7wBPHWC!7BM)8T3(u}Y@L;pUBNqPM+)YG&Ks z)j9?^Ybg3!8Df=8S4x!aW&nWLM&=7DnREo-tBd0D5$nC(8}cYrvs;(-wl`278uDF2 zf968SwAaf)W_wx5mm`)RsJgo_*l%yue{qwfwUX;(wUFCLhC&`n%4#6o#eIyh5*Kw} zq4}oC99MHlSxrJ+Xl8CHH;2-*u;1Q7wN6btRAnx`X+FzPbyP@9d7xVGObbD>C* z0q(cAFi8eRHzdgbi@a>^t^8P=o?SG`hjtzd)y1QuQ7-1T5ct5fZfp|Pfvb1ts+{;> z@1s#J%19nx^6A+{h;0^?1zR1*E~PZerl;WA)W4ftEaFyc7h0{|T8LwSzp=PIekMHF z`%w=um0U$(T0iKo>^`s^JQpLm>IBQxRdhGeY_^TP`qk?<#tGlQ?G!%0lVpG~0KokG z-Hbxk@|Vw_GV+Iyo)qOg$JI-&;bwJR{W(LturO!L(tGzGS9&vX*73-%o#7DAKYdpj e@leogw(&Q1uP@rqOByNw0000M%c6Q{{H^* zkUz(YMaTRX_wV2D?Ci9$ zv1z{(^(fi%W%h-k$7%Wb`CKmd`Sa&27Aq+!sUXg_f^$49EUYolD>F0mamHyM2d!u? zz3%RA6&016!KPt7(WU$gkYGnUCqTz|X8}la*5;Fr>e)l!RI2s&F{Lzr@sUR+bYp)U*)?NT@-*N^nGX&HpwE<%v z;Mv9t4j;NR(L1{-^eTl5`E&++*XK6q?n8Q4oRUGa|E#BPiU79>;>zSC;ja87a5$VP zWMb_dWHDukspEkn-1RZV_?=gRtByVP@1+^Tf&%6RskQVX=w+f2w!TF3F{DHitS4so zbn1h-$*d|O-XWw>+;M{-R^s|0 zI0^rVIJU#9h(8gE0+e3F9e_Y#vK^&&pihe4l$F1QC96&`j7JiyA8N7wi8TZ24jmxY zjZi|d+uhQ?5gGYJ{=};}>#xA3GV&-rQAhl-Ogo%-=Pxiv*t$64=#IS~BaJPqzkt$) z=C}G9jxj}bOt_@u3-}$AyS_Vixd=?_WbOVb1N_vQMmII-RV5+{7(lS2hkf^EzIMfb z)BJW14#LV(haYDatzv5+&F;n8{&TQUqYGN{Xq~4pAPf+|KnyxW<9%pQc_2;*olXrd z$@{?92zUyT8yf3mY(tsNnBF~+n>bw zU@Q%F)uV*o{+q2$h5HX8B4~KA-EgM16gyNL7>I{NRU~GeOvFDz^<@M^;H*dX;#3X%2)S89eRvy}!%~0Spjg>9h$|NVrBlsIKWloQRo!4Y^6`Zp>)N-w} z(hZTrBnz3Opmt*wt*a-%b#iPsy3lQprL2$1qRy6c1rEf+O2b0vL+Q~k&g^$zEmsY; zxzvt}M=A*IhmTQ+(hsmlNK>>Q1oY{^j{M-o%d0E5#_dgssd6Ho8;LMD!Xe}5=;GrX z5^lax9rll543&!g@4W9$-r5a#+^!_WKH?sdVWNez7`IluAt=WrlHOyi(eJ-8lgFiU z2V@Pqh77RDHFrH^e8q^w%x!2wwsX^kuT?~0jF@5=o2xyfa)-?JTrVPJ0htgC~v(@%Dtgd%iFO0cS>vX;9*Fuf=?9nC!;N&AtIHtqyc-nA7 zja@>QGCsL65_qP?khB-HLSxmDJ=M%ZH_B)K}-i%#v5v9yt%pxWDye2ZvXEc@6pfE@PD0hr1Y{r z*Qd>Hvmt&SlLf68l;<#Pge!%(Obb*YGYR#gKXyj$nzzNxunn{%f^+@)qksz`Ds9zT zF=ex>>-QJjzT4c)ma(D{dUAtZ0(Ja4YK~O1YL|*eD;;2}tvs504;efVKS$NXcF;vX zHu|f&EWGi1m#flFA$^Ra$B6aHOTe zi`u2Zk&_T1~fhss;p(*(Y$*m48?!f83xfnCxZ*ALJt&A*tP$P3IG(h+DcFc(fm910e@pj0zyLjKqmE%MS zS1IvisvB5Hw7!A5!^Ln$m=}{*?z0<>UcsIJ_}%4{%eQTTC;Qb}?M@}$7F~8A$mEM% zd`Es-Ad$!I-@R`s3Sa#qfXu9{7#zS#MZ--B*uMB6Oc(=|9bn6yAl7%~FCo=(+^C%E z28)PNS{Yu5OhjExFV^8Il26&6*o%}JqcuifEtH0}F~g_i#6k-WF(GczHDsP6c2R1R XSQ8c-oF?b-3HV`cVP{@`m>v6nxgKEv literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Mari/textures/emojis/black_dot.png b/config/yosbr/config/figura/avatars/Mari/textures/emojis/black_dot.png new file mode 100644 index 0000000000000000000000000000000000000000..32f952e6926fed6a3e8c08e8e28c6774175c72bd GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^EFjFt3?wJp^Vk9@$r9Iy66gHf+|;}h2Ir#G#FEq$ zh4Rdj3FVdQ&MBb@0G;0^#{d8T literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Mari/textures/emojis/dots.png b/config/yosbr/config/figura/avatars/Mari/textures/emojis/dots.png new file mode 100644 index 0000000000000000000000000000000000000000..eeb5df5529e8a8d668a571f4339092e73a982fe5 GIT binary patch literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrOUWQl7;iF1B#Zfaf$gL6@8Vo7R> zLV0FMhJw4NZ$Nk>pEytvXMsm#F$061G6*wPEVVBK3bFt3ruKaWT?N-8k{WU=nquD;OXk;vd$@? F2>^vjE2#hg literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Mari/textures/emojis/good.png b/config/yosbr/config/figura/avatars/Mari/textures/emojis/good.png new file mode 100644 index 0000000000000000000000000000000000000000..df8baedf092d1697de5f940e1c6dc2783271ff32 GIT binary patch literal 220 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGaEOCt}an8@pP0cG|a4t$sEJ;mK zD92YC`j z#ZwKOPu#e1GD7f#Kw)7Zn{i900OQLbCg~MRR5&)uIx#XVd&Kqp=CnOEK*Jb3UHx3v IIVCg!0HohPs{jB1 literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Mari/textures/emojis/heart.png b/config/yosbr/config/figura/avatars/Mari/textures/emojis/heart.png new file mode 100644 index 0000000000000000000000000000000000000000..cea3a12c758ab289a5f79498292947ece20672eb GIT binary patch literal 219 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9k|nMYCC>S|xv6<249-QVi6yBi z3gww484B*6z5(HleBwYwoCO|{#S9F3${@^GvDCf{D997w6XNP#;Il};<@c10|F@rh zwZ_2#D9%_C;uyklJvo7a@fbrGJKHwZAYq9macR1VC*rndsXEJP zDQ?ZWDkSi+r7`#FD^8xC)z>Ty3{w8GWQomYGCIhZBf!k?EmHjUgCi3&fyOa-y85}S Ib4q9e0IvE$hX4Qo literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Mari/textures/emojis/note.png b/config/yosbr/config/figura/avatars/Mari/textures/emojis/note.png new file mode 100644 index 0000000000000000000000000000000000000000..0d360af1ac98d32e264cb3707642ce0cf45d0af6 GIT binary patch literal 223 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGaEOCt}an8@pP0cG|a4t$sEJ;mK zD9S|xv6<249-QVi6yBi z3gww484B*6z5(HleBwYwoCO|{#S9F3${@^GvDCf{D997w6XNP#;Is3uv&MRt|Nrj< z-o88=D9%_C!8QX9KfW(tYRVTpff>0q9O7Qr-u;3Eg3G&LkIdM1I=LYboFyt=akR{05z*SssI20 literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Mari/textures/emojis/reload.png b/config/yosbr/config/figura/avatars/Mari/textures/emojis/reload.png new file mode 100644 index 0000000000000000000000000000000000000000..1f33267d6e9717d41b952588bb05fd8a47c3e806 GIT binary patch literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrOUWQl7;iF1B#Zfaf$gL6@8Vo7R> zLV0FMhJw4NZ$Nk>pEytvXMsm#F$061G6*wPEVVBK3bF@&*Qm+^L+W6E(EufCe&n My85}Sb4q9e0LG6%-2eap literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Mari/textures/ex_skill_2.png b/config/yosbr/config/figura/avatars/Mari/textures/ex_skill_2.png new file mode 100644 index 0000000000000000000000000000000000000000..6678344c5669897de7b869a0d46b863f783fe386 GIT binary patch literal 1694 zcmV;P24VS$P)Wyp6#nQ)vL!2) zLmQ4$wv7xF2D<5@)dhNi0=`1GJwsPLL$^IdFVGug5p>Z8MdSieDi;m)W7$k7+tY>L zD5Eh+@nJ8074eudK2YP>Iv%>u?Ykvqa~w zSNAu+IE8+%3`tL_AlU78=d^oraF)#7$7?gGpj}SBdq{{Y3+X`;NzHrt}Vp^)F0Ld zpbH+D8VpxFjM9c~^(wQ}Y7BVpfNd7O)9e$dX+7k=Wngx7LXOo(7o! z27|$1Fc=I5W3B+wi=efw27?5Z6<-_@)~!0+IOM(_kaT~6`W{kU4a#c+M&aHL=lw2_ z%i*FEaCbQtVQ-NOi$#Nuy02cB?b7zeF2Dq=U=}F*{sMLZCV&axAeap$-(O%w6+m$c zpP;?KN%j}4dJApl^?<=(@ZegK{RQo(t#ku7R2^pSBxr+05)__*(P)%Oz*ehO=oKTL z2AKfP1F|E`&$Gr4wg4ueBrcFQ!d%J36l<;8PvZ!YCjpf*YF@veg@{-LOhPKQX0y38 zGA5JB?Dy33rC5ODI4hmzCX)#q$FX|7o{;0|^?Jet36&%oU)0W&R#al8@VX)#$C<^i zEUsXUMk65wX*Qd4LWOBwht!PThibB6-{radEnUk|W6;|M^%EwGyl?3Z^#`H`q23GY zCk^5fAEk)WBtmJ0joWur|BmBW4{rLtKgVLNR!cNM{rRL=^n1SVi=<;(nFZ8pHOu5+ z0l@P-j7B42Y6hz0DZF}~)iNaN_4?-30!iH@(KM*~l+=>vd2>wb_k-H#a9tP2$Hx`` z^!t5b+jitYT-TlZuC@;wk2)s(T3nJUd1%A;ePP=+`u)C8g$Wy!Y_AJz(sfo61Z~?k z?z6_%1N30EEZ^f5AtrzcU;>zc0w9;D9+oggtr8LZ*|ds1>2C`2+tOBJ2X}0$dI=I0h6Ld9Mes1*BzoS;$+H z#yiitzaY(2mIZ}-J1pP(FKbn(a0D#-U1H(#fIN1UTFu*46@+wnwP!F2L&nJPT}i3|M(o&RXyDdcmsK1Io^1 z;NXQ2p`=*W!@n`;kG#3|$E|uKDb)X;04@M@0sIHRQw{*A)6oEM2;ez@X8=xv#$Y4} zO2MOkAgE36?I7vzz5?)?gdYHK>GJ~}0I*HR69Cr$uIMnjf>luki^HsJqqhHjdi0>( zFF*YdIMDBZ{MiD~2XGGH4S*qle*ugE_;dh3jgGNq8BOB^#1&pABF%Gz*8tv;@E3G` zMVg*cn<|;VuV}qaR#W;s;2oL$g+j!b%wPU5ijPR^Q{}lG00%}1$e_iU6}1!5ntDM&WjEJyeS-^O5mGlvhwC$7Gzo+vL3ITVDC0qm8rFLH72-s`x zCVk{R9aA#-TRNXAf={VdsZkqWd9L&pASeeBF{icMUfvkBfCQ1Gu1s@PGV>~FUyT7( z8e>(-3w8=ez&Brhk~E0c6%rcc*SA`UE(6~-wW*Tu^}-R50u2Byit1|QuV~ZY4uCxh zfO`P;jZcGF5}FKC=z$Xbp=ewtLKczHAmI-I909QDTInsIO~QIgklQ9<)l_(!Qr{yg zgg&EZ%@UBt3bG_nB#bO<>SXFeB_9xUZJW&A2Jksq!n0f~K$4KA8ccyx5^|S{q65nC og394T`g{)Hn4T@xdO(@+KP%aV?X0Iht^fc407*qoM6N<$f=vAr|}vNM(&8r0`VP)_zFkjhy+sP4IweUI~@igjIfZ9H(3dxvkvXz z-JPx?=*QGN_A&Mua7&}v>FMdIUsu(?YnIT^L_U;iAJGHCHMh5aWoha^dO3Qo@1}XM z*A0K~7b6fqHxLYvs&%$KeB~BBH|Q#`hMRTovhA&(bMXe0K&zICA44FL(D(4wCAt!{ zhMEPm=(w4%KTYb<)|+Zf!@@#)DV&@YW9#5f+F6zyk4y*aIwp!1clQ z8-Xy2vEi_DZ2dTv*3gUO@uFfkt8E^SM1-xeB4B4c7y$qR)z20VY7xTt;yy&MdE5>> zYU{5VlVMKSn+6+4LkoZJb|XBsRpe>o?|wHFZ=^R@`9m2;*0@rS-kM4E zl{af~vxevh@2N&WWzhf}zq3M(TUHxrq6c*Ma1aWM0z%_D1F5nHPpdrCJ#9Kb%ArM{ zkdGXiG7oA?D%CA(o+4N8i(xA^QWdCToAF}gl~&j(I5R|?fK~1lf`@Rgc#jf5!+_D_ zo#HDo)LWb%ccqH#jc@-F)XJ*zb%+30cr>qn@k~=qQp#LC5BY?!>*5FLxwS3S6k}~` z@7KS1CfT=ml^~4TZ<jf{F(sP7d%d2B`kEl+*|Xl6 zkPtdAbxO~4yIpEph+eN(GQ892fQV=`9tojckruC@tK2M5yX9i&)!Q&YK3yWjV>-Q$#YC5V~j>)OvV$8#v|f(zPW54XYmoFnc|A!Wg z{_+o&Qf@m17b#a}EWju0H`mLhGW3HNBQgrudp|ej?d+xlPyNdJ{C5_k_G}}-$9HZ% btZ)ASoLe5(ej@)Wnk16ovB4k_-iRPv3y>Mm}+% zqApJt#}JFtb0;_owHR=)SYP~Kf6~0Nyt)1Aq@xBa-z0W5wk%qBW1FOC#GJ5-t64$c z-!I%Q`h$Vj;>Xvwrxu6&eV08YWyd6@c=`Ly9hET$4$Jil zeL&9rx3BdClb&t<{^9tX86P6|{FO-C;=p9by-LAZX5v53JCb(HE7sRBDV`~fpXfQc Q5$GxgPgg&ebxsLQ0K`RTyZ`_I literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Mari/textures/ex_skill_frame.png b/config/yosbr/config/figura/avatars/Mari/textures/ex_skill_frame.png new file mode 100644 index 0000000000000000000000000000000000000000..ecd42ae146dcca54f67018876c69776017512247 GIT binary patch literal 410 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!3HGD8EPYe6kC$Fy9>jA5L~c#`DCC7XMsm# zF$061G6*wPEVVBK3bL1Y`ns~eU}EGG)P12IstOd6EOCt}an8@pP0cG|a4t$sEJ;mK zD99588yNaOGQ*@Zb%RVsHBHF(^7#o|)D#N^+K zq+6OB)wpsy#E<(h35N=KyNfRD`kx3|HP0l1-N`Joi2%^!v?(TqOggbz7QLdESUENngf3Sto!kd4}sNrv6vo zU8U8ws`tNF+j#$usS)FrZ04`0R@Yy4N^X{}Js*9qtim(I5NH*Hr>mdKI;Vst0Oyl6 Avj6}9 literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Mari/textures/for_modeling/gray_concrete.png b/config/yosbr/config/figura/avatars/Mari/textures/for_modeling/gray_concrete.png new file mode 100644 index 0000000000000000000000000000000000000000..ee95a153ddc5d72653f35f897e10d9b0c065bea0 GIT binary patch literal 187 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|O`a}}AsQ1~gE;vb3^*Q#&I|ni zU)xYcR%FJ>q=Yp~SyOHEY){ukHeBJ0eHAXSuxEM8#*m_$mzCLq)Vyla?`&Q&soGke zg>^x&y-h`Eh#J3qL)_&B8IKqP{ESym?OS;{vSLAAi}-y14(12br~1COI`wnH(v3U( mLjTD&v)`^)`}X(io^O}e-afH*$pWBj7(8A5T-G@yGywoj8%Wpy literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Mari/textures/for_modeling/leather_layer_1.png b/config/yosbr/config/figura/avatars/Mari/textures/for_modeling/leather_layer_1.png new file mode 100644 index 0000000000000000000000000000000000000000..cf4aada13a4b457daa9b31d3d3a735073addeb70 GIT binary patch literal 552 zcmV+@0@wYCP)`5fkQcJGC=nne=(fL;I~kNo-zxk2gy0G8Dz0QeTR2LLGD_7YX@zN=sL8dVR| z1R&+4wzeA6DV-^B-p6jZZ>6)|;%wXm0QLejp1lMecKxgw)4cZ*Y`zGP`V9Ra$4w$Y zFQmaDO*-ZVJ3u5`_9aISX8-pm0IDk1Z4WY`c2zqXHk+^#;VykJ0ao+6giyf6EL1SH9Ig- z2$E#n;B1Ad?@^%@gODEE h5%G*bs~H%6sH$^a2tToI_4+R$uBWS?%Q~loCIBS)MOy#> literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Mari/textures/for_modeling/leather_layer_2.png b/config/yosbr/config/figura/avatars/Mari/textures/for_modeling/leather_layer_2.png new file mode 100644 index 0000000000000000000000000000000000000000..abd64e6b2afc513de9bb4794d53f15f5860b47e4 GIT binary patch literal 322 zcmV-I0lof-P)C2ia4%LKP}`efr*W;P{}&k(_|QiVHk#C7=~dO#_(8{ z<;0lh`T7niz_IV=wr!UP!wCS=Am3UWR{$Nu^gR2Xy{|d&X|IGpAOpLv>-r{$dA25b z%*(V0NKgP0LqR3t$&07*+Ys1m5g4aN>D>K);}U+VrJZBN|rIb`d|P57t+vV U)x6I!H2?qr07*qoM6N<$g2$hYH~;_u literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Mari/textures/for_modeling/leather_layer_2_overlay.png b/config/yosbr/config/figura/avatars/Mari/textures/for_modeling/leather_layer_2_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..4faea6d65b021018577bab2b0b24edb8cc59df91 GIT binary patch literal 181 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!3-p)I`?e@QlbGqA+A8$OGhHeL?OyTA<0G| z%R#f)L-Tr$Cnr#Xu_VYZn8D%MjWi&~&(p;*#Dn+kK|?NQLjh;Ux0kiP+ZQEGR$6+H zrEa6KRC3Qpi*4(Eh`w$Ue%-b9`GdtbxHR^abg^tQS)wRy6`JRve_@@M{tJdET1oSEANutbKc` z^ZCEI*M8e^y%nuIb@f*&-zn|~uYe{qFgz<+Si53r*zdI;u2rA1Ni=bP(Y<4~bVZ-I zxZzR;`_%W}e=lqkH@J13UBf%p`u_v-`lOePr!Mz0e2`>M57Wq-(DL9E$QVyoKbLh* G2~7aLiB-M; literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Mari/textures/for_modeling/trim_leggings.png b/config/yosbr/config/figura/avatars/Mari/textures/for_modeling/trim_leggings.png new file mode 100644 index 0000000000000000000000000000000000000000..509e2440789e72a85fe37e34c45fdcdb87ccf18b GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!3HE3&8=$zQW>5ujv*P&Z?80RHYfvV0V-u+*wBCPx1{N@3a#HU-C1krE}gPFYi+sw=hu}7 z;*8{tgrEJH@%_xqP4CXzZBqUG^t+_6c%5{gTe~ HDWM4fe7ZSG literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Mari/textures/gun.png b/config/yosbr/config/figura/avatars/Mari/textures/gun.png new file mode 100644 index 0000000000000000000000000000000000000000..d648e0317d18a6b9dda59c7a29f3c0485d2004c6 GIT binary patch literal 793 zcmV+!1LpjRP)?9djXgH3O1Str&F+>n6>?U+v7)RR|HK^#3)M3gax zRz0{sDvGe;K^SB8;1oJ(kJ`aBu=OCg!RWe!?j$@9^<^(v($pkf)9rhD2`}&E_xXK) zzt@z^Ci*FMpwe@T%J|kuiWtoktS;(y1w($M=N1tR`GJuX909;DUMmpHB$S)gV92jf zRmi$rCn7J1S&0i)?O!Y9VD_H6gzk^#UGeha#)9hlG2)A zRF9V4XNFGc>g=Xv^?>JzuLv~n-I94Hv%i#+ZLe|p)P7|=KD~;TUUix1K_i9lcj@B< zMLZryPvksil2h<`CEXI>0|$UNL#-HmvIYQXYH9`m%+F^nT{~6NT1k>b0jOeP?ubq- zL+~8Bt!(`8(J-=Ocj%4Dj56`{hdM6Xb*e>J@Umn!Ts*)kCMXfbUemxI-UWuCZ7C}4VTv8@Hlt|>Q(Hx zIe_iVK64_gP2J|2&u{+JC)x?JEE6X> zvK0X7w^vpBPQLpB02qGx*)j+-0IqQW3qFoN9zS^sm`tzDXj06+oJ7HBB`K~p9O(;ndF zql!VW140zVlKsrp0JIPQ;QE8&M-#hmRuOLQr)00000NkvXXu0mjf+Xi7$ literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Mari/textures/main.png b/config/yosbr/config/figura/avatars/Mari/textures/main.png new file mode 100644 index 0000000000000000000000000000000000000000..195991c1d70789b6f67ee29001b5cc563a497016 GIT binary patch literal 5307 zcmV;s6h!NZP) zdvp|4p2xqH?u18x!0-qdB&dK451j!-c0?keByd2UIy=h{fio_y$d1l10=n+eMMYSA zEy4jki-2-e2oE6xL^*~*+(i^tWx^XV0vZXBgphYCcmHT_r@H!9)vda>x~r4^oYSYP zZr$gve)o5uRi(g!>iw&Tl^ zXZhj9>;_fuUqwWPkf6_)_PF%iRm%vdAGJb-FWDD%O#ij+S~oMah1Z7B9*b%)vkGVn z-u|XvpsLG2X5dzrj)wVVp%skYt@ctalE=;qxr?;FkkqBo=BO1a61%ho0MuP74+&2( zibwCRy{;6kf8JDrb_C#rwp~(!TF27F{)Cl{MeP}u2QR_~Mm6f%+Q#^%;Cbp^o zoeN;~2=z^ySI7T)qzs2y?K*E;A8mvMU{=sr5JJS}1H4LnN-WwLh&Haz2Y4OV=L59e zT>WT~c2=z7aD6^NKS#d_b5D(B8Ez6-H6#r=L(;5IP^=gb)qT4i=W}xyT*KvOO1r;q2UDD{3#* zB608>MXgZLa>S#GukQ@S*LQ}}a>S#GTA?Cw@Eo}|K+l?KLjjo22dtSk6mOnv94YGK zlF?JNnhy}cFKf_Z6py|IFmj6)T+Lw8O(W6JsttUtS^)^m2P9NoNA0?E!F;#t{e+@u3-a>UC(yY= zdo13%2d5vO39b9;{DXLAN*1zvbPaK*+??KxOE9bgvi!5$ubqCCwCnwZ?P^QIm4CZ3 zOe6f;O3ReV?NdljaVY>`YtdzNyfq!mbnbVI9*$K7$D#KR0L#DpzmN>)6qjPr#_fTV znUk3X)sj|d z$>#ILgx8(^Xd$)!m;Ub&GP!*UF|!}6_*w4Pzk5^2)@Z}CG{N&!oL?`LX&S!b{CaZz zyEh3Hg7Ab$q*@2XXQI9~!z;cP!Rp|+AKx9-6sBZmRE_YJ!Der+9|nUaO#l2U9-?`E1Y8lRP*6kiL| zc&soA@2DR@TY;@bm+|d|^O!&6*YG7OhVEwZ>(e(9L`_K^Y0)9mu?A?v*Oujzq?C~g z0QmLI7tQ>(e;CBfsK$)|z|Gxnv~;J}zOSk!Jz6E%DmX<+5Sx#r;p@sjBc!2LSfEj% zuKY7chE*G`wk)62l;n}>;+=9@fk@)CC7|K-0<0>^Au%NYf9s)&TJx1HEl_K|BL3Dx z72xL2nNJ+1u?pQ#56Z;v)XXdA&?iiu&v1J5wkcLx+ z+Mp!#VU|s+LB1Bhis|x)p`9S19UmZ6Q1z9E2>k&ut^ry~3lYJowqWD^X3PB4|>jVD{VrvLZ66sao`o28VW~$9S?)JXyrXQ9W+Jxzw zEF*V2i5q3Y2%a=W(+{%&G%xan*KHFLFp70ZUohF%4UygoIM5)T z%qtfDtgf3z48VCiDj~c!<4)%MjH(A0(x$}hR12M7eKc&RH4Gz!3|zt7SXA-JcvA~b|#sj^lmO|Hpf z!E52AG=s6SINB`kycVmw+hjUHW?1zErC_L9BZiN(Olbds{Fqlw&#n#f+yEY|Zc?lm zK}Qr8erM^YNeh67W-kEG+5ju8>Nc+p@mqP^k-II-?f&tTZ6(4Y5-mu2dQTLdKWFNP zO9R>_rv#77E6T)j6(M*9Y-t0ug=d||I+jwRYM!6}3G@2Mk)r_ES7}-8yi;g?J#Pfx zUo#B=(6L(@0N}p+UzZxcr<*}qcmTNaW8h)#k9Yi0Y8sx_fE)VHWmYSh)rVUEw5~@2 zD|A1Dx)vqDFHYskf;zmBLIycGIKo+?RCcx)UwEccifZrx) z1?CwIp!ocWQ0wa=mY(MXP#(vHNcE+LG-gsl%j*j4SpZ$X8s`0JWZw>lgMzttXzI!*{JK?DH#* zG@$O_d0Xj-^ae)^AL-6>gO!z)7&m(knf2_mcy6V=7av6WQyi{oz^=7x92+e=22b0j z(>GaIK_BP_92h~nnTjM%1mL-5&?&ry*ZXZU0&q%`5P+S#uMg8C1Rw(UXpq9w6LbS3 z!|LSjhw$~Wvt;kP|3rBI^)FD;{_MnK_unZ0X8GayL9HXCw6v7i`8WF6jmOTv&|Nk` z5muoHp>4b4$mV$dd}8NcRy?xOjT6T?VTMKDFX+&rL&)_HcWyN`Mrs`)$4(qazrLaG zBBpLueFZx^KmL}tIq0q=cXDJTUF`{`r>7%5J>AVDgmFy(>FMb>fBFc{pFZMgA;iZ5 zZtT>^&;KN-0RV7g??EUmEM(UI{QOTKVl#~3os@B9N^Hr;2T)j8h=!lf3kwUe0-qr^-iT4Kg7DkGwRskTeo$jwScjK>L z0E_N(zO`=ePWGN4YYnh|^F844JwgC*?*u!$!U_QFwiUl?&7gKish4+``pfFvQ-bR9 z3fJP6g}*h~XL!-7o>?(JbC^)(B7wr1Zkjju35*&u3X>;Ju#CXWy3?KJA}zq$*CsOE zf4Xo5C09bLR)>x$NbTMc0MKj5<9yBF#0gWv1h94M768D^nX_^2ntA;#DJkJe$1&Ow zpB;EdhfD)7Wy(}XiN+$9QqpS(&wRk%vuAMcExkhAshig(H=F%@fb=%7dhZ(;4j_Hh zf8xRq-zxx+o}Nxl{`X%{ZT|F1RA~0|0j{9d5z_sJ9zomD{e~XIXaPp8BP8#{>9AEM z>gIM{UFilcKX@30g@q`uC?h~%V6^<;Vbd^s&z^B3E0(xsk(Yk@C7C~LFo1wS7Ti6= z(dw?-^8qnIZOL|0Te6*K&*^dAhQ~3 zX7(Ej5c=>X9ZqY{wL|5o3*e(I&xV}ay@PQL5G3k0KorsW0^#|9G7oQl;6Zpkz)2mX zoc!jLNYYXeo)2Jcf3dT_;J}v9?Q_~Sej|Rma0PcwS}er|2uC8izhL|OZ#qg>*67eL zIv>Cymi8BfNij1kJ47JQJr}B?!|v>5DtUc)yX5WJV7~uA^FoG%nkzwfry3D+&EStG z8#i^O^&BW1pL79i{o@?~fGMwkfjwJZ0RUu8{Zoj$2n$~ND0uwtY7Yv)Z8p69V&jRX z3OGf{%*rM&%)0~K2S0#^W{(A?>B2GScI!PM?!50V@ptN+hORvaAT_lMI(1HCdP+_0g8H5V(5dqe zVb`jwE3xUl*O(cj@nz3?Dwuh#FtTSo6&CJt@kPUYxPkxO)qf5gRbEB#SWo3ur1c!g ztaH<5F2;kudpsxvR-v@+R1ik~B8@Z~@Zj$r2LQBe+1k{fR|-xM7QpMzP6|2KT4@$b z7mhK#Ui97H(Y5CQ(QI)eEP%9r86oFO7a9v;>B2E#{=+iV@s~(V?Gik1P(^cSj<5ix zJ@`b(dCsO+nL?n2*ZbF38NCr?S$>)L8xrNdDf;)>PvhMUF8~M?Kw7^H{670>scFd| zJ}sV*=nHdv_>q9xty!_aG%zcyZ2I&asyW`v^pi1>?aqUr7FNq!s{>6H>sq8a^R>N) zpeRamCq93FnDe~Q@RbV7H7c(<3dTD;w)AxH^D`j=vYHQw6DLlbIC12m))R7}AfHU1 zv52Vkgz&tk*Uqban|)U}j@OA-0hej^0%-PleqeLg@QIE_tDhbC(DP;U1R+wYudQcF z+n?k&lqMk!u5Oi8lmu7rr1bd!(ftLo*Z-}soEDGt1c>bQe=9t*fM;xUq?Rf$1iIe#N7GBs`!An@d9-1+O06=whHCnc8 ziBAvwPssIe&z&_D#_pXv$dNA(WBZO=96FE(02n$v6O-;Ak3mBQ*yLUMMW2- z#6yuTfSA(&TIY?JGI^5TiBS6h0P9x28gg;ZCjpyr=s+HZ4$ll8zqo7#Qrfk}2kTaZ z`2S#g9?qURg{PjJhoQqWamTL*6YBq#K7H`pNtt1J8aFi?)D8qQRdJboussiXAMeB3 zl}os7g7mI%*|l`6-h}+T>hhhumIkB zKPSvBwbL)~)8(s{Zu)EW^|gUa`ICZfld{a8FA&Am(cr-TeE|SR3r;wWz@}_1t3!JNa3mx9N52aPz$_DPy_UX9xZndcQ$5^1r6|P3$87wwyif4&X6HP z4X?>S-*e=J_jv)ocC=?yP_3WNox3poG+A!G=@z2>S^3|+bBCcHvuk$Py>kbV6_+J; z1>iQbW8SI{@|OwK0`a)Y3_@Nmyh}mos&;9}c_^*|#v1`kQ#*A{V z^w99URlxO4Qcm|5bnWWwePXoWvt~X_-d^{Xr4TFy5NQ>s3!+6u7afI{t^szdfGCmH z0O7*0R+r6Imi2yE`wR5-U(4*di;#KWJ^07z(;ekqFBs2lmEE*ur(xj%VC~8!SpUvO z!|PV_1bVIToCfeBYoDO!G$7K%1rY5FM4PDZ78hOr7ac4`T>zpuZ4N2%Dgc_to!9r;ZqkUJn zwjjI(rpGiM?KSGxj-60MKbD5p<{w4U!*d5^VAYyXB0d(dTX@gEUEXc9uhw=0$yI5-Y(TO||zzCf&ZBw{`P!g&7s0&XMxeSx=Dd+)Ouc3?JxcAo#gbm_9R z%&_Rv#$Cf2|Gt2mOrNocOrNpH)0?DRLtAh!3nAVNMmqx(y_RfzXG!eanr3YS;=~A^ zuV+rHP?NABapJ^@6USwQzb_E$c=G!K3BI3KkecK71?b9AB$m&B_;5HbfT(|8z-WJg z6}+pzR(R_B0<1NEw-JA_vgG{*yh8Ad28d#`{_pm_07}#aAiDl9I$sd|D&Ua#BQuhS z`u7DA>dHj3AeMeqQ}+PE8eq1+fam)H(MDJR!utyxeqTTq&HnoW{|{TsCYzh+HqQV6 N002ovPDHLkV1j38Rr>${ literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Midori/avatar.json b/config/yosbr/config/figura/avatars/Midori/avatar.json new file mode 100644 index 0000000..92e5e56 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/avatar.json @@ -0,0 +1,218 @@ +{ + "name": "Midori", + "description": "Midori Saiba from Blue Archive", + "author": "Gakuto1112", + "version": "0.1.4", + "color": "a3e0fb", + "ignoredTextures": [ + "textures.for_modeling.leather_layer_1", + "textures.for_modeling.leather_layer_1_overlay", + "textures.for_modeling.leather_layer_2", + "textures.for_modeling.leather_layer_2_overlay", + "textures.for_modeling.trim", + "textures.for_modeling.trim_leggings", + "textures.for_modeling.destroy_stage_9" + ], + "autoScripts": [ + "scripts/avatar.lua" + ], + "customizations": { + "models.models.main": { + "primaryRenderType": "CUTOUT" + }, + "models.models.main.Avatar.Head.HeadRing": { + "parentType": "None" + }, + "models.models.main.Avatar.UpperBody": { + "parentType": "None" + }, + "models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom": { + "parentType": "None" + }, + "models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom": { + "parentType": "None" + }, + "models.models.main.Avatar.LowerBody": { + "parentType": "None" + }, + "models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom": { + "parentType": "None" + }, + "models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom": { + "parentType": "None" + }, + "models.models.main.CameraAnchor": { + "parentType": "None" + }, + "models.models.armor.ArmorRA": { + "moveTo": "models.models.main.Avatar.UpperBody.Arms.RightArm", + "visible": false + }, + "models.models.armor.ArmorRA.RightChestplate.RightChestplateTrim": { + "visible": false + }, + "models.models.armor.ArmorRAB": { + "moveTo": "models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom", + "visible": false + }, + "models.models.armor.ArmorRAB.RightChestplateBottom.RightChestplateBottomTrim": { + "visible": false + }, + "models.models.armor.ArmorLA": { + "moveTo": "models.models.main.Avatar.UpperBody.Arms.LeftArm", + "visible": false + }, + "models.models.armor.ArmorLA.LeftChestplate.LeftChestplateTrim": { + "visible": false + }, + "models.models.armor.ArmorLAB": { + "moveTo": "models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom", + "visible": false + }, + "models.models.armor.ArmorLAB.LeftChestplateBottom.LeftChestplateBottomTrim": { + "visible": false + }, + "models.models.armor.ArmorRL": { + "moveTo": "models.models.main.Avatar.LowerBody.Legs.RightLeg" + }, + "models.models.armor.ArmorRL.RightLeggings": { + "visible": false, + "parentType": "None" + }, + "models.models.armor.ArmorRL.RightLeggings.RightLeggingsTrim": { + "visible": false + }, + "models.models.armor.ArmorRL.RightBoots": { + "visible": false + }, + "models.models.armor.ArmorRL.RightBoots.RightBootsTrim": { + "visible": false + }, + "models.models.armor.ArmorRLB": { + "moveTo": "models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom" + }, + "models.models.armor.ArmorRLB.RightLeggingsBottom": { + "visible": false, + "parentType": "None" + }, + "models.models.armor.ArmorRLB.RightLeggingsBottom.RightLeggingsBottomTrim": { + "visible": false + }, + "models.models.armor.ArmorRLB.RightBootsBottom": { + "visible": false + }, + "models.models.armor.ArmorRLB.RightBootsBottom.RightBootsBottomTrim": { + "visible": false + }, + "models.models.armor.ArmorLL": { + "moveTo": "models.models.main.Avatar.LowerBody.Legs.LeftLeg" + }, + "models.models.armor.ArmorLL.LeftLeggings": { + "visible": false, + "parentType": "None" + }, + "models.models.armor.ArmorLL.LeftLeggings.LeftLeggingsTrim": { + "visible": false + }, + "models.models.armor.ArmorLL.LeftBoots": { + "visible": false + }, + "models.models.armor.ArmorLL.LeftBoots.LeftBootsTrim": { + "visible": false + }, + "models.models.armor.ArmorLLB": { + "moveTo": "models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom" + }, + "models.models.armor.ArmorLLB.LeftLeggingsBottom": { + "visible": false, + "parentType": "None" + }, + "models.models.armor.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottomTrim": { + "visible": false + }, + "models.models.armor.ArmorLLB.LeftBootsBottom": { + "visible": false + }, + "models.models.armor.ArmorLLB.LeftBootsBottom.LeftBootsBottomTrim": { + "visible": false + }, + "models.models.gun.Gun": { + "moveTo": "models.models.main.Avatar.UpperBody.Body" + }, + "models.models.ex_skill_1.Momoi": { + "visible": false + }, + "models.models.ex_skill_1.GameConsole1": { + "moveTo": "models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom", + "visible": false + }, + "models.models.ex_skill_1.Sweat": { + "moveTo": "models.models.main.Avatar.Head", + "visible": false + }, + "models.models.ex_skill_1.Gui": { + "visible": false + }, + "models.models.ex_skill_1.Gui.TextAnchor": { + "visible": false + }, + "models.models.ex_skill_2": { + "visible": false + }, + "models.models.ex_skill_2.Gui.UI": { + "visible": false + }, + "models.models.ex_skill_2.Gui.Reticules": { + "visible": false + }, + "models.models.ex_skill_2.Gui.MVP": { + "visible": false + }, + "models.models.ex_skill_2.GlowEffects": { + "moveTo": "models.models.main.Avatar.UpperBody.Body", + "primaryRenderType": "EMISSIVE_SOLID", + "parentType": "Camera", + "visible": false + }, + "models.models.ex_skill_frame.Particles": { + "visible": false + }, + "models.models.costume_maid.CMaidH": { + "moveTo": "models.models.main.Avatar.Head", + "visible": false + }, + "models.models.costume_maid.CMaidB": { + "moveTo": "models.models.main.Avatar.UpperBody.Body", + "visible": false + }, + "models.models.costume_maid.CMaidRAB": { + "moveTo": "models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom", + "visible": false + }, + "models.models.costume_maid.CMaidLAB": { + "moveTo": "models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom", + "visible": false + }, + "models.models.bubble.Camera.AvatarBubble": { + "visible": false + }, + "models.models.bubble.Camera.AvatarBubble.Bullets": { + "visible": false + }, + "models.models.bubble.Camera.AvatarBubble.Dots": { + "visible": false + }, + "models.models.action_wheel_gui.Gui": { + "visible": false + }, + "models.models.barrier": { + "moveTo": "models.models.main.Avatar", + "primaryRenderType": "CUTOUT_EMISSIVE_SOLID", + "visible": false + }, + "models.models.death_animation": { + "visible": false, + "parentType": "World" + } + } +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Midori/avatar.png b/config/yosbr/config/figura/avatars/Midori/avatar.png new file mode 100644 index 0000000000000000000000000000000000000000..bd78fed61a1a068a0fc596951c9cadeef163ee32 GIT binary patch literal 31666 zcmV*ZKvutrP)e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{03ZNKL_t(|+U&h|m?dX*C;U5a z)y=nW=gCo;(I{sjAxlV>0S6w3b-?Smi@o6WN7((~GrJi3S?pbh#jyTtcjbKMH>`TnT%R=C~OJu^Kmn0lU`>ArotZq-}wIp=qNClOu- z2QxFy9A}O*N2Y^_DD!*I2>hAj%<wCqSCwS&Kb7VMf zdZ%2G5}@@e{AYyz%yH&8`N|-!1Zcep{~5tQbDTNWP6^Pe#-zcYGCJ=@1@ssy2kt{6_DCJ%MKdf&@qg8zB(> z`2O)X10%69BJWK(L~zaC&!l|szpku>U_es%J^}aV_{NvYxdba)ox%-C$_f%wxaPsV zgaRWJ!SO#A03@Xglwd^w*;O8r00Dv|<@c&$@Ra~4P#hvSD}z}TEcXXr=v|fI-w_8w znG}9sD1GG<{ymuCiWJ9mEUUUO_1P0e@83TS#dP(i|I`V7o?L-4xb?lFFE>Ch7vVqu z%{@HRdIT2R;VuQ?XzyTV1t3VnYe)YbSXHYa7_ki+stfn$x;c%<8h50gb9-?g&Z=At z_`)4rg!|V-p<>{Keesb&_@oIyeua-^A+e&I6lg_J^nWWyAdGLhhlrx~k6Zzwgq?KX z(TVJ5Uc!3D&_Q6uJw?Ur2{U<0&3zt*ub2psfiU{!RNdX~b&d#Ms3;vM<<(Ad?UxBy^FwidmIGTnW%h5(Z9{0$5J? z_xz!OytlX@_c6H(N})E7-W49I-wlch(X=^%SB?G*id0JIzWH_ww(X>%<$R%l1GC=& zmn`L3g-_sykzYx9kgD(})onsPyzNb%h~`PCrgljb0046w3b^XJs7S!OqCUu0(LTQL zQ)vB%MSoopLEPRC9VP{hb6;B%x&qz_g4ZZemx1Eq&@39Npi}Irv3Cyd0wjQO5!zx` zCy=KzR0QA~4oVe390Y@8U8I2$Ij~MtJNq0A|ib~ z3;(fS{{r>^=&?kBLlkp)G-W{izP4^mknMMSSWw-Y-!=vxvxbO!=CbmsOlT> zSO5Kg;JK%tP4Sa72u(mr2c!|kca4IXv2o8BHt*el3%6d0c{u~2>BtxI$mQ}NLD2O) z$ae?GcMIZ+A;2U<-oWDq^1_3Y>Vu{fmsAn*QA(l!l@oBkR|K3AHySDdjtcm&BFL)m z>^;vAWGhOf3`Qpbp_3>>_)myb_rU!?;VC9bQUBlYe@E=zUtD+qPx!-im}6j+lG4TA zwUL4r0zp&X$rN=l5L)yWBk=kC<)hF!0x<`F?(15IM5t&;K`^8$!*FeV7e+OBs!Qg( z2a~Jd2}ni`b3aJnDuBLRK@0<^_pdQW zkeA9oMKIG6sDPCF&dLp(HUzMeEWbmq|1<z)L&$FX zQXIV|{P2_aAeDZw!WkGOpw3C*7ajzXs&$NOA)o(H?~j0CQY=0z zTbd{o=?Hll3RQ^|E+7Jk!yA^7$N(aO?q7rOl#>L|QIv&XQb@!U2(2m(2Ic^acoG$W z3Q~{@t7?gqXOI>N@P$7vnIZd60YRz&2nAj_05nCps5}jE6cw-v1WEBUII1ujf>3^A z7oC49WtPd)5_Dh6`X73|8`|5F-{lH43GWVN2!5DAJ~0)TOND|V3WS;fbe%2?*-3oX zktdF!G1cq~jK(f%0K}L)Foy120mfV&ED01)_$7SjpQ6ezdJ8AAGArfBfM<|FsQGy_v(C7C)<1c&;AohOZ znD$+AHx-b;7 z@EpVpqB0$&J89_{D+LZJA`hEYSHf3rp7rOLvrpkZPYP|6^NcL5r}(OG>}HlleLY!! zU-$uFZ}ox*sRjZp3FL(z!a+a?lK0?Q{a%4n_tk%p`gzaacMw7ssn#C=3L_@i)?m!& zFlL66WKK~60uVWGqiBrL^Xu4f*#bISia7i*<85zv6W;MB@4`iwUm8+hKC*=f&_JF% z#pY}E6t)!(y-pasvzGY`xO9TU-^oE{Bm#qPWOrY<@kULFaoo3uMs__r0# zMvn5{jVj?alFBAhRAEFGIO2EpqybCz5}#L}YU0svKHc|v3L_4LCNcNqK;QQ`hJe!% zu<8O|nFnP}idJB1!HyYS_;~WgTi9h>qe}Yec^ke85-Gm1mz)_CIkOKwJQ8$#9 zVQwV)x~r+blS)28pw|Xi?(YMGC4A>g#G)FosUl zD2Ir^at?$eNVs82YF8#D!-2ee;Rt+>@)}Vqo%U=f^80Y#2E?PMyktL*kNV^guu91K zJOYLHozdZ5a|MtF|5f1!fV0ZyL3+%&h;3~X($ne$+mYTg2zMv>8r_4Vk2fDk-E8-N z<3W&?;`@6p$Hpt?AZ>xp@xsc`jsqOOdj!*uj6y5e*m}bZsyhvQ<#S)gpS|;4sL#zO zq5*kdi2C^W97p`zKj~qV(jk6d1)*#*NlD@lX^{vOda}>AP|}VQqoM{MB7QZ;f@G`+ zKSyrTNQK@A_JQwsixB5~NPwaUh6r;Uy^(0BR=pQi0EC|^@1yCGK!n1$4Uvh;ibgh)Zh#7@m)GzjMh;4aW{$A& z9P$S;?&^BiMo>d$5kB4H2s}O@7X1h|dg6Yfg6Zc7$as>L@9PKA3qL~;k0 z?x{!hja{^sAp}pm3lO*d=aesTAs>ZXRzN5>C(-l1*Y#ZZY?RC?@-;g}6DNjqV<_k& zcMpuDMztvAk~V=v-E|L;HGUqAUN zbUQ}C{QH7VK4guBwi5Q0k}iY)>tPSm%M`^V6mn1~jJxm>Xa*_F&zCVDI+Soy<^)yZ-Bz0@q1@#%FE%BD9DyPOUX*jOPK#i2^T$KC1mvB z$`n38rV3w3zWG8ZqAXU3&?%ya!aR8n$+f_9j=4BK^RDWYD0@#{ZbA&o$I^+VhXkY= z;#BTO_>ltgFN#Bd#EGZzmKq+*H@#w=3X199{cR&~0ICzupP5MFqv)5gTnqtW#w0!xX3 z+90X}0}w((sa$f2MJ4hOR9_|%I5?3jka%9|YfN5&6^Cw@m+~y*rP~zdPy}wGnvkS? zD>6ji*Np-g&uvCcuelySdpYzZf*g5OAvo-SNQ23QyyDwY%y(u_a>(-~jdmN49C)~| z^)GF4vjtD8^^bp)2239qL}_ao;}^|i%XPD89IE19KK>be?Mq+7|9byls7GwuPP(1MLYH&5?>uJ(2 zede=$5ITV+P}|;s+0363>mP^B-H99~yJHx;sDZ(=nkWvNn7Uu$oo{^y-ujNW;`$qZ z(tCIcIS?r;jfd9yc%dfai_<= zI1G>Z8=fd7a-bGKv7*Qr?M4$1-gOtg{Lz1o3BCif*M;LaAdOKNaZujegKg+=x^Df) z;iFH&?g~71|HEJ>N(cCt_lowI_)-Yz4?~D zp}+DL6Zx8rnFoinDK-fVpWlYLsJpoWtKbXG1q~Co4`b}|2C7>+*nZOtrXC!@`~LF% zxaZFOc-tSn9i>t^ESU2V0CR+`j_0$e(ZgW|7W%jYLbd)&SPL0<3*tEeftwQg(7_g0 zGh3NaAqvW8gTLV@(lKH_tyBd=(H7G8{XJn&xdEx9)Jg#DW*ztc@J@X7V^Q8oIt~n@ z>sEZ~jPfQ613TL&jrGu-EnskWv#)kFn>wT=V6}5_dIF2jR`B56cjJbi{^?{|WFNMc zgKkAG3F#2I&^?7~5gw9hd4D4#q+pB?Om(eJvkRam0jUJwm9^`GOBRZ7yZnE+32Z5$ zYkCMlNx0d8Dk(%E+Yco@@++VHG#ZPIROX*0Fm`?&R!c{FB3t6m(79a_as)4pp$}6|>lQ?j{tf)?KmHwd?%bu+!~5-{$g5xr zyU}n=Bdnyyy4od3g`nz5)U@F^Ay2G^3`u!SEw-U}1QXE=r$l0VSTi4S3DgE56s89I zulp7hj83bCdvCi9U;osO%U>dtgEd; z7(D=%W#jJK@9b;+Yr73-B?t2l4Q0Om{Gbgm(48-$yum>JIt!Ecj>2xOF0f)QXgGG; zI5u6ofZ@FjR5o-mdG83`_NKSu|9STx;o9r2gQf|EKnsaZj_~Qptf656EX1f3|0)M5 zeOXkYS5ZKs?O0k{GeQc`4ZG%)0CX9NhA9k&!J!fne#f75oD(4jRl$->=yhAT^Ewq+@TFJW}sf#6rS^)Rr#gTjyrb_6;z70f&^09Ggfb_ny2CsV?GU@GzwTW^@b z_+<@D+&+PBr-RDCKq4tA+2l*T^U#1vkF-S43N2iu2B}0XMH9AywWlS8e_gl$*9_g{ z-gbax1=^i9O63yToi-}vN_3MkFysqA#h-$|JxR&OrT~&2df|CY9-B(F{s530bX;QS zXfa#zM2=C}*hYJ@jF|&9l($$Izib}cUNw!y=LfL(Y-Lqz;`9WL-8PD`OB<+e?qK_? zr!jS41n>Qy{~Om_dn^9vPu_)mzTojb$uiVnGsP01z=~Ft{o}xWaxPsct~Boyk#=6m z9D^jU$C0cWN=snyt~q`_wN5@DF=HK6eIMD94y0-0`(OVz-1cwZMz7n82!6NI2D60F z83Q{E4D9G2U$wwepfyp&+~XCnmED)~`Dv#sV0Uzo=3eI$4?cib+;C$gIuXxmj1q#3 zc=mOa2~(1zSScI|kWWe!A|w1etsDTwiYa`duaqmXjVP7ol|CYfZdaRu94T#`Krjff zEDQhe{=e;qgFphPZEM1qFJ|`R$1ZCE3@kiZ0SM?E&*8}Y25h@=219$B$PZeWePj^Q zTwNOR>_asyK3B!o>u0d(6?14DuHxRi58!uy?YHq)fBRnS-n~1hPK#_QQu198bqj_W zSctVc9!??Q#S&pdpLA10Q;BwCF=OWwv3>@x-+{L*D9EYzdpLCcR$f6v5Cn048Mq}B z`1pP=K}Xt{I(iHT?zjW{zk3^uPB&HXNoUly8yMKtMy_Oor9k~~4fSVBt9w?;+I6N& z7~0bS>5N;y^=({p!;KMLD+5CpZ4i=Dkp%XTk5FK|U_y&1=#&Hse=iYhjIsh0a2gdr zdM}vB@5s&k6N>qgep3xd2o`~2kTJdLTZoqq9>kGDNBUa-;fq=TfT;%tG7D&Vyo2^+ z8FpKP(QSc*KmlbOxn%=3UNevK1_Rq}G;#dyQCQ8@MHK9oz|kLUz@}^FQQO%)Y|0|KT_AOTYH3K~!8VBUhVIaGW4gO{+vSc_l4a;}e5Qh){I{e6GN6H|BQl zrC1UR#ohX#c0)B*e$||-+)24iU*V|Ph#pdq5=Rdm!acYC01w@H4?3+*D%2;9QQO%? zZFd`b!2vU2;rSsn4;4;K@YNiT`J5}LIxs&w2h*~l=kzdo!D%@QYKyU0%QdxGNPwck zFrV)p1YAg<7*rHM>sbMa6rpz^z4W0Ut3g3OI^ZD!Kp_BK6=6z=yl}UF*Sq(Bc;El& zllL#c5*XOpLTj=FHnR!p*p)4SfY#9>m?gShSAm$Ofq~ixCijn^w8_GT%jU7=CuY%j zse*;4s;hGe48pP7MlpJE3j^C**zuYvOg}J;kAL`+c;?Bc@y@MzbWdCuhN*3|T!kGIiV|hH%vr4jG6i-E~#3+N%_V#v9DSVf#1 ziNnu6k2}753!b?DVRR#cACh|@ptie%!L!@YJi(uRY8aiPc}VNzcEdC4?sM35%>s_y zMzCyCQ2-R1jgTD7K(TxQ0I&oh$1VbD#krT*Dg2h{3A$vxDgZ|S(SFzzG?-wo1(bjN zjuHiCcD1D-EwXqv7$5Hvq=YTk&S1k;^JpKh zVE>)>;&*=ixA4b*@#olm?m40LkQ{Xb{obUWof-BT4jaCbkV|7UC>z($dJ8xJl^cj# z=|0_%NvXaAyCGWP5rd=@!UPtPqYXC>KJzqg`R2`d{Gmr-s6M_D&I5q4^94#btddAyuCUW ztE7Yo=Q4nzieB{vTPrlfC-qn|2`D8DL_T?^v}1@Hl1`@!L0SNoY{!P}ST6GmKuU&W z8;edG-~Rf)q1!R~a1Vf1IR>Yv!I;fwi(KsKLMu9`zc2vD27dbw2XWTELSz#*>a#Gq zZJ2f7$Svb&93VTdtpnVK3sJKJYL5AS^+-uIrr#{K&b1j6q)HahJVI-M4z<6!uLHg>#b8r9ts&FSC-E(B!aegCqT}pvGCk zm@ES?E|UawdR>4-oD%%WHiDT?REZReeD1~+70;owqXTRA9 zLp&TWHi_y=W_1izv~#QLzJ_e4RNRT@o_r$J_xH)a(eqm{+Zq}NOW70v0Ild?{^=n| z8@TKm9n65H5iYoF0KY$^<4d2MMSa1w@|M*@eQ^c@1H;ymz~Yl-KmtR18z_yN_`%KJ!>_;LKO(2+)i#4+_dO9-5~}6q{eXX9?fc9j zP)k-N`5k)0_TtIVq1yjH+?*mA)(`&t@S#Ka)|bDE19u%*TJSIN1YegR!I*z$7>iF8 zK^oS4?v>RPU?vQn-NMA}^Ds>l`F!5p$C6`h!lP-G6z%x$Luf^B27}82r0oA)g!4=7 zW}J`#S`!ywY4fjybt2asol--Ib~G^yM+_6u9&ple@TE_Ex^L)@B_m%m(K=quEc}~Z zx!@-LOy{uuEP>H+^cziTV@UQi5M&`F6#eGW#q4ZE%3==Vp^JX}G(*2A`& zW>MN`t$O(y2TK40V;48jYPIo&PyKU5_|;8N_O6kYYC+#s&!;Sa$lx#fGX~XUAmN9m zyz=W{a7P5;d5uEj%Eb#z96WXmAN}Az;?Lgk?uhU^wvBG5g>JVE$8s=yVF$Z@ZVI&> zO=x)s^+Por{K^*8pY??Qr1`NxY1{;fG%|B+!vis z2rz7-h+7r*fMBl`c}j~|iU8bLp~5;N0fX+dN?R%s83fTMj1=*D!ZZqr=%9-ipL-4m zpMJit;u*WF2?C+@QZAdkX+UA9hxTL%R$ap@e_2nBn&t8Wzw!H<@zi5YeEwr;F2Nw? z9vOh$8pGh;!`OJ$Eb1@Tu<&?g#nwt%goWp77~b1Jam>Q^zxf^f@^AeX3Z-J81k^zk ze$!5hvBacC3<6!NRAI)Vh-rBOiTJd0p)Kxk(J} zZouwpn0<5zM{ga&+`|=6?j#Dn#u&b!gPlJ&iQ3KvthO6D7}?v%BvkEbmw3z9Y#3bw zhG8gkVK~_ItOjXCxW{dZJGzNJ#2&M+&NuLgL8U^JGHQU+q5uTN(s=`96zlEoK^ZAI z*pzDH$*>ljg1>DpEa1t9AA@NckuS?K0RS6cQHRhO&6lzfaimM+t6kU~9aclbtA8Pn zTn6B<^XwAd^2gh8;T0wLH7LvyP2VNx3QXKKjMmW#3PUEg{p1Wvn^xu$kN_s`9*355 zFtoRY?|kiBn3{IOo+P6nN_EdciO_ts{Z&MGWoo1_K8!TpWW;|>P)aON`D!&9`1|+# z&y)y~gp>}nqQs7$oy5>tbyyu8vyTkn*bm0gI$X@`zGd2zI%DX(4tD9l1eZ|_uNvPfS<0Lm`2RWP1cDt z=LBrChkyLbzeZ!eo)jd<0SU(DSIz-Un7DHc$8H-#>qzmWl6xZ07~0ptj-Q#r(AloV zpT2(>$8H}*XTpslEIez2h>;(0mVfr9fZf%hmu-*$9=Y$na51IJ1^5grdw!A65jYez zamg-2p_sQgbPb48=1I^xRscaWN8duEjloIeGE<}#HPj&psx^}74@n45aM{V6kV66( zzhn{8a)*9gajlMghH7CU+%NyQ5!nu5;Yz`)h@^cig<`oGg5i>-}P?40* zv=oaPDCp1M{@?uK7xC<)Po)UI4S=!r+C21-H4btgV081qSsgqu$%2-g;X9N@K&1MvrdXA16oXf8ncNe77?kws5yYbpw zCJm_%I1svnxhDq!Nx1k*4ZKQsbI0xy-txygaM?9wWl)VotGVF11O{R9t_^4(uOU}) z2a4zwC)2sDhJfAEQQ6dmR+4znJN_F=o`cUErIG@AMV+MVeH9>-S`r!R+lZ+!X-sg|FaF|fM_eeei6b7d?%RXKTrUyvBu*T(i&Ph)6L z15QuJ%_t-ko7u%&&!B%srW09fgN=8rV;`mPP@jWinV5O7jH7pqyB2+4E3-2eu}@Wz&Sc`IXS1vL976pcbYae*QUp{Cyut_4}D6N*gSU zp1t5tF*uDJ_M9s)G}1$-RflbwpUAle55rA14fd7-qKV0mW9P5(T0Yui_otNx*xo;)IZ=x9ZxlbOsuMYyy z-2Q5sgxSbt@+0##H;-J}gpFHHj;;F~xqD2cbvtftE;} zQkp0p>JuL9c#2(s(CxJG;rG7ZE!K%5MmUZGz3gDamGiFOf7i%~3x19bmVkk--QAfU9Mx(HVqSpB|iDVcGNPPJrs&%w2l-pa-NC&kOQlsEgPbh zwubzmOX@!P$ivvYbz87F?uZNa3SJ48-vP^0lrqvM1CS}4i~lfM%%}$b9xpQ|Dw+gz z`VfFxKmrch7YlXtGk_Ock7k3w(g?mLUYJ;3Luah~%h$r({qfBwcd2SaI)3XvZvY7q zd;vhSIS=VLnAq=zlZN(YM*+w8kGLtzXSYzVH}So1-yB)l7w`e z+)K$8RN;RZ<|UZ6jrYFm-Iz{k&f+*WK)~1~4G=Mo+`8d}2D6aP7`d>C?LRe*!LwRm zhj9GvF&w^S98N>W`Il(;mH$w{Ykt0fEju&_0aU7b3RrbXkFU9(H9Q)A^m{yD;g+{^sx9s4UVz8^(Fy~T-Zcqa~DFFuEjqvjNY6MO#?2z zLc=vT=8!K?gs268!I4}vT35ca%BBw5 z(-kZ}RbCaU9J{oM?XQ`}!1gxSAxz#khQr?-hq<8R(yKMR;lC7d05lD_ z;PPZ?xM_9)1{_O6b!#V8FQ)MT(iRvxy8-D)G#U#bI|>F#7XgGVzPt&?OiFjANXOM+ zZkb510gPzHz&cg{LLKnnCjj}q`#mIJn>JqRJi4m$FHAO;eUDjReu;#xgP@_e=tc~L zIJpQw)7|rJ+fl-Wu}#P9q5uHk-gZgN~vE{q3)c5HzwV$DQ1!Y$@J(6rEjQ?_pBG^=kQN|{eMzPKPe?j8%&JstHUt_ z<{nyErDU--h_TBW*zwvaRJXPvEyC3OV>oilIE-l>S6r*%_x?)}ulngc$`x7`m0f;K zQu)}XTYB6&;&M&7+VXAy+XR*(cy3QT{IEZNJ+OEVMa!-O-``8_@tcT)|=DOo`r zN?ySFMgT#1DX021f`A2U29li>pSs&LV0Nuk;tfP7jhos1B(eaqVRy7dT>oS%f~&8u zCC=aVV$g@aYr*O1*m%_fvM$NOQx#a<97gsnf+cY4cfT8(${TGhO={w3>>IU}UD!M* z#!GY3NAYZAbX@!j4Zr_?7jfOI^Qcs_r^XG9Btyh*GMPko+D!r}Z_TER8wXt;AV2Kjp4)$@ zlvucNe08v?5|Z&ktx@?96mNUpPZJYXqCwYQ0mM>6g+fC4DbaK0i>o@dZQ4u5_XoDR zINt6of7_zqP8Kqoxv;|O6dl`k6>;vxDbTZLfP`n!^AdymjLhd;e15=FCHrmCywvx^C?)bx zK&1Tg^eKQW_BMC9X82}a9Wz@l}0RiA4bmX~DF&+l#pVZCMbl;%o*pyy7V z24Dt$?pH<=JVUqZrZq1-Rfb~-4DN1ZMgi@^dDxvC26ncfmmPfSqaTZA^{|o;z#K6i ztTg!`_4TOgj{Z;4?IZv^c;}sX;D`65l70-v*kw)RYbKgUs_0JURGT`zVfF$HQn z+;m{T<YdIvzrCm(A*5dHBgnm z@bAYHD8MugIJSlMp**a19?y)c9o_j726r~06(#=lGoMTDcBqXcfhaQ&u32K@ z{Sr%9UtGld|M<`Pl76|WgX*pqAT5E}hXz(u)mPctLuo@7-T4ycAFE6%Xu>_HylXS{SGeqkgD@u?yx=-ELs<>1_G& z^G{T<<@zp0FKXeb1JB_8`|ib+S6!_r!_eT6_f2GE7ZHjK7+#t%c`a`H?YFsZ7aw`w z`%{1CI1WUPvE}+%kN}R~Gq$3>{CdT~*hOw}*31JnMV5@@yiYQYFkzNsMh2 z%RYx(p3pNmp}>0cI_$0nk;|rp?dDbhb>s#m?!N6Vyzw0ta{dLU_VV}rem^bVy?6l* z$D{>NOdUPuDFa@a&$IRlKuP(Hn-$YEQOxC`rb@dgAygOyfgJ;vA>L?G5JOZC0QA+Q z!U^y@!^$}NTQ54nBJ&z9&(HkQ2%dkcgZhG01jmAHTWB3DpgdZ}(4Homhe~ja#Jr#f-!mTIHXDV-M1A{DrevDL|9h%0U%!xs19l{drpjG z?m;WL6M>6^J+NH9rJN(DUDn?L28Rcc%jXmqEM)xy2G--k1e75u9G(6ny^yZ(6ow4Q zLB>kk%AB?+Ks=390x0J5;TU8FOirQ&Nm2jF-;I(9vr|+3KUOeENEnM55C8+UT`qCM z6469o(y!;dZ9LwsX`Q3yI5)9kO26{A2 zcS#%v*tm6V_2j+_%hi07ukKz89LfuVhE zR5o|fnkd6=3S4xhhD)!`ow^4=!0c2qqf~h2Udu_a%%*(uH7i)eVzH=zD+xZ*(c=gEnQzR*wP zLT#MM1*rA{Q>W+Fc#Q<%`d1GnLQOrR0}!MByo&-hUR}?8&iTg*UuYZw|OT>qNGHcVKt*Od-bnfa^vWGdi~K-WB!rgQ1R* z)=l1*|30sKmT&nL$R#OWd_}90$2B|D+b*AOaI!t38qfW8LIRT{}j9s(c|=ruDA9T8!|)%b=D0kjwKo`2Eyz=~@Yw$P6> zT_q0d2qKDrPp<-4t`m@|vHW@fjiR#w%$TbnNG*(r%@g2oarzGeS)H$F)^&L82-lt} zA>i7Z1{0rc7;e3K^Th(d!1$&0jFXKBQxCag%?J0iAz9)d|L*U+;-A=b870poXcgvW z428V|J*D!2zj+^?dE(hr#vcI2FRvp%U}660!If3`k*7EWoBq67S4wR$`W`zL_oNDt5cHyr>UIM^ylp=$qlZMmpOn-;R!U4*F-j!x*aHvY!2Sct z=j3}4`qe!Y6p9b~cs=^wwmj(p9+!qYW49f50a(y{YwZB5qQwmH4EBm=psgUnpJ z-+#f|&SM+Ky!Pnc7toL8!OZEF#mIAyc3ZP#SP-lK7^5JR++0=5K zc%NgUh$fW`7@ehsz|md;gEB$TT+MOo02Xu5G@R7-(kl@;>~WF{0MLG^00v=b zZ!>eBgT`}3fPvw2ny?)kANy+|dH`%8! zY@@cbiC(>k<3Ai)(LIk|)I(*HOZwGcDC7LgG+c4*8WJ(wN0caRUFCGMn+3Ds78sRF z<-k`LL8f2S=!ih;#speb7Jkiu+R2q;t@e}Xg-$C1FbOco{lDH^fI&cq!qId}fw={gDpfty}eO}yS|H^2Ykd5KL|&w*`$>HBIcf>7lxCaT*O&}$Si`(Ot^_yiog|1ePh z!DT{8o;4+@dE^*Q>+#APhhcQ17j9WS*tUhvL=G$oBj+|VkH+d8&B2%}V0d2>HhTEp zH@^wnvLGZNB_(|}UyTZa+3VrMfAwB;+ud}(pMj09Tmb13QxA;7F|%(mEiW;4kz2w% zeV_(C2fY6G3Yl85pK1ay*q>f6fGm6l2?A*X&7@XH2w6d{wUtrH)Q;yEtykl zTp~!AR!jf_Ynlm2$sPa%)Br$;2nm`eHwnmXqAs8b&HF1?3G@szh^g9^1xGq~YWD8b zNuZW^c-PkkZKa!0AG;kCawfIGh1idZS5+lH7Q10e9beCvN)r*Wvt& zFAi908DyBK*;U z@Jqk#)$*_LaqO_&e-Gy*2#n70{IWwxT|V4_ZMbi&RI6TvUzph^y-Zh$uohcJ=KjU@ ztKTtOiPX4RfU#MO>rVlsM+DS+iG0r@ zQBWUW9i-C|1&AM4UOR+m9yc&GVJl>n3EQ@S#T?iXc+ZPp$I~}&f^E2r@E6~53C`JC zi;#Q-V6kn%k&IqpH;f?*)<6!6H-8Adp*KSms*sf$py?2$YUDvZ_Q3u4%t!wvv5bB% z|LRTyl`S1~rps7-sMFkd<;93X>U0{Y)kbmT z)^TkAscD>leFMjTI1(Vk=wJ^w*jFq2k39$E0BrH13wM4Zxqi7as5%0zwh7Jsx8sdB zZ9&g+aD35(<1i-XdpJ7ZMLTa|=z@9l+BzogszK9{Y_Qqq7~I!Ib!!KmnG%{W7O?#+ zfvc{|t$GN{2?ABL8vR-RTqzHroz0~w%822~6-r**K3V}QVnsoc8N$!`_d|S<@Sr+c zPfaCW*Dio}>5cA75qk+F*@3h~HbYVf`GRdbx4BuZUM~O{d$#_d9RDIBm9osS zad`^<_ff?P5bh~c084fP3J5$GwhW};gV=0Tg$qdXm3~xY&NvJrpg!B`s{llvL7IfL zMWziPbrVv$c>v>^1lG$TCF2)=a|ECGz)Zxlwp(@721hadz!0|o)HFuUZ{VF9uK=Gy zDT=lZbbl&~Jj!KYxLinGS13^fW?;JBLpR?+6C2Q)%%OROg-w?-hDpG&ZP>yA6T=|~ zNGT5|GzaS8XHi zJ&45*tt<&>Z4m&6M3TRIRiV$)Za(ScQnsuot1_wsBjUp=O%$8Bv&;}Kpb#>i|8G`^e3>M%9a{=u3z5pOL z+JT8->X!SJx4;D0x(!>nt;HM)m4zgE!m2_=Sn&-kbP1U;vLSLVRJYp#XYV^FW}-PH zTvZtFr5dPAgY+^1BWdt{Z$LE^ww^cuH3?|F1_e%U*`n(N`d7?iFp$6(MH4r`>PkS#}DMC@_>8NQL1+ zAASHv&Q*>^zUNvuFwC3@hoVYCRTkTJmauJS9>)%ws`~|_+d`>40Ary9jN-@kDB3P_ zTS5uwrP*?K?PqGUSS&6iI3QkH8)d$Z!ce#`M#shwHum&u{WtTO#Sj-;85YX>IJ2Qc7X)z%JODzdxl3j-@_*z~bP?otG5}jxu!W6Yu7@}LdI@*l zyog4ti+aa`lt9Cbr#}l+yR4)Qr9KJspGu)j}W+a|NJ=2bCfr;s1WU zDgfb)JRT5)re9_ye09d*|G|`c_g~xUli%({Nt(ru1#JnRY-C^4?e1eQf2~^4eY(AR z4ml007GNSeA>m)ip?RB2Q{js3tShU#9uHoDk|eLA6p(GO3~2&F=rFxb#D!uBD$VV3 z0cr@31Ha!F51$|uUSAC1j|(He5C}nN5$kz4s8m{=8ubN492(_+f3P6|nCl&fTx^~Y zx(o!+gGZUhPEqIrPb0$8#WkYCQ9c9AJf{uaz>SK~FarCheU zc3)u?ng*c@x4oCMvKsEZMys9*T*zxUbG-bHv?QQ#kGoM9X=SMd^qPTqhg-iwv4%I% zpZ$a$wNHjxJt)9#!Vt%i9^r-mZ{1uQ>1U)V!mc^%{t}7OlYoSm3sD%dvjaY5+`7<2 zI1GfNE$S-V4^4W-K1!Q#>2+uk6s7@#2%{%JHJy@O8c70rYY*i0oRf|NK>|`r+&le^ zUDC;Rx}Y9WxcGNx}1n2H~-{Efaci+;k6!H*gAJ}v8# z;ybI=mT^~773yX8k>3s+?DneEC=#_ptm|^1fjHXWQ%2h1`OyFhQ;3&UYD+WGr`$}{ z7+$>Jn>a&+qwVJd;Rk>Pb0VRN2?XvMnFy}wrrCeLl%zKgK+7bxg+UY25daga#nr?3 zLjD9>SP`8O_I}vonTo;Gu4A>6ic*8+iXGn6; zYiP(!x-%e6!u7AdAz>6q=>u8;yY+=pAgr|e4mC!knve;@C%7D^9;XWOV*CttB$!Q1 zw4Ysm@Way6jeDijw ztS{X?fXjA!?l}>lyBQVpEfadtLDMlXUjiIQVzFhS-m!6XzK3HAJ=hLorfESJKy|=` z1cM!N^Fa^_ydQuhj;FqbqrZGUKphV1e;@oze8M|zEjp|RAVx3bVL3fGY%Oc`*tRp> z908baT1%5L0G!_P)|}a$+ePq^zxNpSqNWAKRoPcfd%YPzd-hVpfyj6)~p(1^9IUN&6ng|A&c` zlpXU6~I}11cGnp=qzJ%duK*zmAWd%@`aWa?OH2Ya!_7<9D|5m4b@`WJ-h}o*YDh zGjU?aNl^exB>_D;f2)Tkb)2tVjoRqOV6uwp4?Q|}JA^lO3Jmmwjcx{OGS{@QRNMaA z4oksm%g9FA^}@`>l);a*vN`lCb^(NV*=_D0{o}+Q$l;j|aycD^ps%?b4)@8wa0F&p z=U*j8i~G3%?lD5q{#nnjG6`tSTmS$VEo=iU_nt^-3h;5=gG~+2% zN?Bs}wJI2`&^$(-#fX413}op77s_CX)+F6*D8Jbqs}>Oq2C0D%0kA@Xvdk9CZg#9x z9Vq-lpqjO^izUEp>L(Nd%jbSX6o7RmpWsA};|m6Ix(2 zw)$w{B>0SLq5$^RE=Qv0uh;iD31|o;f%g3IOy`z;;vnik5N68U572EEM=0k`pc~K` z7hp-Z?Z@Y~y+R)04w?zf9&?l@Qu}&xSSje|m{kgGzG^OJPs^3In*}&fTK&?TDFpfv@g&rYN=>X- zu`jlI5JDiQ>Cq-Xh{1pI+yX{`ii1kQpdye`*Y!l>0H+iITrzSKbjpF?4zuKV@q>s^ zB$2CWcc-%nY=%Ohtedo0Gr^AVo;R(U49cyB0~jcuQ54IXt2K75n8PpIaYLfxthYTNARUxu}ky?Qob&X=n&yKOK7wNeIa(`O#Q z8S#G^LHkpv08CqAK0Dr_A?` zg@UmH__nojUgq~MbnH|i1OTnzWnN`znalu-1+es*Kj^Ek1Nf0Rde#|5aRLvUnb9#N zw(Zyv)d~or|DoY0U*^Ntdn_ZTC%ECkP-xvoA@d(veG*ASvHRaon402dY=o>HgDE>(7 z%;y386q=K83nx_ps7XMD-??*H!Av_gR`-Bc0MSfa_7y`8xsvSXThyV86WJ4VCKFIS z?Lp{`-*DTmh)ZV((~lJu+1H zRdS;M2)5bHY;C)i?CSy)%7b1G!1CwPiVSHH98*A#7Zk{iSkt{~!N55++1guV(0yul< zN~jf03-TolZQ22r1cxmgT)aP0-XOskD2xLVkWMy1vK`r{7l8Y!Ub5W`zzkV{-Q#(* zC(Ed8>|o?47C>^-vVSvFE1_D*pApWNAv{0ThiOX)A^J1{MQlcZM^t+~!Z@Ch;q zJ%vDCCZXRtY~3n=plgYz=>|9Na_gQ2pm7d+N3Mn616{_P5~H=4=`-pbI~8&V13?Du z?45uJn7O}(#z-0GUE?5gJED_uI1*?ZKq;So&NF!h>lBsr|J9M%4)XaNa=Cl}*VSZK zsh+^I@S*ijKfT&jSZyJ;E)@VG^UFCh#YDs~kvbt&f-@Ha)!XLs$S@-Z;2*tt9ma!Y z(4`r8gOlC5yK82DuO`wv0i7(Ue5SGJ^2ZX{rc;YOXu1a78xbcJJuV{(B$^)(ko?hc znJywAHI8C;bZyaXtR7%1b|fMp8{!xJDD zp(nlf^rW}VKE2=VocwY3?%T`lzTJIi=6+Qpy_xB`>-m1?_w8OjT4)9ig*PZ5?D_Xu zf$-Wy3bf4?5QH-EK!)HH0H9YAP^eL2aIA4~_ZPzHe@5OwLd3hj5P@`q`ECnV2 z`fmJNlvtottJf}{lmaCg1rQN7ZcDen1~n~aOWE!|qHOH6pcLjINpjG-?QG>uZFFCR z88newBxL6SP@p9E(ntOJkzta6#%u!Eo=i>zOKU<_bGBlV%Lx1_sD2A%`}^9)h3Mmz z!v!-Hv%C30vRx*TU(!%m(a~Iw;jB|6|6H2h)oCQ}_31rbyhyykk-9tEL!nZO3$zT5 z7vF!EJq|NS{oS$N-s2b0LOsI+y)4Pz^}Qk2@WCLd63fKib1(_$dGFLcV@3!8%Q6BE z4{}TaXXpV5XZD#h_Q;)iHV^|L5V43adl2aQV+$Zz;LuC9uzXi#;Cm?z&<$8-EX(@a zi(*Zt4uA{T-GC|V{0mx{EWG!3FiP@?vd8SGojOGBy@ONJF#)}Op_XMq*LBGGqEjI! zu(`Q`wQFlI48yGk21vO5L0~j$1E1w}_nyG*$8)IHDrnUGuifo+7>0(%RTY>1>Jao@ z1?8g+9DDgDq#W=2@>Un}0}vcaU75Qe8CZH@rsVxhq_Hyqj+Vi3(=E5O(f@$e{>Qhp?({rYL#siOS8!3i@5s8GG=bjuz1@Rj=g*x>t`2wngoLo5J{pGu5AM4=YX5v z(D^><8=Z^H)PS|Kov%-12~7hyih4Kz0nHLvTweBede;Hi;gcq>Er$QQV09n@UBd#u zr!*%5xzm7yeau`(U$Bo6bL^g+lP$#wsIG6v=3ACv$mfgD^cF;*QD>uGfv&YMGq;G! z(<+SG5?1fp!l9RLq4rz}>t|;=A}L$|XHL%acN6TTZB76vE=7NI?v3G(R;~bB-%XAS zA7IJnbDj@?wQcg8?A@OQ*gyxn4;2Fmzxz*ud(T)*0M}bdBmzh!yf~)M5`uS3U;@yp zyD`xQ*sSUxW`jV`>k0s-soN%juAzBd!No5eg0`cge7ugM4{kv&S{-yNoUs+Xh#5=h z(M>zWHQ4n=2%x!{+zLCO03d{bX$c%Yax~-vX#am`=kM0&*U1%dP0pmB=$L!}6lh>7 zP~X{ff&vt5g9Zevq{z-2pzfTz>)9Hbuf%FD4^_>#Q8Ej)>NZ-<8i)Z`A6~@vlXJ+= zX*l}82FjlI4W|Ljn?M z1Uh~b0G`Qj@9fMET#(xUF^G0fXpljmS?!YA&?5|_wN(U4vWy%ng12Q9nx+A*)j%#^ z#O{*?=({pjUbv0r=Wio7SHi|)GgzJeeb+E^vW~)vhWt}U2HJ2WNlKscGX;?I znT}6a|D85|_K7Nwf3CNm;HC#LbLVT|j{oAJnPGuN>ui*6BG9D~I{}T|1PCw}%&r^? z)CC~W1y%UGhTKZ%c$c)X(?Xo?T|{BU<(7^sUtPrR(=(6@CKg^$8Sps!m~ki4YbG;G z1`(+^->H;>Lh~+s2V(MzE)f6-B?0|=-FZHNqy-V2vnOB$wtW)h`vV}*+*yltZj0YT`PiSD*T2^0*12xx3wj&;7>sun#Pa0t=1WEf8_gt=Td_nMjpW}|tX zP@K;-H!sDaTOz?&vk<_crT!Co1ngRXOfnhWl3-pa(5=l1PS5kkgQ2~6F0}wap3P4n zn7S62gkon1x_Ql9gvTXm&06fUwKOA^Io9j5TmVb6{i_BQNlKl0%So}L0GV``6gD|g zO0#~Sf7j_3p#H%OLhkHREI|+S7<^fQbYB9BGxLsb0A4#}x2zE)oStWn3BYY;@c$mW zhV|`Mm5b)T!UEFlEh#QZTx)xk0NdiDI-<^(h>|o}2cd-MWyFaibm;=Hi)Q7eG zJ_rs;=by>Lt&{F6g&`WD+>FN{<@d%RJN|)IWjC=KtJND2BA$gq1U!DBitn7SqM#7o z{@SCFDZdkG1QPY8RmJ}5SVbJr6IhJbzwH#9Bme|i1YiILuoS86L8WIw#dns(rH>|) z1T-ceK%kQ$1oTD~!5K(i!(*r2ksarB(j1)_^!44*SF@%WLpunGfWxzL*L;7LwpL&X z7AB?6y4lAWSFA7>xzn?V-II?;Sw}Ykf=NJk{hA&?7P}FsX_`=}vjYLMAdPT$y`V#p6SACASWm!74n2jAwkJY>kaY}BYO}NgkZVP-0mJnP2*9F# zSQ#HJll1|R-}BrhCVI1m;@o`5Kj2O{aYz9Sr`p*vS};tW2N(3}3+o(1TNJ${T7^!0_S*erc%OxtAL3>KCOL09?44)91_GW9rgAO#-6QYV^hk50)aYlX0zccTQ>Z7OA}0vGubaPJKQIuuc^K+?r;`7hqZ@WJ!iQ!qYE! z2+ln6|83N_p&O<~UiE^-@%sRz{g&fSV>u*A1Yz}G5X3EeVp6+U zj@>p_Zrd?h(Jy~O(~P9jJVN#{@6HCif0IZv0Jye_ZU38^23C}v`*T=;6ZX@E=&-4{ zsX;eKzd<6x&Q5h?E3fNA3r>9&Kgr%oIoVL9I_HZ1|8OYD~sAvem23c23QVHo8r&f40-0OFmS4s*1=oe3oR{NkH~ zy<36#R8SySDkF%`%u)W9HyR9{^0#UgfPgh8x4(QUogQI1g@r&606Y9*WYU9d$?0q1 zA_6;nucTGRe8s=~QJ=Mpnguu%0Q9#3{p5c^aCUo_0fZ5Z`&~i3k>C~=Bb$@*h%Y-Q zch87RZDJZ_4M8U&dNLi8SaBt6-17*H3~c-33OtRZDZwnj7yX(Z?rk12;^37wwgd%y z0)AMqS+&DQQPq9I>V5Yl*=@mg&)GTB#bN=PK0G@1QY9r*w1X`P(LYvN1VA7ryxgg< z^4rldmnCrCd$*<`?Or+YheHUo`EC#W`3XX3`(3ND4S=v!H=(rM>9v1cfav0woxi<- z;z|>M0M`k`fJ(KFT&^(mZJby; z0J;4Y0WfyXA)8AOLyGet$0iQ6$hCE$-3(ykG1!wmqzLTlPR5cwr!PFw&>x8`0)7CX zzI6@TH3RK4H_evpQ>1~-VH)5w!yiF-H=?dDZ18ydx1t9OdMBz|kx4c3G9D~7VL3#l| z_`Uwzy8q^t??c~xuH&QC^IwZRglP#c3s5eYL+@_=UbZSz&t3sJb&pY5lCmhk#Hda( zS}2tlI(+8D$gX{WQzXy);>vN&YDo+L+`yTg-cNqRj~HUN_#SQ{>y@0R0~~~2`{7)% z_iov%<4^zPgQ61g(yT)c6yVAh8l6eWjsRXoH z06B^-LhW>1rT2h>O&I`sB>}mY?zZ|85YTp>jdd}m#beh2C;Sx@_`ybOVLyOv9uRHrj?yGfn26Of4EQ@{N&kgN>xw-f*i`&Bk}?ct_>|Ea%jLoM5c;F{r3G>(PSCm<;b z?s@b5IQ4@2Mxw=BTSFEGjIl;##fkgdrL*3X-YtMSD%T1!<+NQ^8 ziQLK2dw@Oggcxf1Fx=dD+u7%){kHi6nAa{Rv2%|F00{OJV80LuXlaeOYY3OOMsFa= z`%V7oV{8n+F)rKeGrazZgL~I~ViAfA(3t@ZM7pmIjy=NRAUkQ6=Q^j&oB? z+0kbtI66Jh<&&6j`eO>Hf!bfYMA$J8(pU`Cu3Gkx51ZJS^-6pO5OW%kRP^H{m2>%l z?0-cfs515N5A>jt`!v>m{I)ZbCcqs(dFs)#`0n5OrU*HXTuEV&^0K{QN(_sK4rBS` z3B2&7#{g~tyb2-)%`l+ka*!lv4;AShOv1`5&h9TjF70>g0$9NL=i~*r&caj!fPLAv z@@v9P1CA$KbrX4ca3xzfQ}=uYf)6&=Z*fNHN#)NR&UMeJNeTdzK$wiC&nnKmd@$D}m1Qx^yO1S_@fd>FH$4)|0RJ{C0Uj#C* zLkNMq)2on(Ajvidm!!!8JC&Dw7z||i5eHfj@Pd6zfEf9ifT;xlM+wO-{1F1p>Q*dU z+OR|-R$#w*0PcvTZ(MA|W&o;^RD9b%30IaK5IESwHpB=Sc7k&V4rn{IHcy%7k25fdHVY5`N_VGq~-xBY5t59YvL}Sk3`?)d&3~ zeVQbN4;I+<$?*#i59A1pG5vgC0O;8X$V*is7|stGyPJ_8wJZ*++spP6dF)deH8u7_ zr#?ICp*j1Q4TD2TL0ORsbPzd^OOk-!$8m zAQ=;&G>_o;Jg+H;!v=KNc>%$xpqD$@13BA=J^-f32fmCzZ~;}FT+1+4DBHF@kD#5bjcjnjI3pxO0YESb=#>m@CzK z&(9v2SNr%7XjtsnlOn0g)JtV8%REqwLvjj%7}~&>`+k7n6kRdK1eC;li>3(H?F(3l2JRKY)jEki{?#76X`(RVZF~Px$MY1vUj{)9Z%YO*icfAQZmu zp(xK@--)L2TIV8YtmW)n=!h@y_?(;(L1Kgp*P26(i%UxXT{DB2gg^cD|AI`WE4RMv zG$xtn&Fo|aZ}_^mu?Pxnk_{IK`1r1EWCq}7F_QxVrU07NT~zC>=ts(;TYR}c%CA`7 zH}f}FFn@DA2GG;?B0y0j+<2sbW{=Vvw`XJ^0O&mq%qaqN z*DC?sieEIb+Za9>#%#LP6TP8QVt^{MfhNs%JgEGDjxwU~963*NKEU)if5)Td9H-9Q zic@E9?fC4ge&(m~?*INFGy+8`r`9*11iruJj@z)jyo|G-_#~)p7^zgqL(S!;t5`zd z$~V4!U;u!Wg0K7`#xI=sKcPkT`4|H@11^1JJV`(anE-)*I6$D)<0HC0Y#5M$#uWv` z`rGKLJp5GOd_t3aVfC~y_0gjgg#I`O%oq*o0`wT|-lL4E%Td|d5ZFlri z%bne7PY{?Z$^Ccl_`ixJ-}>g$ke%xgd=iFd_jA1bO+Sv>*49)NLIBV!wF3hHtT+$9 zgJv)sY=74vIH5p0DTwt*1fm4OQX??{m-KFgJw~ckN=@!SC8*b=r7AXo2vIrrN&rj|d*k#TXTCR2(eMFuK8(TNYBI1T8-g$MUxA>=%yL`<5S&h0S?Wn!>-XZ^zDdXPJHjTDO94P5KNMglO!nl9CT;S zfG$b+?rq^{h-O*%*gJm(dRwPyBH+(I@Vnp<0NGmK9Abed`=qJu-_5|lTps#F$^jr4 z(s0dy#`bd)Uq=!Vp1jt(r{M6NUuXh!J>uC)QV2|0!q;GE8YHs7q-o9-9F1A!Wf`if zLXPld{OoW4R`iCmv*VZA5W{Ex;C*=0Pe0IM2Dk-giLTQ^+4uW9{|Pw*gM9+_f(bwr z@&rI@#`oyjBf&<$j%u@eIEm2!_55RQ4Mjxw-lINSodg4%EV%QyG*aYV`N{Cvm{^W4{;#YevXxd?k*#_1OvfhTRHYX0bajL z9JN%|JwA)*MQLdkp8lujke^k7gaE(`m9od&J?VP?50Ez4(oS{O1$x~!un3!FdADj2t&@CKVTjGT@`@z0gkR$%q*=7=bieix!DNwFz@taUR$XxK7&^yVc= z0F=&6F$xq+6H;!$8J*>3%LJ615SXwNJv*Uoz0<@2pp$&rJE{ou0yJB#*hjkSmO0#T zB#$c_EnK+P!qr_3%o#D3S7pr3l)6(vO9!|K&E(LuCK!{zm;@q#G0A%;j2v@w2o@zt z=^O~s*lmq?gy{nSlVpJG6j+f`Kzi%DUK`J*h+>Sg1UBn1GDl%r5dMxY9Ht@K!+yx2d7p(4j?58@2?1QuIr3Xrn!Pib0ko zXD5%p$Z}KYS0{wPMs2)Rax`TK;GE;9{?qSZr={UtZ+s<=A3oH<>Vy!{7fF*NF-ZZF zI&&oA9>U7cL5@FQGH*s6dGSyf5PA&-?MFr3G1UTqEHTIuuv#c#b+Huvcijqzh~j(n zdr(0sp)lFzW(7=U124L#cD5or7bPW6pM4BB-ue8g?yh;pu$)uz$AA5B_UO5V zT2+I9z)dGlfb;ZD0Sft&W|qA%dQH*hLlZvrcR_$nz)L$k0}$}4mp}v(b~R9=65j`a zl)t}xLM@}uJ#iV#={kJqftNr~AR{c{txNzY6^lJTGqX59)#qw*pkWwLyEyrJJ(1i@ z&W@IgQKJBp^X~`*W@rW-XYJoRpW#BJ7XSqL%?sR)z(Vxs1&|g$niyu0BriALeK$Dk zPWHIqD96xU3`^E46z5dQFD8@ve6>)X*9L)5*ZhI+-SDZXa*qS=I) z=OX-NeGzY*tw5s5TFm8HxoZT1bAjfXuOPLm5mI*Hc0f(Br~jZeBV)uMNPr30HUEAL zt?g-uDEoTy0MIK5h+N7-0doKXt;TkA$b<-xx}DDIKFzh;-&khXyn^oM=|Qy_16bJB zZ$ZXqq?_>F<_x~vn#b?0UK$z%8eC5Fb?S{U(<;v>9Snd=5=0ce76L2!`1i-^ z<46RA50y|XCc{KX$)V}>{P(7Rsps0;xRe1CLzsUn9D%g@Jm z$)<}eGzw=jlg0D*zV-t{)C)nQjc3Jf$`*>@?A4@=KOrA_(4 zIhyA$;2mGz!NqM~akv03ZgYI`TxUMMW)a@8b{vfWpgsQj9|wp*lI5x1t|ZHt_EgZ_ z-CaB3i+a0=x=C)Ybu)6)fXS!-EC2{T7)*`=47Cc~X2o60 zx7Lls_lfVHJ&RARKbu;-xR_P|pkOz%fK#l#yV=w3oQRBYo*B^sk03?OXD)?U%Gs8{ z`@U{ZMgCSxKnAcxz&rjy!|&gp!=HT5z{l4)$^@XLf$KV$>X+#;H zhS_qt593Lv^NolgNq`UpCFgG%D@P(qo^vvIM3Po72j@KxJ{bA$gDRsr0o~C?j@~tg zCMWqS?m`$72!f)t3LjA;P>5kU#8__0f2z=yZ_qVxSX`7Y9bFo zktG-b^X6OZNc7#x3IHvh-)Ch7N<>}$>t;)M>n$fE(>=N1XqXj`LQn^o; zu)`;hPd9`n1e&@&bf}YoP{`%G-osv3{$SXBTuDHq`2gB2RsmS1o=Upe&u?II4uZf} zrCag&DCMtIpk2Kd`!@8o^^RD31HkK6#@yrrguGPh^C+epdNum2>0D`e_LuGa37Y^x zG`j0uI@}Ttw}GLn<63QN`uacQjv_#~Pg=w0`CJ$kg@AUgbI!pg2bKna&&HGIP`d4m z_k9t-o6pzqnPLk|h5XncpdgnPUw%fDK|GK4Lm5kUHjvSp(2&P5hOq7tm$5_h_=+fmKtNes!1m@gK6|%SnRt3*nm_3jS@5%b(fB=r) z9G%T~#xs}#ubmUFUbUSYj6|lr(*OX!tzNi{QGi1qstzFeoqQy05x|4SllX!BJX{Yn zd{kCf@#)(wEGd2z;KoIUPu{8ET8-nSC;V!^54=>x&p)E0kj+!n@`x-s5XU=Vv#c^DHoc1-j996=&8%q$Nty}cWdKgQA|4oJ1Yqig zC8MpZaOzJU27b|c67QGpfC)eX@ZsgFSdcqIfTtH2PA`PPs-O@)aeom%yMCg>{c(nI z{QTh}P6`vKR3iNr73&$CP;W-Vs=*SL_n9i+0zj~YF_L42QUCxIb7!Q#zkl^#rP{}_ zj~Rg9zuX;O$N^Us>=aI@omGPttgtTzg!AT;s98Ixn7f`!)`sY`E61pcT zNjXqDcZ+g+M{9ZjK(*2dyRrnK=Ju=!khBD8c~a)Uz5sw;NkGg|CJq7@4kHjib7#GW z?M5A&e&0CsFbtRVX$2N@-K&ZOmCQi0Q+#>b;x&lfW&G>8jlRPk2H*Y$xR$8rYnULz zv0TyAp#9zpR4~6RZ+nf+x7rLA_YaIoGq5g zn*f9s-@wz&F9QIct^@zL^%3ORGV&)Rn9D}?L`M~K6J%~g(rn0wA@Vm(?b3v0LU%)# z0LmlG6=>h>RZ^i+X9d&3+eOz#nQ#(D){_BJ4!> zOcJ5g(Lb{gl{hphk#aedk01Ayc6Jh3jGcx-fr@}J`ORh&+8_MeG$jSa0)U-s4eVTN zVC_N$E2m~KecuAng9+b;zCFYz~UaCe(pH%z4+&*wA#vh-G=vj$Yin~0U&kj zO=YPagOveDdSowm^~nI>KLS|+$j4>!}K(dV04sg>n4VGy_*L84i!7vP5zj6ij`Z~D9 z(QGzAL=XUSxg3ZH1xcV-C_+^WkYokTmI2e^xasHu6g7`hdA{SiMo9u1H|_6M7cj~( zX^i&QzV`uq|0`FaSU-$a#;b#CaxER`A@&UAG%CLO}61iLs zxm+%4n*$@lPyOn9QO+rtE9LRByYIlOU-5FZT1{xJmOZFd+n=3)f{Z%@fCDV8)mMjK zQ0odHIE1v%+bszJ5Fj&xA~7^tIvA6X&*zcPk2XblTHgM>5JAWQAe9Wj7prhIdnB3c zUjT@k+n;o#a@_Ilao0v@3O{Kqi?SV40W`aKCuNf8zbGj{Nzj-}Bdr z9G|y!yk(3X*oXmlG66H{zYhQ)lfmTQzU#L`-@pGie;G%Q93J|3nx;Y1COf#bTux?i z=jXrtb$t4Z4~Kqs>G4PuzbXgup{TQbv|ll5WKh0l=V1KrR!=fM9RP!xvhR zC)^R)tNDQZ7C+m=EFfy)@A0-Omkro}@mXcF7n( zCYfXmAd^heDRFn!emi$NV;I-x4=ezTyOU4Sev!R)y_sZ^F@Q`CtS_M74x5xsKW?Uy z8XrK`2`H0H(jmbd0GbeW%oso>2hs;HDQ1v*29PbWOfosRk^w*_nWT*VPf}zeqG9|1 z-E!8u<=l_kr0JJKzt^relY=WX!O&6005ZuW0lD~y7}{?zt=&HZfJ`z;8TF?LCyvNb z7nD^5X0n%e;wTw4PT#NQV3^}ibLS5+fOgbL!-Zv%$wAurr?LA-GJuQ;WReC+D*iw0 z=ezwriHyIrC_mtI1ac)R8jyiNCYkKNoj(!)G7!illgTOmw3R;+0J?!d1_+sCl8n-) zMftk|z#t%yNhX;LsdOo-5$}5;84zTW$^KLPfdL=`giJEoKMLP2{~vH27{p|>v+V!? N002ovPDHLkV1h!S^5*~m literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Midori/models/action_wheel_gui.bbmodel b/config/yosbr/config/figura/avatars/Midori/models/action_wheel_gui.bbmodel new file mode 100644 index 0000000..afeafbf --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/models/action_wheel_gui.bbmodel @@ -0,0 +1,1989 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "action_wheel_gui", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 16, + "height": 16 + }, + "elements": [ + { + "name": "GoodEmoji", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 36, + 0 + ], + "to": [ + -33.5, + 44, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -41.5, + 40, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "84d1083b-49bc-5614-912e-44f4b899ae46" + }, + { + "name": "HeartEmoji", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 27, + 0 + ], + "to": [ + -33.5, + 35, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -41.5, + 31, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "eaa43af0-2741-87e3-8702-e97d44042bf2" + }, + { + "name": "QuestionEmoji", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 9, + 0 + ], + "to": [ + -33.5, + 17, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -41.5, + 13, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 3 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8de404c9-1e78-68d3-b8a3-38bb7aa8dae2" + }, + { + "name": "BodyBottomRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + -3, + 0.2 + ], + "to": [ + -3.5, + 26, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 2, + 9, + 40, + 38 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "4507a880-9681-34cd-6c87-fac17f8fdd5c" + }, + { + "name": "BodyBottomCenter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.5, + -3, + 0.2 + ], + "to": [ + -2.5, + 26, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3.5, + 11.5, + 0.1 + ], + "faces": { + "north": { + "uv": [ + 1, + 9, + 2, + 38 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "917771d6-d756-41a7-3225-881cb2978484" + }, + { + "name": "BodyBottomLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.5, + -3, + 0.2 + ], + "to": [ + -1.5, + 26, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 9, + 1, + 38 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9964760c-f61e-5f67-f0d2-4d9bc6a2db29" + }, + { + "name": "TitleRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 46, + 0.2 + ], + "to": [ + -38.5, + 54, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 23, + 0, + 26, + 8 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "157d0a40-12c8-0e9f-ff97-0c0134ce6ea6" + }, + { + "name": "TitleLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -37.5, + 46, + 0.2 + ], + "to": [ + -15.5, + 54, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 22, + 8 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "4f6e736e-74db-0300-8874-3f596411c942" + }, + { + "name": "TitleCenter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -38.5, + 46, + 0.2 + ], + "to": [ + -37.5, + 54, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -38.5, + 50, + 0.1 + ], + "faces": { + "north": { + "uv": [ + 22, + 0, + 23, + 8 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6b0744f3-0e21-0fbf-2ae2-18ef858b84af" + }, + { + "name": "BodyTop", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 26, + 0.2 + ], + "to": [ + -40.5, + 46, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -41.5, + 36, + 0.1 + ], + "faces": { + "north": { + "uv": [ + 0, + 8, + 40, + 9 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "181d67e8-0460-aabd-55f6-36d76196c156" + }, + { + "name": "TitleLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -50.5, + 11, + 0.2 + ], + "to": [ + -28.5, + 19, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + -23, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 22, + 8 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "440c3854-1e60-9317-8555-bc5240f178d9" + }, + { + "name": "TitleCenter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -51.5, + 11, + 0.2 + ], + "to": [ + -50.5, + 19, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -51.5, + 15, + 0.1 + ], + "faces": { + "north": { + "uv": [ + 22, + 0, + 23, + 8 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "80c43537-fc6b-fc1b-47fd-bae521fa59df" + }, + { + "name": "TitleRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -54.5, + 11, + 0.2 + ], + "to": [ + -51.5, + 19, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + -23, + 0 + ], + "faces": { + "north": { + "uv": [ + 23, + 0, + 26, + 8 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "cbaf2279-0daf-c842-5ac0-02bb44d9b86d" + }, + { + "name": "BodyBottomCenter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16.5, + -3, + 0.2 + ], + "to": [ + -15.5, + 11, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -16.5, + 4, + 0.1 + ], + "faces": { + "north": { + "uv": [ + 1, + 24, + 2, + 38 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9184dfb8-0e76-f1f7-2994-a00c75ec64d3" + }, + { + "name": "BodyBottomRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -54.5, + -3, + 0.2 + ], + "to": [ + -16.5, + 11, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + -23, + 0 + ], + "faces": { + "north": { + "uv": [ + 2, + 24, + 40, + 38 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5aeb8b47-7cd2-1d4d-33e5-36fb8ea59b5e" + }, + { + "name": "BodyBottomLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -15.5, + -3, + 0.2 + ], + "to": [ + -14.5, + 11, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + -23, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 24, + 1, + 38 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5fdd8d83-a6a5-663e-7757-69fdbbfc0c58" + }, + { + "name": "NoteEmoji", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 18, + 0 + ], + "to": [ + -33.5, + 26, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -41.5, + 22, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6a232e90-acfd-b9ae-6dd2-4ccc394218be" + }, + { + "name": "SweatEmoji", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 0, + 0 + ], + "to": [ + -33.5, + 8, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -41.5, + 4, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9b7746b0-f54b-8a38-8939-67a56cad1e40" + }, + { + "name": "TitleBar", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -54.5, + 12, + 0.1 + ], + "to": [ + -53.5, + 13, + 0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + -54.5, + 12.5, + 0.1 + ], + "faces": { + "north": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ced92cb6-960b-a1ae-ff79-9f04a59bd189" + }, + { + "name": "TitleBar", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 47, + 0.1 + ], + "to": [ + -40.5, + 48, + 0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + -41.5, + 47.5, + 0.1 + ], + "faces": { + "north": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "cb43a040-331d-d647-2667-a5864e0ff99e" + } + ], + "outliner": [ + { + "name": "Gui", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "909f4f9e-cf00-99e1-7699-c2b0e9070eab", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "BubbleGuide", + "origin": [ + -41.5, + 52, + 0.2 + ], + "color": 0, + "uuid": "e29d3e86-e705-1a3c-cada-65a8edd299b0", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "BubbleGuideBackground", + "origin": [ + -2, + 0, + 0 + ], + "color": 0, + "uuid": "ac298288-5f5c-64f4-1b51-f939fb1d21f2", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4507a880-9681-34cd-6c87-fac17f8fdd5c", + "917771d6-d756-41a7-3225-881cb2978484", + "9964760c-f61e-5f67-f0d2-4d9bc6a2db29", + "181d67e8-0460-aabd-55f6-36d76196c156", + "157d0a40-12c8-0e9f-ff97-0c0134ce6ea6", + "6b0744f3-0e21-0fbf-2ae2-18ef858b84af", + "4f6e736e-74db-0300-8874-3f596411c942", + "cb43a040-331d-d647-2667-a5864e0ff99e" + ] + }, + { + "name": "Emojis", + "origin": [ + -14, + 52, + 0 + ], + "color": 0, + "uuid": "58d19f10-42f3-3092-820d-896ea7ee4733", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "84d1083b-49bc-5614-912e-44f4b899ae46", + "eaa43af0-2741-87e3-8702-e97d44042bf2", + "6a232e90-acfd-b9ae-6dd2-4ccc394218be", + "8de404c9-1e78-68d3-b8a3-38bb7aa8dae2", + "9b7746b0-f54b-8a38-8939-67a56cad1e40" + ] + } + ] + }, + { + "name": "ExSkillGuide", + "origin": [ + -54.5, + 17, + 0.2 + ], + "color": 0, + "uuid": "82f089b0-aef7-25b2-da8d-98daa0cb6bea", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "ExSkillGuideBackground", + "origin": [ + -13.75, + 17, + 0 + ], + "color": 0, + "uuid": "8070ebb5-b639-baf7-2735-8a329dc80acb", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "5fdd8d83-a6a5-663e-7757-69fdbbfc0c58", + "5aeb8b47-7cd2-1d4d-33e5-36fb8ea59b5e", + "9184dfb8-0e76-f1f7-2994-a00c75ec64d3", + "cbaf2279-0daf-c842-5ac0-02bb44d9b86d", + "80c43537-fc6b-fc1b-47fd-bae521fa59df", + "440c3854-1e60-9317-8555-bc5240f178d9", + "ced92cb6-960b-a1ae-ff79-9f04a59bd189" + ] + } + ] + }, + { + "name": "VersionDisplay", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "a4e9aabc-7f20-7bd2-cdc0-454075f31f35", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + } + ], + "textures": [ + { + "path": "", + "name": "good.png", + "folder": "", + "namespace": "", + "id": "1", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "eb85d156-8f1a-0715-eb0c-73c744d1192a", + "relative_path": "../../textures/emojis/good.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAJVJREFUOE9jZCASRNmx/gcpXXboNyOyFhQOLrNAmpf2KzJ8fyXIkNJ+DsWQQWgAzK/I3plTacTAKfaesBdgfsUVFnjDADmgzj58AjfDWF4GbDsIEDQA5lRkFxw5/ZUBnyHwWAC5IDNKDMP1yJqxuQLFAFBco4OR5gJ8sQALG7x5ARQTIEOQAUgDMiCYG9GTMroG9FgCAA1snRHHg/NsAAAAAElFTkSuQmCC" + }, + { + "path": "", + "name": "heart.png", + "folder": "", + "namespace": "", + "id": "2", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "0f751aec-a519-017f-2410-5ac9e0a601cb", + "relative_path": "../../textures/emojis/heart.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAKhJREFUOE9jZKAQMCLrXyTg8h/Gj/uwhyg5uCKQ5siWXLh5y2smM8AMwScHNgBZAYuyFMOfu8/ABoEMAQFkg2E2wCxgxKWZmKABGQI3ANlmYjTDXDgIDEAPRFKcD4oljFggZAAsrOCxANOAHtfYDELXDFKDkdqwxTlIITbNGAZgCw+QRhAAJS7k1AlzIYoLkL2DnAJhKRI9f2B1AbbMhU0jXhcQiglkeQDhnXzlvzdk1wAAAABJRU5ErkJggg==" + }, + { + "path": "", + "name": "note.png", + "folder": "", + "namespace": "", + "id": "7", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "8d3f27df-26ac-035a-5808-a8a5fb7df905", + "relative_path": "../../textures/emojis/note.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAALFJREFUOE9jZCAAPm5W+M/v+4ARlzKcEiANIM18xvkMn85OZMBlCFEG/GOwZPhyNgLsCJhBIMNBfKIMACkEGQICMINgLiPaAFgYIBsEcg1RBoDCAGQjDCCHCU4D0AMQ5mfkcMAbBsTEwCAzAN2PJHkBpJjD7D4D298J4ICGhTq+FAiLEUaYZpgAzBCYQfjyATgQYU79xVwAdwG2+MabmWCGICsixvko0YgciOiJBV+OBwCLvoaXPhsOpAAAAABJRU5ErkJggg==" + }, + { + "path": "", + "name": "question.png", + "folder": "", + "namespace": "", + "id": "3", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "0f142e45-9915-9908-6c14-6e682c9b40a8", + "relative_path": "../../textures/emojis/question.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAJNJREFUOE9jZMABNNa7/EeWuhG4hxGbUqyCIM3XA2Yw7PqXDteTv4mRAZshGAYgawZpAoGJfhDHYDMExQCQZmyKcYmDDMVqADabYIagy1HXAJCTQDahBxbRXsAWTfg0Y4QBugGENOM1gBjNRLkApAhXKiRoAK5kjiyONSnDFMDyA1kuQE/SJGUmWHrAlwdgrqTYCwB0pH8RBrtM7wAAAABJRU5ErkJggg==" + }, + { + "path": "", + "name": "sweat.png", + "folder": "", + "namespace": "", + "id": "8", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "4099d802-f6dd-e946-7e18-910d1056fd84", + "relative_path": "../../textures/emojis/sweat.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAJ9JREFUOE9jZCARmO5++/+0qzAjTBucQYw5IM3GypwMZ+9+Z4AZgmEAug3IBhM0AJsCmAEwOVGenwyvv7DDXYHiAooMwGUDyAXIcjAXwVwBdwFFBuCzARTaBF1AyABkb8C8AItKrKaj+xMW5yCLYHLwdIDNdlwGYEtsJLmAaAOcRAXAalfe/46SbGljALYQRg9pfBkNJSGhK0TOtrgMAQB1UsSltwwF2QAAAABJRU5ErkJggg==" + }, + { + "path": "", + "name": "bubble_emote_guide.png", + "folder": "", + "namespace": "", + "id": "6", + "width": 40, + "height": 38, + "uv_width": 40, + "uv_height": 38, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "5f08ee2d-3f25-8eb0-bc5a-be130fd9f46a", + "relative_path": "../../textures/bubble_emote_guide.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAmCAYAAAC29NkdAAAAAXNSR0IArs4c6QAAAixJREFUWEfN2F1OwkAQAOApVMAiAlEJMZHbeQ7xHN7GxBuY+OCLwURNjFET09ZCqRnIwLBMp0vB0nmh7f7k6/4XBwDg9v4pwV8Mr9unS2g23MU1Xpx7zso93dSri+JieqPmOvH3ZVJt38gViKXmDx2O40gTR2kmMgtH5RCpOFKTnLuH17XXb7S7kESBWKjXaS2ed+rT1Ipr1cpK2s6AiKPQkJvgsL6dADlOQx67E+iftMXWM1tuZ10s4SQk4ihMZBpu6xbUcBzJcSZSw20FHI2e9TUiz9QTygwGF/lmcRD4hQDzvqdTZuBkClBaIOJmO0kZW5BwpQRyXOmAEaxuj6UCSriXz6gcYzANV4oW1HB7B2bh9gqUcLTb4Nij2Ms6qOFMZOHAYFqBj7BqtTVPfoNiZzHiKGyQPS8uDshxNkjEFTZJJJyGJFwhQA0nITnu34E2OI40cbmAeNoI4+zT+9fYhU7d/rAexgCnteUHWa51kB+FNCTiKGyQiKPgSOwB63XQPKdhhRKS42yQHMeRNDysgBKOKuNICachJRzlb7rzM38mUMNxpIaTkBoO8/tRAmdeogNtcFjZW3hgtXVhJhyTNrjMSRJNQTiA2zmSyur/irzU43sAR01PrWjs/yzSxS5GHMX6V4KOzMJR6TQkxx23Dte7mOM2Rdri0pAmbm2SSDhb5KY4EynhZkAAGAaBf6XhspB5cVRv3VmOKexWikGncU171tBu+Beea/gHeJZZEDMlW2EAAAAASUVORK5CYII=" + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Midori/models/armor.bbmodel b/config/yosbr/config/figura/avatars/Midori/models/armor.bbmodel new file mode 100644 index 0000000..7a8becd --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/models/armor.bbmodel @@ -0,0 +1,3811 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "armor", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 19, + "height": 48 + }, + "elements": [ + { + "name": "RightChestplate", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 18, + -2 + ], + "to": [ + 8, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 13.0625, + 30, + 14.25, + 39 + ], + "texture": 0 + }, + "east": { + "uv": [ + 11.875, + 30, + 13.0625, + 39 + ], + "texture": 0 + }, + "south": { + "uv": [ + 15.4375, + 30, + 16.625, + 39 + ], + "texture": 0 + }, + "west": { + "uv": [ + 14.25, + 30, + 15.4375, + 39 + ], + "texture": 0 + }, + "up": { + "uv": [ + 13.0625, + 24, + 14.25, + 30 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "04c52e51-518e-9513-d607-bd72f9efa2c9" + }, + { + "name": "RightChestplateOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 18, + -2 + ], + "to": [ + 8, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.001, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 13.0625, + 30, + 14.25, + 39 + ], + "texture": 1 + }, + "east": { + "uv": [ + 11.875, + 30, + 13.0625, + 39 + ], + "texture": 1 + }, + "south": { + "uv": [ + 15.4375, + 30, + 16.625, + 39 + ], + "texture": 1 + }, + "west": { + "uv": [ + 14.25, + 30, + 15.4375, + 39 + ], + "texture": 1 + }, + "up": { + "uv": [ + 13.0625, + 24, + 14.25, + 30 + ], + "rotation": 180, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6be84467-6c7f-1451-5458-a406488d3d44" + }, + { + "name": "LeftChestplate", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 18, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 14.25, + 30, + 13.0625, + 39 + ], + "texture": 0 + }, + "east": { + "uv": [ + 15.4375, + 30, + 14.25, + 39 + ], + "texture": 0 + }, + "south": { + "uv": [ + 16.625, + 30, + 15.4375, + 39 + ], + "texture": 0 + }, + "west": { + "uv": [ + 13.0625, + 30, + 11.875, + 39 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14.25, + 24, + 13.0625, + 30 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "22408e50-1695-eb9c-6ad3-457297fef7dd" + }, + { + "name": "LeftChestplateOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 18, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.001, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 14.25, + 30, + 13.0625, + 39 + ], + "texture": 1 + }, + "east": { + "uv": [ + 15.4375, + 30, + 14.25, + 39 + ], + "texture": 1 + }, + "south": { + "uv": [ + 16.625, + 30, + 15.4375, + 39 + ], + "texture": 1 + }, + "west": { + "uv": [ + 13.0625, + 30, + 11.875, + 39 + ], + "texture": 1 + }, + "up": { + "uv": [ + 14.25, + 24, + 13.0625, + 30 + ], + "rotation": 180, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "77395185-0449-b7e0-c6cb-1acfdbb3f452" + }, + { + "name": "RightLeggings", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 6, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.5, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 30, + 2.375, + 39 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 30, + 1.1875, + 39 + ], + "texture": 2 + }, + "south": { + "uv": [ + 3.5625, + 30, + 4.75, + 39 + ], + "texture": 2 + }, + "west": { + "uv": [ + 2.375, + 30, + 3.5625, + 39 + ], + "texture": 2 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 2 + }, + "down": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "8715712c-138d-7bdc-882f-f4b2c6770544" + }, + { + "name": "RightLeggingsOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 6, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.501, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 30, + 2.375, + 39 + ], + "texture": 3 + }, + "east": { + "uv": [ + 0, + 30, + 1.1875, + 39 + ], + "texture": 3 + }, + "south": { + "uv": [ + 3.5625, + 30, + 4.75, + 39 + ], + "texture": 3 + }, + "west": { + "uv": [ + 2.375, + 30, + 3.5625, + 39 + ], + "texture": 3 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 3 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "db54d1e6-20a4-45af-6869-4a65f0ea1723" + }, + { + "name": "RightBoots", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 6, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 30, + 2.375, + 39 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 30, + 1.1875, + 39 + ], + "texture": 0 + }, + "south": { + "uv": [ + 3.5625, + 30, + 4.75, + 39 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2.375, + 30, + 3.5625, + 39 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "1cb0afb2-ba2b-92d1-1099-aefd7cc512b8" + }, + { + "name": "RightBootsOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 6, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.001, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 30, + 2.375, + 39 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 30, + 1.1875, + 39 + ], + "texture": 1 + }, + "south": { + "uv": [ + 3.5625, + 30, + 4.75, + 39 + ], + "texture": 1 + }, + "west": { + "uv": [ + 2.375, + 30, + 3.5625, + 39 + ], + "texture": 1 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "dad8c5c7-149c-7b1f-9bc2-c432c26bc70e" + }, + { + "name": "LeftLeggings", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 6, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 0.5, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 30, + 1.1875, + 39 + ], + "texture": 2 + }, + "east": { + "uv": [ + 3.5625, + 30, + 2.375, + 39 + ], + "texture": 2 + }, + "south": { + "uv": [ + 4.75, + 30, + 3.5625, + 39 + ], + "texture": 2 + }, + "west": { + "uv": [ + 1.1875, + 30, + 0, + 39 + ], + "texture": 2 + }, + "up": { + "uv": [ + 2.375, + 24, + 1.1875, + 30 + ], + "rotation": 180, + "texture": 2 + }, + "down": { + "uv": [ + 2.375, + 24, + 1.1875, + 30 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "208279dc-0d16-d5cc-3766-43129fd24c7b" + }, + { + "name": "LeftLeggingsOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 6, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 0.501, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 30, + 1.1875, + 39 + ], + "texture": 3 + }, + "east": { + "uv": [ + 3.5625, + 30, + 2.375, + 39 + ], + "texture": 3 + }, + "south": { + "uv": [ + 4.75, + 30, + 3.5625, + 39 + ], + "texture": 3 + }, + "west": { + "uv": [ + 1.1875, + 30, + 0, + 39 + ], + "texture": 3 + }, + "up": { + "uv": [ + 2.375, + 24, + 1.1875, + 30 + ], + "rotation": 180, + "texture": 3 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "a15d5564-7cd3-fc93-e984-76ed5bc8023b" + }, + { + "name": "LeftBoots", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 6, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 30, + 1.1875, + 39 + ], + "texture": 0 + }, + "east": { + "uv": [ + 3.5625, + 30, + 2.375, + 39 + ], + "texture": 0 + }, + "south": { + "uv": [ + 4.75, + 30, + 3.5625, + 39 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1.1875, + 30, + 0, + 39 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2.375, + 24, + 1.1875, + 30 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6646f669-d54c-168c-c291-d46c48bfda6b" + }, + { + "name": "LeftBootsOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 6, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.001, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 30, + 1.1875, + 39 + ], + "texture": 1 + }, + "east": { + "uv": [ + 3.5625, + 30, + 2.375, + 39 + ], + "texture": 1 + }, + "south": { + "uv": [ + 4.75, + 30, + 3.5625, + 39 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1.1875, + 30, + 0, + 39 + ], + "texture": 1 + }, + "up": { + "uv": [ + 2.375, + 24, + 1.1875, + 30 + ], + "rotation": 180, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "7a6660e4-1279-daf0-3b3d-293b6821dcbe" + }, + { + "name": "RightChestplateBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 8, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 22 + ], + "faces": { + "north": { + "uv": [ + 13.0625, + 39, + 14.25, + 48 + ], + "texture": 0 + }, + "east": { + "uv": [ + 11.875, + 39, + 13.0625, + 48 + ], + "texture": 0 + }, + "south": { + "uv": [ + 15.4375, + 39, + 16.625, + 48 + ], + "texture": 0 + }, + "west": { + "uv": [ + 14.25, + 39, + 15.4375, + 48 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 14.25, + 24, + 15.4375, + 30 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "4a3a4eb6-fd3e-7d2b-a211-76957d9120bd" + }, + { + "name": "RightChestplateBottomOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 8, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.001, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 22 + ], + "faces": { + "north": { + "uv": [ + 13.0625, + 39, + 14.25, + 48 + ], + "texture": 1 + }, + "east": { + "uv": [ + 11.875, + 39, + 13.0625, + 48 + ], + "texture": 1 + }, + "south": { + "uv": [ + 15.4375, + 39, + 16.625, + 48 + ], + "texture": 1 + }, + "west": { + "uv": [ + 14.25, + 39, + 15.4375, + 48 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 14.25, + 24, + 15.4375, + 30 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "325d12e9-803c-2ac9-5359-07d737487724" + }, + { + "name": "LeftChestplateBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 12, + -2 + ], + "to": [ + -4, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 22 + ], + "faces": { + "north": { + "uv": [ + 14.25, + 39, + 13.0625, + 48 + ], + "texture": 0 + }, + "east": { + "uv": [ + 15.4375, + 39, + 14.25, + 48 + ], + "texture": 0 + }, + "south": { + "uv": [ + 16.625, + 39, + 15.4375, + 48 + ], + "texture": 0 + }, + "west": { + "uv": [ + 13.0625, + 39, + 11.875, + 48 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 15.4375, + 24, + 14.25, + 30 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "26bc361a-dd53-ef35-4d8c-de683271f69d" + }, + { + "name": "LeftChestplateBottomOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 12, + -2 + ], + "to": [ + -4, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.001, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 22 + ], + "faces": { + "north": { + "uv": [ + 14.25, + 39, + 13.0625, + 48 + ], + "texture": 1 + }, + "east": { + "uv": [ + 15.4375, + 39, + 14.25, + 48 + ], + "texture": 1 + }, + "south": { + "uv": [ + 16.625, + 39, + 15.4375, + 48 + ], + "texture": 1 + }, + "west": { + "uv": [ + 13.0625, + 39, + 11.875, + 48 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 15.4375, + 24, + 14.25, + 30 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "2b05091b-8085-6724-3d43-d9171144768c" + }, + { + "name": "RightLeggingsBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.5, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 39, + 2.375, + 48 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 39, + 1.1875, + 48 + ], + "texture": 2 + }, + "south": { + "uv": [ + 3.5625, + 39, + 4.75, + 48 + ], + "texture": 2 + }, + "west": { + "uv": [ + 2.375, + 39, + 3.5625, + 48 + ], + "texture": 2 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 2 + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "de6d8972-c7d3-65ad-9984-a8cb0304f1a4" + }, + { + "name": "RightLeggingsBottomOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.501, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 39, + 2.375, + 48 + ], + "texture": 3 + }, + "east": { + "uv": [ + 0, + 39, + 1.1875, + 48 + ], + "texture": 3 + }, + "south": { + "uv": [ + 3.5625, + 39, + 4.75, + 48 + ], + "texture": 3 + }, + "west": { + "uv": [ + 2.375, + 39, + 3.5625, + 48 + ], + "texture": 3 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 3 + } + }, + "type": "cube", + "uuid": "0d1b2e25-e3cb-5fe8-2f68-f18aca44f0aa" + }, + { + "name": "RightBootsBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 39, + 2.375, + 48 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 39, + 1.1875, + 48 + ], + "texture": 0 + }, + "south": { + "uv": [ + 3.5625, + 39, + 4.75, + 48 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2.375, + 39, + 3.5625, + 48 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2b06f488-228c-8e2e-cf9f-a31f465b2b91" + }, + { + "name": "LeftLeggingsBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 0.5, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 39, + 1.1875, + 48 + ], + "texture": 2 + }, + "east": { + "uv": [ + 3.5625, + 39, + 2.375, + 48 + ], + "texture": 2 + }, + "south": { + "uv": [ + 4.75, + 39, + 3.5625, + 48 + ], + "texture": 2 + }, + "west": { + "uv": [ + 1.1875, + 39, + 0, + 48 + ], + "texture": 2 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 2 + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "94b2a0f5-fc51-dff6-741d-bb1ba99d2a91" + }, + { + "name": "LeftLeggingsBottomOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 0.501, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 39, + 1.1875, + 48 + ], + "texture": 3 + }, + "east": { + "uv": [ + 3.5625, + 39, + 2.375, + 48 + ], + "texture": 3 + }, + "south": { + "uv": [ + 4.75, + 39, + 3.5625, + 48 + ], + "texture": 3 + }, + "west": { + "uv": [ + 1.1875, + 39, + 0, + 48 + ], + "texture": 3 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "f89ca1fb-370e-a2b8-90bd-46b52f03d3c6" + }, + { + "name": "LeftBootsBottomOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.001, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 39, + 1.1875, + 48 + ], + "texture": 1 + }, + "east": { + "uv": [ + 3.5625, + 39, + 2.375, + 48 + ], + "texture": 1 + }, + "south": { + "uv": [ + 4.75, + 39, + 3.5625, + 48 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1.1875, + 39, + 0, + 48 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "65127873-1035-1a39-184f-f7910cbe00c7" + }, + { + "name": "LeftBootsBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 39, + 1.1875, + 48 + ], + "texture": 0 + }, + "east": { + "uv": [ + 3.5625, + 39, + 2.375, + 48 + ], + "texture": 0 + }, + "south": { + "uv": [ + 4.75, + 39, + 3.5625, + 48 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1.1875, + 39, + 0, + 48 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "aabdaefc-770f-a69a-35cc-bb6ac71bc9be" + }, + { + "name": "RightBootsBottomOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.001, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 39, + 2.375, + 48 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 39, + 1.1875, + 48 + ], + "texture": 1 + }, + "south": { + "uv": [ + 3.5625, + 39, + 4.75, + 48 + ], + "texture": 1 + }, + "west": { + "uv": [ + 2.375, + 39, + 3.5625, + 48 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": 1 + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "2f97fafc-dd7b-205e-8403-0de28ab11617" + }, + { + "name": "RightChestplateTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 18, + -2 + ], + "to": [ + 8, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.002, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 13.0625, + 30, + 14.25, + 39 + ], + "texture": 4 + }, + "east": { + "uv": [ + 11.875, + 30, + 13.0625, + 39 + ], + "texture": 4 + }, + "south": { + "uv": [ + 15.4375, + 30, + 16.625, + 39 + ], + "texture": 4 + }, + "west": { + "uv": [ + 14.25, + 30, + 15.4375, + 39 + ], + "texture": 4 + }, + "up": { + "uv": [ + 13.0625, + 24, + 14.25, + 30 + ], + "rotation": 180, + "texture": 4 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "1bc91350-32b8-1826-c5aa-42a13e529528" + }, + { + "name": "RightChestplateBottomTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 8, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.002, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 22 + ], + "faces": { + "north": { + "uv": [ + 13.0625, + 39, + 14.25, + 48 + ], + "texture": 4 + }, + "east": { + "uv": [ + 11.875, + 39, + 13.0625, + 48 + ], + "texture": 4 + }, + "south": { + "uv": [ + 15.4375, + 39, + 16.625, + 48 + ], + "texture": 4 + }, + "west": { + "uv": [ + 14.25, + 39, + 15.4375, + 48 + ], + "texture": 4 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 4 + }, + "down": { + "uv": [ + 14.25, + 24, + 15.4375, + 30 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "77d2d753-cc5c-9604-ed68-fefded8b74c0" + }, + { + "name": "LeftChestplateTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 18, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.002, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 14.25, + 30, + 13.0625, + 39 + ], + "texture": 4 + }, + "east": { + "uv": [ + 15.4375, + 30, + 14.25, + 39 + ], + "texture": 4 + }, + "south": { + "uv": [ + 16.625, + 30, + 15.4375, + 39 + ], + "texture": 4 + }, + "west": { + "uv": [ + 13.0625, + 30, + 11.875, + 39 + ], + "texture": 4 + }, + "up": { + "uv": [ + 14.25, + 24, + 13.0625, + 30 + ], + "rotation": 180, + "texture": 4 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "ed6a2771-b199-06d5-c826-d9ad2eeeb335" + }, + { + "name": "LeftChestplateBottomTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 12, + -2 + ], + "to": [ + -4, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.002, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 22 + ], + "faces": { + "north": { + "uv": [ + 14.25, + 39, + 13.0625, + 48 + ], + "texture": 4 + }, + "east": { + "uv": [ + 15.4375, + 39, + 14.25, + 48 + ], + "texture": 4 + }, + "south": { + "uv": [ + 16.625, + 39, + 15.4375, + 48 + ], + "texture": 4 + }, + "west": { + "uv": [ + 13.0625, + 39, + 11.875, + 48 + ], + "texture": 4 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 4 + }, + "down": { + "uv": [ + 15.4375, + 24, + 14.25, + 30 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "f3fe7c1b-6af1-72ab-3278-90a5307c6676" + }, + { + "name": "RightLeggingsTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 6, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.502, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 30, + 2.375, + 39 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 30, + 1.1875, + 39 + ], + "texture": 5 + }, + "south": { + "uv": [ + 3.5625, + 30, + 4.75, + 39 + ], + "texture": 5 + }, + "west": { + "uv": [ + 2.375, + 30, + 3.5625, + 39 + ], + "texture": 5 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 5 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 5 + } + }, + "type": "cube", + "uuid": "152a41e4-ba8e-97d6-b386-7f133012408b" + }, + { + "name": "RightBootsTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 6, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.002, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 30, + 2.375, + 39 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 30, + 1.1875, + 39 + ], + "texture": 4 + }, + "south": { + "uv": [ + 3.5625, + 30, + 4.75, + 39 + ], + "texture": 4 + }, + "west": { + "uv": [ + 2.375, + 30, + 3.5625, + 39 + ], + "texture": 4 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 4 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "306712a4-3272-0ec7-9bdf-cee19696ad51" + }, + { + "name": "RightLeggingsBottomTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.502, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 39, + 2.375, + 48 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 39, + 1.1875, + 48 + ], + "texture": 5 + }, + "south": { + "uv": [ + 3.5625, + 39, + 4.75, + 48 + ], + "texture": 5 + }, + "west": { + "uv": [ + 2.375, + 39, + 3.5625, + 48 + ], + "texture": 5 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": 5 + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 5 + } + }, + "type": "cube", + "uuid": "e3ce7714-e502-2ebc-1c85-10d2983ebb7c" + }, + { + "name": "RightBootsBottomTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.002, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 39, + 2.375, + 48 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 39, + 1.1875, + 48 + ], + "texture": 4 + }, + "south": { + "uv": [ + 3.5625, + 39, + 4.75, + 48 + ], + "texture": 4 + }, + "west": { + "uv": [ + 2.375, + 39, + 3.5625, + 48 + ], + "texture": 4 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": 4 + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "1e955fb1-f5ca-cae7-203e-ce7be18f442b" + }, + { + "name": "LeftLeggingsTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 6, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 0.502, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 30, + 1.1875, + 39 + ], + "texture": 5 + }, + "east": { + "uv": [ + 3.5625, + 30, + 2.375, + 39 + ], + "texture": 5 + }, + "south": { + "uv": [ + 4.75, + 30, + 3.5625, + 39 + ], + "texture": 5 + }, + "west": { + "uv": [ + 1.1875, + 30, + 0, + 39 + ], + "texture": 5 + }, + "up": { + "uv": [ + 2.375, + 24, + 1.1875, + 30 + ], + "rotation": 180, + "texture": 5 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 5 + } + }, + "type": "cube", + "uuid": "08aa3ef4-81da-97b6-1fb6-10050d4ab6f9" + }, + { + "name": "LeftBootsTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 6, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.002, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 30, + 1.1875, + 39 + ], + "texture": 4 + }, + "east": { + "uv": [ + 3.5625, + 30, + 2.375, + 39 + ], + "texture": 4 + }, + "south": { + "uv": [ + 4.75, + 30, + 3.5625, + 39 + ], + "texture": 4 + }, + "west": { + "uv": [ + 1.1875, + 30, + 0, + 39 + ], + "texture": 4 + }, + "up": { + "uv": [ + 2.375, + 24, + 1.1875, + 30 + ], + "rotation": 180, + "texture": 4 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "cc172290-3e5f-a21e-14c6-0beb0b7228de" + }, + { + "name": "LeftLeggingsBottomTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 0.502, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 39, + 1.1875, + 48 + ], + "texture": 5 + }, + "east": { + "uv": [ + 3.5625, + 39, + 2.375, + 48 + ], + "texture": 5 + }, + "south": { + "uv": [ + 4.75, + 39, + 3.5625, + 48 + ], + "texture": 5 + }, + "west": { + "uv": [ + 1.1875, + 39, + 0, + 48 + ], + "texture": 5 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": 5 + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 5 + } + }, + "type": "cube", + "uuid": "ae508872-aa37-2b04-7a48-9528dbec9686" + }, + { + "name": "LeftBootsBottomTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.002, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 39, + 1.1875, + 48 + ], + "texture": 4 + }, + "east": { + "uv": [ + 3.5625, + 39, + 2.375, + 48 + ], + "texture": 4 + }, + "south": { + "uv": [ + 4.75, + 39, + 3.5625, + 48 + ], + "texture": 4 + }, + "west": { + "uv": [ + 1.1875, + 39, + 0, + 48 + ], + "texture": 4 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": 4 + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "e46adda3-76b0-3f14-f8bb-14dec4636073" + } + ], + "outliner": [ + { + "name": "ArmorRA", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "9cdcfaa1-6e79-d94c-f516-f1aff5551a36", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightChestplate", + "origin": [ + 0, + 22, + 0 + ], + "color": 0, + "uuid": "fd9a522d-9a6f-9315-f563-c2c2dc2643ed", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "04c52e51-518e-9513-d607-bd72f9efa2c9", + "6be84467-6c7f-1451-5458-a406488d3d44", + "1bc91350-32b8-1826-c5aa-42a13e529528" + ] + } + ] + }, + { + "name": "ArmorRAB", + "origin": [ + 7, + 18, + 2 + ], + "color": 0, + "uuid": "475e6e92-a1e4-3dbd-1fbc-f80f1d0dad3a", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightChestplateBottom", + "origin": [ + 5.5, + 18, + 2 + ], + "color": 0, + "uuid": "002c7a8e-4836-7723-7a30-02d9e7d6864c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4a3a4eb6-fd3e-7d2b-a211-76957d9120bd", + "325d12e9-803c-2ac9-5359-07d737487724", + "77d2d753-cc5c-9604-ed68-fefded8b74c0" + ] + } + ] + }, + { + "name": "ArmorLA", + "origin": [ + -5, + 23, + 0 + ], + "color": 0, + "uuid": "73d4bd8b-b1f2-b209-c731-ba14eca51894", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "LeftChestplate", + "origin": [ + 0, + 22, + 0 + ], + "color": 0, + "uuid": "5c14372a-8dc0-5453-10f1-d47cdec6e52b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "22408e50-1695-eb9c-6ad3-457297fef7dd", + "77395185-0449-b7e0-c6cb-1acfdbb3f452", + "ed6a2771-b199-06d5-c826-d9ad2eeeb335" + ] + } + ] + }, + { + "name": "ArmorLAB", + "origin": [ + -7, + 18, + 2 + ], + "color": 0, + "uuid": "402ce6c8-6779-6fc6-a408-2c462302696d", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "LeftChestplateBottom", + "origin": [ + -5.5, + 18, + 2 + ], + "color": 0, + "uuid": "f09fa0ac-568d-aeed-7aeb-181f6bcae7de", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "26bc361a-dd53-ef35-4d8c-de683271f69d", + "2b05091b-8085-6724-3d43-d9171144768c", + "f3fe7c1b-6af1-72ab-3278-90a5307c6676" + ] + } + ] + }, + { + "name": "ArmorRL", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "09960a3e-73fa-bf53-b5a6-939709be95dd", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightLeggings", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "f2c56651-0b87-7be5-a5d0-54f0b539cedd", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8715712c-138d-7bdc-882f-f4b2c6770544", + "db54d1e6-20a4-45af-6869-4a65f0ea1723", + "152a41e4-ba8e-97d6-b386-7f133012408b" + ] + }, + { + "name": "RightBoots", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "585bbbd4-29dc-4475-360d-a37d1d22a0dc", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1cb0afb2-ba2b-92d1-1099-aefd7cc512b8", + "dad8c5c7-149c-7b1f-9bc2-c432c26bc70e", + "306712a4-3272-0ec7-9bdf-cee19696ad51" + ] + } + ] + }, + { + "name": "ArmorRLB", + "origin": [ + 2, + 6, + 0 + ], + "color": 0, + "uuid": "51c416bc-1aef-41e3-863d-675810356aef", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightLeggingsBottom", + "origin": [ + 2, + 6, + 0 + ], + "color": 0, + "uuid": "943c2228-26ef-a3cc-c4ff-8b2e3a802431", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "de6d8972-c7d3-65ad-9984-a8cb0304f1a4", + "0d1b2e25-e3cb-5fe8-2f68-f18aca44f0aa", + "e3ce7714-e502-2ebc-1c85-10d2983ebb7c" + ] + }, + { + "name": "RightBootsBottom", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "225aaa89-44de-01b7-601e-e0636668f07c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "2b06f488-228c-8e2e-cf9f-a31f465b2b91", + "2f97fafc-dd7b-205e-8403-0de28ab11617", + "1e955fb1-f5ca-cae7-203e-ce7be18f442b" + ] + } + ] + }, + { + "name": "ArmorLL", + "origin": [ + -2, + 6, + 2 + ], + "color": 0, + "uuid": "ebec21d0-6b75-5c93-bcad-43a0bbe83be0", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "LeftLeggings", + "origin": [ + -2, + 6, + 2 + ], + "color": 0, + "uuid": "0e96119a-486e-469e-c718-c9fcb2e8f4aa", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "208279dc-0d16-d5cc-3766-43129fd24c7b", + "a15d5564-7cd3-fc93-e984-76ed5bc8023b", + "08aa3ef4-81da-97b6-1fb6-10050d4ab6f9" + ] + }, + { + "name": "LeftBoots", + "origin": [ + -2, + 6, + -2 + ], + "color": 0, + "uuid": "bae07c99-6cf4-d4d7-9e54-a7966539daf6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "6646f669-d54c-168c-c291-d46c48bfda6b", + "7a6660e4-1279-daf0-3b3d-293b6821dcbe", + "cc172290-3e5f-a21e-14c6-0beb0b7228de" + ] + } + ] + }, + { + "name": "ArmorLLB", + "origin": [ + -2, + 6, + 0 + ], + "color": 0, + "uuid": "ac27b599-070c-a038-5e6f-e998a5ad1cb4", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "LeftLeggingsBottom", + "origin": [ + -2, + 6, + -2 + ], + "color": 0, + "uuid": "bfb3e89f-f73f-f1da-55a1-d25eb9f7c2d4", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "94b2a0f5-fc51-dff6-741d-bb1ba99d2a91", + "f89ca1fb-370e-a2b8-90bd-46b52f03d3c6", + "ae508872-aa37-2b04-7a48-9528dbec9686" + ] + }, + { + "name": "LeftBootsBottom", + "origin": [ + -2, + 6, + -2 + ], + "color": 0, + "uuid": "71ea41e5-93f0-d75e-73eb-77a7b04abfca", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "aabdaefc-770f-a69a-35cc-bb6ac71bc9be", + "65127873-1035-1a39-184f-f7910cbe00c7", + "e46adda3-76b0-3f14-f8bb-14dec4636073" + ] + } + ] + } + ], + "textures": [ + { + "path": "", + "name": "leather_layer_1.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 64, + "height": 32, + "uv_width": 19, + "uv_height": 48, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "3077f184-e559-5a8a-71d6-29d7cea0677e", + "relative_path": "../../textures/for_modeling/leather_layer_1.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAAXNSR0IArs4c6QAAA3lJREFUaEPlmTFv4kAQhU0TnWiQEEW4DlFSRRFVdB1/g5rfRM3foDulQkeacKcUiO5IgZBo0CmNT99Kz5qs7CzENvh8K0XB7Ho98zzzZt7SiAJjNpvFx+PRrWo2m8lqfTeZTBqhPao8HzQeAO7v7t758OftzV2vVqtoPB4H96gFAL9eXqJWq5X40m63/w8AptNp/O3hIfr9+hodDocEAMDYbrf1jwAfgF6vl4CwWCyi2nMAAAyHw2i/37sIEABfbm6iH09P9Y8ASHAwGLi3DgjkPs4zvj8+1j8CAABns0rhP58CWQ7isK37SvwsILQ2bd6WQbsvn68NYMPWedV3hTssj5FUAeZIAQ34YLfbOZC63a5LDQ2lCBzBsH0E1URrq9BHNNLKHCXu6+2ty3ENPxr0ppn3y6S9n/sAAMcZKqWQaWUA6Pf7iWFyzIZyVrcHeD5AAgoQ1uu1mwYgGik7NF+JFLAkl9cggWI5QQDbHqIqZbT0Pl5iChBsCYUfKkGClxIqRIaNiryRVpTdpUdAUYaWtU8QgPl8Hou5Ia7RaBS8pyxj2Vd9i3grbyQFnVkul7F0QFUAUF9RhBYJAvDz+TlWgwQQ144A9S2UVUg074FMEADbKkNieR+YNz1s78FepadAyOAsLeEDZXM3TVx9tN7XD9yfpT3O1RrBCDgFAHKSNKG1Ve9v81NnCnbeX0/bbZ2ie9R3NuettvC1hn99ilzPDYDVElY8Yai0hMQUAEhcoQ1Ybx0S19AlMk8rbbWErhFf0ioSY+yj/ZjXdShlcwNAaOuB1mCpRwyVYxyhWYOtVvCVKKVXesQ6hGP+87KuTzmzLAQAnRj5Ib7ZbNxJspW/OJC2XmpRilFqERA6nY7bRxGWdW0jRACWHgGkgMQOxvLHGSJDR2jiEaWAXW8B8flG64kaK7/TpLnlj3NabncecA6ryhj7EB2a6g0JgLQIEECAo/UAomG7Tt5o3jIXIvF3J0JSaJAWI41VRUoiOeW0f0KkByv8cdgPUU6UGAJMUcP/S/3w4gAgJ/VGFJLWYDvvv0E5ausvoJCzgKJfkyypcY9dLxK7xg8vLgUgFUjHsrQMxlBpeeWk1mcdaWlPHBUQvO2scE5rpi51VpBEgE5oVJfVqOiN23kiguuPGo2iW9ZQLn923kVAWltpWVckmcbEoTLzWcMudd9f6+s3Tq3qU78AAAAASUVORK5CYII=" + }, + { + "path": "", + "name": "leather_layer_1_overlay.png", + "folder": "", + "namespace": "", + "id": "1", + "width": 64, + "height": 32, + "uv_width": 19, + "uv_height": 48, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "2ba8879b-4ecb-195a-59ee-6d9e98804dde", + "relative_path": "../../textures/for_modeling/leather_layer_1_overlay.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAAXNSR0IArs4c6QAAARtJREFUaENjZCABeOlI/Acp33blBSMJ2ga1UpI8EmWhAA6AZScekKRvMIcASR4Z8QGQZANJAfOOjNAUkOWgCQ6AaQeuk5Ryhk0WGA2AkZ4CRnwZQGkABJlACtF1ZwZPIUpSYUZpNUhpANKiMCUpAEAtQQEeDrIbQoOxECUpACiNAVAK4GDhHFTVKF0DAJQCfvz5PqgaUnQNgCFfBlCaBSgtRCm1H5t+uqYAWniAUjMJBgBsDABm0XAaCwD5iagAUBARZPjw4zvDhy8/htVgCNEBAKr7OVgYGF58GKEBgJzPRlwWoLSQGez6CZYBg90DlLpvNAAoDcGhrn80BQz1GKTU/aMpgNIQHOr6R1PAUI9BSt0/mgIoDcGhrh8ARURkId1f/LQAAAAASUVORK5CYII=" + }, + { + "path": "", + "name": "leather_layer_2.png", + "folder": "", + "namespace": "", + "id": "2", + "width": 64, + "height": 32, + "uv_width": 19, + "uv_height": 48, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "a3d07fcc-8736-7c2a-3a7d-01bca4f29360", + "relative_path": "../../textures/for_modeling/leather_layer_2.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAAXNSR0IArs4c6QAAAbNJREFUaEPtVquOg0AUHTSGIDA4BA7ZLLLZj8DzZXi+BI9DoJYKBMGwqevmTHI2N7Ntd5NuSToz15B5NOk9cx43UI5X4Hj/ygPgGeA4Al4CjhPAm6CXgJeA4wh4CThOAJ8CXgJeAgYCbdtesLVtmwrDUFVVZTVLfjQHAN4OB/V5Pquu61Rd124B0DTNpSxLNY6jmufZTQCkKqxnADVP3eML7UsfuHWG/VcHKAAAaDiKIjUMg24+TVMNgLmepknv43xdVyskEkDzSZJoANhgURS60b7vdRrAE1AwRRTWy7Lo+6+eEpoBfHE0hIbzPL/JAAkIALICAL44XpgSAMXRLCkfx7FmBNf4WsEAKQFqHiBkWfYtATDCBIRrKxhAU8OLk+KcA8gIMIAMkaZpRQpIDzBjEICYJmmmxL2YNCOVIzblxXMZuzzbI2a1CfJPmdn/l8Zwh6MzPQJrFkZqljznqA0A5H3c5W/2MNmH53w5OlNC78ej+jiddN/wCpScM2C6kNhv9/cw2YcBuDZIsUG+PJpnapiSYuwSKIKFL0z52R7zbwBIudzzlGsew7mDg5j0jWenzBfesmAwq9d1bgAAAABJRU5ErkJggg==" + }, + { + "path": "", + "name": "leather_layer_2_overlay.png", + "folder": "", + "namespace": "", + "id": "3", + "width": 64, + "height": 32, + "uv_width": 19, + "uv_height": 48, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "72561028-643a-e907-78d7-d707a6b9393f", + "relative_path": "../../textures/for_modeling/leather_layer_2_overlay.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAAXNSR0IArs4c6QAAAP5JREFUaEPtlbEKwjAQhq/gkEKHCA516wM4OvgMjo4+oKPP4eBDODp2KOSGQuUaAramLirE3n9LSS4N3Mf//8lIeWXK5ycAgAKUE4AFlAsAIQgLwALKCcACygWAVwAWgAWUE4AFlAsArwAsAAtECBx3VSfbp8tt9gp5GVCGX9ucHBPV7GYPIQrAmrzXhUoAMrhqC2gLxY9D7rD1gRmKmckYE+U47r07Gy44X38bxF8BUBY+M+6N679hPQDTOqrZ70ifR+sYMbkveQD7TdnZwpBZSGgOBxwPFfrWEHFLVDf+h2q17IHEzicP4NkCImmpKQtM5YvAi5VASh7Av4fmA8zRVyFbTtAIAAAAAElFTkSuQmCC" + }, + { + "path": "", + "name": "trim.png", + "folder": "", + "namespace": "", + "id": "5", + "width": 64, + "height": 32, + "uv_width": 19, + "uv_height": 48, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "10cc6101-1a98-56ff-84bb-c18cb34472c0", + "relative_path": "../../textures/for_modeling/trim.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAAXNSR0IArs4c6QAAARlJREFUaEPtWIEJxCAMrJtkFEdxFEdxFEdxE5/Ip+TFL31S+TamUFrE2NzlUsi5bfHLLY5/MwJMAYszYC2wuADsJ2gtEGOs2AallNYNANBueqcWea83wkoplfbzWFzj53Sx+7m0D58xxr8W4fTHc86ViMHEvfenY+/8n1EBQkKwESBhT0OsKUBDFSUYTAES9jTEmgI0VFGCwRQgYU9DrClAQxUlGG6vAD6FcqA0UuecP/B77/uR/hCjmAD0EzCZkY9AIzOCGPkGfQwft8lXCCGIczxSiEMAxBpt7Od93EPJcjMD174ZGmiaAMBuoNC7RK4zYofs8uTxoyml+mslnmKgDAno+06TA9SraGp/zZDs1WcaAVcz+rTzXjFzgCFw/S4BAAAAAElFTkSuQmCC" + }, + { + "path": "", + "name": "trim_leggings.png", + "folder": "", + "namespace": "", + "id": "6", + "width": 64, + "height": 32, + "uv_width": 19, + "uv_height": 48, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "a801ffff-07dc-221a-9ca4-89a631acd89b", + "relative_path": "../../textures/for_modeling/trim_leggings.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAAXNSR0IArs4c6QAAALdJREFUaEPtlVEKgCAQRPUmHsWj71H2JsVKGxH1o24kM0KkZIs+Z8acwFsG338iACoAnAAtAC4AhiAtQAuAE6AFwAXAW4AWoAXACdAC4ALgLUAL0ALgBLKIbMaglHKiUNU2trc364tIG9o3f2qtS9to6cXPEC8BzKC4co1hBViGeFZ4jnh+eD7YnGum3Of7+KlOdMYMA3g7fVW1Tbf61/7f1BIGwE/9AJCiT7IXbBiA3gV9/R88gB06yDkhrwNxCwAAAABJRU5ErkJggg==" + } + ], + "animations": [ + { + "uuid": "8a5254c3-52e1-ebac-3078-87344e3c6f23", + "name": "jerk_ears", + "loop": "once", + "override": false, + "length": 0.25, + "snapping": 24, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "" + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Midori/models/barrier.bbmodel b/config/yosbr/config/figura/avatars/Midori/models/barrier.bbmodel new file mode 100644 index 0000000..920e657 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/models/barrier.bbmodel @@ -0,0 +1,4318 @@ +{ + "meta": { + "format_version": "4.5", + "model_format": "free", + "box_uv": false + }, + "name": "barrier", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 1, + "height": 1 + }, + "elements": [ + { + "name": "Barrier1", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "Arn5": [ + 12.45573, + -16.30478, + -7.99099 + ], + "bhLA": [ + 17.95504, + -12.10366, + -3.99547 + ], + "oe5L": [ + 12.45573, + -16.30478, + 7.99099 + ], + "LaOo": [ + 17.95504, + -12.10366, + 3.99547 + ], + "skAF": [ + 6.95626, + -20.50605, + 3.99542 + ], + "mSEF": [ + 6.95626, + -20.50605, + -3.99542 + ] + }, + "faces": { + "Qa7oQUdO": { + "uv": { + "Arn5": [ + 0.42424, + 0.89503 + ], + "bhLA": [ + 0.39394, + 0.84254 + ], + "oe5L": [ + 0.30303, + 0.89503 + ] + }, + "vertices": [ + "Arn5", + "bhLA", + "oe5L" + ], + "texture": 0 + }, + "LeEDTzrA": { + "uv": { + "bhLA": [ + 0.39394, + 0.84254 + ], + "LaOo": [ + 0.33333, + 0.84254 + ], + "oe5L": [ + 0.30303, + 0.89503 + ] + }, + "vertices": [ + "bhLA", + "LaOo", + "oe5L" + ], + "texture": 0 + }, + "4X7QzJLA": { + "uv": { + "oe5L": [ + 0.30303, + 0.89503 + ], + "skAF": [ + 0.33333, + 0.94751 + ], + "mSEF": [ + 0.39394, + 0.94751 + ] + }, + "vertices": [ + "oe5L", + "skAF", + "mSEF" + ], + "texture": 0 + }, + "x3acV2xS": { + "uv": { + "mSEF": [ + 0.39394, + 0.94751 + ], + "Arn5": [ + 0.42424, + 0.89503 + ], + "oe5L": [ + 0.30303, + 0.89503 + ] + }, + "vertices": [ + "mSEF", + "Arn5", + "oe5L" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "1ffcfe1b-dd45-30ab-3d50-3eb527527f64" + }, + { + "name": "Barrier2", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "Yag1": [ + -5.37976, + -16.30478, + -13.78618 + ], + "2mKW": [ + -3.2792, + -20.50605, + -7.32118 + ], + "zVpV": [ + -7.97619, + -20.50608, + -0.85638 + ], + "3FTI": [ + -12.1773, + -12.10366, + -13.78622 + ], + "YxwL": [ + -16.87454, + -12.10366, + -7.32115 + ], + "CRpy": [ + -14.77408, + -16.30475, + -0.85638 + ] + }, + "faces": { + "qKcm1Dtp": { + "uv": { + "Yag1": [ + 0.66667, + 0.89503 + ], + "2mKW": [ + 0.69697, + 0.94751 + ], + "zVpV": [ + 0.75758, + 0.94751 + ] + }, + "vertices": [ + "Yag1", + "2mKW", + "zVpV" + ], + "texture": 0 + }, + "zcqb3YJU": { + "uv": { + "3FTI": [ + 0.69697, + 0.84254 + ], + "Yag1": [ + 0.66667, + 0.89503 + ], + "zVpV": [ + 0.75758, + 0.94751 + ] + }, + "vertices": [ + "3FTI", + "Yag1", + "zVpV" + ], + "texture": 0 + }, + "fU1wtLBt": { + "uv": { + "YxwL": [ + 0.75758, + 0.84254 + ], + "3FTI": [ + 0.69697, + 0.84254 + ], + "zVpV": [ + 0.75758, + 0.94751 + ] + }, + "vertices": [ + "YxwL", + "3FTI", + "zVpV" + ], + "texture": 0 + }, + "D23N9iIN": { + "uv": { + "zVpV": [ + 0.75758, + 0.94751 + ], + "CRpy": [ + 0.78788, + 0.89503 + ], + "YxwL": [ + 0.75758, + 0.84254 + ] + }, + "vertices": [ + "zVpV", + "CRpy", + "YxwL" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "28326e39-14dc-4a63-19b6-00c93a838274" + }, + { + "name": "Barrier3", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "R7jj": [ + -3.75085, + -16.30478, + 14.31544 + ], + "Jg1w": [ + -1.65027, + -20.50603, + 7.85045 + ], + "vMd4": [ + 5.94954, + -20.50603, + 5.38107 + ], + "kolb": [ + 9.34848, + -12.10366, + 15.84144 + ], + "wOmD": [ + 1.74848, + -12.10366, + 18.31086 + ], + "NNAA": [ + 11.44901, + -16.30478, + 9.37664 + ] + }, + "faces": { + "0lnLGtFu": { + "uv": { + "R7jj": [ + 0.12121, + 0.89503 + ], + "Jg1w": [ + 0.15152, + 0.94751 + ], + "vMd4": [ + 0.21212, + 0.94751 + ] + }, + "vertices": [ + "R7jj", + "Jg1w", + "vMd4" + ], + "texture": 0 + }, + "hhgfkNIK": { + "uv": { + "kolb": [ + 0.21212, + 0.84254 + ], + "wOmD": [ + 0.15152, + 0.84254 + ], + "R7jj": [ + 0.12121, + 0.89503 + ] + }, + "vertices": [ + "kolb", + "wOmD", + "R7jj" + ], + "texture": 0 + }, + "0Rji1785": { + "uv": { + "vMd4": [ + 0.21212, + 0.94751 + ], + "NNAA": [ + 0.24243, + 0.89503 + ], + "R7jj": [ + 0.12121, + 0.89503 + ] + }, + "vertices": [ + "vMd4", + "NNAA", + "R7jj" + ], + "texture": 0 + }, + "i9dgHyC2": { + "uv": { + "NNAA": [ + 0.24243, + 0.89503 + ], + "kolb": [ + 0.21212, + 0.84254 + ], + "R7jj": [ + 0.12121, + 0.89503 + ] + }, + "vertices": [ + "NNAA", + "kolb", + "R7jj" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "89ca0220-5946-6fb4-0562-9cc2170a16fd" + }, + { + "name": "Barrier4", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "IIXU": [ + 11.44901, + -16.30478, + -9.37664 + ], + "1xE0": [ + 5.94954, + -20.50603, + -5.38107 + ], + "CXrA": [ + -1.65027, + -20.50603, + -7.85045 + ], + "zPA0": [ + 1.74848, + -12.10366, + -18.31086 + ], + "oYOf": [ + 9.34848, + -12.10366, + -15.84144 + ], + "DjUC": [ + -3.75085, + -16.30478, + -14.31544 + ] + }, + "faces": { + "uaJyCz2z": { + "uv": { + "IIXU": [ + 0.48485, + 0.89503 + ], + "1xE0": [ + 0.51515, + 0.94751 + ], + "CXrA": [ + 0.57576, + 0.94751 + ] + }, + "vertices": [ + "IIXU", + "1xE0", + "CXrA" + ], + "texture": 0 + }, + "yI2cpGQZ": { + "uv": { + "zPA0": [ + 0.57576, + 0.84254 + ], + "oYOf": [ + 0.51515, + 0.84254 + ], + "IIXU": [ + 0.48485, + 0.89503 + ] + }, + "vertices": [ + "zPA0", + "oYOf", + "IIXU" + ], + "texture": 0 + }, + "zXKeJgkd": { + "uv": { + "CXrA": [ + 0.57576, + 0.94751 + ], + "DjUC": [ + 0.60606, + 0.89503 + ], + "IIXU": [ + 0.48485, + 0.89503 + ] + }, + "vertices": [ + "CXrA", + "DjUC", + "IIXU" + ], + "texture": 0 + }, + "GgM9ok1T": { + "uv": { + "DjUC": [ + 0.60606, + 0.89503 + ], + "zPA0": [ + 0.57576, + 0.84254 + ], + "IIXU": [ + 0.48485, + 0.89503 + ] + }, + "vertices": [ + "DjUC", + "zPA0", + "IIXU" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "e2fcefb7-9c37-6ff5-68e4-8627896caea9" + }, + { + "name": "Barrier5", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "xYFO": [ + -1.37211, + -3.84915, + 21.63661 + ], + "F8AM": [ + 2.02674, + -10.64672, + 19.16723 + ], + "YWtx": [ + 13.82781, + -3.84922, + 16.69776 + ], + "Rptb": [ + 2.82907, + 2.94872, + 21.63661 + ], + "nAjf": [ + 9.62674, + -10.64672, + 16.69779 + ], + "cm0C": [ + 10.42882, + 2.94878, + 19.16726 + ] + }, + "faces": { + "NFbZyVJX": { + "uv": { + "xYFO": [ + 0.12121, + 0.79005 + ], + "F8AM": [ + 0.15152, + 0.84254 + ], + "YWtx": [ + 0.24243, + 0.79005 + ] + }, + "vertices": [ + "xYFO", + "F8AM", + "YWtx" + ], + "texture": 0 + }, + "oOZWbFhk": { + "uv": { + "Rptb": [ + 0.15152, + 0.73757 + ], + "xYFO": [ + 0.12121, + 0.79005 + ], + "YWtx": [ + 0.24243, + 0.79005 + ] + }, + "vertices": [ + "Rptb", + "xYFO", + "YWtx" + ], + "texture": 0 + }, + "mOru5kIu": { + "uv": { + "F8AM": [ + 0.15152, + 0.84254 + ], + "nAjf": [ + 0.21212, + 0.84254 + ], + "YWtx": [ + 0.24243, + 0.79005 + ] + }, + "vertices": [ + "F8AM", + "nAjf", + "YWtx" + ], + "texture": 0 + }, + "1FFKq8BV": { + "uv": { + "YWtx": [ + 0.24243, + 0.79005 + ], + "cm0C": [ + 0.21212, + 0.73756 + ], + "Rptb": [ + 0.15152, + 0.73757 + ] + }, + "vertices": [ + "YWtx", + "cm0C", + "Rptb" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "0892b9ea-ea94-207c-1f9a-2f8628aac120" + }, + { + "name": "Barrier6", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "nIfk": [ + 11.60749, + 3.8492, + 18.31093 + ], + "Ut8M": [ + 15.00648, + -2.94878, + 15.84141 + ], + "nWP5": [ + 19.70349, + -2.94875, + 9.37669 + ], + "aenb": [ + 17.60302, + 10.6467, + 7.85042 + ], + "wSME": [ + 12.90576, + 10.6467, + 14.31549 + ], + "VVCf": [ + 21.00181, + 3.84917, + 5.38106 + ] + }, + "faces": { + "r899VVRa": { + "uv": { + "nIfk": [ + 0.21212, + 0.73756 + ], + "Ut8M": [ + 0.24243, + 0.79005 + ], + "nWP5": [ + 0.30303, + 0.79005 + ] + }, + "vertices": [ + "nIfk", + "Ut8M", + "nWP5" + ], + "texture": 0 + }, + "m0Cli6Ve": { + "uv": { + "aenb": [ + 0.30303, + 0.68508 + ], + "wSME": [ + 0.24242, + 0.68508 + ], + "nIfk": [ + 0.21212, + 0.73756 + ] + }, + "vertices": [ + "aenb", + "wSME", + "nIfk" + ], + "texture": 0 + }, + "eIe5wd3R": { + "uv": { + "nWP5": [ + 0.30303, + 0.79005 + ], + "VVCf": [ + 0.33334, + 0.73757 + ], + "nIfk": [ + 0.21212, + 0.73756 + ] + }, + "vertices": [ + "nWP5", + "VVCf", + "nIfk" + ], + "texture": 0 + }, + "zhNhQfF3": { + "uv": { + "VVCf": [ + 0.33334, + 0.73757 + ], + "aenb": [ + 0.30303, + 0.68508 + ], + "nIfk": [ + 0.21212, + 0.73756 + ] + }, + "vertices": [ + "VVCf", + "aenb", + "nIfk" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "b353e066-b7eb-5d49-03d0-6bffec0918a0" + }, + { + "name": "Barrier7", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "sgjW": [ + 20.15371, + -3.8492, + 7.99102 + ], + "RXBz": [ + 18.85547, + -10.64674, + 3.99547 + ], + "F24g": [ + 20.15371, + -3.8492, + -7.99102 + ], + "b4nW": [ + 21.45203, + 2.94874, + 3.99539 + ], + "t3ws": [ + 18.85547, + -10.64674, + -3.99547 + ], + "OAIt": [ + 21.45203, + 2.94874, + -3.99539 + ] + }, + "faces": { + "MnnmSYRF": { + "uv": { + "sgjW": [ + 0.30303, + 0.79005 + ], + "RXBz": [ + 0.33333, + 0.84254 + ], + "F24g": [ + 0.42424, + 0.79005 + ] + }, + "vertices": [ + "sgjW", + "RXBz", + "F24g" + ], + "texture": 0 + }, + "eCGpY79B": { + "uv": { + "b4nW": [ + 0.33334, + 0.73757 + ], + "sgjW": [ + 0.30303, + 0.79005 + ], + "F24g": [ + 0.42424, + 0.79005 + ] + }, + "vertices": [ + "b4nW", + "sgjW", + "F24g" + ], + "texture": 0 + }, + "UA9sL3fH": { + "uv": { + "RXBz": [ + 0.33333, + 0.84254 + ], + "t3ws": [ + 0.39394, + 0.84254 + ], + "F24g": [ + 0.42424, + 0.79005 + ] + }, + "vertices": [ + "RXBz", + "t3ws", + "F24g" + ], + "texture": 0 + }, + "1mO1enyO": { + "uv": { + "F24g": [ + 0.42424, + 0.79005 + ], + "OAIt": [ + 0.39394, + 0.73757 + ], + "b4nW": [ + 0.33334, + 0.73757 + ] + }, + "vertices": [ + "F24g", + "OAIt", + "b4nW" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "cf598a49-f1eb-47bc-8232-487d7ce031d1" + }, + { + "name": "Barrier8", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "Q4IN": [ + -13.82781, + 3.84922, + 16.69776 + ], + "wCK2": [ + -10.42882, + -2.94878, + 19.16726 + ], + "PNTE": [ + -2.82907, + -2.94872, + 21.63661 + ], + "mlEN": [ + -2.02674, + 10.64672, + 19.16723 + ], + "lABY": [ + -9.62674, + 10.64672, + 16.69779 + ], + "ZHKx": [ + 1.37211, + 3.84915, + 21.63661 + ] + }, + "faces": { + "n24TdmhQ": { + "uv": { + "Q4IN": [ + 0.0303, + 0.73756 + ], + "wCK2": [ + 0.06061, + 0.79005 + ], + "PNTE": [ + 0.12121, + 0.79005 + ] + }, + "vertices": [ + "Q4IN", + "wCK2", + "PNTE" + ], + "texture": 0 + }, + "UUDEtWYK": { + "uv": { + "mlEN": [ + 0.12121, + 0.68508 + ], + "lABY": [ + 0.06061, + 0.68508 + ], + "Q4IN": [ + 0.0303, + 0.73756 + ] + }, + "vertices": [ + "mlEN", + "lABY", + "Q4IN" + ], + "texture": 0 + }, + "f1u0lNPh": { + "uv": { + "PNTE": [ + 0.12121, + 0.79005 + ], + "ZHKx": [ + 0.15152, + 0.73757 + ], + "Q4IN": [ + 0.0303, + 0.73756 + ] + }, + "vertices": [ + "PNTE", + "ZHKx", + "Q4IN" + ], + "texture": 0 + }, + "1zDhRe2q": { + "uv": { + "ZHKx": [ + 0.15152, + 0.73757 + ], + "mlEN": [ + 0.12121, + 0.68508 + ], + "Q4IN": [ + 0.0303, + 0.73756 + ] + }, + "vertices": [ + "ZHKx", + "mlEN", + "Q4IN" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "8cda9be7-5fa4-c07d-0003-2f7bc1954175" + }, + { + "name": "Barrier9", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "qHbv": [ + -20.15371, + 3.8492, + -7.99102 + ], + "3bwp": [ + -21.45203, + -2.94874, + -3.99539 + ], + "KSbw": [ + -21.45203, + -2.94874, + 3.99539 + ], + "ZsXT": [ + -18.85547, + 10.64674, + 3.99547 + ], + "eH85": [ + -18.85547, + 10.64674, + -3.99547 + ], + "0KPs": [ + -20.15371, + 3.8492, + 7.99102 + ] + }, + "faces": { + "7EXV6aLH": { + "uv": { + "qHbv": [ + 0.75758, + 0.73757 + ], + "3bwp": [ + 0.78788, + 0.79005 + ], + "KSbw": [ + 0.84848, + 0.79005 + ] + }, + "vertices": [ + "qHbv", + "3bwp", + "KSbw" + ], + "texture": 0 + }, + "20iczZep": { + "uv": { + "ZsXT": [ + 0.84849, + 0.68508 + ], + "eH85": [ + 0.78788, + 0.68508 + ], + "qHbv": [ + 0.75758, + 0.73757 + ] + }, + "vertices": [ + "ZsXT", + "eH85", + "qHbv" + ], + "texture": 0 + }, + "JdkP7htC": { + "uv": { + "KSbw": [ + 0.84848, + 0.79005 + ], + "0KPs": [ + 0.87879, + 0.73757 + ], + "qHbv": [ + 0.75758, + 0.73757 + ] + }, + "vertices": [ + "KSbw", + "0KPs", + "qHbv" + ], + "texture": 0 + }, + "icWfShVQ": { + "uv": { + "0KPs": [ + 0.87879, + 0.73757 + ], + "ZsXT": [ + 0.84849, + 0.68508 + ], + "qHbv": [ + 0.75758, + 0.73757 + ] + }, + "vertices": [ + "0KPs", + "ZsXT", + "qHbv" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "bc33b5aa-6b23-ab8a-be66-fa3752a03424" + }, + { + "name": "Barrier10", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "juyq": [ + 1.37211, + 3.84915, + -21.63661 + ], + "VQ5C": [ + -2.82907, + -2.94872, + -21.63661 + ], + "hG3m": [ + -10.42882, + -2.94878, + -19.16726 + ], + "lWhR": [ + -9.62674, + 10.64672, + -16.69779 + ], + "Cnbv": [ + -2.02674, + 10.64672, + -19.16723 + ], + "Xj1y": [ + -13.82781, + 3.84922, + -16.69776 + ] + }, + "faces": { + "6pMwCLSn": { + "uv": { + "juyq": [ + 0.57576, + 0.73757 + ], + "VQ5C": [ + 0.60606, + 0.79005 + ], + "hG3m": [ + 0.66667, + 0.79005 + ] + }, + "vertices": [ + "juyq", + "VQ5C", + "hG3m" + ], + "texture": 0 + }, + "h6AOKRiu": { + "uv": { + "lWhR": [ + 0.66667, + 0.68508 + ], + "Cnbv": [ + 0.60606, + 0.68508 + ], + "juyq": [ + 0.57576, + 0.73757 + ] + }, + "vertices": [ + "lWhR", + "Cnbv", + "juyq" + ], + "texture": 0 + }, + "0FsYmgLW": { + "uv": { + "hG3m": [ + 0.66667, + 0.79005 + ], + "Xj1y": [ + 0.69697, + 0.73756 + ], + "juyq": [ + 0.57576, + 0.73757 + ] + }, + "vertices": [ + "hG3m", + "Xj1y", + "juyq" + ], + "texture": 0 + }, + "FpUb7Vkj": { + "uv": { + "Xj1y": [ + 0.69697, + 0.73756 + ], + "lWhR": [ + 0.66667, + 0.68508 + ], + "juyq": [ + 0.57576, + 0.73757 + ] + }, + "vertices": [ + "Xj1y", + "lWhR", + "juyq" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "1b3fb0cd-4643-e05d-049e-7948bd8339b9" + }, + { + "name": "Barrier11", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "wSjj": [ + -21.00181, + -3.84917, + 5.38106 + ], + "3yqo": [ + -17.60302, + -10.6467, + 7.85042 + ], + "GsYx": [ + -11.60749, + -3.8492, + 18.31093 + ], + "cRt1": [ + -19.70349, + 2.94875, + 9.37669 + ], + "aQOg": [ + -12.90576, + -10.6467, + 14.31549 + ], + "blCS": [ + -15.00648, + 2.94878, + 15.84141 + ] + }, + "faces": { + "wKK3oNBw": { + "uv": { + "wSjj": [ + 0.84848, + 0.79005 + ], + "3yqo": [ + 0.87879, + 0.84254 + ], + "GsYx": [ + 0.9697, + 0.79005 + ] + }, + "vertices": [ + "wSjj", + "3yqo", + "GsYx" + ], + "texture": 0 + }, + "d12lsUHC": { + "uv": { + "cRt1": [ + 0.87879, + 0.73757 + ], + "wSjj": [ + 0.84848, + 0.79005 + ], + "GsYx": [ + 0.9697, + 0.79005 + ] + }, + "vertices": [ + "cRt1", + "wSjj", + "GsYx" + ], + "texture": 0 + }, + "WYCOszu3": { + "uv": { + "3yqo": [ + 0.87879, + 0.84254 + ], + "aQOg": [ + 0.9394, + 0.84254 + ], + "GsYx": [ + 0.9697, + 0.79005 + ] + }, + "vertices": [ + "3yqo", + "aQOg", + "GsYx" + ], + "texture": 0 + }, + "eNYXZE7U": { + "uv": { + "GsYx": [ + 0.9697, + 0.79005 + ], + "blCS": [ + 0.93939, + 0.73756 + ], + "cRt1": [ + 0.87879, + 0.73757 + ] + }, + "vertices": [ + "GsYx", + "blCS", + "cRt1" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "df2ad74a-22a2-510c-8f34-9895b418553d" + }, + { + "name": "Barrier12", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "UdM8": [ + -11.60749, + -3.8492, + -18.31093 + ], + "Artn": [ + -12.90576, + -10.6467, + -14.31549 + ], + "6HSp": [ + -21.00181, + -3.84917, + -5.38106 + ], + "hj5A": [ + -15.00648, + 2.94878, + -15.84141 + ], + "pV62": [ + -17.60302, + -10.6467, + -7.85042 + ], + "8yW9": [ + -19.70349, + 2.94875, + -9.37669 + ] + }, + "faces": { + "IG3YNfqx": { + "uv": { + "UdM8": [ + 0.66667, + 0.79005 + ], + "Artn": [ + 0.69697, + 0.84254 + ], + "6HSp": [ + 0.78788, + 0.79005 + ] + }, + "vertices": [ + "UdM8", + "Artn", + "6HSp" + ], + "texture": 0 + }, + "4chGV6ts": { + "uv": { + "hj5A": [ + 0.69697, + 0.73756 + ], + "UdM8": [ + 0.66667, + 0.79005 + ], + "6HSp": [ + 0.78788, + 0.79005 + ] + }, + "vertices": [ + "hj5A", + "UdM8", + "6HSp" + ], + "texture": 0 + }, + "VGkTMtuQ": { + "uv": { + "Artn": [ + 0.69697, + 0.84254 + ], + "pV62": [ + 0.75758, + 0.84254 + ], + "6HSp": [ + 0.78788, + 0.79005 + ] + }, + "vertices": [ + "Artn", + "pV62", + "6HSp" + ], + "texture": 0 + }, + "v6PHqr8o": { + "uv": { + "6HSp": [ + 0.78788, + 0.79005 + ], + "8yW9": [ + 0.75758, + 0.73757 + ], + "hj5A": [ + 0.69697, + 0.73756 + ] + }, + "vertices": [ + "6HSp", + "8yW9", + "hj5A" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "70bc7923-bd95-97a0-b5e5-a6e107c8b9f3" + }, + { + "name": "Barrier13", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "IywS": [ + 13.82781, + -3.84922, + -16.69776 + ], + "WGv1": [ + 9.62674, + -10.64672, + -16.69779 + ], + "qW39": [ + -1.37211, + -3.84915, + -21.63661 + ], + "WBIQ": [ + 10.42882, + 2.94878, + -19.16726 + ], + "TcLv": [ + 2.02674, + -10.64672, + -19.16723 + ], + "PO4z": [ + 2.82907, + 2.94872, + -21.63661 + ] + }, + "faces": { + "NgYuFwUK": { + "uv": { + "IywS": [ + 0.48485, + 0.79005 + ], + "WGv1": [ + 0.51515, + 0.84254 + ], + "qW39": [ + 0.60606, + 0.79005 + ] + }, + "vertices": [ + "IywS", + "WGv1", + "qW39" + ], + "texture": 0 + }, + "Vk1ixfW9": { + "uv": { + "WBIQ": [ + 0.51515, + 0.73756 + ], + "IywS": [ + 0.48485, + 0.79005 + ], + "qW39": [ + 0.60606, + 0.79005 + ] + }, + "vertices": [ + "WBIQ", + "IywS", + "qW39" + ], + "texture": 0 + }, + "UDZDmr4v": { + "uv": { + "WGv1": [ + 0.51515, + 0.84254 + ], + "TcLv": [ + 0.57576, + 0.84254 + ], + "qW39": [ + 0.60606, + 0.79005 + ] + }, + "vertices": [ + "WGv1", + "TcLv", + "qW39" + ], + "texture": 0 + }, + "1fxm3Azo": { + "uv": { + "qW39": [ + 0.60606, + 0.79005 + ], + "PO4z": [ + 0.57576, + 0.73757 + ], + "WBIQ": [ + 0.51515, + 0.73756 + ] + }, + "vertices": [ + "qW39", + "PO4z", + "WBIQ" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "c7fee38e-2c47-a2f7-7226-1cab458ce078" + }, + { + "name": "Barrier14", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "3Wsb": [ + 21.00181, + 3.84917, + -5.38106 + ], + "92Ls": [ + 19.70349, + -2.94875, + -9.37669 + ], + "T5zd": [ + 15.00648, + -2.94878, + -15.84141 + ], + "pc3G": [ + 12.90576, + 10.6467, + -14.31549 + ], + "yTH1": [ + 17.60302, + 10.6467, + -7.85042 + ], + "KUh7": [ + 11.60749, + 3.8492, + -18.31093 + ] + }, + "faces": { + "z5iseIFC": { + "uv": { + "3Wsb": [ + 0.39394, + 0.73757 + ], + "92Ls": [ + 0.42424, + 0.79005 + ], + "T5zd": [ + 0.48485, + 0.79005 + ] + }, + "vertices": [ + "3Wsb", + "92Ls", + "T5zd" + ], + "texture": 0 + }, + "iUaryT49": { + "uv": { + "pc3G": [ + 0.48485, + 0.68508 + ], + "yTH1": [ + 0.42424, + 0.68508 + ], + "3Wsb": [ + 0.39394, + 0.73757 + ] + }, + "vertices": [ + "pc3G", + "yTH1", + "3Wsb" + ], + "texture": 0 + }, + "0I4Uy5Qt": { + "uv": { + "T5zd": [ + 0.48485, + 0.79005 + ], + "KUh7": [ + 0.51515, + 0.73756 + ], + "3Wsb": [ + 0.39394, + 0.73757 + ] + }, + "vertices": [ + "T5zd", + "KUh7", + "3Wsb" + ], + "texture": 0 + }, + "mQ5kSI6c": { + "uv": { + "KUh7": [ + 0.51515, + 0.73756 + ], + "pc3G": [ + 0.48485, + 0.68508 + ], + "3Wsb": [ + 0.39394, + 0.73757 + ] + }, + "vertices": [ + "KUh7", + "pc3G", + "3Wsb" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "45b3660e-3b5c-a4ef-ca94-b53cb44d79ae" + }, + { + "name": "Barrier15", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "WVDV": [ + 3.2792, + 20.50605, + 7.32118 + ], + "QGox": [ + 5.37976, + 16.30478, + 13.78618 + ], + "0vPb": [ + 12.1773, + 12.10366, + 13.78622 + ], + "LiZb": [ + 7.97619, + 20.50608, + 0.85638 + ], + "lVmK": [ + 14.77408, + 16.30475, + 0.85638 + ], + "fJUn": [ + 16.87454, + 12.10366, + 7.32115 + ] + }, + "faces": { + "rKUZxlFB": { + "uv": { + "WVDV": [ + 0.24243, + 0.5801 + ], + "QGox": [ + 0.21212, + 0.63259 + ], + "0vPb": [ + 0.24242, + 0.68508 + ] + }, + "vertices": [ + "WVDV", + "QGox", + "0vPb" + ], + "texture": 0 + }, + "krK3LH0j": { + "uv": { + "LiZb": [ + 0.30303, + 0.5801 + ], + "WVDV": [ + 0.24243, + 0.5801 + ], + "0vPb": [ + 0.24242, + 0.68508 + ] + }, + "vertices": [ + "LiZb", + "WVDV", + "0vPb" + ], + "texture": 0 + }, + "z4iC3FpH": { + "uv": { + "lVmK": [ + 0.33334, + 0.63259 + ], + "LiZb": [ + 0.30303, + 0.5801 + ], + "0vPb": [ + 0.24242, + 0.68508 + ] + }, + "vertices": [ + "lVmK", + "LiZb", + "0vPb" + ], + "texture": 0 + }, + "17HHqHr8": { + "uv": { + "0vPb": [ + 0.24242, + 0.68508 + ], + "fJUn": [ + 0.30303, + 0.68508 + ], + "lVmK": [ + 0.33334, + 0.63259 + ] + }, + "vertices": [ + "0vPb", + "fJUn", + "lVmK" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "0eb84df0-6dcf-d820-ca27-bc7705c5c5d2" + }, + { + "name": "Barrier16", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "64Fn": [ + -11.44901, + 16.30478, + 9.37664 + ], + "F8oA": [ + -9.34848, + 12.10366, + 15.84144 + ], + "tkDL": [ + 3.75085, + 16.30478, + 14.31544 + ], + "urE0": [ + -5.94954, + 20.50603, + 5.38107 + ], + "CBMq": [ + -1.74848, + 12.10366, + 18.31086 + ], + "xZmX": [ + 1.65027, + 20.50603, + 7.85045 + ] + }, + "faces": { + "2TpR2vyn": { + "uv": { + "64Fn": [ + 0.0303, + 0.63259 + ], + "F8oA": [ + 0.06061, + 0.68508 + ], + "tkDL": [ + 0.15152, + 0.63259 + ] + }, + "vertices": [ + "64Fn", + "F8oA", + "tkDL" + ], + "texture": 0 + }, + "qNYd432g": { + "uv": { + "urE0": [ + 0.06061, + 0.5801 + ], + "64Fn": [ + 0.0303, + 0.63259 + ], + "tkDL": [ + 0.15152, + 0.63259 + ] + }, + "vertices": [ + "urE0", + "64Fn", + "tkDL" + ], + "texture": 0 + }, + "vngzZZyv": { + "uv": { + "F8oA": [ + 0.06061, + 0.68508 + ], + "CBMq": [ + 0.12121, + 0.68508 + ], + "tkDL": [ + 0.15152, + 0.63259 + ] + }, + "vertices": [ + "F8oA", + "CBMq", + "tkDL" + ], + "texture": 0 + }, + "LE6Kp0Mj": { + "uv": { + "tkDL": [ + 0.15152, + 0.63259 + ], + "xZmX": [ + 0.12121, + 0.5801 + ], + "urE0": [ + 0.06061, + 0.5801 + ] + }, + "vertices": [ + "tkDL", + "xZmX", + "urE0" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "d1cb7706-eef3-1779-2707-cdfe2d72b62e" + }, + { + "name": "Barrier17", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "5HFB": [ + -12.45573, + 16.30478, + -7.99099 + ], + "JDQi": [ + -17.95504, + 12.10366, + -3.99547 + ], + "m2BW": [ + -12.45573, + 16.30478, + 7.99099 + ], + "DepI": [ + -6.95626, + 20.50605, + -3.99542 + ], + "P5bi": [ + -17.95504, + 12.10366, + 3.99547 + ], + "2shv": [ + -6.95626, + 20.50605, + 3.99542 + ] + }, + "faces": { + "0f91mzoQ": { + "uv": { + "5HFB": [ + 0.75758, + 0.63259 + ], + "JDQi": [ + 0.78788, + 0.68508 + ], + "m2BW": [ + 0.87879, + 0.63259 + ] + }, + "vertices": [ + "5HFB", + "JDQi", + "m2BW" + ], + "texture": 0 + }, + "qoogvexQ": { + "uv": { + "DepI": [ + 0.78788, + 0.5801 + ], + "5HFB": [ + 0.75758, + 0.63259 + ], + "m2BW": [ + 0.87879, + 0.63259 + ] + }, + "vertices": [ + "DepI", + "5HFB", + "m2BW" + ], + "texture": 0 + }, + "7ma6IzQW": { + "uv": { + "JDQi": [ + 0.78788, + 0.68508 + ], + "P5bi": [ + 0.84849, + 0.68508 + ], + "m2BW": [ + 0.87879, + 0.63259 + ] + }, + "vertices": [ + "JDQi", + "P5bi", + "m2BW" + ], + "texture": 0 + }, + "L5znhKgV": { + "uv": { + "m2BW": [ + 0.87879, + 0.63259 + ], + "2shv": [ + 0.84849, + 0.5801 + ], + "DepI": [ + 0.78788, + 0.5801 + ] + }, + "vertices": [ + "m2BW", + "2shv", + "DepI" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "0d00fdac-233d-4adf-53c6-a02afd385a9b" + }, + { + "name": "Barrier18", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "223J": [ + 3.75085, + 16.30478, + -14.31544 + ], + "pW0y": [ + -1.74848, + 12.10366, + -18.31086 + ], + "qgCV": [ + -11.44901, + 16.30478, + -9.37664 + ], + "FrYg": [ + 1.65027, + 20.50603, + -7.85045 + ], + "QjdH": [ + -9.34848, + 12.10366, + -15.84144 + ], + "qMuF": [ + -5.94954, + 20.50605, + -5.38107 + ] + }, + "faces": { + "8ibtPIMP": { + "uv": { + "223J": [ + 0.57576, + 0.63259 + ], + "pW0y": [ + 0.60606, + 0.68508 + ], + "qgCV": [ + 0.69697, + 0.63259 + ] + }, + "vertices": [ + "223J", + "pW0y", + "qgCV" + ], + "texture": 0 + }, + "M0luOpy1": { + "uv": { + "FrYg": [ + 0.60606, + 0.5801 + ], + "223J": [ + 0.57576, + 0.63259 + ], + "qgCV": [ + 0.69697, + 0.63259 + ] + }, + "vertices": [ + "FrYg", + "223J", + "qgCV" + ], + "texture": 0 + }, + "IVfPhmRG": { + "uv": { + "pW0y": [ + 0.60606, + 0.68508 + ], + "QjdH": [ + 0.66667, + 0.68508 + ], + "qgCV": [ + 0.69697, + 0.63259 + ] + }, + "vertices": [ + "pW0y", + "QjdH", + "qgCV" + ], + "texture": 0 + }, + "hkSpGwnR": { + "uv": { + "qgCV": [ + 0.69697, + 0.63259 + ], + "qMuF": [ + 0.66667, + 0.5801 + ], + "FrYg": [ + 0.60606, + 0.5801 + ] + }, + "vertices": [ + "qgCV", + "qMuF", + "FrYg" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "fcd3d424-d6fb-d18d-4e2d-1930b4c0b8e6" + }, + { + "name": "Barrier19", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "lIrd": [ + 7.97619, + 20.50608, + -0.85638 + ], + "t2bZ": [ + 14.77408, + 16.30475, + -0.85638 + ], + "XKGS": [ + 16.87454, + 12.10366, + -7.32115 + ], + "TT9g": [ + 5.37976, + 16.30478, + -13.78618 + ], + "zUlh": [ + 3.2792, + 20.50605, + -7.32118 + ], + "csGR": [ + 12.1773, + 12.10366, + -13.78622 + ] + }, + "faces": { + "xaKteESB": { + "uv": { + "lIrd": [ + 0.42424, + 0.5801 + ], + "t2bZ": [ + 0.39394, + 0.63259 + ], + "XKGS": [ + 0.42424, + 0.68508 + ] + }, + "vertices": [ + "lIrd", + "t2bZ", + "XKGS" + ], + "texture": 0 + }, + "8ngeSaOz": { + "uv": { + "TT9g": [ + 0.51515, + 0.63259 + ], + "zUlh": [ + 0.48485, + 0.5801 + ], + "lIrd": [ + 0.42424, + 0.5801 + ] + }, + "vertices": [ + "TT9g", + "zUlh", + "lIrd" + ], + "texture": 0 + }, + "OhBaOPiD": { + "uv": { + "XKGS": [ + 0.42424, + 0.68508 + ], + "csGR": [ + 0.48485, + 0.68508 + ], + "lIrd": [ + 0.42424, + 0.5801 + ] + }, + "vertices": [ + "XKGS", + "csGR", + "lIrd" + ], + "texture": 0 + }, + "J7r3VruA": { + "uv": { + "csGR": [ + 0.48485, + 0.68508 + ], + "TT9g": [ + 0.51515, + 0.63259 + ], + "lIrd": [ + 0.42424, + 0.5801 + ] + }, + "vertices": [ + "csGR", + "TT9g", + "lIrd" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "77755fa8-c601-10d3-3837-b3468bd8dc96" + }, + { + "name": "Barrier20", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "IZcu": [ + -2.1005, + -20.99888, + 6.4648 + ], + "Plkb": [ + -6.7975, + -20.99891, + 0 + ], + "Iz64": [ + -2.1005, + -20.99888, + -6.4648 + ], + "E3i2": [ + 5.49931, + -20.99888, + 3.99542 + ], + "PdRm": [ + 5.49931, + -20.99888, + -3.99542 + ] + }, + "faces": { + "ja8upiKN": { + "uv": { + "IZcu": [ + 0.15152, + 0.94751 + ], + "Plkb": [ + 0.87879, + 0.94751 + ], + "Iz64": [ + 0.69697, + 0.94751 + ] + }, + "vertices": [ + "IZcu", + "Plkb", + "Iz64" + ], + "texture": 0 + }, + "g7zBloQn": { + "uv": { + "Iz64": [ + 0.69697, + 0.94751 + ], + "E3i2": [ + 0.33333, + 0.94751 + ], + "IZcu": [ + 0.15152, + 0.94751 + ] + }, + "vertices": [ + "Iz64", + "E3i2", + "IZcu" + ], + "texture": 0 + }, + "iaSkji52": { + "uv": { + "Iz64": [ + 0.69697, + 0.94751 + ], + "PdRm": [ + 0.51515, + 0.94751 + ], + "E3i2": [ + 0.33333, + 0.94751 + ] + }, + "vertices": [ + "Iz64", + "PdRm", + "E3i2" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "98c517d9-af86-f1f7-15e7-706cdc5a7225" + }, + { + "name": "Barrier21", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "eNc6": [ + 18.23474, + -11.26981, + 5.25723 + ], + "oXU3": [ + 19.53298, + -4.47227, + 9.25277 + ], + "v45W": [ + 10.63491, + -11.26981, + 15.71755 + ], + "qesY": [ + 12.73544, + -15.47093, + 9.25274 + ], + "fClk": [ + 14.83598, + -4.4723, + 15.7175 + ] + }, + "faces": { + "czOWc0m9": { + "uv": { + "eNc6": [ + 0.33333, + 0.84254 + ], + "oXU3": [ + 0.30303, + 0.79005 + ], + "v45W": [ + 0.21212, + 0.84254 + ] + }, + "vertices": [ + "eNc6", + "oXU3", + "v45W" + ], + "texture": 0 + }, + "PcDsG9ps": { + "uv": { + "qesY": [ + 0.24243, + 0.89503 + ], + "eNc6": [ + 0.33333, + 0.84254 + ], + "v45W": [ + 0.21212, + 0.84254 + ] + }, + "vertices": [ + "qesY", + "eNc6", + "v45W" + ], + "texture": 0 + }, + "2HtM1VXx": { + "uv": { + "oXU3": [ + 0.30303, + 0.79005 + ], + "fClk": [ + 0.24243, + 0.79005 + ], + "v45W": [ + 0.21212, + 0.84254 + ] + }, + "vertices": [ + "oXU3", + "fClk", + "v45W" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "acaf2d7b-dada-e2a1-7217-364a38996fa9" + }, + { + "name": "Barrier22", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "4tBa": [ + -4.8644, + -15.47093, + 14.97136 + ], + "FmtI": [ + 0.63491, + -11.26981, + 18.96678 + ], + "KdKL": [ + -10.36366, + -4.4723, + 18.96683 + ], + "JBqo": [ + -11.66194, + -11.26981, + 14.97141 + ], + "Ogq6": [ + -2.76392, + -4.47224, + 21.43616 + ] + }, + "faces": { + "UBsmS2b1": { + "uv": { + "4tBa": [ + 0.9697, + 0.89503 + ], + "FmtI": [ + 0.15152, + 0.84254 + ], + "KdKL": [ + 0.06061, + 0.79005 + ] + }, + "vertices": [ + "4tBa", + "FmtI", + "KdKL" + ], + "texture": 0 + }, + "cFS39XOs": { + "uv": { + "JBqo": [ + 0.9394, + 0.84254 + ], + "4tBa": [ + 0.9697, + 0.89503 + ], + "KdKL": [ + 0.06061, + 0.79005 + ] + }, + "vertices": [ + "JBqo", + "4tBa", + "KdKL" + ], + "texture": 0 + }, + "KBzO3gqa": { + "uv": { + "FmtI": [ + 0.15152, + 0.84254 + ], + "Ogq6": [ + 0.12121, + 0.79005 + ], + "KdKL": [ + 0.06061, + 0.79005 + ] + }, + "vertices": [ + "FmtI", + "Ogq6", + "KdKL" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "c8d44095-5fc1-3347-524f-7445a11e5732" + }, + { + "name": "Barrier23", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "muYb": [ + -17.84248, + -11.26981, + -6.46477 + ], + "fRkY": [ + -15.74202, + -15.4709, + 0 + ], + "6q3M": [ + -17.84248, + -11.26981, + 6.46477 + ], + "D2fl": [ + -21.24126, + -4.47227, + -3.99539 + ], + "ypKx": [ + -21.24126, + -4.47227, + 3.99539 + ] + }, + "faces": { + "wkWcI2Y3": { + "uv": { + "muYb": [ + 0.75758, + 0.84254 + ], + "fRkY": [ + 0.78788, + 0.89503 + ], + "6q3M": [ + 0.87879, + 0.84254 + ] + }, + "vertices": [ + "muYb", + "fRkY", + "6q3M" + ], + "texture": 0 + }, + "oVsURH9K": { + "uv": { + "6q3M": [ + 0.87879, + 0.84254 + ], + "D2fl": [ + 0.78788, + 0.79005 + ], + "muYb": [ + 0.75758, + 0.84254 + ] + }, + "vertices": [ + "6q3M", + "D2fl", + "muYb" + ], + "texture": 0 + }, + "CdYPQXtk": { + "uv": { + "6q3M": [ + 0.87879, + 0.84254 + ], + "ypKx": [ + 0.84848, + 0.79005 + ], + "D2fl": [ + 0.78788, + 0.79005 + ] + }, + "vertices": [ + "6q3M", + "ypKx", + "D2fl" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "4b82495b-f06e-a90c-ed3c-7614ecda8d9c" + }, + { + "name": "Barrier24", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "NE11": [ + 0.63491, + -11.26981, + -18.96678 + ], + "YxTY": [ + -4.8644, + -15.47093, + -14.97136 + ], + "aa9J": [ + -11.66194, + -11.26981, + -14.97141 + ], + "8Dae": [ + -10.36366, + -4.4723, + -18.96683 + ], + "YvlI": [ + -2.76392, + -4.47224, + -21.43616 + ] + }, + "faces": { + "GPhPTshD": { + "uv": { + "NE11": [ + 0.57576, + 0.84254 + ], + "YxTY": [ + 0.60606, + 0.89503 + ], + "aa9J": [ + 0.69697, + 0.84254 + ] + }, + "vertices": [ + "NE11", + "YxTY", + "aa9J" + ], + "texture": 0 + }, + "SejV0AIJ": { + "uv": { + "8Dae": [ + 0.66667, + 0.79005 + ], + "YvlI": [ + 0.60606, + 0.79005 + ], + "NE11": [ + 0.57576, + 0.84254 + ] + }, + "vertices": [ + "8Dae", + "YvlI", + "NE11" + ], + "texture": 0 + }, + "o3v4kNYp": { + "uv": { + "aa9J": [ + 0.69697, + 0.84254 + ], + "8Dae": [ + 0.66667, + 0.79005 + ], + "NE11": [ + 0.57576, + 0.84254 + ] + }, + "vertices": [ + "aa9J", + "8Dae", + "NE11" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "b2ac7b55-8b42-54b1-db4e-153957427815" + }, + { + "name": "Barrier25", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "Vp7c": [ + 18.23474, + -11.26981, + -5.25723 + ], + "85VE": [ + 12.73544, + -15.47093, + -9.25274 + ], + "Lnxh": [ + 14.83598, + -4.4723, + -15.7175 + ], + "EUVE": [ + 19.53298, + -4.47227, + -9.25277 + ], + "tZ8r": [ + 10.63491, + -11.26981, + -15.71755 + ] + }, + "faces": { + "hRmwvBcn": { + "uv": { + "Vp7c": [ + 0.39394, + 0.84254 + ], + "85VE": [ + 0.42424, + 0.89503 + ], + "Lnxh": [ + 0.48485, + 0.79005 + ] + }, + "vertices": [ + "Vp7c", + "85VE", + "Lnxh" + ], + "texture": 0 + }, + "IMf3ldec": { + "uv": { + "EUVE": [ + 0.42424, + 0.79005 + ], + "Vp7c": [ + 0.39394, + 0.84254 + ], + "Lnxh": [ + 0.48485, + 0.79005 + ] + }, + "vertices": [ + "EUVE", + "Vp7c", + "Lnxh" + ], + "texture": 0 + }, + "203M88cT": { + "uv": { + "85VE": [ + 0.42424, + 0.89503 + ], + "tZ8r": [ + 0.51515, + 0.84254 + ], + "Lnxh": [ + 0.48485, + 0.79005 + ] + }, + "vertices": [ + "85VE", + "tZ8r", + "Lnxh" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "595fb404-7e48-c586-e605-c71607e492cd" + }, + { + "name": "Barrier26", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "UrRE": [ + -0.63491, + 11.26981, + 18.96678 + ], + "HQLB": [ + 2.76392, + 4.47224, + 21.43616 + ], + "f3hl": [ + 10.36366, + 4.4723, + 18.96683 + ], + "qV6s": [ + 4.8644, + 15.47093, + 14.97136 + ], + "Mlw8": [ + 11.66194, + 11.26981, + 14.97141 + ] + }, + "faces": { + "3mZNNq28": { + "uv": { + "UrRE": [ + 0.12121, + 0.68508 + ], + "HQLB": [ + 0.15152, + 0.73757 + ], + "f3hl": [ + 0.21212, + 0.73756 + ] + }, + "vertices": [ + "UrRE", + "HQLB", + "f3hl" + ], + "texture": 0 + }, + "drL3vwpz": { + "uv": { + "f3hl": [ + 0.21212, + 0.73756 + ], + "qV6s": [ + 0.21212, + 0.63259 + ], + "UrRE": [ + 0.12121, + 0.68508 + ] + }, + "vertices": [ + "f3hl", + "qV6s", + "UrRE" + ], + "texture": 0 + }, + "6OkNCR9T": { + "uv": { + "f3hl": [ + 0.21212, + 0.73756 + ], + "Mlw8": [ + 0.24242, + 0.68508 + ], + "qV6s": [ + 0.21212, + 0.63259 + ] + }, + "vertices": [ + "f3hl", + "Mlw8", + "qV6s" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "d65c0226-7d52-b075-5175-d36a91241998" + }, + { + "name": "Barrier27", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "XCha": [ + -18.23474, + 11.26981, + 5.25723 + ], + "uMQ6": [ + -19.53298, + 4.47227, + 9.25277 + ], + "ozy5": [ + -14.83598, + 4.4723, + 15.7175 + ], + "z59j": [ + -12.73544, + 15.47093, + 9.25274 + ], + "TWQ0": [ + -10.63491, + 11.26981, + 15.71755 + ] + }, + "faces": { + "s82K64dY": { + "uv": { + "XCha": [ + 0.84849, + 0.68508 + ], + "uMQ6": [ + 0.87879, + 0.73757 + ], + "ozy5": [ + 0.93939, + 0.73756 + ] + }, + "vertices": [ + "XCha", + "uMQ6", + "ozy5" + ], + "texture": 0 + }, + "VyOSfUkW": { + "uv": { + "ozy5": [ + 0.93939, + 0.73756 + ], + "z59j": [ + 0.0303, + 0.63259 + ], + "XCha": [ + 0.84849, + 0.68508 + ] + }, + "vertices": [ + "ozy5", + "z59j", + "XCha" + ], + "texture": 0 + }, + "foS0oRcv": { + "uv": { + "ozy5": [ + 0.93939, + 0.73756 + ], + "TWQ0": [ + 0.06061, + 0.68508 + ], + "z59j": [ + 0.0303, + 0.63259 + ] + }, + "vertices": [ + "ozy5", + "TWQ0", + "z59j" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "95d92578-f05d-6718-6c5d-19a7ae5d2198" + }, + { + "name": "Barrier28", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "fRsf": [ + -10.63491, + 11.26981, + -15.71755 + ], + "awoe": [ + -14.83598, + 4.4723, + -15.7175 + ], + "nOCi": [ + -19.53298, + 4.47227, + -9.25277 + ], + "98zR": [ + -18.23474, + 11.26981, + -5.25723 + ], + "YFOh": [ + -12.73544, + 15.47093, + -9.25274 + ] + }, + "faces": { + "EVUdOq2A": { + "uv": { + "fRsf": [ + 0.66667, + 0.68508 + ], + "awoe": [ + 0.69697, + 0.73756 + ], + "nOCi": [ + 0.75758, + 0.73757 + ] + }, + "vertices": [ + "fRsf", + "awoe", + "nOCi" + ], + "texture": 0 + }, + "qNc0OG7W": { + "uv": { + "98zR": [ + 0.78788, + 0.68508 + ], + "YFOh": [ + 0.75758, + 0.63259 + ], + "fRsf": [ + 0.66667, + 0.68508 + ] + }, + "vertices": [ + "98zR", + "YFOh", + "fRsf" + ], + "texture": 0 + }, + "DY4R9H9H": { + "uv": { + "nOCi": [ + 0.75758, + 0.73757 + ], + "98zR": [ + 0.78788, + 0.68508 + ], + "fRsf": [ + 0.66667, + 0.68508 + ] + }, + "vertices": [ + "nOCi", + "98zR", + "fRsf" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "683c9e1e-db34-3c25-fad5-5077a386f2a2" + }, + { + "name": "Barrier29", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "tAxH": [ + 10.36366, + 4.4723, + -18.96683 + ], + "fsab": [ + 2.76392, + 4.47224, + -21.43616 + ], + "7nNh": [ + 4.8644, + 15.47093, + -14.97136 + ], + "3rOe": [ + 11.66194, + 11.26981, + -14.97139 + ], + "8Zwk": [ + -0.63491, + 11.26981, + -18.96678 + ] + }, + "faces": { + "6pjjUSla": { + "uv": { + "tAxH": [ + 0.51515, + 0.73756 + ], + "fsab": [ + 0.57576, + 0.73757 + ], + "7nNh": [ + 0.57576, + 0.63259 + ] + }, + "vertices": [ + "tAxH", + "fsab", + "7nNh" + ], + "texture": 0 + }, + "D31ETL9A": { + "uv": { + "3rOe": [ + 0.48485, + 0.68508 + ], + "tAxH": [ + 0.51515, + 0.73756 + ], + "7nNh": [ + 0.57576, + 0.63259 + ] + }, + "vertices": [ + "3rOe", + "tAxH", + "7nNh" + ], + "texture": 0 + }, + "hLGJEHR4": { + "uv": { + "fsab": [ + 0.57576, + 0.73757 + ], + "8Zwk": [ + 0.60606, + 0.68508 + ], + "7nNh": [ + 0.57576, + 0.63259 + ] + }, + "vertices": [ + "fsab", + "8Zwk", + "7nNh" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "323bd6cd-e7fb-1861-d7e5-a99f1c459480" + }, + { + "name": "Barrier30", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "E9s0": [ + 17.84248, + 11.26981, + 6.46477 + ], + "cSOT": [ + 21.24126, + 4.47227, + 3.99539 + ], + "TLiD": [ + 21.24126, + 4.47227, + -3.99539 + ], + "DBUq": [ + 17.84248, + 11.26981, + -6.46477 + ], + "enpU": [ + 15.74202, + 15.4709, + 0 + ] + }, + "faces": { + "xNDk2hTp": { + "uv": { + "E9s0": [ + 0.30303, + 0.68508 + ], + "cSOT": [ + 0.33334, + 0.73757 + ], + "TLiD": [ + 0.39394, + 0.73757 + ] + }, + "vertices": [ + "E9s0", + "cSOT", + "TLiD" + ], + "texture": 0 + }, + "rcve7zmH": { + "uv": { + "DBUq": [ + 0.42424, + 0.68508 + ], + "enpU": [ + 0.39394, + 0.63259 + ], + "E9s0": [ + 0.30303, + 0.68508 + ] + }, + "vertices": [ + "DBUq", + "enpU", + "E9s0" + ], + "texture": 0 + }, + "1iW0uVoe": { + "uv": { + "TLiD": [ + 0.39394, + 0.73757 + ], + "DBUq": [ + 0.42424, + 0.68508 + ], + "E9s0": [ + 0.30303, + 0.68508 + ] + }, + "vertices": [ + "TLiD", + "DBUq", + "E9s0" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "2cf404c2-242e-63dc-bb97-a00238d7b0c8" + }, + { + "name": "Barrier31", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "HHVw": [ + 2.1005, + 20.99888, + 6.4648 + ], + "jo7T": [ + 6.7975, + 20.99891, + 0 + ], + "HKP0": [ + -5.49931, + 20.99888, + -3.99542 + ], + "SfNH": [ + -5.49931, + 20.99888, + 3.99542 + ], + "YIUB": [ + 2.1005, + 20.99888, + -6.4648 + ] + }, + "faces": { + "9RPwbRVR": { + "uv": { + "HHVw": [ + 0.12121, + 0.5801 + ], + "jo7T": [ + 0.30303, + 0.5801 + ], + "HKP0": [ + 0.66667, + 0.5801 + ] + }, + "vertices": [ + "HHVw", + "jo7T", + "HKP0" + ], + "texture": 0 + }, + "Q14gqgUR": { + "uv": { + "SfNH": [ + 0.84849, + 0.5801 + ], + "HHVw": [ + 0.12121, + 0.5801 + ], + "HKP0": [ + 0.66667, + 0.5801 + ] + }, + "vertices": [ + "SfNH", + "HHVw", + "HKP0" + ], + "texture": 0 + }, + "mjEqMUQV": { + "uv": { + "jo7T": [ + 0.30303, + 0.5801 + ], + "YIUB": [ + 0.48485, + 0.5801 + ], + "HKP0": [ + 0.66667, + 0.5801 + ] + }, + "vertices": [ + "jo7T", + "YIUB", + "HKP0" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "1943b182-ca0d-5c04-2b60-b8ddd491658a" + }, + { + "name": "Barrier32", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "E26f": [ + -7.97619, + -20.50608, + 0.85638 + ], + "vKiz": [ + -3.2792, + -20.50605, + 7.32118 + ], + "ZTJ5": [ + -12.1773, + -12.10366, + 13.78622 + ], + "dm81": [ + -14.77408, + -16.30475, + 0.85638 + ], + "5qLS": [ + -5.37976, + -16.30478, + 13.78618 + ], + "fytA": [ + -16.87454, + -12.10366, + 7.32115 + ] + }, + "faces": { + "mv6HvYXc": { + "uv": { + "E26f": [ + 0.87879, + 0.94751 + ], + "vKiz": [ + 0.93939, + 0.94751 + ], + "ZTJ5": [ + 0.9394, + 0.84254 + ] + }, + "vertices": [ + "E26f", + "vKiz", + "ZTJ5" + ], + "texture": 0 + }, + "PdbIjNJE": { + "uv": { + "dm81": [ + 0.84848, + 0.89503 + ], + "E26f": [ + 0.87879, + 0.94751 + ], + "ZTJ5": [ + 0.9394, + 0.84254 + ] + }, + "vertices": [ + "dm81", + "E26f", + "ZTJ5" + ], + "texture": 0 + }, + "vax1ynRt": { + "uv": { + "vKiz": [ + 0.93939, + 0.94751 + ], + "5qLS": [ + 0.9697, + 0.89503 + ], + "ZTJ5": [ + 0.9394, + 0.84254 + ] + }, + "vertices": [ + "vKiz", + "5qLS", + "ZTJ5" + ], + "texture": 0 + }, + "Kgsk2Owa": { + "uv": { + "ZTJ5": [ + 0.9394, + 0.84254 + ], + "fytA": [ + 0.87879, + 0.84254 + ], + "dm81": [ + 0.84848, + 0.89503 + ] + }, + "vertices": [ + "ZTJ5", + "fytA", + "dm81" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "ef1b976b-af20-7115-2e50-08dcabfcc111" + } + ], + "outliner": [ + { + "name": "Barrier", + "origin": [ + 0, + 16, + 0 + ], + "color": 0, + "uuid": "def79492-697f-2380-47e9-18813f1756d0", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1ffcfe1b-dd45-30ab-3d50-3eb527527f64", + "28326e39-14dc-4a63-19b6-00c93a838274", + "89ca0220-5946-6fb4-0562-9cc2170a16fd", + "e2fcefb7-9c37-6ff5-68e4-8627896caea9", + "0892b9ea-ea94-207c-1f9a-2f8628aac120", + "b353e066-b7eb-5d49-03d0-6bffec0918a0", + "cf598a49-f1eb-47bc-8232-487d7ce031d1", + "8cda9be7-5fa4-c07d-0003-2f7bc1954175", + "bc33b5aa-6b23-ab8a-be66-fa3752a03424", + "1b3fb0cd-4643-e05d-049e-7948bd8339b9", + "df2ad74a-22a2-510c-8f34-9895b418553d", + "70bc7923-bd95-97a0-b5e5-a6e107c8b9f3", + "c7fee38e-2c47-a2f7-7226-1cab458ce078", + "45b3660e-3b5c-a4ef-ca94-b53cb44d79ae", + "0eb84df0-6dcf-d820-ca27-bc7705c5c5d2", + "d1cb7706-eef3-1779-2707-cdfe2d72b62e", + "0d00fdac-233d-4adf-53c6-a02afd385a9b", + "fcd3d424-d6fb-d18d-4e2d-1930b4c0b8e6", + "77755fa8-c601-10d3-3837-b3468bd8dc96", + "98c517d9-af86-f1f7-15e7-706cdc5a7225", + "acaf2d7b-dada-e2a1-7217-364a38996fa9", + "c8d44095-5fc1-3347-524f-7445a11e5732", + "4b82495b-f06e-a90c-ed3c-7614ecda8d9c", + "b2ac7b55-8b42-54b1-db4e-153957427815", + "595fb404-7e48-c586-e605-c71607e492cd", + "d65c0226-7d52-b075-5175-d36a91241998", + "95d92578-f05d-6718-6c5d-19a7ae5d2198", + "683c9e1e-db34-3c25-fad5-5077a386f2a2", + "323bd6cd-e7fb-1861-d7e5-a99f1c459480", + "2cf404c2-242e-63dc-bb97-a00238d7b0c8", + "1943b182-ca0d-5c04-2b60-b8ddd491658a", + "ef1b976b-af20-7115-2e50-08dcabfcc111" + ] + } + ], + "textures": [ + { + "path": "", + "name": "barrier.png", + "folder": "", + "namespace": "", + "id": "0", + "particle": false, + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "mode": "bitmap", + "saved": true, + "uuid": "fed26a56-fb52-7c1b-1747-2bd753a9a9ab", + "relative_path": "../../textures/barrier.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAA1JREFUGFdjOP///38ACTsDzcqK7YcAAAAASUVORK5CYII=" + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Midori/models/bubble.bbmodel b/config/yosbr/config/figura/avatars/Midori/models/bubble.bbmodel new file mode 100644 index 0000000..a0f30c1 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/models/bubble.bbmodel @@ -0,0 +1,928 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "bubble", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 16, + "height": 16 + }, + "elements": [ + { + "name": "Bubble", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + -4, + 0 + ], + "to": [ + 5, + 4, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ee16cd89-5e16-d1c0-bdb4-bec63d4d29dc" + }, + { + "name": "Emoji", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + -2.5, + -0.05 + ], + "to": [ + 3.5, + 2.5, + -0.05 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e1f1401a-3276-4ed6-1633-16078de30336" + }, + { + "name": "Bullet1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1.9375, + -1.875, + -0.1 + ], + "to": [ + 3.1875, + 1.875, + -0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "015d120f-7c4c-05e7-86b8-e442d2ca89ce" + }, + { + "name": "Bullet2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.375, + -1.875, + -0.1 + ], + "to": [ + 1.625, + 1.875, + -0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "71c04be5-6d32-4cee-9e7d-b8d98db60f7d" + }, + { + "name": "Bullet3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.1875, + -1.875, + -0.1 + ], + "to": [ + 0.0625, + 1.875, + -0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "c13ac616-5ee7-3b04-83ed-f9490507b4f8" + }, + { + "name": "Dot1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2.25, + -0.625, + -0.1 + ], + "to": [ + 3.5, + 0.625, + -0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f336f75d-4273-d986-7b79-5028befe8efc" + }, + { + "name": "Dot2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.375, + -0.625, + -0.1 + ], + "to": [ + 1.625, + 0.625, + -0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9d1c3e18-15c3-3c07-f04a-d705ceec1fed" + }, + { + "name": "Dot3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + -0.625, + -0.1 + ], + "to": [ + -0.25, + 0.625, + -0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "23a7b4da-5022-66ac-bfac-23544ab88f69" + } + ], + "outliner": [ + { + "name": "Camera", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "1ad8e11f-891c-06f0-491f-55ff468a6e74", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "AvatarBubble", + "origin": [ + -3, + -4, + 0 + ], + "color": 0, + "uuid": "ce33d433-402d-decd-b93f-250225de88c7", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ee16cd89-5e16-d1c0-bdb4-bec63d4d29dc", + "e1f1401a-3276-4ed6-1633-16078de30336", + { + "name": "Bullets", + "origin": [ + 1, + 0, + 0 + ], + "color": 0, + "uuid": "2a47b3c1-ef22-e939-70d9-e17ea10d79d9", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "015d120f-7c4c-05e7-86b8-e442d2ca89ce", + "71c04be5-6d32-4cee-9e7d-b8d98db60f7d", + "c13ac616-5ee7-3b04-83ed-f9490507b4f8" + ] + }, + { + "name": "Dots", + "origin": [ + -3, + -4, + 0 + ], + "color": 0, + "uuid": "55f984b9-0c0d-7ae1-712d-78a7d7fbfa03", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f336f75d-4273-d986-7b79-5028befe8efc", + "9d1c3e18-15c3-3c07-f04a-d705ceec1fed", + "23a7b4da-5022-66ac-bfac-23544ab88f69" + ] + } + ] + } + ] + } + ], + "textures": [ + { + "path": "", + "name": "bubble.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "849f6abb-5d52-7cbc-bc5e-c54506c00158", + "relative_path": "../../textures/bubble.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAGhJREFUOE/tk0sOABAMRNul+1/WroKO+KcSdqykzGvDDNN8yaLOfb0vJKHIXM9cro+brFs1bvsqKEFAMouBAuQK4Lh7PUWc4AMuvIGaz2aiJz4A1Pyd6kJHRP44TMgLIEM8dZxdnJuzAGqUPxJDQDMGAAAAAElFTkSuQmCC" + }, + { + "path": "", + "name": "reload.png", + "folder": "", + "namespace": "", + "id": "4", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "e5650158-1574-55d1-6b46-d58173bbb96b", + "relative_path": "../../textures/emojis/reload.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAEpJREFUOE9jZKAQMFKonwFuwOf37/+DDOMVFCRJjCTFIAvQLQIbABKE2QxjEys2aoAg42gYIIUBcp4AJSpYioOJ4xKjXmYiN1cCAKtG/BHrN3pVAAAAAElFTkSuQmCC" + }, + { + "path": "", + "name": "bullet.png", + "folder": "", + "namespace": "", + "id": "5", + "width": 4, + "height": 12, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "1a2d73a2-6180-0319-1efb-16f49aa91e7a", + "relative_path": "../../textures/bullet.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAMCAYAAABFohwTAAAAAXNSR0IArs4c6QAAAGdJREFUGFdjTEhI4Pj1/f93LpbvDH9YuTgZMQSiwuP/V4azMOh4+TKkJi9jYAQJJDt+ZHAK9GFILdoFESj0/cpgEuTBkJoKFSCsAqwlrJAhNXEikhl4BVKdXjE4xAZDbEmJDvvPgAQAMBRGJaIzndEAAAAASUVORK5CYII=" + }, + { + "path": "", + "name": "dots.png", + "folder": "", + "namespace": "", + "id": "3", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "7dda2e3d-9f23-52bb-e799-b8a2879d3871", + "relative_path": "../../textures/emojis/dots.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAADhJREFUOE9jZKAQMFKon2HUAAZIGHx+//4/iOYVFEQJE2LEGWGKYLEBM4RYccoNoNgLowlpEOQFAJrjL7ESx0KNAAAAAElFTkSuQmCC" + }, + { + "path": "", + "name": "black_dot.png", + "folder": "", + "namespace": "", + "id": "6", + "width": 4, + "height": 4, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "d1f6e856-c31e-ace6-6507-d03259b83bf5", + "relative_path": "../../textures/emojis/black_dot.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAABhJREFUGFdjZICA/1CakRGJAxbDKoCiBQCSkQQDt6KjJwAAAABJRU5ErkJggg==" + }, + { + "path": "", + "name": "v.png", + "folder": "", + "namespace": "", + "id": "7", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "6ac75544-0e32-1f38-d964-174a2f8b0784", + "relative_path": "../../textures/emojis/v.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAN5JREFUOE9jZMABouxY/4Oklh36zQhTgk0MLolsDkjh0n5Fhu+vBBlS2s+BDcEmBtIzSA0AOQ3dyehegnkZpxdACpA1EWUALJRBio+c/spgY8qNEkfIgYrhApiTQRqN5WUYzj58wjB92SuMSEaOVpRYABkwp9IIrBFkACj6QC5BBgRdADMApAlkO4iPDmDpAqsXMqPEwOIwv0cX3kfRjy0gUZIpupNBukHOBnkLZii6N/AagK4ZZiCyN1DSASwmsOUvkGEggDMM0HMcegCCNKLnTpyZCZaUkV2CHv8wOQAVKMsRnzJuagAAAABJRU5ErkJggg==" + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Midori/models/bullet.bbmodel b/config/yosbr/config/figura/avatars/Midori/models/bullet.bbmodel new file mode 100644 index 0000000..6095e9d --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/models/bullet.bbmodel @@ -0,0 +1,237 @@ +{ + "meta": { + "format_version": "4.5", + "model_format": "free", + "box_uv": false + }, + "name": "bullet", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 4, + "height": 12 + }, + "elements": [ + { + "name": "Bullet1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 0, + -1 + ], + "to": [ + 0.5, + 1, + 1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 3, + 2, + 4 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 3, + 2, + 11 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 1, + 10, + 2, + 11 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 3, + 2, + 11 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 1, + 3, + 2, + 11 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 3, + 2, + 11 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "eb1cee40-d947-b0fd-992e-a0445207f5c3" + }, + { + "name": "Bullet2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.375, + 0.125, + -1.25 + ], + "to": [ + 0.375, + 0.875, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c69c3bcf-da9b-3ad4-7d0a-e697c8066967" + } + ], + "outliner": [ + { + "name": "Arrow", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "0c9fab8f-3742-3b33-0bef-de2eca96287f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "eb1cee40-d947-b0fd-992e-a0445207f5c3", + "c69c3bcf-da9b-3ad4-7d0a-e697c8066967" + ] + } + ], + "textures": [ + { + "path": "", + "name": "bullet.png", + "folder": "", + "namespace": "", + "id": "0", + "particle": false, + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "mode": "bitmap", + "saved": true, + "uuid": "d4264722-75e2-f338-9736-9de1cd8631d0", + "relative_path": "../../textures/bullet.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAMCAYAAABFohwTAAAAAXNSR0IArs4c6QAAAGdJREFUGFdjTEhI4Pj1/f93LpbvDH9YuTgZMQSiwuP/V4azMOh4+TKkJi9jYAQJJDt+ZHAK9GFILdoFESj0/cpgEuTBkJoKFSCsAqwlrJAhNXEikhl4BVKdXjE4xAZDbEmJDvvPgAQAMBRGJaIzndEAAAAASUVORK5CYII=" + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Midori/models/costume_maid.bbmodel b/config/yosbr/config/figura/avatars/Midori/models/costume_maid.bbmodel new file mode 100644 index 0000000..4e56df4 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/models/costume_maid.bbmodel @@ -0,0 +1,2867 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "costume_maid", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 80, + "height": 193 + }, + "elements": [ + { + "name": "Brim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5, + 30, + -2 + ], + "to": [ + 5, + 33, + -2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + -5, + 31, + -2 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 10, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 10, + 0, + 0, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "1e981720-d6d9-f09b-e577-706de32bb630" + }, + { + "name": "BrimLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5, + 30, + -2 + ], + "to": [ + 5, + 33, + -2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.15, + "origin": [ + -5, + 31, + -2 + ], + "faces": { + "north": { + "uv": [ + 0, + 3, + 10, + 6 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 10, + 3, + 0, + 6 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "3aadc8d9-06fa-5eef-4dbc-ca941db9ade4" + }, + { + "name": "Skirt1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.5, + 13, + -3 + ], + "to": [ + 4.5, + 14, + 3 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 6, + 18, + 15, + 19 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 18, + 6, + 19 + ], + "texture": 0 + }, + "south": { + "uv": [ + 21, + 18, + 30, + 19 + ], + "texture": 0 + }, + "west": { + "uv": [ + 15, + 18, + 21, + 19 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 12, + 15, + 18 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "c1808908-2ddc-710e-bc1a-39fee1d58add" + }, + { + "name": "Skirt2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5.25, + 11, + -4 + ], + "to": [ + 4.75, + 13, + 4 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 27, + 18, + 29 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 27, + 8, + 29 + ], + "texture": 0 + }, + "south": { + "uv": [ + 26, + 27, + 36, + 29 + ], + "texture": 0 + }, + "west": { + "uv": [ + 18, + 27, + 26, + 29 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 19, + 18, + 27 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b14062a5-8fd5-8a1d-20f0-07f95185da2b" + }, + { + "name": "Skirt3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5.75, + 8, + -5 + ], + "to": [ + 5.25, + 11, + 5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 10, + 39, + 21, + 42 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 39, + 10, + 42 + ], + "texture": 0 + }, + "south": { + "uv": [ + 31, + 39, + 42, + 42 + ], + "texture": 0 + }, + "west": { + "uv": [ + 21, + 39, + 31, + 42 + ], + "texture": 0 + }, + "up": { + "uv": [ + 10, + 29, + 21, + 39 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "576cb769-b524-e434-9505-500ecc812775" + }, + { + "name": "Skirt4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -6.25, + 4, + -6 + ], + "to": [ + 5.75, + 8, + 6 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 12, + 54, + 24, + 58 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 54, + 12, + 58 + ], + "texture": 0 + }, + "south": { + "uv": [ + 36, + 54, + 48, + 58 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 54, + 36, + 58 + ], + "texture": 0 + }, + "up": { + "uv": [ + 12, + 42, + 24, + 54 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "1e8a9fce-e1fb-7b7e-7eb2-4a793ebcd958" + }, + { + "name": "Skirt4Layer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -6.25, + 4, + -6 + ], + "to": [ + 5.75, + 8, + 6 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 12, + 70, + 24, + 74 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 70, + 12, + 74 + ], + "texture": 0 + }, + "south": { + "uv": [ + 36, + 70, + 48, + 74 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 70, + 36, + 74 + ], + "texture": 0 + }, + "up": { + "uv": [ + 12, + 58, + 24, + 70 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "1795ac0b-b779-832b-a965-2dc00d907490" + }, + { + "name": "Skirt4Ring", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -6.25, + 5.375, + -6 + ], + "to": [ + 5.75, + 5.625, + 6 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 42, + 1, + 43 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 42, + 1, + 43 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 42, + 1, + 43 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 42, + 1, + 43 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "4a4353a6-3e3e-ddf5-073b-2b5aa53b7eac" + }, + { + "name": "OOLogoRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 5.76, + 5.85, + 0.68 + ], + "to": [ + 5.76, + 6.85, + 1.823 + ], + "autouv": 0, + "color": 0, + "origin": [ + 5, + 18, + 2 + ], + "faces": { + "north": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "east": { + "uv": [ + 27, + 74, + 43, + 88 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6e195df0-bf76-310c-06fd-394a4ff07e7f" + }, + { + "name": "RibbonCenter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 14.5, + 2 + ], + "to": [ + 0.5, + 15.5, + 3 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 14.5, + 2 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b984c931-e06a-4a7b-03ee-8402dbbf3150" + }, + { + "name": "RibbonLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.5, + 14, + 2.25 + ], + "to": [ + -0.5, + 16, + 2.75 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -10, + 0, + 0 + ], + "origin": [ + -0.5, + 15, + 2.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 26, + 0, + 32, + 4 + ], + "texture": 0 + }, + "west": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c346cb04-2149-cdf6-7c2d-2f066237567c" + }, + { + "name": "RibbonRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.5, + 14, + 2.25 + ], + "to": [ + 3.5, + 16, + 2.75 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -10, + 0, + 0 + ], + "origin": [ + 0.5, + 15, + 2.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 27, + 0, + 26, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 32, + 0, + 26, + 4 + ], + "texture": 0 + }, + "west": { + "uv": [ + 27, + 0, + 26, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 27, + 0, + 26, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 27, + 0, + 26, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d3f2aef2-36ba-e71f-7f32-160b01ad665b" + }, + { + "name": "RibbonBottomRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 4.5, + 2.25 + ], + "to": [ + 0.5, + 14.5, + 2.75 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -6, + 0, + -20 + ], + "origin": [ + 0.5, + 14.5, + 2.5 + ], + "faces": { + "north": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d398e136-305b-ff2e-9e3e-f24bb46043e3" + }, + { + "name": "RibbonBottomLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 4.5, + 2.25 + ], + "to": [ + 1, + 14.5, + 2.75 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -6, + 0, + 20 + ], + "origin": [ + -0.5, + 14.5, + 2.5 + ], + "faces": { + "north": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "0f145497-236a-8d3e-289e-49bd0ba364b5" + }, + { + "name": "Accessory", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.75, + 14.25, + 0.5 + ], + "to": [ + 4.25, + 15.25, + 1.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + 25 + ], + "origin": [ + 3.75, + 15.25, + 1 + ], + "faces": { + "north": { + "uv": [ + 26, + 4, + 27, + 5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 26, + 4, + 33, + 11 + ], + "texture": 0 + }, + "south": { + "uv": [ + 26, + 4, + 27, + 5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 26, + 4, + 27, + 5 + ], + "texture": 0 + }, + "down": { + "uv": [ + 26, + 4, + 27, + 5 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "11e5075c-d603-b3af-f4b1-6eafe78e847a" + }, + { + "name": "SleeveLing", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 14.375, + -2 + ], + "to": [ + -4, + 14.625, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 5, + 18, + 2 + ], + "faces": { + "north": { + "uv": [ + 0, + 74, + 1, + 75 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 74, + 1, + 75 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 74, + 1, + 75 + ], + "texture": 0 + }, + "west": { + "uv": [ + 13, + 74, + 17, + 75 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ff976ee6-ade7-13f0-bbd7-4ecd37ed1751" + }, + { + "name": "MillenniumLogo", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7.01, + 14.1, + -0.57 + ], + "to": [ + -7.01, + 14.9, + 0.57 + ], + "autouv": 0, + "color": 0, + "origin": [ + 5, + 18, + 2 + ], + "faces": { + "north": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 74, + 27, + 93 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "978b23f9-f6a8-b438-d1d0-dc03c5b8f55e" + }, + { + "name": "MillenniumLogo", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 7.01, + 14.1, + -0.57 + ], + "to": [ + 7.01, + 14.9, + 0.57 + ], + "autouv": 0, + "color": 0, + "origin": [ + 5, + 18, + 2 + ], + "faces": { + "north": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 74, + 27, + 93 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "4bf8bdcd-03e6-ad05-9e85-280ce67a5fe3" + }, + { + "name": "SleeveLing", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 14.375, + -2 + ], + "to": [ + 7, + 14.625, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 5, + 18, + 2 + ], + "faces": { + "north": { + "uv": [ + 0, + 74, + 1, + 75 + ], + "texture": 0 + }, + "east": { + "uv": [ + 13, + 74, + 17, + 75 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 74, + 1, + 75 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 74, + 1, + 75 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "bfd9bcde-df77-5688-71ad-f9e6de0a52d7" + }, + { + "name": "OOLogoLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -6.26, + 5.85, + 0.68 + ], + "to": [ + -6.26, + 6.85, + 1.823 + ], + "autouv": 0, + "color": 0, + "origin": [ + -5, + 18, + 2 + ], + "faces": { + "north": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "east": { + "uv": [ + 27, + 74, + 43, + 88 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "0e20a754-447f-185e-134e-9163bf8bb894" + }, + { + "name": "HairTail1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.75, + 24.75, + 4.25 + ], + "to": [ + 0.75, + 26.25, + 5.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 16, + 9, + 13, + 12 + ], + "texture": 0 + }, + "east": { + "uv": [ + 19, + 9, + 16, + 12 + ], + "texture": 0 + }, + "south": { + "uv": [ + 22, + 9, + 19, + 12 + ], + "texture": 0 + }, + "west": { + "uv": [ + 13, + 9, + 10, + 12 + ], + "texture": 0 + }, + "up": { + "uv": [ + 16, + 6, + 13, + 9 + ], + "texture": 0 + }, + "down": { + "uv": [ + 19, + 6, + 16, + 9 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "13cc3dd9-6388-63c2-d33c-ca55c775162d" + }, + { + "name": "HairTie", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 25, + 4 + ], + "to": [ + 0.5, + 26, + 4.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 10, + 0, + 11, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 10, + 0, + 11, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 10, + 0, + 11, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 10, + 0, + 11, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "67920b89-ce40-b067-cfb1-c2ab4e63d6ef" + }, + { + "name": "HairTail2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.75, + 23, + 5 + ], + "to": [ + 0.75, + 25.5, + 6.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -27.25, + -5.5, + 2.25 + ], + "faces": { + "north": { + "uv": [ + 18, + 3, + 13, + 6 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 23, + 0, + 18, + 3 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 26, + 3, + 21, + 6 + ], + "rotation": 270, + "texture": 0 + }, + "west": { + "uv": [ + 18, + 0, + 13, + 3 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 21, + 3, + 18, + 6 + ], + "rotation": 270, + "texture": 0 + }, + "down": { + "uv": [ + 13, + 3, + 10, + 6 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "1f91fff1-f0c9-9dd0-6694-7a7f6e844235" + }, + { + "name": "HairTieTip1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 26, + 4 + ], + "to": [ + 0, + 26.5, + 4.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 15, + 0, + 0 + ], + "origin": [ + 0, + 26, + 4 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "east": { + "uv": [ + 10, + 0, + 11, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "west": { + "uv": [ + 10, + 0, + 11, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ] + } + }, + "type": "cube", + "uuid": "0fee99e5-f20e-8515-2cce-44561b67be5f" + }, + { + "name": "HairTieTip2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 24.5, + 4 + ], + "to": [ + 0, + 25, + 4.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -15, + 0, + 0 + ], + "origin": [ + 0, + 25, + 4 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "east": { + "uv": [ + 10, + 0, + 11, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "west": { + "uv": [ + 10, + 0, + 11, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ] + } + }, + "type": "cube", + "uuid": "dbc7e6e0-1c96-b742-85b2-527e48e417c9" + } + ], + "outliner": [ + { + "name": "CMaidH", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "a3859b2c-af09-f7c0-1150-02c09ca10436", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Brim", + "origin": [ + -5, + 31, + -2 + ], + "color": 0, + "uuid": "82f4438a-e1ec-43d4-8f14-1e10adbb9cc3", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1e981720-d6d9-f09b-e577-706de32bb630", + "3aadc8d9-06fa-5eef-4dbc-ca941db9ade4" + ] + }, + { + "name": "HairTail", + "origin": [ + 0, + 25.5, + 4 + ], + "color": 0, + "uuid": "818e037c-2207-22d9-70ae-df9c2fe6ac1b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "HairTailZPivot", + "origin": [ + 0, + 25.5, + 4 + ], + "color": 0, + "uuid": "dfb100fd-e650-733f-4348-fc4509314167", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "67920b89-ce40-b067-cfb1-c2ab4e63d6ef", + "0fee99e5-f20e-8515-2cce-44561b67be5f", + "dbc7e6e0-1c96-b742-85b2-527e48e417c9", + "13cc3dd9-6388-63c2-d33c-ca55c775162d", + "1f91fff1-f0c9-9dd0-6694-7a7f6e844235" + ] + } + ] + } + ] + }, + { + "name": "CMaidB", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "b9a399c1-df81-ef36-dcfb-7b054ae43f84", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "BackRibbon", + "origin": [ + 0, + 15, + 2.5 + ], + "rotation": [ + -25, + 0, + 0 + ], + "color": 0, + "uuid": "331e943c-54b9-5bd9-1968-6f7399ae9886", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b984c931-e06a-4a7b-03ee-8402dbbf3150", + { + "name": "RibbonLeft", + "origin": [ + -0.5, + 15, + 2.5 + ], + "color": 0, + "uuid": "fb477e58-8b46-eb97-914d-87feaa95a0c8", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RibbonLeftZPivot", + "origin": [ + -0.5, + 15, + 2.5 + ], + "color": 0, + "uuid": "da5b46f5-2ae1-dace-1db8-909b856a2c37", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "c346cb04-2149-cdf6-7c2d-2f066237567c" + ] + } + ] + }, + { + "name": "RibbonRight", + "origin": [ + 0.5, + 15, + 2.5 + ], + "color": 0, + "uuid": "75c4d2c8-3b97-1317-ae3f-823f28cab67c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RibbonRightZPivot", + "origin": [ + 0.5, + 15, + 2.5 + ], + "color": 0, + "uuid": "4df76c0b-d416-7655-5b7f-508a57bf37fd", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d3f2aef2-36ba-e71f-7f32-160b01ad665b" + ] + } + ] + }, + { + "name": "RibbonBottomRight", + "origin": [ + 0.5, + 14.5, + 2.5 + ], + "color": 0, + "uuid": "d379edef-9be8-5afc-a865-f325ac9e4ca4", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RibbonBottomRightZPivot", + "origin": [ + 0.5, + 14.5, + 2.5 + ], + "color": 0, + "uuid": "1d85102e-06f5-dab6-4e38-b9b14875331b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d398e136-305b-ff2e-9e3e-f24bb46043e3" + ] + } + ] + }, + { + "name": "RibbonBottomLeft", + "origin": [ + -0.5, + 14.5, + 2.5 + ], + "color": 0, + "uuid": "fe5fa891-b4b0-ee55-5226-dd982ba7ca6b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RibbonBottomLeftZPivot", + "origin": [ + -0.5, + 14.5, + 2.5 + ], + "color": 0, + "uuid": "35d0a712-7020-5db1-9fe8-8efd4812dd32", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "0f145497-236a-8d3e-289e-49bd0ba364b5" + ] + } + ] + } + ] + }, + { + "name": "Skirt1", + "origin": [ + 0, + 14, + 0 + ], + "color": 0, + "uuid": "d0e2a4ef-6f4f-9e4a-2014-102fa43a71ca", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "c1808908-2ddc-710e-bc1a-39fee1d58add", + { + "name": "Skirt2", + "origin": [ + 0, + 13, + 0 + ], + "color": 0, + "uuid": "9d557bf2-001b-1f8d-1d78-0a962b94f708", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b14062a5-8fd5-8a1d-20f0-07f95185da2b", + { + "name": "Skirt3", + "origin": [ + 0, + 11, + 0 + ], + "color": 0, + "uuid": "587e5ce5-4c03-ec5d-49d7-c562fd128412", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "576cb769-b524-e434-9505-500ecc812775", + { + "name": "Skirt4", + "origin": [ + 0, + 8, + 0 + ], + "color": 0, + "uuid": "451bd9ee-3968-ddf7-c9e0-b68dd523d86a", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1e8a9fce-e1fb-7b7e-7eb2-4a793ebcd958", + "4a4353a6-3e3e-ddf5-073b-2b5aa53b7eac", + "1795ac0b-b779-832b-a965-2dc00d907490", + "6e195df0-bf76-310c-06fd-394a4ff07e7f", + "0e20a754-447f-185e-134e-9163bf8bb894" + ] + } + ] + } + ] + } + ] + }, + "11e5075c-d603-b3af-f4b1-6eafe78e847a" + ] + }, + { + "name": "CMaidRAB", + "origin": [ + 5, + 18, + 2 + ], + "color": 0, + "uuid": "390a82c6-a9a3-cd25-951e-f5b46cfdcca5", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4bf8bdcd-03e6-ad05-9e85-280ce67a5fe3", + "bfd9bcde-df77-5688-71ad-f9e6de0a52d7" + ] + }, + { + "name": "CMaidLAB", + "origin": [ + -5, + 18, + 2 + ], + "color": 0, + "uuid": "30c77d7e-9a1f-d5b0-503e-1e805766973a", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ff976ee6-ade7-13f0-bbd7-4ecd37ed1751", + "978b23f9-f6a8-b438-d1d0-dc03c5b8f55e" + ] + } + ], + "textures": [ + { + "path": "", + "name": "costume_maid.png", + "folder": "", + "namespace": "", + "id": "1", + "width": 48, + "height": 93, + "uv_width": 48, + "uv_height": 93, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "91cb663d-85d7-c771-359d-72993e3c0b3d", + "relative_path": "../../textures/costume_maid.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAABdCAYAAADjaOUDAAAAAXNSR0IArs4c6QAAA/FJREFUeF7tW79rFEEUnsVwJhx6ckGIlY2WioX/gGCjiBCwSSWCgiBoZRMsUkgaK0VB0MYqjRiQEBvBf8BCtLWws8rhqUcuIbLyNvvWudn58ebH7u2a2Wb3dt57877ve29mclwSxhjb2hqkvV6PDYdDJrvPzBxKTqw+S78v30nAPv38PIV7ce0O/j13+vvPuwOWnF/O7OHa3t6Z9Mnfz80dLmwmYhI/JHt7f1JIUGcPAOfn+4VNAQATx6TzxLNYnT5Lzt5WAhgOf2ZmCwvHpwDg4+o+mxzbxTMyoVAAE+/1jmaW3grgfKiE6p5C0pAwXy65M5ZKZiO7On02Pn1DOuQNgFJCMHNWNpA8Xy4IIC+VUm9wKf/+dlJZpUeuXnIuI1IPZAA8FQAAj798KoG4d+Yc8wJAbPYJsxKYvLT4VUeM++vtuzQCkLDtVHuuCqjUrqWEiibGLMQVCT8ryglKaPHDElu/sMbEe30AOAphk5LuyBoA01dA2GmLPSFfWvmd12VxcPFR9sCVxbvp67VHypjXlu6zjfUnTj3kkqjK5/8GoGMYFGq8Aq0HYKrVxivQCgBQy6pETauQCaBuPJR6xmXQtJxCktNcUiOAVihgqtdp7gmkEmo9AMpqYwJJieFiQ1KAEjgCoLAk+5NSt5GhvW5Dw1XIcf6Sm62SSesBUJmj7MjT2BOMTYwAIwCq1JZ2VgpQGqzuXTkCEBWPClTZA9TYlF6hxjLZWfWAKRiORwBUphhjpKME9UwU+lzE41CpGgGIasM3FFVcSgUefv2RPjh1zKqZTcdrBFDH1y3kxG0PdXWdTA8mAOo6X8exwkmBCCDgMhUV0JHZ2B6wqQBqv9jE5G2dSshmsgjAwFb7FaB8MyeSQDkLjUYjdv3mik21OdlaHaf5GV69XGHdbpdBorJ7VadSEaUzACe6KnDKfjOn+sFrG95bN3EFJHqFjAC86AvgHBUIQKJXiKiAF30BnKMCAUj0ChEV8KIvgPPBVGA83klnZ/3++ygA+VkILwUQiOoeKkldHC8AdSRomiMxsdj08eTi5VvK343q0L/ffJGpZ+O/8eZpERJ6CMjBF9hT4juZDZ+XdRLo3CgAtkxi8rZ+qAC/giHDogI6m5IC+IJaDi7swxyVA5DVvAhKx74OGIyJbMN8QRUQAcgUMSWpKqtGAKCwLwOAfrUqEJp9WblUWkIuta9jn08WnoPuA1XXPsanbFIUG+UyqlpOfWvfdJ7xGS8d5qqofZ8ETb5GACHZ58vDlJhsXPY3yASAqtmvHUBI9l0Yp/gUClTNPiUZFxslgDawD4CVPcADEDcomzEXVm18pKuQmCC/P7iM2SRka/sXPGk7f5dsTCEAAAAASUVORK5CYII=" + } + ], + "animations": [ + { + "uuid": "ceae99c5-e18a-7006-cc58-903db256df4f", + "name": "ex_skill_2", + "loop": "hold", + "override": true, + "length": 8.45, + "snapping": 20, + "selected": true, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "818e037c-2207-22d9-70ae-df9c2fe6ac1b": { + "name": "HairTail", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "a2ddcf35-a785-177c-f557-25e0c0d9805e", + "time": 0.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 30, + "y": 0, + "z": 0 + } + ], + "uuid": "c250dd44-c255-6c02-c902-abf3570f3798", + "time": 0.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 30, + "y": 0, + "z": 0 + } + ], + "uuid": "3aea3f0c-5d81-058d-3494-5dc872a451cd", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 35 + } + ], + "uuid": "21376677-09af-adf6-373d-a08edeb32f19", + "time": 1.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 35 + } + ], + "uuid": "f91429e9-818b-0c19-dd95-0fd30e572ab4", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "4f8973f1-13a5-0e8b-e983-d394aa2b4311", + "time": 1.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "d0e2a4ef-6f4f-9e4a-2014-102fa43a71ca": { + "name": "Skirt1", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "7c9760c5-74af-02b4-68d5-c271aecfadb7", + "time": 8.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -5 + } + ], + "uuid": "d2a74820-5d0d-98ad-5ca0-ca46f46d03d3", + "time": 8.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Midori/models/death_animation.bbmodel b/config/yosbr/config/figura/avatars/Midori/models/death_animation.bbmodel new file mode 100644 index 0000000..230409b --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/models/death_animation.bbmodel @@ -0,0 +1,20545 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "death_animation", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 256, + "height": 191 + }, + "elements": [ + { + "name": "Body1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20, + 15.5, + -37 + ], + "to": [ + 20, + 55.5, + 33 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 70, + 0, + 0, + 40 + ], + "texture": 0 + }, + "south": { + "uv": [ + 70, + 105, + 110, + 145 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 70, + 40 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 40, + 70, + 80 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 80, + 70, + 120 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "b7c05a5f-7761-cdb8-f20e-1c37a3ade2d6" + }, + { + "name": "FrontWindow1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20, + 38.25, + -64.75 + ], + "to": [ + 20, + 55.25, + -36.5 + ], + "autouv": 0, + "color": 0, + "inflate": -0.01, + "rotation": [ + -70, + 0, + 0 + ], + "origin": [ + 0, + 55, + -37 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 98.25, + 0, + 70, + 17 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 70, + 0, + 98.25, + 17 + ], + "texture": 0 + }, + "up": { + "uv": [ + 70, + 41, + 110, + 69.25 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "96c3a955-eb63-9471-5196-694594fda260" + }, + { + "name": "Nose1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -10, + 15.5, + -75.25 + ], + "to": [ + 10, + 32.5, + -45.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -25.25 + ], + "faces": { + "north": { + "uv": [ + 111, + 14, + 131, + 31 + ], + "texture": 0 + }, + "east": { + "uv": [ + 161, + 14.25, + 131, + 31.25 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 131, + 14.25, + 161, + 31.25 + ], + "texture": 0 + }, + "up": { + "uv": [ + 161, + 14, + 191, + 34 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 191, + 14, + 161, + 34 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "e7fa4708-6808-a16e-c3cf-84c4423ce64d" + }, + { + "name": "Nose2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 10, + 15.5, + -76.925 + ], + "to": [ + 20, + 29.5, + -46.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 19.15, + 0 + ], + "origin": [ + 20, + 22.5, + -46.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 80, + 17, + 110.425, + 31 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 99, + 4, + 129.425, + 14 + ], + "rotation": 270, + "texture": 0 + }, + "down": { + "uv": [ + 129.425, + 4, + 99, + 14 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "c62a05d2-a700-0657-0afa-5f2244004bff" + }, + { + "name": "Body2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20, + 15.5, + -46.5 + ], + "to": [ + 20, + 29.5, + -37 + ], + "autouv": 0, + "color": 0, + "inflate": -0.001, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 79.5, + 17, + 70, + 31 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 70, + 17, + 79.5, + 31 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 70, + 31, + 110, + 40.5 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f00ed130-bf0d-ecc1-f1ca-bbf1616f1ada" + }, + { + "name": "Nose3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20, + 15.5, + -76.925 + ], + "to": [ + -10, + 29.5, + -46.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -19.15, + 0 + ], + "origin": [ + -20, + 22.5, + -46.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 110.425, + 17, + 80, + 31 + ], + "texture": 0 + }, + "up": { + "uv": [ + 99, + 14, + 129.425, + 4 + ], + "rotation": 270, + "texture": 0 + }, + "down": { + "uv": [ + 129.425, + 14, + 99, + 4 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "09ad8112-4cf8-8762-652e-f5ad6d9f618e" + }, + { + "name": "RearBody1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -10, + 15.5, + 33 + ], + "to": [ + 10, + 50.5, + 63 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 191, + 14, + 211, + 49 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 130, + 32, + 150, + 62 + ], + "texture": 0 + }, + "down": { + "uv": [ + 170, + 34, + 190, + 64 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "890f0f8a-d674-0b64-0662-72ec21b7e302" + }, + { + "name": "RearBody2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20, + 15.5, + 33 + ], + "to": [ + 0, + 50.5, + 64.62 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 18.4, + 0 + ], + "origin": [ + -20, + 35, + 33 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 70, + 70, + 101.62, + 105 + ], + "texture": 0 + }, + "up": { + "uv": [ + 110, + 31, + 130, + 62.62 + ], + "texture": 0 + }, + "down": { + "uv": [ + 150, + 34, + 170, + 65.62 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "553e0577-b6a2-7ca8-524a-dcd364e5e845" + }, + { + "name": "RearBody3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 15.5, + 33 + ], + "to": [ + 20, + 50.5, + 64.62 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -18.4, + 0 + ], + "origin": [ + 20, + 35, + 33 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 101.62, + 70, + 70, + 105 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 130, + 31, + 110, + 62.62 + ], + "texture": 0 + }, + "down": { + "uv": [ + 170, + 34, + 150, + 65.62 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "6e532d40-881b-73cd-c7ce-a6d5be00d54f" + }, + { + "name": "EngineRoom1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 55.5, + -13 + ], + "to": [ + 8, + 71.5, + 13 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 110, + 125, + 126, + 141 + ], + "texture": 0 + }, + "east": { + "uv": [ + 152, + 125, + 126, + 141 + ], + "texture": 0 + }, + "south": { + "uv": [ + 152, + 125, + 168, + 141 + ], + "texture": 0 + }, + "west": { + "uv": [ + 126, + 125, + 152, + 141 + ], + "texture": 0 + }, + "up": { + "uv": [ + 168, + 125, + 194, + 141 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6daed1d4-981e-461b-e3bb-74c380ac33dc" + }, + { + "name": "EngineRoomLeft1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16, + 55.5, + -13 + ], + "to": [ + -8, + 61.5, + 17 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 120, + 8, + 126 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 8, + 120, + 38, + 126 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 126, + 30, + 134 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "429f5b24-b23e-95d7-a9ee-497cc9d6870d" + }, + { + "name": "EngineRoomLeft2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16, + 50.5, + 17 + ], + "to": [ + -8, + 64.5, + 45 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 28, + 134, + 42, + 142 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 42, + 134, + 56, + 142 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 38, + 120, + 66, + 134 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 134, + 28, + 142 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "4f5a613d-8830-b138-718b-9ffbb057e3d2" + }, + { + "name": "EngineRoom2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 50.5, + 13 + ], + "to": [ + 8, + 67.5, + 59 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 240, + 117, + 194, + 134 + ], + "texture": 0 + }, + "south": { + "uv": [ + 240, + 117, + 256, + 134 + ], + "texture": 0 + }, + "west": { + "uv": [ + 194, + 117, + 240, + 134 + ], + "texture": 0 + }, + "up": { + "uv": [ + 194, + 134, + 240, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "00352831-878c-36dd-56e5-23907f1b47fa" + }, + { + "name": "EngineRoomExhaustLeft1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16, + 63.5, + 45 + ], + "to": [ + -8, + 64.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 30, + 131, + 38, + 132 + ], + "texture": 0 + }, + "west": { + "uv": [ + 37, + 132, + 38, + 126 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 30, + 126, + 38, + 132 + ], + "texture": 0 + }, + "down": { + "uv": [ + 30, + 126, + 31, + 127 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "59b62c8d-08db-51f2-9fd9-207412f3c43a" + }, + { + "name": "EngineRoomExhaustLeft2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16, + 56.5, + 45 + ], + "to": [ + -8, + 57.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 30, + 131, + 38, + 132 + ], + "texture": 0 + }, + "west": { + "uv": [ + 30, + 132, + 31, + 126 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 30, + 126, + 38, + 132 + ], + "texture": 0 + }, + "down": { + "uv": [ + 30, + 126, + 38, + 132 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "48913cfa-28ec-987b-4365-3a4efe28b6e9" + }, + { + "name": "EngineRoomExhaustLeft3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16, + 57.5, + 45 + ], + "to": [ + -15, + 63.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 30, + 126, + 31, + 127 + ], + "texture": 0 + }, + "south": { + "uv": [ + 31, + 131, + 37, + 132 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 31, + 126, + 37, + 132 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "12a1c9b3-563f-29d1-4231-8b8960e9bf95" + }, + { + "name": "EngineRoomExhaustLeft4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -9, + 57.5, + 45 + ], + "to": [ + -8, + 63.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 31, + 131, + 37, + 132 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 31, + 126, + 37, + 132 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "bb1f1492-cd11-fc0f-eb04-6a5f11c8bd62" + }, + { + "name": "RotorShaft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 71.5, + -2 + ], + "to": [ + 2, + 77.5, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 142, + 4, + 148 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 142, + 4, + 148 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 142, + 4, + 148 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 142, + 4, + 148 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "a1ca5212-93a0-4d30-6122-d2e5c9872983" + }, + { + "name": "RotorHead", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5, + 77.5, + -5 + ], + "to": [ + 5, + 81.5, + 5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 4, + 152, + 14, + 156 + ], + "texture": 0 + }, + "east": { + "uv": [ + 4, + 152, + 14, + 156 + ], + "texture": 0 + }, + "south": { + "uv": [ + 4, + 152, + 14, + 156 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 152, + 14, + 156 + ], + "texture": 0 + }, + "up": { + "uv": [ + 4, + 142, + 14, + 152 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 142, + 14, + 152 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "66601b79-7b9e-fa15-2bd4-56693acf0bb7" + }, + { + "name": "BladeSleeve", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 78.5, + -17 + ], + "to": [ + 3, + 80.5, + -5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 44, + 142, + 38, + 144 + ], + "texture": 0 + }, + "east": { + "uv": [ + 38, + 142, + 26, + 144 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 26, + 142, + 38, + 144 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "103317bc-2688-89dd-17f8-3650470efcaa" + }, + { + "name": "Blade1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 79, + -25 + ], + "to": [ + 2, + 80, + -17 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 94, + 152, + 102, + 153 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 94, + 149, + 102, + 150 + ], + "texture": 0 + }, + "up": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "d1db4ea0-4661-4e86-13ab-d074bdb22394" + }, + { + "name": "Blade2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 79, + -105 + ], + "to": [ + 3, + 80, + -25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 14, + 148, + 15, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 94, + 153, + 14, + 154 + ], + "texture": 0 + }, + "south": { + "uv": [ + 93, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 14, + 148, + 94, + 149 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 148, + 14, + 154 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "8c22cade-6d0a-00a9-2974-2804a153f903" + }, + { + "name": "Tail1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 17.5, + 62 + ], + "to": [ + 7, + 48.5, + 97 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -158 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 145, + 94, + 110, + 125 + ], + "texture": 0 + }, + "south": { + "uv": [ + 211, + 0, + 225, + 31 + ], + "texture": 0 + }, + "west": { + "uv": [ + 110, + 94, + 145, + 125 + ], + "texture": 0 + }, + "up": { + "uv": [ + 110, + 66, + 145, + 80 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 110, + 80, + 145, + 94 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "623664b1-2689-578e-fd04-eee31711ff1d" + }, + { + "name": "Tail2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 21.5, + 97 + ], + "to": [ + 7, + 48.5, + 132 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -158 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 180, + 94, + 145, + 121 + ], + "texture": 0 + }, + "south": { + "uv": [ + 211, + 31, + 225, + 62 + ], + "texture": 0 + }, + "west": { + "uv": [ + 145, + 94, + 180, + 121 + ], + "texture": 0 + }, + "up": { + "uv": [ + 145, + 66, + 180, + 80 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 145, + 80, + 180, + 94 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "fc8ce5f4-0840-2f3d-140f-21dc84105267" + }, + { + "name": "Tail3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 25.5, + 132 + ], + "to": [ + 7, + 48.5, + 167 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -158 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 215, + 94, + 180, + 117 + ], + "texture": 0 + }, + "south": { + "uv": [ + 225, + 0, + 239, + 23 + ], + "texture": 0 + }, + "west": { + "uv": [ + 180, + 94, + 215, + 117 + ], + "texture": 0 + }, + "up": { + "uv": [ + 180, + 66, + 215, + 80 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 180, + 80, + 215, + 94 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "8e802d51-1ae6-3899-f6d4-8cd3c38b139f" + }, + { + "name": "Tail4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 29.5, + 167 + ], + "to": [ + 7, + 48.5, + 202 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -158 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 250, + 94, + 215, + 113 + ], + "texture": 0 + }, + "south": { + "uv": [ + 225, + 23, + 239, + 42 + ], + "texture": 0 + }, + "west": { + "uv": [ + 215, + 94, + 250, + 113 + ], + "texture": 0 + }, + "up": { + "uv": [ + 215, + 66, + 250, + 80 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 215, + 80, + 250, + 94 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "67af4d6d-9e06-3523-d121-1449e5623033" + }, + { + "name": "TailBladeLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -27, + 27.5, + 110 + ], + "to": [ + -7, + 29.5, + 120 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 10, + 0 + ], + "origin": [ + -7, + 28, + 110 + ], + "faces": { + "north": { + "uv": [ + 150, + 8, + 130, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 180, + 8, + 160, + 10 + ], + "texture": 0 + }, + "west": { + "uv": [ + 160, + 8, + 150, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 206, + 0, + 186, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 206, + 10, + 186, + 0 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f0926915-1b03-abd3-2ff0-fb9e7b9d69ba" + }, + { + "name": "Tail5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 48.5, + 175 + ], + "to": [ + 4, + 88.5, + 191 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 48, + 175 + ], + "faces": { + "north": { + "uv": [ + 130, + 0, + 170, + 8 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 255, + 0, + 239, + 40 + ], + "texture": 0 + }, + "south": { + "uv": [ + 130, + 0, + 170, + 8 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 239, + 0, + 255, + 40 + ], + "texture": 0 + }, + "up": { + "uv": [ + 170, + 0, + 186, + 8 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "0945a87b-a1d3-7f38-aac7-6dcca9f02a58" + }, + { + "name": "RotorShaft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 79.5, + 181 + ], + "to": [ + 10, + 83.5, + 185 + ], + "autouv": 0, + "color": 0, + "origin": [ + 11, + 85, + 175 + ], + "faces": { + "north": { + "uv": [ + 0, + 156, + 4, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 156, + 4, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 156, + 4, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 156, + 4, + 162 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "4921cf7b-b2b3-af9f-9a0d-45bd294a5c63" + }, + { + "name": "RotorHead", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 10, + 76.5, + 178 + ], + "to": [ + 14, + 86.5, + 188 + ], + "autouv": 0, + "color": 0, + "origin": [ + 11, + 85, + 175 + ], + "faces": { + "north": { + "uv": [ + 4, + 166, + 14, + 170 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 4, + 156, + 14, + 166 + ], + "texture": 0 + }, + "south": { + "uv": [ + 4, + 166, + 14, + 170 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 4, + 156, + 14, + 166 + ], + "texture": 0 + }, + "up": { + "uv": [ + 4, + 166, + 14, + 170 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 4, + 166, + 14, + 170 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "5354d04a-dcfe-a853-0890-af0a391580cf" + }, + { + "name": "TailSleeve", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11, + 72.5, + 180 + ], + "to": [ + 13, + 76.5, + 186 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 81, + 183 + ], + "faces": { + "north": { + "uv": [ + 18, + 154, + 22, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 14, + 154, + 18, + 160 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 18, + 154, + 22, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 14, + 154, + 18, + 160 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 22, + 154, + 28, + 156 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "b4ca7b1a-f286-c59f-de41-2f4c81ebcf60" + }, + { + "name": "Blade1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11.5, + 68.5, + 183 + ], + "to": [ + 12.5, + 72.5, + 185 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 81, + 183 + ], + "faces": { + "north": { + "uv": [ + 34, + 160, + 30, + 161 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 34, + 160, + 30, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 34, + 161, + 30, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 34, + 160, + 30, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b22dabbf-eb73-a416-efd2-8c592faea638" + }, + { + "name": "Blade2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11.5, + 52.5, + 181 + ], + "to": [ + 12.5, + 68.5, + 185 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 81, + 183 + ], + "faces": { + "north": { + "uv": [ + 30, + 160, + 14, + 161 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 30, + 160, + 14, + 164 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 30, + 163, + 14, + 164 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 30, + 160, + 14, + 164 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 29, + 164, + 30, + 160 + ], + "texture": 0 + }, + "down": { + "uv": [ + 14, + 164, + 15, + 160 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8659a038-d656-e9a6-677d-860067d72528" + }, + { + "name": "LanderShaft1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16, + -1.5, + -37 + ], + "to": [ + -14, + 15.5, + -35 + ], + "autouv": 0, + "color": 0, + "origin": [ + -15, + 13, + -25 + ], + "faces": { + "north": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b9e80942-0725-306b-d7d1-726fef83a08d" + }, + { + "name": "LanderShaft2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16, + -1.5, + 31 + ], + "to": [ + -14, + 15.5, + 33 + ], + "autouv": 0, + "color": 0, + "origin": [ + -15, + 13, + -25 + ], + "faces": { + "north": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "be81893d-06ce-98ae-2241-f24e1a6e49e0" + }, + { + "name": "LanderBottom1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -18, + -2.5, + -47 + ], + "to": [ + -12, + -0.5, + 43 + ], + "autouv": 0, + "color": 0, + "origin": [ + -14, + 15, + -2 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 110, + 154, + 200, + 156 + ], + "texture": 0 + }, + "south": { + "uv": [ + 110, + 150, + 112, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 110, + 150, + 200, + 152 + ], + "texture": 0 + }, + "up": { + "uv": [ + 110, + 150, + 200, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 110, + 150, + 200, + 156 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "d4502cca-0b14-7d86-6160-f86322c35b25" + }, + { + "name": "LanderBottom2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -18, + -2.5, + -57 + ], + "to": [ + -12, + -0.5, + -47 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -15, + -3, + -47 + ], + "faces": { + "north": { + "uv": [ + 200, + 150, + 202, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 200, + 154, + 210, + 156 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 200, + 150, + 210, + 152 + ], + "texture": 0 + }, + "up": { + "uv": [ + 200, + 150, + 210, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 200, + 150, + 210, + 156 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "57c510e5-6036-ee15-39e0-ae4cbb2c00fa" + }, + { + "name": "LanderShaft1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 14, + -1.5, + -37 + ], + "to": [ + 16, + 15.5, + -35 + ], + "autouv": 0, + "color": 0, + "origin": [ + 15, + 13, + -25 + ], + "faces": { + "north": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e7f46383-2d20-b790-1b02-2efbd9022ded" + }, + { + "name": "LanderShaft2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 14, + -1.5, + 31 + ], + "to": [ + 16, + 15.5, + 33 + ], + "autouv": 0, + "color": 0, + "origin": [ + 15, + 13, + -25 + ], + "faces": { + "north": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "30329970-0ddf-fc94-6f51-ee9cfbee974b" + }, + { + "name": "LanderBottom1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 12, + -2.5, + -47 + ], + "to": [ + 18, + -0.5, + 43 + ], + "autouv": 0, + "color": 0, + "origin": [ + 14, + 15, + -2 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 110, + 154, + 200, + 156 + ], + "texture": 0 + }, + "south": { + "uv": [ + 110, + 150, + 112, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 110, + 150, + 200, + 152 + ], + "texture": 0 + }, + "up": { + "uv": [ + 110, + 150, + 200, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 110, + 150, + 200, + 156 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "22aaf02a-dcc5-0b1e-163c-8f002d8a332d" + }, + { + "name": "LanderBottom2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 12, + -2.5, + -57 + ], + "to": [ + 18, + -0.5, + -47 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + 15, + -3, + -47 + ], + "faces": { + "north": { + "uv": [ + 200, + 150, + 202, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 200, + 154, + 210, + 156 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 200, + 150, + 210, + 152 + ], + "texture": 0 + }, + "up": { + "uv": [ + 200, + 150, + 210, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 200, + 150, + 210, + 156 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "7823fa17-de11-0fe8-2baf-f8fb991f1c3a" + }, + { + "name": "TailBladeRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 7, + 27.5, + 110 + ], + "to": [ + 27, + 29.5, + 120 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -10, + 0 + ], + "origin": [ + 7, + 28, + 110 + ], + "faces": { + "north": { + "uv": [ + 130, + 8, + 150, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 150, + 8, + 160, + 10 + ], + "texture": 0 + }, + "south": { + "uv": [ + 160, + 8, + 180, + 10 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 186, + 0, + 206, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 186, + 10, + 206, + 0 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "87df5ebb-ce10-e033-a030-13710b994a15" + }, + { + "name": "EngineRoomRight1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + 55.5, + -13 + ], + "to": [ + 16, + 61.5, + 17 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 8, + 120, + 0, + 126 + ], + "texture": 0 + }, + "east": { + "uv": [ + 38, + 120, + 8, + 126 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 134, + 30, + 126 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "02e23b3b-bbd1-8429-2e72-30a7942b1a59" + }, + { + "name": "EngineRoomRight2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + 50.5, + 17 + ], + "to": [ + 16, + 64.5, + 45 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 28, + 142, + 42, + 134 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 66, + 120, + 38, + 134 + ], + "texture": 0 + }, + "south": { + "uv": [ + 42, + 134, + 56, + 142 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 142, + 28, + 134 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "47afaa80-32d5-ef12-1c54-f7af51108b24" + }, + { + "name": "EngineRoomExhaustRight1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + 63.5, + 45 + ], + "to": [ + 16, + 64.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 37, + 126, + 38, + 132 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 38, + 131, + 30, + 132 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 38, + 126, + 30, + 132 + ], + "texture": 0 + }, + "down": { + "uv": [ + 38, + 126, + 30, + 132 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b0c15dcb-3164-8e83-617a-faf2031bad34" + }, + { + "name": "EngineRoomExhaustRight2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + 56.5, + 45 + ], + "to": [ + 16, + 57.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 37, + 126, + 38, + 132 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 38, + 131, + 30, + 132 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 38, + 126, + 30, + 132 + ], + "texture": 0 + }, + "down": { + "uv": [ + 38, + 126, + 30, + 132 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "fea2953f-ff6d-d6f4-0e7a-12e45eb37e3d" + }, + { + "name": "EngineRoomExhaustRight3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 15, + 57.5, + 45 + ], + "to": [ + 16, + 63.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 37, + 132, + 31, + 126 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 31, + 132, + 37, + 131 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6e2dde80-d293-08d7-2c83-8f7edab96858" + }, + { + "name": "EngineRoomExhaustRight4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + 57.5, + 45 + ], + "to": [ + 9, + 63.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 31, + 132, + 37, + 126 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 31, + 132, + 37, + 131 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "787b4297-9e84-2172-ca92-f890a7337aaa" + }, + { + "name": "BladeSleeve", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 78.5, + -17 + ], + "to": [ + 3, + 80.5, + -5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 44, + 142, + 38, + 144 + ], + "texture": 0 + }, + "east": { + "uv": [ + 38, + 142, + 26, + 144 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 26, + 142, + 38, + 144 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "db87ecaf-8136-4d52-d5c9-3d4f4b20fd3d" + }, + { + "name": "Blade1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 79, + -25 + ], + "to": [ + 2, + 80, + -17 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 94, + 152, + 102, + 153 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 94, + 149, + 102, + 150 + ], + "texture": 0 + }, + "up": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "c586ee43-2365-0815-9be1-57eb4d52415d" + }, + { + "name": "Blade2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 79, + -105 + ], + "to": [ + 3, + 80, + -25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 14, + 148, + 15, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 94, + 153, + 14, + 154 + ], + "texture": 0 + }, + "south": { + "uv": [ + 93, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 14, + 148, + 94, + 149 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 148, + 14, + 154 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "adfdc4b7-1eb1-0617-f8ab-48b0db5665f9" + }, + { + "name": "BladeSleeve", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 78.5, + -17 + ], + "to": [ + 3, + 80.5, + -5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 44, + 142, + 38, + 144 + ], + "texture": 0 + }, + "east": { + "uv": [ + 38, + 142, + 26, + 144 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 26, + 142, + 38, + 144 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "9a654922-f592-c03e-ec3a-411273b14955" + }, + { + "name": "Blade1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 79, + -25 + ], + "to": [ + 2, + 80, + -17 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 94, + 152, + 102, + 153 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 94, + 149, + 102, + 150 + ], + "texture": 0 + }, + "up": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "34b50ab0-c515-6c0a-ebe9-80822ac5c44e" + }, + { + "name": "Blade2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 79, + -105 + ], + "to": [ + 3, + 80, + -25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 14, + 148, + 15, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 94, + 153, + 14, + 154 + ], + "texture": 0 + }, + "south": { + "uv": [ + 93, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 14, + 148, + 94, + 149 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 148, + 14, + 154 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "d28f3b53-e1fd-6e19-ee52-768b3d16f520" + }, + { + "name": "BladeSleeve", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 78.5, + -17 + ], + "to": [ + 3, + 80.5, + -5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 44, + 142, + 38, + 144 + ], + "texture": 0 + }, + "east": { + "uv": [ + 38, + 142, + 26, + 144 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 26, + 142, + 38, + 144 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "cf06849c-bf04-230f-8555-70a0f6fbb714" + }, + { + "name": "Blade1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 79, + -25 + ], + "to": [ + 2, + 80, + -17 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 94, + 152, + 102, + 153 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 94, + 149, + 102, + 150 + ], + "texture": 0 + }, + "up": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "b91de1a5-0b22-48de-55da-1ad9e0400b04" + }, + { + "name": "Blade2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 79, + -105 + ], + "to": [ + 3, + 80, + -25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 14, + 148, + 15, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 94, + 153, + 14, + 154 + ], + "texture": 0 + }, + "south": { + "uv": [ + 93, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 14, + 148, + 94, + 149 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 148, + 14, + 154 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "3ae96f69-18b8-0a78-9d04-f3caffc1b4a1" + }, + { + "name": "TailSleeve", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11, + 72.5, + 180 + ], + "to": [ + 13, + 76.5, + 186 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 81, + 183 + ], + "faces": { + "north": { + "uv": [ + 18, + 154, + 22, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 14, + 154, + 18, + 160 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 18, + 154, + 22, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 14, + 154, + 18, + 160 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 22, + 154, + 28, + 156 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "4e2b41c3-a5b0-7ac4-3410-47ad58210db4" + }, + { + "name": "Blade1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11.5, + 68.5, + 183 + ], + "to": [ + 12.5, + 72.5, + 185 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 81, + 183 + ], + "faces": { + "north": { + "uv": [ + 34, + 160, + 30, + 161 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 34, + 160, + 30, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 34, + 161, + 30, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 34, + 160, + 30, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b017b261-b144-7afe-0641-3d4b4b111aa5" + }, + { + "name": "Blade2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11.5, + 52.5, + 181 + ], + "to": [ + 12.5, + 68.5, + 185 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 81, + 183 + ], + "faces": { + "north": { + "uv": [ + 30, + 160, + 14, + 161 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 30, + 160, + 14, + 164 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 30, + 163, + 14, + 164 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 30, + 160, + 14, + 164 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 29, + 164, + 30, + 160 + ], + "texture": 0 + }, + "down": { + "uv": [ + 14, + 164, + 15, + 160 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "aeb1e055-a22c-2884-4143-efb88f549cb3" + }, + { + "name": "DoorLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20.1, + 16.5, + -21 + ], + "to": [ + -18.1, + 51.5, + 28 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 34, + 154, + 36, + 189 + ], + "texture": 0 + }, + "east": { + "uv": [ + 85, + 156, + 134, + 191 + ], + "texture": 0 + }, + "south": { + "uv": [ + 34, + 154, + 36, + 189 + ], + "texture": 0 + }, + "west": { + "uv": [ + 36, + 156, + 85, + 191 + ], + "texture": 0 + }, + "up": { + "uv": [ + 36, + 154, + 85, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 36, + 154, + 85, + 156 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "c683f988-d7ac-d768-398e-41744d3302cb" + }, + { + "name": "DoorRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 18.1, + 16.5, + -21 + ], + "to": [ + 20.1, + 51.5, + 28 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 36, + 154, + 34, + 189 + ], + "texture": 0 + }, + "east": { + "uv": [ + 85, + 156, + 36, + 191 + ], + "texture": 0 + }, + "south": { + "uv": [ + 36, + 154, + 34, + 189 + ], + "texture": 0 + }, + "west": { + "uv": [ + 134, + 156, + 85, + 191 + ], + "texture": 0 + }, + "up": { + "uv": [ + 36, + 156, + 85, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 36, + 156, + 85, + 154 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "0c7841d3-9d21-15ca-262b-1627bc2f205b" + }, + { + "name": "SchaleLabel", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20.2, + 19.5, + -16 + ], + "to": [ + -20.2, + 24.5, + 23 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 134, + 156, + 173, + 161 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "166f93d9-1fd0-34ac-2675-dd025f53f0f8" + }, + { + "name": "SchaleLabel", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 20.2, + 19.5, + -16 + ], + "to": [ + 20.2, + 24.5, + 23 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 134, + 156, + 173, + 161 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "20c339d6-7391-1da8-9c28-0cd84d7d4b32" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 2, + 7 + ], + "to": [ + 1, + 18, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 2, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "ceea50d1-ebb7-d7cb-b6b9-69a321fd2698" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 2, + -3 + ], + "to": [ + 1, + 18, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 2, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2cbdf3db-26d4-6b03-d386-78cbd775872a" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 5.5, + -4 + ], + "to": [ + 2, + 6.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 2, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "bc13f85c-c966-c61e-8958-954dae7efcd9" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 13.5, + -4 + ], + "to": [ + 2, + 14.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 2, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "af62dbcd-800e-f962-49ef-2cc8b7512391" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -14, + 7 + ], + "to": [ + 1, + 2, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -14, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a2f4989f-e70f-5196-4050-f0b1825614e1" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -14, + -3 + ], + "to": [ + 1, + 2, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -14, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "3c8f15aa-a7a8-ebc5-4678-c3e2f4a624d7" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -2.5, + -4 + ], + "to": [ + 2, + -1.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -14, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "05bc5a8b-b514-4d34-9df4-85a29e758ed2" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -10.5, + -4 + ], + "to": [ + 2, + -9.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -14, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "560ddc94-bfeb-9ca3-3ad5-2b996a9417e5" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -30, + 7 + ], + "to": [ + 1, + -14, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -30, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5ad4ce08-eefc-6107-fc45-b54c501d5a17" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -30, + -3 + ], + "to": [ + 1, + -14, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -30, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5382e7ce-0210-07a3-5a39-564881ad85b6" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -18.5, + -4 + ], + "to": [ + 2, + -17.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -30, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "651651ac-c2e0-5cef-8e1a-981e98653024" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -26.5, + -4 + ], + "to": [ + 2, + -25.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -30, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "29295c79-a462-f3ae-b17d-165b0b24e5d0" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -46, + 7 + ], + "to": [ + 1, + -30, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -46, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "adcf364d-c4cb-636b-81d6-c7977d7b3525" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -46, + -3 + ], + "to": [ + 1, + -30, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -46, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "42f4c692-3694-c495-ec99-09556d5bb0c0" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -34.5, + -4 + ], + "to": [ + 2, + -33.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -46, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "595ef090-7f9a-8179-e935-4b29f2d7e184" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -42.5, + -4 + ], + "to": [ + 2, + -41.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -46, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "9d74e4a4-4705-1cf9-0022-51fe5ae26385" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -62, + 7 + ], + "to": [ + 1, + -46, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -62, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e61bb277-9b35-78e5-93f1-b3f8d8d7fc7f" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -62, + -3 + ], + "to": [ + 1, + -46, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -62, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "37236c6a-8616-a237-baa4-aa0ead82d0f7" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -50.5, + -4 + ], + "to": [ + 2, + -49.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -62, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "1a350fe0-670a-70fe-88e3-734694dad6ba" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -58.5, + -4 + ], + "to": [ + 2, + -57.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -62, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "6584c65b-14b3-9256-0b14-bc8198dfc9fb" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -78, + 7 + ], + "to": [ + 1, + -62, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -78, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a6b332b9-51fe-6bde-d3f7-f4d49e2fad64" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -78, + -3 + ], + "to": [ + 1, + -62, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -78, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e283a6d7-c1c4-dccf-55a8-7d7f840f4259" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -66.5, + -4 + ], + "to": [ + 2, + -65.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -78, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "abbdc168-0478-26c0-4fd5-8a4e0a6d6c70" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -74.5, + -4 + ], + "to": [ + 2, + -73.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -78, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d8af1577-a3b2-233f-5fa7-8614c8a06d46" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -94, + 7 + ], + "to": [ + 1, + -78, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -94, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "1382a9ae-d04f-9f91-e940-0acfccd26b02" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -94, + -3 + ], + "to": [ + 1, + -78, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -94, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f47a62ab-f0c5-eba4-9b39-c6ddcd063b1d" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -82.5, + -4 + ], + "to": [ + 2, + -81.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -94, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "db16de55-a5a5-3191-cab1-737029a1c1d4" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -90.5, + -4 + ], + "to": [ + 2, + -89.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -94, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "bb0aac5a-aed5-18eb-078c-087cadeaa272" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -110, + 7 + ], + "to": [ + 1, + -94, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -110, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "65c9cc04-0f2e-be8d-e5dd-596432b80caf" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -110, + -3 + ], + "to": [ + 1, + -94, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -110, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "dc6bada8-0f68-3157-623e-5d707cf63adc" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -98.5, + -4 + ], + "to": [ + 2, + -97.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -110, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "1b0b4d4b-ba33-c817-e5b6-ce5f0a015670" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -106.5, + -4 + ], + "to": [ + 2, + -105.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -110, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "34d34524-8192-5c54-2edb-6687d32c54ae" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -126, + 7 + ], + "to": [ + 1, + -110, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -126, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b9cf06c2-18d5-b469-6005-557f1b65bbd3" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -126, + -3 + ], + "to": [ + 1, + -110, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -126, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e28c6ffe-1742-144c-1949-91050bdc81f5" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -114.5, + -4 + ], + "to": [ + 2, + -113.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -126, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "173bd1e5-b573-e827-e8c1-3b545bb9fddb" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -122.5, + -4 + ], + "to": [ + 2, + -121.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -126, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b8bc4a52-d289-10ea-307c-b439840f0306" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -142, + 7 + ], + "to": [ + 1, + -126, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -142, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "616545a5-dc5f-fc34-fba0-fa73a5d2dda0" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -142, + -3 + ], + "to": [ + 1, + -126, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -142, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "84690380-add5-e58c-bade-29566cbd0ca8" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -130.5, + -4 + ], + "to": [ + 2, + -129.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -142, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "9995ccb7-13d8-d7ad-177b-1061111eae4e" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -138.5, + -4 + ], + "to": [ + 2, + -137.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -142, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "fbde71ac-aa28-ddfc-b282-2d8a90ca7468" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -158, + 7 + ], + "to": [ + 1, + -142, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -158, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "188ccb12-851b-1814-a474-acf791a7b3fe" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -158, + -3 + ], + "to": [ + 1, + -142, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -158, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5c2041f8-0c46-922f-089a-18b3e99969ed" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -146.5, + -4 + ], + "to": [ + 2, + -145.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -158, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "334e1d65-f729-2eef-0d61-2ce72451a335" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -154.5, + -4 + ], + "to": [ + 2, + -153.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -158, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "7a2fd5ad-01b2-3a7e-11db-8fc0532ea0ac" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -174, + 7 + ], + "to": [ + 1, + -158, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -174, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "ffe85353-4a8e-827b-da4c-b073e7ea6377" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -174, + -3 + ], + "to": [ + 1, + -158, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -174, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "86a1da75-1f45-bf6f-2f92-2fc63d8e993a" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -162.5, + -4 + ], + "to": [ + 2, + -161.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -174, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "d506e185-339a-eebd-7381-6348d3f8e0d4" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -170.5, + -4 + ], + "to": [ + 2, + -169.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -174, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "511c8f02-6fd7-f679-dd0d-5618cd7e5ed1" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -190, + 7 + ], + "to": [ + 1, + -174, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -190, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e9f10a40-b536-eefe-721f-aff1b8a6a6a9" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -190, + -3 + ], + "to": [ + 1, + -174, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -190, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "066c1dc4-37b5-d79d-12b2-d0a3ef5ebf37" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -178.5, + -4 + ], + "to": [ + 2, + -177.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -190, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "fc44e348-0fba-cb31-af5b-16506815543e" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -186.5, + -4 + ], + "to": [ + 2, + -185.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -190, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5f77bf2c-d246-9156-c10e-f71dcaed59a1" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -206, + 7 + ], + "to": [ + 1, + -190, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -206, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "6fc54381-1c0e-b4af-9bbc-4d8da96fecf9" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -206, + -3 + ], + "to": [ + 1, + -190, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -206, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "afef023d-931c-9a20-73fc-6300e8088df0" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -194.5, + -4 + ], + "to": [ + 2, + -193.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -206, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "b2709f0b-8848-15c4-8022-5ee5ae61eb21" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -202.5, + -4 + ], + "to": [ + 2, + -201.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -206, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b335fbde-c8fa-7a9d-ef18-8aca48e7e18c" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -222, + 7 + ], + "to": [ + 1, + -206, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -222, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c20a24d6-be1c-9057-82d7-04de02f59886" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -222, + -3 + ], + "to": [ + 1, + -206, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -222, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "3a63e341-e8fb-2bd2-6362-8562b2e7b7ef" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -210.5, + -4 + ], + "to": [ + 2, + -209.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -222, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "976656dc-5616-ef7b-ff0f-0284637bb753" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -218.5, + -4 + ], + "to": [ + 2, + -217.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -222, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "da9f89fb-21c2-448a-c367-0f483f1fdd96" + } + ], + "outliner": [ + { + "name": "Helicopter", + "origin": [ + 0, + 41, + 72 + ], + "color": 0, + "uuid": "3855c725-cad3-125d-db6d-7aa36afaff7c", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b7c05a5f-7761-cdb8-f20e-1c37a3ade2d6", + "f00ed130-bf0d-ecc1-f1ca-bbf1616f1ada", + "96c3a955-eb63-9471-5196-694594fda260", + { + "name": "Doors", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "c8c6350b-e8cd-d570-31a7-cf4e2bc83a28", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "DoorLeft", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "ed76b98c-a423-8851-e841-2021ddaf8547", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "c683f988-d7ac-d768-398e-41744d3302cb", + "166f93d9-1fd0-34ac-2675-dd025f53f0f8" + ] + }, + { + "name": "DoorRight", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "2c757bc9-83e6-d23d-9df6-bf4f97a4f5d6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "0c7841d3-9d21-15ca-262b-1627bc2f205b", + "20c339d6-7391-1da8-9c28-0cd84d7d4b32" + ] + } + ] + }, + { + "name": "Nose", + "origin": [ + 0, + 15, + -25.25 + ], + "color": 0, + "uuid": "7c0528cc-eca1-1af9-1c0e-8dc2ad12def4", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e7fa4708-6808-a16e-c3cf-84c4423ce64d", + "c62a05d2-a700-0657-0afa-5f2244004bff", + "09ad8112-4cf8-8762-652e-f5ad6d9f618e" + ] + }, + { + "name": "RearBody", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "93e928d9-d6f0-43df-6293-0a3cd4e289b6", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "890f0f8a-d674-0b64-0662-72ec21b7e302", + "553e0577-b6a2-7ca8-524a-dcd364e5e845", + "6e532d40-881b-73cd-c7ce-a6d5be00d54f", + { + "name": "Tail", + "origin": [ + 0, + 15, + -158 + ], + "color": 0, + "uuid": "d262a3fe-1946-6256-fce5-ba051869f9b3", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "623664b1-2689-578e-fd04-eee31711ff1d", + "fc8ce5f4-0840-2f3d-140f-21dc84105267", + "8e802d51-1ae6-3899-f6d4-8cd3c38b139f", + "67af4d6d-9e06-3523-d121-1449e5623033", + { + "name": "TailBlades", + "origin": [ + 0, + 27, + 111 + ], + "color": 0, + "uuid": "a5b0c0fa-1a35-5bbc-8477-a99377c7910e", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f0926915-1b03-abd3-2ff0-fb9e7b9d69ba", + "87df5ebb-ce10-e033-a030-13710b994a15" + ] + }, + { + "name": "Tail2", + "origin": [ + 0, + 48, + 175 + ], + "rotation": [ + 45, + 0, + 0 + ], + "color": 0, + "uuid": "22f49b13-6a3d-b438-2c5c-dc918d4d3576", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "0945a87b-a1d3-7f38-aac7-6dcca9f02a58", + { + "name": "TailRotor", + "origin": [ + 4, + 81, + 183 + ], + "rotation": [ + -45, + 0, + 0 + ], + "color": 0, + "uuid": "cd3f847e-32d5-a57a-9d0d-2fb39777e3db", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4921cf7b-b2b3-af9f-9a0d-45bd294a5c63", + "5354d04a-dcfe-a853-0890-af0a391580cf", + { + "name": "TailRotorBlades", + "origin": [ + 12, + 81, + 183 + ], + "color": 0, + "uuid": "47f57408-507e-ee25-dfbd-8f633fe8ccfd", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "TailRotorBlade1", + "origin": [ + 12, + 81, + 183 + ], + "color": 0, + "uuid": "124e1398-1a3b-52cb-328a-d53ee1298459", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4e2b41c3-a5b0-7ac4-3410-47ad58210db4", + "b017b261-b144-7afe-0641-3d4b4b111aa5", + "aeb1e055-a22c-2884-4143-efb88f549cb3" + ] + }, + { + "name": "TailRotorBlade2", + "origin": [ + 12, + 81, + 183 + ], + "rotation": [ + -180, + 0, + 0 + ], + "color": 0, + "uuid": "f048d185-df18-6a18-4f96-77a3b8dc02e8", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b4ca7b1a-f286-c59f-de41-2f4c81ebcf60", + "b22dabbf-eb73-a416-efd2-8c592faea638", + "8659a038-d656-e9a6-677d-860067d72528" + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "name": "Lander", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "3352001e-59dc-756f-ca56-75a0ff69c425", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "LanderLeft", + "origin": [ + -14, + 15, + -2 + ], + "rotation": [ + 0, + 0, + -30 + ], + "color": 0, + "uuid": "e96bb96e-5c1e-69c0-e981-61680a7c39d2", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b9e80942-0725-306b-d7d1-726fef83a08d", + "be81893d-06ce-98ae-2241-f24e1a6e49e0", + { + "name": "LanderBottomLeft", + "origin": [ + -15, + -1, + -2 + ], + "rotation": [ + 0, + 0, + 30 + ], + "color": 0, + "uuid": "44f381e1-ac30-7518-5b19-76b403eb7996", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d4502cca-0b14-7d86-6160-f86322c35b25", + "57c510e5-6036-ee15-39e0-ae4cbb2c00fa" + ] + } + ] + }, + { + "name": "LanderRight", + "origin": [ + 14, + 15, + -2 + ], + "rotation": [ + 0, + 0, + 30 + ], + "color": 0, + "uuid": "9d0c1522-0a37-b6a7-2e1d-6a52b389a65c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e7f46383-2d20-b790-1b02-2efbd9022ded", + "30329970-0ddf-fc94-6f51-ee9cfbee974b", + { + "name": "LanderBottomRight", + "origin": [ + 15, + -1, + -2 + ], + "rotation": [ + 0, + 0, + -30 + ], + "color": 0, + "uuid": "f4cc6580-f851-149d-f2fb-1bc9469b7ce1", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "22aaf02a-dcc5-0b1e-163c-8f002d8a332d", + "7823fa17-de11-0fe8-2baf-f8fb991f1c3a" + ] + } + ] + } + ] + }, + { + "name": "EngineRoom", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "32d2ada4-d3e8-9606-b3e2-5e51f4ee0c7b", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "6daed1d4-981e-461b-e3bb-74c380ac33dc", + "00352831-878c-36dd-56e5-23907f1b47fa", + { + "name": "EngineRoomLeft", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "cca24d86-e850-053a-9dec-395bac3130ea", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "429f5b24-b23e-95d7-a9ee-497cc9d6870d", + "4f5a613d-8830-b138-718b-9ffbb057e3d2", + "59b62c8d-08db-51f2-9fd9-207412f3c43a", + "48913cfa-28ec-987b-4365-3a4efe28b6e9", + "12a1c9b3-563f-29d1-4231-8b8960e9bf95", + "bb1f1492-cd11-fc0f-eb04-6a5f11c8bd62" + ] + }, + { + "name": "EngineRoomRight", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "76ae5dd4-5132-c9eb-0ef8-a39f2bd556af", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "02e23b3b-bbd1-8429-2e72-30a7942b1a59", + "47afaa80-32d5-ef12-1c54-f7af51108b24", + "b0c15dcb-3164-8e83-617a-faf2031bad34", + "fea2953f-ff6d-d6f4-0e7a-12e45eb37e3d", + "6e2dde80-d293-08d7-2c83-8f7edab96858", + "787b4297-9e84-2172-ca92-f890a7337aaa" + ] + }, + { + "name": "Rotor", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "38ed883a-0fe3-ee8a-2189-c6e092c1fbdb", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a1ca5212-93a0-4d30-6122-d2e5c9872983", + "66601b79-7b9e-fa15-2bd4-56693acf0bb7", + { + "name": "RotorBlades", + "origin": [ + 0, + 79, + 0 + ], + "color": 0, + "uuid": "812dc3c3-7569-417c-88ea-98db26c9084f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RotorBlade1", + "origin": [ + 0, + 79, + 0 + ], + "color": 0, + "uuid": "f7b3eb02-a8bd-10df-159b-84a8d7d8de15", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "103317bc-2688-89dd-17f8-3650470efcaa", + "d1db4ea0-4661-4e86-13ab-d074bdb22394", + "8c22cade-6d0a-00a9-2974-2804a153f903" + ] + }, + { + "name": "RotorBlade2", + "origin": [ + 0, + 79, + 0 + ], + "rotation": [ + 0, + 90, + 0 + ], + "color": 0, + "uuid": "8d437dd0-b961-9ee5-6a21-c66cc9e2c290", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "db87ecaf-8136-4d52-d5c9-3d4f4b20fd3d", + "c586ee43-2365-0815-9be1-57eb4d52415d", + "adfdc4b7-1eb1-0617-f8ab-48b0db5665f9" + ] + }, + { + "name": "RotorBlade3", + "origin": [ + 0, + 79, + 0 + ], + "rotation": [ + 0, + -180, + 0 + ], + "color": 0, + "uuid": "313b00e1-ad6e-cfc0-f25e-cf657a31be43", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "9a654922-f592-c03e-ec3a-411273b14955", + "34b50ab0-c515-6c0a-ebe9-80822ac5c44e", + "d28f3b53-e1fd-6e19-ee52-768b3d16f520" + ] + }, + { + "name": "RotorBlade4", + "origin": [ + 0, + 79, + 0 + ], + "rotation": [ + 0, + -90, + 0 + ], + "color": 0, + "uuid": "669905c4-3a7d-c6e9-3553-9ac439ac10f0", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "cf06849c-bf04-230f-8555-70a0f6fbb714", + "b91de1a5-0b22-48de-55da-1ad9e0400b04", + "3ae96f69-18b8-0a78-9d04-f3caffc1b4a1" + ] + } + ] + } + ] + } + ] + }, + { + "name": "RopeLadder", + "origin": [ + 0, + 18, + 3 + ], + "rotation": [ + 0, + 0, + 90 + ], + "color": 0, + "uuid": "349fd936-b671-8cf5-1bd3-e66530c8bee3", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ceea50d1-ebb7-d7cb-b6b9-69a321fd2698", + "2cbdf3db-26d4-6b03-d386-78cbd775872a", + "af62dbcd-800e-f962-49ef-2cc8b7512391", + "bc13f85c-c966-c61e-8958-954dae7efcd9", + { + "name": "RopeLadder2", + "origin": [ + 0, + 2, + 3 + ], + "rotation": [ + 0, + 0, + 85 + ], + "color": 0, + "uuid": "75c895fd-4365-0281-ecda-1a6d54d01e66", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a2f4989f-e70f-5196-4050-f0b1825614e1", + "3c8f15aa-a7a8-ebc5-4678-c3e2f4a624d7", + "05bc5a8b-b514-4d34-9df4-85a29e758ed2", + "560ddc94-bfeb-9ca3-3ad5-2b996a9417e5", + { + "name": "RopeLadder3", + "origin": [ + 0, + -14, + 3 + ], + "rotation": [ + 0, + 0, + 55 + ], + "color": 0, + "uuid": "0bda9a1f-977f-e6e5-c943-0ab890083646", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "5ad4ce08-eefc-6107-fc45-b54c501d5a17", + "5382e7ce-0210-07a3-5a39-564881ad85b6", + "651651ac-c2e0-5cef-8e1a-981e98653024", + "29295c79-a462-f3ae-b17d-165b0b24e5d0", + { + "name": "RopeLadder4", + "origin": [ + 0, + -30, + 3 + ], + "rotation": [ + 0, + 0, + 17.5 + ], + "color": 0, + "uuid": "9cb16d11-101b-c58c-24e7-c7a2dec1668f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "adcf364d-c4cb-636b-81d6-c7977d7b3525", + "42f4c692-3694-c495-ec99-09556d5bb0c0", + "595ef090-7f9a-8179-e935-4b29f2d7e184", + "9d74e4a4-4705-1cf9-0022-51fe5ae26385", + { + "name": "RopeLadder5", + "origin": [ + 0, + -46, + 3 + ], + "rotation": [ + 0, + 0, + 85 + ], + "color": 0, + "uuid": "20e90317-4e90-cada-923e-1551e99844fe", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e61bb277-9b35-78e5-93f1-b3f8d8d7fc7f", + "37236c6a-8616-a237-baa4-aa0ead82d0f7", + "1a350fe0-670a-70fe-88e3-734694dad6ba", + "6584c65b-14b3-9256-0b14-bc8198dfc9fb", + { + "name": "RopeLadder6", + "origin": [ + 0, + -62, + 3 + ], + "rotation": [ + 0, + 0, + 45 + ], + "color": 0, + "uuid": "9df17c50-2500-dc3d-3c9d-1bb6cd628896", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a6b332b9-51fe-6bde-d3f7-f4d49e2fad64", + "e283a6d7-c1c4-dccf-55a8-7d7f840f4259", + "abbdc168-0478-26c0-4fd5-8a4e0a6d6c70", + "d8af1577-a3b2-233f-5fa7-8614c8a06d46", + { + "name": "RopeLadder7", + "origin": [ + 0, + -78, + 3 + ], + "rotation": [ + 0, + 0, + 72.5 + ], + "color": 0, + "uuid": "335c6570-26b8-856b-bda3-65395902f2c1", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1382a9ae-d04f-9f91-e940-0acfccd26b02", + "f47a62ab-f0c5-eba4-9b39-c6ddcd063b1d", + "db16de55-a5a5-3191-cab1-737029a1c1d4", + "bb0aac5a-aed5-18eb-078c-087cadeaa272", + { + "name": "RopeLadder8", + "origin": [ + 0, + -94, + 3 + ], + "rotation": [ + 0, + 0, + 30 + ], + "color": 0, + "uuid": "3bd16030-14b3-a1bf-76ef-9adb8e3564d9", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "65c9cc04-0f2e-be8d-e5dd-596432b80caf", + "dc6bada8-0f68-3157-623e-5d707cf63adc", + "1b0b4d4b-ba33-c817-e5b6-ce5f0a015670", + "34d34524-8192-5c54-2edb-6687d32c54ae", + { + "name": "RopeLadder9", + "origin": [ + 0, + -110, + 3 + ], + "rotation": [ + 0, + 0, + 105 + ], + "color": 0, + "uuid": "12e7191b-e255-e122-467f-4e74ea1ca25b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b9cf06c2-18d5-b469-6005-557f1b65bbd3", + "e28c6ffe-1742-144c-1949-91050bdc81f5", + "173bd1e5-b573-e827-e8c1-3b545bb9fddb", + "b8bc4a52-d289-10ea-307c-b439840f0306", + { + "name": "RopeLadder10", + "origin": [ + 0, + -126, + 3 + ], + "rotation": [ + 0, + 0, + 30 + ], + "color": 0, + "uuid": "c8667a44-3ce4-ea1f-ecfe-d9fac6461f90", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "616545a5-dc5f-fc34-fba0-fa73a5d2dda0", + "84690380-add5-e58c-bade-29566cbd0ca8", + "9995ccb7-13d8-d7ad-177b-1061111eae4e", + "fbde71ac-aa28-ddfc-b282-2d8a90ca7468", + { + "name": "RopeLadder11", + "origin": [ + 0, + -142, + 3 + ], + "rotation": [ + 0, + 0, + 95 + ], + "color": 0, + "uuid": "73305a61-a5fc-3ffd-28cf-a5a7156ade9d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "188ccb12-851b-1814-a474-acf791a7b3fe", + "5c2041f8-0c46-922f-089a-18b3e99969ed", + "334e1d65-f729-2eef-0d61-2ce72451a335", + "7a2fd5ad-01b2-3a7e-11db-8fc0532ea0ac", + { + "name": "RopeLadder12", + "origin": [ + 0, + -158, + 3 + ], + "rotation": [ + 0, + 0, + 77.5 + ], + "color": 0, + "uuid": "fac07263-8b34-d5b4-c7e2-83b19ee7d708", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ffe85353-4a8e-827b-da4c-b073e7ea6377", + "86a1da75-1f45-bf6f-2f92-2fc63d8e993a", + "d506e185-339a-eebd-7381-6348d3f8e0d4", + "511c8f02-6fd7-f679-dd0d-5618cd7e5ed1", + { + "name": "RopeLadder13", + "origin": [ + 0, + -174, + 3 + ], + "rotation": [ + 0, + 0, + 95 + ], + "color": 0, + "uuid": "44f6b24f-ec24-3b6c-95dc-fc2d04130722", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e9f10a40-b536-eefe-721f-aff1b8a6a6a9", + "066c1dc4-37b5-d79d-12b2-d0a3ef5ebf37", + "fc44e348-0fba-cb31-af5b-16506815543e", + "5f77bf2c-d246-9156-c10e-f71dcaed59a1", + { + "name": "RopeLadder14", + "origin": [ + 0, + -190, + 3 + ], + "rotation": [ + 0, + 0, + 105 + ], + "color": 0, + "uuid": "81c03504-cef5-69e6-cf02-f623ce10f5b6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "6fc54381-1c0e-b4af-9bbc-4d8da96fecf9", + "afef023d-931c-9a20-73fc-6300e8088df0", + "b2709f0b-8848-15c4-8022-5ee5ae61eb21", + "b335fbde-c8fa-7a9d-ef18-8aca48e7e18c", + { + "name": "RopeLadder15", + "origin": [ + 0, + -206, + 3 + ], + "rotation": [ + 0, + 0, + 130 + ], + "color": 0, + "uuid": "0cb872f1-2b47-cee6-492f-bfa20246c3ac", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "c20a24d6-be1c-9057-82d7-04de02f59886", + "3a63e341-e8fb-2bd2-6362-8562b2e7b7ef", + "976656dc-5616-ef7b-ff0f-0284637bb753", + "da9f89fb-21c2-448a-c367-0f483f1fdd96" + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "name": "DeathAnimationSoundAnchor1", + "origin": [ + 0, + 34, + 0 + ], + "color": 0, + "uuid": "fcb2fee0-4cd1-e336-8621-8ce8d361032d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + { + "name": "DeathAnimationParticleAnchor", + "origin": [ + -35, + 0, + 20 + ], + "color": 0, + "uuid": "c9619203-8699-a8fd-5b1f-e5d7977f2b78", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ], + "textures": [ + { + "path": "", + "name": "death_animation.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 256, + "height": 191, + "uv_width": 256, + "uv_height": 191, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "66f8b2e8-963d-24d5-1b10-af18e7682f3d", + "relative_path": "../../textures/death_animation.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAC/CAYAAAARmQJyAAAAAXNSR0IArs4c6QAAFtBJREFUeF7tnWusVcUVx+dI2ni9oIBieAVQUVAU2rQk2pjSpESJpB9QQWk0RpqaJhoTY7T9IFWKaWxsYyK2scb6bEsFIkkblJo+JNYPhg9VCsitGMDwqg/QkFtozPU0c7j73H32nb1n1sya2bP3/p8vcO9Zs2bmv9b67dmzH7d1aqjdFvhEocCZY1qtsgYyMDAQdR7MnH2JeOXIaXWumyK6/9fpJW0P7P23kO05P6pYlVFLLprMmTOn1UoGnTjiFKnKvmTihP4AAPmKAwBqbVgAgOIfLW4eADZueMmZC8tX3KT0AQD4A0CbeaE7d+7cUau1Sq8AnLO6AQ5k8e+cuqgz03nTJpJm3Nq+WeQVfuIIAAAASEklRk6FbE6Lek4BqB2nkta2aTTtTg3pT39l8f/y0Dgxe9ZMMW3Sud2xF4Fg16FjYs3Vk43nmQZAck4ug2TswMGw7nsAyQpgcHBQ9Pf3d5Wy/bk2K4AX1/9Bn/1C5B69zhwTJD8dUlvflAoA6TENgWwPlKJPt00AkFeMPmEAAJyOhCkQagWA9sJl3TycP26oJ593nBjT+TlvCds0AEgt5CogCwHboqcAIG3LDYO6A0DqtWfPnrZpgSda59nXBgAv7P1fOyl6WewqAMilrPxcfnjbqJVAkwEgNXl62Tz9EsPQQrcCyHPDAQMAoKErgDQA1u/5rDBVAYBxHX1ev+c6w5KmmUkAuBaiLQy4d7D3vzdQOPlZF8/pfJ/Y+TwyJwPBCuC0Esm9EZ1NQAkA+cvkKF8UtSYDgFbKdtYcAEh6poIAAGjwCsCk+A999Im49vOdjT0FsCtpWitOAPjcL6DNqjnW3BA1Uc75RiC5AtABQBa//AAAJiGxt5G3rPr+UFcGvsdTJ/+1BEBS/Hv3HxB3TjuBFYDHjA0BgBfXj9zJ+PBDP67+NVyP8aC6riQAfrjtSO59AEnxSyEAAGo60O1DAyA9QsCAHq9si1oBIFv8crJYAbgnSZEH6q3ADzz0E6ObuFxH/cDq1a4uCts/vHat8vtbV6qfmeAaDPcTglzjovhx3gNQrQDSxZ8c/QEASljsbAGAXt0AAH0esQMgW/wAgD4IXBaxAsB3Iab3JdJa+u4XK4A5rVZ6BaAqfgCAq7zt/eQtke090lr6LER5VSLvVMZnv1IBACAFgLziBwBoxcJtHbL4y9oIBADss4blFKCo+AEA++BwtAQAOFRU+4hlBWB79cf1LUmdW4Fv2bRTu5MsLwFiE9BfIhZ5BgD86Q4AAACd7FK9D8D3a9JM3jkYsvilDjgF8AebIs9RrwCSo3/TVgC+ASD11EEAAGjGfQClAuDKn2/RngIk9GrSjUAhAKCDAADQDAC4rDucNwFNAaAqfjnwur4QJBQAiiAAAAAAOjg4AwDvBCxnDyAbWNXpAAAAAPgCwPDBe+QPg+g6yvseKwBb5Ua3KxsC2ATki2UoT7YrAAAgFaEyrgLkJUgWAiFXAQCAW9m6bObZ9kwFQDq/5K3n3T8NZjuAuq4AbPXgbgcAcCs64o/7PoDYAZA9uAAAw7mgWgHYBtNHuuY9LMPdF1YAbora5owLiExXAKrTyw4AXj7o9kfTrp9e/ZfKvHxw9JXQeYP+X89lmm4AgKlSNDuXwlP1FCsA8u43AQCGoxg7AFTJxp281EeRaaVWbI2HgezV1K0Aim42AwAAAPvM07SkAAUAsA9DEQB0d5oCAACAfeYBAN60ozjOA4Cu+LuXAbEHIAROASgpZ2Zrez5s5t3dSj4KW8ZLPN1H3utBBQCT4gcAUjoCANxpKQQAwK+pymMWAKbFDwAAAF4zFADwKm/XeRoA1B5xH8CwYrHfBxDiKgA1eXT2VQKALCLKkVM395DfOwOA4a/Rhpyvl74GBor/kq2XTh2dcl8GdBzOqOZVAYBLAXFrZuPPBV6dFYArAGwGjTbuCgAAbhrKTcD0BnhVVwAuKrCcArgMIOa2sR/BAAC37IkJALa5xvGHXmtxKcQtFdxaU254MelJtyKLvfCTOdomtYlGHDYAwGkVAQDHbOIGQB2uTUtJAQDzxOLOIfOeAQAjrTZuGPmT2tkGt668mfVpqKI3NC1f4fcNOUZiGBoBAIZCnX6tHmsOmfecA4DjRw9TfHRtJ0yeatUu5kay+DefnG41xGV9B0W2aLn9WQ0sQKMqAaDsDcCoACCL37aQXdoGyElyFy7FmnSWhgC3P/KEAjaoCgDKLn4ZkmgAwFHAHD4C5mlhV0nBXnzRRVZDeu/994UKAFz+rAYVqFEVABDLfgsAECgpqd1IAOycuojarMf+8sPbuqcB3P6cBua5cRUAoLviQpXI9goNAEBVOpA9d8Fy+wskg1U3AIC5bACAuVZBLbkLlttfUDGInVUBAMQpac1tTykAAK205RhwFyy3v3JUMesVADDTCZuA5joFt+QuWG5/wQUhdAgAmIuFFYC5VkEtuQuW219QMYidAQDmggEA5loFteQuWG5/QcUgdgYAmAsGAJhrFdSSu2C5/QUVg9gZAGAuGABgrlVQS+6C5fYXVAxiZwCAuWDRAEAO2eVOPpe25nKFs+QuWG5/4ZSg9wQAmGsWFQASCJgPf8TS9hkCm75CtOEuWG5/ITSw7aOJALC9s5DjxR62ccL7AAqU4y5Ybn+2QQ/RDgAwVxkAMNcqqCV3wXL7CyoGsTMAwFwwAMBcq6CW3AXL7S+oGMTOAABzwQAAc62CWnIXLLe/oGIQOwMAzAWLDgB4I9Dp4HEXLLc/8xTTW3LvRNtuiOlHymNRZtHxzIDHy6hNQJdLeS5teabD68W2YFfOPaczkPV7PhMc7wNQ+eMuWF7lhAAAuBX1468HABwFzOHDz1TpXiUA2guXiV2HjpEaJwW748QY0dq+ueeFIFz+mgYAHLFJKWhsDAAUSJUAoEjN+eOGer6WRZ/+qADA4Q8AMM5xGBYoAABo0kMHgSIApIs/6YbbH7IbCpgokHfAAAAM1JNFa/PJe48/tz+bsaFNsxQAAJoVb8wWCvQoAAAgIaBAgxUAAKjB/+ILagte+zPO4PUHb41WAACghl8CoKwiLLNvqk6wr4QCAAA1TGUWYZl9U3WCfSUUAACoYXIowgljviWOD71O7XHE3qFv+07Rss4KGAFACuByJ59L2+jEtyhCWfjZjxUILPqOTj8MKCoFjAGQQMBm9LV6I5BhEaaLPin29ApA9b1WW8O+tX5gAAWGFSABAKoJIQyKMG+pT/39KL0N+kaMoABFAQCAopa0NSxCrACowsI+q8ArR0Z+c90UIdI/U9SSbfM+AABFSQIA0m6xB0AVGfYhil+qDABQc81wBaByi6sAVLGbaR+q+AsBEPuLG8pKjZkXzra6Echq0y87SQP4xP7KrbLihn7VCuS9T6EFAKgFowIgKXx5JSBZAaR/R0pMAIAkF4z1CgAAeo16LCgAyC75dT9rhwIAaCWCAU0BAICml7ABQPrIn10JkG4IAgCI0YK5TgEAQKdQ5ntTAKg2/Ex/lzskAIAYLZjrFAAAdAoRAKC63Jdunhz9i7osXBEAAMRowVynAACgU4gAgLSp6dGedGkQACBGC+Y6BQAAnUKWAJDNdOf+pOKXDgEAYrRgrlMAANAppADA8Q+PjmqleuBJt+sPABDFhzm7AgAAUVK5CSgBkC74osedcR8AUWCYB1UAACDKTQVA4h53AhKFhnkQBQAAosy2AEjvCRC7HDHHHoC1dGioVgAAIGZGAoBsM5OXnpDP+bOdAADEaMFcpwAAoFNIsQlo+1ZgAIAoNsy9KwAAECU2vROQ6NbM3GAFYOYIVjErgMeBI47Orv5LSh1d0dtdSh0YOmdRwGfxZ33LAee+EASPA6vj2VQA2L6OiqUqGuiE+xVgquIHACwSq4kAQPFbJIpDk1DFDwBYBKlpAMgWP05BLJKG2MQWuKrY5B35kyHhFIAYnCYBAMVPTA6NuW1hm4zCpvixAjBRNmPTFAAUFb/PRLYISeOb2BY/AGCROk0AAIrfIjFKauJS/ACARdBmzi73MqDFkElNUPwkuUo1di1+AKDU8Nl17hNAKH67mJTRiqP4AYAyIufYpy8AoPgdAxOwOVfxAwAWQcsWYN5lFAvXVk1ODbXbVg1TjVD8rgqGa89Z/ACARdyym4DXT2+1LNywNXn5YC8AqNfpUfxsofDuiLv4AQCLkNUJACh+iwQoqYmP4gcALIJZl1MAFL9F8Etq4qv4AQCLgNYBACh+i8AzNaGeojF1m+sGtwITFc57gQLRjTdz3aYgit+b9FrHsRU/VgDakI02qDIAUPwWAWdqki7+mP6EO94IRAxwVQGA4icGmtE8e+QHABjFDe2qigBoevHHtvQu+94Rk5pp4Y1AapmqBgAUv0m6h7UBAMLqzdpbFQCQ97hu+kjYhEd6q3bezZqojs6wAsgRsMoAcMyJSjWv4nl3TAIDAACAUz7W5bxbd1nVSaSIGwMAAIB1esZW/EXXu3WTBAB0CjXse5wCFAe8bufdWQCEvoTn6/FvXdm23njjjcLHTBd+42qdj1p8X4Ud27TQMmHL2uCr43l3FgCx5IPvlUnrueeeKwTAzbfeFk2B+0j4JJljCbip2GUBQLXsr5p2Ko0bCwDTFYCP4itK9tDnl1VLYt9HBlMQuZx3U/rwbZu9HyaWU0DfcTZaAYQufhls39eys4CpGgBiuoErlmLxDYky/HsHgOkKoIzJyz59wKcOy1gAoKyMDNuvdwDo9gCuuuqqsDMe7s3Xe/nzTi2qtgLwnRilBL3ETmONv+84t3x3kBfT3z//bGG4x19zO3s6FO0rxJoAeSKUFTf2oETiMNb4+45ztAD47m38ACjKtVgTAAAIQ4hY499IAJw8eVIsXrzYKfLUGytiTQAAwCkNjBuXHX/fhZ4nRGkrgN88+SvR19fXHZcs+uTnjz/+WNx///1Or+GmClp2Ahhn6rAhdX5U/1z2rrqGmqfrOF31CjXP7DhLA8Djv3hU9Pf3d4peFv/g4GDnZ/mR/wcAilOqrIShJrprYYWap+s4qbpk7UPNMyoAyMHIopcFn/0AAACAVCBUYQAArggjtvctODVxfI+HKI/WnDo/rUNPBq66hpqn6zhd5Qs1z2hWAL4Fp94oU7W72cpKGGqiu8Y51Dxdx0nVJWtPzVfX/pL2pe0ByAFwiq5KFPlIZ9UK2zSwroUR6nFXV/1d52mqZ1XtXGuoUgBYsmSJ8snFrVu3KucBAJSf1q4JCgAUx9BV38oBYMGCBT2KvPPOOwIAKL/Q80bgmqAAAADQVUCuACQANm3a1PndjTfeKACAeIuf4zQPAAAAAABFDlSlMLAC8AtoV31xCuA3Pt68AwDepK2U48YBQBWdJu4BuF42oj4rYVsVrglaFdDZ6uPazlXfSq0AisRq2mVA18RB+14FqgoaZwBs3Lix59Lavffea5Qbjz32mJEdt9ENN9zg9JAQ93jgrx4KAADDcQQA6pHQmAVNAQDAMwBw5KYlJKzDKgAAAABhMw69RaUAAAAARJWQGExYBQAAACBsxqG3qBRoLACyUZgxY0bhnwpL7MeOHdv578Ov7er8+8A185Q/RxXliAaze/dup6sZl112mVGciqbsOoaI5HQeCgAwLCEA4JxLLA50xQkAsMjcdQIAAAC8GeXoLQQAHIeI5ikFdPGKVaxRy1CsAOIIlS6hOFYAccy0HqPQxSvWWQIAkUZGl1AAQFyB08UrrtGOjGYUAJYuXWq0ubRv3z5sAjpE1TVhAAAH8T00dY2nhyEZubQGwKpVq4w6yBrl3RH44IMPGoHHqtPAjdasWeO0w28yXADARKVwNrUBgOkegO3DQAAAT1ICADw6cnmpLAC4ngZ0vdc/WQH84I47uGJSmp+fPvJIaX1zdbxu3bpWn1jUXZWdFNt6VjXJd6rfJ7+TNjbtsnNIj0N+l/XJNecm+mnFCIAJk6dWNhbHjx4WEgATJ06s7ByOHTsmnl63I7fQ0oWdLXKO71QAQNH7SScAgFnXugAgvQIoOspTjtZFR3LVaiHxjRUAc5Km3FUKABs3vGSlxPIVN+W24/apA8D+/fut5jBr1qzcdtw+5QpAAiBdgGkIcBzli1YOWAFYpYhVI2sAyGcB5HMA6WcAkv/bjGT58uWdZnIPQHUKIAu1vXBZ1/X8cUM93ew4MSa329b2zUIFAR8+iwAgC/Xbq5/KHWfRnP669g6hgoAPn8kpQDJQ1Tl9dg8gKWgVHEy/Swsj+0y3y35nk2NoM1qBSgAgKdSkQGSxmwBg16Fj3RlffnhbDwR8+JSd5QFAFurkVSObg/Omjd4jUM0pPecsBHz4lHPIrgBQOPVVwOlOQJcVQPaySfoqQHYFkC3W9Xs+I0dEBwAOnxQAmE5g5dxzOqYSejoAcPgEAExVrIddpQAgJU8f1U1DcOijT8S1n+9UrgA4feoAMPSd+8S0SeeaDrtrl6wWVADg9gkAkMNT6QbWAPjggw9Y73YzWQHYFKssfvnhBECeTxMASBsqBHQA4PQJAFS6nsmDrzUAkkLdu/+AuHPaCZYVQJFPHQAGrlghZs+a2QkSBQJFAOD2CQCQa6jSDWoLgKRQZXS4AKDzSQEABQKmAODwCQBUup7Jg7d+GGjLli3RngJkC1Wq4roCMPFpAgBpk6wCTAtWBwBOnwAAuYYq3aB2AEgXanL0dwWAqU8bAJhAgAoAF58AQKXrmTz4Wp0CZAuVAwAUn7YA0BWsDQBsfQIA5BqqdIMuALb/dnX7wyMHO5M5f8p0sfCWtaxLfJ1KrlcBVIXqCgCqTxcAFBWsLQBsfAIAukyt1/fdIt/y6O1tWfjyI0Gw9L5nKwOAvEJ1AYCNT1cA5BWsCwCoPgGAehW4bjYteeQ/77xJYve//inGn90vvtw/QaR/fuHV18WyxV8TJz//rzj37HHim997xgsYbFcARYVqCwBbnxwAUBWsKwAoPgEAXcnU6/vWm7++q50t+vTPb727W3z1ihmi70tnibP6xpQKgOxdgKaFKkOWdxWA06cpAKRd+kqAKqWy9wlICKjuBJT3ASQfDp8AQL0KXDebllz6q478CQRe/ctmMWXaeR0AyM+Su54vbQWQLlbVZbmiyZoAwNUnBQB5Y827RGgCAA6fAICuZOr1fWvf1sfbect/CYHtb/9D9I0fK6aMn9g5DVh2z8bgAJCSyweCdk5d1FE/fTeeSTiyxZ+08eFT9zhw+ohdNPbsHYNHn/lR7uPA3D7xNKBJVtXDRrsH8Oe3tosLLjy/dAAkELCRHS8EUauW95IRAMAmy6rZRrsH8Mc3t4srv36BGN9/ZmmbgFWSVvdGoCrMBQCoQpR4xqjdA3jkyac6AJCfi6ZMKmUTkGeq/F7e3fF21+ml87/S+T8AwK8zPPpTQLsH8PSmzWLJokvFp4OnAICcOEgQAAD+khSe/SlgtAcgLwMCAGZBwArATCdYxaGAdg/gwH/2dy4Dyk9ZNwLFIZXZKAAAM51gFYcC2j2AZzf8rnMjUKgVwILvPxSHMg6j+PvP7q78HwZJvxbcQQo0jVwB7R7An/72WucyYKirAABA+RmDqwDlxyDUCLR7APJZgJBXAQCAUKHP7wcAKD8GoUag3QOQ9wHIh4GOfHqsczOQ71uBAYBQoQcAyle6/BFo9wAuWHK3l1t/s1NPngYEAMpPCqwAyo9BqBFo9wBCvRgEAAgVcn0/AIBeo7pYBDm6m4gFAJioFMYGAAijcwy9RAOARIwjhw61VX8cNAaxTMaA+wBMVIJNLApEB4CBgYF2LOLYjuOJJ56wbRpNO9wHEE0ovA7k/3+rU5fDkJo5AAAAAElFTkSuQmCC" + } + ], + "animations": [ + { + "uuid": "96b1b305-92fe-9c7f-475b-19434f1d7894", + "name": "death_animation", + "loop": "hold", + "override": false, + "length": 12.75, + "snapping": 20, + "selected": true, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "markers": [ + { + "color": 0, + "time": 6 + } + ], + "animators": { + "3855c725-cad3-125d-db6d-7aa36afaff7c": { + "name": "Helicopter", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "40", + "y": "224", + "z": "13" + } + ], + "uuid": "e4067018-0609-ad89-380a-25747f6f1008", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "2c757bc9-83e6-d23d-9df6-bf4f97a4f5d6": { + "name": "DoorRight", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "1cbe7ba5-d97b-dff3-da58-6031cbe583a2", + "time": 0.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -2, + "y": 0, + "z": 0 + } + ], + "uuid": "5c238362-3d39-d6c8-b90f-7ea474e7c4ab", + "time": 0.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -2, + "y": 0, + "z": 0 + } + ], + "uuid": "bf74fbe3-b3e9-c73e-0c01-744f7c080b75", + "time": 0.9, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -1.40763 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 1.40763 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -2, + "y": 0, + "z": 48 + } + ], + "uuid": "f20761ca-e540-501a-4cd5-2c2989a16df0", + "time": 2.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.63708 + ], + "bezier_left_value": [ + 0, + 0, + 0.29763 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.63708 + ], + "bezier_right_value": [ + 0, + 0, + -0.29763 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -2, + "y": 0, + "z": 48 + } + ], + "uuid": "3c2870c2-1a3d-3b96-e2bd-bf03ff11662b", + "time": 10, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -1.10129 + ], + "bezier_left_value": [ + 0, + 0, + 0.30123 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 1.10129 + ], + "bezier_right_value": [ + 0, + 0, + -0.30123 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -2, + "y": 0, + "z": "0" + } + ], + "uuid": "863662d3-1b4b-b2bb-e742-5c66476d11b8", + "time": 11.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "14d9f06d-656e-28c1-e3c5-7ed8dbb30749", + "time": 11.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "349fd936-b671-8cf5-1bd3-e66530c8bee3": { + "name": "RopeLadder", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "7a6a939e-4117-86f9-9f90-aec63b8e61e9", + "time": 2.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 42.5 + } + ], + "uuid": "72250253-88e4-f556-3497-a042b2c1c2d1", + "time": 2.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "2a8320c4-a06e-5ff3-a2f2-5cd46f367dc2", + "time": 3.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "4465e37e-06aa-0af8-16f8-5d41ccd28a4e", + "time": 7.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "860bb0dd-a0c9-dd44-6cd1-139165eb773f", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "acb0ed56-dfd1-347b-0b5d-07ffe2041332", + "time": 2.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -18, + "y": 0, + "z": 0 + } + ], + "uuid": "0eea9772-0235-2498-a30d-7cc9636e9f07", + "time": 2.95, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -18, + "y": 0, + "z": 0 + } + ], + "uuid": "cfc2447b-f3db-735b-f943-fa6d38de094c", + "time": 7.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -3, + "y": 0, + "z": 0 + } + ], + "uuid": "96fcb9f9-2177-6c94-a351-0f548b37d298", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -3, + "y": 0, + "z": 0 + } + ], + "uuid": "dfe4fb8a-c882-4cfb-9705-7560e8ee61fe", + "time": 8.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 3, + "y": 0, + "z": 0 + } + ], + "uuid": "c9d4c448-85d5-c90f-cae1-5bd41d65fd8f", + "time": 9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -8.5, + "y": 0, + "z": 0 + } + ], + "uuid": "84964543-6db1-bbf9-ba7d-bc929a414813", + "time": 7.55, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "75c895fd-4365-0281-ecda-1a6d54d01e66": { + "name": "RopeLadder2", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "715ca160-5e7a-ab6e-7f05-423c3986350c", + "time": 3.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -120 + } + ], + "uuid": "d13fa408-90b4-1c79-dc11-472351e4ce31", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-120" + } + ], + "uuid": "f2c6875a-0d7b-156d-9136-0a650ef27f33", + "time": 4.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -120 + } + ], + "uuid": "2e86ee13-c9e9-2ed2-b1b8-95c3a5b4b394", + "time": 5.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -117.5 + } + ], + "uuid": "1c2bf741-57d3-c5ad-090a-8bbbad3e3029", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -120 + } + ], + "uuid": "b7d026a8-ad38-14a7-f867-1ba2d95d9391", + "time": 6.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-121.25" + } + ], + "uuid": "e76f4473-96d5-8842-0274-b0358a654c8e", + "time": 5.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-119.375" + } + ], + "uuid": "65612d85-2ab1-d18c-b0bf-47c1afcd6f1c", + "time": 6.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -120 + } + ], + "uuid": "27614e65-f95b-6b31-3628-9e04ae6de7af", + "time": 7.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -120 + } + ], + "uuid": "938323f4-87a5-ab37-7b1b-97a6ce4c8bca", + "time": 7.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -140 + } + ], + "uuid": "d14e16d9-9442-78aa-8918-2831a5ac3ead", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "105854b0-38ae-6d67-c4c1-3dc4809bba38", + "time": 7.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "e5002226-5469-1042-b029-0f1afc6be98d", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "84b84f95-6c5f-0b4a-6cba-b1625c5ffe78", + "time": 7.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "d673620a-d093-ad34-9edb-ed8e4685e43f", + "time": 7.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "0bda9a1f-977f-e6e5-c943-0ab890083646": { + "name": "RopeLadder3", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "5ed816f8-135f-0da0-5923-129ebc1c7bd6", + "time": 3.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "041c15ad-4012-b38d-82ae-971e61223436", + "time": 3.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "39c58d1d-12c8-d230-c6b5-6d104160c15b", + "time": 4.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -52.5 + } + ], + "uuid": "b8dcff37-3b94-4056-c23a-e8462043db74", + "time": 4.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "11bd825f-6b2e-aacb-e8b4-b63a18256b38", + "time": 5.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "1ff3553a-bec7-da76-7698-f56e69a072c4", + "time": 6.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-56.25" + } + ], + "uuid": "9cfa4b8d-8689-10e9-0147-11c88e06f48c", + "time": 5.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-54.375" + } + ], + "uuid": "72b93d9f-9ec1-38e2-bd94-e09ed920645f", + "time": 6.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "85a519f5-bb8f-d7f7-cd2c-ee83e94f8e19", + "time": 7.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -90 + } + ], + "uuid": "41311d57-2e2d-3539-407a-ab50771f2830", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-110" + } + ], + "uuid": "04ee912a-1a01-d160-d1cc-02423e3c64aa", + "time": 7.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-55" + } + ], + "uuid": "aa92bfd1-b3bb-8c32-15a3-a20506d635e9", + "time": 7.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "d47c969c-745e-d0de-01e8-d9057a9bac55", + "time": 7.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "5bda63ae-aee5-b44f-7777-ccb4998ea206", + "time": 7.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "b6e9b356-e0fe-62ae-e490-5f2576e4c6f0", + "time": 7.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "99e1aee4-3ecf-0b8f-0db6-12825624b7ba", + "time": 7.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "9cb16d11-101b-c58c-24e7-c7a2dec1668f": { + "name": "RopeLadder4", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "55a90d22-0aa7-a1ed-0a20-462b561529c4", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "4e4b85da-ebb9-c3e7-f66a-81f1f7131a18", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "8f8d286d-3876-0d88-731a-1b08212b71c6", + "time": 4.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "2c965938-a38a-2aa5-4e40-7b7490cbb9f3", + "time": 4.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "94a7c70a-b3de-422a-70da-b7f4f3f192ef", + "time": 5.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-17.5" + } + ], + "uuid": "018db8e7-c53c-48a2-82e6-f5704a2e030f", + "time": 6.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-18.75" + } + ], + "uuid": "76305530-2812-3b4e-76a6-881212353a98", + "time": 5.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-16.875" + } + ], + "uuid": "8dac90e3-c610-5a05-d495-0f940fe2321b", + "time": 6.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "ff8a99bc-6ecc-fa9a-a3a1-772c8458f386", + "time": 7.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "8b97c453-3b59-1b5b-1b87-5270a861395b", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -52.5 + } + ], + "uuid": "dc1e0624-fae4-1db4-0b17-c2daaa720b8f", + "time": 7.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "3608771d-a92f-73a2-1cb0-b6c63983e29e", + "time": 7.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "eaed630f-5ce3-6152-f91c-e7d30cfc3705", + "time": 7.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "8e7b9142-b842-f147-eef4-c6a415b2fca9", + "time": 7.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "1d4a7779-0147-7eaf-eacb-6498c62ec7ce", + "time": 7.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "6cc6be4e-6273-f0bf-1046-cc74826ad972", + "time": 7.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "20e90317-4e90-cada-923e-1551e99844fe": { + "name": "RopeLadder5", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "fd0d9523-f494-fbbd-579d-a9f8aa29505c", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "cbbb7211-7306-4da6-e9cd-cee32f3db277", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "ad615c94-7d2f-3d30-d2cb-1fb982efa62c", + "time": 4.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "f8b8ee5a-718b-57ec-e29f-2a957e84eba6", + "time": 5.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -82.5 + } + ], + "uuid": "4186b1f0-b56f-aa2c-d8d3-bb53424a8814", + "time": 4.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "05edfa8b-dbe5-9ac6-f39e-e13689d0736d", + "time": 6.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-86.25" + } + ], + "uuid": "2fcfc415-f20f-e75b-95c3-9c47bc7aeb3a", + "time": 5.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-84.375" + } + ], + "uuid": "2515814e-e6b6-ff78-5456-a857633e5e76", + "time": 6.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "11a7a53e-3040-b39e-6ed0-379bd2e00b92", + "time": 7.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "43eccee8-8e2a-9d27-6bc4-11bddb7bcca3", + "time": 7.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -120 + } + ], + "uuid": "08efecdc-9ec1-ac7f-2176-cf1557a6d6d6", + "time": 7.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -140 + } + ], + "uuid": "50b3a825-995e-75a9-f7af-ecf3a58496eb", + "time": 7.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "cc926f12-2919-d6d4-ecfd-09ef1110ec9e", + "time": 8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "d781389c-f13e-57fd-5443-0c375ddb8fc5", + "time": 7.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "7e66f59e-c9de-c580-b98d-7ec52ce6dcdb", + "time": 8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "965810b4-fb7c-3804-c156-6acdbbf0fd8a", + "time": 7.95, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "9df17c50-2500-dc3d-3c9d-1bb6cd628896": { + "name": "RopeLadder6", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "333957d7-7490-42ea-4b18-1e33f22720c8", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -45 + } + ], + "uuid": "b7a2d6e9-4056-008c-ccc4-11032641dfe1", + "time": 3.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -45 + } + ], + "uuid": "361017c2-c56b-05e7-9f41-a54eb0d67951", + "time": 4.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -45 + } + ], + "uuid": "cf8acc2f-581b-500c-dd24-adcf074aeea7", + "time": 5.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -42.5 + } + ], + "uuid": "82406510-9cdb-3e15-bd50-e6ae0b854a45", + "time": 4.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -45 + } + ], + "uuid": "a81c2263-8ca2-e039-3abc-c08e67bb7d26", + "time": 6.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-46.25" + } + ], + "uuid": "7403a1fb-025c-3ad1-d935-d334f2d38e6e", + "time": 5.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-44.375" + } + ], + "uuid": "796bf88a-e601-c774-69c6-9bf911e76d48", + "time": 6.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -45 + } + ], + "uuid": "b34ba9b8-05e1-5414-995a-69e8ccba3742", + "time": 7.35, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -45 + } + ], + "uuid": "86ed3337-b4f3-aac9-ff95-aa28d95f178b", + "time": 7.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -80 + } + ], + "uuid": "927a5b26-48b9-a341-3a31-4d63f8a3fede", + "time": 7.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -100 + } + ], + "uuid": "24ff5a31-95c6-8d40-29d8-745d98e06553", + "time": 8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -45 + } + ], + "uuid": "8d9f1b9c-1b64-0e85-f7b5-2abb6b74d617", + "time": 8.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "cdaaf4f8-0111-72e2-4516-72f5ff3e85ba", + "time": 8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "4327e269-e44c-7182-3fff-16315107ae30", + "time": 8.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "9dd6f2f6-fd36-c4b5-8aed-a6dc4ac524e9", + "time": 8.05, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "335c6570-26b8-856b-bda3-65395902f2c1": { + "name": "RopeLadder7", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "44deab22-701c-c222-9d88-821dc88b0ab8", + "time": 3.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "5a007d3b-580e-665d-114f-1104c2cd52ca", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "fab7f68b-3230-f50d-7c79-e3b81178cd0f", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "54b70589-b1e3-77eb-e212-f65576e31615", + "time": 5.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -70 + } + ], + "uuid": "ffd3c88c-c7fd-4156-f873-679613272b72", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "a545cacd-932e-6258-8560-85ec089cdaab", + "time": 6.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-73.75" + } + ], + "uuid": "66f3fc9d-c7f7-cd74-1df9-ced4f5ea1bb5", + "time": 5.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-71.875" + } + ], + "uuid": "062b58fe-ea6a-b033-11fd-bae2d8d7c194", + "time": 6.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "f2e6608a-6953-00c6-b181-cbef0571590f", + "time": 7.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "e41721f9-d7ec-d856-86a4-0f0acf44872d", + "time": 7.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -107.5 + } + ], + "uuid": "ae713465-bf77-478a-8401-b8c6dc6b2dde", + "time": 8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -127.5 + } + ], + "uuid": "ad9c6331-a9ee-5ff8-8aa1-fb7cad8116d5", + "time": 8.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "4934e04b-7fbf-2ba3-0eb8-8dab5e5e2b2d", + "time": 8.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "4db7f489-4b91-0ab2-98e7-4eaa93faae71", + "time": 8.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "efee1e69-83bc-819f-ce69-78abcc16ae02", + "time": 8.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "f0fc56c7-4636-529b-1ba0-706b5b623db8", + "time": 8.15, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3bd16030-14b3-a1bf-76ef-9adb8e3564d9": { + "name": "RopeLadder8", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "7d6528b1-2da3-f8ed-3305-63ebced40d77", + "time": 3.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "77f387e0-d6b5-9515-f961-48fc3591cc79", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "81b14531-125f-1885-964c-93f9c12b4ff7", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "705cae46-bb94-7d53-63b5-bde9bfc5db21", + "time": 5.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -27.5 + } + ], + "uuid": "63dc2e71-e3c5-aea4-9845-7b9127472c56", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "bf8c4ae2-5453-be09-b954-eceb41be02de", + "time": 6.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-31.25" + } + ], + "uuid": "8d406165-b149-9a75-913a-f01cc625a884", + "time": 5.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-29.375" + } + ], + "uuid": "8fc64b38-8de3-5789-f573-f75b776c2130", + "time": 6.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "1ae28892-3925-6455-7979-871d2e0d1759", + "time": 7.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "1d35fc36-25d9-de33-b582-a1941ab3f255", + "time": 8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -65 + } + ], + "uuid": "e25a2001-e5bb-a820-5311-ea93425c8e90", + "time": 8.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "3058a961-8743-c600-4a3b-b015656f08c9", + "time": 8.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "36daff5d-1428-4808-0994-97ce0ee6df21", + "time": 8.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-30.625" + } + ], + "uuid": "a49c98ba-ec8e-0175-be8c-8f9b3ac6d3f4", + "time": 7.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "6fa3f6a5-6a70-3890-8ef8-2dc552df9f75", + "time": 8.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "d7f231f4-fa90-baef-490a-cb27fd9445e7", + "time": 8.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "ba4435b6-5449-22c9-8137-7cb8b7faeba0", + "time": 8.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "12e7191b-e255-e122-467f-4e74ea1ca25b": { + "name": "RopeLadder9", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "b1e8cb95-1c6f-5b1c-f418-639a7cab014b", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "94b60b23-61aa-c77c-d51a-b2a2db70f960", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "29c60c10-e605-331f-0342-8c6f2bf86bc4", + "time": 4.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "79dc3101-ca96-2792-c24b-3e1d07fba131", + "time": 5.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": "-102.5" + } + ], + "uuid": "0a3e2979-121f-645a-4e29-cf9845632153", + "time": 4.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "d484bd8b-227a-5bde-e77f-be4fbc73a0ef", + "time": 6.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": "-106.25" + } + ], + "uuid": "3d9a193b-be69-2360-6b73-a4674c7ba8d0", + "time": 5.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-104.375" + } + ], + "uuid": "1435311a-2783-f508-04b1-2e4b4505dc67", + "time": 6.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "4e66c5e0-95a5-d76c-3f1f-164d5f478275", + "time": 7.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "068e1cab-0745-18ee-70f6-7466fb12874e", + "time": 8.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -140 + } + ], + "uuid": "f6364f07-ad42-5d90-9ece-c7e2391e4b60", + "time": 8.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -160 + } + ], + "uuid": "b7d6338a-6f27-ca05-4227-2a4f370bb5ce", + "time": 8.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "f665ff53-b17b-e5d6-eabc-a2a5ad8495c3", + "time": 8.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-105.625" + } + ], + "uuid": "6f1f5153-c606-fb59-b771-4ed203f70cb7", + "time": 7.95, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "94027b76-7cf5-513c-b6e4-c9f4b97aab59", + "time": 8.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "50d74b2c-4484-9df3-d1d5-361b22063b3c", + "time": 8.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "d67ac890-33fc-bd80-b170-332802c03125", + "time": 8.35, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "c8667a44-3ce4-ea1f-ecfe-d9fac6461f90": { + "name": "RopeLadder10", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "83eb069e-f225-c6ff-a092-082516cf7636", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "fbf27e4b-f216-9f88-00b3-cbc58c3ed671", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "1c5edae4-19da-3230-978b-2cb1b5ffa8dc", + "time": 4.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "a7ca8670-4b26-9c2f-4c19-f5a238ec3666", + "time": 5.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -27.5 + } + ], + "uuid": "b7de9a27-20a3-2e3d-13d8-c948a43eaf24", + "time": 4.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "e9ee1404-07e8-5253-1a7c-31725b62ae3f", + "time": 6.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-31.25" + } + ], + "uuid": "07903ec4-ca26-6878-a5e8-b1b2c683d251", + "time": 5.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-29.375" + } + ], + "uuid": "3283a399-91c6-f20d-11b6-00a57d204cbc", + "time": 6.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "9260370a-9e7a-edf2-d99d-83995d145425", + "time": 7.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "cf3d0e5a-b59f-ed5a-16bc-1d09adf3afcd", + "time": 8.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -65 + } + ], + "uuid": "bccdb8e1-9ecc-c8a6-c0d5-cd39277e6a45", + "time": 8.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "4663dfca-6a13-f691-61bf-f40c463d5f81", + "time": 8.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "e7619056-067a-1344-6ea1-9305447c04dd", + "time": 8.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-30.625" + } + ], + "uuid": "cc6fe899-933f-3723-7467-625fc099cfc8", + "time": 7.95, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "0f934b98-7a9b-df7c-82a7-3b737c2c1d4e", + "time": 8.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "c78a5ec6-c981-5eb5-ba5a-27b89a415475", + "time": 8.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "190df046-ee7f-1728-7dde-0755b39fc9c1", + "time": 8.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "73305a61-a5fc-3ffd-28cf-a5a7156ade9d": { + "name": "RopeLadder11", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "1a40387a-7b9d-1003-b69f-73b7bda2d673", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "3989ba7a-db3e-b3ad-aad9-d3f59f645574", + "time": 3.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "8ad54380-220e-bcd1-fd95-68a2f825468e", + "time": 4.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -92.5 + } + ], + "uuid": "64e1e450-2353-353e-2cc1-30b6916afdd1", + "time": 5.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "6a5f9b25-ffa2-8db8-099a-29c18235134f", + "time": 5.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "1791f50c-4bbf-341c-dae4-2c27891fab38", + "time": 6.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-96.25" + } + ], + "uuid": "deb5c22a-93ed-f46f-767e-f8bfe3ba8029", + "time": 6.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-94.375" + } + ], + "uuid": "b261d784-b671-a6ce-c702-1bab7434c0ae", + "time": 7.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "bbbaa549-460a-4921-d455-85ca0c90bc12", + "time": 7.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "767f6b12-00f3-cec8-31b5-012f59710173", + "time": 8.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -130 + } + ], + "uuid": "f328bf97-5dd5-614c-05f6-51b524e78c63", + "time": 8.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -150 + } + ], + "uuid": "ddbd3e32-1a8d-0c20-0a4a-47ded44f8392", + "time": 8.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "72adec00-19c7-4fa5-900a-76ecfd03068c", + "time": 8.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-95.625" + } + ], + "uuid": "e14449b1-e5fe-11a2-17ec-0ec7701c1e4b", + "time": 8.05, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "20085f32-db2f-6922-b3a4-842239584414", + "time": 8.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "3ca6575f-43cc-03fd-c391-121c08cfb988", + "time": 8.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "e6793b5c-6e62-e047-f070-04ab2de10a32", + "time": 8.55, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "fac07263-8b34-d5b4-c7e2-83b19ee7d708": { + "name": "RopeLadder12", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "91e861ef-f9f5-5ae9-bf67-bf63e63e4b43", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -77.5 + } + ], + "uuid": "e073481b-8372-b554-89e4-3ec7a33d3b81", + "time": 3.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -77.5 + } + ], + "uuid": "7945611b-0589-adc6-dca7-6fcb2aa96d20", + "time": 4.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -75 + } + ], + "uuid": "8f7237d7-22cb-a332-13ad-89a794fdf1ca", + "time": 5.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -77.5 + } + ], + "uuid": "b51ae597-1cc6-ed43-b874-3d760fd0769d", + "time": 5.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -77.5 + } + ], + "uuid": "d910c131-5795-9924-a404-76491396aa83", + "time": 6.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-78.75" + } + ], + "uuid": "70386e7a-cee3-7976-4f6d-044c1855a3a1", + "time": 6.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-76.875" + } + ], + "uuid": "2845c2a6-3bc4-0168-52e6-7273978be456", + "time": 7.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -77.5 + } + ], + "uuid": "bd656eb8-581c-f9f5-bc89-fca5559c257f", + "time": 7.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -77.5 + } + ], + "uuid": "737a3536-fcab-57d7-9eac-f96e47b2a1f3", + "time": 8.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -112.5 + } + ], + "uuid": "f3f88ca3-a3d7-1de6-93c4-95218bc45953", + "time": 8.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -132.5 + } + ], + "uuid": "615c9842-9dc5-ee5e-728a-1dbacc089696", + "time": 8.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -77.5 + } + ], + "uuid": "66677efe-b841-1f75-109b-a5aa7f6c576d", + "time": 8.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-78.125" + } + ], + "uuid": "e02af0bd-6d77-4be6-dd64-06848d575632", + "time": 8.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "968e8269-835e-879d-97bd-d4b01931b097", + "time": 8.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 17, + "z": 0 + } + ], + "uuid": "ed96e3b0-e8a2-25e5-337b-1e147785210c", + "time": 8.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10.5, + "z": 0 + } + ], + "uuid": "5a84d1cb-e872-1965-39ef-a9ef75e15a2f", + "time": 8.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "44f6b24f-ec24-3b6c-95dc-fc2d04130722": { + "name": "RopeLadder13", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "82967f6c-bd02-5a8f-ad9e-8c015374b361", + "time": 3.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "bbd10306-7631-63e9-18d2-46b603f5ab32", + "time": 3.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "d15eb4a4-4815-c1d0-df3b-8e086138c785", + "time": 4.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -92.5 + } + ], + "uuid": "f31fba74-e823-7ba3-9ae3-a67360ae34c4", + "time": 5.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "a839844d-85e4-3acb-cb3b-86038e43777b", + "time": 5.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "a14cdc74-9255-08d5-1e83-e06283199291", + "time": 6.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-96.25" + } + ], + "uuid": "1337ba2f-42a7-cb0d-d07a-878ab8834e7c", + "time": 6.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-94.375" + } + ], + "uuid": "2fdee278-0a16-be21-891a-fb48380fe654", + "time": 7.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "52e87cc4-b292-6d09-c196-3b52e394765c", + "time": 7.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "003cf14f-a93c-1189-8027-36f349c79f50", + "time": 8.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -130 + } + ], + "uuid": "33fe971d-1e16-a7e0-72a7-995bfa36c293", + "time": 8.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "49428d59-4973-1566-4091-bee99d4d58f0", + "time": 8.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -147.5 + } + ], + "uuid": "c82a0a19-6a82-ff84-9278-e5498f50d143", + "time": 8.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-95.625" + } + ], + "uuid": "1d5dea88-d6db-f260-f001-bb9785a167e1", + "time": 8.15, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "8f9e54ff-9798-a75d-c10a-704ca0739c98", + "time": 8.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 15, + "z": 0 + } + ], + "uuid": "f00e66ed-398e-60c4-d8f1-85b53bafa7e9", + "time": 8.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 9.5, + "z": 0 + } + ], + "uuid": "b45202cd-424f-2474-d13f-a26520086150", + "time": 8.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "81c03504-cef5-69e6-cf02-f623ce10f5b6": { + "name": "RopeLadder14", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "93f9f586-4e9b-3923-8f9c-44832080c328", + "time": 3.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "d6096621-5b95-817f-a799-c36f447e6fd4", + "time": 3.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "7c6b8e5b-0ceb-fe54-ab7b-8d7811bd2672", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -102.5 + } + ], + "uuid": "9ac5855e-42b3-487c-e521-a01b1a9e1d8c", + "time": 5.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "af233243-4539-b62b-310a-53e47d19762b", + "time": 5.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "3edb744f-dc01-d487-8c0a-bafe53c6ccb2", + "time": 6.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-106.25" + } + ], + "uuid": "3624af05-78f8-198e-b8c4-76ab3193b063", + "time": 6.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-104.375" + } + ], + "uuid": "4282ce73-34f3-16aa-49b3-df8574ad6691", + "time": 7.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "093881ee-7ca5-ba90-cf87-27bfe5320508", + "time": 7.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "dd457da2-3b85-73bb-4b15-5274a2493391", + "time": 8.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -142.5 + } + ], + "uuid": "9c720fcb-9108-2a44-df75-54043f2b53d1", + "time": 8.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -160 + } + ], + "uuid": "6c8f42f9-4129-08e4-0273-1174cdd7ff4d", + "time": 8.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "5fe75780-5b25-6646-e14a-d44cfc96bcf9", + "time": 8.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-105.625" + } + ], + "uuid": "47266fc4-e056-2041-ef22-595cd7482e03", + "time": 8.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "6003dc25-616a-3edd-1040-d9b2b35f3d80", + "time": 8.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 15, + "z": 0 + } + ], + "uuid": "4176975c-b729-106d-688c-09c887bd073d", + "time": 8.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 1.5, + "z": 0 + } + ], + "uuid": "b83a6031-7006-62d1-73fa-9cfe048d9496", + "time": 8.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "0cb872f1-2b47-cee6-492f-bfa20246c3ac": { + "name": "RopeLadder15", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "b1351cff-ed11-c2f0-e157-0f2e8d10b981", + "time": 3.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -130 + } + ], + "uuid": "1de4e324-219c-bfef-a594-e39a8fb5a350", + "time": 3.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -130 + } + ], + "uuid": "f61177ef-795c-a7d4-3b3c-b235ba115436", + "time": 4.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -127.5 + } + ], + "uuid": "d3e1c562-d3b8-0f96-4ff5-969dfa9ae4b5", + "time": 5.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -130 + } + ], + "uuid": "0a624dcc-15a2-456c-0b59-95d5feebbac4", + "time": 5.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -130 + } + ], + "uuid": "80c067d5-7cd6-cb24-56d0-2d2d140bd3b5", + "time": 6.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-131.25" + } + ], + "uuid": "be5a2d2a-9021-18a1-0fd2-76dca6100e21", + "time": 6.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-129.375" + } + ], + "uuid": "a9b9220c-ad00-9b9f-1bb4-75788b71dd2b", + "time": 7.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -130 + } + ], + "uuid": "b12b3267-e31c-cd0e-ff3e-d1150c2d088f", + "time": 7.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "44ff2d7b-fc5d-4f07-9be5-ccd9cf815be7", + "time": 8.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 15, + "z": 0 + } + ], + "uuid": "b754696d-b8fa-2ef6-e49a-76c6b4435e2c", + "time": 9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "47f57408-507e-ee25-dfbd-8f633fe8ccfd": { + "name": "TailRotorBlades", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "6dd64455-bc9b-cfd7-9fb0-a3eab02e7196", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "36720", + "y": "0", + "z": 0 + } + ], + "uuid": "f9d8e6f4-e171-0f12-1ca6-375ba6dc55d2", + "time": 12.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "812dc3c3-7569-417c-88ea-98db26c9084f": { + "name": "RotorBlades", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "f35b2cfe-e6ec-a772-1cc0-e8458d2373e9", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "18360", + "z": 0 + } + ], + "uuid": "fca52224-a73b-4ae1-4808-d80fb10b5eba", + "time": 12.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Midori/models/ex_skill_1.bbmodel b/config/yosbr/config/figura/avatars/Midori/models/ex_skill_1.bbmodel new file mode 100644 index 0000000..6f8d4c6 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/models/ex_skill_1.bbmodel @@ -0,0 +1,18144 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "ex_skill_1", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 120, + "height": 153 + }, + "elements": [ + { + "name": "Head", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 24, + -4 + ], + "to": [ + 4, + 32, + 4 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 33, + 16, + 41 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 33, + 8, + 41 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 33, + 32, + 41 + ], + "texture": 0 + }, + "west": { + "uv": [ + 16, + 33, + 24, + 41 + ], + "texture": 0 + }, + "up": { + "uv": [ + 16, + 33, + 8, + 25 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 25, + 16, + 33 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a66c63cf-0082-7797-3f4e-08ff434a1cac" + }, + { + "name": "HatLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 24, + -4 + ], + "to": [ + 4, + 32, + 4 + ], + "autouv": 0, + "color": 0, + "inflate": 0.5, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 32, + 0 + ], + "faces": { + "north": { + "uv": [ + 40, + 33, + 48, + 41 + ], + "texture": 0 + }, + "east": { + "uv": [ + 32, + 33, + 40, + 41 + ], + "texture": 0 + }, + "south": { + "uv": [ + 56, + 33, + 64, + 41 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 33, + 56, + 41 + ], + "texture": 0 + }, + "up": { + "uv": [ + 40, + 33, + 48, + 25 + ], + "texture": 0 + }, + "down": { + "uv": [ + 56, + 25, + 48, + 33 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d48552a8-9f0d-7335-2a82-794f3264fc9d" + }, + { + "name": "Body", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 12, + -2 + ], + "to": [ + 4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 16 + ], + "faces": { + "north": { + "uv": [ + 20, + 59, + 28, + 71 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 59, + 20, + 71 + ], + "texture": 0 + }, + "south": { + "uv": [ + 32, + 59, + 40, + 71 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 59, + 32, + 71 + ], + "texture": 0 + }, + "up": { + "uv": [ + 28, + 59, + 20, + 55 + ], + "texture": 0 + }, + "down": { + "uv": [ + 36, + 55, + 28, + 59 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "742e9ab7-8cdd-8d93-9a9a-88011f54d15b" + }, + { + "name": "BodyLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 12, + -2 + ], + "to": [ + 4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 32 + ], + "faces": { + "north": { + "uv": [ + 20, + 75, + 28, + 87 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 75, + 20, + 87 + ], + "texture": 0 + }, + "south": { + "uv": [ + 32, + 75, + 40, + 87 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 75, + 32, + 87 + ], + "texture": 0 + }, + "up": { + "uv": [ + 28, + 75, + 20, + 71 + ], + "texture": 0 + }, + "down": { + "uv": [ + 36, + 71, + 28, + 75 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2574fa9e-0d5f-502c-ce28-ef5cf30f41ec" + }, + { + "name": "RightArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 18, + -2 + ], + "to": [ + 7, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 44, + 59, + 47, + 65 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 59, + 44, + 65 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 59, + 54, + 65 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 59, + 51, + 65 + ], + "texture": 0 + }, + "up": { + "uv": [ + 47, + 59, + 44, + 55 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 39, + 0, + 39 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8831734e-ce90-e6bb-8368-e011a468277d" + }, + { + "name": "RightArmLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 18, + -2 + ], + "to": [ + 7, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 32 + ], + "faces": { + "north": { + "uv": [ + 44, + 75, + 47, + 81 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 75, + 44, + 81 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 75, + 54, + 81 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 75, + 51, + 81 + ], + "texture": 0 + }, + "up": { + "uv": [ + 47, + 75, + 44, + 71 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 39, + 0, + 39 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "cea7603d-ae80-e4e7-6f93-905551a79117" + }, + { + "name": "LeftArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 18, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 32, + 48 + ], + "faces": { + "north": { + "uv": [ + 36, + 91, + 39, + 97 + ], + "texture": 0 + }, + "east": { + "uv": [ + 32, + 91, + 36, + 97 + ], + "texture": 0 + }, + "south": { + "uv": [ + 43, + 91, + 46, + 97 + ], + "texture": 0 + }, + "west": { + "uv": [ + 39, + 91, + 43, + 97 + ], + "texture": 0 + }, + "up": { + "uv": [ + 39, + 91, + 36, + 87 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 39, + 0, + 39 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "af1aa9d5-0ccf-d579-b381-54ac7b12fb55" + }, + { + "name": "LeftArmLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 18, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 48, + 48 + ], + "faces": { + "north": { + "uv": [ + 52, + 91, + 55, + 97 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 91, + 52, + 97 + ], + "texture": 0 + }, + "south": { + "uv": [ + 59, + 91, + 62, + 97 + ], + "texture": 0 + }, + "west": { + "uv": [ + 55, + 91, + 59, + 97 + ], + "texture": 0 + }, + "up": { + "uv": [ + 55, + 91, + 52, + 87 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 39, + 0, + 39 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b74fb9e9-db24-b669-6f87-8469be63eda5" + }, + { + "name": "RightLeg", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 6, + -2 + ], + "to": [ + 4, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 4, + 59, + 8, + 65 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 59, + 4, + 65 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 59, + 16, + 65 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 59, + 12, + 65 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 59, + 4, + 55 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 55, + 4, + 59 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "da81ebbe-5b4e-2d46-144a-6f839ad6fa3c" + }, + { + "name": "RightLegLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 6, + -2 + ], + "to": [ + 4, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 32 + ], + "faces": { + "north": { + "uv": [ + 4, + 75, + 8, + 81 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 75, + 4, + 81 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 75, + 16, + 81 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 75, + 12, + 81 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 75, + 4, + 71 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 71, + 8, + 75 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "bcf37da3-caec-e8f2-bc82-76a3f169374c" + }, + { + "name": "LeftLeg", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 6, + -2 + ], + "to": [ + 0, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 48 + ], + "faces": { + "north": { + "uv": [ + 20, + 91, + 24, + 97 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 91, + 20, + 97 + ], + "texture": 0 + }, + "south": { + "uv": [ + 28, + 91, + 32, + 97 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 91, + 28, + 97 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 91, + 20, + 87 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 87, + 20, + 91 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "9c06bc9a-beae-98d9-e9ce-9c8e6ddbb9d3" + }, + { + "name": "LeftLegLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 6, + -2 + ], + "to": [ + 0, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 48 + ], + "faces": { + "north": { + "uv": [ + 4, + 91, + 8, + 97 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 91, + 4, + 97 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 91, + 16, + 97 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 91, + 12, + 97 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 91, + 4, + 87 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 87, + 8, + 91 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f8f1e7ad-7999-9f17-0488-5dcbd4af7945" + }, + { + "name": "EyeLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1, + 25, + -4.01 + ], + "to": [ + 4, + 28, + -4.01 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 41, + 6, + 47 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 25, + 0, + 25 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 25, + 0, + 25 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 25, + 0, + 25 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 25, + 0, + 25 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 25, + 0, + 25 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "7853e9a2-b429-5a00-5e0e-70449c3a71ee" + }, + { + "name": "EyeRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 25, + -4.01 + ], + "to": [ + -1, + 28, + -4.01 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 12, + 41, + 6, + 47 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 25, + 0, + 25 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 25, + 0, + 25 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 25, + 0, + 25 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 25, + 0, + 25 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 25, + 0, + 25 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "328a2de5-64bc-807b-5906-227bfceedf26" + }, + { + "name": "Mouth", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 24, + -4.01 + ], + "to": [ + 1, + 25, + -4.01 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 47, + 16, + 55 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d9d80373-4145-9e90-28de-12248a8075d9" + }, + { + "name": "HeadRing", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 36, + -4 + ], + "to": [ + 4, + 36, + 4 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 35, + 0, + 0 + ], + "origin": [ + 0, + 28, + 0 + ], + "faces": { + "north": { + "uv": [ + 10, + 25, + 10, + 25 + ], + "texture": null + }, + "east": { + "uv": [ + 10, + 25, + 10, + 25 + ], + "texture": null + }, + "south": { + "uv": [ + 10, + 25, + 10, + 25 + ], + "texture": null + }, + "west": { + "uv": [ + 10, + 25, + 10, + 25 + ], + "texture": null + }, + "up": { + "uv": [ + 54, + 55, + 71, + 72 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + } + }, + "type": "cube", + "uuid": "48cfe147-8711-a325-c722-fe73d6c4d87a" + }, + { + "name": "RightArmBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 7, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 44, + 65, + 47, + 71 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 65, + 44, + 71 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 65, + 54, + 71 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 65, + 51, + 71 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 39, + 0, + 39 + ], + "texture": null + }, + "down": { + "uv": [ + 50, + 59, + 47, + 55 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "643f9c05-2d3c-e1d1-5a2f-874902eb1784" + }, + { + "name": "RightArmBottomLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 7, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 32 + ], + "faces": { + "north": { + "uv": [ + 44, + 81, + 47, + 87 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 81, + 44, + 87 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 81, + 54, + 87 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 81, + 51, + 87 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 39, + 0, + 39 + ], + "texture": null + }, + "down": { + "uv": [ + 50, + 75, + 47, + 71 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b1a76f47-912e-c2d4-8090-6f6ac9734672" + }, + { + "name": "LeftArmBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 12, + -2 + ], + "to": [ + -4, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 32, + 48 + ], + "faces": { + "north": { + "uv": [ + 36, + 97, + 39, + 103 + ], + "texture": 0 + }, + "east": { + "uv": [ + 32, + 97, + 36, + 103 + ], + "texture": 0 + }, + "south": { + "uv": [ + 43, + 97, + 46, + 103 + ], + "texture": 0 + }, + "west": { + "uv": [ + 39, + 97, + 43, + 103 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 39, + 0, + 39 + ], + "texture": null + }, + "down": { + "uv": [ + 42, + 91, + 39, + 87 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a82219a3-e344-a4d8-c85c-51462943a7dc" + }, + { + "name": "LeftArmBottomLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 12, + -2 + ], + "to": [ + -4, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 48, + 48 + ], + "faces": { + "north": { + "uv": [ + 52, + 97, + 55, + 103 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 97, + 52, + 103 + ], + "texture": 0 + }, + "south": { + "uv": [ + 59, + 97, + 62, + 103 + ], + "texture": 0 + }, + "west": { + "uv": [ + 55, + 97, + 59, + 103 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 39, + 0, + 39 + ], + "texture": null + }, + "down": { + "uv": [ + 58, + 91, + 55, + 87 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d7794b2f-dbb3-2cd5-c956-cd163b703976" + }, + { + "name": "RightLegBottomLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -2 + ], + "to": [ + 4, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 32 + ], + "faces": { + "north": { + "uv": [ + 4, + 81, + 8, + 87 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 81, + 4, + 87 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 81, + 16, + 87 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 81, + 12, + 87 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 75, + 4, + 71 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 75, + 8, + 71 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "72c6eff7-d0eb-2ffa-193f-2ca402bdc722" + }, + { + "name": "RightLegBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -2 + ], + "to": [ + 4, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 4, + 65, + 8, + 71 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 65, + 4, + 71 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 65, + 16, + 71 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 65, + 12, + 71 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 59, + 4, + 55 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 59, + 8, + 55 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8b1cc891-ffa8-9f46-ebc0-f0b84e6ffb15" + }, + { + "name": "LeftLegBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 0, + -2 + ], + "to": [ + 0, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 48 + ], + "faces": { + "north": { + "uv": [ + 20, + 97, + 24, + 103 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 97, + 20, + 103 + ], + "texture": 0 + }, + "south": { + "uv": [ + 28, + 97, + 32, + 103 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 97, + 28, + 103 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 91, + 20, + 87 + ], + "texture": 0 + }, + "down": { + "uv": [ + 28, + 91, + 24, + 87 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a1169ee6-6a78-c7c4-9214-670991206468" + }, + { + "name": "LeftLegBottomLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 0, + -2 + ], + "to": [ + 0, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 48 + ], + "faces": { + "north": { + "uv": [ + 4, + 97, + 8, + 103 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 97, + 4, + 103 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 97, + 16, + 103 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 97, + 12, + 103 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 91, + 4, + 87 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 91, + 8, + 87 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a5173990-504e-f5c4-45c7-9347880c1306" + }, + { + "name": "RingPart1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.06, + 36.01, + -4.825 + ], + "to": [ + 1.06, + 36.01, + -1.295 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + -3, + 22, + -4 + ], + "faces": { + "north": { + "uv": [ + 10, + 25, + 11, + 26 + ] + }, + "east": { + "uv": [ + 10, + 25, + 11, + 26 + ] + }, + "south": { + "uv": [ + 10, + 25, + 11, + 26 + ] + }, + "west": { + "uv": [ + 10, + 25, + 11, + 26 + ] + }, + "up": { + "uv": [ + 71, + 55, + 74, + 60 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "faf8ab6b-f4f0-ca97-dccf-5419513d1359" + }, + { + "name": "RingPart2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1.295, + 36.01, + -1.06 + ], + "to": [ + 4.825, + 36.01, + 1.06 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 4, + 22, + -3 + ], + "faces": { + "north": { + "uv": [ + 10, + 25, + 11, + 26 + ] + }, + "east": { + "uv": [ + 10, + 25, + 11, + 26 + ] + }, + "south": { + "uv": [ + 10, + 25, + 11, + 26 + ] + }, + "west": { + "uv": [ + 10, + 25, + 11, + 26 + ] + }, + "up": { + "uv": [ + 71, + 60, + 74, + 65 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "61c19b56-1984-cdcb-7a31-987945b0ae33" + }, + { + "name": "RingPart4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.825, + 36.01, + -1.06 + ], + "to": [ + -1.295, + 36.01, + 1.06 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + -4, + 22, + -3 + ], + "faces": { + "north": { + "uv": [ + 11, + 25, + 10, + 26 + ] + }, + "east": { + "uv": [ + 11, + 25, + 10, + 26 + ] + }, + "south": { + "uv": [ + 11, + 25, + 10, + 26 + ] + }, + "west": { + "uv": [ + 11, + 25, + 10, + 26 + ] + }, + "up": { + "uv": [ + 71, + 65, + 74, + 60 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "4a2f805b-02d9-da24-e361-0c0309289a1d" + }, + { + "name": "RingPart3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.06, + 36.01, + 1.295 + ], + "to": [ + 1.06, + 36.01, + 4.825 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 3, + 22, + 4 + ], + "faces": { + "north": { + "uv": [ + 10, + 25, + 11, + 26 + ] + }, + "east": { + "uv": [ + 10, + 25, + 11, + 26 + ] + }, + "south": { + "uv": [ + 10, + 25, + 11, + 26 + ] + }, + "west": { + "uv": [ + 10, + 25, + 11, + 26 + ] + }, + "up": { + "uv": [ + 71, + 65, + 74, + 70 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + } + }, + "type": "cube", + "uuid": "f0e4c2d9-cc4e-0c13-3e3a-2b95d8c0d034" + }, + { + "name": "HeadPhoneRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5, + 26, + -2 + ], + "to": [ + -4, + 29, + 1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 103, + 1, + 104 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 70, + 0, + 70 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 103, + 1, + 104 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 103, + 7, + 110 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 103, + 1, + 104 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 103, + 1, + 104 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "01f6d688-d2cd-c36a-df2e-a80523a72020" + }, + { + "name": "HeadPhoneLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 26, + -2 + ], + "to": [ + 5, + 29, + 1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 103, + 1, + 104 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 103, + 7, + 110 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 103, + 1, + 104 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 70, + 0, + 70 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 103, + 1, + 104 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 103, + 1, + 104 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "4f5e53a6-b464-0187-a63a-a317f45c2beb" + }, + { + "name": "HeadPhoneShaftRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 29, + -1.5 + ], + "to": [ + 4.5, + 32, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 103, + 1, + 104 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 103, + 1, + 104 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 103, + 1, + 104 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 70, + 0, + 70 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 103, + 1, + 104 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 70, + 0, + 70 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ac86679a-d55c-be34-cf2b-68f42e402541" + }, + { + "name": "HeadPhoneShaftLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.5, + 29, + -1.5 + ], + "to": [ + -4, + 32, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 103, + 1, + 104 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 70, + 0, + 70 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 103, + 1, + 104 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 103, + 1, + 104 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 103, + 1, + 104 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 70, + 0, + 70 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "0aae78b3-7629-724d-62de-d336c7bb05d6" + }, + { + "name": "HeadPhoneShaftCenter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.75, + 32, + -0.5 + ], + "to": [ + 3.75, + 32.5, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 103, + 1, + 104 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 103, + 1, + 104 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 103, + 1, + 104 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 103, + 1, + 104 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 103, + 1, + 104 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 70, + 1, + 71 + ] + } + }, + "type": "cube", + "uuid": "943051a6-3609-4b6a-a9be-3e7a6d7e866b" + }, + { + "name": "HairRibbonRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.1875, + 24.5, + -4.5 + ], + "to": [ + 4.6875, + 26, + -4.5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 0, + 0, + -45 + ], + "origin": [ + 3.9375, + 25.25, + -4.5 + ], + "faces": { + "north": { + "uv": [ + 24, + 25, + 30, + 31 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 25, + 0, + 25 + ], + "texture": null + }, + "south": { + "uv": [ + 30, + 25, + 24, + 31 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 25, + 0, + 25 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 25, + 0, + 25 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 25, + 1, + 26 + ] + } + }, + "type": "cube", + "uuid": "cb186902-ed9f-81b4-4202-9b6bd1679875" + }, + { + "name": "HairRibbonLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.6875, + 24.5, + -4.5 + ], + "to": [ + -3.1875, + 26, + -4.5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 0, + 0, + 45 + ], + "origin": [ + -3.9375, + 25.25, + -4.5 + ], + "faces": { + "north": { + "uv": [ + 30, + 25, + 24, + 31 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 25, + 0, + 25 + ], + "texture": null + }, + "south": { + "uv": [ + 24, + 25, + 30, + 31 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 25, + 0, + 25 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 25, + 0, + 25 + ], + "texture": null + }, + "down": { + "uv": [ + 1, + 25, + 0, + 26 + ] + } + }, + "type": "cube", + "uuid": "a9969c6d-21ee-6a83-fded-e167709975e0" + }, + { + "name": "Skirt1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.5, + 11, + -3 + ], + "to": [ + 4.5, + 15, + 3 + ], + "autouv": 0, + "color": 3, + "inflate": -0.001, + "origin": [ + 0, + 23, + 0 + ], + "uv_offset": [ + 0, + 64 + ], + "faces": { + "north": { + "uv": [ + 16, + 107, + 25, + 111 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 103, + 22, + 107 + ], + "texture": 0 + }, + "south": { + "uv": [ + 16, + 111, + 25, + 115 + ], + "texture": 0 + }, + "west": { + "uv": [ + 16, + 103, + 22, + 107 + ], + "texture": 0 + }, + "up": { + "uv": [ + 7, + 103, + 16, + 109 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 70, + 0, + 70 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "38c80056-38bf-0791-5b8e-c3a3b2591654" + }, + { + "name": "Skirt2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5, + 7, + -4 + ], + "to": [ + 5, + 11, + 4 + ], + "autouv": 0, + "color": 3, + "inflate": -0.001, + "origin": [ + 0, + 23, + 0 + ], + "uv_offset": [ + 0, + 73 + ], + "faces": { + "north": { + "uv": [ + 35, + 107, + 45, + 111 + ], + "texture": 0 + }, + "east": { + "uv": [ + 35, + 103, + 43, + 107 + ], + "texture": 0 + }, + "south": { + "uv": [ + 35, + 111, + 45, + 115 + ], + "texture": 0 + }, + "west": { + "uv": [ + 35, + 103, + 43, + 107 + ], + "texture": 0 + }, + "up": { + "uv": [ + 25, + 103, + 35, + 111 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 70, + 0, + 70 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e5f18b5e-4093-76a4-d9ae-165f680424da" + }, + { + "name": "Tail1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 14, + 2 + ], + "to": [ + 0.5, + 15, + 8 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 14, + 2 + ], + "faces": { + "north": { + "uv": [ + 0, + 70, + 0, + 70 + ], + "texture": null + }, + "east": { + "uv": [ + 45, + 103, + 57, + 104 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 70, + 0, + 70 + ], + "texture": null + }, + "west": { + "uv": [ + 57, + 103, + 45, + 104 + ], + "texture": 0 + }, + "up": { + "uv": [ + 57, + 103, + 45, + 104 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 45, + 103, + 57, + 104 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "50e61828-ccdd-ee8e-c621-0a193b35fd5e" + }, + { + "name": "Tail2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 14, + 8 + ], + "to": [ + 0.5, + 15, + 14 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 14, + 8 + ], + "faces": { + "north": { + "uv": [ + 0, + 70, + 0, + 70 + ], + "texture": null + }, + "east": { + "uv": [ + 45, + 104, + 57, + 105 + ], + "texture": 0 + }, + "south": { + "uv": [ + 45, + 104, + 46, + 105 + ], + "texture": 0 + }, + "west": { + "uv": [ + 57, + 104, + 45, + 105 + ], + "texture": 0 + }, + "up": { + "uv": [ + 57, + 104, + 45, + 105 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 45, + 104, + 57, + 105 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "4113cbe8-5856-27e8-5d63-4f6f3f13ccbd" + }, + { + "name": "RightCoat", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 13, + -2 + ], + "to": [ + 7, + 17, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.5, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 32 + ], + "faces": { + "north": { + "uv": [ + 4, + 114, + 7, + 118 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 114, + 4, + 118 + ], + "texture": 0 + }, + "south": { + "uv": [ + 11, + 114, + 14, + 118 + ], + "texture": 0 + }, + "west": { + "uv": [ + 7, + 114, + 11, + 118 + ], + "texture": 0 + }, + "up": { + "uv": [ + 3, + 110, + 6, + 114 + ], + "texture": 0 + }, + "down": { + "uv": [ + 44, + 83, + 47, + 87 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "29a6683b-b165-5012-f56b-a8b8ebf7af9a" + }, + { + "name": "LeftCoat", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 13, + -2 + ], + "to": [ + -4, + 17, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.5, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 32 + ], + "faces": { + "north": { + "uv": [ + 4, + 122, + 7, + 126 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 122, + 4, + 126 + ], + "texture": 0 + }, + "south": { + "uv": [ + 11, + 122, + 14, + 126 + ], + "texture": 0 + }, + "west": { + "uv": [ + 7, + 122, + 11, + 126 + ], + "texture": 0 + }, + "up": { + "uv": [ + 3, + 118, + 6, + 122 + ], + "texture": 0 + }, + "down": { + "uv": [ + 52, + 99, + 55, + 103 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "068c9564-63f3-82ac-0263-7761baadd884" + }, + { + "name": "PhoneEarRightFront1_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 32, + -1.5 + ], + "to": [ + 1, + 35, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 0, + 103, + 1, + 104 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 103, + 1, + 104 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 103, + 1, + 104 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 103, + 1, + 104 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 70, + 0, + 70 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 70, + 0, + 70 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5628b192-ac9f-3e32-91d4-2d87aa746910" + }, + { + "name": "PhoneEarRightFront1_1OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.1, + 32, + -1.51 + ], + "to": [ + 0.2, + 34.98, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 104, + 2, + 105 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 70, + 1, + 71 + ] + }, + "south": { + "uv": [ + 0, + 70, + 1, + 71 + ] + }, + "west": { + "uv": [ + 0, + 70, + 1, + 71 + ] + }, + "up": { + "uv": [ + 0, + 70, + 1, + 71 + ] + }, + "down": { + "uv": [ + 0, + 70, + 1, + 71 + ] + } + }, + "type": "cube", + "uuid": "c1fcb63e-6496-d3a3-64cb-e2251ddf6b9e" + }, + { + "name": "PhoneEarRightFront1_1InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.8, + 32, + -1.51 + ], + "to": [ + 0.9, + 34.825, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 104, + 2, + 105 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 70, + 1, + 71 + ] + }, + "south": { + "uv": [ + 0, + 70, + 1, + 71 + ] + }, + "west": { + "uv": [ + 0, + 70, + 1, + 71 + ] + }, + "up": { + "uv": [ + 0, + 70, + 1, + 71 + ] + }, + "down": { + "uv": [ + 0, + 70, + 1, + 71 + ] + } + }, + "type": "cube", + "uuid": "beef8305-3bf6-58e9-b6da-1cd0fab1fe2f" + }, + { + "name": "PhoneEarRightFront1_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 35, + -1.5 + ], + "to": [ + 1, + 37.09, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 0, + 103, + 1, + 104 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 103, + 1, + 104 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 103, + 1, + 104 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 103, + 1, + 104 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 70, + 0, + 70 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 70, + 0, + 70 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "403fa6ce-f0d8-c5be-a8b6-d47294eb4984" + }, + { + "name": "PhoneEarRightFront1_2OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.1, + 35.025, + -1.51 + ], + "to": [ + 0.2, + 37.06, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 104, + 2, + 105 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 70, + 1, + 71 + ] + }, + "south": { + "uv": [ + 0, + 70, + 1, + 71 + ] + }, + "west": { + "uv": [ + 0, + 70, + 1, + 71 + ] + }, + "up": { + "uv": [ + 0, + 70, + 1, + 71 + ] + }, + "down": { + "uv": [ + 0, + 70, + 1, + 71 + ] + } + }, + "type": "cube", + "uuid": "76f78202-a819-a689-73e2-64029f8d0f9d" + }, + { + "name": "PhoneEarRightFront1_2InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.8, + 35.178, + -1.51 + ], + "to": [ + 0.9, + 36.876, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 104, + 2, + 105 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 70, + 1, + 71 + ] + }, + "south": { + "uv": [ + 0, + 70, + 1, + 71 + ] + }, + "west": { + "uv": [ + 0, + 70, + 1, + 71 + ] + }, + "up": { + "uv": [ + 0, + 70, + 1, + 71 + ] + }, + "down": { + "uv": [ + 0, + 70, + 1, + 71 + ] + } + }, + "type": "cube", + "uuid": "b779ad53-9102-aacf-4abf-51210f0edbde" + }, + { + "name": "PhoneEarRightFront2_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.5, + 28.9, + -1.5 + ], + "to": [ + 4.5, + 30.08, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 3.5, + 29.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 0, + 103, + 1, + 104 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 103, + 1, + 104 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 103, + 1, + 104 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 103, + 1, + 104 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 70, + 0, + 70 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 70, + 0, + 70 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "4bd4c91f-764a-3ef9-009c-766a50959788" + }, + { + "name": "PhoneEarRightFront2_1OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4.3, + 28.9, + -1.51 + ], + "to": [ + 4.4, + 30.023, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.5, + 31, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 104, + 2, + 105 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 70, + 1, + 71 + ] + }, + "south": { + "uv": [ + 0, + 70, + 1, + 71 + ] + }, + "west": { + "uv": [ + 0, + 70, + 1, + 71 + ] + }, + "up": { + "uv": [ + 0, + 70, + 1, + 71 + ] + }, + "down": { + "uv": [ + 0, + 70, + 1, + 71 + ] + } + }, + "type": "cube", + "uuid": "1a50d8d3-d2c0-1c03-5226-56fabd5b1aa7" + }, + { + "name": "PhoneEarRightFront2_1InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.6, + 28.9, + -1.51 + ], + "to": [ + 3.7, + 29.618, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.5, + 31, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 104, + 2, + 105 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 70, + 1, + 71 + ] + }, + "south": { + "uv": [ + 0, + 70, + 1, + 71 + ] + }, + "west": { + "uv": [ + 0, + 70, + 1, + 71 + ] + }, + "up": { + "uv": [ + 0, + 70, + 1, + 71 + ] + }, + "down": { + "uv": [ + 0, + 70, + 1, + 71 + ] + } + }, + "type": "cube", + "uuid": "d3a63ec7-8768-7c37-4624-c7e3d4192e12" + }, + { + "name": "PhoneEarRightFront2_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.5, + 30.08, + -1.5 + ], + "to": [ + 4.5, + 34.08, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 3.5, + 28.6, + -1 + ], + "faces": { + "north": { + "uv": [ + 0, + 103, + 1, + 104 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 103, + 1, + 104 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 103, + 1, + 104 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 103, + 1, + 104 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 70, + 0, + 70 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 70, + 0, + 70 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "092a0e63-d5dd-7734-63ea-fa9d2553d0f5" + }, + { + "name": "PhoneEarRightFront2_2OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4.3, + 30.138, + -1.51 + ], + "to": [ + 4.4, + 34.063, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.5, + 30.1, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 104, + 2, + 105 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 70, + 1, + 71 + ] + }, + "south": { + "uv": [ + 0, + 70, + 1, + 71 + ] + }, + "west": { + "uv": [ + 0, + 70, + 1, + 71 + ] + }, + "up": { + "uv": [ + 0, + 70, + 1, + 71 + ] + }, + "down": { + "uv": [ + 0, + 70, + 1, + 71 + ] + } + }, + "type": "cube", + "uuid": "c5113057-7bfd-25ad-e529-b49c112c3377" + }, + { + "name": "PhoneEarRightFront2_2InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.6, + 30.541, + -1.51 + ], + "to": [ + 3.7, + 33.939, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.5, + 30.1, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 104, + 2, + 105 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 70, + 1, + 71 + ] + }, + "south": { + "uv": [ + 0, + 70, + 1, + 71 + ] + }, + "west": { + "uv": [ + 0, + 70, + 1, + 71 + ] + }, + "up": { + "uv": [ + 0, + 70, + 1, + 71 + ] + }, + "down": { + "uv": [ + 0, + 70, + 1, + 71 + ] + } + }, + "type": "cube", + "uuid": "2840ca2d-db60-7b72-40c4-526f07cf8a96" + }, + { + "name": "PhoneEarRightFront2_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.5, + 34.08, + -1.5 + ], + "to": [ + 4.5, + 35.9, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 3.5, + 34.6, + -1 + ], + "faces": { + "north": { + "uv": [ + 0, + 103, + 1, + 104 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 103, + 1, + 104 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 103, + 1, + 104 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 103, + 1, + 104 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 70, + 0, + 70 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 70, + 0, + 70 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e774d120-5304-8e16-59f6-3320dd90cc26" + }, + { + "name": "PhoneEarRightFront2_3OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4.3, + 34.099, + -1.51 + ], + "to": [ + 4.4, + 35.832, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.5, + 34.1, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 104, + 2, + 105 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 70, + 1, + 71 + ] + }, + "south": { + "uv": [ + 0, + 70, + 1, + 71 + ] + }, + "west": { + "uv": [ + 0, + 70, + 1, + 71 + ] + }, + "up": { + "uv": [ + 0, + 70, + 1, + 71 + ] + }, + "down": { + "uv": [ + 0, + 70, + 1, + 71 + ] + } + }, + "type": "cube", + "uuid": "0dca0cdb-bd65-b554-9877-c42622b728bd" + }, + { + "name": "PhoneEarRightFront2_3InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.6, + 34.22, + -1.51 + ], + "to": [ + 3.7, + 35.342, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.5, + 34.1, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 104, + 2, + 105 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 70, + 1, + 71 + ] + }, + "south": { + "uv": [ + 0, + 70, + 1, + 71 + ] + }, + "west": { + "uv": [ + 0, + 70, + 1, + 71 + ] + }, + "up": { + "uv": [ + 0, + 70, + 1, + 71 + ] + }, + "down": { + "uv": [ + 0, + 70, + 1, + 71 + ] + } + }, + "type": "cube", + "uuid": "c95bca51-10cf-7f94-f3f4-4e2202585871" + }, + { + "name": "PhoneEarRightBack1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1, + 31.855, + -0.5 + ], + "to": [ + 2.1, + 34.595, + 0.5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.1, + "rotation": [ + 0, + 0, + -35 + ], + "origin": [ + 1, + 32, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 104, + 2, + 105 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 70, + 0, + 70 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 103, + 1, + 104 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 103, + 1, + 104 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 70, + 1, + 71 + ] + }, + "down": { + "uv": [ + 0, + 70, + 0, + 70 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b561e0e5-fa37-6c25-4798-cb2864fd4ef3" + }, + { + "name": "PhoneEarRightBack2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2.56, + 30, + -0.5 + ], + "to": [ + 4.06, + 34.35, + 0.5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.1, + "origin": [ + 3.75, + 32, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 104, + 2, + 105 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 103, + 1, + 104 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 103, + 1, + 104 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 103, + 1, + 104 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 103, + 1, + 104 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 70, + 0, + 70 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "dedf0f6b-187d-2be9-04f4-b753ebcdcf51" + }, + { + "name": "PhoneEarRightFront1_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 37.09, + -1.5 + ], + "to": [ + 1, + 37.94, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.25, + 34.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 0, + 103, + 1, + 104 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 103, + 1, + 104 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 103, + 1, + 104 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 103, + 1, + 104 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 70, + 0, + 70 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 70, + 0, + 70 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f1e596d1-8e6e-52f8-ee7e-4c2fe9e40228" + }, + { + "name": "PhoneEarRightFront1_2OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.1, + 37.115, + -1.51 + ], + "to": [ + 0.2, + 37.868, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.25, + 34.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 104, + 2, + 105 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 70, + 1, + 71 + ] + }, + "south": { + "uv": [ + 0, + 70, + 1, + 71 + ] + }, + "west": { + "uv": [ + 0, + 70, + 1, + 71 + ] + }, + "up": { + "uv": [ + 0, + 70, + 1, + 71 + ] + }, + "down": { + "uv": [ + 0, + 70, + 1, + 71 + ] + } + }, + "type": "cube", + "uuid": "6544450b-5248-1b6d-e92d-2543dd68f300" + }, + { + "name": "PhoneEarRightFront1_2InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.8, + 37.305, + -1.51 + ], + "to": [ + 0.9, + 37.378, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.25, + 34.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 104, + 2, + 105 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 70, + 1, + 71 + ] + }, + "south": { + "uv": [ + 0, + 70, + 1, + 71 + ] + }, + "west": { + "uv": [ + 0, + 70, + 1, + 71 + ] + }, + "up": { + "uv": [ + 0, + 70, + 1, + 71 + ] + }, + "down": { + "uv": [ + 0, + 70, + 1, + 71 + ] + } + }, + "type": "cube", + "uuid": "348fd0c9-c2ba-34d9-9160-bd82c3a23d43" + }, + { + "name": "PhoneEarLeftFront1_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 32, + -1.5 + ], + "to": [ + 0, + 35, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 103, + 0, + 104 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 103, + 0, + 104 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 103, + 0, + 104 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 103, + 0, + 104 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 70, + 0, + 70 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 70, + 0, + 70 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "be67e76c-c7f9-9a4b-6c04-524fbc76c77b" + }, + { + "name": "PhoneEarLeftFront1_1OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2, + 32, + -1.51 + ], + "to": [ + -0.1, + 34.98, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 104, + 1, + 105 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 70, + 0, + 71 + ] + }, + "south": { + "uv": [ + 1, + 70, + 0, + 71 + ] + }, + "west": { + "uv": [ + 1, + 70, + 0, + 71 + ] + }, + "up": { + "uv": [ + 1, + 70, + 0, + 71 + ] + }, + "down": { + "uv": [ + 1, + 70, + 0, + 71 + ] + } + }, + "type": "cube", + "uuid": "a76db6f4-0ef7-6aed-1cc1-9c1259141265" + }, + { + "name": "PhoneEarLeftFront1_1InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.9, + 32, + -1.51 + ], + "to": [ + -0.8, + 34.825, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 104, + 1, + 105 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 70, + 0, + 71 + ] + }, + "south": { + "uv": [ + 1, + 70, + 0, + 71 + ] + }, + "west": { + "uv": [ + 1, + 70, + 0, + 71 + ] + }, + "up": { + "uv": [ + 1, + 70, + 0, + 71 + ] + }, + "down": { + "uv": [ + 1, + 70, + 0, + 71 + ] + } + }, + "type": "cube", + "uuid": "2d6e824a-b085-3640-e1e5-7ba8c21408be" + }, + { + "name": "PhoneEarLeftFront1_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 35, + -1.5 + ], + "to": [ + 0, + 37.09, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 103, + 0, + 104 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 103, + 0, + 104 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 103, + 0, + 104 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 103, + 0, + 104 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 70, + 0, + 70 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 70, + 0, + 70 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8cc219f9-f431-d538-3d6f-fcab7185ee25" + }, + { + "name": "PhoneEarLeftFront1_2OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2, + 35.025, + -1.51 + ], + "to": [ + -0.1, + 37.06, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 104, + 1, + 105 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 70, + 0, + 71 + ] + }, + "south": { + "uv": [ + 1, + 70, + 0, + 71 + ] + }, + "west": { + "uv": [ + 1, + 70, + 0, + 71 + ] + }, + "up": { + "uv": [ + 1, + 70, + 0, + 71 + ] + }, + "down": { + "uv": [ + 1, + 70, + 0, + 71 + ] + } + }, + "type": "cube", + "uuid": "c3b3c7a5-1906-1860-5da3-6879de869a89" + }, + { + "name": "PhoneEarLeftFront1_2InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.9, + 35.178, + -1.51 + ], + "to": [ + -0.8, + 36.876, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 104, + 1, + 105 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 70, + 0, + 71 + ] + }, + "south": { + "uv": [ + 1, + 70, + 0, + 71 + ] + }, + "west": { + "uv": [ + 1, + 70, + 0, + 71 + ] + }, + "up": { + "uv": [ + 1, + 70, + 0, + 71 + ] + }, + "down": { + "uv": [ + 1, + 70, + 0, + 71 + ] + } + }, + "type": "cube", + "uuid": "239182e8-2f83-2228-a01c-9bba6132ebd4" + }, + { + "name": "PhoneEarLeftFront1_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 37.09, + -1.5 + ], + "to": [ + 0, + 37.94, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.25, + 34.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 103, + 0, + 104 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 103, + 0, + 104 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 103, + 0, + 104 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 103, + 0, + 104 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 70, + 0, + 70 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 70, + 0, + 70 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "2efdfc14-75ad-3917-bcbd-c864f6a4908a" + }, + { + "name": "PhoneEarLeftFront1_2OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2, + 37.115, + -1.51 + ], + "to": [ + -0.1, + 37.868, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.25, + 34.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 104, + 1, + 105 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 70, + 0, + 71 + ] + }, + "south": { + "uv": [ + 1, + 70, + 0, + 71 + ] + }, + "west": { + "uv": [ + 1, + 70, + 0, + 71 + ] + }, + "up": { + "uv": [ + 1, + 70, + 0, + 71 + ] + }, + "down": { + "uv": [ + 1, + 70, + 0, + 71 + ] + } + }, + "type": "cube", + "uuid": "12e1aa45-4861-cd9c-cdfd-5b656c8af07c" + }, + { + "name": "PhoneEarLeftFront1_2InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.9, + 37.305, + -1.51 + ], + "to": [ + -0.8, + 37.378, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.25, + 34.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 104, + 1, + 105 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 70, + 0, + 71 + ] + }, + "south": { + "uv": [ + 1, + 70, + 0, + 71 + ] + }, + "west": { + "uv": [ + 1, + 70, + 0, + 71 + ] + }, + "up": { + "uv": [ + 1, + 70, + 0, + 71 + ] + }, + "down": { + "uv": [ + 1, + 70, + 0, + 71 + ] + } + }, + "type": "cube", + "uuid": "64b1a793-eb74-5aab-221f-0058edf82966" + }, + { + "name": "PhoneEarLeftFront_2_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.5, + 28.9, + -1.5 + ], + "to": [ + -3.5, + 30.08, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3.5, + 29.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 103, + 0, + 104 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 103, + 0, + 104 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 103, + 0, + 104 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 103, + 0, + 104 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 70, + 0, + 70 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 70, + 0, + 70 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "0cabbb13-53a1-76d6-49c1-244a341e3fc4" + }, + { + "name": "PhoneEarLeftFront2_1OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.4, + 28.9, + -1.51 + ], + "to": [ + -4.3, + 30.023, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 31, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 104, + 1, + 105 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 70, + 0, + 71 + ] + }, + "south": { + "uv": [ + 1, + 70, + 0, + 71 + ] + }, + "west": { + "uv": [ + 1, + 70, + 0, + 71 + ] + }, + "up": { + "uv": [ + 1, + 70, + 0, + 71 + ] + }, + "down": { + "uv": [ + 1, + 70, + 0, + 71 + ] + } + }, + "type": "cube", + "uuid": "4b86c2c6-6541-ae97-908d-c4c0946d9742" + }, + { + "name": "PhoneEarLeftFront2_1InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.7, + 28.9, + -1.51 + ], + "to": [ + -3.6, + 29.618, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 31, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 104, + 1, + 105 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 70, + 0, + 71 + ] + }, + "south": { + "uv": [ + 1, + 70, + 0, + 71 + ] + }, + "west": { + "uv": [ + 1, + 70, + 0, + 71 + ] + }, + "up": { + "uv": [ + 1, + 70, + 0, + 71 + ] + }, + "down": { + "uv": [ + 1, + 70, + 0, + 71 + ] + } + }, + "type": "cube", + "uuid": "fd698e35-9448-12f8-4ea1-9abfc1d86688" + }, + { + "name": "PhoneEarLeftFront2_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.5, + 30.08, + -1.5 + ], + "to": [ + -3.5, + 34.08, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3.5, + 28.6, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 103, + 0, + 104 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 103, + 0, + 104 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 103, + 0, + 104 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 103, + 0, + 104 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 70, + 0, + 70 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 70, + 0, + 70 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "83f7478a-cd88-a072-b14a-aac679cc671e" + }, + { + "name": "PhoneEarLeftFront2_2OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.4, + 30.138, + -1.51 + ], + "to": [ + -4.3, + 34.063, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 30.1, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 104, + 1, + 105 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 70, + 0, + 71 + ] + }, + "south": { + "uv": [ + 1, + 70, + 0, + 71 + ] + }, + "west": { + "uv": [ + 1, + 70, + 0, + 71 + ] + }, + "up": { + "uv": [ + 1, + 70, + 0, + 71 + ] + }, + "down": { + "uv": [ + 1, + 70, + 0, + 71 + ] + } + }, + "type": "cube", + "uuid": "759cf829-fc6c-b23b-f394-09d2b21b073e" + }, + { + "name": "PhoneEarLeftFront2_2InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.7, + 30.541, + -1.51 + ], + "to": [ + -3.6, + 33.939, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 30.1, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 104, + 1, + 105 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 70, + 0, + 71 + ] + }, + "south": { + "uv": [ + 1, + 70, + 0, + 71 + ] + }, + "west": { + "uv": [ + 1, + 70, + 0, + 71 + ] + }, + "up": { + "uv": [ + 1, + 70, + 0, + 71 + ] + }, + "down": { + "uv": [ + 1, + 70, + 0, + 71 + ] + } + }, + "type": "cube", + "uuid": "5e464ee7-9b76-e363-35ab-cc8ac9024a22" + }, + { + "name": "PhoneEarLeftFront2_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.5, + 34.08, + -1.5 + ], + "to": [ + -3.5, + 35.9, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3.5, + 34.6, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 103, + 0, + 104 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 103, + 0, + 104 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 103, + 0, + 104 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 103, + 0, + 104 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 70, + 0, + 70 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 70, + 0, + 70 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f7ef2c19-5922-806b-fe13-635d0335552b" + }, + { + "name": "PhoneEarLeftFront2_3OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.4, + 34.099, + -1.51 + ], + "to": [ + -4.3, + 35.832, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 34.1, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 104, + 1, + 105 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 70, + 0, + 71 + ] + }, + "south": { + "uv": [ + 1, + 70, + 0, + 71 + ] + }, + "west": { + "uv": [ + 1, + 70, + 0, + 71 + ] + }, + "up": { + "uv": [ + 1, + 70, + 0, + 71 + ] + }, + "down": { + "uv": [ + 1, + 70, + 0, + 71 + ] + } + }, + "type": "cube", + "uuid": "c4e7e749-9878-e45a-341c-b943ad7693e0" + }, + { + "name": "PhoneEarLeftFront2_3InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.7, + 34.22, + -1.51 + ], + "to": [ + -3.6, + 35.342, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 34.1, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 104, + 1, + 105 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 70, + 0, + 71 + ] + }, + "south": { + "uv": [ + 1, + 70, + 0, + 71 + ] + }, + "west": { + "uv": [ + 1, + 70, + 0, + 71 + ] + }, + "up": { + "uv": [ + 1, + 70, + 0, + 71 + ] + }, + "down": { + "uv": [ + 1, + 70, + 0, + 71 + ] + } + }, + "type": "cube", + "uuid": "d9cf64b4-1f79-2af0-5eed-b045c13920ad" + }, + { + "name": "PhoneEarLeftBack1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.1, + 31.855, + -0.5 + ], + "to": [ + -1, + 34.595, + 0.5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.1, + "rotation": [ + 0, + 0, + 35 + ], + "origin": [ + -1, + 32, + 0 + ], + "faces": { + "north": { + "uv": [ + 2, + 104, + 1, + 105 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 103, + 0, + 104 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 103, + 0, + 104 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 70, + 0, + 70 + ], + "texture": null + }, + "up": { + "uv": [ + 1, + 70, + 0, + 71 + ] + }, + "down": { + "uv": [ + 0, + 70, + 0, + 70 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b5a002b6-22e9-a072-4595-4028c86f3962" + }, + { + "name": "PhoneEarLeftBack2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.06, + 30, + -0.5 + ], + "to": [ + -2.56, + 34.35, + 0.5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.1, + "origin": [ + -3.75, + 32, + 0 + ], + "faces": { + "north": { + "uv": [ + 2, + 104, + 1, + 105 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 103, + 0, + 104 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 103, + 0, + 104 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 103, + 0, + 104 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 103, + 0, + 104 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 70, + 0, + 70 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f54c98fe-b735-7964-faff-3d7981924e5a" + }, + { + "name": "GameConsole1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5, + 12, + -0.375 + ], + "to": [ + 5, + 16.5, + 0.375 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -2, + 4.625 + ], + "faces": { + "north": { + "uv": [ + 35, + 115, + 15, + 116 + ], + "texture": 0 + }, + "east": { + "uv": [ + 35, + 125, + 36, + 115 + ], + "texture": 0 + }, + "south": { + "uv": [ + 15, + 115, + 35, + 124 + ], + "texture": 0 + }, + "west": { + "uv": [ + 14, + 125, + 15, + 115 + ], + "texture": 0 + }, + "up": { + "uv": [ + 15, + 124, + 35, + 125 + ], + "texture": 0 + }, + "down": { + "uv": [ + 15, + 115, + 35, + 116 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d7cd74b4-6927-4474-69b0-4b7c554151f9" + }, + { + "name": "GameConsole2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 5, + 12.25, + -0.375 + ], + "to": [ + 5.5, + 16.25, + 0.375 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -2, + 4.625 + ], + "faces": { + "north": { + "uv": [ + 35, + 115, + 36, + 116 + ], + "texture": 0 + }, + "east": { + "uv": [ + 35, + 115, + 36, + 116 + ], + "texture": 0 + }, + "south": { + "uv": [ + 35, + 115.5, + 36, + 123.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 114, + 0, + 114 + ], + "texture": null + }, + "up": { + "uv": [ + 35, + 124, + 36, + 125 + ], + "texture": 0 + }, + "down": { + "uv": [ + 35, + 115, + 36, + 116 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "801a9e9c-442a-e45b-3c49-2b76d6ce6175" + }, + { + "name": "GameConsole3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5.5, + 12.25, + -0.375 + ], + "to": [ + -5, + 16.25, + 0.375 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -2, + 4.625 + ], + "faces": { + "north": { + "uv": [ + 14, + 115, + 15, + 116 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 114, + 0, + 114 + ], + "texture": null + }, + "south": { + "uv": [ + 14, + 115.5, + 15, + 123.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 14, + 115, + 15, + 116 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 124, + 15, + 125 + ], + "texture": 0 + }, + "down": { + "uv": [ + 14, + 115, + 15, + 116 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "7916f77b-d03d-3d4c-f7cf-6f709eb78281" + }, + { + "name": "GDDLabel", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.5, + 12.675, + -0.385 + ], + "to": [ + 1.5, + 14.2375, + -0.385 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + -15 + ], + "origin": [ + -1, + 13.28125, + -0.385 + ], + "faces": { + "north": { + "uv": [ + 0, + 77, + 80, + 102 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 270, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 90, + "texture": null + } + }, + "type": "cube", + "uuid": "b7e035cc-46a3-5eb4-1b7d-0b1f2730804d" + }, + { + "name": "MillenniumLabel", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + 14.5, + -0.385 + ], + "to": [ + 3.5, + 16.0625, + -0.385 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 20, + -0.375 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 80, + 25 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 270, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 90, + "texture": null + } + }, + "type": "cube", + "uuid": "b26f72d9-e158-1497-e279-e0084d3e5e40" + }, + { + "name": "Sweat", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.25, + 29, + -4.51 + ], + "to": [ + -2.15, + 31, + -4.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2.7, + 31, + -4.51 + ], + "faces": { + "north": { + "uv": [ + 48, + 115, + 53, + 124 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "1d64eec8-ae1c-ab8c-f05a-2254aa0ec9a3" + }, + { + "name": "Frame", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -200, + -50.5, + -27 + ], + "to": [ + -20, + -10, + -27 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + -110, + -30.25, + -27 + ], + "faces": { + "north": { + "uv": [ + 0, + 126, + 120, + 153 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 120, + 126, + 0, + 153 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d6730a7c-22ff-5b90-4aea-8d3e622307b2" + }, + { + "name": "Background", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -198.5, + -49, + 0 + ], + "to": [ + -161, + -11.5, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -200, + -50.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 0, + 128, + 1, + 129 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "17e933da-44fe-79df-c71f-f57df62870ee" + }, + { + "name": "RedBar", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -159.5, + -31, + -28 + ], + "to": [ + -24.5, + -14.5, + -28 + ], + "autouv": 0, + "color": 0, + "origin": [ + -24.5, + -22.75, + -1 + ], + "faces": { + "north": { + "uv": [ + 15, + 125, + 16, + 126 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "1553d035-9950-f83f-8303-3f9f3f5944cc" + }, + { + "name": "YellowBar", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -159.5, + -31, + -29 + ], + "to": [ + -24.5, + -14.5, + -29 + ], + "autouv": 0, + "color": 0, + "origin": [ + -24.5, + -22.75, + -1 + ], + "faces": { + "north": { + "uv": [ + 14, + 125, + 15, + 126 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5829b992-847e-8d4b-9d38-6f2d6d461ce8" + }, + { + "name": "Body", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -184.25, + -45, + -19 + ], + "to": [ + -176.25, + -42, + -15 + ], + "autouv": 0, + "color": 0, + "origin": [ + -142.25, + -8.4, + -17 + ], + "uv_offset": [ + 16, + 16 + ], + "faces": { + "north": { + "uv": [ + 20, + 106, + 28, + 109 + ], + "texture": 1 + }, + "east": { + "uv": [ + 16, + 106, + 20, + 109 + ], + "texture": 1 + }, + "south": { + "uv": [ + 32, + 106, + 40, + 109 + ], + "texture": 1 + }, + "west": { + "uv": [ + 28, + 106, + 32, + 109 + ], + "texture": 1 + }, + "up": { + "uv": [ + 28, + 106, + 20, + 102 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 40, + 0, + 40 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "45566067-8674-c4fc-5ccb-30d6ce1443a3" + }, + { + "name": "BodyLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -184.25, + -45, + -19 + ], + "to": [ + -176.25, + -42, + -15 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + -142.25, + -8.4, + -17 + ], + "uv_offset": [ + 16, + 32 + ], + "faces": { + "north": { + "uv": [ + 20, + 122, + 28, + 125 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 40, + 0, + 40 + ], + "texture": 1 + }, + "south": { + "uv": [ + 32, + 122, + 40, + 125 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 40, + 0, + 40 + ], + "texture": 1 + }, + "up": { + "uv": [ + 28, + 122, + 20, + 118 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 40, + 0, + 40 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "65803b15-3f91-4858-b625-bae3f7c6acc4" + }, + { + "name": "RightArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -176.25, + -45, + -19 + ], + "to": [ + -173.25, + -42, + -15 + ], + "autouv": 0, + "color": 0, + "origin": [ + -132.25, + 22.5, + 40 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 44, + 106, + 47, + 109 + ], + "texture": 1 + }, + "east": { + "uv": [ + 40, + 106, + 44, + 109 + ], + "texture": 1 + }, + "south": { + "uv": [ + 51, + 106, + 54, + 109 + ], + "texture": 1 + }, + "west": { + "uv": [ + 47, + 106, + 51, + 109 + ], + "texture": 1 + }, + "up": { + "uv": [ + 47, + 106, + 44, + 102 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 86, + 0, + 86 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "e4c7bd2b-e18a-73b8-39d5-cfee43623fd6" + }, + { + "name": "RightArmLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -176.25, + -45, + -19 + ], + "to": [ + -173.25, + -42, + -15 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + -132.25, + 22.5, + 40 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 44, + 122, + 47, + 125 + ], + "texture": 1 + }, + "east": { + "uv": [ + 40, + 122, + 44, + 125 + ], + "texture": 1 + }, + "south": { + "uv": [ + 51, + 122, + 54, + 125 + ], + "texture": 1 + }, + "west": { + "uv": [ + 47, + 122, + 51, + 125 + ], + "texture": 1 + }, + "up": { + "uv": [ + 47, + 122, + 44, + 118 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 102, + 0, + 102 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "700f6e27-6329-4831-a25e-556b914e05c9" + }, + { + "name": "LeftArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -187.25, + -45, + -19 + ], + "to": [ + -184.25, + -42, + -15 + ], + "autouv": 0, + "color": 0, + "origin": [ + -132.25, + 22.5, + 40 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 36, + 138, + 39, + 141 + ], + "texture": 1 + }, + "east": { + "uv": [ + 32, + 138, + 36, + 141 + ], + "texture": 1 + }, + "south": { + "uv": [ + 43, + 138, + 46, + 141 + ], + "texture": 1 + }, + "west": { + "uv": [ + 39, + 138, + 43, + 141 + ], + "texture": 1 + }, + "up": { + "uv": [ + 39, + 138, + 36, + 134 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 118, + 0, + 118 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "f382c24c-b146-6dc7-14fb-351de7e08829" + }, + { + "name": "LeftArmLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -187.25, + -45, + -19 + ], + "to": [ + -184.25, + -42, + -15 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + -132.25, + 22.5, + 40 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 52, + 138, + 55, + 141 + ], + "texture": 1 + }, + "east": { + "uv": [ + 48, + 138, + 52, + 141 + ], + "texture": 1 + }, + "south": { + "uv": [ + 59, + 138, + 62, + 141 + ], + "texture": 1 + }, + "west": { + "uv": [ + 55, + 138, + 59, + 141 + ], + "texture": 1 + }, + "up": { + "uv": [ + 55, + 138, + 52, + 134 + ], + "texture": 1 + }, + "down": { + "uv": [ + 16, + 118, + 16, + 118 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "3656d07b-131a-d092-3436-b8402839052c" + }, + { + "name": "Body", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -44.75, + -45, + -19 + ], + "to": [ + -36.75, + -42, + -15 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2.75, + -8.4, + -17 + ], + "uv_offset": [ + 16, + 16 + ], + "faces": { + "north": { + "uv": [ + 20, + 59, + 28, + 62 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 59, + 20, + 62 + ], + "texture": 0 + }, + "south": { + "uv": [ + 32, + 59, + 40, + 62 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 59, + 32, + 62 + ], + "texture": 0 + }, + "up": { + "uv": [ + 28, + 59, + 20, + 55 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 8, + 0, + 8 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c2a71900-8560-1394-d54b-faaf86346840" + }, + { + "name": "BodyLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -44.75, + -45, + -19 + ], + "to": [ + -36.75, + -42, + -15 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + -2.75, + -8.4, + -17 + ], + "uv_offset": [ + 16, + 32 + ], + "faces": { + "north": { + "uv": [ + 20, + 75, + 28, + 78 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 8, + 0, + 8 + ], + "texture": 0 + }, + "south": { + "uv": [ + 32, + 75, + 40, + 78 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 8, + 0, + 8 + ], + "texture": 0 + }, + "up": { + "uv": [ + 28, + 75, + 20, + 71 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 8, + 0, + 8 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a4376252-bd11-6c6b-4513-7a4b2e394401" + }, + { + "name": "RightArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -36.75, + -45, + -19 + ], + "to": [ + -33.75, + -42, + -15 + ], + "autouv": 0, + "color": 0, + "origin": [ + 7.25, + 22.5, + 40 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 44, + 59, + 47, + 62 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 59, + 44, + 62 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 59, + 54, + 62 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 59, + 51, + 62 + ], + "texture": 0 + }, + "up": { + "uv": [ + 47, + 59, + 44, + 55 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 39, + 0, + 39 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "737c826e-da1d-8327-a3d9-dcb0da55cb0b" + }, + { + "name": "LeftArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -47.75, + -45, + -19 + ], + "to": [ + -44.75, + -42, + -15 + ], + "autouv": 0, + "color": 0, + "origin": [ + 7.25, + 22.5, + 40 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 36, + 91, + 39, + 94 + ], + "texture": 0 + }, + "east": { + "uv": [ + 32, + 91, + 36, + 94 + ], + "texture": 0 + }, + "south": { + "uv": [ + 43, + 91, + 46, + 94 + ], + "texture": 0 + }, + "west": { + "uv": [ + 39, + 91, + 43, + 94 + ], + "texture": 0 + }, + "up": { + "uv": [ + 39, + 91, + 36, + 87 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 71, + 0, + 71 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "0f7a44e8-dcbe-7775-4801-c46fbb06f413" + }, + { + "name": "LeftArmLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -47.75, + -45, + -19 + ], + "to": [ + -44.75, + -42, + -15 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 7.25, + 22.5, + 40 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 52, + 91, + 55, + 94 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 91, + 52, + 94 + ], + "texture": 0 + }, + "south": { + "uv": [ + 59, + 91, + 62, + 94 + ], + "texture": 0 + }, + "west": { + "uv": [ + 55, + 91, + 59, + 94 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 16, + 71, + 16, + 71 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "58bcbc66-fe9c-f0e7-114e-a71ffed776db" + }, + { + "name": "DeadEye", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 25, + -4.015 + ], + "to": [ + 3, + 28, + -4.015 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + -49, + -28, + 12 + ], + "faces": { + "north": { + "uv": [ + 36, + 115, + 48, + 121 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e71b725f-7d28-ede7-7e26-7f8d250eef2d" + }, + { + "name": "RightArmLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -36.75, + -45, + -19 + ], + "to": [ + -33.75, + -42, + -15 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 7.25, + 22.5, + 40 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 44, + 75, + 47, + 78 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 75, + 44, + 78 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 75, + 54, + 78 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 75, + 51, + 78 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 55, + 0, + 55 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "fd2e909f-2fbf-a04a-deb5-6ad11adb06ae" + }, + { + "name": "CoatRibbonLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + 16, + -2.41 + ], + "to": [ + 1.5, + 18, + -2.41 + ], + "autouv": 0, + "color": 0, + "inflate": 0.125, + "origin": [ + 0.5, + 17.5, + -2.16 + ], + "faces": { + "north": { + "uv": [ + 48, + 105, + 51, + 107 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 48, + 105, + 51, + 107 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "7b8c3a60-13da-8393-27cf-53bd406f6381" + }, + { + "name": "CoatRibbon", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + 16, + -2.41 + ], + "to": [ + 1.5, + 18, + -2.41 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.5, + 17.5, + -2.16 + ], + "faces": { + "north": { + "uv": [ + 45, + 105, + 48, + 107 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 21, + 23, + 21, + 23 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b698b656-f540-d177-00ba-f4f7b18ec6bd" + }, + { + "name": "TailRibbon", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + 13, + 4.09 + ], + "to": [ + 1.5, + 15, + 4.09 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0.5, + 17.5, + -2.16 + ], + "faces": { + "north": { + "uv": [ + 45, + 105, + 48, + 107 + ], + "texture": 0 + }, + "east": { + "uv": [ + 21, + 23, + 21, + 23 + ], + "texture": null + }, + "south": { + "uv": [ + 45, + 105, + 48, + 107 + ], + "texture": 0 + }, + "west": { + "uv": [ + 21, + 23, + 21, + 23 + ], + "texture": null + }, + "up": { + "uv": [ + 21, + 23, + 21, + 23 + ], + "texture": null + }, + "down": { + "uv": [ + 21, + 23, + 21, + 23 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "25866da6-4ad9-5244-ca7e-a93da8b83268" + }, + { + "name": "TailRibbonLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + 13, + 4.09 + ], + "to": [ + 1.5, + 15, + 4.09 + ], + "autouv": 0, + "color": 0, + "inflate": 0.125, + "origin": [ + 0.5, + 17.5, + -2.16 + ], + "faces": { + "north": { + "uv": [ + 48, + 105, + 51, + 107 + ], + "texture": 0 + }, + "east": { + "uv": [ + 21, + 23, + 21, + 23 + ], + "texture": null + }, + "south": { + "uv": [ + 48, + 105, + 51, + 107 + ], + "texture": 0 + }, + "west": { + "uv": [ + 21, + 23, + 21, + 23 + ], + "texture": null + }, + "up": { + "uv": [ + 21, + 23, + 21, + 23 + ], + "texture": null + }, + "down": { + "uv": [ + 21, + 23, + 21, + 23 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e058dbb0-97f4-2590-bbae-1efa1659c33d" + }, + { + "name": "TailRibbonBase", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 14, + 3.965 + ], + "to": [ + 0.5, + 15, + 4.215 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0, + 14.75, + 4.09 + ], + "faces": { + "north": { + "uv": [ + 21, + 23, + 21, + 23 + ], + "texture": null + }, + "east": { + "uv": [ + 46, + 105, + 47, + 106 + ], + "texture": 0 + }, + "south": { + "uv": [ + 21, + 23, + 21, + 23 + ], + "texture": null + }, + "west": { + "uv": [ + 46, + 105, + 47, + 106 + ], + "texture": 0 + }, + "up": { + "uv": [ + 46, + 105, + 47, + 106 + ], + "texture": 0 + }, + "down": { + "uv": [ + 46, + 105, + 47, + 106 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "90c3320c-e371-a932-b975-6d1cf0e9ed9f" + } + ], + "outliner": [ + { + "name": "Momoi", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "e98e96cf-993b-878e-02b8-777c368bb888", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "MomoiHead", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "22d40862-bd19-a16d-9e33-79364e6656d8", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a66c63cf-0082-7797-3f4e-08ff434a1cac", + "d48552a8-9f0d-7335-2a82-794f3264fc9d", + { + "name": "MomoiHairRibbons", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "0c59a2cf-3216-5181-7b59-d7ec0d95bc1f", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "cb186902-ed9f-81b4-4202-9b6bd1679875", + "a9969c6d-21ee-6a83-fded-e167709975e0" + ] + }, + { + "name": "MomoiPhone", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "ecb0ee56-5170-3365-596a-169877c19369", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "01f6d688-d2cd-c36a-df2e-a80523a72020", + "4f5e53a6-b464-0187-a63a-a317f45c2beb", + "ac86679a-d55c-be34-cf2b-68f42e402541", + "943051a6-3609-4b6a-a9be-3e7a6d7e866b", + "0aae78b3-7629-724d-62de-d336c7bb05d6", + { + "name": "PhoneEars", + "origin": [ + 0, + 32.5, + -1 + ], + "color": 0, + "uuid": "8a0d4e0c-c75a-8b96-4d55-3b327212efbf", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "PhoneEarRight", + "origin": [ + 0, + 32.5, + -1 + ], + "color": 0, + "uuid": "9420ea33-54f3-229f-aa64-9a45aa1de2e0", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "PhoneEarRightFront", + "origin": [ + 0, + 32.5, + -1 + ], + "color": 0, + "uuid": "8ae76f75-5f55-c724-8aba-a832c61d7751", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "PhoneEarRightFront1_1", + "origin": [ + 0, + 32, + -1 + ], + "rotation": [ + 0, + 0, + -35 + ], + "color": 0, + "uuid": "e4b7cf64-7648-39b9-5be6-7e3f25214053", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "5628b192-ac9f-3e32-91d4-2d87aa746910", + "c1fcb63e-6496-d3a3-64cb-e2251ddf6b9e", + "beef8305-3bf6-58e9-b6da-1cd0fab1fe2f", + { + "name": "PhoneEarRightFront1_2", + "origin": [ + 0, + 35, + -1 + ], + "rotation": [ + 0, + 0, + -25 + ], + "color": 0, + "uuid": "59bb8b92-fe58-64d2-7a1c-8beaa43ff9f2", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "403fa6ce-f0d8-c5be-a8b6-d47294eb4984", + "76f78202-a819-a689-73e2-64029f8d0f9d", + "b779ad53-9102-aacf-4abf-51210f0edbde", + { + "name": "PhoneEarRightFront1_3", + "origin": [ + 0, + 37.09, + -1 + ], + "rotation": [ + 0, + 0, + -30 + ], + "color": 0, + "uuid": "a7bbb537-2a97-304f-3e26-8b99aa386fe3", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f1e596d1-8e6e-52f8-ee7e-4c2fe9e40228", + "6544450b-5248-1b6d-e92d-2543dd68f300", + "348fd0c9-c2ba-34d9-9160-bd82c3a23d43" + ] + } + ] + } + ] + }, + { + "name": "PhoneEarRightFront2_1", + "origin": [ + 4.5, + 29.5, + -1 + ], + "rotation": [ + 0, + 0, + -60 + ], + "color": 0, + "uuid": "defaac45-9178-f07f-7e9d-914192a8bcfd", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4bd4c91f-764a-3ef9-009c-766a50959788", + "1a50d8d3-d2c0-1c03-5226-56fabd5b1aa7", + "d3a63ec7-8768-7c37-4624-c7e3d4192e12", + { + "name": "PhoneEarRightFront2_2", + "origin": [ + 4.5, + 30.08, + -1 + ], + "rotation": [ + 0, + 0, + 60 + ], + "color": 0, + "uuid": "fb7e3287-5d3a-557b-85d5-e687a41f4eee", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "092a0e63-d5dd-7734-63ea-fa9d2553d0f5", + "c5113057-7bfd-25ad-e529-b49c112c3377", + "2840ca2d-db60-7b72-40c4-526f07cf8a96", + { + "name": "PhoneEarRightFront2_3", + "origin": [ + 4.5, + 34.08, + -1 + ], + "rotation": [ + 0, + 0, + 20 + ], + "color": 0, + "uuid": "9e95149d-5fe0-1d87-78d3-2a8f624f27fa", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e774d120-5304-8e16-59f6-3320dd90cc26", + "0dca0cdb-bd65-b554-9877-c42622b728bd", + "c95bca51-10cf-7f94-f3f4-4e2202585871" + ] + } + ] + } + ] + } + ] + }, + { + "name": "PhoneEarRightBack", + "origin": [ + 0, + 32.5, + 0 + ], + "color": 0, + "uuid": "74069bd7-7675-7146-18bd-4a7ba06f969f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b561e0e5-fa37-6c25-4798-cb2864fd4ef3", + "dedf0f6b-187d-2be9-04f4-b753ebcdcf51" + ] + } + ] + }, + { + "name": "PhoneEarLeft", + "origin": [ + 0, + 32.5, + -1 + ], + "color": 0, + "uuid": "f10267d6-0d58-cc2f-4920-e7ff33270f54", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "PhoneEarLeftFront", + "origin": [ + 0, + 32.5, + -1 + ], + "color": 0, + "uuid": "c0095888-9572-cea5-9bdc-d77dc8f488ac", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "PhoneEarLeftFront1_1", + "origin": [ + 0, + 32, + -1 + ], + "rotation": [ + 0, + 0, + 35 + ], + "color": 0, + "uuid": "04e771b1-46c1-0055-171a-ce7b7640b6b2", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "be67e76c-c7f9-9a4b-6c04-524fbc76c77b", + "a76db6f4-0ef7-6aed-1cc1-9c1259141265", + "2d6e824a-b085-3640-e1e5-7ba8c21408be", + { + "name": "PhoneEarLeftFront1_2", + "origin": [ + 0, + 35, + -1 + ], + "rotation": [ + 0, + 0, + 25 + ], + "color": 0, + "uuid": "17b848e3-d84e-f9d6-029a-e8d8c41bab91", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8cc219f9-f431-d538-3d6f-fcab7185ee25", + "c3b3c7a5-1906-1860-5da3-6879de869a89", + "239182e8-2f83-2228-a01c-9bba6132ebd4", + { + "name": "PhoneEarLeftFront1_3", + "origin": [ + 0, + 37.09, + -1 + ], + "rotation": [ + 0, + 0, + 30 + ], + "color": 0, + "uuid": "3f9f3b07-3a38-b67a-5e55-8ac70f129560", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "2efdfc14-75ad-3917-bcbd-c864f6a4908a", + "12e1aa45-4861-cd9c-cdfd-5b656c8af07c", + "64b1a793-eb74-5aab-221f-0058edf82966" + ] + } + ] + } + ] + }, + { + "name": "PhoneEarLeftFront2_1", + "origin": [ + -4.5, + 29.5, + -1 + ], + "rotation": [ + 0, + 0, + 60 + ], + "color": 0, + "uuid": "f5f8cc88-77cb-6726-8b74-15095adaa508", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "0cabbb13-53a1-76d6-49c1-244a341e3fc4", + "4b86c2c6-6541-ae97-908d-c4c0946d9742", + "fd698e35-9448-12f8-4ea1-9abfc1d86688", + { + "name": "PhoneEarLeftFront2_2", + "origin": [ + -4.5, + 30.08, + -1 + ], + "rotation": [ + 0, + 0, + -60 + ], + "color": 0, + "uuid": "61b4a9db-fbbf-0f17-767a-c0471465950a", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "83f7478a-cd88-a072-b14a-aac679cc671e", + "759cf829-fc6c-b23b-f394-09d2b21b073e", + "5e464ee7-9b76-e363-35ab-cc8ac9024a22", + { + "name": "PhoneEarLeftFront2_3", + "origin": [ + -4.5, + 34.08, + -1 + ], + "rotation": [ + 0, + 0, + -20 + ], + "color": 0, + "uuid": "cf8e1310-5882-9378-e414-9b0710d312d2", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f7ef2c19-5922-806b-fe13-635d0335552b", + "c4e7e749-9878-e45a-341c-b943ad7693e0", + "d9cf64b4-1f79-2af0-5eed-b045c13920ad" + ] + } + ] + } + ] + } + ] + }, + { + "name": "PhoneEarLeftBack", + "origin": [ + 0, + 32.5, + 0 + ], + "color": 0, + "uuid": "a3f8b87b-ecbb-f38a-de09-c1ddaf611c97", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b5a002b6-22e9-a072-4595-4028c86f3962", + "f54c98fe-b735-7964-faff-3d7981924e5a" + ] + } + ] + } + ] + } + ] + }, + { + "name": "MomoiFaceParts", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "db381b6c-e0d3-6ca8-6433-4371d36cc6c6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Eyes", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "25d20f6a-b84c-5105-726d-79a4fc3a5a4d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "7853e9a2-b429-5a00-5e0e-70449c3a71ee", + "328a2de5-64bc-807b-5906-227bfceedf26" + ] + }, + "d9d80373-4145-9e90-28de-12248a8075d9" + ] + }, + { + "name": "MomoiHeadRing", + "origin": [ + 0, + 28, + 0 + ], + "color": 0, + "uuid": "e8809cb5-a507-86d8-da91-c79b1d4d233e", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "48cfe147-8711-a325-c722-fe73d6c4d87a", + { + "name": "RingParts", + "origin": [ + 0, + 28, + 0 + ], + "rotation": [ + 35, + 0, + 0 + ], + "color": 0, + "uuid": "e32b6794-e7c2-9c56-393f-a85b7edf387d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "faf8ab6b-f4f0-ca97-dccf-5419513d1359", + "61c19b56-1984-cdcb-7a31-987945b0ae33", + "f0e4c2d9-cc4e-0c13-3e3a-2b95d8c0d034", + "4a2f805b-02d9-da24-e361-0c0309289a1d" + ] + } + ] + } + ] + }, + { + "name": "MomoiUpperBody", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "16d22746-633e-382e-dd96-b35bde99daa5", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "MomoiBody", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "bf4dd57f-d0f7-1fe0-98e6-59e00f97f41b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "742e9ab7-8cdd-8d93-9a9a-88011f54d15b", + "2574fa9e-0d5f-502c-ce28-ef5cf30f41ec", + { + "name": "MomoiSkirt", + "origin": [ + 0, + 14, + 0 + ], + "color": 0, + "uuid": "3ef4a513-6419-fc26-408e-8f2b4dea9387", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "38c80056-38bf-0791-5b8e-c3a3b2591654", + "e5f18b5e-4093-76a4-d9ae-165f680424da" + ] + }, + { + "name": "MomoiTail", + "origin": [ + 0, + 14.5, + 2 + ], + "rotation": [ + 15, + 0, + 0 + ], + "color": 0, + "uuid": "9100b434-e831-96c3-9283-218e489cafe0", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "50e61828-ccdd-ee8e-c621-0a193b35fd5e", + { + "name": "TailRibbon", + "origin": [ + 0, + 14.75, + 4.09 + ], + "color": 0, + "uuid": "5188006f-1495-610b-c7fd-6c30659e9544", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "25866da6-4ad9-5244-ca7e-a93da8b83268", + "e058dbb0-97f4-2590-bbae-1efa1659c33d", + "90c3320c-e371-a932-b975-6d1cf0e9ed9f" + ] + }, + { + "name": "Tail2", + "origin": [ + 0, + 14, + 8 + ], + "rotation": [ + -40, + 0, + 0 + ], + "color": 0, + "uuid": "feb531f7-26bb-8a9c-0e7a-1339231405db", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4113cbe8-5856-27e8-5d63-4f6f3f13ccbd" + ] + } + ] + }, + { + "name": "CoatRibbon", + "origin": [ + 0, + 17.5, + -2.16 + ], + "color": 0, + "uuid": "7900586e-bd09-dc3e-028d-78ba9af80cf3", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "7b8c3a60-13da-8393-27cf-53bd406f6381", + "b698b656-f540-d177-00ba-f4f7b18ec6bd" + ] + } + ] + }, + { + "name": "MomoiArms", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "c062b0e8-6983-de4d-12e9-7b5ad9e81528", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "MomoiRightArm", + "origin": [ + 5, + 22, + 0 + ], + "color": 0, + "uuid": "3c1cb66d-8a31-d31f-ec9f-65a33e313a53", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8831734e-ce90-e6bb-8368-e011a468277d", + "cea7603d-ae80-e4e7-6f93-905551a79117", + { + "name": "MomoiRightArmBottom", + "origin": [ + 5, + 18, + 2 + ], + "color": 0, + "uuid": "b924539e-1292-1a17-6240-a525ae346090", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "643f9c05-2d3c-e1d1-5a2f-874902eb1784", + "b1a76f47-912e-c2d4-8090-6f6ac9734672", + "29a6683b-b165-5012-f56b-a8b8ebf7af9a" + ] + } + ] + }, + { + "name": "MomoiLeftArm", + "origin": [ + -5, + 22, + 0 + ], + "color": 0, + "uuid": "e7d3e5d8-00e4-587c-7bb6-6787db00054b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "af1aa9d5-0ccf-d579-b381-54ac7b12fb55", + "b74fb9e9-db24-b669-6f87-8469be63eda5", + { + "name": "MomoiLeftArmBottom", + "origin": [ + -5, + 18, + 2 + ], + "color": 0, + "uuid": "ad1c45ef-c0a8-6d31-d2dc-fbdc6ab7ddcc", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a82219a3-e344-a4d8-c85c-51462943a7dc", + "d7794b2f-dbb3-2cd5-c956-cd163b703976", + "068c9564-63f3-82ac-0263-7761baadd884", + { + "name": "GameConsole2", + "origin": [ + 0, + 14.25, + 0 + ], + "color": 0, + "uuid": "8f24792e-7ef8-0b12-9dcc-81436fb8d600", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + } + ] + } + ] + } + ] + }, + { + "name": "MomoiLowerBody", + "origin": [ + 0, + 12, + 0 + ], + "color": 0, + "uuid": "2f61e368-1c06-648e-26d4-aee94647e4da", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "MomoiLegs", + "origin": [ + 0, + 12, + 0 + ], + "color": 0, + "uuid": "29730186-2622-086d-ab67-4bb8e356bb6c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "MomoiRightLeg", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "4e80b5b4-7c04-8374-f8a7-526b3d36d050", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "da81ebbe-5b4e-2d46-144a-6f839ad6fa3c", + "bcf37da3-caec-e8f2-bc82-76a3f169374c", + { + "name": "MomoiRightLegBottom", + "origin": [ + 2, + 6, + 0 + ], + "color": 0, + "uuid": "84fe0b3a-286b-e17f-288e-c39feaa2e5e6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8b1cc891-ffa8-9f46-ebc0-f0b84e6ffb15", + "72c6eff7-d0eb-2ffa-193f-2ca402bdc722" + ] + } + ] + }, + { + "name": "MomoiLeftLeg", + "origin": [ + -2, + 12, + 0 + ], + "color": 0, + "uuid": "73b3d6bc-af0b-a066-5d73-f3938109e11f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "9c06bc9a-beae-98d9-e9ce-9c8e6ddbb9d3", + "f8f1e7ad-7999-9f17-0488-5dcbd4af7945", + { + "name": "MomoiLeftLegBottom", + "origin": [ + -2, + 6, + 0 + ], + "color": 0, + "uuid": "ee9973d4-ff4e-c96b-64f6-d1f28afd69c6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a1169ee6-6a78-c7c4-9214-670991206468", + "a5173990-504e-f5c4-45c7-9347880c1306" + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "name": "GameConsole1", + "origin": [ + 0, + 14.25, + 0 + ], + "color": 0, + "uuid": "809b49f8-db80-0544-0448-7a757616653e", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d7cd74b4-6927-4474-69b0-4b7c554151f9", + "801a9e9c-442a-e45b-3c49-2b76d6ce6175", + "7916f77b-d03d-3d4c-f7cf-6f709eb78281", + "b7e035cc-46a3-5eb4-1b7d-0b1f2730804d", + "b26f72d9-e158-1497-e279-e0084d3e5e40", + { + "name": "ExSkill1ParticleAnchor1", + "origin": [ + 0, + 19.25, + 0 + ], + "color": 0, + "uuid": "1baf4e04-1b5d-58a3-b3db-12d9ade56838", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + { + "name": "Sweat", + "origin": [ + -2.7, + 31, + -4.51 + ], + "color": 0, + "uuid": "c16d1dc5-b066-1f1d-40fb-7d2a283e6bf4", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1d64eec8-ae1c-ab8c-f05a-2254aa0ec9a3" + ] + }, + { + "name": "Gui", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "47747c28-1220-4fd3-5e3f-ef01a645e3a4", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "UI", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "2a847ea2-2cca-96ee-2fff-fb03c33671bc", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "MidoriUI", + "origin": [ + -200, + -50.5, + -1 + ], + "color": 0, + "uuid": "17a06db5-3961-4756-fc2b-a907b5af7731", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d6730a7c-22ff-5b90-4aea-8d3e622307b2", + "17e933da-44fe-79df-c71f-f57df62870ee", + { + "name": "RedBar", + "origin": [ + -24.5, + -22.75, + -28 + ], + "color": 0, + "uuid": "b2eaf076-31e8-ed4a-3fc3-3260555c88e1", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1553d035-9950-f83f-8303-3f9f3f5944cc" + ] + }, + { + "name": "YellowBar", + "origin": [ + -24.5, + -22.75, + -29 + ], + "color": 0, + "uuid": "1eea0af8-5388-011f-39de-16aef54e733b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "5829b992-847e-8d4b-9d38-6f2d6d461ce8" + ] + }, + { + "name": "PaperDoll", + "origin": [ + -180.5, + -42, + -17 + ], + "rotation": [ + 0, + -15, + 0 + ], + "color": 0, + "uuid": "a1fbd7b2-6152-e982-f11f-378d786a2841", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "MidoriPaperDollBody", + "origin": [ + -174.5, + -16, + 40 + ], + "color": 0, + "uuid": "348aa98c-1f3b-afad-2fdb-be27d33860da", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "45566067-8674-c4fc-5ccb-30d6ce1443a3", + "65803b15-3f91-4858-b625-bae3f7c6acc4", + "e4c7bd2b-e18a-73b8-39d5-cfee43623fd6", + "700f6e27-6329-4831-a25e-556b914e05c9", + "f382c24c-b146-6dc7-14fb-351de7e08829", + "3656d07b-131a-d092-3436-b8402839052c" + ] + } + ] + } + ] + }, + { + "name": "MomoiPaperDollBody", + "origin": [ + -35, + -16, + 40 + ], + "color": 0, + "uuid": "22a7ac1d-17e8-1726-9748-1d1353b324a7", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "c2a71900-8560-1394-d54b-faaf86346840", + "a4376252-bd11-6c6b-4513-7a4b2e394401", + "737c826e-da1d-8327-a3d9-dcb0da55cb0b", + "fd2e909f-2fbf-a04a-deb5-6ad11adb06ae", + "0f7a44e8-dcbe-7775-4801-c46fbb06f413", + "58bcbc66-fe9c-f0e7-114e-a71ffed776db" + ] + }, + "e71b725f-7d28-ede7-7e26-7f8d250eef2d" + ] + }, + { + "name": "TextAnchor", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "3d2b3a9b-6454-a7fd-e0ae-a90624029e9c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + } + ], + "textures": [ + { + "path": "", + "name": "ex_skill_1.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 120, + "height": 153, + "uv_width": 120, + "uv_height": 153, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "49d663f7-0284-81d3-5d9d-8f9c415279bb", + "relative_path": "../../textures/ex_skill_1.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAACZCAYAAADkfP71AAAAAXNSR0IArs4c6QAAEdRJREFUeF7tnXtwVNUdx38nIWSTQEx4SBmVBHwAiigiyqPWAkrp2IrSqS+qVEuntqDWdmhxaqnT1pHRUSvjg6mOji8UHxRpLVTeUlSkFIyIKK9sECshkpAX2SSb0/mdzVnOnj33tXfv7r2bs//c3Xue9/f5fX/nnHvvSQillIL+pGwBQghJuXAGChIN2J2VNWB39vN96UABTjXa8CjvpHyujAyBAoxycQKJy0sD9m+gUY7BTiCLSky1nH/NY92zwCmYX5JdWKmoF9vQIdraedKRw9EsWoZupl4z8LkCt3tIy41lkkrRdiCalUuHh2a7jsCGaNlwqahXNWnLJfXmjIK1eo3jRE4oWKs3hwFr9ZqP8oFXsFZvDgPW6rWeowdawVq9OQxYq9cabqCXSV6pF+sVb5Dgd7EtOU00s1jW6JYqr0/VhtN2eXuqPgvtB+9OlpfqNXIcGZ4RTPlGiRl0ETZv18gBRIcxcwT5Pnogx2Cv1MvvbKlU6gaw6rGlGBmMQMv9MepfzilYvsWoUo1sVFXIVN2WNDKWG8BmqrYKs2btWpUN9Bis8m6r8VAV5lT3tO2OhWJZeazmoVIVbYzGeTvtis5tM9IEbwy2N3/UuQKvYI3Q2gKBnGRZX5bOEZhlkhUq+p/HXb0YTy6eR44uvI/VMfCP9/l6vLKyRRDTLQ3uFnDdyjpmlyMHD8KoF5+3bC+IRvRzny0Nng7ACPeLw4eZHaavX2vZpp8NFrS+WRrbLWAM0WiU1VOuYGH69NNOg0FDh+pwnSFPSQ/gETepu7tnKXDAmGHXzbMpwtXjcYbo4kYGq6ZsKdgmYD3ZsrJ2+tMzCjj93dc1WlnAPeC+JQCnzVC3c/gtIMNvtWzDqpOYTrc8SqGwACDSAXgUQ7+d8j01D2EhuNtoKR/RenbrkPKSSXfbcgC5n3bL9VSw/LptA46G+kJ+WxPwo6gmVpmHgGX1QmkJa5Kck57okMtOEAOMYRY/dQ0AA8pi35taEqAlAB4+E6KfLWfAGWj8mNUh1inlNVNifIInOQ+GZ1HROlwbu6gtBTcX5EOfUAia29qgz5nXs9qSAHug4DjgviVsLKefPUf5mI7fmUPq8dg0ABFatYQePVoLAweeCkZHGHadupIDrxmWMawLIKHMqVMXMifjqpSPLBR33yyRO8FDt1FZ1Xk2YZPay+kQXbvuj6YPExC8FWA3Bhp4Sj+A3r0A2jvVx8JCw5k4U3EkYlxWVSd2VmiPjL7d1iTPzTVmsyxBwKbqLSw0XQahga0igJiOFyu2xy4e20BQqiMq2GCpxQCzCZ5BWdV5qb10LeOyCdGsbRaiDTOgwZnHTwAoLgYo6RP73dIM0NoK0P5+7DcaMtVPt0L5+CofWUgVxl7ejDwei2O0UV3cIeTxPNWuB6FcPDwtGD0uAfSiqm0szei804vj9fB6eXmj807r1/nVFkgZsFOHcJpfA0uPBQg3/ANb343VGArBMxN/A/tbNrKf/PwzUxbCnPcexF0IpsqWQfJumtXP64a2NiBFRTk96UkPNvu1JAHed9NfYfGhvVDSvjUBsNF5dIg7x92hzH/W8jvhngsusayH171480MasH12tnLGAd//39iEqX72Uni19gB8ceRt9ls8v/TIPviydlXSebf5sU2se+7qhZDfq5dWsC109jLFjRnt7GSTrLxX1rOS5OZpLC0T53mbXTdO0YDtcbOdS6vFtqmCmTEBcNemT2Iqvvy8rIOnH25IWLaRSyZnvU9BRBw32sFXn6YVgydCXUM9DCgrN4WMeYfe8NMkg4vn8btoEJ7fqKyYV4bL06wg83JW+VSg5H4Z9R/L2rkGvzhDAiR+USVFI+HUGd9UAsSOq+DyC+J1yHmMzqsM4RawlXGNHECEatR/q+u3ajvT6cqwJ3sv75QZWLuebcf7UwXM++m2fKYheNmeL8c1DSh9yH0JGC9PT7LSA9m3gNNzebqWJMBnjJycMPsdc/bpCVZaufJFU6fA/+Iy/qpb4YO3n0sox88NOXeKqdUPfbrBsv54BS318a+kTz9LZ6XvhGPXxq8wXoICmVapLE/XhymZUmFZt19dyVPADQ0N7LrLysogm4DpmjDFPRzkCmNQLA/ewbvyZB6EG1+iBRSyZ4BXv/wolBXE7NPQQWD6rLuZqjOtYFGBdB2CpgAUaXMlYx8JkKkxsLJitYKl2MRDtB8A041hSr5dQeiGbnVONlHwxjAF/KNskytZftKdN/CA5THX6VhSszv2cEL88HCsCtGq+sUxOxKJQGFhYTykO+1PPKQSQuimMCWXVxD6bpiSb1mPo/H83eVUik61P9kqR7wEPPuJPey6np87whSYF4Dh3zVALqsgdHM1JZepJ1Aqo9PNYRor133cGqbkUmvnyBZAq3ZJ195drv4Gx/EBZya1MX3Wz2H1y0/B/Pdif77hoYkDgJ9TdUhMi0a7ID8/zzQ/r6OsLJRQXUNDW/x32e5aIJMqCN1STckkB4C3hGmsXJhCr5PVBxUyoc3HXAFu6CgyBHzPoXaW9sAZvTMPeE8tkAkVhL4XpmSifQXS98NULEeDruCcBby3FsglFcQpILq1mpJLK+PlnJa3CpmZTifnjP2uKwVvXbvcUMGYgO/QnThBPVGwmbHK9tUCGVdB6LZqSsY5CNHd+Xm5wAPesWOPK8CVlRX+BHzgCJCxlYRur6Z4tKscnp9uD1MytoLQT6spGWm/vN12MpUvdxVcfQTImEpCd4QpGeNgDN5RTXk5CJ30/aBCtgX48+2rDPP5NUSXlxcR+lE1JRdUxo9WqqEfhSm5oILQndWUXBhTbeAV/Pj4a5NC9OKO2HLjzoLYMmTeB38jqnyYNmvVUo9D9MmljxUgMb28vJzQj6spOb+SHdntyPNN7mRVVeP/FmB5aFU1JaNzBHDHG393NQYP+/0jTuzuOG/Ntjcdl8EC/OkS3VVNyahuWJ8gaOETuw3NPuS87jy7wpSMEh44BH0MFgGve+E1pTGn3mKwARwA/A6Yh1kG0WSyRHejgs3zpORpWS5ke3aZ5X6mpXm6p1vB8SdJJ6slI4I7UzYzjqeA6+vrWUjE8TAthHQlji3gmeERLgcrfnfcQ13AlQU0YFfm839hzwCzyU33vy3x+/818D+m1HvoKeDUu6VLpssCngKe8/YhNsl65qozDNv56v4XWJ5Qn9hf22trbmFHo9/8wjHfN353S0K9DY+9GV/nlt31A0+vLV0AvK7HUyPcXnWcGXzJ6FNMAXOYIjz+3SgNz8sQETB3EBm+14b0a/2eA55dWQITSo137YsKVqkXQcrn0Zh9512Lb34oFaxSt18BeN0vTwHb6TxX3cAFP2LZI5E2KCwMwdFFLyUUR9CXLX/VtMo1074fD+06RMdMlXbA51/+w/g4+PGm11n9eG7Fs4vgmtsWAD/HSaGCES6CxQ/C5aDbn15lCdWIuNyOHWfLxTyuActAo9EuBvjCKdfHYWKeneuXMfthWBXLWBkVVck/vctKob2hEVRHngfT8aPHYI8U3NraSlGFIuD9+/fTwYMHsxaLi4sTnKq+/oTp06zIk68zoDJAfo4DxXQRfL+517h2XivnC0I6WX31zUkGnt69wUyVJl8Uz8vPo4JFuPw8V7E8MeIOwfPxMZj/Pr5kJfvKQXKIHKgIXgNOdjmll3OwMjw7HusUMOYXx1/+nbfV9tw7CXCtYPMQrhXsUYh2CpgrWFauPJuWQ7JKyaLKNWCPAKdjf3E8Ujjc/2snwvS0PGmfiGjA/nIhDdhfPNLeGw047Sb1V4WuAXux/dSOifQzZjtWSsOtSg3YnqGzlcu1gt3uLyZnnZdw7eIeXzOj4M4FVbr4TDi+lpaeMeP5nvIwwjVgt9tPoaQ87YD540VesfhMGdNUz5KzpTCv2805wHijBR81yi8KiGrWgB24lRf7i+00z0O01ZOpzTNvUL4woEO0HSsDgBf7i+00bRewUV095Xmx6xCdbQUfe2IFNXtGzNPEhxQ6RNuRUHeebAPm73TJLwFg9+QHEiLsnvIwwvXz4H21zUnuIO8vNvOXWauedeBOJ7PybTGoYFGd8ssB4lMo8XtPeePD9fNgt/uLe02flBJgvv9XBCzDNArdeL5HA3Zicbf7i90CxhAthmIemkVVq8J1jwnRk79zveE7UWv/+QpjLb+CI75Ex50B8+BHfLmOpxm9BMDT5fp4XTxdrtOoz2umzYAr33kryT83/GuZ68mkE6f3U16Cxlo/ZGZSn6bULAcELL9DJWbkb1ByJzADbFYPluNOYGYcvrTBPnOYRlDFejTgITMBgfIPAsffdW1dSe8xi4YTlWemYMxnte4Ub1hsum5WAufLX3uZ/eZ1rLjq5IuCo86tgLMe+jPZN/9eikc/qccPfYkr2A+A1y6cCUX9y+HE1/XKY+mF0xnAbXN+Scc98xfCj34wpF/7YArYaYgWVSqr246CcaxVvXIrj9VW4d6vxs5GvyzHYDQ4Gr6xMRLvX2lpIQPBJz+qiRi+7F5ZOZSVMYMmwuPfjZwB61Rtf8mG4YLSJgNs1Fk7kxPVVhWsT54ZW6lOnGQZAebjtFU0CIrxM9HPhEmJauOYVSfMlkCyirni+W6FU26/Oq5wTKvbuAwGTb3RdKLUuHM15WOxVd90uvTKDlednZDKjccBi+Gap/EwbqVeOUybOYI4m9YArS2QoBbcZYBFcPOYXSheAMY+GC2VNGBrqGKOpBCN6sFtI/IuQKNqZcAYfuXQa9dZ7KyFNWCHgPn2TZwZy5uwxar4jYx3V7zATvMH7ukEfGTdK9RsHczXx3oMtg+ZiLcb+YYv1W57DNu4VOKOsCX6h3grD8zYab9FRc61s+6Ln837yaSU7kbh3+TS70onG5fwcZePvXgUd/oZqXp9629h0aTNsGDLZYCAv/ezxyCvVx6cyB8EdTUH4OKyeji0txVCfYqgBPd85+dBc3EZ/C96AjprtsPZQyvh0vFj4Ve/+DEg4Csf+zWsuethQMALRo9jc4FFVduUsFXpGrBaY3EFy9s3jSTJgcsKnvPwW9AeicDR+k74uGonlJYPhP79y6HgRC2UFPeFi8gXcHTIRUDbW6Gj4RicXtYLDh/6HJ5e8gSQuiYGFyGvq/ogDlUGaQQe4X4a7YKR+XmgVZxILuV18Jqm+VRU8B2PvwHHjjZBZ3M7RNobYXCoCQoGDYf8lq+gqLQ/fFlzEEaOGAWh/C7oam+DA+EaaGlsgWefWpSkYNm5rBStARuPkMpZtJ118NTR4ymGZ4RMB/SFuYtegsbGYzDs7DOBRFrhwL59cNHIYdD6dR0UFvaGroI+0NjaDs0RAm1RCh1NtVDf0glvPnkPA8w/4hisFexqasMKJ62D+Z8xslrayAp+8OllEMqjQDo7oLWtAxqaIxDNL4LWDoCOKEBHZxQIyYO8PILPfqGluQny8/Nh6cPzXI3BXL14MZ8daIdrzg7pMC34hRKwHQUjYF4PTrLuX/wyHG/tgOaGI9DaVgW9iy+B/KJ+0NERBYJ/kI5SqD+8B2hnBP8KLQw6YzgUhIph8b2zDRVsx38R8Iq9J/9xhwYsjcGq12/kP4TCVc2LogM88o/KhGXSnIWxtyOjkRZobvgaSsoHQX5Bb2hqPgbRjjYIFZRApK0Otn+4C0qL82DG1dOBQm/40/zbNGA7npxiHrZMEgGqZtPysgnz4zJJVHCK7bNibtfB/O9SszGHkJTW0W767+eybJmkusGhWgvzC0HA08ZMZD/5OtjNRfJ1MNYhLpPc1KnLxiwQv9GhUrHRHS08HzpUDGQCAXKMasX42Js0nCzAEYcUr5vXgL22sKL+TN1WZe1k0puyYEvfNpmJyWAS4HNPG+Jbg+RSx3YfrsnIbF8DzpLXaMBZMnymmtWAM2XpLLWjAWfJ8JlqVgPOlKWz1I4GnCXDZ6pZDThTls5SOxpwlgyfqWY14ExZOkvtaMBZMnymms0a4ExdoG4nMy8msFuV2tiZt0BGnyZl/vJ0ixpwjvuABqwBp8UCegxOixmdV6IV7NxmgSqhAQcKl/POasDObRaoEhpwoHA576wG7NxmgSqhAQcKl/POasDObRaoEpl8F/3/7CcGADWKncgAAAAASUVORK5CYII=" + }, + { + "path": "", + "name": "main.png", + "folder": "", + "namespace": "", + "id": "1", + "width": 80, + "height": 198, + "uv_width": 80, + "uv_height": 198, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "994f231d-e52d-fcf8-c566-b1534be5f6a6", + "relative_path": "../../textures/main.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAADGCAYAAABFLgfzAAAAAXNSR0IArs4c6QAAEfFJREFUeF7tnWuUFMUVgKsGZJeIuryMJhrBiGBMDAd5CERgF8NDkRjPUYyPKCocX3iigShonoJAMJKjIAQfxKgookIEBQ27swvhvaIhKhAEEyRqdIEVEVhgp3Ju9dyhpqeqq7qrZ3Z2tvtPz3TVvXXrq3tvVdf29FKiOVj1DKar41VOu99BO7+5luvYOugCaqMrH2W1HbIF2GVPd97vfdVvkU8m3K5tLx8heTqIzuAwAAI8PAoNotYjbAFCCAO8Ux+cmUoFJ3Y/v2DCORyAXa6WO/KWeQQBIkSAV0j5MKcAC3EyySlAXb5tjOX2AE84npBv/kje9//+ldDOI7VtmIDjubjuCCFFxxE40753haLXpG3PWdhtGBqYOoN00mjpGbULndPWDwCCrZrORL1ibrWFYCNP/QCsLz6BNDv0JcEz71AOALJ/zXVm8H1fce/LJy90AEIYwlFTS0i7Eufzl0ljCXGAdb6c1G99RQ3QS4eoE3QLdb1CURxc8DjpYBOSNtPbeFMQWSMPRIDQwP7t80mr4mKy/9Ah0upIfVY9MAWsXUkql7KtcxnkVTjzQW5wgJtms88//4y0b38yUZ3JmVfKB2fHi0oZpS5C0mROHvgrPojoYe6z14SBi3yVrOw6dMTdXhDPQxn6WfnvPDcLAKwOoI0B7U9qQ0iL5oQcPio/FxUpZ3LuhXV1almZTjBWaI+ed4vVbM4BenpfUZHnMgU6oPNgsRzsF9vj8KENACE7Q4gqlkIcIBwqWdl1V3u2yyzKNs1WeyB0CFz+pCGExGKEfs2ZddmBI4QkEoR+scxxPjA06JH0MDG3YY7DzmGZ2IR4TSUru85zZjKH2sLjunT9DmszQddOYy2PAFqOXAQwAmhJwFI8HA803A+0tDUvxSOAlsMSAWxwgNF+YPpGZbQf6M8ljXZjEGq0H5gJN9oP9OdwGbWNPDDaD1RTdjYTDu8hpEUbknFGOY/9wJRqlQ7xevNWTvWj+1Pt0e4TlCsB3FBV7VqL+4GWjhRYnLLqBxmBjkGnxHOsxTGlJgAThzN1uHXCdziEdmjXO9UAYXAN9gNt9/QC04PdGPbOI4wALAAgnlGrwX5gygC3DvE7woQ2wCsBYqwF8eo87vfp9gPD2JYKCtHxQDwwxND7/O4HAjAMUdEiSA+y4/Ae4hXCKKLbDwza+TDkUuFz73k90jZWp2zawMtU18NoPEwdaCfajbqDXkd5HYfAAEWwbqNlYPwOkN+BC0u/Xz0UBSavW+H0u7iY9Lt1DOm7eh3/itf73TWOrJj1KKGUcplJG9ekON3XrTfRQfRrmClAt/1o5/jv90yz392vVX168f6QQ4d4vfG9+qXqow4oS13/x3rOZcX0abwebdmSO18GwEsfnkh2VO8iw7e/n2YAXn9/4dO+ALo7qNIPHTz38huk7S6eMJEPnJdn40Dr7Md+vTtiEO/ne/NmZwBEHVCGAN31MwCiR41ZMJlsrvqY9FpdzRW7r8dnz/IE6PYc7LSpfq92ZTk5qP5944fzfi6f8ShXAVGE/UUGUIbX3fWbNW/ueCAaUH/0KJ9E5n5wH790c5epvEx2fcbOGl5317ChvC6ErypZB9GvalfmgUH1P7HlHt6HkWdN4ioQCPQXGUAZXlfV1+4HehkdlRn8WTOC5E0gzQM3zJ/P3brHiBFSzzQpR1msi82L11X6wxwsVfsmbbhl3X0QdXiCcjdm0nEVZBP4MtjigIodM7HFBJZtnVBzIHRQ1zFZHfc1N2wZfJO2bOGYyIcK0KTBQqsTAbQc0QhgWADZ+njabgztWZoGV1duaUejFeeQ3HBMe+OGjHIfvvC49JnDjleNynuP17Fw95nqBHQwVRATVe+xmtq9XLxdSWsS63+ub3hom6oNlW0mM71KVsej0QC0TRk2C2kVRNlA5rUH6rw/m+WmA5iVHAgdgxAWOxgkhLMJKCzdqbykI64rlxmEEAsVHvTZd2IPa+QKRQ8tHTxC+TOH5a8/z/vZtWwE+WfVghTs7/W/gr1TMT+NAdSBA683axY7tllbn2BuHaIw6hNlxPJXWbnSxuF0oNQJlrAKNoyWZd1BOMBzbtiZ4RCb//wtAgBVnQKB+vpEqmM6gF56UJe7DkAghJFhCkggt4SVM0YouVSA5cg5R7YhpgACMDwAKHyvOZRI8zw3ZdETvQBCPdGDZeHrrvM6K2cXJ8G9xioYBSSUEYDlzHyMJ6BUnUQ5uyR2zBtz7oH5BHApq2BDaRldlihnjFICn1U5cxmrAJS8DnwekqybFwD9hrAqT3rlPwQjeuCbiQo2KFZG30hUsMExfR57k1WwQbSMvsEq2OCGAugeYcyB0Hn3hIETi3jdDWn79u2sQ4eO0knIK4SXswp2ES2jyxMV7CIDeKgL5f7GKtgPaRmtZHE2gKZviGRj5vecheNvzNfOYjiR6GZq00mkgsVZGS2l5SzOBvoAUM4q2EBaxuWaCaSyDZFu/PQm1u2UJ52/AQuzqq7DaCPIqELU7YXosaOX3sbF5wx9LOWhUAZtxhNxVhorpXEWZ6U+AGJ9lM+ZB4pubQPQNMzF9mRrxqpEnPWPlfoOwSoWZ/1pKQ0qHzS800I0WwBxiaMyUpx8VrA460dL6cpEJbswNkCbQlDnShZnF4Icq2QX0gG+ByBvAEJ4ukMTAfYc1zbNzvXTdvPvIsBVLM760lK6KhFnfWPmk8AqVsn60gH07yzOfkBLaXWiknX3MQCBAYpeh0rq6g6RoqJiqU4swxyJOVDMb7LcZmrg6kSc9YmV0jWJStbbB4A1iTjrHSulq1klayHc+GUbIg0KEJcyqjsMvEu56OKfSNndN4eQSaMzi2DmX8sq2QV0AF3HKlkvqg/jdYlK1is2gOIZtOa9B2JYqgDCDHzZjfeSdsUxgrBU0ESMAHB9oor1jPWnG1gVg1u2Hh6eCHXhlq4n7U/XJypZz2TdnAHcu/dgoHek9rvspxn5SwQBHgjfP+3tPPkJR5vh3cjWPn1p59WrGJy9wloEUM0q4SZYOEDUuRfunvTQ6kQV6x7rn9KZM4C2yxhdbjtt5gts1+1XUTzr6ovlG5Pe1Y0eA+OW53UIId0EeH7asK0beBmDHua1OHbPsEGNfScJSSbftYHAoS3WAEGRankSFsCg4HMhFwG0pBx4GWN6r2xpX96LRwAthygCaAsw6DqwdWvnlzpN/UiuSJs6huD9jwAGZ8clI4CNASDjf3gk8IPBlLnua/Ady/Ez1kmt+uW/N7REYCeedQ8UwaCpprBksnbdDV86AyArXUhIxWW8pev/XU3+0rGHtlUvGbc3gZfJPEsHVfFrV61t2a7gCdAEoghPVl8FRhauXteyDSKofi1AL4hueKq6pvmuIHKgDIqf0TENez8687mukQf66UCTBmjrfQhahChOGGKIioOCE4t4hnLdZCPqkKUJ9/JHN1HhUktXT5zQ0jxQNiGA0qc7OP/aLOMoW+RcSs7aKoAmk4M4W7vru0G5Z2Q/E5Vq4FSDIdOdpsP564xzqAAqISJAF0S3B3pNDrrZ2MuLUnZrFuGyAZEt1lV2eg2okQdmA6DKi3Qj7mdh7tdTvQYEU4pbpydAWdS2Pa0T2b1rmzykk1eD5ECZgaoc6A5DlIWzafh73S6qBlE2eL4AIjwdxKY0ExsDdEPzghgB9AxQfWGQEJYtd1ShKZtYvCYbv+GqskXW86wvpHVLDN1MqpulVTnPdA0prh91E5gRQNlyRu9zTg1Z6JouSv0suN3eppqA/C6fdJOQMUBTYCb1gnigiVe6Z0Sv77JFepAlS4MB9MpZOOpB1ndeIafzfFm7oYWwiWdFdRwCWd/SL3TQEUDLEc54uuD0c0rTngVtzpKvNk429OGWVZ5PJDDG2AWXjCRrX5ubZhpe+9Z3yjxN/mhzXKs/peAr560gPJRatWmQJyWyCrC2tpZ3rqSkhEQAfXrgsuemk5LjHGeuPULJkGvu4l4ZeaBhCDcZgO6c5zen7ny/IkMEw1UWwjL9Ys6sq6sjRUVFqZD3a4+w5sxJTqTZBHj9zC28P0/f3sUTSKMGmNj2bqDfieBIf9Hu2xlOMuSaW8my52aRcatreNm0Pu0IXpN5lFhWX5+An7161kcdJSXpP0errXXeSg5Hrp5fpGz/HiuAtUdaKgGO/8hZAk0+vUUEUJWLmjzAs88fauWB65a/ovRAKIB39h88yLLigV4TTM5C+O23t1gB7NDhjKYNMPLAoAslR45GAC0BduzS1yqEN65ZnuUQPrY08dPV1q1b52YhLQM4dulp3NaHhu7S2nyUCv8+TVvbf4WdG172L5TD3Rk680P16+9MLJ9y8Wcm1QLXyXuAgXumEBy/8ibPlDD5QuclP0GPR7ddzfV//GlLYqsrqA2inFVnZAaIAH/x3Yd4ld+/OzZV1bbTTQYgwMNEvnfvXoYQI4Aav0cPjAAGTBAAcGKfx/mLxODvI3yxSSn/We39q0dl5C1dzvzGKQellkAOdB9i3TGd5oWenmSGhN4IvozC/T4Z1XXIaQDjl+c7/54MjwfeGkNU8ObcfIRXGzbxxDSZggAovg7v5tc+4h74xCWnU3wRjxssALztzGelXvbYjmsJwhIrLHpqCoGX+ngdune2BgywDDFrD0TPAs1gtAjwlk1fcICzzzuJiq86FmV0HZG9Vs/Pu710+m3LrQG6DXADvL7D8aT3ic25B8IrQd0vq5C9u0vXqSYDUAShetl2BNDlLqpXgkYeqIurZLkKYFAPHDXP+V+ffo+nrpscenqS2RB6I2F7YN4DPOPhKcqb/6I9cr51bY6J/Ofue9Mq+fXAAwcOMPFtme4JIu8B+g0NXX2/AKE+QIMDQOJnbOeOlx/QNSktL7gQVuVA9EC35+H3JueBYTxfmHKpAM//wb013tLl4n449EkkAhgo4xwTigBGAH0RsA7hbDweZ9ID2GOEerL9RNU2mKg3rPxYcACX3L+Pcxr9xHGe45A3AG2fL6RnnZvWUfEZPy8C+PCQbGssl/uF1h5o+3whOb61FcCgr7IP6x2wEUCThOtRxxpgNh5OMukThnCj98BsPF/YpAA2tAfe+Mz4QE+XhbXZ0OhDuMEBnn3/1IwRFPf7vMIJ9guPvPSqScQp62xcsySQPD420uAAA1kvCNk+X7ijenEgE/DXmY0eoO3zhbe1n1VYABcvWZMW0mPH3ZPWwa2bV3jmzWE/vpMtmDdNCuWKq8dpYS1Z+IhWPypZ/MxvUvry5vfCYQLcv38/72CrVq34OQJICDH1QIDXLvm6/ZqDjEOMAEYAM1IQdYesNkm5KvzpSef/sIsH5EDwtrlzfs0vjxz9W4LXZPplZV71TWzU5VITHSZ1sgqw03VXchu2PfNiBFA1GioPnLB0AwcHB4B8cGgPZQ6MPFASwnAJIMIB8HSzsAjRNnyhrUYfwiI8+Ozlgcgf148ms7UuPzVagAgBoaEnmnqh21NranbqWEnL165cZL1RYtIwPXiwLtB2ECp3e0tQgKoQbnIAX3p+GvxDVuUhC0+vSaTgAR4+7PzkIFvH4GHXBlKdsxAeeumoNH859esnkLF338GN/vk9k7XGv/DsdG0dmwpFRd5/31XpLi4uyk0OdAMEg/4wdTy366GHZ5BP/velZ/+bNU//xZBqJ0aVM3VwxR0XXV2xPFe7M7TzOf2sJpFOXbqm9avJAdSNqttDly5+PCehobMrX8q1MGwA4hKpZcvc5KOGgKoFGNQogIfgxM9B9eWrnBZgUA+MAIYw5FEIW0L84+cJPsP/rH1M6+mWTTWYeNY6BvAQnPi5wXqapYazBhDtLWR40MesAQzLA+HvzEGcJ2f7gUGMM5GJAJpQ8qgTAbQEGJZ4kw3hJg1w9+5anrjbti3J2iQTFuCG1iMFFAE0HxYK97qwRSXbWBXVqOo09e0tbYj63UwI4/E4HLh8eP5P54sRQB0hTbkWoF/9kQe6iEUh7O1C1h6YjecLTbw+V/e6OlsigDpC2c6BkQdajkAEsJEDbOjNhgbPgZOmTg00hPjwUKMHaPt8YemgERHAQASSQhFAyydcCxKgn+0s2+cLFy6YEciBc/X8n8446/1A2+cLX38+2CSSq+f/tABt9wN3fLBV14Zn+ZYNiwLJ5wvA/wNZnOiec960WQAAAABJRU5ErkJggg==" + } + ], + "animations": [ + { + "uuid": "c6b41e82-7a1e-3f50-038b-d3378700a04c", + "name": "ex_skill_1", + "loop": "hold", + "override": true, + "length": 5.25, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "e98e96cf-993b-878e-02b8-777c368bb888": { + "name": "Momoi", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "-30", + "z": "0" + } + ], + "uuid": "623936a6-4e7f-6dc1-649d-89acab5a4047", + "time": 0.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 5, + "y": "-30", + "z": 0 + } + ], + "uuid": "9a4fa19e-5247-ab42-2083-db2b15505570", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 5, + "y": "-30", + "z": 0 + } + ], + "uuid": "32b90f8c-29d8-df40-ce7a-96cbd1fdf12a", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 15, + "y": "-30", + "z": 0 + } + ], + "uuid": "482d9143-147e-0490-5f4f-91c12b2d8d17", + "time": 1.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "-50", + "z": 0 + } + ], + "uuid": "64fa4291-a71e-156b-04b2-72d2bc07a75f", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -50, + "z": 0 + } + ], + "uuid": "f8a8c4d4-94e4-aef5-79ca-8a586d96c7e7", + "time": 2.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "10", + "y": -50, + "z": 0 + } + ], + "uuid": "f29463fc-6307-46f0-01bc-e4f36736206f", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": -50, + "z": 0 + } + ], + "uuid": "1a658b5e-204b-8219-7ea4-83e7dab82062", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "-50", + "z": 0 + } + ], + "uuid": "05a7b1e5-e995-bb75-2a29-589ceec64820", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "-30", + "z": 0 + } + ], + "uuid": "a2b26eac-a9d6-57d5-7ea5-87a1af33e34f", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -9, + "y": -10, + "z": "0" + } + ], + "uuid": "a9ad037c-9443-a7a3-7d65-e14c5b468b90", + "time": 0.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -9.25, + "y": -10, + "z": 1 + } + ], + "uuid": "c3d901bf-3e7d-3b4d-51be-b16b1ab631f0", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -9.25, + "y": -10, + "z": 1 + } + ], + "uuid": "441af653-88b2-f14e-217a-3694627fb8c6", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -9.75, + "y": -9.5, + "z": 2.75 + } + ], + "uuid": "24e498fc-359d-9934-e8b2-6f70799c90c3", + "time": 1.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -9.75, + "y": -0.5, + "z": -2.25 + } + ], + "uuid": "c69f0d6f-dc14-d2ff-d271-437301092dad", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -9.75, + "y": 0, + "z": -2.25 + } + ], + "uuid": "44a1874b-c8ef-8e03-7475-5249418dbd37", + "time": 2.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -11.25, + "y": 0.25, + "z": -1 + } + ], + "uuid": "03ae7e6e-5bf7-6f30-206a-08885a36218d", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -11.25, + "y": 0.25, + "z": -1 + } + ], + "uuid": "4fdefb34-ae9d-d907-9235-e5a81fdd1f7a", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -9.75, + "y": 0, + "z": -2.25 + } + ], + "uuid": "cb2dd8b1-33bd-35ad-0fdb-31a3369c5c75", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -9, + "y": -10, + "z": 0 + } + ], + "uuid": "dc3b5847-36ca-8eee-4c2b-ef1eeb6c5343", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "22d40862-bd19-a16d-9e33-79364e6656d8": { + "name": "MomoiHead", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 30, + "y": "0", + "z": "0" + } + ], + "uuid": "8baf9320-cf15-1f1e-045c-75e497647bf6", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 30, + "y": 0, + "z": 0 + } + ], + "uuid": "a75eb7ce-aff6-38c2-2cd0-d7be8b3240f5", + "time": 0.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 40, + "y": 0, + "z": 0 + } + ], + "uuid": "f6e0b729-56dc-54f5-c353-e5da61b75b79", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 40, + "y": 0, + "z": 0 + } + ], + "uuid": "e02684cd-4d24-30dd-982a-34b377a13bd0", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 22.32648, + "y": -2.86313, + "z": 6.93488 + } + ], + "uuid": "1140c065-2b20-5c30-d7df-3698961fa454", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "22.5", + "y": "0", + "z": "0" + } + ], + "uuid": "7d2354b1-793e-94f9-a625-db6c6df06c03", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 22.5, + "y": 0, + "z": 0 + } + ], + "uuid": "c6449688-fa51-03bd-6a02-f31be84815d3", + "time": 2.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 22.99008, + "y": -11.53486, + "z": -4.8493 + } + ], + "uuid": "e920f32d-1d9b-021d-f947-7c5290a4a09e", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10.49, + "y": -11.53, + "z": -4.85 + } + ], + "uuid": "861529cd-0ad7-d807-a6ae-c52d8b5754af", + "time": 2.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 22.99008, + "y": -11.53486, + "z": -4.8493 + } + ], + "uuid": "01173aca-083c-632c-f943-d5269b3c0bc8", + "time": 2.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 22.99, + "y": -11.53, + "z": -4.85 + } + ], + "uuid": "8377f4a6-e813-0671-bdd4-c074bb519479", + "time": 2.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 8.2796, + "y": -18.95477, + "z": -5.94919 + } + ], + "uuid": "3679cebd-1a1d-e460-d047-5b2286549aea", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "8f24792e-7ef8-0b12-9dcc-81436fb8d600": { + "name": "GameConsole2", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 117.5, + "y": 0, + "z": 0 + } + ], + "uuid": "7570f3f6-2a3f-3f49-3fef-c87f79b1b1c9", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 117.86082, + "y": -8.86042, + "z": -4.65468 + } + ], + "uuid": "44e66ec0-fb8a-f903-4867-80e662475c8e", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 117.52235, + "y": -2.21738, + "z": -1.15495 + } + ], + "uuid": "0e268ebe-6e6d-c419-53bd-dd0798ebc854", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 117.52235, + "y": -2.21738, + "z": -1.15495 + } + ], + "uuid": "a65b8cfd-cf4b-df57-7886-8006947571e3", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 117.5, + "y": 0.04, + "z": 0.02 + } + ], + "uuid": "29e29cd0-001a-e15e-38b7-a5271eb8b016", + "time": 0.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 117.52054, + "y": -2.1274, + "z": -1.10488 + } + ], + "uuid": "7051a88b-263e-c070-61e9-37ba669b0ce9", + "time": 0.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 117.5, + "y": 0.15, + "z": 0.08 + } + ], + "uuid": "1c240de6-bcae-bbd5-1740-d37640a3db82", + "time": 0.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 117.51792, + "y": -1.99742, + "z": -1.03479 + } + ], + "uuid": "a64c3f36-b580-04d1-3024-c5ae718f597d", + "time": 0.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 117.5, + "y": 0.31, + "z": 0.17 + } + ], + "uuid": "ef0041be-45d9-e8f2-51d3-f7d76bf789db", + "time": 0.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 117.50348, + "y": -1.77767, + "z": -0.92425 + } + ], + "uuid": "90cde731-bb06-5ef7-b53c-ed60002acaee", + "time": 0.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 117.48, + "y": 0.6, + "z": 0.31 + } + ], + "uuid": "faeb5835-4844-6693-347f-42b51eacb0e4", + "time": 0.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 117.48864, + "y": -1.53792, + "z": -0.80372 + } + ], + "uuid": "d7353eff-ab7e-0d7c-17b7-5c36aa1cf3b3", + "time": 0.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 117.57, + "y": -2.27, + "z": -1.19 + } + ], + "uuid": "a6e19466-c781-c2ad-2c47-02dfadc170ea", + "time": 0.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 117.61, + "y": -3.6, + "z": -1.88 + } + ], + "uuid": "2df5b8b1-8b54-89f9-124a-ee6e26361421", + "time": 1.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 117.5, + "y": 0, + "z": 0 + } + ], + "uuid": "a55cc00c-ce91-8012-4160-910d8d9743d0", + "time": 1.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 117.52235, + "y": -2.21738, + "z": -1.15495 + } + ], + "uuid": "56537cdc-dc08-1e82-5d8c-7f30331ba7f5", + "time": 1.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 117.5, + "y": 0, + "z": 0 + } + ], + "uuid": "ad6ae8a0-8170-26b4-6860-e2a05356a307", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 117.52235, + "y": -2.21738, + "z": -1.15495 + } + ], + "uuid": "2f1891d1-6983-3fd7-c7d0-2b7f6fc8b5a9", + "time": 1.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 117.5, + "y": 0, + "z": 0 + } + ], + "uuid": "74e83018-89fc-5f1e-69df-12477751d105", + "time": 1.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": -2, + "z": -1.5 + } + ], + "uuid": "1ddff1ee-2468-d86d-3ebd-4994c4d00c33", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3ef4a513-6419-fc26-408e-8f2b4dea9387": { + "name": "MomoiSkirt", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": "0", + "z": "0" + } + ], + "uuid": "12eb658d-1621-c0c6-0e8d-d75df51c974a", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": 0, + "z": 0 + } + ], + "uuid": "8ac93517-9381-6624-7d68-171e36bef033", + "time": 1.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "3bf9029b-f763-078f-d73b-e7d163f15ca0", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "79b535c2-2c38-908f-eb89-f686ed19e297", + "time": 2.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": 0, + "z": 0 + } + ], + "uuid": "1c4741f5-b734-bb6d-9e8a-bac99bbe5f29", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": 0, + "z": 0 + } + ], + "uuid": "6ad703e7-22c2-0f10-b585-3b04fb65042f", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "f1b462ce-370f-6ea5-c3fb-599857e9038b", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3c1cb66d-8a31-d31f-ec9f-65a33e313a53": { + "name": "MomoiRightArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -40, + "y": "0", + "z": "0" + } + ], + "uuid": "d387e9b9-d9bc-e77f-8a76-c107098f7ac6", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -40, + "y": 0, + "z": 0 + } + ], + "uuid": "acdd5b33-db74-5e41-3bb5-acbfc94a8d3d", + "time": 0.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -25, + "y": 0, + "z": 0 + } + ], + "uuid": "ba85a44e-6352-208f-77ea-aefb340c1ed8", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -25, + "y": 0, + "z": 0 + } + ], + "uuid": "796404ae-1539-1870-e264-8c84a593a521", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -37.5, + "y": 0, + "z": 0 + } + ], + "uuid": "e48e8453-95c2-8882-cb77-381a21c36602", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -25, + "y": 0, + "z": 0 + } + ], + "uuid": "434c9d5f-b513-2684-9f3c-bdba826846b1", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -42.5, + "y": 0, + "z": 0 + } + ], + "uuid": "2d953e4d-62da-1ee1-cdf5-a619dc67a19b", + "time": 1.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -25, + "y": 0, + "z": 0 + } + ], + "uuid": "3fea127a-8dae-0b86-7137-9521d5c00811", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 10 + } + ], + "uuid": "62c8af7c-7104-52ea-b0e9-f872baa601e2", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -140.43131, + "y": 6.40865, + "z": -7.69263 + } + ], + "uuid": "f2905f14-cd8c-bc75-8781-4e95294d5bfa", + "time": 2.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -140.43, + "y": 6.41, + "z": -7.69 + } + ], + "uuid": "0fa2ae28-0b2e-be10-d6e6-988624e49461", + "time": 2.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -153.94179, + "y": 15.82123, + "z": -25.70019 + } + ], + "uuid": "6f6e4d37-87bb-b208-b621-99203bca30c4", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -92.49679, + "y": 19.9023, + "z": 0.87947 + } + ], + "uuid": "b17ac137-4cba-a68d-40b3-0b12d838bacb", + "time": 2.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -153.94179, + "y": 15.82123, + "z": -25.70019 + } + ], + "uuid": "b676a3f3-35c4-07aa-769f-2c668b6011f3", + "time": 2.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -153.94, + "y": 15.82, + "z": -25.7 + } + ], + "uuid": "174d3a61-2ddd-9827-9522-44eb6406dc56", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -2.61032, + "y": -1.29977, + "z": 9.91389 + } + ], + "uuid": "4a6bcd74-3871-80f2-cecd-a7d00cebc444", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -2.61032, + "y": -1.29977, + "z": 9.91389 + } + ], + "uuid": "732c3178-5eb9-885f-089a-c77c9945ca6e", + "time": 6.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -2.71358, + "y": -1.06741, + "z": 14.90956 + } + ], + "uuid": "24a368dd-d3f6-d53b-910f-12a7b6c9057f", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "b924539e-1292-1a17-6240-a525ae346090": { + "name": "MomoiRightArmBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -22.5, + "y": "0", + "z": "0" + } + ], + "uuid": "3c60a439-ed6a-36b2-1d82-a434aa699790", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -22.5, + "y": 0, + "z": 0 + } + ], + "uuid": "eac2d982-34e4-3c1e-98ee-f3f64a14c4ce", + "time": 0.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": 0, + "z": 0 + } + ], + "uuid": "d33f3d7f-3bf4-9e46-f241-f1fcb3bc566d", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": 0, + "z": 0 + } + ], + "uuid": "2aea21b0-2e86-a779-01d5-3d360324bfc2", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -55, + "y": 0, + "z": 0 + } + ], + "uuid": "5fbf579f-e20a-2a24-972a-8949781f74e6", + "time": 1.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "cd8c2c0a-2d43-2b26-828c-ee48971b9052", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "4cf29f99-c321-a64e-f914-0e488a516485", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -60, + "y": 0, + "z": 0 + } + ], + "uuid": "4f558be7-0d3c-7fbc-e595-d9bb0877e85d", + "time": 2.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "e2d5ed33-ba3d-b0f7-900d-0adf6e40ec16", + "time": 2.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "ed78e6d4-653d-126f-ea5a-a205d31adc67", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30, + "y": 0, + "z": 0 + } + ], + "uuid": "b1f1d510-be65-385d-a60f-aaab0c0e7546", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -19.65, + "y": 0, + "z": 0 + } + ], + "uuid": "6232fc06-923d-c354-982b-49a399b6dfe1", + "time": 0.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -21.7, + "y": 0, + "z": 0 + } + ], + "uuid": "86f02fe4-58e2-c792-fc55-844cb07b265b", + "time": 0.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -18.63, + "y": 0, + "z": 0 + } + ], + "uuid": "6d84f5b6-2f1e-8095-b13b-3cc58c1526bc", + "time": 0.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -20.38, + "y": 0, + "z": 0 + } + ], + "uuid": "1ee493f9-bb88-57ef-0892-b737a6115449", + "time": 0.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -17.02, + "y": 0, + "z": 0 + } + ], + "uuid": "4635095e-99e5-b4d2-b613-f753993ae819", + "time": 0.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -41.22, + "y": 0, + "z": 0 + } + ], + "uuid": "afdf86a1-bc5e-e802-fdd1-35e5525b0529", + "time": 0.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -52.69, + "y": 0, + "z": 0 + } + ], + "uuid": "8f757ee4-1308-c5c6-20a1-01031c859757", + "time": 0.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50.16, + "y": 0, + "z": 0 + } + ], + "uuid": "3edaac11-ed9a-be9f-59e6-80599319d624", + "time": 0.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -52.62, + "y": 0, + "z": 0 + } + ], + "uuid": "5e187e16-0854-ddcd-40b8-500665396ff1", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50.07, + "y": 0, + "z": 0 + } + ], + "uuid": "7f333066-f166-989b-3996-8f5f5a62c3ca", + "time": 1.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -52.51, + "y": 0, + "z": 0 + } + ], + "uuid": "f3d8959e-85ce-46b2-96e4-b0e7cdbbe7c1", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -49.94, + "y": 0, + "z": 0 + } + ], + "uuid": "c5cff066-8a7a-8368-ead2-9ad5c4579052", + "time": 1.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -52.35, + "y": 0, + "z": 0 + } + ], + "uuid": "13a5f91e-0f33-2f95-3946-c73c54423e99", + "time": 1.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -49.73, + "y": 0, + "z": 0 + } + ], + "uuid": "be57e445-c1a2-30ee-be67-1f9e7871fc06", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -52.08, + "y": 0, + "z": 0 + } + ], + "uuid": "0579ead9-2599-8a9a-24df-4fd8099bde97", + "time": 1.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -49.5, + "y": 0, + "z": 0 + } + ], + "uuid": "676e273c-62e6-3fea-dc84-0880956fb0a3", + "time": 1.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e7d3e5d8-00e4-587c-7bb6-6787db00054b": { + "name": "MomoiLeftArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -40, + "y": "0", + "z": "0" + } + ], + "uuid": "678c88e4-30d9-f912-1b85-909f25a30f46", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -40, + "y": 0, + "z": 0 + } + ], + "uuid": "3656a5ae-8ff9-e1fb-63c9-6bd7697011ae", + "time": 0.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -25, + "y": 0, + "z": 0 + } + ], + "uuid": "d76f7a29-57cb-bf1f-4ea5-2375628a2603", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -25, + "y": 0, + "z": 0 + } + ], + "uuid": "263c7e8f-130a-f35a-d44f-35aca8909688", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -42.5, + "y": 0, + "z": 0 + } + ], + "uuid": "c9b28b09-387d-dbff-6be0-8a0e87d95d81", + "time": 1.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": -10 + } + ], + "uuid": "79aa1d00-69f2-9bd3-30c2-ccc21c256453", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -140.43131, + "y": -6.40865, + "z": 7.69263 + } + ], + "uuid": "feae04ac-d770-8f6e-0864-82a71b5dd165", + "time": 2.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -140.43, + "y": -6.41, + "z": 7.69 + } + ], + "uuid": "ee267310-1542-65ed-ea56-efbf58ca66b0", + "time": 2.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -153.94179, + "y": -15.82123, + "z": 25.70019 + } + ], + "uuid": "ea62ac12-8d39-c214-fc0d-eb7402c1db42", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -92.49679, + "y": -19.9023, + "z": -0.87947 + } + ], + "uuid": "7c7957f5-2bb1-acc5-43ea-84b4838a6f2f", + "time": 2.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -153.94179, + "y": -15.82123, + "z": 25.70019 + } + ], + "uuid": "e36e45a0-646d-b1d9-58e9-371a2f664a81", + "time": 2.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -153.94, + "y": -15.82, + "z": 25.7 + } + ], + "uuid": "4462999c-344e-0610-cf71-5e2acac09a0c", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -2.61032, + "y": 1.29977, + "z": -9.91389 + } + ], + "uuid": "e9994946-d31e-efbb-b579-779c1e27d607", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -2.61032, + "y": 1.29977, + "z": -9.91389 + } + ], + "uuid": "7f9d930b-b09d-6808-54a2-884b1a54ea2c", + "time": 6.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -2.71358, + "y": 1.06741, + "z": -14.90956 + } + ], + "uuid": "267a44af-cb70-b283-a895-de8aa3b7aee5", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ad1c45ef-c0a8-6d31-d2dc-fbdc6ab7ddcc": { + "name": "MomoiLeftArmBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -20, + "y": "0", + "z": "0" + } + ], + "uuid": "a6667a0d-488c-1946-059a-db7881890bd7", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -20, + "y": 0, + "z": 0 + } + ], + "uuid": "fcfc5548-0a7d-8b2a-b89a-cc1e0d471a12", + "time": 0.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": 0, + "z": 0 + } + ], + "uuid": "52e5e381-fddf-ccf0-251b-4464c5a21e6c", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": 0, + "z": 0 + } + ], + "uuid": "750fa952-791b-c0b2-0598-8bd26db01338", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -55, + "y": 0, + "z": 0 + } + ], + "uuid": "53fc2bf2-8751-71e7-ef6a-a2509ffe2856", + "time": 1.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "d032d1a2-795a-b068-1f7d-1b9b3d91095f", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "9b8f5484-e355-122a-38d6-ce1e0b04b432", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -60, + "y": 0, + "z": 0 + } + ], + "uuid": "2a9e31a9-0ee3-7252-d45e-287c446599d6", + "time": 2.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "ff16a36e-161a-5b0a-5376-33a1bcf6ce51", + "time": 2.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "7e2446f0-51cd-3d7a-d41a-fc1568a0fff9", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30, + "y": 0, + "z": 0 + } + ], + "uuid": "6e1a2862-fbf3-e5a3-90a2-ed70e8ad5a5e", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "2f61e368-1c06-648e-26d4-aee94647e4da": { + "name": "MomoiLowerBody", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -5, + "y": "0", + "z": "0" + } + ], + "uuid": "8c2ac767-3127-6611-ae7f-955bb2f6041d", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "32e9b3df-d786-67e3-25f1-e105e8467c80", + "time": 0.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -5, + "y": 0, + "z": 0 + } + ], + "uuid": "a4fd5a32-4708-bf5c-c054-992582845794", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 0, + "z": 0 + } + ], + "uuid": "a3c6c440-c379-793d-e5d9-9ce87afbd949", + "time": 1.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "72fc0c82-e082-9fd2-20f1-e0bcd2aaa1d1", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "21d58add-f1a8-1c13-b77d-9b746fa7c307", + "time": 2.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-10", + "y": 0, + "z": 0 + } + ], + "uuid": "aaabd958-8670-cd90-5092-53f099932577", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-10", + "y": 0, + "z": 0 + } + ], + "uuid": "57678333-dd46-91d3-3aca-3930da1533c9", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "1e7269c4-7435-dac8-3669-483d8eb59f00", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "4e80b5b4-7c04-8374-f8a7-526b3d36d050": { + "name": "MomoiRightLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -79.84892, + "y": 9.84655, + "z": 1.75378 + } + ], + "uuid": "83cf2a5a-1e6e-7959-4a7e-56f788ad367a", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -79.85, + "y": 9.85, + "z": 1.75 + } + ], + "uuid": "2a417fcd-25aa-877a-5b85-6cc7b8df9f5b", + "time": 1.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 5 + } + ], + "uuid": "6a57365f-c385-42b9-ec53-3c7c1fa96998", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "84fe0b3a-286b-e17f-288e-c39feaa2e5e6": { + "name": "MomoiRightLegBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 90, + "y": -70, + "z": 50 + } + ], + "uuid": "b01580b7-c755-b5ba-1a17-6ef6098508df", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "7adcc06e-c389-68f1-c6c8-cc0109794e00", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 90, + "y": -70, + "z": 50 + } + ], + "uuid": "4c98e97c-e4d3-94b4-c785-a6f74a726f8e", + "time": 1.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "73b3d6bc-af0b-a066-5d73-f3938109e11f": { + "name": "MomoiLeftLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -79.84892, + "y": -9.84655, + "z": -1.75378 + } + ], + "uuid": "ff002049-eb99-1798-e37d-885f8c0810d0", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -79.85, + "y": -9.85, + "z": -1.75 + } + ], + "uuid": "4c667f2a-1668-0abf-085b-a366da98039a", + "time": 1.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": -5 + } + ], + "uuid": "d3871938-012c-1a19-5a1c-4f7686c74dd0", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ee9973d4-ff4e-c96b-64f6-d1f28afd69c6": { + "name": "MomoiLeftLegBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 90, + "y": 70, + "z": "-50" + } + ], + "uuid": "69518858-6dee-2252-5145-c640cb226b76", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 90, + "y": 70, + "z": -50 + } + ], + "uuid": "932ebd5e-4cc4-72bc-7ddf-5d9de9db6fe5", + "time": 1.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "308e877c-5079-0a5c-2007-9b48a6d19567", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "809b49f8-db80-0544-0448-7a757616653e": { + "name": "GameConsole1", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 105, + "y": "0", + "z": "0" + } + ], + "uuid": "5e1f7619-53f0-28da-b6b0-ad85d1934806", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "106.25", + "y": 0, + "z": 0 + } + ], + "uuid": "8cbcef7d-9111-04b0-cad4-ae10bdaf56e5", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 105.0547, + "y": -4.82922, + "z": -1.29717 + } + ], + "uuid": "5f48c876-9642-c262-3ad7-07a7c0b94217", + "time": 1.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 105.05, + "y": -4.83, + "z": -1.3 + } + ], + "uuid": "ed217df7-79df-7755-8dd7-8106deb1af13", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 105.50409, + "y": 14.47751, + "z": 3.96713 + } + ], + "uuid": "11442521-3177-be6c-4d32-c96b33322ef9", + "time": 1.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 105.5, + "y": 14.48, + "z": 3.97 + } + ], + "uuid": "abe19e95-2ea6-567c-67d1-8177e33a1684", + "time": 1.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 125, + "y": 0, + "z": 0 + } + ], + "uuid": "f5175c94-db1b-a2cc-8768-08b118071028", + "time": 2.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 125, + "y": 0, + "z": 0 + } + ], + "uuid": "58b889fc-95c9-8e5d-9ea2-8f099497bf01", + "time": 2.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 155, + "y": 0, + "z": 0 + } + ], + "uuid": "d44f99e0-8028-0531-ebcd-d9048026b167", + "time": 2.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 105.01331, + "y": -2.38477, + "z": -0.63742 + } + ], + "uuid": "3d664347-6a71-d1aa-316f-6bb7be9e25cd", + "time": 0.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 105, + "y": 0.07, + "z": 0.02 + } + ], + "uuid": "81837ccd-c2d8-90cc-5d09-478515e80278", + "time": 0.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 105.0124, + "y": -2.30477, + "z": -0.61738 + } + ], + "uuid": "839a8304-ee45-8f08-b136-cce31851afb7", + "time": 0.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 105, + "y": 0.16, + "z": 0.04 + } + ], + "uuid": "10882834-7652-e39a-431a-f27a16c7c8a0", + "time": 0.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 105.01104, + "y": -2.18478, + "z": -0.58733 + } + ], + "uuid": "db0f45ee-ac13-a344-b6f8-369070b751ee", + "time": 0.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 105, + "y": 0.32, + "z": 0.08 + } + ], + "uuid": "7acaa8e5-af9a-b646-a75e-987bc294cb27", + "time": 0.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 105.00867, + "y": -1.97479, + "z": -0.53724 + } + ], + "uuid": "a53a6a7d-d862-f4a0-12e4-3edfc47e1d7a", + "time": 0.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 105, + "y": 0.49, + "z": 0.13 + } + ], + "uuid": "af23c837-f15f-6c31-7f2e-b3d3bfdbe21f", + "time": 0.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 105.03521, + "y": -3.43458, + "z": -0.91844 + } + ], + "uuid": "3768378a-64a9-4fe7-d6a2-89cfd5df173a", + "time": 0.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 105.04, + "y": -3.74, + "z": -1 + } + ], + "uuid": "975d57bd-856c-5fdb-01ea-b1a2ce5ee9d1", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 105.11799, + "y": -8.04395, + "z": -2.17499 + } + ], + "uuid": "f1e9a401-c7cf-d673-e8bd-8ff2f8453e17", + "time": 1.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 105.16347, + "y": -3.26312, + "z": -0.86381 + } + ], + "uuid": "bb16d8b2-878f-8412-2819-9c3754e965e4", + "time": 1.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 105.25, + "y": 3.99, + "z": 1.11 + } + ], + "uuid": "c82b6cc4-439a-9c85-bdc8-e52816ba56cc", + "time": 1.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 105.28315, + "y": 7.12894, + "z": 1.95198 + } + ], + "uuid": "d4a93556-40d8-4066-f485-08389097072c", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 104.42019, + "y": 13.10961, + "z": 3.61402 + } + ], + "uuid": "6dfaad0d-83ce-b4ac-a19d-d7e79d9338a9", + "time": 1.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 103.75, + "y": 15.9, + "z": 4.36 + } + ], + "uuid": "1d69d2b5-8041-737c-e4de-a24318e4d520", + "time": 1.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": -1.75, + "z": -1 + } + ], + "uuid": "2aad0d15-d3bd-5713-c567-0270b8422e82", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": -1.75, + "z": -1 + } + ], + "uuid": "3674c5c4-8178-8e07-1051-27adac9b1c06", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": -1.75, + "z": 0 + } + ], + "uuid": "27b280f4-0027-a448-a0c0-99def7ac1e37", + "time": 1.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": -1.75, + "z": 0 + } + ], + "uuid": "00dd14d3-5ebc-bd05-b670-7208a0781b0a", + "time": 1.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": -1.75, + "z": -1 + } + ], + "uuid": "bbb152d8-49c7-73cc-7bec-8bb2204285a3", + "time": 2.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3d2b3a9b-6454-a7fd-e0ae-a90624029e9c": { + "name": "TextAnchor", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "-10" + } + ], + "uuid": "4557a41e-eb5c-1f34-f03d-0916c2b757ce", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "77b0698d-354e-2766-cc9e-0cab2721f494", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-8", + "y": 0, + "z": 0 + } + ], + "uuid": "6b480500-c5d1-7d86-9da1-44099669d200", + "time": 3.75, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.04667, + -0.05, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.04667, + 0.05, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "100", + "y": "17.6", + "z": 0 + } + ], + "uuid": "5f80d5e8-f879-8cf8-61bf-2b97fa9b6136", + "time": 4.5, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.79, + -0.8, + -0.1 + ], + "bezier_left_value": [ + 0, + -0.54822, + 0 + ], + "bezier_right_time": [ + 0.79, + 0.8, + 0.1 + ], + "bezier_right_value": [ + 0, + 0.54822, + 0 + ] + } + ] + }, + "c16d1dc5-b066-1f1d-40fb-7d2a283e6bf4": { + "name": "Sweat", + "type": "bone", + "keyframes": [ + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "ac506bff-de75-c0c3-2f4c-729cec261f91", + "time": 2.25, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "cdd72d50-3357-b605-75b5-f958b0f1e8a9", + "time": 2.6, + "color": -1, + "uniform": true, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "ef3be240-6405-044a-5207-b929308b052d", + "time": 3.15, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "17a06db5-3961-4756-fc2b-a907b5af7731": { + "name": "MidoriUI", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "52caf8ea-95e5-807b-9f74-78a2983083b2", + "time": 1.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -1, + "y": -1, + "z": 0 + } + ], + "uuid": "11560d4a-829f-c9b3-0475-420f5701047c", + "time": 1.15, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "1", + "y": "1", + "z": 0 + } + ], + "uuid": "5e7b8f53-f7a8-bfe1-c6a5-d8eb106ad54c", + "time": 1.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -1, + "y": -1, + "z": 0 + } + ], + "uuid": "eabbfb23-1a23-575d-29a1-3aad695da3c1", + "time": 1.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "1", + "y": "1", + "z": 0 + } + ], + "uuid": "23252eda-7b82-509c-388d-774860d9f43f", + "time": 1.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -1, + "y": -1, + "z": 0 + } + ], + "uuid": "f7551a6e-2863-7429-3b38-61c2c79a592f", + "time": 1.35, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "1", + "y": "1", + "z": 0 + } + ], + "uuid": "33d25cfa-b4bd-59be-61d9-e0b220c4e309", + "time": 1.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -1, + "y": -1, + "z": 0 + } + ], + "uuid": "8721d8a5-78a1-dea0-438c-27f41375fe6d", + "time": 1.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "1", + "y": "1", + "z": 0 + } + ], + "uuid": "e9f32d96-8fee-4002-a3e9-d9633d888289", + "time": 1.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -1, + "y": -1, + "z": 0 + } + ], + "uuid": "c9e3b9a3-d257-5ae2-012d-b3d7630114e8", + "time": 1.55, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "1", + "y": "1", + "z": 0 + } + ], + "uuid": "5a5b2bcb-d9a8-e8b0-9d2d-132d381f5e29", + "time": 1.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -1, + "y": -1, + "z": 0 + } + ], + "uuid": "c4681852-fa7d-b21d-89d4-4aa721cda93c", + "time": 1.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "1", + "y": "1", + "z": 0 + } + ], + "uuid": "51aea3e7-ecec-8915-7e15-3ad86ef287ee", + "time": 1.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -1, + "y": -1, + "z": 0 + } + ], + "uuid": "d4c74c4b-e547-c907-5918-064c55706e67", + "time": 1.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "1", + "y": "1", + "z": 0 + } + ], + "uuid": "0d6c1230-1417-dee6-b741-8c2632836141", + "time": 1.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "ba1d2646-1dd4-2f54-0e98-a9d8358ccd57", + "time": 1.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "b2eaf076-31e8-ed4a-3fc3-3260555c88e1": { + "name": "RedBar", + "type": "bone", + "keyframes": [ + { + "channel": "scale", + "data_points": [ + { + "x": "0.6", + "y": "1", + "z": "1" + } + ], + "uuid": "9e2b5a21-e17b-3114-c8d9-d65b13ce4e4f", + "time": 0, + "color": -1, + "uniform": false, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 0.6, + "y": 1, + "z": 1 + } + ], + "uuid": "70ba9322-ff3d-2c8b-12fe-bd60791405e7", + "time": 1.85, + "color": -1, + "uniform": false, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.40437, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.40437, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": 1, + "z": 1 + } + ], + "uuid": "3d240751-435c-784f-f041-82ff3edce82e", + "time": 2.35, + "color": -1, + "uniform": false, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.40437, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.40437, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "1eea0af8-5388-011f-39de-16aef54e733b": { + "name": "YellowBar", + "type": "bone", + "keyframes": [ + { + "channel": "scale", + "data_points": [ + { + "x": "0.6", + "y": "1", + "z": "1" + } + ], + "uuid": "34186208-45bc-814d-4e13-23bbe6f0aaca", + "time": 0, + "color": -1, + "uniform": false, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0.5", + "y": 1, + "z": 1 + } + ], + "uuid": "d475f872-edfe-131c-c476-053a1d7d9ca9", + "time": 1.1, + "color": -1, + "uniform": false, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0.45", + "y": 1, + "z": 1 + } + ], + "uuid": "a6886e5a-4238-298e-4170-39e276ce46b6", + "time": 1.2, + "color": -1, + "uniform": false, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0.35", + "y": 1, + "z": 1 + } + ], + "uuid": "64349d9f-7bee-9a2e-6f30-c3967c06b683", + "time": 1.3, + "color": -1, + "uniform": false, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0.3", + "y": 1, + "z": 1 + } + ], + "uuid": "97dbec39-deb4-dda5-ab05-4012cabaff99", + "time": 1.4, + "color": -1, + "uniform": false, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0.2", + "y": 1, + "z": 1 + } + ], + "uuid": "14e2a470-5dc2-43fa-8202-805942505b08", + "time": 1.5, + "color": -1, + "uniform": false, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0.15", + "y": 1, + "z": 1 + } + ], + "uuid": "fb782cec-5ef6-f96f-70ae-3ac9b20962ef", + "time": 1.6, + "color": -1, + "uniform": false, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0.05", + "y": 1, + "z": 1 + } + ], + "uuid": "c75bed4b-2225-9c7c-d4dc-fbe2b838e8bc", + "time": 1.7, + "color": -1, + "uniform": false, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": 1, + "z": 1 + } + ], + "uuid": "c22f799d-dbc5-0d9c-9496-21b4f39c76c7", + "time": 1.8, + "color": -1, + "uniform": false, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Midori/models/ex_skill_2.bbmodel b/config/yosbr/config/figura/avatars/Midori/models/ex_skill_2.bbmodel new file mode 100644 index 0000000..eb35f2f --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/models/ex_skill_2.bbmodel @@ -0,0 +1,46471 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "ex_skill_2", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 16, + "height": 16 + }, + "elements": [ + { + "name": "PillagerHead", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 24, + -4 + ], + "to": [ + 4, + 34, + 4 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 8, + 16, + 18 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 8, + 8, + 18 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 8, + 32, + 18 + ], + "texture": 0 + }, + "west": { + "uv": [ + 16, + 8, + 24, + 18 + ], + "texture": 0 + }, + "up": { + "uv": [ + 16, + 8, + 8, + 0 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 0, + 16, + 8 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "6af197e3-d992-27ef-5dc3-ac58a419c173" + }, + { + "name": "Sunglasses", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 27, + -4 + ], + "to": [ + 4, + 28.25, + 4 + ], + "autouv": 0, + "color": 0, + "inflate": 0.5, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 0, + 16, + 2 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 8, + 2 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 1 + }, + "west": { + "uv": [ + 8, + 0, + 0, + 2 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "def68b07-61fe-3adf-f735-d9d22e68e466" + }, + { + "name": "PillagerNose", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 23, + -6 + ], + "to": [ + 1, + 27, + -4 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 26, + 2, + 28, + 6 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 2, + 26, + 6 + ], + "texture": 0 + }, + "south": { + "uv": [ + 30, + 2, + 32, + 6 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 2, + 30, + 6 + ], + "texture": 0 + }, + "up": { + "uv": [ + 28, + 2, + 26, + 0 + ], + "texture": 0 + }, + "down": { + "uv": [ + 30, + 0, + 28, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "719bb1c6-396f-55d8-0ee8-65e257693933" + }, + { + "name": "PillagerBody", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 12, + -3 + ], + "to": [ + 4, + 24, + 3 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 20 + ], + "faces": { + "north": { + "uv": [ + 22, + 26, + 30, + 38 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 26, + 22, + 38 + ], + "texture": 0 + }, + "south": { + "uv": [ + 36, + 26, + 44, + 38 + ], + "texture": 0 + }, + "west": { + "uv": [ + 30, + 26, + 36, + 38 + ], + "texture": 0 + }, + "up": { + "uv": [ + 30, + 26, + 22, + 20 + ], + "texture": 0 + }, + "down": { + "uv": [ + 38, + 20, + 30, + 26 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "3e72b43d-9462-9d16-2cc4-d3c104feb441" + }, + { + "name": "PillagerLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 6, + -3 + ], + "to": [ + 4, + 24, + 3 + ], + "autouv": 0, + "color": 0, + "inflate": 0.5, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 38 + ], + "faces": { + "north": { + "uv": [ + 6, + 44, + 14, + 62 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 44, + 6, + 62 + ], + "texture": 0 + }, + "south": { + "uv": [ + 20, + 44, + 28, + 62 + ], + "texture": 0 + }, + "west": { + "uv": [ + 14, + 44, + 20, + 62 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 44, + 6, + 38 + ], + "texture": 0 + }, + "down": { + "uv": [ + 22, + 38, + 14, + 44 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c507b204-2d07-8c3c-0e65-304eb8b53a09" + }, + { + "name": "PillagerRightArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 8, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 46 + ], + "faces": { + "north": { + "uv": [ + 44, + 50, + 48, + 62 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 50, + 44, + 62 + ], + "texture": 0 + }, + "south": { + "uv": [ + 52, + 50, + 56, + 62 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 50, + 52, + 62 + ], + "texture": 0 + }, + "up": { + "uv": [ + 48, + 50, + 44, + 46 + ], + "texture": 0 + }, + "down": { + "uv": [ + 52, + 46, + 48, + 50 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c14b4eff-d83a-4628-9334-6737e6f8ed45" + }, + { + "name": "PillagerLeftArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 12, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "mirror_uv": true, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 46 + ], + "faces": { + "north": { + "uv": [ + 48, + 50, + 44, + 62 + ], + "texture": 0 + }, + "east": { + "uv": [ + 52, + 50, + 48, + 62 + ], + "texture": 0 + }, + "south": { + "uv": [ + 56, + 50, + 52, + 62 + ], + "texture": 0 + }, + "west": { + "uv": [ + 44, + 50, + 40, + 62 + ], + "texture": 0 + }, + "up": { + "uv": [ + 44, + 50, + 48, + 46 + ], + "texture": 0 + }, + "down": { + "uv": [ + 48, + 46, + 52, + 50 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5e11b1d9-2933-9a90-b3b9-661dc7548ed1" + }, + { + "name": "PillagerLeftLeg", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 0, + -2 + ], + "to": [ + 0, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 22 + ], + "faces": { + "north": { + "uv": [ + 4, + 26, + 8, + 38 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 26, + 4, + 38 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 26, + 16, + 38 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 26, + 12, + 38 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 26, + 4, + 22 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 22, + 8, + 26 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a8265452-80f4-069b-8bb3-9e5130fd68a3" + }, + { + "name": "PillagerRightLeg", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -2 + ], + "to": [ + 4, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "mirror_uv": true, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 22 + ], + "faces": { + "north": { + "uv": [ + 8, + 26, + 4, + 38 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 26, + 8, + 38 + ], + "texture": 0 + }, + "south": { + "uv": [ + 16, + 26, + 12, + 38 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 26, + 0, + 38 + ], + "texture": 0 + }, + "up": { + "uv": [ + 4, + 26, + 8, + 22 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 22, + 12, + 26 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "6134fd96-5993-85bb-30ca-4fb03b0c481a" + }, + { + "name": "Head", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 60, + 24, + -4 + ], + "to": [ + 68, + 32, + 4 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 10, + 16, + 18 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 10, + 8, + 18 + ], + "texture": 1 + }, + "south": { + "uv": [ + 24, + 10, + 32, + 18 + ], + "texture": 1 + }, + "west": { + "uv": [ + 16, + 10, + 24, + 18 + ], + "texture": 1 + }, + "up": { + "uv": [ + 16, + 10, + 8, + 2 + ], + "texture": 1 + }, + "down": { + "uv": [ + 24, + 2, + 16, + 10 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "a66c63cf-0082-7797-3f4e-08ff434a1cac" + }, + { + "name": "HatLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 60, + 24, + -4 + ], + "to": [ + 68, + 32, + 4 + ], + "autouv": 0, + "color": 0, + "inflate": 0.5, + "origin": [ + 64, + 0, + 0 + ], + "uv_offset": [ + 32, + 0 + ], + "faces": { + "north": { + "uv": [ + 40, + 10, + 48, + 18 + ], + "texture": 1 + }, + "east": { + "uv": [ + 32, + 10, + 40, + 18 + ], + "texture": 1 + }, + "south": { + "uv": [ + 56, + 10, + 64, + 18 + ], + "texture": 1 + }, + "west": { + "uv": [ + 48, + 10, + 56, + 18 + ], + "texture": 1 + }, + "up": { + "uv": [ + 40, + 10, + 48, + 2 + ], + "texture": 1 + }, + "down": { + "uv": [ + 56, + 2, + 48, + 10 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "d48552a8-9f0d-7335-2a82-794f3264fc9d" + }, + { + "name": "Body", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 60, + 12, + -2 + ], + "to": [ + 68, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 0, + 0 + ], + "uv_offset": [ + 16, + 16 + ], + "faces": { + "north": { + "uv": [ + 20, + 53, + 28, + 65 + ], + "texture": 1 + }, + "east": { + "uv": [ + 16, + 53, + 20, + 65 + ], + "texture": 1 + }, + "south": { + "uv": [ + 32, + 53, + 40, + 65 + ], + "texture": 1 + }, + "west": { + "uv": [ + 28, + 53, + 32, + 65 + ], + "texture": 1 + }, + "up": { + "uv": [ + 28, + 53, + 20, + 49 + ], + "texture": 1 + }, + "down": { + "uv": [ + 36, + 49, + 28, + 53 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "742e9ab7-8cdd-8d93-9a9a-88011f54d15b" + }, + { + "name": "BodyLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 60, + 12, + -2 + ], + "to": [ + 68, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 64, + 0, + 0 + ], + "uv_offset": [ + 16, + 32 + ], + "faces": { + "north": { + "uv": [ + 20, + 69, + 28, + 81 + ], + "texture": 1 + }, + "east": { + "uv": [ + 16, + 69, + 20, + 81 + ], + "texture": 1 + }, + "south": { + "uv": [ + 32, + 69, + 40, + 81 + ], + "texture": 1 + }, + "west": { + "uv": [ + 28, + 69, + 32, + 81 + ], + "texture": 1 + }, + "up": { + "uv": [ + 28, + 69, + 20, + 65 + ], + "texture": 1 + }, + "down": { + "uv": [ + 36, + 65, + 28, + 69 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "2574fa9e-0d5f-502c-ce28-ef5cf30f41ec" + }, + { + "name": "RightArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 68, + 18, + -2 + ], + "to": [ + 71, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 44, + 53, + 47, + 59 + ], + "texture": 1 + }, + "east": { + "uv": [ + 40, + 53, + 44, + 59 + ], + "texture": 1 + }, + "south": { + "uv": [ + 51, + 53, + 54, + 59 + ], + "texture": 1 + }, + "west": { + "uv": [ + 47, + 53, + 51, + 59 + ], + "texture": 1 + }, + "up": { + "uv": [ + 47, + 53, + 44, + 49 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 33, + 0, + 33 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "8831734e-ce90-e6bb-8368-e011a468277d" + }, + { + "name": "RightArmLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 68, + 18, + -2 + ], + "to": [ + 71, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.24, + "origin": [ + 64, + 0, + 0 + ], + "uv_offset": [ + 40, + 32 + ], + "faces": { + "north": { + "uv": [ + 44, + 69, + 47, + 75 + ], + "texture": 1 + }, + "east": { + "uv": [ + 40, + 69, + 44, + 75 + ], + "texture": 1 + }, + "south": { + "uv": [ + 51, + 69, + 54, + 75 + ], + "texture": 1 + }, + "west": { + "uv": [ + 47, + 69, + 51, + 75 + ], + "texture": 1 + }, + "up": { + "uv": [ + 47, + 69, + 44, + 65 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 33, + 0, + 33 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "cea7603d-ae80-e4e7-6f93-905551a79117" + }, + { + "name": "LeftArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 57, + 18, + -2 + ], + "to": [ + 60, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 0, + 0 + ], + "uv_offset": [ + 32, + 48 + ], + "faces": { + "north": { + "uv": [ + 36, + 85, + 39, + 91 + ], + "texture": 1 + }, + "east": { + "uv": [ + 32, + 85, + 36, + 91 + ], + "texture": 1 + }, + "south": { + "uv": [ + 43, + 85, + 46, + 91 + ], + "texture": 1 + }, + "west": { + "uv": [ + 39, + 85, + 43, + 91 + ], + "texture": 1 + }, + "up": { + "uv": [ + 39, + 85, + 36, + 81 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 33, + 0, + 33 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "af1aa9d5-0ccf-d579-b381-54ac7b12fb55" + }, + { + "name": "LeftArmLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 57, + 18, + -2 + ], + "to": [ + 60, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.24, + "origin": [ + 64, + 0, + 0 + ], + "uv_offset": [ + 48, + 48 + ], + "faces": { + "north": { + "uv": [ + 52, + 85, + 55, + 91 + ], + "texture": 1 + }, + "east": { + "uv": [ + 48, + 85, + 52, + 91 + ], + "texture": 1 + }, + "south": { + "uv": [ + 59, + 85, + 62, + 91 + ], + "texture": 1 + }, + "west": { + "uv": [ + 55, + 85, + 59, + 91 + ], + "texture": 1 + }, + "up": { + "uv": [ + 55, + 85, + 52, + 81 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 33, + 0, + 33 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "b74fb9e9-db24-b669-6f87-8469be63eda5" + }, + { + "name": "RightLeg", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 64, + 6, + -2 + ], + "to": [ + 68, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 4, + 53, + 8, + 59 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 53, + 4, + 59 + ], + "texture": 1 + }, + "south": { + "uv": [ + 12, + 53, + 16, + 59 + ], + "texture": 1 + }, + "west": { + "uv": [ + 8, + 53, + 12, + 59 + ], + "texture": 1 + }, + "up": { + "uv": [ + 8, + 53, + 4, + 49 + ], + "texture": 1 + }, + "down": { + "uv": [ + 8, + 49, + 4, + 53 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "da81ebbe-5b4e-2d46-144a-6f839ad6fa3c" + }, + { + "name": "RightLegLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 64, + 6, + -2 + ], + "to": [ + 68, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 64, + 0, + 0 + ], + "uv_offset": [ + 0, + 32 + ], + "faces": { + "north": { + "uv": [ + 4, + 69, + 8, + 75 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 69, + 4, + 75 + ], + "texture": 1 + }, + "south": { + "uv": [ + 12, + 69, + 16, + 75 + ], + "texture": 1 + }, + "west": { + "uv": [ + 8, + 69, + 12, + 75 + ], + "texture": 1 + }, + "up": { + "uv": [ + 8, + 69, + 4, + 65 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 6, + 0, + 6 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "bcf37da3-caec-e8f2-bc82-76a3f169374c" + }, + { + "name": "LeftLeg", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 60, + 6, + -2 + ], + "to": [ + 64, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 0, + 0 + ], + "uv_offset": [ + 16, + 48 + ], + "faces": { + "north": { + "uv": [ + 20, + 85, + 24, + 91 + ], + "texture": 1 + }, + "east": { + "uv": [ + 16, + 85, + 20, + 91 + ], + "texture": 1 + }, + "south": { + "uv": [ + 28, + 85, + 32, + 91 + ], + "texture": 1 + }, + "west": { + "uv": [ + 24, + 85, + 28, + 91 + ], + "texture": 1 + }, + "up": { + "uv": [ + 24, + 85, + 20, + 81 + ], + "texture": 1 + }, + "down": { + "uv": [ + 24, + 81, + 20, + 85 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "9c06bc9a-beae-98d9-e9ce-9c8e6ddbb9d3" + }, + { + "name": "LeftLegLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 60, + 6, + -2 + ], + "to": [ + 64, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 64, + 0, + 0 + ], + "uv_offset": [ + 0, + 48 + ], + "faces": { + "north": { + "uv": [ + 4, + 85, + 8, + 91 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 85, + 4, + 91 + ], + "texture": 1 + }, + "south": { + "uv": [ + 12, + 85, + 16, + 91 + ], + "texture": 1 + }, + "west": { + "uv": [ + 8, + 85, + 12, + 91 + ], + "texture": 1 + }, + "up": { + "uv": [ + 8, + 85, + 4, + 81 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 6, + 0, + 6 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "f8f1e7ad-7999-9f17-0488-5dcbd4af7945" + }, + { + "name": "EyeLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 65, + 25, + -4.01 + ], + "to": [ + 68, + 28, + -4.01 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 18, + 6, + 24 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "7853e9a2-b429-5a00-5e0e-70449c3a71ee" + }, + { + "name": "EyeRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 60, + 25, + -4.01 + ], + "to": [ + 63, + 28, + -4.01 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 12, + 18, + 6, + 24 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "328a2de5-64bc-807b-5906-227bfceedf26" + }, + { + "name": "Mouth", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 63, + 24, + -4.01 + ], + "to": [ + 65, + 25, + -4.01 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 24, + 16, + 32 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d9d80373-4145-9e90-28de-12248a8075d9" + }, + { + "name": "RightArmBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 68, + 12, + -2 + ], + "to": [ + 71, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 44, + 59, + 47, + 65 + ], + "texture": 1 + }, + "east": { + "uv": [ + 40, + 59, + 44, + 65 + ], + "texture": 1 + }, + "south": { + "uv": [ + 51, + 59, + 54, + 65 + ], + "texture": 1 + }, + "west": { + "uv": [ + 47, + 59, + 51, + 65 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 33, + 0, + 33 + ], + "texture": 1 + }, + "down": { + "uv": [ + 50, + 53, + 47, + 49 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "643f9c05-2d3c-e1d1-5a2f-874902eb1784" + }, + { + "name": "RightArmBottomLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 68, + 12, + -2 + ], + "to": [ + 71, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 64, + 0, + 0 + ], + "uv_offset": [ + 40, + 32 + ], + "faces": { + "north": { + "uv": [ + 44, + 75, + 47, + 81 + ], + "texture": 1 + }, + "east": { + "uv": [ + 40, + 75, + 44, + 81 + ], + "texture": 1 + }, + "south": { + "uv": [ + 51, + 75, + 54, + 81 + ], + "texture": 1 + }, + "west": { + "uv": [ + 47, + 75, + 51, + 81 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 33, + 0, + 33 + ], + "texture": 1 + }, + "down": { + "uv": [ + 50, + 69, + 47, + 65 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "b1a76f47-912e-c2d4-8090-6f6ac9734672" + }, + { + "name": "LeftArmBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 57, + 12, + -2 + ], + "to": [ + 60, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 0, + 0 + ], + "uv_offset": [ + 32, + 48 + ], + "faces": { + "north": { + "uv": [ + 36, + 91, + 39, + 97 + ], + "texture": 1 + }, + "east": { + "uv": [ + 32, + 91, + 36, + 97 + ], + "texture": 1 + }, + "south": { + "uv": [ + 43, + 91, + 46, + 97 + ], + "texture": 1 + }, + "west": { + "uv": [ + 39, + 91, + 43, + 97 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 33, + 0, + 33 + ], + "texture": 1 + }, + "down": { + "uv": [ + 42, + 85, + 39, + 81 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "a82219a3-e344-a4d8-c85c-51462943a7dc" + }, + { + "name": "LeftArmBottomLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 57, + 12, + -2 + ], + "to": [ + 60, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 64, + 0, + 0 + ], + "uv_offset": [ + 48, + 48 + ], + "faces": { + "north": { + "uv": [ + 52, + 91, + 55, + 97 + ], + "texture": 1 + }, + "east": { + "uv": [ + 48, + 91, + 52, + 97 + ], + "texture": 1 + }, + "south": { + "uv": [ + 59, + 91, + 62, + 97 + ], + "texture": 1 + }, + "west": { + "uv": [ + 55, + 91, + 59, + 97 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 33, + 0, + 33 + ], + "texture": 1 + }, + "down": { + "uv": [ + 58, + 85, + 55, + 81 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "d7794b2f-dbb3-2cd5-c956-cd163b703976" + }, + { + "name": "RightLegBottomLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 64, + 0, + -2 + ], + "to": [ + 68, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 64, + 0, + 0 + ], + "uv_offset": [ + 0, + 32 + ], + "faces": { + "north": { + "uv": [ + 4, + 75, + 8, + 81 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 75, + 4, + 81 + ], + "texture": 1 + }, + "south": { + "uv": [ + 12, + 75, + 16, + 81 + ], + "texture": 1 + }, + "west": { + "uv": [ + 8, + 75, + 12, + 81 + ], + "texture": 1 + }, + "up": { + "uv": [ + 8, + 69, + 4, + 65 + ], + "texture": 1 + }, + "down": { + "uv": [ + 12, + 69, + 8, + 65 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "72c6eff7-d0eb-2ffa-193f-2ca402bdc722" + }, + { + "name": "RightLegBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 64, + 0, + -2 + ], + "to": [ + 68, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 4, + 59, + 8, + 65 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 59, + 4, + 65 + ], + "texture": 1 + }, + "south": { + "uv": [ + 12, + 59, + 16, + 65 + ], + "texture": 1 + }, + "west": { + "uv": [ + 8, + 59, + 12, + 65 + ], + "texture": 1 + }, + "up": { + "uv": [ + 8, + 53, + 4, + 49 + ], + "texture": 1 + }, + "down": { + "uv": [ + 12, + 53, + 8, + 49 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "8b1cc891-ffa8-9f46-ebc0-f0b84e6ffb15" + }, + { + "name": "LeftLegBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 60, + 0, + -2 + ], + "to": [ + 64, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 0, + 0 + ], + "uv_offset": [ + 16, + 48 + ], + "faces": { + "north": { + "uv": [ + 20, + 91, + 24, + 97 + ], + "texture": 1 + }, + "east": { + "uv": [ + 16, + 91, + 20, + 97 + ], + "texture": 1 + }, + "south": { + "uv": [ + 28, + 91, + 32, + 97 + ], + "texture": 1 + }, + "west": { + "uv": [ + 24, + 91, + 28, + 97 + ], + "texture": 1 + }, + "up": { + "uv": [ + 24, + 85, + 20, + 81 + ], + "texture": 1 + }, + "down": { + "uv": [ + 28, + 85, + 24, + 81 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "a1169ee6-6a78-c7c4-9214-670991206468" + }, + { + "name": "LeftLegBottomLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 60, + 0, + -2 + ], + "to": [ + 64, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 64, + 0, + 0 + ], + "uv_offset": [ + 0, + 48 + ], + "faces": { + "north": { + "uv": [ + 4, + 91, + 8, + 97 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 91, + 4, + 97 + ], + "texture": 1 + }, + "south": { + "uv": [ + 12, + 91, + 16, + 97 + ], + "texture": 1 + }, + "west": { + "uv": [ + 8, + 91, + 12, + 97 + ], + "texture": 1 + }, + "up": { + "uv": [ + 8, + 85, + 4, + 81 + ], + "texture": 1 + }, + "down": { + "uv": [ + 12, + 85, + 8, + 81 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "a5173990-504e-f5c4-45c7-9347880c1306" + }, + { + "name": "RingPart1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 62.94, + 36.01, + -4.825 + ], + "to": [ + 65.06, + 36.01, + -1.295 + ], + "autouv": 0, + "color": 0, + "origin": [ + 61, + 22, + -4 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 36, + 31.9, + 39, + 36.9 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "faf8ab6b-f4f0-ca97-dccf-5419513d1359" + }, + { + "name": "RingPart2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 65.295, + 36.01, + -1.06 + ], + "to": [ + 68.825, + 36.01, + 1.06 + ], + "autouv": 0, + "color": 0, + "origin": [ + 68, + 22, + -3 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 36, + 36.9, + 39, + 41.9 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "61c19b56-1984-cdcb-7a31-987945b0ae33" + }, + { + "name": "RingPart4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 59.175, + 36.01, + -1.06 + ], + "to": [ + 62.705, + 36.01, + 1.06 + ], + "autouv": 0, + "color": 0, + "origin": [ + 60, + 22, + -3 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 36, + 41.9, + 39, + 36.9 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "4a2f805b-02d9-da24-e361-0c0309289a1d" + }, + { + "name": "RingPart3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 62.94, + 36.01, + 1.295 + ], + "to": [ + 65.06, + 36.01, + 4.825 + ], + "autouv": 0, + "color": 0, + "origin": [ + 67, + 22, + 4 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 36, + 41.9, + 39, + 46.9 + ], + "rotation": 180, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + } + }, + "type": "cube", + "uuid": "f0e4c2d9-cc4e-0c13-3e3a-2b95d8c0d034" + }, + { + "name": "HeadPhoneRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 59, + 26, + -2 + ], + "to": [ + 60, + 29, + 1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 6, + 0, + 6 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 32, + 7, + 39 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "01f6d688-d2cd-c36a-df2e-a80523a72020" + }, + { + "name": "HeadPhoneLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 68, + 26, + -2 + ], + "to": [ + 69, + 29, + 1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 32, + 7, + 39 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 6, + 0, + 6 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "4f5e53a6-b464-0187-a63a-a317f45c2beb" + }, + { + "name": "HeadPhoneShaftRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 68, + 29, + -1.5 + ], + "to": [ + 68.5, + 32, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 6, + 0, + 6 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 6, + 0, + 6 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "ac86679a-d55c-be34-cf2b-68f42e402541" + }, + { + "name": "HeadPhoneShaftLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 59.5, + 29, + -1.5 + ], + "to": [ + 60, + 32, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 6, + 0, + 6 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 6, + 0, + 6 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "0aae78b3-7629-724d-62de-d336c7bb05d6" + }, + { + "name": "HeadPhoneShaftCenter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 60.25, + 32, + -0.5 + ], + "to": [ + 67.75, + 32.5, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "943051a6-3609-4b6a-a9be-3e7a6d7e866b" + }, + { + "name": "Tail1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 63.5, + 14, + 2 + ], + "to": [ + 64.5, + 15, + 8 + ], + "autouv": 0, + "color": 0, + "origin": [ + 63.5, + 14, + 2 + ], + "faces": { + "north": { + "uv": [ + 0, + 6, + 0, + 6 + ], + "texture": 1 + }, + "east": { + "uv": [ + 7, + 32, + 19, + 33 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 6, + 0, + 6 + ], + "texture": 1 + }, + "west": { + "uv": [ + 19, + 32, + 7, + 33 + ], + "texture": 1 + }, + "up": { + "uv": [ + 19, + 32, + 7, + 33 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 7, + 32, + 19, + 33 + ], + "rotation": 90, + "texture": 1 + } + }, + "type": "cube", + "uuid": "50e61828-ccdd-ee8e-c621-0a193b35fd5e" + }, + { + "name": "Tail2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 63.5, + 14, + 8 + ], + "to": [ + 64.5, + 15, + 14 + ], + "autouv": 0, + "color": 0, + "origin": [ + 63.5, + 14, + 8 + ], + "faces": { + "north": { + "uv": [ + 0, + 6, + 0, + 6 + ], + "texture": 1 + }, + "east": { + "uv": [ + 7, + 33, + 19, + 34 + ], + "texture": 1 + }, + "south": { + "uv": [ + 7, + 33, + 8, + 34 + ], + "texture": 1 + }, + "west": { + "uv": [ + 19, + 33, + 7, + 34 + ], + "texture": 1 + }, + "up": { + "uv": [ + 19, + 33, + 7, + 34 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 7, + 33, + 19, + 34 + ], + "rotation": 90, + "texture": 1 + } + }, + "type": "cube", + "uuid": "4113cbe8-5856-27e8-5d63-4f6f3f13ccbd" + }, + { + "name": "PhoneEarRightFront1_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 64, + 32, + -1.5 + ], + "to": [ + 65, + 35, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 6, + 0, + 6 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 6, + 0, + 6 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "5628b192-ac9f-3e32-91d4-2d87aa746910" + }, + { + "name": "PhoneEarRightFront1_1OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 64.1, + 32, + -1.51 + ], + "to": [ + 64.2, + 34.98, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 33, + 2, + 34 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "c1fcb63e-6496-d3a3-64cb-e2251ddf6b9e" + }, + { + "name": "PhoneEarRightFront1_1InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 64.8, + 32, + -1.51 + ], + "to": [ + 64.9, + 34.825, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 33, + 2, + 34 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "beef8305-3bf6-58e9-b6da-1cd0fab1fe2f" + }, + { + "name": "PhoneEarRightFront1_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 64, + 35, + -1.5 + ], + "to": [ + 65, + 37.09, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 6, + 0, + 6 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 6, + 0, + 6 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "403fa6ce-f0d8-c5be-a8b6-d47294eb4984" + }, + { + "name": "PhoneEarRightFront1_2OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 64.1, + 35.025, + -1.51 + ], + "to": [ + 64.2, + 37.06, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 33, + 2, + 34 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "76f78202-a819-a689-73e2-64029f8d0f9d" + }, + { + "name": "PhoneEarRightFront1_2InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 64.8, + 35.178, + -1.51 + ], + "to": [ + 64.9, + 36.876, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 33, + 2, + 34 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "b779ad53-9102-aacf-4abf-51210f0edbde" + }, + { + "name": "PhoneEarRightFront2_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 67.5, + 28.9, + -1.5 + ], + "to": [ + 68.5, + 30.08, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 67.5, + 29.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 6, + 0, + 6 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 6, + 0, + 6 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "4bd4c91f-764a-3ef9-009c-766a50959788" + }, + { + "name": "PhoneEarRightFront2_1OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 68.3, + 28.9, + -1.51 + ], + "to": [ + 68.4, + 30.023, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64.5, + 31, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 33, + 2, + 34 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "1a50d8d3-d2c0-1c03-5226-56fabd5b1aa7" + }, + { + "name": "PhoneEarRightFront2_1InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 67.6, + 28.9, + -1.51 + ], + "to": [ + 67.7, + 29.618, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64.5, + 31, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 33, + 2, + 34 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "d3a63ec7-8768-7c37-4624-c7e3d4192e12" + }, + { + "name": "PhoneEarRightFront2_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 67.5, + 30.08, + -1.5 + ], + "to": [ + 68.5, + 34.08, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 67.5, + 28.6, + -1 + ], + "faces": { + "north": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 6, + 0, + 6 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 6, + 0, + 6 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "092a0e63-d5dd-7734-63ea-fa9d2553d0f5" + }, + { + "name": "PhoneEarRightFront2_2OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 68.3, + 30.138, + -1.51 + ], + "to": [ + 68.4, + 34.063, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64.5, + 30.1, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 33, + 2, + 34 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "c5113057-7bfd-25ad-e529-b49c112c3377" + }, + { + "name": "PhoneEarRightFront2_2InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 67.6, + 30.541, + -1.51 + ], + "to": [ + 67.7, + 33.939, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64.5, + 30.1, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 33, + 2, + 34 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "2840ca2d-db60-7b72-40c4-526f07cf8a96" + }, + { + "name": "PhoneEarRightFront2_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 67.5, + 34.08, + -1.5 + ], + "to": [ + 68.5, + 35.9, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 67.5, + 34.6, + -1 + ], + "faces": { + "north": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 6, + 0, + 6 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 6, + 0, + 6 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "e774d120-5304-8e16-59f6-3320dd90cc26" + }, + { + "name": "PhoneEarRightFront2_3OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 68.3, + 34.099, + -1.51 + ], + "to": [ + 68.4, + 35.832, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64.5, + 34.1, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 33, + 2, + 34 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "0dca0cdb-bd65-b554-9877-c42622b728bd" + }, + { + "name": "PhoneEarRightFront2_3InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 67.6, + 34.22, + -1.51 + ], + "to": [ + 67.7, + 35.342, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64.5, + 34.1, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 33, + 2, + 34 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "c95bca51-10cf-7f94-f3f4-4e2202585871" + }, + { + "name": "PhoneEarRightBack1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 65, + 31.855, + -0.5 + ], + "to": [ + 66.1, + 34.595, + 0.5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.1, + "rotation": [ + 0, + 0, + -35 + ], + "origin": [ + 65, + 32, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 33, + 2, + 34 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 6, + 0, + 6 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 6, + 0, + 6 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "b561e0e5-fa37-6c25-4798-cb2864fd4ef3" + }, + { + "name": "PhoneEarRightBack2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 66.56, + 30, + -0.5 + ], + "to": [ + 68.06, + 34.35, + 0.5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.1, + "origin": [ + 67.75, + 32, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 33, + 2, + 34 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 6, + 0, + 6 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "dedf0f6b-187d-2be9-04f4-b753ebcdcf51" + }, + { + "name": "PhoneEarRightFront1_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 64, + 37.09, + -1.5 + ], + "to": [ + 65, + 37.94, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64.25, + 34.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 32, + 1, + 33 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 6, + 0, + 6 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 6, + 0, + 6 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "f1e596d1-8e6e-52f8-ee7e-4c2fe9e40228" + }, + { + "name": "PhoneEarRightFront1_2OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 64.1, + 37.115, + -1.51 + ], + "to": [ + 64.2, + 37.868, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64.25, + 34.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 33, + 2, + 34 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "6544450b-5248-1b6d-e92d-2543dd68f300" + }, + { + "name": "PhoneEarRightFront1_2InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 64.8, + 37.305, + -1.51 + ], + "to": [ + 64.9, + 37.378, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64.25, + 34.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 33, + 2, + 34 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "348fd0c9-c2ba-34d9-9160-bd82c3a23d43" + }, + { + "name": "PhoneEarLeftFront1_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 63, + 32, + -1.5 + ], + "to": [ + 64, + 35, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 63.75, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 32, + 0, + 33 + ], + "texture": 1 + }, + "east": { + "uv": [ + 1, + 32, + 0, + 33 + ], + "texture": 1 + }, + "south": { + "uv": [ + 1, + 32, + 0, + 33 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1, + 32, + 0, + 33 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 6, + 0, + 6 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 6, + 0, + 6 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "be67e76c-c7f9-9a4b-6c04-524fbc76c77b" + }, + { + "name": "PhoneEarLeftFront1_1OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 63.8, + 32, + -1.51 + ], + "to": [ + 63.9, + 34.98, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 63.75, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 33, + 1, + 34 + ], + "texture": 1 + }, + "east": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + }, + "south": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + }, + "up": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + }, + "down": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "a76db6f4-0ef7-6aed-1cc1-9c1259141265" + }, + { + "name": "PhoneEarLeftFront1_1InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 63.1, + 32, + -1.51 + ], + "to": [ + 63.2, + 34.825, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 63.75, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 33, + 1, + 34 + ], + "texture": 1 + }, + "east": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + }, + "south": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + }, + "up": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + }, + "down": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "2d6e824a-b085-3640-e1e5-7ba8c21408be" + }, + { + "name": "PhoneEarLeftFront1_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 63, + 35, + -1.5 + ], + "to": [ + 64, + 37.09, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 63.75, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 32, + 0, + 33 + ], + "texture": 1 + }, + "east": { + "uv": [ + 1, + 32, + 0, + 33 + ], + "texture": 1 + }, + "south": { + "uv": [ + 1, + 32, + 0, + 33 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1, + 32, + 0, + 33 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 6, + 0, + 6 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 6, + 0, + 6 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "8cc219f9-f431-d538-3d6f-fcab7185ee25" + }, + { + "name": "PhoneEarLeftFront1_2OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 63.8, + 35.025, + -1.51 + ], + "to": [ + 63.9, + 37.06, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 63.75, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 33, + 1, + 34 + ], + "texture": 1 + }, + "east": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + }, + "south": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + }, + "up": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + }, + "down": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "c3b3c7a5-1906-1860-5da3-6879de869a89" + }, + { + "name": "PhoneEarLeftFront1_2InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 63.1, + 35.178, + -1.51 + ], + "to": [ + 63.2, + 36.876, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 63.75, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 33, + 1, + 34 + ], + "texture": 1 + }, + "east": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + }, + "south": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + }, + "up": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + }, + "down": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "239182e8-2f83-2228-a01c-9bba6132ebd4" + }, + { + "name": "PhoneEarLeftFront1_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 63, + 37.09, + -1.5 + ], + "to": [ + 64, + 37.94, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 63.75, + 34.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 32, + 0, + 33 + ], + "texture": 1 + }, + "east": { + "uv": [ + 1, + 32, + 0, + 33 + ], + "texture": 1 + }, + "south": { + "uv": [ + 1, + 32, + 0, + 33 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1, + 32, + 0, + 33 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 6, + 0, + 6 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 6, + 0, + 6 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "2efdfc14-75ad-3917-bcbd-c864f6a4908a" + }, + { + "name": "PhoneEarLeftFront1_2OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 63.8, + 37.115, + -1.51 + ], + "to": [ + 63.9, + 37.868, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 63.75, + 34.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 33, + 1, + 34 + ], + "texture": 1 + }, + "east": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + }, + "south": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + }, + "up": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + }, + "down": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "12e1aa45-4861-cd9c-cdfd-5b656c8af07c" + }, + { + "name": "PhoneEarLeftFront1_2InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 63.1, + 37.305, + -1.51 + ], + "to": [ + 63.2, + 37.378, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 63.75, + 34.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 33, + 1, + 34 + ], + "texture": 1 + }, + "east": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + }, + "south": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + }, + "up": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + }, + "down": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "64b1a793-eb74-5aab-221f-0058edf82966" + }, + { + "name": "PhoneEarLeftFront_2_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 59.5, + 28.9, + -1.5 + ], + "to": [ + 60.5, + 30.08, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 60.5, + 29.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 32, + 0, + 33 + ], + "texture": 1 + }, + "east": { + "uv": [ + 1, + 32, + 0, + 33 + ], + "texture": 1 + }, + "south": { + "uv": [ + 1, + 32, + 0, + 33 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1, + 32, + 0, + 33 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 6, + 0, + 6 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 6, + 0, + 6 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "0cabbb13-53a1-76d6-49c1-244a341e3fc4" + }, + { + "name": "PhoneEarLeftFront2_1OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 59.6, + 28.9, + -1.51 + ], + "to": [ + 59.7, + 30.023, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 63.5, + 31, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 33, + 1, + 34 + ], + "texture": 1 + }, + "east": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + }, + "south": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + }, + "up": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + }, + "down": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "4b86c2c6-6541-ae97-908d-c4c0946d9742" + }, + { + "name": "PhoneEarLeftFront2_1InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 60.3, + 28.9, + -1.51 + ], + "to": [ + 60.4, + 29.618, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 63.5, + 31, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 33, + 1, + 34 + ], + "texture": 1 + }, + "east": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + }, + "south": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + }, + "up": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + }, + "down": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "fd698e35-9448-12f8-4ea1-9abfc1d86688" + }, + { + "name": "PhoneEarLeftFront2_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 59.5, + 30.08, + -1.5 + ], + "to": [ + 60.5, + 34.08, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 60.5, + 28.6, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 32, + 0, + 33 + ], + "texture": 1 + }, + "east": { + "uv": [ + 1, + 32, + 0, + 33 + ], + "texture": 1 + }, + "south": { + "uv": [ + 1, + 32, + 0, + 33 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1, + 32, + 0, + 33 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 6, + 0, + 6 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 6, + 0, + 6 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "83f7478a-cd88-a072-b14a-aac679cc671e" + }, + { + "name": "PhoneEarLeftFront2_2OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 59.6, + 30.138, + -1.51 + ], + "to": [ + 59.7, + 34.063, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 63.5, + 30.1, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 33, + 1, + 34 + ], + "texture": 1 + }, + "east": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + }, + "south": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + }, + "up": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + }, + "down": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "759cf829-fc6c-b23b-f394-09d2b21b073e" + }, + { + "name": "PhoneEarLeftFront2_2InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 60.3, + 30.541, + -1.51 + ], + "to": [ + 60.4, + 33.939, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 63.5, + 30.1, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 33, + 1, + 34 + ], + "texture": 1 + }, + "east": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + }, + "south": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + }, + "up": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + }, + "down": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "5e464ee7-9b76-e363-35ab-cc8ac9024a22" + }, + { + "name": "PhoneEarLeftFront2_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 59.5, + 34.08, + -1.5 + ], + "to": [ + 60.5, + 35.9, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 60.5, + 34.6, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 32, + 0, + 33 + ], + "texture": 1 + }, + "east": { + "uv": [ + 1, + 32, + 0, + 33 + ], + "texture": 1 + }, + "south": { + "uv": [ + 1, + 32, + 0, + 33 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1, + 32, + 0, + 33 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 6, + 0, + 6 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 6, + 0, + 6 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "f7ef2c19-5922-806b-fe13-635d0335552b" + }, + { + "name": "PhoneEarLeftFront2_3OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 59.6, + 34.099, + -1.51 + ], + "to": [ + 59.7, + 35.832, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 63.5, + 34.1, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 33, + 1, + 34 + ], + "texture": 1 + }, + "east": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + }, + "south": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + }, + "up": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + }, + "down": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "c4e7e749-9878-e45a-341c-b943ad7693e0" + }, + { + "name": "PhoneEarLeftFront2_3InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 60.3, + 34.22, + -1.51 + ], + "to": [ + 60.4, + 35.342, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 63.5, + 34.1, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 33, + 1, + 34 + ], + "texture": 1 + }, + "east": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + }, + "south": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + }, + "up": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + }, + "down": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "d9cf64b4-1f79-2af0-5eed-b045c13920ad" + }, + { + "name": "PhoneEarLeftBack1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 61.9, + 31.855, + -0.5 + ], + "to": [ + 63, + 34.595, + 0.5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.1, + "rotation": [ + 0, + 0, + 35 + ], + "origin": [ + 63, + 32, + 0 + ], + "faces": { + "north": { + "uv": [ + 2, + 33, + 1, + 34 + ], + "texture": 1 + }, + "east": { + "uv": [ + 1, + 32, + 0, + 33 + ], + "texture": 1 + }, + "south": { + "uv": [ + 1, + 32, + 0, + 33 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 6, + 0, + 6 + ], + "texture": 1 + }, + "up": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 6, + 0, + 6 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "b5a002b6-22e9-a072-4595-4028c86f3962" + }, + { + "name": "PhoneEarLeftBack2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 59.94, + 30, + -0.5 + ], + "to": [ + 61.44, + 34.35, + 0.5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.1, + "origin": [ + 60.25, + 32, + 0 + ], + "faces": { + "north": { + "uv": [ + 2, + 33, + 1, + 34 + ], + "texture": 1 + }, + "east": { + "uv": [ + 1, + 32, + 0, + 33 + ], + "texture": 1 + }, + "south": { + "uv": [ + 1, + 32, + 0, + 33 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1, + 32, + 0, + 33 + ], + "texture": 1 + }, + "up": { + "uv": [ + 1, + 32, + 0, + 33 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 6, + 0, + 6 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "f54c98fe-b735-7964-faff-3d7981924e5a" + }, + { + "name": "HeadRing", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 60, + 36, + -4 + ], + "to": [ + 68, + 36, + 4 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 35, + 0, + 0 + ], + "origin": [ + 64, + 28, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 19, + 31.9, + 36, + 48.9 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + } + }, + "type": "cube", + "uuid": "cdf48705-bdd5-f256-4e7c-0e151c454815" + }, + { + "name": "Brim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 59, + 30, + -2 + ], + "to": [ + 69, + 33, + -2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 59, + 31, + -2 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 10, + 3 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 2 + }, + "south": { + "uv": [ + 10, + 0, + 0, + 3 + ], + "texture": 2 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 2 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 2 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "1e981720-d6d9-f09b-e577-706de32bb630" + }, + { + "name": "BrimLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 59, + 30, + -2 + ], + "to": [ + 69, + 33, + -2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.15, + "origin": [ + 59, + 31, + -2 + ], + "faces": { + "north": { + "uv": [ + 0, + 3, + 10, + 6 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 2 + }, + "south": { + "uv": [ + 10, + 3, + 0, + 6 + ], + "texture": 2 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 2 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 2 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "3aadc8d9-06fa-5eef-4dbc-ca941db9ade4" + }, + { + "name": "Tail1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 68.25, + 26.5, + 1.5 + ], + "to": [ + 70.75, + 28, + 3 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 42, + 35, + 47, + 38 + ], + "texture": 1 + }, + "east": { + "uv": [ + 39, + 35, + 42, + 38 + ], + "texture": 1 + }, + "south": { + "uv": [ + 50, + 35, + 55, + 38 + ], + "texture": 1 + }, + "west": { + "uv": [ + 47, + 35, + 50, + 38 + ], + "texture": 1 + }, + "up": { + "uv": [ + 42, + 32, + 47, + 35 + ], + "texture": 1 + }, + "down": { + "uv": [ + 47, + 32, + 52, + 35 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "620a23d4-a300-8580-4b6f-bcf728d903ae" + }, + { + "name": "Tail2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 70, + 25.75, + 1.5 + ], + "to": [ + 71.5, + 27.25, + 3 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 42, + 41, + 45, + 44 + ], + "texture": 1 + }, + "east": { + "uv": [ + 39, + 41, + 42, + 44 + ], + "texture": 1 + }, + "south": { + "uv": [ + 48, + 41, + 51, + 44 + ], + "texture": 1 + }, + "west": { + "uv": [ + 45, + 41, + 48, + 44 + ], + "texture": 1 + }, + "up": { + "uv": [ + 42, + 38, + 45, + 41 + ], + "texture": 1 + }, + "down": { + "uv": [ + 45, + 38, + 48, + 41 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "e53dc319-97f2-156c-fc11-ada7f8d75d8c" + }, + { + "name": "HairTie", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 68, + 26.75, + 1.75 + ], + "to": [ + 68.5, + 27.75, + 2.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 39, + 32, + 40, + 33 + ], + "texture": 1 + }, + "east": { + "uv": [ + 29, + 32, + 29, + 32 + ], + "texture": 1 + }, + "south": { + "uv": [ + 39, + 32, + 40, + 33 + ], + "texture": 1 + }, + "west": { + "uv": [ + 29, + 32, + 29, + 32 + ], + "texture": 1 + }, + "up": { + "uv": [ + 39, + 32, + 40, + 33 + ], + "texture": 1 + }, + "down": { + "uv": [ + 39, + 32, + 40, + 33 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "518baf41-6a47-6309-199f-e9775c87849a" + }, + { + "name": "HairTieTip1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 68.025, + 27.75, + 2.25 + ], + "to": [ + 68.275, + 28.25, + 2.25 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 0, + 0, + -15 + ], + "origin": [ + 68.025, + 27.75, + 2.25 + ], + "faces": { + "north": { + "uv": [ + 39, + 32, + 40, + 33 + ], + "texture": 1 + }, + "east": { + "uv": [ + 29, + 32, + 29, + 32 + ], + "texture": 1 + }, + "south": { + "uv": [ + 39, + 32, + 40, + 33 + ], + "texture": 1 + }, + "west": { + "uv": [ + 29, + 32, + 29, + 32 + ], + "texture": 1 + }, + "up": { + "uv": [ + 39, + 32, + 40, + 33 + ], + "texture": 1 + }, + "down": { + "uv": [ + 39, + 32, + 40, + 33 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "d1c01e63-84c8-848d-1d9e-431dcb9e8e42" + }, + { + "name": "HairTieTip2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 68.025, + 26.25, + 2.25 + ], + "to": [ + 68.275, + 26.75, + 2.25 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 0, + 0, + 10 + ], + "origin": [ + 68.025, + 26.75, + 2.25 + ], + "faces": { + "north": { + "uv": [ + 39, + 32, + 40, + 33 + ], + "texture": 1 + }, + "east": { + "uv": [ + 29, + 32, + 29, + 32 + ], + "texture": 1 + }, + "south": { + "uv": [ + 39, + 32, + 40, + 33 + ], + "texture": 1 + }, + "west": { + "uv": [ + 29, + 32, + 29, + 32 + ], + "texture": 1 + }, + "up": { + "uv": [ + 39, + 32, + 40, + 33 + ], + "texture": 1 + }, + "down": { + "uv": [ + 39, + 32, + 40, + 33 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "0aa2fa13-09da-60b2-545b-89dc095ffb2c" + }, + { + "name": "HairTie", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 59.5, + 26.75, + 1.75 + ], + "to": [ + 60, + 27.75, + 2.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 40, + 32, + 39, + 33 + ], + "texture": 1 + }, + "east": { + "uv": [ + 29, + 32, + 29, + 32 + ], + "texture": 1 + }, + "south": { + "uv": [ + 40, + 32, + 39, + 33 + ], + "texture": 1 + }, + "west": { + "uv": [ + 29, + 32, + 29, + 32 + ], + "texture": 1 + }, + "up": { + "uv": [ + 40, + 32, + 39, + 33 + ], + "texture": 1 + }, + "down": { + "uv": [ + 40, + 32, + 39, + 33 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "cd609289-6de9-4a18-47b1-a208d8b446c9" + }, + { + "name": "HairTieTip1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 59.725, + 27.75, + 2.25 + ], + "to": [ + 59.975, + 28.25, + 2.25 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 0, + 0, + 15 + ], + "origin": [ + 59.975, + 27.75, + 2.25 + ], + "faces": { + "north": { + "uv": [ + 40, + 32, + 39, + 33 + ], + "texture": 1 + }, + "east": { + "uv": [ + 29, + 32, + 29, + 32 + ], + "texture": 1 + }, + "south": { + "uv": [ + 40, + 32, + 39, + 33 + ], + "texture": 1 + }, + "west": { + "uv": [ + 29, + 32, + 29, + 32 + ], + "texture": 1 + }, + "up": { + "uv": [ + 40, + 32, + 39, + 33 + ], + "texture": 1 + }, + "down": { + "uv": [ + 40, + 32, + 39, + 33 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "2b622d2f-2f11-e864-32aa-71087b18b069" + }, + { + "name": "HairTieTip1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 59.725, + 26.25, + 2.25 + ], + "to": [ + 59.975, + 26.75, + 2.25 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 0, + 0, + -10 + ], + "origin": [ + 59.975, + 26.75, + 2.25 + ], + "faces": { + "north": { + "uv": [ + 40, + 32, + 39, + 33 + ], + "texture": 1 + }, + "east": { + "uv": [ + 29, + 32, + 29, + 32 + ], + "texture": 1 + }, + "south": { + "uv": [ + 40, + 32, + 39, + 33 + ], + "texture": 1 + }, + "west": { + "uv": [ + 29, + 32, + 29, + 32 + ], + "texture": 1 + }, + "up": { + "uv": [ + 40, + 32, + 39, + 33 + ], + "texture": 1 + }, + "down": { + "uv": [ + 40, + 32, + 39, + 33 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "5c937338-321a-582b-c088-36acfe602aa1" + }, + { + "name": "Tail1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 57.25, + 26.5, + 1.5 + ], + "to": [ + 59.75, + 28, + 3 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 47, + 35, + 42, + 38 + ], + "texture": 1 + }, + "east": { + "uv": [ + 50, + 35, + 47, + 38 + ], + "texture": 1 + }, + "south": { + "uv": [ + 55, + 35, + 50, + 38 + ], + "texture": 1 + }, + "west": { + "uv": [ + 42, + 35, + 39, + 38 + ], + "texture": 1 + }, + "up": { + "uv": [ + 47, + 32, + 42, + 35 + ], + "texture": 1 + }, + "down": { + "uv": [ + 52, + 32, + 47, + 35 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "be114fb7-8179-bb32-fcbc-a81b3aec646c" + }, + { + "name": "Tail2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 56.5, + 25.75, + 1.5 + ], + "to": [ + 58, + 27.25, + 3 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 45, + 41, + 42, + 44 + ], + "texture": 1 + }, + "east": { + "uv": [ + 48, + 41, + 45, + 44 + ], + "texture": 1 + }, + "south": { + "uv": [ + 51, + 41, + 48, + 44 + ], + "texture": 1 + }, + "west": { + "uv": [ + 42, + 41, + 39, + 44 + ], + "texture": 1 + }, + "up": { + "uv": [ + 45, + 38, + 42, + 41 + ], + "texture": 1 + }, + "down": { + "uv": [ + 48, + 38, + 45, + 41 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "990bc7d5-85d5-c0db-ab54-6cc63eac6079" + }, + { + "name": "Skirt1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 59.5, + 13, + -3 + ], + "to": [ + 68.5, + 14, + 3 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 6, + 18, + 15, + 19 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 18, + 6, + 19 + ], + "texture": 2 + }, + "south": { + "uv": [ + 21, + 18, + 30, + 19 + ], + "texture": 2 + }, + "west": { + "uv": [ + 15, + 18, + 21, + 19 + ], + "texture": 2 + }, + "up": { + "uv": [ + 6, + 12, + 15, + 18 + ], + "texture": 2 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "c1808908-2ddc-710e-bc1a-39fee1d58add" + }, + { + "name": "Skirt2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 58.75, + 11, + -4 + ], + "to": [ + 68.75, + 13, + 4 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 27, + 18, + 29 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 27, + 8, + 29 + ], + "texture": 2 + }, + "south": { + "uv": [ + 26, + 27, + 36, + 29 + ], + "texture": 2 + }, + "west": { + "uv": [ + 18, + 27, + 26, + 29 + ], + "texture": 2 + }, + "up": { + "uv": [ + 8, + 19, + 18, + 27 + ], + "texture": 2 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "b14062a5-8fd5-8a1d-20f0-07f95185da2b" + }, + { + "name": "Skirt3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 58.25, + 8, + -5 + ], + "to": [ + 69.25, + 11, + 5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 10, + 39, + 21, + 42 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 39, + 10, + 42 + ], + "texture": 2 + }, + "south": { + "uv": [ + 31, + 39, + 42, + 42 + ], + "texture": 2 + }, + "west": { + "uv": [ + 21, + 39, + 31, + 42 + ], + "texture": 2 + }, + "up": { + "uv": [ + 10, + 29, + 21, + 39 + ], + "texture": 2 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "576cb769-b524-e434-9505-500ecc812775" + }, + { + "name": "Skirt4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 57.75, + 4, + -6 + ], + "to": [ + 69.75, + 8, + 6 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 12, + 54, + 24, + 58 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 54, + 12, + 58 + ], + "texture": 2 + }, + "south": { + "uv": [ + 36, + 54, + 48, + 58 + ], + "texture": 2 + }, + "west": { + "uv": [ + 24, + 54, + 36, + 58 + ], + "texture": 2 + }, + "up": { + "uv": [ + 12, + 42, + 24, + 54 + ], + "texture": 2 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "1e8a9fce-e1fb-7b7e-7eb2-4a793ebcd958" + }, + { + "name": "Skirt4Layer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 57.75, + 4, + -6 + ], + "to": [ + 69.75, + 8, + 6 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 64, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 12, + 70, + 24, + 74 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 70, + 12, + 74 + ], + "texture": 2 + }, + "south": { + "uv": [ + 36, + 70, + 48, + 74 + ], + "texture": 2 + }, + "west": { + "uv": [ + 24, + 70, + 36, + 74 + ], + "texture": 2 + }, + "up": { + "uv": [ + 12, + 58, + 24, + 70 + ], + "texture": 2 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "1795ac0b-b779-832b-a965-2dc00d907490" + }, + { + "name": "Skirt4Ring", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 57.75, + 5.375, + -6 + ], + "to": [ + 69.75, + 5.625, + 6 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 64, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 42, + 1, + 43 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 42, + 1, + 43 + ], + "texture": 2 + }, + "south": { + "uv": [ + 0, + 42, + 1, + 43 + ], + "texture": 2 + }, + "west": { + "uv": [ + 0, + 42, + 1, + 43 + ], + "texture": 2 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 2 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "4a4353a6-3e3e-ddf5-073b-2b5aa53b7eac" + }, + { + "name": "OOLogoRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 69.76, + 5.85, + 0.68 + ], + "to": [ + 69.76, + 6.85, + 1.823 + ], + "autouv": 0, + "color": 0, + "origin": [ + 69, + 18, + 2 + ], + "faces": { + "north": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": 2 + }, + "east": { + "uv": [ + 27, + 74, + 43, + 88 + ], + "texture": 2 + }, + "south": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": 2 + }, + "west": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": 2 + }, + "up": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": 2 + }, + "down": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "6e195df0-bf76-310c-06fd-394a4ff07e7f" + }, + { + "name": "RibbonCenter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 63.5, + 14.5, + 2 + ], + "to": [ + 64.5, + 15.5, + 3 + ], + "autouv": 0, + "color": 0, + "origin": [ + 63.5, + 14.5, + 2 + ], + "faces": { + "north": { + "uv": [ + 12, + 0, + 12, + 0 + ], + "texture": 2 + }, + "east": { + "uv": [ + 31, + 0, + 32, + 1 + ], + "texture": 2 + }, + "south": { + "uv": [ + 31, + 0, + 32, + 1 + ], + "texture": 2 + }, + "west": { + "uv": [ + 31, + 0, + 32, + 1 + ], + "texture": 2 + }, + "up": { + "uv": [ + 31, + 0, + 32, + 1 + ], + "texture": 2 + }, + "down": { + "uv": [ + 31, + 0, + 32, + 1 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "b984c931-e06a-4a7b-03ee-8402dbbf3150" + }, + { + "name": "RibbonLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 60.5, + 14, + 2.25 + ], + "to": [ + 63.5, + 16, + 2.75 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -10, + 0, + 0 + ], + "origin": [ + 63.5, + 15, + 2.5 + ], + "faces": { + "north": { + "uv": [ + 12, + 0, + 12, + 0 + ], + "texture": 2 + }, + "east": { + "uv": [ + 31, + 0, + 32, + 1 + ], + "texture": 2 + }, + "south": { + "uv": [ + 26, + 0, + 32, + 4 + ], + "texture": 2 + }, + "west": { + "uv": [ + 31, + 0, + 32, + 1 + ], + "texture": 2 + }, + "up": { + "uv": [ + 31, + 0, + 32, + 1 + ], + "texture": 2 + }, + "down": { + "uv": [ + 31, + 0, + 32, + 1 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "c346cb04-2149-cdf6-7c2d-2f066237567c" + }, + { + "name": "RibbonRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 64.5, + 14, + 2.25 + ], + "to": [ + 67.5, + 16, + 2.75 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -10, + 0, + 0 + ], + "origin": [ + 64.5, + 15, + 2.5 + ], + "faces": { + "north": { + "uv": [ + 12, + 0, + 12, + 0 + ], + "texture": 2 + }, + "east": { + "uv": [ + 32, + 0, + 31, + 1 + ], + "texture": 2 + }, + "south": { + "uv": [ + 32, + 0, + 26, + 4 + ], + "texture": 2 + }, + "west": { + "uv": [ + 32, + 0, + 31, + 1 + ], + "texture": 2 + }, + "up": { + "uv": [ + 32, + 0, + 31, + 1 + ], + "texture": 2 + }, + "down": { + "uv": [ + 32, + 0, + 31, + 1 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "d3f2aef2-36ba-e71f-7f32-160b01ad665b" + }, + { + "name": "RibbonBottomRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 63, + 4.5, + 2.25 + ], + "to": [ + 64.5, + 14.5, + 2.75 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -6, + 0, + -20 + ], + "origin": [ + 64.5, + 14.5, + 2.5 + ], + "faces": { + "north": { + "uv": [ + 31, + 0, + 32, + 1 + ], + "texture": 2 + }, + "east": { + "uv": [ + 31, + 0, + 32, + 1 + ], + "texture": 2 + }, + "south": { + "uv": [ + 31, + 0, + 32, + 1 + ], + "texture": 2 + }, + "west": { + "uv": [ + 31, + 0, + 32, + 1 + ], + "texture": 2 + }, + "up": { + "uv": [ + 31, + 0, + 32, + 1 + ], + "texture": 2 + }, + "down": { + "uv": [ + 31, + 0, + 32, + 1 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "d398e136-305b-ff2e-9e3e-f24bb46043e3" + }, + { + "name": "RibbonBottomLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 63.5, + 4.5, + 2.25 + ], + "to": [ + 65, + 14.5, + 2.75 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -6, + 0, + 20 + ], + "origin": [ + 63.5, + 14.5, + 2.5 + ], + "faces": { + "north": { + "uv": [ + 31, + 0, + 32, + 1 + ], + "texture": 2 + }, + "east": { + "uv": [ + 31, + 0, + 32, + 1 + ], + "texture": 2 + }, + "south": { + "uv": [ + 31, + 0, + 32, + 1 + ], + "texture": 2 + }, + "west": { + "uv": [ + 31, + 0, + 32, + 1 + ], + "texture": 2 + }, + "up": { + "uv": [ + 31, + 0, + 32, + 1 + ], + "texture": 2 + }, + "down": { + "uv": [ + 31, + 0, + 32, + 1 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "0f145497-236a-8d3e-289e-49bd0ba364b5" + }, + { + "name": "Accessory", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 67.75, + 14.25, + 0.5 + ], + "to": [ + 68.25, + 15.25, + 1.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + 25 + ], + "origin": [ + 67.75, + 15.25, + 1 + ], + "faces": { + "north": { + "uv": [ + 55, + 36, + 56, + 37 + ], + "texture": 1 + }, + "east": { + "uv": [ + 55, + 36, + 62, + 43 + ], + "texture": 1 + }, + "south": { + "uv": [ + 55, + 36, + 56, + 37 + ], + "texture": 1 + }, + "west": { + "uv": [ + 29, + 32, + 29, + 32 + ], + "texture": 1 + }, + "up": { + "uv": [ + 55, + 36, + 56, + 37 + ], + "texture": 1 + }, + "down": { + "uv": [ + 55, + 36, + 56, + 37 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "11e5075c-d603-b3af-f4b1-6eafe78e847a" + }, + { + "name": "SleeveLing", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 57, + 14.375, + -2 + ], + "to": [ + 60, + 14.625, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 69, + 18, + 2 + ], + "faces": { + "north": { + "uv": [ + 0, + 74, + 1, + 75 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 74, + 1, + 75 + ], + "texture": 2 + }, + "south": { + "uv": [ + 0, + 74, + 1, + 75 + ], + "texture": 2 + }, + "west": { + "uv": [ + 13, + 74, + 17, + 75 + ], + "texture": 2 + }, + "up": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": 2 + }, + "down": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "ff976ee6-ade7-13f0-bbd7-4ecd37ed1751" + }, + { + "name": "MillenniumLogo", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 56.99, + 14.1, + -0.57 + ], + "to": [ + 56.99, + 14.9, + 0.57 + ], + "autouv": 0, + "color": 0, + "origin": [ + 69, + 18, + 2 + ], + "faces": { + "north": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": 2 + }, + "south": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": 2 + }, + "west": { + "uv": [ + 0, + 74, + 27, + 93 + ], + "texture": 2 + }, + "up": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": 2 + }, + "down": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "978b23f9-f6a8-b438-d1d0-dc03c5b8f55e" + }, + { + "name": "MillenniumLogo", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 71.01, + 14.1, + -0.57 + ], + "to": [ + 71.01, + 14.9, + 0.57 + ], + "autouv": 0, + "color": 0, + "origin": [ + 69, + 18, + 2 + ], + "faces": { + "north": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 74, + 27, + 93 + ], + "texture": 2 + }, + "south": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": 2 + }, + "west": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": 2 + }, + "up": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": 2 + }, + "down": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "4bf8bdcd-03e6-ad05-9e85-280ce67a5fe3" + }, + { + "name": "SleeveLing", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 68, + 14.375, + -2 + ], + "to": [ + 71, + 14.625, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 69, + 18, + 2 + ], + "faces": { + "north": { + "uv": [ + 0, + 74, + 1, + 75 + ], + "texture": 2 + }, + "east": { + "uv": [ + 13, + 74, + 17, + 75 + ], + "texture": 2 + }, + "south": { + "uv": [ + 0, + 74, + 1, + 75 + ], + "texture": 2 + }, + "west": { + "uv": [ + 0, + 74, + 1, + 75 + ], + "texture": 2 + }, + "up": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": 2 + }, + "down": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "bfd9bcde-df77-5688-71ad-f9e6de0a52d7" + }, + { + "name": "OOLogoLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 57.74, + 5.85, + 0.68 + ], + "to": [ + 57.74, + 6.85, + 1.823 + ], + "autouv": 0, + "color": 0, + "origin": [ + 69, + 18, + 2 + ], + "faces": { + "north": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 2 + }, + "south": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": 2 + }, + "west": { + "uv": [ + 27, + 74, + 43, + 88 + ], + "texture": 2 + }, + "up": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": 2 + }, + "down": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "03baf98e-5025-226b-5d56-5eb8b57dd379" + }, + { + "name": "Barrel1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 63.60625, + 0, + -12 + ], + "to": [ + 64.39375, + 0.7875, + -6.6375 + ], + "autouv": 0, + "color": 0, + "origin": [ + 62.5, + -8.25, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 98, + 5, + 103 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 97, + 2, + 98 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 97, + 1, + 98 + ], + "texture": 1 + }, + "west": { + "uv": [ + 2, + 97, + 0, + 98 + ], + "texture": 1 + }, + "up": { + "uv": [ + 2, + 97, + 0, + 98 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 2, + 97, + 0, + 98 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "f72700cd-69b2-684e-ad63-161195bd1ff9" + }, + { + "name": "Barrel2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 63.1, + -0.50625, + -11.775 + ], + "to": [ + 64.9, + 1.29375, + -11.3625 + ], + "autouv": 0, + "color": 0, + "origin": [ + 62.5, + -8.25, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 1, + 97, + 2, + 98 + ], + "texture": 1 + }, + "east": { + "uv": [ + 1, + 97, + 2, + 98 + ], + "texture": 1 + }, + "south": { + "uv": [ + 1, + 97, + 2, + 98 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1, + 97, + 2, + 98 + ], + "texture": 1 + }, + "up": { + "uv": [ + 1, + 97, + 2, + 98 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 1, + 97, + 2, + 98 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "2c16e3da-c1f6-2a48-dd86-a6bcccde7edf" + }, + { + "name": "Barrel3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 63.2125, + -0.39375, + -11.3625 + ], + "to": [ + 64.7875, + 1.18125, + -11.025 + ], + "autouv": 0, + "color": 0, + "origin": [ + 62.5, + -8.25, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 97, + 0, + 97 + ], + "texture": 1 + }, + "east": { + "uv": [ + 2, + 97, + 5, + 98 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 97, + 0, + 97 + ], + "texture": 1 + }, + "west": { + "uv": [ + 5, + 97, + 2, + 98 + ], + "texture": 1 + }, + "up": { + "uv": [ + 5, + 97, + 2, + 98 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 5, + 97, + 2, + 98 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "cc5728a5-4902-fe33-c2b8-3420a3e61cad" + }, + { + "name": "Barrel4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 63.00625, + -0.6, + -11.025 + ], + "to": [ + 64.99375, + 1.3875, + -10.4625 + ], + "autouv": 0, + "color": 0, + "origin": [ + 62.5, + -8.25, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 8, + 97, + 9, + 98 + ], + "texture": 1 + }, + "east": { + "uv": [ + 7.5, + 97, + 9, + 98 + ], + "texture": 1 + }, + "south": { + "uv": [ + 7, + 97, + 8, + 98 + ], + "texture": 1 + }, + "west": { + "uv": [ + 9, + 97, + 7.5, + 98 + ], + "texture": 1 + }, + "up": { + "uv": [ + 9, + 97, + 7.5, + 98 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 9, + 97, + 7.5, + 98 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "0e7be8ab-db85-5020-4468-eba6054f4370" + }, + { + "name": "Barrel5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 63.2125, + -0.39375, + -10.4625 + ], + "to": [ + 64.7875, + 1.18125, + -9.4875 + ], + "autouv": 0, + "color": 0, + "origin": [ + 62.5, + -8.25, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 97, + 0, + 97 + ], + "texture": 1 + }, + "east": { + "uv": [ + 5, + 97, + 7.5, + 98 + ], + "texture": 1 + }, + "south": { + "uv": [ + 5, + 97, + 6, + 98 + ], + "texture": 1 + }, + "west": { + "uv": [ + 7.5, + 97, + 5, + 98 + ], + "texture": 1 + }, + "up": { + "uv": [ + 7.5, + 97, + 5, + 98 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 7.5, + 97, + 5, + 98 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "a7b79880-6b16-bbdd-5819-76f6d17be2ae" + }, + { + "name": "Barrel6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 63.45625, + -0.15, + -9.4875 + ], + "to": [ + 64.54375, + 0.9375, + -8.325 + ], + "autouv": 0, + "color": 0, + "origin": [ + 62.5, + -8.25, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 97, + 0, + 97 + ], + "texture": 1 + }, + "east": { + "uv": [ + 9, + 97, + 12, + 98 + ], + "texture": 1 + }, + "south": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "texture": 1 + }, + "west": { + "uv": [ + 9, + 97, + 12, + 98 + ], + "texture": 1 + }, + "up": { + "uv": [ + 9, + 97, + 12, + 98 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 9, + 97, + 12, + 98 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "abf966ad-256e-1fe0-df52-a4e9c077b24b" + }, + { + "name": "Barrel7", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 63.49375, + -0.1125, + -7.5 + ], + "to": [ + 64.50625, + 0.9, + -7.1625 + ], + "autouv": 0, + "color": 0, + "origin": [ + 62.5, + -8.25, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "texture": 1 + }, + "east": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "texture": 1 + }, + "south": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "texture": 1 + }, + "west": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "texture": 1 + }, + "up": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "be8ac874-5352-b790-d120-1c57853a71b1" + }, + { + "name": "GunBody3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 63.49375, + -0.1125, + -6.6375 + ], + "to": [ + 64.50625, + 1.05, + -5.775 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + -5.25, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "texture": 1 + }, + "east": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "texture": 1 + }, + "south": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "texture": 1 + }, + "west": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "texture": 1 + }, + "up": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "62c3bf80-b7be-d5f7-1cdb-bf62b56e0103" + }, + { + "name": "GunBody1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 63.60625, + 0, + -6.1125 + ], + "to": [ + 64.39375, + 2.025, + 7.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + -5.25, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 97, + 0, + 97 + ], + "texture": 1 + }, + "east": { + "uv": [ + 5, + 98, + 44.4, + 104 + ], + "texture": 1 + }, + "south": { + "uv": [ + 5, + 98, + 6, + 99 + ], + "texture": 1 + }, + "west": { + "uv": [ + 44.4, + 98, + 5, + 104 + ], + "texture": 1 + }, + "up": { + "uv": [ + 44.4, + 98, + 5, + 99 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 44.4, + 98, + 5, + 99 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "b89be4f2-db00-1503-8b92-33808e81bea4" + }, + { + "name": "GunBodyEnd1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 63.475, + 1.0125, + -6.6375 + ], + "to": [ + 64.525, + 2.0625, + -6.1125 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + -5.25, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 97, + 0, + 97 + ], + "texture": 1 + }, + "east": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "texture": 1 + }, + "south": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "texture": 1 + }, + "west": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "texture": 1 + }, + "up": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "b16d613a-5db9-1f54-1910-e2feb559a327" + }, + { + "name": "GunBodyEnd2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 63.4, + 0.9375, + -7.125 + ], + "to": [ + 64.6, + 2.1375, + -6.6375 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + -5.25, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "texture": 1 + }, + "east": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "texture": 1 + }, + "south": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "texture": 1 + }, + "west": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "texture": 1 + }, + "up": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "cb46413f-6560-3936-7be6-5b7360a71c93" + }, + { + "name": "GunBody4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 63.60625, + 2.025, + 0.225 + ], + "to": [ + 64.39375, + 2.2125, + 7.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + -5.25, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 5, + 98, + 6, + 99 + ], + "texture": 1 + }, + "east": { + "uv": [ + 5, + 98, + 6, + 99 + ], + "texture": 1 + }, + "south": { + "uv": [ + 5, + 98, + 6, + 99 + ], + "texture": 1 + }, + "west": { + "uv": [ + 5, + 98, + 6, + 99 + ], + "texture": 1 + }, + "up": { + "uv": [ + 5, + 98, + 6, + 99 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "bd456ef2-48c8-6821-9ae0-e4cab0677b73" + }, + { + "name": "FrontSight1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 63.4375, + 2.0625, + -6.6375 + ], + "to": [ + 64.5625, + 2.2125, + -6.1125 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 2.25, + -6 + ], + "faces": { + "north": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "texture": 1 + }, + "east": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "texture": 1 + }, + "south": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "texture": 1 + }, + "west": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "texture": 1 + }, + "up": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "baca8112-f890-fac4-115c-cf2e5fadf59f" + }, + { + "name": "FrontSight2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 64.4125, + 2.2125, + -6.6375 + ], + "to": [ + 64.5625, + 3.0375, + -6.1125 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 2.25, + -6 + ], + "faces": { + "north": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "texture": 1 + }, + "east": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "texture": 1 + }, + "south": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "texture": 1 + }, + "west": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 97, + 0, + 97 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 97, + 0, + 97 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "ff65923a-c616-3df6-d15c-cb33a7935121" + }, + { + "name": "FrontSight3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 63.4375, + 3.0375, + -6.6375 + ], + "to": [ + 64.5625, + 3.1875, + -6.1125 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 2.25, + -6 + ], + "faces": { + "north": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "texture": 1 + }, + "east": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "texture": 1 + }, + "south": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "texture": 1 + }, + "west": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "texture": 1 + }, + "up": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "d3a47367-5e1a-5e76-d92d-ebf5c92b3a81" + }, + { + "name": "FrontSight4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 63.4375, + 2.2125, + -6.6375 + ], + "to": [ + 63.5875, + 3.0375, + -6.1125 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 2.25, + -6 + ], + "faces": { + "north": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "texture": 1 + }, + "east": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "texture": 1 + }, + "south": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "texture": 1 + }, + "west": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 97, + 0, + 97 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 97, + 0, + 97 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "db58abec-0d26-0fdb-7fe6-8f68e02dc624" + }, + { + "name": "FrontSight5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 63.587, + 2.212, + -6.3755 + ], + "to": [ + 64.413, + 3.038, + -6.3745 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 64, + 2.25, + -6 + ], + "faces": { + "north": { + "uv": [ + 0, + 103, + 5, + 108 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 97, + 0, + 97 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 103, + 5, + 108 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 97, + 0, + 97 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 97, + 0, + 97 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 97, + 0, + 97 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "b375596c-e67b-cfaa-bca9-fcb95a8c3ce0" + }, + { + "name": "GunBody2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 63.41875, + -0.6375, + -5.85 + ], + "to": [ + 64.58125, + 1.2375, + 0.5625 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + -5.25, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 12, + 97, + 13, + 98 + ], + "texture": 1 + }, + "east": { + "uv": [ + 12, + 97, + 42, + 98 + ], + "texture": 1 + }, + "south": { + "uv": [ + 12, + 97, + 13, + 98 + ], + "texture": 1 + }, + "west": { + "uv": [ + 42, + 97, + 12, + 98 + ], + "texture": 1 + }, + "up": { + "uv": [ + 42, + 97, + 12, + 98 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 42, + 97, + 12, + 98 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "4db5d913-9b32-856c-0d28-ff049de98293" + }, + { + "name": "BackSight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 63.60375, + 2.0225, + 5.6225 + ], + "to": [ + 64.39625, + 2.6275, + 6.9025 + ], + "autouv": 0, + "color": 0, + "inflate": 0.005, + "origin": [ + 64, + -5.25, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "texture": 1 + }, + "east": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "texture": 1 + }, + "south": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "texture": 1 + }, + "west": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "texture": 1 + }, + "up": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "4d6028b0-b228-5f3b-d409-d9c45ba84d9d" + }, + { + "name": "Magazine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 63.60625, + -4.3125, + 0.135 + ], + "to": [ + 64.39375, + 0, + 2.46 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 3, + 0, + 0 + ], + "origin": [ + 64, + 0, + 2.46 + ], + "faces": { + "north": { + "uv": [ + 5, + 108, + 6, + 119.13 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 108, + 6, + 119.13 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 108, + 1, + 119.13 + ], + "texture": 1 + }, + "west": { + "uv": [ + 6, + 108, + 0, + 119.13 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 97, + 0, + 97 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 6, + 119, + 0, + 120 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "6a93ca48-f231-13f9-f3ad-8d7fddb2e107" + }, + { + "name": "GunBody5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 63.60375, + -1.54, + 2.3825 + ], + "to": [ + 64.39625, + 0.0025, + 5.2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.005, + "origin": [ + 64, + -5.25, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 97, + 0, + 97 + ], + "texture": 1 + }, + "east": { + "uv": [ + 6, + 104, + 16.98, + 110 + ], + "texture": 1 + }, + "south": { + "uv": [ + 6, + 104, + 6.98, + 105 + ], + "texture": 1 + }, + "west": { + "uv": [ + 16.98, + 104, + 6, + 110 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 97, + 0, + 97 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 6, + 104, + 6.98, + 105 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "9a16dde7-895d-f5d7-d84f-0c0dd36b62c1" + }, + { + "name": "GunBody6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 63.60375, + -0.94, + 5.195 + ], + "to": [ + 64.39625, + 0.0025, + 5.9125 + ], + "autouv": 0, + "color": 0, + "inflate": 0.005, + "origin": [ + 64, + -5.25, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 97, + 0, + 97 + ], + "texture": 1 + }, + "east": { + "uv": [ + 14, + 106, + 17.04, + 110 + ], + "texture": 1 + }, + "south": { + "uv": [ + 6, + 104, + 6.98, + 105 + ], + "texture": 1 + }, + "west": { + "uv": [ + 14, + 106, + 17.04, + 110 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 97, + 0, + 97 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 6, + 104, + 6.98, + 105 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "73778aab-d8f4-cb9b-f2ce-472d1b68180e" + }, + { + "name": "GunBody7", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 63.60675, + -0.937, + 5.9105 + ], + "to": [ + 64.39325, + 0.937, + 12.022 + ], + "autouv": 0, + "color": 0, + "inflate": -0.001, + "origin": [ + 64, + -5.25, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 97, + 0, + 97 + ], + "texture": 1 + }, + "east": { + "uv": [ + 17, + 104, + 49.6, + 109 + ], + "texture": 1 + }, + "south": { + "uv": [ + 17, + 104, + 18, + 109 + ], + "texture": 1 + }, + "west": { + "uv": [ + 49.6, + 104, + 17, + 109 + ], + "texture": 1 + }, + "up": { + "uv": [ + 49.6, + 104, + 17, + 105 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 49.6, + 108, + 17, + 109 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "b2d3bf33-ff46-59f9-28bd-67a3ace5aa79" + }, + { + "name": "GunBody8", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 63.60725, + -2.324, + 8.536 + ], + "to": [ + 64.39275, + -0.9385, + 12.0215 + ], + "autouv": 0, + "color": 0, + "inflate": -0.002, + "rotation": [ + 23, + 0, + 0 + ], + "origin": [ + 62.5, + -0.9375, + 12.0225 + ], + "faces": { + "north": { + "uv": [ + 0, + 97, + 0, + 97 + ], + "texture": 1 + }, + "east": { + "uv": [ + 17, + 104, + 37.2, + 105 + ], + "texture": 1 + }, + "south": { + "uv": [ + 17, + 104, + 18, + 109 + ], + "texture": 1 + }, + "west": { + "uv": [ + 37.2, + 104, + 17, + 105 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 97, + 0, + 97 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 37.2, + 104, + 17, + 105 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "914bd35a-3d00-c64a-5a8a-bf72841949f2" + }, + { + "name": "Grip1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 63.60625, + -2.5125, + 3.9 + ], + "to": [ + 64.39375, + -1.5375, + 5.625 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + -1.5375, + 3.9 + ], + "faces": { + "north": { + "uv": [ + 6, + 110, + 6.85, + 112 + ], + "texture": 1 + }, + "east": { + "uv": [ + 6, + 110, + 6.85, + 112 + ], + "texture": 1 + }, + "south": { + "uv": [ + 6, + 110, + 6.85, + 112 + ], + "texture": 1 + }, + "west": { + "uv": [ + 6, + 110, + 6.85, + 112 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 97, + 0, + 97 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 6, + 111, + 6.85, + 112 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "66ebda03-68e7-11f1-02c3-3556a86adb74" + }, + { + "name": "Grip2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 63.60625, + -4.7625, + 3.9 + ], + "to": [ + 64.39375, + -2.5125, + 5.175 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + -1.5375, + 3.9 + ], + "faces": { + "north": { + "uv": [ + 6, + 112, + 6.85, + 119 + ], + "texture": 1 + }, + "east": { + "uv": [ + 6, + 112, + 6.85, + 119 + ], + "texture": 1 + }, + "south": { + "uv": [ + 6, + 112, + 6.85, + 119 + ], + "texture": 1 + }, + "west": { + "uv": [ + 6, + 112, + 6.85, + 119 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 97, + 0, + 97 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 6, + 118, + 6.85, + 119 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "96738e69-ad22-eb8a-0587-6f349f60c3ba" + }, + { + "name": "TriggerGuard1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 63.7, + -2.025, + 2.5125 + ], + "to": [ + 64.3, + -1.425, + 3.1125 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + -2.25, + 2.5125 + ], + "faces": { + "north": { + "uv": [ + 7, + 110, + 9, + 112 + ], + "texture": 1 + }, + "east": { + "uv": [ + 7, + 110, + 9, + 112 + ], + "texture": 1 + }, + "south": { + "uv": [ + 7, + 110, + 9, + 112 + ], + "texture": 1 + }, + "west": { + "uv": [ + 7, + 110, + 9, + 112 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 97, + 0, + 97 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 7, + 110, + 9, + 112 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "c95afa8b-cbc5-cff3-eee3-f904f67c372b" + }, + { + "name": "TriggerGuard2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 63.7005, + -2.4745, + 2.663 + ], + "to": [ + 64.2995, + -1.8755, + 3.262 + ], + "autouv": 0, + "color": 0, + "inflate": -0.001, + "origin": [ + 64, + -2.25, + 2.5125 + ], + "faces": { + "north": { + "uv": [ + 9, + 110, + 11, + 112 + ], + "texture": 1 + }, + "east": { + "uv": [ + 9, + 110, + 11, + 112 + ], + "texture": 1 + }, + "south": { + "uv": [ + 9, + 110, + 11, + 112 + ], + "texture": 1 + }, + "west": { + "uv": [ + 9, + 110, + 11, + 112 + ], + "texture": 1 + }, + "up": { + "uv": [ + 9, + 110, + 11, + 112 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 9, + 110, + 11, + 112 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "fa175fb7-4380-3b12-94e8-891a942fe690" + }, + { + "name": "TriggerGuard3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 63.7, + -2.775, + 3.1125 + ], + "to": [ + 64.3, + -2.175, + 3.7125 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + -2.25, + 2.5125 + ], + "faces": { + "north": { + "uv": [ + 11, + 110, + 13, + 112 + ], + "texture": 1 + }, + "east": { + "uv": [ + 11, + 110, + 13, + 112 + ], + "texture": 1 + }, + "south": { + "uv": [ + 11, + 110, + 13, + 112 + ], + "texture": 1 + }, + "west": { + "uv": [ + 11, + 110, + 13, + 112 + ], + "texture": 1 + }, + "up": { + "uv": [ + 11, + 110, + 13, + 112 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 11, + 110, + 13, + 112 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "5ac153b2-9826-508c-4a8c-7407906ee261" + }, + { + "name": "TriggerGuard4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 63.7, + -2.85, + 3.7125 + ], + "to": [ + 64.3, + -2.25, + 4.3125 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + -2.25, + 2.5125 + ], + "faces": { + "north": { + "uv": [ + 9, + 110, + 11, + 112 + ], + "texture": 1 + }, + "east": { + "uv": [ + 9, + 110, + 11, + 112 + ], + "texture": 1 + }, + "south": { + "uv": [ + 9, + 110, + 11, + 112 + ], + "texture": 1 + }, + "west": { + "uv": [ + 9, + 110, + 11, + 112 + ], + "texture": 1 + }, + "up": { + "uv": [ + 9, + 110, + 11, + 112 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 9, + 110, + 11, + 112 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "2682abf0-2851-ca80-0b43-f9193a934b93" + }, + { + "name": "TriggerGuard5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 63.7, + -2.7, + 4.3125 + ], + "to": [ + 64.3, + -2.1, + 4.9125 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + -2.25, + 2.5125 + ], + "faces": { + "north": { + "uv": [ + 13, + 110, + 15, + 112 + ], + "texture": 1 + }, + "east": { + "uv": [ + 13, + 110, + 15, + 112 + ], + "texture": 1 + }, + "south": { + "uv": [ + 13, + 110, + 15, + 112 + ], + "texture": 1 + }, + "west": { + "uv": [ + 13, + 110, + 15, + 112 + ], + "texture": 1 + }, + "up": { + "uv": [ + 13, + 110, + 15, + 112 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 13, + 110, + 15, + 112 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "1e65f75b-4464-dfda-8cfb-c1fa6dd87e58" + }, + { + "name": "Trigger", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 63.8125, + -2.1375, + 3.675 + ], + "to": [ + 64.1875, + -1.5375, + 3.8625 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + 64, + -1.5375, + 3.8625 + ], + "faces": { + "north": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "texture": 1 + }, + "east": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "texture": 1 + }, + "south": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "texture": 1 + }, + "west": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 97, + 0, + 97 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 9, + 97, + 10, + 98 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "e7ea995a-d149-a8c8-3700-f0315bc08207" + }, + { + "name": "Accessory", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 63.9995, + -4.5005, + 4.012 + ], + "to": [ + 64.0005, + -3.3745, + 4.63175 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 62.5, + -4.5, + 4.0125 + ], + "faces": { + "north": { + "uv": [ + 0, + 97, + 1, + 98 + ], + "texture": 1 + }, + "east": { + "uv": [ + 7, + 112, + 18, + 132 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 97, + 0, + 97 + ], + "texture": 1 + }, + "west": { + "uv": [ + 18, + 112, + 7, + 132 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 97, + 0, + 97 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 97, + 0, + 97 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "af4603ea-5218-8f18-4232-f421c208fcfa" + }, + { + "name": "AccessoryLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 63.9995, + -3.428, + 4.29325 + ], + "to": [ + 64.0005, + -2.677, + 4.3505 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 62.5, + -4.5, + 4.0125 + ], + "faces": { + "north": { + "uv": [ + 0, + 97, + 1, + 98 + ], + "texture": 1 + }, + "east": { + "uv": [ + 15, + 110, + 16, + 111 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 97, + 0, + 97 + ], + "texture": 1 + }, + "west": { + "uv": [ + 15, + 110, + 16, + 111 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 97, + 0, + 97 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 97, + 0, + 97 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "470028ca-2ed9-bf89-1330-b1584ea95a78" + }, + { + "name": "GDDLabelRight", + "color": 0, + "origin": [ + 65.5225, + 0.885, + -2.175 + ], + "rotation": [ + 45, + -180, + 90 + ], + "export": true, + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "VQ18": [ + -0.825, + -0.9375, + 0.525 + ], + "zqHt": [ + -2.325, + -0.9375, + 0.525 + ], + "4loY": [ + -0.825, + -0.9375, + -1.35 + ], + "2P74": [ + -0.825, + -0.9375, + 0.15 + ], + "2sO4": [ + -2.325, + -0.9375, + 0.15 + ] + }, + "faces": { + "nXjbgJ1R": { + "uv": { + "VQ18": [ + 98, + 12 + ], + "2P74": [ + 91.33333, + 12 + ], + "2sO4": [ + 91.33333, + 37 + ], + "zqHt": [ + 98, + 37 + ] + }, + "vertices": [ + "VQ18", + "2P74", + "2sO4", + "zqHt" + ], + "texture": 3 + }, + "bKDGqv4f": { + "uv": { + "2sO4": [ + 91.33333, + 37 + ], + "2P74": [ + 91.33333, + 12 + ], + "4loY": [ + 64.66667, + 12 + ] + }, + "vertices": [ + "2sO4", + "2P74", + "4loY" + ], + "texture": 3 + } + }, + "type": "mesh", + "uuid": "f1cb030c-bffd-6a37-4a29-55ae9bccd8c5" + }, + { + "name": "GDDLabelLeft", + "color": 0, + "origin": [ + 63.415, + 0.0525, + -1.2075 + ], + "rotation": [ + 135, + 0, + 90 + ], + "export": true, + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "SQMr": [ + 0.9, + 0, + -0.8886 + ], + "g92h": [ + -0.6, + 0, + -0.8886 + ], + "heU2": [ + 0.9, + 0, + 0.0924 + ], + "QoBR": [ + -0.6, + 0, + 0.0924 + ], + "WFdJ": [ + -0.6, + 0, + 1.5924 + ] + }, + "faces": { + "JHSbXpCL": { + "uv": { + "g92h": [ + 18, + 37 + ], + "heU2": [ + 35.44, + 12 + ], + "QoBR": [ + 35.44, + 37 + ], + "SQMr": [ + 18, + 12 + ] + }, + "vertices": [ + "g92h", + "heU2", + "QoBR", + "SQMr" + ], + "texture": 3 + }, + "INKCpOXx": { + "uv": { + "QoBR": [ + 35.44, + 37 + ], + "WFdJ": [ + 62.10667, + 37 + ], + "heU2": [ + 35.44, + 12 + ] + }, + "vertices": [ + "QoBR", + "WFdJ", + "heU2" + ], + "texture": 3 + } + }, + "type": "mesh", + "uuid": "60039310-140a-8402-ad3e-7758d10a7174" + }, + { + "name": "GDDLabelCenter", + "color": 0, + "origin": [ + 64, + -0.639, + -2.2845 + ], + "rotation": [ + 0, + 135, + -180 + ], + "export": true, + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "heU2": [ + 0.75, + 0, + -1.572 + ], + "cwKq": [ + 0.75, + 0, + -0.072 + ], + "WFdJ": [ + -0.75, + 0, + -0.072 + ], + "4loY": [ + 0.75, + 0, + 0.072 + ], + "xdd1": [ + -0.75, + 0, + 0.072 + ], + "2sO4": [ + -0.75, + 0, + 1.572 + ] + }, + "faces": { + "HmgJRJGt": { + "uv": { + "WFdJ": [ + 62.10667, + 37 + ], + "4loY": [ + 64.66667, + 12 + ], + "xdd1": [ + 64.66667, + 37 + ], + "cwKq": [ + 62.10667, + 12 + ] + }, + "vertices": [ + "WFdJ", + "4loY", + "xdd1", + "cwKq" + ], + "texture": 3 + }, + "D0hVLKEZ": { + "uv": { + "xdd1": [ + 64.66667, + 37 + ], + "2sO4": [ + 91.33333, + 37 + ], + "4loY": [ + 64.66667, + 12 + ] + }, + "vertices": [ + "xdd1", + "2sO4", + "4loY" + ], + "texture": 3 + }, + "65CXTcoP": { + "uv": { + "WFdJ": [ + 62.10667, + 37 + ], + "cwKq": [ + 62.10667, + 12 + ], + "heU2": [ + 35.44, + 12 + ] + }, + "vertices": [ + "WFdJ", + "cwKq", + "heU2" + ], + "texture": 3 + } + }, + "type": "mesh", + "uuid": "c2d143f4-2d08-e6fa-e52d-cf2a216936a1" + }, + { + "name": "MomoiReticuleLine1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.06, + -3.825, + 1.9 + ], + "to": [ + 1.06, + -0.295, + 1.9 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0, + 1, + 2 + ], + "faces": { + "north": { + "uv": [ + 71, + 48, + 74, + 43 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + } + }, + "type": "cube", + "uuid": "96321899-e1dd-b58b-bb52-b19b16db89cf" + }, + { + "name": "MomoiReticuleLine2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.06, + -3.825, + 1.9 + ], + "to": [ + 1.06, + -0.295, + 1.9 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 0, + 0, + 90 + ], + "origin": [ + 0, + 1, + 2 + ], + "faces": { + "north": { + "uv": [ + 71, + 48, + 74, + 43 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + } + }, + "type": "cube", + "uuid": "f6bd9d2f-3182-0ae5-c4ed-8020b8cbcfe5" + }, + { + "name": "MomoiReticuleLine3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.06, + -3.825, + 1.9 + ], + "to": [ + 1.06, + -0.295, + 1.9 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 0, + 0, + -180 + ], + "origin": [ + 0, + 1, + 2 + ], + "faces": { + "north": { + "uv": [ + 71, + 48, + 74, + 43 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + } + }, + "type": "cube", + "uuid": "74cd4dba-c37b-c29e-4721-b12f6dfd06b8" + }, + { + "name": "MomoiReticuleLine4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.06, + -3.825, + 1.9 + ], + "to": [ + 1.06, + -0.295, + 1.9 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 0, + 0, + -90 + ], + "origin": [ + 0, + 1, + 2 + ], + "faces": { + "north": { + "uv": [ + 71, + 48, + 74, + 43 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + } + }, + "type": "cube", + "uuid": "78df8edc-4ff3-d761-251e-36b8810db134" + }, + { + "name": "MomoiReticule", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + -3, + 2 + ], + "to": [ + 4, + 5, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 1, + 2 + ], + "faces": { + "north": { + "uv": [ + 54, + 43, + 71, + 60 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + } + }, + "type": "cube", + "uuid": "b03c014d-c647-31bc-8b84-3d5384fc2d77" + }, + { + "name": "MidoriReticule", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + -3, + 2 + ], + "to": [ + 4, + 5, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 1, + 2 + ], + "faces": { + "north": { + "uv": [ + 54, + 60, + 71, + 77 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + } + }, + "type": "cube", + "uuid": "2c9c3480-af77-5339-53d9-b6dda80342fa" + }, + { + "name": "MidoriReticuleLines1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.06, + -3.825, + 1.9 + ], + "to": [ + 1.06, + -0.295, + 1.9 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0, + 1, + 2 + ], + "faces": { + "north": { + "uv": [ + 71, + 65, + 74, + 60 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + } + }, + "type": "cube", + "uuid": "f1e6b844-5112-0909-3dc9-7035b053809c" + }, + { + "name": "MidoriReticuleLines2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.06, + -3.825, + 1.9 + ], + "to": [ + 1.06, + -0.295, + 1.9 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 0, + 0, + 90 + ], + "origin": [ + 0, + 1, + 2 + ], + "faces": { + "north": { + "uv": [ + 71, + 65, + 74, + 60 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + } + }, + "type": "cube", + "uuid": "e4164859-0595-dd6c-1aec-d18a2965656f" + }, + { + "name": "MidoriReticuleLines3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.06, + -3.825, + 1.9 + ], + "to": [ + 1.06, + -0.295, + 1.9 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 0, + 0, + -180 + ], + "origin": [ + 0, + 1, + 2 + ], + "faces": { + "north": { + "uv": [ + 71, + 65, + 74, + 60 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + } + }, + "type": "cube", + "uuid": "2e12cc5f-4736-f47c-9c59-93da401fe6c6" + }, + { + "name": "MidoriReticuleLines4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.06, + -3.825, + 1.9 + ], + "to": [ + 1.06, + -0.295, + 1.9 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 0, + 0, + -90 + ], + "origin": [ + 0, + 1, + 2 + ], + "faces": { + "north": { + "uv": [ + 71, + 65, + 74, + 60 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + } + }, + "type": "cube", + "uuid": "82475b7c-6ef5-fa46-faf5-f81425ccc998" + }, + { + "name": "UI1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + 0 + ], + "to": [ + 80, + 72, + 0 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 40, + 36, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 132, + 40, + 168 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 40, + 132, + 0, + 168 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "62602b88-cc66-7c02-0afa-af1ae13798b6" + }, + { + "name": "UI2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 50, + 2, + 0 + ], + "to": [ + 78, + 70, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + 40, + 36, + 0 + ], + "faces": { + "north": { + "uv": [ + 40, + 132, + 54, + 166 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "14fc0147-c6d6-4fd1-9774-c6e8a7217835" + }, + { + "name": "LifeIcon1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + -9, + 0 + ], + "to": [ + 51, + 2.05, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -82, + -148, + 0 + ], + "faces": { + "north": { + "uv": [ + 18, + 109, + 37, + 124 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b0dafb09-2be0-60c6-280a-555ed8562e6a" + }, + { + "name": "Bullet1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 55, + 61.5, + -2 + ], + "to": [ + 77, + 65.5, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 61.5, + -2 + ], + "faces": { + "north": { + "uv": [ + 37, + 109, + 59, + 114 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5a0f4023-15b1-157e-ce43-54d04b8f7954" + }, + { + "name": "Bullet2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 55, + 56.5, + -2 + ], + "to": [ + 77, + 60.5, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 56.5, + -2 + ], + "faces": { + "north": { + "uv": [ + 37, + 109, + 59, + 114 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "96fd6c58-6b70-ed53-6817-d4c9acd30b96" + }, + { + "name": "Bullet3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 55, + 51.5, + -2 + ], + "to": [ + 77, + 55.5, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 51.5, + -2 + ], + "faces": { + "north": { + "uv": [ + 37, + 109, + 59, + 114 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "0e342361-c733-bfc5-d012-c1dfefc345c0" + }, + { + "name": "Bullet4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 55, + 46.5, + -2 + ], + "to": [ + 77, + 50.5, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 46.5, + -2 + ], + "faces": { + "north": { + "uv": [ + 37, + 109, + 59, + 114 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ce51a473-736b-068a-121a-04c7b1e993aa" + }, + { + "name": "Bullet5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 55, + 41.5, + -2 + ], + "to": [ + 77, + 45.5, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 41.5, + -2 + ], + "faces": { + "north": { + "uv": [ + 37, + 109, + 59, + 114 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6988309f-2ee2-e18b-5149-500c96d75e59" + }, + { + "name": "Bullet6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 55, + 36.5, + -2 + ], + "to": [ + 77, + 40.5, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 36.5, + -2 + ], + "faces": { + "north": { + "uv": [ + 37, + 109, + 59, + 114 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "fd469d60-0ab0-5839-0d13-d7495809e3ac" + }, + { + "name": "Bullet7", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 55, + 31.5, + -2 + ], + "to": [ + 77, + 35.5, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 31.5, + -2 + ], + "faces": { + "north": { + "uv": [ + 37, + 109, + 59, + 114 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "3cb5f241-f987-9602-96c0-fca71cf290ed" + }, + { + "name": "Bullet8", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 55, + 26.5, + -2 + ], + "to": [ + 77, + 30.5, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 26.5, + -2 + ], + "faces": { + "north": { + "uv": [ + 37, + 109, + 59, + 114 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "099f8192-a74c-8f42-3713-615aba66b118" + }, + { + "name": "Bullet9", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 55, + 21.5, + -2 + ], + "to": [ + 77, + 25.5, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 21.5, + -2 + ], + "faces": { + "north": { + "uv": [ + 37, + 109, + 59, + 114 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ff270485-f205-379b-9274-5946bb795138" + }, + { + "name": "Bullet10", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 55, + 16.5, + -2 + ], + "to": [ + 77, + 20.5, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 16.5, + -2 + ], + "faces": { + "north": { + "uv": [ + 37, + 109, + 59, + 114 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "2e2157a8-cd02-067c-099e-74cac40b5ec8" + }, + { + "name": "Bullet11", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 55, + 11.5, + -2 + ], + "to": [ + 77, + 15.5, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 11.5, + -2 + ], + "faces": { + "north": { + "uv": [ + 37, + 109, + 59, + 114 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "73857499-ea0a-54d1-d917-195edec64722" + }, + { + "name": "Bullet12", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 55, + 6.5, + -2 + ], + "to": [ + 77, + 10.5, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 6.5, + -2 + ], + "faces": { + "north": { + "uv": [ + 37, + 109, + 59, + 114 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6eaa04b0-a15e-a906-aa55-ab4b7fa6542e" + }, + { + "name": "Bullet13", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 52, + 60.5, + -1 + ], + "to": [ + 74, + 64.5, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 61, + 60.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 37, + 109, + 59, + 114 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "7f4982ef-352f-5418-60ee-3efe4f28a3c6" + }, + { + "name": "Bullet14", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 52, + 55.5, + -1 + ], + "to": [ + 74, + 59.5, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 61, + 55.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 37, + 109, + 59, + 114 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "89bcb4b7-7f96-1f64-fd46-7267755f2414" + }, + { + "name": "Bullet15", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 52, + 50.5, + -1 + ], + "to": [ + 74, + 54.5, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 61, + 50.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 37, + 109, + 59, + 114 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6bb1e74d-8c45-b045-25ce-a1952133e78a" + }, + { + "name": "Bullet16", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 52, + 45.5, + -1 + ], + "to": [ + 74, + 49.5, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 61, + 45.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 37, + 109, + 59, + 114 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ba630b5f-3bf8-4e9b-b93c-e20755b445c0" + }, + { + "name": "Bullet17", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 52, + 40.5, + -1 + ], + "to": [ + 74, + 44.5, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 61, + 40.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 37, + 109, + 59, + 114 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e276c591-55fd-a1a4-7a25-1a3eb4e89fc3" + }, + { + "name": "Bullet18", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 52, + 35.5, + -1 + ], + "to": [ + 74, + 39.5, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 61, + 35.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 37, + 109, + 59, + 114 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d0010067-f007-82e6-a6b9-d814f2af2990" + }, + { + "name": "Bullet19", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 52, + 30.5, + -1 + ], + "to": [ + 74, + 34.5, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 61, + 30.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 37, + 109, + 59, + 114 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "c92e5194-e1c6-656e-a7ce-48e5cf2b4356" + }, + { + "name": "Bullet20", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 52, + 25.5, + -1 + ], + "to": [ + 74, + 29.5, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 61, + 25.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 37, + 109, + 59, + 114 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5c7baedb-3efc-eab1-6a9e-324373789d58" + }, + { + "name": "Bullet21", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 52, + 20.5, + -1 + ], + "to": [ + 74, + 24.5, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 61, + 20.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 37, + 109, + 59, + 114 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5d98d232-56ee-854e-7b62-cab5e4366426" + }, + { + "name": "Bullet22", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 52, + 15.5, + -1 + ], + "to": [ + 74, + 19.5, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 61, + 15.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 37, + 109, + 59, + 114 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6c80824e-773f-caa0-4d5f-79bdb2fa46ec" + }, + { + "name": "Bullet23", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 52, + 10.5, + -1 + ], + "to": [ + 74, + 14.5, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 61, + 10.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 37, + 109, + 59, + 114 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "af3af59c-d9f8-a7a6-2b01-4abbc0d412fa" + }, + { + "name": "Bullet24", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 52, + 5.5, + -1 + ], + "to": [ + 74, + 9.5, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 61, + 5.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 37, + 109, + 59, + 114 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "34ae022c-7b22-8a6e-caf8-3ff3867d465d" + }, + { + "name": "Frame", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -79, + -77, + -73 + ], + "to": [ + -11, + -9, + -73 + ], + "autouv": 0, + "color": 0, + "origin": [ + -79, + -77, + 0 + ], + "faces": { + "north": { + "uv": [ + 54, + 132, + 88, + 166 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5c8b2874-e2d1-29ba-bd96-a5a948ea69b6" + }, + { + "name": "Background", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -77, + -75, + 0 + ], + "to": [ + -13, + -11, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -79, + -77, + 0 + ], + "faces": { + "north": { + "uv": [ + 37, + 114, + 46, + 123 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "cf9b2f96-82ad-33e8-6e2f-2e421fea26e1" + }, + { + "name": "Body", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -49.75, + -67.5, + -59 + ], + "to": [ + -41.75, + -64.5, + -55 + ], + "autouv": 0, + "color": 0, + "origin": [ + -7.75, + -30.9, + -57 + ], + "uv_offset": [ + 16, + 16 + ], + "faces": { + "north": { + "uv": [ + 20, + 53, + 28, + 56 + ], + "texture": 1 + }, + "east": { + "uv": [ + 16, + 53, + 20, + 56 + ], + "texture": 1 + }, + "south": { + "uv": [ + 32, + 53, + 40, + 56 + ], + "texture": 1 + }, + "west": { + "uv": [ + 28, + 53, + 32, + 56 + ], + "texture": 1 + }, + "up": { + "uv": [ + 28, + 53, + 20, + 49 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "fba35b14-2634-64ce-7f2b-b5d6bb86ded8" + }, + { + "name": "BodyLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -49.75, + -67.5, + -59 + ], + "to": [ + -41.75, + -64.5, + -55 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + -7.75, + -30.9, + -57 + ], + "uv_offset": [ + 16, + 32 + ], + "faces": { + "north": { + "uv": [ + 20, + 69, + 28, + 72 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 1 + }, + "up": { + "uv": [ + 28, + 69, + 20, + 65 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b0e2a364-2bfd-70de-ac96-d0ec32a13664" + }, + { + "name": "RightArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.75, + -67.5, + -59 + ], + "to": [ + -38.75, + -64.5, + -55 + ], + "autouv": 0, + "color": 0, + "origin": [ + 2.25, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 44, + 53, + 47, + 56 + ], + "texture": 1 + }, + "east": { + "uv": [ + 40, + 53, + 44, + 56 + ], + "texture": 1 + }, + "south": { + "uv": [ + 51, + 53, + 54, + 56 + ], + "texture": 1 + }, + "west": { + "uv": [ + 47, + 53, + 51, + 56 + ], + "texture": 1 + }, + "up": { + "uv": [ + 47, + 53, + 44, + 49 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e3130767-8d42-8ae1-928d-d1c6c6fd322d" + }, + { + "name": "LeftArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -52.75, + -67.5, + -59 + ], + "to": [ + -49.75, + -64.5, + -55 + ], + "autouv": 0, + "color": 0, + "origin": [ + 2.25, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 36, + 85, + 39, + 88 + ], + "texture": 1 + }, + "east": { + "uv": [ + 32, + 85, + 36, + 88 + ], + "texture": 1 + }, + "south": { + "uv": [ + 43, + 85, + 46, + 88 + ], + "texture": 1 + }, + "west": { + "uv": [ + 39, + 85, + 43, + 88 + ], + "texture": 1 + }, + "up": { + "uv": [ + 39, + 85, + 36, + 81 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "a3a49e25-79f9-4980-4dfa-ff4da4149bdf" + }, + { + "name": "Bullet1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 6.25, + 61.5, + -2 + ], + "to": [ + 28.25, + 65.5, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 15.25, + 61.5, + -2 + ], + "faces": { + "north": { + "uv": [ + 37, + 109, + 59, + 114 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "c93242f6-b0f2-cee7-75d6-2c853167fcdd" + }, + { + "name": "Bullet2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 6.25, + 56.5, + -2 + ], + "to": [ + 28.25, + 60.5, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 15.25, + 56.5, + -2 + ], + "faces": { + "north": { + "uv": [ + 37, + 109, + 59, + 114 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "95f8d2a0-ab01-aa1a-9adf-819ada35bb7b" + }, + { + "name": "Bullet3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 6.25, + 51.5, + -2 + ], + "to": [ + 28.25, + 55.5, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 15.25, + 51.5, + -2 + ], + "faces": { + "north": { + "uv": [ + 37, + 109, + 59, + 114 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "958bccb4-fe10-4cad-d34b-e5c1380b57e1" + }, + { + "name": "Bullet4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 6.25, + 46.5, + -2 + ], + "to": [ + 28.25, + 50.5, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 15.25, + 46.5, + -2 + ], + "faces": { + "north": { + "uv": [ + 37, + 109, + 59, + 114 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d9f28089-d978-2b45-b2b0-f6cade8fb28b" + }, + { + "name": "Bullet5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 6.25, + 41.5, + -2 + ], + "to": [ + 28.25, + 45.5, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 15.25, + 41.5, + -2 + ], + "faces": { + "north": { + "uv": [ + 37, + 109, + 59, + 114 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5347ea06-80c1-2be4-8fc2-4a8f56db248a" + }, + { + "name": "Bullet6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 6.25, + 36.5, + -2 + ], + "to": [ + 28.25, + 40.5, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 15.25, + 36.5, + -2 + ], + "faces": { + "north": { + "uv": [ + 37, + 109, + 59, + 114 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "554c4cd9-9816-1e88-4848-331aee153a71" + }, + { + "name": "Bullet7", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 6.25, + 31.5, + -2 + ], + "to": [ + 28.25, + 35.5, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 15.25, + 31.5, + -2 + ], + "faces": { + "north": { + "uv": [ + 37, + 109, + 59, + 114 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "7c6278c7-e86b-76a4-5629-d05b6fc533e1" + }, + { + "name": "Bullet8", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 6.25, + 26.5, + -2 + ], + "to": [ + 28.25, + 30.5, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 15.25, + 26.5, + -2 + ], + "faces": { + "north": { + "uv": [ + 37, + 109, + 59, + 114 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "72dd320f-ffa4-9890-4350-c860738aa3b3" + }, + { + "name": "Bullet9", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 6.25, + 21.5, + -2 + ], + "to": [ + 28.25, + 25.5, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 15.25, + 21.5, + -2 + ], + "faces": { + "north": { + "uv": [ + 37, + 109, + 59, + 114 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "2a0032e0-593e-84fa-0ae4-46b280742467" + }, + { + "name": "Bullet10", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 6.25, + 16.5, + -2 + ], + "to": [ + 28.25, + 20.5, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 15.25, + 16.5, + -2 + ], + "faces": { + "north": { + "uv": [ + 37, + 109, + 59, + 114 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "911a864e-c778-6e3b-b83f-8624f7f3e952" + }, + { + "name": "Bullet11", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.25, + 60.5, + -1 + ], + "to": [ + 25.25, + 64.5, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 12.25, + 60.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 37, + 109, + 59, + 114 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "c327eb39-1596-8b37-9dca-a15605bb3040" + }, + { + "name": "Bullet12", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.25, + 55.5, + -1 + ], + "to": [ + 25.25, + 59.5, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 12.25, + 55.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 37, + 109, + 59, + 114 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "94b0afa9-dc4d-970f-e2ac-531a02722c1b" + }, + { + "name": "Bullet13", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.25, + 50.5, + -1 + ], + "to": [ + 25.25, + 54.5, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 12.25, + 50.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 37, + 109, + 59, + 114 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "051e959b-b28b-6f09-78a2-b0f376f82906" + }, + { + "name": "Bullet14", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.25, + 45.5, + -1 + ], + "to": [ + 25.25, + 49.5, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 12.25, + 45.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 37, + 109, + 59, + 114 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6b9ec136-bbf7-9a04-f09f-57586602f399" + }, + { + "name": "Bullet15", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.25, + 40.5, + -1 + ], + "to": [ + 25.25, + 44.5, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 12.25, + 40.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 37, + 109, + 59, + 114 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b231da3d-815d-d977-b4d8-c1147ba08f8a" + }, + { + "name": "Bullet16", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.25, + 35.5, + -1 + ], + "to": [ + 25.25, + 39.5, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 12.25, + 35.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 37, + 109, + 59, + 114 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "fe94ed3f-2328-598a-7b65-d6b30e0f6ff3" + }, + { + "name": "Bullet17", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.25, + 30.5, + -1 + ], + "to": [ + 25.25, + 34.5, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 12.25, + 30.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 37, + 109, + 59, + 114 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5772a6ea-39be-a748-5347-4782926b7455" + }, + { + "name": "Bullet18", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.25, + 25.5, + -1 + ], + "to": [ + 25.25, + 29.5, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 12.25, + 25.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 37, + 109, + 59, + 114 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9e444776-64c6-b40b-4b96-2b6dc0dedb64" + }, + { + "name": "Bullet19", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.25, + 20.5, + -1 + ], + "to": [ + 25.25, + 24.5, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 12.25, + 20.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 37, + 109, + 59, + 114 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "80ad21bb-ec9e-41a3-9ff6-fb9a0eb2e00b" + }, + { + "name": "Bullet20", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.25, + 15.5, + -1 + ], + "to": [ + 25.25, + 19.5, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 12.25, + 15.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 37, + 109, + 59, + 114 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "06cfda21-c694-1a09-0e32-b6cfddae18f2" + }, + { + "name": "DeadEye", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -48.75, + -63.5, + -61.015 + ], + "to": [ + -42.75, + -60.5, + -61.015 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + -49, + -28, + 12 + ], + "faces": { + "north": { + "uv": [ + 36, + 115, + 48, + 121 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "1a2c901e-3949-8caa-7b8b-64052fe78ae3" + }, + { + "name": "RedEffect", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + -1, + 1.1 + ], + "to": [ + 8, + 0, + 1.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 1 + ], + "faces": { + "north": { + "uv": [ + 46, + 114, + 54, + 115 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b8a0ae17-32b5-8cb1-d11b-3a9ec7cfa714" + }, + { + "name": "CrackEffect", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + -16, + 1 + ], + "to": [ + 16, + 0, + 1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 1 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "41a4ac48-17bd-c9d3-681e-b2b3c120bb2d" + }, + { + "name": "ClearBar", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + -0.5, + -81 + ], + "to": [ + 0.5, + 0.5, + -81 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -80 + ], + "faces": { + "north": { + "uv": [ + 47, + 115, + 48, + 116 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "00f83784-f3b3-fbdd-6cc6-06d784689ad4" + }, + { + "name": "Background", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + -0.5, + 2 + ], + "to": [ + 0.5, + 0.5, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -80 + ], + "faces": { + "north": { + "uv": [ + 46, + 115, + 47, + 116 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "593dba4b-899a-cfa9-6688-e9af724b39d0" + }, + { + "name": "UpperMVPBar", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + -35.5, + -91 + ], + "to": [ + 0.5, + -30.5, + -91 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -35, + -91 + ], + "faces": { + "north": { + "uv": [ + 47, + 115, + 48, + 116 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9e39ea7d-e5f0-9d17-3be5-bd6c2354c02b" + }, + { + "name": "LowerRightMVPBar", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 65.5, + -3.5, + -91 + ], + "to": [ + 66.5, + 1.5, + -91 + ], + "autouv": 0, + "color": 0, + "origin": [ + 65.5, + 1, + -91 + ], + "faces": { + "north": { + "uv": [ + 47, + 115, + 48, + 116 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "30db9a10-89fc-4e8e-ea7f-51af9c610354" + }, + { + "name": "LowerLeftMVPBar", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -65.5, + -3.5, + -91 + ], + "to": [ + -64.5, + 1.5, + -91 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64.5, + 1, + -91 + ], + "faces": { + "north": { + "uv": [ + 47, + 115, + 48, + 116 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8d053ea7-c2ad-8afd-b6d7-1668455e8c1f" + }, + { + "name": "GlowEffect1_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 6, + 22.4, + 9.2 + ], + "to": [ + 70, + 27.2, + 9.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3.6, + 24.8, + 9.2 + ], + "faces": { + "north": { + "uv": [ + 70, + 114, + 54, + 115 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "cd277c67-d8f6-f217-67df-4dfa937a2640" + }, + { + "name": "GlowEffect1_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 6, + 22.4, + 9.2 + ], + "to": [ + 70, + 27.2, + 9.2 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + 90 + ], + "origin": [ + -3.6, + 24.8, + 9.2 + ], + "faces": { + "north": { + "uv": [ + 70, + 114, + 54, + 115 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "0827a256-530f-c1a4-6307-94e423295fe9" + }, + { + "name": "GlowEffect1_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 6, + 22.4, + 9.2 + ], + "to": [ + 70, + 27.2, + 9.2 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + -180 + ], + "origin": [ + -3.6, + 24.8, + 9.2 + ], + "faces": { + "north": { + "uv": [ + 70, + 114, + 54, + 115 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "4ef52011-c072-e8d1-41e3-48b41bb79797" + }, + { + "name": "GlowEffect1_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 6, + 22.4, + 9.2 + ], + "to": [ + 70, + 27.2, + 9.2 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + -90 + ], + "origin": [ + -3.6, + 24.8, + 9.2 + ], + "faces": { + "north": { + "uv": [ + 70, + 114, + 54, + 115 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d6bfd87f-6859-d87c-b171-d2d1d324343d" + }, + { + "name": "GlowEffect3_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -11.6, + 45.6, + 9.2 + ], + "to": [ + 4.4, + 48.8, + 9.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3.6, + 24.8, + 9.2 + ], + "faces": { + "north": { + "uv": [ + 54, + 114, + 55, + 115 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "0b43801d-4d96-a40a-dfaf-fe80114df611" + }, + { + "name": "GlowEffect3_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -18, + 42.4, + 9.2 + ], + "to": [ + -11.6, + 45.6, + 9.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3.6, + 24.8, + 9.2 + ], + "faces": { + "north": { + "uv": [ + 54, + 114, + 55, + 115 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e0b65294-a52a-d886-c74c-b2beed2e5239" + }, + { + "name": "GlowEffect3_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -21.2, + 39.2, + 9.2 + ], + "to": [ + -18, + 42.4, + 9.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3.6, + 24.8, + 9.2 + ], + "faces": { + "north": { + "uv": [ + 54, + 114, + 55, + 115 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e6c6a543-2c1c-c6cf-04be-241395e6ee75" + }, + { + "name": "GlowEffect3_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -24.4, + 32.8, + 9.2 + ], + "to": [ + -21.2, + 39.2, + 9.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3.6, + 24.8, + 9.2 + ], + "faces": { + "north": { + "uv": [ + 54, + 114, + 55, + 115 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5de02552-e500-1a95-4e89-67e8a4359a93" + }, + { + "name": "GlowEffect3_5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -27.6, + 16.8, + 9.2 + ], + "to": [ + -24.4, + 32.8, + 9.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3.6, + 24.8, + 9.2 + ], + "faces": { + "north": { + "uv": [ + 54, + 114, + 55, + 115 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "0e27f365-fe21-cb24-491d-356580db452e" + }, + { + "name": "GlowEffect3_6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -24.4, + 10.4, + 9.2 + ], + "to": [ + -21.2, + 16.8, + 9.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3.6, + 24.8, + 9.2 + ], + "faces": { + "north": { + "uv": [ + 54, + 114, + 55, + 115 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "67e6834a-14fc-0591-71bf-6d2ad9c8f76f" + }, + { + "name": "GlowEffect3_7", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -24.4, + 10.4, + 9.2 + ], + "to": [ + -21.2, + 16.8, + 9.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3.6, + 24.8, + 9.2 + ], + "faces": { + "north": { + "uv": [ + 54, + 114, + 55, + 115 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d3120715-108a-2741-1f4f-218ae92f7323" + }, + { + "name": "GlowEffect3_8", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -21.2, + 7.2, + 9.2 + ], + "to": [ + -18, + 10.4, + 9.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3.6, + 24.8, + 9.2 + ], + "faces": { + "north": { + "uv": [ + 54, + 114, + 55, + 115 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "782d4106-1c3c-e8c1-d51f-c35fc28739b3" + }, + { + "name": "GlowEffect3_9", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -18, + 4, + 9.2 + ], + "to": [ + -11.6, + 7.2, + 9.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3.6, + 24.8, + 9.2 + ], + "faces": { + "north": { + "uv": [ + 54, + 114, + 55, + 115 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "3b72fcf1-2c09-b70e-928e-c6c2024e13a6" + }, + { + "name": "GlowEffect3_10", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -11.6, + 0.8, + 9.2 + ], + "to": [ + 4.4, + 4, + 9.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3.6, + 24.8, + 9.2 + ], + "faces": { + "north": { + "uv": [ + 54, + 114, + 55, + 115 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "031ad688-4cd7-fae4-7b04-e7e50e7f1251" + }, + { + "name": "GlowEffect3_11", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4.4, + 4, + 9.2 + ], + "to": [ + 10.8, + 7.2, + 9.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3.6, + 24.8, + 9.2 + ], + "faces": { + "north": { + "uv": [ + 54, + 114, + 55, + 115 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e08e4043-9029-fa34-c693-25875bd59d0b" + }, + { + "name": "GlowEffect3_12", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 10.8, + 7.2, + 9.2 + ], + "to": [ + 14, + 10.4, + 9.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3.6, + 24.8, + 9.2 + ], + "faces": { + "north": { + "uv": [ + 54, + 114, + 55, + 115 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "86158887-4e5c-bfde-83e9-7211518047f3" + }, + { + "name": "GlowEffect3_13", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 14, + 10.4, + 9.2 + ], + "to": [ + 17.2, + 16.8, + 9.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3.6, + 24.8, + 9.2 + ], + "faces": { + "north": { + "uv": [ + 54, + 114, + 55, + 115 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5c2c2327-add1-bab1-b744-cf5f653c8f54" + }, + { + "name": "GlowEffect3_14", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 17.2, + 16.8, + 9.2 + ], + "to": [ + 20.4, + 32.8, + 9.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3.6, + 24.8, + 9.2 + ], + "faces": { + "north": { + "uv": [ + 54, + 114, + 55, + 115 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "2acfe484-5eaa-d0fc-eda7-4507913a50f6" + }, + { + "name": "GlowEffect3_15", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 14, + 32.8, + 9.2 + ], + "to": [ + 17.2, + 39.2, + 9.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3.6, + 24.8, + 9.2 + ], + "faces": { + "north": { + "uv": [ + 54, + 114, + 55, + 115 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "93c91a35-1453-b214-b451-221efa221890" + }, + { + "name": "GlowEffect3_16", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 10.8, + 39.2, + 9.2 + ], + "to": [ + 14, + 42.4, + 9.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3.6, + 24.8, + 9.2 + ], + "faces": { + "north": { + "uv": [ + 54, + 114, + 55, + 115 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "85a341bb-d34e-3886-ed6d-a364d1899ebf" + }, + { + "name": "GlowEffect3_17", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4.4, + 42.4, + 9.2 + ], + "to": [ + 10.8, + 45.6, + 9.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3.6, + 24.8, + 9.2 + ], + "faces": { + "north": { + "uv": [ + 54, + 114, + 55, + 115 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "640693a0-f98e-8a5a-6eb5-4f2236d5d514" + }, + { + "name": "GlowEffect2_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 6.48, + 22.56, + 9.44 + ], + "to": [ + 70.48, + 27.36, + 9.44 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + 45 + ], + "origin": [ + -3.12, + 24.96, + 9.44 + ], + "faces": { + "north": { + "uv": [ + 70, + 114, + 54, + 115 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "424a95c1-9c84-2d06-ecc0-cbc5503576f9" + }, + { + "name": "GlowEffect2_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 6.48, + 22.56, + 9.44 + ], + "to": [ + 70.48, + 27.36, + 9.44 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + 135 + ], + "origin": [ + -3.12, + 24.96, + 9.44 + ], + "faces": { + "north": { + "uv": [ + 70, + 114, + 54, + 115 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "abb9fae0-7ada-3713-728e-abdef5a93f31" + }, + { + "name": "GlowEffect2_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 6.48, + 22.56, + 9.44 + ], + "to": [ + 70.48, + 27.36, + 9.44 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + -135 + ], + "origin": [ + -3.12, + 24.96, + 9.44 + ], + "faces": { + "north": { + "uv": [ + 70, + 114, + 54, + 115 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6f77356b-69ae-2f9c-affc-9cd5907a9564" + }, + { + "name": "GlowEffect2_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 5.68, + 22.56, + 9.44 + ], + "to": [ + 69.68, + 27.36, + 9.44 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + -45 + ], + "origin": [ + -3.12, + 24.96, + 9.44 + ], + "faces": { + "north": { + "uv": [ + 70, + 114, + 54, + 115 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5d290983-0874-befe-91d9-5fd07d42c731" + }, + { + "name": "EffectPanel", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 65, + 28, + -4.6 + ], + "to": [ + 69, + 32, + -4.6 + ], + "autouv": 0, + "color": 0, + "origin": [ + 67, + 52, + -4.5 + ], + "faces": { + "north": { + "uv": [ + 59, + 105, + 68, + 114 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "a0a5baf4-c6b7-959e-38f2-c719643fcf63" + }, + { + "name": "Coin1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5.5, + 2, + -0.5 + ], + "to": [ + 5.5, + 13, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -7.5, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 53, + 117, + 64, + 128 + ], + "texture": 1 + }, + "east": { + "uv": [ + 53, + 117, + 54, + 128 + ], + "texture": 1 + }, + "south": { + "uv": [ + 64, + 117, + 53, + 128 + ], + "texture": 1 + }, + "west": { + "uv": [ + 63, + 117, + 64, + 128 + ], + "texture": 1 + }, + "up": { + "uv": [ + 53, + 117, + 64, + 118 + ], + "texture": 1 + }, + "down": { + "uv": [ + 53, + 127, + 64, + 128 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "50a854d8-fd6f-fac5-d004-e7fd49073070" + }, + { + "name": "Coin2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.5, + 1, + -0.5 + ], + "to": [ + 4.5, + 14, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -7.5, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 54, + 116, + 63, + 129 + ], + "texture": 1 + }, + "east": { + "uv": [ + 54, + 116, + 55, + 129 + ], + "texture": 1 + }, + "south": { + "uv": [ + 63, + 116, + 54, + 129 + ], + "texture": 1 + }, + "west": { + "uv": [ + 62, + 116, + 63, + 129 + ], + "texture": 1 + }, + "up": { + "uv": [ + 54, + 116, + 63, + 117 + ], + "texture": 1 + }, + "down": { + "uv": [ + 54, + 128, + 63, + 129 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "6fc9b72a-77f1-7b99-e770-c5e5b1f607da" + }, + { + "name": "Coin3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.5, + 0, + -0.5 + ], + "to": [ + 2.5, + 15, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -7.5, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 56, + 115, + 61, + 130 + ], + "texture": 1 + }, + "east": { + "uv": [ + 56, + 115, + 57, + 130 + ], + "texture": 1 + }, + "south": { + "uv": [ + 61, + 115, + 56, + 130 + ], + "texture": 1 + }, + "west": { + "uv": [ + 60, + 115, + 61, + 130 + ], + "texture": 1 + }, + "up": { + "uv": [ + 56, + 115, + 61, + 116 + ], + "texture": 1 + }, + "down": { + "uv": [ + 56, + 129, + 61, + 130 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "1b96990a-988b-6a11-f58e-21dfd7864d40" + }, + { + "name": "Coin4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -6.5, + 3, + -0.5 + ], + "to": [ + 6.5, + 12, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -7.5, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 52, + 118, + 65, + 127 + ], + "texture": 1 + }, + "east": { + "uv": [ + 52, + 118, + 53, + 127 + ], + "texture": 1 + }, + "south": { + "uv": [ + 65, + 118, + 52, + 127 + ], + "texture": 1 + }, + "west": { + "uv": [ + 64, + 118, + 65, + 127 + ], + "texture": 1 + }, + "up": { + "uv": [ + 52, + 118, + 65, + 119 + ], + "texture": 1 + }, + "down": { + "uv": [ + 52, + 126, + 65, + 127 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "3140ede8-5705-7677-c64a-719a3b7b04b5" + }, + { + "name": "Coin5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7.5, + 5, + -0.5 + ], + "to": [ + 7.5, + 10, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -7.5, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 51, + 120, + 66, + 125 + ], + "texture": 1 + }, + "east": { + "uv": [ + 51, + 120, + 52, + 125 + ], + "texture": 1 + }, + "south": { + "uv": [ + 66, + 120, + 51, + 125 + ], + "texture": 1 + }, + "west": { + "uv": [ + 65, + 120, + 66, + 125 + ], + "texture": 1 + }, + "up": { + "uv": [ + 51, + 120, + 66, + 121 + ], + "texture": 1 + }, + "down": { + "uv": [ + 51, + 124, + 66, + 125 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "51d1023f-07dc-95a4-9bff-900667d24c07" + }, + { + "name": "Coin1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5.5, + 2, + -0.5 + ], + "to": [ + 5.5, + 13, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -7.5, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 53, + 117, + 64, + 128 + ], + "texture": 1 + }, + "east": { + "uv": [ + 53, + 117, + 54, + 128 + ], + "texture": 1 + }, + "south": { + "uv": [ + 64, + 117, + 53, + 128 + ], + "texture": 1 + }, + "west": { + "uv": [ + 63, + 117, + 64, + 128 + ], + "texture": 1 + }, + "up": { + "uv": [ + 53, + 117, + 64, + 118 + ], + "texture": 1 + }, + "down": { + "uv": [ + 53, + 127, + 64, + 128 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "2fe1de7b-ec83-741e-e3d8-66e98ba9b427" + }, + { + "name": "Coin2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.5, + 1, + -0.5 + ], + "to": [ + 4.5, + 14, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -7.5, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 54, + 116, + 63, + 129 + ], + "texture": 1 + }, + "east": { + "uv": [ + 54, + 116, + 55, + 129 + ], + "texture": 1 + }, + "south": { + "uv": [ + 63, + 116, + 54, + 129 + ], + "texture": 1 + }, + "west": { + "uv": [ + 62, + 116, + 63, + 129 + ], + "texture": 1 + }, + "up": { + "uv": [ + 54, + 116, + 63, + 117 + ], + "texture": 1 + }, + "down": { + "uv": [ + 54, + 128, + 63, + 129 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "7f05ee95-8651-1748-4217-8855e0ada226" + }, + { + "name": "Coin3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.5, + 0, + -0.5 + ], + "to": [ + 2.5, + 15, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -7.5, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 56, + 115, + 61, + 130 + ], + "texture": 1 + }, + "east": { + "uv": [ + 56, + 115, + 57, + 130 + ], + "texture": 1 + }, + "south": { + "uv": [ + 61, + 115, + 56, + 130 + ], + "texture": 1 + }, + "west": { + "uv": [ + 60, + 115, + 61, + 130 + ], + "texture": 1 + }, + "up": { + "uv": [ + 56, + 115, + 61, + 116 + ], + "texture": 1 + }, + "down": { + "uv": [ + 56, + 129, + 61, + 130 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "97d1c28a-df66-e106-44b8-80c2d979f764" + }, + { + "name": "Coin4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -6.5, + 3, + -0.5 + ], + "to": [ + 6.5, + 12, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -7.5, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 52, + 118, + 65, + 127 + ], + "texture": 1 + }, + "east": { + "uv": [ + 52, + 118, + 53, + 127 + ], + "texture": 1 + }, + "south": { + "uv": [ + 65, + 118, + 52, + 127 + ], + "texture": 1 + }, + "west": { + "uv": [ + 64, + 118, + 65, + 127 + ], + "texture": 1 + }, + "up": { + "uv": [ + 52, + 118, + 65, + 119 + ], + "texture": 1 + }, + "down": { + "uv": [ + 52, + 126, + 65, + 127 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "00fc0117-179a-841e-54c5-0322829675f5" + }, + { + "name": "Coin5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7.5, + 5, + -0.5 + ], + "to": [ + 7.5, + 10, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -7.5, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 51, + 120, + 66, + 125 + ], + "texture": 1 + }, + "east": { + "uv": [ + 51, + 120, + 52, + 125 + ], + "texture": 1 + }, + "south": { + "uv": [ + 66, + 120, + 51, + 125 + ], + "texture": 1 + }, + "west": { + "uv": [ + 65, + 120, + 66, + 125 + ], + "texture": 1 + }, + "up": { + "uv": [ + 51, + 120, + 66, + 121 + ], + "texture": 1 + }, + "down": { + "uv": [ + 51, + 124, + 66, + 125 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "a4be942f-c8f5-d00e-005a-89e8c640a0f1" + }, + { + "name": "Coin1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5.5, + 2, + -0.5 + ], + "to": [ + 5.5, + 13, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -7.5, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 53, + 117, + 64, + 128 + ], + "texture": 1 + }, + "east": { + "uv": [ + 53, + 117, + 54, + 128 + ], + "texture": 1 + }, + "south": { + "uv": [ + 64, + 117, + 53, + 128 + ], + "texture": 1 + }, + "west": { + "uv": [ + 63, + 117, + 64, + 128 + ], + "texture": 1 + }, + "up": { + "uv": [ + 53, + 117, + 64, + 118 + ], + "texture": 1 + }, + "down": { + "uv": [ + 53, + 127, + 64, + 128 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "1d79dc1a-1ea6-aba9-d7e6-c708567e9a75" + }, + { + "name": "Coin2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.5, + 1, + -0.5 + ], + "to": [ + 4.5, + 14, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -7.5, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 54, + 116, + 63, + 129 + ], + "texture": 1 + }, + "east": { + "uv": [ + 54, + 116, + 55, + 129 + ], + "texture": 1 + }, + "south": { + "uv": [ + 63, + 116, + 54, + 129 + ], + "texture": 1 + }, + "west": { + "uv": [ + 62, + 116, + 63, + 129 + ], + "texture": 1 + }, + "up": { + "uv": [ + 54, + 116, + 63, + 117 + ], + "texture": 1 + }, + "down": { + "uv": [ + 54, + 128, + 63, + 129 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "b14161b5-e46a-11f6-0e6b-61063c52bb75" + }, + { + "name": "Coin3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.5, + 0, + -0.5 + ], + "to": [ + 2.5, + 15, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -7.5, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 56, + 115, + 61, + 130 + ], + "texture": 1 + }, + "east": { + "uv": [ + 56, + 115, + 57, + 130 + ], + "texture": 1 + }, + "south": { + "uv": [ + 61, + 115, + 56, + 130 + ], + "texture": 1 + }, + "west": { + "uv": [ + 60, + 115, + 61, + 130 + ], + "texture": 1 + }, + "up": { + "uv": [ + 56, + 115, + 61, + 116 + ], + "texture": 1 + }, + "down": { + "uv": [ + 56, + 129, + 61, + 130 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "9be55b7c-f713-0ff4-ae41-1c1ee6bb8fbc" + }, + { + "name": "Coin4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -6.5, + 3, + -0.5 + ], + "to": [ + 6.5, + 12, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -7.5, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 52, + 118, + 65, + 127 + ], + "texture": 1 + }, + "east": { + "uv": [ + 52, + 118, + 53, + 127 + ], + "texture": 1 + }, + "south": { + "uv": [ + 65, + 118, + 52, + 127 + ], + "texture": 1 + }, + "west": { + "uv": [ + 64, + 118, + 65, + 127 + ], + "texture": 1 + }, + "up": { + "uv": [ + 52, + 118, + 65, + 119 + ], + "texture": 1 + }, + "down": { + "uv": [ + 52, + 126, + 65, + 127 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "531fd5b1-0f43-1fdf-23ba-018987c32746" + }, + { + "name": "Coin5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7.5, + 5, + -0.5 + ], + "to": [ + 7.5, + 10, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -7.5, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 51, + 120, + 66, + 125 + ], + "texture": 1 + }, + "east": { + "uv": [ + 51, + 120, + 52, + 125 + ], + "texture": 1 + }, + "south": { + "uv": [ + 66, + 120, + 51, + 125 + ], + "texture": 1 + }, + "west": { + "uv": [ + 65, + 120, + 66, + 125 + ], + "texture": 1 + }, + "up": { + "uv": [ + 51, + 120, + 66, + 121 + ], + "texture": 1 + }, + "down": { + "uv": [ + 51, + 124, + 66, + 125 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "0e62ad3d-9cd0-6807-c6de-24308695f553" + }, + { + "name": "TailRibbon", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 62.5, + 13, + 4.09 + ], + "to": [ + 65.5, + 15, + 4.09 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0.5, + 17.5, + -2.16 + ], + "faces": { + "north": { + "uv": [ + 7, + 34, + 10, + 36 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 7, + 34, + 10, + 36 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "04492adf-36fa-4779-5f94-22c78d761746" + }, + { + "name": "TailRibbonLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 62.5, + 13, + 4.09 + ], + "to": [ + 65.5, + 15, + 4.09 + ], + "autouv": 0, + "color": 0, + "inflate": 0.125, + "origin": [ + 0.5, + 17.5, + -2.16 + ], + "faces": { + "north": { + "uv": [ + 10, + 34, + 13, + 36 + ], + "texture": 1 + }, + "east": { + "uv": [ + 3, + 2, + 3, + 2 + ], + "texture": 1 + }, + "south": { + "uv": [ + 10, + 34, + 13, + 36 + ], + "texture": 1 + }, + "west": { + "uv": [ + 3, + 2, + 3, + 2 + ], + "texture": 1 + }, + "up": { + "uv": [ + 3, + 2, + 3, + 2 + ], + "texture": 1 + }, + "down": { + "uv": [ + 3, + 2, + 3, + 2 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "46b89cc1-81f6-f3f3-593d-ece7aedf1753" + }, + { + "name": "TailRibbonBase", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 63.5, + 14, + 3.965 + ], + "to": [ + 64.5, + 15, + 4.215 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0, + 14.75, + 4.09 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 8, + 34, + 9, + 35 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 8, + 34, + 9, + 35 + ], + "texture": 1 + }, + "up": { + "uv": [ + 8, + 34, + 9, + 35 + ], + "texture": 1 + }, + "down": { + "uv": [ + 8, + 34, + 9, + 35 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "6065c95c-cde3-e9af-8d6a-92f1d27bae9e" + } + ], + "outliner": [ + { + "name": "Pillagers", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "33e177ec-e053-0505-fef0-1fdf3e23077e", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Pillager1", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "52dae324-1de2-0242-7b62-5b6e300a786c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Pillager1Head", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "a5d0f2b7-2e9a-2e13-97ea-1591b4eb5f19", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "6af197e3-d992-27ef-5dc3-ac58a419c173", + "def68b07-61fe-3adf-f735-d9d22e68e466", + { + "name": "Pillager1Nose", + "origin": [ + 0, + 26, + 0 + ], + "color": 0, + "uuid": "ce3c64d2-95c7-9dc3-2b43-49b86f16889e", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "719bb1c6-396f-55d8-0ee8-65e257693933" + ] + }, + { + "name": "ExSkill2ParticleAnchor5", + "origin": [ + 0, + 32, + -4 + ], + "color": 0, + "uuid": "812bc889-eb3b-b5ca-af67-1309f5e192be", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + { + "name": "Pillager1Body", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "3e1c6600-3f39-3ad9-38b8-aeb3c87abe09", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "3e72b43d-9462-9d16-2cc4-d3c104feb441", + "c507b204-2d07-8c3c-0e65-304eb8b53a09" + ] + }, + { + "name": "Pillager1RightArm", + "origin": [ + 5, + 22, + 0 + ], + "color": 0, + "uuid": "0e84c90f-e528-8d54-750f-53427b2a550a", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "c14b4eff-d83a-4628-9334-6737e6f8ed45" + ] + }, + { + "name": "Pillager1LeftArm", + "origin": [ + -5, + 22, + 0 + ], + "color": 0, + "uuid": "662ccc78-a0d9-6cbc-46c8-faf179ee24bb", + "export": true, + "mirror_uv": true, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "5e11b1d9-2933-9a90-b3b9-661dc7548ed1" + ] + }, + { + "name": "Pillager1LeftLeg", + "origin": [ + -2, + 12, + 0 + ], + "color": 0, + "uuid": "dd3862cc-bc2d-dedd-71c2-dc0b60ae507e", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a8265452-80f4-069b-8bb3-9e5130fd68a3" + ] + }, + { + "name": "Pillager1RightLeg", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "a1a5a6bd-37b4-26c6-09cd-f0035aad366f", + "export": true, + "mirror_uv": true, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "6134fd96-5993-85bb-30ca-4fb03b0c481a" + ] + }, + { + "name": "Pillager1CoinAnchor", + "origin": [ + -0.5, + 8, + 0 + ], + "color": 0, + "uuid": "ee258115-f645-6629-b613-2693711823ec", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Pillager1Coin", + "origin": [ + -0.5, + 8, + 0 + ], + "color": 0, + "uuid": "86e5ec6b-255f-be9f-76a3-a229abfba65a", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "50a854d8-fd6f-fac5-d004-e7fd49073070", + "6fc9b72a-77f1-7b99-e770-c5e5b1f607da", + "1b96990a-988b-6a11-f58e-21dfd7864d40", + "3140ede8-5705-7677-c64a-719a3b7b04b5", + "51d1023f-07dc-95a4-9bff-900667d24c07" + ] + } + ] + } + ] + }, + { + "name": "Pillager2", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "0b5b63cc-05e2-d49a-50c0-569a969e3392", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Pillager2Head", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "722ba1a8-d27a-a318-ed94-70fd93e6aa92", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "Pillager2Body", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "333f817e-d37e-88ad-ac1b-f974111c2d8f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "ExSkill2ParticleAnchor7", + "origin": [ + 0, + 21, + -13 + ], + "color": 0, + "uuid": "9fe8c0a2-49e3-5b97-65d9-2e853f4e9987", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + { + "name": "Pillager2RightArm", + "origin": [ + 5, + 22, + 0 + ], + "color": 0, + "uuid": "0ddab028-66b0-41c1-d52b-6a447b5ec517", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "Pillager2LeftArm", + "origin": [ + -5, + 22, + 0 + ], + "color": 0, + "uuid": "772a9473-7a89-3b7a-47a6-92943b25c705", + "export": true, + "mirror_uv": true, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "Pillager2LeftLeg", + "origin": [ + -2, + 12, + 0 + ], + "color": 0, + "uuid": "f918cfc6-bae2-77c0-5889-2000d7e22d8a", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "Pillager2RightLeg", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "735eb1cd-20fe-27ca-3874-49f7de39e387", + "export": true, + "mirror_uv": true, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "Pillager2CoinAnchor", + "origin": [ + -0.5, + 8, + 0 + ], + "color": 0, + "uuid": "fa08d476-e043-01d3-be75-b4046eb56f3d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Pillager2Coin", + "origin": [ + -0.5, + 8, + 0 + ], + "color": 0, + "uuid": "43228404-171d-30a0-4f6a-d1ae6f42296d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "2fe1de7b-ec83-741e-e3d8-66e98ba9b427", + "7f05ee95-8651-1748-4217-8855e0ada226", + "97d1c28a-df66-e106-44b8-80c2d979f764", + "00fc0117-179a-841e-54c5-0322829675f5", + "a4be942f-c8f5-d00e-005a-89e8c640a0f1" + ] + } + ] + } + ] + }, + { + "name": "Pillager3", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "4822bc9a-ec31-1b48-845f-8da10ed81c26", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Pillager3Head", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "2b5563af-f262-fd48-fda8-985979eee63f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "Pillager3Body", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "ebe444dc-2004-f294-b689-8796bd911bd3", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "ExSkill2ParticleAnchor8", + "origin": [ + 0, + 17, + -13 + ], + "color": 0, + "uuid": "c0215c1b-642e-a3ef-2d48-142622a795a5", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + { + "name": "Pillager3RightArm", + "origin": [ + 5, + 22, + 0 + ], + "color": 0, + "uuid": "4a1626d2-68d7-9464-863c-bbff0af2e1d2", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "Pillager3LeftArm", + "origin": [ + -5, + 22, + 0 + ], + "color": 0, + "uuid": "fba33a0a-7e4e-99ea-8de9-f59cf5ff08d2", + "export": true, + "mirror_uv": true, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "Pillager3LeftLeg", + "origin": [ + -2, + 12, + 0 + ], + "color": 0, + "uuid": "4ccf2448-64b2-a96b-f54f-4276a0e1c255", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "Pillager3RightLeg", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "13e287b2-337f-0b43-b91f-24b51f929429", + "export": true, + "mirror_uv": true, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "Pillager3CoinAnchor", + "origin": [ + -0.5, + 8, + 0 + ], + "color": 0, + "uuid": "a7afc754-fec1-7d38-ac90-03c42b555a76", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Pillager3Coin", + "origin": [ + -0.5, + 8, + 0 + ], + "color": 0, + "uuid": "19ca60e8-8efe-665e-67a7-7176d0f290f9", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1d79dc1a-1ea6-aba9-d7e6-c708567e9a75", + "b14161b5-e46a-11f6-0e6b-61063c52bb75", + "9be55b7c-f713-0ff4-ae41-1c1ee6bb8fbc", + "531fd5b1-0f43-1fdf-23ba-018987c32746", + "0e62ad3d-9cd0-6807-c6de-24308695f553" + ] + } + ] + } + ] + } + ] + }, + { + "name": "Covers", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "18fcad0b-e644-2135-0731-d32a2ae72df4", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "CoverLeft", + "origin": [ + 56, + 0, + 8 + ], + "color": 0, + "uuid": "b08f37d1-c95e-b901-28f6-ec8c758ea5a2", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "CoverRight", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "a796493f-5999-147f-e505-97f08b035208", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "CoverBack1", + "origin": [ + 72, + 0, + 88 + ], + "color": 0, + "uuid": "5a7f9d1e-915f-2b71-551b-8d7210cb32d4", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "ExSkill2ParticleAnchor1", + "origin": [ + 72, + 6, + 99 + ], + "color": 0, + "uuid": "df23a759-cddb-f2a1-bcb7-7a86f016e051", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "ExSkill2ParticleAnchor2", + "origin": [ + 72, + 21, + 94 + ], + "color": 0, + "uuid": "b7053abb-cca5-2f2d-c2ce-4fdd07ad669c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "ExSkill2ParticleAnchor9", + "origin": [ + 72, + 18, + 96 + ], + "color": 0, + "uuid": "1d66169d-3a1d-ca30-fce0-73d2a0643ed7", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + { + "name": "CoverBack2", + "origin": [ + -24, + 0, + 120 + ], + "color": 0, + "uuid": "2386e3e7-b0fb-1f89-a8df-95c3401fd85d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "ExSkill2ParticleAnchor4", + "origin": [ + -26, + 5, + 120 + ], + "color": 0, + "uuid": "80a0fdbc-0b81-c266-c504-de04f0034612", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "ExSkill2ParticleAnchor12", + "origin": [ + -24, + 1, + 126 + ], + "color": 0, + "uuid": "5601b3a3-48a5-3321-bd90-3f5873506f84", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "ExSkill2ParticleAnchor13", + "origin": [ + -24, + 21, + 132 + ], + "color": 0, + "uuid": "706af3a8-66fa-0f54-2cca-ebea7ef90058", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + { + "name": "CoverBack3", + "origin": [ + 56, + 0, + 152 + ], + "color": 0, + "uuid": "f1595b1d-fa4d-27f4-415b-a30999962109", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "ExSkill2ParticleAnchor6", + "origin": [ + 55, + 17, + 152 + ], + "color": 0, + "uuid": "5f71ac5d-0991-ee0c-3856-3e86b604dae2", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "ExSkill2ParticleAnchor15", + "origin": [ + 56, + 16, + 160 + ], + "color": 0, + "uuid": "a22539af-6a32-95ea-8301-a67680b58b33", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + } + ] + }, + { + "name": "Momoi", + "origin": [ + 64, + 0, + 0 + ], + "color": 0, + "uuid": "e98e96cf-993b-878e-02b8-777c368bb888", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "MomoiHead", + "origin": [ + 64, + 24, + 0 + ], + "color": 0, + "uuid": "22d40862-bd19-a16d-9e33-79364e6656d8", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a66c63cf-0082-7797-3f4e-08ff434a1cac", + "d48552a8-9f0d-7335-2a82-794f3264fc9d", + { + "name": "MomoiPhone", + "origin": [ + 64, + 24, + 0 + ], + "color": 0, + "uuid": "ecb0ee56-5170-3365-596a-169877c19369", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "01f6d688-d2cd-c36a-df2e-a80523a72020", + "4f5e53a6-b464-0187-a63a-a317f45c2beb", + "ac86679a-d55c-be34-cf2b-68f42e402541", + "943051a6-3609-4b6a-a9be-3e7a6d7e866b", + "0aae78b3-7629-724d-62de-d336c7bb05d6", + { + "name": "PhoneEars", + "origin": [ + 64, + 32.5, + -1 + ], + "color": 0, + "uuid": "8a0d4e0c-c75a-8b96-4d55-3b327212efbf", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "PhoneEarRight", + "origin": [ + 64, + 32.5, + -1 + ], + "color": 0, + "uuid": "9420ea33-54f3-229f-aa64-9a45aa1de2e0", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "PhoneEarRightFront", + "origin": [ + 64, + 32.5, + -1 + ], + "color": 0, + "uuid": "8ae76f75-5f55-c724-8aba-a832c61d7751", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "PhoneEarRightFront1_1", + "origin": [ + 64, + 32, + -1 + ], + "rotation": [ + 0, + 0, + -35 + ], + "color": 0, + "uuid": "e4b7cf64-7648-39b9-5be6-7e3f25214053", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "5628b192-ac9f-3e32-91d4-2d87aa746910", + "c1fcb63e-6496-d3a3-64cb-e2251ddf6b9e", + "beef8305-3bf6-58e9-b6da-1cd0fab1fe2f", + { + "name": "PhoneEarRightFront1_2", + "origin": [ + 64, + 35, + -1 + ], + "rotation": [ + 0, + 0, + -25 + ], + "color": 0, + "uuid": "59bb8b92-fe58-64d2-7a1c-8beaa43ff9f2", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "403fa6ce-f0d8-c5be-a8b6-d47294eb4984", + "76f78202-a819-a689-73e2-64029f8d0f9d", + "b779ad53-9102-aacf-4abf-51210f0edbde", + { + "name": "PhoneEarRightFront1_3", + "origin": [ + 64, + 37.09, + -1 + ], + "rotation": [ + 0, + 0, + -30 + ], + "color": 0, + "uuid": "a7bbb537-2a97-304f-3e26-8b99aa386fe3", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f1e596d1-8e6e-52f8-ee7e-4c2fe9e40228", + "6544450b-5248-1b6d-e92d-2543dd68f300", + "348fd0c9-c2ba-34d9-9160-bd82c3a23d43" + ] + } + ] + } + ] + }, + { + "name": "PhoneEarRightFront2_1", + "origin": [ + 68.5, + 29.5, + -1 + ], + "rotation": [ + 0, + 0, + -60 + ], + "color": 0, + "uuid": "defaac45-9178-f07f-7e9d-914192a8bcfd", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4bd4c91f-764a-3ef9-009c-766a50959788", + "1a50d8d3-d2c0-1c03-5226-56fabd5b1aa7", + "d3a63ec7-8768-7c37-4624-c7e3d4192e12", + { + "name": "PhoneEarRightFront2_2", + "origin": [ + 68.5, + 30.08, + -1 + ], + "rotation": [ + 0, + 0, + 60 + ], + "color": 0, + "uuid": "fb7e3287-5d3a-557b-85d5-e687a41f4eee", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "092a0e63-d5dd-7734-63ea-fa9d2553d0f5", + "c5113057-7bfd-25ad-e529-b49c112c3377", + "2840ca2d-db60-7b72-40c4-526f07cf8a96", + { + "name": "PhoneEarRightFront2_3", + "origin": [ + 68.5, + 34.08, + -1 + ], + "rotation": [ + 0, + 0, + 20 + ], + "color": 0, + "uuid": "9e95149d-5fe0-1d87-78d3-2a8f624f27fa", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e774d120-5304-8e16-59f6-3320dd90cc26", + "0dca0cdb-bd65-b554-9877-c42622b728bd", + "c95bca51-10cf-7f94-f3f4-4e2202585871" + ] + } + ] + } + ] + } + ] + }, + { + "name": "PhoneEarRightBack", + "origin": [ + 64, + 32.5, + 0 + ], + "color": 0, + "uuid": "74069bd7-7675-7146-18bd-4a7ba06f969f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b561e0e5-fa37-6c25-4798-cb2864fd4ef3", + "dedf0f6b-187d-2be9-04f4-b753ebcdcf51" + ] + } + ] + }, + { + "name": "PhoneEarLeft", + "origin": [ + 64, + 32.5, + -1 + ], + "color": 0, + "uuid": "f10267d6-0d58-cc2f-4920-e7ff33270f54", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "PhoneEarLeftFront", + "origin": [ + 64, + 32.5, + -1 + ], + "color": 0, + "uuid": "c0095888-9572-cea5-9bdc-d77dc8f488ac", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "PhoneEarLeftFront1_1", + "origin": [ + 64, + 32, + -1 + ], + "rotation": [ + 0, + 0, + 35 + ], + "color": 0, + "uuid": "04e771b1-46c1-0055-171a-ce7b7640b6b2", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "be67e76c-c7f9-9a4b-6c04-524fbc76c77b", + "a76db6f4-0ef7-6aed-1cc1-9c1259141265", + "2d6e824a-b085-3640-e1e5-7ba8c21408be", + { + "name": "PhoneEarLeftFront1_2", + "origin": [ + 64, + 35, + -1 + ], + "rotation": [ + 0, + 0, + 25 + ], + "color": 0, + "uuid": "17b848e3-d84e-f9d6-029a-e8d8c41bab91", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8cc219f9-f431-d538-3d6f-fcab7185ee25", + "c3b3c7a5-1906-1860-5da3-6879de869a89", + "239182e8-2f83-2228-a01c-9bba6132ebd4", + { + "name": "PhoneEarLeftFront1_3", + "origin": [ + 64, + 37.09, + -1 + ], + "rotation": [ + 0, + 0, + 30 + ], + "color": 0, + "uuid": "3f9f3b07-3a38-b67a-5e55-8ac70f129560", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "2efdfc14-75ad-3917-bcbd-c864f6a4908a", + "12e1aa45-4861-cd9c-cdfd-5b656c8af07c", + "64b1a793-eb74-5aab-221f-0058edf82966" + ] + } + ] + } + ] + }, + { + "name": "PhoneEarLeftFront2_1", + "origin": [ + 59.5, + 29.5, + -1 + ], + "rotation": [ + 0, + 0, + 60 + ], + "color": 0, + "uuid": "f5f8cc88-77cb-6726-8b74-15095adaa508", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "0cabbb13-53a1-76d6-49c1-244a341e3fc4", + "4b86c2c6-6541-ae97-908d-c4c0946d9742", + "fd698e35-9448-12f8-4ea1-9abfc1d86688", + { + "name": "PhoneEarLeftFront2_2", + "origin": [ + 59.5, + 30.08, + -1 + ], + "rotation": [ + 0, + 0, + -60 + ], + "color": 0, + "uuid": "61b4a9db-fbbf-0f17-767a-c0471465950a", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "83f7478a-cd88-a072-b14a-aac679cc671e", + "759cf829-fc6c-b23b-f394-09d2b21b073e", + "5e464ee7-9b76-e363-35ab-cc8ac9024a22", + { + "name": "PhoneEarLeftFront2_3", + "origin": [ + 59.5, + 34.08, + -1 + ], + "rotation": [ + 0, + 0, + -20 + ], + "color": 0, + "uuid": "cf8e1310-5882-9378-e414-9b0710d312d2", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f7ef2c19-5922-806b-fe13-635d0335552b", + "c4e7e749-9878-e45a-341c-b943ad7693e0", + "d9cf64b4-1f79-2af0-5eed-b045c13920ad" + ] + } + ] + } + ] + } + ] + }, + { + "name": "PhoneEarLeftBack", + "origin": [ + 64, + 32.5, + 0 + ], + "color": 0, + "uuid": "a3f8b87b-ecbb-f38a-de09-c1ddaf611c97", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b5a002b6-22e9-a072-4595-4028c86f3962", + "f54c98fe-b735-7964-faff-3d7981924e5a" + ] + } + ] + } + ] + } + ] + }, + { + "name": "MomoiFaceParts", + "origin": [ + 64, + 24, + 0 + ], + "color": 0, + "uuid": "db381b6c-e0d3-6ca8-6433-4371d36cc6c6", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Eyes", + "origin": [ + 64, + 24, + 0 + ], + "color": 0, + "uuid": "25d20f6a-b84c-5105-726d-79a4fc3a5a4d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "7853e9a2-b429-5a00-5e0e-70449c3a71ee", + "328a2de5-64bc-807b-5906-227bfceedf26" + ] + }, + "d9d80373-4145-9e90-28de-12248a8075d9" + ] + }, + { + "name": "MomoiHeadRing", + "origin": [ + 64, + 28, + 0 + ], + "color": 0, + "uuid": "e8809cb5-a507-86d8-da91-c79b1d4d233e", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "cdf48705-bdd5-f256-4e7c-0e151c454815", + { + "name": "RingParts", + "origin": [ + 64, + 28, + 0 + ], + "rotation": [ + 35, + 0, + 0 + ], + "color": 0, + "uuid": "e32b6794-e7c2-9c56-393f-a85b7edf387d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "faf8ab6b-f4f0-ca97-dccf-5419513d1359", + "61c19b56-1984-cdcb-7a31-987945b0ae33", + "f0e4c2d9-cc4e-0c13-3e3a-2b95d8c0d034", + "4a2f805b-02d9-da24-e361-0c0309289a1d" + ] + } + ] + }, + { + "name": "CMaidH", + "origin": [ + 64, + 24, + 0 + ], + "color": 0, + "uuid": "a3859b2c-af09-f7c0-1150-02c09ca10436", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Brim", + "origin": [ + 59, + 31, + -2 + ], + "color": 0, + "uuid": "82f4438a-e1ec-43d4-8f14-1e10adbb9cc3", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1e981720-d6d9-f09b-e577-706de32bb630", + "3aadc8d9-06fa-5eef-4dbc-ca941db9ade4" + ] + }, + { + "name": "HairTails", + "origin": [ + 64, + 24, + 0 + ], + "color": 0, + "uuid": "818e037c-2207-22d9-70ae-df9c2fe6ac1b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightHairTail", + "origin": [ + 68, + 27.25, + 2.25 + ], + "color": 0, + "uuid": "4e1d8716-18b2-f21b-a98a-35037a9991ff", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightHairTailZPivot", + "origin": [ + 68, + 27.25, + 2.25 + ], + "color": 0, + "uuid": "0ba356d7-a772-c62b-675b-9853ae51203c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "518baf41-6a47-6309-199f-e9775c87849a", + "d1c01e63-84c8-848d-1d9e-431dcb9e8e42", + "0aa2fa13-09da-60b2-545b-89dc095ffb2c", + "620a23d4-a300-8580-4b6f-bcf728d903ae", + "e53dc319-97f2-156c-fc11-ada7f8d75d8c" + ] + } + ] + }, + { + "name": "LeftHairTail", + "origin": [ + 60, + 27.25, + 2.25 + ], + "color": 0, + "uuid": "587c95a0-0bb8-655e-a1e6-9252c6ca49ff", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "LeftHairTailZPivot", + "origin": [ + 60, + 27.25, + 2.25 + ], + "color": 0, + "uuid": "b50248ff-7930-0ea0-4d97-8f50b95aeff5", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "cd609289-6de9-4a18-47b1-a208d8b446c9", + "2b622d2f-2f11-e864-32aa-71087b18b069", + "5c937338-321a-582b-c088-36acfe602aa1", + "be114fb7-8179-bb32-fcbc-a81b3aec646c", + "990bc7d5-85d5-c0db-ab54-6cc63eac6079" + ] + } + ] + } + ] + } + ] + }, + { + "name": "EffectPanel", + "origin": [ + 67, + 30, + -4.5 + ], + "color": 0, + "uuid": "5ac439da-af33-219f-4702-500fb11b1592", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a0a5baf4-c6b7-959e-38f2-c719643fcf63" + ] + }, + { + "name": "ExSkill2ParticleAnchor14", + "origin": [ + 64, + 28, + 0 + ], + "color": 0, + "uuid": "703be171-f399-8092-bb85-d238a18405be", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + { + "name": "MomoiUpperBody", + "origin": [ + 64, + 0, + 0 + ], + "color": 0, + "uuid": "16d22746-633e-382e-dd96-b35bde99daa5", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "MomoiBody", + "origin": [ + 64, + 24, + 0 + ], + "color": 0, + "uuid": "bf4dd57f-d0f7-1fe0-98e6-59e00f97f41b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "742e9ab7-8cdd-8d93-9a9a-88011f54d15b", + "2574fa9e-0d5f-502c-ce28-ef5cf30f41ec", + { + "name": "MomoiTail", + "origin": [ + 64, + 14.5, + 2 + ], + "rotation": [ + 15, + 0, + 0 + ], + "color": 0, + "uuid": "9100b434-e831-96c3-9283-218e489cafe0", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "50e61828-ccdd-ee8e-c621-0a193b35fd5e", + { + "name": "TailRibbon", + "origin": [ + 64, + 14.75, + 4.09 + ], + "color": 0, + "uuid": "4b2248c7-cc91-9c11-fb55-7eb94579a669", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "04492adf-36fa-4779-5f94-22c78d761746", + "46b89cc1-81f6-f3f3-593d-ece7aedf1753", + "6065c95c-cde3-e9af-8d6a-92f1d27bae9e" + ] + }, + { + "name": "Tail2", + "origin": [ + 64, + 14, + 8 + ], + "rotation": [ + -40, + 0, + 0 + ], + "color": 0, + "uuid": "feb531f7-26bb-8a9c-0e7a-1339231405db", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4113cbe8-5856-27e8-5d63-4f6f3f13ccbd" + ] + } + ] + }, + { + "name": "CMaidB", + "origin": [ + 64, + 24, + 0 + ], + "color": 0, + "uuid": "b9a399c1-df81-ef36-dcfb-7b054ae43f84", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "BackRibbon", + "origin": [ + 64, + 15, + 2.5 + ], + "rotation": [ + -25, + 0, + 0 + ], + "color": 0, + "uuid": "331e943c-54b9-5bd9-1968-6f7399ae9886", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b984c931-e06a-4a7b-03ee-8402dbbf3150", + { + "name": "RibbonLeft", + "origin": [ + 63.5, + 15, + 2.5 + ], + "color": 0, + "uuid": "fb477e58-8b46-eb97-914d-87feaa95a0c8", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RibbonLeftZPivot", + "origin": [ + 63.5, + 15, + 2.5 + ], + "color": 0, + "uuid": "da5b46f5-2ae1-dace-1db8-909b856a2c37", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "c346cb04-2149-cdf6-7c2d-2f066237567c" + ] + } + ] + }, + { + "name": "RibbonRight", + "origin": [ + 64.5, + 15, + 2.5 + ], + "color": 0, + "uuid": "75c4d2c8-3b97-1317-ae3f-823f28cab67c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RibbonRightZPivot", + "origin": [ + 64.5, + 15, + 2.5 + ], + "color": 0, + "uuid": "4df76c0b-d416-7655-5b7f-508a57bf37fd", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d3f2aef2-36ba-e71f-7f32-160b01ad665b" + ] + } + ] + }, + { + "name": "RibbonBottomRight", + "origin": [ + 64.5, + 14.5, + 2.5 + ], + "color": 0, + "uuid": "d379edef-9be8-5afc-a865-f325ac9e4ca4", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RibbonBottomRightZPivot", + "origin": [ + 64.5, + 14.5, + 2.5 + ], + "color": 0, + "uuid": "1d85102e-06f5-dab6-4e38-b9b14875331b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d398e136-305b-ff2e-9e3e-f24bb46043e3" + ] + } + ] + }, + { + "name": "RibbonBottomLeft", + "origin": [ + 63.5, + 14.5, + 2.5 + ], + "color": 0, + "uuid": "fe5fa891-b4b0-ee55-5226-dd982ba7ca6b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RibbonBottomLeftZPivot", + "origin": [ + 63.5, + 14.5, + 2.5 + ], + "color": 0, + "uuid": "35d0a712-7020-5db1-9fe8-8efd4812dd32", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "0f145497-236a-8d3e-289e-49bd0ba364b5" + ] + } + ] + } + ] + }, + { + "name": "Skirt1", + "origin": [ + 64, + 14, + 0 + ], + "color": 0, + "uuid": "d0e2a4ef-6f4f-9e4a-2014-102fa43a71ca", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "c1808908-2ddc-710e-bc1a-39fee1d58add", + { + "name": "Skirt2", + "origin": [ + 64, + 13, + 0 + ], + "color": 0, + "uuid": "9d557bf2-001b-1f8d-1d78-0a962b94f708", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b14062a5-8fd5-8a1d-20f0-07f95185da2b", + { + "name": "Skirt3", + "origin": [ + 64, + 11, + 0 + ], + "color": 0, + "uuid": "587e5ce5-4c03-ec5d-49d7-c562fd128412", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "576cb769-b524-e434-9505-500ecc812775", + { + "name": "Skirt4", + "origin": [ + 64, + 8, + 0 + ], + "color": 0, + "uuid": "451bd9ee-3968-ddf7-c9e0-b68dd523d86a", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1e8a9fce-e1fb-7b7e-7eb2-4a793ebcd958", + "4a4353a6-3e3e-ddf5-073b-2b5aa53b7eac", + "1795ac0b-b779-832b-a965-2dc00d907490", + "6e195df0-bf76-310c-06fd-394a4ff07e7f", + "03baf98e-5025-226b-5d56-5eb8b57dd379" + ] + } + ] + } + ] + } + ] + }, + "11e5075c-d603-b3af-f4b1-6eafe78e847a" + ] + } + ] + }, + { + "name": "MomoiArms", + "origin": [ + 64, + 0, + 0 + ], + "color": 0, + "uuid": "c062b0e8-6983-de4d-12e9-7b5ad9e81528", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "MomoiRightArm", + "origin": [ + 69, + 22, + 0 + ], + "color": 0, + "uuid": "3c1cb66d-8a31-d31f-ec9f-65a33e313a53", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8831734e-ce90-e6bb-8368-e011a468277d", + "cea7603d-ae80-e4e7-6f93-905551a79117", + { + "name": "MomoiRightArmBottom", + "origin": [ + 69, + 18, + 2 + ], + "color": 0, + "uuid": "b924539e-1292-1a17-6240-a525ae346090", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "643f9c05-2d3c-e1d1-5a2f-874902eb1784", + "b1a76f47-912e-c2d4-8090-6f6ac9734672", + { + "name": "CMaidRAB", + "origin": [ + 69, + 18, + 2 + ], + "color": 0, + "uuid": "390a82c6-a9a3-cd25-951e-f5b46cfdcca5", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4bf8bdcd-03e6-ad05-9e85-280ce67a5fe3", + "bfd9bcde-df77-5688-71ad-f9e6de0a52d7" + ] + }, + { + "name": "Gun", + "origin": [ + 64, + 0, + 0 + ], + "color": 0, + "uuid": "20fe1cca-22a6-ca36-3dc4-e85c7c10e012", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Barrel", + "origin": [ + 68.5, + -8.25, + 1.5 + ], + "color": 0, + "uuid": "b635d5fa-a419-f748-9c9e-5397f2e1f78b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f72700cd-69b2-684e-ad63-161195bd1ff9", + "2c16e3da-c1f6-2a48-dd86-a6bcccde7edf", + "cc5728a5-4902-fe33-c2b8-3420a3e61cad", + "0e7be8ab-db85-5020-4468-eba6054f4370", + "a7b79880-6b16-bbdd-5819-76f6d17be2ae", + "abf966ad-256e-1fe0-df52-a4e9c077b24b", + "be8ac874-5352-b790-d120-1c57853a71b1" + ] + }, + { + "name": "GunBody", + "origin": [ + 68.5, + -5.25, + 0 + ], + "color": 0, + "uuid": "cd5eb2ab-030e-e318-b31e-34f2acc5d28b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b89be4f2-db00-1503-8b92-33808e81bea4", + "4db5d913-9b32-856c-0d28-ff049de98293", + "62c3bf80-b7be-d5f7-1cdb-bf62b56e0103", + "bd456ef2-48c8-6821-9ae0-e4cab0677b73", + "4d6028b0-b228-5f3b-d409-d9c45ba84d9d", + "6a93ca48-f231-13f9-f3ad-8d7fddb2e107", + "9a16dde7-895d-f5d7-d84f-0c0dd36b62c1", + "73778aab-d8f4-cb9b-f2ce-472d1b68180e", + "b2d3bf33-ff46-59f9-28bd-67a3ace5aa79", + "914bd35a-3d00-c64a-5a8a-bf72841949f2", + "f1cb030c-bffd-6a37-4a29-55ae9bccd8c5", + "c2d143f4-2d08-e6fa-e52d-cf2a216936a1", + "60039310-140a-8402-ad3e-7758d10a7174" + ] + }, + { + "name": "GunBodyEnd", + "origin": [ + 68.5, + -5.25, + 0 + ], + "color": 0, + "uuid": "14c817c9-0f1f-e3d0-9eab-4b180156aedd", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b16d613a-5db9-1f54-1910-e2feb559a327", + "cb46413f-6560-3936-7be6-5b7360a71c93" + ] + }, + { + "name": "FrontSight", + "origin": [ + 58, + 2.25, + 0 + ], + "color": 0, + "uuid": "e5a53110-849d-eb26-88db-d629dfc4a838", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "baca8112-f890-fac4-115c-cf2e5fadf59f", + "ff65923a-c616-3df6-d15c-cb33a7935121", + "d3a47367-5e1a-5e76-d92d-ebf5c92b3a81", + "db58abec-0d26-0fdb-7fe6-8f68e02dc624", + "b375596c-e67b-cfaa-bca9-fcb95a8c3ce0" + ] + }, + { + "name": "Grip", + "origin": [ + 64, + -1.5375, + 3.9 + ], + "rotation": [ + -42, + 0, + 0 + ], + "color": 0, + "uuid": "8627f718-41ca-10ee-2c49-a6e9926e05b6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "66ebda03-68e7-11f1-02c3-3556a86adb74", + "96738e69-ad22-eb8a-0587-6f349f60c3ba" + ] + }, + { + "name": "Trigger", + "origin": [ + 66.5125, + -2.25, + 0 + ], + "color": 0, + "uuid": "51572ff1-ba4e-4285-d5b3-f36bb7087d13", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "c95afa8b-cbc5-cff3-eee3-f904f67c372b", + "fa175fb7-4380-3b12-94e8-891a942fe690", + "5ac153b2-9826-508c-4a8c-7407906ee261", + "2682abf0-2851-ca80-0b43-f9193a934b93", + "1e65f75b-4464-dfda-8cfb-c1fa6dd87e58", + "e7ea995a-d149-a8c8-3700-f0315bc08207", + { + "name": "Accessory", + "origin": [ + 68.0125, + -4.5, + 1.5 + ], + "color": 0, + "uuid": "9d7007ef-3549-f767-4e33-dd79d8bc52a3", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "af4603ea-5218-8f18-4232-f421c208fcfa", + "470028ca-2ed9-bf89-1330-b1584ea95a78" + ] + } + ] + }, + { + "name": "MuzzleAnchor", + "origin": [ + 64, + 0.39375, + -12 + ], + "color": 0, + "uuid": "86806c85-5ce7-83f9-6df1-e87cdcc2a979", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + } + ] + } + ] + }, + { + "name": "MomoiLeftArm", + "origin": [ + 59, + 22, + 0 + ], + "color": 0, + "uuid": "e7d3e5d8-00e4-587c-7bb6-6787db00054b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "af1aa9d5-0ccf-d579-b381-54ac7b12fb55", + "b74fb9e9-db24-b669-6f87-8469be63eda5", + { + "name": "MomoiLeftArmBottom", + "origin": [ + 59, + 18, + 2 + ], + "color": 0, + "uuid": "ad1c45ef-c0a8-6d31-d2dc-fbdc6ab7ddcc", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a82219a3-e344-a4d8-c85c-51462943a7dc", + "d7794b2f-dbb3-2cd5-c956-cd163b703976", + { + "name": "CMaidLAB", + "origin": [ + 59, + 18, + 2 + ], + "color": 0, + "uuid": "30c77d7e-9a1f-d5b0-503e-1e805766973a", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ff976ee6-ade7-13f0-bbd7-4ecd37ed1751", + "978b23f9-f6a8-b438-d1d0-dc03c5b8f55e" + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "name": "MomoiLowerBody", + "origin": [ + 64, + 12, + 0 + ], + "color": 0, + "uuid": "2f61e368-1c06-648e-26d4-aee94647e4da", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "MomoiLegs", + "origin": [ + 64, + 12, + 0 + ], + "color": 0, + "uuid": "29730186-2622-086d-ab67-4bb8e356bb6c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "MomoiRightLeg", + "origin": [ + 66, + 12, + 0 + ], + "color": 0, + "uuid": "4e80b5b4-7c04-8374-f8a7-526b3d36d050", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "da81ebbe-5b4e-2d46-144a-6f839ad6fa3c", + "bcf37da3-caec-e8f2-bc82-76a3f169374c", + { + "name": "MomoiRightLegBottom", + "origin": [ + 66, + 6, + 0 + ], + "color": 0, + "uuid": "84fe0b3a-286b-e17f-288e-c39feaa2e5e6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8b1cc891-ffa8-9f46-ebc0-f0b84e6ffb15", + "72c6eff7-d0eb-2ffa-193f-2ca402bdc722" + ] + } + ] + }, + { + "name": "MomoiLeftLeg", + "origin": [ + 62, + 12, + 0 + ], + "color": 0, + "uuid": "73b3d6bc-af0b-a066-5d73-f3938109e11f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "9c06bc9a-beae-98d9-e9ce-9c8e6ddbb9d3", + "f8f1e7ad-7999-9f17-0488-5dcbd4af7945", + { + "name": "MomoiLeftLegBottom", + "origin": [ + 62, + 6, + 0 + ], + "color": 0, + "uuid": "ee9973d4-ff4e-c96b-64f6-d1f28afd69c6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a1169ee6-6a78-c7c4-9214-670991206468", + "a5173990-504e-f5c4-45c7-9347880c1306" + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "name": "Gui", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "4f870634-4fef-77f8-247e-c380cc9a82a1", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Reticules", + "origin": [ + 0, + 0, + 2 + ], + "color": 0, + "uuid": "654e0dc6-0cb0-cc64-3ccc-b5df2fc05bc3", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "MomoiReticule", + "origin": [ + 0, + 0, + 2 + ], + "color": 0, + "uuid": "2200bfda-1009-ee60-785c-9dd351765283", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b03c014d-c647-31bc-8b84-3d5384fc2d77", + { + "name": "MomoiReticuleLines", + "origin": [ + 0, + 1, + 1.9 + ], + "color": 0, + "uuid": "40e3dd4f-8764-a99f-165a-805f60938198", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "96321899-e1dd-b58b-bb52-b19b16db89cf", + "f6bd9d2f-3182-0ae5-c4ed-8020b8cbcfe5", + "74cd4dba-c37b-c29e-4721-b12f6dfd06b8", + "78df8edc-4ff3-d761-251e-36b8810db134" + ] + } + ] + }, + { + "name": "MomoiReticuleAnchor", + "origin": [ + 0, + 0, + 2 + ], + "color": 0, + "uuid": "8af87620-4300-febb-fb50-3d30cacaf1a8", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "MidoriReticule", + "origin": [ + 0, + 0, + 2 + ], + "color": 0, + "uuid": "94756d90-dcf0-4695-1a20-92d679ae15fd", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "2c9c3480-af77-5339-53d9-b6dda80342fa", + { + "name": "MidoriReticuleLines", + "origin": [ + 0, + 1, + 1.9 + ], + "color": 0, + "uuid": "b55de3b0-18d4-0862-630c-534cfc6fb66c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f1e6b844-5112-0909-3dc9-7035b053809c", + "e4164859-0595-dd6c-1aec-d18a2965656f", + "2e12cc5f-4736-f47c-9c59-93da401fe6c6", + "82475b7c-6ef5-fa46-faf5-f81425ccc998" + ] + } + ] + }, + { + "name": "MidoriReticuleAnchor", + "origin": [ + 0, + 0, + 2 + ], + "color": 0, + "uuid": "18856ef8-1996-f008-63a3-83a86935ecc9", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + { + "name": "UI", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "3c28a4ac-df64-8d40-e00d-09d9b8bd4149", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "MidoriBullets", + "origin": [ + -130.75, + -148, + 0 + ], + "color": 0, + "uuid": "d5d2ffa5-46df-c842-8838-7bb9ff04c8d7", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "MidoriFrontBullets", + "origin": [ + -130.75, + -148, + 0 + ], + "color": 0, + "uuid": "1acfd1e0-9189-70ce-828f-d9f4942f0609", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "BulletM1", + "origin": [ + 17.25, + 63.5, + -2 + ], + "color": 0, + "uuid": "402fd9e4-cfff-35b8-6cf1-f2c9cf36f1dc", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "c93242f6-b0f2-cee7-75d6-2c853167fcdd" + ] + }, + { + "name": "BulletM2", + "origin": [ + 17.25, + 58.5, + -2 + ], + "color": 0, + "uuid": "1dd1ad0c-5ea5-5ec5-2289-f96f33dc891c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "95f8d2a0-ab01-aa1a-9adf-819ada35bb7b" + ] + }, + { + "name": "BulletM3", + "origin": [ + 17.25, + 53.5, + -2 + ], + "color": 0, + "uuid": "0aab7899-2f53-9588-fc07-849f4e3f5292", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "958bccb4-fe10-4cad-d34b-e5c1380b57e1" + ] + }, + { + "name": "BulletM4", + "origin": [ + 17.25, + 48.5, + -2 + ], + "color": 0, + "uuid": "5dc53d1b-e4fa-50a9-f9d8-aa0642da79ca", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d9f28089-d978-2b45-b2b0-f6cade8fb28b" + ] + }, + { + "name": "BulletM5", + "origin": [ + 17.25, + 43.5, + -2 + ], + "color": 0, + "uuid": "2eeb36da-193f-73ee-293b-6efbbaa3e505", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "5347ea06-80c1-2be4-8fc2-4a8f56db248a" + ] + }, + { + "name": "BulletM6", + "origin": [ + 17.25, + 38.5, + -2 + ], + "color": 0, + "uuid": "b892d1ff-01ff-8a20-9e6a-c82f3fbe9897", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "554c4cd9-9816-1e88-4848-331aee153a71" + ] + }, + { + "name": "BulletM7", + "origin": [ + 17.25, + 33.5, + -2 + ], + "color": 0, + "uuid": "5370fd74-f372-49ee-e51b-9ec14c5af3ff", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "7c6278c7-e86b-76a4-5629-d05b6fc533e1" + ] + }, + { + "name": "BulletM8", + "origin": [ + 17.25, + 28.5, + -2 + ], + "color": 0, + "uuid": "943a3dab-1356-64b9-c120-ca0d270c2da8", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "72dd320f-ffa4-9890-4350-c860738aa3b3" + ] + }, + { + "name": "BulletM9", + "origin": [ + 17.25, + 23.5, + -2 + ], + "color": 0, + "uuid": "88dd0163-ea03-c5ca-649b-98ae45197b2b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "2a0032e0-593e-84fa-0ae4-46b280742467" + ] + }, + { + "name": "BulletM10", + "origin": [ + 17.25, + 18.5, + -2 + ], + "color": 0, + "uuid": "7c44bc8e-2453-166c-0916-1fa14c995562", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "911a864e-c778-6e3b-b83f-8624f7f3e952" + ] + } + ] + }, + { + "name": "MidoriRearBullets", + "origin": [ + -133.75, + -149, + 1 + ], + "color": 0, + "uuid": "11cbe8e3-cb30-5027-7ec8-a20295cf36ae", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "BulletM11", + "origin": [ + 14.25, + 62.5, + -1 + ], + "color": 0, + "uuid": "aecf41a4-7f94-4655-8dfc-b91b5952422c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "c327eb39-1596-8b37-9dca-a15605bb3040" + ] + }, + { + "name": "BulletM12", + "origin": [ + 14.25, + 57.5, + -1 + ], + "color": 0, + "uuid": "0b228561-babb-54c2-017c-7c66234bf8ad", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "94b0afa9-dc4d-970f-e2ac-531a02722c1b" + ] + }, + { + "name": "BulletM13", + "origin": [ + 14.25, + 52.5, + -1 + ], + "color": 0, + "uuid": "67368a8d-7112-d72d-bed8-1d06610370e7", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "051e959b-b28b-6f09-78a2-b0f376f82906" + ] + }, + { + "name": "BulletM14", + "origin": [ + 14.25, + 47.5, + -1 + ], + "color": 0, + "uuid": "fdc882d6-3eab-c071-c700-b2fba97fbdc9", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "6b9ec136-bbf7-9a04-f09f-57586602f399" + ] + }, + { + "name": "BulletM15", + "origin": [ + 14.25, + 42.5, + -1 + ], + "color": 0, + "uuid": "4aa612cd-2159-0fed-d62b-10ae57f246a1", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b231da3d-815d-d977-b4d8-c1147ba08f8a" + ] + }, + { + "name": "BulletM16", + "origin": [ + 14.25, + 37.5, + -1 + ], + "color": 0, + "uuid": "c3635a2a-5952-ab7d-b20d-81dce669fae9", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "fe94ed3f-2328-598a-7b65-d6b30e0f6ff3" + ] + }, + { + "name": "BulletM17", + "origin": [ + 14.25, + 32.5, + -1 + ], + "color": 0, + "uuid": "389ffc61-164e-9d9d-1532-dea941fff84d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "5772a6ea-39be-a748-5347-4782926b7455" + ] + }, + { + "name": "BulletM18", + "origin": [ + 14.25, + 27.5, + -1 + ], + "color": 0, + "uuid": "1f696ec0-0576-7cd4-d287-34cd3159769e", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "9e444776-64c6-b40b-4b96-2b6dc0dedb64" + ] + }, + { + "name": "BulletM19", + "origin": [ + 14.25, + 22.5, + -1 + ], + "color": 0, + "uuid": "88b0667c-5061-38c3-8a3d-91a8b181f978", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "80ad21bb-ec9e-41a3-9ff6-fb9a0eb2e00b" + ] + }, + { + "name": "BulletM20", + "origin": [ + 14.25, + 17.5, + -1 + ], + "color": 0, + "uuid": "7a4aa981-393d-00c3-8690-ee0176d13d68", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "06cfda21-c694-1a09-0e32-b6cfddae18f2" + ] + } + ] + } + ] + }, + { + "name": "MomoiUI", + "origin": [ + -82, + -148, + 0 + ], + "color": 0, + "uuid": "33e009fd-eac2-87e9-3d93-107781acea1a", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "62602b88-cc66-7c02-0afa-af1ae13798b6", + "14fc0147-c6d6-4fd1-9774-c6e8a7217835", + "b0dafb09-2be0-60c6-280a-555ed8562e6a", + { + "name": "Bullets", + "origin": [ + -82, + -148, + 0 + ], + "color": 0, + "uuid": "d2ec64c4-cc1a-a429-7725-5b0b36475475", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "FrontBullets", + "origin": [ + -82, + -148, + 0 + ], + "color": 0, + "uuid": "c2632837-c46f-5b81-51eb-676e58ca4616", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Bullet1", + "origin": [ + 66, + 63.5, + -2 + ], + "color": 0, + "uuid": "266f3012-636e-74a0-2c6b-9643e0fff73f", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "5a0f4023-15b1-157e-ce43-54d04b8f7954" + ] + }, + { + "name": "Bullet2", + "origin": [ + 66, + 58.5, + -2 + ], + "color": 0, + "uuid": "025a74b8-6100-dc03-dfed-74613ac4d3f4", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "96fd6c58-6b70-ed53-6817-d4c9acd30b96" + ] + }, + { + "name": "Bullet3", + "origin": [ + 66, + 53.5, + -2 + ], + "color": 0, + "uuid": "7478c660-d0b9-57bb-480f-9cf7929f9018", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "0e342361-c733-bfc5-d012-c1dfefc345c0" + ] + }, + { + "name": "Bullet4", + "origin": [ + 66, + 48.5, + -2 + ], + "color": 0, + "uuid": "5f8cee0f-5757-e41e-fd56-cb32697e65b1", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ce51a473-736b-068a-121a-04c7b1e993aa" + ] + }, + { + "name": "Bullet5", + "origin": [ + 66, + 43.5, + -2 + ], + "color": 0, + "uuid": "048f3215-7b27-2d82-83ac-fcc795e5fc00", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "6988309f-2ee2-e18b-5149-500c96d75e59" + ] + }, + { + "name": "Bullet6", + "origin": [ + 66, + 38.5, + -2 + ], + "color": 0, + "uuid": "f1f2d36a-ae51-e952-4b01-cfd6ed5501b4", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "fd469d60-0ab0-5839-0d13-d7495809e3ac" + ] + }, + { + "name": "Bullet7", + "origin": [ + 66, + 33.5, + -2 + ], + "color": 0, + "uuid": "9b35c203-c7f3-afcb-d89b-89ff3091acdc", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "3cb5f241-f987-9602-96c0-fca71cf290ed" + ] + }, + { + "name": "Bullet8", + "origin": [ + 66, + 28.5, + -2 + ], + "color": 0, + "uuid": "3acb18b9-6388-98a8-fc10-43bc2d4bdd3b", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "099f8192-a74c-8f42-3713-615aba66b118" + ] + }, + { + "name": "Bullet9", + "origin": [ + 66, + 23.5, + -2 + ], + "color": 0, + "uuid": "1e96cac6-788d-cdf0-9fb2-a4cfa9732fb1", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ff270485-f205-379b-9274-5946bb795138" + ] + }, + { + "name": "Bullet10", + "origin": [ + 66, + 18.5, + -2 + ], + "color": 0, + "uuid": "306f430c-6772-c7cf-15e5-9285f5130b62", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "2e2157a8-cd02-067c-099e-74cac40b5ec8" + ] + }, + { + "name": "Bullet11", + "origin": [ + 66, + 13.5, + -2 + ], + "color": 0, + "uuid": "48b81982-ce56-a3a6-3907-1f21961de27a", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "73857499-ea0a-54d1-d917-195edec64722" + ] + }, + { + "name": "Bullet12", + "origin": [ + 66, + 8.5, + -2 + ], + "color": 0, + "uuid": "3acfe997-7950-1748-3aa8-eba663f7a00e", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "6eaa04b0-a15e-a906-aa55-ab4b7fa6542e" + ] + } + ] + }, + { + "name": "RearBullets", + "origin": [ + -85, + -149, + 1 + ], + "color": 0, + "uuid": "7e2c8b6c-55e4-932b-5c77-674fb3a1af0b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Bullet13", + "origin": [ + 63, + 62.5, + -1 + ], + "color": 0, + "uuid": "fd15aa2f-8960-df74-f22a-2205e0ad1bad", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "7f4982ef-352f-5418-60ee-3efe4f28a3c6" + ] + }, + { + "name": "Bullet14", + "origin": [ + 63, + 57.5, + -1 + ], + "color": 0, + "uuid": "a4341ea1-8425-37c2-c644-d3d71e9b5935", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "89bcb4b7-7f96-1f64-fd46-7267755f2414" + ] + }, + { + "name": "Bullet15", + "origin": [ + 63, + 52.5, + -1 + ], + "color": 0, + "uuid": "bd71f339-eb2a-a1a2-b9a6-a9820d35f108", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "6bb1e74d-8c45-b045-25ce-a1952133e78a" + ] + }, + { + "name": "Bullet16", + "origin": [ + 63, + 47.5, + -1 + ], + "color": 0, + "uuid": "47289013-b131-25e3-25b4-425ca64a32e2", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ba630b5f-3bf8-4e9b-b93c-e20755b445c0" + ] + }, + { + "name": "Bullet17", + "origin": [ + 63, + 42.5, + -1 + ], + "color": 0, + "uuid": "194801ec-39c9-2c8c-97c2-25b2322b57eb", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e276c591-55fd-a1a4-7a25-1a3eb4e89fc3" + ] + }, + { + "name": "Bullet18", + "origin": [ + 63, + 37.5, + -1 + ], + "color": 0, + "uuid": "f1578657-33d3-8efd-3296-1b81e9dab71d", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d0010067-f007-82e6-a6b9-d814f2af2990" + ] + }, + { + "name": "Bullet19", + "origin": [ + 63, + 32.5, + -1 + ], + "color": 0, + "uuid": "d87a7b9c-4da5-f903-d3f4-ffc7cdefae08", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "c92e5194-e1c6-656e-a7ce-48e5cf2b4356" + ] + }, + { + "name": "Bullet20", + "origin": [ + 63, + 27.5, + -1 + ], + "color": 0, + "uuid": "eba391d4-fb32-21c5-7518-8232a91cbb29", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "5c7baedb-3efc-eab1-6a9e-324373789d58" + ] + }, + { + "name": "Bullet21", + "origin": [ + 63, + 22.5, + -1 + ], + "color": 0, + "uuid": "4a8400a5-8c38-df68-8757-7fd08abb4dd5", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "5d98d232-56ee-854e-7b62-cab5e4366426" + ] + }, + { + "name": "Bullet22", + "origin": [ + 63, + 17.5, + -1 + ], + "color": 0, + "uuid": "2125d6fe-62c6-9ecd-c644-a0b1776a3415", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "6c80824e-773f-caa0-4d5f-79bdb2fa46ec" + ] + }, + { + "name": "Bullet23", + "origin": [ + 63, + 12.5, + -1 + ], + "color": 0, + "uuid": "74a3e24a-dcc5-3505-f6a4-7a00888e2d4e", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "af3af59c-d9f8-a7a6-2b01-4abbc0d412fa" + ] + }, + { + "name": "Bullet24", + "origin": [ + 63, + 7.5, + -1 + ], + "color": 0, + "uuid": "129c51cf-a50e-1a30-f639-f7e2c5f3b838", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "34ae022c-7b22-8a6e-caf8-3ff3867d465d" + ] + } + ] + } + ] + } + ] + }, + { + "name": "MomoiHeadUI", + "origin": [ + -79, + -77, + -73 + ], + "color": 0, + "uuid": "71b08d0c-78f0-1c9d-86e1-64d41918ee41", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "5c8b2874-e2d1-29ba-bd96-a5a948ea69b6", + "cf9b2f96-82ad-33e8-6e2f-2e421fea26e1", + { + "name": "MomoiPaperDoll", + "origin": [ + -45.75, + -64.5, + -57 + ], + "rotation": [ + 0, + 15, + 0 + ], + "color": 0, + "uuid": "6d7bd6dd-35ef-0b3a-88f8-53f143afd937", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "MomoiPaperDollBody", + "origin": [ + -45.75, + -64.5, + -57 + ], + "color": 0, + "uuid": "4dbb23f4-d580-bc9c-50de-5b3a7c341eba", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "fba35b14-2634-64ce-7f2b-b5d6bb86ded8", + "b0e2a364-2bfd-70de-ac96-d0ec32a13664", + "e3130767-8d42-8ae1-928d-d1c6c6fd322d", + "a3a49e25-79f9-4980-4dfa-ff4da4149bdf", + "1a2c901e-3949-8caa-7b8b-64052fe78ae3" + ] + } + ] + } + ] + }, + { + "name": "DamageEffect", + "origin": [ + 0, + 0, + 1 + ], + "color": 0, + "uuid": "37f628dd-4154-d33e-2a66-b5810889e30b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b8a0ae17-32b5-8cb1-d11b-3a9ec7cfa714", + "41a4ac48-17bd-c9d3-681e-b2b3c120bb2d", + { + "name": "RedEffectAnchor", + "origin": [ + 0, + 0, + 1 + ], + "color": 0, + "uuid": "32117c1a-b713-505a-784b-9959eb16d346", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "CrackEffectAnchor", + "origin": [ + 0, + 0, + 1 + ], + "color": 0, + "uuid": "c472a8ec-4150-d5ba-1ea3-1a979c854fdf", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + { + "name": "ClearEffect", + "origin": [ + 0, + 0, + -80 + ], + "color": 0, + "uuid": "3ca41b36-cfc3-66c6-b9f6-7b291b8894ef", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "593dba4b-899a-cfa9-6688-e9af724b39d0", + "00f83784-f3b3-fbdd-6cc6-06d784689ad4" + ] + } + ] + }, + { + "name": "TransitionAnchor", + "origin": [ + 0, + 0, + -90 + ], + "color": 0, + "uuid": "e09849da-eb3d-a9a0-52b3-e419a7503592", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "MVP", + "origin": [ + 0, + 0, + -91 + ], + "color": 0, + "uuid": "95f8390b-6b04-d7ec-e490-758a8a1ee0dd", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "UpperMVP", + "origin": [ + 0, + -35, + -91 + ], + "color": 0, + "uuid": "57c58202-f4dc-19e7-324b-2880734e0557", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "9e39ea7d-e5f0-9d17-3be5-bd6c2354c02b" + ] + }, + { + "name": "LowerMVP", + "origin": [ + 0, + 1, + -91 + ], + "color": 0, + "uuid": "3b395e8b-9328-596d-b4d4-7fb700a82f45", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "30db9a10-89fc-4e8e-ea7f-51af9c610354", + "8d053ea7-c2ad-8afd-b6d7-1668455e8c1f" + ] + } + ] + } + ] + }, + { + "name": "GlowEffects", + "origin": [ + -4, + 24, + 8 + ], + "color": 0, + "uuid": "6e9b895d-f5d0-2828-62be-cb37cf18b636", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "GlowEffectsGroup1", + "origin": [ + -3.6, + 24.8, + 9.2 + ], + "color": 0, + "uuid": "ee3fdb12-b31a-3d89-2880-95797b1dc229", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "cd277c67-d8f6-f217-67df-4dfa937a2640", + "0827a256-530f-c1a4-6307-94e423295fe9", + "4ef52011-c072-e8d1-41e3-48b41bb79797", + "d6bfd87f-6859-d87c-b171-d2d1d324343d" + ] + }, + { + "name": "GlowEffectsGroup2", + "origin": [ + -3.6, + 24.8, + 9.2 + ], + "color": 0, + "uuid": "66798764-ce61-ad4a-79fa-8136c720af2b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "424a95c1-9c84-2d06-ecc0-cbc5503576f9", + "abb9fae0-7ada-3713-728e-abdef5a93f31", + "6f77356b-69ae-2f9c-affc-9cd5907a9564", + "5d290983-0874-befe-91d9-5fd07d42c731" + ] + }, + { + "name": "GlowEffectsGroup3", + "origin": [ + -3.6, + 24.8, + 9.2 + ], + "color": 0, + "uuid": "afd0bce6-babb-288b-6b09-c872b0324836", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "0b43801d-4d96-a40a-dfaf-fe80114df611", + "e0b65294-a52a-d886-c74c-b2beed2e5239", + "e6c6a543-2c1c-c6cf-04be-241395e6ee75", + "5de02552-e500-1a95-4e89-67e8a4359a93", + "0e27f365-fe21-cb24-491d-356580db452e", + "67e6834a-14fc-0591-71bf-6d2ad9c8f76f", + "d3120715-108a-2741-1f4f-218ae92f7323", + "782d4106-1c3c-e8c1-d51f-c35fc28739b3", + "3b72fcf1-2c09-b70e-928e-c6c2024e13a6", + "031ad688-4cd7-fae4-7b04-e7e50e7f1251", + "e08e4043-9029-fa34-c693-25875bd59d0b", + "86158887-4e5c-bfde-83e9-7211518047f3", + "5c2c2327-add1-bab1-b744-cf5f653c8f54", + "2acfe484-5eaa-d0fc-eda7-4507913a50f6", + "93c91a35-1453-b214-b451-221efa221890", + "85a341bb-d34e-3886-ed6d-a364d1899ebf", + "640693a0-f98e-8a5a-6eb5-4f2236d5d514" + ] + } + ] + }, + { + "name": "ExSkill2ParticleAnchor3", + "origin": [ + 41, + 0, + 104 + ], + "color": 0, + "uuid": "63e83ea2-313a-ac49-5419-a3747d87db0f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "ExSkill2ParticleAnchor10", + "origin": [ + 25, + 0, + 126.1 + ], + "color": 0, + "uuid": "cbb6c193-feaa-2b8b-17bf-344e27974552", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "ExSkill2ParticleAnchor11", + "origin": [ + 3, + 0, + 146.1 + ], + "color": 0, + "uuid": "ab2ef7e7-e3d6-db6c-34b7-ba8d67cd1c81", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ], + "textures": [ + { + "path": "", + "name": "pillager.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 64, + "height": 64, + "uv_width": 64, + "uv_height": 64, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "a5e29705-80d4-2726-bfbe-d315e05b06cb", + "relative_path": "../../textures/for_modeling/pillager.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAABttJREFUeF7tWltIXEcY/hdjXNddL3HVjTd2NVeLkl7wobSFUiikeaikJSnFkjQklhLFxLSJUqGUWkxSYku0tDElWCoFCU2TQpq+9CVCC5JKccG0seqirvWyxsu6Xmpkyz/unMwZz9lzjq7ds+q8zDlz/77/+2fmzBwDKIQvrl71Y5H5uTmhZIzRCBAdDbCwELQ21qkoKzNgoaJDh0g7NpuN1Pnq8mWSHu6gOAgkQBI8jjxAgNPplMSxa+fO9UMAsbpMQAJ+uXNHlPvS/v2ABNxtbSXp1PJDQ0Oi93ArQbUCNi4BTU1+wdfR7xnpU5OvbwXwBEhMfOubgMAqIOn+gZVAzSQY7tlern9VcwBdBoPNA+xKwXZGl0HdEkDXeWGAAT+f93qBBYwAhXduDyDKU4OUqX/yxAlFI6hpcqVlDHSdlwUbaFkJJFUAbSdYeTZPtwQgbiXJa81ngdPnsBNQV1/v54Hw1pPzbyo7OSKkVMC3Fe45wkAJkJNs87VrBOeBoiIwmUzkeWZmBm7fvEmei48dW+Z+tC0l4rBi2AmouXDBj8DkrPj5xYtgtVoJyDePHiXxd01NJPZ4PHDq7FnJ+YcFj4SxgRKpKwJYn+d99XRpKTz9zvNQnH+Y4Gh2tsDvV1rhs4YGgTi+DlUKxghYigRMqz53LryrACqAWoe1DFVET08PpKSkgNFohKioKMGQPp8PRkdHIScnh6QFs3iwJSrsBJypqvInJSYKY2RJwET34CAhoK2tTYSjsLCQEJCRni5KZy09PjFB8rB99hnT6Pul2trwKgAJoAikiHjQ1QV2u12SAJfLRT55Wbmz4IJZnuaFnQA1g1zPZcIqPz0Qu2YEFNqyBdeSAjo2J14a+TLdE541Gxvb15p1Qgl49q3DkJGZSfp0DwzAr9+2kGfdEpCdlyeynH3aDdPz/4I5ZiuJ24dnVZGGBLDgKeuUhIghwDrWK4BHEu72TW4sAlarALQ86wL4jm6wIRSAYNEN2KC7OYD3ea1L04vmWdkqE745cLxSLMrv/akZEuPk7xhoYazLBlrnm7ZeVS6oFodhrQhAAP+MRcPrlRXCWAbdbui69TNsifYEJYEHTxtAEnRHQP6jKBidmoSU+ARRvCMtHSZnfZAQGwf73n4DKHh8x3QMUvX4dvj3tqG+tVeAwWwmA/RPTysqyfZwmkxoyUaTKN6Tul0A+NC61N5ij1sgiu4F+HpK76HeIC1zAQQfk5QE8+PjqkhYdwQompwroMYF/liYJLUcj7YQl9CdC+Ban2QxwW5bkgBv2DsLOBnhxIPxuHcGXOaMZfyoUYCUr+vGBY4UOpZ9tNBZGEE7bNskRZFmiQUk6X7fouQcoOTLK80P+Rzw6hPb/ayVcb/PhixrorBkSS1PSNL/GdRuxdWOyfBUWqxIAbjfR3fAgOB4QviG55Ltsn2NjIxAamqqKF8qTe1gsVxn5/3QLoMvZCc8PhKzmIi1qbxZV8DOKTFUMf2eCfBsTZYd/8zsLCFg2uslZcwWCyABpthYLZhFZfv6B9aGABYc9sjLnUqdVQeWc/ktigSwBXRHwIpNsU4qhlROkcjJJgGRaLVQjnlTAaFkMxLb2lRAJFotlGOOOAX81t7uv+fqhXvn3yObtedKKuHv7m7YkZtL4isa/0KPOALqb3zvp+BRCS+f/hg6OjqgoKCAxBuKANye7y06IoBHEk4eP67JqJoKh9L3VtoWKgDrXj+19HMWEkDlj/H75eWaMGkqvNJBr6YeBYxtPGN3APq/868/Yf6Hr5d9sLH9pBWXQv7uPVB28LWgGHVPQEntJ8TiCAYDgscw3NxAYv5Ahn6tIgEYGqs+iGwC6MUNPaqnVt7n65c8p3zSMC5K7+vsDE5AXt5efwLzkxQrI3d/P7Tc+pEkofQwfFpeDhlZWZKqngz8FBVM8lpPdA7syvdLHaoOZ9vIvQV/Kj20bekOAg9r8VLl9gNncAKyszKFEyE8sWEDHl582NgIX1ZXk+R3a2rgo5KSZcdc9MRHja9rPdHB/wykLl7kDlVxDGye0k2SgSUAK7MkIAEHzzy+28P8G5fqRARoAY/1dUcAeyaoxoKrLaP1VFfOBeTuEHF8bJ6iC2jtQOnyUilfSZI8wXJzFJ1veAWigtk0JcUZ1PgYHTT98UmLT/K+qvViAwlAUviJGglQ436aCWBvdeXkg0RQS+PgtBCilYDcRGvQ3+2UXFKpPwPvAlolqtWFtLZ/vq5OIKDX5SL7fu/UFMFtiY8nH0AO+9LlDObTgGn4rvRxpPudIBKAQDEgcPxj3RQXBzO+pZ8sFhcXJUWAdbB8ZUVFZO8ElSS+2nzdK2C1AJXq/wetuFeM4T1WOwAAAABJRU5ErkJggg==" + }, + { + "path": "", + "name": "ex_skill_2.png", + "folder": "", + "namespace": "", + "id": "1", + "width": 88, + "height": 168, + "uv_width": 88, + "uv_height": 168, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "a36cb8e3-24ca-d85f-889f-72a38f8a1297", + "relative_path": "../../textures/ex_skill_2.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFgAAACoCAYAAABkByktAAAAAXNSR0IArs4c6QAAEyFJREFUeF7tnQuQFMUZx7/mcQ84BAnqRSN7EnkodwLRA9EgAV+hgmXiW4JRSzAmETQpn0kqPioPI6lSARNFLDUxYHwQLVDURAQp5fBQUMCAIccucgTxwkMO727vjk59PfPN9c7OTE/PzO7tnTNV1Ox1f18/fv2fb3p6m1kG2Qd3SPNKYpr2XypzOxyEK6fZYVOenB4D9pCMEg5fNz8DcrpxBxSVDXYtMt3SAEXFg6x8dtqNyjq6s6SVnedvP8ChuLdgkAW3pRUozw1SDFghH1nB6f0fQ9GAYVqCiwGrAMcK1hKU3VgdIvzE4BHTnBuxZRHECtZQsIjDcpigGBwDdqWor2CnOBwDDgFYisFZpaCCBw0AOO5C5wrqXwI2/FrlIPoJctZsxrxqukroYWKWQJd6kDPSwWmcD99003ZjFiLZsjN/6msA7O306+dn8HJp4xtwe0k/6Nl8EOhsQdUB3Ppf4yFFE7BdvXBEX8GEDYvm6sgtYAwBeJnjcfAQQD+j8eKzBCID8PCLoH3rEgFcHKhg2Y8+N+w38qXyxcPKV08y0hv2g5cSrTm47erA8CArupDDBctSh/x0Zn5u7N0TykpKoLG5Gcq+frlgYwE2n/JEolOYsClczEJKT7DCii/A/fqKWM63PsEppuNnHCAc3MIG/OEjmQs66b2GunqWdpyHXOZ8FdU925FOfkUDM20xXUpL762DooFDLBt2yg2uMZgU7AaQxFHYgNf9lkOvMoC2RqPTdkCY5gcwISPQVKYHXEjvBXbaz90B4+AXF7vORISKW1rAa5CclZG/VMaxE4fTAD2KnGstLvachmEHPQ9J2ek9H0HR0ScDgqXB9FQwAsSbmctUTwD2yM8fRveaGLcrmFSMEDBM9BkAUDQeoE8fgL5lRkmHGgG++AIgvQYswHKIoM+2KyJ9cDcU9SvPCCteCiZDOfZ6pRUCUHsbrMvzjlOqM2LxfR/WijxVOtlRwWQfNr0QYQVpU2jAVKnfAQliLw9WVxtARg3+3dq3jL6XlMDCM26D/xxaKf6k9IWTfwUz3rkf7hw1NiNdy94se8aKe+HOcWdZ5VDZ0NwMrLRUtOk376+xBPOLb4yHqAcwiBqD+GQB3jZtAcz95N/QN702A2QU6VTG3NVzMgDL6W6AqXOyEGZXz3Js54lLZmcJgeqYt26+r0fzIDCdfCzApJh9Vy+CZ/bUwc5PXxb2cvqiT7fBrj3Ls9L92lPZP1r+S0BVUvlyes9evRwVTI0P005s/+x/3ptfwNTw9rY2cZPrsXiFSGJXnScaEmU6lX34ysmAIKl8e/r8HQ2iLTunThFtkWNwVO2JSqGqcvI6ml6N4e++mTGLYWMnZbRNla/qaGflFwRgOzy/MOyDgH7bn3nMcePMCVfM7JS+ZlRKjXNrTNh8J3BB4VJZTpAPr9rMG/bvEyaDBhwJPSaO9ITLOReD0vj558Kn7IgjxNnt7379+/seLEfDsCpw8yco8gB+KQH7vUSjsCsEwAcPHBAKVimX8hlj4RQcBTidMoJCdgoPWC+GCLl+VYjo9oARhmqWoMq3DyhBVsHVEUIQW99SD1J47APAJp1/ue5+YPjHeRfCua+/lMXvzdf+ljVg/PWUUT7VYllwYOdVOA4wX5HibHKCvTr5HP7tFf8UNmJZ1X44fDkgry83NbU49q20tDhvwhKAVwy+KKvtk3csEWkE0w2q7CgD5v9IcdxpzM5JuH9jgTb41Hhuhw3CpTIRMn0WXwzYD3ndGfOKBmZ8u2EHfOCAMQ0rLz8q/4AJKDYAgePfN/Xq+Jaj8uQEnDjn12zbrb/kePa6/EmBQnlvIGgOwJE2KdnY583ONgDK9k5/h1Uwge3f35jfOikYp5Y0fbRPM+V03QcWS8FOgO8//qtQvfBBVjvjZo5nPzGVr0xx9q0E42+a6pzkoeCVKQ6cA5tUIeyZaUvARVjAMGD74tRqB6W75DcPvdaxyW4hwu1BSvWA5cXFE7BTTFVB5qtSnE1MMP5WirOz3OFalz7Zm2dZwY6AbWEBv3LKis9mbH5zYNq1uZO/NjvrKValTlnlKg5WmPOKwbqA+eoUZxMSjK9OcjbB+Qbm1LAOP9N/bYqzcQnjC1nV4aZuAEDA7zx1KKuEM67uC3bAqmqC5nvOIrQBv53i7MwE428nOTtTA7Dll+LQq6MrCFnuWIZSzdDh9aXpip1zeacDDjoyjkpck+JsfILxd1KcnaEOD1aYsPlxU8H2OjIUbSrX62v/7gf43RRnYxPMDZDbYPK1Sc7GVVh+roDlubBPBbvVmbcQEamCa1OcVScYr01yVq0RIkx78iPAbrMIu2pJ2fZ0VHDTQ/VQetNxYD93TcDvJTk7tYJx8+x38Miev5fi7NQE4/9KcnZShTE7oGkaFiY/udlvbg7bsBBw91Lw+iRnYyoYX5/ibIxGDJb8oERi0vpqBx8ZqNPMQbHPDQs6cNdtrsD733O/82N7citnFcN9PQM4DWZgR9d4+kGSs1EVjJtnlYr5BynORiUY35DkbLQRVkjBKl+/+QTWDaIMX7bhya0dj+0BIUcPeGOSs6oKxjcmuXgcrvJ4kvswyYEZNvzDJGenRA8Y4RI0PwqW7cVgF5qCRaM2JTmrNGFtRtDSIf13czbStNmU4qxSWtgxY7BfhbrZESxdBcuQCxIwXeZ4xpuVazj5CBXsbRMGsgzYKzxQHU72BQvYeojYYirYWknrQMZG+J/K6YLWhesFWbdu2T5LXUuXrcm4pG+59faM8rf+6y3PuD31e7P5c4vmOLbp0mm3Ktu67O9zleVTIUv/crdVHisbmOH3pQDc2Gj8t4SyMmPjdiEBxr0QTt8OBx0YN+XkTMEId1CpUXxDExeQCwUwbTQR9wjbV/Ax4O/NtkJYmBCRNwXbY64ySNoMHn18cZYLxmBU6xML7hJ5115/D1CaU/lOeV72ftr411NKAGcO9nmtyjdyBecS8NCrjP9f9++/PBsDVo2sW76bgn++vFaAxQNB/3ZKtWsMzoWCcTaiq0Zdez/MWK4UjJUjZDwQrmoWIUMOGx6wLjtgTPO7FqEbVrxA5wywDBc/eymYGkjzZz+zDZV6aD4ddi1CVY8qP3LABImgkpL9qtiu9IaGHao+OObXrH7RmoLqrkUEqtDFibltL/JbiV1tQQG7hYgoAFNf/Kym+e23X7vIAT+/eA7uJXE9nC5/r5tclID/wB92bdkt7CeOj+gpznlCYz+wveOhAafTrX4HM5Dd+VOnB/KTQwSBdYOIFTjZIFyqPChkR8AXXXajKHfJs/OVncs14GL5hR/K1nQYlJQYOygRHIH1o2DZHv1DK3jKBTOzLhsCS6C9+tWzl/niDtPIbSWNytCdIciPwxp8AVfXCJaugmXIoQEPP+ks9fYkj54NHTE6I7dQAXuFB+qAPCBkHxqwShV2hS9f+ljk3+Op2hAk3wmWn3KC+rmVrYQVBjBNAfO5o9xLjQUJ2E+jnGwQLoGVPwctT9dPpUS35UqVn247cqbgQgbsteCed8C6IybbF3KIKBgFhwH84GeHxQzl5qN6KK+UMPU4+QZVYlC/wDe5oB1HuARW/hy0PF2/oKCC+uUdMFXYGXCDziSihovtyNmlG5WCcZ+FrnrRHteDo3iSC1K37NOtAWNHw65FxIBdCMg7hHTXIsJCzYuCo2pkmBBhb4Of1bSo2k3l5CxERNXQKAFH1SadcgoesE5nCtE2BpzjUWG4WoZLkE4L73LdbjZdZfkyxxxdi1cqWHe5Mor9xdRar819nQVMt94YsC4xTXslYM3yIFZwJjEl4DhE6EpME7Cq+FxsHlTVSWsNfuw620apYFUDY8DehGLAKgWFzI8BhwSocu/ygAt9raLTAf/m979XicAxnzb3dXvAYfcXTzrP+HUv3SMG7JNYDFgBKlZwjqdpToB19hf7f5d0Zkdo/6/PC6XTzELf5MLuL35lcbCbnP1/13caQUXFodeD67ZtDdW3LbUvBvLvMoAP3f8Kf//PT0Ntr0tER3/6wsew4vY2SLcWQUtrEez94mgY2rAMvvGD6YB2N/Q+IOzWXPGjLDD9vjUKDq78wErHv+mQ0zGN8lT245/5kyhi8/qXQ19tgUYypBNbXTkta2MHQWz9Xz30/spxIauI3r0rwRaAJ2xaZFFYXTlNqHRT9TJtMsNfHZPlk4sB6haAUb1BDhlorq6AbgEY4eYKUJCBk326HGB7h4OGCDdwlbVTwzLN8O9SgJ16PnLMd8SNL1ZweF3IUx/pnXwAd49f4nvb6HPNj2dM2+TpmtdUzWm6ZrenaVpXnaoRYBmmSLMDvowthdfWb4YDo+/IGlYCvPOlF0TeSQ/ca82HCxEwP2Gk8fsd2zcz+XN4vWaX4Kpg/vDL/J6nO371u/+G++D8MSPhWX6BK2DKyJWCvQDoxGUBdUgTsDfqGD97CIe6UgE714AzykcF3zW9GGTIbg3Il4Ll+p8rPVr8eWnTHnH2A5jUinCFggkw/lFn/J/rqEEzuqHZ4V1ach0gYD9H5cI/5iUGh1UwKRfL4Sdz6DFvOzs86wTOPjLFmwMlC8D01EbTqUfaBsAbZRf7YSts7l5zkWjh3Llz+cyZM0Xaxo0bYezYscrLzsknue4O3zdYVSMrTrtP2QZVGWHysxSMcPEYNf1KGFW/G5o+2QJLkrtgT2MjXHj9jQA72uDJny2CA8lDcO/0jbC3fpvVARmWH8hu9gg4MeaK7H7xbb76mtqwDhKjTxO2+BkPBN1pCsYGEFjqAQIeVrMSDu//HBbs3A079u2DWVfeCVs+/xheu2YV1K/fB3N+tjJDHXZgXpC9bLcvn8qPOXaIL5hORp/uqgO7P6ZV/Hi7YZ7PGLy66vuOl+M3F94HbNzxFsCRtz4p7DbPuYbJn+UOIrRZs2YFBlNbWyvCyqoHx/Fjjw2+irdrVz2QP37GY+LNa62+5HUWgYCPWT4fPp1yI+CZjqH1jVmAv0httvL7JEYK2LkCHHiUbI4yWMrK6zyYAGPlCFkOEUfcPjVLwYPG9YOGtQeFmQw4rHqpXlTx4MGDoaSkBIqLi8WZjubmZmhpaQE8H1NevhYAPgOAXQDwX/NzAwDgDyrvB87XtrW2QmtbO7S3twF+bmtvhzb8nG4zzm3mP8pH27Y24TNhwjcjuTmyj3fu46ReWcWyghdunM1nVBlvpp74/At81SUXi89yuh3wvHnzBBe3kOGWj4CHDRuWBdcOecCAAfcc5qPv6sE2sMN8NMezk+rXzBuTFQLHz1ofCTw/V1kGYNmh/K9vAyoYIWK6G2DKcwPsBpkA2/MRcFVVVYZy7R1BBZeWGm9/Jrh2yAT29BuM92bKR80jxjs18wGa0U1Ojr9YuR2w12gh/CgBV1dnQ7HXj2+u9oJ7+vWnGv8Vm5aw7DpmADUL1uUcsgBsh4udoRAhKRhDgtXPGVVzrb+dADsNCKpWNctABfsF7BYSTr/uVPP3QznAtuwf7IMTjXfKI/2ax9/PKWRXwMO+dqQVZ7Ep11U+JJqEbxmkF+I9vukmkeYHMMFVQY4E8DVjsKEAdYcAhvSVxsH88dbtlM6h5on1uQXsdeljHikYARNcOvsFbIfqBVk3Bsvtx7h7+tWjjbCQagJI9DGyxa/impYIHt+YSPkYKp7KHWRfd1OETAqWO4SA6eYX5TTN5ywiq+0C8HTzRXmfNAEcT28ltOhaoQE+aQY4HqeADGqe3pAzFfsCTEqWIctwCXpYyPQkt3v3bq6aB5eXlzsDnoabXThAfQvAccXmTc5UrfhdH/O3nXc1AxyLq4UMahZ/0LmA5TBBMOXwIKs6KGSCqwpZXvlCwZdXGSa70wDlRR3vdLHPIigfAGr+trHzAatCRBgwUfkKwJdWGsXtaQU4urf51hwbXfyV8s/SVn7Nc50I2Em9KhVHBSxIOQLyxSON0PC/NoBBvaQbnFlig5mO6n1hc87UK+6vqk50ScDfPbmjW/vas7t4ZE8rrebFjzoPMMHF1riFCGopzSZUA5aPfKHiC0YYc2H5kCcTnEPN0i05hatUMC3mqKZp8qJPPgD6qcNai5g6Isu8ZtkWkZaXtQg/jdWZRfgpL582nb6a5qezcqiw2xdSaPDTl3zbKG9y2CC3EFCIoSHfAFX1dXxPJf2kgdIpxO9KqMp2yX9Uw++HZCu/J1jDPzJTXFIVgN3epetWk659yBbrwKWqfpjnNjp2UbQhaEOC+gWAHQQwiuZ6p9/sDFB/YJdQgAPXqu8YA9ZnpuURA9bCpW8cA9ZnpuURA9bCpW8cA9ZnpuURA9bCpW8cA9ZnpuURA9bCpW8cA9ZnpuURA9bCpW8cA9ZnpuURA9bCpW8cA9ZnpuURA9bCpW8cA9ZnpuURA9bCpW8cA9ZnpuURA9bCpW8cA9ZnpuURA9bCpW8cA9ZnpuURA9bCpW8cA9ZnpuURA9bCpW8cA9ZnpuURA9bCpW8cA9ZnpuURA9bCpW8cA9ZnpuURBHD32L6qhUnD2GHbqQ7keAO2inUe9x6rmhI6v2D/CwFt/+/sTdRhCf8fdFmPCqObuFAAAAAASUVORK5CYII=" + }, + { + "path": "", + "name": "costume_maid.png", + "folder": "", + "namespace": "", + "id": "5", + "width": 48, + "height": 93, + "uv_width": 48, + "uv_height": 93, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "33d09e80-7319-fbf4-4ec2-7b954131eca1", + "relative_path": "../../textures/costume_maid.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAABdCAYAAADjaOUDAAAAAXNSR0IArs4c6QAAA/FJREFUeF7tW79rFEEUnsVwJhx6ckGIlY2WioX/gGCjiBCwSSWCgiBoZRMsUkgaK0VB0MYqjRiQEBvBf8BCtLWws8rhqUcuIbLyNvvWudn58ebH7u2a2Wb3dt57877ve29mclwSxhjb2hqkvV6PDYdDJrvPzBxKTqw+S78v30nAPv38PIV7ce0O/j13+vvPuwOWnF/O7OHa3t6Z9Mnfz80dLmwmYhI/JHt7f1JIUGcPAOfn+4VNAQATx6TzxLNYnT5Lzt5WAhgOf2ZmCwvHpwDg4+o+mxzbxTMyoVAAE+/1jmaW3grgfKiE6p5C0pAwXy65M5ZKZiO7On02Pn1DOuQNgFJCMHNWNpA8Xy4IIC+VUm9wKf/+dlJZpUeuXnIuI1IPZAA8FQAAj798KoG4d+Yc8wJAbPYJsxKYvLT4VUeM++vtuzQCkLDtVHuuCqjUrqWEiibGLMQVCT8ryglKaPHDElu/sMbEe30AOAphk5LuyBoA01dA2GmLPSFfWvmd12VxcPFR9sCVxbvp67VHypjXlu6zjfUnTj3kkqjK5/8GoGMYFGq8Aq0HYKrVxivQCgBQy6pETauQCaBuPJR6xmXQtJxCktNcUiOAVihgqtdp7gmkEmo9AMpqYwJJieFiQ1KAEjgCoLAk+5NSt5GhvW5Dw1XIcf6Sm62SSesBUJmj7MjT2BOMTYwAIwCq1JZ2VgpQGqzuXTkCEBWPClTZA9TYlF6hxjLZWfWAKRiORwBUphhjpKME9UwU+lzE41CpGgGIasM3FFVcSgUefv2RPjh1zKqZTcdrBFDH1y3kxG0PdXWdTA8mAOo6X8exwkmBCCDgMhUV0JHZ2B6wqQBqv9jE5G2dSshmsgjAwFb7FaB8MyeSQDkLjUYjdv3mik21OdlaHaf5GV69XGHdbpdBorJ7VadSEaUzACe6KnDKfjOn+sFrG95bN3EFJHqFjAC86AvgHBUIQKJXiKiAF30BnKMCAUj0ChEV8KIvgPPBVGA83klnZ/3++ygA+VkILwUQiOoeKkldHC8AdSRomiMxsdj08eTi5VvK343q0L/ffJGpZ+O/8eZpERJ6CMjBF9hT4juZDZ+XdRLo3CgAtkxi8rZ+qAC/giHDogI6m5IC+IJaDi7swxyVA5DVvAhKx74OGIyJbMN8QRUQAcgUMSWpKqtGAKCwLwOAfrUqEJp9WblUWkIuta9jn08WnoPuA1XXPsanbFIUG+UyqlpOfWvfdJ7xGS8d5qqofZ8ETb5GACHZ58vDlJhsXPY3yASAqtmvHUBI9l0Yp/gUClTNPiUZFxslgDawD4CVPcADEDcomzEXVm18pKuQmCC/P7iM2SRka/sXPGk7f5dsTCEAAAAASUVORK5CYII=" + }, + { + "path": "", + "name": "gun.png", + "folder": "", + "namespace": "", + "id": "3", + "width": 98, + "height": 37, + "uv_width": 98, + "uv_height": 37, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "0dc58fc0-e71a-61c8-e5f5-43ec89d37952", + "relative_path": "../../textures/gun.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGIAAAAlCAYAAAC5+DzaAAAAAXNSR0IArs4c6QAABbFJREFUaEPtmk1oHVUUgM9oQq2vhMY2FU2gjbUvSrTgw1h9tQt14ULQ0hikpBCKCyulxYWbulAEsS4EIQhWNyXSUEttLYVCN7qQ/qCVKG0iJbE2i6Rg0z/S1J/aMnLue+fmzH33b+Zl0nn4ZpOZe8/cn/Odv7kvweAfm8K+fZ3Ar1sQAEzNiKaGlhyIZwAY2HAaGhrvkqKvLuuR919f3B8Zg/qoncuiILbr2mgQ9f3e+/eUFoFX/0dhZDIAKPw6DG2fjcLEm3m1q+J5aBcbyyk9PwJBQ//Oik117D4mZv/38iQ0Lmmdn5XEmGVk8zoYfG0Yevc9Jt/KfXUAXjgewLdrQ+hY3QFDu/ZAGIYQBLP8ULiwZRP2RRtjzJ2WqABxa/sOOX5D/05AECuHpmLPeXb5zYp30gCJINSLg8C+meM/VkDA9lyxC26cOFU7INAbklxc8Wl5lA4EfPIhvPz7I3D4obOQe6ADla1dfs2ByHJoWrCmWSqZ8gIPN7liV1iTIFTTSRqaTB50rtCSxLmM74wvvCj7KC/wcGMCgTlj0dqnshmadLvtfOIlkcDTCi3VUnGBgPamEM5PR6aRibu9CeD8dPZyhEkpBCOO0t45OhsybKUtjqmWrtimK3ULhS/kEkZ+PlJSICq6fFFe6Fy8Dmj+3qcP25ddyyDG+tZAy7EzsPjcn8ZNzhsIzQrQcHD+zXvzcPOtdzNn8S6DNi5Y9YhrK++FqWcfh1UDP9wxEK7NcEOIfAC6XsxAvzcIn7Wm7RH7Fy4Ty+j5q5Ss0UvxIuMgj9i9cVS01xKMIEkuMEFJG4TLGPj8NQ2CvqbjlpvlJFpxVOJSXL1/VgPCI64uvRuaL90WrSOvl44PBnuG4YMXr8D1GxdgYuwXbQi7r/Xh8Mrkb9RXB1GFZcnQRABoLAQRM8bWQVQDAj6tPFLG8f7Z+igsCF6RnjC98T2h6Ka97wf8ns2dOgj8KMOLn6iqbfzEle5JhtaqnshWob85ezVAEKPr34D8oc8B/9K1vPX7ChAXZv6W/Q8uukdAmS8QuiNtX6Xr3p0zDc7RQBIEjocwTKGJvGC8NQ8rJkvloQ1E+Nw3AN+tF3J94z/Bl+1dziXb3lGtG61aZ+kuOFn0BuHloxNXQ/IG7hXcI8IDJ8Kguyis//Tbg+Hqj3vFPW/HR65prlQfGC55k4JJsRyUrc1pDXdIIAKCr+FU4zaRrFHZgpgBBOuzgrDBUCGYZH3zgQ4E31sWvUKEJlwkzw/4rIKwGUoZkhNEHGPzDWdxxsyybCRH8IVSaGIegaFIigTdRflcB1E9YiOIfFuzzANimg3PiD+RJHnwZKmtFLakR+hCTZKlcq/giZmHHjXkmHKFSU5dly78kYwa8kSeLP+DQrWFg/O4mDwCQRAECcMTBCoUr4EVT+p5PH+o1F6uskhIBeGThG1Jm08epxz2yTmm8bjx6kBKyD6WKmCUPSIif/CkTOI2jyAQRhgEQoHhA8JkrWqVZbNq6vMtfePK2YqMWCCEC6owohCEiNwQ+4bAtjRBqBVQmh7hAmZaCw9h6n0sEDw8SY+IhiUrCJ3XLWlbBZcnxqwOmSRH6DZqit98cjXv2MKIyyNc4UgXxpw5QusNtAPP0KRqmyC4YPyfSlgnCK03MBCCfoyqSVW+DUYdBDPhuQbhUxyQTJLQpCtzKVxRyODPPm1xqyZdSev6mrd6hISAqzVUTTLZdBcjOq72W0L1BtdZk28idSVzNX67vg/4vK7cYDNCJwgMO67ytXz4VzFPUhi6kORKkLqPPNeHnzQi9h/jOhA2jzD12ZK9DogzR8hkrXqFpWqKE358ZZN4hI+X2BSvVmA6b7LNoavgTPuNB0IzCp3Kqsfgvgr2lYt7xMHHdUHU9bsg8vH5iYMJnmuf3iCYwuWYtt8jXBPX+6Ma8ALhqbTUf7P2XEdNitVBZATbfxRJp0kWVdPmAAAAAElFTkSuQmCC" + }, + { + "path": "", + "name": "ex_skill_1.png", + "folder": "", + "namespace": "", + "id": "4", + "width": 120, + "height": 153, + "uv_width": 120, + "uv_height": 153, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "52c9accf-b698-eb83-dd7e-49e16e846bc0", + "relative_path": "../../textures/ex_skill_1.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAACZCAYAAADkfP71AAAAAXNSR0IArs4c6QAAEdRJREFUeF7tnXtwVNUdx38nIWSTQEx4SBmVBHwAiigiyqPWAkrp2IrSqS+qVEuntqDWdmhxaqnT1pHRUSvjg6mOji8UHxRpLVTeUlSkFIyIKK9sECshkpAX2SSb0/mdzVnOnj33tXfv7r2bs//c3Xue9/f5fX/nnHvvSQillIL+pGwBQghJuXAGChIN2J2VNWB39vN96UABTjXa8CjvpHyujAyBAoxycQKJy0sD9m+gUY7BTiCLSky1nH/NY92zwCmYX5JdWKmoF9vQIdraedKRw9EsWoZupl4z8LkCt3tIy41lkkrRdiCalUuHh2a7jsCGaNlwqahXNWnLJfXmjIK1eo3jRE4oWKs3hwFr9ZqP8oFXsFZvDgPW6rWeowdawVq9OQxYq9cabqCXSV6pF+sVb5Dgd7EtOU00s1jW6JYqr0/VhtN2eXuqPgvtB+9OlpfqNXIcGZ4RTPlGiRl0ETZv18gBRIcxcwT5Pnogx2Cv1MvvbKlU6gaw6rGlGBmMQMv9MepfzilYvsWoUo1sVFXIVN2WNDKWG8BmqrYKs2btWpUN9Bis8m6r8VAV5lT3tO2OhWJZeazmoVIVbYzGeTvtis5tM9IEbwy2N3/UuQKvYI3Q2gKBnGRZX5bOEZhlkhUq+p/HXb0YTy6eR44uvI/VMfCP9/l6vLKyRRDTLQ3uFnDdyjpmlyMHD8KoF5+3bC+IRvRzny0Nng7ACPeLw4eZHaavX2vZpp8NFrS+WRrbLWAM0WiU1VOuYGH69NNOg0FDh+pwnSFPSQ/gETepu7tnKXDAmGHXzbMpwtXjcYbo4kYGq6ZsKdgmYD3ZsrJ2+tMzCjj93dc1WlnAPeC+JQCnzVC3c/gtIMNvtWzDqpOYTrc8SqGwACDSAXgUQ7+d8j01D2EhuNtoKR/RenbrkPKSSXfbcgC5n3bL9VSw/LptA46G+kJ+WxPwo6gmVpmHgGX1QmkJa5Kck57okMtOEAOMYRY/dQ0AA8pi35taEqAlAB4+E6KfLWfAGWj8mNUh1inlNVNifIInOQ+GZ1HROlwbu6gtBTcX5EOfUAia29qgz5nXs9qSAHug4DjgviVsLKefPUf5mI7fmUPq8dg0ABFatYQePVoLAweeCkZHGHadupIDrxmWMawLIKHMqVMXMifjqpSPLBR33yyRO8FDt1FZ1Xk2YZPay+kQXbvuj6YPExC8FWA3Bhp4Sj+A3r0A2jvVx8JCw5k4U3EkYlxWVSd2VmiPjL7d1iTPzTVmsyxBwKbqLSw0XQahga0igJiOFyu2xy4e20BQqiMq2GCpxQCzCZ5BWdV5qb10LeOyCdGsbRaiDTOgwZnHTwAoLgYo6RP73dIM0NoK0P5+7DcaMtVPt0L5+CofWUgVxl7ejDwei2O0UV3cIeTxPNWuB6FcPDwtGD0uAfSiqm0szei804vj9fB6eXmj807r1/nVFkgZsFOHcJpfA0uPBQg3/ANb343VGArBMxN/A/tbNrKf/PwzUxbCnPcexF0IpsqWQfJumtXP64a2NiBFRTk96UkPNvu1JAHed9NfYfGhvVDSvjUBsNF5dIg7x92hzH/W8jvhngsusayH171480MasH12tnLGAd//39iEqX72Uni19gB8ceRt9ls8v/TIPviydlXSebf5sU2se+7qhZDfq5dWsC109jLFjRnt7GSTrLxX1rOS5OZpLC0T53mbXTdO0YDtcbOdS6vFtqmCmTEBcNemT2Iqvvy8rIOnH25IWLaRSyZnvU9BRBw32sFXn6YVgydCXUM9DCgrN4WMeYfe8NMkg4vn8btoEJ7fqKyYV4bL06wg83JW+VSg5H4Z9R/L2rkGvzhDAiR+USVFI+HUGd9UAsSOq+DyC+J1yHmMzqsM4RawlXGNHECEatR/q+u3ajvT6cqwJ3sv75QZWLuebcf7UwXM++m2fKYheNmeL8c1DSh9yH0JGC9PT7LSA9m3gNNzebqWJMBnjJycMPsdc/bpCVZaufJFU6fA/+Iy/qpb4YO3n0sox88NOXeKqdUPfbrBsv54BS318a+kTz9LZ6XvhGPXxq8wXoICmVapLE/XhymZUmFZt19dyVPADQ0N7LrLysogm4DpmjDFPRzkCmNQLA/ewbvyZB6EG1+iBRSyZ4BXv/wolBXE7NPQQWD6rLuZqjOtYFGBdB2CpgAUaXMlYx8JkKkxsLJitYKl2MRDtB8A041hSr5dQeiGbnVONlHwxjAF/KNskytZftKdN/CA5THX6VhSszv2cEL88HCsCtGq+sUxOxKJQGFhYTykO+1PPKQSQuimMCWXVxD6bpiSb1mPo/H83eVUik61P9kqR7wEPPuJPey6np87whSYF4Dh3zVALqsgdHM1JZepJ1Aqo9PNYRor133cGqbkUmvnyBZAq3ZJ195drv4Gx/EBZya1MX3Wz2H1y0/B/Pdif77hoYkDgJ9TdUhMi0a7ID8/zzQ/r6OsLJRQXUNDW/x32e5aIJMqCN1STckkB4C3hGmsXJhCr5PVBxUyoc3HXAFu6CgyBHzPoXaW9sAZvTMPeE8tkAkVhL4XpmSifQXS98NULEeDruCcBby3FsglFcQpILq1mpJLK+PlnJa3CpmZTifnjP2uKwVvXbvcUMGYgO/QnThBPVGwmbHK9tUCGVdB6LZqSsY5CNHd+Xm5wAPesWOPK8CVlRX+BHzgCJCxlYRur6Z4tKscnp9uD1MytoLQT6spGWm/vN12MpUvdxVcfQTImEpCd4QpGeNgDN5RTXk5CJ30/aBCtgX48+2rDPP5NUSXlxcR+lE1JRdUxo9WqqEfhSm5oILQndWUXBhTbeAV/Pj4a5NC9OKO2HLjzoLYMmTeB38jqnyYNmvVUo9D9MmljxUgMb28vJzQj6spOb+SHdntyPNN7mRVVeP/FmB5aFU1JaNzBHDHG393NQYP+/0jTuzuOG/Ntjcdl8EC/OkS3VVNyahuWJ8gaOETuw3NPuS87jy7wpSMEh44BH0MFgGve+E1pTGn3mKwARwA/A6Yh1kG0WSyRHejgs3zpORpWS5ke3aZ5X6mpXm6p1vB8SdJJ6slI4I7UzYzjqeA6+vrWUjE8TAthHQlji3gmeERLgcrfnfcQ13AlQU0YFfm839hzwCzyU33vy3x+/818D+m1HvoKeDUu6VLpssCngKe8/YhNsl65qozDNv56v4XWJ5Qn9hf22trbmFHo9/8wjHfN353S0K9DY+9GV/nlt31A0+vLV0AvK7HUyPcXnWcGXzJ6FNMAXOYIjz+3SgNz8sQETB3EBm+14b0a/2eA55dWQITSo137YsKVqkXQcrn0Zh9512Lb34oFaxSt18BeN0vTwHb6TxX3cAFP2LZI5E2KCwMwdFFLyUUR9CXLX/VtMo1074fD+06RMdMlXbA51/+w/g4+PGm11n9eG7Fs4vgmtsWAD/HSaGCES6CxQ/C5aDbn15lCdWIuNyOHWfLxTyuActAo9EuBvjCKdfHYWKeneuXMfthWBXLWBkVVck/vctKob2hEVRHngfT8aPHYI8U3NraSlGFIuD9+/fTwYMHsxaLi4sTnKq+/oTp06zIk68zoDJAfo4DxXQRfL+517h2XivnC0I6WX31zUkGnt69wUyVJl8Uz8vPo4JFuPw8V7E8MeIOwfPxMZj/Pr5kJfvKQXKIHKgIXgNOdjmll3OwMjw7HusUMOYXx1/+nbfV9tw7CXCtYPMQrhXsUYh2CpgrWFauPJuWQ7JKyaLKNWCPAKdjf3E8Ujjc/2snwvS0PGmfiGjA/nIhDdhfPNLeGw047Sb1V4WuAXux/dSOifQzZjtWSsOtSg3YnqGzlcu1gt3uLyZnnZdw7eIeXzOj4M4FVbr4TDi+lpaeMeP5nvIwwjVgt9tPoaQ87YD540VesfhMGdNUz5KzpTCv2805wHijBR81yi8KiGrWgB24lRf7i+00z0O01ZOpzTNvUL4woEO0HSsDgBf7i+00bRewUV095Xmx6xCdbQUfe2IFNXtGzNPEhxQ6RNuRUHeebAPm73TJLwFg9+QHEiLsnvIwwvXz4H21zUnuIO8vNvOXWauedeBOJ7PybTGoYFGd8ssB4lMo8XtPeePD9fNgt/uLe02flBJgvv9XBCzDNArdeL5HA3Zicbf7i90CxhAthmIemkVVq8J1jwnRk79zveE7UWv/+QpjLb+CI75Ex50B8+BHfLmOpxm9BMDT5fp4XTxdrtOoz2umzYAr33kryT83/GuZ68mkE6f3U16Cxlo/ZGZSn6bULAcELL9DJWbkb1ByJzADbFYPluNOYGYcvrTBPnOYRlDFejTgITMBgfIPAsffdW1dSe8xi4YTlWemYMxnte4Ub1hsum5WAufLX3uZ/eZ1rLjq5IuCo86tgLMe+jPZN/9eikc/qccPfYkr2A+A1y6cCUX9y+HE1/XKY+mF0xnAbXN+Scc98xfCj34wpF/7YArYaYgWVSqr246CcaxVvXIrj9VW4d6vxs5GvyzHYDQ4Gr6xMRLvX2lpIQPBJz+qiRi+7F5ZOZSVMYMmwuPfjZwB61Rtf8mG4YLSJgNs1Fk7kxPVVhWsT54ZW6lOnGQZAebjtFU0CIrxM9HPhEmJauOYVSfMlkCyirni+W6FU26/Oq5wTKvbuAwGTb3RdKLUuHM15WOxVd90uvTKDlednZDKjccBi+Gap/EwbqVeOUybOYI4m9YArS2QoBbcZYBFcPOYXSheAMY+GC2VNGBrqGKOpBCN6sFtI/IuQKNqZcAYfuXQa9dZ7KyFNWCHgPn2TZwZy5uwxar4jYx3V7zATvMH7ukEfGTdK9RsHczXx3oMtg+ZiLcb+YYv1W57DNu4VOKOsCX6h3grD8zYab9FRc61s+6Ln837yaSU7kbh3+TS70onG5fwcZePvXgUd/oZqXp9629h0aTNsGDLZYCAv/ezxyCvVx6cyB8EdTUH4OKyeji0txVCfYqgBPd85+dBc3EZ/C96AjprtsPZQyvh0vFj4Ve/+DEg4Csf+zWsuethQMALRo9jc4FFVduUsFXpGrBaY3EFy9s3jSTJgcsKnvPwW9AeicDR+k74uGonlJYPhP79y6HgRC2UFPeFi8gXcHTIRUDbW6Gj4RicXtYLDh/6HJ5e8gSQuiYGFyGvq/ogDlUGaQQe4X4a7YKR+XmgVZxILuV18Jqm+VRU8B2PvwHHjjZBZ3M7RNobYXCoCQoGDYf8lq+gqLQ/fFlzEEaOGAWh/C7oam+DA+EaaGlsgWefWpSkYNm5rBStARuPkMpZtJ118NTR4ymGZ4RMB/SFuYtegsbGYzDs7DOBRFrhwL59cNHIYdD6dR0UFvaGroI+0NjaDs0RAm1RCh1NtVDf0glvPnkPA8w/4hisFexqasMKJ62D+Z8xslrayAp+8OllEMqjQDo7oLWtAxqaIxDNL4LWDoCOKEBHZxQIyYO8PILPfqGluQny8/Nh6cPzXI3BXL14MZ8daIdrzg7pMC34hRKwHQUjYF4PTrLuX/wyHG/tgOaGI9DaVgW9iy+B/KJ+0NERBYJ/kI5SqD+8B2hnBP8KLQw6YzgUhIph8b2zDRVsx38R8Iq9J/9xhwYsjcGq12/kP4TCVc2LogM88o/KhGXSnIWxtyOjkRZobvgaSsoHQX5Bb2hqPgbRjjYIFZRApK0Otn+4C0qL82DG1dOBQm/40/zbNGA7npxiHrZMEgGqZtPysgnz4zJJVHCK7bNibtfB/O9SszGHkJTW0W767+eybJmkusGhWgvzC0HA08ZMZD/5OtjNRfJ1MNYhLpPc1KnLxiwQv9GhUrHRHS08HzpUDGQCAXKMasX42Js0nCzAEYcUr5vXgL22sKL+TN1WZe1k0puyYEvfNpmJyWAS4HNPG+Jbg+RSx3YfrsnIbF8DzpLXaMBZMnymmtWAM2XpLLWjAWfJ8JlqVgPOlKWz1I4GnCXDZ6pZDThTls5SOxpwlgyfqWY14ExZOkvtaMBZMnymms0a4ExdoG4nMy8msFuV2tiZt0BGnyZl/vJ0ixpwjvuABqwBp8UCegxOixmdV6IV7NxmgSqhAQcKl/POasDObRaoEhpwoHA576wG7NxmgSqhAQcKl/POasDObRaoEpl8F/3/7CcGADWKncgAAAAASUVORK5CYII=" + }, + { + "path": "", + "name": "destroy_stage_9.png", + "folder": "", + "namespace": "", + "id": "6", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "d51eef51-9986-a7ec-de74-9274f0dc3a8d", + "relative_path": "../../textures/for_modeling/destroy_stage_9.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAO5JREFUOE9tk0EShSAMQ8F76VFceStceRQPJn/CzGPyo26AYpMmLbX3XkspZdu2577vRXs/n+f5HMexcM9KvAKgwHVd5Jd934sSEzCJBoCjkiAwVaQ7xQCEiGoHgLNzQUyJ+r6qUbyu69ph0OrMsFIF4H6urbUBAEOahaEORlUimya6WexTjnuhvWROCRgG+pcc5M1WyQMk6NLLFKAb6bPg1U4Jrt1nwPvuLVRc/w0JsIkl+5wdyKqGhNRGUrZXZ7z6GyQvk9JyIsVMu33wXpOYbyDfiLd2TKK/RiXzoHzqsrVIeQFg5tdkIgkp+PYD4SZTnm8hOD4AAAAASUVORK5CYII=" + } + ], + "animations": [ + { + "uuid": "5b771be8-288d-b673-58d1-ec65f4aeca23", + "name": "ex_skill_2", + "loop": "hold", + "override": true, + "length": 11.05, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "markers": [ + { + "color": 8, + "time": 1.85 + }, + { + "color": 8, + "time": 2.05 + }, + { + "color": 8, + "time": 3.05 + }, + { + "color": 8, + "time": 3.8 + }, + { + "color": 6, + "time": 2.45 + }, + { + "color": 6, + "time": 3.7 + }, + { + "color": 6, + "time": 4.65 + }, + { + "color": 6, + "time": 5.55 + }, + { + "color": 3, + "time": 1.95 + }, + { + "color": 3, + "time": 3.15 + }, + { + "color": 3, + "time": 3.25 + }, + { + "color": 3, + "time": 3.9 + } + ], + "animators": { + "e98e96cf-993b-878e-02b8-777c368bb888": { + "name": "Momoi", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -67.5, + "z": 0 + } + ], + "uuid": "3f83d8ed-8168-9682-8370-cd19678fcb59", + "time": 0.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -100, + "z": 0 + } + ], + "uuid": "0cf923da-8028-d73d-9e95-5f19fee44678", + "time": 1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -67.5, + "z": 0 + } + ], + "uuid": "03b1b307-0a2b-1fc8-2b50-05224b3c84d6", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -100.6, + "z": 0 + } + ], + "uuid": "8a06521d-d799-c41f-7a72-aaa8e75822ab", + "time": 3.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -153.1, + "z": 0 + } + ], + "uuid": "c91e4dd5-3c1e-0b63-b5aa-8279cbd7bab6", + "time": 4.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-30", + "y": -153.1, + "z": 0 + } + ], + "uuid": "ecc656c2-c29a-acc4-9c9b-0e5d806c5aee", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": -153.1, + "z": 0 + } + ], + "uuid": "e5c8d6c4-690c-a40d-e268-fa190a82923d", + "time": 5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 9, + "y": -8, + "z": 0 + } + ], + "uuid": "9ad64f69-67d7-f891-3f39-c06367c0557c", + "time": 1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": -8, + "z": 0 + } + ], + "uuid": "958829eb-905b-65ba-5293-2d7d3b2a9346", + "time": 0.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": -8, + "z": 0 + } + ], + "uuid": "3a15265f-750a-571d-1b9d-2596f0ad436c", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 9, + "y": -8, + "z": 0 + } + ], + "uuid": "8e57de5d-f1e9-92cc-7224-2736d3df0fa6", + "time": 3.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 2, + "y": -12, + "z": -17 + } + ], + "uuid": "e1fe06db-36d8-63e9-0a1e-a45ef66fca66", + "time": 4.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 5.5, + "y": 7, + "z": -8.5 + } + ], + "uuid": "0a49660e-b8be-1501-8141-094f1bd1f47f", + "time": 4.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 5, + "y": -10, + "z": -12 + } + ], + "uuid": "a7851d85-cf2b-b8e7-0817-0778e5ba18d1", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 3.52, + "y": -8.88, + "z": -16.33 + } + ], + "uuid": "f930e58a-524f-5cb1-85a9-cb833359d78d", + "time": 4.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 2, + "y": -12, + "z": -17 + } + ], + "uuid": "237691d4-4247-4d3f-7b50-c1350d903b62", + "time": 5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 4.39, + "y": -10.99, + "z": -14.24 + } + ], + "uuid": "3a145817-f38a-714f-b4d9-fa0cb8e9ddf1", + "time": 4.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "22d40862-bd19-a16d-9e33-79364e6656d8": { + "name": "MomoiHead", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -5, + "y": 12.5, + "z": 0 + } + ], + "uuid": "7b1a6b60-2cdf-9697-8e91-31b089f79ff0", + "time": 0.65, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.40333, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.40333, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -50, + "z": 0 + } + ], + "uuid": "a5854881-54ae-0a92-699a-b89743f2b5d8", + "time": 1.1, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -50, + "z": 0 + } + ], + "uuid": "a9700bfc-d1a2-0f57-d378-4c4eaa1d8fee", + "time": 1.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -2.5, + "y": -85, + "z": 0 + } + ], + "uuid": "7f010eaf-48da-2333-c548-567f2e102880", + "time": 1.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -2.5, + "y": -85, + "z": 0 + } + ], + "uuid": "78504a75-4e42-5e25-d2e7-804876e98439", + "time": 2.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -1.14963, + "y": -50.04024, + "z": 1.37232 + } + ], + "uuid": "30815468-5879-7cf8-96a6-cdc6ca85abb2", + "time": 3.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -1.15, + "y": -50.04, + "z": 1.37 + } + ], + "uuid": "3a69cd45-1b19-dd1b-2dbb-5add64d84b19", + "time": 3.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "6012268f-0d74-6e74-1848-222c3af7ecd1", + "time": 4.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 60, + "y": 0, + "z": 0 + } + ], + "uuid": "aafc7073-7821-0f6a-4786-953d1401d463", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "20", + "y": 0, + "z": 0 + } + ], + "uuid": "b4fe0ba0-0b6f-b542-7850-71a8d7f0e4fb", + "time": 5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "76fbe2ed-eddd-0ff9-f110-4eb95fc247b7", + "time": 5.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "d0e2a4ef-6f4f-9e4a-2014-102fa43a71ca": { + "name": "Skirt1", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -25, + "y": "0", + "z": "0" + } + ], + "uuid": "cf7d214c-361d-3221-3b35-8583ba1b8aaf", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -25, + "y": 0, + "z": 0 + } + ], + "uuid": "b3bd018b-e18a-da73-f219-d4d1186abc06", + "time": 3.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "5277c4a5-3666-c3c9-0c8f-0418289e5c9b", + "time": 4.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 30, + "y": 0, + "z": 0 + } + ], + "uuid": "9bcd94c4-d2c1-b0f5-7a87-40d0426dd42e", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "26eeb2da-884e-2f42-14cb-a7dad0b3a67c", + "time": 5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": 2, + "z": "0" + } + ], + "uuid": "c8018998-34f6-e8c1-2652-c129964067c6", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 2, + "z": 0 + } + ], + "uuid": "961325f1-7714-643c-51ad-82ed81423b9d", + "time": 4.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 3, + "z": 0 + } + ], + "uuid": "acb6348d-ef06-6b35-f50d-eaa8515c7471", + "time": 4.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "2", + "z": 0 + } + ], + "uuid": "a13ddb13-94ad-4c02-18e8-29fafa3e74cf", + "time": 5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1.2", + "y": "0.85", + "z": "1.1" + } + ], + "uuid": "cdeedae2-9b0e-4b67-c78c-fe2852a73f48", + "time": 0, + "color": -1, + "uniform": false, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 1.2, + "y": 0.85, + "z": 1.1 + } + ], + "uuid": "b573ecd1-af07-aff1-3f5c-1d67ddee16a3", + "time": 3.9, + "color": -1, + "uniform": false, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 1.2, + "y": "0.5", + "z": "1.4" + } + ], + "uuid": "727c60ea-d370-bb03-1bb5-b38e3a51f2fa", + "time": 4.2, + "color": -1, + "uniform": false, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3c1cb66d-8a31-d31f-ec9f-65a33e313a53": { + "name": "MomoiRightArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -15.25, + "y": -56.16, + "z": 38.17 + } + ], + "uuid": "7f9ad74a-4b47-4b4a-e829-dce114c3636c", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -17.75, + "y": -56.16, + "z": 38.17 + } + ], + "uuid": "08978572-b9fd-976b-9116-a3bf959ca2f4", + "time": 1.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15.25, + "y": -56.16, + "z": 38.17 + } + ], + "uuid": "c321c699-fc60-1c79-7342-4a2a4365ef75", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -17.75, + "y": -56.16, + "z": 38.17 + } + ], + "uuid": "c32e6d5c-d423-e4ff-b24c-0c1b7a31aca1", + "time": 1.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -41.83011, + "y": -44.62002, + "z": 68.97036 + } + ], + "uuid": "0fe648b2-7d74-7198-df74-4d20b2cce0e7", + "time": 1.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -49.33, + "y": -44.62, + "z": 68.97 + } + ], + "uuid": "4a83be11-ed2a-07fa-bf4b-fe56c2e8ddc4", + "time": 1.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -49.33, + "y": -44.62, + "z": 68.97 + } + ], + "uuid": "c7f3602f-1bdd-173a-acaa-183866ce63b0", + "time": 2.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -26.41303, + "y": -40.98016, + "z": 30.78882 + } + ], + "uuid": "1e04e091-ba0d-990e-dbbf-6e7db28a7646", + "time": 3.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -31.31286, + "y": -49.75107, + "z": 37.65567 + } + ], + "uuid": "a32130a3-9c23-7c67-ce80-255f92307862", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -26.41, + "y": -40.98, + "z": 30.79 + } + ], + "uuid": "b5ffd344-737a-74b7-672a-fb243fcb3c95", + "time": 3.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -26.41, + "y": -40.98, + "z": 30.79 + } + ], + "uuid": "e1f7ddd0-a9cc-052c-fa38-156249ed5007", + "time": 3.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -27.43275, + "y": -43.20923, + "z": 32.31534 + } + ], + "uuid": "11ae5957-8a56-975e-da70-d053f9315d8f", + "time": 3.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -27.43, + "y": -43.21, + "z": 32.32 + } + ], + "uuid": "3182b3d5-28e7-1d3c-9bf1-055ee56680f0", + "time": 3.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -32.43, + "y": -43.21, + "z": 32.32 + } + ], + "uuid": "c8f29b40-6aa6-3f67-80d4-b7475daa73ee", + "time": 3.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -170.3342, + "y": 2.57594, + "z": -14.78217 + } + ], + "uuid": "4d7f4a54-a0cf-0269-cbbc-34238f8cc716", + "time": 4.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -207.4202, + "y": -5.58436, + "z": -30.27732 + } + ], + "uuid": "bf810dd3-0608-c1c1-f10c-a91dcffdc53a", + "time": 4.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -114.54248, + "y": -23.95639, + "z": -22.07354 + } + ], + "uuid": "6176f35a-1ce9-e44c-4041-f10da3875359", + "time": 4.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -207.4202, + "y": -5.58436, + "z": -30.27732 + } + ], + "uuid": "be0caa91-73a7-b658-1688-a0bd9d0bd9c5", + "time": 4.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -114.54248, + "y": -23.95639, + "z": -22.07354 + } + ], + "uuid": "e2d1ac88-b948-df15-743e-b463732fa158", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -64.91623, + "y": -4.53051, + "z": -2.11751 + } + ], + "uuid": "b4447730-3523-ec06-3602-257b5909088f", + "time": 5.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -65.00374, + "y": 0.00065, + "z": -0.00279 + } + ], + "uuid": "a9894665-bbc6-d8c9-966d-1f0a6a12bf58", + "time": 7.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -64.91623, + "y": -4.53051, + "z": -2.11751 + } + ], + "uuid": "97b454fc-f57c-6828-1517-80baf758d2ab", + "time": 9.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -65.00374, + "y": 0.00065, + "z": -0.00279 + } + ], + "uuid": "636b08af-d9a5-78de-d728-d44d9cc33bad", + "time": 11.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "b924539e-1292-1a17-6240-a525ae346090": { + "name": "MomoiRightArmBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -55, + "y": 0, + "z": 0 + } + ], + "uuid": "f0f397ea-b41b-d7f7-57b0-e5ca165e91b0", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -67.5, + "y": 0, + "z": 0 + } + ], + "uuid": "fbdf8a44-c807-6357-d782-8af6afc39f8a", + "time": 1.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -55, + "y": 0, + "z": 0 + } + ], + "uuid": "37288e17-a62f-76ba-0893-edfc5ec7585e", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -67.5, + "y": 0, + "z": 0 + } + ], + "uuid": "c7093656-77a3-9cdc-ae56-059fd021dab6", + "time": 3.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "37a4882d-76ba-26b8-e2da-d8d8a78ee653", + "time": 4.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e7d3e5d8-00e4-587c-7bb6-6787db00054b": { + "name": "MomoiLeftArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 25, + "y": 0, + "z": -15 + } + ], + "uuid": "5249729f-bbee-9f1b-a11f-16b2a36c6552", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -35, + "y": 15, + "z": 0 + } + ], + "uuid": "f632ce8e-27e4-b503-951a-5c4fc8706bfe", + "time": 1.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 25, + "y": 0, + "z": -15 + } + ], + "uuid": "7503e4b7-fbf5-30fa-443b-d449b0998bb2", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -35, + "y": 15, + "z": 0 + } + ], + "uuid": "d46d226e-cf11-1beb-e4d4-271b81d1ed87", + "time": 1.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -20, + "y": 15, + "z": 0 + } + ], + "uuid": "de4c75b6-9daf-56dd-6c0a-e188fa7f7c3f", + "time": 1.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30, + "y": 15, + "z": 0 + } + ], + "uuid": "1b9e8fdd-8ab4-403e-5ded-e416428b3676", + "time": 1.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30, + "y": 15, + "z": 0 + } + ], + "uuid": "89db7b5b-9fe5-c993-a19e-c3c0438210d0", + "time": 2.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -62.5, + "y": 15, + "z": 0 + } + ], + "uuid": "85a8ba2f-a28f-f70c-2d1d-d56ca3b73604", + "time": 3.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -37.5, + "y": 15, + "z": 0 + } + ], + "uuid": "5b142ff3-83e0-e1f8-8b68-5c628c3571b7", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -62.5, + "y": 15, + "z": 0 + } + ], + "uuid": "ef9bf1fc-bc06-c7ca-06aa-005f614a74b8", + "time": 3.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -62.5, + "y": 15, + "z": 0 + } + ], + "uuid": "1aced769-a2f1-46fe-d24a-4c5e7b49e8df", + "time": 3.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -85, + "y": 15, + "z": 0 + } + ], + "uuid": "9db03b89-0e06-bda8-ca2d-aa7c3637c308", + "time": 3.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -75, + "y": 15, + "z": 0 + } + ], + "uuid": "b5ea70e2-147c-f4fa-f8b4-0fd6ab166277", + "time": 3.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -82.5, + "y": 15, + "z": 0 + } + ], + "uuid": "48346583-8808-6123-fb7e-9bcc03928e68", + "time": 3.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -170.3342, + "y": -2.57594, + "z": 14.78217 + } + ], + "uuid": "4e46bfad-31e2-d892-1f55-fd29dcdf5b99", + "time": 4.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -114.54248, + "y": "23.9564", + "z": "22.0735" + } + ], + "uuid": "da0ffc9b-3c65-fe5f-2ce1-aaa28826297d", + "time": 4.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -207.4202, + "y": "5.5844", + "z": "30.2773" + } + ], + "uuid": "20ae7687-f5e6-8961-1658-9b7ba519dffd", + "time": 4.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -114.54248, + "y": "23.9564", + "z": "22.0735" + } + ], + "uuid": "22a47f92-582d-5710-d609-8f94ad48d913", + "time": 4.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -207.4202, + "y": "5.5844", + "z": "30.2773" + } + ], + "uuid": "43ce6791-eaaa-85b1-047e-81c8edd4e8d2", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -42.06341, + "y": 6.73717, + "z": 7.40702 + } + ], + "uuid": "bc018628-cf1a-e066-b2af-2c29b7d4ca8a", + "time": 5.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -42.38801, + "y": 3.37866, + "z": 3.69343 + } + ], + "uuid": "68628987-728e-eeaf-0119-14d19713fe3f", + "time": 7.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -42.06341, + "y": 6.73717, + "z": 7.40702 + } + ], + "uuid": "a626a55c-30f1-7088-ee80-cd5b2cf64f94", + "time": 9.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -42.38801, + "y": 3.37866, + "z": 3.69343 + } + ], + "uuid": "ac19941d-be14-5c68-e83f-fd3fdaed24f8", + "time": 11.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ad1c45ef-c0a8-6d31-d2dc-fbdc6ab7ddcc": { + "name": "MomoiLeftArmBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -35, + "y": "0", + "z": "0" + } + ], + "uuid": "6b67bb54-d9f6-eceb-9c59-4f296deec145", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -57.5, + "y": 0, + "z": 0 + } + ], + "uuid": "41c51c5c-5b7f-88ea-ab5e-6bd11b72d7c1", + "time": 1.1, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -57.5, + "y": 0, + "z": 0 + } + ], + "uuid": "717a897d-c594-f168-a49a-91fd9ad1ae78", + "time": 1.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.5, + "y": 0, + "z": 0 + } + ], + "uuid": "d698691b-d0bf-0b9e-564d-3ddb0bb4404a", + "time": 1.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.5, + "y": 0, + "z": 0 + } + ], + "uuid": "bd509c86-b537-3d82-52ec-522ebc14a0f2", + "time": 2.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -32.5, + "y": 0, + "z": 0 + } + ], + "uuid": "8491c287-547f-fcad-1ea7-ee20fcf6d70f", + "time": 3.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -57.5, + "y": 0, + "z": 0 + } + ], + "uuid": "94c4d14e-e80c-179e-d54e-9f29c1478556", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -32.5, + "y": 0, + "z": 0 + } + ], + "uuid": "572fda1c-77bb-1444-3c7a-699a43c5f3a8", + "time": 3.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -32.5, + "y": 0, + "z": 0 + } + ], + "uuid": "ad949770-dd73-5b23-af56-b260ab8760be", + "time": 3.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "8d5adbb1-3e85-4b03-cd49-50f740f32ef2", + "time": 3.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 0, + "z": 0 + } + ], + "uuid": "992a680a-16da-6d14-5fd3-51dde9fe96ad", + "time": 3.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 0, + "z": 0 + } + ], + "uuid": "a6f56f34-f7d8-9539-97fa-f4ca0436a55d", + "time": 3.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "0bb61fec-a9ef-8dea-6ae0-b2167e8cdcec", + "time": 4.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "4e80b5b4-7c04-8374-f8a7-526b3d36d050": { + "name": "MomoiRightLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -69.98246, + "y": 2.34914, + "z": 0.85553 + } + ], + "uuid": "4c66997b-cbca-ca57-8711-170eaf7aa0d5", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -69.98, + "y": 2.35, + "z": 0.86 + } + ], + "uuid": "9304b11d-f311-4704-dee7-e0bef7847b04", + "time": 3.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90, + "y": "20", + "z": 0 + } + ], + "uuid": "72265df5-ca9c-8d73-659b-c7d0c00a1ceb", + "time": 4.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "84fe0b3a-286b-e17f-288e-c39feaa2e5e6": { + "name": "MomoiRightLegBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 163.75926, + "y": -6.60796, + "z": -21.55613 + } + ], + "uuid": "4650f126-625e-39f8-c9a3-51253a5711e6", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 163.76, + "y": -6.61, + "z": -21.56 + } + ], + "uuid": "8a9e24d2-6fb0-cdbc-c906-7de50b68eccf", + "time": 3.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "9292386b-297c-82a8-dbbd-f6e90ce634e2", + "time": 4.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "73b3d6bc-af0b-a066-5d73-f3938109e11f": { + "name": "MomoiLeftLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -109.98246, + "y": -2.34914, + "z": -0.85553 + } + ], + "uuid": "d68c5e79-d4d8-83e3-2d1f-efc75ca000af", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -109.98, + "y": -2.35, + "z": -0.86 + } + ], + "uuid": "2e4ac070-02a7-202b-00e0-10afa3257801", + "time": 3.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90, + "y": "-20", + "z": 0 + } + ], + "uuid": "f5bb5750-45f1-1f97-ddf3-b2006f71a029", + "time": 4.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ee9973d4-ff4e-c96b-64f6-d1f28afd69c6": { + "name": "MomoiLeftLegBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 107.5, + "y": 0, + "z": 0 + } + ], + "uuid": "307fe247-b46d-5742-5215-29c05f5dba11", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 107.5, + "y": 0, + "z": 0 + } + ], + "uuid": "4bec3639-ee63-84e4-4cf9-526d52b3b6b1", + "time": 3.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "7e89e23d-2635-9377-3020-30703bd232a3", + "time": 4.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "20fe1cca-22a6-ca36-3dc4-e85c7c10e012": { + "name": "Gun", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 58.29646, + "y": -9.2994, + "z": -30.25999 + } + ], + "uuid": "224c6406-7f09-de1b-fe9d-87b4fabf1b15", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 47.28989, + "y": 6.44563, + "z": -22.68754 + } + ], + "uuid": "42d7622e-c81d-28b8-b4ba-fff8cf112e09", + "time": 1.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 58.29646, + "y": -9.2994, + "z": -30.25999 + } + ], + "uuid": "4e8d8255-3dde-ca67-0893-1f9a4ee2b0d8", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 47.28989, + "y": 6.44563, + "z": -22.68754 + } + ], + "uuid": "02f7785f-e238-261f-e0c4-219f24b9373e", + "time": 1.35, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 37.41504, + "y": 13.1641, + "z": -47.70014 + } + ], + "uuid": "d3fc927f-ce7b-1e1a-db2a-aa453a7e35b1", + "time": 1.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 38.25007, + "y": 17.10995, + "z": -44.52345 + } + ], + "uuid": "244b2e5b-54d6-6305-ac7f-fa1069691e75", + "time": 1.95, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 38.25, + "y": 17.11, + "z": -44.52 + } + ], + "uuid": "97af2b28-d5d4-6436-d30b-a79dc461463e", + "time": 2.05, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 72.14142, + "y": 10.01151, + "z": -37.57382 + } + ], + "uuid": "89fc59cb-628f-81fa-57f7-d61dbe121398", + "time": 3.05, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 67.7264, + "y": 14.86429, + "z": -23.06038 + } + ], + "uuid": "490a9a49-55fb-81b3-8e6c-d513bf7b8347", + "time": 3.15, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 69.62565, + "y": 14.00186, + "z": -25.48464 + } + ], + "uuid": "42f3df08-410c-0b19-b9de-b7670cb2d147", + "time": 3.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 69.63, + "y": 14, + "z": -25.48 + } + ], + "uuid": "f2da6710-ed1e-35c6-3b6c-fb73d059e0b6", + "time": 3.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 73.8377, + "y": 18.72901, + "z": -10.6353 + } + ], + "uuid": "20c4e804-41bd-b54d-e88c-57eb6cb2ff70", + "time": 3.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 75.53854, + "y": 20.05119, + "z": -5.52739 + } + ], + "uuid": "27f22126-63c9-ae01-df3c-a826024ee9be", + "time": 3.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 75.54, + "y": 20.05, + "z": -5.53 + } + ], + "uuid": "9f7bca51-f143-4084-4104-8085a75a7b22", + "time": 3.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "90", + "y": "0", + "z": "0" + } + ], + "uuid": "e052962f-7ab8-2324-33fa-605ba2cb6460", + "time": 4.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -4.5, + "y": 11, + "z": -6 + } + ], + "uuid": "ece479be-5216-7e41-f8a4-c6845f9d4341", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -6, + "y": 11.25, + "z": -5.25 + } + ], + "uuid": "39674569-fe2d-ebc8-83c4-257f63787711", + "time": 1.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -4.5, + "y": 11, + "z": -6 + } + ], + "uuid": "98a779bb-a76c-cd3f-7692-7f5ae1d9f3f0", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -6, + "y": 11.25, + "z": -5.25 + } + ], + "uuid": "8237fc32-398e-3338-0ff3-b96a49362c9a", + "time": 2.05, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -5, + "y": 9.25, + "z": -5.25 + } + ], + "uuid": "fa69095b-687c-3a10-dd68-fdfd4025cff3", + "time": 3.05, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -5, + "y": 9.25, + "z": -5.25 + } + ], + "uuid": "48c2b447-641a-d274-bd57-0ed7b0be67ec", + "time": 3.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -7, + "y": 10.25, + "z": -5.25 + } + ], + "uuid": "17e6355c-08c4-0ffb-b385-fd08678c3d19", + "time": 3.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -6, + "y": 10.25, + "z": -5.25 + } + ], + "uuid": "3fedd24e-47ab-e351-28eb-ee2cc06053de", + "time": 3.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -7, + "y": 10.25, + "z": -4.25 + } + ], + "uuid": "bdaf4ba7-c818-d621-0456-2238721ca98b", + "time": 3.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -5.5, + "y": 8.25, + "z": -3.25 + } + ], + "uuid": "32c90d75-2ef6-67a8-bde1-f51ed42c8957", + "time": 4.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "52dae324-1de2-0242-7b62-5b6e300a786c": { + "name": "Pillager1", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "180", + "z": "0" + } + ], + "uuid": "37eae477-310d-efd5-e576-99bd349a3ea6", + "time": 1.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 270, + "z": 0 + } + ], + "uuid": "d9344bc8-2baa-2425-45a4-b621c341f914", + "time": 1.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "180", + "z": "0" + } + ], + "uuid": "336429ce-811f-6316-9291-61cf58305f9a", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 270, + "z": 0 + } + ], + "uuid": "735a378a-e1c7-eb3d-0cec-220e1ada1295", + "time": 1.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 337.5, + "z": 0 + } + ], + "uuid": "10d7121c-e5be-d7f4-9752-006aed92a611", + "time": 1.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 337.5, + "z": 0 + } + ], + "uuid": "0c04e432-bb93-e475-bec5-2428543c1ae7", + "time": 2.55, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-90", + "y": 337.5, + "z": 0 + } + ], + "uuid": "7de4a61e-d931-d6c5-c615-31d6e0c2fcfb", + "time": 2.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -88, + "y": "0", + "z": 119 + } + ], + "uuid": "1313cb46-72dd-99c6-febe-24ef7da31365", + "time": 1.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -67, + "y": 0, + "z": 120 + } + ], + "uuid": "497c7e02-8a23-ad00-b49f-7fb579bc006b", + "time": 1.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -88, + "y": "0", + "z": 119 + } + ], + "uuid": "a58fd010-4e01-9df9-232b-074265191337", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -67, + "y": 0, + "z": 120 + } + ], + "uuid": "55f13341-92f9-51e1-f5e0-f61cd61cf013", + "time": 2.55, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -73, + "y": 2, + "z": 134 + } + ], + "uuid": "d9abae37-f0dc-d4d5-8101-118484a23429", + "time": 2.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -70, + "y": 14, + "z": 127 + } + ], + "uuid": "3568bd86-f860-7c21-0a26-bd48e983d1c1", + "time": 2.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "a5d0f2b7-2e9a-2e13-97ea-1591b4eb5f19": { + "name": "Pillager1Head", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 30, + "y": "0", + "z": "0" + } + ], + "uuid": "9d5fe4e4-1e63-c493-9e4d-f35d7a058fcb", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 30, + "y": 0, + "z": 0 + } + ], + "uuid": "758b1cb9-0c7a-ec0c-f799-54d3f851bc91", + "time": 1.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "023d7c59-4564-51e8-857e-f1869901dd1e", + "time": 1.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "d3c90973-0e6d-e532-d397-9599ef75010a", + "time": 2.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -60, + "z": 0 + } + ], + "uuid": "34d51283-fdc9-5e72-3387-55c01b89cad9", + "time": 2.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "0e84c90f-e528-8d54-750f-53427b2a550a": { + "name": "Pillager1RightArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -84.75867, + "y": -17.43127, + "z": -1.5741 + } + ], + "uuid": "1909842d-e28f-2aba-1c99-991e73c498df", + "time": 2.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -84.88047, + "y": 12.453, + "z": 1.11036 + } + ], + "uuid": "3745d21b-149e-e0fa-f1f6-69b39cd6d88a", + "time": 2.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -84.88, + "y": 12.45, + "z": 1.11 + } + ], + "uuid": "4bee44de-3bd8-a093-639e-bd787041fcdc", + "time": 2.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -180, + "y": 0, + "z": "-30" + } + ], + "uuid": "d70bb67b-f8d9-1863-b248-eee71d607d0b", + "time": 2.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "662ccc78-a0d9-6cbc-46c8-faf179ee24bb": { + "name": "Pillager1LeftArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -83.71, + "y": 37.33, + "z": 3.83 + } + ], + "uuid": "be00a582-3c82-0fbc-8080-12985745ce61", + "time": 2.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -84.88141, + "y": -12.45475, + "z": -1.10072 + } + ], + "uuid": "79b8d473-67f4-9f64-36e0-c0d1c3ec247e", + "time": 2.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -84.88, + "y": -12.45, + "z": -1.1 + } + ], + "uuid": "ad12407c-3639-b987-9780-ba01475a8965", + "time": 2.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -180, + "y": 0, + "z": "30" + } + ], + "uuid": "ce998f16-99cf-a825-c7e6-e630be9fe3f0", + "time": 2.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "dd3862cc-bc2d-dedd-71c2-dc0b60ae507e": { + "name": "Pillager1LeftLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -12.5, + "y": "0", + "z": "0" + } + ], + "uuid": "22c6ae1f-1f81-a1e9-b90c-1ea6a2aed29c", + "time": 1.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "d1d08f3b-325e-70e3-1842-5cc348b05db1", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 12.5, + "y": 0, + "z": 0 + } + ], + "uuid": "bc2bddee-c8ed-4183-5cc0-21a009f84577", + "time": 1.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -17.5, + "y": 0, + "z": 0 + } + ], + "uuid": "4bfe12f1-6182-0047-b7ed-2bef2b228f6c", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 15, + "y": 0, + "z": 0 + } + ], + "uuid": "d7ff871d-dc3f-76c6-0c79-5bef4956036d", + "time": 1.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "c5ef9ddd-b192-8a29-f109-f2166e8e4770", + "time": 1.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "cad9016a-aa76-522b-c120-d346d932ff7d", + "time": 2.55, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -29.97638, + "y": "-1.2497", + "z": "-2.1654" + } + ], + "uuid": "d279aa03-7be2-8c5a-cfa8-25d3e56d3bfa", + "time": 2.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": -15 + } + ], + "uuid": "23d493a9-a0bc-d5dd-6831-d50f3f673aca", + "time": 2.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -29.97638, + "y": "-1.2497", + "z": "-2.1654" + } + ], + "uuid": "71174e61-f6af-3c42-ac3f-057c194f7ba0", + "time": 2.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "a1a5a6bd-37b4-26c6-09cd-f0035aad366f": { + "name": "Pillager1RightLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": "0", + "z": "0" + } + ], + "uuid": "d77c7144-8eae-f0e9-0c50-f057be6f9799", + "time": 1.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "f6c04665-4b34-c1d4-514e-6ad31f6514ac", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -12.5, + "y": 0, + "z": 0 + } + ], + "uuid": "56de7366-e4de-dcee-e04b-371b5c4e724e", + "time": 1.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 15, + "y": 0, + "z": 0 + } + ], + "uuid": "d71defc5-7369-ab84-f6a3-c2dfccada8b4", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 0, + "z": 0 + } + ], + "uuid": "e5eb52fa-4fd2-b92b-944a-b47b4365b351", + "time": 1.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "2b78ad85-a99a-8aa8-bc65-fd808f7b3c43", + "time": 1.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "0842db40-7824-69e7-f978-c6eddf6ff0b6", + "time": 2.55, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -29.97638, + "y": 1.2497, + "z": 2.16541 + } + ], + "uuid": "f5d82e27-3ac9-2588-e499-e9699d250345", + "time": 2.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 15 + } + ], + "uuid": "44b77207-e1b6-346a-94a6-9f6d124f251d", + "time": 2.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -29.97638, + "y": 1.2497, + "z": 2.16541 + } + ], + "uuid": "014c8a21-0793-66db-943a-64dd7b50c1a6", + "time": 2.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "0b5b63cc-05e2-d49a-50c0-569a969e3392": { + "name": "Pillager2", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "180", + "z": "0" + } + ], + "uuid": "b34dcf80-aca7-9870-560a-3d3584662466", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "180", + "z": "0" + } + ], + "uuid": "6aaed6d8-d061-6c23-2eb8-87c6e87597fc", + "time": 3.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 270, + "z": 0 + } + ], + "uuid": "c41f5ff7-3411-1112-6b6a-b995ebde8846", + "time": 3.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 360, + "z": 0 + } + ], + "uuid": "eaa97726-275f-85a0-3c15-15b89c7b2c76", + "time": 4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 360, + "z": 0 + } + ], + "uuid": "40700554-870b-56fa-df1e-08e3c7341727", + "time": 4.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-90", + "y": 360, + "z": 0 + } + ], + "uuid": "6960b646-3e87-19bc-33b1-3caf1755d556", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -56, + "y": "0", + "z": 176 + } + ], + "uuid": "6a4f6fbe-c820-1e2e-c6e0-bc00bdeef756", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -56, + "y": 0, + "z": 176 + } + ], + "uuid": "040c01f2-8ac7-706c-3fb1-bb4aa9bb280f", + "time": 3.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -36, + "y": 0, + "z": 176 + } + ], + "uuid": "7b798991-a9cb-307f-3fc6-efa36f3c3aff", + "time": 4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -36, + "y": 0, + "z": 176 + } + ], + "uuid": "afe51ff0-2a97-d88f-19f5-1a8b8bb46ab7", + "time": 4.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -36, + "y": 2, + "z": 190 + } + ], + "uuid": "3f5e64a9-9833-b3c5-8552-9fe5bc09e4d3", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -36, + "y": 10, + "z": 183 + } + ], + "uuid": "476f637c-faa7-6487-da15-dabd0da41683", + "time": 4.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "722ba1a8-d27a-a318-ed94-70fd93e6aa92": { + "name": "Pillager2Head", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 30, + "y": "0", + "z": "0" + } + ], + "uuid": "ec8aa9eb-bf26-6b54-9957-d2fa5e44ef48", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 30, + "y": 0, + "z": 0 + } + ], + "uuid": "368045f9-7a5e-9a44-35e5-282b66aaed7b", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "9ca648ef-22fd-45b5-45ea-509be36f210d", + "time": 3.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "bee2b188-348a-65c2-c139-7550c746d138", + "time": 4.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -60, + "z": 0 + } + ], + "uuid": "1cd41071-e3d7-7e2f-6b8e-4047491c0d5d", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "0ddab028-66b0-41c1-d52b-6a447b5ec517": { + "name": "Pillager2RightArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -84.75867, + "y": -17.43127, + "z": -1.5741 + } + ], + "uuid": "849eb9dc-189b-1734-b332-18d85e423c35", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -84.88047, + "y": 12.453, + "z": 1.11036 + } + ], + "uuid": "b3c795a2-9842-44f1-0408-40a0eba1ae70", + "time": 4.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -84.88, + "y": 12.45, + "z": 1.11 + } + ], + "uuid": "ed092b31-b5ef-5ee0-6061-06c47f11a4e7", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -180, + "y": 0, + "z": "-30" + } + ], + "uuid": "6529620d-187f-2390-149a-0bebeab849be", + "time": 5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "772a9473-7a89-3b7a-47a6-92943b25c705": { + "name": "Pillager2LeftArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -83.71, + "y": 37.33, + "z": 3.83 + } + ], + "uuid": "e79fa358-7bdc-15cc-c2e6-ccc2567b048e", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -84.88141, + "y": -12.45475, + "z": -1.10072 + } + ], + "uuid": "beae8264-1977-cd37-db08-b9e3d50c20ac", + "time": 4.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -84.88, + "y": -12.45, + "z": -1.1 + } + ], + "uuid": "18e91309-bab9-9c98-05fb-5146997d0fc7", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -180, + "y": 0, + "z": "30" + } + ], + "uuid": "25fe742d-9267-0fc7-91d2-73607c079331", + "time": 5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "f918cfc6-bae2-77c0-5889-2000d7e22d8a": { + "name": "Pillager2LeftLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -12.5, + "y": "0", + "z": "0" + } + ], + "uuid": "46d402cd-c539-eabb-a93a-b8abcf100f8a", + "time": 3.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "895eed3b-8a77-802b-a220-23785ede219a", + "time": 3.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 12.5, + "y": 0, + "z": 0 + } + ], + "uuid": "8b6dfda1-8286-899b-ff93-50a786cc6693", + "time": 3.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -17.5, + "y": 0, + "z": 0 + } + ], + "uuid": "19bf631c-c35d-2a05-d5bf-6964ea24e0ed", + "time": 3.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "705c942e-58c0-99ac-afd5-2c104a2940fe", + "time": 3.95, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "cc9c98a7-b1b3-e2c3-bdda-94e97577aac5", + "time": 4.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -29.97638, + "y": "-1.2497", + "z": "-2.1654" + } + ], + "uuid": "72f2ffe8-6035-a9c3-a74a-10c25a6f224c", + "time": 4.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": -15 + } + ], + "uuid": "33c7d46d-50a3-ee12-d476-969c60c05d83", + "time": 5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -29.97638, + "y": "-1.2497", + "z": "-2.1654" + } + ], + "uuid": "2269e0c5-1499-4013-93ea-5e439a1a75ba", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "735eb1cd-20fe-27ca-3874-49f7de39e387": { + "name": "Pillager2RightLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": "0", + "z": "0" + } + ], + "uuid": "a16e4571-7211-813d-39b8-829dbc97f981", + "time": 3.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "6044f432-7078-8a50-6725-6cd3f7369bcf", + "time": 3.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -12.5, + "y": 0, + "z": 0 + } + ], + "uuid": "c0ddd816-b4ff-3737-b192-6727e0766d0c", + "time": 3.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 15, + "y": 0, + "z": 0 + } + ], + "uuid": "64815893-ce22-8b52-64b6-a3cd978c67cc", + "time": 3.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "d1e63377-2076-2651-32c9-c05cb62b17b5", + "time": 3.95, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "88acca5b-3825-1081-75da-3a772a6ca28a", + "time": 4.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -29.97638, + "y": 1.2497, + "z": 2.16541 + } + ], + "uuid": "e180a93c-af66-e7fe-9b18-6a192a1989fb", + "time": 4.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 15 + } + ], + "uuid": "77d69a82-5bd4-4f09-fe9a-1340cca1a4f6", + "time": 5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -29.97638, + "y": 1.2497, + "z": 2.16541 + } + ], + "uuid": "5619e041-e986-f16c-bc89-3f00b4a5b966", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "4822bc9a-ec31-1b48-845f-8da10ed81c26": { + "name": "Pillager3", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "ec6bbb4c-c56c-22e5-588c-b9dff2bb2864", + "time": 2.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 20, + "z": 0 + } + ], + "uuid": "eb20803e-dd5c-3fd6-901b-564b7f474643", + "time": 3.15, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 8.22, + "z": 0 + } + ], + "uuid": "bf1cd052-97a4-4f4e-0f17-72fb45bc1202", + "time": 2.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 8.22, + "z": 0 + } + ], + "uuid": "28bba250-55a7-08aa-ae4e-967389c28078", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 20, + "z": 0 + } + ], + "uuid": "8f2ecdd5-1305-7eeb-f458-a76fd882677e", + "time": 5.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90, + "y": 20, + "z": 0 + } + ], + "uuid": "abcc3765-ce82-ecab-30e6-443e92d5ff5f", + "time": 5.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 41, + "y": "0", + "z": 151 + } + ], + "uuid": "c52ff8b4-b676-a6c0-0e98-a793146abc1c", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 41, + "y": 0, + "z": 151 + } + ], + "uuid": "3b4ad2f8-2785-78e4-9769-dd05cefd7d0a", + "time": 2.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 17, + "y": 0, + "z": 151 + } + ], + "uuid": "15a2f3de-825d-ea5c-cf4a-b295f1ded072", + "time": 3.15, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 31.13, + "y": 0, + "z": 151 + } + ], + "uuid": "b17dd77a-1293-a1e9-cad9-7856c5e4a827", + "time": 2.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 31.13, + "y": 0, + "z": 151 + } + ], + "uuid": "8a0ebb4f-4d5c-e453-a22a-0d28d33e3c1a", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 17, + "y": 0, + "z": 151 + } + ], + "uuid": "d29c87eb-ddda-a52d-0854-b8d42357d774", + "time": 5.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 21, + "y": 2, + "z": 163 + } + ], + "uuid": "ede79ff6-cc63-826e-41ea-cb7647be8fdf", + "time": 5.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 19, + "y": 9, + "z": 157 + } + ], + "uuid": "4da2c3ea-3949-eeb9-5508-b870d9645108", + "time": 5.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "2b5563af-f262-fd48-fda8-985979eee63f": { + "name": "Pillager3Head", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "021cd91a-79e0-0031-c52c-0a8553365819", + "time": 5.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -60, + "z": 0 + } + ], + "uuid": "f2eff260-08a6-a72f-3d98-acb37604b2cf", + "time": 5.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "4a1626d2-68d7-9464-863c-bbff0af2e1d2": { + "name": "Pillager3RightArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -49.75867, + "y": -17.43127, + "z": -1.5741 + } + ], + "uuid": "c26def74-5793-ad39-8178-bcb70abc1597", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -49.76, + "y": -17.43, + "z": -1.57 + } + ], + "uuid": "989b7eab-d80f-1b8f-06cb-eb3e9e64e69b", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -84.75867, + "y": -17.43127, + "z": -1.5741 + } + ], + "uuid": "18d7f8fb-a276-62a0-d4fb-ff36beba8c67", + "time": 3.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -84.75867, + "y": -17.43127, + "z": -1.5741 + } + ], + "uuid": "86770252-e984-c27b-f2ca-cfd1ea8c353a", + "time": 5.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -84.88047, + "y": 12.453, + "z": 1.11036 + } + ], + "uuid": "f49dda9d-cbc6-f761-b627-e2718672c09a", + "time": 5.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -84.88, + "y": 12.45, + "z": 1.11 + } + ], + "uuid": "508e33ed-e2ce-3681-26dd-ee0e7a014e2e", + "time": 5.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -180, + "y": 0, + "z": "-30" + } + ], + "uuid": "ff52aa05-2c4f-8c65-1eba-46cd1c56da19", + "time": 5.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "fba33a0a-7e4e-99ea-8de9-f59cf5ff08d2": { + "name": "Pillager3LeftArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -53.71, + "y": 37.33, + "z": 3.83 + } + ], + "uuid": "90f39fa9-d278-cefa-e084-55e83ac319c6", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -53.71, + "y": 37.33, + "z": 3.83 + } + ], + "uuid": "5cced20e-ae2c-6830-e5a2-8ce0ec1070aa", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -83.71, + "y": 37.33, + "z": 3.83 + } + ], + "uuid": "24d38827-6093-e282-f8f2-66961973db45", + "time": 3.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -83.71, + "y": 37.33, + "z": 3.83 + } + ], + "uuid": "0019577f-d5fc-aa1b-8fe5-3edaca1691b4", + "time": 5.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -84.88141, + "y": -12.45475, + "z": -1.10072 + } + ], + "uuid": "125b38a5-b168-2944-a8f2-754ad50af94a", + "time": 5.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -84.88, + "y": -12.45, + "z": -1.1 + } + ], + "uuid": "37530ab5-9bdf-9cc5-5d71-06262d94aba1", + "time": 5.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -180, + "y": 0, + "z": "30" + } + ], + "uuid": "8288a2d2-ccc1-5dc7-949d-71aef8239b3a", + "time": 5.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "4ccf2448-64b2-a96b-f54f-4276a0e1c255": { + "name": "Pillager3LeftLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "5ce3e5b0-ae95-52b3-628d-eb2ff2232f6e", + "time": 2.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -20 + } + ], + "uuid": "5d58b3eb-5625-7c19-88dd-49fbb718dcfe", + "time": 2.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "aa60d070-4d32-459d-df15-e61690f5820e", + "time": 2.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "950570f4-e780-2cea-0b52-cc38e806558e", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -20 + } + ], + "uuid": "9056c81d-dce7-277f-75b8-7f041234eb94", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "f9c5f78a-7d1f-e36f-8330-b152d50d064a", + "time": 3.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "f82cb3b0-0b16-1033-14c1-637a13da8cc1", + "time": 5.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -29.97638, + "y": "-1.2497", + "z": "-2.1654" + } + ], + "uuid": "ee0f45b3-5334-07b0-cb68-ea1a5678b86f", + "time": 5.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": -15 + } + ], + "uuid": "d82a93f2-96f1-5cb9-e74b-c201ae49b8fe", + "time": 5.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -29.97638, + "y": "-1.2497", + "z": "-2.1654" + } + ], + "uuid": "4eb97a17-d682-565c-ebcb-a07f0ce9afe2", + "time": 5.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "13e287b2-337f-0b43-b91f-24b51f929429": { + "name": "Pillager3RightLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "864d0c3b-3556-7a06-a34b-c5eac86d03f9", + "time": 2.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 20 + } + ], + "uuid": "f37ed3c6-6e9e-5ccc-b92e-bbdc9c8104d9", + "time": 2.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 2.5 + } + ], + "uuid": "4e4e9621-663b-96e1-6c4b-ba71c3e0127e", + "time": 2.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 20 + } + ], + "uuid": "b27ac25e-bffd-f257-36ec-55e725a65cab", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 2.5 + } + ], + "uuid": "7a0f7453-52ea-d099-b4a9-e86732008ba1", + "time": 2.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 2.5 + } + ], + "uuid": "1b4d1f61-ad06-4522-4ca3-6ea11ac9b381", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "529f3f4d-3488-96ba-c079-6d3519e1d548", + "time": 3.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "cda6fca9-6e59-f276-db2c-6ebb29014cb8", + "time": 5.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -29.97638, + "y": 1.2497, + "z": 2.16541 + } + ], + "uuid": "0f5ef34c-10a5-e364-3dc8-8dbe9a7e189b", + "time": 5.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 15 + } + ], + "uuid": "dc9f9f06-360a-e65d-fae8-8c0c43431c6e", + "time": 5.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -29.97638, + "y": 1.2497, + "z": 2.16541 + } + ], + "uuid": "7c4a463d-e6cc-5501-71f2-aa08d1f60e00", + "time": 5.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "451bd9ee-3968-ddf7-c9e0-b68dd523d86a": { + "name": "Skirt4", + "type": "bone", + "keyframes": [ + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "cf4c18b4-a60c-1b6d-73b6-afb14a811336", + "time": 0, + "color": -1, + "uniform": false, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": 1, + "z": "1.05" + } + ], + "uuid": "53f58d60-b334-0a2c-f5ab-68eae2a41be3", + "time": 0.15, + "color": -1, + "uniform": false, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "005a6a49-439f-d671-6ab6-86dc4fff69e6", + "time": 0.3, + "color": -1, + "uniform": false, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": 1, + "z": "1.05" + } + ], + "uuid": "fc00e8c8-2884-ddcc-604c-341306835476", + "time": 0.45, + "color": -1, + "uniform": false, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "6dc7e379-d160-5eb4-f091-e72be9a6b53a", + "time": 0.6, + "color": -1, + "uniform": false, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": 1, + "z": "1.05" + } + ], + "uuid": "c425cda9-01e1-f774-701d-e22d6a80b712", + "time": 0.75, + "color": -1, + "uniform": false, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "3532b296-cf72-0257-2cd9-02c77e8158b6", + "time": 0.9, + "color": -1, + "uniform": false, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "f1595b1d-fa4d-27f4-415b-a30999962109": { + "name": "CoverBack3", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "5baa51b6-e833-2af3-f673-f6ab031b8615", + "time": 3.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90, + "y": -15, + "z": 0 + } + ], + "uuid": "bcb0079e-b616-e3d9-870a-01d6bb82719d", + "time": 4.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "3838fa0f-ecf2-3308-d3b9-5f7c6c004af1", + "time": 3.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -5, + "y": 16, + "z": 13 + } + ], + "uuid": "0418f35e-4a6d-1b3d-d53a-8b41419631cf", + "time": 4.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -2.5, + "y": 21, + "z": 6.5 + } + ], + "uuid": "35e312a9-ea0d-3224-0213-abfa7bb3e42c", + "time": 3.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "2200bfda-1009-ee60-785c-9dd351765283": { + "name": "MomoiReticule", + "type": "bone", + "keyframes": [ + { + "channel": "scale", + "data_points": [ + { + "x": "4", + "y": "4", + "z": "4" + } + ], + "uuid": "00da0c99-11a9-aa9f-d4ae-5ab0c0c5d93c", + "time": 0, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 4, + "y": 4, + "z": 4 + } + ], + "uuid": "e6a23dbf-60a2-1470-72ce-5f0ccd8a8375", + "time": 1.85, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "2.4", + "y": "2.4", + "z": "2.4" + } + ], + "uuid": "afe46a68-d93f-36c7-87dd-6639af7ad727", + "time": 1.9, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 3.2, + "y": 3.2, + "z": 3.2 + } + ], + "uuid": "9bb8c9ab-2464-4393-7fd4-b4bbd8b0d091", + "time": 1.95, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "2.4", + "y": "2.4", + "z": "2.4" + } + ], + "uuid": "5624f5ad-baf5-5ae9-ded2-0af3b4038f6c", + "time": 2, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 3.2, + "y": 3.2, + "z": 3.2 + } + ], + "uuid": "48961617-0e6e-500a-15aa-fb259546091a", + "time": 2.05, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "2.4", + "y": "2.4", + "z": "2.4" + } + ], + "uuid": "3ee2a8c8-c93f-8e1c-52ca-b9fb1cda3d9f", + "time": 2.1, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 4, + "y": 4, + "z": 4 + } + ], + "uuid": "371f04a9-1816-377d-56c7-57209bef3d46", + "time": 2.2, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 4, + "y": 4, + "z": 4 + } + ], + "uuid": "56e00b7e-69cf-7758-e9f6-37fb9a4309da", + "time": 3.05, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "2.4", + "y": "2.4", + "z": "2.4" + } + ], + "uuid": "1050d8f5-7fde-6ce5-d9a3-c3a580fa575b", + "time": 3.1, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 3.2, + "y": 3.2, + "z": 3.2 + } + ], + "uuid": "5f698bdb-b9c1-a311-08ab-14febb38f1c4", + "time": 3.15, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "2.4", + "y": "2.4", + "z": "2.4" + } + ], + "uuid": "916ea2a4-dbaf-8a9d-1da8-1c57706ac1ac", + "time": 3.2, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 3.2, + "y": 3.2, + "z": 3.2 + } + ], + "uuid": "e7af69c4-7a97-7672-e751-17c13483a308", + "time": 3.25, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "2.4", + "y": "2.4", + "z": "2.4" + } + ], + "uuid": "b38c0dbb-ed78-c627-b3bb-f8eafdbee65c", + "time": 3.3, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 4, + "y": 4, + "z": 4 + } + ], + "uuid": "ecfd5ae7-03a7-b42d-9ec2-701de8a12891", + "time": 3.4, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 4, + "y": 4, + "z": 4 + } + ], + "uuid": "a9efd04a-dc75-0512-2cc3-a220d23eefe0", + "time": 3.7, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "2.4", + "y": "2.4", + "z": "2.4" + } + ], + "uuid": "c2f4cdb9-3189-ab4f-8bdc-5def6cd000ee", + "time": 3.75, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 3.2, + "y": 3.2, + "z": 3.2 + } + ], + "uuid": "a8cbf91e-1d04-890c-187f-5be48663f64d", + "time": 3.8, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "2.4", + "y": "2.4", + "z": "2.4" + } + ], + "uuid": "837a3e27-2c61-749f-9658-211333a7293c", + "time": 3.85, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 3.2, + "y": 3.2, + "z": 3.2 + } + ], + "uuid": "ced0884f-2dce-a241-f3fe-b064959c6a4d", + "time": 3.9, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "2.4", + "y": "2.4", + "z": "2.4" + } + ], + "uuid": "f15c697f-d1bb-4262-1086-51095771ce2a", + "time": 3.95, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 4, + "y": 4, + "z": 4 + } + ], + "uuid": "c26f0675-9149-7651-28df-543bd6768d2c", + "time": 4.05, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "94756d90-dcf0-4695-1a20-92d679ae15fd": { + "name": "MidoriReticule", + "type": "bone", + "keyframes": [ + { + "channel": "scale", + "data_points": [ + { + "x": "4", + "y": "4", + "z": "4" + } + ], + "uuid": "84eadc0f-9643-c6b0-8e44-65dfa7adf68e", + "time": 0, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 4, + "y": 4, + "z": 4 + } + ], + "uuid": "0fa002c3-64ab-957e-cc1e-aef55dc24abb", + "time": 2.4, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "2.4", + "y": "2.4", + "z": "2.4" + } + ], + "uuid": "f27b815f-6134-585c-0ef6-512a36f13a39", + "time": 2.45, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "4", + "y": "4", + "z": "4" + } + ], + "uuid": "9ca3a69e-a88c-92c2-38e5-623060acbbf2", + "time": 2.55, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 4, + "y": 4, + "z": 4 + } + ], + "uuid": "615b5c7b-1b94-5384-8a99-71e0692d7ad2", + "time": 3.65, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "2.4", + "y": "2.4", + "z": "2.4" + } + ], + "uuid": "2834b471-e299-c7a7-7862-7d1d51680710", + "time": 3.7, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "4", + "y": "4", + "z": "4" + } + ], + "uuid": "2e670ab0-ed70-c85d-868c-ceb88b9a42a7", + "time": 3.8, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 4, + "y": 4, + "z": 4 + } + ], + "uuid": "73b83d69-466c-6bb9-8f19-6eee05869573", + "time": 4.6, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "2.4", + "y": "2.4", + "z": "2.4" + } + ], + "uuid": "80225224-ff01-3b90-7c2c-9149c2a90900", + "time": 4.65, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "4", + "y": "4", + "z": "4" + } + ], + "uuid": "eaf76117-0933-bd71-1e39-057421f980ff", + "time": 4.75, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 4, + "y": 4, + "z": 4 + } + ], + "uuid": "c98ca564-c97e-0986-ab4c-53e1516e6ef6", + "time": 5.5, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "2.4", + "y": "2.4", + "z": "2.4" + } + ], + "uuid": "62599cd5-8894-f0b8-fd4a-998589b63381", + "time": 5.55, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "4", + "y": "4", + "z": "4" + } + ], + "uuid": "947a2140-bee1-f51e-f622-334c22a8de1e", + "time": 5.65, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "8af87620-4300-febb-fb50-3d30cacaf1a8": { + "name": "MomoiReticuleAnchor", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": -67, + "y": -10, + "z": 0 + } + ], + "uuid": "40d9be53-4486-0a71-e04c-afaf95863fed", + "time": 1.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -67, + "y": -10, + "z": 0 + } + ], + "uuid": "46f9caaa-6beb-8007-491d-1355475eeec4", + "time": 1.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -113, + "y": -57, + "z": 0 + } + ], + "uuid": "930afe67-3033-a8f6-8c57-2ef280f93253", + "time": 1.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -130, + "y": -34, + "z": 0 + } + ], + "uuid": "48e04a07-3bde-063b-118c-27b874345c59", + "time": 2.05, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -1.00333, + -1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 1.00333, + 1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -33, + "y": -86, + "z": 0 + } + ], + "uuid": "f6aa11e2-603d-f4c3-1f5d-d8f1a7a4c1ff", + "time": 3.05, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 59, + "y": -46, + "z": 0 + } + ], + "uuid": "b43ee0f4-8ad4-e3ea-531d-09ed39aedb98", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 46, + "y": -46, + "z": 0 + } + ], + "uuid": "e1ab7bbf-bd87-280b-8714-5a60fad66ca4", + "time": 3.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 129, + "y": -62, + "z": 0 + } + ], + "uuid": "c380a6d7-c1c3-480a-50cb-19980e7888d6", + "time": 3.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 74, + "y": 2, + "z": 0 + } + ], + "uuid": "ec02e163-2201-1c1f-05f3-93b0033edb0f", + "time": 4.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "18856ef8-1996-f008-63a3-83a86935ecc9": { + "name": "MidoriReticuleAnchor", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": 119, + "y": 18, + "z": "0" + } + ], + "uuid": "0ddde53f-b24e-45ef-53aa-445313e74e78", + "time": 1.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 119, + "y": 18, + "z": 0 + } + ], + "uuid": "3ae06fd8-d174-8d67-bf81-3c32bbce8c1d", + "time": 2.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -64, + "y": 2, + "z": 0 + } + ], + "uuid": "44bffbc9-2e31-c8f3-e172-2b0537235b8d", + "time": 2.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -64, + "y": 2, + "z": 0 + } + ], + "uuid": "3e4ddc43-f9a0-084d-8140-16a79e4af7bc", + "time": 2.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 28, + "y": -14, + "z": 0 + } + ], + "uuid": "26653dd7-0d67-c8e5-39dc-fe29e22cc6c3", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -45, + "y": -33, + "z": 0 + } + ], + "uuid": "c1a44386-e020-176f-6062-f778d4bbc846", + "time": 3.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -45, + "y": -13, + "z": 0 + } + ], + "uuid": "95faa8d2-10ef-b934-f585-3771e94b2288", + "time": 3.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -45, + "y": -29, + "z": 0 + } + ], + "uuid": "8ad52ca8-4872-96d1-fec9-a1719b597df1", + "time": 3.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -45, + "y": -29, + "z": 0 + } + ], + "uuid": "abbbb3f7-6e55-56fe-02a2-00206a2fbaae", + "time": 4.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -22, + "y": -23, + "z": 0 + } + ], + "uuid": "736287d4-3564-af04-cb61-3e3e63cae813", + "time": 4.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -64, + "y": 19, + "z": 0 + } + ], + "uuid": "9ddf3347-7b50-674a-562b-e9423f5c9c40", + "time": 2.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -64, + "y": 6.33, + "z": 0 + } + ], + "uuid": "332d80e3-6160-a0fa-0545-e36766b5dd1b", + "time": 2.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -22, + "y": -8, + "z": 0 + } + ], + "uuid": "1dbc9d3a-d221-9e29-d986-82944039f718", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -22, + "y": -19, + "z": 0 + } + ], + "uuid": "2f19ea32-3dba-306c-6fe3-216f7449a503", + "time": 4.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -52, + "y": -12, + "z": 0 + } + ], + "uuid": "18c118b8-d633-8e4d-c5c0-a2a073ccabae", + "time": 5.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 46, + "y": -23, + "z": 0 + } + ], + "uuid": "23c0a5b9-6b5f-4f06-2e2e-9a8e01eb119a", + "time": 5.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 46, + "y": -7, + "z": 0 + } + ], + "uuid": "8f9f301a-9450-8f5f-3a51-a187ba49d244", + "time": 5.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 46, + "y": -19, + "z": 0 + } + ], + "uuid": "2be2c9d8-806b-b738-d50f-666a3b6c1423", + "time": 5.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 46, + "y": -19, + "z": 0 + } + ], + "uuid": "c5be4cad-9635-ed0e-138b-ed1a1493aa75", + "time": 7.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "71b08d0c-78f0-1c9d-86e1-64d41918ee41": { + "name": "MomoiHeadUI", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "e7cfa4be-7f37-434d-39c4-7163c00f2837", + "time": 2.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-4", + "y": "-4", + "z": 0 + } + ], + "uuid": "ab0fe6c3-750a-b25e-c531-c7b9084447ed", + "time": 2.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "4", + "y": "4", + "z": 0 + } + ], + "uuid": "0369897c-3cef-c1b2-dafe-4a0e508d1492", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "e0dc0ce4-ff46-5c10-5933-ad424ae94b71", + "time": 2.55, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "08e2611b-9623-5d90-956a-ca0c4cd8ae4b", + "time": 3.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-4", + "y": "-4", + "z": 0 + } + ], + "uuid": "4da61060-23e4-13b8-5147-45252758c401", + "time": 3.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "4", + "y": "4", + "z": 0 + } + ], + "uuid": "e8e36248-f144-56f6-6d2f-1e0cdff7cc7f", + "time": 3.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "b9532e94-ae2c-455b-6de7-b3737aff4f09", + "time": 3.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "5b26decd-5130-c591-f6ac-d90bef6788db", + "time": 3.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-4", + "y": "-4", + "z": 0 + } + ], + "uuid": "6c15bc6f-163b-97a8-a47c-b114f35bdff9", + "time": 3.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "4", + "y": "4", + "z": 0 + } + ], + "uuid": "f45fd19d-742e-9664-9a5e-110788aa1175", + "time": 4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "62462369-339e-ef05-1430-ad5cc03ca77c", + "time": 4.05, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "88dd0163-ea03-c5ca-649b-98ae45197b2b": { + "name": "BulletM9", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "bc12a97b-f2d6-c9c0-e488-361f29bdb0d2", + "time": 5.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "217.5" + } + ], + "uuid": "6d7a8603-cd88-822f-b5f3-2553a631aae9", + "time": 6.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 45, + "z": 0 + } + ], + "uuid": "9354a7a7-1811-ed97-2ecb-916e5866486a", + "time": 5.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-44", + "y": 11, + "z": 0 + } + ], + "uuid": "ab9883a5-503a-c199-0b8e-9c0e3cc9df9f", + "time": 6.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-17.44", + "y": 86.85, + "z": 0 + } + ], + "uuid": "80b3fd86-a3b0-bf56-d177-deacf41f6adf", + "time": 5.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "b24694b4-f8ea-1069-d971-7ec5fe7e01e9", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "f118358a-f87c-02f4-324a-4741857a026a", + "time": 5.95, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "22bfd80a-7fbd-77d2-8795-55e7399605c1", + "time": 6.15, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "7c44bc8e-2453-166c-0916-1fa14c995562": { + "name": "BulletM10", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "e037a4a6-bce3-347f-0200-08a8b885b46e", + "time": 3.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "217.5" + } + ], + "uuid": "c6ba30f7-33d7-bc71-41a7-0245da861924", + "time": 4.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 50, + "z": 0 + } + ], + "uuid": "1beeca38-0a8e-3aa9-50fe-0f60192db5fe", + "time": 3.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-44", + "y": 16, + "z": 0 + } + ], + "uuid": "f2e2dd46-7c97-6860-6a00-0dcb9f6b26ff", + "time": 4.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-17.44", + "y": 91.85, + "z": 0 + } + ], + "uuid": "664ad574-f800-a99b-fad9-b3f71267127b", + "time": 3.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "fbdc15d1-f20f-6a8d-f19b-ba089112cfa3", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "29110b75-451d-2346-4ca5-4d60796a377e", + "time": 4.1, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "0506f183-3fe9-9124-d083-69ea5b08b2ab", + "time": 4.3, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "88b0667c-5061-38c3-8a3d-91a8b181f978": { + "name": "BulletM19", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "43f778ea-f377-017f-bec1-314b4bc54a87", + "time": 4.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-170" + } + ], + "uuid": "5dcc7646-ece7-1cad-29f4-ecbe9839f5fb", + "time": 5.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 45, + "z": 0 + } + ], + "uuid": "a1098ce7-31a1-ed27-210b-2ae9d5d58f35", + "time": 4.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-44", + "y": 11, + "z": 0 + } + ], + "uuid": "24bda5ff-2abc-5b1f-00f6-7d034b740b50", + "time": 5.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-17.44", + "y": 68.85, + "z": 0 + } + ], + "uuid": "9e1fac78-0474-4c29-3e4a-618e73698856", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "285b45b4-169e-9c11-074f-6bd471026d1e", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "1f602c6f-4597-0337-25e1-93beeccc8419", + "time": 5.05, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "45976f7a-fc8a-a83c-4386-ee16daee71a3", + "time": 5.25, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "7a4aa981-393d-00c3-8690-ee0176d13d68": { + "name": "BulletM20", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "a9b115d5-fcb4-7b2e-4adb-17a4d3942b26", + "time": 2.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-170" + } + ], + "uuid": "807bbedd-5e91-0167-a276-11c51f69a42a", + "time": 3.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 50, + "z": 0 + } + ], + "uuid": "3684fcbe-c5c7-c2f3-b757-530eb83c7efa", + "time": 2.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-44", + "y": 16, + "z": 0 + } + ], + "uuid": "bd84e216-d288-ddb4-6e19-a3173a6f5777", + "time": 3.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-17.44", + "y": 73.85, + "z": 0 + } + ], + "uuid": "c1e5ce02-d92a-8088-8adf-aa03d65e26df", + "time": 2.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "f3a8ae7f-b546-a47b-09c5-a97b599edeb3", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "fb0cc299-a5ba-5158-2fa9-dc6bdf33650d", + "time": 2.85, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "8ea114a4-d8b3-40be-189d-38610ac8fa9c", + "time": 3.05, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "1e96cac6-788d-cdf0-9fb2-a4cfa9732fb1": { + "name": "Bullet9", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "89212c14-7751-9815-a260-4c3cbcb66aba", + "time": 3.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -217.5 + } + ], + "uuid": "59c4bffa-0c87-f9b2-6bf6-efe6a3f336a6", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 45, + "z": 0 + } + ], + "uuid": "8ab3ff62-8a0c-fb58-a582-34ff41a4c6ba", + "time": 3.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 44, + "y": 11, + "z": 0 + } + ], + "uuid": "b8e3bec8-0087-5b3d-16a8-7f2ee72ba833", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 17.44, + "y": 86.85, + "z": 0 + } + ], + "uuid": "259a06a1-e3ac-ffe8-20a9-1665db1503c8", + "time": 4.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "f83848af-087c-5ff8-f893-0fe118cc54db", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "acd2ef8e-c1cf-305c-5709-10927acd259a", + "time": 4.2, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "99b59d41-f9f6-34bb-2037-8a6413a4449c", + "time": 4.4, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "306f430c-6772-c7cf-15e5-9285f5130b62": { + "name": "Bullet10", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "9e43a046-5de7-2d2a-b3b2-6470de3dfcfa", + "time": 3.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -217.5 + } + ], + "uuid": "7ecb1cf1-dc27-9a21-9dbd-afa9c5833d22", + "time": 3.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 50, + "z": 0 + } + ], + "uuid": "2773cb36-4a4f-043a-69e5-0403436ffbd5", + "time": 3.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 44, + "y": 16, + "z": 0 + } + ], + "uuid": "e89255ff-d15e-1fe7-873a-623d0b5a0dd5", + "time": 3.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 17.44, + "y": 91.85, + "z": 0 + } + ], + "uuid": "34f901b7-a017-543e-63e6-8dbec372b669", + "time": 3.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "214f26d6-a2a1-4a5b-373c-45384a7b5971", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "8c2a8ee6-87b8-f953-79a0-1775ebeabfd9", + "time": 3.65, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "d07ca7ea-a74d-8804-a8cc-cb24272e7fff", + "time": 3.85, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "48b81982-ce56-a3a6-3907-1f21961de27a": { + "name": "Bullet11", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "9b147a40-fb82-3f95-d4ef-cf60563e3090", + "time": 3.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -217.5 + } + ], + "uuid": "3243c995-0dd2-3a21-baee-32e31b59f834", + "time": 3.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "e72a7d8c-603d-3bb6-b516-195eb74063f6", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 55, + "z": 0 + } + ], + "uuid": "c44f6cdf-1381-cfb2-624a-3d1b6e332b5a", + "time": 3.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 44, + "y": 21, + "z": 0 + } + ], + "uuid": "6c4c203f-4a0a-ffce-05e2-41a7030c09da", + "time": 3.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 17.44, + "y": 96.85, + "z": 0 + } + ], + "uuid": "d7fe5953-ac1f-98b6-922b-c564ab234922", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "0fa8b956-8ced-d039-ec13-86c3d4245db3", + "time": 3.45, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "f9148e44-6e3a-fd06-fcef-e28b5ba75da4", + "time": 3.65, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3acfe997-7950-1748-3aa8-eba663f7a00e": { + "name": "Bullet12", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "0b93e277-4ed4-41f5-2efb-9b8dadf72f5c", + "time": 1.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -217.5 + } + ], + "uuid": "f852d8d2-ecc5-f3db-3ca5-6bb920eb440e", + "time": 2.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 60, + "z": 0 + } + ], + "uuid": "a25a13c9-852b-0783-8981-4b05cccdf615", + "time": 1.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 44, + "y": 26, + "z": 0 + } + ], + "uuid": "e2ec2213-d13b-7ea6-48e0-a49b08e91854", + "time": 2.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 17.44, + "y": 101.85, + "z": 0 + } + ], + "uuid": "07b9d936-5c18-32a4-0a15-87b35485b9d8", + "time": 2.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "56388119-93e5-0d6f-98b1-6ae0fc7e9a9f", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "15697626-aa1a-8e50-5e06-692b1b4c3c99", + "time": 2.35, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "8d42bbab-fcc5-25c4-cf3f-8b1ebd41e11d", + "time": 2.55, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "eba391d4-fb32-21c5-7518-8232a91cbb29": { + "name": "Bullet20", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "49acac4a-905d-1d06-8095-2fd0110b7723", + "time": 3.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 170 + } + ], + "uuid": "c1578c6e-efce-0916-8914-489018f8e4d1", + "time": 4.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 40, + "z": 0 + } + ], + "uuid": "95dd640f-ba24-d453-fa3a-56e5f4c0cbf4", + "time": 3.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 44, + "y": 6, + "z": 0 + } + ], + "uuid": "053edc67-05e3-c7e8-064b-69373021649a", + "time": 4.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 17.44, + "y": 63.85, + "z": 0 + } + ], + "uuid": "7a945a84-87a9-428a-cf77-7f21ac9911f5", + "time": 4.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "cf918862-0d84-8ab4-7390-1f728dcfa2a7", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "031f7419-3b18-606d-bda9-169d9813661b", + "time": 4.3, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "1b7d4a82-49e2-f51c-e21d-52babd3afc18", + "time": 4.5, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "4a8400a5-8c38-df68-8757-7fd08abb4dd5": { + "name": "Bullet21", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "716ca070-f9fa-698e-d056-0e0f1055d2fc", + "time": 3.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 170 + } + ], + "uuid": "4d0ace12-d0f4-0671-0ee7-b403971e8ac3", + "time": 4.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 45, + "z": 0 + } + ], + "uuid": "e547d7c8-6035-f733-6717-1418473c6df2", + "time": 3.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 44, + "y": 11, + "z": 0 + } + ], + "uuid": "0aca0fd2-a7dc-0efb-4020-9270201aab82", + "time": 4.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 17.44, + "y": 68.85, + "z": 0 + } + ], + "uuid": "4d53bede-274b-1887-078e-a169b45bc4c3", + "time": 3.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "786585b7-f7b4-4b85-90c1-31e6bae42514", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "7a0a9074-b59e-72f5-72f6-fce99d81c90b", + "time": 4.1, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "1dc32f47-36ef-dde5-cb30-d47dce7523d6", + "time": 4.3, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "2125d6fe-62c6-9ecd-c644-a0b1776a3415": { + "name": "Bullet22", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "40eff008-1c8a-c451-9aca-a3217545ec9d", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 170 + } + ], + "uuid": "b799827a-be4a-4daa-1480-18dee957ddbd", + "time": 3.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "00ed267a-5db3-c37e-39be-881f7d2d91b3", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 50, + "z": 0 + } + ], + "uuid": "dcb435f8-c1f3-3cc8-6615-29f28ea91445", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 44, + "y": 16, + "z": 0 + } + ], + "uuid": "e1ed1fba-e0b2-aece-199a-2bd80bafae32", + "time": 3.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 17.44, + "y": 73.85, + "z": 0 + } + ], + "uuid": "4ff84d81-da70-69be-06a6-dc1de5782011", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "981d7c6d-e862-36e6-5ace-559a0dd13310", + "time": 3.55, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "7a11b102-9ec3-d0c9-b76f-31a058caee24", + "time": 3.75, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "74a3e24a-dcc5-3505-f6a4-7a00888e2d4e": { + "name": "Bullet23", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "283444ed-b62d-3a42-b133-250289cf9920", + "time": 2.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 170 + } + ], + "uuid": "e8ec0b29-2d21-62e8-b7ae-96722a337636", + "time": 2.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 55, + "z": 0 + } + ], + "uuid": "30fa09d5-e924-4516-a2a3-ddfb22cbbb0f", + "time": 2.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 44, + "y": 21, + "z": 0 + } + ], + "uuid": "30c51165-5ad3-e533-0e78-d461e1258bc9", + "time": 2.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 17.44, + "y": 78.85, + "z": 0 + } + ], + "uuid": "f4a9f65a-c209-8247-8b08-54c5ab6a7c43", + "time": 2.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "d7896ede-87f1-5639-15a0-e05080034106", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "70cdf8c7-d88e-a3ca-fa3b-a74334310936", + "time": 2.45, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "8a75c234-d488-cd46-bfe6-1888fdbaf526", + "time": 2.65, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "129c51cf-a50e-1a30-f639-f7e2c5f3b838": { + "name": "Bullet24", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "5f8673f8-aeba-ec1e-bbc2-ca86daddbe92", + "time": 1.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 170 + } + ], + "uuid": "336f1194-07e9-cfd0-bf2a-6816e7c6500e", + "time": 2.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 61, + "z": 0 + } + ], + "uuid": "48a273cf-1ff0-a88b-4f7c-2946310faa22", + "time": 1.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 44, + "y": 27, + "z": 0 + } + ], + "uuid": "37fcf1d8-35b0-d18f-c6c1-d97b6d4d098c", + "time": 2.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 17.44, + "y": 84.85, + "z": 0 + } + ], + "uuid": "c35e67a6-ed55-6349-7070-cda9bd6fcf44", + "time": 2.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "b6f21a6e-59e7-5a55-ab7c-c1216b88c57a", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "aabc7d66-ec70-db54-0aaa-950afb53ab4a", + "time": 2.25, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "47ae3eb0-7443-c88c-78c5-3437e61b61d9", + "time": 2.45, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "32117c1a-b713-505a-784b-9959eb16d346": { + "name": "RedEffectAnchor", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "1", + "y": "0", + "z": "0" + } + ], + "uuid": "1e140f95-ed7d-6be4-94e1-7015c1913559", + "time": 2.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "711788bf-856d-e0bf-8451-9db522a5195a", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "c508fc68-2e4e-0bb6-3cf0-4299b5f48bd5", + "time": 2.6, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "1", + "y": "0", + "z": "0" + } + ], + "uuid": "5c140702-9a54-ee37-e9fe-a02895aa8bf7", + "time": 3.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "9a5c0f70-5a38-253d-cfba-6345628d0ae0", + "time": 3.7, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "1", + "y": "0", + "z": "0" + } + ], + "uuid": "1c240e74-4b26-89d9-b6a3-862ebeac517c", + "time": 3.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "5c372c4c-f180-f293-7b5a-6e550669b061", + "time": 4.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "c472a8ec-4150-d5ba-1ea3-1a979c854fdf": { + "name": "CrackEffectAnchor", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "1", + "y": "0", + "z": "0" + } + ], + "uuid": "1d8aa22d-8c21-ee0d-4fa9-313bece0b170", + "time": 2.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "99db77b9-f6df-ae71-4b80-b6146f1abe00", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "5c7f2283-33df-7cfd-3836-57e51a141192", + "time": 2.8, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "1", + "y": "0", + "z": "0" + } + ], + "uuid": "26e499d9-631e-b6aa-4e89-cf7a2a319193", + "time": 3.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + }, + { + "x": "1", + "y": 0, + "z": 0 + } + ], + "uuid": "88528e30-04b7-b903-ef12-1c2629526dec", + "time": 3.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "9cad44e5-314a-aadc-a37a-fb8010e24fb2", + "time": 4.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "57c58202-f4dc-19e7-324b-2880734e0557": { + "name": "UpperMVP", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "bdeef9af-f76c-4b6d-76c0-4f165d951c49", + "time": 8.25, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.25, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.25, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "60", + "z": 0 + } + ], + "uuid": "76fcbf93-6d64-b2d4-bcd4-64ef2ed0affb", + "time": 8.5, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.02, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.02, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3b395e8b-9328-596d-b4d4-7fb700a82f45": { + "name": "LowerMVP", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "1285b3bb-3918-6a01-fea8-154436787563", + "time": 8.25, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.35, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.35, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "-60", + "z": 0 + } + ], + "uuid": "8b8b2516-d7b4-0844-fbb4-0209e272c3f1", + "time": 8.5, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.02667, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.02667, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ee3fdb12-b31a-3d89-2880-95797b1dc229": { + "name": "GlowEffectsGroup1", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "3cda9130-0165-e0b1-8e6c-4469bc7ab942", + "time": 8.95, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.05412 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.05412 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "135" + } + ], + "uuid": "99c2092a-921a-e975-9551-229de4d0523b", + "time": 10.05, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.99921 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.99921 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "69a8eaed-c8da-3448-6719-557a72c7b227", + "time": 8.95, + "color": -1, + "uniform": true, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.05183, + -0.05183, + -0.05183 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.05183, + 0.05183, + 0.05183 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0.75", + "y": "0.75", + "z": "0.75" + } + ], + "uuid": "8934bba5-14c0-41d7-4c91-0fdbe87522d9", + "time": 10.05, + "color": -1, + "uniform": true, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.99691, + -0.99691, + -0.99691 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.99691, + 0.99691, + 0.99691 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "afd0bce6-babb-288b-6b09-c872b0324836": { + "name": "GlowEffectsGroup3", + "type": "bone", + "keyframes": [ + { + "channel": "scale", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "3550fbfd-d218-d26d-7e8f-a9f1fb74e105", + "time": 8.95, + "color": -1, + "uniform": true, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1.5", + "y": "1.5", + "z": "1.5" + } + ], + "uuid": "f408f1fc-83ef-a7a8-0bec-c4400eb3576e", + "time": 9.35, + "color": -1, + "uniform": true, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.40279, + -0.40279, + -0.40279 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.40279, + 0.40279, + 0.40279 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "d9b45ec0-9c82-c0a2-8481-e1c58512d745", + "time": 9.4, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "66798764-ce61-ad4a-79fa-8136c720af2b": { + "name": "GlowEffectsGroup2", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "67ff43bf-cdb3-b4bb-192c-c7291cf3ebec", + "time": 8.95, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.05412 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.05412 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-135" + } + ], + "uuid": "cbcdc20a-16d3-3fd3-d2fc-8d18f7495d81", + "time": 10.05, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.99921 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.99921 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "98c47ad2-0b98-d947-7c62-eb3482f2ba20", + "time": 8.95, + "color": -1, + "uniform": true, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.05183, + -0.05183, + -0.05183 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.05183, + 0.05183, + 0.05183 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0.75", + "y": "0.75", + "z": "0.75" + } + ], + "uuid": "50712b92-a7b3-7eeb-9962-6bc18b3107bd", + "time": 10.05, + "color": -1, + "uniform": true, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.99691, + -0.99691, + -0.99691 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.99691, + 0.99691, + 0.99691 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "9100b434-e831-96c3-9283-218e489cafe0": { + "name": "MomoiTail", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "8a95869a-468f-74a1-c681-ef95bcf9086c", + "time": 4.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 37.5, + "y": 0, + "z": 0 + } + ], + "uuid": "81ddd25e-c504-eee9-b633-498c49d0aaec", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "80458b0d-9d67-3076-9d58-11b82343cbbc", + "time": 5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "331e943c-54b9-5bd9-1968-6f7399ae9886": { + "name": "BackRibbon", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "ccb14d01-981b-cea7-9645-e7db7eb8302c", + "time": 3.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 2, + "z": 0 + } + ], + "uuid": "541d5097-4db0-0f6f-68ff-b8e15568fbaa", + "time": 4.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 5, + "z": 0 + } + ], + "uuid": "152ee1f3-9f87-6e52-eb3b-6756b3236bf3", + "time": 4.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 2, + "z": 0 + } + ], + "uuid": "27f6ba57-3c3a-9f3a-4ccb-e92cb8525085", + "time": 5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "d379edef-9be8-5afc-a865-f325ac9e4ca4": { + "name": "RibbonBottomRight", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": "0", + "z": "0" + } + ], + "uuid": "05e450c6-ca68-187e-a6ad-dbb1ec473c5b", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 0, + "z": 0 + } + ], + "uuid": "7eb18063-ac62-0204-2548-de9a76328af6", + "time": 3.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 35, + "y": 0, + "z": 0 + } + ], + "uuid": "8cd68505-fdb2-8e22-82a2-4925716d04ca", + "time": 4.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 50, + "y": 0, + "z": 0 + } + ], + "uuid": "ae8abbee-d9c8-4d33-929f-76c9797852fe", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 35, + "y": 0, + "z": 0 + } + ], + "uuid": "95be2c8b-0c63-a260-6885-ebc8370c2f0d", + "time": 5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "fe5fa891-b4b0-ee55-5226-dd982ba7ca6b": { + "name": "RibbonBottomLeft", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -12.5, + "y": "0", + "z": "0" + } + ], + "uuid": "4199dfa9-02a3-9aa0-7ea4-f6dc2ba78cd4", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -12.5, + "y": 0, + "z": 0 + } + ], + "uuid": "9cc1223f-1054-c69a-fcea-093da1269f6e", + "time": 3.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 35, + "y": 0, + "z": 0 + } + ], + "uuid": "90565269-22a3-63fb-4f13-081a311d762f", + "time": 4.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 50, + "y": 0, + "z": 0 + } + ], + "uuid": "07c6f68a-a00f-ec4e-08aa-91e6244a36d1", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 35, + "y": 0, + "z": 0 + } + ], + "uuid": "ef038c20-e495-5487-3724-691f65cb3dc4", + "time": 5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "2f61e368-1c06-648e-26d4-aee94647e4da": { + "name": "MomoiLowerBody", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "94aa4171-b453-95d0-4f09-d8b1d1978d46", + "time": 4.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 30, + "y": 0, + "z": 0 + } + ], + "uuid": "928119f5-69ce-306e-3cde-d7bcf9352ad1", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "55e21301-6d2b-984a-d8ad-a1792faa4199", + "time": 5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "5ac439da-af33-219f-4702-500fb11b1592": { + "name": "EffectPanel", + "type": "bone", + "keyframes": [ + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "f9e9d9de-eb61-a6f2-52da-c90c6f64ba5c", + "time": 0, + "color": -1, + "uniform": true, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "2", + "y": "2", + "z": "2" + } + ], + "uuid": "a645ba99-14ba-60ef-a97a-accba91cd4d5", + "time": 5.6, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "fc89dba0-6fb6-a7fe-b714-c6f2d8c1e532", + "time": 5.75, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ee258115-f645-6629-b613-2693711823ec": { + "name": "Pillager1CoinAnchor", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "90", + "y": "0", + "z": "0" + } + ], + "uuid": "b7dbbc85-81e2-3ad8-43e6-2451621f63f5", + "time": 2.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 90, + "y": 0, + "z": "360" + } + ], + "uuid": "950a7e69-bd5e-bf33-1d03-233c320b6338", + "time": 4.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": 12, + "z": "0" + } + ], + "uuid": "de5fe0be-bcd6-bd77-d80a-b4bfcc9f8064", + "time": 2.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 12, + "z": -37 + } + ], + "uuid": "658f1f0f-be39-66da-eb94-bdaa01de8451", + "time": 2.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 12, + "z": -20 + } + ], + "uuid": "686cfd45-5025-b2a2-831e-aa75a5e41ca2", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "c73d87cd-c024-9e99-7990-57d548c44a0b", + "time": 2.75, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "73437443-797d-d654-423f-a361c492b555", + "time": 2.95, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 1, + "y": 1, + "z": 1 + } + ], + "uuid": "917bec34-4b63-d2de-2d60-2488cdbb7087", + "time": 3.9, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "e8f1ffb9-d6c0-c686-99b6-03a3fc6cbca4", + "time": 4.1, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "fa08d476-e043-01d3-be75-b4046eb56f3d": { + "name": "Pillager2CoinAnchor", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "90", + "y": "0", + "z": "0" + } + ], + "uuid": "19503479-9e87-2d5f-79bf-9095bbbe4202", + "time": 4.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 90, + "y": 0, + "z": "360" + } + ], + "uuid": "b0c90637-faf6-a7cd-3b2f-88391ea103f2", + "time": 6.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": 12, + "z": "0" + } + ], + "uuid": "b36f5ea2-e02b-dada-7984-c8fcb0d38c83", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 12, + "z": -37 + } + ], + "uuid": "788a16bc-fced-6802-f628-26b7ca5c388f", + "time": 5.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 12, + "z": -20 + } + ], + "uuid": "9fda28e7-b5df-09fe-00bb-cba4d98ae754", + "time": 5.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "a6fee82f-ba44-2340-21bb-66028b8c0b3e", + "time": 4.9, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "acbecaab-6c24-521b-76d7-ccf9f8694ee8", + "time": 5.1, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 1, + "y": 1, + "z": 1 + } + ], + "uuid": "d269a456-a093-14ed-c27a-151b0199c3d7", + "time": 6.05, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "f823ee17-e6f9-3e77-afd2-371ea0c71139", + "time": 6.25, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "a7afc754-fec1-7d38-ac90-03c42b555a76": { + "name": "Pillager3CoinAnchor", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "90", + "y": "0", + "z": "0" + } + ], + "uuid": "8c4530be-b324-be08-e558-3ffb166bea6d", + "time": 5.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 90, + "y": 0, + "z": "360" + } + ], + "uuid": "cd2f882f-7a68-f24c-39f1-5c418f835762", + "time": 7.15, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": 12, + "z": "0" + } + ], + "uuid": "67c50976-89d9-a4fe-628b-124b0f4d526e", + "time": 5.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 12, + "z": -37 + } + ], + "uuid": "77e6235b-d92b-4f0f-4faa-1495d746ce18", + "time": 6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 12, + "z": -20 + } + ], + "uuid": "f3b6fe96-376d-840c-7780-21d79c9b8e00", + "time": 6.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "b6dce4de-1b8a-c5df-0d87-c8e8c67ce4bb", + "time": 5.8, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "a372c11d-9659-a528-1d2f-152bf9e4cc5e", + "time": 6, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 1, + "y": 1, + "z": 1 + } + ], + "uuid": "6f47253d-6d2e-f4ca-0590-a257fe0cf982", + "time": 6.95, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "a4424364-43d4-e01a-2204-6df28d6f97d5", + "time": 7.15, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Midori/models/ex_skill_frame.bbmodel b/config/yosbr/config/figura/avatars/Midori/models/ex_skill_frame.bbmodel new file mode 100644 index 0000000..52727e4 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/models/ex_skill_frame.bbmodel @@ -0,0 +1,1179 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "ex_skill_frame", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 32, + "height": 16 + }, + "elements": [ + { + "name": "FrameTopLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d58488eb-4b98-5e52-740e-041d7c8c7b7f" + }, + { + "name": "FrameTop", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 16, + 0, + 32, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d7b279c5-8b54-f727-c9a0-07e530c5ab5a" + }, + { + "name": "FrameTopRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "86208108-703b-1a71-9e73-d829fcf93af0" + }, + { + "name": "FrameLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 16, + 0, + 32, + 16 + ], + "rotation": 270, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b38e5f11-842c-da8d-98f0-6570158f844f" + }, + { + "name": "FrameRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 16, + 0, + 32, + 16 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "72a70b22-fd81-174e-fbf8-59f6de9f116f" + }, + { + "name": "FrameBottomLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "rotation": 270, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8bd9fdba-ab88-a00c-3fbe-b5f33f230b66" + }, + { + "name": "FrameBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 16, + 0, + 32, + 16 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "77cf6831-3106-4f1e-8a19-d7d2cd39e07a" + }, + { + "name": "FrameBottomRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "99390453-8b25-0545-3dbf-db759d9122ff" + }, + { + "name": "FrameBarLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + -16, + -1000 + ], + "to": [ + 16, + 0, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + -6, + 4, + -99 + ], + "faces": { + "north": { + "uv": [ + 16, + 0, + 32, + 16 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "89423f5b-a0dd-39ba-2e32-74ba776e7d5f" + }, + { + "name": "FrameRBaright", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + -16, + -1000 + ], + "to": [ + 8, + 0, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + -6, + 4, + -99 + ], + "faces": { + "north": { + "uv": [ + 16, + 0, + 32, + 16 + ], + "rotation": 270, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "47e36d29-e769-b566-72a7-349097398d38" + }, + { + "name": "Particle1", + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "rotation": [ + 90, + 0, + 180 + ], + "export": true, + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "fvyx": [ + 4.6282, + 0, + 0 + ], + "URoh": [ + -2.3, + 0, + 4 + ], + "95Z0": [ + -2.3, + 0, + -4 + ] + }, + "faces": { + "4qMG6SMe": { + "uv": { + "fvyx": [ + 1, + 1 + ], + "95Z0": [ + 0, + 0 + ], + "URoh": [ + 0, + 1 + ] + }, + "vertices": [ + "fvyx", + "95Z0", + "URoh" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "b8f8c1d0-10bd-729b-caf4-15c768cff368" + }, + { + "name": "Particle2", + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "rotation": [ + 90, + 0, + -180 + ], + "export": true, + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "fvyx": [ + 4.6282, + 0, + 0 + ], + "URoh": [ + -2.3, + 0, + 4 + ], + "95Z0": [ + -2.3, + 0, + -4 + ], + "A1gx": [ + 3.104, + 0, + 0 + ], + "Rbsm": [ + -1.5379, + 0, + -2.68 + ], + "GZIF": [ + -1.5379, + 0, + 2.68 + ] + }, + "faces": { + "jydbDtJR": { + "uv": { + "Rbsm": [ + 0, + 1.32 + ], + "A1gx": [ + 0, + 6.68 + ], + "fvyx": [ + 0.7621, + 8 + ], + "95Z0": [ + 0.7621, + 0 + ] + }, + "vertices": [ + "Rbsm", + "A1gx", + "fvyx", + "95Z0" + ], + "texture": 0 + }, + "FShNpiER": { + "uv": { + "GZIF": [ + 0.7621, + 6.68 + ], + "Rbsm": [ + 0.7621, + 1.32 + ], + "95Z0": [ + 0, + 0 + ], + "URoh": [ + 0, + 8 + ] + }, + "vertices": [ + "GZIF", + "Rbsm", + "95Z0", + "URoh" + ], + "texture": 0 + }, + "Y8V06sJ8": { + "uv": { + "A1gx": [ + 6.68, + 0 + ], + "GZIF": [ + 1.32, + 0 + ], + "URoh": [ + 0, + 0.7621 + ], + "fvyx": [ + 8, + 0.7621 + ] + }, + "vertices": [ + "A1gx", + "GZIF", + "URoh", + "fvyx" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "26a9457e-5983-383c-377e-80178696ca03" + } + ], + "outliner": [ + { + "name": "Gui", + "origin": [ + 0, + 0, + -1000 + ], + "color": 0, + "uuid": "80d8e2e3-01bb-8e7a-de84-164a65212d5c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Frame", + "origin": [ + 0, + 0, + -100 + ], + "color": 0, + "uuid": "1a9432d3-a6a3-0042-6828-0adc1991dedf", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d58488eb-4b98-5e52-740e-041d7c8c7b7f", + "d7b279c5-8b54-f727-c9a0-07e530c5ab5a", + "86208108-703b-1a71-9e73-d829fcf93af0", + "b38e5f11-842c-da8d-98f0-6570158f844f", + "72a70b22-fd81-174e-fbf8-59f6de9f116f", + "8bd9fdba-ab88-a00c-3fbe-b5f33f230b66", + "77cf6831-3106-4f1e-8a19-d7d2cd39e07a", + "99390453-8b25-0545-3dbf-db759d9122ff" + ] + }, + { + "name": "FrameBar", + "origin": [ + 0, + 0, + -100 + ], + "rotation": [ + 0, + 0, + 45 + ], + "color": 0, + "uuid": "9a3f01ed-f49d-aaf3-78dd-22c36d7f20a7", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "89423f5b-a0dd-39ba-2e32-74ba776e7d5f", + "47e36d29-e769-b566-72a7-349097398d38" + ] + } + ] + }, + { + "name": "Particles", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "3f41b05a-dfcf-a9ea-5775-1b908472a151", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b8f8c1d0-10bd-729b-caf4-15c768cff368", + "26a9457e-5983-383c-377e-80178696ca03" + ] + } + ], + "textures": [ + { + "path": "", + "name": "ex_skill_frame.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 32, + "height": 16, + "uv_width": 32, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "d4a6d900-994d-d2db-a2a9-40eeb7363089", + "relative_path": "../../textures/ex_skill_frame.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAQCAYAAAB3AH1ZAAAAAXNSR0IArs4c6QAAAbdJREFUSEutVYtuwjAMtFOJ///KbbwLY4wJJZ6uxOzitmwSi1SlaVznend2te/7s4io/Ayjtd9jxvA4X/uzuO/ZOC7G3hJWAG8EgG/nEiMGe6nOnrzMgAdwXJxvuAeATxF5FZGNiOTAhB8QmfCwmHjqO/jg0T4zAADrO3dmN4SqamaGmfd4PdBRYzD7ezOsMnhjBrYislJVgHDUrHn0Ceef8hB7iT3BuQcAMCEk2FUAYGIf5OADXH82VTTnHKCRkRsPmNkqpbQtpfSYZ5jgJL+wPDJd/JDGhC7BhgD0fEIpRVNKTWn5s6k9vMvPYyzWUwwAwKEy0JdSTkEONpHL8dDp9BGjPtJUgUtQPQAf7AFAVY9/6BOxgTVunzO2A1jWElyrqksAUwLAu6ri+gCjXnJNCVCJ8r6XqpfmVFnHRjQAqAzsIIWIHCuAU84ZIP51jBoR+kD1gDMACQ6qes45n1JKADHVVpv6foCy8Ysz8CIi21iGlQHQ3wDIOX8tFotBjmdH0wnNbFndPxiQPAAZ7gwAQNd1+Ic8PRoGYMQJCcBAA6DrukvO+XK9Xi/+r7hbvhqSjRf3GPU3orWFV48IG9oAAAAASUVORK5CYII=" + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Midori/models/gun.bbmodel b/config/yosbr/config/figura/avatars/Midori/models/gun.bbmodel new file mode 100644 index 0000000..bdc6c78 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/models/gun.bbmodel @@ -0,0 +1,6607 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "gun", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 98, + "height": 37 + }, + "elements": [ + { + "name": "GunBody1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2625, + 0, + -4.282 + ], + "to": [ + 0.2625, + 1.2795, + 4.593 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -3.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 5, + 1, + 44.4, + 7 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 44.4, + 1, + 5, + 7 + ], + "texture": 0 + }, + "up": { + "uv": [ + 44.4, + 1, + 5, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 44.4, + 1, + 5, + 2 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "b89be4f2-db00-1503-8b92-33808e81bea4" + }, + { + "name": "GunBodyEnd", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.35, + 0.7825, + -4.595 + ], + "to": [ + 0.35, + 1.2795, + -4.075 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -3.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "b16d613a-5db9-1f54-1910-e2feb559a327" + }, + { + "name": "GunBody4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2625, + 1.2795, + -0.057 + ], + "to": [ + 0.2625, + 1.4045, + 4.593 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -3.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "bd456ef2-48c8-6821-9ae0-e4cab0677b73" + }, + { + "name": "FrontSight1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.25, + 1.275, + -4.5 + ], + "to": [ + 0.25, + 1.375, + -4.15 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 1.4, + -4.075 + ], + "faces": { + "north": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "baca8112-f890-fac4-115c-cf2e5fadf59f" + }, + { + "name": "FrontSight2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.15, + 1.375, + -4.5 + ], + "to": [ + 0.25, + 1.675, + -4.15 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 1.4, + -4.075 + ], + "faces": { + "north": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "ff65923a-c616-3df6-d15c-cb33a7935121" + }, + { + "name": "FrontSight3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.25, + 1.675, + -4.5 + ], + "to": [ + 0.25, + 1.775, + -4.15 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 1.4, + -4.075 + ], + "faces": { + "north": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "d3a47367-5e1a-5e76-d92d-ebf5c92b3a81" + }, + { + "name": "FrontSight4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.25, + 1.375, + -4.5 + ], + "to": [ + -0.15, + 1.675, + -4.15 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 1.4, + -4.075 + ], + "faces": { + "north": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "db58abec-0d26-0fdb-7fe6-8f68e02dc624" + }, + { + "name": "GunBody2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3875, + -0.425, + -4.282 + ], + "to": [ + 0.3875, + 0.825, + -0.171 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -3.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 0, + 42, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 42, + 0, + 12, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 42, + 0, + 12, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 42, + 0, + 12, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "4db5d913-9b32-856c-0d28-ff049de98293" + }, + { + "name": "BackSight1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2625, + 1.2045, + 3.538 + ], + "to": [ + 0.2625, + 1.6045, + 4.148 + ], + "autouv": 0, + "color": 0, + "inflate": 0.005, + "origin": [ + 0, + -3.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "4d6028b0-b228-5f3b-d409-d9c45ba84d9d" + }, + { + "name": "Magazine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2625, + -2.875, + -0.185 + ], + "to": [ + 0.2625, + 0, + 1.365 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 3, + 0, + 0 + ], + "origin": [ + 0, + 0, + 1.39 + ], + "faces": { + "north": { + "uv": [ + 5, + 11, + 6, + 22.13 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 11, + 6, + 22.13 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 11, + 1, + 22.13 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 11, + 0, + 22.13 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 6, + 22, + 0, + 23 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "6a93ca48-f231-13f9-f3ad-8d7fddb2e107" + }, + { + "name": "GunBody5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2625, + -1.025, + 1.315 + ], + "to": [ + 0.2625, + 0, + 3.19 + ], + "autouv": 0, + "color": 0, + "inflate": 0.005, + "origin": [ + 0, + -3.5, + 2.85 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 6, + 7, + 16.98, + 13 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 7, + 6.98, + 8 + ], + "texture": 0 + }, + "west": { + "uv": [ + 16.98, + 7, + 6, + 13 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 6, + 7, + 6.98, + 8 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "9a16dde7-895d-f5d7-d84f-0c0dd36b62c1" + }, + { + "name": "GunBody6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2625, + -0.625, + 3.19 + ], + "to": [ + 0.2625, + 0, + 3.665 + ], + "autouv": 0, + "color": 0, + "inflate": 0.005, + "origin": [ + 0, + -3.5, + 2.85 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 14, + 9, + 17.04, + 13 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 7, + 6.98, + 8 + ], + "texture": 0 + }, + "west": { + "uv": [ + 14, + 9, + 17.04, + 13 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 6, + 7, + 6.98, + 8 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "73778aab-d8f4-cb9b-f2ce-472d1b68180e" + }, + { + "name": "GunBody7", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2625, + -0.625, + 3.665 + ], + "to": [ + 0.2625, + 0.625, + 7.74 + ], + "autouv": 0, + "color": 0, + "inflate": -0.001, + "origin": [ + 0, + -3.5, + 2.725 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 17, + 7, + 49.6, + 12 + ], + "texture": 0 + }, + "south": { + "uv": [ + 17, + 7, + 18, + 12 + ], + "texture": 0 + }, + "west": { + "uv": [ + 49.6, + 7, + 17, + 12 + ], + "texture": 0 + }, + "up": { + "uv": [ + 49.6, + 7, + 17, + 8 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 49.6, + 11, + 17, + 12 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "b2d3bf33-ff46-59f9-28bd-67a3ace5aa79" + }, + { + "name": "GunBody8", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2625, + -0.625, + 4.475 + ], + "to": [ + 0.2625, + 0.8, + 6.935 + ], + "autouv": 0, + "color": 0, + "inflate": -0.002, + "rotation": [ + 30, + 0, + 0 + ], + "origin": [ + 0, + -0.625, + 4.475 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 20.375, + 7, + 43.1, + 8 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 43.1, + 7, + 20.375, + 8 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 43.1, + 7, + 20.375, + 8 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "914bd35a-3d00-c64a-5a8a-bf72841949f2" + }, + { + "name": "Grip1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2625, + -1.57463, + 2.48853 + ], + "to": [ + 0.2625, + -0.92463, + 3.63853 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -1.025, + 2.6 + ], + "faces": { + "north": { + "uv": [ + 6, + 13, + 6.85, + 15 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 13, + 6.85, + 15 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 13, + 6.85, + 15 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 13, + 6.85, + 15 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 6, + 14, + 6.85, + 15 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "66ebda03-68e7-11f1-02c3-3556a86adb74" + }, + { + "name": "Grip2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2625, + -3.07463, + 2.48853 + ], + "to": [ + 0.2625, + -1.57463, + 3.33853 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -1.025, + 2.6 + ], + "faces": { + "north": { + "uv": [ + 6, + 15, + 6.85, + 22 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 15, + 6.85, + 22 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 15, + 6.85, + 22 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 15, + 6.85, + 22 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 6, + 21, + 6.85, + 22 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "96738e69-ad22-eb8a-0587-6f349f60c3ba" + }, + { + "name": "Trigger", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.125, + -1.425, + 2.3 + ], + "to": [ + 0.125, + -1.025, + 2.425 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + 0, + -1.025, + 2.425 + ], + "faces": { + "north": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "e7ea995a-d149-a8c8-3700-f0315bc08207" + }, + { + "name": "Accessory", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + -2.9, + 2.075 + ], + "to": [ + 0, + -2.15, + 2.4875 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + -1, + -2.9, + 2.075 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "east": { + "uv": [ + 7, + 15, + 18, + 35 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 18, + 15, + 7, + 35 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "af4603ea-5218-8f18-4232-f421c208fcfa" + }, + { + "name": "AccessoryLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + -2.185, + 2.2625 + ], + "to": [ + 0, + -1.685, + 2.3 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + -1, + -2.9, + 2.075 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "east": { + "uv": [ + 15, + 13, + 16, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 15, + 13, + 16, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "470028ca-2ed9-bf89-1330-b1584ea95a78" + }, + { + "name": "GDDLabel1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.2625, + -1.975, + 5.95 + ], + "to": [ + 0.2625, + -0.975, + 7.1875 + ], + "autouv": 0, + "color": 0, + "origin": [ + -1.7625, + -1.475, + -0.55 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 18, + 12, + 51, + 37 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "bbc0feeb-0659-78bb-e54b-ac765d25cc89" + }, + { + "name": "GunBody9", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.35, + 0.2625, + -4.932 + ], + "to": [ + 0.35, + 0.7825, + -4.282 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -3.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 45, + 0, + 50, + 4 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 50, + 0, + 45, + 4 + ], + "texture": 0 + }, + "up": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "e1b1889d-076e-be59-fbc6-da7050b04d5e" + }, + { + "name": "GunBody11", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.4, + -0.634, + -4.413 + ], + "to": [ + 0.45, + 0.125, + -3.654 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -3.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "fd41a81e-93de-a365-07fc-8f98ea96ab56" + }, + { + "name": "GunBody10", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.35, + 0.125, + -4.413 + ], + "to": [ + 0.35, + 0.2625, + -4.282 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -3.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "ec1dab71-2a2f-6eb7-d02a-c92c628534b4" + }, + { + "name": "GunBody12", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.4, + -0.529, + -3.654 + ], + "to": [ + 0.45, + 0.021, + -0.8 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -3.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "ac199ef5-b417-725e-1ed9-060c610f2b7b" + }, + { + "name": "GunBody13", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.4, + 0.021, + -1.743 + ], + "to": [ + 0.45, + 0.178, + -0.8 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -3.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "df76fa8e-4e55-3a2c-3543-1eb20e267b2c" + }, + { + "name": "BackSight2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1625, + 1.6045, + 3.588 + ], + "to": [ + 0.1625, + 1.6545, + 3.788 + ], + "autouv": 0, + "color": 0, + "inflate": 0.005, + "origin": [ + 0, + -3.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "502494e2-b30e-9f53-1e86-84e3e18a4cde" + }, + { + "name": "GunBody9", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2625, + -1.852, + 6.604 + ], + "to": [ + 0.2625, + -0.623, + 7.74 + ], + "autouv": 0, + "color": 0, + "inflate": -0.003, + "origin": [ + 0, + -3.5, + 2.725 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 50, + 7, + 54.55, + 12 + ], + "texture": 0 + }, + "south": { + "uv": [ + 17, + 7, + 18, + 12 + ], + "texture": 0 + }, + "west": { + "uv": [ + 54.55, + 7, + 50, + 12 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 54.55, + 11, + 50, + 12 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "ac336d31-d270-ace4-fa05-9ba63f1a2beb" + }, + { + "name": "GunBody10", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.325, + 0.337, + 4.755 + ], + "to": [ + 0.325, + 0.834, + 7.347 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -3.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "1cef7de6-3d4c-08a5-47f3-f9c8edfa076d" + }, + { + "name": "GDDLabel2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2625, + -1.975, + 5.95 + ], + "to": [ + 0.2625, + -0.975, + 5.95 + ], + "autouv": 0, + "color": 0, + "origin": [ + -1.7625, + -1.475, + -0.55 + ], + "faces": { + "north": { + "uv": [ + 51, + 12, + 65, + 37 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "16743008-66ca-407e-776a-dadf740ee2f4" + }, + { + "name": "GDDLabel3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2625, + -1.975, + 5.95 + ], + "to": [ + -0.2625, + -0.975, + 7.1875 + ], + "autouv": 0, + "color": 0, + "origin": [ + -1.7625, + -1.475, + -0.55 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 65, + 12, + 98, + 37 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "3ff27103-e3d6-832b-7026-6f9fc7f2aa2f" + }, + { + "name": "TriggerGuard1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.125, + -1.784, + 1.443 + ], + "to": [ + 0.125, + -1.025, + 1.568 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -25, + 0, + 0 + ], + "origin": [ + 0, + -1.025, + 1.443 + ], + "faces": { + "north": { + "uv": [ + 7, + 13, + 8, + 14 + ], + "texture": 0 + }, + "east": { + "uv": [ + 7, + 13, + 8, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 7, + 13, + 8, + 14 + ], + "texture": 0 + }, + "west": { + "uv": [ + 7, + 13, + 8, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "34614993-87f6-145e-d023-16d7cab850bb" + }, + { + "name": "TriggerGuard2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.125, + -1.713, + 1.764 + ], + "to": [ + 0.125, + -1.588, + 2.392 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -1.025, + 1.443 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 7, + 13, + 8, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 7, + 13, + 8, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 7, + 13, + 8, + 14 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 7, + 13, + 8, + 14 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "ca227403-e1ff-7e22-6977-fc4662ab9cfa" + }, + { + "name": "TriggerGuard3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.125, + -1.713, + 2.392 + ], + "to": [ + 0.125, + -1.588, + 2.918 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -50, + 0, + 0 + ], + "origin": [ + 0, + -1.713, + 2.392 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 7, + 13, + 8, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 7, + 13, + 8, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 7, + 13, + 8, + 14 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 7, + 13, + 8, + 14 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "c2a8410d-62eb-345b-a864-c90f33b4f758" + }, + { + "name": "ScopeBase1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3, + 0.853, + 3.15 + ], + "to": [ + 0.3, + 1.438, + 3.4 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -3.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "639f968e-d3b2-4ced-74fb-a52bd1776994" + }, + { + "name": "ScopeBase3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3, + 0.853, + 2.55 + ], + "to": [ + 0.3, + 1.438, + 2.8 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -3.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "08d625e4-e8d4-c374-0259-8cada62d9350" + }, + { + "name": "ScopeBase5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3, + 0.853, + 1.975 + ], + "to": [ + 0.3, + 1.438, + 2.225 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -3.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "8396e0f0-2434-2016-fef9-350d93f68c4c" + }, + { + "name": "Scope1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2625, + 2.023, + 0.475 + ], + "to": [ + 0.2625, + 2.548, + 4.025 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -3.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "east": { + "uv": [ + 50, + 0, + 51, + 4 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "west": { + "uv": [ + 50, + 0, + 51, + 4 + ], + "texture": 0 + }, + "up": { + "uv": [ + 50, + 0, + 51, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 50, + 3, + 51, + 4 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "f028aea8-78e4-fc39-869e-69aea5434199" + }, + { + "name": "ScopeBase2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.0625, + 1.438, + 3.15 + ], + "to": [ + 0.0625, + 2.023, + 3.4 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -3.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "294653dc-6eb1-06dc-3d0e-e84c352f2f86" + }, + { + "name": "ScopeBase4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.0625, + 1.428, + 2.55 + ], + "to": [ + 0.0625, + 1.688, + 2.8 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -3.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "ae95c9ce-c73d-ce3f-a8a3-c2b031a34d7f" + }, + { + "name": "ScopeBase6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.0625, + 1.438, + 1.975 + ], + "to": [ + 0.0625, + 1.698, + 2.225 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -3.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "45f9b67f-2eb0-e025-b974-70819a554a41" + }, + { + "name": "Scope2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3125, + 1.973, + 4.025 + ], + "to": [ + 0.3125, + 2.598, + 5.025 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -3.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 50, + 0, + 51, + 4 + ], + "texture": 0 + }, + "east": { + "uv": [ + 50, + 0, + 51, + 4 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 50, + 0, + 51, + 4 + ], + "texture": 0 + }, + "up": { + "uv": [ + 50, + 0, + 51, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 50, + 3, + 51, + 4 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "f62755e2-5817-cfb2-b0aa-afe7c22984ff" + }, + { + "name": "Scope3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3375, + 1.948, + 5.025 + ], + "to": [ + 0.3375, + 2.623, + 5.375 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -3.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 50, + 0, + 51, + 4 + ], + "texture": 0 + }, + "east": { + "uv": [ + 50, + 0, + 53, + 4 + ], + "texture": 0 + }, + "south": { + "uv": [ + 53, + 0, + 61, + 8 + ], + "texture": 0 + }, + "west": { + "uv": [ + 50, + 0, + 53, + 4 + ], + "texture": 0 + }, + "up": { + "uv": [ + 50, + 0, + 53, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 50, + 3, + 53, + 4 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "78380681-098f-c500-d74c-999b78905436" + }, + { + "name": "ScopeRing1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3, + 1.9855, + 3.15 + ], + "to": [ + 0.3, + 2.5855, + 3.4 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -3.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "56b62090-1975-086c-0f7c-a7a777b771a3" + }, + { + "name": "ScopeRing2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3, + 1.9855, + 2.2 + ], + "to": [ + 0.3, + 2.5855, + 2.8 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -3.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "a52b1d93-17fd-3c22-4c7e-6ebba3226225" + }, + { + "name": "ScopeBase7", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.0625, + 1.6855, + 1.975 + ], + "to": [ + 0.0625, + 1.9355, + 3.15 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -3.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "bd4be593-f583-5c42-e50a-0b736f02f886" + }, + { + "name": "ScopeBase8", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.0625, + 1.7855, + 1.595 + ], + "to": [ + 0.0625, + 1.9355, + 1.975 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 32, + 0, + 0 + ], + "origin": [ + 0, + 1.7855, + 1.975 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "72ec7e76-9088-8ad4-2ac1-a0b1c9334f18" + }, + { + "name": "ScopeRing3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3, + 1.9855, + 1.65 + ], + "to": [ + 0.3, + 2.5855, + 1.9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -3.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 13, + 9, + 14 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "46091446-36a7-e1a7-1608-86100618043a" + }, + { + "name": "Scope5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 1.7855, + -2.325 + ], + "to": [ + 0.5, + 2.7855, + 0.225 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -3.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 53, + 0, + 61, + 8 + ], + "texture": 0 + }, + "east": { + "uv": [ + 45, + 4, + 50, + 8 + ], + "texture": 0 + }, + "south": { + "uv": [ + 50, + 0, + 51, + 4 + ], + "texture": 0 + }, + "west": { + "uv": [ + 50, + 4, + 45, + 8 + ], + "texture": 0 + }, + "up": { + "uv": [ + 50, + 4, + 45, + 5 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 50, + 7, + 45, + 8 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "88f070cd-64e6-2c05-d7c6-a79593ec1c5f" + }, + { + "name": "Scope4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.375, + 1.9105, + 0.225 + ], + "to": [ + 0.375, + 2.6605, + 0.475 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -3.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "east": { + "uv": [ + 50, + 0, + 51, + 4 + ], + "texture": 0 + }, + "south": { + "uv": [ + 50, + 0, + 51, + 4 + ], + "texture": 0 + }, + "west": { + "uv": [ + 50, + 0, + 51, + 4 + ], + "texture": 0 + }, + "up": { + "uv": [ + 50, + 0, + 51, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 50, + 3, + 51, + 4 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "b9609d0a-e6da-0427-f7e4-8368f2231b57" + }, + { + "name": "FrontSight5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.05, + 1.775, + -4.5 + ], + "to": [ + 0.05, + 1.825, + -4.15 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 1.4, + -4.075 + ], + "faces": { + "north": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "63d9de3f-160c-c004-a4dc-ad5434eb841e" + }, + { + "name": "Barrel1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2625, + 0, + -8 + ], + "to": [ + 0.2625, + 0.525, + -4.282 + ], + "autouv": 0, + "color": 0, + "origin": [ + -1, + -5.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 1, + 5, + 6 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 0, + 0, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 0, + 0, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 2, + 0, + 0, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "f72700cd-69b2-684e-ad63-161195bd1ff9" + }, + { + "name": "Barrel2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.6, + -0.3375, + -7.85 + ], + "to": [ + 0.6, + 0.8625, + -7.575 + ], + "autouv": 0, + "color": 0, + "origin": [ + -1, + -5.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "2c16e3da-c1f6-2a48-dd86-a6bcccde7edf" + }, + { + "name": "Barrel3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.525, + -0.2625, + -7.575 + ], + "to": [ + 0.525, + 0.7875, + -7.35 + ], + "autouv": 0, + "color": 0, + "origin": [ + -1, + -5.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 2, + 0, + 5, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 5, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 0, + 2, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 5, + 0, + 2, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "cc5728a5-4902-fe33-c2b8-3420a3e61cad" + }, + { + "name": "Barrel4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.6625, + -0.4, + -7.35 + ], + "to": [ + 0.6625, + 0.925, + -6.975 + ], + "autouv": 0, + "color": 0, + "origin": [ + -1, + -5.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 8, + 0, + 9, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 7.5, + 0, + 9, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 7, + 0, + 8, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 9, + 0, + 7.5, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 9, + 0, + 7.5, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 9, + 0, + 7.5, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "0e7be8ab-db85-5020-4468-eba6054f4370" + }, + { + "name": "Barrel5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.525, + -0.2625, + -6.975 + ], + "to": [ + 0.525, + 0.7875, + -6.325 + ], + "autouv": 0, + "color": 0, + "origin": [ + -1, + -5.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 5, + 0, + 7.5, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 0, + 6, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 7.5, + 0, + 5, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 7.5, + 0, + 5, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 7.5, + 0, + 5, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "a7b79880-6b16-bbdd-5819-76f6d17be2ae" + }, + { + "name": "Barrel6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3625, + -0.1, + -6.325 + ], + "to": [ + 0.3625, + 0.625, + -5.55 + ], + "autouv": 0, + "color": 0, + "origin": [ + -1, + -5.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 9, + 0, + 12, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 12, + 0, + 9, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 12, + 0, + 9, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 12, + 0, + 9, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "abf966ad-256e-1fe0-df52-a4e9c077b24b" + } + ], + "outliner": [ + { + "name": "Gun", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "20fe1cca-22a6-ca36-3dc4-e85c7c10e012", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Barrel", + "origin": [ + 3, + -5.5, + 1 + ], + "color": 0, + "uuid": "b635d5fa-a419-f748-9c9e-5397f2e1f78b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f72700cd-69b2-684e-ad63-161195bd1ff9", + "2c16e3da-c1f6-2a48-dd86-a6bcccde7edf", + "cc5728a5-4902-fe33-c2b8-3420a3e61cad", + "0e7be8ab-db85-5020-4468-eba6054f4370", + "a7b79880-6b16-bbdd-5819-76f6d17be2ae", + "abf966ad-256e-1fe0-df52-a4e9c077b24b" + ] + }, + { + "name": "GunBody", + "origin": [ + 3, + -3.5, + 0 + ], + "color": 0, + "uuid": "cd5eb2ab-030e-e318-b31e-34f2acc5d28b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b89be4f2-db00-1503-8b92-33808e81bea4", + "4db5d913-9b32-856c-0d28-ff049de98293", + "bd456ef2-48c8-6821-9ae0-e4cab0677b73", + "e1b1889d-076e-be59-fbc6-da7050b04d5e", + "ec1dab71-2a2f-6eb7-d02a-c92c628534b4", + "fd41a81e-93de-a365-07fc-8f98ea96ab56", + "ac199ef5-b417-725e-1ed9-060c610f2b7b", + "df76fa8e-4e55-3a2c-3543-1eb20e267b2c", + "4d6028b0-b228-5f3b-d409-d9c45ba84d9d", + "502494e2-b30e-9f53-1e86-84e3e18a4cde", + "6a93ca48-f231-13f9-f3ad-8d7fddb2e107", + "9a16dde7-895d-f5d7-d84f-0c0dd36b62c1", + "73778aab-d8f4-cb9b-f2ce-472d1b68180e", + "b2d3bf33-ff46-59f9-28bd-67a3ace5aa79", + "914bd35a-3d00-c64a-5a8a-bf72841949f2", + "ac336d31-d270-ace4-fa05-9ba63f1a2beb", + "1cef7de6-3d4c-08a5-47f3-f9c8edfa076d", + { + "name": "GDDLabel", + "origin": [ + 0, + -1.475, + 5.95 + ], + "rotation": [ + -60, + 0, + 0 + ], + "color": 0, + "uuid": "873ef4df-e294-4765-c1ad-40b6274ddabf", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "bbc0feeb-0659-78bb-e54b-ac765d25cc89", + "16743008-66ca-407e-776a-dadf740ee2f4", + "3ff27103-e3d6-832b-7026-6f9fc7f2aa2f" + ] + }, + "b16d613a-5db9-1f54-1910-e2feb559a327" + ] + }, + { + "name": "FrontSight", + "origin": [ + -4.075, + 1.4, + 0 + ], + "color": 0, + "uuid": "e5a53110-849d-eb26-88db-d629dfc4a838", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "baca8112-f890-fac4-115c-cf2e5fadf59f", + "ff65923a-c616-3df6-d15c-cb33a7935121", + "d3a47367-5e1a-5e76-d92d-ebf5c92b3a81", + "db58abec-0d26-0fdb-7fe6-8f68e02dc624", + "63d9de3f-160c-c004-a4dc-ad5434eb841e" + ] + }, + { + "name": "Scope", + "origin": [ + 3, + -3.5, + 0 + ], + "color": 0, + "uuid": "5f7070e6-bd8d-eadc-e9c4-66b4f84ed171", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "639f968e-d3b2-4ced-74fb-a52bd1776994", + "294653dc-6eb1-06dc-3d0e-e84c352f2f86", + "56b62090-1975-086c-0f7c-a7a777b771a3", + "08d625e4-e8d4-c374-0259-8cada62d9350", + "ae95c9ce-c73d-ce3f-a8a3-c2b031a34d7f", + "a52b1d93-17fd-3c22-4c7e-6ebba3226225", + "8396e0f0-2434-2016-fef9-350d93f68c4c", + "45f9b67f-2eb0-e025-b974-70819a554a41", + "46091446-36a7-e1a7-1608-86100618043a", + "bd4be593-f583-5c42-e50a-0b736f02f886", + "72ec7e76-9088-8ad4-2ac1-a0b1c9334f18", + "f028aea8-78e4-fc39-869e-69aea5434199", + "f62755e2-5817-cfb2-b0aa-afe7c22984ff", + "78380681-098f-c500-d74c-999b78905436", + "b9609d0a-e6da-0427-f7e4-8368f2231b57", + "88f070cd-64e6-2c05-d7c6-a79593ec1c5f" + ] + }, + { + "name": "Grip", + "origin": [ + 0, + -1.025, + 2.6 + ], + "rotation": [ + -42, + 0, + 0 + ], + "color": 0, + "uuid": "8627f718-41ca-10ee-2c49-a6e9926e05b6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "66ebda03-68e7-11f1-02c3-3556a86adb74", + "96738e69-ad22-eb8a-0587-6f349f60c3ba" + ] + }, + { + "name": "Trigger", + "origin": [ + 1.675, + -1.5, + 0 + ], + "color": 0, + "uuid": "51572ff1-ba4e-4285-d5b3-f36bb7087d13", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "34614993-87f6-145e-d023-16d7cab850bb", + "ca227403-e1ff-7e22-6977-fc4662ab9cfa", + "c2a8410d-62eb-345b-a864-c90f33b4f758", + "e7ea995a-d149-a8c8-3700-f0315bc08207", + { + "name": "Accessory", + "origin": [ + 2.225, + -2.9, + 1 + ], + "color": 0, + "uuid": "9d7007ef-3549-f767-4e33-dd79d8bc52a3", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "af4603ea-5218-8f18-4232-f421c208fcfa", + "470028ca-2ed9-bf89-1330-b1584ea95a78" + ] + } + ] + }, + { + "name": "MuzzleAnchor", + "origin": [ + 0, + 0.2625, + -8 + ], + "color": 0, + "uuid": "2b5a4f01-1b51-681e-a5b7-de6f2b3d49ed", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + } + ], + "textures": [ + { + "path": "", + "name": "gun.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 98, + "height": 37, + "uv_width": 98, + "uv_height": 37, + "particle": false, + "layers_enabled": false, + "sync_to_project": "80f1453d-2d32-acd0-fff6-165d9439a3ab", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "7bd4b824-3db6-476b-99e3-dde805a618f1", + "relative_path": "../../textures/gun.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGIAAAAlCAYAAAC5+DzaAAAAAXNSR0IArs4c6QAABbFJREFUaEPtmk1oHVUUgM9oQq2vhMY2FU2gjbUvSrTgw1h9tQt14ULQ0hikpBCKCyulxYWbulAEsS4EIQhWNyXSUEttLYVCN7qQ/qCVKG0iJbE2i6Rg0z/S1J/aMnLue+fmzH33b+Zl0nn4ZpOZe8/cn/Odv7kvweAfm8K+fZ3Ar1sQAEzNiKaGlhyIZwAY2HAaGhrvkqKvLuuR919f3B8Zg/qoncuiILbr2mgQ9f3e+/eUFoFX/0dhZDIAKPw6DG2fjcLEm3m1q+J5aBcbyyk9PwJBQ//Oik117D4mZv/38iQ0Lmmdn5XEmGVk8zoYfG0Yevc9Jt/KfXUAXjgewLdrQ+hY3QFDu/ZAGIYQBLP8ULiwZRP2RRtjzJ2WqABxa/sOOX5D/05AECuHpmLPeXb5zYp30gCJINSLg8C+meM/VkDA9lyxC26cOFU7INAbklxc8Wl5lA4EfPIhvPz7I3D4obOQe6ADla1dfs2ByHJoWrCmWSqZ8gIPN7liV1iTIFTTSRqaTB50rtCSxLmM74wvvCj7KC/wcGMCgTlj0dqnshmadLvtfOIlkcDTCi3VUnGBgPamEM5PR6aRibu9CeD8dPZyhEkpBCOO0t45OhsybKUtjqmWrtimK3ULhS/kEkZ+PlJSICq6fFFe6Fy8Dmj+3qcP25ddyyDG+tZAy7EzsPjcn8ZNzhsIzQrQcHD+zXvzcPOtdzNn8S6DNi5Y9YhrK++FqWcfh1UDP9wxEK7NcEOIfAC6XsxAvzcIn7Wm7RH7Fy4Ty+j5q5Ss0UvxIuMgj9i9cVS01xKMIEkuMEFJG4TLGPj8NQ2CvqbjlpvlJFpxVOJSXL1/VgPCI64uvRuaL90WrSOvl44PBnuG4YMXr8D1GxdgYuwXbQi7r/Xh8Mrkb9RXB1GFZcnQRABoLAQRM8bWQVQDAj6tPFLG8f7Z+igsCF6RnjC98T2h6Ka97wf8ns2dOgj8KMOLn6iqbfzEle5JhtaqnshWob85ezVAEKPr34D8oc8B/9K1vPX7ChAXZv6W/Q8uukdAmS8QuiNtX6Xr3p0zDc7RQBIEjocwTKGJvGC8NQ8rJkvloQ1E+Nw3AN+tF3J94z/Bl+1dziXb3lGtG61aZ+kuOFn0BuHloxNXQ/IG7hXcI8IDJ8Kguyis//Tbg+Hqj3vFPW/HR65prlQfGC55k4JJsRyUrc1pDXdIIAKCr+FU4zaRrFHZgpgBBOuzgrDBUCGYZH3zgQ4E31sWvUKEJlwkzw/4rIKwGUoZkhNEHGPzDWdxxsyybCRH8IVSaGIegaFIigTdRflcB1E9YiOIfFuzzANimg3PiD+RJHnwZKmtFLakR+hCTZKlcq/giZmHHjXkmHKFSU5dly78kYwa8kSeLP+DQrWFg/O4mDwCQRAECcMTBCoUr4EVT+p5PH+o1F6uskhIBeGThG1Jm08epxz2yTmm8bjx6kBKyD6WKmCUPSIif/CkTOI2jyAQRhgEQoHhA8JkrWqVZbNq6vMtfePK2YqMWCCEC6owohCEiNwQ+4bAtjRBqBVQmh7hAmZaCw9h6n0sEDw8SY+IhiUrCJ3XLWlbBZcnxqwOmSRH6DZqit98cjXv2MKIyyNc4UgXxpw5QusNtAPP0KRqmyC4YPyfSlgnCK03MBCCfoyqSVW+DUYdBDPhuQbhUxyQTJLQpCtzKVxRyODPPm1xqyZdSev6mrd6hISAqzVUTTLZdBcjOq72W0L1BtdZk28idSVzNX67vg/4vK7cYDNCJwgMO67ytXz4VzFPUhi6kORKkLqPPNeHnzQi9h/jOhA2jzD12ZK9DogzR8hkrXqFpWqKE358ZZN4hI+X2BSvVmA6b7LNoavgTPuNB0IzCp3Kqsfgvgr2lYt7xMHHdUHU9bsg8vH5iYMJnmuf3iCYwuWYtt8jXBPX+6Ma8ALhqbTUf7P2XEdNitVBZATbfxRJp0kWVdPmAAAAAElFTkSuQmCC" + } + ], + "animations": [ + { + "uuid": "47cdaef7-70d6-265f-6baa-456d9732ae32", + "name": "ex_skill_1", + "loop": "hold", + "override": true, + "length": 4.05, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "20fe1cca-22a6-ca36-3dc4-e85c7c10e012": { + "name": "Gun", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 70, + "y": 0, + "z": 0 + } + ], + "uuid": "f6910b92-8809-ec6b-1e9f-571acc9d44db", + "time": 3.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "70", + "y": "0", + "z": "0" + } + ], + "uuid": "7263fe45-2ba0-601e-997e-6c0a613b59b2", + "time": 3.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 25, + "y": 0, + "z": 0 + } + ], + "uuid": "4e4955c7-ddc1-59d5-f200-9c46147d1fec", + "time": 4.05, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -2.25, + "y": 15, + "z": -2.5 + } + ], + "uuid": "011c39d6-228f-8aab-8d74-26a080e9490c", + "time": 3.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-2.25", + "y": "15", + "z": "-2.5" + } + ], + "uuid": "d0665586-b7cd-689e-ce19-69830d327597", + "time": 3.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -2.75, + "y": 16.35, + "z": -8.25 + } + ], + "uuid": "fdc1f8de-d0f0-40f2-213d-84a9e67c4b00", + "time": 4.05, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + }, + { + "uuid": "37dab8d5-9085-3768-2d6f-18b0bec8869b", + "name": "ex_skill_2", + "loop": "hold", + "override": true, + "length": 9.2, + "snapping": 20, + "selected": true, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "20fe1cca-22a6-ca36-3dc4-e85c7c10e012": { + "name": "Gun", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 80.75, + "y": -3.81, + "z": -22.19 + } + ], + "uuid": "570106bf-c413-a1f6-e56e-ce66ab22ba90", + "time": 0.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 80.03961, + "y": 0.86626, + "z": 4.92618 + } + ], + "uuid": "a07266c1-1e82-b13d-b06b-584309e3cc60", + "time": 0.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 80.04, + "y": 0.87, + "z": 4.93 + } + ], + "uuid": "ac268351-4659-4ff2-8ae2-523a67549392", + "time": 1.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 31.2565, + "y": 14.85917, + "z": -2.20584 + } + ], + "uuid": "f68d1f53-4add-d48e-24ec-e2b1359499eb", + "time": 1.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 80.75, + "y": -3.81, + "z": -22.19 + } + ], + "uuid": "9d517427-6f17-d71a-af0d-425ad5d7755a", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 69.2208, + "y": -6.97445, + "z": 37.13243 + } + ], + "uuid": "7f35f5ac-d920-772b-edb2-a00cbed11ace", + "time": 7.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 69.22, + "y": -6.97, + "z": 37.13 + } + ], + "uuid": "3dd184bd-fcb8-c1c4-2612-8f353584d5ad", + "time": 8.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 107.02041, + "y": -40.45318, + "z": 14.52156 + } + ], + "uuid": "7aad9522-1a92-ebc0-3b01-1b703d46cdb1", + "time": 8.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 118.12116, + "y": -11.84891, + "z": 4.67273 + } + ], + "uuid": "db1fa28a-0a6f-5ad6-e583-089eff997083", + "time": 9.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 31.26, + "y": 14.86, + "z": -2.21 + } + ], + "uuid": "34bec2ad-d527-d261-0552-8f50bb890813", + "time": 2.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 37.27018, + "y": -11.41936, + "z": -16.74397 + } + ], + "uuid": "c664bbe5-acd5-a172-a451-bc5325b9bcff", + "time": 2.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 37.27018, + "y": -11.41936, + "z": -16.74397 + } + ], + "uuid": "db370ad5-8e3c-cd58-9305-d6ab72e1bf24", + "time": 2.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 52.48232, + "y": -3.7089, + "z": -19.58313 + } + ], + "uuid": "bc9c7cf4-7890-6760-3a91-82699ae1b7a1", + "time": 3.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 52.48232, + "y": -3.7089, + "z": -19.58313 + } + ], + "uuid": "cac8e93a-ca13-e3f7-1b6f-7c5112bf1a87", + "time": 3.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 52.48232, + "y": -3.7089, + "z": -19.58313 + } + ], + "uuid": "49280af1-2a0b-4ed5-bf28-70478aa67db3", + "time": 5.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 55.00076, + "y": 3.92111, + "z": -9.67463 + } + ], + "uuid": "0d188dec-ea3d-17f5-fe70-0f9c64f3ac52", + "time": 5.55, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 55.00076, + "y": 3.92111, + "z": -9.67463 + } + ], + "uuid": "8f340cd5-2456-b11c-d20c-e644c2a06fa6", + "time": 6.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 89.96708, + "y": -2.22854, + "z": -2.876 + } + ], + "uuid": "caaa9511-b58e-aec1-b4ae-7aa5a8c57510", + "time": 7, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -4, + "y": 9, + "z": -4 + } + ], + "uuid": "61e7a231-07a8-9cdc-9be4-5b367d99f126", + "time": 0.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -6, + "y": 9, + "z": -4 + } + ], + "uuid": "e92a962f-26a8-cae7-3314-caf37b02786c", + "time": 0.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -6, + "y": 9, + "z": -4 + } + ], + "uuid": "79e23cfd-8475-a564-0a23-c46f68ce6e3c", + "time": 1.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -8, + "y": 12.25, + "z": -6.75 + } + ], + "uuid": "9a39bfec-332c-ba0b-27b0-2a364db0044f", + "time": 1.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -4, + "y": 9, + "z": -4 + } + ], + "uuid": "5fa0e830-e7e5-98ee-00df-a0a671965966", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 4, + "y": 8.75, + "z": -5.25 + } + ], + "uuid": "0452e4b6-7370-771e-4001-1fc3f7fd5f1a", + "time": 7.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 4, + "y": 8.75, + "z": -5.25 + } + ], + "uuid": "a677a7ae-e3b6-1714-d2e5-932cc965a38c", + "time": 8.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 5, + "y": 7.75, + "z": -1.25 + } + ], + "uuid": "445572d6-90a2-a3e7-b5c0-d892a9ca1e8e", + "time": 8.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 5, + "y": 7.75, + "z": -1.25 + } + ], + "uuid": "ce322ab5-5028-3775-2c66-f5ff7d52baa5", + "time": 9.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -8, + "y": 12.25, + "z": -6.75 + } + ], + "uuid": "e79e49c7-f398-7e63-6772-c38ea6553d4f", + "time": 2.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -5.06, + "y": 12.12, + "z": -6.7 + } + ], + "uuid": "2f7957db-2580-071d-5ee2-da370859afa4", + "time": 2.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -5.06, + "y": 12.12, + "z": -6.7 + } + ], + "uuid": "469b095e-e5fb-7c84-6927-a29817f2bb60", + "time": 2.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -5.06, + "y": 10.12, + "z": -5.7 + } + ], + "uuid": "e49f6829-519c-edcf-4c88-af310b3893e9", + "time": 3.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -5.06, + "y": 10.12, + "z": -5.7 + } + ], + "uuid": "fae87b24-966e-b55c-0854-11e28b5a76d2", + "time": 3.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -5.06, + "y": 10.12, + "z": -5.7 + } + ], + "uuid": "f70ace16-4359-e6c3-08e7-8c4b7522081e", + "time": 5.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -6.06, + "y": 10.12, + "z": -5.7 + } + ], + "uuid": "40268873-0cd2-388f-e16d-24fe4b658838", + "time": 5.55, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -6.06, + "y": 10.12, + "z": -5.7 + } + ], + "uuid": "897222f5-9865-3645-eace-126adfd1a08c", + "time": 6.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -5.06, + "y": 8.12, + "z": -3.7 + } + ], + "uuid": "4034d950-ca5a-cc17-f4eb-69882b32ddc3", + "time": 7, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Midori/models/main.bbmodel b/config/yosbr/config/figura/avatars/Midori/models/main.bbmodel new file mode 100644 index 0000000..93e9979 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/models/main.bbmodel @@ -0,0 +1,18735 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "main", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 80, + "height": 198 + }, + "elements": [ + { + "name": "Head", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 24, + -4 + ], + "to": [ + 4, + 32, + 4 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 8, + 16, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 8, + 8, + 16 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 8, + 32, + 16 + ], + "texture": 0 + }, + "west": { + "uv": [ + 16, + 8, + 24, + 16 + ], + "texture": 0 + }, + "up": { + "uv": [ + 16, + 8, + 8, + 0 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 0, + 16, + 8 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a66c63cf-0082-7797-3f4e-08ff434a1cac" + }, + { + "name": "HatLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 24, + -4 + ], + "to": [ + 4, + 32, + 4 + ], + "autouv": 0, + "color": 0, + "inflate": 0.5, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 32, + 0 + ], + "faces": { + "north": { + "uv": [ + 40, + 8, + 48, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 32, + 8, + 40, + 16 + ], + "texture": 0 + }, + "south": { + "uv": [ + 56, + 8, + 64, + 16 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 8, + 56, + 16 + ], + "texture": 0 + }, + "up": { + "uv": [ + 40, + 8, + 48, + 0 + ], + "texture": 0 + }, + "down": { + "uv": [ + 56, + 0, + 48, + 8 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d48552a8-9f0d-7335-2a82-794f3264fc9d" + }, + { + "name": "Body", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 12, + -2 + ], + "to": [ + 4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 16 + ], + "faces": { + "north": { + "uv": [ + 20, + 106, + 28, + 118 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 106, + 20, + 118 + ], + "texture": 0 + }, + "south": { + "uv": [ + 32, + 106, + 40, + 118 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 106, + 32, + 118 + ], + "texture": 0 + }, + "up": { + "uv": [ + 28, + 106, + 20, + 102 + ], + "texture": 0 + }, + "down": { + "uv": [ + 36, + 102, + 28, + 106 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "742e9ab7-8cdd-8d93-9a9a-88011f54d15b" + }, + { + "name": "BodyLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 12, + -2 + ], + "to": [ + 4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 32 + ], + "faces": { + "north": { + "uv": [ + 20, + 122, + 28, + 134 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 122, + 20, + 134 + ], + "texture": 0 + }, + "south": { + "uv": [ + 32, + 122, + 40, + 134 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 122, + 32, + 134 + ], + "texture": 0 + }, + "up": { + "uv": [ + 28, + 122, + 20, + 118 + ], + "texture": 0 + }, + "down": { + "uv": [ + 36, + 118, + 28, + 122 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2574fa9e-0d5f-502c-ce28-ef5cf30f41ec" + }, + { + "name": "RightArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 18, + -2 + ], + "to": [ + 7, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 44, + 106, + 47, + 112 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 106, + 44, + 112 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 106, + 54, + 112 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 106, + 51, + 112 + ], + "texture": 0 + }, + "up": { + "uv": [ + 47, + 106, + 44, + 102 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 86, + 0, + 86 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8831734e-ce90-e6bb-8368-e011a468277d" + }, + { + "name": "RightArmLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 18, + -2 + ], + "to": [ + 7, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 32 + ], + "faces": { + "north": { + "uv": [ + 44, + 122, + 47, + 128 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 122, + 44, + 128 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 122, + 54, + 128 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 122, + 51, + 128 + ], + "texture": 0 + }, + "up": { + "uv": [ + 47, + 122, + 44, + 118 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 86, + 0, + 86 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "cea7603d-ae80-e4e7-6f93-905551a79117" + }, + { + "name": "LeftArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 18, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 32, + 48 + ], + "faces": { + "north": { + "uv": [ + 36, + 138, + 39, + 144 + ], + "texture": 0 + }, + "east": { + "uv": [ + 32, + 138, + 36, + 144 + ], + "texture": 0 + }, + "south": { + "uv": [ + 43, + 138, + 46, + 144 + ], + "texture": 0 + }, + "west": { + "uv": [ + 39, + 138, + 43, + 144 + ], + "texture": 0 + }, + "up": { + "uv": [ + 39, + 138, + 36, + 134 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 86, + 0, + 86 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "af1aa9d5-0ccf-d579-b381-54ac7b12fb55" + }, + { + "name": "LeftArmLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 18, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 48, + 48 + ], + "faces": { + "north": { + "uv": [ + 52, + 138, + 55, + 144 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 138, + 52, + 144 + ], + "texture": 0 + }, + "south": { + "uv": [ + 59, + 138, + 62, + 144 + ], + "texture": 0 + }, + "west": { + "uv": [ + 55, + 138, + 59, + 144 + ], + "texture": 0 + }, + "up": { + "uv": [ + 55, + 138, + 52, + 134 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 86, + 0, + 86 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b74fb9e9-db24-b669-6f87-8469be63eda5" + }, + { + "name": "RightLeg", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 6, + -2 + ], + "to": [ + 4, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 4, + 106, + 8, + 112 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 106, + 4, + 112 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 106, + 16, + 112 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 106, + 12, + 112 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 106, + 4, + 102 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 106, + 4, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "da81ebbe-5b4e-2d46-144a-6f839ad6fa3c" + }, + { + "name": "RightLegLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 6, + -2 + ], + "to": [ + 4, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 32 + ], + "faces": { + "north": { + "uv": [ + 4, + 122, + 8, + 128 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 122, + 4, + 128 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 122, + 16, + 128 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 122, + 12, + 128 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 122, + 4, + 118 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 86, + 0, + 86 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "bcf37da3-caec-e8f2-bc82-76a3f169374c" + }, + { + "name": "LeftLeg", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 6, + -2 + ], + "to": [ + 0, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 48 + ], + "faces": { + "north": { + "uv": [ + 20, + 138, + 24, + 144 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 138, + 20, + 144 + ], + "texture": 0 + }, + "south": { + "uv": [ + 28, + 138, + 32, + 144 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 138, + 28, + 144 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 138, + 20, + 134 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 138, + 20, + 134 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "9c06bc9a-beae-98d9-e9ce-9c8e6ddbb9d3" + }, + { + "name": "LeftLegLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 6, + -2 + ], + "to": [ + 0, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 48 + ], + "faces": { + "north": { + "uv": [ + 4, + 138, + 8, + 144 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 138, + 4, + 144 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 138, + 16, + 144 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 138, + 12, + 144 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 138, + 4, + 134 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 86, + 0, + 86 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f8f1e7ad-7999-9f17-0488-5dcbd4af7945" + }, + { + "name": "EyeLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1, + 25, + -4.01 + ], + "to": [ + 4, + 28, + -4.01 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 32, + 6, + 38 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "7853e9a2-b429-5a00-5e0e-70449c3a71ee" + }, + { + "name": "EyeRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 25, + -4.01 + ], + "to": [ + -1, + 28, + -4.01 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 12, + 32, + 6, + 38 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "328a2de5-64bc-807b-5906-227bfceedf26" + }, + { + "name": "Mouth", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 24, + -4.01 + ], + "to": [ + 1, + 25, + -4.01 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 38, + 16, + 46 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d9d80373-4145-9e90-28de-12248a8075d9" + }, + { + "name": "HeadRing", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 36, + -4 + ], + "to": [ + 4, + 36, + 4 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 35, + 0, + 0 + ], + "origin": [ + 0, + 28, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 1, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 1, + 0, + 1, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 1, + 0, + 1, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 1, + 0, + 1, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 36, + 54, + 53, + 71 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 0, + 1, + 0 + ], + "rotation": 180, + "texture": null + } + }, + "type": "cube", + "uuid": "48cfe147-8711-a325-c722-fe73d6c4d87a" + }, + { + "name": "RightArmBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 7, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 44, + 112, + 47, + 118 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 112, + 44, + 118 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 112, + 54, + 118 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 112, + 51, + 118 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 86, + 0, + 86 + ], + "texture": null + }, + "down": { + "uv": [ + 50, + 106, + 47, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "643f9c05-2d3c-e1d1-5a2f-874902eb1784" + }, + { + "name": "RightArmBottomLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 7, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 32 + ], + "faces": { + "north": { + "uv": [ + 44, + 128, + 47, + 134 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 128, + 44, + 134 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 128, + 54, + 134 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 128, + 51, + 134 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 86, + 0, + 86 + ], + "texture": null + }, + "down": { + "uv": [ + 50, + 122, + 47, + 118 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b1a76f47-912e-c2d4-8090-6f6ac9734672" + }, + { + "name": "LeftArmBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 12, + -2 + ], + "to": [ + -4, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 32, + 48 + ], + "faces": { + "north": { + "uv": [ + 36, + 144, + 39, + 150 + ], + "texture": 0 + }, + "east": { + "uv": [ + 32, + 144, + 36, + 150 + ], + "texture": 0 + }, + "south": { + "uv": [ + 43, + 144, + 46, + 150 + ], + "texture": 0 + }, + "west": { + "uv": [ + 39, + 144, + 43, + 150 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 86, + 0, + 86 + ], + "texture": null + }, + "down": { + "uv": [ + 42, + 138, + 39, + 134 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a82219a3-e344-a4d8-c85c-51462943a7dc" + }, + { + "name": "LeftArmBottomLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 12, + -2 + ], + "to": [ + -4, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 48, + 48 + ], + "faces": { + "north": { + "uv": [ + 52, + 144, + 55, + 150 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 144, + 52, + 150 + ], + "texture": 0 + }, + "south": { + "uv": [ + 59, + 144, + 62, + 150 + ], + "texture": 0 + }, + "west": { + "uv": [ + 55, + 144, + 59, + 150 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 86, + 0, + 86 + ], + "texture": null + }, + "down": { + "uv": [ + 58, + 138, + 55, + 134 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d7794b2f-dbb3-2cd5-c956-cd163b703976" + }, + { + "name": "RightLegBottomLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -2 + ], + "to": [ + 4, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 32 + ], + "faces": { + "north": { + "uv": [ + 4, + 128, + 8, + 134 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 128, + 4, + 134 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 128, + 16, + 134 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 128, + 12, + 134 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 86, + 0, + 86 + ], + "texture": null + }, + "down": { + "uv": [ + 12, + 122, + 8, + 118 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "72c6eff7-d0eb-2ffa-193f-2ca402bdc722" + }, + { + "name": "RightLegBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -2 + ], + "to": [ + 4, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 4, + 112, + 8, + 118 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 112, + 4, + 118 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 112, + 16, + 118 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 112, + 12, + 118 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 106, + 4, + 102 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 106, + 8, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8b1cc891-ffa8-9f46-ebc0-f0b84e6ffb15" + }, + { + "name": "LeftLegBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 0, + -2 + ], + "to": [ + 0, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 48 + ], + "faces": { + "north": { + "uv": [ + 20, + 144, + 24, + 150 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 144, + 20, + 150 + ], + "texture": 0 + }, + "south": { + "uv": [ + 28, + 144, + 32, + 150 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 144, + 28, + 150 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 138, + 20, + 134 + ], + "texture": 0 + }, + "down": { + "uv": [ + 28, + 138, + 24, + 134 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a1169ee6-6a78-c7c4-9214-670991206468" + }, + { + "name": "LeftLegBottomLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 0, + -2 + ], + "to": [ + 0, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 48 + ], + "faces": { + "north": { + "uv": [ + 4, + 144, + 8, + 150 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 144, + 4, + 150 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 144, + 16, + 150 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 144, + 12, + 150 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 86, + 0, + 86 + ], + "texture": null + }, + "down": { + "uv": [ + 12, + 138, + 8, + 134 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a5173990-504e-f5c4-45c7-9347880c1306" + }, + { + "name": "Camera2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -1, + 1 + ], + "to": [ + 1, + 1, + 4 + ], + "autouv": 1, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "south": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "west": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "up": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "down": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "c2175bbe-2cfe-5bd6-da67-98c3b6cd21ee" + }, + { + "name": "Camera3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 1, + 1.25 + ], + "to": [ + 0.5, + 2, + 2.25 + ], + "autouv": 1, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "south": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "west": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "up": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "down": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "7e6a5cd5-aefb-6095-d77f-adf6c4130742" + }, + { + "name": "Camera4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 1, + 2.75 + ], + "to": [ + 0.5, + 2, + 3.75 + ], + "autouv": 1, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "south": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "west": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "up": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "down": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "31aaec73-9e98-c58c-c0ed-6d915f491f85" + }, + { + "name": "Camera1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + -1.5, + 0 + ], + "to": [ + 1.5, + 1.5, + 1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "south": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "west": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "up": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "down": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8b47234a-9700-3da5-47db-8f75a6aab837" + }, + { + "name": "RingPart1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.06, + 36.01, + -4.825 + ], + "to": [ + 1.06, + 36.01, + -1.295 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + -3, + 22, + -4 + ], + "faces": { + "north": { + "uv": [ + 1, + 17, + 2, + 18 + ] + }, + "east": { + "uv": [ + 1, + 17, + 2, + 18 + ] + }, + "south": { + "uv": [ + 1, + 17, + 2, + 18 + ] + }, + "west": { + "uv": [ + 1, + 17, + 2, + 18 + ] + }, + "up": { + "uv": [ + 53, + 54, + 56, + 59 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 0, + 1, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "faf8ab6b-f4f0-ca97-dccf-5419513d1359" + }, + { + "name": "RingPart2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1.295, + 36.01, + -1.06 + ], + "to": [ + 4.825, + 36.01, + 1.06 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 4, + 22, + -3 + ], + "faces": { + "north": { + "uv": [ + 1, + 17, + 2, + 18 + ] + }, + "east": { + "uv": [ + 1, + 17, + 2, + 18 + ] + }, + "south": { + "uv": [ + 1, + 17, + 2, + 18 + ] + }, + "west": { + "uv": [ + 1, + 17, + 2, + 18 + ] + }, + "up": { + "uv": [ + 53, + 59, + 56, + 64 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 1, + 0, + 1, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "61c19b56-1984-cdcb-7a31-987945b0ae33" + }, + { + "name": "RingPart4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.825, + 36.01, + -1.06 + ], + "to": [ + -1.295, + 36.01, + 1.06 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + -4, + 22, + -3 + ], + "faces": { + "north": { + "uv": [ + 2, + 17, + 1, + 18 + ] + }, + "east": { + "uv": [ + 2, + 17, + 1, + 18 + ] + }, + "south": { + "uv": [ + 2, + 17, + 1, + 18 + ] + }, + "west": { + "uv": [ + 2, + 17, + 1, + 18 + ] + }, + "up": { + "uv": [ + 53, + 64, + 56, + 59 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 1, + 0, + 1, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "4a2f805b-02d9-da24-e361-0c0309289a1d" + }, + { + "name": "RingPart3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.06, + 36.01, + 1.295 + ], + "to": [ + 1.06, + 36.01, + 4.825 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 3, + 22, + 4 + ], + "faces": { + "north": { + "uv": [ + 1, + 17, + 2, + 18 + ] + }, + "east": { + "uv": [ + 1, + 17, + 2, + 18 + ] + }, + "south": { + "uv": [ + 1, + 17, + 2, + 18 + ] + }, + "west": { + "uv": [ + 1, + 17, + 2, + 18 + ] + }, + "up": { + "uv": [ + 53, + 64, + 56, + 69 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 1, + 0, + 1, + 0 + ], + "rotation": 180, + "texture": null + } + }, + "type": "cube", + "uuid": "f0e4c2d9-cc4e-0c13-3e3a-2b95d8c0d034" + }, + { + "name": "HeadPhoneRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5, + 26, + -2 + ], + "to": [ + -4, + 29, + 1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 54, + 1, + 55 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 21, + 0, + 21 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 54, + 1, + 55 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 54, + 7, + 61 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 54, + 1, + 55 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 54, + 1, + 55 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "01f6d688-d2cd-c36a-df2e-a80523a72020" + }, + { + "name": "HeadPhoneLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 26, + -2 + ], + "to": [ + 5, + 29, + 1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 54, + 1, + 55 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 54, + 7, + 61 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 54, + 1, + 55 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 21, + 0, + 21 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 54, + 1, + 55 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 54, + 1, + 55 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "4f5e53a6-b464-0187-a63a-a317f45c2beb" + }, + { + "name": "HeadPhoneShaftRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 29, + -1.5 + ], + "to": [ + 4.5, + 32, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 54, + 1, + 55 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 54, + 1, + 55 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 54, + 1, + 55 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 21, + 0, + 21 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 54, + 1, + 55 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 21, + 0, + 21 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ac86679a-d55c-be34-cf2b-68f42e402541" + }, + { + "name": "HeadPhoneShaftLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.5, + 29, + -1.5 + ], + "to": [ + -4, + 32, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 54, + 1, + 55 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 21, + 0, + 21 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 54, + 1, + 55 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 54, + 1, + 55 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 54, + 1, + 55 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 21, + 0, + 21 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "0aae78b3-7629-724d-62de-d336c7bb05d6" + }, + { + "name": "HeadPhoneShaftCenter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.75, + 32, + -0.5 + ], + "to": [ + 3.75, + 32.5, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 54, + 1, + 55 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 54, + 1, + 55 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 54, + 1, + 55 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 54, + 1, + 55 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 54, + 1, + 55 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 21, + 1, + 22 + ] + } + }, + "type": "cube", + "uuid": "943051a6-3609-4b6a-a9be-3e7a6d7e866b" + }, + { + "name": "HairRibbonRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.1875, + 24.5, + -4.5 + ], + "to": [ + 4.6875, + 26, + -4.5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 0, + 0, + -45 + ], + "origin": [ + 3.9375, + 25.25, + -4.5 + ], + "faces": { + "north": { + "uv": [ + 24, + 0, + 30, + 6 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 30, + 0, + 24, + 6 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ] + } + }, + "type": "cube", + "uuid": "cb186902-ed9f-81b4-4202-9b6bd1679875" + }, + { + "name": "HairRibbonLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.6875, + 24.5, + -4.5 + ], + "to": [ + -3.1875, + 26, + -4.5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 0, + 0, + 45 + ], + "origin": [ + -3.9375, + 25.25, + -4.5 + ], + "faces": { + "north": { + "uv": [ + 30, + 0, + 24, + 6 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 24, + 0, + 30, + 6 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 1, + 0, + 0, + 1 + ] + } + }, + "type": "cube", + "uuid": "a9969c6d-21ee-6a83-fded-e167709975e0" + }, + { + "name": "Skirt1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.5, + 11, + -3 + ], + "to": [ + 4.5, + 15, + 3 + ], + "autouv": 0, + "color": 3, + "inflate": -0.001, + "origin": [ + 0, + 23, + 0 + ], + "uv_offset": [ + 0, + 64 + ], + "faces": { + "north": { + "uv": [ + 16, + 58, + 25, + 62 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 54, + 22, + 58 + ], + "texture": 0 + }, + "south": { + "uv": [ + 16, + 62, + 25, + 66 + ], + "texture": 0 + }, + "west": { + "uv": [ + 16, + 54, + 22, + 58 + ], + "texture": 0 + }, + "up": { + "uv": [ + 7, + 54, + 16, + 60 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 21, + 0, + 21 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "38c80056-38bf-0791-5b8e-c3a3b2591654" + }, + { + "name": "Skirt2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5, + 7, + -4 + ], + "to": [ + 5, + 11, + 4 + ], + "autouv": 0, + "color": 3, + "inflate": -0.001, + "origin": [ + 0, + 23, + 0 + ], + "uv_offset": [ + 0, + 73 + ], + "faces": { + "north": { + "uv": [ + 14, + 66, + 24, + 70 + ], + "texture": 0 + }, + "east": { + "uv": [ + 25, + 62, + 33, + 66 + ], + "texture": 0 + }, + "south": { + "uv": [ + 14.25, + 70.25, + 24.25, + 74.25 + ], + "texture": 0 + }, + "west": { + "uv": [ + 25, + 62, + 33, + 66 + ], + "texture": 0 + }, + "up": { + "uv": [ + 25, + 54, + 35, + 62 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 21, + 0, + 21 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e5f18b5e-4093-76a4-d9ae-165f680424da" + }, + { + "name": "Tail1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 14, + 2 + ], + "to": [ + 0.5, + 15, + 8 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 14, + 2 + ], + "faces": { + "north": { + "uv": [ + 0, + 21, + 0, + 21 + ], + "texture": null + }, + "east": { + "uv": [ + 24, + 66, + 36, + 67 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 21, + 0, + 21 + ], + "texture": null + }, + "west": { + "uv": [ + 36, + 66, + 24, + 67 + ], + "texture": 0 + }, + "up": { + "uv": [ + 36, + 66, + 24, + 67 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 24, + 66, + 36, + 67 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "50e61828-ccdd-ee8e-c621-0a193b35fd5e" + }, + { + "name": "Tail2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 14, + 8 + ], + "to": [ + 0.5, + 15, + 14 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 14, + 8 + ], + "faces": { + "north": { + "uv": [ + 0, + 21, + 0, + 21 + ], + "texture": null + }, + "east": { + "uv": [ + 24, + 67, + 36, + 68 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 67, + 25, + 68 + ], + "texture": 0 + }, + "west": { + "uv": [ + 36, + 67, + 24, + 68 + ], + "texture": 0 + }, + "up": { + "uv": [ + 36, + 67, + 24, + 68 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 24, + 67, + 36, + 68 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "4113cbe8-5856-27e8-5d63-4f6f3f13ccbd" + }, + { + "name": "RightCoat", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 13, + -2 + ], + "to": [ + 7, + 17, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.5, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 32 + ], + "faces": { + "north": { + "uv": [ + 4, + 65, + 7, + 69 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 65, + 4, + 69 + ], + "texture": 0 + }, + "south": { + "uv": [ + 11, + 65, + 14, + 69 + ], + "texture": 0 + }, + "west": { + "uv": [ + 7, + 65, + 11, + 69 + ], + "texture": 0 + }, + "up": { + "uv": [ + 3, + 61, + 6, + 65 + ], + "texture": 0 + }, + "down": { + "uv": [ + 44, + 130, + 47, + 134 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "29a6683b-b165-5012-f56b-a8b8ebf7af9a" + }, + { + "name": "LeftCoat", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 13, + -2 + ], + "to": [ + -4, + 17, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.5, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 32 + ], + "faces": { + "north": { + "uv": [ + 4, + 73, + 7, + 77 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 73, + 4, + 77 + ], + "texture": 0 + }, + "south": { + "uv": [ + 11, + 73, + 14, + 77 + ], + "texture": 0 + }, + "west": { + "uv": [ + 7, + 73, + 11, + 77 + ], + "texture": 0 + }, + "up": { + "uv": [ + 3, + 69, + 6, + 73 + ], + "texture": 0 + }, + "down": { + "uv": [ + 52, + 146, + 55, + 150 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "068c9564-63f3-82ac-0263-7761baadd884" + }, + { + "name": "PhoneEarRightFront1_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 32, + -1.5 + ], + "to": [ + 1, + 35, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 0, + 54, + 1, + 55 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 54, + 1, + 55 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 54, + 1, + 55 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 54, + 1, + 55 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 21, + 0, + 21 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 21, + 0, + 21 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5628b192-ac9f-3e32-91d4-2d87aa746910" + }, + { + "name": "PhoneEarRightFront1_1OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.1, + 32, + -1.51 + ], + "to": [ + 0.2, + 34.98, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 55, + 2, + 56 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "south": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "west": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "up": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "down": { + "uv": [ + 0, + 21, + 1, + 22 + ] + } + }, + "type": "cube", + "uuid": "c1fcb63e-6496-d3a3-64cb-e2251ddf6b9e" + }, + { + "name": "PhoneEarRightFront1_1InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.8, + 32, + -1.51 + ], + "to": [ + 0.9, + 34.825, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 55, + 2, + 56 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "south": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "west": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "up": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "down": { + "uv": [ + 0, + 21, + 1, + 22 + ] + } + }, + "type": "cube", + "uuid": "beef8305-3bf6-58e9-b6da-1cd0fab1fe2f" + }, + { + "name": "PhoneEarRightFront1_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 35, + -1.5 + ], + "to": [ + 1, + 37.09, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 0, + 54, + 1, + 55 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 54, + 1, + 55 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 54, + 1, + 55 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 54, + 1, + 55 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 21, + 0, + 21 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 21, + 0, + 21 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "403fa6ce-f0d8-c5be-a8b6-d47294eb4984" + }, + { + "name": "PhoneEarRightFront1_2OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.1, + 35.025, + -1.51 + ], + "to": [ + 0.2, + 37.06, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 55, + 2, + 56 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "south": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "west": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "up": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "down": { + "uv": [ + 0, + 21, + 1, + 22 + ] + } + }, + "type": "cube", + "uuid": "76f78202-a819-a689-73e2-64029f8d0f9d" + }, + { + "name": "PhoneEarRightFront1_2InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.8, + 35.178, + -1.51 + ], + "to": [ + 0.9, + 36.876, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 55, + 2, + 56 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "south": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "west": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "up": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "down": { + "uv": [ + 0, + 21, + 1, + 22 + ] + } + }, + "type": "cube", + "uuid": "b779ad53-9102-aacf-4abf-51210f0edbde" + }, + { + "name": "PhoneEarRightFront2_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.5, + 28.9, + -1.5 + ], + "to": [ + 4.5, + 30.08, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 3.5, + 29.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 0, + 54, + 1, + 55 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 54, + 1, + 55 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 54, + 1, + 55 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 54, + 1, + 55 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 21, + 0, + 21 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 21, + 0, + 21 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "4bd4c91f-764a-3ef9-009c-766a50959788" + }, + { + "name": "PhoneEarRightFront2_1OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4.3, + 28.9, + -1.51 + ], + "to": [ + 4.4, + 30.023, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.5, + 31, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 55, + 2, + 56 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "south": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "west": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "up": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "down": { + "uv": [ + 0, + 21, + 1, + 22 + ] + } + }, + "type": "cube", + "uuid": "1a50d8d3-d2c0-1c03-5226-56fabd5b1aa7" + }, + { + "name": "PhoneEarRightFront2_1InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.6, + 28.9, + -1.51 + ], + "to": [ + 3.7, + 29.618, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.5, + 31, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 55, + 2, + 56 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "south": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "west": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "up": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "down": { + "uv": [ + 0, + 21, + 1, + 22 + ] + } + }, + "type": "cube", + "uuid": "d3a63ec7-8768-7c37-4624-c7e3d4192e12" + }, + { + "name": "PhoneEarRightFront2_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.5, + 30.08, + -1.5 + ], + "to": [ + 4.5, + 34.08, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 3.5, + 28.6, + -1 + ], + "faces": { + "north": { + "uv": [ + 0, + 54, + 1, + 55 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 54, + 1, + 55 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 54, + 1, + 55 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 54, + 1, + 55 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 21, + 0, + 21 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 21, + 0, + 21 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "092a0e63-d5dd-7734-63ea-fa9d2553d0f5" + }, + { + "name": "PhoneEarRightFront2_2OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4.3, + 30.138, + -1.51 + ], + "to": [ + 4.4, + 34.063, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.5, + 30.1, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 55, + 2, + 56 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "south": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "west": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "up": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "down": { + "uv": [ + 0, + 21, + 1, + 22 + ] + } + }, + "type": "cube", + "uuid": "c5113057-7bfd-25ad-e529-b49c112c3377" + }, + { + "name": "PhoneEarRightFront2_2InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.6, + 30.541, + -1.51 + ], + "to": [ + 3.7, + 33.939, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.5, + 30.1, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 55, + 2, + 56 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "south": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "west": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "up": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "down": { + "uv": [ + 0, + 21, + 1, + 22 + ] + } + }, + "type": "cube", + "uuid": "2840ca2d-db60-7b72-40c4-526f07cf8a96" + }, + { + "name": "PhoneEarRightFront2_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.5, + 34.08, + -1.5 + ], + "to": [ + 4.5, + 35.9, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 3.5, + 34.6, + -1 + ], + "faces": { + "north": { + "uv": [ + 0, + 54, + 1, + 55 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 54, + 1, + 55 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 54, + 1, + 55 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 54, + 1, + 55 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 21, + 0, + 21 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 21, + 0, + 21 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e774d120-5304-8e16-59f6-3320dd90cc26" + }, + { + "name": "PhoneEarRightFront2_3OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4.3, + 34.099, + -1.51 + ], + "to": [ + 4.4, + 35.832, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.5, + 34.1, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 55, + 2, + 56 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "south": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "west": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "up": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "down": { + "uv": [ + 0, + 21, + 1, + 22 + ] + } + }, + "type": "cube", + "uuid": "0dca0cdb-bd65-b554-9877-c42622b728bd" + }, + { + "name": "PhoneEarRightFront2_3InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.6, + 34.22, + -1.51 + ], + "to": [ + 3.7, + 35.342, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.5, + 34.1, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 55, + 2, + 56 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "south": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "west": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "up": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "down": { + "uv": [ + 0, + 21, + 1, + 22 + ] + } + }, + "type": "cube", + "uuid": "c95bca51-10cf-7f94-f3f4-4e2202585871" + }, + { + "name": "PhoneEarRightBack1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1, + 31.855, + -0.5 + ], + "to": [ + 2.1, + 34.595, + 0.5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.1, + "rotation": [ + 0, + 0, + -35 + ], + "origin": [ + 1, + 32, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 61, + 1, + 62 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 21, + 0, + 21 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 54, + 1, + 55 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 54, + 1, + 55 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "down": { + "uv": [ + 0, + 21, + 0, + 21 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b561e0e5-fa37-6c25-4798-cb2864fd4ef3" + }, + { + "name": "PhoneEarRightBack2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2.56, + 30, + -0.5 + ], + "to": [ + 4.06, + 34.35, + 0.5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.1, + "origin": [ + 3.75, + 32, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 61, + 1, + 62 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 54, + 1, + 55 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 54, + 1, + 55 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 54, + 1, + 55 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 54, + 1, + 55 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 21, + 0, + 21 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "dedf0f6b-187d-2be9-04f4-b753ebcdcf51" + }, + { + "name": "PhoneEarRightFront1_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 37.09, + -1.5 + ], + "to": [ + 1, + 37.94, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.25, + 34.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 0, + 54, + 1, + 55 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 54, + 1, + 55 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 54, + 1, + 55 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 54, + 1, + 55 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 21, + 0, + 21 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 21, + 0, + 21 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f1e596d1-8e6e-52f8-ee7e-4c2fe9e40228" + }, + { + "name": "PhoneEarRightFront1_2OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.1, + 37.115, + -1.51 + ], + "to": [ + 0.2, + 37.868, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.25, + 34.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 55, + 2, + 56 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "south": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "west": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "up": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "down": { + "uv": [ + 0, + 21, + 1, + 22 + ] + } + }, + "type": "cube", + "uuid": "6544450b-5248-1b6d-e92d-2543dd68f300" + }, + { + "name": "PhoneEarRightFront1_2InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.8, + 37.305, + -1.51 + ], + "to": [ + 0.9, + 37.378, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.25, + 34.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 55, + 2, + 56 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "south": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "west": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "up": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "down": { + "uv": [ + 0, + 21, + 1, + 22 + ] + } + }, + "type": "cube", + "uuid": "348fd0c9-c2ba-34d9-9160-bd82c3a23d43" + }, + { + "name": "PhoneEarLeftFront1_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 32, + -1.5 + ], + "to": [ + 0, + 35, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 54, + 0, + 55 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 54, + 0, + 55 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 54, + 0, + 55 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 54, + 0, + 55 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 21, + 0, + 21 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 21, + 0, + 21 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "be67e76c-c7f9-9a4b-6c04-524fbc76c77b" + }, + { + "name": "PhoneEarLeftFront1_1OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2, + 32, + -1.51 + ], + "to": [ + -0.1, + 34.98, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 55, + 1, + 56 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 21, + 0, + 22 + ] + }, + "south": { + "uv": [ + 1, + 21, + 0, + 22 + ] + }, + "west": { + "uv": [ + 1, + 21, + 0, + 22 + ] + }, + "up": { + "uv": [ + 1, + 21, + 0, + 22 + ] + }, + "down": { + "uv": [ + 1, + 21, + 0, + 22 + ] + } + }, + "type": "cube", + "uuid": "a76db6f4-0ef7-6aed-1cc1-9c1259141265" + }, + { + "name": "PhoneEarLeftFront1_1InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.9, + 32, + -1.51 + ], + "to": [ + -0.8, + 34.825, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 55, + 1, + 56 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 21, + 0, + 22 + ] + }, + "south": { + "uv": [ + 1, + 21, + 0, + 22 + ] + }, + "west": { + "uv": [ + 1, + 21, + 0, + 22 + ] + }, + "up": { + "uv": [ + 1, + 21, + 0, + 22 + ] + }, + "down": { + "uv": [ + 1, + 21, + 0, + 22 + ] + } + }, + "type": "cube", + "uuid": "2d6e824a-b085-3640-e1e5-7ba8c21408be" + }, + { + "name": "PhoneEarLeftFront1_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 35, + -1.5 + ], + "to": [ + 0, + 37.09, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 54, + 0, + 55 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 54, + 0, + 55 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 54, + 0, + 55 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 54, + 0, + 55 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 21, + 0, + 21 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 21, + 0, + 21 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8cc219f9-f431-d538-3d6f-fcab7185ee25" + }, + { + "name": "PhoneEarLeftFront1_2OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2, + 35.025, + -1.51 + ], + "to": [ + -0.1, + 37.06, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 55, + 1, + 56 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 21, + 0, + 22 + ] + }, + "south": { + "uv": [ + 1, + 21, + 0, + 22 + ] + }, + "west": { + "uv": [ + 1, + 21, + 0, + 22 + ] + }, + "up": { + "uv": [ + 1, + 21, + 0, + 22 + ] + }, + "down": { + "uv": [ + 1, + 21, + 0, + 22 + ] + } + }, + "type": "cube", + "uuid": "c3b3c7a5-1906-1860-5da3-6879de869a89" + }, + { + "name": "PhoneEarLeftFront1_2InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.9, + 35.178, + -1.51 + ], + "to": [ + -0.8, + 36.876, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 55, + 1, + 56 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 21, + 0, + 22 + ] + }, + "south": { + "uv": [ + 1, + 21, + 0, + 22 + ] + }, + "west": { + "uv": [ + 1, + 21, + 0, + 22 + ] + }, + "up": { + "uv": [ + 1, + 21, + 0, + 22 + ] + }, + "down": { + "uv": [ + 1, + 21, + 0, + 22 + ] + } + }, + "type": "cube", + "uuid": "239182e8-2f83-2228-a01c-9bba6132ebd4" + }, + { + "name": "PhoneEarLeftFront1_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 37.09, + -1.5 + ], + "to": [ + 0, + 37.94, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.25, + 34.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 54, + 0, + 55 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 54, + 0, + 55 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 54, + 0, + 55 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 54, + 0, + 55 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 21, + 0, + 21 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 21, + 0, + 21 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "2efdfc14-75ad-3917-bcbd-c864f6a4908a" + }, + { + "name": "PhoneEarLeftFront1_2OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2, + 37.115, + -1.51 + ], + "to": [ + -0.1, + 37.868, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.25, + 34.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 55, + 1, + 56 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 21, + 0, + 22 + ] + }, + "south": { + "uv": [ + 1, + 21, + 0, + 22 + ] + }, + "west": { + "uv": [ + 1, + 21, + 0, + 22 + ] + }, + "up": { + "uv": [ + 1, + 21, + 0, + 22 + ] + }, + "down": { + "uv": [ + 1, + 21, + 0, + 22 + ] + } + }, + "type": "cube", + "uuid": "12e1aa45-4861-cd9c-cdfd-5b656c8af07c" + }, + { + "name": "PhoneEarLeftFront1_2InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.9, + 37.305, + -1.51 + ], + "to": [ + -0.8, + 37.378, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.25, + 34.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 55, + 1, + 56 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 21, + 0, + 22 + ] + }, + "south": { + "uv": [ + 1, + 21, + 0, + 22 + ] + }, + "west": { + "uv": [ + 1, + 21, + 0, + 22 + ] + }, + "up": { + "uv": [ + 1, + 21, + 0, + 22 + ] + }, + "down": { + "uv": [ + 1, + 21, + 0, + 22 + ] + } + }, + "type": "cube", + "uuid": "64b1a793-eb74-5aab-221f-0058edf82966" + }, + { + "name": "PhoneEarLeftFront_2_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.5, + 28.9, + -1.5 + ], + "to": [ + -3.5, + 30.08, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3.5, + 29.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 54, + 0, + 55 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 54, + 0, + 55 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 54, + 0, + 55 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 54, + 0, + 55 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 21, + 0, + 21 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 21, + 0, + 21 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "0cabbb13-53a1-76d6-49c1-244a341e3fc4" + }, + { + "name": "PhoneEarLeftFront2_1OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.4, + 28.9, + -1.51 + ], + "to": [ + -4.3, + 30.023, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 31, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 55, + 1, + 56 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 21, + 0, + 22 + ] + }, + "south": { + "uv": [ + 1, + 21, + 0, + 22 + ] + }, + "west": { + "uv": [ + 1, + 21, + 0, + 22 + ] + }, + "up": { + "uv": [ + 1, + 21, + 0, + 22 + ] + }, + "down": { + "uv": [ + 1, + 21, + 0, + 22 + ] + } + }, + "type": "cube", + "uuid": "4b86c2c6-6541-ae97-908d-c4c0946d9742" + }, + { + "name": "PhoneEarLeftFront2_1InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.7, + 28.9, + -1.51 + ], + "to": [ + -3.6, + 29.618, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 31, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 55, + 1, + 56 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 21, + 0, + 22 + ] + }, + "south": { + "uv": [ + 1, + 21, + 0, + 22 + ] + }, + "west": { + "uv": [ + 1, + 21, + 0, + 22 + ] + }, + "up": { + "uv": [ + 1, + 21, + 0, + 22 + ] + }, + "down": { + "uv": [ + 1, + 21, + 0, + 22 + ] + } + }, + "type": "cube", + "uuid": "fd698e35-9448-12f8-4ea1-9abfc1d86688" + }, + { + "name": "PhoneEarLeftFront2_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.5, + 30.08, + -1.5 + ], + "to": [ + -3.5, + 34.08, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3.5, + 28.6, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 54, + 0, + 55 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 54, + 0, + 55 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 54, + 0, + 55 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 54, + 0, + 55 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 21, + 0, + 21 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 21, + 0, + 21 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "83f7478a-cd88-a072-b14a-aac679cc671e" + }, + { + "name": "PhoneEarLeftFront2_2OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.4, + 30.138, + -1.51 + ], + "to": [ + -4.3, + 34.063, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 30.1, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 55, + 1, + 56 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 21, + 0, + 22 + ] + }, + "south": { + "uv": [ + 1, + 21, + 0, + 22 + ] + }, + "west": { + "uv": [ + 1, + 21, + 0, + 22 + ] + }, + "up": { + "uv": [ + 1, + 21, + 0, + 22 + ] + }, + "down": { + "uv": [ + 1, + 21, + 0, + 22 + ] + } + }, + "type": "cube", + "uuid": "759cf829-fc6c-b23b-f394-09d2b21b073e" + }, + { + "name": "PhoneEarLeftFront2_2InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.7, + 30.541, + -1.51 + ], + "to": [ + -3.6, + 33.939, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 30.1, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 55, + 1, + 56 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 21, + 0, + 22 + ] + }, + "south": { + "uv": [ + 1, + 21, + 0, + 22 + ] + }, + "west": { + "uv": [ + 1, + 21, + 0, + 22 + ] + }, + "up": { + "uv": [ + 1, + 21, + 0, + 22 + ] + }, + "down": { + "uv": [ + 1, + 21, + 0, + 22 + ] + } + }, + "type": "cube", + "uuid": "5e464ee7-9b76-e363-35ab-cc8ac9024a22" + }, + { + "name": "PhoneEarLeftFront2_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.5, + 34.08, + -1.5 + ], + "to": [ + -3.5, + 35.9, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3.5, + 34.6, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 54, + 0, + 55 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 54, + 0, + 55 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 54, + 0, + 55 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 54, + 0, + 55 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 21, + 0, + 21 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 21, + 0, + 21 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f7ef2c19-5922-806b-fe13-635d0335552b" + }, + { + "name": "PhoneEarLeftFront2_3OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.4, + 34.099, + -1.51 + ], + "to": [ + -4.3, + 35.832, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 34.1, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 55, + 1, + 56 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 21, + 0, + 22 + ] + }, + "south": { + "uv": [ + 1, + 21, + 0, + 22 + ] + }, + "west": { + "uv": [ + 1, + 21, + 0, + 22 + ] + }, + "up": { + "uv": [ + 1, + 21, + 0, + 22 + ] + }, + "down": { + "uv": [ + 1, + 21, + 0, + 22 + ] + } + }, + "type": "cube", + "uuid": "c4e7e749-9878-e45a-341c-b943ad7693e0" + }, + { + "name": "PhoneEarLeftFront2_3InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.7, + 34.22, + -1.51 + ], + "to": [ + -3.6, + 35.342, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 34.1, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 55, + 1, + 56 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 21, + 0, + 22 + ] + }, + "south": { + "uv": [ + 1, + 21, + 0, + 22 + ] + }, + "west": { + "uv": [ + 1, + 21, + 0, + 22 + ] + }, + "up": { + "uv": [ + 1, + 21, + 0, + 22 + ] + }, + "down": { + "uv": [ + 1, + 21, + 0, + 22 + ] + } + }, + "type": "cube", + "uuid": "d9cf64b4-1f79-2af0-5eed-b045c13920ad" + }, + { + "name": "PhoneEarLeftBack1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.1, + 31.855, + -0.5 + ], + "to": [ + -1, + 34.595, + 0.5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.1, + "rotation": [ + 0, + 0, + 35 + ], + "origin": [ + -1, + 32, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 61, + 0, + 62 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 54, + 0, + 55 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 54, + 0, + 55 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 21, + 0, + 21 + ], + "texture": null + }, + "up": { + "uv": [ + 1, + 21, + 0, + 22 + ] + }, + "down": { + "uv": [ + 0, + 21, + 0, + 21 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b5a002b6-22e9-a072-4595-4028c86f3962" + }, + { + "name": "PhoneEarLeftBack2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.06, + 30, + -0.5 + ], + "to": [ + -2.56, + 34.35, + 0.5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.1, + "origin": [ + -3.75, + 32, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 61, + 0, + 62 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 54, + 0, + 55 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 54, + 0, + 55 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 54, + 0, + 55 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 54, + 0, + 55 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 21, + 0, + 21 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f54c98fe-b735-7964-faff-3d7981924e5a" + }, + { + "name": "GDDLabel", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 7.3, + 18.75, + -2 + ], + "to": [ + 7.3, + 20, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 5, + 22, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "east": { + "uv": [ + 0, + 77, + 80, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "west": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "up": { + "uv": [ + 0, + 21, + 1, + 22 + ] + }, + "down": { + "uv": [ + 0, + 21, + 1, + 22 + ] + } + }, + "type": "cube", + "uuid": "25bdb45e-c0f4-1990-2b1e-36c4c00011a4" + }, + { + "name": "TailRibbon", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + 13, + 4.09 + ], + "to": [ + 1.5, + 15, + 4.09 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0.5, + 17.5, + -2.16 + ], + "faces": { + "north": { + "uv": [ + 24, + 68, + 27, + 70 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 24, + 68, + 27, + 70 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8a98fa96-8e21-e84e-944d-a162027964b9" + }, + { + "name": "TailRibbonLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + 13, + 4.09 + ], + "to": [ + 1.5, + 15, + 4.09 + ], + "autouv": 0, + "color": 0, + "inflate": 0.125, + "origin": [ + 0.5, + 17.5, + -2.16 + ], + "faces": { + "north": { + "uv": [ + 27, + 68, + 30, + 70 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 27, + 68, + 30, + 70 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "30a97a41-9ad6-d78c-2d7f-fb742750debd" + }, + { + "name": "TailRibbonBase", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 14, + 3.965 + ], + "to": [ + 0.5, + 15, + 4.215 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0, + 14.75, + 4.09 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 25, + 68, + 26, + 69 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 25, + 68, + 26, + 69 + ], + "texture": 0 + }, + "up": { + "uv": [ + 25, + 68, + 26, + 69 + ], + "texture": 0 + }, + "down": { + "uv": [ + 25, + 68, + 26, + 69 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "1f7ef828-725e-967b-2e65-3726a93a45bd" + } + ], + "outliner": [ + { + "name": "Avatar", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "e98e96cf-993b-878e-02b8-777c368bb888", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Head", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "22d40862-bd19-a16d-9e33-79364e6656d8", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a66c63cf-0082-7797-3f4e-08ff434a1cac", + "d48552a8-9f0d-7335-2a82-794f3264fc9d", + { + "name": "HairRibbons", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "0c59a2cf-3216-5181-7b59-d7ec0d95bc1f", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "cb186902-ed9f-81b4-4202-9b6bd1679875", + "a9969c6d-21ee-6a83-fded-e167709975e0" + ] + }, + { + "name": "Phone", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "ecb0ee56-5170-3365-596a-169877c19369", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "01f6d688-d2cd-c36a-df2e-a80523a72020", + "4f5e53a6-b464-0187-a63a-a317f45c2beb", + "ac86679a-d55c-be34-cf2b-68f42e402541", + "943051a6-3609-4b6a-a9be-3e7a6d7e866b", + "0aae78b3-7629-724d-62de-d336c7bb05d6", + { + "name": "PhoneEars", + "origin": [ + 0, + 32.5, + -1 + ], + "color": 0, + "uuid": "8a0d4e0c-c75a-8b96-4d55-3b327212efbf", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "PhoneEarRight", + "origin": [ + 0, + 32.5, + -1 + ], + "color": 0, + "uuid": "9420ea33-54f3-229f-aa64-9a45aa1de2e0", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "PhoneEarRightFront", + "origin": [ + 0, + 32.5, + -1 + ], + "color": 0, + "uuid": "8ae76f75-5f55-c724-8aba-a832c61d7751", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "PhoneEarRightFront1_1", + "origin": [ + 0, + 32, + -1 + ], + "rotation": [ + 0, + 0, + -35 + ], + "color": 0, + "uuid": "e4b7cf64-7648-39b9-5be6-7e3f25214053", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "5628b192-ac9f-3e32-91d4-2d87aa746910", + "c1fcb63e-6496-d3a3-64cb-e2251ddf6b9e", + "beef8305-3bf6-58e9-b6da-1cd0fab1fe2f", + { + "name": "PhoneEarRightFront1_2", + "origin": [ + 0, + 35, + -1 + ], + "rotation": [ + 0, + 0, + -25 + ], + "color": 0, + "uuid": "59bb8b92-fe58-64d2-7a1c-8beaa43ff9f2", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "403fa6ce-f0d8-c5be-a8b6-d47294eb4984", + "76f78202-a819-a689-73e2-64029f8d0f9d", + "b779ad53-9102-aacf-4abf-51210f0edbde", + { + "name": "PhoneEarRightFront1_3", + "origin": [ + 0, + 37.09, + -1 + ], + "rotation": [ + 0, + 0, + -30 + ], + "color": 0, + "uuid": "a7bbb537-2a97-304f-3e26-8b99aa386fe3", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f1e596d1-8e6e-52f8-ee7e-4c2fe9e40228", + "6544450b-5248-1b6d-e92d-2543dd68f300", + "348fd0c9-c2ba-34d9-9160-bd82c3a23d43" + ] + } + ] + } + ] + }, + { + "name": "PhoneEarRightFront2_1", + "origin": [ + 4.5, + 29.5, + -1 + ], + "rotation": [ + 0, + 0, + -60 + ], + "color": 0, + "uuid": "defaac45-9178-f07f-7e9d-914192a8bcfd", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4bd4c91f-764a-3ef9-009c-766a50959788", + "1a50d8d3-d2c0-1c03-5226-56fabd5b1aa7", + "d3a63ec7-8768-7c37-4624-c7e3d4192e12", + { + "name": "PhoneEarRightFront2_2", + "origin": [ + 4.5, + 30.08, + -1 + ], + "rotation": [ + 0, + 0, + 60 + ], + "color": 0, + "uuid": "fb7e3287-5d3a-557b-85d5-e687a41f4eee", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "092a0e63-d5dd-7734-63ea-fa9d2553d0f5", + "c5113057-7bfd-25ad-e529-b49c112c3377", + "2840ca2d-db60-7b72-40c4-526f07cf8a96", + { + "name": "PhoneEarRightFront2_3", + "origin": [ + 4.5, + 34.08, + -1 + ], + "rotation": [ + 0, + 0, + 20 + ], + "color": 0, + "uuid": "9e95149d-5fe0-1d87-78d3-2a8f624f27fa", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e774d120-5304-8e16-59f6-3320dd90cc26", + "0dca0cdb-bd65-b554-9877-c42622b728bd", + "c95bca51-10cf-7f94-f3f4-4e2202585871" + ] + } + ] + } + ] + } + ] + }, + { + "name": "PhoneEarRightBack", + "origin": [ + 0, + 32.5, + 0 + ], + "color": 0, + "uuid": "74069bd7-7675-7146-18bd-4a7ba06f969f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b561e0e5-fa37-6c25-4798-cb2864fd4ef3", + "dedf0f6b-187d-2be9-04f4-b753ebcdcf51" + ] + } + ] + }, + { + "name": "PhoneEarLeft", + "origin": [ + 0, + 32.5, + -1 + ], + "color": 0, + "uuid": "f10267d6-0d58-cc2f-4920-e7ff33270f54", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "PhoneEarLeftFront", + "origin": [ + 0, + 32.5, + -1 + ], + "color": 0, + "uuid": "c0095888-9572-cea5-9bdc-d77dc8f488ac", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "PhoneEarLeftFront1_1", + "origin": [ + 0, + 32, + -1 + ], + "rotation": [ + 0, + 0, + 35 + ], + "color": 0, + "uuid": "04e771b1-46c1-0055-171a-ce7b7640b6b2", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "be67e76c-c7f9-9a4b-6c04-524fbc76c77b", + "a76db6f4-0ef7-6aed-1cc1-9c1259141265", + "2d6e824a-b085-3640-e1e5-7ba8c21408be", + { + "name": "PhoneEarLeftFront1_2", + "origin": [ + 0, + 35, + -1 + ], + "rotation": [ + 0, + 0, + 25 + ], + "color": 0, + "uuid": "17b848e3-d84e-f9d6-029a-e8d8c41bab91", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8cc219f9-f431-d538-3d6f-fcab7185ee25", + "c3b3c7a5-1906-1860-5da3-6879de869a89", + "239182e8-2f83-2228-a01c-9bba6132ebd4", + { + "name": "PhoneEarLeftFront1_3", + "origin": [ + 0, + 37.09, + -1 + ], + "rotation": [ + 0, + 0, + 30 + ], + "color": 0, + "uuid": "3f9f3b07-3a38-b67a-5e55-8ac70f129560", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "2efdfc14-75ad-3917-bcbd-c864f6a4908a", + "12e1aa45-4861-cd9c-cdfd-5b656c8af07c", + "64b1a793-eb74-5aab-221f-0058edf82966" + ] + } + ] + } + ] + }, + { + "name": "PhoneEarLeftFront2_1", + "origin": [ + -4.5, + 29.5, + -1 + ], + "rotation": [ + 0, + 0, + 60 + ], + "color": 0, + "uuid": "f5f8cc88-77cb-6726-8b74-15095adaa508", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "0cabbb13-53a1-76d6-49c1-244a341e3fc4", + "4b86c2c6-6541-ae97-908d-c4c0946d9742", + "fd698e35-9448-12f8-4ea1-9abfc1d86688", + { + "name": "PhoneEarLeftFront2_2", + "origin": [ + -4.5, + 30.08, + -1 + ], + "rotation": [ + 0, + 0, + -60 + ], + "color": 0, + "uuid": "61b4a9db-fbbf-0f17-767a-c0471465950a", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "83f7478a-cd88-a072-b14a-aac679cc671e", + "759cf829-fc6c-b23b-f394-09d2b21b073e", + "5e464ee7-9b76-e363-35ab-cc8ac9024a22", + { + "name": "PhoneEarLeftFront2_3", + "origin": [ + -4.5, + 34.08, + -1 + ], + "rotation": [ + 0, + 0, + -20 + ], + "color": 0, + "uuid": "cf8e1310-5882-9378-e414-9b0710d312d2", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f7ef2c19-5922-806b-fe13-635d0335552b", + "c4e7e749-9878-e45a-341c-b943ad7693e0", + "d9cf64b4-1f79-2af0-5eed-b045c13920ad" + ] + } + ] + } + ] + } + ] + }, + { + "name": "PhoneEarLeftBack", + "origin": [ + 0, + 32.5, + 0 + ], + "color": 0, + "uuid": "a3f8b87b-ecbb-f38a-de09-c1ddaf611c97", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b5a002b6-22e9-a072-4595-4028c86f3962", + "f54c98fe-b735-7964-faff-3d7981924e5a" + ] + } + ] + } + ] + } + ] + }, + { + "name": "FaceParts", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "db381b6c-e0d3-6ca8-6433-4371d36cc6c6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Eyes", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "25d20f6a-b84c-5105-726d-79a4fc3a5a4d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "7853e9a2-b429-5a00-5e0e-70449c3a71ee", + "328a2de5-64bc-807b-5906-227bfceedf26", + { + "name": "RightSpyglassPivot", + "origin": [ + 2, + 26, + -4 + ], + "color": 0, + "uuid": "d775a8e4-818b-b21e-93df-fdb4456fefc8", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "LeftSpyglassPivot", + "origin": [ + -2, + 26, + -4 + ], + "color": 0, + "uuid": "5e757c9d-cb7e-d074-a20f-d95f46e96872", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + "d9d80373-4145-9e90-28de-12248a8075d9" + ] + }, + { + "name": "HeadRing", + "origin": [ + 0, + 28, + 0 + ], + "color": 0, + "uuid": "e8809cb5-a507-86d8-da91-c79b1d4d233e", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "48cfe147-8711-a325-c722-fe73d6c4d87a", + { + "name": "RingParts", + "origin": [ + 0, + 28, + 0 + ], + "rotation": [ + 35, + 0, + 0 + ], + "color": 0, + "uuid": "e32b6794-e7c2-9c56-393f-a85b7edf387d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "faf8ab6b-f4f0-ca97-dccf-5419513d1359", + "61c19b56-1984-cdcb-7a31-987945b0ae33", + "f0e4c2d9-cc4e-0c13-3e3a-2b95d8c0d034", + "4a2f805b-02d9-da24-e361-0c0309289a1d" + ] + } + ] + }, + { + "name": "HelmetPivot", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "84f4ab3f-638e-0106-0c91-5b9a1bd42798", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "HelmetItemPivot", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "a79c4d57-e81a-accf-19f0-268ebedad907", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + { + "name": "UpperBody", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "16d22746-633e-382e-dd96-b35bde99daa5", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Body", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "bf4dd57f-d0f7-1fe0-98e6-59e00f97f41b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "742e9ab7-8cdd-8d93-9a9a-88011f54d15b", + "2574fa9e-0d5f-502c-ce28-ef5cf30f41ec", + { + "name": "Skirt", + "origin": [ + 0, + 14, + 0 + ], + "color": 0, + "uuid": "3ef4a513-6419-fc26-408e-8f2b4dea9387", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "38c80056-38bf-0791-5b8e-c3a3b2591654", + "e5f18b5e-4093-76a4-d9ae-165f680424da" + ] + }, + { + "name": "TailXPivot", + "origin": [ + 0, + 14.5, + 2 + ], + "color": 0, + "uuid": "1f725fe1-77d5-3eef-9db7-fe995fa9d773", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "TailYPivot", + "origin": [ + 0, + 14.5, + 2 + ], + "color": 0, + "uuid": "f94c7ac5-33cd-3413-d8aa-ff5430aa2fbd", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Tail", + "origin": [ + 0, + 14.5, + 2 + ], + "rotation": [ + 15, + 0, + 0 + ], + "color": 0, + "uuid": "9100b434-e831-96c3-9283-218e489cafe0", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "50e61828-ccdd-ee8e-c621-0a193b35fd5e", + { + "name": "TailRibbon", + "origin": [ + 0, + 14.75, + 4.09 + ], + "color": 0, + "uuid": "5188006f-1495-610b-c7fd-6c30659e9544", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8a98fa96-8e21-e84e-944d-a162027964b9", + "30a97a41-9ad6-d78c-2d7f-fb742750debd", + "1f7ef828-725e-967b-2e65-3726a93a45bd" + ] + }, + { + "name": "Tail2", + "origin": [ + 0, + 14, + 8 + ], + "rotation": [ + -40, + 0, + 0 + ], + "color": 0, + "uuid": "feb531f7-26bb-8a9c-0e7a-1339231405db", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4113cbe8-5856-27e8-5d63-4f6f3f13ccbd" + ] + } + ] + } + ] + } + ] + }, + { + "name": "ChestplateBodyPivot", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "01b59940-384b-c0fa-675d-5adb9d8f5c09", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "BeltPivot", + "origin": [ + 0, + 12, + 0 + ], + "color": 0, + "uuid": "8633b52a-d6e5-7bfd-769b-5528e8a43c1a", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "NameplateAnchor", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "71b16a49-1da9-df63-2f72-f5272bb4b134", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + { + "name": "Arms", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "c062b0e8-6983-de4d-12e9-7b5ad9e81528", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightArm", + "origin": [ + 5, + 22, + 0 + ], + "color": 0, + "uuid": "3c1cb66d-8a31-d31f-ec9f-65a33e313a53", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8831734e-ce90-e6bb-8368-e011a468277d", + "cea7603d-ae80-e4e7-6f93-905551a79117", + "25bdb45e-c0f4-1990-2b1e-36c4c00011a4", + { + "name": "RightArmBottom", + "origin": [ + 5, + 18, + 2 + ], + "color": 0, + "uuid": "b924539e-1292-1a17-6240-a525ae346090", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "643f9c05-2d3c-e1d1-5a2f-874902eb1784", + "b1a76f47-912e-c2d4-8090-6f6ac9734672", + "29a6683b-b165-5012-f56b-a8b8ebf7af9a", + { + "name": "RightItemPivot", + "origin": [ + 5.5, + 12, + -2 + ], + "color": 0, + "uuid": "f77eb5a1-0c86-2ec0-fa55-565b454784db", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + } + ] + }, + { + "name": "LeftArm", + "origin": [ + -5, + 22, + 0 + ], + "color": 0, + "uuid": "e7d3e5d8-00e4-587c-7bb6-6787db00054b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "af1aa9d5-0ccf-d579-b381-54ac7b12fb55", + "b74fb9e9-db24-b669-6f87-8469be63eda5", + { + "name": "LeftArmBottom", + "origin": [ + -5, + 18, + 2 + ], + "color": 0, + "uuid": "ad1c45ef-c0a8-6d31-d2dc-fbdc6ab7ddcc", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a82219a3-e344-a4d8-c85c-51462943a7dc", + "d7794b2f-dbb3-2cd5-c956-cd163b703976", + "068c9564-63f3-82ac-0263-7761baadd884", + { + "name": "LeftItemPivot", + "origin": [ + -5.5, + 12, + -2 + ], + "color": 0, + "uuid": "4f31b2fe-139d-4fb3-f36f-3d5ed0997399", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + } + ] + } + ] + }, + { + "name": "LeftElytraPivot", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "34f8f1e3-7498-d32a-cbaa-e08af5c6b7e9", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "RightElytraPivot", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "884aa12d-4d86-c86f-f3ae-27294c5df1b1", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "LeftParrotPivot", + "origin": [ + -6.5, + 24, + 0 + ], + "color": 0, + "uuid": "29a158b7-4e78-b2e4-f4a6-a828afb1514f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "RightParrotPivot", + "origin": [ + 6.5, + 24, + 0 + ], + "color": 0, + "uuid": "7d993335-4efa-18af-e219-def6c191632a", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + { + "name": "LowerBody", + "origin": [ + 0, + 12, + 0 + ], + "color": 0, + "uuid": "2f61e368-1c06-648e-26d4-aee94647e4da", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Legs", + "origin": [ + 0, + 12, + 0 + ], + "color": 0, + "uuid": "29730186-2622-086d-ab67-4bb8e356bb6c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightLeg", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "4e80b5b4-7c04-8374-f8a7-526b3d36d050", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "da81ebbe-5b4e-2d46-144a-6f839ad6fa3c", + "bcf37da3-caec-e8f2-bc82-76a3f169374c", + { + "name": "RightLegBottom", + "origin": [ + 2, + 6, + 0 + ], + "color": 0, + "uuid": "84fe0b3a-286b-e17f-288e-c39feaa2e5e6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8b1cc891-ffa8-9f46-ebc0-f0b84e6ffb15", + "72c6eff7-d0eb-2ffa-193f-2ca402bdc722" + ] + } + ] + }, + { + "name": "LeftLeg", + "origin": [ + -2, + 12, + 0 + ], + "color": 0, + "uuid": "73b3d6bc-af0b-a066-5d73-f3938109e11f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "9c06bc9a-beae-98d9-e9ce-9c8e6ddbb9d3", + "f8f1e7ad-7999-9f17-0488-5dcbd4af7945", + { + "name": "LeftLegBottom", + "origin": [ + -2, + 6, + 0 + ], + "color": 0, + "uuid": "ee9973d4-ff4e-c96b-64f6-d1f28afd69c6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a1169ee6-6a78-c7c4-9214-670991206468", + "a5173990-504e-f5c4-45c7-9347880c1306" + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "name": "CameraAnchor", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "4ad021e9-2857-4e55-337b-f61da0762800", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8b47234a-9700-3da5-47db-8f75a6aab837", + "c2175bbe-2cfe-5bd6-da67-98c3b6cd21ee", + "7e6a5cd5-aefb-6095-d77f-adf6c4130742", + "31aaec73-9e98-c58c-c0ed-6d915f491f85" + ] + } + ], + "textures": [ + { + "path": "", + "name": "main.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 80, + "height": 198, + "uv_width": 80, + "uv_height": 198, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "49d663f7-0284-81d3-5d9d-8f9c415279bb", + "relative_path": "../../textures/main.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAADGCAYAAABFLgfzAAAAAXNSR0IArs4c6QAAEfFJREFUeF7tnWuUFMUVgKsGZJeIuryMJhrBiGBMDAd5CERgF8NDkRjPUYyPKCocX3iigShonoJAMJKjIAQfxKgookIEBQ27swvhvaIhKhAEEyRqdIEVEVhgp3Ju9dyhpqeqq7qrZ3Z2tvtPz3TVvXXrq3tvVdf29FKiOVj1DKar41VOu99BO7+5luvYOugCaqMrH2W1HbIF2GVPd97vfdVvkU8m3K5tLx8heTqIzuAwAAI8PAoNotYjbAFCCAO8Ux+cmUoFJ3Y/v2DCORyAXa6WO/KWeQQBIkSAV0j5MKcAC3EyySlAXb5tjOX2AE84npBv/kje9//+ldDOI7VtmIDjubjuCCFFxxE40753haLXpG3PWdhtGBqYOoN00mjpGbULndPWDwCCrZrORL1ibrWFYCNP/QCsLz6BNDv0JcEz71AOALJ/zXVm8H1fce/LJy90AEIYwlFTS0i7Eufzl0ljCXGAdb6c1G99RQ3QS4eoE3QLdb1CURxc8DjpYBOSNtPbeFMQWSMPRIDQwP7t80mr4mKy/9Ah0upIfVY9MAWsXUkql7KtcxnkVTjzQW5wgJtms88//4y0b38yUZ3JmVfKB2fHi0oZpS5C0mROHvgrPojoYe6z14SBi3yVrOw6dMTdXhDPQxn6WfnvPDcLAKwOoI0B7U9qQ0iL5oQcPio/FxUpZ3LuhXV1almZTjBWaI+ed4vVbM4BenpfUZHnMgU6oPNgsRzsF9vj8KENACE7Q4gqlkIcIBwqWdl1V3u2yyzKNs1WeyB0CFz+pCGExGKEfs2ZddmBI4QkEoR+scxxPjA06JH0MDG3YY7DzmGZ2IR4TSUru85zZjKH2sLjunT9DmszQddOYy2PAFqOXAQwAmhJwFI8HA803A+0tDUvxSOAlsMSAWxwgNF+YPpGZbQf6M8ljXZjEGq0H5gJN9oP9OdwGbWNPDDaD1RTdjYTDu8hpEUbknFGOY/9wJRqlQ7xevNWTvWj+1Pt0e4TlCsB3FBV7VqL+4GWjhRYnLLqBxmBjkGnxHOsxTGlJgAThzN1uHXCdziEdmjXO9UAYXAN9gNt9/QC04PdGPbOI4wALAAgnlGrwX5gygC3DvE7woQ2wCsBYqwF8eo87vfp9gPD2JYKCtHxQDwwxND7/O4HAjAMUdEiSA+y4/Ae4hXCKKLbDwza+TDkUuFz73k90jZWp2zawMtU18NoPEwdaCfajbqDXkd5HYfAAEWwbqNlYPwOkN+BC0u/Xz0UBSavW+H0u7iY9Lt1DOm7eh3/itf73TWOrJj1KKGUcplJG9ekON3XrTfRQfRrmClAt/1o5/jv90yz392vVX168f6QQ4d4vfG9+qXqow4oS13/x3rOZcX0abwebdmSO18GwEsfnkh2VO8iw7e/n2YAXn9/4dO+ALo7qNIPHTz38huk7S6eMJEPnJdn40Dr7Md+vTtiEO/ne/NmZwBEHVCGAN31MwCiR41ZMJlsrvqY9FpdzRW7r8dnz/IE6PYc7LSpfq92ZTk5qP5944fzfi6f8ShXAVGE/UUGUIbX3fWbNW/ueCAaUH/0KJ9E5n5wH790c5epvEx2fcbOGl5317ChvC6ErypZB9GvalfmgUH1P7HlHt6HkWdN4ioQCPQXGUAZXlfV1+4HehkdlRn8WTOC5E0gzQM3zJ/P3brHiBFSzzQpR1msi82L11X6wxwsVfsmbbhl3X0QdXiCcjdm0nEVZBP4MtjigIodM7HFBJZtnVBzIHRQ1zFZHfc1N2wZfJO2bOGYyIcK0KTBQqsTAbQc0QhgWADZ+njabgztWZoGV1duaUejFeeQ3HBMe+OGjHIfvvC49JnDjleNynuP17Fw95nqBHQwVRATVe+xmtq9XLxdSWsS63+ub3hom6oNlW0mM71KVsej0QC0TRk2C2kVRNlA5rUH6rw/m+WmA5iVHAgdgxAWOxgkhLMJKCzdqbykI64rlxmEEAsVHvTZd2IPa+QKRQ8tHTxC+TOH5a8/z/vZtWwE+WfVghTs7/W/gr1TMT+NAdSBA683axY7tllbn2BuHaIw6hNlxPJXWbnSxuF0oNQJlrAKNoyWZd1BOMBzbtiZ4RCb//wtAgBVnQKB+vpEqmM6gF56UJe7DkAghJFhCkggt4SVM0YouVSA5cg5R7YhpgACMDwAKHyvOZRI8zw3ZdETvQBCPdGDZeHrrvM6K2cXJ8G9xioYBSSUEYDlzHyMJ6BUnUQ5uyR2zBtz7oH5BHApq2BDaRldlihnjFICn1U5cxmrAJS8DnwekqybFwD9hrAqT3rlPwQjeuCbiQo2KFZG30hUsMExfR57k1WwQbSMvsEq2OCGAugeYcyB0Hn3hIETi3jdDWn79u2sQ4eO0knIK4SXswp2ES2jyxMV7CIDeKgL5f7GKtgPaRmtZHE2gKZviGRj5vecheNvzNfOYjiR6GZq00mkgsVZGS2l5SzOBvoAUM4q2EBaxuWaCaSyDZFu/PQm1u2UJ52/AQuzqq7DaCPIqELU7YXosaOX3sbF5wx9LOWhUAZtxhNxVhorpXEWZ6U+AGJ9lM+ZB4pubQPQNMzF9mRrxqpEnPWPlfoOwSoWZ/1pKQ0qHzS800I0WwBxiaMyUpx8VrA460dL6cpEJbswNkCbQlDnShZnF4Icq2QX0gG+ByBvAEJ4ukMTAfYc1zbNzvXTdvPvIsBVLM760lK6KhFnfWPmk8AqVsn60gH07yzOfkBLaXWiknX3MQCBAYpeh0rq6g6RoqJiqU4swxyJOVDMb7LcZmrg6kSc9YmV0jWJStbbB4A1iTjrHSulq1klayHc+GUbIg0KEJcyqjsMvEu56OKfSNndN4eQSaMzi2DmX8sq2QV0AF3HKlkvqg/jdYlK1is2gOIZtOa9B2JYqgDCDHzZjfeSdsUxgrBU0ESMAHB9oor1jPWnG1gVg1u2Hh6eCHXhlq4n7U/XJypZz2TdnAHcu/dgoHek9rvspxn5SwQBHgjfP+3tPPkJR5vh3cjWPn1p59WrGJy9wloEUM0q4SZYOEDUuRfunvTQ6kQV6x7rn9KZM4C2yxhdbjtt5gts1+1XUTzr6ovlG5Pe1Y0eA+OW53UIId0EeH7asK0beBmDHua1OHbPsEGNfScJSSbftYHAoS3WAEGRankSFsCg4HMhFwG0pBx4GWN6r2xpX96LRwAthygCaAsw6DqwdWvnlzpN/UiuSJs6huD9jwAGZ8clI4CNASDjf3gk8IPBlLnua/Ady/Ez1kmt+uW/N7REYCeedQ8UwaCpprBksnbdDV86AyArXUhIxWW8pev/XU3+0rGHtlUvGbc3gZfJPEsHVfFrV61t2a7gCdAEoghPVl8FRhauXteyDSKofi1AL4hueKq6pvmuIHKgDIqf0TENez8687mukQf66UCTBmjrfQhahChOGGKIioOCE4t4hnLdZCPqkKUJ9/JHN1HhUktXT5zQ0jxQNiGA0qc7OP/aLOMoW+RcSs7aKoAmk4M4W7vru0G5Z2Q/E5Vq4FSDIdOdpsP564xzqAAqISJAF0S3B3pNDrrZ2MuLUnZrFuGyAZEt1lV2eg2okQdmA6DKi3Qj7mdh7tdTvQYEU4pbpydAWdS2Pa0T2b1rmzykk1eD5ECZgaoc6A5DlIWzafh73S6qBlE2eL4AIjwdxKY0ExsDdEPzghgB9AxQfWGQEJYtd1ShKZtYvCYbv+GqskXW86wvpHVLDN1MqpulVTnPdA0prh91E5gRQNlyRu9zTg1Z6JouSv0suN3eppqA/C6fdJOQMUBTYCb1gnigiVe6Z0Sv77JFepAlS4MB9MpZOOpB1ndeIafzfFm7oYWwiWdFdRwCWd/SL3TQEUDLEc54uuD0c0rTngVtzpKvNk429OGWVZ5PJDDG2AWXjCRrX5ubZhpe+9Z3yjxN/mhzXKs/peAr560gPJRatWmQJyWyCrC2tpZ3rqSkhEQAfXrgsuemk5LjHGeuPULJkGvu4l4ZeaBhCDcZgO6c5zen7ny/IkMEw1UWwjL9Ys6sq6sjRUVFqZD3a4+w5sxJTqTZBHj9zC28P0/f3sUTSKMGmNj2bqDfieBIf9Hu2xlOMuSaW8my52aRcatreNm0Pu0IXpN5lFhWX5+An7161kcdJSXpP0errXXeSg5Hrp5fpGz/HiuAtUdaKgGO/8hZAk0+vUUEUJWLmjzAs88fauWB65a/ovRAKIB39h88yLLigV4TTM5C+O23t1gB7NDhjKYNMPLAoAslR45GAC0BduzS1yqEN65ZnuUQPrY08dPV1q1b52YhLQM4dulp3NaHhu7S2nyUCv8+TVvbf4WdG172L5TD3Rk680P16+9MLJ9y8Wcm1QLXyXuAgXumEBy/8ibPlDD5QuclP0GPR7ddzfV//GlLYqsrqA2inFVnZAaIAH/x3Yd4ld+/OzZV1bbTTQYgwMNEvnfvXoYQI4Aav0cPjAAGTBAAcGKfx/mLxODvI3yxSSn/We39q0dl5C1dzvzGKQellkAOdB9i3TGd5oWenmSGhN4IvozC/T4Z1XXIaQDjl+c7/54MjwfeGkNU8ObcfIRXGzbxxDSZggAovg7v5tc+4h74xCWnU3wRjxssALztzGelXvbYjmsJwhIrLHpqCoGX+ngdune2BgywDDFrD0TPAs1gtAjwlk1fcICzzzuJiq86FmV0HZG9Vs/Pu710+m3LrQG6DXADvL7D8aT3ic25B8IrQd0vq5C9u0vXqSYDUAShetl2BNDlLqpXgkYeqIurZLkKYFAPHDXP+V+ffo+nrpscenqS2RB6I2F7YN4DPOPhKcqb/6I9cr51bY6J/Ofue9Mq+fXAAwcOMPFtme4JIu8B+g0NXX2/AKE+QIMDQOJnbOeOlx/QNSktL7gQVuVA9EC35+H3JueBYTxfmHKpAM//wb013tLl4n449EkkAhgo4xwTigBGAH0RsA7hbDweZ9ID2GOEerL9RNU2mKg3rPxYcACX3L+Pcxr9xHGe45A3AG2fL6RnnZvWUfEZPy8C+PCQbGssl/uF1h5o+3whOb61FcCgr7IP6x2wEUCThOtRxxpgNh5OMukThnCj98BsPF/YpAA2tAfe+Mz4QE+XhbXZ0OhDuMEBnn3/1IwRFPf7vMIJ9guPvPSqScQp62xcsySQPD420uAAA1kvCNk+X7ijenEgE/DXmY0eoO3zhbe1n1VYABcvWZMW0mPH3ZPWwa2bV3jmzWE/vpMtmDdNCuWKq8dpYS1Z+IhWPypZ/MxvUvry5vfCYQLcv38/72CrVq34OQJICDH1QIDXLvm6/ZqDjEOMAEYAM1IQdYesNkm5KvzpSef/sIsH5EDwtrlzfs0vjxz9W4LXZPplZV71TWzU5VITHSZ1sgqw03VXchu2PfNiBFA1GioPnLB0AwcHB4B8cGgPZQ6MPFASwnAJIMIB8HSzsAjRNnyhrUYfwiI8+Ozlgcgf148ms7UuPzVagAgBoaEnmnqh21NranbqWEnL165cZL1RYtIwPXiwLtB2ECp3e0tQgKoQbnIAX3p+GvxDVuUhC0+vSaTgAR4+7PzkIFvH4GHXBlKdsxAeeumoNH859esnkLF338GN/vk9k7XGv/DsdG0dmwpFRd5/31XpLi4uyk0OdAMEg/4wdTy366GHZ5BP/velZ/+bNU//xZBqJ0aVM3VwxR0XXV2xPFe7M7TzOf2sJpFOXbqm9avJAdSNqttDly5+PCehobMrX8q1MGwA4hKpZcvc5KOGgKoFGNQogIfgxM9B9eWrnBZgUA+MAIYw5FEIW0L84+cJPsP/rH1M6+mWTTWYeNY6BvAQnPi5wXqapYazBhDtLWR40MesAQzLA+HvzEGcJ2f7gUGMM5GJAJpQ8qgTAbQEGJZ4kw3hJg1w9+5anrjbti3J2iQTFuCG1iMFFAE0HxYK97qwRSXbWBXVqOo09e0tbYj63UwI4/E4HLh8eP5P54sRQB0hTbkWoF/9kQe6iEUh7O1C1h6YjecLTbw+V/e6OlsigDpC2c6BkQdajkAEsJEDbOjNhgbPgZOmTg00hPjwUKMHaPt8YemgERHAQASSQhFAyydcCxKgn+0s2+cLFy6YEciBc/X8n8446/1A2+cLX38+2CSSq+f/tABt9wN3fLBV14Zn+ZYNiwLJ5wvA/wNZnOiec960WQAAAABJRU5ErkJggg==" + } + ], + "animations": [ + { + "uuid": "4e6d14d1-b7bc-9cb9-910e-4a53e5f2e080", + "name": "ex_skill_1", + "loop": "hold", + "override": true, + "length": 5.25, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "e98e96cf-993b-878e-02b8-777c368bb888": { + "name": "Avatar", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 10, + "z": "0" + } + ], + "uuid": "e4f0b6e0-a8b8-6443-a1a2-431a484bce74", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -10, + "z": 0 + } + ], + "uuid": "239ad1fc-19c9-64ca-2c70-f9631b198117", + "time": 4.05, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "48b821bf-ef64-6fe1-5f0f-c03507530693", + "time": 3.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 9, + "y": -10, + "z": "0" + } + ], + "uuid": "dbd8e894-7ffa-dd14-7302-63d14222e3c0", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 9, + "y": 0, + "z": 0 + } + ], + "uuid": "fa737b60-a22e-ca84-8149-0b50a4d09656", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "22d40862-bd19-a16d-9e33-79364e6656d8": { + "name": "Head", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 7.5, + "y": "0", + "z": "0" + } + ], + "uuid": "e8e12df7-258d-2a88-dbbc-029725148f08", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 7.5, + "y": 0, + "z": 0 + } + ], + "uuid": "dc159854-fba9-ac29-da10-51d3a0ba2414", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 7.47178, + "y": -0.65182, + "z": 4.95744 + } + ], + "uuid": "44c9cb09-5632-e290-b333-04cb0a8532af", + "time": 1.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 7.47, + "y": -0.65, + "z": 4.96 + } + ], + "uuid": "fa8a66b8-d4b2-077f-362f-1540712ef99c", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 7.47178, + "y": 0.65182, + "z": -4.95744 + } + ], + "uuid": "979888ae-dec9-6ca8-b50a-29407b526df3", + "time": 1.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 7.47, + "y": 0.65, + "z": -4.96 + } + ], + "uuid": "c6a53d6a-920d-a0a7-e94c-cd0f8390a980", + "time": 1.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 15, + "y": "0", + "z": "0" + } + ], + "uuid": "1afa4027-f91a-9dbc-1b15-59d4455aaad8", + "time": 2.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 15, + "y": 0, + "z": 0 + } + ], + "uuid": "0f7c763d-fe4e-eb97-b9e0-964f22334f75", + "time": 2.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 30, + "y": 0, + "z": 0 + } + ], + "uuid": "30506d6c-9b20-fafb-44bc-d00570b72f7e", + "time": 2.35, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 20.6469, + "y": -14.0761, + "z": -5.23619 + } + ], + "uuid": "11f17e95-473b-141a-bdd0-dff0dba35a99", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 15, + "y": -35, + "z": 0 + } + ], + "uuid": "ba0b6bbe-761f-1420-f6ff-972feadcee19", + "time": 3.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 9.9891, + "y": -41.58768, + "z": -13.26273 + } + ], + "uuid": "88ae7603-24ab-c0ac-bff2-6580d780421d", + "time": 4.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3ef4a513-6419-fc26-408e-8f2b4dea9387": { + "name": "Skirt", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": "0", + "z": "0" + } + ], + "uuid": "cfbce137-8be3-dc34-1325-939a6f877f01", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "d0267683-8f04-8814-fc92-0c91d58178e1", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3c1cb66d-8a31-d31f-ec9f-65a33e313a53": { + "name": "RightArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -70, + "y": "0", + "z": "0" + } + ], + "uuid": "4fc3abbf-0c4e-4c6f-3954-3fa31cbcf98d", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -70, + "y": 0, + "z": 0 + } + ], + "uuid": "1a68786e-08d4-1676-15a8-1b6895af45f4", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -72.5, + "y": 0, + "z": 0 + } + ], + "uuid": "f64ebd3c-1d5b-b175-b086-47bf594efb10", + "time": 1.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -72.5, + "y": 0, + "z": 0 + } + ], + "uuid": "216c1dd0-f1f1-5f5c-2eba-1485aa062bf0", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -60, + "y": 0, + "z": 0 + } + ], + "uuid": "e422c396-dc29-87f7-96c4-54d09eb0eb83", + "time": 1.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -60, + "y": 0, + "z": 0 + } + ], + "uuid": "43f9f9a7-15a4-6ffd-a59f-ffbbd3a656b9", + "time": 1.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-40", + "y": 0, + "z": 0 + } + ], + "uuid": "3c91225c-0248-a78b-0c58-5cd2cd82e34f", + "time": 2.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "3ac9010f-5312-9833-0779-992f195c1cf8", + "time": 2.35, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -38.84, + "y": 0, + "z": 0 + } + ], + "uuid": "075cb0c6-74c6-d20e-5e82-cf7bc9fa6a7b", + "time": 2.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -10 + } + ], + "uuid": "abf86b3d-b40e-4024-3d15-d08d5db9d6ee", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -10 + } + ], + "uuid": "d14fc1c7-9459-a880-19fd-578996eb4a47", + "time": 3.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -25, + "y": -50, + "z": 0 + } + ], + "uuid": "3258acb0-b52c-95f0-d012-40c29fbd77fd", + "time": 4.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "b924539e-1292-1a17-6240-a525ae346090": { + "name": "RightArmBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -20, + "y": "0", + "z": "0" + } + ], + "uuid": "303498a9-b873-2067-ab3e-c5924cccc37c", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -20, + "y": 0, + "z": 0 + } + ], + "uuid": "81fb57c5-a9f4-33d5-e199-4cbcbf76ba9e", + "time": 1.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-60", + "y": 0, + "z": 0 + } + ], + "uuid": "77d1ddd5-2e48-2de6-1fba-cd8064159e49", + "time": 2.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -60, + "y": 0, + "z": 0 + } + ], + "uuid": "25d22559-77a8-7689-af40-e174bebeb7d1", + "time": 2.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -40, + "y": 0, + "z": 0 + } + ], + "uuid": "fc053fec-07db-c998-8591-352f3db10502", + "time": 2.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -40, + "y": 0, + "z": 0 + } + ], + "uuid": "08cd2670-3598-d411-f597-afcbe453ce86", + "time": 3.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -37.5, + "y": 0, + "z": 0 + } + ], + "uuid": "ee84387a-0207-c0cc-c108-e0b901f2c57d", + "time": 4.05, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -22.44, + "y": 0, + "z": 0 + } + ], + "uuid": "f59b1d93-aa50-4545-5286-059072e2e506", + "time": 0.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -19.88, + "y": 0, + "z": 0 + } + ], + "uuid": "02a81b0c-f5f9-d4e0-e639-b64fc27174bd", + "time": 0.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -22.31, + "y": 0, + "z": 0 + } + ], + "uuid": "4b32dbe9-fc5c-179a-e106-a64f62e8a4ac", + "time": 0.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -19.74, + "y": 0, + "z": 0 + } + ], + "uuid": "4cc3caaa-a3e8-72a9-7e78-968ef061b61a", + "time": 0.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -22.16, + "y": 0, + "z": 0 + } + ], + "uuid": "57a63b68-1615-ca4b-640f-7e5187455e61", + "time": 0.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -19.57, + "y": 0, + "z": 0 + } + ], + "uuid": "44567b75-1982-bfa1-59e4-e4fdb43236bd", + "time": 0.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -21.97, + "y": 0, + "z": 0 + } + ], + "uuid": "1b46ed97-708e-23e4-9628-106d7cdc0988", + "time": 0.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -19.36, + "y": 0, + "z": 0 + } + ], + "uuid": "823cb9f7-c460-39d4-fdf2-97a2047b9dcb", + "time": 0.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -21.73, + "y": 0, + "z": 0 + } + ], + "uuid": "bf526ede-53dd-4904-35d2-62f4ca00b954", + "time": 0.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -19.08, + "y": 0, + "z": 0 + } + ], + "uuid": "aadb3834-071b-4c63-2513-58dcfc5a2996", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -21.4, + "y": 0, + "z": 0 + } + ], + "uuid": "9f55c44f-fc5d-a7fd-e686-a6c95525cbe0", + "time": 1.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -18.68, + "y": 0, + "z": 0 + } + ], + "uuid": "f98f5270-b794-6e4d-c7f2-e432afc6dc6f", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -20.91, + "y": 0, + "z": 0 + } + ], + "uuid": "138d8c47-993e-9b30-b0bf-bd0280a7df10", + "time": 1.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -18.07, + "y": 0, + "z": 0 + } + ], + "uuid": "49671aa9-f808-5580-18c1-2170f42ec6df", + "time": 1.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -20.12, + "y": 0, + "z": 0 + } + ], + "uuid": "6dd0c2fa-2609-32e9-7087-b5b1eff96861", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -17, + "y": 0, + "z": 0 + } + ], + "uuid": "24d67f0e-aa4f-32a2-e832-a402ebe77163", + "time": 1.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -18.66, + "y": 0, + "z": 0 + } + ], + "uuid": "a5c3e81f-b947-5dfc-db4c-76325c6f2110", + "time": 1.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15.87, + "y": 0, + "z": 0 + } + ], + "uuid": "6907414a-9372-caa7-9118-b2920a1094b9", + "time": 1.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e7d3e5d8-00e4-587c-7bb6-6787db00054b": { + "name": "LeftArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -70, + "y": "0", + "z": "0" + } + ], + "uuid": "cec8a5e1-a0a0-18a2-ce1f-2eafa111299c", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -70, + "y": 0, + "z": 0 + } + ], + "uuid": "243ba180-b151-eace-e498-91d617b3479a", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -67.5, + "y": 0, + "z": 0 + } + ], + "uuid": "ed1e49a1-55d6-9863-8898-cb7facdac830", + "time": 1.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -67.5, + "y": 0, + "z": 0 + } + ], + "uuid": "e9585eb3-dfcd-0040-e5a4-3041da89c0ed", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -75, + "y": 0, + "z": 0 + } + ], + "uuid": "c11ff21b-f5b1-9b50-d0ff-98b0eb01bee7", + "time": 1.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -75, + "y": 0, + "z": 0 + } + ], + "uuid": "b38656d3-2567-6f6d-b697-e48305445198", + "time": 1.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -40, + "y": 0, + "z": 0 + } + ], + "uuid": "3321e316-cfec-2ebc-0886-402e9d2cfaf4", + "time": 2.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -40, + "y": 0, + "z": 0 + } + ], + "uuid": "2aa447a4-25c3-edfc-1707-8c4ad039797b", + "time": 2.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "53630310-c357-c897-6515-2a6455ceb1eb", + "time": 2.35, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -53.08678, + "y": 64.53645, + "z": -11.69592 + } + ], + "uuid": "0f45796f-f2a0-52f4-84cf-65e267c108fa", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -53.09, + "y": 64.54, + "z": -11.7 + } + ], + "uuid": "943a805a-4fc3-5ee8-bb7a-fdb8b17b1992", + "time": 3.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -40, + "y": "-5", + "z": 0 + } + ], + "uuid": "aab648ca-16f9-b8fb-5747-e145bb13c1c2", + "time": 4.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ad1c45ef-c0a8-6d31-d2dc-fbdc6ab7ddcc": { + "name": "LeftArmBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -20, + "y": "0", + "z": "0" + } + ], + "uuid": "301de9cb-9779-5870-577d-f470ef53ec4d", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -20, + "y": 0, + "z": 0 + } + ], + "uuid": "5d3265b5-3c0b-f85b-1ac0-b5b7a8e85634", + "time": 1.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -60, + "y": 0, + "z": 0 + } + ], + "uuid": "d3106776-04c9-d1d3-c237-d78da52630ae", + "time": 2.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -60, + "y": 0, + "z": 0 + } + ], + "uuid": "b3ce1e7e-cf73-4de1-a9c6-3c0f8d45dde2", + "time": 2.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -40, + "y": 0, + "z": 0 + } + ], + "uuid": "5aadb483-13dc-5d8e-7662-96a3cd57f191", + "time": 2.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "2f61e368-1c06-648e-26d4-aee94647e4da": { + "name": "LowerBody", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "3c351026-ae51-0007-9c17-655e703a1e70", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "54e77f01-d4c7-4948-800a-fb64b9154050", + "time": 3.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "30", + "z": 0 + } + ], + "uuid": "50d06370-6aae-4790-ee29-f3673dd4c2e2", + "time": 4.05, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "4e80b5b4-7c04-8374-f8a7-526b3d36d050": { + "name": "RightLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -79.84892, + "y": 9.84655, + "z": 1.75378 + } + ], + "uuid": "6603a91b-bed9-544e-fbd5-b82c97497777", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 5 + } + ], + "uuid": "fc1e3d7c-efb0-0472-7cd9-856ab7d3b0be", + "time": 3.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 5 + } + ], + "uuid": "ae814d5a-3dcb-26d0-645d-d8c1bfcf9edb", + "time": 3.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -5, + "y": 0, + "z": 5 + } + ], + "uuid": "0f0fc857-c767-faa9-6e75-47483ec4c07f", + "time": 4.05, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "84fe0b3a-286b-e17f-288e-c39feaa2e5e6": { + "name": "RightLegBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 90, + "y": -70, + "z": 50 + } + ], + "uuid": "4333d205-36a4-01a2-6d86-b1b643da194c", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "d2aadd73-4563-e08b-3599-e616c95bd091", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "73b3d6bc-af0b-a066-5d73-f3938109e11f": { + "name": "LeftLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -79.84892, + "y": -9.84655, + "z": -1.75378 + } + ], + "uuid": "4dfe860f-7fb1-acd2-b6a5-9a69009a9886", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": -5 + } + ], + "uuid": "b3ef28c3-d218-7963-7c93-a75ca3dd8bc7", + "time": 3.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -5 + } + ], + "uuid": "5ee6afdd-d507-a54f-227d-ab40b04175f2", + "time": 3.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 5, + "y": 0, + "z": -5 + } + ], + "uuid": "54328ee5-18ef-376f-cb36-f89f67b8d525", + "time": 4.05, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ee9973d4-ff4e-c96b-64f6-d1f28afd69c6": { + "name": "LeftLegBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 90, + "y": 70, + "z": "-50" + } + ], + "uuid": "e88d2d91-285b-8311-8f62-62c4187255a3", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "686dad64-f71e-cd3d-701f-992c72a04e77", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "4ad021e9-2857-4e55-337b-f61da0762800": { + "name": "CameraAnchor", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "-10", + "y": "190", + "z": "25" + } + ], + "uuid": "d250abaa-bc58-f3b0-fdf2-dc685045802e", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "170", + "z": "10" + } + ], + "uuid": "6829ba40-e9d0-734a-6778-c8e88d841cd6", + "time": 1.75, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-25", + "y": "160", + "z": "0" + } + ], + "uuid": "bd4d3eb6-0d33-5173-1f5f-d0b279116df8", + "time": 1.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-15", + "y": 160, + "z": "-15" + } + ], + "uuid": "8ad27e64-f268-fca7-7c51-3caf3893640c", + "time": 3.1, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "140", + "z": "0" + } + ], + "uuid": "24cbf70c-be57-4c6f-d4c4-3df731029a42", + "time": 3.15, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "120", + "z": 0 + } + ], + "uuid": "9370881b-7548-6db3-e66d-d08614ee4374", + "time": 3.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "80", + "z": 0 + } + ], + "uuid": "86ae9257-58e4-cc94-5c50-b2f92c51b5c4", + "time": 4.05, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "20", + "y": "100", + "z": "30" + } + ], + "uuid": "b62a7674-bd6f-e2b3-2bf1-86974aea7048", + "time": 4.7, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.59994, + -0.59994, + -0.59621 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.59994, + 0.59994, + 0.59621 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -8, + "y": 10, + "z": -30 + } + ], + "uuid": "b517f265-97de-f7d3-fca2-84650483b589", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 4, + "y": 17, + "z": -19 + } + ], + "uuid": "293740fa-145f-e7d1-a2fa-22f562b3ac0c", + "time": 1.75, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 9, + "y": 13, + "z": -22 + } + ], + "uuid": "1753c726-3f1e-c02a-3054-1be1cb684e1a", + "time": 1.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 10, + "y": 16, + "z": -22 + } + ], + "uuid": "09f418b2-a92c-bc65-81f2-191c1d5d9f2b", + "time": 3.1, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 24, + "y": 27, + "z": -18 + } + ], + "uuid": "2b0f96a2-6f67-8468-e594-b40b9d0edbc5", + "time": 3.15, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 20, + "y": 27, + "z": -8 + } + ], + "uuid": "7a2e1473-138e-e98c-2739-88483224407e", + "time": 3.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 21, + "y": 27, + "z": 1 + } + ], + "uuid": "4f94759b-d4ba-bb46-c341-f074c3a509bb", + "time": 4.05, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 28, + "y": 29, + "z": -8 + } + ], + "uuid": "c4213945-e8ed-47d2-e49c-4a6dfb44e1fb", + "time": 4.7, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.59994, + -0.59994, + -0.60741 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.59994, + 0.59994, + 0.60741 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + }, + { + "uuid": "ca6e4959-c260-c123-b31a-f3d1f0e47ff9", + "name": "ex_skill_2", + "loop": "once", + "override": true, + "length": 10.15, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "4ad021e9-2857-4e55-337b-f61da0762800": { + "name": "CameraAnchor", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "135", + "z": "0" + } + ], + "uuid": "27be7417-2e9f-a50f-8ab1-9547cef1c33d", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "30", + "y": "180", + "z": 0 + } + ], + "uuid": "cbe3b5ca-02d1-4663-8458-40084198f76f", + "time": 0.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "10", + "y": 180, + "z": 0 + } + ], + "uuid": "347f2ed4-bb2e-7218-6c2d-2fc448974bab", + "time": 1.35, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 180, + "z": 0 + } + ], + "uuid": "b58ac4eb-b756-e9c2-5684-c4d5c0b07c49", + "time": 2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 175, + "z": 0 + } + ], + "uuid": "0e1739bb-2296-8e87-2212-51e0e1f3c549", + "time": 2.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-10", + "y": 175, + "z": 0 + } + ], + "uuid": "62a3b653-fbe3-c9fc-1215-795e11846955", + "time": 2.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 175, + "z": 0 + } + ], + "uuid": "917f0fc7-1b53-d02f-a193-04e186052c87", + "time": 2.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "185", + "z": 0 + } + ], + "uuid": "3767b95d-ca30-8d60-13c8-eb4a1838fb2c", + "time": 4.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-10", + "y": 185, + "z": 0 + } + ], + "uuid": "de8c948f-6464-a113-979a-2975d4802cce", + "time": 4.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 185, + "z": 0 + } + ], + "uuid": "66d240dc-c92c-ee12-4e26-77c3f2f83851", + "time": 4.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "190", + "z": 0 + } + ], + "uuid": "135dd14c-6920-7f2a-9b06-c87da72992bd", + "time": 5.55, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-10", + "y": 190, + "z": 0 + } + ], + "uuid": "33545924-2bed-7aea-7939-ba02e15824eb", + "time": 5.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 190, + "z": 0 + } + ], + "uuid": "02f55d71-ca2b-4bf2-5cd2-b9804caca2de", + "time": 5.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "200", + "z": 0 + } + ], + "uuid": "a28c4dca-baf0-213c-f3d4-2a6c5f7227a6", + "time": 7.65, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "190", + "z": 0 + } + ], + "uuid": "008094bf-7871-e96a-209d-a217acc10e45", + "time": 7.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 190, + "z": 0 + } + ], + "uuid": "50f85f44-77ce-f0b5-0d81-07f904278435", + "time": 8.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "20", + "y": 190, + "z": "5" + } + ], + "uuid": "719f7131-efba-6917-f456-76ca03b65df5", + "time": 8.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "40", + "y": 190, + "z": "0" + } + ], + "uuid": "bdecfc36-a227-8439-40d8-a6e4f9acaa9d", + "time": 8.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -14, + "y": 22, + "z": -13 + } + ], + "uuid": "a118bd98-5952-5849-4aa8-7301b4ca6321", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -32, + "y": 42, + "z": -37 + } + ], + "uuid": "05b65ee8-5818-5b2f-56fe-959503778c0c", + "time": 0.5, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-32", + "y": 22, + "z": -15 + } + ], + "uuid": "93a79e95-9f42-28e0-e9fb-cc337a174c56", + "time": 1.35, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.19667, + -0.25645 + ], + "bezier_left_value": [ + 0, + 0, + -14.36988 + ], + "bezier_right_time": [ + 0.1, + 0.19667, + 0.25645 + ], + "bezier_right_value": [ + 0, + 0, + 14.36988 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -32, + "y": 29, + "z": 38 + } + ], + "uuid": "6dd9f296-bd35-a597-5468-f0de0ac8821d", + "time": 2, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.03099 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.03099 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -21, + "y": 22, + "z": -14 + } + ], + "uuid": "c452df84-5992-bf2e-f07b-97e342cc33cb", + "time": 7.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -21, + "y": 22, + "z": -14 + } + ], + "uuid": "77464e7a-05bc-ed99-aa8f-d080fca5a927", + "time": 8.35, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -21, + "y": "26", + "z": -14 + } + ], + "uuid": "d9ddfb76-cc22-6aaf-a55b-e197e084e891", + "time": 8.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -17, + "y": 32, + "z": -7 + } + ], + "uuid": "e59f6a86-8308-25dd-75f7-96e7a7578f1d", + "time": 8.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -18, + "y": 36, + "z": -9 + } + ], + "uuid": "98bc2372-11c3-3c5f-f1de-1615fda972d1", + "time": 9.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -18, + "y": 35, + "z": -9 + } + ], + "uuid": "3b2c5349-c92b-6539-d412-33a6c1155b95", + "time": 9.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -18, + "y": 36, + "z": -9 + } + ], + "uuid": "54a499d1-1edd-968b-0c8c-90f0a7e9e4dc", + "time": 9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -18, + "y": 38, + "z": -9 + } + ], + "uuid": "78fdee13-d419-2aef-a988-3bdf88ddb44f", + "time": 8.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e98e96cf-993b-878e-02b8-777c368bb888": { + "name": "Avatar", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 67.5, + "z": 0 + } + ], + "uuid": "c80e32d5-da00-95ef-72bd-ca62fa242ff3", + "time": 0.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 180, + "z": 0 + } + ], + "uuid": "75545529-8a66-0513-ba30-e6a5a861eb5e", + "time": 1.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 225, + "z": 0 + } + ], + "uuid": "412321ea-c00f-f627-842a-f647a04e17a5", + "time": 1.5, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 5, + "y": 64.8, + "z": 0 + } + ], + "uuid": "5c9e7d4c-b231-995c-611d-af26d9d7aabb", + "time": 0.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "5", + "y": 153.9, + "z": 0 + } + ], + "uuid": "3325cd75-e632-ea04-4964-18b73b61610a", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 67.5, + "z": 0 + } + ], + "uuid": "a6e3f1cb-e8a2-b178-34db-6f88cbbb6f0b", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "10", + "z": 0 + } + ], + "uuid": "6f9ca6a2-add0-e89a-832b-8a47f8f2af21", + "time": 7.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "e112ecd0-4e95-fcc7-41bc-3d142c16e12b", + "time": 8.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "d554b3e2-1c3e-3eea-762c-ca72ef25a292", + "time": 8.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "f816cb2d-f1fd-ea2c-c2ad-413e02408617", + "time": 8.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0.88045, + "y": 9.96156, + "z": 5.07673 + } + ], + "uuid": "3c5e6501-1fe7-1074-adfd-f3bc3d93991a", + "time": 8.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "74f05aef-d873-2b1b-ed88-414a8e5f8c60", + "time": 0.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -8.5, + "y": 0, + "z": -4 + } + ], + "uuid": "279c9576-1b44-0d3f-007b-72a3fe598c35", + "time": 1.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -17, + "y": 0, + "z": 4 + } + ], + "uuid": "89ac0d82-b535-6ed8-7bee-3d1381701744", + "time": 1.3, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "6334aa56-e32f-9c1f-444d-b7dc26cebae3", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -17, + "y": 0, + "z": 4 + } + ], + "uuid": "363f7eba-9b9c-6886-c3ec-6f376603f3bb", + "time": 7.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -17, + "y": 0, + "z": 4 + } + ], + "uuid": "b2f45da5-122a-01f0-8ac2-8b21b884dbc6", + "time": 8.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -17, + "y": -1, + "z": 4 + } + ], + "uuid": "13ee4df3-b6aa-7359-1e3f-f4cf10d0e705", + "time": 8.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -17, + "y": 2, + "z": 4 + } + ], + "uuid": "d5a8b5cf-8dda-8b90-7e71-490164bb0e56", + "time": 8.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -17, + "y": 2, + "z": 4 + } + ], + "uuid": "4cfa9d2d-546c-48b7-eb49-0e238ce541fd", + "time": 8.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -17, + "y": "0", + "z": 4 + } + ], + "uuid": "9c2f5bc9-e4ab-d567-6c68-aeabfb175165", + "time": 9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -17, + "y": "-1", + "z": 4 + } + ], + "uuid": "c7a84dd8-f88f-15ca-4ddd-76b972240b04", + "time": 9.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -17, + "y": "0", + "z": 4 + } + ], + "uuid": "43510602-3b7d-f411-0088-441cdc7fb166", + "time": 9.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "22d40862-bd19-a16d-9e33-79364e6656d8": { + "name": "Head", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -5.43397, + "y": -9.77264, + "z": 2.52718 + } + ], + "uuid": "7028b258-8c97-676b-448b-37b8c05b3595", + "time": 0.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -0.6234, + "y": -20.07517, + "z": -0.85418 + } + ], + "uuid": "542cd9bb-237f-12e2-5940-fde17e54dc33", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -5.43397, + "y": -9.77264, + "z": 2.52718 + } + ], + "uuid": "cf24b26a-3f93-b5da-374f-926272ce10ee", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -0.60262, + "y": 14.91813, + "z": -1.21802 + } + ], + "uuid": "c46e1bb5-c730-0b11-fe29-5d7e951e3eac", + "time": 7.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 4.42023, + "y": -0.07921, + "z": -1.06471 + } + ], + "uuid": "11812fb9-250d-5774-7b0c-8b07ce9d4719", + "time": 8.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 4.42, + "y": -0.08, + "z": -1.06 + } + ], + "uuid": "6b70ab2e-495d-b512-a408-29f5c603f72f", + "time": 8.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -19.95941, + "y": 1.00157, + "z": 6.33629 + } + ], + "uuid": "3f291621-be2f-d592-a1c3-208d36947934", + "time": 8.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 4.42, + "y": -0.08, + "z": -1.06 + } + ], + "uuid": "174ee6c2-adc3-ffa2-5797-f1b3148fa0ab", + "time": 8.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -19.96, + "y": 1, + "z": 6.34 + } + ], + "uuid": "494d9c9e-8ec0-b5e0-54fc-9c9486e3149c", + "time": 8.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -24.75889, + "y": 5.25359, + "z": 10.1141 + } + ], + "uuid": "4a970360-ea60-f83c-8280-0427c92cf43c", + "time": 9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 4.48705, + "y": 9.89074, + "z": -0.28631 + } + ], + "uuid": "96ac44d7-5cd3-54e5-b09a-66f9e5a18e4c", + "time": 7.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 11.95, + "y": 15.21, + "z": -0.73 + } + ], + "uuid": "ec81cf3f-9f65-e0f8-00b6-3eacecaf8590", + "time": 7.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -5.71156, + "y": -35.079, + "z": -0.65392 + } + ], + "uuid": "5fe8b2f2-a75e-b059-707e-c19ed25e860b", + "time": 2.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -7.61184, + "y": -65.77671, + "z": 7.85974 + } + ], + "uuid": "043aeb5d-209e-a1d4-0420-7961a3f20049", + "time": 2.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -7.61184, + "y": -65.77671, + "z": 7.85974 + } + ], + "uuid": "3ec4b180-5538-4a52-6277-b23251b54e56", + "time": 2.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -5.55444, + "y": -55.84072, + "z": 5.51197 + } + ], + "uuid": "56cbf611-7a6c-466c-7851-03cbd73d9ab2", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -2.15164, + "y": -60.99954, + "z": 1.39416 + } + ], + "uuid": "367111d1-a090-aec0-7bfb-ad65416727e3", + "time": 3.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -2.15164, + "y": -60.99954, + "z": 1.39416 + } + ], + "uuid": "cbc8aa77-24fa-8f5a-5b8a-e922e62f9346", + "time": 5.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -1.33289, + "y": -38.50912, + "z": 0.3421 + } + ], + "uuid": "578575d1-6bae-ea5f-a20d-7d3b308cfa64", + "time": 5.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -3.67119, + "y": -73.48462, + "z": 3.03221 + } + ], + "uuid": "bbd51581-ea7d-3390-2b3e-2edb7c510a8d", + "time": 6.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -2.57426, + "y": -20.30828, + "z": 0.25814 + } + ], + "uuid": "29f825b1-57ca-0a42-85a1-f59449005d80", + "time": 7, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3c1cb66d-8a31-d31f-ec9f-65a33e313a53": { + "name": "RightArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -17.70431, + "y": -55.70491, + "z": 20.10022 + } + ], + "uuid": "65d5d52b-21cd-43b9-9575-dab48308100c", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -17.7, + "y": -55.7, + "z": 20.1 + } + ], + "uuid": "09e0f291-4fd4-3bb6-abbe-2bec5f93ee32", + "time": 1.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 33.44428, + "y": -55.52017, + "z": 15.68453 + } + ], + "uuid": "1ad9f3b3-cf29-1025-d059-a68f8e8c8e5c", + "time": 1.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -63.72592, + "y": 39.40865, + "z": 17.40119 + } + ], + "uuid": "a8b1b218-c3c4-70be-8192-c8b84f48a10a", + "time": 7.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -63.12987, + "y": 14.42385, + "z": 33.78235 + } + ], + "uuid": "59326868-2401-2b90-8349-5b9156c3e23b", + "time": 8.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -63.13, + "y": 14.42, + "z": 33.78 + } + ], + "uuid": "a73af7c8-7850-9ae1-5a92-22b8bfea7c6d", + "time": 8.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -192.68061, + "y": -2.2816, + "z": -27.04098 + } + ], + "uuid": "20cbb764-7fae-5c5a-2f1d-a87c19da5c6a", + "time": 8.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -192.68, + "y": -2.28, + "z": -27.04 + } + ], + "uuid": "db7a69f3-21a8-d614-aa51-6fd084746b17", + "time": 8.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -118.9739, + "y": 8.25683, + "z": -4.30527 + } + ], + "uuid": "fdbda055-6a8c-11f9-6e8a-56759e00463e", + "time": 9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -106.47, + "y": 8.26, + "z": -4.31 + } + ], + "uuid": "17c64cbd-66de-5de5-17b8-8248b4d0ce63", + "time": 9.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -118.9739, + "y": 8.25683, + "z": -4.30527 + } + ], + "uuid": "7feb919e-38d5-6c08-39ab-cb9fd789b671", + "time": 9.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 25.94428, + "y": -55.52017, + "z": 15.68453 + } + ], + "uuid": "61217b21-25e3-48ea-49ad-02787c62a700", + "time": 2.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 22.47, + "y": -52.01, + "z": 15.72 + } + ], + "uuid": "6e3d82f9-c655-493a-5cd6-60417cc30223", + "time": 2.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10.09, + "y": -38.54, + "z": 15.72 + } + ], + "uuid": "ad840ee1-c003-177a-6f32-4b13f5835053", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 11.35841, + "y": -45.90982, + "z": 13.8366 + } + ], + "uuid": "71f7ecdb-7244-1c74-5402-9e5067bfe820", + "time": 3.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 11.35841, + "y": -45.90982, + "z": 13.8366 + } + ], + "uuid": "d9feac18-2a19-cbf3-fe96-99897ff5f154", + "time": 5.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 8.98591, + "y": -28.6771, + "z": 17.70717 + } + ], + "uuid": "e602d4f5-924f-60e2-fe86-43788b482651", + "time": 5.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 8.98591, + "y": -28.6771, + "z": 17.70717 + } + ], + "uuid": "a3198c82-e3a5-f036-4e2a-9b0d4e70a199", + "time": 6.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -28.98887, + "y": -30.1952, + "z": -9.23743 + } + ], + "uuid": "30c3c6e6-d18d-884b-1a1a-35ab399cc5f8", + "time": 7, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "b924539e-1292-1a17-6240-a525ae346090": { + "name": "RightArmBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -55, + "y": "0", + "z": "0" + } + ], + "uuid": "db0f3a55-244a-6357-3fad-3c3c4d2a002d", + "time": 1.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.5, + "y": 0, + "z": 0 + } + ], + "uuid": "6300b9ad-6a6c-5730-3e70-4881fd482231", + "time": 1.5, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -55, + "y": 0, + "z": 0 + } + ], + "uuid": "9b8446ed-5c7f-0f3f-bf2d-e0cacb97a8c3", + "time": 7.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -55, + "y": 0, + "z": 0 + } + ], + "uuid": "312729db-bfbf-3659-4281-ddb06e342731", + "time": 8.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -55, + "y": 0, + "z": 0 + } + ], + "uuid": "dcc03b2b-43f9-b2b3-de1a-a937c47cfd9a", + "time": 8.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "ed3e4674-7638-01bf-837d-9ad253632217", + "time": 8.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "d56d4308-f5d1-96bd-5df2-a3ecdbd77223", + "time": 8.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -22.5, + "y": 0, + "z": 0 + } + ], + "uuid": "228471c0-5d3c-83c6-a1da-0eb91476a6c0", + "time": 9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.5, + "y": 0, + "z": 0 + } + ], + "uuid": "95e2919f-758b-bfcb-71db-2565953a1f33", + "time": 6.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 0, + "z": 0 + } + ], + "uuid": "2adaa9f8-f495-a508-3aa5-1d3e89e0aa9d", + "time": 7, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e7d3e5d8-00e4-587c-7bb6-6787db00054b": { + "name": "LeftArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -16.24, + "y": 51.84, + "z": -40.31 + } + ], + "uuid": "5b2b064c-8ec8-80eb-72d7-7f3d318a5541", + "time": 0.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -32.65515, + "y": 14.28388, + "z": 3.73428 + } + ], + "uuid": "133d20d5-fbef-776f-a6f2-5bf6c5c10656", + "time": 0.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -71.42219, + "y": 26.33186, + "z": 7.27615 + } + ], + "uuid": "7182625c-a860-ee6b-2b53-c6030537245b", + "time": 1.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -16.24, + "y": 51.84, + "z": -40.31 + } + ], + "uuid": "6200e1e5-ffb5-29c6-d218-75d1ad67a85e", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -41.65782, + "y": 56.1867, + "z": -68.1096 + } + ], + "uuid": "596dd38a-9783-f909-e8fe-3413172adbee", + "time": 7.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -41.66, + "y": 56.19, + "z": -68.11 + } + ], + "uuid": "1a3ff92a-0422-5a79-244b-e6223e8e3049", + "time": 8.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -16.66, + "y": 56.19, + "z": -68.11 + } + ], + "uuid": "5bcb2b88-3e22-4cdf-3eb7-bc75e1e473e7", + "time": 8.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -5.99693, + "y": 1.50096, + "z": -14.36806 + } + ], + "uuid": "292ff657-819a-d64b-5829-4321bb9834ec", + "time": 9.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -76.42, + "y": 26.33, + "z": 7.28 + } + ], + "uuid": "b45092b9-de7b-37d5-3595-6bb1210d70c8", + "time": 2.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -45.24534, + "y": -0.27761, + "z": 0.3238 + } + ], + "uuid": "494f3329-d7c0-3a07-5197-3948e578d427", + "time": 2.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -63.11911, + "y": 26.04062, + "z": 1.35195 + } + ], + "uuid": "ea9c91aa-5bd3-ef46-81b7-021f6ef22315", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -45.24534, + "y": -0.27761, + "z": 0.3238 + } + ], + "uuid": "2efa496f-ff73-8b56-6d52-010fb78739b3", + "time": 2.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -44.71553, + "y": 20.79404, + "z": -0.74857 + } + ], + "uuid": "220bae64-0ea5-5ac8-9a37-e4fa6a0881df", + "time": 3.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -44.71553, + "y": 20.79404, + "z": -0.74857 + } + ], + "uuid": "efadd64c-2499-2ae4-0f4f-f311703ba19d", + "time": 5.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -71.29959, + "y": 33.16632, + "z": 1.25843 + } + ], + "uuid": "97e875b3-7e9c-2083-1a32-bead6967d102", + "time": 5.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -71.29959, + "y": 33.16632, + "z": 1.25843 + } + ], + "uuid": "2f05b794-cfc5-be8c-338c-dcefacee10cf", + "time": 6.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -31.31724, + "y": 13.2828, + "z": 8.0453 + } + ], + "uuid": "ecd757cb-2adb-5ed3-b2db-20087b24a298", + "time": 7, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ad1c45ef-c0a8-6d31-d2dc-fbdc6ab7ddcc": { + "name": "LeftArmBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -55, + "y": 0, + "z": 0 + } + ], + "uuid": "d2d2bb34-2b5a-3c56-28d4-a7993dda1517", + "time": 0.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -35, + "y": 0, + "z": 0 + } + ], + "uuid": "50beed2d-c49b-e9a8-7bf2-aec6a131ccab", + "time": 0.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "4af0b3c2-d37d-d779-f1fa-1732429c45aa", + "time": 1.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -55, + "y": 0, + "z": 0 + } + ], + "uuid": "9f07d578-6fd4-155b-52c1-73f3d4a53655", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -60, + "y": 0, + "z": 0 + } + ], + "uuid": "41835130-5d03-e985-fcc9-52cb3e42613e", + "time": 7.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -60, + "y": 0, + "z": 0 + } + ], + "uuid": "a741ae77-3a08-f658-7400-6d6e4ae513f0", + "time": 8.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -22.5, + "y": 0, + "z": 0 + } + ], + "uuid": "39980aee-f113-312c-dc29-525183d1fb89", + "time": 9.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "3e8bc1a8-b13e-dacf-a45a-96bbbc3bedb1", + "time": 2.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -49.69, + "y": 0, + "z": 0 + } + ], + "uuid": "6cc574a9-bf87-6132-7559-475c364bc70e", + "time": 2.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -49.69, + "y": 0, + "z": 0 + } + ], + "uuid": "a7322792-935f-5970-8c96-50db74721a26", + "time": 2.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-20", + "y": 0, + "z": 0 + } + ], + "uuid": "c5707589-fbe1-07c5-899a-ddde60788098", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -35, + "y": 0, + "z": 0 + } + ], + "uuid": "c7d572b3-3d40-8066-5ac4-6f4973e02470", + "time": 3.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -35, + "y": 0, + "z": 0 + } + ], + "uuid": "f05d4e03-8258-18d7-34d5-0568151b51ae", + "time": 5.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "ae513f49-fac9-db69-6e6c-8984853b1301", + "time": 5.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "8dc0b7fe-53b4-1423-a225-bdd4c98c8051", + "time": 6.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "6ccaf3d5-81ab-eb2c-681e-8fc47c8c0a49", + "time": 7, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "2f61e368-1c06-648e-26d4-aee94647e4da": { + "name": "LowerBody", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": -5 + } + ], + "uuid": "879633f9-76d4-89d2-03b3-1546d0d1ed7d", + "time": 8.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "696550a1-477f-75b9-dcae-85f3b448494e", + "time": 8.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "4e80b5b4-7c04-8374-f8a7-526b3d36d050": { + "name": "RightLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -5, + "y": 10, + "z": 0 + } + ], + "uuid": "a41bf189-0a12-15db-e2cb-b114cb7a0b18", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -17.5, + "y": "0", + "z": 0 + } + ], + "uuid": "d4624653-787b-5ad5-690f-e7a8ce1e8b37", + "time": 0.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": "0", + "z": 0 + } + ], + "uuid": "cdf5bc22-60a8-6c4b-4fac-ace187281928", + "time": 1.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": "0", + "z": 0 + } + ], + "uuid": "d581a071-179a-a5a9-4199-5a45f6419f43", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -7.5, + "y": 0, + "z": 0 + } + ], + "uuid": "e0520ff5-2cff-c89e-5c65-9e7b8d608819", + "time": 1.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 1.03509, + "y": -22.47741, + "z": 2.29431 + } + ], + "uuid": "82fe79e6-976b-a49b-5d26-9b8a70b7f36a", + "time": 1.5, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": 0, + "z": "2.5" + } + ], + "uuid": "fbc23e69-367f-1d34-a4b3-81f55bdde875", + "time": 8.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "2.5" + } + ], + "uuid": "e0c69f26-418a-56c8-cf6e-d690c5c2b39a", + "time": 8.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "2.5" + } + ], + "uuid": "80acfd98-553f-df17-a562-d74db76cb4ee", + "time": 7.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 2.5 + } + ], + "uuid": "c2e41365-7989-3b86-2f93-252c7655fe9c", + "time": 8.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": 0, + "z": "2.5" + } + ], + "uuid": "fff557a8-2cdc-4179-21a2-d4849628573c", + "time": 9.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "2.5" + } + ], + "uuid": "bca3fc05-5210-8e9c-a9d5-ec46f1df0f64", + "time": 9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 2.5 + } + ], + "uuid": "16721f44-afa2-171f-3cc8-74a5d355ea07", + "time": 9.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -5, + "y": 10, + "z": 0 + } + ], + "uuid": "4b830217-ce78-baed-cbaa-8fffa60c1387", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "84fe0b3a-286b-e17f-288e-c39feaa2e5e6": { + "name": "RightLegBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "a98f98ca-bcd2-de48-3aa9-d40110416c3b", + "time": 8.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 32.5, + "y": 0, + "z": 0 + } + ], + "uuid": "385f00d5-6c2d-7470-f213-a6bd967f9451", + "time": 8.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "a3e03304-c73f-f997-257b-1053ffafd0b6", + "time": 8.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "ca7d013e-5e8b-53b4-9348-4d05a634c272", + "time": 9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 32.5, + "y": 0, + "z": 0 + } + ], + "uuid": "b13d0371-0a36-d6bb-da9e-a6274fd32fe3", + "time": 9.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "3e0ce979-2e98-52c6-0239-7514ec7bbdd7", + "time": 9.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "73b3d6bc-af0b-a066-5d73-f3938109e11f": { + "name": "LeftLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 20, + "z": "0" + } + ], + "uuid": "7aead4d2-d369-635c-12ab-2466b0fccf46", + "time": 0.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 22.5, + "y": "0", + "z": 0 + } + ], + "uuid": "edec010e-1dbe-0684-2091-c47c911d1400", + "time": 0.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -22.5, + "y": 0, + "z": 0 + } + ], + "uuid": "31daa3b1-7fd4-9b9a-5c76-200a736a4216", + "time": 1.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 15, + "y": 0, + "z": 0 + } + ], + "uuid": "1b0871ea-8eea-bf4b-363c-ccba9a631c7a", + "time": 1.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 7.5, + "y": 0, + "z": "0" + } + ], + "uuid": "faf561a1-ad46-7836-963f-dc9d58c43fce", + "time": 1.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -11.04601, + "y": -25.46212, + "z": -0.27941 + } + ], + "uuid": "aed55c62-7bd3-ba12-28be-4e6bc04c9a89", + "time": 1.55, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 20, + "z": "0" + } + ], + "uuid": "15076e5e-f5d7-f9ac-deee-fe0ff267891a", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": -2.5 + } + ], + "uuid": "49e45929-ad28-b939-453d-2f9c6b239450", + "time": 7.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -2.5 + } + ], + "uuid": "d5a7fd25-0d09-1c37-dea9-2c702dadbe8c", + "time": 8.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": 0, + "z": -2.5 + } + ], + "uuid": "e3a3a5b7-ad13-0af5-4dd8-80ccaf9fc736", + "time": 8.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": -2.5 + } + ], + "uuid": "00d7f9ab-18ed-97ed-be9d-e9152e36f54d", + "time": 8.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -2.5 + } + ], + "uuid": "b3008a20-b49f-1ffb-7227-f11594a6e77a", + "time": 9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": 0, + "z": -2.5 + } + ], + "uuid": "6adb5ab3-a9bb-8da3-622e-65e107e6b09a", + "time": 9.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": -2.5 + } + ], + "uuid": "568248f4-fc1d-92c8-8464-fc48fd58cd55", + "time": 9.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ee9973d4-ff4e-c96b-64f6-d1f28afd69c6": { + "name": "LeftLegBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "eeca33f0-2a63-f169-c20a-65e28b84c999", + "time": 8.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 32.5, + "y": 0, + "z": 0 + } + ], + "uuid": "6e874bf6-6705-c398-8036-8835d7c81179", + "time": 8.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "8e003a68-f2bd-20af-fd57-5960fda5f922", + "time": 8.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "c5e73cb1-8418-87c0-9e1e-ef3ef991a134", + "time": 9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 32.5, + "y": 0, + "z": 0 + } + ], + "uuid": "3cdd0b1a-ffd8-60bc-b6a5-91a4d32fd1df", + "time": 9.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "50993ce6-143c-e1b1-432f-4c07ef20ef7a", + "time": 9.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Midori/scripts/avatar.lua b/config/yosbr/config/figura/avatars/Midori/scripts/avatar.lua new file mode 100644 index 0000000..ff24934 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/scripts/avatar.lua @@ -0,0 +1,225 @@ +---@class Avatar アバターのメインクラス +---@field public avatarEvents AvatarEvents +---@field public modelUtils ModelUtils +---@field public playerUtils PlayerUtils +---@field public compatibilityUtils CompatibilityUtils +---@field public characterData BlueArchiveCharacter +---@field public headRing HeadRing +---@field public headBlock HeadBlock +---@field public locale Locale +---@field public config Config +---@field public cameraManager CameraManager +---@field public keyManager KeyManager +---@field public vanillaModel VanillaModel +---@field public arms Arms +---@field public skirt Skirt +---@field public armor Armor +---@field public faceParts FaceParts +---@field public portrait Portrait +---@field public physics Physics +---@field public gun Gun +---@field public nameplate Nameplate +---@field public exSkill ExSkill +---@field public frameParticleManager ExSkillFrameParticleManager +---@field public placementObjectManager PlacementObjectManager +---@field public costume Costume +---@field public actionWheel ActionWheel +---@field public actionWheelGui ActionWheelGui +---@field public bubble Bubble +---@field public barrier Barrier +---@field public deathAnimation DeathAnimation +---@field public hypixelZombies HypixelZombies +---@field public updateChecker UpdateChecker +---@field public textObjectManager ExSkill1TextObjectManager +---@field public particleManager ExSkill2ParticleManager +---@field public transitionManager ExSkill2TransitionManager +---@field public instantiate fun(class: table, super: table, ...: any) クラスをインスタンス化する + +Avatar = { + ---コンストラクタ + ---@return Avatar + new = function () + ---@type Avatar + local instance = Avatar.instantiate(Avatar) + + --ENTITY_INIT前に読み込み + require("scripts.avatar_modules.avatar_module") + + --ユーティリティクラスの読み込み + require("scripts.avatar_modules.events.abstract_event") + require("scripts.avatar_modules.events.script_init_event") + require("scripts.avatar_modules.events.avatar_events") + instance.avatarEvents = AvatarEvents.new(instance) + instance.avatarEvents:init() + + require("scripts.avatar_modules.utils.model_utils") + instance.modelUtils = ModelUtils.new(instance) + instance.modelUtils:init() + + --アバターモジュールの読み込み + require("scripts.blue_archive_character") + instance.characterData = BlueArchiveCharacter.new(instance) + instance.characterData:init() + + require("scripts.avatar_modules.head_ring") + instance.headRing = HeadRing.new(instance) + instance.headRing:init() + + require("scripts.avatar_modules.head_model_generator") + require("scripts.avatar_modules.head_block") + instance.headBlock = HeadBlock.new(instance) + instance.headBlock:init() + + --生徒固有クラスの読み込み + + events.ENTITY_INIT:register(function () + --ユーティリティクラスの読み込み + require("scripts.avatar_modules.utils.player_utils") + instance.playerUtils = PlayerUtils.new(instance) + instance.playerUtils:init() + + require("scripts.avatar_modules.utils.compatibility_utils") + instance.compatibilityUtils = CompatibilityUtils.new(instance) + instance.compatibilityUtils:init() + + require("scripts.avatar_modules.utils.spawn_object_manager") + require("scripts.avatar_modules.utils.spawn_object") + + --アバターモジュールの読み込み + require("scripts.avatar_modules.locale") + instance.locale = Locale.new(instance) + instance.locale:init() + + require("scripts.avatar_modules.config") + instance.config = Config.new(instance) + instance.config:init() + + require("scripts.avatar_modules.camera_manager") + instance.cameraManager = CameraManager.new(instance) + instance.cameraManager:init() + + require("scripts.avatar_modules.key_manager") + instance.keyManager = KeyManager.new(instance) + instance.keyManager:init() + + require("scripts.avatar_modules.vanilla_model") + instance.vanillaModel = VanillaModel.new(instance) + instance.vanillaModel:init() + + require("scripts.avatar_modules.arms") + instance.arms = Arms.new(instance) + instance.arms:init() + + require("scripts.avatar_modules.skirt") + instance.skirt = Skirt.new(instance) + instance.skirt:init() + + require("scripts.avatar_modules.armor") + instance.armor = Armor.new(instance) + instance.armor:init() + + require("scripts.avatar_modules.face_parts") + instance.faceParts = FaceParts.new(instance) + instance.faceParts:init() + + require("scripts.avatar_modules.portrait") + instance.portrait = Portrait.new(instance) + instance.portrait:init() + + require("scripts.avatar_modules.physics") + instance.physics = Physics.new(instance) + instance.physics:init() + + require("scripts.avatar_modules.gun") + instance.gun = Gun.new(instance) + instance.gun:init() + + require("scripts.avatar_modules.nameplate") + instance.nameplate = Nameplate.new(instance) + instance.nameplate:init() + + require("scripts.avatar_modules.ex_skill.ex_skill") + instance.exSkill = ExSkill.new(instance) + instance.exSkill:init() + + require("scripts.avatar_modules.ex_skill.ex_skill_frame_particle_manager") + require("scripts.avatar_modules.ex_skill.ex_skill_frame_particle") + instance.frameParticleManager = ExSkillFrameParticleManager.new(instance) + instance.frameParticleManager:init() + + require("scripts.avatar_modules.placement_object.placement_object_manager") + require("scripts.avatar_modules.placement_object.placement_object") + instance.placementObjectManager = PlacementObjectManager.new(instance) + instance.placementObjectManager:init() + + require("scripts.avatar_modules.costume") + instance.costume = Costume.new(instance) + instance.costume:init() + + require("scripts.avatar_modules.action_wheel.action_wheel") + instance.actionWheel = ActionWheel.new(instance) + instance.actionWheel:init() + + require("scripts.avatar_modules.action_wheel.action_wheel_gui") + instance.actionWheelGui = ActionWheelGui.new(instance) + instance.actionWheelGui:init() + + require("scripts.avatar_modules.bubble") + instance.bubble = Bubble.new(instance) + instance.bubble:init() + + require("scripts.avatar_modules.barrier") + instance.barrier = Barrier.new(instance) + instance.barrier:init() + + require("scripts.avatar_modules.death_animation") + instance.deathAnimation = DeathAnimation.new(instance) + instance.deathAnimation:init() + + require("scripts.avatar_modules.hypixel_zombies") + instance.hypixelZombies = HypixelZombies.new(instance) + instance.hypixelZombies:init() + + require("scripts.avatar_modules.action_wheel.update_checker") + instance.updateChecker = UpdateChecker.new(instance) + instance.updateChecker:init() + + --生徒固有クラスの読み込み + require("scripts.character_scripts.ex_skill_1_text_object_manager") + require("scripts.character_scripts.ex_skill_1_text_object") + instance.textObjectManager = ExSkill1TextObjectManager.new(instance) + instance.textObjectManager:init() + + require("scripts.character_scripts.ex_skill_2_particle_manager") + require("scripts.character_scripts.ex_skill_2_particle") + instance.particleManager = ExSkill2ParticleManager.new(instance) + instance.particleManager:init() + + require("scripts.character_scripts.ex_skill_2_transition_manager") + require("scripts.character_scripts.ex_skill_2_transition") + instance.transitionManager = ExSkill2TransitionManager.new(instance) + instance.transitionManager:init() + + --SCRIPT_INITイベントを実行 + instance.avatarEvents.SCRIPT_INIT:fire() + end) + + return instance + end; + + ---クラスをインスタンス化する。 + ---@generic S + ---@generic C + ---@param class `C` インスタンス化するクラス + ---@param super? `S` インスタンス化するクラスのスーパークラス + ---@param ... any クラスのインスタンス時に渡される引数 + ---@return C instance インスタンス化されたクラスのオブジェクト + instantiate = function (class, super, ...) + local instance = super and super.new(...) or {} + setmetatable(instance, {__index = class}) + setmetatable(class, {__index = super}) + return instance + end; +} + +AvatarInstance = Avatar.new() \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/action_wheel/action_wheel.lua b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/action_wheel/action_wheel.lua new file mode 100644 index 0000000..e7e2c4e --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/action_wheel/action_wheel.lua @@ -0,0 +1,319 @@ +---@class (exact) ActionWheel : AvatarModule アクションホイールを管理するクラス +---@field package mainPage Page アクションホイールのメインページのインスタンスへの参照 +---@field package selectingCostume integer 現在選択中の衣装 +---@field package selectingName integer 現在選択中の表示名 +---@field package selectingShouldShowClubName boolean 現在選択中の「部活名を表示するかどうか」 +---@field package selectingExSkillParticleAmount integer 現在選択中のExスキルフレームのパーティクル量 +---@field public shouldReplaceVehicleModels boolean 乗り物のモデルを置き換えるかどうか +---@field package isActionWheelOpenedPrev boolean 前ティックにアクションホイールを開けていたかどうか +---@field package refreshCostumeChangeActionTitle fun(self: ActionWheel) 衣装変更アクションのタイトルを更新する +---@field package refreshNameChangeActionTitle fun(self: ActionWheel) 名前変更アクションのタイトルを更新する +---@field package refreshExSkillParticleActionTitle fun(self: ActionWheel) Exスキルアニメーションのパーティクル量調整アクションのタイトルを更新する +---@field package refreshUpdateActionStatus fun(self: ActionWheel) アップデート確認アクションの状態を更新する + +ActionWheel = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ActionWheel + new = function (parent) + ---@type ActionWheel + local instance = Avatar.instantiate(ActionWheel, AvatarModule, parent) + + instance.mainPage = action_wheel:newPage("main") + instance.selectingCostume = instance.parent.costume.currentCostume + instance.selectingName = instance.parent.nameplate.currentName + instance.selectingShouldShowClubName = instance.parent.nameplate.shouldShowClubName + instance.selectingExSkillParticleAmount = instance.parent.exSkill.frameParticleAmount + instance.shouldReplaceVehicleModels = instance.parent.config:loadConfig("PRIVATE", "replaceVehicleModels", true) + instance.isActionWheelOpenedPrev = false + + return instance + end; + + ---初期化関数 + ---@param self ActionWheel + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + events.TICK:register(function() + local isActionWheelOpened = action_wheel:isEnabled() + if isActionWheelOpened then + local mainAction3 = self.mainPage:getAction(3) + mainAction3:setTitle(self.parent.locale:getLocale("action_wheel.main.action_3.title").."§c"..self.parent.locale:getLocale("action_wheel.toggle_off")) + mainAction3:setToggleTitle(self.parent.locale:getLocale("action_wheel.main.action_3.title").."§a"..self.parent.locale:getLocale("action_wheel.toggle_on")) + local mainAction4 = self.mainPage:getAction(4) + mainAction4:setTitle(self.parent.locale:getLocale("action_wheel.main.action_4.title").."§c"..self.parent.locale:getLocale("action_wheel.toggle_off")) + mainAction4:setToggleTitle(self.parent.locale:getLocale("action_wheel.main.action_4.title").."§a"..self.parent.locale:getLocale("action_wheel.toggle_on")) + local mainAction6 = self.mainPage:getAction(6) + if self.parent.characterData.actionWheel.isVehicleOptionEnabled then + mainAction6:setTitle(self.parent.locale:getLocale("action_wheel.main.action_6.title").."§c"..self.parent.locale:getLocale("action_wheel.toggle_off")) + else + mainAction6:setTitle("§7"..self.parent.locale:getLocale("action_wheel.main.action_6.title")..self.parent.locale:getLocale("action_wheel.toggle_off")) + end + mainAction6:setToggleTitle(self.parent.locale:getLocale("action_wheel.main.action_6.title").."§a"..self.parent.locale:getLocale("action_wheel.toggle_on")) + self:refreshCostumeChangeActionTitle() + self:refreshNameChangeActionTitle() + self:refreshExSkillParticleActionTitle() + self:refreshUpdateActionStatus() + elseif not isActionWheelOpened and self.isActionWheelOpenedPrev then + if self.selectingCostume ~= self.parent.costume.currentCostume then + pings.actionWheelChangeCostume(self.selectingCostume) + self.parent.config:saveConfig("PRIVATE", "costume", self.selectingCostume) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.armor.equip_leather"), player:getPos()) + print(self.parent.locale:getLocale("action_wheel.main.action_1.done_first")..self.parent.costume:getCostumeLocalName(self.selectingCostume)..self.parent.locale:getLocale("action_wheel.main.action_1.done_last")) + end + if self.selectingName ~= self.parent.nameplate.currentName or self.selectingShouldShowClubName ~= self.parent.nameplate.shouldShowClubName then + pings.actionWheelChangeName(self.selectingName, self.selectingShouldShowClubName) + self.parent.config:saveConfig("PRIVATE", "name", self.selectingName) + self.parent.config:saveConfig("PRIVATE", "showClubName", self.selectingShouldShowClubName) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:ui.cartography_table.take_result"), player:getPos()) + print(self.parent.locale:getLocale("action_wheel.main.action_2.done_first")..self.parent.nameplate:getName(self.selectingName)..self.parent.locale:getLocale("action_wheel.main.action_2.done_last")) + end + if self.selectingExSkillParticleAmount ~= self.parent.exSkill.frameParticleAmount then + self.parent.exSkill.frameParticleAmount = self.selectingExSkillParticleAmount + self.parent.config:saveConfig("PRIVATE", "exSkillFrameParticleAmount", self.selectingExSkillParticleAmount) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.item.pickup"), player:getPos(), 1, 0.5) + print(self.parent.locale:getLocale("action_wheel.main.action_5.done_first")..self.parent.locale:getLocale("action_wheel.main.action_5.option_"..self.selectingExSkillParticleAmount)..self.parent.locale:getLocale("action_wheel.main.action_5.done_last")) + end + end + self.isActionWheelOpenedPrev = isActionWheelOpened + end) + + --アクションの設定 + + --アクション1. 衣装を変更 + self.mainPage:newAction(1):setItem(self.parent.compatibilityUtils:checkItem("minecraft:leather_chestplate")):setOnScroll(function(direction) + if #self.parent.costume.costumeList >= 2 then + if direction < 0 then + self.selectingCostume = self.selectingCostume == #self.parent.costume.costumeList and 1 or self.selectingCostume + 1 + else + self.selectingCostume = self.selectingCostume == 1 and #self.parent.costume.costumeList or self.selectingCostume - 1 + end + self:refreshCostumeChangeActionTitle() + else + print(self.parent.locale:getLocale("action_wheel.main.action_1.unavailable")) + end + end):setOnLeftClick(function() + if #self.parent.costume.costumeList >= 2 then + self.selectingCostume = self.parent.costume.currentCostume + self:refreshCostumeChangeActionTitle() + end + end):setOnRightClick(function() + if #self.parent.costume.costumeList >= 2 then + self.selectingCostume = 1 + self:refreshCostumeChangeActionTitle() + end + end) + + if #self.parent.costume.costumeList >= 2 then + local action = self.mainPage:getAction(1) + action:setColor(0.78, 0.78, 0.78) + action:setHoverColor(1, 1, 1) + else + local action = self.mainPage:getAction(1) + action:setColor(0.16, 0.16, 0.16) + action:setHoverColor(1, 0.33, 0.33) + end + + --アクション2. 表示名の変更 + self.mainPage:newAction(2):setItem(self.parent.compatibilityUtils:checkItem("minecraft:name_tag")):setColor(0.78, 0.78, 0.78):setHoverColor(1, 1, 1):setOnScroll(function(direction) + if direction < 0 then + self.selectingName = self.selectingName == 6 and 1 or self.selectingName + 1 + else + self.selectingName = self.selectingName == 1 and 6 or self.selectingName - 1 + end + self:refreshNameChangeActionTitle() + end):setOnLeftClick(function() + self.selectingShouldShowClubName = not self.selectingShouldShowClubName + self:refreshNameChangeActionTitle() + end):setOnRightClick(function() + self.selectingName = 1 + self.selectingShouldShowClubName = false + self:refreshNameChangeActionTitle() + end) + + --アクション3. 防具の表示 + self.mainPage:newAction(3):setItem(self.parent.compatibilityUtils:checkItem("minecraft:iron_chestplate")):setColor(0.67, 0, 0):setHoverColor(1, 0.33, 0.33):setToggleColor(0, 0.67, 0):setOnToggle(function (_, action) + pings.actionWheelSetArmorVisible(true) + action:setHoverColor(0.33, 1, 0.33) + self.parent.config:saveConfig("PRIVATE", "showArmor", true) + end):setOnUntoggle(function(_, action) + pings.actionWheelSetArmorVisible(false) + action:setHoverColor(1, 0.33, 0.33) + self.parent.config:saveConfig("PRIVATE", "showArmor", false) + end) + if self.parent.config:loadConfig("PRIVATE", "showArmor", false) then + local action = self.mainPage:getAction(3) + action:setToggled(true) + action:setHoverColor(0.33, 1, 0.33) + end + + --アクション4. 一人称視点での武器モデルの表示 + self.mainPage:newAction(4):setItem(self.parent.compatibilityUtils:checkItem("minecraft:bow")):setColor(0.67, 0, 0):setHoverColor(1, 0.33, 0.33):setToggleColor(0, 0.67, 0):setOnToggle(function (_, action) + self.parent.gun.shouldShowWeaponInFirstPerson = true + action:setHoverColor(0.33, 1, 0.33) + self.parent.config:saveConfig("PRIVATE", "firstPersonWeapon", true) + end):setOnUntoggle(function (_, action) + self.parent.gun.shouldShowWeaponInFirstPerson = false + action:setHoverColor(1, 0.33, 0.33) + self.parent.config:saveConfig("PRIVATE", "firstPersonWeapon", false) + end) + if self.parent.config:loadConfig("PRIVATE", "firstPersonWeapon", true) then + local action = self.mainPage:getAction(4) + action:setToggled(true) + action:setHoverColor(0.33, 1, 0.33) + end + + --アクション5. Exスキルフレームのパーティクルの量 + self.mainPage:newAction(5):setItem(self.parent.compatibilityUtils:checkItem("minecraft:glowstone_dust")):setColor(0.78, 0.78, 0.78):setHoverColor(1, 1, 1):setOnScroll(function (direction) + if direction < 0 then + self.selectingExSkillParticleAmount = self.selectingExSkillParticleAmount == 4 and 1 or self.selectingExSkillParticleAmount + 1 + else + self.selectingExSkillParticleAmount = self.selectingExSkillParticleAmount == 1 and 4 or self.selectingExSkillParticleAmount - 1 + end + self:refreshExSkillParticleActionTitle() + end):setOnLeftClick(function () + self.selectingExSkillParticleAmount = self.parent.exSkill.frameParticleAmount + self:refreshExSkillParticleActionTitle() + end):setOnRightClick(function () + self.selectingExSkillParticleAmount = 1 + self:refreshExSkillParticleActionTitle() + end) + + --アクション6. 乗り物モデルの置き換え + self.mainPage:newAction(6):setItem(self.parent.compatibilityUtils:checkItem("minecraft:oak_boat")):setColor(0.67, 0, 0):setHoverColor(1, 0.33, 0.33):setToggleColor(0, 0.67, 0):setOnToggle(function (_, action) + if self.parent.characterData.actionWheel.isVehicleOptionEnabled then + pings.actionWheelSetShouldReplaceVehicleModels(true) + action:setHoverColor(0.33, 1, 0.33) + self.parent.config:saveConfig("PRIVATE", "replaceVehicleModels", true) + else + print(self.parent.locale:getLocale("action_wheel.main.action_6.unavailable")) + action:setToggled(false) + end + end):setOnUntoggle(function (_, action) + pings.actionWheelSetShouldReplaceVehicleModels(false) + action:setHoverColor(1, 0.33, 0.33) + self.parent.config:saveConfig("PRIVATE", "replaceVehicleModels", false) + end) + if not self.parent.characterData.actionWheel.isVehicleOptionEnabled then + local action = self.mainPage:getAction(6) + action:setColor(0.16, 0.16, 0.16) + action:setHoverColor(1, 0.33, 0.33) + self.shouldReplaceVehicleModels = false + elseif self.shouldReplaceVehicleModels then + local action = self.mainPage:getAction(6) + action:setToggled(true) + action:setHoverColor(0.33, 1, 0.33) + end + + --アクション7. アップデートの確認 + self.mainPage:newAction(7):setItem("minecraft:compass"):setOnLeftClick(function () + if not self.parent.updateChecker.checkerStatus ~= "CHECKING" then + self.parent.updateChecker:checkUpdate() + else + print("action_wheel.main.action_7.ongoing") + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + end + if not net:isNetworkingAllowed() or not net:isLinkAllowed("https://api.github.com") then + print(self.parent.locale:getLocale("action_wheel.main.action_7.networking_api")) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + end + end):onRightClick(function () + if self.parent.updateChecker.latestVersion ~= nil then + host:setClipboard("https://github.com/Gakuto1112/FiguraBlueArchiveCharacters/releases/tag/"..self.parent.updateChecker.latestVersion) + print(self.parent.locale:getLocale("action_wheel.main.action_7.copied")) + else + print(self.parent.locale:getLocale("action_wheel.main.action_7.cannot_check_latest")) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + end + end) + + --アクション8. (空欄) + self.mainPage:newAction(8):setColor(0.16, 0.16, 0.16):setHoverColor(0.16, 0.16, 0.16) + + action_wheel:setPage(self.mainPage) + end + end; + + ---衣装変更アクションのタイトルを更新する。 + ---@param self ActionWheel + refreshCostumeChangeActionTitle = function (self) + if #self.parent.costume.costumeList >= 2 then + self.mainPage:getAction(1):setTitle(self.parent.locale:getLocale("action_wheel.main.action_1.title").."§b"..self.parent.costume:getCostumeLocalName(self.selectingCostume)) + else + self.mainPage:getAction(1):setTitle("§7"..self.parent.locale:getLocale("action_wheel.main.action_1.title")..self.parent.costume:getCostumeLocalName(self.selectingCostume)) + end + end; + + ---名前変更アクションのタイトルを更新する。 + ---@param self ActionWheel + refreshNameChangeActionTitle = function (self) + if self.selectingName >= 2 then + if self.selectingShouldShowClubName then + self.mainPage:getAction(2):setTitle(self.parent.locale:getLocale("action_wheel.main.action_2.title").."§b"..self.parent.nameplate:getName(self.selectingName).."\n§r"..self.parent.locale:getLocale("action_wheel.main.action_2.title_2").."§a"..self.parent.locale:getLocale("action_wheel.toggle_on")) + else + self.mainPage:getAction(2):setTitle(self.parent.locale:getLocale("action_wheel.main.action_2.title").."§b"..self.parent.nameplate:getName(self.selectingName).."\n§r"..self.parent.locale:getLocale("action_wheel.main.action_2.title_2").."§c"..self.parent.locale:getLocale("action_wheel.toggle_off")) + end + else + self.mainPage:getAction(2):setTitle(self.parent.locale:getLocale("action_wheel.main.action_2.title").."§b"..self.parent.nameplate:getName(self.selectingName).."\n§7"..self.parent.locale:getLocale("action_wheel.main.action_2.title_2")..self.parent.locale:getLocale("action_wheel.toggle_"..(self.selectingShouldShowClubName and "on" or "off"))) + end + end; + + ---Exスキルアニメーションのパーティクル量調整アクションのタイトルを更新する。 + ---@param self ActionWheel + refreshExSkillParticleActionTitle = function (self) + self.mainPage:getAction(5):title(self.parent.locale:getLocale("action_wheel.main.action_5.title").."§b"..self.parent.locale:getLocale("action_wheel.main.action_5.option_"..self.selectingExSkillParticleAmount)) + end; + + ---アップデート確認アクションの状態を更新する。 + ---@param self ActionWheel + refreshUpdateActionStatus = function (self) + local action = self.mainPage:getAction(7) + local actionTitle = "" + if self.parent.updateChecker.checkerStatus == "CHECKING" then + actionTitle = actionTitle.."§7"..self.parent.locale:getLocale("action_wheel.main.action_7.title_1")..self.parent.locale:getLocale("action_wheel.main.action_7.title_2").."\n" + action:setColor(0.16, 0.16, 0.16) + action:setHoverColor(1, 0.33, 0.33) + else + actionTitle = actionTitle..self.parent.locale:getLocale("action_wheel.main.action_7.title_1").."§b"..self.parent.locale:getLocale("action_wheel.main.action_7.title_2").."\n" + action:setColor(0.78, 0.78, 0.78) + action:setHoverColor(1, 1, 1) + end + if self.parent.updateChecker.latestVersion == nil then + actionTitle = actionTitle.."§7"..self.parent.locale:getLocale("action_wheel.main.action_7.title_3")..self.parent.locale:getLocale("action_wheel.main.action_7.title_4") + else + actionTitle = actionTitle.."§r"..self.parent.locale:getLocale("action_wheel.main.action_7.title_3").."§b"..self.parent.locale:getLocale("action_wheel.main.action_7.title_4") + end + action:setTitle(actionTitle) + end; +} + +---アクションホイールから衣装を変更するトリガー関数 +---@param costumeId integer 新しい衣装のインデックス番号 +function pings.actionWheelChangeCostume(costumeId) + if costumeId >= 2 then + AvatarInstance.costume:setCostume(costumeId) + else + AvatarInstance.costume:resetCostume() + end +end + +---アクションホイールから名前を変更するトリガー関数 +---@param typeId integer 新しい名前の表示形式のインデックス番号 +---@param shouldShowClubName boolean 部活名を表示するかどうか +function pings.actionWheelChangeName(typeId, shouldShowClubName) + AvatarInstance.nameplate:setName(typeId, shouldShowClubName) +end + +---アクションホイールから防具の可視性を変更するトリガー関数 +---@param visible boolean 防具を表示するかどうか +function pings.actionWheelSetArmorVisible(visible) + AvatarInstance.armor.shouldShowArmor = visible +end + +---アクションホイールから乗り物モデルの置き換えを変更するトリガー関数 +---@param enabled boolean 乗り物モデルの置き換えを有効化するかどうか +function pings.actionWheelSetShouldReplaceVehicleModels(enabled) + AvatarInstance.actionWheel.shouldReplaceVehicleModels = enabled +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/action_wheel/action_wheel_gui.lua b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/action_wheel/action_wheel_gui.lua new file mode 100644 index 0000000..18f89b7 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/action_wheel/action_wheel_gui.lua @@ -0,0 +1,113 @@ +---@class ActionWheelGui : AvatarModule アクションホイールに表示する追加のGUIを管理するクラス +---@field package isActionWheelOpenedPrev boolean 前ティックにアクションホイールを開けていたかどうか + +ActionWheelGui = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ActionWheelGui + new = function (parent) + ---@type ActionWheelGui + local instance = Avatar.instantiate(ActionWheelGui, AvatarModule, parent) + + instance.isActionWheelOpenedPrev = false + + return instance + end; + + ---初期化関数 + ---@param self ActionWheelGui + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + events.TICK:register(function () + local isActionWheelOpened = action_wheel:isEnabled() + if isActionWheelOpened and not self.isActionWheelOpenedPrev then + models.models.action_wheel_gui.Gui:setVisible(true) + + local windowSize = client:getScaledWindowSize() + models.models.action_wheel_gui.Gui.BubbleGuide:setPos(windowSize.x * -0.5 + 44, windowSize.y * -0.5 + 5, 0) + models.models.action_wheel_gui.Gui.ExSkillGuide:setPos(windowSize.x * -0.5 + 57, -21, 0) + models.models.action_wheel_gui.Gui.VersionDisplay:setPos(-0.75, -0.5, 0) + + local bubbleGuideTextTasks = {models.models.action_wheel_gui.Gui.BubbleGuide:getTask("action_wheel.gui.bubble_guide.title"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.GoodEmoji:getTask("bubble_guide.bubble_1.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.HeartEmoji:getTask("bubble_guide.bubble_2.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.NoteEmoji:getTask("bubble_guide.bubble_3.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.QuestionEmoji:getTask("bubble_guide.bubble_4.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.SweatEmoji:getTask("bubble_guide.bubble_5.key_name")} + bubbleGuideTextTasks[1]:setText(self.parent.locale:getLocale("action_wheel.gui.bubble_guide.title")) + for i = 2, #bubbleGuideTextTasks do + bubbleGuideTextTasks[i]:setText("§0"..self.parent.keyManager.keyMappings["bubble_"..(i - 1)]:getKeyName()) + end + + local bubbleGuideTitleWidth = client.getTextWidth(bubbleGuideTextTasks[1]:getText()) / 2 + 4 + local bubbleGuideBodyWidth = 0 + for i = 2, #bubbleGuideTextTasks do + bubbleGuideBodyWidth = math.max(bubbleGuideBodyWidth, client.getTextWidth(bubbleGuideTextTasks[i]:getText()) * 0.5) + end + local bubbleGuideWidth = math.max(bubbleGuideTitleWidth + 6, bubbleGuideBodyWidth + 22) + bubbleGuideWidth = math.max(bubbleGuideWidth, 39) + + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.TitleBar:setPos((bubbleGuideWidth - bubbleGuideTitleWidth) / 2, 0, 0) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.TitleBar:setScale(bubbleGuideTitleWidth, 1, 1) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.TitleCenter:setScale(bubbleGuideWidth - 25, 1, 1) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.TitleLeft:setPos(bubbleGuideWidth - 26, 0, 0) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.BodyTop:setScale(bubbleGuideWidth, 1, 1) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.BodyBottomCenter:setScale(bubbleGuideWidth - 39, 1, 1) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.BodyBottomLeft:setPos(bubbleGuideWidth - 40, 0, 0) + models.models.action_wheel_gui.Gui.BubbleGuide.Emojis:setPos((bubbleGuideWidth - (bubbleGuideBodyWidth + 22)) / 2 + bubbleGuideBodyWidth + 9, 0, 0) + bubbleGuideTextTasks[1]:setPos(bubbleGuideWidth / 2, 0, 0) + for i = 2, #bubbleGuideTextTasks do + bubbleGuideTextTasks[i]:setPos(bubbleGuideBodyWidth / -2 - 4, 1.5, 0) + end + + local exSkillGuideTextTasks = {models.models.action_wheel_gui.Gui.ExSkillGuide:getTask("action_wheel.gui.ex_skill_guide.title"), models.models.action_wheel_gui.Gui.ExSkillGuide:getTask("action_wheel.gui.ex_skill_guide.body_1"), models.models.action_wheel_gui.Gui.ExSkillGuide:getTask("action_wheel.gui.ex_skill_guide.body_2")} + exSkillGuideTextTasks[1]:setText(self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.title")) + exSkillGuideTextTasks[2]:setText(self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill == nil and "§0§l\""..self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.ex_skill_"..self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].exSkill..".name").."\"" or "§0§l\""..self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.ex_skill_"..self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].exSkill..".name").."\"§r§0 - \""..self.parent.keyManager.keyMappings.ex_skill:getKeyName().."\"") + exSkillGuideTextTasks[3]:setText(self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill == nil and "§0"..self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.key_pre")..self.parent.keyManager.keyMappings.ex_skill:getKeyName()..self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.key_post") or "§0§l\""..self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.ex_skill_"..self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill..".name").."\"§r§0 - \""..self.parent.keyManager.keyMappings.ex_skill_sub:getKeyName().."\"") + + local exSkillGuideTitleWidth = client.getTextWidth(exSkillGuideTextTasks[1]:getText()) / 2 + 4 + local exSkillGuideWidth = exSkillGuideTitleWidth + for i = 2, #exSkillGuideTextTasks do + exSkillGuideWidth = math.max(exSkillGuideWidth, client.getTextWidth(exSkillGuideTextTasks[i]:getText()) / 2 + 10) + end + exSkillGuideWidth = math.max(exSkillGuideWidth, 39) + + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.TitleBar:setPos((exSkillGuideWidth - exSkillGuideTitleWidth) / 2, 0, 0) + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.TitleBar:setScale(exSkillGuideTitleWidth, 1, 1) + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.TitleCenter:setScale(exSkillGuideWidth - 25, 1, 1) + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.TitleLeft:setPos(exSkillGuideWidth - 26, 0, 0) + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.BodyBottomCenter:setScale(exSkillGuideWidth - 39, 1, 1) + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.BodyBottomLeft:setPos(exSkillGuideWidth - 40, 0, 0) + exSkillGuideTextTasks[1]:setPos(exSkillGuideWidth / 2, 0, 0) + for i = 2, #exSkillGuideTextTasks do + exSkillGuideTextTasks[i]:setPos(exSkillGuideWidth / 2, (i - 2) * -5 - 8) + end + + local versionDisplayTextTasks = {} + for i = 1, 3 do + table.insert(versionDisplayTextTasks, models.models.action_wheel_gui.Gui.VersionDisplay:getTask("action_wheel.gui.version_display.l"..i)) + end + + for i = 2, 3 do + versionDisplayTextTasks[i]:setPos(0, (i - 1) * -2.25, 0) + end + + elseif not isActionWheelOpened and self.isActionWheelOpenedPrev then + models.models.action_wheel_gui.Gui:setVisible(false) + end + self.isActionWheelOpenedPrev = isActionWheelOpened + end) + + models.models.action_wheel_gui.Gui:setScale(2, 2, 2) + for _, textTask in ipairs({models.models.action_wheel_gui.Gui.BubbleGuide:newText("action_wheel.gui.bubble_guide.title"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.GoodEmoji:newText("bubble_guide.bubble_1.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.HeartEmoji:newText("bubble_guide.bubble_2.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.NoteEmoji:newText("bubble_guide.bubble_3.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.QuestionEmoji:newText("bubble_guide.bubble_4.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.SweatEmoji:newText("bubble_guide.bubble_5.key_name"), models.models.action_wheel_gui.Gui.ExSkillGuide:newText("action_wheel.gui.ex_skill_guide.title"), models.models.action_wheel_gui.Gui.ExSkillGuide:newText("action_wheel.gui.ex_skill_guide.body_1"), models.models.action_wheel_gui.Gui.ExSkillGuide:newText("action_wheel.gui.ex_skill_guide.body_2")}) do + textTask:setScale(0.5, 0.5, 0.5) + textTask:setAlignment("CENTER") + end + for i = 1, 3 do + local textTask = models.models.action_wheel_gui.Gui.VersionDisplay:newText("action_wheel.gui.version_display.l"..i) + textTask:setScale(0.25, 0.25, 0.25) + textTask:setShadow(true) + if i == 1 then + textTask:setText("Figura Blue Archive Characters (FBAC)") + end + end + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/action_wheel/update_checker.lua b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/action_wheel/update_checker.lua new file mode 100644 index 0000000..0d52aa7 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/action_wheel/update_checker.lua @@ -0,0 +1,181 @@ +---@alias UpdateChecker.CheckerStatus +---| "INIT" # 初期状態 +---| "CHECKING" # アップデート確認中 +---| "LATEST" # アップデート確認済み:最新版 +---| "UPDATE_AVAILABLE" # アップデート確認済み:アップデートあり +---| "ERROR_INVALID_JSON" # エラー:予期しないJSONデータ +---| "ERROR_INVALID_JSON_SYNTAX" # エラー:不正なJSON構文 +---| "ERROR_REQUEST_FAILED" # リクエストに失敗 +---| "ERROR_NETWORK_ERR" # ネットワークエラー +---| "ERROR_NOT_ALLOWED" # ネットワーキングAPIが不許可 + +---@class (exact) UpdateChecker : AvatarModule FBACのアップデートの確認を管理するクラス +---@field package FBAC_VERSION string 現在のFBACバージョン +---@field package BRANCH_NAME string このブランチ名(キャラクター名) +---@field public latestVersion? string リモート上にある最新のFBACバージョン +---@field public checkerStatus UpdateChecker.CheckerStatus アップデートチェッカーの状態 +---@field package requestStatus integer 送信したリクエストのステータスコード +---@field package responseHandler Future.HttpResponse|nil httpレスポンスのハンドラ +---@field package textAnimationCount integer 新しいバージョン表示のテキストのアニメーションのカウンター +---@field package isActionWheelOpenedPrev boolean 前ティックにアクションホイールを開けていたかどうか +---@field package compareVersions fun(version1: string, version2: string): string|nil 2つのバージョン文字列を比較し、新しい方を返す +---@field package showNewUpdateMessage fun(self: UpdateChecker) 新FBACバージョンのお知らせを表示する +---@field public checkUpdate fun(self: UpdateChecker) FBACアップデートの確認を行う + +UpdateChecker = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return UpdateChecker + new = function (parent) + ---@type UpdateChecker + local instance = Avatar.instantiate(UpdateChecker, AvatarModule, parent) + + instance.FBAC_VERSION = "v2.1.2" + instance.BRANCH_NAME = "Midori" + instance.latestVersion = instance.parent.config:loadConfig("PUBLIC", "latestVersion", nil) + instance.checkerStatus = "INIT" + instance.requestStatus = 0 + instance.textAnimationCount = 0 + + return instance + end; + + ---初期化関数 + ---@param self UpdateChecker + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + models.models.action_wheel_gui.Gui.VersionDisplay:getTask("action_wheel.gui.version_display.l2"):setText(self.FBAC_VERSION.." - "..self.BRANCH_NAME) + + events.TICK:register(function () + local isActionWheelOpened = action_wheel:isEnabled() + if isActionWheelOpened then + local textTask = models.models.action_wheel_gui.Gui.VersionDisplay:getTask("action_wheel.gui.version_display.l3") + if self.checkerStatus == "UPDATE_AVAILABLE" then + if math.floor(self.textAnimationCount / 20) % 2 == 0 then + textTask:setText("§6§n"..self.parent.locale:getLocale("action_wheel.gui.update_check.update_available")..self.latestVersion) + else + textTask:setText("§n"..self.parent.locale:getLocale("action_wheel.gui.update_check.update_available")..self.latestVersion) + end + self.textAnimationCount = self.textAnimationCount + 1 + elseif self.checkerStatus == "ERROR_REQUEST_FAILED" then + textTask:setText(self.parent.locale:getLocale("action_wheel.gui.update_check.error_request_failed").."("..self.requestStatus..")") + else + textTask:setText(self.parent.locale:getLocale("action_wheel.gui.update_check."..self.checkerStatus:lower())) + end + elseif not isActionWheelOpened and self.isActionWheelOpenedPrev then + self.textAnimationCount = 0 + end + self.isActionWheelOpenedPrev = isActionWheelOpened + end) + + local lastUpdateCheckTime = self.parent.config:loadConfig("PUBLIC", "lastUpdateCheckTime", 0) + if client:getSystemTime() >= lastUpdateCheckTime + 86400000 then + self:checkUpdate() + else + local newerVersion = self.compareVersions(self.latestVersion, self.FBAC_VERSION) + if newerVersion ~= nil and newerVersion ~= self.FBAC_VERSION then + self:showNewUpdateMessage() + self.checkerStatus = "UPDATE_AVAILABLE" + else + self.checkerStatus = "LATEST" + end + end + end + end; + + ---2つのバージョン文字列を比較し、新しい方を返す。 + ---@param version1 string 比較するバージョン文字列1 + ---@param version2 string 比較するバージョン文字列2 + ---@return string|nil newerVersion 新しい方のバージョン文字列。比較不可能だった場合はnilを返す。 + compareVersions = function (version1, version2) + local major1, minor1, patch1 = version1:match("^v(%d+)%.(%d+)%.(%d+)") + local major2, minor2, patch2 = version2:match("^v(%d+)%.(%d+)%.(%d+)") + major1 = tonumber(major1) + minor1 = tonumber(minor1) + patch1 = tonumber(patch1) + major2 = tonumber(major2) + minor2 = tonumber(minor2) + patch2 = tonumber(patch2) + if major1 ~= nil and minor1 ~= nil and patch1 ~= nil and major2 ~= nil and minor2 ~= nil and patch2 ~= nil then + return (major1 > major2 or (major1 == major2 and minor1 > minor2) or (major1 == major2 and minor1 == minor2 and patch1 > patch2)) and version1 or version2 + end + end; + + ---新FBACバージョンのお知らせを表示する。 + ---@param self UpdateChecker + showNewUpdateMessage = function (self) + print(self.parent.locale:getLocale("action_wheel.gui.update_check.update_available")..self.latestVersion) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.experience_orb.pickup"), player:getPos(), 1, 1) + end; + + ---FBACアップデートの確認を行う。 + ---@param self UpdateChecker + checkUpdate = function (self) + if host:isHost() and self.checkerStatus ~= "CHECKING" then + self.checkerStatus = "CHECKING" + if net:isNetworkingAllowed() and net:isLinkAllowed("https://api.github.com") then + local request = net.http:request("https://api.github.com/repos/Gakuto1112/FiguraBlueArchiveCharacters/tags") + self.responseHandler = request:send() + events.TICK:register(function () + if self.responseHandler:isDone() then + local response = self.responseHandler:getValue() + if response ~= nil then + local stats = response:getResponseCode() + if math.floor(stats / 100) == 2 then + local stream = response:getData() + local buffer = data:createBuffer() + buffer:readFromStream(stream) + buffer:setPosition(0) + local jsonData = buffer:readByteArray() + if json.isSerializable(jsonData) then + local parseData = parseJson(jsonData) + if parseData[1] ~= nil and parseData[1].name ~= nil then + local newerVersion = self.compareVersions(parseData[1].name, self.FBAC_VERSION) + if newerVersion ~= nil then + if newerVersion ~= self.FBAC_VERSION then + --新しいバージョンがある + self.latestVersion = parseData[1].name + self.checkerStatus = "UPDATE_AVAILABLE" + self:showNewUpdateMessage() + else + --現在は最新 + self.latestVersion = parseData[1].name + self.checkerStatus = "LATEST" + end + self.parent.config:saveConfig("PUBLIC", "lastUpdateCheckTime", client:getSystemTime()) + self.parent.config:saveConfig("PUBLIC", "latestVersion", parseData[1].name) + else + --予期しないJSONデータ + self.checkerStatus = "ERROR_INVALID_JSON" + end + else + --予期しないJSONデータ + self.checkerStatus = "ERROR_INVALID_JSON" + end + else + --JSON解析エラー + self.checkerStatus = "ERROR_INVALID_JSON_SYNTAX" + end + stream:close() + buffer:close() + else + --ステータスコードが200番台以外 + self.checkerStatus = "ERROR_REQUEST_FAILED" + self.requestStatus = stats + end + else + --ネットワークエラー + self.checkerStatus = "ERROR_NETWORK_ERR" + end + events.TICK:remove("update_checker_http_tick") + end + end, "update_checker_http_tick") + else + ---ネットワーキングAPIが不許可 + self.checkerStatus = "ERROR_NOT_ALLOWED" + end + end + end; +} diff --git a/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/armor.lua b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/armor.lua new file mode 100644 index 0000000..7c22696 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/armor.lua @@ -0,0 +1,364 @@ +---防具の部位 +---@alias Armor.ArmorPart +---| "HELMET" # ヘルメット +---| "CHEST_PLATE" # チェストプレート +---| "LEGGINGS" # レギンス +---| "BOOTS" # ブーツ + +---@class (exact) Armor : AvatarModule 防具の表示を制御するクラス +---@field public shouldShowArmor boolean 防具を表示するかどうか +---@field public armorSlotItems ItemStack[] 現ティックの防具スロットのアイテム +---@field package armorSlotItemsPrev ItemStack[] 前ティックの防具スロットのアイテム +---@field public isArmorVisible Armor.VisiblePartsSet 各防具の部位(ヘルメット、チェストプレート、レギンス、ブーツ)が可視状態かどうか +---@field package textureQueue Armor.TextureQueueData[] テクスチャ処理のキュー +---@field package getArmorColor fun(armorItem: ItemStack): number 防具の色を取得する +---@field package compareTrims fun(trim1?: Armor.TrimData, trim2?: Armor.TrimData): boolean 防具装飾が同じものか比較する +---@field package addTextureQueue fun(self: Armor, texture: Texture, paletteName: string) テクスチャの処理のキューにデータを挿入する +---@field package getTrimTexture fun(self: Armor, trimData?: Armor.TrimData, armorId: string): Texture|nil バニラパーツの防具装飾のテクスチャを取得する。テクスチャの処理は次のチック以降行われる。 +---@field public setHelmet fun(self: Armor, helmetItem: ItemStack) ヘルメットを更新する +---@field public setChestplate fun(self: Armor, chestplateItem: ItemStack) チェストプレートを更新する +---@field public setLeggings fun(self: Armor, leggingsItem: ItemStack) レギンスを更新する +---@field public setBoots fun(self: Armor, bootsItem: ItemStack) ブーツを更新する + +---@class (exact) Armor.VisiblePartsSet 各防具の部位の可視状態のセット +---@field public helmet boolean ヘルメット +---@field public chestplate boolean チェストプレート +---@field public leggings boolean レギンス +---@field public boots boolean ブーツ + +---@class (exact) Armor.TextureQueueData テクスチャキューに入るデータの構造体 +---@field public texture Texture 処理対象のテクスチャ +---@field public palette Texture 処理に使用するパレットのテクスチャ +---@field public iterationCount integer 現在の繰り返しカウンター + +---@class (exact) Armor.TrimData 防具装飾のデータセット +---@field public pattern string 防具装飾の模様 +---@field public material string 防具装飾の素材 + +Armor = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Armor + new = function (parent) + ---@type Armor + local instance = Avatar.instantiate(Armor, AvatarModule, parent) + instance.shouldShowArmor = instance.parent.config:loadConfig("PRIVATE", "showArmor", false) + instance.armorSlotItems = {world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air"))} + instance.armorSlotItemsPrev = {world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air"))} + instance.isArmorVisible = { + helmet = false; + chestplate = false; + leggings = false; + boots = false; + } + instance.textureQueue = {} + + return instance + end; + + ---初期化関数 + ---@param self Armor + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + self.armorSlotItems = self.shouldShowArmor and {player:getItem(6), player:getItem(5), player:getItem(4), player:getItem(3)} or {world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))} + if self.armorSlotItems[1].id ~= self.armorSlotItemsPrev[1].id then + self:setHelmet(self.armorSlotItems[1]) + end + if self.armorSlotItems[2].id ~= self.armorSlotItemsPrev[2].id then + self:setChestplate(self.armorSlotItems[2]) + end + if self.armorSlotItems[3].id ~= self.armorSlotItemsPrev[3].id then + self:setLeggings(self.armorSlotItems[3]) + end + if self.armorSlotItems[4].id ~= self.armorSlotItemsPrev[4].id then + self:setBoots(self.armorSlotItems[4]) + end + + for index, armorSlotItem in ipairs(self.armorSlotItems) do + local glint = armorSlotItem:hasGlint() + if glint ~= self.armorSlotItemsPrev[index]:hasGlint() then + --エンチャント変更 + local renderType = glint and "GLINT" or "NONE" + if index == 2 then + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom}) do + armorPart:setSecondaryRenderType(renderType) + end + elseif index == 3 then + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom}) do + armorPart:setSecondaryRenderType(renderType) + end + else + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom}) do + armorPart:setSecondaryRenderType(renderType) + end + end + end + local armorColor = self.getArmorColor(armorSlotItem) + if armorColor ~= self.getArmorColor(self.armorSlotItemsPrev[index]) then + --色変更 + local colorVector = vectors.intToRGB(armorColor) + if index == 2 then + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplate, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottom, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplate, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottom}) do + armorPart:setColor(colorVector) + end + elseif index == 3 then + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggings, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggings, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottom}) do + armorPart:setColor(colorVector) + end + else + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBoots, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBoots, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottom}) do + armorPart:setColor(colorVector) + end + end + end + local trim = self.armorSlotItems[index].tag.Trim + if not self.compareTrims(trim, self.armorSlotItemsPrev[index].tag.Trim) then + --トリム変更 + if index == 2 then + local trimTexture = self:getTrimTexture(trim, self.armorSlotItems[2].id) + if trimTexture then + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplateTrim, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottomTrim, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplateTrim, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottomTrim}) do + armorPart:setVisible(true) + armorPart:setPrimaryTexture("CUSTOM", trimTexture) + end + else + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplateTrim, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottomTrim, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplateTrim, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottomTrim}) do + armorPart:setVisible(false) + end + end + elseif index == 3 then + local trimTexture = self:getTrimTexture(trim, self.armorSlotItems[3].id) + if trimTexture then + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggingsTrim, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottomTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggingsTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottomTrim}) do + armorPart:setVisible(true) + armorPart:setPrimaryTexture("CUSTOM", trimTexture) + end + else + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggingsTrim, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottomTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggingsTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottomTrim}) do + armorPart:setVisible(false) + end + end + else + local trimTexture = self:getTrimTexture(trim, self.armorSlotItems[4].id) + if trimTexture then + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBootsTrim, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottomTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBootsTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottomTrim}) do + armorPart:setVisible(true) + armorPart:setPrimaryTexture("CUSTOM", trimTexture) + end + else + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBootsTrim, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottomTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBootsTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottomTrim}) do + armorPart:setVisible(false) + end + end + end + end + end + --テクスチャの作成処理 + if #self.textureQueue > 0 then + local instructionsAvailable = avatar:getMaxTickCount() - 3000 --このTICKで使用出来る残りの命令数 + while #self.textureQueue > 0 and instructionsAvailable > 0 do + local dimension = self.textureQueue[1].texture:getDimensions() + for y = math.floor(self.textureQueue[1].iterationCount / dimension.x), dimension.y - 1 do + for x = self.textureQueue[1].iterationCount % dimension.x, dimension.x - 1 do + local pixel = self.textureQueue[1].texture:getPixel(x, y) + if pixel.w == 1 then + self.textureQueue[1].texture:setPixel(x, y, self.textureQueue[1].palette:getPixel(7 - math.floor(pixel.x * 8), 0)) + end + self.textureQueue[1].iterationCount = self.textureQueue[1].iterationCount + 1 + instructionsAvailable = instructionsAvailable - 45 + if instructionsAvailable <= 0 then + break + end + end + if instructionsAvailable <= 0 then + break + end + end + self.textureQueue[1].texture:update() + if self.textureQueue[1].iterationCount == dimension.x * dimension.y then + table.remove(self.textureQueue, 1) + end + end + end + self.armorSlotItemsPrev = self.armorSlotItems + end) + + for _, vanillaModel in ipairs({vanilla_model.HELMET, vanilla_model.CHESTPLATE, vanilla_model.LEGGINGS}) do + vanillaModel:setVisible(false) + end + for _, overlayPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottomOverlay, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottomOverlay, models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBootsOverlay, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottomOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBootsOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottomOverlay}) do + overlayPart:setPrimaryTexture("RESOURCE", "minecraft:textures/models/armor/leather_layer_1_overlay.png") + end + for _, overlayPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggingsOverlay, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottomOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggingsOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottomOverlay}) do + overlayPart:setPrimaryTexture("RESOURCE", "minecraft:textures/models/armor/leather_layer_2_overlay.png") + end + end; + + ---防具の色を取得する。 + ---@param armorItem ItemStack 調べるアイテムのオブジェクト + ---@return number color 防具モデルに設定すべき色 + getArmorColor = function (armorItem) + if armorItem.id:find("^minecraft:leather_") then + if armorItem.tag then + if armorItem.tag.display then + return armorItem.tag.display.color and armorItem.tag.display.color or 10511680 + else + return 10511680 + end + else + return 10511680 + end + else + return 16777215 + end + end; + + ---防具装飾が同じものか比較する。 + ---@param trim1? Armor.TrimData 比較する防具装飾のテーブル1 + ---@param trim2? Armor.TrimData 比較する防具装飾のテーブル2 + ---@return boolean isTrimSame 2つの防具装飾が同じものかどうか + compareTrims = function (trim1, trim2) + if type(trim1) == type(trim2) then + if trim1 then + if trim1.pattern ~= trim2.pattern then + return false + elseif trim1.material ~= trim2.material then + return false + else + return true + end + else + return true + end + else + return false + end + end; + + ---テクスチャの処理のキューにデータを挿入する。 + ---@param self Armor + ---@param texture Texture 処理を行うテクスチャ + ---@param paletteName string 使用するパレットの名前 + addTextureQueue = function (self, texture, paletteName) + if textures["trim_palette_"..paletteName] == nil then + textures:fromVanilla("trim_palette_"..paletteName, "minecraft:textures/trims/color_palettes/"..paletteName..".png") + end + table.insert(self.textureQueue, 1, { + texture = texture, + palette = textures["trim_palette_"..paletteName], + iterationCount = 0 + }) + end; + + ---バニラパーツの防具装飾のテクスチャを取得する。テクスチャの処理は次のチック以降行われる。 + ---@param self Armor + ---@param trimData? Armor.TrimData 防具装飾のデータ + ---@param armorId string 防具アイテムのID。 + ---@return Texture|nil trimTexture 色を付けた防具装飾のテクスチャ。防具や防具装飾が非バニラの場合はnilを返す。 + getTrimTexture = function (self, trimData, armorId) + if trimData and trimData.pattern:find("^minecraft:.+$") and trimData.material:find("^minecraft:.+$") and armorId:find("^minecraft:.+_.+$") then + local normalizedPatternName = trimData.pattern:match("^minecraft:(%a+)$") + local normalizedArmorMaterialName = armorId:match("^minecraft:(%a+)_.+$") + normalizedArmorMaterialName = normalizedArmorMaterialName == "golden" and "gold" or normalizedArmorMaterialName + local normalizedMaterialName = trimData.material:match("^minecraft:(%a+)$") + normalizedMaterialName = normalizedMaterialName..(normalizedArmorMaterialName == normalizedMaterialName and "_darker" or "") + local isLeggings = armorId:find("^minecraft:.+_leggings$") + local textureName = "trim_"..normalizedPatternName.."_"..normalizedMaterialName..(isLeggings and "_leggings" or "") + if textures[textureName] then + return textures[textureName] + else + local texture = textures:fromVanilla(textureName, "minecraft:textures/trims/models/armor/"..normalizedPatternName..(armorId:find("^minecraft:.+_leggings$") ~= nil and "_leggings" or "")..".png") + self:addTextureQueue(texture, normalizedMaterialName) + return texture + end + end + end; + + ---ヘルメットを更新する。 + ---@param self Armor + ---@param helmetItem ItemStack ヘルメットのスロットに入っているアイテム + setHelmet = function (self, helmetItem) + local helmetFound = helmetItem.id ~= "minecraft:air" + vanilla_model.HELMET:setVisible(helmetFound) + self.isArmorVisible.helmet = helmetFound + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onArmorChange ~= nil then + self.parent.characterData.costume.callbacks.onArmorChange(self.parent.characterData, "HELMET", self.isArmorVisible.helmet) + end + end; + + ---チェストプレートを更新する。 + ---@param self Armor + ---@param chestplateItem ItemStack チェストプレートスロットに入っているアイテム + setChestplate = function (self, chestplateItem) + local chestplateFound = chestplateItem.id:find("^minecraft:.+_chestplate$") ~= nil + vanilla_model.CHESTPLATE:setVisible(chestplateFound) + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB}) do + armorPart:setVisible(chestplateFound) + end + self.isArmorVisible.chestplate = chestplateFound + if self.isArmorVisible.chestplate then + local material = chestplateItem.id:match("^minecraft:(%a+)_chestplate$") + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplate, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottom, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplate, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottom}) do + armorPart:setPrimaryTexture("RESOURCE", "minecraft:textures/models/armor/"..(material == "golden" and "gold" or material).."_layer_1.png") + end + end + local overlayVisible = chestplateItem.id == "minecraft:leather_chestplate" + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottomOverlay, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottomOverlay}) do + armorPart:setVisible(overlayVisible) + end + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onArmorChange ~= nil then + self.parent.characterData.costume.callbacks.onArmorChange(self.parent.characterData, "CHEST_PLATE", self.isArmorVisible.chestplate) + end + end; + + ---レギンスを更新する。 + ---@param self Armor + ---@param leggingsItem ItemStack レギンススロットに入っているアイテム + setLeggings = function (self, leggingsItem) + local leggingsFound = leggingsItem.id:find("^minecraft:.+_leggings$") ~= nil + vanilla_model.LEGGINGS:setVisible(leggingsFound) + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom}) do + armorPart:setVisible(leggingsFound) + end + self.isArmorVisible.leggings = leggingsFound + if self.isArmorVisible.leggings then + local material = leggingsItem.id:match("^minecraft:(%a+)_leggings$") + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggings, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggings, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottom}) do + armorPart:setPrimaryTexture("RESOURCE", "minecraft:textures/models/armor/"..(material == "golden" and "gold" or material).."_layer_2.png") + end + end + local overlayVisible = leggingsItem.id == "minecraft:leather_leggings" + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggingsOverlay, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottomOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggingsOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottomOverlay}) do + armorPart:setVisible(overlayVisible) + end + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onArmorChange ~= nil then + self.parent.characterData.costume.callbacks.onArmorChange(self.parent.characterData, "LEGGINGS", self.isArmorVisible.leggings) + end + end; + + ---ブーツを更新する。 + ---@param self Armor + ---@param bootsItem ItemStack ブーツスロットに入っているアイテム + setBoots = function (self, bootsItem) + local bootsFound = bootsItem.id:find("^minecraft:.+_boots$") ~= nil + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom}) do + armorPart:setVisible(bootsFound) + end + self.isArmorVisible.boots = bootsFound + if self.isArmorVisible.boots then + local material = bootsItem.id:match("^minecraft:(%a+)_boots$") + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBoots, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBoots, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottom}) do + armorPart:setPrimaryTexture("RESOURCE", "minecraft:textures/models/armor/"..(material == "golden" and "gold" or material).."_layer_1.png") + end + end + local overlayVisible = bootsItem.id == "minecraft:leather_boots" + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBootsOverlay, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottomOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBootsOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottomOverlay}) do + armorPart:setVisible(overlayVisible) + end + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onArmorChange ~= nil then + self.parent.characterData.costume.callbacks.onArmorChange(self.parent.characterData, "BOOTS", self.isArmorVisible.boots) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/arms.lua b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/arms.lua new file mode 100644 index 0000000..27ef260 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/arms.lua @@ -0,0 +1,192 @@ +---@class (exact) Arms : AvatarModule アバターの腕を制御するクラス +---@field public armState Arms.ArmStateSet 腕の状態:0. バニラ状態, 1. 銃を構えている際の、銃を構えている方の腕, 2. 銃を構えている際の、銃を構えていない方の腕, 3. クロスボウ装填中 +---@field package armStatePrev Arms.ArmStateSet 前ティックの腕の状態 +---@field package swingCount integer 腕をプラプラさせるカウンター +---@field package isSwingCountProcessed boolean 腕プラプラカウンターを処理したかどうか +---@field package processArmWingCount fun(self: Arms) 腕プラプラカウンターを処理する +---@field public setArmState fun(self: Arms, right?: integer, left?: integer) 腕の状態を設定する + +---@class (exact) Arms.ArmStateSet 腕の状態を示すデータセット +---@field public right integer 右腕の状態 +---@field public left integer 左腕の状態 + +Arms = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Arms + new = function (parent) + ---@type Arms + local instance = Avatar.instantiate(Arms, AvatarModule, parent) + + instance.armState = { + right = 0; + left = 0; + } + instance.armStatePrev = { + right = 0; + left = 0; + } + instance.swingCount = 0 + instance.isSwingCountProcessed = false + + return instance + end; + + ---初期化関数 + ---@param self Arms + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + self.isSwingCountProcessed = false + end) + end; + + ---腕プラプラカウンターを処理する。 + ---@param self Arms + processArmWingCount = function (self) + if not client:isPaused() and not self.isSwingCountProcessed then + self.swingCount = self.swingCount + 1 + self.swingCount = self.swingCount == 100 and 0 or self.swingCount + self.isSwingCountProcessed = true + end + end; + + ---腕の状態を設定する。 + ---@param self Arms + ---@param right? integer 右腕の状態 + ---@param left? integer 左腕の状態 + setArmState = function (self, right, left) + if right ~= nil then + self.armState.right = right + end + if left ~= nil then + self.armState.left = left + end + if (self.armState.right == 1 or self.armState.left == 1) and player:getActiveItem().id == "minecraft:crossbow" then + self:setArmState(3, 3) + return + end + if self.parent.characterData.arms.callbacks ~= nil and self.parent.characterData.arms.callbacks.onArmStateChanged ~= nil then + local result = self.parent.characterData.arms.callbacks.onArmStateChanged(self.parent.characterData, self.armState.right, self.armState.left) + if result ~= nil then + if result.right ~= nil then + self.armState.right = result.right + end + if result.left ~= nil then + self.armState.left = result.left + end + end + end + + --右腕の操作 + if self.armState.right ~= self.armStatePrev.right then + --腕の状態をリセット + models.models.main.Avatar.UpperBody.Arms.RightArm:setRot() + models.models.main.Avatar.UpperBody.Arms.RightArm:setParentType("RightArm") + events.TICK:remove("right_arm_tick") + events.RENDER:remove("right_arm_render") + if self.armState.right == 1 then + --銃を構えている際の、銃を構えている方の腕 + events.TICK:register(function () + if self.armState.right == 1 then + self:processArmWingCount() + if player:isSwingingArm() and not player:isLeftHanded() then + models.models.main.Avatar.UpperBody.Arms.RightArm:setParentType("RightArm") + else + models.models.main.Avatar.UpperBody.Arms.RightArm:setParentType("Body") + end + if player:getActiveItem().id == "minecraft:crossbow" then + self:setArmState(3, 3) + end + end + end, "right_arm_tick") + events.RENDER:register(function (delta) + local headRot = vanilla_model.HEAD:getOriginRot() + models.models.main.Avatar.UpperBody.Arms.RightArm:setRot(player:isSwingingArm() and not player:isLeftHanded() and vectors.vec3() or vectors.vec3(headRot.x + math.sin((self.swingCount + delta) / 100 * math.pi * 2) * 2.5 + 90 + (player:isCrouching() and 30 or 0), headRot.y, 0)) + end, "right_arm_render") + elseif self.armState.right == 2 then + --銃を構えている際の、銃を構えていない方の腕 + events.TICK:register(function () + self:processArmWingCount() + end, "right_arm_tick") + events.RENDER:register(function (delta, context) + local headRot = vanilla_model.HEAD:getOriginRot() + local isSwingingArm = player:isSwingingArm() and not player:isLeftHanded() + models.models.main.Avatar.UpperBody.Arms.RightArm:setParentType((isSwingingArm or context == "FIRST_PERSON") and "RightArm" or "Body") + models.models.main.Avatar.UpperBody.Arms.RightArm:setRot(isSwingingArm and vectors.vec3() or vectors.vec3(headRot.x + math.sin((self.swingCount + delta) / 100 * math.pi * 2) * 2.5 + 90 + (player:isCrouching() and 30 or 0), math.map((headRot.y + 180) % 360 - 180, -50, 50, -21, 78), 0)) + end, "right_arm_render") + elseif self.armState.right == 3 then + --クロスボウ装填中 + events.TICK:register(function () + if player:getActiveItem().id ~= "minecraft:crossbow" and self.armState.right == 3 then + if self.parent.gun.currentGunPosition == "RIGHT" then + self:setArmState(1, 2) + elseif self.parent.gun.currentGunPosition == "LEFT" then + self:setArmState(2, 1) + end + end + end, "right_arm_tick") + end + if self.parent.characterData.arms.callbacks ~= nil and self.parent.characterData.arms.callbacks.onAdditionalRightArmProcess ~= nil then + self.parent.characterData.arms.callbacks.onAdditionalRightArmProcess(self.parent.characterData, self.armState.right) + end + self.armStatePrev.right = self.armState.right + end + --左腕の操作 + if self.armState.left ~= self.armStatePrev.left then + --腕の状態をリセット + models.models.main.Avatar.UpperBody.Arms.LeftArm:setRot() + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType("LeftArm") + events.TICK:remove("left_arm_tick") + events.RENDER:remove("left_arm_render") + if self.armState.left == 1 then + --銃を構えている際の、銃を構えている方の腕 + events.TICK:register(function () + if self.armState.left == 1 then + self:processArmWingCount() + if player:isSwingingArm() and player:isLeftHanded() then + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType("LeftArm") + else + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType("Body") + end + if player:getActiveItem().id == "minecraft:crossbow" then + self:setArmState(3, 3) + end + end + end, "left_arm_tick") + events.RENDER:register(function (delta) + local headRot = vanilla_model.HEAD:getOriginRot() + models.models.main.Avatar.UpperBody.Arms.LeftArm:setRot(player:isSwingingArm() and player:isLeftHanded() and vectors.vec3() or vectors.vec3(headRot.x + math.sin((self.swingCount + delta) / 100 * math.pi * 2) * -2.5 + 90 + (player:isCrouching() and 30 or 0), headRot.y, 0)) + end, "left_arm_render") + elseif self.armState.left == 2 then + --銃を構えている際の、銃を構えていない方の腕 + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType("Body") + events.TICK:register(function () + self:processArmWingCount() + end, "left_arm_tick") + events.RENDER:register(function (delta, context) + local headRot = vanilla_model.HEAD:getOriginRot() + local isSwingingArm = player:isSwingingArm() and player:isLeftHanded() + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType((isSwingingArm or context == "FIRST_PERSON") and "LeftArm" or "Body") + models.models.main.Avatar.UpperBody.Arms.LeftArm:setRot(isSwingingArm and vectors.vec3() or vectors.vec3(headRot.x + math.sin((self.swingCount + delta) / 100 * math.pi * 2) * -2.5 + 90 + (player:isCrouching() and 30 or 0), math.map((headRot.y + 180) % 360 - 180, -50, 50, -78, 21), 0)) + end, "left_arm_render") + elseif self.armState.left == 3 then + --クロスボウ装填中 + events.TICK:register(function () + if player:getActiveItem().id ~= "minecraft:crossbow" and self.armState.left == 3 then + if self.parent.gun.currentGunPosition == "RIGHT" then + self:setArmState(1, 2) + elseif self.parent.gun.currentGunPosition == "LEFT" then + self:setArmState(2, 1) + end + end + end, "left_arm_tick") + end + if self.parent.characterData.arms.callbacks ~= nil and self.parent.characterData.arms.callbacks.onAdditionalLeftArmProcess ~= nil then + self.parent.characterData.arms.callbacks.onAdditionalLeftArmProcess(self.parent.characterData, self.armState.left) + end + self.armStatePrev.left = self.armState.left + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/avatar_module.lua b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/avatar_module.lua new file mode 100644 index 0000000..4ae2c3a --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/avatar_module.lua @@ -0,0 +1,23 @@ +---@class AvatarModule アバターの動作を構成するモジュールの抽象クラス +---@field public parent Avatar アバターのメインクラスへの参照 +---@field public new fun(parent: Avatar): AvatarModule コンストラクタ +---@field public init fun(self: AvatarModule) 初期化関数 + +AvatarModule = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return AvatarModule + new = function (parent) + ---@type AvatarModule + local instance = Avatar.instantiate(AvatarModule) + + instance.parent = parent + + return instance + end; + + ---初期化関数 + ---@param self AvatarModule + init = function (self) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/barrier.lua b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/barrier.lua new file mode 100644 index 0000000..06066b9 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/barrier.lua @@ -0,0 +1,88 @@ +---@class (exact) Barrier : AvatarModule バリアの視覚効果を管理するクラス +---@field package animationCounts number[] バリアのアニメーションのカウンター +---@field public isBarrierVisible boolean バリアが可視化状態かどうか +---@field package hadAbsorptionPrev boolean 前ティックの衝撃吸収のハートを持っていたかどうか +---@field package colorFactor number バリアの色の係数 +---@field public enable fun(self: Barrier) バリア機能を有効にする +---@field public disable fun(self: Barrier) バリア機能を無効にする + +Barrier = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Barrier + new = function (parent) + ---@type Barrier + local instance = Avatar.instantiate(Barrier, AvatarModule, parent) + + instance.animationCounts = {} + instance.isBarrierVisible = false + instance.hadAbsorptionPrev = false + instance.colorFactor = client:hasShaderPack() and 0.5 or 1 + + for i = 1, 32 do + instance.animationCounts[i] = math.random(0, 39) + end + + return instance + end; + + ---初期化関数 + ---@param self Barrier + init = function (self) + AvatarModule.init(self) + + models.models.main.Avatar.barrier:setLight(15) + + events.TICK:register(function () + local hasAbsorption = player:getAbsorptionAmount() > 0 and player:getHealth() > 0 + if hasAbsorption and not self.hadAbsorptionPrev then + self:enable() + elseif not hasAbsorption and self.hadAbsorptionPrev then + self:disable() + end + self.hadAbsorptionPrev = hasAbsorption + end) + end; + + ---バリア機能を有効にする。 + ---@param self Barrier + enable = function (self) + for i = 1, 32 do + self.animationCounts[i] = math.random(0, 39) + end + + events.TICK:register(function () + for i = 1, 32 do + self.animationCounts[i] = self.animationCounts[i] + 1 + if self.animationCounts[i] == 40 then + self.animationCounts[i] = 0 + end + end + self.colorFactor = client:hasShaderPack() and 0.5 or 1 + end, "barrier_tick") + + events.RENDER:register(function (delta, context) + if context == "FIRST_PERSON" or context == "RENDER" then + models.models.main.Avatar.barrier:setVisible(true) + for i = 1, 32 do + local opacity = math.abs(-0.025 * (self.animationCounts[i] + delta) + 0.5) + 0.5 + models.models.main.Avatar.barrier.Barrier["Barrier"..i]:setOpacity(opacity) + models.models.main.Avatar.barrier.Barrier["Barrier"..i]:setColor(opacity * self.colorFactor, opacity * self.colorFactor, 1) + end + else + models.models.main.Avatar.barrier:setVisible(false) + end + end, "barrier_render") + + self.isBarrierVisible = true + end; + + ---バリア機能を無効にする。 + ---@param self Barrier + disable = function (self) + models.models.main.Avatar.barrier:setVisible(false) + events.TICK:remove("barrier_tick") + events.RENDER:remove("barrier_render") + self.isBarrierVisible = false + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/bubble.lua b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/bubble.lua new file mode 100644 index 0000000..fc6197b --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/bubble.lua @@ -0,0 +1,224 @@ +---@alias Bubble.BubbleType +---| "GOOD" # 👍 +---| "HEART" # 💗 +---| "NOTE" # 🎵 +---| "QUESTION" # ❓ +---| "SWEAT" # 💦 +---| "RELOAD" # 弾薬をリロードする絵文字 +---| "DOTS" # … +---| "V" # ✌ + +---@class (exact) Bubble : AvatarModule 吹き出しエモートを管理するクラス +---@field public bubbleCount integer 吹き出しの表示時間を測るカウンター +---@field public emoji Bubble.BubbleType 吹き出しの絵文字 +---@field package duration integer 吹き出しを表示する時間。-1は時間無制限を示す。 +---@field package isAutoBubble boolean 吹き出しエモートが自動で出たものかどうか +---@field package shouldShowInHud boolean 一人称用にHUDに吹き出しを表示するかどうか +---@field package emojiAnimationCount number 絵文字のアニメーションのタイミングを測るカウンター +---@field package isForcedStop boolean 吹き出しエモートが強制停止させられたかどうか +---@field public isChatOpened boolean チャットを開けているかどうか +---@field package isChatOpenedPrev boolean 前ティックにチャットを開けていたかどうか +---@field public play fun(self: Bubble, type: Bubble.BubbleType, duration: integer, offsetPos: Vector2, offsetRot: number, shouldShowInHud: boolean) 吹き出しエモートを再生する +---@field public stop fun(self: Bubble) 吹き出しエモートを停止する + +Bubble = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Bubble + new = function (parent) + ---@type Bubble + local instance = Avatar.instantiate(Bubble, AvatarModule, parent) + + instance.bubbleCount = 0 + instance.emoji = "GOOD" + instance.duration = 0 + instance.isAutoBubble = false + instance.shouldShowInHud = false + instance.emojiAnimationCount = 0 + instance.isForcedStop = false + instance.isChatOpened = false + instance.isChatOpenedPrev = false + + return instance + end; + + ---初期化関数 + ---@param self Bubble + init = function (self) + AvatarModule.init(self) + + models.models.bubble:addChild(models:newPart("Gui", "Gui")) + models.models.bubble.Gui:addChild(models.models.bubble.Camera.AvatarBubble:copy("FirstPersonBubble")) + models.models.bubble.Gui.FirstPersonBubble:setVisible(false) + for _, modelPart in ipairs({models.models.bubble.Camera.AvatarBubble, models.models.bubble.Gui.FirstPersonBubble}) do + modelPart:setScale(0, 0, 0) + end + + --エモートガイド + if host:isHost() then + self.parent.keyManager:register("bubble_1", self.parent.config:loadConfig("PRIVATE", "keybind.bubble_1", "key.keyboard.j")):onPress(function () + if self.parent.exSkill.animationCount == -1 and (self.bubbleCount == 0 or self.isAutoBubble) then + pings.showBubbleEmote("GOOD") + end + end) + self.parent.keyManager:register("bubble_2", self.parent.config:loadConfig("PRIVATE", "keybind.bubble_2", "key.keyboard.k")):onPress(function () + if self.parent.exSkill.animationCount == -1 and (self.bubbleCount == 0 or self.isAutoBubble) then + pings.showBubbleEmote("HEART") + end + end) + self.parent.keyManager:register("bubble_3", self.parent.config:loadConfig("PRIVATE", "keybind.bubble_3", "key.keyboard.n")):onPress(function () + if self.parent.exSkill.animationCount == -1 and (self.bubbleCount == 0 or self.isAutoBubble) then + pings.showBubbleEmote("NOTE") + end + end) + self.parent.keyManager:register("bubble_4", self.parent.config:loadConfig("PRIVATE", "keybind.bubble_4", "key.keyboard.m")):onPress(function () + if self.parent.exSkill.animationCount == -1 and (self.bubbleCount == 0 or self.isAutoBubble) then + pings.showBubbleEmote("QUESTION") + end + end) + self.parent.keyManager:register("bubble_5", self.parent.config:loadConfig("PRIVATE", "keybind.bubble_5", "key.keyboard.comma")):onPress(function () + if self.parent.exSkill.animationCount == -1 and (self.bubbleCount == 0 or self.isAutoBubble) then + pings.showBubbleEmote("SWEAT") + end + end) + end + + events.TICK:register(function () + if host:isHost() then + local isChatOpened = host:isChatOpen() + if isChatOpened ~= self.isChatOpened then + pings.setChatOpen(isChatOpened) + end + self.isChatOpenedPrev = isChatOpened + end + + if player:getActiveItem().id == "minecraft:crossbow" then + if self.bubbleCount == 0 or (self.isAutoBubble and self.emoji ~= "RELOAD") then + self:play("RELOAD", -1, vectors.vec2(), 0, false) + self.isAutoBubble = true + end + elseif self.isChatOpened and self.parent.exSkill.transitionCount == 0 then + if self.bubbleCount == 0 or (self.isAutoBubble and self.emoji ~= "DOTS") then + self:play("DOTS", -1, vectors.vec2(), 0, false) + self.isAutoBubble = true + end + elseif self.isAutoBubble then + self:stop() + self.isAutoBubble = false + end + end) + end; + + ---吹き出しエモートを再生する。 + ---@param self Bubble + ---@param type Bubble.BubbleType 再生する絵文字の種類 + ---@param duration integer 吹き出しを表示している時間。-1にすると停止するまでずっと表示する。 + ---@param offsetPos Vector2 吹き出しの位置のオフセット値 + ---@param offsetRot number アバター周回上の、吹き出しが表示される位置のオフセット値 + ---@param shouldShowInHud boolean 一人称用にHUDに吹き出しを表示するかどうか + play = function (self, type, duration, offsetPos, offsetRot, shouldShowInHud) + self.emoji = type + self.duration = duration + self.shouldShowInHud = shouldShowInHud + self.bubbleCount = 1 + self.emojiAnimationCount = 0 + models.models.bubble.Camera.AvatarBubble.Emoji:setPrimaryTexture("CUSTOM", textures["textures.emojis."..self.emoji:lower()]) + models.models.bubble.Camera.AvatarBubble.Bullets:setVisible(self.emoji == "RELOAD") + models.models.bubble.Camera.AvatarBubble.Dots:setVisible(self.emoji == "DOTS") + if self.shouldShowInHud then + models.models.bubble.Gui.FirstPersonBubble.Emoji:setPrimaryTexture("CUSTOM", textures["textures.emojis."..self.emoji:lower()]) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.item.pickup"), self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar)) + end + + if events.TICK:getRegisteredCount("bubble_tick") == 0 then + events.TICK:register(function () + if not client:isPaused() then + models.models.bubble.Gui.FirstPersonBubble:setVisible(self.shouldShowInHud and renderer:isFirstPerson()) + self.bubbleCount = self.bubbleCount + 1 + if self.bubbleCount == 0 then + for _, modelPart in ipairs({models.models.bubble.Camera.AvatarBubble, models.models.bubble.Gui.FirstPersonBubble, models.models.bubble.Camera.AvatarBubble.Bullets, models.models.bubble.Gui.FirstPersonBubble.Bullets}) do + modelPart:setVisible(false) + end + events.TICK:remove("bubble_tick") + events.RENDER:remove("bubble_render") + if self.parent.characterData.bubble.callbacks ~= nil and self.parent.characterData.bubble.callbacks.onStop ~= nil then + self.parent.characterData.bubble.callbacks.onStop(self.parent.characterData, type, self.isForcedStop) + end + elseif self.duration >= 0 and self.bubbleCount == self.duration + 2 then + self:stop() + end + if self.emoji == "RELOAD" or self.emoji == "DOTS" then + self.emojiAnimationCount = self.emojiAnimationCount + 1 + self.emojiAnimationCount = self.emojiAnimationCount == 25 and 0 or self.emojiAnimationCount + if self.emoji == "DOTS" then + for i = 1, 3 do + models.models.bubble.Camera.AvatarBubble.Dots["Dot"..i]:setVisible(self.emojiAnimationCount >= 6 * i) + end + end + end + end + end, "bubble_tick") + end + + if events.RENDER:getRegisteredCount("bubble_render") == 0 then + events.RENDER:register(function (delta, context) + models.models.bubble.Camera.AvatarBubble:setVisible(context ~= "OTHER") + if not client:isPaused() then + local bubbleScale = math.min(math.abs(0.5 * (self.bubbleCount + delta)), 1) + models.models.bubble.Camera.AvatarBubble:setScale(vectors.vec3(1, 1, 1):scale(bubbleScale)) + local playerPos = self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar) + local avatarBubblePos = context == "PAPERDOLL" and vectors.vec3(0, 32, 0) or vectors.rotateAroundAxis(player:getBodyYaw(delta) + 180, playerPos:copy():sub(player:getPos(delta)):scale(17.067):add(0, 32 + offsetPos.y, 0), 0, 1, 0) + if not renderer:isFirstPerson() then + local cameraPos = client:getCameraPos() + avatarBubblePos:add(vectors.rotateAroundAxis(math.deg(math.atan2(cameraPos.z - playerPos.z, cameraPos.x - playerPos.x) - math.pi / 2) % 360 - (player:getBodyYaw(delta) + offsetRot) % 360, 12 + offsetPos.x, 0, 0, 0, -1, 0)) + else + avatarBubblePos:add(12 + offsetPos.x, 0, 0) + end + models.models.bubble.Camera:setOffsetPivot(avatarBubblePos) + models.models.bubble.Camera.AvatarBubble:setPos(avatarBubblePos) + if host:isHost() and self.shouldShowInHud then + local windowSize = client:getScaledWindowSize() + models.models.bubble.Gui.FirstPersonBubble:setPos(-windowSize.x + 10, -windowSize.y + (action_wheel:isEnabled() and 125 or 10), 0) + models.models.bubble.Gui.FirstPersonBubble:setScale(vectors.vec3(1, 1, 1):scale(bubbleScale * 4)) + end + if self.emoji == "RELOAD" then + local bullet1Counter = math.clamp((self.emojiAnimationCount + delta) * 0.2 - 1, 0, 1) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet1:setPos(0, 1 - bullet1Counter, 0) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet1:setOpacity(bullet1Counter) + local bullet2Counter = math.clamp((self.emojiAnimationCount + delta) * 0.2 - 2, 0, 1) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet2:setPos(0, 1 - bullet2Counter, 0) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet2:setOpacity(bullet2Counter) + local bullet3Counter = math.clamp((self.emojiAnimationCount + delta) * 0.2 - 3, 0, 1) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet3:setPos(0, 1 - bullet3Counter, 0) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet3:setOpacity(bullet3Counter) + end + end + end, "bubble_render") + end + if self.parent.characterData.bubble.callbacks ~= nil and self.parent.characterData.bubble.callbacks.onPlay ~= nil then + self.parent.characterData.bubble.callbacks.onPlay(self.parent.characterData, type, duration, shouldShowInHud) + end + end; + + ---吹き出しエモートを停止する。 + ---@param self Bubble + stop = function (self) + if self.bubbleCount > 0 then + self.isForcedStop = self.duration == -1 or self.bubbleCount < self.duration + 2 + self.bubbleCount = -2 + end + end; +} + +---吹き出しエモートを表示する。 +---@param type Bubble.BubbleType 表示する絵文字の種類 +function pings.showBubbleEmote(type) + AvatarInstance.bubble:play(type, 50, vectors.vec2(), 0, true) + AvatarInstance.bubble.isAutoBubble = false +end + +---Bubbleのチャットを開けているフラグを更新する。 +---@param value boolean 新しい値 +function pings.setChatOpen(value) + AvatarInstance.bubble.isChatOpened = value +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/camera_manager.lua b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/camera_manager.lua new file mode 100644 index 0000000..e985b05 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/camera_manager.lua @@ -0,0 +1,99 @@ +---@class (exact) CameraManager : AvatarModule カメラ制御全般を管理するクラス +---@field package COLLISION_DENIAL_DISABLED boolean カメラの当たり判定打ち消し機能を無効にする。撮影用。 +---@field package thirdPersonCameraDistance number 三人称視点でのカメラと回転軸の距離 +---@field package isCameraCollisionDenialEnabled boolean 三人称視点でのカメラの当たり判定打ち消し機能が有効かどうか +---@field public setCameraManagerRender fun(self: CameraManager, enabled: boolean) CameraManagerのレンダー関数を設定する +---@field public setCameraPivot fun(newPivot?: Vector3) カメラの回転軸のオフセット位置を変更する +---@field public setCameraRot fun(newRot?: Vector3) カメラ方向を変更する +---@field public setThirdPersonCameraDistance fun(self: CameraManager, distance: number) 三人称視点でのカメラと回転軸の距離を設定する +---@field public setCameraCollisionDenial fun(self: CameraManager, enabled: boolean) カメラの当たり判定打ち消し機能を設定する + +CameraManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return CameraManager + new = function (parent) + ---@type CameraManager + local instance = Avatar.instantiate(CameraManager, AvatarModule, parent) + + instance.COLLISION_DENIAL_DISABLED = false + instance.thirdPersonCameraDistance = 4 + instance.isCameraCollisionDenialEnabled = false + + return instance + end; + + ---CameraManagerのレンダー関数を設定する。 + ---@param self CameraManager + ---@param enabled boolean CameraManagerのレンダー関数を有効化するかどうか + setCameraManagerRender = function (self, enabled) + if enabled and events.RENDER:getRegisteredCount("camera_manager_render") == 0 then + events.RENDER:register(function () + if renderer:isFirstPerson() then + renderer:setCameraPos() + else + local rawOffsetCameraPivot = renderer:getCameraOffsetPivot() + rawOffsetCameraPivot = rawOffsetCameraPivot == nil and vectors.vec3() or rawOffsetCameraPivot + local cameraPivot = player:getPos():add(0, 1.62, 0):add(rawOffsetCameraPivot) + local cameraDir = client:getCameraDir() + local baseVector = vectors.rotateAroundAxis(math.deg(math.asin(cameraDir.y)), 0, 0.21, 0, vectors.rotateAroundAxis(math.deg(math.atan2(cameraDir.z, cameraDir.x)) * -1 - 90, 1, 0, 0, 0, 1, 0)) + local minDistance = math.max(self.thirdPersonCameraDistance, 4) + if not self.COLLISION_DENIAL_DISABLED then + for i = 0, 3 do + local startPos = vectors.rotateAroundAxis(i * 90 + 45, baseVector:copy(), cameraDir):add(cameraPivot) + local _, collisionPos, _ = raycast:block(startPos, startPos:copy():add(cameraDir:copy():scale(-4)), "VISUAL", "NONE") + minDistance = math.min(collisionPos:copy():sub(startPos):length(), minDistance) + end + end + renderer:setCameraPos(0, 0, (minDistance > self.thirdPersonCameraDistance or self.isCameraCollisionDenialEnabled) and self.thirdPersonCameraDistance - minDistance or 0) + end + end, "camera_manager_render") + elseif not enabled then + events.RENDER:remove("camera_manager_render") + renderer:setCameraPos() + end + end; + + ---カメラの回転軸のオフセット位置を変更する。 + ---@param newPivot? Vector3 設定する新しいカメラ回転軸のオフセット位置。nilの場合は設定値がリセットされる。 + setCameraPivot = function (newPivot) + if host:isHost() then + renderer:setOffsetCameraPivot(newPivot) + end + end; + + ---カメラ方向を変更する。 + ---@param newRot? Vector3 設定する新しいカメラのオフセット方向。nilの場合は設定値がリセットされる。 + setCameraRot = function (newRot) + if host:isHost() then + renderer:setCameraRot(newRot) + end + end; + + ---三人称視点でのカメラと回転軸の距離を設定する。 + ---@param self CameraManager + ---@param distance number 設定する新しい距離(ブロック単位)。デフォルトは4ブロック。 + setThirdPersonCameraDistance = function (self, distance) + if host:isHost() then + if distance ~= 4 then + self:setCameraManagerRender(true) + elseif not self.isCameraCollisionDenialEnabled then + self:setCameraManagerRender(false) + end + self.thirdPersonCameraDistance = distance + end + end; + + ---カメラの当たり判定打ち消し機能を設定する。 + ---@param enabled boolean カメラの当たり判定打ち消し機能を有効にするかどうか。有効にするとカメラがブロックの中にめり込むようになる。 + setCameraCollisionDenial = function (self, enabled) + if host:isHost() then + if enabled then + self:setCameraManagerRender(true) + elseif self.thirdPersonCameraDistance == 4 then + self:setCameraManagerRender(false) + end + self.isCameraCollisionDenialEnabled = enabled + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/config.lua b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/config.lua new file mode 100644 index 0000000..70b0382 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/config.lua @@ -0,0 +1,116 @@ +---@alias Config.Storage +---| "PUBLIC" # FBACキャラクター共通ストレージ +---| "PRIVATE" # キャラクター固有ストレージ + +---@class (exact) Config : AvatarModule アバター設定を管理するクラス +---@field package privateStorageName string キャラクター固有ストレージの名前 +---@field package defaultValues {[string]: number|boolean|string} 読み込んだ値のデフォルト値を保持するテーブル +---@field package nextSyncCount integer 次の同期pingまでのカウンター +---@field package isSynced boolean 設定値がホストと同期されているかどうか +---@field public loadConfig fun(self: Config, storage: Config.Storage, keyName: string, defaultValue: any): any 設定を読み出す +---@field public saveConfig fun(self: Config, storage: Config.Storage, keyName: string, valueToSave: any) 設定を保存する + +Config = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Config + new = function (parent) + ---@type Config + local instance = Avatar.instantiate(Config, AvatarModule, parent) + + instance.privateStorageName = "BlueArchive_"..instance.parent.characterData.basic.firstName.en_us..instance.parent.characterData.basic.lastName.en_us + instance.defaultValues = {} + instance.nextSyncCount = 0 + instance.isSynced = host:isHost() + + return instance + end; + + ---初期化関数 + ---@param self Config + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + events.TICK:register(function () + if self.nextSyncCount == 0 then + pings.syncAvatarConfig(self.parent.nameplate.currentName, self.parent.nameplate.shouldShowClubName, self.parent.costume.currentCostume, self.parent.armor.shouldShowArmor, self.parent.actionWheel.shouldReplaceVehicleModels, self.parent.bubble.isChatOpened, self.parent.characterData.dataSync.syncData) + self.nextSyncCount = 300 + else + self.nextSyncCount = self.nextSyncCount - 1 + end + end) + end + end; + + ---設定を読み出す。 + ---@generic T + ---@param self Config + ---@param storage Config.Storage 読み出し先のストレージ + ---@param keyName string 読み出す設定の名前 + ---@param defaultValue `T` 該当の設定が無い場合や、ホスト外での実行の場合はこの値が返される。 + ---@return `T` loadedValue 読み出した値 + loadConfig = function (self, storage, keyName, defaultValue) + if host:isHost() then + if storage == "PUBLIC" then + config:setName("BlueArchive_public") + else + config:setName(self.privateStorageName) + end + local loadedData = config:load(keyName) + self.defaultValues[keyName] = defaultValue + if loadedData ~= nil then + return loadedData + else + return defaultValue + end + else + return defaultValue + end + end; + + ---設定を保存する。 + ---@param self Config + ---@param storage Config.Storage 書き込み先のストレージ + ---@param keyName string 保存する設定の名前 + ---@param valueToSave any 保存する値 + saveConfig = function (self, storage, keyName, valueToSave) + if host:isHost() then + if storage == "PUBLIC" then + config:setName("BlueArchive_public") + else + config:setName(self.privateStorageName) + end + if self.defaultValues[keyName] == valueToSave then + config:save(keyName, nil) + else + config:save(keyName, valueToSave) + end + end + end; +} + +---アバター設定を他Figuraクライアントと同期する。 +---@param nameTypeId integer 表示名の種類ID +---@param shouldShowClubName boolean 部活名を表示するかどうか +---@param costumeId integer 現在の衣装ID +---@param shouldShowArmor boolean 防具が見えているかどうか +---@param shouldReplaceVehicleModels boolean 乗り物モデルを置き換えるかどうか +---@param isChatOpened boolean チャット欄を開いているかどうか +---@param additionalData {[string]: any} キャラクター固有用に追加で同期するデータ +function pings.syncAvatarConfig(nameTypeId, shouldShowClubName, costumeId, shouldShowArmor, shouldReplaceVehicleModels, isChatOpened, additionalData) + if not AvatarInstance.config.isSynced then + AvatarInstance.nameplate:setName(nameTypeId, shouldShowClubName) + AvatarInstance.armor.shouldShowArmor = shouldShowArmor + AvatarInstance.actionWheel.shouldReplaceVehicleModels = shouldReplaceVehicleModels + AvatarInstance.bubble.isChatOpened = isChatOpened + if costumeId >= 2 then + AvatarInstance.costume:setCostume(costumeId) + end + AvatarInstance.characterData.dataSync.syncData = additionalData + if AvatarInstance.characterData.dataSync.callbacks ~= nil and AvatarInstance.characterData.dataSync.callbacks.onDataSynced ~= nil then + AvatarInstance.characterData.dataSync.callbacks.onDataSynced(AvatarInstance.characterData) + end + AvatarInstance.config.isSynced = true + end +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/costume.lua b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/costume.lua new file mode 100644 index 0000000..650a557 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/costume.lua @@ -0,0 +1,113 @@ +---@class (exact) Costume : AvatarModule キャラクターのコスチュームを管理し、円滑に切り替えられるようにするクラス +---@field public costumeList string[] 利用可能なコスチューム一覧。BlueArchiveCharacterクラスから動的に生成される。 +---@field public currentCostume integer 現在のコスチューム +---@field public isChangingCostume boolean コスチュームを変更中かどうか +---@field public getCostumeLocalName fun(self: Costume, costumeId: integer) 設定言語を考慮した、衣装の名前を返す +---@field public setCostumeTextureOffset fun(offset: integer) メインモデルのテクスチャのオフセット値を設定する +---@field public setCostume fun(self: Costume, costume: integer) コスチュームを設定する +---@field public resetCostume fun(self: Costume) コスチュームをリセットしデフォルトのコスチュームにする + +Costume = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Costume + new = function (parent) + ---@type Costume + local instance = Avatar.instantiate(Costume, AvatarModule, parent) + + instance.costumeList = {} + instance.currentCostume = instance.parent.config:loadConfig("PRIVATE", "costume", 1) + instance.isChangingCostume = false + + return instance + end; + + ---初期化関数 + ---@param self Costume + init = function (self) + AvatarModule.init(self) + + for _, costume in ipairs(self.parent.characterData.costume.costumes) do + table.insert(self.costumeList, costume.name) + end + if self.currentCostume >= 2 then + if self.costumeList[self.currentCostume] ~= nil then + self:setCostume(self.currentCostume) + else + self.currentCostume = 1 + if host:isHost() then + self.parent.config:saveConfig("PRIVATE", "costume", 1) + end + end + end + self.parent.headBlock:generateHeadModel() + self.parent.portrait:generateHeadModel() + + events.TICK:register(function () + self.isChangingCostume = false + end) + end; + + ---設定言語を考慮した、衣装の名前を返す。 + ---@param self Costume + ---@param costumeId integer ローカル名を取得する衣装のID + ---@return string localCostumeName 衣装のローカル名 + getCostumeLocalName = function(self, costumeId) + return self.parent.locale:getLocale("costume."..self.costumeList[costumeId]) + end; + + ---メインモデルのテクスチャのオフセット値を設定する。 + ---@param offset integer オフセット値 + setCostumeTextureOffset = function (offset) + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Body.Body, models.models.main.Avatar.UpperBody.Body.BodyLayer, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArm, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmLayer, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.RightArmBottom, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.RightArmBottomLayer, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArm, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmLayer, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.LeftArmBottom, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.LeftArmBottomLayer, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLeg, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegLayer, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.RightLegBottom, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.RightLegBottomLayer, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLeg, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegLayer, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.LeftLegBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.LeftLegBottomLayer}) do + modelPart:setUVPixels(0, offset * 48) + end + end; + + ---コスチュームを設定する。 + ---@param self Costume + ---@param costume integer 設定するコスチューム + setCostume = function(self, costume) + self:resetCostume() + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onChange ~= nil then + self.parent.characterData.costume.callbacks.onChange(self.parent.characterData, self.parent.characterData.costume.costumes[costume].name:upper()) + end + self.parent.headBlock:generateHeadModel() + self.parent.portrait:generateHeadModel() + if self.parent.armor.isArmorVisible.chestplate then + self.parent.armor:setChestplate(self.parent.armor.armorSlotItems[2]) + end + if self.parent.armor.isArmorVisible.leggings then + self.parent.armor:setLeggings(self.parent.armor.armorSlotItems[3]) + end + if self.parent.armor.isArmorVisible.boots then + self.parent.armor:setBoots(self.parent.armor.armorSlotItems[4]) + end + self.currentCostume = costume + end; + + ---コスチュームをリセットし、デフォルトのコスチュームにする。 + ---@param self Costume + resetCostume = function (self) + self.isChangingCostume = true + if self.parent.exSkill.transitionCount > 0 then + self.parent.exSkill:forceStop() + end + self.setCostumeTextureOffset(0) + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onReset ~= nil then + self.parent.characterData.costume.callbacks.onReset(self.parent.characterData) + end + self.parent.headBlock:generateHeadModel() + self.parent.portrait:generateHeadModel() + if self.parent.armor.isArmorVisible.chestplate then + self.parent.armor:setChestplate(self.parent.armor.armorSlotItems[2]) + end + if self.parent.armor.isArmorVisible.leggings then + self.parent.armor:setLeggings(self.parent.armor.armorSlotItems[3]) + end + if self.parent.armor.isArmorVisible.boots then + self.parent.armor:setBoots(self.parent.armor.armorSlotItems[4]) + end + self.currentCostume = 1 + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/death_animation.lua b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/death_animation.lua new file mode 100644 index 0000000..65583f8 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/death_animation.lua @@ -0,0 +1,294 @@ +---@class (exact) DeathAnimation : AvatarModule プレイヤーが死亡した際のキャラクターがヘリコプターで回収されるアニメーションを管理するクラス +---@field package DEBUG_MODE boolean デバッグモードを有効にするかどうか。デバッグモードモードではxキーでフェーズ1のモデルを、cキーでフェーズ2のモデルを表示できる。 +---@field public dummyAvatarRoot? ModelPart 死亡アニメーションに使用されるダミーのアバターのルート。アバターが未生成の場合はnilが入っている。 +---@field package animationCount integer 死亡アニメーションの再生カウンター +---@field package animationPos Vector3 アニメーションを再生している場所の座標 +---@field package animationRot number アニメーションを再生している向き(度数法で示す) +---@field package costumeIndex integer 死亡アニメーションのコスチュームのインデックス +---@field package isPlayerInvisible boolean プレイヤーモデルが不可視状態かどうか +---@field package isScriptLoaded false スクリプトを全て読み込んだかどうか +---@field package removeUnsafeModel fun(target?: ModelPart) 存在しないかもしれないモデルパーツを安全に削除する +---@field package spawnHelicopterParticles fun(self: DeathAnimation) ヘリコプターの出現/消滅パーティクルを生成する +---@field package generateDummyAvatar fun(self: DeathAnimation, parent: ModelPart) 死亡アニメーション用のダミーアバターを生成する +---@field package resetDummyAvatar fun(avatarRoot: ModelPart) ダミーアバター状態をリセットする +---@field package setPhase1Pose fun(avatarRoot: ModelPart) ダミーアバターをフェーズ1のポーズにする +---@field package setPhase2Pose fun(avatarRoot: ModelPart) ダミーアバターをフェーズ2のポーズにする +---@field package play fun(self: DeathAnimation) 死亡アニメーションを再生する +---@field package stop fun(self: DeathAnimation) 死亡アニメーションを停止する + +DeathAnimation = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return DeathAnimation + new = function (parent) + ---@type DeathAnimation + local instance = Avatar.instantiate(DeathAnimation, AvatarModule, parent) + + instance.DEBUG_MODE = false + + instance.dummyAvatarRoot = models.models.death_animation.Avatar + instance.animationCount = 0 + instance.animationPos = vectors.vec3() + instance.animationRot = 0 + instance.costumeIndex = 1 + instance.isPlayerInvisible = false + instance.isScriptLoaded = false + + return instance + end; + + ---初期化関数 + ---@param self DeathAnimation + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + if self.parent.playerUtils.damageStatus == "DIED" then + self:play() + models.models.main:setVisible(false) + for _, vanillaModel in ipairs({vanilla_model.RIGHT_ITEM, vanilla_model.LEFT_ITEM, vanilla_model.ELYTRA}) do + vanillaModel:setVisible(false) + end + self.isPlayerInvisible = true + end + if self.isPlayerInvisible and player:getHealth() > 0 then + models.models.main:setVisible(true) + for _, vanillaModel in ipairs({vanilla_model.RIGHT_ITEM, vanilla_model.LEFT_ITEM, vanilla_model.ELYTRA}) do + vanillaModel:setVisible(true) + end + self.isPlayerInvisible = false + end + end) + + self.parent.avatarEvents.SCRIPT_INIT:register(function () + self.isScriptLoaded = true + end) + + if self.DEBUG_MODE then + models:addChild(models:newPart("script_death_animation_debug", "World")) + keybinds:newKeybind("[DEBUG] Spawn death animation phase1 model", "key.keyboard.x"):onPress(function () + self.removeUnsafeModel(models.script_death_animation_debug.Avatar) + self:generateDummyAvatar(models.script_death_animation_debug) + self.resetDummyAvatar(models.script_death_animation_debug.Avatar) + self.setPhase1Pose(models.script_death_animation_debug.Avatar) + models.script_death_animation_debug.Avatar:setPos(player:getPos():add(0, -0.75, 0):scale(16)) + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onPhase1 ~= nil then + self.parent.characterData.deathAnimation.callbacks.onPhase1(self.parent.characterData, models.script_death_animation_debug.Avatar, self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].name:upper()) + end + end) + keybinds:newKeybind("[DEBUG] Spawn death animation phase2 model", "key.keyboard.c"):onPress(function () + self.removeUnsafeModel(models.script_death_animation_debug.Avatar) + self:generateDummyAvatar(models.script_death_animation_debug) + self.resetDummyAvatar(models.script_death_animation_debug.Avatar) + self.setPhase2Pose(models.script_death_animation_debug.Avatar) + models.script_death_animation_debug.Avatar:setPos(player:getPos():scale(16)) + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onPhase1 ~= nil then + self.parent.characterData.deathAnimation.callbacks.onPhase1(self.parent.characterData, models.script_death_animation_debug.Avatar, self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].name:upper()) + end + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onPhase2 ~= nil then + self.parent.characterData.deathAnimation.callbacks.onPhase2(self.parent.characterData, models.script_death_animation_debug.Avatar, self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].name:upper()) + end + end) + end + end; + + ---存在しないかもしれないモデルパーツを安全に削除する。 + ---@param target? ModelPart 削除対象のモデルパーツ + removeUnsafeModel = function (target) + if target ~= nil then + target:getParent():removeChild(target) + target:remove() + end + end; + + ---ヘリコプターの出現/消滅パーティクルを生成する。 + ---@param self DeathAnimation + spawnHelicopterParticles = function (self) + local helicopterPos = self.parent.modelUtils.getModelWorldPos(models.models.death_animation.Helicopter) + for _ = 1, 100 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:poof"), helicopterPos:copy():add(vectors.rotateAroundAxis(self.animationRot, math.random() * 9.375 - 4.6875, math.random() * 11.125 - 5.5625, math.random() * 23.875 - 11.9375, 0, math.abs(helicopterPos.y), 0))) + end + end; + + ---死亡アニメーション用のダミーアバターを生成する。 + ---@param self DeathAnimation + ---@param parent ModelPart ダミーアバターをアタッチする親のモデルパーツ + generateDummyAvatar = function (self, parent) + local isArmorVisible = { + helmet = self.parent.armor.isArmorVisible.helmet; + chestplate = self.parent.armor.isArmorVisible.chestplate; + leggings = self.parent.armor.isArmorVisible.leggings; + boots = self.parent.armor.isArmorVisible.boots; + } + if isArmorVisible.helmet then + self.parent.armor:setHelmet(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + if isArmorVisible.chestplate then + self.parent.armor:setChestplate(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + if isArmorVisible.leggings then + self.parent.armor:setLeggings(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + if isArmorVisible.boots then + self.parent.armor:setBoots(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + self.parent.physics:disable() + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onBeforeModelCopy ~= nil then + self.parent.characterData.deathAnimation.callbacks.onBeforeModelCopy(self.parent.characterData, self.isScriptLoaded) + end + + parent:addChild(self.parent.modelUtils:copyModel(models.models.main.Avatar)) + parent.Avatar.Head.FaceParts.Eyes.EyeRight:setUVPixels(self.parent.characterData.faceParts.leftEye.TIRED:copy():scale(6)) + parent.Avatar.Head.FaceParts.Eyes.EyeLeft:setUVPixels(self.parent.characterData.faceParts.rightEye.TIRED:copy():scale(6)) + parent.Avatar.Head.HeadRing:setRot() + for _, modelPart in ipairs({parent.Avatar.UpperBody.Arms.RightArm.RightArmBottom.RightItemPivot, parent.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.LeftItemPivot}) do + modelPart:remove() + end + local unsafeModels = {parent.Avatar.Head.FaceParts.Mouth, parent.Avatar.Head.ArmorH, parent.Avatar.UpperBody.Body.ArmorB, parent.Avatar.UpperBody.Arms.RightArm.ArmorRA, parent.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB, parent.Avatar.UpperBody.Arms.LeftArm.ArmorLA, parent.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB, parent.Avatar.LowerBody.Legs.RightLeg.ArmorRL, parent.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB, parent.Avatar.LowerBody.Legs.LeftLeg.ArmorLL, parent.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB} + for i = 1, 11 do + self.removeUnsafeModel(unsafeModels[i]) + end + if parent.Avatar.UpperBody.Body.Gun ~= nil then + if self.parent.characterData.gun.gunPosition.put.type == "BODY" then + local leftHanded = player:isLeftHanded() + parent.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, 12, 0):add(self.parent.characterData.gun.gunPosition.put.pos[leftHanded and "left" or "right"])) + parent.Avatar.UpperBody.Body.Gun:setRot(self.parent.characterData.gun.gunPosition.put.rot[leftHanded and "left" or "right"]) + else + parent.Avatar.UpperBody.Body.Gun:remove() + end + end + + if isArmorVisible.helmet then + self.parent.armor:setHelmet(self.parent.armor.armorSlotItems[1]) + end + if isArmorVisible.chestplate then + self.parent.armor:setChestplate(self.parent.armor.armorSlotItems[2]) + end + if isArmorVisible.leggings then + self.parent.armor:setLeggings(self.parent.armor.armorSlotItems[3]) + end + if isArmorVisible.boots then + self.parent.armor:setBoots(self.parent.armor.armorSlotItems[4]) + end + self.parent.physics:enable() + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onAfterModelCopy ~= nil then + self.parent.characterData.deathAnimation.callbacks.onAfterModelCopy(self.parent.characterData, self.isScriptLoaded) + end + end; + + ---ダミーアバター状態をリセットする。 + ---@param avatarRoot ModelPart ダミーアバターのルート + resetDummyAvatar = function (avatarRoot) + for _, modelPart in ipairs({avatarRoot, avatarRoot.Head, avatarRoot.UpperBody, avatarRoot.UpperBody.Body, avatarRoot.UpperBody.Arms, avatarRoot.UpperBody.Arms.RightArm, avatarRoot.UpperBody.Arms.RightArm.RightArmBottom, avatarRoot.UpperBody.Arms.LeftArm, avatarRoot.UpperBody.Arms.LeftArm.LeftArmBottom, avatarRoot.LowerBody, avatarRoot.LowerBody.Legs, avatarRoot.LowerBody.Legs.RightLeg, avatarRoot.LowerBody.Legs.RightLeg.RightLegBottom, avatarRoot.LowerBody.Legs.LeftLeg, avatarRoot.LowerBody.Legs.LeftLeg.LeftLegBottom}) do + modelPart:setPos() + modelPart:setRot() + modelPart:setScale() + end + end; + + ---ダミーアバターをフェーズ1のポーズにする。 + ---@param avatarRoot ModelPart ダミーアバターのルート + setPhase1Pose = function (avatarRoot) + avatarRoot:setPos(0, -12, 0) + avatarRoot.Head:setRot(-30, 0, 0) + avatarRoot.UpperBody.Arms.RightArm:setRot(35, 0, -20) + avatarRoot.UpperBody.Arms.LeftArm:setRot(35, 0, 20) + avatarRoot.LowerBody.Legs.RightLeg:setRot(90, -10, 0) + avatarRoot.LowerBody.Legs.LeftLeg:setRot(90, 10, 0) + end; + + ---ダミーアバターをフェーズ2のポーズにする。 + ---@param avatarRoot ModelPart ダミーアバターのルート + setPhase2Pose = function (avatarRoot) + avatarRoot:setPos(3, -210, 2) + avatarRoot:setRot(105, 75, 90) + avatarRoot.Head:setRot(0, -40, 0) + avatarRoot.UpperBody.Arms.RightArm:setRot(47.5, 0, 20) + avatarRoot.UpperBody.Arms.LeftArm:setRot(-30, 0, -15) + avatarRoot.LowerBody.Legs.RightLeg:setRot(80, 0, 0) + avatarRoot.LowerBody.Legs.RightLeg.RightLegBottom:setRot(-75, 0, 0) + avatarRoot.LowerBody.Legs.LeftLeg:setRot(10, 0, 0) + avatarRoot:setLight() + end; + + ---死亡アニメーションを再生する。 + ---@param self DeathAnimation + play = function (self) + self:stop() + self.costumeIndex = self.parent.costume.currentCostume + + --ダミーアバターを生成する。 + local unsafeModels = {models.models.death_animation.Avatar, models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14.Avatar} + for i = 1, 2 do + self.removeUnsafeModel(unsafeModels[i]) + end + self:generateDummyAvatar(models.models.death_animation) + + --死亡アニメーションを生成する。 + self.resetDummyAvatar(models.models.death_animation.Avatar) + self.setPhase1Pose(models.models.death_animation.Avatar) + self.animationPos = player:getPos() + models.models.death_animation:setPos(self.animationPos:copy():scale(16)) + self.animationRot = (player:getBodyYaw() * -1 + 180) % 360 + models.models.death_animation:setRot(0, self.animationRot) + models.models.death_animation:setVisible(true) + animations["models.death_animation"]["death_animation"]:play() + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onPhase1 ~= nil then + self.parent.characterData.deathAnimation.callbacks.onPhase1(self.parent.characterData, models.models.death_animation.Avatar, self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].name:upper()) + end + + if events.TICK:getRegisteredCount("death_animation_tick") == 0 then + events.TICK:register(function () + local particleAnchorPos = self.parent.modelUtils.getModelWorldPos(models.models.death_animation.DeathAnimationParticleAnchor) + for _ = 1, 3 do + local particleRot = math.random() * math.pi * 2 + local particleOffset = math.random() * 3 + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:poof"), particleAnchorPos:copy():add(math.cos(particleRot) * particleOffset, 0, math.sin(particleRot) * particleOffset)):setVelocity(math.cos(particleRot), 0, math.sin(particleRot)) + + end + if self.animationCount % 2 == 1 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.bamboo_wood_door.close"), self.parent.modelUtils.getModelWorldPos(models.models.death_animation.Helicopter.DeathAnimationSoundAnchor1), 1, 0.5):setAttenuation(2) + end + if self.animationCount < 120 then + models.models.death_animation.Avatar:setLight(world.getLightLevel(self.animationPos)) + end + if self.animationCount == 1 then + self:spawnHelicopterParticles() + elseif self.animationCount == 10 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.iron_door.open"), self.parent.modelUtils.getModelWorldPos(models.models.death_animation.Helicopter.DeathAnimationSoundAnchor1), 1, 0.5) + elseif self.animationCount >= 57 and self.animationCount < 76 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.attack.sweep"), self.parent.modelUtils.getModelWorldPos(models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14), 0.25, -0.056 * (self.animationCount - 57) + 2) + elseif self.animationCount == 120 then + self.dummyAvatarRoot = models.models.death_animation.Avatar:moveTo(models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14) + self.setPhase2Pose(models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14.Avatar) + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onPhase2 ~= nil then + self.parent.characterData.deathAnimation.callbacks.onPhase2(self.parent.characterData, models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14.Avatar, self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].name:upper()) + end + elseif self.animationCount == 180 then + models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14.Avatar:setVisible(false) + elseif self.animationCount == 230 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.iron_door.close"), self.parent.modelUtils.getModelWorldPos(models.models.death_animation.Helicopter.DeathAnimationSoundAnchor1), 1, 0.5) + elseif self.animationCount == 255 then + self:spawnHelicopterParticles() + self:stop() + end + end, "death_animation_tick") + end + if events.WORLD_TICK:getRegisteredCount("death_animation_world_tick") == 0 then + events.WORLD_TICK:register(function () + self.animationCount = self.animationCount + 1 + end, "death_animation_world_tick") + end + end; + + ---死亡アニメーションを停止する。 + ---@param self DeathAnimation + stop = function (self) + models.models.death_animation:setVisible(false) + animations["models.death_animation"]["death_animation"]:stop() + events.TICK:remove("death_animation_tick") + events.WORLD_TICK:remove("death_animation_world_tick") + self.dummyAvatarRoot = nil + self.animationCount = 0 + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/events/abstract_event.lua b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/events/abstract_event.lua new file mode 100644 index 0000000..e6af2e5 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/events/abstract_event.lua @@ -0,0 +1,71 @@ +---@class AbstractEvent : AvatarModule +---@field public registerTable {[string]: fun()[]} 登録されたコールバック関数を管理するテーブル +---@field public register fun(self: AbstractEvent, callback: fun(...: any), name?: string) イベントにコールバック関数登録する +---@field public remove fun(self: AbstractEvent, name: string) 指定した名前のコールバック関数を1つ削除する +---@field public getRegisteredCount fun(self: AbstractEvent, name: string): integer 指定した名前で登録されているコールバック関数の数を返す +---@field public fire fun(self: AbstractEvent, ...: any) 登録された全てのコールバック関数を呼ぶ + +AbstractEvent = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return AbstractEvent + new = function (parent) + ---@type AbstractEvent + local instance = Avatar.instantiate(AbstractEvent, AvatarModule, parent) + + instance.registerTable = {} + + return instance + end; + + ---イベントにコールバック関数登録する。 + ---@param self AbstractEvent + ---@param callback fun(...: any) 登録するコールバック関数 + ---@param name? string コールバック関数の名前 + register = function (self, callback, name) + local callbackName = name ~= nil and name or client.intUUIDToString(client.generateUUID()) + if self.registerTable[callbackName] ~= nil then + table.insert(self.registerTable[callbackName], callback) + else + local callbackTable = {} + table.insert(callbackTable, callback) + self.registerTable[callbackName] = callbackTable + end + end; + + ---指定した名前のコールバック関数を1つ削除する。 + ---@param self AbstractEvent + ---@param name string コールバック関数の名前 + remove = function (self, name) + if self.registerTable[name] ~= nil then + table.remove(self.registerTable[name]) + if #self.registerTable[name] == 0 then + self.registerTable[name] = nil + end + end + end; + + ---指定した名前で登録されているコールバック関数の数を返す。 + ---@param self AbstractEvent + ---@param name string コールバック関数の名前 + ---@return integer registeredCount 登録されていたコールバック関数の数 + getRegisteredCount = function (self, name) + if self.registerTable[name] ~= nil then + return #self.registerTable[name] + else + return 0 + end + end; + + ---登録された全てのコールバック関数を呼ぶ。 + ---@param self AbstractEvent + ---@param ... any callbackArgs コールバック引数 + fire = function (self, ...) + for _, eventTable in pairs(self.registerTable) do + for _, callback in ipairs(eventTable) do + ---@diagnostic disable-next-line: redundant-parameter + callback(...) + end + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/events/avatar_events.lua b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/events/avatar_events.lua new file mode 100644 index 0000000..b2fd6e8 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/events/avatar_events.lua @@ -0,0 +1,16 @@ +---@class AvatarEvents : AvatarModule アバター独自のイベントを定義し、管理するクラス +---@field public SCRIPT_INIT ScriptInitEvent 全てのスクリプトの初期化が完了した後に1度だけ呼ばれるイベント + +AvatarEvents = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return AvatarEvents + new = function (parent) + ---@type AvatarEvents + local instance = Avatar.instantiate(AvatarEvents, AvatarModule, parent) + + instance.SCRIPT_INIT = ScriptInitEvent.new(instance.parent) + + return instance + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/events/script_init_event.lua b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/events/script_init_event.lua new file mode 100644 index 0000000..44c62e7 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/events/script_init_event.lua @@ -0,0 +1,25 @@ +---@class ScriptInitEvent : AbstractEvent 全てのスクリプトの初期化が完了した後に1度だけ呼ばれるイベント +---@field public register fun(self: AbstractEvent, callback: fun(), name?: string) イベントにコールバック関数登録する +---@field public fire fun(self: AbstractEvent) 登録された全てのコールバック関数を呼ぶ + +ScriptInitEvent = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ScriptInitEvent + new = function (parent) + ---@type ScriptInitEvent + local instance = Avatar.instantiate(ScriptInitEvent, AbstractEvent, parent) + + return instance + end; + + ---登録された全てのコールバック関数を呼ぶ。 + ---@param self ScriptInitEvent + fire = function (self, ...) + for _, eventTable in pairs(self.registerTable) do + for _, callback in ipairs(eventTable) do + callback() + end + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/ex_skill/ex_skill.lua b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/ex_skill/ex_skill.lua new file mode 100644 index 0000000..dcc10ca --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/ex_skill/ex_skill.lua @@ -0,0 +1,434 @@ +---@alias ExSkill.AutoPlayMode +---| "NONE" # 自動再生なし +---| "MAIN" # メインExスキル +---| "SUB" # サブExスキル + +---@alias ExSkill.TransitionPhase +---| "PRE" # Exスキルアニメーション開始前 +---| "POST" # Exスキルアニメーション終了後 + +---@class (exact) ExSkill : AvatarModule Exスキルのアニメーションを管理するクラス +---@field package AUTO_PLAY ExSkill.AutoPlayMode アバター読み込み時に自動的にExスキルが再生される。デバッグ用。 +---@field public frameParticleAmount integer Exスキルフレームのパーティクルの量:1. 標準, 2. 少なめ, 3. なし, 4. Exスキルフレーム非表示、パーティクル量は標準 +---@field package exSkillIndex integer 現在再生中のExスキルのインデックス番号 +---@field public animationCount integer Exスキルのアニメーション再生中に増加するカウンター。-1はアニメーション停止中を示す。 +---@field package animationLength number Exスキルのアニメーションの長さ。スクリプトで自動で代入する。 +---@field public transitionCount number Exスキルのアニメーション前後のカメラのトランジションの進捗を示すカウンター +---@field package keyPressCount integer Exスキルキーを押下し続ける時間を計るカウンター +---@field package bodyYaw number[] プレイヤーの体の回転 +---@field package isDebugInit boolean デバッグモードが初期化されたかどうか +---@field public canPlayAnimation fun(self: ExSkill): boolean アニメーションが再生可能かどうかを返す +---@field package transition fun(self: ExSkill, direction: ExSkill.TransitionPhase, callback: fun()) Exスキルのアニメーションの前後のカメラのトランジションを行う関数 +---@field public play fun(self: ExSkill, isSubExSkill: boolean) アニメーションを再生する +---@field public stop fun(self: ExSkill) アニメーションを停止する +---@field public forceStop fun(self: ExSkill) アニメーションを停止する。終了時のトランジションも無効。 + +ExSkill = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ExSkill + new = function (parent) + ---@type ExSkill + local instance = Avatar.instantiate(ExSkill, AvatarModule, parent) + + instance.AUTO_PLAY = "NONE" + + instance.frameParticleAmount = instance.parent.config:loadConfig("PRIVATE", "exSkillFrameParticleAmount", 1) + instance.exSkillIndex = 1 + instance.animationCount = -1 + instance.animationLength = 0 + instance.transitionCount = 0 + instance.keyPressCount = 0 + instance.bodyYaw = {} + instance.isDebugInit = false + + return instance + end; + + ---初期化関数 + ---@param self ExSkill + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + for _, exSkill in ipairs(self.parent.characterData.exSkill) do + local offset = (exSkill.camera.fixMode ~= nil and exSkill.camera.fixMode) and 1 or 0.9375 + exSkill.camera.start.pos:mul(-1, 1, 1):scale(1 / 16 * offset) + exSkill.camera.fin.pos:mul(-1, 1, 1):scale(1 / 16 * offset) + end + + local exSkillKey = self.parent.keyManager:register("ex_skill", self.parent.config:loadConfig("PRIVATE", "keybind.ex_skill", "key.keyboard.g")) + exSkillKey:setOnPress(function () + while events.TICK:getRegisteredCount("ex_skill_keypress_tick") > 0 do + events.TICK:remove("ex_skill_keypress_tick") + end + events.TICK:register(function () + if self.keyPressCount == 30 then + events.TICK:remove("ex_skill_keypress_tick") + self.parent.placementObjectManager:removeAll() + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.zombie.break_wooden_door"), player:getPos(), 0.25, 2) + self.keyPressCount = 0 + return + end + self.keyPressCount = self.keyPressCount + 1 + end, "ex_skill_keypress_tick") + end) + exSkillKey:setOnRelease(function () + events.TICK:remove("ex_skill_keypress_tick") + if self.keyPressCount > 0 then + if self:canPlayAnimation() and self.animationCount == -1 and self.transitionCount == 0 then + pings.exSkill() + else + print(self.parent.locale:getLocale("key_bind.ex_skill.unavailable"..(renderer:isFirstPerson() and "_firstperson" or ""))) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + end + self.keyPressCount = 0 + end + end) + self.parent.keyManager:register("ex_skill_sub", self.parent.config:loadConfig("PRIVATE", "keybind.ex_skill_sub", "key.keyboard.h")):setOnPress(function () + if self:canPlayAnimation() and self.animationCount == -1 and self.transitionCount == 0 and self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill ~= nil then + pings.subExSkill() + else + print(self.parent.locale:getLocale(self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill == nil and "action_wheel.main.action_6.unavailable" or "key_bind.ex_skill.unavailable"..(renderer:isFirstPerson() and "_firstperson" or ""))) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + end + end) + end + + table.insert(self.bodyYaw, player:getBodyYaw() % 360) + + events.TICK:register(function () + if not renderer:isFirstPerson() then + table.insert(self.bodyYaw, player:getBodyYaw() % 360) + if #self.bodyYaw == 3 then + table.remove(self.bodyYaw, 1) + end + end + end) + + if self.AUTO_PLAY ~= "NONE" then + events.TICK:register(function () + if not self.isDebugInit then + events.TICK:remove("ex_skill_debug_tick") + self:play(self.AUTO_PLAY == "SUB") + self.isDebugInit = true + end + end, "ex_skill_debug_tick") + end + end; + + ---アニメーションが再生可能かどうかを返す。 + ---@param self ExSkill + ---@return boolean canPlayAnimation Exスキルアニメーションが再生可能かどうか + canPlayAnimation = function (self) + return player:getPose() == "STANDING" and player:getVelocity():length() < 0.01 and self.bodyYaw[1] == self.bodyYaw[2] and player:isOnGround() and not player:isInWater() and not player:isInLava() and player:getFrozenTicks() == 0 and not renderer:isFirstPerson() and self.parent.playerUtils.damageStatus == "NONE" and player:getSwingArm() == nil and player:getActiveItem().id == "minecraft:air" and not self.parent.costume.isChangingCostume + end; + + ---Exスキルのアニメーションの前後のカメラのトランジションを行う関数 + ---@param self ExSkill + ---@param direction ExSkill.TransitionPhase カメラのトランジションの向き + ---@param callback fun() トランジション終了時に呼び出されるコールバック関数 + transition = function (self, direction, callback) + events.TICK:register(function () + if not client:isPaused() then + if events.TICK:getRegisteredCount("ex_skill_transition_tick") == 1 then + self.transitionCount = direction == "PRE" and math.min(self.transitionCount + 1, 10) or math.max(self.transitionCount - 1, 0) + end + if (direction == "PRE" and self.transitionCount == 10) or (direction == "POST" and self.transitionCount == 0) then + if host:isHost() then + local windowSize = client:getScaledWindowSize() + models.models.ex_skill_frame.Gui.FrameBar:setPos(0, 0, 0) + if direction == "PRE" and self.frameParticleAmount < 4 then + for _, modelPart in ipairs({models.models.ex_skill_frame.Gui.Frame.FrameTopLeft, models.models.ex_skill_frame.Gui.Frame.FrameTopRight, models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft, models.models.ex_skill_frame.Gui.Frame.FrameBottomRight}) do + modelPart:setVisible(true) + end + models.models.ex_skill_frame.Gui.Frame.FrameTop:setPos(-windowSize.x + 16, -16) + models.models.ex_skill_frame.Gui.Frame.FrameTop:setScale(windowSize.x / 16 - 2, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setPos(-16, -windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setScale(1, windowSize.y / 16 - 2, 1) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setPos(-windowSize.x + 16, -windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setScale(windowSize.x / 16 - 2, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setPos(-windowSize.x, -windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setScale(1, windowSize.y / 16 - 2, 1) + elseif direction == "POST" then + for _, modelPart in ipairs({models.models.ex_skill_frame.Gui.Frame.FrameTopLeft, models.models.ex_skill_frame.Gui.Frame.FrameTopRight, models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft, models.models.ex_skill_frame.Gui.Frame.FrameBottomRight}) do + modelPart:setVisible(false) + end + for _, modelPart in ipairs({models.models.ex_skill_frame.Gui.Frame.FrameTop, models.models.ex_skill_frame.Gui.Frame.FrameLeft, models.models.ex_skill_frame.Gui.Frame.FrameBottom, models.models.ex_skill_frame.Gui.Frame.FrameRight}) do + modelPart:setScale(0, 0, 0) + end + end + end + callback() + events.TICK:remove("ex_skill_transition_tick") + events.RENDER:remove("ex_skill_transition_render") + end + if host:isHost() then + local barPos = models.models.ex_skill_frame.Gui.FrameBar:getPos().x * -1 + local windowSizeY = client:getScaledWindowSize().y + if self.frameParticleAmount ~= 3 and self.transitionCount >= 1 and self.transitionCount <= 9 then + for _ = 1, windowSizeY / (self.frameParticleAmount == 2 and 100 or 20) do + local particleOffset = math.random() * windowSizeY + self.parent.frameParticleManager:spawn(vectors.vec2(barPos - particleOffset - math.random() * 50, particleOffset):scale(-1), vectors.vec2(500, 0)) + end + end + end + end + end, "ex_skill_transition_tick") + + events.RENDER:register(function (delta) + --カメラのトランジション + if not client:isPaused() and host:isHost() then + local lookDir = player:getLookDir() + local cameraRot = renderer:isCameraBackwards() and vectors.vec3(math.deg(math.asin(lookDir.y)), math.deg(math.atan2(lookDir.z, lookDir.x) + math.pi / 2)) or vectors.vec3(math.deg(math.asin(-lookDir.y)), math.deg(math.atan2(lookDir.z, lookDir.x) - math.pi / 2)) + local targetCameraPos = vectors.vec3() + local targetCameraRot = vectors.vec3() + if direction == "PRE" then + targetCameraPos = vectors.rotateAroundAxis(self.bodyYaw[2] * -1 + 180, self.parent.characterData.exSkill[self.exSkillIndex].camera.start.pos, 0, 1):add(0, -1.62) + targetCameraRot = self.parent.characterData.exSkill[self.exSkillIndex].camera.start.rot:copy():add(0, self.bodyYaw[2], 0) + else + targetCameraPos = vectors.rotateAroundAxis(self.bodyYaw[2] * -1 + 180, self.parent.characterData.exSkill[self.exSkillIndex].camera.fin.pos, 0, 1):add(0, -1.62) + targetCameraRot = self.parent.characterData.exSkill[self.exSkillIndex].camera.fin.rot:copy():add(0, self.bodyYaw[2], 0) + end + if math.abs(cameraRot.y - targetCameraRot.y) >= 180 then + if cameraRot.y < targetCameraRot.y then + cameraRot.y = cameraRot.y + 360 + else + targetCameraRot.y = targetCameraRot.y + 360 + end + end + local trueDelta = direction == "PRE" and delta or delta * -1 + self.parent.cameraManager.setCameraPivot(targetCameraPos:scale((self.transitionCount + trueDelta) / 10)) + self.parent.cameraManager.setCameraRot(targetCameraRot:copy():sub(cameraRot):scale((self.transitionCount + trueDelta) / 10):add(cameraRot)) + self.parent.cameraManager:setThirdPersonCameraDistance(4 - (self.transitionCount + trueDelta) / 10 * 4) + + --フレーム演出 + local windowSize = client:getScaledWindowSize() + local barPos = (windowSize.x + windowSize.y + math.sqrt(2) * 16) * (direction == "PRE" and (self.transitionCount + trueDelta) / 10 or (1 - (self.transitionCount + trueDelta) / 10)) + models.models.ex_skill_frame.Gui.FrameBar:setPos(-barPos, 0, 0) + + if self.frameParticleAmount < 4 then + local frameTopLength = math.clamp(barPos, 32, windowSize.x) + local frameLeftLength = math.clamp(barPos, 32, windowSize.y) + local frameBottomLength = math.clamp(barPos - windowSize.y + 16, 32, windowSize.x) + local frameRightLength = math.clamp(barPos - windowSize.x + 16, 32, windowSize.y) + + models.models.ex_skill_frame.Gui.Frame.FrameTopLeft:setPos(-16, -16) + models.models.ex_skill_frame.Gui.Frame.FrameTopRight:setPos(-windowSize.x, -16) + models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft:setPos(-16, -windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameBottomRight:setPos(-windowSize.x, -windowSize.y) + if direction == "PRE" then + models.models.ex_skill_frame.Gui.Frame.FrameTopLeft:setVisible(barPos >= 16) + models.models.ex_skill_frame.Gui.Frame.FrameTopRight:setVisible(barPos >= windowSize.x + 16) + models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft:setVisible(barPos >= windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameBottomRight:setVisible(barPos >= windowSize.x + windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameTop:setPos(-frameTopLength + 16, -16) + models.models.ex_skill_frame.Gui.Frame.FrameTop:setScale(frameTopLength / 16 - 2, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setPos(-16, -frameLeftLength + 16) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setScale(1, frameLeftLength / 16 - 2, 1) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setPos(-frameBottomLength + 16, -windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setScale(frameBottomLength / 16 - 2, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setPos(-windowSize.x, -frameRightLength + 16) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setScale(1, frameRightLength / 16 - 2, 1) + else + models.models.ex_skill_frame.Gui.Frame.FrameTopLeft:setVisible(barPos < 16) + models.models.ex_skill_frame.Gui.Frame.FrameTopRight:setVisible(barPos < windowSize.x + 16) + models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft:setVisible(barPos < windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameBottomRight:setVisible(barPos < windowSize.x + windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameTop:setPos(-windowSize.x + 16, -16) + models.models.ex_skill_frame.Gui.Frame.FrameTop:setScale((windowSize.x - frameTopLength) / 16, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setPos(-16, -windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setScale(1, (windowSize.y - frameLeftLength) / 16, 1) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setPos(-windowSize.x + 16, -windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setScale((windowSize.x - frameBottomLength) / 16, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setPos(-windowSize.x, -windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setScale(1, (windowSize.y - frameRightLength) / 16, 1) + end + end + end + end, "ex_skill_transition_render") + end; + + ---アニメーションを再生する。 + ---@param self ExSkill + ---@param isSubExSkill boolean サブExスキルを再生するかどうか + play = function (self, isSubExSkill) + if isSubExSkill then + if self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill ~= nil then + self.exSkillIndex = self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill + else + return + end + else + self.exSkillIndex = self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].exSkill + end + + self.parent.bubble:stop() + renderer:setFOV(70 / client:getFOV()) + renderer:setRenderHUD(false) + self.parent.cameraManager:setCameraCollisionDenial(true) + models.models.ex_skill_frame.Gui:setColor(self.parent.characterData.exSkill[self.exSkillIndex].formationType == "STRIKER" and vectors.vec3(1, 0.75, 0.75) or vectors.vec3(0.75, 1, 1)) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.levelup"), player:getPos(), 5, 2) + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPreTransition ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPreTransition(self.parent.characterData) + end + models.models.ex_skill_frame.Gui.FrameBar:setScale(1, client:getScaledWindowSize().y * math.sqrt(2) / 16 + 1, 1) + + events.TICK:register(function () + if not self:canPlayAnimation() then + self:forceStop() + end + end, "ex_skill_tick") + + self:transition("PRE", function () + self.parent.physics:disable() + for _, itemModel in ipairs({vanilla_model.RIGHT_ITEM, vanilla_model.LEFT_ITEM}) do + itemModel:setVisible(false) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].models) do + modelPart:setVisible(true) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].animations) do + animations["models."..modelPart]["ex_skill_"..self.exSkillIndex]:play() + end + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPreAnimation ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPreAnimation(self.parent.characterData) + end + self.parent.cameraManager:setThirdPersonCameraDistance(0) + + events.TICK:register(function () + if not client:isPaused() then + if self.animationCount == self.animationLength - 1 then + self:stop() + elseif self:canPlayAnimation() and animations["models.main"]["ex_skill_"..self.exSkillIndex]:isPlaying() then + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onAnimationTick ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onAnimationTick(self.parent.characterData, self.animationCount) + end + self.animationCount = self.animationCount > -1 and self.animationCount + 1 or self.animationCount + end + + if host:isHost() then + local windowSize = client:getScaledWindowSize() + local windowCenter = windowSize:copy():scale(0.5) + if self.frameParticleAmount < 3 then + for _ = 1, (windowSize.x * 2 + windowSize.y * 2) / (self.frameParticleAmount == 1 and 100 or 500) do + local particlePos = vectors.vec2(math.random() * (windowSize.x * 2 + windowSize.y * 2), math.random() * 16) + particlePos = particlePos.x <= windowSize.x and particlePos or (particlePos.x <= windowSize.x + windowSize.y and vectors.vec2(windowSize.x - particlePos.y, particlePos.x - windowSize.x) or (particlePos.x <= windowSize.x * 2 + windowSize.y and vectors.vec2(particlePos.x - (windowSize.x + windowSize.y), windowSize.y - particlePos.y) or vectors.vec2(particlePos.y, particlePos.x - (windowSize.x * 2 + windowSize.y)))) + self.parent.frameParticleManager:spawn(particlePos:copy():scale(-1), windowCenter:copy():sub(particlePos):scale(0.25)) + end + end + end + end + end, "ex_skill_animation_tick") + + if host:isHost() then + events.RENDER:register(function () + if not client:isPaused() then + self.parent.cameraManager.setCameraPivot(vectors.rotateAroundAxis(self.bodyYaw[2] * -1 + 180, models.models.main.CameraAnchor:getAnimPos():scale(1 / 16 * ((self.parent.characterData.exSkill[self.exSkillIndex].camera.fixMode ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].camera.fixMode) and 1 or 0.9375)), 0, 1, 0):add(0, -1.62, 0)) + self.parent.cameraManager.setCameraRot(models.models.main.CameraAnchor:getAnimRot():scale(-1):add(0, self.bodyYaw[2], 0)) + end + end, "ex_skill_animation_render") + end + self.animationCount = 0 + self.parent.gun:processGunTick() + self.animationLength = math.round(animations["models.main"]["ex_skill_"..self.exSkillIndex]:getLength() * 20) + end) + end; + + ---アニメーションを停止する。 + ---@param self ExSkill + stop = function (self) + events.TICK:remove("ex_skill_animation_tick") + if host:isHost() then + events.RENDER:remove("ex_skill_animation_render") + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.levelup"), player:getPos(), 5, 2):setAttenuation(100) + end + + for _, itemModel in ipairs({vanilla_model.RIGHT_ITEM, vanilla_model.LEFT_ITEM}) do + itemModel:setVisible(true) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].models) do + modelPart:setVisible(false) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].animations) do + animations["models."..modelPart]["ex_skill_"..self.exSkillIndex]:stop() + end + self.parent.physics:enable() + renderer:setFOV() + self.animationCount = -1 + + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostAnimation ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostAnimation(self.parent.characterData, false) + end + self:transition("POST", function () + events.TICK:remove("ex_skill_tick") + self.parent.cameraManager.setCameraPivot() + self.parent.cameraManager.setCameraRot() + self.parent.cameraManager:setThirdPersonCameraDistance(4) + self.parent.cameraManager:setCameraCollisionDenial(false) + renderer:setRenderHUD(true) + + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostTransition ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostTransition(self.parent.characterData, false) + end + end) + end; + + ---アニメーションを停止する。終了時のトランジションも無効。 + ---@param self ExSkill + forceStop = function (self) + events.RENDER:remove("ex_skill_transition_render") + if host:isHost() then + events.TICK:remove("ex_skill_transition_tick") + events.RENDER:remove("ex_skill_animation_render") + end + + for _, itemModel in ipairs({vanilla_model.RIGHT_ITEM, vanilla_model.LEFT_ITEM}) do + itemModel:setVisible(true) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].models) do + modelPart:setVisible(false) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].animations) do + animations["models."..modelPart]["ex_skill_"..self.exSkillIndex]:stop() + end + for _, eventName in ipairs({"ex_skill_tick", "ex_skill_animation_tick"}) do + events.TICK:remove(eventName) + end + self.parent.physics:enable() + models.models.ex_skill_frame.Gui.FrameBar:setPos() + for _, modelPart in ipairs({models.models.ex_skill_frame.Gui.Frame.FrameTopLeft, models.models.ex_skill_frame.Gui.Frame.FrameTopRight, models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft, models.models.ex_skill_frame.Gui.Frame.FrameBottomRight}) do + modelPart:setVisible(false) + end + for _, modelPart in ipairs({models.models.ex_skill_frame.Gui.Frame.FrameTop, models.models.ex_skill_frame.Gui.Frame.FrameLeft, models.models.ex_skill_frame.Gui.Frame.FrameBottom, models.models.ex_skill_frame.Gui.Frame.FrameRight}) do + modelPart:setScale(0, 0, 0) + end + self.parent.faceParts:resetEmotion() + self.parent.cameraManager.setCameraPivot() + self.parent.cameraManager.setCameraRot() + self.parent.cameraManager:setThirdPersonCameraDistance(4) + self.parent.cameraManager:setCameraCollisionDenial(false) + renderer:setRenderHUD(true) + renderer:setFOV() + + if self.animationCount >= 0 and self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostAnimation ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostAnimation(self.parent.characterData, true) + end + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostTransition ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostTransition(self.parent.characterData, true) + end + + self.animationCount = -1 + self.transitionCount = 0 + end; +} + +---Exスキルを再生する。 +function pings.exSkill() + AvatarInstance.exSkill:play(false) +end + +---サブExスキルを再生する。 +function pings.subExSkill() + AvatarInstance.exSkill:play(true) +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/ex_skill/ex_skill_frame_particle.lua b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/ex_skill/ex_skill_frame_particle.lua new file mode 100644 index 0000000..59315a9 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/ex_skill/ex_skill_frame_particle.lua @@ -0,0 +1,68 @@ +---@class (exact) ExSkillFrameParticle : SpawnObject Exスキルのフレームで使用するパーティクルの単一を管理するクラス +---@field package object ModelPart インスタンスで制御するオブジェクト +---@field package currentPos Vector2 パーティクルの現在位置 +---@field package nextPos Vector2 次ティックのパーティクルの位置 +---@field package velocity Vector2 パーティクルの速度 +---@field package particleCount integer パーティクルのアニメーションを制御するためのカウンター +---@field public new fun(parent: Avatar, pos: Vector2, velocity: Vector2, type: ExSkillFrameParticleManager.ParticleType): ExSkillFrameParticle コンストラクター + +ExSkillFrameParticle = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@param pos Vector2 パーティクルをスポーンさせるスクリーン上の座標。GUIスケールも考慮される。 + ---@param velocity Vector2 パーティクルの秒間移動距離(ピクセル) + ---@param type ExSkillFrameParticleManager.ParticleType このインスタンスのパーティクルの種類 + ---@return ExSkillFrameParticle + new = function (parent, pos, velocity, type) + ---@type ExSkillFrameParticle + local instance = Avatar.instantiate(ExSkillFrameParticle, SpawnObject, parent) + + instance.object = models.models.ex_skill_frame.Particles["Particle"..(type == "NORMAL" and 1 or 2)]:copy(instance.uuid) + instance.currentPos = pos + instance.nextPos = instance.currentPos + instance.velocity = velocity + instance.particleCount = 0 + + instance.callbacks = { + ---@param self ExSkillFrameParticle + onInit = function (self) + models.models.ex_skill_frame.Gui.script_ex_skill_frame_particles:addChild(self.object) + self.object:setRot(90, math.random() * 360, 180) + end; + + ---@param self ExSkillFrameParticle + onDeinit = function (self) + self.object:remove() + end; + + ---@param self ExSkillFrameParticle + onTick = function (self) + --パーティクル位置を強制更新 + self.currentPos = self.nextPos:copy() + self.object:setPos(self.currentPos:copy():augmented(0)) + self.object:setScale(vectors.vec3(1, 1, 1):scale(1 - self.particleCount / 5)) + + --カウンターを更新 + self.particleCount = self.particleCount + 1 + if self.particleCount == 5 then + self.object:remove() + elseif self.particleCount == 6 then + self.shouldDeinit = true + end + + --次ティックの位置を計算 + if self.velocity:length() > 0 then + self.nextPos = self.currentPos:copy():add(self.velocity:copy():scale(-0.05)) + end + end; + + ---@param self ExSkillFrameParticle + onRender = function (self, delta) + self.object:setPos(self.nextPos:copy():sub(self.currentPos):scale(delta):add(self.currentPos):augmented(0)) + self.object:setScale(vectors.vec3(1, 1, 1):scale(1 - (self.particleCount + delta) / 5)) + end; + } + + return instance + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/ex_skill/ex_skill_frame_particle_manager.lua b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/ex_skill/ex_skill_frame_particle_manager.lua new file mode 100644 index 0000000..262709e --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/ex_skill/ex_skill_frame_particle_manager.lua @@ -0,0 +1,48 @@ +---@alias ExSkillFrameParticleManager.ParticleType +---| "NORMAL" # 通常のパーティクル +---| "FIGURA" # Figuraマークのパーティクル(穴空き三角形) + +---@class (exact) ExSkillFrameParticleManager : SpawnObjectManager Exスキルのフレームで使用するパーティクルを管理するクラス +---@field public objects ExSkillFrameParticle[] インスタンスで制御するオブジェクト +---@field public getObject fun(self: ExSkillFrameParticleManager, pos: Vector2, velocity: Vector2): ExSkillFrameParticle Exスキルフレームのパーティクルのインスタンスを生成して返す +---@field public spawn fun(self: ExSkillFrameParticleManager, pos: Vector2, velocity: Vector2) Exスキルフレームのパーティクルをスポーンさせる + +ExSkillFrameParticleManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ExSkillFrameParticleManager + new = function (parent) + ---@type ExSkillFrameParticleManager + local instance = Avatar.instantiate(ExSkillFrameParticleManager, SpawnObjectManager, parent) + + instance.managerName = "ex_skill_frame_particle" + + return instance + end; + + ---初期化関数 + ---@param self ExSkillFrameParticleManager + init = function (self) + SpawnObjectManager.init(self) + + ---@diagnostic disable-next-line: discard-returns + models.models.ex_skill_frame.Gui:newPart("script_ex_skill_frame_particles") + end; + + ---Exスキルフレームのパーティクルのインスタンスを生成して返す。 + ---@param self ExSkillFrameParticleManager + ---@param pos Vector2 パーティクルをスポーンさせる画面上の座標 + ---@param velocity Vector2 パーティクルの速度 + ---@return ExSkillFrameParticle instance 生成したインスタンス + getObject = function (self, pos, velocity) + return ExSkillFrameParticle.new(self.parent, pos, velocity, math.random() > 0.9999 and "FIGURA" or "NORMAL") + end; + + ---Exスキルフレームのパーティクルをスポーンさせる。 + ---@param self ExSkillFrameParticleManager + ---@param pos Vector2 パーティクルをスポーンさせる画面上の座標 + ---@param velocity Vector2 パーティクルの速度 + spawn = function (self, pos, velocity) + SpawnObjectManager.spawn(self, pos, velocity) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/face_parts.lua b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/face_parts.lua new file mode 100644 index 0000000..c364e0f --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/face_parts.lua @@ -0,0 +1,88 @@ +---@class (exact) FaceParts : AvatarModule 目と口のテクスチャを管理するクラス +---@field package emotionCount integer エモートの時間を計るカウンター +---@field public blinkCount integer 瞬きのタイミングを計るカウンター +---@field public setEmotion fun(self: FaceParts, rightEye: BlueArchiveCharacter.RightEyeTextures, leftEye: BlueArchiveCharacter.LeftEyeTextures, mouth: BlueArchiveCharacter.MouthTextures, duration: integer, forced?: boolean) 表情を設定する +---@field public resetEmotion fun(self: FaceParts) 表情をリセットする + +FaceParts = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return FaceParts + new = function (parent) + ---@type FaceParts + local instance = Avatar.instantiate(FaceParts, AvatarModule, parent) + + instance.emotionCount = 0 + instance.blinkCount = 200 + + return instance + end; + + ---初期化関数 + ---@param self FaceParts + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + if not client:isPaused() then + if self.parent.playerUtils.damageStatus == "DAMAGE" then + if self.parent.characterData.faceParts.emotionSet ~= nil and self.parent.characterData.faceParts.emotionSet.onDamage ~= nil then + self:setEmotion(self.parent.characterData.faceParts.emotionSet.onDamage.rightEye, self.parent.characterData.faceParts.emotionSet.onDamage.leftEye, self.parent.characterData.faceParts.emotionSet.onDamage.mouth, 8, true) + else + self:setEmotion("SURPRISED", "SURPRISED", "NORMAL", 8, true) + end + elseif self.parent.playerUtils.damageStatus == "DIED" then + if self.parent.characterData.faceParts.emotionSet ~= nil and self.parent.characterData.faceParts.emotionSet.onDied ~= nil then + self:setEmotion(self.parent.characterData.faceParts.emotionSet.onDied.rightEye, self.parent.characterData.faceParts.emotionSet.onDied.leftEye, self.parent.characterData.faceParts.emotionSet.onDied.mouth, 20, true) + else + self:setEmotion("SURPRISED", "SURPRISED", "NORMAL", 20, true) + end + elseif self.emotionCount == 0 then + self:setEmotion("NORMAL", "NORMAL", "NORMAL", 0) + end + + if self.blinkCount == 0 then + self:setEmotion("CLOSED", "CLOSED", "NORMAL", 2) + self.blinkCount = 200 + else + self.blinkCount = self.blinkCount - 1 + end + + self.emotionCount = self.emotionCount > 0 and self.emotionCount - 1 or self.emotionCount + end + end) + end; + + ---表情を設定する。 + ---@param self FaceParts + ---@param rightEye BlueArchiveCharacter.RightEyeTextures 設定する右目の名前 + ---@param leftEye BlueArchiveCharacter.LeftEyeTextures 設定する左目の名前 + ---@param mouth BlueArchiveCharacter.MouthTextures 設定する口の名前 + ---@param duration integer この表情を有効にする時間 + ---@param forced? boolean trueにすると以前のエモーションが再生中でも強制的に現在のエモーションを適用させる。 + setEmotion = function (self, rightEye, leftEye, mouth, duration, forced) + if self.emotionCount == 0 or forced then + --右目 + models.models.main.Avatar.Head.FaceParts.Eyes.EyeLeft:setUVPixels(self.parent.characterData.faceParts.rightEye[rightEye]:copy():scale(6)) + + --左目 + models.models.main.Avatar.Head.FaceParts.Eyes.EyeRight:setUVPixels(self.parent.characterData.faceParts.leftEye[leftEye]:copy():scale(6)) + + --口 + if mouth ~= "NORMAL" then + models.models.main.Avatar.Head.FaceParts.Mouth:setVisible(true) + models.models.main.Avatar.Head.FaceParts.Mouth:setUVPixels(self.parent.characterData.faceParts.mouth[mouth]:copy():mul(16, 8)) + else + models.models.main.Avatar.Head.FaceParts.Mouth:setVisible(false) + end + + self.emotionCount = duration + end + end; + + ---表情をリセットする。 + ---@param self FaceParts + resetEmotion = function (self) + self.emotionCount = 0 + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/gun.lua b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/gun.lua new file mode 100644 index 0000000..e85079b --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/gun.lua @@ -0,0 +1,376 @@ +---@alias Gun.GunPosition +---| "NONE" # 構えていない +---| "RIGHT" # 右手に構える +---| "LEFT" # 左手に構える + +---@alias Gun.HandDirection +---| "RIGHT" # 右手 +---| "LEFT" # 左手 + +---@class (exact) Gun : AvatarModule 生徒の銃を制御するクラス +---@field public gunItems Minecraft.itemID[] 銃のモデルを適用するアイテム +---@field public shouldShowWeaponInFirstPerson boolean 一人称で武器(銃を含む)のモデルを表示するかどうか +---@field public currentGunPosition Gun.GunPosition 現在の銃の位置 +---@field package heldItemsPrev Gun.HeldItemSet 前ティックの手持ちアイテム +---@field package isLeftHandedPrev boolean 前ティックに左利きだったかどうか +---@field package isGunTickProcessed boolean このティック内で銃ティックを処理したかどうか +---@field package setBodyGunPos fun(self: Gun) 背中の銃の位置・向きを設定する +---@field public setGunPosition fun(self: Gun, gonPosition: Gun.GunPosition) 銃の位置を変更する +---@field public processGunTick fun(self: Gun) 銃ティックを処理する + +---@class (exact) Gun.HeldItemSet 手持ちアイテムを示すデータセット +---@field public mainHand ItemStack メインハンド +---@field public offHand ItemStack オフハンド + +Gun = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Gun + new = function (parent) + ---@type Gun + local instance = Avatar.instantiate(Gun, AvatarModule, parent) + + instance.gunItems = {"minecraft:bow", "minecraft:crossbow"} + instance.shouldShowWeaponInFirstPerson = instance.parent.config:loadConfig("PRIVATE", "firstPersonWeapon", true) + instance.currentGunPosition = "NONE" + instance.heldItemsPrev = { + mainHand = world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")); + offHand = world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")); + } + instance.isLeftHandedPrev = player:isLeftHanded() + instance.isGunTickProcessed = false + + return instance + end; + + ---初期化関数 + ---@param self Gun + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + self:processGunTick() + self.isGunTickProcessed = false + end) + + events.ON_PLAY_SOUND:register(function (id, pos, _, _, _, _, path) + if path ~= nil then + local velocityDistance = player:getVelocity():length() + local distanceFromSound = math.abs(pos:copy():sub(player:getPos()):length() - velocityDistance) + if (id == "minecraft:entity.arrow.shoot" or id == "minecraft:item.crossbow.loading_end" or id == "minecraft:item.crossbow.shoot") and math.abs(velocityDistance - distanceFromSound) < 1 then + if id == "minecraft:item.crossbow.loading_end" then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.dispenser.fail"), pos, 1, 2) + elseif player:isUnderwater() then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.generic.extinguish_fire"), pos, 0.5, 1.5) + else + local particleAnchor = self.parent.modelUtils.getModelWorldPos(renderer:isFirstPerson() and (Gun.CurrentGunPosition == "RIGHT" and models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.RightItemPivot or models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.LeftItemPivot) or models.models.main.Avatar.UpperBody.Body.Gun.MuzzleAnchor) + for _ = 1, 5 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:smoke"), particleAnchor) + end + sounds:playSound(self.parent.compatibilityUtils:checkSound(self.parent.characterData.gun.sound.name), pos, 1, self.parent.characterData.gun.sound.pitch) + end + return true + elseif (id == "minecraft:item.crossbow.loading_start" or id == "minecraft:item.crossbow.loading_middle" or id:match("^minecraft:item%.crossbow%.quick_charge_[1-3]$") ~= nil) and distanceFromSound < 1 and player:getActiveItem().id == "minecraft:crossbow" then + local activeItemTime = player:getActiveItemTime() + local quickChargeLevel = 0 + local activeItem = player:getActiveItem() + if activeItem.tag.Enchantments ~= nil then + for _, enchant in ipairs(activeItem.tag.Enchantments) do + if enchant.id == "minecraft:quick_charge" then + quickChargeLevel = enchant.lvl + break + end + end + end + if (quickChargeLevel <= 4 and activeItemTime + quickChargeLevel >= 4 and activeItemTime + quickChargeLevel <= 6) or (quickChargeLevel == 5 and activeItemTime <= 2) then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.flintandsteel.use"), pos, 1, 2) + return true + elseif id == "minecraft:item.crossbow.loading_middle" then + return true + end + end + end + end) + + local this = self --Figuraにスクリプトを再構築させると参照がおかしくなることに対処しているコード + events.ITEM_RENDER:register(function (item, mode, _, _, _, leftHanded) + self = this + if mode ~= "HEAD" and self.currentGunPosition == (leftHanded and "LEFT" or "RIGHT") and (self.shouldShowWeaponInFirstPerson or mode =="THIRD_PERSON_LEFT_HAND" or mode == "THIRD_PERSON_RIGHT_HAND") then + for _, gunItem in ipairs(self.gunItems) do + if item.id == gunItem then + if leftHanded then + if mode == "FIRST_PERSON_LEFT_HAND" then + local offsetPos = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.firstPersonPos ~= nil and self.parent.characterData.gun.gunPosition.hold.firstPersonPos.left ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.hold.firstPersonPos.left + end + local offsetRot = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.firstPersonRot ~= nil and self.parent.characterData.gun.gunPosition.hold.firstPersonRot.left ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.hold.firstPersonRot.left + end + local activeItemId = player:getActiveItem().id + if activeItemId == "minecraft:bow" then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -2.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(20, -7.5, -5):add(offsetRot)) + elseif activeItemId == "minecraft:crossbow" then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, 0.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + elseif item.id == "minecraft:crossbow" and item.tag.Charged == 1 then + if player:isLeftHanded() then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(-10, -1.25, 6):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 10, 0):add(offsetRot)) + else + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -1.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + else + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -1.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + elseif mode == "THIRD_PERSON_LEFT_HAND" then + local offsetPos = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.thirdPersonPos ~= nil and self.parent.characterData.gun.gunPosition.hold.thirdPersonPos.left ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.hold.thirdPersonPos.left + end + local offsetRot = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.thirdPersonRot ~= nil and self.parent.characterData.gun.gunPosition.hold.thirdPersonRot.left ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.hold.thirdPersonRot.left + end + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -4.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + else + if mode == "FIRST_PERSON_RIGHT_HAND" then + local offsetPos = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.firstPersonPos ~= nil and self.parent.characterData.gun.gunPosition.hold.firstPersonPos.right ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.hold.firstPersonPos.right + end + local offsetRot = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.firstPersonRot ~= nil and self.parent.characterData.gun.gunPosition.hold.firstPersonRot.right ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.hold.firstPersonRot.right + end + local activeItemId = player:getActiveItem().id + if activeItemId == "minecraft:bow" then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -2.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(20, 7.5, 5):add(offsetRot)) + elseif activeItemId == "minecraft:crossbow" then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, 0.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + elseif item.id == "minecraft:crossbow" and item.tag.Charged == 1 then + if player:isLeftHanded() then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -1.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + else + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(10, -1.25, 6):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, -10, 0):add(offsetRot)) + end + else + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -1.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + elseif mode == "THIRD_PERSON_RIGHT_HAND" then + local offsetPos = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.thirdPersonPos ~= nil and self.parent.characterData.gun.gunPosition.hold.thirdPersonPos.right ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.hold.thirdPersonPos.right + end + local offsetRot = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.thirdPersonRot ~= nil and self.parent.characterData.gun.gunPosition.hold.thirdPersonRot.right ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.hold.thirdPersonRot.right + end + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -4.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + end + return models.models.main.Avatar.UpperBody.Body.Gun + end + end + end + end) + + models.models.main.Avatar.UpperBody.Body.Gun:setScale(vectors.vec3(1, 1, 1):scale(self.parent.characterData.gun.scale)) + self:setGunPosition("NONE") + if self.parent.characterData.gun.callbacks ~= nil and self.parent.characterData.gun.callbacks.onMainHandChange ~= nil then + self.parent.characterData.gun.callbacks.onMainHandChange(self.parent.characterData, self.isLeftHandedPrev and "LEFT" or "RIGHT") + end + end; + + ---背中の銃の位置・向きを設定する。 + ---@param self Gun + setBodyGunPos = function (self) + if models.models.main.Avatar.UpperBody.Body.Gun ~= nil then + local offsetPos = vectors.vec3() + local offsetRot = vectors.vec3() + if player:isLeftHanded() then + if self.parent.characterData.gun.gunPosition.put.pos ~= nil and self.parent.characterData.gun.gunPosition.put.pos.left ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.put.pos.left + end + if self.parent.characterData.gun.gunPosition.put.rot ~= nil and self.parent.characterData.gun.gunPosition.put.rot.left ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.put.rot.left + end + else + if self.parent.characterData.gun.gunPosition.put.pos ~= nil and self.parent.characterData.gun.gunPosition.put.pos.right ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.put.pos.right + end + if self.parent.characterData.gun.gunPosition.put.rot ~= nil and self.parent.characterData.gun.gunPosition.put.rot.right ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.put.rot.right + end + end + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, 12, 0):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(offsetRot) + end + end; + + ---銃の位置を変更する。 + ---@param self Gun + ---@param gunPosition Gun.GunPosition 変更先の構え位置 + setGunPosition = function (self, gunPosition) + if gunPosition == "NONE" then + for _, tickName in ipairs({"right_gun_tick", "left_gun_tick"}) do + events.TICK:remove(tickName) + end + models.models.main.Avatar.UpperBody.Body.Gun:setParentType("None") + models.models.main.Avatar.UpperBody.Body.Gun:setSecondaryRenderType("NONE") + if self.parent.characterData.gun.gunPosition.hold.type == "NORMAL" then + self.parent.arms:setArmState(0, 0) + elseif self.parent.characterData.gun.gunPosition.hold.type == "CUSTOM" then + for _, animationName in ipairs({"gun_hold_right", "gun_hold_left"}) do + animations["models.main"][animationName]:stop() + end + end + if self.parent.characterData.gun.gunPosition.put.type == "BODY" then + self:setBodyGunPos() + elseif self.parent.characterData.gun.gunPosition.put.type == "HIDDEN" then + models.models.main.Avatar.UpperBody.Body.Gun:setVisible(false) + end + elseif gunPosition == "RIGHT" then + events.TICK:remove("left_gun_tick") + if events.TICK:getRegisteredCount("right_gun_tick") == 0 then + events.TICK:register(function () + local heldItem = player:getHeldItem(player:isLeftHanded()) + local hasGlint = false + for _, gunItem in ipairs(self.gunItems) do + if gunItem == heldItem.id and heldItem:hasGlint() then + models.models.main.Avatar.UpperBody.Body.Gun:setSecondaryRenderType("GLINT") + hasGlint = true + break + end + end + if not hasGlint then + models.models.main.Avatar.UpperBody.Body.Gun:setSecondaryRenderType("NONE") + end + end, "right_gun_tick") + end + if self.parent.characterData.gun.gunPosition.hold.type == "NORMAL" then + self.parent.arms:setArmState(1, 2) + elseif self.parent.characterData.gun.gunPosition.hold.type == "CUSTOM" then + animations["models.main"]["gun_hold_left"]:stop() + animations["models.main"]["gun_hold_right"]:play() + end + models.models.main.Avatar.UpperBody.Body.Gun:setVisible(true) + models.models.main.Avatar.UpperBody.Body.Gun:setParentType("Item") + if not client:isPaused() then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.flintandsteel.use"), player:getPos(), 1, 2) + end + elseif gunPosition == "LEFT" then + events.TICK:remove("right_gun_tick") + if events.TICK:getRegisteredCount("left_gun_tick") == 0 then + events.TICK:register(function () + local heldItem = player:getHeldItem(not player:isLeftHanded()) + local hasGlint = false + for _, gunItem in ipairs(self.gunItems) do + if gunItem == heldItem.id and heldItem:hasGlint() then + models.models.main.Avatar.UpperBody.Body.Gun:setSecondaryRenderType("GLINT") + hasGlint = true + break + end + end + if not hasGlint then + models.models.main.Avatar.UpperBody.Body.Gun:setSecondaryRenderType("NONE") + end + end, "left_gun_tick") + end + if self.parent.characterData.gun.gunPosition.hold.type == "NORMAL" then + self.parent.arms:setArmState(2, 1) + elseif self.parent.characterData.gun.gunPosition.hold.type == "CUSTOM" then + animations["models.main"]["gun_hold_right"]:stop() + animations["models.main"]["gun_hold_left"]:play() + end + models.models.main.Avatar.UpperBody.Body.Gun:setVisible(true) + models.models.main.Avatar.UpperBody.Body.Gun:setParentType("Item") + if not client:isPaused() then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.flintandsteel.use"), player:getPos(), 1, 2) + end + end + self.currentGunPosition = gunPosition + end; + + ---銃ティックを処理する。 + ---@param self Gun + processGunTick = function (self) + if not self.isGunTickProcessed then + local heldItems = {} + if player:getPose() ~= "SLEEPING" and self.parent.exSkill.animationCount == -1 then + heldItems.mainHand = player:getHeldItem(false) + heldItems.offHand = player:getHeldItem(true) + else + heldItems.mainHand = world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air")) + heldItems.offHand = world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air")) + end + local targetItemFound = false + local isLeftHanded = player:isLeftHanded() + if heldItems.mainHand.id ~= self.heldItemsPrev.mainHand.id or heldItems.offHand.id ~= self.heldItemsPrev.offHand.id or isLeftHanded ~= self.isLeftHandedPrev then + for _, gunItem in ipairs(self.gunItems) do + if heldItems.mainHand.id == gunItem then + --メインハンドに対象アイテムを持つ + targetItemFound = true + if isLeftHanded then + if self.currentGunPosition ~= "LEFT" then + self:setGunPosition("LEFT") + end + else + if self.currentGunPosition ~= "RIGHT" then + self:setGunPosition("RIGHT") + end + end + break + end + end + if not targetItemFound then + for _, gunItem in ipairs(self.gunItems) do + if heldItems.offHand.id == gunItem then + --オフハンドに対象アイテムを持つ + targetItemFound = true + if isLeftHanded then + if self.currentGunPosition ~= "RIGHT" then + self:setGunPosition("RIGHT") + end + else + if self.currentGunPosition ~= "LEFT" then + self:setGunPosition("LEFT") + end + end + break + end + end + end + if not targetItemFound then + --対象アイテムは持たない + if self.currentGunPosition ~= "NONE" then + self:setGunPosition("NONE") + end + end + if isLeftHanded ~= self.leftHandedPrev then + if self.currentGunPosition == "NONE" then + self:setBodyGunPos() + end + if self.parent.characterData.gun.callbacks ~= nil and self.parent.characterData.gun.callbacks.onMainHandChange ~= nil then + self.parent.characterData.gun.callbacks.onMainHandChange(self.parent.characterData, isLeftHanded and "LEFT" or "RIGHT") + end + self.isLeftHandedPrev = isLeftHanded + end + self.heldItemsPrev = heldItems + end + self.isGunTickProcessed = true + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/head_block.lua b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/head_block.lua new file mode 100644 index 0000000..72bce44 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/head_block.lua @@ -0,0 +1,33 @@ +---@class (exact) HeadBlock : HeadModelGenerator 頭ブロックのモデルを制御するクラス +---@field package forceGenerateCount integer 強制的に頭ブロックを生成するまでのカウンター。これが発火するのはアバタープレイヤーがオフラインの時のみ。 + +HeadBlock = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return HeadBlock + new = function (parent) + ---@type HeadBlock + local instance = Avatar.instantiate(HeadBlock, HeadModelGenerator, parent) + + instance.processData = instance.parent.characterData.headBlock + instance.parentName = "head_block" + instance.parentType = "Skull" + instance.forceGenerateCount = 2 + + return instance + end; + + ---初期化関数 + ---@param self HeadBlock + init = function (self) + HeadModelGenerator.init(self) + + events.WORLD_TICK:register(function () + self.forceGenerateCount = self.forceGenerateCount - 1 + if self.forceGenerateCount == 0 then + self:generateHeadModel() + events.WORLD_TICK:remove("head_block_world_tick") + end + end, "head_block_world_tick") + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/head_model_generator.lua b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/head_model_generator.lua new file mode 100644 index 0000000..76b2ab7 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/head_model_generator.lua @@ -0,0 +1,85 @@ +---@class (exact) HeadModelGenerator : AvatarModule 頭のモデルの生成を含む抽象クラス +---@field public processData BlueArchiveCharacter.HeadBlockStruct 頭モデルを生成する過程で参照するデータ +---@field public parentName string モデルを生成する名前空間 +---@field public parentType ModelPart.parentType コピーした頭モデルに適用する親タイプ +---@field public generateHeadModel fun(self: HeadModelGenerator) 頭モデルのコピーを生成する +---@field package isScriptLoaded boolean スクリプトが全てロードされているかどうか + +HeadModelGenerator = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return HeadModelGenerator + new = function (parent) + ---@type HeadModelGenerator + local instance = Avatar.instantiate(HeadModelGenerator, AvatarModule, parent) + + instance.isScriptLoaded = false + + return instance + end; + + ---初期化関数 + ---@param self HeadModelGenerator + init = function (self) + AvatarModule.init(self) + + ---@diagnostic disable-next-line: discard-returns + models:newPart("script_"..self.parentName, "None") + + self.parent.avatarEvents.SCRIPT_INIT:register(function () + self.isScriptLoaded = true + end) + end; + + ---頭モデルのコピーを生成する。 + ---@param self HeadModelGenerator + generateHeadModel = function (self) + --既存の頭ブロックのモデルを削除する。 + if models["script_"..self.parentName].Head ~= nil then + models["script_"..self.parentName].Head:remove() + end + + --ヘルメットを着けている場合は外しておく。 + local isHelmetVisible = self.isScriptLoaded and self.parent.armor.isArmorVisible.helmet or false + if isHelmetVisible then + self.parent.armor:setHelmet(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + + if self.isScriptLoaded then + self.parent.physics:disable() + end + if self.processData.callbacks ~= nil and self.processData.callbacks.onBeforeModelCopy ~= nil then + self.processData.callbacks.onBeforeModelCopy(self.parent.characterData, self.isScriptLoaded) + end + + --現在の衣装を基に新たな頭ブロックのモデルを生成する。 + local copiedPart = self.parent.modelUtils:copyModel(models.models.main.Avatar.Head) + if copiedPart ~= nil then + models["script_"..self.parentName]:addChild(copiedPart) + models["script_"..self.parentName].Head:setParentType(self.parentType) + models["script_"..self.parentName].Head:setPos(0, -24, 0) + models["script_"..self.parentName].Head.HeadRing:setRot(self.parent.headRing.initialHaloRot) + models["script_"..self.parentName].Head.HeadRing:setLight(15) + for _, modelPart in ipairs({models["script_"..self.parentName].Head.FaceParts.Eyes.EyeRight, models["script_"..self.parentName].Head.FaceParts.Eyes.EyeLeft}) do + modelPart:setUVPixels() + end + for _, modelPart in ipairs(self.processData.includeModels) do + local copiedIncludePart = self.parent.modelUtils:copyModel(modelPart) + if copiedIncludePart ~= nil then + models["script_"..self.parentName].Head:addChild(copiedIncludePart) + end + end + end + + --非表示にしたモデルを元に戻す。 + if isHelmetVisible then + self.parent.armor:setHelmet(self.parent.armor.armorSlotItems[1]) + end + if self.isScriptLoaded then + self.parent.physics:enable() + end + if self.processData.callbacks ~= nil and self.processData.callbacks.onAfterModelCopy ~= nil then + self.processData.callbacks.onAfterModelCopy(self.parent.characterData, self.isScriptLoaded) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/head_ring.lua b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/head_ring.lua new file mode 100644 index 0000000..315489c --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/head_ring.lua @@ -0,0 +1,79 @@ +---@class (exact) HeadRing : AvatarModule ヘイロー(頭の輪っか)を制御するクラス +---@field public initialHaloRot number ヘイローの初期角度 +---@field package headRotData number[] 一定期間内の頭の角度を保持するテーブル +---@field package headRotAverage number[] 頭の角度の移動平均値 +---@field package floatCount integer ヘイローが上下するアニメーションのカウンター + +HeadRing = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return HeadRing + new = function (parent) + ---@type HeadRing + local instance = Avatar.instantiate(HeadRing, AvatarModule, parent) + + instance.initialHaloRot = models.models.main.Avatar.Head.HeadRing:getRot().x + instance.haloRotPrev = instance.initialHaloRot + instance.headRotData = {} + instance.headRotAverage = {0, 0} + instance.floatCount = 0 + + return instance + end; + + ---初期化関数 + ---@param self HeadRing + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + if not client:isPaused() then + --移動平均値の算出 + local headRot = self.parent.exSkill.animationCount > -1 and models.models.main.Avatar.Head:getAnimRot().x or math.deg(math.asin(player:getLookDir().y)) + local headRotAverage = self.headRotAverage[2] + headRotAverage = (#self.headRotData * headRotAverage + headRot) / (#self.headRotData + 1) + table.insert(self.headRotData, headRot) + --古いデータの切り捨て + if #self.headRotData > 5 then + headRotAverage = (#self.headRotData * headRotAverage - self.headRotData[1]) / (#self.headRotData - 1) + table.remove(self.headRotData, 1) + end + table.insert(self.headRotAverage, headRotAverage) + table.remove(self.headRotAverage, 1) + end + end) + + events.WORLD_TICK:register(function () + if not client:isPaused() then + self.floatCount = self.floatCount + 1 + self.floatCount = self.floatCount == 80 and 0 or self.floatCount + end + end) + + events.RENDER:register(function (delta) + if not client:isPaused() then + --ヘイローの位置・角度を設定 + local playerPose = player:getPose() + local headRot = self.parent.physics.getValueBetweenTicks(self.headRotAverage, delta) + local floatOffset = math.sin((self.floatCount + delta) / 80 * 2 * math.pi) * 0.25 + if playerPose == "SWIMMING" or playerPose == "FALL_FLYING" then + models.models.main.Avatar.Head.HeadRing:setPos(self.parent.physics.velocityAverage[3][2] * 3, math.cos(math.rad(headRot)) * self.parent.physics.velocityAverage[1][2] * -1 + math.sin(math.rad(headRot)) * self.parent.physics.velocityAverage[2][2] * -1 + floatOffset, math.cos(math.rad(headRot)) * self.parent.physics.velocityAverage[2][2] * -3 + math.sin(math.rad(headRot)) * self.parent.physics.velocityAverage[1][2]) + else + models.models.main.Avatar.Head.HeadRing:setPos(self.parent.physics.velocityAverage[3][2] * -3, math.cos(math.rad(headRot)) * self.parent.physics.velocityAverage[2][2] * -1 + math.sin(math.rad(headRot)) * self.parent.physics.velocityAverage[1][2] + floatOffset, math.cos(math.rad(headRot)) * self.parent.physics.velocityAverage[1][2] * 3 + math.sin(math.rad(headRot)) * self.parent.physics.velocityAverage[2][2]) + end + if self.parent.deathAnimation.dummyAvatarRoot ~= nil then + self.parent.deathAnimation.dummyAvatarRoot.Head.HeadRing:setPos(0, floatOffset, 0) + end + models.models.main.Avatar.Head.HeadRing:setRot(headRot - (self.parent.exSkill.animationCount > -1 and models.models.main.Avatar.Head:getAnimRot().x or math.deg(math.asin(player:getLookDir().y))) + self.initialHaloRot, 0, 0) + end + end) + + events.WORLD_RENDER:register(function (delta) + if not client:isPaused() and models.script_head_block.Head ~= nil and models.script_head_block.Head.HeadRing ~= nil then + models.script_head_block.Head.HeadRing:setPos(0, math.sin((self.floatCount + delta) / 80 * 2 * math.pi) * 0.25, 0) + end + end) + + models.models.main.Avatar.Head.HeadRing:setLight(15) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/hypixel_zombies.lua b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/hypixel_zombies.lua new file mode 100644 index 0000000..5d3df84 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/hypixel_zombies.lua @@ -0,0 +1,85 @@ +---@class (exact) HypixelZombies : AvatarModule Hypixelの「Zombies」にアバターを対応させるパッチ +---@field package isEnabled boolean Zombiesモードが有効かどうか +---@field package damagerPercentPrev number[] 前ティック以前のツールの耐久度割合 +---@field public enable fun(self: HypixelZombies) Zombiesモードを有効にする +---@field public disable fun(self: HypixelZombies) Zombiesモードを無効にする + +HypixelZombies = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return HypixelZombies + new = function (parent) + ---@type HypixelZombies + local instance = Avatar.instantiate(HypixelZombies, AvatarModule, parent) + + instance.isEnabled = false + instance.damagerPercentPrev = {1, 1} + + return instance + end; + + ---Zombiesモードを有効にする。 + ---@param self HypixelZombies + enable = function (self) + if not self.isEnabled then + self.parent.gun.gunItems = {"minecraft:bow", "minecraft:crossbow", "minecraft:wooden_hoe", "minecraft:stone_hoe", "minecraft:iron_hoe", "minecraft:wooden_shovel", "minecraft:stone_shovel", "minecraft:shears", "minecraft:diamond_hoe", "minecraft:golden_hoe", "minecraft:iron_shovel", "minecraft:diamond_pickaxe", "minecraft:golden_pickaxe", "minecraft:golden_shovel", "minecraft:flint_and_steel"} + + events.TICK:register(function () + local heldItem = player:getHeldItem() + local maxDamage = heldItem:getMaxDamage() + local damagePercent = (maxDamage - heldItem:getDamage()) / maxDamage + if maxDamage > 0 then + if damagePercent - self.damagerPercentPrev[1] > 0 and damagePercent - self.damagerPercentPrev[1] <= 0.2 then + if self.parent.bubble.bubbleCount == 0 then + self.parent.bubble:play("RELOAD", -1, vectors.vec2(), 0, false) + end + elseif self.parent.bubble.emoji == "RELOAD" then + self.parent.bubble:stop() + end + table.insert(self.damagerPercentPrev, damagePercent) + else + if self.parent.bubble.emoji == "RELOAD" then + self.parent.bubble:stop() + end + table.insert(self.damagerPercentPrev, 1) + end + table.remove(self.damagerPercentPrev, 1) + end, "hypixel_zombies_tick") + + if host:isHost() then + print(self.parent.locale:getLocale("avatar.zombies_mode.enable")) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.lightning_bolt.thunder"), player:getPos(), 0.5, 2) + end + + self.isEnabled = true + elseif host:isHost() then + print(self.parent.locale:getLocale("avatar.zombies_mode.already_enabled")) + end + end; + + ---Zombiesモードを無効にする。 + ---@param self HypixelZombies + disable = function (self) + if self.isEnabled then + events.TICK:remove("hypixel_zombies_tick") + self.parent.gun.gunItems = {"minecraft:bow", "minecraft:crossbow"} + + if host:isHost() then + print(self.parent.locale:getLocale("avatar.zombies_mode.disable")) + end + elseif host:isHost() then + print(self.parent.locale:getLocale("avatar.zombies_mode.already_disabled")) + end + self.isEnabled = false + end +} + +---Zombiesモードを有効にする。 +function pings.enableZombiesMode() + AvatarInstance.hypixelZombies:enable() +end + +---Zombiesモードを無効にする。 +function pings.disableZombiesMode() + AvatarInstance.hypixelZombies:disable() +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/key_manager.lua b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/key_manager.lua new file mode 100644 index 0000000..e1cac33 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/key_manager.lua @@ -0,0 +1,45 @@ +---@class (exact) KeyManager : AvatarModule アバターのキー割り当てを管理するクラス。ここで管理する割り当ては設定で変更された場合はそれが保存される。 +---@field public keyMappings {[string]: Keybind} キーの割り当てのテーブル +---@field public register fun(self: KeyManager, assignName: string, keyName: Minecraft.keyCode): Keybind キー割り当てを登録する + +KeyManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return KeyManager + new = function (parent) + ---@type KeyManager + local instance = Avatar.instantiate(KeyManager, AvatarModule, parent) + + instance.keyMappings = {} + + return instance + end; + + ---初期化関数 + ---@param self KeyManager + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + events.TICK:register(function () + for key, value in pairs(self.keyMappings) do + if not value:isDefault() then + local newKey = value:getKey() + self.parent.config:saveConfig("PRIVATE", "keybind."..key, newKey) + value:setKey(newKey) + end + end + end) + end + end; + + ---キー割り当てを登録する。 + ---@param self KeyManager + ---@param assignName string 割り当ての名前 + ---@param keyName Minecraft.keyCode 割当先のキー + ---@return Keybind assignedKey キーマネージャーによって登録がされたキーバインド + register = function (self, assignName, keyName) + self.keyMappings[assignName] = keybinds:newKeybind(self.parent.locale:getLocale("key_name."..assignName), self.parent.config:loadConfig("PRIVATE", "keybind."..assignName, keyName)) + return self.keyMappings[assignName] + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/locale.lua b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/locale.lua new file mode 100644 index 0000000..b2675ce --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/locale.lua @@ -0,0 +1,118 @@ +---@alias Locale.Language +---| "en_us" # 英語(米国) +---| "ja_jp" # 日本語 + +---@class (exact) Locale : AvatarModule アバターの表示言語を管理するクラス +---@field public localeData {[Locale.Language]: {[string]: string}} 言語データ +---@field public getLocale fun(self: Locale, key: string): string 翻訳キーに対する訳文を返す。設定言語が存在しない場合は英語の文が返される。また、指定したキーの訳が無い場合は英語->キーそのままが返される。 + +Locale = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Locale + new = function (parent) + ---@type Locale + local instance = Avatar.instantiate(Locale, AvatarModule, parent) + + instance.localeData = { + en_us = {}; + ja_jp = {}; + } + + ---言語データのリスト + ---1. キー名, 2. 英語(米国), 3. 日本語 + local localeStrings = { + {"avatar.old_version_warning", "For the best experience, playing with 1.20.1 or higher is recommended!", "生徒さんとより良い時間を過ごすためにバージョン1.20.1以上でのプレイをおすすめします!"}; + {"avatar.zombies_mode.enable", "Enabled Zombies mode.", "Zombiesモードを有効にしました。"}; + {"avatar.zombies_mode.already_enabled", "Already enabled Zombies mode.", "Zombiesモードは既に有効化されています。"}; + {"avatar.zombies_mode.disable", "Disabled Zombies mode.", "Zombiesモードを無効にしました。"}; + {"avatar.zombies_mode.already_disabled", "Already disabled Zombies mode.", "Zombiesモードは既に無効化されています。"}; + {"action_wheel.toggle_off", "off", "オフ"}; + {"action_wheel.toggle_on", "on", "オン"}; + {"action_wheel.main.action_1.title", "Change costume: ", "衣装を変更:"}; + {"action_wheel.main.action_1.unavailable", "There is no costume available.", "利用可能な衣装はありません。"}; + {"action_wheel.main.action_1.done_first", "Changed costume to §b", "衣装を§b"}; + {"action_wheel.main.action_1.done_last", "§r.", "§rに変更しました。"}; + {"action_wheel.main.action_2.title", "Change display name: ", "表示名を変更:"}; + {"action_wheel.main.action_2.title_2", "Show club name: ", "部活名を表示:"}; + {"action_wheel.main.action_2.done_first", "Changed display name to §b", "表示名を§b"}; + {"action_wheel.main.action_2.done_last", "§r.", "§rに変更しました。"}; + {"action_wheel.main.action_3.title", "Show armors: ", "防具を表示:"}; + {"action_wheel.main.action_4.title", "Show weapon models in first person: ", "一人称視点で武器モデルを表示:"}; + {"action_wheel.main.action_5.title", "Amount of particles in Ex skill frame: ", "Exスキルフレームのパーティクルの量:"}; + {"action_wheel.main.action_5.option_1", "Standard", "標準"}; + {"action_wheel.main.action_5.option_2", "Minimum", "少なめ"}; + {"action_wheel.main.action_5.option_3", "None", "なし"}; + {"action_wheel.main.action_5.option_4", "Hide Ex skill frame", "スキルフレーム非表示"}; + {"action_wheel.main.action_5.done_first", "Changed amount of particles in Ex skill frame to§b", "Exスキルフレームのパーティクルの量を§b"}; + {"action_wheel.main.action_5.done_last", "§r.", "§rに変更しました。"}; + {"action_wheel.main.action_6.title", "Replace vehicle models: ", "乗り物のモデルを置き換え:"}; + {"action_wheel.main.action_6.unavailable", "This option is unavailable for this character.", "この生徒さんでは利用できません。"}; + {"action_wheel.main.action_7.title_1", "Check for new FBAC Updates ", "FBACアップデートの確認"}; + {"action_wheel.main.action_7.title_2", "(Left-click)", "(左クリック)"}; + {"action_wheel.main.action_7.title_3", "Copy URL for the latest FBAC ", "最新FBACバージョンのURLをコピー"}; + {"action_wheel.main.action_7.title_4", "(Right-click)", "(右クリック)"}; + {"action_wheel.main.action_7.networking_api", "To enable update checking, you need to allow Figura's Networking and put \"api.github.com\" in the Network Filter from Figura settings!", "アップデート確認機能を有効にするにはFiguraの設定より、FiguraのNetworkingの使用を許可し、\"api.github.com\"を許可リストに入れる必要があります!"}; + {"action_wheel.main.action_7.ongoing", "Checking for updates is ongoing. Please DO NOT click repeatedly!", "現在アップデートの確認中です。連打しないでください!"}; + {"action_wheel.main.action_7.copied", "Coped the link to the latest FBAC to your clipboard. Please open the link in your browser.", "最新のFBACへのリンクをクリップボードにコピーしました。ブラウザでリンクを開いてください。"}; + {"action_wheel.main.action_7.cannot_check_latest", "Cannot get the link because cannot check the latest FBAC.", "FBACの最新バージョンを確認できないため、リンクを取得できません。"}; + {"action_wheel.gui.bubble_guide.title", "§0Bubble emote guide", "§0吹き出しエモートガイド"}; + {"action_wheel.gui.ex_skill_guide.title", "§0Ex skill guide", "§0Exスキルガイド"}; + {"action_wheel.gui.ex_skill_guide.key_pre", "Press \"", "\""}; + {"action_wheel.gui.ex_skill_guide.key_post", "\"key to play", "\"キーで再生"}; + {"action_wheel.gui.update_check.checking", "Checking for updates...", "アップデートを確認中..."}; + {"action_wheel.gui.update_check.latest", "No FBAC update available", "最新のFBACを使用中です"}; + {"action_wheel.gui.update_check.update_available", "New FBAC update is available: ", "FBACのアップデートが利用可能です:"}; + {"action_wheel.gui.update_check.error_not_allowed", "Failed to check for updates - Networking API not allowed", "アップデート確認失敗 - ネットワーキング機能が不許可"}; + {"action_wheel.gui.update_check.error_network_err", "Failed to check for updates - Network error", "アップデート確認失敗 - ネットワークエラー"}; + {"action_wheel.gui.update_check.error_request_failed", "Failed to check for updates - Request failure ", "アップデート確認失敗 - リクエスト失敗 "}; + {"action_wheel.gui.update_check.error_invalid_json_syntax", "Failed to check for updates - Json parsing failure", "アップデート確認失敗 - リクエスト解析失敗"}; + {"action_wheel.gui.update_check.error_invalid_json", "Failed to check for updates - Unexpected Request", "アップデート確認失敗 - 予期しないリクエスト"}; + {"key_name.ex_skill", "Ex Skill", "Exスキル"}; + {"key_name.ex_skill_sub", "Sub Ex Skill", "サブExスキル"}; + {"key_name.bubble_1", "Bubble: Good", "吹き出し:いいね"}; + {"key_name.bubble_2", "Bubble: Heart", "吹き出し:ハート"}; + {"key_name.bubble_3", "Bubble: Note", "吹き出し:音符"}; + {"key_name.bubble_4", "Bubble: Question", "吹き出し:はてな"}; + {"key_name.bubble_5", "Bubble: Sweat", "吹き出し:汗"}; + {"key_bind.ex_skill.unavailable", "You cannot do this now.", "今は再生できません。"}; + {"key_bind.ex_skill.unavailable_firstperson", "You cannot do this in first person perspective.", "一人称視点では再生できません。"}; + } + + for _, localeSet in ipairs(localeStrings) do + instance.localeData.en_us[localeSet[1]] = localeSet[2] + instance.localeData.ja_jp[localeSet[1]] = localeSet[3] + end + + return instance + end; + + ---初期化関数 + ---@param self Locale + init = function (self) + AvatarModule.init(self) + + self.localeData.en_us["nameplate.club_name"] = self.parent.characterData.basic.clubName.en_us + self.localeData.ja_jp["nameplate.club_name"] = self.parent.characterData.basic.clubName.ja_jp + + if host:isHost() then + for index, exSkill in ipairs(self.parent.characterData.exSkill) do + self.localeData.en_us["action_wheel.gui.ex_skill_guide.ex_skill_"..index..".name"] = exSkill.name.en_us + self.localeData.ja_jp["action_wheel.gui.ex_skill_guide.ex_skill_"..index..".name"] = exSkill.name.ja_jp + end + for _, costume in ipairs(self.parent.characterData.costume.costumes) do + self.localeData.en_us["costume."..costume.name] = costume.displayName.en_us + self.localeData.ja_jp["costume."..costume.name] = costume.displayName.ja_jp + end + end + end; + + ---翻訳キーに対する訳文を返す。設定言語が存在しない場合は英語の文が返される。また、指定したキーの訳が無い場合は英語->キーそのままが返される。 + ---@param self Locale + ---@param key string 翻訳キー + ---@return string translatedString 翻訳キーに対する翻訳データ。設定言語での翻訳が存在しない場合は英文が返される。英文すら存在しない場合は翻訳キーがそのまま返される。 + getLocale = function (self, key) + local activeLanguage = client:getActiveLang() + return (self.localeData[activeLanguage] ~= nil and self.localeData[activeLanguage][key] ~= nil) and self.localeData[activeLanguage][key] or (self.localeData.en_us[key] and self.localeData.en_us[key] or key) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/nameplate.lua b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/nameplate.lua new file mode 100644 index 0000000..1db7e24 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/nameplate.lua @@ -0,0 +1,77 @@ +---@class (exact) Nameplate : AvatarModule プレイヤーの表示名を制御するクラス +---@field public currentName integer 現在の表示名:1. プレイヤー名, 2. 名のみ(英語), 3. 名のみ(日本語), 4. 名性(英語), 5. 性名(英語), 6. 性名(日本語) +---@field public shouldShowClubName boolean 部活名を表示するかどうか +---@field package localePrev string 前ティックの設定言語 +---@field public getName fun(self: Nameplate, typeId: integer): string 指定されたtypeIdでの表示名を返す +---@field public setName fun(self: Nameplate, typeId: integer, shouldShowClubName: boolean) 入力された設定で表示名を設定する + +Nameplate = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Nameplate + new = function (parent) + ---@type Nameplate + local instance = Avatar.instantiate(Nameplate, AvatarModule, parent) + + instance.currentName = instance.parent.config:loadConfig("PRIVATE", "name", 1) + instance.shouldShowClubName = instance.parent.config:loadConfig("PRIVATE", "showClubName", false) + instance.localePrev = client:getActiveLang() + + return instance + end; + + ---指定されたtypeIdでの表示名を返す。 + ---@param self Nameplate + ---@param typeId integer 表示名の種類:1. プレイヤー名, 2. 名のみ(英語), 3. 名のみ(日本語), 4. 名性(英語), 5. 性名(英語), 6. 性名(日本語) + ---@return string displayName 指定されたtypeIdでの表示名 + getName = function (self, typeId) + local displayName = typeId == 1 and player:getName() or ((typeId == 2 or typeId == 4) and self.parent.characterData.basic.firstName.en_us or (typeId == 5 and self.parent.characterData.basic.lastName.en_us or (typeId == 3 and self.parent.characterData.basic.firstName.ja_jp or self.parent.characterData.basic.lastName.ja_jp))) + if typeId >= 4 then + displayName = displayName.." "..(typeId == 4 and self.parent.characterData.basic.lastName.en_us or (typeId == 5 and self.parent.characterData.basic.firstName.en_us or self.parent.characterData.basic.firstName.ja_jp)) + end + return displayName + end; + + ---入力された設定で表示名を設定する。 + ---@param self Nameplate + ---@param typeId integer 表示名の種類:1. プレイヤー名, 2. 名のみ(英語), 3. 名のみ(日本語), 4. 名性(英語), 5. 性名(英語), 6. 性名(日本語) + ---@param shouldShowClubName boolean 部活名を表示するかどうか + setName = function (self, typeId, shouldShowClubName) + local date = client:getDate() + local displayName = self:getName(typeId)..((typeId >= 2 and date.month == self.parent.characterData.basic.birth.month and date.day == self.parent.characterData.basic.birth.day) and " :cake:" or "") + nameplate.ALL:setText(displayName) + if typeId >= 2 and shouldShowClubName then + nameplate.ENTITY:setText(displayName.."\n§7"..self.parent.locale:getLocale("nameplate.club_name")) + end + self.currentName = typeId + self.shouldShowClubName = shouldShowClubName + end; + + ---初期化関数 + ---@param self Nameplate + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + local locale = client:getActiveLang() + if locale ~= self.localePrev then + if self.shouldShowClubName then + self:setName(self.currentName, true) + end + self.localePrev = locale + end + end) + + events.RENDER:register(function (delta, context) + if context ~= "PAPERDOLL" then + nameplate.ENTITY:setPivot(self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.UpperBody.Body.NameplateAnchor):sub(player:getPos(delta)):add(0, self.parent.barrier.isBarrierVisible and 1.095 or 0.895, 0)) + else + nameplate.ENTITY:setPivot() + end + end) + + if self.currentName >= 2 then + self:setName(self.currentName, self.shouldShowClubName) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/physics.lua b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/physics.lua new file mode 100644 index 0000000..0b17e3f --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/physics.lua @@ -0,0 +1,199 @@ +---@class (exact) Physics : AvatarModule 物理演算を制御するクラス +---@field public velocityData number[][] 速度データ:1. 頭前後, 2. 上下, 3. 頭左右, 4. 頭角速度, 5. 体前後, 6. 体左右, 7. 体角速度 +---@field public velocityAverage number[][] 速度の平均値:1. 頭前後, 2. 上下, 3. 頭左右, 4. 頭角速度, 5. 体前後, 6. 体左右, 7. 体角速度 +---@field package directionPrev number[] 前ティックのdirectionテーブル +---@field public getValueBetweenTicks fun(tickData: number[], delta: number): number 2つのティックデータの間からレンダーのデルタ値を加味した値を返す +---@field package decomposeHorizontalVelocity fun(self: Physics, direction: number, index: integer): number, number, number 速度を指定された方向から見て前後方向、左右方向に分解する +---@field package getPhysicRot fun(self: Physics, physicData: BlueArchiveCharacter.PhysicCoreData, delta: number): number 物理演算で計算した角度を返す +---@field public enable fun(self: Physics) 物理演算を初期化し、有効にする +---@field public disable fun(self: Physics) 物理演算を無効にする。物理演算で管理していたモデルの回転をリセットする + +Physics = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Physics + new = function (parent) + ---@type Physics + local instance = Avatar.instantiate(Physics, AvatarModule, parent) + + instance.velocityData = {{}, {}, {}, {}, {}, {}, {}} + instance.velocityAverage = {{0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}} + instance.directionPrev = {} + + return instance + end; + + ---2つのティックデータの間からレンダーのデルタ値を加味した値を返す。 + ---@param tickData number[] ティックデータ:1. 前ティック, 2. 現ティック + ---@param delta number デルタ値 + ---@return number deltaValue 2つのティックデータの間からデルタ値で補完した値 + getValueBetweenTicks = function (tickData, delta) + return tickData[1] + (tickData[2] - tickData[1]) * delta + end; + + ---速度を指定された方向から見て前後方向、左右方向に分解する。 + ---@param self Physics + ---@param direction number 基準にする方向 + ---@param index integer データ管理用のインデックス番号(呼び出しの度に異なるインデックス番号になるようにする) + ---@return number velocityFront 指定された方向から見た前後方向の速度 + ---@return number velocityRight 指定された方向から見た左右方向の速度 + ---@return number velocityRot 指定された方向を基準とした角速度 + decomposeHorizontalVelocity = function (self, direction, index) + local velocity = player:getVelocity() + if self.directionPrev[index] == nil then + self.directionPrev[index] = 0 + end + local velocityRot = math.deg(math.atan2(velocity.z, velocity.x)) + velocityRot = velocityRot < 0 and 360 + velocityRot or velocityRot + local directionAbsFront = math.abs(velocityRot - (direction) % 360) + directionAbsFront = directionAbsFront > 180 and 360 - directionAbsFront or directionAbsFront + local directionAbsRight = math.abs(velocityRot - (direction + 90) % 360) + directionAbsRight = directionAbsRight > 180 and 360 - directionAbsRight or directionAbsRight + local directionDelta = direction - self.directionPrev[index] + directionDelta = directionDelta > 180 and (360 - directionDelta) * 20 or (directionDelta < -180 and (360 + directionDelta) * 20 or directionDelta * 20) + self.directionPrev[index] = direction + return math.sqrt(velocity.x ^ 2 + velocity.z ^ 2) * math.cos(math.rad(directionAbsFront)), math.sqrt(velocity.x ^ 2 + velocity.z ^ 2) * math.cos(math.rad(directionAbsRight)), directionDelta + end; + + ---物理演算で計算した角度を返す。 + ---@param self Physics + ---@param physicData BlueArchiveCharacter.PhysicCoreData 物理演算データ + ---@param delta number デルタ値 + ---@return number physicDirection 物理演算で計算したモデルの角度 + getPhysicRot = function (self, physicData, delta) + local rot = physicData.neutral + local waterMultiplayer = player:isUnderwater() and 2 or 1 + if physicData.headX ~= nil then + rot = rot + math.clamp(self.getValueBetweenTicks(self.velocityAverage[1], delta) * physicData.headX.multiplayer * waterMultiplayer, physicData.headX.min - physicData.neutral, physicData.headX.max - physicData.neutral) + end + if physicData.headZ ~= nil then + rot = rot + math.clamp(self.getValueBetweenTicks(self.velocityAverage[3], delta) * physicData.headZ.multiplayer * waterMultiplayer, physicData.headZ.min - physicData.neutral, physicData.headZ.max - physicData.neutral) + end + if physicData.headRot ~= nil then + rot = rot + math.clamp(math.abs(self.getValueBetweenTicks(self.velocityAverage[4], delta)) * -1 * physicData.headRot.multiplayer, physicData.headRot.min - physicData.neutral, physicData.headRot.max - physicData.neutral) + end + if physicData.bodyX ~= nil then + rot = rot + math.clamp(self.getValueBetweenTicks(self.velocityAverage[5], delta) * physicData.bodyX.multiplayer * waterMultiplayer, physicData.bodyX.min - physicData.neutral, physicData.bodyX.max - physicData.neutral) + end + if physicData.bodyY ~= nil then + rot = rot + math.clamp(self.getValueBetweenTicks(self.velocityAverage[2], delta) * physicData.bodyY.multiplayer * waterMultiplayer, physicData.bodyY.min - physicData.neutral, physicData.bodyY.max - physicData.neutral) + end + if physicData.bodyZ ~= nil then + rot = rot + math.clamp(self.getValueBetweenTicks(self.velocityAverage[player:getVehicle() == nil and 6 or 3], delta) * physicData.bodyZ.multiplayer * waterMultiplayer, physicData.bodyZ.min - physicData.neutral, physicData.bodyZ.max - physicData.neutral) + end + if physicData.bodyRot ~= nil then + rot = rot + math.clamp(-math.abs(self.getValueBetweenTicks(self.velocityAverage[7], delta)) * physicData.bodyRot.multiplayer, physicData.bodyRot.min - physicData.neutral, physicData.bodyRot.max - physicData.neutral) + end + rot = math.clamp(rot, physicData.min, physicData.max) + if physicData.headRotMultiplayer ~= nil then + rot = rot + math.deg(math.asin(player:getLookDir().y)) * physicData.headRotMultiplayer + end + if physicData.sneakOffset ~= nil and player:isCrouching() then + rot = rot + physicData.sneakOffset + end + return rot + end; + + ---物理演算を初期化し、有効にする。 + ---@param self Physics + enable = function (self) + self.velocityData = {{}, {}, {}, {}, {}, {}, {}} + self.velocityAverage = {{0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}} + self.directionPrev = {} + + if events.TICK:getRegisteredCount("physics_tick") == 0 then + events.TICK:register(function () + if not client:isPaused() then + local lookDir = player:getLookDir() + local velocityHeadFront, velocityHeadRight, velocityHeadRot = self:decomposeHorizontalVelocity(math.deg(math.atan2(lookDir.z, lookDir.x)), 1) + local velocityAverage = {self.velocityAverage[1][2], self.velocityAverage[2][2], self.velocityAverage[3][2], self.velocityAverage[4][2], self.velocityAverage[5][2], self.velocityAverage[6][2], self.velocityAverage[7][2]} + local velocityY = player:getVelocity().y + velocityAverage[1] = (#self.velocityData[1] * velocityAverage[1] + velocityHeadFront) / (#self.velocityData[1] + 1) + table.insert(self.velocityData[1], velocityHeadFront) + velocityAverage[2] = (#self.velocityData[2] * velocityAverage[2] + velocityY) / (#self.velocityData[2] + 1) + table.insert(self.velocityData[2], velocityY) + velocityAverage[3] = (#self.velocityData[3] * velocityAverage[3] + velocityHeadRight) / (#self.velocityData[3] + 1) + table.insert(self.velocityData[3], velocityHeadRight) + velocityAverage[4] = (#self.velocityData[4] * velocityAverage[4] + velocityHeadRot) / (#self.velocityData[4] + 1) + table.insert(self.velocityData[4], velocityHeadRot) + local velocityBodyFront, velocityBodyRight, velocityBodyRot = self:decomposeHorizontalVelocity((player:getBodyYaw() + models.models.main.Avatar.UpperBody:getTrueRot().y - 90) % 360 - 180, 2) + velocityAverage[5] = (#self.velocityData[5] * velocityAverage[5] + velocityBodyFront) / (#self.velocityData[5] + 1) + table.insert(self.velocityData[5], velocityBodyFront) + velocityAverage[6] = (#self.velocityData[6] * velocityAverage[6] + velocityBodyRight) / (#self.velocityData[6] + 1) + table.insert(self.velocityData[6], velocityBodyRight) + velocityAverage[7] = (#self.velocityData[7] * velocityAverage[7] + velocityBodyRot) / (#self.velocityData[7] + 1) + table.insert(self.velocityData[7], velocityBodyRot) + --古いデータの切り捨て + for index, velocityTable in ipairs(self.velocityData) do + if #velocityTable > 5 then + velocityAverage[index] = (#velocityTable * velocityAverage[index] - velocityTable[1]) / (#velocityTable - 1) + table.remove(velocityTable, 1) + end + table.insert(self.velocityAverage[index], velocityAverage[index]) + table.remove(self.velocityAverage[index], 1) + end + end + end, "physics_tick") + + events.RENDER:register(function (delta) + local playerPose = player:getPose() + local isHorizontal = playerPose == "SWIMMING" or playerPose == "FALL_FLYING" + + for _, physicData in ipairs(self.parent.characterData.physics.physicData) do + for _, modelPart in ipairs(physicData.models) do + if modelPart:getVisible() then + local rot = vectors.vec3() + if physicData.x ~= nil then + if isHorizontal and physicData.x.horizontal then + rot.x = self:getPhysicRot(physicData.x.horizontal, delta) + elseif not isHorizontal and physicData.x.vertical then + rot.x = self:getPhysicRot(physicData.x.vertical, delta) + end + end + if physicData.y ~= nil then + if isHorizontal and physicData.y.horizontal then + rot.y = self:getPhysicRot(physicData.y.horizontal, delta) + elseif not isHorizontal and physicData.y.vertical then + rot.y = self:getPhysicRot(physicData.y.vertical, delta) + end + end + if physicData.z ~= nil then + if isHorizontal and physicData.z.horizontal then + rot.z = self:getPhysicRot(physicData.z.horizontal, delta) + elseif not isHorizontal and physicData.z.vertical then + rot.z = self:getPhysicRot(physicData.z.vertical, delta) + end + end + modelPart:setRot(rot) + if self.parent.characterData.physics.callbacks ~= nil and self.parent.characterData.physics.callbacks.onPhysicPerformed ~= nil then + self.parent.characterData.physics.callbacks.onPhysicPerformed(self.parent.characterData, modelPart) + end + end + end + end + end, "physics_render") + end + end; + + ---物理演算を無効にする。物理演算で管理していたモデルの回転をリセットする。 + ---@param self Physics + disable = function (self) + events.TICK:remove("physics_tick") + events.RENDER:remove("physics_render") + for _, physicData in ipairs(self.parent.characterData.physics.physicData) do + local initialRot = vectors.vec3() + if physicData.x ~= nil and physicData.x.vertical ~= nil then + initialRot.x = physicData.x.vertical.neutral + end + if physicData.y ~= nil and physicData.y.vertical ~= nil then + initialRot.y = physicData.y.vertical.neutral + end + if physicData.z ~= nil and physicData.z.vertical ~= nil then + initialRot.z = physicData.z.vertical.neutral + end + for _, modelPart in ipairs(physicData.models) do + modelPart:setRot(initialRot) + end + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/placement_object/placement_object.lua b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/placement_object/placement_object.lua new file mode 100644 index 0000000..ee9151d --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/placement_object/placement_object.lua @@ -0,0 +1,231 @@ +---@class (exact) PlacementObject : SpawnObject 単一の設置物を管理するクラス +---@field package object ModelPart インスタンスで制御するオブジェクト +---@field public index integer 設置物データのインデックス番号。設置物のデータを参照するときに使用する。 +---@field package boundingBox Vector3 設置物の当たり判定 +---@field package gravity number この設置物に働く重力の大きさ +---@field package hasFireResistance boolean この設置物に炎耐性を付けるかどうか +---@field public removeReason PlacementObjectManager.RemoveReason この設置物のインスタンスが破棄される理由 +---@field package modelOffsetPos Vector3 設置物"モデル"の位置オフセット値 +---@field package offsetPos Vector3 設置物の中心座標のオフセット値 +---@field public currentPos Vector3 設置物の現在位置 +---@field package nextPos Vector3 設置物の次ティックの位置 +---@field package fallingSpeed number 設置物の落下速度 +---@field package isOnGround boolean 設置物が接地しているかどうか +---@field public new fun(parent: Avatar, model: ModelPart, index: integer, data: BlueArchiveCharacter.PlacementObjectStruct, pos: Vector3, rot: number): PlacementObject コンストラクター + +PlacementObject = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@param index integer 設置物データのインデックス番号。設置物のデータを参照するときに使用する。 + ---@param pos Vector3 設置物を設置するワールド座標 + ---@param rot number 設置物のワールド方向 + ---@return PlacementObject + new = function (parent, index, pos, rot) + ---@type PlacementObject + local instance = Avatar.instantiate(PlacementObject, SpawnObject, parent) + + instance.index = index + instance.object = instance.parent.characterData.placementObjects[instance.index].placementMode == "COPY" and instance.parent.characterData.placementObjects[instance.index].model:copy(instance.uuid) or instance.parent.characterData.placementObjects[instance.index].model + instance.boundingBox = instance.parent.characterData.placementObjects[instance.index].boundingBox.size:copy():scale(0.0625) + instance.gravity = instance.parent.characterData.placementObjects[instance.index].gravity ~= nil and instance.parent.characterData.placementObjects[instance.index].gravity or 1 + instance.hasFireResistance = instance.parent.characterData.placementObjects[instance.index].hasFireResistance ~= nil and instance.parent.characterData.placementObjects[instance.index].hasFireResistance or false + instance.removeReason = "REMOVED_BY_SCRIPTS" + instance.modelOffsetPos = vectors.vec3() + instance.offsetPos = vectors.vec3() + instance.currentPos = pos + instance.nextPos = instance.currentPos + instance.fallingSpeed = 0 + instance.isOnGround = false + + instance.callbacks = { + ---@param self PlacementObject + onInit = function (self) + if self.parent.characterData.placementObjects[self.index].placementMode == "COPY" then + models.script_placement_object:addChild(self.object) + end + local objectOffset = vectors.vec3() + if self.parent.characterData.placementObjects[self.index].boundingBox.offsetPos ~= nil then + objectOffset = self.parent.characterData.placementObjects[self.index].boundingBox.offsetPos:copy():scale(-0.0625) + end + if self.gravity >= 0 then + self.modelOffsetPos = objectOffset:copy():add(0, 0.075, 0) + else + self.modelOffsetPos = objectOffset:copy():add(0, -0.075, 0) + end + --self.objectModel:setPos(self.currentPos:copy():add(self.modelOffsetPos):scale(16)) + self.object:setRot(0, rot, 0) + self.object:setVisible(true) + if self.parent.characterData.placementObjects[self.index].callbacks ~= nil and self.parent.characterData.placementObjects[self.index].callbacks.onInit ~= nil then + self.parent.characterData.placementObjects[self.index].callbacks.onInit(self.parent.characterData, self) + end + end; + + ---@param self PlacementObject + onDeinit = function (self) + if self.parent.characterData.placementObjects[self.index].placementMode == "COPY" then + models.script_placement_object:removeChild(self.object) + self.object:remove() + else + self.object:setVisible(false) + end + if self.parent.characterData.placementObjects[self.index].callbacks ~= nil and self.parent.characterData.placementObjects[self.index].callbacks.onDeinit ~= nil then + self.parent.characterData.placementObjects[self.index].callbacks.onDeinit(self.parent.characterData, self) + end + end; + + ---@param self PlacementObject + onTick = function (self) + --設置物の位置を強制更新 + self.currentPos = self.nextPos + self.object:setPos(self.currentPos:copy():add(self.modelOffsetPos):scale(16)) + + --当たり判定同士が重複しているか確認 + local boundingBoxStartPos = vectors.vec3(self.currentPos.x - self.boundingBox.x / 2, self.currentPos.y, self.currentPos.z - self.boundingBox.z / 2) + local boundingBoxEndPos = vectors.vec3(self.currentPos.x + self.boundingBox.x / 2, self.currentPos.y + self.boundingBox.y, self.currentPos.z + self.boundingBox.z / 2) + local boundingBoxCenter = boundingBoxEndPos:copy():sub(boundingBoxStartPos):scale(0.5):add(boundingBoxStartPos) + for z = math.floor(boundingBoxStartPos.z), math.floor(boundingBoxEndPos.z) do + for y = math.floor(boundingBoxStartPos.y), math.floor(boundingBoxEndPos.y) do + for x = math.floor(boundingBoxStartPos.x), math.floor(boundingBoxEndPos.x) do + for _, collisionBox in ipairs( world.getBlockState(x, y, z):getCollisionShape()) do + local collisionStartPos = collisionBox[1]:copy():add(x, y, z) + local collisionEndPos = collisionBox[2]:copy():add(x, y, z) + local collisionBoxCenter = collisionStartPos:copy():add(collisionEndPos:copy():sub(collisionStartPos):scale(0.5)) + if math.abs(collisionBoxCenter.x - boundingBoxCenter.x) < ((collisionEndPos.x - collisionStartPos.x) + (boundingBoxEndPos.x - boundingBoxStartPos.x)) / 2 and math.abs(collisionBoxCenter.y - boundingBoxCenter.y) < ((collisionEndPos.y - collisionStartPos.y) + (boundingBoxEndPos.y - boundingBoxStartPos.y)) / 2 and math.abs(collisionBoxCenter.z - boundingBoxCenter.z) < ((collisionEndPos.z - collisionStartPos.z) + (boundingBoxEndPos.z - boundingBoxStartPos.z)) / 2 then + self.removeReason = "OVERLAPPED" + self.shouldDeinit = true + return + end + end + end + end + end + + --落下速度を更新 + local fluidTags = world.getBlockState(self.currentPos):getFluidTags() + if fluidTags[2] == "c:water" then + if self.gravity >= 0 then + self.fallingSpeed = math.max(self.fallingSpeed - 0.1 * self.gravity, 0.1 * self.gravity) + else + self.fallingSpeed = math.min(self.fallingSpeed - 0.1 * self.gravity, 0.1 * self.gravity) + end + elseif fluidTags[2] == "c:lava" then + if self.gravity >= 0 then + self.fallingSpeed = math.max(self.fallingSpeed - 0.1 * self.gravity, 0.02 * self.gravity) + else + self.fallingSpeed = math.min(self.fallingSpeed - 0.1 * self.gravity, 0.02 * self.gravity) + end + else + if self.gravity >= 0 then + self.fallingSpeed = math.min(self.fallingSpeed + 0.035 * self.gravity, 3.575 * self.gravity) + else + self.fallingSpeed = math.max(self.fallingSpeed + 0.035 * self.gravity, 3.575 * self.gravity) + end + end + self.nextPos = self.currentPos:copy():add(0, self.fallingSpeed * -1, 0) + + --現ティックと次ティックから直方体を算出 + local nextBoxStartPos = vectors.vec3() + local nextBoxEndPos = vectors.vec3() + if self.gravity >= 0 then + nextBoxStartPos = vectors.vec3(self.currentPos.x - self.boundingBox.x / 2, math.min(self.currentPos.y, self.currentPos.y - self.fallingSpeed), self.currentPos.z - self.boundingBox.z / 2) + nextBoxEndPos = vectors.vec3(self.currentPos.x + self.boundingBox.x / 2, math.max(self.currentPos.y, self.currentPos.y - self.fallingSpeed), self.currentPos.z + self.boundingBox.z / 2) + else + nextBoxStartPos = vectors.vec3(self.currentPos.x - self.boundingBox.x / 2, math.min(self.currentPos.y, self.currentPos.y - self.fallingSpeed) + self.boundingBox.y, self.currentPos.z - self.boundingBox.z / 2) + nextBoxEndPos = vectors.vec3(self.currentPos.x + self.boundingBox.x / 2, math.max(self.currentPos.y, self.currentPos.y - self.fallingSpeed) + self.boundingBox.y, self.currentPos.z + self.boundingBox.z / 2) + end + local nextBoxCenter = nextBoxStartPos:copy():add(nextBoxEndPos:copy():sub(nextBoxStartPos):scale(0.5)) + + --直方体と重なるブロック座標を全て算出 + local collisionDetected = false + if self.gravity >= 0 then + local collisionYPos = math.floor(nextBoxStartPos.y) + for y = math.floor(nextBoxEndPos.y), math.floor(nextBoxStartPos.y) - 1, -1 do + for z = math.floor(nextBoxStartPos.z), math.floor(nextBoxEndPos.z) do + for x = math.floor(nextBoxStartPos.x), math.floor(nextBoxEndPos.x) do + for _, collisionBox in ipairs( world.getBlockState(x, y, z):getCollisionShape()) do + local collisionStartPos = collisionBox[1]:copy():add(x, y, z) + local collisionEndPos = collisionBox[2]:copy():add(x, y, z) + local collisionBoxCenter = collisionStartPos:copy():add(collisionEndPos:copy():sub(collisionStartPos):scale(0.5)) + if math.abs(collisionBoxCenter.x - nextBoxCenter.x) < ((collisionEndPos.x - collisionStartPos.x) + (nextBoxEndPos.x - nextBoxStartPos.x)) / 2 and math.abs(collisionBoxCenter.y - nextBoxCenter.y) < ((collisionEndPos.y - collisionStartPos.y) + (nextBoxEndPos.y - nextBoxStartPos.y)) / 2 and math.abs(collisionBoxCenter.z - nextBoxCenter.z) < ((collisionEndPos.z - collisionStartPos.z) + (nextBoxEndPos.z - nextBoxStartPos.z)) / 2 then + if collisionEndPos.y > self.nextPos.y then + self.nextPos.y = collisionEndPos.y + collisionYPos = y + self.fallingSpeed = 0 + collisionDetected = true + end + end + end + end + end + if y == collisionYPos - 1 then + break + end + end + else + local collisionYPos = math.floor(nextBoxEndPos.y) + for y = math.floor(nextBoxStartPos.y), math.floor(nextBoxEndPos.y), 1 do + for z = math.floor(nextBoxStartPos.z), math.floor(nextBoxEndPos.z) do + for x = math.floor(nextBoxStartPos.x), math.floor(nextBoxEndPos.x) do + for _, collisionBox in ipairs( world.getBlockState(x, y, z):getCollisionShape()) do + local collisionStartPos = collisionBox[1]:copy():add(x, y, z) + local collisionEndPos = collisionBox[2]:copy():add(x, y, z) + local collisionBoxCenter = collisionStartPos:copy():add(collisionEndPos:copy():sub(collisionStartPos):scale(0.5)) + if math.abs(collisionBoxCenter.x - nextBoxCenter.x) < ((collisionEndPos.x - collisionStartPos.x) + (nextBoxEndPos.x - nextBoxStartPos.x)) / 2 and math.abs(collisionBoxCenter.y - nextBoxCenter.y) < ((collisionEndPos.y - collisionStartPos.y) + (nextBoxEndPos.y - nextBoxStartPos.y)) / 2 and math.abs(collisionBoxCenter.z - nextBoxCenter.z) < ((collisionEndPos.z - collisionStartPos.z) + (nextBoxEndPos.z - nextBoxStartPos.z)) / 2 then + if collisionStartPos.y < self.nextPos.y + self.boundingBox.y then + self.nextPos.y = collisionStartPos.y - self.boundingBox.y + collisionYPos = y + self.fallingSpeed = 0 + collisionDetected = true + end + end + end + end + end + if y == collisionYPos + 1 then + break + end + end + end + if collisionDetected and not self.isOnGround and self.parent.characterData.placementObjects[self.index].callbacks ~= nil and self.parent.characterData.placementObjects[self.index].callbacks.onGround ~= nil then + self.parent.characterData.placementObjects[self.index].callbacks.onGround(self.parent.characterData, self) + end + self.isOnGround = collisionDetected + local nextBlock = world.getBlockState(self.nextPos) + local isNextBlockFire = false + for _, tag in ipairs(nextBlock:getTags()) do + if tag == "minecraft:fire" then + isNextBlockFire = true + break + end + end + if self.nextPos.y < -128 then + self.removeReason = "TOO_LOW" + self.shouldDeinit = true + elseif self.nextPos.y > 384 then + self.removeReason = "TOO_HIGH" + self.shouldDeinit = true + elseif not self.hasFireResistance and (nextBlock:getFluidTags()[2] == "c:lava" or isNextBlockFire) then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.fire.extinguish"), self.nextPos) + for _ = 0, self.boundingBox.x * self.boundingBox.y * self.boundingBox.z * 8 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:smoke"), vectors.vec3(self.nextPos.x + math.random() * self.boundingBox.x - self.boundingBox.x / 2, self.nextPos.y + math.random() * self.boundingBox.y, self.nextPos.z + math.random() * self.boundingBox.z - self.boundingBox.z / 2)) + end + self.removeReason = "BURNT" + self.shouldDeinit = true + end + if self.parent.characterData.placementObjects[self.index].callbacks ~= nil and self.parent.characterData.placementObjects[self.index].callbacks.onTick ~= nil then + self.parent.characterData.placementObjects[self.index].callbacks.onTick(self.parent.characterData, self) + end + end; + + ---@param self PlacementObject + onRender = function (self, delta, context) + self.object:setPos(self.nextPos:copy():sub(self.currentPos):scale(delta):add(self.currentPos):add(self.modelOffsetPos):scale(16)) + if self.parent.characterData.placementObjects[self.index].callbacks ~= nil and self.parent.characterData.placementObjects[self.index].callbacks.onRender ~= nil then + self.parent.characterData.placementObjects[self.index].callbacks.onRender(self.parent.characterData, self) + end + end + } + + return instance + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/placement_object/placement_object_manager.lua b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/placement_object/placement_object_manager.lua new file mode 100644 index 0000000..eee06b5 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/placement_object/placement_object_manager.lua @@ -0,0 +1,87 @@ +---設置物の設置モードの列挙型 +---@alias PlacementObjectManager.PlacementMode +---| "COPY" # コピーモード。BBアニメーションは使えないが、複数の設置物を設置可能。 +---| "MOVE" # 移動モード。同時に1つしか設置物を設置できないが、BBアニメーションが使える。 + +---設置物が削除された理由の列挙型 +---@alias PlacementObjectManager.RemoveReason +---| "REMOVED_BY_SCRIPTS" # スクリプトによって削除 +---| "OVERLAPPED" # 設置物がブロックと重なって削除 +---| "BURNT" # 炎に焼かれて削除 +---| "TOO_LOW" # 設置物のY座標が低過ぎて削除 +---| "TOO_HIGH" # 設置物のY座標が高過ぎて削除 + +---@class (exact) PlacementObjectManager : SpawnObjectManager 設置物を管理するマネージャークラス +---@field public objects PlacementObject[] インスタンスで制御するオブジェクト +---@field public getObject fun(self: PlacementObjectManager, index: integer, pos: Vector3, rot: number): PlacementObject 設置物のインスタンスを生成して返す +---@field public spawn fun(self: PlacementObjectManager, index: integer, pos: Vector3, rot: number) 設置物を設置する +---@field public applyFunc fun(self: PlacementObjectManager, index: integer, func: fun(object: PlacementObject, i: integer)) 設置済み設置物の指定した設置物データのインデックス番号のみに関数を適用する + +PlacementObjectManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return PlacementObjectManager + new = function (parent) + ---@type PlacementObjectManager + local instance = Avatar.instantiate(PlacementObjectManager, SpawnObjectManager, parent) + + instance.managerName = "placement_object" + + return instance + end; + + ---初期化関数 + ---@param self PlacementObjectManager + init = function (self) + SpawnObjectManager.init(self) + + ---@diagnostic disable-next-line: discard-returns + models:newPart("script_placement_object", "World") + for _, data in ipairs(self.parent.characterData.placementObjects) do + if data.placementMode == "MOVE" then + data.model = data.model:moveTo(models.script_placement_object) + data.model:setVisible(false) + end + end + end; + + + ---設置物のインスタンスを生成して返す。 + ---@param self PlacementObjectManager + ---@param index integer 設置物データのインデックス番号 + ---@param pos Vector3 設置物を設置するワールド座標 + ---@param rot number 設置物を設置するワールド方向(Y軸のみ) + ---@return PlacementObject instance 生成したインスタンス + getObject = function (self, index, pos, rot) + if self.parent.characterData.placementObjects[index].placementMode == "MOVE" then + for i, placementObject in ipairs(self.objects) do + if placementObject.index == index then + self:remove(i) + break + end + end + end + return PlacementObject.new(self.parent, index, pos, rot) + end; + + ---設置物を設置する。 + ---@param self PlacementObjectManager + ---@param index integer 設置物データのインデックス番号 + ---@param pos Vector3 設置物を設置するワールド座標 + ---@param rot number 設置物を設置するワールド方向(Y軸のみ) + spawn = function (self, index, pos, rot) + SpawnObjectManager.spawn(self, index, pos, rot) + end; + + ---設置済み設置物の、指定した設置物データのインデックス番号のみに関数を適用する。 + ---@param self PlacementObjectManager + ---@param index integer 関数実行対象の設置物データのインデックス番号 + ---@param func fun(object: PlacementObject, i: integer) 実行する関数 + applyFunc = function (self, index, func) + for i, obj in ipairs(self.objects) do + if obj.index == index then + func(obj, i) + end + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/portrait.lua b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/portrait.lua new file mode 100644 index 0000000..3d887aa --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/portrait.lua @@ -0,0 +1,32 @@ +---@class (exact) Portrait : HeadModelGenerator ポートレートのモデルを管理するクラス + +Portrait = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Portrait + new = function (parent) + ---@type Portrait + local instance = Avatar.instantiate(Portrait, HeadModelGenerator, parent) + + instance.processData = instance.parent.characterData.portrait + instance.parentName = "portrait" + instance.parentType = "Portrait" + + return instance + end; + + ---初期化関数 + ---@param self Portrait + init = function (self) + HeadModelGenerator.init(self) + end; + + ---頭モデルのコピーを生成する。 + ---@param self HeadBlock + generateHeadModel = function (self) + HeadModelGenerator.generateHeadModel(self) + if models.script_portrait.Head ~= nil then + models.script_portrait.Head.HeadRing:remove() + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/skirt.lua b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/skirt.lua new file mode 100644 index 0000000..48e97f8 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/skirt.lua @@ -0,0 +1,30 @@ +---@class Skirt : AvatarModule スカートを制御するクラス + +Skirt = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Skirt + new = function (parent) + ---@type Skirt + local instance = Avatar.instantiate(Skirt, AvatarModule, parent) + + return instance + end; + + ---初期化関数 + ---@param self AvatarModule + init = function (self) + AvatarModule.init(self) + + if self.parent.characterData.skirt.skirtModels ~= nil and #self.parent.characterData.skirt.skirtModels > 0 then + events.TICK:register(function () + local isCrouching = player:isCrouching() + for _, skirtModel in ipairs(self.parent.characterData.skirt.skirtModels) do + if skirtModel:getVisible() then + skirtModel:setRot(isCrouching and 30 or 0, 0, 0) + end + end + end) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/utils/compatibility_utils.lua b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/utils/compatibility_utils.lua new file mode 100644 index 0000000..237a6a6 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/utils/compatibility_utils.lua @@ -0,0 +1,169 @@ +---レジストリの種類を示す列挙型 +---@alias CompatibilityUtils.RegistryType +---| "BLOCK" # ブロック名 +---| "ITEM" # アイテム名 +---| "PARTICLE" # パーティクル名 +---| "SOUND" # サウンド名 + +---@class (exact) CompatibilityUtils : AvatarModule Minecraftのゲームバージョンが異なっていてもある程度互換性を確保するためのユーティリティクラス +---@field package registries {block: Minecraft.blockID[], item: Minecraft.itemID[], particle: Minecraft.particleID[], sound: Minecraft.soundID[]} ゲームから取得した全アイテム名を保持するテーブル +---@field package checkedTable {block: {[Minecraft.blockID]: boolean}, item: {[Minecraft.itemID]: boolean}, particle: {[Minecraft.particleID]: boolean}, sound: {[Minecraft.soundID]: boolean}} レジストリへの確認が済んでいるIDを保持するテーブル +---@field package find fun(self: CompatibilityUtils, registryType: CompatibilityUtils.RegistryType, target: string): boolean 指定されたターゲットがレジストリに登録されているかどうかを返す。 +---@field public checkBlock fun(self: CompatibilityUtils, block: Minecraft.blockID): Minecraft.blockID 指定されたブロックIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:dirt"を返す。 +---@field public checkItem fun(self: CompatibilityUtils, item: Minecraft.itemID): Minecraft.itemID 指定されたアイテムIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:barrier"を返す。 +---@field public checkParticle fun(self: CompatibilityUtils, particle: Minecraft.particleID): Minecraft.particleID 指定されたパーティクルIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:poof"を返す。 +---@field public checkSound fun(self: CompatibilityUtils, sound: Minecraft.soundID): Minecraft.soundID 指定されたサウンドIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:empty"を返す。 +---@field public getBlockParticleId fun(block: Minecraft.blockID): string ブロックの破片のパーティクルを示す文字列を返す。Minecraftのバージョン違いを吸収するための関数。 +---@field public getDustParticleId fun(color: Vector3, size: number): string dustパーティクルを示す文字列を返す。Minecraftのバージョン違いを吸収するための関数。 +---@field public setPostEffect fun(effect?: Minecraft.shaderName) renderer:setPostEffect()のラッパー関数。1.20.5でレンダーエフェクトが削除されたことによる対応。 + +CompatibilityUtils = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return CompatibilityUtils + new = function (parent) + ---@type CompatibilityUtils + local instance = Avatar.instantiate(CompatibilityUtils, AvatarModule, parent) + + instance.registries = {} + instance.checkedTable = { + block = {}; + item = {}; + particle = {}; + sound = {}; + } + + return instance + end; + + ---初期化関数 + ---@param self CompatibilityUtils + init = function (self) + AvatarModule.init(self) + + self.registries.block = client.getRegistry("minecraft:block") + self.registries.item = client.getRegistry("minecraft:item") + self.registries.particle = client.getRegistry("minecraft:particle_type") + self.registries.sound = client.getRegistry("minecraft:sound_event") + for name, _ in pairs(self.registries) do + table.sort(self.registries[name]) + end + self.checkedTable.block["minecraft:dirt"] = true + self.checkedTable.item["minecraft:barrier"] = true + self.checkedTable.particle["minecraft:poof"] = true + self.checkedTable.sound["minecraft:empty"] = true + if host:isHost() and client:getVersion() < "1.20.1" then + print(self.parent.locale:getLocale("avatar.old_version_warning")) + end + end; + + ---指定されたターゲットがレジストリに登録されているかどうかを返す。 + ---@param self CompatibilityUtils + ---@param registryType CompatibilityUtils.RegistryType 検索をかける対象のレジストリ + ---@param target string 検索対象名。"minecraft:"を抜かないこと。 + ---@return boolean idFound 指定されたターゲットがレジストリで見つかったかどうか + find = function (self, registryType, target) + ---リスト内の中央の要素(偶数の場合は中央から1つ左の要素)と指定されたターゲットのUnicode順を比較する。 + ---@param from integer リストの検索開始のインデックス番号 + ---@param to integer リストの検索終了のインスタンス番号(指定したインデックス番号の要素も検索に含む) + ---@return integer compareResult 比較結果。0は同じ文字列、1はターゲットの方が大きい、-1はターゲットの方が小さいことを表す。 + local function compareToCenterElement(from, to) + local centerIndex = math.floor((to - from) / 2) + from + if self.registries[registryType:lower()][centerIndex] < target then + return 1 + elseif self.registries[registryType:lower()][centerIndex] > target then + return -1 + else + return 0 + end + end + + local startIndex = 1 + local endIndex = #self.registries[registryType:lower()] + while startIndex < endIndex do + local compareResult = compareToCenterElement(startIndex, endIndex) + if compareResult == 1 then + startIndex = math.floor((endIndex - startIndex) / 2) + startIndex + 1 + elseif compareResult == -1 then + endIndex = math.floor((endIndex - startIndex) / 2) + startIndex + else + break + end + end + if startIndex == endIndex then + return compareToCenterElement(startIndex, endIndex) == 0 + else + return true + end + end; + + ---指定されたブロックIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:dirt"を返す。 + ---@param self CompatibilityUtils + ---@param block Minecraft.blockID 確認対象のブロックID + ---@param blockState string? ブロックステートを示す文字列 + ---@return Minecraft.blockID blockID レジストリに登録してある場合は確認対象のブロックIDをそのまま返し、未登録の場合は"minecraft:dirt"が返す。 + checkBlock = function (self, block, blockState) + if self.checkedTable.block[block] == nil then + self.checkedTable.block[block] = self:find("BLOCK", block) + end + local state = blockState ~= nil and blockState or "" + return self.checkedTable.block[block] and block..state or "minecraft:dirt" + end; + + ---指定されたアイテムIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:barrier"を返す。 + ---@param self CompatibilityUtils + ---@param item Minecraft.itemID 確認対象のアイテムID + ---@return Minecraft.itemID blockID レジストリに登録してある場合は確認対象のアイテムIDをそのまま返し、未登録の場合は"minecraft:barrier"が返す。 + checkItem = function (self, item) + if self.checkedTable.item[item] == nil then + self.checkedTable.item[item] = self:find("ITEM", item) + end + return self.checkedTable.item[item] and item or "minecraft:barrier" + end; + + ---指定されたパーティクルIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:poof"を返す。 + ---@param self CompatibilityUtils + ---@param particle Minecraft.particleID 確認対象のパーティクルID + ---@return Minecraft.particleID particleID レジストリに登録してある場合は確認対象のパーティクルIDをそのまま返し、未登録の場合は"minecraft:poof"が返す。 + checkParticle = function (self, particle) + if self.checkedTable.particle[particle] == nil then + self.checkedTable.particle[particle] = self:find("PARTICLE", particle) + end + return self.checkedTable.particle[particle] and particle or "minecraft:poof" + end; + + ---指定されたサウンドIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:empty"を返す。 + ---@param self CompatibilityUtils + ---@param sound Minecraft.soundID 確認対象のサウンドID + ---@return Minecraft.soundID particleID レジストリに登録してある場合は確認対象のサウンドIDをそのまま返し、未登録の場合は"minecraft:empty"が返す。 + checkSound = function (self, sound) + if self.checkedTable.sound[sound] == nil then + self.checkedTable.sound[sound] = self:find("SOUND", sound) + end + return self.checkedTable.sound[sound] and sound or "minecraft:empty" + end; + + ---ブロックの破片のパーティクルを示す文字列を返す。Minecraftのバージョン違いを吸収するための関数。 + ---@param block Minecraft.blockID ブロックの破片パーティクルとして表示するブロックのID。レジストリへの確認は行わない。 + ---@return string particleData ブロックの破片のパーティクルを示す文字列 + getBlockParticleId = function (block) + return client:getVersion() >= "1.20.5" and "minecraft:block{block_state:\""..block.."\"}" or "minecraft:block "..block + end; + + ---dustパーティクルを示す文字列を返す。Minecraftのバージョン違いを吸収するための関数。 + ---@param color Vector3 dustの色 + ---@param size number dustの大きさ + ---@return string particleData dustの破片のパーティクルを示す文字列 + getDustParticleId = function (color, size) + return client:getVersion() >= "1.20.5" and "minecraft:dust{color:["..color.x..","..color.y..","..color.z.."],scale:"..math.clamp(size, 0.01, 4).."}" or "minecraft:dust "..color.x.." "..color.y.." "..color.z.." "..size + end; + + ---renderer:setPostEffect()のラッパー関数 + ---1.20.5でレンダーエフェクトが削除されたことによる対応 + ---@param effect? Minecraft.shaderName 適用するエフェクト + setPostEffect = function (effect) + if client:getVersion() < "1.20.5" then + renderer:setPostEffect(effect) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/utils/model_utils.lua b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/utils/model_utils.lua new file mode 100644 index 0000000..4208e9f --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/utils/model_utils.lua @@ -0,0 +1,59 @@ +---@class (exact) ModelUtils : AvatarModule モデルに関するユーティリティ関数群 +---@field public getModelWorldPos fun(model: ModelPart): Vector3 指定したモデルのワールド位置を返す。 +---@field public copyModel fun(self: ModelUtils, modelPart: ModelPart, name?: string, forceCopy?: boolean): ModelPart|nil モデルパーツをディープコピーする。 +---@field public copyModel fun(self: ModelUtils, modelPart: ModelPart, name?: string, forceCopy?: true): ModelPart モデルパーツをディープコピーする。 +---@field public moveTo fun(target: ModelPart, destination: ModelPart, originalParent: ModelPart) モデルパーツを別の親に移動させる。組み込みmoveTo()で何故かモデルパーツが残ってしまう問題に対処済み。 + +ModelUtils = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ModelUtils + new = function (parent) + ---@type ModelUtils + local instance = Avatar.instantiate(ModelUtils, AvatarModule, parent) + + return instance + end; + + ---指定したモデルのワールド位置を返す。 + ---@param model ModelPart ワールド位置を取得するモデルパーツ + ---@return Vector3 worldPos モデルのワールド位置 + getModelWorldPos = function(model) + local modelMatrix = model:partToWorldMatrix() + return vectors.vec3(modelMatrix[4][1], modelMatrix[4][2], modelMatrix[4][3]) + end; + + ---モデルパーツをディープコピーする。 + ---非表示のモデルパーツはコピーしない。 + ---@param modelPart ModelPart コピーするモデルパーツ + ---@param name? string コピーしたモデルパーツの名前。省略した際はコピー元と同じ名前になる。 + ---@param forceCopy? boolean 非表示のモデルも強制的にコピーするかどうか + ---@return ModelPart|nil copiedModelPart コピーされたモデルパーツ。入力されたモデルパーツが非表示の場合はnilが返る。 + copyModel = function (self, modelPart, name, forceCopy) + if modelPart:getVisible() or forceCopy then + local copy = modelPart:copy(name ~= nil and name or modelPart:getName()) + copy:setParentType("None") + for _, child in ipairs(copy:getChildren()) do + copy:removeChild(child) + local childModel = self:copyModel(child) + if childModel ~= nil then + copy:addChild(childModel) + end + end + return copy + end + end; + + ---モデルパーツを別の親に移動させる。 + ---組み込みmoveTo()で何故かモデルパーツが残ってしまう問題に対処済み。 + ---@param target ModelPart 移動させる対象のモデルパーツ + ---@param destination ModelPart 移動先の親 + ---@param originalParent ModelPart 移動元の親 + moveTo = function (target, destination, originalParent) + target:moveTo(destination) + local modelName = target:getName() + if originalParent[modelName] ~= nil then + originalParent:removeChild(target) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/utils/player_utils.lua b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/utils/player_utils.lua new file mode 100644 index 0000000..274c213 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/utils/player_utils.lua @@ -0,0 +1,35 @@ +---@alias PlayerUtils.DamageStatus +---| "NONE" # ダメージなし +---| "DAMAGE" # ダメージを受けた +---| "DIED" # 死亡した + +---@class (exact) PlayerUtils : AvatarModule プレイヤーに関するユーティリティ関数群 +---@field public damageStatus PlayerUtils.DamageStatus 現在のティックのダメージステータス +---@field package healthPrev integer 前ティックのHP量 + +PlayerUtils = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return PlayerUtils + new = function (parent) + ---@type PlayerUtils + local instance = Avatar.instantiate(PlayerUtils, AvatarModule, parent) + + instance.damageStatus = "NONE" + instance.healthPrev = player:getHealth() + + return instance + end; + + ---初期化関数 + ---@param self PlayerUtils + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + local health = player:getHealth() + self.damageStatus = self.healthPrev > health and (health == 0 and "DIED" or "DAMAGE") or "NONE" + self.healthPrev = health + end) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/utils/spawn_object.lua b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/utils/spawn_object.lua new file mode 100644 index 0000000..cf08811 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/utils/spawn_object.lua @@ -0,0 +1,26 @@ +---@class (exact) SpawnObject : AvatarModule オブジェクト(設置物、独自定義パーティクル、bbモデルetc.)クラス +---@field public object any インスタンスで制御するオブジェクト。ModelPartやRenderTaskを想定している。 +---@field public uuid string このインスタンスのUUID。オブジェクトの名前付けなどにどうぞ。 +---@field public shouldDeinit boolean このオブジェクトを破棄するかどうか。trueにするとオブジェクトが破棄され、その際に、onDeinit()コールバック関数が呼ばれる。 +---@field public callbacks? SpawnObject.CallbackSet スポーンオブジェクトのコールバック関数 + +---@class (exact) SpawnObject.CallbackSet スポーンオブジェクトのコールバック関数のセット +---@field public onInit? fun(self: SpawnObject) オブジェクトの初期化直後に呼ばれる関数 +---@field public onDeinit? fun(self: SpawnObject) オブジェクトの破棄直前に呼ばれる関数 +---@field public onTick? fun(self: SpawnObject) 各ティック毎に呼ばれる関数 +---@field public onRender? fun(self: SpawnObject, delta: number, context: Event.Render.context) 各レンダーティック毎に呼ばれる関数 + +SpawnObject = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return SpawnObject + new = function (parent) + ---@type SpawnObject + local instance = Avatar.instantiate(SpawnObject, AvatarModule, parent) + + instance.uuid = client.intUUIDToString(client.generateUUID()) + instance.shouldDeinit = false + + return instance + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/utils/spawn_object_manager.lua b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/utils/spawn_object_manager.lua new file mode 100644 index 0000000..3026820 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/utils/spawn_object_manager.lua @@ -0,0 +1,102 @@ +---@class (exact) SpawnObjectManager : AvatarModule オブジェクト(設置物、独自定義パーティクル、bbモデルetc.)をスポーンさせ、管理するマネージャークラス +---@field public managerName string このマネージャーの名前 +---@field public objects SpawnObject[] スポーンさせたオブジェクトを保持するテーブル +---@field public getObject fun(self: SpawnObjectManager): SpawnObject スポーンオブジェクトのインスタンスを生成して返す +---@field public spawn fun(self: SpawnObjectManager, ...: any) オブジェクトをスポーンさせる +---@field public remove fun(self: SpawnObjectManager, index: integer) オブジェクトを1つ削除する +---@field public removeAll fun(self: SpawnObjectManager) オブジェクトをすべて削除する + +SpawnObjectManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return SpawnObjectManager + new = function (parent) + ---@type SpawnObjectManager + local instance = Avatar.instantiate(SpawnObjectManager, AvatarModule, parent) + + instance.managerName = "spawn_object" + instance.objects = {} + + return instance + end; + + ---スポーンオブジェクトのインスタンスを生成して返す。 + ---@param self SpawnObjectManager + ---@return SpawnObject instance 生成したスポーンオブジェクト + getObject = function (self) + return SpawnObject.new(self.parent) + end; + + ---オブジェクトをスポーンさせる。 + ---@param self SpawnObjectManager + ---@param ... any インスタンス生成時の引数 + spawn = function (self, ...) + ---@diagnostic disable-next-line: redundant-parameter + local instance = self:getObject(...) + table.insert(self.objects, instance) + if instance.callbacks ~= nil and instance.callbacks.onInit ~= nil then + instance.callbacks.onInit(instance) + end + + if #self.objects == 1 then + events.TICK:register(function () + if not client:isPaused() then + for index, ins in ipairs(self.objects) do + if ins.callbacks ~= nil and ins.callbacks.onTick ~= nil then + ins.callbacks.onTick(ins) + end + if ins.shouldDeinit then + if ins.callbacks ~= nil and ins.callbacks.onDeinit ~= nil then + ins.callbacks.onDeinit(ins) + end + table.remove(self.objects, index) + if #self.objects == 0 then + events.TICK:remove(self.managerName.."_tick") + events.RENDER:remove(self.managerName.."_render") + end + end + end + end + end, self.managerName.."_tick") + + events.RENDER:register(function (delta, ctx) + if not client:isPaused() then + for _, ins in ipairs(self.objects) do + if ins.callbacks ~= nil and ins.callbacks.onRender ~= nil then + ins.callbacks.onRender(ins, delta, ctx) + end + end + end + end, self.managerName.."_render") + end + end; + + ---オブジェクトを1つ削除する。 + ---@param self SpawnObjectManager + ---@param index integer 削除するオブジェクトのインデックス番号 + remove = function (self, index) + if self.objects[index] ~= nil then + if self.objects[index].callbacks ~= nil and self.objects[index].callbacks.onDeinit ~= nil then + self.objects[index].callbacks.onDeinit(self.objects[index]) + end + table.remove(self.objects, index) + if #self.objects == 0 then + events.TICK:remove(self.managerName.."_tick") + events.RENDER:remove(self.managerName.."_render") + end + end + end; + + ---オブジェクトをすべて削除する。 + ---@param self SpawnObjectManager + removeAll = function (self) + while #self.objects > 0 do + if self.objects[1].callbacks ~= nil and self.objects[1].callbacks.onDeinit ~= nil then + self.objects[1].callbacks.onDeinit(self.objects[1]) + end + table.remove(self.objects, 1) + end + events.TICK:remove(self.managerName.."_tick") + events.RENDER:remove(self.managerName.."_render") + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/vanilla_model.lua b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/vanilla_model.lua new file mode 100644 index 0000000..2220732 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/scripts/avatar_modules/vanilla_model.lua @@ -0,0 +1,23 @@ +---@class (exact) VanillaModel : AvatarModule バニラーのモデルの管理クラス + +VanillaModel = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return VanillaModel + new = function (parent) + ---@type VanillaModel + local instance = Avatar.instantiate(VanillaModel, AvatarModule, parent) + + return instance + end; + + ---初期化関数 + ---@param self AvatarModule + init = function (self) + AvatarModule.init(self) + + for _, vanillaModel in ipairs({vanilla_model.PLAYER, vanilla_model.CHESTPLATE_RIGHT_ARM, vanilla_model.CHESTPLATE_LEFT_ARM, vanilla_model.LEGGINGS_RIGHT_LEG, vanilla_model.LEGGINGS_LEFT_LEG, vanilla_model.BOOTS}) do + vanillaModel:setVisible(false) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Midori/scripts/blue_archive_character.lua b/config/yosbr/config/figura/avatars/Midori/scripts/blue_archive_character.lua new file mode 100644 index 0000000..82f74f4 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/scripts/blue_archive_character.lua @@ -0,0 +1,1772 @@ +---@alias BlueArchiveCharacter.RightEyeTextures +---| "NORMAL" # 通常 +---| "SURPRISED" # 驚いた目(ダメージを受けたときなど) +---| "TIRED" # 疲れた目(死亡アニメーションなど) +---| "CLOSED" # 閉じた目(瞬き、睡眠中など) +---| "ANXIOUS" # 不満な目 +---| "CLOSED2" # 閉じた目2 +---| "ANGRY" # 怒った目 +---| "ANGRY_INVERTED" # 怒りつつ反対側を見る目 +---| "INVERTED" # 反対側を見る目 + +---@alias BlueArchiveCharacter.LeftEyeTextures +---| "NORMAL" # 通常 +---| "SURPRISED" # 驚いた目(ダメージを受けたときなど) +---| "TIRED" # 疲れた目(死亡アニメーションなど) +---| "CLOSED" # 閉じた目(瞬き、睡眠中など) +---| "ANXIOUS" # 不満な目 +---| "CLOSED2" # 閉じた目2 +---| "ANGRY" # 怒った目 +---| "ANGRY_INVERTED" # 怒りつつ反対側を見る目 +---| "CENTER" # 少し反対側を見る目 + +---@alias BlueArchiveCharacter.MouthTextures +---| "NORMAL" # 通常 +---| "FRUST" # ぐじゅぐじゅ口 +---| "ANXIOUS" # 口を膨らませる +---| "CLOSED" # 閉じた口 +---| "CLOSED2" # 閉じた口2 +---| "SMILE" # ニッコリ +---| "SHOCK" # (つд⊂)エーン な口 +---| "TRIANGLE" # 三角口 +---| "SMILE_SMALL" # 小さくニッコリ +---| "OPENED_SMALL" # 小さく開いた口 + +---@alias BlueArchiveCharacter.GunHoldType +---| "NORMAL" # バニラの弓やクロスボウの構え方と同じ +---| "CUSTOM" # BBアニメーション"[models.main][gun_hold_right]"と"[models.main][gun_hold_left]"で構え方を定義する + +---@alias BlueArchiveCharacter.GunPutType +---| "BODY" # アバターのBodyに銃を移動させる +---| "HIDDEN" # 銃を隠す + +---@alias BlueArchiveCharacter.FormationType +---| "STRIKER" # ストライカー(前衛) +---| "SPECIAL" # スペシャル(後方支援) + +---@alias BlueArchiveCharacter.Costumes +---| "DEFAULT" # デフォルト衣装 +---| "MAID" # メイド + +--[[ ******************************** ]] + +---@class BlueArchiveCharacter : AvatarModule キャラクター変数を保持するクラス。別のキャラクターに対してもここを変更するだけで対応できるようにする。 +---@field public basic BlueArchiveCharacter.BasicStruct 生徒の基本情報 +---@field public faceParts BlueArchiveCharacter.FacePartsStruct 目や口による表情 +---@field public arms BlueArchiveCharacter.ArmsStruct 腕 +---@field public skirt BlueArchiveCharacter.SkirtStruct スカート +---@field public gun BlueArchiveCharacter.GunStruct 銃 +---@field public placementObjects BlueArchiveCharacter.PlacementObjectStruct[] 設置物 +---@field public exSkill BlueArchiveCharacter.ExSkillStruct[] Exスキル +---@field public costume BlueArchiveCharacter.CostumeStruct コスチューム +---@field public bubble BlueArchiveCharacter.BubbleStruct 吹き出しエモート +---@field public headBlock BlueArchiveCharacter.HeadBlockStruct 頭ブロック +---@field public portrait BlueArchiveCharacter.HeadBlockStruct ポートレート +---@field public deathAnimation BlueArchiveCharacter.DeathAnimationStruct 死亡アニメーション +---@field public actionWheel BlueArchiveCharacter.ActionWheelStruct アクションホイール +---@field public physics BlueArchiveCharacter.PhysicsStruct 物理演算 +---@field public dataSync BlueArchiveCharacter.DataSyncStruct データ同期 + +--[[ ******************************** ]] + +---@class BlueArchiveCharacter.BasicStruct 生徒の基本情報のデータ構造体 +---@field public firstName BlueArchiveCharacter.LocaleStringSet 生徒の名前 +---@field public lastName BlueArchiveCharacter.LocaleStringSet 生徒の苗字 +---@field public clubName BlueArchiveCharacter.LocaleStringSet 生徒が所属している部活名 +---@field public birth BlueArchiveCharacter.MonthDaySet 生徒の誕生日 + +---@class BlueArchiveCharacter.FacePartsStruct 目や口による表情のデータ構造体。UVマッピング情報は、デフォルトパーツから見て左からx番目、上からy番目とする。 +---@field public rightEye {[BlueArchiveCharacter.RightEyeTextures]: Vector2} 右目のテクスチャのUVマッピング情報 +---@field public leftEye {[BlueArchiveCharacter.LeftEyeTextures]: Vector2} 左目のテクスチャのUVマッピング情報 +---@field public mouth {[BlueArchiveCharacter.MouthTextures]: Vector2} 口のテクスチャのUVマッピング情報 +---@field public emotionSet? BlueArchiveCharacter.OverrideEmotionSet 特定の状況における表情を上書きする + +---@class BlueArchiveCharacter.ArmsStruct 腕のデータ構造体 +---@field public callbacks? BlueArchiveCharacter.ArmsCallbacksSet 腕の制御のコールバック関数群 + +---@class BlueArchiveCharacter.SkirtStruct スカートのデータ構造体 +---@field public skirtModels? ModelPart[] スカートとして制御するモデル + +---@class BlueArchiveCharacter.GunStruct 銃のデータ構造体 +---@field public scale number 銃モデルの大きさの倍率 +---@field public gunPosition BlueArchiveCharacter.GunPositionSet 銃モデルの位置や向き +---@field public sound BlueArchiveCharacter.GunSoundSet 銃の射撃音 +---@field public callbacks? BlueArchiveCharacter.GunCallbacksSet 銃のコールバック関数 + +---@class BlueArchiveCharacter.PlacementObjectStruct 設置物のデータ構造体 +---@field public model ModelPart 設置物として扱うモデル +---@field public boundingBox BlueArchiveCharacter.PlacementObjectBoundingBoxSet 設置物の当たり判定 +---@field public placementMode PlacementObjectManager.PlacementMode 設置物の設置モード +---@field public gravity? number 設置物にかかる重力。1が標準的な自由落下。0で空中静止。負の数で反重力(上に向かって落ちる)。 +---@field public hasFireResistance? boolean 設置物に火炎耐性を付与するかどうか。trueにすると炎やマグマで焼かれなくなる。 +---@field public callbacks? BlueArchiveCharacter.PlacementObjectCallbacksSet 設置物のコールバック関数 + +---@class BlueArchiveCharacter.ExSkillStruct Exスキルのデータ構造体 +---@field public name BlueArchiveCharacter.LocaleStringSet Exスキルの名前 +---@field public formationType BlueArchiveCharacter.FormationType この生徒の戦闘配置タイプ +---@field public models ModelPart[] Exスキルアニメーション開始時に表示し、Exスキルアニメーション終了時に非表示にするモデルパーツ +---@field public animations string[] Exスキルアニメーションが含まれるモデルファイル名。アニメーション名は"ex_skill_"にすること。 +---@field public camera BlueArchiveCharacter.ExSkillCameraSet Exスキルアニメーション中のカメラワーク +---@field public callbacks? BlueArchiveCharacter.ExSkillCallbacks Exスキルのコールバック関数 + +---@class BlueArchiveCharacter.CostumeStruct コスチュームのデータ構造体 +---@field public costumes BlueArchiveCharacter.CostumeDataSet[] コスチュームデータ +---@field public callbacks? BlueArchiveCharacter.CostumeCallbacks コスチュームのコールバック関数 + +---@class BlueArchiveCharacter.BubbleStruct 吹き出しエモートのデータ構造体 +---@field public callbacks? BlueArchiveCharacter.BubbleCallbacks 吹き出しエモートのコールバック関数 + +---@class BlueArchiveCharacter.HeadBlockStruct 頭ブロック、ポートレートのデータ構造体 +---@field public includeModels ModelPart[] 頭モデルに追加でアタッチするモデル +---@field public callbacks? BlueArchiveCharacter.HeadBlockCallbacks 頭ブロック、ポートレートのコールバック関数 + +---@class BlueArchiveCharacter.DeathAnimationStruct 死亡アニメーションのデータ構造体 +---@field public callbacks? BlueArchiveCharacter.DeathAnimationCallbacks 死亡アニメーションのコールバック関数 + +---@class BlueArchiveCharacter.ActionWheelStruct アクションホイールのデータ構造体 +---@field public isVehicleOptionEnabled boolean 乗り物のモデル置き換えオプションを有効にするかどうか + +---@class BlueArchiveCharacter.PhysicsStruct 物理演算のデータ構造体 +---@field physicData BlueArchiveCharacter.PhysicDataSet[] 物理演算データ +---@field callbacks? BlueArchiveCharacter.PhysicCallbacks 物理演算のコールバック関数 + +---@class BlueArchiveCharacter.DataSyncStruct データ同期のデータ構造体 +---@field public syncData {[string]: any} 追加でping同期させるデータテーブル +---@field public callbacks? BlueArchiveCharacter.DataSyncCallbacks データ同期のコールバック関数 + +--[[ ******************************** ]] + +---@class (exact) BlueArchiveCharacter.OverrideEmotionSet 特定の状況における表情を上書きするセット +---@field public onDamage? BlueArchiveCharacter.EmotionSet ダメージを受けたとき +---@field public onDied? BlueArchiveCharacter.EmotionSet 死んだとき(死亡アニメーションは除外) +---@field public onSleep? BlueArchiveCharacter.EmotionSet ベッドで寝ているとき + +---@class (exact) BlueArchiveCharacter.EmotionSet 表情のデータセット +---@field public rightEye BlueArchiveCharacter.RightEyeTextures 右目の表情名 +---@field public leftEye BlueArchiveCharacter.LeftEyeTextures 左目の表情名 +---@field public mouth BlueArchiveCharacter.MouthTextures 口の表情名 + +---@class (exact) BlueArchiveCharacter.ArmsCallbacksSet 腕処理のコールバック関数のセット +---@field public onArmStateChanged? fun(self: BlueArchiveCharacter, right: integer, left: integer): {right?: integer, left?: integer}|nil 腕の状態が変更された際のコールバック関数 +---@field public onAdditionalRightArmProcess? fun(self: BlueArchiveCharacter, state: integer) 右腕の追加処理 +---@field public onAdditionalLeftArmProcess? fun(self: BlueArchiveCharacter, state: integer) 左腕の追加処理 + +---@class (exact) BlueArchiveCharacter.GunPositionSet 銃のモデルの位置や向きのデータセット +---@field public hold BlueArchiveCharacter.GunHoldPositionSet 銃を構えているとき +---@field public put BlueArchiveCharacter.GunPutPositionSet 銃をしまっているとき + +---@class (exact) BlueArchiveCharacter.GunHoldPositionSet 構えているときの銃のモデルの位置や向きのデータセット +---@field public type BlueArchiveCharacter.GunHoldType 銃の構え方の種類 +---@field public firstPersonPos? BlueArchiveCharacter.Vector3RightLeftSet 一人称視点での銃の位置 +---@field public firstPersonRot? BlueArchiveCharacter.Vector3RightLeftSet 一人称視点での銃の方向 +---@field public thirdPersonPos? BlueArchiveCharacter.Vector3RightLeftSet 三人称視点での銃の位置 +---@field public thirdPersonRot? BlueArchiveCharacter.Vector3RightLeftSet 三人称視点での銃の方向 + +---@class (exact) BlueArchiveCharacter.GunPutPositionSet しまっているときの銃のモデルの位置や向きのデータセット +---@field public type BlueArchiveCharacter.GunPutType 銃のしまい方の種類 +---@field public pos? BlueArchiveCharacter.Vector3RightLeftSet 一人称視点での銃の位置 +---@field public rot? BlueArchiveCharacter.Vector3RightLeftSet 一人称視点での銃の方向 + +---@class (exact) BlueArchiveCharacter.GunSoundSet 銃の音のデータセット +---@field public name Minecraft.soundID 銃の音として使用するゲームの音源名 +---@field public pitch number 音源の再生ピッチ(0.5~2) + +---@class (exact) BlueArchiveCharacter.GunCallbacksSet 銃のコールバック関数のセット +---@field public onMainHandChange? fun(self: BlueArchiveCharacter, direction: Gun.HandDirection) 利き手が変更されたときに呼び出される関数 + +---@class (exact) BlueArchiveCharacter.PlacementObjectBoundingBoxSet 設置物の当たり判定のデータセット +---@field public offsetPos? Vector3 設置物の底の中心点のオフセット位置(任意)。基準点は(0, 0, 0)。 +---@field public size? Vector3 当たり判定の大きさ。BlockBenchでのサイズの値をそのまま入力する。基準点はモデルの底面の中心。 + +---@class (exact) BlueArchiveCharacter.PlacementObjectCallbacksSet 設置物のコールバック関数のセット +---@field public onInit? fun(self: BlueArchiveCharacter, placementObject: PlacementObject) 設置物インスタンスが生成された直後に呼ばれる関数 +---@field public onDeinit? fun(self: BlueArchiveCharacter, placementObject: PlacementObject) 設置物インスタンスが破棄される直前に呼ばれる関数 +---@field public onTick? fun(self: BlueArchiveCharacter, placementObject: PlacementObject) 各ティック毎に呼ばれる関数 +---@field public onRender? fun(self: BlueArchiveCharacter, placementObject: PlacementObject) 各レンダーティック毎に呼ばれる関数 +---@field public onGround? fun(self: BlueArchiveCharacter, placementObject: PlacementObject) 設置物が接地した瞬間に呼ばれる関数 + +---@class (exact) BlueArchiveCharacter.ExSkillCameraSet Exスキルアニメーション中のカメラワークのセット +---@field public start BlueArchiveCharacter.ExSkillCameraPositionSet Exスキルアニメーション開始地点 +---@field public fin BlueArchiveCharacter.ExSkillCameraPositionSet Exスキルアニメーション終了地点 +---@field public fixMode? boolean カメラの補正モード。通常は無効だが、特定のキャラクターに対しては有効にしておく。 + +---@class (exact) BlueArchiveCharacter.ExSkillCameraPositionSet Exスキルアニメーション中のカメラワークの開始/終了地点の位置のデータセット +---@field public pos Vector3 カメラの位置 +---@field public rot Vector3 カメラの方向 + +---@class (exact) BlueArchiveCharacter.ExSkillCallbacks Exスキルのコールバック関数のセット +---@field public onPreTransition? fun(self: BlueArchiveCharacter) Exスキルアニメーション開始前のトランジション開始前に実行されるコールバック関数 +---@field public onPreAnimation? fun(self: BlueArchiveCharacter) Exスキルアニメーション開始前のトランジション終了後に実行されるコールバック関数 +---@field public onAnimationTick? fun(self: BlueArchiveCharacter, tick: integer) Exスキルアニメーション再生中のみ実行されるティック関数 +---@field public onPostAnimation? fun(self: BlueArchiveCharacter, forcedStop: boolean) Exスキルアニメーション終了後のトランジション開始前に実行されるコールバック関数 +---@field public onPostTransition? fun(self: BlueArchiveCharacter, forcedStop: boolean) Exスキルアニメーション終了後のトランジション終了後に実行されるコールバック関数 + +---@class BlueArchiveCharacter.CostumeDataSet コスチュームのデータセット +---@field public name string コスチュームの内部名 +---@field public displayName BlueArchiveCharacter.LocaleStringSet コスチュームの表示名 +---@field public exSkill integer コスチュームに対応するExスキルのインデックス番号 +---@field public subExSkill? integer コスチュームに対応するサブExスキルのインデックス番号 + +---@class (exact) BlueArchiveCharacter.CostumeCallbacks コスチュームのコールバック関数のセット +---@field public onChange? fun(self: BlueArchiveCharacter, costumeId: BlueArchiveCharacter.Costumes) 衣装が変更されたときに実行されるコールバック関数。デフォルトの衣装はここに含めない。 +---@field public onReset? fun(self: BlueArchiveCharacter) 衣装がリセットされたときに実行されるコールバック関数。あらゆる衣装からデフォルトの衣装へ推移できるようにする。 +---@field public onArmorChange? fun(self: BlueArchiveCharacter, parts: Armor.ArmorPart, isVisible: boolean) 防具が変更された(防具が見える/見えない)ときに実行されるコールバック関数 + +---@class (exact) BlueArchiveCharacter.BubbleCallbacks 吹き出しエモートのコールバック関数のセット +---@field public onPlay? fun(self: BlueArchiveCharacter, type: Bubble.BubbleType, duration: integer, showInGui: boolean) 吹き出しエモートが再生された時に実行されるコールバック関数 +---@field public onStop? fun(self: BlueArchiveCharacter, type: Bubble.BubbleType, forcedStop: boolean) 吹き出しアニメーション終了時に実行されるコールバック関数 + +---@class (exact) BlueArchiveCharacter.HeadBlockCallbacks 頭ブロックのコールバック関数のセット +---@field public onBeforeModelCopy? fun(self: BlueArchiveCharacter, isScriptLoaded: boolean) モデルのコピー直前に実行される関数 +---@field public onAfterModelCopy? fun(self: BlueArchiveCharacter, isScriptLoaded: boolean) モデルのコピー直後に実行される関数 + +---@class (exact) BlueArchiveCharacter.DeathAnimationCallbacks 死亡アニメーションのコールバック関数のセット +---@field public onPhase1? fun(self: BlueArchiveCharacter, dummyAvatar: ModelPart, costume: BlueArchiveCharacter.Costumes) 死亡アニメーションが再生された直後に実行される関数 +---@field public onPhase2? fun(self: BlueArchiveCharacter, dummyAvatar: ModelPart, costume: BlueArchiveCharacter.Costumes) ダミーアバターが縄ばしごにつかまった直後に実行される関数 +---@field public onBeforeModelCopy? fun(self: BlueArchiveCharacter, isScriptLoaded: boolean) モデルのコピー直前に実行される関数 +---@field public onAfterModelCopy? fun(self: BlueArchiveCharacter, isScriptLoaded: boolean) モデルのコピー直後に実行される関数 + +---@class (exact) BlueArchiveCharacter.PhysicDataSet 物理演算のデータセット +---@field public models ModelPart[] 物理演算の対象にするモデルパーツ +---@field public x? BlueArchiveCharacter.PhysicAxisData x軸のデータ +---@field public y? BlueArchiveCharacter.PhysicAxisData y軸のデータ +---@field public z? BlueArchiveCharacter.PhysicAxisData z軸のデータ + +---@class (exact) BlueArchiveCharacter.PhysicAxisData 物理演算の1軸のデータセット +---@field public vertical? BlueArchiveCharacter.PhysicCoreData 体が垂直方向である時(通常時)の物理演算データ +---@field public horizontal? BlueArchiveCharacter.PhysicCoreData 体が水平方向である時(水泳時、エリトラ飛行時)の物理演算データ + +---@class (exact) BlueArchiveCharacter.PhysicCoreData 物理演算のコアデータ +---@field public min number このモデルパーツ、回転軸の絶対的な回転の最小値(度) +---@field public neutral number このモデルパーツ、回転軸の中立の回転位置(度) +---@field public max number このモデルパーツ、回転軸の絶対的な回転の最大値(度) +---@field public sneakOffset? number スニーク時にこのモデルパーツの回転に加えられるオフセット値 +---@field public headRotMultiplayer? number 頭の縦方向の回転と共にこのモデルパーツの回転に加えられる値の倍率 +---@field public headX? BlueArchiveCharacter.PhysicFactorData 頭を基準とした、前後方向移動によるモデルパーツの回転データ +---@field public headZ? BlueArchiveCharacter.PhysicFactorData 頭を基準とした、左右方向移動によるモデルパーツの回転データ +---@field public headRot? BlueArchiveCharacter.PhysicFactorData 頭の回転によるによるモデルパーツの回転データ +---@field public bodyX? BlueArchiveCharacter.PhysicFactorData 体を基準とした、前後方向移動によるモデルパーツの回転データ +---@field public bodyY? BlueArchiveCharacter.PhysicFactorData 体を基準とした、上下方向移動によるモデルパーツの回転データ +---@field public bodyZ? BlueArchiveCharacter.PhysicFactorData 体を基準とした、左右方向移動によるモデルパーツの回転データ +---@field public bodyRot? BlueArchiveCharacter.PhysicFactorData 体の回転によるによるモデルパーツの回転データ + +---@class (exact) BlueArchiveCharacter.PhysicFactorData 物理演算を働かせる要因を定義するデータセット +---@field public multiplayer number この回転事象がモデルパーツに与える回転の倍率 +---@field public min number この回転事象がモデルパーツに与える回転の最小値 +---@field public max number この回転事象がモデルパーツに与える回転の最大値 + +---@class (exact) BlueArchiveCharacter.PhysicCallbacks 物理演算のコールバック関数のセット +---@field public onPhysicPerformed? fun(self: BlueArchiveCharacter, model: ModelPart) 物理演算処理後に実行されるコールバック関数(省略可)。ここでモデルパーツの向きを上書きできる。 + +---@class (exact) BlueArchiveCharacter.DataSyncCallbacks データ同期のコールバック関数のセット +---@field public onDataSynced? fun(self: BlueArchiveCharacter) データが同期されたときに実行させるコールバック関数。ホスト上では実行されない。 + +--[[ ******************************** ]] + +---@class (exact) BlueArchiveCharacter.LocaleStringSet ロケール文字列のセット +---@field public en_us string 英語(米国) +---@field public ja_jp string 日本語 + +---@class (exact) BlueArchiveCharacter.MonthDaySet 日月のデータセット +---@field public month integer 月 +---@field public day integer 日 + +---@class (exact) BlueArchiveCharacter.Vector3RightLeftSet 左右で別々にVector3が定義できるデータセット +---@field public right? Vector3 右 +---@field public left? Vector3 左 + +BlueArchiveCharacter = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return BlueArchiveCharacter + new = function (parent) + ---@type BlueArchiveCharacter + local instance = Avatar.instantiate(BlueArchiveCharacter, AvatarModule, parent) + + instance.basic = { + firstName = { + en_us = "Midori"; + ja_jp = "ミドリ"; + }; + + lastName = { + en_us = "Saiba"; + ja_jp = "才羽"; + }; + + clubName = { + en_us = "Game Development Club"; + ja_jp = "ゲーム開発部"; + }; + + birth = { + month = 12; + day = 8; + }; + } + + instance.faceParts = { + rightEye = { + NORMAL = vectors.vec2(0, 0); --必須 + SURPRISED = vectors.vec2(2, 0); --必須 + TIRED = vectors.vec2(4, 0); --必須 + CLOSED = vectors.vec2(3, 0); --必須 + ANXIOUS = vectors.vec2(5, 0); + CLOSED2 = vectors.vec2(7, 0); + ANGRY = vectors.vec2(9, 0); + ANGRY_INVERTED = vectors.vec2(9, 0); + INVERTED = vectors.vec2(12, 0); + }; + + leftEye = { + NORMAL = vectors.vec2(0, 0); --必須 + SURPRISED = vectors.vec2(1, 0); --必須 + TIRED = vectors.vec2(3, 0); --必須 + CLOSED = vectors.vec2(2, 0); --必須 + ANXIOUS = vectors.vec2(5, 0); + CLOSED2 = vectors.vec2(6, 0); + ANGRY = vectors.vec2(9, 0); + ANGRY_INVERTED = vectors.vec2(7, 0); + CENTER = vectors.vec2(10, 0); + }; + + mouth = { + CLOSED = vectors.vec2(3, 0); + CLOSED2 = vectors.vec2(4, 0); + FRUST = vectors.vec2(2, 0); + ANXIOUS = vectors.vec2(1, 0); + SMILE = vectors.vec2(0, 0); + SHOCK = vectors.vec2(0, 1); + TRIANGLE = vectors.vec2(2, 1); + SMILE_SMALL = vectors.vec2(3, 1); + OPENED_SMALL = vectors.vec2(4, 1); + }; + + emotionSet = { + onDamage = { + rightEye = "SURPRISED"; + leftEye = "SURPRISED"; + mouth = "SHOCK"; + }; + + onDied = { + rightEye = "SURPRISED"; + leftEye = "SURPRISED"; + mouth = "SHOCK"; + }; + }; + } + + instance.arms = { + + } + + instance.skirt = { + skirtModels = {models.models.main.Avatar.UpperBody.Body.Skirt, models.models.main.Avatar.UpperBody.Body.CMaidB.Skirt1}; + } + + instance.gun = { + scale = 1.5; + + gunPosition = { + hold = { + type = "NORMAL"; + + firstPersonPos = { + right = vectors.vec3(-0.5, 3, -8); + left = vectors.vec3(0.5, 3, -8); + }; + + thirdPersonPos = { + right = vectors.vec3(-2, 3, -6); + left = vectors.vec3(2, 3, -6); + }; + }; + + put = { + type = "HIDDEN"; + }; + }; + + sound = { + name = "minecraft:entity.firework_rocket.blast"; + pitch = 0.75; + }; + } + + instance.placementObjects = { + + } + + instance.exSkill = { + { + name = { + en_us = "Drawing Art"; + ja_jp = "ドローイングアート"; + }; + + formationType = "STRIKER"; + + models = {models.models.main.Avatar.Head.Sweat, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.GameConsole1, models.models.ex_skill_1.Momoi, models.models.ex_skill_1.Gui}; + + animations = {"main", "ex_skill_1", "gun"}; + + camera = { + start = { + rot = vectors.vec3(-10, 190, -25); + pos = vectors.vec3(-8, 10, -30); + }; + + fin = { + rot = vectors.vec3(20, 100, -30); + pos = vectors.vec3(29, 29, -8); + }; + }; + + callbacks = { + onPreAnimation = function (self) + if not self.exSkill[1].init then + models.models.ex_skill_1.Momoi.MomoiUpperBody.MomoiArms.MomoiLeftArm.MomoiLeftArmBottom.GameConsole2:addChild(models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.GameConsole1:copy("GameConsole2")) + if host:isHost() then + models.models.ex_skill_1.Gui.UI:newText("ex_skill_1_ko"):setText("§cK.O."):setScale(vectors.vec3(1, 1, 1):scale(1.5)):setAlignment("CENTER"):setOutline(true):setVisible(false) + models.models.ex_skill_1.Gui.TextAnchor:newText("ex_skill_1:text"):setText("§a§lMIDORI"):setScale(4, 4, 4):setAlignment("RIGHT"):setOutline(true):setOutlineColor(1, 1, 1) + models.models.ex_skill_1.Gui.UI.MidoriUI.Background:setColor(0.098, 0.2, 0.686) + for _, modelPart in ipairs({models.models.ex_skill_1.Gui.UI.MidoriUI.YellowBar, models.models.ex_skill_1.Gui.UI.MidoriUI.RedBar}) do + modelPart:setPrimaryRenderType("EMISSIVE_SOLID") + end + models.models.ex_skill_1.Gui.UI.MidoriUI:newText("ex_skill_1_midori_name"):setText("§a§lMIDORI"):setPos(48, 13, 0):setScale(1.5, 1.5, 1.5):setOutline(true):setOutlineColor(1, 1, 1):setAlignment("RIGHT") + models.models.ex_skill_1.Gui.UI.MidoriUI.PaperDoll:setScale(2.3, 2.3, 2.3) + models.models.ex_skill_1.Gui.UI.MidoriUI.PaperDoll:addChild(self.parent.modelUtils:copyModel(models.script_head_block.Head, "MidoriPaperDollHead")) + models.models.ex_skill_1.Gui.UI.MidoriUI.PaperDoll.MidoriPaperDollHead:setPos(models.models.ex_skill_1.Gui.UI.MidoriUI.PaperDoll:getTruePivot():add(0, -24, 0)) + models.models.ex_skill_1.Gui.UI.MidoriUI.PaperDoll.MidoriPaperDollHead.HeadRing:setPrimaryRenderType("CUTOUT_EMISSIVE_SOLID") + models.models.ex_skill_1.Gui.UI.MidoriUI.PaperDoll.MidoriPaperDollHead.FaceParts:addChild(models.models.main.Avatar.Head.FaceParts.Mouth:copy("Mouth")) + models.models.ex_skill_1.Gui.UI.MidoriUI.PaperDoll.MidoriPaperDollHead.FaceParts.Mouth:setUVPixels(64, 0) + models.models.ex_skill_1.Gui.UI.MidoriUI.PaperDoll.MidoriPaperDollHead.FaceParts.Mouth:setVisible(true) + models.models.ex_skill_1.Gui.UI.DeadEye:moveTo(models.models.ex_skill_1.Gui.UI.MidoriUI.PaperDoll.MidoriPaperDollHead.FaceParts) + for _, modelPart in ipairs(models.models.ex_skill_1.Gui.UI.MidoriUI.PaperDoll:getChildren()) do + modelPart:setVisible(false) + end + models.models.ex_skill_1.Gui.UI:addChild(self.parent.modelUtils:copyModel(models.models.ex_skill_1.Gui.UI.MidoriUI, "MomoiUI")) + for _, modelPart in ipairs(models.models.ex_skill_1.Gui.UI.MidoriUI.PaperDoll:getChildren()) do + modelPart:setVisible(true) + end + models.models.ex_skill_1.Gui.UI.MomoiUI.Frame:setRot(0, 180, 0) + models.models.ex_skill_1.Gui.UI.MomoiUI.Background:setPos(139.5, 0, 62) + models.models.ex_skill_1.Gui.UI.MomoiUI.Background:setColor(0.71, 0.082, 0.067) + models.models.ex_skill_1.Gui.UI.MomoiUI.YellowBar:setPos(-36, 0, 0) + models.models.ex_skill_1.Gui.UI.MomoiUI.YellowBar:setScale(0.6, 1, 1) + models.models.ex_skill_1.Gui.UI.MomoiUI.YellowBar:setPrimaryRenderType("EMISSIVE_SOLID") + models.models.ex_skill_1.Gui.UI.MomoiUI.RedBar:remove() + models.models.ex_skill_1.Gui.UI.MomoiPaperDollBody:moveTo(models.models.ex_skill_1.Gui.UI.MomoiUI.PaperDoll) + models.models.ex_skill_1.Gui.UI.MomoiUI.PaperDoll:setPos(0, 0, 0) + models.models.ex_skill_1.Gui.UI.MomoiUI.PaperDoll:setRot(0, 15, 0) + models.models.ex_skill_1.Gui.UI.MomoiUI.PaperDoll:setOffsetPivot(139, -0.25, 0) + models.models.ex_skill_1.Gui.UI.MomoiUI.PaperDoll:addChild(self.parent.modelUtils:copyModel(models.models.ex_skill_1.Momoi.MomoiHead, "MomoiPaperDollHead")) + models.models.ex_skill_1.Gui.UI.MomoiUI.PaperDoll.MomoiPaperDollHead:setPos(models.models.ex_skill_1.Gui.UI.MomoiUI.PaperDoll:getTruePivot():add(0, -24, 0)) + models.models.ex_skill_1.Gui.UI.MomoiUI.PaperDoll.MomoiPaperDollHead.MomoiHeadRing:setPrimaryRenderType("CUTOUT_EMISSIVE_SOLID") + models.models.ex_skill_1.Gui.UI.MomoiUI.PaperDoll.MomoiPaperDollHead.MomoiFaceParts.Mouth:setUVPixels(64, 0) + models.models.ex_skill_1.Gui.UI.MomoiUI:newText("ex_skill_1_momoi_name"):setText("§d§lMOMOI"):setPos(130, 13, 0):setScale(1.5, 1.5, 1.5):setOutline(true):setOutlineColor(1, 1, 1) + end + self.exSkill[1].init = true + end + if host:isHost() then + models.models.ex_skill_1.Gui.UI.MidoriUI:setPos(client:getScaledWindowSize().x * -1 + 220, 0, 0) + end + end; + + onAnimationTick = function (self, tick) + if tick == 0 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bit"), player:getPos(), 1, 1.5) + elseif tick == 1 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bit"), player:getPos(), 1, 1.75) + elseif tick == 2 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bit"), player:getPos(), 1, 2) + elseif tick == 12 then + for _, modelPart in ipairs({models.models.ex_skill_1.Momoi.MomoiHead.MomoiFaceParts.Eyes.EyeLeft, models.models.ex_skill_1.Momoi.MomoiHead.MomoiFaceParts.Eyes.EyeRight}) do + modelPart:setUVPixels(12, 0) + end + models.models.ex_skill_1.Momoi.MomoiHead.MomoiFaceParts.Mouth:setUVPixels(16, 0) + elseif tick == 15 then + self.parent.faceParts:setEmotion("ANXIOUS", "ANXIOUS", "CLOSED", 22, true) + elseif tick == 22 then + self.parent.textObjectManager:spawn("2") + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.generic.hurt"), player:getPos(), 0.25, 1) + if host:isHost() then + models.models.ex_skill_1.Gui.UI.MidoriUI.PaperDoll:setColor(1, 0.75, 0.75) + models.models.ex_skill_1.Gui.UI.MidoriUI.PaperDoll.MidoriPaperDollHead.FaceParts.Eyes.EyeRight:setUVPixels(6, 0) + models.models.ex_skill_1.Gui.UI.MidoriUI.PaperDoll.MidoriPaperDollHead.FaceParts.Eyes.EyeLeft:setUVPixels(12, 0) + models.models.ex_skill_1.Gui.UI.MidoriUI.PaperDoll.MidoriPaperDollHead.FaceParts.Mouth:setUVPixels(0, 8) + end + elseif tick == 24 then + self.parent.textObjectManager:spawn("1") + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.generic.hurt"), player:getPos(), 0.25, 1) + elseif tick == 26 then + self.parent.textObjectManager:spawn("2") + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.generic.hurt"), player:getPos(), 0.25, 1) + elseif tick == 28 then + self.parent.textObjectManager:spawn("1") + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.generic.hurt"), player:getPos(), 0.25, 1) + elseif tick == 30 then + self.parent.textObjectManager:spawn("2") + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.generic.hurt"), player:getPos(), 0.25, 1) + elseif tick == 32 then + self.parent.textObjectManager:spawn("1") + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.generic.hurt"), player:getPos(), 0.25, 1) + elseif tick == 34 then + self.parent.textObjectManager:spawn("2") + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.generic.hurt"), player:getPos(), 0.25, 1) + elseif tick == 36 then + for _, modelPart in ipairs({models.models.ex_skill_1.Momoi.MomoiHead.MomoiFaceParts.Eyes.EyeLeft, models.models.ex_skill_1.Momoi.MomoiHead.MomoiFaceParts.Eyes.EyeRight}) do + modelPart:setUVPixels() + end + models.models.ex_skill_1.Momoi.MomoiHead.MomoiFaceParts.Mouth:setUVPixels(32, 0) + self.parent.faceParts:setEmotion("CLOSED2", "CLOSED2", "CLOSED", 11, true) + self.parent.textObjectManager:spawn("1") + local playerPos = player:getPos() + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.levelup"), playerPos, 1, 1.5) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.generic.hurt"), player:getPos(), 0.25, 1) + if host:isHost() then + models.models.ex_skill_1.Gui.UI.MidoriUI.PaperDoll.MidoriPaperDollHead.FaceParts.DeadEye:setVisible(true) + models.models.ex_skill_1.Gui.UI.MidoriUI.PaperDoll.MidoriPaperDollHead.FaceParts.Eyes:setVisible(false) + models.models.ex_skill_1.Gui.UI.MidoriUI.PaperDoll.MidoriPaperDollHead.FaceParts.Mouth:setUVPixels(16, 8) + local task = models.models.ex_skill_1.Gui.UI:getTask("ex_skill_1_ko") + task:setPos(client:getScaledWindowSize().x / 2 * -1, -12, -30) + task:setVisible(true) + events.RENDER:register(function (delta) + local count = self.parent.exSkill.animationCount - 37 + delta + task:setScale(vectors.vec3(1, 1, 1):scale(count <= 1.5 and (-1.667 * count + 5) or (count + 1))) + end, "ex_skill_1_ko_render") + end + elseif tick == 37 then + models.models.ex_skill_1.Momoi.MomoiUpperBody.MomoiArms.MomoiLeftArm.MomoiLeftArmBottom.GameConsole2:setVisible(false) + elseif tick == 38 and host:isHost() then + events.RENDER:remove("ex_skill_1_ko_render") + models.models.ex_skill_1.Gui.UI:getTask("ex_skill_1_ko"):setScale(3, 3, 3) + elseif tick == 47 then + self.parent.faceParts:setEmotion("ANGRY_INVERTED", "TIRED", "FRUST", 17, true) + elseif tick == 49 then + for _, modelPart in ipairs({models.models.ex_skill_1.Momoi.MomoiHead.MomoiFaceParts.Eyes.EyeLeft, models.models.ex_skill_1.Momoi.MomoiHead.MomoiFaceParts.Eyes.EyeRight}) do + modelPart:setUVPixels(24, 0) + end + models.models.ex_skill_1.Momoi.MomoiHead.MomoiFaceParts.Mouth:setUVPixels(48, 0) + elseif tick == 64 then + models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.GameConsole1:setVisible(false) + self.parent.modelUtils.moveTo(models.models.main.Avatar.UpperBody.Body.Gun, models.models.main.Avatar.UpperBody.Arms.RightArm, models.models.main.Avatar.UpperBody.Body) + models.models.main.Avatar.UpperBody.Arms.RightArm.Gun:setPos() + models.models.main.Avatar.UpperBody.Arms.RightArm.Gun:setRot() + models.models.main.Avatar.UpperBody.Arms.RightArm.Gun:setVisible(true) + self.parent.faceParts:setEmotion("ANXIOUS", "ANXIOUS", "ANXIOUS", 8, true) + if host:isHost() then + models.models.ex_skill_1.Gui.UI:setVisible(false) + end + elseif tick == 72 then + self.parent.faceParts:setEmotion("CLOSED2", "CLOSED2", "ANXIOUS", 8, true) + elseif tick == 75 then + if host:isHost() then + models.models.ex_skill_1.Gui.TextAnchor:setVisible(true) + events.RENDER:register(function () + local windowSize = client:getScaledWindowSize() + models.models.ex_skill_1.Gui.TextAnchor:setPos(models.models.ex_skill_1.Gui.TextAnchor:getAnimPos():scale(windowSize.y / 2 / 100):add(0, windowSize.y * -1 + 30, 0)) + end, "ex_skill_1_text_render") + end + elseif tick == 80 then + self.parent.faceParts:setEmotion("ANGRY_INVERTED", "ANGRY", "CLOSED2", 25, true) + elseif tick == 81 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.generic.explode"), player:getPos(), 0.25, 0.5) + end + if tick <= 36 and math.random() >= 0.75 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bit"), player:getPos(), 0.1, 2) + end + if tick <= 36 and tick % 3 == 0 and host:isHost() then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.attack.nodamage"), player:getPos(), 0.25, 1) + end + end; + + onPostAnimation = function (self) + models.models.ex_skill_1.Momoi.MomoiUpperBody.MomoiArms.MomoiLeftArm.MomoiLeftArmBottom.GameConsole2:setVisible(true) + for _, modelPart in ipairs({models.models.ex_skill_1.Momoi.MomoiHead.MomoiFaceParts.Eyes.EyeLeft, models.models.ex_skill_1.Momoi.MomoiHead.MomoiFaceParts.Eyes.EyeRight, models.models.ex_skill_1.Momoi.MomoiHead.MomoiFaceParts.Mouth}) do + modelPart:setUVPixels() + end + if models.models.main.Avatar.UpperBody.Arms.RightArm.Gun ~= nil then + models.models.main.Avatar.UpperBody.Arms.RightArm.Gun:setVisible(false) + self.parent.modelUtils.moveTo(models.models.main.Avatar.UpperBody.Arms.RightArm.Gun, models.models.main.Avatar.UpperBody.Body, models.models.main.Avatar.UpperBody.Arms.RightArm) + end + if host:isHost() then + for _, modelPart in ipairs({models.models.ex_skill_1.Gui.UI, models.models.ex_skill_1.Gui.UI.MidoriUI.PaperDoll.MidoriPaperDollHead.FaceParts.Eyes}) do + modelPart:setVisible(true) + end + for _, modelPart in ipairs({models.models.ex_skill_1.Gui.UI.MidoriUI.PaperDoll.MidoriPaperDollHead.FaceParts.DeadEye, models.models.ex_skill_1.Gui.TextAnchor}) do + modelPart:setVisible(false) + end + models.models.ex_skill_1.Gui.UI.MidoriUI.PaperDoll:setColor() + models.models.ex_skill_1.Gui.UI:getTask("ex_skill_1_ko"):setVisible(false) + for _, modelPart in ipairs({models.models.ex_skill_1.Gui.UI.MidoriUI.PaperDoll.MidoriPaperDollHead.FaceParts.Eyes.EyeRight, models.models.ex_skill_1.Gui.UI.MidoriUI.PaperDoll.MidoriPaperDollHead.FaceParts.Eyes.EyeLeft}) do + modelPart:setUVPixels() + end + models.models.ex_skill_1.Gui.UI.MidoriUI.PaperDoll.MidoriPaperDollHead.FaceParts.Mouth:setUVPixels(64, 0) + for _, eventName in ipairs ({"ex_skill_1_text_render", "ex_skill_1_ko_render"}) do + events.RENDER:remove(eventName) + end + end + end; + }; + + ---このExスキルの初期化処理が行われたかどうか + ---@type boolean + init = false; + }; + + { + name = { + en_us = "Virtual・Maid・Shot!"; + ja_jp = "バーチャル・メイドショット"; + }; + + formationType = "STRIKER"; + + models = {models.models.ex_skill_2}; + + animations = {"main", "ex_skill_2", "costume_maid", "gun"}; + + camera = { + start = { + rot = vectors.vec3(0, 135, 0); + pos = vectors.vec3(-14, 22, -13); + }; + fin = { + rot = vectors.vec3(40, 190, 0); + pos = vectors.vec3(-18, 36, -9); + }; + }; + + callbacks = { + onPreAnimation = function (self) + if not self.exSkill[2].init then + for _, modelPart in ipairs({models.models.ex_skill_2.Pillagers.Pillager1.Pillager1Head.PillagerHead, models.models.ex_skill_2.Pillagers.Pillager1.Pillager1Head.Pillager1Nose, models.models.ex_skill_2.Pillagers.Pillager1.Pillager1Body, models.models.ex_skill_2.Pillagers.Pillager1.Pillager1RightArm, models.models.ex_skill_2.Pillagers.Pillager1.Pillager1LeftArm, models.models.ex_skill_2.Pillagers.Pillager1.Pillager1RightLeg, models.models.ex_skill_2.Pillagers.Pillager1.Pillager1LeftLeg}) do + modelPart:setPrimaryTexture("RESOURCE", "minecraft:textures/entity/illager/pillager.png") + end + for _, part in ipairs({"Head", "Body", "RightArm", "LeftArm", "RightLeg", "LeftLeg"}) do + for i = 2, 3 do + models.models.ex_skill_2.Pillagers["Pillager"..i]["Pillager"..i..part]:addChild(self.parent.modelUtils:copyModel(models.models.ex_skill_2.Pillagers.Pillager1["Pillager1"..part])) + end + end + for y = 0, 1 do + for x = 0, 1 do + models.models.ex_skill_2.Covers.CoverLeft:newBlock("ex_skill_2_block_"..y * 2 + x):setBlock(self.parent.compatibilityUtils:checkBlock("minecraft:barrel", "[facing=up]")):setPos(x * 16, y * 16, 0) + end + end + models.models.ex_skill_2.Covers.CoverRight:newBlock("ex_skill_2_block_4"):setBlock(self.parent.compatibilityUtils:checkBlock("minecraft:chest")):setPos(8, 0, 24):setRot(0, 180, 0) + models.models.ex_skill_2.Covers.CoverRight:newBlock("ex_skill_2_block_5"):setBlock(self.parent.compatibilityUtils:checkBlock("minecraft:potted_azure_bluet")):setPos(-8, 14, 8) + for y = 0, 1 do + models.models.ex_skill_2.Covers.CoverRight:newBlock("ex_skill_2_block_"..y + 6):setBlock(self.parent.compatibilityUtils:checkBlock("minecraft:chiseled_bookshelf", "[facing=north,slot_0_occupied=true,slot_1_occupied=true,slot_2_occupied=true,slot_3_occupied=true,slot_4_occupied=true,slot_5_occupied=true]")):setPos(-24, y * 16, 8) + end + for y = 0, 1 do + for x = 0, 1 do + models.models.ex_skill_2.Covers.CoverBack1:newBlock("ex_skill_2_block_"..y * 2 + x + 8):setBlock(self.parent.compatibilityUtils:checkBlock("minecraft:barrel", "[facing=up]")):setPos(x * 16, y * 16, 0) + end + end + for y = 0, 1 do + models.models.ex_skill_2.Covers.CoverBack3:newBlock("ex_skill_2_block_"..y + 12):setBlock(self.parent.compatibilityUtils:checkBlock("minecraft:red_wool")):setPos(-8, y * 16, 0) + end + for y = 0, 1 do + for x = 0, 1 do + models.models.ex_skill_2.Covers.CoverBack2:newBlock("ex_skill_2_block_"..y * 2 + x + 14):setBlock(self.parent.compatibilityUtils:checkBlock("minecraft:barrel", "[facing=up]")):setPos(x * 16 - 32, y * 16, 0) + end + end + for i = 1, 3 do + models.models.ex_skill_2.Pillagers["Pillager"..i]["Pillager"..i.."RightArm"]:newItem("ex_skill_2_pillager_"..i.."_crossbow"):setItem(self.parent.compatibilityUtils:checkItem("minecraft:crossbow")):setPos(0, -12, -2):setRot(0, 0, -120) + end + models.models.main.Avatar.UpperBody.Body.GlowEffects:setColor(1, 0.984, 0.4) + if host:isHost() then + models.models.ex_skill_2.Gui.UI.MomoiUI:addChild(models.models.ex_skill_2.Gui.UI.MomoiUI.UI1:copy("UI1Shadow")) + models.models.ex_skill_2.Gui.UI.MomoiUI.UI1Shadow:setPos(-1, -1, 1) + models.models.ex_skill_2.Gui.UI.MomoiUI.UI1Shadow:setColor(0, 0, 0) + models.models.ex_skill_2.Gui.UI.MomoiUI:addChild(models.models.ex_skill_2.Momoi.MomoiUpperBody.MomoiArms.MomoiRightArm.MomoiRightArmBottom.Gun:copy("GunIcon")) + models.models.ex_skill_2.Gui.UI.MomoiUI.GunIcon:setPos(-36, 15, 0) + models.models.ex_skill_2.Gui.UI.MomoiUI.GunIcon:setRot(0, 90, 0) + models.models.ex_skill_2.Gui.UI.MomoiUI.GunIcon:setScale(1.67, 1.67, 1.67) + models.models.ex_skill_2.Gui.UI.MomoiUI.GunIcon:setPrimaryRenderType("CUTOUT") + for i = 2, 3 do + local icon = models.models.ex_skill_2.Gui.UI.MomoiUI.LifeIcon1:copy("LifeIcon"..i) + models.models.ex_skill_2.Gui.UI.MomoiUI:addChild(icon) + icon:setPos((i - 1) * -15, 0, 0) + end + for _, modelPart in ipairs(models.models.ex_skill_2.Gui.UI.MomoiUI.Bullets.RearBullets:getChildren()) do + modelPart:setColor(0.5, 0.5, 0.5) + end + for _, modelPart in ipairs({models.models.ex_skill_2.Gui.UI.MomoiUI.GunIcon, models.models.ex_skill_2.Gui.UI.MomoiUI.Bullets}) do + modelPart:setVisible(false) + end + models.models.ex_skill_2.Gui.UI.MomoiUI:setVisible(true) + models.models.ex_skill_2.Gui.UI:addChild(self.parent.modelUtils:copyModel(models.models.ex_skill_2.Gui.UI.MomoiUI, "MidoriUI")) + for _, modelPart in ipairs({models.models.ex_skill_2.Gui.UI.MomoiUI.GunIcon, models.models.ex_skill_2.Gui.UI.MomoiUI.Bullets}) do + modelPart:setVisible(true) + end + for _, modelPart in ipairs({models.models.ex_skill_2.Gui.UI.MidoriUI.UI1, models.models.ex_skill_2.Gui.UI.MidoriUI.UI1Shadow, models.models.ex_skill_2.Gui.UI.MidoriUI.UI2}) do + modelPart:setRot(0, 180, 0) + end + models.models.ex_skill_2.Gui.UI.MidoriBullets:moveTo(models.models.ex_skill_2.Gui.UI.MidoriUI) + for _, modelPart in ipairs(models.models.ex_skill_2.Gui.UI.MidoriUI.MidoriBullets.MidoriRearBullets:getChildren()) do + modelPart:setColor(0.5, 0.5, 0.5) + end + models.models.ex_skill_2.Gui.UI.MidoriUI:addChild(models.models.main.Avatar.UpperBody.Body.Gun:copy("GunIcon")) + models.models.ex_skill_2.Gui.UI.MidoriUI.GunIcon:setPos(52, 15, 0) + models.models.ex_skill_2.Gui.UI.MidoriUI.GunIcon:setRot(0, 90, 0) + models.models.ex_skill_2.Gui.UI.MidoriUI.GunIcon:setScale(2.5, 2.5, 2.5) + models.models.ex_skill_2.Gui.UI.MidoriUI.GunIcon:setVisible(true) + for i = 1, 3 do + models.models.ex_skill_2.Gui.UI.MidoriUI["LifeIcon"..i]:setPos(22 - (i - 1) * 15, 0, 0) + end + models.models.ex_skill_2.Gui.UI.MomoiHeadUI:addChild(models.models.ex_skill_2.Gui.UI.MomoiHeadUI.Frame:copy("FrameShadow")) + models.models.ex_skill_2.Gui.UI.MomoiHeadUI.FrameShadow:setPos(-1, -1, 1) + models.models.ex_skill_2.Gui.UI.MomoiHeadUI.FrameShadow:setColor(0, 0, 0) + models.models.ex_skill_2.Gui.UI.MomoiHeadUI.Background:setColor(1, 0.643, 0.71) + models.models.ex_skill_2.Momoi.MomoiHead.EffectPanel:setVisible(false) + models.models.ex_skill_2.Gui.UI.MomoiHeadUI.MomoiPaperDoll:addChild(self.parent.modelUtils:copyModel(models.models.ex_skill_2.Momoi.MomoiHead, "MomoiPaperDollHead")) + models.models.ex_skill_2.Momoi.MomoiHead.EffectPanel:setVisible(true) + models.models.ex_skill_2.Gui.UI.MomoiHeadUI.MomoiPaperDoll:setScale(4.1, 4.1, 4.1) + models.models.ex_skill_2.Gui.UI.MomoiHeadUI.MomoiPaperDoll:setPrimaryRenderType("CUTOUT") + models.models.ex_skill_2.Gui.UI.MomoiHeadUI.MomoiPaperDoll.MomoiPaperDollHead:setPos(models.models.ex_skill_2.Gui.UI.MomoiHeadUI.MomoiPaperDoll:getTruePivot():add(-64, -24, 0)) + models.models.ex_skill_2.Gui.UI.MomoiHeadUI.MomoiPaperDoll.MomoiPaperDollHead.MomoiHeadRing:setPrimaryRenderType("CUTOUT_EMISSIVE_SOLID") + models.models.ex_skill_2.Gui.UI.MomoiHeadUI.MomoiPaperDoll.MomoiPaperDollHead.MomoiFaceParts:addChild(models.models.main.Avatar.Head.FaceParts.Mouth:copy("Mouth")) + models.models.ex_skill_2.Gui.UI.MomoiHeadUI.MomoiPaperDoll.MomoiPaperDollHead.MomoiFaceParts.Mouth:setUVPixels(16, 0) + models.models.ex_skill_2.Gui.UI.MomoiHeadUI.MomoiPaperDoll.MomoiPaperDollHead.MomoiFaceParts.Mouth:setVisible(true) + models.models.ex_skill_2.Gui.UI.MomoiHeadUI:newText("ex_skill_2_gameover_text"):setText("§c§lGAME\nOVER"):setPos(32, -5, 0):setWidth(64):setAlignment("CENTER"):setScale(2, 2, 2):setShadow(true):setVisible(false) + models.models.ex_skill_2.Gui.UI.MomoiHeadUI.MomoiPaperDoll:setVisible(false) + models.models.ex_skill_2.Gui.UI.MomoiHeadUI:setVisible(true) + models.models.ex_skill_2.Gui.UI:addChild(self.parent.modelUtils:copyModel(models.models.ex_skill_2.Gui.UI.MomoiHeadUI, "MidoriHeadUI")) + models.models.ex_skill_2.Gui.UI.MomoiHeadUI.MomoiPaperDoll:setVisible(true) + models.models.ex_skill_2.Gui.UI.MidoriHeadUI.Background:setColor(0.573, 0.98, 0.604) + ---@diagnostic disable-next-line: discard-returns + models.models.ex_skill_2.Gui.UI.MidoriHeadUI:newPart("MidoriPaperDoll", "None") + models.models.ex_skill_2.Gui.UI.MidoriHeadUI.MidoriPaperDoll:setScale(4.1, 4.1, 4.1) + models.models.ex_skill_2.Gui.UI.MidoriHeadUI.MidoriPaperDoll:setOffsetPivot(33.25, 12.5, 16) + models.models.ex_skill_2.Gui.UI.MidoriHeadUI.MidoriPaperDoll:setRot(0, -15, 0) + models.models.ex_skill_2.Gui.UI.MidoriHeadUI.MidoriPaperDoll:setPrimaryRenderType("CUTOUT") + models.models.ex_skill_2.Gui.UI.MidoriHeadUI.MidoriPaperDoll:addChild(self.parent.modelUtils:copyModel(models.script_head_block.Head, "MidoriPaperDollHead")) + models.models.ex_skill_2.Gui.UI.MidoriHeadUI.MidoriPaperDoll.MidoriPaperDollHead.FaceParts:addChild(models.models.main.Avatar.Head.FaceParts.Mouth:copy("Mouth")) + models.models.ex_skill_2.Gui.UI.MidoriHeadUI.MidoriPaperDoll.MidoriPaperDollHead.FaceParts.Mouth:setUVPixels(0, 0) + models.models.ex_skill_2.Gui.UI.MidoriHeadUI.MidoriPaperDoll.MidoriPaperDollHead.FaceParts.Mouth:setVisible(true) + models.models.ex_skill_2.Gui.UI.MidoriHeadUI.MidoriPaperDoll.MidoriPaperDollHead:setPos(models.models.ex_skill_2.Gui.UI.MidoriHeadUI.MidoriPaperDoll:getTruePivot():add(0, -24, 0)) + models.models.ex_skill_2.Gui.UI.MidoriHeadUI.MidoriPaperDoll.MidoriPaperDollHead.HeadRing:setPrimaryRenderType("CUTOUT_EMISSIVE_SOLID") + models.models.ex_skill_2.Gui.UI.MidoriHeadUI.MidoriPaperDoll:addChild(self.parent.modelUtils:copyModel(models.models.ex_skill_2.Gui.UI.MomoiHeadUI.MomoiPaperDoll.MomoiPaperDollBody, "MidoriPaperDollBody")) + for _, modelPart in ipairs({models.models.ex_skill_2.Gui.UI.ClearEffect.Background, models.models.ex_skill_2.Gui.UI.ClearEffect.ClearBar}) do + modelPart:setVisible(false) + end + models.models.ex_skill_2.Gui.UI.ClearEffect:newText("ex_skill_2_clear_effect_text_1"):setText("§e§lCLEAR"):setPos(0, 17.5, 0):setScale(5, 5, 5):setAlignment("CENTER"):setOutline(true):setOutlineColor(0.25, 0.25, 0.08):setVisible(false) + models.models.ex_skill_2.Gui.UI.ClearEffect:newText("ex_skill_2_clear_effect_text_2"):setText("§e§lCLEAR"):setPos(0, 17.5, 0):setScale(5, 5, 5):setAlignment("CENTER"):setVisible(false) + models.models.ex_skill_2.Gui.MVP.LowerMVP:newText("ex_skill_2_mvp_text"):setText("§e§lMVP"):setPos(0, 17.5, -1):setScale(5, 5, 5):setAlignment("CENTER"):setOutline(true):setOutlineColor(0.25, 0.25, 0.08) + end + self.exSkill[2].init = true + end + + if host:isHost() then + models.models.ex_skill_2.Gui:setVisible(true) + local windowsSize = client:getScaledWindowSize() + models.models.ex_skill_2.Gui.UI.MomoiUI:setPos(-90, (windowsSize.y - 20) * -1, 0) + models.models.ex_skill_2.Gui.UI.MidoriUI:setPos(windowsSize.x * -1 + 10, (windowsSize.y - 20) * -1, 0) + models.models.ex_skill_2.Gui.UI.MidoriHeadUI:setPos(windowsSize.x * -1 + 88, 0, 0) + models.models.ex_skill_2.Gui.UI.MidoriHeadUI:setOffsetPivot(windowsSize.x * -1 + 88, 0, 0) + models.models.ex_skill_2.Gui.UI.DamageEffect:setPos(windowsSize.x * -0.5, 0, 0) + models.models.ex_skill_2.Gui.UI.DamageEffect.CrackEffect:setPrimaryTexture("RESOURCE", "minecraft:textures/block/destroy_stage_9.png") + models.models.ex_skill_2.Gui.UI.DamageEffect.RedEffect:setScale(windowsSize.x / 12, windowsSize.y, 1) + models.models.ex_skill_2.Gui.UI.DamageEffect.CrackEffect:setScale(vectors.vec3(1, 1, 1):scale(windowsSize.y / 16)) + events.RENDER:register(function () + local windowHalfX = windowsSize.x / 2 + models.models.ex_skill_2.Gui.UI.DamageEffect.RedEffect:setPos(models.models.ex_skill_2.Gui.UI.DamageEffect.RedEffectAnchor:getAnimPos().x * windowHalfX + windowHalfX, 0, 0) + models.models.ex_skill_2.Gui.UI.DamageEffect.CrackEffect:setOpacity(models.models.ex_skill_2.Gui.UI.DamageEffect.CrackEffectAnchor:getAnimPos().x * -1) + end, "ex_skill_2_damage_effect_render") + models.models.ex_skill_2.Gui.UI.ClearEffect:setPos(windowsSize.x / -2, windowsSize.y / -2, 0) + models.models.ex_skill_2.Gui.UI.ClearEffect.Background:setScale(windowsSize.x, windowsSize.y, 1) + models.models.ex_skill_2.Gui.UI:setVisible(true) + end + + self.parent.gun:setGunPosition("NONE") + self.parent.modelUtils.moveTo(models.models.main.Avatar.UpperBody.Body.Gun, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom, models.models.main.Avatar.UpperBody.Body) + models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.Gun:setPos() + models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.Gun:setRot() + models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.Gun:setVisible(true) + models.models.ex_skill_2.Momoi.MomoiHead.MomoiFaceParts.Eyes.EyeLeft:setUVPixels(24, 0) + models.models.ex_skill_2.Momoi.MomoiHead.MomoiFaceParts.Eyes.EyeRight:setUVPixels(12, 0) + for i = 1, 3 do + models.models.ex_skill_2.Pillagers["Pillager"..i]["Pillager"..i.."CoinAnchor"]:newItem("ex_skill_2_coin_"..i.."_item"):setItem(self.parent.compatibilityUtils:checkItem("minecraft:emerald")):setVisible(false) + self.exSkill[2].shouldReplaceEmerald[i] = math.random() >= 0.9 + if self.exSkill[2].shouldReplaceEmerald[i] then + models.models.ex_skill_2.Pillagers["Pillager"..i]["Pillager"..i.."CoinAnchor"]["Pillager"..i.."Coin"]:setVisible(false) + models.models.ex_skill_2.Pillagers["Pillager"..i]["Pillager"..i.."CoinAnchor"]:getTask("ex_skill_2_coin_"..i.."_item"):setVisible(true) + end + end + self.parent.faceParts:setEmotion("NORMAL", "CENTER", "CLOSED", 16, true) + end; + + onAnimationTick = function (self, tick) + if tick == 13 then + models.models.ex_skill_2.Momoi.MomoiHead.MomoiFaceParts.Eyes.EyeLeft:setUVPixels(12, 0) + models.models.ex_skill_2.Momoi.MomoiHead.MomoiFaceParts.Eyes.EyeRight:setUVPixels(24, 0) + elseif tick == 16 then + self.parent.faceParts:setEmotion("INVERTED", "NORMAL", "CLOSED", 14, true) + elseif tick == 22 then + models.models.ex_skill_2.Momoi.MomoiHead.MomoiFaceParts.Eyes.EyeLeft:setUVPixels(12, 0) + models.models.ex_skill_2.Momoi.MomoiHead.MomoiFaceParts.Eyes.EyeRight:setUVPixels(12, 0) + elseif tick == 27 and host:isHost() then + local windowSize = client:getScaledWindowSize() + local centerX = windowSize.x / 2 * -1 + local centerY = windowSize.y / 2 * -1 + for _, modelPart in ipairs({models.models.ex_skill_2.Gui.Reticules.MomoiReticuleAnchor, models.models.ex_skill_2.Gui.Reticules.MidoriReticuleAnchor}) do + modelPart:setPos(centerX, centerY, 0) + end + models.models.ex_skill_2.Gui.Reticules:setVisible(true) + events.RENDER:register(function () + models.models.ex_skill_2.Gui.Reticules.MomoiReticule:setPos(vectors.vec3(centerX, centerY, 0):add(models.models.ex_skill_2.Gui.Reticules.MomoiReticuleAnchor:getAnimPos():scale(windowSize.y / 270))) + models.models.ex_skill_2.Gui.Reticules.MidoriReticule:setPos(vectors.vec3(centerX, centerY, 0):add(models.models.ex_skill_2.Gui.Reticules.MidoriReticuleAnchor:getAnimPos():scale(windowSize.y / 270))) + end, "ex_skill_2_reticule_render") + elseif tick == 30 then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "CLOSED", 95, true) + elseif tick == 37 then + self.exSkill[2].spawnBulletParticle(self, models.models.ex_skill_2.Covers.CoverBack1.ExSkill2ParticleAnchor1, 0, 90, "MOMOI") + self.exSkill[2].playShotSound(self) + if host:isHost() then + models.models.ex_skill_2.Gui.UI.MomoiUI.Bullets.RearBullets.Bullet24:setColor() + end + elseif tick == 39 then + self.exSkill[2].spawnBulletParticle(self, models.models.ex_skill_2.Covers.CoverBack1.ExSkill2ParticleAnchor9, 0, 90, "MOMOI") + self.exSkill[2].playShotSound(self) + elseif tick == 41 then + self.exSkill[2].spawnBulletParticle(self, models.models.ex_skill_2.Covers.CoverBack1.ExSkill2ParticleAnchor2, 0, 90, "MOMOI") + self.exSkill[2].playShotSound(self) + if host:isHost() then + models.models.ex_skill_2.Gui.UI.MomoiUI.Bullets.RearBullets.Bullet23:setColor() + end + elseif tick == 48 then + models.models.ex_skill_2.Momoi.MomoiHead.MomoiFaceParts.Eyes.EyeLeft:setUVPixels(36, 0) + models.models.ex_skill_2.Momoi.MomoiHead.MomoiFaceParts.Eyes.EyeRight:setUVPixels(30, 0) + models.models.ex_skill_2.Momoi.MomoiHead.MomoiFaceParts.Mouth:setUVPixels(32, 0) + models.models.ex_skill_2.Momoi:setColor(1, 0.75, 0.75) + if host:isHost() then + models.models.ex_skill_2.Gui.UI.MomoiHeadUI.MomoiPaperDoll.MomoiPaperDollHead.MomoiFaceParts.Eyes.EyeLeft:setUVPixels(36, 0) + models.models.ex_skill_2.Gui.UI.MomoiHeadUI.MomoiPaperDoll.MomoiPaperDollHead.MomoiFaceParts.Eyes.EyeRight:setUVPixels(30, 0) + models.models.ex_skill_2.Gui.UI.MomoiHeadUI.MomoiPaperDoll.MomoiPaperDollHead.MomoiFaceParts.Mouth:setUVPixels(32, 0) + models.models.ex_skill_2.Gui.UI.MomoiHeadUI:setColor(1, 0.75, 0.75) + models.models.ex_skill_2.Gui.UI.MomoiUI.LifeIcon1:setVisible(false) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.hurt"), self.parent.modelUtils.getModelWorldPos(models.models.main.CameraAnchor), 1, 0.5) + else + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.hurt"), self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_2.Momoi), 1, 1) + end + elseif tick == 49 then + self.exSkill[2].spawnBulletParticle(self, models.models.ex_skill_2.Pillagers.Pillager1.Pillager1Head.ExSkill2ParticleAnchor5, 0, 0, "MIDORI") + self.exSkill[2].playShotSound(self) --ミドリの射撃音 + if host:isHost() then + models.models.ex_skill_2.Gui.UI.MidoriUI.MidoriBullets.MidoriRearBullets.BulletM20:setColor() + end + elseif tick == 51 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.pillager.death"), self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_2.Pillagers.Pillager1), 1, 1) + elseif tick == 54 and host:isHost() then + for _, modelPart in ipairs({models.models.ex_skill_2.Gui.UI.MomoiHeadUI.MomoiPaperDoll.MomoiPaperDollHead.MomoiFaceParts.Eyes.EyeLeft, models.models.ex_skill_2.Gui.UI.MomoiHeadUI.MomoiPaperDoll.MomoiPaperDollHead.MomoiFaceParts.Eyes.EyeRight}) do + modelPart:setUVPixels() + end + models.models.ex_skill_2.Gui.UI.MomoiHeadUI.MomoiPaperDoll.MomoiPaperDollHead.MomoiFaceParts.Mouth:setUVPixels(16, 0) + models.models.ex_skill_2.Gui.UI.MomoiHeadUI:setColor() + elseif tick == 55 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.levelup"), self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_2.Pillagers.Pillager1.Pillager1CoinAnchor), 1, 2) + elseif tick == 56 then + models.models.ex_skill_2.Momoi:setColor() + elseif tick == 61 then + self.exSkill[2].spawnBulletParticle(self, models.models.ex_skill_2.ExSkill2ParticleAnchor3, -90, 0, "MOMOI") + self.exSkill[2].playShotSound(self) + elseif tick == 63 then + self.exSkill[2].spawnBulletParticle(self, models.models.ex_skill_2.ExSkill2ParticleAnchor10, -90, 0, "MOMOI") + self.exSkill[2].playShotSound(self) + if host:isHost() then + models.models.ex_skill_2.Gui.UI.MomoiUI.Bullets.RearBullets.Bullet22:setColor() + end + elseif tick == 65 then + self.exSkill[2].spawnBulletParticle(self, models.models.ex_skill_2.ExSkill2ParticleAnchor11, -90, 0, "MOMOI") + self.exSkill[2].playShotSound(self) + elseif tick == 70 then + models.models.ex_skill_2.Momoi.MomoiHead.MomoiFaceParts.Eyes.EyeLeft:setUVPixels(12, 0) + models.models.ex_skill_2.Momoi.MomoiHead.MomoiFaceParts.Eyes.EyeRight:setUVPixels(48, 0) + models.models.ex_skill_2.Momoi.MomoiHead.MomoiFaceParts.Mouth:setUVPixels(64, 0) + models.models.ex_skill_2.Momoi:setColor(1, 0.75, 0.75) + if host:isHost() then + models.models.ex_skill_2.Gui.UI.MomoiHeadUI.MomoiPaperDoll.MomoiPaperDollHead.MomoiFaceParts.Eyes.EyeLeft:setUVPixels(36, 0) + models.models.ex_skill_2.Gui.UI.MomoiHeadUI.MomoiPaperDoll.MomoiPaperDollHead.MomoiFaceParts.Eyes.EyeRight:setUVPixels(30, 0) + models.models.ex_skill_2.Gui.UI.MomoiHeadUI.MomoiPaperDoll.MomoiPaperDollHead.MomoiFaceParts.Mouth:setUVPixels(32, 0) + models.models.ex_skill_2.Gui.UI.MomoiHeadUI:setColor(1, 0.75, 0.75) + models.models.ex_skill_2.Gui.UI.MomoiUI.LifeIcon2:setVisible(false) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.hurt"), self.parent.modelUtils.getModelWorldPos(models.models.main.CameraAnchor), 1, 0.5) + else + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.hurt"), self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_2.Momoi), 1, 1) + end + elseif tick == 73 and host:isHost() then + models.models.ex_skill_2.Gui.UI.MomoiHeadUI:setColor() + elseif tick == 74 then + self.exSkill[2].spawnBulletParticle(self, models.models.ex_skill_2.Covers.CoverBack2.ExSkill2ParticleAnchor12, 0, -90, "MOMOI") + self.exSkill[2].spawnBulletParticle(self, models.models.ex_skill_2.Covers.CoverBack3.ExSkill2ParticleAnchor6, 0, 0, "MIDORI") + self.exSkill[2].playShotSound(self) --ミドリの射撃音 + if host:isHost() then + models.models.ex_skill_2.Gui.UI.MomoiUI.Bullets.RearBullets.Bullet21:setColor() + end + elseif tick == 76 then + self.exSkill[2].spawnBulletParticle(self, models.models.ex_skill_2.Covers.CoverBack2.ExSkill2ParticleAnchor4, 0, 0, "MOMOI") + self.exSkill[2].playShotSound(self) + elseif tick == 78 then + self.exSkill[2].spawnBulletParticle(self, models.models.ex_skill_2.Covers.CoverBack2.ExSkill2ParticleAnchor13, 0, -90, "MOMOI") + self.exSkill[2].playShotSound(self) + models.models.ex_skill_2.Momoi.MomoiHead.MomoiFaceParts.Eyes.EyeLeft:setUVPixels(36, 0) + models.models.ex_skill_2.Momoi.MomoiHead.MomoiFaceParts.Eyes.EyeRight:setUVPixels(30, 0) + models.models.ex_skill_2.Momoi.MomoiHead.MomoiFaceParts.Mouth:setUVPixels(32, 0) + if host:isHost() then + models.models.ex_skill_2.Gui.UI.MomoiUI.Bullets.RearBullets.Bullet20:setColor() + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.hurt"), self.parent.modelUtils.getModelWorldPos(models.models.main.CameraAnchor), 1, 0.5) + else + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.hurt"), self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_2.Momoi), 1, 1) + end + elseif tick == 81 and host:isHost() then + for _, modelPart in ipairs({models.models.ex_skill_2.Gui.Reticules.MomoiReticule, models.models.ex_skill_2.Gui.UI.MomoiUI.LifeIcon3, models.models.ex_skill_2.Gui.UI.MomoiHeadUI.MomoiPaperDoll.MomoiPaperDollHead.MomoiFaceParts.Eyes}) do + modelPart:setVisible(false) + end + models.models.ex_skill_2.Gui.UI.MomoiHeadUI.MomoiPaperDoll.MomoiPaperDollBody.DeadEye:setVisible(true) + models.models.ex_skill_2.Gui.UI.MomoiHeadUI.MomoiPaperDoll.MomoiPaperDollHead.MomoiFaceParts.Mouth:setUVPixels(48, 0) + for _, modelPart in ipairs({models.models.ex_skill_2.Gui.UI.MomoiUI, models.models.ex_skill_2.Gui.UI.MomoiHeadUI}) do + modelPart:setColor(0.25, 0.25, 0.25) + end + local task = models.models.ex_skill_2.Gui.UI.MomoiHeadUI:getTask("ex_skill_2_gameover_text") + ---@diagnostic disable-next-line: undefined-field + task:setText("§c§lGAME\nOVER") + task:setVisible(true) + elseif tick == 82 then + local anchorPos = self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_2.Covers.CoverBack3.ExSkill2ParticleAnchor15) + for _ = 1, 10 do + local xOffset = math.random() * 2 - 1 + local zOffset = math.random() * 2 - 1 + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:campfire_cosy_smoke"), anchorPos:copy():add(xOffset, 0, zOffset)):setScale(5):setVelocity(xOffset * 0.03, 0.025, zOffset * 0.03) + end + elseif tick == 83 and host:isHost() then + ---@diagnostic disable-next-line: undefined-field + models.models.ex_skill_2.Gui.UI.MomoiHeadUI:getTask("ex_skill_2_gameover_text"):setText("§4§lGAME\nOVER") + elseif tick == 85 and host:isHost() then + ---@diagnostic disable-next-line: undefined-field + models.models.ex_skill_2.Gui.UI.MomoiHeadUI:getTask("ex_skill_2_gameover_text"):setText("§c§lGAME\nOVER") + elseif tick == 87 and host:isHost() then + ---@diagnostic disable-next-line: undefined-field + models.models.ex_skill_2.Gui.UI.MomoiHeadUI:getTask("ex_skill_2_gameover_text"):setText("§4§lGAME\nOVER") + elseif tick == 89 then + models.models.ex_skill_2.Momoi:setColor() + if host:isHost() then + ---@diagnostic disable-next-line: undefined-field + models.models.ex_skill_2.Gui.UI.MomoiHeadUI:getTask("ex_skill_2_gameover_text"):setText("§c§lGAME\nOVER") + end + elseif tick == 92 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bit"), host:isHost() and self.parent.modelUtils.getModelWorldPos(models.models.main.CameraAnchor) or player:getPos(), 1, 0.749154) + elseif tick == 93 then + self.exSkill[2].spawnBulletParticle(self, models.models.ex_skill_2.Pillagers.Pillager2.Pillager2Body.ExSkill2ParticleAnchor7, 0, 0, "MIDORI") + self.exSkill[2].playShotSound(self) --ミドリの射撃音 + if host:isHost() then + models.models.ex_skill_2.Gui.UI.MidoriUI.MidoriBullets.MidoriRearBullets.BulletM19:setColor() + end + elseif tick == 94 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bit"), host:isHost() and self.parent.modelUtils.getModelWorldPos(models.models.main.CameraAnchor) or player:getPos(), 1, 0.667420) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.pillager.death"), self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_2.Pillagers.Pillager2), 1, 1) + elseif tick == 96 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bit"), host:isHost() and self.parent.modelUtils.getModelWorldPos(models.models.main.CameraAnchor) or player:getPos(), 1, 0.594604) + elseif tick == 98 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.levelup"), self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_2.Pillagers.Pillager2.Pillager2CoinAnchor), 1, 2) + elseif tick == 111 then + self.exSkill[2].spawnBulletParticle(self, models.models.ex_skill_2.Pillagers.Pillager3.Pillager3Body.ExSkill2ParticleAnchor8, 0, 0, "MIDORI") + self.exSkill[2].playShotSound(self) --ミドリの射撃音 + elseif tick == 112 then + models.models.ex_skill_2.Momoi.MomoiHead.MomoiFaceParts.Eyes.EyeLeft:setUVPixels(42, 0) + models.models.ex_skill_2.Momoi.MomoiHead.MomoiFaceParts.Eyes.EyeRight:setUVPixels(42, 0) + models.models.ex_skill_2.Momoi.MomoiHead.MomoiFaceParts.Mouth:setUVPixels(64, 8) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.pillager.death"), self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_2.Pillagers.Pillager3), 1, 1) + elseif tick == 116 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.levelup"), self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_2.Pillagers.Pillager3.Pillager3CoinAnchor), 1, 2) + elseif tick == 125 then + self.parent.faceParts:setEmotion("CLOSED", "CLOSED", "OPENED_SMALL", 30, true) + if host:isHost() then + models.models.ex_skill_2.Gui.UI.MidoriHeadUI.MidoriPaperDoll.MidoriPaperDollHead.FaceParts.Eyes.EyeLeft:setUVPixels(18, 0) + models.models.ex_skill_2.Gui.UI.MidoriHeadUI.MidoriPaperDoll.MidoriPaperDollHead.FaceParts.Eyes.EyeRight:setUVPixels(12, 0) + models.models.ex_skill_2.Gui.UI.MidoriHeadUI.MidoriPaperDoll.MidoriPaperDollHead.FaceParts.Mouth:setUVPixels(64, 8) + end + elseif tick == 130 then + if host:isHost() then + models.models.ex_skill_2.Gui.UI.ClearEffect.ClearBar:setVisible(true) + local task = models.models.ex_skill_2.Gui.UI.ClearEffect:getTask("ex_skill_2_clear_effect_text_2") + task:setVisible(true) + events.RENDER:register(function (delta) + local count = self.parent.exSkill.animationCount - 130 + delta + local scale = count <= 2 and (count * -7.5 + 20) or (count <= 4 and (count * 7.5 - 10) or 20) + task:setPos(0, scale * 3.5, 0) + task:setScale(vectors.vec3(1, 1, 1):scale(scale)) + ---@diagnostic disable-next-line: undefined-field + task:setOpacity((15 - (scale - 5)) / 15) + if count >= 1 then + local windowSize = client:getScaledWindowSize() + models.models.ex_skill_2.Gui.UI.ClearEffect.ClearBar:setScale(windowSize.x, math.max(count * -40 + 120, 0), 1) + end + end, "ex_skill_2_clear_effect_render") + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.levelup"), self.parent.modelUtils.getModelWorldPos(models.models.main.CameraAnchor), 1, 1) + else + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.levelup"), player:getPos(), 1, 1) + end + elseif tick == 131 and host:isHost() then + for _ = 1, 16 do + self.parent.particleManager:spawn() + end + elseif tick == 132 and host:isHost() then + models.models.ex_skill_2.Gui.UI.ClearEffect.Background:setVisible(true) + models.models.ex_skill_2.Gui.UI.ClearEffect:getTask("ex_skill_2_clear_effect_text_1"):setVisible(true) + elseif tick == 148 and host:isHost() then + self.parent.transitionManager:play() + elseif tick == 154 then + self.parent.modelUtils.moveTo(models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.Gun, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom) + elseif tick == 155 then + self.parent.faceParts:setEmotion("INVERTED", "NORMAL", "CLOSED", 2, true) + if host:isHost() then + for _, modelPart in ipairs({models.models.ex_skill_2.Gui.Reticules, models.models.ex_skill_2.Gui.UI}) do + modelPart:setVisible(false) + end + for _, eventName in ipairs({"ex_skill_2_reticule_render", "ex_skill_2_damage_effect_render", "ex_skill_2_clear_effect_render"}) do + events.RENDER:remove(eventName) + end + end + elseif tick == 156 and host:isHost() then + local windowSize = client:getScaledWindowSize() + models.models.ex_skill_2.Gui.MVP:setPos(windowSize.x / 2 * -1, 0, 0) + models.models.ex_skill_2.Gui.MVP.LowerMVP:setPos(0, (windowSize.y - 35) * -1, 0) + models.models.ex_skill_2.Gui.MVP.UpperMVP.UpperMVPBar:setScale(windowSize.x, 1, 1) + for _, modelPart in ipairs({models.models.ex_skill_2.Gui.MVP.LowerMVP.LowerRightMVPBar, models.models.ex_skill_2.Gui.MVP.LowerMVP.LowerLeftMVPBar}) do + modelPart:setScale(windowSize.x / 2, 1, 1) + end + models.models.ex_skill_2.Gui.MVP:setVisible(true) + elseif tick == 157 then + self.parent.faceParts:setEmotion("CLOSED2", "CLOSED2", "CLOSED", 3, true) + elseif tick == 160 then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "CLOSED", 7, true) + elseif tick == 167 then + self.parent.faceParts:setEmotion("CLOSED2", "CLOSED2", "CLOSED", 2, true) + elseif tick == 169 then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "TRIANGLE", 9, true) + elseif tick == 178 then + models.models.main.Avatar.UpperBody.Body.GlowEffects:setVisible(true) + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "SMILE_SMALL", 25, true) + self.parent.bubble:play("V", 24, vectors.vec2(0, -4), -45, false) + local playerPos = player:getPos() + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.levelup"), playerPos, 1, 1.5) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.item.pickup"), player:getPos(), 1, 1) + end + + if tick >= 84 and tick < 100 then + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:splash"), self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_2.Momoi.MomoiHead.ExSkill2ParticleAnchor14)):setPower(2) + end + if tick >= 55 and tick < 82 then + self.exSkill[2].spawnCoinParticles(self, 1) + end + if tick >= 98 and tick < 125 then + self.exSkill[2].spawnCoinParticles(self, 2) + end + if tick >= 116 and tick < 143 then + self.exSkill[2].spawnCoinParticles(self, 3) + end + if tick >= 156 and tick < 177 then + local avatarPos = self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar) + for _ = 1, 5 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:end_rod"), vectors.vec3(math.random() * 3 - 1.5, math.random() * 3, math.random() * 3 - 1.5):add(avatarPos)):setVelocity(0, 0.1, 0):setColor(1, 0.984, 0.4):setLifetime(16) + end + end + + if tick < 51 and math.random() >= 0.99 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.pillager.ambient"), self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_2.Pillagers.Pillager1), 0.5, 1) + end + if tick < 94 and math.random() >= 0.99 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.pillager.ambient"), self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_2.Pillagers.Pillager2), 0.5, 1) + end + if tick < 112 and math.random() >= 0.99 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.pillager.ambient"), self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_2.Pillagers.Pillager3), 0.5, 1) + end + if tick >= 35 and tick < 51 and math.random() >= 0.95 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.crossbow.shoot"), self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_2.Pillagers.Pillager1), 0.5, 1) + end + if tick >= 80 and tick < 94 and math.random() >= 0.95 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.crossbow.shoot"), self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_2.Pillagers.Pillager2), 0.5, 1) + end + if tick >= 63 and tick < 112 and math.random() >= 0.95 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.crossbow.shoot"), self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_2.Pillagers.Pillager3), 0.5, 1) + end + end; + + onPostAnimation = function (self,forcedStop) + if models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.Gun ~= nil then + models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.Gun:setVisible(false) + ModelUtils.moveTo(models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.Gun, models.models.main.Avatar.UpperBody.Body, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom) + elseif models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.Gun ~= nil then + models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.Gun:setVisible(false) + ModelUtils.moveTo(models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.Gun, models.models.main.Avatar.UpperBody.Body, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom) + end + for _, modelPart in ipairs({models.models.ex_skill_2.Momoi.MomoiHead.MomoiFaceParts.Eyes.EyeLeft, models.models.ex_skill_2.Momoi.MomoiHead.MomoiFaceParts.Eyes.EyeRight, models.models.ex_skill_2.Momoi.MomoiHead.MomoiFaceParts.Mouth}) do + modelPart:setUVPixels() + end + models.models.main.Avatar.UpperBody.Body.GlowEffects:setVisible(false) + for i = 1, 3 do + if self.exSkill[2].shouldReplaceEmerald[i] then + models.models.ex_skill_2.Pillagers["Pillager"..i]["Pillager"..i.."CoinAnchor"]["Pillager"..i.."Coin"]:setVisible(true) + models.models.ex_skill_2.Pillagers["Pillager"..i]["Pillager"..i.."CoinAnchor"]:getTask("ex_skill_2_coin_"..i.."_item"):setVisible(false) + end + end + if forcedStop then + models.models.ex_skill_2.Momoi:setColor() + self.parent.bubble:stop() + end + if host:isHost() then + for _, modelPart in ipairs({models.models.ex_skill_2.Gui.Reticules.MomoiReticule, models.models.ex_skill_2.Gui.UI.MomoiUI.LifeIcon1, models.models.ex_skill_2.Gui.UI.MomoiUI.LifeIcon2, models.models.ex_skill_2.Gui.UI.MomoiUI.LifeIcon3, models.models.ex_skill_2.Gui.UI.MomoiHeadUI.MomoiPaperDoll.MomoiPaperDollHead.MomoiFaceParts.Eyes}) do + modelPart:setVisible(true) + end + for _, modelPart in ipairs({models.models.ex_skill_2.Gui.UI.MomoiHeadUI.MomoiPaperDoll.MomoiPaperDollBody.DeadEye, models.models.ex_skill_2.Gui.UI.ClearEffect.Background, models.models.ex_skill_2.Gui.UI.ClearEffect.ClearBar, models.models.ex_skill_2.Gui.MVP}) do + modelPart:setVisible(false) + end + for _, modelPart in ipairs({models.models.ex_skill_2.Gui.UI.MomoiHeadUI.MomoiPaperDoll.MomoiPaperDollHead.MomoiFaceParts.Eyes.EyeLeft, models.models.ex_skill_2.Gui.UI.MomoiHeadUI.MomoiPaperDoll.MomoiPaperDollHead.MomoiFaceParts.Eyes.EyeRight, models.models.ex_skill_2.Gui.UI.MidoriHeadUI.MidoriPaperDoll.MidoriPaperDollHead.FaceParts.Eyes.EyeLeft, models.models.ex_skill_2.Gui.UI.MidoriHeadUI.MidoriPaperDoll.MidoriPaperDollHead.FaceParts.Eyes.EyeRight, models.models.ex_skill_2.Gui.UI.MidoriHeadUI.MidoriPaperDoll.MidoriPaperDollHead.FaceParts.Mouth}) do + modelPart:setUVPixels() + end + models.models.ex_skill_2.Gui.UI.MomoiHeadUI.MomoiPaperDoll.MomoiPaperDollHead.MomoiFaceParts.Mouth:setUVPixels(16, 0) + for _, modelPart in ipairs({models.models.ex_skill_2.Gui.UI.MomoiUI, models.models.ex_skill_2.Gui.UI.MomoiHeadUI, }) do + modelPart:setColor() + end + for i = 20, 24 do + models.models.ex_skill_2.Gui.UI.MomoiUI.Bullets.RearBullets["Bullet"..i]:setColor(0.5, 0.5, 0.5) + end + for i = 19, 20 do + models.models.ex_skill_2.Gui.UI.MidoriUI.MidoriBullets.MidoriRearBullets["BulletM"..i]:setColor(0.5, 0.5, 0.5) + end + for i = 1, 2 do + models.models.ex_skill_2.Gui.UI.ClearEffect:getTask("ex_skill_2_clear_effect_text_"..i):setVisible(false) + end + models.models.ex_skill_2.Gui.UI.MomoiHeadUI:getTask("ex_skill_2_gameover_text"):setVisible(false) + if forcedStop then + for _, modelPart in ipairs({models.models.ex_skill_2.Gui.Reticules, models.models.ex_skill_2.Gui.UI}) do + modelPart:setVisible(false) + end + for _, eventName in ipairs({"ex_skill_2_reticule_render", "ex_skill_2_damage_effect_render", "ex_skill_2_clear_effect_render"}) do + events.RENDER:remove(eventName) + end + self.parent.transitionManager:stop() + end + end + end; + }; + + ---このExスキルの初期化処理が行われたかどうか + ---@type boolean + init = false; + + ---コインをエメラルドに置き換えるかどうか + ---@type boolean[] + shouldReplaceEmerald = {false, false, false}; + + ---銃弾のパーティクルを出す。 + ---@param self BlueArchiveCharacter + ---@param anchor ModelPart パーティクルを出す場所を示すアンカーポイント + ---@param offsetRotX number パーティクルの射出方向のX軸オフセット値 + ---@param offsetRotY number パーティクルの射出方向のY軸オフセット値 + ---@param whoShot BlueArchiveCharacter.ExSkill2ShotByType 射撃した人を指定する。 + spawnBulletParticle = function (self, anchor, offsetRotX, offsetRotY, whoShot) + local anchorPos = self.parent.modelUtils.getModelWorldPos(anchor) + local bodyYaw = player:getBodyYaw() + for _ = 1, 5 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:electric_spark"), anchorPos):setScale(1):setVelocity( vectors.rotateAroundAxis(bodyYaw * -1 + offsetRotY, vectors.rotateAroundAxis(offsetRotX, math.random() * 0.25 - 0.125, math.random() * 0.25 - 0.125, 0.1, 1, 0, 0), 0, 1, 0)):setColor(0.98, 0.843, 0.341):setLifetime(2) + end + local muzzleAnchorPos = self.parent.modelUtils.getModelWorldPos(whoShot == "MIDORI" and models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.Gun.MuzzleAnchor or models.models.ex_skill_2.Momoi.MomoiUpperBody.MomoiArms.MomoiRightArm.MomoiRightArmBottom.Gun.MuzzleAnchor) + + for _ = 1, 5 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:smoke"), muzzleAnchorPos) + end + end; + + ---射撃音を再生する。 + ---@param self BlueArchiveCharacter + playShotSound = function (self) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.firework_rocket.blast"), self.parent.modelUtils.getModelWorldPos(host:isHost() and models.models.main.CameraAnchor or models.models.main.Avatar), 1, math.random() * 0.25 + 0.5) + end; + + ---コインのパーティクルを発生させる。 + ---@param self BlueArchiveCharacter + ---@param index integer 出現先のコインを指定するインデックス番号 + spawnCoinParticles = function (self, index) + local anchorPos = self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_2.Pillagers["Pillager"..index]["Pillager"..index.."CoinAnchor"]) + for _ = 1, 3 do + particles:newParticle(instance.parent.compatibilityUtils:checkParticle("minecraft:end_rod"), vectors.vec3(math.random() - 0.5, math.random() - 0.5, math.random() - 0.5):add(anchorPos)):setVelocity(0, 0.1, 0):setColor(instance.exSkill[2].shouldReplaceEmerald[index] and vectors.vec3(0.686, 0.992, 0.804) or vectors.vec3(1, 0.984, 0.4)):setLifetime(8) + end + end; + }; + } + + instance.costume = { + costumes = { + { + name = "default"; + + displayName = { + en_us = "Default"; + ja_jp = "デフォルト"; + }; + + exSkill = 1; + }; + + { + name = "maid"; + + displayName = { + en_us = "Maid"; + ja_jp = "メイド"; + }; + + exSkill = 2; + + ---前ティックに脚とスカートの調整をしたかどうか + ---@type boolean + shouldAdjustLegsPrev = false; + + ---前ティックは脚を隠すべきだったかどうか + ---@type boolean + shouldHideLegsPrev = false; + }; + }; + + callbacks = { + onChange = function (self) + for _, modelPart in ipairs({models.models.main.Avatar.Head.Head, models.models.main.Avatar.Head.HatLayer}) do + modelPart:setUVPixels(0, 16) + end + self.parent.costume.setCostumeTextureOffset(1) + for _, modelPart in ipairs({models.models.main.Avatar.Head.HairRibbons, models.models.main.Avatar.UpperBody.Body.Skirt, models.models.main.Avatar.UpperBody.Arms.RightArm.GDDLabel, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.RightCoat, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.LeftCoat}) do + modelPart:setVisible(false) + end + for _, modelPart in ipairs({models.models.main.Avatar.Head.CMaidH, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.CMaidRAB, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.CMaidLAB, models.models.main.Avatar.UpperBody.Body.CMaidB}) do + modelPart:setVisible(true) + end + + events.TICK:register(function () + if not client:isPaused() then + local skirtVisible = models.models.main.Avatar.UpperBody.Body.CMaidB:getVisible() + local shouldHideLegs = skirtVisible and player:getVehicle() ~= nil + if shouldHideLegs and not self.costume.costumes[2].shouldHideLegsPrev then + models.models.main.Avatar.LowerBody.Legs:setVisible(false) + models.models.main.Avatar.UpperBody.Body.CMaidB.Skirt1:setScale(1.2, 0.35, 1.5) + elseif not shouldHideLegs and self.costume.costumes[2].shouldHideLegsPrev then + models.models.main.Avatar.LowerBody.Legs:setVisible(true) + models.models.main.Avatar.UpperBody.Body.CMaidB.Skirt1:setScale() + end + + local shouldAdjustLegs = skirtVisible and not shouldHideLegs + if shouldAdjustLegs and not self.costume.costumes[2].shouldAdjustLegsPrev then + events.RENDER:register(function () + local rightLegRotX = vanilla_model.RIGHT_LEG:getOriginRot().x + models.models.main.Avatar.LowerBody.Legs.RightLeg:setRot(rightLegRotX * -0.45, 0, 0) + models.models.main.Avatar.LowerBody.Legs.LeftLeg:setRot(vanilla_model.LEFT_LEG:getOriginRot().x * -0.45, 0, 0) + local rightLegRotAbs = math.abs(rightLegRotX) + local playerPose = player:getPose() + local skirtFlipVal = math.min(math.abs(self.parent.physics.velocityAverage[7][2]) * 0.00025 + ((playerPose == "SWIMMING" or playerPose == "FALL_FLYING") and 0 or math.max(self.parent.physics.velocityAverage[2][2] * -0.25, 0)), 0.5) + models.models.main.Avatar.UpperBody.Body.CMaidB.Skirt1:setScale(1 + skirtFlipVal, 1 - skirtFlipVal, rightLegRotAbs * 0.001 + 1 + skirtFlipVal) + models.models.main.Avatar.UpperBody.Body.CMaidB.Skirt1.Skirt2:setScale(rightLegRotAbs * -0.0001 + 1, 1, rightLegRotAbs * 0.001 + 1) + models.models.main.Avatar.UpperBody.Body.CMaidB.Skirt1.Skirt2.Skirt3:setScale(rightLegRotAbs * -0.0001 + 1, 1, rightLegRotAbs * 0.001 + 1) + models.models.main.Avatar.UpperBody.Body.CMaidB.Skirt1.Skirt2.Skirt3.Skirt4:setScale(rightLegRotAbs * -0.00005 + 1, 1, rightLegRotAbs * 0.0005 + 1) + end, "costume_maid_render") + elseif not shouldAdjustLegs and self.costume.costumes[2].shouldAdjustLegsPrev then + events.RENDER:remove("costume_maid_render") + for _, modelPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg, models.models.main.Avatar.LowerBody.Legs.LeftLeg}) do + modelPart:setRot() + end + if not shouldHideLegs then + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Body.CMaidB.Skirt1, models.models.main.Avatar.UpperBody.Body.CMaidB.Skirt1.Skirt2, models.models.main.Avatar.UpperBody.Body.CMaidB.Skirt1.Skirt2.Skirt3, models.models.main.Avatar.UpperBody.Body.CMaidB.Skirt1.Skirt2.Skirt3.Skirt4}) do + modelPart:setScale() + end + end + end + + self.costume.costumes[2].shouldHideLegsPrev = shouldHideLegs + self.costume.costumes[2].shouldAdjustLegsPrev = shouldAdjustLegs + end + end,"costume_maid_tick") + end; + + onReset = function (self) + events.TICK:remove("costume_maid_tick") + events.RENDER:remove("costume_maid_render") + models.models.main.Avatar.LowerBody.Legs:setVisible(true) + for _, modelPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg, models.models.main.Avatar.LowerBody.Legs.LeftLeg}) do + modelPart:setRot() + end + for _, modelPart in ipairs({models.models.main.Avatar.Head.Head, models.models.main.Avatar.Head.HatLayer}) do + modelPart:setUVPixels() + end + self.parent.costume.setCostumeTextureOffset(0) + for _, modelPart in ipairs({models.models.main.Avatar.Head.HairRibbons, models.models.main.Avatar.UpperBody.Arms.RightArm.GDDLabel, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.RightCoat, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.LeftCoat, models.models.main.Avatar.UpperBody.Body.Skirt}) do + modelPart:setVisible(true) + end + for _, modelPart in ipairs({models.models.main.Avatar.Head.CMaidH, models.models.main.Avatar.UpperBody.Body.CMaidB}) do + modelPart:setVisible(false) + end + end; + + onArmorChange = function (self, parts, isVisible) + if parts == "HELMET" then + models.models.main.Avatar.Head.Sweat:setPos(0, 0, isVisible and -1 or 0) + elseif parts == "LEGGINGS" then + if self.parent.costume.currentCostume == 1 then + models.models.main.Avatar.UpperBody.Body.Skirt:setVisible(not isVisible) + else + models.models.main.Avatar.UpperBody.Body.CMaidB:setVisible(not isVisible) + end + end + end; + }; + } + + instance.bubble = { + callbacks = { + onPlay = function(self, type, duration) + if duration > 0 then + if type == "GOOD" then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "SMILE_SMALL", duration, true) + elseif type == "HEART" then + self.parent.faceParts:setEmotion("CLOSED", "CLOSED", "OPENED_SMALL", duration, true) + elseif type == "NOTE" then + self.parent.faceParts:setEmotion("ANGRY", "ANGRY_INVERTED", "CLOSED", duration, true) + elseif type == "QUESTION" then + self.parent.faceParts:setEmotion("SURPRISED", "SURPRISED", "SHOCK", duration, true) + elseif type == "SWEAT" then + self.parent.faceParts:setEmotion("ANGRY", "TIRED", "FRUST", duration, true) + end + end + end; + + onStop = function(self, _, forcedStop) + if forcedStop then + self.parent.faceParts:resetEmotion() + end + end; + }; + } + + instance.headBlock = { + includeModels = {}; + } + + instance.portrait = { + includeModels = {}; + } + + instance.deathAnimation = { + callbacks = { + onPhase1 = function (_, dummyAvatar, costume) + if costume == "DEFAULT" then + dummyAvatar.UpperBody.Body.Skirt:setRot(70, 0, 0) + elseif costume == "MAID" then + dummyAvatar.LowerBody.Legs:setVisible(false) + dummyAvatar.UpperBody.Body.CMaidB.Skirt1:setScale(1.2, 0.35, 1.5) + for _, modelPart in ipairs({dummyAvatar.UpperBody.Body.CMaidB.BackRibbon.RibbonBottomRight, dummyAvatar.UpperBody.Body.CMaidB.BackRibbon.RibbonBottomLeft}) do + modelPart:setRot(-40, 0, 0) + end + end + end; + + onPhase2 = function (_, dummyAvatar, costume) + if costume == "DEFAULT" then + dummyAvatar.UpperBody.Body.Skirt:setRot(22.5, 0, 0) + elseif costume == "MAID" then + dummyAvatar.LowerBody.Legs:setVisible(true) + dummyAvatar.UpperBody.Body.CMaidB.Skirt1:setScale(1, 1, 1) + dummyAvatar.UpperBody.Body.CMaidB.Skirt1:setRot(32.5, 0, 0) + dummyAvatar.UpperBody.Body.CMaidB.BackRibbon.RibbonBottomRight:setRot(20, 0, 5) + dummyAvatar.UpperBody.Body.CMaidB.BackRibbon.RibbonBottomLeft:setRot(20, 0, -25) + end + end + }; + } + + instance.actionWheel = { + isVehicleOptionEnabled = false; + } + + instance.physics = { + physicData = { + { + models = {models.models.main.Avatar.UpperBody.Body.TailXPivot}; + + x = { + vertical = { + min = -40; + neutral = 0; + max = 40; + sneakOffset = 15; + + bodyY = { + multiplayer = 40; + min = -40; + max = 40; + }; + }; + + horizontal = { + min = -40; + neutral = 0; + max = 40; + + bodyX = { + multiplayer = 40; + min = -40; + max = 40; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.UpperBody.Body.TailXPivot.TailYPivot}; + + y = { + vertical = { + min = -40; + neutral = 0; + max = 40; + + bodyZ = { + multiplayer = -80; + min = -40; + max = 40; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.Head.CMaidH.HairTail}; + + x = { + vertical = { + min = -140; + neutral = 0; + max = 0; + + headRotMultiplayer = -1; + + bodyX = { + multiplayer = -80; + min = -90; + max = 0; + }; + + bodyY = { + multiplayer = 80; + min = -140; + max = 0; + }; + + bodyRot = { + multiplayer = 0.05; + min = -90; + max = 0; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.Head.CMaidH.HairTail.HairTailZPivot}; + + z = { + vertical = { + min = -90; + neutral = 0; + max = 90; + + bodyZ = { + multiplayer = -80; + min = -90; + max = 90; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.UpperBody.Body.CMaidB.BackRibbon.RibbonRight}; + + y = { + vertical = { + min = -70; + neutral = 0; + max = 0; + + bodyX = { + multiplayer = -40; + min = -70; + max = 0; + }; + + bodyRot = { + multiplayer = 0.025; + min = -70; + max = 0; + }; + }; + + horizontal = { + min = -70; + neutral = 0; + max = 0; + + bodyY = { + multiplayer = 40; + min = -70; + max = 0; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.UpperBody.Body.CMaidB.BackRibbon.RibbonRight.RibbonRightZPivot}; + + z = { + vertical = { + min = -20; + neutral = 0; + max = 20; + + bodyY = { + multiplayer = -20; + min = -20; + max = 20; + }; + }; + + horizontal = { + min = -20; + neutral = 0; + max = 20; + + bodyX = { + multiplayer = -20; + min = -20; + max = 20; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.UpperBody.Body.CMaidB.BackRibbon.RibbonLeft}; + + y = { + vertical = { + min = 0; + neutral = 0; + max = 70; + + bodyX = { + multiplayer = 40; + min = 0; + max = 70; + }; + + bodyRot = { + multiplayer = -0.025; + min = 0; + max = 70; + }; + }; + + horizontal = { + min = 0; + neutral = 0; + max = 70; + + bodyY = { + multiplayer = -40; + min = 0; + max = 70; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.UpperBody.Body.CMaidB.BackRibbon.RibbonLeft.RibbonLeftZPivot}; + + z = { + vertical = { + min = -20; + neutral = 0; + max = 20; + + bodyY = { + multiplayer = 20; + min = -20; + max = 20; + }; + }; + + horizontal = { + min = -20; + neutral = 0; + max = 20; + + bodyX = { + multiplayer = 20; + min = -20; + max = 20; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.UpperBody.Body.CMaidB.BackRibbon.RibbonBottomRight, models.models.main.Avatar.UpperBody.Body.CMaidB.BackRibbon.RibbonBottomLeft}; + + x = { + vertical = { + min = -140; + neutral = 0; + max = 0; + sneakOffset = 30; + + bodyX = { + multiplayer = -80; + min = -60; + max = 0; + }; + + bodyY = { + multiplayer = 80; + min = -140; + max = 0; + }; + + bodyRot = { + multiplayer = 0.05; + min = -60; + max = 0; + }; + }; + + horizontal = { + min = -140; + neutral = 0; + max = 0; + + bodyY = { + multiplayer = 80; + min = -60; + max = 0; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.UpperBody.Body.CMaidB.BackRibbon.RibbonBottomRight.RibbonBottomRightZPivot}; + + z = { + vertical = { + min = -22.5; + neutral = 0; + max = 15; + + bodyX = { + multiplayer = 10; + min = -22.5; + max = 15; + }; + + bodyRot = { + multiplayer = -0.025; + min = -22.5; + max = 15; + }; + }; + + horizontal = { + min = -22.5; + neutral = 0; + max = 10; + + bodyX = { + multiplayer = 10; + min = -22.5; + max = 15; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.UpperBody.Body.CMaidB.BackRibbon.RibbonBottomLeft.RibbonBottomLeftZPivot}; + + z = { + vertical = { + min = -15; + neutral = 0; + max = 22.5; + + bodyX = { + multiplayer = -10; + min = -15; + max = 22.5; + }; + + bodyRot = { + multiplayer = 0.025; + min = -15; + max = 22.5; + }; + }; + + horizontal = { + min = -22.5; + neutral = 0; + max = 10; + + bodyX = { + multiplayer = 10; + min = -22.5; + max = 15; + }; + }; + }; + }; + }; + + callbacks = { + onPhysicPerformed = function (self, model) + local playerPose = player:getPose() + local isHorizontal = playerPose == "SWIMMING" or playerPose == "FALL_FLYING" + if (model == models.models.main.Avatar.UpperBody.Body.CMaidB.BackRibbon.RibbonBottomRight or model == models.models.main.Avatar.UpperBody.Body.CMaidB.BackRibbon.RibbonBottomLeft) and isHorizontal then + model:setRot(model:getRot():scale(1 - math.clamp(self.parent.physics.velocityAverage[5][2], 0, 1.6) / 1.6)) + end + end; + } + } + + instance.dataSync = { + syncData = { + + }; + + callbacks = { + + }; + } + + return instance + end; + + ---初期化関数 + ---@param self BlueArchiveCharacter + init = function (self) + AvatarModule.init(self) + + --生徒固有初期化処理 + --Player APIにアクセスする場合は、ENTITY_INIT後に実行されるようにする必要がある。 + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Midori/scripts/character_scripts/ex_skill_1_text_object.lua b/config/yosbr/config/figura/avatars/Midori/scripts/character_scripts/ex_skill_1_text_object.lua new file mode 100644 index 0000000..f577cf9 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/scripts/character_scripts/ex_skill_1_text_object.lua @@ -0,0 +1,76 @@ +---@class ExSkill1TextObject : SpawnObject Exスキル1で使用するテキストオブジェクト +---@field package object ModelPart インスタンスで制御するモデルパーツ +---@field package subObject ModelPart インスタンスで制御するサブモデルパーツ +---@field package textTask TextTask subObject内にアタッチするテキストレンダータスク +---@field package text string このテキストオブジェクトで表示しているテキスト内容 +---@field package currentPos Vector3 現ティックの位置 +---@field package nextPos Vector3 次ティックの位置 +---@field package velocity Vector3 このオブジェクトの移動速度 +---@field package animationCount integer アニメーションのカウンター +---@field public new fun(parent: Avatar, text: string): ExSkill1TextObject コンストラクター + +ExSkill1TextObject = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@param text string 表示するテキスト + ---@return ExSkill1TextObject + new = function (parent, text) + ---@type ExSkill1TextObject + local instance = Avatar.instantiate(ExSkill1TextObject, SpawnObject, parent) + + instance.object = models.script_ex_skill_1_text_object:newPart(instance.uuid) + instance.subObject = instance.object:newPart(client.intUUIDToString(client:generateUUID()), "Camera") + instance.textTask = instance.subObject:newText(client.intUUIDToString(client:generateUUID())) + instance.text = text + instance.currentPos = vectors.rotateAroundAxis(player:getBodyYaw() + 180, instance.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.GameConsole1.ExSkill1ParticleAnchor1):sub(player:getPos()), 0, 1, 0):scale(16) + instance.nextPos = instance.currentPos + instance.velocity = vectors.rotateAroundAxis(math.random() * 360, 0, 0.5, 0.2, 0, 1, 0) + instance.animationCount = 0 + + instance.callbacks = { + ---@param self ExSkill1TextObject + onInit = function (self) + self.textTask:setText("§6"..instance.text) + self.textTask:setAlignment("CENTER") + self.textTask:setOutline(true) + self.textTask:setOutlineColor(0.165, 0.165, 0) + self.textTask:setSeeThrough(true) + end; + + ---@param self ExSkill1TextObject + onDeinit = function (self) + self.subObject:removeTask(self.textTask:getName()) + self.object:removeChild(self.subObject) + self.subObject:remove() + models.script_ex_skill_1_text_object:removeChild(self.object) + self.object:remove() + end; + + ---@param self ExSkill1TextObject + onTick = function (self) + --オブジェクトの状態を強制更新 + self.currentPos = self.nextPos + self.object:setPos(self.currentPos) + self.object:setScale(vectors.vec3(1, 1, 1):scale(self.animationCount * -0.125 + 0.25)) + + --次の位置を計算 + self.nextPos = self.currentPos:copy():add(self.velocity) + self.velocity.y = self.velocity.y - 0.1 + + ---カウンター更新 + self.animationCount = self.animationCount + 0.05 + if self.animationCount >= 1 then + self.shouldDeinit = true + end + end; + + ---@param self ExSkill1TextObject + onRender = function (self, delta) + self.object:setPos(self.currentPos:copy():add(self.nextPos:copy():sub(self.currentPos):scale(delta))) + self.object:setScale(vectors.vec3(1, 1, 1):scale((self.animationCount + delta * 0.05) * -0.125 + 0.25)) + end; + } + + return instance + end +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Midori/scripts/character_scripts/ex_skill_1_text_object_manager.lua b/config/yosbr/config/figura/avatars/Midori/scripts/character_scripts/ex_skill_1_text_object_manager.lua new file mode 100644 index 0000000..db0c6e9 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/scripts/character_scripts/ex_skill_1_text_object_manager.lua @@ -0,0 +1,41 @@ +---@class ExSkill1TextObjectManager : SpawnObjectManager Exスキル1で使用するテキストオブジェクトのマネージャークラス +---@field public getObject fun(self: ExSkill1TextObjectManager, text: string): ExSkill1TextObject テキストオブジェクトのインスタンスを生成して返す +---@field public spawn fun(self: ExSkill1TextObjectManager, text: string) テキストオブジェクトを生成する + +ExSkill1TextObjectManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ExSkill1TextObjectManager + new = function (parent) + ---@type ExSkill1TextObjectManager + local instance = Avatar.instantiate(ExSkill1TextObjectManager, SpawnObjectManager, parent) + + instance.managerName = "ex_skill_1_text_object" + + return instance + end; + + ---初期化関数 + ---@param self ExSkill1TextObjectManager + init = function (self) + SpawnObjectManager.init(self) + + ---@diagnostic disable-next-line: discard-returns + models:newPart("script_ex_skill_1_text_object") + end; + + ---テキストオブジェクトのインスタンスを生成して返す。 + ---@param self ExSkill1TextObjectManager + ---@param text string オブジェクトに設定するテキスト + ---@return ExSkill1TextObject instance 生成したインスタンス + getObject = function (self, text) + return ExSkill1TextObject.new(self.parent, text) + end; + + ---テキストオブジェクトを生成する。 + ---@param self ExSkill1TextObjectManager + ---@param text string オブジェクトに設定するテキスト + spawn = function (self, text) + SpawnObjectManager.spawn(self, text) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Midori/scripts/character_scripts/ex_skill_2_particle.lua b/config/yosbr/config/figura/avatars/Midori/scripts/character_scripts/ex_skill_2_particle.lua new file mode 100644 index 0000000..7116c47 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/scripts/character_scripts/ex_skill_2_particle.lua @@ -0,0 +1,59 @@ +---@class ExSkill2Particle : SpawnObject Exスキル2で使用する独自定義のパーティクルのクラス +---@field package object SpriteTask インスタンスで制御するスプライト +---@field package offsetPos Vector2 このパーティクルの初期位置のオフセット値 +---@field package textureOffset integer このパーティクルのテクスチャのオフセット値 +---@field package lifeTimeCount integer このパーティクルの出現時間 +---@field package currentPos Vector2 このパーティクルの現在位置 +---@field package nextPos Vector2 このパーティクルの次の位置 + +ExSkill2Particle = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ExSkill2Particle + new = function (parent) + ---@type ExSkill2Particle + local instance = Avatar.instantiate(ExSkill2Particle, SpawnObject, parent) + + instance.object = models.models.ex_skill_2.Gui.UI.ClearEffect:newSprite(instance.uuid) + instance.offsetPos = vectors.vec2(math.random() * 200 - 100, math.random() * 70 - 35) + instance.textureOffset = math.random(0, 1) + instance.lifeTimeCount = 0 + instance.currentPos = instance.offsetPos:copy() + instance.nextPos = instance.currentPos:copy() + + instance.callbacks = { + ---@param self ExSkill2Particle + onInit = function (self) + self.object:setTexture(textures["textures.ex_skill_2"]) + self.object:setDimensions(textures["textures.ex_skill_2"]:getDimensions()) + self.object:setRegion(3, 3) + self.object:setSize(10, 10) + self.object:setUVPixels(47 + self.textureOffset, 115) + end; + + ---@param self ExSkill2Particle + onDeinit = function (self) + models.models.ex_skill_2.Gui.UI.ClearEffect:removeTask(self.uuid) + end; + + ---@param self ExSkill2Particle + onTick = function (self) + self.currentPos = self.nextPos:copy() + self.nextPos = self.currentPos:copy():add(self.offsetPos:copy():normalize():scale(1.5)) + self.lifeTimeCount = self.lifeTimeCount + 1 + if self.lifeTimeCount == 12 then + self.object:setUVPixels(47 + 1 - self.textureOffset, 115) + elseif self.lifeTimeCount == 24 then + self.shouldDeinit = true + end + end; + + ---@param self ExSkill2Particle + onRender = function (self, delta, context) + self.object:setPos(self.nextPos:copy():sub(self.currentPos):scale(delta):add(self.currentPos):augmented(0)) + end; + } + + return instance + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Midori/scripts/character_scripts/ex_skill_2_particle_manager.lua b/config/yosbr/config/figura/avatars/Midori/scripts/character_scripts/ex_skill_2_particle_manager.lua new file mode 100644 index 0000000..66da3fc --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/scripts/character_scripts/ex_skill_2_particle_manager.lua @@ -0,0 +1,23 @@ +---@class ExSkill2ParticleManager : SpawnObjectManager Exスキル2で使用する独自定義のパーティクルのマネージャークラス +---@field public getObject fun(self: ExSkill2ParticleManager, text: string): ExSkill2Particle 独自定義のパーティクルのインスタンスを生成して返す + +ExSkill2ParticleManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ExSkill2ParticleManager + new = function (parent) + ---@type ExSkill2ParticleManager + local instance = Avatar.instantiate(ExSkill2ParticleManager, SpawnObjectManager, parent) + + instance.managerName = "ex_skill_2_particle" + + return instance + end; + + ---独自定義のパーティクルのインスタンスを生成して返す。 + ---@param self ExSkill2ParticleManager + ---@return ExSkill2Particle instance 生成したインスタンス + getObject = function (self) + return ExSkill2Particle.new(self.parent) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Midori/scripts/character_scripts/ex_skill_2_transition.lua b/config/yosbr/config/figura/avatars/Midori/scripts/character_scripts/ex_skill_2_transition.lua new file mode 100644 index 0000000..17a4243 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/scripts/character_scripts/ex_skill_2_transition.lua @@ -0,0 +1,56 @@ +---@class ExSkill2TransitionSprite : SpawnObject Exスキル2のトランジションで使用するスプライトのクラス +---@field package object SpriteTask インスタンスで制御するスプライト +---@field package pos Vector2 スプライトの位置(左からx番目、上からy番目のスプライト) +---@field package animationCount integer スプライトアニメーションのカウンター + +ExSkill2TransitionSprite = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@param pos Vector2 スプライトの位置(左からx番目、上からy番目のスプライト) + ---@return ExSkill2TransitionSprite + new = function (parent, pos) + ---@type ExSkill2TransitionSprite + local instance = Avatar.instantiate(ExSkill2TransitionSprite, SpawnObject, parent) + + instance.object = models.models.ex_skill_2.Gui.TransitionAnchor:newSprite(instance.uuid) + instance.pos = pos + instance.animationCount = 0 + + instance.callbacks = { + ---@param self ExSkill2TransitionSprite + onInit = function (self) + self.object:setTexture(textures["textures.ex_skill_2"]) + self.object:setDimensions(textures["textures.ex_skill_2"]:getDimensions()) + self.object:setRegion(1, 1) + self.object:setUVPixels(47, 115) + end; + + ---@param self ExSkill2TransitionSprite + onDeinit = function (self) + models.models.ex_skill_2.Gui.TransitionAnchor:removeTask(self.uuid) + end; + + ---@param self ExSkill2TransitionSprite + onTick = function (self) + if self.animationCount == 4 then + self.object:setColor(0.8, 0.7, 0.7) + elseif self.animationCount == 14 then + self.shouldDeinit = true + end + self.animationCount = self.animationCount + 1 + end; + + ---@param self ExSkill2TransitionSprite + onRender = function (self, delta) + local actualTick = self.animationCount + delta + local scale = actualTick <= 2 and actualTick * 25 or (actualTick <= 10 and 50 or (actualTick <= 12 and actualTick * -25 + 300 or 0)) + local rot = actualTick <= 2 and actualTick * 45 or (actualTick <= 10 and 90 or (actualTick <= 12 and actualTick * 45 - 360 or 180)) + self.object:setPos(self.pos.x * -50 - 25 + math.cos(math.rad(rot * -1 + 45)) * scale * math.sqrt(2) / 2, self.pos.y * -50 - 25 + math.sin(math.rad(rot * -1 + 45)) * scale * math.sqrt(2) / 2, 0) + self.object:setRot(0, 0, rot * -1) + self.object:setSize(vectors.vec2(1, 1):scale(scale)) + end; + } + + return instance + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Midori/scripts/character_scripts/ex_skill_2_transition_manager.lua b/config/yosbr/config/figura/avatars/Midori/scripts/character_scripts/ex_skill_2_transition_manager.lua new file mode 100644 index 0000000..bbd09da --- /dev/null +++ b/config/yosbr/config/figura/avatars/Midori/scripts/character_scripts/ex_skill_2_transition_manager.lua @@ -0,0 +1,68 @@ +---@class ExSkill2TransitionManager : SpawnObjectManager Exスキル2で使用するトランジション効果のマネージャークラス +---@field public getObject fun(self: ExSkill2TransitionManager, pos: Vector2): ExSkill1TextObject トランジションスプライトのインスタンスを生成して返す +---@field public spawn fun(self: ExSkill2TransitionManager, pos: Vector2) トランジションスプライトを生成する +---@field public play fun(self: ExSkill2TransitionManager) トランジションを再生する +---@field public stop fun(self: ExSkill2TransitionManager) トランジションを停止する + +ExSkill2TransitionManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ExSkill2TransitionManager + new = function (parent) + ---@type ExSkill2TransitionManager + local instance = Avatar.instantiate(ExSkill2TransitionManager, SpawnObjectManager, parent) + + instance.managerName = "ex_skill_2_transition" + + return instance + end; + + ---トランジションスプライトのインスタンスを生成して返す。 + ---@param self ExSkill2TransitionManager + ---@param pos Vector2 スプライトの位置(左からx番目、上からy番目のスプライト) + ---@return ExSkill2TransitionSprite instance 生成したインスタンス + getObject = function (self, pos) + return ExSkill2TransitionSprite.new(self.parent, pos) + end; + + ---トランジションスプライトを生成する。 + ---@param self ExSkill2TransitionManager + ---@param pos Vector2 スプライトの位置(左からx番目、上からy番目のスプライト) + spawn = function (self, pos) + SpawnObjectManager.spawn(self, pos) + end; + + ---トランジションを再生する。 + ---@param self ExSkill2TransitionManager + play = function (self) + self:stop() + + local spriteDimension = client:getScaledWindowSize():scale(1 / 50):ceil() + local linesPerTick = (spriteDimension.x + spriteDimension.y - 1) / 10 + local targetLine = 0 + local currentLine = 0 + + events.TICK:register(function () + while currentLine <= targetLine do + for i = 0, math.max(math.min(currentLine, spriteDimension.x - currentLine - 1), spriteDimension.y - 1) do + if currentLine - i >= 0 and currentLine - i <= spriteDimension.x - 1 then + self:spawn(vectors.vec2(currentLine - i, i)) + end + end + currentLine = currentLine + 1 + if currentLine == spriteDimension.x + spriteDimension.y - 1 then + events.TICK:remove(self.managerName.."_play_tick") + break + end + end + targetLine = targetLine + linesPerTick + end, self.managerName.."_play_tick") + end; + + ---トランジションを停止する。 + ---@param self ExSkill2TransitionManager + stop = function (self) + events.TICK:remove(self.managerName.."_play_tick") + self:removeAll() + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Midori/textures/barrier.png b/config/yosbr/config/figura/avatars/Midori/textures/barrier.png new file mode 100644 index 0000000000000000000000000000000000000000..f370a968a6e6c60761c4f7a188d7c44ce1bf9bf6 GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^j3CU&3?x-=hn)gaoCO|{#S9GG!XV7ZFl&wkP>?ym tC&cyq|NqVF|3v_~T%InDAsp9}6M$?c2F6ES|xv6<249-QVi6yBi z3gww484B*6z5(HleBwYwoCO|{#S9F3${@^GvDCf{D997w6XNP#-~(j-|NkFI{ubWW z3Z$4yg8YIRI4V3`K^7Z%x;Tb#Tu)Be@c;0E1AnrA*vjLu_#ZRFy%x2ZQhP5x1L|h*boFyt=akR{09f)oX8-^I literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Midori/textures/bubble_emote_guide.png b/config/yosbr/config/figura/avatars/Midori/textures/bubble_emote_guide.png new file mode 100644 index 0000000000000000000000000000000000000000..a6b414202e18123cc93b634a85e680a66e0a9fe4 GIT binary patch literal 494 zcmVvD800032NklL{98?E$@`La%y+s+cA+7ER}K+p}aatE=lFu-ULeLWgH1R zr7|d~dm1u3wI-OHl&evMe$!{KVri$1Za$T<*ZHa3DM<}U69UsXiOn<=cIQ} k=*f{RowdRB0DV*N2kFQ#jp%gQga7~l07*qoM6N<$g5h)W9smFU literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Midori/textures/bullet.png b/config/yosbr/config/figura/avatars/Midori/textures/bullet.png new file mode 100644 index 0000000000000000000000000000000000000000..392b8f7c3906129885119b03aad3353ef99e562c GIT binary patch literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^EI`b|!VDz0_b@5|DajJoh!W@g+}zZ>5(ej@)Wnk1 z6ovB4k_-iRPv3y>Mm}+%BF+Mj$YKTtJ!KGPtXOJa1{72Y@Ck8^3Xe~T4g->>mxKTr z|9>6*|836R83F%a&e=cH^Z$Eal|aXmSq yC?TOJ!3aqGdOtPI(4Y{viAnS=lpGkCiCxvXrY%qkk1lr{ zic8T!pclqi36KCv`#ugRDgof)98Rsmw(3~FX<$x1B!QiNegddHVNJa=M#23cyH}D9 zN{HOm69J7~dlH~-CinlrP9+_DE;FfP!%70W)x#eF8vEy-0_ZZuH@cpqt?wwh2Lizm z5&SDvS)8CA+@y*KPDZA_vWx+%ScMJ}17@YMpaKMtX`n3)34t~to>{g9L`Up`#+p1} zzMe|}oGDwkyNU>ai}0qkLM%c6Q{{H^* zkUz(YMaTRX_wV2D?Ci9$ zv1z{(^(fi%W%h-k$7%Wb`CKmd`Sa&27Aq+!sUXg_f^$49EUYolD>F0mamHyM2d!u? zz3%RA6&016!KPt7(WU$gkYGnUCqTz|X8}la*5;Fr>e)l!RI2s&F{Lzr@sUR+bYp)U*)?NT@-*N^nGX&HpwE<%v z;Mv9t4j;NR(L1{-^eTl5`E&++*XK6q?n8Q4oRUGa|E#BPiU79>;>zSC;ja87a5$VP zWMb_dWHDukspEkn-1RZV_?=gRtByVP@1+^Tf&%6RskQVX=w+f2w!TF3F{DHitS4so zbn1h-$*d|O-XWw>+;M{-R^s|0 zI0^rVIJU#9h(8gE0+e3F9e_Y#vK^&&pihe4l$F1QC96&`j7JiyA8N7wi8TZ24jmxY zjZi|d+uhQ?5gGYJ{=};}>#xA3GV&-rQAhl-Ogo%-=Pxiv*t$64=#IS~BaJPqzkt$) z=C}G9jxj}bOt_@u3-}$AyS_Vixd=?_WbOVb1N_vQMmII-RV5+{7(lS2hkf^EzIMfb z)BJW14#LV(haYDatzv5+&F;n8{&TQUqYGN{Xq~4pAPf+|KnyxW<9%pQc_2;*olXrd z$@{?92zUyT8yf3mY(tsNnBF~+n>bw zU@Q%F)uV*o{+q2$h5HX8B4~KA-EgM16gyNL7>I{NRU~GeOvFDz^<@M^;H*dX;#3X%2)S89eRvy}!%~0Spjg>9h$|NVrBlsIKWloQRo!4Y^6`Zp>)N-w} z(hZTrBnz3Opmt*wt*a-%b#iPsy3lQprL2$1qRy6c1rEf+O2b0vL+Q~k&g^$zEmsY; zxzvt}M=A*IhmTQ+(hsmlNK>>Q1oY{^j{M-o%d0E5#_dgssd6Ho8;LMD!Xe}5=;GrX z5^lax9rll543&!g@4W9$-r5a#+^!_WKH?sdVWNez7`IluAt=WrlHOyi(eJ-8lgFiU z2V@Pqh77RDHFrH^e8q^w%x!2wwsX^kuT?~0jF@5=o2xyfa)-?JTrVPJ0htgC~v(@%Dtgd%iFO0cS>vX;9*Fuf=?9nC!;N&AtIHtqyc-nA7 zja@>QGCsL65_qP?khB-HLSxmDJ=M%ZH_B)K}-i%#v5v9yt%pxWDye2ZvXEc@6pfE@PD0hr1Y{r z*Qd>Hvmt&SlLf68l;<#Pge!%(Obb*YGYR#gKXyj$nzzNxunn{%f^+@)qksz`Ds9zT zF=ex>>-QJjzT4c)ma(D{dUAtZ0(Ja4YK~O1YL|*eD;;2}tvs504;efVKS$NXcF;vX zHu|f&EWGi1m#flFA$^Ra$B6aHOTe zi`u2Zk&_T1~fhss;p(*(Y$*m48?!f83xfnCxZ*ALJt&A*tP$P3IG(h+DcFc(fm910e@pj0zyLjKqmE%MS zS1IvisvB5Hw7!A5!^Ln$m=}{*?z0<>UcsIJ_}%4{%eQTTC;Qb}?M@}$7F~8A$mEM% zd`Es-Ad$!I-@R`s3Sa#qfXu9{7#zS#MZ--B*uMB6Oc(=|9bn6yAl7%~FCo=(+^C%E z28)PNS{Yu5OhjExFV^8Il26&6*o%}JqcuifEtH0}F~g_i#6k-WF(GczHDsP6c2R1R XSQ8c-oF?b-3HV`cVP{@`m>v6nxgKEv literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Midori/textures/emojis/black_dot.png b/config/yosbr/config/figura/avatars/Midori/textures/emojis/black_dot.png new file mode 100644 index 0000000000000000000000000000000000000000..32f952e6926fed6a3e8c08e8e28c6774175c72bd GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^EFjFt3?wJp^Vk9@$r9Iy66gHf+|;}h2Ir#G#FEq$ zh4Rdj3FVdQ&MBb@0G;0^#{d8T literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Midori/textures/emojis/dots.png b/config/yosbr/config/figura/avatars/Midori/textures/emojis/dots.png new file mode 100644 index 0000000000000000000000000000000000000000..eeb5df5529e8a8d668a571f4339092e73a982fe5 GIT binary patch literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrOUWQl7;iF1B#Zfaf$gL6@8Vo7R> zLV0FMhJw4NZ$Nk>pEytvXMsm#F$061G6*wPEVVBK3bFt3ruKaWT?N-8k{WU=nquD;OXk;vd$@? F2>^vjE2#hg literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Midori/textures/emojis/good.png b/config/yosbr/config/figura/avatars/Midori/textures/emojis/good.png new file mode 100644 index 0000000000000000000000000000000000000000..df8baedf092d1697de5f940e1c6dc2783271ff32 GIT binary patch literal 220 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGaEOCt}an8@pP0cG|a4t$sEJ;mK zD92YC`j z#ZwKOPu#e1GD7f#Kw)7Zn{i900OQLbCg~MRR5&)uIx#XVd&Kqp=CnOEK*Jb3UHx3v IIVCg!0HohPs{jB1 literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Midori/textures/emojis/heart.png b/config/yosbr/config/figura/avatars/Midori/textures/emojis/heart.png new file mode 100644 index 0000000000000000000000000000000000000000..cea3a12c758ab289a5f79498292947ece20672eb GIT binary patch literal 219 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9k|nMYCC>S|xv6<249-QVi6yBi z3gww484B*6z5(HleBwYwoCO|{#S9F3${@^GvDCf{D997w6XNP#;Il};<@c10|F@rh zwZ_2#D9%_C;uyklJvo7a@fbrGJKHwZAYq9macR1VC*rndsXEJP zDQ?ZWDkSi+r7`#FD^8xC)z>Ty3{w8GWQomYGCIhZBf!k?EmHjUgCi3&fyOa-y85}S Ib4q9e0IvE$hX4Qo literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Midori/textures/emojis/note.png b/config/yosbr/config/figura/avatars/Midori/textures/emojis/note.png new file mode 100644 index 0000000000000000000000000000000000000000..0d360af1ac98d32e264cb3707642ce0cf45d0af6 GIT binary patch literal 223 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGaEOCt}an8@pP0cG|a4t$sEJ;mK zD9S|xv6<249-QVi6yBi z3gww484B*6z5(HleBwYwoCO|{#S9F3${@^GvDCf{D997w6XNP#;Is3uv&MRt|Nrj< z-o88=D9%_C!8QX9KfW(tYRVTpff>0q9O7Qr-u;3Eg3G&LkIdM1I=LYboFyt=akR{05z*SssI20 literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Midori/textures/emojis/reload.png b/config/yosbr/config/figura/avatars/Midori/textures/emojis/reload.png new file mode 100644 index 0000000000000000000000000000000000000000..1f33267d6e9717d41b952588bb05fd8a47c3e806 GIT binary patch literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrOUWQl7;iF1B#Zfaf$gL6@8Vo7R> zLV0FMhJw4NZ$Nk>pEytvXMsm#F$061G6*wPEVVBK3bF@&*Qm+^L+W6E(EufCe&n My85}Sb4q9e0LG6%-2eap literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Midori/textures/emojis/v.png b/config/yosbr/config/figura/avatars/Midori/textures/emojis/v.png new file mode 100644 index 0000000000000000000000000000000000000000..029414aa23f8b92db2eabcba22a098db74e6197e GIT binary patch literal 381 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)35=aM#78c%TSpfk$L9 z1B0G22s2hJwJ!q-vX^-Jy0X7u=it@kVX1Ei$}vcmxJHyX=jZ08=9Mrw7o{eaq^2m8 zXO?6rxO@5rgg5eu0~I~>ba4!^IK6a|Azzb$NZWrY2_E6@YH|Jqrx*_Q#;M!}RZMPf z;^8}*b{85KusR(&@~DM}uk?VH?%ISO+xP8z|Mh(}|AiCZeV$dT&F;!foR)v{@t*$- zt0WlKYzXM)KJ%~b)V^y6*SPIXU2(u<;f{Mz3Ja;dc05mlf=pOp>p$5C%k6$yH#`I U_VXWifF5S>boFyt=akR{0I!XakpKVy literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Midori/textures/ex_skill_1.png b/config/yosbr/config/figura/avatars/Midori/textures/ex_skill_1.png new file mode 100644 index 0000000000000000000000000000000000000000..5be11e0281082485653625c78c7df2d098cfa7fb GIT binary patch literal 2372 zcmV-K3A^@*P)n(wP6nkM{QV@R6-TLPh`Cpa06gH%egptg}H!SGZ1H@9*#Gy@KDUn@&z$ z{@c{g&)AeWQM>bX{+-4B{QUp-_d_l?|7EG`et`eJ;s4j*|D(F{(75Tnr|j(Y|H|3JU-QBoCMAThh|GnY=y5ZYVk!>_={=wB`wd0#P zb^p8J|G(k?&EWsR;s49v|Ha||!{PjmrjkT{uuEN(MS%a>pYzd||Iy(8)8PNW;s4a& z>aoQCx#9oQ;s4U$|Igt6&*A^a;s3_rr@`gib$q74RT?$6WUtH9IZ z;dFnJ%-!ypwcgR#=A5YbCk zgrv)geX^2?yIzUAY?{!gqP(WJ(yzJ5nV_5I4PbCS)S!Q_sq*00v_kgeE< zuCd2tiZ5quqwlzz$y%TdUL5T>;;@}7}r6kRbjjA96ceP zWxJjxiG0IR3o3x=3BuIvvr%4K_uv9O%*{xSbxw^sz+N2dwnbr67_2))5y zq-X8S*~fa+u0(aQ_x}TPg(X2Q2Z2Zi=W;_80uK!iRs;+%I5?CG5*#5yU>M3(2pr7t zDgX|4aG4Zr=3mheZctgBaD$YjqVq~$z=xw$1dI=?S)&kanhmDOz!8Mz2hax>t)3t) zt+2H%duz?L5dtpg7*zsLznkj7_48PwgUZ^)31<+dDa;!j>_jt=&}n2I)2aDs4;DVXZ&a!Za#Vz9oxqTplTSm7Rc&$VN3;Nu;jm(iYUaGfL$ zTT~d#bP}u(?y&+T*Wg1Xl?I-KN#P!o@CvjCNE! z5Kzc+oThl(w>~y7c)&1lna{u!h(8#v077OawxLA;jWlIQqm{sYtZ4)rBX~7nMtAIr zVBEz960=J;ai5yn>6m&JxxRt(f;eYf9AKbc1^Wff3tPSaA$~6a%keS`4|xOuY(i!e zv_h~PwiX1(=mZ@L8my6JfnspM=urUk*-Cj+7mSw+fR)e7vpMFIGI?hQ+0=ABK!4)p zOcwHdY{kn=Qd|siJ}HwQh4Zl-FU#R6W3r^MspWWC2FJ+ahpvFinwMLs$odX1@K6CS z^Z06j9>W6|AEei=B6+zETNYroXngTugYET*_3R+#DppekV04oOE&PcLS>TYc;6ix@-IUIzt$%kzwz?|Ew4t#K;`on0fBf>Rk3M_n$p;?#=C6O6vgs^C zQoP=;`|uoN$G`sk`Uf9>^4?Pq-}c-a-~LM+TW%GD?dLd~$~OJ*_KPol`0mpW-g4Dl z&%X6N>tkOW8}{oFJAUnn`|f;f$0Ijiv1jZ3&%Y`6vEJX`tt$iDO^y2a@f~;HbnETc zUb^+dYp%Ta8F^Ie-Q8-yAv&t)pbla1_U$)bcKvl%UwpxN=U;xwJ-&hY*Gc4&(n@%a zRRyc`^2iT?ne?_4S4DHojp0000m8~A5vL$7WhcI}oGt8inM)qW1v+t2*A{C{?ctiG`!SKqS zJel9mIyLrfvVLFBIqx6udGEQO`#I-x&%O8DbM7BE-qiRmC)+tT1OmZnps!922XjzKst8!Or&&7!Y{`Aq0Xk#?;6{_pYZAKp_6lk1LMtzajueD38xo zBszUp4rvJbpM$LxFr1@u%M|pr1YEt51hNe7-Cqy$--xdQU8$h|8DYfZvWy1koz=W+ zwZ6WUk&zLuT29JDQr_nuw>>;K`2BmAPN##(!sfY*?{ll0>+4|H8qnz-SL~qvfVMPc zAT9?UfWE%IogojPEiv`M?2@PgcvIgYZwv01M#sda(Ts;jUHeO z0^gutm7M^#1r!^wMRmB2kQ|?2WW!Bc&XXQoP7;{Zec-k7)^XN2FMqZTuEZ zbgcfvxQ#na^heNY6J0dSr0@x5TDZ6A1$wU%ANqt|-bin9C^*guYG|_X^G1tU#8nz3 z5V8eF=Ze)hW1S$zzAM;A6`3gwjgdzJDQ-zVaUy<6PAEv_8##)=N>b_OVN1!`mL~eB zK92C`OTefM?HIAD3n+2c8br0A~}%*#lh62_eC{Ls#&o-w;S5;)0oqvw|z zBpZAXOWWPr!vas1w)IYT-jd+ni8wggriE;kq@Qz(dc(>k&>zwhd6+08&DBlqBG48m zTsov?GW{EKh{3@*yE%|IMg{jnf(L(f@!RTVMJnNDex}b3I$G>-&W>)~OOI~+A4s%vE#*eAA(>NE9F5m9P-buwVVcf@yLOEJ$(p-%qL zq9{bZ6<&L;D}^bQGqK?>kvT;REU#kGQ$d?M<&BR<+XQY%?M`=VxVfFy?|(TgmaK1% zOy4eTOw~|^6*r<)eJ-tWB`7}Rzisr@mc6U%p9AD#X{ zUWmBn`S`K7!mDo1sT%wgk8iXx#>rT8Sd)v*VA2C@O@qR1f7puY7WmJ!SL$`8Q511B~bMZ?G3x zrJq%Cm{oB&lk`jV*LL70*NIEnQ_ic<(&TDCv$%VC^Ced?SLwJ3jPHuKSLyOq!Lor7 zrY~O%BLo_t9Rk6hm8j*=|L>?wRnhl+;&qti<*Us8ALGU1g)SpVj=2mZbh))6(M!ZI z@<(Nkn(W_t<>cRUy=p0SPO<}ds6NRjhF^#y6LW&{Asy#`t?yGNkC8SGL0fQ=Sz{^c ze_X&Cpdc_`WgGF>P>d;u&#kDsdW?hc!i80|hzB}BiW(4E#Nn>M5h`mC-UN%ZhH#4r;*H2irF9Lz;$%+;@`gfTEYw3hmi z*!Gc?;A<1~*G(l1Srr-j8SCcRCpa9no!IugZEtK5oR=?qu}zz)dZ6mnRA$#)qH%#X zL6(WC7`1Ocm|6`x*tJ^DvQ2eiu@u)}V>duu2~t;T3A~a`x;8E;X$P4~ThPu*K9tYa zhAPiJgm?3tT9BnF_c@N5d2#9DXA3`nQd`- zZK;jvBf9n}i$K>GI!66+-$H_O>sS-?K`G}BN_E?0eZf%dp|JfuluBJLXGs0eFGGe($(i>wQMJjr0xLEK5^ zLzPv#o1Dmu^5WpX_*R;+R{x@KtBL>JhK2_2rZdYL{8fRB3?h+NxUMDyopDO4+ZWWa z`t-d8+osV&x5?}+Wf*}=QrOr$+~RAh`U|=5`i3T6%t>Qf;Eq#EkqMZbrcM`=v#&bT zsMq_}8OiI%an8wx3}Uslt8f$L&zK3yJ+bX(ZQb3jvrNgaE{k#Z2`yxQ>Uk;m`lXzu zufN{SoAVOl>;*_C=Ch!+c&9yQ;ib9jA5L~c#`DCC7XMsm# zF$061G6*wPEVVBK3bL1Y`ns~eU}EGG)P12IstOd6EOCt}an8@pP0cG|a4t$sEJ;mK zD99588yNaOGQ*@Zb%RVsHBHF(^7#o|)D#N^+K zq+6OB)wpsy#E<(h35N=KyNfRJ(R>Hq)$ literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Midori/textures/for_modeling/leather_layer_1.png b/config/yosbr/config/figura/avatars/Midori/textures/for_modeling/leather_layer_1.png new file mode 100644 index 0000000000000000000000000000000000000000..cf4aada13a4b457daa9b31d3d3a735073addeb70 GIT binary patch literal 552 zcmV+@0@wYCP)`5fkQcJGC=nne=(fL;I~kNo-zxk2gy0G8Dz0QeTR2LLGD_7YX@zN=sL8dVR| z1R&+4wzeA6DV-^B-p6jZZ>6)|;%wXm0QLejp1lMecKxgw)4cZ*Y`zGP`V9Ra$4w$Y zFQmaDO*-ZVJ3u5`_9aISX8-pm0IDk1Z4WY`c2zqXHk+^#;VykJ0ao+6giyf6EL1SH9Ig- z2$E#n;B1Ad?@^%@gODEE h5%G*bs~H%6sH$^a2tToI_4+R$uBWS?%Q~loCIBS)MOy#> literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Midori/textures/for_modeling/leather_layer_2.png b/config/yosbr/config/figura/avatars/Midori/textures/for_modeling/leather_layer_2.png new file mode 100644 index 0000000000000000000000000000000000000000..abd64e6b2afc513de9bb4794d53f15f5860b47e4 GIT binary patch literal 322 zcmV-I0lof-P)C2ia4%LKP}`efr*W;P{}&k(_|QiVHk#C7=~dO#_(8{ z<;0lh`T7niz_IV=wr!UP!wCS=Am3UWR{$Nu^gR2Xy{|d&X|IGpAOpLv>-r{$dA25b z%*(V0NKgP0LqR3t$&07*+Ys1m5g4aN>D>K);}U+VrJZBN|rIb`d|P57t+vV U)x6I!H2?qr07*qoM6N<$g2$hYH~;_u literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Midori/textures/for_modeling/leather_layer_2_overlay.png b/config/yosbr/config/figura/avatars/Midori/textures/for_modeling/leather_layer_2_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..4faea6d65b021018577bab2b0b24edb8cc59df91 GIT binary patch literal 181 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!3-p)I`?e@QlbGqA+A8$OGhHeL?OyTA<0G| z%R#f)L-Tr$Cnr#Xu_VYZn8D%MjWi&~&(p;*#Dn+kK|?NQLjh;Ux0kiP+ZQEGR$6+H zrEa6KRC3Qpi*4(Eh`w$Ue%-b9`GdtbxHR^abg^tQS)wRy6`JRve_@@M{tJL6C)l(3pLhp)JA*6&BN_*(7r}#Cz z^((DDi_h}rb>G?DB%91;XW(IWW@k5fe)DH%-=xuOHXAM-ot{R}a6C>F*PWk7JZA}Q zFD8@tKCid8Bk03m5R3IIPk8{Onil|QN^7kExOy6fI-Smx2tXUxuJ}IQU2awvUf29pimDNYi>1}I%XMwWrE#(aW%SgZ9kM-r?AoDlUv~mD2VL^Zh;LXm?ln6k#m-oVX-d`TevKIjKmy;l{rL_QXyK5QGqee&}t!L`p zY)3BLzt(bUZ2)}S+lzi49>&74_W;`6ZY1@*eKp#=aV5!%0FdT2gvtPr=8@M9z`P?s zPk~yE00}{w_X>bETvYFR_e{NdcK-ua#nbWdPtyqo;q2Mu`C6<;J5-2->`a z;2i)Mf>E8nef%UoMlQ{>-nuR;UkZS`y%HzUBc3d6LuQWMgwM!W%_dl?%Z zDf!4sdo$&QRXyE`PUG}zI17t7D4GD4pXy3VQie_0R z0M|8HDh+_%a#}-Om-7J7Bfu*FA%zrDNFjw3Qb<)vzb`MN@vlj;Swpn>{a}#fYY#x0 zhmOw9V&lwf1pr%dX&!kk06=^fk;5PP+8Ty9|98KAb%xI&v_ad-1Aq~lp?Sy($VdQC zv|ciMO`*w5o|~cUcfZV zI8F<4lo`+{8Z^~)g#c&>Fw40_X#izMbV>){dsMgR4=1{A;U6$>UKD_}Mp+|J*DYj- z$+pY>VS`4~04!w6xqi}eT{G)XTtxw7{gY(wf11oYM9ZE6_)9Lu{XWZl2ax9}mMgyz sqEQ;hejmsDdET1oSEANutbKc` z^ZCEI*M8e^y%nuIb@f*&-zn|~uYe{qFgz<+Si53r*zdI;u2rA1Ni=bP(Y<4~bVZ-I zxZzR;`_%W}e=lqkH@J13UBf%p`u_v-`lOePr!Mz0e2`>M57Wq-(DL9E$QVyoKbLh* G2~7aLiB-M; literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Midori/textures/for_modeling/trim_leggings.png b/config/yosbr/config/figura/avatars/Midori/textures/for_modeling/trim_leggings.png new file mode 100644 index 0000000000000000000000000000000000000000..509e2440789e72a85fe37e34c45fdcdb87ccf18b GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!3HE3&8=$zQW>5ujv*P&Z?80RHYfvV0V-u+*wBCPx1{N@3a#HU-C1krE}gPFYi+sw=hu}7 z;*8{tgrEJH@%_xqP4CXzZBqUG^t+_6c%5{gTe~ HDWM4fe7ZSG literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Midori/textures/gun.png b/config/yosbr/config/figura/avatars/Midori/textures/gun.png new file mode 100644 index 0000000000000000000000000000000000000000..7e200a50bf463343bf18c68c1852d03331817008 GIT binary patch literal 688 zcmV;h0#E&kP)wY=sRaJ5NMcYa*`aNT;Q`!}~Q7lV}u&wKTouiH;qA&WL1c}N;;L&Ye_}VK?BRY-f zi6Hwmh<%`X&J`hsV(8_1L}sI~{e|kzN(9ZKNHvA%d+d@$Kqi8e>taLlhP5&2X_6 z5eAgWH;dIjb=|i7>su3#>;nh{Aj0$Yc0^06u=L@eUJnoeW}z1VKqjJW%d#ZI<#Kt1 z0JE6tknf@_O`{HnvvsinXzUsDMwPbJX_tv8$p*R*jGbvURV`!O>%#t$k3exI3_@6h zVYsau!^&A$gposdYFK=9az8#R^J7%{GI|L#up4-tRK Wbzc}JWF6=L0000M{EO literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Midori/textures/main.png b/config/yosbr/config/figura/avatars/Midori/textures/main.png new file mode 100644 index 0000000000000000000000000000000000000000..00ac507567146db01d6ba7f7a567a1e05fb138c2 GIT binary patch literal 2198 zcmV;H2x<3;P)DL%`osgv7UdBbDsy@EGNVDa(v z_V)HcM_2v){O|AYmETv-&)ELk)cE-M|M&O*L9hSJhF;&x|Im^jj)KZT>;7@B#3#DQ8HSZXXld;1^=hYswEw==*52LS-Asjh?d|X?QD4CS zztH}{vj4sK`1tGV?cb=I>aoN-sz|Q}{%KyQ({=K&UzPA3p%KpH({=K#Sy~zK-$Ns>%{=T~Z zzQ_K*#s0s;{=mlmzs~4m#{a;@|G>llz`g&zyZ^qq|Gvflzr_E)!~eg*|G&KczPkRt z!vDX%|G&rb{Dy2^!2kdN0d!JMQvg8b*k%9#2A4@hK~!ko?V5>S+cp%(pGyKt=7ojT z4YUghTY)fWI~wQ;v}G$R&>MQUYrA#bec$(e{@Z&xEz6E0$KtcF_NO3ALi+kydU?F$ z1AtJ$5G*V}E}6iEg+<4}#l=OZKma5zxBz-g2!zE2$H08Yk^ppbC;U9PbR-+_FqY21vuEv0ECj)D5FqfdCxBuAe`qtjFTZ!e+QP%0cP=>B$wIsV zKmb8^V0FJJ{4i9P7Ft1pmtlE!5Efn;+ApMlh6+_)#IXm}LRe@O2MTMXyXYn|D+696 zFsO!wR`EyX3W5t4J@4WLTo6?NyZ~FuH&T`Wf-J!Sz;U#Bbbzj-P5%QQ$HRVzhtsT7 zW%#O!0W32!SSg^2hg~#1LyHcanU;lC^1dn_b_32-X{m z*2&}~w((M_koCz)G2z51UhBYcobcZgbDY*EPB9=}c$-aVG>#wRwFFj}!g2B2gz@9Y za6tu|4c=z=Y&2$PMSc4=KAC(tZCupx@!44l!Dd6YcZX^<<4T*fQ%hM=s~O$20p1Mn zQ{$cJnk*Ja8a0qONVECT){`jx>Vg-FkG;Z_8Iiz~#3N_U95L3!{GgTxXl{q$$NExB z3oXx~(;mVRl-pCz!E>!~u42*0j$cIiSYw+FurYppnTvOpQhFbofN}u=HC(ozZ#?K?Cs%%L_4pd4Y1%K*1NynO3}_p$LwHw!I*Tk!Fg=-t_ZJ2pW5kp))+ z{t2I}1z*6=R(r_KgVmI@5&_K$=4Pf}}zBr%PB7onGzAexf!m+>LYi;^(@IzMM90$&! z81NVPN}K*Y{0j4_v|_Pd6c-Js&G`mC(|TXRck}b}mcZ~0%n$!6cY#mgZMEQ4EcO=q z0=VKM>*~1lsT=U-J7WHg_u!*c;9x`&==)c$TzLo&Er#m^J8-2zQN%&qu&2am&?;)dTYUMp;*FclUi0l!? zp@c297g2xG&P@VaEsmO!n;0I2m>+ees6UZ#P6%uX;FJy|YB?c>ZyHl9fhiWoT2Ua= zM&ce0@%Nzg^P!lnq!VyM5nE19c_Xy3wX<#$#+`JJNq6k{-s@YH=rLOOnu@BF`h^*uSdt~D8cjn-hf3Pwzpx0 z1Nmq3QTD~!iuMhgy>&hXZf?@=oBdF^KKWDNKd@3%Um-~40IF}q9RhdQ!Y3kfV4*ee zd9D|juwhzQ7fpDV(}JU27_$NT zeg>eKFN$Az|29yIWRGK$^%Ty7kARa%bDmuuwCT4)^)cPlWi{}_1kq+=g(2^;|#T6tqf!dEPLvdy}7 z6quUc^_7K*xlSI3ehiEOGvB}jnn_Y-pqY*RUx8ZqGV?|2yf6)@=Zo3XI3pgK`C?Y! Yzg5$R=g90w1poj507*qoM6N<$g0~2Ge zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{03ZNKL_t(|+U&h|oLpCZ_y0ck zPA@y#wd%dvl5E)q7i_>L;eilJfS6ZE@`QwH(+r`T01041AV44qfdHYpV*?J@fQ`Wg zTb3nRvU*>wr0qMi)92oM&hL*~=HA(&SxJ_~@9}xPu4c3|bIUpB+dkhW_yZV9DaCW+ zx$)d+Y6u}j)8BoL;GY}MjsJIJQ2p zF#&O|6902V|J-M*Pna{&VBGarT&i_(LZC)z?=*2@oKZLLm?+lmO?S zAgfc2yia+r#fHDTcOn7Jc?Hm=s?VDHb2OBa_FGZ^2&H*v5JIBR5URc)_U+i;5dxH| z|32Ep(nw&;c_s~zYLXS5;%~{pEUnv)PrW{xMt)H{u_Gfy8dvH}@Ms|zx@r{&cWwi- zf#%$|MAg^Qx2_d?(R~xH5K6J&!9CM#y6JBzf6c0f$x>79m&Q$1Q11HKd(gXW_dCu{ zboY(#6iNw%sDH=V()QKre`esn6K9+Wh(9#qUwvH_Z|$8;Q9qlQWYOF|2RD#vSkhtx zp?iB>IvY~6H)B`{o6rD+Y@{0dZ!Y1xYcK3)6G{edQ8~;5hk5w#JSxN_Ol#s8Q*|bV z@BSxymc(%0CKTtisoqh{M1;}Rb0#nr_xFihiH^-jyw9w;tH_OS@4ao%kdB z(5hxrYgt;d8=;XBI5CIm&lU~span8-%-#;xyX&;dp_IsbP5 z-#+~!37pmyvC7X@5mbEaK>D_f=KQ}-O!jxe z%GsEn^sP^MnSDorR~1W08|YF%QDHAOB@>;W_SNl4AbPm&bJhZf`to6 zJ-B_{)$AKyf^ zTtP~SG;9q-Dus0JNjZBZDMBcqsw||mP!2J^=Gxct*Kd6*;lUiS9aEb|g)3K}bS<#l zMde#qQD*~U;_md!NKLrU*kD;qvfe7Nl^f3L@V`@G0zwE8I;V;Mx+*BBDoIpmr~vP+ zOA8VBYhBf^&!x*YC)#dh&nyU2vFgf0X|02U@j=(!wnp4 zAfgG!p7kxXnB0by03jXKoXZ#}(9P^zxNnDbf* z9~x=u`icERl)GCIN+N-t7_FPH1m-_{b9GsPf;@GN?7LpmE)xe{MZh2yxpTiJGg1BJQZl&gZeCV}+X^P1n{ zc8T44Ul*N1DX^3+Jp>3LgETEXG3D^J2GwB_Z>c+jwe|CeJ+ODu@0@I;_79U=&;gp} z+1j`&w!7Jc@X0gbZAL%VDtt`JT+r1V18{D)d{9f!r9z_B!N7nj*MJKs2#*vo zI@7ktU=m9s>ils=bnIL&vbh&+MMdLHXz-ISHZw??+`gfZq_TTlll8O=|)%VAk# zb9sR0C1!JhjI)_4LfCHHa;d`o_ua?UFa1AM*32Qcb8=Ha)GQKD9U;~rWWu=$D217h zF?iu(4`2)|t`FPMq(BPWt0DdB|5TLj+tZEmO!)S8>Mdmo(=dUv&H$Q?@n7+dGSYRQ zxz@J>sv*FTI9hsu<}X&NjI``B)2gcV3X z6L1$-f%Mz|!hS9l5f3Qte^(|vprkn_odd${Q*KVZCC<@{(HZ*N~uROs{@1^y$u zjUlUwJ_EKRfV=Yhxgg%n>s!~bap)0rO`sh9_M`8ApI0ngi;{}M3s*RXU)}z8Z?{}E z>3(egs3Kdp>rBXt0}s$-M%81bNa8CmMi1zsfH>tw1_AEsM8j)^K6G2Y_3$JNRX#e`fAdzsaL4c2`GO z7whKYa4TDloU^wS!zYHg`>wlq?d8{y*m#KI^Ogkge3u1Skr3s%ZN!g_O?r*Cr+PVY z)hf><#pfdQ0)0e%^UA3h=45e6j>)QgV52Q`8UhHK7-v21b~5#U#dTF1I&&qzBUMrU z8?>jWhIGWI@K9$Zl+7AFP2W}oT`#9-P?xIy$@QsNny4dMngqsn8pX?Y$H*RC%)1X`TaHob>qIA7nF4*A=bXWe^c`2~ef z{nrAEKZ(2&bz?2>DyTvsXTo=d5a(Fny(5oAU2P6Z)*!O(S{Ak`U^`!wBQ}-mrV_5` z6+SWSOt5E{`3pjRD zQ%iVT+jvMAa{s}@FR_1W3oe~kOKK5i57V+ZRl z4`(r?Gk-=rLbW?Rx{V%AADh4fcJ6;AmXy$Y^z>MbWX>7I24 zuIdRnmNWU%IBFrCAilcBb5E~TqiQ@L!(w7f$APO!qC3LQDUCRqn3#lr}mxed; zN#_6t;7EBFJaeYjCrj(VpmGyy2&nruFL1+C?a8ZE4I+`q1jO6(b$iHbg8}N(3T({J zA0IF|B}9zQhcjOxd- z=!-fb5)SHCzBq`wP8BpbWi*Tm>!_CKMAdm-8)ip(!ZZZJS0@23Wjun}mLN1%noJGl zpIlPTi5H|6aC`9(HHS3-{AS+{ zuFvP_Y-uI2@eqXaHts#VybK;A^ zkixf4suA@QL80aR*9CMnA?zqf&T$4{OMf?T#!p0bEWlN#Yo>{5n4lDfVPKdhVWk)t z=x1bTm`bI>-rai`85!fyfnF?2vS86%Zur0rWLh)m;V>l{g}r~rieO}mC(Hf$0FA*y zu1cto0vpjqq6y7sy7+>GTukW^l!9 zkKsfrM&Pb>pylu|(V_fAA4oJrb=`aqTx!(N8pXHgat++K@TFXVxoS3{#|{L3U#?a8 z?r(p=-A_J3Tnq8;w)HHIv?7(_$N7CcP&$TsMnw<&tZ;xgwXWq2$;EuHupdp=k(NbB z)A-`u-{-S`{Z53E=;bQ;STvX);@n(r#cVn^9h}kvYB@U0`20>=I~5b%rV22HRyQ#x zAi<69Kzk1q5EFpZfGb-F5^pI_8y9fScmdo65x|yBPcWX(b70S2`j4OBXm1~;VNk8w zJld!kl*^T%)I*>PLCuk_p-`B;yQ^IH=6BQ6)5Sa9^LFN}SWZX}c^tAHeebwoR2_hk zY7%FwX9@%vgrC&wK%4Yl1JWPq0}F#LAHPHhxB~s|V>k4)W?@_~pOEXT7GSKJjZDYA zb9O(z56!UAZ80gMm|RB`Wdl*Fp_0)cB;6QEse(+P&Yy%6;VL}*TgD<-i3obpUc*AU z#ErLpgPr}ySQT#Jjje0w)Z=8WDqkFVf)Qz)l|8qyGQ>-2Ii8=I&)4&NiTmc{i6aNd zl?${c)5N#-lDljL{>&{G=P_attat>yRGah~$s@z$=65=0Rss86I16njSUJS+Xc<}~ z7T^mL)Ng~CK4F@zAznb*T#zU^;WwPrO!*KG#i z`Rwbut3M<*K#7w?7RrX00bQw}CKFJ(-A|l+|4Gt7-S~0)&w}v&ezd`c^i-)3H4}uO za^-S_uG6?r0Q8YO;cZ7xY57$oMD>d0Q{o7+Q8iIG8Vo*%nef3F3ax4qd3Z0s+P0B@ zyYI*72%Z=1;tj2<0XS3{h>gWQzMbD2ND^8QNgs6P-qx&or`- zT%B6L70Ed~Uh3zr!U3wLfn}QLp%BN8p5XHz|11j@&*%03_b)ha-FkG*MNoarz;B$Z z1_(9~;9U%%m`v^$_hHooaH4Z12OkVBw?~yw#B= z?1_=7Q2QygfSQRY*B~AV68wbI2`>Ok_&h1X4b65vGfGgw;!}5jo2`5I5*30Ev|q&R za0&%{e&}%yTcy*MNLR*txH_?bjm18GQ90h!Z}u2D6pHnU9%}hLgoUSwb7*9cLZw71 zmLRkHIJJwH+RWakA!;a$NQjXQi|E*Vc+zXck7pTQ*cI?H3BNl)__7Fu%jX@U_nD%S zx_YR2snW_LeggFqrY8P#!~~F@kKC1v5B&1i=m>fuY0_E*fTKp9in7>L>2 z@?~81f-Ag<3Mz zxf>@}hMEbHP#~GiJ$>zh1w=LZBRV#xwub7BLSISjl@t9}(dm4;u3II<& z@i=$hd>gy=?%}HVY+jXKMqCTArF5Jh>}(zkprUVZNH(LBx?R&4hd^psXaXOU&c4)IvJ-7z*e$#<|Pr zW7qfq8ldYTLZL9BP?%IpikH6fWn6j9i^;ULIks10Vvv~Nr){+Tz03n8JZ}a*96&m* z&8P$D2<1x0NlKSByheXBb)3JPmBu)4UNAw*_j&BWohNb8Pd%@dOBN%OG0$}<)g;i! zRHsp3nl*m(-S2VNZFiG!+GFsc)CWB%L1Ymo2?n~zc zG#9C_I|1ub)sN=7{yi~u2&Zzi4{J#$`oZDJ=W(cDYXRX9!KfhzS9#u2qK_Y#nt^ns zu)1296mLq!f^`u@L)kIs2ZJM{bhoz$rmIve@Yzp(il?{jVtKfQH)d8bE0p9=Ez9?_ zJ2@e%r$ziV6t76keLdxnti&dV3)i!*it^hh4I;} z3}@KmOBF8Es%+f5gBPv6i1C$kNFNPKIN0r;IlnM{Z{tv-b1Zg)cuiA0JUc5^!{8KRh6m!d%#e>`YBT z!HVd^`#jQB4g&98G7+V?xYIfJ#6ue{V9m-PXJs&)L(a-zb!R33f5Gg?`UdLmXb;@d z!w>$3H~!fh*! z_X`IIBj~eA^wx5$jdjzb$C}=Tx91N6@E4ht2td>8^6{p7ZsGXl%P4kd$j|R0er(h` z{KOBCJ~r%mi`-~Zml+s|7)qP^$y<7deC61Js=Ny-YmO<3uo;956uYUr37heuKKl&7 zEup0(n;w6hFoKZKDM^#MvHfB$igZx( zF#^jnxck<-dEei?i@R^Rjp5;8f>}8tkXGL`QrK}o9c;5*hL#scR3?S4FgHyq%Grxq&kB{^B z*T0J|e)fx`wJ2nXs3Qt#u=?jd46fn)Of`4QNj)B z(^Awio#Bg?O!?c`U=GbRZN{PM{#H#13TRHgioG8+C4zxmLIg9t#5v6Xf{3JHnC#fL zgM`q@=ux&;h6tbGl7%4zzpeE155pVz-0((@RL58x$?)d(b$qPjVqO}XjVUGNa>>&O z?!NiQy#LMb;_jPo<;1bRpy4Zoua2PdJ(;S<06;LX1K~5*8rAj2YB3F9U`qnk8V?YC zfYEI}VoU#k7U6s;q)!{St{=-z%AEZwrWdIes2b#;)j;o|gS_|c*RgNkL0%N^;a|G1 zWL7B2_HsY(9{3$wtD~p2ew|vBcV*7!<>@6wDh8(iJNS zhjqN-9zK%Mfr7&ntO-|Db@W)&{k>Ay?gC8%DQT=!3Yi3%co?lbd8Ax;`!NbHY^h@m z{uTwAAkvXU3{8%$=tFs@#C1?d(|lQQC|}J4=c_;b_P6=zZFjRKl;*G6){@bq6l9GL z4L%wuuXai}j?np&c6A zR{lG`mx~i~XbUG!RKSS3%Nai0HNt9X|LeJzx*YC`L?&AB-A?7 z(|Z<%a+G`80&OB(b4lo$9X(i`JbEy5u%GPe`4~bVq@+_S&~-arK-p>WB3~vh1eH__ zf%4TtbcKhaFe5Si47va(xBcsE>g)gdRob;MF)fUx6uGk$3hIuklKf|O2cH;xlr7~! zq*A;jwTMr3UC!%MOKA}yOw*uL%2TbD85$hnvp0T*55MaMc0IiV)2dCN)`D-xRei*- zNgokuegacoUZ?a{N7RjRMC zm$WS8#-)Gk5x+ZLlw5!gJYMXhLyvP!d`{EXy}vp@O<7!?m_tg0(0pdVJ-6S*;E5AX z{a3;G>iH8X$~lsU2b=`1pjX%S^GkB)&6`>q%a!Qdx}Vuw_7Sd{(fj5Sl9DOX%RM+ z`}x@5Bb1bdVbmBK=_hGeTtD|R-m>rogtdutu`1fms&IxM6b>MPYf=lFHYqjW_Uulg zBE(CQ^BpXpevSKo{=Z(nx6zhBg|#4h>c=fM?W1bpD`Vj>Q$y0WS4qH03ZNKL_t)@vE%;Ai06h0;12>?dVQsCKPyGCP@s@6 z@`lVB6mY1PYnuGSPUWAPl4taOhh>d#kMAa(-_O!elDBqj;Hu<2o|ouh)GYIr(XHf7 z1Jg9nG@au|Pw@FqeV&C&7x28xpU2g&c{NJcorDbGbLH64G*TmwWe7MW#_H18D@!Kp zzGS!ZY+>C3(pwJO>#l3$H!O6*3hYFu*zh>fz7h0%Ws;pG5MjGPhE!@oF?2bV&F@G4 z6^slG@zdMyW_`4S)=-?|W|2p0!>5Jvr?oJDlUc>;XeTvg@!ipFJXRaAYw(YcQL9y0 z8}H%+i(gDcn|k}|LSsXugT2N$zs(=!#py*{5ue3F<^HDbV@oZ|wMz2hroC>$M~P|-Q>@p>0md0FnP+z@s|DvxGd7nt1~N^6HfEFSudd9C~!x9Kf7vKO63BY zrgLD=0gfE#<=&s&#}zMmAy@y&%V=q9^N6PkL><*Wm`zwOKM@f5|86lm-u47Z#W{B}3swGK8XjB`Rr#6jbbiY|MO}_TepGQ~lhL%+* z0k@R*pBC}Y)f3#%v4MmZ=5Q^?mqxc>ppd3Xp^&9!RQbq)7qYHpE}YKcMJy7zMn4&1*YnAOH8e zkpw*X*hadv2uUr>kX2$tR-0o0LeQc|sYsJGu}(hSbvf^BT}z7=IpcZc5d=@x#`xgS zqx^8}X@<=Tv%_iL-F_ke&~XXtBJG&c^kNBy2L`zN2eBDPjh?t+~{Tu6t!BF?AQ?NBOQEY z`JZx8WHcTYeA)6iVfD zmjSqO)DjpU%W~wfqCIH?`_{ew;r>7@s1PZ-aCHA?f>&# z$Cace@eS8gJ?kO2_UBeCj4`Km>ig&$LzB|;6excMb-=h_(bVfOT0|>W{Czhk_?PP$ z4fXN(!w=DW)vf}&C7 zQ;S~0wR0|-*503PB(*UAH@%!q#ux);fv5=4u7#V{0)CL&g()S^kM!6r#-xSmU_VC> z9}2{?ja@jkZ(lFfh>jKl9sdM^YHP~Y0;XaB4O&35f3zVzO?kC3y|_Wqe0kPqM+0!w z7!BCBXAg$7cyVeWrjiUass49p5n@`1{*XmM8kj~6-IDAv^Zd)$Q+#IVF%DHn>C)r; zS!M;F?YfL>;hV~7Rj3cG=n843(yPN&Hc6)Yy)mwmu zszkm{qi$|NVd?CtH>o9w3}yrIyKX(zgaE5$`U0Y%W478JbK6^siJlt&CK(wX<|{XS zk-2(;OX9PsDT@cneKVS~rJ)qpx1P_{X}cu%?PELmMs61|1eJ1;Y;Kq<()0N7+BdQ$ z-7{mU-^gfI#X8V|JF|Pxg~ngBtZMp<6(uo|Ea{$SXNdaDfO5Hv7q~A4GNfb0BU9#F zB>IN!C{4}P0&G`HrKg>fn(fXF#|N{7YBdU8!&ZFh*FGywoWl&jm422|eB&!$XQ7@z z2tiRAO-qs(f{@VIIC=|<9Xf(LOGkLPaD-Mp%HQdW?0r$EXufdcCmA|+%v1CINkkq5pam=cNT;kz zb(-q4@dJZ)cA67y=%pVByI5-Nk|n_qMc<(fjw7ly6bj9f=oO=0p4`c-Zt$6JqMXn;Tlp;1>b}Am#NoIIppiV)~>)5)fa}V@l zm2kdncfRwjaj7$djD(u5x}F-!2I?*Po85-Iocvcy}bU{FF23@gWZ>o8E91X#b z$M-kA3*dXVHTKM3? z7jael(lg4Q6^d&T^Ux98lRtnaG}dM2G_~$ZHP}VI8#8J(eC2zbqLvzFdg>yasYCr< zw`KnrxL|qHT0r9X2yI9DNk6fh^b>pRW78g5p4d%%S1*a(z3jWWo;WsD5YV%y0XX5W zeTNTWp?G0>F$(B6^G&ODi^DBQrRcRvSeA)$fUB3aE<*t=dXzV{ujebXuHx$W93=2h zBb)fh;6prJ8X$ts8(YugE8SP|%H%>?o3sm?aZUcy$P-kg$seZ{b7|BDd0b7vsMh%C z+pb4i7XBWDeneNB;#;fRn`TV zUR`6sPghV$#jW4_J{Itr%t`>hG`e|aHh;@9!b0c2MmBR-;SeZAZfuBhVVqaBt>h!i zUdrm!tY>7)^@P(z5bQOwm`ZY<*4h*Uuuy?aTfYf#toLZW0faADE4OCBG+00ty<9^# z4D_0bZkU7&gSLamPtE`uOaUAHYdB_#$DIv&4+H_dv+7-V+t#O$!2D2(vNRZwwWiKD zUyl06UoccOZdmG z%ek&~Ewi-f8IeB!KDrfCNv>^OO@|h-d(b;fpjxi-lONrTRFbMyuOFzC!cq!RtPmNp z3xV3fdxF-@`w8U=({7CD(P0u}dD@13{p#Fw;#dR~nHoq79USn$P36l+a*xd$ALne?N1$` z?Wu#rhI5l@839VwPoHA_K|s%*2H?c5-2VOBxFFn$E;M?LJZ6*8d@Uk`E(BZ3{dRvf zr@wnqN!GPYo}m>LI4&c$z8PC**{+t^bx0)79q zWjPvx?~HCkq9~UOHlmK=%J!wtX#IaYqEAy+(#AVxu)4j*I0ER*hVQ zZP`cr)_t^X*-!hHeY9`cN2pLbJ#M8p9M2GUe3rZb(0A|cwuTG z62;!?n9Tqj8~e)SoRcnWObhYqmgRh=>vCS6TtH1p9;o#5!NG^PeQYNHtD_zKL)T@z zt8E>vPGQnh8NaU%^ULx5Wb`N>>bRJQ&;p>~T|c~?EgLu59s##LV8cAQF2c&(&gNE3 zx_14bBmLb1CLj}0RBUQfC$g&#A%vZ}>_ZcueC+q^-np0SGUpK%8k@`gUfK0##@cWz zOClNaR+U|59;FnOauI-!&V2#x;lx?lcOfCDDGN12RoN9xogM?Q7a^|e9O^$l9Wp%i z(ac7ljzRq4G64I@#>U35P^?SzU?|DHTDECvvL@PrsU(B4iuBq4FKk)Zv|5+c!u)A^ zDPNd%74L3cOI1mJQyt*F1Ha?W>@F;2$0mHL>oVTmwvLulU<4X)XQ`K`D?_yEG5)$` zr4vYEdFI;JKmV@`^`Ed~BfQd4VnRPcfZW9^>Kp4M3_$N2@lCh#0t=0mbEXV9(Z&ik zyHWLi6WOsWU;olqY15*tjdxR&Cf^y~+w>e%k^D{DS_~!mEh(g{>1K4rj3?D2h|6j7m}B;5I9;ogAjLXVrR0}x!8i0aYt;W_(TR1OlSE3y-iWp7W|6L-AhTs>4Lw1E6$Ng7B z(jG~kmf5vD*1<^WCA9NFO6)* zP!_LjS;kedSpiURWMG(Yed#Oqf;i!L!R|Ztg{r!xs7_`VD$obA-Y)W*b^z72)6~f` zE%XzkfFeJh*`xo1fuDX;2MgGvRD%9!18tU5kinJ z*72ktV~cX6Ldyms*>gJ>!tk zVaqNPKKZ;WRz}--U&qC~uWdccLuob}S-vy6m9WsbKD>O!k!m$0zi>)V|83h^S{%=S zJ8u2vce(HGyY0|U<*&-?;sW-9mFISx91C#W)1w8nY%z!j0LH4RJp#h8*#Gp?{OaBZ zxH3MQRz1qz>IhF8%~xq|)xunvoX?P14Jcs9SlIh!0{85l;ons z9EQzO)74|1AL&3KI8e)BDn+$i@D_4@taZls(xJys$}|*;RnZRK(S9MVTA1J0M%Z2% zVnL*ZH)mGQIRE_@rK4;q9cOkZ$qnsx2`$%)0r0)Af14A>juGrf;13yASn()UrU`S$ zd9=`x0krWF+IW%3llzGNeizZlc22qRsz!~^ed@F52>v9s7!cet-h4T4iQ?_8Yf->& zi@gY-QZ50Cq!!|pUFV+_x8GF5m|^o#3x%a5vqMQcPQ$0U92*^J&Z{7t&EI%<)qZ{R z7YR{oOHpe}1%Ta?jdDkZ;e|ctmI>ew0$O=}6{RG1-Fi2#OxQir#?4C8o1xPQ(s`h0 z*L*jf)=g2NGq*_wP?jboY0mgL5?YAA@3@E#Ey90fpJv1?aY1|*uSzYN@n-(U_-?kB z2j~eUd0ld`=NWLvr$2Nf+0oGe6VPfVdZ~h5suC_$sm^L`P744;sY-aq5yCrr?XJSp zsgD94*|m+~LV-U|FD0!OeEMa5y(FKS&vTn|4h zgdY|j!!REL&ipx_As49y-v)}~P z*o(3<-W>X`fQm9{YqDER<7n68+|Yg@pB&!E7e_bq(az^_b!s8|s$*<3vNJl@f8=)Z z=}3kbr4}+|RrpQ$I8sV9O=E0ij1Ry4oqYAJ@1di`?#|@Swzsr#*J~h0N5Q1XKR=MYgQ~dd?3!XK}A9WZ&8HuSR ztK;4LzBV!=Q%+h|0J~5ER6K%2ph7zNl?&>%`kju`LbJ=XMT%uw_DtTWHQ6_W)OAXo zZMM0m>=tt}8b*dgXoflcIttLM29e6lDq@{=6CjhZQS1S$;s~(jCf`zuo=}pqG^r?w zWtp~w)OFs_wXP}qU%)97zdO1@N&co~6zZmBO~X< z@!8A^r+K2-hlRp4YSe1BmiKpaFD0Vs&l&>|fG&iW;@jiv0CX~wM!H@q73{cF2|;Py zQgZ8-FurC1mM&1bKDEO|94YbTK zp{SrNzBRTDfH$|TB_^~06F8pB^1b`-J!{W(d}N4QANeiw^*AdcZPb*>!`0^9Twyd` zk+#EnZzR<`|m@DXEs$v2*Edg@iQ!?xW4^Dgn%y&Z<>*3<+bUhB(*TVFC3+;B(+)v z%Q7%gyn5F9dSAO|am)@S?LwnU5fY;5r|UKB2B35GglkWGpN)-XQTS82RlO&I-PgcEy z0>ECAMMU;gN6#3W5D4Dbx`w3CxubB9?Uf-GMp}4lW;NCfh(-WEFZc0e@fba!Bp+$3M~FOTlo#g(yHr1dDri~_wg0RCb^4*poLrLTe^8qT3=b)`2AHW8qYX~6XYv1Jta%h@xq<@{DN6ue7 zdF?+9G|MD8lC9Tgb6mn^JYrWHvQDytHFfSX09V}#x=orbUo1FY8z&}oB2FlV%Y_eA zn*-ohM%%rGJQJfui|~Pti%E+RU(If3*er2Ld^UfbUOuDqgb@5^eh-IhIp&1Zyfzi| z4CtE12fzO<2C}2i$hwrO6>hrYhlDkqS33aSH^;U$%`7zp?`gY$xEA7nMz>K@l4_-h zQj(CS^M-jBbFPd<;mj$yAV(d{D(VovUjyhral+Zj%BQ;fx;?ony<55~9I*?CPSNBw zJ}^?J4Y%vG5abthpBxLAAw{2Y25_=UKoaPgJ=-Jwh^9AHo=X6EtKt>=@c$%lRhz!Q z=oyYZ?+zt+U&jU{aKq4}jLRBVCKqsVWM+8@5d{A>_7tO5g{x8vxFXhVSL1Q;0BKo# z_&fi_z}RUp0WtZ~{C>xFj*gD-^2B_STA0W3y$m;5n*m@+IK})(3prWkq1rG?Nh;-% z?Gb2SOclRTUDTx|eNrvpsV6pg?@ty4^sH$B9bKJ-grMIn5fU@6{Fc-r zfyEfLD$K;Z%*z^u8Eo*Ajh;}FS0@&b5E?gU?UdqcTh}l@G_%}wp__v?lesVluDjRVUX;Yh(;cLJ6DJ@!!;ogQ`$xEDh-yWdMyqK%NwiMA5NBaZiN-EDWau=7T^m zZZ@w4q_qe|X9Jw6@uw}zcu9N?TWVw6ncYcBi}0TI3rWvV`t{2ipB#JyiQ*mY7t*GM z1J#9}Jamvd9{SBm)Uf8XfZ8Q1`03Wi$ydw#b;~M1@nGTTjM}VS7;UFJl%ThoV~078 zQL9p|mXIj^X4ZwI^vF5I0E80`JmTORU0QPtK%yuqgSpXGJ0HNug!k;)6~Km~qW(Ys zF4I)K!K$VdBWtE^CZdKfa$8t(i&mS)t?^4M$bL>oco3Kb+xLm41Gb+f7mn z^QO$|8J}xd8r+uKjR5|x^?YJN_n3et1mC*rTG;pWk9hD9zef7vr+Vy``f~-)BPT{7vimNTv8rZYLUovJ>&QHr~y} zt&2F#ZEPvVhE(Wxh}u!DQNy=PjCDi~IRQKcAFb>gZ46%-|4q+DdUP_X|m z1S7=)wd6DfM2`*-N~NeM`y6^ANku@(Iq%rKSyT5BI2S=c&kk#EZ?Ma?CJCd80=ga5 z+FzjYl%xSLV3y7(6Zp%v^N0$K|1BTmKrPFvXa{ddFPm}V(C^Cq9IB47B+|+|+t%3| z&{s|9zdrvJj_f}$;SMTpy6|*Nz|jJJ{DYgZP`oC+1PRF8_!Y9+jSh1?u8^I zeP%&Co+Ob>IsaEAQY{RwSP-oC?BWYT5USLev-=Peq@6RyyF0KVr-!ecMFvn0k`Mtu zsA5jIxmbWBW)V;w#d-z&F46Why0Krk@ZL=60eq?W92?2l|h3@Aj=+9_?mj zw3Gdnkr}m7Yt_PBomxmmn%wME2y%1%U)H*m<;gD2#i0w0sL&X40((MDg2D>rBoWok zPInZ>^Q2R0(&-i&LyIJk^l$@VAGnpC6qe8_w`GD&M0_J$uA)hw=Sn&KBpgS>==`2P z6b9h4!CP89y9!`#lVF+U1D+arqIn7lK8*``rpDZGns>FWN22(`$R=va;x#QRSftOq z_T87W+bBqb7g=pw6zvFT0)2;$^4Sl5gle^dTlWtE<$0acY5|s%{QFPuMAtN4)v_E= z{8w&A)AwYd`1AB~bOhhbZbgO^!YI<2)LGOS-eI9EqlXe7|7p{Od01&&SM6cg~b z2k@By0mql{by?N$n!mVl2hv>^w}%&sq50Dbhn{^$yz}_A0Vx!vbb6u&F@tdylY#1! zlup?Idq9N0miZGM001BWNkll2LS4TGSk*>@5o7T0EeVQk$!zg6~QN8;Q z^R<7viT8i{Q{FTe=5~UVB>ILypZGjK{@sIYKibQyQ;TTRqwFjXQB;;4k0ONELqr!4 z)&-rJD3OrHqV6P_xJGLt%mqCW6r=pDn2V+flv0FrjYvp?pQbsNhY$i&DGVj)a>9X| zY0zs;5koRIG=x%;6k0ir)ib`_{%XDi9!$>UkVl^R;jwDBGH zZdAQs%+Qi~bnoju*BO9MEpp2$JFd7z;g%UQfG7gPmsoPBmSuUe>y)j|h|noWgOmuL zF?RRD}3uL zA=t5b8=D?}go|JB0^HgGrJgpM0a(G^ZCVyTd;C$BbSJoUQ9Fcclp;C)se74C^ty(w z+d5Vxq!Ei~{%YZVoeKdZpPemqTBAFZWS~|>q3F`%Sf~lnrIU?*tHfL~tO>Vp*sS+x z7&<=S2JB6#V!MPcm9SqMHp}q**;6tAl%liuIQ`2O`rLwUwP!^!m9*QIoq`lRqpLS< zB_Q8DYYH}8w3bIUJ>_)yX-;D3K(A3?mQ&2pFRTZR64U3!o_wUvaKMT#>~P@|!zF%I z>1Teal}i${d2413|C-%4qhcZltP=MZ4slIt5$|uifG>=0#k3?s)6kUU$N&BnQdXX2 zt5zb%hq1;7Fh>WlWCcsv#W*ZkLCPwheB%<&u2mGdsFrC;?fw7D=nBQLs&*5Wu#1;8 zu@t>Vfs5j>)L{TZ2v7Ytvsviu1gB(Jy}%` zi3#0STb)HHo&pFs71(pImSbt8^~^8<1UGbS;G=_&@SXA9bcEupj&<^e)KYHAA3#Uc z?L!5o0$mf#Yl||!BZiWa1)VV#b;dxmP|}_fnaH*m721MoNCyxpV=up-1%Me)^eXX$h~qeZ=JW6 zYg)RQr@#;9&I{801Pxe`1VTfjcDp6#i!CRH>eral#n`MaC!^5u zoVfx*KrCN470g3CyBdJ7Z598-%$+;e`N_Lq_tr0ilI3r&l+vA|KQ3n*X(iAh!NbJBl)E)F%x`>2hM zRYEnSZXq>=88uP5pc>OL!jjVH2x83c56}@xaDF($!6q8h_65?>g9$-yr)#h^bLF|} zgzx_B_j;|y|JUA|M_H0y^?|?pMa0{4&&sU5s!P2|t!}ltrCuZ?840kEju#LH1Y=`i z4q!YW`kcWYACK*^eP+h~1IuHbBg7&b0|z`Fd*&P;TY$!rFi1j3E%lawa9FhJzz z%m85j*b?Ti-AwEjPR0Oe%0HummSZa`Fo|&8KES-l4P1{b8+pLq^Nq`zT?dld$Oyps z7B*4GV%Y>rw)=NxBrxm5FTgf&!bXFUsr4WV?R}qDYo{myQyJM3yZEwi089Bo-_&59 zoUvx`^~Sod^Co~TyN0^m8g4ifc)xh_`5u&e>oZoecm8 zFb%?$*5L7URkkp16x`~n=9)_>AsHYFFaYFr?QzsX5vu3T!2I*qU^e1I*TrkMu=a+t zEQ}dA4_UZq`q9xnzy~oyrcofYlRTKY*dL=O?s1 zHwidMkT)P{Dy*byb0XnoaDE?nVh?y@4Y<$%&NSW7NpDFWp@F3@C$7^q83IH=&LCX3 z_uLa0@cNgHg6andq*kqhrBsub+)9A|7O!?sT85Aqx9>gIIR~|W0J0rd>D7JGlf9cK zmczp%MT!jo0L&`O$I^BCboYq?9Pg7G@U~NjWX4%*#?8kmPe6cBb6N>1+2QloWipBf zKt1D8Mx-tQ&A^-&YHJ3_dCgc>Iu`2jxvp3s~N4go!84!SGk_I4? zDVNSlEr?Jsfku;2V;d(-H>U3=57pB6C)=uPUONUcn90vI%)WXl?1a?neQm?JY7KB4 zz%cwIpxb2VdK0_LiGLnAKa@Zn zlfD)`0R_`_)0@)4l37B(S%*&B+|Krn4+`?YJ03i^u`matR`-uVmt8B-#J|-uv%`MxWLfYYqXp*4l+2LdB;Bqro>1 zFSjBQ5DkALd><0N)lw$@oD!A8?jmwz$Kj^{P_V>MVWS5J_Q*wb5454k zS;$*k6ew$RZl;fw-Qm&L4$M}|PyTs%La8#2_U!QO*Au`2aL^8+bbwVm6zlx}AXr3b z^jJ6q;KkZ4yr+Byvz`H9z>$pC8oMqG(`)d~vkTWHrQ8Lj=|$djMCjT*2w{_xKHJ z#6ede6Jh_tSyV3e?%TKXIW#Ke(8~Owaj~_BlesxOJ#!M@*k9}Uxz`nySlrItsMq}UL`3QVZ#kV6+G|S6Bz=iLJp^IH%j5-K#6hjI0q?NpJf@;JnJc+Tz{~b7z6-!H zr$6A=nyg16yWsb}^#}hAKX~d~_sFD>$IgWdI@P~gu7ole2k=^i!>})jh zCi&*#RG)l}1_;}-fqAP02@Y`s-n@OQ_wUymFk1~c`MlpCM(p8X-Bwc>(t8S22!!hV zEXo^O=`sLanSi9~n^y5YiGVb{R4GFMc(t~UCyOUg=-{~B+-hV>b=W&J#cZ*&<<9R< zf#fW+qXF=cdRNuRuYS+ifIEtAM&x~bzQ4Qond7NkzJ~34-{9X?_CA9N6=LjjboUP! zwKq?kKzVaJwLD1(@rbiK%CzqJw}Q{e=d60yLchHL$^<-(Bg@4`AC8 zM?+E`#|ROBq~WxOFvMmjx@>ZH{GvtvEClNN2@>kErG|cnWv|wN-DiA0d+}0CyNRn4 z6`e#P6h|`_iNU6U+Wl`p?Y;}B-FKnOE$e;L#_9pE+C2RDMua)h%B67Jb;g>(vyD4# zpL2aXA+{ewB+_b{$+Sc+)Whj<4Z)t)T@Oumf*$|=a$Z`57_6ykqX9=v@i{niN>!bLrOTFyW~m6MnGPfwi{E}} zxctVgHMEwNMver>YXF4DX6oGoj)Vm6*>9^J|K*+doxa+XNSL-Vle<8Q1qvr*J@8nYwvFuvAAmhuL6p1SN2{{dEJOsSScFll z4QB+_Zlk%flCB&;T*T`uf0Q0s0N?%IcjAUqgJi}%)@-bjn*zACUC&l@CId-6XLj8o zXG`w>H|Si+eMJv`&YWorH4gUog7xk50#e|R5QjLQch8?2`ueQ(^^rSZ$7%p#XyVHza95@!vpt+qOQ0Y%phQWCxKGnp#G9f*yl((1WEe*oRlY92kobj+%>!B zO+6ZvR()GdsXlLdLu!M-VQcLc@uPwL+!)b|1f_0^df9?PG*bUD2SK>EWE z*arZL$g?bHj3{1@f2{8G`;eI3h1{~+k3kcFNjKaWDQ^gB+37X_=3q2!meFNOvZ4iZ z?S$74(4SnftFB!!g<7}4bKTt72rCsu5)!QTAr6?r8)wdd&EcYPIbxI9$T@(nARrCE z;PqYw5Jwjmu(Y)7Ct@rzkSBp!WNw}y!uCO*m4GbEpGj2rI>=JR1OvEa@8Mo7;kyf~ z_-afQs@=17S226#Y3&bH_x3>bI!doybjyv*xO(a&7U$=DW?+K%)sGZlFD=4ayA7#` za#)+k$cBOa)29It_DQR#16cpnfYEqR5Ktlppu2m){)y@?htv>GE5}zA9Jq?J)=X?a z01Ib;027RvdNe>=OcjmSb;7>pO2l(L!-lzaRZiIevYa7i{ zIl%w7TF76Cb_FtO58e+pOn`wp*yk7Y=M0kK7gW`SB>cZb4S)^;dehH0Lkh2)rAXT) zyAy5!Ty5>*d~OzHGO#&;a5s~qFASiV&!JlHym=HYcTF;Y(`JAD044#OP8~C5K{Xu( z>;A^tTHB~KQLCcx>MOlJcWWE1`4U=s>A%)6t-4!HL;(|$leW6c4$yFY7xg#3mE z{p1UU0t_MWjoKOv5N0UeCavvc9zZ68OCe|WP!!;XT~+I}za*^z!nRXKN#xpsje5&Q zy*1ogwQk=I#*1=0odI)LX+I?f18jXu_Gvd3-aU0R_~^ykq7z?>QHhHdWmS*l5z zd52S62}t_fWXkg=h5QiLBs;GY0xCIy>t0fC0CB)53rn#8YXd@oK#MuSp07?aDM80O=<#l>4vq zr1|e*6bgk<40Y11#ID1&-7EyiWEek`dOD0hGxH!C?4a4F4RnXlH1&AfS6D|%I3p5v zRBqmk-OES<7hic5J6qc*w>1k5C*~OMysBZi{}9>_g|^+~^R5BdwQV?H%y*dWS8K^^ zHD@yT0yl)h?vwhSusmDx{B?ZK{W+X>3b zt&hO6AT0}5*Vi$-xQIfj1Trl+mIYWAZr!|rN@WHW1rj1vHotK1y;@a3q}Tuekfg>M ztKpy^j({Xw&)~wn=WzX77a>`Tt0JFu(3BaYS0)3?OfiRt&K&C)>8vl-aa-O70NC9B z&VAK6z*7LeyLb|RQoHGYsO?C|YTX?rFNCkWFTC;^Ru<-Qd~p$tdoRGryBpogx$|!5 zpv@Ejfa51l0>m!4D7pOuq>q?qLWLwoWd#_?gmeV~dD9VDi}#trGxyjv2&c}R#+GbB zvQ+&5?H_9raD5}|2RQn92sIrz?l>5(X@(<5WDgoj>dIJn{Q&xq+TB*m>w|Z_f?N&{ zJ^mPuUAO>eeh$X=PS{gcrTvfv@bZ8}?wB!F2|)^&G_HIyC|eE#0vdA&;BMEFf<&ND zSxk82j#X9Q{s->IAAb6?{=o~Ez41m$_ za$_8}NKCHc69xGU=1^-Hvs^A0dcI{calkQ3!dV`m zO>76S5;Rba7EtU_Zi_Xr4D2cL3d2Z#(1^c4M561!81g)?+qKY^ErfuV`@6HY7BX0V z)k{O~ojA7a>p*n+um7v8*?4u2DcVsRyZ82Q)yCuj1RSRz(nx_r*hV-0U|{vQOYdz% z!XyJ_Vc@{A+hUc?y{r;25s|86Wxv{aS3e@6Yswo=lwd!%>-G3_4Jq!oWP9UE&)4aW}#nvMgn+L+s*fX`)iBoI<+>uDyseA4|!r_2WagS*j%B|YR1NjBalZ7?Z zV>hNuGD%V_(*)3;XZdtt1s|HdA0=VoMr$9xz5PvGc50AP;$UwZQabpF4}JhY_K}|q zvg;Zlw!W`P0&F1y<&SeqSpTQy{wEk+jl}>kxpUFHgdb~HLs}oSX9z4Sk93tW6|G-Bj(7IJyZr3eC0G2)X@do>4rSpYGPL7Yj>2S_oXfjXqw7ajyk zF|+7POYIMY2>km0=YAyt;sgzVNC*S#uhj0(!6JeGdGT?av|P&iU)gvL&$YH-fv~@~ zjYhqSQcmDg|I6RQedq6YKdn{+HQebx9{nY>uVA2|YJ`F`?m%s0^xNh+s1H&kEJ$w% z04?MPg<2bl*r!B*4iDCzgGom0MK=0H1JXDe0#fXEBw7k&;NB0mmjb&QEbj6xjln=A z7y<|pdb+k`n8F3FeRuIBeq`=J5P;{ZH}RW$FQds4a3r?2@4%4~?|5Jt?|u&E}z6wTq+T(=dWl$`oOw;sT#Z{{kt8yC$DW|MDGQtUXDASR!$!jH4X5h!4UchIb-N#SOKZN`8i;&Ft z?b<8&)7@(jARO%PqF&tt34vU$h!e+L;2K5f-o)M>sL=rO`L;czp#X4_fLg7NVzB^^ zJxl6YKh`})C_+*9-&aOt0vdY=pvU<{9CSFT3W0Cw2(WTFSUD3_)X-vyGFh>^Zp+DV z0MlYXX#PI%&c)Q9sp0Vks-?Ch%J{{_`*6~#;CgEh|L5j&*kcFmIN06afn&E|m=>&D z4j_Sg)16tdy?Z;jddmb`7L5HWSQ&t((}Ey^FiZ%zBk#eCansn$fAiZ@@Nt6khfSX@QHXxvc_nCz0)eUXAyz1QPu%zOj z*-q8H_pMf=Jwr!fR_q3I8$ifg{vvMKQrIYX?@P27VoWAgH3DjVeF_8MqL@@y6RE0z zuoCHQ&Lk;~y}NQPmTpi6RIa_cX06U+V6V_kUTQt>bEI6*bi~_>3KfS0QC79 zoMr<+D&~iuvGfa=%1vU8C5QnC%LI{;DPAUr6$AKkVksZ1UeuvOGAM>Iw&N-%YW=sg z*P>t`k2S#a00f6UgOCwn9=d~ZLIxnrhT=gOh=bR>wnp~qomq14=;_q#si|oi@}TH$ zbP>NEb?$#%cI$2kAe&WCC-50}SG-UzKtl%V$v`(mAPB{-oo)|62QdeQ0H4()sA&cc zLT=$qrZq=N3=7j@*{wcuGM$p^2MyN%aH|1_CAK)M2?P)I7Zw?#{N67`jf2pPLn@Mh z-9SL1i&^jhf9xs0@(P%M+`{QhX);Nz0Z>*Tc3tmOn_za_X17Q>!K1?Y)(bD-&%gcc zHa*dy!ZIdD;Ddv-&GgDAlK}w%V*vuSxBdEO?==ajsRyKR&=LfZDBzFg= z4zL3xl$YV2+`L2FyD{&Ae#A;)WnY@hV`V;%?_8}y7y=dvy!iS7W()hc@w>l+YisMc z_WC8f^39jpKJ!B#{$V`urZ*uj6)4eV;0MK*5fcf2M*RRC1oYOAHnp4TjRB+hgbM|$ zmH~)-C1C@QY|}{MAnb&xtrE2WvgK9+5=+dEa9*Yvukdy)IVBJjF0~87e96FUo^WL| z;P@|=W^iBw7w-UtV!+4u!nFok%{p2y{C3yBQ?J+Hv=#O>yBlK=T3#8D0f%~qDKv2d z&=$X_l7)=TfVdaWUaPPQ3tC{9b1RuIdgLU=!kI?AK`?|%C3XmsGYwxSnSmdBdI7)t zrA=%fbO>c>IIrYje?Q#U-^u>!K7v;Uq!D8FNf`j0^Gqn$z75?34<_uohMv!0l`5IO z94Xyr(9%QT&F{G1mx`%9RnrimU3r+ujQYT_Z13z09FpkJU=igG7*qH&qNk@ioxC9+ z6pe8rkYF`J8DzSEpiB-~2p|)86YUCPfJ9&iG5YXcZeF_)c8X$hN^wX*9Tb#m55S9) zrM8$nC(KH=N`XP4?1c!tmH(<6TlaNAxJwcidJlJ9`5@JeZQT0An%pf>rzv z(h?fM3^fT-yMN$>kuX8RxI00Caf`29jPH-2?#7Lz1CHChMT}d|65`a;h%MQU!Oc## z6qxM!S*Ad(HTp@-knp`-2aKPZdo!d;{C#Zed9ajf_wS(Taa*+1jR2+H0B{iAuzr0( zSx_ir;9;9V1QG&tgxyXit4+;BCGXy-1iclx^hOxP#h4Xd$|9kzsvA6mg&7ORkOQVZ zGWQUQF}W;Ko8R?o*YM!nLKrP0T#ta`+;bU0117y$4<6=srveMiGe=I?ReAwNodeGx zOhP$ji6`3u90yFMf5f}sIW;OJau^~}<*yZUfSGrdJ$f95Qk9l5HE>{!9oRGm2QGQt zt=z-NT)TP0^#C;GhlKyLSS1yK9$o)r5c-UY0vt;YKnMT3Zhw#mkZqn1hn&O0%DsoT z0)%i&RncRn0?f?-^E2*DKmAa1@7xYh?@GHb9kK){=N?C1%-qy8dKn|nLv)|}bG4gY z-&L>GwE{mnaD}($2E>?_%Sb-AjskrAqs`DjgV2r9xXtQJT23H58_g)qC!8pX2f!4o z001BWNkl7zvjFp>_RGOzBSp2*s2IMZTQyu5KjC zzSAfdAY-Zlc~eZJjMRGp5}f)vjM7T_T<@e?gGI8aL4%UH|DCRr!T7n^H{qgmT=N$zvKK3|XTTzB!+uHV!~gatflo?#&57mp_#qbExvZi;l1 zmIxv^)vM`Dr6g^S5~c+ckyEsX2(Lwt^}%4Ysx`L?26jt|n=n zIe=`ie|Sp2xxN9Rsz+_pz*P%7OMoPYabRQOX%)#mW(r6^)mQHVn^GA83R;DQihQKX z9ayFTvhuLA=|7nqQlOGVC4g0|AFphLwHs@we&%1H{+W+~>-(rH-GL;xq^t$VUUk3^ zAr3nS&kuh7#W(heGxP0XrxV{OnR6PM4l>9;ww3ZYUz|~JA3j#{krYIOx zFx1pVQ#Dzm23I9Qp@>6*R$+!=7%)uB9T<|ykdHtu7@5wHgp+=@3D1(Sx>Oc^_~|7q zmW`e&;5~yUOQ+C^@dSu~Ya3MnKy~X5Smgo&6(Q}bUKUJQ2%v+2-u8=4-+Fq)pG01s zkAuDdRU(X-T?i0NL%_`C+~EqDWO4|i=KxB11BD2fYqrpTh)@z%8yA)*^@iJZRK0WE zRdk_jnHu}ULV3{YXKodMx*2|&xB-YWZJyExv({aO_jI~_HX1`JgFqyZZT?5lE2$hC z+My&O|M11JgF`xro~u4^!!#%qkqQEeRxds4{Q9TsH~rUl_Zt9!`BKh*y&>V#{dldy zq!NN02@H~yM9P3ci@zHKct${mCIox)0@=3`!uuUX#`e@Zp1{RhU%?~y%un4ycce^x zj^J?oeih>qfrNYL>T>OB6V<&f)an5NU$Y@``Q;jRuHVAmjdcLPhyS;q#j(O#SjiI3 z@t9qbfWP_2>v;4`p%24Fc)78GCrYQn`6D9#n%B485I}BS1&gNu>A`+E#1+fJqszhA zMq?*p0Nfm(uIy0p4+YR)BEKy-WDvZ8i3H5f&13JP_riT?;El-tCI)uv}j*I#j?eZh(!labSUf87>g9$N(?KP1ebhq$6c7qDaOTWeT)uOV?W7|uVgcvia`KdD>AcuPKh82lDAJDVTtCi- z@WVjH2MQ-*oFv9h)rKP_m?flEu^|c6rOvC*AT_gKTpmC&AIpKe=R%q}71Krk6L~92PcceI2 zf*m_#$VdduKyI@Thk6MPEd=Pw1mx>7q2=xNa6JHjR)9Yu+)MsxjX)|Nu(Y&{JKOc- zhvrNq{N-d6S`^}!(&FRsODa+ew>mDr!;|^@&tvDcE2)2mW&{TiH3*9p6Oy~P4tL_U z%z^MH`&aOAaV3-=F^H9$4c#miRA!%g(c;>kYCd5_zO~n2zpo` zNT4`7gN7}UGp8$~-n4BLb1_+Dk&EcEbT9tclkp0D#CQ>z8Q=Rie;ohuAO0UBn^>7Y z0jl2^rxi!eG|;l!%Zs)IHuqXRcVfd3Xn?V9SKD4|DS!B&;kbY|X0T&}^12cPr9Za= zaJ-@1P^(P`0lodBO@A4;q#N5yRy9cm1#f*e&-jON8cGHU%p$p!+x=8j*=+*~p;#)0N+Zcwr&iaKu5IkVC}e~lgFkPIy`O*f z+0R30$;rK~?Wwt@yk%<6g+L`o*l)7GkQYh@)^>WWPXf?o+zJ6#uHVM-3nlRSbu65F zqaXkKE~#+6;;P4{n|1?W5)iH6u^t(y3-_EF@BjW+RT?x56U>tX+AuRd{7dh{fB5(x zC87{~#6kcf!Z*J1wKhj+XJZr3{@U-xuZ8*Po%Ad;&(1IiIg?y6OSQrE?gv1}n%y5a z*YO^l2LX8X_3L=z!hNVv&0RNsD{X*}sd|P$rZ@!fP|Or#1W2p#D}UQho4Ff52Mv$v zx*vY@VO)IekFYp9x#U?AEy!dDTzchIoPEQEBV_>o^QV3bSHJkxR46)?&j6@moWN_d zOGxqWzOaG!++XfXC$2Sjv1*3zkM3jM+HiA7PJK6E($MB)R#jNQGV!kGu)!O72i2*6 zI+;QZC*Y?x2w?U|7TnKZB3!s|4=$}$rxM6UM-Y7{jPz7v{-1yPTW#|fCix6aA{6tz z!9YZWKkQPje8gJB?t$A8*j#@l6e|!I#DEag&6$|20pK2ft;YcX02X!lVDd?UKyCJc z{BoLXr$rfET25*WM)Y7Q$AIUc@gc8lJQvS z1RReXpF9w~*Yr!Mk(&e*N|CO7Vmu(AghBxAAIcDf2~73T2MARPG=IQ<=gCtiarsUS zQwax*3ojf82mAZ6%Ktlm_kV>^$VYZu1ApUx|3|R$xm2A0!pbo)^O5v!I_>h|&2I=J zqP!Fa@S)Nfe7bhsT??VG6L{t79XJkSrPYF&%empS!psCHz?1=jLQFu%N1^ z15ZAV&wb+Gf(p62!T>~<>xZ6N!moe+j{oDilIdgD`uUJI7gq76!b&JV006ZXqiHh) zOW3U@Oe+s2ph{YP?Bfl`-rby$!bgna-G}P&DUo?t>5Gfp@(%{$3OfL2+It3Wd_+SD&>xx1)dRL0&?rSXe!T)K%sR=eRyX=xaMK4wTBfezETpT zx+Lso1Nkyg(>G1%Q?ycS06Lu_sjfeb;H0DVAPS6uAqWeL^QbqSyVL*>UVq_Rc;Jc0 zrovsOn6lZs|Hq%jiF4;dKRejo#h?9){}-0%T;44dOPHCP>-aiLiFg0}PvZ-}`ftLT zR4%!cJ%I)e&xgQ3K4K5RDYnpM>o7I8g9A-Uk?lare@L6L90@S5svGzUP;I0dvbsZ9lj2c^o@_+?|wSRr!a$U4roZ^RMIaC-0wF*t1wR`Y-^U4Nyr~SP?nEECFbuvA>I&HZV6t zotJh4!1`{$8v4&0`Q73Cb@(#{`7e+lluAW7PBYmn?M>#E8ri&kCq4Fv2oFB?*3P$; zbxw!FF_^EvbR$s%U|D8=Yre;Q>nXVzz}bM)Y{UfB+|!UGV(dm=AgZ42MNAaFP0{#2 zH13R}pXE{@m1kyPJCm*5kD35XQfjqox-1gkUE|vFd8^}Q&H$DxW?y>IOV&1B?#8Y4 z8-m;vaI2}s-eJKTt{dxL;4KsR=3Ojs^wO%zkl%=jPvr|&ro%>ujA5kiM- zwcHWX(<010J%C(34^ikfStlJXn%N@+Seog_ai-9J0))%WZU3mV#4E2|1pu_FdpaRd z=Wpq6G>@8IYn-iVpqtFVuf~00wyQ!3S{h>o4QvQh8z(@uUon zbI^`qD4sr!2fp{c{`a?@e;NC)-A371K;CH25?gi-j_ttA9i1d-zEXrywjjI2&M*Jw zSMbn#-`@3e7LF~0Z3kqIuRPfm4d}?8XhF}I{nq{~AxuZKba-c{4ghHEZfHAlfS-{Q zSp5STfDjYVGc6En(@Z%MA(8iUFVzn}A0V{~LEuRQH|NZ`v-sNY*YI5r;n2~5vf195 zSUkCc(~rKT{k>A+10VSbHTX2*C}}_Yn*BLkyZWszf75}Kcj1&|qqkz6z3)Ca`&F3p zGh@tq^vDsIqIXJ(sAm~(=fGWCdsko3_DwGY;9drXCT;-Q-B{~5O02A|;_4XS!1a0)|Nhthdz%aAv?Nv@c^p6Rb3fZP)p7Ugn?$&o zb$H1M5qn3E6^dA{3|A&h+E@yMqPiGS?moPTJ~jdU<6Dh7tbD{ zB6$E^gA4?U@6m<_h^JtwtsFas>l<|>*%9P85}*2Kzu!jX6)d9kbPP&6T^)gLQ+gjx zmIj{r&I{kc^Phh%wAkOl733E>8xl@QC5GB90-#l;%7xzj0R3zlj%2iK3Cl2G*Q>Dd zg@8K~h=mZR#{*EcepbE^DW9K%7yT~?=7EOFfnJhB##qmmGg$?={JAf{`5S*7hM5jp z?v3j=aO#0KOilRi)av+`f9vBAYNR#^YSV%j3njdLZaMYWB784}W3{27%NOryJWnW-5|J*!}veskoM0mnwtkqhGUE9wEr1 zsSu!g;4glml4_Hv0gdDVa4@_$Q2uCdaHLa+IGpqo8sbrE7GPn14ow(<-WN}lI1B7y z$lHGCeYo|g|NCKt2y9S!I{SKk@AsT>gARzK; zf24&2(YQa#?!!SYz)`PzQ<3y)00YPu@~|O+gxXPsAS~avh>eR|haXZ$Zfo3QZtbRR zOnQ2-)a_Ln;H7U~!CM|nj*qcdDEQcgGQhx0QNR*}f@)kVmMoO=hT5kHux)LFq%g0z zHh`p6JMfieQXrs_Jpg~mr!oe?x8&C}IZ7F%Vg+6CgPede0t75AFQVSOmEh(=s4SKz zVgM*6O)PDR{cm0J@5GKFAtX>^iM<%8?e?`bJdRBIm2Z6Ml|&7I*`*(V8F-xTmVW8Fx?#noGLq>KT2exG7 zO*3|Ro5FpGP){xVRi;A<;aLj0C?hu{z=Ez-gU_L>rz?`0BKf=iQ7^G{#Od@ z0Yjf5p!*I%2;h591gxAqfj?S1NIs7>p>U#?oG+B{Qgy$x2VgU7n=uu&0Cl|v5iCt9 z%T^ARTrPC~X9^Wq-AZJA;6KjXdoN_Q4x>^^RN?PN88HdS5srTjNI^8tf88SpF`ZC= z4h*}BYKEY6kR%%Ld;jv=@M~Yb0x<5{MQR)CE&J;gs0}#pX>+Hb#BWAtHL4EbR2Pq~Yp=iVwmX~p3qmgi2XH3nk0cND? zT$zw=42Hwl`{Ets-+3HH#mW@F-`vfJzF)|l4<`lnp`T$OKy+Oj8vSt#ZVq61X%W{q z>XWTJrzqxT$#7ECpFn+_3mxJZvG0HTTTy_C{V%S=*=uFWKdJ%f1_ElZcQ6_fXfUC{ zKvR9KF;HiqE`cU9>I^jD4q2^3J0wtNMqLIBK?MK>0hBEZ4STZ9A!}cM5zR&dUPnT9 zWb4-Lsaj0$`myhYY;}KTFCQd7D*TOSPhp`PW-NV2dgoFR^Rg{0^iLP&x`)(3&ex{7aE}ReN zdVb^AvaLNy1E5=@xBg-iQfazSu*JahXRV)^{MTcr1F4@`F(HM+ZdfosKZ{1fgFQLn zE<=usiw%L<;;cIzrGvb6ZWXsSuXb(uw5xaNV3ZyW_berT@K=8spZn*(j1NBkXju7w zeK_TR0&aUgeM~V3!%z61Mh$Akwla~ z^8f~UKFmIRSKqbUzam2R>Gc7?Hy}A3D8wOG0uD1)S66UQ-ZR6#_=;}Qt@yOwhmIJ|Gm32&%JpSRBie>fp6Ey%rsjM3YQ1Bt7QT;$46hh(gV62RU>U;{d4{%^OhzWCZ^T?Ox zrthvwM)4=#+VgEW>Vr7)Zk&<0x$k-#-K5~oDy%%YoW=eV%>e|2|EhV16w`08^Sc8- zwEbOg0s@c&2V5flWKh>AXdEN1$55P2F8;R}*lbPa&h`MsFo5%g3SO=4b$yf5WT14H zt;&9Eo^Y40y*vE#)ZOx=!hs{<0dxZa33vlO2-0g`RK`GrNIoOmz8B+bqrkmhf?&W1 zX|Q4T-SQ-WH7psspI^hH3#V{qWhs^Jvt^0UVVVNAouYn#l+6gVcbYi()Ab{#l#>Dh z4e0@R$`026cwT^V`IqyD6O;Yf|NW1;zFvE22apUwg!jDZL43V<8Q&g)c=M^JpC0dZ z{F9GsRsldEP5po=3P%X8@)IGGF&cmn2eP_tb^&Z@I61?)#udFB*Ze1lR%9_CU3LP;DQ=X`=GZmF$L3Gz9QKJRbWef>B?B zaHyE|8()1Ld*8l;hkx!}m|1ochfdSM{Hc{hqPMO^;v7eX%m*3Da3IKB!I0kb$eE!3{;BY(P_!uX{D z%$24<=^2oYyDZKvx%WM9xjBr5a{K$6_0gjUb8(`VIf~n_|8AND9tVA2mRG#7D1;x$VZ?3O6<>n@B2UK|9gIQHO62Flpk4W`}v^R{z0#=?|jZd z1Bub1*|rO?Vd;KcVTftGPI?BGJn_K~XBs?710cQFe~JwH#^xsG=jX6|@?`t&FM-NC zVyLX0T6!*^HVn{(fE$ zYjW2~S)w&gCJ6!>JO@BDb;jQ`O&CI8=k^`UtsH|HZ6Re~_w%?p1(i# zcHZ^duClh8$$A`eofOP)eDGmYiXUdrSz)6@3`6KcO$Mi6+U7p}WIdvrS3WLg|K|lj< z<^k*9_#al%+4Cp=+CNR?@24(_c!&8$-;d-AU6oogxlH4c=cfktLW1B(iCVRaa=Gl@1H%N0rv^HW z=b!%q{;yAeb)et*x%Z#V3_yAf0K1)X()9$4ECxtNRNy`tI8h>ACNKdG5B{8J01u&C zO2Hhktvcxym4SQ)GyvT|Km-Cy24x|@*hOkXSM{GU(_jjnJ))_VNr8X{3IV(%pye|I zXEF|{lbPLwyG#zN0?^R_=qL2}GfmwOxa-R`nT$#LTvnqp0j16D@1^`S=44b~rpKd) z5Sj94GA8-tA6$*hXf(hg2R17H;pCRH8#Vb5z#RollC{AgsW2D)0007CNkl|Weu%0EdE&_EtQ$PoO?!MXGf3tNA3?;k^cN_-#Y&7&wV8`C}Yh5q}5f)B$K;MXac)trtO(zau-Vm zJkKPRa_LL`1t90&L4Cd7dtbkQC#m;OT?mj#CYfX&Kqi@_LI&Mgd+pp&k6~QzziSP^ zxS4#0&5L~YUyS#`yzlR22&qgm4AFFm_$UwDD+zDkJftgJ6P8=tr z*6Dlo91QdMhq?2IJb0UAL{{Roq#K~(xUu8 zWFAXgH6SwrnPhVGcK%ockQsqYGMSv>AGY$x8h}nlATtP=WRi^1r$zZY8i0O`Kqi@F zGNjU_2p!h*L^4B=NhU{6@%uIanL)@TlcS^XQThJ?+yt*m_<2_800000NkvXXu0mjf DnRK>$ literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Momoi/models/action_wheel_gui.bbmodel b/config/yosbr/config/figura/avatars/Momoi/models/action_wheel_gui.bbmodel new file mode 100644 index 0000000..afeafbf --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/models/action_wheel_gui.bbmodel @@ -0,0 +1,1989 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "action_wheel_gui", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 16, + "height": 16 + }, + "elements": [ + { + "name": "GoodEmoji", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 36, + 0 + ], + "to": [ + -33.5, + 44, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -41.5, + 40, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "84d1083b-49bc-5614-912e-44f4b899ae46" + }, + { + "name": "HeartEmoji", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 27, + 0 + ], + "to": [ + -33.5, + 35, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -41.5, + 31, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "eaa43af0-2741-87e3-8702-e97d44042bf2" + }, + { + "name": "QuestionEmoji", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 9, + 0 + ], + "to": [ + -33.5, + 17, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -41.5, + 13, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 3 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8de404c9-1e78-68d3-b8a3-38bb7aa8dae2" + }, + { + "name": "BodyBottomRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + -3, + 0.2 + ], + "to": [ + -3.5, + 26, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 2, + 9, + 40, + 38 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "4507a880-9681-34cd-6c87-fac17f8fdd5c" + }, + { + "name": "BodyBottomCenter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.5, + -3, + 0.2 + ], + "to": [ + -2.5, + 26, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3.5, + 11.5, + 0.1 + ], + "faces": { + "north": { + "uv": [ + 1, + 9, + 2, + 38 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "917771d6-d756-41a7-3225-881cb2978484" + }, + { + "name": "BodyBottomLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.5, + -3, + 0.2 + ], + "to": [ + -1.5, + 26, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 9, + 1, + 38 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9964760c-f61e-5f67-f0d2-4d9bc6a2db29" + }, + { + "name": "TitleRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 46, + 0.2 + ], + "to": [ + -38.5, + 54, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 23, + 0, + 26, + 8 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "157d0a40-12c8-0e9f-ff97-0c0134ce6ea6" + }, + { + "name": "TitleLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -37.5, + 46, + 0.2 + ], + "to": [ + -15.5, + 54, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 22, + 8 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "4f6e736e-74db-0300-8874-3f596411c942" + }, + { + "name": "TitleCenter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -38.5, + 46, + 0.2 + ], + "to": [ + -37.5, + 54, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -38.5, + 50, + 0.1 + ], + "faces": { + "north": { + "uv": [ + 22, + 0, + 23, + 8 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6b0744f3-0e21-0fbf-2ae2-18ef858b84af" + }, + { + "name": "BodyTop", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 26, + 0.2 + ], + "to": [ + -40.5, + 46, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -41.5, + 36, + 0.1 + ], + "faces": { + "north": { + "uv": [ + 0, + 8, + 40, + 9 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "181d67e8-0460-aabd-55f6-36d76196c156" + }, + { + "name": "TitleLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -50.5, + 11, + 0.2 + ], + "to": [ + -28.5, + 19, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + -23, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 22, + 8 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "440c3854-1e60-9317-8555-bc5240f178d9" + }, + { + "name": "TitleCenter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -51.5, + 11, + 0.2 + ], + "to": [ + -50.5, + 19, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -51.5, + 15, + 0.1 + ], + "faces": { + "north": { + "uv": [ + 22, + 0, + 23, + 8 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "80c43537-fc6b-fc1b-47fd-bae521fa59df" + }, + { + "name": "TitleRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -54.5, + 11, + 0.2 + ], + "to": [ + -51.5, + 19, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + -23, + 0 + ], + "faces": { + "north": { + "uv": [ + 23, + 0, + 26, + 8 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "cbaf2279-0daf-c842-5ac0-02bb44d9b86d" + }, + { + "name": "BodyBottomCenter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16.5, + -3, + 0.2 + ], + "to": [ + -15.5, + 11, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -16.5, + 4, + 0.1 + ], + "faces": { + "north": { + "uv": [ + 1, + 24, + 2, + 38 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9184dfb8-0e76-f1f7-2994-a00c75ec64d3" + }, + { + "name": "BodyBottomRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -54.5, + -3, + 0.2 + ], + "to": [ + -16.5, + 11, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + -23, + 0 + ], + "faces": { + "north": { + "uv": [ + 2, + 24, + 40, + 38 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5aeb8b47-7cd2-1d4d-33e5-36fb8ea59b5e" + }, + { + "name": "BodyBottomLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -15.5, + -3, + 0.2 + ], + "to": [ + -14.5, + 11, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + -23, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 24, + 1, + 38 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5fdd8d83-a6a5-663e-7757-69fdbbfc0c58" + }, + { + "name": "NoteEmoji", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 18, + 0 + ], + "to": [ + -33.5, + 26, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -41.5, + 22, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6a232e90-acfd-b9ae-6dd2-4ccc394218be" + }, + { + "name": "SweatEmoji", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 0, + 0 + ], + "to": [ + -33.5, + 8, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -41.5, + 4, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9b7746b0-f54b-8a38-8939-67a56cad1e40" + }, + { + "name": "TitleBar", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -54.5, + 12, + 0.1 + ], + "to": [ + -53.5, + 13, + 0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + -54.5, + 12.5, + 0.1 + ], + "faces": { + "north": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ced92cb6-960b-a1ae-ff79-9f04a59bd189" + }, + { + "name": "TitleBar", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 47, + 0.1 + ], + "to": [ + -40.5, + 48, + 0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + -41.5, + 47.5, + 0.1 + ], + "faces": { + "north": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "cb43a040-331d-d647-2667-a5864e0ff99e" + } + ], + "outliner": [ + { + "name": "Gui", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "909f4f9e-cf00-99e1-7699-c2b0e9070eab", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "BubbleGuide", + "origin": [ + -41.5, + 52, + 0.2 + ], + "color": 0, + "uuid": "e29d3e86-e705-1a3c-cada-65a8edd299b0", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "BubbleGuideBackground", + "origin": [ + -2, + 0, + 0 + ], + "color": 0, + "uuid": "ac298288-5f5c-64f4-1b51-f939fb1d21f2", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4507a880-9681-34cd-6c87-fac17f8fdd5c", + "917771d6-d756-41a7-3225-881cb2978484", + "9964760c-f61e-5f67-f0d2-4d9bc6a2db29", + "181d67e8-0460-aabd-55f6-36d76196c156", + "157d0a40-12c8-0e9f-ff97-0c0134ce6ea6", + "6b0744f3-0e21-0fbf-2ae2-18ef858b84af", + "4f6e736e-74db-0300-8874-3f596411c942", + "cb43a040-331d-d647-2667-a5864e0ff99e" + ] + }, + { + "name": "Emojis", + "origin": [ + -14, + 52, + 0 + ], + "color": 0, + "uuid": "58d19f10-42f3-3092-820d-896ea7ee4733", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "84d1083b-49bc-5614-912e-44f4b899ae46", + "eaa43af0-2741-87e3-8702-e97d44042bf2", + "6a232e90-acfd-b9ae-6dd2-4ccc394218be", + "8de404c9-1e78-68d3-b8a3-38bb7aa8dae2", + "9b7746b0-f54b-8a38-8939-67a56cad1e40" + ] + } + ] + }, + { + "name": "ExSkillGuide", + "origin": [ + -54.5, + 17, + 0.2 + ], + "color": 0, + "uuid": "82f089b0-aef7-25b2-da8d-98daa0cb6bea", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "ExSkillGuideBackground", + "origin": [ + -13.75, + 17, + 0 + ], + "color": 0, + "uuid": "8070ebb5-b639-baf7-2735-8a329dc80acb", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "5fdd8d83-a6a5-663e-7757-69fdbbfc0c58", + "5aeb8b47-7cd2-1d4d-33e5-36fb8ea59b5e", + "9184dfb8-0e76-f1f7-2994-a00c75ec64d3", + "cbaf2279-0daf-c842-5ac0-02bb44d9b86d", + "80c43537-fc6b-fc1b-47fd-bae521fa59df", + "440c3854-1e60-9317-8555-bc5240f178d9", + "ced92cb6-960b-a1ae-ff79-9f04a59bd189" + ] + } + ] + }, + { + "name": "VersionDisplay", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "a4e9aabc-7f20-7bd2-cdc0-454075f31f35", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + } + ], + "textures": [ + { + "path": "", + "name": "good.png", + "folder": "", + "namespace": "", + "id": "1", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "eb85d156-8f1a-0715-eb0c-73c744d1192a", + "relative_path": "../../textures/emojis/good.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAJVJREFUOE9jZCASRNmx/gcpXXboNyOyFhQOLrNAmpf2KzJ8fyXIkNJ+DsWQQWgAzK/I3plTacTAKfaesBdgfsUVFnjDADmgzj58AjfDWF4GbDsIEDQA5lRkFxw5/ZUBnyHwWAC5IDNKDMP1yJqxuQLFAFBco4OR5gJ8sQALG7x5ARQTIEOQAUgDMiCYG9GTMroG9FgCAA1snRHHg/NsAAAAAElFTkSuQmCC" + }, + { + "path": "", + "name": "heart.png", + "folder": "", + "namespace": "", + "id": "2", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "0f751aec-a519-017f-2410-5ac9e0a601cb", + "relative_path": "../../textures/emojis/heart.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAKhJREFUOE9jZKAQMCLrXyTg8h/Gj/uwhyg5uCKQ5siWXLh5y2smM8AMwScHNgBZAYuyFMOfu8/ABoEMAQFkg2E2wCxgxKWZmKABGQI3ANlmYjTDXDgIDEAPRFKcD4oljFggZAAsrOCxANOAHtfYDELXDFKDkdqwxTlIITbNGAZgCw+QRhAAJS7k1AlzIYoLkL2DnAJhKRI9f2B1AbbMhU0jXhcQiglkeQDhnXzlvzdk1wAAAABJRU5ErkJggg==" + }, + { + "path": "", + "name": "note.png", + "folder": "", + "namespace": "", + "id": "7", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "8d3f27df-26ac-035a-5808-a8a5fb7df905", + "relative_path": "../../textures/emojis/note.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAALFJREFUOE9jZCAAPm5W+M/v+4ARlzKcEiANIM18xvkMn85OZMBlCFEG/GOwZPhyNgLsCJhBIMNBfKIMACkEGQICMINgLiPaAFgYIBsEcg1RBoDCAGQjDCCHCU4D0AMQ5mfkcMAbBsTEwCAzAN2PJHkBpJjD7D4D298J4ICGhTq+FAiLEUaYZpgAzBCYQfjyATgQYU79xVwAdwG2+MabmWCGICsixvko0YgciOiJBV+OBwCLvoaXPhsOpAAAAABJRU5ErkJggg==" + }, + { + "path": "", + "name": "question.png", + "folder": "", + "namespace": "", + "id": "3", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "0f142e45-9915-9908-6c14-6e682c9b40a8", + "relative_path": "../../textures/emojis/question.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAJNJREFUOE9jZMABNNa7/EeWuhG4hxGbUqyCIM3XA2Yw7PqXDteTv4mRAZshGAYgawZpAoGJfhDHYDMExQCQZmyKcYmDDMVqADabYIagy1HXAJCTQDahBxbRXsAWTfg0Y4QBugGENOM1gBjNRLkApAhXKiRoAK5kjiyONSnDFMDyA1kuQE/SJGUmWHrAlwdgrqTYCwB0pH8RBrtM7wAAAABJRU5ErkJggg==" + }, + { + "path": "", + "name": "sweat.png", + "folder": "", + "namespace": "", + "id": "8", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "4099d802-f6dd-e946-7e18-910d1056fd84", + "relative_path": "../../textures/emojis/sweat.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAJ9JREFUOE9jZCARmO5++/+0qzAjTBucQYw5IM3GypwMZ+9+Z4AZgmEAug3IBhM0AJsCmAEwOVGenwyvv7DDXYHiAooMwGUDyAXIcjAXwVwBdwFFBuCzARTaBF1AyABkb8C8AItKrKaj+xMW5yCLYHLwdIDNdlwGYEtsJLmAaAOcRAXAalfe/46SbGljALYQRg9pfBkNJSGhK0TOtrgMAQB1UsSltwwF2QAAAABJRU5ErkJggg==" + }, + { + "path": "", + "name": "bubble_emote_guide.png", + "folder": "", + "namespace": "", + "id": "6", + "width": 40, + "height": 38, + "uv_width": 40, + "uv_height": 38, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "5f08ee2d-3f25-8eb0-bc5a-be130fd9f46a", + "relative_path": "../../textures/bubble_emote_guide.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAmCAYAAAC29NkdAAAAAXNSR0IArs4c6QAAAixJREFUWEfN2F1OwkAQAOApVMAiAlEJMZHbeQ7xHN7GxBuY+OCLwURNjFET09ZCqRnIwLBMp0vB0nmh7f7k6/4XBwDg9v4pwV8Mr9unS2g23MU1Xpx7zso93dSri+JieqPmOvH3ZVJt38gViKXmDx2O40gTR2kmMgtH5RCpOFKTnLuH17XXb7S7kESBWKjXaS2ed+rT1Ipr1cpK2s6AiKPQkJvgsL6dADlOQx67E+iftMXWM1tuZ10s4SQk4ihMZBpu6xbUcBzJcSZSw20FHI2e9TUiz9QTygwGF/lmcRD4hQDzvqdTZuBkClBaIOJmO0kZW5BwpQRyXOmAEaxuj6UCSriXz6gcYzANV4oW1HB7B2bh9gqUcLTb4Nij2Ms6qOFMZOHAYFqBj7BqtTVPfoNiZzHiKGyQPS8uDshxNkjEFTZJJJyGJFwhQA0nITnu34E2OI40cbmAeNoI4+zT+9fYhU7d/rAexgCnteUHWa51kB+FNCTiKGyQiKPgSOwB63XQPKdhhRKS42yQHMeRNDysgBKOKuNICachJRzlb7rzM38mUMNxpIaTkBoO8/tRAmdeogNtcFjZW3hgtXVhJhyTNrjMSRJNQTiA2zmSyur/irzU43sAR01PrWjs/yzSxS5GHMX6V4KOzMJR6TQkxx23Dte7mOM2Rdri0pAmbm2SSDhb5KY4EynhZkAAGAaBf6XhspB5cVRv3VmOKexWikGncU171tBu+Beea/gHeJZZEDMlW2EAAAAASUVORK5CYII=" + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Momoi/models/armor.bbmodel b/config/yosbr/config/figura/avatars/Momoi/models/armor.bbmodel new file mode 100644 index 0000000..7a8becd --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/models/armor.bbmodel @@ -0,0 +1,3811 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "armor", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 19, + "height": 48 + }, + "elements": [ + { + "name": "RightChestplate", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 18, + -2 + ], + "to": [ + 8, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 13.0625, + 30, + 14.25, + 39 + ], + "texture": 0 + }, + "east": { + "uv": [ + 11.875, + 30, + 13.0625, + 39 + ], + "texture": 0 + }, + "south": { + "uv": [ + 15.4375, + 30, + 16.625, + 39 + ], + "texture": 0 + }, + "west": { + "uv": [ + 14.25, + 30, + 15.4375, + 39 + ], + "texture": 0 + }, + "up": { + "uv": [ + 13.0625, + 24, + 14.25, + 30 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "04c52e51-518e-9513-d607-bd72f9efa2c9" + }, + { + "name": "RightChestplateOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 18, + -2 + ], + "to": [ + 8, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.001, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 13.0625, + 30, + 14.25, + 39 + ], + "texture": 1 + }, + "east": { + "uv": [ + 11.875, + 30, + 13.0625, + 39 + ], + "texture": 1 + }, + "south": { + "uv": [ + 15.4375, + 30, + 16.625, + 39 + ], + "texture": 1 + }, + "west": { + "uv": [ + 14.25, + 30, + 15.4375, + 39 + ], + "texture": 1 + }, + "up": { + "uv": [ + 13.0625, + 24, + 14.25, + 30 + ], + "rotation": 180, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6be84467-6c7f-1451-5458-a406488d3d44" + }, + { + "name": "LeftChestplate", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 18, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 14.25, + 30, + 13.0625, + 39 + ], + "texture": 0 + }, + "east": { + "uv": [ + 15.4375, + 30, + 14.25, + 39 + ], + "texture": 0 + }, + "south": { + "uv": [ + 16.625, + 30, + 15.4375, + 39 + ], + "texture": 0 + }, + "west": { + "uv": [ + 13.0625, + 30, + 11.875, + 39 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14.25, + 24, + 13.0625, + 30 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "22408e50-1695-eb9c-6ad3-457297fef7dd" + }, + { + "name": "LeftChestplateOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 18, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.001, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 14.25, + 30, + 13.0625, + 39 + ], + "texture": 1 + }, + "east": { + "uv": [ + 15.4375, + 30, + 14.25, + 39 + ], + "texture": 1 + }, + "south": { + "uv": [ + 16.625, + 30, + 15.4375, + 39 + ], + "texture": 1 + }, + "west": { + "uv": [ + 13.0625, + 30, + 11.875, + 39 + ], + "texture": 1 + }, + "up": { + "uv": [ + 14.25, + 24, + 13.0625, + 30 + ], + "rotation": 180, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "77395185-0449-b7e0-c6cb-1acfdbb3f452" + }, + { + "name": "RightLeggings", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 6, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.5, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 30, + 2.375, + 39 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 30, + 1.1875, + 39 + ], + "texture": 2 + }, + "south": { + "uv": [ + 3.5625, + 30, + 4.75, + 39 + ], + "texture": 2 + }, + "west": { + "uv": [ + 2.375, + 30, + 3.5625, + 39 + ], + "texture": 2 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 2 + }, + "down": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "8715712c-138d-7bdc-882f-f4b2c6770544" + }, + { + "name": "RightLeggingsOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 6, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.501, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 30, + 2.375, + 39 + ], + "texture": 3 + }, + "east": { + "uv": [ + 0, + 30, + 1.1875, + 39 + ], + "texture": 3 + }, + "south": { + "uv": [ + 3.5625, + 30, + 4.75, + 39 + ], + "texture": 3 + }, + "west": { + "uv": [ + 2.375, + 30, + 3.5625, + 39 + ], + "texture": 3 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 3 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "db54d1e6-20a4-45af-6869-4a65f0ea1723" + }, + { + "name": "RightBoots", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 6, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 30, + 2.375, + 39 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 30, + 1.1875, + 39 + ], + "texture": 0 + }, + "south": { + "uv": [ + 3.5625, + 30, + 4.75, + 39 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2.375, + 30, + 3.5625, + 39 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "1cb0afb2-ba2b-92d1-1099-aefd7cc512b8" + }, + { + "name": "RightBootsOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 6, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.001, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 30, + 2.375, + 39 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 30, + 1.1875, + 39 + ], + "texture": 1 + }, + "south": { + "uv": [ + 3.5625, + 30, + 4.75, + 39 + ], + "texture": 1 + }, + "west": { + "uv": [ + 2.375, + 30, + 3.5625, + 39 + ], + "texture": 1 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "dad8c5c7-149c-7b1f-9bc2-c432c26bc70e" + }, + { + "name": "LeftLeggings", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 6, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 0.5, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 30, + 1.1875, + 39 + ], + "texture": 2 + }, + "east": { + "uv": [ + 3.5625, + 30, + 2.375, + 39 + ], + "texture": 2 + }, + "south": { + "uv": [ + 4.75, + 30, + 3.5625, + 39 + ], + "texture": 2 + }, + "west": { + "uv": [ + 1.1875, + 30, + 0, + 39 + ], + "texture": 2 + }, + "up": { + "uv": [ + 2.375, + 24, + 1.1875, + 30 + ], + "rotation": 180, + "texture": 2 + }, + "down": { + "uv": [ + 2.375, + 24, + 1.1875, + 30 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "208279dc-0d16-d5cc-3766-43129fd24c7b" + }, + { + "name": "LeftLeggingsOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 6, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 0.501, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 30, + 1.1875, + 39 + ], + "texture": 3 + }, + "east": { + "uv": [ + 3.5625, + 30, + 2.375, + 39 + ], + "texture": 3 + }, + "south": { + "uv": [ + 4.75, + 30, + 3.5625, + 39 + ], + "texture": 3 + }, + "west": { + "uv": [ + 1.1875, + 30, + 0, + 39 + ], + "texture": 3 + }, + "up": { + "uv": [ + 2.375, + 24, + 1.1875, + 30 + ], + "rotation": 180, + "texture": 3 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "a15d5564-7cd3-fc93-e984-76ed5bc8023b" + }, + { + "name": "LeftBoots", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 6, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 30, + 1.1875, + 39 + ], + "texture": 0 + }, + "east": { + "uv": [ + 3.5625, + 30, + 2.375, + 39 + ], + "texture": 0 + }, + "south": { + "uv": [ + 4.75, + 30, + 3.5625, + 39 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1.1875, + 30, + 0, + 39 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2.375, + 24, + 1.1875, + 30 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6646f669-d54c-168c-c291-d46c48bfda6b" + }, + { + "name": "LeftBootsOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 6, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.001, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 30, + 1.1875, + 39 + ], + "texture": 1 + }, + "east": { + "uv": [ + 3.5625, + 30, + 2.375, + 39 + ], + "texture": 1 + }, + "south": { + "uv": [ + 4.75, + 30, + 3.5625, + 39 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1.1875, + 30, + 0, + 39 + ], + "texture": 1 + }, + "up": { + "uv": [ + 2.375, + 24, + 1.1875, + 30 + ], + "rotation": 180, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "7a6660e4-1279-daf0-3b3d-293b6821dcbe" + }, + { + "name": "RightChestplateBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 8, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 22 + ], + "faces": { + "north": { + "uv": [ + 13.0625, + 39, + 14.25, + 48 + ], + "texture": 0 + }, + "east": { + "uv": [ + 11.875, + 39, + 13.0625, + 48 + ], + "texture": 0 + }, + "south": { + "uv": [ + 15.4375, + 39, + 16.625, + 48 + ], + "texture": 0 + }, + "west": { + "uv": [ + 14.25, + 39, + 15.4375, + 48 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 14.25, + 24, + 15.4375, + 30 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "4a3a4eb6-fd3e-7d2b-a211-76957d9120bd" + }, + { + "name": "RightChestplateBottomOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 8, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.001, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 22 + ], + "faces": { + "north": { + "uv": [ + 13.0625, + 39, + 14.25, + 48 + ], + "texture": 1 + }, + "east": { + "uv": [ + 11.875, + 39, + 13.0625, + 48 + ], + "texture": 1 + }, + "south": { + "uv": [ + 15.4375, + 39, + 16.625, + 48 + ], + "texture": 1 + }, + "west": { + "uv": [ + 14.25, + 39, + 15.4375, + 48 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 14.25, + 24, + 15.4375, + 30 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "325d12e9-803c-2ac9-5359-07d737487724" + }, + { + "name": "LeftChestplateBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 12, + -2 + ], + "to": [ + -4, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 22 + ], + "faces": { + "north": { + "uv": [ + 14.25, + 39, + 13.0625, + 48 + ], + "texture": 0 + }, + "east": { + "uv": [ + 15.4375, + 39, + 14.25, + 48 + ], + "texture": 0 + }, + "south": { + "uv": [ + 16.625, + 39, + 15.4375, + 48 + ], + "texture": 0 + }, + "west": { + "uv": [ + 13.0625, + 39, + 11.875, + 48 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 15.4375, + 24, + 14.25, + 30 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "26bc361a-dd53-ef35-4d8c-de683271f69d" + }, + { + "name": "LeftChestplateBottomOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 12, + -2 + ], + "to": [ + -4, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.001, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 22 + ], + "faces": { + "north": { + "uv": [ + 14.25, + 39, + 13.0625, + 48 + ], + "texture": 1 + }, + "east": { + "uv": [ + 15.4375, + 39, + 14.25, + 48 + ], + "texture": 1 + }, + "south": { + "uv": [ + 16.625, + 39, + 15.4375, + 48 + ], + "texture": 1 + }, + "west": { + "uv": [ + 13.0625, + 39, + 11.875, + 48 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 15.4375, + 24, + 14.25, + 30 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "2b05091b-8085-6724-3d43-d9171144768c" + }, + { + "name": "RightLeggingsBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.5, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 39, + 2.375, + 48 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 39, + 1.1875, + 48 + ], + "texture": 2 + }, + "south": { + "uv": [ + 3.5625, + 39, + 4.75, + 48 + ], + "texture": 2 + }, + "west": { + "uv": [ + 2.375, + 39, + 3.5625, + 48 + ], + "texture": 2 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 2 + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "de6d8972-c7d3-65ad-9984-a8cb0304f1a4" + }, + { + "name": "RightLeggingsBottomOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.501, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 39, + 2.375, + 48 + ], + "texture": 3 + }, + "east": { + "uv": [ + 0, + 39, + 1.1875, + 48 + ], + "texture": 3 + }, + "south": { + "uv": [ + 3.5625, + 39, + 4.75, + 48 + ], + "texture": 3 + }, + "west": { + "uv": [ + 2.375, + 39, + 3.5625, + 48 + ], + "texture": 3 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 3 + } + }, + "type": "cube", + "uuid": "0d1b2e25-e3cb-5fe8-2f68-f18aca44f0aa" + }, + { + "name": "RightBootsBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 39, + 2.375, + 48 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 39, + 1.1875, + 48 + ], + "texture": 0 + }, + "south": { + "uv": [ + 3.5625, + 39, + 4.75, + 48 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2.375, + 39, + 3.5625, + 48 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2b06f488-228c-8e2e-cf9f-a31f465b2b91" + }, + { + "name": "LeftLeggingsBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 0.5, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 39, + 1.1875, + 48 + ], + "texture": 2 + }, + "east": { + "uv": [ + 3.5625, + 39, + 2.375, + 48 + ], + "texture": 2 + }, + "south": { + "uv": [ + 4.75, + 39, + 3.5625, + 48 + ], + "texture": 2 + }, + "west": { + "uv": [ + 1.1875, + 39, + 0, + 48 + ], + "texture": 2 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 2 + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "94b2a0f5-fc51-dff6-741d-bb1ba99d2a91" + }, + { + "name": "LeftLeggingsBottomOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 0.501, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 39, + 1.1875, + 48 + ], + "texture": 3 + }, + "east": { + "uv": [ + 3.5625, + 39, + 2.375, + 48 + ], + "texture": 3 + }, + "south": { + "uv": [ + 4.75, + 39, + 3.5625, + 48 + ], + "texture": 3 + }, + "west": { + "uv": [ + 1.1875, + 39, + 0, + 48 + ], + "texture": 3 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "f89ca1fb-370e-a2b8-90bd-46b52f03d3c6" + }, + { + "name": "LeftBootsBottomOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.001, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 39, + 1.1875, + 48 + ], + "texture": 1 + }, + "east": { + "uv": [ + 3.5625, + 39, + 2.375, + 48 + ], + "texture": 1 + }, + "south": { + "uv": [ + 4.75, + 39, + 3.5625, + 48 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1.1875, + 39, + 0, + 48 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "65127873-1035-1a39-184f-f7910cbe00c7" + }, + { + "name": "LeftBootsBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 39, + 1.1875, + 48 + ], + "texture": 0 + }, + "east": { + "uv": [ + 3.5625, + 39, + 2.375, + 48 + ], + "texture": 0 + }, + "south": { + "uv": [ + 4.75, + 39, + 3.5625, + 48 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1.1875, + 39, + 0, + 48 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "aabdaefc-770f-a69a-35cc-bb6ac71bc9be" + }, + { + "name": "RightBootsBottomOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.001, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 39, + 2.375, + 48 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 39, + 1.1875, + 48 + ], + "texture": 1 + }, + "south": { + "uv": [ + 3.5625, + 39, + 4.75, + 48 + ], + "texture": 1 + }, + "west": { + "uv": [ + 2.375, + 39, + 3.5625, + 48 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": 1 + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "2f97fafc-dd7b-205e-8403-0de28ab11617" + }, + { + "name": "RightChestplateTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 18, + -2 + ], + "to": [ + 8, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.002, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 13.0625, + 30, + 14.25, + 39 + ], + "texture": 4 + }, + "east": { + "uv": [ + 11.875, + 30, + 13.0625, + 39 + ], + "texture": 4 + }, + "south": { + "uv": [ + 15.4375, + 30, + 16.625, + 39 + ], + "texture": 4 + }, + "west": { + "uv": [ + 14.25, + 30, + 15.4375, + 39 + ], + "texture": 4 + }, + "up": { + "uv": [ + 13.0625, + 24, + 14.25, + 30 + ], + "rotation": 180, + "texture": 4 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "1bc91350-32b8-1826-c5aa-42a13e529528" + }, + { + "name": "RightChestplateBottomTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 8, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.002, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 22 + ], + "faces": { + "north": { + "uv": [ + 13.0625, + 39, + 14.25, + 48 + ], + "texture": 4 + }, + "east": { + "uv": [ + 11.875, + 39, + 13.0625, + 48 + ], + "texture": 4 + }, + "south": { + "uv": [ + 15.4375, + 39, + 16.625, + 48 + ], + "texture": 4 + }, + "west": { + "uv": [ + 14.25, + 39, + 15.4375, + 48 + ], + "texture": 4 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 4 + }, + "down": { + "uv": [ + 14.25, + 24, + 15.4375, + 30 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "77d2d753-cc5c-9604-ed68-fefded8b74c0" + }, + { + "name": "LeftChestplateTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 18, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.002, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 14.25, + 30, + 13.0625, + 39 + ], + "texture": 4 + }, + "east": { + "uv": [ + 15.4375, + 30, + 14.25, + 39 + ], + "texture": 4 + }, + "south": { + "uv": [ + 16.625, + 30, + 15.4375, + 39 + ], + "texture": 4 + }, + "west": { + "uv": [ + 13.0625, + 30, + 11.875, + 39 + ], + "texture": 4 + }, + "up": { + "uv": [ + 14.25, + 24, + 13.0625, + 30 + ], + "rotation": 180, + "texture": 4 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "ed6a2771-b199-06d5-c826-d9ad2eeeb335" + }, + { + "name": "LeftChestplateBottomTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 12, + -2 + ], + "to": [ + -4, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.002, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 22 + ], + "faces": { + "north": { + "uv": [ + 14.25, + 39, + 13.0625, + 48 + ], + "texture": 4 + }, + "east": { + "uv": [ + 15.4375, + 39, + 14.25, + 48 + ], + "texture": 4 + }, + "south": { + "uv": [ + 16.625, + 39, + 15.4375, + 48 + ], + "texture": 4 + }, + "west": { + "uv": [ + 13.0625, + 39, + 11.875, + 48 + ], + "texture": 4 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 4 + }, + "down": { + "uv": [ + 15.4375, + 24, + 14.25, + 30 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "f3fe7c1b-6af1-72ab-3278-90a5307c6676" + }, + { + "name": "RightLeggingsTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 6, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.502, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 30, + 2.375, + 39 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 30, + 1.1875, + 39 + ], + "texture": 5 + }, + "south": { + "uv": [ + 3.5625, + 30, + 4.75, + 39 + ], + "texture": 5 + }, + "west": { + "uv": [ + 2.375, + 30, + 3.5625, + 39 + ], + "texture": 5 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 5 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 5 + } + }, + "type": "cube", + "uuid": "152a41e4-ba8e-97d6-b386-7f133012408b" + }, + { + "name": "RightBootsTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 6, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.002, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 30, + 2.375, + 39 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 30, + 1.1875, + 39 + ], + "texture": 4 + }, + "south": { + "uv": [ + 3.5625, + 30, + 4.75, + 39 + ], + "texture": 4 + }, + "west": { + "uv": [ + 2.375, + 30, + 3.5625, + 39 + ], + "texture": 4 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 4 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "306712a4-3272-0ec7-9bdf-cee19696ad51" + }, + { + "name": "RightLeggingsBottomTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.502, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 39, + 2.375, + 48 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 39, + 1.1875, + 48 + ], + "texture": 5 + }, + "south": { + "uv": [ + 3.5625, + 39, + 4.75, + 48 + ], + "texture": 5 + }, + "west": { + "uv": [ + 2.375, + 39, + 3.5625, + 48 + ], + "texture": 5 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": 5 + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 5 + } + }, + "type": "cube", + "uuid": "e3ce7714-e502-2ebc-1c85-10d2983ebb7c" + }, + { + "name": "RightBootsBottomTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.002, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 39, + 2.375, + 48 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 39, + 1.1875, + 48 + ], + "texture": 4 + }, + "south": { + "uv": [ + 3.5625, + 39, + 4.75, + 48 + ], + "texture": 4 + }, + "west": { + "uv": [ + 2.375, + 39, + 3.5625, + 48 + ], + "texture": 4 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": 4 + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "1e955fb1-f5ca-cae7-203e-ce7be18f442b" + }, + { + "name": "LeftLeggingsTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 6, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 0.502, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 30, + 1.1875, + 39 + ], + "texture": 5 + }, + "east": { + "uv": [ + 3.5625, + 30, + 2.375, + 39 + ], + "texture": 5 + }, + "south": { + "uv": [ + 4.75, + 30, + 3.5625, + 39 + ], + "texture": 5 + }, + "west": { + "uv": [ + 1.1875, + 30, + 0, + 39 + ], + "texture": 5 + }, + "up": { + "uv": [ + 2.375, + 24, + 1.1875, + 30 + ], + "rotation": 180, + "texture": 5 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 5 + } + }, + "type": "cube", + "uuid": "08aa3ef4-81da-97b6-1fb6-10050d4ab6f9" + }, + { + "name": "LeftBootsTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 6, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.002, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 30, + 1.1875, + 39 + ], + "texture": 4 + }, + "east": { + "uv": [ + 3.5625, + 30, + 2.375, + 39 + ], + "texture": 4 + }, + "south": { + "uv": [ + 4.75, + 30, + 3.5625, + 39 + ], + "texture": 4 + }, + "west": { + "uv": [ + 1.1875, + 30, + 0, + 39 + ], + "texture": 4 + }, + "up": { + "uv": [ + 2.375, + 24, + 1.1875, + 30 + ], + "rotation": 180, + "texture": 4 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "cc172290-3e5f-a21e-14c6-0beb0b7228de" + }, + { + "name": "LeftLeggingsBottomTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 0.502, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 39, + 1.1875, + 48 + ], + "texture": 5 + }, + "east": { + "uv": [ + 3.5625, + 39, + 2.375, + 48 + ], + "texture": 5 + }, + "south": { + "uv": [ + 4.75, + 39, + 3.5625, + 48 + ], + "texture": 5 + }, + "west": { + "uv": [ + 1.1875, + 39, + 0, + 48 + ], + "texture": 5 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": 5 + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 5 + } + }, + "type": "cube", + "uuid": "ae508872-aa37-2b04-7a48-9528dbec9686" + }, + { + "name": "LeftBootsBottomTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.002, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 39, + 1.1875, + 48 + ], + "texture": 4 + }, + "east": { + "uv": [ + 3.5625, + 39, + 2.375, + 48 + ], + "texture": 4 + }, + "south": { + "uv": [ + 4.75, + 39, + 3.5625, + 48 + ], + "texture": 4 + }, + "west": { + "uv": [ + 1.1875, + 39, + 0, + 48 + ], + "texture": 4 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": 4 + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "e46adda3-76b0-3f14-f8bb-14dec4636073" + } + ], + "outliner": [ + { + "name": "ArmorRA", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "9cdcfaa1-6e79-d94c-f516-f1aff5551a36", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightChestplate", + "origin": [ + 0, + 22, + 0 + ], + "color": 0, + "uuid": "fd9a522d-9a6f-9315-f563-c2c2dc2643ed", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "04c52e51-518e-9513-d607-bd72f9efa2c9", + "6be84467-6c7f-1451-5458-a406488d3d44", + "1bc91350-32b8-1826-c5aa-42a13e529528" + ] + } + ] + }, + { + "name": "ArmorRAB", + "origin": [ + 7, + 18, + 2 + ], + "color": 0, + "uuid": "475e6e92-a1e4-3dbd-1fbc-f80f1d0dad3a", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightChestplateBottom", + "origin": [ + 5.5, + 18, + 2 + ], + "color": 0, + "uuid": "002c7a8e-4836-7723-7a30-02d9e7d6864c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4a3a4eb6-fd3e-7d2b-a211-76957d9120bd", + "325d12e9-803c-2ac9-5359-07d737487724", + "77d2d753-cc5c-9604-ed68-fefded8b74c0" + ] + } + ] + }, + { + "name": "ArmorLA", + "origin": [ + -5, + 23, + 0 + ], + "color": 0, + "uuid": "73d4bd8b-b1f2-b209-c731-ba14eca51894", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "LeftChestplate", + "origin": [ + 0, + 22, + 0 + ], + "color": 0, + "uuid": "5c14372a-8dc0-5453-10f1-d47cdec6e52b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "22408e50-1695-eb9c-6ad3-457297fef7dd", + "77395185-0449-b7e0-c6cb-1acfdbb3f452", + "ed6a2771-b199-06d5-c826-d9ad2eeeb335" + ] + } + ] + }, + { + "name": "ArmorLAB", + "origin": [ + -7, + 18, + 2 + ], + "color": 0, + "uuid": "402ce6c8-6779-6fc6-a408-2c462302696d", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "LeftChestplateBottom", + "origin": [ + -5.5, + 18, + 2 + ], + "color": 0, + "uuid": "f09fa0ac-568d-aeed-7aeb-181f6bcae7de", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "26bc361a-dd53-ef35-4d8c-de683271f69d", + "2b05091b-8085-6724-3d43-d9171144768c", + "f3fe7c1b-6af1-72ab-3278-90a5307c6676" + ] + } + ] + }, + { + "name": "ArmorRL", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "09960a3e-73fa-bf53-b5a6-939709be95dd", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightLeggings", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "f2c56651-0b87-7be5-a5d0-54f0b539cedd", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8715712c-138d-7bdc-882f-f4b2c6770544", + "db54d1e6-20a4-45af-6869-4a65f0ea1723", + "152a41e4-ba8e-97d6-b386-7f133012408b" + ] + }, + { + "name": "RightBoots", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "585bbbd4-29dc-4475-360d-a37d1d22a0dc", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1cb0afb2-ba2b-92d1-1099-aefd7cc512b8", + "dad8c5c7-149c-7b1f-9bc2-c432c26bc70e", + "306712a4-3272-0ec7-9bdf-cee19696ad51" + ] + } + ] + }, + { + "name": "ArmorRLB", + "origin": [ + 2, + 6, + 0 + ], + "color": 0, + "uuid": "51c416bc-1aef-41e3-863d-675810356aef", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightLeggingsBottom", + "origin": [ + 2, + 6, + 0 + ], + "color": 0, + "uuid": "943c2228-26ef-a3cc-c4ff-8b2e3a802431", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "de6d8972-c7d3-65ad-9984-a8cb0304f1a4", + "0d1b2e25-e3cb-5fe8-2f68-f18aca44f0aa", + "e3ce7714-e502-2ebc-1c85-10d2983ebb7c" + ] + }, + { + "name": "RightBootsBottom", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "225aaa89-44de-01b7-601e-e0636668f07c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "2b06f488-228c-8e2e-cf9f-a31f465b2b91", + "2f97fafc-dd7b-205e-8403-0de28ab11617", + "1e955fb1-f5ca-cae7-203e-ce7be18f442b" + ] + } + ] + }, + { + "name": "ArmorLL", + "origin": [ + -2, + 6, + 2 + ], + "color": 0, + "uuid": "ebec21d0-6b75-5c93-bcad-43a0bbe83be0", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "LeftLeggings", + "origin": [ + -2, + 6, + 2 + ], + "color": 0, + "uuid": "0e96119a-486e-469e-c718-c9fcb2e8f4aa", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "208279dc-0d16-d5cc-3766-43129fd24c7b", + "a15d5564-7cd3-fc93-e984-76ed5bc8023b", + "08aa3ef4-81da-97b6-1fb6-10050d4ab6f9" + ] + }, + { + "name": "LeftBoots", + "origin": [ + -2, + 6, + -2 + ], + "color": 0, + "uuid": "bae07c99-6cf4-d4d7-9e54-a7966539daf6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "6646f669-d54c-168c-c291-d46c48bfda6b", + "7a6660e4-1279-daf0-3b3d-293b6821dcbe", + "cc172290-3e5f-a21e-14c6-0beb0b7228de" + ] + } + ] + }, + { + "name": "ArmorLLB", + "origin": [ + -2, + 6, + 0 + ], + "color": 0, + "uuid": "ac27b599-070c-a038-5e6f-e998a5ad1cb4", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "LeftLeggingsBottom", + "origin": [ + -2, + 6, + -2 + ], + "color": 0, + "uuid": "bfb3e89f-f73f-f1da-55a1-d25eb9f7c2d4", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "94b2a0f5-fc51-dff6-741d-bb1ba99d2a91", + "f89ca1fb-370e-a2b8-90bd-46b52f03d3c6", + "ae508872-aa37-2b04-7a48-9528dbec9686" + ] + }, + { + "name": "LeftBootsBottom", + "origin": [ + -2, + 6, + -2 + ], + "color": 0, + "uuid": "71ea41e5-93f0-d75e-73eb-77a7b04abfca", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "aabdaefc-770f-a69a-35cc-bb6ac71bc9be", + "65127873-1035-1a39-184f-f7910cbe00c7", + "e46adda3-76b0-3f14-f8bb-14dec4636073" + ] + } + ] + } + ], + "textures": [ + { + "path": "", + "name": "leather_layer_1.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 64, + "height": 32, + "uv_width": 19, + "uv_height": 48, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "3077f184-e559-5a8a-71d6-29d7cea0677e", + "relative_path": "../../textures/for_modeling/leather_layer_1.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAAXNSR0IArs4c6QAAA3lJREFUaEPlmTFv4kAQhU0TnWiQEEW4DlFSRRFVdB1/g5rfRM3foDulQkeacKcUiO5IgZBo0CmNT99Kz5qs7CzENvh8K0XB7Ho98zzzZt7SiAJjNpvFx+PRrWo2m8lqfTeZTBqhPao8HzQeAO7v7t758OftzV2vVqtoPB4H96gFAL9eXqJWq5X40m63/w8AptNp/O3hIfr9+hodDocEAMDYbrf1jwAfgF6vl4CwWCyi2nMAAAyHw2i/37sIEABfbm6iH09P9Y8ASHAwGLi3DgjkPs4zvj8+1j8CAABns0rhP58CWQ7isK37SvwsILQ2bd6WQbsvn68NYMPWedV3hTssj5FUAeZIAQ34YLfbOZC63a5LDQ2lCBzBsH0E1URrq9BHNNLKHCXu6+2ty3ENPxr0ppn3y6S9n/sAAMcZKqWQaWUA6Pf7iWFyzIZyVrcHeD5AAgoQ1uu1mwYgGik7NF+JFLAkl9cggWI5QQDbHqIqZbT0Pl5iChBsCYUfKkGClxIqRIaNiryRVpTdpUdAUYaWtU8QgPl8Hou5Ia7RaBS8pyxj2Vd9i3grbyQFnVkul7F0QFUAUF9RhBYJAvDz+TlWgwQQ144A9S2UVUg074FMEADbKkNieR+YNz1s78FepadAyOAsLeEDZXM3TVx9tN7XD9yfpT3O1RrBCDgFAHKSNKG1Ve9v81NnCnbeX0/bbZ2ie9R3NuettvC1hn99ilzPDYDVElY8Yai0hMQUAEhcoQ1Ybx0S19AlMk8rbbWErhFf0ioSY+yj/ZjXdShlcwNAaOuB1mCpRwyVYxyhWYOtVvCVKKVXesQ6hGP+87KuTzmzLAQAnRj5Ib7ZbNxJspW/OJC2XmpRilFqERA6nY7bRxGWdW0jRACWHgGkgMQOxvLHGSJDR2jiEaWAXW8B8flG64kaK7/TpLnlj3NabncecA6ryhj7EB2a6g0JgLQIEECAo/UAomG7Tt5o3jIXIvF3J0JSaJAWI41VRUoiOeW0f0KkByv8cdgPUU6UGAJMUcP/S/3w4gAgJ/VGFJLWYDvvv0E5ausvoJCzgKJfkyypcY9dLxK7xg8vLgUgFUjHsrQMxlBpeeWk1mcdaWlPHBUQvO2scE5rpi51VpBEgE5oVJfVqOiN23kiguuPGo2iW9ZQLn923kVAWltpWVckmcbEoTLzWcMudd9f6+s3Tq3qU78AAAAASUVORK5CYII=" + }, + { + "path": "", + "name": "leather_layer_1_overlay.png", + "folder": "", + "namespace": "", + "id": "1", + "width": 64, + "height": 32, + "uv_width": 19, + "uv_height": 48, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "2ba8879b-4ecb-195a-59ee-6d9e98804dde", + "relative_path": "../../textures/for_modeling/leather_layer_1_overlay.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAAXNSR0IArs4c6QAAARtJREFUaENjZCABeOlI/Acp33blBSMJ2ga1UpI8EmWhAA6AZScekKRvMIcASR4Z8QGQZANJAfOOjNAUkOWgCQ6AaQeuk5Ryhk0WGA2AkZ4CRnwZQGkABJlACtF1ZwZPIUpSYUZpNUhpANKiMCUpAEAtQQEeDrIbQoOxECUpACiNAVAK4GDhHFTVKF0DAJQCfvz5PqgaUnQNgCFfBlCaBSgtRCm1H5t+uqYAWniAUjMJBgBsDABm0XAaCwD5iagAUBARZPjw4zvDhy8/htVgCNEBAKr7OVgYGF58GKEBgJzPRlwWoLSQGez6CZYBg90DlLpvNAAoDcGhrn80BQz1GKTU/aMpgNIQHOr6R1PAUI9BSt0/mgIoDcGhrh8ARURkId1f/LQAAAAASUVORK5CYII=" + }, + { + "path": "", + "name": "leather_layer_2.png", + "folder": "", + "namespace": "", + "id": "2", + "width": 64, + "height": 32, + "uv_width": 19, + "uv_height": 48, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "a3d07fcc-8736-7c2a-3a7d-01bca4f29360", + "relative_path": "../../textures/for_modeling/leather_layer_2.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAAXNSR0IArs4c6QAAAbNJREFUaEPtVquOg0AUHTSGIDA4BA7ZLLLZj8DzZXi+BI9DoJYKBMGwqevmTHI2N7Ntd5NuSToz15B5NOk9cx43UI5X4Hj/ygPgGeA4Al4CjhPAm6CXgJeA4wh4CThOAJ8CXgJeAgYCbdtesLVtmwrDUFVVZTVLfjQHAN4OB/V5Pquu61Rd124B0DTNpSxLNY6jmufZTQCkKqxnADVP3eML7UsfuHWG/VcHKAAAaDiKIjUMg24+TVMNgLmepknv43xdVyskEkDzSZJoANhgURS60b7vdRrAE1AwRRTWy7Lo+6+eEpoBfHE0hIbzPL/JAAkIALICAL44XpgSAMXRLCkfx7FmBNf4WsEAKQFqHiBkWfYtATDCBIRrKxhAU8OLk+KcA8gIMIAMkaZpRQpIDzBjEICYJmmmxL2YNCOVIzblxXMZuzzbI2a1CfJPmdn/l8Zwh6MzPQJrFkZqljznqA0A5H3c5W/2MNmH53w5OlNC78ej+jiddN/wCpScM2C6kNhv9/cw2YcBuDZIsUG+PJpnapiSYuwSKIKFL0z52R7zbwBIudzzlGsew7mDg5j0jWenzBfesmAwq9d1bgAAAABJRU5ErkJggg==" + }, + { + "path": "", + "name": "leather_layer_2_overlay.png", + "folder": "", + "namespace": "", + "id": "3", + "width": 64, + "height": 32, + "uv_width": 19, + "uv_height": 48, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "72561028-643a-e907-78d7-d707a6b9393f", + "relative_path": "../../textures/for_modeling/leather_layer_2_overlay.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAAXNSR0IArs4c6QAAAP5JREFUaEPtlbEKwjAQhq/gkEKHCA516wM4OvgMjo4+oKPP4eBDODp2KOSGQuUaAramLirE3n9LSS4N3Mf//8lIeWXK5ycAgAKUE4AFlAsAIQgLwALKCcACygWAVwAWgAWUE4AFlAsArwAsAAtECBx3VSfbp8tt9gp5GVCGX9ucHBPV7GYPIQrAmrzXhUoAMrhqC2gLxY9D7rD1gRmKmckYE+U47r07Gy44X38bxF8BUBY+M+6N679hPQDTOqrZ70ifR+sYMbkveQD7TdnZwpBZSGgOBxwPFfrWEHFLVDf+h2q17IHEzicP4NkCImmpKQtM5YvAi5VASh7Av4fmA8zRVyFbTtAIAAAAAElFTkSuQmCC" + }, + { + "path": "", + "name": "trim.png", + "folder": "", + "namespace": "", + "id": "5", + "width": 64, + "height": 32, + "uv_width": 19, + "uv_height": 48, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "10cc6101-1a98-56ff-84bb-c18cb34472c0", + "relative_path": "../../textures/for_modeling/trim.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAAXNSR0IArs4c6QAAARlJREFUaEPtWIEJxCAMrJtkFEdxFEdxFEdxE5/Ip+TFL31S+TamUFrE2NzlUsi5bfHLLY5/MwJMAYszYC2wuADsJ2gtEGOs2AallNYNANBueqcWea83wkoplfbzWFzj53Sx+7m0D58xxr8W4fTHc86ViMHEvfenY+/8n1EBQkKwESBhT0OsKUBDFSUYTAES9jTEmgI0VFGCwRQgYU9DrClAQxUlGG6vAD6FcqA0UuecP/B77/uR/hCjmAD0EzCZkY9AIzOCGPkGfQwft8lXCCGIczxSiEMAxBpt7Od93EPJcjMD174ZGmiaAMBuoNC7RK4zYofs8uTxoyml+mslnmKgDAno+06TA9SraGp/zZDs1WcaAVcz+rTzXjFzgCFw/S4BAAAAAElFTkSuQmCC" + }, + { + "path": "", + "name": "trim_leggings.png", + "folder": "", + "namespace": "", + "id": "6", + "width": 64, + "height": 32, + "uv_width": 19, + "uv_height": 48, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "a801ffff-07dc-221a-9ca4-89a631acd89b", + "relative_path": "../../textures/for_modeling/trim_leggings.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAAXNSR0IArs4c6QAAALdJREFUaEPtlVEKgCAQRPUmHsWj71H2JsVKGxH1o24kM0KkZIs+Z8acwFsG338iACoAnAAtAC4AhiAtQAuAE6AFwAXAW4AWoAXACdAC4ALgLUAL0ALgBLKIbMaglHKiUNU2trc364tIG9o3f2qtS9to6cXPEC8BzKC4co1hBViGeFZ4jnh+eD7YnGum3Of7+KlOdMYMA3g7fVW1Tbf61/7f1BIGwE/9AJCiT7IXbBiA3gV9/R88gB06yDkhrwNxCwAAAABJRU5ErkJggg==" + } + ], + "animations": [ + { + "uuid": "8a5254c3-52e1-ebac-3078-87344e3c6f23", + "name": "jerk_ears", + "loop": "once", + "override": false, + "length": 0.25, + "snapping": 24, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "" + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Momoi/models/barrier.bbmodel b/config/yosbr/config/figura/avatars/Momoi/models/barrier.bbmodel new file mode 100644 index 0000000..920e657 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/models/barrier.bbmodel @@ -0,0 +1,4318 @@ +{ + "meta": { + "format_version": "4.5", + "model_format": "free", + "box_uv": false + }, + "name": "barrier", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 1, + "height": 1 + }, + "elements": [ + { + "name": "Barrier1", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "Arn5": [ + 12.45573, + -16.30478, + -7.99099 + ], + "bhLA": [ + 17.95504, + -12.10366, + -3.99547 + ], + "oe5L": [ + 12.45573, + -16.30478, + 7.99099 + ], + "LaOo": [ + 17.95504, + -12.10366, + 3.99547 + ], + "skAF": [ + 6.95626, + -20.50605, + 3.99542 + ], + "mSEF": [ + 6.95626, + -20.50605, + -3.99542 + ] + }, + "faces": { + "Qa7oQUdO": { + "uv": { + "Arn5": [ + 0.42424, + 0.89503 + ], + "bhLA": [ + 0.39394, + 0.84254 + ], + "oe5L": [ + 0.30303, + 0.89503 + ] + }, + "vertices": [ + "Arn5", + "bhLA", + "oe5L" + ], + "texture": 0 + }, + "LeEDTzrA": { + "uv": { + "bhLA": [ + 0.39394, + 0.84254 + ], + "LaOo": [ + 0.33333, + 0.84254 + ], + "oe5L": [ + 0.30303, + 0.89503 + ] + }, + "vertices": [ + "bhLA", + "LaOo", + "oe5L" + ], + "texture": 0 + }, + "4X7QzJLA": { + "uv": { + "oe5L": [ + 0.30303, + 0.89503 + ], + "skAF": [ + 0.33333, + 0.94751 + ], + "mSEF": [ + 0.39394, + 0.94751 + ] + }, + "vertices": [ + "oe5L", + "skAF", + "mSEF" + ], + "texture": 0 + }, + "x3acV2xS": { + "uv": { + "mSEF": [ + 0.39394, + 0.94751 + ], + "Arn5": [ + 0.42424, + 0.89503 + ], + "oe5L": [ + 0.30303, + 0.89503 + ] + }, + "vertices": [ + "mSEF", + "Arn5", + "oe5L" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "1ffcfe1b-dd45-30ab-3d50-3eb527527f64" + }, + { + "name": "Barrier2", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "Yag1": [ + -5.37976, + -16.30478, + -13.78618 + ], + "2mKW": [ + -3.2792, + -20.50605, + -7.32118 + ], + "zVpV": [ + -7.97619, + -20.50608, + -0.85638 + ], + "3FTI": [ + -12.1773, + -12.10366, + -13.78622 + ], + "YxwL": [ + -16.87454, + -12.10366, + -7.32115 + ], + "CRpy": [ + -14.77408, + -16.30475, + -0.85638 + ] + }, + "faces": { + "qKcm1Dtp": { + "uv": { + "Yag1": [ + 0.66667, + 0.89503 + ], + "2mKW": [ + 0.69697, + 0.94751 + ], + "zVpV": [ + 0.75758, + 0.94751 + ] + }, + "vertices": [ + "Yag1", + "2mKW", + "zVpV" + ], + "texture": 0 + }, + "zcqb3YJU": { + "uv": { + "3FTI": [ + 0.69697, + 0.84254 + ], + "Yag1": [ + 0.66667, + 0.89503 + ], + "zVpV": [ + 0.75758, + 0.94751 + ] + }, + "vertices": [ + "3FTI", + "Yag1", + "zVpV" + ], + "texture": 0 + }, + "fU1wtLBt": { + "uv": { + "YxwL": [ + 0.75758, + 0.84254 + ], + "3FTI": [ + 0.69697, + 0.84254 + ], + "zVpV": [ + 0.75758, + 0.94751 + ] + }, + "vertices": [ + "YxwL", + "3FTI", + "zVpV" + ], + "texture": 0 + }, + "D23N9iIN": { + "uv": { + "zVpV": [ + 0.75758, + 0.94751 + ], + "CRpy": [ + 0.78788, + 0.89503 + ], + "YxwL": [ + 0.75758, + 0.84254 + ] + }, + "vertices": [ + "zVpV", + "CRpy", + "YxwL" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "28326e39-14dc-4a63-19b6-00c93a838274" + }, + { + "name": "Barrier3", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "R7jj": [ + -3.75085, + -16.30478, + 14.31544 + ], + "Jg1w": [ + -1.65027, + -20.50603, + 7.85045 + ], + "vMd4": [ + 5.94954, + -20.50603, + 5.38107 + ], + "kolb": [ + 9.34848, + -12.10366, + 15.84144 + ], + "wOmD": [ + 1.74848, + -12.10366, + 18.31086 + ], + "NNAA": [ + 11.44901, + -16.30478, + 9.37664 + ] + }, + "faces": { + "0lnLGtFu": { + "uv": { + "R7jj": [ + 0.12121, + 0.89503 + ], + "Jg1w": [ + 0.15152, + 0.94751 + ], + "vMd4": [ + 0.21212, + 0.94751 + ] + }, + "vertices": [ + "R7jj", + "Jg1w", + "vMd4" + ], + "texture": 0 + }, + "hhgfkNIK": { + "uv": { + "kolb": [ + 0.21212, + 0.84254 + ], + "wOmD": [ + 0.15152, + 0.84254 + ], + "R7jj": [ + 0.12121, + 0.89503 + ] + }, + "vertices": [ + "kolb", + "wOmD", + "R7jj" + ], + "texture": 0 + }, + "0Rji1785": { + "uv": { + "vMd4": [ + 0.21212, + 0.94751 + ], + "NNAA": [ + 0.24243, + 0.89503 + ], + "R7jj": [ + 0.12121, + 0.89503 + ] + }, + "vertices": [ + "vMd4", + "NNAA", + "R7jj" + ], + "texture": 0 + }, + "i9dgHyC2": { + "uv": { + "NNAA": [ + 0.24243, + 0.89503 + ], + "kolb": [ + 0.21212, + 0.84254 + ], + "R7jj": [ + 0.12121, + 0.89503 + ] + }, + "vertices": [ + "NNAA", + "kolb", + "R7jj" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "89ca0220-5946-6fb4-0562-9cc2170a16fd" + }, + { + "name": "Barrier4", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "IIXU": [ + 11.44901, + -16.30478, + -9.37664 + ], + "1xE0": [ + 5.94954, + -20.50603, + -5.38107 + ], + "CXrA": [ + -1.65027, + -20.50603, + -7.85045 + ], + "zPA0": [ + 1.74848, + -12.10366, + -18.31086 + ], + "oYOf": [ + 9.34848, + -12.10366, + -15.84144 + ], + "DjUC": [ + -3.75085, + -16.30478, + -14.31544 + ] + }, + "faces": { + "uaJyCz2z": { + "uv": { + "IIXU": [ + 0.48485, + 0.89503 + ], + "1xE0": [ + 0.51515, + 0.94751 + ], + "CXrA": [ + 0.57576, + 0.94751 + ] + }, + "vertices": [ + "IIXU", + "1xE0", + "CXrA" + ], + "texture": 0 + }, + "yI2cpGQZ": { + "uv": { + "zPA0": [ + 0.57576, + 0.84254 + ], + "oYOf": [ + 0.51515, + 0.84254 + ], + "IIXU": [ + 0.48485, + 0.89503 + ] + }, + "vertices": [ + "zPA0", + "oYOf", + "IIXU" + ], + "texture": 0 + }, + "zXKeJgkd": { + "uv": { + "CXrA": [ + 0.57576, + 0.94751 + ], + "DjUC": [ + 0.60606, + 0.89503 + ], + "IIXU": [ + 0.48485, + 0.89503 + ] + }, + "vertices": [ + "CXrA", + "DjUC", + "IIXU" + ], + "texture": 0 + }, + "GgM9ok1T": { + "uv": { + "DjUC": [ + 0.60606, + 0.89503 + ], + "zPA0": [ + 0.57576, + 0.84254 + ], + "IIXU": [ + 0.48485, + 0.89503 + ] + }, + "vertices": [ + "DjUC", + "zPA0", + "IIXU" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "e2fcefb7-9c37-6ff5-68e4-8627896caea9" + }, + { + "name": "Barrier5", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "xYFO": [ + -1.37211, + -3.84915, + 21.63661 + ], + "F8AM": [ + 2.02674, + -10.64672, + 19.16723 + ], + "YWtx": [ + 13.82781, + -3.84922, + 16.69776 + ], + "Rptb": [ + 2.82907, + 2.94872, + 21.63661 + ], + "nAjf": [ + 9.62674, + -10.64672, + 16.69779 + ], + "cm0C": [ + 10.42882, + 2.94878, + 19.16726 + ] + }, + "faces": { + "NFbZyVJX": { + "uv": { + "xYFO": [ + 0.12121, + 0.79005 + ], + "F8AM": [ + 0.15152, + 0.84254 + ], + "YWtx": [ + 0.24243, + 0.79005 + ] + }, + "vertices": [ + "xYFO", + "F8AM", + "YWtx" + ], + "texture": 0 + }, + "oOZWbFhk": { + "uv": { + "Rptb": [ + 0.15152, + 0.73757 + ], + "xYFO": [ + 0.12121, + 0.79005 + ], + "YWtx": [ + 0.24243, + 0.79005 + ] + }, + "vertices": [ + "Rptb", + "xYFO", + "YWtx" + ], + "texture": 0 + }, + "mOru5kIu": { + "uv": { + "F8AM": [ + 0.15152, + 0.84254 + ], + "nAjf": [ + 0.21212, + 0.84254 + ], + "YWtx": [ + 0.24243, + 0.79005 + ] + }, + "vertices": [ + "F8AM", + "nAjf", + "YWtx" + ], + "texture": 0 + }, + "1FFKq8BV": { + "uv": { + "YWtx": [ + 0.24243, + 0.79005 + ], + "cm0C": [ + 0.21212, + 0.73756 + ], + "Rptb": [ + 0.15152, + 0.73757 + ] + }, + "vertices": [ + "YWtx", + "cm0C", + "Rptb" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "0892b9ea-ea94-207c-1f9a-2f8628aac120" + }, + { + "name": "Barrier6", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "nIfk": [ + 11.60749, + 3.8492, + 18.31093 + ], + "Ut8M": [ + 15.00648, + -2.94878, + 15.84141 + ], + "nWP5": [ + 19.70349, + -2.94875, + 9.37669 + ], + "aenb": [ + 17.60302, + 10.6467, + 7.85042 + ], + "wSME": [ + 12.90576, + 10.6467, + 14.31549 + ], + "VVCf": [ + 21.00181, + 3.84917, + 5.38106 + ] + }, + "faces": { + "r899VVRa": { + "uv": { + "nIfk": [ + 0.21212, + 0.73756 + ], + "Ut8M": [ + 0.24243, + 0.79005 + ], + "nWP5": [ + 0.30303, + 0.79005 + ] + }, + "vertices": [ + "nIfk", + "Ut8M", + "nWP5" + ], + "texture": 0 + }, + "m0Cli6Ve": { + "uv": { + "aenb": [ + 0.30303, + 0.68508 + ], + "wSME": [ + 0.24242, + 0.68508 + ], + "nIfk": [ + 0.21212, + 0.73756 + ] + }, + "vertices": [ + "aenb", + "wSME", + "nIfk" + ], + "texture": 0 + }, + "eIe5wd3R": { + "uv": { + "nWP5": [ + 0.30303, + 0.79005 + ], + "VVCf": [ + 0.33334, + 0.73757 + ], + "nIfk": [ + 0.21212, + 0.73756 + ] + }, + "vertices": [ + "nWP5", + "VVCf", + "nIfk" + ], + "texture": 0 + }, + "zhNhQfF3": { + "uv": { + "VVCf": [ + 0.33334, + 0.73757 + ], + "aenb": [ + 0.30303, + 0.68508 + ], + "nIfk": [ + 0.21212, + 0.73756 + ] + }, + "vertices": [ + "VVCf", + "aenb", + "nIfk" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "b353e066-b7eb-5d49-03d0-6bffec0918a0" + }, + { + "name": "Barrier7", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "sgjW": [ + 20.15371, + -3.8492, + 7.99102 + ], + "RXBz": [ + 18.85547, + -10.64674, + 3.99547 + ], + "F24g": [ + 20.15371, + -3.8492, + -7.99102 + ], + "b4nW": [ + 21.45203, + 2.94874, + 3.99539 + ], + "t3ws": [ + 18.85547, + -10.64674, + -3.99547 + ], + "OAIt": [ + 21.45203, + 2.94874, + -3.99539 + ] + }, + "faces": { + "MnnmSYRF": { + "uv": { + "sgjW": [ + 0.30303, + 0.79005 + ], + "RXBz": [ + 0.33333, + 0.84254 + ], + "F24g": [ + 0.42424, + 0.79005 + ] + }, + "vertices": [ + "sgjW", + "RXBz", + "F24g" + ], + "texture": 0 + }, + "eCGpY79B": { + "uv": { + "b4nW": [ + 0.33334, + 0.73757 + ], + "sgjW": [ + 0.30303, + 0.79005 + ], + "F24g": [ + 0.42424, + 0.79005 + ] + }, + "vertices": [ + "b4nW", + "sgjW", + "F24g" + ], + "texture": 0 + }, + "UA9sL3fH": { + "uv": { + "RXBz": [ + 0.33333, + 0.84254 + ], + "t3ws": [ + 0.39394, + 0.84254 + ], + "F24g": [ + 0.42424, + 0.79005 + ] + }, + "vertices": [ + "RXBz", + "t3ws", + "F24g" + ], + "texture": 0 + }, + "1mO1enyO": { + "uv": { + "F24g": [ + 0.42424, + 0.79005 + ], + "OAIt": [ + 0.39394, + 0.73757 + ], + "b4nW": [ + 0.33334, + 0.73757 + ] + }, + "vertices": [ + "F24g", + "OAIt", + "b4nW" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "cf598a49-f1eb-47bc-8232-487d7ce031d1" + }, + { + "name": "Barrier8", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "Q4IN": [ + -13.82781, + 3.84922, + 16.69776 + ], + "wCK2": [ + -10.42882, + -2.94878, + 19.16726 + ], + "PNTE": [ + -2.82907, + -2.94872, + 21.63661 + ], + "mlEN": [ + -2.02674, + 10.64672, + 19.16723 + ], + "lABY": [ + -9.62674, + 10.64672, + 16.69779 + ], + "ZHKx": [ + 1.37211, + 3.84915, + 21.63661 + ] + }, + "faces": { + "n24TdmhQ": { + "uv": { + "Q4IN": [ + 0.0303, + 0.73756 + ], + "wCK2": [ + 0.06061, + 0.79005 + ], + "PNTE": [ + 0.12121, + 0.79005 + ] + }, + "vertices": [ + "Q4IN", + "wCK2", + "PNTE" + ], + "texture": 0 + }, + "UUDEtWYK": { + "uv": { + "mlEN": [ + 0.12121, + 0.68508 + ], + "lABY": [ + 0.06061, + 0.68508 + ], + "Q4IN": [ + 0.0303, + 0.73756 + ] + }, + "vertices": [ + "mlEN", + "lABY", + "Q4IN" + ], + "texture": 0 + }, + "f1u0lNPh": { + "uv": { + "PNTE": [ + 0.12121, + 0.79005 + ], + "ZHKx": [ + 0.15152, + 0.73757 + ], + "Q4IN": [ + 0.0303, + 0.73756 + ] + }, + "vertices": [ + "PNTE", + "ZHKx", + "Q4IN" + ], + "texture": 0 + }, + "1zDhRe2q": { + "uv": { + "ZHKx": [ + 0.15152, + 0.73757 + ], + "mlEN": [ + 0.12121, + 0.68508 + ], + "Q4IN": [ + 0.0303, + 0.73756 + ] + }, + "vertices": [ + "ZHKx", + "mlEN", + "Q4IN" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "8cda9be7-5fa4-c07d-0003-2f7bc1954175" + }, + { + "name": "Barrier9", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "qHbv": [ + -20.15371, + 3.8492, + -7.99102 + ], + "3bwp": [ + -21.45203, + -2.94874, + -3.99539 + ], + "KSbw": [ + -21.45203, + -2.94874, + 3.99539 + ], + "ZsXT": [ + -18.85547, + 10.64674, + 3.99547 + ], + "eH85": [ + -18.85547, + 10.64674, + -3.99547 + ], + "0KPs": [ + -20.15371, + 3.8492, + 7.99102 + ] + }, + "faces": { + "7EXV6aLH": { + "uv": { + "qHbv": [ + 0.75758, + 0.73757 + ], + "3bwp": [ + 0.78788, + 0.79005 + ], + "KSbw": [ + 0.84848, + 0.79005 + ] + }, + "vertices": [ + "qHbv", + "3bwp", + "KSbw" + ], + "texture": 0 + }, + "20iczZep": { + "uv": { + "ZsXT": [ + 0.84849, + 0.68508 + ], + "eH85": [ + 0.78788, + 0.68508 + ], + "qHbv": [ + 0.75758, + 0.73757 + ] + }, + "vertices": [ + "ZsXT", + "eH85", + "qHbv" + ], + "texture": 0 + }, + "JdkP7htC": { + "uv": { + "KSbw": [ + 0.84848, + 0.79005 + ], + "0KPs": [ + 0.87879, + 0.73757 + ], + "qHbv": [ + 0.75758, + 0.73757 + ] + }, + "vertices": [ + "KSbw", + "0KPs", + "qHbv" + ], + "texture": 0 + }, + "icWfShVQ": { + "uv": { + "0KPs": [ + 0.87879, + 0.73757 + ], + "ZsXT": [ + 0.84849, + 0.68508 + ], + "qHbv": [ + 0.75758, + 0.73757 + ] + }, + "vertices": [ + "0KPs", + "ZsXT", + "qHbv" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "bc33b5aa-6b23-ab8a-be66-fa3752a03424" + }, + { + "name": "Barrier10", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "juyq": [ + 1.37211, + 3.84915, + -21.63661 + ], + "VQ5C": [ + -2.82907, + -2.94872, + -21.63661 + ], + "hG3m": [ + -10.42882, + -2.94878, + -19.16726 + ], + "lWhR": [ + -9.62674, + 10.64672, + -16.69779 + ], + "Cnbv": [ + -2.02674, + 10.64672, + -19.16723 + ], + "Xj1y": [ + -13.82781, + 3.84922, + -16.69776 + ] + }, + "faces": { + "6pMwCLSn": { + "uv": { + "juyq": [ + 0.57576, + 0.73757 + ], + "VQ5C": [ + 0.60606, + 0.79005 + ], + "hG3m": [ + 0.66667, + 0.79005 + ] + }, + "vertices": [ + "juyq", + "VQ5C", + "hG3m" + ], + "texture": 0 + }, + "h6AOKRiu": { + "uv": { + "lWhR": [ + 0.66667, + 0.68508 + ], + "Cnbv": [ + 0.60606, + 0.68508 + ], + "juyq": [ + 0.57576, + 0.73757 + ] + }, + "vertices": [ + "lWhR", + "Cnbv", + "juyq" + ], + "texture": 0 + }, + "0FsYmgLW": { + "uv": { + "hG3m": [ + 0.66667, + 0.79005 + ], + "Xj1y": [ + 0.69697, + 0.73756 + ], + "juyq": [ + 0.57576, + 0.73757 + ] + }, + "vertices": [ + "hG3m", + "Xj1y", + "juyq" + ], + "texture": 0 + }, + "FpUb7Vkj": { + "uv": { + "Xj1y": [ + 0.69697, + 0.73756 + ], + "lWhR": [ + 0.66667, + 0.68508 + ], + "juyq": [ + 0.57576, + 0.73757 + ] + }, + "vertices": [ + "Xj1y", + "lWhR", + "juyq" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "1b3fb0cd-4643-e05d-049e-7948bd8339b9" + }, + { + "name": "Barrier11", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "wSjj": [ + -21.00181, + -3.84917, + 5.38106 + ], + "3yqo": [ + -17.60302, + -10.6467, + 7.85042 + ], + "GsYx": [ + -11.60749, + -3.8492, + 18.31093 + ], + "cRt1": [ + -19.70349, + 2.94875, + 9.37669 + ], + "aQOg": [ + -12.90576, + -10.6467, + 14.31549 + ], + "blCS": [ + -15.00648, + 2.94878, + 15.84141 + ] + }, + "faces": { + "wKK3oNBw": { + "uv": { + "wSjj": [ + 0.84848, + 0.79005 + ], + "3yqo": [ + 0.87879, + 0.84254 + ], + "GsYx": [ + 0.9697, + 0.79005 + ] + }, + "vertices": [ + "wSjj", + "3yqo", + "GsYx" + ], + "texture": 0 + }, + "d12lsUHC": { + "uv": { + "cRt1": [ + 0.87879, + 0.73757 + ], + "wSjj": [ + 0.84848, + 0.79005 + ], + "GsYx": [ + 0.9697, + 0.79005 + ] + }, + "vertices": [ + "cRt1", + "wSjj", + "GsYx" + ], + "texture": 0 + }, + "WYCOszu3": { + "uv": { + "3yqo": [ + 0.87879, + 0.84254 + ], + "aQOg": [ + 0.9394, + 0.84254 + ], + "GsYx": [ + 0.9697, + 0.79005 + ] + }, + "vertices": [ + "3yqo", + "aQOg", + "GsYx" + ], + "texture": 0 + }, + "eNYXZE7U": { + "uv": { + "GsYx": [ + 0.9697, + 0.79005 + ], + "blCS": [ + 0.93939, + 0.73756 + ], + "cRt1": [ + 0.87879, + 0.73757 + ] + }, + "vertices": [ + "GsYx", + "blCS", + "cRt1" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "df2ad74a-22a2-510c-8f34-9895b418553d" + }, + { + "name": "Barrier12", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "UdM8": [ + -11.60749, + -3.8492, + -18.31093 + ], + "Artn": [ + -12.90576, + -10.6467, + -14.31549 + ], + "6HSp": [ + -21.00181, + -3.84917, + -5.38106 + ], + "hj5A": [ + -15.00648, + 2.94878, + -15.84141 + ], + "pV62": [ + -17.60302, + -10.6467, + -7.85042 + ], + "8yW9": [ + -19.70349, + 2.94875, + -9.37669 + ] + }, + "faces": { + "IG3YNfqx": { + "uv": { + "UdM8": [ + 0.66667, + 0.79005 + ], + "Artn": [ + 0.69697, + 0.84254 + ], + "6HSp": [ + 0.78788, + 0.79005 + ] + }, + "vertices": [ + "UdM8", + "Artn", + "6HSp" + ], + "texture": 0 + }, + "4chGV6ts": { + "uv": { + "hj5A": [ + 0.69697, + 0.73756 + ], + "UdM8": [ + 0.66667, + 0.79005 + ], + "6HSp": [ + 0.78788, + 0.79005 + ] + }, + "vertices": [ + "hj5A", + "UdM8", + "6HSp" + ], + "texture": 0 + }, + "VGkTMtuQ": { + "uv": { + "Artn": [ + 0.69697, + 0.84254 + ], + "pV62": [ + 0.75758, + 0.84254 + ], + "6HSp": [ + 0.78788, + 0.79005 + ] + }, + "vertices": [ + "Artn", + "pV62", + "6HSp" + ], + "texture": 0 + }, + "v6PHqr8o": { + "uv": { + "6HSp": [ + 0.78788, + 0.79005 + ], + "8yW9": [ + 0.75758, + 0.73757 + ], + "hj5A": [ + 0.69697, + 0.73756 + ] + }, + "vertices": [ + "6HSp", + "8yW9", + "hj5A" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "70bc7923-bd95-97a0-b5e5-a6e107c8b9f3" + }, + { + "name": "Barrier13", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "IywS": [ + 13.82781, + -3.84922, + -16.69776 + ], + "WGv1": [ + 9.62674, + -10.64672, + -16.69779 + ], + "qW39": [ + -1.37211, + -3.84915, + -21.63661 + ], + "WBIQ": [ + 10.42882, + 2.94878, + -19.16726 + ], + "TcLv": [ + 2.02674, + -10.64672, + -19.16723 + ], + "PO4z": [ + 2.82907, + 2.94872, + -21.63661 + ] + }, + "faces": { + "NgYuFwUK": { + "uv": { + "IywS": [ + 0.48485, + 0.79005 + ], + "WGv1": [ + 0.51515, + 0.84254 + ], + "qW39": [ + 0.60606, + 0.79005 + ] + }, + "vertices": [ + "IywS", + "WGv1", + "qW39" + ], + "texture": 0 + }, + "Vk1ixfW9": { + "uv": { + "WBIQ": [ + 0.51515, + 0.73756 + ], + "IywS": [ + 0.48485, + 0.79005 + ], + "qW39": [ + 0.60606, + 0.79005 + ] + }, + "vertices": [ + "WBIQ", + "IywS", + "qW39" + ], + "texture": 0 + }, + "UDZDmr4v": { + "uv": { + "WGv1": [ + 0.51515, + 0.84254 + ], + "TcLv": [ + 0.57576, + 0.84254 + ], + "qW39": [ + 0.60606, + 0.79005 + ] + }, + "vertices": [ + "WGv1", + "TcLv", + "qW39" + ], + "texture": 0 + }, + "1fxm3Azo": { + "uv": { + "qW39": [ + 0.60606, + 0.79005 + ], + "PO4z": [ + 0.57576, + 0.73757 + ], + "WBIQ": [ + 0.51515, + 0.73756 + ] + }, + "vertices": [ + "qW39", + "PO4z", + "WBIQ" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "c7fee38e-2c47-a2f7-7226-1cab458ce078" + }, + { + "name": "Barrier14", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "3Wsb": [ + 21.00181, + 3.84917, + -5.38106 + ], + "92Ls": [ + 19.70349, + -2.94875, + -9.37669 + ], + "T5zd": [ + 15.00648, + -2.94878, + -15.84141 + ], + "pc3G": [ + 12.90576, + 10.6467, + -14.31549 + ], + "yTH1": [ + 17.60302, + 10.6467, + -7.85042 + ], + "KUh7": [ + 11.60749, + 3.8492, + -18.31093 + ] + }, + "faces": { + "z5iseIFC": { + "uv": { + "3Wsb": [ + 0.39394, + 0.73757 + ], + "92Ls": [ + 0.42424, + 0.79005 + ], + "T5zd": [ + 0.48485, + 0.79005 + ] + }, + "vertices": [ + "3Wsb", + "92Ls", + "T5zd" + ], + "texture": 0 + }, + "iUaryT49": { + "uv": { + "pc3G": [ + 0.48485, + 0.68508 + ], + "yTH1": [ + 0.42424, + 0.68508 + ], + "3Wsb": [ + 0.39394, + 0.73757 + ] + }, + "vertices": [ + "pc3G", + "yTH1", + "3Wsb" + ], + "texture": 0 + }, + "0I4Uy5Qt": { + "uv": { + "T5zd": [ + 0.48485, + 0.79005 + ], + "KUh7": [ + 0.51515, + 0.73756 + ], + "3Wsb": [ + 0.39394, + 0.73757 + ] + }, + "vertices": [ + "T5zd", + "KUh7", + "3Wsb" + ], + "texture": 0 + }, + "mQ5kSI6c": { + "uv": { + "KUh7": [ + 0.51515, + 0.73756 + ], + "pc3G": [ + 0.48485, + 0.68508 + ], + "3Wsb": [ + 0.39394, + 0.73757 + ] + }, + "vertices": [ + "KUh7", + "pc3G", + "3Wsb" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "45b3660e-3b5c-a4ef-ca94-b53cb44d79ae" + }, + { + "name": "Barrier15", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "WVDV": [ + 3.2792, + 20.50605, + 7.32118 + ], + "QGox": [ + 5.37976, + 16.30478, + 13.78618 + ], + "0vPb": [ + 12.1773, + 12.10366, + 13.78622 + ], + "LiZb": [ + 7.97619, + 20.50608, + 0.85638 + ], + "lVmK": [ + 14.77408, + 16.30475, + 0.85638 + ], + "fJUn": [ + 16.87454, + 12.10366, + 7.32115 + ] + }, + "faces": { + "rKUZxlFB": { + "uv": { + "WVDV": [ + 0.24243, + 0.5801 + ], + "QGox": [ + 0.21212, + 0.63259 + ], + "0vPb": [ + 0.24242, + 0.68508 + ] + }, + "vertices": [ + "WVDV", + "QGox", + "0vPb" + ], + "texture": 0 + }, + "krK3LH0j": { + "uv": { + "LiZb": [ + 0.30303, + 0.5801 + ], + "WVDV": [ + 0.24243, + 0.5801 + ], + "0vPb": [ + 0.24242, + 0.68508 + ] + }, + "vertices": [ + "LiZb", + "WVDV", + "0vPb" + ], + "texture": 0 + }, + "z4iC3FpH": { + "uv": { + "lVmK": [ + 0.33334, + 0.63259 + ], + "LiZb": [ + 0.30303, + 0.5801 + ], + "0vPb": [ + 0.24242, + 0.68508 + ] + }, + "vertices": [ + "lVmK", + "LiZb", + "0vPb" + ], + "texture": 0 + }, + "17HHqHr8": { + "uv": { + "0vPb": [ + 0.24242, + 0.68508 + ], + "fJUn": [ + 0.30303, + 0.68508 + ], + "lVmK": [ + 0.33334, + 0.63259 + ] + }, + "vertices": [ + "0vPb", + "fJUn", + "lVmK" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "0eb84df0-6dcf-d820-ca27-bc7705c5c5d2" + }, + { + "name": "Barrier16", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "64Fn": [ + -11.44901, + 16.30478, + 9.37664 + ], + "F8oA": [ + -9.34848, + 12.10366, + 15.84144 + ], + "tkDL": [ + 3.75085, + 16.30478, + 14.31544 + ], + "urE0": [ + -5.94954, + 20.50603, + 5.38107 + ], + "CBMq": [ + -1.74848, + 12.10366, + 18.31086 + ], + "xZmX": [ + 1.65027, + 20.50603, + 7.85045 + ] + }, + "faces": { + "2TpR2vyn": { + "uv": { + "64Fn": [ + 0.0303, + 0.63259 + ], + "F8oA": [ + 0.06061, + 0.68508 + ], + "tkDL": [ + 0.15152, + 0.63259 + ] + }, + "vertices": [ + "64Fn", + "F8oA", + "tkDL" + ], + "texture": 0 + }, + "qNYd432g": { + "uv": { + "urE0": [ + 0.06061, + 0.5801 + ], + "64Fn": [ + 0.0303, + 0.63259 + ], + "tkDL": [ + 0.15152, + 0.63259 + ] + }, + "vertices": [ + "urE0", + "64Fn", + "tkDL" + ], + "texture": 0 + }, + "vngzZZyv": { + "uv": { + "F8oA": [ + 0.06061, + 0.68508 + ], + "CBMq": [ + 0.12121, + 0.68508 + ], + "tkDL": [ + 0.15152, + 0.63259 + ] + }, + "vertices": [ + "F8oA", + "CBMq", + "tkDL" + ], + "texture": 0 + }, + "LE6Kp0Mj": { + "uv": { + "tkDL": [ + 0.15152, + 0.63259 + ], + "xZmX": [ + 0.12121, + 0.5801 + ], + "urE0": [ + 0.06061, + 0.5801 + ] + }, + "vertices": [ + "tkDL", + "xZmX", + "urE0" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "d1cb7706-eef3-1779-2707-cdfe2d72b62e" + }, + { + "name": "Barrier17", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "5HFB": [ + -12.45573, + 16.30478, + -7.99099 + ], + "JDQi": [ + -17.95504, + 12.10366, + -3.99547 + ], + "m2BW": [ + -12.45573, + 16.30478, + 7.99099 + ], + "DepI": [ + -6.95626, + 20.50605, + -3.99542 + ], + "P5bi": [ + -17.95504, + 12.10366, + 3.99547 + ], + "2shv": [ + -6.95626, + 20.50605, + 3.99542 + ] + }, + "faces": { + "0f91mzoQ": { + "uv": { + "5HFB": [ + 0.75758, + 0.63259 + ], + "JDQi": [ + 0.78788, + 0.68508 + ], + "m2BW": [ + 0.87879, + 0.63259 + ] + }, + "vertices": [ + "5HFB", + "JDQi", + "m2BW" + ], + "texture": 0 + }, + "qoogvexQ": { + "uv": { + "DepI": [ + 0.78788, + 0.5801 + ], + "5HFB": [ + 0.75758, + 0.63259 + ], + "m2BW": [ + 0.87879, + 0.63259 + ] + }, + "vertices": [ + "DepI", + "5HFB", + "m2BW" + ], + "texture": 0 + }, + "7ma6IzQW": { + "uv": { + "JDQi": [ + 0.78788, + 0.68508 + ], + "P5bi": [ + 0.84849, + 0.68508 + ], + "m2BW": [ + 0.87879, + 0.63259 + ] + }, + "vertices": [ + "JDQi", + "P5bi", + "m2BW" + ], + "texture": 0 + }, + "L5znhKgV": { + "uv": { + "m2BW": [ + 0.87879, + 0.63259 + ], + "2shv": [ + 0.84849, + 0.5801 + ], + "DepI": [ + 0.78788, + 0.5801 + ] + }, + "vertices": [ + "m2BW", + "2shv", + "DepI" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "0d00fdac-233d-4adf-53c6-a02afd385a9b" + }, + { + "name": "Barrier18", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "223J": [ + 3.75085, + 16.30478, + -14.31544 + ], + "pW0y": [ + -1.74848, + 12.10366, + -18.31086 + ], + "qgCV": [ + -11.44901, + 16.30478, + -9.37664 + ], + "FrYg": [ + 1.65027, + 20.50603, + -7.85045 + ], + "QjdH": [ + -9.34848, + 12.10366, + -15.84144 + ], + "qMuF": [ + -5.94954, + 20.50605, + -5.38107 + ] + }, + "faces": { + "8ibtPIMP": { + "uv": { + "223J": [ + 0.57576, + 0.63259 + ], + "pW0y": [ + 0.60606, + 0.68508 + ], + "qgCV": [ + 0.69697, + 0.63259 + ] + }, + "vertices": [ + "223J", + "pW0y", + "qgCV" + ], + "texture": 0 + }, + "M0luOpy1": { + "uv": { + "FrYg": [ + 0.60606, + 0.5801 + ], + "223J": [ + 0.57576, + 0.63259 + ], + "qgCV": [ + 0.69697, + 0.63259 + ] + }, + "vertices": [ + "FrYg", + "223J", + "qgCV" + ], + "texture": 0 + }, + "IVfPhmRG": { + "uv": { + "pW0y": [ + 0.60606, + 0.68508 + ], + "QjdH": [ + 0.66667, + 0.68508 + ], + "qgCV": [ + 0.69697, + 0.63259 + ] + }, + "vertices": [ + "pW0y", + "QjdH", + "qgCV" + ], + "texture": 0 + }, + "hkSpGwnR": { + "uv": { + "qgCV": [ + 0.69697, + 0.63259 + ], + "qMuF": [ + 0.66667, + 0.5801 + ], + "FrYg": [ + 0.60606, + 0.5801 + ] + }, + "vertices": [ + "qgCV", + "qMuF", + "FrYg" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "fcd3d424-d6fb-d18d-4e2d-1930b4c0b8e6" + }, + { + "name": "Barrier19", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "lIrd": [ + 7.97619, + 20.50608, + -0.85638 + ], + "t2bZ": [ + 14.77408, + 16.30475, + -0.85638 + ], + "XKGS": [ + 16.87454, + 12.10366, + -7.32115 + ], + "TT9g": [ + 5.37976, + 16.30478, + -13.78618 + ], + "zUlh": [ + 3.2792, + 20.50605, + -7.32118 + ], + "csGR": [ + 12.1773, + 12.10366, + -13.78622 + ] + }, + "faces": { + "xaKteESB": { + "uv": { + "lIrd": [ + 0.42424, + 0.5801 + ], + "t2bZ": [ + 0.39394, + 0.63259 + ], + "XKGS": [ + 0.42424, + 0.68508 + ] + }, + "vertices": [ + "lIrd", + "t2bZ", + "XKGS" + ], + "texture": 0 + }, + "8ngeSaOz": { + "uv": { + "TT9g": [ + 0.51515, + 0.63259 + ], + "zUlh": [ + 0.48485, + 0.5801 + ], + "lIrd": [ + 0.42424, + 0.5801 + ] + }, + "vertices": [ + "TT9g", + "zUlh", + "lIrd" + ], + "texture": 0 + }, + "OhBaOPiD": { + "uv": { + "XKGS": [ + 0.42424, + 0.68508 + ], + "csGR": [ + 0.48485, + 0.68508 + ], + "lIrd": [ + 0.42424, + 0.5801 + ] + }, + "vertices": [ + "XKGS", + "csGR", + "lIrd" + ], + "texture": 0 + }, + "J7r3VruA": { + "uv": { + "csGR": [ + 0.48485, + 0.68508 + ], + "TT9g": [ + 0.51515, + 0.63259 + ], + "lIrd": [ + 0.42424, + 0.5801 + ] + }, + "vertices": [ + "csGR", + "TT9g", + "lIrd" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "77755fa8-c601-10d3-3837-b3468bd8dc96" + }, + { + "name": "Barrier20", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "IZcu": [ + -2.1005, + -20.99888, + 6.4648 + ], + "Plkb": [ + -6.7975, + -20.99891, + 0 + ], + "Iz64": [ + -2.1005, + -20.99888, + -6.4648 + ], + "E3i2": [ + 5.49931, + -20.99888, + 3.99542 + ], + "PdRm": [ + 5.49931, + -20.99888, + -3.99542 + ] + }, + "faces": { + "ja8upiKN": { + "uv": { + "IZcu": [ + 0.15152, + 0.94751 + ], + "Plkb": [ + 0.87879, + 0.94751 + ], + "Iz64": [ + 0.69697, + 0.94751 + ] + }, + "vertices": [ + "IZcu", + "Plkb", + "Iz64" + ], + "texture": 0 + }, + "g7zBloQn": { + "uv": { + "Iz64": [ + 0.69697, + 0.94751 + ], + "E3i2": [ + 0.33333, + 0.94751 + ], + "IZcu": [ + 0.15152, + 0.94751 + ] + }, + "vertices": [ + "Iz64", + "E3i2", + "IZcu" + ], + "texture": 0 + }, + "iaSkji52": { + "uv": { + "Iz64": [ + 0.69697, + 0.94751 + ], + "PdRm": [ + 0.51515, + 0.94751 + ], + "E3i2": [ + 0.33333, + 0.94751 + ] + }, + "vertices": [ + "Iz64", + "PdRm", + "E3i2" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "98c517d9-af86-f1f7-15e7-706cdc5a7225" + }, + { + "name": "Barrier21", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "eNc6": [ + 18.23474, + -11.26981, + 5.25723 + ], + "oXU3": [ + 19.53298, + -4.47227, + 9.25277 + ], + "v45W": [ + 10.63491, + -11.26981, + 15.71755 + ], + "qesY": [ + 12.73544, + -15.47093, + 9.25274 + ], + "fClk": [ + 14.83598, + -4.4723, + 15.7175 + ] + }, + "faces": { + "czOWc0m9": { + "uv": { + "eNc6": [ + 0.33333, + 0.84254 + ], + "oXU3": [ + 0.30303, + 0.79005 + ], + "v45W": [ + 0.21212, + 0.84254 + ] + }, + "vertices": [ + "eNc6", + "oXU3", + "v45W" + ], + "texture": 0 + }, + "PcDsG9ps": { + "uv": { + "qesY": [ + 0.24243, + 0.89503 + ], + "eNc6": [ + 0.33333, + 0.84254 + ], + "v45W": [ + 0.21212, + 0.84254 + ] + }, + "vertices": [ + "qesY", + "eNc6", + "v45W" + ], + "texture": 0 + }, + "2HtM1VXx": { + "uv": { + "oXU3": [ + 0.30303, + 0.79005 + ], + "fClk": [ + 0.24243, + 0.79005 + ], + "v45W": [ + 0.21212, + 0.84254 + ] + }, + "vertices": [ + "oXU3", + "fClk", + "v45W" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "acaf2d7b-dada-e2a1-7217-364a38996fa9" + }, + { + "name": "Barrier22", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "4tBa": [ + -4.8644, + -15.47093, + 14.97136 + ], + "FmtI": [ + 0.63491, + -11.26981, + 18.96678 + ], + "KdKL": [ + -10.36366, + -4.4723, + 18.96683 + ], + "JBqo": [ + -11.66194, + -11.26981, + 14.97141 + ], + "Ogq6": [ + -2.76392, + -4.47224, + 21.43616 + ] + }, + "faces": { + "UBsmS2b1": { + "uv": { + "4tBa": [ + 0.9697, + 0.89503 + ], + "FmtI": [ + 0.15152, + 0.84254 + ], + "KdKL": [ + 0.06061, + 0.79005 + ] + }, + "vertices": [ + "4tBa", + "FmtI", + "KdKL" + ], + "texture": 0 + }, + "cFS39XOs": { + "uv": { + "JBqo": [ + 0.9394, + 0.84254 + ], + "4tBa": [ + 0.9697, + 0.89503 + ], + "KdKL": [ + 0.06061, + 0.79005 + ] + }, + "vertices": [ + "JBqo", + "4tBa", + "KdKL" + ], + "texture": 0 + }, + "KBzO3gqa": { + "uv": { + "FmtI": [ + 0.15152, + 0.84254 + ], + "Ogq6": [ + 0.12121, + 0.79005 + ], + "KdKL": [ + 0.06061, + 0.79005 + ] + }, + "vertices": [ + "FmtI", + "Ogq6", + "KdKL" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "c8d44095-5fc1-3347-524f-7445a11e5732" + }, + { + "name": "Barrier23", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "muYb": [ + -17.84248, + -11.26981, + -6.46477 + ], + "fRkY": [ + -15.74202, + -15.4709, + 0 + ], + "6q3M": [ + -17.84248, + -11.26981, + 6.46477 + ], + "D2fl": [ + -21.24126, + -4.47227, + -3.99539 + ], + "ypKx": [ + -21.24126, + -4.47227, + 3.99539 + ] + }, + "faces": { + "wkWcI2Y3": { + "uv": { + "muYb": [ + 0.75758, + 0.84254 + ], + "fRkY": [ + 0.78788, + 0.89503 + ], + "6q3M": [ + 0.87879, + 0.84254 + ] + }, + "vertices": [ + "muYb", + "fRkY", + "6q3M" + ], + "texture": 0 + }, + "oVsURH9K": { + "uv": { + "6q3M": [ + 0.87879, + 0.84254 + ], + "D2fl": [ + 0.78788, + 0.79005 + ], + "muYb": [ + 0.75758, + 0.84254 + ] + }, + "vertices": [ + "6q3M", + "D2fl", + "muYb" + ], + "texture": 0 + }, + "CdYPQXtk": { + "uv": { + "6q3M": [ + 0.87879, + 0.84254 + ], + "ypKx": [ + 0.84848, + 0.79005 + ], + "D2fl": [ + 0.78788, + 0.79005 + ] + }, + "vertices": [ + "6q3M", + "ypKx", + "D2fl" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "4b82495b-f06e-a90c-ed3c-7614ecda8d9c" + }, + { + "name": "Barrier24", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "NE11": [ + 0.63491, + -11.26981, + -18.96678 + ], + "YxTY": [ + -4.8644, + -15.47093, + -14.97136 + ], + "aa9J": [ + -11.66194, + -11.26981, + -14.97141 + ], + "8Dae": [ + -10.36366, + -4.4723, + -18.96683 + ], + "YvlI": [ + -2.76392, + -4.47224, + -21.43616 + ] + }, + "faces": { + "GPhPTshD": { + "uv": { + "NE11": [ + 0.57576, + 0.84254 + ], + "YxTY": [ + 0.60606, + 0.89503 + ], + "aa9J": [ + 0.69697, + 0.84254 + ] + }, + "vertices": [ + "NE11", + "YxTY", + "aa9J" + ], + "texture": 0 + }, + "SejV0AIJ": { + "uv": { + "8Dae": [ + 0.66667, + 0.79005 + ], + "YvlI": [ + 0.60606, + 0.79005 + ], + "NE11": [ + 0.57576, + 0.84254 + ] + }, + "vertices": [ + "8Dae", + "YvlI", + "NE11" + ], + "texture": 0 + }, + "o3v4kNYp": { + "uv": { + "aa9J": [ + 0.69697, + 0.84254 + ], + "8Dae": [ + 0.66667, + 0.79005 + ], + "NE11": [ + 0.57576, + 0.84254 + ] + }, + "vertices": [ + "aa9J", + "8Dae", + "NE11" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "b2ac7b55-8b42-54b1-db4e-153957427815" + }, + { + "name": "Barrier25", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "Vp7c": [ + 18.23474, + -11.26981, + -5.25723 + ], + "85VE": [ + 12.73544, + -15.47093, + -9.25274 + ], + "Lnxh": [ + 14.83598, + -4.4723, + -15.7175 + ], + "EUVE": [ + 19.53298, + -4.47227, + -9.25277 + ], + "tZ8r": [ + 10.63491, + -11.26981, + -15.71755 + ] + }, + "faces": { + "hRmwvBcn": { + "uv": { + "Vp7c": [ + 0.39394, + 0.84254 + ], + "85VE": [ + 0.42424, + 0.89503 + ], + "Lnxh": [ + 0.48485, + 0.79005 + ] + }, + "vertices": [ + "Vp7c", + "85VE", + "Lnxh" + ], + "texture": 0 + }, + "IMf3ldec": { + "uv": { + "EUVE": [ + 0.42424, + 0.79005 + ], + "Vp7c": [ + 0.39394, + 0.84254 + ], + "Lnxh": [ + 0.48485, + 0.79005 + ] + }, + "vertices": [ + "EUVE", + "Vp7c", + "Lnxh" + ], + "texture": 0 + }, + "203M88cT": { + "uv": { + "85VE": [ + 0.42424, + 0.89503 + ], + "tZ8r": [ + 0.51515, + 0.84254 + ], + "Lnxh": [ + 0.48485, + 0.79005 + ] + }, + "vertices": [ + "85VE", + "tZ8r", + "Lnxh" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "595fb404-7e48-c586-e605-c71607e492cd" + }, + { + "name": "Barrier26", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "UrRE": [ + -0.63491, + 11.26981, + 18.96678 + ], + "HQLB": [ + 2.76392, + 4.47224, + 21.43616 + ], + "f3hl": [ + 10.36366, + 4.4723, + 18.96683 + ], + "qV6s": [ + 4.8644, + 15.47093, + 14.97136 + ], + "Mlw8": [ + 11.66194, + 11.26981, + 14.97141 + ] + }, + "faces": { + "3mZNNq28": { + "uv": { + "UrRE": [ + 0.12121, + 0.68508 + ], + "HQLB": [ + 0.15152, + 0.73757 + ], + "f3hl": [ + 0.21212, + 0.73756 + ] + }, + "vertices": [ + "UrRE", + "HQLB", + "f3hl" + ], + "texture": 0 + }, + "drL3vwpz": { + "uv": { + "f3hl": [ + 0.21212, + 0.73756 + ], + "qV6s": [ + 0.21212, + 0.63259 + ], + "UrRE": [ + 0.12121, + 0.68508 + ] + }, + "vertices": [ + "f3hl", + "qV6s", + "UrRE" + ], + "texture": 0 + }, + "6OkNCR9T": { + "uv": { + "f3hl": [ + 0.21212, + 0.73756 + ], + "Mlw8": [ + 0.24242, + 0.68508 + ], + "qV6s": [ + 0.21212, + 0.63259 + ] + }, + "vertices": [ + "f3hl", + "Mlw8", + "qV6s" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "d65c0226-7d52-b075-5175-d36a91241998" + }, + { + "name": "Barrier27", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "XCha": [ + -18.23474, + 11.26981, + 5.25723 + ], + "uMQ6": [ + -19.53298, + 4.47227, + 9.25277 + ], + "ozy5": [ + -14.83598, + 4.4723, + 15.7175 + ], + "z59j": [ + -12.73544, + 15.47093, + 9.25274 + ], + "TWQ0": [ + -10.63491, + 11.26981, + 15.71755 + ] + }, + "faces": { + "s82K64dY": { + "uv": { + "XCha": [ + 0.84849, + 0.68508 + ], + "uMQ6": [ + 0.87879, + 0.73757 + ], + "ozy5": [ + 0.93939, + 0.73756 + ] + }, + "vertices": [ + "XCha", + "uMQ6", + "ozy5" + ], + "texture": 0 + }, + "VyOSfUkW": { + "uv": { + "ozy5": [ + 0.93939, + 0.73756 + ], + "z59j": [ + 0.0303, + 0.63259 + ], + "XCha": [ + 0.84849, + 0.68508 + ] + }, + "vertices": [ + "ozy5", + "z59j", + "XCha" + ], + "texture": 0 + }, + "foS0oRcv": { + "uv": { + "ozy5": [ + 0.93939, + 0.73756 + ], + "TWQ0": [ + 0.06061, + 0.68508 + ], + "z59j": [ + 0.0303, + 0.63259 + ] + }, + "vertices": [ + "ozy5", + "TWQ0", + "z59j" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "95d92578-f05d-6718-6c5d-19a7ae5d2198" + }, + { + "name": "Barrier28", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "fRsf": [ + -10.63491, + 11.26981, + -15.71755 + ], + "awoe": [ + -14.83598, + 4.4723, + -15.7175 + ], + "nOCi": [ + -19.53298, + 4.47227, + -9.25277 + ], + "98zR": [ + -18.23474, + 11.26981, + -5.25723 + ], + "YFOh": [ + -12.73544, + 15.47093, + -9.25274 + ] + }, + "faces": { + "EVUdOq2A": { + "uv": { + "fRsf": [ + 0.66667, + 0.68508 + ], + "awoe": [ + 0.69697, + 0.73756 + ], + "nOCi": [ + 0.75758, + 0.73757 + ] + }, + "vertices": [ + "fRsf", + "awoe", + "nOCi" + ], + "texture": 0 + }, + "qNc0OG7W": { + "uv": { + "98zR": [ + 0.78788, + 0.68508 + ], + "YFOh": [ + 0.75758, + 0.63259 + ], + "fRsf": [ + 0.66667, + 0.68508 + ] + }, + "vertices": [ + "98zR", + "YFOh", + "fRsf" + ], + "texture": 0 + }, + "DY4R9H9H": { + "uv": { + "nOCi": [ + 0.75758, + 0.73757 + ], + "98zR": [ + 0.78788, + 0.68508 + ], + "fRsf": [ + 0.66667, + 0.68508 + ] + }, + "vertices": [ + "nOCi", + "98zR", + "fRsf" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "683c9e1e-db34-3c25-fad5-5077a386f2a2" + }, + { + "name": "Barrier29", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "tAxH": [ + 10.36366, + 4.4723, + -18.96683 + ], + "fsab": [ + 2.76392, + 4.47224, + -21.43616 + ], + "7nNh": [ + 4.8644, + 15.47093, + -14.97136 + ], + "3rOe": [ + 11.66194, + 11.26981, + -14.97139 + ], + "8Zwk": [ + -0.63491, + 11.26981, + -18.96678 + ] + }, + "faces": { + "6pjjUSla": { + "uv": { + "tAxH": [ + 0.51515, + 0.73756 + ], + "fsab": [ + 0.57576, + 0.73757 + ], + "7nNh": [ + 0.57576, + 0.63259 + ] + }, + "vertices": [ + "tAxH", + "fsab", + "7nNh" + ], + "texture": 0 + }, + "D31ETL9A": { + "uv": { + "3rOe": [ + 0.48485, + 0.68508 + ], + "tAxH": [ + 0.51515, + 0.73756 + ], + "7nNh": [ + 0.57576, + 0.63259 + ] + }, + "vertices": [ + "3rOe", + "tAxH", + "7nNh" + ], + "texture": 0 + }, + "hLGJEHR4": { + "uv": { + "fsab": [ + 0.57576, + 0.73757 + ], + "8Zwk": [ + 0.60606, + 0.68508 + ], + "7nNh": [ + 0.57576, + 0.63259 + ] + }, + "vertices": [ + "fsab", + "8Zwk", + "7nNh" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "323bd6cd-e7fb-1861-d7e5-a99f1c459480" + }, + { + "name": "Barrier30", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "E9s0": [ + 17.84248, + 11.26981, + 6.46477 + ], + "cSOT": [ + 21.24126, + 4.47227, + 3.99539 + ], + "TLiD": [ + 21.24126, + 4.47227, + -3.99539 + ], + "DBUq": [ + 17.84248, + 11.26981, + -6.46477 + ], + "enpU": [ + 15.74202, + 15.4709, + 0 + ] + }, + "faces": { + "xNDk2hTp": { + "uv": { + "E9s0": [ + 0.30303, + 0.68508 + ], + "cSOT": [ + 0.33334, + 0.73757 + ], + "TLiD": [ + 0.39394, + 0.73757 + ] + }, + "vertices": [ + "E9s0", + "cSOT", + "TLiD" + ], + "texture": 0 + }, + "rcve7zmH": { + "uv": { + "DBUq": [ + 0.42424, + 0.68508 + ], + "enpU": [ + 0.39394, + 0.63259 + ], + "E9s0": [ + 0.30303, + 0.68508 + ] + }, + "vertices": [ + "DBUq", + "enpU", + "E9s0" + ], + "texture": 0 + }, + "1iW0uVoe": { + "uv": { + "TLiD": [ + 0.39394, + 0.73757 + ], + "DBUq": [ + 0.42424, + 0.68508 + ], + "E9s0": [ + 0.30303, + 0.68508 + ] + }, + "vertices": [ + "TLiD", + "DBUq", + "E9s0" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "2cf404c2-242e-63dc-bb97-a00238d7b0c8" + }, + { + "name": "Barrier31", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "HHVw": [ + 2.1005, + 20.99888, + 6.4648 + ], + "jo7T": [ + 6.7975, + 20.99891, + 0 + ], + "HKP0": [ + -5.49931, + 20.99888, + -3.99542 + ], + "SfNH": [ + -5.49931, + 20.99888, + 3.99542 + ], + "YIUB": [ + 2.1005, + 20.99888, + -6.4648 + ] + }, + "faces": { + "9RPwbRVR": { + "uv": { + "HHVw": [ + 0.12121, + 0.5801 + ], + "jo7T": [ + 0.30303, + 0.5801 + ], + "HKP0": [ + 0.66667, + 0.5801 + ] + }, + "vertices": [ + "HHVw", + "jo7T", + "HKP0" + ], + "texture": 0 + }, + "Q14gqgUR": { + "uv": { + "SfNH": [ + 0.84849, + 0.5801 + ], + "HHVw": [ + 0.12121, + 0.5801 + ], + "HKP0": [ + 0.66667, + 0.5801 + ] + }, + "vertices": [ + "SfNH", + "HHVw", + "HKP0" + ], + "texture": 0 + }, + "mjEqMUQV": { + "uv": { + "jo7T": [ + 0.30303, + 0.5801 + ], + "YIUB": [ + 0.48485, + 0.5801 + ], + "HKP0": [ + 0.66667, + 0.5801 + ] + }, + "vertices": [ + "jo7T", + "YIUB", + "HKP0" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "1943b182-ca0d-5c04-2b60-b8ddd491658a" + }, + { + "name": "Barrier32", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "E26f": [ + -7.97619, + -20.50608, + 0.85638 + ], + "vKiz": [ + -3.2792, + -20.50605, + 7.32118 + ], + "ZTJ5": [ + -12.1773, + -12.10366, + 13.78622 + ], + "dm81": [ + -14.77408, + -16.30475, + 0.85638 + ], + "5qLS": [ + -5.37976, + -16.30478, + 13.78618 + ], + "fytA": [ + -16.87454, + -12.10366, + 7.32115 + ] + }, + "faces": { + "mv6HvYXc": { + "uv": { + "E26f": [ + 0.87879, + 0.94751 + ], + "vKiz": [ + 0.93939, + 0.94751 + ], + "ZTJ5": [ + 0.9394, + 0.84254 + ] + }, + "vertices": [ + "E26f", + "vKiz", + "ZTJ5" + ], + "texture": 0 + }, + "PdbIjNJE": { + "uv": { + "dm81": [ + 0.84848, + 0.89503 + ], + "E26f": [ + 0.87879, + 0.94751 + ], + "ZTJ5": [ + 0.9394, + 0.84254 + ] + }, + "vertices": [ + "dm81", + "E26f", + "ZTJ5" + ], + "texture": 0 + }, + "vax1ynRt": { + "uv": { + "vKiz": [ + 0.93939, + 0.94751 + ], + "5qLS": [ + 0.9697, + 0.89503 + ], + "ZTJ5": [ + 0.9394, + 0.84254 + ] + }, + "vertices": [ + "vKiz", + "5qLS", + "ZTJ5" + ], + "texture": 0 + }, + "Kgsk2Owa": { + "uv": { + "ZTJ5": [ + 0.9394, + 0.84254 + ], + "fytA": [ + 0.87879, + 0.84254 + ], + "dm81": [ + 0.84848, + 0.89503 + ] + }, + "vertices": [ + "ZTJ5", + "fytA", + "dm81" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "ef1b976b-af20-7115-2e50-08dcabfcc111" + } + ], + "outliner": [ + { + "name": "Barrier", + "origin": [ + 0, + 16, + 0 + ], + "color": 0, + "uuid": "def79492-697f-2380-47e9-18813f1756d0", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1ffcfe1b-dd45-30ab-3d50-3eb527527f64", + "28326e39-14dc-4a63-19b6-00c93a838274", + "89ca0220-5946-6fb4-0562-9cc2170a16fd", + "e2fcefb7-9c37-6ff5-68e4-8627896caea9", + "0892b9ea-ea94-207c-1f9a-2f8628aac120", + "b353e066-b7eb-5d49-03d0-6bffec0918a0", + "cf598a49-f1eb-47bc-8232-487d7ce031d1", + "8cda9be7-5fa4-c07d-0003-2f7bc1954175", + "bc33b5aa-6b23-ab8a-be66-fa3752a03424", + "1b3fb0cd-4643-e05d-049e-7948bd8339b9", + "df2ad74a-22a2-510c-8f34-9895b418553d", + "70bc7923-bd95-97a0-b5e5-a6e107c8b9f3", + "c7fee38e-2c47-a2f7-7226-1cab458ce078", + "45b3660e-3b5c-a4ef-ca94-b53cb44d79ae", + "0eb84df0-6dcf-d820-ca27-bc7705c5c5d2", + "d1cb7706-eef3-1779-2707-cdfe2d72b62e", + "0d00fdac-233d-4adf-53c6-a02afd385a9b", + "fcd3d424-d6fb-d18d-4e2d-1930b4c0b8e6", + "77755fa8-c601-10d3-3837-b3468bd8dc96", + "98c517d9-af86-f1f7-15e7-706cdc5a7225", + "acaf2d7b-dada-e2a1-7217-364a38996fa9", + "c8d44095-5fc1-3347-524f-7445a11e5732", + "4b82495b-f06e-a90c-ed3c-7614ecda8d9c", + "b2ac7b55-8b42-54b1-db4e-153957427815", + "595fb404-7e48-c586-e605-c71607e492cd", + "d65c0226-7d52-b075-5175-d36a91241998", + "95d92578-f05d-6718-6c5d-19a7ae5d2198", + "683c9e1e-db34-3c25-fad5-5077a386f2a2", + "323bd6cd-e7fb-1861-d7e5-a99f1c459480", + "2cf404c2-242e-63dc-bb97-a00238d7b0c8", + "1943b182-ca0d-5c04-2b60-b8ddd491658a", + "ef1b976b-af20-7115-2e50-08dcabfcc111" + ] + } + ], + "textures": [ + { + "path": "", + "name": "barrier.png", + "folder": "", + "namespace": "", + "id": "0", + "particle": false, + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "mode": "bitmap", + "saved": true, + "uuid": "fed26a56-fb52-7c1b-1747-2bd753a9a9ab", + "relative_path": "../../textures/barrier.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAA1JREFUGFdjOP///38ACTsDzcqK7YcAAAAASUVORK5CYII=" + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Momoi/models/bubble.bbmodel b/config/yosbr/config/figura/avatars/Momoi/models/bubble.bbmodel new file mode 100644 index 0000000..443a76b --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/models/bubble.bbmodel @@ -0,0 +1,902 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "bubble", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 16, + "height": 16 + }, + "elements": [ + { + "name": "Bubble", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + -4, + 0 + ], + "to": [ + 5, + 4, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ee16cd89-5e16-d1c0-bdb4-bec63d4d29dc" + }, + { + "name": "Emoji", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + -2.5, + -0.05 + ], + "to": [ + 3.5, + 2.5, + -0.05 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e1f1401a-3276-4ed6-1633-16078de30336" + }, + { + "name": "Bullet1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1.9375, + -1.875, + -0.1 + ], + "to": [ + 3.1875, + 1.875, + -0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "015d120f-7c4c-05e7-86b8-e442d2ca89ce" + }, + { + "name": "Bullet2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.375, + -1.875, + -0.1 + ], + "to": [ + 1.625, + 1.875, + -0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "71c04be5-6d32-4cee-9e7d-b8d98db60f7d" + }, + { + "name": "Bullet3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.1875, + -1.875, + -0.1 + ], + "to": [ + 0.0625, + 1.875, + -0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "c13ac616-5ee7-3b04-83ed-f9490507b4f8" + }, + { + "name": "Dot1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2.25, + -0.625, + -0.1 + ], + "to": [ + 3.5, + 0.625, + -0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f336f75d-4273-d986-7b79-5028befe8efc" + }, + { + "name": "Dot2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.375, + -0.625, + -0.1 + ], + "to": [ + 1.625, + 0.625, + -0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9d1c3e18-15c3-3c07-f04a-d705ceec1fed" + }, + { + "name": "Dot3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + -0.625, + -0.1 + ], + "to": [ + -0.25, + 0.625, + -0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "23a7b4da-5022-66ac-bfac-23544ab88f69" + } + ], + "outliner": [ + { + "name": "Camera", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "1ad8e11f-891c-06f0-491f-55ff468a6e74", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "AvatarBubble", + "origin": [ + -3, + -4, + 0 + ], + "color": 0, + "uuid": "ce33d433-402d-decd-b93f-250225de88c7", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ee16cd89-5e16-d1c0-bdb4-bec63d4d29dc", + "e1f1401a-3276-4ed6-1633-16078de30336", + { + "name": "Bullets", + "origin": [ + 1, + 0, + 0 + ], + "color": 0, + "uuid": "2a47b3c1-ef22-e939-70d9-e17ea10d79d9", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "015d120f-7c4c-05e7-86b8-e442d2ca89ce", + "71c04be5-6d32-4cee-9e7d-b8d98db60f7d", + "c13ac616-5ee7-3b04-83ed-f9490507b4f8" + ] + }, + { + "name": "Dots", + "origin": [ + -3, + -4, + 0 + ], + "color": 0, + "uuid": "55f984b9-0c0d-7ae1-712d-78a7d7fbfa03", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f336f75d-4273-d986-7b79-5028befe8efc", + "9d1c3e18-15c3-3c07-f04a-d705ceec1fed", + "23a7b4da-5022-66ac-bfac-23544ab88f69" + ] + } + ] + } + ] + } + ], + "textures": [ + { + "path": "", + "name": "bubble.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "849f6abb-5d52-7cbc-bc5e-c54506c00158", + "relative_path": "../../textures/bubble.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAGhJREFUOE/tk0sOABAMRNul+1/WroKO+KcSdqykzGvDDNN8yaLOfb0vJKHIXM9cro+brFs1bvsqKEFAMouBAuQK4Lh7PUWc4AMuvIGaz2aiJz4A1Pyd6kJHRP44TMgLIEM8dZxdnJuzAGqUPxJDQDMGAAAAAElFTkSuQmCC" + }, + { + "path": "", + "name": "reload.png", + "folder": "", + "namespace": "", + "id": "4", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "e5650158-1574-55d1-6b46-d58173bbb96b", + "relative_path": "../../textures/emojis/reload.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAEpJREFUOE9jZKAQMFKonwFuwOf37/+DDOMVFCRJjCTFIAvQLQIbABKE2QxjEys2aoAg42gYIIUBcp4AJSpYioOJ4xKjXmYiN1cCAKtG/BHrN3pVAAAAAElFTkSuQmCC" + }, + { + "path": "", + "name": "bullet.png", + "folder": "", + "namespace": "", + "id": "5", + "width": 4, + "height": 12, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "1a2d73a2-6180-0319-1efb-16f49aa91e7a", + "relative_path": "../../textures/bullet.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAMCAYAAABFohwTAAAAAXNSR0IArs4c6QAAAGdJREFUGFdjTEhI4Pj1/f93LpbvDH9YuTgZMQSiwuP/V4azMOh4+TKkJi9jYAQJJDt+ZHAK9GFILdoFESj0/cpgEuTBkJoKFSCsAqwlrJAhNXEikhl4BVKdXjE4xAZDbEmJDvvPgAQAMBRGJaIzndEAAAAASUVORK5CYII=" + }, + { + "path": "", + "name": "dots.png", + "folder": "", + "namespace": "", + "id": "3", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "7dda2e3d-9f23-52bb-e799-b8a2879d3871", + "relative_path": "../../textures/emojis/dots.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAADhJREFUOE9jZKAQMFKon2HUAAZIGHx+//4/iOYVFEQJE2LEGWGKYLEBM4RYccoNoNgLowlpEOQFAJrjL7ESx0KNAAAAAElFTkSuQmCC" + }, + { + "path": "", + "name": "black_dot.png", + "folder": "", + "namespace": "", + "id": "6", + "width": 4, + "height": 4, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "d1f6e856-c31e-ace6-6507-d03259b83bf5", + "relative_path": "../../textures/emojis/black_dot.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAABhJREFUGFdjZICA/1CakRGJAxbDKoCiBQCSkQQDt6KjJwAAAABJRU5ErkJggg==" + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Momoi/models/bullet.bbmodel b/config/yosbr/config/figura/avatars/Momoi/models/bullet.bbmodel new file mode 100644 index 0000000..6095e9d --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/models/bullet.bbmodel @@ -0,0 +1,237 @@ +{ + "meta": { + "format_version": "4.5", + "model_format": "free", + "box_uv": false + }, + "name": "bullet", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 4, + "height": 12 + }, + "elements": [ + { + "name": "Bullet1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 0, + -1 + ], + "to": [ + 0.5, + 1, + 1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 3, + 2, + 4 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 3, + 2, + 11 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 1, + 10, + 2, + 11 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 3, + 2, + 11 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 1, + 3, + 2, + 11 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 3, + 2, + 11 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "eb1cee40-d947-b0fd-992e-a0445207f5c3" + }, + { + "name": "Bullet2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.375, + 0.125, + -1.25 + ], + "to": [ + 0.375, + 0.875, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c69c3bcf-da9b-3ad4-7d0a-e697c8066967" + } + ], + "outliner": [ + { + "name": "Arrow", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "0c9fab8f-3742-3b33-0bef-de2eca96287f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "eb1cee40-d947-b0fd-992e-a0445207f5c3", + "c69c3bcf-da9b-3ad4-7d0a-e697c8066967" + ] + } + ], + "textures": [ + { + "path": "", + "name": "bullet.png", + "folder": "", + "namespace": "", + "id": "0", + "particle": false, + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "mode": "bitmap", + "saved": true, + "uuid": "d4264722-75e2-f338-9736-9de1cd8631d0", + "relative_path": "../../textures/bullet.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAMCAYAAABFohwTAAAAAXNSR0IArs4c6QAAAGdJREFUGFdjTEhI4Pj1/f93LpbvDH9YuTgZMQSiwuP/V4azMOh4+TKkJi9jYAQJJDt+ZHAK9GFILdoFESj0/cpgEuTBkJoKFSCsAqwlrJAhNXEikhl4BVKdXjE4xAZDbEmJDvvPgAQAMBRGJaIzndEAAAAASUVORK5CYII=" + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Momoi/models/costume_maid.bbmodel b/config/yosbr/config/figura/avatars/Momoi/models/costume_maid.bbmodel new file mode 100644 index 0000000..fd471c6 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/models/costume_maid.bbmodel @@ -0,0 +1,3357 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "costume_maid", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 48, + "height": 93 + }, + "elements": [ + { + "name": "Brim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5, + 30, + -2 + ], + "to": [ + 5, + 33, + -2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + -5, + 31, + -2 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 10, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 10, + 0, + 0, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "1e981720-d6d9-f09b-e577-706de32bb630" + }, + { + "name": "BrimLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5, + 30, + -2 + ], + "to": [ + 5, + 33, + -2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.15, + "origin": [ + -5, + 31, + -2 + ], + "faces": { + "north": { + "uv": [ + 0, + 3, + 10, + 6 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 10, + 3, + 0, + 6 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "3aadc8d9-06fa-5eef-4dbc-ca941db9ade4" + }, + { + "name": "Tail1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4.25, + 26.5, + 1.5 + ], + "to": [ + 6.75, + 28, + 3 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 13, + 3, + 18, + 6 + ], + "texture": 0 + }, + "east": { + "uv": [ + 10, + 3, + 13, + 6 + ], + "texture": 0 + }, + "south": { + "uv": [ + 21, + 3, + 26, + 6 + ], + "texture": 0 + }, + "west": { + "uv": [ + 18, + 3, + 21, + 6 + ], + "texture": 0 + }, + "up": { + "uv": [ + 13, + 0, + 18, + 3 + ], + "texture": 0 + }, + "down": { + "uv": [ + 18, + 0, + 23, + 3 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "620a23d4-a300-8580-4b6f-bcf728d903ae" + }, + { + "name": "Tail2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 6, + 25.75, + 1.5 + ], + "to": [ + 7.5, + 27.25, + 3 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 13, + 9, + 16, + 12 + ], + "texture": 0 + }, + "east": { + "uv": [ + 10, + 9, + 13, + 12 + ], + "texture": 0 + }, + "south": { + "uv": [ + 19, + 9, + 22, + 12 + ], + "texture": 0 + }, + "west": { + "uv": [ + 16, + 9, + 19, + 12 + ], + "texture": 0 + }, + "up": { + "uv": [ + 13, + 6, + 16, + 9 + ], + "texture": 0 + }, + "down": { + "uv": [ + 16, + 6, + 19, + 9 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e53dc319-97f2-156c-fc11-ada7f8d75d8c" + }, + { + "name": "HairTie", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 26.75, + 1.75 + ], + "to": [ + 4.5, + 27.75, + 2.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 10, + 0, + 11, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 10, + 0, + 11, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 10, + 0, + 11, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 10, + 0, + 11, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "518baf41-6a47-6309-199f-e9775c87849a" + }, + { + "name": "HairTieTip1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4.025, + 27.75, + 2.25 + ], + "to": [ + 4.275, + 28.25, + 2.25 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 0, + 0, + -15 + ], + "origin": [ + 4.025, + 27.75, + 2.25 + ], + "faces": { + "north": { + "uv": [ + 10, + 0, + 11, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 10, + 0, + 11, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 10, + 0, + 11, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 10, + 0, + 11, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d1c01e63-84c8-848d-1d9e-431dcb9e8e42" + }, + { + "name": "HairTieTip2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4.025, + 26.25, + 2.25 + ], + "to": [ + 4.275, + 26.75, + 2.25 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 0, + 0, + 10 + ], + "origin": [ + 4.025, + 26.75, + 2.25 + ], + "faces": { + "north": { + "uv": [ + 10, + 0, + 11, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 10, + 0, + 11, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 10, + 0, + 11, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 10, + 0, + 11, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "0aa2fa13-09da-60b2-545b-89dc095ffb2c" + }, + { + "name": "HairTie", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.5, + 26.75, + 1.75 + ], + "to": [ + -4, + 27.75, + 2.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 11, + 0, + 10, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 11, + 0, + 10, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 11, + 0, + 10, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 11, + 0, + 10, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "cd609289-6de9-4a18-47b1-a208d8b446c9" + }, + { + "name": "HairTieTip1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.275, + 27.75, + 2.25 + ], + "to": [ + -4.025, + 28.25, + 2.25 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 0, + 0, + 15 + ], + "origin": [ + -4.025, + 27.75, + 2.25 + ], + "faces": { + "north": { + "uv": [ + 11, + 0, + 10, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 11, + 0, + 10, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 11, + 0, + 10, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 11, + 0, + 10, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2b622d2f-2f11-e864-32aa-71087b18b069" + }, + { + "name": "HairTieTip1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.275, + 26.25, + 2.25 + ], + "to": [ + -4.025, + 26.75, + 2.25 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 0, + 0, + -10 + ], + "origin": [ + -4.025, + 26.75, + 2.25 + ], + "faces": { + "north": { + "uv": [ + 11, + 0, + 10, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 11, + 0, + 10, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 11, + 0, + 10, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 11, + 0, + 10, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5c937338-321a-582b-c088-36acfe602aa1" + }, + { + "name": "Tail1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -6.75, + 26.5, + 1.5 + ], + "to": [ + -4.25, + 28, + 3 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 18, + 3, + 13, + 6 + ], + "texture": 0 + }, + "east": { + "uv": [ + 21, + 3, + 18, + 6 + ], + "texture": 0 + }, + "south": { + "uv": [ + 26, + 3, + 21, + 6 + ], + "texture": 0 + }, + "west": { + "uv": [ + 13, + 3, + 10, + 6 + ], + "texture": 0 + }, + "up": { + "uv": [ + 18, + 0, + 13, + 3 + ], + "texture": 0 + }, + "down": { + "uv": [ + 23, + 0, + 18, + 3 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "be114fb7-8179-bb32-fcbc-a81b3aec646c" + }, + { + "name": "Tail2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7.5, + 25.75, + 1.5 + ], + "to": [ + -6, + 27.25, + 3 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 16, + 9, + 13, + 12 + ], + "texture": 0 + }, + "east": { + "uv": [ + 19, + 9, + 16, + 12 + ], + "texture": 0 + }, + "south": { + "uv": [ + 22, + 9, + 19, + 12 + ], + "texture": 0 + }, + "west": { + "uv": [ + 13, + 9, + 10, + 12 + ], + "texture": 0 + }, + "up": { + "uv": [ + 16, + 6, + 13, + 9 + ], + "texture": 0 + }, + "down": { + "uv": [ + 19, + 6, + 16, + 9 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "990bc7d5-85d5-c0db-ab54-6cc63eac6079" + }, + { + "name": "Skirt1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.5, + 13, + -3 + ], + "to": [ + 4.5, + 14, + 3 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 6, + 18, + 15, + 19 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 18, + 6, + 19 + ], + "texture": 0 + }, + "south": { + "uv": [ + 21, + 18, + 30, + 19 + ], + "texture": 0 + }, + "west": { + "uv": [ + 15, + 18, + 21, + 19 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 12, + 15, + 18 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "c1808908-2ddc-710e-bc1a-39fee1d58add" + }, + { + "name": "Skirt2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5.25, + 11, + -4 + ], + "to": [ + 4.75, + 13, + 4 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 27, + 18, + 29 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 27, + 8, + 29 + ], + "texture": 0 + }, + "south": { + "uv": [ + 26, + 27, + 36, + 29 + ], + "texture": 0 + }, + "west": { + "uv": [ + 18, + 27, + 26, + 29 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 19, + 18, + 27 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b14062a5-8fd5-8a1d-20f0-07f95185da2b" + }, + { + "name": "Skirt3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5.75, + 8, + -5 + ], + "to": [ + 5.25, + 11, + 5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 10, + 39, + 21, + 42 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 39, + 10, + 42 + ], + "texture": 0 + }, + "south": { + "uv": [ + 31, + 39, + 42, + 42 + ], + "texture": 0 + }, + "west": { + "uv": [ + 21, + 39, + 31, + 42 + ], + "texture": 0 + }, + "up": { + "uv": [ + 10, + 29, + 21, + 39 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "576cb769-b524-e434-9505-500ecc812775" + }, + { + "name": "Skirt4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -6.25, + 4, + -6 + ], + "to": [ + 5.75, + 8, + 6 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 12, + 54, + 24, + 58 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 54, + 12, + 58 + ], + "texture": 0 + }, + "south": { + "uv": [ + 36, + 54, + 48, + 58 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 54, + 36, + 58 + ], + "texture": 0 + }, + "up": { + "uv": [ + 12, + 42, + 24, + 54 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "1e8a9fce-e1fb-7b7e-7eb2-4a793ebcd958" + }, + { + "name": "Skirt4Layer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -6.25, + 4, + -6 + ], + "to": [ + 5.75, + 8, + 6 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 12, + 70, + 24, + 74 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 70, + 12, + 74 + ], + "texture": 0 + }, + "south": { + "uv": [ + 36, + 70, + 48, + 74 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 70, + 36, + 74 + ], + "texture": 0 + }, + "up": { + "uv": [ + 12, + 58, + 24, + 70 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "1795ac0b-b779-832b-a965-2dc00d907490" + }, + { + "name": "Skirt4Ring", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -6.25, + 5.375, + -6 + ], + "to": [ + 5.75, + 5.625, + 6 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 42, + 1, + 43 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 42, + 1, + 43 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 42, + 1, + 43 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 42, + 1, + 43 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "4a4353a6-3e3e-ddf5-073b-2b5aa53b7eac" + }, + { + "name": "OOLogoRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 5.76, + 5.85, + 0.68 + ], + "to": [ + 5.76, + 6.85, + 1.823 + ], + "autouv": 0, + "color": 0, + "origin": [ + 5, + 18, + 2 + ], + "faces": { + "north": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "east": { + "uv": [ + 27, + 74, + 43, + 88 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6e195df0-bf76-310c-06fd-394a4ff07e7f" + }, + { + "name": "RibbonCenter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 14.5, + 2 + ], + "to": [ + 0.5, + 15.5, + 3 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 14.5, + 2 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b984c931-e06a-4a7b-03ee-8402dbbf3150" + }, + { + "name": "RibbonLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.5, + 14, + 2.25 + ], + "to": [ + -0.5, + 16, + 2.75 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -10, + 0, + 0 + ], + "origin": [ + -0.5, + 15, + 2.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 26, + 0, + 32, + 4 + ], + "texture": 0 + }, + "west": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c346cb04-2149-cdf6-7c2d-2f066237567c" + }, + { + "name": "RibbonRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.5, + 14, + 2.25 + ], + "to": [ + 3.5, + 16, + 2.75 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -10, + 0, + 0 + ], + "origin": [ + 0.5, + 15, + 2.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 27, + 0, + 26, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 32, + 0, + 26, + 4 + ], + "texture": 0 + }, + "west": { + "uv": [ + 27, + 0, + 26, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 27, + 0, + 26, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 27, + 0, + 26, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d3f2aef2-36ba-e71f-7f32-160b01ad665b" + }, + { + "name": "RibbonBottomRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 4.5, + 2.25 + ], + "to": [ + 0.5, + 14.5, + 2.75 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -6, + 0, + -20 + ], + "origin": [ + 0.5, + 14.5, + 2.5 + ], + "faces": { + "north": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d398e136-305b-ff2e-9e3e-f24bb46043e3" + }, + { + "name": "RibbonBottomLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 4.5, + 2.25 + ], + "to": [ + 1, + 14.5, + 2.75 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -6, + 0, + 20 + ], + "origin": [ + -0.5, + 14.5, + 2.5 + ], + "faces": { + "north": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "0f145497-236a-8d3e-289e-49bd0ba364b5" + }, + { + "name": "Accessory", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.75, + 14.25, + 0.5 + ], + "to": [ + 4.25, + 15.25, + 1.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + 25 + ], + "origin": [ + 3.75, + 15.25, + 1 + ], + "faces": { + "north": { + "uv": [ + 26, + 4, + 27, + 5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 26, + 4, + 33, + 11 + ], + "texture": 0 + }, + "south": { + "uv": [ + 26, + 4, + 27, + 5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 26, + 4, + 27, + 5 + ], + "texture": 0 + }, + "down": { + "uv": [ + 26, + 4, + 27, + 5 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "11e5075c-d603-b3af-f4b1-6eafe78e847a" + }, + { + "name": "SleeveLing", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 14.375, + -2 + ], + "to": [ + -4, + 14.625, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 5, + 18, + 2 + ], + "faces": { + "north": { + "uv": [ + 0, + 74, + 1, + 75 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 74, + 1, + 75 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 74, + 1, + 75 + ], + "texture": 0 + }, + "west": { + "uv": [ + 13, + 74, + 17, + 75 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ff976ee6-ade7-13f0-bbd7-4ecd37ed1751" + }, + { + "name": "MillenniumLogo", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7.01, + 14.1, + -0.57 + ], + "to": [ + -7.01, + 14.9, + 0.57 + ], + "autouv": 0, + "color": 0, + "origin": [ + 5, + 18, + 2 + ], + "faces": { + "north": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 74, + 27, + 93 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "978b23f9-f6a8-b438-d1d0-dc03c5b8f55e" + }, + { + "name": "MillenniumLogo", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 7.01, + 14.1, + -0.57 + ], + "to": [ + 7.01, + 14.9, + 0.57 + ], + "autouv": 0, + "color": 0, + "origin": [ + 5, + 18, + 2 + ], + "faces": { + "north": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 74, + 27, + 93 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "4bf8bdcd-03e6-ad05-9e85-280ce67a5fe3" + }, + { + "name": "SleeveLing", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 14.375, + -2 + ], + "to": [ + 7, + 14.625, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 5, + 18, + 2 + ], + "faces": { + "north": { + "uv": [ + 0, + 74, + 1, + 75 + ], + "texture": 0 + }, + "east": { + "uv": [ + 13, + 74, + 17, + 75 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 74, + 1, + 75 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 74, + 1, + 75 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "bfd9bcde-df77-5688-71ad-f9e6de0a52d7" + }, + { + "name": "OOLogoLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -6.26, + 5.85, + 0.68 + ], + "to": [ + -6.26, + 6.85, + 1.823 + ], + "autouv": 0, + "color": 0, + "origin": [ + 5, + 18, + 2 + ], + "faces": { + "north": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 27, + 74, + 43, + 88 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "03baf98e-5025-226b-5d56-5eb8b57dd379" + } + ], + "outliner": [ + { + "name": "CMaidH", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "a3859b2c-af09-f7c0-1150-02c09ca10436", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Brim", + "origin": [ + -5, + 31, + -2 + ], + "color": 0, + "uuid": "82f4438a-e1ec-43d4-8f14-1e10adbb9cc3", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1e981720-d6d9-f09b-e577-706de32bb630", + "3aadc8d9-06fa-5eef-4dbc-ca941db9ade4" + ] + }, + { + "name": "HairTails", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "818e037c-2207-22d9-70ae-df9c2fe6ac1b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightHairTail", + "origin": [ + 4, + 27.25, + 2.25 + ], + "color": 0, + "uuid": "4e1d8716-18b2-f21b-a98a-35037a9991ff", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightHairTailZPivot", + "origin": [ + 4, + 27.25, + 2.25 + ], + "color": 0, + "uuid": "0ba356d7-a772-c62b-675b-9853ae51203c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "518baf41-6a47-6309-199f-e9775c87849a", + "d1c01e63-84c8-848d-1d9e-431dcb9e8e42", + "0aa2fa13-09da-60b2-545b-89dc095ffb2c", + "620a23d4-a300-8580-4b6f-bcf728d903ae", + "e53dc319-97f2-156c-fc11-ada7f8d75d8c" + ] + } + ] + }, + { + "name": "LeftHairTail", + "origin": [ + -4, + 27.25, + 2.25 + ], + "color": 0, + "uuid": "587c95a0-0bb8-655e-a1e6-9252c6ca49ff", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "LeftHairTailZPivot", + "origin": [ + -4, + 27.25, + 2.25 + ], + "color": 0, + "uuid": "b50248ff-7930-0ea0-4d97-8f50b95aeff5", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "cd609289-6de9-4a18-47b1-a208d8b446c9", + "2b622d2f-2f11-e864-32aa-71087b18b069", + "5c937338-321a-582b-c088-36acfe602aa1", + "be114fb7-8179-bb32-fcbc-a81b3aec646c", + "990bc7d5-85d5-c0db-ab54-6cc63eac6079" + ] + } + ] + } + ] + } + ] + }, + { + "name": "CMaidB", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "b9a399c1-df81-ef36-dcfb-7b054ae43f84", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "BackRibbon", + "origin": [ + 0, + 15, + 2.5 + ], + "rotation": [ + -25, + 0, + 0 + ], + "color": 0, + "uuid": "331e943c-54b9-5bd9-1968-6f7399ae9886", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b984c931-e06a-4a7b-03ee-8402dbbf3150", + { + "name": "RibbonLeft", + "origin": [ + -0.5, + 15, + 2.5 + ], + "color": 0, + "uuid": "fb477e58-8b46-eb97-914d-87feaa95a0c8", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RibbonLeftZPivot", + "origin": [ + -0.5, + 15, + 2.5 + ], + "color": 0, + "uuid": "da5b46f5-2ae1-dace-1db8-909b856a2c37", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "c346cb04-2149-cdf6-7c2d-2f066237567c" + ] + } + ] + }, + { + "name": "RibbonRight", + "origin": [ + 0.5, + 15, + 2.5 + ], + "color": 0, + "uuid": "75c4d2c8-3b97-1317-ae3f-823f28cab67c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RibbonRightZPivot", + "origin": [ + 0.5, + 15, + 2.5 + ], + "color": 0, + "uuid": "4df76c0b-d416-7655-5b7f-508a57bf37fd", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d3f2aef2-36ba-e71f-7f32-160b01ad665b" + ] + } + ] + }, + { + "name": "RibbonBottomRight", + "origin": [ + 0.5, + 14.5, + 2.5 + ], + "color": 0, + "uuid": "d379edef-9be8-5afc-a865-f325ac9e4ca4", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RibbonBottomRightZPivot", + "origin": [ + 0.5, + 14.5, + 2.5 + ], + "color": 0, + "uuid": "1d85102e-06f5-dab6-4e38-b9b14875331b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d398e136-305b-ff2e-9e3e-f24bb46043e3" + ] + } + ] + }, + { + "name": "RibbonBottomLeft", + "origin": [ + -0.5, + 14.5, + 2.5 + ], + "color": 0, + "uuid": "fe5fa891-b4b0-ee55-5226-dd982ba7ca6b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RibbonBottomLeftZPivot", + "origin": [ + -0.5, + 14.5, + 2.5 + ], + "color": 0, + "uuid": "35d0a712-7020-5db1-9fe8-8efd4812dd32", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "0f145497-236a-8d3e-289e-49bd0ba364b5" + ] + } + ] + } + ] + }, + { + "name": "Skirt1", + "origin": [ + 0, + 14, + 0 + ], + "color": 0, + "uuid": "d0e2a4ef-6f4f-9e4a-2014-102fa43a71ca", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "c1808908-2ddc-710e-bc1a-39fee1d58add", + { + "name": "Skirt2", + "origin": [ + 0, + 13, + 0 + ], + "color": 0, + "uuid": "9d557bf2-001b-1f8d-1d78-0a962b94f708", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b14062a5-8fd5-8a1d-20f0-07f95185da2b", + { + "name": "Skirt3", + "origin": [ + 0, + 11, + 0 + ], + "color": 0, + "uuid": "587e5ce5-4c03-ec5d-49d7-c562fd128412", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "576cb769-b524-e434-9505-500ecc812775", + { + "name": "Skirt4", + "origin": [ + 0, + 8, + 0 + ], + "color": 0, + "uuid": "451bd9ee-3968-ddf7-c9e0-b68dd523d86a", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1e8a9fce-e1fb-7b7e-7eb2-4a793ebcd958", + "4a4353a6-3e3e-ddf5-073b-2b5aa53b7eac", + "1795ac0b-b779-832b-a965-2dc00d907490", + "6e195df0-bf76-310c-06fd-394a4ff07e7f", + "03baf98e-5025-226b-5d56-5eb8b57dd379" + ] + } + ] + } + ] + } + ] + }, + "11e5075c-d603-b3af-f4b1-6eafe78e847a" + ] + }, + { + "name": "CMaidRAB", + "origin": [ + 5, + 18, + 2 + ], + "color": 0, + "uuid": "390a82c6-a9a3-cd25-951e-f5b46cfdcca5", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4bf8bdcd-03e6-ad05-9e85-280ce67a5fe3", + "bfd9bcde-df77-5688-71ad-f9e6de0a52d7" + ] + }, + { + "name": "CMaidLAB", + "origin": [ + -5, + 18, + 2 + ], + "color": 0, + "uuid": "30c77d7e-9a1f-d5b0-503e-1e805766973a", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ff976ee6-ade7-13f0-bbd7-4ecd37ed1751", + "978b23f9-f6a8-b438-d1d0-dc03c5b8f55e" + ] + } + ], + "textures": [ + { + "path": "", + "name": "costume_maid.png", + "folder": "", + "namespace": "", + "id": "1", + "width": 48, + "height": 93, + "uv_width": 48, + "uv_height": 93, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "91cb663d-85d7-c771-359d-72993e3c0b3d", + "relative_path": "../../textures/costume_maid.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAABdCAYAAADjaOUDAAAAAXNSR0IArs4c6QAAA9pJREFUeF7tWz1oFEEUfotBcxx4ckEIaKmtlZVlSCFiI9hYBSGCVaxsxCKF2FgZLARtUtmINkEsQuysUllbmjKHJxx3OSIrb7lZ5mbn583f3q6Za1Zm3nv7vu97783kODMAgOPjQd7r9WA4HILsubR0Lvu6tp7fPtjP0D4/fJnjc+5zvl9Zym48LuzxMx6fVH0AoNO5UNpUAhAWstPTvzkmqLNFgCsr/dIm//G2msx0UAGkAzAc/insV1cvLwCAhwIs8V7vYgHAWwFGG1NC9SzKBssEmZaUS7mu2J9cfygV2RsApYTKuhcBCGWT3XyWVfpjBvZbf6qs0rWrW85lROqBAoCs7sWUVOoAAAL4vjuqgLi10QUvAIRGl5rMMT1TBhVQxTv4tZM3CwCvyIx5fuqIQJoHgJ9ERAVU6tRSQqopJLLOekVcRwXGr4+g8+QKiM/6ASCV/CgVm3c6ALEfEMBiFZDUfJGQbPJIALgOC5OfcmrcvbeVf/zwSul//8FT2Pu84zy/TYlR9/9vADqGUaHGK9B6AKY6bLwCrQCAtaxK1DSFTAB1+6HUM45B0zjFJBc5UhOAVihgqtdFngmkEmo9AMq0MYGkxHCxISlACZwAUFiS2GS6g4zZ6w40NoUc319xs1Wy/QCozFFO5EWcCcYmZgATAKrUlnZWClAarO5TOQEQFU8KxOwBamxKr1BjmeysesAUjO0nAFSmAIB0laDeiULfi3gcKlUTAFFt/IYixkepwIufv/Pn1y5ZNbPpes0A1PF1Czlx20tdXTfTswmAOufruFY4KZAABBxTSQEdmY3tAZsKoPaLTUze1qmEbF6WABjYar8ClK8WRRIod6HRaAQbm9s21eZka3Wd5t+w+34but0uYKKyZ6xbqYjSGYATXRGcit/MqX7w2oZ16yaOQKJXyATAi74AzkmBACR6hUgKeNEXwDkpEIBErxBJAS/6AjifTQUmk5N8ednvfx8FIL8I4aUAA6J6hkpSF8cLQB0Jmt6RmVhs+n62fueR8nejOvT7X94V6tn47316U4bEHkJy2ALrKXFNZsPnZZ0Ec24UAFsmWfK2fkwBfoIxhkUFdDYVBdgCtRxc2Md3RAcgq3kRlI59HTDcE9nG9wVVQAQgU8SUpKqsGgGAwr4MAPOrVYHQ7MvKJWoJudS+jn0+Wfx30HMgdu2z+JRDimKjHKOqcepb+6b7jM9+5TIXo/Z9EjT5GgGEZJ8vD1Nisn3Z3yBzAGKzXzuAkOy7ME7xKRWIzT4lGRcbJYA2sI+AlT3AAxAPKJs9F1ZtfKRTSEyQPx9c9mwSsrX9BxoKJ3/5/KY1AAAAAElFTkSuQmCC" + } + ], + "animations": [ + { + "uuid": "05c390fa-6ae0-d3be-9139-6f83fa714747", + "name": "ex_skill_2", + "loop": "hold", + "override": true, + "length": 8.9, + "snapping": 20, + "selected": true, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "d0e2a4ef-6f4f-9e4a-2014-102fa43a71ca": { + "name": "Skirt1", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "1fb6bebe-bacd-dafb-7ac2-870fded5d2ec", + "time": 8.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 10 + } + ], + "uuid": "fb21e227-b896-8849-b5b6-1dba44e3f821", + "time": 8.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1.05", + "y": "0.9", + "z": "1.05" + } + ], + "uuid": "59376d06-8799-03fd-200b-858d9e92117d", + "time": 0.2, + "color": -1, + "uniform": false, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "4470414f-03b9-84a6-3f03-6f68d996fa07", + "time": 0, + "color": -1, + "uniform": false, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0.95", + "y": "1", + "z": "0.95" + } + ], + "uuid": "cc3089cb-4551-87a8-8b11-7dd885e51afa", + "time": 0.35, + "color": -1, + "uniform": false, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1.05", + "y": "0.9", + "z": "1.05" + } + ], + "uuid": "0b54f06b-6e0a-defe-8051-05094e70f307", + "time": 0.45, + "color": -1, + "uniform": false, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0.95", + "y": "1", + "z": "0.95" + } + ], + "uuid": "cc1687dc-076a-df3b-0592-4367bc791b7e", + "time": 0.6, + "color": -1, + "uniform": false, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1.05", + "y": "0.9", + "z": "1.05" + } + ], + "uuid": "00920b87-f27e-c8a9-91af-f732d0c7a6d4", + "time": 0.75, + "color": -1, + "uniform": false, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Momoi/models/death_animation.bbmodel b/config/yosbr/config/figura/avatars/Momoi/models/death_animation.bbmodel new file mode 100644 index 0000000..230409b --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/models/death_animation.bbmodel @@ -0,0 +1,20545 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "death_animation", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 256, + "height": 191 + }, + "elements": [ + { + "name": "Body1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20, + 15.5, + -37 + ], + "to": [ + 20, + 55.5, + 33 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 70, + 0, + 0, + 40 + ], + "texture": 0 + }, + "south": { + "uv": [ + 70, + 105, + 110, + 145 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 70, + 40 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 40, + 70, + 80 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 80, + 70, + 120 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "b7c05a5f-7761-cdb8-f20e-1c37a3ade2d6" + }, + { + "name": "FrontWindow1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20, + 38.25, + -64.75 + ], + "to": [ + 20, + 55.25, + -36.5 + ], + "autouv": 0, + "color": 0, + "inflate": -0.01, + "rotation": [ + -70, + 0, + 0 + ], + "origin": [ + 0, + 55, + -37 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 98.25, + 0, + 70, + 17 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 70, + 0, + 98.25, + 17 + ], + "texture": 0 + }, + "up": { + "uv": [ + 70, + 41, + 110, + 69.25 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "96c3a955-eb63-9471-5196-694594fda260" + }, + { + "name": "Nose1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -10, + 15.5, + -75.25 + ], + "to": [ + 10, + 32.5, + -45.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -25.25 + ], + "faces": { + "north": { + "uv": [ + 111, + 14, + 131, + 31 + ], + "texture": 0 + }, + "east": { + "uv": [ + 161, + 14.25, + 131, + 31.25 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 131, + 14.25, + 161, + 31.25 + ], + "texture": 0 + }, + "up": { + "uv": [ + 161, + 14, + 191, + 34 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 191, + 14, + 161, + 34 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "e7fa4708-6808-a16e-c3cf-84c4423ce64d" + }, + { + "name": "Nose2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 10, + 15.5, + -76.925 + ], + "to": [ + 20, + 29.5, + -46.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 19.15, + 0 + ], + "origin": [ + 20, + 22.5, + -46.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 80, + 17, + 110.425, + 31 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 99, + 4, + 129.425, + 14 + ], + "rotation": 270, + "texture": 0 + }, + "down": { + "uv": [ + 129.425, + 4, + 99, + 14 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "c62a05d2-a700-0657-0afa-5f2244004bff" + }, + { + "name": "Body2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20, + 15.5, + -46.5 + ], + "to": [ + 20, + 29.5, + -37 + ], + "autouv": 0, + "color": 0, + "inflate": -0.001, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 79.5, + 17, + 70, + 31 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 70, + 17, + 79.5, + 31 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 70, + 31, + 110, + 40.5 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f00ed130-bf0d-ecc1-f1ca-bbf1616f1ada" + }, + { + "name": "Nose3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20, + 15.5, + -76.925 + ], + "to": [ + -10, + 29.5, + -46.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -19.15, + 0 + ], + "origin": [ + -20, + 22.5, + -46.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 110.425, + 17, + 80, + 31 + ], + "texture": 0 + }, + "up": { + "uv": [ + 99, + 14, + 129.425, + 4 + ], + "rotation": 270, + "texture": 0 + }, + "down": { + "uv": [ + 129.425, + 14, + 99, + 4 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "09ad8112-4cf8-8762-652e-f5ad6d9f618e" + }, + { + "name": "RearBody1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -10, + 15.5, + 33 + ], + "to": [ + 10, + 50.5, + 63 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 191, + 14, + 211, + 49 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 130, + 32, + 150, + 62 + ], + "texture": 0 + }, + "down": { + "uv": [ + 170, + 34, + 190, + 64 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "890f0f8a-d674-0b64-0662-72ec21b7e302" + }, + { + "name": "RearBody2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20, + 15.5, + 33 + ], + "to": [ + 0, + 50.5, + 64.62 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 18.4, + 0 + ], + "origin": [ + -20, + 35, + 33 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 70, + 70, + 101.62, + 105 + ], + "texture": 0 + }, + "up": { + "uv": [ + 110, + 31, + 130, + 62.62 + ], + "texture": 0 + }, + "down": { + "uv": [ + 150, + 34, + 170, + 65.62 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "553e0577-b6a2-7ca8-524a-dcd364e5e845" + }, + { + "name": "RearBody3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 15.5, + 33 + ], + "to": [ + 20, + 50.5, + 64.62 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -18.4, + 0 + ], + "origin": [ + 20, + 35, + 33 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 101.62, + 70, + 70, + 105 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 130, + 31, + 110, + 62.62 + ], + "texture": 0 + }, + "down": { + "uv": [ + 170, + 34, + 150, + 65.62 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "6e532d40-881b-73cd-c7ce-a6d5be00d54f" + }, + { + "name": "EngineRoom1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 55.5, + -13 + ], + "to": [ + 8, + 71.5, + 13 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 110, + 125, + 126, + 141 + ], + "texture": 0 + }, + "east": { + "uv": [ + 152, + 125, + 126, + 141 + ], + "texture": 0 + }, + "south": { + "uv": [ + 152, + 125, + 168, + 141 + ], + "texture": 0 + }, + "west": { + "uv": [ + 126, + 125, + 152, + 141 + ], + "texture": 0 + }, + "up": { + "uv": [ + 168, + 125, + 194, + 141 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6daed1d4-981e-461b-e3bb-74c380ac33dc" + }, + { + "name": "EngineRoomLeft1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16, + 55.5, + -13 + ], + "to": [ + -8, + 61.5, + 17 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 120, + 8, + 126 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 8, + 120, + 38, + 126 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 126, + 30, + 134 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "429f5b24-b23e-95d7-a9ee-497cc9d6870d" + }, + { + "name": "EngineRoomLeft2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16, + 50.5, + 17 + ], + "to": [ + -8, + 64.5, + 45 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 28, + 134, + 42, + 142 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 42, + 134, + 56, + 142 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 38, + 120, + 66, + 134 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 134, + 28, + 142 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "4f5a613d-8830-b138-718b-9ffbb057e3d2" + }, + { + "name": "EngineRoom2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 50.5, + 13 + ], + "to": [ + 8, + 67.5, + 59 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 240, + 117, + 194, + 134 + ], + "texture": 0 + }, + "south": { + "uv": [ + 240, + 117, + 256, + 134 + ], + "texture": 0 + }, + "west": { + "uv": [ + 194, + 117, + 240, + 134 + ], + "texture": 0 + }, + "up": { + "uv": [ + 194, + 134, + 240, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "00352831-878c-36dd-56e5-23907f1b47fa" + }, + { + "name": "EngineRoomExhaustLeft1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16, + 63.5, + 45 + ], + "to": [ + -8, + 64.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 30, + 131, + 38, + 132 + ], + "texture": 0 + }, + "west": { + "uv": [ + 37, + 132, + 38, + 126 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 30, + 126, + 38, + 132 + ], + "texture": 0 + }, + "down": { + "uv": [ + 30, + 126, + 31, + 127 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "59b62c8d-08db-51f2-9fd9-207412f3c43a" + }, + { + "name": "EngineRoomExhaustLeft2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16, + 56.5, + 45 + ], + "to": [ + -8, + 57.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 30, + 131, + 38, + 132 + ], + "texture": 0 + }, + "west": { + "uv": [ + 30, + 132, + 31, + 126 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 30, + 126, + 38, + 132 + ], + "texture": 0 + }, + "down": { + "uv": [ + 30, + 126, + 38, + 132 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "48913cfa-28ec-987b-4365-3a4efe28b6e9" + }, + { + "name": "EngineRoomExhaustLeft3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16, + 57.5, + 45 + ], + "to": [ + -15, + 63.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 30, + 126, + 31, + 127 + ], + "texture": 0 + }, + "south": { + "uv": [ + 31, + 131, + 37, + 132 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 31, + 126, + 37, + 132 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "12a1c9b3-563f-29d1-4231-8b8960e9bf95" + }, + { + "name": "EngineRoomExhaustLeft4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -9, + 57.5, + 45 + ], + "to": [ + -8, + 63.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 31, + 131, + 37, + 132 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 31, + 126, + 37, + 132 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "bb1f1492-cd11-fc0f-eb04-6a5f11c8bd62" + }, + { + "name": "RotorShaft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 71.5, + -2 + ], + "to": [ + 2, + 77.5, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 142, + 4, + 148 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 142, + 4, + 148 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 142, + 4, + 148 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 142, + 4, + 148 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "a1ca5212-93a0-4d30-6122-d2e5c9872983" + }, + { + "name": "RotorHead", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5, + 77.5, + -5 + ], + "to": [ + 5, + 81.5, + 5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 4, + 152, + 14, + 156 + ], + "texture": 0 + }, + "east": { + "uv": [ + 4, + 152, + 14, + 156 + ], + "texture": 0 + }, + "south": { + "uv": [ + 4, + 152, + 14, + 156 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 152, + 14, + 156 + ], + "texture": 0 + }, + "up": { + "uv": [ + 4, + 142, + 14, + 152 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 142, + 14, + 152 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "66601b79-7b9e-fa15-2bd4-56693acf0bb7" + }, + { + "name": "BladeSleeve", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 78.5, + -17 + ], + "to": [ + 3, + 80.5, + -5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 44, + 142, + 38, + 144 + ], + "texture": 0 + }, + "east": { + "uv": [ + 38, + 142, + 26, + 144 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 26, + 142, + 38, + 144 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "103317bc-2688-89dd-17f8-3650470efcaa" + }, + { + "name": "Blade1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 79, + -25 + ], + "to": [ + 2, + 80, + -17 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 94, + 152, + 102, + 153 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 94, + 149, + 102, + 150 + ], + "texture": 0 + }, + "up": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "d1db4ea0-4661-4e86-13ab-d074bdb22394" + }, + { + "name": "Blade2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 79, + -105 + ], + "to": [ + 3, + 80, + -25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 14, + 148, + 15, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 94, + 153, + 14, + 154 + ], + "texture": 0 + }, + "south": { + "uv": [ + 93, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 14, + 148, + 94, + 149 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 148, + 14, + 154 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "8c22cade-6d0a-00a9-2974-2804a153f903" + }, + { + "name": "Tail1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 17.5, + 62 + ], + "to": [ + 7, + 48.5, + 97 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -158 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 145, + 94, + 110, + 125 + ], + "texture": 0 + }, + "south": { + "uv": [ + 211, + 0, + 225, + 31 + ], + "texture": 0 + }, + "west": { + "uv": [ + 110, + 94, + 145, + 125 + ], + "texture": 0 + }, + "up": { + "uv": [ + 110, + 66, + 145, + 80 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 110, + 80, + 145, + 94 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "623664b1-2689-578e-fd04-eee31711ff1d" + }, + { + "name": "Tail2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 21.5, + 97 + ], + "to": [ + 7, + 48.5, + 132 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -158 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 180, + 94, + 145, + 121 + ], + "texture": 0 + }, + "south": { + "uv": [ + 211, + 31, + 225, + 62 + ], + "texture": 0 + }, + "west": { + "uv": [ + 145, + 94, + 180, + 121 + ], + "texture": 0 + }, + "up": { + "uv": [ + 145, + 66, + 180, + 80 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 145, + 80, + 180, + 94 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "fc8ce5f4-0840-2f3d-140f-21dc84105267" + }, + { + "name": "Tail3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 25.5, + 132 + ], + "to": [ + 7, + 48.5, + 167 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -158 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 215, + 94, + 180, + 117 + ], + "texture": 0 + }, + "south": { + "uv": [ + 225, + 0, + 239, + 23 + ], + "texture": 0 + }, + "west": { + "uv": [ + 180, + 94, + 215, + 117 + ], + "texture": 0 + }, + "up": { + "uv": [ + 180, + 66, + 215, + 80 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 180, + 80, + 215, + 94 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "8e802d51-1ae6-3899-f6d4-8cd3c38b139f" + }, + { + "name": "Tail4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 29.5, + 167 + ], + "to": [ + 7, + 48.5, + 202 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -158 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 250, + 94, + 215, + 113 + ], + "texture": 0 + }, + "south": { + "uv": [ + 225, + 23, + 239, + 42 + ], + "texture": 0 + }, + "west": { + "uv": [ + 215, + 94, + 250, + 113 + ], + "texture": 0 + }, + "up": { + "uv": [ + 215, + 66, + 250, + 80 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 215, + 80, + 250, + 94 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "67af4d6d-9e06-3523-d121-1449e5623033" + }, + { + "name": "TailBladeLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -27, + 27.5, + 110 + ], + "to": [ + -7, + 29.5, + 120 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 10, + 0 + ], + "origin": [ + -7, + 28, + 110 + ], + "faces": { + "north": { + "uv": [ + 150, + 8, + 130, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 180, + 8, + 160, + 10 + ], + "texture": 0 + }, + "west": { + "uv": [ + 160, + 8, + 150, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 206, + 0, + 186, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 206, + 10, + 186, + 0 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f0926915-1b03-abd3-2ff0-fb9e7b9d69ba" + }, + { + "name": "Tail5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 48.5, + 175 + ], + "to": [ + 4, + 88.5, + 191 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 48, + 175 + ], + "faces": { + "north": { + "uv": [ + 130, + 0, + 170, + 8 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 255, + 0, + 239, + 40 + ], + "texture": 0 + }, + "south": { + "uv": [ + 130, + 0, + 170, + 8 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 239, + 0, + 255, + 40 + ], + "texture": 0 + }, + "up": { + "uv": [ + 170, + 0, + 186, + 8 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "0945a87b-a1d3-7f38-aac7-6dcca9f02a58" + }, + { + "name": "RotorShaft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 79.5, + 181 + ], + "to": [ + 10, + 83.5, + 185 + ], + "autouv": 0, + "color": 0, + "origin": [ + 11, + 85, + 175 + ], + "faces": { + "north": { + "uv": [ + 0, + 156, + 4, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 156, + 4, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 156, + 4, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 156, + 4, + 162 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "4921cf7b-b2b3-af9f-9a0d-45bd294a5c63" + }, + { + "name": "RotorHead", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 10, + 76.5, + 178 + ], + "to": [ + 14, + 86.5, + 188 + ], + "autouv": 0, + "color": 0, + "origin": [ + 11, + 85, + 175 + ], + "faces": { + "north": { + "uv": [ + 4, + 166, + 14, + 170 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 4, + 156, + 14, + 166 + ], + "texture": 0 + }, + "south": { + "uv": [ + 4, + 166, + 14, + 170 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 4, + 156, + 14, + 166 + ], + "texture": 0 + }, + "up": { + "uv": [ + 4, + 166, + 14, + 170 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 4, + 166, + 14, + 170 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "5354d04a-dcfe-a853-0890-af0a391580cf" + }, + { + "name": "TailSleeve", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11, + 72.5, + 180 + ], + "to": [ + 13, + 76.5, + 186 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 81, + 183 + ], + "faces": { + "north": { + "uv": [ + 18, + 154, + 22, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 14, + 154, + 18, + 160 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 18, + 154, + 22, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 14, + 154, + 18, + 160 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 22, + 154, + 28, + 156 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "b4ca7b1a-f286-c59f-de41-2f4c81ebcf60" + }, + { + "name": "Blade1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11.5, + 68.5, + 183 + ], + "to": [ + 12.5, + 72.5, + 185 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 81, + 183 + ], + "faces": { + "north": { + "uv": [ + 34, + 160, + 30, + 161 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 34, + 160, + 30, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 34, + 161, + 30, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 34, + 160, + 30, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b22dabbf-eb73-a416-efd2-8c592faea638" + }, + { + "name": "Blade2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11.5, + 52.5, + 181 + ], + "to": [ + 12.5, + 68.5, + 185 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 81, + 183 + ], + "faces": { + "north": { + "uv": [ + 30, + 160, + 14, + 161 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 30, + 160, + 14, + 164 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 30, + 163, + 14, + 164 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 30, + 160, + 14, + 164 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 29, + 164, + 30, + 160 + ], + "texture": 0 + }, + "down": { + "uv": [ + 14, + 164, + 15, + 160 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8659a038-d656-e9a6-677d-860067d72528" + }, + { + "name": "LanderShaft1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16, + -1.5, + -37 + ], + "to": [ + -14, + 15.5, + -35 + ], + "autouv": 0, + "color": 0, + "origin": [ + -15, + 13, + -25 + ], + "faces": { + "north": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b9e80942-0725-306b-d7d1-726fef83a08d" + }, + { + "name": "LanderShaft2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16, + -1.5, + 31 + ], + "to": [ + -14, + 15.5, + 33 + ], + "autouv": 0, + "color": 0, + "origin": [ + -15, + 13, + -25 + ], + "faces": { + "north": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "be81893d-06ce-98ae-2241-f24e1a6e49e0" + }, + { + "name": "LanderBottom1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -18, + -2.5, + -47 + ], + "to": [ + -12, + -0.5, + 43 + ], + "autouv": 0, + "color": 0, + "origin": [ + -14, + 15, + -2 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 110, + 154, + 200, + 156 + ], + "texture": 0 + }, + "south": { + "uv": [ + 110, + 150, + 112, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 110, + 150, + 200, + 152 + ], + "texture": 0 + }, + "up": { + "uv": [ + 110, + 150, + 200, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 110, + 150, + 200, + 156 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "d4502cca-0b14-7d86-6160-f86322c35b25" + }, + { + "name": "LanderBottom2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -18, + -2.5, + -57 + ], + "to": [ + -12, + -0.5, + -47 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -15, + -3, + -47 + ], + "faces": { + "north": { + "uv": [ + 200, + 150, + 202, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 200, + 154, + 210, + 156 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 200, + 150, + 210, + 152 + ], + "texture": 0 + }, + "up": { + "uv": [ + 200, + 150, + 210, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 200, + 150, + 210, + 156 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "57c510e5-6036-ee15-39e0-ae4cbb2c00fa" + }, + { + "name": "LanderShaft1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 14, + -1.5, + -37 + ], + "to": [ + 16, + 15.5, + -35 + ], + "autouv": 0, + "color": 0, + "origin": [ + 15, + 13, + -25 + ], + "faces": { + "north": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e7f46383-2d20-b790-1b02-2efbd9022ded" + }, + { + "name": "LanderShaft2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 14, + -1.5, + 31 + ], + "to": [ + 16, + 15.5, + 33 + ], + "autouv": 0, + "color": 0, + "origin": [ + 15, + 13, + -25 + ], + "faces": { + "north": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "30329970-0ddf-fc94-6f51-ee9cfbee974b" + }, + { + "name": "LanderBottom1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 12, + -2.5, + -47 + ], + "to": [ + 18, + -0.5, + 43 + ], + "autouv": 0, + "color": 0, + "origin": [ + 14, + 15, + -2 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 110, + 154, + 200, + 156 + ], + "texture": 0 + }, + "south": { + "uv": [ + 110, + 150, + 112, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 110, + 150, + 200, + 152 + ], + "texture": 0 + }, + "up": { + "uv": [ + 110, + 150, + 200, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 110, + 150, + 200, + 156 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "22aaf02a-dcc5-0b1e-163c-8f002d8a332d" + }, + { + "name": "LanderBottom2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 12, + -2.5, + -57 + ], + "to": [ + 18, + -0.5, + -47 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + 15, + -3, + -47 + ], + "faces": { + "north": { + "uv": [ + 200, + 150, + 202, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 200, + 154, + 210, + 156 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 200, + 150, + 210, + 152 + ], + "texture": 0 + }, + "up": { + "uv": [ + 200, + 150, + 210, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 200, + 150, + 210, + 156 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "7823fa17-de11-0fe8-2baf-f8fb991f1c3a" + }, + { + "name": "TailBladeRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 7, + 27.5, + 110 + ], + "to": [ + 27, + 29.5, + 120 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -10, + 0 + ], + "origin": [ + 7, + 28, + 110 + ], + "faces": { + "north": { + "uv": [ + 130, + 8, + 150, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 150, + 8, + 160, + 10 + ], + "texture": 0 + }, + "south": { + "uv": [ + 160, + 8, + 180, + 10 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 186, + 0, + 206, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 186, + 10, + 206, + 0 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "87df5ebb-ce10-e033-a030-13710b994a15" + }, + { + "name": "EngineRoomRight1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + 55.5, + -13 + ], + "to": [ + 16, + 61.5, + 17 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 8, + 120, + 0, + 126 + ], + "texture": 0 + }, + "east": { + "uv": [ + 38, + 120, + 8, + 126 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 134, + 30, + 126 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "02e23b3b-bbd1-8429-2e72-30a7942b1a59" + }, + { + "name": "EngineRoomRight2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + 50.5, + 17 + ], + "to": [ + 16, + 64.5, + 45 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 28, + 142, + 42, + 134 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 66, + 120, + 38, + 134 + ], + "texture": 0 + }, + "south": { + "uv": [ + 42, + 134, + 56, + 142 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 142, + 28, + 134 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "47afaa80-32d5-ef12-1c54-f7af51108b24" + }, + { + "name": "EngineRoomExhaustRight1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + 63.5, + 45 + ], + "to": [ + 16, + 64.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 37, + 126, + 38, + 132 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 38, + 131, + 30, + 132 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 38, + 126, + 30, + 132 + ], + "texture": 0 + }, + "down": { + "uv": [ + 38, + 126, + 30, + 132 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b0c15dcb-3164-8e83-617a-faf2031bad34" + }, + { + "name": "EngineRoomExhaustRight2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + 56.5, + 45 + ], + "to": [ + 16, + 57.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 37, + 126, + 38, + 132 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 38, + 131, + 30, + 132 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 38, + 126, + 30, + 132 + ], + "texture": 0 + }, + "down": { + "uv": [ + 38, + 126, + 30, + 132 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "fea2953f-ff6d-d6f4-0e7a-12e45eb37e3d" + }, + { + "name": "EngineRoomExhaustRight3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 15, + 57.5, + 45 + ], + "to": [ + 16, + 63.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 37, + 132, + 31, + 126 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 31, + 132, + 37, + 131 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6e2dde80-d293-08d7-2c83-8f7edab96858" + }, + { + "name": "EngineRoomExhaustRight4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + 57.5, + 45 + ], + "to": [ + 9, + 63.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 31, + 132, + 37, + 126 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 31, + 132, + 37, + 131 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "787b4297-9e84-2172-ca92-f890a7337aaa" + }, + { + "name": "BladeSleeve", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 78.5, + -17 + ], + "to": [ + 3, + 80.5, + -5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 44, + 142, + 38, + 144 + ], + "texture": 0 + }, + "east": { + "uv": [ + 38, + 142, + 26, + 144 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 26, + 142, + 38, + 144 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "db87ecaf-8136-4d52-d5c9-3d4f4b20fd3d" + }, + { + "name": "Blade1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 79, + -25 + ], + "to": [ + 2, + 80, + -17 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 94, + 152, + 102, + 153 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 94, + 149, + 102, + 150 + ], + "texture": 0 + }, + "up": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "c586ee43-2365-0815-9be1-57eb4d52415d" + }, + { + "name": "Blade2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 79, + -105 + ], + "to": [ + 3, + 80, + -25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 14, + 148, + 15, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 94, + 153, + 14, + 154 + ], + "texture": 0 + }, + "south": { + "uv": [ + 93, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 14, + 148, + 94, + 149 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 148, + 14, + 154 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "adfdc4b7-1eb1-0617-f8ab-48b0db5665f9" + }, + { + "name": "BladeSleeve", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 78.5, + -17 + ], + "to": [ + 3, + 80.5, + -5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 44, + 142, + 38, + 144 + ], + "texture": 0 + }, + "east": { + "uv": [ + 38, + 142, + 26, + 144 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 26, + 142, + 38, + 144 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "9a654922-f592-c03e-ec3a-411273b14955" + }, + { + "name": "Blade1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 79, + -25 + ], + "to": [ + 2, + 80, + -17 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 94, + 152, + 102, + 153 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 94, + 149, + 102, + 150 + ], + "texture": 0 + }, + "up": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "34b50ab0-c515-6c0a-ebe9-80822ac5c44e" + }, + { + "name": "Blade2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 79, + -105 + ], + "to": [ + 3, + 80, + -25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 14, + 148, + 15, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 94, + 153, + 14, + 154 + ], + "texture": 0 + }, + "south": { + "uv": [ + 93, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 14, + 148, + 94, + 149 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 148, + 14, + 154 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "d28f3b53-e1fd-6e19-ee52-768b3d16f520" + }, + { + "name": "BladeSleeve", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 78.5, + -17 + ], + "to": [ + 3, + 80.5, + -5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 44, + 142, + 38, + 144 + ], + "texture": 0 + }, + "east": { + "uv": [ + 38, + 142, + 26, + 144 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 26, + 142, + 38, + 144 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "cf06849c-bf04-230f-8555-70a0f6fbb714" + }, + { + "name": "Blade1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 79, + -25 + ], + "to": [ + 2, + 80, + -17 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 94, + 152, + 102, + 153 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 94, + 149, + 102, + 150 + ], + "texture": 0 + }, + "up": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "b91de1a5-0b22-48de-55da-1ad9e0400b04" + }, + { + "name": "Blade2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 79, + -105 + ], + "to": [ + 3, + 80, + -25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 14, + 148, + 15, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 94, + 153, + 14, + 154 + ], + "texture": 0 + }, + "south": { + "uv": [ + 93, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 14, + 148, + 94, + 149 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 148, + 14, + 154 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "3ae96f69-18b8-0a78-9d04-f3caffc1b4a1" + }, + { + "name": "TailSleeve", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11, + 72.5, + 180 + ], + "to": [ + 13, + 76.5, + 186 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 81, + 183 + ], + "faces": { + "north": { + "uv": [ + 18, + 154, + 22, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 14, + 154, + 18, + 160 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 18, + 154, + 22, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 14, + 154, + 18, + 160 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 22, + 154, + 28, + 156 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "4e2b41c3-a5b0-7ac4-3410-47ad58210db4" + }, + { + "name": "Blade1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11.5, + 68.5, + 183 + ], + "to": [ + 12.5, + 72.5, + 185 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 81, + 183 + ], + "faces": { + "north": { + "uv": [ + 34, + 160, + 30, + 161 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 34, + 160, + 30, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 34, + 161, + 30, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 34, + 160, + 30, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b017b261-b144-7afe-0641-3d4b4b111aa5" + }, + { + "name": "Blade2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11.5, + 52.5, + 181 + ], + "to": [ + 12.5, + 68.5, + 185 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 81, + 183 + ], + "faces": { + "north": { + "uv": [ + 30, + 160, + 14, + 161 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 30, + 160, + 14, + 164 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 30, + 163, + 14, + 164 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 30, + 160, + 14, + 164 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 29, + 164, + 30, + 160 + ], + "texture": 0 + }, + "down": { + "uv": [ + 14, + 164, + 15, + 160 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "aeb1e055-a22c-2884-4143-efb88f549cb3" + }, + { + "name": "DoorLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20.1, + 16.5, + -21 + ], + "to": [ + -18.1, + 51.5, + 28 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 34, + 154, + 36, + 189 + ], + "texture": 0 + }, + "east": { + "uv": [ + 85, + 156, + 134, + 191 + ], + "texture": 0 + }, + "south": { + "uv": [ + 34, + 154, + 36, + 189 + ], + "texture": 0 + }, + "west": { + "uv": [ + 36, + 156, + 85, + 191 + ], + "texture": 0 + }, + "up": { + "uv": [ + 36, + 154, + 85, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 36, + 154, + 85, + 156 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "c683f988-d7ac-d768-398e-41744d3302cb" + }, + { + "name": "DoorRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 18.1, + 16.5, + -21 + ], + "to": [ + 20.1, + 51.5, + 28 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 36, + 154, + 34, + 189 + ], + "texture": 0 + }, + "east": { + "uv": [ + 85, + 156, + 36, + 191 + ], + "texture": 0 + }, + "south": { + "uv": [ + 36, + 154, + 34, + 189 + ], + "texture": 0 + }, + "west": { + "uv": [ + 134, + 156, + 85, + 191 + ], + "texture": 0 + }, + "up": { + "uv": [ + 36, + 156, + 85, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 36, + 156, + 85, + 154 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "0c7841d3-9d21-15ca-262b-1627bc2f205b" + }, + { + "name": "SchaleLabel", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20.2, + 19.5, + -16 + ], + "to": [ + -20.2, + 24.5, + 23 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 134, + 156, + 173, + 161 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "166f93d9-1fd0-34ac-2675-dd025f53f0f8" + }, + { + "name": "SchaleLabel", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 20.2, + 19.5, + -16 + ], + "to": [ + 20.2, + 24.5, + 23 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 134, + 156, + 173, + 161 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "20c339d6-7391-1da8-9c28-0cd84d7d4b32" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 2, + 7 + ], + "to": [ + 1, + 18, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 2, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "ceea50d1-ebb7-d7cb-b6b9-69a321fd2698" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 2, + -3 + ], + "to": [ + 1, + 18, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 2, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2cbdf3db-26d4-6b03-d386-78cbd775872a" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 5.5, + -4 + ], + "to": [ + 2, + 6.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 2, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "bc13f85c-c966-c61e-8958-954dae7efcd9" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 13.5, + -4 + ], + "to": [ + 2, + 14.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 2, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "af62dbcd-800e-f962-49ef-2cc8b7512391" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -14, + 7 + ], + "to": [ + 1, + 2, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -14, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a2f4989f-e70f-5196-4050-f0b1825614e1" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -14, + -3 + ], + "to": [ + 1, + 2, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -14, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "3c8f15aa-a7a8-ebc5-4678-c3e2f4a624d7" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -2.5, + -4 + ], + "to": [ + 2, + -1.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -14, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "05bc5a8b-b514-4d34-9df4-85a29e758ed2" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -10.5, + -4 + ], + "to": [ + 2, + -9.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -14, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "560ddc94-bfeb-9ca3-3ad5-2b996a9417e5" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -30, + 7 + ], + "to": [ + 1, + -14, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -30, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5ad4ce08-eefc-6107-fc45-b54c501d5a17" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -30, + -3 + ], + "to": [ + 1, + -14, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -30, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5382e7ce-0210-07a3-5a39-564881ad85b6" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -18.5, + -4 + ], + "to": [ + 2, + -17.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -30, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "651651ac-c2e0-5cef-8e1a-981e98653024" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -26.5, + -4 + ], + "to": [ + 2, + -25.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -30, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "29295c79-a462-f3ae-b17d-165b0b24e5d0" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -46, + 7 + ], + "to": [ + 1, + -30, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -46, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "adcf364d-c4cb-636b-81d6-c7977d7b3525" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -46, + -3 + ], + "to": [ + 1, + -30, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -46, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "42f4c692-3694-c495-ec99-09556d5bb0c0" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -34.5, + -4 + ], + "to": [ + 2, + -33.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -46, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "595ef090-7f9a-8179-e935-4b29f2d7e184" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -42.5, + -4 + ], + "to": [ + 2, + -41.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -46, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "9d74e4a4-4705-1cf9-0022-51fe5ae26385" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -62, + 7 + ], + "to": [ + 1, + -46, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -62, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e61bb277-9b35-78e5-93f1-b3f8d8d7fc7f" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -62, + -3 + ], + "to": [ + 1, + -46, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -62, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "37236c6a-8616-a237-baa4-aa0ead82d0f7" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -50.5, + -4 + ], + "to": [ + 2, + -49.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -62, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "1a350fe0-670a-70fe-88e3-734694dad6ba" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -58.5, + -4 + ], + "to": [ + 2, + -57.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -62, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "6584c65b-14b3-9256-0b14-bc8198dfc9fb" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -78, + 7 + ], + "to": [ + 1, + -62, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -78, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a6b332b9-51fe-6bde-d3f7-f4d49e2fad64" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -78, + -3 + ], + "to": [ + 1, + -62, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -78, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e283a6d7-c1c4-dccf-55a8-7d7f840f4259" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -66.5, + -4 + ], + "to": [ + 2, + -65.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -78, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "abbdc168-0478-26c0-4fd5-8a4e0a6d6c70" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -74.5, + -4 + ], + "to": [ + 2, + -73.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -78, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d8af1577-a3b2-233f-5fa7-8614c8a06d46" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -94, + 7 + ], + "to": [ + 1, + -78, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -94, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "1382a9ae-d04f-9f91-e940-0acfccd26b02" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -94, + -3 + ], + "to": [ + 1, + -78, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -94, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f47a62ab-f0c5-eba4-9b39-c6ddcd063b1d" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -82.5, + -4 + ], + "to": [ + 2, + -81.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -94, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "db16de55-a5a5-3191-cab1-737029a1c1d4" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -90.5, + -4 + ], + "to": [ + 2, + -89.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -94, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "bb0aac5a-aed5-18eb-078c-087cadeaa272" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -110, + 7 + ], + "to": [ + 1, + -94, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -110, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "65c9cc04-0f2e-be8d-e5dd-596432b80caf" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -110, + -3 + ], + "to": [ + 1, + -94, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -110, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "dc6bada8-0f68-3157-623e-5d707cf63adc" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -98.5, + -4 + ], + "to": [ + 2, + -97.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -110, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "1b0b4d4b-ba33-c817-e5b6-ce5f0a015670" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -106.5, + -4 + ], + "to": [ + 2, + -105.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -110, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "34d34524-8192-5c54-2edb-6687d32c54ae" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -126, + 7 + ], + "to": [ + 1, + -110, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -126, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b9cf06c2-18d5-b469-6005-557f1b65bbd3" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -126, + -3 + ], + "to": [ + 1, + -110, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -126, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e28c6ffe-1742-144c-1949-91050bdc81f5" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -114.5, + -4 + ], + "to": [ + 2, + -113.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -126, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "173bd1e5-b573-e827-e8c1-3b545bb9fddb" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -122.5, + -4 + ], + "to": [ + 2, + -121.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -126, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b8bc4a52-d289-10ea-307c-b439840f0306" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -142, + 7 + ], + "to": [ + 1, + -126, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -142, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "616545a5-dc5f-fc34-fba0-fa73a5d2dda0" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -142, + -3 + ], + "to": [ + 1, + -126, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -142, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "84690380-add5-e58c-bade-29566cbd0ca8" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -130.5, + -4 + ], + "to": [ + 2, + -129.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -142, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "9995ccb7-13d8-d7ad-177b-1061111eae4e" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -138.5, + -4 + ], + "to": [ + 2, + -137.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -142, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "fbde71ac-aa28-ddfc-b282-2d8a90ca7468" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -158, + 7 + ], + "to": [ + 1, + -142, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -158, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "188ccb12-851b-1814-a474-acf791a7b3fe" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -158, + -3 + ], + "to": [ + 1, + -142, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -158, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5c2041f8-0c46-922f-089a-18b3e99969ed" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -146.5, + -4 + ], + "to": [ + 2, + -145.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -158, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "334e1d65-f729-2eef-0d61-2ce72451a335" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -154.5, + -4 + ], + "to": [ + 2, + -153.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -158, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "7a2fd5ad-01b2-3a7e-11db-8fc0532ea0ac" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -174, + 7 + ], + "to": [ + 1, + -158, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -174, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "ffe85353-4a8e-827b-da4c-b073e7ea6377" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -174, + -3 + ], + "to": [ + 1, + -158, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -174, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "86a1da75-1f45-bf6f-2f92-2fc63d8e993a" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -162.5, + -4 + ], + "to": [ + 2, + -161.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -174, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "d506e185-339a-eebd-7381-6348d3f8e0d4" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -170.5, + -4 + ], + "to": [ + 2, + -169.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -174, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "511c8f02-6fd7-f679-dd0d-5618cd7e5ed1" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -190, + 7 + ], + "to": [ + 1, + -174, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -190, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e9f10a40-b536-eefe-721f-aff1b8a6a6a9" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -190, + -3 + ], + "to": [ + 1, + -174, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -190, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "066c1dc4-37b5-d79d-12b2-d0a3ef5ebf37" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -178.5, + -4 + ], + "to": [ + 2, + -177.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -190, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "fc44e348-0fba-cb31-af5b-16506815543e" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -186.5, + -4 + ], + "to": [ + 2, + -185.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -190, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5f77bf2c-d246-9156-c10e-f71dcaed59a1" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -206, + 7 + ], + "to": [ + 1, + -190, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -206, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "6fc54381-1c0e-b4af-9bbc-4d8da96fecf9" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -206, + -3 + ], + "to": [ + 1, + -190, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -206, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "afef023d-931c-9a20-73fc-6300e8088df0" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -194.5, + -4 + ], + "to": [ + 2, + -193.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -206, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "b2709f0b-8848-15c4-8022-5ee5ae61eb21" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -202.5, + -4 + ], + "to": [ + 2, + -201.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -206, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b335fbde-c8fa-7a9d-ef18-8aca48e7e18c" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -222, + 7 + ], + "to": [ + 1, + -206, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -222, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c20a24d6-be1c-9057-82d7-04de02f59886" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -222, + -3 + ], + "to": [ + 1, + -206, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -222, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "3a63e341-e8fb-2bd2-6362-8562b2e7b7ef" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -210.5, + -4 + ], + "to": [ + 2, + -209.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -222, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "976656dc-5616-ef7b-ff0f-0284637bb753" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -218.5, + -4 + ], + "to": [ + 2, + -217.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -222, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "da9f89fb-21c2-448a-c367-0f483f1fdd96" + } + ], + "outliner": [ + { + "name": "Helicopter", + "origin": [ + 0, + 41, + 72 + ], + "color": 0, + "uuid": "3855c725-cad3-125d-db6d-7aa36afaff7c", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b7c05a5f-7761-cdb8-f20e-1c37a3ade2d6", + "f00ed130-bf0d-ecc1-f1ca-bbf1616f1ada", + "96c3a955-eb63-9471-5196-694594fda260", + { + "name": "Doors", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "c8c6350b-e8cd-d570-31a7-cf4e2bc83a28", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "DoorLeft", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "ed76b98c-a423-8851-e841-2021ddaf8547", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "c683f988-d7ac-d768-398e-41744d3302cb", + "166f93d9-1fd0-34ac-2675-dd025f53f0f8" + ] + }, + { + "name": "DoorRight", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "2c757bc9-83e6-d23d-9df6-bf4f97a4f5d6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "0c7841d3-9d21-15ca-262b-1627bc2f205b", + "20c339d6-7391-1da8-9c28-0cd84d7d4b32" + ] + } + ] + }, + { + "name": "Nose", + "origin": [ + 0, + 15, + -25.25 + ], + "color": 0, + "uuid": "7c0528cc-eca1-1af9-1c0e-8dc2ad12def4", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e7fa4708-6808-a16e-c3cf-84c4423ce64d", + "c62a05d2-a700-0657-0afa-5f2244004bff", + "09ad8112-4cf8-8762-652e-f5ad6d9f618e" + ] + }, + { + "name": "RearBody", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "93e928d9-d6f0-43df-6293-0a3cd4e289b6", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "890f0f8a-d674-0b64-0662-72ec21b7e302", + "553e0577-b6a2-7ca8-524a-dcd364e5e845", + "6e532d40-881b-73cd-c7ce-a6d5be00d54f", + { + "name": "Tail", + "origin": [ + 0, + 15, + -158 + ], + "color": 0, + "uuid": "d262a3fe-1946-6256-fce5-ba051869f9b3", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "623664b1-2689-578e-fd04-eee31711ff1d", + "fc8ce5f4-0840-2f3d-140f-21dc84105267", + "8e802d51-1ae6-3899-f6d4-8cd3c38b139f", + "67af4d6d-9e06-3523-d121-1449e5623033", + { + "name": "TailBlades", + "origin": [ + 0, + 27, + 111 + ], + "color": 0, + "uuid": "a5b0c0fa-1a35-5bbc-8477-a99377c7910e", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f0926915-1b03-abd3-2ff0-fb9e7b9d69ba", + "87df5ebb-ce10-e033-a030-13710b994a15" + ] + }, + { + "name": "Tail2", + "origin": [ + 0, + 48, + 175 + ], + "rotation": [ + 45, + 0, + 0 + ], + "color": 0, + "uuid": "22f49b13-6a3d-b438-2c5c-dc918d4d3576", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "0945a87b-a1d3-7f38-aac7-6dcca9f02a58", + { + "name": "TailRotor", + "origin": [ + 4, + 81, + 183 + ], + "rotation": [ + -45, + 0, + 0 + ], + "color": 0, + "uuid": "cd3f847e-32d5-a57a-9d0d-2fb39777e3db", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4921cf7b-b2b3-af9f-9a0d-45bd294a5c63", + "5354d04a-dcfe-a853-0890-af0a391580cf", + { + "name": "TailRotorBlades", + "origin": [ + 12, + 81, + 183 + ], + "color": 0, + "uuid": "47f57408-507e-ee25-dfbd-8f633fe8ccfd", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "TailRotorBlade1", + "origin": [ + 12, + 81, + 183 + ], + "color": 0, + "uuid": "124e1398-1a3b-52cb-328a-d53ee1298459", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4e2b41c3-a5b0-7ac4-3410-47ad58210db4", + "b017b261-b144-7afe-0641-3d4b4b111aa5", + "aeb1e055-a22c-2884-4143-efb88f549cb3" + ] + }, + { + "name": "TailRotorBlade2", + "origin": [ + 12, + 81, + 183 + ], + "rotation": [ + -180, + 0, + 0 + ], + "color": 0, + "uuid": "f048d185-df18-6a18-4f96-77a3b8dc02e8", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b4ca7b1a-f286-c59f-de41-2f4c81ebcf60", + "b22dabbf-eb73-a416-efd2-8c592faea638", + "8659a038-d656-e9a6-677d-860067d72528" + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "name": "Lander", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "3352001e-59dc-756f-ca56-75a0ff69c425", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "LanderLeft", + "origin": [ + -14, + 15, + -2 + ], + "rotation": [ + 0, + 0, + -30 + ], + "color": 0, + "uuid": "e96bb96e-5c1e-69c0-e981-61680a7c39d2", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b9e80942-0725-306b-d7d1-726fef83a08d", + "be81893d-06ce-98ae-2241-f24e1a6e49e0", + { + "name": "LanderBottomLeft", + "origin": [ + -15, + -1, + -2 + ], + "rotation": [ + 0, + 0, + 30 + ], + "color": 0, + "uuid": "44f381e1-ac30-7518-5b19-76b403eb7996", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d4502cca-0b14-7d86-6160-f86322c35b25", + "57c510e5-6036-ee15-39e0-ae4cbb2c00fa" + ] + } + ] + }, + { + "name": "LanderRight", + "origin": [ + 14, + 15, + -2 + ], + "rotation": [ + 0, + 0, + 30 + ], + "color": 0, + "uuid": "9d0c1522-0a37-b6a7-2e1d-6a52b389a65c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e7f46383-2d20-b790-1b02-2efbd9022ded", + "30329970-0ddf-fc94-6f51-ee9cfbee974b", + { + "name": "LanderBottomRight", + "origin": [ + 15, + -1, + -2 + ], + "rotation": [ + 0, + 0, + -30 + ], + "color": 0, + "uuid": "f4cc6580-f851-149d-f2fb-1bc9469b7ce1", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "22aaf02a-dcc5-0b1e-163c-8f002d8a332d", + "7823fa17-de11-0fe8-2baf-f8fb991f1c3a" + ] + } + ] + } + ] + }, + { + "name": "EngineRoom", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "32d2ada4-d3e8-9606-b3e2-5e51f4ee0c7b", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "6daed1d4-981e-461b-e3bb-74c380ac33dc", + "00352831-878c-36dd-56e5-23907f1b47fa", + { + "name": "EngineRoomLeft", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "cca24d86-e850-053a-9dec-395bac3130ea", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "429f5b24-b23e-95d7-a9ee-497cc9d6870d", + "4f5a613d-8830-b138-718b-9ffbb057e3d2", + "59b62c8d-08db-51f2-9fd9-207412f3c43a", + "48913cfa-28ec-987b-4365-3a4efe28b6e9", + "12a1c9b3-563f-29d1-4231-8b8960e9bf95", + "bb1f1492-cd11-fc0f-eb04-6a5f11c8bd62" + ] + }, + { + "name": "EngineRoomRight", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "76ae5dd4-5132-c9eb-0ef8-a39f2bd556af", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "02e23b3b-bbd1-8429-2e72-30a7942b1a59", + "47afaa80-32d5-ef12-1c54-f7af51108b24", + "b0c15dcb-3164-8e83-617a-faf2031bad34", + "fea2953f-ff6d-d6f4-0e7a-12e45eb37e3d", + "6e2dde80-d293-08d7-2c83-8f7edab96858", + "787b4297-9e84-2172-ca92-f890a7337aaa" + ] + }, + { + "name": "Rotor", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "38ed883a-0fe3-ee8a-2189-c6e092c1fbdb", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a1ca5212-93a0-4d30-6122-d2e5c9872983", + "66601b79-7b9e-fa15-2bd4-56693acf0bb7", + { + "name": "RotorBlades", + "origin": [ + 0, + 79, + 0 + ], + "color": 0, + "uuid": "812dc3c3-7569-417c-88ea-98db26c9084f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RotorBlade1", + "origin": [ + 0, + 79, + 0 + ], + "color": 0, + "uuid": "f7b3eb02-a8bd-10df-159b-84a8d7d8de15", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "103317bc-2688-89dd-17f8-3650470efcaa", + "d1db4ea0-4661-4e86-13ab-d074bdb22394", + "8c22cade-6d0a-00a9-2974-2804a153f903" + ] + }, + { + "name": "RotorBlade2", + "origin": [ + 0, + 79, + 0 + ], + "rotation": [ + 0, + 90, + 0 + ], + "color": 0, + "uuid": "8d437dd0-b961-9ee5-6a21-c66cc9e2c290", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "db87ecaf-8136-4d52-d5c9-3d4f4b20fd3d", + "c586ee43-2365-0815-9be1-57eb4d52415d", + "adfdc4b7-1eb1-0617-f8ab-48b0db5665f9" + ] + }, + { + "name": "RotorBlade3", + "origin": [ + 0, + 79, + 0 + ], + "rotation": [ + 0, + -180, + 0 + ], + "color": 0, + "uuid": "313b00e1-ad6e-cfc0-f25e-cf657a31be43", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "9a654922-f592-c03e-ec3a-411273b14955", + "34b50ab0-c515-6c0a-ebe9-80822ac5c44e", + "d28f3b53-e1fd-6e19-ee52-768b3d16f520" + ] + }, + { + "name": "RotorBlade4", + "origin": [ + 0, + 79, + 0 + ], + "rotation": [ + 0, + -90, + 0 + ], + "color": 0, + "uuid": "669905c4-3a7d-c6e9-3553-9ac439ac10f0", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "cf06849c-bf04-230f-8555-70a0f6fbb714", + "b91de1a5-0b22-48de-55da-1ad9e0400b04", + "3ae96f69-18b8-0a78-9d04-f3caffc1b4a1" + ] + } + ] + } + ] + } + ] + }, + { + "name": "RopeLadder", + "origin": [ + 0, + 18, + 3 + ], + "rotation": [ + 0, + 0, + 90 + ], + "color": 0, + "uuid": "349fd936-b671-8cf5-1bd3-e66530c8bee3", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ceea50d1-ebb7-d7cb-b6b9-69a321fd2698", + "2cbdf3db-26d4-6b03-d386-78cbd775872a", + "af62dbcd-800e-f962-49ef-2cc8b7512391", + "bc13f85c-c966-c61e-8958-954dae7efcd9", + { + "name": "RopeLadder2", + "origin": [ + 0, + 2, + 3 + ], + "rotation": [ + 0, + 0, + 85 + ], + "color": 0, + "uuid": "75c895fd-4365-0281-ecda-1a6d54d01e66", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a2f4989f-e70f-5196-4050-f0b1825614e1", + "3c8f15aa-a7a8-ebc5-4678-c3e2f4a624d7", + "05bc5a8b-b514-4d34-9df4-85a29e758ed2", + "560ddc94-bfeb-9ca3-3ad5-2b996a9417e5", + { + "name": "RopeLadder3", + "origin": [ + 0, + -14, + 3 + ], + "rotation": [ + 0, + 0, + 55 + ], + "color": 0, + "uuid": "0bda9a1f-977f-e6e5-c943-0ab890083646", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "5ad4ce08-eefc-6107-fc45-b54c501d5a17", + "5382e7ce-0210-07a3-5a39-564881ad85b6", + "651651ac-c2e0-5cef-8e1a-981e98653024", + "29295c79-a462-f3ae-b17d-165b0b24e5d0", + { + "name": "RopeLadder4", + "origin": [ + 0, + -30, + 3 + ], + "rotation": [ + 0, + 0, + 17.5 + ], + "color": 0, + "uuid": "9cb16d11-101b-c58c-24e7-c7a2dec1668f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "adcf364d-c4cb-636b-81d6-c7977d7b3525", + "42f4c692-3694-c495-ec99-09556d5bb0c0", + "595ef090-7f9a-8179-e935-4b29f2d7e184", + "9d74e4a4-4705-1cf9-0022-51fe5ae26385", + { + "name": "RopeLadder5", + "origin": [ + 0, + -46, + 3 + ], + "rotation": [ + 0, + 0, + 85 + ], + "color": 0, + "uuid": "20e90317-4e90-cada-923e-1551e99844fe", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e61bb277-9b35-78e5-93f1-b3f8d8d7fc7f", + "37236c6a-8616-a237-baa4-aa0ead82d0f7", + "1a350fe0-670a-70fe-88e3-734694dad6ba", + "6584c65b-14b3-9256-0b14-bc8198dfc9fb", + { + "name": "RopeLadder6", + "origin": [ + 0, + -62, + 3 + ], + "rotation": [ + 0, + 0, + 45 + ], + "color": 0, + "uuid": "9df17c50-2500-dc3d-3c9d-1bb6cd628896", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a6b332b9-51fe-6bde-d3f7-f4d49e2fad64", + "e283a6d7-c1c4-dccf-55a8-7d7f840f4259", + "abbdc168-0478-26c0-4fd5-8a4e0a6d6c70", + "d8af1577-a3b2-233f-5fa7-8614c8a06d46", + { + "name": "RopeLadder7", + "origin": [ + 0, + -78, + 3 + ], + "rotation": [ + 0, + 0, + 72.5 + ], + "color": 0, + "uuid": "335c6570-26b8-856b-bda3-65395902f2c1", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1382a9ae-d04f-9f91-e940-0acfccd26b02", + "f47a62ab-f0c5-eba4-9b39-c6ddcd063b1d", + "db16de55-a5a5-3191-cab1-737029a1c1d4", + "bb0aac5a-aed5-18eb-078c-087cadeaa272", + { + "name": "RopeLadder8", + "origin": [ + 0, + -94, + 3 + ], + "rotation": [ + 0, + 0, + 30 + ], + "color": 0, + "uuid": "3bd16030-14b3-a1bf-76ef-9adb8e3564d9", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "65c9cc04-0f2e-be8d-e5dd-596432b80caf", + "dc6bada8-0f68-3157-623e-5d707cf63adc", + "1b0b4d4b-ba33-c817-e5b6-ce5f0a015670", + "34d34524-8192-5c54-2edb-6687d32c54ae", + { + "name": "RopeLadder9", + "origin": [ + 0, + -110, + 3 + ], + "rotation": [ + 0, + 0, + 105 + ], + "color": 0, + "uuid": "12e7191b-e255-e122-467f-4e74ea1ca25b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b9cf06c2-18d5-b469-6005-557f1b65bbd3", + "e28c6ffe-1742-144c-1949-91050bdc81f5", + "173bd1e5-b573-e827-e8c1-3b545bb9fddb", + "b8bc4a52-d289-10ea-307c-b439840f0306", + { + "name": "RopeLadder10", + "origin": [ + 0, + -126, + 3 + ], + "rotation": [ + 0, + 0, + 30 + ], + "color": 0, + "uuid": "c8667a44-3ce4-ea1f-ecfe-d9fac6461f90", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "616545a5-dc5f-fc34-fba0-fa73a5d2dda0", + "84690380-add5-e58c-bade-29566cbd0ca8", + "9995ccb7-13d8-d7ad-177b-1061111eae4e", + "fbde71ac-aa28-ddfc-b282-2d8a90ca7468", + { + "name": "RopeLadder11", + "origin": [ + 0, + -142, + 3 + ], + "rotation": [ + 0, + 0, + 95 + ], + "color": 0, + "uuid": "73305a61-a5fc-3ffd-28cf-a5a7156ade9d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "188ccb12-851b-1814-a474-acf791a7b3fe", + "5c2041f8-0c46-922f-089a-18b3e99969ed", + "334e1d65-f729-2eef-0d61-2ce72451a335", + "7a2fd5ad-01b2-3a7e-11db-8fc0532ea0ac", + { + "name": "RopeLadder12", + "origin": [ + 0, + -158, + 3 + ], + "rotation": [ + 0, + 0, + 77.5 + ], + "color": 0, + "uuid": "fac07263-8b34-d5b4-c7e2-83b19ee7d708", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ffe85353-4a8e-827b-da4c-b073e7ea6377", + "86a1da75-1f45-bf6f-2f92-2fc63d8e993a", + "d506e185-339a-eebd-7381-6348d3f8e0d4", + "511c8f02-6fd7-f679-dd0d-5618cd7e5ed1", + { + "name": "RopeLadder13", + "origin": [ + 0, + -174, + 3 + ], + "rotation": [ + 0, + 0, + 95 + ], + "color": 0, + "uuid": "44f6b24f-ec24-3b6c-95dc-fc2d04130722", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e9f10a40-b536-eefe-721f-aff1b8a6a6a9", + "066c1dc4-37b5-d79d-12b2-d0a3ef5ebf37", + "fc44e348-0fba-cb31-af5b-16506815543e", + "5f77bf2c-d246-9156-c10e-f71dcaed59a1", + { + "name": "RopeLadder14", + "origin": [ + 0, + -190, + 3 + ], + "rotation": [ + 0, + 0, + 105 + ], + "color": 0, + "uuid": "81c03504-cef5-69e6-cf02-f623ce10f5b6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "6fc54381-1c0e-b4af-9bbc-4d8da96fecf9", + "afef023d-931c-9a20-73fc-6300e8088df0", + "b2709f0b-8848-15c4-8022-5ee5ae61eb21", + "b335fbde-c8fa-7a9d-ef18-8aca48e7e18c", + { + "name": "RopeLadder15", + "origin": [ + 0, + -206, + 3 + ], + "rotation": [ + 0, + 0, + 130 + ], + "color": 0, + "uuid": "0cb872f1-2b47-cee6-492f-bfa20246c3ac", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "c20a24d6-be1c-9057-82d7-04de02f59886", + "3a63e341-e8fb-2bd2-6362-8562b2e7b7ef", + "976656dc-5616-ef7b-ff0f-0284637bb753", + "da9f89fb-21c2-448a-c367-0f483f1fdd96" + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "name": "DeathAnimationSoundAnchor1", + "origin": [ + 0, + 34, + 0 + ], + "color": 0, + "uuid": "fcb2fee0-4cd1-e336-8621-8ce8d361032d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + { + "name": "DeathAnimationParticleAnchor", + "origin": [ + -35, + 0, + 20 + ], + "color": 0, + "uuid": "c9619203-8699-a8fd-5b1f-e5d7977f2b78", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ], + "textures": [ + { + "path": "", + "name": "death_animation.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 256, + "height": 191, + "uv_width": 256, + "uv_height": 191, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "66f8b2e8-963d-24d5-1b10-af18e7682f3d", + "relative_path": "../../textures/death_animation.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAC/CAYAAAARmQJyAAAAAXNSR0IArs4c6QAAFtBJREFUeF7tnWusVcUVx+dI2ni9oIBieAVQUVAU2rQk2pjSpESJpB9QQWk0RpqaJhoTY7T9IFWKaWxsYyK2scb6bEsFIkkblJo+JNYPhg9VCsitGMDwqg/QkFtozPU0c7j73H32nb1n1sya2bP3/p8vcO9Zs2bmv9b67dmzH7d1aqjdFvhEocCZY1qtsgYyMDAQdR7MnH2JeOXIaXWumyK6/9fpJW0P7P23kO05P6pYlVFLLprMmTOn1UoGnTjiFKnKvmTihP4AAPmKAwBqbVgAgOIfLW4eADZueMmZC8tX3KT0AQD4A0CbeaE7d+7cUau1Sq8AnLO6AQ5k8e+cuqgz03nTJpJm3Nq+WeQVfuIIAAAASEklRk6FbE6Lek4BqB2nkta2aTTtTg3pT39l8f/y0Dgxe9ZMMW3Sud2xF4Fg16FjYs3Vk43nmQZAck4ug2TswMGw7nsAyQpgcHBQ9Pf3d5Wy/bk2K4AX1/9Bn/1C5B69zhwTJD8dUlvflAoA6TENgWwPlKJPt00AkFeMPmEAAJyOhCkQagWA9sJl3TycP26oJ593nBjT+TlvCds0AEgt5CogCwHboqcAIG3LDYO6A0DqtWfPnrZpgSda59nXBgAv7P1fOyl6WewqAMilrPxcfnjbqJVAkwEgNXl62Tz9EsPQQrcCyHPDAQMAoKErgDQA1u/5rDBVAYBxHX1ev+c6w5KmmUkAuBaiLQy4d7D3vzdQOPlZF8/pfJ/Y+TwyJwPBCuC0Esm9EZ1NQAkA+cvkKF8UtSYDgFbKdtYcAEh6poIAAGjwCsCk+A999Im49vOdjT0FsCtpWitOAPjcL6DNqjnW3BA1Uc75RiC5AtABQBa//AAAJiGxt5G3rPr+UFcGvsdTJ/+1BEBS/Hv3HxB3TjuBFYDHjA0BgBfXj9zJ+PBDP67+NVyP8aC6riQAfrjtSO59AEnxSyEAAGo60O1DAyA9QsCAHq9si1oBIFv8crJYAbgnSZEH6q3ADzz0E6ObuFxH/cDq1a4uCts/vHat8vtbV6qfmeAaDPcTglzjovhx3gNQrQDSxZ8c/QEASljsbAGAXt0AAH0esQMgW/wAgD4IXBaxAsB3Iab3JdJa+u4XK4A5rVZ6BaAqfgCAq7zt/eQtke090lr6LER5VSLvVMZnv1IBACAFgLziBwBoxcJtHbL4y9oIBADss4blFKCo+AEA++BwtAQAOFRU+4hlBWB79cf1LUmdW4Fv2bRTu5MsLwFiE9BfIhZ5BgD86Q4AAACd7FK9D8D3a9JM3jkYsvilDjgF8AebIs9RrwCSo3/TVgC+ASD11EEAAGjGfQClAuDKn2/RngIk9GrSjUAhAKCDAADQDAC4rDucNwFNAaAqfjnwur4QJBQAiiAAAAAAOjg4AwDvBCxnDyAbWNXpAAAAAPgCwPDBe+QPg+g6yvseKwBb5Ua3KxsC2ATki2UoT7YrAAAgFaEyrgLkJUgWAiFXAQCAW9m6bObZ9kwFQDq/5K3n3T8NZjuAuq4AbPXgbgcAcCs64o/7PoDYAZA9uAAAw7mgWgHYBtNHuuY9LMPdF1YAbora5owLiExXAKrTyw4AXj7o9kfTrp9e/ZfKvHxw9JXQeYP+X89lmm4AgKlSNDuXwlP1FCsA8u43AQCGoxg7AFTJxp281EeRaaVWbI2HgezV1K0Aim42AwAAAPvM07SkAAUAsA9DEQB0d5oCAACAfeYBAN60ozjOA4Cu+LuXAbEHIAROASgpZ2Zrez5s5t3dSj4KW8ZLPN1H3utBBQCT4gcAUjoCANxpKQQAwK+pymMWAKbFDwAAAF4zFADwKm/XeRoA1B5xH8CwYrHfBxDiKgA1eXT2VQKALCLKkVM395DfOwOA4a/Rhpyvl74GBor/kq2XTh2dcl8GdBzOqOZVAYBLAXFrZuPPBV6dFYArAGwGjTbuCgAAbhrKTcD0BnhVVwAuKrCcArgMIOa2sR/BAAC37IkJALa5xvGHXmtxKcQtFdxaU254MelJtyKLvfCTOdomtYlGHDYAwGkVAQDHbOIGQB2uTUtJAQDzxOLOIfOeAQAjrTZuGPmT2tkGt668mfVpqKI3NC1f4fcNOUZiGBoBAIZCnX6tHmsOmfecA4DjRw9TfHRtJ0yeatUu5kay+DefnG41xGV9B0W2aLn9WQ0sQKMqAaDsDcCoACCL37aQXdoGyElyFy7FmnSWhgC3P/KEAjaoCgDKLn4ZkmgAwFHAHD4C5mlhV0nBXnzRRVZDeu/994UKAFz+rAYVqFEVABDLfgsAECgpqd1IAOycuojarMf+8sPbuqcB3P6cBua5cRUAoLviQpXI9goNAEBVOpA9d8Fy+wskg1U3AIC5bACAuVZBLbkLlttfUDGInVUBAMQpac1tTykAAK205RhwFyy3v3JUMesVADDTCZuA5joFt+QuWG5/wQUhdAgAmIuFFYC5VkEtuQuW219QMYidAQDmggEA5loFteQuWG5/QcUgdgYAmAsGAJhrFdSSu2C5/QUVg9gZAGAuGABgrlVQS+6C5fYXVAxiZwCAuWDRAEAO2eVOPpe25nKFs+QuWG5/4ZSg9wQAmGsWFQASCJgPf8TS9hkCm75CtOEuWG5/ITSw7aOJALC9s5DjxR62ccL7AAqU4y5Ybn+2QQ/RDgAwVxkAMNcqqCV3wXL7CyoGsTMAwFwwAMBcq6CW3AXL7S+oGMTOAABzwQAAc62CWnIXLLe/oGIQOwMAzAWLDgB4I9Dp4HEXLLc/8xTTW3LvRNtuiOlHymNRZtHxzIDHy6hNQJdLeS5teabD68W2YFfOPaczkPV7PhMc7wNQ+eMuWF7lhAAAuBX1468HABwFzOHDz1TpXiUA2guXiV2HjpEaJwW748QY0dq+ueeFIFz+mgYAHLFJKWhsDAAUSJUAoEjN+eOGer6WRZ/+qADA4Q8AMM5xGBYoAABo0kMHgSIApIs/6YbbH7IbCpgokHfAAAAM1JNFa/PJe48/tz+bsaFNsxQAAJoVb8wWCvQoAAAgIaBAgxUAAKjB/+ILagte+zPO4PUHb41WAACghl8CoKwiLLNvqk6wr4QCAAA1TGUWYZl9U3WCfSUUAACoYXIowgljviWOD71O7XHE3qFv+07Rss4KGAFACuByJ59L2+jEtyhCWfjZjxUILPqOTj8MKCoFjAGQQMBm9LV6I5BhEaaLPin29ApA9b1WW8O+tX5gAAWGFSABAKoJIQyKMG+pT/39KL0N+kaMoABFAQCAopa0NSxCrACowsI+q8ArR0Z+c90UIdI/U9SSbfM+AABFSQIA0m6xB0AVGfYhil+qDABQc81wBaByi6sAVLGbaR+q+AsBEPuLG8pKjZkXzra6Echq0y87SQP4xP7KrbLihn7VCuS9T6EFAKgFowIgKXx5JSBZAaR/R0pMAIAkF4z1CgAAeo16LCgAyC75dT9rhwIAaCWCAU0BAICml7ABQPrIn10JkG4IAgCI0YK5TgEAQKdQ5ntTAKg2/Ex/lzskAIAYLZjrFAAAdAoRAKC63Jdunhz9i7osXBEAAMRowVynAACgU4gAgLSp6dGedGkQACBGC+Y6BQAAnUKWAJDNdOf+pOKXDgEAYrRgrlMAANAppADA8Q+PjmqleuBJt+sPABDFhzm7AgAAUVK5CSgBkC74osedcR8AUWCYB1UAACDKTQVA4h53AhKFhnkQBQAAosy2AEjvCRC7HDHHHoC1dGioVgAAIGZGAoBsM5OXnpDP+bOdAADEaMFcpwAAoFNIsQlo+1ZgAIAoNsy9KwAAECU2vROQ6NbM3GAFYOYIVjErgMeBI47Orv5LSh1d0dtdSh0YOmdRwGfxZ33LAee+EASPA6vj2VQA2L6OiqUqGuiE+xVgquIHACwSq4kAQPFbJIpDk1DFDwBYBKlpAMgWP05BLJKG2MQWuKrY5B35kyHhFIAYnCYBAMVPTA6NuW1hm4zCpvixAjBRNmPTFAAUFb/PRLYISeOb2BY/AGCROk0AAIrfIjFKauJS/ACARdBmzi73MqDFkElNUPwkuUo1di1+AKDU8Nl17hNAKH67mJTRiqP4AYAyIufYpy8AoPgdAxOwOVfxAwAWQcsWYN5lFAvXVk1ODbXbVg1TjVD8rgqGa89Z/ACARdyym4DXT2+1LNywNXn5YC8AqNfpUfxsofDuiLv4AQCLkNUJACh+iwQoqYmP4gcALIJZl1MAFL9F8Etq4qv4AQCLgNYBACh+i8AzNaGeojF1m+sGtwITFc57gQLRjTdz3aYgit+b9FrHsRU/VgDakI02qDIAUPwWAWdqki7+mP6EO94IRAxwVQGA4icGmtE8e+QHABjFDe2qigBoevHHtvQu+94Rk5pp4Y1AapmqBgAUv0m6h7UBAMLqzdpbFQCQ97hu+kjYhEd6q3bezZqojs6wAsgRsMoAcMyJSjWv4nl3TAIDAACAUz7W5bxbd1nVSaSIGwMAAIB1esZW/EXXu3WTBAB0CjXse5wCFAe8bufdWQCEvoTn6/FvXdm23njjjcLHTBd+42qdj1p8X4Ud27TQMmHL2uCr43l3FgCx5IPvlUnrueeeKwTAzbfeFk2B+0j4JJljCbip2GUBQLXsr5p2Ko0bCwDTFYCP4itK9tDnl1VLYt9HBlMQuZx3U/rwbZu9HyaWU0DfcTZaAYQufhls39eys4CpGgBiuoErlmLxDYky/HsHgOkKoIzJyz59wKcOy1gAoKyMDNuvdwDo9gCuuuqqsDMe7s3Xe/nzTi2qtgLwnRilBL3ETmONv+84t3x3kBfT3z//bGG4x19zO3s6FO0rxJoAeSKUFTf2oETiMNb4+45ztAD47m38ACjKtVgTAAAIQ4hY499IAJw8eVIsXrzYKfLUGytiTQAAwCkNjBuXHX/fhZ4nRGkrgN88+SvR19fXHZcs+uTnjz/+WNx///1Or+GmClp2Ahhn6rAhdX5U/1z2rrqGmqfrOF31CjXP7DhLA8Djv3hU9Pf3d4peFv/g4GDnZ/mR/wcAilOqrIShJrprYYWap+s4qbpk7UPNMyoAyMHIopcFn/0AAACAVCBUYQAArggjtvctODVxfI+HKI/WnDo/rUNPBq66hpqn6zhd5Qs1z2hWAL4Fp94oU7W72cpKGGqiu8Y51Dxdx0nVJWtPzVfX/pL2pe0ByAFwiq5KFPlIZ9UK2zSwroUR6nFXV/1d52mqZ1XtXGuoUgBYsmSJ8snFrVu3KucBAJSf1q4JCgAUx9BV38oBYMGCBT2KvPPOOwIAKL/Q80bgmqAAAADQVUCuACQANm3a1PndjTfeKACAeIuf4zQPAAAAAABFDlSlMLAC8AtoV31xCuA3Pt68AwDepK2U48YBQBWdJu4BuF42oj4rYVsVrglaFdDZ6uPazlXfSq0AisRq2mVA18RB+14FqgoaZwBs3Lix59Lavffea5Qbjz32mJEdt9ENN9zg9JAQ93jgrx4KAADDcQQA6pHQmAVNAQDAMwBw5KYlJKzDKgAAAABhMw69RaUAAAAARJWQGExYBQAAACBsxqG3qBRoLACyUZgxY0bhnwpL7MeOHdv578Ov7er8+8A185Q/RxXliAaze/dup6sZl112mVGciqbsOoaI5HQeCgAwLCEA4JxLLA50xQkAsMjcdQIAAAC8GeXoLQQAHIeI5ikFdPGKVaxRy1CsAOIIlS6hOFYAccy0HqPQxSvWWQIAkUZGl1AAQFyB08UrrtGOjGYUAJYuXWq0ubRv3z5sAjpE1TVhAAAH8T00dY2nhyEZubQGwKpVq4w6yBrl3RH44IMPGoHHqtPAjdasWeO0w28yXADARKVwNrUBgOkegO3DQAAAT1ICADw6cnmpLAC4ngZ0vdc/WQH84I47uGJSmp+fPvJIaX1zdbxu3bpWn1jUXZWdFNt6VjXJd6rfJ7+TNjbtsnNIj0N+l/XJNecm+mnFCIAJk6dWNhbHjx4WEgATJ06s7ByOHTsmnl63I7fQ0oWdLXKO71QAQNH7SScAgFnXugAgvQIoOspTjtZFR3LVaiHxjRUAc5Km3FUKABs3vGSlxPIVN+W24/apA8D+/fut5jBr1qzcdtw+5QpAAiBdgGkIcBzli1YOWAFYpYhVI2sAyGcB5HMA6WcAkv/bjGT58uWdZnIPQHUKIAu1vXBZ1/X8cUM93ew4MSa329b2zUIFAR8+iwAgC/Xbq5/KHWfRnP669g6hgoAPn8kpQDJQ1Tl9dg8gKWgVHEy/Swsj+0y3y35nk2NoM1qBSgAgKdSkQGSxmwBg16Fj3RlffnhbDwR8+JSd5QFAFurkVSObg/Omjd4jUM0pPecsBHz4lHPIrgBQOPVVwOlOQJcVQPaySfoqQHYFkC3W9Xs+I0dEBwAOnxQAmE5g5dxzOqYSejoAcPgEAExVrIddpQAgJU8f1U1DcOijT8S1n+9UrgA4feoAMPSd+8S0SeeaDrtrl6wWVADg9gkAkMNT6QbWAPjggw9Y73YzWQHYFKssfvnhBECeTxMASBsqBHQA4PQJAFS6nsmDrzUAkkLdu/+AuHPaCZYVQJFPHQAGrlghZs+a2QkSBQJFAOD2CQCQa6jSDWoLgKRQZXS4AKDzSQEABQKmAODwCQBUup7Jg7d+GGjLli3RngJkC1Wq4roCMPFpAgBpk6wCTAtWBwBOnwAAuYYq3aB2AEgXanL0dwWAqU8bAJhAgAoAF58AQKXrmTz4Wp0CZAuVAwAUn7YA0BWsDQBsfQIA5BqqdIMuALb/dnX7wyMHO5M5f8p0sfCWtaxLfJ1KrlcBVIXqCgCqTxcAFBWsLQBsfAIAukyt1/fdIt/y6O1tWfjyI0Gw9L5nKwOAvEJ1AYCNT1cA5BWsCwCoPgGAehW4bjYteeQ/77xJYve//inGn90vvtw/QaR/fuHV18WyxV8TJz//rzj37HHim997xgsYbFcARYVqCwBbnxwAUBWsKwAoPgEAXcnU6/vWm7++q50t+vTPb727W3z1ihmi70tnibP6xpQKgOxdgKaFKkOWdxWA06cpAKRd+kqAKqWy9wlICKjuBJT3ASQfDp8AQL0KXDebllz6q478CQRe/ctmMWXaeR0AyM+Su54vbQWQLlbVZbmiyZoAwNUnBQB5Y827RGgCAA6fAICuZOr1fWvf1sfbect/CYHtb/9D9I0fK6aMn9g5DVh2z8bgAJCSyweCdk5d1FE/fTeeSTiyxZ+08eFT9zhw+ohdNPbsHYNHn/lR7uPA3D7xNKBJVtXDRrsH8Oe3tosLLjy/dAAkELCRHS8EUauW95IRAMAmy6rZRrsH8Mc3t4srv36BGN9/ZmmbgFWSVvdGoCrMBQCoQpR4xqjdA3jkyac6AJCfi6ZMKmUTkGeq/F7e3fF21+ml87/S+T8AwK8zPPpTQLsH8PSmzWLJokvFp4OnAICcOEgQAAD+khSe/SlgtAcgLwMCAGZBwArATCdYxaGAdg/gwH/2dy4Dyk9ZNwLFIZXZKAAAM51gFYcC2j2AZzf8rnMjUKgVwILvPxSHMg6j+PvP7q78HwZJvxbcQQo0jVwB7R7An/72WucyYKirAABA+RmDqwDlxyDUCLR7APJZgJBXAQCAUKHP7wcAKD8GoUag3QOQ9wHIh4GOfHqsczOQ71uBAYBQoQcAyle6/BFo9wAuWHK3l1t/s1NPngYEAMpPCqwAyo9BqBFo9wBCvRgEAAgVcn0/AIBeo7pYBDm6m4gFAJioFMYGAAijcwy9RAOARIwjhw61VX8cNAaxTMaA+wBMVIJNLApEB4CBgYF2LOLYjuOJJ56wbRpNO9wHEE0ovA7k/3+rU5fDkJo5AAAAAElFTkSuQmCC" + } + ], + "animations": [ + { + "uuid": "96b1b305-92fe-9c7f-475b-19434f1d7894", + "name": "death_animation", + "loop": "hold", + "override": false, + "length": 12.75, + "snapping": 20, + "selected": true, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "markers": [ + { + "color": 0, + "time": 6 + } + ], + "animators": { + "3855c725-cad3-125d-db6d-7aa36afaff7c": { + "name": "Helicopter", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "40", + "y": "224", + "z": "13" + } + ], + "uuid": "e4067018-0609-ad89-380a-25747f6f1008", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "2c757bc9-83e6-d23d-9df6-bf4f97a4f5d6": { + "name": "DoorRight", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "1cbe7ba5-d97b-dff3-da58-6031cbe583a2", + "time": 0.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -2, + "y": 0, + "z": 0 + } + ], + "uuid": "5c238362-3d39-d6c8-b90f-7ea474e7c4ab", + "time": 0.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -2, + "y": 0, + "z": 0 + } + ], + "uuid": "bf74fbe3-b3e9-c73e-0c01-744f7c080b75", + "time": 0.9, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -1.40763 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 1.40763 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -2, + "y": 0, + "z": 48 + } + ], + "uuid": "f20761ca-e540-501a-4cd5-2c2989a16df0", + "time": 2.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.63708 + ], + "bezier_left_value": [ + 0, + 0, + 0.29763 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.63708 + ], + "bezier_right_value": [ + 0, + 0, + -0.29763 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -2, + "y": 0, + "z": 48 + } + ], + "uuid": "3c2870c2-1a3d-3b96-e2bd-bf03ff11662b", + "time": 10, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -1.10129 + ], + "bezier_left_value": [ + 0, + 0, + 0.30123 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 1.10129 + ], + "bezier_right_value": [ + 0, + 0, + -0.30123 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -2, + "y": 0, + "z": "0" + } + ], + "uuid": "863662d3-1b4b-b2bb-e742-5c66476d11b8", + "time": 11.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "14d9f06d-656e-28c1-e3c5-7ed8dbb30749", + "time": 11.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "349fd936-b671-8cf5-1bd3-e66530c8bee3": { + "name": "RopeLadder", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "7a6a939e-4117-86f9-9f90-aec63b8e61e9", + "time": 2.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 42.5 + } + ], + "uuid": "72250253-88e4-f556-3497-a042b2c1c2d1", + "time": 2.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "2a8320c4-a06e-5ff3-a2f2-5cd46f367dc2", + "time": 3.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "4465e37e-06aa-0af8-16f8-5d41ccd28a4e", + "time": 7.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "860bb0dd-a0c9-dd44-6cd1-139165eb773f", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "acb0ed56-dfd1-347b-0b5d-07ffe2041332", + "time": 2.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -18, + "y": 0, + "z": 0 + } + ], + "uuid": "0eea9772-0235-2498-a30d-7cc9636e9f07", + "time": 2.95, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -18, + "y": 0, + "z": 0 + } + ], + "uuid": "cfc2447b-f3db-735b-f943-fa6d38de094c", + "time": 7.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -3, + "y": 0, + "z": 0 + } + ], + "uuid": "96fcb9f9-2177-6c94-a351-0f548b37d298", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -3, + "y": 0, + "z": 0 + } + ], + "uuid": "dfe4fb8a-c882-4cfb-9705-7560e8ee61fe", + "time": 8.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 3, + "y": 0, + "z": 0 + } + ], + "uuid": "c9d4c448-85d5-c90f-cae1-5bd41d65fd8f", + "time": 9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -8.5, + "y": 0, + "z": 0 + } + ], + "uuid": "84964543-6db1-bbf9-ba7d-bc929a414813", + "time": 7.55, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "75c895fd-4365-0281-ecda-1a6d54d01e66": { + "name": "RopeLadder2", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "715ca160-5e7a-ab6e-7f05-423c3986350c", + "time": 3.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -120 + } + ], + "uuid": "d13fa408-90b4-1c79-dc11-472351e4ce31", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-120" + } + ], + "uuid": "f2c6875a-0d7b-156d-9136-0a650ef27f33", + "time": 4.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -120 + } + ], + "uuid": "2e86ee13-c9e9-2ed2-b1b8-95c3a5b4b394", + "time": 5.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -117.5 + } + ], + "uuid": "1c2bf741-57d3-c5ad-090a-8bbbad3e3029", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -120 + } + ], + "uuid": "b7d026a8-ad38-14a7-f867-1ba2d95d9391", + "time": 6.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-121.25" + } + ], + "uuid": "e76f4473-96d5-8842-0274-b0358a654c8e", + "time": 5.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-119.375" + } + ], + "uuid": "65612d85-2ab1-d18c-b0bf-47c1afcd6f1c", + "time": 6.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -120 + } + ], + "uuid": "27614e65-f95b-6b31-3628-9e04ae6de7af", + "time": 7.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -120 + } + ], + "uuid": "938323f4-87a5-ab37-7b1b-97a6ce4c8bca", + "time": 7.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -140 + } + ], + "uuid": "d14e16d9-9442-78aa-8918-2831a5ac3ead", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "105854b0-38ae-6d67-c4c1-3dc4809bba38", + "time": 7.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "e5002226-5469-1042-b029-0f1afc6be98d", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "84b84f95-6c5f-0b4a-6cba-b1625c5ffe78", + "time": 7.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "d673620a-d093-ad34-9edb-ed8e4685e43f", + "time": 7.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "0bda9a1f-977f-e6e5-c943-0ab890083646": { + "name": "RopeLadder3", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "5ed816f8-135f-0da0-5923-129ebc1c7bd6", + "time": 3.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "041c15ad-4012-b38d-82ae-971e61223436", + "time": 3.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "39c58d1d-12c8-d230-c6b5-6d104160c15b", + "time": 4.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -52.5 + } + ], + "uuid": "b8dcff37-3b94-4056-c23a-e8462043db74", + "time": 4.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "11bd825f-6b2e-aacb-e8b4-b63a18256b38", + "time": 5.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "1ff3553a-bec7-da76-7698-f56e69a072c4", + "time": 6.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-56.25" + } + ], + "uuid": "9cfa4b8d-8689-10e9-0147-11c88e06f48c", + "time": 5.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-54.375" + } + ], + "uuid": "72b93d9f-9ec1-38e2-bd94-e09ed920645f", + "time": 6.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "85a519f5-bb8f-d7f7-cd2c-ee83e94f8e19", + "time": 7.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -90 + } + ], + "uuid": "41311d57-2e2d-3539-407a-ab50771f2830", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-110" + } + ], + "uuid": "04ee912a-1a01-d160-d1cc-02423e3c64aa", + "time": 7.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-55" + } + ], + "uuid": "aa92bfd1-b3bb-8c32-15a3-a20506d635e9", + "time": 7.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "d47c969c-745e-d0de-01e8-d9057a9bac55", + "time": 7.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "5bda63ae-aee5-b44f-7777-ccb4998ea206", + "time": 7.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "b6e9b356-e0fe-62ae-e490-5f2576e4c6f0", + "time": 7.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "99e1aee4-3ecf-0b8f-0db6-12825624b7ba", + "time": 7.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "9cb16d11-101b-c58c-24e7-c7a2dec1668f": { + "name": "RopeLadder4", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "55a90d22-0aa7-a1ed-0a20-462b561529c4", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "4e4b85da-ebb9-c3e7-f66a-81f1f7131a18", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "8f8d286d-3876-0d88-731a-1b08212b71c6", + "time": 4.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "2c965938-a38a-2aa5-4e40-7b7490cbb9f3", + "time": 4.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "94a7c70a-b3de-422a-70da-b7f4f3f192ef", + "time": 5.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-17.5" + } + ], + "uuid": "018db8e7-c53c-48a2-82e6-f5704a2e030f", + "time": 6.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-18.75" + } + ], + "uuid": "76305530-2812-3b4e-76a6-881212353a98", + "time": 5.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-16.875" + } + ], + "uuid": "8dac90e3-c610-5a05-d495-0f940fe2321b", + "time": 6.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "ff8a99bc-6ecc-fa9a-a3a1-772c8458f386", + "time": 7.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "8b97c453-3b59-1b5b-1b87-5270a861395b", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -52.5 + } + ], + "uuid": "dc1e0624-fae4-1db4-0b17-c2daaa720b8f", + "time": 7.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "3608771d-a92f-73a2-1cb0-b6c63983e29e", + "time": 7.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "eaed630f-5ce3-6152-f91c-e7d30cfc3705", + "time": 7.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "8e7b9142-b842-f147-eef4-c6a415b2fca9", + "time": 7.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "1d4a7779-0147-7eaf-eacb-6498c62ec7ce", + "time": 7.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "6cc6be4e-6273-f0bf-1046-cc74826ad972", + "time": 7.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "20e90317-4e90-cada-923e-1551e99844fe": { + "name": "RopeLadder5", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "fd0d9523-f494-fbbd-579d-a9f8aa29505c", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "cbbb7211-7306-4da6-e9cd-cee32f3db277", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "ad615c94-7d2f-3d30-d2cb-1fb982efa62c", + "time": 4.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "f8b8ee5a-718b-57ec-e29f-2a957e84eba6", + "time": 5.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -82.5 + } + ], + "uuid": "4186b1f0-b56f-aa2c-d8d3-bb53424a8814", + "time": 4.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "05edfa8b-dbe5-9ac6-f39e-e13689d0736d", + "time": 6.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-86.25" + } + ], + "uuid": "2fcfc415-f20f-e75b-95c3-9c47bc7aeb3a", + "time": 5.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-84.375" + } + ], + "uuid": "2515814e-e6b6-ff78-5456-a857633e5e76", + "time": 6.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "11a7a53e-3040-b39e-6ed0-379bd2e00b92", + "time": 7.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "43eccee8-8e2a-9d27-6bc4-11bddb7bcca3", + "time": 7.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -120 + } + ], + "uuid": "08efecdc-9ec1-ac7f-2176-cf1557a6d6d6", + "time": 7.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -140 + } + ], + "uuid": "50b3a825-995e-75a9-f7af-ecf3a58496eb", + "time": 7.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "cc926f12-2919-d6d4-ecfd-09ef1110ec9e", + "time": 8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "d781389c-f13e-57fd-5443-0c375ddb8fc5", + "time": 7.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "7e66f59e-c9de-c580-b98d-7ec52ce6dcdb", + "time": 8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "965810b4-fb7c-3804-c156-6acdbbf0fd8a", + "time": 7.95, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "9df17c50-2500-dc3d-3c9d-1bb6cd628896": { + "name": "RopeLadder6", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "333957d7-7490-42ea-4b18-1e33f22720c8", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -45 + } + ], + "uuid": "b7a2d6e9-4056-008c-ccc4-11032641dfe1", + "time": 3.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -45 + } + ], + "uuid": "361017c2-c56b-05e7-9f41-a54eb0d67951", + "time": 4.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -45 + } + ], + "uuid": "cf8acc2f-581b-500c-dd24-adcf074aeea7", + "time": 5.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -42.5 + } + ], + "uuid": "82406510-9cdb-3e15-bd50-e6ae0b854a45", + "time": 4.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -45 + } + ], + "uuid": "a81c2263-8ca2-e039-3abc-c08e67bb7d26", + "time": 6.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-46.25" + } + ], + "uuid": "7403a1fb-025c-3ad1-d935-d334f2d38e6e", + "time": 5.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-44.375" + } + ], + "uuid": "796bf88a-e601-c774-69c6-9bf911e76d48", + "time": 6.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -45 + } + ], + "uuid": "b34ba9b8-05e1-5414-995a-69e8ccba3742", + "time": 7.35, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -45 + } + ], + "uuid": "86ed3337-b4f3-aac9-ff95-aa28d95f178b", + "time": 7.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -80 + } + ], + "uuid": "927a5b26-48b9-a341-3a31-4d63f8a3fede", + "time": 7.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -100 + } + ], + "uuid": "24ff5a31-95c6-8d40-29d8-745d98e06553", + "time": 8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -45 + } + ], + "uuid": "8d9f1b9c-1b64-0e85-f7b5-2abb6b74d617", + "time": 8.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "cdaaf4f8-0111-72e2-4516-72f5ff3e85ba", + "time": 8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "4327e269-e44c-7182-3fff-16315107ae30", + "time": 8.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "9dd6f2f6-fd36-c4b5-8aed-a6dc4ac524e9", + "time": 8.05, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "335c6570-26b8-856b-bda3-65395902f2c1": { + "name": "RopeLadder7", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "44deab22-701c-c222-9d88-821dc88b0ab8", + "time": 3.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "5a007d3b-580e-665d-114f-1104c2cd52ca", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "fab7f68b-3230-f50d-7c79-e3b81178cd0f", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "54b70589-b1e3-77eb-e212-f65576e31615", + "time": 5.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -70 + } + ], + "uuid": "ffd3c88c-c7fd-4156-f873-679613272b72", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "a545cacd-932e-6258-8560-85ec089cdaab", + "time": 6.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-73.75" + } + ], + "uuid": "66f3fc9d-c7f7-cd74-1df9-ced4f5ea1bb5", + "time": 5.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-71.875" + } + ], + "uuid": "062b58fe-ea6a-b033-11fd-bae2d8d7c194", + "time": 6.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "f2e6608a-6953-00c6-b181-cbef0571590f", + "time": 7.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "e41721f9-d7ec-d856-86a4-0f0acf44872d", + "time": 7.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -107.5 + } + ], + "uuid": "ae713465-bf77-478a-8401-b8c6dc6b2dde", + "time": 8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -127.5 + } + ], + "uuid": "ad9c6331-a9ee-5ff8-8aa1-fb7cad8116d5", + "time": 8.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "4934e04b-7fbf-2ba3-0eb8-8dab5e5e2b2d", + "time": 8.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "4db7f489-4b91-0ab2-98e7-4eaa93faae71", + "time": 8.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "efee1e69-83bc-819f-ce69-78abcc16ae02", + "time": 8.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "f0fc56c7-4636-529b-1ba0-706b5b623db8", + "time": 8.15, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3bd16030-14b3-a1bf-76ef-9adb8e3564d9": { + "name": "RopeLadder8", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "7d6528b1-2da3-f8ed-3305-63ebced40d77", + "time": 3.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "77f387e0-d6b5-9515-f961-48fc3591cc79", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "81b14531-125f-1885-964c-93f9c12b4ff7", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "705cae46-bb94-7d53-63b5-bde9bfc5db21", + "time": 5.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -27.5 + } + ], + "uuid": "63dc2e71-e3c5-aea4-9845-7b9127472c56", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "bf8c4ae2-5453-be09-b954-eceb41be02de", + "time": 6.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-31.25" + } + ], + "uuid": "8d406165-b149-9a75-913a-f01cc625a884", + "time": 5.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-29.375" + } + ], + "uuid": "8fc64b38-8de3-5789-f573-f75b776c2130", + "time": 6.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "1ae28892-3925-6455-7979-871d2e0d1759", + "time": 7.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "1d35fc36-25d9-de33-b582-a1941ab3f255", + "time": 8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -65 + } + ], + "uuid": "e25a2001-e5bb-a820-5311-ea93425c8e90", + "time": 8.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "3058a961-8743-c600-4a3b-b015656f08c9", + "time": 8.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "36daff5d-1428-4808-0994-97ce0ee6df21", + "time": 8.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-30.625" + } + ], + "uuid": "a49c98ba-ec8e-0175-be8c-8f9b3ac6d3f4", + "time": 7.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "6fa3f6a5-6a70-3890-8ef8-2dc552df9f75", + "time": 8.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "d7f231f4-fa90-baef-490a-cb27fd9445e7", + "time": 8.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "ba4435b6-5449-22c9-8137-7cb8b7faeba0", + "time": 8.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "12e7191b-e255-e122-467f-4e74ea1ca25b": { + "name": "RopeLadder9", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "b1e8cb95-1c6f-5b1c-f418-639a7cab014b", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "94b60b23-61aa-c77c-d51a-b2a2db70f960", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "29c60c10-e605-331f-0342-8c6f2bf86bc4", + "time": 4.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "79dc3101-ca96-2792-c24b-3e1d07fba131", + "time": 5.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": "-102.5" + } + ], + "uuid": "0a3e2979-121f-645a-4e29-cf9845632153", + "time": 4.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "d484bd8b-227a-5bde-e77f-be4fbc73a0ef", + "time": 6.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": "-106.25" + } + ], + "uuid": "3d9a193b-be69-2360-6b73-a4674c7ba8d0", + "time": 5.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-104.375" + } + ], + "uuid": "1435311a-2783-f508-04b1-2e4b4505dc67", + "time": 6.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "4e66c5e0-95a5-d76c-3f1f-164d5f478275", + "time": 7.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "068e1cab-0745-18ee-70f6-7466fb12874e", + "time": 8.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -140 + } + ], + "uuid": "f6364f07-ad42-5d90-9ece-c7e2391e4b60", + "time": 8.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -160 + } + ], + "uuid": "b7d6338a-6f27-ca05-4227-2a4f370bb5ce", + "time": 8.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "f665ff53-b17b-e5d6-eabc-a2a5ad8495c3", + "time": 8.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-105.625" + } + ], + "uuid": "6f1f5153-c606-fb59-b771-4ed203f70cb7", + "time": 7.95, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "94027b76-7cf5-513c-b6e4-c9f4b97aab59", + "time": 8.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "50d74b2c-4484-9df3-d1d5-361b22063b3c", + "time": 8.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "d67ac890-33fc-bd80-b170-332802c03125", + "time": 8.35, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "c8667a44-3ce4-ea1f-ecfe-d9fac6461f90": { + "name": "RopeLadder10", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "83eb069e-f225-c6ff-a092-082516cf7636", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "fbf27e4b-f216-9f88-00b3-cbc58c3ed671", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "1c5edae4-19da-3230-978b-2cb1b5ffa8dc", + "time": 4.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "a7ca8670-4b26-9c2f-4c19-f5a238ec3666", + "time": 5.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -27.5 + } + ], + "uuid": "b7de9a27-20a3-2e3d-13d8-c948a43eaf24", + "time": 4.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "e9ee1404-07e8-5253-1a7c-31725b62ae3f", + "time": 6.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-31.25" + } + ], + "uuid": "07903ec4-ca26-6878-a5e8-b1b2c683d251", + "time": 5.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-29.375" + } + ], + "uuid": "3283a399-91c6-f20d-11b6-00a57d204cbc", + "time": 6.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "9260370a-9e7a-edf2-d99d-83995d145425", + "time": 7.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "cf3d0e5a-b59f-ed5a-16bc-1d09adf3afcd", + "time": 8.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -65 + } + ], + "uuid": "bccdb8e1-9ecc-c8a6-c0d5-cd39277e6a45", + "time": 8.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "4663dfca-6a13-f691-61bf-f40c463d5f81", + "time": 8.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "e7619056-067a-1344-6ea1-9305447c04dd", + "time": 8.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-30.625" + } + ], + "uuid": "cc6fe899-933f-3723-7467-625fc099cfc8", + "time": 7.95, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "0f934b98-7a9b-df7c-82a7-3b737c2c1d4e", + "time": 8.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "c78a5ec6-c981-5eb5-ba5a-27b89a415475", + "time": 8.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "190df046-ee7f-1728-7dde-0755b39fc9c1", + "time": 8.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "73305a61-a5fc-3ffd-28cf-a5a7156ade9d": { + "name": "RopeLadder11", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "1a40387a-7b9d-1003-b69f-73b7bda2d673", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "3989ba7a-db3e-b3ad-aad9-d3f59f645574", + "time": 3.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "8ad54380-220e-bcd1-fd95-68a2f825468e", + "time": 4.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -92.5 + } + ], + "uuid": "64e1e450-2353-353e-2cc1-30b6916afdd1", + "time": 5.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "6a5f9b25-ffa2-8db8-099a-29c18235134f", + "time": 5.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "1791f50c-4bbf-341c-dae4-2c27891fab38", + "time": 6.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-96.25" + } + ], + "uuid": "deb5c22a-93ed-f46f-767e-f8bfe3ba8029", + "time": 6.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-94.375" + } + ], + "uuid": "b261d784-b671-a6ce-c702-1bab7434c0ae", + "time": 7.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "bbbaa549-460a-4921-d455-85ca0c90bc12", + "time": 7.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "767f6b12-00f3-cec8-31b5-012f59710173", + "time": 8.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -130 + } + ], + "uuid": "f328bf97-5dd5-614c-05f6-51b524e78c63", + "time": 8.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -150 + } + ], + "uuid": "ddbd3e32-1a8d-0c20-0a4a-47ded44f8392", + "time": 8.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "72adec00-19c7-4fa5-900a-76ecfd03068c", + "time": 8.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-95.625" + } + ], + "uuid": "e14449b1-e5fe-11a2-17ec-0ec7701c1e4b", + "time": 8.05, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "20085f32-db2f-6922-b3a4-842239584414", + "time": 8.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "3ca6575f-43cc-03fd-c391-121c08cfb988", + "time": 8.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "e6793b5c-6e62-e047-f070-04ab2de10a32", + "time": 8.55, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "fac07263-8b34-d5b4-c7e2-83b19ee7d708": { + "name": "RopeLadder12", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "91e861ef-f9f5-5ae9-bf67-bf63e63e4b43", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -77.5 + } + ], + "uuid": "e073481b-8372-b554-89e4-3ec7a33d3b81", + "time": 3.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -77.5 + } + ], + "uuid": "7945611b-0589-adc6-dca7-6fcb2aa96d20", + "time": 4.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -75 + } + ], + "uuid": "8f7237d7-22cb-a332-13ad-89a794fdf1ca", + "time": 5.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -77.5 + } + ], + "uuid": "b51ae597-1cc6-ed43-b874-3d760fd0769d", + "time": 5.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -77.5 + } + ], + "uuid": "d910c131-5795-9924-a404-76491396aa83", + "time": 6.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-78.75" + } + ], + "uuid": "70386e7a-cee3-7976-4f6d-044c1855a3a1", + "time": 6.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-76.875" + } + ], + "uuid": "2845c2a6-3bc4-0168-52e6-7273978be456", + "time": 7.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -77.5 + } + ], + "uuid": "bd656eb8-581c-f9f5-bc89-fca5559c257f", + "time": 7.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -77.5 + } + ], + "uuid": "737a3536-fcab-57d7-9eac-f96e47b2a1f3", + "time": 8.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -112.5 + } + ], + "uuid": "f3f88ca3-a3d7-1de6-93c4-95218bc45953", + "time": 8.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -132.5 + } + ], + "uuid": "615c9842-9dc5-ee5e-728a-1dbacc089696", + "time": 8.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -77.5 + } + ], + "uuid": "66677efe-b841-1f75-109b-a5aa7f6c576d", + "time": 8.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-78.125" + } + ], + "uuid": "e02af0bd-6d77-4be6-dd64-06848d575632", + "time": 8.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "968e8269-835e-879d-97bd-d4b01931b097", + "time": 8.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 17, + "z": 0 + } + ], + "uuid": "ed96e3b0-e8a2-25e5-337b-1e147785210c", + "time": 8.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10.5, + "z": 0 + } + ], + "uuid": "5a84d1cb-e872-1965-39ef-a9ef75e15a2f", + "time": 8.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "44f6b24f-ec24-3b6c-95dc-fc2d04130722": { + "name": "RopeLadder13", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "82967f6c-bd02-5a8f-ad9e-8c015374b361", + "time": 3.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "bbd10306-7631-63e9-18d2-46b603f5ab32", + "time": 3.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "d15eb4a4-4815-c1d0-df3b-8e086138c785", + "time": 4.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -92.5 + } + ], + "uuid": "f31fba74-e823-7ba3-9ae3-a67360ae34c4", + "time": 5.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "a839844d-85e4-3acb-cb3b-86038e43777b", + "time": 5.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "a14cdc74-9255-08d5-1e83-e06283199291", + "time": 6.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-96.25" + } + ], + "uuid": "1337ba2f-42a7-cb0d-d07a-878ab8834e7c", + "time": 6.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-94.375" + } + ], + "uuid": "2fdee278-0a16-be21-891a-fb48380fe654", + "time": 7.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "52e87cc4-b292-6d09-c196-3b52e394765c", + "time": 7.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "003cf14f-a93c-1189-8027-36f349c79f50", + "time": 8.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -130 + } + ], + "uuid": "33fe971d-1e16-a7e0-72a7-995bfa36c293", + "time": 8.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "49428d59-4973-1566-4091-bee99d4d58f0", + "time": 8.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -147.5 + } + ], + "uuid": "c82a0a19-6a82-ff84-9278-e5498f50d143", + "time": 8.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-95.625" + } + ], + "uuid": "1d5dea88-d6db-f260-f001-bb9785a167e1", + "time": 8.15, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "8f9e54ff-9798-a75d-c10a-704ca0739c98", + "time": 8.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 15, + "z": 0 + } + ], + "uuid": "f00e66ed-398e-60c4-d8f1-85b53bafa7e9", + "time": 8.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 9.5, + "z": 0 + } + ], + "uuid": "b45202cd-424f-2474-d13f-a26520086150", + "time": 8.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "81c03504-cef5-69e6-cf02-f623ce10f5b6": { + "name": "RopeLadder14", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "93f9f586-4e9b-3923-8f9c-44832080c328", + "time": 3.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "d6096621-5b95-817f-a799-c36f447e6fd4", + "time": 3.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "7c6b8e5b-0ceb-fe54-ab7b-8d7811bd2672", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -102.5 + } + ], + "uuid": "9ac5855e-42b3-487c-e521-a01b1a9e1d8c", + "time": 5.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "af233243-4539-b62b-310a-53e47d19762b", + "time": 5.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "3edb744f-dc01-d487-8c0a-bafe53c6ccb2", + "time": 6.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-106.25" + } + ], + "uuid": "3624af05-78f8-198e-b8c4-76ab3193b063", + "time": 6.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-104.375" + } + ], + "uuid": "4282ce73-34f3-16aa-49b3-df8574ad6691", + "time": 7.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "093881ee-7ca5-ba90-cf87-27bfe5320508", + "time": 7.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "dd457da2-3b85-73bb-4b15-5274a2493391", + "time": 8.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -142.5 + } + ], + "uuid": "9c720fcb-9108-2a44-df75-54043f2b53d1", + "time": 8.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -160 + } + ], + "uuid": "6c8f42f9-4129-08e4-0273-1174cdd7ff4d", + "time": 8.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "5fe75780-5b25-6646-e14a-d44cfc96bcf9", + "time": 8.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-105.625" + } + ], + "uuid": "47266fc4-e056-2041-ef22-595cd7482e03", + "time": 8.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "6003dc25-616a-3edd-1040-d9b2b35f3d80", + "time": 8.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 15, + "z": 0 + } + ], + "uuid": "4176975c-b729-106d-688c-09c887bd073d", + "time": 8.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 1.5, + "z": 0 + } + ], + "uuid": "b83a6031-7006-62d1-73fa-9cfe048d9496", + "time": 8.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "0cb872f1-2b47-cee6-492f-bfa20246c3ac": { + "name": "RopeLadder15", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "b1351cff-ed11-c2f0-e157-0f2e8d10b981", + "time": 3.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -130 + } + ], + "uuid": "1de4e324-219c-bfef-a594-e39a8fb5a350", + "time": 3.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -130 + } + ], + "uuid": "f61177ef-795c-a7d4-3b3c-b235ba115436", + "time": 4.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -127.5 + } + ], + "uuid": "d3e1c562-d3b8-0f96-4ff5-969dfa9ae4b5", + "time": 5.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -130 + } + ], + "uuid": "0a624dcc-15a2-456c-0b59-95d5feebbac4", + "time": 5.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -130 + } + ], + "uuid": "80c067d5-7cd6-cb24-56d0-2d2d140bd3b5", + "time": 6.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-131.25" + } + ], + "uuid": "be5a2d2a-9021-18a1-0fd2-76dca6100e21", + "time": 6.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-129.375" + } + ], + "uuid": "a9b9220c-ad00-9b9f-1bb4-75788b71dd2b", + "time": 7.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -130 + } + ], + "uuid": "b12b3267-e31c-cd0e-ff3e-d1150c2d088f", + "time": 7.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "44ff2d7b-fc5d-4f07-9be5-ccd9cf815be7", + "time": 8.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 15, + "z": 0 + } + ], + "uuid": "b754696d-b8fa-2ef6-e49a-76c6b4435e2c", + "time": 9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "47f57408-507e-ee25-dfbd-8f633fe8ccfd": { + "name": "TailRotorBlades", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "6dd64455-bc9b-cfd7-9fb0-a3eab02e7196", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "36720", + "y": "0", + "z": 0 + } + ], + "uuid": "f9d8e6f4-e171-0f12-1ca6-375ba6dc55d2", + "time": 12.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "812dc3c3-7569-417c-88ea-98db26c9084f": { + "name": "RotorBlades", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "f35b2cfe-e6ec-a772-1cc0-e8458d2373e9", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "18360", + "z": 0 + } + ], + "uuid": "fca52224-a73b-4ae1-4808-d80fb10b5eba", + "time": 12.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Momoi/models/ex_skill_1.bbmodel b/config/yosbr/config/figura/avatars/Momoi/models/ex_skill_1.bbmodel new file mode 100644 index 0000000..ea2c651 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/models/ex_skill_1.bbmodel @@ -0,0 +1,17027 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "ex_skill_1", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 144, + "height": 210 + }, + "elements": [ + { + "name": "Head", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 24, + -4 + ], + "to": [ + 4, + 32, + 4 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 33, + 16, + 41 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 33, + 8, + 41 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 33, + 32, + 41 + ], + "texture": 0 + }, + "west": { + "uv": [ + 16, + 33, + 24, + 41 + ], + "texture": 0 + }, + "up": { + "uv": [ + 16, + 33, + 8, + 25 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 25, + 16, + 33 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a66c63cf-0082-7797-3f4e-08ff434a1cac" + }, + { + "name": "HatLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 24, + -4 + ], + "to": [ + 4, + 32, + 4 + ], + "autouv": 0, + "color": 0, + "inflate": 0.5, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 32, + 0 + ], + "faces": { + "north": { + "uv": [ + 40, + 33, + 48, + 41 + ], + "texture": 0 + }, + "east": { + "uv": [ + 32, + 33, + 40, + 41 + ], + "texture": 0 + }, + "south": { + "uv": [ + 56, + 33, + 64, + 41 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 33, + 56, + 41 + ], + "texture": 0 + }, + "up": { + "uv": [ + 40, + 33, + 48, + 25 + ], + "texture": 0 + }, + "down": { + "uv": [ + 56, + 25, + 48, + 33 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d48552a8-9f0d-7335-2a82-794f3264fc9d" + }, + { + "name": "Body", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 12, + -2 + ], + "to": [ + 4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 16 + ], + "faces": { + "north": { + "uv": [ + 20, + 51, + 28, + 63 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 51, + 20, + 63 + ], + "texture": 0 + }, + "south": { + "uv": [ + 32, + 51, + 40, + 63 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 51, + 32, + 63 + ], + "texture": 0 + }, + "up": { + "uv": [ + 28, + 51, + 20, + 47 + ], + "texture": 0 + }, + "down": { + "uv": [ + 36, + 47, + 28, + 51 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "742e9ab7-8cdd-8d93-9a9a-88011f54d15b" + }, + { + "name": "BodyLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 12, + -2 + ], + "to": [ + 4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 32 + ], + "faces": { + "north": { + "uv": [ + 20, + 67, + 28, + 79 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 67, + 20, + 79 + ], + "texture": 0 + }, + "south": { + "uv": [ + 32, + 67, + 40, + 79 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 67, + 32, + 79 + ], + "texture": 0 + }, + "up": { + "uv": [ + 28, + 67, + 20, + 63 + ], + "texture": 0 + }, + "down": { + "uv": [ + 36, + 63, + 28, + 67 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2574fa9e-0d5f-502c-ce28-ef5cf30f41ec" + }, + { + "name": "RightArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 18, + -2 + ], + "to": [ + 7, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 44, + 51, + 47, + 57 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 51, + 44, + 57 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 51, + 54, + 57 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 51, + 51, + 57 + ], + "texture": 0 + }, + "up": { + "uv": [ + 47, + 51, + 44, + 47 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 31, + 0, + 31 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8831734e-ce90-e6bb-8368-e011a468277d" + }, + { + "name": "RightArmLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 18, + -2 + ], + "to": [ + 7, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 32 + ], + "faces": { + "north": { + "uv": [ + 44, + 67, + 47, + 73 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 67, + 44, + 73 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 67, + 54, + 73 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 67, + 51, + 73 + ], + "texture": 0 + }, + "up": { + "uv": [ + 47, + 67, + 44, + 63 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 31, + 0, + 31 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "cea7603d-ae80-e4e7-6f93-905551a79117" + }, + { + "name": "LeftArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 18, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 32, + 48 + ], + "faces": { + "north": { + "uv": [ + 36, + 83, + 39, + 89 + ], + "texture": 0 + }, + "east": { + "uv": [ + 32, + 83, + 36, + 89 + ], + "texture": 0 + }, + "south": { + "uv": [ + 43, + 83, + 46, + 89 + ], + "texture": 0 + }, + "west": { + "uv": [ + 39, + 83, + 43, + 89 + ], + "texture": 0 + }, + "up": { + "uv": [ + 39, + 83, + 36, + 79 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 31, + 0, + 31 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "af1aa9d5-0ccf-d579-b381-54ac7b12fb55" + }, + { + "name": "LeftArmLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 18, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 48, + 48 + ], + "faces": { + "north": { + "uv": [ + 52, + 83, + 55, + 89 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 83, + 52, + 89 + ], + "texture": 0 + }, + "south": { + "uv": [ + 59, + 83, + 62, + 89 + ], + "texture": 0 + }, + "west": { + "uv": [ + 55, + 83, + 59, + 89 + ], + "texture": 0 + }, + "up": { + "uv": [ + 55, + 83, + 52, + 79 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 31, + 0, + 31 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b74fb9e9-db24-b669-6f87-8469be63eda5" + }, + { + "name": "RightLeg", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 6, + -2 + ], + "to": [ + 4, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 4, + 51, + 8, + 57 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 51, + 4, + 57 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 51, + 16, + 57 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 51, + 12, + 57 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 51, + 4, + 47 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 47, + 8, + 51 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "da81ebbe-5b4e-2d46-144a-6f839ad6fa3c" + }, + { + "name": "RightLegLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 6, + -2 + ], + "to": [ + 4, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 32 + ], + "faces": { + "north": { + "uv": [ + 4, + 67, + 8, + 73 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 67, + 4, + 73 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 67, + 16, + 73 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 67, + 12, + 73 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 67, + 4, + 63 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 63, + 8, + 67 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "bcf37da3-caec-e8f2-bc82-76a3f169374c" + }, + { + "name": "LeftLeg", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 6, + -2 + ], + "to": [ + 0, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 48 + ], + "faces": { + "north": { + "uv": [ + 20, + 83, + 24, + 89 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 83, + 20, + 89 + ], + "texture": 0 + }, + "south": { + "uv": [ + 28, + 83, + 32, + 89 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 83, + 28, + 89 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 83, + 20, + 79 + ], + "texture": 0 + }, + "down": { + "uv": [ + 28, + 79, + 24, + 83 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "9c06bc9a-beae-98d9-e9ce-9c8e6ddbb9d3" + }, + { + "name": "LeftLegLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 6, + -2 + ], + "to": [ + 0, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 48 + ], + "faces": { + "north": { + "uv": [ + 4, + 83, + 8, + 89 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 83, + 4, + 89 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 83, + 16, + 89 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 83, + 12, + 89 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 83, + 4, + 79 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 79, + 8, + 83 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f8f1e7ad-7999-9f17-0488-5dcbd4af7945" + }, + { + "name": "EyeLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1, + 25, + -4.01 + ], + "to": [ + 4, + 28, + -4.01 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 41, + 6, + 47 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 25, + 0, + 25 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 25, + 0, + 25 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 25, + 0, + 25 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 25, + 0, + 25 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 25, + 0, + 25 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "7853e9a2-b429-5a00-5e0e-70449c3a71ee" + }, + { + "name": "EyeRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 25, + -4.01 + ], + "to": [ + -1, + 28, + -4.01 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 12, + 41, + 6, + 47 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 25, + 0, + 25 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 25, + 0, + 25 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 25, + 0, + 25 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 25, + 0, + 25 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 25, + 0, + 25 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "328a2de5-64bc-807b-5906-227bfceedf26" + }, + { + "name": "Mouth", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 24, + -4.01 + ], + "to": [ + 1, + 25, + -4.01 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 54, + 58, + 70, + 66 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d9d80373-4145-9e90-28de-12248a8075d9" + }, + { + "name": "HeadRing", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 36, + -4 + ], + "to": [ + 4, + 36, + 4 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 35, + 0, + 0 + ], + "origin": [ + 0, + 28, + 0 + ], + "faces": { + "north": { + "uv": [ + 10, + 25, + 10, + 25 + ], + "texture": null + }, + "east": { + "uv": [ + 10, + 25, + 10, + 25 + ], + "texture": null + }, + "south": { + "uv": [ + 10, + 25, + 10, + 25 + ], + "texture": null + }, + "west": { + "uv": [ + 10, + 25, + 10, + 25 + ], + "texture": null + }, + "up": { + "uv": [ + 54, + 41, + 71, + 58 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + } + }, + "type": "cube", + "uuid": "48cfe147-8711-a325-c722-fe73d6c4d87a" + }, + { + "name": "RightArmBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 7, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 44, + 57, + 47, + 63 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 57, + 44, + 63 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 57, + 54, + 63 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 57, + 51, + 63 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 31, + 0, + 31 + ], + "texture": null + }, + "down": { + "uv": [ + 50, + 51, + 47, + 47 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "643f9c05-2d3c-e1d1-5a2f-874902eb1784" + }, + { + "name": "RightArmBottomLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 7, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 32 + ], + "faces": { + "north": { + "uv": [ + 44, + 73, + 47, + 79 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 73, + 44, + 79 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 73, + 54, + 79 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 73, + 51, + 79 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 31, + 0, + 31 + ], + "texture": null + }, + "down": { + "uv": [ + 50, + 67, + 47, + 63 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b1a76f47-912e-c2d4-8090-6f6ac9734672" + }, + { + "name": "LeftArmBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 12, + -2 + ], + "to": [ + -4, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 32, + 48 + ], + "faces": { + "north": { + "uv": [ + 36, + 89, + 39, + 95 + ], + "texture": 0 + }, + "east": { + "uv": [ + 32, + 89, + 36, + 95 + ], + "texture": 0 + }, + "south": { + "uv": [ + 43, + 89, + 46, + 95 + ], + "texture": 0 + }, + "west": { + "uv": [ + 39, + 89, + 43, + 95 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 31, + 0, + 31 + ], + "texture": null + }, + "down": { + "uv": [ + 42, + 83, + 39, + 79 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a82219a3-e344-a4d8-c85c-51462943a7dc" + }, + { + "name": "LeftArmBottomLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 12, + -2 + ], + "to": [ + -4, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 48, + 48 + ], + "faces": { + "north": { + "uv": [ + 52, + 89, + 55, + 95 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 89, + 52, + 95 + ], + "texture": 0 + }, + "south": { + "uv": [ + 59, + 89, + 62, + 95 + ], + "texture": 0 + }, + "west": { + "uv": [ + 55, + 89, + 59, + 95 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 31, + 0, + 31 + ], + "texture": null + }, + "down": { + "uv": [ + 58, + 83, + 55, + 79 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d7794b2f-dbb3-2cd5-c956-cd163b703976" + }, + { + "name": "RightLegBottomLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -2 + ], + "to": [ + 4, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 32 + ], + "faces": { + "north": { + "uv": [ + 4, + 73, + 8, + 79 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 73, + 4, + 79 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 73, + 16, + 79 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 73, + 12, + 79 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 67, + 4, + 63 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 67, + 8, + 63 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "72c6eff7-d0eb-2ffa-193f-2ca402bdc722" + }, + { + "name": "RightLegBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -2 + ], + "to": [ + 4, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 4, + 57, + 8, + 63 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 57, + 4, + 63 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 57, + 16, + 63 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 57, + 12, + 63 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 51, + 4, + 47 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 51, + 8, + 47 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8b1cc891-ffa8-9f46-ebc0-f0b84e6ffb15" + }, + { + "name": "LeftLegBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 0, + -2 + ], + "to": [ + 0, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 48 + ], + "faces": { + "north": { + "uv": [ + 20, + 89, + 24, + 95 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 89, + 20, + 95 + ], + "texture": 0 + }, + "south": { + "uv": [ + 28, + 89, + 32, + 95 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 89, + 28, + 95 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 83, + 20, + 79 + ], + "texture": 0 + }, + "down": { + "uv": [ + 28, + 83, + 24, + 79 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a1169ee6-6a78-c7c4-9214-670991206468" + }, + { + "name": "LeftLegBottomLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 0, + -2 + ], + "to": [ + 0, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 48 + ], + "faces": { + "north": { + "uv": [ + 4, + 89, + 8, + 95 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 89, + 4, + 95 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 89, + 16, + 95 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 89, + 12, + 95 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 83, + 4, + 79 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 83, + 8, + 79 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a5173990-504e-f5c4-45c7-9347880c1306" + }, + { + "name": "RingPart1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.06, + 36.01, + -4.825 + ], + "to": [ + 1.06, + 36.01, + -1.295 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + -3, + 22, + -4 + ], + "faces": { + "north": { + "uv": [ + 10, + 25, + 11, + 26 + ] + }, + "east": { + "uv": [ + 10, + 25, + 11, + 26 + ] + }, + "south": { + "uv": [ + 10, + 25, + 11, + 26 + ] + }, + "west": { + "uv": [ + 10, + 25, + 11, + 26 + ] + }, + "up": { + "uv": [ + 71, + 41, + 74, + 46 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "faf8ab6b-f4f0-ca97-dccf-5419513d1359" + }, + { + "name": "RingPart2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1.295, + 36.01, + -1.06 + ], + "to": [ + 4.825, + 36.01, + 1.06 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 4, + 22, + -3 + ], + "faces": { + "north": { + "uv": [ + 10, + 25, + 11, + 26 + ] + }, + "east": { + "uv": [ + 10, + 25, + 11, + 26 + ] + }, + "south": { + "uv": [ + 10, + 25, + 11, + 26 + ] + }, + "west": { + "uv": [ + 10, + 25, + 11, + 26 + ] + }, + "up": { + "uv": [ + 71, + 46, + 74, + 51 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "61c19b56-1984-cdcb-7a31-987945b0ae33" + }, + { + "name": "RingPart4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.825, + 36.01, + -1.06 + ], + "to": [ + -1.295, + 36.01, + 1.06 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + -4, + 22, + -3 + ], + "faces": { + "north": { + "uv": [ + 11, + 25, + 10, + 26 + ] + }, + "east": { + "uv": [ + 11, + 25, + 10, + 26 + ] + }, + "south": { + "uv": [ + 11, + 25, + 10, + 26 + ] + }, + "west": { + "uv": [ + 11, + 25, + 10, + 26 + ] + }, + "up": { + "uv": [ + 71, + 51, + 74, + 46 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "4a2f805b-02d9-da24-e361-0c0309289a1d" + }, + { + "name": "RingPart3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.06, + 36.01, + 1.295 + ], + "to": [ + 1.06, + 36.01, + 4.825 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 3, + 22, + 4 + ], + "faces": { + "north": { + "uv": [ + 10, + 25, + 11, + 26 + ] + }, + "east": { + "uv": [ + 10, + 25, + 11, + 26 + ] + }, + "south": { + "uv": [ + 10, + 25, + 11, + 26 + ] + }, + "west": { + "uv": [ + 10, + 25, + 11, + 26 + ] + }, + "up": { + "uv": [ + 71, + 51, + 74, + 56 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + } + }, + "type": "cube", + "uuid": "f0e4c2d9-cc4e-0c13-3e3a-2b95d8c0d034" + }, + { + "name": "HeadPhoneRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5, + 26, + -2 + ], + "to": [ + -4, + 29, + 1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 95, + 1, + 96 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 62, + 0, + 62 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 95, + 1, + 96 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 95, + 7, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 95, + 1, + 96 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 95, + 1, + 96 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "01f6d688-d2cd-c36a-df2e-a80523a72020" + }, + { + "name": "HeadPhoneLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 26, + -2 + ], + "to": [ + 5, + 29, + 1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 95, + 1, + 96 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 95, + 7, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 95, + 1, + 96 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 62, + 0, + 62 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 95, + 1, + 96 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 95, + 1, + 96 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "4f5e53a6-b464-0187-a63a-a317f45c2beb" + }, + { + "name": "HeadPhoneShaftRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 29, + -1.5 + ], + "to": [ + 4.5, + 32, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 95, + 1, + 96 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 95, + 1, + 96 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 95, + 1, + 96 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 62, + 0, + 62 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 95, + 1, + 96 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 62, + 0, + 62 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ac86679a-d55c-be34-cf2b-68f42e402541" + }, + { + "name": "HeadPhoneShaftLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.5, + 29, + -1.5 + ], + "to": [ + -4, + 32, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 95, + 1, + 96 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 62, + 0, + 62 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 95, + 1, + 96 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 95, + 1, + 96 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 95, + 1, + 96 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 62, + 0, + 62 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "0aae78b3-7629-724d-62de-d336c7bb05d6" + }, + { + "name": "HeadPhoneShaftCenter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.75, + 32, + -0.5 + ], + "to": [ + 3.75, + 32.5, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 95, + 1, + 96 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 95, + 1, + 96 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 95, + 1, + 96 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 95, + 1, + 96 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 95, + 1, + 96 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 62, + 1, + 63 + ] + } + }, + "type": "cube", + "uuid": "943051a6-3609-4b6a-a9be-3e7a6d7e866b" + }, + { + "name": "HairRibbonRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.1875, + 24.5, + -4.5 + ], + "to": [ + 4.6875, + 26, + -4.5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 0, + 0, + -45 + ], + "origin": [ + 3.9375, + 25.25, + -4.5 + ], + "faces": { + "north": { + "uv": [ + 24, + 25, + 30, + 31 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 25, + 0, + 25 + ], + "texture": null + }, + "south": { + "uv": [ + 30, + 25, + 24, + 31 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 25, + 0, + 25 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 25, + 0, + 25 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 25, + 1, + 26 + ] + } + }, + "type": "cube", + "uuid": "cb186902-ed9f-81b4-4202-9b6bd1679875" + }, + { + "name": "HairRibbonLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.6875, + 24.5, + -4.5 + ], + "to": [ + -3.1875, + 26, + -4.5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 0, + 0, + 45 + ], + "origin": [ + -3.9375, + 25.25, + -4.5 + ], + "faces": { + "north": { + "uv": [ + 30, + 25, + 24, + 31 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 25, + 0, + 25 + ], + "texture": null + }, + "south": { + "uv": [ + 24, + 25, + 30, + 31 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 25, + 0, + 25 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 25, + 0, + 25 + ], + "texture": null + }, + "down": { + "uv": [ + 1, + 25, + 0, + 26 + ] + } + }, + "type": "cube", + "uuid": "a9969c6d-21ee-6a83-fded-e167709975e0" + }, + { + "name": "Skirt1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.5, + 11, + -3 + ], + "to": [ + 4.5, + 15, + 3 + ], + "autouv": 0, + "color": 3, + "inflate": -0.001, + "origin": [ + 0, + 23, + 0 + ], + "uv_offset": [ + 0, + 64 + ], + "faces": { + "north": { + "uv": [ + 16, + 99, + 25, + 103 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 95, + 22, + 99 + ], + "texture": 0 + }, + "south": { + "uv": [ + 16, + 103, + 25, + 107 + ], + "texture": 0 + }, + "west": { + "uv": [ + 16, + 95, + 22, + 99 + ], + "texture": 0 + }, + "up": { + "uv": [ + 7, + 95, + 16, + 101 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 62, + 0, + 62 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "38c80056-38bf-0791-5b8e-c3a3b2591654" + }, + { + "name": "Skirt2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5, + 7, + -4 + ], + "to": [ + 5, + 11, + 4 + ], + "autouv": 0, + "color": 3, + "inflate": -0.001, + "origin": [ + 0, + 23, + 0 + ], + "uv_offset": [ + 0, + 73 + ], + "faces": { + "north": { + "uv": [ + 35, + 99, + 45, + 103 + ], + "texture": 0 + }, + "east": { + "uv": [ + 35, + 95, + 43, + 99 + ], + "texture": 0 + }, + "south": { + "uv": [ + 35, + 103, + 45, + 107 + ], + "texture": 0 + }, + "west": { + "uv": [ + 35, + 95, + 43, + 99 + ], + "texture": 0 + }, + "up": { + "uv": [ + 25, + 95, + 35, + 103 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 62, + 0, + 62 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e5f18b5e-4093-76a4-d9ae-165f680424da" + }, + { + "name": "Tail1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 14, + 2 + ], + "to": [ + 0.5, + 15, + 8 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 14, + 2 + ], + "faces": { + "north": { + "uv": [ + 0, + 62, + 0, + 62 + ], + "texture": null + }, + "east": { + "uv": [ + 45, + 95, + 57, + 96 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 62, + 0, + 62 + ], + "texture": null + }, + "west": { + "uv": [ + 57, + 95, + 45, + 96 + ], + "texture": 0 + }, + "up": { + "uv": [ + 57, + 95, + 45, + 96 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 45, + 95, + 57, + 96 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "50e61828-ccdd-ee8e-c621-0a193b35fd5e" + }, + { + "name": "Tail2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 14, + 8 + ], + "to": [ + 0.5, + 15, + 14 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 14, + 8 + ], + "faces": { + "north": { + "uv": [ + 0, + 62, + 0, + 62 + ], + "texture": null + }, + "east": { + "uv": [ + 45, + 96, + 57, + 97 + ], + "texture": 0 + }, + "south": { + "uv": [ + 45, + 96, + 46, + 97 + ], + "texture": 0 + }, + "west": { + "uv": [ + 57, + 96, + 45, + 97 + ], + "texture": 0 + }, + "up": { + "uv": [ + 57, + 96, + 45, + 97 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 45, + 96, + 57, + 97 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "4113cbe8-5856-27e8-5d63-4f6f3f13ccbd" + }, + { + "name": "RightCoat", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 13, + -2 + ], + "to": [ + 7, + 17, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.5, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 32 + ], + "faces": { + "north": { + "uv": [ + 4, + 106, + 7, + 110 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 106, + 4, + 110 + ], + "texture": 0 + }, + "south": { + "uv": [ + 11, + 106, + 14, + 110 + ], + "texture": 0 + }, + "west": { + "uv": [ + 7, + 106, + 11, + 110 + ], + "texture": 0 + }, + "up": { + "uv": [ + 3, + 102, + 6, + 106 + ], + "texture": 0 + }, + "down": { + "uv": [ + 44, + 75, + 47, + 79 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "29a6683b-b165-5012-f56b-a8b8ebf7af9a" + }, + { + "name": "LeftCoat", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 13, + -2 + ], + "to": [ + -4, + 17, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.5, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 32 + ], + "faces": { + "north": { + "uv": [ + 4, + 114, + 7, + 118 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 114, + 4, + 118 + ], + "texture": 0 + }, + "south": { + "uv": [ + 11, + 114, + 14, + 118 + ], + "texture": 0 + }, + "west": { + "uv": [ + 7, + 114, + 11, + 118 + ], + "texture": 0 + }, + "up": { + "uv": [ + 3, + 110, + 6, + 114 + ], + "texture": 0 + }, + "down": { + "uv": [ + 52, + 91, + 55, + 95 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "068c9564-63f3-82ac-0263-7761baadd884" + }, + { + "name": "PhoneEarRightFront1_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 32, + -1.5 + ], + "to": [ + 1, + 35, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 0, + 95, + 1, + 96 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 95, + 1, + 96 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 95, + 1, + 96 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 95, + 1, + 96 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 62, + 0, + 62 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 62, + 0, + 62 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5628b192-ac9f-3e32-91d4-2d87aa746910" + }, + { + "name": "PhoneEarRightFront1_1OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.1, + 32, + -1.51 + ], + "to": [ + 0.2, + 34.98, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 96, + 2, + 97 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 62, + 1, + 63 + ] + }, + "south": { + "uv": [ + 0, + 62, + 1, + 63 + ] + }, + "west": { + "uv": [ + 0, + 62, + 1, + 63 + ] + }, + "up": { + "uv": [ + 0, + 62, + 1, + 63 + ] + }, + "down": { + "uv": [ + 0, + 62, + 1, + 63 + ] + } + }, + "type": "cube", + "uuid": "c1fcb63e-6496-d3a3-64cb-e2251ddf6b9e" + }, + { + "name": "PhoneEarRightFront1_1InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.8, + 32, + -1.51 + ], + "to": [ + 0.9, + 34.825, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 96, + 2, + 97 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 62, + 1, + 63 + ] + }, + "south": { + "uv": [ + 0, + 62, + 1, + 63 + ] + }, + "west": { + "uv": [ + 0, + 62, + 1, + 63 + ] + }, + "up": { + "uv": [ + 0, + 62, + 1, + 63 + ] + }, + "down": { + "uv": [ + 0, + 62, + 1, + 63 + ] + } + }, + "type": "cube", + "uuid": "beef8305-3bf6-58e9-b6da-1cd0fab1fe2f" + }, + { + "name": "PhoneEarRightFront1_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 35, + -1.5 + ], + "to": [ + 1, + 37.09, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 0, + 95, + 1, + 96 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 95, + 1, + 96 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 95, + 1, + 96 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 95, + 1, + 96 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 62, + 0, + 62 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 62, + 0, + 62 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "403fa6ce-f0d8-c5be-a8b6-d47294eb4984" + }, + { + "name": "PhoneEarRightFront1_2OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.1, + 35.025, + -1.51 + ], + "to": [ + 0.2, + 37.06, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 96, + 2, + 97 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 62, + 1, + 63 + ] + }, + "south": { + "uv": [ + 0, + 62, + 1, + 63 + ] + }, + "west": { + "uv": [ + 0, + 62, + 1, + 63 + ] + }, + "up": { + "uv": [ + 0, + 62, + 1, + 63 + ] + }, + "down": { + "uv": [ + 0, + 62, + 1, + 63 + ] + } + }, + "type": "cube", + "uuid": "76f78202-a819-a689-73e2-64029f8d0f9d" + }, + { + "name": "PhoneEarRightFront1_2InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.8, + 35.178, + -1.51 + ], + "to": [ + 0.9, + 36.876, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 96, + 2, + 97 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 62, + 1, + 63 + ] + }, + "south": { + "uv": [ + 0, + 62, + 1, + 63 + ] + }, + "west": { + "uv": [ + 0, + 62, + 1, + 63 + ] + }, + "up": { + "uv": [ + 0, + 62, + 1, + 63 + ] + }, + "down": { + "uv": [ + 0, + 62, + 1, + 63 + ] + } + }, + "type": "cube", + "uuid": "b779ad53-9102-aacf-4abf-51210f0edbde" + }, + { + "name": "PhoneEarRightFront2_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.5, + 28.9, + -1.5 + ], + "to": [ + 4.5, + 30.08, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 3.5, + 29.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 0, + 95, + 1, + 96 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 95, + 1, + 96 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 95, + 1, + 96 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 95, + 1, + 96 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 62, + 0, + 62 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 62, + 0, + 62 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "4bd4c91f-764a-3ef9-009c-766a50959788" + }, + { + "name": "PhoneEarRightFront2_1OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4.3, + 28.9, + -1.51 + ], + "to": [ + 4.4, + 30.023, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.5, + 31, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 96, + 2, + 97 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 62, + 1, + 63 + ] + }, + "south": { + "uv": [ + 0, + 62, + 1, + 63 + ] + }, + "west": { + "uv": [ + 0, + 62, + 1, + 63 + ] + }, + "up": { + "uv": [ + 0, + 62, + 1, + 63 + ] + }, + "down": { + "uv": [ + 0, + 62, + 1, + 63 + ] + } + }, + "type": "cube", + "uuid": "1a50d8d3-d2c0-1c03-5226-56fabd5b1aa7" + }, + { + "name": "PhoneEarRightFront2_1InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.6, + 28.9, + -1.51 + ], + "to": [ + 3.7, + 29.618, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.5, + 31, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 96, + 2, + 97 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 62, + 1, + 63 + ] + }, + "south": { + "uv": [ + 0, + 62, + 1, + 63 + ] + }, + "west": { + "uv": [ + 0, + 62, + 1, + 63 + ] + }, + "up": { + "uv": [ + 0, + 62, + 1, + 63 + ] + }, + "down": { + "uv": [ + 0, + 62, + 1, + 63 + ] + } + }, + "type": "cube", + "uuid": "d3a63ec7-8768-7c37-4624-c7e3d4192e12" + }, + { + "name": "PhoneEarRightFront2_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.5, + 30.08, + -1.5 + ], + "to": [ + 4.5, + 34.08, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 3.5, + 28.6, + -1 + ], + "faces": { + "north": { + "uv": [ + 0, + 95, + 1, + 96 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 95, + 1, + 96 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 95, + 1, + 96 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 95, + 1, + 96 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 62, + 0, + 62 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 62, + 0, + 62 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "092a0e63-d5dd-7734-63ea-fa9d2553d0f5" + }, + { + "name": "PhoneEarRightFront2_2OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4.3, + 30.138, + -1.51 + ], + "to": [ + 4.4, + 34.063, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.5, + 30.1, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 96, + 2, + 97 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 62, + 1, + 63 + ] + }, + "south": { + "uv": [ + 0, + 62, + 1, + 63 + ] + }, + "west": { + "uv": [ + 0, + 62, + 1, + 63 + ] + }, + "up": { + "uv": [ + 0, + 62, + 1, + 63 + ] + }, + "down": { + "uv": [ + 0, + 62, + 1, + 63 + ] + } + }, + "type": "cube", + "uuid": "c5113057-7bfd-25ad-e529-b49c112c3377" + }, + { + "name": "PhoneEarRightFront2_2InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.6, + 30.541, + -1.51 + ], + "to": [ + 3.7, + 33.939, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.5, + 30.1, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 96, + 2, + 97 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 62, + 1, + 63 + ] + }, + "south": { + "uv": [ + 0, + 62, + 1, + 63 + ] + }, + "west": { + "uv": [ + 0, + 62, + 1, + 63 + ] + }, + "up": { + "uv": [ + 0, + 62, + 1, + 63 + ] + }, + "down": { + "uv": [ + 0, + 62, + 1, + 63 + ] + } + }, + "type": "cube", + "uuid": "2840ca2d-db60-7b72-40c4-526f07cf8a96" + }, + { + "name": "PhoneEarRightFront2_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.5, + 34.08, + -1.5 + ], + "to": [ + 4.5, + 35.9, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 3.5, + 34.6, + -1 + ], + "faces": { + "north": { + "uv": [ + 0, + 95, + 1, + 96 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 95, + 1, + 96 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 95, + 1, + 96 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 95, + 1, + 96 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 62, + 0, + 62 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 62, + 0, + 62 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e774d120-5304-8e16-59f6-3320dd90cc26" + }, + { + "name": "PhoneEarRightFront2_3OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4.3, + 34.099, + -1.51 + ], + "to": [ + 4.4, + 35.832, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.5, + 34.1, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 96, + 2, + 97 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 62, + 1, + 63 + ] + }, + "south": { + "uv": [ + 0, + 62, + 1, + 63 + ] + }, + "west": { + "uv": [ + 0, + 62, + 1, + 63 + ] + }, + "up": { + "uv": [ + 0, + 62, + 1, + 63 + ] + }, + "down": { + "uv": [ + 0, + 62, + 1, + 63 + ] + } + }, + "type": "cube", + "uuid": "0dca0cdb-bd65-b554-9877-c42622b728bd" + }, + { + "name": "PhoneEarRightFront2_3InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.6, + 34.22, + -1.51 + ], + "to": [ + 3.7, + 35.342, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.5, + 34.1, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 96, + 2, + 97 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 62, + 1, + 63 + ] + }, + "south": { + "uv": [ + 0, + 62, + 1, + 63 + ] + }, + "west": { + "uv": [ + 0, + 62, + 1, + 63 + ] + }, + "up": { + "uv": [ + 0, + 62, + 1, + 63 + ] + }, + "down": { + "uv": [ + 0, + 62, + 1, + 63 + ] + } + }, + "type": "cube", + "uuid": "c95bca51-10cf-7f94-f3f4-4e2202585871" + }, + { + "name": "PhoneEarRightBack1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1, + 31.855, + -0.5 + ], + "to": [ + 2.1, + 34.595, + 0.5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.1, + "rotation": [ + 0, + 0, + -35 + ], + "origin": [ + 1, + 32, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 102, + 1, + 103 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 62, + 0, + 62 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 95, + 1, + 96 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 95, + 1, + 96 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 62, + 1, + 63 + ] + }, + "down": { + "uv": [ + 0, + 62, + 0, + 62 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b561e0e5-fa37-6c25-4798-cb2864fd4ef3" + }, + { + "name": "PhoneEarRightBack2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2.56, + 30, + -0.5 + ], + "to": [ + 4.06, + 34.35, + 0.5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.1, + "origin": [ + 3.75, + 32, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 102, + 1, + 103 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 95, + 1, + 96 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 95, + 1, + 96 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 95, + 1, + 96 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 95, + 1, + 96 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 62, + 0, + 62 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "dedf0f6b-187d-2be9-04f4-b753ebcdcf51" + }, + { + "name": "PhoneEarRightFront1_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 37.09, + -1.5 + ], + "to": [ + 1, + 37.94, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.25, + 34.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 0, + 95, + 1, + 96 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 95, + 1, + 96 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 95, + 1, + 96 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 95, + 1, + 96 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 62, + 0, + 62 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 62, + 0, + 62 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f1e596d1-8e6e-52f8-ee7e-4c2fe9e40228" + }, + { + "name": "PhoneEarRightFront1_2OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.1, + 37.115, + -1.51 + ], + "to": [ + 0.2, + 37.868, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.25, + 34.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 96, + 2, + 97 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 62, + 1, + 63 + ] + }, + "south": { + "uv": [ + 0, + 62, + 1, + 63 + ] + }, + "west": { + "uv": [ + 0, + 62, + 1, + 63 + ] + }, + "up": { + "uv": [ + 0, + 62, + 1, + 63 + ] + }, + "down": { + "uv": [ + 0, + 62, + 1, + 63 + ] + } + }, + "type": "cube", + "uuid": "6544450b-5248-1b6d-e92d-2543dd68f300" + }, + { + "name": "PhoneEarRightFront1_2InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.8, + 37.305, + -1.51 + ], + "to": [ + 0.9, + 37.378, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.25, + 34.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 96, + 2, + 97 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 62, + 1, + 63 + ] + }, + "south": { + "uv": [ + 0, + 62, + 1, + 63 + ] + }, + "west": { + "uv": [ + 0, + 62, + 1, + 63 + ] + }, + "up": { + "uv": [ + 0, + 62, + 1, + 63 + ] + }, + "down": { + "uv": [ + 0, + 62, + 1, + 63 + ] + } + }, + "type": "cube", + "uuid": "348fd0c9-c2ba-34d9-9160-bd82c3a23d43" + }, + { + "name": "PhoneEarLeftFront1_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 32, + -1.5 + ], + "to": [ + 0, + 35, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 95, + 0, + 96 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 95, + 0, + 96 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 95, + 0, + 96 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 95, + 0, + 96 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 62, + 0, + 62 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 62, + 0, + 62 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "be67e76c-c7f9-9a4b-6c04-524fbc76c77b" + }, + { + "name": "PhoneEarLeftFront1_1OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2, + 32, + -1.51 + ], + "to": [ + -0.1, + 34.98, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 96, + 1, + 97 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 62, + 0, + 63 + ] + }, + "south": { + "uv": [ + 1, + 62, + 0, + 63 + ] + }, + "west": { + "uv": [ + 1, + 62, + 0, + 63 + ] + }, + "up": { + "uv": [ + 1, + 62, + 0, + 63 + ] + }, + "down": { + "uv": [ + 1, + 62, + 0, + 63 + ] + } + }, + "type": "cube", + "uuid": "a76db6f4-0ef7-6aed-1cc1-9c1259141265" + }, + { + "name": "PhoneEarLeftFront1_1InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.9, + 32, + -1.51 + ], + "to": [ + -0.8, + 34.825, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 96, + 1, + 97 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 62, + 0, + 63 + ] + }, + "south": { + "uv": [ + 1, + 62, + 0, + 63 + ] + }, + "west": { + "uv": [ + 1, + 62, + 0, + 63 + ] + }, + "up": { + "uv": [ + 1, + 62, + 0, + 63 + ] + }, + "down": { + "uv": [ + 1, + 62, + 0, + 63 + ] + } + }, + "type": "cube", + "uuid": "2d6e824a-b085-3640-e1e5-7ba8c21408be" + }, + { + "name": "PhoneEarLeftFront1_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 35, + -1.5 + ], + "to": [ + 0, + 37.09, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 95, + 0, + 96 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 95, + 0, + 96 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 95, + 0, + 96 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 95, + 0, + 96 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 62, + 0, + 62 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 62, + 0, + 62 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8cc219f9-f431-d538-3d6f-fcab7185ee25" + }, + { + "name": "PhoneEarLeftFront1_2OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2, + 35.025, + -1.51 + ], + "to": [ + -0.1, + 37.06, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 96, + 1, + 97 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 62, + 0, + 63 + ] + }, + "south": { + "uv": [ + 1, + 62, + 0, + 63 + ] + }, + "west": { + "uv": [ + 1, + 62, + 0, + 63 + ] + }, + "up": { + "uv": [ + 1, + 62, + 0, + 63 + ] + }, + "down": { + "uv": [ + 1, + 62, + 0, + 63 + ] + } + }, + "type": "cube", + "uuid": "c3b3c7a5-1906-1860-5da3-6879de869a89" + }, + { + "name": "PhoneEarLeftFront1_2InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.9, + 35.178, + -1.51 + ], + "to": [ + -0.8, + 36.876, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 96, + 1, + 97 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 62, + 0, + 63 + ] + }, + "south": { + "uv": [ + 1, + 62, + 0, + 63 + ] + }, + "west": { + "uv": [ + 1, + 62, + 0, + 63 + ] + }, + "up": { + "uv": [ + 1, + 62, + 0, + 63 + ] + }, + "down": { + "uv": [ + 1, + 62, + 0, + 63 + ] + } + }, + "type": "cube", + "uuid": "239182e8-2f83-2228-a01c-9bba6132ebd4" + }, + { + "name": "PhoneEarLeftFront1_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 37.09, + -1.5 + ], + "to": [ + 0, + 37.94, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.25, + 34.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 95, + 0, + 96 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 95, + 0, + 96 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 95, + 0, + 96 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 95, + 0, + 96 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 62, + 0, + 62 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 62, + 0, + 62 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "2efdfc14-75ad-3917-bcbd-c864f6a4908a" + }, + { + "name": "PhoneEarLeftFront1_2OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2, + 37.115, + -1.51 + ], + "to": [ + -0.1, + 37.868, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.25, + 34.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 96, + 1, + 97 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 62, + 0, + 63 + ] + }, + "south": { + "uv": [ + 1, + 62, + 0, + 63 + ] + }, + "west": { + "uv": [ + 1, + 62, + 0, + 63 + ] + }, + "up": { + "uv": [ + 1, + 62, + 0, + 63 + ] + }, + "down": { + "uv": [ + 1, + 62, + 0, + 63 + ] + } + }, + "type": "cube", + "uuid": "12e1aa45-4861-cd9c-cdfd-5b656c8af07c" + }, + { + "name": "PhoneEarLeftFront1_2InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.9, + 37.305, + -1.51 + ], + "to": [ + -0.8, + 37.378, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.25, + 34.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 96, + 1, + 97 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 62, + 0, + 63 + ] + }, + "south": { + "uv": [ + 1, + 62, + 0, + 63 + ] + }, + "west": { + "uv": [ + 1, + 62, + 0, + 63 + ] + }, + "up": { + "uv": [ + 1, + 62, + 0, + 63 + ] + }, + "down": { + "uv": [ + 1, + 62, + 0, + 63 + ] + } + }, + "type": "cube", + "uuid": "64b1a793-eb74-5aab-221f-0058edf82966" + }, + { + "name": "PhoneEarLeftFront_2_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.5, + 28.9, + -1.5 + ], + "to": [ + -3.5, + 30.08, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3.5, + 29.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 95, + 0, + 96 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 95, + 0, + 96 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 95, + 0, + 96 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 95, + 0, + 96 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 62, + 0, + 62 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 62, + 0, + 62 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "0cabbb13-53a1-76d6-49c1-244a341e3fc4" + }, + { + "name": "PhoneEarLeftFront2_1OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.4, + 28.9, + -1.51 + ], + "to": [ + -4.3, + 30.023, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 31, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 96, + 1, + 97 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 62, + 0, + 63 + ] + }, + "south": { + "uv": [ + 1, + 62, + 0, + 63 + ] + }, + "west": { + "uv": [ + 1, + 62, + 0, + 63 + ] + }, + "up": { + "uv": [ + 1, + 62, + 0, + 63 + ] + }, + "down": { + "uv": [ + 1, + 62, + 0, + 63 + ] + } + }, + "type": "cube", + "uuid": "4b86c2c6-6541-ae97-908d-c4c0946d9742" + }, + { + "name": "PhoneEarLeftFront2_1InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.7, + 28.9, + -1.51 + ], + "to": [ + -3.6, + 29.618, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 31, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 96, + 1, + 97 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 62, + 0, + 63 + ] + }, + "south": { + "uv": [ + 1, + 62, + 0, + 63 + ] + }, + "west": { + "uv": [ + 1, + 62, + 0, + 63 + ] + }, + "up": { + "uv": [ + 1, + 62, + 0, + 63 + ] + }, + "down": { + "uv": [ + 1, + 62, + 0, + 63 + ] + } + }, + "type": "cube", + "uuid": "fd698e35-9448-12f8-4ea1-9abfc1d86688" + }, + { + "name": "PhoneEarLeftFront2_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.5, + 30.08, + -1.5 + ], + "to": [ + -3.5, + 34.08, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3.5, + 28.6, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 95, + 0, + 96 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 95, + 0, + 96 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 95, + 0, + 96 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 95, + 0, + 96 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 62, + 0, + 62 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 62, + 0, + 62 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "83f7478a-cd88-a072-b14a-aac679cc671e" + }, + { + "name": "PhoneEarLeftFront2_2OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.4, + 30.138, + -1.51 + ], + "to": [ + -4.3, + 34.063, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 30.1, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 96, + 1, + 97 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 62, + 0, + 63 + ] + }, + "south": { + "uv": [ + 1, + 62, + 0, + 63 + ] + }, + "west": { + "uv": [ + 1, + 62, + 0, + 63 + ] + }, + "up": { + "uv": [ + 1, + 62, + 0, + 63 + ] + }, + "down": { + "uv": [ + 1, + 62, + 0, + 63 + ] + } + }, + "type": "cube", + "uuid": "759cf829-fc6c-b23b-f394-09d2b21b073e" + }, + { + "name": "PhoneEarLeftFront2_2InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.7, + 30.541, + -1.51 + ], + "to": [ + -3.6, + 33.939, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 30.1, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 96, + 1, + 97 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 62, + 0, + 63 + ] + }, + "south": { + "uv": [ + 1, + 62, + 0, + 63 + ] + }, + "west": { + "uv": [ + 1, + 62, + 0, + 63 + ] + }, + "up": { + "uv": [ + 1, + 62, + 0, + 63 + ] + }, + "down": { + "uv": [ + 1, + 62, + 0, + 63 + ] + } + }, + "type": "cube", + "uuid": "5e464ee7-9b76-e363-35ab-cc8ac9024a22" + }, + { + "name": "PhoneEarLeftFront2_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.5, + 34.08, + -1.5 + ], + "to": [ + -3.5, + 35.9, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3.5, + 34.6, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 95, + 0, + 96 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 95, + 0, + 96 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 95, + 0, + 96 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 95, + 0, + 96 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 62, + 0, + 62 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 62, + 0, + 62 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f7ef2c19-5922-806b-fe13-635d0335552b" + }, + { + "name": "PhoneEarLeftFront2_3OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.4, + 34.099, + -1.51 + ], + "to": [ + -4.3, + 35.832, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 34.1, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 96, + 1, + 97 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 62, + 0, + 63 + ] + }, + "south": { + "uv": [ + 1, + 62, + 0, + 63 + ] + }, + "west": { + "uv": [ + 1, + 62, + 0, + 63 + ] + }, + "up": { + "uv": [ + 1, + 62, + 0, + 63 + ] + }, + "down": { + "uv": [ + 1, + 62, + 0, + 63 + ] + } + }, + "type": "cube", + "uuid": "c4e7e749-9878-e45a-341c-b943ad7693e0" + }, + { + "name": "PhoneEarLeftFront2_3InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.7, + 34.22, + -1.51 + ], + "to": [ + -3.6, + 35.342, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 34.1, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 96, + 1, + 97 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 62, + 0, + 63 + ] + }, + "south": { + "uv": [ + 1, + 62, + 0, + 63 + ] + }, + "west": { + "uv": [ + 1, + 62, + 0, + 63 + ] + }, + "up": { + "uv": [ + 1, + 62, + 0, + 63 + ] + }, + "down": { + "uv": [ + 1, + 62, + 0, + 63 + ] + } + }, + "type": "cube", + "uuid": "d9cf64b4-1f79-2af0-5eed-b045c13920ad" + }, + { + "name": "PhoneEarLeftBack1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.1, + 31.855, + -0.5 + ], + "to": [ + -1, + 34.595, + 0.5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.1, + "rotation": [ + 0, + 0, + 35 + ], + "origin": [ + -1, + 32, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 102, + 0, + 103 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 95, + 0, + 96 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 95, + 0, + 96 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 62, + 0, + 62 + ], + "texture": null + }, + "up": { + "uv": [ + 1, + 62, + 0, + 63 + ] + }, + "down": { + "uv": [ + 0, + 62, + 0, + 62 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b5a002b6-22e9-a072-4595-4028c86f3962" + }, + { + "name": "PhoneEarLeftBack2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.06, + 30, + -0.5 + ], + "to": [ + -2.56, + 34.35, + 0.5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.1, + "origin": [ + -3.75, + 32, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 102, + 0, + 103 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 95, + 0, + 96 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 95, + 0, + 96 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 95, + 0, + 96 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 95, + 0, + 96 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 62, + 0, + 62 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f54c98fe-b735-7964-faff-3d7981924e5a" + }, + { + "name": "GDDLabel", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 7.3, + 18.75, + -2 + ], + "to": [ + 7.3, + 20, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 5, + 22, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "east": { + "uv": [ + 18, + 12, + 98, + 37 + ], + "texture": 2 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ] + } + }, + "type": "cube", + "uuid": "25bdb45e-c0f4-1990-2b1e-36c4c00011a4" + }, + { + "name": "GameConsole1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5, + 12, + -0.375 + ], + "to": [ + 5, + 16.5, + 0.375 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -2, + 4.625 + ], + "faces": { + "north": { + "uv": [ + 35, + 107, + 15, + 108 + ], + "texture": 0 + }, + "east": { + "uv": [ + 35, + 117, + 36, + 107 + ], + "texture": 0 + }, + "south": { + "uv": [ + 15, + 107, + 35, + 116 + ], + "texture": 0 + }, + "west": { + "uv": [ + 14, + 117, + 15, + 107 + ], + "texture": 0 + }, + "up": { + "uv": [ + 15, + 116, + 35, + 117 + ], + "texture": 0 + }, + "down": { + "uv": [ + 15, + 107, + 35, + 108 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d7cd74b4-6927-4474-69b0-4b7c554151f9" + }, + { + "name": "GameConsole2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 5, + 12.25, + -0.375 + ], + "to": [ + 5.5, + 16.25, + 0.375 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -2, + 4.625 + ], + "faces": { + "north": { + "uv": [ + 35, + 107, + 36, + 108 + ], + "texture": 0 + }, + "east": { + "uv": [ + 35, + 107, + 36, + 108 + ], + "texture": 0 + }, + "south": { + "uv": [ + 35, + 107.5, + 36, + 115.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 106, + 0, + 106 + ], + "texture": null + }, + "up": { + "uv": [ + 35, + 116, + 36, + 117 + ], + "texture": 0 + }, + "down": { + "uv": [ + 35, + 107, + 36, + 108 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "801a9e9c-442a-e45b-3c49-2b76d6ce6175" + }, + { + "name": "GameConsole3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5.5, + 12.25, + -0.375 + ], + "to": [ + -5, + 16.25, + 0.375 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -2, + 4.625 + ], + "faces": { + "north": { + "uv": [ + 14, + 107, + 15, + 108 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 106, + 0, + 106 + ], + "texture": null + }, + "south": { + "uv": [ + 14, + 107.5, + 15, + 115.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 14, + 107, + 15, + 108 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 116, + 15, + 117 + ], + "texture": 0 + }, + "down": { + "uv": [ + 14, + 107, + 15, + 108 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "7916f77b-d03d-3d4c-f7cf-6f709eb78281" + }, + { + "name": "GDDLabel", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.5, + 12.675, + -0.385 + ], + "to": [ + 1.5, + 14.2375, + -0.385 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + -15 + ], + "origin": [ + -1, + 13.28125, + -0.385 + ], + "faces": { + "north": { + "uv": [ + 18, + 12, + 98, + 37 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 270, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 90, + "texture": null + } + }, + "type": "cube", + "uuid": "b7e035cc-46a3-5eb4-1b7d-0b1f2730804d" + }, + { + "name": "MillenniumLabel", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + 14.5, + -0.385 + ], + "to": [ + 3.5, + 16.0625, + -0.385 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 20, + -0.375 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 80, + 25 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 270, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 90, + "texture": null + } + }, + "type": "cube", + "uuid": "b26f72d9-e158-1497-e279-e0084d3e5e40" + }, + { + "name": "EffectPanel", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 0, + 0 + ], + "to": [ + 2, + 4, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 48, + 106, + 57, + 115 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "1d64eec8-ae1c-ab8c-f05a-2254aa0ec9a3" + }, + { + "name": "Frame", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -200, + -50.5, + -27 + ], + "to": [ + -20, + -10, + -27 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + -110, + -30.25, + -27 + ], + "faces": { + "north": { + "uv": [ + 0, + 118, + 120, + 145 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 120, + 118, + 0, + 145 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "75395169-e5dc-f2fd-6cee-934e741998ef" + }, + { + "name": "Background", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -59, + -49, + 0 + ], + "to": [ + -21.5, + -11.5, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -200, + -50.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 0, + 118, + 1, + 119 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ee26ac6f-bbd9-b6c2-f6e9-5dc348067fbf" + }, + { + "name": "RedBar", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -195.5, + -31, + -28 + ], + "to": [ + -60.5, + -14.5, + -28 + ], + "autouv": 0, + "color": 0, + "origin": [ + -60.5, + -22.75, + -1 + ], + "faces": { + "north": { + "uv": [ + 15, + 117, + 16, + 118 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e7077d63-e011-5e35-117b-439aa6f3e10d" + }, + { + "name": "YellowBar", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -195.5, + -31, + -29 + ], + "to": [ + -60.5, + -14.5, + -29 + ], + "autouv": 0, + "color": 0, + "origin": [ + -60.5, + -22.75, + -1 + ], + "faces": { + "north": { + "uv": [ + 14, + 117, + 15, + 118 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "27faeee7-cfa8-162b-221d-f22e42f45ff8" + }, + { + "name": "Body", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -44.75, + -45, + -19 + ], + "to": [ + -36.75, + -42, + -15 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2.75, + -8.4, + -17 + ], + "uv_offset": [ + 16, + 16 + ], + "faces": { + "north": { + "uv": [ + 20, + 95, + 28, + 98 + ], + "texture": 1 + }, + "east": { + "uv": [ + 16, + 95, + 20, + 98 + ], + "texture": 1 + }, + "south": { + "uv": [ + 32, + 95, + 40, + 98 + ], + "texture": 1 + }, + "west": { + "uv": [ + 28, + 95, + 32, + 98 + ], + "texture": 1 + }, + "up": { + "uv": [ + 28, + 95, + 20, + 91 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 29, + 0, + 29 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "4c2e12cc-7ac7-9daf-39a9-2edac2d3987e" + }, + { + "name": "BodyLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -44.75, + -45, + -19 + ], + "to": [ + -36.75, + -42, + -15 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + -2.75, + -8.4, + -17 + ], + "uv_offset": [ + 16, + 32 + ], + "faces": { + "north": { + "uv": [ + 20, + 111, + 28, + 114 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 29, + 0, + 29 + ], + "texture": 1 + }, + "south": { + "uv": [ + 32, + 111, + 40, + 114 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 29, + 0, + 29 + ], + "texture": 1 + }, + "up": { + "uv": [ + 28, + 111, + 20, + 107 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 29, + 0, + 29 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "69ba4e0d-e08c-82d0-ff76-39a98215e147" + }, + { + "name": "RightArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -36.75, + -45, + -19 + ], + "to": [ + -33.75, + -42, + -15 + ], + "autouv": 0, + "color": 0, + "origin": [ + 7.25, + 22.5, + 40 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 44, + 95, + 47, + 98 + ], + "texture": 1 + }, + "east": { + "uv": [ + 40, + 95, + 44, + 98 + ], + "texture": 1 + }, + "south": { + "uv": [ + 51, + 95, + 54, + 98 + ], + "texture": 1 + }, + "west": { + "uv": [ + 47, + 95, + 51, + 98 + ], + "texture": 1 + }, + "up": { + "uv": [ + 47, + 95, + 44, + 91 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 75, + 0, + 75 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "da2204de-63ec-0f03-d9b3-3446d536272e" + }, + { + "name": "LeftArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -47.75, + -45, + -19 + ], + "to": [ + -44.75, + -42, + -15 + ], + "autouv": 0, + "color": 0, + "origin": [ + 7.25, + 22.5, + 40 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 36, + 127, + 39, + 130 + ], + "texture": 1 + }, + "east": { + "uv": [ + 32, + 127, + 36, + 130 + ], + "texture": 1 + }, + "south": { + "uv": [ + 43, + 127, + 46, + 130 + ], + "texture": 1 + }, + "west": { + "uv": [ + 39, + 127, + 43, + 130 + ], + "texture": 1 + }, + "up": { + "uv": [ + 39, + 127, + 36, + 123 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 107, + 0, + 107 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "f7bb4fd4-7a56-cfcb-c858-6f2681dd622e" + }, + { + "name": "RightArmLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -36.75, + -45, + -19 + ], + "to": [ + -33.75, + -42, + -15 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 7.25, + 22.5, + 40 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 44, + 111, + 47, + 114 + ], + "texture": 1 + }, + "east": { + "uv": [ + 40, + 111, + 44, + 114 + ], + "texture": 1 + }, + "south": { + "uv": [ + 51, + 111, + 54, + 114 + ], + "texture": 1 + }, + "west": { + "uv": [ + 47, + 111, + 51, + 114 + ], + "texture": 1 + }, + "up": { + "uv": [ + 47, + 111, + 44, + 107 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "d2200089-34e5-c2cd-6af1-a9ab90416555" + }, + { + "name": "LeftArmLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -47.75, + -45, + -19 + ], + "to": [ + -44.75, + -42, + -15 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 7.25, + 22.5, + 40 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 52, + 127, + 55, + 130 + ], + "texture": 1 + }, + "east": { + "uv": [ + 48, + 127, + 52, + 130 + ], + "texture": 1 + }, + "south": { + "uv": [ + 59, + 127, + 62, + 130 + ], + "texture": 1 + }, + "west": { + "uv": [ + 55, + 127, + 59, + 130 + ], + "texture": 1 + }, + "up": { + "uv": [ + 55, + 127, + 52, + 123 + ], + "texture": 1 + }, + "down": { + "uv": [ + 16, + 107, + 16, + 107 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "b1d13941-f187-cd00-a4d6-e6d14d969669" + }, + { + "name": "Body", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -44.75, + -45, + -19 + ], + "to": [ + -36.75, + -42, + -15 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2.75, + -8.4, + -17 + ], + "uv_offset": [ + 16, + 16 + ], + "faces": { + "north": { + "uv": [ + 20, + 51, + 28, + 54 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 51, + 20, + 54 + ], + "texture": 0 + }, + "south": { + "uv": [ + 32, + 51, + 40, + 54 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 51, + 32, + 54 + ], + "texture": 0 + }, + "up": { + "uv": [ + 28, + 51, + 20, + 47 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "74e06902-795d-aa5f-869d-70430c4f30aa" + }, + { + "name": "BodyLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -44.75, + -45, + -19 + ], + "to": [ + -36.75, + -42, + -15 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + -2.75, + -8.4, + -17 + ], + "uv_offset": [ + 16, + 32 + ], + "faces": { + "north": { + "uv": [ + 20, + 67, + 28, + 70 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 0 + }, + "south": { + "uv": [ + 32, + 67, + 40, + 70 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 0 + }, + "up": { + "uv": [ + 28, + 67, + 20, + 63 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "ff87612e-a130-b842-3136-7b26c61915af" + }, + { + "name": "RightArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -36.75, + -45, + -19 + ], + "to": [ + -33.75, + -42, + -15 + ], + "autouv": 0, + "color": 0, + "origin": [ + 7.25, + 22.5, + 40 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 44, + 51, + 47, + 54 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 51, + 44, + 54 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 51, + 54, + 54 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 51, + 51, + 54 + ], + "texture": 0 + }, + "up": { + "uv": [ + 47, + 51, + 44, + 47 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 31, + 0, + 31 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "72501e68-e8d2-cc3c-fdc0-d7053d193579" + }, + { + "name": "RightArmLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -36.75, + -45, + -19 + ], + "to": [ + -33.75, + -42, + -15 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 7.25, + 22.5, + 40 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 44, + 67, + 47, + 70 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 67, + 44, + 70 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 67, + 54, + 70 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 67, + 51, + 70 + ], + "texture": 0 + }, + "up": { + "uv": [ + 47, + 67, + 44, + 63 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 47, + 0, + 47 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "3dbe9b53-9665-6e31-1d9f-1273a05ced09" + }, + { + "name": "LeftArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -47.75, + -45, + -19 + ], + "to": [ + -44.75, + -42, + -15 + ], + "autouv": 0, + "color": 0, + "origin": [ + 7.25, + 22.5, + 40 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 36, + 83, + 39, + 86 + ], + "texture": 0 + }, + "east": { + "uv": [ + 32, + 83, + 36, + 86 + ], + "texture": 0 + }, + "south": { + "uv": [ + 43, + 83, + 46, + 86 + ], + "texture": 0 + }, + "west": { + "uv": [ + 39, + 83, + 43, + 86 + ], + "texture": 0 + }, + "up": { + "uv": [ + 39, + 83, + 36, + 79 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 63, + 0, + 63 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "23c03f63-83ed-3d4f-5816-3575a202cbf5" + }, + { + "name": "LeftArmLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -47.75, + -45, + -19 + ], + "to": [ + -44.75, + -42, + -15 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 7.25, + 22.5, + 40 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 52, + 83, + 55, + 86 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 83, + 52, + 86 + ], + "texture": 0 + }, + "south": { + "uv": [ + 59, + 83, + 62, + 86 + ], + "texture": 0 + }, + "west": { + "uv": [ + 55, + 83, + 59, + 86 + ], + "texture": 0 + }, + "up": { + "uv": [ + 55, + 83, + 52, + 79 + ], + "texture": 0 + }, + "down": { + "uv": [ + 16, + 63, + 16, + 63 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d959c899-0bac-4e5d-c98b-d66350c75545" + }, + { + "name": "DeadEye", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 25, + -4.015 + ], + "to": [ + 3, + 28, + -4.015 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + -49, + -28, + 12 + ], + "faces": { + "north": { + "uv": [ + 36, + 107, + 48, + 113 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f7e478c7-ba53-b4ff-d3f7-386417db496d" + }, + { + "name": "TailRibbonLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + 13, + 4.09 + ], + "to": [ + 1.5, + 15, + 4.09 + ], + "autouv": 0, + "color": 0, + "inflate": 0.125, + "origin": [ + 0.5, + 17.5, + -2.16 + ], + "faces": { + "north": { + "uv": [ + 48, + 97, + 51, + 99 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 48, + 97, + 51, + 99 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "3b9ec586-2688-64a4-0d7d-d0f98003cbfc" + }, + { + "name": "TailRibbon", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + 13, + 4.09 + ], + "to": [ + 1.5, + 15, + 4.09 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0.5, + 17.5, + -2.16 + ], + "faces": { + "north": { + "uv": [ + 45, + 97, + 48, + 99 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 45, + 97, + 48, + 99 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e8cba1de-3951-dbe1-3723-65ed30a31c4c" + }, + { + "name": "TailRibbonBase", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 14, + 3.965 + ], + "to": [ + 0.5, + 15, + 4.215 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0, + 14.75, + 4.09 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 46, + 97, + 47, + 98 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 46, + 97, + 47, + 98 + ], + "texture": 0 + }, + "up": { + "uv": [ + 46, + 97, + 47, + 98 + ], + "texture": 0 + }, + "down": { + "uv": [ + 46, + 97, + 47, + 98 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "1cd1d41c-cafa-f025-5d19-bdd6c12a4523" + } + ], + "outliner": [ + { + "name": "Midori", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "e98e96cf-993b-878e-02b8-777c368bb888", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "MidoriHead", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "22d40862-bd19-a16d-9e33-79364e6656d8", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a66c63cf-0082-7797-3f4e-08ff434a1cac", + "d48552a8-9f0d-7335-2a82-794f3264fc9d", + { + "name": "MidoriHairRibbons", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "0c59a2cf-3216-5181-7b59-d7ec0d95bc1f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "cb186902-ed9f-81b4-4202-9b6bd1679875", + "a9969c6d-21ee-6a83-fded-e167709975e0" + ] + }, + { + "name": "MidoriPhone", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "ecb0ee56-5170-3365-596a-169877c19369", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "01f6d688-d2cd-c36a-df2e-a80523a72020", + "4f5e53a6-b464-0187-a63a-a317f45c2beb", + "ac86679a-d55c-be34-cf2b-68f42e402541", + "943051a6-3609-4b6a-a9be-3e7a6d7e866b", + "0aae78b3-7629-724d-62de-d336c7bb05d6", + { + "name": "PhoneEars", + "origin": [ + 0, + 32.5, + -1 + ], + "color": 0, + "uuid": "8a0d4e0c-c75a-8b96-4d55-3b327212efbf", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "PhoneEarRight", + "origin": [ + 0, + 32.5, + -1 + ], + "color": 0, + "uuid": "9420ea33-54f3-229f-aa64-9a45aa1de2e0", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "PhoneEarRightFront", + "origin": [ + 0, + 32.5, + -1 + ], + "color": 0, + "uuid": "8ae76f75-5f55-c724-8aba-a832c61d7751", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "PhoneEarRightFront1_1", + "origin": [ + 0, + 32, + -1 + ], + "rotation": [ + 0, + 0, + -35 + ], + "color": 0, + "uuid": "e4b7cf64-7648-39b9-5be6-7e3f25214053", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "5628b192-ac9f-3e32-91d4-2d87aa746910", + "c1fcb63e-6496-d3a3-64cb-e2251ddf6b9e", + "beef8305-3bf6-58e9-b6da-1cd0fab1fe2f", + { + "name": "PhoneEarRightFront1_2", + "origin": [ + 0, + 35, + -1 + ], + "rotation": [ + 0, + 0, + -25 + ], + "color": 0, + "uuid": "59bb8b92-fe58-64d2-7a1c-8beaa43ff9f2", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "403fa6ce-f0d8-c5be-a8b6-d47294eb4984", + "76f78202-a819-a689-73e2-64029f8d0f9d", + "b779ad53-9102-aacf-4abf-51210f0edbde", + { + "name": "PhoneEarRightFront1_3", + "origin": [ + 0, + 37.09, + -1 + ], + "rotation": [ + 0, + 0, + -30 + ], + "color": 0, + "uuid": "a7bbb537-2a97-304f-3e26-8b99aa386fe3", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f1e596d1-8e6e-52f8-ee7e-4c2fe9e40228", + "6544450b-5248-1b6d-e92d-2543dd68f300", + "348fd0c9-c2ba-34d9-9160-bd82c3a23d43" + ] + } + ] + } + ] + }, + { + "name": "PhoneEarRightFront2_1", + "origin": [ + 4.5, + 29.5, + -1 + ], + "rotation": [ + 0, + 0, + -60 + ], + "color": 0, + "uuid": "defaac45-9178-f07f-7e9d-914192a8bcfd", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4bd4c91f-764a-3ef9-009c-766a50959788", + "1a50d8d3-d2c0-1c03-5226-56fabd5b1aa7", + "d3a63ec7-8768-7c37-4624-c7e3d4192e12", + { + "name": "PhoneEarRightFront2_2", + "origin": [ + 4.5, + 30.08, + -1 + ], + "rotation": [ + 0, + 0, + 60 + ], + "color": 0, + "uuid": "fb7e3287-5d3a-557b-85d5-e687a41f4eee", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "092a0e63-d5dd-7734-63ea-fa9d2553d0f5", + "c5113057-7bfd-25ad-e529-b49c112c3377", + "2840ca2d-db60-7b72-40c4-526f07cf8a96", + { + "name": "PhoneEarRightFront2_3", + "origin": [ + 4.5, + 34.08, + -1 + ], + "rotation": [ + 0, + 0, + 20 + ], + "color": 0, + "uuid": "9e95149d-5fe0-1d87-78d3-2a8f624f27fa", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e774d120-5304-8e16-59f6-3320dd90cc26", + "0dca0cdb-bd65-b554-9877-c42622b728bd", + "c95bca51-10cf-7f94-f3f4-4e2202585871" + ] + } + ] + } + ] + } + ] + }, + { + "name": "PhoneEarRightBack", + "origin": [ + 0, + 32.5, + 0 + ], + "color": 0, + "uuid": "74069bd7-7675-7146-18bd-4a7ba06f969f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b561e0e5-fa37-6c25-4798-cb2864fd4ef3", + "dedf0f6b-187d-2be9-04f4-b753ebcdcf51" + ] + } + ] + }, + { + "name": "PhoneEarLeft", + "origin": [ + 0, + 32.5, + -1 + ], + "color": 0, + "uuid": "f10267d6-0d58-cc2f-4920-e7ff33270f54", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "PhoneEarLeftFront", + "origin": [ + 0, + 32.5, + -1 + ], + "color": 0, + "uuid": "c0095888-9572-cea5-9bdc-d77dc8f488ac", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "PhoneEarLeftFront1_1", + "origin": [ + 0, + 32, + -1 + ], + "rotation": [ + 0, + 0, + 35 + ], + "color": 0, + "uuid": "04e771b1-46c1-0055-171a-ce7b7640b6b2", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "be67e76c-c7f9-9a4b-6c04-524fbc76c77b", + "a76db6f4-0ef7-6aed-1cc1-9c1259141265", + "2d6e824a-b085-3640-e1e5-7ba8c21408be", + { + "name": "PhoneEarLeftFront1_2", + "origin": [ + 0, + 35, + -1 + ], + "rotation": [ + 0, + 0, + 25 + ], + "color": 0, + "uuid": "17b848e3-d84e-f9d6-029a-e8d8c41bab91", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8cc219f9-f431-d538-3d6f-fcab7185ee25", + "c3b3c7a5-1906-1860-5da3-6879de869a89", + "239182e8-2f83-2228-a01c-9bba6132ebd4", + { + "name": "PhoneEarLeftFront1_3", + "origin": [ + 0, + 37.09, + -1 + ], + "rotation": [ + 0, + 0, + 30 + ], + "color": 0, + "uuid": "3f9f3b07-3a38-b67a-5e55-8ac70f129560", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "2efdfc14-75ad-3917-bcbd-c864f6a4908a", + "12e1aa45-4861-cd9c-cdfd-5b656c8af07c", + "64b1a793-eb74-5aab-221f-0058edf82966" + ] + } + ] + } + ] + }, + { + "name": "PhoneEarLeftFront2_1", + "origin": [ + -4.5, + 29.5, + -1 + ], + "rotation": [ + 0, + 0, + 60 + ], + "color": 0, + "uuid": "f5f8cc88-77cb-6726-8b74-15095adaa508", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "0cabbb13-53a1-76d6-49c1-244a341e3fc4", + "4b86c2c6-6541-ae97-908d-c4c0946d9742", + "fd698e35-9448-12f8-4ea1-9abfc1d86688", + { + "name": "PhoneEarLeftFront2_2", + "origin": [ + -4.5, + 30.08, + -1 + ], + "rotation": [ + 0, + 0, + -60 + ], + "color": 0, + "uuid": "61b4a9db-fbbf-0f17-767a-c0471465950a", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "83f7478a-cd88-a072-b14a-aac679cc671e", + "759cf829-fc6c-b23b-f394-09d2b21b073e", + "5e464ee7-9b76-e363-35ab-cc8ac9024a22", + { + "name": "PhoneEarLeftFront2_3", + "origin": [ + -4.5, + 34.08, + -1 + ], + "rotation": [ + 0, + 0, + -20 + ], + "color": 0, + "uuid": "cf8e1310-5882-9378-e414-9b0710d312d2", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f7ef2c19-5922-806b-fe13-635d0335552b", + "c4e7e749-9878-e45a-341c-b943ad7693e0", + "d9cf64b4-1f79-2af0-5eed-b045c13920ad" + ] + } + ] + } + ] + } + ] + }, + { + "name": "PhoneEarLeftBack", + "origin": [ + 0, + 32.5, + 0 + ], + "color": 0, + "uuid": "a3f8b87b-ecbb-f38a-de09-c1ddaf611c97", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b5a002b6-22e9-a072-4595-4028c86f3962", + "f54c98fe-b735-7964-faff-3d7981924e5a" + ] + } + ] + } + ] + } + ] + }, + { + "name": "MidoriFaceParts", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "db381b6c-e0d3-6ca8-6433-4371d36cc6c6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Eyes", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "25d20f6a-b84c-5105-726d-79a4fc3a5a4d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "7853e9a2-b429-5a00-5e0e-70449c3a71ee", + "328a2de5-64bc-807b-5906-227bfceedf26" + ] + }, + "d9d80373-4145-9e90-28de-12248a8075d9" + ] + }, + { + "name": "MidoriHeadRing", + "origin": [ + 0, + 28, + 0 + ], + "color": 0, + "uuid": "e8809cb5-a507-86d8-da91-c79b1d4d233e", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "48cfe147-8711-a325-c722-fe73d6c4d87a", + { + "name": "RingParts", + "origin": [ + 0, + 28, + 0 + ], + "rotation": [ + 35, + 0, + 0 + ], + "color": 0, + "uuid": "e32b6794-e7c2-9c56-393f-a85b7edf387d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "faf8ab6b-f4f0-ca97-dccf-5419513d1359", + "61c19b56-1984-cdcb-7a31-987945b0ae33", + "f0e4c2d9-cc4e-0c13-3e3a-2b95d8c0d034", + "4a2f805b-02d9-da24-e361-0c0309289a1d" + ] + } + ] + } + ] + }, + { + "name": "MidoriUpperBody", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "16d22746-633e-382e-dd96-b35bde99daa5", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "MidoriBody", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "bf4dd57f-d0f7-1fe0-98e6-59e00f97f41b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "742e9ab7-8cdd-8d93-9a9a-88011f54d15b", + "2574fa9e-0d5f-502c-ce28-ef5cf30f41ec", + { + "name": "MidoriSkirt", + "origin": [ + 0, + 14, + 0 + ], + "color": 0, + "uuid": "3ef4a513-6419-fc26-408e-8f2b4dea9387", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "38c80056-38bf-0791-5b8e-c3a3b2591654", + "e5f18b5e-4093-76a4-d9ae-165f680424da" + ] + }, + { + "name": "MidoriTail", + "origin": [ + 0, + 14.5, + 2 + ], + "rotation": [ + 15, + 0, + 0 + ], + "color": 0, + "uuid": "9100b434-e831-96c3-9283-218e489cafe0", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "50e61828-ccdd-ee8e-c621-0a193b35fd5e", + { + "name": "TailRibbon", + "origin": [ + 0, + 14.75, + 4.09 + ], + "color": 0, + "uuid": "5188006f-1495-610b-c7fd-6c30659e9544", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "3b9ec586-2688-64a4-0d7d-d0f98003cbfc", + "e8cba1de-3951-dbe1-3723-65ed30a31c4c", + "1cd1d41c-cafa-f025-5d19-bdd6c12a4523" + ] + }, + { + "name": "Tail2", + "origin": [ + 0, + 14, + 8 + ], + "rotation": [ + -40, + 0, + 0 + ], + "color": 0, + "uuid": "feb531f7-26bb-8a9c-0e7a-1339231405db", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4113cbe8-5856-27e8-5d63-4f6f3f13ccbd" + ] + } + ] + } + ] + }, + { + "name": "MidoriArms", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "c062b0e8-6983-de4d-12e9-7b5ad9e81528", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "MidoriRightArm", + "origin": [ + 5, + 22, + 0 + ], + "color": 0, + "uuid": "3c1cb66d-8a31-d31f-ec9f-65a33e313a53", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8831734e-ce90-e6bb-8368-e011a468277d", + "cea7603d-ae80-e4e7-6f93-905551a79117", + "25bdb45e-c0f4-1990-2b1e-36c4c00011a4", + { + "name": "MidoriRightArmBottom", + "origin": [ + 5, + 18, + 2 + ], + "color": 0, + "uuid": "b924539e-1292-1a17-6240-a525ae346090", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "643f9c05-2d3c-e1d1-5a2f-874902eb1784", + "b1a76f47-912e-c2d4-8090-6f6ac9734672", + "29a6683b-b165-5012-f56b-a8b8ebf7af9a" + ] + } + ] + }, + { + "name": "MidoriLeftArm", + "origin": [ + -5, + 22, + 0 + ], + "color": 0, + "uuid": "e7d3e5d8-00e4-587c-7bb6-6787db00054b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "af1aa9d5-0ccf-d579-b381-54ac7b12fb55", + "b74fb9e9-db24-b669-6f87-8469be63eda5", + { + "name": "MidoriLeftArmBottom", + "origin": [ + -5, + 18, + 2 + ], + "color": 0, + "uuid": "ad1c45ef-c0a8-6d31-d2dc-fbdc6ab7ddcc", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a82219a3-e344-a4d8-c85c-51462943a7dc", + "d7794b2f-dbb3-2cd5-c956-cd163b703976", + "068c9564-63f3-82ac-0263-7761baadd884", + { + "name": "GameConsole2", + "origin": [ + 0, + 14.25, + 0 + ], + "color": 0, + "uuid": "8f24792e-7ef8-0b12-9dcc-81436fb8d600", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + } + ] + } + ] + } + ] + }, + { + "name": "MidoriLowerBody", + "origin": [ + 0, + 12, + 0 + ], + "color": 0, + "uuid": "2f61e368-1c06-648e-26d4-aee94647e4da", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "MidoriLegs", + "origin": [ + 0, + 12, + 0 + ], + "color": 0, + "uuid": "29730186-2622-086d-ab67-4bb8e356bb6c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "MidoriRightLeg", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "4e80b5b4-7c04-8374-f8a7-526b3d36d050", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "da81ebbe-5b4e-2d46-144a-6f839ad6fa3c", + "bcf37da3-caec-e8f2-bc82-76a3f169374c", + { + "name": "MidoriRightLegBottom", + "origin": [ + 2, + 6, + 0 + ], + "color": 0, + "uuid": "84fe0b3a-286b-e17f-288e-c39feaa2e5e6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8b1cc891-ffa8-9f46-ebc0-f0b84e6ffb15", + "72c6eff7-d0eb-2ffa-193f-2ca402bdc722" + ] + } + ] + }, + { + "name": "MidoriLeftLeg", + "origin": [ + -2, + 12, + 0 + ], + "color": 0, + "uuid": "73b3d6bc-af0b-a066-5d73-f3938109e11f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "9c06bc9a-beae-98d9-e9ce-9c8e6ddbb9d3", + "f8f1e7ad-7999-9f17-0488-5dcbd4af7945", + { + "name": "MidoriLeftLegBottom", + "origin": [ + -2, + 6, + 0 + ], + "color": 0, + "uuid": "ee9973d4-ff4e-c96b-64f6-d1f28afd69c6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a1169ee6-6a78-c7c4-9214-670991206468", + "a5173990-504e-f5c4-45c7-9347880c1306" + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "name": "GameConsole1", + "origin": [ + 0, + 14.25, + 0 + ], + "color": 0, + "uuid": "809b49f8-db80-0544-0448-7a757616653e", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d7cd74b4-6927-4474-69b0-4b7c554151f9", + "801a9e9c-442a-e45b-3c49-2b76d6ce6175", + "7916f77b-d03d-3d4c-f7cf-6f709eb78281", + "b7e035cc-46a3-5eb4-1b7d-0b1f2730804d", + "b26f72d9-e158-1497-e279-e0084d3e5e40" + ] + }, + { + "name": "EffectPanel", + "origin": [ + 0, + 2, + 0 + ], + "color": 0, + "uuid": "ad2aa2ae-fb45-455b-bcc8-04c484f42739", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1d64eec8-ae1c-ab8c-f05a-2254aa0ec9a3" + ] + }, + { + "name": "Gui", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "47747c28-1220-4fd3-5e3f-ef01a645e3a4", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "UI", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "d491a9b4-92b1-d055-b160-f61a0ca28ea7", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "MomoiUI", + "origin": [ + -200, + -50.5, + -1 + ], + "color": 0, + "uuid": "0c257f96-5fde-ff7d-196f-5e7238fd7f97", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "75395169-e5dc-f2fd-6cee-934e741998ef", + "ee26ac6f-bbd9-b6c2-f6e9-5dc348067fbf", + { + "name": "RedBar", + "origin": [ + -60.5, + -22.75, + -1 + ], + "color": 0, + "uuid": "aef4b166-852e-25b2-68b7-4a5986998fe7", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e7077d63-e011-5e35-117b-439aa6f3e10d" + ] + }, + { + "name": "YellowBar", + "origin": [ + -60.5, + -22.75, + -1 + ], + "color": 0, + "uuid": "3c5fc559-1fd9-7d7d-59c9-2c24fc1d4a90", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "27faeee7-cfa8-162b-221d-f22e42f45ff8" + ] + }, + { + "name": "PaperDoll", + "origin": [ + -41, + -42, + -17 + ], + "rotation": [ + 0, + 15, + 0 + ], + "color": 0, + "uuid": "502c1749-f2cf-c159-0030-a96d7aac5e2a", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "MomoiPaperDollBody", + "origin": [ + -35, + -16, + 40 + ], + "color": 0, + "uuid": "d927ab3d-28ce-2b44-6bc4-9fd4574790dd", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4c2e12cc-7ac7-9daf-39a9-2edac2d3987e", + "69ba4e0d-e08c-82d0-ff76-39a98215e147", + "da2204de-63ec-0f03-d9b3-3446d536272e", + "d2200089-34e5-c2cd-6af1-a9ab90416555", + "f7bb4fd4-7a56-cfcb-c858-6f2681dd622e", + "b1d13941-f187-cd00-a4d6-e6d14d969669" + ] + } + ] + } + ] + }, + { + "name": "MidoriPaperDollBody", + "origin": [ + -35, + -16, + 40 + ], + "color": 0, + "uuid": "c1e606e8-8a5d-acd6-8093-5c39116a238d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "74e06902-795d-aa5f-869d-70430c4f30aa", + "ff87612e-a130-b842-3136-7b26c61915af", + "72501e68-e8d2-cc3c-fdc0-d7053d193579", + "3dbe9b53-9665-6e31-1d9f-1273a05ced09", + "23c03f63-83ed-3d4f-5816-3575a202cbf5", + "d959c899-0bac-4e5d-c98b-d66350c75545" + ] + }, + "f7e478c7-ba53-b4ff-d3f7-386417db496d" + ] + }, + { + "name": "TextAnchor", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "3d2b3a9b-6454-a7fd-e0ae-a90624029e9c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + } + ], + "textures": [ + { + "path": "", + "name": "ex_skill_1.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 120, + "height": 145, + "uv_width": 120, + "uv_height": 145, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "49d663f7-0284-81d3-5d9d-8f9c415279bb", + "relative_path": "../../textures/ex_skill_1.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHgAAACRCAYAAAAIL3yYAAAAAXNSR0IArs4c6QAAEBFJREFUeF7tnXuQFMUdx3+9x7143vEQjaKAUUAMZQB5XRDuUARFTFkVtTQpUdEoSKU0koASKxUx4LsUEUoUkooSiY+KiorK7R4Snh5IoUFQOMoD1ADeHffe29v9pbp3e+mdnffszu4sPf/M7Ux3/7p/n/7+uufRcwQREeRm2wOEEGI7swsZiQTszMsSsDP/ZX1uTwG2G214lLeSP1dGBk8BpnKxAonLSwLO3kCjOgZbgSwq0W6+7HWPcc08p2DeJLOw7KiX2pAh2rjzpCKFpVm0ErqeevXA5wrc2JCWG5dJaoo2A1EvXyp6aKbL8GyIVjrOjnrVJm25pN6cUbBUr3acyAkFS/XmMGCpXv1R3vMKlurNYcBSvcZzdE8rWKo3hwFL9RrD9fRlUrrUS8sVb5DQv0VbynOim8W8WrdUeXlqNqza5fbU6izY996drHSqV6vjKOFpwVTeKNGDLsLmdrU6gNhh9DqC8j66J8fgdKmX39lSU6kTwGqPLcXIoAVaWR+t+uWcgpW3GNVUo3SqWshUuy2p5SwngPVUbRRm9ewa5fX0GKzWu43GQ7Uwp3ZP2+xYKOZVjtU8VKpFG61x3oxdsXObjDTeG4PNzR9lKs8rWCI09oAnJ1nGzZIpPHOZZIQKq19w9GI8GX0fGfLxdlbGganjsnq8MvKFF88bOtwp4KF1o5lfGqt3wfcPzTW050UnZnOdDR2eCsAULt8kZHe7Q9oB0xBNm3TOX5fHQ33P0aNkuHaJc2oAD71Fvbr71wIHzCFTuHI8dokuXchgZMpUiDYJWE62jLyd+vOuAk599WWJRh5wDrhHN4Bzr1e3c+wdIENuN7RhVEl6nkWSYAigMB/onpTdn5Jyzdj2chqidBx3YHxPWxdzquqet15wvmF6G6Bwy7MoliuO7V4GkO66WwIcLuoBee1NwPfM4S4Axq/XRGfgjS1MvVLF5rtFFDANs3Q72QDQtyT6d1PMmQBRoENugPCBt7UB65UhlknLFtLqhVoxulDFqkYbOlOMXYqZb/aZk9KUgjlg6pbmQ+uge1ERNLe3Q/dQOK0KjgPtWxIfy/HAGqTjOt2zTigB6/ZWgntX4okTx6Ffv7NAaw+Db1QvpOZfmnk0ywJIyHPWlEdYJ+MKVe71JlT8Ek4rr9pxPmETz+Wynsnxyr/oPkyg4I0AO3FQv169AQq6AHR0qu8LCzVn4kzFwaB2XrUyaWUFe2TEPTk9G2eAddVbWKh7GUQdbBQBxPPUv6I91jmoDQpKbU9DsMalFgNMN628ascV9lJ1Geekk6czLwvRmgaow+k1aK9pAD4fkK7RWTO2hgAiESCnNkSzUkfa3WIKFcdWPsZy5/NzognxmFZeteNszI6N4bkOl7WVO23BiMsTQC/d+xk7p3XcLs9M5nsXKzU780wyRTVUr0c/ziAVng3jtgF7qUNQSAAIMzQg0k63HivpK/hwnQAzmi+6eRUy4aCW7Pg02pKiIrji3nlQtnUH+8mPX3H/fPh0xTK6CkFX2dmm+A+wEq+JgX0f/UgoMoJAYbKG0C85EoB4mkglXus7rWbPK1gJ+LpnFkNN9VGYeWhfAmCt47RDDL9hlmr69x5aHO8QmQjNH6Ifp5MKsiFSiUgI0L+16rEB/eyjnSw9+nFaLG3OAH5s9zbW9nlvLIGvNn0HY7dWs99OjwdWrsjYWP5xxI9TfRXko4gfr/YZj6Mfox+nkgryEfrx6lwBzHt0uLOTjTdrDj7MDs0e+jgD4/T4wRv9rDw+aXNLyRvRj1eSCrIx4scrTcDl9eL5PkE/XkUqSBUGcDIp9/4kizdwwLDyhJlmF+xIYHJ4/xbdxtKv14679nbY/v6ahHz82PmXVOgyPvJVwLD8eAEt9fE/SffeCfn8GMAKUk4qMYBTLACqRD9OIRUsX55QU69CTnJmKgE3NDQwF5WUlIDbgAORAJb7ykkAA1huATBPz/NLBSv0yBW84bVnoSQ/GgwaQgSm3Xo/U7VbCt4UCeAkX7nlELsJAziJlBO7+d0agszaSZuCMw34UwzgFaScbI5U4UTfZNNj6GYM4ESaD6twIplsuYOYdbxb6YgyJFs1XLsvOokSNx6O1UK0WvnimB0MBqGwsDAe0q3Wh6ffClVQRsrJlkgAy3zmJ0lbsArLyGTyHwzgL0g5qY5U4WgLHcRufdOVL62Ab1u+n9X773OH6gJLB+BtWAUTfOVkW6QKx1sAtC0SwPG+crIVq7BAmG56FTKJfPOlo7VHp/pemNT5pt16L2x4bQXM33qSnXtyQl/gx9R6qnguHI5AXp5PNz0vo6SkKKG4hob2+O/S0mKyHatwHJlMdmAVjiXGYXpHpArH+iYTvqeFeV7B2FznCHBDqFgT8MIj0UusJQMKMgJ4Z2QTjvFNIp/hJqS3JC/XUTJNS29ZjiGTyM5IFY6JpZWAsxiwUoHVWEVvQgsbnXtF70WPjim8OrIJR/smxSdlngd88ajpjhS8Y+PbmgqmJ4qLCbS1YVoUrDcxoSGan98dU+dIchqcMi9LAwAjBbjpmvi4WS75/PP9jgAPHHhB1gPmFdwTg6jm4MtyDCxvIzkTFOymYrLNlgScbURSXB8yaGiZoxC9e9vGNIfo05c+VtpeWlqqevfq8OurEto76Oa7TN/lsmI/W9KqAn7ww/NY/Z6aftSwnp2kwDCNkwS1n71lK7vy6ZKtQnIgE1l++CZHCl56zfG0ukECdubelIenhZvv1O0wSya+4sjmsm9uYeV/90MxOC3Lmeu8kduRs9WaKAL+w6VPsSRPfPlgPKlTKBKwtY6VNsAULp/o1NfXI4csAVsD5DS1BOzUg1mePy2AF09YRZ8Ixf8vIn2XOhyO4KKtdyWNm0Zj9k/OblN1IR2DlZuYdt5Fa1PetixnqVq9lDvhZ5N+xSZBX2x6I6FsreN0TKWw/jRqWUIFH901D7TgvjQ7xNLOWNwzIY8EnMw45YCpUi+ruIkBnv3+EQb75WsHkEOHDuEv71iQBJ4CnjP4VdXe92LNr4HDFBP8e/VSoGXpbcoO5kX1paLOjgFzZXLVioDv2XuKAV45oheh6fb417HQLeYxagTNo9yCwXYoLEx82M/T8HPUjlHZZ8L5lDtBCfi2gd1gfM8uTMEDBw5igEXH0vRWHS0Bm/dYWgGL1RAVLAGbB+Q0pWuApYKdorKX3zXAdhV819roWimr2+rfLEl526zWIRvSp9wJ4hgsNtCugiVgZ92EXPDMUs1JTmGdOv9g79NZvn1gQdKkiV8mmRmDW1tbUZwRKydQErBDwM6yJ+fWUrBeiKZQ6UZB8795yfe99aitKsoQHXWbayFaCzBXsFK5/LdUsK3+Hc+UcsCpWH4ar53O+l+tZtN72/yWpbwfnQYFS8DOFJfq3FLBqfZolpUnAWcZkFRXxzHgdKwvNtNI/r0utefJWo8ZxXLPlPE55wCvX9TION79svA1epUeIwGbkREAOF1fTH46PMGSuMZXrwp8cZnao0f5vPi05xwr2On6YuhW6giw2uNG+ThRAk56Lm0yYHkumWMFp2N1ohkv8hAtFazvLceA07G+WAI24wFzaRwDzrSC7/jHQsuv/FDXnCkPIyRgc0LwbCpy8aLHkxQgPu/Vaxl9Xhx6811Hjd+9bb2t/HxZjFRwmsdgtQXkVtYX11S/ZwswX/8rAacZsNP1xXP6rZCAbXnAXCZSfrX2AvCNH/yTlaJ8BYc/vBdN0DR04y+qi+8/a73lwfMry+Nl8fPKMrXq/PBLAI/dndzwwEfrHM81zLkz+1IxwMNm1SbV7Ku/nQ8UsN4KAfEa1Aiw0UoD3gn0XMSXo9A6c5haUMVyJOBZtUCB8o0Cp79PtkeS1hKJjhOVpweYpjNaKyTeUx4zv08C551P/sh+8zL6LVgWnxj2njkSDkwoI0O2bkG6zz4NZbZGcQVnA2CjTsBddd7y1/Ho3JsJ32fWhdltXRew1RAtAlKq2wgeT6/2yq1yrDYK99ntcndrZzgGU4errfBTHleC4S+6q03S1JqoXKWolkZrCaq7LvOWNd1ZtJnJCZ9oGc20jVQnTrK01K61iNxbLne3tmT3D3fiyLOjnzYSZ8VGQHg19S6BlCrmkeDuD+ew7C9Nf5HteTQwa9NdF3nbmuZaXbPO5oD1wrjZsrhC9TqCOJv2tuvdqX1WAqZN17pUkoCtdYyUA6bh127oNXMtLAFbBOz0jQhliHYC2FrVk1KzfxyrOJpwDAcNZzdIyOH/EvFvh3azOjv7fpWyhmZeWvO3/jGebcn1exw1cuOtf47n991p+W4Uh2gO8OA2IJU1BKcMRqgpZrAdVT7LMzsCvLRsMyzYMhEo4Bm/fQ58XXzQltcfTtbWwOiSejjyTSsUdS+Gbl0JQJ4PmruWwPfhNuis3QUXDRoIY8eNggfmzAIK+Krnfg+f/O5poID5/zTW+o+livNKwEmguVphcPSjanHA9EdN9INquQqa1Ne32XrlpbrLIwkKnv30O9ARDMKJ+k74Yu8e6FnaD/r0KYX8tuPQrWsPGEmOwonzRwJ2tEKooQ7OK+kCx458DatWLgdysonBpZAr926PK0oJWgO8EWDEQcOBw8VLEHzLDpPIvEFI9sVM5bCSbU+yPmmaj6KC573wJtSdaILO5g4IdjTCOUVNkN9/COS1/ADFPfvAd7WHYdjQS6EoLwKRjnao+bYWWhpbYPWKpUkKVkY9A0VrAdYL3VkeWFNXPduAp4wYhzQ8U8jYtwfMXfoqNDbWweCLLgQSbIWagwdh5LDB0PrjSSgsLIBIfndobO2A5iCB9jBCqOk41Ld0wlsvLmSA+SaOwQ4VHAcsFRzzrpU7WUoFP7FqHRT5EEhnCFrbQ9DQHIRwXjG0hgBCYYBQZxgI8YHPR+gdM2hpboK8vDxY+/R9qRqDeR9JUjQDTLczcQwWg4FVwDwvnWQ99vxrcKo1BM0N/4PW9r1Q0HUM5BX3hlAoDIR+3A4R6o/tB+wMAiJC/wFDIL+oKzy/6DZNBdsMVJpjMptsyVk0sA+hGH0LUnmZNPuR1YxHONgCzQ0/QrfS/pCXXwBNzXUQDrVDUX43CLafhF07v4SeXX1w/cxpgFAAj86/IxWADS+RaN3kdXBMMnYA21Qby+bwOtiJ6ZzPa/s6eOrPJzDn8OtgJ57i18G0DPEyyUmZMm/UA7avg3sdLwYyngCpw5y+E+T1jhL/7L4bDeGfXXDDlrQRUzAiohuOd8uOBJvoAaZgtwBL57vvAVcBX3Lu6Xev3W/qmWNx37HTCxkk4BzkLgHnIFSxSRKwBJx6D9DJnByDU+9XtRKlgt3xc8asSMAZc707hiVgd/ycMSsScMZc745hCdgdP2fMigScMde7YzhjgN1pnrQiesDVW5VuPNSQeDP4NEkCdr/7SQW773NXLUrArrrbfWMSsPs+d9WiBOyqu903JgG773NXLUrArrrbfWMSsPs+d9WiBOyqu903JgG773NXLcqVDa66231j/wd4y08hfBj1/gAAAABJRU5ErkJggg==" + }, + { + "path": "", + "name": "main.png", + "folder": "", + "namespace": "", + "id": "1", + "width": 64, + "height": 187, + "uv_width": 64, + "uv_height": 187, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "994f231d-e52d-fcf8-c566-b1534be5f6a6", + "relative_path": "../../textures/main.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAC7CAYAAADVPJgEAAAAAXNSR0IArs4c6QAAEexJREFUeF7tXXmUFMUZr+LYXdgFFgIoz2MX8QAFxCgiEA9AEeJNnicizwTz9IlE35PEIyGGxCu8Fw3BxCiRp0RQVERQlyA3zwPRoIgCyrEDmghsYIHl2AG28r7q+Xqqa6q6qrund2fZ6X96uo6vvu9Xv++ro2tmKDFc7JMpzFTGL5+eN5bunPAIl9Fp4iM0iqw46hoVigpA1dwqrvf2LVtIz+kvGtuLw0jfDjI1mA0AwPhvv/uONzVs8cKcAsGoTFQAwAXA8PmDL+VucOIJJ5DjunbNGXfIDgDdb1ETaf0MggBAgbWjRjMwPpfiQb0CkIvBsF4BMMWbhsiPDkCbYkJOuEat+3dvEXrG7cY2bAxn7z/FSGFLQmoPE7iLrmVTX1eG8iCXEhr6DtJtZUhl6cD7rACS9bStZwLHGoCjRW1I80P7CN7F3uCNxAiA3PukbTFvkp4enV0OAEBjuKqqCelY6nzet99jlAeAM0aQoxtmc0A4EHD5yRBlSmX9etIdgiVwgf4iI6K4gxUDalo2JyVFRaTm0CFS0u1Gbm8GADEwwAWgTTGPJWzDNIYxBT7zDosYDyhb8yzbuXMH6dSpM9HdySk3qF1p8yxtHa0sQjx1Og+ZwDsBe1W+c6qnJlOyEugaurqqdJDhaW/Hoom+ix0AxgSAKdD45Xdq14GQghaEJI+o74WF2pGEs6C2Vl9XJROUEdqjAIBv7xcW+g5zoICJQWI+tC+2x8GBNsAQ1R0YoBlKOQA8AGvqqtKl9rgLaHsIFOKI9SekdWtCikuc5/01hBw4QEjyQ+cZGgp7pXoY/Vu+c8oKvo/NyPFAjBE6WQiYWNY4BsuLoWTNVlJQcrLW3GRtFSko7OjmR4nQYTENUs8MAM7ACCEZxmPk92mx8QMg7Aglq78mBaWnBwE4a1PWQI0GKJxngAksqxhguR9gaqsh8gMxABT0uAHGgGMaAGlXWBkHjmkAhFEgg6LAAFjoNOn9AD6zSm9U+C2Lkwe3OKOIsHCyXdfn7n5AEAAO/9eZRAUEIN79AKC4uF7Hdb3tfgACINYT9wYgX5DPJ1NdejjeVFVNGn4/QNprc3uHz/Gd/Ter/QChvMcNJIbwINqqq+s2VgDEvR/gCW7JXc5j81bpu89+gFsX6xV08MZKSBfSkrs2k4IOp6TXCr3v1A7FOAex2Q8IO4eg7JPHGGlRQsiRGkeGbACk2QCAGiAQKNPHeJLcReh5D+kBgJWqxX4A9QHRBIyzHK5LEtKsQF3WYj/AtxGBGckdX5GCzmcSMBzB9lNeXL6q2jDlm4yH/EwGIAtASXCD1qX++wG4FyC6AH6WGJXc9z0paHN8Wi8DA7CgaT/AxlBdGZd+D/Tu69kYeWLNKp6nS4/SqFjX1C7qgXWwfNR0lBcaAFFxWRkVOCZDsY4J+GzJcQFAgY+vXO6kFRWRqQN+STbtX8ofMX3q4AlkzAd/JJRSCnUe/XdqO4wQ8vAP+xMTCLLiqIDbbirhwX4XedpV6pPSccziiUQuj3o+ePb5XE634ku43uTQIf5MW7XyBF1ujGjoxlueI5O3fUOKkys9imD6Xz6ZEgiAoPJ17YrpqMvkFZMyAJD1/1m3W7k9UNYXAOzR3aNnkFd2bCbfbn+HVxDTZ2zfSMYtnOgLgK6nbeTr2pXTUce7Kn7N2SfrKZa/v9c93B4oC1fzFi28DEAqHj1yhDOh2czFDlKjhvKCqvQpW6t42W+vHM7LAv11wSmMfF27mI461t082DVIpz+bvoDrCmV9AUBF47rHPZqE1TtjFNANL9iAKUrrFGk0ANgaahqOZKAg2mOEhogsR+OwPRi1nvUoAMPRuL73KEeHU2eP48OjqIwMEAAgRu+cA0CO9v/ZUeEbXVWjgx8AUF6M3nI0jtqTYeu7vRZkFPCL0rrRAOSrondYxbNVj7KPl0Q7C3z+IA6iLIem0lFRU362DAoqJysAhAVRBimo8nL5umVfOnOZi88yvu/AupEBiKq0CMKWV55nXW+6gysPn0XZYjp+FvOhfFmXAaSqejfpWNreFwSxnZwCQDRcNhIBURmPQGCZ4lY9SOdrfpTBApWMnAJA7Bkds2zLqOqrwIsMAFA4V2JAGHcMrbwbRPKjgDMMNtarUSufDdBjAUAewlBRvwieDWNkGRib/OYbLgCMMT7u1uzdy+WUtG3L77rnNu3a+YIHkxIYk+EyjcuouElhU74IgO3MMycBMLHBNIPUjUqqei4A+/bs4Qww9Tzmy8tfWekwDJCZIMs0GR6mfqwAiAYEmZ+bGGDKD8UAk9Aw+WEWJ2HaUdUJHAOy1XBjkxPLMNiYQMgDIPaWzZJT17vyKk23nof6Niu6+mKRkgG6mZxpRifW063nQUZ9zwj9wMy7QH1RLVfbyTMgV3umvvSigy6/UfteYOG7M7kefQbfSL5Y9prLll4XX88+W/yqR0coAxemN2/eLP3S5Wgdk2WIlVGeWEfMZwsSjo6oaXoJR+jQciWL2eIEo4PLjAznACw+eUQG4IO3ziYAgE4pqHD0aJ0LngkAPzkoSy7D3kswQgmhl+oN4WXgPMNl6TJgPBpkAsEFAAzGCwCB56pDdZ6el1ESmeAHAJQTGaSit1xG7EG2CIBghDBAA5kANlJChziGyz0emAG5BABbmmD0kjLKlqR6d5APA5YmGGGM0EHlvDxNlc0KAEFdQBcn/Pwf2SAygC1LMHpxGWXLE4xeZPZjt3yqnooRuqBqjAGgPAS2vXvT3w5t27aQB0YxEMpGbtq0iZWXOz+YEgQAtiLB6IVllK2oZPRCdYBTGZOul6q/MsFoPzN4vqPAkn+9aoyiGAhNI4VtEGTvJxgdWEbZ+5WMDgwAgFsvwUiLNEQmEDwGAg2xqiloYTkAQNfDMguQMXuencurt7vzapchkAcgsQ8TjPYvo+yDBKMDzD2Iesj1mC0DVOOxDWVlAOR5AVJfdhOxPdWcgX2cYPT8MmprgAvAykpG+5W79Wzrexhw4MABzoDCwiLf8V80AhngBwAOkbpAJLKNrUow2reMslWVjPYN4AKp8lgvFAA4rtfWHiKtW7c2+j9OYMSACPSWqY0ALLthpAeDi2e9zJ89AHxayei55ZSl7jrQ5HQszz5NMHpuGWXrKhntYQaQ7t59kPc6RHYwHBkgN4BGLJ/zEs9q3945dCwzQAVA1dJXSasftCcH/7dbeW/bZ1h6cru6ktFzyilbnWD0nAAxQKhHitKzexMIVJzOAgBAfxkITIehEIGCcjbz+0t/fLOyE98beg25bMFbGXkw8rDPKxk9u9y9m1jAPk8wenYZZZ9VMtrH6XVrBqDfiz2PBkOajhXICN1oASPAtT99gHQsakbQWJ3RooEcgC8qGe1Vzu98utvLZya4ppIR6pRhayoZ7R0QAGSAaLQf4ghIv+GjM/xXHlHg+fclRW5yzzPLyKmT/kA3jv81g7tfO2xtJaM9U8Z8CUAIl7MM4Bc9K1VmbYLRnsKCyDYGqJSWA5NK0e2LZrLjhtzsa8Tez+azDVPmk75Tn6arxtzL4G6is8fOdY7hfn7MvgIG+JfxazNjIgTDmc08ACdNfpMbGyBtAGHrUwxwV4LpWrS7OdJbAwDxAIIbXKapqzhr1A1v2QLABqSwZTImQqbojg0dMwCotrcw0KGxyAp8BhdZOGGE79iOY744xoftpTjrUZH20JBqNJCHxSBT5TiVz4ZsPhFSTYBUcwGREaYYkQ3l6kMGZwA0JNLcNCMMslaoDyOitJExLp/UY5Bn0nHOaSd65M+dO91/AsMYu+CK28lH70zz1MO0k890vr2lu7atW2KU79bd7xzCgouWdAg0x3DryYpkE4Dq6mouvrS0lDQ5AOa//BQpbemQqfowJcNG3sdZ0WQY0GgAkCkfNKBs/cr5pql4Id1VLqCSL8aM2tpaUlhY6LpMUH1c35a+xaaTQ+MEYPQz63m7L97d3degBgWg7pu1kb40tadjtwxwh428i8x/+W9k/AfOfwtMGtCRYJqqJ8S8o0frYB3iWx5llJaml9o81lQ7O1pw4Y6ViUGU1eyKBED14dSvzQgtoUEPbkvy1MdPKsgDkLMMOP3c4ZEYsHJh+q0ykkA0Fn6w4eBBFgsD/Oht7QKrV6+PBEB5eZk2BkBGzgPQ5BlgA8DXn1ZQXblG7wJTLrguwwUmH3aGk3EtnWFm7EdvUlU5yBtZMSNmF0gPbaYhTcxv37691eKIHn59XqQYcMpv/hREr8Blt656I3AdqGC7OvQAsOilWcrGhtym+XV5+J21xg5AKHiPoUpWfhLW3t27d3P3svXHsO1EqRcbAGA8Gi5+jqJsHHXzAMSBKsrEL2OavmIXpw4m2bExwNRwruTHCsCYd7bxIDj1ipO07Xz/6Eu8TFGJ81c/h2r287vuGYGDcsc/fJtHbvWf33DnNKW/+ImVbVaFwvbWnWucb6M+21v/PWMAAI0VjcPPujxIl40EABBAGRydDbEDMLq8mPRv6/0JO1EZkQGq3gdD5XSo32bsdRlvsJEBKnY0CAA2zMFe6/TArbw4vpXa+cQ/PdUBiAtnv+Ir8r2hV7mu02AuoDptCmlzXniCwJkh+UwRMACMVx3MSj5fYTRah4jtSdfILiAbrDo7LL6Ch5eqYh0TS6BX8SoobUuS1XuJ6o5lIB+uBosB+LpdPGYDJ8a6dOnCFZMPYOI5RR0QtX99jRssG4hpaDDki8B0uPtaq86l868elbEcHpZ6AarKkxXFspiuOzyt+16Q6XwCHqxGQ9FINFgEJhQAKuTRcNk4E10hPygAeD4B6oqHNN0hcdoCTnvRYD8w0EWsGWBjVJAyQQFABsgnU+TRQKa8igkiMA0GQDZer7uAZ+H9v6nzrAKFSYiYnwcgCydM8gxABBqDC8Txet3G5bK1xxA5BjR5AKKeL6CnnuXpcPEdvx8TdC8/xT0Bdy4h7TFAOi6WIjMg6vkCUtw+6wDg8hkFi3sKkCfuJRxzAMBEDJbS8kaKyIasAmDzctWPyqqXqzZBEF3AtLJcMeIm5YZK1lwgjvMF2QRAJwv3CyK7QEMzYNczc5jfHgHmARC4VjimXAD3FOVNElw9yitHXFThYinyfsDGHam/6BK4Jp8v8KP0yIoXbBifUQZfuwEDxN6VN0/EVaT4GXeMlC4QZD8g6vmCFsMGhgIA3/+LAMjG6lwD0n0BCKKRCECY8wVRAQAXEPcGVBsnKndwXUA2dt7bH3q2yO4f/ytPkQ3rlvsGziuvG8dem+H8p498XX/LeCO2b7852Sgfhcyb/ogrz/ZEiKxARmPZBKCmxokPJSXOn7Y3KQDA+I6pf7WqOsg4CHkActEFZMobnVQq8Pd/OD+3JV4QA6C3pz33W558+89/RzBNJV+V51feRkdTLEEZNE4AThvlnC77ZvqspgfAQxWruOFwARCPDe+rjQHHJAPAcAABLjDeNAqIIESlP7TV4C4gGg+f/RiA/ojzB5vRwhQHGgwANAKNRibYskBmSlXVVpOtyvyPVsyxWunSgwdrI50VlnsrLAA6F2h0ALw+cxL8up32UtHbLwjmPADJ5OFQFLWtdPmVztGZoFckFxhxw1je3uxZU4ztxg1AYWFLow6qAkVFhXYxYPhVd2QQFg1HIPw0aN7C+7U53UoQZQSN8OKKLwgStqtDekaPiyIFwdO69/Ho1egAMKEqM6Ri3vNW1DLJzZV8ozFRAMAhtlUrO39sCFCMAIRVCoxHw8XPYeXFVc8IQFgGHDMAREG+SbsAAPf0Tuent+/tlP6d8SiAxlHX6AJhGwXj0XDxc1h5cdWLDQBUOJeNBx1jAyBbDID3DGF633o/IIxwmzp5ALIUAxotA2xYYlMmD0BjjQE2vZsLZWIbBXLBOBsdKMz1YYmr2hgRBejKNPblsZEBQRdD2Xi9jsBn4/2/iQV5AEwIBc3PMyALR2xyygVMDIjj9bqpTci3neubZBljgElAHgCJ8ibA5HzVCRMbGXkGGI7T2YCYlf2AhnaBqIulBo8Bjz75pG1necrhy88GByDq+YJBQ50/agx65QFInQDJMyDifkHkGKBygSDnC2hIDWzf/5tcK2TzabFRzxe8OzNcELR9/28EIOp+wOaNG0xt+OavXzUnVP1sAfB/z8kZ2QLXbakAAAAASUVORK5CYII=" + }, + { + "path": "", + "name": "gun.png", + "folder": "", + "namespace": "", + "id": "2", + "width": 98, + "height": 37, + "uv_width": 98, + "uv_height": 37, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "1ba3e553-62bf-bc59-cf76-0575ddb009da", + "relative_path": "../../textures/gun.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGIAAAAlCAYAAAC5+DzaAAAAAXNSR0IArs4c6QAABT9JREFUaEPtmlloFFkUhk+BC4origoqM/MQRdIhk0ERQdHxZRAdFDdcggrKoKAjCoP65PIk+iAjbkgER1REjQtu48NIJEgUxSgmINGHqGlRUTPRuCZYcq455cntu1V1t3a6u16q69a591ad7/7nnNvd3pst5/2bBw7C9U4zAY9V5XVwaU0rfGzpAh9ausDLtwOg4PlZ+GVBKaDd0s5Nwq5qzjJx5kfPCcXwuuJ20ITXdPB2bKN7NvsxR3aLIWqrz3kJE2ZRg1cZm+fL70PObnkRh879Bmfc62YjFAFiXM3hwNmVsXli1deMOhsawPB/SxL6pANkToFANUQ5uOPTpaicAoEQ0uXIKIB5n6wFocoRUUKTzsGx61OS9X27/lkJQuWhwpLJIoHnFZHS9WMcjJeE6PzgesOYEwnVlG6kY+/3tStneRlrKmFVZaxsT+Vrtpew5HjudNEmg5jtnYGL1bXQ9PPaBB4EouF0ubg3YtumYD+RB+GmKq0i/J3n/I0HPwSj9L61GX4rKYSj/u9aEHQjXYowvVJHzxva3SoqYn1pV+AwbKEp3Yrg8x/rNkBcznr3TJw7PAhKzHJ5SCBchBUr2/VNckRWKwJBUKlKZeae1j7wX48ZLgyEzYaq6ags5+TuPHAOGXqyIhACHsWlc6E4/gTePboLJ+ofw7PmZpj6x3KAh62wf/VhaKp/A5tK78DL+H1Vws8hF6bmVQMQBICGRRDDrlbAp/9fwd6GJ/CwsRFWzF0Hd1/VwcVFlyFe3QhbV1fIyT41T5WDo3iVRfOVIWVs2WbwRg8NHF34135hV7t1kcc/M5+lPTT5/pcpPO8rf7kNr+k+fSYbelbeP1OYCxADL+yAp5OWA57pKIg3J4B4+6A2uN/9h0IB5VuB4A6mOV2druqbKQCCxUEgsAFh8NDUa82UBEX0H90Tnl97LcxMIPxfTwJcmibsFtbfgAM/jbK+u6mPvLpxVatWug1OJqpBqLyuodEnNXBVcEWU3fnTX1K0XUAZf7zcvzxzhvjM2+WqiTvVBYbNXudgVRgytVlXw3cyaAeCP8OgQ1cAFYHOxnYdCHavXY6QHWuC4Wrrmg86bI5AJ/H8gNcyCNNCaYNkBRFmsbmGszBjZrJtkKzlh6TQxBSBoSgwW1K0PbjOg0gesRbEsCF9gzyA0yyO/S1m40lyX81K0SaDUIWaKI/KVcETMw89fFx6Nn7G+7akzsdQhT+6L4c8GjsVhYP1LyqkCAQhv6grCHQoHv/8OFLNY+KpL+1tVRYZySBckjCvrlSOo7HDlMMuOUc3Hl+8puexgsCBEAYpgnsSQVAS51WTqgKifkoYBEKC4QJCt1rlKsu0qlVwVJtBV0XowCUNQgVDgiBUGrwQ20NgGylCq4okQMj7gnQqwgZM9yw8hMmfgwXiErt5eCJ7KSwZQajm6DekAF403DNOHyVHqF5UlyP45HLecQ1rpq9RVHufpEEkE5pkbxMEG4xcKmGtOUKlBo0qtKGJg5Cdb4KRB8E8l2oQLqFQVzWpEq4cXlRlLoUDPKtKX1tb2KrJlOh1729UBEHAzrrQRAPjBo8fye4lZDXYvmtyTaS2ZC6Xoa57EL7/0OUG0yK0gsDy1Fa+tn35lzBPVBiqkOT6rWqYjZ+sMF2iNykiSqmqAmLNEdgpbNUUJvy42kZRhItKVAqQf3gKs5GUYbr+FhIKhMppqg2dq3PD2IVZ6S71vGtpaVMi5R3X8SLlCOok/e4QjGX6PSKMk/O27L+uKXBG2n+zTsEzZuwQTqHJ8enzIBwdpTL7DAbet0n40PN7AAAAAElFTkSuQmCC" + } + ], + "animations": [ + { + "uuid": "c6b41e82-7a1e-3f50-038b-d3378700a04c", + "name": "ex_skill_1", + "loop": "hold", + "override": true, + "length": 5.4, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "e98e96cf-993b-878e-02b8-777c368bb888": { + "name": "Midori", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 10, + "z": "0" + } + ], + "uuid": "26fcb466-886f-0902-e2de-31bc6ef64728", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 9, + "y": -10, + "z": "0" + } + ], + "uuid": "0be0bb61-cd6c-2c29-82ca-e89bc190c222", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 9, + "y": -10, + "z": 0 + } + ], + "uuid": "1721f044-55a5-cf0d-1ab3-ce6f1297d4bb", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 9, + "y": "-10.25", + "z": 0 + } + ], + "uuid": "a36f05aa-1e88-81e9-dd22-7a439cf28068", + "time": 3.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 9, + "y": -10, + "z": 0 + } + ], + "uuid": "a99b681b-bfdb-56c4-cbe8-68083b1fe8b1", + "time": 3.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 9, + "y": "-10.25", + "z": 0 + } + ], + "uuid": "dab8a54c-af29-c213-3416-0cb502c98018", + "time": 3.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 9, + "y": -10, + "z": 0 + } + ], + "uuid": "3fe09b22-114d-f189-e957-48f5db005870", + "time": 4.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 9, + "y": "-10.25", + "z": 0 + } + ], + "uuid": "0cbc6eac-7cf9-959f-d0ad-ae93c406d339", + "time": 4.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 9, + "y": -10, + "z": 0 + } + ], + "uuid": "df3a5754-ec30-32d2-d807-b77a53d3c7d5", + "time": 4.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 9, + "y": "-10.25", + "z": 0 + } + ], + "uuid": "0f43dbb8-6791-91a8-9edd-f15153af21b8", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 9, + "y": -10, + "z": 0 + } + ], + "uuid": "3fdbc637-9cfc-90d5-bb6a-56322791ec2a", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 9, + "y": "-10.25", + "z": 0 + } + ], + "uuid": "2bc58c0f-6d97-9bf3-b725-2becb549b89e", + "time": 5.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 9, + "y": -10, + "z": 0 + } + ], + "uuid": "996ddbe2-5111-0e6f-0462-2c3ddffd61f9", + "time": 5.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "22d40862-bd19-a16d-9e33-79364e6656d8": { + "name": "MidoriHead", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 20, + "y": "0", + "z": "0" + } + ], + "uuid": "0ecf289f-e925-6898-a8cf-09216e86a3d2", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 20, + "y": 0, + "z": 0 + } + ], + "uuid": "90ee3c63-0a7f-696d-34fa-5ccfe1567228", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 50, + "y": 0, + "z": 0 + } + ], + "uuid": "9d96e9ff-0251-3e58-c5eb-5318d746cd1b", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -5, + "y": 0, + "z": 0 + } + ], + "uuid": "f68305a5-949f-e7af-a2dc-226ea6379956", + "time": 2.2, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -5, + "y": 0, + "z": 0 + } + ], + "uuid": "9632aaec-eb1c-8e27-96fc-7107d0b78533", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -7.5, + "y": 0, + "z": 0 + } + ], + "uuid": "5081e7a2-0a8f-2a24-ea05-c480a72b41bb", + "time": 3.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -5, + "y": 0, + "z": 0 + } + ], + "uuid": "93557401-f3d9-7c21-1ddf-35bcbe73051e", + "time": 3.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -7.5, + "y": 0, + "z": 0 + } + ], + "uuid": "368ca0c0-56ce-c855-d8f4-05f58e5f1799", + "time": 3.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -5, + "y": 0, + "z": 0 + } + ], + "uuid": "1ade8958-6d2c-b168-e1bf-fb2bced9bbde", + "time": 4.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -7.5, + "y": 0, + "z": 0 + } + ], + "uuid": "9b3fc0ed-6527-9876-280e-3c6fcbdb7d8e", + "time": 4.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -5, + "y": 0, + "z": 0 + } + ], + "uuid": "622fd8a0-28e9-4e29-5977-e247744113ff", + "time": 4.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -7.5, + "y": 0, + "z": 0 + } + ], + "uuid": "a20adc2c-5f49-c712-33eb-5fc595d5aaf0", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -5, + "y": 0, + "z": 0 + } + ], + "uuid": "83c7ea03-13c9-8751-e4ae-6c5688aa5c02", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -7.5, + "y": 0, + "z": 0 + } + ], + "uuid": "b60c94e3-0e20-975d-d011-a8a440ae0dac", + "time": 5.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -5, + "y": 0, + "z": 0 + } + ], + "uuid": "72c9bc8d-a24e-945c-c83f-440ca398cdc0", + "time": 5.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3ef4a513-6419-fc26-408e-8f2b4dea9387": { + "name": "MidoriSkirt", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": "0", + "z": "0" + } + ], + "uuid": "2336951e-6f25-6f47-3500-8ef4c6eb46f4", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3c1cb66d-8a31-d31f-ec9f-65a33e313a53": { + "name": "MidoriRightArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "-50", + "y": "0", + "z": "0" + } + ], + "uuid": "f2865b7f-bfd2-a1ed-a769-ff0be527af21", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": 0, + "z": 0 + } + ], + "uuid": "7e81e909-7a8f-498d-e8f6-fc56c01457f6", + "time": 0.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -60, + "y": 0, + "z": 0 + } + ], + "uuid": "442f1f71-01a4-a7d6-92ef-0f7183efda19", + "time": 0.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": 0, + "z": 0 + } + ], + "uuid": "e718f15f-431a-63de-7f75-4dd26d0fdfc1", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -22.5, + "y": 0, + "z": 0 + } + ], + "uuid": "c2e9c87a-1528-33b7-43b5-f36080cad10e", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -161.74388, + "y": 8.31087, + "z": -23.66235 + } + ], + "uuid": "03cc8135-b803-9736-b363-b9dd0a8d7a0b", + "time": 2.2, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -161.74, + "y": 8.31, + "z": -23.66 + } + ], + "uuid": "6cb24763-931c-cb16-24a4-8e23ec7e8bed", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -162.41287, + "y": 9.64256, + "z": -27.86388 + } + ], + "uuid": "9852fab9-09ad-93fa-59f0-8a0e60f82daa", + "time": 3.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -161.1145, + "y": 6.71653, + "z": -18.87949 + } + ], + "uuid": "15ffca8b-000e-1ab5-b2f2-85b5bbd0821a", + "time": 3.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -161.1145, + "y": 6.71653, + "z": -18.87949 + } + ], + "uuid": "56f36f2b-9741-142a-c857-8001a3d69f52", + "time": 4.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -162.41287, + "y": 9.64256, + "z": -27.86388 + } + ], + "uuid": "4a42e8b6-10a9-4bd8-167b-3741c00c9ddc", + "time": 3.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -161.1145, + "y": 6.71653, + "z": -18.87949 + } + ], + "uuid": "6e2845f4-8ec6-150f-5485-a3247212b7ec", + "time": 4.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -162.41287, + "y": 9.64256, + "z": -27.86388 + } + ], + "uuid": "fbc9687e-b3cf-d1ed-c0af-53aa7b656750", + "time": 4.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -161.1145, + "y": 6.71653, + "z": -18.87949 + } + ], + "uuid": "c959d4a5-a40f-a2cd-4530-20da1f8b2660", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -162.41287, + "y": 9.64256, + "z": -27.86388 + } + ], + "uuid": "24fcbd5d-6d12-221f-4bc7-748c3ccf57b7", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -161.1145, + "y": 6.71653, + "z": -18.87949 + } + ], + "uuid": "626abdd6-03d6-c896-f70f-0dea4858ce65", + "time": 5.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -162.41287, + "y": 9.64256, + "z": -27.86388 + } + ], + "uuid": "c103f7ff-de66-b14f-19cd-484c7a8dcd9f", + "time": 5.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "b924539e-1292-1a17-6240-a525ae346090": { + "name": "MidoriRightArmBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -42.5, + "y": "0", + "z": "0" + } + ], + "uuid": "7d844a91-2458-99ab-b45a-b0bb2c4b5302", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -40, + "y": 0, + "z": 0 + } + ], + "uuid": "7c56dd1e-c92c-615b-9586-055d7a0be295", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "19cb76e1-9d97-373e-5612-29887ab873cd", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -40.05, + "y": 0, + "z": 0 + } + ], + "uuid": "8d584cf7-f427-a796-6c6a-48ac6927a131", + "time": 0.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -42.61, + "y": 0, + "z": 0 + } + ], + "uuid": "10c0452d-7430-d2ce-e99f-7da995961f11", + "time": 0.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -40.17, + "y": 0, + "z": 0 + } + ], + "uuid": "44909f42-4a76-f951-d106-b68a0212117a", + "time": 0.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -42.74, + "y": 0, + "z": 0 + } + ], + "uuid": "b6a5d746-ce7f-c86e-378e-6c44cd6b5e79", + "time": 0.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -40.32, + "y": 0, + "z": 0 + } + ], + "uuid": "04a24fee-9ced-6377-e4b9-c3bb33aa6cd3", + "time": 0.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -42.9, + "y": 0, + "z": 0 + } + ], + "uuid": "63ae7074-d437-7375-40fb-fdd2691467f8", + "time": 0.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -40.49, + "y": 0, + "z": 0 + } + ], + "uuid": "8c5e7c9a-ab05-f34a-208f-93bd4e949964", + "time": 0.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -43.1, + "y": 0, + "z": 0 + } + ], + "uuid": "12449e6c-0172-8216-bea0-a4351ba14163", + "time": 0.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -40.72, + "y": 0, + "z": 0 + } + ], + "uuid": "bc5d3ac8-2b96-ede0-050f-c385754e7eb9", + "time": 0.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -43.36, + "y": 0, + "z": 0 + } + ], + "uuid": "be966694-e6bd-c5ae-9d0e-b9f8075f163a", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -41.02, + "y": 0, + "z": 0 + } + ], + "uuid": "03beaaca-447a-35f1-5172-f3af22025644", + "time": 1.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -43.72, + "y": 0, + "z": 0 + } + ], + "uuid": "e60da033-bfbf-58e7-ad1a-bc4e0eca2b21", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -41.46, + "y": 0, + "z": 0 + } + ], + "uuid": "90a523f3-88f7-0875-0605-c78e3fc1b5f6", + "time": 1.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -44.26, + "y": 0, + "z": 0 + } + ], + "uuid": "637ee4e1-c800-c61d-09c7-57eba3bb5af6", + "time": 1.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -42.15, + "y": 0, + "z": 0 + } + ], + "uuid": "e64d6f21-f6f3-fc1a-7f15-b01faa3ffe7e", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -45.18, + "y": 0, + "z": 0 + } + ], + "uuid": "43c43136-c6f9-f3b6-d14a-47d4380440a3", + "time": 1.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -43.41, + "y": 0, + "z": 0 + } + ], + "uuid": "ecb9ec03-fb5f-99d5-dc42-1196ed842fae", + "time": 1.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -46.75, + "y": 0, + "z": 0 + } + ], + "uuid": "eef70a96-087a-f69e-63ff-2ab122a7db97", + "time": 1.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e7d3e5d8-00e4-587c-7bb6-6787db00054b": { + "name": "MidoriLeftArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "-50", + "y": "0", + "z": "0" + } + ], + "uuid": "d03bb4c7-8805-2aba-ae41-01b8bac1a933", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": 0, + "z": 0 + } + ], + "uuid": "0b92587b-8e42-5c14-b11e-d42432529609", + "time": 0.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -45, + "y": 0, + "z": 0 + } + ], + "uuid": "e2e8663b-379c-8f15-ab78-835e537f2c7a", + "time": 0.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": 0, + "z": 0 + } + ], + "uuid": "06b95021-1bad-56cb-8e7a-d223763894bd", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -22.5, + "y": 0, + "z": 0 + } + ], + "uuid": "9f5857e3-fee5-719d-0183-f838508b0521", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -161.74388, + "y": -8.31087, + "z": 23.66235 + } + ], + "uuid": "fe8f4426-8d48-f650-57ac-d9372d5d7f16", + "time": 2.2, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -161.74, + "y": -8.31, + "z": 23.66 + } + ], + "uuid": "ba818340-f158-df6c-d170-606406e7af50", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -162.50081, + "y": -9.84601, + "z": 28.47877 + } + ], + "uuid": "4412490d-226a-ed95-626c-554d013d6009", + "time": 3.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -161.1145, + "y": -6.71653, + "z": 18.87949 + } + ], + "uuid": "e7c01252-6138-8dc6-8aaa-a4d81441b3ad", + "time": 3.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -162.50081, + "y": -9.84601, + "z": 28.47877 + } + ], + "uuid": "37c5d758-5669-608f-6dfa-8ef12ef7d97c", + "time": 3.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -161.1145, + "y": -6.71653, + "z": 18.87949 + } + ], + "uuid": "1d394d98-8dec-bb80-3059-82c1a115cfeb", + "time": 4.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -162.50081, + "y": -9.84601, + "z": 28.47877 + } + ], + "uuid": "7cff58fe-e779-032e-4745-57bbaafadd49", + "time": 4.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -161.1145, + "y": -6.71653, + "z": 18.87949 + } + ], + "uuid": "390aecbe-2aa7-20c6-272b-4e77e9507171", + "time": 4.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -162.50081, + "y": -9.84601, + "z": 28.47877 + } + ], + "uuid": "70a4fa31-8d13-6e62-7c8f-873fdcd2c08c", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -161.1145, + "y": -6.71653, + "z": 18.87949 + } + ], + "uuid": "4477d61b-feda-4ff5-8243-2a2168bef8b1", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -162.50081, + "y": -9.84601, + "z": 28.47877 + } + ], + "uuid": "d6c44139-7988-a60e-ef19-0731017809f5", + "time": 5.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -161.1145, + "y": -6.71653, + "z": 18.87949 + } + ], + "uuid": "66d44f07-0306-6221-4f29-08073c28a026", + "time": 5.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ad1c45ef-c0a8-6d31-d2dc-fbdc6ab7ddcc": { + "name": "MidoriLeftArmBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -40, + "y": "0", + "z": "0" + } + ], + "uuid": "a8396724-62f2-ec1e-3c1e-168b310b8858", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -40, + "y": 0, + "z": 0 + } + ], + "uuid": "83d45b33-9a91-6f3e-41e6-d478e19573c5", + "time": 0.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -45, + "y": 0, + "z": 0 + } + ], + "uuid": "8c381ffc-8ff2-8dde-2c36-76d451ca63c2", + "time": 0.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -40, + "y": 0, + "z": 0 + } + ], + "uuid": "40963919-b97a-67ee-b280-f10ce6f26b0a", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "1d41f874-2a80-b45e-8356-ed3c1e14b464", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "2f61e368-1c06-648e-26d4-aee94647e4da": { + "name": "MidoriLowerBody", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "9f5927bd-efdc-2c6c-5448-1f7a978eb017", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "66e850f7-3555-38c5-f30e-199cbeac11dd", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "0.25", + "z": 0 + } + ], + "uuid": "ef15e2eb-9657-0b93-f055-7434e8f682e2", + "time": 3.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "bdf98527-5148-8ac8-29e9-2e6e58fe008c", + "time": 3.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "0.25", + "z": 0 + } + ], + "uuid": "60d56960-bd98-9e27-f110-2a07937896cc", + "time": 3.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "2532dae7-1a2b-5bf0-434f-c85614f41084", + "time": 4.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "0.25", + "z": 0 + } + ], + "uuid": "36e31942-f43a-c855-179e-6fd1c3b7475b", + "time": 4.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "c721e8d7-d783-eab1-f448-b823a39914f8", + "time": 4.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "0.25", + "z": 0 + } + ], + "uuid": "84ef7337-c0b4-7244-9a9b-5e7ab23b7d7e", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "6f5b56f6-2fe8-9079-f736-43c94c6d6e89", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "0.25", + "z": 0 + } + ], + "uuid": "a227b802-6ed9-6ab8-ad7b-081e5a872a81", + "time": 5.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "9da922de-c26b-0540-e7c8-e93b29669b12", + "time": 5.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "4e80b5b4-7c04-8374-f8a7-526b3d36d050": { + "name": "MidoriRightLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -79.84892, + "y": 9.84655, + "z": 1.75378 + } + ], + "uuid": "b5843a92-826f-3f04-ae18-b78724a209fe", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "84fe0b3a-286b-e17f-288e-c39feaa2e5e6": { + "name": "MidoriRightLegBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 90, + "y": -70, + "z": 50 + } + ], + "uuid": "e6e083a7-fe26-a2ce-185b-a0c090d0300a", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "73b3d6bc-af0b-a066-5d73-f3938109e11f": { + "name": "MidoriLeftLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -79.84892, + "y": -9.84655, + "z": -1.75378 + } + ], + "uuid": "8a7c0566-2100-98de-5bae-b7fad74472ab", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ee9973d4-ff4e-c96b-64f6-d1f28afd69c6": { + "name": "MidoriLeftLegBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 90, + "y": 70, + "z": "-50" + } + ], + "uuid": "cc73c57a-0969-a6ee-79f2-a261e37c1a36", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "809b49f8-db80-0544-0448-7a757616653e": { + "name": "GameConsole1", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 110, + "y": "0", + "z": "0" + } + ], + "uuid": "1bb6d6cd-54e4-93f3-3cd2-723adffbc20f", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 110.16, + "y": -7.05, + "z": -2.58 + } + ], + "uuid": "ed2933b7-4b3d-f865-5844-c687ceb57175", + "time": 0.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 110, + "y": "0", + "z": "0" + } + ], + "uuid": "2c8fa81c-deb0-a7a5-7047-c1d75da6d4d6", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 110.16, + "y": -7.05, + "z": -2.58 + } + ], + "uuid": "8cc5d88c-77e4-9d4e-e82b-5ac2b9b27743", + "time": 1.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "110", + "y": "0", + "z": "0" + } + ], + "uuid": "c4abe05d-83b6-afb2-9363-a26aca148e1c", + "time": 1.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 110, + "y": 0, + "z": 0 + } + ], + "uuid": "ffbc3ad3-0713-ac13-19b0-b7b9f15a4deb", + "time": 2.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 110.01679, + "y": -2.29915, + "z": -0.8355 + } + ], + "uuid": "01f03f16-436e-5225-7c6b-39fe254629ce", + "time": 0.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 110, + "y": 0.12, + "z": 0.04 + } + ], + "uuid": "00002d43-5eeb-9875-b3ae-6e17d209281c", + "time": 0.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 110.01455, + "y": -2.14917, + "z": -0.78541 + } + ], + "uuid": "354e49ae-1c66-d662-f2d8-c67f8b1a88b2", + "time": 0.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 110, + "y": 0.31, + "z": 0.11 + } + ], + "uuid": "0aafe4e8-677d-0a6c-2cea-a515ddf46559", + "time": 0.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 110.01082, + "y": -1.89919, + "z": -0.69528 + } + ], + "uuid": "7a880f3f-e89a-b257-2b9b-d17586084a88", + "time": 0.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 109.99, + "y": 0.63, + "z": 0.23 + } + ], + "uuid": "ecb6dd57-8ead-8da0-6442-2ca47819147b", + "time": 0.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 109.98678, + "y": -1.62952, + "z": -0.59434 + } + ], + "uuid": "920cabc1-fd47-1f4a-be45-4c87e2e40c9c", + "time": 0.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 110.03, + "y": -1.32, + "z": -0.48 + } + ], + "uuid": "ae4839f8-e1d3-b9a5-06e7-943137a390c9", + "time": 0.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 110.21935, + "y": -7.74673, + "z": -2.84765 + } + ], + "uuid": "365abb9d-b920-dfb9-6185-58c0716afc78", + "time": 0.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 110.16, + "y": -7.09, + "z": -2.59 + } + ], + "uuid": "8cca4d98-8575-9dea-e112-72f810f703ff", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 110.30068, + "y": -9.76575, + "z": -3.58445 + } + ], + "uuid": "d8835e83-7c06-9704-4e04-756e4a04d966", + "time": 1.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 110.18, + "y": -7.69, + "z": -2.81 + } + ], + "uuid": "6660ee0c-3be0-72c2-581f-80e3b7dc5c4e", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 110.23199, + "y": -7.91656, + "z": -2.90841 + } + ], + "uuid": "5f9cdeba-ec2f-f413-60f7-0002850484f6", + "time": 1.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 110.04, + "y": -1.6, + "z": -0.58 + } + ], + "uuid": "5ed07e48-769d-cd99-1631-6fac62aec081", + "time": 1.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 110.01664, + "y": -2.28915, + "z": -0.83549 + } + ], + "uuid": "c69af44a-6402-850d-c15a-ff5a3c113c1c", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 110, + "y": 0.06, + "z": 0.02 + } + ], + "uuid": "54f75b77-c082-6dda-fe4c-645b1cee2345", + "time": 1.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 110.01679, + "y": -2.29915, + "z": -0.8355 + } + ], + "uuid": "e4cb855f-9d03-84d0-0fe5-5c1aef637660", + "time": 1.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 110, + "y": 0.04, + "z": 0.02 + } + ], + "uuid": "983b6701-f8a3-7167-405c-0f294d5465b4", + "time": 1.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 110.01724, + "y": -2.32915, + "z": -0.84552 + } + ], + "uuid": "6d5c5b9a-85de-641d-a69b-1ea139f0f7d9", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 110, + "y": 0.01, + "z": 0 + } + ], + "uuid": "eeb63ec6-8f28-db1f-2601-a9daf66bc18b", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": -2, + "z": -1 + } + ], + "uuid": "5afadcad-2cd3-2e21-7c18-c2525eb45b41", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3d2b3a9b-6454-a7fd-e0ae-a90624029e9c": { + "name": "TextAnchor", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "-10" + } + ], + "uuid": "4557a41e-eb5c-1f34-f03d-0916c2b757ce", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "77b0698d-354e-2766-cc9e-0cab2721f494", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-8", + "y": 0, + "z": 0 + } + ], + "uuid": "6b480500-c5d1-7d86-9da1-44099669d200", + "time": 4, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.04667, + -0.05, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.04667, + 0.05, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "100", + "y": "17.6", + "z": 0 + } + ], + "uuid": "5f80d5e8-f879-8cf8-61bf-2b97fa9b6136", + "time": 4.75, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.79, + -0.8, + -0.1 + ], + "bezier_left_value": [ + 0, + -0.54822, + 0 + ], + "bezier_right_time": [ + 0.79, + 0.8, + 0.1 + ], + "bezier_right_value": [ + 0, + 0.54822, + 0 + ] + } + ] + }, + "ad2aa2ae-fb45-455b-bcc8-04c484f42739": { + "name": "EffectPanel", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -33.69007, + "y": -25.65891, + "z": 16.10211 + } + ], + "uuid": "cb42482c-4998-7d22-c5b1-cbd27dae579d", + "time": 2.05, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "209ab9f9-5d6b-00a8-e084-45dcb3482b23", + "time": 3.3, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 4, + "y": 29, + "z": -5 + } + ], + "uuid": "1169af9d-5b69-474f-4229-b6f662df3ec5", + "time": 2.05, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -3, + "y": 28, + "z": "-4.6" + } + ], + "uuid": "2b251071-d94d-a675-8537-4ccfb954c38e", + "time": 3.3, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "0", + "z": "1" + } + ], + "uuid": "25fc5aa9-9cdb-e365-b835-a8ddbb66aec5", + "time": 2.05, + "color": -1, + "uniform": false, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 1, + "y": "1", + "z": 1 + } + ], + "uuid": "95864e5c-ec2b-10e5-ad3f-d3ae56b8e3a2", + "time": 2.2, + "color": -1, + "uniform": false, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "2", + "y": "2", + "z": "2" + } + ], + "uuid": "b0c72960-49e1-6aa2-7569-39f1a87b5ee9", + "time": 4.15, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "765aa970-34e2-b857-15e7-082123784386", + "time": 4.3, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "e2aaa615-db84-710b-76bb-92e0c0c262b3", + "time": 3.3, + "color": -1, + "uniform": true, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "8f24792e-7ef8-0b12-9dcc-81436fb8d600": { + "name": "GameConsole2", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 100.00933, + "y": -2.462, + "z": -0.43439 + } + ], + "uuid": "7b0e5249-f6bf-0a1e-2ad9-3580297ca4d3", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 100, + "y": 0, + "z": 0 + } + ], + "uuid": "13232128-05f3-1625-8f73-b31c0c7af6aa", + "time": 0.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 100.08453, + "y": -7.38542, + "z": -1.30962 + } + ], + "uuid": "c0634ef7-65f7-3306-c972-3d6688764cd8", + "time": 0.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 100, + "y": 0, + "z": 0 + } + ], + "uuid": "adc16b8b-276b-2ca7-6291-3fb1e6115e40", + "time": 1.9, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "100", + "y": 0, + "z": 0 + } + ], + "uuid": "ac6a4424-240a-72d6-3ab1-e61ebd326252", + "time": 2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 100, + "y": 0.08, + "z": 0.01 + } + ], + "uuid": "47cc6647-7db0-3fef-c220-7cad38236c07", + "time": 0.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 100.00797, + "y": -2.282, + "z": -0.40433 + } + ], + "uuid": "b61652dd-67cd-6896-bd58-03ce5da9e852", + "time": 0.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 100, + "y": 0.32, + "z": 0.05 + } + ], + "uuid": "12439f75-f75f-62ab-170c-d790a376a0b1", + "time": 0.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 100.00569, + "y": -1.98201, + "z": -0.35425 + } + ], + "uuid": "bc70760b-df08-7fea-949b-e19731bc7ab0", + "time": 0.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 100.03212, + "y": -4.14187, + "z": -0.73555 + } + ], + "uuid": "0b6d3b11-0fe4-5eaa-17ec-c0a92bd73a6a", + "time": 0.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 100.03, + "y": -3.71, + "z": -0.66 + } + ], + "uuid": "4bb72f04-afb5-2e56-f6ab-65df2a14b6ba", + "time": 0.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 100, + "y": -4.69, + "z": -0.83 + } + ], + "uuid": "8a2d55d1-3158-0384-16b8-8df7418d3384", + "time": 0.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 99.99254, + "y": -6.84225, + "z": -1.21494 + } + ], + "uuid": "42768d88-e79c-dab0-52ea-5e5c7587fd0f", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 99.9, + "y": -4.05, + "z": -0.72 + } + ], + "uuid": "b4a61035-163c-670f-3f50-6c4d3307169c", + "time": 1.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 99.87686, + "y": -6.1531, + "z": -1.08959 + } + ], + "uuid": "2d2f13fb-60b5-d421-8247-43b5da5b1113", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 99.77, + "y": -3.31, + "z": -0.59 + } + ], + "uuid": "c1d85728-9a3e-f3bb-cba3-9b3e142ebc7c", + "time": 1.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 99.71035, + "y": -5.35431, + "z": -0.93208 + } + ], + "uuid": "ad5c08c4-41bc-a168-8e22-e7e21c76b24e", + "time": 1.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 99.56, + "y": -2.42, + "z": -0.43 + } + ], + "uuid": "272dfabd-3813-042d-5523-c0ff5e04ba50", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 99.4324, + "y": -4.36629, + "z": -0.74981 + } + ], + "uuid": "2e21f11d-5ba5-f9ce-596a-d7ef73b28af7", + "time": 1.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 99.2, + "y": -1.3, + "z": -0.23 + } + ], + "uuid": "d763316a-44c9-eca6-5dcd-b52aa0f0ca98", + "time": 1.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 98.97255, + "y": -3.07946, + "z": -0.4998 + } + ], + "uuid": "6ed40d65-b013-2795-b132-f84a1636c3ed", + "time": 1.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": -2, + "z": -1 + } + ], + "uuid": "49114619-7c36-2cc8-bba8-5dd12d51c2f5", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": -1.25, + "z": -5 + } + ], + "uuid": "70f855ab-6c1f-6be2-f144-89471fff491c", + "time": 2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "0c257f96-5fde-ff7d-196f-5e7238fd7f97": { + "name": "MomoiUI", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "1244dad4-7fc3-f29e-f0b3-50cebba61058", + "time": 1.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 1, + "y": -1, + "z": 0 + } + ], + "uuid": "60d406d6-3ebf-e661-2d32-4176c2433eee", + "time": 1.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-1", + "y": "1", + "z": 0 + } + ], + "uuid": "ced5dcc1-9941-877e-3405-4c00e9664768", + "time": 1.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "fc0c068a-aec8-0ce0-47b3-abb367740ef5", + "time": 1.35, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "2b21792d-1174-869a-81d4-f23275d98b09", + "time": 1.55, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 1, + "y": -1, + "z": 0 + } + ], + "uuid": "f530b09b-51b5-01ab-63af-bd38cf085f88", + "time": 1.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-1", + "y": "1", + "z": 0 + } + ], + "uuid": "a4fd1b5e-db84-52e3-d4a0-a43eeb8ab160", + "time": 1.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "b02a0a29-49fc-200c-9e9f-38e56f6b4f05", + "time": 1.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "cf8a097f-d734-50aa-5390-cabfd600988d", + "time": 1.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 1, + "y": -1, + "z": 0 + } + ], + "uuid": "41a020bd-3e4c-26b1-8b40-410c6f46e7d8", + "time": 1.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-1", + "y": "1", + "z": 0 + } + ], + "uuid": "011089a5-f3d4-7194-10c1-7d624c47fc98", + "time": 1.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "b748aa61-c275-fe3e-27f9-ae92058666cd", + "time": 1.95, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "aef4b166-852e-25b2-68b7-4a5986998fe7": { + "name": "RedBar", + "type": "bone", + "keyframes": [ + { + "channel": "scale", + "data_points": [ + { + "x": "0.6", + "y": "1", + "z": "1" + } + ], + "uuid": "8d77c9ce-f5f1-ece5-68c3-053e7bce7a0d", + "time": 0, + "color": -1, + "uniform": false, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 0.6, + "y": 1, + "z": 1 + } + ], + "uuid": "92df6b2a-5fe1-0b70-d2e2-2f82eacc732e", + "time": 1.9, + "color": -1, + "uniform": false, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.40437, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.40437, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": 1, + "z": 1 + } + ], + "uuid": "d3fbdeab-32ab-50cd-f8b4-670880178d87", + "time": 2.4, + "color": -1, + "uniform": false, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.40437, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.40437, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3c5fc559-1fd9-7d7d-59c9-2c24fc1d4a90": { + "name": "YellowBar", + "type": "bone", + "keyframes": [ + { + "channel": "scale", + "data_points": [ + { + "x": "0.6", + "y": "1", + "z": "1" + } + ], + "uuid": "d9ff30f8-bc1d-8f2c-f32c-3c3309f3305c", + "time": 0, + "color": -1, + "uniform": false, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0.4", + "y": 1, + "z": 1 + } + ], + "uuid": "059d777e-6644-d176-e69c-6029dad1dedc", + "time": 1.2, + "color": -1, + "uniform": false, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0.25", + "y": 1, + "z": 1 + } + ], + "uuid": "386222fa-ea70-35d7-f5eb-b2b239b7f0e1", + "time": 1.55, + "color": -1, + "uniform": false, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": 1, + "z": 1 + } + ], + "uuid": "e292718e-f25c-29e9-9785-63b76d70695a", + "time": 1.8, + "color": -1, + "uniform": false, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Momoi/models/ex_skill_2.bbmodel b/config/yosbr/config/figura/avatars/Momoi/models/ex_skill_2.bbmodel new file mode 100644 index 0000000..cacd833 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/models/ex_skill_2.bbmodel @@ -0,0 +1,42173 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "ex_skill_2", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 16, + "height": 16 + }, + "elements": [ + { + "name": "PillagerBody", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 12, + -3 + ], + "to": [ + 4, + 24, + 3 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 20 + ], + "faces": { + "north": { + "uv": [ + 22, + 26, + 30, + 38 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 26, + 22, + 38 + ], + "texture": 0 + }, + "south": { + "uv": [ + 36, + 26, + 44, + 38 + ], + "texture": 0 + }, + "west": { + "uv": [ + 30, + 26, + 36, + 38 + ], + "texture": 0 + }, + "up": { + "uv": [ + 30, + 26, + 22, + 20 + ], + "texture": 0 + }, + "down": { + "uv": [ + 38, + 20, + 30, + 26 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "cd70f4a2-96a0-e011-b161-4f40d4d0c6bf" + }, + { + "name": "PillagerLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 6, + -3 + ], + "to": [ + 4, + 24, + 3 + ], + "autouv": 0, + "color": 0, + "inflate": 0.5, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 38 + ], + "faces": { + "north": { + "uv": [ + 6, + 44, + 14, + 62 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 44, + 6, + 62 + ], + "texture": 0 + }, + "south": { + "uv": [ + 20, + 44, + 28, + 62 + ], + "texture": 0 + }, + "west": { + "uv": [ + 14, + 44, + 20, + 62 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 44, + 6, + 38 + ], + "texture": 0 + }, + "down": { + "uv": [ + 22, + 38, + 14, + 44 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c3ec88c1-6b92-6d03-405b-038aea0e18b6" + }, + { + "name": "PillagerHead", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 24, + -4 + ], + "to": [ + 4, + 34, + 4 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 8, + 16, + 18 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 8, + 8, + 18 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 8, + 32, + 18 + ], + "texture": 0 + }, + "west": { + "uv": [ + 16, + 8, + 24, + 18 + ], + "texture": 0 + }, + "up": { + "uv": [ + 16, + 8, + 8, + 0 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 0, + 16, + 8 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "259ee2ad-9c36-a3a1-c17b-3a55499e8da3" + }, + { + "name": "PillagerNose", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 23, + -6 + ], + "to": [ + 1, + 27, + -4 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 26, + 2, + 28, + 6 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 2, + 26, + 6 + ], + "texture": 0 + }, + "south": { + "uv": [ + 30, + 2, + 32, + 6 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 2, + 30, + 6 + ], + "texture": 0 + }, + "up": { + "uv": [ + 28, + 2, + 26, + 0 + ], + "texture": 0 + }, + "down": { + "uv": [ + 30, + 0, + 28, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "571fe9e4-2d70-8774-fc29-5be5fa47bfd2" + }, + { + "name": "PillagerLeftLeg", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 0, + -2 + ], + "to": [ + 0, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 22 + ], + "faces": { + "north": { + "uv": [ + 4, + 26, + 8, + 38 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 26, + 4, + 38 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 26, + 16, + 38 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 26, + 12, + 38 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 26, + 4, + 22 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 22, + 8, + 26 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f214a3e2-dbb0-791a-da25-3e3149732068" + }, + { + "name": "PillagerRightLeg", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -2 + ], + "to": [ + 4, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "mirror_uv": true, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 22 + ], + "faces": { + "north": { + "uv": [ + 8, + 26, + 4, + 38 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 26, + 8, + 38 + ], + "texture": 0 + }, + "south": { + "uv": [ + 16, + 26, + 12, + 38 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 26, + 0, + 38 + ], + "texture": 0 + }, + "up": { + "uv": [ + 4, + 26, + 8, + 22 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 22, + 12, + 26 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2d0aa69a-a7bb-1fd1-fe68-5c4808d56eb9" + }, + { + "name": "PillagerRightArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 8, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 46 + ], + "faces": { + "north": { + "uv": [ + 44, + 50, + 48, + 62 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 50, + 44, + 62 + ], + "texture": 0 + }, + "south": { + "uv": [ + 52, + 50, + 56, + 62 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 50, + 52, + 62 + ], + "texture": 0 + }, + "up": { + "uv": [ + 48, + 50, + 44, + 46 + ], + "texture": 0 + }, + "down": { + "uv": [ + 52, + 46, + 48, + 50 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "1bba3d78-9bba-7d18-6b96-714eaba98123" + }, + { + "name": "PillagerLeftArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 12, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "mirror_uv": true, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 46 + ], + "faces": { + "north": { + "uv": [ + 48, + 50, + 44, + 62 + ], + "texture": 0 + }, + "east": { + "uv": [ + 52, + 50, + 48, + 62 + ], + "texture": 0 + }, + "south": { + "uv": [ + 56, + 50, + 52, + 62 + ], + "texture": 0 + }, + "west": { + "uv": [ + 44, + 50, + 40, + 62 + ], + "texture": 0 + }, + "up": { + "uv": [ + 44, + 50, + 48, + 46 + ], + "texture": 0 + }, + "down": { + "uv": [ + 48, + 46, + 52, + 50 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f0d7a403-90f4-0ed5-8fc4-d229008fb3ef" + }, + { + "name": "Sunglasses", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 27, + -4 + ], + "to": [ + 4, + 28.25, + 4 + ], + "autouv": 0, + "color": 0, + "inflate": 0.5, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 0, + 16, + 2 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 8, + 2 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 8, + 0, + 0, + 2 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "a75d125e-9f4f-2207-16b0-d9262c9b2fb2" + }, + { + "name": "Base_Side", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 9, + 16, + -7 + ], + "to": [ + 23, + 32, + 7 + ], + "autouv": 0, + "color": 0, + "origin": [ + 9, + 16, + -7 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 15, + 16 + ], + "texture": 5 + }, + "east": { + "uv": [ + 1, + 0, + 15, + 16 + ], + "texture": 5 + }, + "south": { + "uv": [ + 1, + 0, + 15, + 16 + ], + "texture": 5 + }, + "west": { + "uv": [ + 1, + 0, + 15, + 16 + ], + "texture": 5 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "a64296a0-3562-05d3-f8b5-0afb631a7251" + }, + { + "name": "Neck2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 12, + 33, + -4 + ], + "to": [ + 20, + 36, + 4 + ], + "autouv": 0, + "color": 0, + "origin": [ + 9, + 16, + -7 + ], + "faces": { + "north": { + "uv": [ + 8, + 8, + 16, + 11 + ], + "texture": 6 + }, + "east": { + "uv": [ + 0, + 8, + 8, + 11 + ], + "texture": 6 + }, + "south": { + "uv": [ + 24, + 8, + 32, + 11 + ], + "texture": 6 + }, + "west": { + "uv": [ + 16, + 8, + 24, + 11 + ], + "texture": 6 + }, + "up": { + "uv": [ + 8, + 0, + 16, + 8 + ], + "texture": 6 + }, + "down": { + "uv": [ + 16, + 0, + 24, + 8 + ], + "texture": 6 + } + }, + "type": "cube", + "uuid": "4dc9f362-9b84-0a2e-a332-1d788c6f5d2a" + }, + { + "name": "Neck1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 13, + 32, + -3 + ], + "to": [ + 19, + 33, + 3 + ], + "autouv": 0, + "color": 0, + "origin": [ + 9, + 16, + -7 + ], + "faces": { + "north": { + "uv": [ + 6, + 11, + 12, + 12 + ], + "texture": 6 + }, + "east": { + "uv": [ + 0, + 11, + 6, + 12 + ], + "texture": 6 + }, + "south": { + "uv": [ + 18, + 11, + 24, + 12 + ], + "texture": 6 + }, + "west": { + "uv": [ + 12, + 11, + 18, + 12 + ], + "texture": 6 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "2c315e71-03b2-c0a9-8263-2f5f4ef2fe73" + }, + { + "name": "Head", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -68, + 24, + -4 + ], + "to": [ + -60, + 32, + 4 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 10, + 16, + 18 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 10, + 8, + 18 + ], + "texture": 1 + }, + "south": { + "uv": [ + 24, + 10, + 32, + 18 + ], + "texture": 1 + }, + "west": { + "uv": [ + 16, + 10, + 24, + 18 + ], + "texture": 1 + }, + "up": { + "uv": [ + 8, + 2, + 16, + 10 + ], + "texture": 1 + }, + "down": { + "uv": [ + 16, + 2, + 24, + 10 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "a66c63cf-0082-7797-3f4e-08ff434a1cac" + }, + { + "name": "HatLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -68, + 24, + -4 + ], + "to": [ + -60, + 32, + 4 + ], + "autouv": 0, + "color": 0, + "inflate": 0.5, + "origin": [ + -64, + 0, + 0 + ], + "uv_offset": [ + 32, + 0 + ], + "faces": { + "north": { + "uv": [ + 40, + 10, + 48, + 18 + ], + "texture": 1 + }, + "east": { + "uv": [ + 32, + 10, + 40, + 18 + ], + "texture": 1 + }, + "south": { + "uv": [ + 56, + 10, + 64, + 18 + ], + "texture": 1 + }, + "west": { + "uv": [ + 48, + 10, + 56, + 18 + ], + "texture": 1 + }, + "up": { + "uv": [ + 40, + 10, + 48, + 2 + ], + "texture": 1 + }, + "down": { + "uv": [ + 56, + 2, + 48, + 10 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "d48552a8-9f0d-7335-2a82-794f3264fc9d" + }, + { + "name": "Body", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -68, + 12, + -2 + ], + "to": [ + -60, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + 0, + 0 + ], + "uv_offset": [ + 16, + 16 + ], + "faces": { + "north": { + "uv": [ + 20, + 47, + 28, + 59 + ], + "texture": 1 + }, + "east": { + "uv": [ + 16, + 47, + 20, + 59 + ], + "texture": 1 + }, + "south": { + "uv": [ + 32, + 47, + 40, + 59 + ], + "texture": 1 + }, + "west": { + "uv": [ + 28, + 47, + 32, + 59 + ], + "texture": 1 + }, + "up": { + "uv": [ + 28, + 47, + 20, + 43 + ], + "texture": 1 + }, + "down": { + "uv": [ + 36, + 43, + 28, + 47 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "742e9ab7-8cdd-8d93-9a9a-88011f54d15b" + }, + { + "name": "BodyLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -68, + 12, + -2 + ], + "to": [ + -60, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + -64, + 0, + 0 + ], + "uv_offset": [ + 16, + 32 + ], + "faces": { + "north": { + "uv": [ + 20, + 63, + 28, + 75 + ], + "texture": 1 + }, + "east": { + "uv": [ + 16, + 63, + 20, + 75 + ], + "texture": 1 + }, + "south": { + "uv": [ + 32, + 63, + 40, + 75 + ], + "texture": 1 + }, + "west": { + "uv": [ + 28, + 63, + 32, + 75 + ], + "texture": 1 + }, + "up": { + "uv": [ + 28, + 63, + 20, + 59 + ], + "texture": 1 + }, + "down": { + "uv": [ + 36, + 59, + 28, + 63 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "2574fa9e-0d5f-502c-ce28-ef5cf30f41ec" + }, + { + "name": "RightArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -60, + 18, + -2 + ], + "to": [ + -57, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 44, + 47, + 47, + 53 + ], + "texture": 1 + }, + "east": { + "uv": [ + 40, + 47, + 44, + 53 + ], + "texture": 1 + }, + "south": { + "uv": [ + 51, + 47, + 54, + 53 + ], + "texture": 1 + }, + "west": { + "uv": [ + 47, + 47, + 51, + 53 + ], + "texture": 1 + }, + "up": { + "uv": [ + 47, + 47, + 44, + 43 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 27, + 0, + 27 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "8831734e-ce90-e6bb-8368-e011a468277d" + }, + { + "name": "RightArmLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -60, + 18, + -2 + ], + "to": [ + -57, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + -64, + 0, + 0 + ], + "uv_offset": [ + 40, + 32 + ], + "faces": { + "north": { + "uv": [ + 44, + 63, + 47, + 69 + ], + "texture": 1 + }, + "east": { + "uv": [ + 40, + 63, + 44, + 69 + ], + "texture": 1 + }, + "south": { + "uv": [ + 51, + 63, + 54, + 69 + ], + "texture": 1 + }, + "west": { + "uv": [ + 47, + 63, + 51, + 69 + ], + "texture": 1 + }, + "up": { + "uv": [ + 47, + 63, + 44, + 59 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 27, + 0, + 27 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "cea7603d-ae80-e4e7-6f93-905551a79117" + }, + { + "name": "LeftArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -71, + 18, + -2 + ], + "to": [ + -68, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + 0, + 0 + ], + "uv_offset": [ + 32, + 48 + ], + "faces": { + "north": { + "uv": [ + 36, + 79, + 39, + 85 + ], + "texture": 1 + }, + "east": { + "uv": [ + 32, + 79, + 36, + 85 + ], + "texture": 1 + }, + "south": { + "uv": [ + 43, + 79, + 46, + 85 + ], + "texture": 1 + }, + "west": { + "uv": [ + 39, + 79, + 43, + 85 + ], + "texture": 1 + }, + "up": { + "uv": [ + 39, + 79, + 36, + 75 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 27, + 0, + 27 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "af1aa9d5-0ccf-d579-b381-54ac7b12fb55" + }, + { + "name": "LeftArmLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -71, + 18, + -2 + ], + "to": [ + -68, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + -64, + 0, + 0 + ], + "uv_offset": [ + 48, + 48 + ], + "faces": { + "north": { + "uv": [ + 52, + 79, + 55, + 85 + ], + "texture": 1 + }, + "east": { + "uv": [ + 48, + 79, + 52, + 85 + ], + "texture": 1 + }, + "south": { + "uv": [ + 59, + 79, + 62, + 85 + ], + "texture": 1 + }, + "west": { + "uv": [ + 55, + 79, + 59, + 85 + ], + "texture": 1 + }, + "up": { + "uv": [ + 55, + 79, + 52, + 75 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 27, + 0, + 27 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "b74fb9e9-db24-b669-6f87-8469be63eda5" + }, + { + "name": "EyeLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -63, + 25, + -4.01 + ], + "to": [ + -60, + 28, + -4.01 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 18, + 6, + 24 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "7853e9a2-b429-5a00-5e0e-70449c3a71ee" + }, + { + "name": "EyeRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -68, + 25, + -4.01 + ], + "to": [ + -65, + 28, + -4.01 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 18, + 18, + 12, + 24 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "328a2de5-64bc-807b-5906-227bfceedf26" + }, + { + "name": "Mouth", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -65, + 24, + -4.01 + ], + "to": [ + -63, + 25, + -4.01 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 18, + 18, + 34, + 26 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d9d80373-4145-9e90-28de-12248a8075d9" + }, + { + "name": "HeadRing", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -68, + 36, + -4 + ], + "to": [ + -60, + 36, + 4 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 35, + 0, + 0 + ], + "origin": [ + -64, + 28, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 19, + 26, + 36, + 43 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "rotation": 180, + "texture": null + } + }, + "type": "cube", + "uuid": "48cfe147-8711-a325-c722-fe73d6c4d87a" + }, + { + "name": "RightArmBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -60, + 12, + -2 + ], + "to": [ + -57, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 44, + 53, + 47, + 59 + ], + "texture": 1 + }, + "east": { + "uv": [ + 40, + 53, + 44, + 59 + ], + "texture": 1 + }, + "south": { + "uv": [ + 51, + 53, + 54, + 59 + ], + "texture": 1 + }, + "west": { + "uv": [ + 47, + 53, + 51, + 59 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 27, + 0, + 27 + ], + "texture": 1 + }, + "down": { + "uv": [ + 50, + 47, + 47, + 43 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "643f9c05-2d3c-e1d1-5a2f-874902eb1784" + }, + { + "name": "RightArmBottomLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -60, + 12, + -2 + ], + "to": [ + -57, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + -64, + 0, + 0 + ], + "uv_offset": [ + 40, + 32 + ], + "faces": { + "north": { + "uv": [ + 44, + 69, + 47, + 75 + ], + "texture": 1 + }, + "east": { + "uv": [ + 40, + 69, + 44, + 75 + ], + "texture": 1 + }, + "south": { + "uv": [ + 51, + 69, + 54, + 75 + ], + "texture": 1 + }, + "west": { + "uv": [ + 47, + 69, + 51, + 75 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 27, + 0, + 27 + ], + "texture": 1 + }, + "down": { + "uv": [ + 50, + 63, + 47, + 59 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "b1a76f47-912e-c2d4-8090-6f6ac9734672" + }, + { + "name": "LeftArmBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -71, + 12, + -2 + ], + "to": [ + -68, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + 0, + 0 + ], + "uv_offset": [ + 32, + 48 + ], + "faces": { + "north": { + "uv": [ + 36, + 85, + 39, + 91 + ], + "texture": 1 + }, + "east": { + "uv": [ + 32, + 85, + 36, + 91 + ], + "texture": 1 + }, + "south": { + "uv": [ + 43, + 85, + 46, + 91 + ], + "texture": 1 + }, + "west": { + "uv": [ + 39, + 85, + 43, + 91 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 27, + 0, + 27 + ], + "texture": 1 + }, + "down": { + "uv": [ + 42, + 79, + 39, + 75 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "a82219a3-e344-a4d8-c85c-51462943a7dc" + }, + { + "name": "LeftArmBottomLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -71, + 12, + -2 + ], + "to": [ + -68, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + -64, + 0, + 0 + ], + "uv_offset": [ + 48, + 48 + ], + "faces": { + "north": { + "uv": [ + 52, + 85, + 55, + 91 + ], + "texture": 1 + }, + "east": { + "uv": [ + 48, + 85, + 52, + 91 + ], + "texture": 1 + }, + "south": { + "uv": [ + 59, + 85, + 62, + 91 + ], + "texture": 1 + }, + "west": { + "uv": [ + 55, + 85, + 59, + 91 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 27, + 0, + 27 + ], + "texture": 1 + }, + "down": { + "uv": [ + 58, + 79, + 55, + 75 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "d7794b2f-dbb3-2cd5-c956-cd163b703976" + }, + { + "name": "RingPart1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -65.06, + 36.01, + -4.825 + ], + "to": [ + -62.94, + 36.01, + -1.295 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + -67, + 22, + -4 + ], + "faces": { + "north": { + "uv": [ + 16, + 16, + 17, + 17 + ] + }, + "east": { + "uv": [ + 16, + 16, + 17, + 17 + ] + }, + "south": { + "uv": [ + 16, + 16, + 17, + 17 + ] + }, + "west": { + "uv": [ + 16, + 16, + 17, + 17 + ] + }, + "up": { + "uv": [ + 36, + 26, + 39, + 31 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "faf8ab6b-f4f0-ca97-dccf-5419513d1359" + }, + { + "name": "RingPart2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -62.705, + 36.01, + -1.06 + ], + "to": [ + -59.175, + 36.01, + 1.06 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + -60, + 22, + -3 + ], + "faces": { + "north": { + "uv": [ + 16, + 16, + 17, + 17 + ] + }, + "east": { + "uv": [ + 16, + 16, + 17, + 17 + ] + }, + "south": { + "uv": [ + 16, + 16, + 17, + 17 + ] + }, + "west": { + "uv": [ + 16, + 16, + 17, + 17 + ] + }, + "up": { + "uv": [ + 36, + 31, + 39, + 36 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "61c19b56-1984-cdcb-7a31-987945b0ae33" + }, + { + "name": "RingPart4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -68.825, + 36.01, + -1.06 + ], + "to": [ + -65.295, + 36.01, + 1.06 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + -68, + 22, + -3 + ], + "faces": { + "north": { + "uv": [ + 17, + 16, + 16, + 17 + ] + }, + "east": { + "uv": [ + 17, + 16, + 16, + 17 + ] + }, + "south": { + "uv": [ + 17, + 16, + 16, + 17 + ] + }, + "west": { + "uv": [ + 17, + 16, + 16, + 17 + ] + }, + "up": { + "uv": [ + 36, + 36, + 39, + 31 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "4a2f805b-02d9-da24-e361-0c0309289a1d" + }, + { + "name": "RingPart3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -65.06, + 36.01, + 1.295 + ], + "to": [ + -62.94, + 36.01, + 4.825 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + -61, + 22, + 4 + ], + "faces": { + "north": { + "uv": [ + 16, + 16, + 17, + 17 + ] + }, + "east": { + "uv": [ + 16, + 16, + 17, + 17 + ] + }, + "south": { + "uv": [ + 16, + 16, + 17, + 17 + ] + }, + "west": { + "uv": [ + 16, + 16, + 17, + 17 + ] + }, + "up": { + "uv": [ + 36, + 36, + 39, + 41 + ], + "rotation": 180, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "rotation": 180, + "texture": null + } + }, + "type": "cube", + "uuid": "f0e4c2d9-cc4e-0c13-3e3a-2b95d8c0d034" + }, + { + "name": "HeadPhoneRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -69, + 26, + -2 + ], + "to": [ + -68, + 29, + 1 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 26, + 1, + 27 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 26, + 1, + 27 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 26, + 7, + 33 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 26, + 1, + 27 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 26, + 1, + 27 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "01f6d688-d2cd-c36a-df2e-a80523a72020" + }, + { + "name": "HeadPhoneLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -60, + 26, + -2 + ], + "to": [ + -59, + 29, + 1 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 26, + 1, + 27 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 26, + 7, + 33 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 26, + 1, + 27 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 26, + 1, + 27 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 26, + 1, + 27 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "4f5e53a6-b464-0187-a63a-a317f45c2beb" + }, + { + "name": "HeadPhoneShaftRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -60, + 29, + -1.5 + ], + "to": [ + -59.5, + 32, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 26, + 1, + 27 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 26, + 1, + 27 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 26, + 1, + 27 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 26, + 1, + 27 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "ac86679a-d55c-be34-cf2b-68f42e402541" + }, + { + "name": "HeadPhoneShaftLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -68.5, + 29, + -1.5 + ], + "to": [ + -68, + 32, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 26, + 1, + 27 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 26, + 1, + 27 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 26, + 1, + 27 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 26, + 1, + 27 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "0aae78b3-7629-724d-62de-d336c7bb05d6" + }, + { + "name": "HeadPhoneShaftCenter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -67.75, + 32, + -0.5 + ], + "to": [ + -60.25, + 32.5, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 26, + 1, + 27 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 26, + 1, + 27 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 26, + 1, + 27 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 26, + 1, + 27 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 26, + 1, + 27 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "943051a6-3609-4b6a-a9be-3e7a6d7e866b" + }, + { + "name": "Tail1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.5, + 14, + 2 + ], + "to": [ + -63.5, + 15, + 8 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64.5, + 14, + 2 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 1 + }, + "east": { + "uv": [ + 7, + 26, + 19, + 27 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 1 + }, + "west": { + "uv": [ + 19, + 26, + 7, + 27 + ], + "texture": 1 + }, + "up": { + "uv": [ + 19, + 26, + 7, + 27 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 7, + 26, + 19, + 27 + ], + "rotation": 90, + "texture": 1 + } + }, + "type": "cube", + "uuid": "50e61828-ccdd-ee8e-c621-0a193b35fd5e" + }, + { + "name": "Tail2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.5, + 14, + 8 + ], + "to": [ + -63.5, + 15, + 14 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64.5, + 14, + 8 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 1 + }, + "east": { + "uv": [ + 7, + 27, + 19, + 28 + ], + "texture": 1 + }, + "south": { + "uv": [ + 7, + 27, + 8, + 28 + ], + "texture": 1 + }, + "west": { + "uv": [ + 19, + 27, + 7, + 28 + ], + "texture": 1 + }, + "up": { + "uv": [ + 19, + 27, + 7, + 28 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 7, + 27, + 19, + 28 + ], + "rotation": 90, + "texture": 1 + } + }, + "type": "cube", + "uuid": "4113cbe8-5856-27e8-5d63-4f6f3f13ccbd" + }, + { + "name": "PhoneEarRightFront1_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64, + 32, + -1.5 + ], + "to": [ + -63, + 35, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -63.75, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 0, + 26, + 1, + 27 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 26, + 1, + 27 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 26, + 1, + 27 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 26, + 1, + 27 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "5628b192-ac9f-3e32-91d4-2d87aa746910" + }, + { + "name": "PhoneEarRightFront1_1OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -63.9, + 32, + -1.51 + ], + "to": [ + -63.8, + 34.98, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -63.75, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 27, + 2, + 28 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "c1fcb63e-6496-d3a3-64cb-e2251ddf6b9e" + }, + { + "name": "PhoneEarRightFront1_1InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -63.2, + 32, + -1.51 + ], + "to": [ + -63.1, + 34.825, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -63.75, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 27, + 2, + 28 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "beef8305-3bf6-58e9-b6da-1cd0fab1fe2f" + }, + { + "name": "PhoneEarRightFront1_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64, + 35, + -1.5 + ], + "to": [ + -63, + 37.09, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -63.75, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 0, + 26, + 1, + 27 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 26, + 1, + 27 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 26, + 1, + 27 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 26, + 1, + 27 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "403fa6ce-f0d8-c5be-a8b6-d47294eb4984" + }, + { + "name": "PhoneEarRightFront1_2OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -63.9, + 35.025, + -1.51 + ], + "to": [ + -63.8, + 37.06, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -63.75, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 27, + 2, + 28 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "76f78202-a819-a689-73e2-64029f8d0f9d" + }, + { + "name": "PhoneEarRightFront1_2InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -63.2, + 35.178, + -1.51 + ], + "to": [ + -63.1, + 36.876, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -63.75, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 27, + 2, + 28 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "b779ad53-9102-aacf-4abf-51210f0edbde" + }, + { + "name": "PhoneEarRightFront2_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -60.5, + 28.9, + -1.5 + ], + "to": [ + -59.5, + 30.08, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -60.5, + 29.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 0, + 26, + 1, + 27 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 26, + 1, + 27 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 26, + 1, + 27 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 26, + 1, + 27 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "4bd4c91f-764a-3ef9-009c-766a50959788" + }, + { + "name": "PhoneEarRightFront2_1OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -59.7, + 28.9, + -1.51 + ], + "to": [ + -59.6, + 30.023, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -63.5, + 31, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 27, + 2, + 28 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "1a50d8d3-d2c0-1c03-5226-56fabd5b1aa7" + }, + { + "name": "PhoneEarRightFront2_1InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -60.4, + 28.9, + -1.51 + ], + "to": [ + -60.3, + 29.618, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -63.5, + 31, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 27, + 2, + 28 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "d3a63ec7-8768-7c37-4624-c7e3d4192e12" + }, + { + "name": "PhoneEarRightFront2_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -60.5, + 30.08, + -1.5 + ], + "to": [ + -59.5, + 34.08, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -60.5, + 28.6, + -1 + ], + "faces": { + "north": { + "uv": [ + 0, + 26, + 1, + 27 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 26, + 1, + 27 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 26, + 1, + 27 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 26, + 1, + 27 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "092a0e63-d5dd-7734-63ea-fa9d2553d0f5" + }, + { + "name": "PhoneEarRightFront2_2OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -59.7, + 30.138, + -1.51 + ], + "to": [ + -59.6, + 34.063, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -63.5, + 30.1, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 27, + 2, + 28 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "c5113057-7bfd-25ad-e529-b49c112c3377" + }, + { + "name": "PhoneEarRightFront2_2InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -60.4, + 30.541, + -1.51 + ], + "to": [ + -60.3, + 33.939, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -63.5, + 30.1, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 27, + 2, + 28 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "2840ca2d-db60-7b72-40c4-526f07cf8a96" + }, + { + "name": "PhoneEarRightFront2_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -60.5, + 34.08, + -1.5 + ], + "to": [ + -59.5, + 35.9, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -60.5, + 34.6, + -1 + ], + "faces": { + "north": { + "uv": [ + 0, + 26, + 1, + 27 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 26, + 1, + 27 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 26, + 1, + 27 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 26, + 1, + 27 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "e774d120-5304-8e16-59f6-3320dd90cc26" + }, + { + "name": "PhoneEarRightFront2_3OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -59.7, + 34.099, + -1.51 + ], + "to": [ + -59.6, + 35.832, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -63.5, + 34.1, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 27, + 2, + 28 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "0dca0cdb-bd65-b554-9877-c42622b728bd" + }, + { + "name": "PhoneEarRightFront2_3InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -60.4, + 34.22, + -1.51 + ], + "to": [ + -60.3, + 35.342, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -63.5, + 34.1, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 27, + 2, + 28 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "c95bca51-10cf-7f94-f3f4-4e2202585871" + }, + { + "name": "PhoneEarRightBack1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -63, + 31.855, + -0.5 + ], + "to": [ + -61.9, + 34.595, + 0.5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.1, + "rotation": [ + 0, + 0, + -35 + ], + "origin": [ + -63, + 32, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 33, + 1, + 34 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 26, + 1, + 27 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 26, + 1, + 27 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "b561e0e5-fa37-6c25-4798-cb2864fd4ef3" + }, + { + "name": "PhoneEarRightBack2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -61.44, + 30, + -0.5 + ], + "to": [ + -59.94, + 34.35, + 0.5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.1, + "origin": [ + -60.25, + 32, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 33, + 1, + 34 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 26, + 1, + 27 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 26, + 1, + 27 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 26, + 1, + 27 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 26, + 1, + 27 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "dedf0f6b-187d-2be9-04f4-b753ebcdcf51" + }, + { + "name": "PhoneEarRightFront1_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64, + 37.09, + -1.5 + ], + "to": [ + -63, + 37.94, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -63.75, + 34.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 0, + 26, + 1, + 27 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 26, + 1, + 27 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 26, + 1, + 27 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 26, + 1, + 27 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "f1e596d1-8e6e-52f8-ee7e-4c2fe9e40228" + }, + { + "name": "PhoneEarRightFront1_2OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -63.9, + 37.115, + -1.51 + ], + "to": [ + -63.8, + 37.868, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -63.75, + 34.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 27, + 2, + 28 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "6544450b-5248-1b6d-e92d-2543dd68f300" + }, + { + "name": "PhoneEarRightFront1_2InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -63.2, + 37.305, + -1.51 + ], + "to": [ + -63.1, + 37.378, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -63.75, + 34.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 27, + 2, + 28 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "348fd0c9-c2ba-34d9-9160-bd82c3a23d43" + }, + { + "name": "PhoneEarLeftFront1_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -65, + 32, + -1.5 + ], + "to": [ + -64, + 35, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 26, + 0, + 27 + ], + "texture": 1 + }, + "east": { + "uv": [ + 1, + 26, + 0, + 27 + ], + "texture": 1 + }, + "south": { + "uv": [ + 1, + 26, + 0, + 27 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1, + 26, + 0, + 27 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "be67e76c-c7f9-9a4b-6c04-524fbc76c77b" + }, + { + "name": "PhoneEarLeftFront1_1OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.2, + 32, + -1.51 + ], + "to": [ + -64.1, + 34.98, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 27, + 1, + 28 + ], + "texture": 1 + }, + "east": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + }, + "south": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + }, + "up": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + }, + "down": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "a76db6f4-0ef7-6aed-1cc1-9c1259141265" + }, + { + "name": "PhoneEarLeftFront1_1InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.9, + 32, + -1.51 + ], + "to": [ + -64.8, + 34.825, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 27, + 1, + 28 + ], + "texture": 1 + }, + "east": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + }, + "south": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + }, + "up": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + }, + "down": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "2d6e824a-b085-3640-e1e5-7ba8c21408be" + }, + { + "name": "PhoneEarLeftFront1_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -65, + 35, + -1.5 + ], + "to": [ + -64, + 37.09, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 26, + 0, + 27 + ], + "texture": 1 + }, + "east": { + "uv": [ + 1, + 26, + 0, + 27 + ], + "texture": 1 + }, + "south": { + "uv": [ + 1, + 26, + 0, + 27 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1, + 26, + 0, + 27 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "8cc219f9-f431-d538-3d6f-fcab7185ee25" + }, + { + "name": "PhoneEarLeftFront1_2OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.2, + 35.025, + -1.51 + ], + "to": [ + -64.1, + 37.06, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 27, + 1, + 28 + ], + "texture": 1 + }, + "east": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + }, + "south": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + }, + "up": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + }, + "down": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "c3b3c7a5-1906-1860-5da3-6879de869a89" + }, + { + "name": "PhoneEarLeftFront1_2InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.9, + 35.178, + -1.51 + ], + "to": [ + -64.8, + 36.876, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 27, + 1, + 28 + ], + "texture": 1 + }, + "east": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + }, + "south": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + }, + "up": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + }, + "down": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "239182e8-2f83-2228-a01c-9bba6132ebd4" + }, + { + "name": "PhoneEarLeftFront1_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -65, + 37.09, + -1.5 + ], + "to": [ + -64, + 37.94, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64.25, + 34.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 26, + 0, + 27 + ], + "texture": 1 + }, + "east": { + "uv": [ + 1, + 26, + 0, + 27 + ], + "texture": 1 + }, + "south": { + "uv": [ + 1, + 26, + 0, + 27 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1, + 26, + 0, + 27 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "2efdfc14-75ad-3917-bcbd-c864f6a4908a" + }, + { + "name": "PhoneEarLeftFront1_2OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.2, + 37.115, + -1.51 + ], + "to": [ + -64.1, + 37.868, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64.25, + 34.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 27, + 1, + 28 + ], + "texture": 1 + }, + "east": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + }, + "south": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + }, + "up": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + }, + "down": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "12e1aa45-4861-cd9c-cdfd-5b656c8af07c" + }, + { + "name": "PhoneEarLeftFront1_2InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.9, + 37.305, + -1.51 + ], + "to": [ + -64.8, + 37.378, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64.25, + 34.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 27, + 1, + 28 + ], + "texture": 1 + }, + "east": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + }, + "south": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + }, + "up": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + }, + "down": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "64b1a793-eb74-5aab-221f-0058edf82966" + }, + { + "name": "PhoneEarLeftFront_2_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -68.5, + 28.9, + -1.5 + ], + "to": [ + -67.5, + 30.08, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -67.5, + 29.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 26, + 0, + 27 + ], + "texture": 1 + }, + "east": { + "uv": [ + 1, + 26, + 0, + 27 + ], + "texture": 1 + }, + "south": { + "uv": [ + 1, + 26, + 0, + 27 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1, + 26, + 0, + 27 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "0cabbb13-53a1-76d6-49c1-244a341e3fc4" + }, + { + "name": "PhoneEarLeftFront2_1OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -68.4, + 28.9, + -1.51 + ], + "to": [ + -68.3, + 30.023, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64.5, + 31, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 27, + 1, + 28 + ], + "texture": 1 + }, + "east": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + }, + "south": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + }, + "up": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + }, + "down": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "4b86c2c6-6541-ae97-908d-c4c0946d9742" + }, + { + "name": "PhoneEarLeftFront2_1InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -67.7, + 28.9, + -1.51 + ], + "to": [ + -67.6, + 29.618, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64.5, + 31, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 27, + 1, + 28 + ], + "texture": 1 + }, + "east": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + }, + "south": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + }, + "up": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + }, + "down": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "fd698e35-9448-12f8-4ea1-9abfc1d86688" + }, + { + "name": "PhoneEarLeftFront2_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -68.5, + 30.08, + -1.5 + ], + "to": [ + -67.5, + 34.08, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -67.5, + 28.6, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 26, + 0, + 27 + ], + "texture": 1 + }, + "east": { + "uv": [ + 1, + 26, + 0, + 27 + ], + "texture": 1 + }, + "south": { + "uv": [ + 1, + 26, + 0, + 27 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1, + 26, + 0, + 27 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "83f7478a-cd88-a072-b14a-aac679cc671e" + }, + { + "name": "PhoneEarLeftFront2_2OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -68.4, + 30.138, + -1.51 + ], + "to": [ + -68.3, + 34.063, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64.5, + 30.1, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 27, + 1, + 28 + ], + "texture": 1 + }, + "east": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + }, + "south": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + }, + "up": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + }, + "down": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "759cf829-fc6c-b23b-f394-09d2b21b073e" + }, + { + "name": "PhoneEarLeftFront2_2InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -67.7, + 30.541, + -1.51 + ], + "to": [ + -67.6, + 33.939, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64.5, + 30.1, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 27, + 1, + 28 + ], + "texture": 1 + }, + "east": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + }, + "south": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + }, + "up": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + }, + "down": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "5e464ee7-9b76-e363-35ab-cc8ac9024a22" + }, + { + "name": "PhoneEarLeftFront2_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -68.5, + 34.08, + -1.5 + ], + "to": [ + -67.5, + 35.9, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -67.5, + 34.6, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 26, + 0, + 27 + ], + "texture": 1 + }, + "east": { + "uv": [ + 1, + 26, + 0, + 27 + ], + "texture": 1 + }, + "south": { + "uv": [ + 1, + 26, + 0, + 27 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1, + 26, + 0, + 27 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "f7ef2c19-5922-806b-fe13-635d0335552b" + }, + { + "name": "PhoneEarLeftFront2_3OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -68.4, + 34.099, + -1.51 + ], + "to": [ + -68.3, + 35.832, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64.5, + 34.1, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 27, + 1, + 28 + ], + "texture": 1 + }, + "east": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + }, + "south": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + }, + "up": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + }, + "down": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "c4e7e749-9878-e45a-341c-b943ad7693e0" + }, + { + "name": "PhoneEarLeftFront2_3InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -67.7, + 34.22, + -1.51 + ], + "to": [ + -67.6, + 35.342, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64.5, + 34.1, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 27, + 1, + 28 + ], + "texture": 1 + }, + "east": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + }, + "south": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + }, + "up": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + }, + "down": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "d9cf64b4-1f79-2af0-5eed-b045c13920ad" + }, + { + "name": "PhoneEarLeftBack1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -66.1, + 31.855, + -0.5 + ], + "to": [ + -65, + 34.595, + 0.5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.1, + "rotation": [ + 0, + 0, + 35 + ], + "origin": [ + -65, + 32, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 33, + 0, + 34 + ], + "texture": 1 + }, + "east": { + "uv": [ + 1, + 26, + 0, + 27 + ], + "texture": 1 + }, + "south": { + "uv": [ + 1, + 26, + 0, + 27 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 1 + }, + "up": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "b5a002b6-22e9-a072-4595-4028c86f3962" + }, + { + "name": "PhoneEarLeftBack2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -68.06, + 30, + -0.5 + ], + "to": [ + -66.56, + 34.35, + 0.5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.1, + "origin": [ + -67.75, + 32, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 33, + 0, + 34 + ], + "texture": 1 + }, + "east": { + "uv": [ + 1, + 26, + 0, + 27 + ], + "texture": 1 + }, + "south": { + "uv": [ + 1, + 26, + 0, + 27 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1, + 26, + 0, + 27 + ], + "texture": 1 + }, + "up": { + "uv": [ + 1, + 26, + 0, + 27 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "f54c98fe-b735-7964-faff-3d7981924e5a" + }, + { + "name": "Brim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -69, + 30, + -2 + ], + "to": [ + -59, + 33, + -2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + -69, + 31, + -2 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 10, + 3 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 2 + }, + "south": { + "uv": [ + 10, + 0, + 0, + 3 + ], + "texture": 2 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 2 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 2 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "1e981720-d6d9-f09b-e577-706de32bb630" + }, + { + "name": "BrimLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -69, + 30, + -2 + ], + "to": [ + -59, + 33, + -2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.15, + "origin": [ + -69, + 31, + -2 + ], + "faces": { + "north": { + "uv": [ + 0, + 3, + 10, + 6 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 2 + }, + "south": { + "uv": [ + 10, + 3, + 0, + 6 + ], + "texture": 2 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 2 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 2 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "3aadc8d9-06fa-5eef-4dbc-ca941db9ade4" + }, + { + "name": "Skirt1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -68.5, + 13, + -3 + ], + "to": [ + -59.5, + 14, + 3 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 6, + 18, + 15, + 19 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 18, + 6, + 19 + ], + "texture": 2 + }, + "south": { + "uv": [ + 21, + 18, + 30, + 19 + ], + "texture": 2 + }, + "west": { + "uv": [ + 15, + 18, + 21, + 19 + ], + "texture": 2 + }, + "up": { + "uv": [ + 6, + 12, + 15, + 18 + ], + "texture": 2 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "c1808908-2ddc-710e-bc1a-39fee1d58add" + }, + { + "name": "Skirt2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -69.25, + 11, + -4 + ], + "to": [ + -59.25, + 13, + 4 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 27, + 18, + 29 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 27, + 8, + 29 + ], + "texture": 2 + }, + "south": { + "uv": [ + 26, + 27, + 36, + 29 + ], + "texture": 2 + }, + "west": { + "uv": [ + 18, + 27, + 26, + 29 + ], + "texture": 2 + }, + "up": { + "uv": [ + 8, + 19, + 18, + 27 + ], + "texture": 2 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "b14062a5-8fd5-8a1d-20f0-07f95185da2b" + }, + { + "name": "Skirt3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -69.75, + 8, + -5 + ], + "to": [ + -58.75, + 11, + 5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 10, + 39, + 21, + 42 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 39, + 10, + 42 + ], + "texture": 2 + }, + "south": { + "uv": [ + 31, + 39, + 42, + 42 + ], + "texture": 2 + }, + "west": { + "uv": [ + 21, + 39, + 31, + 42 + ], + "texture": 2 + }, + "up": { + "uv": [ + 10, + 29, + 21, + 39 + ], + "texture": 2 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "576cb769-b524-e434-9505-500ecc812775" + }, + { + "name": "Skirt4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -70.25, + 4, + -6 + ], + "to": [ + -58.25, + 8, + 6 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 12, + 54, + 24, + 58 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 54, + 12, + 58 + ], + "texture": 2 + }, + "south": { + "uv": [ + 36, + 54, + 48, + 58 + ], + "texture": 2 + }, + "west": { + "uv": [ + 24, + 54, + 36, + 58 + ], + "texture": 2 + }, + "up": { + "uv": [ + 12, + 42, + 24, + 54 + ], + "texture": 2 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "1e8a9fce-e1fb-7b7e-7eb2-4a793ebcd958" + }, + { + "name": "Skirt4Layer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -70.25, + 4, + -6 + ], + "to": [ + -58.25, + 8, + 6 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + -64, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 12, + 70, + 24, + 74 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 70, + 12, + 74 + ], + "texture": 2 + }, + "south": { + "uv": [ + 36, + 70, + 48, + 74 + ], + "texture": 2 + }, + "west": { + "uv": [ + 24, + 70, + 36, + 74 + ], + "texture": 2 + }, + "up": { + "uv": [ + 12, + 58, + 24, + 70 + ], + "texture": 2 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "1795ac0b-b779-832b-a965-2dc00d907490" + }, + { + "name": "Skirt4Ring", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -70.25, + 5.375, + -6 + ], + "to": [ + -58.25, + 5.625, + 6 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + -64, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 42, + 1, + 43 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 42, + 1, + 43 + ], + "texture": 2 + }, + "south": { + "uv": [ + 0, + 42, + 1, + 43 + ], + "texture": 2 + }, + "west": { + "uv": [ + 0, + 42, + 1, + 43 + ], + "texture": 2 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 2 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "4a4353a6-3e3e-ddf5-073b-2b5aa53b7eac" + }, + { + "name": "OOLogoRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -58.24, + 5.85, + 0.68 + ], + "to": [ + -58.24, + 6.85, + 1.823 + ], + "autouv": 0, + "color": 0, + "origin": [ + -59, + 18, + 2 + ], + "faces": { + "north": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": 2 + }, + "east": { + "uv": [ + 27, + 74, + 43, + 88 + ], + "texture": 2 + }, + "south": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": 2 + }, + "west": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": 2 + }, + "up": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": 2 + }, + "down": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "6e195df0-bf76-310c-06fd-394a4ff07e7f" + }, + { + "name": "RibbonCenter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.5, + 14.5, + 2 + ], + "to": [ + -63.5, + 15.5, + 3 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64.5, + 14.5, + 2 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 2 + }, + "east": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 2 + }, + "south": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 2 + }, + "west": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 2 + }, + "up": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 2 + }, + "down": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "b984c931-e06a-4a7b-03ee-8402dbbf3150" + }, + { + "name": "RibbonLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -67.5, + 14, + 2.25 + ], + "to": [ + -64.5, + 16, + 2.75 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -10, + 0, + 0 + ], + "origin": [ + -64.5, + 15, + 2.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 2 + }, + "east": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 2 + }, + "south": { + "uv": [ + 26, + 0, + 32, + 4 + ], + "texture": 2 + }, + "west": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 2 + }, + "up": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 2 + }, + "down": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "c346cb04-2149-cdf6-7c2d-2f066237567c" + }, + { + "name": "RibbonRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -63.5, + 14, + 2.25 + ], + "to": [ + -60.5, + 16, + 2.75 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -10, + 0, + 0 + ], + "origin": [ + -63.5, + 15, + 2.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 2 + }, + "east": { + "uv": [ + 27, + 0, + 26, + 1 + ], + "texture": 2 + }, + "south": { + "uv": [ + 32, + 0, + 26, + 4 + ], + "texture": 2 + }, + "west": { + "uv": [ + 27, + 0, + 26, + 1 + ], + "texture": 2 + }, + "up": { + "uv": [ + 27, + 0, + 26, + 1 + ], + "texture": 2 + }, + "down": { + "uv": [ + 27, + 0, + 26, + 1 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "d3f2aef2-36ba-e71f-7f32-160b01ad665b" + }, + { + "name": "RibbonBottomRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -65, + 4.5, + 2.25 + ], + "to": [ + -63.5, + 14.5, + 2.75 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -6, + 0, + -20 + ], + "origin": [ + -63.5, + 14.5, + 2.5 + ], + "faces": { + "north": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 2 + }, + "east": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 2 + }, + "south": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 2 + }, + "west": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 2 + }, + "up": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 2 + }, + "down": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "d398e136-305b-ff2e-9e3e-f24bb46043e3" + }, + { + "name": "RibbonBottomLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.5, + 4.5, + 2.25 + ], + "to": [ + -63, + 14.5, + 2.75 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -6, + 0, + 20 + ], + "origin": [ + -64.5, + 14.5, + 2.5 + ], + "faces": { + "north": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 2 + }, + "east": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 2 + }, + "south": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 2 + }, + "west": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 2 + }, + "up": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 2 + }, + "down": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "0f145497-236a-8d3e-289e-49bd0ba364b5" + }, + { + "name": "Accessory", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -60.25, + 14.25, + 0.5 + ], + "to": [ + -59.75, + 15.25, + 1.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + 25 + ], + "origin": [ + -60.25, + 15.25, + 1 + ], + "faces": { + "north": { + "uv": [ + 55, + 30, + 56, + 31 + ], + "texture": 1 + }, + "east": { + "uv": [ + 55, + 30, + 62, + 37 + ], + "texture": 1 + }, + "south": { + "uv": [ + 55, + 30, + 56, + 31 + ], + "texture": 1 + }, + "west": { + "uv": [ + 29, + 26, + 29, + 26 + ], + "texture": 1 + }, + "up": { + "uv": [ + 55, + 30, + 56, + 31 + ], + "texture": 1 + }, + "down": { + "uv": [ + 55, + 30, + 56, + 31 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "11e5075c-d603-b3af-f4b1-6eafe78e847a" + }, + { + "name": "SleeveLing", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -71, + 14.375, + -2 + ], + "to": [ + -68, + 14.625, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + -59, + 18, + 2 + ], + "faces": { + "north": { + "uv": [ + 0, + 74, + 1, + 75 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 74, + 1, + 75 + ], + "texture": 2 + }, + "south": { + "uv": [ + 0, + 74, + 1, + 75 + ], + "texture": 2 + }, + "west": { + "uv": [ + 13, + 74, + 17, + 75 + ], + "texture": 2 + }, + "up": { + "uv": [ + 0, + 34, + 0, + 34 + ], + "texture": 2 + }, + "down": { + "uv": [ + 0, + 34, + 0, + 34 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "ff976ee6-ade7-13f0-bbd7-4ecd37ed1751" + }, + { + "name": "MillenniumLogo", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -71.01, + 14.1, + -0.57 + ], + "to": [ + -71.01, + 14.9, + 0.57 + ], + "autouv": 0, + "color": 0, + "origin": [ + -59, + 18, + 2 + ], + "faces": { + "north": { + "uv": [ + 0, + 34, + 0, + 34 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 34, + 0, + 34 + ], + "texture": 2 + }, + "south": { + "uv": [ + 0, + 34, + 0, + 34 + ], + "texture": 2 + }, + "west": { + "uv": [ + 0, + 74, + 27, + 93 + ], + "texture": 2 + }, + "up": { + "uv": [ + 0, + 34, + 0, + 34 + ], + "texture": 2 + }, + "down": { + "uv": [ + 0, + 34, + 0, + 34 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "978b23f9-f6a8-b438-d1d0-dc03c5b8f55e" + }, + { + "name": "MillenniumLogo", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -56.99, + 14.1, + -0.57 + ], + "to": [ + -56.99, + 14.9, + 0.57 + ], + "autouv": 0, + "color": 0, + "origin": [ + -59, + 18, + 2 + ], + "faces": { + "north": { + "uv": [ + 0, + 34, + 0, + 34 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 74, + 27, + 93 + ], + "texture": 2 + }, + "south": { + "uv": [ + 0, + 34, + 0, + 34 + ], + "texture": 2 + }, + "west": { + "uv": [ + 0, + 34, + 0, + 34 + ], + "texture": 2 + }, + "up": { + "uv": [ + 0, + 34, + 0, + 34 + ], + "texture": 2 + }, + "down": { + "uv": [ + 0, + 34, + 0, + 34 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "4bf8bdcd-03e6-ad05-9e85-280ce67a5fe3" + }, + { + "name": "SleeveLing", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -60, + 14.375, + -2 + ], + "to": [ + -57, + 14.625, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + -59, + 18, + 2 + ], + "faces": { + "north": { + "uv": [ + 0, + 74, + 1, + 75 + ], + "texture": 2 + }, + "east": { + "uv": [ + 13, + 74, + 17, + 75 + ], + "texture": 2 + }, + "south": { + "uv": [ + 0, + 74, + 1, + 75 + ], + "texture": 2 + }, + "west": { + "uv": [ + 0, + 74, + 1, + 75 + ], + "texture": 2 + }, + "up": { + "uv": [ + 0, + 34, + 0, + 34 + ], + "texture": 2 + }, + "down": { + "uv": [ + 0, + 34, + 0, + 34 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "bfd9bcde-df77-5688-71ad-f9e6de0a52d7" + }, + { + "name": "OOLogoLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -70.26, + 5.85, + 0.68 + ], + "to": [ + -70.26, + 6.85, + 1.823 + ], + "autouv": 0, + "color": 0, + "origin": [ + -69, + 18, + 2 + ], + "faces": { + "north": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": 2 + }, + "east": { + "uv": [ + 27, + 74, + 43, + 88 + ], + "texture": 2 + }, + "south": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": 2 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 2 + }, + "up": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": 2 + }, + "down": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "0e20a754-447f-185e-134e-9163bf8bb894" + }, + { + "name": "HairTail1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.75, + 24.75, + 4.25 + ], + "to": [ + -63.25, + 26.25, + 5.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 45, + 35, + 42, + 38 + ], + "texture": 1 + }, + "east": { + "uv": [ + 48, + 35, + 45, + 38 + ], + "texture": 1 + }, + "south": { + "uv": [ + 51, + 35, + 48, + 38 + ], + "texture": 1 + }, + "west": { + "uv": [ + 42, + 35, + 39, + 38 + ], + "texture": 1 + }, + "up": { + "uv": [ + 45, + 32, + 42, + 35 + ], + "texture": 1 + }, + "down": { + "uv": [ + 48, + 32, + 45, + 35 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "13cc3dd9-6388-63c2-d33c-ca55c775162d" + }, + { + "name": "HairTie", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.5, + 25, + 4 + ], + "to": [ + -63.5, + 26, + 4.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 29, + 26, + 29, + 26 + ], + "texture": 1 + }, + "east": { + "uv": [ + 39, + 26, + 40, + 27 + ], + "texture": 1 + }, + "south": { + "uv": [ + 29, + 26, + 29, + 26 + ], + "texture": 1 + }, + "west": { + "uv": [ + 39, + 26, + 40, + 27 + ], + "texture": 1 + }, + "up": { + "uv": [ + 39, + 26, + 40, + 27 + ], + "texture": 1 + }, + "down": { + "uv": [ + 39, + 26, + 40, + 27 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "67920b89-ce40-b067-cfb1-c2ab4e63d6ef" + }, + { + "name": "HairTail2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.75, + 23, + 5 + ], + "to": [ + -63.25, + 25.5, + 6.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -91.25, + -5.5, + 2.25 + ], + "faces": { + "north": { + "uv": [ + 47, + 29, + 42, + 32 + ], + "rotation": 90, + "texture": 1 + }, + "east": { + "uv": [ + 52, + 26, + 47, + 29 + ], + "rotation": 270, + "texture": 1 + }, + "south": { + "uv": [ + 55, + 29, + 50, + 32 + ], + "rotation": 270, + "texture": 1 + }, + "west": { + "uv": [ + 47, + 26, + 42, + 29 + ], + "rotation": 270, + "texture": 1 + }, + "up": { + "uv": [ + 50, + 29, + 47, + 32 + ], + "rotation": 270, + "texture": 1 + }, + "down": { + "uv": [ + 42, + 29, + 39, + 32 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "1f91fff1-f0c9-9dd0-6694-7a7f6e844235" + }, + { + "name": "HairTieTip1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64, + 26, + 4 + ], + "to": [ + -64, + 26.5, + 4.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 15, + 0, + 0 + ], + "origin": [ + -64, + 26, + 4 + ], + "faces": { + "north": { + "uv": [ + 29, + 26, + 30, + 27 + ], + "texture": 1 + }, + "east": { + "uv": [ + 39, + 26, + 40, + 27 + ], + "texture": 1 + }, + "south": { + "uv": [ + 29, + 26, + 30, + 27 + ], + "texture": 1 + }, + "west": { + "uv": [ + 39, + 26, + 40, + 27 + ], + "texture": 1 + }, + "up": { + "uv": [ + 29, + 26, + 30, + 27 + ], + "texture": 1 + }, + "down": { + "uv": [ + 29, + 26, + 30, + 27 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "0fee99e5-f20e-8515-2cce-44561b67be5f" + }, + { + "name": "HairTieTip2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64, + 24.5, + 4 + ], + "to": [ + -64, + 25, + 4.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -15, + 0, + 0 + ], + "origin": [ + -64, + 25, + 4 + ], + "faces": { + "north": { + "uv": [ + 29, + 26, + 30, + 27 + ], + "texture": 1 + }, + "east": { + "uv": [ + 39, + 26, + 40, + 27 + ], + "texture": 1 + }, + "south": { + "uv": [ + 29, + 26, + 30, + 27 + ], + "texture": 1 + }, + "west": { + "uv": [ + 39, + 26, + 40, + 27 + ], + "texture": 1 + }, + "up": { + "uv": [ + 29, + 26, + 30, + 27 + ], + "texture": 1 + }, + "down": { + "uv": [ + 29, + 26, + 30, + 27 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "dbc7e6e0-1c96-b742-85b2-527e48e417c9" + }, + { + "name": "Barrel1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.39375, + 0, + -12 + ], + "to": [ + -63.60625, + 0.7875, + -6.423 + ], + "autouv": 0, + "color": 0, + "origin": [ + -65.5, + -8.25, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 92, + 5, + 97 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 91, + 2, + 92 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 91, + 1, + 92 + ], + "texture": 1 + }, + "west": { + "uv": [ + 2, + 91, + 0, + 92 + ], + "texture": 1 + }, + "up": { + "uv": [ + 2, + 91, + 0, + 92 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 2, + 91, + 0, + 92 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "3e65a477-df5a-8254-2567-768d9d234455" + }, + { + "name": "Barrel2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.9, + -0.50625, + -11.775 + ], + "to": [ + -63.1, + 1.29375, + -11.3625 + ], + "autouv": 0, + "color": 0, + "origin": [ + -65.5, + -8.25, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 1, + 91, + 2, + 92 + ], + "texture": 1 + }, + "east": { + "uv": [ + 1, + 91, + 2, + 92 + ], + "texture": 1 + }, + "south": { + "uv": [ + 1, + 91, + 2, + 92 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1, + 91, + 2, + 92 + ], + "texture": 1 + }, + "up": { + "uv": [ + 1, + 91, + 2, + 92 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 1, + 91, + 2, + 92 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "40b6672d-f0b5-d1c0-9e56-fa01655e7a9a" + }, + { + "name": "Barrel3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.7875, + -0.39375, + -11.3625 + ], + "to": [ + -63.2125, + 1.18125, + -11.025 + ], + "autouv": 0, + "color": 0, + "origin": [ + -65.5, + -8.25, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "texture": 1 + }, + "east": { + "uv": [ + 2, + 91, + 5, + 92 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "texture": 1 + }, + "west": { + "uv": [ + 5, + 91, + 2, + 92 + ], + "texture": 1 + }, + "up": { + "uv": [ + 5, + 91, + 2, + 92 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 5, + 91, + 2, + 92 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "f5ca4fdb-102d-9374-90a5-a81b0b96e8eb" + }, + { + "name": "Barrel4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.99375, + -0.6, + -11.025 + ], + "to": [ + -63.00625, + 1.3875, + -10.4625 + ], + "autouv": 0, + "color": 0, + "origin": [ + -65.5, + -8.25, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 8, + 91, + 9, + 92 + ], + "texture": 1 + }, + "east": { + "uv": [ + 7.5, + 91, + 9, + 92 + ], + "texture": 1 + }, + "south": { + "uv": [ + 7, + 91, + 8, + 92 + ], + "texture": 1 + }, + "west": { + "uv": [ + 9, + 91, + 7.5, + 92 + ], + "texture": 1 + }, + "up": { + "uv": [ + 9, + 91, + 7.5, + 92 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 9, + 91, + 7.5, + 92 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "8bdec214-1314-e9ee-0e54-2eb19d425de1" + }, + { + "name": "Barrel5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.7875, + -0.39375, + -10.4625 + ], + "to": [ + -63.2125, + 1.18125, + -9.4875 + ], + "autouv": 0, + "color": 0, + "origin": [ + -65.5, + -8.25, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "texture": 1 + }, + "east": { + "uv": [ + 5, + 91, + 7.5, + 92 + ], + "texture": 1 + }, + "south": { + "uv": [ + 5, + 91, + 6, + 92 + ], + "texture": 1 + }, + "west": { + "uv": [ + 7.5, + 91, + 5, + 92 + ], + "texture": 1 + }, + "up": { + "uv": [ + 7.5, + 91, + 5, + 92 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 7.5, + 91, + 5, + 92 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "b87cf879-53b8-df99-5477-03c327fcd8b1" + }, + { + "name": "Barrel6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.54375, + -0.15, + -9.4875 + ], + "to": [ + -63.45625, + 0.9375, + -8.325 + ], + "autouv": 0, + "color": 0, + "origin": [ + -65.5, + -8.25, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "texture": 1 + }, + "east": { + "uv": [ + 9, + 91, + 12, + 92 + ], + "texture": 1 + }, + "south": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "west": { + "uv": [ + 12, + 91, + 9, + 92 + ], + "texture": 1 + }, + "up": { + "uv": [ + 12, + 91, + 9, + 92 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 12, + 91, + 9, + 92 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "8a9405c4-9d81-da0b-30a4-5705a17a5848" + }, + { + "name": "GunBody1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.39375, + 0, + -6.423 + ], + "to": [ + -63.60625, + 1.91925, + 6.8895 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + -5.25, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "texture": 1 + }, + "east": { + "uv": [ + 5, + 92, + 44.4, + 98 + ], + "texture": 1 + }, + "south": { + "uv": [ + 5, + 92, + 6, + 93 + ], + "texture": 1 + }, + "west": { + "uv": [ + 44.4, + 92, + 5, + 98 + ], + "texture": 1 + }, + "up": { + "uv": [ + 44.4, + 92, + 5, + 93 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 44.4, + 92, + 5, + 93 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "9e264c06-d295-59d5-123e-32bff588aa90" + }, + { + "name": "GunBodyEnd", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.525, + 1.17375, + -6.8925 + ], + "to": [ + -63.475, + 1.91925, + -6.1125 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + -5.25, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "east": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "south": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "west": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "up": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "33764923-a20c-9f02-4db5-90f1585ddbac" + }, + { + "name": "GunBody4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.39375, + 1.91925, + -0.0855 + ], + "to": [ + -63.60625, + 2.10675, + 6.8895 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + -5.25, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 5, + 92, + 6, + 93 + ], + "texture": 1 + }, + "east": { + "uv": [ + 5, + 92, + 6, + 93 + ], + "texture": 1 + }, + "south": { + "uv": [ + 5, + 92, + 6, + 93 + ], + "texture": 1 + }, + "west": { + "uv": [ + 5, + 92, + 6, + 93 + ], + "texture": 1 + }, + "up": { + "uv": [ + 5, + 92, + 6, + 93 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "c8faef97-d533-f122-41f9-515988593ab0" + }, + { + "name": "FrontSight1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.375, + 1.9125, + -6.75 + ], + "to": [ + -63.625, + 2.0625, + -6.225 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + 2.1, + -6.1125 + ], + "faces": { + "north": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "east": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "south": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "west": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "up": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "4b187f41-6e69-e949-8e1b-d7fcc03d011a" + }, + { + "name": "FrontSight2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -63.775, + 2.0625, + -6.75 + ], + "to": [ + -63.625, + 2.5125, + -6.225 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + 2.1, + -6.1125 + ], + "faces": { + "north": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "east": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "south": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "west": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "ccb126ea-0085-e8c7-7705-2240403baca6" + }, + { + "name": "FrontSight3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.375, + 2.5125, + -6.75 + ], + "to": [ + -63.625, + 2.6625, + -6.225 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + 2.1, + -6.1125 + ], + "faces": { + "north": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "east": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "south": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "west": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "up": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "ee562eff-529f-3caf-b411-d4741f4eca8b" + }, + { + "name": "FrontSight4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.375, + 2.0625, + -6.75 + ], + "to": [ + -64.225, + 2.5125, + -6.225 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + 2.1, + -6.1125 + ], + "faces": { + "north": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "east": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "south": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "west": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "4299c342-9e55-8472-e194-acbe66000ad2" + }, + { + "name": "GunBody2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.58125, + -0.6375, + -6.423 + ], + "to": [ + -63.41875, + 1.2375, + -0.2565 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + -5.25, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 12, + 91, + 13, + 92 + ], + "texture": 1 + }, + "east": { + "uv": [ + 12, + 91, + 42, + 92 + ], + "texture": 1 + }, + "south": { + "uv": [ + 12, + 91, + 13, + 92 + ], + "texture": 1 + }, + "west": { + "uv": [ + 42, + 91, + 12, + 92 + ], + "texture": 1 + }, + "up": { + "uv": [ + 42, + 91, + 12, + 92 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 42, + 91, + 12, + 92 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "8af43092-62ce-7aae-f2e2-a4442a0a3f8e" + }, + { + "name": "BackSight1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.39625, + 1.80425, + 5.3045 + ], + "to": [ + -63.60375, + 2.40925, + 6.2245 + ], + "autouv": 0, + "color": 0, + "inflate": 0.005, + "origin": [ + -64, + -5.25, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "east": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "south": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "west": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "up": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "37ab66ae-aa8b-e18e-b68c-7e6f2c7e4ae5" + }, + { + "name": "Magazine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.39375, + -4.3125, + -0.2775 + ], + "to": [ + -63.60625, + 0, + 2.0475 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 3, + 0, + 0 + ], + "origin": [ + -64, + 0, + 2.085 + ], + "faces": { + "north": { + "uv": [ + 5, + 102, + 6, + 113.13 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 102, + 6, + 113.13 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 102, + 1, + 113.13 + ], + "texture": 1 + }, + "west": { + "uv": [ + 6, + 102, + 0, + 113.13 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 6, + 113, + 0, + 114 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "c4280203-c17a-3422-a7b3-200932dbcc39" + }, + { + "name": "GunBody5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.39625, + -1.54, + 1.97 + ], + "to": [ + -63.60375, + 0.0025, + 4.7875 + ], + "autouv": 0, + "color": 0, + "inflate": 0.005, + "origin": [ + -64, + -5.25, + 4.275 + ], + "faces": { + "north": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "texture": 1 + }, + "east": { + "uv": [ + 6, + 98, + 16.98, + 104 + ], + "texture": 1 + }, + "south": { + "uv": [ + 6, + 98, + 6.98, + 99 + ], + "texture": 1 + }, + "west": { + "uv": [ + 16.98, + 98, + 6, + 104 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 6, + 98, + 6.98, + 99 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "e1184f91-c4d5-d50a-55e1-8a7faccc4cb5" + }, + { + "name": "GunBody6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.39625, + -0.94, + 4.7825 + ], + "to": [ + -63.60375, + 0.0025, + 5.5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.005, + "origin": [ + -64, + -5.25, + 4.275 + ], + "faces": { + "north": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "texture": 1 + }, + "east": { + "uv": [ + 14, + 100, + 17.04, + 104 + ], + "texture": 1 + }, + "south": { + "uv": [ + 6, + 98, + 6.98, + 99 + ], + "texture": 1 + }, + "west": { + "uv": [ + 14, + 100, + 17.04, + 104 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 6, + 98, + 6.98, + 99 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "79a88789-9754-6564-af5b-aa4e7470a8fa" + }, + { + "name": "GunBody7", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.39325, + -0.937, + 5.498 + ], + "to": [ + -63.60675, + 0.937, + 11.6095 + ], + "autouv": 0, + "color": 0, + "inflate": -0.001, + "origin": [ + -64, + -5.25, + 4.0875 + ], + "faces": { + "north": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "texture": 1 + }, + "east": { + "uv": [ + 17, + 98, + 49.6, + 103 + ], + "texture": 1 + }, + "south": { + "uv": [ + 17, + 98, + 18, + 103 + ], + "texture": 1 + }, + "west": { + "uv": [ + 49.6, + 98, + 17, + 103 + ], + "texture": 1 + }, + "up": { + "uv": [ + 49.6, + 98, + 17, + 99 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 49.6, + 102, + 17, + 103 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "85fdb15c-e400-67ee-e764-91222d6b0091" + }, + { + "name": "GunBody8", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.39275, + -0.9365, + 6.7135 + ], + "to": [ + -63.60725, + 1.199, + 10.4015 + ], + "autouv": 0, + "color": 0, + "inflate": -0.002, + "rotation": [ + 30, + 0, + 0 + ], + "origin": [ + -64, + -0.9375, + 6.7125 + ], + "faces": { + "north": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "texture": 1 + }, + "east": { + "uv": [ + 20.375, + 98, + 43.1, + 99 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "texture": 1 + }, + "west": { + "uv": [ + 43.1, + 98, + 20.375, + 99 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 43.1, + 98, + 20.375, + 99 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "2bfc104a-5173-6308-0ca6-6d08d3711376" + }, + { + "name": "Grip1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.39375, + -2.36194, + 3.7328 + ], + "to": [ + -63.60625, + -1.38694, + 5.4578 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + -1.5375, + 3.9 + ], + "faces": { + "north": { + "uv": [ + 6, + 104, + 6.85, + 106 + ], + "texture": 1 + }, + "east": { + "uv": [ + 6, + 104, + 6.85, + 106 + ], + "texture": 1 + }, + "south": { + "uv": [ + 6, + 104, + 6.85, + 106 + ], + "texture": 1 + }, + "west": { + "uv": [ + 6, + 104, + 6.85, + 106 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 6, + 105, + 6.85, + 106 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "bf479b89-463b-a9eb-3478-00b13a14b37e" + }, + { + "name": "Grip2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.39375, + -4.61195, + 3.7328 + ], + "to": [ + -63.60625, + -2.36194, + 5.0078 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + -1.5375, + 3.9 + ], + "faces": { + "north": { + "uv": [ + 6, + 106, + 6.85, + 113 + ], + "texture": 1 + }, + "east": { + "uv": [ + 6, + 106, + 6.85, + 113 + ], + "texture": 1 + }, + "south": { + "uv": [ + 6, + 106, + 6.85, + 113 + ], + "texture": 1 + }, + "west": { + "uv": [ + 6, + 106, + 6.85, + 113 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 6, + 112, + 6.85, + 113 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "4015cbf2-722a-034a-389d-bb57fc4863e0" + }, + { + "name": "Trigger", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.1875, + -2.1375, + 3.45 + ], + "to": [ + -63.8125, + -1.5375, + 3.6375 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -64, + -1.5375, + 3.6375 + ], + "faces": { + "north": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "east": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "south": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "west": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "dfa9f421-6857-9eb3-3e3b-8e0eff6a0afc" + }, + { + "name": "Accessory", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.0005, + -4.3505, + 3.112 + ], + "to": [ + -63.9995, + -3.2245, + 3.73175 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + -65.5, + -4.35, + 3.1125 + ], + "faces": { + "north": { + "uv": [ + 0, + 91, + 1, + 92 + ], + "texture": 1 + }, + "east": { + "uv": [ + 7, + 106, + 18, + 126 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "texture": 1 + }, + "west": { + "uv": [ + 18, + 106, + 7, + 126 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "508b83cb-0eb9-219e-919c-20c5cb8e9668" + }, + { + "name": "AccessoryLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.0005, + -3.278, + 3.39325 + ], + "to": [ + -63.9995, + -2.527, + 3.4505 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + -65.5, + -4.35, + 3.1125 + ], + "faces": { + "north": { + "uv": [ + 0, + 91, + 1, + 92 + ], + "texture": 1 + }, + "east": { + "uv": [ + 15, + 104, + 16, + 105 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "texture": 1 + }, + "west": { + "uv": [ + 15, + 104, + 16, + 105 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "a0270b03-89f5-7a21-c08e-4bbf3c164dc0" + }, + { + "name": "GDDLabel1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -63.60625, + -2.9625, + 8.925 + ], + "to": [ + -63.60625, + -1.4625, + 10.78125 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + -66.64375, + -2.2125, + -0.825 + ], + "faces": { + "north": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "texture": 1 + }, + "east": { + "uv": [ + 18, + 12, + 51, + 37 + ], + "texture": 8 + }, + "south": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "bbc0feeb-0659-78bb-e54b-ac765d25cc89" + }, + { + "name": "GunBody9", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.525, + 0.39375, + -7.398 + ], + "to": [ + -63.475, + 1.17375, + -6.423 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + -5.25, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "east": { + "uv": [ + 45, + 91, + 50, + 95 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "texture": 1 + }, + "west": { + "uv": [ + 50, + 91, + 45, + 95 + ], + "texture": 1 + }, + "up": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "e1b1889d-076e-be59-fbc6-da7050b04d5e" + }, + { + "name": "GunBody11", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.6, + -0.951, + -6.6195 + ], + "to": [ + -63.325, + 0.1875, + -5.481 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + -5.25, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "east": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "south": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "west": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "up": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "fd41a81e-93de-a365-07fc-8f98ea96ab56" + }, + { + "name": "GunBody10", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.525, + 0.1875, + -6.6195 + ], + "to": [ + -63.475, + 0.39375, + -6.423 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + -5.25, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "east": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "texture": 1 + }, + "west": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "ec1dab71-2a2f-6eb7-d02a-c92c628534b4" + }, + { + "name": "GunBody12", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.6, + -0.7935, + -5.481 + ], + "to": [ + -63.325, + 0.0315, + -1.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + -5.25, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "texture": 1 + }, + "east": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "south": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "west": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "up": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "ac199ef5-b417-725e-1ed9-060c610f2b7b" + }, + { + "name": "GunBody13", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.6, + 0.0315, + -2.6145 + ], + "to": [ + -63.325, + 0.267, + -1.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + -5.25, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "texture": 1 + }, + "east": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "south": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "west": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "up": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "df76fa8e-4e55-3a2c-3543-1eb20e267b2c" + }, + { + "name": "BackSight2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.24625, + 2.40425, + 5.3795 + ], + "to": [ + -63.75375, + 2.48425, + 5.6845 + ], + "autouv": 0, + "color": 0, + "inflate": 0.005, + "origin": [ + -64, + -5.25, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "east": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "south": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "west": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "up": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "502494e2-b30e-9f53-1e86-84e3e18a4cde" + }, + { + "name": "GunBody9", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.39225, + -2.7765, + 9.9075 + ], + "to": [ + -63.60775, + -0.936, + 11.6085 + ], + "autouv": 0, + "color": 0, + "inflate": -0.003, + "origin": [ + -64, + -5.25, + 4.0875 + ], + "faces": { + "north": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "texture": 1 + }, + "east": { + "uv": [ + 50, + 98, + 54.55, + 103 + ], + "texture": 1 + }, + "south": { + "uv": [ + 17, + 98, + 18, + 103 + ], + "texture": 1 + }, + "west": { + "uv": [ + 54.55, + 98, + 50, + 103 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 54.55, + 102, + 50, + 103 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "ac336d31-d270-ace4-fa05-9ba63f1a2beb" + }, + { + "name": "GunBody10", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.4875, + 0.5055, + 7.1325 + ], + "to": [ + -63.5125, + 1.251, + 11.0205 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + -5.25, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "east": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "south": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "west": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "up": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "1cef7de6-3d4c-08a5-47f3-f9c8edfa076d" + }, + { + "name": "GDDLabel2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.39375, + -2.9625, + 8.925 + ], + "to": [ + -63.60625, + -1.4625, + 8.925 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + -66.64375, + -2.2125, + -0.825 + ], + "faces": { + "north": { + "uv": [ + 51, + 12, + 65, + 37 + ], + "texture": 8 + }, + "east": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "16743008-66ca-407e-776a-dadf740ee2f4" + }, + { + "name": "GDDLabel3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.39375, + -2.9625, + 8.925 + ], + "to": [ + -64.39375, + -1.4625, + 10.78125 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + -66.64375, + -2.2125, + -0.825 + ], + "faces": { + "north": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "texture": 1 + }, + "west": { + "uv": [ + 65, + 12, + 98, + 37 + ], + "texture": 8 + }, + "up": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "3ff27103-e3d6-832b-7026-6f9fc7f2aa2f" + }, + { + "name": "TriggerGuard1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.1875, + -2.676, + 2.1645 + ], + "to": [ + -63.8125, + -1.5375, + 2.352 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -25, + 0, + 0 + ], + "origin": [ + -64, + -1.5375, + 2.1645 + ], + "faces": { + "north": { + "uv": [ + 7, + 104, + 8, + 105 + ], + "texture": 1 + }, + "east": { + "uv": [ + 7, + 104, + 8, + 105 + ], + "texture": 1 + }, + "south": { + "uv": [ + 7, + 104, + 8, + 105 + ], + "texture": 1 + }, + "west": { + "uv": [ + 7, + 104, + 8, + 105 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "34614993-87f6-145e-d023-16d7cab850bb" + }, + { + "name": "TriggerGuard2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.1875, + -2.5695, + 2.646 + ], + "to": [ + -63.8125, + -2.382, + 3.588 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + -1.5375, + 2.1645 + ], + "faces": { + "north": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "texture": 1 + }, + "east": { + "uv": [ + 7, + 104, + 8, + 105 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "texture": 1 + }, + "west": { + "uv": [ + 7, + 104, + 8, + 105 + ], + "texture": 1 + }, + "up": { + "uv": [ + 7, + 104, + 8, + 105 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 7, + 104, + 8, + 105 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "ca227403-e1ff-7e22-6977-fc4662ab9cfa" + }, + { + "name": "TriggerGuard3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.1875, + -2.5695, + 3.588 + ], + "to": [ + -63.8125, + -2.382, + 4.377 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -50, + 0, + 0 + ], + "origin": [ + -64, + -2.5695, + 3.588 + ], + "faces": { + "north": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "texture": 1 + }, + "east": { + "uv": [ + 7, + 104, + 8, + 105 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "texture": 1 + }, + "west": { + "uv": [ + 7, + 104, + 8, + 105 + ], + "texture": 1 + }, + "up": { + "uv": [ + 7, + 104, + 8, + 105 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 7, + 104, + 8, + 105 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "c2a8410d-62eb-345b-a864-c90f33b4f758" + }, + { + "name": "ScopeBase1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.45, + 1.2795, + 4.725 + ], + "to": [ + -63.55, + 2.157, + 5.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + -5.25, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "texture": 1 + }, + "east": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "texture": 1 + }, + "south": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "texture": 1 + }, + "west": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "texture": 1 + }, + "up": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "639f968e-d3b2-4ced-74fb-a52bd1776994" + }, + { + "name": "ScopeBase3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.45, + 1.2795, + 3.825 + ], + "to": [ + -63.55, + 2.157, + 4.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + -5.25, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "texture": 1 + }, + "east": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "texture": 1 + }, + "south": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "texture": 1 + }, + "west": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "texture": 1 + }, + "up": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "08d625e4-e8d4-c374-0259-8cada62d9350" + }, + { + "name": "ScopeBase5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.45, + 1.2795, + 2.9625 + ], + "to": [ + -63.55, + 2.157, + 3.3375 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + -5.25, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "texture": 1 + }, + "east": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "texture": 1 + }, + "south": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "texture": 1 + }, + "west": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "texture": 1 + }, + "up": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "8396e0f0-2434-2016-fef9-350d93f68c4c" + }, + { + "name": "Scope1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.39375, + 3.0345, + 0.7125 + ], + "to": [ + -63.60625, + 3.822, + 6.0375 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + -5.25, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 91, + 1, + 92 + ], + "texture": 1 + }, + "east": { + "uv": [ + 50, + 91, + 51, + 95 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 91, + 1, + 92 + ], + "texture": 1 + }, + "west": { + "uv": [ + 50, + 91, + 51, + 95 + ], + "texture": 1 + }, + "up": { + "uv": [ + 50, + 91, + 51, + 92 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 50, + 94, + 51, + 95 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "f028aea8-78e4-fc39-869e-69aea5434199" + }, + { + "name": "ScopeBase2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.09375, + 2.157, + 4.725 + ], + "to": [ + -63.90625, + 3.0345, + 5.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + -5.25, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "texture": 1 + }, + "east": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "texture": 1 + }, + "south": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "texture": 1 + }, + "west": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "294653dc-6eb1-06dc-3d0e-e84c352f2f86" + }, + { + "name": "ScopeBase4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.09375, + 2.142, + 3.825 + ], + "to": [ + -63.90625, + 2.532, + 4.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + -5.25, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "texture": 1 + }, + "east": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "texture": 1 + }, + "south": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "texture": 1 + }, + "west": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "ae95c9ce-c73d-ce3f-a8a3-c2b031a34d7f" + }, + { + "name": "ScopeBase6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.09375, + 2.157, + 2.9625 + ], + "to": [ + -63.90625, + 2.547, + 3.3375 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + -5.25, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "texture": 1 + }, + "east": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "texture": 1 + }, + "south": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "texture": 1 + }, + "west": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "45f9b67f-2eb0-e025-b974-70819a554a41" + }, + { + "name": "Scope2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.46875, + 2.9595, + 6.0375 + ], + "to": [ + -63.53125, + 3.897, + 7.5375 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + -5.25, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 50, + 91, + 51, + 95 + ], + "texture": 1 + }, + "east": { + "uv": [ + 50, + 91, + 51, + 95 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "texture": 1 + }, + "west": { + "uv": [ + 50, + 91, + 51, + 95 + ], + "texture": 1 + }, + "up": { + "uv": [ + 50, + 91, + 51, + 92 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 50, + 94, + 51, + 95 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "f62755e2-5817-cfb2-b0aa-afe7c22984ff" + }, + { + "name": "Scope3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.50625, + 2.922, + 7.5375 + ], + "to": [ + -63.49375, + 3.9345, + 8.0625 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + -5.25, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 50, + 91, + 51, + 95 + ], + "texture": 1 + }, + "east": { + "uv": [ + 50, + 91, + 53, + 95 + ], + "texture": 1 + }, + "south": { + "uv": [ + 53, + 91, + 61, + 99 + ], + "texture": 1 + }, + "west": { + "uv": [ + 50, + 91, + 53, + 95 + ], + "texture": 1 + }, + "up": { + "uv": [ + 50, + 91, + 53, + 92 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 50, + 94, + 53, + 95 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "78380681-098f-c500-d74c-999b78905436" + }, + { + "name": "ScopeRing1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.45, + 2.97825, + 4.725 + ], + "to": [ + -63.55, + 3.87825, + 5.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + -5.25, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "texture": 1 + }, + "east": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "texture": 1 + }, + "south": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "texture": 1 + }, + "west": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "texture": 1 + }, + "up": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "56b62090-1975-086c-0f7c-a7a777b771a3" + }, + { + "name": "ScopeRing2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.45, + 2.97825, + 3.3 + ], + "to": [ + -63.55, + 3.87825, + 4.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + -5.25, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "texture": 1 + }, + "east": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "texture": 1 + }, + "south": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "texture": 1 + }, + "west": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "texture": 1 + }, + "up": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "a52b1d93-17fd-3c22-4c7e-6ebba3226225" + }, + { + "name": "ScopeBase7", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.09375, + 2.52825, + 2.9625 + ], + "to": [ + -63.90625, + 2.90325, + 4.725 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + -5.25, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "texture": 1 + }, + "east": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "texture": 1 + }, + "south": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "texture": 1 + }, + "west": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "bd4be593-f583-5c42-e50a-0b736f02f886" + }, + { + "name": "ScopeBase8", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.09375, + 2.67825, + 2.3925 + ], + "to": [ + -63.90625, + 2.90325, + 2.9625 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 32, + 0, + 0 + ], + "origin": [ + -64, + 2.67825, + 2.9625 + ], + "faces": { + "north": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "texture": 1 + }, + "east": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "texture": 1 + }, + "west": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "texture": 1 + }, + "up": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "72ec7e76-9088-8ad4-2ac1-a0b1c9334f18" + }, + { + "name": "ScopeRing3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.45, + 2.97825, + 2.475 + ], + "to": [ + -63.55, + 3.87825, + 2.85 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + -5.25, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "texture": 1 + }, + "east": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "texture": 1 + }, + "south": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "texture": 1 + }, + "west": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "texture": 1 + }, + "up": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 8, + 104, + 9, + 105 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "46091446-36a7-e1a7-1608-86100618043a" + }, + { + "name": "Scope5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.75, + 2.67825, + -3.4875 + ], + "to": [ + -63.25, + 4.17825, + 0.3375 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + -5.25, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 53, + 91, + 61, + 99 + ], + "texture": 1 + }, + "east": { + "uv": [ + 45, + 95, + 50, + 99 + ], + "texture": 1 + }, + "south": { + "uv": [ + 50, + 91, + 51, + 95 + ], + "texture": 1 + }, + "west": { + "uv": [ + 50, + 95, + 45, + 99 + ], + "texture": 1 + }, + "up": { + "uv": [ + 50, + 95, + 45, + 96 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 50, + 98, + 45, + 99 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "88f070cd-64e6-2c05-d7c6-a79593ec1c5f" + }, + { + "name": "Scope4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.5625, + 2.86575, + 0.3375 + ], + "to": [ + -63.4375, + 3.99075, + 0.7125 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + -5.25, + 4.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 91, + 1, + 92 + ], + "texture": 1 + }, + "east": { + "uv": [ + 50, + 91, + 51, + 95 + ], + "texture": 1 + }, + "south": { + "uv": [ + 50, + 91, + 51, + 95 + ], + "texture": 1 + }, + "west": { + "uv": [ + 50, + 91, + 51, + 95 + ], + "texture": 1 + }, + "up": { + "uv": [ + 50, + 91, + 51, + 92 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 50, + 94, + 51, + 95 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "b9609d0a-e6da-0427-f7e4-8368f2231b57" + }, + { + "name": "FrontSight5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.075, + 2.6625, + -6.75 + ], + "to": [ + -63.925, + 2.7375, + -6.225 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + 2.1, + -6.1125 + ], + "faces": { + "north": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "east": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "south": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "west": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "texture": 1 + }, + "up": { + "uv": [ + 9, + 91, + 10, + 92 + ], + "rotation": 90, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 91, + 0, + 91 + ], + "rotation": 270, + "texture": 1 + } + }, + "type": "cube", + "uuid": "63d9de3f-160c-c004-a4dc-ad5434eb841e" + }, + { + "name": "Painting_Front", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64, + 24, + 231 + ], + "to": [ + 0, + 88, + 232 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + 24, + 231 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 64, + 64 + ], + "texture": 3 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 64 + ], + "texture": 3 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 63, + 0, + 64, + 64 + ], + "texture": 3 + }, + "up": { + "uv": [ + 0, + 0, + 64, + 1 + ], + "texture": 3 + }, + "down": { + "uv": [ + 0, + 63, + 64, + 64 + ], + "texture": 3 + } + }, + "type": "cube", + "uuid": "d542eda9-11bb-dec3-7bb7-c1f7079bd650" + }, + { + "name": "GoldenMagazine1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -35, + 53, + 231 + ], + "to": [ + -28, + 63, + 232 + ], + "autouv": 0, + "color": 0, + "origin": [ + -35, + 53, + 231 + ], + "faces": { + "north": { + "uv": [ + 65, + 84, + 72, + 94 + ], + "texture": 1 + }, + "east": { + "uv": [ + 65, + 84, + 66, + 94 + ], + "texture": 1 + }, + "south": { + "uv": [ + 72, + 84, + 65, + 94 + ], + "texture": 1 + }, + "west": { + "uv": [ + 71, + 84, + 72, + 94 + ], + "texture": 1 + }, + "up": { + "uv": [ + 72, + 84, + 65, + 85 + ], + "texture": 1 + }, + "down": { + "uv": [ + 72, + 93, + 65, + 94 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "78c5f708-13de-f52d-f120-8de8f375a533" + }, + { + "name": "GoldenMagazine2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -28, + 57, + 231 + ], + "to": [ + -27, + 62, + 232 + ], + "autouv": 0, + "color": 0, + "origin": [ + -35, + 53, + 231 + ], + "faces": { + "north": { + "uv": [ + 64, + 85, + 65, + 90 + ], + "texture": 1 + }, + "east": { + "uv": [ + 64, + 85, + 65, + 90 + ], + "texture": 1 + }, + "south": { + "uv": [ + 64, + 85, + 65, + 90 + ], + "texture": 1 + }, + "west": { + "uv": [ + 64, + 85, + 65, + 90 + ], + "texture": 1 + }, + "up": { + "uv": [ + 65, + 85, + 64, + 86 + ], + "texture": 1 + }, + "down": { + "uv": [ + 65, + 89, + 64, + 90 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "5849f871-ca12-b553-4804-406471ba02d9" + }, + { + "name": "GoldenMagazine3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -36, + 50, + 231 + ], + "to": [ + -29, + 53, + 232 + ], + "autouv": 0, + "color": 0, + "origin": [ + -35, + 53, + 231 + ], + "faces": { + "north": { + "uv": [ + 66, + 94, + 73, + 97 + ], + "texture": 1 + }, + "east": { + "uv": [ + 66, + 94, + 67, + 97 + ], + "texture": 1 + }, + "south": { + "uv": [ + 73, + 94, + 66, + 97 + ], + "texture": 1 + }, + "west": { + "uv": [ + 72, + 94, + 73, + 97 + ], + "texture": 1 + }, + "up": { + "uv": [ + 73, + 94, + 66, + 95 + ], + "texture": 1 + }, + "down": { + "uv": [ + 73, + 96, + 66, + 97 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "5c2183fe-c3bb-edbd-f10b-2b6f4d240504" + }, + { + "name": "GoldenMagazine4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -36, + 53, + 231 + ], + "to": [ + -35, + 62, + 232 + ], + "autouv": 0, + "color": 0, + "origin": [ + -35, + 53, + 231 + ], + "faces": { + "north": { + "uv": [ + 72, + 85, + 73, + 94 + ], + "texture": 1 + }, + "east": { + "uv": [ + 72, + 85, + 73, + 94 + ], + "texture": 1 + }, + "south": { + "uv": [ + 72, + 85, + 73, + 94 + ], + "texture": 1 + }, + "west": { + "uv": [ + 72, + 85, + 73, + 94 + ], + "texture": 1 + }, + "up": { + "uv": [ + 73, + 85, + 72, + 86 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 2, + 0, + 2 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "07d8dfb0-9741-3103-3085-9c3c4801c4ec" + }, + { + "name": "GoldenMagazine5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -37, + 51, + 231 + ], + "to": [ + -36, + 58, + 232 + ], + "autouv": 0, + "color": 0, + "origin": [ + -35, + 53, + 231 + ], + "faces": { + "north": { + "uv": [ + 73, + 89, + 74, + 96 + ], + "texture": 1 + }, + "east": { + "uv": [ + 73, + 89, + 74, + 96 + ], + "texture": 1 + }, + "south": { + "uv": [ + 73, + 89, + 74, + 96 + ], + "texture": 1 + }, + "west": { + "uv": [ + 73, + 89, + 74, + 96 + ], + "texture": 1 + }, + "up": { + "uv": [ + 74, + 95, + 73, + 96 + ], + "texture": 1 + }, + "down": { + "uv": [ + 74, + 95, + 73, + 96 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "571146fb-fe44-b929-9266-c63baea8eb78" + }, + { + "name": "GoldenMagazine6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -38, + 52, + 231 + ], + "to": [ + -37, + 54, + 232 + ], + "autouv": 0, + "color": 0, + "origin": [ + -35, + 53, + 231 + ], + "faces": { + "north": { + "uv": [ + 74, + 93, + 75, + 95 + ], + "texture": 1 + }, + "east": { + "uv": [ + 74, + 93, + 75, + 95 + ], + "texture": 1 + }, + "south": { + "uv": [ + 74, + 93, + 75, + 95 + ], + "texture": 1 + }, + "west": { + "uv": [ + 74, + 93, + 75, + 95 + ], + "texture": 1 + }, + "up": { + "uv": [ + 75, + 93, + 74, + 94 + ], + "texture": 1 + }, + "down": { + "uv": [ + 75, + 94, + 74, + 95 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "2bc6747f-a4ff-2e49-578f-f575a865c932" + }, + { + "name": "GoldenMagazine7", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -34, + 49, + 231 + ], + "to": [ + -30, + 50, + 232 + ], + "autouv": 0, + "color": 0, + "origin": [ + -35, + 53, + 231 + ], + "faces": { + "north": { + "uv": [ + 67, + 97, + 71, + 98 + ], + "texture": 1 + }, + "east": { + "uv": [ + 67, + 97, + 68, + 98 + ], + "texture": 1 + }, + "south": { + "uv": [ + 71, + 97, + 67, + 98 + ], + "texture": 1 + }, + "west": { + "uv": [ + 70, + 97, + 71, + 98 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 2, + 0, + 2 + ], + "texture": null + }, + "down": { + "uv": [ + 71, + 97, + 67, + 98 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "36da88b5-68a6-2010-9b35-c09b9d38b68c" + }, + { + "name": "GoldenMagazine8", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -32, + 48, + 231 + ], + "to": [ + -30, + 49, + 232 + ], + "autouv": 0, + "color": 0, + "origin": [ + -35, + 53, + 231 + ], + "faces": { + "north": { + "uv": [ + 67, + 98, + 69, + 99 + ], + "texture": 1 + }, + "east": { + "uv": [ + 67, + 98, + 68, + 99 + ], + "texture": 1 + }, + "south": { + "uv": [ + 69, + 98, + 67, + 99 + ], + "texture": 1 + }, + "west": { + "uv": [ + 68, + 98, + 69, + 99 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 2, + 0, + 2 + ], + "texture": null + }, + "down": { + "uv": [ + 69, + 98, + 67, + 99 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "764d5bd4-e942-b103-ebf5-428be8417482" + }, + { + "name": "Base_Top", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 9, + 16, + -7 + ], + "to": [ + 23, + 32, + 7 + ], + "autouv": 0, + "color": 0, + "origin": [ + 9, + 16, + -7 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 13, + 14, + 27 + ], + "texture": 6 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "29f291ca-ce84-41a3-84d0-ff294c4f9004" + }, + { + "name": "Painting_Back", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64, + 24, + 231 + ], + "to": [ + 0, + 88, + 232 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + 24, + 231 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 64, + 64 + ], + "texture": 7 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "c3bcde7a-120c-5f57-270e-544baa5ff8ca" + }, + { + "name": "GlowEffect1_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20, + 53, + 231.5 + ], + "to": [ + 60, + 59, + 231.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -32, + 56, + 231.5 + ], + "faces": { + "north": { + "uv": [ + 78, + 99, + 62, + 100 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "903a13b4-d1ef-e4e7-1d4a-e62e5ff5a344" + }, + { + "name": "GlowEffect1_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20, + 53, + 231.5 + ], + "to": [ + 60, + 59, + 231.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + 90 + ], + "origin": [ + -32, + 56, + 231.5 + ], + "faces": { + "north": { + "uv": [ + 78, + 99, + 62, + 100 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "7caac5d1-6312-d992-ba84-7b8bdc4dae4a" + }, + { + "name": "GlowEffect1_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20, + 53, + 231.5 + ], + "to": [ + 60, + 59, + 231.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + -180 + ], + "origin": [ + -32, + 56, + 231.5 + ], + "faces": { + "north": { + "uv": [ + 78, + 99, + 62, + 100 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "c150c66c-80bc-7d0c-c732-19beac673e3a" + }, + { + "name": "GlowEffect1_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20, + 53, + 231.5 + ], + "to": [ + 60, + 59, + 231.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + -90 + ], + "origin": [ + -32, + 56, + 231.5 + ], + "faces": { + "north": { + "uv": [ + 78, + 99, + 62, + 100 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b289b02b-2cf0-0485-e0b7-7bf70e478fa5" + }, + { + "name": "GlowEffect2_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20, + 53, + 231.5 + ], + "to": [ + 60, + 59, + 231.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + 45 + ], + "origin": [ + -32, + 56, + 231.5 + ], + "faces": { + "north": { + "uv": [ + 78, + 99, + 62, + 100 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5448e64a-0d82-877e-9cdf-0937708fe65f" + }, + { + "name": "GlowEffect2_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20, + 53, + 231.5 + ], + "to": [ + 60, + 59, + 231.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + 135 + ], + "origin": [ + -32, + 56, + 231.5 + ], + "faces": { + "north": { + "uv": [ + 78, + 99, + 62, + 100 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "328a9a7e-8f64-74a8-2fae-9024b29f4d65" + }, + { + "name": "GlowEffect2_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20, + 53, + 231.5 + ], + "to": [ + 60, + 59, + 231.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + -135 + ], + "origin": [ + -32, + 56, + 231.5 + ], + "faces": { + "north": { + "uv": [ + 78, + 99, + 62, + 100 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "cda10979-7d9d-4a91-5d63-7e578cdb4893" + }, + { + "name": "GlowEffect2_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -21, + 53, + 231.5 + ], + "to": [ + 59, + 59, + 231.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + -45 + ], + "origin": [ + -32, + 56, + 231.5 + ], + "faces": { + "north": { + "uv": [ + 78, + 99, + 62, + 100 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6b4cace7-2c75-7202-da72-8599249c2d2c" + }, + { + "name": "GlowEffect3_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -42, + 82, + 231.5 + ], + "to": [ + -22, + 86, + 231.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -32, + 56, + 231.5 + ], + "faces": { + "north": { + "uv": [ + 62, + 99, + 63, + 100 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "bfee241a-f3f5-0cb7-59fe-e1927a7204d5" + }, + { + "name": "GlowEffect3_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -50, + 78, + 231.5 + ], + "to": [ + -42, + 82, + 231.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -32, + 56, + 231.5 + ], + "faces": { + "north": { + "uv": [ + 62, + 99, + 63, + 100 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "fce46691-0818-1878-65c5-9e9ef5f25807" + }, + { + "name": "GlowEffect3_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -54, + 74, + 231.5 + ], + "to": [ + -50, + 78, + 231.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -32, + 56, + 231.5 + ], + "faces": { + "north": { + "uv": [ + 62, + 99, + 63, + 100 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b0d4eac9-1d7a-bd1c-da26-9d52f2853062" + }, + { + "name": "GlowEffect3_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -58, + 66, + 231.5 + ], + "to": [ + -54, + 74, + 231.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -32, + 56, + 231.5 + ], + "faces": { + "north": { + "uv": [ + 62, + 99, + 63, + 100 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9c45110d-fdd1-1a7a-b728-197e016636a0" + }, + { + "name": "GlowEffect3_5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -62, + 46, + 231.5 + ], + "to": [ + -58, + 66, + 231.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -32, + 56, + 231.5 + ], + "faces": { + "north": { + "uv": [ + 62, + 99, + 63, + 100 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "01ca6c1c-7c11-343f-843c-43cbb3b8e561" + }, + { + "name": "GlowEffect3_6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -58, + 38, + 231.5 + ], + "to": [ + -54, + 46, + 231.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -32, + 56, + 231.5 + ], + "faces": { + "north": { + "uv": [ + 62, + 99, + 63, + 100 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e05cb1b3-d1e4-dfad-63b1-1fee21faf374" + }, + { + "name": "GlowEffect3_7", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -58, + 38, + 231.5 + ], + "to": [ + -54, + 46, + 231.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -32, + 56, + 231.5 + ], + "faces": { + "north": { + "uv": [ + 62, + 99, + 63, + 100 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "55e5f93a-a2f0-e9a8-5cf9-8a4c47163e97" + }, + { + "name": "GlowEffect3_8", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -54, + 34, + 231.5 + ], + "to": [ + -50, + 38, + 231.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -32, + 56, + 231.5 + ], + "faces": { + "north": { + "uv": [ + 62, + 99, + 63, + 100 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "467523ba-9458-b317-8ae8-331417c76aa3" + }, + { + "name": "GlowEffect3_9", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -50, + 30, + 231.5 + ], + "to": [ + -42, + 34, + 231.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -32, + 56, + 231.5 + ], + "faces": { + "north": { + "uv": [ + 62, + 99, + 63, + 100 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "3b6a5295-c5e5-ff9b-eb41-5a6552c0eea6" + }, + { + "name": "GlowEffect3_10", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -42, + 26, + 231.5 + ], + "to": [ + -22, + 30, + 231.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -32, + 56, + 231.5 + ], + "faces": { + "north": { + "uv": [ + 62, + 99, + 63, + 100 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5abd7a74-8287-1819-9a3f-de178acca1da" + }, + { + "name": "GlowEffect3_11", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -22, + 30, + 231.5 + ], + "to": [ + -14, + 34, + 231.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -32, + 56, + 231.5 + ], + "faces": { + "north": { + "uv": [ + 62, + 99, + 63, + 100 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8f5264f5-a064-2142-a56b-165a39f56b99" + }, + { + "name": "GlowEffect3_12", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -14, + 34, + 231.5 + ], + "to": [ + -10, + 38, + 231.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -32, + 56, + 231.5 + ], + "faces": { + "north": { + "uv": [ + 62, + 99, + 63, + 100 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "329061bc-20fc-24dc-9cbf-bccd0cc62cb8" + }, + { + "name": "GlowEffect3_13", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -10, + 38, + 231.5 + ], + "to": [ + -6, + 46, + 231.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -32, + 56, + 231.5 + ], + "faces": { + "north": { + "uv": [ + 62, + 99, + 63, + 100 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "1976f128-ca4a-e395-d56d-1e0dc25205d1" + }, + { + "name": "GlowEffect3_14", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -6, + 46, + 231.5 + ], + "to": [ + -2, + 66, + 231.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -32, + 56, + 231.5 + ], + "faces": { + "north": { + "uv": [ + 62, + 99, + 63, + 100 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6d3423fd-0436-e437-4715-8873ad46bf68" + }, + { + "name": "GlowEffect3_15", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -10, + 66, + 231.5 + ], + "to": [ + -6, + 74, + 231.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -32, + 56, + 231.5 + ], + "faces": { + "north": { + "uv": [ + 62, + 99, + 63, + 100 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e07971de-3ea9-4a33-4fea-d0d26a01efd3" + }, + { + "name": "GlowEffect3_16", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -14, + 74, + 231.5 + ], + "to": [ + -10, + 78, + 231.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -32, + 56, + 231.5 + ], + "faces": { + "north": { + "uv": [ + 62, + 99, + 63, + 100 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "42403d9c-6066-112e-512d-aee04aaa3dbf" + }, + { + "name": "GlowEffect3_17", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -22, + 78, + 231.5 + ], + "to": [ + -14, + 82, + 231.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -32, + 56, + 231.5 + ], + "faces": { + "north": { + "uv": [ + 62, + 99, + 63, + 100 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "c078a316-efc9-f487-4313-81ab5c78ea33" + }, + { + "name": "Reticule", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + -3, + 0 + ], + "to": [ + 4, + 5, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 1, + 0 + ], + "faces": { + "north": { + "uv": [ + 54, + 37, + 71, + 54 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + } + }, + "type": "cube", + "uuid": "60bede27-af24-2c0f-bbac-9b370e18806d" + }, + { + "name": "ReticuleLine1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.06, + -3.825, + -0.1 + ], + "to": [ + 1.06, + -0.295, + -0.1 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0, + 1, + 0 + ], + "faces": { + "north": { + "uv": [ + 71, + 42, + 74, + 37 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + } + }, + "type": "cube", + "uuid": "34e06984-8933-aa9c-5482-6e4403099a52" + }, + { + "name": "ReticuleLine2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.06, + -3.825, + -0.1 + ], + "to": [ + 1.06, + -0.295, + -0.1 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 0, + 0, + 90 + ], + "origin": [ + 0, + 1, + 0 + ], + "faces": { + "north": { + "uv": [ + 71, + 42, + 74, + 37 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + } + }, + "type": "cube", + "uuid": "38c7fb4a-ae42-d44f-7401-82db88ca1e8f" + }, + { + "name": "ReticuleLine3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.06, + -3.825, + -0.1 + ], + "to": [ + 1.06, + -0.295, + -0.1 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 0, + 0, + -180 + ], + "origin": [ + 0, + 1, + 0 + ], + "faces": { + "north": { + "uv": [ + 71, + 42, + 74, + 37 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + } + }, + "type": "cube", + "uuid": "0431f54f-b49c-b9eb-bc51-032ca892c8d4" + }, + { + "name": "ReticuleLine4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.06, + -3.825, + -0.1 + ], + "to": [ + 1.06, + -0.295, + -0.1 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 0, + 0, + -90 + ], + "origin": [ + 0, + 1, + 0 + ], + "faces": { + "north": { + "uv": [ + 71, + 42, + 74, + 37 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + } + }, + "type": "cube", + "uuid": "b181c7a9-46a2-4563-aed0-303b79819af2" + }, + { + "name": "UI1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + 0 + ], + "to": [ + 80, + 72, + 0 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 40, + 36, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 126, + 40, + 162 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 40, + 126, + 0, + 162 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "80569007-76ab-5d36-b103-0b5a9b103596" + }, + { + "name": "UI2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 50, + 2, + 0 + ], + "to": [ + 78, + 70, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + 40, + 36, + 0 + ], + "faces": { + "north": { + "uv": [ + 40, + 126, + 54, + 160 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6db85f38-ebb8-6ca1-2c50-3b49ce01e5d9" + }, + { + "name": "LifeIcon1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 37, + -9, + 0 + ], + "to": [ + 51, + 2.05, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -82, + -148, + 0 + ], + "faces": { + "north": { + "uv": [ + 18, + 103, + 37, + 118 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "1919c7dd-aa15-d5cb-4227-991f90c8a381" + }, + { + "name": "Bullet1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 55, + 61.5, + -2 + ], + "to": [ + 77, + 65.5, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 61.5, + -2 + ], + "faces": { + "north": { + "uv": [ + 37, + 103, + 59, + 108 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "a7d71f8e-49d1-2333-1773-2d6f7743a024" + }, + { + "name": "Bullet2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 55, + 56.5, + -2 + ], + "to": [ + 77, + 60.5, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 56.5, + -2 + ], + "faces": { + "north": { + "uv": [ + 37, + 103, + 59, + 108 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "a23b141a-ad8b-4ab7-acf5-783c2d50e19d" + }, + { + "name": "Bullet3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 55, + 51.5, + -2 + ], + "to": [ + 77, + 55.5, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 51.5, + -2 + ], + "faces": { + "north": { + "uv": [ + 37, + 103, + 59, + 108 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8600a2bb-d887-0c84-625d-fa74d65986ee" + }, + { + "name": "Bullet4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 55, + 46.5, + -2 + ], + "to": [ + 77, + 50.5, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 46.5, + -2 + ], + "faces": { + "north": { + "uv": [ + 37, + 103, + 59, + 108 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "36193ff0-331e-4871-7062-ad35d385f82f" + }, + { + "name": "Bullet5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 55, + 41.5, + -2 + ], + "to": [ + 77, + 45.5, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 41.5, + -2 + ], + "faces": { + "north": { + "uv": [ + 37, + 103, + 59, + 108 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b0b85a0c-cc1c-3512-8234-6749b8e5e4b9" + }, + { + "name": "Bullet6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 55, + 36.5, + -2 + ], + "to": [ + 77, + 40.5, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 36.5, + -2 + ], + "faces": { + "north": { + "uv": [ + 37, + 103, + 59, + 108 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "51623d3f-d2b9-3515-9fa1-f2742bb9fae4" + }, + { + "name": "Bullet7", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 55, + 31.5, + -2 + ], + "to": [ + 77, + 35.5, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 31.5, + -2 + ], + "faces": { + "north": { + "uv": [ + 37, + 103, + 59, + 108 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "48c56e7b-25b2-d10f-d362-690ba5ee8a60" + }, + { + "name": "Bullet8", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 55, + 26.5, + -2 + ], + "to": [ + 77, + 30.5, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 26.5, + -2 + ], + "faces": { + "north": { + "uv": [ + 37, + 103, + 59, + 108 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "81885780-941c-ef7a-396d-df7d7f1c79a9" + }, + { + "name": "Bullet9", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 55, + 21.5, + -2 + ], + "to": [ + 77, + 25.5, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 21.5, + -2 + ], + "faces": { + "north": { + "uv": [ + 37, + 103, + 59, + 108 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "557ec1d3-099b-dedb-d2c7-672f9256edb5" + }, + { + "name": "Bullet10", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 55, + 16.5, + -2 + ], + "to": [ + 77, + 20.5, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 16.5, + -2 + ], + "faces": { + "north": { + "uv": [ + 37, + 103, + 59, + 108 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8a2fdaa3-8e96-fb7e-2000-e84227b0efdf" + }, + { + "name": "Bullet11", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 55, + 11.5, + -2 + ], + "to": [ + 77, + 15.5, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 11.5, + -2 + ], + "faces": { + "north": { + "uv": [ + 37, + 103, + 59, + 108 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d9f661a7-6ad6-9246-5761-9d1377ec258e" + }, + { + "name": "Bullet12", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 55, + 6.5, + -2 + ], + "to": [ + 77, + 10.5, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 64, + 6.5, + -2 + ], + "faces": { + "north": { + "uv": [ + 37, + 103, + 59, + 108 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "94244470-5de9-3079-da60-b17bed030a52" + }, + { + "name": "Bullet13", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 52, + 60.5, + -1 + ], + "to": [ + 74, + 64.5, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 61, + 60.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 37, + 103, + 59, + 108 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "4a92e6c2-a65a-62a3-4948-64a04a81e08b" + }, + { + "name": "Bullet14", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 52, + 55.5, + -1 + ], + "to": [ + 74, + 59.5, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 61, + 55.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 37, + 103, + 59, + 108 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "51a20849-e5c6-77cb-f3b5-d20d40cc29d2" + }, + { + "name": "Bullet15", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 52, + 50.5, + -1 + ], + "to": [ + 74, + 54.5, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 61, + 50.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 37, + 103, + 59, + 108 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "86e667d4-f4e2-5e86-cae6-47424cacddc6" + }, + { + "name": "Bullet16", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 52, + 45.5, + -1 + ], + "to": [ + 74, + 49.5, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 61, + 45.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 37, + 103, + 59, + 108 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "970fe49b-8a4c-38a6-2151-c1b6ed14f74b" + }, + { + "name": "Bullet17", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 52, + 40.5, + -1 + ], + "to": [ + 74, + 44.5, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 61, + 40.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 37, + 103, + 59, + 108 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "0b70e9b2-e851-bd46-7077-e387047020f4" + }, + { + "name": "Bullet18", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 52, + 35.5, + -1 + ], + "to": [ + 74, + 39.5, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 61, + 35.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 37, + 103, + 59, + 108 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ec90d20d-3fe7-50ac-ec36-d1fdad3055fa" + }, + { + "name": "Bullet19", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 52, + 30.5, + -1 + ], + "to": [ + 74, + 34.5, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 61, + 30.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 37, + 103, + 59, + 108 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "85d42276-5823-754b-ad26-aac406ec0de0" + }, + { + "name": "Bullet20", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 52, + 25.5, + -1 + ], + "to": [ + 74, + 29.5, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 61, + 25.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 37, + 103, + 59, + 108 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "13f02502-e897-db4f-5a7e-2ffd89d594fc" + }, + { + "name": "Bullet21", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 52, + 20.5, + -1 + ], + "to": [ + 74, + 24.5, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 61, + 20.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 37, + 103, + 59, + 108 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "802b7114-2b1b-57d9-7bc6-d0476e4a4311" + }, + { + "name": "Bullet22", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 52, + 15.5, + -1 + ], + "to": [ + 74, + 19.5, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 61, + 15.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 37, + 103, + 59, + 108 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6dc6c74e-91ae-e076-7398-4de2af80145c" + }, + { + "name": "Bullet23", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 52, + 10.5, + -1 + ], + "to": [ + 74, + 14.5, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 61, + 10.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 37, + 103, + 59, + 108 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e2d0e2b9-5f2a-53bd-0bd1-0472ada1e2ed" + }, + { + "name": "Bullet24", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 52, + 5.5, + -1 + ], + "to": [ + 74, + 9.5, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 61, + 5.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 37, + 103, + 59, + 108 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "24d9cb72-6176-480e-60dc-f73357f749e5" + }, + { + "name": "Frame", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -79, + -77, + -73 + ], + "to": [ + -11, + -9, + -73 + ], + "autouv": 0, + "color": 0, + "origin": [ + -79, + -77, + 0 + ], + "faces": { + "north": { + "uv": [ + 54, + 126, + 88, + 160 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b00f1bcb-e23d-f3c5-e1a2-00726ef9651d" + }, + { + "name": "Background", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -77, + -75, + 0 + ], + "to": [ + -13, + -11, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -79, + -77, + 0 + ], + "faces": { + "north": { + "uv": [ + 37, + 108, + 46, + 117 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "a9b05d3b-f163-cdfd-4f9e-b6b144b12b44" + }, + { + "name": "Body", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -49.75, + -67.5, + -59 + ], + "to": [ + -41.75, + -64.5, + -55 + ], + "autouv": 0, + "color": 0, + "origin": [ + -7.75, + -30.9, + -57 + ], + "uv_offset": [ + 16, + 16 + ], + "faces": { + "north": { + "uv": [ + 20, + 143, + 28, + 146 + ], + "texture": 4 + }, + "east": { + "uv": [ + 16, + 143, + 20, + 146 + ], + "texture": 4 + }, + "south": { + "uv": [ + 32, + 143, + 40, + 146 + ], + "texture": 4 + }, + "west": { + "uv": [ + 28, + 143, + 32, + 146 + ], + "texture": 4 + }, + "up": { + "uv": [ + 28, + 143, + 20, + 139 + ], + "texture": 4 + }, + "down": { + "uv": [ + 0, + 8, + 0, + 8 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "bd7090d3-c845-5bc5-c04b-d6b53f2f7590" + }, + { + "name": "BodyLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -49.75, + -67.5, + -59 + ], + "to": [ + -41.75, + -64.5, + -55 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + -7.75, + -30.9, + -57 + ], + "uv_offset": [ + 16, + 32 + ], + "faces": { + "north": { + "uv": [ + 20, + 159, + 28, + 162 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 8, + 0, + 8 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 8, + 0, + 8 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 8, + 0, + 8 + ], + "texture": null + }, + "up": { + "uv": [ + 28, + 159, + 20, + 155 + ], + "texture": 4 + }, + "down": { + "uv": [ + 0, + 8, + 0, + 8 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "74c61a1b-d014-c086-8a42-9ad554cfdf81" + }, + { + "name": "RightArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.75, + -67.5, + -59 + ], + "to": [ + -38.75, + -64.5, + -55 + ], + "autouv": 0, + "color": 0, + "origin": [ + 2.25, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 44, + 143, + 47, + 146 + ], + "texture": 4 + }, + "east": { + "uv": [ + 40, + 143, + 44, + 146 + ], + "texture": 4 + }, + "south": { + "uv": [ + 51, + 143, + 54, + 146 + ], + "texture": 4 + }, + "west": { + "uv": [ + 47, + 143, + 51, + 146 + ], + "texture": 4 + }, + "up": { + "uv": [ + 47, + 143, + 44, + 139 + ], + "texture": 4 + }, + "down": { + "uv": [ + 0, + 123, + 0, + 123 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "bd6a0517-bbc2-f7de-89b5-fe216a158bdb" + }, + { + "name": "LeftArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -52.75, + -67.5, + -59 + ], + "to": [ + -49.75, + -64.5, + -55 + ], + "autouv": 0, + "color": 0, + "origin": [ + 2.25, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 36, + 175, + 39, + 178 + ], + "texture": 4 + }, + "east": { + "uv": [ + 32, + 175, + 36, + 178 + ], + "texture": 4 + }, + "south": { + "uv": [ + 43, + 175, + 46, + 178 + ], + "texture": 4 + }, + "west": { + "uv": [ + 39, + 175, + 43, + 178 + ], + "texture": 4 + }, + "up": { + "uv": [ + 39, + 175, + 36, + 171 + ], + "texture": 4 + }, + "down": { + "uv": [ + 0, + 155, + 0, + 155 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "2a108e89-d13a-c479-3e05-eba6323ebdeb" + }, + { + "name": "TransitionFilter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -1, + -99 + ], + "to": [ + 0, + 0, + -99 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 142, + 1, + 143 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f6301328-9067-88f0-4225-930e19c6d248" + }, + { + "name": "TailRibbonLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -65.5, + 13, + 4.09 + ], + "to": [ + -62.5, + 15, + 4.09 + ], + "autouv": 0, + "color": 0, + "inflate": 0.125, + "origin": [ + 0.5, + 17.5, + -2.16 + ], + "faces": { + "north": { + "uv": [ + 10, + 28, + 13, + 30 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 10, + 28, + 13, + 30 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "7fdb0fb1-8ed7-f7c3-8b88-fac1d80dd07a" + }, + { + "name": "TailRibbon", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -65.5, + 13, + 4.09 + ], + "to": [ + -62.5, + 15, + 4.09 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0.5, + 17.5, + -2.16 + ], + "faces": { + "north": { + "uv": [ + 7, + 28, + 10, + 30 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 7, + 28, + 10, + 30 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "dc800767-ecb2-014e-feb9-2ca0ead842c4" + }, + { + "name": "TailRibbonBase", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64.5, + 14, + 3.965 + ], + "to": [ + -63.5, + 15, + 4.215 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0, + 14.75, + 4.09 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 8, + 28, + 9, + 29 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 8, + 28, + 9, + 29 + ], + "texture": 1 + }, + "up": { + "uv": [ + 8, + 28, + 9, + 29 + ], + "texture": 1 + }, + "down": { + "uv": [ + 8, + 28, + 9, + 29 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "9e64e61c-83f0-16ff-be78-462b22d01baa" + } + ], + "outliner": [ + { + "name": "Pillagers", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "386839a4-5060-513c-e45b-605d71164c14", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Pillager1", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "8cd569d7-19f9-a383-0f6a-0eb9c0da482e", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Pillager1Head", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "af0c9d6a-83c5-98bd-0860-05bf56820fd3", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "259ee2ad-9c36-a3a1-c17b-3a55499e8da3", + "a75d125e-9f4f-2207-16b0-d9262c9b2fb2", + { + "name": "Pillager1Nose", + "origin": [ + 0, + 26, + 0 + ], + "color": 0, + "uuid": "db1179dd-979b-dd9f-c5a4-88d8dc0878c3", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "571fe9e4-2d70-8774-fc29-5be5fa47bfd2" + ] + } + ] + }, + { + "name": "Pillager1Body", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "cf69db06-adfd-c86b-07b3-679a377e9a53", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "cd70f4a2-96a0-e011-b161-4f40d4d0c6bf", + "c3ec88c1-6b92-6d03-405b-038aea0e18b6" + ] + }, + { + "name": "Pillager1RightArm", + "origin": [ + 5, + 22, + 0 + ], + "color": 0, + "uuid": "e6f65f3a-4c7f-4595-3ac4-81c98aedb767", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1bba3d78-9bba-7d18-6b96-714eaba98123" + ] + }, + { + "name": "Pillager1LeftArm", + "origin": [ + -5, + 22, + 0 + ], + "color": 0, + "uuid": "d3d68fd6-ec0b-9c11-81c0-b077a03e52f4", + "export": true, + "mirror_uv": true, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f0d7a403-90f4-0ed5-8fc4-d229008fb3ef" + ] + }, + { + "name": "Pillager1LeftLeg", + "origin": [ + -2, + 12, + 0 + ], + "color": 0, + "uuid": "b75eecd1-70fb-0f17-cddf-5b08eb559064", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f214a3e2-dbb0-791a-da25-3e3149732068" + ] + }, + { + "name": "Pillager1RightLeg", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "e1722d1b-acff-19a4-ccba-0116bbe80c42", + "export": true, + "mirror_uv": true, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "2d0aa69a-a7bb-1fd1-fe68-5c4808d56eb9" + ] + } + ] + }, + { + "name": "Pillager2", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "57c0b16b-e934-42f6-3e87-1b5302246c5e", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Pillager2Head", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "19b7054d-4fe2-e1d3-fae2-18ac0c401372", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "Pillager2Body", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "bd3a73cb-bb5f-225a-d593-a02cda84bb21", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "Pillager2RightArm", + "origin": [ + 5, + 22, + 0 + ], + "color": 0, + "uuid": "10d8e41b-dca8-630d-f955-b3ed3659dd57", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "Pillager2LeftArm", + "origin": [ + -5, + 22, + 0 + ], + "color": 0, + "uuid": "6cdcbb03-49cb-2b16-c600-9f2c5ebde3e1", + "export": true, + "mirror_uv": true, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "Pillager2LeftLeg", + "origin": [ + -2, + 12, + 0 + ], + "color": 0, + "uuid": "9172d7ed-f18f-90c8-667f-40fdf6e78e0c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "Pillager2RightLeg", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "dc7ea629-3fbd-3ab4-b19b-b650f01ebbc1", + "export": true, + "mirror_uv": true, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + { + "name": "Pillager3", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "524aa7fa-4a79-c2ed-8683-50d8b34c8742", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Pillager3Head", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "e81e2914-09c3-4e58-6238-83903525c9aa", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "Pillager3Body", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "aa27a196-1aa1-c423-0855-22dbd7600e14", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "Pillager3RightArm", + "origin": [ + 5, + 22, + 0 + ], + "color": 0, + "uuid": "21936b22-dbe2-6678-a358-4d9a255e7853", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "Pillager3LeftArm", + "origin": [ + -5, + 22, + 0 + ], + "color": 0, + "uuid": "b6ef799c-08cd-af05-afda-1759d5932086", + "export": true, + "mirror_uv": true, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "Pillager3LeftLeg", + "origin": [ + -2, + 12, + 0 + ], + "color": 0, + "uuid": "b868439b-c367-2194-7763-cff8700d15f9", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "Pillager3RightLeg", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "f09dc453-8e71-714a-ad66-47b251b5e36a", + "export": true, + "mirror_uv": true, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + } + ] + }, + { + "name": "Covers", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "c5d13ef2-1cab-50ff-e7a2-75e6b4d6efbb", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "CoverLeft", + "origin": [ + -8, + 0, + 8 + ], + "color": 0, + "uuid": "45cd6a28-dfc9-c7ac-e805-1f685f18b3e4", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "DecoratedPod1", + "origin": [ + 16, + 16, + 0 + ], + "color": 0, + "uuid": "6ee28076-9f9e-d921-86c0-fac4c13a549d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a64296a0-3562-05d3-f8b5-0afb631a7251", + "29f291ca-ce84-41a3-84d0-ff294c4f9004", + "2c315e71-03b2-c0a9-8263-2f5f4ef2fe73", + "4dc9f362-9b84-0a2e-a332-1d788c6f5d2a" + ] + } + ] + }, + { + "name": "CoverRight", + "origin": [ + -60, + 0, + 8 + ], + "color": 0, + "uuid": "ae839e42-3ed4-4d64-1902-0f3d9a444510", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "CoverBack1", + "origin": [ + 8, + 0, + 152 + ], + "color": 0, + "uuid": "fcc48e65-40a7-d8a5-716a-53fb3e908cc3", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "ExSkill2ParticleAnchor8", + "origin": [ + 11, + 26, + 152 + ], + "color": 0, + "uuid": "a8da2b7e-3712-43bf-9c44-184237f9b72d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "ExSkill2ParticleAnchor9", + "origin": [ + 36, + 30, + 152 + ], + "color": 0, + "uuid": "80b1b337-b056-ee10-8b86-c0b3a364e7fc", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "ExSkill2ParticleAnchor10", + "origin": [ + 14, + 9, + 152 + ], + "color": 0, + "uuid": "4ff3c3c8-2fd1-6ff6-c908-42d8b99386a2", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "ExSkill2ParticleAnchor11", + "origin": [ + 28, + 16, + 152 + ], + "color": 0, + "uuid": "8188f353-214e-45f1-2ecd-bdf964c68373", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "ExSkill2ParticleAnchor12", + "origin": [ + 24, + 23, + 160 + ], + "color": 0, + "uuid": "20d260f7-eee1-1f61-c0a6-a82b706a90b4", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + { + "name": "CoverBack2", + "origin": [ + -16, + 0, + 192 + ], + "color": 0, + "uuid": "e802c881-f01d-a03f-ffb1-6e27172b4c88", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "ExSkill2ParticleAnchor1", + "origin": [ + -13, + 9, + 184 + ], + "color": 0, + "uuid": "0a24924f-6d59-bd49-ef25-80985bf706e1", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "ExSkill2ParticleAnchor13", + "origin": [ + -12, + 2, + 184 + ], + "color": 0, + "uuid": "3c706264-83ea-4949-f6b5-0d1e4284f974", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + { + "name": "CoverBack3", + "origin": [ + -64, + 0, + 176 + ], + "color": 0, + "uuid": "634e72ae-9145-3745-025b-b0f684e68756", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "ExSkill2ParticleAnchor2", + "origin": [ + -69, + 15, + 168 + ], + "color": 0, + "uuid": "fe06f0f4-3e53-fee8-787c-3ee10aec152b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "ExSkill2ParticleAnchor4", + "origin": [ + -61, + 26, + 168 + ], + "color": 0, + "uuid": "517afd90-d55d-f3f8-ba68-bb9be071f94c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "ExSkill2ParticleAnchor14", + "origin": [ + -65, + 23, + 168 + ], + "color": 0, + "uuid": "8ae414d0-0eb3-1d21-1182-27ef2652aa2b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + { + "name": "CoverBack4", + "origin": [ + -120, + 0, + 168 + ], + "color": 0, + "uuid": "e5aaf2df-7736-8f0a-1ce5-8f1a7da75761", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "ExSkill2ParticleAnchor3", + "origin": [ + -108, + 27, + 169 + ], + "color": 0, + "uuid": "a8402239-b442-2aac-5763-7a74fad28ad1", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + } + ] + }, + { + "name": "Wall", + "origin": [ + -104, + 0, + 232 + ], + "color": 0, + "uuid": "471ac3fc-f228-e0b1-9294-ddccd9ec3169", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Paintings", + "origin": [ + -104, + 0, + 232 + ], + "color": 0, + "uuid": "1d3d344d-d1ec-9b8e-933c-6900d42627bf", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "MainPainting", + "origin": [ + -32, + 24, + 231.5 + ], + "color": 0, + "uuid": "883b715e-f70a-83fc-b63d-fe56e2b20006", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d542eda9-11bb-dec3-7bb7-c1f7079bd650", + "c3bcde7a-120c-5f57-270e-544baa5ff8ca", + { + "name": "ExSkill2ParticleAnchor5", + "origin": [ + -20, + 34, + 231 + ], + "color": 0, + "uuid": "bb2df986-3bbb-f60d-639c-ab9fdead02c5", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "ExSkill2ParticleAnchor15", + "origin": [ + -46, + 44, + 231 + ], + "color": 0, + "uuid": "c57a4325-09f4-cae5-76ea-1a47d84be6a6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "ExSkill2ParticleAnchor16", + "origin": [ + -8, + 43, + 231 + ], + "color": 0, + "uuid": "e3212ca7-5034-606f-2de4-2637e154efb1", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "ExSkill2ParticleAnchor17", + "origin": [ + -16, + 48, + 231 + ], + "color": 0, + "uuid": "58caa817-335f-2252-470d-4c233541088d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "ExSkill2ParticleAnchor18", + "origin": [ + -53, + 60, + 231 + ], + "color": 0, + "uuid": "6f0d5f20-247e-c756-9c8c-e71c020da3f9", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + } + ] + }, + { + "name": "SpecialItemGroup", + "origin": [ + -32, + 56, + 231.5 + ], + "color": 0, + "uuid": "685643af-3722-358c-4a7b-b08659b91c3f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "GlowEffects", + "origin": [ + -32, + 56, + 231.5 + ], + "color": 0, + "uuid": "de851d22-59eb-a421-c1f9-2ecff29a50c9", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "GlowEffectsGroup1", + "origin": [ + -32, + 56, + 231.5 + ], + "color": 0, + "uuid": "c21a367d-0341-df02-6643-b90627440ea4", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "903a13b4-d1ef-e4e7-1d4a-e62e5ff5a344", + "7caac5d1-6312-d992-ba84-7b8bdc4dae4a", + "c150c66c-80bc-7d0c-c732-19beac673e3a", + "b289b02b-2cf0-0485-e0b7-7bf70e478fa5" + ] + }, + { + "name": "GlowEffectsGroup2", + "origin": [ + -32, + 56, + 231.5 + ], + "color": 0, + "uuid": "18afd237-65e3-eaff-3d7c-ae069ac02e83", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "5448e64a-0d82-877e-9cdf-0937708fe65f", + "328a9a7e-8f64-74a8-2fae-9024b29f4d65", + "cda10979-7d9d-4a91-5d63-7e578cdb4893", + "6b4cace7-2c75-7202-da72-8599249c2d2c" + ] + }, + { + "name": "GlowEffectsGroup3", + "origin": [ + -32, + 56, + 231.5 + ], + "color": 0, + "uuid": "e88c2c86-f095-893b-e5cd-d0188527ca06", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "bfee241a-f3f5-0cb7-59fe-e1927a7204d5", + "fce46691-0818-1878-65c5-9e9ef5f25807", + "b0d4eac9-1d7a-bd1c-da26-9d52f2853062", + "9c45110d-fdd1-1a7a-b728-197e016636a0", + "01ca6c1c-7c11-343f-843c-43cbb3b8e561", + "e05cb1b3-d1e4-dfad-63b1-1fee21faf374", + "55e5f93a-a2f0-e9a8-5cf9-8a4c47163e97", + "467523ba-9458-b317-8ae8-331417c76aa3", + "3b6a5295-c5e5-ff9b-eb41-5a6552c0eea6", + "5abd7a74-8287-1819-9a3f-de178acca1da", + "8f5264f5-a064-2142-a56b-165a39f56b99", + "329061bc-20fc-24dc-9cbf-bccd0cc62cb8", + "1976f128-ca4a-e395-d56d-1e0dc25205d1", + "6d3423fd-0436-e437-4715-8873ad46bf68", + "e07971de-3ea9-4a33-4fea-d0d26a01efd3", + "42403d9c-6066-112e-512d-aee04aaa3dbf", + "c078a316-efc9-f487-4313-81ab5c78ea33" + ] + } + ] + }, + { + "name": "SpecialItem", + "origin": [ + -32, + 56, + 231.5 + ], + "color": 0, + "uuid": "191e6497-d23f-a40f-dc11-55d8f055ac50", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "GoldenMagazine", + "origin": [ + -32, + 56, + 231.5 + ], + "color": 0, + "uuid": "4b7a9390-e36d-267d-e969-4905349ba875", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "78c5f708-13de-f52d-f120-8de8f375a533", + "5849f871-ca12-b553-4804-406471ba02d9", + "5c2183fe-c3bb-edbd-f10b-2b6f4d240504", + "07d8dfb0-9741-3103-3085-9c3c4801c4ec", + "571146fb-fe44-b929-9266-c63baea8eb78", + "2bc6747f-a4ff-2e49-578f-f575a865c932", + "36da88b5-68a6-2010-9b35-c09b9d38b68c", + "764d5bd4-e942-b103-ebf5-428be8417482" + ] + } + ] + } + ] + }, + { + "name": "ExSkill2ParticleAnchor6", + "origin": [ + 12, + 46, + 232 + ], + "color": 0, + "uuid": "053bc9cd-0141-8401-1dba-4dc0eb50e46c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "ExSkill2ParticleAnchor7", + "origin": [ + 13, + 20, + 232 + ], + "color": 0, + "uuid": "73cfdb2b-be1f-9fdf-cef5-833eb3106c70", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + { + "name": "Midori", + "origin": [ + -64, + 0, + 0 + ], + "color": 0, + "uuid": "e98e96cf-993b-878e-02b8-777c368bb888", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "MidoriHead", + "origin": [ + -64, + 24, + 0 + ], + "color": 0, + "uuid": "22d40862-bd19-a16d-9e33-79364e6656d8", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a66c63cf-0082-7797-3f4e-08ff434a1cac", + "d48552a8-9f0d-7335-2a82-794f3264fc9d", + { + "name": "MidoriPhone", + "origin": [ + -64, + 24, + 0 + ], + "color": 0, + "uuid": "ecb0ee56-5170-3365-596a-169877c19369", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "01f6d688-d2cd-c36a-df2e-a80523a72020", + "4f5e53a6-b464-0187-a63a-a317f45c2beb", + "ac86679a-d55c-be34-cf2b-68f42e402541", + "943051a6-3609-4b6a-a9be-3e7a6d7e866b", + "0aae78b3-7629-724d-62de-d336c7bb05d6", + { + "name": "PhoneEars", + "origin": [ + -64, + 32.5, + -1 + ], + "color": 0, + "uuid": "8a0d4e0c-c75a-8b96-4d55-3b327212efbf", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "PhoneEarRight", + "origin": [ + -64, + 32.5, + -1 + ], + "color": 0, + "uuid": "9420ea33-54f3-229f-aa64-9a45aa1de2e0", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "PhoneEarRightFront", + "origin": [ + -64, + 32.5, + -1 + ], + "color": 0, + "uuid": "8ae76f75-5f55-c724-8aba-a832c61d7751", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "PhoneEarRightFront1_1", + "origin": [ + -64, + 32, + -1 + ], + "rotation": [ + 0, + 0, + -35 + ], + "color": 0, + "uuid": "e4b7cf64-7648-39b9-5be6-7e3f25214053", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "5628b192-ac9f-3e32-91d4-2d87aa746910", + "c1fcb63e-6496-d3a3-64cb-e2251ddf6b9e", + "beef8305-3bf6-58e9-b6da-1cd0fab1fe2f", + { + "name": "PhoneEarRightFront1_2", + "origin": [ + -64, + 35, + -1 + ], + "rotation": [ + 0, + 0, + -25 + ], + "color": 0, + "uuid": "59bb8b92-fe58-64d2-7a1c-8beaa43ff9f2", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "403fa6ce-f0d8-c5be-a8b6-d47294eb4984", + "76f78202-a819-a689-73e2-64029f8d0f9d", + "b779ad53-9102-aacf-4abf-51210f0edbde", + { + "name": "PhoneEarRightFront1_3", + "origin": [ + -64, + 37.09, + -1 + ], + "rotation": [ + 0, + 0, + -30 + ], + "color": 0, + "uuid": "a7bbb537-2a97-304f-3e26-8b99aa386fe3", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f1e596d1-8e6e-52f8-ee7e-4c2fe9e40228", + "6544450b-5248-1b6d-e92d-2543dd68f300", + "348fd0c9-c2ba-34d9-9160-bd82c3a23d43" + ] + } + ] + } + ] + }, + { + "name": "PhoneEarRightFront2_1", + "origin": [ + -59.5, + 29.5, + -1 + ], + "rotation": [ + 0, + 0, + -60 + ], + "color": 0, + "uuid": "defaac45-9178-f07f-7e9d-914192a8bcfd", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4bd4c91f-764a-3ef9-009c-766a50959788", + "1a50d8d3-d2c0-1c03-5226-56fabd5b1aa7", + "d3a63ec7-8768-7c37-4624-c7e3d4192e12", + { + "name": "PhoneEarRightFront2_2", + "origin": [ + -59.5, + 30.08, + -1 + ], + "rotation": [ + 0, + 0, + 60 + ], + "color": 0, + "uuid": "fb7e3287-5d3a-557b-85d5-e687a41f4eee", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "092a0e63-d5dd-7734-63ea-fa9d2553d0f5", + "c5113057-7bfd-25ad-e529-b49c112c3377", + "2840ca2d-db60-7b72-40c4-526f07cf8a96", + { + "name": "PhoneEarRightFront2_3", + "origin": [ + -59.5, + 34.08, + -1 + ], + "rotation": [ + 0, + 0, + 20 + ], + "color": 0, + "uuid": "9e95149d-5fe0-1d87-78d3-2a8f624f27fa", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e774d120-5304-8e16-59f6-3320dd90cc26", + "0dca0cdb-bd65-b554-9877-c42622b728bd", + "c95bca51-10cf-7f94-f3f4-4e2202585871" + ] + } + ] + } + ] + } + ] + }, + { + "name": "PhoneEarRightBack", + "origin": [ + -64, + 32.5, + 0 + ], + "color": 0, + "uuid": "74069bd7-7675-7146-18bd-4a7ba06f969f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b561e0e5-fa37-6c25-4798-cb2864fd4ef3", + "dedf0f6b-187d-2be9-04f4-b753ebcdcf51" + ] + } + ] + }, + { + "name": "PhoneEarLeft", + "origin": [ + -64, + 32.5, + -1 + ], + "color": 0, + "uuid": "f10267d6-0d58-cc2f-4920-e7ff33270f54", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "PhoneEarLeftFront", + "origin": [ + -64, + 32.5, + -1 + ], + "color": 0, + "uuid": "c0095888-9572-cea5-9bdc-d77dc8f488ac", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "PhoneEarLeftFront1_1", + "origin": [ + -64, + 32, + -1 + ], + "rotation": [ + 0, + 0, + 35 + ], + "color": 0, + "uuid": "04e771b1-46c1-0055-171a-ce7b7640b6b2", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "be67e76c-c7f9-9a4b-6c04-524fbc76c77b", + "a76db6f4-0ef7-6aed-1cc1-9c1259141265", + "2d6e824a-b085-3640-e1e5-7ba8c21408be", + { + "name": "PhoneEarLeftFront1_2", + "origin": [ + -64, + 35, + -1 + ], + "rotation": [ + 0, + 0, + 25 + ], + "color": 0, + "uuid": "17b848e3-d84e-f9d6-029a-e8d8c41bab91", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8cc219f9-f431-d538-3d6f-fcab7185ee25", + "c3b3c7a5-1906-1860-5da3-6879de869a89", + "239182e8-2f83-2228-a01c-9bba6132ebd4", + { + "name": "PhoneEarLeftFront1_3", + "origin": [ + -64, + 37.09, + -1 + ], + "rotation": [ + 0, + 0, + 30 + ], + "color": 0, + "uuid": "3f9f3b07-3a38-b67a-5e55-8ac70f129560", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "2efdfc14-75ad-3917-bcbd-c864f6a4908a", + "12e1aa45-4861-cd9c-cdfd-5b656c8af07c", + "64b1a793-eb74-5aab-221f-0058edf82966" + ] + } + ] + } + ] + }, + { + "name": "PhoneEarLeftFront2_1", + "origin": [ + -68.5, + 29.5, + -1 + ], + "rotation": [ + 0, + 0, + 60 + ], + "color": 0, + "uuid": "f5f8cc88-77cb-6726-8b74-15095adaa508", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "0cabbb13-53a1-76d6-49c1-244a341e3fc4", + "4b86c2c6-6541-ae97-908d-c4c0946d9742", + "fd698e35-9448-12f8-4ea1-9abfc1d86688", + { + "name": "PhoneEarLeftFront2_2", + "origin": [ + -68.5, + 30.08, + -1 + ], + "rotation": [ + 0, + 0, + -60 + ], + "color": 0, + "uuid": "61b4a9db-fbbf-0f17-767a-c0471465950a", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "83f7478a-cd88-a072-b14a-aac679cc671e", + "759cf829-fc6c-b23b-f394-09d2b21b073e", + "5e464ee7-9b76-e363-35ab-cc8ac9024a22", + { + "name": "PhoneEarLeftFront2_3", + "origin": [ + -68.5, + 34.08, + -1 + ], + "rotation": [ + 0, + 0, + -20 + ], + "color": 0, + "uuid": "cf8e1310-5882-9378-e414-9b0710d312d2", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f7ef2c19-5922-806b-fe13-635d0335552b", + "c4e7e749-9878-e45a-341c-b943ad7693e0", + "d9cf64b4-1f79-2af0-5eed-b045c13920ad" + ] + } + ] + } + ] + } + ] + }, + { + "name": "PhoneEarLeftBack", + "origin": [ + -64, + 32.5, + 0 + ], + "color": 0, + "uuid": "a3f8b87b-ecbb-f38a-de09-c1ddaf611c97", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b5a002b6-22e9-a072-4595-4028c86f3962", + "f54c98fe-b735-7964-faff-3d7981924e5a" + ] + } + ] + } + ] + } + ] + }, + { + "name": "MidoriFaceParts", + "origin": [ + -64, + 24, + 0 + ], + "color": 0, + "uuid": "db381b6c-e0d3-6ca8-6433-4371d36cc6c6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Eyes", + "origin": [ + -64, + 24, + 0 + ], + "color": 0, + "uuid": "25d20f6a-b84c-5105-726d-79a4fc3a5a4d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "7853e9a2-b429-5a00-5e0e-70449c3a71ee", + "328a2de5-64bc-807b-5906-227bfceedf26" + ] + }, + "d9d80373-4145-9e90-28de-12248a8075d9" + ] + }, + { + "name": "MidoriHeadRing", + "origin": [ + -64, + 28, + 0 + ], + "color": 0, + "uuid": "e8809cb5-a507-86d8-da91-c79b1d4d233e", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "48cfe147-8711-a325-c722-fe73d6c4d87a", + { + "name": "RingParts", + "origin": [ + -64, + 28, + 0 + ], + "rotation": [ + 35, + 0, + 0 + ], + "color": 0, + "uuid": "e32b6794-e7c2-9c56-393f-a85b7edf387d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "faf8ab6b-f4f0-ca97-dccf-5419513d1359", + "61c19b56-1984-cdcb-7a31-987945b0ae33", + "f0e4c2d9-cc4e-0c13-3e3a-2b95d8c0d034", + "4a2f805b-02d9-da24-e361-0c0309289a1d" + ] + } + ] + }, + { + "name": "CMaidH", + "origin": [ + -64, + 24, + 0 + ], + "color": 0, + "uuid": "a3859b2c-af09-f7c0-1150-02c09ca10436", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Brim", + "origin": [ + -69, + 31, + -2 + ], + "color": 0, + "uuid": "82f4438a-e1ec-43d4-8f14-1e10adbb9cc3", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1e981720-d6d9-f09b-e577-706de32bb630", + "3aadc8d9-06fa-5eef-4dbc-ca941db9ade4" + ] + }, + { + "name": "HairTail", + "origin": [ + -64, + 25.5, + 4 + ], + "color": 0, + "uuid": "818e037c-2207-22d9-70ae-df9c2fe6ac1b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "67920b89-ce40-b067-cfb1-c2ab4e63d6ef", + "0fee99e5-f20e-8515-2cce-44561b67be5f", + "dbc7e6e0-1c96-b742-85b2-527e48e417c9", + "13cc3dd9-6388-63c2-d33c-ca55c775162d", + "1f91fff1-f0c9-9dd0-6694-7a7f6e844235" + ] + } + ] + } + ] + }, + { + "name": "MidoriUpperBody", + "origin": [ + -64, + 0, + 0 + ], + "color": 0, + "uuid": "16d22746-633e-382e-dd96-b35bde99daa5", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "MidoriBody", + "origin": [ + -64, + 24, + 0 + ], + "color": 0, + "uuid": "bf4dd57f-d0f7-1fe0-98e6-59e00f97f41b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "742e9ab7-8cdd-8d93-9a9a-88011f54d15b", + "2574fa9e-0d5f-502c-ce28-ef5cf30f41ec", + { + "name": "MidoriTail", + "origin": [ + -64, + 14.5, + 2 + ], + "rotation": [ + 15, + 0, + 0 + ], + "color": 0, + "uuid": "9100b434-e831-96c3-9283-218e489cafe0", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "50e61828-ccdd-ee8e-c621-0a193b35fd5e", + { + "name": "TailRibbon", + "origin": [ + -64, + 14.75, + 4.09 + ], + "color": 0, + "uuid": "5188006f-1495-610b-c7fd-6c30659e9544", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "7fdb0fb1-8ed7-f7c3-8b88-fac1d80dd07a", + "dc800767-ecb2-014e-feb9-2ca0ead842c4", + "9e64e61c-83f0-16ff-be78-462b22d01baa" + ] + }, + { + "name": "Tail2", + "origin": [ + -64, + 14, + 8 + ], + "rotation": [ + -40, + 0, + 0 + ], + "color": 0, + "uuid": "feb531f7-26bb-8a9c-0e7a-1339231405db", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4113cbe8-5856-27e8-5d63-4f6f3f13ccbd" + ] + } + ] + }, + { + "name": "CMaidB", + "origin": [ + -64, + 24, + 0 + ], + "color": 0, + "uuid": "b9a399c1-df81-ef36-dcfb-7b054ae43f84", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "BackRibbon", + "origin": [ + -64, + 15, + 2.5 + ], + "rotation": [ + -25, + 0, + 0 + ], + "color": 0, + "uuid": "331e943c-54b9-5bd9-1968-6f7399ae9886", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b984c931-e06a-4a7b-03ee-8402dbbf3150", + { + "name": "RibbonLeft", + "origin": [ + -64.5, + 15, + 2.5 + ], + "color": 0, + "uuid": "fb477e58-8b46-eb97-914d-87feaa95a0c8", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "c346cb04-2149-cdf6-7c2d-2f066237567c" + ] + }, + { + "name": "RibbonRight", + "origin": [ + -63.5, + 15, + 2.5 + ], + "color": 0, + "uuid": "75c4d2c8-3b97-1317-ae3f-823f28cab67c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d3f2aef2-36ba-e71f-7f32-160b01ad665b" + ] + }, + { + "name": "RibbonBottomRight", + "origin": [ + -63.5, + 14.5, + 2.5 + ], + "color": 0, + "uuid": "d379edef-9be8-5afc-a865-f325ac9e4ca4", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d398e136-305b-ff2e-9e3e-f24bb46043e3" + ] + }, + { + "name": "RibbonBottomLeft", + "origin": [ + -64.5, + 14.5, + 2.5 + ], + "color": 0, + "uuid": "fe5fa891-b4b0-ee55-5226-dd982ba7ca6b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "0f145497-236a-8d3e-289e-49bd0ba364b5" + ] + } + ] + }, + { + "name": "Skirt1", + "origin": [ + -64, + 14, + 0 + ], + "color": 0, + "uuid": "d0e2a4ef-6f4f-9e4a-2014-102fa43a71ca", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "c1808908-2ddc-710e-bc1a-39fee1d58add", + { + "name": "Skirt2", + "origin": [ + -64, + 13, + 0 + ], + "color": 0, + "uuid": "9d557bf2-001b-1f8d-1d78-0a962b94f708", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b14062a5-8fd5-8a1d-20f0-07f95185da2b", + { + "name": "Skirt3", + "origin": [ + -64, + 11, + 0 + ], + "color": 0, + "uuid": "587e5ce5-4c03-ec5d-49d7-c562fd128412", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "576cb769-b524-e434-9505-500ecc812775", + { + "name": "Skirt4", + "origin": [ + -64, + 8, + 0 + ], + "color": 0, + "uuid": "451bd9ee-3968-ddf7-c9e0-b68dd523d86a", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1e8a9fce-e1fb-7b7e-7eb2-4a793ebcd958", + "4a4353a6-3e3e-ddf5-073b-2b5aa53b7eac", + "1795ac0b-b779-832b-a965-2dc00d907490", + "6e195df0-bf76-310c-06fd-394a4ff07e7f", + "0e20a754-447f-185e-134e-9163bf8bb894" + ] + } + ] + } + ] + } + ] + }, + "11e5075c-d603-b3af-f4b1-6eafe78e847a" + ] + } + ] + }, + { + "name": "MidoriArms", + "origin": [ + -64, + 0, + 0 + ], + "color": 0, + "uuid": "c062b0e8-6983-de4d-12e9-7b5ad9e81528", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "MidoriRightArm", + "origin": [ + -59, + 22, + 0 + ], + "color": 0, + "uuid": "3c1cb66d-8a31-d31f-ec9f-65a33e313a53", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8831734e-ce90-e6bb-8368-e011a468277d", + "cea7603d-ae80-e4e7-6f93-905551a79117", + { + "name": "MidoriRightArmBottom", + "origin": [ + -59, + 18, + 2 + ], + "color": 0, + "uuid": "b924539e-1292-1a17-6240-a525ae346090", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "643f9c05-2d3c-e1d1-5a2f-874902eb1784", + "b1a76f47-912e-c2d4-8090-6f6ac9734672", + { + "name": "CMaidRAB", + "origin": [ + -59, + 18, + 2 + ], + "color": 0, + "uuid": "390a82c6-a9a3-cd25-951e-f5b46cfdcca5", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4bf8bdcd-03e6-ad05-9e85-280ce67a5fe3", + "bfd9bcde-df77-5688-71ad-f9e6de0a52d7" + ] + }, + { + "name": "Gun2", + "origin": [ + -64, + 0, + 0 + ], + "color": 0, + "uuid": "b6749aac-ebba-c5d5-1cb7-e43c59887386", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Barrel2", + "origin": [ + -59.5, + -8.25, + 1.5 + ], + "color": 0, + "uuid": "e75afc93-8f2e-1ddd-bcf7-4faada82ee34", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "3e65a477-df5a-8254-2567-768d9d234455", + "40b6672d-f0b5-d1c0-9e56-fa01655e7a9a", + "f5ca4fdb-102d-9374-90a5-a81b0b96e8eb", + "8bdec214-1314-e9ee-0e54-2eb19d425de1", + "b87cf879-53b8-df99-5477-03c327fcd8b1", + "8a9405c4-9d81-da0b-30a4-5705a17a5848" + ] + }, + { + "name": "GunBody2", + "origin": [ + -59.5, + -5.25, + 0 + ], + "color": 0, + "uuid": "f8657926-045b-21b4-5992-4ea013e338f5", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "9e264c06-d295-59d5-123e-32bff588aa90", + "8af43092-62ce-7aae-f2e2-a4442a0a3f8e", + "c8faef97-d533-f122-41f9-515988593ab0", + "e1b1889d-076e-be59-fbc6-da7050b04d5e", + "ec1dab71-2a2f-6eb7-d02a-c92c628534b4", + "fd41a81e-93de-a365-07fc-8f98ea96ab56", + "ac199ef5-b417-725e-1ed9-060c610f2b7b", + "df76fa8e-4e55-3a2c-3543-1eb20e267b2c", + "37ab66ae-aa8b-e18e-b68c-7e6f2c7e4ae5", + "502494e2-b30e-9f53-1e86-84e3e18a4cde", + "c4280203-c17a-3422-a7b3-200932dbcc39", + "e1184f91-c4d5-d50a-55e1-8a7faccc4cb5", + "79a88789-9754-6564-af5b-aa4e7470a8fa", + "85fdb15c-e400-67ee-e764-91222d6b0091", + "2bfc104a-5173-6308-0ca6-6d08d3711376", + "ac336d31-d270-ace4-fa05-9ba63f1a2beb", + "1cef7de6-3d4c-08a5-47f3-f9c8edfa076d", + { + "name": "GDDLabel", + "origin": [ + -64, + -2.2125, + 8.925 + ], + "rotation": [ + -60, + 0, + 0 + ], + "color": 0, + "uuid": "873ef4df-e294-4765-c1ad-40b6274ddabf", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "bbc0feeb-0659-78bb-e54b-ac765d25cc89", + "16743008-66ca-407e-776a-dadf740ee2f4", + "3ff27103-e3d6-832b-7026-6f9fc7f2aa2f" + ] + }, + "33764923-a20c-9f02-4db5-90f1585ddbac" + ] + }, + { + "name": "FrontSight2", + "origin": [ + -70.1125, + 2.1, + 0 + ], + "color": 0, + "uuid": "9e80b9ff-4eee-6e93-567a-7f0cad29f85e", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4b187f41-6e69-e949-8e1b-d7fcc03d011a", + "ccb126ea-0085-e8c7-7705-2240403baca6", + "ee562eff-529f-3caf-b411-d4741f4eca8b", + "4299c342-9e55-8472-e194-acbe66000ad2", + "63d9de3f-160c-c004-a4dc-ad5434eb841e" + ] + }, + { + "name": "Scope", + "origin": [ + -59.5, + -5.25, + 0 + ], + "color": 0, + "uuid": "5f7070e6-bd8d-eadc-e9c4-66b4f84ed171", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "639f968e-d3b2-4ced-74fb-a52bd1776994", + "294653dc-6eb1-06dc-3d0e-e84c352f2f86", + "56b62090-1975-086c-0f7c-a7a777b771a3", + "08d625e4-e8d4-c374-0259-8cada62d9350", + "ae95c9ce-c73d-ce3f-a8a3-c2b031a34d7f", + "a52b1d93-17fd-3c22-4c7e-6ebba3226225", + "8396e0f0-2434-2016-fef9-350d93f68c4c", + "45f9b67f-2eb0-e025-b974-70819a554a41", + "46091446-36a7-e1a7-1608-86100618043a", + "bd4be593-f583-5c42-e50a-0b736f02f886", + "72ec7e76-9088-8ad4-2ac1-a0b1c9334f18", + "f028aea8-78e4-fc39-869e-69aea5434199", + "f62755e2-5817-cfb2-b0aa-afe7c22984ff", + "78380681-098f-c500-d74c-999b78905436", + "b9609d0a-e6da-0427-f7e4-8368f2231b57", + "88f070cd-64e6-2c05-d7c6-a79593ec1c5f" + ] + }, + { + "name": "Grip2", + "origin": [ + -64, + -1.5375, + 3.9 + ], + "rotation": [ + -42, + 0, + 0 + ], + "color": 0, + "uuid": "bb0b4ddc-cc02-2767-d020-c92291cb1293", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "bf479b89-463b-a9eb-3478-00b13a14b37e", + "4015cbf2-722a-034a-389d-bb57fc4863e0" + ] + }, + { + "name": "Trigger2", + "origin": [ + -61.4875, + -2.25, + 0 + ], + "color": 0, + "uuid": "a71b3139-b8b3-cf53-2ed0-ab9950be03a7", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "34614993-87f6-145e-d023-16d7cab850bb", + "ca227403-e1ff-7e22-6977-fc4662ab9cfa", + "c2a8410d-62eb-345b-a864-c90f33b4f758", + "dfa9f421-6857-9eb3-3e3b-8e0eff6a0afc", + { + "name": "Accessory2", + "origin": [ + -60.6625, + -4.35, + 1.5 + ], + "color": 0, + "uuid": "d2f79308-5bff-ff85-cc0e-36405ada210a", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "508b83cb-0eb9-219e-919c-20c5cb8e9668", + "a0270b03-89f5-7a21-c08e-4bbf3c164dc0" + ] + } + ] + }, + { + "name": "MuzzleAnchor2", + "origin": [ + -64, + 0.39375, + -12 + ], + "color": 0, + "uuid": "2b5a4f01-1b51-681e-a5b7-de6f2b3d49ed", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + } + ] + } + ] + }, + { + "name": "MidoriLeftArm", + "origin": [ + -69, + 22, + 0 + ], + "color": 0, + "uuid": "e7d3e5d8-00e4-587c-7bb6-6787db00054b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "af1aa9d5-0ccf-d579-b381-54ac7b12fb55", + "b74fb9e9-db24-b669-6f87-8469be63eda5", + { + "name": "MidoriLeftArmBottom", + "origin": [ + -69, + 18, + 2 + ], + "color": 0, + "uuid": "ad1c45ef-c0a8-6d31-d2dc-fbdc6ab7ddcc", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a82219a3-e344-a4d8-c85c-51462943a7dc", + "d7794b2f-dbb3-2cd5-c956-cd163b703976", + { + "name": "CMaidLAB", + "origin": [ + -69, + 18, + 2 + ], + "color": 0, + "uuid": "30c77d7e-9a1f-d5b0-503e-1e805766973a", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ff976ee6-ade7-13f0-bbd7-4ecd37ed1751", + "978b23f9-f6a8-b438-d1d0-dc03c5b8f55e" + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "name": "Gui", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "1f4c601a-741d-12b0-a624-407b5f6c033e", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "ReticuleAnchor", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "e1823eee-516f-e0d5-d782-cf5f5d6a3acd", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "Reticule", + "origin": [ + 0, + 1, + 0 + ], + "color": 0, + "uuid": "ee970440-6f0d-0878-49a1-0f946b29af68", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "60bede27-af24-2c0f-bbac-9b370e18806d", + { + "name": "ReticuleLines", + "origin": [ + 0, + 1, + -0.1 + ], + "color": 0, + "uuid": "cb02cb2b-a2f1-532d-c727-f83255906e25", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "34e06984-8933-aa9c-5482-6e4403099a52", + "38c7fb4a-ae42-d44f-7401-82db88ca1e8f", + "0431f54f-b49c-b9eb-bc51-032ca892c8d4", + "b181c7a9-46a2-4563-aed0-303b79819af2" + ] + } + ] + }, + { + "name": "UI", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "7a881b35-1a90-ee1f-c0d2-7f07343a0d30", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "MomoiUI", + "origin": [ + -82, + -148, + 0 + ], + "color": 0, + "uuid": "317b3140-f6a1-5d0c-9464-31adb6715b48", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "80569007-76ab-5d36-b103-0b5a9b103596", + "6db85f38-ebb8-6ca1-2c50-3b49ce01e5d9", + "1919c7dd-aa15-d5cb-4227-991f90c8a381", + { + "name": "Bullets", + "origin": [ + -82, + -148, + 0 + ], + "color": 0, + "uuid": "d9120c85-d51e-6d0b-50d8-ce74c46829a9", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "FrontBullets", + "origin": [ + -82, + -148, + 0 + ], + "color": 0, + "uuid": "ad5b7536-5d9b-c04f-3190-cdeaff9055be", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Bullet1", + "origin": [ + 66, + 63.5, + -2 + ], + "color": 0, + "uuid": "30d2875f-7f68-87b1-8101-aca7dd110742", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a7d71f8e-49d1-2333-1773-2d6f7743a024" + ] + }, + { + "name": "Bullet2", + "origin": [ + 66, + 58.5, + -2 + ], + "color": 0, + "uuid": "ac712d26-d820-ebc6-8378-51667499b2d0", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a23b141a-ad8b-4ab7-acf5-783c2d50e19d" + ] + }, + { + "name": "Bullet3", + "origin": [ + 66, + 53.5, + -2 + ], + "color": 0, + "uuid": "60785250-3be5-b6b7-1337-d622d3601aa0", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8600a2bb-d887-0c84-625d-fa74d65986ee" + ] + }, + { + "name": "Bullet4", + "origin": [ + 66, + 48.5, + -2 + ], + "color": 0, + "uuid": "ac5f989b-6658-dd9e-9dec-054579cc0c19", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "36193ff0-331e-4871-7062-ad35d385f82f" + ] + }, + { + "name": "Bullet5", + "origin": [ + 66, + 43.5, + -2 + ], + "color": 0, + "uuid": "be18dbfc-248e-ef69-098f-77da5070e805", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b0b85a0c-cc1c-3512-8234-6749b8e5e4b9" + ] + }, + { + "name": "Bullet6", + "origin": [ + 66, + 38.5, + -2 + ], + "color": 0, + "uuid": "011cb892-1ea2-bb46-d770-6885b7675239", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "51623d3f-d2b9-3515-9fa1-f2742bb9fae4" + ] + }, + { + "name": "Bullet7", + "origin": [ + 66, + 33.5, + -2 + ], + "color": 0, + "uuid": "904b8f89-d83e-44a4-df3a-1565789cb775", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "48c56e7b-25b2-d10f-d362-690ba5ee8a60" + ] + }, + { + "name": "Bullet8", + "origin": [ + 66, + 28.5, + -2 + ], + "color": 0, + "uuid": "b23943b6-e931-f25c-833d-e453882e3726", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "81885780-941c-ef7a-396d-df7d7f1c79a9" + ] + }, + { + "name": "Bullet9", + "origin": [ + 66, + 23.5, + -2 + ], + "color": 0, + "uuid": "f6cad6ba-07dd-d139-abad-ddcf489d37d1", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "557ec1d3-099b-dedb-d2c7-672f9256edb5" + ] + }, + { + "name": "Bullet10", + "origin": [ + 66, + 18.5, + -2 + ], + "color": 0, + "uuid": "822305e3-afc6-0a19-1db1-8700c459062e", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8a2fdaa3-8e96-fb7e-2000-e84227b0efdf" + ] + }, + { + "name": "Bullet11", + "origin": [ + 66, + 13.5, + -2 + ], + "color": 0, + "uuid": "8f691360-9b00-8b4b-7b94-6fdd176829a7", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d9f661a7-6ad6-9246-5761-9d1377ec258e" + ] + }, + { + "name": "Bullet12", + "origin": [ + 66, + 8.5, + -2 + ], + "color": 0, + "uuid": "20174428-4920-ec8e-0e2f-9a86bf48c68d", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "94244470-5de9-3079-da60-b17bed030a52" + ] + } + ] + }, + { + "name": "RearBullets", + "origin": [ + -85, + -149, + 1 + ], + "color": 0, + "uuid": "a3c1fd55-bce1-1ed6-b9c3-ad507391480e", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Bullet13", + "origin": [ + 63, + 62.5, + -1 + ], + "color": 0, + "uuid": "9e4152cf-50bb-b950-562e-2fa066f7118a", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4a92e6c2-a65a-62a3-4948-64a04a81e08b" + ] + }, + { + "name": "Bullet14", + "origin": [ + 63, + 57.5, + -1 + ], + "color": 0, + "uuid": "59d23422-db36-e721-6f24-b09dc40c5232", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "51a20849-e5c6-77cb-f3b5-d20d40cc29d2" + ] + }, + { + "name": "Bullet15", + "origin": [ + 63, + 52.5, + -1 + ], + "color": 0, + "uuid": "b893bc15-f482-4c85-4b1f-a32402b1a400", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "86e667d4-f4e2-5e86-cae6-47424cacddc6" + ] + }, + { + "name": "Bullet16", + "origin": [ + 63, + 47.5, + -1 + ], + "color": 0, + "uuid": "ef9d942b-3edb-7686-68b4-42747859e067", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "970fe49b-8a4c-38a6-2151-c1b6ed14f74b" + ] + }, + { + "name": "Bullet17", + "origin": [ + 63, + 42.5, + -1 + ], + "color": 0, + "uuid": "3c5565fe-3468-fbf2-7335-b98629162f2b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "0b70e9b2-e851-bd46-7077-e387047020f4" + ] + }, + { + "name": "Bullet18", + "origin": [ + 63, + 37.5, + -1 + ], + "color": 0, + "uuid": "9fa2c239-c604-bcf3-a008-78664c1047b4", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ec90d20d-3fe7-50ac-ec36-d1fdad3055fa" + ] + }, + { + "name": "Bullet19", + "origin": [ + 63, + 32.5, + -1 + ], + "color": 0, + "uuid": "761c0726-3434-ea92-1c4c-b3d67894957b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "85d42276-5823-754b-ad26-aac406ec0de0" + ] + }, + { + "name": "Bullet20", + "origin": [ + 63, + 27.5, + -1 + ], + "color": 0, + "uuid": "07478205-61a1-14e7-7ac7-f68222f0cc4a", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "13f02502-e897-db4f-5a7e-2ffd89d594fc" + ] + }, + { + "name": "Bullet21", + "origin": [ + 63, + 22.5, + -1 + ], + "color": 0, + "uuid": "7bdecd4f-70b6-d0e6-31aa-3708a2a5856f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "802b7114-2b1b-57d9-7bc6-d0476e4a4311" + ] + }, + { + "name": "Bullet22", + "origin": [ + 63, + 17.5, + -1 + ], + "color": 0, + "uuid": "e6164821-72b4-cb06-5ecd-4d2cf5e497cd", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "6dc6c74e-91ae-e076-7398-4de2af80145c" + ] + }, + { + "name": "Bullet23", + "origin": [ + 63, + 12.5, + -1 + ], + "color": 0, + "uuid": "38220ce6-f2c9-945e-8286-97c19233ddc8", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e2d0e2b9-5f2a-53bd-0bd1-0472ada1e2ed" + ] + }, + { + "name": "Bullet24", + "origin": [ + 63, + 7.5, + -1 + ], + "color": 0, + "uuid": "68707625-bb83-22b1-c9f3-62563691f4c3", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "24d9cb72-6176-480e-60dc-f73357f749e5" + ] + } + ] + } + ] + } + ] + }, + { + "name": "MomoiHeadUI", + "origin": [ + -79, + -77, + -73 + ], + "color": 0, + "uuid": "5f5b3967-e8cf-9f42-29d0-0e41b0d14363", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b00f1bcb-e23d-f3c5-e1a2-00726ef9651d", + "a9b05d3b-f163-cdfd-4f9e-b6b144b12b44", + { + "name": "MomoiPaperDoll", + "origin": [ + -45.75, + -64.5, + -57 + ], + "rotation": [ + 0, + 15, + 0 + ], + "color": 0, + "uuid": "9a72c417-5a5a-6d99-cd7a-01c3085481c2", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "MomoiPaperDollBody", + "origin": [ + -45.75, + -64.5, + -57 + ], + "color": 0, + "uuid": "0864f305-d05a-7ca1-d504-4c7757a51cef", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "bd7090d3-c845-5bc5-c04b-d6b53f2f7590", + "74c61a1b-d014-c086-8a42-9ad554cfdf81", + "bd6a0517-bbc2-f7de-89b5-fe216a158bdb", + "2a108e89-d13a-c479-3e05-eba6323ebdeb" + ] + } + ] + } + ] + } + ] + }, + "f6301328-9067-88f0-4225-930e19c6d248" + ] + } + ], + "textures": [ + { + "path": "", + "name": "pillager.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 64, + "height": 64, + "uv_width": 64, + "uv_height": 64, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "a36d9557-6754-755e-8010-2b489aec1a5d", + "relative_path": "../../textures/for_modeling/pillager.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAABttJREFUeF7tWltIXEcY/hdjXNddL3HVjTd2NVeLkl7wobSFUiikeaikJSnFkjQklhLFxLSJUqGUWkxSYku0tDElWCoFCU2TQpq+9CVCC5JKccG0seqirvWyxsu6Xmpkyz/unMwZz9lzjq7ds+q8zDlz/77/+2fmzBwDKIQvrl71Y5H5uTmhZIzRCBAdDbCwELQ21qkoKzNgoaJDh0g7NpuN1Pnq8mWSHu6gOAgkQBI8jjxAgNPplMSxa+fO9UMAsbpMQAJ+uXNHlPvS/v2ABNxtbSXp1PJDQ0Oi93ArQbUCNi4BTU1+wdfR7xnpU5OvbwXwBEhMfOubgMAqIOn+gZVAzSQY7tlern9VcwBdBoPNA+xKwXZGl0HdEkDXeWGAAT+f93qBBYwAhXduDyDKU4OUqX/yxAlFI6hpcqVlDHSdlwUbaFkJJFUAbSdYeTZPtwQgbiXJa81ngdPnsBNQV1/v54Hw1pPzbyo7OSKkVMC3Fe45wkAJkJNs87VrBOeBoiIwmUzkeWZmBm7fvEmei48dW+Z+tC0l4rBi2AmouXDBj8DkrPj5xYtgtVoJyDePHiXxd01NJPZ4PHDq7FnJ+YcFj4SxgRKpKwJYn+d99XRpKTz9zvNQnH+Y4Gh2tsDvV1rhs4YGgTi+DlUKxghYigRMqz53LryrACqAWoe1DFVET08PpKSkgNFohKioKMGQPp8PRkdHIScnh6QFs3iwJSrsBJypqvInJSYKY2RJwET34CAhoK2tTYSjsLCQEJCRni5KZy09PjFB8rB99hnT6Pul2trwKgAJoAikiHjQ1QV2u12SAJfLRT55Wbmz4IJZnuaFnQA1g1zPZcIqPz0Qu2YEFNqyBdeSAjo2J14a+TLdE541Gxvb15p1Qgl49q3DkJGZSfp0DwzAr9+2kGfdEpCdlyeynH3aDdPz/4I5ZiuJ24dnVZGGBLDgKeuUhIghwDrWK4BHEu72TW4sAlarALQ86wL4jm6wIRSAYNEN2KC7OYD3ea1L04vmWdkqE745cLxSLMrv/akZEuPk7xhoYazLBlrnm7ZeVS6oFodhrQhAAP+MRcPrlRXCWAbdbui69TNsifYEJYEHTxtAEnRHQP6jKBidmoSU+ARRvCMtHSZnfZAQGwf73n4DKHh8x3QMUvX4dvj3tqG+tVeAwWwmA/RPTysqyfZwmkxoyUaTKN6Tul0A+NC61N5ij1sgiu4F+HpK76HeIC1zAQQfk5QE8+PjqkhYdwQompwroMYF/liYJLUcj7YQl9CdC+Ban2QxwW5bkgBv2DsLOBnhxIPxuHcGXOaMZfyoUYCUr+vGBY4UOpZ9tNBZGEE7bNskRZFmiQUk6X7fouQcoOTLK80P+Rzw6hPb/ayVcb/PhixrorBkSS1PSNL/GdRuxdWOyfBUWqxIAbjfR3fAgOB4QviG55Ltsn2NjIxAamqqKF8qTe1gsVxn5/3QLoMvZCc8PhKzmIi1qbxZV8DOKTFUMf2eCfBsTZYd/8zsLCFg2uslZcwWCyABpthYLZhFZfv6B9aGABYc9sjLnUqdVQeWc/ktigSwBXRHwIpNsU4qhlROkcjJJgGRaLVQjnlTAaFkMxLb2lRAJFotlGOOOAX81t7uv+fqhXvn3yObtedKKuHv7m7YkZtL4isa/0KPOALqb3zvp+BRCS+f/hg6OjqgoKCAxBuKANye7y06IoBHEk4eP67JqJoKh9L3VtoWKgDrXj+19HMWEkDlj/H75eWaMGkqvNJBr6YeBYxtPGN3APq/868/Yf6Hr5d9sLH9pBWXQv7uPVB28LWgGHVPQEntJ8TiCAYDgscw3NxAYv5Ahn6tIgEYGqs+iGwC6MUNPaqnVt7n65c8p3zSMC5K7+vsDE5AXt5efwLzkxQrI3d/P7Tc+pEkofQwfFpeDhlZWZKqngz8FBVM8lpPdA7syvdLHaoOZ9vIvQV/Kj20bekOAg9r8VLl9gNncAKyszKFEyE8sWEDHl582NgIX1ZXk+R3a2rgo5KSZcdc9MRHja9rPdHB/wykLl7kDlVxDGye0k2SgSUAK7MkIAEHzzy+28P8G5fqRARoAY/1dUcAeyaoxoKrLaP1VFfOBeTuEHF8bJ6iC2jtQOnyUilfSZI8wXJzFJ1veAWigtk0JcUZ1PgYHTT98UmLT/K+qvViAwlAUviJGglQ436aCWBvdeXkg0RQS+PgtBCilYDcRGvQ3+2UXFKpPwPvAlolqtWFtLZ/vq5OIKDX5SL7fu/UFMFtiY8nH0AO+9LlDObTgGn4rvRxpPudIBKAQDEgcPxj3RQXBzO+pZ8sFhcXJUWAdbB8ZUVFZO8ElSS+2nzdK2C1AJXq/wetuFeM4T1WOwAAAABJRU5ErkJggg==" + }, + { + "path": "", + "name": "ex_skill_2.png", + "folder": "", + "namespace": "", + "id": "1", + "width": 88, + "height": 162, + "uv_width": 88, + "uv_height": 162, + "particle": false, + "layers_enabled": true, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "7ccc822e-85b8-9516-25a3-ad7eb1487a1a", + "layers": [ + { + "name": "layer", + "offset": [ + 0, + 0 + ], + "scale": [ + 1, + 1 + ], + "opacity": 100, + "visible": true, + "blend_mode": "default", + "width": 88, + "height": 162, + "data_url": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFgAAACiCAYAAADFnApLAAAAAXNSR0IArs4c6QAAERFJREFUeF7tnQl0FdUZx7/7ErKQAGHfLJuSwKFQTElQECHBilTAqqVUsbUci8tRqFatiqe1ngpIXRvwiLQe6hFEBJUCCi7JS1AgmBQpi+yLHkBkkyVI1nd7vpncyX3zZrlz583LS5g5hzPz7nzfXX73f7+5c3N5j0DkQQ3SrJKIQ/tLylwPB+HyaXrY7B6f7gO2kIwtHFo+z6miw4ojQx6wLaM5S9q28T5gd93vA3bHz9bbB2yLyJ1BdAD3u924FrveAj8G23SQUAz2AZtS9BXsLgLYersH3CoNoPtNxgUd+Q+QrCm2ZdjWEgCUkVRVA5DcAvBMhj8UlXxFynZjQ/QVZw3Qzph7faMMz6x0rvG29hKg6PqXKJ9vU4ntjgDXpbSChMrzwM5Kg2MAmO5ZqL7snLugqLcpqVgFjMMcj5NnADpkqNfn6xsDoALNugXqdr9nDtgqDz5PzJuztRrq/OhCxRqONny3j+O3RSEFM8DIpmL/UkhPSYGKykpIr6nzVMEa0A4ZWiynuxdSjOt4VkQQ94C3zqdQfRogqR1EnBm+Pr8yjvMH3mlIN8uDT09MV+1rK7TyyJAZpg8rBthM5WwKGecKnkUBG46N5s+BpAZ4IoBD1ZF56PPEz3hw5ZDB080BY+cnJ5vORBQVV1UBGXRv3M4oCN1SQAFhIiD+zPAmJ1tOw7CB2qHPg//MYGMZqGqEHEiyhKMAxBBgMtWzu2887GKbSmj5rIblSDaEmXoRLs5B29wAEAgAaanOGugPNQChEJCza9XaMsgIlIUAvh0YfoyO6tNgFSKYC4u7fBZGabFFJ1aaNrQeH5QTtu777NYy5Z7TdLFiLx0rH7DHfU2YQmdvWqcWlZIC1943DYZv2KR8ZOnXPvQorHt1Ljzxk1wtnaVBZSWQ1FSts8qWLlVGQ86kSYYPH7v7Hrc5ptlHAB7/4jNwoPwwTNj/VRhgo3SWtuOt+WGAWQsYSH2LzMDHtOUxKkwDPHPzRqXIactmw86SozB0Q7ny2Sqd2X46by4kJCbG7VQpRiwNi9Gg1NXWKsN64b4nFcPf95uj3LNKZ7ZTrpjpAzbpRV91HsvbB+w14Lwxkxzve3hyAcDMuyNrFvxoaUSHraSFpvlPIKMNO3g1LaLjSD7pOusV+u2M+xUbiq/N/IFvg+xgLzK6F5eLF6sMy05NTY6ZsAgC7v+7byJo7fx3DyWNwTSDyjvygBESAIVxJhDRbzUtpBQIjCf5WoNVP/VAyOxaA8zA8m+HXBq/LqEHfPbsOSW7Ll06xh4wA4oVQOD4GYF1+vMr9PjfVBWJHh/SQvrzerAf0CJKlA1ZFBCmKkeqbNDSbEKF9MZAg5qZgvnytFd6Tq3KCqBO1fyrNwPMwLZp01qxbhQFmwEWhcrs1tAiOpbkk7WhQkoJAbw2y2MtLULUig1e31BvywArUNkyqi4TBjJsLYW3SWoHlX2nGBbdpAF/HCqi1wfyyUehIjomYA6XtfxjWkSvJ/nkI1pEx+gB82vVesD1S5QRsZmzqzjU01QfrSaMdTQqnQqN2VvGYKOHllVBn9Iieh3JJ5+Giuh1AnBZXszvE1pEf0bySTEN0lEkT13pc6FgBPyPbVsiqvyHgYMhpoDNoDkFXESDNJ/kkUIapKNJnrBCCmkRHU3yFb8ErjIImX2MgF0P3mq58/zKNbTRAW8+dhfN7vK6MAwrBQdDQZoXyCNBGqR5DgAze+bPFBzxkOPV3FQAy8YWI7+SUJCODORpQ1w07xIapCNJHrHyl1WwWR1iFiJEIYjYraNBei3JI5+FiumIwCjhUfEZDdIR6EeL6QgyqiEGs4ccK1wfj3V/qNWHCwwRNwdvg/fzloD+3CQBr6dBOpzkkfWhIB0eEI/B62kxHU5Gkc9pkF5D8kh5qJgOCYwi+hkCvkQYvtGZhAsE3KwUvCEUpMMCeWRjqJhe7UDBG0NBenUgj2ygxTSJQ/LT7btUPvzbm+5NzslflM8+9SdT4G2e/rvhiKOHdlPSK0t4NOo7VNrRTBmltJheRUaRTbSYDiX2YWJTqJgODYwi7Iz5MgWLhCURGwbWDCLmYWSDcLX5rCTkqAP+IlRCcwMjSRktofhKnGOhZLTFV+ZcMpJ8ESqmufW20QSM4BhYEQXz9gg37hSsV2A5LcZFCO7APlXXIobUK7w8VEKHBEZqnR0twAyWUwXzkOMSMNLcXK/ObNIATj+cFRsAyObgigx5URsesFV4YPkZ2cctYFbpLfUQjaAM9ggsi6kIVT/k7TrHaafY5RcRg1et3hg2oB959LGwPHbvXGcZt8fdPJ0ue+s5w3In3v6oXX1g9fsFtvmzTFa9+VctP5LeLsxPFpSsn1nDPAVcUaFu9ktPV3dVxhNgSnE1lUS0v8kARrgd6veinLxIFcjxAhjhatMvHWQf8M3TNThuQkTMFKyPubZBUmfw2utLIlwwBqNaFy54Srk35e6ngaUZ5W90z8pepI6LB6VAXDzkvATc9zfqzvi9b77jAxZRhZGNmYJnrClTwOKBoGeNzTGNwV4oGGcjTuOpU3sRZsQrBWPhCBkPhGs3i+Ahuw0PWJYeMKaJrkU4nTtbgfYMMA8Xr60UzCrI5s8isw079bD5tNu1CLty7O5HHTCDxKAyJYuqWK/0kycjN8XYNQrvl362QpvjOl2LEMlf1IaYbS8SzUCvNlnAZiEiGoBZW0RW00TbLWoXdcDLlzynbNwxO4yGv9VDLpqARaFE08414OrqmmjWJyKvMePukMqfDxFSGUTJiYwdPzVMb107t4JH/viAkv3Dj822LebtRS/Z2rgxSOb/w7mDjFJSYreD0nIWoQeMxi/MeULxef7FefDtd+ctm5WQmBp232wljRk5nSHwr8MO+IJ+dc2JbzRtSVb/ax3vD+Yr0LffYB+wRY/Y/k1Or/A1q/5p6xNNBTT1vGxhuQHMpoCx3C4abx1iC1i2wgiXgeWvZfNrqn62gGUV7ANWJWEL2I1y/BDhMeCXT4SUGcqDHQOedqQbEXjt61nDES4Dy1973aB4y98zwKyhlzJcT2NwtBSM+yxkVGm3v0ImTxkfzxTsA/Z4FuED9hiwzHAy8vFDRLRImuTTLAGfOnVGebC0b5/hWYz2uF/iJntDgD7g6PWP8hcNXII0WnjnizGz8ZcvrTvDNgQ4XeyJxv5iVmWrzX3R05i3OfmAveUb/dU0X8HhPeYrON4V7MXmQZE2x8tag11dbRVsl4EP2OUswgdsR8AH7I6QS+8mHyLifa2i0QHPnDNHSiNsc180AG+ce6Xhov7yT07BCyu/ccXIlTOScbu/OO/6SY0KGOFeNTILoH9rgJ3nGs5ZraB0QTm4hewDZoCzWgHsPg+QmQ6wpwKgbzqU/uu/PmC3IUJTcN90gL0VAJenAey/ANAnDUoXbvYGsJPlSrf7i99fNk8qRERr/68GuHdLgIM/APROAzh4AaBXSyh948v4A4y0nOwv/nCJ3EMuWvt/FcC/HQzw9UWAHqkA33DnH6VA6aL/uYLsej34wL7dUgpkTrvKVkj5RwswFq6p+LIUgMOVAN2SAY5WAXRLgtIl29wBXvzdHfTOpQPCGlmLi2wn1K8iSOyYBspnAHjjlq2Q2CKg2f6y00TtevnxZWF5sHssnbdFQ0w3SmOZ6P0nd17U8EAueDZiWpX91Xa47NU9cPi+TNsO2zyfy4sH3DUZ4NsqgC5JAMeqATonQek7LgEnFsyOqGzWws+VStacOgIt2ne3rXCsDXZMGQGLJ22HyUt/rBWd9va7MHo9gcLhFLIGZcHm+YsAv7VA/5UQ2ffegffCZk+agju1ADheA9CxBcAJPCdC6fId7hSMgGunq/8nQ1FswWxAwJdvPuGY266e9b9lxHl60UEIWH/wgPFexfovIuBietqwHLiwQf0ZIXYogG8dAHCyFqB9AsCpOoB2CQCn6wDaJkDpiq+kIRMzwKhemYMH6tUIMAIML82CCQf6wco+uyCtaxZCNKy+EWA01FScEQA4EwJoQwDOUoDWBEpX7Yo+4HgOEclD22rwWNzlh33asBwqBXh8P4BzFKAVAThPobREfYC7eZtTFKzvatkQYab4/dkdZQaDqc+h1OPaPRZ3+WFvBhhjcvrw3IgQoSl4XL8IsHjPzXqE4avygCtvVKB7NcTd0rYDDL1bUzio/uIAO7QHXu/WAAfPGbabLfqgYt2CZeWarkUwyE5gzFjbMHStpnCYp36KpgzF+qkefy87e4FWhR1ffqDWFwHWHyzuDsgYAaz8yVettK62CeCHJ/RQ8nWjWH3BwoD33jkUOn6+DTL2/2Ba+ZgBNqgBCgLLn7IkE6of/IvtIhZ+KVJtTQ3U1NZBXV0t4HVtXR3U4nV1rXqurf/H7qNtba3iM2LENbZlYDWFAZ+5vCWcuGYg9H1D/Z05o8NrwHajiS8/7MXEztHD+8KARergNeBlqZ2Uaky8qD7kcFThwTqdKXjhbXuU9HiATGRibVNQcFwCZm9vTqdV7OFTUFBAp06dqvDftm0b5Obm2sYpI59D5Y9L/b8Mo47vNeRZ2zqIjE5ZG0XB33dIgLYn1Z9R33GX+hq6eOJ2eGbMaTh/4Sgc3rvFsJLtul9BTx/Zp93jYYlANrNHwD2v/HVkm+g+oXZ+vaUceg4eotjiNR6NBVoLEQwsawECdhrD9MCsIFvZHlwzjnbu1kcIppHRd0cPgN4f03qPXR1zNROYF7n0h5Wuur8/JJObtAqdu+0pZdi2XvI04a/5BiK0adOmSYMpKytTwkrJy0Npt27yq3hHjx4B5o/XeIx8cFPM4WK5CuA9v7gHMle8BnhmR8/u6yIAH62o1O53S09RYHsFWLqXdI6NBZZVQwOMCQjZLEQw1R7qngm9jqjTIB6wW/WyclHFPXr0gJSUFEhOTlbO7KisrISqqirAc5cuXRpFkU47nuw5/D1l6uVVzCuYvruBkluHKQ3a+shiOuj5yco1n64HPHfuXKUuZiHD7D4CzszMjICrh5yR0TT+g04YYL53ylpMUx5yCFGJJSaA2T0zwGaQGWD9fQQ8cODAMOXqVYMKTuV+idypqmJprz3k+PiLFdADtqoUwo8m4Jwc9ctELcs0+HpwO5/GuB8Wg/kKsBDBKRhDgmZCbh2mfTYCbNQYVK3dLAMVfEkAzrysrRZnFVi3XK2cUDjaV6C/p/5cuwhgBtcOcvMDbDNumIIRMIOrQRYErIdqBbn5xWCBwKRArldwmPl7G7WHXzSnac1qFiHAVzGJgMzBZXm4hcze5I4dO0abzTxYBDAfJjR7LjzwechCZnBF6tOUbITehkRCRFNqdCzragvYUL2shiYqjmUD4r0sH7DHPWQJWFMvNw/WzyLYZ/Yq7XF9m1z2toARnF0M5hd9mhwBjytsGyK0KZpexX78FeoaZ4ANsvRDgzVnYcBGIP3QYC9iDTD/I3Z2bka/JGjn4/J+w59a7DPS/u7lpE322Tq3QE7qipnJzy+aZenU3nnVwjycwGWO98S4joZNVOogWxFZPwnYMoBRNHc3wkgLa54rwBKgZF18wLLkBP18wIKgZM18wLLkBP18wIKgZM18wLLkBP18wIKgZM18wLLkBP18wIKgZM18wLLkBP18wIKgZM18wLLkBP18wIKgZM18wLLkBP18wIKgZM18wLLkBP18wIKgZM18wLLkBP18wIKgZM18wLLkBP18wIKgZM18wLLkBP18wIKgZM18wLLkBP18wIKgZM18wLLkBP18wIKgZM18wLLkBP18wIKgZM18wLLkBP1kADeP7auCgBybGWw7dQLZ34BtRzyGe4/tquL6ftz+FwK2/b+xN1G7Jfx/MPXO1936U24AAAAASUVORK5CYII=" + }, + { + "name": "pasted", + "offset": [ + 7, + 28 + ], + "scale": [ + 1, + 1 + ], + "opacity": 100, + "visible": true, + "blend_mode": "default", + "width": 6, + "height": 2, + "data_url": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAACCAYAAAB7Xa1eAAAAAXNSR0IArs4c6QAAAChJREFUGFdjFK2Y/J8BCoT8jBhuWlkzqh87+p9RZuqK/0+yI+A0TBEAckQOtC0NwY8AAAAASUVORK5CYII=" + } + ], + "relative_path": "../../textures/ex_skill_2.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFgAAACiCAYAAADFnApLAAAAAXNSR0IArs4c6QAAEStJREFUeF7tnQlwFUUax79+HElIuEHO5VISKBYWshzKneCKrICLLouKuy7l4lEKq6uuilXrWrWArOcClsiuxVqCiKCygIJH8hIUCCaLLIfchxYgyiFHkIQkr7e+mfSk37yZ6Z6eNy8vMFNFzbye7+vj1//+pqfTvEcg9qAWaU5JxKX9FWVuhoNw+TQzbHaPTw8AO0hGCIeWzHer6KjiSP8HhWVczpIWNj4A7K37A8De+Am9A8BCRN4M4gO4xx3Wtdj9FgQxWNBBUjE4AGxLMVCwtwgg9PYOuHE6QIebrQs6+h8gWVOEZQhrCQDaSCqvAEhpAHgmQx6OS74yZXuxIeaKswYYZ8y9ulGWZ1Y613ihvQIouuElyudbV2K7K8BVqY2hXtl5YGetwQkATPcu0l92zl3Q1FuXVKwDxmGOx8kzAK2a6dfnqxsDoAPNugWq9rxnD9gpDz5PzJuzdRrq/OhCxVqONny3T+K3RSkFM8DIpvTAMshITYXSsjLIqKjyVcEG0FbNjFhO9yyiGNfxrIkg6QFvW0Dh0mmAhi0g5szwdfuNdZw/+E5Nul0efHr9DN2+stQoj/SfYfuwYoDtVM6mkEmu4FkUsOHYaP4calgDTwZw5FJsHuY88TMeXDmk73R7wNj5KSm2MxFNxeXlQPrcl7QzCkK3zqWAMBEQf2Z4U1Icp2HYQOMw58F/ZrCxDFQ1Qg41dISjAcQQYDPVE923HnaJTSW0ZFbNciQbwky9CBfnoE1vBAiFgDTSZw30xwqASATI2XV6bRlkBMpCAN8ODD9Wx6XT4BQimAuLu3wWVmmJRSdXmjG0nugzIGrd99ltxdo9t+lyxV45VgFgn/uaMIXO3rxeLyo1FYbfPw2GbNysfWTpwx9+DNa/Og+e/NlAI52lQVkZkLQ0o7OKly3TRsOASZMsHz6i+z63OaHZxwAe9+Lf4GDJERh/4KsowFbpLG3nWwuiALMWMJDmFtmBT2jLE1SYAXjmlk1akdOWz4Zdhcdg0MYS7bNTOrP9dP48qFe/ftJOlRLE0rIYA0pVZaU2rBftf0oz/EOPOdo9p3RmO+WamQFgm14MVOezvAPAfgPOGT3J9b6HpxYCzLwntmbhj5bFdNgqmmeb/3gyyrKD19B8OpbkknazXqHfznhAs6H42swf+DbIDvYiY3pxuXix3LLstLSUhAmLIOCev/8mhtauf3fS0hhMO6i8Iw8YIQFQGGsDEf3W0DxKgcA4kms0WPfTD4TMrg3ADCz/dsil8esSZsBnz57TsmvbtnXiATOgWAEEjp939Btq8GsxPhv2DB5CsjZuoHh2Glkf0jz6y2qwH9B8SrQNWRQQpi5Hqm3QMmwiefSmUI2amYL5MoxXek6t2gqgSdX8qzcDzMA2bdpEs64VBVsB3jd+Ahx54DbS8ZW3KZ5lwtVamk/HkFyyLpJHKSGA13Z+62g+otZs8PrGalsGWIPKllFNmTCQUWspvE3DFlDWfYpl0UkD2CqmiiB/HMmnN4RyyUeRfDo6ZA+X5fMxzac3kFzyEc2no82A+bVqM+DqJcqY2MzZlR7ubFvdxuPHSAlG1F7RfccY7BbwpzSfXk9yyaeRfHq9BFxWOeb3Cc2nvyC5pICG6UiSo6/0eVAwAv7H9q0xDP7Yuy8kFLBdL7gFnE/DNJfkkDwapqNIjrRC8mg+HUVyNb96XGUQsvGQM8OuBu+03Hl+1Vpa64C3HL+bZrd9XRqG05AIR8I0J5RDwjRMc1wAZvbMnyk45iHHq7muABbFEDf3CyNhOiKUYwxxWd9CGqYjSA5x8o8JF5KA7eqQsBAhC0HGbj0N0+Ekh3wWKaDDQiOlR8VnNEyHoR8toMPIyJoYzB5yrHBzPDb9odYcLjBETAjfDu/nLAXzuU4C3kDDdAjJIRsiYTokJB+DN9ACOoSMJJ/TMB1KckhJpID2D40k5hkCvkRYvtHZqBkBX1YK3hgJ08GhHLIpUkCvc6HgTZEwvS6UQzbSAtqQQ/LzHbt1Pvzbm+lNzs1flM8+/Wdb4E2f+bvliKOH91DSJUt6NJo7VNnRThlFtIBeS0aSzbSADiLiMLE5UkAHhUYSdsZ8mYJlwpKMDQNrBxHzsLJBuCx/VchxB/xFpJAODI0gxbSQ4ivxAAcloy2+Mg8kI8gXkQI6sNo2noARHAMro2DeHuEmnYLNCiyhBbgIwR3Yp/paRP9qhZdECmn/0Aijs+MFmMFyq2AeclICRppbqtWZTWrAmYezZgMA2RxcmSEva8MDdgoPLD8r+6QFzCq9tRqiFZS+PoFlMRWhmoe8qHPcdooov5gYvHrNpqgB/ehjj0flsWfXese4PXbCdLr8recsy514x2Oi+sCa9+cK82eZrH7zr0Z+JKNFlJ8qKFU/u4b5Cri0VN/sl5Gh76pMJsCU4moqiWl/nQGMcFtV70U5eZFqkJMFMMI1pl8myAHgCdMNOF5CRMIUbI65wiBpMnjt9aUxLhiDUa2LFj6t3ZtyzzPA0qzyt7rnZC9TxyV9UiEpHnJ+Au7+W31n/L433wkAy6jCysZOwTPWFmtg8UDQs8YMsI3BfigYZyNu46lbexlmxC8FY+EIGQ+EK5pF8JC9hgcsywwY02TXItzOnZ1A+waYh4vXTgpmFWTzZ5nZhkg9bD7tdS1CVI7oftwBM0gMKlOyrIrNSj95MnZTjKhReL/os5XGHNftWoRM/rI2xG57kWwGZrWpArYLEfEAzNois5om225Zu7gDXrH0OW3jjt1hNfydHnLxBCwLJZ52ngFfulQRz/rE5DV67J1K+fMhQimDODmRMeOmRumtXZvG8OifHtSyf+Tx2cJi3l78ktDGi0EK/x/OXWSUmpq4HZSOswgzYDR+Yc6Tms/zL86Hb78779isevXTou7braQxI7czBP512AVfMK+uufGNpy3J6jnc9f5gvgLde/QNADv0iPBvcmaFr139T6FPPBVQ1/MSwvICmE0BE7ldNNk6RAhYtcIIl4Hlr1Xzq6t+QsCqCg4A65IQAvainCBE+Az45RMRbYbyUOuQrx3pRQR++/rWcITLwPLXfjco2fL3DTBr6JUM19cYHC8F4z4LFVWK9leo5Kni45uCA8A+zyICwD4DVhlOVj5BiIgXSZt8LkvAp06d0R4sLVs28y1G+9wvSZO9JcAAcPz6R/uLBi5BWi2888XY2QTLl86dIQwBbhd74rG/mFXZaXNf/DTmb04BYH/5xn81LVBwdI8FCk52BfuxeVCmzcmy1iCqq1DBogwCwB5nEQFgEYEAsDdCHr3rfIhI9rWKWgc8c84cJY2wzX3xALxpXj/LRf0Vn5yCF1Z944mRJ2ck43V/cc4Nk2oVMMK9dkQWQM8mALvO1ZyzGkPRwhLwCjkAzABnNQbYcx4gMwNgbylA9wwo+td/A8BeQ4Sh4O4ZAPtKAa5OBzhwAaBbOhQt2uIPYDfLlV73F7+/fL5SiIjX/l8DcNdGAId+BOiaDnDoAkCXRlD0xpfJBxhpudlf/OFStYdcvPb/aoB/1xfg64sAndIAvuHOP0mFosX/8wTZ83rwwf17lBTInHYXr1TyjxdgLNxQccdUgCNlAO1TAI6VA7RvCEVLt3sDvOS7O+ldy3pFNbISF9lO6F9FUL91OmifAeCNW7ZB/QYhw/bXV000rld8vzwqD3aPpfO2aIjpVmksE7P/5DaLax7Ic5+NmVZlf7UDOr66F47cnynssC0LuLx4wO1SAL4tB2jbEOD4JYA2DaHoHY+A68+dHVPZrEWfa5WsOHUUGrTsIKxwog12ThkGSybtgMnLfmoUnf72uzBqA4G8IRSy+mTBlgWLAb+1wPyVENn33Yn3omZPhoKvagDwfQVA6wYAJ/BcH4pW7PSmYARcOV3/PxmaYufOBgR89ZYTrrnt7lz9W0acpx8dhIDNBw8Y75Vu+CIGLqanDx4AFzbqPyPEDg3wrb0ATlYCtKwHcKoKoEU9gNNVAM3rQdHKr5QhEzvAqF6Vgwfq1wiwAgwvzYLxB3vAqm67Ib1dFkK0rL4VYDQ0VNwsBHAmAtCUAJylAE0IFK3eHX/AyRwiUgY1N+CxuMsP+/TBA6gS4HE9AM5RgMYE4DyFokL9Ae7lbU5TsLmrVUOEneIPZLdWGQy2PofTvjfusbjLD3s7wBiTM4YMjAkRhoLH9ogBi/e8rEdYvir36neTBt2vIe6VtggwdG1C4ZD+iwPsMB54XZsAHDpn2W626IOK9QqWlWu7FsEgu4ExY13N0HWawmGe5imaNhSrp3r8vezshUYVdn75gV5fBFh9sLjbq9kwYOVPvnaVc7VtAD8yvpOWrxfFmguWBrzvrkHQ+vPt0OzAj7aVTxhgixqgILD8KUsz4dJDfxEuYuGXIlVWVEBFZRVUVVUCXldWVUElXl+q1M+V1f/YfbStrNR8hg0bKiwDqykN+MzVjeDE0N7Q/Q39d+asDr8Bi0YTX37Ui4nI0cf70oBl6uA34OVpV2nVmHhRf8jhqMKDdTpT8KLb92rpyQCZqMTauqDgpATM3t7cTqvYw2fu3Ll06tSpGv/t27fDwIEDhXHKyudwyRNK/y/DquO79H9WWAeZ0alqoyn4h1b1oPlJ/WfUd96tv4YumbgD/jb6NJy/cAyO7NtqWckWHa6hp4/uN+7xsGQg29kj4M79bottE90v1c6vt5ZA5779NVu8xqO2QBshgoFlLUDAbmOYGZgTZCfbQ2vH0jbtu0nBtDL67thBMPtjWtcxaxKuZgLzY5f+sNLlD/SEFHKzUaFztz+tDdsmS58h/DXfQIQ2bdo0ZTDFxcVaWCl8eRBt3159Fe/YsaPA/PEajxEPbU44XCxXA7z3V/dC5srXAM/s6NxhfQzgY6Vlxv32GakabL8AK/eSybG2wLJqGIAxASHbhQim2sMdMqHLUX0axAP2ql5WLqq4U6dOkJqaCikpKdqZHWVlZVBeXg54btu2ba0o0m3Hk71HfqBMvbyKeQXTdzdScutgrUHbHl1C+zw/Wbvm082A582bp9XFLmTY3UfAmZmZMXDNkJs1qxv/QScKMN87xQ2maQ85hKjFEhvA7J4dYDvIDLD5PgLu3bt3lHLNqkEFp3G/RO5WVYm0Nx5yfPzFCpgBO1UK4ccT8IAB+peJOpZp8fXgIp/auB8Vg/kKsBDBKRhDgmFCbh1sfLYCbNUYVK1oloEKviIAZ3ZsbsRZDdYt12knFI7xFejv6T/XLgOYwRVBvvwAC8YNUzACZnANyJKAzVCdIF9+MVgiMGmQqxUcZf7eJuPhF89p2mU1i5Dgq5nEQObgsjy8QmZvcsePH6eXzTxYBjAfJgx7LjzweahCZnBl6lOXbKTehmRCRF1qdCLrKgRsqV5WQxsVJ7IByV5WANjnHnIEbKiXmwebZxHsM3uV9rm+dS57IWAEJ4rB/KJPnSPgc4WFIcKYoplVHMRfqa5xB9giyyA0OHOWBmwFMggNYhEbgPkfsRO5Wf2SoMjH4/2aP7WIMzL+7uWmTeJs3VsgJ33FzObnF+2ydGvvvmpRHm7gMsd7E1xHyyZqdVCtiKqfAmwVwCiae2phpEU1zxNgBVCqLgFgVXKSfgFgSVCqZgFgVXKSfgFgSVCqZgFgVXKSfgFgSVCqZgFgVXKSfgFgSVCqZgFgVXKSfgFgSVCqZgFgVXKSfgFgSVCqZgFgVXKSfgFgSVCqZgFgVXKSfgFgSVCqZgFgVXKSfgFgSVCqZgFgVXKSfgFgSVCqZgFgVXKSfgFgSVCqZgFgVXKSfgFgSVCqZgFgVXKSfgFgSVCqZgFgVXKSfgFgSVCqZgFgVXKSfiqAL4/tq5KAXJtZbDt1AznYgC0insC9x6KqeL6ftP+FgG3/r+1N1F4J/x/1idTX9wg6zgAAAABJRU5ErkJggg==" + }, + { + "path": "", + "name": "costume_maid.png", + "folder": "", + "namespace": "", + "id": "10", + "width": 48, + "height": 93, + "uv_width": 48, + "uv_height": 93, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "75796e5b-1ade-d5a8-e87c-031b4def9d81", + "relative_path": "../../textures/costume_maid.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAABdCAYAAADjaOUDAAAAAXNSR0IArs4c6QAAA9pJREFUeF7tWz1oFEEUfotBcxx4ckEIaKmtlZVlSCFiI9hYBSGCVaxsxCKF2FgZLARtUtmINkEsQuysUllbmjKHJxx3OSIrb7lZ5mbn583f3q6Za1Zm3nv7vu97783kODMAgOPjQd7r9WA4HILsubR0Lvu6tp7fPtjP0D4/fJnjc+5zvl9Zym48LuzxMx6fVH0AoNO5UNpUAhAWstPTvzkmqLNFgCsr/dIm//G2msx0UAGkAzAc/insV1cvLwCAhwIs8V7vYgHAWwFGG1NC9SzKBssEmZaUS7mu2J9cfygV2RsApYTKuhcBCGWT3XyWVfpjBvZbf6qs0rWrW85lROqBAoCs7sWUVOoAAAL4vjuqgLi10QUvAIRGl5rMMT1TBhVQxTv4tZM3CwCvyIx5fuqIQJoHgJ9ERAVU6tRSQqopJLLOekVcRwXGr4+g8+QKiM/6ASCV/CgVm3c6ALEfEMBiFZDUfJGQbPJIALgOC5OfcmrcvbeVf/zwSul//8FT2Pu84zy/TYlR9/9vADqGUaHGK9B6AKY6bLwCrQCAtaxK1DSFTAB1+6HUM45B0zjFJBc5UhOAVihgqtdFngmkEmo9AMq0MYGkxHCxISlACZwAUFiS2GS6g4zZ6w40NoUc319xs1Wy/QCozFFO5EWcCcYmZgATAKrUlnZWClAarO5TOQEQFU8KxOwBamxKr1BjmeysesAUjO0nAFSmAIB0laDeiULfi3gcKlUTAFFt/IYixkepwIufv/Pn1y5ZNbPpes0A1PF1Czlx20tdXTfTswmAOufruFY4KZAABBxTSQEdmY3tAZsKoPaLTUze1qmEbF6WABjYar8ClK8WRRIod6HRaAQbm9s21eZka3Wd5t+w+34but0uYKKyZ6xbqYjSGYATXRGcit/MqX7w2oZ16yaOQKJXyATAi74AzkmBACR6hUgKeNEXwDkpEIBErxBJAS/6AjifTQUmk5N8ednvfx8FIL8I4aUAA6J6hkpSF8cLQB0Jmt6RmVhs+n62fueR8nejOvT7X94V6tn47316U4bEHkJy2ALrKXFNZsPnZZ0Ec24UAFsmWfK2fkwBfoIxhkUFdDYVBdgCtRxc2Md3RAcgq3kRlI59HTDcE9nG9wVVQAQgU8SUpKqsGgGAwr4MAPOrVYHQ7MvKJWoJudS+jn0+Wfx30HMgdu2z+JRDimKjHKOqcepb+6b7jM9+5TIXo/Z9EjT5GgGEZJ8vD1Nisn3Z3yBzAGKzXzuAkOy7ME7xKRWIzT4lGRcbJYA2sI+AlT3AAxAPKJs9F1ZtfKRTSEyQPx9c9mwSsrX9BxoKJ3/5/KY1AAAAAElFTkSuQmCC" + }, + { + "path": "", + "name": "pointer.png", + "folder": "", + "namespace": "", + "id": "15", + "width": 64, + "height": 64, + "uv_width": 64, + "uv_height": 64, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "d8bebb4b-65b3-f063-fa10-da4dc823a826", + "relative_path": "../../textures/for_modeling/pointer.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAIABJREFUeF7lm/mXXVd15z93vm+quSSVZMu2LMuDjO1gMCYOhCkEsDE0Q5xAMzvpdIespDuw6HRnEWhISIAQaIYwJnS608wGgm1sgm3wjCdkW5ZlzVINqrne/O58e+19XokkP+Qf6FqrVg3v3vfO2Wfv7/7u797Xuv7y0RKgtZLLD0r9CxoV3/xdDP9hW/q3ZX784mv4txVk/+qFf/lnWXf/zdcthu/fS//N6/71i2XkmX85w/uH69y8rj+I/8Ut1e2B2UfffI4lBth10XX4NR/fDSh8h7S0sG3wKLBsl9xyKMqSumOTFQUJFlXbIi9LrDLl+Kklto7XqFarDOKIIitZbScM4gwnjwmDKo5tMzoRUKtViDsDVlfW2bJjhtz28VzIyxw7yXHckixLePT+W5g871JmxqbxbYustCldG7sosLCxKKHIsMg4dPwQP5+bpx+D7UC3E+l7TE+N6Xqes3WcXz3vfNIMvnj33bzjBS8gK2Df3M+NAbac9as0xhs4rkvuuIyMj1JiYeU5lufR6XTwPA/LsvA9lyQrqYUBg14Px3eZPb7Azm1jOI7FRrtDXjboRhF5lmHbtt4XpzGh63D21hppmrMwv8LuPbsY2CFuHpEUBWUW42FjlwmdQZ8nn36APef9EmdNjNPNZb8pgQNFmlBQYjuevn/W73PLz+7iZDMiFSM6nq4ldD2et3sne3ecQ5YMuOOJfVy96xJGaiEjoc89T99tDLDzgpdSq1TJ9dh98rygHvoM8hTfdihkcZaLWw0JA5/+YIArBvICrLjPsZOLnL1tAitqMdcEXAfb8cmiWEPGq1QIKlWiXgeXHJeYaJCydcc2rEoVL8/IXRsv6uNbOXGaYNkFh44dZaQxzY7xEQrHIs4LysKiJr9nCXaW4gUVkiymHXX59j0PExUwiBOqgU3Dcxmv+7zmiqtYWDiEN30WP73vQV7zghdT9Ps8MfcY1gtn6uXzXnodKZ66XxzlpGSEnq/WFWt6QaCuVWKT5Bm+5WCVOaUlx5Fx8sQCdpnjV2okAgW2hePJPS5lWVLIBssCryzxfZciS0jjhB07t0JYw81i4k6LIAjUtYsi46En7mNtELNz2wznjE4wWh2lzDJwbNKyJO+1yQcDTvTaup6HTs1hhRaryz26vYQwhMmRkJdddCENx2Hghhw8so9rzr0KZ6SKZxXc9eBPjQGuesEraKYxFo7Gql1CFEX4lZBKtUqWxuSOA3mB4zjYONhyyjZUwxrHjh0HJ6DdbHLurl1sNLtYrovjGPcvUgHYEuTEFAttKHKmxqt41Sp5nqoRXMdS183ihI1eh4dnj7JjYpq9k5N4Tkhc5qRFSifJ2Ti5n0EQ6IHdd+AoQVgjrHg0u33SOKNaDXFtaPgWrusyUg2ZyjKyao1rLvgliizi7sfuNwa49MoXkiQZiS4UBRs5wSzLKGwIXZ/Ac/Q0SwG/AvUOKLBdj5XldfLSUpywbRfH9dVQjg1REhM6AXkR6zU2GYEXksYRZ22pYntVsArIEoo8wspLgjDk2PGjLOURU57Nni3bDFg6Lg4ZceHwyNEnuWD7udz780dZjkos32V1o0OjEpJTkqYp46MN2q0uhQVhGJKnMW5pcePzriJNYx58Zr8xwJ7Lnw+ZLDYlCDy6caYAIsAk8W97DhYualIrx7YcPNclTRN832et2VO3t0rbXOKZFCpGKnI5+1w9ocwLPAuNWd/1aJR9atPT2MPU5cQRmYBmCY8+9RBOfZQ9k1s5un6aq3dfRD8rqPhy6hHPHNrH6ahganyU5W6XVmtAO4qw/QpRFNNqdahWPcLAIUttkixlfKzOv7vwPBqOT1rCz48cwLruwqlyauo8Cq9BZxBpykmKkjLLcf2AvERj3fFkwzmupCxB38Lk0dBzyBwfspwky3SDAniD1GSAPBcL2Fi2iW3fKkjzFFKLyZqt7q6e47lUrFxPzilzTqzP062N0l1cZO/kNEF9lLBex5O1lTnd1gpLrTXuX+iwa7rO4dWuGrnTboMlXlhQrwpA5qRRget7NBo1XrpnhtqgwA8D9h16xhhgfPJcstwlSkssyfXIwlMFwML2KNM+gV+jKBOq1brig+V49JOIim/TT0uqoZy6Tei6JKDhk+liSw0HhFBlsYaFZIYsyzX3h5LQ5BpLnMjCtSy6RZd6WOHnp45RrY2yo+Ix6taoBFWKPFHsEcPdu3iSjXZMXFhK4F52zZU88tijXHrOTu4/NKshM9HwWVjr6GHYVkkYDXj9c3+JdtZidnbFGKA6dh556ZEkCWma4QaeurmcvuuKG5ubM3HBWoidl6RZTFCpqFekkjHITIZwfEoBPonDOKFMBrhBdUiaJI9Y6o4Chlle4lDi2pL6Ss0UjuOSUXBk+Sjnbz2Pbm8DL+8RVBvsrEyQWhaBZZElKYVl86Mj++nnpRqHMtfTl7gPQg/LtvWwJsYaujeKmLdc8Swyy+OOw08zY1nGAHblLDwvEJxGol1c1bV8Eglgq8Cx5XTlVYOoWZbi+j5ZWihgdvKCShCajVmFxnAvTfXUXc9Wb9AwkDwupiozPPGwIcNzhBtYcolFD5u0yImzHkcXZjl3ZiuTtRFqjq1Z4Flnnc3S7DKenVOxbfZ3N3jo6EmyrMS2XF1vrWo2LJ+WF4l6QqNeZceIz/PHRxVQf3D8FLvdEuu6PVPlwJvGdyt6shLrWVloPEk6tG0Hy3GIBwOluoW4dpbheB5pnuMFIe0s17gU45QS+56t4Cm+Lhgg1FiyhRi2EGwRd1SuKbRWfCDH22SMRU5fskWZ8PiJw1hizcJi6/gYjSAgibtcuWWHekJheSy2T+OGVR4+NseWrVMsLCwgh+14tq7HDxxNi0KZ//D5lyFHedvcEkfXuzxn1DcG6JUjuL6kIwff83AtW+MyjmOzKdsijWICz6dRr7O+sky1UccNfOI4JS5NIZKViXpOVqb6XrJ4CS3XSkmTEjuwNIyErvqui23laiglQGrEkixwWWytsNFqM0gjKpWa4sYVMzM8ujDLuBfwvIlJHjx+iN3n7GFx0KYTD4hyh18Zr3DX0iprrVS9ccdZW+j3Ysq4x86pMV5z6bNZ7C5xuBvxazsa3HfguDGA409ROAFqpyxTJBZklkOU/BlFfQI3UKSWr1SQNYmpNxpaw633IsUKOSkBs00DSNpDmF+eqycY7qB8SoFM/mdA0ZAquyjpyyrSnLnOOlEyoBK6SqwEfOOoy5Xn7GSt2WK5n3DN+TuIBx1+vrhOIeA7SOjFhsuMNMbodFvIJl592W4uecHL6Bw8yB/86jT+aAWv4fG2D95kDNBnlETjXMphkwlSydkSAq5UgjAoCkbEQ3yPwrJIEikzxQ2hFIIiqREpeiJF/VI4hNJgKU7kIleziGWLhxS6eYn7RCi0bdHutZiojbLW69DK+vr6i1/8Um750a1KdaN+zAW7djLj2eRJysNLS2rJSuDR6qfUQo+sNyC1XMQh80KKJclOFh9/4yt5/RVj5CNj6pl9oc8Vh7d/4Casay+dKPN8mlZSaEzZrqslpCtFUJkRuJ7G9+lowI5Gg6wwNYBQYycvFWklxmUTvpSrtsClFC3iEDZWYWJdIFSyhJy2/C5A6AiaF4WGQ6+/Tq06Sj9OOLa8oGSmWq3QbPWohDaVMFSADeyC55x9Dg+trrO+uqagGmUFvuNStQpi2+PC3RewcPo4oWfz8Ptfp/lf0nmaJ0SWiyeZpxzwlr/8tjHASm8E2w5VD5D8L7V3ZgntFRSVWr2gmzSZrE3hCyuUhWcFntBjgbOhilLxfIo8xXYtIkHhopDqQk9T7nHEKo4BSAHYUgFWOEGKX61w5NRhdm7fxtz6OutrbaamplheXVGMkLRXb/hcMDnOqaWW0nAv9NjoxbT6kb5fJRBoFaYWcfKv3kJjYoTMq5j0nsXkSUxQHafXWiRfOc67v/m0MQDRJB2nqhXgaq9L6XhkuTBq4foWZRHRy/pKdafro1iS60uLar1CEsXqFeIxwh4d39QDdtLTcjgWBijXhhUsqSWE9pcFpeNrVhDMkVohrAY8fuJJRqoVusmATjuh3ghptfvkWcHWrePkUZed27bhpAlzKxtkfkiWRPTykizKhb7xvt+4hj96zfNx075yDyyfUlir5ROdPkwYBLRPnSLudPjP9y0aA7T643Tw1WX11KzU5PtCUlhKK17XOPfsgO2jkzhibS+A0KcfZUqPo35nWDf4WPHAbMz3lBgJJ7BdXz1JgHGkWqM+Pq2h5Hoh1VpFydLaykkefuohzfFXnFXn67//WspKjYJAc7lQdMGmZNCkSG0yUaASi/pkjYksoR8PIInw/Bp23MeyeiT9PvHcYXpxSsUOWDy1QOn6dJsL/NWJAOu6ixvlaryVQQau75DliVJVAbfAdTTdDeIup1ZWsYocz7Wp1rdz3sxWSpHQLKG/Io3luLksMjepNM9JpZJ0AoqwSuEFQz1AdAaXwHMJKz52luOHKYsnTnBW1SNpH+MDN+wFr0FrdY6q5VOpTRB7DXLLxnMDJVdx3KMfd5UBKoGr1MnThCiDoMywBz3mnr4FN7JpnmoySAqVyZxaQ8G7xOcTT0XGAMHIhSSWo0bILGFcNo5lUwlcirjFwvIsK/1EwbAeBly451IqtUks21PcMKmtUNFEiI24sWQC8aaqLyBaElRquIFkB9H3CkX2n9xzCy950auYrLu8acccRXee+sx59GdP09h2HrYT6rWEnqZZTdNlRsWyyfKCIiko7VRDQwptu+iSLMypZtBd7LJyYj9uWWF9o0tQCSlHKrQ2mjjBFIP+Ov+wUDEG8HZfT15YmkNdETrKiPGKx6OP/5grn/Ny7v7ZbYrGshFxxfGxKlc/58WSI6lWGviuECiHOHdVUPFsSzFB2J8jtDcMDO93HK0dRBcQNlizU5aXj/CR120n6boM1k7oxku/Qp5F2J0Nw06rNaMZa0WZkstJFglFpUbW60FnkX5rQKe/RiqcJAvUxbvLPWLRCL1JelYHO6iRxTZOtk6jEvDJI54xAOffQEGO7fmq4FYrFqvHHmD/4adU3IwzqfUL8rSgMRJw6fQov/uu/8JHv/LXzC2sMRGGvPK1vy0yMo5XJfDQhQvTE7CTyk+ryrJkJHDppoUJr6DP72w/Sa+ZYlWnsEiZGPEoKyFp4cHyLG4lIElT3NYc2cgMLgXduEPo1cmjJv2khd1L6W+skVkuGxsD7EJy7hxOUiUpPTbimIpdIY46VP2A2pSEQZ0P/GwF69qrJsqxPW8jzQqyXOiuixMvcnzhAAePnMCxS6JIhBEhVQV7t4WcPznC4ZPrrGcWuZviZILyHi9/7Y34tk+3vcqWLdtwwrrGrdwnfCDwXSOMlCWh77DTnuVFtdNkaZWg3ycfGcctW5o6426XwqsQpsfBGyOJuvj1EfqZjd1bppcW+HmXzB0jaS+SdHOa3WWyIiAfxExNbSEvIpJOpOW6YFIYjuBXJuixipPYfPiJxBhg+qIbyKwAydqe53L0qTvodJY4dXqJLVt3MD+7oDF49SWXsHL6ML1+Qt1CveL1L7qGr991N9v9nMMdeM1b3sNg6Tg7dl2AF9ZJS4dqpS5atuECqvhY4CS8fXw/g42IQ//0dS56w+8RLR3Fa6/R7jfx0hi7NoU1NcP2cJJeukyveYLC8onxSaMWg+YJHKuhfYA8L+l1BloI+SJ7B1UCax0nc+gMCkpvhH63RzOG/pCPfGelZgwwc/EbyPGp16vU6hXuf/B7TM+cz30P3kNntWW0wLLkVy6cYmG5S7s/4Neveg6dlWOsdGMWewnVMuJVL3ktF+69nG/+4Kuct+vZ7DznUvxwhEJ0RFytEmu1GoMo4R1b9tOcPUpycp75hYNcccPv0D95hOWFWax2C7e5gbd1kuroDjLRGpLTFHaNtHmadgohHt3mBq43TbO/Stov8AKXKMuwPJeaO0LeX1eBRrBno58piMduXfEl8V2+PR8YA/z+ez7LxtIKcZHR6/X4xq3fZO70gnLutXaEV1qM1FwunK6w2spoJgnPnampBif4UHFKmlYFL4vZuWWK/tocL3zDf8cRjUBSlOcq+ldDVzXHN/j7iLIe8XyT5twBtr/o1WTdBdoLy8w/9QDdtYRtO3ezMn+cyW1bKJNFQnecdrdnCqZcyJVHN0pVp2y2ImqhgHBBEFYhHSgou6n0N0ShsmjbDp7gibhIEFBkHv/78MAY4NNf+ScVNX1B2zJn0OuqHhj3uxS9Fr/11teRJy5lv8eV52xh665zObL/MRidYXZplSsvu4J4bZYj632qFZ/lpQ0VH679rfdi+VVVZzQzODAdPcNVkx3KbsHa448w9ZobyTfm6Zw6wqGHb2V9JVN5fHTbDgbL84xXQ9a6Azb64IrGAgSOrYYNbaHoMLANHa96FvXAZjSwsKseddthY71DYrn0yoIkLklx6Uxvx5ncyW2Hnxoa4Es/5Mj8Ku3FY1x29dWEjhQOBaEfaCUnVhM+Lq2u3ulZbv/2lznw9BM0eynLHYsXX38DI65Hf/EZvn/HLYyIXtjvs63hcsN//DC+xGPo017b4CVTz2DPrdM5+jQnl0+x5/p3Ec8eYP70UeYPnkDY01w742+PuThpxsd+vcr0eINkUDDIXNY7G1jBKGl7hdHQN6AqoknFxs4KrOooq4sr2KmF7VsqwmKFfHHZ5/ZjTVwvwHE9Ov0ur7xiwhjgb752n5Ttyv6Ewka9Pt/65Af5jd97P9VG1dBaz2OQJHi1mpG7i4LW6jqzB4/hR2s0duzUfN/p9KXQBzvlJ3fcxKkHbuaaV/w228/bw2XpPrKlFl7RZ+mpx6idfSFBo8H60hrHn3qMpFvwzRM5JwqPeJCSWBbVKjy7UjLjuVx8rsX5Fz+PcGSEWCqVjS7LpAxaR+mcbuH3pFItqDgBnSAjLDLq51zGW289SpIWpEVCKV1Rq1Rx50V768YAn/v6faZVbJUqhMiG5acIiv0k147OylqTUc+jMT5KGPrMnl5Q65+z4yxla8eePoRX5lQDow3IvVm3xcRZ21k5fYzasZ+yo+5TLK6xfuAxknaHHa+9kf7yQeYfvJvDp2OivOSO0yWzia0ECtvn+p0uXjmgF9uc6+RsO3uG5tIKD66XbKkW1D3Tq3BDm9wRsHVw/JLxqR380U/mWI9E4yx54SU7eeDoPJko2J5FP0l5ybPGsK7bO1J++O9vZXxsDNfzVN+3fdMJVg1Q1Jyi0HJSWmJpljE/N8///Mxn+MEPbyZJS/b97AEmJsbUiL1mWxsX/U6XMo1xoi5BPWTqyC0kSxsUcwu0Tz7NE8eaXPW+P4bZJzl+5w852Sm566mCK8/1sYOUZk80AJ+djZix3GJ+kHP1pbt58tARLNvhvnk4d3vOhMhySUbQkGwzIKyMsn/g8Nf3rqiYI+qWdpDzgppvi+pLUZr23q9cJFR470j5lR89onHu+6HW95adq7IrwCjoLTlW+oRSvEtB8dT+fXz4Ax/igYcf4eC73oH91rdQO/dc/SDREbVLlBVE/QHRoE/l+O1UZw/hb3Q59shdrM72ueIP/piVpUXl/wfvvJ1mLJ4jDdaSmu1TtxOV5YPAor1eEroW7dxXIebgesrFjZDVQsQSi9HpGrk9yoHTMZ87JLV/VzXIbWMOzX5JLzeapQDkmO9yqhOzbcRh79k1Y4Av3/6wbjKLI7xK1TQyJCTskizJ1ThhpaZeIZL1wf1P8urXvZGbfvNVvGJmioNzp9nywU+Q+sP7RG8vMa0zUYFv+YhK6K1nnmDxyGHWexmXvfP3WTzwEL3D+2kNeli5zdapgFyUqHaXs7ZuYXTLRZx6Zh9zi31Vgvx6SMuuky6u4dZKuhdcKkob/+feQ6y0UxZii6mapL2C3eMNQi/jmcUOY/UqAzxGnIJ0ENO0HNrdmCt2jxoDfPYf71fXlo27jqNEQjovOKKuiEReqj4gpxsGMjdSsOPTHwJJS7UKT7zqzezcc75RfnAUTB2rVAnduefr5IefIJ49ztriKU41V3j+Vx8nKSxcmTsoSw5+7kbGmvPYoc/YtvNN0zVuk8YFwcRFnLzze0xM+iSly7EDG1hVi+Yvv5GF+vnEvS7dtUWWNzbYu2cPTm6RisTvOrQ6TbbMbMMvYsrC1X5gbPmQZ2SDHvff91Ws6y4ZKf/m1p+pbieVmqg0ctoCYpVKxQgkQ4/QeQGvAkXC5MfeB6XP3Lv/FNfPtUqURC/XS6WnHiTN0m/+Kc0Tx9k4dYSVpWUu+V+PEgY11RFEwdE6Qbpmg5h61uPpj76c3kaLIA2wfRFPbKrV3SRWyGDhCM3WgKZoezd8gsgJaPV66r3SbxADkUYK2rkljVgXW2T10iWN1glHp/SQRF5z4z4//sdPGgN85taHVKEdDFLCalUBT1x2dHQUS+ptyQSOVKOm379r1y6OHj6G99n/Sq+bMv7hL9BpNynzCMdysSoh3iDh6W98mrO9ku6jNzE3v8iVN/4ZxUvfpJRUZwSkArVt5QwHnz5Ku5OQJTHXzH1NexMCYCtP3EfR61IZa+BVx8k3TpEGIxx+2ccoRFZT6c5SaU48rjtISfNMW22ejHoIdxn0abg5nbJOo9EwlLkz4L7v/oUxwOd/+IhxX1dayYXGvLi8Akc1VHo8NjZimqI6JmbzjS9/hnf+p/cRFV1qR5+k9r1vsfHuPyclYvyTf4LTrzK3dY720ilOz55g5sKLmX7PtymlJeaFZ+Z78jhi3/5naG90zcJFhR16j4zCPP/wFyj6a3TKgmo4Tm9kGwcnXk7uS1sVHcLQqRHpSBUynlJoUzaNcq05RAh13JBE6plEuo6ljvZka6e5+9bPGQN88cf7GHR7w0aIj+WaKQ0BQekCa+fGsoi6HRZXVpic2srk2CTdj/8HduQ1iiQFO2P9D/+CoDHKqSPHmM438M65iLWDP2Pq7AuhPk6hYzUygWaTxjH33PvoGdywHJcoMQWLfJa02WVWwM8Lxnsntbu0XD1P8UUOpz8QABKxw1V1WgY8RG8UKm8GusS/SorYpEHpS2qbDovuQKqDglu/+gFjgM/e/IC2xuRmZXl6yIYUieYvizLkKMClZN8T+9h70eUEds6vXXkhdx6aJ2p18Cqh4kUmcaiDVTI1IoJIpqqRDC89+siTtDdaZF5Jnji4ro8fOvQ6fTyh3bHIXKIYoRszBY5D0GsT26EKLKos5bk2RRDcyhNaQtddT8ffdEgjTSllLkn0SXnfNFdgJCu1+2xbBf/wifcYA3zqBw+oJC5jMb7ERxQNW2PGavKB2smRPmFZsjg/RxSnnL9rl4KPIH53eZlwy7TK4kWa6eSINO3zMiOJM+6654EzxhTmJqisTVgplJ2KMZJ0nOVUpaEiJWsqlaT0FkVZMmKKfseZTrQJmElfQTxW8EkOSlio9im1iZvoJEu9UmEwiDTEpQkbpakKOH/7Z+82BvjCbY+eWbg0PAWZNzesEx5iMZn9kRRZlLTbTd781jdz6NAxuoM+rlVy9NAxMwEmWcOVk8y0PXb3XXfriJ30BtSvuwMy0QWrLqFtDCrZI0mkQyxDmqiXifocRzKv5mDlCWG1ohsT77SkwySstDSjL9KSM8NbmUrtol6phCqFknTMZfCiMG0/qWmuvHIvlZEx3vlrlxsD/N2dT2n6E/ff7PJo11LJoCzejMHaoqSIdQszeBBIryCQKkrSo2msyiDF/T+9TwFNxE+5U4w2iEUMlV6ptKtjbXrqAMOgr96HGFdCT6RvaX0XBbHMIchrSaqziyLbhbUq1VqgoCd9giyVER5wRLIrM6q+o3NJsg4JH8cqlAFe8dxn4wSBym3ipUJ03/7SZ2Fd+9yJ8u3v/YxB/VykbdO11w1r1SdrMyFQtXOeffUva/+wHHZ8JW294fqXcNPNd+MFPlG/x/d+9KNhcaVdSnU9HbYsS01v6lWOqMfmfSXmpbVlCjJpuMrIjHSaTdoVYyoHscyhxBKWou1LH3J432a8BzKjaOWM1Otsn94GrgHwzQ70ZpuutGz+9B2vMAZ463s/rb4looUONg3HUCWdCEkxWp4IESXPfd7VBrlLeO7F57P90sv42Ac/ykVXXGJkcwu+9v3vmwHJNNPNb7bGN/FEWmjyGQJa8tNzbPWMiYkJKiLKSuap1HFlgkSmS8Qw0oyVrnS/w/GlxTMDm9VKwPln7cSS1FoYEE8yaelJy93MNuuwxvBQ5f2MhgB/fuO1xgDvfN/ntG0tffDllXkGcaw3z8zM4GofUFqOJVddeYWqRpIOv/Gdm7ShKXM5cm2lzLn+jW/S3zurp7n5nvvPaIka5kMAlQ+/fO/FtNtdZY9yvYRS+c/Y5pkwNE6hpy2GVC8pBY8E5k3+L4feoZ6TycGYQYtCiJYUZcJQBTukcSMGGRpUfv8f7xx6wNve+3kDFJo/ChbmT+mAwdraGmbcAH7z9a8fYkTOgQMHtS5YPD3L7vN2UXjSuBCZOmLvs6/SRe07sF9tLtXkRnNNT1eMsLi0pERlemIcx5ahZlmgGbqUjUo1YVzW1B/iRRoiZ/BJ6lVjUN3YcKZBN4jQcKlYTV0jn6P9+uF7GiMY4BXh5MPvfCXWtZdNlO94/+d1wEp6W/LBmyNlcsPJ2RPamHjbm96kb1yxXG667Vb27n2WdpAlCGWB4taynC31KpM7tvP0gz+FybN0k5uLl1kgs2qjMuupSS0wHKcRfIilenQl5Wk9foYYGWXaHJI0wYcgdQa0FR0KmToTRLR14Fq9bjjuI/cbzzF4JF8f+fdDA7ztTz5/ZnzFfK6UtWJRi153nZljj3HtX36Opx4/wLFT8/qavMkg6rK6uqoWHh8fZ2piEjtLOP/iSwi/9Glh6Dx++dVYE9vNphTkjRuqdwhPGI7OGEOY099c7ObfpiCT/8u3YYqb35vAqdNtpSmulPkNe5Ob4WQNAdS054QdXK7wAAAGeUlEQVQ/2HzkzYIBl02U7/rAF/XNZfMmfoy1yiIjsF1edsc3yCe2cOcvv1qa6DiVQLOAeopM7wrh0KmxhEG/w3hrlqsffpDWTI97x1/O1N7Lz2xUT31472a/QTfseBpGZ+aIhkMVhoMY9N/0mk3PkewgI7cK0v8KQ5YWTrK4uqbeW5TSVXaYmd7C+OSUYYxWyV++5dXGAL/zob87k6bOiCFDpFSPkK9hw9MUQxJarrbTdZRQNlUadNXFDl1c3FVHYjZPTeo/YZQivQ3BSk91E6OHG9FTlBE7Ka2HJymes2kADTuZKBuyVLnGnPTQWEWq+zly6hS9QaThuen26mE611zwo4+/H+vavRPl73707/FtdziuYlxRXdOV5wI2w81W4FBPGbqpsDEBTZMmPXPPEEPM1Ke5X+L5TMzroy6l8nNZlHAHMaLMJbj28PmfTZtrnjcG2gQvcwCGU5i1mAXK526ivXjj4YNP0h4kWiprahfeIil3yD0kIm77xIeMAf7bF76jzEoWnEQDTR0SsxoGMiyRldrRkQ8V6mk8wEyCi9tqS12XJc8RGYFDp8s2yY8+dWLSk8anfLrk7OH1itRDYNINDucON+NXFSY9ZXm0ygxWqvE8ySIG9U2ImLAUgURWk0Q9njjwlLb+FTNkTZJVxFscizs+9efGAJ/41l1mJCaVh5aMteTNjZUN6ZHSWK7JMymRZXLclJmyCRVPh6g+PLwz6KwsUgjRpmcMiyqZF5JBhk1Dbsa4/FT0JtfZxCSRGUQZrykVd3TkTkKpFGP/IqNs3r+JF/L3Jun55s03Ew0Sc8BygEWp43wHv/UVY4BP3XT3GWlKM6tmgU2r/2LiW+oFKVK0whiSi018+OcApUCqqG5SncwJyCSYIrC05gQD1LuGtceQwSmOiFsV5n7blc6UDG2b3G9+FqonComSylEOQDEIs06ZaRJ1WzYq+kC/P+C7t9+myxSxx9D7Qg1w4Btfwrp290T5V9+/E8/1zVSYLdqgDDfIg0/icrLI2NBcHaMT9zPG2fxQx5ZhaDOgaGL1F/lenhTxbJk6LVRckTA5A6Ryzjo5Yqipho48mRMPKN2qOQQxynB22USGfWbYYjOLOKWM0AvtNSWz8B8FvbLgtjvvYK3ZNcPTwxQp3it49vTNXzYG+Ph3b8UPGqZacwptduizecIblHaIYSTIJKXIvI6Mv5Y67a1jkKUpSeVENzdngFJAUcZkDUGR8lW+NpmebE6mUuQ6zfVa4srIrJRzshnjieJ5ZsAyHSKApM2K0SrKRIskgbgkNUWPVI6WgGyWa2EWxwN9tkh5h05wmmnY/d//G2OAT91y5xm2JulH5nk2UVc2KkKFeIOEhyjHsgHBCzGETH9KMaNIL703BECNpqBpyTLeIFKfhokM46hqI6O1ZmMSz1rSqgHNIKbMFNilacwq1og36oBmptWoNwQ/KZjkAahCqhUFWVe7QHJo8n5fu+m7RHmMlckTbwllIYAspXrGM7f+7TAEvneXgp+4olRiypQkFWpmMaWpTnZrrpVTFBwwzw6kWaK/6wfaJsbUNYcTpIZ+moHIQEQL5QVyEjKSJ++emSdDxUek0KEgkqHrYREjWoLvZKJkGe8RYUaGgHLBBMMxNlUgPV3RIKQWsC1+cu89nF5bV0+R2mUzWxSpnIDDwVu+ZB6c/Og/3K0W3ixXJU6Fl4tkpc8MiGFsM/wsM4Dm6TIBE3OCGt8ypqZ0VbBCrjVlsNESUiU0EgYyR1iIgDJkbtpHwBAXaYYKrxARJi9E0xN2mCv6iz6oapDtG25iGeJliNiQ3wuoiiosBrBs/vHHt9NqdXVNcqjyfx2QyI3e+MztXzYG+NR3HtQX5A3F3WU2QN1VhgqkJS4PTg7Jh8nT0jA1QCir2qTPm3lbB60Lwyv0gUvpLw5PcHN+UFxXNiGYYmk/Qfi7S5oPw6FM9ADkMTeR1BCgs+QZJlPnyxsrq5TxGyE5WipvPuBtkWepAmCza8b7mhvt4YNbhj/Img7d9gVjgI/83zv1sTgdhcsKgmqoJyCsSdxL3EfdTp4eU0IioqaoR0JCjCF0ClM2LBsg16FGCalCnhmSDPPPnjc0mp15XdOShJEaWNQfeYZI60BTacpB2LZp2enkuozLyv/EOwTuIy2hhYnK5yqQ6gx/we13/oSV5rp6cT9KSKK+juxqmy8ZcPi2oQdIbP3/+vj8/wNV2gK7Teo/zAAAAABJRU5ErkJggg==" + }, + { + "path": "", + "name": "main.png", + "folder": "", + "namespace": "", + "id": "18", + "width": 64, + "height": 187, + "uv_width": 64, + "uv_height": 187, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "682c2d61-a32f-b0a9-723d-3ed86c61847d", + "relative_path": "../../textures/main.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAC7CAYAAADVPJgEAAAAAXNSR0IArs4c6QAAEexJREFUeF7tXXmUFMUZr+LYXdgFFgIoz2MX8QAFxCgiEA9AEeJNnicizwTz9IlE35PEIyGGxCu8Fw3BxCiRp0RQVERQlyA3zwPRoIgCyrEDmghsYIHl2AG28r7q+Xqqa6q6qrund2fZ6X96uo6vvu9Xv++ro2tmKDFc7JMpzFTGL5+eN5bunPAIl9Fp4iM0iqw46hoVigpA1dwqrvf2LVtIz+kvGtuLw0jfDjI1mA0AwPhvv/uONzVs8cKcAsGoTFQAwAXA8PmDL+VucOIJJ5DjunbNGXfIDgDdb1ETaf0MggBAgbWjRjMwPpfiQb0CkIvBsF4BMMWbhsiPDkCbYkJOuEat+3dvEXrG7cY2bAxn7z/FSGFLQmoPE7iLrmVTX1eG8iCXEhr6DtJtZUhl6cD7rACS9bStZwLHGoCjRW1I80P7CN7F3uCNxAiA3PukbTFvkp4enV0OAEBjuKqqCelY6nzet99jlAeAM0aQoxtmc0A4EHD5yRBlSmX9etIdgiVwgf4iI6K4gxUDalo2JyVFRaTm0CFS0u1Gbm8GADEwwAWgTTGPJWzDNIYxBT7zDosYDyhb8yzbuXMH6dSpM9HdySk3qF1p8yxtHa0sQjx1Og+ZwDsBe1W+c6qnJlOyEugaurqqdJDhaW/Hoom+ix0AxgSAKdD45Xdq14GQghaEJI+o74WF2pGEs6C2Vl9XJROUEdqjAIBv7xcW+g5zoICJQWI+tC+2x8GBNsAQ1R0YoBlKOQA8AGvqqtKl9rgLaHsIFOKI9SekdWtCikuc5/01hBw4QEjyQ+cZGgp7pXoY/Vu+c8oKvo/NyPFAjBE6WQiYWNY4BsuLoWTNVlJQcrLW3GRtFSko7OjmR4nQYTENUs8MAM7ACCEZxmPk92mx8QMg7Aglq78mBaWnBwE4a1PWQI0GKJxngAksqxhguR9gaqsh8gMxABT0uAHGgGMaAGlXWBkHjmkAhFEgg6LAAFjoNOn9AD6zSm9U+C2Lkwe3OKOIsHCyXdfn7n5AEAAO/9eZRAUEIN79AKC4uF7Hdb3tfgACINYT9wYgX5DPJ1NdejjeVFVNGn4/QNprc3uHz/Gd/Ter/QChvMcNJIbwINqqq+s2VgDEvR/gCW7JXc5j81bpu89+gFsX6xV08MZKSBfSkrs2k4IOp6TXCr3v1A7FOAex2Q8IO4eg7JPHGGlRQsiRGkeGbACk2QCAGiAQKNPHeJLcReh5D+kBgJWqxX4A9QHRBIyzHK5LEtKsQF3WYj/AtxGBGckdX5GCzmcSMBzB9lNeXL6q2jDlm4yH/EwGIAtASXCD1qX++wG4FyC6AH6WGJXc9z0paHN8Wi8DA7CgaT/AxlBdGZd+D/Tu69kYeWLNKp6nS4/SqFjX1C7qgXWwfNR0lBcaAFFxWRkVOCZDsY4J+GzJcQFAgY+vXO6kFRWRqQN+STbtX8ofMX3q4AlkzAd/JJRSCnUe/XdqO4wQ8vAP+xMTCLLiqIDbbirhwX4XedpV6pPSccziiUQuj3o+ePb5XE634ku43uTQIf5MW7XyBF1ujGjoxlueI5O3fUOKkys9imD6Xz6ZEgiAoPJ17YrpqMvkFZMyAJD1/1m3W7k9UNYXAOzR3aNnkFd2bCbfbn+HVxDTZ2zfSMYtnOgLgK6nbeTr2pXTUce7Kn7N2SfrKZa/v9c93B4oC1fzFi28DEAqHj1yhDOh2czFDlKjhvKCqvQpW6t42W+vHM7LAv11wSmMfF27mI461t082DVIpz+bvoDrCmV9AUBF47rHPZqE1TtjFNANL9iAKUrrFGk0ANgaahqOZKAg2mOEhogsR+OwPRi1nvUoAMPRuL73KEeHU2eP48OjqIwMEAAgRu+cA0CO9v/ZUeEbXVWjgx8AUF6M3nI0jtqTYeu7vRZkFPCL0rrRAOSrondYxbNVj7KPl0Q7C3z+IA6iLIem0lFRU362DAoqJysAhAVRBimo8nL5umVfOnOZi88yvu/AupEBiKq0CMKWV55nXW+6gysPn0XZYjp+FvOhfFmXAaSqejfpWNreFwSxnZwCQDRcNhIBURmPQGCZ4lY9SOdrfpTBApWMnAJA7Bkds2zLqOqrwIsMAFA4V2JAGHcMrbwbRPKjgDMMNtarUSufDdBjAUAewlBRvwieDWNkGRib/OYbLgCMMT7u1uzdy+WUtG3L77rnNu3a+YIHkxIYk+EyjcuouElhU74IgO3MMycBMLHBNIPUjUqqei4A+/bs4Qww9Tzmy8tfWekwDJCZIMs0GR6mfqwAiAYEmZ+bGGDKD8UAk9Aw+WEWJ2HaUdUJHAOy1XBjkxPLMNiYQMgDIPaWzZJT17vyKk23nof6Niu6+mKRkgG6mZxpRifW063nQUZ9zwj9wMy7QH1RLVfbyTMgV3umvvSigy6/UfteYOG7M7kefQbfSL5Y9prLll4XX88+W/yqR0coAxemN2/eLP3S5Wgdk2WIlVGeWEfMZwsSjo6oaXoJR+jQciWL2eIEo4PLjAznACw+eUQG4IO3ziYAgE4pqHD0aJ0LngkAPzkoSy7D3kswQgmhl+oN4WXgPMNl6TJgPBpkAsEFAAzGCwCB56pDdZ6el1ESmeAHAJQTGaSit1xG7EG2CIBghDBAA5kANlJChziGyz0emAG5BABbmmD0kjLKlqR6d5APA5YmGGGM0EHlvDxNlc0KAEFdQBcn/Pwf2SAygC1LMHpxGWXLE4xeZPZjt3yqnooRuqBqjAGgPAS2vXvT3w5t27aQB0YxEMpGbtq0iZWXOz+YEgQAtiLB6IVllK2oZPRCdYBTGZOul6q/MsFoPzN4vqPAkn+9aoyiGAhNI4VtEGTvJxgdWEbZ+5WMDgwAgFsvwUiLNEQmEDwGAg2xqiloYTkAQNfDMguQMXuencurt7vzapchkAcgsQ8TjPYvo+yDBKMDzD2Iesj1mC0DVOOxDWVlAOR5AVJfdhOxPdWcgX2cYPT8MmprgAvAykpG+5W79Wzrexhw4MABzoDCwiLf8V80AhngBwAOkbpAJLKNrUow2reMslWVjPYN4AKp8lgvFAA4rtfWHiKtW7c2+j9OYMSACPSWqY0ALLthpAeDi2e9zJ89AHxayei55ZSl7jrQ5HQszz5NMHpuGWXrKhntYQaQ7t59kPc6RHYwHBkgN4BGLJ/zEs9q3945dCwzQAVA1dJXSasftCcH/7dbeW/bZ1h6cru6ktFzyilbnWD0nAAxQKhHitKzexMIVJzOAgBAfxkITIehEIGCcjbz+0t/fLOyE98beg25bMFbGXkw8rDPKxk9u9y9m1jAPk8wenYZZZ9VMtrH6XVrBqDfiz2PBkOajhXICN1oASPAtT99gHQsakbQWJ3RooEcgC8qGe1Vzu98utvLZya4ppIR6pRhayoZ7R0QAGSAaLQf4ghIv+GjM/xXHlHg+fclRW5yzzPLyKmT/kA3jv81g7tfO2xtJaM9U8Z8CUAIl7MM4Bc9K1VmbYLRnsKCyDYGqJSWA5NK0e2LZrLjhtzsa8Tez+azDVPmk75Tn6arxtzL4G6is8fOdY7hfn7MvgIG+JfxazNjIgTDmc08ACdNfpMbGyBtAGHrUwxwV4LpWrS7OdJbAwDxAIIbXKapqzhr1A1v2QLABqSwZTImQqbojg0dMwCotrcw0KGxyAp8BhdZOGGE79iOY744xoftpTjrUZH20JBqNJCHxSBT5TiVz4ZsPhFSTYBUcwGREaYYkQ3l6kMGZwA0JNLcNCMMslaoDyOitJExLp/UY5Bn0nHOaSd65M+dO91/AsMYu+CK28lH70zz1MO0k890vr2lu7atW2KU79bd7xzCgouWdAg0x3DryYpkE4Dq6mouvrS0lDQ5AOa//BQpbemQqfowJcNG3sdZ0WQY0GgAkCkfNKBs/cr5pql4Id1VLqCSL8aM2tpaUlhY6LpMUH1c35a+xaaTQ+MEYPQz63m7L97d3degBgWg7pu1kb40tadjtwxwh428i8x/+W9k/AfOfwtMGtCRYJqqJ8S8o0frYB3iWx5llJaml9o81lQ7O1pw4Y6ViUGU1eyKBED14dSvzQgtoUEPbkvy1MdPKsgDkLMMOP3c4ZEYsHJh+q0ykkA0Fn6w4eBBFgsD/Oht7QKrV6+PBEB5eZk2BkBGzgPQ5BlgA8DXn1ZQXblG7wJTLrguwwUmH3aGk3EtnWFm7EdvUlU5yBtZMSNmF0gPbaYhTcxv37691eKIHn59XqQYcMpv/hREr8Blt656I3AdqGC7OvQAsOilWcrGhtym+XV5+J21xg5AKHiPoUpWfhLW3t27d3P3svXHsO1EqRcbAGA8Gi5+jqJsHHXzAMSBKsrEL2OavmIXpw4m2bExwNRwruTHCsCYd7bxIDj1ipO07Xz/6Eu8TFGJ81c/h2r287vuGYGDcsc/fJtHbvWf33DnNKW/+ImVbVaFwvbWnWucb6M+21v/PWMAAI0VjcPPujxIl40EABBAGRydDbEDMLq8mPRv6/0JO1EZkQGq3gdD5XSo32bsdRlvsJEBKnY0CAA2zMFe6/TArbw4vpXa+cQ/PdUBiAtnv+Ir8r2hV7mu02AuoDptCmlzXniCwJkh+UwRMACMVx3MSj5fYTRah4jtSdfILiAbrDo7LL6Ch5eqYh0TS6BX8SoobUuS1XuJ6o5lIB+uBosB+LpdPGYDJ8a6dOnCFZMPYOI5RR0QtX99jRssG4hpaDDki8B0uPtaq86l868elbEcHpZ6AarKkxXFspiuOzyt+16Q6XwCHqxGQ9FINFgEJhQAKuTRcNk4E10hPygAeD4B6oqHNN0hcdoCTnvRYD8w0EWsGWBjVJAyQQFABsgnU+TRQKa8igkiMA0GQDZer7uAZ+H9v6nzrAKFSYiYnwcgCydM8gxABBqDC8Txet3G5bK1xxA5BjR5AKKeL6CnnuXpcPEdvx8TdC8/xT0Bdy4h7TFAOi6WIjMg6vkCUtw+6wDg8hkFi3sKkCfuJRxzAMBEDJbS8kaKyIasAmDzctWPyqqXqzZBEF3AtLJcMeIm5YZK1lwgjvMF2QRAJwv3CyK7QEMzYNczc5jfHgHmARC4VjimXAD3FOVNElw9yitHXFThYinyfsDGHam/6BK4Jp8v8KP0yIoXbBifUQZfuwEDxN6VN0/EVaT4GXeMlC4QZD8g6vmCFsMGhgIA3/+LAMjG6lwD0n0BCKKRCECY8wVRAQAXEPcGVBsnKndwXUA2dt7bH3q2yO4f/ytPkQ3rlvsGziuvG8dem+H8p498XX/LeCO2b7852Sgfhcyb/ogrz/ZEiKxARmPZBKCmxokPJSXOn7Y3KQDA+I6pf7WqOsg4CHkActEFZMobnVQq8Pd/OD+3JV4QA6C3pz33W558+89/RzBNJV+V51feRkdTLEEZNE4AThvlnC77ZvqspgfAQxWruOFwARCPDe+rjQHHJAPAcAABLjDeNAqIIESlP7TV4C4gGg+f/RiA/ojzB5vRwhQHGgwANAKNRibYskBmSlXVVpOtyvyPVsyxWunSgwdrI50VlnsrLAA6F2h0ALw+cxL8up32UtHbLwjmPADJ5OFQFLWtdPmVztGZoFckFxhxw1je3uxZU4ztxg1AYWFLow6qAkVFhXYxYPhVd2QQFg1HIPw0aN7C+7U53UoQZQSN8OKKLwgStqtDekaPiyIFwdO69/Ho1egAMKEqM6Ri3vNW1DLJzZV8ozFRAMAhtlUrO39sCFCMAIRVCoxHw8XPYeXFVc8IQFgGHDMAREG+SbsAAPf0Tuent+/tlP6d8SiAxlHX6AJhGwXj0XDxc1h5cdWLDQBUOJeNBx1jAyBbDID3DGF633o/IIxwmzp5ALIUAxotA2xYYlMmD0BjjQE2vZsLZWIbBXLBOBsdKMz1YYmr2hgRBejKNPblsZEBQRdD2Xi9jsBn4/2/iQV5AEwIBc3PMyALR2xyygVMDIjj9bqpTci3neubZBljgElAHgCJ8ibA5HzVCRMbGXkGGI7T2YCYlf2AhnaBqIulBo8Bjz75pG1necrhy88GByDq+YJBQ50/agx65QFInQDJMyDifkHkGKBygSDnC2hIDWzf/5tcK2TzabFRzxe8OzNcELR9/28EIOp+wOaNG0xt+OavXzUnVP1sAfB/z8kZ2QLXbakAAAAASUVORK5CYII=" + }, + { + "path": "", + "name": "decorated_pot_side.png", + "folder": "", + "namespace": "", + "id": "6", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "d70978b8-1b28-ec82-a6c9-15a0263c1e43", + "relative_path": "../../textures/for_modeling/decorated_pot_side.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAARVJREFUOE+Vkz8PAUEQxeec5YQvo5HINSIi0WhUSqVEq1QptRKlUqXRSEREIxKNL0P8WZy828zau6wL09zuzHu/2Z3sOURE03YjwPff6MyWjgPTuFULARf5oJxIRzicy2dEmD/fpa735msFGDUrAYwQJwXDWddfbD8A03iVknJC0EWqbp5Q3eOhAcOGH7AIZlvE69hHAP8OEPrBcqeugBN8A9yfL8q4KWvZCjANWCMAsIE0YFAvB9wlbrK1ZuBwtVdXACAuZFHSbBIBvwzVCrg+nuSl3V/8FAHAyJEEYB00GtCvliIzQNE8Ca/NJuEvsDmoIQJwuqkXWMh+ni1y5p5PyHkN6PpFfQIYGMZANph51Ca7o/MG7zWXEQcgztYAAAAASUVORK5CYII=" + }, + { + "path": "", + "name": "decorated_pot_base.png", + "folder": "", + "namespace": "", + "id": "5", + "width": 32, + "height": 32, + "uv_width": 32, + "uv_height": 32, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "cf3823b0-baa3-28a5-5616-b4f612617ac9", + "relative_path": "../../textures/for_modeling/decorated_pot_base.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAf9JREFUWEftVztIA0EQ3cOcJAZE0UZMF9u0NkIQsUmjhZWlva2llWVae0sr64CIhWCjpY2NIIJooaTKBxOJvAtzzO7d/nKXJnhNkp19s29n3szkAmF5zhpbI2wphmG0sxQWJES72zN6OG3dB6YNRiOAREBHYuoEmnvbo/5gIJ4+vkW7248us7xQFPVqRfQGQwEbHtVeW1uJ1jNHAATg6Pr5VYrkfm1DInD38i7Z69X1GSFwfrA7Qqgf3z4TKeD5n1oKQIBiCyK8EmwCzEUDRIAOh1MSnq2EnQhcHDbiG7o4zHtPQAQ6P+NyKs+HAt/xice2ToR0+8mn6ot+Bygz6m48zDzXWddNvoKTnc1xqy3MxdHtD3/j71nXm7cP2Vpx3jlX/cUaMB3ENeFDKA13dNmSIiKJUBUSzz10QnZOIk2wJpyRABwDjMPICWqeRjHsq+WSFASqEldcKoGvznimpx3Mmw6I8EhMgkslgFvw0WrLc2VpMe4RvrgEARo2dKhLmwUBIu2L06bA5eCoX4RhrAOkwBc3MQEuRNKBCwEVd3x1kyxDEpPtNjoR+uCMIkSIXZxRKXIduOK0fUAXTtyanFM4eS/wxRkbkfoPh78LUKNRuyGi4IPTEqD5rBu9aW2YSlAtST5+VZyRgNqA8hxC5DtBwNb1pm23vpr9E5j5CPwB312+spTMgEAAAAAASUVORK5CYII=" + }, + { + "path": "", + "name": "back.png", + "folder": "", + "namespace": "", + "id": "7", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "7f335f36-c4c4-7bc2-65a3-1087a9600fb7", + "relative_path": "../../textures/for_modeling/back.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAUtJREFUOE91kzFPwzAQhW3UmKigDghYYKgYEAMT/4O5U0cmxMTWibl7N34eLBQhFEEUnKqp3kUvvJjgJfH57nz33bNf3V8333HjDsLI7efBpeuniv/aX99L55EAQUiC9VlEF8LIjfM9S8rFc9rWRbQjv7y7alJH7BFQVtteQUiKRX+rYDG7aKq69cuz9ot9XbfBWdYGYY9/tePfWkDvL29f7vz0sHdjagMPtoLqTiah3wLLRqlwiHHT8dDSlYt/ml8aRELjDQR6djz+A1LZ+IfbqSVgr+CgDBjNc7KiT8cAB9rj0eT35iEtwIZRWgIKSQmmYyQXfuELRv758aZJ6Woizp429o8JWAXKYEgH5EM21AQTdhXAwLeAirBwg2rjoygd2CgTk7LOmBrXXlFuyqerAAnYl2qBQqIOht4GkhgD1bv2zFs4c30LPNsBWaH27B21yOgAAAAASUVORK5CYII=" + }, + { + "path": "", + "name": "gun.png", + "folder": "", + "namespace": "", + "id": "8", + "width": 98, + "height": 37, + "uv_width": 98, + "uv_height": 37, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "4914d36d-6777-fef9-dc28-d1032f824b96", + "relative_path": "../../textures/gun.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGIAAAAlCAYAAAC5+DzaAAAAAXNSR0IArs4c6QAABT9JREFUaEPtmlloFFkUhk+BC4origoqM/MQRdIhk0ERQdHxZRAdFDdcggrKoKAjCoP65PIk+iAjbkgER1REjQtu48NIJEgUxSgmINGHqGlRUTPRuCZYcq455cntu1V1t3a6u16q69a591ad7/7nnNvd3pst5/2bBw7C9U4zAY9V5XVwaU0rfGzpAh9ausDLtwOg4PlZ+GVBKaDd0s5Nwq5qzjJx5kfPCcXwuuJ20ITXdPB2bKN7NvsxR3aLIWqrz3kJE2ZRg1cZm+fL70PObnkRh879Bmfc62YjFAFiXM3hwNmVsXli1deMOhsawPB/SxL6pANkToFANUQ5uOPTpaicAoEQ0uXIKIB5n6wFocoRUUKTzsGx61OS9X27/lkJQuWhwpLJIoHnFZHS9WMcjJeE6PzgesOYEwnVlG6kY+/3tStneRlrKmFVZaxsT+Vrtpew5HjudNEmg5jtnYGL1bXQ9PPaBB4EouF0ubg3YtumYD+RB+GmKq0i/J3n/I0HPwSj9L61GX4rKYSj/u9aEHQjXYowvVJHzxva3SoqYn1pV+AwbKEp3Yrg8x/rNkBcznr3TJw7PAhKzHJ5SCBchBUr2/VNckRWKwJBUKlKZeae1j7wX48ZLgyEzYaq6ags5+TuPHAOGXqyIhACHsWlc6E4/gTePboLJ+ofw7PmZpj6x3KAh62wf/VhaKp/A5tK78DL+H1Vws8hF6bmVQMQBICGRRDDrlbAp/9fwd6GJ/CwsRFWzF0Hd1/VwcVFlyFe3QhbV1fIyT41T5WDo3iVRfOVIWVs2WbwRg8NHF34135hV7t1kcc/M5+lPTT5/pcpPO8rf7kNr+k+fSYbelbeP1OYCxADL+yAp5OWA57pKIg3J4B4+6A2uN/9h0IB5VuB4A6mOV2druqbKQCCxUEgsAFh8NDUa82UBEX0H90Tnl97LcxMIPxfTwJcmibsFtbfgAM/jbK+u6mPvLpxVatWug1OJqpBqLyuodEnNXBVcEWU3fnTX1K0XUAZf7zcvzxzhvjM2+WqiTvVBYbNXudgVRgytVlXw3cyaAeCP8OgQ1cAFYHOxnYdCHavXY6QHWuC4Wrrmg86bI5AJ/H8gNcyCNNCaYNkBRFmsbmGszBjZrJtkKzlh6TQxBSBoSgwW1K0PbjOg0gesRbEsCF9gzyA0yyO/S1m40lyX81K0SaDUIWaKI/KVcETMw89fFx6Nn7G+7akzsdQhT+6L4c8GjsVhYP1LyqkCAQhv6grCHQoHv/8OFLNY+KpL+1tVRYZySBckjCvrlSOo7HDlMMuOUc3Hl+8puexgsCBEAYpgnsSQVAS51WTqgKifkoYBEKC4QJCt1rlKsu0qlVwVJtBV0XowCUNQgVDgiBUGrwQ20NgGylCq4okQMj7gnQqwgZM9yw8hMmfgwXiErt5eCJ7KSwZQajm6DekAF403DNOHyVHqF5UlyP45HLecQ1rpq9RVHufpEEkE5pkbxMEG4xcKmGtOUKlBo0qtKGJg5Cdb4KRB8E8l2oQLqFQVzWpEq4cXlRlLoUDPKtKX1tb2KrJlOh1729UBEHAzrrQRAPjBo8fye4lZDXYvmtyTaS2ZC6Xoa57EL7/0OUG0yK0gsDy1Fa+tn35lzBPVBiqkOT6rWqYjZ+sMF2iNykiSqmqAmLNEdgpbNUUJvy42kZRhItKVAqQf3gKs5GUYbr+FhIKhMppqg2dq3PD2IVZ6S71vGtpaVMi5R3X8SLlCOok/e4QjGX6PSKMk/O27L+uKXBG2n+zTsEzZuwQTqHJ8enzIBwdpTL7DAbet0n40PN7AAAAAElFTkSuQmCC" + } + ], + "animations": [ + { + "uuid": "5c7032be-6e92-7267-8cf9-bf271cf1aaee", + "name": "ex_skill_2", + "loop": "hold", + "override": false, + "length": 10.5, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "markers": [ + { + "color": 3, + "time": 2.1 + }, + { + "color": 3, + "time": 2.2 + }, + { + "color": 3, + "time": 2.35 + }, + { + "color": 3, + "time": 2.5 + }, + { + "color": 3, + "time": 2.6 + }, + { + "color": 3, + "time": 2.75 + }, + { + "color": 3, + "time": 3.4 + }, + { + "color": 3, + "time": 3.5 + }, + { + "color": 3, + "time": 3.6 + }, + { + "color": 3, + "time": 4 + }, + { + "color": 3, + "time": 4.15 + }, + { + "color": 3, + "time": 4.3 + }, + { + "color": 3, + "time": 4.4 + }, + { + "color": 3, + "time": 4.95 + }, + { + "color": 3, + "time": 5.25 + }, + { + "color": 3, + "time": 5.4 + }, + { + "color": 3, + "time": 5.5 + }, + { + "color": 3, + "time": 5.6 + }, + { + "color": 3, + "time": 5.65 + }, + { + "color": 3, + "time": 5.75 + } + ], + "animators": { + "8cd569d7-19f9-a383-0f6a-0eb9c0da482e": { + "name": "Pillager1", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 90, + "z": 0 + } + ], + "uuid": "ffd0ee7e-b94b-4cf6-dc69-40522091f6a0", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "125", + "z": 0 + } + ], + "uuid": "cd2ff00d-00c0-3057-dedc-7013edd4de65", + "time": 2.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 270, + "z": 0 + } + ], + "uuid": "61655ebd-3c4f-0d27-c572-739707df1588", + "time": 3.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 270, + "z": 0 + } + ], + "uuid": "66737e57-7a1e-9fe7-0777-dbcc7644cbf9", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 305.34, + "z": 0 + } + ], + "uuid": "cfc1af9d-3711-2a92-8016-d943ad697ba6", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 372.84, + "z": 0 + } + ], + "uuid": "250c6f80-6b2f-3082-cbb4-8d5fa62cc83d", + "time": 5.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "372.84", + "z": 0 + } + ], + "uuid": "2c4e79ab-1b05-e604-337c-40ea1c028517", + "time": 6.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 197.84, + "z": 0 + } + ], + "uuid": "6bebda9f-b238-8cd7-edb4-8c8b5e79c395", + "time": 6.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 153, + "y": "-1", + "z": 53 + } + ], + "uuid": "57c9ddbd-65c4-469e-0e83-431c9aa8f388", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -38, + "y": "0", + "z": 179 + } + ], + "uuid": "73f02998-ff6a-e4b5-b139-ac1bb39fa83f", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -38, + "y": "0", + "z": 176 + } + ], + "uuid": "b0bbbb31-5297-2770-276c-54c8be47982c", + "time": 3.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -29, + "y": "0", + "z": 176 + } + ], + "uuid": "739abdb1-7ac8-3080-1aab-9b78c4f76a90", + "time": 4.15, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -29, + "y": "0", + "z": 176 + } + ], + "uuid": "4fb103a8-70d6-cd0a-ec5d-3b67c723cc07", + "time": 4.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 33, + "y": "0", + "z": 137 + } + ], + "uuid": "304c2114-4685-89ae-f82f-2c5ff4e2df7b", + "time": 5.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -9.2, + "y": "0", + "z": 177.55 + } + ], + "uuid": "09cc0089-7020-d801-acd2-b0877bc0290e", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 33, + "y": "0", + "z": 137 + } + ], + "uuid": "a1987f44-246f-cbf4-f3be-e0412be77ef0", + "time": 6.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -8, + "y": "0", + "z": 133 + } + ], + "uuid": "15ab107e-ef6e-cf92-bd77-b4da69a91343", + "time": 6.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 18.83, + "y": "8", + "z": 135.62 + } + ], + "uuid": "d83a60cc-5d86-9132-89e5-4001aa95d8b5", + "time": 6.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 15.24, + "y": "-1", + "z": 162.88 + } + ], + "uuid": "e3acf577-6814-b4d5-b128-f195244d2d6b", + "time": 2.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 10.17, + "y": "0", + "z": 164.42 + } + ], + "uuid": "622947b3-931c-5782-6037-08c5bd4cd53c", + "time": 2.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 2.56, + "y": "-1", + "z": 166.72 + } + ], + "uuid": "0aadfca1-c735-4228-a07d-218e0afb7fdb", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -2.51, + "y": "0", + "z": 168.26 + } + ], + "uuid": "a888aeb8-6776-1f1f-f1e0-31a2cd8d8489", + "time": 2.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -10.11, + "y": "-1", + "z": 170.56 + } + ], + "uuid": "95b9ccd0-3e16-b4e9-2bed-3761eaeb8c64", + "time": 2.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -15.18, + "y": "0", + "z": 172.09 + } + ], + "uuid": "c772ffe0-3e17-5e5f-ee2d-9f8101d5cd2d", + "time": 2.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -22.79, + "y": "-1", + "z": 174.39 + } + ], + "uuid": "85a65ca9-a125-6aa1-638e-185d7afbb4ff", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -27.86, + "y": "0", + "z": 175.93 + } + ], + "uuid": "c2b0b1d4-4ca3-f520-c9b2-75d18bedc1a2", + "time": 3.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 146.88, + "y": "0", + "z": 57.88 + } + ], + "uuid": "ffd98535-90f1-fd6c-dccc-2775084fa2db", + "time": 0.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 137.7, + "y": "-1", + "z": 65.21 + } + ], + "uuid": "741cc4f8-8e6a-23b7-ea90-aca09923cacd", + "time": 0.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 131.58, + "y": "0", + "z": 70.09 + } + ], + "uuid": "15a7f745-caaa-8000-fb50-ac7f1d9b1f53", + "time": 0.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 122.4, + "y": "-1", + "z": 77.42 + } + ], + "uuid": "aaba80b7-1b59-2332-9705-0d9c1d62709a", + "time": 0.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 107.09, + "y": "-1", + "z": 89.63 + } + ], + "uuid": "706426d3-7dc0-6efe-3175-cca3d235add9", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 100.97, + "y": "0", + "z": 94.51 + } + ], + "uuid": "00827872-97e1-31bf-43f9-6fdccacdaeae", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 91.78, + "y": "-1", + "z": 101.84 + } + ], + "uuid": "49cad7d1-ddd7-9056-da19-b0aa4d018d78", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 85.66, + "y": "0", + "z": 106.72 + } + ], + "uuid": "ef9ab344-0c1c-9c52-c444-d78d1be8899b", + "time": 1.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 76.47, + "y": "-1", + "z": 114.05 + } + ], + "uuid": "62ec3c8e-66ea-c3fd-798b-dadfdcd4dd39", + "time": 1.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 70.35, + "y": "0", + "z": 118.93 + } + ], + "uuid": "70fed327-f4e4-19ce-2aac-aa693aaa32c4", + "time": 1.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 61.17, + "y": "-1", + "z": 126.26 + } + ], + "uuid": "2a23ada2-73e2-11ad-4dc8-4cec912a66f5", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 45.86, + "y": "-1", + "z": 138.47 + } + ], + "uuid": "a8a6149a-3b57-e4ef-493f-839fe5efec3a", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 55.05, + "y": "0", + "z": 131.14 + } + ], + "uuid": "75fb2c48-a128-67f4-5a3e-281309c26ced", + "time": 1.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 39.74, + "y": "0", + "z": 143.35 + } + ], + "uuid": "13cab3aa-fdef-25cc-d4dd-919796eb9647", + "time": 1.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 30.55, + "y": "-1", + "z": 150.67 + } + ], + "uuid": "ee94d1ee-6a2a-32fc-56fe-d57a379770dd", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 24.43, + "y": "0", + "z": 155.55 + } + ], + "uuid": "03492be4-0190-ee87-9cba-ef84fd6312a4", + "time": 2.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 116.28, + "y": "0", + "z": 82.3 + } + ], + "uuid": "af00cacc-a340-d805-8cdc-cbf66ed4b38f", + "time": 0.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 6.15, + "y": "-1", + "z": 162.8 + } + ], + "uuid": "93a44872-22d6-1b0d-0954-1c96d3124de8", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 13.82, + "y": "0", + "z": 155.43 + } + ], + "uuid": "d019200a-9e91-31b6-63b9-991db19dc742", + "time": 5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 21.49, + "y": "-1", + "z": 148.06 + } + ], + "uuid": "618eb1ee-a7dd-2d8f-cf64-faa0146db0b8", + "time": 5.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "af0c9d6a-83c5-98bd-0860-05bf56820fd3": { + "name": "Pillager1Head", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 57.5, + "z": 0 + } + ], + "uuid": "23a2e9e9-a947-acd1-461e-60c8ef3da5e5", + "time": 3.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "3e6170ad-1a3a-8110-07ad-0ea5fa9c59b5", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 57.5, + "z": 0 + } + ], + "uuid": "e6b05690-e6ba-1d98-f477-2eb8e555f1bd", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 37.5, + "z": 0 + } + ], + "uuid": "93312255-f13a-9c75-17be-933f76ac1d57", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -7.5, + "z": 0 + } + ], + "uuid": "c8f5f68d-e1ef-bdc2-fd45-b4bd9ea5c9b9", + "time": 5.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30, + "y": 0, + "z": 0 + } + ], + "uuid": "103c68f6-ad54-cf2d-7bfa-ffb78fd4b08a", + "time": 7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -7.5, + "z": 0 + } + ], + "uuid": "472359a6-8099-7e0c-b7ad-88ff8f173839", + "time": 6.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "b75eecd1-70fb-0f17-cddf-5b08eb559064": { + "name": "Pillager1LeftLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "30", + "y": "0", + "z": "0" + } + ], + "uuid": "ccf1e2be-9828-dc7c-c9e0-0edb79412e5c", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-30", + "y": 0, + "z": 0 + } + ], + "uuid": "afaef71e-fe34-4262-5a36-f1acab91d505", + "time": 0.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "30", + "y": 0, + "z": 0 + } + ], + "uuid": "c0b6edb7-3698-bdb9-e58b-9eff15fb4dfa", + "time": 0.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-30", + "y": 0, + "z": 0 + } + ], + "uuid": "6e2604b5-6d37-5d56-b036-ec6727238944", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "30", + "y": 0, + "z": 0 + } + ], + "uuid": "dc6263ea-7488-2763-dc09-15f32abc240d", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-30", + "y": 0, + "z": 0 + } + ], + "uuid": "b8bd4e52-7a3f-4250-8154-db2f8a80d4e4", + "time": 1.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "30", + "y": 0, + "z": 0 + } + ], + "uuid": "51f409a0-8e18-62cd-619d-af0cff980645", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-30", + "y": 0, + "z": 0 + } + ], + "uuid": "a790d5c1-43de-65d2-bd78-188d18b3dd02", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "30", + "y": 0, + "z": 0 + } + ], + "uuid": "13faa5cf-7c18-5384-ee8e-a5b318f147f3", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-30", + "y": 0, + "z": 0 + } + ], + "uuid": "e41e93ef-8c7b-879e-0c96-8e702a7dbff1", + "time": 2.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "30", + "y": 0, + "z": 0 + } + ], + "uuid": "f9bb23f9-6215-d643-4def-5d03ff398257", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-30", + "y": 0, + "z": 0 + } + ], + "uuid": "b399f6e9-aa1e-9466-5530-3b19c3ac4d7b", + "time": 2.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "30", + "y": 0, + "z": 0 + } + ], + "uuid": "2e50e494-abd3-5952-734d-5c55812e23ba", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "35c9654d-1695-fff1-eb5d-5ca2a366a0b8", + "time": 3.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "77e4c130-59fb-92aa-f2e7-4a4dba0d6297", + "time": 3.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-15", + "y": 0, + "z": 0 + } + ], + "uuid": "492d99a3-f871-fb72-31cb-701e000235bf", + "time": 3.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 0, + "z": 0 + } + ], + "uuid": "c01fb4ed-0e09-b350-bda1-167e747c971a", + "time": 3.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "92c0036d-557d-e907-98eb-36ea861b42e3", + "time": 3.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "10", + "y": 0, + "z": 0 + } + ], + "uuid": "225a757f-11b9-5fb7-dbec-aabe1ced7023", + "time": 4.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "a05dee27-0888-be5c-4252-7c402ebc7a0f", + "time": 4.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "948e1b8b-280b-a4c4-3111-e7011dde0b81", + "time": 4.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": 0, + "z": 0 + } + ], + "uuid": "7a0900e0-f032-5ed0-8b32-2b5ebe5b0484", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-30", + "y": 0, + "z": 0 + } + ], + "uuid": "b5d0cd6a-88b6-e618-c7e1-c82f550376af", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "30", + "y": 0, + "z": 0 + } + ], + "uuid": "a5fa3d7b-477a-5bdc-9c9c-9998f6977ed6", + "time": 5.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "768fa25b-3235-bba6-ffb0-282b9104ee65", + "time": 5.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "3e24ecec-73a3-e1e8-7f3f-cad8d6f24192", + "time": 6.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-30", + "y": 0, + "z": 0 + } + ], + "uuid": "7039604a-093d-d7a9-f096-d3dea7360be1", + "time": 6.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "30", + "y": 0, + "z": 0 + } + ], + "uuid": "016a147e-f99a-ed63-ad8c-4c64da317e92", + "time": 6.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-30", + "y": 0, + "z": 0 + } + ], + "uuid": "af97785c-d963-ec5b-b283-cb22757a70d8", + "time": 6.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "6dd2449c-020a-c305-4456-e94ce8a7db97", + "time": 6.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e1722d1b-acff-19a4-ccba-0116bbe80c42": { + "name": "Pillager1RightLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -30, + "y": "0", + "z": "0" + } + ], + "uuid": "6a13c64c-89e3-99d7-9789-6ff61528eb27", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "30", + "y": 0, + "z": 0 + } + ], + "uuid": "1611d1f4-f14f-3cd7-1f08-a573e4431d91", + "time": 0.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-30", + "y": 0, + "z": 0 + } + ], + "uuid": "49495f2b-a880-8591-c9e8-1d491e3dbedf", + "time": 0.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "30", + "y": 0, + "z": 0 + } + ], + "uuid": "e3821d4e-2945-143e-3c77-cd4d81f8b13d", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-30", + "y": 0, + "z": 0 + } + ], + "uuid": "97b2ce69-4169-659c-db1d-6645bfa4cf97", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "30", + "y": 0, + "z": 0 + } + ], + "uuid": "12f4c224-5809-2fec-579a-d28e1dcafe29", + "time": 1.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-30", + "y": 0, + "z": 0 + } + ], + "uuid": "80ef52dd-e539-913f-d5a8-c3e08fb216a3", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "30", + "y": 0, + "z": 0 + } + ], + "uuid": "90efa7dc-7d60-2f2c-7ccd-b924b876796f", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-30", + "y": 0, + "z": 0 + } + ], + "uuid": "9667a310-0242-ba07-65fa-e600ddb29dca", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "30", + "y": 0, + "z": 0 + } + ], + "uuid": "22600b5e-8277-e098-8bec-e54e4ae83a36", + "time": 2.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-30", + "y": 0, + "z": 0 + } + ], + "uuid": "95646776-6363-d45f-a3d9-470d1ef3449a", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "30", + "y": 0, + "z": 0 + } + ], + "uuid": "f7c438e6-ba3b-90e8-7104-96ffef6e722c", + "time": 2.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-30", + "y": 0, + "z": 0 + } + ], + "uuid": "35736645-dd64-4afb-e815-4f0292e7c403", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "d1488811-083a-f001-acdc-67fd45a0d1b5", + "time": 3.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "03a8d5f5-3d50-cdb9-9a62-247e9d6ea4ec", + "time": 3.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "15", + "y": 0, + "z": 0 + } + ], + "uuid": "8c5c2bb1-3c42-f23d-6cb0-cd627f27a86a", + "time": 3.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 15, + "y": 0, + "z": 0 + } + ], + "uuid": "6843ef8c-cca8-5079-8599-0226d812be42", + "time": 3.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "4afa8999-a9ea-78a1-bc1b-4d57d421870f", + "time": 3.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-10", + "y": 0, + "z": 0 + } + ], + "uuid": "3f7d0ee0-14eb-4a38-7ce1-84b6274d6be8", + "time": 4.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "e5f3d360-63f0-3cf9-cec5-f5306a924af4", + "time": 4.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "ed76f8be-97d9-c5f1-0a45-72182657261d", + "time": 4.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-30", + "y": 0, + "z": 0 + } + ], + "uuid": "0b69f099-ce4a-9411-8d7d-394ac4167331", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "30", + "y": 0, + "z": 0 + } + ], + "uuid": "86d859f3-fe5c-5401-4b4f-2138b836b401", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-30", + "y": 0, + "z": 0 + } + ], + "uuid": "75e78b8b-0e20-ecd7-5fc3-87e1e73cffff", + "time": 5.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "60217692-cfd6-cd52-e6d7-601133084197", + "time": 5.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "6567c4ff-fc96-8ae8-0763-a8dfebb5478f", + "time": 6.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "2d69eed1-f0cb-13d4-595e-252cb215d027", + "time": 6.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "30", + "y": 0, + "z": 0 + } + ], + "uuid": "b4007e41-59cb-12e5-971b-140fc6d5ef9a", + "time": 6.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-30", + "y": 0, + "z": 0 + } + ], + "uuid": "b1adea64-65de-cf43-a17a-aa97b444affb", + "time": 6.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "30", + "y": 0, + "z": 0 + } + ], + "uuid": "e897b2aa-b2d5-2fdc-c06b-2327646c7a83", + "time": 6.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e6f65f3a-4c7f-4595-3ac4-81c98aedb767": { + "name": "Pillager1RightArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -84.75867, + "y": -17.43127, + "z": -1.5741 + } + ], + "uuid": "034b51a5-199b-7337-73be-fb14654568c8", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -84.76, + "y": -17.43, + "z": -1.57 + } + ], + "uuid": "48f822a8-82bd-51cd-817d-293d1c8bff1b", + "time": 6.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -42.26, + "y": -17.43, + "z": -1.57 + } + ], + "uuid": "b4e1ee47-d675-a765-f235-78672649960b", + "time": 6.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "57c0b16b-e934-42f6-3e87-1b5302246c5e": { + "name": "Pillager2", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "180", + "z": "0" + } + ], + "uuid": "159c638a-8426-cda5-26bc-228eac3dd84a", + "time": 2.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 92.5, + "z": 0 + } + ], + "uuid": "c6f9fdc7-8267-fe16-638a-e8e8aa842979", + "time": 2.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 92.5, + "z": 0 + } + ], + "uuid": "c33f21ef-ad29-f691-9a8c-3ef4d355e9e5", + "time": 3.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -22.5, + "z": 0 + } + ], + "uuid": "549af3dc-876b-ee14-6058-ab6c77db2c01", + "time": 3.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -22.5, + "z": 0 + } + ], + "uuid": "892e33ea-0e1f-b46d-58d3-bdf514764b28", + "time": 6.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -127.5, + "z": 0 + } + ], + "uuid": "13a91701-d818-a365-6adf-00c6520ed13b", + "time": 6.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 14, + "y": "0", + "z": 206 + } + ], + "uuid": "2de6b08b-4981-12e9-4f38-75827445985f", + "time": 2.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -13, + "y": 0, + "z": 191 + } + ], + "uuid": "61b8b3e4-1af5-b70c-4a82-493958f6ca87", + "time": 3.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -0.15, + "y": 0, + "z": 204.65 + } + ], + "uuid": "34daa51d-a8a7-5ed6-a2f7-2f6bf62cba47", + "time": 3.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -13, + "y": 0, + "z": 191 + } + ], + "uuid": "34b8d714-e1d3-5843-7041-dbdd34f2276b", + "time": 6.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -19, + "y": 0, + "z": 191 + } + ], + "uuid": "940a9f44-eab3-25ca-d22b-8b54aed90bf3", + "time": 6.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -15.07, + "y": 8, + "z": 191 + } + ], + "uuid": "a350793b-887e-64de-e754-df950067f2e1", + "time": 6.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 6.93, + "y": -1, + "z": 205.33 + } + ], + "uuid": "6656d0a0-0c0b-135a-6126-9e9538a43988", + "time": 3.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -7.86, + "y": -1, + "z": 196.46 + } + ], + "uuid": "8430ee7a-c444-7632-ab9c-38308f9f4017", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "19b7054d-4fe2-e1d3-fae2-18ac0c401372": { + "name": "Pillager2Head", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 30, + "y": "0", + "z": "0" + } + ], + "uuid": "1fb690a4-7b1b-af51-e488-9c9add9d44ee", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 30, + "y": 0, + "z": 0 + } + ], + "uuid": "905eaf75-dbec-bc12-0055-ec78f9faaba5", + "time": 2.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "29b79779-116f-0716-8407-76a8c816a4ca", + "time": 2.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "bf59192d-d02a-15c5-5158-319bfc67e509", + "time": 6.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30, + "y": 0, + "z": 0 + } + ], + "uuid": "3cab691a-daf6-14d8-a4a5-1b95acc7964d", + "time": 7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "9172d7ed-f18f-90c8-667f-40fdf6e78e0c": { + "name": "Pillager2LeftLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "c0fdff79-e3a3-6ed6-aab9-048b9bfd36e6", + "time": 2.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 30, + "y": 0, + "z": 0 + } + ], + "uuid": "dfd0580c-e388-ecc5-96bc-6833f8aff918", + "time": 3.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-30", + "y": 0, + "z": 0 + } + ], + "uuid": "cc2f5949-7cab-bd1f-c4d9-d4773a62b952", + "time": 3.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "5fac3ae8-f763-581f-ccc2-dd31d4a808fb", + "time": 3.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "9c297a8f-44e5-aa4d-f599-56f0dcd74df5", + "time": 6.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-30", + "y": 0, + "z": 0 + } + ], + "uuid": "13ea150c-dfde-72bb-9a7e-3301e275e733", + "time": 6.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "30", + "y": 0, + "z": 0 + } + ], + "uuid": "c4098bd3-31b9-60b2-5f43-aa3eebe3e544", + "time": 6.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-30", + "y": 0, + "z": 0 + } + ], + "uuid": "657384b7-dd69-72ed-88dd-980250d4a58e", + "time": 6.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "0af25f93-b41d-9817-6d13-bac9a75153cb", + "time": 6.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "dc7ea629-3fbd-3ab4-b19b-b650f01ebbc1": { + "name": "Pillager2RightLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "02075d1c-f31a-a650-57b2-c35db6a92e58", + "time": 2.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30, + "y": 0, + "z": 0 + } + ], + "uuid": "5c6f7854-e549-b02c-7597-3760ad77fce1", + "time": 3.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "30", + "y": 0, + "z": 0 + } + ], + "uuid": "6ab3cc71-42a1-6ef7-523f-c35fbcff4366", + "time": 3.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "5bbbef67-a353-aa73-65ec-2d6656e7378e", + "time": 3.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "2791e921-5f7a-c274-d01b-f83acd184975", + "time": 6.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "6fa0b15a-f86e-3179-ab56-34d2b1d52e34", + "time": 6.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "30", + "y": 0, + "z": 0 + } + ], + "uuid": "1a8acfe4-0cee-d473-b2ee-067a3e82d90c", + "time": 6.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-30", + "y": 0, + "z": 0 + } + ], + "uuid": "0066f5be-f13a-2231-da6e-b0b7bb106755", + "time": 6.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "30", + "y": 0, + "z": 0 + } + ], + "uuid": "aecf782f-f969-17e7-29ee-099246df04f3", + "time": 6.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "10d8e41b-dca8-630d-f955-b3ed3659dd57": { + "name": "Pillager2RightArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -84.76, + "y": -17.43, + "z": -1.57 + } + ], + "uuid": "db7a4604-8857-234e-e679-07ec345c550b", + "time": 6.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -42.26, + "y": -17.43, + "z": -1.57 + } + ], + "uuid": "2550acd4-90e4-27e0-b415-b6761aa1eaa0", + "time": 6.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -84.75867, + "y": -17.43127, + "z": -1.5741 + } + ], + "uuid": "efa0fdc6-2f11-769a-184e-b4db0a395143", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "6cdcbb03-49cb-2b16-c600-9f2c5ebde3e1": { + "name": "Pillager2LeftArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -83.70702, + "y": 37.33289, + "z": 3.82607 + } + ], + "uuid": "b281d7ba-b41c-c427-9bc6-f6273a6f5e12", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -83.71, + "y": 37.33, + "z": 3.83 + } + ], + "uuid": "2dbf7a95-529e-9ea1-ba86-01ba8be3b8d6", + "time": 6.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -46.21, + "y": 37.33, + "z": 3.83 + } + ], + "uuid": "06ffae66-8c8b-f5e2-315a-6b06652d03b3", + "time": 6.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "d3d68fd6-ec0b-9c11-81c0-b077a03e52f4": { + "name": "Pillager1LeftArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -83.70702, + "y": 37.33289, + "z": 3.82607 + } + ], + "uuid": "a0af96a5-54f6-d641-23a0-7c55c0476fff", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -83.71, + "y": 37.33, + "z": 3.83 + } + ], + "uuid": "1521a93c-e655-cfc4-7980-90f1785a5049", + "time": 6.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -46.21, + "y": 37.33, + "z": 3.83 + } + ], + "uuid": "d89a4131-b8a5-5028-e0c1-c02251feae00", + "time": 6.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "524aa7fa-4a79-c2ed-8683-50d8b34c8742": { + "name": "Pillager3", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "180", + "z": "0" + } + ], + "uuid": "2d950d25-5cad-c9c2-de0e-34494171eb2e", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 180, + "z": 0 + } + ], + "uuid": "1605c59a-1b9b-67c9-aa1e-8b14e0bbc9ad", + "time": 2.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 270, + "z": 0 + } + ], + "uuid": "e36f6e84-e979-e6fb-bef0-701d01b80acd", + "time": 2.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 387.5, + "z": 0 + } + ], + "uuid": "423db8df-07d8-8fdf-0976-a89a27ec3cd4", + "time": 2.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 387.5, + "z": 0 + } + ], + "uuid": "6e7e9884-b913-f5f8-f386-bc296916e833", + "time": 6.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 497.5, + "z": 0 + } + ], + "uuid": "4958cd2b-6333-a62f-7549-3ccb3322afab", + "time": 6.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 66, + "y": "0", + "z": 190 + } + ], + "uuid": "3f94bd7e-3dbd-9d1c-e872-48ec1a855017", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 66, + "y": 0, + "z": 190 + } + ], + "uuid": "ed83fbc2-fedd-027f-6ecb-ecdc41408626", + "time": 2.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 83, + "y": 0, + "z": 175 + } + ], + "uuid": "f44251fc-16ce-052b-763f-c8bfcaaa59bd", + "time": 2.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 72.99, + "y": -1, + "z": 189.83 + } + ], + "uuid": "757187ef-486a-eb32-f25d-f75d10a5878d", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 83, + "y": 0, + "z": 175 + } + ], + "uuid": "db4fdc09-7316-cada-ee86-1e36e0048a0f", + "time": 6.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 100, + "y": 0, + "z": 151 + } + ], + "uuid": "cea20131-592e-dc2a-d5cd-be5a0d3e222e", + "time": 6.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 88.88, + "y": 8, + "z": 166.7 + } + ], + "uuid": "9902ceb6-fd1e-e3d5-6537-67da9f6b27df", + "time": 6.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e81e2914-09c3-4e58-6238-83903525c9aa": { + "name": "Pillager3Head", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 30, + "y": "0", + "z": "0" + } + ], + "uuid": "28e24988-7f12-4412-8c24-047a8babdafd", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 30, + "y": 0, + "z": 0 + } + ], + "uuid": "9acdf127-0a51-331f-2f60-362efb47a102", + "time": 2.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "211ca46c-0c02-4a1b-6896-d292a7d2d7e3", + "time": 2.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "701f91df-5a94-d77f-1856-153ff2db1e3d", + "time": 6.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30, + "y": 0, + "z": 0 + } + ], + "uuid": "93e78ee0-a826-c7d0-f34f-33c9b21f7e3c", + "time": 7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "b868439b-c367-2194-7763-cff8700d15f9": { + "name": "Pillager3LeftLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "174a5e71-7bd4-b8d3-0a0e-904a472de977", + "time": 2.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-30", + "y": 0, + "z": 0 + } + ], + "uuid": "45c5d3b0-17c2-9c12-f7a8-8c5539b85b48", + "time": 2.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "30", + "y": 0, + "z": 0 + } + ], + "uuid": "d926dba9-1ac0-5eb0-c81c-75c1942358c7", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "7185550f-8011-9d4d-7295-f0027b199ced", + "time": 2.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "d8cf79c5-9990-e7d2-82d3-41267376a0c7", + "time": 6.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-30", + "y": 0, + "z": 0 + } + ], + "uuid": "ae1a5cb7-383b-046f-8a4f-aca71d575246", + "time": 6.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "30", + "y": 0, + "z": 0 + } + ], + "uuid": "a7e8c0af-ac10-6bdb-ca06-d4949250432a", + "time": 6.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-30", + "y": 0, + "z": 0 + } + ], + "uuid": "c7208e5b-ff79-c747-43fa-bb31f9b21365", + "time": 6.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "f4a07f06-02c1-d70e-c4df-9aeeca9c2e09", + "time": 6.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "f09dc453-8e71-714a-ad66-47b251b5e36a": { + "name": "Pillager3RightLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "ddc64a7c-2856-6376-b378-45003c88efd3", + "time": 2.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "30", + "y": 0, + "z": 0 + } + ], + "uuid": "62a1ae5e-f7fc-c14c-8a38-85eea83b051f", + "time": 2.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-30", + "y": 0, + "z": 0 + } + ], + "uuid": "e856d314-6e7c-478b-1d7e-2eb0e18b1871", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "19ede5c8-4f3b-126d-fba8-0cba62ee2c32", + "time": 2.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "a4942a21-e5f3-21a2-40d3-3a69e800576d", + "time": 6.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "80554dbd-4ce5-5398-e1cc-14c646d81eb0", + "time": 6.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "30", + "y": 0, + "z": 0 + } + ], + "uuid": "acfef6f7-3618-c564-29b1-b6ae210f565e", + "time": 6.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-30", + "y": 0, + "z": 0 + } + ], + "uuid": "36c04262-74b2-f2b0-79b9-dbf47e944dd6", + "time": 6.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "30", + "y": 0, + "z": 0 + } + ], + "uuid": "da0d41d4-1a00-bfd2-3083-8fa7bcefda1e", + "time": 6.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "21936b22-dbe2-6678-a358-4d9a255e7853": { + "name": "Pillager3RightArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -84.75867, + "y": -17.43127, + "z": -1.5741 + } + ], + "uuid": "17e10c6e-20dd-0af2-cec5-75cbd7db9df5", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -84.76, + "y": -17.43, + "z": -1.57 + } + ], + "uuid": "29863635-cf78-806f-53d2-1f7b0d080d35", + "time": 6.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -42.26, + "y": -17.43, + "z": -1.57 + } + ], + "uuid": "c89af268-e3c4-7392-e8d9-bb33ebb67cec", + "time": 6.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "b6ef799c-08cd-af05-afda-1759d5932086": { + "name": "Pillager3LeftArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -83.70702, + "y": 37.33289, + "z": 3.82607 + } + ], + "uuid": "16d552f3-e33b-bad1-a48b-8d7c81296204", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -83.71, + "y": 37.33, + "z": 3.83 + } + ], + "uuid": "40def43d-4e46-a156-b4f6-48e380721877", + "time": 6.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -46.21, + "y": 37.33, + "z": 3.83 + } + ], + "uuid": "613d1dc0-0ad8-318f-0de4-4513dcdbabbf", + "time": 6.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e98e96cf-993b-878e-02b8-777c368bb888": { + "name": "Midori", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 40, + "z": "0" + } + ], + "uuid": "9c37b8dd-1dcc-c52d-1071-cf7069cc35b9", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": -5, + "z": "0" + } + ], + "uuid": "5b2f570b-d35d-b33a-9919-191633d1e7d6", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "22d40862-bd19-a16d-9e33-79364e6656d8": { + "name": "MidoriHead", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 15, + "y": -12.5, + "z": 0 + } + ], + "uuid": "1eef3cfc-40ce-7e27-ffe1-8a10de7c3772", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -7.16285, + "y": 2.59392, + "z": "0" + } + ], + "uuid": "6e508695-f10d-245e-3712-5b56cfa0fa21", + "time": 0.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -2.16285, + "y": 2.59392, + "z": 0 + } + ], + "uuid": "1173d438-38ca-82d6-1464-d6e66f58cb68", + "time": 1.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "d0e2a4ef-6f4f-9e4a-2014-102fa43a71ca": { + "name": "Skirt1", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": "0", + "z": "0" + } + ], + "uuid": "e6202f1c-fa9c-e049-b7ee-6d8c0a80d4e0", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1.1", + "y": "1", + "z": "1.25" + } + ], + "uuid": "621bdf80-abf5-b1c4-158b-36e1ab7caafd", + "time": 0, + "color": -1, + "uniform": false, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3c1cb66d-8a31-d31f-ec9f-65a33e313a53": { + "name": "MidoriRightArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -48.2968, + "y": -67.10507, + "z": 50.61848 + } + ], + "uuid": "b9d24be4-99b7-f91d-1156-77e2ef3cd40f", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -55.005, + "y": -63.18101, + "z": 58.00329 + } + ], + "uuid": "b4fdb4cb-e211-4bb4-a220-2196c3b62621", + "time": 2.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -48.2968, + "y": -67.10507, + "z": 50.61848 + } + ], + "uuid": "0dc4b3ad-a9ed-bf51-374d-5058446cc1bf", + "time": 5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -55.005, + "y": -63.18101, + "z": 58.00329 + } + ], + "uuid": "50665e33-2dac-c322-5931-010309478dcd", + "time": 7.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -48.2968, + "y": -67.10507, + "z": 50.61848 + } + ], + "uuid": "863c8ea5-6430-b8ae-9f76-d225876c520e", + "time": 10, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "b924539e-1292-1a17-6240-a525ae346090": { + "name": "MidoriRightArmBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -27.5, + "y": "0", + "z": "0" + } + ], + "uuid": "708d43f1-34bf-37b0-b938-67505b5a6c13", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e7d3e5d8-00e4-587c-7bb6-6787db00054b": { + "name": "MidoriLeftArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -48.2968, + "y": 67.10507, + "z": -50.61848 + } + ], + "uuid": "7fa03a1f-0244-1fd0-9ae5-2ee981bcf65b", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -55.005, + "y": 63.18101, + "z": -58.00329 + } + ], + "uuid": "733555fe-1a21-7072-4005-f9c94d1eb881", + "time": 2.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -48.2968, + "y": 67.10507, + "z": -50.61848 + } + ], + "uuid": "5ba1623d-9bf1-a9d6-9380-e3c35a96f2ee", + "time": 5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -55.005, + "y": 63.18101, + "z": -58.00329 + } + ], + "uuid": "e2e70662-39f1-0697-38e3-c81788bfca0e", + "time": 7.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -48.2968, + "y": 67.10507, + "z": -50.61848 + } + ], + "uuid": "4ecab81f-9dd7-ab3c-452a-c539c702e073", + "time": 10, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ad1c45ef-c0a8-6d31-d2dc-fbdc6ab7ddcc": { + "name": "MidoriLeftArmBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -27.5, + "y": "0", + "z": "0" + } + ], + "uuid": "752abadc-2205-9968-02cf-7dbc59dc4df4", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "b6749aac-ebba-c5d5-1cb7-e43c59887386": { + "name": "Gun2", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 56.88232, + "y": -8.67309, + "z": -16.5214 + } + ], + "uuid": "b55f0119-d3f9-9214-6a4e-8ace7e1ef7a4", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -6, + "y": 13.75, + "z": -3.5 + } + ], + "uuid": "1985da10-e31a-0d2a-d45c-9fd6abc4bb26", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e802c881-f01d-a03f-ffb1-6e27172b4c88": { + "name": "CoverBack2", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "94d21afe-858a-9b99-572e-b25d849107d7", + "time": 5.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90, + "y": -17.5, + "z": 0 + } + ], + "uuid": "20ffd726-74a9-8f41-708a-c33e43ed5acb", + "time": 5.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "35056664-055b-bf64-0836-fad4c9a20689", + "time": 5.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -4, + "y": 8, + "z": 7 + } + ], + "uuid": "232c4a70-9415-3cb4-0e5d-f41308e1bbce", + "time": 5.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -2, + "y": 12, + "z": 3.5 + } + ], + "uuid": "f56a0c2e-0c69-2922-590b-c425c3ece836", + "time": 5.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "634e72ae-9145-3745-025b-b0f684e68756": { + "name": "CoverBack3", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -90, + "y": 17.5, + "z": 0 + } + ], + "uuid": "e16b845d-535c-ea79-13c8-06eaf9b47438", + "time": 6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "5283f7d0-379a-3824-0970-560636b9f926", + "time": 5.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 4, + "y": 8, + "z": 16 + } + ], + "uuid": "448a6ecd-549c-05e0-fd4f-99e7930e7265", + "time": 6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "26877969-5d26-ba56-9d6d-d19d7bf08d8e", + "time": 5.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 2, + "y": 13, + "z": 8 + } + ], + "uuid": "aa76fb22-ac30-006d-9527-6df88c6339ce", + "time": 5.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "883b715e-f70a-83fc-b63d-fe56e2b20006": { + "name": "MainPainting", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "de193c4d-1238-1cf7-b1d4-73c05565f317", + "time": 5.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 10 + } + ], + "uuid": "4489aff6-8ac7-54f2-1efc-a84fac1c6a6b", + "time": 6.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 17.5 + } + ], + "uuid": "f8aa2e3f-c0f5-6a23-df6a-6e4932dd5957", + "time": 6.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 90, + "y": 0, + "z": 17.5 + } + ], + "uuid": "34f51dc8-a436-43f9-6cc6-8d9c8949ca22", + "time": 6.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 90, + "y": 0, + "z": 17.5 + } + ], + "uuid": "b1d99b64-04c2-ed22-1612-6a1587051bc2", + "time": 6.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 97.47178, + "y": 0.65182, + "z": 12.54256 + } + ], + "uuid": "b2ca7e39-af07-a9c2-b405-4db3cf557cea", + "time": 6.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "4e65c807-3bb3-ae16-b545-7014ee9185ad", + "time": 5.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": -11, + "z": -15 + } + ], + "uuid": "3a89ccc8-2a33-05da-1d64-b6e7685d9a8f", + "time": 6.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": -14, + "z": -15 + } + ], + "uuid": "743663d8-5dd8-3ccd-0edc-1e9b5e0a2ec4", + "time": 6.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": -14, + "z": -15 + } + ], + "uuid": "47da9a12-aeb3-0eff-f5b6-6ad176ffc43e", + "time": 6.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": -12, + "z": -15 + } + ], + "uuid": "6d5d90f3-12b7-eaf3-f196-58bdf4bf4e67", + "time": 6.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -3, + "y": -8, + "z": -18 + } + ], + "uuid": "42c7aff5-5049-a6e5-5e9a-7f53d370b84f", + "time": 6.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -3, + "y": -8.75, + "z": -23 + } + ], + "uuid": "6628d489-4388-4928-8bfb-11a4f404ce19", + "time": 6.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "685643af-3722-358c-4a7b-b08659b91c3f": { + "name": "SpecialItemGroup", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "5d3f570a-4ffe-98a9-8f20-d82cc491efe5", + "time": 6.4, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "ba54d616-1fdb-31f3-04f8-93858f67d75d", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "720", + "z": 0 + } + ], + "uuid": "6ea58ed2-81d5-3cd6-1e57-b7a738e25acb", + "time": 7.5, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.89667, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.89667, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 70.08776, + "y": -13.14793, + "z": 36.07133 + } + ], + "uuid": "c35d97a7-0d6d-8e65-95f8-a835ef9b9ead", + "time": 7.55, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -127.66602, + "y": 61.56938, + "z": -264.66292 + } + ], + "uuid": "06848da6-36d4-a215-4b88-44eac3bff5b8", + "time": 8.9, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "e7a6f272-993a-0cea-9e86-21dd8192c68f", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "779d258d-3548-3cdd-c4ab-296eba427542", + "time": 6.4, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -24 + } + ], + "uuid": "a85275ec-c6f5-7e94-fdd1-2537af062a66", + "time": 7.5, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.89667 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.89667 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -27.5, + "y": -44.25, + "z": -233 + } + ], + "uuid": "f505a459-2248-d578-05b4-299ca03b72f2", + "time": 7.55, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -25.25, + "y": -44.75, + "z": -231 + } + ], + "uuid": "caa1ad0c-d89a-c79f-9eed-77705926718c", + "time": 8.9, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "830eeb12-454d-7691-4ddd-d6f008666c35", + "time": 0, + "color": -1, + "uniform": true, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "e9cf1b78-2e89-d817-ea6f-d51395cd497f", + "time": 6.4, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "2.5", + "y": "2.5", + "z": "2.5" + } + ], + "uuid": "e44072f7-b5a6-4d91-74f5-51c387787a4d", + "time": 6.75, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 2.5, + "y": 2.5, + "z": 2.5 + } + ], + "uuid": "7c316619-275a-709e-87fa-97839e9deb7c", + "time": 7.5, + "color": -1, + "uniform": true, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0.4", + "y": "0.4", + "z": "0.4" + } + ], + "uuid": "a6e49232-118d-fc24-9717-a190d664d17a", + "time": 7.55, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "c21a367d-0341-df02-6643-b90627440ea4": { + "name": "GlowEffectsGroup1", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "eb329653-5a42-9512-3c46-7bff35a78825", + "time": 6.4, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "180" + } + ], + "uuid": "3e318aa4-5970-4e28-d702-fbb74885e8f7", + "time": 7.5, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.99691 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.99691 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "9a0cd7be-787f-299d-62f8-cf567ee35851", + "time": 7.55, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.34774 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.34774 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 180 + } + ], + "uuid": "e3dad828-f038-2b93-c7e6-faeb4e9ea1a1", + "time": 8, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "6f7ffb91-2f7a-b7fc-7c5c-520159c2ade7", + "time": 8.9, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.05412 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.05412 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "135" + } + ], + "uuid": "8a5723fb-fcba-4b31-7fa6-a5f0a1ad761a", + "time": 10, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.99921 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.99921 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "f332e019-7ab0-0b15-e67e-c70ee61c2798", + "time": 7.55, + "color": -1, + "uniform": true, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.35233, + -0.35233, + -0.35233 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.35233, + 0.35233, + 0.35233 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "fc31e85f-ecab-f43f-a9b8-a2ec9aed3141", + "time": 8, + "color": -1, + "uniform": true, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "d0a2abac-c0d1-6639-5150-38a751529e4b", + "time": 8.9, + "color": -1, + "uniform": true, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.05183, + -0.05183, + -0.05183 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.05183, + 0.05183, + 0.05183 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0.75", + "y": "0.75", + "z": "0.75" + } + ], + "uuid": "df394484-4791-edac-7271-1dbbf7696617", + "time": 10, + "color": -1, + "uniform": true, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.99691, + -0.99691, + -0.99691 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.99691, + 0.99691, + 0.99691 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "18afd237-65e3-eaff-3d7c-ae069ac02e83": { + "name": "GlowEffectsGroup2", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "bceea1ef-ff6d-71b6-c98c-590e976c76d5", + "time": 6.4, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-180" + } + ], + "uuid": "15ef012c-68d0-c946-26be-c7a3bc786aa7", + "time": 7.5, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.89598 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.89598 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "efbeeac1-22be-e84f-5569-45361bdfabd7", + "time": 7.55, + "color": -1, + "uniform": true, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "5f899bde-91db-4089-366d-da1f6ce93acc", + "time": 6.4, + "color": -1, + "uniform": true, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e88c2c86-f095-893b-e5cd-d0188527ca06": { + "name": "GlowEffectsGroup3", + "type": "bone", + "keyframes": [ + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "931fca87-2dda-54f2-580a-94b74b896af1", + "time": 0, + "color": -1, + "uniform": true, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "bddc8fe6-f01d-e07f-7aac-58224fb1cce3", + "time": 8.9, + "color": -1, + "uniform": true, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1.5", + "y": "1.5", + "z": "1.5" + } + ], + "uuid": "3d6ff5bc-c0dd-0a09-5fa8-233d243e15f9", + "time": 9.3, + "color": -1, + "uniform": true, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.40279, + -0.40279, + -0.40279 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.40279, + 0.40279, + 0.40279 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "ab56e971-8b41-686b-1f52-d2c39ccbed11", + "time": 9.35, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ee970440-6f0d-0878-49a1-0f946b29af68": { + "name": "Reticule", + "type": "bone", + "keyframes": [ + { + "channel": "scale", + "data_points": [ + { + "x": "4", + "y": "4", + "z": "4" + } + ], + "uuid": "1876a9c7-5203-4079-0b31-47acd04f7f1f", + "time": 0, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 4, + "y": 4, + "z": 4 + } + ], + "uuid": "84ea05d0-808a-991d-ca03-90b9616af1ce", + "time": 2.1, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "2.4", + "y": "2.4", + "z": "2.4" + } + ], + "uuid": "6af4ea05-cd64-2a72-144a-bf7e82cc4198", + "time": 2.15, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 3.2, + "y": 3.2, + "z": 3.2 + } + ], + "uuid": "09ff1599-6716-044f-2b33-c00402d80b8c", + "time": 2.2, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "2.4", + "y": "2.4", + "z": "2.4" + } + ], + "uuid": "5bc09d91-668e-c8fc-2955-a07ef242bda2", + "time": 2.25, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 4, + "y": 4, + "z": 4 + } + ], + "uuid": "d3741452-dc32-15d8-5217-56d7ff67320a", + "time": 2.35, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "2.4", + "y": "2.4", + "z": "2.4" + } + ], + "uuid": "718ad319-1e0d-7d11-3c3b-42f7693fda14", + "time": 2.4, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 4, + "y": 4, + "z": 4 + } + ], + "uuid": "51409c37-771b-99a2-5e5a-4a5cd2e9a6b8", + "time": 2.5, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "2.4", + "y": "2.4", + "z": "2.4" + } + ], + "uuid": "c8647518-a2f5-4ff6-ece1-7cb740cddf0e", + "time": 2.55, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 3.2, + "y": 3.2, + "z": 3.2 + } + ], + "uuid": "b8db891c-1fb9-43c7-d9c0-24b5c9ed4865", + "time": 2.6, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "2.4", + "y": "2.4", + "z": "2.4" + } + ], + "uuid": "0d2ed0d8-f27d-0111-02da-86bb96beb2a6", + "time": 2.65, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 4, + "y": 4, + "z": 4 + } + ], + "uuid": "36601a4e-d315-2767-8a79-e00cdcdadf72", + "time": 2.75, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "2.4", + "y": "2.4", + "z": "2.4" + } + ], + "uuid": "0949e02f-5ba9-1a0a-4dc1-b99f6f08ffcb", + "time": 2.8, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 4, + "y": 4, + "z": 4 + } + ], + "uuid": "c4705dcd-b9df-32e1-c7d6-d67f589b544b", + "time": 2.9, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 4, + "y": 4, + "z": 4 + } + ], + "uuid": "c0042240-ef5c-4173-9dfc-21420fabd66f", + "time": 3.4, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "2.4", + "y": "2.4", + "z": "2.4" + } + ], + "uuid": "a5e2c111-7549-4f1e-c262-8b2639293f86", + "time": 3.45, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 3.2, + "y": 3.2, + "z": 3.2 + } + ], + "uuid": "f0eb73f0-19eb-cbbf-fa0a-a7e32628d2fc", + "time": 3.5, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "2.4", + "y": "2.4", + "z": "2.4" + } + ], + "uuid": "16e44228-7fdd-21e0-acd4-aa326326c58c", + "time": 3.55, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 3.2, + "y": 3.2, + "z": 3.2 + } + ], + "uuid": "58115e81-91b7-2967-e2ec-0a4d029dbc0a", + "time": 3.6, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "2.4", + "y": "2.4", + "z": "2.4" + } + ], + "uuid": "ba3bfbd9-7134-c012-e6df-727b45fa0754", + "time": 3.65, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 4, + "y": 4, + "z": 4 + } + ], + "uuid": "ae3a9c45-fcc0-d65a-142e-2bea585e64c0", + "time": 3.75, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 4, + "y": 4, + "z": 4 + } + ], + "uuid": "8222fa70-71a3-886f-be7d-06d8dbfd2445", + "time": 4, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "2.4", + "y": "2.4", + "z": "2.4" + } + ], + "uuid": "2f6bed12-a9aa-c28e-68fe-be5cc4a048da", + "time": 4.05, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 4, + "y": 4, + "z": 4 + } + ], + "uuid": "37d23260-9fcd-3030-bf60-66c4ea095203", + "time": 4.15, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "2.4", + "y": "2.4", + "z": "2.4" + } + ], + "uuid": "2be5d717-fb03-097f-a274-88bcdb6f123c", + "time": 4.2, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 4, + "y": 4, + "z": 4 + } + ], + "uuid": "447a31af-b8b8-dc38-4178-e97084042b23", + "time": 4.3, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "2.4", + "y": "2.4", + "z": "2.4" + } + ], + "uuid": "486d39bb-de94-3afc-87ee-e6b0fe797fae", + "time": 4.35, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 3.2, + "y": 3.2, + "z": 3.2 + } + ], + "uuid": "282828dc-c422-3aa3-c998-c98fc2240067", + "time": 4.4, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "2.4", + "y": "2.4", + "z": "2.4" + } + ], + "uuid": "1dfb24b3-ed20-a1b5-0f8d-abe1a94def2c", + "time": 4.45, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 4, + "y": 4, + "z": 4 + } + ], + "uuid": "5f9ae6cf-7876-26bd-1272-776e30705f2a", + "time": 4.55, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 4, + "y": 4, + "z": 4 + } + ], + "uuid": "ed46d7ca-d8c1-5cda-0111-134c5474df3a", + "time": 4.95, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "2.4", + "y": "2.4", + "z": "2.4" + } + ], + "uuid": "dedc46d3-105b-8b8f-045f-ee7097c54078", + "time": 5, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 4, + "y": 4, + "z": 4 + } + ], + "uuid": "ed3ad85d-55d6-9264-27ba-4d34200a2618", + "time": 5.1, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 4, + "y": 4, + "z": 4 + } + ], + "uuid": "d9f065db-3e0a-31d0-5d97-79b4adc64d1a", + "time": 5.25, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "2.4", + "y": "2.4", + "z": "2.4" + } + ], + "uuid": "fb784c6e-ad92-cc61-989d-c7d148948488", + "time": 5.3, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 4, + "y": 4, + "z": 4 + } + ], + "uuid": "4eb2e5f0-3a88-6f0e-b413-5875b805da01", + "time": 5.4, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "2.4", + "y": "2.4", + "z": "2.4" + } + ], + "uuid": "a4909f3e-c082-7d8f-a707-6373be20ccf2", + "time": 5.45, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 3.2, + "y": 3.2, + "z": 3.2 + } + ], + "uuid": "a61bd584-e27f-d4dd-b90a-5759dfef0553", + "time": 5.5, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "2.4", + "y": "2.4", + "z": "2.4" + } + ], + "uuid": "f4c12682-74e9-9ede-a208-3de78727677a", + "time": 5.55, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 3.2, + "y": 3.2, + "z": 3.2 + } + ], + "uuid": "4f7baeb8-171b-df00-82b2-0fef522f1b90", + "time": 5.6, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "2.4", + "y": "2.4", + "z": "2.4" + } + ], + "uuid": "f09e3a61-d131-4d44-2445-439f3d999813", + "time": 5.65, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "2.4", + "y": "2.4", + "z": "2.4" + } + ], + "uuid": "80c1125e-4b4c-4384-d26c-ae29932fc239", + "time": 5.7, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 3.2, + "y": 3.2, + "z": 3.2 + } + ], + "uuid": "c525378b-4827-1253-1a55-b3ddadee9563", + "time": 5.75, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "2.4", + "y": "2.4", + "z": "2.4" + } + ], + "uuid": "81ef0594-7174-1106-40a0-e22c4aa2058e", + "time": 5.8, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 4, + "y": 4, + "z": 4 + } + ], + "uuid": "9e9cfbc0-988a-735c-f80e-172b45879062", + "time": 5.9, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e1823eee-516f-e0d5-d782-cf5f5d6a3acd": { + "name": "ReticuleAnchor", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": -56, + "y": -36, + "z": 0 + } + ], + "uuid": "3e385fd3-6e7b-cf22-7628-3011a2811141", + "time": 1.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -45, + "y": -36, + "z": 0 + } + ], + "uuid": "c0349079-6700-9d9b-ace6-04b352e7f127", + "time": 2.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 73, + "y": -36, + "z": 0 + } + ], + "uuid": "c5350e8a-3501-9f96-dd8f-3440541980a0", + "time": 2.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 158, + "y": -8, + "z": 0 + } + ], + "uuid": "04a15d15-d8db-6243-3365-fa1513dea4fd", + "time": 2.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 62, + "y": -1, + "z": 0 + } + ], + "uuid": "23e2050d-50cc-b039-03e9-fd267e98d882", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 2, + "y": 4, + "z": 0 + } + ], + "uuid": "05f02491-5b8f-ec8a-d2c5-3275cda1add4", + "time": 2.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -51, + "y": 25, + "z": 0 + } + ], + "uuid": "f1039d58-b7c9-2f8a-3cf9-32c74fcc5fa9", + "time": 2.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -51, + "y": 25, + "z": 0 + } + ], + "uuid": "9843c82a-f8e5-4e8d-0c05-8507738bf3b2", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -22, + "y": -6, + "z": 0 + } + ], + "uuid": "3bc946bb-5487-f7eb-b3e4-d4343a2e4992", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -102, + "y": -3, + "z": 0 + } + ], + "uuid": "f8ea8de3-8f85-856b-1493-996cd7f34aaa", + "time": 3.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -160, + "y": 5, + "z": 0 + } + ], + "uuid": "5c5f8e75-0326-c028-b572-eaf065bef096", + "time": 3.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -160, + "y": 5, + "z": 0 + } + ], + "uuid": "3d33a471-b3d9-5a44-1cbc-7c1ded63c7e5", + "time": 3.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -97, + "y": -47, + "z": 0 + } + ], + "uuid": "c81f8833-396c-76f4-2557-878c3c42a29d", + "time": 4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -141, + "y": -26, + "z": 0 + } + ], + "uuid": "9ab4512b-d5cb-c398-b4ee-a340fa50d97c", + "time": 4.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -116, + "y": -25, + "z": 0 + } + ], + "uuid": "dbd552b5-13de-08ac-9654-cac4f979f828", + "time": 4.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -77, + "y": 35, + "z": 0 + } + ], + "uuid": "77dc1be6-5bd8-e950-086c-a7794408300f", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -101, + "y": -16, + "z": 0 + } + ], + "uuid": "19342ea4-fb26-cc6b-7d4d-00a1588ce49a", + "time": 4.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -46, + "y": -61, + "z": 0 + } + ], + "uuid": "a0ed678d-1614-641b-e1d1-332fa921f49d", + "time": 5.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 57, + "y": -42, + "z": 0 + } + ], + "uuid": "5a24d23b-77a5-9e29-6795-c93d77f6f695", + "time": 5.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 41, + "y": 10, + "z": 0 + } + ], + "uuid": "0e9c0ab4-1a41-3de7-4eb3-288138396c31", + "time": 5.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -34, + "y": 16, + "z": 0 + } + ], + "uuid": "52e7ea75-25e0-3505-75e4-dba8e027eb4f", + "time": 5.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -23, + "y": 18, + "z": 0 + } + ], + "uuid": "e6e066f1-947f-1ff1-daa6-654fa680c4df", + "time": 5.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 18, + "y": 33, + "z": 0 + } + ], + "uuid": "5ad587d3-482b-9fa7-9faa-7d8b29386393", + "time": 5.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "5f5b3967-e8cf-9f42-29d0-0e41b0d14363": { + "name": "MomoiHeadUI", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "9ad16710-627f-9bff-6b89-5c563c4ecef4", + "time": 2.35, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-4", + "y": "-4", + "z": 0 + } + ], + "uuid": "397477fe-60c9-26a8-08e0-12db773df648", + "time": 2.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "4", + "y": "4", + "z": 0 + } + ], + "uuid": "c1a6a94c-d8de-41ee-3d3d-238ec2d1cbb3", + "time": 2.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "efdfc0f4-ba73-1fae-c7ea-d89cea0e62a3", + "time": 2.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "c6a3580a-a4b6-37ef-467c-168403ba6ea1", + "time": 3.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-4", + "y": "-4", + "z": 0 + } + ], + "uuid": "4457d15f-a1bd-9bac-0de7-7bed85213c65", + "time": 3.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "4", + "y": "4", + "z": 0 + } + ], + "uuid": "d54cf505-e32a-00d3-6a0c-03d96086a1a2", + "time": 3.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "16328ff3-8259-0977-6397-6e07e0b87359", + "time": 3.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "60785250-3be5-b6b7-1337-d622d3601aa0": { + "name": "Bullet3", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "d5d86647-4f47-152f-05af-6ef375cf3acf", + "time": 5.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -217.5 + } + ], + "uuid": "5adad2aa-faac-47d0-a8c4-901477df53c3", + "time": 6.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 15, + "z": 0 + } + ], + "uuid": "282eaad1-c377-f15a-4f2c-66cdd43e8fc7", + "time": 5.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 44, + "y": -19, + "z": 0 + } + ], + "uuid": "fbf2f0b0-154c-d708-0169-1d0bb2f4e1c5", + "time": 6.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 17.44, + "y": 56.85, + "z": 0 + } + ], + "uuid": "c9379cd7-220b-b757-c438-1e591eefd144", + "time": 6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "995219e7-f6cb-7b15-ac57-3519c9365836", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "2b65e7a2-64d2-4969-9a69-1b9c3020c8ec", + "time": 6.15, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "993a98f9-84d5-3655-abfd-aeab67aa92f7", + "time": 6.35, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ac5f989b-6658-dd9e-9dec-054579cc0c19": { + "name": "Bullet4", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "58ed75d7-87c7-cd2b-1449-e7ed535bc9d9", + "time": 5.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -217.5 + } + ], + "uuid": "460955e2-d710-d5ed-e506-8344b999b568", + "time": 6.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "5a3fc663-6760-53d9-4da2-38ca7c92d06d", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 20, + "z": 0 + } + ], + "uuid": "190d5f7e-f2eb-6a6f-e6e3-83133af8f3fc", + "time": 5.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 44, + "y": -14, + "z": 0 + } + ], + "uuid": "b1bb1969-43bb-903a-5963-85d97adeb640", + "time": 6.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 17.44, + "y": 61.85, + "z": 0 + } + ], + "uuid": "359ea313-e44c-d94f-002c-111d446412a2", + "time": 5.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "0472d1f6-9590-a606-550c-155b513c9e47", + "time": 6, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "f4eaee0c-abfe-0240-35f1-82ae5f354364", + "time": 6.2, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "be18dbfc-248e-ef69-098f-77da5070e805": { + "name": "Bullet5", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "b3e4e87d-e7fd-01df-541c-0e9eedef6050", + "time": 5.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -217.5 + } + ], + "uuid": "35f0801b-2f20-9945-429e-9b771e461e18", + "time": 6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "b85cb4a5-ef91-5aa5-41c6-34d6ecc3e3e1", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 25, + "z": 0 + } + ], + "uuid": "6884679d-a717-fe92-1111-557e9f734275", + "time": 5.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 44, + "y": -9, + "z": 0 + } + ], + "uuid": "75bb496b-8c52-6978-9ec3-a3be738b4d51", + "time": 6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 17.44, + "y": 66.85, + "z": 0 + } + ], + "uuid": "63a71ee6-4c53-0cc7-4c40-d843db1ddba3", + "time": 5.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "dcf92710-262d-7a77-e038-f6511268953b", + "time": 5.8, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "e3e84b76-3c8a-5ba9-18c1-d62f15b595aa", + "time": 6, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "011cb892-1ea2-bb46-d770-6885b7675239": { + "name": "Bullet6", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "221045df-7825-6e6a-68a8-f52b25b952d2", + "time": 4.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -217.5 + } + ], + "uuid": "1031e224-2ee7-c32d-eb00-4e02c1be2804", + "time": 5.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "e10198a2-1073-3afb-85d4-1247128f6771", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 30, + "z": 0 + } + ], + "uuid": "a566e1c3-97f7-499b-454d-faa67e4ef152", + "time": 4.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 44, + "y": -4, + "z": 0 + } + ], + "uuid": "1737a083-a3b0-1eff-3466-49c756a8a42f", + "time": 5.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 17.44, + "y": 71.85, + "z": 0 + } + ], + "uuid": "e12465a3-0ca2-07cc-0908-e079f79039ba", + "time": 5.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "b5960829-e5e8-7d3a-1945-c06130e17e4f", + "time": 5.35, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "5270464d-adfc-5a33-3fcb-cd385cf4ee75", + "time": 5.55, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "904b8f89-d83e-44a4-df3a-1565789cb775": { + "name": "Bullet7", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "2f74dfe4-fa6f-405c-c857-396d6b008e46", + "time": 4.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -217.5 + } + ], + "uuid": "1c914fb7-6883-0a25-7426-367fa15624ef", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "09752158-77c0-b445-4df1-b2f1bf69b546", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 35, + "z": 0 + } + ], + "uuid": "e31edb46-cacc-eb8f-1b61-635498d81edb", + "time": 4.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 44, + "y": 1, + "z": 0 + } + ], + "uuid": "7a51e2a0-0d97-f474-01d7-38bb1e0dcf4f", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 17.44, + "y": 76.85, + "z": 0 + } + ], + "uuid": "ffe5eff9-66ef-a60e-5073-d576f11c4996", + "time": 4.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "55c14e78-0342-2114-7879-31e76a736651", + "time": 4.7, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "642d12e6-f6ec-537f-233b-02b9baf74415", + "time": 4.9, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "b23943b6-e931-f25c-833d-e453882e3726": { + "name": "Bullet8", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "ff81f8fd-d732-09f3-2322-e697a3d31855", + "time": 4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -217.5 + } + ], + "uuid": "6460d53e-46fd-21f7-e98e-4c2f6c42e495", + "time": 4.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "e5f4e167-4cff-6bc5-8ce1-52538ab4634f", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 40, + "z": 0 + } + ], + "uuid": "980bd458-8b97-5df7-4412-e2d683ed5304", + "time": 4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 44, + "y": 6, + "z": 0 + } + ], + "uuid": "0f0f5ceb-e219-3f76-9897-f32ba2d466e2", + "time": 4.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 17.44, + "y": 81.85, + "z": 0 + } + ], + "uuid": "de5579fa-c1e6-e65c-4bac-e2e5c003bbbe", + "time": 4.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "541cd73f-6c7d-3ffd-8a8a-8bf6410d823f", + "time": 4.4, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "99fe6e6e-5910-fb82-af06-bc310c6a2889", + "time": 4.6, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "f6cad6ba-07dd-d139-abad-ddcf489d37d1": { + "name": "Bullet9", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "0784a7ba-a683-a8ec-d23b-272c62bd1ac8", + "time": 3.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -217.5 + } + ], + "uuid": "dadb83a8-8e8a-cdaf-851b-6f52158bc34f", + "time": 4.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "9e4bbe13-38c7-bd7f-263f-639d039dfd05", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 45, + "z": 0 + } + ], + "uuid": "73404e2b-0231-f2b6-2282-c59bbba54742", + "time": 3.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 44, + "y": 11, + "z": 0 + } + ], + "uuid": "d8fab8f0-5a43-f655-c6d9-b287fbb475d9", + "time": 4.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 17.44, + "y": 86.85, + "z": 0 + } + ], + "uuid": "d2718ca2-7ae1-ab07-124a-66f84063d15b", + "time": 3.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "209c456c-6d83-52ce-245c-332fa35dfbe8", + "time": 3.9, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "1a1fcbfc-6099-1de6-df9b-9686370afb7f", + "time": 4.1, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "822305e3-afc6-0a19-1db1-8700c459062e": { + "name": "Bullet10", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "40d30854-f242-4e32-77d8-06d89dd306b6", + "time": 2.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -217.5 + } + ], + "uuid": "b04e7db3-de70-1864-5aac-c3df3bc5ff18", + "time": 3.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 50, + "z": 0 + } + ], + "uuid": "90393287-6ad4-0da8-d071-e04105a926b2", + "time": 2.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 44, + "y": 16, + "z": 0 + } + ], + "uuid": "c6ff5429-a8ec-f034-23a8-9545028a7ec5", + "time": 3.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 17.44, + "y": 91.85, + "z": 0 + } + ], + "uuid": "3757f1af-dbae-b0e4-92e4-7184523eb67a", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "f426c224-4d91-a4fe-6452-8dfa90bf0189", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "9262c45a-6391-683e-3212-8caabe429726", + "time": 3.15, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "86e87bed-7496-5f67-2cd5-077ac73cf49d", + "time": 3.35, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "8f691360-9b00-8b4b-7b94-6fdd176829a7": { + "name": "Bullet11", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "a1bbbfe3-682c-47d5-afb8-a052d868ae64", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -217.5 + } + ], + "uuid": "ba130628-6868-07c2-0f96-01db68c274ef", + "time": 3.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "dff0d787-baa3-5490-f87e-3982a37538f8", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 55, + "z": 0 + } + ], + "uuid": "4d887eff-639e-43f5-898a-03128b4c82cb", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 44, + "y": 21, + "z": 0 + } + ], + "uuid": "8cc5ee5f-5720-949a-5a35-22e85f28a07f", + "time": 3.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 17.44, + "y": 96.85, + "z": 0 + } + ], + "uuid": "bb4ee2f0-6ca3-5e4f-fc3b-e0361d633a2f", + "time": 2.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "be099b2b-87aa-c0b4-b34b-30c9df4960e8", + "time": 2.9, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "e08e0a81-ec34-14c1-b40d-14768c7ccb62", + "time": 3.1, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "20174428-4920-ec8e-0e2f-9a86bf48c68d": { + "name": "Bullet12", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "899ba25e-ea38-2dea-120a-5651dd8bc26a", + "time": 2.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -217.5 + } + ], + "uuid": "5f5cecea-2685-565e-e808-5d7df7c7c78a", + "time": 2.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 60, + "z": 0 + } + ], + "uuid": "e5174538-019e-0bd6-eadf-412078bbe1fe", + "time": 2.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 44, + "y": 26, + "z": 0 + } + ], + "uuid": "9b989968-9282-8fc4-d2e6-a5b976568c91", + "time": 2.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 17.44, + "y": 101.85, + "z": 0 + } + ], + "uuid": "6b00efea-eb97-5e48-2379-464b41250273", + "time": 2.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "6117fa48-b840-0588-772a-7235271af3ca", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "4e2d809e-35dd-e429-a3ce-d18ba12f98bc", + "time": 2.6, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "68a816e6-2a73-d5ec-b4ec-fefc297b1562", + "time": 2.8, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "b893bc15-f482-4c85-4b1f-a32402b1a400": { + "name": "Bullet15", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "a547036d-5588-434e-01e4-11694c6b9ff3", + "time": 5.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 170 + } + ], + "uuid": "2f566e16-96b8-1c57-1623-455bf9da6d8f", + "time": 6.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "2c3659f2-d5eb-7ec9-7468-c2b5ca77412a", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 15, + "z": 0 + } + ], + "uuid": "9b591b4d-379b-ea55-5dbd-7abf3977f7cc", + "time": 5.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 44, + "y": -19, + "z": 0 + } + ], + "uuid": "346b2aca-b1f9-a3e3-1d0e-ff86b2d31673", + "time": 6.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 17.44, + "y": 38.85, + "z": 0 + } + ], + "uuid": "a64404c3-c5b2-155d-4dfb-91649d0e9b83", + "time": 5.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "755b98f8-c6b7-1a4f-f7f0-d905f4b6a1ee", + "time": 6.05, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "ac285b66-26de-bd23-896e-d65a8d08d448", + "time": 6.25, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ef9d942b-3edb-7686-68b4-42747859e067": { + "name": "Bullet16", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "d98269b9-9bba-08a8-c7ac-d94587f01c0e", + "time": 5.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 170 + } + ], + "uuid": "f7a3f9ca-6e2c-4604-d6a2-6a0725450930", + "time": 6.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "9ed8659f-1b5e-665e-94b1-427b0306c9e9", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 20, + "z": 0 + } + ], + "uuid": "11c5f306-8754-4b2d-3ba7-1a0c9d1e98ee", + "time": 5.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 44, + "y": -14, + "z": 0 + } + ], + "uuid": "4f94d76b-6c4f-4ae3-47d7-2ec097574659", + "time": 6.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 17.44, + "y": 43.85, + "z": 0 + } + ], + "uuid": "d2cd5cec-49be-457d-d501-c904f1c962e1", + "time": 5.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "5bd252c9-48fb-05ec-1bc0-525738f8cfd3", + "time": 5.9, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "f993ff7d-433d-ca2f-739c-e64eb396e452", + "time": 6.1, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3c5565fe-3468-fbf2-7335-b98629162f2b": { + "name": "Bullet17", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "c7d84d70-847f-a3e9-81e8-14b634ccd4b8", + "time": 5.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 170 + } + ], + "uuid": "6f8d588f-3363-cee7-4725-9846b20734aa", + "time": 5.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "93d4f88b-6ea7-7d67-5549-8fd564b5609f", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 25, + "z": 0 + } + ], + "uuid": "8796038b-c39b-d5d6-4a3c-2e1aec41cfb0", + "time": 5.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 44, + "y": -9, + "z": 0 + } + ], + "uuid": "8e1274da-cb67-b0ce-9064-3bf9b4a0cbb0", + "time": 5.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 17.44, + "y": 48.85, + "z": 0 + } + ], + "uuid": "775e7e3c-01a4-b26c-8c53-cc2d7fb956ca", + "time": 5.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "e30f4daa-826c-07ad-8c58-a587393c2c70", + "time": 5.65, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "088adb07-dc8d-4ab2-aa03-fb1ee13759c7", + "time": 5.85, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "9fa2c239-c604-bcf3-a008-78664c1047b4": { + "name": "Bullet18", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "db7c1554-4b45-bef7-04ae-fb65e5679038", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 170 + } + ], + "uuid": "c39fffe8-1dbc-8e3f-81d4-55ffb3998b1e", + "time": 5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "f7a04cc2-0e7d-dfc5-9f95-5a46354d5625", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 30, + "z": 0 + } + ], + "uuid": "e1752ea6-7456-5df1-3560-7211404ef63a", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 44, + "y": -4, + "z": 0 + } + ], + "uuid": "fa619a41-b477-3e4e-19b4-c9765a9dab71", + "time": 5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 17.44, + "y": 53.85, + "z": 0 + } + ], + "uuid": "9973c135-f211-8c12-a744-f7a3cc2cde6e", + "time": 4.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "4e0d8ad6-5238-1072-4d81-dccf6af458b0", + "time": 4.8, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "6a446fe3-ec4d-de62-61d7-043cc1411866", + "time": 5, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "761c0726-3434-ea92-1c4c-b3d67894957b": { + "name": "Bullet19", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "2583e1f6-62eb-3a04-97e7-457465090ff2", + "time": 4.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 170 + } + ], + "uuid": "9073a9d6-4e94-2eb6-fdf1-1206212ed4d2", + "time": 4.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "479a68c0-752d-d98e-d5cf-47041dd140b8", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 35, + "z": 0 + } + ], + "uuid": "67102d7d-c02f-905c-1169-3fb26b3e4dc4", + "time": 4.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 44, + "y": 1, + "z": 0 + } + ], + "uuid": "ee5cb8e3-ac47-fe97-7e8e-9d4ba89e5840", + "time": 4.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 17.44, + "y": 58.85, + "z": 0 + } + ], + "uuid": "51236dad-f9b8-c549-4c66-21f0384bd574", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "1574ab8a-a169-5775-c5aa-3efdbbea7995", + "time": 4.55, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "29c14592-1732-ecc3-534c-9307ce5c5331", + "time": 4.75, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "07478205-61a1-14e7-7ac7-f68222f0cc4a": { + "name": "Bullet20", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "c972c1f8-fb58-4f5c-5fb4-9f806b5b28b8", + "time": 3.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 170 + } + ], + "uuid": "5bb63318-8d68-4d01-05ac-2800c7b68d48", + "time": 4.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "56fc273c-b80b-4681-c383-7e646ee4e4f2", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 40, + "z": 0 + } + ], + "uuid": "c9ae08b7-b045-1f40-53fe-b80ac807ffc6", + "time": 3.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 44, + "y": 6, + "z": 0 + } + ], + "uuid": "eff1894a-29bd-6602-d0da-0a0f0de08c9f", + "time": 4.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 17.44, + "y": 63.85, + "z": 0 + } + ], + "uuid": "53a023d5-597a-5b26-250e-2722d07aeefa", + "time": 3.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "d3bd1515-797b-be5b-0d9e-5c99f647eca2", + "time": 4, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "2c83f88c-92f1-7db1-355a-fbc9deba8ad4", + "time": 4.2, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "7bdecd4f-70b6-d0e6-31aa-3708a2a5856f": { + "name": "Bullet21", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "314452ec-9711-8d48-65a4-faab1511fbd4", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 170 + } + ], + "uuid": "1c3d5255-c476-e7c6-aa64-98052fd0051e", + "time": 4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "4b804a6c-9ad8-aba2-7d2e-24f5dbe12c98", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 45, + "z": 0 + } + ], + "uuid": "76fd8fff-620d-8187-2715-48a0aab16315", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 44, + "y": 11, + "z": 0 + } + ], + "uuid": "3f2e5c1f-6fad-86c5-ef37-0a8ae111a9f5", + "time": 4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 17.44, + "y": 68.85, + "z": 0 + } + ], + "uuid": "8c19c5a9-0a2e-88c8-2e01-4d51877a4ba3", + "time": 3.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "c05d2cfc-1ac3-bdf4-6076-790515de3ab8", + "time": 3.8, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "dfd9716c-852f-af7a-de7f-307ac41df01d", + "time": 4, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e6164821-72b4-cb06-5ecd-4d2cf5e497cd": { + "name": "Bullet22", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "d0ef4664-648f-98e2-e62a-7f46cbe7a9c0", + "time": 2.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 170 + } + ], + "uuid": "9498ebe7-ffe6-9c64-1ff2-e7ab80b78c2b", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "9a6952e1-fe3d-14e3-5049-480ced565eb6", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 50, + "z": 0 + } + ], + "uuid": "4f0ec508-b890-5f21-751d-e38385d74028", + "time": 2.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 44, + "y": 16, + "z": 0 + } + ], + "uuid": "b4ccf7f6-37e9-cb49-003a-33dc94f355bc", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 17.44, + "y": 73.85, + "z": 0 + } + ], + "uuid": "b5cd9fce-309c-c8e4-3456-836673ee53b3", + "time": 2.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "05fbc955-e990-4c55-d4c4-562f18fc348f", + "time": 3, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "b8a5b58b-87e8-59bc-e9d2-e31aa422986f", + "time": 3.2, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "38220ce6-f2c9-945e-8286-97c19233ddc8": { + "name": "Bullet23", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "5746af5b-b8c1-20c4-7246-298b8a2aac5c", + "time": 2.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 170 + } + ], + "uuid": "1e181595-1303-7720-0104-0af84b8be424", + "time": 2.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "8f172cd1-e119-e387-7d58-3346c5d122a6", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 55, + "z": 0 + } + ], + "uuid": "bc895fb1-03c6-da7d-cd96-4f67fcf10a13", + "time": 2.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 44, + "y": 21, + "z": 0 + } + ], + "uuid": "ea00c8b0-6204-00fb-ec31-06535807f448", + "time": 2.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 17.44, + "y": 78.85, + "z": 0 + } + ], + "uuid": "01712941-134c-68c0-6276-1e0cab3110a0", + "time": 2.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "68042e05-e1fc-e5dd-e775-05edcb76beb2", + "time": 2.75, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "8d2d6580-a3d6-707c-6100-7ca22ad16e38", + "time": 2.95, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "68707625-bb83-22b1-c9f3-62563691f4c3": { + "name": "Bullet24", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "98dc5280-a257-7765-bbad-f57bbcbcef79", + "time": 2.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 170 + } + ], + "uuid": "68a1dde7-997b-d96e-47cb-95131bead0d4", + "time": 2.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "bdc37523-062f-df9f-873a-559bdc5a1801", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 61, + "z": 0 + } + ], + "uuid": "e8e30d76-8928-98bf-92b8-5bbafbcc1b32", + "time": 2.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 44, + "y": 27, + "z": 0 + } + ], + "uuid": "85724bc2-3c85-b3ab-4b9b-308efe76b91c", + "time": 2.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 17.44, + "y": 84.85, + "z": 0 + } + ], + "uuid": "1b30f161-df6a-f949-b0c8-0741f12145a6", + "time": 2.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "ce5ee119-e16e-411a-0beb-dcc4e3987e2d", + "time": 2.5, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "e4eeb2ec-ba1f-2298-ed9e-5f698ac064ef", + "time": 2.7, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Momoi/models/ex_skill_frame.bbmodel b/config/yosbr/config/figura/avatars/Momoi/models/ex_skill_frame.bbmodel new file mode 100644 index 0000000..52727e4 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/models/ex_skill_frame.bbmodel @@ -0,0 +1,1179 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "ex_skill_frame", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 32, + "height": 16 + }, + "elements": [ + { + "name": "FrameTopLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d58488eb-4b98-5e52-740e-041d7c8c7b7f" + }, + { + "name": "FrameTop", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 16, + 0, + 32, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d7b279c5-8b54-f727-c9a0-07e530c5ab5a" + }, + { + "name": "FrameTopRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "86208108-703b-1a71-9e73-d829fcf93af0" + }, + { + "name": "FrameLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 16, + 0, + 32, + 16 + ], + "rotation": 270, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b38e5f11-842c-da8d-98f0-6570158f844f" + }, + { + "name": "FrameRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 16, + 0, + 32, + 16 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "72a70b22-fd81-174e-fbf8-59f6de9f116f" + }, + { + "name": "FrameBottomLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "rotation": 270, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8bd9fdba-ab88-a00c-3fbe-b5f33f230b66" + }, + { + "name": "FrameBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 16, + 0, + 32, + 16 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "77cf6831-3106-4f1e-8a19-d7d2cd39e07a" + }, + { + "name": "FrameBottomRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "99390453-8b25-0545-3dbf-db759d9122ff" + }, + { + "name": "FrameBarLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + -16, + -1000 + ], + "to": [ + 16, + 0, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + -6, + 4, + -99 + ], + "faces": { + "north": { + "uv": [ + 16, + 0, + 32, + 16 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "89423f5b-a0dd-39ba-2e32-74ba776e7d5f" + }, + { + "name": "FrameRBaright", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + -16, + -1000 + ], + "to": [ + 8, + 0, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + -6, + 4, + -99 + ], + "faces": { + "north": { + "uv": [ + 16, + 0, + 32, + 16 + ], + "rotation": 270, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "47e36d29-e769-b566-72a7-349097398d38" + }, + { + "name": "Particle1", + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "rotation": [ + 90, + 0, + 180 + ], + "export": true, + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "fvyx": [ + 4.6282, + 0, + 0 + ], + "URoh": [ + -2.3, + 0, + 4 + ], + "95Z0": [ + -2.3, + 0, + -4 + ] + }, + "faces": { + "4qMG6SMe": { + "uv": { + "fvyx": [ + 1, + 1 + ], + "95Z0": [ + 0, + 0 + ], + "URoh": [ + 0, + 1 + ] + }, + "vertices": [ + "fvyx", + "95Z0", + "URoh" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "b8f8c1d0-10bd-729b-caf4-15c768cff368" + }, + { + "name": "Particle2", + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "rotation": [ + 90, + 0, + -180 + ], + "export": true, + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "fvyx": [ + 4.6282, + 0, + 0 + ], + "URoh": [ + -2.3, + 0, + 4 + ], + "95Z0": [ + -2.3, + 0, + -4 + ], + "A1gx": [ + 3.104, + 0, + 0 + ], + "Rbsm": [ + -1.5379, + 0, + -2.68 + ], + "GZIF": [ + -1.5379, + 0, + 2.68 + ] + }, + "faces": { + "jydbDtJR": { + "uv": { + "Rbsm": [ + 0, + 1.32 + ], + "A1gx": [ + 0, + 6.68 + ], + "fvyx": [ + 0.7621, + 8 + ], + "95Z0": [ + 0.7621, + 0 + ] + }, + "vertices": [ + "Rbsm", + "A1gx", + "fvyx", + "95Z0" + ], + "texture": 0 + }, + "FShNpiER": { + "uv": { + "GZIF": [ + 0.7621, + 6.68 + ], + "Rbsm": [ + 0.7621, + 1.32 + ], + "95Z0": [ + 0, + 0 + ], + "URoh": [ + 0, + 8 + ] + }, + "vertices": [ + "GZIF", + "Rbsm", + "95Z0", + "URoh" + ], + "texture": 0 + }, + "Y8V06sJ8": { + "uv": { + "A1gx": [ + 6.68, + 0 + ], + "GZIF": [ + 1.32, + 0 + ], + "URoh": [ + 0, + 0.7621 + ], + "fvyx": [ + 8, + 0.7621 + ] + }, + "vertices": [ + "A1gx", + "GZIF", + "URoh", + "fvyx" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "26a9457e-5983-383c-377e-80178696ca03" + } + ], + "outliner": [ + { + "name": "Gui", + "origin": [ + 0, + 0, + -1000 + ], + "color": 0, + "uuid": "80d8e2e3-01bb-8e7a-de84-164a65212d5c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Frame", + "origin": [ + 0, + 0, + -100 + ], + "color": 0, + "uuid": "1a9432d3-a6a3-0042-6828-0adc1991dedf", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d58488eb-4b98-5e52-740e-041d7c8c7b7f", + "d7b279c5-8b54-f727-c9a0-07e530c5ab5a", + "86208108-703b-1a71-9e73-d829fcf93af0", + "b38e5f11-842c-da8d-98f0-6570158f844f", + "72a70b22-fd81-174e-fbf8-59f6de9f116f", + "8bd9fdba-ab88-a00c-3fbe-b5f33f230b66", + "77cf6831-3106-4f1e-8a19-d7d2cd39e07a", + "99390453-8b25-0545-3dbf-db759d9122ff" + ] + }, + { + "name": "FrameBar", + "origin": [ + 0, + 0, + -100 + ], + "rotation": [ + 0, + 0, + 45 + ], + "color": 0, + "uuid": "9a3f01ed-f49d-aaf3-78dd-22c36d7f20a7", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "89423f5b-a0dd-39ba-2e32-74ba776e7d5f", + "47e36d29-e769-b566-72a7-349097398d38" + ] + } + ] + }, + { + "name": "Particles", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "3f41b05a-dfcf-a9ea-5775-1b908472a151", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b8f8c1d0-10bd-729b-caf4-15c768cff368", + "26a9457e-5983-383c-377e-80178696ca03" + ] + } + ], + "textures": [ + { + "path": "", + "name": "ex_skill_frame.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 32, + "height": 16, + "uv_width": 32, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "d4a6d900-994d-d2db-a2a9-40eeb7363089", + "relative_path": "../../textures/ex_skill_frame.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAQCAYAAAB3AH1ZAAAAAXNSR0IArs4c6QAAAbdJREFUSEutVYtuwjAMtFOJ///KbbwLY4wJJZ6uxOzitmwSi1SlaVznend2te/7s4io/Ayjtd9jxvA4X/uzuO/ZOC7G3hJWAG8EgG/nEiMGe6nOnrzMgAdwXJxvuAeATxF5FZGNiOTAhB8QmfCwmHjqO/jg0T4zAADrO3dmN4SqamaGmfd4PdBRYzD7ezOsMnhjBrYislJVgHDUrHn0Ceef8hB7iT3BuQcAMCEk2FUAYGIf5OADXH82VTTnHKCRkRsPmNkqpbQtpfSYZ5jgJL+wPDJd/JDGhC7BhgD0fEIpRVNKTWn5s6k9vMvPYyzWUwwAwKEy0JdSTkEONpHL8dDp9BGjPtJUgUtQPQAf7AFAVY9/6BOxgTVunzO2A1jWElyrqksAUwLAu6ri+gCjXnJNCVCJ8r6XqpfmVFnHRjQAqAzsIIWIHCuAU84ZIP51jBoR+kD1gDMACQ6qes45n1JKADHVVpv6foCy8Ysz8CIi21iGlQHQ3wDIOX8tFotBjmdH0wnNbFndPxiQPAAZ7gwAQNd1+Ic8PRoGYMQJCcBAA6DrukvO+XK9Xi/+r7hbvhqSjRf3GPU3orWFV48IG9oAAAAASUVORK5CYII=" + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Momoi/models/gun.bbmodel b/config/yosbr/config/figura/avatars/Momoi/models/gun.bbmodel new file mode 100644 index 0000000..bec2a61 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/models/gun.bbmodel @@ -0,0 +1,4358 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "gun", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 98, + "height": 37 + }, + "elements": [ + { + "name": "Barrel1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2625, + 0, + -8 + ], + "to": [ + 0.2625, + 0.525, + -4.425 + ], + "autouv": 0, + "color": 0, + "origin": [ + -1, + -5.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 1, + 5, + 6 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 0, + 0, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 0, + 0, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 2, + 0, + 0, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "f72700cd-69b2-684e-ad63-161195bd1ff9" + }, + { + "name": "Barrel2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.6, + -0.3375, + -7.85 + ], + "to": [ + 0.6, + 0.8625, + -7.575 + ], + "autouv": 0, + "color": 0, + "origin": [ + -1, + -5.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "2c16e3da-c1f6-2a48-dd86-a6bcccde7edf" + }, + { + "name": "Barrel3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.525, + -0.2625, + -7.575 + ], + "to": [ + 0.525, + 0.7875, + -7.35 + ], + "autouv": 0, + "color": 0, + "origin": [ + -1, + -5.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 2, + 0, + 5, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 5, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 0, + 2, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 5, + 0, + 2, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "cc5728a5-4902-fe33-c2b8-3420a3e61cad" + }, + { + "name": "Barrel4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.6625, + -0.4, + -7.35 + ], + "to": [ + 0.6625, + 0.925, + -6.975 + ], + "autouv": 0, + "color": 0, + "origin": [ + -1, + -5.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 8, + 0, + 9, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 7.5, + 0, + 9, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 7, + 0, + 8, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 9, + 0, + 7.5, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 9, + 0, + 7.5, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 9, + 0, + 7.5, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "0e7be8ab-db85-5020-4468-eba6054f4370" + }, + { + "name": "Barrel5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.525, + -0.2625, + -6.975 + ], + "to": [ + 0.525, + 0.7875, + -6.325 + ], + "autouv": 0, + "color": 0, + "origin": [ + -1, + -5.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 5, + 0, + 7.5, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 0, + 6, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 7.5, + 0, + 5, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 7.5, + 0, + 5, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 7.5, + 0, + 5, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "a7b79880-6b16-bbdd-5819-76f6d17be2ae" + }, + { + "name": "Barrel6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3625, + -0.1, + -6.325 + ], + "to": [ + 0.3625, + 0.625, + -5.55 + ], + "autouv": 0, + "color": 0, + "origin": [ + -1, + -5.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 9, + 0, + 12, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 9, + 0, + 12, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 9, + 0, + 12, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 9, + 0, + 12, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "abf966ad-256e-1fe0-df52-a4e9c077b24b" + }, + { + "name": "Barrel7", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3375, + -0.075, + -5 + ], + "to": [ + 0.3375, + 0.6, + -4.775 + ], + "autouv": 0, + "color": 0, + "origin": [ + -1, + -5.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "be8ac874-5352-b790-d120-1c57853a71b1" + }, + { + "name": "GunBody3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3375, + -0.075, + -4.425 + ], + "to": [ + 0.3375, + 0.7, + -3.85 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -3.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "62c3bf80-b7be-d5f7-1cdb-bf62b56e0103" + }, + { + "name": "GunBody1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2625, + 0, + -4.075 + ], + "to": [ + 0.2625, + 1.35, + 4.8 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -3.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 5, + 1, + 44.4, + 7 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 44.4, + 1, + 5, + 7 + ], + "texture": 0 + }, + "up": { + "uv": [ + 44.4, + 1, + 5, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 44.4, + 1, + 5, + 2 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "b89be4f2-db00-1503-8b92-33808e81bea4" + }, + { + "name": "GunBodyEnd1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.35, + 0.675, + -4.425 + ], + "to": [ + 0.35, + 1.375, + -4.075 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -3.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "b16d613a-5db9-1f54-1910-e2feb559a327" + }, + { + "name": "GunBodyEnd2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.4, + 0.625, + -4.75 + ], + "to": [ + 0.4, + 1.425, + -4.425 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -3.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "cb46413f-6560-3936-7be6-5b7360a71c93" + }, + { + "name": "GunBody4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2625, + 1.35, + 0.15 + ], + "to": [ + 0.2625, + 1.475, + 4.8 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -3.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 1, + 6, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "bd456ef2-48c8-6821-9ae0-e4cab0677b73" + }, + { + "name": "FrontSight1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.375, + 1.375, + -4.425 + ], + "to": [ + 0.375, + 1.475, + -4.075 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 1.5, + -4 + ], + "faces": { + "north": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "baca8112-f890-fac4-115c-cf2e5fadf59f" + }, + { + "name": "FrontSight2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.275, + 1.475, + -4.425 + ], + "to": [ + 0.375, + 2.025, + -4.075 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 1.5, + -4 + ], + "faces": { + "north": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "ff65923a-c616-3df6-d15c-cb33a7935121" + }, + { + "name": "FrontSight3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.375, + 2.025, + -4.425 + ], + "to": [ + 0.375, + 2.125, + -4.075 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 1.5, + -4 + ], + "faces": { + "north": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "d3a47367-5e1a-5e76-d92d-ebf5c92b3a81" + }, + { + "name": "FrontSight4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.375, + 1.475, + -4.425 + ], + "to": [ + -0.275, + 2.025, + -4.075 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 1.5, + -4 + ], + "faces": { + "north": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "db58abec-0d26-0fdb-7fe6-8f68e02dc624" + }, + { + "name": "FrontSight5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.275, + 1.475, + -4.25 + ], + "to": [ + 0.275, + 2.025, + -4.25 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0, + 1.5, + -4 + ], + "faces": { + "north": { + "uv": [ + 0, + 6, + 5, + 11 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 6, + 5, + 11 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "b375596c-e67b-cfaa-bca9-fcb95a8c3ce0" + }, + { + "name": "GunBody2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3875, + -0.425, + -3.9 + ], + "to": [ + 0.3875, + 0.825, + 0.375 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -3.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 0, + 42, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 0, + 13, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 42, + 0, + 12, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 42, + 0, + 12, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 42, + 0, + 12, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "4db5d913-9b32-856c-0d28-ff049de98293" + }, + { + "name": "BackSight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2625, + 1.35, + 3.75 + ], + "to": [ + 0.2625, + 1.75, + 4.6 + ], + "autouv": 0, + "color": 0, + "inflate": 0.005, + "origin": [ + 0, + -3.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "4d6028b0-b228-5f3b-d409-d9c45ba84d9d" + }, + { + "name": "Magazine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2625, + -2.875, + 0.09 + ], + "to": [ + 0.2625, + 0, + 1.64 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 3, + 0, + 0 + ], + "origin": [ + 0, + 0, + 1.64 + ], + "faces": { + "north": { + "uv": [ + 5, + 11, + 6, + 22.13 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 11, + 6, + 22.13 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 11, + 1, + 22.13 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 11, + 0, + 22.13 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 6, + 22, + 0, + 23 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "6a93ca48-f231-13f9-f3ad-8d7fddb2e107" + }, + { + "name": "GunBody5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2625, + -1.025, + 1.59 + ], + "to": [ + 0.2625, + 0, + 3.465 + ], + "autouv": 0, + "color": 0, + "inflate": 0.005, + "origin": [ + 0, + -3.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 6, + 7, + 16.98, + 13 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 7, + 6.98, + 8 + ], + "texture": 0 + }, + "west": { + "uv": [ + 16.98, + 7, + 6, + 13 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 6, + 7, + 6.98, + 8 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "9a16dde7-895d-f5d7-d84f-0c0dd36b62c1" + }, + { + "name": "GunBody6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2625, + -0.625, + 3.465 + ], + "to": [ + 0.2625, + 0, + 3.94 + ], + "autouv": 0, + "color": 0, + "inflate": 0.005, + "origin": [ + 0, + -3.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 14, + 9, + 17.04, + 13 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 7, + 6.98, + 8 + ], + "texture": 0 + }, + "west": { + "uv": [ + 14, + 9, + 17.04, + 13 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 6, + 7, + 6.98, + 8 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "73778aab-d8f4-cb9b-f2ce-472d1b68180e" + }, + { + "name": "GunBody7", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2625, + -0.625, + 3.94 + ], + "to": [ + 0.2625, + 0.625, + 8.015 + ], + "autouv": 0, + "color": 0, + "inflate": -0.001, + "origin": [ + 0, + -3.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 17, + 7, + 49.6, + 12 + ], + "texture": 0 + }, + "south": { + "uv": [ + 17, + 7, + 18, + 12 + ], + "texture": 0 + }, + "west": { + "uv": [ + 49.6, + 7, + 17, + 12 + ], + "texture": 0 + }, + "up": { + "uv": [ + 49.6, + 7, + 17, + 8 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 49.6, + 11, + 17, + 12 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "b2d3bf33-ff46-59f9-28bd-67a3ace5aa79" + }, + { + "name": "GunBody8", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2625, + -1.55, + 5.69 + ], + "to": [ + 0.2625, + -0.625, + 8.015 + ], + "autouv": 0, + "color": 0, + "inflate": -0.002, + "rotation": [ + 23, + 0, + 0 + ], + "origin": [ + -1, + -0.625, + 8.015 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 17, + 7, + 37.2, + 8 + ], + "texture": 0 + }, + "south": { + "uv": [ + 17, + 7, + 18, + 12 + ], + "texture": 0 + }, + "west": { + "uv": [ + 37.2, + 7, + 17, + 8 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 37.2, + 7, + 17, + 8 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "914bd35a-3d00-c64a-5a8a-bf72841949f2" + }, + { + "name": "Grip1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2625, + -1.675, + 2.6 + ], + "to": [ + 0.2625, + -1.025, + 3.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -1.025, + 2.6 + ], + "faces": { + "north": { + "uv": [ + 6, + 13, + 6.85, + 15 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 13, + 6.85, + 15 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 13, + 6.85, + 15 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 13, + 6.85, + 15 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 6, + 14, + 6.85, + 15 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "66ebda03-68e7-11f1-02c3-3556a86adb74" + }, + { + "name": "Grip2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2625, + -3.175, + 2.6 + ], + "to": [ + 0.2625, + -1.675, + 3.45 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -1.025, + 2.6 + ], + "faces": { + "north": { + "uv": [ + 6, + 15, + 6.85, + 22 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 15, + 6.85, + 22 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 15, + 6.85, + 22 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 15, + 6.85, + 22 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 6, + 21, + 6.85, + 22 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "96738e69-ad22-eb8a-0587-6f349f60c3ba" + }, + { + "name": "TriggerGuard1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2, + -1.35, + 1.675 + ], + "to": [ + 0.2, + -0.95, + 2.075 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -1.5, + 1.675 + ], + "faces": { + "north": { + "uv": [ + 7, + 13, + 9, + 15 + ], + "texture": 0 + }, + "east": { + "uv": [ + 7, + 13, + 9, + 15 + ], + "texture": 0 + }, + "south": { + "uv": [ + 7, + 13, + 9, + 15 + ], + "texture": 0 + }, + "west": { + "uv": [ + 7, + 13, + 9, + 15 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 7, + 13, + 9, + 15 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "c95afa8b-cbc5-cff3-eee3-f904f67c372b" + }, + { + "name": "TriggerGuard2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2, + -1.65, + 1.775 + ], + "to": [ + 0.2, + -1.25, + 2.175 + ], + "autouv": 0, + "color": 0, + "inflate": -0.001, + "origin": [ + 0, + -1.5, + 1.675 + ], + "faces": { + "north": { + "uv": [ + 9, + 13, + 11, + 15 + ], + "texture": 0 + }, + "east": { + "uv": [ + 9, + 13, + 11, + 15 + ], + "texture": 0 + }, + "south": { + "uv": [ + 9, + 13, + 11, + 15 + ], + "texture": 0 + }, + "west": { + "uv": [ + 9, + 13, + 11, + 15 + ], + "texture": 0 + }, + "up": { + "uv": [ + 9, + 13, + 11, + 15 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 9, + 13, + 11, + 15 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "fa175fb7-4380-3b12-94e8-891a942fe690" + }, + { + "name": "TriggerGuard3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2, + -1.85, + 2.075 + ], + "to": [ + 0.2, + -1.45, + 2.475 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -1.5, + 1.675 + ], + "faces": { + "north": { + "uv": [ + 11, + 13, + 13, + 15 + ], + "texture": 0 + }, + "east": { + "uv": [ + 11, + 13, + 13, + 15 + ], + "texture": 0 + }, + "south": { + "uv": [ + 11, + 13, + 13, + 15 + ], + "texture": 0 + }, + "west": { + "uv": [ + 11, + 13, + 13, + 15 + ], + "texture": 0 + }, + "up": { + "uv": [ + 11, + 13, + 13, + 15 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 11, + 13, + 13, + 15 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "5ac153b2-9826-508c-4a8c-7407906ee261" + }, + { + "name": "TriggerGuard4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2, + -1.9, + 2.475 + ], + "to": [ + 0.2, + -1.5, + 2.875 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -1.5, + 1.675 + ], + "faces": { + "north": { + "uv": [ + 9, + 13, + 11, + 15 + ], + "texture": 0 + }, + "east": { + "uv": [ + 9, + 13, + 11, + 15 + ], + "texture": 0 + }, + "south": { + "uv": [ + 9, + 13, + 11, + 15 + ], + "texture": 0 + }, + "west": { + "uv": [ + 9, + 13, + 11, + 15 + ], + "texture": 0 + }, + "up": { + "uv": [ + 9, + 13, + 11, + 15 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 9, + 13, + 11, + 15 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "2682abf0-2851-ca80-0b43-f9193a934b93" + }, + { + "name": "TriggerGuard5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2, + -1.8, + 2.875 + ], + "to": [ + 0.2, + -1.4, + 3.275 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -1.5, + 1.675 + ], + "faces": { + "north": { + "uv": [ + 13, + 13, + 15, + 15 + ], + "texture": 0 + }, + "east": { + "uv": [ + 13, + 13, + 15, + 15 + ], + "texture": 0 + }, + "south": { + "uv": [ + 13, + 13, + 15, + 15 + ], + "texture": 0 + }, + "west": { + "uv": [ + 13, + 13, + 15, + 15 + ], + "texture": 0 + }, + "up": { + "uv": [ + 13, + 13, + 15, + 15 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 13, + 13, + 15, + 15 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "1e65f75b-4464-dfda-8cfb-c1fa6dd87e58" + }, + { + "name": "Trigger", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.125, + -1.425, + 2.45 + ], + "to": [ + 0.125, + -1.025, + 2.575 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + 0, + -1.025, + 2.575 + ], + "faces": { + "north": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 9, + 0, + 10, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "e7ea995a-d149-a8c8-3700-f0315bc08207" + }, + { + "name": "Accessory", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + -3, + 2.675 + ], + "to": [ + 0, + -2.25, + 3.0875 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + -1, + -3, + 2.675 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "east": { + "uv": [ + 7, + 15, + 18, + 35 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 18, + 15, + 7, + 35 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "af4603ea-5218-8f18-4232-f421c208fcfa" + }, + { + "name": "AccessoryLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + -2.285, + 2.8625 + ], + "to": [ + 0, + -1.785, + 2.9 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + -1, + -3, + 2.675 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "east": { + "uv": [ + 15, + 13, + 16, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 15, + 13, + 16, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "470028ca-2ed9-bf89-1330-b1584ea95a78" + }, + { + "name": "GDDLabelRight", + "color": 0, + "origin": [ + 1.015, + 0.59, + -1.45 + ], + "rotation": [ + 45, + -180, + 90 + ], + "export": true, + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "VQ18": [ + -0.55, + -0.625, + 0.35 + ], + "zqHt": [ + -1.55, + -0.625, + 0.35 + ], + "4loY": [ + -0.55, + -0.625, + -0.9 + ], + "2P74": [ + -0.55, + -0.625, + 0.1 + ], + "2sO4": [ + -1.55, + -0.625, + 0.1 + ] + }, + "faces": { + "nXjbgJ1R": { + "uv": { + "VQ18": [ + 98, + 12 + ], + "2P74": [ + 91.33333, + 12 + ], + "2sO4": [ + 91.33333, + 37 + ], + "zqHt": [ + 98, + 37 + ] + }, + "vertices": [ + "VQ18", + "2P74", + "2sO4", + "zqHt" + ], + "texture": 0 + }, + "bKDGqv4f": { + "uv": { + "2sO4": [ + 91.33333, + 37 + ], + "2P74": [ + 91.33333, + 12 + ], + "4loY": [ + 64.66667, + 12 + ] + }, + "vertices": [ + "2sO4", + "2P74", + "4loY" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "f1cb030c-bffd-6a37-4a29-55ae9bccd8c5" + }, + { + "name": "GDDLabelLeft", + "color": 0, + "origin": [ + -0.39, + 0.035, + -0.805 + ], + "rotation": [ + 135, + 0, + 90 + ], + "export": true, + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "SQMr": [ + 0.6, + 0, + -0.5924 + ], + "g92h": [ + -0.4, + 0, + -0.5924 + ], + "heU2": [ + 0.6, + 0, + 0.0616 + ], + "QoBR": [ + -0.4, + 0, + 0.0616 + ], + "WFdJ": [ + -0.4, + 0, + 1.0616 + ] + }, + "faces": { + "JHSbXpCL": { + "uv": { + "g92h": [ + 18, + 37 + ], + "heU2": [ + 35.44, + 12 + ], + "QoBR": [ + 35.44, + 37 + ], + "SQMr": [ + 18, + 12 + ] + }, + "vertices": [ + "g92h", + "heU2", + "QoBR", + "SQMr" + ], + "texture": 0 + }, + "INKCpOXx": { + "uv": { + "QoBR": [ + 35.44, + 37 + ], + "WFdJ": [ + 62.10667, + 37 + ], + "heU2": [ + 35.44, + 12 + ] + }, + "vertices": [ + "QoBR", + "WFdJ", + "heU2" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "60039310-140a-8402-ad3e-7758d10a7174" + }, + { + "name": "GDDLabelCenter", + "color": 0, + "origin": [ + 0, + -0.426, + -1.523 + ], + "rotation": [ + 0, + 135, + -180 + ], + "export": true, + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "heU2": [ + 0.5, + 0, + -1.048 + ], + "cwKq": [ + 0.5, + 0, + -0.048 + ], + "WFdJ": [ + -0.5, + 0, + -0.048 + ], + "4loY": [ + 0.5, + 0, + 0.048 + ], + "xdd1": [ + -0.5, + 0, + 0.048 + ], + "2sO4": [ + -0.5, + 0, + 1.048 + ] + }, + "faces": { + "HmgJRJGt": { + "uv": { + "WFdJ": [ + 62.10667, + 37 + ], + "4loY": [ + 64.66667, + 12 + ], + "xdd1": [ + 64.66667, + 37 + ], + "cwKq": [ + 62.10667, + 12 + ] + }, + "vertices": [ + "WFdJ", + "4loY", + "xdd1", + "cwKq" + ], + "texture": 0 + }, + "D0hVLKEZ": { + "uv": { + "xdd1": [ + 64.66667, + 37 + ], + "2sO4": [ + 91.33333, + 37 + ], + "4loY": [ + 64.66667, + 12 + ] + }, + "vertices": [ + "xdd1", + "2sO4", + "4loY" + ], + "texture": 0 + }, + "65CXTcoP": { + "uv": { + "WFdJ": [ + 62.10667, + 37 + ], + "cwKq": [ + 62.10667, + 12 + ], + "heU2": [ + 35.44, + 12 + ] + }, + "vertices": [ + "WFdJ", + "cwKq", + "heU2" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "c2d143f4-2d08-e6fa-e52d-cf2a216936a1" + } + ], + "outliner": [ + { + "name": "Gun", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "20fe1cca-22a6-ca36-3dc4-e85c7c10e012", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Barrel", + "origin": [ + 3, + -5.5, + 1 + ], + "color": 0, + "uuid": "b635d5fa-a419-f748-9c9e-5397f2e1f78b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f72700cd-69b2-684e-ad63-161195bd1ff9", + "2c16e3da-c1f6-2a48-dd86-a6bcccde7edf", + "cc5728a5-4902-fe33-c2b8-3420a3e61cad", + "0e7be8ab-db85-5020-4468-eba6054f4370", + "a7b79880-6b16-bbdd-5819-76f6d17be2ae", + "abf966ad-256e-1fe0-df52-a4e9c077b24b", + "be8ac874-5352-b790-d120-1c57853a71b1" + ] + }, + { + "name": "GunBody", + "origin": [ + 3, + -3.5, + 0 + ], + "color": 0, + "uuid": "cd5eb2ab-030e-e318-b31e-34f2acc5d28b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b89be4f2-db00-1503-8b92-33808e81bea4", + "4db5d913-9b32-856c-0d28-ff049de98293", + "62c3bf80-b7be-d5f7-1cdb-bf62b56e0103", + "bd456ef2-48c8-6821-9ae0-e4cab0677b73", + "4d6028b0-b228-5f3b-d409-d9c45ba84d9d", + "6a93ca48-f231-13f9-f3ad-8d7fddb2e107", + "9a16dde7-895d-f5d7-d84f-0c0dd36b62c1", + "73778aab-d8f4-cb9b-f2ce-472d1b68180e", + "b2d3bf33-ff46-59f9-28bd-67a3ace5aa79", + "914bd35a-3d00-c64a-5a8a-bf72841949f2", + "f1cb030c-bffd-6a37-4a29-55ae9bccd8c5", + "c2d143f4-2d08-e6fa-e52d-cf2a216936a1", + "60039310-140a-8402-ad3e-7758d10a7174" + ] + }, + { + "name": "GunBodyEnd", + "origin": [ + 3, + -3.5, + 0 + ], + "color": 0, + "uuid": "14c817c9-0f1f-e3d0-9eab-4b180156aedd", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b16d613a-5db9-1f54-1910-e2feb559a327", + "cb46413f-6560-3936-7be6-5b7360a71c93" + ] + }, + { + "name": "FrontSight", + "origin": [ + -4, + 1.5, + 0 + ], + "color": 0, + "uuid": "e5a53110-849d-eb26-88db-d629dfc4a838", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "baca8112-f890-fac4-115c-cf2e5fadf59f", + "ff65923a-c616-3df6-d15c-cb33a7935121", + "d3a47367-5e1a-5e76-d92d-ebf5c92b3a81", + "db58abec-0d26-0fdb-7fe6-8f68e02dc624", + "b375596c-e67b-cfaa-bca9-fcb95a8c3ce0" + ] + }, + { + "name": "Grip", + "origin": [ + 0, + -1.025, + 2.6 + ], + "rotation": [ + -42, + 0, + 0 + ], + "color": 0, + "uuid": "8627f718-41ca-10ee-2c49-a6e9926e05b6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "66ebda03-68e7-11f1-02c3-3556a86adb74", + "96738e69-ad22-eb8a-0587-6f349f60c3ba" + ] + }, + { + "name": "Trigger", + "origin": [ + 1.675, + -1.5, + 0 + ], + "color": 0, + "uuid": "51572ff1-ba4e-4285-d5b3-f36bb7087d13", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "c95afa8b-cbc5-cff3-eee3-f904f67c372b", + "fa175fb7-4380-3b12-94e8-891a942fe690", + "5ac153b2-9826-508c-4a8c-7407906ee261", + "2682abf0-2851-ca80-0b43-f9193a934b93", + "1e65f75b-4464-dfda-8cfb-c1fa6dd87e58", + "e7ea995a-d149-a8c8-3700-f0315bc08207", + { + "name": "Accessory", + "origin": [ + 2.675, + -3, + 1 + ], + "color": 0, + "uuid": "9d7007ef-3549-f767-4e33-dd79d8bc52a3", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "af4603ea-5218-8f18-4232-f421c208fcfa", + "470028ca-2ed9-bf89-1330-b1584ea95a78" + ] + } + ] + }, + { + "name": "MuzzleAnchor", + "origin": [ + 0, + 0.2625, + -8 + ], + "color": 0, + "uuid": "86806c85-5ce7-83f9-6df1-e87cdcc2a979", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + } + ], + "textures": [ + { + "path": "", + "name": "gun.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 98, + "height": 37, + "uv_width": 98, + "uv_height": 37, + "particle": false, + "layers_enabled": false, + "sync_to_project": "80f1453d-2d32-acd0-fff6-165d9439a3ab", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "7bd4b824-3db6-476b-99e3-dde805a618f1", + "relative_path": "../../textures/gun.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGIAAAAlCAYAAAC5+DzaAAAAAXNSR0IArs4c6QAABT9JREFUaEPtmlloFFkUhk+BC4origoqM/MQRdIhk0ERQdHxZRAdFDdcggrKoKAjCoP65PIk+iAjbkgER1REjQtu48NIJEgUxSgmINGHqGlRUTPRuCZYcq455cntu1V1t3a6u16q69a591ad7/7nnNvd3pst5/2bBw7C9U4zAY9V5XVwaU0rfGzpAh9ausDLtwOg4PlZ+GVBKaDd0s5Nwq5qzjJx5kfPCcXwuuJ20ITXdPB2bKN7NvsxR3aLIWqrz3kJE2ZRg1cZm+fL70PObnkRh879Bmfc62YjFAFiXM3hwNmVsXli1deMOhsawPB/SxL6pANkToFANUQ5uOPTpaicAoEQ0uXIKIB5n6wFocoRUUKTzsGx61OS9X27/lkJQuWhwpLJIoHnFZHS9WMcjJeE6PzgesOYEwnVlG6kY+/3tStneRlrKmFVZaxsT+Vrtpew5HjudNEmg5jtnYGL1bXQ9PPaBB4EouF0ubg3YtumYD+RB+GmKq0i/J3n/I0HPwSj9L61GX4rKYSj/u9aEHQjXYowvVJHzxva3SoqYn1pV+AwbKEp3Yrg8x/rNkBcznr3TJw7PAhKzHJ5SCBchBUr2/VNckRWKwJBUKlKZeae1j7wX48ZLgyEzYaq6ags5+TuPHAOGXqyIhACHsWlc6E4/gTePboLJ+ofw7PmZpj6x3KAh62wf/VhaKp/A5tK78DL+H1Vws8hF6bmVQMQBICGRRDDrlbAp/9fwd6GJ/CwsRFWzF0Hd1/VwcVFlyFe3QhbV1fIyT41T5WDo3iVRfOVIWVs2WbwRg8NHF34135hV7t1kcc/M5+lPTT5/pcpPO8rf7kNr+k+fSYbelbeP1OYCxADL+yAp5OWA57pKIg3J4B4+6A2uN/9h0IB5VuB4A6mOV2druqbKQCCxUEgsAFh8NDUa82UBEX0H90Tnl97LcxMIPxfTwJcmibsFtbfgAM/jbK+u6mPvLpxVatWug1OJqpBqLyuodEnNXBVcEWU3fnTX1K0XUAZf7zcvzxzhvjM2+WqiTvVBYbNXudgVRgytVlXw3cyaAeCP8OgQ1cAFYHOxnYdCHavXY6QHWuC4Wrrmg86bI5AJ/H8gNcyCNNCaYNkBRFmsbmGszBjZrJtkKzlh6TQxBSBoSgwW1K0PbjOg0gesRbEsCF9gzyA0yyO/S1m40lyX81K0SaDUIWaKI/KVcETMw89fFx6Nn7G+7akzsdQhT+6L4c8GjsVhYP1LyqkCAQhv6grCHQoHv/8OFLNY+KpL+1tVRYZySBckjCvrlSOo7HDlMMuOUc3Hl+8puexgsCBEAYpgnsSQVAS51WTqgKifkoYBEKC4QJCt1rlKsu0qlVwVJtBV0XowCUNQgVDgiBUGrwQ20NgGylCq4okQMj7gnQqwgZM9yw8hMmfgwXiErt5eCJ7KSwZQajm6DekAF403DNOHyVHqF5UlyP45HLecQ1rpq9RVHufpEEkE5pkbxMEG4xcKmGtOUKlBo0qtKGJg5Cdb4KRB8E8l2oQLqFQVzWpEq4cXlRlLoUDPKtKX1tb2KrJlOh1729UBEHAzrrQRAPjBo8fye4lZDXYvmtyTaS2ZC6Xoa57EL7/0OUG0yK0gsDy1Fa+tn35lzBPVBiqkOT6rWqYjZ+sMF2iNykiSqmqAmLNEdgpbNUUJvy42kZRhItKVAqQf3gKs5GUYbr+FhIKhMppqg2dq3PD2IVZ6S71vGtpaVMi5R3X8SLlCOok/e4QjGX6PSKMk/O27L+uKXBG2n+zTsEzZuwQTqHJ8enzIBwdpTL7DAbet0n40PN7AAAAAElFTkSuQmCC" + } + ], + "animations": [ + { + "uuid": "1c6321af-4d97-6d0b-47c4-d091bb42b1c5", + "name": "ex_skill_2", + "loop": "hold", + "override": true, + "length": 8.9, + "snapping": 20, + "selected": true, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "20fe1cca-22a6-ca36-3dc4-e85c7c10e012": { + "name": "Gun", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 64.31518, + "y": 10.17781, + "z": -17.32607 + } + ], + "uuid": "29717de0-93a5-0155-a5aa-be5eb31280d1", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 64.32, + "y": 10.18, + "z": -17.33 + } + ], + "uuid": "964ce275-f25e-cca3-c916-5c49d875aa54", + "time": 0.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 94.32, + "y": 10.18, + "z": -17.33 + } + ], + "uuid": "40b1e156-0c73-3360-ac83-bdec2e9d6dee", + "time": 0.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 94.32, + "y": 10.18, + "z": -17.33 + } + ], + "uuid": "e30767a8-8359-e365-b798-7b5acaa31628", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 83.45402, + "y": 24.58282, + "z": -10.33539 + } + ], + "uuid": "e547ef12-7c1a-a671-1141-1e88f9bc5abe", + "time": 1.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 91.70757, + "y": 2.17674, + "z": 9.80902 + } + ], + "uuid": "93df05db-173f-95a1-63bd-5ae76d7d9b6c", + "time": 7.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 91.71, + "y": 2.18, + "z": 9.81 + } + ], + "uuid": "0901a6c0-e4e4-dfe8-f79e-3e887b68d3c1", + "time": 8.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 92.06253, + "y": 1.85, + "z": 19.81077 + } + ], + "uuid": "d5dfa377-4abf-075b-7825-97c68919a13d", + "time": 8.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 83.03, + "y": 25.19, + "z": -10.15 + } + ], + "uuid": "46b3fff8-df9b-0108-d6e1-654382837e1a", + "time": 1.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 88.78248, + "y": 1.25381, + "z": 0.16821 + } + ], + "uuid": "b2e94e36-36af-403e-e155-82d2fbe6be29", + "time": 2.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 88.78248, + "y": 1.25381, + "z": 0.16821 + } + ], + "uuid": "20334c99-7cbf-45b8-2477-5659869b2e90", + "time": 7.5, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -6, + "y": 12.5, + "z": -4.25 + } + ], + "uuid": "158e3f5c-8144-28d1-c1bc-ae821647a20e", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -6, + "y": 12.5, + "z": -4.25 + } + ], + "uuid": "a4727bb8-08a3-66cf-3ec0-911f98d3c892", + "time": 0.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -5, + "y": 10.5, + "z": -2.25 + } + ], + "uuid": "f683c0ff-c4f5-c611-2653-a84b9672b064", + "time": 0.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -5, + "y": 10.5, + "z": -2.25 + } + ], + "uuid": "7e6d06a0-f744-6daa-4d2f-8b55485e0846", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -4, + "y": 10.5, + "z": -2.25 + } + ], + "uuid": "bbaae2ef-a798-f268-6bb0-e4680cc24211", + "time": 1.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -5.5, + "y": 10.5, + "z": -0.25 + } + ], + "uuid": "d4a6ed8c-1247-3b58-8f6a-7e3b9d4c769a", + "time": 7.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -5.5, + "y": 10.5, + "z": -0.25 + } + ], + "uuid": "f5367420-7668-355e-efb3-ddd72720afd0", + "time": 8.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -6.5, + "y": 10.5, + "z": -0.25 + } + ], + "uuid": "a52b4780-58b1-14c2-297f-218bd575ca15", + "time": 8.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -3.96, + "y": 10.5, + "z": -2.26 + } + ], + "uuid": "ccd7172d-65b5-70a6-404f-764cbde75635", + "time": 1.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -3.95, + "y": 10.5, + "z": -2.27 + } + ], + "uuid": "42c8d12d-adf8-2b34-88d5-e0993183612b", + "time": 2.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -3.95, + "y": 10.5, + "z": -2.27 + } + ], + "uuid": "4b7b85d7-9bdb-be59-a839-dc52b51088a0", + "time": 7.5, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "f7c6326b-fc1a-cd1e-6d0e-0dced73c89c5", + "time": 0, + "color": -1, + "uniform": true, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0.75", + "y": "0.75", + "z": "0.75" + } + ], + "uuid": "c79cd4b6-5825-3c88-2e32-61711bcfac8d", + "time": 7.55, + "color": -1, + "uniform": true, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Momoi/models/main.bbmodel b/config/yosbr/config/figura/avatars/Momoi/models/main.bbmodel new file mode 100644 index 0000000..399f57a --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/models/main.bbmodel @@ -0,0 +1,20503 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "main", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 64, + "height": 187 + }, + "elements": [ + { + "name": "Head", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 24, + -4 + ], + "to": [ + 4, + 32, + 4 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 8, + 16, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 8, + 8, + 16 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 8, + 32, + 16 + ], + "texture": 0 + }, + "west": { + "uv": [ + 16, + 8, + 24, + 16 + ], + "texture": 0 + }, + "up": { + "uv": [ + 16, + 8, + 8, + 0 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 0, + 16, + 8 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a66c63cf-0082-7797-3f4e-08ff434a1cac" + }, + { + "name": "HatLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 24, + -4 + ], + "to": [ + 4, + 32, + 4 + ], + "autouv": 0, + "color": 0, + "inflate": 0.5, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 32, + 0 + ], + "faces": { + "north": { + "uv": [ + 40, + 8, + 48, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 32, + 8, + 40, + 16 + ], + "texture": 0 + }, + "south": { + "uv": [ + 56, + 8, + 64, + 16 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 8, + 56, + 16 + ], + "texture": 0 + }, + "up": { + "uv": [ + 40, + 8, + 48, + 0 + ], + "texture": 0 + }, + "down": { + "uv": [ + 56, + 0, + 48, + 8 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d48552a8-9f0d-7335-2a82-794f3264fc9d" + }, + { + "name": "Body", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 12, + -2 + ], + "to": [ + 4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 16 + ], + "faces": { + "north": { + "uv": [ + 20, + 95, + 28, + 107 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 95, + 20, + 107 + ], + "texture": 0 + }, + "south": { + "uv": [ + 32, + 95, + 40, + 107 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 95, + 32, + 107 + ], + "texture": 0 + }, + "up": { + "uv": [ + 28, + 95, + 20, + 91 + ], + "texture": 0 + }, + "down": { + "uv": [ + 36, + 91, + 28, + 95 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "742e9ab7-8cdd-8d93-9a9a-88011f54d15b" + }, + { + "name": "BodyLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 12, + -2 + ], + "to": [ + 4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 32 + ], + "faces": { + "north": { + "uv": [ + 20, + 111, + 28, + 123 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 111, + 20, + 123 + ], + "texture": 0 + }, + "south": { + "uv": [ + 32, + 111, + 40, + 123 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 111, + 32, + 123 + ], + "texture": 0 + }, + "up": { + "uv": [ + 28, + 111, + 20, + 107 + ], + "texture": 0 + }, + "down": { + "uv": [ + 36, + 107, + 28, + 111 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2574fa9e-0d5f-502c-ce28-ef5cf30f41ec" + }, + { + "name": "RightArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 18, + -2 + ], + "to": [ + 7, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 44, + 95, + 47, + 101 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 95, + 44, + 101 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 95, + 54, + 101 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 95, + 51, + 101 + ], + "texture": 0 + }, + "up": { + "uv": [ + 47, + 95, + 44, + 91 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 75, + 0, + 75 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8831734e-ce90-e6bb-8368-e011a468277d" + }, + { + "name": "RightArmLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 18, + -2 + ], + "to": [ + 7, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.24, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 32 + ], + "faces": { + "north": { + "uv": [ + 44, + 111, + 47, + 117 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 111, + 44, + 117 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 111, + 54, + 117 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 111, + 51, + 117 + ], + "texture": 0 + }, + "up": { + "uv": [ + 47, + 111, + 44, + 107 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 75, + 0, + 75 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "cea7603d-ae80-e4e7-6f93-905551a79117" + }, + { + "name": "LeftArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 18, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 32, + 48 + ], + "faces": { + "north": { + "uv": [ + 36, + 127, + 39, + 133 + ], + "texture": 0 + }, + "east": { + "uv": [ + 32, + 127, + 36, + 133 + ], + "texture": 0 + }, + "south": { + "uv": [ + 43, + 127, + 46, + 133 + ], + "texture": 0 + }, + "west": { + "uv": [ + 39, + 127, + 43, + 133 + ], + "texture": 0 + }, + "up": { + "uv": [ + 39, + 127, + 36, + 123 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 75, + 0, + 75 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "af1aa9d5-0ccf-d579-b381-54ac7b12fb55" + }, + { + "name": "LeftArmLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 18, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.24, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 48, + 48 + ], + "faces": { + "north": { + "uv": [ + 52, + 127, + 55, + 133 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 127, + 52, + 133 + ], + "texture": 0 + }, + "south": { + "uv": [ + 59, + 127, + 62, + 133 + ], + "texture": 0 + }, + "west": { + "uv": [ + 55, + 127, + 59, + 133 + ], + "texture": 0 + }, + "up": { + "uv": [ + 55, + 127, + 52, + 123 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 75, + 0, + 75 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b74fb9e9-db24-b669-6f87-8469be63eda5" + }, + { + "name": "RightLeg", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 6, + -2 + ], + "to": [ + 4, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 4, + 95, + 8, + 101 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 95, + 4, + 101 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 95, + 16, + 101 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 95, + 12, + 101 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 95, + 4, + 91 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 91, + 4, + 95 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "da81ebbe-5b4e-2d46-144a-6f839ad6fa3c" + }, + { + "name": "RightLegLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 6, + -2 + ], + "to": [ + 4, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 32 + ], + "faces": { + "north": { + "uv": [ + 4, + 111, + 8, + 117 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 111, + 4, + 117 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 111, + 16, + 117 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 111, + 12, + 117 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 111, + 4, + 107 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 111, + 8, + 107 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "bcf37da3-caec-e8f2-bc82-76a3f169374c" + }, + { + "name": "LeftLeg", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 6, + -2 + ], + "to": [ + 0, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 48 + ], + "faces": { + "north": { + "uv": [ + 20, + 127, + 24, + 133 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 127, + 20, + 133 + ], + "texture": 0 + }, + "south": { + "uv": [ + 28, + 127, + 32, + 133 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 127, + 28, + 133 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 127, + 20, + 123 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 123, + 20, + 127 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "9c06bc9a-beae-98d9-e9ce-9c8e6ddbb9d3" + }, + { + "name": "LeftLegLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 6, + -2 + ], + "to": [ + 0, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 48 + ], + "faces": { + "north": { + "uv": [ + 4, + 127, + 8, + 133 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 127, + 4, + 133 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 127, + 16, + 133 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 127, + 12, + 133 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 127, + 4, + 123 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 123, + 8, + 127 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f8f1e7ad-7999-9f17-0488-5dcbd4af7945" + }, + { + "name": "EyeLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1, + 25, + -4.01 + ], + "to": [ + 4, + 28, + -4.01 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 32, + 6, + 38 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "7853e9a2-b429-5a00-5e0e-70449c3a71ee" + }, + { + "name": "EyeRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 25, + -4.01 + ], + "to": [ + -1, + 28, + -4.01 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 12, + 32, + 6, + 38 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "328a2de5-64bc-807b-5906-227bfceedf26" + }, + { + "name": "Mouth", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 24, + -4.01 + ], + "to": [ + 1, + 25, + -4.01 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 44, + 16, + 52 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d9d80373-4145-9e90-28de-12248a8075d9" + }, + { + "name": "RightArmBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 7, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 44, + 101, + 47, + 107 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 101, + 44, + 107 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 101, + 54, + 107 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 101, + 51, + 107 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 75, + 0, + 75 + ], + "texture": null + }, + "down": { + "uv": [ + 50, + 95, + 47, + 91 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "643f9c05-2d3c-e1d1-5a2f-874902eb1784" + }, + { + "name": "RightArmBottomLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 7, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 32 + ], + "faces": { + "north": { + "uv": [ + 44, + 117, + 47, + 123 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 117, + 44, + 123 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 117, + 54, + 123 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 117, + 51, + 123 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 75, + 0, + 75 + ], + "texture": null + }, + "down": { + "uv": [ + 50, + 111, + 47, + 107 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b1a76f47-912e-c2d4-8090-6f6ac9734672" + }, + { + "name": "LeftArmBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 12, + -2 + ], + "to": [ + -4, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 32, + 48 + ], + "faces": { + "north": { + "uv": [ + 36, + 133, + 39, + 139 + ], + "texture": 0 + }, + "east": { + "uv": [ + 32, + 133, + 36, + 139 + ], + "texture": 0 + }, + "south": { + "uv": [ + 43, + 133, + 46, + 139 + ], + "texture": 0 + }, + "west": { + "uv": [ + 39, + 133, + 43, + 139 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 75, + 0, + 75 + ], + "texture": null + }, + "down": { + "uv": [ + 42, + 127, + 39, + 123 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a82219a3-e344-a4d8-c85c-51462943a7dc" + }, + { + "name": "LeftArmBottomLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 12, + -2 + ], + "to": [ + -4, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 48, + 48 + ], + "faces": { + "north": { + "uv": [ + 52, + 133, + 55, + 139 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 133, + 52, + 139 + ], + "texture": 0 + }, + "south": { + "uv": [ + 59, + 133, + 62, + 139 + ], + "texture": 0 + }, + "west": { + "uv": [ + 55, + 133, + 59, + 139 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 75, + 0, + 75 + ], + "texture": null + }, + "down": { + "uv": [ + 58, + 127, + 55, + 123 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d7794b2f-dbb3-2cd5-c956-cd163b703976" + }, + { + "name": "RightLegBottomLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -2 + ], + "to": [ + 4, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 32 + ], + "faces": { + "north": { + "uv": [ + 4, + 117, + 8, + 123 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 117, + 4, + 123 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 117, + 16, + 123 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 117, + 12, + 123 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 111, + 4, + 107 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 111, + 8, + 107 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "72c6eff7-d0eb-2ffa-193f-2ca402bdc722" + }, + { + "name": "RightLegBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -2 + ], + "to": [ + 4, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 4, + 101, + 8, + 107 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 101, + 4, + 107 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 101, + 16, + 107 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 101, + 12, + 107 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 95, + 4, + 91 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 95, + 8, + 91 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8b1cc891-ffa8-9f46-ebc0-f0b84e6ffb15" + }, + { + "name": "LeftLegBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 0, + -2 + ], + "to": [ + 0, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 48 + ], + "faces": { + "north": { + "uv": [ + 20, + 133, + 24, + 139 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 133, + 20, + 139 + ], + "texture": 0 + }, + "south": { + "uv": [ + 28, + 133, + 32, + 139 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 133, + 28, + 139 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 127, + 20, + 123 + ], + "texture": 0 + }, + "down": { + "uv": [ + 28, + 127, + 24, + 123 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a1169ee6-6a78-c7c4-9214-670991206468" + }, + { + "name": "LeftLegBottomLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 0, + -2 + ], + "to": [ + 0, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 48 + ], + "faces": { + "north": { + "uv": [ + 4, + 133, + 8, + 139 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 133, + 4, + 139 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 133, + 16, + 139 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 133, + 12, + 139 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 127, + 4, + 123 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 127, + 8, + 123 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a5173990-504e-f5c4-45c7-9347880c1306" + }, + { + "name": "Camera2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -1, + 1 + ], + "to": [ + 1, + 1, + 4 + ], + "autouv": 1, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "south": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "west": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "up": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "down": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "c2175bbe-2cfe-5bd6-da67-98c3b6cd21ee" + }, + { + "name": "Camera3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 1, + 1.25 + ], + "to": [ + 0.5, + 2, + 2.25 + ], + "autouv": 1, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "south": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "west": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "up": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "down": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "7e6a5cd5-aefb-6095-d77f-adf6c4130742" + }, + { + "name": "Camera4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 1, + 2.75 + ], + "to": [ + 0.5, + 2, + 3.75 + ], + "autouv": 1, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "south": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "west": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "up": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "down": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "31aaec73-9e98-c58c-c0ed-6d915f491f85" + }, + { + "name": "Camera1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + -1.5, + 0 + ], + "to": [ + 1.5, + 1.5, + 1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "south": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "west": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "up": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "down": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8b47234a-9700-3da5-47db-8f75a6aab837" + }, + { + "name": "RingPart1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.06, + 36.01, + -4.825 + ], + "to": [ + 1.06, + 36.01, + -1.295 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3, + 22, + -4 + ], + "faces": { + "north": { + "uv": [ + 0, + 16, + 1, + 17 + ] + }, + "east": { + "uv": [ + 0, + 16, + 1, + 17 + ] + }, + "south": { + "uv": [ + 0, + 16, + 1, + 17 + ] + }, + "west": { + "uv": [ + 0, + 16, + 1, + 17 + ] + }, + "up": { + "uv": [ + 53, + 67.9, + 56, + 72.9 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "faf8ab6b-f4f0-ca97-dccf-5419513d1359" + }, + { + "name": "RingPart2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1.295, + 36.01, + -1.06 + ], + "to": [ + 4.825, + 36.01, + 1.06 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 22, + -3 + ], + "faces": { + "north": { + "uv": [ + 0, + 16, + 1, + 17 + ] + }, + "east": { + "uv": [ + 0, + 16, + 1, + 17 + ] + }, + "south": { + "uv": [ + 0, + 16, + 1, + 17 + ] + }, + "west": { + "uv": [ + 0, + 16, + 1, + 17 + ] + }, + "up": { + "uv": [ + 53, + 72.9, + 56, + 77.9 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "61c19b56-1984-cdcb-7a31-987945b0ae33" + }, + { + "name": "RingPart4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.825, + 36.01, + -1.06 + ], + "to": [ + -1.295, + 36.01, + 1.06 + ], + "autouv": 0, + "color": 0, + "origin": [ + -4, + 22, + -3 + ], + "faces": { + "north": { + "uv": [ + 1, + 16, + 0, + 17 + ] + }, + "east": { + "uv": [ + 1, + 16, + 0, + 17 + ] + }, + "south": { + "uv": [ + 1, + 16, + 0, + 17 + ] + }, + "west": { + "uv": [ + 1, + 16, + 0, + 17 + ] + }, + "up": { + "uv": [ + 53, + 77.9, + 56, + 72.9 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "4a2f805b-02d9-da24-e361-0c0309289a1d" + }, + { + "name": "RingPart3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.06, + 36.01, + 1.295 + ], + "to": [ + 1.06, + 36.01, + 4.825 + ], + "autouv": 0, + "color": 0, + "origin": [ + 3, + 22, + 4 + ], + "faces": { + "north": { + "uv": [ + 0, + 16, + 1, + 17 + ] + }, + "east": { + "uv": [ + 0, + 16, + 1, + 17 + ] + }, + "south": { + "uv": [ + 0, + 16, + 1, + 17 + ] + }, + "west": { + "uv": [ + 0, + 16, + 1, + 17 + ] + }, + "up": { + "uv": [ + 53, + 77.9, + 56, + 82.9 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "rotation": 180, + "texture": null + } + }, + "type": "cube", + "uuid": "f0e4c2d9-cc4e-0c13-3e3a-2b95d8c0d034" + }, + { + "name": "HeadPhoneRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5, + 26, + -2 + ], + "to": [ + -4, + 29, + 1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 68, + 1, + 69 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 35, + 0, + 35 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 68, + 1, + 69 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 68, + 7, + 75 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 68, + 1, + 69 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 68, + 1, + 69 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "01f6d688-d2cd-c36a-df2e-a80523a72020" + }, + { + "name": "HeadPhoneLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 26, + -2 + ], + "to": [ + 5, + 29, + 1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 68, + 1, + 69 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 68, + 7, + 75 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 68, + 1, + 69 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 35, + 0, + 35 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 68, + 1, + 69 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 68, + 1, + 69 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "4f5e53a6-b464-0187-a63a-a317f45c2beb" + }, + { + "name": "HeadPhoneShaftRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 29, + -1.5 + ], + "to": [ + 4.5, + 32, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 68, + 1, + 69 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 68, + 1, + 69 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 68, + 1, + 69 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 35, + 0, + 35 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 68, + 1, + 69 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 35, + 0, + 35 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ac86679a-d55c-be34-cf2b-68f42e402541" + }, + { + "name": "HeadPhoneShaftLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.5, + 29, + -1.5 + ], + "to": [ + -4, + 32, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 68, + 1, + 69 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 35, + 0, + 35 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 68, + 1, + 69 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 68, + 1, + 69 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 68, + 1, + 69 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 35, + 0, + 35 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "0aae78b3-7629-724d-62de-d336c7bb05d6" + }, + { + "name": "HeadPhoneShaftCenter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.75, + 32, + -0.5 + ], + "to": [ + 3.75, + 32.5, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 68, + 1, + 69 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 68, + 1, + 69 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 68, + 1, + 69 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 68, + 1, + 69 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 68, + 1, + 69 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 35, + 1, + 36 + ] + } + }, + "type": "cube", + "uuid": "943051a6-3609-4b6a-a9be-3e7a6d7e866b" + }, + { + "name": "HairRibbonRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.1875, + 24.5, + -4.5 + ], + "to": [ + 4.6875, + 26, + -4.5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 0, + 0, + -45 + ], + "origin": [ + 3.9375, + 25.25, + -4.5 + ], + "faces": { + "north": { + "uv": [ + 24, + 0, + 30, + 6 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 30, + 0, + 24, + 6 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ] + } + }, + "type": "cube", + "uuid": "cb186902-ed9f-81b4-4202-9b6bd1679875" + }, + { + "name": "HairRibbonLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.6875, + 24.5, + -4.5 + ], + "to": [ + -3.1875, + 26, + -4.5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 0, + 0, + 45 + ], + "origin": [ + -3.9375, + 25.25, + -4.5 + ], + "faces": { + "north": { + "uv": [ + 30, + 0, + 24, + 6 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 24, + 0, + 30, + 6 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 1, + 0, + 0, + 1 + ] + } + }, + "type": "cube", + "uuid": "a9969c6d-21ee-6a83-fded-e167709975e0" + }, + { + "name": "Skirt1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.5, + 11, + -3 + ], + "to": [ + 4.5, + 15, + 3 + ], + "autouv": 0, + "color": 3, + "inflate": -0.001, + "origin": [ + 0, + 23, + 0 + ], + "uv_offset": [ + 0, + 64 + ], + "faces": { + "north": { + "uv": [ + 16, + 72, + 25, + 76 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 68, + 22, + 72 + ], + "texture": 0 + }, + "south": { + "uv": [ + 16, + 76, + 25, + 80 + ], + "texture": 0 + }, + "west": { + "uv": [ + 16, + 68, + 22, + 72 + ], + "texture": 0 + }, + "up": { + "uv": [ + 7, + 68, + 16, + 74 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 35, + 0, + 35 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "38c80056-38bf-0791-5b8e-c3a3b2591654" + }, + { + "name": "Skirt2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5, + 7, + -4 + ], + "to": [ + 5, + 11, + 4 + ], + "autouv": 0, + "color": 3, + "inflate": -0.001, + "origin": [ + 0, + 23, + 0 + ], + "uv_offset": [ + 0, + 73 + ], + "faces": { + "north": { + "uv": [ + 14, + 80, + 24, + 84 + ], + "texture": 0 + }, + "east": { + "uv": [ + 25, + 76, + 33, + 80 + ], + "texture": 0 + }, + "south": { + "uv": [ + 14, + 84, + 24, + 88 + ], + "texture": 0 + }, + "west": { + "uv": [ + 25, + 76, + 33, + 80 + ], + "texture": 0 + }, + "up": { + "uv": [ + 25, + 68, + 35, + 76 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 43, + 0, + 43 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e5f18b5e-4093-76a4-d9ae-165f680424da" + }, + { + "name": "Tail1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 14, + 2 + ], + "to": [ + 0.5, + 15, + 8 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 14, + 2 + ], + "faces": { + "north": { + "uv": [ + 2, + 47, + 2, + 47 + ], + "texture": null + }, + "east": { + "uv": [ + 24, + 80, + 36, + 81 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 47, + 2, + 47 + ], + "texture": null + }, + "west": { + "uv": [ + 36, + 80, + 24, + 81 + ], + "texture": 0 + }, + "up": { + "uv": [ + 36, + 80, + 24, + 81 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 24, + 80, + 36, + 81 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "50e61828-ccdd-ee8e-c621-0a193b35fd5e" + }, + { + "name": "Tail2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 14, + 8 + ], + "to": [ + 0.5, + 15, + 14 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 14, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 47, + 2, + 47 + ], + "texture": null + }, + "east": { + "uv": [ + 24, + 81, + 36, + 82 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 81, + 25, + 82 + ], + "texture": 0 + }, + "west": { + "uv": [ + 36, + 81, + 24, + 82 + ], + "texture": 0 + }, + "up": { + "uv": [ + 36, + 81, + 24, + 82 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 24, + 81, + 36, + 82 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "4113cbe8-5856-27e8-5d63-4f6f3f13ccbd" + }, + { + "name": "RightCoat", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 13, + -2 + ], + "to": [ + 7, + 17, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.5, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 32 + ], + "faces": { + "north": { + "uv": [ + 4, + 79, + 7, + 83 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 79, + 4, + 83 + ], + "texture": 0 + }, + "south": { + "uv": [ + 11, + 79, + 14, + 83 + ], + "texture": 0 + }, + "west": { + "uv": [ + 7, + 79, + 11, + 83 + ], + "texture": 0 + }, + "up": { + "uv": [ + 3, + 75, + 6, + 79 + ], + "texture": 0 + }, + "down": { + "uv": [ + 44, + 119, + 47, + 123 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "29a6683b-b165-5012-f56b-a8b8ebf7af9a" + }, + { + "name": "LeftCoat", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 13, + -2 + ], + "to": [ + -4, + 17, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.5, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 32 + ], + "faces": { + "north": { + "uv": [ + 4, + 87, + 7, + 91 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 87, + 4, + 91 + ], + "texture": 0 + }, + "south": { + "uv": [ + 11, + 87, + 14, + 91 + ], + "texture": 0 + }, + "west": { + "uv": [ + 7, + 87, + 11, + 91 + ], + "texture": 0 + }, + "up": { + "uv": [ + 3, + 83, + 6, + 87 + ], + "texture": 0 + }, + "down": { + "uv": [ + 52, + 135, + 55, + 139 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "068c9564-63f3-82ac-0263-7761baadd884" + }, + { + "name": "PhoneEarRightFront1_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 32, + -1.5 + ], + "to": [ + 1, + 35, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 0, + 68, + 1, + 69 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 68, + 1, + 69 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 68, + 1, + 69 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 68, + 1, + 69 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 35, + 0, + 35 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 35, + 0, + 35 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5628b192-ac9f-3e32-91d4-2d87aa746910" + }, + { + "name": "PhoneEarRightFront1_1OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.1, + 32, + -1.51 + ], + "to": [ + 0.2, + 34.98, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 69, + 2, + 70 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 35, + 1, + 36 + ] + }, + "south": { + "uv": [ + 0, + 35, + 1, + 36 + ] + }, + "west": { + "uv": [ + 0, + 35, + 1, + 36 + ] + }, + "up": { + "uv": [ + 0, + 35, + 1, + 36 + ] + }, + "down": { + "uv": [ + 0, + 35, + 1, + 36 + ] + } + }, + "type": "cube", + "uuid": "c1fcb63e-6496-d3a3-64cb-e2251ddf6b9e" + }, + { + "name": "PhoneEarRightFront1_1InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.8, + 32, + -1.51 + ], + "to": [ + 0.9, + 34.825, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 69, + 2, + 70 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 35, + 1, + 36 + ] + }, + "south": { + "uv": [ + 0, + 35, + 1, + 36 + ] + }, + "west": { + "uv": [ + 0, + 35, + 1, + 36 + ] + }, + "up": { + "uv": [ + 0, + 35, + 1, + 36 + ] + }, + "down": { + "uv": [ + 0, + 35, + 1, + 36 + ] + } + }, + "type": "cube", + "uuid": "beef8305-3bf6-58e9-b6da-1cd0fab1fe2f" + }, + { + "name": "PhoneEarRightFront1_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 35, + -1.5 + ], + "to": [ + 1, + 37.09, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 0, + 68, + 1, + 69 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 68, + 1, + 69 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 68, + 1, + 69 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 68, + 1, + 69 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 35, + 0, + 35 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 35, + 0, + 35 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "403fa6ce-f0d8-c5be-a8b6-d47294eb4984" + }, + { + "name": "PhoneEarRightFront1_2OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.1, + 35.025, + -1.51 + ], + "to": [ + 0.2, + 37.06, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 69, + 2, + 70 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 35, + 1, + 36 + ] + }, + "south": { + "uv": [ + 0, + 35, + 1, + 36 + ] + }, + "west": { + "uv": [ + 0, + 35, + 1, + 36 + ] + }, + "up": { + "uv": [ + 0, + 35, + 1, + 36 + ] + }, + "down": { + "uv": [ + 0, + 35, + 1, + 36 + ] + } + }, + "type": "cube", + "uuid": "76f78202-a819-a689-73e2-64029f8d0f9d" + }, + { + "name": "PhoneEarRightFront1_2InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.8, + 35.178, + -1.51 + ], + "to": [ + 0.9, + 36.876, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 69, + 2, + 70 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 35, + 1, + 36 + ] + }, + "south": { + "uv": [ + 0, + 35, + 1, + 36 + ] + }, + "west": { + "uv": [ + 0, + 35, + 1, + 36 + ] + }, + "up": { + "uv": [ + 0, + 35, + 1, + 36 + ] + }, + "down": { + "uv": [ + 0, + 35, + 1, + 36 + ] + } + }, + "type": "cube", + "uuid": "b779ad53-9102-aacf-4abf-51210f0edbde" + }, + { + "name": "PhoneEarRightFront2_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.5, + 28.9, + -1.5 + ], + "to": [ + 4.5, + 30.08, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 3.5, + 29.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 0, + 68, + 1, + 69 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 68, + 1, + 69 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 68, + 1, + 69 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 68, + 1, + 69 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 35, + 0, + 35 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 35, + 0, + 35 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "4bd4c91f-764a-3ef9-009c-766a50959788" + }, + { + "name": "PhoneEarRightFront2_1OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4.3, + 28.9, + -1.51 + ], + "to": [ + 4.4, + 30.023, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.5, + 31, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 69, + 2, + 70 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 35, + 1, + 36 + ] + }, + "south": { + "uv": [ + 0, + 35, + 1, + 36 + ] + }, + "west": { + "uv": [ + 0, + 35, + 1, + 36 + ] + }, + "up": { + "uv": [ + 0, + 35, + 1, + 36 + ] + }, + "down": { + "uv": [ + 0, + 35, + 1, + 36 + ] + } + }, + "type": "cube", + "uuid": "1a50d8d3-d2c0-1c03-5226-56fabd5b1aa7" + }, + { + "name": "PhoneEarRightFront2_1InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.6, + 28.9, + -1.51 + ], + "to": [ + 3.7, + 29.618, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.5, + 31, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 69, + 2, + 70 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 35, + 1, + 36 + ] + }, + "south": { + "uv": [ + 0, + 35, + 1, + 36 + ] + }, + "west": { + "uv": [ + 0, + 35, + 1, + 36 + ] + }, + "up": { + "uv": [ + 0, + 35, + 1, + 36 + ] + }, + "down": { + "uv": [ + 0, + 35, + 1, + 36 + ] + } + }, + "type": "cube", + "uuid": "d3a63ec7-8768-7c37-4624-c7e3d4192e12" + }, + { + "name": "PhoneEarRightFront2_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.5, + 30.08, + -1.5 + ], + "to": [ + 4.5, + 34.08, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 3.5, + 28.6, + -1 + ], + "faces": { + "north": { + "uv": [ + 0, + 68, + 1, + 69 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 68, + 1, + 69 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 68, + 1, + 69 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 68, + 1, + 69 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 35, + 0, + 35 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 35, + 0, + 35 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "092a0e63-d5dd-7734-63ea-fa9d2553d0f5" + }, + { + "name": "PhoneEarRightFront2_2OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4.3, + 30.138, + -1.51 + ], + "to": [ + 4.4, + 34.063, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.5, + 30.1, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 69, + 2, + 70 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 35, + 1, + 36 + ] + }, + "south": { + "uv": [ + 0, + 35, + 1, + 36 + ] + }, + "west": { + "uv": [ + 0, + 35, + 1, + 36 + ] + }, + "up": { + "uv": [ + 0, + 35, + 1, + 36 + ] + }, + "down": { + "uv": [ + 0, + 35, + 1, + 36 + ] + } + }, + "type": "cube", + "uuid": "c5113057-7bfd-25ad-e529-b49c112c3377" + }, + { + "name": "PhoneEarRightFront2_2InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.6, + 30.541, + -1.51 + ], + "to": [ + 3.7, + 33.939, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.5, + 30.1, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 69, + 2, + 70 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 35, + 1, + 36 + ] + }, + "south": { + "uv": [ + 0, + 35, + 1, + 36 + ] + }, + "west": { + "uv": [ + 0, + 35, + 1, + 36 + ] + }, + "up": { + "uv": [ + 0, + 35, + 1, + 36 + ] + }, + "down": { + "uv": [ + 0, + 35, + 1, + 36 + ] + } + }, + "type": "cube", + "uuid": "2840ca2d-db60-7b72-40c4-526f07cf8a96" + }, + { + "name": "PhoneEarRightFront2_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.5, + 34.08, + -1.5 + ], + "to": [ + 4.5, + 35.9, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 3.5, + 34.6, + -1 + ], + "faces": { + "north": { + "uv": [ + 0, + 68, + 1, + 69 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 68, + 1, + 69 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 68, + 1, + 69 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 68, + 1, + 69 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 35, + 0, + 35 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 35, + 0, + 35 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e774d120-5304-8e16-59f6-3320dd90cc26" + }, + { + "name": "PhoneEarRightFront2_3OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4.3, + 34.099, + -1.51 + ], + "to": [ + 4.4, + 35.832, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.5, + 34.1, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 69, + 2, + 70 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 35, + 1, + 36 + ] + }, + "south": { + "uv": [ + 0, + 35, + 1, + 36 + ] + }, + "west": { + "uv": [ + 0, + 35, + 1, + 36 + ] + }, + "up": { + "uv": [ + 0, + 35, + 1, + 36 + ] + }, + "down": { + "uv": [ + 0, + 35, + 1, + 36 + ] + } + }, + "type": "cube", + "uuid": "0dca0cdb-bd65-b554-9877-c42622b728bd" + }, + { + "name": "PhoneEarRightFront2_3InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.6, + 34.22, + -1.51 + ], + "to": [ + 3.7, + 35.342, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.5, + 34.1, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 69, + 2, + 70 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 35, + 1, + 36 + ] + }, + "south": { + "uv": [ + 0, + 35, + 1, + 36 + ] + }, + "west": { + "uv": [ + 0, + 35, + 1, + 36 + ] + }, + "up": { + "uv": [ + 0, + 35, + 1, + 36 + ] + }, + "down": { + "uv": [ + 0, + 35, + 1, + 36 + ] + } + }, + "type": "cube", + "uuid": "c95bca51-10cf-7f94-f3f4-4e2202585871" + }, + { + "name": "PhoneEarRightBack1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1, + 31.855, + -0.5 + ], + "to": [ + 2.1, + 34.595, + 0.5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.1, + "rotation": [ + 0, + 0, + -35 + ], + "origin": [ + 1, + 32, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 69, + 2, + 70 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 35, + 0, + 35 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 68, + 1, + 69 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 68, + 1, + 69 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 35, + 1, + 36 + ] + }, + "down": { + "uv": [ + 0, + 35, + 0, + 35 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b561e0e5-fa37-6c25-4798-cb2864fd4ef3" + }, + { + "name": "PhoneEarRightBack2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2.56, + 30, + -0.5 + ], + "to": [ + 4.06, + 34.35, + 0.5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.1, + "origin": [ + 3.75, + 32, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 69, + 2, + 70 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 68, + 1, + 69 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 68, + 1, + 69 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 68, + 1, + 69 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 68, + 1, + 69 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 35, + 0, + 35 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "dedf0f6b-187d-2be9-04f4-b753ebcdcf51" + }, + { + "name": "PhoneEarRightFront1_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 37.09, + -1.5 + ], + "to": [ + 1, + 37.94, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.25, + 34.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 0, + 68, + 1, + 69 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 68, + 1, + 69 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 68, + 1, + 69 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 68, + 1, + 69 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 35, + 0, + 35 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 35, + 0, + 35 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f1e596d1-8e6e-52f8-ee7e-4c2fe9e40228" + }, + { + "name": "PhoneEarRightFront1_2OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.1, + 37.115, + -1.51 + ], + "to": [ + 0.2, + 37.868, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.25, + 34.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 69, + 2, + 70 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 35, + 1, + 36 + ] + }, + "south": { + "uv": [ + 0, + 35, + 1, + 36 + ] + }, + "west": { + "uv": [ + 0, + 35, + 1, + 36 + ] + }, + "up": { + "uv": [ + 0, + 35, + 1, + 36 + ] + }, + "down": { + "uv": [ + 0, + 35, + 1, + 36 + ] + } + }, + "type": "cube", + "uuid": "6544450b-5248-1b6d-e92d-2543dd68f300" + }, + { + "name": "PhoneEarRightFront1_2InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.8, + 37.305, + -1.51 + ], + "to": [ + 0.9, + 37.378, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.25, + 34.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 69, + 2, + 70 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 35, + 1, + 36 + ] + }, + "south": { + "uv": [ + 0, + 35, + 1, + 36 + ] + }, + "west": { + "uv": [ + 0, + 35, + 1, + 36 + ] + }, + "up": { + "uv": [ + 0, + 35, + 1, + 36 + ] + }, + "down": { + "uv": [ + 0, + 35, + 1, + 36 + ] + } + }, + "type": "cube", + "uuid": "348fd0c9-c2ba-34d9-9160-bd82c3a23d43" + }, + { + "name": "PhoneEarLeftFront1_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 32, + -1.5 + ], + "to": [ + 0, + 35, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 68, + 0, + 69 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 68, + 0, + 69 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 68, + 0, + 69 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 68, + 0, + 69 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 35, + 0, + 35 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 35, + 0, + 35 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "be67e76c-c7f9-9a4b-6c04-524fbc76c77b" + }, + { + "name": "PhoneEarLeftFront1_1OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2, + 32, + -1.51 + ], + "to": [ + -0.1, + 34.98, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 69, + 1, + 70 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 35, + 0, + 36 + ] + }, + "south": { + "uv": [ + 1, + 35, + 0, + 36 + ] + }, + "west": { + "uv": [ + 1, + 35, + 0, + 36 + ] + }, + "up": { + "uv": [ + 1, + 35, + 0, + 36 + ] + }, + "down": { + "uv": [ + 1, + 35, + 0, + 36 + ] + } + }, + "type": "cube", + "uuid": "a76db6f4-0ef7-6aed-1cc1-9c1259141265" + }, + { + "name": "PhoneEarLeftFront1_1InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.9, + 32, + -1.51 + ], + "to": [ + -0.8, + 34.825, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 69, + 1, + 70 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 35, + 0, + 36 + ] + }, + "south": { + "uv": [ + 1, + 35, + 0, + 36 + ] + }, + "west": { + "uv": [ + 1, + 35, + 0, + 36 + ] + }, + "up": { + "uv": [ + 1, + 35, + 0, + 36 + ] + }, + "down": { + "uv": [ + 1, + 35, + 0, + 36 + ] + } + }, + "type": "cube", + "uuid": "2d6e824a-b085-3640-e1e5-7ba8c21408be" + }, + { + "name": "PhoneEarLeftFront1_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 35, + -1.5 + ], + "to": [ + 0, + 37.09, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 68, + 0, + 69 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 68, + 0, + 69 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 68, + 0, + 69 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 68, + 0, + 69 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 35, + 0, + 35 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 35, + 0, + 35 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8cc219f9-f431-d538-3d6f-fcab7185ee25" + }, + { + "name": "PhoneEarLeftFront1_2OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2, + 35.025, + -1.51 + ], + "to": [ + -0.1, + 37.06, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 69, + 1, + 70 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 35, + 0, + 36 + ] + }, + "south": { + "uv": [ + 1, + 35, + 0, + 36 + ] + }, + "west": { + "uv": [ + 1, + 35, + 0, + 36 + ] + }, + "up": { + "uv": [ + 1, + 35, + 0, + 36 + ] + }, + "down": { + "uv": [ + 1, + 35, + 0, + 36 + ] + } + }, + "type": "cube", + "uuid": "c3b3c7a5-1906-1860-5da3-6879de869a89" + }, + { + "name": "PhoneEarLeftFront1_2InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.9, + 35.178, + -1.51 + ], + "to": [ + -0.8, + 36.876, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.25, + 32.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 69, + 1, + 70 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 35, + 0, + 36 + ] + }, + "south": { + "uv": [ + 1, + 35, + 0, + 36 + ] + }, + "west": { + "uv": [ + 1, + 35, + 0, + 36 + ] + }, + "up": { + "uv": [ + 1, + 35, + 0, + 36 + ] + }, + "down": { + "uv": [ + 1, + 35, + 0, + 36 + ] + } + }, + "type": "cube", + "uuid": "239182e8-2f83-2228-a01c-9bba6132ebd4" + }, + { + "name": "PhoneEarLeftFront1_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 37.09, + -1.5 + ], + "to": [ + 0, + 37.94, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.25, + 34.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 68, + 0, + 69 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 68, + 0, + 69 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 68, + 0, + 69 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 68, + 0, + 69 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 35, + 0, + 35 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 35, + 0, + 35 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "2efdfc14-75ad-3917-bcbd-c864f6a4908a" + }, + { + "name": "PhoneEarLeftFront1_2OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2, + 37.115, + -1.51 + ], + "to": [ + -0.1, + 37.868, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.25, + 34.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 69, + 1, + 70 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 35, + 0, + 36 + ] + }, + "south": { + "uv": [ + 1, + 35, + 0, + 36 + ] + }, + "west": { + "uv": [ + 1, + 35, + 0, + 36 + ] + }, + "up": { + "uv": [ + 1, + 35, + 0, + 36 + ] + }, + "down": { + "uv": [ + 1, + 35, + 0, + 36 + ] + } + }, + "type": "cube", + "uuid": "12e1aa45-4861-cd9c-cdfd-5b656c8af07c" + }, + { + "name": "PhoneEarLeftFront1_2InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.9, + 37.305, + -1.51 + ], + "to": [ + -0.8, + 37.378, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.25, + 34.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 69, + 1, + 70 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 35, + 0, + 36 + ] + }, + "south": { + "uv": [ + 1, + 35, + 0, + 36 + ] + }, + "west": { + "uv": [ + 1, + 35, + 0, + 36 + ] + }, + "up": { + "uv": [ + 1, + 35, + 0, + 36 + ] + }, + "down": { + "uv": [ + 1, + 35, + 0, + 36 + ] + } + }, + "type": "cube", + "uuid": "64b1a793-eb74-5aab-221f-0058edf82966" + }, + { + "name": "PhoneEarLeftFront_2_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.5, + 28.9, + -1.5 + ], + "to": [ + -3.5, + 30.08, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3.5, + 29.5, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 68, + 0, + 69 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 68, + 0, + 69 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 68, + 0, + 69 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 68, + 0, + 69 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 35, + 0, + 35 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 35, + 0, + 35 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "0cabbb13-53a1-76d6-49c1-244a341e3fc4" + }, + { + "name": "PhoneEarLeftFront2_1OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.4, + 28.9, + -1.51 + ], + "to": [ + -4.3, + 30.023, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 31, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 69, + 1, + 70 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 35, + 0, + 36 + ] + }, + "south": { + "uv": [ + 1, + 35, + 0, + 36 + ] + }, + "west": { + "uv": [ + 1, + 35, + 0, + 36 + ] + }, + "up": { + "uv": [ + 1, + 35, + 0, + 36 + ] + }, + "down": { + "uv": [ + 1, + 35, + 0, + 36 + ] + } + }, + "type": "cube", + "uuid": "4b86c2c6-6541-ae97-908d-c4c0946d9742" + }, + { + "name": "PhoneEarLeftFront2_1InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.7, + 28.9, + -1.51 + ], + "to": [ + -3.6, + 29.618, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 31, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 69, + 1, + 70 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 35, + 0, + 36 + ] + }, + "south": { + "uv": [ + 1, + 35, + 0, + 36 + ] + }, + "west": { + "uv": [ + 1, + 35, + 0, + 36 + ] + }, + "up": { + "uv": [ + 1, + 35, + 0, + 36 + ] + }, + "down": { + "uv": [ + 1, + 35, + 0, + 36 + ] + } + }, + "type": "cube", + "uuid": "fd698e35-9448-12f8-4ea1-9abfc1d86688" + }, + { + "name": "PhoneEarLeftFront2_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.5, + 30.08, + -1.5 + ], + "to": [ + -3.5, + 34.08, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3.5, + 28.6, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 68, + 0, + 69 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 68, + 0, + 69 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 68, + 0, + 69 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 68, + 0, + 69 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 35, + 0, + 35 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 35, + 0, + 35 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "83f7478a-cd88-a072-b14a-aac679cc671e" + }, + { + "name": "PhoneEarLeftFront2_2OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.4, + 30.138, + -1.51 + ], + "to": [ + -4.3, + 34.063, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 30.1, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 69, + 1, + 70 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 35, + 0, + 36 + ] + }, + "south": { + "uv": [ + 1, + 35, + 0, + 36 + ] + }, + "west": { + "uv": [ + 1, + 35, + 0, + 36 + ] + }, + "up": { + "uv": [ + 1, + 35, + 0, + 36 + ] + }, + "down": { + "uv": [ + 1, + 35, + 0, + 36 + ] + } + }, + "type": "cube", + "uuid": "759cf829-fc6c-b23b-f394-09d2b21b073e" + }, + { + "name": "PhoneEarLeftFront2_2InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.7, + 30.541, + -1.51 + ], + "to": [ + -3.6, + 33.939, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 30.1, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 69, + 1, + 70 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 35, + 0, + 36 + ] + }, + "south": { + "uv": [ + 1, + 35, + 0, + 36 + ] + }, + "west": { + "uv": [ + 1, + 35, + 0, + 36 + ] + }, + "up": { + "uv": [ + 1, + 35, + 0, + 36 + ] + }, + "down": { + "uv": [ + 1, + 35, + 0, + 36 + ] + } + }, + "type": "cube", + "uuid": "5e464ee7-9b76-e363-35ab-cc8ac9024a22" + }, + { + "name": "PhoneEarLeftFront2_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.5, + 34.08, + -1.5 + ], + "to": [ + -3.5, + 35.9, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3.5, + 34.6, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 68, + 0, + 69 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 68, + 0, + 69 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 68, + 0, + 69 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 68, + 0, + 69 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 35, + 0, + 35 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 35, + 0, + 35 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f7ef2c19-5922-806b-fe13-635d0335552b" + }, + { + "name": "PhoneEarLeftFront2_3OuterLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.4, + 34.099, + -1.51 + ], + "to": [ + -4.3, + 35.832, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 34.1, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 69, + 1, + 70 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 35, + 0, + 36 + ] + }, + "south": { + "uv": [ + 1, + 35, + 0, + 36 + ] + }, + "west": { + "uv": [ + 1, + 35, + 0, + 36 + ] + }, + "up": { + "uv": [ + 1, + 35, + 0, + 36 + ] + }, + "down": { + "uv": [ + 1, + 35, + 0, + 36 + ] + } + }, + "type": "cube", + "uuid": "c4e7e749-9878-e45a-341c-b943ad7693e0" + }, + { + "name": "PhoneEarLeftFront2_3InnerLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.7, + 34.22, + -1.51 + ], + "to": [ + -3.6, + 35.342, + -1.51 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 34.1, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 69, + 1, + 70 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 35, + 0, + 36 + ] + }, + "south": { + "uv": [ + 1, + 35, + 0, + 36 + ] + }, + "west": { + "uv": [ + 1, + 35, + 0, + 36 + ] + }, + "up": { + "uv": [ + 1, + 35, + 0, + 36 + ] + }, + "down": { + "uv": [ + 1, + 35, + 0, + 36 + ] + } + }, + "type": "cube", + "uuid": "d9cf64b4-1f79-2af0-5eed-b045c13920ad" + }, + { + "name": "PhoneEarLeftBack1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.1, + 31.855, + -0.5 + ], + "to": [ + -1, + 34.595, + 0.5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.1, + "rotation": [ + 0, + 0, + 35 + ], + "origin": [ + -1, + 32, + 0 + ], + "faces": { + "north": { + "uv": [ + 2, + 69, + 1, + 70 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 68, + 0, + 69 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 68, + 0, + 69 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 35, + 0, + 35 + ], + "texture": null + }, + "up": { + "uv": [ + 1, + 35, + 0, + 36 + ] + }, + "down": { + "uv": [ + 0, + 35, + 0, + 35 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b5a002b6-22e9-a072-4595-4028c86f3962" + }, + { + "name": "PhoneEarLeftBack2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.06, + 30, + -0.5 + ], + "to": [ + -2.56, + 34.35, + 0.5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.1, + "origin": [ + -3.75, + 32, + 0 + ], + "faces": { + "north": { + "uv": [ + 2, + 69, + 1, + 70 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 68, + 0, + 69 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 68, + 0, + 69 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 68, + 0, + 69 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 68, + 0, + 69 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 35, + 0, + 35 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f54c98fe-b735-7964-faff-3d7981924e5a" + }, + { + "name": "HeadRing", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 36, + -4 + ], + "to": [ + 4, + 36, + 4 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 35, + 0, + 0 + ], + "origin": [ + 0, + 28, + 0 + ], + "faces": { + "north": { + "uv": [ + 10, + 66, + 10, + 66 + ], + "texture": null + }, + "east": { + "uv": [ + 10, + 66, + 10, + 66 + ], + "texture": null + }, + "south": { + "uv": [ + 10, + 66, + 10, + 66 + ], + "texture": null + }, + "west": { + "uv": [ + 10, + 66, + 10, + 66 + ], + "texture": null + }, + "up": { + "uv": [ + 36, + 67.9, + 53, + 84.9 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "rotation": 180, + "texture": null + } + }, + "type": "cube", + "uuid": "cdf48705-bdd5-f256-4e7c-0e151c454815" + }, + { + "name": "CoatRibbon", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + 16, + -2.41 + ], + "to": [ + 1.5, + 18, + -2.41 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.5, + 17.5, + -2.16 + ], + "faces": { + "north": { + "uv": [ + 24, + 82, + 27, + 84 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d57e05b3-06a5-1cb2-8b49-51b9f6c90acc" + }, + { + "name": "CoatRibbonLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + 16, + -2.41 + ], + "to": [ + 1.5, + 18, + -2.41 + ], + "autouv": 0, + "color": 0, + "inflate": 0.125, + "origin": [ + 0.5, + 17.5, + -2.16 + ], + "faces": { + "north": { + "uv": [ + 27, + 82, + 30, + 84 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 27, + 82, + 30, + 84 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "0f10496a-c743-29cd-d4c8-a81b1e14b174" + }, + { + "name": "TailRibbon", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + 13, + 4.09 + ], + "to": [ + 1.5, + 15, + 4.09 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0.5, + 17.5, + -2.16 + ], + "faces": { + "north": { + "uv": [ + 24, + 82, + 27, + 84 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 24, + 82, + 27, + 84 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6524c001-919d-29eb-6b81-f88e0cf6bac6" + }, + { + "name": "TailRibbonLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + 13, + 4.09 + ], + "to": [ + 1.5, + 15, + 4.09 + ], + "autouv": 0, + "color": 0, + "inflate": 0.125, + "origin": [ + 0.5, + 17.5, + -2.16 + ], + "faces": { + "north": { + "uv": [ + 27, + 82, + 30, + 84 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 27, + 82, + 30, + 84 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "3ad89d93-2d49-5590-0e26-4305f23ec27b" + }, + { + "name": "TailRibbonBase", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 14, + 3.965 + ], + "to": [ + 0.5, + 15, + 4.215 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0, + 14.75, + 4.09 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 25, + 82, + 26, + 83 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 25, + 82, + 26, + 83 + ], + "texture": 0 + }, + "up": { + "uv": [ + 25, + 82, + 26, + 83 + ], + "texture": 0 + }, + "down": { + "uv": [ + 25, + 82, + 26, + 83 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "0abd3081-9c3e-8c92-85ff-da9dfbe61054" + } + ], + "outliner": [ + { + "name": "Avatar", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "e98e96cf-993b-878e-02b8-777c368bb888", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Head", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "22d40862-bd19-a16d-9e33-79364e6656d8", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a66c63cf-0082-7797-3f4e-08ff434a1cac", + "d48552a8-9f0d-7335-2a82-794f3264fc9d", + { + "name": "HairRibbons", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "0c59a2cf-3216-5181-7b59-d7ec0d95bc1f", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "cb186902-ed9f-81b4-4202-9b6bd1679875", + "a9969c6d-21ee-6a83-fded-e167709975e0" + ] + }, + { + "name": "Phone", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "ecb0ee56-5170-3365-596a-169877c19369", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "01f6d688-d2cd-c36a-df2e-a80523a72020", + "4f5e53a6-b464-0187-a63a-a317f45c2beb", + "ac86679a-d55c-be34-cf2b-68f42e402541", + "943051a6-3609-4b6a-a9be-3e7a6d7e866b", + "0aae78b3-7629-724d-62de-d336c7bb05d6", + { + "name": "PhoneEars", + "origin": [ + 0, + 32.5, + -1 + ], + "color": 0, + "uuid": "8a0d4e0c-c75a-8b96-4d55-3b327212efbf", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "PhoneEarRight", + "origin": [ + 0, + 32.5, + -1 + ], + "color": 0, + "uuid": "9420ea33-54f3-229f-aa64-9a45aa1de2e0", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "PhoneEarRightFront", + "origin": [ + 0, + 32.5, + -1 + ], + "color": 0, + "uuid": "8ae76f75-5f55-c724-8aba-a832c61d7751", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "PhoneEarRightFront1_1", + "origin": [ + 0, + 32, + -1 + ], + "rotation": [ + 0, + 0, + -35 + ], + "color": 0, + "uuid": "e4b7cf64-7648-39b9-5be6-7e3f25214053", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "5628b192-ac9f-3e32-91d4-2d87aa746910", + "c1fcb63e-6496-d3a3-64cb-e2251ddf6b9e", + "beef8305-3bf6-58e9-b6da-1cd0fab1fe2f", + { + "name": "PhoneEarRightFront1_2", + "origin": [ + 0, + 35, + -1 + ], + "rotation": [ + 0, + 0, + -25 + ], + "color": 0, + "uuid": "59bb8b92-fe58-64d2-7a1c-8beaa43ff9f2", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "403fa6ce-f0d8-c5be-a8b6-d47294eb4984", + "76f78202-a819-a689-73e2-64029f8d0f9d", + "b779ad53-9102-aacf-4abf-51210f0edbde", + { + "name": "PhoneEarRightFront1_3", + "origin": [ + 0, + 37.09, + -1 + ], + "rotation": [ + 0, + 0, + -30 + ], + "color": 0, + "uuid": "a7bbb537-2a97-304f-3e26-8b99aa386fe3", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f1e596d1-8e6e-52f8-ee7e-4c2fe9e40228", + "6544450b-5248-1b6d-e92d-2543dd68f300", + "348fd0c9-c2ba-34d9-9160-bd82c3a23d43" + ] + } + ] + } + ] + }, + { + "name": "PhoneEarRightFront2_1", + "origin": [ + 4.5, + 29.5, + -1 + ], + "rotation": [ + 0, + 0, + -60 + ], + "color": 0, + "uuid": "defaac45-9178-f07f-7e9d-914192a8bcfd", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4bd4c91f-764a-3ef9-009c-766a50959788", + "1a50d8d3-d2c0-1c03-5226-56fabd5b1aa7", + "d3a63ec7-8768-7c37-4624-c7e3d4192e12", + { + "name": "PhoneEarRightFront2_2", + "origin": [ + 4.5, + 30.08, + -1 + ], + "rotation": [ + 0, + 0, + 60 + ], + "color": 0, + "uuid": "fb7e3287-5d3a-557b-85d5-e687a41f4eee", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "092a0e63-d5dd-7734-63ea-fa9d2553d0f5", + "c5113057-7bfd-25ad-e529-b49c112c3377", + "2840ca2d-db60-7b72-40c4-526f07cf8a96", + { + "name": "PhoneEarRightFront2_3", + "origin": [ + 4.5, + 34.08, + -1 + ], + "rotation": [ + 0, + 0, + 20 + ], + "color": 0, + "uuid": "9e95149d-5fe0-1d87-78d3-2a8f624f27fa", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e774d120-5304-8e16-59f6-3320dd90cc26", + "0dca0cdb-bd65-b554-9877-c42622b728bd", + "c95bca51-10cf-7f94-f3f4-4e2202585871" + ] + } + ] + } + ] + } + ] + }, + { + "name": "PhoneEarRightBack", + "origin": [ + 0, + 32.5, + 0 + ], + "color": 0, + "uuid": "74069bd7-7675-7146-18bd-4a7ba06f969f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b561e0e5-fa37-6c25-4798-cb2864fd4ef3", + "dedf0f6b-187d-2be9-04f4-b753ebcdcf51" + ] + } + ] + }, + { + "name": "PhoneEarLeft", + "origin": [ + 0, + 32.5, + -1 + ], + "color": 0, + "uuid": "f10267d6-0d58-cc2f-4920-e7ff33270f54", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "PhoneEarLeftFront", + "origin": [ + 0, + 32.5, + -1 + ], + "color": 0, + "uuid": "c0095888-9572-cea5-9bdc-d77dc8f488ac", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "PhoneEarLeftFront1_1", + "origin": [ + 0, + 32, + -1 + ], + "rotation": [ + 0, + 0, + 35 + ], + "color": 0, + "uuid": "04e771b1-46c1-0055-171a-ce7b7640b6b2", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "be67e76c-c7f9-9a4b-6c04-524fbc76c77b", + "a76db6f4-0ef7-6aed-1cc1-9c1259141265", + "2d6e824a-b085-3640-e1e5-7ba8c21408be", + { + "name": "PhoneEarLeftFront1_2", + "origin": [ + 0, + 35, + -1 + ], + "rotation": [ + 0, + 0, + 25 + ], + "color": 0, + "uuid": "17b848e3-d84e-f9d6-029a-e8d8c41bab91", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8cc219f9-f431-d538-3d6f-fcab7185ee25", + "c3b3c7a5-1906-1860-5da3-6879de869a89", + "239182e8-2f83-2228-a01c-9bba6132ebd4", + { + "name": "PhoneEarLeftFront1_3", + "origin": [ + 0, + 37.09, + -1 + ], + "rotation": [ + 0, + 0, + 30 + ], + "color": 0, + "uuid": "3f9f3b07-3a38-b67a-5e55-8ac70f129560", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "2efdfc14-75ad-3917-bcbd-c864f6a4908a", + "12e1aa45-4861-cd9c-cdfd-5b656c8af07c", + "64b1a793-eb74-5aab-221f-0058edf82966" + ] + } + ] + } + ] + }, + { + "name": "PhoneEarLeftFront2_1", + "origin": [ + -4.5, + 29.5, + -1 + ], + "rotation": [ + 0, + 0, + 60 + ], + "color": 0, + "uuid": "f5f8cc88-77cb-6726-8b74-15095adaa508", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "0cabbb13-53a1-76d6-49c1-244a341e3fc4", + "4b86c2c6-6541-ae97-908d-c4c0946d9742", + "fd698e35-9448-12f8-4ea1-9abfc1d86688", + { + "name": "PhoneEarLeftFront2_2", + "origin": [ + -4.5, + 30.08, + -1 + ], + "rotation": [ + 0, + 0, + -60 + ], + "color": 0, + "uuid": "61b4a9db-fbbf-0f17-767a-c0471465950a", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "83f7478a-cd88-a072-b14a-aac679cc671e", + "759cf829-fc6c-b23b-f394-09d2b21b073e", + "5e464ee7-9b76-e363-35ab-cc8ac9024a22", + { + "name": "PhoneEarLeftFront2_3", + "origin": [ + -4.5, + 34.08, + -1 + ], + "rotation": [ + 0, + 0, + -20 + ], + "color": 0, + "uuid": "cf8e1310-5882-9378-e414-9b0710d312d2", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f7ef2c19-5922-806b-fe13-635d0335552b", + "c4e7e749-9878-e45a-341c-b943ad7693e0", + "d9cf64b4-1f79-2af0-5eed-b045c13920ad" + ] + } + ] + } + ] + } + ] + }, + { + "name": "PhoneEarLeftBack", + "origin": [ + 0, + 32.5, + 0 + ], + "color": 0, + "uuid": "a3f8b87b-ecbb-f38a-de09-c1ddaf611c97", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b5a002b6-22e9-a072-4595-4028c86f3962", + "f54c98fe-b735-7964-faff-3d7981924e5a" + ] + } + ] + } + ] + } + ] + }, + { + "name": "FaceParts", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "db381b6c-e0d3-6ca8-6433-4371d36cc6c6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Eyes", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "25d20f6a-b84c-5105-726d-79a4fc3a5a4d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "7853e9a2-b429-5a00-5e0e-70449c3a71ee", + "328a2de5-64bc-807b-5906-227bfceedf26", + { + "name": "RightSpyglassPivot", + "origin": [ + 2, + 26, + -4 + ], + "color": 0, + "uuid": "d775a8e4-818b-b21e-93df-fdb4456fefc8", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "LeftSpyglassPivot", + "origin": [ + -2, + 26, + -4 + ], + "color": 0, + "uuid": "5e757c9d-cb7e-d074-a20f-d95f46e96872", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + "d9d80373-4145-9e90-28de-12248a8075d9" + ] + }, + { + "name": "HeadRing", + "origin": [ + 0, + 28, + 0 + ], + "color": 0, + "uuid": "e8809cb5-a507-86d8-da91-c79b1d4d233e", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "cdf48705-bdd5-f256-4e7c-0e151c454815", + { + "name": "RingParts", + "origin": [ + 0, + 28, + 0 + ], + "rotation": [ + 35, + 0, + 0 + ], + "color": 0, + "uuid": "e32b6794-e7c2-9c56-393f-a85b7edf387d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "faf8ab6b-f4f0-ca97-dccf-5419513d1359", + "61c19b56-1984-cdcb-7a31-987945b0ae33", + "f0e4c2d9-cc4e-0c13-3e3a-2b95d8c0d034", + "4a2f805b-02d9-da24-e361-0c0309289a1d" + ] + } + ] + }, + { + "name": "HelmetPivot", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "0e1af735-b09a-0025-0e9c-3384ffd64333", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "HelmetItemPivot", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "13df6e6f-739f-d23e-bc1e-253abff39a91", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + { + "name": "UpperBody", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "16d22746-633e-382e-dd96-b35bde99daa5", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Body", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "bf4dd57f-d0f7-1fe0-98e6-59e00f97f41b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "742e9ab7-8cdd-8d93-9a9a-88011f54d15b", + "2574fa9e-0d5f-502c-ce28-ef5cf30f41ec", + { + "name": "CoatRibbon", + "origin": [ + 0.5, + 17.5, + -2.16 + ], + "color": 0, + "uuid": "5188006f-1495-610b-c7fd-6c30659e9544", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d57e05b3-06a5-1cb2-8b49-51b9f6c90acc", + "0f10496a-c743-29cd-d4c8-a81b1e14b174" + ] + }, + { + "name": "Skirt", + "origin": [ + 0, + 14, + 0 + ], + "color": 0, + "uuid": "3ef4a513-6419-fc26-408e-8f2b4dea9387", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "38c80056-38bf-0791-5b8e-c3a3b2591654", + "e5f18b5e-4093-76a4-d9ae-165f680424da" + ] + }, + { + "name": "TailXPivot", + "origin": [ + 0, + 14.5, + 2 + ], + "color": 0, + "uuid": "1f725fe1-77d5-3eef-9db7-fe995fa9d773", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "TailYPivot", + "origin": [ + 0, + 14.5, + 2 + ], + "color": 0, + "uuid": "f94c7ac5-33cd-3413-d8aa-ff5430aa2fbd", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Tail", + "origin": [ + 0, + 14.5, + 2 + ], + "rotation": [ + 15, + 0, + 0 + ], + "color": 0, + "uuid": "9100b434-e831-96c3-9283-218e489cafe0", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "50e61828-ccdd-ee8e-c621-0a193b35fd5e", + { + "name": "TailRibbon", + "origin": [ + 0, + 14.75, + 4.09 + ], + "color": 0, + "uuid": "4b2248c7-cc91-9c11-fb55-7eb94579a669", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "6524c001-919d-29eb-6b81-f88e0cf6bac6", + "3ad89d93-2d49-5590-0e26-4305f23ec27b", + "0abd3081-9c3e-8c92-85ff-da9dfbe61054" + ] + }, + { + "name": "Tail2", + "origin": [ + 0, + 14, + 8 + ], + "rotation": [ + -40, + 0, + 0 + ], + "color": 0, + "uuid": "feb531f7-26bb-8a9c-0e7a-1339231405db", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4113cbe8-5856-27e8-5d63-4f6f3f13ccbd" + ] + } + ] + } + ] + } + ] + }, + { + "name": "ChestplateBodyPivot", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "c652682b-223f-cae0-8781-839b9b6b6e4c", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "BeltPivot", + "origin": [ + 0, + 12, + 0 + ], + "color": 0, + "uuid": "5d94f2c1-1784-f89d-0ca5-b7ab960236b0", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "NameplateAnchor", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "71b16a49-1da9-df63-2f72-f5272bb4b134", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + { + "name": "Arms", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "c062b0e8-6983-de4d-12e9-7b5ad9e81528", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightArm", + "origin": [ + 5, + 22, + 0 + ], + "color": 0, + "uuid": "3c1cb66d-8a31-d31f-ec9f-65a33e313a53", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8831734e-ce90-e6bb-8368-e011a468277d", + "cea7603d-ae80-e4e7-6f93-905551a79117", + { + "name": "RightArmBottom", + "origin": [ + 5, + 18, + 2 + ], + "color": 0, + "uuid": "b924539e-1292-1a17-6240-a525ae346090", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "643f9c05-2d3c-e1d1-5a2f-874902eb1784", + "b1a76f47-912e-c2d4-8090-6f6ac9734672", + "29a6683b-b165-5012-f56b-a8b8ebf7af9a", + { + "name": "RightItemPivot", + "origin": [ + 5.5, + 12, + -2 + ], + "color": 0, + "uuid": "f77eb5a1-0c86-2ec0-fa55-565b454784db", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + } + ] + }, + { + "name": "LeftArm", + "origin": [ + -5, + 22, + 0 + ], + "color": 0, + "uuid": "e7d3e5d8-00e4-587c-7bb6-6787db00054b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "af1aa9d5-0ccf-d579-b381-54ac7b12fb55", + "b74fb9e9-db24-b669-6f87-8469be63eda5", + { + "name": "LeftArmBottom", + "origin": [ + -5, + 18, + 2 + ], + "color": 0, + "uuid": "ad1c45ef-c0a8-6d31-d2dc-fbdc6ab7ddcc", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a82219a3-e344-a4d8-c85c-51462943a7dc", + "d7794b2f-dbb3-2cd5-c956-cd163b703976", + "068c9564-63f3-82ac-0263-7761baadd884", + { + "name": "LeftItemPivot", + "origin": [ + -5.5, + 12, + -2 + ], + "color": 0, + "uuid": "4f31b2fe-139d-4fb3-f36f-3d5ed0997399", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + } + ] + } + ] + }, + { + "name": "LeftElytraPivot", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "34f8f1e3-7498-d32a-cbaa-e08af5c6b7e9", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "RightElytraPivot", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "884aa12d-4d86-c86f-f3ae-27294c5df1b1", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "LeftParrotPivot", + "origin": [ + -6.5, + 24, + 0 + ], + "color": 0, + "uuid": "29a158b7-4e78-b2e4-f4a6-a828afb1514f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "RightParrotPivot", + "origin": [ + 6.5, + 24, + 0 + ], + "color": 0, + "uuid": "7d993335-4efa-18af-e219-def6c191632a", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + { + "name": "LowerBody", + "origin": [ + 0, + 12, + 0 + ], + "color": 0, + "uuid": "2f61e368-1c06-648e-26d4-aee94647e4da", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Legs", + "origin": [ + 0, + 12, + 0 + ], + "color": 0, + "uuid": "29730186-2622-086d-ab67-4bb8e356bb6c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightLeg", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "4e80b5b4-7c04-8374-f8a7-526b3d36d050", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "da81ebbe-5b4e-2d46-144a-6f839ad6fa3c", + "bcf37da3-caec-e8f2-bc82-76a3f169374c", + { + "name": "RightLegBottom", + "origin": [ + 2, + 6, + 0 + ], + "color": 0, + "uuid": "84fe0b3a-286b-e17f-288e-c39feaa2e5e6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8b1cc891-ffa8-9f46-ebc0-f0b84e6ffb15", + "72c6eff7-d0eb-2ffa-193f-2ca402bdc722" + ] + } + ] + }, + { + "name": "LeftLeg", + "origin": [ + -2, + 12, + 0 + ], + "color": 0, + "uuid": "73b3d6bc-af0b-a066-5d73-f3938109e11f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "9c06bc9a-beae-98d9-e9ce-9c8e6ddbb9d3", + "f8f1e7ad-7999-9f17-0488-5dcbd4af7945", + { + "name": "LeftLegBottom", + "origin": [ + -2, + 6, + 0 + ], + "color": 0, + "uuid": "ee9973d4-ff4e-c96b-64f6-d1f28afd69c6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a1169ee6-6a78-c7c4-9214-670991206468", + "a5173990-504e-f5c4-45c7-9347880c1306" + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "name": "CameraAnchor", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "4ad021e9-2857-4e55-337b-f61da0762800", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8b47234a-9700-3da5-47db-8f75a6aab837", + "c2175bbe-2cfe-5bd6-da67-98c3b6cd21ee", + "7e6a5cd5-aefb-6095-d77f-adf6c4130742", + "31aaec73-9e98-c58c-c0ed-6d915f491f85" + ] + } + ], + "textures": [ + { + "path": "", + "name": "main.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 64, + "height": 187, + "uv_width": 64, + "uv_height": 187, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "49d663f7-0284-81d3-5d9d-8f9c415279bb", + "relative_path": "../../textures/main.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAC7CAYAAADVPJgEAAAAAXNSR0IArs4c6QAAEexJREFUeF7tXXmUFMUZr+LYXdgFFgIoz2MX8QAFxCgiEA9AEeJNnicizwTz9IlE35PEIyGGxCu8Fw3BxCiRp0RQVERQlyA3zwPRoIgCyrEDmghsYIHl2AG28r7q+Xqqa6q6qrund2fZ6X96uo6vvu9Xv++ro2tmKDFc7JMpzFTGL5+eN5bunPAIl9Fp4iM0iqw46hoVigpA1dwqrvf2LVtIz+kvGtuLw0jfDjI1mA0AwPhvv/uONzVs8cKcAsGoTFQAwAXA8PmDL+VucOIJJ5DjunbNGXfIDgDdb1ETaf0MggBAgbWjRjMwPpfiQb0CkIvBsF4BMMWbhsiPDkCbYkJOuEat+3dvEXrG7cY2bAxn7z/FSGFLQmoPE7iLrmVTX1eG8iCXEhr6DtJtZUhl6cD7rACS9bStZwLHGoCjRW1I80P7CN7F3uCNxAiA3PukbTFvkp4enV0OAEBjuKqqCelY6nzet99jlAeAM0aQoxtmc0A4EHD5yRBlSmX9etIdgiVwgf4iI6K4gxUDalo2JyVFRaTm0CFS0u1Gbm8GADEwwAWgTTGPJWzDNIYxBT7zDosYDyhb8yzbuXMH6dSpM9HdySk3qF1p8yxtHa0sQjx1Og+ZwDsBe1W+c6qnJlOyEugaurqqdJDhaW/Hoom+ix0AxgSAKdD45Xdq14GQghaEJI+o74WF2pGEs6C2Vl9XJROUEdqjAIBv7xcW+g5zoICJQWI+tC+2x8GBNsAQ1R0YoBlKOQA8AGvqqtKl9rgLaHsIFOKI9SekdWtCikuc5/01hBw4QEjyQ+cZGgp7pXoY/Vu+c8oKvo/NyPFAjBE6WQiYWNY4BsuLoWTNVlJQcrLW3GRtFSko7OjmR4nQYTENUs8MAM7ACCEZxmPk92mx8QMg7Aglq78mBaWnBwE4a1PWQI0GKJxngAksqxhguR9gaqsh8gMxABT0uAHGgGMaAGlXWBkHjmkAhFEgg6LAAFjoNOn9AD6zSm9U+C2Lkwe3OKOIsHCyXdfn7n5AEAAO/9eZRAUEIN79AKC4uF7Hdb3tfgACINYT9wYgX5DPJ1NdejjeVFVNGn4/QNprc3uHz/Gd/Ter/QChvMcNJIbwINqqq+s2VgDEvR/gCW7JXc5j81bpu89+gFsX6xV08MZKSBfSkrs2k4IOp6TXCr3v1A7FOAex2Q8IO4eg7JPHGGlRQsiRGkeGbACk2QCAGiAQKNPHeJLcReh5D+kBgJWqxX4A9QHRBIyzHK5LEtKsQF3WYj/AtxGBGckdX5GCzmcSMBzB9lNeXL6q2jDlm4yH/EwGIAtASXCD1qX++wG4FyC6AH6WGJXc9z0paHN8Wi8DA7CgaT/AxlBdGZd+D/Tu69kYeWLNKp6nS4/SqFjX1C7qgXWwfNR0lBcaAFFxWRkVOCZDsY4J+GzJcQFAgY+vXO6kFRWRqQN+STbtX8ofMX3q4AlkzAd/JJRSCnUe/XdqO4wQ8vAP+xMTCLLiqIDbbirhwX4XedpV6pPSccziiUQuj3o+ePb5XE634ku43uTQIf5MW7XyBF1ujGjoxlueI5O3fUOKkys9imD6Xz6ZEgiAoPJ17YrpqMvkFZMyAJD1/1m3W7k9UNYXAOzR3aNnkFd2bCbfbn+HVxDTZ2zfSMYtnOgLgK6nbeTr2pXTUce7Kn7N2SfrKZa/v9c93B4oC1fzFi28DEAqHj1yhDOh2czFDlKjhvKCqvQpW6t42W+vHM7LAv11wSmMfF27mI461t082DVIpz+bvoDrCmV9AUBF47rHPZqE1TtjFNANL9iAKUrrFGk0ANgaahqOZKAg2mOEhogsR+OwPRi1nvUoAMPRuL73KEeHU2eP48OjqIwMEAAgRu+cA0CO9v/ZUeEbXVWjgx8AUF6M3nI0jtqTYeu7vRZkFPCL0rrRAOSrondYxbNVj7KPl0Q7C3z+IA6iLIem0lFRU362DAoqJysAhAVRBimo8nL5umVfOnOZi88yvu/AupEBiKq0CMKWV55nXW+6gysPn0XZYjp+FvOhfFmXAaSqejfpWNreFwSxnZwCQDRcNhIBURmPQGCZ4lY9SOdrfpTBApWMnAJA7Bkds2zLqOqrwIsMAFA4V2JAGHcMrbwbRPKjgDMMNtarUSufDdBjAUAewlBRvwieDWNkGRib/OYbLgCMMT7u1uzdy+WUtG3L77rnNu3a+YIHkxIYk+EyjcuouElhU74IgO3MMycBMLHBNIPUjUqqei4A+/bs4Qww9Tzmy8tfWekwDJCZIMs0GR6mfqwAiAYEmZ+bGGDKD8UAk9Aw+WEWJ2HaUdUJHAOy1XBjkxPLMNiYQMgDIPaWzZJT17vyKk23nof6Niu6+mKRkgG6mZxpRifW063nQUZ9zwj9wMy7QH1RLVfbyTMgV3umvvSigy6/UfteYOG7M7kefQbfSL5Y9prLll4XX88+W/yqR0coAxemN2/eLP3S5Wgdk2WIlVGeWEfMZwsSjo6oaXoJR+jQciWL2eIEo4PLjAznACw+eUQG4IO3ziYAgE4pqHD0aJ0LngkAPzkoSy7D3kswQgmhl+oN4WXgPMNl6TJgPBpkAsEFAAzGCwCB56pDdZ6el1ESmeAHAJQTGaSit1xG7EG2CIBghDBAA5kANlJChziGyz0emAG5BABbmmD0kjLKlqR6d5APA5YmGGGM0EHlvDxNlc0KAEFdQBcn/Pwf2SAygC1LMHpxGWXLE4xeZPZjt3yqnooRuqBqjAGgPAS2vXvT3w5t27aQB0YxEMpGbtq0iZWXOz+YEgQAtiLB6IVllK2oZPRCdYBTGZOul6q/MsFoPzN4vqPAkn+9aoyiGAhNI4VtEGTvJxgdWEbZ+5WMDgwAgFsvwUiLNEQmEDwGAg2xqiloYTkAQNfDMguQMXuencurt7vzapchkAcgsQ8TjPYvo+yDBKMDzD2Iesj1mC0DVOOxDWVlAOR5AVJfdhOxPdWcgX2cYPT8MmprgAvAykpG+5W79Wzrexhw4MABzoDCwiLf8V80AhngBwAOkbpAJLKNrUow2reMslWVjPYN4AKp8lgvFAA4rtfWHiKtW7c2+j9OYMSACPSWqY0ALLthpAeDi2e9zJ89AHxayei55ZSl7jrQ5HQszz5NMHpuGWXrKhntYQaQ7t59kPc6RHYwHBkgN4BGLJ/zEs9q3945dCwzQAVA1dJXSasftCcH/7dbeW/bZ1h6cru6ktFzyilbnWD0nAAxQKhHitKzexMIVJzOAgBAfxkITIehEIGCcjbz+0t/fLOyE98beg25bMFbGXkw8rDPKxk9u9y9m1jAPk8wenYZZZ9VMtrH6XVrBqDfiz2PBkOajhXICN1oASPAtT99gHQsakbQWJ3RooEcgC8qGe1Vzu98utvLZya4ppIR6pRhayoZ7R0QAGSAaLQf4ghIv+GjM/xXHlHg+fclRW5yzzPLyKmT/kA3jv81g7tfO2xtJaM9U8Z8CUAIl7MM4Bc9K1VmbYLRnsKCyDYGqJSWA5NK0e2LZrLjhtzsa8Tez+azDVPmk75Tn6arxtzL4G6is8fOdY7hfn7MvgIG+JfxazNjIgTDmc08ACdNfpMbGyBtAGHrUwxwV4LpWrS7OdJbAwDxAIIbXKapqzhr1A1v2QLABqSwZTImQqbojg0dMwCotrcw0KGxyAp8BhdZOGGE79iOY744xoftpTjrUZH20JBqNJCHxSBT5TiVz4ZsPhFSTYBUcwGREaYYkQ3l6kMGZwA0JNLcNCMMslaoDyOitJExLp/UY5Bn0nHOaSd65M+dO91/AsMYu+CK28lH70zz1MO0k890vr2lu7atW2KU79bd7xzCgouWdAg0x3DryYpkE4Dq6mouvrS0lDQ5AOa//BQpbemQqfowJcNG3sdZ0WQY0GgAkCkfNKBs/cr5pql4Id1VLqCSL8aM2tpaUlhY6LpMUH1c35a+xaaTQ+MEYPQz63m7L97d3degBgWg7pu1kb40tadjtwxwh428i8x/+W9k/AfOfwtMGtCRYJqqJ8S8o0frYB3iWx5llJaml9o81lQ7O1pw4Y6ViUGU1eyKBED14dSvzQgtoUEPbkvy1MdPKsgDkLMMOP3c4ZEYsHJh+q0ykkA0Fn6w4eBBFgsD/Oht7QKrV6+PBEB5eZk2BkBGzgPQ5BlgA8DXn1ZQXblG7wJTLrguwwUmH3aGk3EtnWFm7EdvUlU5yBtZMSNmF0gPbaYhTcxv37691eKIHn59XqQYcMpv/hREr8Blt656I3AdqGC7OvQAsOilWcrGhtym+XV5+J21xg5AKHiPoUpWfhLW3t27d3P3svXHsO1EqRcbAGA8Gi5+jqJsHHXzAMSBKsrEL2OavmIXpw4m2bExwNRwruTHCsCYd7bxIDj1ipO07Xz/6Eu8TFGJ81c/h2r287vuGYGDcsc/fJtHbvWf33DnNKW/+ImVbVaFwvbWnWucb6M+21v/PWMAAI0VjcPPujxIl40EABBAGRydDbEDMLq8mPRv6/0JO1EZkQGq3gdD5XSo32bsdRlvsJEBKnY0CAA2zMFe6/TArbw4vpXa+cQ/PdUBiAtnv+Ir8r2hV7mu02AuoDptCmlzXniCwJkh+UwRMACMVx3MSj5fYTRah4jtSdfILiAbrDo7LL6Ch5eqYh0TS6BX8SoobUuS1XuJ6o5lIB+uBosB+LpdPGYDJ8a6dOnCFZMPYOI5RR0QtX99jRssG4hpaDDki8B0uPtaq86l868elbEcHpZ6AarKkxXFspiuOzyt+16Q6XwCHqxGQ9FINFgEJhQAKuTRcNk4E10hPygAeD4B6oqHNN0hcdoCTnvRYD8w0EWsGWBjVJAyQQFABsgnU+TRQKa8igkiMA0GQDZer7uAZ+H9v6nzrAKFSYiYnwcgCydM8gxABBqDC8Txet3G5bK1xxA5BjR5AKKeL6CnnuXpcPEdvx8TdC8/xT0Bdy4h7TFAOi6WIjMg6vkCUtw+6wDg8hkFi3sKkCfuJRxzAMBEDJbS8kaKyIasAmDzctWPyqqXqzZBEF3AtLJcMeIm5YZK1lwgjvMF2QRAJwv3CyK7QEMzYNczc5jfHgHmARC4VjimXAD3FOVNElw9yitHXFThYinyfsDGHam/6BK4Jp8v8KP0yIoXbBifUQZfuwEDxN6VN0/EVaT4GXeMlC4QZD8g6vmCFsMGhgIA3/+LAMjG6lwD0n0BCKKRCECY8wVRAQAXEPcGVBsnKndwXUA2dt7bH3q2yO4f/ytPkQ3rlvsGziuvG8dem+H8p498XX/LeCO2b7852Sgfhcyb/ogrz/ZEiKxARmPZBKCmxokPJSXOn7Y3KQDA+I6pf7WqOsg4CHkActEFZMobnVQq8Pd/OD+3JV4QA6C3pz33W558+89/RzBNJV+V51feRkdTLEEZNE4AThvlnC77ZvqspgfAQxWruOFwARCPDe+rjQHHJAPAcAABLjDeNAqIIESlP7TV4C4gGg+f/RiA/ojzB5vRwhQHGgwANAKNRibYskBmSlXVVpOtyvyPVsyxWunSgwdrI50VlnsrLAA6F2h0ALw+cxL8up32UtHbLwjmPADJ5OFQFLWtdPmVztGZoFckFxhxw1je3uxZU4ztxg1AYWFLow6qAkVFhXYxYPhVd2QQFg1HIPw0aN7C+7U53UoQZQSN8OKKLwgStqtDekaPiyIFwdO69/Ho1egAMKEqM6Ri3vNW1DLJzZV8ozFRAMAhtlUrO39sCFCMAIRVCoxHw8XPYeXFVc8IQFgGHDMAREG+SbsAAPf0Tuent+/tlP6d8SiAxlHX6AJhGwXj0XDxc1h5cdWLDQBUOJeNBx1jAyBbDID3DGF633o/IIxwmzp5ALIUAxotA2xYYlMmD0BjjQE2vZsLZWIbBXLBOBsdKMz1YYmr2hgRBejKNPblsZEBQRdD2Xi9jsBn4/2/iQV5AEwIBc3PMyALR2xyygVMDIjj9bqpTci3neubZBljgElAHgCJ8ibA5HzVCRMbGXkGGI7T2YCYlf2AhnaBqIulBo8Bjz75pG1necrhy88GByDq+YJBQ50/agx65QFInQDJMyDifkHkGKBygSDnC2hIDWzf/5tcK2TzabFRzxe8OzNcELR9/28EIOp+wOaNG0xt+OavXzUnVP1sAfB/z8kZ2QLXbakAAAAASUVORK5CYII=" + } + ], + "animations": [ + { + "uuid": "259c63b9-c73f-efdf-69e3-f786d328486e", + "name": "ex_skill_1", + "loop": "hold", + "override": true, + "length": 5.4, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "e98e96cf-993b-878e-02b8-777c368bb888": { + "name": "Avatar", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": -10, + "z": "0" + } + ], + "uuid": "58784a49-6bb7-7327-b6c1-2147e66a3650", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -10, + "z": 0 + } + ], + "uuid": "5c6a3ca3-7bcb-dd16-e45c-cba766b43753", + "time": 3.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -20.42481, + "y": -63.19404, + "z": 22.64713 + } + ], + "uuid": "9eef73b8-8921-a5ce-9585-4e8a46b81bdb", + "time": 4.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -9, + "y": -10, + "z": "0" + } + ], + "uuid": "1435ae1f-1ccd-4a01-4921-770e202890e6", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -9, + "y": -10, + "z": 0 + } + ], + "uuid": "d4bdab25-3086-6275-7efd-bbd6c36dc1c5", + "time": 3.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -9.5, + "y": -10, + "z": -2 + } + ], + "uuid": "c1e9d42b-1a77-7e6e-8221-70c6a89f5bfd", + "time": 4.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "22d40862-bd19-a16d-9e33-79364e6656d8": { + "name": "Head", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 35, + "y": "0", + "z": "0" + } + ], + "uuid": "6a3d5b25-69ad-130e-5d51-bc8fd56f5896", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 35, + "y": 0, + "z": 0 + } + ], + "uuid": "0ff4aa63-5900-c3f7-61eb-ed690ea09911", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 39.89247, + "y": -3.21154, + "z": 3.83424 + } + ], + "uuid": "3a538185-3ec3-929c-83af-d159d17e9128", + "time": 0.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 34.89743, + "y": -2.86544, + "z": 4.09918 + } + ], + "uuid": "6f85007f-2173-65f1-8f3d-2035c6591878", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "35", + "y": "0", + "z": "0" + } + ], + "uuid": "44915e0b-37e7-c5c2-7407-020af8beae4b", + "time": 1.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 35, + "y": 0, + "z": 0 + } + ], + "uuid": "785b72dc-e91d-b6fe-5c0f-11f1c6ffba05", + "time": 1.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 45, + "y": 0, + "z": 0 + } + ], + "uuid": "c2e8e2f2-8f79-d090-1429-b5f25b91aea0", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 50, + "y": 0, + "z": 0 + } + ], + "uuid": "8bdae0ae-37ca-4fd6-982c-2253d7eb9cbc", + "time": 2.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 30, + "y": 0, + "z": 0 + } + ], + "uuid": "f7e28d2e-c3af-6b98-0a40-1244f6ad77e8", + "time": 2.25, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 50, + "y": 0, + "z": 0 + } + ], + "uuid": "64692362-03b0-b45d-2f65-cdf7b2c98d42", + "time": 3.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 50, + "y": 0, + "z": 0 + } + ], + "uuid": "61a33c05-9d2d-4324-6661-bae3f1e06bad", + "time": 3.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -62.89739, + "y": -62.3926, + "z": 57.63563 + } + ], + "uuid": "4ac8fb9a-b19e-d843-66bf-c24d386b9edc", + "time": 4.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3ef4a513-6419-fc26-408e-8f2b4dea9387": { + "name": "Skirt", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": "0", + "z": "0" + } + ], + "uuid": "d4f03fcc-e01e-5f09-8e2d-996f6d10c710", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3c1cb66d-8a31-d31f-ec9f-65a33e313a53": { + "name": "RightArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -40, + "y": "0", + "z": "0" + } + ], + "uuid": "65508a8b-d4e0-11bd-3fa2-3b13eaf57339", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -40, + "y": 0, + "z": 0 + } + ], + "uuid": "700e83e2-a8b1-7617-b06b-d41a047145f2", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -42.5, + "y": 0, + "z": 0 + } + ], + "uuid": "79a4febd-fd46-4cb7-8ced-0c0188c92fb9", + "time": 0.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30, + "y": 0, + "z": 0 + } + ], + "uuid": "a71e0fdc-314d-86c3-5d7b-882457e31448", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -42.5, + "y": 0, + "z": 0 + } + ], + "uuid": "f39dfb84-b362-a577-c23f-47a6449c6d85", + "time": 1.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -25, + "y": 0, + "z": 0 + } + ], + "uuid": "6bc66df0-ce5f-cde5-2cab-24d5ae36e4cd", + "time": 2.05, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": 0, + "z": 0 + } + ], + "uuid": "316a6f75-224a-f54b-4781-ee062087a34f", + "time": 3.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": 0, + "z": 0 + } + ], + "uuid": "39945da9-2ff8-4bfc-b4a6-85ae2a218d5e", + "time": 3.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "b924539e-1292-1a17-6240-a525ae346090": { + "name": "RightArmBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "-20", + "y": 0, + "z": 0 + } + ], + "uuid": "b7c75d7b-e8d6-8295-e24a-d37dd2f75ac9", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-40", + "y": 0, + "z": 0 + } + ], + "uuid": "5b98ee2e-511b-587c-01c2-1361d11c75d0", + "time": 0.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -20, + "y": 0, + "z": 0 + } + ], + "uuid": "8baeff47-1b00-1de3-b393-27dae4555a94", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-40", + "y": 0, + "z": 0 + } + ], + "uuid": "ff11be5f-7e71-c2e4-ee7e-0ef1eac551e4", + "time": 1.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -60, + "y": 0, + "z": 0 + } + ], + "uuid": "951c110f-f5b5-e89e-5a25-4d690ac03fb3", + "time": 2.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -25, + "y": 0, + "z": 0 + } + ], + "uuid": "cdeac27b-029b-7e1a-a119-4f19247a93a8", + "time": 2.2, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -22.35, + "y": 0, + "z": 0 + } + ], + "uuid": "ded9425f-e9d1-d523-4497-e2933c295f8f", + "time": 0.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -19.66, + "y": 0, + "z": 0 + } + ], + "uuid": "74242754-e90c-0409-512e-8fd04f29b384", + "time": 0.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -21.92, + "y": 0, + "z": 0 + } + ], + "uuid": "54d68bd5-e4da-ee78-e1e4-80bd05a50b44", + "time": 0.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -19.12, + "y": 0, + "z": 0 + } + ], + "uuid": "23d3c644-edd3-51c5-b876-ce5a80605e47", + "time": 0.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -21.23, + "y": 0, + "z": 0 + } + ], + "uuid": "6ce092f1-9ad9-2cf4-3a0c-ae35ddea291c", + "time": 0.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -18.22, + "y": 0, + "z": 0 + } + ], + "uuid": "d4867763-46e6-de50-be9f-68a9b7183a0e", + "time": 0.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -20.47, + "y": 0, + "z": 0 + } + ], + "uuid": "984eeb74-5eb4-405d-f3d9-ba48a8b392db", + "time": 0.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -24.03, + "y": 0, + "z": 0 + } + ], + "uuid": "2afe1cdc-e912-d57b-6ded-1fe8d9d315e7", + "time": 0.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -37.92, + "y": 0, + "z": 0 + } + ], + "uuid": "79aecbd8-1f7b-a5c9-8957-9455e59b993a", + "time": 0.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -39.99, + "y": 0, + "z": 0 + } + ], + "uuid": "6505318a-c010-79c2-fb03-c7cf9f5a3645", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -42.11, + "y": 0, + "z": 0 + } + ], + "uuid": "e2d56039-a2e1-a491-0c62-c3ff66b6875a", + "time": 1.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -39.09, + "y": 0, + "z": 0 + } + ], + "uuid": "16208901-7f9d-5eea-3d74-bed3131672be", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -40.93, + "y": 0, + "z": 0 + } + ], + "uuid": "b2c54d9c-c0a8-36a3-fb76-b95788e1f5d6", + "time": 1.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -38.03, + "y": 0, + "z": 0 + } + ], + "uuid": "3c950b9e-181a-2dff-073a-5603ab443a59", + "time": 1.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -43.71, + "y": 0, + "z": 0 + } + ], + "uuid": "b5abbee2-f48a-f653-18ad-6d01fb408902", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -44.28, + "y": 0, + "z": 0 + } + ], + "uuid": "8aa0807e-7afb-0014-01a3-c73c47af110f", + "time": 1.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50.4, + "y": 0, + "z": 0 + } + ], + "uuid": "ed7f6c06-2979-5eb8-a9fd-8e63c870b0bd", + "time": 1.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -52.11, + "y": 0, + "z": 0 + } + ], + "uuid": "7eb95af0-0945-6683-b032-a7b5ed7a3784", + "time": 1.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -59.56, + "y": 0, + "z": 0 + } + ], + "uuid": "2b286b36-d35f-5a4b-d2ca-150a4957fd03", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -61.9, + "y": 0, + "z": 0 + } + ], + "uuid": "063718f9-48ef-fae4-dbd0-901d2af77b71", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -60, + "y": 0, + "z": 0 + } + ], + "uuid": "60de3008-615e-9cda-354c-6a0763021965", + "time": 3.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -67.5, + "y": 0, + "z": 0 + } + ], + "uuid": "2baa9ed9-0f30-7d38-03a5-7cbb9874d77c", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -70, + "y": 0, + "z": 0 + } + ], + "uuid": "6b22fa6d-1f55-e65c-52be-cbc7da0ccc03", + "time": 4.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -40, + "y": 0, + "z": 0 + } + ], + "uuid": "65b38828-ca2a-655c-f411-0e34a6653713", + "time": 4.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -70.63, + "y": 0, + "z": 0 + } + ], + "uuid": "2a28f2c9-7ea5-2fa8-6bb7-ea6fea353cbb", + "time": 3.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -68.41, + "y": 0, + "z": 0 + } + ], + "uuid": "4ba606ba-a3f7-2e78-7efa-d1e03be56d96", + "time": 3.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -71.23, + "y": 0, + "z": 0 + } + ], + "uuid": "0b923a61-1d2c-6d4f-b5e7-0a3e9878042b", + "time": 3.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -69.15, + "y": 0, + "z": 0 + } + ], + "uuid": "eeeea4b8-3d94-cb80-0684-64b516db5968", + "time": 3.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -72.21, + "y": 0, + "z": 0 + } + ], + "uuid": "91d33533-ecc5-24f4-e53a-0a19e2b8a2ed", + "time": 3.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -70.36, + "y": 0, + "z": 0 + } + ], + "uuid": "6ad7c4be-31f4-ebbc-4966-9f6c8ea6c91d", + "time": 4.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e7d3e5d8-00e4-587c-7bb6-6787db00054b": { + "name": "LeftArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "-40", + "y": "0", + "z": "0" + } + ], + "uuid": "376bdbf0-9e08-d196-a2d1-c626bd9e71de", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30, + "y": 0, + "z": 0 + } + ], + "uuid": "f0327ae5-4f3f-d9a4-1b40-20f502bff092", + "time": 0.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-40", + "y": "0", + "z": "0" + } + ], + "uuid": "39b928f8-9612-fcdd-fa06-c4e62a975bf6", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30, + "y": 0, + "z": 0 + } + ], + "uuid": "1eab327d-2da4-baa9-5ab3-072768461491", + "time": 1.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-40", + "y": 0, + "z": 0 + } + ], + "uuid": "f9162dd3-94da-1351-cf6c-f5f347e1a5a4", + "time": 1.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30, + "y": 0, + "z": 0 + } + ], + "uuid": "05dc3e4d-048d-f2cb-d74b-abb00571b8ec", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -25, + "y": 0, + "z": 0 + } + ], + "uuid": "1d08b856-55ff-f080-c20b-fef1b57281dd", + "time": 2.05, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": 0, + "z": 0 + } + ], + "uuid": "07b19638-8426-88b5-1438-83f1fee83c27", + "time": 3.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ad1c45ef-c0a8-6d31-d2dc-fbdc6ab7ddcc": { + "name": "LeftArmBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "-20", + "y": "0", + "z": "0" + } + ], + "uuid": "b096800f-b28b-9d2a-e9d8-818eef40caaf", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -20, + "y": 0, + "z": 0 + } + ], + "uuid": "a4d3b282-fed4-08c5-257c-288af6fca5c1", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -40, + "y": 0, + "z": 0 + } + ], + "uuid": "42f2d5a9-8efb-0bd5-11be-c1eb644ad761", + "time": 0.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -40, + "y": 0, + "z": 0 + } + ], + "uuid": "5f3b5166-0831-201e-94ac-1028187b875b", + "time": 1.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-55", + "y": 0, + "z": 0 + } + ], + "uuid": "8acc627a-9ec5-756b-0f90-b6b27705c954", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -60, + "y": 0, + "z": 0 + } + ], + "uuid": "4f1619e7-d078-2028-884f-4bea73964b59", + "time": 2.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -25, + "y": 0, + "z": 0 + } + ], + "uuid": "9615db82-d0dd-2212-e0b7-51b68acb1d2b", + "time": 2.2, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -60, + "y": 0, + "z": 0 + } + ], + "uuid": "c0f10173-d963-3d16-ce18-dbfedbf659d6", + "time": 3.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -67.5, + "y": 0, + "z": 0 + } + ], + "uuid": "43dfa5be-3dfb-e9e8-5d5e-5ab288fe24b0", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -67.5, + "y": 0, + "z": 0 + } + ], + "uuid": "aaca6b68-703a-c19c-8e4d-7a8b8a738766", + "time": 4.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -40, + "y": 0, + "z": 0 + } + ], + "uuid": "c4b08db4-31d3-d826-c9c1-4d8ae8e2f52d", + "time": 4.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -70.3, + "y": 0, + "z": 0 + } + ], + "uuid": "0c72207b-e8dd-af90-7706-bb271c14f94a", + "time": 3.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -68.06, + "y": 0, + "z": 0 + } + ], + "uuid": "ad53b546-f86d-8e84-1b20-8e7f3da2dd00", + "time": 3.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -70.87, + "y": 0, + "z": 0 + } + ], + "uuid": "20d6c460-0bff-74f4-81ef-84826128c9ee", + "time": 3.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -68.77, + "y": 0, + "z": 0 + } + ], + "uuid": "746ca679-0863-1aa3-4a7b-a3d28751d442", + "time": 3.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -71.79, + "y": 0, + "z": 0 + } + ], + "uuid": "b0858fd7-b9c8-534a-342e-89128604f0b2", + "time": 3.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -69.97, + "y": 0, + "z": 0 + } + ], + "uuid": "52173fb5-2222-9cc1-6dd3-86121ad2b6a2", + "time": 4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -72.79, + "y": 0, + "z": 0 + } + ], + "uuid": "f0eada49-a02f-4783-2c95-af91d17721b7", + "time": 4.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "2f61e368-1c06-648e-26d4-aee94647e4da": { + "name": "LowerBody", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "3c351026-ae51-0007-9c17-655e703a1e70", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "fe4a6573-f61f-c03e-3d07-782290016af2", + "time": 3.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -12.04513, + "y": 53.95671, + "z": -16.89613 + } + ], + "uuid": "6a61cdd1-0c8a-d881-7d63-bea990c45e85", + "time": 4.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "4e80b5b4-7c04-8374-f8a7-526b3d36d050": { + "name": "RightLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -79.84892, + "y": 9.84655, + "z": 1.75378 + } + ], + "uuid": "95509d08-e82d-f93d-875b-5a5e84885b96", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "84fe0b3a-286b-e17f-288e-c39feaa2e5e6": { + "name": "RightLegBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 90, + "y": -70, + "z": 50 + } + ], + "uuid": "f4be0381-560d-f97d-9239-5a5985cb0e8c", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "73b3d6bc-af0b-a066-5d73-f3938109e11f": { + "name": "LeftLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -79.84892, + "y": -9.84655, + "z": -1.75378 + } + ], + "uuid": "3e2e493d-6704-5f45-0b31-f5362f0d6b2d", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ee9973d4-ff4e-c96b-64f6-d1f28afd69c6": { + "name": "LeftLegBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 90, + "y": 70, + "z": "-50" + } + ], + "uuid": "97e02d63-e1aa-e5c6-df21-90c10557f743", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "4ad021e9-2857-4e55-337b-f61da0762800": { + "name": "CameraAnchor", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "-10", + "y": "200", + "z": "25" + } + ], + "uuid": "d250abaa-bc58-f3b0-fdf2-dc685045802e", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "180", + "z": "30" + }, + { + "x": 0, + "y": "160", + "z": "0" + } + ], + "uuid": "bd4d3eb6-0d33-5173-1f5f-d0b279116df8", + "time": 2.05, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "150", + "z": 0 + }, + { + "x": 0, + "y": 40, + "z": 0 + } + ], + "uuid": "9c0bbeac-3565-9f19-922b-f13ed7d7327f", + "time": 3.35, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "10", + "y": 40, + "z": "-5" + } + ], + "uuid": "0334400e-65bd-a958-40e5-1f75c7220e97", + "time": 4.05, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 40, + "z": 0 + } + ], + "uuid": "35f5bc1d-2357-f9ce-b165-796c39da9e71", + "time": 3.95, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": 40, + "z": "0" + } + ], + "uuid": "3d377011-0edc-a8e9-88cc-fc4cfcb6206c", + "time": 4.75, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.44667 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.44667 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -12, + "y": 7, + "z": -28 + } + ], + "uuid": "b517f265-97de-f7d3-fca2-84650483b589", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-1", + "y": "17", + "z": "-23" + }, + { + "x": 9, + "y": 18, + "z": -18 + } + ], + "uuid": "1753c726-3f1e-c02a-3054-1be1cb684e1a", + "time": 2.05, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "13", + "y": "18", + "z": "-18" + }, + { + "x": 0, + "y": 14, + "z": 8 + } + ], + "uuid": "6b7f2d73-142c-02ad-e2cf-26a11e33bcf9", + "time": 3.35, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 8 + } + ], + "uuid": "8b4aa636-fc35-78da-74b3-a873f0bc02d2", + "time": 3.95, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 1, + "y": 19, + "z": 13 + } + ], + "uuid": "3b1762e8-6d9d-d23b-82ef-ec452e471e93", + "time": 4.05, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 4, + "y": 18, + "z": 15 + } + ], + "uuid": "92730f2a-ed3c-e6e5-f876-ba38f274beff", + "time": 4.75, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.45333, + -0.45333, + -0.44667 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.45333, + 0.45333, + 0.44667 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + }, + { + "uuid": "58f28b46-e7a9-3c5a-e3d9-63a9f06f3a74", + "name": "ex_skill_2", + "loop": "once", + "override": true, + "length": 10.5, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "e98e96cf-993b-878e-02b8-777c368bb888": { + "name": "Avatar", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": -52.5, + "z": "0" + } + ], + "uuid": "b0eecf9b-f982-7a3f-c6e2-3d3fad539c79", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -90, + "z": 0 + } + ], + "uuid": "8a30113a-3bb2-7b58-62db-93563056e0c8", + "time": 0.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": -52.5, + "z": "0" + } + ], + "uuid": "7814e858-7c69-b037-270e-e83d709c574d", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -150, + "z": 0 + } + ], + "uuid": "92370413-f419-90ab-f69e-c228b8a21f3a", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -150, + "z": 0 + } + ], + "uuid": "8ac26853-18b3-a26b-1f5d-876880b319cd", + "time": 7.5, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -35, + "z": 0 + } + ], + "uuid": "2fae961c-8219-6a90-eae3-7b9c637a64ea", + "time": 7.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -35, + "z": 0 + } + ], + "uuid": "5c870574-ee09-e590-dad9-cb9416bad363", + "time": 8.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 6.93255, + "y": -34.39275, + "z": -12.14787 + } + ], + "uuid": "5ea3ae41-35c8-80d3-5971-c7f83d13af8b", + "time": 8.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 8, + "y": "0", + "z": -6 + } + ], + "uuid": "028eef4a-e133-ead2-f890-72b6ac463b5e", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 8, + "y": -0.5, + "z": -6 + } + ], + "uuid": "90ca802e-9827-48d4-c5e4-7f5a1aae354d", + "time": 0.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 8, + "y": 1, + "z": -6 + } + ], + "uuid": "27a21333-31fa-ee8e-61d4-4021ebb624d7", + "time": 0.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 8, + "y": 0, + "z": -6 + } + ], + "uuid": "413365a3-8b6c-6db1-3635-62cc04dde95f", + "time": 0.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 8, + "y": 1, + "z": -6 + } + ], + "uuid": "a37f479d-42e1-5b1d-0bdc-439ac2bde3f9", + "time": 0.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 8, + "y": 0, + "z": -6 + } + ], + "uuid": "8c67992a-6520-a98d-2117-81f6ab082965", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 8, + "y": 0, + "z": -6 + } + ], + "uuid": "b5b3b5ea-6db8-dfe3-e2d0-72dc35966a2e", + "time": 0.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 11, + "y": 0, + "z": -4 + } + ], + "uuid": "103edb99-4ba8-b62a-0cfa-73cbe8a9168c", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 11, + "y": 0, + "z": -4 + } + ], + "uuid": "300b39f4-ed9a-61a7-fc15-fec327b1b61e", + "time": 7.5, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 11, + "y": 0, + "z": -4 + } + ], + "uuid": "ef471079-867f-0cb7-2624-9f0ce540c1a5", + "time": 7.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 11, + "y": 0, + "z": -4 + } + ], + "uuid": "91dc97cd-f6c8-fa79-86f5-5e846ba6767f", + "time": 8.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 11, + "y": -1, + "z": -4 + } + ], + "uuid": "6ea162a7-b876-f357-6376-c29ceb59511a", + "time": 8.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 13, + "y": 2, + "z": -3 + } + ], + "uuid": "ca15ff49-59df-76d7-8dea-10c7ef875835", + "time": 8.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 13, + "y": 0, + "z": -3 + } + ], + "uuid": "4cc60221-8470-89eb-8a95-277007907c01", + "time": 9.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "22d40862-bd19-a16d-9e33-79364e6656d8": { + "name": "Head", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 15, + "y": 35, + "z": 0 + } + ], + "uuid": "05bb10c2-7e5a-571e-d9c3-87f800fe5bb6", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 15, + "y": 35, + "z": 0 + } + ], + "uuid": "aafb82b1-f500-a45a-36f7-54564dddda83", + "time": 0.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -2.5, + "y": 35, + "z": 0 + } + ], + "uuid": "81455bd2-a92f-4a1d-7b00-2247bce7b2d8", + "time": 0.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -2.5, + "y": 35, + "z": 0 + } + ], + "uuid": "1667b0f5-3243-6869-93bd-1708dca0ab1a", + "time": 0.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 7.5, + "y": 35, + "z": 0 + } + ], + "uuid": "f6bb3e4f-487d-7ba4-749c-c35681cdff8b", + "time": 0.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 7.5, + "y": 35, + "z": 0 + } + ], + "uuid": "10f2c929-dc1c-1ab8-ffda-51defdd9c670", + "time": 0.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "2.5", + "y": "0", + "z": 0 + } + ], + "uuid": "51b13f6d-2ab2-7960-be14-94f6039eb180", + "time": 0.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 2.5, + "y": "-35", + "z": 0 + } + ], + "uuid": "3c83a2ba-509f-0ede-9bb5-0a7cd38859f6", + "time": 1.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 2.5, + "y": "-30", + "z": 0 + } + ], + "uuid": "03d895f5-9333-5d09-662e-aca55b41a0e2", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 20.17057, + "y": -17.21506, + "z": -0.99424 + } + ], + "uuid": "c353e110-27c3-8b60-b3b7-5fda16fd4f02", + "time": 7.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 20.17, + "y": -17.22, + "z": -0.99 + } + ], + "uuid": "107252f4-67aa-a122-c3a7-1008c282c8ea", + "time": 7.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 20.17, + "y": -17.22, + "z": -0.99 + } + ], + "uuid": "1273f67c-9fb6-fe9f-4243-5ca72981c49a", + "time": 8.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 20.17, + "y": -17.22, + "z": -0.99 + } + ], + "uuid": "42611f55-1766-23ae-0ef8-d4dbb78b7508", + "time": 8.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 49.54838, + "y": -10.16476, + "z": 1.6307 + } + ], + "uuid": "3e5a2fbe-431d-5071-1fd0-f1898d097706", + "time": 8.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -27.60663, + "y": -5.28867, + "z": -0.03447 + } + ], + "uuid": "103346aa-fcc1-826e-1bd1-6a785b3d7ddc", + "time": 8.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 5, + "y": -10, + "z": 0 + } + ], + "uuid": "52661009-f3e9-45b2-8c90-8994af4fa6ef", + "time": 7.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 5, + "y": -10, + "z": 0 + } + ], + "uuid": "12bd1189-f8b7-de01-1149-0d276f3ad63e", + "time": 8.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 2.43, + "y": -29.86, + "z": 0 + } + ], + "uuid": "c6de73e0-5478-897e-0ca3-65db5f47016e", + "time": 1.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -0.44669, + "y": 5.05575, + "z": 1.35867 + } + ], + "uuid": "7abb43d9-2e1c-be95-0c40-3f448c2f5bba", + "time": 2.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -0.32, + "y": -9.6, + "z": 0.79 + } + ], + "uuid": "a16e0d32-7844-d869-7b37-44f9bd191f4d", + "time": 2.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -8.35422, + "y": -28.59089, + "z": 2.76696 + } + ], + "uuid": "f40f092d-3f26-59ec-7f43-aa8778f57a5c", + "time": 2.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -5.42354, + "y": -18.63896, + "z": 1.69592 + } + ], + "uuid": "fb1c5958-d057-9cea-eddb-75db4a0ead6c", + "time": 2.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -7.89, + "y": -29.11, + "z": 2.65 + } + ], + "uuid": "78029ef9-ba88-138a-8a11-8dde0f469c33", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 1.00625, + "y": -24.14056, + "z": -0.17122 + } + ], + "uuid": "ae64b1cb-7ed4-43c5-864e-907e2eca1607", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -1.22614, + "y": -36.65731, + "z": -0.50216 + } + ], + "uuid": "dc1288e3-21a4-d85e-78fc-591584948792", + "time": 3.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -1.18, + "y": -36.78, + "z": -0.49 + } + ], + "uuid": "29662642-2a7d-02dc-b9ca-d6513a4e8377", + "time": 3.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 6.38944, + "y": -26.64718, + "z": -0.45178 + } + ], + "uuid": "0817362d-4c8b-e345-771c-f996ab2f867a", + "time": 4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 4.38652, + "y": -31.49062, + "z": -1.35093 + } + ], + "uuid": "dc530a6f-46b7-530f-f38f-cd923ad63379", + "time": 4.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -5.81, + "y": -31.61, + "z": -1.32 + } + ], + "uuid": "15cad6fa-5ef5-6a25-8fa4-0942490ec31d", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 4.43, + "y": -31.57, + "z": -1.13 + } + ], + "uuid": "c64306a0-7628-cd3f-d69c-52ee2ad0dab3", + "time": 4.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 4.12569, + "y": -16.56322, + "z": 0.22164 + } + ], + "uuid": "d5f807e2-edf3-70e3-1673-39c570569b23", + "time": 5.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -1.14786, + "y": -1.72496, + "z": 1.29013 + } + ], + "uuid": "82832da2-5fc6-559b-4c02-baa9a38fcee1", + "time": 5.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -6.31689, + "y": -12.1209, + "z": 2.37555 + } + ], + "uuid": "9127e481-6b19-5460-60b0-4dfb962b80e7", + "time": 5.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -6.35027, + "y": -17.85008, + "z": 2.8966 + } + ], + "uuid": "719ea97f-e9da-072f-249a-b081de7a5bd1", + "time": 5.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -8.22117, + "y": -8.72172, + "z": 0.25062 + } + ], + "uuid": "6e9e05da-e530-1478-0199-79afc056fd70", + "time": 5.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -8.22117, + "y": -8.72172, + "z": 0.25062 + } + ], + "uuid": "8c5083cd-55ad-d381-b5fe-bfdb4797bb9a", + "time": 6.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -6.19642, + "y": -21.04513, + "z": 2.25618 + } + ], + "uuid": "cd8d31ba-808a-5405-b929-1c9623781310", + "time": 6.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -6.19642, + "y": -21.04513, + "z": 2.25618 + } + ], + "uuid": "91058ef1-d68e-facf-8d7c-fbc7753f2112", + "time": 7.5, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3c1cb66d-8a31-d31f-ec9f-65a33e313a53": { + "name": "RightArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -35, + "z": 30 + } + ], + "uuid": "e3ba7d42-b3b0-bb37-5e2f-6586d51f9961", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -35, + "z": 30 + } + ], + "uuid": "5c7fa5f7-251c-dc1a-7cc0-22f8dd08ce45", + "time": 0.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": -35, + "z": 5 + } + ], + "uuid": "0cbeab01-c1ed-9c74-1e4d-1f04c61b9bdb", + "time": 0.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": -35, + "z": 5 + } + ], + "uuid": "ab2c049f-cb03-cbe4-9656-9ba267e7903b", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -92.14403, + "y": -21.42518, + "z": 26.50394 + } + ], + "uuid": "6ae03fc0-5927-5bbe-b602-6ce91b54438a", + "time": 1.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -17.5, + "y": 0, + "z": 17.5 + } + ], + "uuid": "5b9d4da3-ee9b-b6fc-0957-a0aa3a2dd1fa", + "time": 7.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -17.5, + "y": 0, + "z": 17.5 + } + ], + "uuid": "bb3f5799-fcc4-48b0-b730-78eba936c181", + "time": 8.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -38.47993, + "y": -47.00552, + "z": 6.31207 + } + ], + "uuid": "3ef5f567-d8cf-9eb7-3b55-82434e289c15", + "time": 8.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 27.5 + } + ], + "uuid": "037c02ab-4d95-6427-564b-8424983775ca", + "time": 8.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -95.23, + "y": -21, + "z": 27.32 + } + ], + "uuid": "9307a39f-740a-d22a-eb49-6c6701033bf8", + "time": 1.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -88.82237, + "y": 3.83658, + "z": 3.63551 + } + ], + "uuid": "a06ea57e-febe-e9b6-3b12-a66f8d07fc89", + "time": 2.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -81.22745, + "y": -9.85779, + "z": -0.18963 + } + ], + "uuid": "e2fe9b41-72f9-a365-4668-b0873832e6f3", + "time": 2.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -91.08181, + "y": -16.48549, + "z": 1.15686 + } + ], + "uuid": "1e3166f2-571d-006a-4722-0c0e178812bb", + "time": 2.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -96.36069, + "y": -29.32861, + "z": 1.95981 + } + ], + "uuid": "18736129-210c-c72d-548b-631d8df6638f", + "time": 2.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -96.62, + "y": -29.44, + "z": 3.5 + } + ], + "uuid": "73065d28-8c5c-b00c-1a69-02b0b3a4e6e4", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -91.72723, + "y": -24.25851, + "z": 4.47675 + } + ], + "uuid": "b8646cd2-90ec-f587-590e-586e9d9e74e7", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90.07103, + "y": -36.70754, + "z": 2.12148 + } + ], + "uuid": "918ec0e0-7b14-fc6d-1956-cd74c4dc4ab6", + "time": 3.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90.25, + "y": -36.52, + "z": 3 + } + ], + "uuid": "2a8ca3ac-4f25-b1bf-30f9-f7f5ff34230f", + "time": 3.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -81.7254, + "y": -25.86453, + "z": 0.97574 + } + ], + "uuid": "e2b8be6a-74b8-f14a-3e25-2d7478fe496e", + "time": 4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -83.98422, + "y": -30.51743, + "z": 0.74021 + } + ], + "uuid": "03a70857-ea33-68c1-2772-5b0bf95d1bb4", + "time": 4.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -94.50941, + "y": -27.81793, + "z": 1.69239 + } + ], + "uuid": "3c4241d0-e33b-740e-8445-6f0713b1c955", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -83.27723, + "y": -26.62371, + "z": -0.47975 + } + ], + "uuid": "e5e3c263-52dd-bf2d-7a8a-06604eac5fad", + "time": 4.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -83.86413, + "y": -18.537, + "z": -0.48622 + } + ], + "uuid": "837def2f-9a69-812c-8c0f-c4781f669fcf", + "time": 5.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -89.49258, + "y": -3.29147, + "z": -0.43287 + } + ], + "uuid": "637de581-37f4-b6cc-ec84-36c56936e999", + "time": 5.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -94.81137, + "y": -13.47121, + "z": 0.49295 + } + ], + "uuid": "72d333e6-0e27-3f09-c4f3-744dc425f957", + "time": 5.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -95.06879, + "y": -18.93097, + "z": 1.72461 + } + ], + "uuid": "f119906d-1798-3670-1665-dd1169873636", + "time": 5.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -96.58317, + "y": -9.53179, + "z": -0.40319 + } + ], + "uuid": "1c848d8f-fd8d-c4e1-6fa4-780f3e326520", + "time": 5.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -96.58317, + "y": -9.53179, + "z": -0.40319 + } + ], + "uuid": "c562214b-a75d-a77b-238a-388dc1bd4f32", + "time": 6.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -31.58317, + "y": -9.53179, + "z": -0.40319 + } + ], + "uuid": "465cd262-f233-c125-292e-f2865e088871", + "time": 6.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -31.58317, + "y": -9.53179, + "z": -0.40319 + } + ], + "uuid": "1b96f2ae-236b-6202-ccf0-c44ecd7fe6ea", + "time": 7.5, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "b924539e-1292-1a17-6240-a525ae346090": { + "name": "RightArmBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": "0", + "z": "0" + } + ], + "uuid": "f2a79e25-c521-861e-86cc-620f2361a492", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": 0, + "z": 0 + } + ], + "uuid": "79594757-da25-de0b-afa4-4c36adb38683", + "time": 0.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": 0, + "z": 0 + } + ], + "uuid": "3f380754-5456-e7f6-bb10-4561223b7f5b", + "time": 0.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "35fd0c59-c090-c279-3266-f14b40644419", + "time": 1.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -52.5, + "y": 0, + "z": 0 + } + ], + "uuid": "f98c9b8e-b313-7750-cd68-22c7929ba9ff", + "time": 8.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "4ed57834-642f-63c7-f1b1-fa8a4154cf94", + "time": 8.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "e3171f4d-23df-a350-f981-eff61985ac23", + "time": 8.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e7d3e5d8-00e4-587c-7bb6-6787db00054b": { + "name": "LeftArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -45, + "y": "0", + "z": "0" + } + ], + "uuid": "976115a7-d972-c445-53fb-1669a4be473d", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -45, + "y": 0, + "z": 0 + } + ], + "uuid": "8d931f55-c6f5-adb8-ee9b-ef558d09d663", + "time": 0.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -35.86965, + "y": 6.86379, + "z": 26.69458 + } + ], + "uuid": "c6f4093e-92f5-7ef6-c13b-76b4c5385ff7", + "time": 0.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -75.87, + "y": 6.86, + "z": 26.69 + } + ], + "uuid": "28ed3fab-48ab-7cc4-afad-57a03cbf5675", + "time": 1.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -46.64314, + "y": -5.90316, + "z": -16.50371 + } + ], + "uuid": "8b43ff58-8210-dcfb-2033-72d50539f346", + "time": 7.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -46.64, + "y": -5.9, + "z": -16.5 + } + ], + "uuid": "b9bfb256-3388-0d3d-d93c-33fb193c9ace", + "time": 8.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -47.84821, + "y": 53.60376, + "z": -29.88701 + } + ], + "uuid": "eb13454c-4b0a-50a5-cc3f-11f092535a04", + "time": 8.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -65.05376, + "y": 62.64135, + "z": -215.31351 + } + ], + "uuid": "7612a6a5-239b-ee42-4620-9e303231674c", + "time": 8.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -91.63024, + "y": 48.23118, + "z": 8.98011 + } + ], + "uuid": "27d0c79e-f429-cfc6-0859-e499c2243bff", + "time": 2.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -75.87, + "y": 6.86, + "z": 26.69 + } + ], + "uuid": "b2c6f9a6-b9b5-b10e-fdb1-16920a1a27bf", + "time": 1.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -82.69812, + "y": 34.09594, + "z": 0.73981 + } + ], + "uuid": "db0fe809-38dc-62a3-3e11-24da23794620", + "time": 2.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -93.84587, + "y": 22.62453, + "z": 5.57586 + } + ], + "uuid": "3316b9d7-65a6-88dc-18a8-6cedf195d853", + "time": 2.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -94.00279, + "y": 7.03923, + "z": 4.93528 + } + ], + "uuid": "c4e34ebd-2a5b-3aa9-36a0-8dea9557bb1a", + "time": 2.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -93.04, + "y": 6.48, + "z": 6.39 + } + ], + "uuid": "5079d2dc-1693-d0e4-9dc8-285cbf45efe9", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90.19407, + "y": 16.47939, + "z": 6.52933 + } + ], + "uuid": "505cf8c3-d632-5e23-de07-4c50efd9307f", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -89.45026, + "y": -8.50517, + "z": 1.75053 + } + ], + "uuid": "fcf2511f-5baa-3e9d-c832-5b13e6f14d23", + "time": 3.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -88.97, + "y": -8.6, + "z": 2.65 + } + ], + "uuid": "912435f1-2a9c-4d08-ff19-547552074fbb", + "time": 3.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -81.15213, + "y": 14.25406, + "z": 3.78115 + } + ], + "uuid": "32c1d187-95ec-449f-6c82-c1e719b0e04f", + "time": 4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -81.16435, + "y": 4.66161, + "z": 2.81101 + } + ], + "uuid": "77a6af11-e88c-fc88-4d8b-82efb9677e59", + "time": 4.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -103.5, + "y": 4.49, + "z": 3.97 + } + ], + "uuid": "aa3708e5-b0bc-f16a-38e7-3ff95d21737a", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -82.39199, + "y": 10.77577, + "z": 3.52057 + } + ], + "uuid": "e38dfe43-75c3-a795-c590-998fdd98c568", + "time": 4.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -84.02148, + "y": 21.67569, + "z": 1.60328 + } + ], + "uuid": "4881c3cb-d5b4-eabc-b740-fcf23646e4fd", + "time": 5.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -89.68318, + "y": 36.38402, + "z": 1.51148 + } + ], + "uuid": "8e88d55d-a78e-251f-bf4b-aa8f0677d741", + "time": 5.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -95.60826, + "y": 25.70967, + "z": -0.38867 + } + ], + "uuid": "673bcfbb-3618-0a5e-a565-7a3e3648f0c2", + "time": 5.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -95.02559, + "y": 19.9599, + "z": 0.87244 + } + ], + "uuid": "27cd8f26-9804-cd68-9cc1-1c67701ae892", + "time": 5.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -95.56632, + "y": 31.4171, + "z": -1.61877 + } + ], + "uuid": "33de5f7d-7e37-0011-b2f8-1d2afdabda46", + "time": 5.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -95.56632, + "y": 31.4171, + "z": -1.61877 + } + ], + "uuid": "1ca289c3-5591-2706-493c-9a6e16e1cd31", + "time": 6.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -43.06632, + "y": 31.4171, + "z": -1.61877 + } + ], + "uuid": "e581a32d-6612-1093-1f00-7b9dad822952", + "time": 6.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -43.06632, + "y": 31.4171, + "z": -1.61877 + } + ], + "uuid": "944781a6-da0b-d646-177e-00dddc357613", + "time": 7.5, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ad1c45ef-c0a8-6d31-d2dc-fbdc6ab7ddcc": { + "name": "LeftArmBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -65, + "y": "0", + "z": "0" + } + ], + "uuid": "fd03f9a2-4a50-ad0c-fc48-f18d0c7348b2", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -65, + "y": 0, + "z": 0 + } + ], + "uuid": "c3882073-783f-6afd-7c07-2f65f336fda0", + "time": 0.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "0ca55313-664a-3110-29e7-cc78387c2c1f", + "time": 0.95, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "2025e679-d345-7ed8-27d2-6fbd4e46802b", + "time": 7.5, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -52.5, + "y": 0, + "z": 0 + } + ], + "uuid": "bbcc6d6f-90c0-de20-e493-5f8e964c53ee", + "time": 7.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -52.5, + "y": 0, + "z": 0 + } + ], + "uuid": "fd936d86-becb-21da-5399-80dc0f707a6e", + "time": 8.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -52.5, + "y": 0, + "z": 0 + } + ], + "uuid": "53310999-2da2-c3a1-fad4-9bdf873d0376", + "time": 8.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "b1117db2-6f19-c0d8-a2c2-ae4e5c1b3512", + "time": 8.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "2f61e368-1c06-648e-26d4-aee94647e4da": { + "name": "LowerBody", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "81b630d4-514f-b866-9182-69ac04b6d408", + "time": 8.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 10 + } + ], + "uuid": "db382d07-1a31-50f9-aa82-b9aa5754bc0b", + "time": 8.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "4e80b5b4-7c04-8374-f8a7-526b3d36d050": { + "name": "RightLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 2.5 + } + ], + "uuid": "4156c287-bce0-5664-380b-4fc5e7f4ecf9", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-40", + "y": 0, + "z": 2.5 + } + ], + "uuid": "71d7170d-78e9-fa4b-0df4-8f712cef5c5e", + "time": 0.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-5", + "y": 0, + "z": 2.5 + } + ], + "uuid": "457b6045-1553-d225-b1ad-7af9d061d796", + "time": 0.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-40", + "y": 0, + "z": 2.5 + } + ], + "uuid": "817cd3b4-14ca-52a0-f4a4-55c143578de3", + "time": 0.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-5", + "y": 0, + "z": 2.5 + } + ], + "uuid": "b4b33d6d-5651-ee95-8ffb-1cf754e73f62", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -5, + "y": 0, + "z": 2.5 + } + ], + "uuid": "9781ac65-ca86-bc26-1c0f-c6524aeffbb0", + "time": 0.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 2.5 + } + ], + "uuid": "0b65048a-de87-f308-400c-aa5d3ab1bd92", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-10", + "y": 0, + "z": 2.5 + } + ], + "uuid": "ccc575d0-58e7-11a5-61a2-31a89efc0db0", + "time": 1.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 2.5 + } + ], + "uuid": "ba5975d5-2dbd-5970-629a-e6a66203321f", + "time": 7.5, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 2.5 + } + ], + "uuid": "ba6dd134-951e-befd-cd00-a97da6f63a04", + "time": 7.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 2.5 + } + ], + "uuid": "c0538e67-623c-e915-ca64-39fd2f7f13b4", + "time": 8.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-15", + "y": 0, + "z": 2.5 + } + ], + "uuid": "07fdab3c-ea76-ca81-d801-a84cb34de01f", + "time": 8.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 2.5 + } + ], + "uuid": "4a8f18c0-9f98-1776-ea4a-4f187ee17059", + "time": 8.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "84fe0b3a-286b-e17f-288e-c39feaa2e5e6": { + "name": "RightLegBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "43ffd456-fee4-dfc6-76da-cdb57bbf78ae", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "70", + "y": 0, + "z": 0 + } + ], + "uuid": "2a91707a-2433-0333-27be-50c955a67ee6", + "time": 0.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "10", + "y": 0, + "z": 0 + } + ], + "uuid": "7bcf2454-d29e-74f7-09db-97d2970237fd", + "time": 0.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "70", + "y": 0, + "z": 0 + } + ], + "uuid": "8c9c5a1f-9863-57ee-8802-860abfe51481", + "time": 0.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "10", + "y": 0, + "z": 0 + } + ], + "uuid": "f0f0686c-5c8a-13ce-cd1b-2b60cdf14834", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": 0, + "z": 0 + } + ], + "uuid": "be1cba84-6984-738d-604c-0dc5877639d0", + "time": 0.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "e51705bc-24cc-0f85-75b2-7df83b9cb020", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "20", + "y": 0, + "z": 0 + } + ], + "uuid": "496171d4-f917-a2b0-9d97-e5dc44b3481e", + "time": 1.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "2b6f5888-23cb-ab65-7175-db4cd4529f63", + "time": 7.5, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "c9310e04-b940-31a1-a555-87ac3d0fb606", + "time": 7.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "9b72ea37-b669-a3bd-fdc5-c2aab6711a8e", + "time": 8.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "30", + "y": 0, + "z": 0 + } + ], + "uuid": "ccca2b3a-9edf-4599-0801-8474de4e9131", + "time": 8.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "52aa8ab5-9e49-2615-9eaa-01bda7406ba4", + "time": 8.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "73b3d6bc-af0b-a066-5d73-f3938109e11f": { + "name": "LeftLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": -2.5 + } + ], + "uuid": "fd423a68-95cd-3733-b8db-2f40d042ed91", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-5", + "y": 0, + "z": -2.5 + } + ], + "uuid": "77877e1b-1d33-7483-1b11-ae86b1a17054", + "time": 0.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-40", + "y": 0, + "z": -2.5 + } + ], + "uuid": "6c9ad961-e57a-6301-9f9a-2e4a8362b991", + "time": 0.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-5", + "y": 0, + "z": -2.5 + } + ], + "uuid": "657aeb45-c3a7-b686-827b-5b07586047d9", + "time": 0.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-40", + "y": 0, + "z": -2.5 + } + ], + "uuid": "ced3947f-cea4-019e-ae97-cbae336bea21", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -40, + "y": 0, + "z": -2.5 + } + ], + "uuid": "37a1f0e5-78c9-bd67-3670-d6cf43bb8a1f", + "time": 0.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": -2.5 + } + ], + "uuid": "e087e76b-5cda-f72f-9755-5ff911c9f6c4", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -2.5 + } + ], + "uuid": "47a4aa2d-89c4-704a-8fd3-b46eabe415b0", + "time": 7.5, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -2.5 + } + ], + "uuid": "dd05b9e6-a4b3-56d8-b397-d39f36fa5934", + "time": 7.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -2.5 + } + ], + "uuid": "7d0f7552-9c90-aff3-7495-6eb08d54d127", + "time": 8.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-20", + "y": 0, + "z": -2.5 + } + ], + "uuid": "d3300501-7a53-f139-c4c9-50f57f65599b", + "time": 8.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": -2.5 + } + ], + "uuid": "cef9d578-c6b1-c8fe-635d-519a1996a540", + "time": 8.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ee9973d4-ff4e-c96b-64f6-d1f28afd69c6": { + "name": "LeftLegBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "6593fb40-cd28-d20a-7589-d71beed8e7d0", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "10", + "y": 0, + "z": 0 + } + ], + "uuid": "d374e5c8-ae3c-b313-beee-c825b1d6571a", + "time": 0.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "70", + "y": 0, + "z": 0 + } + ], + "uuid": "1fb30776-e6a1-40ca-37ab-7b28af3b711a", + "time": 0.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "10", + "y": 0, + "z": 0 + } + ], + "uuid": "f7e83585-598b-95a6-43c0-4ffe2fa3a0ce", + "time": 0.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "70", + "y": 0, + "z": 0 + } + ], + "uuid": "14f9da4a-3bdd-0bd2-bc46-3cda11184305", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 62.5, + "y": 0, + "z": 0 + } + ], + "uuid": "a8fe1c13-8426-f900-1567-e2b9f2d01247", + "time": 0.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "629b66a8-8284-623c-78b9-1ffe15c6e79f", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "b3ffa379-fa36-57e3-e634-2e493484a87f", + "time": 7.5, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "fb069e6a-a8cc-4497-3e13-3c5006ae54f1", + "time": 7.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "9325dfb2-8f85-a4e2-d667-d09374600bfe", + "time": 8.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 40, + "y": 0, + "z": 0 + } + ], + "uuid": "625307f9-1e30-3dd9-9e42-6eb2c682f255", + "time": 8.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "db0f2653-7fc7-5654-676a-4a22de16da9a", + "time": 8.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "4ad021e9-2857-4e55-337b-f61da0762800": { + "name": "CameraAnchor", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "20", + "y": "-155", + "z": "0" + } + ], + "uuid": "2c27fdf7-f168-513c-9d5e-304e5791858b", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "20", + "y": "-180", + "z": 0 + } + ], + "uuid": "64d49a58-cf41-0cfd-b6f3-41fa2a8e9e05", + "time": 0.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": -180, + "z": 0 + } + ], + "uuid": "cfe1850c-0b9f-ccce-da30-b610a92f2e40", + "time": 1.35, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "2.5", + "y": "-185", + "z": 0 + } + ], + "uuid": "c3c0e15c-d199-2f1a-5ee1-abe88794a307", + "time": 3.3, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -180, + "z": 0 + } + ], + "uuid": "2e24259d-81cb-60c2-fcc8-b70ec83697fa", + "time": 2.05, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.30186, + -0.30186, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.30186, + 0.30186, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 2.5, + "y": -185, + "z": 0 + } + ], + "uuid": "2d641436-b6a1-53c5-6fcd-d30c54a3422e", + "time": 4.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "-180", + "z": 0 + } + ], + "uuid": "196e932f-e8cf-596c-d90e-4aa539d95ee1", + "time": 5.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 2.5, + "y": "-195", + "z": 0 + } + ], + "uuid": "fa3ea3bb-a2f0-660c-1828-312794edef44", + "time": 4.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-10", + "y": -180, + "z": 0 + } + ], + "uuid": "c6d8bba5-e101-de36-976f-6eec89000622", + "time": 7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-10", + "y": -180, + "z": 0 + } + ], + "uuid": "d43bffc4-874d-28d5-1a23-c3fb34b0a1b8", + "time": 7.5, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "-190", + "z": 0 + } + ], + "uuid": "88dfe014-0afd-902b-74c1-a2116bc21e12", + "time": 7.55, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "2.5", + "y": "-177.5", + "z": 0 + } + ], + "uuid": "de573ae0-1ced-2fc1-e33b-3cbb1f97dce5", + "time": 5.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-2.5", + "y": "-182.5", + "z": 0 + } + ], + "uuid": "a923b53b-db66-4505-40f2-93d07d84d545", + "time": 5.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-2.5", + "y": "-177.5", + "z": 0 + } + ], + "uuid": "be71ffbd-eb41-a004-5f84-21f8ea37623a", + "time": 5.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-2.5", + "y": "-180", + "z": 0 + } + ], + "uuid": "f3c3064f-40dd-e712-1e50-9896c0a4bf68", + "time": 5.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "2.5", + "y": "-180", + "z": 0 + } + ], + "uuid": "8f924e9e-767d-e7b0-6ad9-d9f7c465f038", + "time": 5.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-2.5", + "y": "-182.5", + "z": 0 + } + ], + "uuid": "a55bfe5d-595c-ce61-e998-0b6605b35c9a", + "time": 5.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "2.5", + "y": "-177.5", + "z": 0 + } + ], + "uuid": "7f5ffec5-f361-38b4-f763-08e886fc274d", + "time": 5.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "-177.5", + "z": 0 + } + ], + "uuid": "6be32e0e-5d22-2195-569d-3bbcb2686cd4", + "time": 5.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "5", + "y": "-180", + "z": 0 + } + ], + "uuid": "610f68b3-a816-7c59-8117-014dd1e3fdc6", + "time": 6.15, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "5", + "y": "-180", + "z": 0 + } + ], + "uuid": "2bb4b0a2-1310-b8a2-7478-54ae15017993", + "time": 6.35, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -190, + "z": 0 + } + ], + "uuid": "af630f8a-b6c9-509a-0f34-2611477d6a42", + "time": 8.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "50", + "y": "-170", + "z": 0 + } + ], + "uuid": "0f311e81-e5fe-9a6b-ea21-1b33691b3a9b", + "time": 8.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "45", + "y": "-210", + "z": 0 + } + ], + "uuid": "03cd7026-23e4-e4b2-ac4c-04ba3367eef5", + "time": 8.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 9, + "y": 32, + "z": -47 + } + ], + "uuid": "360a7aa7-360c-8044-fef1-fa1ede7c198c", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 32, + "y": 41, + "z": -52 + } + ], + "uuid": "08795c9c-e20a-32d4-e657-bbd2df1c7e69", + "time": 0.45, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 24, + "y": 25.4, + "z": -22 + } + ], + "uuid": "29643cd0-b290-48db-6c94-0ac60312bc30", + "time": 1.35, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.25576, + -0.26892, + -0.26892 + ], + "bezier_left_value": [ + 0.96703, + 0, + -16.43956 + ], + "bezier_right_time": [ + 0.25576, + 0.26892, + 0.26892 + ], + "bezier_right_value": [ + -0.96703, + 0, + 16.43956 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 36, + "y": 30.4, + "z": 80 + } + ], + "uuid": "efd93465-7cdf-d19b-3a2f-4c970bd38eb5", + "time": 2.05, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 36, + "y": 30.4, + "z": 80 + } + ], + "uuid": "45c5dcdf-75af-c982-021b-d717329566f8", + "time": 4.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 36, + "y": 24.4, + "z": 62 + } + ], + "uuid": "7d76ea36-1282-8fa8-12ac-7adf4ec86f5f", + "time": 7.5, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 36, + "y": 30.4, + "z": 80 + } + ], + "uuid": "7c1c39e4-37ea-e088-3a59-3885324ccc54", + "time": 7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 21, + "y": 23.4, + "z": -16 + } + ], + "uuid": "f408538e-8bf1-8af8-2d0e-cb72563c9f0e", + "time": 7.55, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 21, + "y": 23.4, + "z": -16 + } + ], + "uuid": "93f47ea3-3b31-900c-21eb-5d92163c43c4", + "time": 8.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 15, + "y": 40.1, + "z": -20 + } + ], + "uuid": "b857afda-90b9-89f9-1e63-40becc1ccc21", + "time": 8.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 19, + "y": 36.1, + "z": -14.5 + } + ], + "uuid": "d6fa7563-d498-36a2-e12a-67528fdfc197", + "time": 8.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Momoi/scripts/avatar.lua b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar.lua new file mode 100644 index 0000000..f8ce3e5 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar.lua @@ -0,0 +1,219 @@ +---@class Avatar アバターのメインクラス +---@field public avatarEvents AvatarEvents +---@field public modelUtils ModelUtils +---@field public playerUtils PlayerUtils +---@field public compatibilityUtils CompatibilityUtils +---@field public characterData BlueArchiveCharacter +---@field public headRing HeadRing +---@field public headBlock HeadBlock +---@field public locale Locale +---@field public config Config +---@field public cameraManager CameraManager +---@field public keyManager KeyManager +---@field public vanillaModel VanillaModel +---@field public arms Arms +---@field public skirt Skirt +---@field public armor Armor +---@field public faceParts FaceParts +---@field public portrait Portrait +---@field public physics Physics +---@field public gun Gun +---@field public nameplate Nameplate +---@field public exSkill ExSkill +---@field public frameParticleManager ExSkillFrameParticleManager +---@field public placementObjectManager PlacementObjectManager +---@field public costume Costume +---@field public actionWheel ActionWheel +---@field public actionWheelGui ActionWheelGui +---@field public bubble Bubble +---@field public barrier Barrier +---@field public deathAnimation DeathAnimation +---@field public hypixelZombies HypixelZombies +---@field public updateChecker UpdateChecker +---@field public textObjectManager1 ExSkill1TextObjectManager +---@field public textObjectManager2 ExSkill2TextObjectManager +---@field public instantiate fun(class: table, super: table, ...: any) クラスをインスタンス化する + +Avatar = { + ---コンストラクタ + ---@return Avatar + new = function () + ---@type Avatar + local instance = Avatar.instantiate(Avatar) + + --ENTITY_INIT前に読み込み + require("scripts.avatar_modules.avatar_module") + + --ユーティリティクラスの読み込み + require("scripts.avatar_modules.events.abstract_event") + require("scripts.avatar_modules.events.script_init_event") + require("scripts.avatar_modules.events.avatar_events") + instance.avatarEvents = AvatarEvents.new(instance) + instance.avatarEvents:init() + + require("scripts.avatar_modules.utils.model_utils") + instance.modelUtils = ModelUtils.new(instance) + instance.modelUtils:init() + + --アバターモジュールの読み込み + require("scripts.blue_archive_character") + instance.characterData = BlueArchiveCharacter.new(instance) + instance.characterData:init() + + require("scripts.avatar_modules.head_ring") + instance.headRing = HeadRing.new(instance) + instance.headRing:init() + + require("scripts.avatar_modules.head_model_generator") + require("scripts.avatar_modules.head_block") + instance.headBlock = HeadBlock.new(instance) + instance.headBlock:init() + + --生徒固有クラスの読み込み + + events.ENTITY_INIT:register(function () + --ユーティリティクラスの読み込み + require("scripts.avatar_modules.utils.player_utils") + instance.playerUtils = PlayerUtils.new(instance) + instance.playerUtils:init() + + require("scripts.avatar_modules.utils.compatibility_utils") + instance.compatibilityUtils = CompatibilityUtils.new(instance) + instance.compatibilityUtils:init() + + require("scripts.avatar_modules.utils.spawn_object_manager") + require("scripts.avatar_modules.utils.spawn_object") + + --アバターモジュールの読み込み + require("scripts.avatar_modules.locale") + instance.locale = Locale.new(instance) + instance.locale:init() + + require("scripts.avatar_modules.config") + instance.config = Config.new(instance) + instance.config:init() + + require("scripts.avatar_modules.camera_manager") + instance.cameraManager = CameraManager.new(instance) + instance.cameraManager:init() + + require("scripts.avatar_modules.key_manager") + instance.keyManager = KeyManager.new(instance) + instance.keyManager:init() + + require("scripts.avatar_modules.vanilla_model") + instance.vanillaModel = VanillaModel.new(instance) + instance.vanillaModel:init() + + require("scripts.avatar_modules.arms") + instance.arms = Arms.new(instance) + instance.arms:init() + + require("scripts.avatar_modules.skirt") + instance.skirt = Skirt.new(instance) + instance.skirt:init() + + require("scripts.avatar_modules.armor") + instance.armor = Armor.new(instance) + instance.armor:init() + + require("scripts.avatar_modules.face_parts") + instance.faceParts = FaceParts.new(instance) + instance.faceParts:init() + + require("scripts.avatar_modules.portrait") + instance.portrait = Portrait.new(instance) + instance.portrait:init() + + require("scripts.avatar_modules.physics") + instance.physics = Physics.new(instance) + instance.physics:init() + + require("scripts.avatar_modules.gun") + instance.gun = Gun.new(instance) + instance.gun:init() + + require("scripts.avatar_modules.nameplate") + instance.nameplate = Nameplate.new(instance) + instance.nameplate:init() + + require("scripts.avatar_modules.ex_skill.ex_skill") + instance.exSkill = ExSkill.new(instance) + instance.exSkill:init() + + require("scripts.avatar_modules.ex_skill.ex_skill_frame_particle_manager") + require("scripts.avatar_modules.ex_skill.ex_skill_frame_particle") + instance.frameParticleManager = ExSkillFrameParticleManager.new(instance) + instance.frameParticleManager:init() + + require("scripts.avatar_modules.placement_object.placement_object_manager") + require("scripts.avatar_modules.placement_object.placement_object") + instance.placementObjectManager = PlacementObjectManager.new(instance) + instance.placementObjectManager:init() + + require("scripts.avatar_modules.costume") + instance.costume = Costume.new(instance) + instance.costume:init() + + require("scripts.avatar_modules.action_wheel.action_wheel") + instance.actionWheel = ActionWheel.new(instance) + instance.actionWheel:init() + + require("scripts.avatar_modules.action_wheel.action_wheel_gui") + instance.actionWheelGui = ActionWheelGui.new(instance) + instance.actionWheelGui:init() + + require("scripts.avatar_modules.bubble") + instance.bubble = Bubble.new(instance) + instance.bubble:init() + + require("scripts.avatar_modules.barrier") + instance.barrier = Barrier.new(instance) + instance.barrier:init() + + require("scripts.avatar_modules.death_animation") + instance.deathAnimation = DeathAnimation.new(instance) + instance.deathAnimation:init() + + require("scripts.avatar_modules.hypixel_zombies") + instance.hypixelZombies = HypixelZombies.new(instance) + instance.hypixelZombies:init() + + require("scripts.avatar_modules.action_wheel.update_checker") + instance.updateChecker = UpdateChecker.new(instance) + instance.updateChecker:init() + + --生徒固有クラスの読み込み + require("scripts.character_scripts.ex_skill_1_text_object_manager") + require("scripts.character_scripts.ex_skill_1_text_object") + instance.textObjectManager1 = ExSkill1TextObjectManager.new(instance) + instance.textObjectManager1:init() + + require("scripts.character_scripts.ex_skill_2_text_object_manager") + require("scripts.character_scripts.ex_skill_2_text_object") + instance.textObjectManager2 = ExSkill2TextObjectManager.new(instance) + instance.textObjectManager2:init() + + --SCRIPT_INITイベントを実行 + instance.avatarEvents.SCRIPT_INIT:fire() + end) + + return instance + end; + + ---クラスをインスタンス化する。 + ---@generic S + ---@generic C + ---@param class `C` インスタンス化するクラス + ---@param super? `S` インスタンス化するクラスのスーパークラス + ---@param ... any クラスのインスタンス時に渡される引数 + ---@return C instance インスタンス化されたクラスのオブジェクト + instantiate = function (class, super, ...) + local instance = super and super.new(...) or {} + setmetatable(instance, {__index = class}) + setmetatable(class, {__index = super}) + return instance + end; +} + +AvatarInstance = Avatar.new() \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/action_wheel/action_wheel.lua b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/action_wheel/action_wheel.lua new file mode 100644 index 0000000..e7e2c4e --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/action_wheel/action_wheel.lua @@ -0,0 +1,319 @@ +---@class (exact) ActionWheel : AvatarModule アクションホイールを管理するクラス +---@field package mainPage Page アクションホイールのメインページのインスタンスへの参照 +---@field package selectingCostume integer 現在選択中の衣装 +---@field package selectingName integer 現在選択中の表示名 +---@field package selectingShouldShowClubName boolean 現在選択中の「部活名を表示するかどうか」 +---@field package selectingExSkillParticleAmount integer 現在選択中のExスキルフレームのパーティクル量 +---@field public shouldReplaceVehicleModels boolean 乗り物のモデルを置き換えるかどうか +---@field package isActionWheelOpenedPrev boolean 前ティックにアクションホイールを開けていたかどうか +---@field package refreshCostumeChangeActionTitle fun(self: ActionWheel) 衣装変更アクションのタイトルを更新する +---@field package refreshNameChangeActionTitle fun(self: ActionWheel) 名前変更アクションのタイトルを更新する +---@field package refreshExSkillParticleActionTitle fun(self: ActionWheel) Exスキルアニメーションのパーティクル量調整アクションのタイトルを更新する +---@field package refreshUpdateActionStatus fun(self: ActionWheel) アップデート確認アクションの状態を更新する + +ActionWheel = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ActionWheel + new = function (parent) + ---@type ActionWheel + local instance = Avatar.instantiate(ActionWheel, AvatarModule, parent) + + instance.mainPage = action_wheel:newPage("main") + instance.selectingCostume = instance.parent.costume.currentCostume + instance.selectingName = instance.parent.nameplate.currentName + instance.selectingShouldShowClubName = instance.parent.nameplate.shouldShowClubName + instance.selectingExSkillParticleAmount = instance.parent.exSkill.frameParticleAmount + instance.shouldReplaceVehicleModels = instance.parent.config:loadConfig("PRIVATE", "replaceVehicleModels", true) + instance.isActionWheelOpenedPrev = false + + return instance + end; + + ---初期化関数 + ---@param self ActionWheel + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + events.TICK:register(function() + local isActionWheelOpened = action_wheel:isEnabled() + if isActionWheelOpened then + local mainAction3 = self.mainPage:getAction(3) + mainAction3:setTitle(self.parent.locale:getLocale("action_wheel.main.action_3.title").."§c"..self.parent.locale:getLocale("action_wheel.toggle_off")) + mainAction3:setToggleTitle(self.parent.locale:getLocale("action_wheel.main.action_3.title").."§a"..self.parent.locale:getLocale("action_wheel.toggle_on")) + local mainAction4 = self.mainPage:getAction(4) + mainAction4:setTitle(self.parent.locale:getLocale("action_wheel.main.action_4.title").."§c"..self.parent.locale:getLocale("action_wheel.toggle_off")) + mainAction4:setToggleTitle(self.parent.locale:getLocale("action_wheel.main.action_4.title").."§a"..self.parent.locale:getLocale("action_wheel.toggle_on")) + local mainAction6 = self.mainPage:getAction(6) + if self.parent.characterData.actionWheel.isVehicleOptionEnabled then + mainAction6:setTitle(self.parent.locale:getLocale("action_wheel.main.action_6.title").."§c"..self.parent.locale:getLocale("action_wheel.toggle_off")) + else + mainAction6:setTitle("§7"..self.parent.locale:getLocale("action_wheel.main.action_6.title")..self.parent.locale:getLocale("action_wheel.toggle_off")) + end + mainAction6:setToggleTitle(self.parent.locale:getLocale("action_wheel.main.action_6.title").."§a"..self.parent.locale:getLocale("action_wheel.toggle_on")) + self:refreshCostumeChangeActionTitle() + self:refreshNameChangeActionTitle() + self:refreshExSkillParticleActionTitle() + self:refreshUpdateActionStatus() + elseif not isActionWheelOpened and self.isActionWheelOpenedPrev then + if self.selectingCostume ~= self.parent.costume.currentCostume then + pings.actionWheelChangeCostume(self.selectingCostume) + self.parent.config:saveConfig("PRIVATE", "costume", self.selectingCostume) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.armor.equip_leather"), player:getPos()) + print(self.parent.locale:getLocale("action_wheel.main.action_1.done_first")..self.parent.costume:getCostumeLocalName(self.selectingCostume)..self.parent.locale:getLocale("action_wheel.main.action_1.done_last")) + end + if self.selectingName ~= self.parent.nameplate.currentName or self.selectingShouldShowClubName ~= self.parent.nameplate.shouldShowClubName then + pings.actionWheelChangeName(self.selectingName, self.selectingShouldShowClubName) + self.parent.config:saveConfig("PRIVATE", "name", self.selectingName) + self.parent.config:saveConfig("PRIVATE", "showClubName", self.selectingShouldShowClubName) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:ui.cartography_table.take_result"), player:getPos()) + print(self.parent.locale:getLocale("action_wheel.main.action_2.done_first")..self.parent.nameplate:getName(self.selectingName)..self.parent.locale:getLocale("action_wheel.main.action_2.done_last")) + end + if self.selectingExSkillParticleAmount ~= self.parent.exSkill.frameParticleAmount then + self.parent.exSkill.frameParticleAmount = self.selectingExSkillParticleAmount + self.parent.config:saveConfig("PRIVATE", "exSkillFrameParticleAmount", self.selectingExSkillParticleAmount) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.item.pickup"), player:getPos(), 1, 0.5) + print(self.parent.locale:getLocale("action_wheel.main.action_5.done_first")..self.parent.locale:getLocale("action_wheel.main.action_5.option_"..self.selectingExSkillParticleAmount)..self.parent.locale:getLocale("action_wheel.main.action_5.done_last")) + end + end + self.isActionWheelOpenedPrev = isActionWheelOpened + end) + + --アクションの設定 + + --アクション1. 衣装を変更 + self.mainPage:newAction(1):setItem(self.parent.compatibilityUtils:checkItem("minecraft:leather_chestplate")):setOnScroll(function(direction) + if #self.parent.costume.costumeList >= 2 then + if direction < 0 then + self.selectingCostume = self.selectingCostume == #self.parent.costume.costumeList and 1 or self.selectingCostume + 1 + else + self.selectingCostume = self.selectingCostume == 1 and #self.parent.costume.costumeList or self.selectingCostume - 1 + end + self:refreshCostumeChangeActionTitle() + else + print(self.parent.locale:getLocale("action_wheel.main.action_1.unavailable")) + end + end):setOnLeftClick(function() + if #self.parent.costume.costumeList >= 2 then + self.selectingCostume = self.parent.costume.currentCostume + self:refreshCostumeChangeActionTitle() + end + end):setOnRightClick(function() + if #self.parent.costume.costumeList >= 2 then + self.selectingCostume = 1 + self:refreshCostumeChangeActionTitle() + end + end) + + if #self.parent.costume.costumeList >= 2 then + local action = self.mainPage:getAction(1) + action:setColor(0.78, 0.78, 0.78) + action:setHoverColor(1, 1, 1) + else + local action = self.mainPage:getAction(1) + action:setColor(0.16, 0.16, 0.16) + action:setHoverColor(1, 0.33, 0.33) + end + + --アクション2. 表示名の変更 + self.mainPage:newAction(2):setItem(self.parent.compatibilityUtils:checkItem("minecraft:name_tag")):setColor(0.78, 0.78, 0.78):setHoverColor(1, 1, 1):setOnScroll(function(direction) + if direction < 0 then + self.selectingName = self.selectingName == 6 and 1 or self.selectingName + 1 + else + self.selectingName = self.selectingName == 1 and 6 or self.selectingName - 1 + end + self:refreshNameChangeActionTitle() + end):setOnLeftClick(function() + self.selectingShouldShowClubName = not self.selectingShouldShowClubName + self:refreshNameChangeActionTitle() + end):setOnRightClick(function() + self.selectingName = 1 + self.selectingShouldShowClubName = false + self:refreshNameChangeActionTitle() + end) + + --アクション3. 防具の表示 + self.mainPage:newAction(3):setItem(self.parent.compatibilityUtils:checkItem("minecraft:iron_chestplate")):setColor(0.67, 0, 0):setHoverColor(1, 0.33, 0.33):setToggleColor(0, 0.67, 0):setOnToggle(function (_, action) + pings.actionWheelSetArmorVisible(true) + action:setHoverColor(0.33, 1, 0.33) + self.parent.config:saveConfig("PRIVATE", "showArmor", true) + end):setOnUntoggle(function(_, action) + pings.actionWheelSetArmorVisible(false) + action:setHoverColor(1, 0.33, 0.33) + self.parent.config:saveConfig("PRIVATE", "showArmor", false) + end) + if self.parent.config:loadConfig("PRIVATE", "showArmor", false) then + local action = self.mainPage:getAction(3) + action:setToggled(true) + action:setHoverColor(0.33, 1, 0.33) + end + + --アクション4. 一人称視点での武器モデルの表示 + self.mainPage:newAction(4):setItem(self.parent.compatibilityUtils:checkItem("minecraft:bow")):setColor(0.67, 0, 0):setHoverColor(1, 0.33, 0.33):setToggleColor(0, 0.67, 0):setOnToggle(function (_, action) + self.parent.gun.shouldShowWeaponInFirstPerson = true + action:setHoverColor(0.33, 1, 0.33) + self.parent.config:saveConfig("PRIVATE", "firstPersonWeapon", true) + end):setOnUntoggle(function (_, action) + self.parent.gun.shouldShowWeaponInFirstPerson = false + action:setHoverColor(1, 0.33, 0.33) + self.parent.config:saveConfig("PRIVATE", "firstPersonWeapon", false) + end) + if self.parent.config:loadConfig("PRIVATE", "firstPersonWeapon", true) then + local action = self.mainPage:getAction(4) + action:setToggled(true) + action:setHoverColor(0.33, 1, 0.33) + end + + --アクション5. Exスキルフレームのパーティクルの量 + self.mainPage:newAction(5):setItem(self.parent.compatibilityUtils:checkItem("minecraft:glowstone_dust")):setColor(0.78, 0.78, 0.78):setHoverColor(1, 1, 1):setOnScroll(function (direction) + if direction < 0 then + self.selectingExSkillParticleAmount = self.selectingExSkillParticleAmount == 4 and 1 or self.selectingExSkillParticleAmount + 1 + else + self.selectingExSkillParticleAmount = self.selectingExSkillParticleAmount == 1 and 4 or self.selectingExSkillParticleAmount - 1 + end + self:refreshExSkillParticleActionTitle() + end):setOnLeftClick(function () + self.selectingExSkillParticleAmount = self.parent.exSkill.frameParticleAmount + self:refreshExSkillParticleActionTitle() + end):setOnRightClick(function () + self.selectingExSkillParticleAmount = 1 + self:refreshExSkillParticleActionTitle() + end) + + --アクション6. 乗り物モデルの置き換え + self.mainPage:newAction(6):setItem(self.parent.compatibilityUtils:checkItem("minecraft:oak_boat")):setColor(0.67, 0, 0):setHoverColor(1, 0.33, 0.33):setToggleColor(0, 0.67, 0):setOnToggle(function (_, action) + if self.parent.characterData.actionWheel.isVehicleOptionEnabled then + pings.actionWheelSetShouldReplaceVehicleModels(true) + action:setHoverColor(0.33, 1, 0.33) + self.parent.config:saveConfig("PRIVATE", "replaceVehicleModels", true) + else + print(self.parent.locale:getLocale("action_wheel.main.action_6.unavailable")) + action:setToggled(false) + end + end):setOnUntoggle(function (_, action) + pings.actionWheelSetShouldReplaceVehicleModels(false) + action:setHoverColor(1, 0.33, 0.33) + self.parent.config:saveConfig("PRIVATE", "replaceVehicleModels", false) + end) + if not self.parent.characterData.actionWheel.isVehicleOptionEnabled then + local action = self.mainPage:getAction(6) + action:setColor(0.16, 0.16, 0.16) + action:setHoverColor(1, 0.33, 0.33) + self.shouldReplaceVehicleModels = false + elseif self.shouldReplaceVehicleModels then + local action = self.mainPage:getAction(6) + action:setToggled(true) + action:setHoverColor(0.33, 1, 0.33) + end + + --アクション7. アップデートの確認 + self.mainPage:newAction(7):setItem("minecraft:compass"):setOnLeftClick(function () + if not self.parent.updateChecker.checkerStatus ~= "CHECKING" then + self.parent.updateChecker:checkUpdate() + else + print("action_wheel.main.action_7.ongoing") + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + end + if not net:isNetworkingAllowed() or not net:isLinkAllowed("https://api.github.com") then + print(self.parent.locale:getLocale("action_wheel.main.action_7.networking_api")) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + end + end):onRightClick(function () + if self.parent.updateChecker.latestVersion ~= nil then + host:setClipboard("https://github.com/Gakuto1112/FiguraBlueArchiveCharacters/releases/tag/"..self.parent.updateChecker.latestVersion) + print(self.parent.locale:getLocale("action_wheel.main.action_7.copied")) + else + print(self.parent.locale:getLocale("action_wheel.main.action_7.cannot_check_latest")) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + end + end) + + --アクション8. (空欄) + self.mainPage:newAction(8):setColor(0.16, 0.16, 0.16):setHoverColor(0.16, 0.16, 0.16) + + action_wheel:setPage(self.mainPage) + end + end; + + ---衣装変更アクションのタイトルを更新する。 + ---@param self ActionWheel + refreshCostumeChangeActionTitle = function (self) + if #self.parent.costume.costumeList >= 2 then + self.mainPage:getAction(1):setTitle(self.parent.locale:getLocale("action_wheel.main.action_1.title").."§b"..self.parent.costume:getCostumeLocalName(self.selectingCostume)) + else + self.mainPage:getAction(1):setTitle("§7"..self.parent.locale:getLocale("action_wheel.main.action_1.title")..self.parent.costume:getCostumeLocalName(self.selectingCostume)) + end + end; + + ---名前変更アクションのタイトルを更新する。 + ---@param self ActionWheel + refreshNameChangeActionTitle = function (self) + if self.selectingName >= 2 then + if self.selectingShouldShowClubName then + self.mainPage:getAction(2):setTitle(self.parent.locale:getLocale("action_wheel.main.action_2.title").."§b"..self.parent.nameplate:getName(self.selectingName).."\n§r"..self.parent.locale:getLocale("action_wheel.main.action_2.title_2").."§a"..self.parent.locale:getLocale("action_wheel.toggle_on")) + else + self.mainPage:getAction(2):setTitle(self.parent.locale:getLocale("action_wheel.main.action_2.title").."§b"..self.parent.nameplate:getName(self.selectingName).."\n§r"..self.parent.locale:getLocale("action_wheel.main.action_2.title_2").."§c"..self.parent.locale:getLocale("action_wheel.toggle_off")) + end + else + self.mainPage:getAction(2):setTitle(self.parent.locale:getLocale("action_wheel.main.action_2.title").."§b"..self.parent.nameplate:getName(self.selectingName).."\n§7"..self.parent.locale:getLocale("action_wheel.main.action_2.title_2")..self.parent.locale:getLocale("action_wheel.toggle_"..(self.selectingShouldShowClubName and "on" or "off"))) + end + end; + + ---Exスキルアニメーションのパーティクル量調整アクションのタイトルを更新する。 + ---@param self ActionWheel + refreshExSkillParticleActionTitle = function (self) + self.mainPage:getAction(5):title(self.parent.locale:getLocale("action_wheel.main.action_5.title").."§b"..self.parent.locale:getLocale("action_wheel.main.action_5.option_"..self.selectingExSkillParticleAmount)) + end; + + ---アップデート確認アクションの状態を更新する。 + ---@param self ActionWheel + refreshUpdateActionStatus = function (self) + local action = self.mainPage:getAction(7) + local actionTitle = "" + if self.parent.updateChecker.checkerStatus == "CHECKING" then + actionTitle = actionTitle.."§7"..self.parent.locale:getLocale("action_wheel.main.action_7.title_1")..self.parent.locale:getLocale("action_wheel.main.action_7.title_2").."\n" + action:setColor(0.16, 0.16, 0.16) + action:setHoverColor(1, 0.33, 0.33) + else + actionTitle = actionTitle..self.parent.locale:getLocale("action_wheel.main.action_7.title_1").."§b"..self.parent.locale:getLocale("action_wheel.main.action_7.title_2").."\n" + action:setColor(0.78, 0.78, 0.78) + action:setHoverColor(1, 1, 1) + end + if self.parent.updateChecker.latestVersion == nil then + actionTitle = actionTitle.."§7"..self.parent.locale:getLocale("action_wheel.main.action_7.title_3")..self.parent.locale:getLocale("action_wheel.main.action_7.title_4") + else + actionTitle = actionTitle.."§r"..self.parent.locale:getLocale("action_wheel.main.action_7.title_3").."§b"..self.parent.locale:getLocale("action_wheel.main.action_7.title_4") + end + action:setTitle(actionTitle) + end; +} + +---アクションホイールから衣装を変更するトリガー関数 +---@param costumeId integer 新しい衣装のインデックス番号 +function pings.actionWheelChangeCostume(costumeId) + if costumeId >= 2 then + AvatarInstance.costume:setCostume(costumeId) + else + AvatarInstance.costume:resetCostume() + end +end + +---アクションホイールから名前を変更するトリガー関数 +---@param typeId integer 新しい名前の表示形式のインデックス番号 +---@param shouldShowClubName boolean 部活名を表示するかどうか +function pings.actionWheelChangeName(typeId, shouldShowClubName) + AvatarInstance.nameplate:setName(typeId, shouldShowClubName) +end + +---アクションホイールから防具の可視性を変更するトリガー関数 +---@param visible boolean 防具を表示するかどうか +function pings.actionWheelSetArmorVisible(visible) + AvatarInstance.armor.shouldShowArmor = visible +end + +---アクションホイールから乗り物モデルの置き換えを変更するトリガー関数 +---@param enabled boolean 乗り物モデルの置き換えを有効化するかどうか +function pings.actionWheelSetShouldReplaceVehicleModels(enabled) + AvatarInstance.actionWheel.shouldReplaceVehicleModels = enabled +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/action_wheel/action_wheel_gui.lua b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/action_wheel/action_wheel_gui.lua new file mode 100644 index 0000000..18f89b7 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/action_wheel/action_wheel_gui.lua @@ -0,0 +1,113 @@ +---@class ActionWheelGui : AvatarModule アクションホイールに表示する追加のGUIを管理するクラス +---@field package isActionWheelOpenedPrev boolean 前ティックにアクションホイールを開けていたかどうか + +ActionWheelGui = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ActionWheelGui + new = function (parent) + ---@type ActionWheelGui + local instance = Avatar.instantiate(ActionWheelGui, AvatarModule, parent) + + instance.isActionWheelOpenedPrev = false + + return instance + end; + + ---初期化関数 + ---@param self ActionWheelGui + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + events.TICK:register(function () + local isActionWheelOpened = action_wheel:isEnabled() + if isActionWheelOpened and not self.isActionWheelOpenedPrev then + models.models.action_wheel_gui.Gui:setVisible(true) + + local windowSize = client:getScaledWindowSize() + models.models.action_wheel_gui.Gui.BubbleGuide:setPos(windowSize.x * -0.5 + 44, windowSize.y * -0.5 + 5, 0) + models.models.action_wheel_gui.Gui.ExSkillGuide:setPos(windowSize.x * -0.5 + 57, -21, 0) + models.models.action_wheel_gui.Gui.VersionDisplay:setPos(-0.75, -0.5, 0) + + local bubbleGuideTextTasks = {models.models.action_wheel_gui.Gui.BubbleGuide:getTask("action_wheel.gui.bubble_guide.title"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.GoodEmoji:getTask("bubble_guide.bubble_1.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.HeartEmoji:getTask("bubble_guide.bubble_2.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.NoteEmoji:getTask("bubble_guide.bubble_3.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.QuestionEmoji:getTask("bubble_guide.bubble_4.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.SweatEmoji:getTask("bubble_guide.bubble_5.key_name")} + bubbleGuideTextTasks[1]:setText(self.parent.locale:getLocale("action_wheel.gui.bubble_guide.title")) + for i = 2, #bubbleGuideTextTasks do + bubbleGuideTextTasks[i]:setText("§0"..self.parent.keyManager.keyMappings["bubble_"..(i - 1)]:getKeyName()) + end + + local bubbleGuideTitleWidth = client.getTextWidth(bubbleGuideTextTasks[1]:getText()) / 2 + 4 + local bubbleGuideBodyWidth = 0 + for i = 2, #bubbleGuideTextTasks do + bubbleGuideBodyWidth = math.max(bubbleGuideBodyWidth, client.getTextWidth(bubbleGuideTextTasks[i]:getText()) * 0.5) + end + local bubbleGuideWidth = math.max(bubbleGuideTitleWidth + 6, bubbleGuideBodyWidth + 22) + bubbleGuideWidth = math.max(bubbleGuideWidth, 39) + + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.TitleBar:setPos((bubbleGuideWidth - bubbleGuideTitleWidth) / 2, 0, 0) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.TitleBar:setScale(bubbleGuideTitleWidth, 1, 1) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.TitleCenter:setScale(bubbleGuideWidth - 25, 1, 1) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.TitleLeft:setPos(bubbleGuideWidth - 26, 0, 0) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.BodyTop:setScale(bubbleGuideWidth, 1, 1) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.BodyBottomCenter:setScale(bubbleGuideWidth - 39, 1, 1) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.BodyBottomLeft:setPos(bubbleGuideWidth - 40, 0, 0) + models.models.action_wheel_gui.Gui.BubbleGuide.Emojis:setPos((bubbleGuideWidth - (bubbleGuideBodyWidth + 22)) / 2 + bubbleGuideBodyWidth + 9, 0, 0) + bubbleGuideTextTasks[1]:setPos(bubbleGuideWidth / 2, 0, 0) + for i = 2, #bubbleGuideTextTasks do + bubbleGuideTextTasks[i]:setPos(bubbleGuideBodyWidth / -2 - 4, 1.5, 0) + end + + local exSkillGuideTextTasks = {models.models.action_wheel_gui.Gui.ExSkillGuide:getTask("action_wheel.gui.ex_skill_guide.title"), models.models.action_wheel_gui.Gui.ExSkillGuide:getTask("action_wheel.gui.ex_skill_guide.body_1"), models.models.action_wheel_gui.Gui.ExSkillGuide:getTask("action_wheel.gui.ex_skill_guide.body_2")} + exSkillGuideTextTasks[1]:setText(self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.title")) + exSkillGuideTextTasks[2]:setText(self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill == nil and "§0§l\""..self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.ex_skill_"..self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].exSkill..".name").."\"" or "§0§l\""..self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.ex_skill_"..self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].exSkill..".name").."\"§r§0 - \""..self.parent.keyManager.keyMappings.ex_skill:getKeyName().."\"") + exSkillGuideTextTasks[3]:setText(self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill == nil and "§0"..self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.key_pre")..self.parent.keyManager.keyMappings.ex_skill:getKeyName()..self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.key_post") or "§0§l\""..self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.ex_skill_"..self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill..".name").."\"§r§0 - \""..self.parent.keyManager.keyMappings.ex_skill_sub:getKeyName().."\"") + + local exSkillGuideTitleWidth = client.getTextWidth(exSkillGuideTextTasks[1]:getText()) / 2 + 4 + local exSkillGuideWidth = exSkillGuideTitleWidth + for i = 2, #exSkillGuideTextTasks do + exSkillGuideWidth = math.max(exSkillGuideWidth, client.getTextWidth(exSkillGuideTextTasks[i]:getText()) / 2 + 10) + end + exSkillGuideWidth = math.max(exSkillGuideWidth, 39) + + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.TitleBar:setPos((exSkillGuideWidth - exSkillGuideTitleWidth) / 2, 0, 0) + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.TitleBar:setScale(exSkillGuideTitleWidth, 1, 1) + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.TitleCenter:setScale(exSkillGuideWidth - 25, 1, 1) + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.TitleLeft:setPos(exSkillGuideWidth - 26, 0, 0) + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.BodyBottomCenter:setScale(exSkillGuideWidth - 39, 1, 1) + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.BodyBottomLeft:setPos(exSkillGuideWidth - 40, 0, 0) + exSkillGuideTextTasks[1]:setPos(exSkillGuideWidth / 2, 0, 0) + for i = 2, #exSkillGuideTextTasks do + exSkillGuideTextTasks[i]:setPos(exSkillGuideWidth / 2, (i - 2) * -5 - 8) + end + + local versionDisplayTextTasks = {} + for i = 1, 3 do + table.insert(versionDisplayTextTasks, models.models.action_wheel_gui.Gui.VersionDisplay:getTask("action_wheel.gui.version_display.l"..i)) + end + + for i = 2, 3 do + versionDisplayTextTasks[i]:setPos(0, (i - 1) * -2.25, 0) + end + + elseif not isActionWheelOpened and self.isActionWheelOpenedPrev then + models.models.action_wheel_gui.Gui:setVisible(false) + end + self.isActionWheelOpenedPrev = isActionWheelOpened + end) + + models.models.action_wheel_gui.Gui:setScale(2, 2, 2) + for _, textTask in ipairs({models.models.action_wheel_gui.Gui.BubbleGuide:newText("action_wheel.gui.bubble_guide.title"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.GoodEmoji:newText("bubble_guide.bubble_1.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.HeartEmoji:newText("bubble_guide.bubble_2.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.NoteEmoji:newText("bubble_guide.bubble_3.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.QuestionEmoji:newText("bubble_guide.bubble_4.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.SweatEmoji:newText("bubble_guide.bubble_5.key_name"), models.models.action_wheel_gui.Gui.ExSkillGuide:newText("action_wheel.gui.ex_skill_guide.title"), models.models.action_wheel_gui.Gui.ExSkillGuide:newText("action_wheel.gui.ex_skill_guide.body_1"), models.models.action_wheel_gui.Gui.ExSkillGuide:newText("action_wheel.gui.ex_skill_guide.body_2")}) do + textTask:setScale(0.5, 0.5, 0.5) + textTask:setAlignment("CENTER") + end + for i = 1, 3 do + local textTask = models.models.action_wheel_gui.Gui.VersionDisplay:newText("action_wheel.gui.version_display.l"..i) + textTask:setScale(0.25, 0.25, 0.25) + textTask:setShadow(true) + if i == 1 then + textTask:setText("Figura Blue Archive Characters (FBAC)") + end + end + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/action_wheel/update_checker.lua b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/action_wheel/update_checker.lua new file mode 100644 index 0000000..b970690 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/action_wheel/update_checker.lua @@ -0,0 +1,181 @@ +---@alias UpdateChecker.CheckerStatus +---| "INIT" # 初期状態 +---| "CHECKING" # アップデート確認中 +---| "LATEST" # アップデート確認済み:最新版 +---| "UPDATE_AVAILABLE" # アップデート確認済み:アップデートあり +---| "ERROR_INVALID_JSON" # エラー:予期しないJSONデータ +---| "ERROR_INVALID_JSON_SYNTAX" # エラー:不正なJSON構文 +---| "ERROR_REQUEST_FAILED" # リクエストに失敗 +---| "ERROR_NETWORK_ERR" # ネットワークエラー +---| "ERROR_NOT_ALLOWED" # ネットワーキングAPIが不許可 + +---@class (exact) UpdateChecker : AvatarModule FBACのアップデートの確認を管理するクラス +---@field package FBAC_VERSION string 現在のFBACバージョン +---@field package BRANCH_NAME string このブランチ名(キャラクター名) +---@field public latestVersion? string リモート上にある最新のFBACバージョン +---@field public checkerStatus UpdateChecker.CheckerStatus アップデートチェッカーの状態 +---@field package requestStatus integer 送信したリクエストのステータスコード +---@field package responseHandler Future.HttpResponse|nil httpレスポンスのハンドラ +---@field package textAnimationCount integer 新しいバージョン表示のテキストのアニメーションのカウンター +---@field package isActionWheelOpenedPrev boolean 前ティックにアクションホイールを開けていたかどうか +---@field package compareVersions fun(version1: string, version2: string): string|nil 2つのバージョン文字列を比較し、新しい方を返す +---@field package showNewUpdateMessage fun(self: UpdateChecker) 新FBACバージョンのお知らせを表示する +---@field public checkUpdate fun(self: UpdateChecker) FBACアップデートの確認を行う + +UpdateChecker = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return UpdateChecker + new = function (parent) + ---@type UpdateChecker + local instance = Avatar.instantiate(UpdateChecker, AvatarModule, parent) + + instance.FBAC_VERSION = "v2.1.2" + instance.BRANCH_NAME = "Momoi" + instance.latestVersion = instance.parent.config:loadConfig("PUBLIC", "latestVersion", nil) + instance.checkerStatus = "INIT" + instance.requestStatus = 0 + instance.textAnimationCount = 0 + + return instance + end; + + ---初期化関数 + ---@param self UpdateChecker + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + models.models.action_wheel_gui.Gui.VersionDisplay:getTask("action_wheel.gui.version_display.l2"):setText(self.FBAC_VERSION.." - "..self.BRANCH_NAME) + + events.TICK:register(function () + local isActionWheelOpened = action_wheel:isEnabled() + if isActionWheelOpened then + local textTask = models.models.action_wheel_gui.Gui.VersionDisplay:getTask("action_wheel.gui.version_display.l3") + if self.checkerStatus == "UPDATE_AVAILABLE" then + if math.floor(self.textAnimationCount / 20) % 2 == 0 then + textTask:setText("§6§n"..self.parent.locale:getLocale("action_wheel.gui.update_check.update_available")..self.latestVersion) + else + textTask:setText("§n"..self.parent.locale:getLocale("action_wheel.gui.update_check.update_available")..self.latestVersion) + end + self.textAnimationCount = self.textAnimationCount + 1 + elseif self.checkerStatus == "ERROR_REQUEST_FAILED" then + textTask:setText(self.parent.locale:getLocale("action_wheel.gui.update_check.error_request_failed").."("..self.requestStatus..")") + else + textTask:setText(self.parent.locale:getLocale("action_wheel.gui.update_check."..self.checkerStatus:lower())) + end + elseif not isActionWheelOpened and self.isActionWheelOpenedPrev then + self.textAnimationCount = 0 + end + self.isActionWheelOpenedPrev = isActionWheelOpened + end) + + local lastUpdateCheckTime = self.parent.config:loadConfig("PUBLIC", "lastUpdateCheckTime", 0) + if client:getSystemTime() >= lastUpdateCheckTime + 86400000 then + self:checkUpdate() + else + local newerVersion = self.compareVersions(self.latestVersion, self.FBAC_VERSION) + if newerVersion ~= nil and newerVersion ~= self.FBAC_VERSION then + self:showNewUpdateMessage() + self.checkerStatus = "UPDATE_AVAILABLE" + else + self.checkerStatus = "LATEST" + end + end + end + end; + + ---2つのバージョン文字列を比較し、新しい方を返す。 + ---@param version1 string 比較するバージョン文字列1 + ---@param version2 string 比較するバージョン文字列2 + ---@return string|nil newerVersion 新しい方のバージョン文字列。比較不可能だった場合はnilを返す。 + compareVersions = function (version1, version2) + local major1, minor1, patch1 = version1:match("^v(%d+)%.(%d+)%.(%d+)") + local major2, minor2, patch2 = version2:match("^v(%d+)%.(%d+)%.(%d+)") + major1 = tonumber(major1) + minor1 = tonumber(minor1) + patch1 = tonumber(patch1) + major2 = tonumber(major2) + minor2 = tonumber(minor2) + patch2 = tonumber(patch2) + if major1 ~= nil and minor1 ~= nil and patch1 ~= nil and major2 ~= nil and minor2 ~= nil and patch2 ~= nil then + return (major1 > major2 or (major1 == major2 and minor1 > minor2) or (major1 == major2 and minor1 == minor2 and patch1 > patch2)) and version1 or version2 + end + end; + + ---新FBACバージョンのお知らせを表示する。 + ---@param self UpdateChecker + showNewUpdateMessage = function (self) + print(self.parent.locale:getLocale("action_wheel.gui.update_check.update_available")..self.latestVersion) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.experience_orb.pickup"), player:getPos(), 1, 1) + end; + + ---FBACアップデートの確認を行う。 + ---@param self UpdateChecker + checkUpdate = function (self) + if host:isHost() and self.checkerStatus ~= "CHECKING" then + self.checkerStatus = "CHECKING" + if net:isNetworkingAllowed() and net:isLinkAllowed("https://api.github.com") then + local request = net.http:request("https://api.github.com/repos/Gakuto1112/FiguraBlueArchiveCharacters/tags") + self.responseHandler = request:send() + events.TICK:register(function () + if self.responseHandler:isDone() then + local response = self.responseHandler:getValue() + if response ~= nil then + local stats = response:getResponseCode() + if math.floor(stats / 100) == 2 then + local stream = response:getData() + local buffer = data:createBuffer() + buffer:readFromStream(stream) + buffer:setPosition(0) + local jsonData = buffer:readByteArray() + if json.isSerializable(jsonData) then + local parseData = parseJson(jsonData) + if parseData[1] ~= nil and parseData[1].name ~= nil then + local newerVersion = self.compareVersions(parseData[1].name, self.FBAC_VERSION) + if newerVersion ~= nil then + if newerVersion ~= self.FBAC_VERSION then + --新しいバージョンがある + self.latestVersion = parseData[1].name + self.checkerStatus = "UPDATE_AVAILABLE" + self:showNewUpdateMessage() + else + --現在は最新 + self.latestVersion = parseData[1].name + self.checkerStatus = "LATEST" + end + self.parent.config:saveConfig("PUBLIC", "lastUpdateCheckTime", client:getSystemTime()) + self.parent.config:saveConfig("PUBLIC", "latestVersion", parseData[1].name) + else + --予期しないJSONデータ + self.checkerStatus = "ERROR_INVALID_JSON" + end + else + --予期しないJSONデータ + self.checkerStatus = "ERROR_INVALID_JSON" + end + else + --JSON解析エラー + self.checkerStatus = "ERROR_INVALID_JSON_SYNTAX" + end + stream:close() + buffer:close() + else + --ステータスコードが200番台以外 + self.checkerStatus = "ERROR_REQUEST_FAILED" + self.requestStatus = stats + end + else + --ネットワークエラー + self.checkerStatus = "ERROR_NETWORK_ERR" + end + events.TICK:remove("update_checker_http_tick") + end + end, "update_checker_http_tick") + else + ---ネットワーキングAPIが不許可 + self.checkerStatus = "ERROR_NOT_ALLOWED" + end + end + end; +} diff --git a/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/armor.lua b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/armor.lua new file mode 100644 index 0000000..7c22696 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/armor.lua @@ -0,0 +1,364 @@ +---防具の部位 +---@alias Armor.ArmorPart +---| "HELMET" # ヘルメット +---| "CHEST_PLATE" # チェストプレート +---| "LEGGINGS" # レギンス +---| "BOOTS" # ブーツ + +---@class (exact) Armor : AvatarModule 防具の表示を制御するクラス +---@field public shouldShowArmor boolean 防具を表示するかどうか +---@field public armorSlotItems ItemStack[] 現ティックの防具スロットのアイテム +---@field package armorSlotItemsPrev ItemStack[] 前ティックの防具スロットのアイテム +---@field public isArmorVisible Armor.VisiblePartsSet 各防具の部位(ヘルメット、チェストプレート、レギンス、ブーツ)が可視状態かどうか +---@field package textureQueue Armor.TextureQueueData[] テクスチャ処理のキュー +---@field package getArmorColor fun(armorItem: ItemStack): number 防具の色を取得する +---@field package compareTrims fun(trim1?: Armor.TrimData, trim2?: Armor.TrimData): boolean 防具装飾が同じものか比較する +---@field package addTextureQueue fun(self: Armor, texture: Texture, paletteName: string) テクスチャの処理のキューにデータを挿入する +---@field package getTrimTexture fun(self: Armor, trimData?: Armor.TrimData, armorId: string): Texture|nil バニラパーツの防具装飾のテクスチャを取得する。テクスチャの処理は次のチック以降行われる。 +---@field public setHelmet fun(self: Armor, helmetItem: ItemStack) ヘルメットを更新する +---@field public setChestplate fun(self: Armor, chestplateItem: ItemStack) チェストプレートを更新する +---@field public setLeggings fun(self: Armor, leggingsItem: ItemStack) レギンスを更新する +---@field public setBoots fun(self: Armor, bootsItem: ItemStack) ブーツを更新する + +---@class (exact) Armor.VisiblePartsSet 各防具の部位の可視状態のセット +---@field public helmet boolean ヘルメット +---@field public chestplate boolean チェストプレート +---@field public leggings boolean レギンス +---@field public boots boolean ブーツ + +---@class (exact) Armor.TextureQueueData テクスチャキューに入るデータの構造体 +---@field public texture Texture 処理対象のテクスチャ +---@field public palette Texture 処理に使用するパレットのテクスチャ +---@field public iterationCount integer 現在の繰り返しカウンター + +---@class (exact) Armor.TrimData 防具装飾のデータセット +---@field public pattern string 防具装飾の模様 +---@field public material string 防具装飾の素材 + +Armor = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Armor + new = function (parent) + ---@type Armor + local instance = Avatar.instantiate(Armor, AvatarModule, parent) + instance.shouldShowArmor = instance.parent.config:loadConfig("PRIVATE", "showArmor", false) + instance.armorSlotItems = {world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air"))} + instance.armorSlotItemsPrev = {world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air"))} + instance.isArmorVisible = { + helmet = false; + chestplate = false; + leggings = false; + boots = false; + } + instance.textureQueue = {} + + return instance + end; + + ---初期化関数 + ---@param self Armor + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + self.armorSlotItems = self.shouldShowArmor and {player:getItem(6), player:getItem(5), player:getItem(4), player:getItem(3)} or {world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))} + if self.armorSlotItems[1].id ~= self.armorSlotItemsPrev[1].id then + self:setHelmet(self.armorSlotItems[1]) + end + if self.armorSlotItems[2].id ~= self.armorSlotItemsPrev[2].id then + self:setChestplate(self.armorSlotItems[2]) + end + if self.armorSlotItems[3].id ~= self.armorSlotItemsPrev[3].id then + self:setLeggings(self.armorSlotItems[3]) + end + if self.armorSlotItems[4].id ~= self.armorSlotItemsPrev[4].id then + self:setBoots(self.armorSlotItems[4]) + end + + for index, armorSlotItem in ipairs(self.armorSlotItems) do + local glint = armorSlotItem:hasGlint() + if glint ~= self.armorSlotItemsPrev[index]:hasGlint() then + --エンチャント変更 + local renderType = glint and "GLINT" or "NONE" + if index == 2 then + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom}) do + armorPart:setSecondaryRenderType(renderType) + end + elseif index == 3 then + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom}) do + armorPart:setSecondaryRenderType(renderType) + end + else + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom}) do + armorPart:setSecondaryRenderType(renderType) + end + end + end + local armorColor = self.getArmorColor(armorSlotItem) + if armorColor ~= self.getArmorColor(self.armorSlotItemsPrev[index]) then + --色変更 + local colorVector = vectors.intToRGB(armorColor) + if index == 2 then + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplate, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottom, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplate, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottom}) do + armorPart:setColor(colorVector) + end + elseif index == 3 then + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggings, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggings, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottom}) do + armorPart:setColor(colorVector) + end + else + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBoots, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBoots, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottom}) do + armorPart:setColor(colorVector) + end + end + end + local trim = self.armorSlotItems[index].tag.Trim + if not self.compareTrims(trim, self.armorSlotItemsPrev[index].tag.Trim) then + --トリム変更 + if index == 2 then + local trimTexture = self:getTrimTexture(trim, self.armorSlotItems[2].id) + if trimTexture then + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplateTrim, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottomTrim, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplateTrim, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottomTrim}) do + armorPart:setVisible(true) + armorPart:setPrimaryTexture("CUSTOM", trimTexture) + end + else + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplateTrim, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottomTrim, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplateTrim, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottomTrim}) do + armorPart:setVisible(false) + end + end + elseif index == 3 then + local trimTexture = self:getTrimTexture(trim, self.armorSlotItems[3].id) + if trimTexture then + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggingsTrim, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottomTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggingsTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottomTrim}) do + armorPart:setVisible(true) + armorPart:setPrimaryTexture("CUSTOM", trimTexture) + end + else + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggingsTrim, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottomTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggingsTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottomTrim}) do + armorPart:setVisible(false) + end + end + else + local trimTexture = self:getTrimTexture(trim, self.armorSlotItems[4].id) + if trimTexture then + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBootsTrim, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottomTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBootsTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottomTrim}) do + armorPart:setVisible(true) + armorPart:setPrimaryTexture("CUSTOM", trimTexture) + end + else + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBootsTrim, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottomTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBootsTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottomTrim}) do + armorPart:setVisible(false) + end + end + end + end + end + --テクスチャの作成処理 + if #self.textureQueue > 0 then + local instructionsAvailable = avatar:getMaxTickCount() - 3000 --このTICKで使用出来る残りの命令数 + while #self.textureQueue > 0 and instructionsAvailable > 0 do + local dimension = self.textureQueue[1].texture:getDimensions() + for y = math.floor(self.textureQueue[1].iterationCount / dimension.x), dimension.y - 1 do + for x = self.textureQueue[1].iterationCount % dimension.x, dimension.x - 1 do + local pixel = self.textureQueue[1].texture:getPixel(x, y) + if pixel.w == 1 then + self.textureQueue[1].texture:setPixel(x, y, self.textureQueue[1].palette:getPixel(7 - math.floor(pixel.x * 8), 0)) + end + self.textureQueue[1].iterationCount = self.textureQueue[1].iterationCount + 1 + instructionsAvailable = instructionsAvailable - 45 + if instructionsAvailable <= 0 then + break + end + end + if instructionsAvailable <= 0 then + break + end + end + self.textureQueue[1].texture:update() + if self.textureQueue[1].iterationCount == dimension.x * dimension.y then + table.remove(self.textureQueue, 1) + end + end + end + self.armorSlotItemsPrev = self.armorSlotItems + end) + + for _, vanillaModel in ipairs({vanilla_model.HELMET, vanilla_model.CHESTPLATE, vanilla_model.LEGGINGS}) do + vanillaModel:setVisible(false) + end + for _, overlayPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottomOverlay, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottomOverlay, models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBootsOverlay, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottomOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBootsOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottomOverlay}) do + overlayPart:setPrimaryTexture("RESOURCE", "minecraft:textures/models/armor/leather_layer_1_overlay.png") + end + for _, overlayPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggingsOverlay, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottomOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggingsOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottomOverlay}) do + overlayPart:setPrimaryTexture("RESOURCE", "minecraft:textures/models/armor/leather_layer_2_overlay.png") + end + end; + + ---防具の色を取得する。 + ---@param armorItem ItemStack 調べるアイテムのオブジェクト + ---@return number color 防具モデルに設定すべき色 + getArmorColor = function (armorItem) + if armorItem.id:find("^minecraft:leather_") then + if armorItem.tag then + if armorItem.tag.display then + return armorItem.tag.display.color and armorItem.tag.display.color or 10511680 + else + return 10511680 + end + else + return 10511680 + end + else + return 16777215 + end + end; + + ---防具装飾が同じものか比較する。 + ---@param trim1? Armor.TrimData 比較する防具装飾のテーブル1 + ---@param trim2? Armor.TrimData 比較する防具装飾のテーブル2 + ---@return boolean isTrimSame 2つの防具装飾が同じものかどうか + compareTrims = function (trim1, trim2) + if type(trim1) == type(trim2) then + if trim1 then + if trim1.pattern ~= trim2.pattern then + return false + elseif trim1.material ~= trim2.material then + return false + else + return true + end + else + return true + end + else + return false + end + end; + + ---テクスチャの処理のキューにデータを挿入する。 + ---@param self Armor + ---@param texture Texture 処理を行うテクスチャ + ---@param paletteName string 使用するパレットの名前 + addTextureQueue = function (self, texture, paletteName) + if textures["trim_palette_"..paletteName] == nil then + textures:fromVanilla("trim_palette_"..paletteName, "minecraft:textures/trims/color_palettes/"..paletteName..".png") + end + table.insert(self.textureQueue, 1, { + texture = texture, + palette = textures["trim_palette_"..paletteName], + iterationCount = 0 + }) + end; + + ---バニラパーツの防具装飾のテクスチャを取得する。テクスチャの処理は次のチック以降行われる。 + ---@param self Armor + ---@param trimData? Armor.TrimData 防具装飾のデータ + ---@param armorId string 防具アイテムのID。 + ---@return Texture|nil trimTexture 色を付けた防具装飾のテクスチャ。防具や防具装飾が非バニラの場合はnilを返す。 + getTrimTexture = function (self, trimData, armorId) + if trimData and trimData.pattern:find("^minecraft:.+$") and trimData.material:find("^minecraft:.+$") and armorId:find("^minecraft:.+_.+$") then + local normalizedPatternName = trimData.pattern:match("^minecraft:(%a+)$") + local normalizedArmorMaterialName = armorId:match("^minecraft:(%a+)_.+$") + normalizedArmorMaterialName = normalizedArmorMaterialName == "golden" and "gold" or normalizedArmorMaterialName + local normalizedMaterialName = trimData.material:match("^minecraft:(%a+)$") + normalizedMaterialName = normalizedMaterialName..(normalizedArmorMaterialName == normalizedMaterialName and "_darker" or "") + local isLeggings = armorId:find("^minecraft:.+_leggings$") + local textureName = "trim_"..normalizedPatternName.."_"..normalizedMaterialName..(isLeggings and "_leggings" or "") + if textures[textureName] then + return textures[textureName] + else + local texture = textures:fromVanilla(textureName, "minecraft:textures/trims/models/armor/"..normalizedPatternName..(armorId:find("^minecraft:.+_leggings$") ~= nil and "_leggings" or "")..".png") + self:addTextureQueue(texture, normalizedMaterialName) + return texture + end + end + end; + + ---ヘルメットを更新する。 + ---@param self Armor + ---@param helmetItem ItemStack ヘルメットのスロットに入っているアイテム + setHelmet = function (self, helmetItem) + local helmetFound = helmetItem.id ~= "minecraft:air" + vanilla_model.HELMET:setVisible(helmetFound) + self.isArmorVisible.helmet = helmetFound + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onArmorChange ~= nil then + self.parent.characterData.costume.callbacks.onArmorChange(self.parent.characterData, "HELMET", self.isArmorVisible.helmet) + end + end; + + ---チェストプレートを更新する。 + ---@param self Armor + ---@param chestplateItem ItemStack チェストプレートスロットに入っているアイテム + setChestplate = function (self, chestplateItem) + local chestplateFound = chestplateItem.id:find("^minecraft:.+_chestplate$") ~= nil + vanilla_model.CHESTPLATE:setVisible(chestplateFound) + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB}) do + armorPart:setVisible(chestplateFound) + end + self.isArmorVisible.chestplate = chestplateFound + if self.isArmorVisible.chestplate then + local material = chestplateItem.id:match("^minecraft:(%a+)_chestplate$") + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplate, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottom, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplate, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottom}) do + armorPart:setPrimaryTexture("RESOURCE", "minecraft:textures/models/armor/"..(material == "golden" and "gold" or material).."_layer_1.png") + end + end + local overlayVisible = chestplateItem.id == "minecraft:leather_chestplate" + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottomOverlay, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottomOverlay}) do + armorPart:setVisible(overlayVisible) + end + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onArmorChange ~= nil then + self.parent.characterData.costume.callbacks.onArmorChange(self.parent.characterData, "CHEST_PLATE", self.isArmorVisible.chestplate) + end + end; + + ---レギンスを更新する。 + ---@param self Armor + ---@param leggingsItem ItemStack レギンススロットに入っているアイテム + setLeggings = function (self, leggingsItem) + local leggingsFound = leggingsItem.id:find("^minecraft:.+_leggings$") ~= nil + vanilla_model.LEGGINGS:setVisible(leggingsFound) + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom}) do + armorPart:setVisible(leggingsFound) + end + self.isArmorVisible.leggings = leggingsFound + if self.isArmorVisible.leggings then + local material = leggingsItem.id:match("^minecraft:(%a+)_leggings$") + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggings, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggings, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottom}) do + armorPart:setPrimaryTexture("RESOURCE", "minecraft:textures/models/armor/"..(material == "golden" and "gold" or material).."_layer_2.png") + end + end + local overlayVisible = leggingsItem.id == "minecraft:leather_leggings" + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggingsOverlay, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottomOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggingsOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottomOverlay}) do + armorPart:setVisible(overlayVisible) + end + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onArmorChange ~= nil then + self.parent.characterData.costume.callbacks.onArmorChange(self.parent.characterData, "LEGGINGS", self.isArmorVisible.leggings) + end + end; + + ---ブーツを更新する。 + ---@param self Armor + ---@param bootsItem ItemStack ブーツスロットに入っているアイテム + setBoots = function (self, bootsItem) + local bootsFound = bootsItem.id:find("^minecraft:.+_boots$") ~= nil + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom}) do + armorPart:setVisible(bootsFound) + end + self.isArmorVisible.boots = bootsFound + if self.isArmorVisible.boots then + local material = bootsItem.id:match("^minecraft:(%a+)_boots$") + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBoots, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBoots, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottom}) do + armorPart:setPrimaryTexture("RESOURCE", "minecraft:textures/models/armor/"..(material == "golden" and "gold" or material).."_layer_1.png") + end + end + local overlayVisible = bootsItem.id == "minecraft:leather_boots" + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBootsOverlay, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottomOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBootsOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottomOverlay}) do + armorPart:setVisible(overlayVisible) + end + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onArmorChange ~= nil then + self.parent.characterData.costume.callbacks.onArmorChange(self.parent.characterData, "BOOTS", self.isArmorVisible.boots) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/arms.lua b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/arms.lua new file mode 100644 index 0000000..27ef260 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/arms.lua @@ -0,0 +1,192 @@ +---@class (exact) Arms : AvatarModule アバターの腕を制御するクラス +---@field public armState Arms.ArmStateSet 腕の状態:0. バニラ状態, 1. 銃を構えている際の、銃を構えている方の腕, 2. 銃を構えている際の、銃を構えていない方の腕, 3. クロスボウ装填中 +---@field package armStatePrev Arms.ArmStateSet 前ティックの腕の状態 +---@field package swingCount integer 腕をプラプラさせるカウンター +---@field package isSwingCountProcessed boolean 腕プラプラカウンターを処理したかどうか +---@field package processArmWingCount fun(self: Arms) 腕プラプラカウンターを処理する +---@field public setArmState fun(self: Arms, right?: integer, left?: integer) 腕の状態を設定する + +---@class (exact) Arms.ArmStateSet 腕の状態を示すデータセット +---@field public right integer 右腕の状態 +---@field public left integer 左腕の状態 + +Arms = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Arms + new = function (parent) + ---@type Arms + local instance = Avatar.instantiate(Arms, AvatarModule, parent) + + instance.armState = { + right = 0; + left = 0; + } + instance.armStatePrev = { + right = 0; + left = 0; + } + instance.swingCount = 0 + instance.isSwingCountProcessed = false + + return instance + end; + + ---初期化関数 + ---@param self Arms + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + self.isSwingCountProcessed = false + end) + end; + + ---腕プラプラカウンターを処理する。 + ---@param self Arms + processArmWingCount = function (self) + if not client:isPaused() and not self.isSwingCountProcessed then + self.swingCount = self.swingCount + 1 + self.swingCount = self.swingCount == 100 and 0 or self.swingCount + self.isSwingCountProcessed = true + end + end; + + ---腕の状態を設定する。 + ---@param self Arms + ---@param right? integer 右腕の状態 + ---@param left? integer 左腕の状態 + setArmState = function (self, right, left) + if right ~= nil then + self.armState.right = right + end + if left ~= nil then + self.armState.left = left + end + if (self.armState.right == 1 or self.armState.left == 1) and player:getActiveItem().id == "minecraft:crossbow" then + self:setArmState(3, 3) + return + end + if self.parent.characterData.arms.callbacks ~= nil and self.parent.characterData.arms.callbacks.onArmStateChanged ~= nil then + local result = self.parent.characterData.arms.callbacks.onArmStateChanged(self.parent.characterData, self.armState.right, self.armState.left) + if result ~= nil then + if result.right ~= nil then + self.armState.right = result.right + end + if result.left ~= nil then + self.armState.left = result.left + end + end + end + + --右腕の操作 + if self.armState.right ~= self.armStatePrev.right then + --腕の状態をリセット + models.models.main.Avatar.UpperBody.Arms.RightArm:setRot() + models.models.main.Avatar.UpperBody.Arms.RightArm:setParentType("RightArm") + events.TICK:remove("right_arm_tick") + events.RENDER:remove("right_arm_render") + if self.armState.right == 1 then + --銃を構えている際の、銃を構えている方の腕 + events.TICK:register(function () + if self.armState.right == 1 then + self:processArmWingCount() + if player:isSwingingArm() and not player:isLeftHanded() then + models.models.main.Avatar.UpperBody.Arms.RightArm:setParentType("RightArm") + else + models.models.main.Avatar.UpperBody.Arms.RightArm:setParentType("Body") + end + if player:getActiveItem().id == "minecraft:crossbow" then + self:setArmState(3, 3) + end + end + end, "right_arm_tick") + events.RENDER:register(function (delta) + local headRot = vanilla_model.HEAD:getOriginRot() + models.models.main.Avatar.UpperBody.Arms.RightArm:setRot(player:isSwingingArm() and not player:isLeftHanded() and vectors.vec3() or vectors.vec3(headRot.x + math.sin((self.swingCount + delta) / 100 * math.pi * 2) * 2.5 + 90 + (player:isCrouching() and 30 or 0), headRot.y, 0)) + end, "right_arm_render") + elseif self.armState.right == 2 then + --銃を構えている際の、銃を構えていない方の腕 + events.TICK:register(function () + self:processArmWingCount() + end, "right_arm_tick") + events.RENDER:register(function (delta, context) + local headRot = vanilla_model.HEAD:getOriginRot() + local isSwingingArm = player:isSwingingArm() and not player:isLeftHanded() + models.models.main.Avatar.UpperBody.Arms.RightArm:setParentType((isSwingingArm or context == "FIRST_PERSON") and "RightArm" or "Body") + models.models.main.Avatar.UpperBody.Arms.RightArm:setRot(isSwingingArm and vectors.vec3() or vectors.vec3(headRot.x + math.sin((self.swingCount + delta) / 100 * math.pi * 2) * 2.5 + 90 + (player:isCrouching() and 30 or 0), math.map((headRot.y + 180) % 360 - 180, -50, 50, -21, 78), 0)) + end, "right_arm_render") + elseif self.armState.right == 3 then + --クロスボウ装填中 + events.TICK:register(function () + if player:getActiveItem().id ~= "minecraft:crossbow" and self.armState.right == 3 then + if self.parent.gun.currentGunPosition == "RIGHT" then + self:setArmState(1, 2) + elseif self.parent.gun.currentGunPosition == "LEFT" then + self:setArmState(2, 1) + end + end + end, "right_arm_tick") + end + if self.parent.characterData.arms.callbacks ~= nil and self.parent.characterData.arms.callbacks.onAdditionalRightArmProcess ~= nil then + self.parent.characterData.arms.callbacks.onAdditionalRightArmProcess(self.parent.characterData, self.armState.right) + end + self.armStatePrev.right = self.armState.right + end + --左腕の操作 + if self.armState.left ~= self.armStatePrev.left then + --腕の状態をリセット + models.models.main.Avatar.UpperBody.Arms.LeftArm:setRot() + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType("LeftArm") + events.TICK:remove("left_arm_tick") + events.RENDER:remove("left_arm_render") + if self.armState.left == 1 then + --銃を構えている際の、銃を構えている方の腕 + events.TICK:register(function () + if self.armState.left == 1 then + self:processArmWingCount() + if player:isSwingingArm() and player:isLeftHanded() then + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType("LeftArm") + else + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType("Body") + end + if player:getActiveItem().id == "minecraft:crossbow" then + self:setArmState(3, 3) + end + end + end, "left_arm_tick") + events.RENDER:register(function (delta) + local headRot = vanilla_model.HEAD:getOriginRot() + models.models.main.Avatar.UpperBody.Arms.LeftArm:setRot(player:isSwingingArm() and player:isLeftHanded() and vectors.vec3() or vectors.vec3(headRot.x + math.sin((self.swingCount + delta) / 100 * math.pi * 2) * -2.5 + 90 + (player:isCrouching() and 30 or 0), headRot.y, 0)) + end, "left_arm_render") + elseif self.armState.left == 2 then + --銃を構えている際の、銃を構えていない方の腕 + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType("Body") + events.TICK:register(function () + self:processArmWingCount() + end, "left_arm_tick") + events.RENDER:register(function (delta, context) + local headRot = vanilla_model.HEAD:getOriginRot() + local isSwingingArm = player:isSwingingArm() and player:isLeftHanded() + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType((isSwingingArm or context == "FIRST_PERSON") and "LeftArm" or "Body") + models.models.main.Avatar.UpperBody.Arms.LeftArm:setRot(isSwingingArm and vectors.vec3() or vectors.vec3(headRot.x + math.sin((self.swingCount + delta) / 100 * math.pi * 2) * -2.5 + 90 + (player:isCrouching() and 30 or 0), math.map((headRot.y + 180) % 360 - 180, -50, 50, -78, 21), 0)) + end, "left_arm_render") + elseif self.armState.left == 3 then + --クロスボウ装填中 + events.TICK:register(function () + if player:getActiveItem().id ~= "minecraft:crossbow" and self.armState.left == 3 then + if self.parent.gun.currentGunPosition == "RIGHT" then + self:setArmState(1, 2) + elseif self.parent.gun.currentGunPosition == "LEFT" then + self:setArmState(2, 1) + end + end + end, "left_arm_tick") + end + if self.parent.characterData.arms.callbacks ~= nil and self.parent.characterData.arms.callbacks.onAdditionalLeftArmProcess ~= nil then + self.parent.characterData.arms.callbacks.onAdditionalLeftArmProcess(self.parent.characterData, self.armState.left) + end + self.armStatePrev.left = self.armState.left + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/avatar_module.lua b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/avatar_module.lua new file mode 100644 index 0000000..4ae2c3a --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/avatar_module.lua @@ -0,0 +1,23 @@ +---@class AvatarModule アバターの動作を構成するモジュールの抽象クラス +---@field public parent Avatar アバターのメインクラスへの参照 +---@field public new fun(parent: Avatar): AvatarModule コンストラクタ +---@field public init fun(self: AvatarModule) 初期化関数 + +AvatarModule = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return AvatarModule + new = function (parent) + ---@type AvatarModule + local instance = Avatar.instantiate(AvatarModule) + + instance.parent = parent + + return instance + end; + + ---初期化関数 + ---@param self AvatarModule + init = function (self) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/barrier.lua b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/barrier.lua new file mode 100644 index 0000000..06066b9 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/barrier.lua @@ -0,0 +1,88 @@ +---@class (exact) Barrier : AvatarModule バリアの視覚効果を管理するクラス +---@field package animationCounts number[] バリアのアニメーションのカウンター +---@field public isBarrierVisible boolean バリアが可視化状態かどうか +---@field package hadAbsorptionPrev boolean 前ティックの衝撃吸収のハートを持っていたかどうか +---@field package colorFactor number バリアの色の係数 +---@field public enable fun(self: Barrier) バリア機能を有効にする +---@field public disable fun(self: Barrier) バリア機能を無効にする + +Barrier = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Barrier + new = function (parent) + ---@type Barrier + local instance = Avatar.instantiate(Barrier, AvatarModule, parent) + + instance.animationCounts = {} + instance.isBarrierVisible = false + instance.hadAbsorptionPrev = false + instance.colorFactor = client:hasShaderPack() and 0.5 or 1 + + for i = 1, 32 do + instance.animationCounts[i] = math.random(0, 39) + end + + return instance + end; + + ---初期化関数 + ---@param self Barrier + init = function (self) + AvatarModule.init(self) + + models.models.main.Avatar.barrier:setLight(15) + + events.TICK:register(function () + local hasAbsorption = player:getAbsorptionAmount() > 0 and player:getHealth() > 0 + if hasAbsorption and not self.hadAbsorptionPrev then + self:enable() + elseif not hasAbsorption and self.hadAbsorptionPrev then + self:disable() + end + self.hadAbsorptionPrev = hasAbsorption + end) + end; + + ---バリア機能を有効にする。 + ---@param self Barrier + enable = function (self) + for i = 1, 32 do + self.animationCounts[i] = math.random(0, 39) + end + + events.TICK:register(function () + for i = 1, 32 do + self.animationCounts[i] = self.animationCounts[i] + 1 + if self.animationCounts[i] == 40 then + self.animationCounts[i] = 0 + end + end + self.colorFactor = client:hasShaderPack() and 0.5 or 1 + end, "barrier_tick") + + events.RENDER:register(function (delta, context) + if context == "FIRST_PERSON" or context == "RENDER" then + models.models.main.Avatar.barrier:setVisible(true) + for i = 1, 32 do + local opacity = math.abs(-0.025 * (self.animationCounts[i] + delta) + 0.5) + 0.5 + models.models.main.Avatar.barrier.Barrier["Barrier"..i]:setOpacity(opacity) + models.models.main.Avatar.barrier.Barrier["Barrier"..i]:setColor(opacity * self.colorFactor, opacity * self.colorFactor, 1) + end + else + models.models.main.Avatar.barrier:setVisible(false) + end + end, "barrier_render") + + self.isBarrierVisible = true + end; + + ---バリア機能を無効にする。 + ---@param self Barrier + disable = function (self) + models.models.main.Avatar.barrier:setVisible(false) + events.TICK:remove("barrier_tick") + events.RENDER:remove("barrier_render") + self.isBarrierVisible = false + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/bubble.lua b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/bubble.lua new file mode 100644 index 0000000..fc6197b --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/bubble.lua @@ -0,0 +1,224 @@ +---@alias Bubble.BubbleType +---| "GOOD" # 👍 +---| "HEART" # 💗 +---| "NOTE" # 🎵 +---| "QUESTION" # ❓ +---| "SWEAT" # 💦 +---| "RELOAD" # 弾薬をリロードする絵文字 +---| "DOTS" # … +---| "V" # ✌ + +---@class (exact) Bubble : AvatarModule 吹き出しエモートを管理するクラス +---@field public bubbleCount integer 吹き出しの表示時間を測るカウンター +---@field public emoji Bubble.BubbleType 吹き出しの絵文字 +---@field package duration integer 吹き出しを表示する時間。-1は時間無制限を示す。 +---@field package isAutoBubble boolean 吹き出しエモートが自動で出たものかどうか +---@field package shouldShowInHud boolean 一人称用にHUDに吹き出しを表示するかどうか +---@field package emojiAnimationCount number 絵文字のアニメーションのタイミングを測るカウンター +---@field package isForcedStop boolean 吹き出しエモートが強制停止させられたかどうか +---@field public isChatOpened boolean チャットを開けているかどうか +---@field package isChatOpenedPrev boolean 前ティックにチャットを開けていたかどうか +---@field public play fun(self: Bubble, type: Bubble.BubbleType, duration: integer, offsetPos: Vector2, offsetRot: number, shouldShowInHud: boolean) 吹き出しエモートを再生する +---@field public stop fun(self: Bubble) 吹き出しエモートを停止する + +Bubble = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Bubble + new = function (parent) + ---@type Bubble + local instance = Avatar.instantiate(Bubble, AvatarModule, parent) + + instance.bubbleCount = 0 + instance.emoji = "GOOD" + instance.duration = 0 + instance.isAutoBubble = false + instance.shouldShowInHud = false + instance.emojiAnimationCount = 0 + instance.isForcedStop = false + instance.isChatOpened = false + instance.isChatOpenedPrev = false + + return instance + end; + + ---初期化関数 + ---@param self Bubble + init = function (self) + AvatarModule.init(self) + + models.models.bubble:addChild(models:newPart("Gui", "Gui")) + models.models.bubble.Gui:addChild(models.models.bubble.Camera.AvatarBubble:copy("FirstPersonBubble")) + models.models.bubble.Gui.FirstPersonBubble:setVisible(false) + for _, modelPart in ipairs({models.models.bubble.Camera.AvatarBubble, models.models.bubble.Gui.FirstPersonBubble}) do + modelPart:setScale(0, 0, 0) + end + + --エモートガイド + if host:isHost() then + self.parent.keyManager:register("bubble_1", self.parent.config:loadConfig("PRIVATE", "keybind.bubble_1", "key.keyboard.j")):onPress(function () + if self.parent.exSkill.animationCount == -1 and (self.bubbleCount == 0 or self.isAutoBubble) then + pings.showBubbleEmote("GOOD") + end + end) + self.parent.keyManager:register("bubble_2", self.parent.config:loadConfig("PRIVATE", "keybind.bubble_2", "key.keyboard.k")):onPress(function () + if self.parent.exSkill.animationCount == -1 and (self.bubbleCount == 0 or self.isAutoBubble) then + pings.showBubbleEmote("HEART") + end + end) + self.parent.keyManager:register("bubble_3", self.parent.config:loadConfig("PRIVATE", "keybind.bubble_3", "key.keyboard.n")):onPress(function () + if self.parent.exSkill.animationCount == -1 and (self.bubbleCount == 0 or self.isAutoBubble) then + pings.showBubbleEmote("NOTE") + end + end) + self.parent.keyManager:register("bubble_4", self.parent.config:loadConfig("PRIVATE", "keybind.bubble_4", "key.keyboard.m")):onPress(function () + if self.parent.exSkill.animationCount == -1 and (self.bubbleCount == 0 or self.isAutoBubble) then + pings.showBubbleEmote("QUESTION") + end + end) + self.parent.keyManager:register("bubble_5", self.parent.config:loadConfig("PRIVATE", "keybind.bubble_5", "key.keyboard.comma")):onPress(function () + if self.parent.exSkill.animationCount == -1 and (self.bubbleCount == 0 or self.isAutoBubble) then + pings.showBubbleEmote("SWEAT") + end + end) + end + + events.TICK:register(function () + if host:isHost() then + local isChatOpened = host:isChatOpen() + if isChatOpened ~= self.isChatOpened then + pings.setChatOpen(isChatOpened) + end + self.isChatOpenedPrev = isChatOpened + end + + if player:getActiveItem().id == "minecraft:crossbow" then + if self.bubbleCount == 0 or (self.isAutoBubble and self.emoji ~= "RELOAD") then + self:play("RELOAD", -1, vectors.vec2(), 0, false) + self.isAutoBubble = true + end + elseif self.isChatOpened and self.parent.exSkill.transitionCount == 0 then + if self.bubbleCount == 0 or (self.isAutoBubble and self.emoji ~= "DOTS") then + self:play("DOTS", -1, vectors.vec2(), 0, false) + self.isAutoBubble = true + end + elseif self.isAutoBubble then + self:stop() + self.isAutoBubble = false + end + end) + end; + + ---吹き出しエモートを再生する。 + ---@param self Bubble + ---@param type Bubble.BubbleType 再生する絵文字の種類 + ---@param duration integer 吹き出しを表示している時間。-1にすると停止するまでずっと表示する。 + ---@param offsetPos Vector2 吹き出しの位置のオフセット値 + ---@param offsetRot number アバター周回上の、吹き出しが表示される位置のオフセット値 + ---@param shouldShowInHud boolean 一人称用にHUDに吹き出しを表示するかどうか + play = function (self, type, duration, offsetPos, offsetRot, shouldShowInHud) + self.emoji = type + self.duration = duration + self.shouldShowInHud = shouldShowInHud + self.bubbleCount = 1 + self.emojiAnimationCount = 0 + models.models.bubble.Camera.AvatarBubble.Emoji:setPrimaryTexture("CUSTOM", textures["textures.emojis."..self.emoji:lower()]) + models.models.bubble.Camera.AvatarBubble.Bullets:setVisible(self.emoji == "RELOAD") + models.models.bubble.Camera.AvatarBubble.Dots:setVisible(self.emoji == "DOTS") + if self.shouldShowInHud then + models.models.bubble.Gui.FirstPersonBubble.Emoji:setPrimaryTexture("CUSTOM", textures["textures.emojis."..self.emoji:lower()]) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.item.pickup"), self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar)) + end + + if events.TICK:getRegisteredCount("bubble_tick") == 0 then + events.TICK:register(function () + if not client:isPaused() then + models.models.bubble.Gui.FirstPersonBubble:setVisible(self.shouldShowInHud and renderer:isFirstPerson()) + self.bubbleCount = self.bubbleCount + 1 + if self.bubbleCount == 0 then + for _, modelPart in ipairs({models.models.bubble.Camera.AvatarBubble, models.models.bubble.Gui.FirstPersonBubble, models.models.bubble.Camera.AvatarBubble.Bullets, models.models.bubble.Gui.FirstPersonBubble.Bullets}) do + modelPart:setVisible(false) + end + events.TICK:remove("bubble_tick") + events.RENDER:remove("bubble_render") + if self.parent.characterData.bubble.callbacks ~= nil and self.parent.characterData.bubble.callbacks.onStop ~= nil then + self.parent.characterData.bubble.callbacks.onStop(self.parent.characterData, type, self.isForcedStop) + end + elseif self.duration >= 0 and self.bubbleCount == self.duration + 2 then + self:stop() + end + if self.emoji == "RELOAD" or self.emoji == "DOTS" then + self.emojiAnimationCount = self.emojiAnimationCount + 1 + self.emojiAnimationCount = self.emojiAnimationCount == 25 and 0 or self.emojiAnimationCount + if self.emoji == "DOTS" then + for i = 1, 3 do + models.models.bubble.Camera.AvatarBubble.Dots["Dot"..i]:setVisible(self.emojiAnimationCount >= 6 * i) + end + end + end + end + end, "bubble_tick") + end + + if events.RENDER:getRegisteredCount("bubble_render") == 0 then + events.RENDER:register(function (delta, context) + models.models.bubble.Camera.AvatarBubble:setVisible(context ~= "OTHER") + if not client:isPaused() then + local bubbleScale = math.min(math.abs(0.5 * (self.bubbleCount + delta)), 1) + models.models.bubble.Camera.AvatarBubble:setScale(vectors.vec3(1, 1, 1):scale(bubbleScale)) + local playerPos = self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar) + local avatarBubblePos = context == "PAPERDOLL" and vectors.vec3(0, 32, 0) or vectors.rotateAroundAxis(player:getBodyYaw(delta) + 180, playerPos:copy():sub(player:getPos(delta)):scale(17.067):add(0, 32 + offsetPos.y, 0), 0, 1, 0) + if not renderer:isFirstPerson() then + local cameraPos = client:getCameraPos() + avatarBubblePos:add(vectors.rotateAroundAxis(math.deg(math.atan2(cameraPos.z - playerPos.z, cameraPos.x - playerPos.x) - math.pi / 2) % 360 - (player:getBodyYaw(delta) + offsetRot) % 360, 12 + offsetPos.x, 0, 0, 0, -1, 0)) + else + avatarBubblePos:add(12 + offsetPos.x, 0, 0) + end + models.models.bubble.Camera:setOffsetPivot(avatarBubblePos) + models.models.bubble.Camera.AvatarBubble:setPos(avatarBubblePos) + if host:isHost() and self.shouldShowInHud then + local windowSize = client:getScaledWindowSize() + models.models.bubble.Gui.FirstPersonBubble:setPos(-windowSize.x + 10, -windowSize.y + (action_wheel:isEnabled() and 125 or 10), 0) + models.models.bubble.Gui.FirstPersonBubble:setScale(vectors.vec3(1, 1, 1):scale(bubbleScale * 4)) + end + if self.emoji == "RELOAD" then + local bullet1Counter = math.clamp((self.emojiAnimationCount + delta) * 0.2 - 1, 0, 1) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet1:setPos(0, 1 - bullet1Counter, 0) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet1:setOpacity(bullet1Counter) + local bullet2Counter = math.clamp((self.emojiAnimationCount + delta) * 0.2 - 2, 0, 1) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet2:setPos(0, 1 - bullet2Counter, 0) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet2:setOpacity(bullet2Counter) + local bullet3Counter = math.clamp((self.emojiAnimationCount + delta) * 0.2 - 3, 0, 1) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet3:setPos(0, 1 - bullet3Counter, 0) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet3:setOpacity(bullet3Counter) + end + end + end, "bubble_render") + end + if self.parent.characterData.bubble.callbacks ~= nil and self.parent.characterData.bubble.callbacks.onPlay ~= nil then + self.parent.characterData.bubble.callbacks.onPlay(self.parent.characterData, type, duration, shouldShowInHud) + end + end; + + ---吹き出しエモートを停止する。 + ---@param self Bubble + stop = function (self) + if self.bubbleCount > 0 then + self.isForcedStop = self.duration == -1 or self.bubbleCount < self.duration + 2 + self.bubbleCount = -2 + end + end; +} + +---吹き出しエモートを表示する。 +---@param type Bubble.BubbleType 表示する絵文字の種類 +function pings.showBubbleEmote(type) + AvatarInstance.bubble:play(type, 50, vectors.vec2(), 0, true) + AvatarInstance.bubble.isAutoBubble = false +end + +---Bubbleのチャットを開けているフラグを更新する。 +---@param value boolean 新しい値 +function pings.setChatOpen(value) + AvatarInstance.bubble.isChatOpened = value +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/camera_manager.lua b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/camera_manager.lua new file mode 100644 index 0000000..e985b05 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/camera_manager.lua @@ -0,0 +1,99 @@ +---@class (exact) CameraManager : AvatarModule カメラ制御全般を管理するクラス +---@field package COLLISION_DENIAL_DISABLED boolean カメラの当たり判定打ち消し機能を無効にする。撮影用。 +---@field package thirdPersonCameraDistance number 三人称視点でのカメラと回転軸の距離 +---@field package isCameraCollisionDenialEnabled boolean 三人称視点でのカメラの当たり判定打ち消し機能が有効かどうか +---@field public setCameraManagerRender fun(self: CameraManager, enabled: boolean) CameraManagerのレンダー関数を設定する +---@field public setCameraPivot fun(newPivot?: Vector3) カメラの回転軸のオフセット位置を変更する +---@field public setCameraRot fun(newRot?: Vector3) カメラ方向を変更する +---@field public setThirdPersonCameraDistance fun(self: CameraManager, distance: number) 三人称視点でのカメラと回転軸の距離を設定する +---@field public setCameraCollisionDenial fun(self: CameraManager, enabled: boolean) カメラの当たり判定打ち消し機能を設定する + +CameraManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return CameraManager + new = function (parent) + ---@type CameraManager + local instance = Avatar.instantiate(CameraManager, AvatarModule, parent) + + instance.COLLISION_DENIAL_DISABLED = false + instance.thirdPersonCameraDistance = 4 + instance.isCameraCollisionDenialEnabled = false + + return instance + end; + + ---CameraManagerのレンダー関数を設定する。 + ---@param self CameraManager + ---@param enabled boolean CameraManagerのレンダー関数を有効化するかどうか + setCameraManagerRender = function (self, enabled) + if enabled and events.RENDER:getRegisteredCount("camera_manager_render") == 0 then + events.RENDER:register(function () + if renderer:isFirstPerson() then + renderer:setCameraPos() + else + local rawOffsetCameraPivot = renderer:getCameraOffsetPivot() + rawOffsetCameraPivot = rawOffsetCameraPivot == nil and vectors.vec3() or rawOffsetCameraPivot + local cameraPivot = player:getPos():add(0, 1.62, 0):add(rawOffsetCameraPivot) + local cameraDir = client:getCameraDir() + local baseVector = vectors.rotateAroundAxis(math.deg(math.asin(cameraDir.y)), 0, 0.21, 0, vectors.rotateAroundAxis(math.deg(math.atan2(cameraDir.z, cameraDir.x)) * -1 - 90, 1, 0, 0, 0, 1, 0)) + local minDistance = math.max(self.thirdPersonCameraDistance, 4) + if not self.COLLISION_DENIAL_DISABLED then + for i = 0, 3 do + local startPos = vectors.rotateAroundAxis(i * 90 + 45, baseVector:copy(), cameraDir):add(cameraPivot) + local _, collisionPos, _ = raycast:block(startPos, startPos:copy():add(cameraDir:copy():scale(-4)), "VISUAL", "NONE") + minDistance = math.min(collisionPos:copy():sub(startPos):length(), minDistance) + end + end + renderer:setCameraPos(0, 0, (minDistance > self.thirdPersonCameraDistance or self.isCameraCollisionDenialEnabled) and self.thirdPersonCameraDistance - minDistance or 0) + end + end, "camera_manager_render") + elseif not enabled then + events.RENDER:remove("camera_manager_render") + renderer:setCameraPos() + end + end; + + ---カメラの回転軸のオフセット位置を変更する。 + ---@param newPivot? Vector3 設定する新しいカメラ回転軸のオフセット位置。nilの場合は設定値がリセットされる。 + setCameraPivot = function (newPivot) + if host:isHost() then + renderer:setOffsetCameraPivot(newPivot) + end + end; + + ---カメラ方向を変更する。 + ---@param newRot? Vector3 設定する新しいカメラのオフセット方向。nilの場合は設定値がリセットされる。 + setCameraRot = function (newRot) + if host:isHost() then + renderer:setCameraRot(newRot) + end + end; + + ---三人称視点でのカメラと回転軸の距離を設定する。 + ---@param self CameraManager + ---@param distance number 設定する新しい距離(ブロック単位)。デフォルトは4ブロック。 + setThirdPersonCameraDistance = function (self, distance) + if host:isHost() then + if distance ~= 4 then + self:setCameraManagerRender(true) + elseif not self.isCameraCollisionDenialEnabled then + self:setCameraManagerRender(false) + end + self.thirdPersonCameraDistance = distance + end + end; + + ---カメラの当たり判定打ち消し機能を設定する。 + ---@param enabled boolean カメラの当たり判定打ち消し機能を有効にするかどうか。有効にするとカメラがブロックの中にめり込むようになる。 + setCameraCollisionDenial = function (self, enabled) + if host:isHost() then + if enabled then + self:setCameraManagerRender(true) + elseif self.thirdPersonCameraDistance == 4 then + self:setCameraManagerRender(false) + end + self.isCameraCollisionDenialEnabled = enabled + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/config.lua b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/config.lua new file mode 100644 index 0000000..70b0382 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/config.lua @@ -0,0 +1,116 @@ +---@alias Config.Storage +---| "PUBLIC" # FBACキャラクター共通ストレージ +---| "PRIVATE" # キャラクター固有ストレージ + +---@class (exact) Config : AvatarModule アバター設定を管理するクラス +---@field package privateStorageName string キャラクター固有ストレージの名前 +---@field package defaultValues {[string]: number|boolean|string} 読み込んだ値のデフォルト値を保持するテーブル +---@field package nextSyncCount integer 次の同期pingまでのカウンター +---@field package isSynced boolean 設定値がホストと同期されているかどうか +---@field public loadConfig fun(self: Config, storage: Config.Storage, keyName: string, defaultValue: any): any 設定を読み出す +---@field public saveConfig fun(self: Config, storage: Config.Storage, keyName: string, valueToSave: any) 設定を保存する + +Config = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Config + new = function (parent) + ---@type Config + local instance = Avatar.instantiate(Config, AvatarModule, parent) + + instance.privateStorageName = "BlueArchive_"..instance.parent.characterData.basic.firstName.en_us..instance.parent.characterData.basic.lastName.en_us + instance.defaultValues = {} + instance.nextSyncCount = 0 + instance.isSynced = host:isHost() + + return instance + end; + + ---初期化関数 + ---@param self Config + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + events.TICK:register(function () + if self.nextSyncCount == 0 then + pings.syncAvatarConfig(self.parent.nameplate.currentName, self.parent.nameplate.shouldShowClubName, self.parent.costume.currentCostume, self.parent.armor.shouldShowArmor, self.parent.actionWheel.shouldReplaceVehicleModels, self.parent.bubble.isChatOpened, self.parent.characterData.dataSync.syncData) + self.nextSyncCount = 300 + else + self.nextSyncCount = self.nextSyncCount - 1 + end + end) + end + end; + + ---設定を読み出す。 + ---@generic T + ---@param self Config + ---@param storage Config.Storage 読み出し先のストレージ + ---@param keyName string 読み出す設定の名前 + ---@param defaultValue `T` 該当の設定が無い場合や、ホスト外での実行の場合はこの値が返される。 + ---@return `T` loadedValue 読み出した値 + loadConfig = function (self, storage, keyName, defaultValue) + if host:isHost() then + if storage == "PUBLIC" then + config:setName("BlueArchive_public") + else + config:setName(self.privateStorageName) + end + local loadedData = config:load(keyName) + self.defaultValues[keyName] = defaultValue + if loadedData ~= nil then + return loadedData + else + return defaultValue + end + else + return defaultValue + end + end; + + ---設定を保存する。 + ---@param self Config + ---@param storage Config.Storage 書き込み先のストレージ + ---@param keyName string 保存する設定の名前 + ---@param valueToSave any 保存する値 + saveConfig = function (self, storage, keyName, valueToSave) + if host:isHost() then + if storage == "PUBLIC" then + config:setName("BlueArchive_public") + else + config:setName(self.privateStorageName) + end + if self.defaultValues[keyName] == valueToSave then + config:save(keyName, nil) + else + config:save(keyName, valueToSave) + end + end + end; +} + +---アバター設定を他Figuraクライアントと同期する。 +---@param nameTypeId integer 表示名の種類ID +---@param shouldShowClubName boolean 部活名を表示するかどうか +---@param costumeId integer 現在の衣装ID +---@param shouldShowArmor boolean 防具が見えているかどうか +---@param shouldReplaceVehicleModels boolean 乗り物モデルを置き換えるかどうか +---@param isChatOpened boolean チャット欄を開いているかどうか +---@param additionalData {[string]: any} キャラクター固有用に追加で同期するデータ +function pings.syncAvatarConfig(nameTypeId, shouldShowClubName, costumeId, shouldShowArmor, shouldReplaceVehicleModels, isChatOpened, additionalData) + if not AvatarInstance.config.isSynced then + AvatarInstance.nameplate:setName(nameTypeId, shouldShowClubName) + AvatarInstance.armor.shouldShowArmor = shouldShowArmor + AvatarInstance.actionWheel.shouldReplaceVehicleModels = shouldReplaceVehicleModels + AvatarInstance.bubble.isChatOpened = isChatOpened + if costumeId >= 2 then + AvatarInstance.costume:setCostume(costumeId) + end + AvatarInstance.characterData.dataSync.syncData = additionalData + if AvatarInstance.characterData.dataSync.callbacks ~= nil and AvatarInstance.characterData.dataSync.callbacks.onDataSynced ~= nil then + AvatarInstance.characterData.dataSync.callbacks.onDataSynced(AvatarInstance.characterData) + end + AvatarInstance.config.isSynced = true + end +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/costume.lua b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/costume.lua new file mode 100644 index 0000000..650a557 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/costume.lua @@ -0,0 +1,113 @@ +---@class (exact) Costume : AvatarModule キャラクターのコスチュームを管理し、円滑に切り替えられるようにするクラス +---@field public costumeList string[] 利用可能なコスチューム一覧。BlueArchiveCharacterクラスから動的に生成される。 +---@field public currentCostume integer 現在のコスチューム +---@field public isChangingCostume boolean コスチュームを変更中かどうか +---@field public getCostumeLocalName fun(self: Costume, costumeId: integer) 設定言語を考慮した、衣装の名前を返す +---@field public setCostumeTextureOffset fun(offset: integer) メインモデルのテクスチャのオフセット値を設定する +---@field public setCostume fun(self: Costume, costume: integer) コスチュームを設定する +---@field public resetCostume fun(self: Costume) コスチュームをリセットしデフォルトのコスチュームにする + +Costume = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Costume + new = function (parent) + ---@type Costume + local instance = Avatar.instantiate(Costume, AvatarModule, parent) + + instance.costumeList = {} + instance.currentCostume = instance.parent.config:loadConfig("PRIVATE", "costume", 1) + instance.isChangingCostume = false + + return instance + end; + + ---初期化関数 + ---@param self Costume + init = function (self) + AvatarModule.init(self) + + for _, costume in ipairs(self.parent.characterData.costume.costumes) do + table.insert(self.costumeList, costume.name) + end + if self.currentCostume >= 2 then + if self.costumeList[self.currentCostume] ~= nil then + self:setCostume(self.currentCostume) + else + self.currentCostume = 1 + if host:isHost() then + self.parent.config:saveConfig("PRIVATE", "costume", 1) + end + end + end + self.parent.headBlock:generateHeadModel() + self.parent.portrait:generateHeadModel() + + events.TICK:register(function () + self.isChangingCostume = false + end) + end; + + ---設定言語を考慮した、衣装の名前を返す。 + ---@param self Costume + ---@param costumeId integer ローカル名を取得する衣装のID + ---@return string localCostumeName 衣装のローカル名 + getCostumeLocalName = function(self, costumeId) + return self.parent.locale:getLocale("costume."..self.costumeList[costumeId]) + end; + + ---メインモデルのテクスチャのオフセット値を設定する。 + ---@param offset integer オフセット値 + setCostumeTextureOffset = function (offset) + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Body.Body, models.models.main.Avatar.UpperBody.Body.BodyLayer, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArm, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmLayer, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.RightArmBottom, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.RightArmBottomLayer, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArm, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmLayer, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.LeftArmBottom, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.LeftArmBottomLayer, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLeg, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegLayer, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.RightLegBottom, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.RightLegBottomLayer, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLeg, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegLayer, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.LeftLegBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.LeftLegBottomLayer}) do + modelPart:setUVPixels(0, offset * 48) + end + end; + + ---コスチュームを設定する。 + ---@param self Costume + ---@param costume integer 設定するコスチューム + setCostume = function(self, costume) + self:resetCostume() + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onChange ~= nil then + self.parent.characterData.costume.callbacks.onChange(self.parent.characterData, self.parent.characterData.costume.costumes[costume].name:upper()) + end + self.parent.headBlock:generateHeadModel() + self.parent.portrait:generateHeadModel() + if self.parent.armor.isArmorVisible.chestplate then + self.parent.armor:setChestplate(self.parent.armor.armorSlotItems[2]) + end + if self.parent.armor.isArmorVisible.leggings then + self.parent.armor:setLeggings(self.parent.armor.armorSlotItems[3]) + end + if self.parent.armor.isArmorVisible.boots then + self.parent.armor:setBoots(self.parent.armor.armorSlotItems[4]) + end + self.currentCostume = costume + end; + + ---コスチュームをリセットし、デフォルトのコスチュームにする。 + ---@param self Costume + resetCostume = function (self) + self.isChangingCostume = true + if self.parent.exSkill.transitionCount > 0 then + self.parent.exSkill:forceStop() + end + self.setCostumeTextureOffset(0) + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onReset ~= nil then + self.parent.characterData.costume.callbacks.onReset(self.parent.characterData) + end + self.parent.headBlock:generateHeadModel() + self.parent.portrait:generateHeadModel() + if self.parent.armor.isArmorVisible.chestplate then + self.parent.armor:setChestplate(self.parent.armor.armorSlotItems[2]) + end + if self.parent.armor.isArmorVisible.leggings then + self.parent.armor:setLeggings(self.parent.armor.armorSlotItems[3]) + end + if self.parent.armor.isArmorVisible.boots then + self.parent.armor:setBoots(self.parent.armor.armorSlotItems[4]) + end + self.currentCostume = 1 + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/death_animation.lua b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/death_animation.lua new file mode 100644 index 0000000..65583f8 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/death_animation.lua @@ -0,0 +1,294 @@ +---@class (exact) DeathAnimation : AvatarModule プレイヤーが死亡した際のキャラクターがヘリコプターで回収されるアニメーションを管理するクラス +---@field package DEBUG_MODE boolean デバッグモードを有効にするかどうか。デバッグモードモードではxキーでフェーズ1のモデルを、cキーでフェーズ2のモデルを表示できる。 +---@field public dummyAvatarRoot? ModelPart 死亡アニメーションに使用されるダミーのアバターのルート。アバターが未生成の場合はnilが入っている。 +---@field package animationCount integer 死亡アニメーションの再生カウンター +---@field package animationPos Vector3 アニメーションを再生している場所の座標 +---@field package animationRot number アニメーションを再生している向き(度数法で示す) +---@field package costumeIndex integer 死亡アニメーションのコスチュームのインデックス +---@field package isPlayerInvisible boolean プレイヤーモデルが不可視状態かどうか +---@field package isScriptLoaded false スクリプトを全て読み込んだかどうか +---@field package removeUnsafeModel fun(target?: ModelPart) 存在しないかもしれないモデルパーツを安全に削除する +---@field package spawnHelicopterParticles fun(self: DeathAnimation) ヘリコプターの出現/消滅パーティクルを生成する +---@field package generateDummyAvatar fun(self: DeathAnimation, parent: ModelPart) 死亡アニメーション用のダミーアバターを生成する +---@field package resetDummyAvatar fun(avatarRoot: ModelPart) ダミーアバター状態をリセットする +---@field package setPhase1Pose fun(avatarRoot: ModelPart) ダミーアバターをフェーズ1のポーズにする +---@field package setPhase2Pose fun(avatarRoot: ModelPart) ダミーアバターをフェーズ2のポーズにする +---@field package play fun(self: DeathAnimation) 死亡アニメーションを再生する +---@field package stop fun(self: DeathAnimation) 死亡アニメーションを停止する + +DeathAnimation = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return DeathAnimation + new = function (parent) + ---@type DeathAnimation + local instance = Avatar.instantiate(DeathAnimation, AvatarModule, parent) + + instance.DEBUG_MODE = false + + instance.dummyAvatarRoot = models.models.death_animation.Avatar + instance.animationCount = 0 + instance.animationPos = vectors.vec3() + instance.animationRot = 0 + instance.costumeIndex = 1 + instance.isPlayerInvisible = false + instance.isScriptLoaded = false + + return instance + end; + + ---初期化関数 + ---@param self DeathAnimation + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + if self.parent.playerUtils.damageStatus == "DIED" then + self:play() + models.models.main:setVisible(false) + for _, vanillaModel in ipairs({vanilla_model.RIGHT_ITEM, vanilla_model.LEFT_ITEM, vanilla_model.ELYTRA}) do + vanillaModel:setVisible(false) + end + self.isPlayerInvisible = true + end + if self.isPlayerInvisible and player:getHealth() > 0 then + models.models.main:setVisible(true) + for _, vanillaModel in ipairs({vanilla_model.RIGHT_ITEM, vanilla_model.LEFT_ITEM, vanilla_model.ELYTRA}) do + vanillaModel:setVisible(true) + end + self.isPlayerInvisible = false + end + end) + + self.parent.avatarEvents.SCRIPT_INIT:register(function () + self.isScriptLoaded = true + end) + + if self.DEBUG_MODE then + models:addChild(models:newPart("script_death_animation_debug", "World")) + keybinds:newKeybind("[DEBUG] Spawn death animation phase1 model", "key.keyboard.x"):onPress(function () + self.removeUnsafeModel(models.script_death_animation_debug.Avatar) + self:generateDummyAvatar(models.script_death_animation_debug) + self.resetDummyAvatar(models.script_death_animation_debug.Avatar) + self.setPhase1Pose(models.script_death_animation_debug.Avatar) + models.script_death_animation_debug.Avatar:setPos(player:getPos():add(0, -0.75, 0):scale(16)) + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onPhase1 ~= nil then + self.parent.characterData.deathAnimation.callbacks.onPhase1(self.parent.characterData, models.script_death_animation_debug.Avatar, self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].name:upper()) + end + end) + keybinds:newKeybind("[DEBUG] Spawn death animation phase2 model", "key.keyboard.c"):onPress(function () + self.removeUnsafeModel(models.script_death_animation_debug.Avatar) + self:generateDummyAvatar(models.script_death_animation_debug) + self.resetDummyAvatar(models.script_death_animation_debug.Avatar) + self.setPhase2Pose(models.script_death_animation_debug.Avatar) + models.script_death_animation_debug.Avatar:setPos(player:getPos():scale(16)) + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onPhase1 ~= nil then + self.parent.characterData.deathAnimation.callbacks.onPhase1(self.parent.characterData, models.script_death_animation_debug.Avatar, self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].name:upper()) + end + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onPhase2 ~= nil then + self.parent.characterData.deathAnimation.callbacks.onPhase2(self.parent.characterData, models.script_death_animation_debug.Avatar, self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].name:upper()) + end + end) + end + end; + + ---存在しないかもしれないモデルパーツを安全に削除する。 + ---@param target? ModelPart 削除対象のモデルパーツ + removeUnsafeModel = function (target) + if target ~= nil then + target:getParent():removeChild(target) + target:remove() + end + end; + + ---ヘリコプターの出現/消滅パーティクルを生成する。 + ---@param self DeathAnimation + spawnHelicopterParticles = function (self) + local helicopterPos = self.parent.modelUtils.getModelWorldPos(models.models.death_animation.Helicopter) + for _ = 1, 100 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:poof"), helicopterPos:copy():add(vectors.rotateAroundAxis(self.animationRot, math.random() * 9.375 - 4.6875, math.random() * 11.125 - 5.5625, math.random() * 23.875 - 11.9375, 0, math.abs(helicopterPos.y), 0))) + end + end; + + ---死亡アニメーション用のダミーアバターを生成する。 + ---@param self DeathAnimation + ---@param parent ModelPart ダミーアバターをアタッチする親のモデルパーツ + generateDummyAvatar = function (self, parent) + local isArmorVisible = { + helmet = self.parent.armor.isArmorVisible.helmet; + chestplate = self.parent.armor.isArmorVisible.chestplate; + leggings = self.parent.armor.isArmorVisible.leggings; + boots = self.parent.armor.isArmorVisible.boots; + } + if isArmorVisible.helmet then + self.parent.armor:setHelmet(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + if isArmorVisible.chestplate then + self.parent.armor:setChestplate(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + if isArmorVisible.leggings then + self.parent.armor:setLeggings(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + if isArmorVisible.boots then + self.parent.armor:setBoots(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + self.parent.physics:disable() + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onBeforeModelCopy ~= nil then + self.parent.characterData.deathAnimation.callbacks.onBeforeModelCopy(self.parent.characterData, self.isScriptLoaded) + end + + parent:addChild(self.parent.modelUtils:copyModel(models.models.main.Avatar)) + parent.Avatar.Head.FaceParts.Eyes.EyeRight:setUVPixels(self.parent.characterData.faceParts.leftEye.TIRED:copy():scale(6)) + parent.Avatar.Head.FaceParts.Eyes.EyeLeft:setUVPixels(self.parent.characterData.faceParts.rightEye.TIRED:copy():scale(6)) + parent.Avatar.Head.HeadRing:setRot() + for _, modelPart in ipairs({parent.Avatar.UpperBody.Arms.RightArm.RightArmBottom.RightItemPivot, parent.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.LeftItemPivot}) do + modelPart:remove() + end + local unsafeModels = {parent.Avatar.Head.FaceParts.Mouth, parent.Avatar.Head.ArmorH, parent.Avatar.UpperBody.Body.ArmorB, parent.Avatar.UpperBody.Arms.RightArm.ArmorRA, parent.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB, parent.Avatar.UpperBody.Arms.LeftArm.ArmorLA, parent.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB, parent.Avatar.LowerBody.Legs.RightLeg.ArmorRL, parent.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB, parent.Avatar.LowerBody.Legs.LeftLeg.ArmorLL, parent.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB} + for i = 1, 11 do + self.removeUnsafeModel(unsafeModels[i]) + end + if parent.Avatar.UpperBody.Body.Gun ~= nil then + if self.parent.characterData.gun.gunPosition.put.type == "BODY" then + local leftHanded = player:isLeftHanded() + parent.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, 12, 0):add(self.parent.characterData.gun.gunPosition.put.pos[leftHanded and "left" or "right"])) + parent.Avatar.UpperBody.Body.Gun:setRot(self.parent.characterData.gun.gunPosition.put.rot[leftHanded and "left" or "right"]) + else + parent.Avatar.UpperBody.Body.Gun:remove() + end + end + + if isArmorVisible.helmet then + self.parent.armor:setHelmet(self.parent.armor.armorSlotItems[1]) + end + if isArmorVisible.chestplate then + self.parent.armor:setChestplate(self.parent.armor.armorSlotItems[2]) + end + if isArmorVisible.leggings then + self.parent.armor:setLeggings(self.parent.armor.armorSlotItems[3]) + end + if isArmorVisible.boots then + self.parent.armor:setBoots(self.parent.armor.armorSlotItems[4]) + end + self.parent.physics:enable() + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onAfterModelCopy ~= nil then + self.parent.characterData.deathAnimation.callbacks.onAfterModelCopy(self.parent.characterData, self.isScriptLoaded) + end + end; + + ---ダミーアバター状態をリセットする。 + ---@param avatarRoot ModelPart ダミーアバターのルート + resetDummyAvatar = function (avatarRoot) + for _, modelPart in ipairs({avatarRoot, avatarRoot.Head, avatarRoot.UpperBody, avatarRoot.UpperBody.Body, avatarRoot.UpperBody.Arms, avatarRoot.UpperBody.Arms.RightArm, avatarRoot.UpperBody.Arms.RightArm.RightArmBottom, avatarRoot.UpperBody.Arms.LeftArm, avatarRoot.UpperBody.Arms.LeftArm.LeftArmBottom, avatarRoot.LowerBody, avatarRoot.LowerBody.Legs, avatarRoot.LowerBody.Legs.RightLeg, avatarRoot.LowerBody.Legs.RightLeg.RightLegBottom, avatarRoot.LowerBody.Legs.LeftLeg, avatarRoot.LowerBody.Legs.LeftLeg.LeftLegBottom}) do + modelPart:setPos() + modelPart:setRot() + modelPart:setScale() + end + end; + + ---ダミーアバターをフェーズ1のポーズにする。 + ---@param avatarRoot ModelPart ダミーアバターのルート + setPhase1Pose = function (avatarRoot) + avatarRoot:setPos(0, -12, 0) + avatarRoot.Head:setRot(-30, 0, 0) + avatarRoot.UpperBody.Arms.RightArm:setRot(35, 0, -20) + avatarRoot.UpperBody.Arms.LeftArm:setRot(35, 0, 20) + avatarRoot.LowerBody.Legs.RightLeg:setRot(90, -10, 0) + avatarRoot.LowerBody.Legs.LeftLeg:setRot(90, 10, 0) + end; + + ---ダミーアバターをフェーズ2のポーズにする。 + ---@param avatarRoot ModelPart ダミーアバターのルート + setPhase2Pose = function (avatarRoot) + avatarRoot:setPos(3, -210, 2) + avatarRoot:setRot(105, 75, 90) + avatarRoot.Head:setRot(0, -40, 0) + avatarRoot.UpperBody.Arms.RightArm:setRot(47.5, 0, 20) + avatarRoot.UpperBody.Arms.LeftArm:setRot(-30, 0, -15) + avatarRoot.LowerBody.Legs.RightLeg:setRot(80, 0, 0) + avatarRoot.LowerBody.Legs.RightLeg.RightLegBottom:setRot(-75, 0, 0) + avatarRoot.LowerBody.Legs.LeftLeg:setRot(10, 0, 0) + avatarRoot:setLight() + end; + + ---死亡アニメーションを再生する。 + ---@param self DeathAnimation + play = function (self) + self:stop() + self.costumeIndex = self.parent.costume.currentCostume + + --ダミーアバターを生成する。 + local unsafeModels = {models.models.death_animation.Avatar, models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14.Avatar} + for i = 1, 2 do + self.removeUnsafeModel(unsafeModels[i]) + end + self:generateDummyAvatar(models.models.death_animation) + + --死亡アニメーションを生成する。 + self.resetDummyAvatar(models.models.death_animation.Avatar) + self.setPhase1Pose(models.models.death_animation.Avatar) + self.animationPos = player:getPos() + models.models.death_animation:setPos(self.animationPos:copy():scale(16)) + self.animationRot = (player:getBodyYaw() * -1 + 180) % 360 + models.models.death_animation:setRot(0, self.animationRot) + models.models.death_animation:setVisible(true) + animations["models.death_animation"]["death_animation"]:play() + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onPhase1 ~= nil then + self.parent.characterData.deathAnimation.callbacks.onPhase1(self.parent.characterData, models.models.death_animation.Avatar, self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].name:upper()) + end + + if events.TICK:getRegisteredCount("death_animation_tick") == 0 then + events.TICK:register(function () + local particleAnchorPos = self.parent.modelUtils.getModelWorldPos(models.models.death_animation.DeathAnimationParticleAnchor) + for _ = 1, 3 do + local particleRot = math.random() * math.pi * 2 + local particleOffset = math.random() * 3 + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:poof"), particleAnchorPos:copy():add(math.cos(particleRot) * particleOffset, 0, math.sin(particleRot) * particleOffset)):setVelocity(math.cos(particleRot), 0, math.sin(particleRot)) + + end + if self.animationCount % 2 == 1 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.bamboo_wood_door.close"), self.parent.modelUtils.getModelWorldPos(models.models.death_animation.Helicopter.DeathAnimationSoundAnchor1), 1, 0.5):setAttenuation(2) + end + if self.animationCount < 120 then + models.models.death_animation.Avatar:setLight(world.getLightLevel(self.animationPos)) + end + if self.animationCount == 1 then + self:spawnHelicopterParticles() + elseif self.animationCount == 10 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.iron_door.open"), self.parent.modelUtils.getModelWorldPos(models.models.death_animation.Helicopter.DeathAnimationSoundAnchor1), 1, 0.5) + elseif self.animationCount >= 57 and self.animationCount < 76 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.attack.sweep"), self.parent.modelUtils.getModelWorldPos(models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14), 0.25, -0.056 * (self.animationCount - 57) + 2) + elseif self.animationCount == 120 then + self.dummyAvatarRoot = models.models.death_animation.Avatar:moveTo(models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14) + self.setPhase2Pose(models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14.Avatar) + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onPhase2 ~= nil then + self.parent.characterData.deathAnimation.callbacks.onPhase2(self.parent.characterData, models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14.Avatar, self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].name:upper()) + end + elseif self.animationCount == 180 then + models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14.Avatar:setVisible(false) + elseif self.animationCount == 230 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.iron_door.close"), self.parent.modelUtils.getModelWorldPos(models.models.death_animation.Helicopter.DeathAnimationSoundAnchor1), 1, 0.5) + elseif self.animationCount == 255 then + self:spawnHelicopterParticles() + self:stop() + end + end, "death_animation_tick") + end + if events.WORLD_TICK:getRegisteredCount("death_animation_world_tick") == 0 then + events.WORLD_TICK:register(function () + self.animationCount = self.animationCount + 1 + end, "death_animation_world_tick") + end + end; + + ---死亡アニメーションを停止する。 + ---@param self DeathAnimation + stop = function (self) + models.models.death_animation:setVisible(false) + animations["models.death_animation"]["death_animation"]:stop() + events.TICK:remove("death_animation_tick") + events.WORLD_TICK:remove("death_animation_world_tick") + self.dummyAvatarRoot = nil + self.animationCount = 0 + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/events/abstract_event.lua b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/events/abstract_event.lua new file mode 100644 index 0000000..e6af2e5 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/events/abstract_event.lua @@ -0,0 +1,71 @@ +---@class AbstractEvent : AvatarModule +---@field public registerTable {[string]: fun()[]} 登録されたコールバック関数を管理するテーブル +---@field public register fun(self: AbstractEvent, callback: fun(...: any), name?: string) イベントにコールバック関数登録する +---@field public remove fun(self: AbstractEvent, name: string) 指定した名前のコールバック関数を1つ削除する +---@field public getRegisteredCount fun(self: AbstractEvent, name: string): integer 指定した名前で登録されているコールバック関数の数を返す +---@field public fire fun(self: AbstractEvent, ...: any) 登録された全てのコールバック関数を呼ぶ + +AbstractEvent = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return AbstractEvent + new = function (parent) + ---@type AbstractEvent + local instance = Avatar.instantiate(AbstractEvent, AvatarModule, parent) + + instance.registerTable = {} + + return instance + end; + + ---イベントにコールバック関数登録する。 + ---@param self AbstractEvent + ---@param callback fun(...: any) 登録するコールバック関数 + ---@param name? string コールバック関数の名前 + register = function (self, callback, name) + local callbackName = name ~= nil and name or client.intUUIDToString(client.generateUUID()) + if self.registerTable[callbackName] ~= nil then + table.insert(self.registerTable[callbackName], callback) + else + local callbackTable = {} + table.insert(callbackTable, callback) + self.registerTable[callbackName] = callbackTable + end + end; + + ---指定した名前のコールバック関数を1つ削除する。 + ---@param self AbstractEvent + ---@param name string コールバック関数の名前 + remove = function (self, name) + if self.registerTable[name] ~= nil then + table.remove(self.registerTable[name]) + if #self.registerTable[name] == 0 then + self.registerTable[name] = nil + end + end + end; + + ---指定した名前で登録されているコールバック関数の数を返す。 + ---@param self AbstractEvent + ---@param name string コールバック関数の名前 + ---@return integer registeredCount 登録されていたコールバック関数の数 + getRegisteredCount = function (self, name) + if self.registerTable[name] ~= nil then + return #self.registerTable[name] + else + return 0 + end + end; + + ---登録された全てのコールバック関数を呼ぶ。 + ---@param self AbstractEvent + ---@param ... any callbackArgs コールバック引数 + fire = function (self, ...) + for _, eventTable in pairs(self.registerTable) do + for _, callback in ipairs(eventTable) do + ---@diagnostic disable-next-line: redundant-parameter + callback(...) + end + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/events/avatar_events.lua b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/events/avatar_events.lua new file mode 100644 index 0000000..b2fd6e8 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/events/avatar_events.lua @@ -0,0 +1,16 @@ +---@class AvatarEvents : AvatarModule アバター独自のイベントを定義し、管理するクラス +---@field public SCRIPT_INIT ScriptInitEvent 全てのスクリプトの初期化が完了した後に1度だけ呼ばれるイベント + +AvatarEvents = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return AvatarEvents + new = function (parent) + ---@type AvatarEvents + local instance = Avatar.instantiate(AvatarEvents, AvatarModule, parent) + + instance.SCRIPT_INIT = ScriptInitEvent.new(instance.parent) + + return instance + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/events/script_init_event.lua b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/events/script_init_event.lua new file mode 100644 index 0000000..44c62e7 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/events/script_init_event.lua @@ -0,0 +1,25 @@ +---@class ScriptInitEvent : AbstractEvent 全てのスクリプトの初期化が完了した後に1度だけ呼ばれるイベント +---@field public register fun(self: AbstractEvent, callback: fun(), name?: string) イベントにコールバック関数登録する +---@field public fire fun(self: AbstractEvent) 登録された全てのコールバック関数を呼ぶ + +ScriptInitEvent = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ScriptInitEvent + new = function (parent) + ---@type ScriptInitEvent + local instance = Avatar.instantiate(ScriptInitEvent, AbstractEvent, parent) + + return instance + end; + + ---登録された全てのコールバック関数を呼ぶ。 + ---@param self ScriptInitEvent + fire = function (self, ...) + for _, eventTable in pairs(self.registerTable) do + for _, callback in ipairs(eventTable) do + callback() + end + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/ex_skill/ex_skill.lua b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/ex_skill/ex_skill.lua new file mode 100644 index 0000000..dcc10ca --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/ex_skill/ex_skill.lua @@ -0,0 +1,434 @@ +---@alias ExSkill.AutoPlayMode +---| "NONE" # 自動再生なし +---| "MAIN" # メインExスキル +---| "SUB" # サブExスキル + +---@alias ExSkill.TransitionPhase +---| "PRE" # Exスキルアニメーション開始前 +---| "POST" # Exスキルアニメーション終了後 + +---@class (exact) ExSkill : AvatarModule Exスキルのアニメーションを管理するクラス +---@field package AUTO_PLAY ExSkill.AutoPlayMode アバター読み込み時に自動的にExスキルが再生される。デバッグ用。 +---@field public frameParticleAmount integer Exスキルフレームのパーティクルの量:1. 標準, 2. 少なめ, 3. なし, 4. Exスキルフレーム非表示、パーティクル量は標準 +---@field package exSkillIndex integer 現在再生中のExスキルのインデックス番号 +---@field public animationCount integer Exスキルのアニメーション再生中に増加するカウンター。-1はアニメーション停止中を示す。 +---@field package animationLength number Exスキルのアニメーションの長さ。スクリプトで自動で代入する。 +---@field public transitionCount number Exスキルのアニメーション前後のカメラのトランジションの進捗を示すカウンター +---@field package keyPressCount integer Exスキルキーを押下し続ける時間を計るカウンター +---@field package bodyYaw number[] プレイヤーの体の回転 +---@field package isDebugInit boolean デバッグモードが初期化されたかどうか +---@field public canPlayAnimation fun(self: ExSkill): boolean アニメーションが再生可能かどうかを返す +---@field package transition fun(self: ExSkill, direction: ExSkill.TransitionPhase, callback: fun()) Exスキルのアニメーションの前後のカメラのトランジションを行う関数 +---@field public play fun(self: ExSkill, isSubExSkill: boolean) アニメーションを再生する +---@field public stop fun(self: ExSkill) アニメーションを停止する +---@field public forceStop fun(self: ExSkill) アニメーションを停止する。終了時のトランジションも無効。 + +ExSkill = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ExSkill + new = function (parent) + ---@type ExSkill + local instance = Avatar.instantiate(ExSkill, AvatarModule, parent) + + instance.AUTO_PLAY = "NONE" + + instance.frameParticleAmount = instance.parent.config:loadConfig("PRIVATE", "exSkillFrameParticleAmount", 1) + instance.exSkillIndex = 1 + instance.animationCount = -1 + instance.animationLength = 0 + instance.transitionCount = 0 + instance.keyPressCount = 0 + instance.bodyYaw = {} + instance.isDebugInit = false + + return instance + end; + + ---初期化関数 + ---@param self ExSkill + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + for _, exSkill in ipairs(self.parent.characterData.exSkill) do + local offset = (exSkill.camera.fixMode ~= nil and exSkill.camera.fixMode) and 1 or 0.9375 + exSkill.camera.start.pos:mul(-1, 1, 1):scale(1 / 16 * offset) + exSkill.camera.fin.pos:mul(-1, 1, 1):scale(1 / 16 * offset) + end + + local exSkillKey = self.parent.keyManager:register("ex_skill", self.parent.config:loadConfig("PRIVATE", "keybind.ex_skill", "key.keyboard.g")) + exSkillKey:setOnPress(function () + while events.TICK:getRegisteredCount("ex_skill_keypress_tick") > 0 do + events.TICK:remove("ex_skill_keypress_tick") + end + events.TICK:register(function () + if self.keyPressCount == 30 then + events.TICK:remove("ex_skill_keypress_tick") + self.parent.placementObjectManager:removeAll() + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.zombie.break_wooden_door"), player:getPos(), 0.25, 2) + self.keyPressCount = 0 + return + end + self.keyPressCount = self.keyPressCount + 1 + end, "ex_skill_keypress_tick") + end) + exSkillKey:setOnRelease(function () + events.TICK:remove("ex_skill_keypress_tick") + if self.keyPressCount > 0 then + if self:canPlayAnimation() and self.animationCount == -1 and self.transitionCount == 0 then + pings.exSkill() + else + print(self.parent.locale:getLocale("key_bind.ex_skill.unavailable"..(renderer:isFirstPerson() and "_firstperson" or ""))) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + end + self.keyPressCount = 0 + end + end) + self.parent.keyManager:register("ex_skill_sub", self.parent.config:loadConfig("PRIVATE", "keybind.ex_skill_sub", "key.keyboard.h")):setOnPress(function () + if self:canPlayAnimation() and self.animationCount == -1 and self.transitionCount == 0 and self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill ~= nil then + pings.subExSkill() + else + print(self.parent.locale:getLocale(self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill == nil and "action_wheel.main.action_6.unavailable" or "key_bind.ex_skill.unavailable"..(renderer:isFirstPerson() and "_firstperson" or ""))) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + end + end) + end + + table.insert(self.bodyYaw, player:getBodyYaw() % 360) + + events.TICK:register(function () + if not renderer:isFirstPerson() then + table.insert(self.bodyYaw, player:getBodyYaw() % 360) + if #self.bodyYaw == 3 then + table.remove(self.bodyYaw, 1) + end + end + end) + + if self.AUTO_PLAY ~= "NONE" then + events.TICK:register(function () + if not self.isDebugInit then + events.TICK:remove("ex_skill_debug_tick") + self:play(self.AUTO_PLAY == "SUB") + self.isDebugInit = true + end + end, "ex_skill_debug_tick") + end + end; + + ---アニメーションが再生可能かどうかを返す。 + ---@param self ExSkill + ---@return boolean canPlayAnimation Exスキルアニメーションが再生可能かどうか + canPlayAnimation = function (self) + return player:getPose() == "STANDING" and player:getVelocity():length() < 0.01 and self.bodyYaw[1] == self.bodyYaw[2] and player:isOnGround() and not player:isInWater() and not player:isInLava() and player:getFrozenTicks() == 0 and not renderer:isFirstPerson() and self.parent.playerUtils.damageStatus == "NONE" and player:getSwingArm() == nil and player:getActiveItem().id == "minecraft:air" and not self.parent.costume.isChangingCostume + end; + + ---Exスキルのアニメーションの前後のカメラのトランジションを行う関数 + ---@param self ExSkill + ---@param direction ExSkill.TransitionPhase カメラのトランジションの向き + ---@param callback fun() トランジション終了時に呼び出されるコールバック関数 + transition = function (self, direction, callback) + events.TICK:register(function () + if not client:isPaused() then + if events.TICK:getRegisteredCount("ex_skill_transition_tick") == 1 then + self.transitionCount = direction == "PRE" and math.min(self.transitionCount + 1, 10) or math.max(self.transitionCount - 1, 0) + end + if (direction == "PRE" and self.transitionCount == 10) or (direction == "POST" and self.transitionCount == 0) then + if host:isHost() then + local windowSize = client:getScaledWindowSize() + models.models.ex_skill_frame.Gui.FrameBar:setPos(0, 0, 0) + if direction == "PRE" and self.frameParticleAmount < 4 then + for _, modelPart in ipairs({models.models.ex_skill_frame.Gui.Frame.FrameTopLeft, models.models.ex_skill_frame.Gui.Frame.FrameTopRight, models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft, models.models.ex_skill_frame.Gui.Frame.FrameBottomRight}) do + modelPart:setVisible(true) + end + models.models.ex_skill_frame.Gui.Frame.FrameTop:setPos(-windowSize.x + 16, -16) + models.models.ex_skill_frame.Gui.Frame.FrameTop:setScale(windowSize.x / 16 - 2, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setPos(-16, -windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setScale(1, windowSize.y / 16 - 2, 1) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setPos(-windowSize.x + 16, -windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setScale(windowSize.x / 16 - 2, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setPos(-windowSize.x, -windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setScale(1, windowSize.y / 16 - 2, 1) + elseif direction == "POST" then + for _, modelPart in ipairs({models.models.ex_skill_frame.Gui.Frame.FrameTopLeft, models.models.ex_skill_frame.Gui.Frame.FrameTopRight, models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft, models.models.ex_skill_frame.Gui.Frame.FrameBottomRight}) do + modelPart:setVisible(false) + end + for _, modelPart in ipairs({models.models.ex_skill_frame.Gui.Frame.FrameTop, models.models.ex_skill_frame.Gui.Frame.FrameLeft, models.models.ex_skill_frame.Gui.Frame.FrameBottom, models.models.ex_skill_frame.Gui.Frame.FrameRight}) do + modelPart:setScale(0, 0, 0) + end + end + end + callback() + events.TICK:remove("ex_skill_transition_tick") + events.RENDER:remove("ex_skill_transition_render") + end + if host:isHost() then + local barPos = models.models.ex_skill_frame.Gui.FrameBar:getPos().x * -1 + local windowSizeY = client:getScaledWindowSize().y + if self.frameParticleAmount ~= 3 and self.transitionCount >= 1 and self.transitionCount <= 9 then + for _ = 1, windowSizeY / (self.frameParticleAmount == 2 and 100 or 20) do + local particleOffset = math.random() * windowSizeY + self.parent.frameParticleManager:spawn(vectors.vec2(barPos - particleOffset - math.random() * 50, particleOffset):scale(-1), vectors.vec2(500, 0)) + end + end + end + end + end, "ex_skill_transition_tick") + + events.RENDER:register(function (delta) + --カメラのトランジション + if not client:isPaused() and host:isHost() then + local lookDir = player:getLookDir() + local cameraRot = renderer:isCameraBackwards() and vectors.vec3(math.deg(math.asin(lookDir.y)), math.deg(math.atan2(lookDir.z, lookDir.x) + math.pi / 2)) or vectors.vec3(math.deg(math.asin(-lookDir.y)), math.deg(math.atan2(lookDir.z, lookDir.x) - math.pi / 2)) + local targetCameraPos = vectors.vec3() + local targetCameraRot = vectors.vec3() + if direction == "PRE" then + targetCameraPos = vectors.rotateAroundAxis(self.bodyYaw[2] * -1 + 180, self.parent.characterData.exSkill[self.exSkillIndex].camera.start.pos, 0, 1):add(0, -1.62) + targetCameraRot = self.parent.characterData.exSkill[self.exSkillIndex].camera.start.rot:copy():add(0, self.bodyYaw[2], 0) + else + targetCameraPos = vectors.rotateAroundAxis(self.bodyYaw[2] * -1 + 180, self.parent.characterData.exSkill[self.exSkillIndex].camera.fin.pos, 0, 1):add(0, -1.62) + targetCameraRot = self.parent.characterData.exSkill[self.exSkillIndex].camera.fin.rot:copy():add(0, self.bodyYaw[2], 0) + end + if math.abs(cameraRot.y - targetCameraRot.y) >= 180 then + if cameraRot.y < targetCameraRot.y then + cameraRot.y = cameraRot.y + 360 + else + targetCameraRot.y = targetCameraRot.y + 360 + end + end + local trueDelta = direction == "PRE" and delta or delta * -1 + self.parent.cameraManager.setCameraPivot(targetCameraPos:scale((self.transitionCount + trueDelta) / 10)) + self.parent.cameraManager.setCameraRot(targetCameraRot:copy():sub(cameraRot):scale((self.transitionCount + trueDelta) / 10):add(cameraRot)) + self.parent.cameraManager:setThirdPersonCameraDistance(4 - (self.transitionCount + trueDelta) / 10 * 4) + + --フレーム演出 + local windowSize = client:getScaledWindowSize() + local barPos = (windowSize.x + windowSize.y + math.sqrt(2) * 16) * (direction == "PRE" and (self.transitionCount + trueDelta) / 10 or (1 - (self.transitionCount + trueDelta) / 10)) + models.models.ex_skill_frame.Gui.FrameBar:setPos(-barPos, 0, 0) + + if self.frameParticleAmount < 4 then + local frameTopLength = math.clamp(barPos, 32, windowSize.x) + local frameLeftLength = math.clamp(barPos, 32, windowSize.y) + local frameBottomLength = math.clamp(barPos - windowSize.y + 16, 32, windowSize.x) + local frameRightLength = math.clamp(barPos - windowSize.x + 16, 32, windowSize.y) + + models.models.ex_skill_frame.Gui.Frame.FrameTopLeft:setPos(-16, -16) + models.models.ex_skill_frame.Gui.Frame.FrameTopRight:setPos(-windowSize.x, -16) + models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft:setPos(-16, -windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameBottomRight:setPos(-windowSize.x, -windowSize.y) + if direction == "PRE" then + models.models.ex_skill_frame.Gui.Frame.FrameTopLeft:setVisible(barPos >= 16) + models.models.ex_skill_frame.Gui.Frame.FrameTopRight:setVisible(barPos >= windowSize.x + 16) + models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft:setVisible(barPos >= windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameBottomRight:setVisible(barPos >= windowSize.x + windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameTop:setPos(-frameTopLength + 16, -16) + models.models.ex_skill_frame.Gui.Frame.FrameTop:setScale(frameTopLength / 16 - 2, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setPos(-16, -frameLeftLength + 16) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setScale(1, frameLeftLength / 16 - 2, 1) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setPos(-frameBottomLength + 16, -windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setScale(frameBottomLength / 16 - 2, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setPos(-windowSize.x, -frameRightLength + 16) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setScale(1, frameRightLength / 16 - 2, 1) + else + models.models.ex_skill_frame.Gui.Frame.FrameTopLeft:setVisible(barPos < 16) + models.models.ex_skill_frame.Gui.Frame.FrameTopRight:setVisible(barPos < windowSize.x + 16) + models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft:setVisible(barPos < windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameBottomRight:setVisible(barPos < windowSize.x + windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameTop:setPos(-windowSize.x + 16, -16) + models.models.ex_skill_frame.Gui.Frame.FrameTop:setScale((windowSize.x - frameTopLength) / 16, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setPos(-16, -windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setScale(1, (windowSize.y - frameLeftLength) / 16, 1) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setPos(-windowSize.x + 16, -windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setScale((windowSize.x - frameBottomLength) / 16, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setPos(-windowSize.x, -windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setScale(1, (windowSize.y - frameRightLength) / 16, 1) + end + end + end + end, "ex_skill_transition_render") + end; + + ---アニメーションを再生する。 + ---@param self ExSkill + ---@param isSubExSkill boolean サブExスキルを再生するかどうか + play = function (self, isSubExSkill) + if isSubExSkill then + if self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill ~= nil then + self.exSkillIndex = self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill + else + return + end + else + self.exSkillIndex = self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].exSkill + end + + self.parent.bubble:stop() + renderer:setFOV(70 / client:getFOV()) + renderer:setRenderHUD(false) + self.parent.cameraManager:setCameraCollisionDenial(true) + models.models.ex_skill_frame.Gui:setColor(self.parent.characterData.exSkill[self.exSkillIndex].formationType == "STRIKER" and vectors.vec3(1, 0.75, 0.75) or vectors.vec3(0.75, 1, 1)) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.levelup"), player:getPos(), 5, 2) + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPreTransition ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPreTransition(self.parent.characterData) + end + models.models.ex_skill_frame.Gui.FrameBar:setScale(1, client:getScaledWindowSize().y * math.sqrt(2) / 16 + 1, 1) + + events.TICK:register(function () + if not self:canPlayAnimation() then + self:forceStop() + end + end, "ex_skill_tick") + + self:transition("PRE", function () + self.parent.physics:disable() + for _, itemModel in ipairs({vanilla_model.RIGHT_ITEM, vanilla_model.LEFT_ITEM}) do + itemModel:setVisible(false) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].models) do + modelPart:setVisible(true) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].animations) do + animations["models."..modelPart]["ex_skill_"..self.exSkillIndex]:play() + end + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPreAnimation ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPreAnimation(self.parent.characterData) + end + self.parent.cameraManager:setThirdPersonCameraDistance(0) + + events.TICK:register(function () + if not client:isPaused() then + if self.animationCount == self.animationLength - 1 then + self:stop() + elseif self:canPlayAnimation() and animations["models.main"]["ex_skill_"..self.exSkillIndex]:isPlaying() then + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onAnimationTick ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onAnimationTick(self.parent.characterData, self.animationCount) + end + self.animationCount = self.animationCount > -1 and self.animationCount + 1 or self.animationCount + end + + if host:isHost() then + local windowSize = client:getScaledWindowSize() + local windowCenter = windowSize:copy():scale(0.5) + if self.frameParticleAmount < 3 then + for _ = 1, (windowSize.x * 2 + windowSize.y * 2) / (self.frameParticleAmount == 1 and 100 or 500) do + local particlePos = vectors.vec2(math.random() * (windowSize.x * 2 + windowSize.y * 2), math.random() * 16) + particlePos = particlePos.x <= windowSize.x and particlePos or (particlePos.x <= windowSize.x + windowSize.y and vectors.vec2(windowSize.x - particlePos.y, particlePos.x - windowSize.x) or (particlePos.x <= windowSize.x * 2 + windowSize.y and vectors.vec2(particlePos.x - (windowSize.x + windowSize.y), windowSize.y - particlePos.y) or vectors.vec2(particlePos.y, particlePos.x - (windowSize.x * 2 + windowSize.y)))) + self.parent.frameParticleManager:spawn(particlePos:copy():scale(-1), windowCenter:copy():sub(particlePos):scale(0.25)) + end + end + end + end + end, "ex_skill_animation_tick") + + if host:isHost() then + events.RENDER:register(function () + if not client:isPaused() then + self.parent.cameraManager.setCameraPivot(vectors.rotateAroundAxis(self.bodyYaw[2] * -1 + 180, models.models.main.CameraAnchor:getAnimPos():scale(1 / 16 * ((self.parent.characterData.exSkill[self.exSkillIndex].camera.fixMode ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].camera.fixMode) and 1 or 0.9375)), 0, 1, 0):add(0, -1.62, 0)) + self.parent.cameraManager.setCameraRot(models.models.main.CameraAnchor:getAnimRot():scale(-1):add(0, self.bodyYaw[2], 0)) + end + end, "ex_skill_animation_render") + end + self.animationCount = 0 + self.parent.gun:processGunTick() + self.animationLength = math.round(animations["models.main"]["ex_skill_"..self.exSkillIndex]:getLength() * 20) + end) + end; + + ---アニメーションを停止する。 + ---@param self ExSkill + stop = function (self) + events.TICK:remove("ex_skill_animation_tick") + if host:isHost() then + events.RENDER:remove("ex_skill_animation_render") + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.levelup"), player:getPos(), 5, 2):setAttenuation(100) + end + + for _, itemModel in ipairs({vanilla_model.RIGHT_ITEM, vanilla_model.LEFT_ITEM}) do + itemModel:setVisible(true) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].models) do + modelPart:setVisible(false) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].animations) do + animations["models."..modelPart]["ex_skill_"..self.exSkillIndex]:stop() + end + self.parent.physics:enable() + renderer:setFOV() + self.animationCount = -1 + + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostAnimation ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostAnimation(self.parent.characterData, false) + end + self:transition("POST", function () + events.TICK:remove("ex_skill_tick") + self.parent.cameraManager.setCameraPivot() + self.parent.cameraManager.setCameraRot() + self.parent.cameraManager:setThirdPersonCameraDistance(4) + self.parent.cameraManager:setCameraCollisionDenial(false) + renderer:setRenderHUD(true) + + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostTransition ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostTransition(self.parent.characterData, false) + end + end) + end; + + ---アニメーションを停止する。終了時のトランジションも無効。 + ---@param self ExSkill + forceStop = function (self) + events.RENDER:remove("ex_skill_transition_render") + if host:isHost() then + events.TICK:remove("ex_skill_transition_tick") + events.RENDER:remove("ex_skill_animation_render") + end + + for _, itemModel in ipairs({vanilla_model.RIGHT_ITEM, vanilla_model.LEFT_ITEM}) do + itemModel:setVisible(true) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].models) do + modelPart:setVisible(false) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].animations) do + animations["models."..modelPart]["ex_skill_"..self.exSkillIndex]:stop() + end + for _, eventName in ipairs({"ex_skill_tick", "ex_skill_animation_tick"}) do + events.TICK:remove(eventName) + end + self.parent.physics:enable() + models.models.ex_skill_frame.Gui.FrameBar:setPos() + for _, modelPart in ipairs({models.models.ex_skill_frame.Gui.Frame.FrameTopLeft, models.models.ex_skill_frame.Gui.Frame.FrameTopRight, models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft, models.models.ex_skill_frame.Gui.Frame.FrameBottomRight}) do + modelPart:setVisible(false) + end + for _, modelPart in ipairs({models.models.ex_skill_frame.Gui.Frame.FrameTop, models.models.ex_skill_frame.Gui.Frame.FrameLeft, models.models.ex_skill_frame.Gui.Frame.FrameBottom, models.models.ex_skill_frame.Gui.Frame.FrameRight}) do + modelPart:setScale(0, 0, 0) + end + self.parent.faceParts:resetEmotion() + self.parent.cameraManager.setCameraPivot() + self.parent.cameraManager.setCameraRot() + self.parent.cameraManager:setThirdPersonCameraDistance(4) + self.parent.cameraManager:setCameraCollisionDenial(false) + renderer:setRenderHUD(true) + renderer:setFOV() + + if self.animationCount >= 0 and self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostAnimation ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostAnimation(self.parent.characterData, true) + end + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostTransition ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostTransition(self.parent.characterData, true) + end + + self.animationCount = -1 + self.transitionCount = 0 + end; +} + +---Exスキルを再生する。 +function pings.exSkill() + AvatarInstance.exSkill:play(false) +end + +---サブExスキルを再生する。 +function pings.subExSkill() + AvatarInstance.exSkill:play(true) +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/ex_skill/ex_skill_frame_particle.lua b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/ex_skill/ex_skill_frame_particle.lua new file mode 100644 index 0000000..59315a9 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/ex_skill/ex_skill_frame_particle.lua @@ -0,0 +1,68 @@ +---@class (exact) ExSkillFrameParticle : SpawnObject Exスキルのフレームで使用するパーティクルの単一を管理するクラス +---@field package object ModelPart インスタンスで制御するオブジェクト +---@field package currentPos Vector2 パーティクルの現在位置 +---@field package nextPos Vector2 次ティックのパーティクルの位置 +---@field package velocity Vector2 パーティクルの速度 +---@field package particleCount integer パーティクルのアニメーションを制御するためのカウンター +---@field public new fun(parent: Avatar, pos: Vector2, velocity: Vector2, type: ExSkillFrameParticleManager.ParticleType): ExSkillFrameParticle コンストラクター + +ExSkillFrameParticle = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@param pos Vector2 パーティクルをスポーンさせるスクリーン上の座標。GUIスケールも考慮される。 + ---@param velocity Vector2 パーティクルの秒間移動距離(ピクセル) + ---@param type ExSkillFrameParticleManager.ParticleType このインスタンスのパーティクルの種類 + ---@return ExSkillFrameParticle + new = function (parent, pos, velocity, type) + ---@type ExSkillFrameParticle + local instance = Avatar.instantiate(ExSkillFrameParticle, SpawnObject, parent) + + instance.object = models.models.ex_skill_frame.Particles["Particle"..(type == "NORMAL" and 1 or 2)]:copy(instance.uuid) + instance.currentPos = pos + instance.nextPos = instance.currentPos + instance.velocity = velocity + instance.particleCount = 0 + + instance.callbacks = { + ---@param self ExSkillFrameParticle + onInit = function (self) + models.models.ex_skill_frame.Gui.script_ex_skill_frame_particles:addChild(self.object) + self.object:setRot(90, math.random() * 360, 180) + end; + + ---@param self ExSkillFrameParticle + onDeinit = function (self) + self.object:remove() + end; + + ---@param self ExSkillFrameParticle + onTick = function (self) + --パーティクル位置を強制更新 + self.currentPos = self.nextPos:copy() + self.object:setPos(self.currentPos:copy():augmented(0)) + self.object:setScale(vectors.vec3(1, 1, 1):scale(1 - self.particleCount / 5)) + + --カウンターを更新 + self.particleCount = self.particleCount + 1 + if self.particleCount == 5 then + self.object:remove() + elseif self.particleCount == 6 then + self.shouldDeinit = true + end + + --次ティックの位置を計算 + if self.velocity:length() > 0 then + self.nextPos = self.currentPos:copy():add(self.velocity:copy():scale(-0.05)) + end + end; + + ---@param self ExSkillFrameParticle + onRender = function (self, delta) + self.object:setPos(self.nextPos:copy():sub(self.currentPos):scale(delta):add(self.currentPos):augmented(0)) + self.object:setScale(vectors.vec3(1, 1, 1):scale(1 - (self.particleCount + delta) / 5)) + end; + } + + return instance + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/ex_skill/ex_skill_frame_particle_manager.lua b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/ex_skill/ex_skill_frame_particle_manager.lua new file mode 100644 index 0000000..262709e --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/ex_skill/ex_skill_frame_particle_manager.lua @@ -0,0 +1,48 @@ +---@alias ExSkillFrameParticleManager.ParticleType +---| "NORMAL" # 通常のパーティクル +---| "FIGURA" # Figuraマークのパーティクル(穴空き三角形) + +---@class (exact) ExSkillFrameParticleManager : SpawnObjectManager Exスキルのフレームで使用するパーティクルを管理するクラス +---@field public objects ExSkillFrameParticle[] インスタンスで制御するオブジェクト +---@field public getObject fun(self: ExSkillFrameParticleManager, pos: Vector2, velocity: Vector2): ExSkillFrameParticle Exスキルフレームのパーティクルのインスタンスを生成して返す +---@field public spawn fun(self: ExSkillFrameParticleManager, pos: Vector2, velocity: Vector2) Exスキルフレームのパーティクルをスポーンさせる + +ExSkillFrameParticleManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ExSkillFrameParticleManager + new = function (parent) + ---@type ExSkillFrameParticleManager + local instance = Avatar.instantiate(ExSkillFrameParticleManager, SpawnObjectManager, parent) + + instance.managerName = "ex_skill_frame_particle" + + return instance + end; + + ---初期化関数 + ---@param self ExSkillFrameParticleManager + init = function (self) + SpawnObjectManager.init(self) + + ---@diagnostic disable-next-line: discard-returns + models.models.ex_skill_frame.Gui:newPart("script_ex_skill_frame_particles") + end; + + ---Exスキルフレームのパーティクルのインスタンスを生成して返す。 + ---@param self ExSkillFrameParticleManager + ---@param pos Vector2 パーティクルをスポーンさせる画面上の座標 + ---@param velocity Vector2 パーティクルの速度 + ---@return ExSkillFrameParticle instance 生成したインスタンス + getObject = function (self, pos, velocity) + return ExSkillFrameParticle.new(self.parent, pos, velocity, math.random() > 0.9999 and "FIGURA" or "NORMAL") + end; + + ---Exスキルフレームのパーティクルをスポーンさせる。 + ---@param self ExSkillFrameParticleManager + ---@param pos Vector2 パーティクルをスポーンさせる画面上の座標 + ---@param velocity Vector2 パーティクルの速度 + spawn = function (self, pos, velocity) + SpawnObjectManager.spawn(self, pos, velocity) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/face_parts.lua b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/face_parts.lua new file mode 100644 index 0000000..c364e0f --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/face_parts.lua @@ -0,0 +1,88 @@ +---@class (exact) FaceParts : AvatarModule 目と口のテクスチャを管理するクラス +---@field package emotionCount integer エモートの時間を計るカウンター +---@field public blinkCount integer 瞬きのタイミングを計るカウンター +---@field public setEmotion fun(self: FaceParts, rightEye: BlueArchiveCharacter.RightEyeTextures, leftEye: BlueArchiveCharacter.LeftEyeTextures, mouth: BlueArchiveCharacter.MouthTextures, duration: integer, forced?: boolean) 表情を設定する +---@field public resetEmotion fun(self: FaceParts) 表情をリセットする + +FaceParts = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return FaceParts + new = function (parent) + ---@type FaceParts + local instance = Avatar.instantiate(FaceParts, AvatarModule, parent) + + instance.emotionCount = 0 + instance.blinkCount = 200 + + return instance + end; + + ---初期化関数 + ---@param self FaceParts + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + if not client:isPaused() then + if self.parent.playerUtils.damageStatus == "DAMAGE" then + if self.parent.characterData.faceParts.emotionSet ~= nil and self.parent.characterData.faceParts.emotionSet.onDamage ~= nil then + self:setEmotion(self.parent.characterData.faceParts.emotionSet.onDamage.rightEye, self.parent.characterData.faceParts.emotionSet.onDamage.leftEye, self.parent.characterData.faceParts.emotionSet.onDamage.mouth, 8, true) + else + self:setEmotion("SURPRISED", "SURPRISED", "NORMAL", 8, true) + end + elseif self.parent.playerUtils.damageStatus == "DIED" then + if self.parent.characterData.faceParts.emotionSet ~= nil and self.parent.characterData.faceParts.emotionSet.onDied ~= nil then + self:setEmotion(self.parent.characterData.faceParts.emotionSet.onDied.rightEye, self.parent.characterData.faceParts.emotionSet.onDied.leftEye, self.parent.characterData.faceParts.emotionSet.onDied.mouth, 20, true) + else + self:setEmotion("SURPRISED", "SURPRISED", "NORMAL", 20, true) + end + elseif self.emotionCount == 0 then + self:setEmotion("NORMAL", "NORMAL", "NORMAL", 0) + end + + if self.blinkCount == 0 then + self:setEmotion("CLOSED", "CLOSED", "NORMAL", 2) + self.blinkCount = 200 + else + self.blinkCount = self.blinkCount - 1 + end + + self.emotionCount = self.emotionCount > 0 and self.emotionCount - 1 or self.emotionCount + end + end) + end; + + ---表情を設定する。 + ---@param self FaceParts + ---@param rightEye BlueArchiveCharacter.RightEyeTextures 設定する右目の名前 + ---@param leftEye BlueArchiveCharacter.LeftEyeTextures 設定する左目の名前 + ---@param mouth BlueArchiveCharacter.MouthTextures 設定する口の名前 + ---@param duration integer この表情を有効にする時間 + ---@param forced? boolean trueにすると以前のエモーションが再生中でも強制的に現在のエモーションを適用させる。 + setEmotion = function (self, rightEye, leftEye, mouth, duration, forced) + if self.emotionCount == 0 or forced then + --右目 + models.models.main.Avatar.Head.FaceParts.Eyes.EyeLeft:setUVPixels(self.parent.characterData.faceParts.rightEye[rightEye]:copy():scale(6)) + + --左目 + models.models.main.Avatar.Head.FaceParts.Eyes.EyeRight:setUVPixels(self.parent.characterData.faceParts.leftEye[leftEye]:copy():scale(6)) + + --口 + if mouth ~= "NORMAL" then + models.models.main.Avatar.Head.FaceParts.Mouth:setVisible(true) + models.models.main.Avatar.Head.FaceParts.Mouth:setUVPixels(self.parent.characterData.faceParts.mouth[mouth]:copy():mul(16, 8)) + else + models.models.main.Avatar.Head.FaceParts.Mouth:setVisible(false) + end + + self.emotionCount = duration + end + end; + + ---表情をリセットする。 + ---@param self FaceParts + resetEmotion = function (self) + self.emotionCount = 0 + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/gun.lua b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/gun.lua new file mode 100644 index 0000000..e85079b --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/gun.lua @@ -0,0 +1,376 @@ +---@alias Gun.GunPosition +---| "NONE" # 構えていない +---| "RIGHT" # 右手に構える +---| "LEFT" # 左手に構える + +---@alias Gun.HandDirection +---| "RIGHT" # 右手 +---| "LEFT" # 左手 + +---@class (exact) Gun : AvatarModule 生徒の銃を制御するクラス +---@field public gunItems Minecraft.itemID[] 銃のモデルを適用するアイテム +---@field public shouldShowWeaponInFirstPerson boolean 一人称で武器(銃を含む)のモデルを表示するかどうか +---@field public currentGunPosition Gun.GunPosition 現在の銃の位置 +---@field package heldItemsPrev Gun.HeldItemSet 前ティックの手持ちアイテム +---@field package isLeftHandedPrev boolean 前ティックに左利きだったかどうか +---@field package isGunTickProcessed boolean このティック内で銃ティックを処理したかどうか +---@field package setBodyGunPos fun(self: Gun) 背中の銃の位置・向きを設定する +---@field public setGunPosition fun(self: Gun, gonPosition: Gun.GunPosition) 銃の位置を変更する +---@field public processGunTick fun(self: Gun) 銃ティックを処理する + +---@class (exact) Gun.HeldItemSet 手持ちアイテムを示すデータセット +---@field public mainHand ItemStack メインハンド +---@field public offHand ItemStack オフハンド + +Gun = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Gun + new = function (parent) + ---@type Gun + local instance = Avatar.instantiate(Gun, AvatarModule, parent) + + instance.gunItems = {"minecraft:bow", "minecraft:crossbow"} + instance.shouldShowWeaponInFirstPerson = instance.parent.config:loadConfig("PRIVATE", "firstPersonWeapon", true) + instance.currentGunPosition = "NONE" + instance.heldItemsPrev = { + mainHand = world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")); + offHand = world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")); + } + instance.isLeftHandedPrev = player:isLeftHanded() + instance.isGunTickProcessed = false + + return instance + end; + + ---初期化関数 + ---@param self Gun + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + self:processGunTick() + self.isGunTickProcessed = false + end) + + events.ON_PLAY_SOUND:register(function (id, pos, _, _, _, _, path) + if path ~= nil then + local velocityDistance = player:getVelocity():length() + local distanceFromSound = math.abs(pos:copy():sub(player:getPos()):length() - velocityDistance) + if (id == "minecraft:entity.arrow.shoot" or id == "minecraft:item.crossbow.loading_end" or id == "minecraft:item.crossbow.shoot") and math.abs(velocityDistance - distanceFromSound) < 1 then + if id == "minecraft:item.crossbow.loading_end" then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.dispenser.fail"), pos, 1, 2) + elseif player:isUnderwater() then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.generic.extinguish_fire"), pos, 0.5, 1.5) + else + local particleAnchor = self.parent.modelUtils.getModelWorldPos(renderer:isFirstPerson() and (Gun.CurrentGunPosition == "RIGHT" and models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.RightItemPivot or models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.LeftItemPivot) or models.models.main.Avatar.UpperBody.Body.Gun.MuzzleAnchor) + for _ = 1, 5 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:smoke"), particleAnchor) + end + sounds:playSound(self.parent.compatibilityUtils:checkSound(self.parent.characterData.gun.sound.name), pos, 1, self.parent.characterData.gun.sound.pitch) + end + return true + elseif (id == "minecraft:item.crossbow.loading_start" or id == "minecraft:item.crossbow.loading_middle" or id:match("^minecraft:item%.crossbow%.quick_charge_[1-3]$") ~= nil) and distanceFromSound < 1 and player:getActiveItem().id == "minecraft:crossbow" then + local activeItemTime = player:getActiveItemTime() + local quickChargeLevel = 0 + local activeItem = player:getActiveItem() + if activeItem.tag.Enchantments ~= nil then + for _, enchant in ipairs(activeItem.tag.Enchantments) do + if enchant.id == "minecraft:quick_charge" then + quickChargeLevel = enchant.lvl + break + end + end + end + if (quickChargeLevel <= 4 and activeItemTime + quickChargeLevel >= 4 and activeItemTime + quickChargeLevel <= 6) or (quickChargeLevel == 5 and activeItemTime <= 2) then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.flintandsteel.use"), pos, 1, 2) + return true + elseif id == "minecraft:item.crossbow.loading_middle" then + return true + end + end + end + end) + + local this = self --Figuraにスクリプトを再構築させると参照がおかしくなることに対処しているコード + events.ITEM_RENDER:register(function (item, mode, _, _, _, leftHanded) + self = this + if mode ~= "HEAD" and self.currentGunPosition == (leftHanded and "LEFT" or "RIGHT") and (self.shouldShowWeaponInFirstPerson or mode =="THIRD_PERSON_LEFT_HAND" or mode == "THIRD_PERSON_RIGHT_HAND") then + for _, gunItem in ipairs(self.gunItems) do + if item.id == gunItem then + if leftHanded then + if mode == "FIRST_PERSON_LEFT_HAND" then + local offsetPos = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.firstPersonPos ~= nil and self.parent.characterData.gun.gunPosition.hold.firstPersonPos.left ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.hold.firstPersonPos.left + end + local offsetRot = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.firstPersonRot ~= nil and self.parent.characterData.gun.gunPosition.hold.firstPersonRot.left ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.hold.firstPersonRot.left + end + local activeItemId = player:getActiveItem().id + if activeItemId == "minecraft:bow" then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -2.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(20, -7.5, -5):add(offsetRot)) + elseif activeItemId == "minecraft:crossbow" then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, 0.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + elseif item.id == "minecraft:crossbow" and item.tag.Charged == 1 then + if player:isLeftHanded() then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(-10, -1.25, 6):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 10, 0):add(offsetRot)) + else + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -1.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + else + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -1.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + elseif mode == "THIRD_PERSON_LEFT_HAND" then + local offsetPos = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.thirdPersonPos ~= nil and self.parent.characterData.gun.gunPosition.hold.thirdPersonPos.left ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.hold.thirdPersonPos.left + end + local offsetRot = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.thirdPersonRot ~= nil and self.parent.characterData.gun.gunPosition.hold.thirdPersonRot.left ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.hold.thirdPersonRot.left + end + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -4.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + else + if mode == "FIRST_PERSON_RIGHT_HAND" then + local offsetPos = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.firstPersonPos ~= nil and self.parent.characterData.gun.gunPosition.hold.firstPersonPos.right ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.hold.firstPersonPos.right + end + local offsetRot = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.firstPersonRot ~= nil and self.parent.characterData.gun.gunPosition.hold.firstPersonRot.right ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.hold.firstPersonRot.right + end + local activeItemId = player:getActiveItem().id + if activeItemId == "minecraft:bow" then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -2.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(20, 7.5, 5):add(offsetRot)) + elseif activeItemId == "minecraft:crossbow" then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, 0.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + elseif item.id == "minecraft:crossbow" and item.tag.Charged == 1 then + if player:isLeftHanded() then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -1.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + else + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(10, -1.25, 6):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, -10, 0):add(offsetRot)) + end + else + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -1.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + elseif mode == "THIRD_PERSON_RIGHT_HAND" then + local offsetPos = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.thirdPersonPos ~= nil and self.parent.characterData.gun.gunPosition.hold.thirdPersonPos.right ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.hold.thirdPersonPos.right + end + local offsetRot = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.thirdPersonRot ~= nil and self.parent.characterData.gun.gunPosition.hold.thirdPersonRot.right ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.hold.thirdPersonRot.right + end + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -4.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + end + return models.models.main.Avatar.UpperBody.Body.Gun + end + end + end + end) + + models.models.main.Avatar.UpperBody.Body.Gun:setScale(vectors.vec3(1, 1, 1):scale(self.parent.characterData.gun.scale)) + self:setGunPosition("NONE") + if self.parent.characterData.gun.callbacks ~= nil and self.parent.characterData.gun.callbacks.onMainHandChange ~= nil then + self.parent.characterData.gun.callbacks.onMainHandChange(self.parent.characterData, self.isLeftHandedPrev and "LEFT" or "RIGHT") + end + end; + + ---背中の銃の位置・向きを設定する。 + ---@param self Gun + setBodyGunPos = function (self) + if models.models.main.Avatar.UpperBody.Body.Gun ~= nil then + local offsetPos = vectors.vec3() + local offsetRot = vectors.vec3() + if player:isLeftHanded() then + if self.parent.characterData.gun.gunPosition.put.pos ~= nil and self.parent.characterData.gun.gunPosition.put.pos.left ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.put.pos.left + end + if self.parent.characterData.gun.gunPosition.put.rot ~= nil and self.parent.characterData.gun.gunPosition.put.rot.left ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.put.rot.left + end + else + if self.parent.characterData.gun.gunPosition.put.pos ~= nil and self.parent.characterData.gun.gunPosition.put.pos.right ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.put.pos.right + end + if self.parent.characterData.gun.gunPosition.put.rot ~= nil and self.parent.characterData.gun.gunPosition.put.rot.right ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.put.rot.right + end + end + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, 12, 0):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(offsetRot) + end + end; + + ---銃の位置を変更する。 + ---@param self Gun + ---@param gunPosition Gun.GunPosition 変更先の構え位置 + setGunPosition = function (self, gunPosition) + if gunPosition == "NONE" then + for _, tickName in ipairs({"right_gun_tick", "left_gun_tick"}) do + events.TICK:remove(tickName) + end + models.models.main.Avatar.UpperBody.Body.Gun:setParentType("None") + models.models.main.Avatar.UpperBody.Body.Gun:setSecondaryRenderType("NONE") + if self.parent.characterData.gun.gunPosition.hold.type == "NORMAL" then + self.parent.arms:setArmState(0, 0) + elseif self.parent.characterData.gun.gunPosition.hold.type == "CUSTOM" then + for _, animationName in ipairs({"gun_hold_right", "gun_hold_left"}) do + animations["models.main"][animationName]:stop() + end + end + if self.parent.characterData.gun.gunPosition.put.type == "BODY" then + self:setBodyGunPos() + elseif self.parent.characterData.gun.gunPosition.put.type == "HIDDEN" then + models.models.main.Avatar.UpperBody.Body.Gun:setVisible(false) + end + elseif gunPosition == "RIGHT" then + events.TICK:remove("left_gun_tick") + if events.TICK:getRegisteredCount("right_gun_tick") == 0 then + events.TICK:register(function () + local heldItem = player:getHeldItem(player:isLeftHanded()) + local hasGlint = false + for _, gunItem in ipairs(self.gunItems) do + if gunItem == heldItem.id and heldItem:hasGlint() then + models.models.main.Avatar.UpperBody.Body.Gun:setSecondaryRenderType("GLINT") + hasGlint = true + break + end + end + if not hasGlint then + models.models.main.Avatar.UpperBody.Body.Gun:setSecondaryRenderType("NONE") + end + end, "right_gun_tick") + end + if self.parent.characterData.gun.gunPosition.hold.type == "NORMAL" then + self.parent.arms:setArmState(1, 2) + elseif self.parent.characterData.gun.gunPosition.hold.type == "CUSTOM" then + animations["models.main"]["gun_hold_left"]:stop() + animations["models.main"]["gun_hold_right"]:play() + end + models.models.main.Avatar.UpperBody.Body.Gun:setVisible(true) + models.models.main.Avatar.UpperBody.Body.Gun:setParentType("Item") + if not client:isPaused() then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.flintandsteel.use"), player:getPos(), 1, 2) + end + elseif gunPosition == "LEFT" then + events.TICK:remove("right_gun_tick") + if events.TICK:getRegisteredCount("left_gun_tick") == 0 then + events.TICK:register(function () + local heldItem = player:getHeldItem(not player:isLeftHanded()) + local hasGlint = false + for _, gunItem in ipairs(self.gunItems) do + if gunItem == heldItem.id and heldItem:hasGlint() then + models.models.main.Avatar.UpperBody.Body.Gun:setSecondaryRenderType("GLINT") + hasGlint = true + break + end + end + if not hasGlint then + models.models.main.Avatar.UpperBody.Body.Gun:setSecondaryRenderType("NONE") + end + end, "left_gun_tick") + end + if self.parent.characterData.gun.gunPosition.hold.type == "NORMAL" then + self.parent.arms:setArmState(2, 1) + elseif self.parent.characterData.gun.gunPosition.hold.type == "CUSTOM" then + animations["models.main"]["gun_hold_right"]:stop() + animations["models.main"]["gun_hold_left"]:play() + end + models.models.main.Avatar.UpperBody.Body.Gun:setVisible(true) + models.models.main.Avatar.UpperBody.Body.Gun:setParentType("Item") + if not client:isPaused() then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.flintandsteel.use"), player:getPos(), 1, 2) + end + end + self.currentGunPosition = gunPosition + end; + + ---銃ティックを処理する。 + ---@param self Gun + processGunTick = function (self) + if not self.isGunTickProcessed then + local heldItems = {} + if player:getPose() ~= "SLEEPING" and self.parent.exSkill.animationCount == -1 then + heldItems.mainHand = player:getHeldItem(false) + heldItems.offHand = player:getHeldItem(true) + else + heldItems.mainHand = world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air")) + heldItems.offHand = world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air")) + end + local targetItemFound = false + local isLeftHanded = player:isLeftHanded() + if heldItems.mainHand.id ~= self.heldItemsPrev.mainHand.id or heldItems.offHand.id ~= self.heldItemsPrev.offHand.id or isLeftHanded ~= self.isLeftHandedPrev then + for _, gunItem in ipairs(self.gunItems) do + if heldItems.mainHand.id == gunItem then + --メインハンドに対象アイテムを持つ + targetItemFound = true + if isLeftHanded then + if self.currentGunPosition ~= "LEFT" then + self:setGunPosition("LEFT") + end + else + if self.currentGunPosition ~= "RIGHT" then + self:setGunPosition("RIGHT") + end + end + break + end + end + if not targetItemFound then + for _, gunItem in ipairs(self.gunItems) do + if heldItems.offHand.id == gunItem then + --オフハンドに対象アイテムを持つ + targetItemFound = true + if isLeftHanded then + if self.currentGunPosition ~= "RIGHT" then + self:setGunPosition("RIGHT") + end + else + if self.currentGunPosition ~= "LEFT" then + self:setGunPosition("LEFT") + end + end + break + end + end + end + if not targetItemFound then + --対象アイテムは持たない + if self.currentGunPosition ~= "NONE" then + self:setGunPosition("NONE") + end + end + if isLeftHanded ~= self.leftHandedPrev then + if self.currentGunPosition == "NONE" then + self:setBodyGunPos() + end + if self.parent.characterData.gun.callbacks ~= nil and self.parent.characterData.gun.callbacks.onMainHandChange ~= nil then + self.parent.characterData.gun.callbacks.onMainHandChange(self.parent.characterData, isLeftHanded and "LEFT" or "RIGHT") + end + self.isLeftHandedPrev = isLeftHanded + end + self.heldItemsPrev = heldItems + end + self.isGunTickProcessed = true + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/head_block.lua b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/head_block.lua new file mode 100644 index 0000000..72bce44 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/head_block.lua @@ -0,0 +1,33 @@ +---@class (exact) HeadBlock : HeadModelGenerator 頭ブロックのモデルを制御するクラス +---@field package forceGenerateCount integer 強制的に頭ブロックを生成するまでのカウンター。これが発火するのはアバタープレイヤーがオフラインの時のみ。 + +HeadBlock = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return HeadBlock + new = function (parent) + ---@type HeadBlock + local instance = Avatar.instantiate(HeadBlock, HeadModelGenerator, parent) + + instance.processData = instance.parent.characterData.headBlock + instance.parentName = "head_block" + instance.parentType = "Skull" + instance.forceGenerateCount = 2 + + return instance + end; + + ---初期化関数 + ---@param self HeadBlock + init = function (self) + HeadModelGenerator.init(self) + + events.WORLD_TICK:register(function () + self.forceGenerateCount = self.forceGenerateCount - 1 + if self.forceGenerateCount == 0 then + self:generateHeadModel() + events.WORLD_TICK:remove("head_block_world_tick") + end + end, "head_block_world_tick") + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/head_model_generator.lua b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/head_model_generator.lua new file mode 100644 index 0000000..76b2ab7 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/head_model_generator.lua @@ -0,0 +1,85 @@ +---@class (exact) HeadModelGenerator : AvatarModule 頭のモデルの生成を含む抽象クラス +---@field public processData BlueArchiveCharacter.HeadBlockStruct 頭モデルを生成する過程で参照するデータ +---@field public parentName string モデルを生成する名前空間 +---@field public parentType ModelPart.parentType コピーした頭モデルに適用する親タイプ +---@field public generateHeadModel fun(self: HeadModelGenerator) 頭モデルのコピーを生成する +---@field package isScriptLoaded boolean スクリプトが全てロードされているかどうか + +HeadModelGenerator = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return HeadModelGenerator + new = function (parent) + ---@type HeadModelGenerator + local instance = Avatar.instantiate(HeadModelGenerator, AvatarModule, parent) + + instance.isScriptLoaded = false + + return instance + end; + + ---初期化関数 + ---@param self HeadModelGenerator + init = function (self) + AvatarModule.init(self) + + ---@diagnostic disable-next-line: discard-returns + models:newPart("script_"..self.parentName, "None") + + self.parent.avatarEvents.SCRIPT_INIT:register(function () + self.isScriptLoaded = true + end) + end; + + ---頭モデルのコピーを生成する。 + ---@param self HeadModelGenerator + generateHeadModel = function (self) + --既存の頭ブロックのモデルを削除する。 + if models["script_"..self.parentName].Head ~= nil then + models["script_"..self.parentName].Head:remove() + end + + --ヘルメットを着けている場合は外しておく。 + local isHelmetVisible = self.isScriptLoaded and self.parent.armor.isArmorVisible.helmet or false + if isHelmetVisible then + self.parent.armor:setHelmet(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + + if self.isScriptLoaded then + self.parent.physics:disable() + end + if self.processData.callbacks ~= nil and self.processData.callbacks.onBeforeModelCopy ~= nil then + self.processData.callbacks.onBeforeModelCopy(self.parent.characterData, self.isScriptLoaded) + end + + --現在の衣装を基に新たな頭ブロックのモデルを生成する。 + local copiedPart = self.parent.modelUtils:copyModel(models.models.main.Avatar.Head) + if copiedPart ~= nil then + models["script_"..self.parentName]:addChild(copiedPart) + models["script_"..self.parentName].Head:setParentType(self.parentType) + models["script_"..self.parentName].Head:setPos(0, -24, 0) + models["script_"..self.parentName].Head.HeadRing:setRot(self.parent.headRing.initialHaloRot) + models["script_"..self.parentName].Head.HeadRing:setLight(15) + for _, modelPart in ipairs({models["script_"..self.parentName].Head.FaceParts.Eyes.EyeRight, models["script_"..self.parentName].Head.FaceParts.Eyes.EyeLeft}) do + modelPart:setUVPixels() + end + for _, modelPart in ipairs(self.processData.includeModels) do + local copiedIncludePart = self.parent.modelUtils:copyModel(modelPart) + if copiedIncludePart ~= nil then + models["script_"..self.parentName].Head:addChild(copiedIncludePart) + end + end + end + + --非表示にしたモデルを元に戻す。 + if isHelmetVisible then + self.parent.armor:setHelmet(self.parent.armor.armorSlotItems[1]) + end + if self.isScriptLoaded then + self.parent.physics:enable() + end + if self.processData.callbacks ~= nil and self.processData.callbacks.onAfterModelCopy ~= nil then + self.processData.callbacks.onAfterModelCopy(self.parent.characterData, self.isScriptLoaded) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/head_ring.lua b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/head_ring.lua new file mode 100644 index 0000000..315489c --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/head_ring.lua @@ -0,0 +1,79 @@ +---@class (exact) HeadRing : AvatarModule ヘイロー(頭の輪っか)を制御するクラス +---@field public initialHaloRot number ヘイローの初期角度 +---@field package headRotData number[] 一定期間内の頭の角度を保持するテーブル +---@field package headRotAverage number[] 頭の角度の移動平均値 +---@field package floatCount integer ヘイローが上下するアニメーションのカウンター + +HeadRing = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return HeadRing + new = function (parent) + ---@type HeadRing + local instance = Avatar.instantiate(HeadRing, AvatarModule, parent) + + instance.initialHaloRot = models.models.main.Avatar.Head.HeadRing:getRot().x + instance.haloRotPrev = instance.initialHaloRot + instance.headRotData = {} + instance.headRotAverage = {0, 0} + instance.floatCount = 0 + + return instance + end; + + ---初期化関数 + ---@param self HeadRing + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + if not client:isPaused() then + --移動平均値の算出 + local headRot = self.parent.exSkill.animationCount > -1 and models.models.main.Avatar.Head:getAnimRot().x or math.deg(math.asin(player:getLookDir().y)) + local headRotAverage = self.headRotAverage[2] + headRotAverage = (#self.headRotData * headRotAverage + headRot) / (#self.headRotData + 1) + table.insert(self.headRotData, headRot) + --古いデータの切り捨て + if #self.headRotData > 5 then + headRotAverage = (#self.headRotData * headRotAverage - self.headRotData[1]) / (#self.headRotData - 1) + table.remove(self.headRotData, 1) + end + table.insert(self.headRotAverage, headRotAverage) + table.remove(self.headRotAverage, 1) + end + end) + + events.WORLD_TICK:register(function () + if not client:isPaused() then + self.floatCount = self.floatCount + 1 + self.floatCount = self.floatCount == 80 and 0 or self.floatCount + end + end) + + events.RENDER:register(function (delta) + if not client:isPaused() then + --ヘイローの位置・角度を設定 + local playerPose = player:getPose() + local headRot = self.parent.physics.getValueBetweenTicks(self.headRotAverage, delta) + local floatOffset = math.sin((self.floatCount + delta) / 80 * 2 * math.pi) * 0.25 + if playerPose == "SWIMMING" or playerPose == "FALL_FLYING" then + models.models.main.Avatar.Head.HeadRing:setPos(self.parent.physics.velocityAverage[3][2] * 3, math.cos(math.rad(headRot)) * self.parent.physics.velocityAverage[1][2] * -1 + math.sin(math.rad(headRot)) * self.parent.physics.velocityAverage[2][2] * -1 + floatOffset, math.cos(math.rad(headRot)) * self.parent.physics.velocityAverage[2][2] * -3 + math.sin(math.rad(headRot)) * self.parent.physics.velocityAverage[1][2]) + else + models.models.main.Avatar.Head.HeadRing:setPos(self.parent.physics.velocityAverage[3][2] * -3, math.cos(math.rad(headRot)) * self.parent.physics.velocityAverage[2][2] * -1 + math.sin(math.rad(headRot)) * self.parent.physics.velocityAverage[1][2] + floatOffset, math.cos(math.rad(headRot)) * self.parent.physics.velocityAverage[1][2] * 3 + math.sin(math.rad(headRot)) * self.parent.physics.velocityAverage[2][2]) + end + if self.parent.deathAnimation.dummyAvatarRoot ~= nil then + self.parent.deathAnimation.dummyAvatarRoot.Head.HeadRing:setPos(0, floatOffset, 0) + end + models.models.main.Avatar.Head.HeadRing:setRot(headRot - (self.parent.exSkill.animationCount > -1 and models.models.main.Avatar.Head:getAnimRot().x or math.deg(math.asin(player:getLookDir().y))) + self.initialHaloRot, 0, 0) + end + end) + + events.WORLD_RENDER:register(function (delta) + if not client:isPaused() and models.script_head_block.Head ~= nil and models.script_head_block.Head.HeadRing ~= nil then + models.script_head_block.Head.HeadRing:setPos(0, math.sin((self.floatCount + delta) / 80 * 2 * math.pi) * 0.25, 0) + end + end) + + models.models.main.Avatar.Head.HeadRing:setLight(15) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/hypixel_zombies.lua b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/hypixel_zombies.lua new file mode 100644 index 0000000..5d3df84 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/hypixel_zombies.lua @@ -0,0 +1,85 @@ +---@class (exact) HypixelZombies : AvatarModule Hypixelの「Zombies」にアバターを対応させるパッチ +---@field package isEnabled boolean Zombiesモードが有効かどうか +---@field package damagerPercentPrev number[] 前ティック以前のツールの耐久度割合 +---@field public enable fun(self: HypixelZombies) Zombiesモードを有効にする +---@field public disable fun(self: HypixelZombies) Zombiesモードを無効にする + +HypixelZombies = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return HypixelZombies + new = function (parent) + ---@type HypixelZombies + local instance = Avatar.instantiate(HypixelZombies, AvatarModule, parent) + + instance.isEnabled = false + instance.damagerPercentPrev = {1, 1} + + return instance + end; + + ---Zombiesモードを有効にする。 + ---@param self HypixelZombies + enable = function (self) + if not self.isEnabled then + self.parent.gun.gunItems = {"minecraft:bow", "minecraft:crossbow", "minecraft:wooden_hoe", "minecraft:stone_hoe", "minecraft:iron_hoe", "minecraft:wooden_shovel", "minecraft:stone_shovel", "minecraft:shears", "minecraft:diamond_hoe", "minecraft:golden_hoe", "minecraft:iron_shovel", "minecraft:diamond_pickaxe", "minecraft:golden_pickaxe", "minecraft:golden_shovel", "minecraft:flint_and_steel"} + + events.TICK:register(function () + local heldItem = player:getHeldItem() + local maxDamage = heldItem:getMaxDamage() + local damagePercent = (maxDamage - heldItem:getDamage()) / maxDamage + if maxDamage > 0 then + if damagePercent - self.damagerPercentPrev[1] > 0 and damagePercent - self.damagerPercentPrev[1] <= 0.2 then + if self.parent.bubble.bubbleCount == 0 then + self.parent.bubble:play("RELOAD", -1, vectors.vec2(), 0, false) + end + elseif self.parent.bubble.emoji == "RELOAD" then + self.parent.bubble:stop() + end + table.insert(self.damagerPercentPrev, damagePercent) + else + if self.parent.bubble.emoji == "RELOAD" then + self.parent.bubble:stop() + end + table.insert(self.damagerPercentPrev, 1) + end + table.remove(self.damagerPercentPrev, 1) + end, "hypixel_zombies_tick") + + if host:isHost() then + print(self.parent.locale:getLocale("avatar.zombies_mode.enable")) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.lightning_bolt.thunder"), player:getPos(), 0.5, 2) + end + + self.isEnabled = true + elseif host:isHost() then + print(self.parent.locale:getLocale("avatar.zombies_mode.already_enabled")) + end + end; + + ---Zombiesモードを無効にする。 + ---@param self HypixelZombies + disable = function (self) + if self.isEnabled then + events.TICK:remove("hypixel_zombies_tick") + self.parent.gun.gunItems = {"minecraft:bow", "minecraft:crossbow"} + + if host:isHost() then + print(self.parent.locale:getLocale("avatar.zombies_mode.disable")) + end + elseif host:isHost() then + print(self.parent.locale:getLocale("avatar.zombies_mode.already_disabled")) + end + self.isEnabled = false + end +} + +---Zombiesモードを有効にする。 +function pings.enableZombiesMode() + AvatarInstance.hypixelZombies:enable() +end + +---Zombiesモードを無効にする。 +function pings.disableZombiesMode() + AvatarInstance.hypixelZombies:disable() +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/key_manager.lua b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/key_manager.lua new file mode 100644 index 0000000..e1cac33 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/key_manager.lua @@ -0,0 +1,45 @@ +---@class (exact) KeyManager : AvatarModule アバターのキー割り当てを管理するクラス。ここで管理する割り当ては設定で変更された場合はそれが保存される。 +---@field public keyMappings {[string]: Keybind} キーの割り当てのテーブル +---@field public register fun(self: KeyManager, assignName: string, keyName: Minecraft.keyCode): Keybind キー割り当てを登録する + +KeyManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return KeyManager + new = function (parent) + ---@type KeyManager + local instance = Avatar.instantiate(KeyManager, AvatarModule, parent) + + instance.keyMappings = {} + + return instance + end; + + ---初期化関数 + ---@param self KeyManager + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + events.TICK:register(function () + for key, value in pairs(self.keyMappings) do + if not value:isDefault() then + local newKey = value:getKey() + self.parent.config:saveConfig("PRIVATE", "keybind."..key, newKey) + value:setKey(newKey) + end + end + end) + end + end; + + ---キー割り当てを登録する。 + ---@param self KeyManager + ---@param assignName string 割り当ての名前 + ---@param keyName Minecraft.keyCode 割当先のキー + ---@return Keybind assignedKey キーマネージャーによって登録がされたキーバインド + register = function (self, assignName, keyName) + self.keyMappings[assignName] = keybinds:newKeybind(self.parent.locale:getLocale("key_name."..assignName), self.parent.config:loadConfig("PRIVATE", "keybind."..assignName, keyName)) + return self.keyMappings[assignName] + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/locale.lua b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/locale.lua new file mode 100644 index 0000000..b2675ce --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/locale.lua @@ -0,0 +1,118 @@ +---@alias Locale.Language +---| "en_us" # 英語(米国) +---| "ja_jp" # 日本語 + +---@class (exact) Locale : AvatarModule アバターの表示言語を管理するクラス +---@field public localeData {[Locale.Language]: {[string]: string}} 言語データ +---@field public getLocale fun(self: Locale, key: string): string 翻訳キーに対する訳文を返す。設定言語が存在しない場合は英語の文が返される。また、指定したキーの訳が無い場合は英語->キーそのままが返される。 + +Locale = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Locale + new = function (parent) + ---@type Locale + local instance = Avatar.instantiate(Locale, AvatarModule, parent) + + instance.localeData = { + en_us = {}; + ja_jp = {}; + } + + ---言語データのリスト + ---1. キー名, 2. 英語(米国), 3. 日本語 + local localeStrings = { + {"avatar.old_version_warning", "For the best experience, playing with 1.20.1 or higher is recommended!", "生徒さんとより良い時間を過ごすためにバージョン1.20.1以上でのプレイをおすすめします!"}; + {"avatar.zombies_mode.enable", "Enabled Zombies mode.", "Zombiesモードを有効にしました。"}; + {"avatar.zombies_mode.already_enabled", "Already enabled Zombies mode.", "Zombiesモードは既に有効化されています。"}; + {"avatar.zombies_mode.disable", "Disabled Zombies mode.", "Zombiesモードを無効にしました。"}; + {"avatar.zombies_mode.already_disabled", "Already disabled Zombies mode.", "Zombiesモードは既に無効化されています。"}; + {"action_wheel.toggle_off", "off", "オフ"}; + {"action_wheel.toggle_on", "on", "オン"}; + {"action_wheel.main.action_1.title", "Change costume: ", "衣装を変更:"}; + {"action_wheel.main.action_1.unavailable", "There is no costume available.", "利用可能な衣装はありません。"}; + {"action_wheel.main.action_1.done_first", "Changed costume to §b", "衣装を§b"}; + {"action_wheel.main.action_1.done_last", "§r.", "§rに変更しました。"}; + {"action_wheel.main.action_2.title", "Change display name: ", "表示名を変更:"}; + {"action_wheel.main.action_2.title_2", "Show club name: ", "部活名を表示:"}; + {"action_wheel.main.action_2.done_first", "Changed display name to §b", "表示名を§b"}; + {"action_wheel.main.action_2.done_last", "§r.", "§rに変更しました。"}; + {"action_wheel.main.action_3.title", "Show armors: ", "防具を表示:"}; + {"action_wheel.main.action_4.title", "Show weapon models in first person: ", "一人称視点で武器モデルを表示:"}; + {"action_wheel.main.action_5.title", "Amount of particles in Ex skill frame: ", "Exスキルフレームのパーティクルの量:"}; + {"action_wheel.main.action_5.option_1", "Standard", "標準"}; + {"action_wheel.main.action_5.option_2", "Minimum", "少なめ"}; + {"action_wheel.main.action_5.option_3", "None", "なし"}; + {"action_wheel.main.action_5.option_4", "Hide Ex skill frame", "スキルフレーム非表示"}; + {"action_wheel.main.action_5.done_first", "Changed amount of particles in Ex skill frame to§b", "Exスキルフレームのパーティクルの量を§b"}; + {"action_wheel.main.action_5.done_last", "§r.", "§rに変更しました。"}; + {"action_wheel.main.action_6.title", "Replace vehicle models: ", "乗り物のモデルを置き換え:"}; + {"action_wheel.main.action_6.unavailable", "This option is unavailable for this character.", "この生徒さんでは利用できません。"}; + {"action_wheel.main.action_7.title_1", "Check for new FBAC Updates ", "FBACアップデートの確認"}; + {"action_wheel.main.action_7.title_2", "(Left-click)", "(左クリック)"}; + {"action_wheel.main.action_7.title_3", "Copy URL for the latest FBAC ", "最新FBACバージョンのURLをコピー"}; + {"action_wheel.main.action_7.title_4", "(Right-click)", "(右クリック)"}; + {"action_wheel.main.action_7.networking_api", "To enable update checking, you need to allow Figura's Networking and put \"api.github.com\" in the Network Filter from Figura settings!", "アップデート確認機能を有効にするにはFiguraの設定より、FiguraのNetworkingの使用を許可し、\"api.github.com\"を許可リストに入れる必要があります!"}; + {"action_wheel.main.action_7.ongoing", "Checking for updates is ongoing. Please DO NOT click repeatedly!", "現在アップデートの確認中です。連打しないでください!"}; + {"action_wheel.main.action_7.copied", "Coped the link to the latest FBAC to your clipboard. Please open the link in your browser.", "最新のFBACへのリンクをクリップボードにコピーしました。ブラウザでリンクを開いてください。"}; + {"action_wheel.main.action_7.cannot_check_latest", "Cannot get the link because cannot check the latest FBAC.", "FBACの最新バージョンを確認できないため、リンクを取得できません。"}; + {"action_wheel.gui.bubble_guide.title", "§0Bubble emote guide", "§0吹き出しエモートガイド"}; + {"action_wheel.gui.ex_skill_guide.title", "§0Ex skill guide", "§0Exスキルガイド"}; + {"action_wheel.gui.ex_skill_guide.key_pre", "Press \"", "\""}; + {"action_wheel.gui.ex_skill_guide.key_post", "\"key to play", "\"キーで再生"}; + {"action_wheel.gui.update_check.checking", "Checking for updates...", "アップデートを確認中..."}; + {"action_wheel.gui.update_check.latest", "No FBAC update available", "最新のFBACを使用中です"}; + {"action_wheel.gui.update_check.update_available", "New FBAC update is available: ", "FBACのアップデートが利用可能です:"}; + {"action_wheel.gui.update_check.error_not_allowed", "Failed to check for updates - Networking API not allowed", "アップデート確認失敗 - ネットワーキング機能が不許可"}; + {"action_wheel.gui.update_check.error_network_err", "Failed to check for updates - Network error", "アップデート確認失敗 - ネットワークエラー"}; + {"action_wheel.gui.update_check.error_request_failed", "Failed to check for updates - Request failure ", "アップデート確認失敗 - リクエスト失敗 "}; + {"action_wheel.gui.update_check.error_invalid_json_syntax", "Failed to check for updates - Json parsing failure", "アップデート確認失敗 - リクエスト解析失敗"}; + {"action_wheel.gui.update_check.error_invalid_json", "Failed to check for updates - Unexpected Request", "アップデート確認失敗 - 予期しないリクエスト"}; + {"key_name.ex_skill", "Ex Skill", "Exスキル"}; + {"key_name.ex_skill_sub", "Sub Ex Skill", "サブExスキル"}; + {"key_name.bubble_1", "Bubble: Good", "吹き出し:いいね"}; + {"key_name.bubble_2", "Bubble: Heart", "吹き出し:ハート"}; + {"key_name.bubble_3", "Bubble: Note", "吹き出し:音符"}; + {"key_name.bubble_4", "Bubble: Question", "吹き出し:はてな"}; + {"key_name.bubble_5", "Bubble: Sweat", "吹き出し:汗"}; + {"key_bind.ex_skill.unavailable", "You cannot do this now.", "今は再生できません。"}; + {"key_bind.ex_skill.unavailable_firstperson", "You cannot do this in first person perspective.", "一人称視点では再生できません。"}; + } + + for _, localeSet in ipairs(localeStrings) do + instance.localeData.en_us[localeSet[1]] = localeSet[2] + instance.localeData.ja_jp[localeSet[1]] = localeSet[3] + end + + return instance + end; + + ---初期化関数 + ---@param self Locale + init = function (self) + AvatarModule.init(self) + + self.localeData.en_us["nameplate.club_name"] = self.parent.characterData.basic.clubName.en_us + self.localeData.ja_jp["nameplate.club_name"] = self.parent.characterData.basic.clubName.ja_jp + + if host:isHost() then + for index, exSkill in ipairs(self.parent.characterData.exSkill) do + self.localeData.en_us["action_wheel.gui.ex_skill_guide.ex_skill_"..index..".name"] = exSkill.name.en_us + self.localeData.ja_jp["action_wheel.gui.ex_skill_guide.ex_skill_"..index..".name"] = exSkill.name.ja_jp + end + for _, costume in ipairs(self.parent.characterData.costume.costumes) do + self.localeData.en_us["costume."..costume.name] = costume.displayName.en_us + self.localeData.ja_jp["costume."..costume.name] = costume.displayName.ja_jp + end + end + end; + + ---翻訳キーに対する訳文を返す。設定言語が存在しない場合は英語の文が返される。また、指定したキーの訳が無い場合は英語->キーそのままが返される。 + ---@param self Locale + ---@param key string 翻訳キー + ---@return string translatedString 翻訳キーに対する翻訳データ。設定言語での翻訳が存在しない場合は英文が返される。英文すら存在しない場合は翻訳キーがそのまま返される。 + getLocale = function (self, key) + local activeLanguage = client:getActiveLang() + return (self.localeData[activeLanguage] ~= nil and self.localeData[activeLanguage][key] ~= nil) and self.localeData[activeLanguage][key] or (self.localeData.en_us[key] and self.localeData.en_us[key] or key) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/nameplate.lua b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/nameplate.lua new file mode 100644 index 0000000..1db7e24 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/nameplate.lua @@ -0,0 +1,77 @@ +---@class (exact) Nameplate : AvatarModule プレイヤーの表示名を制御するクラス +---@field public currentName integer 現在の表示名:1. プレイヤー名, 2. 名のみ(英語), 3. 名のみ(日本語), 4. 名性(英語), 5. 性名(英語), 6. 性名(日本語) +---@field public shouldShowClubName boolean 部活名を表示するかどうか +---@field package localePrev string 前ティックの設定言語 +---@field public getName fun(self: Nameplate, typeId: integer): string 指定されたtypeIdでの表示名を返す +---@field public setName fun(self: Nameplate, typeId: integer, shouldShowClubName: boolean) 入力された設定で表示名を設定する + +Nameplate = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Nameplate + new = function (parent) + ---@type Nameplate + local instance = Avatar.instantiate(Nameplate, AvatarModule, parent) + + instance.currentName = instance.parent.config:loadConfig("PRIVATE", "name", 1) + instance.shouldShowClubName = instance.parent.config:loadConfig("PRIVATE", "showClubName", false) + instance.localePrev = client:getActiveLang() + + return instance + end; + + ---指定されたtypeIdでの表示名を返す。 + ---@param self Nameplate + ---@param typeId integer 表示名の種類:1. プレイヤー名, 2. 名のみ(英語), 3. 名のみ(日本語), 4. 名性(英語), 5. 性名(英語), 6. 性名(日本語) + ---@return string displayName 指定されたtypeIdでの表示名 + getName = function (self, typeId) + local displayName = typeId == 1 and player:getName() or ((typeId == 2 or typeId == 4) and self.parent.characterData.basic.firstName.en_us or (typeId == 5 and self.parent.characterData.basic.lastName.en_us or (typeId == 3 and self.parent.characterData.basic.firstName.ja_jp or self.parent.characterData.basic.lastName.ja_jp))) + if typeId >= 4 then + displayName = displayName.." "..(typeId == 4 and self.parent.characterData.basic.lastName.en_us or (typeId == 5 and self.parent.characterData.basic.firstName.en_us or self.parent.characterData.basic.firstName.ja_jp)) + end + return displayName + end; + + ---入力された設定で表示名を設定する。 + ---@param self Nameplate + ---@param typeId integer 表示名の種類:1. プレイヤー名, 2. 名のみ(英語), 3. 名のみ(日本語), 4. 名性(英語), 5. 性名(英語), 6. 性名(日本語) + ---@param shouldShowClubName boolean 部活名を表示するかどうか + setName = function (self, typeId, shouldShowClubName) + local date = client:getDate() + local displayName = self:getName(typeId)..((typeId >= 2 and date.month == self.parent.characterData.basic.birth.month and date.day == self.parent.characterData.basic.birth.day) and " :cake:" or "") + nameplate.ALL:setText(displayName) + if typeId >= 2 and shouldShowClubName then + nameplate.ENTITY:setText(displayName.."\n§7"..self.parent.locale:getLocale("nameplate.club_name")) + end + self.currentName = typeId + self.shouldShowClubName = shouldShowClubName + end; + + ---初期化関数 + ---@param self Nameplate + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + local locale = client:getActiveLang() + if locale ~= self.localePrev then + if self.shouldShowClubName then + self:setName(self.currentName, true) + end + self.localePrev = locale + end + end) + + events.RENDER:register(function (delta, context) + if context ~= "PAPERDOLL" then + nameplate.ENTITY:setPivot(self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.UpperBody.Body.NameplateAnchor):sub(player:getPos(delta)):add(0, self.parent.barrier.isBarrierVisible and 1.095 or 0.895, 0)) + else + nameplate.ENTITY:setPivot() + end + end) + + if self.currentName >= 2 then + self:setName(self.currentName, self.shouldShowClubName) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/physics.lua b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/physics.lua new file mode 100644 index 0000000..0b17e3f --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/physics.lua @@ -0,0 +1,199 @@ +---@class (exact) Physics : AvatarModule 物理演算を制御するクラス +---@field public velocityData number[][] 速度データ:1. 頭前後, 2. 上下, 3. 頭左右, 4. 頭角速度, 5. 体前後, 6. 体左右, 7. 体角速度 +---@field public velocityAverage number[][] 速度の平均値:1. 頭前後, 2. 上下, 3. 頭左右, 4. 頭角速度, 5. 体前後, 6. 体左右, 7. 体角速度 +---@field package directionPrev number[] 前ティックのdirectionテーブル +---@field public getValueBetweenTicks fun(tickData: number[], delta: number): number 2つのティックデータの間からレンダーのデルタ値を加味した値を返す +---@field package decomposeHorizontalVelocity fun(self: Physics, direction: number, index: integer): number, number, number 速度を指定された方向から見て前後方向、左右方向に分解する +---@field package getPhysicRot fun(self: Physics, physicData: BlueArchiveCharacter.PhysicCoreData, delta: number): number 物理演算で計算した角度を返す +---@field public enable fun(self: Physics) 物理演算を初期化し、有効にする +---@field public disable fun(self: Physics) 物理演算を無効にする。物理演算で管理していたモデルの回転をリセットする + +Physics = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Physics + new = function (parent) + ---@type Physics + local instance = Avatar.instantiate(Physics, AvatarModule, parent) + + instance.velocityData = {{}, {}, {}, {}, {}, {}, {}} + instance.velocityAverage = {{0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}} + instance.directionPrev = {} + + return instance + end; + + ---2つのティックデータの間からレンダーのデルタ値を加味した値を返す。 + ---@param tickData number[] ティックデータ:1. 前ティック, 2. 現ティック + ---@param delta number デルタ値 + ---@return number deltaValue 2つのティックデータの間からデルタ値で補完した値 + getValueBetweenTicks = function (tickData, delta) + return tickData[1] + (tickData[2] - tickData[1]) * delta + end; + + ---速度を指定された方向から見て前後方向、左右方向に分解する。 + ---@param self Physics + ---@param direction number 基準にする方向 + ---@param index integer データ管理用のインデックス番号(呼び出しの度に異なるインデックス番号になるようにする) + ---@return number velocityFront 指定された方向から見た前後方向の速度 + ---@return number velocityRight 指定された方向から見た左右方向の速度 + ---@return number velocityRot 指定された方向を基準とした角速度 + decomposeHorizontalVelocity = function (self, direction, index) + local velocity = player:getVelocity() + if self.directionPrev[index] == nil then + self.directionPrev[index] = 0 + end + local velocityRot = math.deg(math.atan2(velocity.z, velocity.x)) + velocityRot = velocityRot < 0 and 360 + velocityRot or velocityRot + local directionAbsFront = math.abs(velocityRot - (direction) % 360) + directionAbsFront = directionAbsFront > 180 and 360 - directionAbsFront or directionAbsFront + local directionAbsRight = math.abs(velocityRot - (direction + 90) % 360) + directionAbsRight = directionAbsRight > 180 and 360 - directionAbsRight or directionAbsRight + local directionDelta = direction - self.directionPrev[index] + directionDelta = directionDelta > 180 and (360 - directionDelta) * 20 or (directionDelta < -180 and (360 + directionDelta) * 20 or directionDelta * 20) + self.directionPrev[index] = direction + return math.sqrt(velocity.x ^ 2 + velocity.z ^ 2) * math.cos(math.rad(directionAbsFront)), math.sqrt(velocity.x ^ 2 + velocity.z ^ 2) * math.cos(math.rad(directionAbsRight)), directionDelta + end; + + ---物理演算で計算した角度を返す。 + ---@param self Physics + ---@param physicData BlueArchiveCharacter.PhysicCoreData 物理演算データ + ---@param delta number デルタ値 + ---@return number physicDirection 物理演算で計算したモデルの角度 + getPhysicRot = function (self, physicData, delta) + local rot = physicData.neutral + local waterMultiplayer = player:isUnderwater() and 2 or 1 + if physicData.headX ~= nil then + rot = rot + math.clamp(self.getValueBetweenTicks(self.velocityAverage[1], delta) * physicData.headX.multiplayer * waterMultiplayer, physicData.headX.min - physicData.neutral, physicData.headX.max - physicData.neutral) + end + if physicData.headZ ~= nil then + rot = rot + math.clamp(self.getValueBetweenTicks(self.velocityAverage[3], delta) * physicData.headZ.multiplayer * waterMultiplayer, physicData.headZ.min - physicData.neutral, physicData.headZ.max - physicData.neutral) + end + if physicData.headRot ~= nil then + rot = rot + math.clamp(math.abs(self.getValueBetweenTicks(self.velocityAverage[4], delta)) * -1 * physicData.headRot.multiplayer, physicData.headRot.min - physicData.neutral, physicData.headRot.max - physicData.neutral) + end + if physicData.bodyX ~= nil then + rot = rot + math.clamp(self.getValueBetweenTicks(self.velocityAverage[5], delta) * physicData.bodyX.multiplayer * waterMultiplayer, physicData.bodyX.min - physicData.neutral, physicData.bodyX.max - physicData.neutral) + end + if physicData.bodyY ~= nil then + rot = rot + math.clamp(self.getValueBetweenTicks(self.velocityAverage[2], delta) * physicData.bodyY.multiplayer * waterMultiplayer, physicData.bodyY.min - physicData.neutral, physicData.bodyY.max - physicData.neutral) + end + if physicData.bodyZ ~= nil then + rot = rot + math.clamp(self.getValueBetweenTicks(self.velocityAverage[player:getVehicle() == nil and 6 or 3], delta) * physicData.bodyZ.multiplayer * waterMultiplayer, physicData.bodyZ.min - physicData.neutral, physicData.bodyZ.max - physicData.neutral) + end + if physicData.bodyRot ~= nil then + rot = rot + math.clamp(-math.abs(self.getValueBetweenTicks(self.velocityAverage[7], delta)) * physicData.bodyRot.multiplayer, physicData.bodyRot.min - physicData.neutral, physicData.bodyRot.max - physicData.neutral) + end + rot = math.clamp(rot, physicData.min, physicData.max) + if physicData.headRotMultiplayer ~= nil then + rot = rot + math.deg(math.asin(player:getLookDir().y)) * physicData.headRotMultiplayer + end + if physicData.sneakOffset ~= nil and player:isCrouching() then + rot = rot + physicData.sneakOffset + end + return rot + end; + + ---物理演算を初期化し、有効にする。 + ---@param self Physics + enable = function (self) + self.velocityData = {{}, {}, {}, {}, {}, {}, {}} + self.velocityAverage = {{0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}} + self.directionPrev = {} + + if events.TICK:getRegisteredCount("physics_tick") == 0 then + events.TICK:register(function () + if not client:isPaused() then + local lookDir = player:getLookDir() + local velocityHeadFront, velocityHeadRight, velocityHeadRot = self:decomposeHorizontalVelocity(math.deg(math.atan2(lookDir.z, lookDir.x)), 1) + local velocityAverage = {self.velocityAverage[1][2], self.velocityAverage[2][2], self.velocityAverage[3][2], self.velocityAverage[4][2], self.velocityAverage[5][2], self.velocityAverage[6][2], self.velocityAverage[7][2]} + local velocityY = player:getVelocity().y + velocityAverage[1] = (#self.velocityData[1] * velocityAverage[1] + velocityHeadFront) / (#self.velocityData[1] + 1) + table.insert(self.velocityData[1], velocityHeadFront) + velocityAverage[2] = (#self.velocityData[2] * velocityAverage[2] + velocityY) / (#self.velocityData[2] + 1) + table.insert(self.velocityData[2], velocityY) + velocityAverage[3] = (#self.velocityData[3] * velocityAverage[3] + velocityHeadRight) / (#self.velocityData[3] + 1) + table.insert(self.velocityData[3], velocityHeadRight) + velocityAverage[4] = (#self.velocityData[4] * velocityAverage[4] + velocityHeadRot) / (#self.velocityData[4] + 1) + table.insert(self.velocityData[4], velocityHeadRot) + local velocityBodyFront, velocityBodyRight, velocityBodyRot = self:decomposeHorizontalVelocity((player:getBodyYaw() + models.models.main.Avatar.UpperBody:getTrueRot().y - 90) % 360 - 180, 2) + velocityAverage[5] = (#self.velocityData[5] * velocityAverage[5] + velocityBodyFront) / (#self.velocityData[5] + 1) + table.insert(self.velocityData[5], velocityBodyFront) + velocityAverage[6] = (#self.velocityData[6] * velocityAverage[6] + velocityBodyRight) / (#self.velocityData[6] + 1) + table.insert(self.velocityData[6], velocityBodyRight) + velocityAverage[7] = (#self.velocityData[7] * velocityAverage[7] + velocityBodyRot) / (#self.velocityData[7] + 1) + table.insert(self.velocityData[7], velocityBodyRot) + --古いデータの切り捨て + for index, velocityTable in ipairs(self.velocityData) do + if #velocityTable > 5 then + velocityAverage[index] = (#velocityTable * velocityAverage[index] - velocityTable[1]) / (#velocityTable - 1) + table.remove(velocityTable, 1) + end + table.insert(self.velocityAverage[index], velocityAverage[index]) + table.remove(self.velocityAverage[index], 1) + end + end + end, "physics_tick") + + events.RENDER:register(function (delta) + local playerPose = player:getPose() + local isHorizontal = playerPose == "SWIMMING" or playerPose == "FALL_FLYING" + + for _, physicData in ipairs(self.parent.characterData.physics.physicData) do + for _, modelPart in ipairs(physicData.models) do + if modelPart:getVisible() then + local rot = vectors.vec3() + if physicData.x ~= nil then + if isHorizontal and physicData.x.horizontal then + rot.x = self:getPhysicRot(physicData.x.horizontal, delta) + elseif not isHorizontal and physicData.x.vertical then + rot.x = self:getPhysicRot(physicData.x.vertical, delta) + end + end + if physicData.y ~= nil then + if isHorizontal and physicData.y.horizontal then + rot.y = self:getPhysicRot(physicData.y.horizontal, delta) + elseif not isHorizontal and physicData.y.vertical then + rot.y = self:getPhysicRot(physicData.y.vertical, delta) + end + end + if physicData.z ~= nil then + if isHorizontal and physicData.z.horizontal then + rot.z = self:getPhysicRot(physicData.z.horizontal, delta) + elseif not isHorizontal and physicData.z.vertical then + rot.z = self:getPhysicRot(physicData.z.vertical, delta) + end + end + modelPart:setRot(rot) + if self.parent.characterData.physics.callbacks ~= nil and self.parent.characterData.physics.callbacks.onPhysicPerformed ~= nil then + self.parent.characterData.physics.callbacks.onPhysicPerformed(self.parent.characterData, modelPart) + end + end + end + end + end, "physics_render") + end + end; + + ---物理演算を無効にする。物理演算で管理していたモデルの回転をリセットする。 + ---@param self Physics + disable = function (self) + events.TICK:remove("physics_tick") + events.RENDER:remove("physics_render") + for _, physicData in ipairs(self.parent.characterData.physics.physicData) do + local initialRot = vectors.vec3() + if physicData.x ~= nil and physicData.x.vertical ~= nil then + initialRot.x = physicData.x.vertical.neutral + end + if physicData.y ~= nil and physicData.y.vertical ~= nil then + initialRot.y = physicData.y.vertical.neutral + end + if physicData.z ~= nil and physicData.z.vertical ~= nil then + initialRot.z = physicData.z.vertical.neutral + end + for _, modelPart in ipairs(physicData.models) do + modelPart:setRot(initialRot) + end + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/placement_object/placement_object.lua b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/placement_object/placement_object.lua new file mode 100644 index 0000000..ee9151d --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/placement_object/placement_object.lua @@ -0,0 +1,231 @@ +---@class (exact) PlacementObject : SpawnObject 単一の設置物を管理するクラス +---@field package object ModelPart インスタンスで制御するオブジェクト +---@field public index integer 設置物データのインデックス番号。設置物のデータを参照するときに使用する。 +---@field package boundingBox Vector3 設置物の当たり判定 +---@field package gravity number この設置物に働く重力の大きさ +---@field package hasFireResistance boolean この設置物に炎耐性を付けるかどうか +---@field public removeReason PlacementObjectManager.RemoveReason この設置物のインスタンスが破棄される理由 +---@field package modelOffsetPos Vector3 設置物"モデル"の位置オフセット値 +---@field package offsetPos Vector3 設置物の中心座標のオフセット値 +---@field public currentPos Vector3 設置物の現在位置 +---@field package nextPos Vector3 設置物の次ティックの位置 +---@field package fallingSpeed number 設置物の落下速度 +---@field package isOnGround boolean 設置物が接地しているかどうか +---@field public new fun(parent: Avatar, model: ModelPart, index: integer, data: BlueArchiveCharacter.PlacementObjectStruct, pos: Vector3, rot: number): PlacementObject コンストラクター + +PlacementObject = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@param index integer 設置物データのインデックス番号。設置物のデータを参照するときに使用する。 + ---@param pos Vector3 設置物を設置するワールド座標 + ---@param rot number 設置物のワールド方向 + ---@return PlacementObject + new = function (parent, index, pos, rot) + ---@type PlacementObject + local instance = Avatar.instantiate(PlacementObject, SpawnObject, parent) + + instance.index = index + instance.object = instance.parent.characterData.placementObjects[instance.index].placementMode == "COPY" and instance.parent.characterData.placementObjects[instance.index].model:copy(instance.uuid) or instance.parent.characterData.placementObjects[instance.index].model + instance.boundingBox = instance.parent.characterData.placementObjects[instance.index].boundingBox.size:copy():scale(0.0625) + instance.gravity = instance.parent.characterData.placementObjects[instance.index].gravity ~= nil and instance.parent.characterData.placementObjects[instance.index].gravity or 1 + instance.hasFireResistance = instance.parent.characterData.placementObjects[instance.index].hasFireResistance ~= nil and instance.parent.characterData.placementObjects[instance.index].hasFireResistance or false + instance.removeReason = "REMOVED_BY_SCRIPTS" + instance.modelOffsetPos = vectors.vec3() + instance.offsetPos = vectors.vec3() + instance.currentPos = pos + instance.nextPos = instance.currentPos + instance.fallingSpeed = 0 + instance.isOnGround = false + + instance.callbacks = { + ---@param self PlacementObject + onInit = function (self) + if self.parent.characterData.placementObjects[self.index].placementMode == "COPY" then + models.script_placement_object:addChild(self.object) + end + local objectOffset = vectors.vec3() + if self.parent.characterData.placementObjects[self.index].boundingBox.offsetPos ~= nil then + objectOffset = self.parent.characterData.placementObjects[self.index].boundingBox.offsetPos:copy():scale(-0.0625) + end + if self.gravity >= 0 then + self.modelOffsetPos = objectOffset:copy():add(0, 0.075, 0) + else + self.modelOffsetPos = objectOffset:copy():add(0, -0.075, 0) + end + --self.objectModel:setPos(self.currentPos:copy():add(self.modelOffsetPos):scale(16)) + self.object:setRot(0, rot, 0) + self.object:setVisible(true) + if self.parent.characterData.placementObjects[self.index].callbacks ~= nil and self.parent.characterData.placementObjects[self.index].callbacks.onInit ~= nil then + self.parent.characterData.placementObjects[self.index].callbacks.onInit(self.parent.characterData, self) + end + end; + + ---@param self PlacementObject + onDeinit = function (self) + if self.parent.characterData.placementObjects[self.index].placementMode == "COPY" then + models.script_placement_object:removeChild(self.object) + self.object:remove() + else + self.object:setVisible(false) + end + if self.parent.characterData.placementObjects[self.index].callbacks ~= nil and self.parent.characterData.placementObjects[self.index].callbacks.onDeinit ~= nil then + self.parent.characterData.placementObjects[self.index].callbacks.onDeinit(self.parent.characterData, self) + end + end; + + ---@param self PlacementObject + onTick = function (self) + --設置物の位置を強制更新 + self.currentPos = self.nextPos + self.object:setPos(self.currentPos:copy():add(self.modelOffsetPos):scale(16)) + + --当たり判定同士が重複しているか確認 + local boundingBoxStartPos = vectors.vec3(self.currentPos.x - self.boundingBox.x / 2, self.currentPos.y, self.currentPos.z - self.boundingBox.z / 2) + local boundingBoxEndPos = vectors.vec3(self.currentPos.x + self.boundingBox.x / 2, self.currentPos.y + self.boundingBox.y, self.currentPos.z + self.boundingBox.z / 2) + local boundingBoxCenter = boundingBoxEndPos:copy():sub(boundingBoxStartPos):scale(0.5):add(boundingBoxStartPos) + for z = math.floor(boundingBoxStartPos.z), math.floor(boundingBoxEndPos.z) do + for y = math.floor(boundingBoxStartPos.y), math.floor(boundingBoxEndPos.y) do + for x = math.floor(boundingBoxStartPos.x), math.floor(boundingBoxEndPos.x) do + for _, collisionBox in ipairs( world.getBlockState(x, y, z):getCollisionShape()) do + local collisionStartPos = collisionBox[1]:copy():add(x, y, z) + local collisionEndPos = collisionBox[2]:copy():add(x, y, z) + local collisionBoxCenter = collisionStartPos:copy():add(collisionEndPos:copy():sub(collisionStartPos):scale(0.5)) + if math.abs(collisionBoxCenter.x - boundingBoxCenter.x) < ((collisionEndPos.x - collisionStartPos.x) + (boundingBoxEndPos.x - boundingBoxStartPos.x)) / 2 and math.abs(collisionBoxCenter.y - boundingBoxCenter.y) < ((collisionEndPos.y - collisionStartPos.y) + (boundingBoxEndPos.y - boundingBoxStartPos.y)) / 2 and math.abs(collisionBoxCenter.z - boundingBoxCenter.z) < ((collisionEndPos.z - collisionStartPos.z) + (boundingBoxEndPos.z - boundingBoxStartPos.z)) / 2 then + self.removeReason = "OVERLAPPED" + self.shouldDeinit = true + return + end + end + end + end + end + + --落下速度を更新 + local fluidTags = world.getBlockState(self.currentPos):getFluidTags() + if fluidTags[2] == "c:water" then + if self.gravity >= 0 then + self.fallingSpeed = math.max(self.fallingSpeed - 0.1 * self.gravity, 0.1 * self.gravity) + else + self.fallingSpeed = math.min(self.fallingSpeed - 0.1 * self.gravity, 0.1 * self.gravity) + end + elseif fluidTags[2] == "c:lava" then + if self.gravity >= 0 then + self.fallingSpeed = math.max(self.fallingSpeed - 0.1 * self.gravity, 0.02 * self.gravity) + else + self.fallingSpeed = math.min(self.fallingSpeed - 0.1 * self.gravity, 0.02 * self.gravity) + end + else + if self.gravity >= 0 then + self.fallingSpeed = math.min(self.fallingSpeed + 0.035 * self.gravity, 3.575 * self.gravity) + else + self.fallingSpeed = math.max(self.fallingSpeed + 0.035 * self.gravity, 3.575 * self.gravity) + end + end + self.nextPos = self.currentPos:copy():add(0, self.fallingSpeed * -1, 0) + + --現ティックと次ティックから直方体を算出 + local nextBoxStartPos = vectors.vec3() + local nextBoxEndPos = vectors.vec3() + if self.gravity >= 0 then + nextBoxStartPos = vectors.vec3(self.currentPos.x - self.boundingBox.x / 2, math.min(self.currentPos.y, self.currentPos.y - self.fallingSpeed), self.currentPos.z - self.boundingBox.z / 2) + nextBoxEndPos = vectors.vec3(self.currentPos.x + self.boundingBox.x / 2, math.max(self.currentPos.y, self.currentPos.y - self.fallingSpeed), self.currentPos.z + self.boundingBox.z / 2) + else + nextBoxStartPos = vectors.vec3(self.currentPos.x - self.boundingBox.x / 2, math.min(self.currentPos.y, self.currentPos.y - self.fallingSpeed) + self.boundingBox.y, self.currentPos.z - self.boundingBox.z / 2) + nextBoxEndPos = vectors.vec3(self.currentPos.x + self.boundingBox.x / 2, math.max(self.currentPos.y, self.currentPos.y - self.fallingSpeed) + self.boundingBox.y, self.currentPos.z + self.boundingBox.z / 2) + end + local nextBoxCenter = nextBoxStartPos:copy():add(nextBoxEndPos:copy():sub(nextBoxStartPos):scale(0.5)) + + --直方体と重なるブロック座標を全て算出 + local collisionDetected = false + if self.gravity >= 0 then + local collisionYPos = math.floor(nextBoxStartPos.y) + for y = math.floor(nextBoxEndPos.y), math.floor(nextBoxStartPos.y) - 1, -1 do + for z = math.floor(nextBoxStartPos.z), math.floor(nextBoxEndPos.z) do + for x = math.floor(nextBoxStartPos.x), math.floor(nextBoxEndPos.x) do + for _, collisionBox in ipairs( world.getBlockState(x, y, z):getCollisionShape()) do + local collisionStartPos = collisionBox[1]:copy():add(x, y, z) + local collisionEndPos = collisionBox[2]:copy():add(x, y, z) + local collisionBoxCenter = collisionStartPos:copy():add(collisionEndPos:copy():sub(collisionStartPos):scale(0.5)) + if math.abs(collisionBoxCenter.x - nextBoxCenter.x) < ((collisionEndPos.x - collisionStartPos.x) + (nextBoxEndPos.x - nextBoxStartPos.x)) / 2 and math.abs(collisionBoxCenter.y - nextBoxCenter.y) < ((collisionEndPos.y - collisionStartPos.y) + (nextBoxEndPos.y - nextBoxStartPos.y)) / 2 and math.abs(collisionBoxCenter.z - nextBoxCenter.z) < ((collisionEndPos.z - collisionStartPos.z) + (nextBoxEndPos.z - nextBoxStartPos.z)) / 2 then + if collisionEndPos.y > self.nextPos.y then + self.nextPos.y = collisionEndPos.y + collisionYPos = y + self.fallingSpeed = 0 + collisionDetected = true + end + end + end + end + end + if y == collisionYPos - 1 then + break + end + end + else + local collisionYPos = math.floor(nextBoxEndPos.y) + for y = math.floor(nextBoxStartPos.y), math.floor(nextBoxEndPos.y), 1 do + for z = math.floor(nextBoxStartPos.z), math.floor(nextBoxEndPos.z) do + for x = math.floor(nextBoxStartPos.x), math.floor(nextBoxEndPos.x) do + for _, collisionBox in ipairs( world.getBlockState(x, y, z):getCollisionShape()) do + local collisionStartPos = collisionBox[1]:copy():add(x, y, z) + local collisionEndPos = collisionBox[2]:copy():add(x, y, z) + local collisionBoxCenter = collisionStartPos:copy():add(collisionEndPos:copy():sub(collisionStartPos):scale(0.5)) + if math.abs(collisionBoxCenter.x - nextBoxCenter.x) < ((collisionEndPos.x - collisionStartPos.x) + (nextBoxEndPos.x - nextBoxStartPos.x)) / 2 and math.abs(collisionBoxCenter.y - nextBoxCenter.y) < ((collisionEndPos.y - collisionStartPos.y) + (nextBoxEndPos.y - nextBoxStartPos.y)) / 2 and math.abs(collisionBoxCenter.z - nextBoxCenter.z) < ((collisionEndPos.z - collisionStartPos.z) + (nextBoxEndPos.z - nextBoxStartPos.z)) / 2 then + if collisionStartPos.y < self.nextPos.y + self.boundingBox.y then + self.nextPos.y = collisionStartPos.y - self.boundingBox.y + collisionYPos = y + self.fallingSpeed = 0 + collisionDetected = true + end + end + end + end + end + if y == collisionYPos + 1 then + break + end + end + end + if collisionDetected and not self.isOnGround and self.parent.characterData.placementObjects[self.index].callbacks ~= nil and self.parent.characterData.placementObjects[self.index].callbacks.onGround ~= nil then + self.parent.characterData.placementObjects[self.index].callbacks.onGround(self.parent.characterData, self) + end + self.isOnGround = collisionDetected + local nextBlock = world.getBlockState(self.nextPos) + local isNextBlockFire = false + for _, tag in ipairs(nextBlock:getTags()) do + if tag == "minecraft:fire" then + isNextBlockFire = true + break + end + end + if self.nextPos.y < -128 then + self.removeReason = "TOO_LOW" + self.shouldDeinit = true + elseif self.nextPos.y > 384 then + self.removeReason = "TOO_HIGH" + self.shouldDeinit = true + elseif not self.hasFireResistance and (nextBlock:getFluidTags()[2] == "c:lava" or isNextBlockFire) then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.fire.extinguish"), self.nextPos) + for _ = 0, self.boundingBox.x * self.boundingBox.y * self.boundingBox.z * 8 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:smoke"), vectors.vec3(self.nextPos.x + math.random() * self.boundingBox.x - self.boundingBox.x / 2, self.nextPos.y + math.random() * self.boundingBox.y, self.nextPos.z + math.random() * self.boundingBox.z - self.boundingBox.z / 2)) + end + self.removeReason = "BURNT" + self.shouldDeinit = true + end + if self.parent.characterData.placementObjects[self.index].callbacks ~= nil and self.parent.characterData.placementObjects[self.index].callbacks.onTick ~= nil then + self.parent.characterData.placementObjects[self.index].callbacks.onTick(self.parent.characterData, self) + end + end; + + ---@param self PlacementObject + onRender = function (self, delta, context) + self.object:setPos(self.nextPos:copy():sub(self.currentPos):scale(delta):add(self.currentPos):add(self.modelOffsetPos):scale(16)) + if self.parent.characterData.placementObjects[self.index].callbacks ~= nil and self.parent.characterData.placementObjects[self.index].callbacks.onRender ~= nil then + self.parent.characterData.placementObjects[self.index].callbacks.onRender(self.parent.characterData, self) + end + end + } + + return instance + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/placement_object/placement_object_manager.lua b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/placement_object/placement_object_manager.lua new file mode 100644 index 0000000..eee06b5 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/placement_object/placement_object_manager.lua @@ -0,0 +1,87 @@ +---設置物の設置モードの列挙型 +---@alias PlacementObjectManager.PlacementMode +---| "COPY" # コピーモード。BBアニメーションは使えないが、複数の設置物を設置可能。 +---| "MOVE" # 移動モード。同時に1つしか設置物を設置できないが、BBアニメーションが使える。 + +---設置物が削除された理由の列挙型 +---@alias PlacementObjectManager.RemoveReason +---| "REMOVED_BY_SCRIPTS" # スクリプトによって削除 +---| "OVERLAPPED" # 設置物がブロックと重なって削除 +---| "BURNT" # 炎に焼かれて削除 +---| "TOO_LOW" # 設置物のY座標が低過ぎて削除 +---| "TOO_HIGH" # 設置物のY座標が高過ぎて削除 + +---@class (exact) PlacementObjectManager : SpawnObjectManager 設置物を管理するマネージャークラス +---@field public objects PlacementObject[] インスタンスで制御するオブジェクト +---@field public getObject fun(self: PlacementObjectManager, index: integer, pos: Vector3, rot: number): PlacementObject 設置物のインスタンスを生成して返す +---@field public spawn fun(self: PlacementObjectManager, index: integer, pos: Vector3, rot: number) 設置物を設置する +---@field public applyFunc fun(self: PlacementObjectManager, index: integer, func: fun(object: PlacementObject, i: integer)) 設置済み設置物の指定した設置物データのインデックス番号のみに関数を適用する + +PlacementObjectManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return PlacementObjectManager + new = function (parent) + ---@type PlacementObjectManager + local instance = Avatar.instantiate(PlacementObjectManager, SpawnObjectManager, parent) + + instance.managerName = "placement_object" + + return instance + end; + + ---初期化関数 + ---@param self PlacementObjectManager + init = function (self) + SpawnObjectManager.init(self) + + ---@diagnostic disable-next-line: discard-returns + models:newPart("script_placement_object", "World") + for _, data in ipairs(self.parent.characterData.placementObjects) do + if data.placementMode == "MOVE" then + data.model = data.model:moveTo(models.script_placement_object) + data.model:setVisible(false) + end + end + end; + + + ---設置物のインスタンスを生成して返す。 + ---@param self PlacementObjectManager + ---@param index integer 設置物データのインデックス番号 + ---@param pos Vector3 設置物を設置するワールド座標 + ---@param rot number 設置物を設置するワールド方向(Y軸のみ) + ---@return PlacementObject instance 生成したインスタンス + getObject = function (self, index, pos, rot) + if self.parent.characterData.placementObjects[index].placementMode == "MOVE" then + for i, placementObject in ipairs(self.objects) do + if placementObject.index == index then + self:remove(i) + break + end + end + end + return PlacementObject.new(self.parent, index, pos, rot) + end; + + ---設置物を設置する。 + ---@param self PlacementObjectManager + ---@param index integer 設置物データのインデックス番号 + ---@param pos Vector3 設置物を設置するワールド座標 + ---@param rot number 設置物を設置するワールド方向(Y軸のみ) + spawn = function (self, index, pos, rot) + SpawnObjectManager.spawn(self, index, pos, rot) + end; + + ---設置済み設置物の、指定した設置物データのインデックス番号のみに関数を適用する。 + ---@param self PlacementObjectManager + ---@param index integer 関数実行対象の設置物データのインデックス番号 + ---@param func fun(object: PlacementObject, i: integer) 実行する関数 + applyFunc = function (self, index, func) + for i, obj in ipairs(self.objects) do + if obj.index == index then + func(obj, i) + end + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/portrait.lua b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/portrait.lua new file mode 100644 index 0000000..3d887aa --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/portrait.lua @@ -0,0 +1,32 @@ +---@class (exact) Portrait : HeadModelGenerator ポートレートのモデルを管理するクラス + +Portrait = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Portrait + new = function (parent) + ---@type Portrait + local instance = Avatar.instantiate(Portrait, HeadModelGenerator, parent) + + instance.processData = instance.parent.characterData.portrait + instance.parentName = "portrait" + instance.parentType = "Portrait" + + return instance + end; + + ---初期化関数 + ---@param self Portrait + init = function (self) + HeadModelGenerator.init(self) + end; + + ---頭モデルのコピーを生成する。 + ---@param self HeadBlock + generateHeadModel = function (self) + HeadModelGenerator.generateHeadModel(self) + if models.script_portrait.Head ~= nil then + models.script_portrait.Head.HeadRing:remove() + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/skirt.lua b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/skirt.lua new file mode 100644 index 0000000..48e97f8 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/skirt.lua @@ -0,0 +1,30 @@ +---@class Skirt : AvatarModule スカートを制御するクラス + +Skirt = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Skirt + new = function (parent) + ---@type Skirt + local instance = Avatar.instantiate(Skirt, AvatarModule, parent) + + return instance + end; + + ---初期化関数 + ---@param self AvatarModule + init = function (self) + AvatarModule.init(self) + + if self.parent.characterData.skirt.skirtModels ~= nil and #self.parent.characterData.skirt.skirtModels > 0 then + events.TICK:register(function () + local isCrouching = player:isCrouching() + for _, skirtModel in ipairs(self.parent.characterData.skirt.skirtModels) do + if skirtModel:getVisible() then + skirtModel:setRot(isCrouching and 30 or 0, 0, 0) + end + end + end) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/utils/compatibility_utils.lua b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/utils/compatibility_utils.lua new file mode 100644 index 0000000..237a6a6 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/utils/compatibility_utils.lua @@ -0,0 +1,169 @@ +---レジストリの種類を示す列挙型 +---@alias CompatibilityUtils.RegistryType +---| "BLOCK" # ブロック名 +---| "ITEM" # アイテム名 +---| "PARTICLE" # パーティクル名 +---| "SOUND" # サウンド名 + +---@class (exact) CompatibilityUtils : AvatarModule Minecraftのゲームバージョンが異なっていてもある程度互換性を確保するためのユーティリティクラス +---@field package registries {block: Minecraft.blockID[], item: Minecraft.itemID[], particle: Minecraft.particleID[], sound: Minecraft.soundID[]} ゲームから取得した全アイテム名を保持するテーブル +---@field package checkedTable {block: {[Minecraft.blockID]: boolean}, item: {[Minecraft.itemID]: boolean}, particle: {[Minecraft.particleID]: boolean}, sound: {[Minecraft.soundID]: boolean}} レジストリへの確認が済んでいるIDを保持するテーブル +---@field package find fun(self: CompatibilityUtils, registryType: CompatibilityUtils.RegistryType, target: string): boolean 指定されたターゲットがレジストリに登録されているかどうかを返す。 +---@field public checkBlock fun(self: CompatibilityUtils, block: Minecraft.blockID): Minecraft.blockID 指定されたブロックIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:dirt"を返す。 +---@field public checkItem fun(self: CompatibilityUtils, item: Minecraft.itemID): Minecraft.itemID 指定されたアイテムIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:barrier"を返す。 +---@field public checkParticle fun(self: CompatibilityUtils, particle: Minecraft.particleID): Minecraft.particleID 指定されたパーティクルIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:poof"を返す。 +---@field public checkSound fun(self: CompatibilityUtils, sound: Minecraft.soundID): Minecraft.soundID 指定されたサウンドIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:empty"を返す。 +---@field public getBlockParticleId fun(block: Minecraft.blockID): string ブロックの破片のパーティクルを示す文字列を返す。Minecraftのバージョン違いを吸収するための関数。 +---@field public getDustParticleId fun(color: Vector3, size: number): string dustパーティクルを示す文字列を返す。Minecraftのバージョン違いを吸収するための関数。 +---@field public setPostEffect fun(effect?: Minecraft.shaderName) renderer:setPostEffect()のラッパー関数。1.20.5でレンダーエフェクトが削除されたことによる対応。 + +CompatibilityUtils = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return CompatibilityUtils + new = function (parent) + ---@type CompatibilityUtils + local instance = Avatar.instantiate(CompatibilityUtils, AvatarModule, parent) + + instance.registries = {} + instance.checkedTable = { + block = {}; + item = {}; + particle = {}; + sound = {}; + } + + return instance + end; + + ---初期化関数 + ---@param self CompatibilityUtils + init = function (self) + AvatarModule.init(self) + + self.registries.block = client.getRegistry("minecraft:block") + self.registries.item = client.getRegistry("minecraft:item") + self.registries.particle = client.getRegistry("minecraft:particle_type") + self.registries.sound = client.getRegistry("minecraft:sound_event") + for name, _ in pairs(self.registries) do + table.sort(self.registries[name]) + end + self.checkedTable.block["minecraft:dirt"] = true + self.checkedTable.item["minecraft:barrier"] = true + self.checkedTable.particle["minecraft:poof"] = true + self.checkedTable.sound["minecraft:empty"] = true + if host:isHost() and client:getVersion() < "1.20.1" then + print(self.parent.locale:getLocale("avatar.old_version_warning")) + end + end; + + ---指定されたターゲットがレジストリに登録されているかどうかを返す。 + ---@param self CompatibilityUtils + ---@param registryType CompatibilityUtils.RegistryType 検索をかける対象のレジストリ + ---@param target string 検索対象名。"minecraft:"を抜かないこと。 + ---@return boolean idFound 指定されたターゲットがレジストリで見つかったかどうか + find = function (self, registryType, target) + ---リスト内の中央の要素(偶数の場合は中央から1つ左の要素)と指定されたターゲットのUnicode順を比較する。 + ---@param from integer リストの検索開始のインデックス番号 + ---@param to integer リストの検索終了のインスタンス番号(指定したインデックス番号の要素も検索に含む) + ---@return integer compareResult 比較結果。0は同じ文字列、1はターゲットの方が大きい、-1はターゲットの方が小さいことを表す。 + local function compareToCenterElement(from, to) + local centerIndex = math.floor((to - from) / 2) + from + if self.registries[registryType:lower()][centerIndex] < target then + return 1 + elseif self.registries[registryType:lower()][centerIndex] > target then + return -1 + else + return 0 + end + end + + local startIndex = 1 + local endIndex = #self.registries[registryType:lower()] + while startIndex < endIndex do + local compareResult = compareToCenterElement(startIndex, endIndex) + if compareResult == 1 then + startIndex = math.floor((endIndex - startIndex) / 2) + startIndex + 1 + elseif compareResult == -1 then + endIndex = math.floor((endIndex - startIndex) / 2) + startIndex + else + break + end + end + if startIndex == endIndex then + return compareToCenterElement(startIndex, endIndex) == 0 + else + return true + end + end; + + ---指定されたブロックIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:dirt"を返す。 + ---@param self CompatibilityUtils + ---@param block Minecraft.blockID 確認対象のブロックID + ---@param blockState string? ブロックステートを示す文字列 + ---@return Minecraft.blockID blockID レジストリに登録してある場合は確認対象のブロックIDをそのまま返し、未登録の場合は"minecraft:dirt"が返す。 + checkBlock = function (self, block, blockState) + if self.checkedTable.block[block] == nil then + self.checkedTable.block[block] = self:find("BLOCK", block) + end + local state = blockState ~= nil and blockState or "" + return self.checkedTable.block[block] and block..state or "minecraft:dirt" + end; + + ---指定されたアイテムIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:barrier"を返す。 + ---@param self CompatibilityUtils + ---@param item Minecraft.itemID 確認対象のアイテムID + ---@return Minecraft.itemID blockID レジストリに登録してある場合は確認対象のアイテムIDをそのまま返し、未登録の場合は"minecraft:barrier"が返す。 + checkItem = function (self, item) + if self.checkedTable.item[item] == nil then + self.checkedTable.item[item] = self:find("ITEM", item) + end + return self.checkedTable.item[item] and item or "minecraft:barrier" + end; + + ---指定されたパーティクルIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:poof"を返す。 + ---@param self CompatibilityUtils + ---@param particle Minecraft.particleID 確認対象のパーティクルID + ---@return Minecraft.particleID particleID レジストリに登録してある場合は確認対象のパーティクルIDをそのまま返し、未登録の場合は"minecraft:poof"が返す。 + checkParticle = function (self, particle) + if self.checkedTable.particle[particle] == nil then + self.checkedTable.particle[particle] = self:find("PARTICLE", particle) + end + return self.checkedTable.particle[particle] and particle or "minecraft:poof" + end; + + ---指定されたサウンドIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:empty"を返す。 + ---@param self CompatibilityUtils + ---@param sound Minecraft.soundID 確認対象のサウンドID + ---@return Minecraft.soundID particleID レジストリに登録してある場合は確認対象のサウンドIDをそのまま返し、未登録の場合は"minecraft:empty"が返す。 + checkSound = function (self, sound) + if self.checkedTable.sound[sound] == nil then + self.checkedTable.sound[sound] = self:find("SOUND", sound) + end + return self.checkedTable.sound[sound] and sound or "minecraft:empty" + end; + + ---ブロックの破片のパーティクルを示す文字列を返す。Minecraftのバージョン違いを吸収するための関数。 + ---@param block Minecraft.blockID ブロックの破片パーティクルとして表示するブロックのID。レジストリへの確認は行わない。 + ---@return string particleData ブロックの破片のパーティクルを示す文字列 + getBlockParticleId = function (block) + return client:getVersion() >= "1.20.5" and "minecraft:block{block_state:\""..block.."\"}" or "minecraft:block "..block + end; + + ---dustパーティクルを示す文字列を返す。Minecraftのバージョン違いを吸収するための関数。 + ---@param color Vector3 dustの色 + ---@param size number dustの大きさ + ---@return string particleData dustの破片のパーティクルを示す文字列 + getDustParticleId = function (color, size) + return client:getVersion() >= "1.20.5" and "minecraft:dust{color:["..color.x..","..color.y..","..color.z.."],scale:"..math.clamp(size, 0.01, 4).."}" or "minecraft:dust "..color.x.." "..color.y.." "..color.z.." "..size + end; + + ---renderer:setPostEffect()のラッパー関数 + ---1.20.5でレンダーエフェクトが削除されたことによる対応 + ---@param effect? Minecraft.shaderName 適用するエフェクト + setPostEffect = function (effect) + if client:getVersion() < "1.20.5" then + renderer:setPostEffect(effect) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/utils/model_utils.lua b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/utils/model_utils.lua new file mode 100644 index 0000000..4208e9f --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/utils/model_utils.lua @@ -0,0 +1,59 @@ +---@class (exact) ModelUtils : AvatarModule モデルに関するユーティリティ関数群 +---@field public getModelWorldPos fun(model: ModelPart): Vector3 指定したモデルのワールド位置を返す。 +---@field public copyModel fun(self: ModelUtils, modelPart: ModelPart, name?: string, forceCopy?: boolean): ModelPart|nil モデルパーツをディープコピーする。 +---@field public copyModel fun(self: ModelUtils, modelPart: ModelPart, name?: string, forceCopy?: true): ModelPart モデルパーツをディープコピーする。 +---@field public moveTo fun(target: ModelPart, destination: ModelPart, originalParent: ModelPart) モデルパーツを別の親に移動させる。組み込みmoveTo()で何故かモデルパーツが残ってしまう問題に対処済み。 + +ModelUtils = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ModelUtils + new = function (parent) + ---@type ModelUtils + local instance = Avatar.instantiate(ModelUtils, AvatarModule, parent) + + return instance + end; + + ---指定したモデルのワールド位置を返す。 + ---@param model ModelPart ワールド位置を取得するモデルパーツ + ---@return Vector3 worldPos モデルのワールド位置 + getModelWorldPos = function(model) + local modelMatrix = model:partToWorldMatrix() + return vectors.vec3(modelMatrix[4][1], modelMatrix[4][2], modelMatrix[4][3]) + end; + + ---モデルパーツをディープコピーする。 + ---非表示のモデルパーツはコピーしない。 + ---@param modelPart ModelPart コピーするモデルパーツ + ---@param name? string コピーしたモデルパーツの名前。省略した際はコピー元と同じ名前になる。 + ---@param forceCopy? boolean 非表示のモデルも強制的にコピーするかどうか + ---@return ModelPart|nil copiedModelPart コピーされたモデルパーツ。入力されたモデルパーツが非表示の場合はnilが返る。 + copyModel = function (self, modelPart, name, forceCopy) + if modelPart:getVisible() or forceCopy then + local copy = modelPart:copy(name ~= nil and name or modelPart:getName()) + copy:setParentType("None") + for _, child in ipairs(copy:getChildren()) do + copy:removeChild(child) + local childModel = self:copyModel(child) + if childModel ~= nil then + copy:addChild(childModel) + end + end + return copy + end + end; + + ---モデルパーツを別の親に移動させる。 + ---組み込みmoveTo()で何故かモデルパーツが残ってしまう問題に対処済み。 + ---@param target ModelPart 移動させる対象のモデルパーツ + ---@param destination ModelPart 移動先の親 + ---@param originalParent ModelPart 移動元の親 + moveTo = function (target, destination, originalParent) + target:moveTo(destination) + local modelName = target:getName() + if originalParent[modelName] ~= nil then + originalParent:removeChild(target) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/utils/player_utils.lua b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/utils/player_utils.lua new file mode 100644 index 0000000..274c213 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/utils/player_utils.lua @@ -0,0 +1,35 @@ +---@alias PlayerUtils.DamageStatus +---| "NONE" # ダメージなし +---| "DAMAGE" # ダメージを受けた +---| "DIED" # 死亡した + +---@class (exact) PlayerUtils : AvatarModule プレイヤーに関するユーティリティ関数群 +---@field public damageStatus PlayerUtils.DamageStatus 現在のティックのダメージステータス +---@field package healthPrev integer 前ティックのHP量 + +PlayerUtils = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return PlayerUtils + new = function (parent) + ---@type PlayerUtils + local instance = Avatar.instantiate(PlayerUtils, AvatarModule, parent) + + instance.damageStatus = "NONE" + instance.healthPrev = player:getHealth() + + return instance + end; + + ---初期化関数 + ---@param self PlayerUtils + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + local health = player:getHealth() + self.damageStatus = self.healthPrev > health and (health == 0 and "DIED" or "DAMAGE") or "NONE" + self.healthPrev = health + end) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/utils/spawn_object.lua b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/utils/spawn_object.lua new file mode 100644 index 0000000..cf08811 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/utils/spawn_object.lua @@ -0,0 +1,26 @@ +---@class (exact) SpawnObject : AvatarModule オブジェクト(設置物、独自定義パーティクル、bbモデルetc.)クラス +---@field public object any インスタンスで制御するオブジェクト。ModelPartやRenderTaskを想定している。 +---@field public uuid string このインスタンスのUUID。オブジェクトの名前付けなどにどうぞ。 +---@field public shouldDeinit boolean このオブジェクトを破棄するかどうか。trueにするとオブジェクトが破棄され、その際に、onDeinit()コールバック関数が呼ばれる。 +---@field public callbacks? SpawnObject.CallbackSet スポーンオブジェクトのコールバック関数 + +---@class (exact) SpawnObject.CallbackSet スポーンオブジェクトのコールバック関数のセット +---@field public onInit? fun(self: SpawnObject) オブジェクトの初期化直後に呼ばれる関数 +---@field public onDeinit? fun(self: SpawnObject) オブジェクトの破棄直前に呼ばれる関数 +---@field public onTick? fun(self: SpawnObject) 各ティック毎に呼ばれる関数 +---@field public onRender? fun(self: SpawnObject, delta: number, context: Event.Render.context) 各レンダーティック毎に呼ばれる関数 + +SpawnObject = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return SpawnObject + new = function (parent) + ---@type SpawnObject + local instance = Avatar.instantiate(SpawnObject, AvatarModule, parent) + + instance.uuid = client.intUUIDToString(client.generateUUID()) + instance.shouldDeinit = false + + return instance + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/utils/spawn_object_manager.lua b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/utils/spawn_object_manager.lua new file mode 100644 index 0000000..3026820 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/utils/spawn_object_manager.lua @@ -0,0 +1,102 @@ +---@class (exact) SpawnObjectManager : AvatarModule オブジェクト(設置物、独自定義パーティクル、bbモデルetc.)をスポーンさせ、管理するマネージャークラス +---@field public managerName string このマネージャーの名前 +---@field public objects SpawnObject[] スポーンさせたオブジェクトを保持するテーブル +---@field public getObject fun(self: SpawnObjectManager): SpawnObject スポーンオブジェクトのインスタンスを生成して返す +---@field public spawn fun(self: SpawnObjectManager, ...: any) オブジェクトをスポーンさせる +---@field public remove fun(self: SpawnObjectManager, index: integer) オブジェクトを1つ削除する +---@field public removeAll fun(self: SpawnObjectManager) オブジェクトをすべて削除する + +SpawnObjectManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return SpawnObjectManager + new = function (parent) + ---@type SpawnObjectManager + local instance = Avatar.instantiate(SpawnObjectManager, AvatarModule, parent) + + instance.managerName = "spawn_object" + instance.objects = {} + + return instance + end; + + ---スポーンオブジェクトのインスタンスを生成して返す。 + ---@param self SpawnObjectManager + ---@return SpawnObject instance 生成したスポーンオブジェクト + getObject = function (self) + return SpawnObject.new(self.parent) + end; + + ---オブジェクトをスポーンさせる。 + ---@param self SpawnObjectManager + ---@param ... any インスタンス生成時の引数 + spawn = function (self, ...) + ---@diagnostic disable-next-line: redundant-parameter + local instance = self:getObject(...) + table.insert(self.objects, instance) + if instance.callbacks ~= nil and instance.callbacks.onInit ~= nil then + instance.callbacks.onInit(instance) + end + + if #self.objects == 1 then + events.TICK:register(function () + if not client:isPaused() then + for index, ins in ipairs(self.objects) do + if ins.callbacks ~= nil and ins.callbacks.onTick ~= nil then + ins.callbacks.onTick(ins) + end + if ins.shouldDeinit then + if ins.callbacks ~= nil and ins.callbacks.onDeinit ~= nil then + ins.callbacks.onDeinit(ins) + end + table.remove(self.objects, index) + if #self.objects == 0 then + events.TICK:remove(self.managerName.."_tick") + events.RENDER:remove(self.managerName.."_render") + end + end + end + end + end, self.managerName.."_tick") + + events.RENDER:register(function (delta, ctx) + if not client:isPaused() then + for _, ins in ipairs(self.objects) do + if ins.callbacks ~= nil and ins.callbacks.onRender ~= nil then + ins.callbacks.onRender(ins, delta, ctx) + end + end + end + end, self.managerName.."_render") + end + end; + + ---オブジェクトを1つ削除する。 + ---@param self SpawnObjectManager + ---@param index integer 削除するオブジェクトのインデックス番号 + remove = function (self, index) + if self.objects[index] ~= nil then + if self.objects[index].callbacks ~= nil and self.objects[index].callbacks.onDeinit ~= nil then + self.objects[index].callbacks.onDeinit(self.objects[index]) + end + table.remove(self.objects, index) + if #self.objects == 0 then + events.TICK:remove(self.managerName.."_tick") + events.RENDER:remove(self.managerName.."_render") + end + end + end; + + ---オブジェクトをすべて削除する。 + ---@param self SpawnObjectManager + removeAll = function (self) + while #self.objects > 0 do + if self.objects[1].callbacks ~= nil and self.objects[1].callbacks.onDeinit ~= nil then + self.objects[1].callbacks.onDeinit(self.objects[1]) + end + table.remove(self.objects, 1) + end + events.TICK:remove(self.managerName.."_tick") + events.RENDER:remove(self.managerName.."_render") + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/vanilla_model.lua b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/vanilla_model.lua new file mode 100644 index 0000000..2220732 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/scripts/avatar_modules/vanilla_model.lua @@ -0,0 +1,23 @@ +---@class (exact) VanillaModel : AvatarModule バニラーのモデルの管理クラス + +VanillaModel = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return VanillaModel + new = function (parent) + ---@type VanillaModel + local instance = Avatar.instantiate(VanillaModel, AvatarModule, parent) + + return instance + end; + + ---初期化関数 + ---@param self AvatarModule + init = function (self) + AvatarModule.init(self) + + for _, vanillaModel in ipairs({vanilla_model.PLAYER, vanilla_model.CHESTPLATE_RIGHT_ARM, vanilla_model.CHESTPLATE_LEFT_ARM, vanilla_model.LEGGINGS_RIGHT_LEG, vanilla_model.LEGGINGS_LEFT_LEG, vanilla_model.BOOTS}) do + vanillaModel:setVisible(false) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Momoi/scripts/blue_archive_character.lua b/config/yosbr/config/figura/avatars/Momoi/scripts/blue_archive_character.lua new file mode 100644 index 0000000..3e7c83a --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/scripts/blue_archive_character.lua @@ -0,0 +1,1707 @@ +---@alias BlueArchiveCharacter.RightEyeTextures +---| "NORMAL" # 通常 +---| "SURPRISED" # 驚いた目(ダメージを受けたときなど) +---| "TIRED" # 疲れた目(死亡アニメーションなど) +---| "CLOSED" # 閉じた目(瞬き、睡眠中など) +---| "SURPRISED2" # 驚いて下を見る目 +---| "ANGRY" # 怒っている目 +---| "ANXIOUS" # 不満な目 +---| "UNEQUAL" # >< +---| "ANGRY_CENTER" # 怒りつつ少し反対側を見る目 + +---@alias BlueArchiveCharacter.LeftEyeTextures +---| "NORMAL" # 通常 +---| "SURPRISED" # 驚いた目(ダメージを受けたときなど) +---| "TIRED" # 疲れた目(死亡アニメーションなど) +---| "CLOSED" # 閉じた目(瞬き、睡眠中など) +---| "SURPRISED2" # 驚いて下を見る目 +---| "ANGRY" # 怒っている目 +---| "ANGRY2" # 怒っている目 +---| "ANXIOUS" # 不満な目 +---| "UNEQUAL" # >< +---| "ANGRY_INVERTED" # 怒りつつ反対側を見る目 +---| "CENTER" # 少し反対側を見る目 + +---@alias BlueArchiveCharacter.MouthTextures +---| "NORMAL" # 通常 +---| "FUN" # 「美味しそう」な口 +---| "ANXIOUS" # 口を膨らませる +---| "SHOCK" # あんぐり +---| "OPENED" # 開いた口 +---| "SMILE" # こっちを舐め腐っているにっこり +---| "TRIANGLE" # 三角口 + +---@alias BlueArchiveCharacter.GunHoldType +---| "NORMAL" # バニラの弓やクロスボウの構え方と同じ +---| "CUSTOM" # BBアニメーション"[models.main][gun_hold_right]"と"[models.main][gun_hold_left]"で構え方を定義する + +---@alias BlueArchiveCharacter.GunPutType +---| "BODY" # アバターのBodyに銃を移動させる +---| "HIDDEN" # 銃を隠す + +---@alias BlueArchiveCharacter.FormationType +---| "STRIKER" # ストライカー(前衛) +---| "SPECIAL" # スペシャル(後方支援) + +---@alias BlueArchiveCharacter.Costumes +---| "DEFAULT" # デフォルト衣装 +---| "MAID" # メイド + +--[[ ******************************** ]] + +---@class BlueArchiveCharacter : AvatarModule キャラクター変数を保持するクラス。別のキャラクターに対してもここを変更するだけで対応できるようにする。 +---@field public basic BlueArchiveCharacter.BasicStruct 生徒の基本情報 +---@field public faceParts BlueArchiveCharacter.FacePartsStruct 目や口による表情 +---@field public arms BlueArchiveCharacter.ArmsStruct 腕 +---@field public skirt BlueArchiveCharacter.SkirtStruct スカート +---@field public gun BlueArchiveCharacter.GunStruct 銃 +---@field public placementObjects BlueArchiveCharacter.PlacementObjectStruct[] 設置物 +---@field public exSkill BlueArchiveCharacter.ExSkillStruct[] Exスキル +---@field public costume BlueArchiveCharacter.CostumeStruct コスチューム +---@field public bubble BlueArchiveCharacter.BubbleStruct 吹き出しエモート +---@field public headBlock BlueArchiveCharacter.HeadBlockStruct 頭ブロック +---@field public portrait BlueArchiveCharacter.HeadBlockStruct ポートレート +---@field public deathAnimation BlueArchiveCharacter.DeathAnimationStruct 死亡アニメーション +---@field public actionWheel BlueArchiveCharacter.ActionWheelStruct アクションホイール +---@field public physics BlueArchiveCharacter.PhysicsStruct 物理演算 +---@field public dataSync BlueArchiveCharacter.DataSyncStruct データ同期 + +--[[ ******************************** ]] + +---@class BlueArchiveCharacter.BasicStruct 生徒の基本情報のデータ構造体 +---@field public firstName BlueArchiveCharacter.LocaleStringSet 生徒の名前 +---@field public lastName BlueArchiveCharacter.LocaleStringSet 生徒の苗字 +---@field public clubName BlueArchiveCharacter.LocaleStringSet 生徒が所属している部活名 +---@field public birth BlueArchiveCharacter.MonthDaySet 生徒の誕生日 + +---@class BlueArchiveCharacter.FacePartsStruct 目や口による表情のデータ構造体。UVマッピング情報は、デフォルトパーツから見て左からx番目、上からy番目とする。 +---@field public rightEye {[BlueArchiveCharacter.RightEyeTextures]: Vector2} 右目のテクスチャのUVマッピング情報 +---@field public leftEye {[BlueArchiveCharacter.LeftEyeTextures]: Vector2} 左目のテクスチャのUVマッピング情報 +---@field public mouth {[BlueArchiveCharacter.MouthTextures]: Vector2} 口のテクスチャのUVマッピング情報 +---@field public emotionSet? BlueArchiveCharacter.OverrideEmotionSet 特定の状況における表情を上書きする + +---@class BlueArchiveCharacter.ArmsStruct 腕のデータ構造体 +---@field public callbacks? BlueArchiveCharacter.ArmsCallbacksSet 腕の制御のコールバック関数群 + +---@class BlueArchiveCharacter.SkirtStruct スカートのデータ構造体 +---@field public skirtModels? ModelPart[] スカートとして制御するモデル + +---@class BlueArchiveCharacter.GunStruct 銃のデータ構造体 +---@field public scale number 銃モデルの大きさの倍率 +---@field public gunPosition BlueArchiveCharacter.GunPositionSet 銃モデルの位置や向き +---@field public sound BlueArchiveCharacter.GunSoundSet 銃の射撃音 +---@field public callbacks? BlueArchiveCharacter.GunCallbacksSet 銃のコールバック関数 + +---@class BlueArchiveCharacter.PlacementObjectStruct 設置物のデータ構造体 +---@field public model ModelPart 設置物として扱うモデル +---@field public boundingBox BlueArchiveCharacter.PlacementObjectBoundingBoxSet 設置物の当たり判定 +---@field public placementMode PlacementObjectManager.PlacementMode 設置物の設置モード +---@field public gravity? number 設置物にかかる重力。1が標準的な自由落下。0で空中静止。負の数で反重力(上に向かって落ちる)。 +---@field public hasFireResistance? boolean 設置物に火炎耐性を付与するかどうか。trueにすると炎やマグマで焼かれなくなる。 +---@field public callbacks? BlueArchiveCharacter.PlacementObjectCallbacksSet 設置物のコールバック関数 + +---@class BlueArchiveCharacter.ExSkillStruct Exスキルのデータ構造体 +---@field public name BlueArchiveCharacter.LocaleStringSet Exスキルの名前 +---@field public formationType BlueArchiveCharacter.FormationType この生徒の戦闘配置タイプ +---@field public models ModelPart[] Exスキルアニメーション開始時に表示し、Exスキルアニメーション終了時に非表示にするモデルパーツ +---@field public animations string[] Exスキルアニメーションが含まれるモデルファイル名。アニメーション名は"ex_skill_"にすること。 +---@field public camera BlueArchiveCharacter.ExSkillCameraSet Exスキルアニメーション中のカメラワーク +---@field public callbacks? BlueArchiveCharacter.ExSkillCallbacks Exスキルのコールバック関数 + +---@class BlueArchiveCharacter.CostumeStruct コスチュームのデータ構造体 +---@field public costumes BlueArchiveCharacter.CostumeDataSet[] コスチュームデータ +---@field public callbacks? BlueArchiveCharacter.CostumeCallbacks コスチュームのコールバック関数 + +---@class BlueArchiveCharacter.BubbleStruct 吹き出しエモートのデータ構造体 +---@field public callbacks? BlueArchiveCharacter.BubbleCallbacks 吹き出しエモートのコールバック関数 + +---@class BlueArchiveCharacter.HeadBlockStruct 頭ブロック、ポートレートのデータ構造体 +---@field public includeModels ModelPart[] 頭モデルに追加でアタッチするモデル +---@field public callbacks? BlueArchiveCharacter.HeadBlockCallbacks 頭ブロック、ポートレートのコールバック関数 + +---@class BlueArchiveCharacter.DeathAnimationStruct 死亡アニメーションのデータ構造体 +---@field public callbacks? BlueArchiveCharacter.DeathAnimationCallbacks 死亡アニメーションのコールバック関数 + +---@class BlueArchiveCharacter.ActionWheelStruct アクションホイールのデータ構造体 +---@field public isVehicleOptionEnabled boolean 乗り物のモデル置き換えオプションを有効にするかどうか + +---@class BlueArchiveCharacter.PhysicsStruct 物理演算のデータ構造体 +---@field physicData BlueArchiveCharacter.PhysicDataSet[] 物理演算データ +---@field callbacks? BlueArchiveCharacter.PhysicCallbacks 物理演算のコールバック関数 + +---@class BlueArchiveCharacter.DataSyncStruct データ同期のデータ構造体 +---@field public syncData {[string]: any} 追加でping同期させるデータテーブル +---@field public callbacks? BlueArchiveCharacter.DataSyncCallbacks データ同期のコールバック関数 + +--[[ ******************************** ]] + +---@class (exact) BlueArchiveCharacter.OverrideEmotionSet 特定の状況における表情を上書きするセット +---@field public onDamage? BlueArchiveCharacter.EmotionSet ダメージを受けたとき +---@field public onDied? BlueArchiveCharacter.EmotionSet 死んだとき(死亡アニメーションは除外) +---@field public onSleep? BlueArchiveCharacter.EmotionSet ベッドで寝ているとき + +---@class (exact) BlueArchiveCharacter.EmotionSet 表情のデータセット +---@field public rightEye BlueArchiveCharacter.RightEyeTextures 右目の表情名 +---@field public leftEye BlueArchiveCharacter.LeftEyeTextures 左目の表情名 +---@field public mouth BlueArchiveCharacter.MouthTextures 口の表情名 + +---@class (exact) BlueArchiveCharacter.ArmsCallbacksSet 腕処理のコールバック関数のセット +---@field public onArmStateChanged? fun(self: BlueArchiveCharacter, right: integer, left: integer): {right?: integer, left?: integer}|nil 腕の状態が変更された際のコールバック関数 +---@field public onAdditionalRightArmProcess? fun(self: BlueArchiveCharacter, state: integer) 右腕の追加処理 +---@field public onAdditionalLeftArmProcess? fun(self: BlueArchiveCharacter, state: integer) 左腕の追加処理 + +---@class (exact) BlueArchiveCharacter.GunPositionSet 銃のモデルの位置や向きのデータセット +---@field public hold BlueArchiveCharacter.GunHoldPositionSet 銃を構えているとき +---@field public put BlueArchiveCharacter.GunPutPositionSet 銃をしまっているとき + +---@class (exact) BlueArchiveCharacter.GunHoldPositionSet 構えているときの銃のモデルの位置や向きのデータセット +---@field public type BlueArchiveCharacter.GunHoldType 銃の構え方の種類 +---@field public firstPersonPos? BlueArchiveCharacter.Vector3RightLeftSet 一人称視点での銃の位置 +---@field public firstPersonRot? BlueArchiveCharacter.Vector3RightLeftSet 一人称視点での銃の方向 +---@field public thirdPersonPos? BlueArchiveCharacter.Vector3RightLeftSet 三人称視点での銃の位置 +---@field public thirdPersonRot? BlueArchiveCharacter.Vector3RightLeftSet 三人称視点での銃の方向 + +---@class (exact) BlueArchiveCharacter.GunPutPositionSet しまっているときの銃のモデルの位置や向きのデータセット +---@field public type BlueArchiveCharacter.GunPutType 銃のしまい方の種類 +---@field public pos? BlueArchiveCharacter.Vector3RightLeftSet 一人称視点での銃の位置 +---@field public rot? BlueArchiveCharacter.Vector3RightLeftSet 一人称視点での銃の方向 + +---@class (exact) BlueArchiveCharacter.GunSoundSet 銃の音のデータセット +---@field public name Minecraft.soundID 銃の音として使用するゲームの音源名 +---@field public pitch number 音源の再生ピッチ(0.5~2) + +---@class (exact) BlueArchiveCharacter.GunCallbacksSet 銃のコールバック関数のセット +---@field public onMainHandChange? fun(self: BlueArchiveCharacter, direction: Gun.HandDirection) 利き手が変更されたときに呼び出される関数 + +---@class (exact) BlueArchiveCharacter.PlacementObjectBoundingBoxSet 設置物の当たり判定のデータセット +---@field public offsetPos? Vector3 設置物の底の中心点のオフセット位置(任意)。基準点は(0, 0, 0)。 +---@field public size? Vector3 当たり判定の大きさ。BlockBenchでのサイズの値をそのまま入力する。基準点はモデルの底面の中心。 + +---@class (exact) BlueArchiveCharacter.PlacementObjectCallbacksSet 設置物のコールバック関数のセット +---@field public onInit? fun(self: BlueArchiveCharacter, placementObject: PlacementObject) 設置物インスタンスが生成された直後に呼ばれる関数 +---@field public onDeinit? fun(self: BlueArchiveCharacter, placementObject: PlacementObject) 設置物インスタンスが破棄される直前に呼ばれる関数 +---@field public onTick? fun(self: BlueArchiveCharacter, placementObject: PlacementObject) 各ティック毎に呼ばれる関数 +---@field public onRender? fun(self: BlueArchiveCharacter, placementObject: PlacementObject) 各レンダーティック毎に呼ばれる関数 +---@field public onGround? fun(self: BlueArchiveCharacter, placementObject: PlacementObject) 設置物が接地した瞬間に呼ばれる関数 + +---@class (exact) BlueArchiveCharacter.ExSkillCameraSet Exスキルアニメーション中のカメラワークのセット +---@field public start BlueArchiveCharacter.ExSkillCameraPositionSet Exスキルアニメーション開始地点 +---@field public fin BlueArchiveCharacter.ExSkillCameraPositionSet Exスキルアニメーション終了地点 +---@field public fixMode? boolean カメラの補正モード。通常は無効だが、特定のキャラクターに対しては有効にしておく。 + +---@class (exact) BlueArchiveCharacter.ExSkillCameraPositionSet Exスキルアニメーション中のカメラワークの開始/終了地点の位置のデータセット +---@field public pos Vector3 カメラの位置 +---@field public rot Vector3 カメラの方向 + +---@class (exact) BlueArchiveCharacter.ExSkillCallbacks Exスキルのコールバック関数のセット +---@field public onPreTransition? fun(self: BlueArchiveCharacter) Exスキルアニメーション開始前のトランジション開始前に実行されるコールバック関数 +---@field public onPreAnimation? fun(self: BlueArchiveCharacter) Exスキルアニメーション開始前のトランジション終了後に実行されるコールバック関数 +---@field public onAnimationTick? fun(self: BlueArchiveCharacter, tick: integer) Exスキルアニメーション再生中のみ実行されるティック関数 +---@field public onPostAnimation? fun(self: BlueArchiveCharacter, forcedStop: boolean) Exスキルアニメーション終了後のトランジション開始前に実行されるコールバック関数 +---@field public onPostTransition? fun(self: BlueArchiveCharacter, forcedStop: boolean) Exスキルアニメーション終了後のトランジション終了後に実行されるコールバック関数 + +---@class BlueArchiveCharacter.CostumeDataSet コスチュームのデータセット +---@field public name string コスチュームの内部名 +---@field public displayName BlueArchiveCharacter.LocaleStringSet コスチュームの表示名 +---@field public exSkill integer コスチュームに対応するExスキルのインデックス番号 +---@field public subExSkill? integer コスチュームに対応するサブExスキルのインデックス番号 + +---@class (exact) BlueArchiveCharacter.CostumeCallbacks コスチュームのコールバック関数のセット +---@field public onChange? fun(self: BlueArchiveCharacter, costumeId: BlueArchiveCharacter.Costumes) 衣装が変更されたときに実行されるコールバック関数。デフォルトの衣装はここに含めない。 +---@field public onReset? fun(self: BlueArchiveCharacter) 衣装がリセットされたときに実行されるコールバック関数。あらゆる衣装からデフォルトの衣装へ推移できるようにする。 +---@field public onArmorChange? fun(self: BlueArchiveCharacter, parts: Armor.ArmorPart, isVisible: boolean) 防具が変更された(防具が見える/見えない)ときに実行されるコールバック関数 + +---@class (exact) BlueArchiveCharacter.BubbleCallbacks 吹き出しエモートのコールバック関数のセット +---@field public onPlay? fun(self: BlueArchiveCharacter, type: Bubble.BubbleType, duration: integer, showInGui: boolean) 吹き出しエモートが再生された時に実行されるコールバック関数 +---@field public onStop? fun(self: BlueArchiveCharacter, type: Bubble.BubbleType, forcedStop: boolean) 吹き出しアニメーション終了時に実行されるコールバック関数 + +---@class (exact) BlueArchiveCharacter.HeadBlockCallbacks 頭ブロックのコールバック関数のセット +---@field public onBeforeModelCopy? fun(self: BlueArchiveCharacter, isScriptLoaded: boolean) モデルのコピー直前に実行される関数 +---@field public onAfterModelCopy? fun(self: BlueArchiveCharacter, isScriptLoaded: boolean) モデルのコピー直後に実行される関数 + +---@class (exact) BlueArchiveCharacter.DeathAnimationCallbacks 死亡アニメーションのコールバック関数のセット +---@field public onPhase1? fun(self: BlueArchiveCharacter, dummyAvatar: ModelPart, costume: BlueArchiveCharacter.Costumes) 死亡アニメーションが再生された直後に実行される関数 +---@field public onPhase2? fun(self: BlueArchiveCharacter, dummyAvatar: ModelPart, costume: BlueArchiveCharacter.Costumes) ダミーアバターが縄ばしごにつかまった直後に実行される関数 +---@field public onBeforeModelCopy? fun(self: BlueArchiveCharacter, isScriptLoaded: boolean) モデルのコピー直前に実行される関数 +---@field public onAfterModelCopy? fun(self: BlueArchiveCharacter, isScriptLoaded: boolean) モデルのコピー直後に実行される関数 + +---@class (exact) BlueArchiveCharacter.PhysicDataSet 物理演算のデータセット +---@field public models ModelPart[] 物理演算の対象にするモデルパーツ +---@field public x? BlueArchiveCharacter.PhysicAxisData x軸のデータ +---@field public y? BlueArchiveCharacter.PhysicAxisData y軸のデータ +---@field public z? BlueArchiveCharacter.PhysicAxisData z軸のデータ + +---@class (exact) BlueArchiveCharacter.PhysicAxisData 物理演算の1軸のデータセット +---@field public vertical? BlueArchiveCharacter.PhysicCoreData 体が垂直方向である時(通常時)の物理演算データ +---@field public horizontal? BlueArchiveCharacter.PhysicCoreData 体が水平方向である時(水泳時、エリトラ飛行時)の物理演算データ + +---@class (exact) BlueArchiveCharacter.PhysicCoreData 物理演算のコアデータ +---@field public min number このモデルパーツ、回転軸の絶対的な回転の最小値(度) +---@field public neutral number このモデルパーツ、回転軸の中立の回転位置(度) +---@field public max number このモデルパーツ、回転軸の絶対的な回転の最大値(度) +---@field public sneakOffset? number スニーク時にこのモデルパーツの回転に加えられるオフセット値 +---@field public headRotMultiplayer? number 頭の縦方向の回転と共にこのモデルパーツの回転に加えられる値の倍率 +---@field public headX? BlueArchiveCharacter.PhysicFactorData 頭を基準とした、前後方向移動によるモデルパーツの回転データ +---@field public headZ? BlueArchiveCharacter.PhysicFactorData 頭を基準とした、左右方向移動によるモデルパーツの回転データ +---@field public headRot? BlueArchiveCharacter.PhysicFactorData 頭の回転によるによるモデルパーツの回転データ +---@field public bodyX? BlueArchiveCharacter.PhysicFactorData 体を基準とした、前後方向移動によるモデルパーツの回転データ +---@field public bodyY? BlueArchiveCharacter.PhysicFactorData 体を基準とした、上下方向移動によるモデルパーツの回転データ +---@field public bodyZ? BlueArchiveCharacter.PhysicFactorData 体を基準とした、左右方向移動によるモデルパーツの回転データ +---@field public bodyRot? BlueArchiveCharacter.PhysicFactorData 体の回転によるによるモデルパーツの回転データ + +---@class (exact) BlueArchiveCharacter.PhysicFactorData 物理演算を働かせる要因を定義するデータセット +---@field public multiplayer number この回転事象がモデルパーツに与える回転の倍率 +---@field public min number この回転事象がモデルパーツに与える回転の最小値 +---@field public max number この回転事象がモデルパーツに与える回転の最大値 + +---@class (exact) BlueArchiveCharacter.PhysicCallbacks 物理演算のコールバック関数のセット +---@field public onPhysicPerformed? fun(self: BlueArchiveCharacter, model: ModelPart) 物理演算処理後に実行されるコールバック関数(省略可)。ここでモデルパーツの向きを上書きできる。 + +---@class (exact) BlueArchiveCharacter.DataSyncCallbacks データ同期のコールバック関数のセット +---@field public onDataSynced? fun(self: BlueArchiveCharacter) データが同期されたときに実行させるコールバック関数。ホスト上では実行されない。 + +--[[ ******************************** ]] + +---@class (exact) BlueArchiveCharacter.LocaleStringSet ロケール文字列のセット +---@field public en_us string 英語(米国) +---@field public ja_jp string 日本語 + +---@class (exact) BlueArchiveCharacter.MonthDaySet 日月のデータセット +---@field public month integer 月 +---@field public day integer 日 + +---@class (exact) BlueArchiveCharacter.Vector3RightLeftSet 左右で別々にVector3が定義できるデータセット +---@field public right? Vector3 右 +---@field public left? Vector3 左 + +BlueArchiveCharacter = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return BlueArchiveCharacter + new = function (parent) + ---@type BlueArchiveCharacter + local instance = Avatar.instantiate(BlueArchiveCharacter, AvatarModule, parent) + + instance.basic = { + firstName = { + en_us = "Momoi"; + ja_jp = "モモイ"; + }; + + lastName = { + en_us = "Saiba"; + ja_jp = "才羽"; + }; + + clubName = { + en_us = "Game Development Club"; + ja_jp = "ゲーム開発部"; + }; + + birth = { + month = 12; + day = 8; + }; + } + + instance.faceParts = { + rightEye = { + NORMAL = vectors.vec2(0, 0); --必須 + SURPRISED = vectors.vec2(2, 0); --必須 + TIRED = vectors.vec2(4, 0); --必須 + CLOSED = vectors.vec2(3, 0); --必須 + SURPRISED2 = vectors.vec2(5, 0); + ANGRY = vectors.vec2(6, 0); + ANXIOUS = vectors.vec2(1, 1); + UNEQUAL = vectors.vec2(3, 1); + ANGRY_CENTER = vectors.vec2(7, 0); + }; + + leftEye = { + NORMAL = vectors.vec2(0, 0); --必須 + SURPRISED = vectors.vec2(1, 0); --必須 + TIRED = vectors.vec2(3, 0); --必須 + CLOSED = vectors.vec2(2, 0); --必須 + SURPRISED2 = vectors.vec2(4, 0); + ANGRY2 = vectors.vec2(-1, 1); + ANXIOUS = vectors.vec2(1, 1); + UNEQUAL = vectors.vec2(2, 1); + ANGRY = vectors.vec2(7, 0); + ANGRY_INVERTED = vectors.vec2(8, 0); + CENTER = vectors.vec2(3, 1); + }; + + mouth = { + OPENED = vectors.vec2(0, 0); + FUN = vectors.vec2(3, 0); + ANXIOUS = vectors.vec2(2, 0); + SHOCK = vectors.vec2(1, 0); + ANGRY = vectors.vec2(0, 1); + SMILE = vectors.vec2(2, 1); + TRIANGLE = vectors.vec2(3, 1); + }; + + emotionSet = { + onDamage = { + rightEye = "SURPRISED"; + leftEye = "SURPRISED"; + mouth = "SHOCK"; + }; + onDied = { + rightEye = "SURPRISED"; + leftEye = "SURPRISED"; + mouth = "SHOCK"; + }; + }; + } + + instance.arms = { + + } + + instance.skirt = { + skirtModels = {models.models.main.Avatar.UpperBody.Body.Skirt, models.models.main.Avatar.UpperBody.Body.CMaidB.Skirt1}; + } + + instance.gun = { + scale = 1.5; + + gunPosition = { + hold = { + type = "NORMAL"; + + firstPersonPos = { + right = vectors.vec3(-0.5, 3, -8); + left = vectors.vec3(0.5, 3, -8); + }; + + thirdPersonPos = { + right = vectors.vec3(-2, 3, -6); + left = vectors.vec3(2, 3, -6); + }; + }; + + put = { + type = "HIDDEN"; + }; + }; + + sound = { + name = "minecraft:entity.firework_rocket.blast"; + pitch = 1; + }; + } + + instance.placementObjects = { + } + + instance.exSkill = { + { + name = { + en_us = "The anguish of creation"; + ja_jp = "生みの苦しみ"; + }; + + formationType = "STRIKER"; + + models = {models.models.main.Avatar.Head.EffectPanel, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.GameConsole1, models.models.ex_skill_1.Midori, models.models.ex_skill_1.Gui}; + + animations = {"main", "ex_skill_1"}; + + camera = { + start = { + rot = vectors.vec3(-10, 200, -25); + pos = vectors.vec3(-12, 7, -28); + }; + + fin = { + rot = vectors.vec3(10, 40, 0); + pos = vectors.vec3(4, 18, 15); + }; + }; + + callbacks = { + onPreAnimation = function (self) + if not self.exSkill[1].init then + models.models.ex_skill_1.Midori.MidoriUpperBody.MidoriArms.MidoriLeftArm.MidoriLeftArmBottom.GameConsole2:addChild(models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.GameConsole1:copy("GameConsole2")) + if host:isHost() then + models.models.ex_skill_1.Gui.UI:newText("ex_skill_1_ko"):setText("§cK.O."):setScale(1.5, 1.5, 1.5):setAlignment("CENTER"):setOutline(true):setOutlineColor(0.33, 0, 0):setVisible(false) + models.models.ex_skill_1.Gui.TextAnchor:newText("ex_skill_1:text"):setText("§d§lMOMOI"):setScale(4, 4, 4):setAlignment("RIGHT"):setOutline(true):setOutlineColor(1, 1, 1) + models.models.ex_skill_1.Gui.UI.MomoiUI.Background:setColor(0.71, 0.082, 0.067) + for _, modelPart in ipairs({models.models.ex_skill_1.Gui.UI.MomoiUI.YellowBar, models.models.ex_skill_1.Gui.UI.MomoiUI.RedBar}) do + modelPart:setPrimaryRenderType("EMISSIVE_SOLID") + end + models.models.ex_skill_1.Gui.UI.MomoiUI:newText("ex_skill_1_momoi_name"):setText("§d§lMOMOI"):setPos(130, 13, 0):setScale(1.5, 1.5, 1.5):setOutline(true):setOutlineColor(1, 1, 1) + models.models.ex_skill_1.Gui.UI.MomoiUI.PaperDoll:setScale(2.3, 2.3, 2.3) + models.models.ex_skill_1.Gui.UI.MomoiUI.PaperDoll:addChild(self.parent.modelUtils:copyModel(models.script_head_block.Head, "MomoiPaperDollHead")) + models.models.ex_skill_1.Gui.UI.MomoiUI.PaperDoll.MomoiPaperDollHead:setPos(models.models.ex_skill_1.Gui.UI.MomoiUI.PaperDoll:getTruePivot():add(0, -24, 0)) + models.models.ex_skill_1.Gui.UI.MomoiUI.PaperDoll.MomoiPaperDollHead.HeadRing:setPrimaryRenderType("CUTOUT_EMISSIVE_SOLID") + models.models.ex_skill_1.Gui.UI.MomoiUI.PaperDoll.MomoiPaperDollHead.FaceParts:addChild(models.models.main.Avatar.Head.FaceParts.Mouth:copy("Mouth")) + models.models.ex_skill_1.Gui.UI.MomoiUI.PaperDoll.MomoiPaperDollHead.FaceParts.Mouth:setUVPixels(16, 16) + models.models.ex_skill_1.Gui.UI.MomoiUI.PaperDoll.MomoiPaperDollHead.FaceParts.Mouth:setVisible(true) + models.models.ex_skill_1.Gui.UI.DeadEye:moveTo(models.models.ex_skill_1.Gui.UI.MomoiUI.PaperDoll.MomoiPaperDollHead.FaceParts) + for _, modelPart in ipairs(models.models.ex_skill_1.Gui.UI.MomoiUI.PaperDoll:getChildren()) do + modelPart:setVisible(false) + end + models.models.ex_skill_1.Gui.UI:addChild(self.parent.modelUtils:copyModel(models.models.ex_skill_1.Gui.UI.MomoiUI, "MidoriUI")) + for _, modelPart in ipairs(models.models.ex_skill_1.Gui.UI.MomoiUI.PaperDoll:getChildren()) do + modelPart:setVisible(true) + end + models.models.ex_skill_1.Gui.UI.MidoriUI.Frame:setRot(0, 180, 0) + models.models.ex_skill_1.Gui.UI.MidoriUI.Background:setPos(-139.5, 0, 0) + models.models.ex_skill_1.Gui.UI.MidoriUI.Background:setColor(0.098, 0.2, 0.686) + models.models.ex_skill_1.Gui.UI.MidoriUI.YellowBar:setPos(36, 0, 0) + models.models.ex_skill_1.Gui.UI.MidoriUI.YellowBar:setOffsetPivot(-135, 0, 0) + models.models.ex_skill_1.Gui.UI.MidoriUI.YellowBar:setScale(0.7, 1, 1) + models.models.ex_skill_1.Gui.UI.MidoriUI.YellowBar:setPrimaryRenderType("EMISSIVE_SOLID") + models.models.ex_skill_1.Gui.UI.MidoriUI.RedBar:remove() + models.models.ex_skill_1.Gui.UI.MidoriPaperDollBody:moveTo(models.models.ex_skill_1.Gui.UI.MidoriUI.PaperDoll) + models.models.ex_skill_1.Gui.UI.MidoriUI.PaperDoll.MidoriPaperDollBody:setPos(-139, 0, 0) + models.models.ex_skill_1.Gui.UI.MidoriUI.PaperDoll:setPos(0, 0, 0) + models.models.ex_skill_1.Gui.UI.MidoriUI.PaperDoll:setRot(0, -15, 0) + models.models.ex_skill_1.Gui.UI.MidoriUI.PaperDoll:setOffsetPivot(-139, 0, 0) + models.models.ex_skill_1.Gui.UI.MidoriUI.PaperDoll:addChild(self.parent.modelUtils:copyModel(models.models.ex_skill_1.Midori.MidoriHead, "MidoriPaperDollHead")) + models.models.ex_skill_1.Gui.UI.MidoriUI.PaperDoll.MidoriPaperDollHead:setPos(models.models.ex_skill_1.Gui.UI.MidoriUI.PaperDoll:getTruePivot():add(0, -24, 0)) + models.models.ex_skill_1.Gui.UI.MidoriUI.PaperDoll.MidoriPaperDollHead.MidoriHeadRing:setPrimaryRenderType("CUTOUT_EMISSIVE_SOLID") + models.models.ex_skill_1.Gui.UI.MidoriUI:newText("ex_skill_1_midori_name"):setText("§a§lMIDORI"):setPos(48, 13, 0):setScale(1.5, 1.5, 1.5):setOutline(true):setOutlineColor(1, 1, 1):setAlignment("RIGHT") + end + self.exSkill[1].init = true + end + if host:isHost() then + models.models.ex_skill_1.Gui.UI.MidoriUI:setPos(client:getScaledWindowSize().x * -1 + 220, 0, 0) + end + end; + + onAnimationTick = function (self, tick) + if tick == 0 then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "FUN", 16, true) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bit"), player:getPos(), 1, 1.5) + elseif tick == 1 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bit"), player:getPos(), 1, 1.75) + elseif tick == 2 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bit"), player:getPos(), 1, 2) + elseif tick == 14 then + for _, modelPart in ipairs({models.models.ex_skill_1.Midori.MidoriHead.MidoriFaceParts.Eyes.EyeLeft, models.models.ex_skill_1.Midori.MidoriHead.MidoriFaceParts.Eyes.EyeRight}) do + modelPart:setUVPixels(12, 0) + end + elseif tick == 16 then + self.parent.faceParts:setEmotion("ANXIOUS", "ANXIOUS", "ANXIOUS", 24, true) + elseif tick == 24 then + self.parent.textObjectManager1:spawn("4") + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.generic.hurt"), player:getPos(), 0.25, 1) + if host:isHost() then + models.models.ex_skill_1.Gui.UI.MomoiUI.PaperDoll:setColor(1, 0.75, 0.75) + models.models.ex_skill_1.Gui.UI.MomoiUI.PaperDoll.MomoiPaperDollHead.FaceParts.Eyes.EyeRight:setUVPixels(6, 0) + models.models.ex_skill_1.Gui.UI.MomoiUI.PaperDoll.MomoiPaperDollHead.FaceParts.Eyes.EyeLeft:setUVPixels(12, 0) + models.models.ex_skill_1.Gui.UI.MomoiUI.PaperDoll.MomoiPaperDollHead.FaceParts.Mouth:setUVPixels(16, 0) + end + elseif tick == 27 and host:isHost() then + models.models.ex_skill_1.Gui.UI.MomoiUI.PaperDoll:setColor() + for _, modelPart in ipairs({models.models.ex_skill_1.Gui.UI.MomoiUI.PaperDoll.MomoiPaperDollHead.FaceParts.Eyes.EyeRight, models.models.ex_skill_1.Gui.UI.MomoiUI.PaperDoll.MomoiPaperDollHead.FaceParts.Eyes.EyeLeft}) do + modelPart:setUVPixels() + end + models.models.ex_skill_1.Gui.UI.MomoiUI.PaperDoll.MomoiPaperDollHead.FaceParts.Mouth:setUVPixels(16, 16) + elseif tick == 31 then + self.parent.textObjectManager1:spawn("3") + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.generic.hurt"), player:getPos(), 0.25, 1) + if host:isHost() then + models.models.ex_skill_1.Gui.UI.MomoiUI.PaperDoll:setColor(1, 0.75, 0.75) + models.models.ex_skill_1.Gui.UI.MomoiUI.PaperDoll.MomoiPaperDollHead.FaceParts.Eyes.EyeRight:setUVPixels(6, 0) + models.models.ex_skill_1.Gui.UI.MomoiUI.PaperDoll.MomoiPaperDollHead.FaceParts.Eyes.EyeLeft:setUVPixels(12, 0) + models.models.ex_skill_1.Gui.UI.MomoiUI.PaperDoll.MomoiPaperDollHead.FaceParts.Mouth:setUVPixels(16, 0) + end + elseif tick == 34 and host:isHost() then + models.models.ex_skill_1.Gui.UI.MomoiUI.PaperDoll:setColor() + for _, modelPart in ipairs({models.models.ex_skill_1.Gui.UI.MomoiUI.PaperDoll.MomoiPaperDollHead.FaceParts.Eyes.EyeRight, models.models.ex_skill_1.Gui.UI.MomoiUI.PaperDoll.MomoiPaperDollHead.FaceParts.Eyes.EyeLeft}) do + modelPart:setUVPixels() + end + models.models.ex_skill_1.Gui.UI.MomoiUI.PaperDoll.MomoiPaperDollHead.FaceParts.Mouth:setUVPixels(16, 16) + elseif tick == 36 then + self.parent.textObjectManager1:spawn("5") + local playerPos = player:getPos() + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.generic.hurt"), playerPos, 0.25, 1) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.levelup"), playerPos, 1, 1.5) + if host:isHost() then + models.models.ex_skill_1.Gui.UI.MomoiUI.PaperDoll:setColor(1, 0.75, 0.75) + models.models.ex_skill_1.Gui.UI.MomoiUI.PaperDoll.MomoiPaperDollHead.FaceParts.Eyes:setVisible(false) + models.models.ex_skill_1.Gui.UI.MomoiUI.PaperDoll.MomoiPaperDollHead.FaceParts.Mouth:setUVPixels(16, 8) + models.models.ex_skill_1.Gui.UI.MomoiUI.PaperDoll.MomoiPaperDollHead.FaceParts.DeadEye:setVisible(true) + local task = models.models.ex_skill_1.Gui.UI:getTask("ex_skill_1_ko") + task:setPos(client:getScaledWindowSize().x / 2 * -1, -12, -30) + task:setVisible(true) + events.RENDER:register(function (delta) + local count = self.parent.exSkill.animationCount - 37 + delta + task:setScale(vectors.vec3(1, 1, 1):scale(count <= 1.5 and (-1.667 * count + 5) or (count + 1))) + end, "ex_skill_1_ko_render") + end + elseif tick == 38 then + models.models.ex_skill_1.Midori.MidoriHead.MidoriFaceParts.Eyes.EyeLeft:setUVPixels(24, 0) + models.models.ex_skill_1.Midori.MidoriHead.MidoriFaceParts.Eyes.EyeRight:setUVPixels(18, 0) + if host:isHost() then + events.RENDER:remove("ex_skill_1_ko_render") + models.models.ex_skill_1.Gui.UI:getTask("ex_skill_1_ko"):setScale(3, 3, 3) + end + elseif tick == 40 then + self.parent.faceParts:setEmotion("CLOSED", "CLOSED", "ANXIOUS", 3, true) + models.models.ex_skill_1.Midori.MidoriUpperBody.MidoriArms.MidoriLeftArm.MidoriLeftArmBottom.GameConsole2:moveTo(models.models.ex_skill_1.Midori.MidoriLowerBody.MidoriLegs) + for _, modelPart in ipairs({models.models.ex_skill_1.Midori.MidoriHead.MidoriFaceParts.Eyes.EyeLeft, models.models.ex_skill_1.Midori.MidoriHead.MidoriFaceParts.Eyes.EyeRight}) do + modelPart:setUVPixels() + end + elseif tick == 43 then + self.parent.faceParts:setEmotion("SURPRISED2", "SURPRISED2", "SHOCK", 24, true) + elseif tick == 66 then + models.models.ex_skill_1.Midori.MidoriHead.MidoriFaceParts.Eyes.EyeLeft:setUVPixels(24, 0) + models.models.ex_skill_1.Midori.MidoriHead.MidoriFaceParts.Eyes.EyeRight:setUVPixels(18, 0) + elseif tick == 67 then + models.models.ex_skill_1.Gui.UI:setVisible(false) + self.parent.faceParts:setEmotion("ANGRY", "ANGRY2", "ANGRY", 41, true) + models.models.main.Avatar.Head.EffectPanel:setUVPixels(9, 0) + if host:isHost() then + models.models.ex_skill_1.Gui.TextAnchor:setVisible(true) + events.RENDER:register(function () + local windowSize = client:getScaledWindowSize() + models.models.ex_skill_1.Gui.TextAnchor:setPos(models.models.ex_skill_1.Gui.TextAnchor:getAnimPos():scale(windowSize.y / 2 / 100):add(0, windowSize.y * -1 + 30, 0)) + end, "ex_skill_1_text_render") + end + elseif tick == 83 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.generic.explode"), player:getPos(), 0.25, 0.5) + end + if tick <= 38 and math.random() >= 0.75 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bit"), player:getPos(), 0.1, 2) + end + if tick <= 38 and tick % 3 == 0 and host:isHost() then + sounds:playSound(instance.parent.compatibilityUtils:checkSound("minecraft:entity.player.attack.nodamage"), player:getPos(), 0.25, 1) + end + end; + + onPostAnimation = function (_, forcedStop) + for _, modelPart in ipairs({models.models.main.Avatar.Head.EffectPanel, models.models.ex_skill_1.Midori.MidoriHead.MidoriFaceParts.Eyes.EyeLeft, models.models.ex_skill_1.Midori.MidoriHead.MidoriFaceParts.Eyes.EyeRight}) do + modelPart:setUVPixels() + end + if models.models.ex_skill_1.Midori.MidoriLowerBody.MidoriLegs.GameConsole2 ~= nil then + models.models.ex_skill_1.Midori.MidoriLowerBody.MidoriLegs.GameConsole2:moveTo(models.models.ex_skill_1.Midori.MidoriUpperBody.MidoriArms.MidoriLeftArm.MidoriLeftArmBottom) + end + if host:isHost() then + for _, modelPart in ipairs({models.models.ex_skill_1.Gui.UI, models.models.ex_skill_1.Gui.UI.MomoiUI.PaperDoll.MomoiPaperDollHead.FaceParts.Eyes}) do + modelPart:setVisible(true) + end + for _, modelPart in ipairs({models.models.ex_skill_1.Gui.UI.MomoiUI.PaperDoll.MomoiPaperDollHead.FaceParts.DeadEye, models.models.ex_skill_1.Gui.TextAnchor}) do + modelPart:setVisible(false) + end + models.models.ex_skill_1.Gui.UI.MomoiUI.PaperDoll.MomoiPaperDollHead.FaceParts.Mouth:setUVPixels(16, 16) + models.models.ex_skill_1.Gui.UI.MomoiUI.PaperDoll:setColor() + models.models.ex_skill_1.Gui.UI:getTask("ex_skill_1_ko"):setVisible(false) + for _, eventName in ipairs ({"ex_skill_1_text_render", "ex_skill_1_ko_render"}) do + events.RENDER:remove(eventName) + end + if forcedStop then + for _, modelPart in ipairs({models.models.ex_skill_1.Gui.UI.MomoiUI.PaperDoll.MomoiPaperDollHead.FaceParts.Eyes.EyeRight, models.models.ex_skill_1.Gui.UI.MomoiUI.PaperDoll.MomoiPaperDollHead.FaceParts.Eyes.EyeLeft}) do + modelPart:setUVPixels() + end + end + end + end; + }; + + ---このExスキルの初期化処理が行われたかどうか + ---@type boolean + init = false; + }; + + { + name = { + en_us = "Virtual・Maid・Weapon!"; + ja_jp = "バーチャル・メイドウェポン!"; + }; + + formationType = "STRIKER"; + + models = {models.models.ex_skill_2}; + + animations = {"main", "costume_maid", "gun", "ex_skill_2"}; + + camera = { + start = { + rot = vectors.vec3(20, -155, 0); + pos = vectors.vec3(9, 32, -47); + }; + fin = { + rot = vectors.vec3(45, -210, 0); + pos = vectors.vec3(19, 36.1, -14.5); + }; + }; + + callbacks = { + onPreAnimation = function (self) + if not self.exSkill[2].init then + for _, modelPart in ipairs({models.models.ex_skill_2.Pillagers.Pillager1.Pillager1Head.PillagerHead, models.models.ex_skill_2.Pillagers.Pillager1.Pillager1Head.Pillager1Nose, models.models.ex_skill_2.Pillagers.Pillager1.Pillager1Body, models.models.ex_skill_2.Pillagers.Pillager1.Pillager1RightArm, models.models.ex_skill_2.Pillagers.Pillager1.Pillager1LeftArm, models.models.ex_skill_2.Pillagers.Pillager1.Pillager1RightLeg, models.models.ex_skill_2.Pillagers.Pillager1.Pillager1LeftLeg}) do + modelPart:setPrimaryTexture("RESOURCE", "minecraft:textures/entity/illager/pillager.png") + end + for _, part in ipairs({"Head", "Body", "RightArm", "LeftArm", "RightLeg", "LeftLeg"}) do + for i = 2, 3 do + models.models.ex_skill_2.Pillagers["Pillager"..i]["Pillager"..i..part]:addChild(self.parent.modelUtils:copyModel(models.models.ex_skill_2.Pillagers.Pillager1["Pillager1"..part])) + end + end + for y = 0, 1 do + for x = 0, 1 do + models.models.ex_skill_2.Covers.CoverLeft:newBlock("ex_skill_2_block_"..y * 2 + x):setBlock(self.parent.compatibilityUtils:checkBlock("minecraft:barrel", "[facing=up]")):setPos(x * 16, y * 16, 0) + end + end + models.models.ex_skill_2.Covers.CoverLeft:newBlock("ex_skill_2_block_4"):setBlock(self.parent.compatibilityUtils:checkBlock("minecraft:barrel", "[facing=up]")):setPos(16, 0, -16) + --models.models.ex_skill_2.Covers.CoverLeft:newBlock("ex_skill_2_block_5"):setBlock(self.parent.compatibilityUtils:checkBlock("minecraft:decorated_pot")):setPos(16, 16, -16) --ブロックタスクで何故か飾り壺が描画されない... + for i = 0, 1 do + models.models.ex_skill_2.Covers.CoverRight:newBlock("ex_skill_2_block_"..6 + i):setBlock(self.parent.compatibilityUtils:checkBlock("minecraft:barrel", "[facing=up]")):setPos(-16, i * 16, 0) + end + for i = 0, 1 do + models.models.ex_skill_2.Covers.CoverRight:newBlock("ex_skill_2_block_"..8 + i):setBlock(self.parent.compatibilityUtils:checkBlock("minecraft:barrel", "[facing=up]")):setPos(-32, 0, i * -16) + end + for i = 0, 1 do + models.models.ex_skill_2.Covers.CoverBack1:newBlock("ex_skill_2_block_"..10 + i):setBlock(self.parent.compatibilityUtils:checkBlock("minecraft:barrel", "[facing=up]")):setPos(i * 16, 0, 0) + end + models.models.ex_skill_2.Covers.CoverBack1:newBlock("ex_skill_2_block_12"):setBlock(self.parent.compatibilityUtils:checkBlock("minecraft:barrel", "[facing=up]")):setPos(16, 16, 0) + --models.models.ex_skill_2.Covers.CoverBack1:newBlock("ex_skill_2_block_13"):setBlock(self.parent.compatibilityUtils:checkBlock("minecraft:decorated_pot")):setPos(0, 16, 0) --ブロックタスクで何故か飾り壺が描画されない... + for i = 0, 1 do + models.models.ex_skill_2.Covers.CoverBack2:newBlock("ex_skill_2_block_"..14 + i):setBlock(self.parent.compatibilityUtils:checkBlock( "minecraft:chiseled_bookshelf", "[facing=north,slot_0_occupied=true,slot_1_occupied=true,slot_2_occupied=true,slot_3_occupied=true,slot_4_occupied=true,slot_5_occupied=true]")):setPos(-8, i * 16, -8) + end + for i = 0, 1 do + models.models.ex_skill_2.Covers.CoverBack3:newBlock("ex_skill_2_block_"..16 + i):setBlock(self.parent.compatibilityUtils:checkBlock("minecraft:red_wool")):setPos(-8, i * 16, -8) + end + models.models.ex_skill_2.Covers.CoverBack4:newBlock("ex_skill_2_block_18"):setBlock(self.parent.compatibilityUtils:checkBlock("minecraft:dark_oak_planks")):setPos(0, 0, 0) + --models.models.ex_skill_2.Covers.CoverBack4:newBlock("ex_skill_2_block_19"):setBlock(self.parent.compatibilityUtils:checkBlock("minecraft:decorated_pot")):setPos(-16, 16, 0) --ブロックタスクで何故か飾り壺が描画されない... + for y = 0, 6 do + for x = 0, 8 do + local blockCount = y * 9 + x + if blockCount == 13 or blockCount == 22 or blockCount == 29 or blockCount == 30 or blockCount == 32 or blockCount == 33 or blockCount == 40 or blockCount == 49 then + models.models.ex_skill_2.Wall:newBlock("ex_skill_2_block_"..20 + blockCount):setBlock(self.parent.compatibilityUtils:checkBlock("minecraft:dark_oak_log", "[axis=z]")):setPos(x * 16, y * 16, 0) + end + models.models.ex_skill_2.Wall:newBlock("ex_skill_2_block_"..20 + blockCount):setBlock( self.parent.compatibilityUtils:checkBlock("minecraft:dark_oak_planks")):setPos(x * 16, y * 16, 0) + end + end + for j = 0, 1 do + for i = 0, 6 do + models.models.ex_skill_2.Wall:newBlock("ex_skill_2_block_"..83 + j * 7 + i):setBlock(self.parent.compatibilityUtils:checkBlock("minecraft:dark_oak_planks")):setPos(j * 128, i * 16, -16) + end + end + --models.models.ex_skill_2.Wall.Paintings.MainPainting:newEntity("ex_skill_2_entity_1"):setPos(0, 32, 0):setRot(0, 180, 0):setLight(15, 15) --謎の影ができて、それが消せない... + models.models.ex_skill_2.Covers.CoverLeft.DecoratedPod1.Base_Side:setPrimaryTexture("RESOURCE", "minecraft:textures/entity/decorated_pot/decorated_pot_side.png") + for _, potPart in ipairs({models.models.ex_skill_2.Covers.CoverLeft.DecoratedPod1.Base_Top, models.models.ex_skill_2.Covers.CoverLeft.DecoratedPod1.Neck1, models.models.ex_skill_2.Covers.CoverLeft.DecoratedPod1.Neck2}) do + potPart:setPrimaryTexture("RESOURCE", "minecraft:textures/entity/decorated_pot/decorated_pot_base.png") + end + for index, modelPart in ipairs({models.models.ex_skill_2.Covers.CoverBack1, models.models.ex_skill_2.Covers.CoverBack4}) do + modelPart:addChild(models.models.ex_skill_2.Covers.CoverLeft.DecoratedPod1:copy("DecoratedPod"..(index + 1))) + end + models.models.ex_skill_2.Covers.CoverBack1.DecoratedPod2:setPos(0, 0, 160) + models.models.ex_skill_2.Covers.CoverBack4.DecoratedPod3:setPos(-128, 0, 176) + models.models.ex_skill_2.Wall.Paintings.MainPainting.Painting_Back:setPrimaryTexture("RESOURCE", "minecraft:textures/painting/back.png") + for _, modelPart in ipairs({models.models.ex_skill_2.Midori.MidoriHead.MidoriHeadRing, models.models.ex_skill_2.Wall.SpecialItemGroup}) do + modelPart:setLight(15) + end + for i = 1, 3 do + models.models.ex_skill_2.Pillagers["Pillager"..i]["Pillager"..i.."RightArm"]:newItem("ex_skill_2_pillager_"..i.."_crossbow"):setItem(self.parent.compatibilityUtils:checkItem("minecraft:crossbow")):setPos(0, -12, -2):setRot(0, 0, -135) + end + if host:isHost() then + models.models.ex_skill_2.Gui.UI.MomoiUI:addChild(models.models.ex_skill_2.Gui.UI.MomoiUI.UI1:copy("UI1Shadow")) + models.models.ex_skill_2.Gui.UI.MomoiUI.UI1Shadow:setPos(-1, -1, 1) + models.models.ex_skill_2.Gui.UI.MomoiUI.UI1Shadow:setColor(0, 0, 0) + models.models.ex_skill_2.Gui.UI.MomoiUI:addChild(models.models.main.Avatar.UpperBody.Body.Gun:copy("GunIcon")) + models.models.ex_skill_2.Gui.UI.MomoiUI.GunIcon:setPos(27, 15, 0) + models.models.ex_skill_2.Gui.UI.MomoiUI.GunIcon:setRot(0, 90, 0) + models.models.ex_skill_2.Gui.UI.MomoiUI.GunIcon:setScale(2.5, 2.5, 2.5) + models.models.ex_skill_2.Gui.UI.MomoiUI.GunIcon:setVisible(true) + for i = 2, 3 do + local icon = models.models.ex_skill_2.Gui.UI.MomoiUI.LifeIcon1:copy("LifeIcon"..i) + models.models.ex_skill_2.Gui.UI.MomoiUI:addChild(icon) + icon:setPos((i - 1) * -15, 0, 0) + end + for _, modelPart in ipairs(models.models.ex_skill_2.Gui.UI.MomoiUI.Bullets.RearBullets:getChildren()) do + modelPart:setColor(0.5, 0.5, 0.5) + end + for _, modelPart in ipairs({models.models.ex_skill_2.Gui.UI.MomoiUI.GunIcon, models.models.ex_skill_2.Gui.UI.MomoiUI.Bullets}) do + modelPart:setVisible(false) + end + models.models.ex_skill_2.Gui.UI.MomoiUI:setVisible(true) + models.models.ex_skill_2.Gui.UI:addChild(self.parent.modelUtils:copyModel(models.models.ex_skill_2.Gui.UI.MomoiUI, "MidoriUI")) + for _, modelPart in ipairs({models.models.ex_skill_2.Gui.UI.MomoiUI.GunIcon, models.models.ex_skill_2.Gui.UI.MomoiUI.Bullets}) do + modelPart:setVisible(true) + end + for _, modelPart in ipairs({models.models.ex_skill_2.Gui.UI.MidoriUI.UI1, models.models.ex_skill_2.Gui.UI.MidoriUI.UI1Shadow, models.models.ex_skill_2.Gui.UI.MidoriUI.UI2}) do + modelPart:setRot(0, 180, 0) + end + models.models.ex_skill_2.Gui.UI.MidoriUI:addChild(models.models.ex_skill_2.Midori.MidoriUpperBody.MidoriArms.MidoriRightArm.MidoriRightArmBottom.Gun2:copy("GunIcon")) + models.models.ex_skill_2.Gui.UI.MidoriUI.GunIcon:setPos(116, 15, 0) + models.models.ex_skill_2.Gui.UI.MidoriUI.GunIcon:setRot(0, 90, 0) + models.models.ex_skill_2.Gui.UI.MidoriUI.GunIcon:setScale(1.67, 1.67, 1.67) + for i = 1, 3 do + models.models.ex_skill_2.Gui.UI.MidoriUI["LifeIcon"..i]:setPos(22 - (i - 1) * 15, 0, 0) + end + models.models.ex_skill_2.Gui.UI.MidoriUI:newText("ex_skill_2_reload_text"):setText("§4§lRELOAD"):setPos(154, 190, 0):setScale(1.6, 1.6, 1.6):setVisible(false) + models.models.ex_skill_2.Gui.UI.MomoiHeadUI:addChild(models.models.ex_skill_2.Gui.UI.MomoiHeadUI.Frame:copy("FrameShadow")) + models.models.ex_skill_2.Gui.UI.MomoiHeadUI.FrameShadow:setPos(-1, -1, 1) + models.models.ex_skill_2.Gui.UI.MomoiHeadUI.FrameShadow:setColor(0, 0, 0) + models.models.ex_skill_2.Gui.UI.MomoiHeadUI.Background:setColor(1, 0.643, 0.71) + models.models.ex_skill_2.Gui.UI.MomoiHeadUI.MomoiPaperDoll:addChild(self.parent.modelUtils:copyModel(models.script_head_block.Head, "MomoiPaperDollHead")) + models.models.ex_skill_2.Gui.UI.MomoiHeadUI.MomoiPaperDoll.MomoiPaperDollHead:setPos(models.models.ex_skill_2.Gui.UI.MomoiHeadUI.MomoiPaperDoll:getTruePivot():add(0, -24, 0)) + models.models.ex_skill_2.Gui.UI.MomoiHeadUI.MomoiPaperDoll.MomoiPaperDollHead.HeadRing:setPrimaryRenderType("CUTOUT_EMISSIVE_SOLID") + models.models.ex_skill_2.Gui.UI.MomoiHeadUI.MomoiPaperDoll:setScale(4.1, 4.1, 4.1) + models.models.ex_skill_2.Gui.UI.MomoiHeadUI.MomoiPaperDoll.MomoiPaperDollHead.FaceParts:addChild(models.models.main.Avatar.Head.FaceParts.Mouth:copy("Mouth")) + models.models.ex_skill_2.Gui.UI.MomoiHeadUI.MomoiPaperDoll.MomoiPaperDollHead.FaceParts.Mouth:setUVPixels(0, 16) + models.models.ex_skill_2.Gui.UI.MomoiHeadUI.MomoiPaperDoll.MomoiPaperDollHead.FaceParts.Mouth:setVisible(true) + models.models.ex_skill_2.Gui.UI.MomoiHeadUI.MomoiPaperDoll:setVisible(false) + models.models.ex_skill_2.Gui.UI.MomoiHeadUI:setVisible(true) + models.models.ex_skill_2.Gui.UI:addChild(self.parent.modelUtils:copyModel(models.models.ex_skill_2.Gui.UI.MomoiHeadUI, "MidoriHeadUI")) + models.models.ex_skill_2.Gui.UI.MomoiHeadUI.MomoiPaperDoll:setVisible(true) + models.models.ex_skill_2.Gui.UI.MidoriHeadUI.Background:setColor(0.573, 0.98, 0.604) + ---@diagnostic disable-next-line: discard-returns + models.models.ex_skill_2.Gui.UI.MidoriHeadUI:newPart("MidoriPaperDoll", "None") + models.models.ex_skill_2.Gui.UI.MidoriHeadUI.MidoriPaperDoll:setScale(4.1, 4.1, 4.1) + models.models.ex_skill_2.Gui.UI.MidoriHeadUI.MidoriPaperDoll:setOffsetPivot(33.25, 12.5, 16) + models.models.ex_skill_2.Gui.UI.MidoriHeadUI.MidoriPaperDoll:setRot(0, -15, 0) + models.models.ex_skill_2.Gui.UI.MidoriHeadUI.MidoriPaperDoll:addChild(self.parent.modelUtils:copyModel(models.models.ex_skill_2.Midori.MidoriHead, "MidoriPaperDollHead")) + models.models.ex_skill_2.Gui.UI.MidoriHeadUI.MidoriPaperDoll.MidoriPaperDollHead:setPrimaryRenderType("CUTOUT") + models.models.ex_skill_2.Gui.UI.MidoriHeadUI.MidoriPaperDoll.MidoriPaperDollHead:setPos(18.25, -88.5, -57) + models.models.ex_skill_2.Gui.UI.MidoriHeadUI.MidoriPaperDoll.MidoriPaperDollHead.MidoriHeadRing:setPrimaryRenderType("CUTOUT_EMISSIVE_SOLID") + models.models.ex_skill_2.Gui.UI.MidoriHeadUI.MidoriPaperDoll.MidoriPaperDollHead.MidoriFaceParts.Eyes.EyeRight:setUVPixels(-6, 0) + models.models.ex_skill_2.Gui.UI.MidoriHeadUI.MidoriPaperDoll:addChild(self.parent.modelUtils:copyModel(models.models.ex_skill_2.Gui.UI.MomoiHeadUI.MomoiPaperDoll.MomoiPaperDollBody, "MidoriPaperDollBody")) + end + self.exSkill[2].init = true + end + if host:isHost() then + models.models.ex_skill_2.Gui:setVisible(true) + local windowsSize = client:getScaledWindowSize() + models.models.ex_skill_2.Gui.UI.MomoiUI:setPos(-90, (windowsSize.y - 20) * -1, 0) + models.models.ex_skill_2.Gui.UI.MidoriUI:setPos(windowsSize.x * -1 + 10, (windowsSize.y - 20) * -1, 0) + models.models.ex_skill_2.Gui.UI.MidoriHeadUI:setPos(windowsSize.x * -1 + 88, 0, 0) + models.models.ex_skill_2.Gui.UI.MidoriHeadUI:setOffsetPivot(windowsSize.x * -1 + 88, 0, 0) + end + self.parent.gun:setGunPosition("NONE") + self.parent.modelUtils.moveTo(models.models.main.Avatar.UpperBody.Body.Gun, models.models.main.Avatar.UpperBody.Arms.RightArm, models.models.main.Avatar.UpperBody.Body) + models.models.main.Avatar.UpperBody.Arms.RightArm.Gun:setPos() + models.models.main.Avatar.UpperBody.Arms.RightArm.Gun:setRot() + models.models.main.Avatar.UpperBody.Arms.RightArm.Gun:setVisible(true) + local specialItemValue = math.random() --0.80未満で「金のマガジン」、0.80~0.90未満で「エメラルド」、0.90~1.00未満で「ダイヤモンド」 + if specialItemValue >= 0.8 then + models.models.ex_skill_2.Wall.SpecialItemGroup.SpecialItem.GoldenMagazine:setVisible(false) + models.models.ex_skill_2.Wall.SpecialItemGroup.SpecialItem:newItem("special_item"):setItem(self.parent.compatibilityUtils:checkItem(specialItemValue < 0.9 and "minecraft:emerald" or "minecraft:diamond")) + else + models.models.ex_skill_2.Wall.SpecialItemGroup.SpecialItem.GoldenMagazine:setVisible(true) + end + self.exSkill[2].glowColor = specialItemValue < 0.8 and vectors.vec3(1, 0.984, 0.4) or (specialItemValue < 0.9 and vectors.vec3(0.686, 0.992, 0.804) or vectors.vec3(0.631, 0.984, 0.91)) + models.models.ex_skill_2.Wall.SpecialItemGroup.GlowEffects:setColor(self.exSkill[2].glowColor) + local paintingResources = {"minecraft:textures/painting/pointer.png", "minecraft:textures/painting/pigscene.png", "minecraft:textures/painting/burning_skull.png"} + models.models.ex_skill_2.Wall.Paintings.MainPainting.Painting_Front:setPrimaryTexture("RESOURCE", paintingResources[math.ceil(math.random() * #paintingResources)]) + --[[ + local paintingVarients = {"minecraft:pointer", "minecraft:pigscene", "minecraft:burning_skull"} + ---@diagnostic disable-next-line: undefined-field + models.models.ex_skill_2.Wall.Paintings.MainPainting:getTask("ex_skill_2_entity_1"):setNbt("minecraft:painting", toJson({variant = paintingVarients[math.ceil(math.random() * #paintingVarients)]})) + ]] + ---@diagnostic disable-next-line: discard-returns + models.models.ex_skill_2.Covers.CoverBack4:newPart("MissText", "Camera") + models.models.ex_skill_2.Covers.CoverBack4.MissText:setOffsetPivot(8, 24, 8) + ---@diagnostic disable-next-line: discard-returns + models.models.ex_skill_2.Covers.CoverBack1:newPart("MissText", "Camera") + models.models.ex_skill_2.Covers.CoverBack1.MissText:setOffsetPivot(8, 24, 8) + self.parent.faceParts:setEmotion("ANGRY_CENTER", "ANGRY", "OPENED", 4, true) + end; + + onAnimationTick = function (self, tick) + if tick == 1 then + local playerPos = self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar) + local bodyYaw = player:getBodyYaw() + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:end_rod"), vectors.rotateAroundAxis(bodyYaw * -1, -0.75, 1.25, 0, 0, 1, 0):add(playerPos)):setScale(1):setColor(1, 0.984, 0.4):setLifetime(20) + particles:newParticle(self.parent.compatibilityUtils:checkBlock("minecraft:end_rod"), vectors.rotateAroundAxis(bodyYaw * -1, 0.65, 1.9, 0, 0, 1, 0):add(playerPos)):setScale(0.5):setColor(1, 0.984, 0.4):setLifetime(20) + elseif tick == 4 then + self.parent.faceParts:setEmotion("ANGRY_CENTER", "ANGRY", "SMILE", 6, true) + elseif tick == 10 then + self.parent.faceParts:setEmotion("CLOSED", "CLOSED", "SMILE", 4, true) + elseif tick == 14 then + self.parent.faceParts:setEmotion("ANGRY", "ANGRY_INVERTED", "SMILE", 11, true) + elseif tick == 25 then + self.parent.faceParts:setEmotion("ANGRY", "ANGRY", "SMILE", 22, true) + elseif tick == 28 and host:isHost() then + local windowSize = client:getScaledWindowSize() + local centerX = windowSize.x / 2 * -1 + local centerY = windowSize.y / 2 * -1 + models.models.ex_skill_2.Gui.ReticuleAnchor:setPos(centerX, centerY, 0) + models.models.ex_skill_2.Gui.Reticule:setVisible(true) + events.RENDER:register(function () + models.models.ex_skill_2.Gui.Reticule:setPos(vectors.vec3(centerX, centerY, 0):add(models.models.ex_skill_2.Gui.ReticuleAnchor:getAnimPos():scale(windowSize.y / 270))) + end, "ex_skill_2_render") + elseif tick == 35 then + models.models.ex_skill_2.Midori.MidoriHead.MidoriFaceParts.Eyes.EyeRight:setUVPixels(-6, 0) + elseif tick == 42 then + self.exSkill[2].spawnBulletParticle(self, models.models.ex_skill_2.Covers.CoverBack2.ExSkill2ParticleAnchor1) + self.exSkill[2].playShotSound(self) + if host:isHost() then + models.models.ex_skill_2.Gui.UI.MomoiUI.Bullets.RearBullets.Bullet24:setColor() + end + elseif tick == 44 then + self.exSkill[2].spawnBulletParticle(self, models.models.ex_skill_2.Covers.CoverBack3.ExSkill2ParticleAnchor2) + self.exSkill[2].playShotSound(self) + elseif tick == 47 then + self.parent.faceParts:setEmotion("ANGRY", "ANGRY2", "ANGRY", 33, true) + self.exSkill[2].spawnBulletParticle(self, models.models.ex_skill_2.Covers.CoverBack4.ExSkill2ParticleAnchor3) + self.exSkill[2].playShotSound(self) + self.exSkill[2].playPotBreak(self, models.models.ex_skill_2.Covers.CoverBack4.DecoratedPod3) + self.parent.textObjectManager2:spawn(models.models.ex_skill_2.Covers.CoverBack4.MissText) + if host:isHost() then + models.models.ex_skill_2.Gui.UI.MomoiUI.LifeIcon1:setVisible(false) + models.models.ex_skill_2.Gui.UI.MomoiHeadUI:setColor(1, 0.75, 0.75) + models.models.ex_skill_2.Gui.UI.MomoiHeadUI.MomoiPaperDoll.MomoiPaperDollHead.FaceParts.Eyes.EyeLeft:setUVPixels(12, 0) + models.models.ex_skill_2.Gui.UI.MomoiHeadUI.MomoiPaperDoll.MomoiPaperDollHead.FaceParts.Eyes.EyeRight:setUVPixels(6, 0) + models.models.ex_skill_2.Gui.UI.MomoiHeadUI.MomoiPaperDoll.MomoiPaperDollHead.FaceParts.Mouth:setUVPixels(16, 0) + models.models.ex_skill_2.Gui.UI.MomoiUI.Bullets.RearBullets.Bullet23:setColor() + end + elseif tick == 50 then + self.exSkill[2].spawnBulletParticle(self, models.models.ex_skill_2.Covers.CoverBack3.ExSkill2ParticleAnchor4) + self.exSkill[2].playShotSound(self) + if host:isHost() then + models.models.ex_skill_2.Gui.UI.MomoiHeadUI:setColor() + end + elseif tick == 52 then + self.exSkill[2].spawnBulletParticle(self, models.models.ex_skill_2.Wall.Paintings.MainPainting.ExSkill2ParticleAnchor5) + self.exSkill[2].playShotSound(self) + if host:isHost() then + models.models.ex_skill_2.Gui.UI.MomoiUI.Bullets.RearBullets.Bullet22:setColor() + end + elseif tick == 55 then + self.exSkill[2].spawnBulletParticle(self, models.models.ex_skill_2.Wall.ExSkill2ParticleAnchor6) + self.exSkill[2].playShotSound(self) + elseif tick == 60 and host:isHost() then + for _, modelPart in ipairs({models.models.ex_skill_2.Gui.UI.MomoiHeadUI.MomoiPaperDoll.MomoiPaperDollHead.FaceParts.Eyes.EyeLeft, models.models.ex_skill_2.Gui.UI.MomoiHeadUI.MomoiPaperDoll.MomoiPaperDollHead.FaceParts.Eyes.EyeRight}) do + modelPart:setUVPixels() + end + models.models.ex_skill_2.Gui.UI.MomoiHeadUI.MomoiPaperDoll.MomoiPaperDollHead.FaceParts.Mouth:setUVPixels(0, 16) + elseif tick == 68 then + self.exSkill[2].spawnBulletParticle(self, models.models.ex_skill_2.Wall.ExSkill2ParticleAnchor7) + self.exSkill[2].playShotSound(self) + if host:isHost() then + models.models.ex_skill_2.Gui.UI.MomoiUI.Bullets.RearBullets.Bullet21:setColor() + end + elseif tick == 70 then + self.exSkill[2].spawnBulletParticle(self, models.models.ex_skill_2.Covers.CoverBack1.ExSkill2ParticleAnchor8) + self.exSkill[2].playShotSound(self) + self.exSkill[2].playPotBreak(self, models.models.ex_skill_2.Covers.CoverBack1.DecoratedPod2) + self.parent.textObjectManager2:spawn(models.models.ex_skill_2.Covers.CoverBack1.MissText) + if host:isHost() then + models.models.ex_skill_2.Gui.UI.MomoiUI.LifeIcon2:setVisible(false) + models.models.ex_skill_2.Gui.UI.MomoiHeadUI:setColor(1, 0.75, 0.75) + models.models.ex_skill_2.Gui.UI.MomoiHeadUI.MomoiPaperDoll.MomoiPaperDollHead.FaceParts.Eyes.EyeLeft:setUVPixels(12, 0) + models.models.ex_skill_2.Gui.UI.MomoiHeadUI.MomoiPaperDoll.MomoiPaperDollHead.FaceParts.Eyes.EyeRight:setUVPixels(6, 0) + models.models.ex_skill_2.Gui.UI.MomoiHeadUI.MomoiPaperDoll.MomoiPaperDollHead.FaceParts.Mouth:setUVPixels(16, 0) + end + elseif tick == 72 then + self.exSkill[2].spawnBulletParticle(self, models.models.ex_skill_2.Covers.CoverBack1.ExSkill2ParticleAnchor9) + self.exSkill[2].playShotSound(self) + if host:isHost() then + models.models.ex_skill_2.Gui.UI.MomoiUI.Bullets.RearBullets.Bullet20:setColor() + end + elseif tick == 73 and host:isHost() then + models.models.ex_skill_2.Gui.UI.MomoiHeadUI:setColor() + elseif tick == 80 then + self.parent.faceParts:setEmotion("SURPRISED", "SURPRISED", "SHOCK", 35, true) + self.exSkill[2].spawnBulletParticle(self, models.models.ex_skill_2.Covers.CoverBack1.ExSkill2ParticleAnchor10) + self.exSkill[2].playShotSound(self) + elseif tick == 83 then + self.exSkill[2].spawnBulletParticle(self, models.models.ex_skill_2.Covers.CoverBack1.ExSkill2ParticleAnchor11) + self.exSkill[2].playShotSound(self) + if host:isHost() then + models.models.ex_skill_2.Gui.UI.MomoiUI.Bullets.RearBullets.Bullet19:setColor() + end + elseif tick == 86 then + local anchorPos = self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_2.Covers.CoverBack1.ExSkill2ParticleAnchor12) + local bodyYaw = player:getBodyYaw() + for _ = 1, 5 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:electric_spark"), anchorPos):setScale(1):setVelocity(vectors.rotateAroundAxis(bodyYaw * -1, 0.1, math.random() * 0.25 - 0.125, math.random() * 0.25 - 0.125, 0, 1, 0)):setColor(0.98, 0.843, 0.341):setLifetime(2) + end + self.exSkill[2].playShotSound(self) + elseif tick == 88 or tick == 99 then + self.exSkill[2].playShotSound(self) + if host:isHost() then + models.models.ex_skill_2.Gui.UI.MomoiUI.Bullets.RearBullets.Bullet18:setColor() + end + elseif tick == 105 then + self.exSkill[2].spawnBulletParticle(self, models.models.ex_skill_2.Covers.CoverBack2.ExSkill2ParticleAnchor13) + self.exSkill[2].playShotSound(self) + if host:isHost() then + models.models.ex_skill_2.Gui.UI.MomoiUI.Bullets.RearBullets.Bullet17:setColor() + end + elseif tick == 108 then + self.exSkill[2].spawnBulletParticle(self, models.models.ex_skill_2.Covers.CoverBack3.ExSkill2ParticleAnchor14) + self.exSkill[2].playShotSound(self) + elseif tick == 110 then + self.exSkill[2].spawnBulletParticle(self, models.models.ex_skill_2.Wall.Paintings.MainPainting.ExSkill2ParticleAnchor15) + self.exSkill[2].playShotSound(self) + if host:isHost() then + models.models.ex_skill_2.Gui.UI.MomoiUI.Bullets.RearBullets.Bullet16:setColor() + end + elseif tick == 112 then + self.exSkill[2].spawnBulletParticle(self, models.models.ex_skill_2.Wall.Paintings.MainPainting.ExSkill2ParticleAnchor16) + self.exSkill[2].playShotSound(self) + elseif tick == 113 then + self.exSkill[2].spawnBulletParticle(self, models.models.ex_skill_2.Wall.Paintings.MainPainting.ExSkill2ParticleAnchor17) + self.exSkill[2].playShotSound(self) + if host:isHost() then + models.models.ex_skill_2.Gui.UI.MomoiUI.Bullets.RearBullets.Bullet15:setColor() + end + elseif tick == 115 then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "TRIANGLE", 36, true) + self.exSkill[2].spawnBulletParticle(self, models.models.ex_skill_2.Wall.Paintings.MainPainting.ExSkill2ParticleAnchor18) + self.exSkill[2].playShotSound(self) + if host:isHost() then + models.models.ex_skill_2.Gui.Reticule:setVisible(false) + events.RENDER:remove("ex_skill_2_render") + end + elseif tick == 116 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.zombie.break_wooden_door"), self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_2.Wall.Paintings.MainPainting), 0.25, 2) + elseif tick == 128 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.levelup"), self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_2.Wall.SpecialItemGroup), 1, 1) + elseif tick == 132 then + local anchorPos = vectors.rotateAroundAxis(player:getBodyYaw() * -1, 0, -0.75, 2, 0, 1, 0):add(self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_2.Wall.Paintings.MainPainting)) + for _ = 1, 20 do + local xOffset = math.random() * 4 - 2 + local zOffset = math.random() * 4 - 2 + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:campfire_cosy_smoke"), anchorPos:copy():add(xOffset, 0, zOffset)):setScale(5):setVelocity(xOffset * 0.03, 0.025, zOffset * 0.03) + end + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.zombie.attack_wooden_door"), anchorPos, 0.25, 2) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.pillager.hurt"), self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_2.Pillagers.Pillager1), 1, 1) + elseif tick == 138 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.zombie.attack_wooden_door"), self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_2.Wall.Paintings.MainPainting), 0.05, 2) + elseif tick == 148 and host:isHost() then + local windowSize = client:getScaledWindowSize() + models.models.ex_skill_2.Gui.TransitionFilter:setScale(windowSize.x, windowSize.y, 1) + models.models.ex_skill_2.Gui.TransitionFilter:setVisible(true) + events.RENDER:register(function (delta) + if self.parent.exSkill.animationCount <= 151 then + models.models.ex_skill_2.Gui.TransitionFilter:setOpacity((self.parent.exSkill.animationCount - 149 + delta) * 0.3333) + else + models.models.ex_skill_2.Gui.TransitionFilter:setOpacity((self.parent.exSkill.animationCount - 152 + delta) * -0.3333 + 1) + end + end, "ex_skill_2_transition_filter_render") + elseif tick == 151 then + self.parent.modelUtils.moveTo(models.models.main.Avatar.UpperBody.Arms.RightArm.Gun, models.models.main.Avatar.UpperBody.Body, models.models.main.Avatar.UpperBody.Arms.RightArm) + models.models.ex_skill_2.Wall.SpecialItemGroup:moveTo(models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom) + self.parent.faceParts:setEmotion("NORMAL", "CENTER", "TRIANGLE", 3, true) + if host:isHost() then + models.models.ex_skill_2.Gui.UI:setVisible(false) + end + elseif tick == 154 then + self.parent.faceParts:setEmotion("CLOSED", "CLOSED", "TRIANGLE", 2, true) + if host:isHost() then + events.RENDER:remove("ex_skill_2_transition_filter_render") + models.models.ex_skill_2.Gui.TransitionFilter:setVisible(false) + end + elseif tick == 156 then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "TRIANGLE", 7, true) + elseif tick == 163 then + self.parent.faceParts:setEmotion("CLOSED", "CLOSED", "TRIANGLE", 2, true) + elseif tick == 165 then + self.parent.faceParts:setEmotion("NORMAL", "CENTER", "TRIANGLE", 6, true) + elseif tick == 171 then + self.parent.faceParts:setEmotion("CLOSED", "CLOSED", "TRIANGLE", 3, true) + elseif tick == 174 then + self.parent.faceParts:setEmotion("ANGRY", "ANGRY_INVERTED", "OPENED", 36, true) + elseif tick == 178 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.levelup"), player:getPos(), 1, 1.5) + end + if tick >= 128 and tick < 151 then + local anchorPos = self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_2.Wall.SpecialItemGroup) + local bodyYaw = player:getBodyYaw() + for _ = 1, 5 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:end_rod"), vectors.rotateAroundAxis(bodyYaw * -1, math.random() * 3 - 1.5, math.random() * 3 - 1.5, 0, 0, 1, 0):add(anchorPos)):setVelocity(0, 0.1, 0):setColor(self.exSkill[2].glowColor):setLifetime(8) + end + elseif tick >= 151 and tick < 170 then + local anchorPos = self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.SpecialItemGroup) + local bodyYaw = player:getBodyYaw() + for _ = 1, 2 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:end_rod"), vectors.rotateAroundAxis(bodyYaw * -1 + 35, math.random() * 0.5 - 0.25, math.random() * 0.5 - 0.25, 0, 0, 1, 0):add(anchorPos)):setScale(0.25):setVelocity(0, 0.016, 0):setColor(self.exSkill[2].glowColor):setLifetime(8) + end + end + if tick < 124 then + for i = 1, 3 do + if math.random() >= 0.99 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.pillager.ambient"), self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_2.Pillagers["Pillager"..i]), 0.5, 1) + end + end + end + if tick >= 105 and tick < 124 and math.random() >= 0.95 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.crossbow.shoot"), self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_2.Pillagers.Pillager1), 0.5, 1) + end + if tick >= 70 and tick < 124 and math.random() >= 0.95 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.crossbow.shoot"), self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_2.Pillagers.Pillager2), 0.5, 1) + end + if tick >= 54 and tick < 124 and math.random() >= 0.95 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.crossbow.shoot"), self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_2.Pillagers.Pillager3), 0.5, 1) + end + if tick >= 22 and tick < 151 and host:isHost() then + if (tick - 22) % 30 == 0 then + models.models.ex_skill_2.Gui.UI.MidoriUI:getTask("ex_skill_2_reload_text"):setVisible(true) + elseif (tick - 22) % 30 == 20 then + models.models.ex_skill_2.Gui.UI.MidoriUI:getTask("ex_skill_2_reload_text"):setVisible(false) + end + end + end; + + onPostAnimation = function (self, forcedStop) + for _, modelPart in ipairs({models.models.ex_skill_2.Covers.CoverBack1.DecoratedPod2, models.models.ex_skill_2.Covers.CoverBack4.DecoratedPod3}) do + modelPart:setVisible(true) + end + models.models.ex_skill_2.Midori.MidoriHead.MidoriFaceParts.Eyes.EyeRight:setUVPixels() + if models.models.main.Avatar.UpperBody.Arms.RightArm.Gun ~= nil then + models.models.main.Avatar.UpperBody.Arms.RightArm.Gun:setVisible(false) + self.parent.modelUtils.moveTo(models.models.main.Avatar.UpperBody.Arms.RightArm.Gun, models.models.main.Avatar.UpperBody.Body, models.models.main.Avatar.UpperBody.Arms.RightArm) + elseif models.models.main.Avatar.UpperBody.Body.Gun ~= nil then + models.models.main.Avatar.UpperBody.Body.Gun:setVisible(false) + end + if models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.SpecialItemGroup ~= nil then + models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.SpecialItemGroup:moveTo(models.models.ex_skill_2.Wall) + end + models.models.ex_skill_2.Wall.SpecialItemGroup.SpecialItem:removeTask("special_item") + if host:isHost() then + for _, modelPart in ipairs({models.models.ex_skill_2.Gui, models.models.ex_skill_2.Gui.Reticule}) do + modelPart:setVisible(false) + end + for _, modelPart in ipairs({models.models.ex_skill_2.Gui.UI, models.models.ex_skill_2.Gui.UI.MomoiUI.LifeIcon1, models.models.ex_skill_2.Gui.UI.MomoiUI.LifeIcon2}) do + modelPart:setVisible(true) + end + for _, modelPart in ipairs({models.models.ex_skill_2.Gui.UI.MomoiHeadUI.MomoiPaperDoll.MomoiPaperDollHead.FaceParts.Eyes.EyeLeft, models.models.ex_skill_2.Gui.UI.MomoiHeadUI.MomoiPaperDoll.MomoiPaperDollHead.FaceParts.Eyes.EyeRight}) do + modelPart:setUVPixels() + end + models.models.ex_skill_2.Gui.UI.MomoiHeadUI.MomoiPaperDoll.MomoiPaperDollHead.FaceParts.Mouth:setUVPixels(0, 16) + for i = 15, 24 do + models.models.ex_skill_2.Gui.UI.MomoiUI.Bullets.RearBullets["Bullet"..i]:setColor(0.5, 0.5, 0.5) + end + models.models.ex_skill_2.Gui.UI.MidoriUI:getTask("ex_skill_2_reload_text"):setVisible(false) + if forcedStop then + models.models.ex_skill_2.Gui.TransitionFilter:setVisible(false) + models.models.ex_skill_2.Gui.UI.MomoiHeadUI:setColor() + for _, event in ipairs({"ex_skill_2_render", "ex_skill_2_transition_filter_render"}) do + events.RENDER:remove(event) + end + end + end + end; + }; + + ---このExスキルの初期化処理が行われたかどうか + ---@type boolean + init = false; + + ---キラキラエフェクトの色 + ---@type Vector3 + glowColor = vectors.vec3(); + + ---銃弾のパーティクルを出す。 + ---@param self BlueArchiveCharacter + ---@param anchor ModelPart パーティクルを出す場所を示すアンカーポイント + spawnBulletParticle = function (self, anchor) + local anchorPos = self.parent.modelUtils.getModelWorldPos(anchor) + local bodyYaw = player:getBodyYaw() + for _ = 1, 5 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:electric_spark"), anchorPos):setScale(1):setVelocity(vectors.rotateAroundAxis(bodyYaw * -1, math.random() * 0.25 - 0.125, math.random() * 0.25 - 0.125, 0.1, 0, 1, 0)):setColor(0.98, 0.843, 0.341):setLifetime(2) + end + local muzzleAnchorPos = self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.UpperBody.Arms.RightArm.Gun.MuzzleAnchor) + + for _ = 1, 5 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:smoke"), muzzleAnchorPos) + end + end; + + ---射撃音を再生する。 + ---@param self BlueArchiveCharacter + playShotSound = function (self) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.firework_rocket.blast"), self.parent.modelUtils.getModelWorldPos(host:isHost() and models.models.main.CameraAnchor or models.models.main.Avatar), 1, math.random() * 0.25 + 0.5) + end; + + ---飾り壺を割った時の演出を再生する + ---@param self BlueArchiveCharacter + ---@param potModel ModelPart 飾り壺のモデルパーツ + playPotBreak = function (self, potModel) + local potPos = self.parent.modelUtils.getModelWorldPos(potModel) + for _ = 1, 32 do + particles:newParticle(self.parent.compatibilityUtils.getBlockParticleId(self.parent.compatibilityUtils:checkBlock("minecraft:decorated_pot")), potPos:copy():add(math.random() - 0.5, math.random(), math.random() - 0.5)) + end + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.glass.break"), potPos, 1, 0.5) + potModel:setVisible(false) + end; + }; + } + + instance.costume = { + costumes = { + { + name = "default"; + + displayName = { + en_us = "Default"; + ja_jp = "デフォルト"; + }; + + exSkill = 1; + }; + + { + name = "maid"; + + displayName = { + en_us = "Maid"; + ja_jp = "メイド"; + }; + + exSkill = 2; + + ---前ティックに脚とスカートの調整をしたかどうか + ---@type boolean + shouldAdjustLegsPrev = false; + + ---前ティックは脚を隠すべきだったかどうか + ---@type boolean + shouldHideLegsPrev = false; + }; + }; + + callbacks = { + onChange = function (self) + for _, modelPart in ipairs({models.models.main.Avatar.Head.Head, models.models.main.Avatar.Head.HatLayer}) do + modelPart:setUVPixels(0, 16) + end + self.parent.costume.setCostumeTextureOffset(1) + for _, modelPart in ipairs({models.models.main.Avatar.Head.HairRibbons, models.models.main.Avatar.UpperBody.Body.CoatRibbon, models.models.main.Avatar.UpperBody.Body.Skirt, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.RightCoat, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.LeftCoat}) do + modelPart:setVisible(false) + end + for _, modelPart in ipairs({models.models.main.Avatar.Head.CMaidH, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.CMaidRAB, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.CMaidLAB, models.models.main.Avatar.UpperBody.Body.CMaidB}) do + modelPart:setVisible(true) + end + + events.TICK:register(function () + if not client:isPaused() then + local skirtVisible = models.models.main.Avatar.UpperBody.Body.CMaidB:getVisible() + local shouldHideLegs = skirtVisible and player:getVehicle() ~= nil + if shouldHideLegs and not self.costume.costumes[2].shouldHideLegsPrev then + models.models.main.Avatar.LowerBody.Legs:setVisible(false) + models.models.main.Avatar.UpperBody.Body.CMaidB.Skirt1:setScale(1.2, 0.35, 1.5) + elseif not shouldHideLegs and self.costume.costumes[2].shouldHideLegsPrev then + models.models.main.Avatar.LowerBody.Legs:setVisible(true) + models.models.main.Avatar.UpperBody.Body.CMaidB.Skirt1:setScale() + end + + local shouldAdjustLegs = skirtVisible and not shouldHideLegs + if shouldAdjustLegs and not self.costume.costumes[2].shouldAdjustLegsPrev then + events.RENDER:register(function () + local rightLegRotX = vanilla_model.RIGHT_LEG:getOriginRot().x + models.models.main.Avatar.LowerBody.Legs.RightLeg:setRot(rightLegRotX * -0.45, 0, 0) + models.models.main.Avatar.LowerBody.Legs.LeftLeg:setRot(vanilla_model.LEFT_LEG:getOriginRot().x * -0.45, 0, 0) + local rightLegRotAbs = math.abs(rightLegRotX) + local playerPose = player:getPose() + local skirtFlipVal = math.min(math.abs(self.parent.physics.velocityAverage[7][2]) * 0.00025 + ((playerPose == "SWIMMING" or playerPose == "FALL_FLYING") and 0 or math.max(self.parent.physics.velocityAverage[2][2] * -0.25, 0)), 0.5) + models.models.main.Avatar.UpperBody.Body.CMaidB.Skirt1:setScale(1 + skirtFlipVal, 1 - skirtFlipVal, rightLegRotAbs * 0.001 + 1 + skirtFlipVal) + models.models.main.Avatar.UpperBody.Body.CMaidB.Skirt1.Skirt2:setScale(rightLegRotAbs * -0.0001 + 1, 1, rightLegRotAbs * 0.001 + 1) + models.models.main.Avatar.UpperBody.Body.CMaidB.Skirt1.Skirt2.Skirt3:setScale(rightLegRotAbs * -0.0001 + 1, 1, rightLegRotAbs * 0.001 + 1) + models.models.main.Avatar.UpperBody.Body.CMaidB.Skirt1.Skirt2.Skirt3.Skirt4:setScale(rightLegRotAbs * -0.00005 + 1, 1, rightLegRotAbs * 0.0005 + 1) + end, "costume_maid_render") + elseif not shouldAdjustLegs and self.costume.costumes[2].shouldAdjustLegsPrev then + events.RENDER:remove("costume_maid_render") + for _, modelPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg, models.models.main.Avatar.LowerBody.Legs.LeftLeg}) do + modelPart:setRot() + end + if not shouldHideLegs then + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Body.CMaidB.Skirt1, models.models.main.Avatar.UpperBody.Body.CMaidB.Skirt1.Skirt2, models.models.main.Avatar.UpperBody.Body.CMaidB.Skirt1.Skirt2.Skirt3, models.models.main.Avatar.UpperBody.Body.CMaidB.Skirt1.Skirt2.Skirt3.Skirt4}) do + modelPart:setScale() + end + end + end + + self.costume.costumes[2].shouldHideLegsPrev = shouldHideLegs + self.costume.costumes[2].shouldAdjustLegsPrev = shouldAdjustLegs + end + end,"costume_maid_tick") + end; + + onReset = function (self) + events.TICK:remove("costume_maid_tick") + events.RENDER:remove("costume_maid_render") + models.models.main.Avatar.LowerBody.Legs:setVisible(true) + for _, modelPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg, models.models.main.Avatar.LowerBody.Legs.LeftLeg}) do + modelPart:setRot() + end + for _, modelPart in ipairs({models.models.main.Avatar.Head.Head, models.models.main.Avatar.Head.HatLayer}) do + modelPart:setUVPixels() + end + self.parent.costume.setCostumeTextureOffset(0) + for _, modelPart in ipairs({models.models.main.Avatar.Head.HairRibbons, models.models.main.Avatar.UpperBody.Body.CoatRibbon, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.RightCoat, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.LeftCoat, models.models.main.Avatar.UpperBody.Body.Skirt}) do + modelPart:setVisible(true) + end + for _, modelPart in ipairs({models.models.main.Avatar.Head.CMaidH, models.models.main.Avatar.UpperBody.Body.CMaidB}) do + modelPart:setVisible(false) + end + end; + + onArmorChange = function (self, parts, isVisible) + if parts == "HELMET" then + models.models.main.Avatar.Head.EffectPanel:setPos(0, 0, isVisible and -1 or 0) + elseif parts == "LEGGINGS" then + if self.parent.costume.currentCostume == 1 then + models.models.main.Avatar.UpperBody.Body.Skirt:setVisible(not isVisible) + else + models.models.main.Avatar.UpperBody.Body.CMaidB:setVisible(not isVisible) + end + end + end; + }; + } + + instance.bubble = { + callbacks = { + onPlay = function(self, type, duration) + if duration > 0 then + if type == "GOOD" then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "FUN", duration, true) + elseif type == "HEART" then + self.parent.faceParts:setEmotion("UNEQUAL", "UNEQUAL", "OPENED", duration, true) + elseif type == "NOTE" then + self.parent.faceParts:setEmotion("ANGRY", "ANGRY", "SMILE", duration, true) + elseif type == "QUESTION" then + self.parent.faceParts:setEmotion("SURPRISED", "SURPRISED", "SHOCK", duration, true) + elseif type == "SWEAT" then + self.parent.faceParts:setEmotion("ANGRY", "ANGRY2", "ANGRY", duration, true) + end + end + end; + + onStop = function(self, _, forcedStop) + if forcedStop then + self.parent.faceParts:resetEmotion() + end + end; + }; + } + + instance.headBlock = { + includeModels = {}; + } + + instance.portrait = { + includeModels = {}; + } + + instance.deathAnimation = { + callbacks = { + onPhase1 = function (_, dummyAvatar, costume) + if costume == "DEFAULT" then + dummyAvatar.UpperBody.Body.Skirt:setRot(70, 0, 0) + elseif costume == "MAID" then + dummyAvatar.LowerBody.Legs:setVisible(false) + dummyAvatar.UpperBody.Body.CMaidB.Skirt1:setScale(1.2, 0.35, 1.5) + for _, modelPart in ipairs({dummyAvatar.UpperBody.Body.CMaidB.BackRibbon.RibbonBottomRight, dummyAvatar.UpperBody.Body.CMaidB.BackRibbon.RibbonBottomLeft}) do + modelPart:setRot(-40, 0, 0) + end + end + end; + + onPhase2 = function (_, dummyAvatar, costume) + if costume == "DEFAULT" then + dummyAvatar.UpperBody.Body.Skirt:setRot(22.5, 0, 0) + elseif costume == "MAID" then + dummyAvatar.LowerBody.Legs:setVisible(true) + dummyAvatar.UpperBody.Body.CMaidB.Skirt1:setScale(1, 1, 1) + dummyAvatar.UpperBody.Body.CMaidB.Skirt1:setRot(32.5, 0, 0) + dummyAvatar.UpperBody.Body.CMaidB.BackRibbon.RibbonBottomRight:setRot(20, 0, 5) + dummyAvatar.UpperBody.Body.CMaidB.BackRibbon.RibbonBottomLeft:setRot(20, 0, -25) + end + end; + }; + } + + instance.actionWheel = { + isVehicleOptionEnabled = false; + } + + instance.physics = { + physicData = { + { + models = {models.models.main.Avatar.UpperBody.Body.TailXPivot}; + x = { + vertical = { + min = -40; + neutral = 0; + max = 40; + sneakOffset = 15; + + bodyY = { + multiplayer = 40; + min = -40; + max = 40; + }; + }; + + horizontal = { + min = -40; + neutral = 0; + max = 40; + + bodyX = { + multiplayer = 40; + min = -40; + max = 40; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.UpperBody.Body.TailXPivot.TailYPivot}; + + y = { + vertical = { + min = -40; + neutral = 0; + max = 40; + + bodyZ = { + multiplayer = -80; + min = -40; + max = 40; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.Head.CMaidH.HairTails.RightHairTail, models.models.main.Avatar.Head.CMaidH.HairTails.LeftHairTail}, + + y = { + vertical = { + min = -20; + neutral = 0; + max = 20; + }; + + horizontal = { + min = -20; + neutral = 0; + max = 20; + }; + }; + }; + + { + models = {models.models.main.Avatar.Head.CMaidH.HairTails.RightHairTail.RightHairTailZPivot, models.models.main.Avatar.Head.CMaidH.HairTails.LeftHairTail.LeftHairTailZPivot}, + + z = { + vertical = { + min = -10; + neutral = 0; + max = 10; + }; + + horizontal = { + min = -10; + neutral = 0; + max = 10; + }; + }; + }; + + { + models = {models.models.main.Avatar.UpperBody.Body.CMaidB.BackRibbon.RibbonRight}; + + y = { + vertical = { + min = -70; + neutral = 0; + max = 0; + + bodyX = { + multiplayer = -40; + min = -70; + max = 0; + }; + + bodyRot = { + multiplayer = 0.025; + min = -70; + max = 0; + }; + }; + + horizontal = { + min = -70; + neutral = 0; + max = 0; + + bodyY = { + multiplayer = 40; + min = -70; + max = 0; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.UpperBody.Body.CMaidB.BackRibbon.RibbonRight.RibbonRightZPivot}; + + z = { + vertical = { + min = -20; + neutral = 0; + max = 20; + + bodyY = { + multiplayer = -20; + min = -20; + max = 20; + }; + }; + + horizontal = { + min = -20; + neutral = 0; + max = 20; + + bodyX = { + multiplayer = -20; + min = -20; + max = 20; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.UpperBody.Body.CMaidB.BackRibbon.RibbonLeft}; + + y = { + vertical = { + min = 0; + neutral = 0; + max = 70; + + bodyX = { + multiplayer = 40; + min = 0; + max = 70; + }; + + bodyRot = { + multiplayer = -0.025; + min = 0; + max = 70; + }; + }; + + horizontal = { + min = 0; + neutral = 0; + max = 70; + + bodyY = { + multiplayer = -40; + min = 0; + max = 70; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.UpperBody.Body.CMaidB.BackRibbon.RibbonLeft.RibbonLeftZPivot}; + + z = { + vertical = { + min = -20; + neutral = 0; + max = 20; + + bodyY = { + multiplayer = 20; + min = -20; + max = 20; + }; + }; + + horizontal = { + min = -20; + neutral = 0; + max = 20; + + bodyX = { + multiplayer = 20; + min = -20; + max = 20; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.UpperBody.Body.CMaidB.BackRibbon.RibbonBottomRight, models.models.main.Avatar.UpperBody.Body.CMaidB.BackRibbon.RibbonBottomLeft}; + + x = { + vertical = { + min = -140; + neutral = 0; + max = 0; + sneakOffset = 30; + + bodyX = { + multiplayer = -80; + min = -60; + max = 0; + }; + + bodyY = { + multiplayer = 80; + min = -140; + max = 0; + }; + + bodyRot = { + multiplayer = 0.05; + min = -60; + max = 0; + }; + }; + + horizontal = { + min = -140; + neutral = 0; + max = 0; + + bodyY = { + multiplayer = 80; + min = -60; + max = 0; + }; + }; + }; + }; + + + { + models = {models.models.main.Avatar.UpperBody.Body.CMaidB.BackRibbon.RibbonBottomRight.RibbonBottomRightZPivot}; + + z = { + vertical = { + min = -22.5; + neutral = 0; + max = 15; + + bodyX = { + multiplayer = 10; + min = -22.5; + max = 15; + }; + + bodyRot = { + multiplayer = -0.025; + min = -22.5; + max = 15; + }; + }; + + horizontal = { + min = -22.5; + neutral = 0; + max = 10; + + bodyX = { + multiplayer = 10; + min = -22.5; + max = 15; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.UpperBody.Body.CMaidB.BackRibbon.RibbonBottomLeft.RibbonBottomLeftZPivot}; + + z = { + vertical = { + min = -15; + neutral = 0; + max = 22.5; + + bodyX = { + multiplayer = -10; + min = -15; + max = 22.5; + }; + + bodyRot = { + multiplayer = 0.025; + min = -15; + max = 22.5; + }; + }; + + horizontal = { + min = -22.5; + neutral = 0; + max = 10; + + bodyX = { + multiplayer = 10; + min = -22.5; + max = 15; + }; + }; + }; + }; + }; + + callbacks = { + onPhysicPerformed = function (self, model) + local playerPose = player:getPose() + local isHorizontal = playerPose == "SWIMMING" or playerPose == "FALL_FLYING" + if model:getName():match("^RightHairTail") then + local velocityY = math.clamp(self.parent.physics.velocityAverage[1][2] * -40, -20, 20) + local velocityZ = math.clamp(self.parent.physics.velocityAverage[2][2] * (isHorizontal and 160 or -40), -10, 10) + local lookRotY = math.deg(math.asin(player:getLookDir().y)) / 90 + local rotY = velocityY * (1 - math.abs(lookRotY)) + velocityZ * lookRotY + local rotZ = velocityZ * (1 - math.abs(lookRotY)) + velocityY * lookRotY * -1 + if model == models.models.main.Avatar.Head.CMaidH.HairTails.RightHairTail then + models.models.main.Avatar.Head.CMaidH.HairTails.RightHairTail:setRot(0, isHorizontal and rotZ or rotY, 0) + elseif model == models.models.main.Avatar.Head.CMaidH.HairTails.RightHairTail.RightHairTailZPivot then + models.models.main.Avatar.Head.CMaidH.HairTails.RightHairTail.RightHairTailZPivot:setRot(0, 0, isHorizontal and rotY or rotZ) + end + elseif model:getName():match("^LeftHairTail") then + local velocityY = math.clamp(self.parent.physics.velocityAverage[1][2] * 40, -20, 20) + local velocityZ = math.clamp(self.parent.physics.velocityAverage[2][2] * (isHorizontal and -160 or 40), -10, 10) + local lookRotY = math.deg(math.asin(player:getLookDir().y)) / 90 + local rotY = velocityY * (1 - math.abs(lookRotY)) + velocityZ * lookRotY + local rotZ = velocityZ * (1 - math.abs(lookRotY)) + velocityY * lookRotY * -1 + if model == models.models.main.Avatar.Head.CMaidH.HairTails.LeftHairTail then + models.models.main.Avatar.Head.CMaidH.HairTails.LeftHairTail:setRot(0, isHorizontal and rotZ or rotY, 0) + elseif model == models.models.main.Avatar.Head.CMaidH.HairTails.LeftHairTail.LeftHairTailZPivot then + models.models.main.Avatar.Head.CMaidH.HairTails.LeftHairTail.LeftHairTailZPivot:setRot(0, 0, isHorizontal and rotY or rotZ) + end + elseif (model == models.models.main.Avatar.UpperBody.Body.CMaidB.BackRibbon.RibbonBottomRight or model == models.models.main.Avatar.UpperBody.Body.CMaidB.BackRibbon.RibbonBottomLeft) and isHorizontal then + model:setRot(model:getRot():scale(1 - math.clamp(self.parent.physics.velocityAverage[5][2], 0, 1.6) / 1.6)) + end + end + }; + } + + instance.dataSync = { + syncData = { + + }; + + callbacks = { + + }; + } + + return instance + end; + + ---初期化関数 + ---@param self BlueArchiveCharacter + init = function (self) + AvatarModule.init(self) + + --生徒固有初期化処理 + --Player APIにアクセスする場合は、ENTITY_INIT後に実行されるようにする必要がある。 + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Momoi/scripts/character_scripts/ex_skill_1_text_object.lua b/config/yosbr/config/figura/avatars/Momoi/scripts/character_scripts/ex_skill_1_text_object.lua new file mode 100644 index 0000000..9e67b8c --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/scripts/character_scripts/ex_skill_1_text_object.lua @@ -0,0 +1,76 @@ +---@class ExSkill1TextObject : SpawnObject Exスキル1で使用するテキストオブジェクト +---@field package object ModelPart インスタンスで制御するモデルパーツ +---@field package subObject ModelPart インスタンスで制御するサブモデルパーツ +---@field package textTask TextTask subObject内にアタッチするテキストレンダータスク +---@field package text string このテキストオブジェクトで表示しているテキスト内容 +---@field package currentPos Vector3 現ティックの位置 +---@field package nextPos Vector3 次ティックの位置 +---@field package velocity Vector3 このオブジェクトの移動速度 +---@field package animationCount integer アニメーションのカウンター +---@field public new fun(parent: Avatar, text: string): ExSkill1TextObject コンストラクター + +ExSkill1TextObject = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@param text string 表示するテキスト + ---@return ExSkill1TextObject + new = function (parent, text) + ---@type ExSkill1TextObject + local instance = Avatar.instantiate(ExSkill1TextObject, SpawnObject, parent) + + instance.object = models.script_ex_skill_1_text_object:newPart(instance.uuid) + instance.subObject = instance.object:newPart(client.intUUIDToString(client:generateUUID()), "Camera") + instance.textTask = instance.subObject:newText(client.intUUIDToString(client:generateUUID())) + instance.text = text + instance.currentPos = vectors.rotateAroundAxis(player:getBodyYaw() + 180, instance.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.GameConsole1):sub(player:getPos()), 0, 1, 0):scale(16) + instance.nextPos = instance.currentPos + instance.velocity = vectors.rotateAroundAxis(math.random() * 360, 0, 0.5, 0.2, 0, 1, 0) + instance.animationCount = 0 + + instance.callbacks = { + ---@param self ExSkill1TextObject + onInit = function (self) + self.textTask:setText("§6"..instance.text) + self.textTask:setAlignment("CENTER") + self.textTask:setOutline(true) + self.textTask:setOutlineColor(0.165, 0.165, 0) + self.textTask:setSeeThrough(true) + end; + + ---@param self ExSkill1TextObject + onDeinit = function (self) + self.subObject:removeTask(self.textTask:getName()) + self.object:removeChild(self.subObject) + self.subObject:remove() + models.script_ex_skill_1_text_object:removeChild(self.object) + self.object:remove() + end; + + ---@param self ExSkill1TextObject + onTick = function (self) + --オブジェクトの状態を強制更新 + self.currentPos = self.nextPos + self.object:setPos(self.currentPos) + self.object:setScale(vectors.vec3(1, 1, 1):scale(self.animationCount * -0.125 + 0.25)) + + --次の位置を計算 + self.nextPos = self.currentPos:copy():add(self.velocity) + self.velocity.y = self.velocity.y - 0.1 + + ---カウンター更新 + self.animationCount = self.animationCount + 0.05 + if self.animationCount >= 1 then + self.shouldDeinit = true + end + end; + + ---@param self ExSkill1TextObject + onRender = function (self, delta) + self.object:setPos(self.currentPos:copy():add(self.nextPos:copy():sub(self.currentPos):scale(delta))) + self.object:setScale(vectors.vec3(1, 1, 1):scale((self.animationCount + delta * 0.05) * -0.125 + 0.25)) + end; + } + + return instance + end +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Momoi/scripts/character_scripts/ex_skill_1_text_object_manager.lua b/config/yosbr/config/figura/avatars/Momoi/scripts/character_scripts/ex_skill_1_text_object_manager.lua new file mode 100644 index 0000000..db0c6e9 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/scripts/character_scripts/ex_skill_1_text_object_manager.lua @@ -0,0 +1,41 @@ +---@class ExSkill1TextObjectManager : SpawnObjectManager Exスキル1で使用するテキストオブジェクトのマネージャークラス +---@field public getObject fun(self: ExSkill1TextObjectManager, text: string): ExSkill1TextObject テキストオブジェクトのインスタンスを生成して返す +---@field public spawn fun(self: ExSkill1TextObjectManager, text: string) テキストオブジェクトを生成する + +ExSkill1TextObjectManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ExSkill1TextObjectManager + new = function (parent) + ---@type ExSkill1TextObjectManager + local instance = Avatar.instantiate(ExSkill1TextObjectManager, SpawnObjectManager, parent) + + instance.managerName = "ex_skill_1_text_object" + + return instance + end; + + ---初期化関数 + ---@param self ExSkill1TextObjectManager + init = function (self) + SpawnObjectManager.init(self) + + ---@diagnostic disable-next-line: discard-returns + models:newPart("script_ex_skill_1_text_object") + end; + + ---テキストオブジェクトのインスタンスを生成して返す。 + ---@param self ExSkill1TextObjectManager + ---@param text string オブジェクトに設定するテキスト + ---@return ExSkill1TextObject instance 生成したインスタンス + getObject = function (self, text) + return ExSkill1TextObject.new(self.parent, text) + end; + + ---テキストオブジェクトを生成する。 + ---@param self ExSkill1TextObjectManager + ---@param text string オブジェクトに設定するテキスト + spawn = function (self, text) + SpawnObjectManager.spawn(self, text) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Momoi/scripts/character_scripts/ex_skill_2_text_object.lua b/config/yosbr/config/figura/avatars/Momoi/scripts/character_scripts/ex_skill_2_text_object.lua new file mode 100644 index 0000000..a8a6e68 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/scripts/character_scripts/ex_skill_2_text_object.lua @@ -0,0 +1,65 @@ +---@class ExSkill2TextObject : SpawnObject Exスキル2で使用するテキストオブジェクト +---@field package object TextTask インスタンスで制御するテキストレンダータスク +---@field package subObject TextTask インスタンスで制御するサブテキストレンダータスク +---@field package animationCount integer アニメーションのカウンター +---@field public new fun(parent: Avatar, parentModel: ModelPart): ExSkill2TextObject コンストラクター + +ExSkill2TextObject = { + ---コンストラクター + ---@param parent Avatar アバターのメインクラスへの参照 + ---@param parentModel ModelPart このオブジェクトをアタッチする親パーツ + ---@return ExSkill2TextObject + new = function (parent, parentModel) + ---@type ExSkill2TextObject + local instance = Avatar.instantiate(ExSkill2TextObject, SpawnObject, parent) + + instance.object = parentModel:newText(instance.uuid) + instance.subObject = parentModel:newText(client.intUUIDToString(client:generateUUID())) + instance.animationCount = 0 + + instance.callbacks = { + ---@param self ExSkill2TextObject + onInit = function (self) + self.object:setText("§0§lMISS") + self.object:setAlignment("CENTER") + self.subObject:setText("§4§lMISS") + self.subObject:setAlignment("CENTER") + end; + + ---@param self ExSkill2TextObject + onDeinit = function (self) + for _, id in ipairs({self.uuid, self.subObject:getName()}) do + parentModel:removeTask(id) + end + end; + + ---@param self ExSkill2TextObject + onTick = function (self) + self.object:setPos(0, self.animationCount * 0.5 + 3.5, 0) + self.animationCount = self.animationCount + 1 + if self.animationCount == 1 then + self.object:setText("§e§lMISS") + self.subObject:setVisible(false) + elseif self.animationCount == 6 or self.animationCount == 10 then + self.object:setOpacity(0.5) + elseif self.animationCount == 8 or self.animationCount == 12 then + self.object:setOpacity(1) + elseif self.animationCount == 14 then + self.shouldDeinit = true + end + end; + + ---@param self ExSkill2TextObject + onRender = function (self, delta, context) + self.object:setPos(0, (self.animationCount + delta) * 0.5 + 3.5, 0) + if self.animationCount == 0 then + self.subObject:setPos(0, 3.5 + delta * 3.5, 0) + self.subObject:setScale(vectors.vec3(1, 1, 1):scale(1 + delta)) + self.subObject:setOpacity(1 - delta) + end + end; + } + + return instance + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Momoi/scripts/character_scripts/ex_skill_2_text_object_manager.lua b/config/yosbr/config/figura/avatars/Momoi/scripts/character_scripts/ex_skill_2_text_object_manager.lua new file mode 100644 index 0000000..667569a --- /dev/null +++ b/config/yosbr/config/figura/avatars/Momoi/scripts/character_scripts/ex_skill_2_text_object_manager.lua @@ -0,0 +1,32 @@ +---@class ExSkill2TextObjectManager : SpawnObjectManager Exスキル2で使用するテキストオブジェクトのマネージャークラス +---@field public getObject fun(self: ExSkill2TextObjectManager, parentModel: ModelPart): ExSkill2TextObject テキストオブジェクトのインスタンスを生成して返す +---@field public spawn fun(self: ExSkill2TextObjectManager, parentModel: ModelPart) テキストオブジェクトを生成する + +ExSkill2TextObjectManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ExSkill2TextObjectManager + new = function (parent) + ---@type ExSkill2TextObjectManager + local instance = Avatar.instantiate(ExSkill2TextObjectManager, SpawnObjectManager, parent) + + instance.managerName = "ex_skill_2_text_object" + + return instance + end; + + ---テキストオブジェクトのインスタンスを生成して返す。 + ---@param self ExSkill2TextObjectManager + ---@param parentModel ModelPart このオブジェクトをアタッチする親パーツ + ---@return ExSkill2TextObject instance 生成したインスタンス + getObject = function (self, parentModel) + return ExSkill2TextObject.new(self.parent, parentModel) + end; + + ---テキストオブジェクトを生成する。 + ---@param self ExSkill2TextObjectManager + ---@param parentModel ModelPart このオブジェクトをアタッチする親パーツ + spawn = function (self, parentModel) + SpawnObjectManager.spawn(self, parentModel) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Momoi/textures/barrier.png b/config/yosbr/config/figura/avatars/Momoi/textures/barrier.png new file mode 100644 index 0000000000000000000000000000000000000000..f370a968a6e6c60761c4f7a188d7c44ce1bf9bf6 GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^j3CU&3?x-=hn)gaoCO|{#S9GG!XV7ZFl&wkP>?ym tC&cyq|NqVF|3v_~T%InDAsp9}6M$?c2F6ES|xv6<249-QVi6yBi z3gww484B*6z5(HleBwYwoCO|{#S9F3${@^GvDCf{D997w6XNP#-~(j-|NkFI{ubWW z3Z$4yg8YIRI4V3`K^7Z%x;Tb#Tu)Be@c;0E1AnrA*vjLu_#ZRFy%x2ZQhP5x1L|h*boFyt=akR{09f)oX8-^I literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Momoi/textures/bubble_emote_guide.png b/config/yosbr/config/figura/avatars/Momoi/textures/bubble_emote_guide.png new file mode 100644 index 0000000000000000000000000000000000000000..a6b414202e18123cc93b634a85e680a66e0a9fe4 GIT binary patch literal 494 zcmVvD800032NklL{98?E$@`La%y+s+cA+7ER}K+p}aatE=lFu-ULeLWgH1R zr7|d~dm1u3wI-OHl&evMe$!{KVri$1Za$T<*ZHa3DM<}U69UsXiOn<=cIQ} k=*f{RowdRB0DV*N2kFQ#jp%gQga7~l07*qoM6N<$g5h)W9smFU literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Momoi/textures/bullet.png b/config/yosbr/config/figura/avatars/Momoi/textures/bullet.png new file mode 100644 index 0000000000000000000000000000000000000000..392b8f7c3906129885119b03aad3353ef99e562c GIT binary patch literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^EI`b|!VDz0_b@5|DajJoh!W@g+}zZ>5(ej@)Wnk1 z6ovB4k_-iRPv3y>Mm}+%BF+Mj$YKTtJ!KGPtXOJa1{72Y@Ck8^3Xe~T4g->>mxKTr z|9>6*|836R83F%a&e=cH^Z$Eal|aXmSq yC?TOJ!3aqGdOtPI(4Y{viAnS=lpGkCiCxvX0JF`DC=lkH8Wp`)qeeZqm=awS?0AV<$K@dO` zMNqW*{u24Vwoad(oe}^5dVWBG#qy9lMIOH->G5PT<@W%B`EG$c%-naVeoZqUbNw0bgquYpjC7tl>d$w-y4KSJOy{R(gIwVR?9CyeI;a>&c_% z(1e7Dii9%Vvj#GeAglX?%a8fJKZaMrXRkdNk>(|o8lCqp{0kLIQ2fLN?Dt zC?O|iA=R0v?zu>1MnVa7j<>%qD^(WNp{}jL&U^jv9zhAYMnGk#YiqE>Due`Z8rA%P zj}bru|Km7aWvq_l7c&+j|hlab{@I+J^Dk5wHrg*)oQbtsk7dO|AXd@ER@vsfvFC|b#`?}W} zBcSX3wj<+p;eC~nLv<|iT=qU!g_`z0ThohbyvjY&2)N{Zr3f^kebWvujDTz2FO5Lm xb-#(fA9yZ%U)l$3?7G_1s7(eNjmS1i=^x?%A$D^+tJVMj002ovPDHLkV1ls)e;xn; literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Momoi/textures/death_animation.png b/config/yosbr/config/figura/avatars/Momoi/textures/death_animation.png new file mode 100644 index 0000000000000000000000000000000000000000..f243ea10d108e2c2f5486f6a962aa91378446a34 GIT binary patch literal 2020 zcmW-fc{r4d7st;#!^{{aGM%c6Q{{H^* zkUz(YMaTRX_wV2D?Ci9$ zv1z{(^(fi%W%h-k$7%Wb`CKmd`Sa&27Aq+!sUXg_f^$49EUYolD>F0mamHyM2d!u? zz3%RA6&016!KPt7(WU$gkYGnUCqTz|X8}la*5;Fr>e)l!RI2s&F{Lzr@sUR+bYp)U*)?NT@-*N^nGX&HpwE<%v z;Mv9t4j;NR(L1{-^eTl5`E&++*XK6q?n8Q4oRUGa|E#BPiU79>;>zSC;ja87a5$VP zWMb_dWHDukspEkn-1RZV_?=gRtByVP@1+^Tf&%6RskQVX=w+f2w!TF3F{DHitS4so zbn1h-$*d|O-XWw>+;M{-R^s|0 zI0^rVIJU#9h(8gE0+e3F9e_Y#vK^&&pihe4l$F1QC96&`j7JiyA8N7wi8TZ24jmxY zjZi|d+uhQ?5gGYJ{=};}>#xA3GV&-rQAhl-Ogo%-=Pxiv*t$64=#IS~BaJPqzkt$) z=C}G9jxj}bOt_@u3-}$AyS_Vixd=?_WbOVb1N_vQMmII-RV5+{7(lS2hkf^EzIMfb z)BJW14#LV(haYDatzv5+&F;n8{&TQUqYGN{Xq~4pAPf+|KnyxW<9%pQc_2;*olXrd z$@{?92zUyT8yf3mY(tsNnBF~+n>bw zU@Q%F)uV*o{+q2$h5HX8B4~KA-EgM16gyNL7>I{NRU~GeOvFDz^<@M^;H*dX;#3X%2)S89eRvy}!%~0Spjg>9h$|NVrBlsIKWloQRo!4Y^6`Zp>)N-w} z(hZTrBnz3Opmt*wt*a-%b#iPsy3lQprL2$1qRy6c1rEf+O2b0vL+Q~k&g^$zEmsY; zxzvt}M=A*IhmTQ+(hsmlNK>>Q1oY{^j{M-o%d0E5#_dgssd6Ho8;LMD!Xe}5=;GrX z5^lax9rll543&!g@4W9$-r5a#+^!_WKH?sdVWNez7`IluAt=WrlHOyi(eJ-8lgFiU z2V@Pqh77RDHFrH^e8q^w%x!2wwsX^kuT?~0jF@5=o2xyfa)-?JTrVPJ0htgC~v(@%Dtgd%iFO0cS>vX;9*Fuf=?9nC!;N&AtIHtqyc-nA7 zja@>QGCsL65_qP?khB-HLSxmDJ=M%ZH_B)K}-i%#v5v9yt%pxWDye2ZvXEc@6pfE@PD0hr1Y{r z*Qd>Hvmt&SlLf68l;<#Pge!%(Obb*YGYR#gKXyj$nzzNxunn{%f^+@)qksz`Ds9zT zF=ex>>-QJjzT4c)ma(D{dUAtZ0(Ja4YK~O1YL|*eD;;2}tvs504;efVKS$NXcF;vX zHu|f&EWGi1m#flFA$^Ra$B6aHOTe zi`u2Zk&_T1~fhss;p(*(Y$*m48?!f83xfnCxZ*ALJt&A*tP$P3IG(h+DcFc(fm910e@pj0zyLjKqmE%MS zS1IvisvB5Hw7!A5!^Ln$m=}{*?z0<>UcsIJ_}%4{%eQTTC;Qb}?M@}$7F~8A$mEM% zd`Es-Ad$!I-@R`s3Sa#qfXu9{7#zS#MZ--B*uMB6Oc(=|9bn6yAl7%~FCo=(+^C%E z28)PNS{Yu5OhjExFV^8Il26&6*o%}JqcuifEtH0}F~g_i#6k-WF(GczHDsP6c2R1R XSQ8c-oF?b-3HV`cVP{@`m>v6nxgKEv literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Momoi/textures/emojis/black_dot.png b/config/yosbr/config/figura/avatars/Momoi/textures/emojis/black_dot.png new file mode 100644 index 0000000000000000000000000000000000000000..32f952e6926fed6a3e8c08e8e28c6774175c72bd GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^EFjFt3?wJp^Vk9@$r9Iy66gHf+|;}h2Ir#G#FEq$ zh4Rdj3FVdQ&MBb@0G;0^#{d8T literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Momoi/textures/emojis/dots.png b/config/yosbr/config/figura/avatars/Momoi/textures/emojis/dots.png new file mode 100644 index 0000000000000000000000000000000000000000..eeb5df5529e8a8d668a571f4339092e73a982fe5 GIT binary patch literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrOUWQl7;iF1B#Zfaf$gL6@8Vo7R> zLV0FMhJw4NZ$Nk>pEytvXMsm#F$061G6*wPEVVBK3bFt3ruKaWT?N-8k{WU=nquD;OXk;vd$@? F2>^vjE2#hg literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Momoi/textures/emojis/good.png b/config/yosbr/config/figura/avatars/Momoi/textures/emojis/good.png new file mode 100644 index 0000000000000000000000000000000000000000..df8baedf092d1697de5f940e1c6dc2783271ff32 GIT binary patch literal 220 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGaEOCt}an8@pP0cG|a4t$sEJ;mK zD92YC`j z#ZwKOPu#e1GD7f#Kw)7Zn{i900OQLbCg~MRR5&)uIx#XVd&Kqp=CnOEK*Jb3UHx3v IIVCg!0HohPs{jB1 literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Momoi/textures/emojis/heart.png b/config/yosbr/config/figura/avatars/Momoi/textures/emojis/heart.png new file mode 100644 index 0000000000000000000000000000000000000000..cea3a12c758ab289a5f79498292947ece20672eb GIT binary patch literal 219 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9k|nMYCC>S|xv6<249-QVi6yBi z3gww484B*6z5(HleBwYwoCO|{#S9F3${@^GvDCf{D997w6XNP#;Il};<@c10|F@rh zwZ_2#D9%_C;uyklJvo7a@fbrGJKHwZAYq9macR1VC*rndsXEJP zDQ?ZWDkSi+r7`#FD^8xC)z>Ty3{w8GWQomYGCIhZBf!k?EmHjUgCi3&fyOa-y85}S Ib4q9e0IvE$hX4Qo literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Momoi/textures/emojis/note.png b/config/yosbr/config/figura/avatars/Momoi/textures/emojis/note.png new file mode 100644 index 0000000000000000000000000000000000000000..0d360af1ac98d32e264cb3707642ce0cf45d0af6 GIT binary patch literal 223 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGaEOCt}an8@pP0cG|a4t$sEJ;mK zD9S|xv6<249-QVi6yBi z3gww484B*6z5(HleBwYwoCO|{#S9F3${@^GvDCf{D997w6XNP#;Is3uv&MRt|Nrj< z-o88=D9%_C!8QX9KfW(tYRVTpff>0q9O7Qr-u;3Eg3G&LkIdM1I=LYboFyt=akR{05z*SssI20 literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Momoi/textures/emojis/reload.png b/config/yosbr/config/figura/avatars/Momoi/textures/emojis/reload.png new file mode 100644 index 0000000000000000000000000000000000000000..1f33267d6e9717d41b952588bb05fd8a47c3e806 GIT binary patch literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrOUWQl7;iF1B#Zfaf$gL6@8Vo7R> zLV0FMhJw4NZ$Nk>pEytvXMsm#F$061G6*wPEVVBK3bF@&*Qm+^L+W6E(EufCe&n My85}Sb4q9e0LG6%-2eap literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Momoi/textures/ex_skill_1.png b/config/yosbr/config/figura/avatars/Momoi/textures/ex_skill_1.png new file mode 100644 index 0000000000000000000000000000000000000000..fd2764221669f9f8cd6877cf29d6d5bf666efcb6 GIT binary patch literal 3720 zcmV;34tMd1P) zeQ*@z9ml`V-X(Vl2}#h1ps2(`P>~`=MX3hjXhpC(%-C4%OnFg@Aj7CtqSBd;r9h`B z;{erBD*dBcDQ(BGK~zXcWMV-ggU}+VNlHLPf+6JPj?3ll*FW}lZ*Onk?)L7I+dQ9{ zn`ifV-MjDed!A>XeV#o=LNjYj$3(>Y-=O6@`~I#H2%r5M_1_QA=BHpB;$!xpz*fR@N=5sfN>QNPTsK66+eMH^Wtx89*k z(zi)gtT)jxPU^8FaI)6REqm}u%7VG|W)G$UbL-7+61HG&z1fAKz}$MXpM)%!TW|KE zD=@cSXJFZaQ)Ru%3LqUb#^jGyJTpIadc86dE!QY*wxB6+x~*6Jqe_(^*`}O`ee5-y=M%RLkny+NT z^w8?-q;su4(u!ZQH?G`MF+ui(Wx{KmykdY=@5_in%O?*I?VbU(}u{)=;Z=YK#H_c;KZz9R6 zIq64tRb@gq34tKs$pHdEuo+MA%3=Yg{^8Rf$N3)Ux`lagmCutC6kJ&iTyn4I=DN{wu2Vm)h8yRH z=zO=@m0;yj>y?g`enxp{<*8SW6Je+8UNHQUrKJ}EWk1ypZ2cQLI!@cVfYPE-qVW9# z+OEeFC#D1)+d>Eg^wVm&K#U)ove?msH35i-sONe-`l&r0+II0P+RpMC1#CdIRD~f+EKWE?KCK%gPrpI<_UQm7!x>ND4R0L+Qr(IUM;5 z)=aq}=0{w6Xg@RZ&qm&*I^FK*C+v33?^R3nG?!In?RQRkCM%mNL@m`5K$xo|q8O)+ z2n_cq#1zwIx5#cukTv^05`Da0-1gWq)BrL5w>|MRK6+&X)(-78W^uenb#!+`ob6Ok zi~ukKfr-r*5x{`EBjRrl*U=n7Jf6#{ST>6bXjt$)t5@Rt?|R}Q7L6;yHS^{}t3q5e zZ+={bxaXx+_}6o*2DL)$pn96ks@VJCIwHm}+d!!Ish$YHY*xkIr+T_8i$zr;3mnc7 z=ZP;X^P=xWKG0&#f7#osFnY9h{Hn*6$OR2X)9s3s$iQGG*j=oOeHdwy9ign6(7*tN z1_o&J(G|4$=n6`ef6bH|NG)zA*cB0LSGYc*vZZu8BW?rj&g#h!*@9heHv@oiSIr`& z`-91qnhB-&Y6O=H)8{O}-tAjNkIzJB_nZZ^cl#Dxc6F8E1)cbOx1j;WEY$BiD<86g zQ8DQRXz!LVLy9ec$>KK9ZkowvWu;-Kbwx*4R~NdvwCA_8wu9*-xsAJ=0!LHwjY1`B z4mVH*s}!w~8Ys3)W&p&wXgN-}kt&2r$7t*>uYAZ>2K#pXQ#WkQxLoArG5G!I>B7vK zZ~&+fX0ihj>zu~)g*y;#BmkJE5;vQhX8>?--MoIVuOaP7q8*HgsKrzVS*;Rx^}|ot z%D~8ihZ;^5(Fn&*bZ|u6!M^Unz6KM_``JWjd;9g6W_tVsk2u<@+4xB_;`*gu?YI;G zux|EA(+t!zU8$yh|38vSr+&ILTw$Bqs%;H%*WPV!U9=foV0)zeM|gJ6BEt%^=GH&i zDs#h^4-x=;b1KhvUc-U34ziw^ybjMyUYE`yI3}b`;AbYULrF;qD=8^qT;#!n-zGVn zw9G}Xy5)7aT!Q?fQ^ptzg~GJ*<45A+n)TUZFZSz(snaUsE}QTc@1KzdfooTGqZZWw zV&B9%wW?Y({@9EC_~uj|etmuHW6R%ux=dHx*B%Z62x9K4!F^hl4Wzu5heBbRT2+n1 zjoaA6+fNVxY@RcYwY0R*eG6-FxN%!dnH#=*kd~DFMKiBIw*EXKW-RZ#u@?6&tTDU} zbveTo+dsm!mG{fdoZ;kT{1kS_b z(SA>e6y|aXT;OyN3WZ4$aPgsY^zZHg0)Up577B&Jal(c|VM_Gl^Z87}GX1@WDrp@> zzdEIe-8@oUAaB;Ba?(S_Zj;`5V{N92;wZ@2lAZe&)@b&pW<2uN^J%!6;RCl|hvUBd zrM0>P5>Kc0Kr}Ean&kMCHI_!JdKRo65gUz=If>)8Dp0!cc)SP%&dbLD=X6WrNHbZ(8sr5YB=ozxaaOs~NXTh~AyEPv%4p(eXRodNOtj5ZQG9|Su;}`B* zd0sqRu-!~iZ>POSbBfn60M-RADam7i__$FW#-A5Qaa2JlOk-`SW69cpvO=+!I&+K7JHB%G$u#)5#G0`@1$Tfj=5dC+;s+t*~{wV0VA9 z^gc^Yda&IGOJXJ(#>ot9){pf!fbV+muK>htC(4}y(js;x($*BoUpbMWTnw*OjygZ} zHWziCde{8?YryXwjrZUE!Pa3hsiB1%0Ir(f9vATWpDzOd%^9D=joX;ZwM}ytNe`o~ zBx2ZB(%ZkJEbWk0JFcL&?eyHyX$Dj4Q>-r4O)6H@z*3 z%Ei^j@IKhgI@RG~(=9M*gPF8n$m+!?_cduD<#}@H0}KEpm!pqt!CL(=pgo`h%$wb0 z7P?!>(@JyCiQ)!g`(Gu}0L$gtrW39|&{8gR7q^XS=OJ;heygc?{26Z&95@wS@}k^^ zX*Io3vnp*FmEuUpi)t6sqT0oAVX62&90TkKthHA+QQ@wwyx+7UB(iy&GsH&G5>u+bjK3&NSut})?3r0*R-Z{O_OrA%j{lQ148^7vlu@be~tKB zr?&qx<#96Cnk}$o7p>L%R>*#9?mcMhB6dCW8~IpRl<}j0d;q{5FF%Ey%U=W#{VQ6%zo0b;O9aooMow;)1Cq==YySD8CTX*hzF;b_K@v z`w$#kh)avz`25g*08w%8c=;&+@qZVucW#jwap`IT>O_|vVWNL)UIN)=7j9{NF%Y}P z*sPD;+4D3hEjZ5;gulBFBg6fum{^K2-X7$P9t&5W2YDk4alGA&t40d&y7Cb&5zu

FE!6fQe?q$-wTMA zD{N?E;br5A9f@S);J!F%fhBQknr_9Kdk^CB3v%Esy$Gzo6TUzYmy{Ian+`vG!4U}h zfZ%`+j0q3~hEOPszF;mqdC{iPN*`<@w6Q>~c|e&TlBh~?os6wPma-2H`Uh~v7esH@ zckrD*gxvfa;mRvOFc<<87+fwF&VGFqG!Ot0Vf46is!{Guu94@fK;Q~7xF0jMl0y`Wo zu*2a3I~+ztl!>Q2d>(pm$mm=&e_WV(coXe#xWEpF3+!;Xzz&BC>~Ofi4u=cuaJaw@ mhYRd*xWEp_4e)tlC-Z+x7_Rc6+g()v00004 z_8zrse|_Kg{SV$B&i!1^xu0>}=lpQ48)If-$Uw_Y3jhEZ9zW8vxLIv(qKKOE20L?T zjQ{{9_+ve7%ix^tT*NEOQNHe0m#<6a9l8QyqYK44FU4z}(B1~do}LnBouojywpvT| zqHmSeLj*Gyw+6tSVhMVKKm%z%e6A4pmzj>YGBG>j zlr_cJW}-w|BYBfDXB$OoB+70he`X@1U_f-Z)4KZmVVSIx4qZA(tj6i05q-7ll)l2^ zW^b^zL-OQ|WJVJ{9#$_9g9H&@=~CO2q#YWKJ6Xp*KvL=qen?EQF)e&ot%*kqOOB#` zM;})SSke!5HJ=7+_lj~v#WFr25-$7A2^7f{?0+w8&$G8S2J+)VJPTHw^}HXLsQA!& zjD)@Jv^bF8S07G|2mZmD%q@wFtSpHyPos){eMYBc6qPnnV|{ZurbY|3ZXGlT2HcxK zy`k5o`s^Uctnb6#MpJ<6z0D~Z4j=sI=_u)PeqJF8@Mo4z2h16OcBmCgyPucfM^X-g z%4)qxJ9yRtl?CYetOyA}7a$AEKnG_4>gY}74GaR zhwpy*l3aoRDh3F9F?$|^nnB(s5s>~QR+fbe9kUQ3K|SUKN`xpgM>)usJ52hzCNaFh z)hzT5ND)wr-80fM6d1L)bJ3)(?a*#mT$U;6ZKmmP9IYp^IR@+%k}_G<(lthUrNgsU zF79JrZ19{sl7$+y4#of|!<0m>+?#pUR?xm0m{GZ>K1aa3Q?c+ZxuccujJzssR`gsG z5qGWkKhyFyoCgNZv-Ou3sbLxuxId?l){Gea6{R_h32x4$Ram-1FBp-&mBFTca30;IQhrO82Gt z#D&KN*0&f#o`)B^Ui?(rEWJ*htoZ8yhAU`orL{g4n)%^2K}7JZccGhcIkI25yLu{1 z49-}~9hPmqWU6M$K7b)l{=#;r9Uh$#CS-B05CJ`s%IhOtVG(-A*>|s36CxehJcR)h zdOR2`&&b=uooGmUO2kOP>QZ)qDr^^hwV$|Ls&*X|H7z4`pT~X2kR3##nz9E4jQliH0ZVCTeKG=mo79Uw#n_+|(go)2XDA33G>X6Di z2{q)YGMLkBSrxy|qv$q9qdS`- zDsH`pw*%w^eKn`@z7Qk=bC*Ynd8~C3MSTkGT^kCWzq;S9o7@tV{XKYd&0d~3-plQr z{`EV&z51p5v^q z`;1F@fwB{PXvE$`|Dk#Ih3O?BY(w=Lnh5V4jvIB1hmB#+es^15_l8&8cIjMFb>;V1 z>EHelgNyv=z+JKvKO=sG12mp% zm~?xWqrfM$3Np0w{N_398l+L+Bj`2#+IqToi8Q=}eaQCTqJSxYn2s!@zAxp6Hm1DZ zpxT{9n;F+uB(kC3_pf{+-@%D<#Tsx6<(G1ot>}IP_LntZq+k$RG;hjozg#W!t&vxs<^M~%t}!&h%T2Jg0l38IB<$w{I$Ypn7COfF=F6syq*2__qBYg@z3NHY|t6ql8H z2ubD5$1&c@hc?SJw*Jl`)^Xo8}ECJsZadJ)BKK9R|vFuRXruv^ArQP!e<`#SgGnsLu>Hx8Re}$MGHvT1%*C57aR@s+RzZ7V{A$}XlTU=&(CYc zJNcM%y_!>$E239<^@N5guPg1V7SkLtl1YnK3CfhGY5H4Oy6agb)%gr8$Gxgy73LvX z;O{@}hF9`KZoOXHB6eY0=1Xer(V$3@?O(D>#T=_*t1yU8y{V^mEo{;g89t#1NC5z3 zBXE$X*yQwt)zzF^TDI}kOdnztf_2$kz!761lEa*qtthirJwI&utZU~R)1A&j??m5= zfvJpY#d?FCATV;vCQWD%&)`U()E2F;rR^vpiingW8blh zSV7xB*H*?=nK}ALRjIl1ABJ1eg*TYCD1i+>eZrhHubK@G`h8Iv1Fewo2XN8@FbL%P zgi>p@Pp019RA%%AGXc&B88t^Vo2=P;^umU#yQ>06MoE^uB5l|N8NE2^BqFk1{~?0Z zdUpRAU>Cr3=Fnq807>0PM<4t15=s+5Do5Hpk%Rw50+;>zI!z6?R?bL#Z1|ajQPepD zzHJWJ1nddDQ3_7P6K5jk$e|tCsXylL{W2q(}nU zqBzdWCBnu9fwL>qyA4rjvxvTBWv4Q_&gH^oWeG+mZsqQbN*zv%gqVaxkVy8n^1a*n&_$u3QS=mrA#_l@Q*mYNg zY^2UO#9ML9wt>o#(%6!S97}WG;t8EYt*>5PrLvI!_mv}%7jatBY_C7}cI~yl*>0|C z^usbDU$qVKV%6Xot(cBp>e{-tDG=i%AEjr?#QIa1^(XlbG`&FYW)D1CSjPw_W5`2U zAA@p&E6d~NAaie#J9_8e9Phonp7M$#Px#R2*4f+K*8BToR%Yh=%2*)Y-k7KMTG8O@ zUeE$*+r}3M8#`r?Ch`6W?bZjx8`1uY)zqx%vgb-6%e%br_kAQYD8LeqAU>BY-^icw5eMX^u{&IFYf{JzF_&%SKU2DJl0y z5iV4Q8`*d-c{X4#De`*jWtToI69AaIC26f=NHRC=_*mbDuQBMNv(DUV!FNlqjxA#n z%Hn<5Y&TkGc8);rS{SHzShT*;sPSU8vuIS_1RD0CC{nR&QWci{roFZxfZQD3Ff+J9 z)*1pSQ?0J5I=)~goJ>t7sjUC0o>%5oO_o6}p}*YmoeB3|B}AXh`rb8Y-e*6a^(}dS z$fUa>gq7LKx?twR1k9%_{}Xd4F#r9pbiSm6>V`^YT<E>3%B4kidTgxsYB9g6MR9;RuGc&WcvGM(MH6OhYyp9R78*x)CqozZR00Ay z2~7TqYz%|?e*#F%^%Qc3GGy%BrT}04o0s3d>XBhDDuUMNvJXABY_-8`Dr@GOsjF(9 znUgneyA2pYrTULDPZ$3&$|&25xC|(S<2lX0w|u%p8Ux`QV0gV91E`tSo*zl*4DjU& zXAE_v8#IE7DW#91G#KOpea{&Cc5I11p9Q>nZkPcDPcP!KySy6JF6$G;%Q-5oLG?Pj zj5*U}{BN_`W8GZ%rr&}=YHI2|{<=3JNZJOA4UJ>n!q9<-YlG2PxHZ~Khh61S5*`=M z`WhGg1MdZGSzLR4X`*LDI*PE;kgcwr>heqt%J> z+&gBAPAwHAaa?xPC2qb`VF;AAstfF-#zCKg%`zyP!$i5{WY}4fZVfiAoM3MGs0O{j z$A4mG(U*6nc6_%ysmA+bspyg5BF3Pqve=B;#W$IT;(z?%|IVH)Gx*Q{vynH`?*B{q z)zNx{g*{AwXYCZH;loEiYEm?ks29il@CvSaLzCQeNkigoTDYrwr3EPzT1Q>XINexo Oz+-(Ay(%4e^nUjA5L~c#`DCC7XMsm# zF$061G6*wPEVVBK3bL1Y`ns~eU}EGG)P12IstOd6EOCt}an8@pP0cG|a4t$sEJ;mK zD99588yNaOGQ*@Zb%RVsHBHF(^7#o|)D#N^+K zq+6OB)wpsy#E<(h35N=KyNfRU6}lHksMxJ`pZPI? zW2|)GIoE`2OpsitgX0!AUW;!U&vC1Db{%+O{s*puil4zjVsk#6lS&^?8X^xTp4Gg1 P00000NkvXXu0mjf;+Sly$sn!Qz}gJcb`2=~mxn*bpD%!>p7e)XrW-ZmKBU(Gi^7Oeob26RKv4cT$7-Sx-j_xbo+ zEVZ#`YN)lTHq>U>8GZ9pKJoUk1^_5=V2ySAX~($ZlgU5K+ z4+}3NA~u-|C46{dB1(A-uM_Hqu++v2;=Y3Hi-{=VSpiFJI#uho*_z0HyVt0c=RyGA zt<_N5>2Pi^Hz239l;>qYH)MCge?2)U<#hzGDmPt2;KfRLA+jGMH^4U6GUSCA$0o+W zyR4+}7BA&_0=Q4-1aqstl-Cj9o@WR*c(_n0uOk46|K%`oHmRVbL?s1|r+%;^YmgK!KEj2=@Gn?%l1JDtu8b*K+ryC(_}I;1Zn`_aymZn2hP`jBq z0suIQ*tIqhF}Gj0kXnY#jgDe*lA~DFG*ZOyL@@8KCn|y@8a7DtOI&hX%id}t4f&k= zMiWbfar!zh0;Hi<7XkUO)`xLQYCycfuT^UYRNr7}U=iTsxOfvl{>Fty)@|+Tvw>!o z9M>8*U!fZa-9X9k-h0)|y7>x{sP%_UoA6ve0YSK{-gU>BqyPW_07*qoM6N<$f|RUi A!~g&Q literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Momoi/textures/for_modeling/leather_layer_1.png b/config/yosbr/config/figura/avatars/Momoi/textures/for_modeling/leather_layer_1.png new file mode 100644 index 0000000000000000000000000000000000000000..cf4aada13a4b457daa9b31d3d3a735073addeb70 GIT binary patch literal 552 zcmV+@0@wYCP)`5fkQcJGC=nne=(fL;I~kNo-zxk2gy0G8Dz0QeTR2LLGD_7YX@zN=sL8dVR| z1R&+4wzeA6DV-^B-p6jZZ>6)|;%wXm0QLejp1lMecKxgw)4cZ*Y`zGP`V9Ra$4w$Y zFQmaDO*-ZVJ3u5`_9aISX8-pm0IDk1Z4WY`c2zqXHk+^#;VykJ0ao+6giyf6EL1SH9Ig- z2$E#n;B1Ad?@^%@gODEE h5%G*bs~H%6sH$^a2tToI_4+R$uBWS?%Q~loCIBS)MOy#> literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Momoi/textures/for_modeling/leather_layer_2.png b/config/yosbr/config/figura/avatars/Momoi/textures/for_modeling/leather_layer_2.png new file mode 100644 index 0000000000000000000000000000000000000000..abd64e6b2afc513de9bb4794d53f15f5860b47e4 GIT binary patch literal 322 zcmV-I0lof-P)C2ia4%LKP}`efr*W;P{}&k(_|QiVHk#C7=~dO#_(8{ z<;0lh`T7niz_IV=wr!UP!wCS=Am3UWR{$Nu^gR2Xy{|d&X|IGpAOpLv>-r{$dA25b z%*(V0NKgP0LqR3t$&07*+Ys1m5g4aN>D>K);}U+VrJZBN|rIb`d|P57t+vV U)x6I!H2?qr07*qoM6N<$g2$hYH~;_u literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Momoi/textures/for_modeling/leather_layer_2_overlay.png b/config/yosbr/config/figura/avatars/Momoi/textures/for_modeling/leather_layer_2_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..4faea6d65b021018577bab2b0b24edb8cc59df91 GIT binary patch literal 181 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!3-p)I`?e@QlbGqA+A8$OGhHeL?OyTA<0G| z%R#f)L-Tr$Cnr#Xu_VYZn8D%MjWi&~&(p;*#Dn+kK|?NQLjh;Ux0kiP+ZQEGR$6+H zrEa6KRC3Qpi*4(Eh`w$Ue%-b9`GdtbxHR^abg^tQS)wRy6`JRve_@@M{tJL6C)l(3pLhp)JA*6&BN_*(7r}#Cz z^((DDi_h}rb>G?DB%91;XW(IWW@k5fe)DH%-=xuOHXAM-ot{R}a6C>F*PWk7JZA}Q zFD8@tKCid8Bk03m5R3IIPk8{Onil|QN^7kExOy6fI-Smx2tXUxuJ}IQU2awvUf29pimDNYi>1}I%XMwWrE#(aW%SgZ9kM-r?AoDlUv~mD2VL^Zh;LXm?ln6k#m-oVX-d`TevKIjKmy;l{rL_QXyK5QGqee&}t!L`p zY)3BLzt(bUZ2)}S+lzi49>&74_W;`6ZY1@*eKp#=aV5!%0FdT2gvtPr=8@M9z`P?s zPk~yE00}{w_X>bETvYFR_e{NdcK-ua#nbWdPtyqo;q2Mu`C6<;J5-2->`a z;2i)Mf>E8nef%UoMlQ{>-nuR;UkZS`y%HzUBc3d6LuQWMgwM!W%_dl?%Z zDf!4sdo$&QRXyE`PUG}zI17t7D4GD4pXy3VQie_0R z0M|8HDh+_%a#}-Om-7J7Bfu*FA%zrDNFjw3Qb<)vzb`MN@vlj;Swpn>{a}#fYY#x0 zhmOw9V&lwf1pr%dX&!kk06=^fk;5PP+8Ty9|98KAb%xI&v_ad-1Aq~lp?Sy($VdQC zv|ciMO`*w5o|~cUcfZV zI8F<4lo`+{8Z^~)g#c&>Fw40_X#izMbV>){dsMgR4=1{A;U6$>UKD_}Mp+|J*DYj- z$+pY>VS`4~04!w6xqi}eT{G)XTtxw7{gY(wf11oYM9ZE6_)9Lu{XWZl2ax9}mMgyz sqEQ;hejmsDjF8lz&R|MGFbE1IAtYWt z|1w{_e1&BX#wzn!M@oU?$F^uAyyN5%zT@FXi3$Ff&wY-cc;EX-1)jhBRSdvl*7SY+cj$Eof$u6Y2~KP*sGKNY(>}x~_pj*Y~ukMvcdNj~j20ooAL4 zJNq3a2CxuvrfDin(;xx`A(~7s!)CtWZ6Dyq^|LJdjA?(ux~>Ur;ysT%!dstshCOxs&Nsiohu`^LqODn9UmqMBpcy$T5m3d7 zaJYMbE*2~nGs58%pA*_gj4?RpKofnt#MTWG0x2b8D)iGm_Vy#w`4m;9#6%7OF^0{p zqo`P}-dwQ1KSe~CFI!6P(VQ_>XtXe*ht#uC3&%H3l0zi*9hLS7i9Tj3>kw6>Ti|lS zSmit3_729rrXG!nsu&BkQ!eaW!%Ja*_X6Mc%$xb_*T0N-$8Z|a`7g2C_BXk*$SXu+|c>7-umC#?1sYQ*6!6n>#%8$Rq3@%*nX`2@!#;SfHdt z)&v-wvE;=PuMl&j62;~oYlRd8Pd;#lFJC%`bv2t!gBPK9hFBuAklDZb3T<7}_nCk9 zt#j1PgeH56CcG`wzM<<2fAGSKIOo_HHykUTKfV4k-@g7F-A7l*4dxVDUz86;kDS~_FA63cS?){I@kx-t6$hUaSvpODN$99wokYM zDP>AXcaEMIhx!E}4=cqMaimz{ zj+_&z6zBp$g}zU`aQ+3zDb~)tekUb_}&bY!gKl z@eO^*Os7jij5sgkWLPXa#*;CB{*8}eixP@*eeV`-W1}I>4k&(|MIVSU5{l9x$>jzQ9vQk8|_J4$aycUE8CYIlZ}!VV6HVcZEleud&|;#8{?# zJ0OnH*f1Gagp^4sQB@Vjdgdmh%LP?aQ?g>8I5z%;dbC9fnG_2J$ZAL>qX=0XIV`a_ z(7>o3QTh%ej<)X+3X5frvw{&r?L46ra!Q1l1_OvvQbt3MmW(LmoH*D5ldEZ&QP+! zh>}uaG-)tdiK(X^jfgQ5eT5+ra-y;oDndbteLzEttH&$Sq!@&dBHlsDibZiI(?=z1 z!CFV6aQ5ao9zFRm^Tj?sFQ~`sJTTfOicpJ?LZpb{_s@QVWmZP@7&L=84ySYK#v{hi zbsgJV>x2-X^!)fUZzhT7Q?IC>Pab)LZlCgm@{$NVPYVLOz1Mc6lxLrqI9Wn zeB%UPJ@+C}V6=If^=5<9+v1Qf4|mWH#%W&1S5vt)WFosUQaC ziqDr5J zxNB3U4=t>AJxf8gfEf~Njs=V*X(pwJ6#)?xMZ{1CHLHOg2jBsa@nI&u-4FwDoQTI(DLJNdW?;_ z;)^$T*l7a~t=EGGl+cq>AW+CC-dHR`2!WI$A@-yc>D!j3t_jNpQWE3FQ$mN&iK-~2 zUtm?qeTSwDDMGPSR?)u4nt~Xm3xQMymk+teI7=yoloIMK({`6vZ(PAS!`j*gn_KHV zdFlk$+e6fPtY)4+_bryOWr^X+bf4|54W1oaj;xPx&Jkl~`{*V{Je3q4J-&@;PH;IX z_1Xr1?cHbY@_>!HqF75p2%%#UBi?(8g0qIcTT=TPyk*w6Fdj2)Th^RIoMpM_aLz!n zWXWXBAfUNG1zpOkV#nO6EEAcWGS)y25o5rpvh0?un}(@dVvEI^#QwpYKMsk$oAcy@ z+dOyc2K#12RTWNVBo5E`##9*#TWToA9|8% zbA(^_eDN304+fZpNLZDTs){&Eo6^A2`j&!l5IQ!ZrK&tdge)+f&nW_G9mQCT5tgyT zT8oxK5v6n;)(V0n=YW`sOd-UK6IiB9Wip3{Q?@6Y94=-|(~_JsAN=5V@$ujP1a)1r zn9X_okq4-);pF-n7ne8q)XT3jsy)*#GieMZM4WM`z~Ov~vC4R2_}+J%;fK%6$nSg# z#Ijr*qN}ReX;rAQqYa579^*W1+u@8QYNE!Vn%U`E>h*ONp+&`#t;Ob542MEx0+ll~ z&Y~1lpseCrD5w-d1~g*V*IZz8tU2}E1OV{;$@{^xrKJ6GahS8|u`t_^q zo5DNpe~`7wguR_z`jF^SA*aGvponnhvB$Z3?L3V)eEDzx5bNs`it*$e=tQYUBb>IF zCJr93*Yz0FP+Lz+-?&>T=zj4{-s1|y0x#B$%a6eAQI4N4UPDJ{t*PF?I~_JV#Yo%$IB(Swm7Fh;Z-GFM@h84Zi%%KcTUPXWx8`U;i(E5FJe@)OhO#c+Q2;9#EnojmNY>SUWml zI|Y_~3!#JTDA8eLL0BHpUw(x}9~qgNvlp+Tu3~<06{vBNBME^NsVYk%AVA8Q+F8b1 zTa0_h#alb%GUrlSGG4ofhmWqKu4XhbG)~#r-oj-^D4EK8T+T!TjjbuonBr@^>cGj3 zqxOzwRAEx4Y9iNPdyTgo8}o*@KEN;h=u_a=neJR*EES{4Hoad*#V~R;>yr)oe!;T4 z#gTf99?mJFHM|r$Tj5fRh9#F?_yn#q99%r04TY2fcCro#$|fwj!2|9+zC{pAn;?my zSA!M9sCJZo%It7T%8IH|8OHHjc2je}Juz(JuFZ(O`gb;tWy* z?T1|-X~&U~=ea-ocf9=_-^EKeE(~;6m7JAV&VP$%-|+!3mhosr6gl3m|^RqOm&9o6g5ZC_7=y-_1zp0 zbwrWOXnjIcj~S1Iomam^+xPt5r+$+@38IA(3)P0@;j!b-zx$p1z5o4x;PTa7wws3U z`N5yYHDLXi+Jni8k&N1glrmUPQe|^eGmnMZS(-ZXOHX=l};iezfBL&4z#b z@lUXK*kgPq$HawmU*VB6&)|wO-M!A*WQ=XrQ0ozEaUx8b3bB^T877V6A$N-h1)GJOeRqU)AeDa_k|Om8sV-=WNIkYY_cy+J=u?Co74hD1M` zvaxv@Dxrh`D!3BZm~1gwKS`@|=mVd-kp~#`rlYEbW;~%9Pk8O>Ys_aeN=Y0!dWuqp zviQ$E^E5?;=P&LeMmgpafAs_JWz%IIGz&iVfBr)<3hg1@Dz#O-z>&2Lw${ds>zcKu zVWSySdErCH4$;nX?)Ux=%83*7(~E@5uX5w%FSEGtJpHv-IOI5M_7rus!Sd#7l>N&r z0>pO4&du}8uAOD~`VI%vJr)O%+0LAVWjSkMxywj9s@Nj7VSj(0m(HK#fxO!$rG{uEyo9(eFgjG7Hf?#VdB8Jfw2whR2kiI>>Fbe(YF3c2?9F+`(W zUoMctCGlV%e^MEnip$&}gliNtAs(FPFhYZ8evok9aj@)&%Yv^RQ4^_8NQQ$YG)}O# zV*g-{YKCf!I(3A~-8I0EeBTGyzj2GcBo>PWFjxqp2}#rPUDVnIN!w-rOnDh3-iu{JLF(mm^7Bd zd8TeAuxwfS87^7GS-LF5QG*}Vm=G}aCN_DX9Srcq8=iot&QOgfh-SX~2fiCu)%43b zWijO=f9Z$FLAZK(m$yH7f|HM&;p{iQ!f5j}J2!TC;^}8Nv3rTLdzl-HB{!!+_nUv8 z@B7HlGpfeal^c-3!tv!d$fFk5!t~l%?)#y?O5VT1a=+u%Z+wBhTM1`{z0eXg(@po; zofr0(ySNAisI4K8XiQ-qpf!f&qA>PClX^BAiy3>?jAegsMi58Pzq&$&sYot|TMZA!Jss1!!FW>zPf zl3082Y5vkD&JkiEmVl-LqSU_P{ZFl}CPM;!1`)+q4PqQW^>_XeUDq)U8B*c38#mbW zo^>ouQ*r6qRYZihy!V|XExh`|%lKu-`nbYcPuF#P@O>X<`y+paTi0G?^6DR8)+$^H z?0)NOlv&Hh6YpSo^F`(tzrn#==`x5jxS-SxU_2kb-{G}o(JSR^^?(vzOWX>I;;j{JA$iz?aTlA<2-7mSHs+l0{;Ff0rX$ zTUh6Zrb0E$+_$&4*~*z*3fo6FFj!(rT)BLOfBa8A%K!blA0tHN`9J;=Z+PY@02T*_ z^j$|Z7ULc5?k-2SPjYN;Lb$O{xv`7Rm%Q-WjP<$!EX!p_GRo&)D7^cjif^wY2Mf!n zu{<#8*vf`0WZwFw$N2ioXOYShGPreRTwD5}RO=fQ)6$GK`9^E`>z}xcah9Biq3&nC z@fwrL4D$`O)V^V8(*UPWogjpOvvwdZCL^kJ{Sqxg&Pp{JgIKH$%-R`OE?uN=126v6 zPhjSUm}A=*V`$bVG@EN|9o?o|wsh^1(fLope9l_vdG+Gg*txvqgFpY@bL-l5N*6ik zGFlw}(VLWN6quNbr?vxGTk2Xk+$-F_CcJR&5>kzMaWC@Tdm47i0@cj%d)CNioo`*M z_~=&xG0kx(r`D8%rDc(Y${6a(uvIxO&U#L5$Xys5>U&4GnBzxdtXOnaGv$;BAz+L_ zM23M$Ed0@P&-1T;?87{`CA|32Ut#i#|A4--V1{~MoW+eQw!Ot&eub2jn^(^i3$g97M=K8J{apj}eI%xY zwU(UHkPQ0());Besn|O8=rADf51I8-PCffQ^q>A6 zwvUbo>Nxz?P3p05@NIvAt80(aFXp`E*)!bS-{&JwJb}$ZbR&$jOlJqY|MV%U(xb%@ z6?&;4CsMoM55M@&aVQvTX{-=qCWMa0PRKbksw#>MJv)HOWPd3Lfq)3*+ zk)x-`c0w?l#BPsf^B8r`q!6iBIw1#;5u8|3E;Qp!`qY!vV*LnbA~|G+P9~Jp@yH{O zaPE~?@&Dv+!aw+V)_>`LW_Eahb_=XH(x}0=ffxSO|HS=%#QfTe+_-t2xBv9trPOOA z&BNcKV2ok0T=L>e=Qx}N()<50-+uYmaAJrta_ehfWVZWFMqBGtCysE`PuZw9cx5u7 zwiU;k8bt_QPf3Y+Yl%5gq9R0Mx8R^%vhFfBclKCcU&oJX+EiX&3m9_F)Z==X4u^zu zZWuF-89@Rz@Et#l_H(RnFxFsL$xr-Of0NnY|IfKMPbeW$ zOd^}WX#EH;|HYro{|u}h8DuriVT>X6Eua0ubL3Ut5bKCp5Csvz z8>JQD3y=OZM-~@w61h2km?GeuW7$S18S5QhWawC}uJ^veO`w`Il$Ewgav|qTL72CJ z=ERBDHAK3WX1s=I9$210HL=5VC@HGL+`gV{@aSZn=fCzmlPAYae)d;+=iATl>6fq2 zO=tK~0~GFg@D!92sKCj$ylTb0UPq?|tg?cZ`W-G&qt*QtU`&G>pbg1@#b;k~)^li1nV__ALBlfLBp+*P+I6 zc+eph#0jF;m7c zwr=P&*+R*Rnz3IcP6fLXT~#$9MNE`olTcEDG7P5izD6C)bHq7& zXP)uC_q>hK#uoqV@2(6`RSl&iy!Qi~0mcuOtb9Y!K?W;j5K)cSw)nMw`CHW1;cExQ zV7-u1!U%lfQ(qwFG>D?CM~c#gMDC$-H8J;$uqZ;;wKTq>vKEm-Z46$9VoOY6_hMhtR z0a19@8y@AJH$Ba-{OUiyBZ^#GTN|dsE2XG7J9x&bgw9rm_IgTKClmp1gvwdAx3?L2 zhqa!1w1zW-R{@B%SP{Z<#`zo92RV*d#-o}??|T684W(2Z%!mKNk70~qwsVb-ef|$o)z!ZNx>R*2p`UsKhlg{#9U!r`4qdTLW6YpTdELu0 z)D}ho9mo@62K--nhlmVgIn9IdF+*KqS3RFHTzA``#u)z2Pkv~{1dBm5C;@j za*>VoEv{a^OkOSGKl$Mw24m>^mKR<*%b7E0xPI*tk3IYZ#ZM3lFMaJRJoUDBv2pYy zZ+zl$1kfVvAMCQdy^V8@>o;z2>B?1(Zy&)LhqZ24tQIUo<#{{XJLf1dQC8xKqzWje zWSkQy85JRwL1<|xg90@rtYy$1l3+EE9X!#k40Ia?doTtxD=7^zc>46i7*QsZ4K7@I zjSwT&4z4^B$N38vdFrV*v%Yl{R53=-1i?03Id_($_ud1$*U+Q)VV&p1iTj3|YUad= z(@^w|Hw-a3G-FsTazGy?#sS8p4Bu0g)rd@qF~aM-#SG3t$pvE_-3rB2hx~9G0g5VR z6%x{}#^a@cScAwA^Qwa!RDPk-&}yyY|hhP-omP>YFR#o_EgWQ=iu8DJ2|SqXV?)0{J zYe#s`tsQp$#?SKUbC;+n*int-%-Z@k8|%kODd4@QPl0y1L_htnd3NtI)6)y~Z#>Si zWA_o`ijtN>$@xyKi^$-<)+4LpXfVj_6D)VXd;39dUlVhpa(?)owICMfhGFcDs~5Pw zvrCAPq6Y6Qr;nfD$kAie&ac8_WdLja9hh>fq%lB+M-~2`5B;ZL1jj1ox_%%=R>*l+ ze9Q?E%i8)jadL#uefZ5dXV?~d2YOH)T-^IX)VON9AcB^J%5ZSzcEZY~;H+D5g2DAc z(6SoUsUep^$dytV`Uu8AiEJM|&fcOW(qU32rp(1_*SK{3I%u6qsA5-gn&Gj{>kKw5-daCU<5DoIg{CyH$X8$aI`cN5$X%~O2a=UC7|7xV57^$E z5aZAh3SB!4GhMZMXeddk>%p}`ig!s;2BF}bWf0GMvKB zFgO_!-{2{C6>FeFQ^u@}&)^9~m8x=glJo6wan6ym^5_#!5xNCm`_?y!@ot+gghAqS z`;e6bIJSbQ6f@QhiN<@sin~GFEM|bEoOCE%S21l6FmflJZ@+G5XKO7vCPeg35_4`i z@)AqDW60NEtK!w^@ci`mqS-RT^>NWuq84T!rA*Beb zj4rBR49<>FRV=Hp(KOT>IiRHw)!cb_17tHuX+sgbwRcFEti;)>N=cEbY6xjih%cAz zAi;M+iV0`zolevp9*|PPy9%XX48&M4GSJx}_Ih%PcvlaVTp6r+`=*uz>V{^haf8>$ zusf-Ac;k^`P;nS1gC?mchD6SawXzBwgE&L(ThxyS5|-nTutZiz7l(seB5;GX%5e5!`ROB)sj1sXF zv~(Cd8p4T)HI_^!=ZMHkmuQ8OGmAbTCg1VUR0c#c*53^QUp0v2!P!+-@hW#td<>^8 z1Q^~pdzS%k)b_Sj36p^ zW)ed~W;m;8R&BL`KQ!djQSewh%r}sNGIWD-hyyV)hL8iImZFIiUpE&>QLs+1)(nKC z#8vSmU?G<@?2_t=y_rETXf00jKtWNgu~;K$39IiZDh?!3G*MfNks-NeHKbgjny3sU z?26AP+9KH7d<1Y3NclD#J1k+6ZZ`Ot?1x;o-&EtFNyfJ}}nLlt``QKES@ zRE3DH$V+hvcK;d9@3w8)(zie%hO~v&BF@bkOimCKGgZ22f!3e4E5Y1RKP*q*k>p3f^!{VKf?HbZGH;SEH*!U;h7oeE$ChJ)}Spl!Tts00000 LNkvXXu0mjfQaPPH literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Momoi/textures/for_modeling/trim.png b/config/yosbr/config/figura/avatars/Momoi/textures/for_modeling/trim.png new file mode 100644 index 0000000000000000000000000000000000000000..0f74169823341663f74912d23b5615fd1adf7563 GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!3HE3&8=$zQqw$L978hhy}c30)u15YdU4vT zpqMW2Ld|zeW;|%MnY4ia;4XHyCYj7L^JnHVGcf#EJ?FFB#2_o>dET1oSEANutbKc` z^ZCEI*M8e^y%nuIb@f*&-zn|~uYe{qFgz<+Si53r*zdI;u2rA1Ni=bP(Y<4~bVZ-I zxZzR;`_%W}e=lqkH@J13UBf%p`u_v-`lOePr!Mz0e2`>M57Wq-(DL9E$QVyoKbLh* G2~7aLiB-M; literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Momoi/textures/for_modeling/trim_leggings.png b/config/yosbr/config/figura/avatars/Momoi/textures/for_modeling/trim_leggings.png new file mode 100644 index 0000000000000000000000000000000000000000..509e2440789e72a85fe37e34c45fdcdb87ccf18b GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!3HE3&8=$zQW>5ujv*P&Z?80RHYfvV0V-u+*wBCPx1{N@3a#HU-C1krE}gPFYi+sw=hu}7 z;*8{tgrEJH@%_xqP4CXzZBqUG^t+_6c%5{gTe~ HDWM4fe7ZSG literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Momoi/textures/gun.png b/config/yosbr/config/figura/avatars/Momoi/textures/gun.png new file mode 100644 index 0000000000000000000000000000000000000000..4ed49c69ab5ead317c7eb875a3545723a500a88e GIT binary patch literal 1348 zcmV-K1-tr*P)7*WCaB010qNS#tmY3ljhU3ljkVnw%H_000McNliru=L{DI0tJY;gEasE1kp)E zK~!ko?O8!+TtyiEX4#~)C@loiL!-5a(8DIwh(&uS8ZS~>X{;KgP2-_K6oS=4skgSC z#9L#*3JIhkEz+2##cK6nTgjowmPSbyLKKoFyV3^JHFc91vp61-+04$)y!X$0yYaEU zAC~uK=ASpi|IK{=H?wT+lW+Llo?gVGuLA%+=pVz46IuMdREfoS)1 zqH2q8Y6^FQB@lv+Wb;BzCaa6@3nT58taX*KhP^yY*8d$4TrQv5b(vE?()U+ao}86s ztdoS*$yn82$k%e0un`Fa`B`Ai>?>^i>0`%_C9n1)d9^>}86U}-sXO9i%Q~FyUCcRt zH#NbXzPfyN zgl?6|t4jvM7?jSn*%7k6u`pd;$vW1smkX&XWahc-CVc-GJ*cN{A7D=TB{X7=kahmK z>?Q!fv8GDwNZrT6)F>`b{D$dF2K(P`2PU)VK6Vka6La{eWf%`rzp^llMLbyx0AyR3 z8pS_G)gUNInn9O4I(HLeY=8zgnhaeOa2ps@I&)+|>j{!gvfY|YF{yCkAgBS<1ziRw=)u>@R{@6j=}y5Lw#M*e^YbJSc;f&#=ir>9bv#ZBHldGb zH_4we>5iDfi=z16;P&@i7H=80UQiLIprBi+8uWK<9|OBrT~X+1lzm9Lu2<=^Rn8`ks4&nWQ7< z97p&Wbd4PKOf{6-CAk_;>WKPV^I1=?G#gCJp~LMB~{hb zVkY?uiION+9C9E`r*NknBlq>Hv`qYOb+UG|BXwsS%QhxJsH&;8UX?m}(AAsz%DnIN zO{ajGB(iP{r#@Cd6zf2z+X=Q{{4eEesVqlFhO*7JcT0?Jx3q3lRVt}!O-0 z6x8YQ7Pc5SuU_kHr6u(?*G8&(rY7nl2}P)Pi-aKvhW!hf9CO~%juhYk0000v|lz50i}v49Y7IeaIo!65p<@s8QWUxluFA? zQN)f4l@Y24RGNYs6$k?32Vz@P6cL03aRvz{kN86J0?F+k`|iHGyLb2QzTM4xA^FW@ z?(Vtgp1tSXbI<+QyDtP1(07+p8IK*vcjl4C2OgvVQ1;M+#EYyTkQ4L+nDSp7ITG}v z(n8<{0956Vef~LKsT$|Wn}UGUCH?3E05s(Fg>q2E^=K&W_6K5V? zkH*FmcEzPA8&IMersJ$QjYLe!YKk0KMUhBYmldUej+Ub-X_ZDI*0qmB?8^#L6D_Hv zWh#SRSy5`B)ZtfDMmCWB8+@?{1# z_Q#I+QG^QzS@L%zP9hvB)$aY8umlD9Jb;^Yn3NYxNOm~6@8D%l#m*{B{4`43O*8Y5+h?WjC0o7NI z*7c{w@9!aYbiW{buJL(((HYWyGsIWiiBZxuWYC6CSjNMdScYo6aa=5j8X5~ z)%deGKVSDalLs7{vJCH^X@hZ;9dp4&m_Pa+H#!OxJv8GfEc@&r3OaV{pUdbD>ceOv zuzD64?w9RaBIMT$(3PuBXo~w4qrA8j$G$Mrhezc@q|w#g$ahL-G{$4cFXH8)xozj! zvlIYw*4C*RvnCKL`tqYEDF7V1X(9l%U&(@v8~HLiqjlY0g^;4y^3yf1QN{~E<2M-~ zXaqf)qzkPJ$f74hcMXr-1yc}|xv~t#@_Z1~B6NGZDH>-AL>8s_;b{Kodrb60GoHdF z8|Q-%V(U2%@7}4&UbbrqNPd1+c#O6o(v_R5MOZ%CGy0b^*Py(()I=}tSB%HT|6cka ztLU9+q%{iI(XG0WRrJm@2z_U}w}X&Zk5z{ogB(U@kmY9zz8D}~8Gaj~YsZJGS5{u` zSgz-Tl3omGEPLen6_mf`|3o~ZvL|EBnjx&f%kb<0USaeCR=J_K-R+1j;wi|#4ChV$ zp@~lB(3#0H8El>}YZ#tFRM=jJyn1WxDl)38(NH zmqg|1JKL$q2$}($wmiEJ0#@q^W4@mV)B{SR#c7r6&XFb12c@$(@eA2H@90AxvKhv; zx7)HJSt6O~J|hSS1B0xBRx>)joYi{Xu6!T*(1$*BH^|uQr&|WRtuL#|Jw$ zXn|{F*|qDuXykkLb-oYYH~&Ms<{!Gp=;%kZGDHK=uDHBGHyK_(0lm#J%@ zq-wA<*eU=}H^}@oXw}h;CPf%N*s+0xLL1Q8+2wdRvr;~lx6ZtR+tNTm05Z;65xPY+ z4jG@~p>-9VzGX_eC%V0Y~^ zNF>@FxvU#l8B|DT4x8gLc4}R~T{)cru9-L+d+XLAk!ZK#m*UhDn=l~RvPSHfc8Bi1 za{aSrCZ<5zF(7HdB4>tBnw#4wphosYq8*7uJ0g)hlS{MK+F7$208m`){FK+$2c{tZ zYsF~$vRRjI9ih^TDmZU5D&iD;5Zqs{#)19ylw2mBDl-sXQKmfefJh`yM{j9KXoiYJ z@=R+49&Gp=_v71z58g6iGRD95Zxem{tLq4Tubz@oL$p+;JAJQ#l2L;R-CIvdh05u^^tT2 zTf4r^^8%^$z^NxT0f06FF!z_qaRT~rQbBDc$SE*F-p}ozD}4I&Y06yQYIA~t_Y%9| z%?|?v31QesXC~NFK}6eI#z1EbgcViOEys3aT2ygER(k;9-5!8xI5g7OwXBQu6y)#| zAHL;{UclxG=Nc5z_%E9go=b)>x$(fu#_9%|Zw+I}8TbrC80HRU- zgiXdTfp%3fnnt56STDjb0{nw zmp4LLw{ocuRq44YkxJ-iix;bEi&j?9mrAZ;LMYN#=KiobCtk%H?>Dqn`3Q?x?jZyR(90V+wy@JYClGdl?ogaTdOFphpwSaV zd2ZmlqJEq&&~AKq|1U$YUk&ydAk!7dG(7h!+4%w)tj-t6;Pm~!41FHpRY2FlecpbJ z?vl%O_fB7UT79v??+Gx7me6dmbRuq|8P6Bk!`u6R(Mr&&^+mj%_X9-d3x4K80VUVJ7e^vx`FkTB z@OeKV6Xy#=Ei2kC6Y&FrAh`L(w{%VN%Z0zzXjc>f z@Z!IgN#(Qa&1)Xi=vn!_Ks+8tJZ_E=*@VCh5Rb=Enom%gPqNwwJ$@MU3S#W@Zt>*b z*P3V>o?C*cGZtdiQ|doone)>>XfzQ-d3O9xAd4jofxaF7)2{tNiuVP98DRLVX*jrM zy>^|g2+RO~nm8KwbJup5I%A>E<-NMU8w6&6`)l_ANE)Jck7FaS>+XW@2H+<_My1nf z*^?)a`cf||DC4fX%98-mD3A^^)dhT?2e8d*zV&79Z&aA?4nc#owIw{w13EfvzMAp@ z*WWZVt#WVgs&RHgL}Y*|)8+vHHm+YT6%e!mB9Zj|GhJR@#MwlMDa(T?F3K|^r0D-~ zqRe&O_HBN}7X*~UhYpyC6<3XSEMWME3P0=9?U1_3#7TGSx=8Kj6&XKT=O+SP4Ysu< zsMjFdW5Fw)%|?*U1kd#@5GZ;=7YKAe;K_LQ{CC-I$0LoYA8O>UdmXY}`M?6&BaL13 z-ZJ&)w)kte;NJtdfzv&~UcW2cXMmst^DdvR`*#O=y$AH6w}VWabT_Ttyn-0#{6<*u z^z^lX@B0CMoG;L1`SAWz~zzLkr^=0VwF`&-?nXW*l zk(K{z%niKm7i8Q3LBIc(!LtFpo-bJRXRkHzhF%{7dc6TWPbR#cFG%e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{03ZNKL_t(|+U&h)v~Af{9`?<( zo73I?-q%#Us#2+{RH~AYN_`}xm;o{f#4wmRB*8*Z;3PI?b7wa?zCyQjPFou%#-iQR|a_{K&vMFYr$WS^;nz|ptCIeAN%2N z1DF5;h#3q5fx!gm|8rFx=XD z=K%l$fCLf1oUKTuU}>m-4FAT*i?2llxOV<423M2;4-w9td=ez%;v11t|M;MRczyc` z#9jkC#CpcEAMoW7!uU$zS2n$S&=ouC>j4O4H>YL->DtM`*?`b*m*8wIt#$3HMb9RT z8QCO4KL+;9dx$|y$aYEgb;JOtn}giRE7&h^-m4xr*{q-bc5~V0J^CY_d0>47Gl3|3 zkDeCwYuVHIh9CM@Ggkt1)`b6K|Mc6DuD#wA*|$-_qM4`N4P=(mKlwCBcFQg__f_uZ z;HY0LPyQy_TW`qLo`m`emd+)r4I%)R16N)l8n_+r)>9DOYlD|b9&Vn0H>3z*)QbSp z$Bq7VY;~S1^9)Pxz2ooWsPQlWV3$}6ixM86TL_~Ui|-#kZUwK&35@!$)Ypde`m&oO z0Q>P5!SKNl=!s4A(8vUp2oeCXK${6nq!f}fPn0SS!N8vVvKCGT29%1~6=Vrzk)Sh3 z>m9as0-+_@nM$LN@@mA(Z+%OLxz{xKviP)z--vpypx6uC>#C&>D+ANm-hDeHRlxdW2Mc}f2f=88@TXSA~db-xZUi3u>M8o$Fgc4H*SP&Qj5mmqt=%a!jR{+`dyMR5o`6Ps&nb!?8><6Jfv* zv1f5yWl*F9maYIs3ICsb&%@yG9FncqDl-mdLNl$MyDMwLC{qkP_*!uL&&sbe?w6Rw z0LKxK6r0oCy|*H%>{-G;C~E^cNuSxI&%}^~bpW2i!{$4YJwUMZGh9DW|LwJ(8M1R^sqlljRQRR8 zfuy>lPjWrAB#PyXGp|@#`&#&g_Ovez1!W zJv8_T=lBTB0J9Pvku*z%pD94(@1stfo4#VdTBHj|GZ%gUXo?G92;Af%V_H39gx_(t z^Y3KRCvorH?y)hQkBA)yI_AO0|^PW+MKg2$+BK4+Z^T~v9SuWgdYI@pAUWO zRCBaY1u&8DfA<4G9HF=IIFevHJ^fjuHf&5TBE3GAX4H$4X>`sR1bv9;R;iK6Nx2!y z{ch=No%8R?&R?>o*VgPQMkSr6n9|Eurza^z=Cv<_DpgRWmi-H>013qVZw4xRg^L*` zCkT?`iA{eHq2fo_Nv>i$zJegWf_ndRsP~^nt^YYx;+IP2t?%6fFX@0%n9cqjF8oCa zV0#Y2-=_wSye$W7AOq4_r@tE$V^`)u$jmq{F#fI2=MEj)lpk;-Y4CU#)@jD}8PA+M z{RX0i^}p5?e<*<<2j% zJPl^&3XcWh=RW*FeBcLvc5Inkm;xC0^f$r}0KJ2^g2+<>1F6k5N>53!vINvbSiYA5 ztx`ZWn^1A`960V}AfdH(1CW>^8#_r9W@5fa_H(CJ05GuM`E0QvQU*n7 z-+j_?+q;N9dDg;OmKR71C@bMlA3M&ayDw62KJTO#IPC-{%$RB$wrqC&qL2hhDq11) z=D#E9x#$80jH}eW01i4q<(K-L+S=h}iE(4PEvkZV_27RR=B9U4H zp|bly#^meY0LfnAZ^n&B01@OPRM;h;8MhH6CljoWwmL|F{K|NzeSQwg@(Tcv=a2S6 z3buy=TBAbir>VvAKV1Y$Z3)rv^^Mrkf9-cfu_Y_H6&zjwV^|qOlAN3ZE$kPE|pZ z;R4JK2FR9dx>kTKwGk0KE&M`kcAT8HR$wdR2946A+;=C>-g10QGpcgiQpanMfoO9k|8Ht`36s_=fJ|#cy@N`OA-SXBvBrU z$|42!wX^IYIQe|ZsTe}m&X>yRUh6Xx`~6HFL>Npb{83MVriDKzFjb_PWwG!>#pjR2 zK4MXUU{)ump1s@R06rMZlnInACCuuQn2<9IasVF>occDr=VtNb@Pyp$65DwWoO+@r zoN8W^`Ta^m@KX&gFs$S(0tDw02v!jUEHeLX;Rk^3!Mk(@n03vT~) zso?Z?-|8Yu)?>f@?Bt-ILPauXGyiY6X;&`%#`mB6avXOeKdx>)fmnpr>7Hg=L4XnI zO(2O}DblXSO?F{AH&mNT5=spS<9w>;+nhoA0$eO_w#jd~1#BU{1Qihg2F-urD42qI zv#g90eYuhtauVBb(P6;y(>G54MU97)G-1(4y%3TZj>)Um!L1BS5Gk);ol(8DfpDa~5V{ zb68N$d}l|n*iPCY*iN=bgIEQQy0456dRGn{)Sslp$A9bp#ie^LqF%4V3#%YOs5WX~&qu9V zLCn6Y2@nFrfFF2DSS(k@>%CGsH~q~oa|>CljVhwU!Ki}`Jd_;6J#QP8=;k!2Zn@Qz z#45^?|42^(tQ6L>Ya#&(LQ5HUN|Ybas+`YhQc6$bfD=R{batJ4k3w4slJdT_3IEyV zKDqICcC$4J`GO-xalE-KJjrSGk&QAC0Yd6X0FXrm2yVg<@+rzz{y1x^lcDB;$8!gk zssQZMzjyIHAQ8eC{jkjD)SNaaCj)&5gcib|7Wt&P0A{W^O~_~iz{W#4L{2ZXOe`gy zDUsUsPgptc>J7c^*E$PNn>rZdsWLd~w)(5(W26vFjU1D_!fAruL!HA1~!MI5Q$ zWv>dBo^mlvu7EaiME?f-DRTXp#B{Nwe+G_G0}BVpKsCw65zFE^Otu98 z*BY?GD@H?R+4l;tl6sS*i$Fm8!aLJ~701MaJK6nC8$l3^cX|SliMyG5iTcJ4YPj72 za0>teeQgp#JPqLqkRTALtrApg5dA|`1A)McQL9xE+ZBo>5D$|-5N#UY{7HrjKbM?4 zIvJ=O_%HrmDMIvvjjT-Af`o<6_sEx7rNVCz7GemttOLpkc$yo4Y@Zm@pG^j;5-3|y zqz4n{>j!uM(r4t8h^^`4=&lY?7bnQ_QMf3g0d4)90T&?NdwqK9O9%+< zAEzh&fI?8O_nEX6pz(lQO}I%LCNR3jw6cUSH4~xzE*|vJ0M_9Zq=1sJJ}bfKcRKo1 z7nldFAWJhHTCE=L ztsc3Fl|F}YF@r+l(6yLNN5M*2l9ci!x&&2}JNd*a|B6PCpWXu8=O;R?0{iLXwp~<=W+nps=HOB9PD5W4o;Z*=Kx#gzp)s3 zg!{#C>me*)P@n8<@3GwV8!iQze#TfJ`cPum4KPaJTdZWDB4UuGS^$)EbbMYT(no)t zO;5Okq`I%o{#;Rw^;}=Fs-WYXUvFjDbdA5P7fxx~EN+_lb2;F|F|CwkAuT^EopC9L znzv_R#64xj#0YWlz~jnKKFKR{AJi2f-UAWfSL+}moV0tWG&az`{O7p$!WP0XOhLA| z--YifG8E4f16D(s>Cfchq;|=&`&>d70oH!A5)|j8W7eiWkkwhTn_6qE0Jg9Ib2?Lo z`ZE|!1FTu@rLbb}Hj#&m4V2XPS_cZJY(=U@At4Q17R3L}o^6_3hde-N=^QaC-ntA0 zU?&0n{ty0V2(Nvtd_(TOe$emMLZ6<}B%Ij0O~XPCB@3qurnDv7Tu_k04$NxJ%DLP= zJLjH^B2d@YK4~Hh>$uZd&51HD24i*lojzT6U{w>p!SB21|6>l}m>4xZX6k_?uigE}U z(}a~ohAbp!@&}}48K(LCMj?y@W8HWjS=UC+J!$vT!Zd_ap$NBxnDfu^u(hP6S^)m> zv!y;`vhivpemw(x7&<(t0701r2X#b%5Rwbpn4-#_UNnkZXf%t{WD|cIt;TDz9R7hy zuw21*ZeC9g4-r`5th;@%l|>j-YAI;fkAXh)Jk?*7KL5fk&GSPH!7-Z66VSc_eoR;Ynb#x%Hzi?T7y)!sdRk6hFQIT#Wiw z_K|Eqk_x}^XVL^3LR2^Qfw&9Afb6zl(1id;Fvvsv%1bJz z!Vkegh{KZ>{AvZ;dk0_w63+(-f#X&eVZ8>yjIdT$U>yyH@D$Q-xqFr$E{gK!L9mnGs~Uk3HCM{XHNliyKY!dO5hJZ z3WO!rOr-+6@2dfk^X0{o08pv(2>M+`Th?zwUVYJl*&5Jf02*bNwFXFd@Gic}G1qS} zVV|sYVGvqYa*eSLh2?t-%0NWrma-+RZd5=PBn?p^!?21zNH)yK+Vp2ale98ovrltM zz_22C~>;lr*Gh02s1B7n6TLNa7fBibA5598Y~(33D8mTMS?N60p7PKA-=4b)1nL zwHE{JCb+(th04rcAuFdON6YK-_fZ;o$bd%I-LMZZSgrw(&soS6MxL(RPC=9@u$}GC zG`kVnBCrWCQY(N~R{^kJcmEaw;nhC`ILWyL2at{XAZzCUD@#zBK$!&~0Q99qD3o69 z5I{0Q{p6|g1F(8u8ve_y3#)(x>|~F*n%V-Unc;b7EDBJR&f99^ZWttJkc5MEM1YL% z@1pl2zx?*8pDQfF0J$jTdL!hOK$awA@1jT$0#*c~O>(W`e1ed2ZMYb^T15qr2=_Ft zUHK@A92e2Mfq3&(NXSmX$zr*+lh46RvY2+KdI^$3gkVtI2buVEt~52O+za+Llv&4F zuAdK6rw#ZL>B2IEdM!nbwY`xf;5ZtYaIy5!@2}Cx>^w$;bEhV!FcK7p5kpEV=iguh zrWb`&8Jb?2Ys~Njfn`>j3_&0%4J*8kD6pkRcu=e4dM89Wl68<%RuCB*04P%)>9-S) zh1bkg0SsjVvb1Ax`~u2Qi~hk|kW}~JVkF8~5^>8BegLR-FK7N?5@p|No9WE(nx91t zpGANFEnpF*%&?LO+00zB%7#TYpWeR0L z__N2czDCw8GNeJt4dNVnkYmFp8(>@^7r;&e`rRM?Hs!Z4BfMIk4AeXSA3#Dl8rIxa zt@$*lge!koZaK$MX+FEG93TlAO5jOk1{(oh_d3Gn(}SC-8$%`u#572F?-ihTwcrI0 z2)5LM)*o0M$q7ScHQ4t`q#_CZe&%MZEGVeP=JuX@+DZmIi(<>7+>!>-6Lw;~U3zDc zblVMoq}?Y-xd!C43UMP%t5`OPmv1Q$h zz>Mh>0I1}j1fnA#KE%wrw-F8gD_NJ);d$jD!ZU*aDnwsuA(a3sp3eQ_910IYm2xJx zbW%cX^jMkoKw71$7?zb%A(7dywkzRwCsGm|lS^P?G82heQ;`?6Dzn+oXnZSdDK0=t zTmV9}^Ds;?LyD;8?((OVT{3EHY2oqkA8Q4cso8?ycVUT1zf7rQHq*-*qVllRPur#1K0Y}Ml z6o9n()a*u{Cd&?kSyN_WDmR~k?4A?~j%w6dQk6BtEr|A>KvF%gr&^|pfC%v74n$ns zVJE4aN74uYTph#RmjISjD_~lkIGqXQE`?FG0OX%$qR3IK84B-JAtqEYmZgFnq z2@v3PK3Z7|z*YpAWt7!LI~h&-hDgTnI#)}59PV|>0kyJPb@CxAy9(upRU^Vm5rnrt zSvr|f{eCoG`T}a>Flu*R1O}{#1%YKZZVaCO(+p*q*6mns99Pyfw+h4ZJly|?pi&vOjKsf}QB zV*cp!;Qe1a zL*b`#EN9xo#|u)zlL}D^v?*2|El6qDpHgtG3PRV$0PNadL*OS2;%{XcNz0^{I((?V zhxKV_+>s>TlAH&bh0Nn76E+MrxNZ8QxIe*4DF9ehTteqPJLC)&>x#hwyw1&`f;`Pg zHXa01Xf+(k^0mMM@M?(bm(uc%sCJ*i1z>_m>O`s6Dsu-+(@jvlv^-a0Tq|J~qbx!~ z0Z`MC5r6Xf3lijX3t}RxQxK=Ep%b&$H{N`l@N1vIoTnR+mkGOmS zx|KIs#8P%Mk4&>>or+pVhp5$RSdT?1m^qZ z0x+yRX~7MpAgdsDTrCj6KY4!Um(aWL9;l>HrNX7H#;q(sQ+SlpPq1n3DUrlUaVxSy zANeA{xo~Ie3yZ@6&f4hToXgjWpyC40aN|r?g01e-Yd8DQML{Cx0+=&Fx?X;k0Hn`r zNw%Sx;s=x_gpqD`;+78^;*-4h@5IL_>q|I^1+WkW;3NV4vv0R*sI#IB7gHgJ38;V1 zyVH_fuX7VJ=?wHouO5ANeAB;v3G4;P`VVBOy=v`@OCU1hZNyi|3KM(f>BfA`P1EB%J$mY37IVmzMVvrU$Qv^+BY?w7B&h;)V+6wMw@RzmT zc4@6JR9uGm(7HsYTQw1q+5w92?A}JcYmP1!I{G3+(zQG$56SLhmiHqqiZRuN$gVUb z)9;V6j&0^=qJDpT3t$?d^f!TE=k%c6U;R}o*)e@5G9Xn3f65)e8FNuS-$*h_FadM)59AT9 zE(n-LQBtta%#+L9YuHt?_(K>^uUS7}99bhRoEl>E!G7_Z3!KZ;^3I z>I^}!K-BMpC~HExvY_1C-s+bA1_4mhmc4y+au715B23=`k+M=}C7TFR7AbZ+3#x$h!1Qgi|F${WRPD4m?WHCBx&?`K z>g(7JD#xE5I59dWE!CW2Y6U=JpIoQ50_-Fm&&w+R9)BEo{p)~V_~oHZKfnxp^?Q}_ z_>F&8Ea+RCs#s`YTPbn(RpnqT@OQ8lpGww)oc(Gmh4j?ce!P&H%u{e?5f~re_Hm68 zkQS3LWz_U`c|q#?lhxcbcTf#B8{vr@r-ds3VbN>}i&(*S3(~nWR)Dq)x(@C_rB*=7 z7Mokdi~^j|AwrEalV57iL74)7`r9~09?o10O}8AsCHCR*WlF_r;|sG z-5p?OM+yFa`pxROPo>$cjCeoK=t|` zr6)?f@erg}0WpvyF$58W5RhIK2pU>Bkdra!+&txIkJ5E>2^NGyxR8Zfl%lXpxKy5a zW)%o{y<3IC4*1QBNK4Ws?`QaMW?buH&g={GvX7a7-xQ) znJCjh^_*p(Q`SHv-;~!55}MRt16sRaT@GWAsWF-23DU~n&j@97{|VDANPnMdXQzM9 z&YhVGH(53as5gq=d^UTk7lDZ2`{XbH+e;(&-V7!md9*_cA1r)lK16=$9BMB$`5h9d znB*c&@{yYVEI{#X_^mIN-bSa>L$zAP%8%`BpxJZ<*I)ufz~#%s&Hs6ia6bnMJ~y-h zX?oh{x(1E3K0V**tLyMPrs9vZ6xd%Msn-bTv5PMOfRvO=apM!kzvorJA{bB@&Am5U zU4^nsViLI~q#5dOA^{+Yp!v**GyDuS0@>Ke9^byLNIZ<$J`NY)s@-b!q6(8vaFHSi z3wrgCOQmHif+4s%Q=Zk=YCk6QV=Gh$yO2nb8!WI-dh6gar@oyBAP4Y?yam8`?}tY- z0WHr0DA5fg&FCRIg=7yT2Yb?Qz4Ea_W|V$Sr_<`*@uquTvi(|R{> zt2SmU5HH^%>*jb_bi=^#WLSy3>DZ;rD{_jm?axAK|5!UdFi#4?qYX)k-+1z!pj9nV+Ao zc3Zl=!NZK~#*%gu3;{g&AkgW6+HLioRxA5%DS<~{v&fyImCkH`vr?_=BGatE2Ll;_ zYzY^TZ(-)93S}w8X}HeH0+g16pEi~ut1&Gs#X~%h04H@*lC;~g2D7D=Ih(y-g$*Y? zN*8MZSb{+{#VpIQ>K4mBgQ^?qge?F9IqIF-^iPGql!8zPE&Q?xo7e!fCxeL3rn`N?66%fe!su(K1-DK4wMqOeXQq4M@fPJh$6rb zGD~B{X~oG8tV}w0BMtIy*d{u19k>TG2`dD2m~!O7N^qr60-eA#!?4yM#R4(`7si@M zb7nFH17^z&urm?ibhlbf1yBe;>6AtjmP*ZUH|S55x+{uCL(6F31Sax zFBpEU1VoVzS9(H!RURLR!JTUbcohRjpUc@On;=wHQ(Bna?7=t}mFe|?W@`|)2z)gs zK>!K^_1M>-p{bhjef2&f^>`d>Zw5o?VEaG_-89x<%2@{XY3=5c3>aZHF_7KdLuRf( z_Hi2AlZKSgo&(A}HwjfeYbs=sCJAL>NHA910?5r8Te0Vzb2%#M5^~RWtBW|wHCiN# z(n$mW5&&VL0m9weItI=N{1Bc#wS+H}&jmo_+kB;beuQM|czJAsfuv?t%$M)$@7P}@F#SW}b>+3QR z0UMn&DZ`1CPV9UqSqg_-vXTrF$Si=gOy0BtW4rv|tRw;fj_^+c3V!Aj&*0h%H(hhq zYzVvHCI6f~xl)3e@%l#}Ri(U!jZB{qM1W{C;8p7o{Ud}`LZ#uu^94Gs9z5aea^We< zbMMwsL`=$@@fCKu<+z2teu7kT6Eo<-xv{}Wi5z2&I%WG2>cGXNE&96BzDv{Hsu2|Z`^0%U~~C)|(z?ALez&CG~; zW1PTaYzW`;K%{%Z8%3K~*VI1&prH4bHLtHZ_hywe)MgM#FiC~$2-e9&2_PZ>5lpoq zdkf043;Y#V05eh=fMO?R1}>bNzy-+r@Gj@Bjn57C>lrK*GEo6LL|7$8mjNL&3m~!C zCLQC0Gf>u{#bfu!DJz*bhfdmUSidGUIQWe}Fn$uy!YzQ?-3q{j%}N3Y7569EM-nIS zeNS6lL)r;S0V!u=HcyNHYARY~DaIfH>{{F=HopZDkDg074hSOH1hu z4}fKL+iblqX>i6;or43jbX}yef0rsS%kOtgecK(#BixkZ{u{uw@+2WEPdOj)Jny2$VnZ$%QP~CFdr`epla6Ax2N1 z*il9!V^zJ9f>mr}6*mm)P)#Kpeqk0sKUe<`FgBwv0RZlM;3BH^ zDnKUn)&s{0!q89M0!6owAc5$BY0KsPj1QY=3-4`Kr{=Ogj?hVI% z)xz5oj%mfr84Axlw!dHOF0X*Uyvz!`J7M&WAa7;u%*d~+La&WWC7FVhfpla9)3EWV zJta5;?rgpa2{+bm1llI7G5iw^b0kYbLoiyfc`P_>f}_5J2N-~rbwIA*7a;t?j#SvW z0;{P2vI`{HhbOZNG~WiVl6Wxb$Hos6IWgc@=nt+!8!NucA_z0~x;W{Bds&V&_f%a) za`J-X6ZaEBP}>AIUj)^6;J@lk5b&%$X}6}!3ziPAkrqr-{!2EceI}p{$edN6tbvvh zSj!?vErYZ#rnV6B76G|?CfAfWEfJPe%W{0O>QTZphEfn~ zz-;lO+gp&LF&T^MU+5DkY9hJuG~zFP5@6}j&KVQjPNlWYYL%0ph3(R6y`nvA19@pp z0H?(|DaRkf$>kSBX&6t~nStqZ_U~m805H;|plNpW!lXcO1i>+?{qjbd+-nbM-@T7^ zvpw054v83qzJF&4mr0gcj}g-(tc}msNlv;R-);e@PGjZUla*%67Tp|DR^AQR32K)0 z0K%r}cLB~iiCJk4_5mi@q6X8~COMxyh%{x`?V-7%EwKlZP%F8BA58*_OY}+ zlUDO`=?SZ;0wCGK4lH?=Wcl#qMh2Wlx%sqYW`}oVsS03d5)d=Erz^~IY(FxJfwIoN zLO_Z-yxY&>c)IdQ1 z^1ZC;4tdIY;~HcF?>4f@>hv2-lr`57SL7t(|Osql@ndPh(xf7LeeD?zYqICk$%BYPKMRk@O9~G}%T8BUYO9Wr@ zegIz9WCrYZ8Y-phV;vDNu7?FGTKxZ6f)H7Nqjf#{JsFTVT>fcD*4siXfMH=hME$XZ zp9nZP?hf-mCKCRcf`H8B2zOa}*4o;QtcIENo(m>}nS4_NQX8rQJ% z7-?>S$p+K}Aa>jEeCjVvfBG-Z1t_cT8&wf#eJ)8@HB=lm#xTpmHSP?JN7b5A>iWd5GY>QnRhBuGoJouZ7#-82A|KjI!9&w) zAjdeA3Vg0=iTI2t0ITQ%ED=Qsg3upmFpl%xp-F&PjN`6#PUYi;ns^4ng3~HniBmeQ-je8FKR#EG!aP~gpdU=5>Leius8)! zAebyAK!k2DhF@`c_~`tXt2w*=Ngz?CbrSc=lYk}^Vj`LxNL*#mP6&_)Cte3Gu{6$v z!dO-mC#>jt0$>BI2|=KniP+MwIt(!=*Hd1-rmz4zgqJlLHMoEQ2!;MVLFT_%WFqYn zbatA9VrV-l+I)@fo=Ons-jp?C?6d*#DFCO>pRZIZYZ?zC)q`LXJcSwD@7>+gR;f7L zdz3H0(H(@{EMc2yfE-023L*p<-(M#5%9vvdm@Mmhbp|W|+xK?r07!sp=hefk5z(snV#{Cc<+#j&$zFouL3sSE(9hT>f@6j&j(X6CKF4 zB5Obu3c285zG~L`3}qytZZ;xgUo2SxjN1+@|F&vf3!?}i_TQ=+DC*fT@mmIvG_MVU zc2g<DA06Y8v(yAWJumT!j75b_V{Y-j|<0b(u+yWRD$ER>tZ6donx9QV){4(Ux7s^rl z3H^EhPOAertLAjQKG_FsqEX7>GK*5GLZA+r`uq;HD4U)^0P8~eZx#b^FMX&;^KBtI_dKVbR)+LzB7 zg|bU3nhHK;Da0d<&EZ;caYrFbP=Vk@{TM;x5>h9~@UUqoh;Kdx$auUQfD(=EOvp6f z(d(~;Z{?lylKqh|(CLnFTUbRE#;_o&l?v>PKidw-KT7k6hz8Dg8xKse0H;kj(&|K8 zV+e~)STJGtlxNve6M>ik*?1HpsHwLIi+@R~`49(B007!A{ULytPrpHkR)Y*=Jx(`z zU7VU>#0D;X9*;*NtXLm;ed}%6wzrZ9~J_xv0K(jE$m-DMZ#j5tt{BzTEl=UIQ zntap{cDNA&LrI?P<%acGSXP8xPOSc${rWzgeir7h07`5831agR)V4NUy9fE&DODUj zKnH$?QFLlF*7Cbj3o<^Lifo@KypeNzH1+$5zK z1N3a8e#|-mzysu7#+oo>qN3Ew$+84@iP8?(e2OHCxhnvU`EUU;_*&=qs50PgkT*4T#so-x9c_tB2N8$Cdy8GHc@`(%^)2TAmXegAXK|@ z`+Y9Cr&}bHJ)1cpr?CKLA`L^6fTI3@e)3-RF7;9rAqYaH!L$Xyj>Drq8OPDg)^IBS zpV$5W)&p7IK|XxP?3ns&SqDUHh5s^az~&NWtImIe7)^Fg{KOrBnAZwm#Ri|8Ea!*&eU+C| zglk!;`F49hNywA=D&lZvoit>>WZHjgaTlKLXCU9zxY$j=autA`1oX$>b#KmY5unX` ztqae5eX`oGq*j2KJ=R;TR@V}A<~0B>O#wvDJ%e~ewIt7=;R|o?z<={Q1_XXjz{(~Z z-kqApIPDf^0f-RZrS~{0QwS@KLga2mldZ7;+Rf(77QeP^1+dOSJhOvXg5wz6Zp~c* zP_?Q{ee>={COog z!Rs_11wg2fNXb-g<;|5T+kr1s0mw9sk)0mvN*EbZavI?zed^my+Rg2?4{x1*@u29H zC`mHsDjvekU#Y0cUd6#rAUOv0E$9vQ1>3jZbpw z-94NMC`(|-s+-jFNutz)uYb0JLu2oS7CMyMW3F(yT$dC55oK)f(!e6h6JN zQR<%DmAFN`IK^YgM%k)4*Z`wxx)JIBe$$7iV**-;1t4tJQ%ey@FuX9ZP!2eF0Gm#S z!sJ+Uru~O(*pb&mV)8_wSuboqTD^^3qLfM#Zpv^AA(YZ!9$U$rF+X6jzr?wcpp0!K z6`PfE0qi88Km3s=9f3E7zRb}cX~}dZ*MtI%=IECB!V^ORv~&eI0vK2&;;h|riUFuLM{%4$ z_#R+U97|#O{z6#>{Z41{jaD+Mm2fSHXJrr-;}%4qA=#W^^s2gAsYmtRZj#W-PV{j`cE0%(bmDa0yBnP4I%+q z6niBaY1S3$q-7_(tQEk@jj?x7x4jJe-}L@S*@rVYjj%zd-%qEKh@nY9nhiCx>~%u} zc71c(3IJ>_bY%s!jt+-iz$6!o%Cb7juE%;zshvoJf227E4V4%Hc;AQqRr=Oxl7QxG z0q8U)Nd#e1aglXMRX{&m{y#Y>!%E39;%;}m-x@KzHK4a1g(rJST6HDN_KTEDaRFF& z8YasPFr9{G6$hP}0vJpJ;;iwZ-M*L!NfJQ_50V6g)gndO7=Y9YVn$}Om_qnfq0)NX z*}i>AdT+bqx^8mu^#>`-xFz&d&`x~tJRE93Rp7;uhv)^o%?cmAu08o$+8Y+^WF2=;ks0jv>Bfg zrEByu?)MRdp(^^bvwp2PmU`0rt>#dFpL8h469NyPzW@;M%#|zIX3>hkUjbgvHMi&) z9dbzufZ(tP+XgbNaw3qTJ+>~Lk!Apb2=%RPEt{P2f*|X4rb&U2n4||=dh*td{@e3B zctREXy!O(4Q!MfVe7pshldi`ZADnAHZZ##H)tHL{VA6fjw13am-K3$6g7(NF*C2sd zA|6uv?pTMX)rf1d&bv>(#;wd`US0@S<7g@xFmw5z7Y0C9n={V*7^@qq>8NUB8j`X< zBp6Y@UrY#EU{8}c12yWj_5sf1=ysO$!}e*Z?P;2A9h5&O@y}d-P?oo2%znvWA>7_- ztX%|4Gj*CL6a41t*ZRq@{1l-`q;sbNmEx#vb{ynX(4`jKV7bpf|r8Mp;c?gyil_@D>UW5UVna^s` zNt@R1`|$Mbz~*iNq@-SH$}($<-6Atgn=4vxWODj~p4_-G_Age#GgRs;1Za0Ry-&V* ztJud(GeEdNClExfTJ9c|B(882onZ~I92<|4C4sjVdA6ikd;c?308SFn|L~+TpD}hYWP=*d3Ub|Z8@1I3GnUOdfnKn1FKQ}gtKhtcgGSs5iTAks7 zQj)|}mfSQH5L*@r=c8|7YS%HYhF!BxN1d<1RXAz0B z1#0pVm6;{{RwJ#M5P{4W14z+I9nUxJKU)X^W%pNKw|K`K9)VM^lYs(2QqYo|JYF7&izK*>b!ONPV7?XroFeATvIn8xYN5Wd zrDK{%y8|(2O28+elk|~{sQ`jACQ#!1Ioy?_tOL>BZia113Hjnn3tEUVlzdoG@0&*+ z?l?*SR;`S-2(WAgFf0kkVff9d1u(FE;i9S)fT?q4q-6t^55R0yV3idD83o|2dfmPP z#n$6&DlLBGF{>(vGp+z3tb>k5L{d(H0~o>AKlQ#3%_a$Gel9>EP(iNA&&G6Dz=lT* z0>jt*XGjV#fD#4ZuTy1LPvzBCJS^MmPqwFv_L#jt=UGffvugx0a|K{00e#{}pR_cW zX#++DrhsJ<=&Zp=GlIl=rrZ5KWLW}A&H(YfyNtPqd9}#}7(l(Uc5hBKg#-p6GGRal z5*l?0lV8Mam5K#gNM|>2W*M+ds{#$?7qO}l05KA+A=*vrM_P+!XupNR`*C>fDk_Zz07h&q1mdh8IsqVo z>(4(w2(%2-zWKO4^K5e_Pc<#pj0C}20gOIH)}zcN;8j)t`h1sU%oWyPU{?6^ssHb{ z(bhfW?MyxsS#-Mh7~v;MlYQ8F&Wxa11yw2~3aQ}fC@S}%=K!ur?yYz4Dvf1Qd`&3u zBL8^CtWtBaoduhmWlAqx!o>ayYTHK$-6(Lg)CDL@JSj^XX03E=dNF2jzhC~D^%xx6 zwY$q^VMedpMWr@}`?eBmlq}JzD*)XE$Vvr}#vNdZ&e75A7hslOly@bFK$Qyq;1i#~ z5B={yjcOR;{!16Z%=jB`dLte>e-6S^)`#bL@B$y3n;UrKo(mufQU?euXJ)-ov%As) z!FO3h6=KHySFWJ9xrti`=Vs=o3oSf(OJJ!AU=$TtCP{fbfFbSr>rsC21Xe*11S748 zQ!g?R4m63!;SE)X|Lec=`(<+kXfscco z-9jbg+#3N{aRqSqp%yBQy?T5b=er#op1Xi#hUw`-Xu}l1`#GP+}0-Os5knLL1 z7=S+gL1FJwzo?EI*zH(d(m9ttj%9S+hj0;1E<@Z3SR84)Fo*BN5#DeH?u0 zWn8;(5vZQhB{1f{)QN_3fGtj?0PHNlzxdH7oz5kWQqTrL=l1a_v714qP&wnid92%{ z#Zin_%MF1&D6&lN_ub6&p#iJ&~tdz0!_rDW ztGTx0PwN5{jB2Ziy?zg!y#w^700`6Qv7B22j~OZelf}aXH~tT;41k;0uFd=gDwWDz zx8Z^?7=0*~^-`=>fNE~eZZ>D?MG(!2CM56Gk{6;5C(YLBM(FPVcHmufrVp2VuIiEk_5Z2 zTtRDl7sorhr7nTah<9*+mBs+l1z@DyWyTojOV!?(4G1`+6O61B;q{nu^y8&R5zRX8 z?z$X;$A_vU{9pg-Zxp(X%#3zFa{hkJ!w=%0{e$m9BMjAMEaHj~Vy4Ybgq-lZ7-$?F zBItE-xPJ~@;KnjC;ZL1tv1A1>ED4B_QGhEdbK@ z2S(`=5jJvw=H-{KD1|VDBt}tpl_csUvb=p-Q5rjdU`kLi>~wJ9^E4 zvQUq{_WNg>1Tvg&jqJ51oSUyFKwf1+*YtEQ z$E8=UqP4k&IE8B$7YZ*8uu{CxbWr?6RFUgq9gAA1zldEr7t1OL3d`Ol2*{=uYX9U8~Cv3>PQ z8d79q@(U9M7%B&}a0O5_IY#Ks)x;8M$6qNEM4j21o3x;_@TY$97qP#&u@VAy`{oJW z_rCY8tOEGd=buKf#A2Y`t*wP}L{k1>BSI9%INm=f^zDa@dasLfFTaSe)zsguPJW(& zl`&TZz_#CSv3W_;{+lp1$NyNjYWaYRumHp=MF5DvYZl~{8KMA8Y&4r_)f>3^z^l=p zFjbw2uy_3xY@8e`-(S$|n*q#P0g$o%k#z-*bdidQ;kGQ2Pda5K;5hEVdaTDnAcF!0 zAd(o3lVij(!L5t;qI>E7iEP!*);5}(TiOC(Wo3vJRsco~q)k6fJ^+jo06NE~;{hn@ z6Ii_q(|~7s{4;<~e=Wsx7@J3j@cMl~2pokW4lmvV9>ZFVDis{S%fq*m2 z1JJC#0D7z_!R#i6(TGq9O<~H<+Sj{s{W>mRyM{1V%l*ikoHqCit7(PjJ+$D;dhEVJ4?^Q(YXs& zYB7TZWto60s{qnQpt=f>4ZEkJ1`_~|u3VYQ-yJq8CfQ>~ZUPbEfBc!B9eDmD|NO`C zwlDv3eCOZ$&Vkq3?KXb(SAG?NKNwfOdi4rE{zreBPLdynX~E>Q9bQ+x_=%RRP2{Nk zFk=A4>z8M@Zg<*f^|}yx&7@3l{i*BDy?3}pgJ zQl zHV2GqbyM@*?^Eq2I|=Boe)P%oVj~HF7?R29X6oc!&xi_)nNgo%!if+9|HXg*!)WAd z<>wT0EBe+~fBjeC;GTO*Kl2N}{!6%hcni$Du7OyQAx4C^nFyPQw{Y{Gdk2-elsMem zFWDb@hX@|31n86-;ndIqleMKa`k!_KGOWOHoSOTy+P2;tPMM9`{4&_uw~t5rawC+D zloGqU+p`n?6(|Hc>w_z!_e{|14kZm4?pIT$4CbN0X7xp}&iS{`H?!ZPC>rkX&nhoq zg~tmY{|nFzlorjhF~ph*?9`*Vy*<|Zc3-(Vv5nZ%r|3L^)tNe!nH;+p9QAr50l$eY z03lW;5hx7SO+x^nTCd|L{^y^}grnKSKl#4@u26x?J0zVk3ajWf8mP2d!}n_xA&B~j z#@s7D5q6o-#{80iW~u;u0%9)kb9J8ZtVtR?&s&J~8bza1m={@*D5!*TX_|4*Zm|o{ zkAZH9$$H!YqNEVb5C;c1Zxt$?KYt!S_kaC7{@^1&39{+~2*5MfuUXBP7_a-L_k)=c zMSXn#Km0ya>eYeGw0nMU=vn0k&BS{~UW< zo>~Er_ED%n36Spg8Fjidw*bTf7P`~w;Cuhue>_@wEojdX5uW+N(|GjJM`pQy3!GNJ zoN;)w=G-`Ybu|IK9#DY5vy^K7tT|)=uRb{MxOi`P;~Ua>{*90RcHzDM>aYAtfq)Z! z|KI-}UVi>1y!z6;1Il<2>_Bl4Ag)vqblnhc;```sY~o~RcjE7qtQ>SMW_@2B1;94- zPl;s6S>`e74d8j+OtpPfN&+$Zv!D9)-^A;_<|_*~TQ~vtn-~$|V`gk^tp+dQz?flz zQd$4VZ}`SZq+`_0w7w^Hj=bu&k zU3h41@1VW41wQ2-o%h+|kGUX2#el2|z<_{=T@J&Ro%J*$z;D(Q^U0^5p8B+iT5bIC zPyBS@rrmkuL3J8jJ4OQyN3XPz`Hdt5_8+_-Ji^>NIM`b;$)CYWoYI9dxfUb@E?>Xy zy!PZj`B1tyzxUg|74LlG6Y~JQAUzNLdIQ~!4RotD$QihW0)Q02`@VlZNkB7l0jvjF z5x4}VjQEs10EH*(tP?(HcALRATW>%6A_#;A8W1@&XA_&&&x^6F4S$sqfo5cZJ@$9r zKQ~j|PD+}0n)0EJ_4ADQ1|=}}M4*Y)l*0t{ktfsB%qsoY;lC`7*=e;$`nHn}?~GA_ z&0_Nrtrl|r%rno8e9!G`uZ*l`Ulfb)nd=}W2}1BNxuJzCfFjf1mUqrM&jP^hYgeb) z?L%K)m6X_CtA+N}>u1H-p6N*9(I?$=AN$j(Dm`aC;v~U4pLpVIDF87yHt^Xf0L$`E z&3|JB_;z#L85aUE^Xy%Kf>EhfMoS%I{;Q_l}Z7=bl(FC<(G2l*Fr@2g@5yZ zkAND)8Iyl5EEroU44~{}B0^dTcy#&lTo!!ZCi*x1C;t(G8TNS}sz=5UqHsaiGOmU8 zrQiND9Dnf&STZhr#S?`otG&aMgOh^Yz+rM=F{)u1yC7j>fgve!K6y-E9hUaUG zaXhUtw9TbU_pA(%MF2Y2k52zRLck0BwXBy)*NVFUdHz4LwE%#AyLBpIF52+(2!-YS z!~g0({$^l%YaqcTe?1`xZ+rLK@$w5V_4jzS3O4rl z&K^R)FdP8ORRH5L0dd|QNJn>s0+?njGXgN6u&!Q1r4r)dM<2o?uYI`iGtWNt5~ALq zuq3@6V$GGvXG{aI;J97_($LNts|4HR#EuB`uqRS^zT_G0iE6guq_ma7AR|F z5Zjz-zNY~KRvkmlbLRBzN9r}AEEheBvyJBa0I7@SqTB)^P#I7r1TZPT{}_COeEVdm zwE_TM5P%ChJNjXWip~Y9*XpQfS}_JAE+Cp9tPX>3oWzilhw7w7Du63rx`N6OK8O1* zTwEDtH11eLY-J(^;4lGwY5K$6Jeg2g4mIz;1?l7TRT`x6QY5vT}U zV+LOJz>@rHDkK@Dq_;Agv%(%c&HcCv?oXn!^TJWoF#`NMZ>& z&PjR31c6APvF{REMxBmx8zLYaoIi(~*KXkW=(zCwc*D1R(>elBdOFkUDgYDfXARmB zt7;(5UIZl2KDs^pdqx3s1)Jk6SpadAKqj*|DU+4I*C5Azu(?;qxl22^bl<&&@9%cH z5JD8D=<*y`q|TOx1>^!i%c&Irr=5T@foHoiNGpU^t^>*}hUa-Ju||A!8;}y~QLMKQ z?j4?%Tdh^$S8Jv0Lxsd3VDt-s-dYfp(xu;j{v0lyKYs=-fE9KDltg|@godk4h3qT1!rHKI9p9%~}qP`<6!xu0bdD@y0`u^&sbZ`+^LfE~(*aY3V z?;LRM+}dZDx5+Z=Wgf!%Lo?`DMd4y9KgU)8b`sDhKk}r>{09?fZhtBO$`)ufo0eHW z8{~f75^FU^@2EYC#awqLnob60HfvKm()mE2l6%sn!0Ny40#5!#H-B7@ zQvdMu8@W+e>D}wGv@zA}n+$NWX@J-O!@C%}Z8%wHw*zq`l`!qswm%5V$Q z|FGH!=1#&niL&BW8wi4dd3^f^Kd`#e`D>qFO$9*dBq|r6Xqz&CUS|q3aRgQn_9CFR zA`8^--<`tGjMsksTL+$(QG!>VepxAidI)M%vwhNP&o6tfHD<+W6yfdP`R(gt|FjAq z-IK&FEjTzM1tHbbe&A!HLVzP;{NbWZ#)JJ;61mk<0+B4d9N~Mo`1)5Be`cp3tU4=- zvn$s|Dwnn3&sqWG8UolkK<1_6S6-RTRa)7Cl?9=rXdVLf&1_?lx85zO`9DQYLXm(j z0MK0v{=5``CH(dyLj{&dM&DG~jaulDsj_74nFTSs${08qlI#*zfRF}Dwn(VPZc>hS zXjdv{udw8dr0A}N{}c*fSQ1druKhPGpcXrbgqDHRXnG#pXhgI+)Xx2$y4?Z8K2S~!1iHXfh{&#oR!e27%u=~7{fM#F;GB<1?Rg z{7uq|!x$%bUQ$p_n4_NhCkUv7V;;p`R*S)ME&OASH@<^*ThY3K_>hk^t>4Bm-YOc?ldSWwKkXYs*<#6P^&buswsu5Ic>PI#?&mqDGMiA*g3W}tR(4$MHe*M%Ph*uU>SbektY zwSoX{>8B6^o12?>Mdt)Cb9$(y%|VE8TgQJ{5FiNkS@o!|gcjrR3apa1VlAzh)ip6I zuxFV=N_9Z2$6^#f*81BByh{mgUQd!NjkmG0t=xltAFqAqJF#>A9LO@|i^j(0CWPlB zL4NAL%Eu`eS^JEITc91dg(KM@Pkih#A)jm<^gp;L5FXcgQ}SnSo0O%Q=({RzkE~Y=l_v zDsnr-=I50eIMMT3sRDke-Ahs6a<0b;Spepwr?h#Y03gXO2V}HwA7lIcIo$uc*Wu`; z7pA(nt^K_$nTQDcuX`!bdHbFx-~ndnAXwl zLU|IEaBPLK;2pb^U-f(s_dKE6lD+(APvhL<_ZPcW)k<2e=g3m0kJ~R@2MK}3!S?Xm zShef{#yBoib{G;iHP_v9EXB_4nL@uf`KPyf(AoeBeZ$KQK$ zDcAe)-~G)orF%l9M!=1yi(Mq)dxiJ_o7cwpts;(wrH-4&SdTd>04E9PBTs4mt=*aGObTWB2~BJOpu9;-LPMiuwIf<{;@*^vCz3=#{uPuB&9~~fn1?vD-WULc_))v6X@z_0=&h`zg61Fix3->!^Oq%C^ z))Iuog6SY#5=U10&7wehh(`!fV#h*qhnY~rNTMyuO_ymt@S+br?v3&yRJ^#)ia z7r@p=|Mnle=ZxN=r_kjyG9I}1L3CP8gd#-enNl8ixj|3im=s^W`Rw@W`sne%5@)*EQEU?v=s3kyra)QHF6VLVg==A#; zUVr@mw|8#OZCzCu|Lt>*bab;M+wmoi)23;gCQVXG=_On`+{zsWro*K#Wf*37=5Of> z%y1bBC4~oCV0fXWoiY^41WMC5Q}>ppP2(tbEZ==3o$Kb|*s^R(v1D1YWbg0ABhS&% zwsqFGzP0vRYZs~$K-FXk4Si3ojQ=~ay;rn|>G!+>csm_u^x#O>taos9^rqfD8r{12 zW!bWDeGjWpq);eg=sJGjW7{@~sEKKs_`XlF;w0mU5y6Z^LehxG%0wZh#1P>~x0EAE zIswV$5>Clsc6o_hv4FpEY}+c93SqO3p+>5Ar2^QNcc|fAc8b6ny?@2YgP4A892D0L_JnYo*sT|hOwP|?+crWh5Hn5s zdwV%_V1&%@2!Vj5rDZ0rUBh)?U+lkybZP z^-%<%P(}F&GU+Ts!=so*8>48m_|hv(j*Vj@t3aBMs5A&~*T?_ruI^K)|`C64Ry$)UsQi&F%k zu-#B27C>tFAiaT3W^M`Ry(#R!zs5w=VDY|_aAX9|y$Z#`x>(&R+D!PfEH5vYjlQOL zHlxs=g(a)5d5A*5U{8i1X0B0F#jQt=K%r0|stdS2t-eS_01A!3j3vkjgT5oTk?hIf zmTXGJBA0@ILR3RuxB!JB+)Se zAUD+##p7{eC0oh<-6jB41k?r6e&u+y{(*xG9UR5b4FV~dot@=s?rq$X9gb*Q#j)Gq z{CGHj&(PuaTjAnc;p>e9P3t9qWTK%p>&sS{J5abO+Fb+)L0Tj_}hrm?LS6veVRI<^tkKcz3WYu|c3N4K3V=)GX2I=kVqbHrlvMlE3=ea&P zwa(~oD&3RG@Tcd627BrRTzq>|kAY@JkwLI_@XE~>7v=$K#q2^5I1XN689RRi={jf$ z1MQZbN%A#Q1k`HTU#l;mnR|*BZkHJKKac?ewV&G#!#86wj-5D;VHgM@$mjEXaODbq z#R)hKJrjLdm|Fnb4wHC&neeq$D9d@#=m96anN0-X+a-_^>&oQ~Pq2o3{|X!)RYN?w zMFDJtTe2}5jQte0;X%gVKnTIB=U)Th%$YOIG78*#5?*=*UOoq3dj#$|0slA`s)7m> zb5q1ehU&X-+yq@mx-QQAEbja)fm=Hykn{76`-gD7`UWpHWMR%w0!} zR&USNs-5_>L)fise>dzPG?oNZiMf{J?)yK69toxY!omX6)6>lpz-kAfl(4u2>7KRf z=%r;yCD*=U&qvf#x+@`a%VA1m7wZjVaX-Au(n_BJK!1Nf%S%hV`262E-QQ2JGWqA0 z;bC;4kx3>uex!N^cas2I+r~6@HVkOAR(_{<2io;H_2R_IyUFMCEG#ULPNylAO5y3q z%}8e{!ySM>KL_&*(366%d=~!lLP!V|1kljvy>trElR_?AbzQD4EYhD&hvmXRP$=-s z*|W?qEb_snOEtfTlH=gGE?<7&L3&du?pJoZO9}w+92X-RQUAFX;oW!NT}M92WRj_= zDTarKo29yN-~YcC;Fh(HL(ZLtN58t_StWLUme}y%mY&vg96%y6>8%OC&=ICd7KIj|KiDCv#_+ZB|*nclelT}?>EN*sAq><75Ows0QDCEDGAm}Z2TG$i3C@!Txp&F z%qR@>!}XQJR!tMKJutU`3<3hrL&^Z7H(hoETPigpzNZA$_8u7{zf>9!3*2zq*Y@O>X$Z*m*iC*>w=9fglEC)?x$?8d19ZnxoYyac>w>Nm`RF}}cpT%%t?Oq9RvQ1W zf5YSrRrkM&-P!@DNdOy*fHtC==hk&21_lP2CIA@(Ff@RW5@}fko=foXgBX8$Zc|Z^ z1U#qy+I-{0T^J+7XqCyzDkl{Cmc^4l|0T0?bKCwqo_+qWP5m!BP4;hP{G!D@)7#q9 z3*$e9wz0HfFgZE7op^%4_wXDW-*dx*T_O=g?#7x&jzrKdU0FA$Pt-ZULrRGRqNh); zH~uP^%w6YaKl$mljb8%2nT&cEb~^+pdy^((+e(Ss4*dOv7pwmMGmm_}rR&;>-2}rh zupo}R%R*lg565D@qQG6=_o zMao@%wUN6z!82!{rc^989R9>&F+P6#F+Tgl$2mASw5N=3H>H151ki0U^j^To$Ox8Y zk=(F1UiS2XA5QJrf^g*UAiQ}A=EDS>92tgp-ba7=KlqxY`^+I&)mc{o_+dvbs4_|0?(r_7Uvs3_&&#u9plau$FT|p^3&5?`8fp8 z000ApNkl~y1K&sXW*`Uj6IsWj} zZ?Q|YX9omQ;yDh-Z#&8-zw`xez5OW1Po2VX9B$mW!PwZ?o^wi_V*GV0fNmy%je{|} z8KqJQ-*uV`E2PB##C_=JUPstAQr8L2d=%}!V+hAZ#`RU^B#=Iau9G#Qqz@e=)7Q)V z>@3qWGsxw|b?eYHtvoj{jQMl?{#Q@p*wynzrf!fO9^{ex9^k=meVuGJi|2VvPEImD zKE7w$!8^(L8wvrsl>`!r#GWW!5JC`*Mk(1gX0zL{D_&lE^Fl7A2q0Gnt=WM|Z^pk%|$JbdJMc?)rs0IprV${(Np{W{q{ zJbH+4e)l^J^rT7kWto}Ilb@YqX=$-`j;4?U>jOCO5Qr63Vx;!G@wc-GDEy|Y5I{W( zzWl_GYADRknzMiO$3NfJ-_h!I)xuWmRoL6uNC0iG1L#z#qM)$fAlk5nrJDN{6!tOH zSa5}o#N{XIn=^3q$EWMMe)YO~KWC?|?{p{yprD`>fPzA2qEXMfmFM257+Q7xz9oQG zPuOW!X>X(JRoQ+8r2rHZTAT~m%ERtdOy6py(lI#zbsU(2LT8||20*k)>M8}GurG4} z?NSCEuK?5|rl7EYp$I@hp~K{VJ7EYR#CGxkwX)c?YU^7a((H6reW%u|vi%C%c=p;h z#YQOr1%(~J9^`R*v|cT z)AO%W02^7S6BeeRu%A5tZg_vFI0~{_B5*rOV5bIbG|tf5OSZLoy($T)(5c41jsSL& z1QZk$I^Xy=5r85A1%>t*{%#w8RRX9*0*Vk66n4hwJH_~G5= 2 then + if direction < 0 then + self.selectingCostume = self.selectingCostume == #self.parent.costume.costumeList and 1 or self.selectingCostume + 1 + else + self.selectingCostume = self.selectingCostume == 1 and #self.parent.costume.costumeList or self.selectingCostume - 1 + end + self:refreshCostumeChangeActionTitle() + else + print(self.parent.locale:getLocale("action_wheel.main.action_1.unavailable")) + end + end):setOnLeftClick(function() + if #self.parent.costume.costumeList >= 2 then + self.selectingCostume = self.parent.costume.currentCostume + self:refreshCostumeChangeActionTitle() + end + end):setOnRightClick(function() + if #self.parent.costume.costumeList >= 2 then + self.selectingCostume = 1 + self:refreshCostumeChangeActionTitle() + end + end) + + if #self.parent.costume.costumeList >= 2 then + local action = self.mainPage:getAction(1) + action:setColor(0.78, 0.78, 0.78) + action:setHoverColor(1, 1, 1) + else + local action = self.mainPage:getAction(1) + action:setColor(0.16, 0.16, 0.16) + action:setHoverColor(1, 0.33, 0.33) + end + + --アクション2. 表示名の変更 + self.mainPage:newAction(2):setItem(self.parent.compatibilityUtils:checkItem("minecraft:name_tag")):setColor(0.78, 0.78, 0.78):setHoverColor(1, 1, 1):setOnScroll(function(direction) + if direction < 0 then + self.selectingName = self.selectingName == 6 and 1 or self.selectingName + 1 + else + self.selectingName = self.selectingName == 1 and 6 or self.selectingName - 1 + end + self:refreshNameChangeActionTitle() + end):setOnLeftClick(function() + self.selectingShouldShowClubName = not self.selectingShouldShowClubName + self:refreshNameChangeActionTitle() + end):setOnRightClick(function() + self.selectingName = 1 + self.selectingShouldShowClubName = false + self:refreshNameChangeActionTitle() + end) + + --アクション3. 防具の表示 + self.mainPage:newAction(3):setItem(self.parent.compatibilityUtils:checkItem("minecraft:iron_chestplate")):setColor(0.67, 0, 0):setHoverColor(1, 0.33, 0.33):setToggleColor(0, 0.67, 0):setOnToggle(function (_, action) + pings.actionWheelSetArmorVisible(true) + action:setHoverColor(0.33, 1, 0.33) + self.parent.config:saveConfig("PRIVATE", "showArmor", true) + end):setOnUntoggle(function(_, action) + pings.actionWheelSetArmorVisible(false) + action:setHoverColor(1, 0.33, 0.33) + self.parent.config:saveConfig("PRIVATE", "showArmor", false) + end) + if self.parent.config:loadConfig("PRIVATE", "showArmor", false) then + local action = self.mainPage:getAction(3) + action:setToggled(true) + action:setHoverColor(0.33, 1, 0.33) + end + + --アクション4. 一人称視点での武器モデルの表示 + self.mainPage:newAction(4):setItem(self.parent.compatibilityUtils:checkItem("minecraft:bow")):setColor(0.67, 0, 0):setHoverColor(1, 0.33, 0.33):setToggleColor(0, 0.67, 0):setOnToggle(function (_, action) + self.parent.gun.shouldShowWeaponInFirstPerson = true + action:setHoverColor(0.33, 1, 0.33) + self.parent.config:saveConfig("PRIVATE", "firstPersonWeapon", true) + end):setOnUntoggle(function (_, action) + self.parent.gun.shouldShowWeaponInFirstPerson = false + action:setHoverColor(1, 0.33, 0.33) + self.parent.config:saveConfig("PRIVATE", "firstPersonWeapon", false) + end) + if self.parent.config:loadConfig("PRIVATE", "firstPersonWeapon", true) then + local action = self.mainPage:getAction(4) + action:setToggled(true) + action:setHoverColor(0.33, 1, 0.33) + end + + --アクション5. Exスキルフレームのパーティクルの量 + self.mainPage:newAction(5):setItem(self.parent.compatibilityUtils:checkItem("minecraft:glowstone_dust")):setColor(0.78, 0.78, 0.78):setHoverColor(1, 1, 1):setOnScroll(function (direction) + if direction < 0 then + self.selectingExSkillParticleAmount = self.selectingExSkillParticleAmount == 4 and 1 or self.selectingExSkillParticleAmount + 1 + else + self.selectingExSkillParticleAmount = self.selectingExSkillParticleAmount == 1 and 4 or self.selectingExSkillParticleAmount - 1 + end + self:refreshExSkillParticleActionTitle() + end):setOnLeftClick(function () + self.selectingExSkillParticleAmount = self.parent.exSkill.frameParticleAmount + self:refreshExSkillParticleActionTitle() + end):setOnRightClick(function () + self.selectingExSkillParticleAmount = 1 + self:refreshExSkillParticleActionTitle() + end) + + --アクション6. 乗り物モデルの置き換え + self.mainPage:newAction(6):setItem(self.parent.compatibilityUtils:checkItem("minecraft:oak_boat")):setColor(0.67, 0, 0):setHoverColor(1, 0.33, 0.33):setToggleColor(0, 0.67, 0):setOnToggle(function (_, action) + if self.parent.characterData.actionWheel.isVehicleOptionEnabled then + pings.actionWheelSetShouldReplaceVehicleModels(true) + action:setHoverColor(0.33, 1, 0.33) + self.parent.config:saveConfig("PRIVATE", "replaceVehicleModels", true) + else + print(self.parent.locale:getLocale("action_wheel.main.action_6.unavailable")) + action:setToggled(false) + end + end):setOnUntoggle(function (_, action) + pings.actionWheelSetShouldReplaceVehicleModels(false) + action:setHoverColor(1, 0.33, 0.33) + self.parent.config:saveConfig("PRIVATE", "replaceVehicleModels", false) + end) + if not self.parent.characterData.actionWheel.isVehicleOptionEnabled then + local action = self.mainPage:getAction(6) + action:setColor(0.16, 0.16, 0.16) + action:setHoverColor(1, 0.33, 0.33) + self.shouldReplaceVehicleModels = false + elseif self.shouldReplaceVehicleModels then + local action = self.mainPage:getAction(6) + action:setToggled(true) + action:setHoverColor(0.33, 1, 0.33) + end + + --アクション7. アップデートの確認 + self.mainPage:newAction(7):setItem("minecraft:compass"):setOnLeftClick(function () + if not self.parent.updateChecker.checkerStatus ~= "CHECKING" then + self.parent.updateChecker:checkUpdate() + else + print("action_wheel.main.action_7.ongoing") + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + end + if not net:isNetworkingAllowed() or not net:isLinkAllowed("https://api.github.com") then + print(self.parent.locale:getLocale("action_wheel.main.action_7.networking_api")) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + end + end):onRightClick(function () + if self.parent.updateChecker.latestVersion ~= nil then + host:setClipboard("https://github.com/Gakuto1112/FiguraBlueArchiveCharacters/releases/tag/"..self.parent.updateChecker.latestVersion) + print(self.parent.locale:getLocale("action_wheel.main.action_7.copied")) + else + print(self.parent.locale:getLocale("action_wheel.main.action_7.cannot_check_latest")) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + end + end) + + --アクション8. (空欄) + self.mainPage:newAction(8):setColor(0.16, 0.16, 0.16):setHoverColor(0.16, 0.16, 0.16) + + action_wheel:setPage(self.mainPage) + end + end; + + ---衣装変更アクションのタイトルを更新する。 + ---@param self ActionWheel + refreshCostumeChangeActionTitle = function (self) + if #self.parent.costume.costumeList >= 2 then + self.mainPage:getAction(1):setTitle(self.parent.locale:getLocale("action_wheel.main.action_1.title").."§b"..self.parent.costume:getCostumeLocalName(self.selectingCostume)) + else + self.mainPage:getAction(1):setTitle("§7"..self.parent.locale:getLocale("action_wheel.main.action_1.title")..self.parent.costume:getCostumeLocalName(self.selectingCostume)) + end + end; + + ---名前変更アクションのタイトルを更新する。 + ---@param self ActionWheel + refreshNameChangeActionTitle = function (self) + if self.selectingName >= 2 then + if self.selectingShouldShowClubName then + self.mainPage:getAction(2):setTitle(self.parent.locale:getLocale("action_wheel.main.action_2.title").."§b"..self.parent.nameplate:getName(self.selectingName).."\n§r"..self.parent.locale:getLocale("action_wheel.main.action_2.title_2").."§a"..self.parent.locale:getLocale("action_wheel.toggle_on")) + else + self.mainPage:getAction(2):setTitle(self.parent.locale:getLocale("action_wheel.main.action_2.title").."§b"..self.parent.nameplate:getName(self.selectingName).."\n§r"..self.parent.locale:getLocale("action_wheel.main.action_2.title_2").."§c"..self.parent.locale:getLocale("action_wheel.toggle_off")) + end + else + self.mainPage:getAction(2):setTitle(self.parent.locale:getLocale("action_wheel.main.action_2.title").."§b"..self.parent.nameplate:getName(self.selectingName).."\n§7"..self.parent.locale:getLocale("action_wheel.main.action_2.title_2")..self.parent.locale:getLocale("action_wheel.toggle_"..(self.selectingShouldShowClubName and "on" or "off"))) + end + end; + + ---Exスキルアニメーションのパーティクル量調整アクションのタイトルを更新する。 + ---@param self ActionWheel + refreshExSkillParticleActionTitle = function (self) + self.mainPage:getAction(5):title(self.parent.locale:getLocale("action_wheel.main.action_5.title").."§b"..self.parent.locale:getLocale("action_wheel.main.action_5.option_"..self.selectingExSkillParticleAmount)) + end; + + ---アップデート確認アクションの状態を更新する。 + ---@param self ActionWheel + refreshUpdateActionStatus = function (self) + local action = self.mainPage:getAction(7) + local actionTitle = "" + if self.parent.updateChecker.checkerStatus == "CHECKING" then + actionTitle = actionTitle.."§7"..self.parent.locale:getLocale("action_wheel.main.action_7.title_1")..self.parent.locale:getLocale("action_wheel.main.action_7.title_2").."\n" + action:setColor(0.16, 0.16, 0.16) + action:setHoverColor(1, 0.33, 0.33) + else + actionTitle = actionTitle..self.parent.locale:getLocale("action_wheel.main.action_7.title_1").."§b"..self.parent.locale:getLocale("action_wheel.main.action_7.title_2").."\n" + action:setColor(0.78, 0.78, 0.78) + action:setHoverColor(1, 1, 1) + end + if self.parent.updateChecker.latestVersion == nil then + actionTitle = actionTitle.."§7"..self.parent.locale:getLocale("action_wheel.main.action_7.title_3")..self.parent.locale:getLocale("action_wheel.main.action_7.title_4") + else + actionTitle = actionTitle.."§r"..self.parent.locale:getLocale("action_wheel.main.action_7.title_3").."§b"..self.parent.locale:getLocale("action_wheel.main.action_7.title_4") + end + action:setTitle(actionTitle) + end; +} + +---アクションホイールから衣装を変更するトリガー関数 +---@param costumeId integer 新しい衣装のインデックス番号 +function pings.actionWheelChangeCostume(costumeId) + if costumeId >= 2 then + AvatarInstance.costume:setCostume(costumeId) + else + AvatarInstance.costume:resetCostume() + end +end + +---アクションホイールから名前を変更するトリガー関数 +---@param typeId integer 新しい名前の表示形式のインデックス番号 +---@param shouldShowClubName boolean 部活名を表示するかどうか +function pings.actionWheelChangeName(typeId, shouldShowClubName) + AvatarInstance.nameplate:setName(typeId, shouldShowClubName) +end + +---アクションホイールから防具の可視性を変更するトリガー関数 +---@param visible boolean 防具を表示するかどうか +function pings.actionWheelSetArmorVisible(visible) + AvatarInstance.armor.shouldShowArmor = visible +end + +---アクションホイールから乗り物モデルの置き換えを変更するトリガー関数 +---@param enabled boolean 乗り物モデルの置き換えを有効化するかどうか +function pings.actionWheelSetShouldReplaceVehicleModels(enabled) + AvatarInstance.actionWheel.shouldReplaceVehicleModels = enabled +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/action_wheel/action_wheel_gui.lua b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/action_wheel/action_wheel_gui.lua new file mode 100644 index 0000000..18f89b7 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/action_wheel/action_wheel_gui.lua @@ -0,0 +1,113 @@ +---@class ActionWheelGui : AvatarModule アクションホイールに表示する追加のGUIを管理するクラス +---@field package isActionWheelOpenedPrev boolean 前ティックにアクションホイールを開けていたかどうか + +ActionWheelGui = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ActionWheelGui + new = function (parent) + ---@type ActionWheelGui + local instance = Avatar.instantiate(ActionWheelGui, AvatarModule, parent) + + instance.isActionWheelOpenedPrev = false + + return instance + end; + + ---初期化関数 + ---@param self ActionWheelGui + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + events.TICK:register(function () + local isActionWheelOpened = action_wheel:isEnabled() + if isActionWheelOpened and not self.isActionWheelOpenedPrev then + models.models.action_wheel_gui.Gui:setVisible(true) + + local windowSize = client:getScaledWindowSize() + models.models.action_wheel_gui.Gui.BubbleGuide:setPos(windowSize.x * -0.5 + 44, windowSize.y * -0.5 + 5, 0) + models.models.action_wheel_gui.Gui.ExSkillGuide:setPos(windowSize.x * -0.5 + 57, -21, 0) + models.models.action_wheel_gui.Gui.VersionDisplay:setPos(-0.75, -0.5, 0) + + local bubbleGuideTextTasks = {models.models.action_wheel_gui.Gui.BubbleGuide:getTask("action_wheel.gui.bubble_guide.title"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.GoodEmoji:getTask("bubble_guide.bubble_1.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.HeartEmoji:getTask("bubble_guide.bubble_2.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.NoteEmoji:getTask("bubble_guide.bubble_3.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.QuestionEmoji:getTask("bubble_guide.bubble_4.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.SweatEmoji:getTask("bubble_guide.bubble_5.key_name")} + bubbleGuideTextTasks[1]:setText(self.parent.locale:getLocale("action_wheel.gui.bubble_guide.title")) + for i = 2, #bubbleGuideTextTasks do + bubbleGuideTextTasks[i]:setText("§0"..self.parent.keyManager.keyMappings["bubble_"..(i - 1)]:getKeyName()) + end + + local bubbleGuideTitleWidth = client.getTextWidth(bubbleGuideTextTasks[1]:getText()) / 2 + 4 + local bubbleGuideBodyWidth = 0 + for i = 2, #bubbleGuideTextTasks do + bubbleGuideBodyWidth = math.max(bubbleGuideBodyWidth, client.getTextWidth(bubbleGuideTextTasks[i]:getText()) * 0.5) + end + local bubbleGuideWidth = math.max(bubbleGuideTitleWidth + 6, bubbleGuideBodyWidth + 22) + bubbleGuideWidth = math.max(bubbleGuideWidth, 39) + + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.TitleBar:setPos((bubbleGuideWidth - bubbleGuideTitleWidth) / 2, 0, 0) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.TitleBar:setScale(bubbleGuideTitleWidth, 1, 1) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.TitleCenter:setScale(bubbleGuideWidth - 25, 1, 1) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.TitleLeft:setPos(bubbleGuideWidth - 26, 0, 0) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.BodyTop:setScale(bubbleGuideWidth, 1, 1) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.BodyBottomCenter:setScale(bubbleGuideWidth - 39, 1, 1) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.BodyBottomLeft:setPos(bubbleGuideWidth - 40, 0, 0) + models.models.action_wheel_gui.Gui.BubbleGuide.Emojis:setPos((bubbleGuideWidth - (bubbleGuideBodyWidth + 22)) / 2 + bubbleGuideBodyWidth + 9, 0, 0) + bubbleGuideTextTasks[1]:setPos(bubbleGuideWidth / 2, 0, 0) + for i = 2, #bubbleGuideTextTasks do + bubbleGuideTextTasks[i]:setPos(bubbleGuideBodyWidth / -2 - 4, 1.5, 0) + end + + local exSkillGuideTextTasks = {models.models.action_wheel_gui.Gui.ExSkillGuide:getTask("action_wheel.gui.ex_skill_guide.title"), models.models.action_wheel_gui.Gui.ExSkillGuide:getTask("action_wheel.gui.ex_skill_guide.body_1"), models.models.action_wheel_gui.Gui.ExSkillGuide:getTask("action_wheel.gui.ex_skill_guide.body_2")} + exSkillGuideTextTasks[1]:setText(self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.title")) + exSkillGuideTextTasks[2]:setText(self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill == nil and "§0§l\""..self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.ex_skill_"..self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].exSkill..".name").."\"" or "§0§l\""..self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.ex_skill_"..self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].exSkill..".name").."\"§r§0 - \""..self.parent.keyManager.keyMappings.ex_skill:getKeyName().."\"") + exSkillGuideTextTasks[3]:setText(self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill == nil and "§0"..self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.key_pre")..self.parent.keyManager.keyMappings.ex_skill:getKeyName()..self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.key_post") or "§0§l\""..self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.ex_skill_"..self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill..".name").."\"§r§0 - \""..self.parent.keyManager.keyMappings.ex_skill_sub:getKeyName().."\"") + + local exSkillGuideTitleWidth = client.getTextWidth(exSkillGuideTextTasks[1]:getText()) / 2 + 4 + local exSkillGuideWidth = exSkillGuideTitleWidth + for i = 2, #exSkillGuideTextTasks do + exSkillGuideWidth = math.max(exSkillGuideWidth, client.getTextWidth(exSkillGuideTextTasks[i]:getText()) / 2 + 10) + end + exSkillGuideWidth = math.max(exSkillGuideWidth, 39) + + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.TitleBar:setPos((exSkillGuideWidth - exSkillGuideTitleWidth) / 2, 0, 0) + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.TitleBar:setScale(exSkillGuideTitleWidth, 1, 1) + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.TitleCenter:setScale(exSkillGuideWidth - 25, 1, 1) + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.TitleLeft:setPos(exSkillGuideWidth - 26, 0, 0) + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.BodyBottomCenter:setScale(exSkillGuideWidth - 39, 1, 1) + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.BodyBottomLeft:setPos(exSkillGuideWidth - 40, 0, 0) + exSkillGuideTextTasks[1]:setPos(exSkillGuideWidth / 2, 0, 0) + for i = 2, #exSkillGuideTextTasks do + exSkillGuideTextTasks[i]:setPos(exSkillGuideWidth / 2, (i - 2) * -5 - 8) + end + + local versionDisplayTextTasks = {} + for i = 1, 3 do + table.insert(versionDisplayTextTasks, models.models.action_wheel_gui.Gui.VersionDisplay:getTask("action_wheel.gui.version_display.l"..i)) + end + + for i = 2, 3 do + versionDisplayTextTasks[i]:setPos(0, (i - 1) * -2.25, 0) + end + + elseif not isActionWheelOpened and self.isActionWheelOpenedPrev then + models.models.action_wheel_gui.Gui:setVisible(false) + end + self.isActionWheelOpenedPrev = isActionWheelOpened + end) + + models.models.action_wheel_gui.Gui:setScale(2, 2, 2) + for _, textTask in ipairs({models.models.action_wheel_gui.Gui.BubbleGuide:newText("action_wheel.gui.bubble_guide.title"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.GoodEmoji:newText("bubble_guide.bubble_1.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.HeartEmoji:newText("bubble_guide.bubble_2.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.NoteEmoji:newText("bubble_guide.bubble_3.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.QuestionEmoji:newText("bubble_guide.bubble_4.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.SweatEmoji:newText("bubble_guide.bubble_5.key_name"), models.models.action_wheel_gui.Gui.ExSkillGuide:newText("action_wheel.gui.ex_skill_guide.title"), models.models.action_wheel_gui.Gui.ExSkillGuide:newText("action_wheel.gui.ex_skill_guide.body_1"), models.models.action_wheel_gui.Gui.ExSkillGuide:newText("action_wheel.gui.ex_skill_guide.body_2")}) do + textTask:setScale(0.5, 0.5, 0.5) + textTask:setAlignment("CENTER") + end + for i = 1, 3 do + local textTask = models.models.action_wheel_gui.Gui.VersionDisplay:newText("action_wheel.gui.version_display.l"..i) + textTask:setScale(0.25, 0.25, 0.25) + textTask:setShadow(true) + if i == 1 then + textTask:setText("Figura Blue Archive Characters (FBAC)") + end + end + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/action_wheel/update_checker.lua b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/action_wheel/update_checker.lua new file mode 100644 index 0000000..b5da96a --- /dev/null +++ b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/action_wheel/update_checker.lua @@ -0,0 +1,181 @@ +---@alias UpdateChecker.CheckerStatus +---| "INIT" # 初期状態 +---| "CHECKING" # アップデート確認中 +---| "LATEST" # アップデート確認済み:最新版 +---| "UPDATE_AVAILABLE" # アップデート確認済み:アップデートあり +---| "ERROR_INVALID_JSON" # エラー:予期しないJSONデータ +---| "ERROR_INVALID_JSON_SYNTAX" # エラー:不正なJSON構文 +---| "ERROR_REQUEST_FAILED" # リクエストに失敗 +---| "ERROR_NETWORK_ERR" # ネットワークエラー +---| "ERROR_NOT_ALLOWED" # ネットワーキングAPIが不許可 + +---@class (exact) UpdateChecker : AvatarModule FBACのアップデートの確認を管理するクラス +---@field package FBAC_VERSION string 現在のFBACバージョン +---@field package BRANCH_NAME string このブランチ名(キャラクター名) +---@field public latestVersion? string リモート上にある最新のFBACバージョン +---@field public checkerStatus UpdateChecker.CheckerStatus アップデートチェッカーの状態 +---@field package requestStatus integer 送信したリクエストのステータスコード +---@field package responseHandler Future.HttpResponse|nil httpレスポンスのハンドラ +---@field package textAnimationCount integer 新しいバージョン表示のテキストのアニメーションのカウンター +---@field package isActionWheelOpenedPrev boolean 前ティックにアクションホイールを開けていたかどうか +---@field package compareVersions fun(version1: string, version2: string): string|nil 2つのバージョン文字列を比較し、新しい方を返す +---@field package showNewUpdateMessage fun(self: UpdateChecker) 新FBACバージョンのお知らせを表示する +---@field public checkUpdate fun(self: UpdateChecker) FBACアップデートの確認を行う + +UpdateChecker = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return UpdateChecker + new = function (parent) + ---@type UpdateChecker + local instance = Avatar.instantiate(UpdateChecker, AvatarModule, parent) + + instance.FBAC_VERSION = "v2.1.2" + instance.BRANCH_NAME = "Serina" + instance.latestVersion = instance.parent.config:loadConfig("PUBLIC", "latestVersion", nil) + instance.checkerStatus = "INIT" + instance.requestStatus = 0 + instance.textAnimationCount = 0 + + return instance + end; + + ---初期化関数 + ---@param self UpdateChecker + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + models.models.action_wheel_gui.Gui.VersionDisplay:getTask("action_wheel.gui.version_display.l2"):setText(self.FBAC_VERSION.." - "..self.BRANCH_NAME) + + events.TICK:register(function () + local isActionWheelOpened = action_wheel:isEnabled() + if isActionWheelOpened then + local textTask = models.models.action_wheel_gui.Gui.VersionDisplay:getTask("action_wheel.gui.version_display.l3") + if self.checkerStatus == "UPDATE_AVAILABLE" then + if math.floor(self.textAnimationCount / 20) % 2 == 0 then + textTask:setText("§6§n"..self.parent.locale:getLocale("action_wheel.gui.update_check.update_available")..self.latestVersion) + else + textTask:setText("§n"..self.parent.locale:getLocale("action_wheel.gui.update_check.update_available")..self.latestVersion) + end + self.textAnimationCount = self.textAnimationCount + 1 + elseif self.checkerStatus == "ERROR_REQUEST_FAILED" then + textTask:setText(self.parent.locale:getLocale("action_wheel.gui.update_check.error_request_failed").."("..self.requestStatus..")") + else + textTask:setText(self.parent.locale:getLocale("action_wheel.gui.update_check."..self.checkerStatus:lower())) + end + elseif not isActionWheelOpened and self.isActionWheelOpenedPrev then + self.textAnimationCount = 0 + end + self.isActionWheelOpenedPrev = isActionWheelOpened + end) + + local lastUpdateCheckTime = self.parent.config:loadConfig("PUBLIC", "lastUpdateCheckTime", 0) + if client:getSystemTime() >= lastUpdateCheckTime + 86400000 then + self:checkUpdate() + else + local newerVersion = self.compareVersions(self.latestVersion, self.FBAC_VERSION) + if newerVersion ~= nil and newerVersion ~= self.FBAC_VERSION then + self:showNewUpdateMessage() + self.checkerStatus = "UPDATE_AVAILABLE" + else + self.checkerStatus = "LATEST" + end + end + end + end; + + ---2つのバージョン文字列を比較し、新しい方を返す。 + ---@param version1 string 比較するバージョン文字列1 + ---@param version2 string 比較するバージョン文字列2 + ---@return string|nil newerVersion 新しい方のバージョン文字列。比較不可能だった場合はnilを返す。 + compareVersions = function (version1, version2) + local major1, minor1, patch1 = version1:match("^v(%d+)%.(%d+)%.(%d+)") + local major2, minor2, patch2 = version2:match("^v(%d+)%.(%d+)%.(%d+)") + major1 = tonumber(major1) + minor1 = tonumber(minor1) + patch1 = tonumber(patch1) + major2 = tonumber(major2) + minor2 = tonumber(minor2) + patch2 = tonumber(patch2) + if major1 ~= nil and minor1 ~= nil and patch1 ~= nil and major2 ~= nil and minor2 ~= nil and patch2 ~= nil then + return (major1 > major2 or (major1 == major2 and minor1 > minor2) or (major1 == major2 and minor1 == minor2 and patch1 > patch2)) and version1 or version2 + end + end; + + ---新FBACバージョンのお知らせを表示する。 + ---@param self UpdateChecker + showNewUpdateMessage = function (self) + print(self.parent.locale:getLocale("action_wheel.gui.update_check.update_available")..self.latestVersion) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.experience_orb.pickup"), player:getPos(), 1, 1) + end; + + ---FBACアップデートの確認を行う。 + ---@param self UpdateChecker + checkUpdate = function (self) + if host:isHost() and self.checkerStatus ~= "CHECKING" then + self.checkerStatus = "CHECKING" + if net:isNetworkingAllowed() and net:isLinkAllowed("https://api.github.com") then + local request = net.http:request("https://api.github.com/repos/Gakuto1112/FiguraBlueArchiveCharacters/tags") + self.responseHandler = request:send() + events.TICK:register(function () + if self.responseHandler:isDone() then + local response = self.responseHandler:getValue() + if response ~= nil then + local stats = response:getResponseCode() + if math.floor(stats / 100) == 2 then + local stream = response:getData() + local buffer = data:createBuffer() + buffer:readFromStream(stream) + buffer:setPosition(0) + local jsonData = buffer:readByteArray() + if json.isSerializable(jsonData) then + local parseData = parseJson(jsonData) + if parseData[1] ~= nil and parseData[1].name ~= nil then + local newerVersion = self.compareVersions(parseData[1].name, self.FBAC_VERSION) + if newerVersion ~= nil then + if newerVersion ~= self.FBAC_VERSION then + --新しいバージョンがある + self.latestVersion = parseData[1].name + self.checkerStatus = "UPDATE_AVAILABLE" + self:showNewUpdateMessage() + else + --現在は最新 + self.latestVersion = parseData[1].name + self.checkerStatus = "LATEST" + end + self.parent.config:saveConfig("PUBLIC", "lastUpdateCheckTime", client:getSystemTime()) + self.parent.config:saveConfig("PUBLIC", "latestVersion", parseData[1].name) + else + --予期しないJSONデータ + self.checkerStatus = "ERROR_INVALID_JSON" + end + else + --予期しないJSONデータ + self.checkerStatus = "ERROR_INVALID_JSON" + end + else + --JSON解析エラー + self.checkerStatus = "ERROR_INVALID_JSON_SYNTAX" + end + stream:close() + buffer:close() + else + --ステータスコードが200番台以外 + self.checkerStatus = "ERROR_REQUEST_FAILED" + self.requestStatus = stats + end + else + --ネットワークエラー + self.checkerStatus = "ERROR_NETWORK_ERR" + end + events.TICK:remove("update_checker_http_tick") + end + end, "update_checker_http_tick") + else + ---ネットワーキングAPIが不許可 + self.checkerStatus = "ERROR_NOT_ALLOWED" + end + end + end; +} diff --git a/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/armor.lua b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/armor.lua new file mode 100644 index 0000000..7c22696 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/armor.lua @@ -0,0 +1,364 @@ +---防具の部位 +---@alias Armor.ArmorPart +---| "HELMET" # ヘルメット +---| "CHEST_PLATE" # チェストプレート +---| "LEGGINGS" # レギンス +---| "BOOTS" # ブーツ + +---@class (exact) Armor : AvatarModule 防具の表示を制御するクラス +---@field public shouldShowArmor boolean 防具を表示するかどうか +---@field public armorSlotItems ItemStack[] 現ティックの防具スロットのアイテム +---@field package armorSlotItemsPrev ItemStack[] 前ティックの防具スロットのアイテム +---@field public isArmorVisible Armor.VisiblePartsSet 各防具の部位(ヘルメット、チェストプレート、レギンス、ブーツ)が可視状態かどうか +---@field package textureQueue Armor.TextureQueueData[] テクスチャ処理のキュー +---@field package getArmorColor fun(armorItem: ItemStack): number 防具の色を取得する +---@field package compareTrims fun(trim1?: Armor.TrimData, trim2?: Armor.TrimData): boolean 防具装飾が同じものか比較する +---@field package addTextureQueue fun(self: Armor, texture: Texture, paletteName: string) テクスチャの処理のキューにデータを挿入する +---@field package getTrimTexture fun(self: Armor, trimData?: Armor.TrimData, armorId: string): Texture|nil バニラパーツの防具装飾のテクスチャを取得する。テクスチャの処理は次のチック以降行われる。 +---@field public setHelmet fun(self: Armor, helmetItem: ItemStack) ヘルメットを更新する +---@field public setChestplate fun(self: Armor, chestplateItem: ItemStack) チェストプレートを更新する +---@field public setLeggings fun(self: Armor, leggingsItem: ItemStack) レギンスを更新する +---@field public setBoots fun(self: Armor, bootsItem: ItemStack) ブーツを更新する + +---@class (exact) Armor.VisiblePartsSet 各防具の部位の可視状態のセット +---@field public helmet boolean ヘルメット +---@field public chestplate boolean チェストプレート +---@field public leggings boolean レギンス +---@field public boots boolean ブーツ + +---@class (exact) Armor.TextureQueueData テクスチャキューに入るデータの構造体 +---@field public texture Texture 処理対象のテクスチャ +---@field public palette Texture 処理に使用するパレットのテクスチャ +---@field public iterationCount integer 現在の繰り返しカウンター + +---@class (exact) Armor.TrimData 防具装飾のデータセット +---@field public pattern string 防具装飾の模様 +---@field public material string 防具装飾の素材 + +Armor = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Armor + new = function (parent) + ---@type Armor + local instance = Avatar.instantiate(Armor, AvatarModule, parent) + instance.shouldShowArmor = instance.parent.config:loadConfig("PRIVATE", "showArmor", false) + instance.armorSlotItems = {world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air"))} + instance.armorSlotItemsPrev = {world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air"))} + instance.isArmorVisible = { + helmet = false; + chestplate = false; + leggings = false; + boots = false; + } + instance.textureQueue = {} + + return instance + end; + + ---初期化関数 + ---@param self Armor + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + self.armorSlotItems = self.shouldShowArmor and {player:getItem(6), player:getItem(5), player:getItem(4), player:getItem(3)} or {world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))} + if self.armorSlotItems[1].id ~= self.armorSlotItemsPrev[1].id then + self:setHelmet(self.armorSlotItems[1]) + end + if self.armorSlotItems[2].id ~= self.armorSlotItemsPrev[2].id then + self:setChestplate(self.armorSlotItems[2]) + end + if self.armorSlotItems[3].id ~= self.armorSlotItemsPrev[3].id then + self:setLeggings(self.armorSlotItems[3]) + end + if self.armorSlotItems[4].id ~= self.armorSlotItemsPrev[4].id then + self:setBoots(self.armorSlotItems[4]) + end + + for index, armorSlotItem in ipairs(self.armorSlotItems) do + local glint = armorSlotItem:hasGlint() + if glint ~= self.armorSlotItemsPrev[index]:hasGlint() then + --エンチャント変更 + local renderType = glint and "GLINT" or "NONE" + if index == 2 then + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom}) do + armorPart:setSecondaryRenderType(renderType) + end + elseif index == 3 then + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom}) do + armorPart:setSecondaryRenderType(renderType) + end + else + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom}) do + armorPart:setSecondaryRenderType(renderType) + end + end + end + local armorColor = self.getArmorColor(armorSlotItem) + if armorColor ~= self.getArmorColor(self.armorSlotItemsPrev[index]) then + --色変更 + local colorVector = vectors.intToRGB(armorColor) + if index == 2 then + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplate, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottom, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplate, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottom}) do + armorPart:setColor(colorVector) + end + elseif index == 3 then + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggings, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggings, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottom}) do + armorPart:setColor(colorVector) + end + else + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBoots, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBoots, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottom}) do + armorPart:setColor(colorVector) + end + end + end + local trim = self.armorSlotItems[index].tag.Trim + if not self.compareTrims(trim, self.armorSlotItemsPrev[index].tag.Trim) then + --トリム変更 + if index == 2 then + local trimTexture = self:getTrimTexture(trim, self.armorSlotItems[2].id) + if trimTexture then + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplateTrim, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottomTrim, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplateTrim, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottomTrim}) do + armorPart:setVisible(true) + armorPart:setPrimaryTexture("CUSTOM", trimTexture) + end + else + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplateTrim, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottomTrim, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplateTrim, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottomTrim}) do + armorPart:setVisible(false) + end + end + elseif index == 3 then + local trimTexture = self:getTrimTexture(trim, self.armorSlotItems[3].id) + if trimTexture then + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggingsTrim, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottomTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggingsTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottomTrim}) do + armorPart:setVisible(true) + armorPart:setPrimaryTexture("CUSTOM", trimTexture) + end + else + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggingsTrim, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottomTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggingsTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottomTrim}) do + armorPart:setVisible(false) + end + end + else + local trimTexture = self:getTrimTexture(trim, self.armorSlotItems[4].id) + if trimTexture then + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBootsTrim, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottomTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBootsTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottomTrim}) do + armorPart:setVisible(true) + armorPart:setPrimaryTexture("CUSTOM", trimTexture) + end + else + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBootsTrim, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottomTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBootsTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottomTrim}) do + armorPart:setVisible(false) + end + end + end + end + end + --テクスチャの作成処理 + if #self.textureQueue > 0 then + local instructionsAvailable = avatar:getMaxTickCount() - 3000 --このTICKで使用出来る残りの命令数 + while #self.textureQueue > 0 and instructionsAvailable > 0 do + local dimension = self.textureQueue[1].texture:getDimensions() + for y = math.floor(self.textureQueue[1].iterationCount / dimension.x), dimension.y - 1 do + for x = self.textureQueue[1].iterationCount % dimension.x, dimension.x - 1 do + local pixel = self.textureQueue[1].texture:getPixel(x, y) + if pixel.w == 1 then + self.textureQueue[1].texture:setPixel(x, y, self.textureQueue[1].palette:getPixel(7 - math.floor(pixel.x * 8), 0)) + end + self.textureQueue[1].iterationCount = self.textureQueue[1].iterationCount + 1 + instructionsAvailable = instructionsAvailable - 45 + if instructionsAvailable <= 0 then + break + end + end + if instructionsAvailable <= 0 then + break + end + end + self.textureQueue[1].texture:update() + if self.textureQueue[1].iterationCount == dimension.x * dimension.y then + table.remove(self.textureQueue, 1) + end + end + end + self.armorSlotItemsPrev = self.armorSlotItems + end) + + for _, vanillaModel in ipairs({vanilla_model.HELMET, vanilla_model.CHESTPLATE, vanilla_model.LEGGINGS}) do + vanillaModel:setVisible(false) + end + for _, overlayPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottomOverlay, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottomOverlay, models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBootsOverlay, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottomOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBootsOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottomOverlay}) do + overlayPart:setPrimaryTexture("RESOURCE", "minecraft:textures/models/armor/leather_layer_1_overlay.png") + end + for _, overlayPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggingsOverlay, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottomOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggingsOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottomOverlay}) do + overlayPart:setPrimaryTexture("RESOURCE", "minecraft:textures/models/armor/leather_layer_2_overlay.png") + end + end; + + ---防具の色を取得する。 + ---@param armorItem ItemStack 調べるアイテムのオブジェクト + ---@return number color 防具モデルに設定すべき色 + getArmorColor = function (armorItem) + if armorItem.id:find("^minecraft:leather_") then + if armorItem.tag then + if armorItem.tag.display then + return armorItem.tag.display.color and armorItem.tag.display.color or 10511680 + else + return 10511680 + end + else + return 10511680 + end + else + return 16777215 + end + end; + + ---防具装飾が同じものか比較する。 + ---@param trim1? Armor.TrimData 比較する防具装飾のテーブル1 + ---@param trim2? Armor.TrimData 比較する防具装飾のテーブル2 + ---@return boolean isTrimSame 2つの防具装飾が同じものかどうか + compareTrims = function (trim1, trim2) + if type(trim1) == type(trim2) then + if trim1 then + if trim1.pattern ~= trim2.pattern then + return false + elseif trim1.material ~= trim2.material then + return false + else + return true + end + else + return true + end + else + return false + end + end; + + ---テクスチャの処理のキューにデータを挿入する。 + ---@param self Armor + ---@param texture Texture 処理を行うテクスチャ + ---@param paletteName string 使用するパレットの名前 + addTextureQueue = function (self, texture, paletteName) + if textures["trim_palette_"..paletteName] == nil then + textures:fromVanilla("trim_palette_"..paletteName, "minecraft:textures/trims/color_palettes/"..paletteName..".png") + end + table.insert(self.textureQueue, 1, { + texture = texture, + palette = textures["trim_palette_"..paletteName], + iterationCount = 0 + }) + end; + + ---バニラパーツの防具装飾のテクスチャを取得する。テクスチャの処理は次のチック以降行われる。 + ---@param self Armor + ---@param trimData? Armor.TrimData 防具装飾のデータ + ---@param armorId string 防具アイテムのID。 + ---@return Texture|nil trimTexture 色を付けた防具装飾のテクスチャ。防具や防具装飾が非バニラの場合はnilを返す。 + getTrimTexture = function (self, trimData, armorId) + if trimData and trimData.pattern:find("^minecraft:.+$") and trimData.material:find("^minecraft:.+$") and armorId:find("^minecraft:.+_.+$") then + local normalizedPatternName = trimData.pattern:match("^minecraft:(%a+)$") + local normalizedArmorMaterialName = armorId:match("^minecraft:(%a+)_.+$") + normalizedArmorMaterialName = normalizedArmorMaterialName == "golden" and "gold" or normalizedArmorMaterialName + local normalizedMaterialName = trimData.material:match("^minecraft:(%a+)$") + normalizedMaterialName = normalizedMaterialName..(normalizedArmorMaterialName == normalizedMaterialName and "_darker" or "") + local isLeggings = armorId:find("^minecraft:.+_leggings$") + local textureName = "trim_"..normalizedPatternName.."_"..normalizedMaterialName..(isLeggings and "_leggings" or "") + if textures[textureName] then + return textures[textureName] + else + local texture = textures:fromVanilla(textureName, "minecraft:textures/trims/models/armor/"..normalizedPatternName..(armorId:find("^minecraft:.+_leggings$") ~= nil and "_leggings" or "")..".png") + self:addTextureQueue(texture, normalizedMaterialName) + return texture + end + end + end; + + ---ヘルメットを更新する。 + ---@param self Armor + ---@param helmetItem ItemStack ヘルメットのスロットに入っているアイテム + setHelmet = function (self, helmetItem) + local helmetFound = helmetItem.id ~= "minecraft:air" + vanilla_model.HELMET:setVisible(helmetFound) + self.isArmorVisible.helmet = helmetFound + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onArmorChange ~= nil then + self.parent.characterData.costume.callbacks.onArmorChange(self.parent.characterData, "HELMET", self.isArmorVisible.helmet) + end + end; + + ---チェストプレートを更新する。 + ---@param self Armor + ---@param chestplateItem ItemStack チェストプレートスロットに入っているアイテム + setChestplate = function (self, chestplateItem) + local chestplateFound = chestplateItem.id:find("^minecraft:.+_chestplate$") ~= nil + vanilla_model.CHESTPLATE:setVisible(chestplateFound) + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB}) do + armorPart:setVisible(chestplateFound) + end + self.isArmorVisible.chestplate = chestplateFound + if self.isArmorVisible.chestplate then + local material = chestplateItem.id:match("^minecraft:(%a+)_chestplate$") + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplate, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottom, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplate, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottom}) do + armorPart:setPrimaryTexture("RESOURCE", "minecraft:textures/models/armor/"..(material == "golden" and "gold" or material).."_layer_1.png") + end + end + local overlayVisible = chestplateItem.id == "minecraft:leather_chestplate" + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottomOverlay, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottomOverlay}) do + armorPart:setVisible(overlayVisible) + end + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onArmorChange ~= nil then + self.parent.characterData.costume.callbacks.onArmorChange(self.parent.characterData, "CHEST_PLATE", self.isArmorVisible.chestplate) + end + end; + + ---レギンスを更新する。 + ---@param self Armor + ---@param leggingsItem ItemStack レギンススロットに入っているアイテム + setLeggings = function (self, leggingsItem) + local leggingsFound = leggingsItem.id:find("^minecraft:.+_leggings$") ~= nil + vanilla_model.LEGGINGS:setVisible(leggingsFound) + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom}) do + armorPart:setVisible(leggingsFound) + end + self.isArmorVisible.leggings = leggingsFound + if self.isArmorVisible.leggings then + local material = leggingsItem.id:match("^minecraft:(%a+)_leggings$") + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggings, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggings, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottom}) do + armorPart:setPrimaryTexture("RESOURCE", "minecraft:textures/models/armor/"..(material == "golden" and "gold" or material).."_layer_2.png") + end + end + local overlayVisible = leggingsItem.id == "minecraft:leather_leggings" + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggingsOverlay, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottomOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggingsOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottomOverlay}) do + armorPart:setVisible(overlayVisible) + end + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onArmorChange ~= nil then + self.parent.characterData.costume.callbacks.onArmorChange(self.parent.characterData, "LEGGINGS", self.isArmorVisible.leggings) + end + end; + + ---ブーツを更新する。 + ---@param self Armor + ---@param bootsItem ItemStack ブーツスロットに入っているアイテム + setBoots = function (self, bootsItem) + local bootsFound = bootsItem.id:find("^minecraft:.+_boots$") ~= nil + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom}) do + armorPart:setVisible(bootsFound) + end + self.isArmorVisible.boots = bootsFound + if self.isArmorVisible.boots then + local material = bootsItem.id:match("^minecraft:(%a+)_boots$") + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBoots, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBoots, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottom}) do + armorPart:setPrimaryTexture("RESOURCE", "minecraft:textures/models/armor/"..(material == "golden" and "gold" or material).."_layer_1.png") + end + end + local overlayVisible = bootsItem.id == "minecraft:leather_boots" + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBootsOverlay, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottomOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBootsOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottomOverlay}) do + armorPart:setVisible(overlayVisible) + end + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onArmorChange ~= nil then + self.parent.characterData.costume.callbacks.onArmorChange(self.parent.characterData, "BOOTS", self.isArmorVisible.boots) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/arms.lua b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/arms.lua new file mode 100644 index 0000000..27ef260 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/arms.lua @@ -0,0 +1,192 @@ +---@class (exact) Arms : AvatarModule アバターの腕を制御するクラス +---@field public armState Arms.ArmStateSet 腕の状態:0. バニラ状態, 1. 銃を構えている際の、銃を構えている方の腕, 2. 銃を構えている際の、銃を構えていない方の腕, 3. クロスボウ装填中 +---@field package armStatePrev Arms.ArmStateSet 前ティックの腕の状態 +---@field package swingCount integer 腕をプラプラさせるカウンター +---@field package isSwingCountProcessed boolean 腕プラプラカウンターを処理したかどうか +---@field package processArmWingCount fun(self: Arms) 腕プラプラカウンターを処理する +---@field public setArmState fun(self: Arms, right?: integer, left?: integer) 腕の状態を設定する + +---@class (exact) Arms.ArmStateSet 腕の状態を示すデータセット +---@field public right integer 右腕の状態 +---@field public left integer 左腕の状態 + +Arms = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Arms + new = function (parent) + ---@type Arms + local instance = Avatar.instantiate(Arms, AvatarModule, parent) + + instance.armState = { + right = 0; + left = 0; + } + instance.armStatePrev = { + right = 0; + left = 0; + } + instance.swingCount = 0 + instance.isSwingCountProcessed = false + + return instance + end; + + ---初期化関数 + ---@param self Arms + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + self.isSwingCountProcessed = false + end) + end; + + ---腕プラプラカウンターを処理する。 + ---@param self Arms + processArmWingCount = function (self) + if not client:isPaused() and not self.isSwingCountProcessed then + self.swingCount = self.swingCount + 1 + self.swingCount = self.swingCount == 100 and 0 or self.swingCount + self.isSwingCountProcessed = true + end + end; + + ---腕の状態を設定する。 + ---@param self Arms + ---@param right? integer 右腕の状態 + ---@param left? integer 左腕の状態 + setArmState = function (self, right, left) + if right ~= nil then + self.armState.right = right + end + if left ~= nil then + self.armState.left = left + end + if (self.armState.right == 1 or self.armState.left == 1) and player:getActiveItem().id == "minecraft:crossbow" then + self:setArmState(3, 3) + return + end + if self.parent.characterData.arms.callbacks ~= nil and self.parent.characterData.arms.callbacks.onArmStateChanged ~= nil then + local result = self.parent.characterData.arms.callbacks.onArmStateChanged(self.parent.characterData, self.armState.right, self.armState.left) + if result ~= nil then + if result.right ~= nil then + self.armState.right = result.right + end + if result.left ~= nil then + self.armState.left = result.left + end + end + end + + --右腕の操作 + if self.armState.right ~= self.armStatePrev.right then + --腕の状態をリセット + models.models.main.Avatar.UpperBody.Arms.RightArm:setRot() + models.models.main.Avatar.UpperBody.Arms.RightArm:setParentType("RightArm") + events.TICK:remove("right_arm_tick") + events.RENDER:remove("right_arm_render") + if self.armState.right == 1 then + --銃を構えている際の、銃を構えている方の腕 + events.TICK:register(function () + if self.armState.right == 1 then + self:processArmWingCount() + if player:isSwingingArm() and not player:isLeftHanded() then + models.models.main.Avatar.UpperBody.Arms.RightArm:setParentType("RightArm") + else + models.models.main.Avatar.UpperBody.Arms.RightArm:setParentType("Body") + end + if player:getActiveItem().id == "minecraft:crossbow" then + self:setArmState(3, 3) + end + end + end, "right_arm_tick") + events.RENDER:register(function (delta) + local headRot = vanilla_model.HEAD:getOriginRot() + models.models.main.Avatar.UpperBody.Arms.RightArm:setRot(player:isSwingingArm() and not player:isLeftHanded() and vectors.vec3() or vectors.vec3(headRot.x + math.sin((self.swingCount + delta) / 100 * math.pi * 2) * 2.5 + 90 + (player:isCrouching() and 30 or 0), headRot.y, 0)) + end, "right_arm_render") + elseif self.armState.right == 2 then + --銃を構えている際の、銃を構えていない方の腕 + events.TICK:register(function () + self:processArmWingCount() + end, "right_arm_tick") + events.RENDER:register(function (delta, context) + local headRot = vanilla_model.HEAD:getOriginRot() + local isSwingingArm = player:isSwingingArm() and not player:isLeftHanded() + models.models.main.Avatar.UpperBody.Arms.RightArm:setParentType((isSwingingArm or context == "FIRST_PERSON") and "RightArm" or "Body") + models.models.main.Avatar.UpperBody.Arms.RightArm:setRot(isSwingingArm and vectors.vec3() or vectors.vec3(headRot.x + math.sin((self.swingCount + delta) / 100 * math.pi * 2) * 2.5 + 90 + (player:isCrouching() and 30 or 0), math.map((headRot.y + 180) % 360 - 180, -50, 50, -21, 78), 0)) + end, "right_arm_render") + elseif self.armState.right == 3 then + --クロスボウ装填中 + events.TICK:register(function () + if player:getActiveItem().id ~= "minecraft:crossbow" and self.armState.right == 3 then + if self.parent.gun.currentGunPosition == "RIGHT" then + self:setArmState(1, 2) + elseif self.parent.gun.currentGunPosition == "LEFT" then + self:setArmState(2, 1) + end + end + end, "right_arm_tick") + end + if self.parent.characterData.arms.callbacks ~= nil and self.parent.characterData.arms.callbacks.onAdditionalRightArmProcess ~= nil then + self.parent.characterData.arms.callbacks.onAdditionalRightArmProcess(self.parent.characterData, self.armState.right) + end + self.armStatePrev.right = self.armState.right + end + --左腕の操作 + if self.armState.left ~= self.armStatePrev.left then + --腕の状態をリセット + models.models.main.Avatar.UpperBody.Arms.LeftArm:setRot() + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType("LeftArm") + events.TICK:remove("left_arm_tick") + events.RENDER:remove("left_arm_render") + if self.armState.left == 1 then + --銃を構えている際の、銃を構えている方の腕 + events.TICK:register(function () + if self.armState.left == 1 then + self:processArmWingCount() + if player:isSwingingArm() and player:isLeftHanded() then + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType("LeftArm") + else + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType("Body") + end + if player:getActiveItem().id == "minecraft:crossbow" then + self:setArmState(3, 3) + end + end + end, "left_arm_tick") + events.RENDER:register(function (delta) + local headRot = vanilla_model.HEAD:getOriginRot() + models.models.main.Avatar.UpperBody.Arms.LeftArm:setRot(player:isSwingingArm() and player:isLeftHanded() and vectors.vec3() or vectors.vec3(headRot.x + math.sin((self.swingCount + delta) / 100 * math.pi * 2) * -2.5 + 90 + (player:isCrouching() and 30 or 0), headRot.y, 0)) + end, "left_arm_render") + elseif self.armState.left == 2 then + --銃を構えている際の、銃を構えていない方の腕 + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType("Body") + events.TICK:register(function () + self:processArmWingCount() + end, "left_arm_tick") + events.RENDER:register(function (delta, context) + local headRot = vanilla_model.HEAD:getOriginRot() + local isSwingingArm = player:isSwingingArm() and player:isLeftHanded() + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType((isSwingingArm or context == "FIRST_PERSON") and "LeftArm" or "Body") + models.models.main.Avatar.UpperBody.Arms.LeftArm:setRot(isSwingingArm and vectors.vec3() or vectors.vec3(headRot.x + math.sin((self.swingCount + delta) / 100 * math.pi * 2) * -2.5 + 90 + (player:isCrouching() and 30 or 0), math.map((headRot.y + 180) % 360 - 180, -50, 50, -78, 21), 0)) + end, "left_arm_render") + elseif self.armState.left == 3 then + --クロスボウ装填中 + events.TICK:register(function () + if player:getActiveItem().id ~= "minecraft:crossbow" and self.armState.left == 3 then + if self.parent.gun.currentGunPosition == "RIGHT" then + self:setArmState(1, 2) + elseif self.parent.gun.currentGunPosition == "LEFT" then + self:setArmState(2, 1) + end + end + end, "left_arm_tick") + end + if self.parent.characterData.arms.callbacks ~= nil and self.parent.characterData.arms.callbacks.onAdditionalLeftArmProcess ~= nil then + self.parent.characterData.arms.callbacks.onAdditionalLeftArmProcess(self.parent.characterData, self.armState.left) + end + self.armStatePrev.left = self.armState.left + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/avatar_module.lua b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/avatar_module.lua new file mode 100644 index 0000000..4ae2c3a --- /dev/null +++ b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/avatar_module.lua @@ -0,0 +1,23 @@ +---@class AvatarModule アバターの動作を構成するモジュールの抽象クラス +---@field public parent Avatar アバターのメインクラスへの参照 +---@field public new fun(parent: Avatar): AvatarModule コンストラクタ +---@field public init fun(self: AvatarModule) 初期化関数 + +AvatarModule = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return AvatarModule + new = function (parent) + ---@type AvatarModule + local instance = Avatar.instantiate(AvatarModule) + + instance.parent = parent + + return instance + end; + + ---初期化関数 + ---@param self AvatarModule + init = function (self) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/barrier.lua b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/barrier.lua new file mode 100644 index 0000000..06066b9 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/barrier.lua @@ -0,0 +1,88 @@ +---@class (exact) Barrier : AvatarModule バリアの視覚効果を管理するクラス +---@field package animationCounts number[] バリアのアニメーションのカウンター +---@field public isBarrierVisible boolean バリアが可視化状態かどうか +---@field package hadAbsorptionPrev boolean 前ティックの衝撃吸収のハートを持っていたかどうか +---@field package colorFactor number バリアの色の係数 +---@field public enable fun(self: Barrier) バリア機能を有効にする +---@field public disable fun(self: Barrier) バリア機能を無効にする + +Barrier = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Barrier + new = function (parent) + ---@type Barrier + local instance = Avatar.instantiate(Barrier, AvatarModule, parent) + + instance.animationCounts = {} + instance.isBarrierVisible = false + instance.hadAbsorptionPrev = false + instance.colorFactor = client:hasShaderPack() and 0.5 or 1 + + for i = 1, 32 do + instance.animationCounts[i] = math.random(0, 39) + end + + return instance + end; + + ---初期化関数 + ---@param self Barrier + init = function (self) + AvatarModule.init(self) + + models.models.main.Avatar.barrier:setLight(15) + + events.TICK:register(function () + local hasAbsorption = player:getAbsorptionAmount() > 0 and player:getHealth() > 0 + if hasAbsorption and not self.hadAbsorptionPrev then + self:enable() + elseif not hasAbsorption and self.hadAbsorptionPrev then + self:disable() + end + self.hadAbsorptionPrev = hasAbsorption + end) + end; + + ---バリア機能を有効にする。 + ---@param self Barrier + enable = function (self) + for i = 1, 32 do + self.animationCounts[i] = math.random(0, 39) + end + + events.TICK:register(function () + for i = 1, 32 do + self.animationCounts[i] = self.animationCounts[i] + 1 + if self.animationCounts[i] == 40 then + self.animationCounts[i] = 0 + end + end + self.colorFactor = client:hasShaderPack() and 0.5 or 1 + end, "barrier_tick") + + events.RENDER:register(function (delta, context) + if context == "FIRST_PERSON" or context == "RENDER" then + models.models.main.Avatar.barrier:setVisible(true) + for i = 1, 32 do + local opacity = math.abs(-0.025 * (self.animationCounts[i] + delta) + 0.5) + 0.5 + models.models.main.Avatar.barrier.Barrier["Barrier"..i]:setOpacity(opacity) + models.models.main.Avatar.barrier.Barrier["Barrier"..i]:setColor(opacity * self.colorFactor, opacity * self.colorFactor, 1) + end + else + models.models.main.Avatar.barrier:setVisible(false) + end + end, "barrier_render") + + self.isBarrierVisible = true + end; + + ---バリア機能を無効にする。 + ---@param self Barrier + disable = function (self) + models.models.main.Avatar.barrier:setVisible(false) + events.TICK:remove("barrier_tick") + events.RENDER:remove("barrier_render") + self.isBarrierVisible = false + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/bubble.lua b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/bubble.lua new file mode 100644 index 0000000..fc6197b --- /dev/null +++ b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/bubble.lua @@ -0,0 +1,224 @@ +---@alias Bubble.BubbleType +---| "GOOD" # 👍 +---| "HEART" # 💗 +---| "NOTE" # 🎵 +---| "QUESTION" # ❓ +---| "SWEAT" # 💦 +---| "RELOAD" # 弾薬をリロードする絵文字 +---| "DOTS" # … +---| "V" # ✌ + +---@class (exact) Bubble : AvatarModule 吹き出しエモートを管理するクラス +---@field public bubbleCount integer 吹き出しの表示時間を測るカウンター +---@field public emoji Bubble.BubbleType 吹き出しの絵文字 +---@field package duration integer 吹き出しを表示する時間。-1は時間無制限を示す。 +---@field package isAutoBubble boolean 吹き出しエモートが自動で出たものかどうか +---@field package shouldShowInHud boolean 一人称用にHUDに吹き出しを表示するかどうか +---@field package emojiAnimationCount number 絵文字のアニメーションのタイミングを測るカウンター +---@field package isForcedStop boolean 吹き出しエモートが強制停止させられたかどうか +---@field public isChatOpened boolean チャットを開けているかどうか +---@field package isChatOpenedPrev boolean 前ティックにチャットを開けていたかどうか +---@field public play fun(self: Bubble, type: Bubble.BubbleType, duration: integer, offsetPos: Vector2, offsetRot: number, shouldShowInHud: boolean) 吹き出しエモートを再生する +---@field public stop fun(self: Bubble) 吹き出しエモートを停止する + +Bubble = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Bubble + new = function (parent) + ---@type Bubble + local instance = Avatar.instantiate(Bubble, AvatarModule, parent) + + instance.bubbleCount = 0 + instance.emoji = "GOOD" + instance.duration = 0 + instance.isAutoBubble = false + instance.shouldShowInHud = false + instance.emojiAnimationCount = 0 + instance.isForcedStop = false + instance.isChatOpened = false + instance.isChatOpenedPrev = false + + return instance + end; + + ---初期化関数 + ---@param self Bubble + init = function (self) + AvatarModule.init(self) + + models.models.bubble:addChild(models:newPart("Gui", "Gui")) + models.models.bubble.Gui:addChild(models.models.bubble.Camera.AvatarBubble:copy("FirstPersonBubble")) + models.models.bubble.Gui.FirstPersonBubble:setVisible(false) + for _, modelPart in ipairs({models.models.bubble.Camera.AvatarBubble, models.models.bubble.Gui.FirstPersonBubble}) do + modelPart:setScale(0, 0, 0) + end + + --エモートガイド + if host:isHost() then + self.parent.keyManager:register("bubble_1", self.parent.config:loadConfig("PRIVATE", "keybind.bubble_1", "key.keyboard.j")):onPress(function () + if self.parent.exSkill.animationCount == -1 and (self.bubbleCount == 0 or self.isAutoBubble) then + pings.showBubbleEmote("GOOD") + end + end) + self.parent.keyManager:register("bubble_2", self.parent.config:loadConfig("PRIVATE", "keybind.bubble_2", "key.keyboard.k")):onPress(function () + if self.parent.exSkill.animationCount == -1 and (self.bubbleCount == 0 or self.isAutoBubble) then + pings.showBubbleEmote("HEART") + end + end) + self.parent.keyManager:register("bubble_3", self.parent.config:loadConfig("PRIVATE", "keybind.bubble_3", "key.keyboard.n")):onPress(function () + if self.parent.exSkill.animationCount == -1 and (self.bubbleCount == 0 or self.isAutoBubble) then + pings.showBubbleEmote("NOTE") + end + end) + self.parent.keyManager:register("bubble_4", self.parent.config:loadConfig("PRIVATE", "keybind.bubble_4", "key.keyboard.m")):onPress(function () + if self.parent.exSkill.animationCount == -1 and (self.bubbleCount == 0 or self.isAutoBubble) then + pings.showBubbleEmote("QUESTION") + end + end) + self.parent.keyManager:register("bubble_5", self.parent.config:loadConfig("PRIVATE", "keybind.bubble_5", "key.keyboard.comma")):onPress(function () + if self.parent.exSkill.animationCount == -1 and (self.bubbleCount == 0 or self.isAutoBubble) then + pings.showBubbleEmote("SWEAT") + end + end) + end + + events.TICK:register(function () + if host:isHost() then + local isChatOpened = host:isChatOpen() + if isChatOpened ~= self.isChatOpened then + pings.setChatOpen(isChatOpened) + end + self.isChatOpenedPrev = isChatOpened + end + + if player:getActiveItem().id == "minecraft:crossbow" then + if self.bubbleCount == 0 or (self.isAutoBubble and self.emoji ~= "RELOAD") then + self:play("RELOAD", -1, vectors.vec2(), 0, false) + self.isAutoBubble = true + end + elseif self.isChatOpened and self.parent.exSkill.transitionCount == 0 then + if self.bubbleCount == 0 or (self.isAutoBubble and self.emoji ~= "DOTS") then + self:play("DOTS", -1, vectors.vec2(), 0, false) + self.isAutoBubble = true + end + elseif self.isAutoBubble then + self:stop() + self.isAutoBubble = false + end + end) + end; + + ---吹き出しエモートを再生する。 + ---@param self Bubble + ---@param type Bubble.BubbleType 再生する絵文字の種類 + ---@param duration integer 吹き出しを表示している時間。-1にすると停止するまでずっと表示する。 + ---@param offsetPos Vector2 吹き出しの位置のオフセット値 + ---@param offsetRot number アバター周回上の、吹き出しが表示される位置のオフセット値 + ---@param shouldShowInHud boolean 一人称用にHUDに吹き出しを表示するかどうか + play = function (self, type, duration, offsetPos, offsetRot, shouldShowInHud) + self.emoji = type + self.duration = duration + self.shouldShowInHud = shouldShowInHud + self.bubbleCount = 1 + self.emojiAnimationCount = 0 + models.models.bubble.Camera.AvatarBubble.Emoji:setPrimaryTexture("CUSTOM", textures["textures.emojis."..self.emoji:lower()]) + models.models.bubble.Camera.AvatarBubble.Bullets:setVisible(self.emoji == "RELOAD") + models.models.bubble.Camera.AvatarBubble.Dots:setVisible(self.emoji == "DOTS") + if self.shouldShowInHud then + models.models.bubble.Gui.FirstPersonBubble.Emoji:setPrimaryTexture("CUSTOM", textures["textures.emojis."..self.emoji:lower()]) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.item.pickup"), self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar)) + end + + if events.TICK:getRegisteredCount("bubble_tick") == 0 then + events.TICK:register(function () + if not client:isPaused() then + models.models.bubble.Gui.FirstPersonBubble:setVisible(self.shouldShowInHud and renderer:isFirstPerson()) + self.bubbleCount = self.bubbleCount + 1 + if self.bubbleCount == 0 then + for _, modelPart in ipairs({models.models.bubble.Camera.AvatarBubble, models.models.bubble.Gui.FirstPersonBubble, models.models.bubble.Camera.AvatarBubble.Bullets, models.models.bubble.Gui.FirstPersonBubble.Bullets}) do + modelPart:setVisible(false) + end + events.TICK:remove("bubble_tick") + events.RENDER:remove("bubble_render") + if self.parent.characterData.bubble.callbacks ~= nil and self.parent.characterData.bubble.callbacks.onStop ~= nil then + self.parent.characterData.bubble.callbacks.onStop(self.parent.characterData, type, self.isForcedStop) + end + elseif self.duration >= 0 and self.bubbleCount == self.duration + 2 then + self:stop() + end + if self.emoji == "RELOAD" or self.emoji == "DOTS" then + self.emojiAnimationCount = self.emojiAnimationCount + 1 + self.emojiAnimationCount = self.emojiAnimationCount == 25 and 0 or self.emojiAnimationCount + if self.emoji == "DOTS" then + for i = 1, 3 do + models.models.bubble.Camera.AvatarBubble.Dots["Dot"..i]:setVisible(self.emojiAnimationCount >= 6 * i) + end + end + end + end + end, "bubble_tick") + end + + if events.RENDER:getRegisteredCount("bubble_render") == 0 then + events.RENDER:register(function (delta, context) + models.models.bubble.Camera.AvatarBubble:setVisible(context ~= "OTHER") + if not client:isPaused() then + local bubbleScale = math.min(math.abs(0.5 * (self.bubbleCount + delta)), 1) + models.models.bubble.Camera.AvatarBubble:setScale(vectors.vec3(1, 1, 1):scale(bubbleScale)) + local playerPos = self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar) + local avatarBubblePos = context == "PAPERDOLL" and vectors.vec3(0, 32, 0) or vectors.rotateAroundAxis(player:getBodyYaw(delta) + 180, playerPos:copy():sub(player:getPos(delta)):scale(17.067):add(0, 32 + offsetPos.y, 0), 0, 1, 0) + if not renderer:isFirstPerson() then + local cameraPos = client:getCameraPos() + avatarBubblePos:add(vectors.rotateAroundAxis(math.deg(math.atan2(cameraPos.z - playerPos.z, cameraPos.x - playerPos.x) - math.pi / 2) % 360 - (player:getBodyYaw(delta) + offsetRot) % 360, 12 + offsetPos.x, 0, 0, 0, -1, 0)) + else + avatarBubblePos:add(12 + offsetPos.x, 0, 0) + end + models.models.bubble.Camera:setOffsetPivot(avatarBubblePos) + models.models.bubble.Camera.AvatarBubble:setPos(avatarBubblePos) + if host:isHost() and self.shouldShowInHud then + local windowSize = client:getScaledWindowSize() + models.models.bubble.Gui.FirstPersonBubble:setPos(-windowSize.x + 10, -windowSize.y + (action_wheel:isEnabled() and 125 or 10), 0) + models.models.bubble.Gui.FirstPersonBubble:setScale(vectors.vec3(1, 1, 1):scale(bubbleScale * 4)) + end + if self.emoji == "RELOAD" then + local bullet1Counter = math.clamp((self.emojiAnimationCount + delta) * 0.2 - 1, 0, 1) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet1:setPos(0, 1 - bullet1Counter, 0) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet1:setOpacity(bullet1Counter) + local bullet2Counter = math.clamp((self.emojiAnimationCount + delta) * 0.2 - 2, 0, 1) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet2:setPos(0, 1 - bullet2Counter, 0) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet2:setOpacity(bullet2Counter) + local bullet3Counter = math.clamp((self.emojiAnimationCount + delta) * 0.2 - 3, 0, 1) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet3:setPos(0, 1 - bullet3Counter, 0) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet3:setOpacity(bullet3Counter) + end + end + end, "bubble_render") + end + if self.parent.characterData.bubble.callbacks ~= nil and self.parent.characterData.bubble.callbacks.onPlay ~= nil then + self.parent.characterData.bubble.callbacks.onPlay(self.parent.characterData, type, duration, shouldShowInHud) + end + end; + + ---吹き出しエモートを停止する。 + ---@param self Bubble + stop = function (self) + if self.bubbleCount > 0 then + self.isForcedStop = self.duration == -1 or self.bubbleCount < self.duration + 2 + self.bubbleCount = -2 + end + end; +} + +---吹き出しエモートを表示する。 +---@param type Bubble.BubbleType 表示する絵文字の種類 +function pings.showBubbleEmote(type) + AvatarInstance.bubble:play(type, 50, vectors.vec2(), 0, true) + AvatarInstance.bubble.isAutoBubble = false +end + +---Bubbleのチャットを開けているフラグを更新する。 +---@param value boolean 新しい値 +function pings.setChatOpen(value) + AvatarInstance.bubble.isChatOpened = value +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/camera_manager.lua b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/camera_manager.lua new file mode 100644 index 0000000..e985b05 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/camera_manager.lua @@ -0,0 +1,99 @@ +---@class (exact) CameraManager : AvatarModule カメラ制御全般を管理するクラス +---@field package COLLISION_DENIAL_DISABLED boolean カメラの当たり判定打ち消し機能を無効にする。撮影用。 +---@field package thirdPersonCameraDistance number 三人称視点でのカメラと回転軸の距離 +---@field package isCameraCollisionDenialEnabled boolean 三人称視点でのカメラの当たり判定打ち消し機能が有効かどうか +---@field public setCameraManagerRender fun(self: CameraManager, enabled: boolean) CameraManagerのレンダー関数を設定する +---@field public setCameraPivot fun(newPivot?: Vector3) カメラの回転軸のオフセット位置を変更する +---@field public setCameraRot fun(newRot?: Vector3) カメラ方向を変更する +---@field public setThirdPersonCameraDistance fun(self: CameraManager, distance: number) 三人称視点でのカメラと回転軸の距離を設定する +---@field public setCameraCollisionDenial fun(self: CameraManager, enabled: boolean) カメラの当たり判定打ち消し機能を設定する + +CameraManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return CameraManager + new = function (parent) + ---@type CameraManager + local instance = Avatar.instantiate(CameraManager, AvatarModule, parent) + + instance.COLLISION_DENIAL_DISABLED = false + instance.thirdPersonCameraDistance = 4 + instance.isCameraCollisionDenialEnabled = false + + return instance + end; + + ---CameraManagerのレンダー関数を設定する。 + ---@param self CameraManager + ---@param enabled boolean CameraManagerのレンダー関数を有効化するかどうか + setCameraManagerRender = function (self, enabled) + if enabled and events.RENDER:getRegisteredCount("camera_manager_render") == 0 then + events.RENDER:register(function () + if renderer:isFirstPerson() then + renderer:setCameraPos() + else + local rawOffsetCameraPivot = renderer:getCameraOffsetPivot() + rawOffsetCameraPivot = rawOffsetCameraPivot == nil and vectors.vec3() or rawOffsetCameraPivot + local cameraPivot = player:getPos():add(0, 1.62, 0):add(rawOffsetCameraPivot) + local cameraDir = client:getCameraDir() + local baseVector = vectors.rotateAroundAxis(math.deg(math.asin(cameraDir.y)), 0, 0.21, 0, vectors.rotateAroundAxis(math.deg(math.atan2(cameraDir.z, cameraDir.x)) * -1 - 90, 1, 0, 0, 0, 1, 0)) + local minDistance = math.max(self.thirdPersonCameraDistance, 4) + if not self.COLLISION_DENIAL_DISABLED then + for i = 0, 3 do + local startPos = vectors.rotateAroundAxis(i * 90 + 45, baseVector:copy(), cameraDir):add(cameraPivot) + local _, collisionPos, _ = raycast:block(startPos, startPos:copy():add(cameraDir:copy():scale(-4)), "VISUAL", "NONE") + minDistance = math.min(collisionPos:copy():sub(startPos):length(), minDistance) + end + end + renderer:setCameraPos(0, 0, (minDistance > self.thirdPersonCameraDistance or self.isCameraCollisionDenialEnabled) and self.thirdPersonCameraDistance - minDistance or 0) + end + end, "camera_manager_render") + elseif not enabled then + events.RENDER:remove("camera_manager_render") + renderer:setCameraPos() + end + end; + + ---カメラの回転軸のオフセット位置を変更する。 + ---@param newPivot? Vector3 設定する新しいカメラ回転軸のオフセット位置。nilの場合は設定値がリセットされる。 + setCameraPivot = function (newPivot) + if host:isHost() then + renderer:setOffsetCameraPivot(newPivot) + end + end; + + ---カメラ方向を変更する。 + ---@param newRot? Vector3 設定する新しいカメラのオフセット方向。nilの場合は設定値がリセットされる。 + setCameraRot = function (newRot) + if host:isHost() then + renderer:setCameraRot(newRot) + end + end; + + ---三人称視点でのカメラと回転軸の距離を設定する。 + ---@param self CameraManager + ---@param distance number 設定する新しい距離(ブロック単位)。デフォルトは4ブロック。 + setThirdPersonCameraDistance = function (self, distance) + if host:isHost() then + if distance ~= 4 then + self:setCameraManagerRender(true) + elseif not self.isCameraCollisionDenialEnabled then + self:setCameraManagerRender(false) + end + self.thirdPersonCameraDistance = distance + end + end; + + ---カメラの当たり判定打ち消し機能を設定する。 + ---@param enabled boolean カメラの当たり判定打ち消し機能を有効にするかどうか。有効にするとカメラがブロックの中にめり込むようになる。 + setCameraCollisionDenial = function (self, enabled) + if host:isHost() then + if enabled then + self:setCameraManagerRender(true) + elseif self.thirdPersonCameraDistance == 4 then + self:setCameraManagerRender(false) + end + self.isCameraCollisionDenialEnabled = enabled + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/config.lua b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/config.lua new file mode 100644 index 0000000..70b0382 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/config.lua @@ -0,0 +1,116 @@ +---@alias Config.Storage +---| "PUBLIC" # FBACキャラクター共通ストレージ +---| "PRIVATE" # キャラクター固有ストレージ + +---@class (exact) Config : AvatarModule アバター設定を管理するクラス +---@field package privateStorageName string キャラクター固有ストレージの名前 +---@field package defaultValues {[string]: number|boolean|string} 読み込んだ値のデフォルト値を保持するテーブル +---@field package nextSyncCount integer 次の同期pingまでのカウンター +---@field package isSynced boolean 設定値がホストと同期されているかどうか +---@field public loadConfig fun(self: Config, storage: Config.Storage, keyName: string, defaultValue: any): any 設定を読み出す +---@field public saveConfig fun(self: Config, storage: Config.Storage, keyName: string, valueToSave: any) 設定を保存する + +Config = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Config + new = function (parent) + ---@type Config + local instance = Avatar.instantiate(Config, AvatarModule, parent) + + instance.privateStorageName = "BlueArchive_"..instance.parent.characterData.basic.firstName.en_us..instance.parent.characterData.basic.lastName.en_us + instance.defaultValues = {} + instance.nextSyncCount = 0 + instance.isSynced = host:isHost() + + return instance + end; + + ---初期化関数 + ---@param self Config + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + events.TICK:register(function () + if self.nextSyncCount == 0 then + pings.syncAvatarConfig(self.parent.nameplate.currentName, self.parent.nameplate.shouldShowClubName, self.parent.costume.currentCostume, self.parent.armor.shouldShowArmor, self.parent.actionWheel.shouldReplaceVehicleModels, self.parent.bubble.isChatOpened, self.parent.characterData.dataSync.syncData) + self.nextSyncCount = 300 + else + self.nextSyncCount = self.nextSyncCount - 1 + end + end) + end + end; + + ---設定を読み出す。 + ---@generic T + ---@param self Config + ---@param storage Config.Storage 読み出し先のストレージ + ---@param keyName string 読み出す設定の名前 + ---@param defaultValue `T` 該当の設定が無い場合や、ホスト外での実行の場合はこの値が返される。 + ---@return `T` loadedValue 読み出した値 + loadConfig = function (self, storage, keyName, defaultValue) + if host:isHost() then + if storage == "PUBLIC" then + config:setName("BlueArchive_public") + else + config:setName(self.privateStorageName) + end + local loadedData = config:load(keyName) + self.defaultValues[keyName] = defaultValue + if loadedData ~= nil then + return loadedData + else + return defaultValue + end + else + return defaultValue + end + end; + + ---設定を保存する。 + ---@param self Config + ---@param storage Config.Storage 書き込み先のストレージ + ---@param keyName string 保存する設定の名前 + ---@param valueToSave any 保存する値 + saveConfig = function (self, storage, keyName, valueToSave) + if host:isHost() then + if storage == "PUBLIC" then + config:setName("BlueArchive_public") + else + config:setName(self.privateStorageName) + end + if self.defaultValues[keyName] == valueToSave then + config:save(keyName, nil) + else + config:save(keyName, valueToSave) + end + end + end; +} + +---アバター設定を他Figuraクライアントと同期する。 +---@param nameTypeId integer 表示名の種類ID +---@param shouldShowClubName boolean 部活名を表示するかどうか +---@param costumeId integer 現在の衣装ID +---@param shouldShowArmor boolean 防具が見えているかどうか +---@param shouldReplaceVehicleModels boolean 乗り物モデルを置き換えるかどうか +---@param isChatOpened boolean チャット欄を開いているかどうか +---@param additionalData {[string]: any} キャラクター固有用に追加で同期するデータ +function pings.syncAvatarConfig(nameTypeId, shouldShowClubName, costumeId, shouldShowArmor, shouldReplaceVehicleModels, isChatOpened, additionalData) + if not AvatarInstance.config.isSynced then + AvatarInstance.nameplate:setName(nameTypeId, shouldShowClubName) + AvatarInstance.armor.shouldShowArmor = shouldShowArmor + AvatarInstance.actionWheel.shouldReplaceVehicleModels = shouldReplaceVehicleModels + AvatarInstance.bubble.isChatOpened = isChatOpened + if costumeId >= 2 then + AvatarInstance.costume:setCostume(costumeId) + end + AvatarInstance.characterData.dataSync.syncData = additionalData + if AvatarInstance.characterData.dataSync.callbacks ~= nil and AvatarInstance.characterData.dataSync.callbacks.onDataSynced ~= nil then + AvatarInstance.characterData.dataSync.callbacks.onDataSynced(AvatarInstance.characterData) + end + AvatarInstance.config.isSynced = true + end +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/costume.lua b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/costume.lua new file mode 100644 index 0000000..650a557 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/costume.lua @@ -0,0 +1,113 @@ +---@class (exact) Costume : AvatarModule キャラクターのコスチュームを管理し、円滑に切り替えられるようにするクラス +---@field public costumeList string[] 利用可能なコスチューム一覧。BlueArchiveCharacterクラスから動的に生成される。 +---@field public currentCostume integer 現在のコスチューム +---@field public isChangingCostume boolean コスチュームを変更中かどうか +---@field public getCostumeLocalName fun(self: Costume, costumeId: integer) 設定言語を考慮した、衣装の名前を返す +---@field public setCostumeTextureOffset fun(offset: integer) メインモデルのテクスチャのオフセット値を設定する +---@field public setCostume fun(self: Costume, costume: integer) コスチュームを設定する +---@field public resetCostume fun(self: Costume) コスチュームをリセットしデフォルトのコスチュームにする + +Costume = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Costume + new = function (parent) + ---@type Costume + local instance = Avatar.instantiate(Costume, AvatarModule, parent) + + instance.costumeList = {} + instance.currentCostume = instance.parent.config:loadConfig("PRIVATE", "costume", 1) + instance.isChangingCostume = false + + return instance + end; + + ---初期化関数 + ---@param self Costume + init = function (self) + AvatarModule.init(self) + + for _, costume in ipairs(self.parent.characterData.costume.costumes) do + table.insert(self.costumeList, costume.name) + end + if self.currentCostume >= 2 then + if self.costumeList[self.currentCostume] ~= nil then + self:setCostume(self.currentCostume) + else + self.currentCostume = 1 + if host:isHost() then + self.parent.config:saveConfig("PRIVATE", "costume", 1) + end + end + end + self.parent.headBlock:generateHeadModel() + self.parent.portrait:generateHeadModel() + + events.TICK:register(function () + self.isChangingCostume = false + end) + end; + + ---設定言語を考慮した、衣装の名前を返す。 + ---@param self Costume + ---@param costumeId integer ローカル名を取得する衣装のID + ---@return string localCostumeName 衣装のローカル名 + getCostumeLocalName = function(self, costumeId) + return self.parent.locale:getLocale("costume."..self.costumeList[costumeId]) + end; + + ---メインモデルのテクスチャのオフセット値を設定する。 + ---@param offset integer オフセット値 + setCostumeTextureOffset = function (offset) + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Body.Body, models.models.main.Avatar.UpperBody.Body.BodyLayer, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArm, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmLayer, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.RightArmBottom, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.RightArmBottomLayer, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArm, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmLayer, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.LeftArmBottom, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.LeftArmBottomLayer, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLeg, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegLayer, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.RightLegBottom, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.RightLegBottomLayer, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLeg, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegLayer, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.LeftLegBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.LeftLegBottomLayer}) do + modelPart:setUVPixels(0, offset * 48) + end + end; + + ---コスチュームを設定する。 + ---@param self Costume + ---@param costume integer 設定するコスチューム + setCostume = function(self, costume) + self:resetCostume() + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onChange ~= nil then + self.parent.characterData.costume.callbacks.onChange(self.parent.characterData, self.parent.characterData.costume.costumes[costume].name:upper()) + end + self.parent.headBlock:generateHeadModel() + self.parent.portrait:generateHeadModel() + if self.parent.armor.isArmorVisible.chestplate then + self.parent.armor:setChestplate(self.parent.armor.armorSlotItems[2]) + end + if self.parent.armor.isArmorVisible.leggings then + self.parent.armor:setLeggings(self.parent.armor.armorSlotItems[3]) + end + if self.parent.armor.isArmorVisible.boots then + self.parent.armor:setBoots(self.parent.armor.armorSlotItems[4]) + end + self.currentCostume = costume + end; + + ---コスチュームをリセットし、デフォルトのコスチュームにする。 + ---@param self Costume + resetCostume = function (self) + self.isChangingCostume = true + if self.parent.exSkill.transitionCount > 0 then + self.parent.exSkill:forceStop() + end + self.setCostumeTextureOffset(0) + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onReset ~= nil then + self.parent.characterData.costume.callbacks.onReset(self.parent.characterData) + end + self.parent.headBlock:generateHeadModel() + self.parent.portrait:generateHeadModel() + if self.parent.armor.isArmorVisible.chestplate then + self.parent.armor:setChestplate(self.parent.armor.armorSlotItems[2]) + end + if self.parent.armor.isArmorVisible.leggings then + self.parent.armor:setLeggings(self.parent.armor.armorSlotItems[3]) + end + if self.parent.armor.isArmorVisible.boots then + self.parent.armor:setBoots(self.parent.armor.armorSlotItems[4]) + end + self.currentCostume = 1 + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/death_animation.lua b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/death_animation.lua new file mode 100644 index 0000000..65583f8 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/death_animation.lua @@ -0,0 +1,294 @@ +---@class (exact) DeathAnimation : AvatarModule プレイヤーが死亡した際のキャラクターがヘリコプターで回収されるアニメーションを管理するクラス +---@field package DEBUG_MODE boolean デバッグモードを有効にするかどうか。デバッグモードモードではxキーでフェーズ1のモデルを、cキーでフェーズ2のモデルを表示できる。 +---@field public dummyAvatarRoot? ModelPart 死亡アニメーションに使用されるダミーのアバターのルート。アバターが未生成の場合はnilが入っている。 +---@field package animationCount integer 死亡アニメーションの再生カウンター +---@field package animationPos Vector3 アニメーションを再生している場所の座標 +---@field package animationRot number アニメーションを再生している向き(度数法で示す) +---@field package costumeIndex integer 死亡アニメーションのコスチュームのインデックス +---@field package isPlayerInvisible boolean プレイヤーモデルが不可視状態かどうか +---@field package isScriptLoaded false スクリプトを全て読み込んだかどうか +---@field package removeUnsafeModel fun(target?: ModelPart) 存在しないかもしれないモデルパーツを安全に削除する +---@field package spawnHelicopterParticles fun(self: DeathAnimation) ヘリコプターの出現/消滅パーティクルを生成する +---@field package generateDummyAvatar fun(self: DeathAnimation, parent: ModelPart) 死亡アニメーション用のダミーアバターを生成する +---@field package resetDummyAvatar fun(avatarRoot: ModelPart) ダミーアバター状態をリセットする +---@field package setPhase1Pose fun(avatarRoot: ModelPart) ダミーアバターをフェーズ1のポーズにする +---@field package setPhase2Pose fun(avatarRoot: ModelPart) ダミーアバターをフェーズ2のポーズにする +---@field package play fun(self: DeathAnimation) 死亡アニメーションを再生する +---@field package stop fun(self: DeathAnimation) 死亡アニメーションを停止する + +DeathAnimation = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return DeathAnimation + new = function (parent) + ---@type DeathAnimation + local instance = Avatar.instantiate(DeathAnimation, AvatarModule, parent) + + instance.DEBUG_MODE = false + + instance.dummyAvatarRoot = models.models.death_animation.Avatar + instance.animationCount = 0 + instance.animationPos = vectors.vec3() + instance.animationRot = 0 + instance.costumeIndex = 1 + instance.isPlayerInvisible = false + instance.isScriptLoaded = false + + return instance + end; + + ---初期化関数 + ---@param self DeathAnimation + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + if self.parent.playerUtils.damageStatus == "DIED" then + self:play() + models.models.main:setVisible(false) + for _, vanillaModel in ipairs({vanilla_model.RIGHT_ITEM, vanilla_model.LEFT_ITEM, vanilla_model.ELYTRA}) do + vanillaModel:setVisible(false) + end + self.isPlayerInvisible = true + end + if self.isPlayerInvisible and player:getHealth() > 0 then + models.models.main:setVisible(true) + for _, vanillaModel in ipairs({vanilla_model.RIGHT_ITEM, vanilla_model.LEFT_ITEM, vanilla_model.ELYTRA}) do + vanillaModel:setVisible(true) + end + self.isPlayerInvisible = false + end + end) + + self.parent.avatarEvents.SCRIPT_INIT:register(function () + self.isScriptLoaded = true + end) + + if self.DEBUG_MODE then + models:addChild(models:newPart("script_death_animation_debug", "World")) + keybinds:newKeybind("[DEBUG] Spawn death animation phase1 model", "key.keyboard.x"):onPress(function () + self.removeUnsafeModel(models.script_death_animation_debug.Avatar) + self:generateDummyAvatar(models.script_death_animation_debug) + self.resetDummyAvatar(models.script_death_animation_debug.Avatar) + self.setPhase1Pose(models.script_death_animation_debug.Avatar) + models.script_death_animation_debug.Avatar:setPos(player:getPos():add(0, -0.75, 0):scale(16)) + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onPhase1 ~= nil then + self.parent.characterData.deathAnimation.callbacks.onPhase1(self.parent.characterData, models.script_death_animation_debug.Avatar, self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].name:upper()) + end + end) + keybinds:newKeybind("[DEBUG] Spawn death animation phase2 model", "key.keyboard.c"):onPress(function () + self.removeUnsafeModel(models.script_death_animation_debug.Avatar) + self:generateDummyAvatar(models.script_death_animation_debug) + self.resetDummyAvatar(models.script_death_animation_debug.Avatar) + self.setPhase2Pose(models.script_death_animation_debug.Avatar) + models.script_death_animation_debug.Avatar:setPos(player:getPos():scale(16)) + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onPhase1 ~= nil then + self.parent.characterData.deathAnimation.callbacks.onPhase1(self.parent.characterData, models.script_death_animation_debug.Avatar, self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].name:upper()) + end + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onPhase2 ~= nil then + self.parent.characterData.deathAnimation.callbacks.onPhase2(self.parent.characterData, models.script_death_animation_debug.Avatar, self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].name:upper()) + end + end) + end + end; + + ---存在しないかもしれないモデルパーツを安全に削除する。 + ---@param target? ModelPart 削除対象のモデルパーツ + removeUnsafeModel = function (target) + if target ~= nil then + target:getParent():removeChild(target) + target:remove() + end + end; + + ---ヘリコプターの出現/消滅パーティクルを生成する。 + ---@param self DeathAnimation + spawnHelicopterParticles = function (self) + local helicopterPos = self.parent.modelUtils.getModelWorldPos(models.models.death_animation.Helicopter) + for _ = 1, 100 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:poof"), helicopterPos:copy():add(vectors.rotateAroundAxis(self.animationRot, math.random() * 9.375 - 4.6875, math.random() * 11.125 - 5.5625, math.random() * 23.875 - 11.9375, 0, math.abs(helicopterPos.y), 0))) + end + end; + + ---死亡アニメーション用のダミーアバターを生成する。 + ---@param self DeathAnimation + ---@param parent ModelPart ダミーアバターをアタッチする親のモデルパーツ + generateDummyAvatar = function (self, parent) + local isArmorVisible = { + helmet = self.parent.armor.isArmorVisible.helmet; + chestplate = self.parent.armor.isArmorVisible.chestplate; + leggings = self.parent.armor.isArmorVisible.leggings; + boots = self.parent.armor.isArmorVisible.boots; + } + if isArmorVisible.helmet then + self.parent.armor:setHelmet(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + if isArmorVisible.chestplate then + self.parent.armor:setChestplate(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + if isArmorVisible.leggings then + self.parent.armor:setLeggings(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + if isArmorVisible.boots then + self.parent.armor:setBoots(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + self.parent.physics:disable() + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onBeforeModelCopy ~= nil then + self.parent.characterData.deathAnimation.callbacks.onBeforeModelCopy(self.parent.characterData, self.isScriptLoaded) + end + + parent:addChild(self.parent.modelUtils:copyModel(models.models.main.Avatar)) + parent.Avatar.Head.FaceParts.Eyes.EyeRight:setUVPixels(self.parent.characterData.faceParts.leftEye.TIRED:copy():scale(6)) + parent.Avatar.Head.FaceParts.Eyes.EyeLeft:setUVPixels(self.parent.characterData.faceParts.rightEye.TIRED:copy():scale(6)) + parent.Avatar.Head.HeadRing:setRot() + for _, modelPart in ipairs({parent.Avatar.UpperBody.Arms.RightArm.RightArmBottom.RightItemPivot, parent.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.LeftItemPivot}) do + modelPart:remove() + end + local unsafeModels = {parent.Avatar.Head.FaceParts.Mouth, parent.Avatar.Head.ArmorH, parent.Avatar.UpperBody.Body.ArmorB, parent.Avatar.UpperBody.Arms.RightArm.ArmorRA, parent.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB, parent.Avatar.UpperBody.Arms.LeftArm.ArmorLA, parent.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB, parent.Avatar.LowerBody.Legs.RightLeg.ArmorRL, parent.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB, parent.Avatar.LowerBody.Legs.LeftLeg.ArmorLL, parent.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB} + for i = 1, 11 do + self.removeUnsafeModel(unsafeModels[i]) + end + if parent.Avatar.UpperBody.Body.Gun ~= nil then + if self.parent.characterData.gun.gunPosition.put.type == "BODY" then + local leftHanded = player:isLeftHanded() + parent.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, 12, 0):add(self.parent.characterData.gun.gunPosition.put.pos[leftHanded and "left" or "right"])) + parent.Avatar.UpperBody.Body.Gun:setRot(self.parent.characterData.gun.gunPosition.put.rot[leftHanded and "left" or "right"]) + else + parent.Avatar.UpperBody.Body.Gun:remove() + end + end + + if isArmorVisible.helmet then + self.parent.armor:setHelmet(self.parent.armor.armorSlotItems[1]) + end + if isArmorVisible.chestplate then + self.parent.armor:setChestplate(self.parent.armor.armorSlotItems[2]) + end + if isArmorVisible.leggings then + self.parent.armor:setLeggings(self.parent.armor.armorSlotItems[3]) + end + if isArmorVisible.boots then + self.parent.armor:setBoots(self.parent.armor.armorSlotItems[4]) + end + self.parent.physics:enable() + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onAfterModelCopy ~= nil then + self.parent.characterData.deathAnimation.callbacks.onAfterModelCopy(self.parent.characterData, self.isScriptLoaded) + end + end; + + ---ダミーアバター状態をリセットする。 + ---@param avatarRoot ModelPart ダミーアバターのルート + resetDummyAvatar = function (avatarRoot) + for _, modelPart in ipairs({avatarRoot, avatarRoot.Head, avatarRoot.UpperBody, avatarRoot.UpperBody.Body, avatarRoot.UpperBody.Arms, avatarRoot.UpperBody.Arms.RightArm, avatarRoot.UpperBody.Arms.RightArm.RightArmBottom, avatarRoot.UpperBody.Arms.LeftArm, avatarRoot.UpperBody.Arms.LeftArm.LeftArmBottom, avatarRoot.LowerBody, avatarRoot.LowerBody.Legs, avatarRoot.LowerBody.Legs.RightLeg, avatarRoot.LowerBody.Legs.RightLeg.RightLegBottom, avatarRoot.LowerBody.Legs.LeftLeg, avatarRoot.LowerBody.Legs.LeftLeg.LeftLegBottom}) do + modelPart:setPos() + modelPart:setRot() + modelPart:setScale() + end + end; + + ---ダミーアバターをフェーズ1のポーズにする。 + ---@param avatarRoot ModelPart ダミーアバターのルート + setPhase1Pose = function (avatarRoot) + avatarRoot:setPos(0, -12, 0) + avatarRoot.Head:setRot(-30, 0, 0) + avatarRoot.UpperBody.Arms.RightArm:setRot(35, 0, -20) + avatarRoot.UpperBody.Arms.LeftArm:setRot(35, 0, 20) + avatarRoot.LowerBody.Legs.RightLeg:setRot(90, -10, 0) + avatarRoot.LowerBody.Legs.LeftLeg:setRot(90, 10, 0) + end; + + ---ダミーアバターをフェーズ2のポーズにする。 + ---@param avatarRoot ModelPart ダミーアバターのルート + setPhase2Pose = function (avatarRoot) + avatarRoot:setPos(3, -210, 2) + avatarRoot:setRot(105, 75, 90) + avatarRoot.Head:setRot(0, -40, 0) + avatarRoot.UpperBody.Arms.RightArm:setRot(47.5, 0, 20) + avatarRoot.UpperBody.Arms.LeftArm:setRot(-30, 0, -15) + avatarRoot.LowerBody.Legs.RightLeg:setRot(80, 0, 0) + avatarRoot.LowerBody.Legs.RightLeg.RightLegBottom:setRot(-75, 0, 0) + avatarRoot.LowerBody.Legs.LeftLeg:setRot(10, 0, 0) + avatarRoot:setLight() + end; + + ---死亡アニメーションを再生する。 + ---@param self DeathAnimation + play = function (self) + self:stop() + self.costumeIndex = self.parent.costume.currentCostume + + --ダミーアバターを生成する。 + local unsafeModels = {models.models.death_animation.Avatar, models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14.Avatar} + for i = 1, 2 do + self.removeUnsafeModel(unsafeModels[i]) + end + self:generateDummyAvatar(models.models.death_animation) + + --死亡アニメーションを生成する。 + self.resetDummyAvatar(models.models.death_animation.Avatar) + self.setPhase1Pose(models.models.death_animation.Avatar) + self.animationPos = player:getPos() + models.models.death_animation:setPos(self.animationPos:copy():scale(16)) + self.animationRot = (player:getBodyYaw() * -1 + 180) % 360 + models.models.death_animation:setRot(0, self.animationRot) + models.models.death_animation:setVisible(true) + animations["models.death_animation"]["death_animation"]:play() + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onPhase1 ~= nil then + self.parent.characterData.deathAnimation.callbacks.onPhase1(self.parent.characterData, models.models.death_animation.Avatar, self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].name:upper()) + end + + if events.TICK:getRegisteredCount("death_animation_tick") == 0 then + events.TICK:register(function () + local particleAnchorPos = self.parent.modelUtils.getModelWorldPos(models.models.death_animation.DeathAnimationParticleAnchor) + for _ = 1, 3 do + local particleRot = math.random() * math.pi * 2 + local particleOffset = math.random() * 3 + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:poof"), particleAnchorPos:copy():add(math.cos(particleRot) * particleOffset, 0, math.sin(particleRot) * particleOffset)):setVelocity(math.cos(particleRot), 0, math.sin(particleRot)) + + end + if self.animationCount % 2 == 1 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.bamboo_wood_door.close"), self.parent.modelUtils.getModelWorldPos(models.models.death_animation.Helicopter.DeathAnimationSoundAnchor1), 1, 0.5):setAttenuation(2) + end + if self.animationCount < 120 then + models.models.death_animation.Avatar:setLight(world.getLightLevel(self.animationPos)) + end + if self.animationCount == 1 then + self:spawnHelicopterParticles() + elseif self.animationCount == 10 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.iron_door.open"), self.parent.modelUtils.getModelWorldPos(models.models.death_animation.Helicopter.DeathAnimationSoundAnchor1), 1, 0.5) + elseif self.animationCount >= 57 and self.animationCount < 76 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.attack.sweep"), self.parent.modelUtils.getModelWorldPos(models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14), 0.25, -0.056 * (self.animationCount - 57) + 2) + elseif self.animationCount == 120 then + self.dummyAvatarRoot = models.models.death_animation.Avatar:moveTo(models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14) + self.setPhase2Pose(models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14.Avatar) + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onPhase2 ~= nil then + self.parent.characterData.deathAnimation.callbacks.onPhase2(self.parent.characterData, models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14.Avatar, self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].name:upper()) + end + elseif self.animationCount == 180 then + models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14.Avatar:setVisible(false) + elseif self.animationCount == 230 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.iron_door.close"), self.parent.modelUtils.getModelWorldPos(models.models.death_animation.Helicopter.DeathAnimationSoundAnchor1), 1, 0.5) + elseif self.animationCount == 255 then + self:spawnHelicopterParticles() + self:stop() + end + end, "death_animation_tick") + end + if events.WORLD_TICK:getRegisteredCount("death_animation_world_tick") == 0 then + events.WORLD_TICK:register(function () + self.animationCount = self.animationCount + 1 + end, "death_animation_world_tick") + end + end; + + ---死亡アニメーションを停止する。 + ---@param self DeathAnimation + stop = function (self) + models.models.death_animation:setVisible(false) + animations["models.death_animation"]["death_animation"]:stop() + events.TICK:remove("death_animation_tick") + events.WORLD_TICK:remove("death_animation_world_tick") + self.dummyAvatarRoot = nil + self.animationCount = 0 + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/events/abstract_event.lua b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/events/abstract_event.lua new file mode 100644 index 0000000..e6af2e5 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/events/abstract_event.lua @@ -0,0 +1,71 @@ +---@class AbstractEvent : AvatarModule +---@field public registerTable {[string]: fun()[]} 登録されたコールバック関数を管理するテーブル +---@field public register fun(self: AbstractEvent, callback: fun(...: any), name?: string) イベントにコールバック関数登録する +---@field public remove fun(self: AbstractEvent, name: string) 指定した名前のコールバック関数を1つ削除する +---@field public getRegisteredCount fun(self: AbstractEvent, name: string): integer 指定した名前で登録されているコールバック関数の数を返す +---@field public fire fun(self: AbstractEvent, ...: any) 登録された全てのコールバック関数を呼ぶ + +AbstractEvent = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return AbstractEvent + new = function (parent) + ---@type AbstractEvent + local instance = Avatar.instantiate(AbstractEvent, AvatarModule, parent) + + instance.registerTable = {} + + return instance + end; + + ---イベントにコールバック関数登録する。 + ---@param self AbstractEvent + ---@param callback fun(...: any) 登録するコールバック関数 + ---@param name? string コールバック関数の名前 + register = function (self, callback, name) + local callbackName = name ~= nil and name or client.intUUIDToString(client.generateUUID()) + if self.registerTable[callbackName] ~= nil then + table.insert(self.registerTable[callbackName], callback) + else + local callbackTable = {} + table.insert(callbackTable, callback) + self.registerTable[callbackName] = callbackTable + end + end; + + ---指定した名前のコールバック関数を1つ削除する。 + ---@param self AbstractEvent + ---@param name string コールバック関数の名前 + remove = function (self, name) + if self.registerTable[name] ~= nil then + table.remove(self.registerTable[name]) + if #self.registerTable[name] == 0 then + self.registerTable[name] = nil + end + end + end; + + ---指定した名前で登録されているコールバック関数の数を返す。 + ---@param self AbstractEvent + ---@param name string コールバック関数の名前 + ---@return integer registeredCount 登録されていたコールバック関数の数 + getRegisteredCount = function (self, name) + if self.registerTable[name] ~= nil then + return #self.registerTable[name] + else + return 0 + end + end; + + ---登録された全てのコールバック関数を呼ぶ。 + ---@param self AbstractEvent + ---@param ... any callbackArgs コールバック引数 + fire = function (self, ...) + for _, eventTable in pairs(self.registerTable) do + for _, callback in ipairs(eventTable) do + ---@diagnostic disable-next-line: redundant-parameter + callback(...) + end + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/events/avatar_events.lua b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/events/avatar_events.lua new file mode 100644 index 0000000..b2fd6e8 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/events/avatar_events.lua @@ -0,0 +1,16 @@ +---@class AvatarEvents : AvatarModule アバター独自のイベントを定義し、管理するクラス +---@field public SCRIPT_INIT ScriptInitEvent 全てのスクリプトの初期化が完了した後に1度だけ呼ばれるイベント + +AvatarEvents = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return AvatarEvents + new = function (parent) + ---@type AvatarEvents + local instance = Avatar.instantiate(AvatarEvents, AvatarModule, parent) + + instance.SCRIPT_INIT = ScriptInitEvent.new(instance.parent) + + return instance + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/events/script_init_event.lua b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/events/script_init_event.lua new file mode 100644 index 0000000..44c62e7 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/events/script_init_event.lua @@ -0,0 +1,25 @@ +---@class ScriptInitEvent : AbstractEvent 全てのスクリプトの初期化が完了した後に1度だけ呼ばれるイベント +---@field public register fun(self: AbstractEvent, callback: fun(), name?: string) イベントにコールバック関数登録する +---@field public fire fun(self: AbstractEvent) 登録された全てのコールバック関数を呼ぶ + +ScriptInitEvent = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ScriptInitEvent + new = function (parent) + ---@type ScriptInitEvent + local instance = Avatar.instantiate(ScriptInitEvent, AbstractEvent, parent) + + return instance + end; + + ---登録された全てのコールバック関数を呼ぶ。 + ---@param self ScriptInitEvent + fire = function (self, ...) + for _, eventTable in pairs(self.registerTable) do + for _, callback in ipairs(eventTable) do + callback() + end + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/ex_skill/ex_skill.lua b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/ex_skill/ex_skill.lua new file mode 100644 index 0000000..dcc10ca --- /dev/null +++ b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/ex_skill/ex_skill.lua @@ -0,0 +1,434 @@ +---@alias ExSkill.AutoPlayMode +---| "NONE" # 自動再生なし +---| "MAIN" # メインExスキル +---| "SUB" # サブExスキル + +---@alias ExSkill.TransitionPhase +---| "PRE" # Exスキルアニメーション開始前 +---| "POST" # Exスキルアニメーション終了後 + +---@class (exact) ExSkill : AvatarModule Exスキルのアニメーションを管理するクラス +---@field package AUTO_PLAY ExSkill.AutoPlayMode アバター読み込み時に自動的にExスキルが再生される。デバッグ用。 +---@field public frameParticleAmount integer Exスキルフレームのパーティクルの量:1. 標準, 2. 少なめ, 3. なし, 4. Exスキルフレーム非表示、パーティクル量は標準 +---@field package exSkillIndex integer 現在再生中のExスキルのインデックス番号 +---@field public animationCount integer Exスキルのアニメーション再生中に増加するカウンター。-1はアニメーション停止中を示す。 +---@field package animationLength number Exスキルのアニメーションの長さ。スクリプトで自動で代入する。 +---@field public transitionCount number Exスキルのアニメーション前後のカメラのトランジションの進捗を示すカウンター +---@field package keyPressCount integer Exスキルキーを押下し続ける時間を計るカウンター +---@field package bodyYaw number[] プレイヤーの体の回転 +---@field package isDebugInit boolean デバッグモードが初期化されたかどうか +---@field public canPlayAnimation fun(self: ExSkill): boolean アニメーションが再生可能かどうかを返す +---@field package transition fun(self: ExSkill, direction: ExSkill.TransitionPhase, callback: fun()) Exスキルのアニメーションの前後のカメラのトランジションを行う関数 +---@field public play fun(self: ExSkill, isSubExSkill: boolean) アニメーションを再生する +---@field public stop fun(self: ExSkill) アニメーションを停止する +---@field public forceStop fun(self: ExSkill) アニメーションを停止する。終了時のトランジションも無効。 + +ExSkill = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ExSkill + new = function (parent) + ---@type ExSkill + local instance = Avatar.instantiate(ExSkill, AvatarModule, parent) + + instance.AUTO_PLAY = "NONE" + + instance.frameParticleAmount = instance.parent.config:loadConfig("PRIVATE", "exSkillFrameParticleAmount", 1) + instance.exSkillIndex = 1 + instance.animationCount = -1 + instance.animationLength = 0 + instance.transitionCount = 0 + instance.keyPressCount = 0 + instance.bodyYaw = {} + instance.isDebugInit = false + + return instance + end; + + ---初期化関数 + ---@param self ExSkill + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + for _, exSkill in ipairs(self.parent.characterData.exSkill) do + local offset = (exSkill.camera.fixMode ~= nil and exSkill.camera.fixMode) and 1 or 0.9375 + exSkill.camera.start.pos:mul(-1, 1, 1):scale(1 / 16 * offset) + exSkill.camera.fin.pos:mul(-1, 1, 1):scale(1 / 16 * offset) + end + + local exSkillKey = self.parent.keyManager:register("ex_skill", self.parent.config:loadConfig("PRIVATE", "keybind.ex_skill", "key.keyboard.g")) + exSkillKey:setOnPress(function () + while events.TICK:getRegisteredCount("ex_skill_keypress_tick") > 0 do + events.TICK:remove("ex_skill_keypress_tick") + end + events.TICK:register(function () + if self.keyPressCount == 30 then + events.TICK:remove("ex_skill_keypress_tick") + self.parent.placementObjectManager:removeAll() + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.zombie.break_wooden_door"), player:getPos(), 0.25, 2) + self.keyPressCount = 0 + return + end + self.keyPressCount = self.keyPressCount + 1 + end, "ex_skill_keypress_tick") + end) + exSkillKey:setOnRelease(function () + events.TICK:remove("ex_skill_keypress_tick") + if self.keyPressCount > 0 then + if self:canPlayAnimation() and self.animationCount == -1 and self.transitionCount == 0 then + pings.exSkill() + else + print(self.parent.locale:getLocale("key_bind.ex_skill.unavailable"..(renderer:isFirstPerson() and "_firstperson" or ""))) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + end + self.keyPressCount = 0 + end + end) + self.parent.keyManager:register("ex_skill_sub", self.parent.config:loadConfig("PRIVATE", "keybind.ex_skill_sub", "key.keyboard.h")):setOnPress(function () + if self:canPlayAnimation() and self.animationCount == -1 and self.transitionCount == 0 and self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill ~= nil then + pings.subExSkill() + else + print(self.parent.locale:getLocale(self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill == nil and "action_wheel.main.action_6.unavailable" or "key_bind.ex_skill.unavailable"..(renderer:isFirstPerson() and "_firstperson" or ""))) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + end + end) + end + + table.insert(self.bodyYaw, player:getBodyYaw() % 360) + + events.TICK:register(function () + if not renderer:isFirstPerson() then + table.insert(self.bodyYaw, player:getBodyYaw() % 360) + if #self.bodyYaw == 3 then + table.remove(self.bodyYaw, 1) + end + end + end) + + if self.AUTO_PLAY ~= "NONE" then + events.TICK:register(function () + if not self.isDebugInit then + events.TICK:remove("ex_skill_debug_tick") + self:play(self.AUTO_PLAY == "SUB") + self.isDebugInit = true + end + end, "ex_skill_debug_tick") + end + end; + + ---アニメーションが再生可能かどうかを返す。 + ---@param self ExSkill + ---@return boolean canPlayAnimation Exスキルアニメーションが再生可能かどうか + canPlayAnimation = function (self) + return player:getPose() == "STANDING" and player:getVelocity():length() < 0.01 and self.bodyYaw[1] == self.bodyYaw[2] and player:isOnGround() and not player:isInWater() and not player:isInLava() and player:getFrozenTicks() == 0 and not renderer:isFirstPerson() and self.parent.playerUtils.damageStatus == "NONE" and player:getSwingArm() == nil and player:getActiveItem().id == "minecraft:air" and not self.parent.costume.isChangingCostume + end; + + ---Exスキルのアニメーションの前後のカメラのトランジションを行う関数 + ---@param self ExSkill + ---@param direction ExSkill.TransitionPhase カメラのトランジションの向き + ---@param callback fun() トランジション終了時に呼び出されるコールバック関数 + transition = function (self, direction, callback) + events.TICK:register(function () + if not client:isPaused() then + if events.TICK:getRegisteredCount("ex_skill_transition_tick") == 1 then + self.transitionCount = direction == "PRE" and math.min(self.transitionCount + 1, 10) or math.max(self.transitionCount - 1, 0) + end + if (direction == "PRE" and self.transitionCount == 10) or (direction == "POST" and self.transitionCount == 0) then + if host:isHost() then + local windowSize = client:getScaledWindowSize() + models.models.ex_skill_frame.Gui.FrameBar:setPos(0, 0, 0) + if direction == "PRE" and self.frameParticleAmount < 4 then + for _, modelPart in ipairs({models.models.ex_skill_frame.Gui.Frame.FrameTopLeft, models.models.ex_skill_frame.Gui.Frame.FrameTopRight, models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft, models.models.ex_skill_frame.Gui.Frame.FrameBottomRight}) do + modelPart:setVisible(true) + end + models.models.ex_skill_frame.Gui.Frame.FrameTop:setPos(-windowSize.x + 16, -16) + models.models.ex_skill_frame.Gui.Frame.FrameTop:setScale(windowSize.x / 16 - 2, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setPos(-16, -windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setScale(1, windowSize.y / 16 - 2, 1) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setPos(-windowSize.x + 16, -windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setScale(windowSize.x / 16 - 2, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setPos(-windowSize.x, -windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setScale(1, windowSize.y / 16 - 2, 1) + elseif direction == "POST" then + for _, modelPart in ipairs({models.models.ex_skill_frame.Gui.Frame.FrameTopLeft, models.models.ex_skill_frame.Gui.Frame.FrameTopRight, models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft, models.models.ex_skill_frame.Gui.Frame.FrameBottomRight}) do + modelPart:setVisible(false) + end + for _, modelPart in ipairs({models.models.ex_skill_frame.Gui.Frame.FrameTop, models.models.ex_skill_frame.Gui.Frame.FrameLeft, models.models.ex_skill_frame.Gui.Frame.FrameBottom, models.models.ex_skill_frame.Gui.Frame.FrameRight}) do + modelPart:setScale(0, 0, 0) + end + end + end + callback() + events.TICK:remove("ex_skill_transition_tick") + events.RENDER:remove("ex_skill_transition_render") + end + if host:isHost() then + local barPos = models.models.ex_skill_frame.Gui.FrameBar:getPos().x * -1 + local windowSizeY = client:getScaledWindowSize().y + if self.frameParticleAmount ~= 3 and self.transitionCount >= 1 and self.transitionCount <= 9 then + for _ = 1, windowSizeY / (self.frameParticleAmount == 2 and 100 or 20) do + local particleOffset = math.random() * windowSizeY + self.parent.frameParticleManager:spawn(vectors.vec2(barPos - particleOffset - math.random() * 50, particleOffset):scale(-1), vectors.vec2(500, 0)) + end + end + end + end + end, "ex_skill_transition_tick") + + events.RENDER:register(function (delta) + --カメラのトランジション + if not client:isPaused() and host:isHost() then + local lookDir = player:getLookDir() + local cameraRot = renderer:isCameraBackwards() and vectors.vec3(math.deg(math.asin(lookDir.y)), math.deg(math.atan2(lookDir.z, lookDir.x) + math.pi / 2)) or vectors.vec3(math.deg(math.asin(-lookDir.y)), math.deg(math.atan2(lookDir.z, lookDir.x) - math.pi / 2)) + local targetCameraPos = vectors.vec3() + local targetCameraRot = vectors.vec3() + if direction == "PRE" then + targetCameraPos = vectors.rotateAroundAxis(self.bodyYaw[2] * -1 + 180, self.parent.characterData.exSkill[self.exSkillIndex].camera.start.pos, 0, 1):add(0, -1.62) + targetCameraRot = self.parent.characterData.exSkill[self.exSkillIndex].camera.start.rot:copy():add(0, self.bodyYaw[2], 0) + else + targetCameraPos = vectors.rotateAroundAxis(self.bodyYaw[2] * -1 + 180, self.parent.characterData.exSkill[self.exSkillIndex].camera.fin.pos, 0, 1):add(0, -1.62) + targetCameraRot = self.parent.characterData.exSkill[self.exSkillIndex].camera.fin.rot:copy():add(0, self.bodyYaw[2], 0) + end + if math.abs(cameraRot.y - targetCameraRot.y) >= 180 then + if cameraRot.y < targetCameraRot.y then + cameraRot.y = cameraRot.y + 360 + else + targetCameraRot.y = targetCameraRot.y + 360 + end + end + local trueDelta = direction == "PRE" and delta or delta * -1 + self.parent.cameraManager.setCameraPivot(targetCameraPos:scale((self.transitionCount + trueDelta) / 10)) + self.parent.cameraManager.setCameraRot(targetCameraRot:copy():sub(cameraRot):scale((self.transitionCount + trueDelta) / 10):add(cameraRot)) + self.parent.cameraManager:setThirdPersonCameraDistance(4 - (self.transitionCount + trueDelta) / 10 * 4) + + --フレーム演出 + local windowSize = client:getScaledWindowSize() + local barPos = (windowSize.x + windowSize.y + math.sqrt(2) * 16) * (direction == "PRE" and (self.transitionCount + trueDelta) / 10 or (1 - (self.transitionCount + trueDelta) / 10)) + models.models.ex_skill_frame.Gui.FrameBar:setPos(-barPos, 0, 0) + + if self.frameParticleAmount < 4 then + local frameTopLength = math.clamp(barPos, 32, windowSize.x) + local frameLeftLength = math.clamp(barPos, 32, windowSize.y) + local frameBottomLength = math.clamp(barPos - windowSize.y + 16, 32, windowSize.x) + local frameRightLength = math.clamp(barPos - windowSize.x + 16, 32, windowSize.y) + + models.models.ex_skill_frame.Gui.Frame.FrameTopLeft:setPos(-16, -16) + models.models.ex_skill_frame.Gui.Frame.FrameTopRight:setPos(-windowSize.x, -16) + models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft:setPos(-16, -windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameBottomRight:setPos(-windowSize.x, -windowSize.y) + if direction == "PRE" then + models.models.ex_skill_frame.Gui.Frame.FrameTopLeft:setVisible(barPos >= 16) + models.models.ex_skill_frame.Gui.Frame.FrameTopRight:setVisible(barPos >= windowSize.x + 16) + models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft:setVisible(barPos >= windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameBottomRight:setVisible(barPos >= windowSize.x + windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameTop:setPos(-frameTopLength + 16, -16) + models.models.ex_skill_frame.Gui.Frame.FrameTop:setScale(frameTopLength / 16 - 2, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setPos(-16, -frameLeftLength + 16) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setScale(1, frameLeftLength / 16 - 2, 1) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setPos(-frameBottomLength + 16, -windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setScale(frameBottomLength / 16 - 2, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setPos(-windowSize.x, -frameRightLength + 16) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setScale(1, frameRightLength / 16 - 2, 1) + else + models.models.ex_skill_frame.Gui.Frame.FrameTopLeft:setVisible(barPos < 16) + models.models.ex_skill_frame.Gui.Frame.FrameTopRight:setVisible(barPos < windowSize.x + 16) + models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft:setVisible(barPos < windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameBottomRight:setVisible(barPos < windowSize.x + windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameTop:setPos(-windowSize.x + 16, -16) + models.models.ex_skill_frame.Gui.Frame.FrameTop:setScale((windowSize.x - frameTopLength) / 16, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setPos(-16, -windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setScale(1, (windowSize.y - frameLeftLength) / 16, 1) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setPos(-windowSize.x + 16, -windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setScale((windowSize.x - frameBottomLength) / 16, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setPos(-windowSize.x, -windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setScale(1, (windowSize.y - frameRightLength) / 16, 1) + end + end + end + end, "ex_skill_transition_render") + end; + + ---アニメーションを再生する。 + ---@param self ExSkill + ---@param isSubExSkill boolean サブExスキルを再生するかどうか + play = function (self, isSubExSkill) + if isSubExSkill then + if self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill ~= nil then + self.exSkillIndex = self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill + else + return + end + else + self.exSkillIndex = self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].exSkill + end + + self.parent.bubble:stop() + renderer:setFOV(70 / client:getFOV()) + renderer:setRenderHUD(false) + self.parent.cameraManager:setCameraCollisionDenial(true) + models.models.ex_skill_frame.Gui:setColor(self.parent.characterData.exSkill[self.exSkillIndex].formationType == "STRIKER" and vectors.vec3(1, 0.75, 0.75) or vectors.vec3(0.75, 1, 1)) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.levelup"), player:getPos(), 5, 2) + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPreTransition ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPreTransition(self.parent.characterData) + end + models.models.ex_skill_frame.Gui.FrameBar:setScale(1, client:getScaledWindowSize().y * math.sqrt(2) / 16 + 1, 1) + + events.TICK:register(function () + if not self:canPlayAnimation() then + self:forceStop() + end + end, "ex_skill_tick") + + self:transition("PRE", function () + self.parent.physics:disable() + for _, itemModel in ipairs({vanilla_model.RIGHT_ITEM, vanilla_model.LEFT_ITEM}) do + itemModel:setVisible(false) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].models) do + modelPart:setVisible(true) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].animations) do + animations["models."..modelPart]["ex_skill_"..self.exSkillIndex]:play() + end + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPreAnimation ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPreAnimation(self.parent.characterData) + end + self.parent.cameraManager:setThirdPersonCameraDistance(0) + + events.TICK:register(function () + if not client:isPaused() then + if self.animationCount == self.animationLength - 1 then + self:stop() + elseif self:canPlayAnimation() and animations["models.main"]["ex_skill_"..self.exSkillIndex]:isPlaying() then + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onAnimationTick ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onAnimationTick(self.parent.characterData, self.animationCount) + end + self.animationCount = self.animationCount > -1 and self.animationCount + 1 or self.animationCount + end + + if host:isHost() then + local windowSize = client:getScaledWindowSize() + local windowCenter = windowSize:copy():scale(0.5) + if self.frameParticleAmount < 3 then + for _ = 1, (windowSize.x * 2 + windowSize.y * 2) / (self.frameParticleAmount == 1 and 100 or 500) do + local particlePos = vectors.vec2(math.random() * (windowSize.x * 2 + windowSize.y * 2), math.random() * 16) + particlePos = particlePos.x <= windowSize.x and particlePos or (particlePos.x <= windowSize.x + windowSize.y and vectors.vec2(windowSize.x - particlePos.y, particlePos.x - windowSize.x) or (particlePos.x <= windowSize.x * 2 + windowSize.y and vectors.vec2(particlePos.x - (windowSize.x + windowSize.y), windowSize.y - particlePos.y) or vectors.vec2(particlePos.y, particlePos.x - (windowSize.x * 2 + windowSize.y)))) + self.parent.frameParticleManager:spawn(particlePos:copy():scale(-1), windowCenter:copy():sub(particlePos):scale(0.25)) + end + end + end + end + end, "ex_skill_animation_tick") + + if host:isHost() then + events.RENDER:register(function () + if not client:isPaused() then + self.parent.cameraManager.setCameraPivot(vectors.rotateAroundAxis(self.bodyYaw[2] * -1 + 180, models.models.main.CameraAnchor:getAnimPos():scale(1 / 16 * ((self.parent.characterData.exSkill[self.exSkillIndex].camera.fixMode ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].camera.fixMode) and 1 or 0.9375)), 0, 1, 0):add(0, -1.62, 0)) + self.parent.cameraManager.setCameraRot(models.models.main.CameraAnchor:getAnimRot():scale(-1):add(0, self.bodyYaw[2], 0)) + end + end, "ex_skill_animation_render") + end + self.animationCount = 0 + self.parent.gun:processGunTick() + self.animationLength = math.round(animations["models.main"]["ex_skill_"..self.exSkillIndex]:getLength() * 20) + end) + end; + + ---アニメーションを停止する。 + ---@param self ExSkill + stop = function (self) + events.TICK:remove("ex_skill_animation_tick") + if host:isHost() then + events.RENDER:remove("ex_skill_animation_render") + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.levelup"), player:getPos(), 5, 2):setAttenuation(100) + end + + for _, itemModel in ipairs({vanilla_model.RIGHT_ITEM, vanilla_model.LEFT_ITEM}) do + itemModel:setVisible(true) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].models) do + modelPart:setVisible(false) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].animations) do + animations["models."..modelPart]["ex_skill_"..self.exSkillIndex]:stop() + end + self.parent.physics:enable() + renderer:setFOV() + self.animationCount = -1 + + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostAnimation ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostAnimation(self.parent.characterData, false) + end + self:transition("POST", function () + events.TICK:remove("ex_skill_tick") + self.parent.cameraManager.setCameraPivot() + self.parent.cameraManager.setCameraRot() + self.parent.cameraManager:setThirdPersonCameraDistance(4) + self.parent.cameraManager:setCameraCollisionDenial(false) + renderer:setRenderHUD(true) + + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostTransition ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostTransition(self.parent.characterData, false) + end + end) + end; + + ---アニメーションを停止する。終了時のトランジションも無効。 + ---@param self ExSkill + forceStop = function (self) + events.RENDER:remove("ex_skill_transition_render") + if host:isHost() then + events.TICK:remove("ex_skill_transition_tick") + events.RENDER:remove("ex_skill_animation_render") + end + + for _, itemModel in ipairs({vanilla_model.RIGHT_ITEM, vanilla_model.LEFT_ITEM}) do + itemModel:setVisible(true) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].models) do + modelPart:setVisible(false) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].animations) do + animations["models."..modelPart]["ex_skill_"..self.exSkillIndex]:stop() + end + for _, eventName in ipairs({"ex_skill_tick", "ex_skill_animation_tick"}) do + events.TICK:remove(eventName) + end + self.parent.physics:enable() + models.models.ex_skill_frame.Gui.FrameBar:setPos() + for _, modelPart in ipairs({models.models.ex_skill_frame.Gui.Frame.FrameTopLeft, models.models.ex_skill_frame.Gui.Frame.FrameTopRight, models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft, models.models.ex_skill_frame.Gui.Frame.FrameBottomRight}) do + modelPart:setVisible(false) + end + for _, modelPart in ipairs({models.models.ex_skill_frame.Gui.Frame.FrameTop, models.models.ex_skill_frame.Gui.Frame.FrameLeft, models.models.ex_skill_frame.Gui.Frame.FrameBottom, models.models.ex_skill_frame.Gui.Frame.FrameRight}) do + modelPart:setScale(0, 0, 0) + end + self.parent.faceParts:resetEmotion() + self.parent.cameraManager.setCameraPivot() + self.parent.cameraManager.setCameraRot() + self.parent.cameraManager:setThirdPersonCameraDistance(4) + self.parent.cameraManager:setCameraCollisionDenial(false) + renderer:setRenderHUD(true) + renderer:setFOV() + + if self.animationCount >= 0 and self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostAnimation ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostAnimation(self.parent.characterData, true) + end + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostTransition ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostTransition(self.parent.characterData, true) + end + + self.animationCount = -1 + self.transitionCount = 0 + end; +} + +---Exスキルを再生する。 +function pings.exSkill() + AvatarInstance.exSkill:play(false) +end + +---サブExスキルを再生する。 +function pings.subExSkill() + AvatarInstance.exSkill:play(true) +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/ex_skill/ex_skill_frame_particle.lua b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/ex_skill/ex_skill_frame_particle.lua new file mode 100644 index 0000000..59315a9 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/ex_skill/ex_skill_frame_particle.lua @@ -0,0 +1,68 @@ +---@class (exact) ExSkillFrameParticle : SpawnObject Exスキルのフレームで使用するパーティクルの単一を管理するクラス +---@field package object ModelPart インスタンスで制御するオブジェクト +---@field package currentPos Vector2 パーティクルの現在位置 +---@field package nextPos Vector2 次ティックのパーティクルの位置 +---@field package velocity Vector2 パーティクルの速度 +---@field package particleCount integer パーティクルのアニメーションを制御するためのカウンター +---@field public new fun(parent: Avatar, pos: Vector2, velocity: Vector2, type: ExSkillFrameParticleManager.ParticleType): ExSkillFrameParticle コンストラクター + +ExSkillFrameParticle = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@param pos Vector2 パーティクルをスポーンさせるスクリーン上の座標。GUIスケールも考慮される。 + ---@param velocity Vector2 パーティクルの秒間移動距離(ピクセル) + ---@param type ExSkillFrameParticleManager.ParticleType このインスタンスのパーティクルの種類 + ---@return ExSkillFrameParticle + new = function (parent, pos, velocity, type) + ---@type ExSkillFrameParticle + local instance = Avatar.instantiate(ExSkillFrameParticle, SpawnObject, parent) + + instance.object = models.models.ex_skill_frame.Particles["Particle"..(type == "NORMAL" and 1 or 2)]:copy(instance.uuid) + instance.currentPos = pos + instance.nextPos = instance.currentPos + instance.velocity = velocity + instance.particleCount = 0 + + instance.callbacks = { + ---@param self ExSkillFrameParticle + onInit = function (self) + models.models.ex_skill_frame.Gui.script_ex_skill_frame_particles:addChild(self.object) + self.object:setRot(90, math.random() * 360, 180) + end; + + ---@param self ExSkillFrameParticle + onDeinit = function (self) + self.object:remove() + end; + + ---@param self ExSkillFrameParticle + onTick = function (self) + --パーティクル位置を強制更新 + self.currentPos = self.nextPos:copy() + self.object:setPos(self.currentPos:copy():augmented(0)) + self.object:setScale(vectors.vec3(1, 1, 1):scale(1 - self.particleCount / 5)) + + --カウンターを更新 + self.particleCount = self.particleCount + 1 + if self.particleCount == 5 then + self.object:remove() + elseif self.particleCount == 6 then + self.shouldDeinit = true + end + + --次ティックの位置を計算 + if self.velocity:length() > 0 then + self.nextPos = self.currentPos:copy():add(self.velocity:copy():scale(-0.05)) + end + end; + + ---@param self ExSkillFrameParticle + onRender = function (self, delta) + self.object:setPos(self.nextPos:copy():sub(self.currentPos):scale(delta):add(self.currentPos):augmented(0)) + self.object:setScale(vectors.vec3(1, 1, 1):scale(1 - (self.particleCount + delta) / 5)) + end; + } + + return instance + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/ex_skill/ex_skill_frame_particle_manager.lua b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/ex_skill/ex_skill_frame_particle_manager.lua new file mode 100644 index 0000000..262709e --- /dev/null +++ b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/ex_skill/ex_skill_frame_particle_manager.lua @@ -0,0 +1,48 @@ +---@alias ExSkillFrameParticleManager.ParticleType +---| "NORMAL" # 通常のパーティクル +---| "FIGURA" # Figuraマークのパーティクル(穴空き三角形) + +---@class (exact) ExSkillFrameParticleManager : SpawnObjectManager Exスキルのフレームで使用するパーティクルを管理するクラス +---@field public objects ExSkillFrameParticle[] インスタンスで制御するオブジェクト +---@field public getObject fun(self: ExSkillFrameParticleManager, pos: Vector2, velocity: Vector2): ExSkillFrameParticle Exスキルフレームのパーティクルのインスタンスを生成して返す +---@field public spawn fun(self: ExSkillFrameParticleManager, pos: Vector2, velocity: Vector2) Exスキルフレームのパーティクルをスポーンさせる + +ExSkillFrameParticleManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ExSkillFrameParticleManager + new = function (parent) + ---@type ExSkillFrameParticleManager + local instance = Avatar.instantiate(ExSkillFrameParticleManager, SpawnObjectManager, parent) + + instance.managerName = "ex_skill_frame_particle" + + return instance + end; + + ---初期化関数 + ---@param self ExSkillFrameParticleManager + init = function (self) + SpawnObjectManager.init(self) + + ---@diagnostic disable-next-line: discard-returns + models.models.ex_skill_frame.Gui:newPart("script_ex_skill_frame_particles") + end; + + ---Exスキルフレームのパーティクルのインスタンスを生成して返す。 + ---@param self ExSkillFrameParticleManager + ---@param pos Vector2 パーティクルをスポーンさせる画面上の座標 + ---@param velocity Vector2 パーティクルの速度 + ---@return ExSkillFrameParticle instance 生成したインスタンス + getObject = function (self, pos, velocity) + return ExSkillFrameParticle.new(self.parent, pos, velocity, math.random() > 0.9999 and "FIGURA" or "NORMAL") + end; + + ---Exスキルフレームのパーティクルをスポーンさせる。 + ---@param self ExSkillFrameParticleManager + ---@param pos Vector2 パーティクルをスポーンさせる画面上の座標 + ---@param velocity Vector2 パーティクルの速度 + spawn = function (self, pos, velocity) + SpawnObjectManager.spawn(self, pos, velocity) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/face_parts.lua b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/face_parts.lua new file mode 100644 index 0000000..c364e0f --- /dev/null +++ b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/face_parts.lua @@ -0,0 +1,88 @@ +---@class (exact) FaceParts : AvatarModule 目と口のテクスチャを管理するクラス +---@field package emotionCount integer エモートの時間を計るカウンター +---@field public blinkCount integer 瞬きのタイミングを計るカウンター +---@field public setEmotion fun(self: FaceParts, rightEye: BlueArchiveCharacter.RightEyeTextures, leftEye: BlueArchiveCharacter.LeftEyeTextures, mouth: BlueArchiveCharacter.MouthTextures, duration: integer, forced?: boolean) 表情を設定する +---@field public resetEmotion fun(self: FaceParts) 表情をリセットする + +FaceParts = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return FaceParts + new = function (parent) + ---@type FaceParts + local instance = Avatar.instantiate(FaceParts, AvatarModule, parent) + + instance.emotionCount = 0 + instance.blinkCount = 200 + + return instance + end; + + ---初期化関数 + ---@param self FaceParts + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + if not client:isPaused() then + if self.parent.playerUtils.damageStatus == "DAMAGE" then + if self.parent.characterData.faceParts.emotionSet ~= nil and self.parent.characterData.faceParts.emotionSet.onDamage ~= nil then + self:setEmotion(self.parent.characterData.faceParts.emotionSet.onDamage.rightEye, self.parent.characterData.faceParts.emotionSet.onDamage.leftEye, self.parent.characterData.faceParts.emotionSet.onDamage.mouth, 8, true) + else + self:setEmotion("SURPRISED", "SURPRISED", "NORMAL", 8, true) + end + elseif self.parent.playerUtils.damageStatus == "DIED" then + if self.parent.characterData.faceParts.emotionSet ~= nil and self.parent.characterData.faceParts.emotionSet.onDied ~= nil then + self:setEmotion(self.parent.characterData.faceParts.emotionSet.onDied.rightEye, self.parent.characterData.faceParts.emotionSet.onDied.leftEye, self.parent.characterData.faceParts.emotionSet.onDied.mouth, 20, true) + else + self:setEmotion("SURPRISED", "SURPRISED", "NORMAL", 20, true) + end + elseif self.emotionCount == 0 then + self:setEmotion("NORMAL", "NORMAL", "NORMAL", 0) + end + + if self.blinkCount == 0 then + self:setEmotion("CLOSED", "CLOSED", "NORMAL", 2) + self.blinkCount = 200 + else + self.blinkCount = self.blinkCount - 1 + end + + self.emotionCount = self.emotionCount > 0 and self.emotionCount - 1 or self.emotionCount + end + end) + end; + + ---表情を設定する。 + ---@param self FaceParts + ---@param rightEye BlueArchiveCharacter.RightEyeTextures 設定する右目の名前 + ---@param leftEye BlueArchiveCharacter.LeftEyeTextures 設定する左目の名前 + ---@param mouth BlueArchiveCharacter.MouthTextures 設定する口の名前 + ---@param duration integer この表情を有効にする時間 + ---@param forced? boolean trueにすると以前のエモーションが再生中でも強制的に現在のエモーションを適用させる。 + setEmotion = function (self, rightEye, leftEye, mouth, duration, forced) + if self.emotionCount == 0 or forced then + --右目 + models.models.main.Avatar.Head.FaceParts.Eyes.EyeLeft:setUVPixels(self.parent.characterData.faceParts.rightEye[rightEye]:copy():scale(6)) + + --左目 + models.models.main.Avatar.Head.FaceParts.Eyes.EyeRight:setUVPixels(self.parent.characterData.faceParts.leftEye[leftEye]:copy():scale(6)) + + --口 + if mouth ~= "NORMAL" then + models.models.main.Avatar.Head.FaceParts.Mouth:setVisible(true) + models.models.main.Avatar.Head.FaceParts.Mouth:setUVPixels(self.parent.characterData.faceParts.mouth[mouth]:copy():mul(16, 8)) + else + models.models.main.Avatar.Head.FaceParts.Mouth:setVisible(false) + end + + self.emotionCount = duration + end + end; + + ---表情をリセットする。 + ---@param self FaceParts + resetEmotion = function (self) + self.emotionCount = 0 + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/gun.lua b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/gun.lua new file mode 100644 index 0000000..e85079b --- /dev/null +++ b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/gun.lua @@ -0,0 +1,376 @@ +---@alias Gun.GunPosition +---| "NONE" # 構えていない +---| "RIGHT" # 右手に構える +---| "LEFT" # 左手に構える + +---@alias Gun.HandDirection +---| "RIGHT" # 右手 +---| "LEFT" # 左手 + +---@class (exact) Gun : AvatarModule 生徒の銃を制御するクラス +---@field public gunItems Minecraft.itemID[] 銃のモデルを適用するアイテム +---@field public shouldShowWeaponInFirstPerson boolean 一人称で武器(銃を含む)のモデルを表示するかどうか +---@field public currentGunPosition Gun.GunPosition 現在の銃の位置 +---@field package heldItemsPrev Gun.HeldItemSet 前ティックの手持ちアイテム +---@field package isLeftHandedPrev boolean 前ティックに左利きだったかどうか +---@field package isGunTickProcessed boolean このティック内で銃ティックを処理したかどうか +---@field package setBodyGunPos fun(self: Gun) 背中の銃の位置・向きを設定する +---@field public setGunPosition fun(self: Gun, gonPosition: Gun.GunPosition) 銃の位置を変更する +---@field public processGunTick fun(self: Gun) 銃ティックを処理する + +---@class (exact) Gun.HeldItemSet 手持ちアイテムを示すデータセット +---@field public mainHand ItemStack メインハンド +---@field public offHand ItemStack オフハンド + +Gun = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Gun + new = function (parent) + ---@type Gun + local instance = Avatar.instantiate(Gun, AvatarModule, parent) + + instance.gunItems = {"minecraft:bow", "minecraft:crossbow"} + instance.shouldShowWeaponInFirstPerson = instance.parent.config:loadConfig("PRIVATE", "firstPersonWeapon", true) + instance.currentGunPosition = "NONE" + instance.heldItemsPrev = { + mainHand = world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")); + offHand = world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")); + } + instance.isLeftHandedPrev = player:isLeftHanded() + instance.isGunTickProcessed = false + + return instance + end; + + ---初期化関数 + ---@param self Gun + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + self:processGunTick() + self.isGunTickProcessed = false + end) + + events.ON_PLAY_SOUND:register(function (id, pos, _, _, _, _, path) + if path ~= nil then + local velocityDistance = player:getVelocity():length() + local distanceFromSound = math.abs(pos:copy():sub(player:getPos()):length() - velocityDistance) + if (id == "minecraft:entity.arrow.shoot" or id == "minecraft:item.crossbow.loading_end" or id == "minecraft:item.crossbow.shoot") and math.abs(velocityDistance - distanceFromSound) < 1 then + if id == "minecraft:item.crossbow.loading_end" then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.dispenser.fail"), pos, 1, 2) + elseif player:isUnderwater() then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.generic.extinguish_fire"), pos, 0.5, 1.5) + else + local particleAnchor = self.parent.modelUtils.getModelWorldPos(renderer:isFirstPerson() and (Gun.CurrentGunPosition == "RIGHT" and models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.RightItemPivot or models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.LeftItemPivot) or models.models.main.Avatar.UpperBody.Body.Gun.MuzzleAnchor) + for _ = 1, 5 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:smoke"), particleAnchor) + end + sounds:playSound(self.parent.compatibilityUtils:checkSound(self.parent.characterData.gun.sound.name), pos, 1, self.parent.characterData.gun.sound.pitch) + end + return true + elseif (id == "minecraft:item.crossbow.loading_start" or id == "minecraft:item.crossbow.loading_middle" or id:match("^minecraft:item%.crossbow%.quick_charge_[1-3]$") ~= nil) and distanceFromSound < 1 and player:getActiveItem().id == "minecraft:crossbow" then + local activeItemTime = player:getActiveItemTime() + local quickChargeLevel = 0 + local activeItem = player:getActiveItem() + if activeItem.tag.Enchantments ~= nil then + for _, enchant in ipairs(activeItem.tag.Enchantments) do + if enchant.id == "minecraft:quick_charge" then + quickChargeLevel = enchant.lvl + break + end + end + end + if (quickChargeLevel <= 4 and activeItemTime + quickChargeLevel >= 4 and activeItemTime + quickChargeLevel <= 6) or (quickChargeLevel == 5 and activeItemTime <= 2) then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.flintandsteel.use"), pos, 1, 2) + return true + elseif id == "minecraft:item.crossbow.loading_middle" then + return true + end + end + end + end) + + local this = self --Figuraにスクリプトを再構築させると参照がおかしくなることに対処しているコード + events.ITEM_RENDER:register(function (item, mode, _, _, _, leftHanded) + self = this + if mode ~= "HEAD" and self.currentGunPosition == (leftHanded and "LEFT" or "RIGHT") and (self.shouldShowWeaponInFirstPerson or mode =="THIRD_PERSON_LEFT_HAND" or mode == "THIRD_PERSON_RIGHT_HAND") then + for _, gunItem in ipairs(self.gunItems) do + if item.id == gunItem then + if leftHanded then + if mode == "FIRST_PERSON_LEFT_HAND" then + local offsetPos = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.firstPersonPos ~= nil and self.parent.characterData.gun.gunPosition.hold.firstPersonPos.left ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.hold.firstPersonPos.left + end + local offsetRot = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.firstPersonRot ~= nil and self.parent.characterData.gun.gunPosition.hold.firstPersonRot.left ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.hold.firstPersonRot.left + end + local activeItemId = player:getActiveItem().id + if activeItemId == "minecraft:bow" then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -2.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(20, -7.5, -5):add(offsetRot)) + elseif activeItemId == "minecraft:crossbow" then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, 0.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + elseif item.id == "minecraft:crossbow" and item.tag.Charged == 1 then + if player:isLeftHanded() then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(-10, -1.25, 6):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 10, 0):add(offsetRot)) + else + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -1.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + else + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -1.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + elseif mode == "THIRD_PERSON_LEFT_HAND" then + local offsetPos = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.thirdPersonPos ~= nil and self.parent.characterData.gun.gunPosition.hold.thirdPersonPos.left ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.hold.thirdPersonPos.left + end + local offsetRot = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.thirdPersonRot ~= nil and self.parent.characterData.gun.gunPosition.hold.thirdPersonRot.left ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.hold.thirdPersonRot.left + end + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -4.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + else + if mode == "FIRST_PERSON_RIGHT_HAND" then + local offsetPos = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.firstPersonPos ~= nil and self.parent.characterData.gun.gunPosition.hold.firstPersonPos.right ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.hold.firstPersonPos.right + end + local offsetRot = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.firstPersonRot ~= nil and self.parent.characterData.gun.gunPosition.hold.firstPersonRot.right ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.hold.firstPersonRot.right + end + local activeItemId = player:getActiveItem().id + if activeItemId == "minecraft:bow" then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -2.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(20, 7.5, 5):add(offsetRot)) + elseif activeItemId == "minecraft:crossbow" then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, 0.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + elseif item.id == "minecraft:crossbow" and item.tag.Charged == 1 then + if player:isLeftHanded() then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -1.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + else + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(10, -1.25, 6):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, -10, 0):add(offsetRot)) + end + else + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -1.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + elseif mode == "THIRD_PERSON_RIGHT_HAND" then + local offsetPos = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.thirdPersonPos ~= nil and self.parent.characterData.gun.gunPosition.hold.thirdPersonPos.right ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.hold.thirdPersonPos.right + end + local offsetRot = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.thirdPersonRot ~= nil and self.parent.characterData.gun.gunPosition.hold.thirdPersonRot.right ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.hold.thirdPersonRot.right + end + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -4.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + end + return models.models.main.Avatar.UpperBody.Body.Gun + end + end + end + end) + + models.models.main.Avatar.UpperBody.Body.Gun:setScale(vectors.vec3(1, 1, 1):scale(self.parent.characterData.gun.scale)) + self:setGunPosition("NONE") + if self.parent.characterData.gun.callbacks ~= nil and self.parent.characterData.gun.callbacks.onMainHandChange ~= nil then + self.parent.characterData.gun.callbacks.onMainHandChange(self.parent.characterData, self.isLeftHandedPrev and "LEFT" or "RIGHT") + end + end; + + ---背中の銃の位置・向きを設定する。 + ---@param self Gun + setBodyGunPos = function (self) + if models.models.main.Avatar.UpperBody.Body.Gun ~= nil then + local offsetPos = vectors.vec3() + local offsetRot = vectors.vec3() + if player:isLeftHanded() then + if self.parent.characterData.gun.gunPosition.put.pos ~= nil and self.parent.characterData.gun.gunPosition.put.pos.left ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.put.pos.left + end + if self.parent.characterData.gun.gunPosition.put.rot ~= nil and self.parent.characterData.gun.gunPosition.put.rot.left ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.put.rot.left + end + else + if self.parent.characterData.gun.gunPosition.put.pos ~= nil and self.parent.characterData.gun.gunPosition.put.pos.right ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.put.pos.right + end + if self.parent.characterData.gun.gunPosition.put.rot ~= nil and self.parent.characterData.gun.gunPosition.put.rot.right ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.put.rot.right + end + end + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, 12, 0):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(offsetRot) + end + end; + + ---銃の位置を変更する。 + ---@param self Gun + ---@param gunPosition Gun.GunPosition 変更先の構え位置 + setGunPosition = function (self, gunPosition) + if gunPosition == "NONE" then + for _, tickName in ipairs({"right_gun_tick", "left_gun_tick"}) do + events.TICK:remove(tickName) + end + models.models.main.Avatar.UpperBody.Body.Gun:setParentType("None") + models.models.main.Avatar.UpperBody.Body.Gun:setSecondaryRenderType("NONE") + if self.parent.characterData.gun.gunPosition.hold.type == "NORMAL" then + self.parent.arms:setArmState(0, 0) + elseif self.parent.characterData.gun.gunPosition.hold.type == "CUSTOM" then + for _, animationName in ipairs({"gun_hold_right", "gun_hold_left"}) do + animations["models.main"][animationName]:stop() + end + end + if self.parent.characterData.gun.gunPosition.put.type == "BODY" then + self:setBodyGunPos() + elseif self.parent.characterData.gun.gunPosition.put.type == "HIDDEN" then + models.models.main.Avatar.UpperBody.Body.Gun:setVisible(false) + end + elseif gunPosition == "RIGHT" then + events.TICK:remove("left_gun_tick") + if events.TICK:getRegisteredCount("right_gun_tick") == 0 then + events.TICK:register(function () + local heldItem = player:getHeldItem(player:isLeftHanded()) + local hasGlint = false + for _, gunItem in ipairs(self.gunItems) do + if gunItem == heldItem.id and heldItem:hasGlint() then + models.models.main.Avatar.UpperBody.Body.Gun:setSecondaryRenderType("GLINT") + hasGlint = true + break + end + end + if not hasGlint then + models.models.main.Avatar.UpperBody.Body.Gun:setSecondaryRenderType("NONE") + end + end, "right_gun_tick") + end + if self.parent.characterData.gun.gunPosition.hold.type == "NORMAL" then + self.parent.arms:setArmState(1, 2) + elseif self.parent.characterData.gun.gunPosition.hold.type == "CUSTOM" then + animations["models.main"]["gun_hold_left"]:stop() + animations["models.main"]["gun_hold_right"]:play() + end + models.models.main.Avatar.UpperBody.Body.Gun:setVisible(true) + models.models.main.Avatar.UpperBody.Body.Gun:setParentType("Item") + if not client:isPaused() then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.flintandsteel.use"), player:getPos(), 1, 2) + end + elseif gunPosition == "LEFT" then + events.TICK:remove("right_gun_tick") + if events.TICK:getRegisteredCount("left_gun_tick") == 0 then + events.TICK:register(function () + local heldItem = player:getHeldItem(not player:isLeftHanded()) + local hasGlint = false + for _, gunItem in ipairs(self.gunItems) do + if gunItem == heldItem.id and heldItem:hasGlint() then + models.models.main.Avatar.UpperBody.Body.Gun:setSecondaryRenderType("GLINT") + hasGlint = true + break + end + end + if not hasGlint then + models.models.main.Avatar.UpperBody.Body.Gun:setSecondaryRenderType("NONE") + end + end, "left_gun_tick") + end + if self.parent.characterData.gun.gunPosition.hold.type == "NORMAL" then + self.parent.arms:setArmState(2, 1) + elseif self.parent.characterData.gun.gunPosition.hold.type == "CUSTOM" then + animations["models.main"]["gun_hold_right"]:stop() + animations["models.main"]["gun_hold_left"]:play() + end + models.models.main.Avatar.UpperBody.Body.Gun:setVisible(true) + models.models.main.Avatar.UpperBody.Body.Gun:setParentType("Item") + if not client:isPaused() then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.flintandsteel.use"), player:getPos(), 1, 2) + end + end + self.currentGunPosition = gunPosition + end; + + ---銃ティックを処理する。 + ---@param self Gun + processGunTick = function (self) + if not self.isGunTickProcessed then + local heldItems = {} + if player:getPose() ~= "SLEEPING" and self.parent.exSkill.animationCount == -1 then + heldItems.mainHand = player:getHeldItem(false) + heldItems.offHand = player:getHeldItem(true) + else + heldItems.mainHand = world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air")) + heldItems.offHand = world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air")) + end + local targetItemFound = false + local isLeftHanded = player:isLeftHanded() + if heldItems.mainHand.id ~= self.heldItemsPrev.mainHand.id or heldItems.offHand.id ~= self.heldItemsPrev.offHand.id or isLeftHanded ~= self.isLeftHandedPrev then + for _, gunItem in ipairs(self.gunItems) do + if heldItems.mainHand.id == gunItem then + --メインハンドに対象アイテムを持つ + targetItemFound = true + if isLeftHanded then + if self.currentGunPosition ~= "LEFT" then + self:setGunPosition("LEFT") + end + else + if self.currentGunPosition ~= "RIGHT" then + self:setGunPosition("RIGHT") + end + end + break + end + end + if not targetItemFound then + for _, gunItem in ipairs(self.gunItems) do + if heldItems.offHand.id == gunItem then + --オフハンドに対象アイテムを持つ + targetItemFound = true + if isLeftHanded then + if self.currentGunPosition ~= "RIGHT" then + self:setGunPosition("RIGHT") + end + else + if self.currentGunPosition ~= "LEFT" then + self:setGunPosition("LEFT") + end + end + break + end + end + end + if not targetItemFound then + --対象アイテムは持たない + if self.currentGunPosition ~= "NONE" then + self:setGunPosition("NONE") + end + end + if isLeftHanded ~= self.leftHandedPrev then + if self.currentGunPosition == "NONE" then + self:setBodyGunPos() + end + if self.parent.characterData.gun.callbacks ~= nil and self.parent.characterData.gun.callbacks.onMainHandChange ~= nil then + self.parent.characterData.gun.callbacks.onMainHandChange(self.parent.characterData, isLeftHanded and "LEFT" or "RIGHT") + end + self.isLeftHandedPrev = isLeftHanded + end + self.heldItemsPrev = heldItems + end + self.isGunTickProcessed = true + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/head_block.lua b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/head_block.lua new file mode 100644 index 0000000..72bce44 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/head_block.lua @@ -0,0 +1,33 @@ +---@class (exact) HeadBlock : HeadModelGenerator 頭ブロックのモデルを制御するクラス +---@field package forceGenerateCount integer 強制的に頭ブロックを生成するまでのカウンター。これが発火するのはアバタープレイヤーがオフラインの時のみ。 + +HeadBlock = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return HeadBlock + new = function (parent) + ---@type HeadBlock + local instance = Avatar.instantiate(HeadBlock, HeadModelGenerator, parent) + + instance.processData = instance.parent.characterData.headBlock + instance.parentName = "head_block" + instance.parentType = "Skull" + instance.forceGenerateCount = 2 + + return instance + end; + + ---初期化関数 + ---@param self HeadBlock + init = function (self) + HeadModelGenerator.init(self) + + events.WORLD_TICK:register(function () + self.forceGenerateCount = self.forceGenerateCount - 1 + if self.forceGenerateCount == 0 then + self:generateHeadModel() + events.WORLD_TICK:remove("head_block_world_tick") + end + end, "head_block_world_tick") + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/head_model_generator.lua b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/head_model_generator.lua new file mode 100644 index 0000000..76b2ab7 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/head_model_generator.lua @@ -0,0 +1,85 @@ +---@class (exact) HeadModelGenerator : AvatarModule 頭のモデルの生成を含む抽象クラス +---@field public processData BlueArchiveCharacter.HeadBlockStruct 頭モデルを生成する過程で参照するデータ +---@field public parentName string モデルを生成する名前空間 +---@field public parentType ModelPart.parentType コピーした頭モデルに適用する親タイプ +---@field public generateHeadModel fun(self: HeadModelGenerator) 頭モデルのコピーを生成する +---@field package isScriptLoaded boolean スクリプトが全てロードされているかどうか + +HeadModelGenerator = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return HeadModelGenerator + new = function (parent) + ---@type HeadModelGenerator + local instance = Avatar.instantiate(HeadModelGenerator, AvatarModule, parent) + + instance.isScriptLoaded = false + + return instance + end; + + ---初期化関数 + ---@param self HeadModelGenerator + init = function (self) + AvatarModule.init(self) + + ---@diagnostic disable-next-line: discard-returns + models:newPart("script_"..self.parentName, "None") + + self.parent.avatarEvents.SCRIPT_INIT:register(function () + self.isScriptLoaded = true + end) + end; + + ---頭モデルのコピーを生成する。 + ---@param self HeadModelGenerator + generateHeadModel = function (self) + --既存の頭ブロックのモデルを削除する。 + if models["script_"..self.parentName].Head ~= nil then + models["script_"..self.parentName].Head:remove() + end + + --ヘルメットを着けている場合は外しておく。 + local isHelmetVisible = self.isScriptLoaded and self.parent.armor.isArmorVisible.helmet or false + if isHelmetVisible then + self.parent.armor:setHelmet(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + + if self.isScriptLoaded then + self.parent.physics:disable() + end + if self.processData.callbacks ~= nil and self.processData.callbacks.onBeforeModelCopy ~= nil then + self.processData.callbacks.onBeforeModelCopy(self.parent.characterData, self.isScriptLoaded) + end + + --現在の衣装を基に新たな頭ブロックのモデルを生成する。 + local copiedPart = self.parent.modelUtils:copyModel(models.models.main.Avatar.Head) + if copiedPart ~= nil then + models["script_"..self.parentName]:addChild(copiedPart) + models["script_"..self.parentName].Head:setParentType(self.parentType) + models["script_"..self.parentName].Head:setPos(0, -24, 0) + models["script_"..self.parentName].Head.HeadRing:setRot(self.parent.headRing.initialHaloRot) + models["script_"..self.parentName].Head.HeadRing:setLight(15) + for _, modelPart in ipairs({models["script_"..self.parentName].Head.FaceParts.Eyes.EyeRight, models["script_"..self.parentName].Head.FaceParts.Eyes.EyeLeft}) do + modelPart:setUVPixels() + end + for _, modelPart in ipairs(self.processData.includeModels) do + local copiedIncludePart = self.parent.modelUtils:copyModel(modelPart) + if copiedIncludePart ~= nil then + models["script_"..self.parentName].Head:addChild(copiedIncludePart) + end + end + end + + --非表示にしたモデルを元に戻す。 + if isHelmetVisible then + self.parent.armor:setHelmet(self.parent.armor.armorSlotItems[1]) + end + if self.isScriptLoaded then + self.parent.physics:enable() + end + if self.processData.callbacks ~= nil and self.processData.callbacks.onAfterModelCopy ~= nil then + self.processData.callbacks.onAfterModelCopy(self.parent.characterData, self.isScriptLoaded) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/head_ring.lua b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/head_ring.lua new file mode 100644 index 0000000..315489c --- /dev/null +++ b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/head_ring.lua @@ -0,0 +1,79 @@ +---@class (exact) HeadRing : AvatarModule ヘイロー(頭の輪っか)を制御するクラス +---@field public initialHaloRot number ヘイローの初期角度 +---@field package headRotData number[] 一定期間内の頭の角度を保持するテーブル +---@field package headRotAverage number[] 頭の角度の移動平均値 +---@field package floatCount integer ヘイローが上下するアニメーションのカウンター + +HeadRing = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return HeadRing + new = function (parent) + ---@type HeadRing + local instance = Avatar.instantiate(HeadRing, AvatarModule, parent) + + instance.initialHaloRot = models.models.main.Avatar.Head.HeadRing:getRot().x + instance.haloRotPrev = instance.initialHaloRot + instance.headRotData = {} + instance.headRotAverage = {0, 0} + instance.floatCount = 0 + + return instance + end; + + ---初期化関数 + ---@param self HeadRing + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + if not client:isPaused() then + --移動平均値の算出 + local headRot = self.parent.exSkill.animationCount > -1 and models.models.main.Avatar.Head:getAnimRot().x or math.deg(math.asin(player:getLookDir().y)) + local headRotAverage = self.headRotAverage[2] + headRotAverage = (#self.headRotData * headRotAverage + headRot) / (#self.headRotData + 1) + table.insert(self.headRotData, headRot) + --古いデータの切り捨て + if #self.headRotData > 5 then + headRotAverage = (#self.headRotData * headRotAverage - self.headRotData[1]) / (#self.headRotData - 1) + table.remove(self.headRotData, 1) + end + table.insert(self.headRotAverage, headRotAverage) + table.remove(self.headRotAverage, 1) + end + end) + + events.WORLD_TICK:register(function () + if not client:isPaused() then + self.floatCount = self.floatCount + 1 + self.floatCount = self.floatCount == 80 and 0 or self.floatCount + end + end) + + events.RENDER:register(function (delta) + if not client:isPaused() then + --ヘイローの位置・角度を設定 + local playerPose = player:getPose() + local headRot = self.parent.physics.getValueBetweenTicks(self.headRotAverage, delta) + local floatOffset = math.sin((self.floatCount + delta) / 80 * 2 * math.pi) * 0.25 + if playerPose == "SWIMMING" or playerPose == "FALL_FLYING" then + models.models.main.Avatar.Head.HeadRing:setPos(self.parent.physics.velocityAverage[3][2] * 3, math.cos(math.rad(headRot)) * self.parent.physics.velocityAverage[1][2] * -1 + math.sin(math.rad(headRot)) * self.parent.physics.velocityAverage[2][2] * -1 + floatOffset, math.cos(math.rad(headRot)) * self.parent.physics.velocityAverage[2][2] * -3 + math.sin(math.rad(headRot)) * self.parent.physics.velocityAverage[1][2]) + else + models.models.main.Avatar.Head.HeadRing:setPos(self.parent.physics.velocityAverage[3][2] * -3, math.cos(math.rad(headRot)) * self.parent.physics.velocityAverage[2][2] * -1 + math.sin(math.rad(headRot)) * self.parent.physics.velocityAverage[1][2] + floatOffset, math.cos(math.rad(headRot)) * self.parent.physics.velocityAverage[1][2] * 3 + math.sin(math.rad(headRot)) * self.parent.physics.velocityAverage[2][2]) + end + if self.parent.deathAnimation.dummyAvatarRoot ~= nil then + self.parent.deathAnimation.dummyAvatarRoot.Head.HeadRing:setPos(0, floatOffset, 0) + end + models.models.main.Avatar.Head.HeadRing:setRot(headRot - (self.parent.exSkill.animationCount > -1 and models.models.main.Avatar.Head:getAnimRot().x or math.deg(math.asin(player:getLookDir().y))) + self.initialHaloRot, 0, 0) + end + end) + + events.WORLD_RENDER:register(function (delta) + if not client:isPaused() and models.script_head_block.Head ~= nil and models.script_head_block.Head.HeadRing ~= nil then + models.script_head_block.Head.HeadRing:setPos(0, math.sin((self.floatCount + delta) / 80 * 2 * math.pi) * 0.25, 0) + end + end) + + models.models.main.Avatar.Head.HeadRing:setLight(15) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/hypixel_zombies.lua b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/hypixel_zombies.lua new file mode 100644 index 0000000..5d3df84 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/hypixel_zombies.lua @@ -0,0 +1,85 @@ +---@class (exact) HypixelZombies : AvatarModule Hypixelの「Zombies」にアバターを対応させるパッチ +---@field package isEnabled boolean Zombiesモードが有効かどうか +---@field package damagerPercentPrev number[] 前ティック以前のツールの耐久度割合 +---@field public enable fun(self: HypixelZombies) Zombiesモードを有効にする +---@field public disable fun(self: HypixelZombies) Zombiesモードを無効にする + +HypixelZombies = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return HypixelZombies + new = function (parent) + ---@type HypixelZombies + local instance = Avatar.instantiate(HypixelZombies, AvatarModule, parent) + + instance.isEnabled = false + instance.damagerPercentPrev = {1, 1} + + return instance + end; + + ---Zombiesモードを有効にする。 + ---@param self HypixelZombies + enable = function (self) + if not self.isEnabled then + self.parent.gun.gunItems = {"minecraft:bow", "minecraft:crossbow", "minecraft:wooden_hoe", "minecraft:stone_hoe", "minecraft:iron_hoe", "minecraft:wooden_shovel", "minecraft:stone_shovel", "minecraft:shears", "minecraft:diamond_hoe", "minecraft:golden_hoe", "minecraft:iron_shovel", "minecraft:diamond_pickaxe", "minecraft:golden_pickaxe", "minecraft:golden_shovel", "minecraft:flint_and_steel"} + + events.TICK:register(function () + local heldItem = player:getHeldItem() + local maxDamage = heldItem:getMaxDamage() + local damagePercent = (maxDamage - heldItem:getDamage()) / maxDamage + if maxDamage > 0 then + if damagePercent - self.damagerPercentPrev[1] > 0 and damagePercent - self.damagerPercentPrev[1] <= 0.2 then + if self.parent.bubble.bubbleCount == 0 then + self.parent.bubble:play("RELOAD", -1, vectors.vec2(), 0, false) + end + elseif self.parent.bubble.emoji == "RELOAD" then + self.parent.bubble:stop() + end + table.insert(self.damagerPercentPrev, damagePercent) + else + if self.parent.bubble.emoji == "RELOAD" then + self.parent.bubble:stop() + end + table.insert(self.damagerPercentPrev, 1) + end + table.remove(self.damagerPercentPrev, 1) + end, "hypixel_zombies_tick") + + if host:isHost() then + print(self.parent.locale:getLocale("avatar.zombies_mode.enable")) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.lightning_bolt.thunder"), player:getPos(), 0.5, 2) + end + + self.isEnabled = true + elseif host:isHost() then + print(self.parent.locale:getLocale("avatar.zombies_mode.already_enabled")) + end + end; + + ---Zombiesモードを無効にする。 + ---@param self HypixelZombies + disable = function (self) + if self.isEnabled then + events.TICK:remove("hypixel_zombies_tick") + self.parent.gun.gunItems = {"minecraft:bow", "minecraft:crossbow"} + + if host:isHost() then + print(self.parent.locale:getLocale("avatar.zombies_mode.disable")) + end + elseif host:isHost() then + print(self.parent.locale:getLocale("avatar.zombies_mode.already_disabled")) + end + self.isEnabled = false + end +} + +---Zombiesモードを有効にする。 +function pings.enableZombiesMode() + AvatarInstance.hypixelZombies:enable() +end + +---Zombiesモードを無効にする。 +function pings.disableZombiesMode() + AvatarInstance.hypixelZombies:disable() +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/key_manager.lua b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/key_manager.lua new file mode 100644 index 0000000..e1cac33 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/key_manager.lua @@ -0,0 +1,45 @@ +---@class (exact) KeyManager : AvatarModule アバターのキー割り当てを管理するクラス。ここで管理する割り当ては設定で変更された場合はそれが保存される。 +---@field public keyMappings {[string]: Keybind} キーの割り当てのテーブル +---@field public register fun(self: KeyManager, assignName: string, keyName: Minecraft.keyCode): Keybind キー割り当てを登録する + +KeyManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return KeyManager + new = function (parent) + ---@type KeyManager + local instance = Avatar.instantiate(KeyManager, AvatarModule, parent) + + instance.keyMappings = {} + + return instance + end; + + ---初期化関数 + ---@param self KeyManager + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + events.TICK:register(function () + for key, value in pairs(self.keyMappings) do + if not value:isDefault() then + local newKey = value:getKey() + self.parent.config:saveConfig("PRIVATE", "keybind."..key, newKey) + value:setKey(newKey) + end + end + end) + end + end; + + ---キー割り当てを登録する。 + ---@param self KeyManager + ---@param assignName string 割り当ての名前 + ---@param keyName Minecraft.keyCode 割当先のキー + ---@return Keybind assignedKey キーマネージャーによって登録がされたキーバインド + register = function (self, assignName, keyName) + self.keyMappings[assignName] = keybinds:newKeybind(self.parent.locale:getLocale("key_name."..assignName), self.parent.config:loadConfig("PRIVATE", "keybind."..assignName, keyName)) + return self.keyMappings[assignName] + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/locale.lua b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/locale.lua new file mode 100644 index 0000000..b2675ce --- /dev/null +++ b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/locale.lua @@ -0,0 +1,118 @@ +---@alias Locale.Language +---| "en_us" # 英語(米国) +---| "ja_jp" # 日本語 + +---@class (exact) Locale : AvatarModule アバターの表示言語を管理するクラス +---@field public localeData {[Locale.Language]: {[string]: string}} 言語データ +---@field public getLocale fun(self: Locale, key: string): string 翻訳キーに対する訳文を返す。設定言語が存在しない場合は英語の文が返される。また、指定したキーの訳が無い場合は英語->キーそのままが返される。 + +Locale = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Locale + new = function (parent) + ---@type Locale + local instance = Avatar.instantiate(Locale, AvatarModule, parent) + + instance.localeData = { + en_us = {}; + ja_jp = {}; + } + + ---言語データのリスト + ---1. キー名, 2. 英語(米国), 3. 日本語 + local localeStrings = { + {"avatar.old_version_warning", "For the best experience, playing with 1.20.1 or higher is recommended!", "生徒さんとより良い時間を過ごすためにバージョン1.20.1以上でのプレイをおすすめします!"}; + {"avatar.zombies_mode.enable", "Enabled Zombies mode.", "Zombiesモードを有効にしました。"}; + {"avatar.zombies_mode.already_enabled", "Already enabled Zombies mode.", "Zombiesモードは既に有効化されています。"}; + {"avatar.zombies_mode.disable", "Disabled Zombies mode.", "Zombiesモードを無効にしました。"}; + {"avatar.zombies_mode.already_disabled", "Already disabled Zombies mode.", "Zombiesモードは既に無効化されています。"}; + {"action_wheel.toggle_off", "off", "オフ"}; + {"action_wheel.toggle_on", "on", "オン"}; + {"action_wheel.main.action_1.title", "Change costume: ", "衣装を変更:"}; + {"action_wheel.main.action_1.unavailable", "There is no costume available.", "利用可能な衣装はありません。"}; + {"action_wheel.main.action_1.done_first", "Changed costume to §b", "衣装を§b"}; + {"action_wheel.main.action_1.done_last", "§r.", "§rに変更しました。"}; + {"action_wheel.main.action_2.title", "Change display name: ", "表示名を変更:"}; + {"action_wheel.main.action_2.title_2", "Show club name: ", "部活名を表示:"}; + {"action_wheel.main.action_2.done_first", "Changed display name to §b", "表示名を§b"}; + {"action_wheel.main.action_2.done_last", "§r.", "§rに変更しました。"}; + {"action_wheel.main.action_3.title", "Show armors: ", "防具を表示:"}; + {"action_wheel.main.action_4.title", "Show weapon models in first person: ", "一人称視点で武器モデルを表示:"}; + {"action_wheel.main.action_5.title", "Amount of particles in Ex skill frame: ", "Exスキルフレームのパーティクルの量:"}; + {"action_wheel.main.action_5.option_1", "Standard", "標準"}; + {"action_wheel.main.action_5.option_2", "Minimum", "少なめ"}; + {"action_wheel.main.action_5.option_3", "None", "なし"}; + {"action_wheel.main.action_5.option_4", "Hide Ex skill frame", "スキルフレーム非表示"}; + {"action_wheel.main.action_5.done_first", "Changed amount of particles in Ex skill frame to§b", "Exスキルフレームのパーティクルの量を§b"}; + {"action_wheel.main.action_5.done_last", "§r.", "§rに変更しました。"}; + {"action_wheel.main.action_6.title", "Replace vehicle models: ", "乗り物のモデルを置き換え:"}; + {"action_wheel.main.action_6.unavailable", "This option is unavailable for this character.", "この生徒さんでは利用できません。"}; + {"action_wheel.main.action_7.title_1", "Check for new FBAC Updates ", "FBACアップデートの確認"}; + {"action_wheel.main.action_7.title_2", "(Left-click)", "(左クリック)"}; + {"action_wheel.main.action_7.title_3", "Copy URL for the latest FBAC ", "最新FBACバージョンのURLをコピー"}; + {"action_wheel.main.action_7.title_4", "(Right-click)", "(右クリック)"}; + {"action_wheel.main.action_7.networking_api", "To enable update checking, you need to allow Figura's Networking and put \"api.github.com\" in the Network Filter from Figura settings!", "アップデート確認機能を有効にするにはFiguraの設定より、FiguraのNetworkingの使用を許可し、\"api.github.com\"を許可リストに入れる必要があります!"}; + {"action_wheel.main.action_7.ongoing", "Checking for updates is ongoing. Please DO NOT click repeatedly!", "現在アップデートの確認中です。連打しないでください!"}; + {"action_wheel.main.action_7.copied", "Coped the link to the latest FBAC to your clipboard. Please open the link in your browser.", "最新のFBACへのリンクをクリップボードにコピーしました。ブラウザでリンクを開いてください。"}; + {"action_wheel.main.action_7.cannot_check_latest", "Cannot get the link because cannot check the latest FBAC.", "FBACの最新バージョンを確認できないため、リンクを取得できません。"}; + {"action_wheel.gui.bubble_guide.title", "§0Bubble emote guide", "§0吹き出しエモートガイド"}; + {"action_wheel.gui.ex_skill_guide.title", "§0Ex skill guide", "§0Exスキルガイド"}; + {"action_wheel.gui.ex_skill_guide.key_pre", "Press \"", "\""}; + {"action_wheel.gui.ex_skill_guide.key_post", "\"key to play", "\"キーで再生"}; + {"action_wheel.gui.update_check.checking", "Checking for updates...", "アップデートを確認中..."}; + {"action_wheel.gui.update_check.latest", "No FBAC update available", "最新のFBACを使用中です"}; + {"action_wheel.gui.update_check.update_available", "New FBAC update is available: ", "FBACのアップデートが利用可能です:"}; + {"action_wheel.gui.update_check.error_not_allowed", "Failed to check for updates - Networking API not allowed", "アップデート確認失敗 - ネットワーキング機能が不許可"}; + {"action_wheel.gui.update_check.error_network_err", "Failed to check for updates - Network error", "アップデート確認失敗 - ネットワークエラー"}; + {"action_wheel.gui.update_check.error_request_failed", "Failed to check for updates - Request failure ", "アップデート確認失敗 - リクエスト失敗 "}; + {"action_wheel.gui.update_check.error_invalid_json_syntax", "Failed to check for updates - Json parsing failure", "アップデート確認失敗 - リクエスト解析失敗"}; + {"action_wheel.gui.update_check.error_invalid_json", "Failed to check for updates - Unexpected Request", "アップデート確認失敗 - 予期しないリクエスト"}; + {"key_name.ex_skill", "Ex Skill", "Exスキル"}; + {"key_name.ex_skill_sub", "Sub Ex Skill", "サブExスキル"}; + {"key_name.bubble_1", "Bubble: Good", "吹き出し:いいね"}; + {"key_name.bubble_2", "Bubble: Heart", "吹き出し:ハート"}; + {"key_name.bubble_3", "Bubble: Note", "吹き出し:音符"}; + {"key_name.bubble_4", "Bubble: Question", "吹き出し:はてな"}; + {"key_name.bubble_5", "Bubble: Sweat", "吹き出し:汗"}; + {"key_bind.ex_skill.unavailable", "You cannot do this now.", "今は再生できません。"}; + {"key_bind.ex_skill.unavailable_firstperson", "You cannot do this in first person perspective.", "一人称視点では再生できません。"}; + } + + for _, localeSet in ipairs(localeStrings) do + instance.localeData.en_us[localeSet[1]] = localeSet[2] + instance.localeData.ja_jp[localeSet[1]] = localeSet[3] + end + + return instance + end; + + ---初期化関数 + ---@param self Locale + init = function (self) + AvatarModule.init(self) + + self.localeData.en_us["nameplate.club_name"] = self.parent.characterData.basic.clubName.en_us + self.localeData.ja_jp["nameplate.club_name"] = self.parent.characterData.basic.clubName.ja_jp + + if host:isHost() then + for index, exSkill in ipairs(self.parent.characterData.exSkill) do + self.localeData.en_us["action_wheel.gui.ex_skill_guide.ex_skill_"..index..".name"] = exSkill.name.en_us + self.localeData.ja_jp["action_wheel.gui.ex_skill_guide.ex_skill_"..index..".name"] = exSkill.name.ja_jp + end + for _, costume in ipairs(self.parent.characterData.costume.costumes) do + self.localeData.en_us["costume."..costume.name] = costume.displayName.en_us + self.localeData.ja_jp["costume."..costume.name] = costume.displayName.ja_jp + end + end + end; + + ---翻訳キーに対する訳文を返す。設定言語が存在しない場合は英語の文が返される。また、指定したキーの訳が無い場合は英語->キーそのままが返される。 + ---@param self Locale + ---@param key string 翻訳キー + ---@return string translatedString 翻訳キーに対する翻訳データ。設定言語での翻訳が存在しない場合は英文が返される。英文すら存在しない場合は翻訳キーがそのまま返される。 + getLocale = function (self, key) + local activeLanguage = client:getActiveLang() + return (self.localeData[activeLanguage] ~= nil and self.localeData[activeLanguage][key] ~= nil) and self.localeData[activeLanguage][key] or (self.localeData.en_us[key] and self.localeData.en_us[key] or key) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/nameplate.lua b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/nameplate.lua new file mode 100644 index 0000000..1db7e24 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/nameplate.lua @@ -0,0 +1,77 @@ +---@class (exact) Nameplate : AvatarModule プレイヤーの表示名を制御するクラス +---@field public currentName integer 現在の表示名:1. プレイヤー名, 2. 名のみ(英語), 3. 名のみ(日本語), 4. 名性(英語), 5. 性名(英語), 6. 性名(日本語) +---@field public shouldShowClubName boolean 部活名を表示するかどうか +---@field package localePrev string 前ティックの設定言語 +---@field public getName fun(self: Nameplate, typeId: integer): string 指定されたtypeIdでの表示名を返す +---@field public setName fun(self: Nameplate, typeId: integer, shouldShowClubName: boolean) 入力された設定で表示名を設定する + +Nameplate = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Nameplate + new = function (parent) + ---@type Nameplate + local instance = Avatar.instantiate(Nameplate, AvatarModule, parent) + + instance.currentName = instance.parent.config:loadConfig("PRIVATE", "name", 1) + instance.shouldShowClubName = instance.parent.config:loadConfig("PRIVATE", "showClubName", false) + instance.localePrev = client:getActiveLang() + + return instance + end; + + ---指定されたtypeIdでの表示名を返す。 + ---@param self Nameplate + ---@param typeId integer 表示名の種類:1. プレイヤー名, 2. 名のみ(英語), 3. 名のみ(日本語), 4. 名性(英語), 5. 性名(英語), 6. 性名(日本語) + ---@return string displayName 指定されたtypeIdでの表示名 + getName = function (self, typeId) + local displayName = typeId == 1 and player:getName() or ((typeId == 2 or typeId == 4) and self.parent.characterData.basic.firstName.en_us or (typeId == 5 and self.parent.characterData.basic.lastName.en_us or (typeId == 3 and self.parent.characterData.basic.firstName.ja_jp or self.parent.characterData.basic.lastName.ja_jp))) + if typeId >= 4 then + displayName = displayName.." "..(typeId == 4 and self.parent.characterData.basic.lastName.en_us or (typeId == 5 and self.parent.characterData.basic.firstName.en_us or self.parent.characterData.basic.firstName.ja_jp)) + end + return displayName + end; + + ---入力された設定で表示名を設定する。 + ---@param self Nameplate + ---@param typeId integer 表示名の種類:1. プレイヤー名, 2. 名のみ(英語), 3. 名のみ(日本語), 4. 名性(英語), 5. 性名(英語), 6. 性名(日本語) + ---@param shouldShowClubName boolean 部活名を表示するかどうか + setName = function (self, typeId, shouldShowClubName) + local date = client:getDate() + local displayName = self:getName(typeId)..((typeId >= 2 and date.month == self.parent.characterData.basic.birth.month and date.day == self.parent.characterData.basic.birth.day) and " :cake:" or "") + nameplate.ALL:setText(displayName) + if typeId >= 2 and shouldShowClubName then + nameplate.ENTITY:setText(displayName.."\n§7"..self.parent.locale:getLocale("nameplate.club_name")) + end + self.currentName = typeId + self.shouldShowClubName = shouldShowClubName + end; + + ---初期化関数 + ---@param self Nameplate + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + local locale = client:getActiveLang() + if locale ~= self.localePrev then + if self.shouldShowClubName then + self:setName(self.currentName, true) + end + self.localePrev = locale + end + end) + + events.RENDER:register(function (delta, context) + if context ~= "PAPERDOLL" then + nameplate.ENTITY:setPivot(self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.UpperBody.Body.NameplateAnchor):sub(player:getPos(delta)):add(0, self.parent.barrier.isBarrierVisible and 1.095 or 0.895, 0)) + else + nameplate.ENTITY:setPivot() + end + end) + + if self.currentName >= 2 then + self:setName(self.currentName, self.shouldShowClubName) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/physics.lua b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/physics.lua new file mode 100644 index 0000000..0b17e3f --- /dev/null +++ b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/physics.lua @@ -0,0 +1,199 @@ +---@class (exact) Physics : AvatarModule 物理演算を制御するクラス +---@field public velocityData number[][] 速度データ:1. 頭前後, 2. 上下, 3. 頭左右, 4. 頭角速度, 5. 体前後, 6. 体左右, 7. 体角速度 +---@field public velocityAverage number[][] 速度の平均値:1. 頭前後, 2. 上下, 3. 頭左右, 4. 頭角速度, 5. 体前後, 6. 体左右, 7. 体角速度 +---@field package directionPrev number[] 前ティックのdirectionテーブル +---@field public getValueBetweenTicks fun(tickData: number[], delta: number): number 2つのティックデータの間からレンダーのデルタ値を加味した値を返す +---@field package decomposeHorizontalVelocity fun(self: Physics, direction: number, index: integer): number, number, number 速度を指定された方向から見て前後方向、左右方向に分解する +---@field package getPhysicRot fun(self: Physics, physicData: BlueArchiveCharacter.PhysicCoreData, delta: number): number 物理演算で計算した角度を返す +---@field public enable fun(self: Physics) 物理演算を初期化し、有効にする +---@field public disable fun(self: Physics) 物理演算を無効にする。物理演算で管理していたモデルの回転をリセットする + +Physics = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Physics + new = function (parent) + ---@type Physics + local instance = Avatar.instantiate(Physics, AvatarModule, parent) + + instance.velocityData = {{}, {}, {}, {}, {}, {}, {}} + instance.velocityAverage = {{0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}} + instance.directionPrev = {} + + return instance + end; + + ---2つのティックデータの間からレンダーのデルタ値を加味した値を返す。 + ---@param tickData number[] ティックデータ:1. 前ティック, 2. 現ティック + ---@param delta number デルタ値 + ---@return number deltaValue 2つのティックデータの間からデルタ値で補完した値 + getValueBetweenTicks = function (tickData, delta) + return tickData[1] + (tickData[2] - tickData[1]) * delta + end; + + ---速度を指定された方向から見て前後方向、左右方向に分解する。 + ---@param self Physics + ---@param direction number 基準にする方向 + ---@param index integer データ管理用のインデックス番号(呼び出しの度に異なるインデックス番号になるようにする) + ---@return number velocityFront 指定された方向から見た前後方向の速度 + ---@return number velocityRight 指定された方向から見た左右方向の速度 + ---@return number velocityRot 指定された方向を基準とした角速度 + decomposeHorizontalVelocity = function (self, direction, index) + local velocity = player:getVelocity() + if self.directionPrev[index] == nil then + self.directionPrev[index] = 0 + end + local velocityRot = math.deg(math.atan2(velocity.z, velocity.x)) + velocityRot = velocityRot < 0 and 360 + velocityRot or velocityRot + local directionAbsFront = math.abs(velocityRot - (direction) % 360) + directionAbsFront = directionAbsFront > 180 and 360 - directionAbsFront or directionAbsFront + local directionAbsRight = math.abs(velocityRot - (direction + 90) % 360) + directionAbsRight = directionAbsRight > 180 and 360 - directionAbsRight or directionAbsRight + local directionDelta = direction - self.directionPrev[index] + directionDelta = directionDelta > 180 and (360 - directionDelta) * 20 or (directionDelta < -180 and (360 + directionDelta) * 20 or directionDelta * 20) + self.directionPrev[index] = direction + return math.sqrt(velocity.x ^ 2 + velocity.z ^ 2) * math.cos(math.rad(directionAbsFront)), math.sqrt(velocity.x ^ 2 + velocity.z ^ 2) * math.cos(math.rad(directionAbsRight)), directionDelta + end; + + ---物理演算で計算した角度を返す。 + ---@param self Physics + ---@param physicData BlueArchiveCharacter.PhysicCoreData 物理演算データ + ---@param delta number デルタ値 + ---@return number physicDirection 物理演算で計算したモデルの角度 + getPhysicRot = function (self, physicData, delta) + local rot = physicData.neutral + local waterMultiplayer = player:isUnderwater() and 2 or 1 + if physicData.headX ~= nil then + rot = rot + math.clamp(self.getValueBetweenTicks(self.velocityAverage[1], delta) * physicData.headX.multiplayer * waterMultiplayer, physicData.headX.min - physicData.neutral, physicData.headX.max - physicData.neutral) + end + if physicData.headZ ~= nil then + rot = rot + math.clamp(self.getValueBetweenTicks(self.velocityAverage[3], delta) * physicData.headZ.multiplayer * waterMultiplayer, physicData.headZ.min - physicData.neutral, physicData.headZ.max - physicData.neutral) + end + if physicData.headRot ~= nil then + rot = rot + math.clamp(math.abs(self.getValueBetweenTicks(self.velocityAverage[4], delta)) * -1 * physicData.headRot.multiplayer, physicData.headRot.min - physicData.neutral, physicData.headRot.max - physicData.neutral) + end + if physicData.bodyX ~= nil then + rot = rot + math.clamp(self.getValueBetweenTicks(self.velocityAverage[5], delta) * physicData.bodyX.multiplayer * waterMultiplayer, physicData.bodyX.min - physicData.neutral, physicData.bodyX.max - physicData.neutral) + end + if physicData.bodyY ~= nil then + rot = rot + math.clamp(self.getValueBetweenTicks(self.velocityAverage[2], delta) * physicData.bodyY.multiplayer * waterMultiplayer, physicData.bodyY.min - physicData.neutral, physicData.bodyY.max - physicData.neutral) + end + if physicData.bodyZ ~= nil then + rot = rot + math.clamp(self.getValueBetweenTicks(self.velocityAverage[player:getVehicle() == nil and 6 or 3], delta) * physicData.bodyZ.multiplayer * waterMultiplayer, physicData.bodyZ.min - physicData.neutral, physicData.bodyZ.max - physicData.neutral) + end + if physicData.bodyRot ~= nil then + rot = rot + math.clamp(-math.abs(self.getValueBetweenTicks(self.velocityAverage[7], delta)) * physicData.bodyRot.multiplayer, physicData.bodyRot.min - physicData.neutral, physicData.bodyRot.max - physicData.neutral) + end + rot = math.clamp(rot, physicData.min, physicData.max) + if physicData.headRotMultiplayer ~= nil then + rot = rot + math.deg(math.asin(player:getLookDir().y)) * physicData.headRotMultiplayer + end + if physicData.sneakOffset ~= nil and player:isCrouching() then + rot = rot + physicData.sneakOffset + end + return rot + end; + + ---物理演算を初期化し、有効にする。 + ---@param self Physics + enable = function (self) + self.velocityData = {{}, {}, {}, {}, {}, {}, {}} + self.velocityAverage = {{0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}} + self.directionPrev = {} + + if events.TICK:getRegisteredCount("physics_tick") == 0 then + events.TICK:register(function () + if not client:isPaused() then + local lookDir = player:getLookDir() + local velocityHeadFront, velocityHeadRight, velocityHeadRot = self:decomposeHorizontalVelocity(math.deg(math.atan2(lookDir.z, lookDir.x)), 1) + local velocityAverage = {self.velocityAverage[1][2], self.velocityAverage[2][2], self.velocityAverage[3][2], self.velocityAverage[4][2], self.velocityAverage[5][2], self.velocityAverage[6][2], self.velocityAverage[7][2]} + local velocityY = player:getVelocity().y + velocityAverage[1] = (#self.velocityData[1] * velocityAverage[1] + velocityHeadFront) / (#self.velocityData[1] + 1) + table.insert(self.velocityData[1], velocityHeadFront) + velocityAverage[2] = (#self.velocityData[2] * velocityAverage[2] + velocityY) / (#self.velocityData[2] + 1) + table.insert(self.velocityData[2], velocityY) + velocityAverage[3] = (#self.velocityData[3] * velocityAverage[3] + velocityHeadRight) / (#self.velocityData[3] + 1) + table.insert(self.velocityData[3], velocityHeadRight) + velocityAverage[4] = (#self.velocityData[4] * velocityAverage[4] + velocityHeadRot) / (#self.velocityData[4] + 1) + table.insert(self.velocityData[4], velocityHeadRot) + local velocityBodyFront, velocityBodyRight, velocityBodyRot = self:decomposeHorizontalVelocity((player:getBodyYaw() + models.models.main.Avatar.UpperBody:getTrueRot().y - 90) % 360 - 180, 2) + velocityAverage[5] = (#self.velocityData[5] * velocityAverage[5] + velocityBodyFront) / (#self.velocityData[5] + 1) + table.insert(self.velocityData[5], velocityBodyFront) + velocityAverage[6] = (#self.velocityData[6] * velocityAverage[6] + velocityBodyRight) / (#self.velocityData[6] + 1) + table.insert(self.velocityData[6], velocityBodyRight) + velocityAverage[7] = (#self.velocityData[7] * velocityAverage[7] + velocityBodyRot) / (#self.velocityData[7] + 1) + table.insert(self.velocityData[7], velocityBodyRot) + --古いデータの切り捨て + for index, velocityTable in ipairs(self.velocityData) do + if #velocityTable > 5 then + velocityAverage[index] = (#velocityTable * velocityAverage[index] - velocityTable[1]) / (#velocityTable - 1) + table.remove(velocityTable, 1) + end + table.insert(self.velocityAverage[index], velocityAverage[index]) + table.remove(self.velocityAverage[index], 1) + end + end + end, "physics_tick") + + events.RENDER:register(function (delta) + local playerPose = player:getPose() + local isHorizontal = playerPose == "SWIMMING" or playerPose == "FALL_FLYING" + + for _, physicData in ipairs(self.parent.characterData.physics.physicData) do + for _, modelPart in ipairs(physicData.models) do + if modelPart:getVisible() then + local rot = vectors.vec3() + if physicData.x ~= nil then + if isHorizontal and physicData.x.horizontal then + rot.x = self:getPhysicRot(physicData.x.horizontal, delta) + elseif not isHorizontal and physicData.x.vertical then + rot.x = self:getPhysicRot(physicData.x.vertical, delta) + end + end + if physicData.y ~= nil then + if isHorizontal and physicData.y.horizontal then + rot.y = self:getPhysicRot(physicData.y.horizontal, delta) + elseif not isHorizontal and physicData.y.vertical then + rot.y = self:getPhysicRot(physicData.y.vertical, delta) + end + end + if physicData.z ~= nil then + if isHorizontal and physicData.z.horizontal then + rot.z = self:getPhysicRot(physicData.z.horizontal, delta) + elseif not isHorizontal and physicData.z.vertical then + rot.z = self:getPhysicRot(physicData.z.vertical, delta) + end + end + modelPart:setRot(rot) + if self.parent.characterData.physics.callbacks ~= nil and self.parent.characterData.physics.callbacks.onPhysicPerformed ~= nil then + self.parent.characterData.physics.callbacks.onPhysicPerformed(self.parent.characterData, modelPart) + end + end + end + end + end, "physics_render") + end + end; + + ---物理演算を無効にする。物理演算で管理していたモデルの回転をリセットする。 + ---@param self Physics + disable = function (self) + events.TICK:remove("physics_tick") + events.RENDER:remove("physics_render") + for _, physicData in ipairs(self.parent.characterData.physics.physicData) do + local initialRot = vectors.vec3() + if physicData.x ~= nil and physicData.x.vertical ~= nil then + initialRot.x = physicData.x.vertical.neutral + end + if physicData.y ~= nil and physicData.y.vertical ~= nil then + initialRot.y = physicData.y.vertical.neutral + end + if physicData.z ~= nil and physicData.z.vertical ~= nil then + initialRot.z = physicData.z.vertical.neutral + end + for _, modelPart in ipairs(physicData.models) do + modelPart:setRot(initialRot) + end + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/placement_object/placement_object.lua b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/placement_object/placement_object.lua new file mode 100644 index 0000000..ee9151d --- /dev/null +++ b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/placement_object/placement_object.lua @@ -0,0 +1,231 @@ +---@class (exact) PlacementObject : SpawnObject 単一の設置物を管理するクラス +---@field package object ModelPart インスタンスで制御するオブジェクト +---@field public index integer 設置物データのインデックス番号。設置物のデータを参照するときに使用する。 +---@field package boundingBox Vector3 設置物の当たり判定 +---@field package gravity number この設置物に働く重力の大きさ +---@field package hasFireResistance boolean この設置物に炎耐性を付けるかどうか +---@field public removeReason PlacementObjectManager.RemoveReason この設置物のインスタンスが破棄される理由 +---@field package modelOffsetPos Vector3 設置物"モデル"の位置オフセット値 +---@field package offsetPos Vector3 設置物の中心座標のオフセット値 +---@field public currentPos Vector3 設置物の現在位置 +---@field package nextPos Vector3 設置物の次ティックの位置 +---@field package fallingSpeed number 設置物の落下速度 +---@field package isOnGround boolean 設置物が接地しているかどうか +---@field public new fun(parent: Avatar, model: ModelPart, index: integer, data: BlueArchiveCharacter.PlacementObjectStruct, pos: Vector3, rot: number): PlacementObject コンストラクター + +PlacementObject = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@param index integer 設置物データのインデックス番号。設置物のデータを参照するときに使用する。 + ---@param pos Vector3 設置物を設置するワールド座標 + ---@param rot number 設置物のワールド方向 + ---@return PlacementObject + new = function (parent, index, pos, rot) + ---@type PlacementObject + local instance = Avatar.instantiate(PlacementObject, SpawnObject, parent) + + instance.index = index + instance.object = instance.parent.characterData.placementObjects[instance.index].placementMode == "COPY" and instance.parent.characterData.placementObjects[instance.index].model:copy(instance.uuid) or instance.parent.characterData.placementObjects[instance.index].model + instance.boundingBox = instance.parent.characterData.placementObjects[instance.index].boundingBox.size:copy():scale(0.0625) + instance.gravity = instance.parent.characterData.placementObjects[instance.index].gravity ~= nil and instance.parent.characterData.placementObjects[instance.index].gravity or 1 + instance.hasFireResistance = instance.parent.characterData.placementObjects[instance.index].hasFireResistance ~= nil and instance.parent.characterData.placementObjects[instance.index].hasFireResistance or false + instance.removeReason = "REMOVED_BY_SCRIPTS" + instance.modelOffsetPos = vectors.vec3() + instance.offsetPos = vectors.vec3() + instance.currentPos = pos + instance.nextPos = instance.currentPos + instance.fallingSpeed = 0 + instance.isOnGround = false + + instance.callbacks = { + ---@param self PlacementObject + onInit = function (self) + if self.parent.characterData.placementObjects[self.index].placementMode == "COPY" then + models.script_placement_object:addChild(self.object) + end + local objectOffset = vectors.vec3() + if self.parent.characterData.placementObjects[self.index].boundingBox.offsetPos ~= nil then + objectOffset = self.parent.characterData.placementObjects[self.index].boundingBox.offsetPos:copy():scale(-0.0625) + end + if self.gravity >= 0 then + self.modelOffsetPos = objectOffset:copy():add(0, 0.075, 0) + else + self.modelOffsetPos = objectOffset:copy():add(0, -0.075, 0) + end + --self.objectModel:setPos(self.currentPos:copy():add(self.modelOffsetPos):scale(16)) + self.object:setRot(0, rot, 0) + self.object:setVisible(true) + if self.parent.characterData.placementObjects[self.index].callbacks ~= nil and self.parent.characterData.placementObjects[self.index].callbacks.onInit ~= nil then + self.parent.characterData.placementObjects[self.index].callbacks.onInit(self.parent.characterData, self) + end + end; + + ---@param self PlacementObject + onDeinit = function (self) + if self.parent.characterData.placementObjects[self.index].placementMode == "COPY" then + models.script_placement_object:removeChild(self.object) + self.object:remove() + else + self.object:setVisible(false) + end + if self.parent.characterData.placementObjects[self.index].callbacks ~= nil and self.parent.characterData.placementObjects[self.index].callbacks.onDeinit ~= nil then + self.parent.characterData.placementObjects[self.index].callbacks.onDeinit(self.parent.characterData, self) + end + end; + + ---@param self PlacementObject + onTick = function (self) + --設置物の位置を強制更新 + self.currentPos = self.nextPos + self.object:setPos(self.currentPos:copy():add(self.modelOffsetPos):scale(16)) + + --当たり判定同士が重複しているか確認 + local boundingBoxStartPos = vectors.vec3(self.currentPos.x - self.boundingBox.x / 2, self.currentPos.y, self.currentPos.z - self.boundingBox.z / 2) + local boundingBoxEndPos = vectors.vec3(self.currentPos.x + self.boundingBox.x / 2, self.currentPos.y + self.boundingBox.y, self.currentPos.z + self.boundingBox.z / 2) + local boundingBoxCenter = boundingBoxEndPos:copy():sub(boundingBoxStartPos):scale(0.5):add(boundingBoxStartPos) + for z = math.floor(boundingBoxStartPos.z), math.floor(boundingBoxEndPos.z) do + for y = math.floor(boundingBoxStartPos.y), math.floor(boundingBoxEndPos.y) do + for x = math.floor(boundingBoxStartPos.x), math.floor(boundingBoxEndPos.x) do + for _, collisionBox in ipairs( world.getBlockState(x, y, z):getCollisionShape()) do + local collisionStartPos = collisionBox[1]:copy():add(x, y, z) + local collisionEndPos = collisionBox[2]:copy():add(x, y, z) + local collisionBoxCenter = collisionStartPos:copy():add(collisionEndPos:copy():sub(collisionStartPos):scale(0.5)) + if math.abs(collisionBoxCenter.x - boundingBoxCenter.x) < ((collisionEndPos.x - collisionStartPos.x) + (boundingBoxEndPos.x - boundingBoxStartPos.x)) / 2 and math.abs(collisionBoxCenter.y - boundingBoxCenter.y) < ((collisionEndPos.y - collisionStartPos.y) + (boundingBoxEndPos.y - boundingBoxStartPos.y)) / 2 and math.abs(collisionBoxCenter.z - boundingBoxCenter.z) < ((collisionEndPos.z - collisionStartPos.z) + (boundingBoxEndPos.z - boundingBoxStartPos.z)) / 2 then + self.removeReason = "OVERLAPPED" + self.shouldDeinit = true + return + end + end + end + end + end + + --落下速度を更新 + local fluidTags = world.getBlockState(self.currentPos):getFluidTags() + if fluidTags[2] == "c:water" then + if self.gravity >= 0 then + self.fallingSpeed = math.max(self.fallingSpeed - 0.1 * self.gravity, 0.1 * self.gravity) + else + self.fallingSpeed = math.min(self.fallingSpeed - 0.1 * self.gravity, 0.1 * self.gravity) + end + elseif fluidTags[2] == "c:lava" then + if self.gravity >= 0 then + self.fallingSpeed = math.max(self.fallingSpeed - 0.1 * self.gravity, 0.02 * self.gravity) + else + self.fallingSpeed = math.min(self.fallingSpeed - 0.1 * self.gravity, 0.02 * self.gravity) + end + else + if self.gravity >= 0 then + self.fallingSpeed = math.min(self.fallingSpeed + 0.035 * self.gravity, 3.575 * self.gravity) + else + self.fallingSpeed = math.max(self.fallingSpeed + 0.035 * self.gravity, 3.575 * self.gravity) + end + end + self.nextPos = self.currentPos:copy():add(0, self.fallingSpeed * -1, 0) + + --現ティックと次ティックから直方体を算出 + local nextBoxStartPos = vectors.vec3() + local nextBoxEndPos = vectors.vec3() + if self.gravity >= 0 then + nextBoxStartPos = vectors.vec3(self.currentPos.x - self.boundingBox.x / 2, math.min(self.currentPos.y, self.currentPos.y - self.fallingSpeed), self.currentPos.z - self.boundingBox.z / 2) + nextBoxEndPos = vectors.vec3(self.currentPos.x + self.boundingBox.x / 2, math.max(self.currentPos.y, self.currentPos.y - self.fallingSpeed), self.currentPos.z + self.boundingBox.z / 2) + else + nextBoxStartPos = vectors.vec3(self.currentPos.x - self.boundingBox.x / 2, math.min(self.currentPos.y, self.currentPos.y - self.fallingSpeed) + self.boundingBox.y, self.currentPos.z - self.boundingBox.z / 2) + nextBoxEndPos = vectors.vec3(self.currentPos.x + self.boundingBox.x / 2, math.max(self.currentPos.y, self.currentPos.y - self.fallingSpeed) + self.boundingBox.y, self.currentPos.z + self.boundingBox.z / 2) + end + local nextBoxCenter = nextBoxStartPos:copy():add(nextBoxEndPos:copy():sub(nextBoxStartPos):scale(0.5)) + + --直方体と重なるブロック座標を全て算出 + local collisionDetected = false + if self.gravity >= 0 then + local collisionYPos = math.floor(nextBoxStartPos.y) + for y = math.floor(nextBoxEndPos.y), math.floor(nextBoxStartPos.y) - 1, -1 do + for z = math.floor(nextBoxStartPos.z), math.floor(nextBoxEndPos.z) do + for x = math.floor(nextBoxStartPos.x), math.floor(nextBoxEndPos.x) do + for _, collisionBox in ipairs( world.getBlockState(x, y, z):getCollisionShape()) do + local collisionStartPos = collisionBox[1]:copy():add(x, y, z) + local collisionEndPos = collisionBox[2]:copy():add(x, y, z) + local collisionBoxCenter = collisionStartPos:copy():add(collisionEndPos:copy():sub(collisionStartPos):scale(0.5)) + if math.abs(collisionBoxCenter.x - nextBoxCenter.x) < ((collisionEndPos.x - collisionStartPos.x) + (nextBoxEndPos.x - nextBoxStartPos.x)) / 2 and math.abs(collisionBoxCenter.y - nextBoxCenter.y) < ((collisionEndPos.y - collisionStartPos.y) + (nextBoxEndPos.y - nextBoxStartPos.y)) / 2 and math.abs(collisionBoxCenter.z - nextBoxCenter.z) < ((collisionEndPos.z - collisionStartPos.z) + (nextBoxEndPos.z - nextBoxStartPos.z)) / 2 then + if collisionEndPos.y > self.nextPos.y then + self.nextPos.y = collisionEndPos.y + collisionYPos = y + self.fallingSpeed = 0 + collisionDetected = true + end + end + end + end + end + if y == collisionYPos - 1 then + break + end + end + else + local collisionYPos = math.floor(nextBoxEndPos.y) + for y = math.floor(nextBoxStartPos.y), math.floor(nextBoxEndPos.y), 1 do + for z = math.floor(nextBoxStartPos.z), math.floor(nextBoxEndPos.z) do + for x = math.floor(nextBoxStartPos.x), math.floor(nextBoxEndPos.x) do + for _, collisionBox in ipairs( world.getBlockState(x, y, z):getCollisionShape()) do + local collisionStartPos = collisionBox[1]:copy():add(x, y, z) + local collisionEndPos = collisionBox[2]:copy():add(x, y, z) + local collisionBoxCenter = collisionStartPos:copy():add(collisionEndPos:copy():sub(collisionStartPos):scale(0.5)) + if math.abs(collisionBoxCenter.x - nextBoxCenter.x) < ((collisionEndPos.x - collisionStartPos.x) + (nextBoxEndPos.x - nextBoxStartPos.x)) / 2 and math.abs(collisionBoxCenter.y - nextBoxCenter.y) < ((collisionEndPos.y - collisionStartPos.y) + (nextBoxEndPos.y - nextBoxStartPos.y)) / 2 and math.abs(collisionBoxCenter.z - nextBoxCenter.z) < ((collisionEndPos.z - collisionStartPos.z) + (nextBoxEndPos.z - nextBoxStartPos.z)) / 2 then + if collisionStartPos.y < self.nextPos.y + self.boundingBox.y then + self.nextPos.y = collisionStartPos.y - self.boundingBox.y + collisionYPos = y + self.fallingSpeed = 0 + collisionDetected = true + end + end + end + end + end + if y == collisionYPos + 1 then + break + end + end + end + if collisionDetected and not self.isOnGround and self.parent.characterData.placementObjects[self.index].callbacks ~= nil and self.parent.characterData.placementObjects[self.index].callbacks.onGround ~= nil then + self.parent.characterData.placementObjects[self.index].callbacks.onGround(self.parent.characterData, self) + end + self.isOnGround = collisionDetected + local nextBlock = world.getBlockState(self.nextPos) + local isNextBlockFire = false + for _, tag in ipairs(nextBlock:getTags()) do + if tag == "minecraft:fire" then + isNextBlockFire = true + break + end + end + if self.nextPos.y < -128 then + self.removeReason = "TOO_LOW" + self.shouldDeinit = true + elseif self.nextPos.y > 384 then + self.removeReason = "TOO_HIGH" + self.shouldDeinit = true + elseif not self.hasFireResistance and (nextBlock:getFluidTags()[2] == "c:lava" or isNextBlockFire) then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.fire.extinguish"), self.nextPos) + for _ = 0, self.boundingBox.x * self.boundingBox.y * self.boundingBox.z * 8 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:smoke"), vectors.vec3(self.nextPos.x + math.random() * self.boundingBox.x - self.boundingBox.x / 2, self.nextPos.y + math.random() * self.boundingBox.y, self.nextPos.z + math.random() * self.boundingBox.z - self.boundingBox.z / 2)) + end + self.removeReason = "BURNT" + self.shouldDeinit = true + end + if self.parent.characterData.placementObjects[self.index].callbacks ~= nil and self.parent.characterData.placementObjects[self.index].callbacks.onTick ~= nil then + self.parent.characterData.placementObjects[self.index].callbacks.onTick(self.parent.characterData, self) + end + end; + + ---@param self PlacementObject + onRender = function (self, delta, context) + self.object:setPos(self.nextPos:copy():sub(self.currentPos):scale(delta):add(self.currentPos):add(self.modelOffsetPos):scale(16)) + if self.parent.characterData.placementObjects[self.index].callbacks ~= nil and self.parent.characterData.placementObjects[self.index].callbacks.onRender ~= nil then + self.parent.characterData.placementObjects[self.index].callbacks.onRender(self.parent.characterData, self) + end + end + } + + return instance + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/placement_object/placement_object_manager.lua b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/placement_object/placement_object_manager.lua new file mode 100644 index 0000000..eee06b5 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/placement_object/placement_object_manager.lua @@ -0,0 +1,87 @@ +---設置物の設置モードの列挙型 +---@alias PlacementObjectManager.PlacementMode +---| "COPY" # コピーモード。BBアニメーションは使えないが、複数の設置物を設置可能。 +---| "MOVE" # 移動モード。同時に1つしか設置物を設置できないが、BBアニメーションが使える。 + +---設置物が削除された理由の列挙型 +---@alias PlacementObjectManager.RemoveReason +---| "REMOVED_BY_SCRIPTS" # スクリプトによって削除 +---| "OVERLAPPED" # 設置物がブロックと重なって削除 +---| "BURNT" # 炎に焼かれて削除 +---| "TOO_LOW" # 設置物のY座標が低過ぎて削除 +---| "TOO_HIGH" # 設置物のY座標が高過ぎて削除 + +---@class (exact) PlacementObjectManager : SpawnObjectManager 設置物を管理するマネージャークラス +---@field public objects PlacementObject[] インスタンスで制御するオブジェクト +---@field public getObject fun(self: PlacementObjectManager, index: integer, pos: Vector3, rot: number): PlacementObject 設置物のインスタンスを生成して返す +---@field public spawn fun(self: PlacementObjectManager, index: integer, pos: Vector3, rot: number) 設置物を設置する +---@field public applyFunc fun(self: PlacementObjectManager, index: integer, func: fun(object: PlacementObject, i: integer)) 設置済み設置物の指定した設置物データのインデックス番号のみに関数を適用する + +PlacementObjectManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return PlacementObjectManager + new = function (parent) + ---@type PlacementObjectManager + local instance = Avatar.instantiate(PlacementObjectManager, SpawnObjectManager, parent) + + instance.managerName = "placement_object" + + return instance + end; + + ---初期化関数 + ---@param self PlacementObjectManager + init = function (self) + SpawnObjectManager.init(self) + + ---@diagnostic disable-next-line: discard-returns + models:newPart("script_placement_object", "World") + for _, data in ipairs(self.parent.characterData.placementObjects) do + if data.placementMode == "MOVE" then + data.model = data.model:moveTo(models.script_placement_object) + data.model:setVisible(false) + end + end + end; + + + ---設置物のインスタンスを生成して返す。 + ---@param self PlacementObjectManager + ---@param index integer 設置物データのインデックス番号 + ---@param pos Vector3 設置物を設置するワールド座標 + ---@param rot number 設置物を設置するワールド方向(Y軸のみ) + ---@return PlacementObject instance 生成したインスタンス + getObject = function (self, index, pos, rot) + if self.parent.characterData.placementObjects[index].placementMode == "MOVE" then + for i, placementObject in ipairs(self.objects) do + if placementObject.index == index then + self:remove(i) + break + end + end + end + return PlacementObject.new(self.parent, index, pos, rot) + end; + + ---設置物を設置する。 + ---@param self PlacementObjectManager + ---@param index integer 設置物データのインデックス番号 + ---@param pos Vector3 設置物を設置するワールド座標 + ---@param rot number 設置物を設置するワールド方向(Y軸のみ) + spawn = function (self, index, pos, rot) + SpawnObjectManager.spawn(self, index, pos, rot) + end; + + ---設置済み設置物の、指定した設置物データのインデックス番号のみに関数を適用する。 + ---@param self PlacementObjectManager + ---@param index integer 関数実行対象の設置物データのインデックス番号 + ---@param func fun(object: PlacementObject, i: integer) 実行する関数 + applyFunc = function (self, index, func) + for i, obj in ipairs(self.objects) do + if obj.index == index then + func(obj, i) + end + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/portrait.lua b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/portrait.lua new file mode 100644 index 0000000..3d887aa --- /dev/null +++ b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/portrait.lua @@ -0,0 +1,32 @@ +---@class (exact) Portrait : HeadModelGenerator ポートレートのモデルを管理するクラス + +Portrait = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Portrait + new = function (parent) + ---@type Portrait + local instance = Avatar.instantiate(Portrait, HeadModelGenerator, parent) + + instance.processData = instance.parent.characterData.portrait + instance.parentName = "portrait" + instance.parentType = "Portrait" + + return instance + end; + + ---初期化関数 + ---@param self Portrait + init = function (self) + HeadModelGenerator.init(self) + end; + + ---頭モデルのコピーを生成する。 + ---@param self HeadBlock + generateHeadModel = function (self) + HeadModelGenerator.generateHeadModel(self) + if models.script_portrait.Head ~= nil then + models.script_portrait.Head.HeadRing:remove() + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/skirt.lua b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/skirt.lua new file mode 100644 index 0000000..48e97f8 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/skirt.lua @@ -0,0 +1,30 @@ +---@class Skirt : AvatarModule スカートを制御するクラス + +Skirt = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Skirt + new = function (parent) + ---@type Skirt + local instance = Avatar.instantiate(Skirt, AvatarModule, parent) + + return instance + end; + + ---初期化関数 + ---@param self AvatarModule + init = function (self) + AvatarModule.init(self) + + if self.parent.characterData.skirt.skirtModels ~= nil and #self.parent.characterData.skirt.skirtModels > 0 then + events.TICK:register(function () + local isCrouching = player:isCrouching() + for _, skirtModel in ipairs(self.parent.characterData.skirt.skirtModels) do + if skirtModel:getVisible() then + skirtModel:setRot(isCrouching and 30 or 0, 0, 0) + end + end + end) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/utils/compatibility_utils.lua b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/utils/compatibility_utils.lua new file mode 100644 index 0000000..237a6a6 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/utils/compatibility_utils.lua @@ -0,0 +1,169 @@ +---レジストリの種類を示す列挙型 +---@alias CompatibilityUtils.RegistryType +---| "BLOCK" # ブロック名 +---| "ITEM" # アイテム名 +---| "PARTICLE" # パーティクル名 +---| "SOUND" # サウンド名 + +---@class (exact) CompatibilityUtils : AvatarModule Minecraftのゲームバージョンが異なっていてもある程度互換性を確保するためのユーティリティクラス +---@field package registries {block: Minecraft.blockID[], item: Minecraft.itemID[], particle: Minecraft.particleID[], sound: Minecraft.soundID[]} ゲームから取得した全アイテム名を保持するテーブル +---@field package checkedTable {block: {[Minecraft.blockID]: boolean}, item: {[Minecraft.itemID]: boolean}, particle: {[Minecraft.particleID]: boolean}, sound: {[Minecraft.soundID]: boolean}} レジストリへの確認が済んでいるIDを保持するテーブル +---@field package find fun(self: CompatibilityUtils, registryType: CompatibilityUtils.RegistryType, target: string): boolean 指定されたターゲットがレジストリに登録されているかどうかを返す。 +---@field public checkBlock fun(self: CompatibilityUtils, block: Minecraft.blockID): Minecraft.blockID 指定されたブロックIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:dirt"を返す。 +---@field public checkItem fun(self: CompatibilityUtils, item: Minecraft.itemID): Minecraft.itemID 指定されたアイテムIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:barrier"を返す。 +---@field public checkParticle fun(self: CompatibilityUtils, particle: Minecraft.particleID): Minecraft.particleID 指定されたパーティクルIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:poof"を返す。 +---@field public checkSound fun(self: CompatibilityUtils, sound: Minecraft.soundID): Minecraft.soundID 指定されたサウンドIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:empty"を返す。 +---@field public getBlockParticleId fun(block: Minecraft.blockID): string ブロックの破片のパーティクルを示す文字列を返す。Minecraftのバージョン違いを吸収するための関数。 +---@field public getDustParticleId fun(color: Vector3, size: number): string dustパーティクルを示す文字列を返す。Minecraftのバージョン違いを吸収するための関数。 +---@field public setPostEffect fun(effect?: Minecraft.shaderName) renderer:setPostEffect()のラッパー関数。1.20.5でレンダーエフェクトが削除されたことによる対応。 + +CompatibilityUtils = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return CompatibilityUtils + new = function (parent) + ---@type CompatibilityUtils + local instance = Avatar.instantiate(CompatibilityUtils, AvatarModule, parent) + + instance.registries = {} + instance.checkedTable = { + block = {}; + item = {}; + particle = {}; + sound = {}; + } + + return instance + end; + + ---初期化関数 + ---@param self CompatibilityUtils + init = function (self) + AvatarModule.init(self) + + self.registries.block = client.getRegistry("minecraft:block") + self.registries.item = client.getRegistry("minecraft:item") + self.registries.particle = client.getRegistry("minecraft:particle_type") + self.registries.sound = client.getRegistry("minecraft:sound_event") + for name, _ in pairs(self.registries) do + table.sort(self.registries[name]) + end + self.checkedTable.block["minecraft:dirt"] = true + self.checkedTable.item["minecraft:barrier"] = true + self.checkedTable.particle["minecraft:poof"] = true + self.checkedTable.sound["minecraft:empty"] = true + if host:isHost() and client:getVersion() < "1.20.1" then + print(self.parent.locale:getLocale("avatar.old_version_warning")) + end + end; + + ---指定されたターゲットがレジストリに登録されているかどうかを返す。 + ---@param self CompatibilityUtils + ---@param registryType CompatibilityUtils.RegistryType 検索をかける対象のレジストリ + ---@param target string 検索対象名。"minecraft:"を抜かないこと。 + ---@return boolean idFound 指定されたターゲットがレジストリで見つかったかどうか + find = function (self, registryType, target) + ---リスト内の中央の要素(偶数の場合は中央から1つ左の要素)と指定されたターゲットのUnicode順を比較する。 + ---@param from integer リストの検索開始のインデックス番号 + ---@param to integer リストの検索終了のインスタンス番号(指定したインデックス番号の要素も検索に含む) + ---@return integer compareResult 比較結果。0は同じ文字列、1はターゲットの方が大きい、-1はターゲットの方が小さいことを表す。 + local function compareToCenterElement(from, to) + local centerIndex = math.floor((to - from) / 2) + from + if self.registries[registryType:lower()][centerIndex] < target then + return 1 + elseif self.registries[registryType:lower()][centerIndex] > target then + return -1 + else + return 0 + end + end + + local startIndex = 1 + local endIndex = #self.registries[registryType:lower()] + while startIndex < endIndex do + local compareResult = compareToCenterElement(startIndex, endIndex) + if compareResult == 1 then + startIndex = math.floor((endIndex - startIndex) / 2) + startIndex + 1 + elseif compareResult == -1 then + endIndex = math.floor((endIndex - startIndex) / 2) + startIndex + else + break + end + end + if startIndex == endIndex then + return compareToCenterElement(startIndex, endIndex) == 0 + else + return true + end + end; + + ---指定されたブロックIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:dirt"を返す。 + ---@param self CompatibilityUtils + ---@param block Minecraft.blockID 確認対象のブロックID + ---@param blockState string? ブロックステートを示す文字列 + ---@return Minecraft.blockID blockID レジストリに登録してある場合は確認対象のブロックIDをそのまま返し、未登録の場合は"minecraft:dirt"が返す。 + checkBlock = function (self, block, blockState) + if self.checkedTable.block[block] == nil then + self.checkedTable.block[block] = self:find("BLOCK", block) + end + local state = blockState ~= nil and blockState or "" + return self.checkedTable.block[block] and block..state or "minecraft:dirt" + end; + + ---指定されたアイテムIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:barrier"を返す。 + ---@param self CompatibilityUtils + ---@param item Minecraft.itemID 確認対象のアイテムID + ---@return Minecraft.itemID blockID レジストリに登録してある場合は確認対象のアイテムIDをそのまま返し、未登録の場合は"minecraft:barrier"が返す。 + checkItem = function (self, item) + if self.checkedTable.item[item] == nil then + self.checkedTable.item[item] = self:find("ITEM", item) + end + return self.checkedTable.item[item] and item or "minecraft:barrier" + end; + + ---指定されたパーティクルIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:poof"を返す。 + ---@param self CompatibilityUtils + ---@param particle Minecraft.particleID 確認対象のパーティクルID + ---@return Minecraft.particleID particleID レジストリに登録してある場合は確認対象のパーティクルIDをそのまま返し、未登録の場合は"minecraft:poof"が返す。 + checkParticle = function (self, particle) + if self.checkedTable.particle[particle] == nil then + self.checkedTable.particle[particle] = self:find("PARTICLE", particle) + end + return self.checkedTable.particle[particle] and particle or "minecraft:poof" + end; + + ---指定されたサウンドIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:empty"を返す。 + ---@param self CompatibilityUtils + ---@param sound Minecraft.soundID 確認対象のサウンドID + ---@return Minecraft.soundID particleID レジストリに登録してある場合は確認対象のサウンドIDをそのまま返し、未登録の場合は"minecraft:empty"が返す。 + checkSound = function (self, sound) + if self.checkedTable.sound[sound] == nil then + self.checkedTable.sound[sound] = self:find("SOUND", sound) + end + return self.checkedTable.sound[sound] and sound or "minecraft:empty" + end; + + ---ブロックの破片のパーティクルを示す文字列を返す。Minecraftのバージョン違いを吸収するための関数。 + ---@param block Minecraft.blockID ブロックの破片パーティクルとして表示するブロックのID。レジストリへの確認は行わない。 + ---@return string particleData ブロックの破片のパーティクルを示す文字列 + getBlockParticleId = function (block) + return client:getVersion() >= "1.20.5" and "minecraft:block{block_state:\""..block.."\"}" or "minecraft:block "..block + end; + + ---dustパーティクルを示す文字列を返す。Minecraftのバージョン違いを吸収するための関数。 + ---@param color Vector3 dustの色 + ---@param size number dustの大きさ + ---@return string particleData dustの破片のパーティクルを示す文字列 + getDustParticleId = function (color, size) + return client:getVersion() >= "1.20.5" and "minecraft:dust{color:["..color.x..","..color.y..","..color.z.."],scale:"..math.clamp(size, 0.01, 4).."}" or "minecraft:dust "..color.x.." "..color.y.." "..color.z.." "..size + end; + + ---renderer:setPostEffect()のラッパー関数 + ---1.20.5でレンダーエフェクトが削除されたことによる対応 + ---@param effect? Minecraft.shaderName 適用するエフェクト + setPostEffect = function (effect) + if client:getVersion() < "1.20.5" then + renderer:setPostEffect(effect) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/utils/model_utils.lua b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/utils/model_utils.lua new file mode 100644 index 0000000..4208e9f --- /dev/null +++ b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/utils/model_utils.lua @@ -0,0 +1,59 @@ +---@class (exact) ModelUtils : AvatarModule モデルに関するユーティリティ関数群 +---@field public getModelWorldPos fun(model: ModelPart): Vector3 指定したモデルのワールド位置を返す。 +---@field public copyModel fun(self: ModelUtils, modelPart: ModelPart, name?: string, forceCopy?: boolean): ModelPart|nil モデルパーツをディープコピーする。 +---@field public copyModel fun(self: ModelUtils, modelPart: ModelPart, name?: string, forceCopy?: true): ModelPart モデルパーツをディープコピーする。 +---@field public moveTo fun(target: ModelPart, destination: ModelPart, originalParent: ModelPart) モデルパーツを別の親に移動させる。組み込みmoveTo()で何故かモデルパーツが残ってしまう問題に対処済み。 + +ModelUtils = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ModelUtils + new = function (parent) + ---@type ModelUtils + local instance = Avatar.instantiate(ModelUtils, AvatarModule, parent) + + return instance + end; + + ---指定したモデルのワールド位置を返す。 + ---@param model ModelPart ワールド位置を取得するモデルパーツ + ---@return Vector3 worldPos モデルのワールド位置 + getModelWorldPos = function(model) + local modelMatrix = model:partToWorldMatrix() + return vectors.vec3(modelMatrix[4][1], modelMatrix[4][2], modelMatrix[4][3]) + end; + + ---モデルパーツをディープコピーする。 + ---非表示のモデルパーツはコピーしない。 + ---@param modelPart ModelPart コピーするモデルパーツ + ---@param name? string コピーしたモデルパーツの名前。省略した際はコピー元と同じ名前になる。 + ---@param forceCopy? boolean 非表示のモデルも強制的にコピーするかどうか + ---@return ModelPart|nil copiedModelPart コピーされたモデルパーツ。入力されたモデルパーツが非表示の場合はnilが返る。 + copyModel = function (self, modelPart, name, forceCopy) + if modelPart:getVisible() or forceCopy then + local copy = modelPart:copy(name ~= nil and name or modelPart:getName()) + copy:setParentType("None") + for _, child in ipairs(copy:getChildren()) do + copy:removeChild(child) + local childModel = self:copyModel(child) + if childModel ~= nil then + copy:addChild(childModel) + end + end + return copy + end + end; + + ---モデルパーツを別の親に移動させる。 + ---組み込みmoveTo()で何故かモデルパーツが残ってしまう問題に対処済み。 + ---@param target ModelPart 移動させる対象のモデルパーツ + ---@param destination ModelPart 移動先の親 + ---@param originalParent ModelPart 移動元の親 + moveTo = function (target, destination, originalParent) + target:moveTo(destination) + local modelName = target:getName() + if originalParent[modelName] ~= nil then + originalParent:removeChild(target) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/utils/player_utils.lua b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/utils/player_utils.lua new file mode 100644 index 0000000..274c213 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/utils/player_utils.lua @@ -0,0 +1,35 @@ +---@alias PlayerUtils.DamageStatus +---| "NONE" # ダメージなし +---| "DAMAGE" # ダメージを受けた +---| "DIED" # 死亡した + +---@class (exact) PlayerUtils : AvatarModule プレイヤーに関するユーティリティ関数群 +---@field public damageStatus PlayerUtils.DamageStatus 現在のティックのダメージステータス +---@field package healthPrev integer 前ティックのHP量 + +PlayerUtils = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return PlayerUtils + new = function (parent) + ---@type PlayerUtils + local instance = Avatar.instantiate(PlayerUtils, AvatarModule, parent) + + instance.damageStatus = "NONE" + instance.healthPrev = player:getHealth() + + return instance + end; + + ---初期化関数 + ---@param self PlayerUtils + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + local health = player:getHealth() + self.damageStatus = self.healthPrev > health and (health == 0 and "DIED" or "DAMAGE") or "NONE" + self.healthPrev = health + end) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/utils/spawn_object.lua b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/utils/spawn_object.lua new file mode 100644 index 0000000..cf08811 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/utils/spawn_object.lua @@ -0,0 +1,26 @@ +---@class (exact) SpawnObject : AvatarModule オブジェクト(設置物、独自定義パーティクル、bbモデルetc.)クラス +---@field public object any インスタンスで制御するオブジェクト。ModelPartやRenderTaskを想定している。 +---@field public uuid string このインスタンスのUUID。オブジェクトの名前付けなどにどうぞ。 +---@field public shouldDeinit boolean このオブジェクトを破棄するかどうか。trueにするとオブジェクトが破棄され、その際に、onDeinit()コールバック関数が呼ばれる。 +---@field public callbacks? SpawnObject.CallbackSet スポーンオブジェクトのコールバック関数 + +---@class (exact) SpawnObject.CallbackSet スポーンオブジェクトのコールバック関数のセット +---@field public onInit? fun(self: SpawnObject) オブジェクトの初期化直後に呼ばれる関数 +---@field public onDeinit? fun(self: SpawnObject) オブジェクトの破棄直前に呼ばれる関数 +---@field public onTick? fun(self: SpawnObject) 各ティック毎に呼ばれる関数 +---@field public onRender? fun(self: SpawnObject, delta: number, context: Event.Render.context) 各レンダーティック毎に呼ばれる関数 + +SpawnObject = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return SpawnObject + new = function (parent) + ---@type SpawnObject + local instance = Avatar.instantiate(SpawnObject, AvatarModule, parent) + + instance.uuid = client.intUUIDToString(client.generateUUID()) + instance.shouldDeinit = false + + return instance + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/utils/spawn_object_manager.lua b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/utils/spawn_object_manager.lua new file mode 100644 index 0000000..3026820 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/utils/spawn_object_manager.lua @@ -0,0 +1,102 @@ +---@class (exact) SpawnObjectManager : AvatarModule オブジェクト(設置物、独自定義パーティクル、bbモデルetc.)をスポーンさせ、管理するマネージャークラス +---@field public managerName string このマネージャーの名前 +---@field public objects SpawnObject[] スポーンさせたオブジェクトを保持するテーブル +---@field public getObject fun(self: SpawnObjectManager): SpawnObject スポーンオブジェクトのインスタンスを生成して返す +---@field public spawn fun(self: SpawnObjectManager, ...: any) オブジェクトをスポーンさせる +---@field public remove fun(self: SpawnObjectManager, index: integer) オブジェクトを1つ削除する +---@field public removeAll fun(self: SpawnObjectManager) オブジェクトをすべて削除する + +SpawnObjectManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return SpawnObjectManager + new = function (parent) + ---@type SpawnObjectManager + local instance = Avatar.instantiate(SpawnObjectManager, AvatarModule, parent) + + instance.managerName = "spawn_object" + instance.objects = {} + + return instance + end; + + ---スポーンオブジェクトのインスタンスを生成して返す。 + ---@param self SpawnObjectManager + ---@return SpawnObject instance 生成したスポーンオブジェクト + getObject = function (self) + return SpawnObject.new(self.parent) + end; + + ---オブジェクトをスポーンさせる。 + ---@param self SpawnObjectManager + ---@param ... any インスタンス生成時の引数 + spawn = function (self, ...) + ---@diagnostic disable-next-line: redundant-parameter + local instance = self:getObject(...) + table.insert(self.objects, instance) + if instance.callbacks ~= nil and instance.callbacks.onInit ~= nil then + instance.callbacks.onInit(instance) + end + + if #self.objects == 1 then + events.TICK:register(function () + if not client:isPaused() then + for index, ins in ipairs(self.objects) do + if ins.callbacks ~= nil and ins.callbacks.onTick ~= nil then + ins.callbacks.onTick(ins) + end + if ins.shouldDeinit then + if ins.callbacks ~= nil and ins.callbacks.onDeinit ~= nil then + ins.callbacks.onDeinit(ins) + end + table.remove(self.objects, index) + if #self.objects == 0 then + events.TICK:remove(self.managerName.."_tick") + events.RENDER:remove(self.managerName.."_render") + end + end + end + end + end, self.managerName.."_tick") + + events.RENDER:register(function (delta, ctx) + if not client:isPaused() then + for _, ins in ipairs(self.objects) do + if ins.callbacks ~= nil and ins.callbacks.onRender ~= nil then + ins.callbacks.onRender(ins, delta, ctx) + end + end + end + end, self.managerName.."_render") + end + end; + + ---オブジェクトを1つ削除する。 + ---@param self SpawnObjectManager + ---@param index integer 削除するオブジェクトのインデックス番号 + remove = function (self, index) + if self.objects[index] ~= nil then + if self.objects[index].callbacks ~= nil and self.objects[index].callbacks.onDeinit ~= nil then + self.objects[index].callbacks.onDeinit(self.objects[index]) + end + table.remove(self.objects, index) + if #self.objects == 0 then + events.TICK:remove(self.managerName.."_tick") + events.RENDER:remove(self.managerName.."_render") + end + end + end; + + ---オブジェクトをすべて削除する。 + ---@param self SpawnObjectManager + removeAll = function (self) + while #self.objects > 0 do + if self.objects[1].callbacks ~= nil and self.objects[1].callbacks.onDeinit ~= nil then + self.objects[1].callbacks.onDeinit(self.objects[1]) + end + table.remove(self.objects, 1) + end + events.TICK:remove(self.managerName.."_tick") + events.RENDER:remove(self.managerName.."_render") + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/vanilla_model.lua b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/vanilla_model.lua new file mode 100644 index 0000000..2220732 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Serina/scripts/avatar_modules/vanilla_model.lua @@ -0,0 +1,23 @@ +---@class (exact) VanillaModel : AvatarModule バニラーのモデルの管理クラス + +VanillaModel = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return VanillaModel + new = function (parent) + ---@type VanillaModel + local instance = Avatar.instantiate(VanillaModel, AvatarModule, parent) + + return instance + end; + + ---初期化関数 + ---@param self AvatarModule + init = function (self) + AvatarModule.init(self) + + for _, vanillaModel in ipairs({vanilla_model.PLAYER, vanilla_model.CHESTPLATE_RIGHT_ARM, vanilla_model.CHESTPLATE_LEFT_ARM, vanilla_model.LEGGINGS_RIGHT_LEG, vanilla_model.LEGGINGS_LEFT_LEG, vanilla_model.BOOTS}) do + vanillaModel:setVisible(false) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Serina/scripts/blue_archive_character.lua b/config/yosbr/config/figura/avatars/Serina/scripts/blue_archive_character.lua new file mode 100644 index 0000000..2b2eef3 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Serina/scripts/blue_archive_character.lua @@ -0,0 +1,1171 @@ +---@alias BlueArchiveCharacter.RightEyeTextures +---| "NORMAL" # 通常 +---| "SURPRISED" # 驚いた目(ダメージを受けたときなど) +---| "TIRED" # 疲れた目(死亡アニメーションなど) +---| "CLOSED" # 閉じた目(瞬き、睡眠中など) +---| "CLOSED2" # 閉じた目2 +---| "INVERTED" # 反対側を見る目 +---| "NARROW" # 少し閉じた目 + +---@alias BlueArchiveCharacter.LeftEyeTextures +---| "NORMAL" # 通常 +---| "SURPRISED" # 驚いた目(ダメージを受けたときなど) +---| "TIRED" # 疲れた目(死亡アニメーションなど) +---| "CLOSED" # 閉じた目(瞬き、睡眠中など) +---| "CLOSED2" # 閉じた目2 +---| "INVERTED" # 反対側を見る目 +---| "NARROW" # 少し閉じた目 +---| "CENTER" # 少し反対側を見る目 + +---@alias BlueArchiveCharacter.MouthTextures +---| "NORMAL" # 通常 +---| "SMILE" # にっこり +---| "OPENED_SMALL" # 小さく開いた口 +---| "OPENED" # 開いた口 +---| "SAD" # への口 + +---@alias BlueArchiveCharacter.GunHoldType +---| "NORMAL" # バニラの弓やクロスボウの構え方と同じ +---| "CUSTOM" # BBアニメーション"[models.main][gun_hold_right]"と"[models.main][gun_hold_left]"で構え方を定義する + +---@alias BlueArchiveCharacter.GunPutType +---| "BODY" # アバターのBodyに銃を移動させる +---| "HIDDEN" # 銃を隠す + +---@alias BlueArchiveCharacter.FormationType +---| "STRIKER" # ストライカー(前衛) +---| "SPECIAL" # スペシャル(後方支援) + +---@alias BlueArchiveCharacter.Costumes +---| "DEFAULT" # デフォルト衣装 +---| "CHRISTMAS" # クリスマス + +--[[ ******************************** ]] + +---@class BlueArchiveCharacter : AvatarModule キャラクター変数を保持するクラス。別のキャラクターに対してもここを変更するだけで対応できるようにする。 +---@field public basic BlueArchiveCharacter.BasicStruct 生徒の基本情報 +---@field public faceParts BlueArchiveCharacter.FacePartsStruct 目や口による表情 +---@field public arms BlueArchiveCharacter.ArmsStruct 腕 +---@field public skirt BlueArchiveCharacter.SkirtStruct スカート +---@field public gun BlueArchiveCharacter.GunStruct 銃 +---@field public placementObjects BlueArchiveCharacter.PlacementObjectStruct[] 設置物 +---@field public exSkill BlueArchiveCharacter.ExSkillStruct[] Exスキル +---@field public costume BlueArchiveCharacter.CostumeStruct コスチューム +---@field public bubble BlueArchiveCharacter.BubbleStruct 吹き出しエモート +---@field public headBlock BlueArchiveCharacter.HeadBlockStruct 頭ブロック +---@field public portrait BlueArchiveCharacter.HeadBlockStruct ポートレート +---@field public deathAnimation BlueArchiveCharacter.DeathAnimationStruct 死亡アニメーション +---@field public actionWheel BlueArchiveCharacter.ActionWheelStruct アクションホイール +---@field public physics BlueArchiveCharacter.PhysicsStruct 物理演算 +---@field public dataSync BlueArchiveCharacter.DataSyncStruct データ同期 + +--[[ ******************************** ]] + +---@class BlueArchiveCharacter.BasicStruct 生徒の基本情報のデータ構造体 +---@field public firstName BlueArchiveCharacter.LocaleStringSet 生徒の名前 +---@field public lastName BlueArchiveCharacter.LocaleStringSet 生徒の苗字 +---@field public clubName BlueArchiveCharacter.LocaleStringSet 生徒が所属している部活名 +---@field public birth BlueArchiveCharacter.MonthDaySet 生徒の誕生日 + +---@class BlueArchiveCharacter.FacePartsStruct 目や口による表情のデータ構造体。UVマッピング情報は、デフォルトパーツから見て左からx番目、上からy番目とする。 +---@field public rightEye {[BlueArchiveCharacter.RightEyeTextures]: Vector2} 右目のテクスチャのUVマッピング情報 +---@field public leftEye {[BlueArchiveCharacter.LeftEyeTextures]: Vector2} 左目のテクスチャのUVマッピング情報 +---@field public mouth {[BlueArchiveCharacter.MouthTextures]: Vector2} 口のテクスチャのUVマッピング情報 +---@field public emotionSet? BlueArchiveCharacter.OverrideEmotionSet 特定の状況における表情を上書きする + +---@class BlueArchiveCharacter.ArmsStruct 腕のデータ構造体 +---@field public callbacks? BlueArchiveCharacter.ArmsCallbacksSet 腕の制御のコールバック関数群 + +---@class BlueArchiveCharacter.SkirtStruct スカートのデータ構造体 +---@field public skirtModels? ModelPart[] スカートとして制御するモデル + +---@class BlueArchiveCharacter.GunStruct 銃のデータ構造体 +---@field public scale number 銃モデルの大きさの倍率 +---@field public gunPosition BlueArchiveCharacter.GunPositionSet 銃モデルの位置や向き +---@field public sound BlueArchiveCharacter.GunSoundSet 銃の射撃音 +---@field public callbacks? BlueArchiveCharacter.GunCallbacksSet 銃のコールバック関数 + +---@class BlueArchiveCharacter.PlacementObjectStruct 設置物のデータ構造体 +---@field public model ModelPart 設置物として扱うモデル +---@field public boundingBox BlueArchiveCharacter.PlacementObjectBoundingBoxSet 設置物の当たり判定 +---@field public placementMode PlacementObjectManager.PlacementMode 設置物の設置モード +---@field public gravity? number 設置物にかかる重力。1が標準的な自由落下。0で空中静止。負の数で反重力(上に向かって落ちる)。 +---@field public hasFireResistance? boolean 設置物に火炎耐性を付与するかどうか。trueにすると炎やマグマで焼かれなくなる。 +---@field public callbacks? BlueArchiveCharacter.PlacementObjectCallbacksSet 設置物のコールバック関数 + +---@class BlueArchiveCharacter.ExSkillStruct Exスキルのデータ構造体 +---@field public name BlueArchiveCharacter.LocaleStringSet Exスキルの名前 +---@field public formationType BlueArchiveCharacter.FormationType この生徒の戦闘配置タイプ +---@field public models ModelPart[] Exスキルアニメーション開始時に表示し、Exスキルアニメーション終了時に非表示にするモデルパーツ +---@field public animations string[] Exスキルアニメーションが含まれるモデルファイル名。アニメーション名は"ex_skill_"にすること。 +---@field public camera BlueArchiveCharacter.ExSkillCameraSet Exスキルアニメーション中のカメラワーク +---@field public callbacks? BlueArchiveCharacter.ExSkillCallbacks Exスキルのコールバック関数 + +---@class BlueArchiveCharacter.CostumeStruct コスチュームのデータ構造体 +---@field public costumes BlueArchiveCharacter.CostumeDataSet[] コスチュームデータ +---@field public callbacks? BlueArchiveCharacter.CostumeCallbacks コスチュームのコールバック関数 + +---@class BlueArchiveCharacter.BubbleStruct 吹き出しエモートのデータ構造体 +---@field public callbacks? BlueArchiveCharacter.BubbleCallbacks 吹き出しエモートのコールバック関数 + +---@class BlueArchiveCharacter.HeadBlockStruct 頭ブロック、ポートレートのデータ構造体 +---@field public includeModels ModelPart[] 頭モデルに追加でアタッチするモデル +---@field public callbacks? BlueArchiveCharacter.HeadBlockCallbacks 頭ブロック、ポートレートのコールバック関数 + +---@class BlueArchiveCharacter.DeathAnimationStruct 死亡アニメーションのデータ構造体 +---@field public callbacks? BlueArchiveCharacter.DeathAnimationCallbacks 死亡アニメーションのコールバック関数 + +---@class BlueArchiveCharacter.ActionWheelStruct アクションホイールのデータ構造体 +---@field public isVehicleOptionEnabled boolean 乗り物のモデル置き換えオプションを有効にするかどうか + +---@class BlueArchiveCharacter.PhysicsStruct 物理演算のデータ構造体 +---@field physicData BlueArchiveCharacter.PhysicDataSet[] 物理演算データ +---@field callbacks? BlueArchiveCharacter.PhysicCallbacks 物理演算のコールバック関数 + +---@class BlueArchiveCharacter.DataSyncStruct データ同期のデータ構造体 +---@field public syncData {[string]: any} 追加でping同期させるデータテーブル +---@field public callbacks? BlueArchiveCharacter.DataSyncCallbacks データ同期のコールバック関数 + +--[[ ******************************** ]] + +---@class (exact) BlueArchiveCharacter.OverrideEmotionSet 特定の状況における表情を上書きするセット +---@field public onDamage? BlueArchiveCharacter.EmotionSet ダメージを受けたとき +---@field public onDied? BlueArchiveCharacter.EmotionSet 死んだとき(死亡アニメーションは除外) +---@field public onSleep? BlueArchiveCharacter.EmotionSet ベッドで寝ているとき + +---@class (exact) BlueArchiveCharacter.EmotionSet 表情のデータセット +---@field public rightEye BlueArchiveCharacter.RightEyeTextures 右目の表情名 +---@field public leftEye BlueArchiveCharacter.LeftEyeTextures 左目の表情名 +---@field public mouth BlueArchiveCharacter.MouthTextures 口の表情名 + +---@class (exact) BlueArchiveCharacter.ArmsCallbacksSet 腕処理のコールバック関数のセット +---@field public onArmStateChanged? fun(self: BlueArchiveCharacter, right: integer, left: integer): {right?: integer, left?: integer}|nil 腕の状態が変更された際のコールバック関数 +---@field public onAdditionalRightArmProcess? fun(self: BlueArchiveCharacter, state: integer) 右腕の追加処理 +---@field public onAdditionalLeftArmProcess? fun(self: BlueArchiveCharacter, state: integer) 左腕の追加処理 + +---@class (exact) BlueArchiveCharacter.GunPositionSet 銃のモデルの位置や向きのデータセット +---@field public hold BlueArchiveCharacter.GunHoldPositionSet 銃を構えているとき +---@field public put BlueArchiveCharacter.GunPutPositionSet 銃をしまっているとき + +---@class (exact) BlueArchiveCharacter.GunHoldPositionSet 構えているときの銃のモデルの位置や向きのデータセット +---@field public type BlueArchiveCharacter.GunHoldType 銃の構え方の種類 +---@field public firstPersonPos? BlueArchiveCharacter.Vector3RightLeftSet 一人称視点での銃の位置 +---@field public firstPersonRot? BlueArchiveCharacter.Vector3RightLeftSet 一人称視点での銃の方向 +---@field public thirdPersonPos? BlueArchiveCharacter.Vector3RightLeftSet 三人称視点での銃の位置 +---@field public thirdPersonRot? BlueArchiveCharacter.Vector3RightLeftSet 三人称視点での銃の方向 + +---@class (exact) BlueArchiveCharacter.GunPutPositionSet しまっているときの銃のモデルの位置や向きのデータセット +---@field public type BlueArchiveCharacter.GunPutType 銃のしまい方の種類 +---@field public pos? BlueArchiveCharacter.Vector3RightLeftSet 一人称視点での銃の位置 +---@field public rot? BlueArchiveCharacter.Vector3RightLeftSet 一人称視点での銃の方向 + +---@class (exact) BlueArchiveCharacter.GunSoundSet 銃の音のデータセット +---@field public name Minecraft.soundID 銃の音として使用するゲームの音源名 +---@field public pitch number 音源の再生ピッチ(0.5~2) + +---@class (exact) BlueArchiveCharacter.GunCallbacksSet 銃のコールバック関数のセット +---@field public onMainHandChange? fun(self: BlueArchiveCharacter, direction: Gun.HandDirection) 利き手が変更されたときに呼び出される関数 + +---@class (exact) BlueArchiveCharacter.PlacementObjectBoundingBoxSet 設置物の当たり判定のデータセット +---@field public offsetPos? Vector3 設置物の底の中心点のオフセット位置(任意)。基準点は(0, 0, 0)。 +---@field public size? Vector3 当たり判定の大きさ。BlockBenchでのサイズの値をそのまま入力する。基準点はモデルの底面の中心。 + +---@class (exact) BlueArchiveCharacter.PlacementObjectCallbacksSet 設置物のコールバック関数のセット +---@field public onInit? fun(self: BlueArchiveCharacter, placementObject: PlacementObject) 設置物インスタンスが生成された直後に呼ばれる関数 +---@field public onDeinit? fun(self: BlueArchiveCharacter, placementObject: PlacementObject) 設置物インスタンスが破棄される直前に呼ばれる関数 +---@field public onTick? fun(self: BlueArchiveCharacter, placementObject: PlacementObject) 各ティック毎に呼ばれる関数 +---@field public onRender? fun(self: BlueArchiveCharacter, placementObject: PlacementObject) 各レンダーティック毎に呼ばれる関数 +---@field public onGround? fun(self: BlueArchiveCharacter, placementObject: PlacementObject) 設置物が接地した瞬間に呼ばれる関数 + +---@class (exact) BlueArchiveCharacter.ExSkillCameraSet Exスキルアニメーション中のカメラワークのセット +---@field public start BlueArchiveCharacter.ExSkillCameraPositionSet Exスキルアニメーション開始地点 +---@field public fin BlueArchiveCharacter.ExSkillCameraPositionSet Exスキルアニメーション終了地点 +---@field public fixMode? boolean カメラの補正モード。通常は無効だが、特定のキャラクターに対しては有効にしておく。 + +---@class (exact) BlueArchiveCharacter.ExSkillCameraPositionSet Exスキルアニメーション中のカメラワークの開始/終了地点の位置のデータセット +---@field public pos Vector3 カメラの位置 +---@field public rot Vector3 カメラの方向 + +---@class (exact) BlueArchiveCharacter.ExSkillCallbacks Exスキルのコールバック関数のセット +---@field public onPreTransition? fun(self: BlueArchiveCharacter) Exスキルアニメーション開始前のトランジション開始前に実行されるコールバック関数 +---@field public onPreAnimation? fun(self: BlueArchiveCharacter) Exスキルアニメーション開始前のトランジション終了後に実行されるコールバック関数 +---@field public onAnimationTick? fun(self: BlueArchiveCharacter, tick: integer) Exスキルアニメーション再生中のみ実行されるティック関数 +---@field public onPostAnimation? fun(self: BlueArchiveCharacter, forcedStop: boolean) Exスキルアニメーション終了後のトランジション開始前に実行されるコールバック関数 +---@field public onPostTransition? fun(self: BlueArchiveCharacter, forcedStop: boolean) Exスキルアニメーション終了後のトランジション終了後に実行されるコールバック関数 + +---@class BlueArchiveCharacter.CostumeDataSet コスチュームのデータセット +---@field public name string コスチュームの内部名 +---@field public displayName BlueArchiveCharacter.LocaleStringSet コスチュームの表示名 +---@field public exSkill integer コスチュームに対応するExスキルのインデックス番号 +---@field public subExSkill? integer コスチュームに対応するサブExスキルのインデックス番号 + +---@class (exact) BlueArchiveCharacter.CostumeCallbacks コスチュームのコールバック関数のセット +---@field public onChange? fun(self: BlueArchiveCharacter, costumeId: BlueArchiveCharacter.Costumes) 衣装が変更されたときに実行されるコールバック関数。デフォルトの衣装はここに含めない。 +---@field public onReset? fun(self: BlueArchiveCharacter) 衣装がリセットされたときに実行されるコールバック関数。あらゆる衣装からデフォルトの衣装へ推移できるようにする。 +---@field public onArmorChange? fun(self: BlueArchiveCharacter, parts: Armor.ArmorPart, isVisible: boolean) 防具が変更された(防具が見える/見えない)ときに実行されるコールバック関数 + +---@class (exact) BlueArchiveCharacter.BubbleCallbacks 吹き出しエモートのコールバック関数のセット +---@field public onPlay? fun(self: BlueArchiveCharacter, type: Bubble.BubbleType, duration: integer, showInGui: boolean) 吹き出しエモートが再生された時に実行されるコールバック関数 +---@field public onStop? fun(self: BlueArchiveCharacter, type: Bubble.BubbleType, forcedStop: boolean) 吹き出しアニメーション終了時に実行されるコールバック関数 + +---@class (exact) BlueArchiveCharacter.HeadBlockCallbacks 頭ブロックのコールバック関数のセット +---@field public onBeforeModelCopy? fun(self: BlueArchiveCharacter, isScriptLoaded: boolean) モデルのコピー直前に実行される関数 +---@field public onAfterModelCopy? fun(self: BlueArchiveCharacter, isScriptLoaded: boolean) モデルのコピー直後に実行される関数 + +---@class (exact) BlueArchiveCharacter.DeathAnimationCallbacks 死亡アニメーションのコールバック関数のセット +---@field public onPhase1? fun(self: BlueArchiveCharacter, dummyAvatar: ModelPart, costume: BlueArchiveCharacter.Costumes) 死亡アニメーションが再生された直後に実行される関数 +---@field public onPhase2? fun(self: BlueArchiveCharacter, dummyAvatar: ModelPart, costume: BlueArchiveCharacter.Costumes) ダミーアバターが縄ばしごにつかまった直後に実行される関数 +---@field public onBeforeModelCopy? fun(self: BlueArchiveCharacter, isScriptLoaded: boolean) モデルのコピー直前に実行される関数 +---@field public onAfterModelCopy? fun(self: BlueArchiveCharacter, isScriptLoaded: boolean) モデルのコピー直後に実行される関数 + +---@class (exact) BlueArchiveCharacter.PhysicDataSet 物理演算のデータセット +---@field public models ModelPart[] 物理演算の対象にするモデルパーツ +---@field public x? BlueArchiveCharacter.PhysicAxisData x軸のデータ +---@field public y? BlueArchiveCharacter.PhysicAxisData y軸のデータ +---@field public z? BlueArchiveCharacter.PhysicAxisData z軸のデータ + +---@class (exact) BlueArchiveCharacter.PhysicAxisData 物理演算の1軸のデータセット +---@field public vertical? BlueArchiveCharacter.PhysicCoreData 体が垂直方向である時(通常時)の物理演算データ +---@field public horizontal? BlueArchiveCharacter.PhysicCoreData 体が水平方向である時(水泳時、エリトラ飛行時)の物理演算データ + +---@class (exact) BlueArchiveCharacter.PhysicCoreData 物理演算のコアデータ +---@field public min number このモデルパーツ、回転軸の絶対的な回転の最小値(度) +---@field public neutral number このモデルパーツ、回転軸の中立の回転位置(度) +---@field public max number このモデルパーツ、回転軸の絶対的な回転の最大値(度) +---@field public sneakOffset? number スニーク時にこのモデルパーツの回転に加えられるオフセット値 +---@field public headRotMultiplayer? number 頭の縦方向の回転と共にこのモデルパーツの回転に加えられる値の倍率 +---@field public headX? BlueArchiveCharacter.PhysicFactorData 頭を基準とした、前後方向移動によるモデルパーツの回転データ +---@field public headZ? BlueArchiveCharacter.PhysicFactorData 頭を基準とした、左右方向移動によるモデルパーツの回転データ +---@field public headRot? BlueArchiveCharacter.PhysicFactorData 頭の回転によるによるモデルパーツの回転データ +---@field public bodyX? BlueArchiveCharacter.PhysicFactorData 体を基準とした、前後方向移動によるモデルパーツの回転データ +---@field public bodyY? BlueArchiveCharacter.PhysicFactorData 体を基準とした、上下方向移動によるモデルパーツの回転データ +---@field public bodyZ? BlueArchiveCharacter.PhysicFactorData 体を基準とした、左右方向移動によるモデルパーツの回転データ +---@field public bodyRot? BlueArchiveCharacter.PhysicFactorData 体の回転によるによるモデルパーツの回転データ + +---@class (exact) BlueArchiveCharacter.PhysicFactorData 物理演算を働かせる要因を定義するデータセット +---@field public multiplayer number この回転事象がモデルパーツに与える回転の倍率 +---@field public min number この回転事象がモデルパーツに与える回転の最小値 +---@field public max number この回転事象がモデルパーツに与える回転の最大値 + +---@class (exact) BlueArchiveCharacter.PhysicCallbacks 物理演算のコールバック関数のセット +---@field public onPhysicPerformed? fun(self: BlueArchiveCharacter, model: ModelPart) 物理演算処理後に実行されるコールバック関数(省略可)。ここでモデルパーツの向きを上書きできる。 + +---@class (exact) BlueArchiveCharacter.DataSyncCallbacks データ同期のコールバック関数のセット +---@field public onDataSynced? fun(self: BlueArchiveCharacter) データが同期されたときに実行させるコールバック関数。ホスト上では実行されない。 + +--[[ ******************************** ]] + +---@class (exact) BlueArchiveCharacter.LocaleStringSet ロケール文字列のセット +---@field public en_us string 英語(米国) +---@field public ja_jp string 日本語 + +---@class (exact) BlueArchiveCharacter.MonthDaySet 日月のデータセット +---@field public month integer 月 +---@field public day integer 日 + +---@class (exact) BlueArchiveCharacter.Vector3RightLeftSet 左右で別々にVector3が定義できるデータセット +---@field public right? Vector3 右 +---@field public left? Vector3 左 + +BlueArchiveCharacter = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return BlueArchiveCharacter + new = function (parent) + ---@type BlueArchiveCharacter + local instance = Avatar.instantiate(BlueArchiveCharacter, AvatarModule, parent) + + instance.basic = { + firstName = { + en_us = "Serina"; + ja_jp = "セリナ"; + }; + + lastName = { + en_us = "Sumi"; + ja_jp = "鷲見"; + }; + + clubName = { + en_us = "Rescue Knights"; + ja_jp = "救護騎士団"; + }; + + birth = { + month = 11; + day = 16; + }; + } + + instance.faceParts = { + rightEye = { + NORMAL = vectors.vec2(0, 0); --必須 + SURPRISED = vectors.vec2(2, 0); --必須 + TIRED = vectors.vec2(3, 0); --必須 + CLOSED = vectors.vec2(4, 0); --必須 + CLOSED2 = vectors.vec2(5, 0); + INVERTED = vectors.vec2(6, 0); + NARROW = vectors.vec2(8, 0); + }; + + leftEye = { + NORMAL = vectors.vec2(0, 0); --必須 + SURPRISED = vectors.vec2(1, 0); --必須 + TIRED = vectors.vec2(2, 0); --必須 + CLOSED = vectors.vec2(3, 0); --必須 + CLOSED2 = vectors.vec2(4, 0); + INVERTED = vectors.vec2(6, 0); + NARROW = vectors.vec2(8, 0); + CENTER = vectors.vec2(-1, 1); + }; + + mouth = { + SMILE = vectors.vec2(0, 0); + TIRED = vectors.vec2(1, 0); + OPENED_SMALL = vectors.vec2(2, 0); + OPENED = vectors.vec2(3, 0); + SAD = vectors.vec2(0, 1) + }; + } + + instance.arms = { + callbacks = { + onAdditionalRightArmProcess = function (self, state) + if state == 4 then + models.models.main.Avatar.UpperBody.Arms.RightArm:setParentType("Body") + events.TICK:register(function () + if self.costume.costumes[1].medicalBoxPos == 0 then + self.parent.arms:setArmState(0, 0) + end + end, "right_arm_tick") + events.RENDER:register(function (delta) + local swingPos = (player:getSwingTime() + (player:isSwingingArm() and delta or 0)) / player:getSwingDuration() + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm, models.models.main.Avatar.UpperBody.Arms.LeftArm}) do + modelPart:setRot(swingPos < 0.25 and (360 * swingPos + 40) or (-120 * swingPos + 160), 0, 0) + end + end, "right_arm_render") + end + end; + + onAdditionalLeftArmProcess = function (_, state) + if state == 4 then + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType("Body") + end + end; + }; + } + + instance.skirt = { + skirtModels = {models.models.main.Avatar.UpperBody.Body.Skirt}; + } + + instance.gun = { + scale = 1.5; + + gunPosition = { + hold = { + type = "NORMAL"; + + firstPersonPos = { + right = vectors.vec3(0, 1, -4); + left = vectors.vec3(0, 1, -4); + }; + + thirdPersonPos = { + right = vectors.vec3(-2, 1, -5); + left = vectors.vec3(2, 1, -5); + }; + }; + + put = { + type = "HIDDEN"; + }; + }; + + sound = { + name = "minecraft:entity.firework_rocket.blast"; + pitch = 1; + }; + } + + instance.placementObjects = { + { + model = models.models.ex_skill_1.MedicalBox; + + boundingBox = { + size = vectors.vec3(12, 8, 12) + }; + + placementMode = "COPY"; + + callbacks = { + onInit = function (_, placementObject) + placementObject.tick = 0 + end; + + onTick = function (self, placementObject) + local targetEntry = raycast:entity(placementObject.currentPos, placementObject.currentPos:copy():add(0, 0.5, 0)) + if targetEntry ~= nil and targetEntry:isPlayer() then + for _ = 1, 50 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:effect"), placementObject.currentPos):setScale(1.2):setVelocity(vectors.rotateAroundAxis(math.random() * 360, 0, 0, math.random() * 0.25, 0, 1, 0)):setColor(0.961, 0.141, 0.137) + end + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.chest.open"), placementObject.currentPos, 1, 2) + --host:sendChatCommand("/effect give "..targetEntry:getName().." minecraft:instant_health 1 1 true") + self.parent.placementObjectManager:remove(placementObject.index) + else + if placementObject.tick % 2 == 0 then + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:end_rod"), placementObject.currentPos:copy():add(math.random() - 0.5, math.random(), math.random() - 0.5)):setVelocity(0, 0.1, 0):setColor(1, 0.984, 0.4) + end + placementObject.tick = placementObject.tick + 1 + end + end; + }; + }; + } + + instance.exSkill = { + { + name = { + en_us = "Intensive care set A"; + ja_jp = "集中治療セットA"; + }; + + formationType = "SPECIAL"; + + models = {models.models.main.Avatar.Head.Sweat}; + + animations = {"main", "ex_skill_1"}; + + camera = { + start = { + rot = vectors.vec3(-5, 190, -5); + pos = vectors.vec3(-2.5, 13, -16); + }; + + fin = { + rot = vectors.vec3(-20, 210, -30); + pos = vectors.vec3(-7, 10, -11); + }; + }; + + callbacks = { + onPreAnimation = function (self) + events.RENDER:register(function () + models.models.main.Avatar.Head.Sweat:setOpacity(models.models.main.Avatar.Head.Sweat.SweatOpacity:getAnimScale().x) + end, "ex_skill_1_render") + self.parent.placementObjectManager:removeAll() + models.models.ex_skill_1.MedicalBox:setPos() + models.models.ex_skill_1.MedicalBox:setRot() + models.models.ex_skill_1.MedicalBox:setScale() + models.models.ex_skill_1.MedicalBox:setParentType("None") + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "SMILE", 10, true) + end; + + onAnimationTick = function (self, tick) + if tick == 10 then + self.parent.faceParts:setEmotion("CLOSED2", "CLOSED2", "SMILE", 3, true) + elseif tick == 13 then + self.parent.faceParts:setEmotion("CLOSED2", "CLOSED2", "TIRED", 11, true) + elseif tick == 15 then + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:snowflake"), self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.Head.FaceParts.Mouth)):setScale(0.5):setVelocity(vectors.rotateAroundAxis(player:getBodyYaw() * -1, 0, -0.01, 0.01, 0, 1, 0)):setGravity(0):setLifetime(11) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.item.pickup"), player:getPos(), 0.1, 0.7) + elseif tick == 24 then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "TIRED", 8, true) + elseif tick == 32 then + self.parent.faceParts:setEmotion("CLOSED2", "CLOSED2", "TIRED", 1, true) + elseif tick == 33 then + self.parent.faceParts:setEmotion("CLOSED2", "CLOSED2", "SMILE", 2, true) + elseif tick == 35 then + self.parent.faceParts:setEmotion("INVERTED", "NORMAL", "SMILE", 32, true) + local anchorPos = player:getPos():add(0, 0.8, 0) + local bodyYaw = player:getBodyYaw() + local isHost = host:isHost() + local colorTable = {vectors.vec3(0.337, 1, 1), vectors.vec3(0.984, 1, 0.533)} + for _ = 1, 10 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:end_rod"), anchorPos):setVelocity(vectors.rotateAroundAxis(bodyYaw * -1, (math.random() < 0.5 and (isHost and -0.075 or -0.1) or 0.1) * (math.random() * 0.2 + 0.8), math.random() * 0.2 - 0.05, 0, 0, 1, 0)):setColor(colorTable[math.floor(math.random() * 2) + 1]) + end + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.item.pickup"), anchorPos, 1, 1.8) + end + end; + + onPostAnimation = function (self, forcedStop) + events.RENDER:remove("ex_skill_1_render") + if not forcedStop then + self.parent.placementObjectManager:spawn(1, player:getPos():add(vectors.rotateAroundAxis(player:getBodyYaw() * -1, 0, 3, 5, 0, 1, 0)), 0) + end + models.models.ex_skill_1.MedicalBox:setParentType("Item") + end; + }; + }; + + { + name = { + en_us = "The sound of blessings"; + ja_jp = "祝福の響き"; + }; + + formationType = "STRIKER"; + + models = {models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.Handbell.Camera, models.models.ex_skill_2.MusicStand, models.models.ex_skill_2.Bag, models.models.ex_skill_2.Presents, models.models.ex_skill_2.StuffedWolf, models.models.ex_skill_2.GroundEffect, models.models.ex_skill_2.Gui}; + + animations = {"main", "ex_skill_2"}; + + camera = { + start = { + rot = vectors.vec3(70, 60, 0); + pos = vectors.vec3(12, 64.5, 5); + }; + + fin = { + rot = vectors.vec3(-5, 270, 0); + pos = vectors.vec3(-53.2, 17, -5); + }; + }; + + callbacks = { + onPreAnimation = function (self) + if not self.exSkill[2].init then + models.models.ex_skill_2.MusicStand.MusicStandBookHolder:newText("music_stand_book_holder"):setText("§8Cherry Berry Merry"):setPos(3, 2.5, -1):setScale(0.03, 0.03, 0.03):setWrap(true):setWidth(120):setAlignment("CENTER") + self.exSkill[2].init = true + end + events.RENDER:register(function () + for _, modelPart in ipairs({models.models.ex_skill_2.GroundEffect, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.Handbell.Camera.HandbellEffect1, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.Handbell.Camera.HandbellEffect2}) do + local opacity = modelPart[modelPart:getName().."Opacity"]:getAnimScale().x + modelPart:setOpacity(opacity) + modelPart:setColor(vectors.vec3(1, 1, 1):scale(opacity)) + end + if host:isHost() then + models.models.ex_skill_2.Gui.Frame:setOpacity(models.models.ex_skill_2.Gui.FrameOpacity:getAnimScale().x) + end + end, "ex_skill_2_render") + models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.Handbell:setPos() + models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.Handbell:setRot() + models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.Handbell:setParentType("None") + self.exSkill[2].noteParticleSpawnCount = math.random(2, 3) + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "SMILE", 17, true) + pings.selectChristmasSong(math.random(1, #self.costume.costumes[2].songs)) + self.costume.costumes[2].bellStage = 1 + end; + + onAnimationTick = function (self, tick) + if tick == 3 then + self.exSkill[2].spawnHandbellParticles(self) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.chime"), player:getPos(), 1, 1.887749) + elseif tick == 6 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.chime"), player:getPos(), 0.25, 1.887749) + elseif tick == 13 then + self.exSkill[2].spawnHandbellParticles(self) + elseif tick == 17 then + self.parent.faceParts:setEmotion("NORMAL", "INVERTED", "SMILE", 7, true) + elseif tick == 24 then + self.parent.faceParts:setEmotion("CLOSED2", "CLOSED2", "SMILE", 12, true) + elseif tick == 36 then + self.parent.faceParts:setEmotion("NORMAL", "CENTER", "OPENED_SMALL", 5, true) + elseif tick == 41 then + self.parent.faceParts:setEmotion("CLOSED", "CLOSED", "SMILE", 4, true) + local anchorPos = self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.Head):add(0, 0.25, 0) + local bodyYaw = player:getBodyYaw() + for i = 0, 7 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:end_rod"), anchorPos):setVelocity(vectors.rotateAroundAxis(bodyYaw * -1, math.cos(i / 4 * math.pi) * 0.075, math.sin(i / 4 * math.pi) * 0.075, 0, 0, 1, 0)):setScale(2):setColor(1, 0.443, 0.631):setLifetime(20) + end + if host:isHost() then + local windowSize = client:getScaledWindowSize() + models.models.ex_skill_2.Gui.Frame:setScale(windowSize.x, windowSize.y, 1) + end + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.chime"), player:getPos(), 1, 1.887749) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.chime"), player:getPos(), 0.5, 0.943874) + elseif tick == 44 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.chime"), player:getPos(), 0.75, 1.887749) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.chime"), player:getPos(), 0.375, 0.943874) + elseif tick == 45 then + self.parent.faceParts:setEmotion("CLOSED", "CLOSED", "OPENED", 14, true) + elseif tick == 50 then + models.models.ex_skill_2.GroundEffect:setVisible(false) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.chime"), player:getPos(), 0.5, 1.887749) + elseif tick == 59 then + self.parent.faceParts:setEmotion("CLOSED", "CLOSED", "SMILE", 6, true) + elseif tick == 65 then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "SMILE", 5, true) + elseif tick == 70 then + self.parent.faceParts:setEmotion("NARROW", "NARROW", "SMILE", 44, true) + elseif tick == 71 then + self.exSkill[2].spawnHandbellParticles(self) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.chime"), player:getPos(), 1, 1.887749) + elseif tick == 74 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.chime"), player:getPos(), 0.25, 1.887749) + end + + local melodyParticlePos = self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_2.ExSkill2ParticleAnchor1) + local melodyParticleDir = self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_2.ExSkill2ParticleAnchor1.ExSkill2ParticleAnchor2):sub(melodyParticlePos):normalize():scale(0.1) + if tick >= 1 then + for i = 1, 8 do + local offsetPos = melodyParticlePos:copy():sub(self.exSkill[2].melodyParticlePosPrev):scale(0.125 * i) + local offsetDir = melodyParticleDir:copy():sub(self.exSkill[2].melodyParticleDirPrev):scale(0.125 * i) + for j = 1, 5 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:firework"), self.exSkill[2].melodyParticlePosPrev:copy():add(offsetPos):add(self.exSkill[2].melodyParticleDirPrev:copy():add(offsetDir):normalize():scale(0.1 * j))):setScale(0.1):setColor(1, 0.902, 0.576):setGravity(0) + end + end + end + if self.exSkill[2].noteParticleSpawnCount == 0 then + local offsetPos = math.random(0, 10) * 0.5 + self.parent.melodyParticleManager:spawn(melodyParticlePos:copy():add(melodyParticleDir:copy():scale(offsetPos + (offsetPos >= 2.5 and 0 or 2))), models.models.ex_skill_2.ExSkill2ParticleAnchor1:getAnimRot():mul(-1, 1, -1), vectors.vec2(0.8, 0.8), vectors.vec3(), 60, false) + if offsetPos >= 2.5 then + self.parent.melodyParticleManager.objects[#self.parent.melodyParticleManager.objects].subObject:setScale(1, -1, 1) + end + self.exSkill[2].noteParticleSpawnCount = math.random(2, 3) + else + self.exSkill[2].noteParticleSpawnCount = self.exSkill[2].noteParticleSpawnCount - 1 + end + self.exSkill[2].melodyParticlePosPrev = melodyParticlePos:copy() + self.exSkill[2].melodyParticleDirPrev = melodyParticleDir:copy() + end; + + onPostAnimation = function (self, forcedStop) + events.RENDER:remove("ex_skill_2_render") + models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.Handbell:setParentType("Item") + end; + }; + + ---このExスキルの初期化処理が行われたかどうか + ---@type boolean + init = false; + + ---前ティックの楽譜のパーティクルのアンカー位置 + ---@type Vector3 + melodyParticlePosPrev = vectors.vec3(); + + ---前ティックの楽譜のパーティクルのアンカー方向 + ---@type Vector3 + melodyParticleDirPrev = vectors.vec3(); + + ---楽譜の音符パーティクルをスポーンさせるまでのカウンター + ---@type integer + noteParticleSpawnCount = 0; + + ---ハンドベルの音符パーティクルを表示する。 + ---@param self BlueArchiveCharacter + spawnHandbellParticles = function (self) + local anchorPos = self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.Handbell.Camera.HandbellEffect1) + for _ = 1, 5 do + self.parent.melodyParticleManager:spawn(anchorPos, vectors.vec3(), vectors.vec2(0.25, 0.25), vectors.vec3(math.random() * 2 - 1, math.random() * 2 - 1, math.random() * 2 - 1):normalize():scale(0.02), 20, true) + end + end; + } + } + + instance.costume = { + costumes = { + { + name = "default"; + + displayName = { + en_us = "Default"; + ja_jp = "デフォルト"; + }; + + exSkill = 1; + + ---救急箱の位置:0. 持っていない, 1. メインハンドに持っている, 2. オフハンドに持っている + ---@type integer + medicalBoxPos = 0; + + ---@param mode Event.ItemRender.renderType + medicalBoxItemRender = function (_, mode) + local isLeftHanded = player:isLeftHanded() + if (isLeftHanded and instance.costume.costumes[1].medicalBoxPos == 2) or (not isLeftHanded and instance.costume.costumes[1].medicalBoxPos == 1) then + --右手に救急箱を持つ + if mode == "THIRD_PERSON_RIGHT_HAND" then + models.models.ex_skill_1.MedicalBox:setPos(-5.5, -4, 0) + models.models.ex_skill_1.MedicalBox:setRot(45, 0, 0) + models.models.ex_skill_1.MedicalBox:setScale(0.8, 0.8, 0.8) + return models.models.ex_skill_1.MedicalBox + elseif mode == "FIRST_PERSON_RIGHT_HAND" and instance.parent.gun.shouldShowWeaponInFirstPerson then + models.models.ex_skill_1.MedicalBox:setPos(-9, -3, 0) + models.models.ex_skill_1.MedicalBox:setRot(0, 0, 0) + models.models.ex_skill_1.MedicalBox:setScale(0.8, 0.8, 0.8) + return models.models.ex_skill_1.MedicalBox + end + elseif (isLeftHanded and instance.costume.costumes[1].medicalBoxPos == 1) or (not isLeftHanded and instance.costume.costumes[1].medicalBoxPos == 2) then + --左手に救急箱を持つ + if mode == "THIRD_PERSON_LEFT_HAND" then + models.models.ex_skill_1.MedicalBox:setPos(5.5, -4, 0) + models.models.ex_skill_1.MedicalBox:setRot(45, 0, 0) + models.models.ex_skill_1.MedicalBox:setScale(0.8, 0.8, 0.8) + return models.models.ex_skill_1.MedicalBox + elseif mode == "FIRST_PERSON_LEFT_HAND" and instance.parent.gun.shouldShowWeaponInFirstPerson then + models.models.ex_skill_1.MedicalBox:setPos(9, -3, 0) + models.models.ex_skill_1.MedicalBox:setRot(0, 0, 0) + models.models.ex_skill_1.MedicalBox:setScale(0.8, 0.8, 0.8) + return models.models.ex_skill_1.MedicalBox + end + end + end; + }; + + { + name = "christmas"; + + displayName = { + en_us = "Christmas"; + ja_jp = "クリスマス"; + }; + + exSkill = 2; + + ---衣装の初期化処理がされたかどうか + ---@type boolean + init = false; + + ---ハンドベルで演奏する曲データ + ---音階をintegerで表す。 + ---@type integer[][] + songs = { + -- 1. ジングルベル(Jingle Bells) - https://youtu.be/iyj1SJ5QhjE?si=WEVd-lbmTmJrSlFV + { + name = "Jingle Bells"; + song = {6, 6, 15, 13, 11, 6, 6, 6, 15, 13, 11, 8, 8, 8, 16, 15, 13, 10, 18, 20, 18, 16, 13, 15, 6, 6, 15, 13, 11, 6, 6, 6, 15, 13, 11, 8, 8, 8, 16, 15, 13, 18, 18, 18, 18, 20, 18, 16, 13, 11, 15, 15, 15, 15, 15, 15, 15, 15, 18, 11, 13, 15, 16, 16, 16, 16, 16, 15, 15, 15, 15, 13, 13, 11, 13, 18, 15, 15, 15, 15, 15, 15, 15, 18, 11, 13, 15, 16, 16, 16, 16, 16, 15, 15, 15, 18, 18, 16, 13, 11}; + }; + + -- 2. We Wish You A Merry Christmas - https://youtu.be/qzLf6vkgCYA?si=FnAuabFiLweN5mgf + { + name = "We Wish You A Merry Christmas"; + song = {8, 13, 13, 15, 13, 12, 10, 10, 10, 15, 15, 17, 15, 13, 12, 8, 8, 17, 17, 18, 17, 15, 13, 10, 8, 8, 10, 15, 12, 13, 8, 13, 13, 13, 12, 12, 13, 12, 10, 8, 15, 17, 15, 13, 20, 8, 8, 8, 10, 15, 12, 13}; + }; + + -- 3. サンタが街にやってくる(Santa Claus is coming to town)- https://youtu.be/fm-YVXMjZw4?si=GIh685jacZ1e8A5V + { + name = "Santa Claus is coming to town"; + song = {13, 10, 11, 13, 13, 13, 15, 17, 18, 18, 10, 11, 13, 13, 13, 15, 13, 11, 11, 10, 13, 6, 10, 8, 11, 5, 6, 13, 10, 11, 13, 13, 13, 15, 17, 18, 18, 10, 11, 13, 13, 13, 15, 13, 11, 11, 10, 13, 6, 10, 8, 11, 5, 6, 18, 20, 18, 17, 18, 15, 15, 18, 20, 18, 17, 18, 15, 20, 22, 20, 19, 20, 17, 17, 17, 17, 18, 20, 18, 17, 15, 13, 13, 13, 10, 11, 13, 13, 13, 15, 17, 18, 18, 10, 11, 13, 13, 13, 15, 13, 11, 11, 10, 13, 6, 10, 8, 11, 20, 18, 30}; + }; + + -- 4. きよしこの夜(Silent Night) - https://youtu.be/IgTv3Osi_oU?si=XdnJgwDeH2jeXDl0 + { + name = "Silent Night"; + song = {13, 15, 13, 10, 13, 15, 13, 10, 20, 20, 17, 18, 18, 13, 15, 15, 18, 17, 15, 13, 15, 13, 10, 15, 15, 18, 17, 15, 13, 15, 13, 10, 20, 20, 23, 20, 17, 18, 22, 18, 13, 10, 13, 11, 8, 6}; + }; + + -- 5. もろびとこぞりて(Joy to the World!) - https://youtu.be/Zk9AB0RfubI?si=Q_O7tJA_-fpgZ73b + { + name = "Joy to the World!"; + song = {20, 19, 17, 15, 13, 12, 10, 8, 15, 17, 17, 19, 19, 20, 20, 20, 19, 17, 15, 15, 13, 12, 20, 20, 19, 17, 15, 15, 13, 12, 12, 12, 12, 12, 12, 13, 15, 13, 12, 10, 10, 10, 10, 12, 13, 12, 10, 8, 20, 17, 15, 13, 12, 13, 12, 10, 8}; + }; + + -- 6. あわてんぼうのサンタクロース(Hasty Santa Claus) - https://youtu.be/QZ-HOovEBCE?si=HFyMtQa_NfQkOukg + { + name = "Hasty Santa Claus"; + song = {6, 11, 15, 13, 11, 11, 13, 11, 11, 11, 8, 6, 6, 6, 11, 11, 11, 15, 18, 15, 13, 13, 15, 11, 13, 6, 11, 15, 15, 15, 13, 11, 11, 11, 16, 16, 16, 18, 20, 20, 20, 18, 18, 15, 18, 16, 16, 15, 13, 11, 20, 20, 18, 15, 18, 16, 15, 13, 11}; + }; + + -- 7. 赤鼻のトナカイ(Rudolph the red-nosed reindeer)- https://youtu.be/eSzpx4hdq_Q?si=j5CXe-Hs2zaP4WVY + { + name = "Rudolph the red-nosed reindeer"; + song = {13, 15, 13, 10, 18, 15, 13, 13, 15, 13, 15, 13, 18, 17, 11, 13, 11, 8, 17, 15, 13, 13, 15, 13, 15, 13, 15, 10, 13, 15, 13, 10, 18, 15, 13, 13, 15, 13, 15, 13, 18, 17, 11, 13, 11, 8, 17, 15, 13, 13, 15, 13, 15, 13, 20, 18, 15, 15, 18, 15, 13, 10, 13, 11, 15, 13, 11, 10, 8, 10, 13, 15, 17, 17, 17, 18, 18, 17, 15, 13, 11, 8, 13, 15, 13, 10, 18, 15, 13, 13, 15, 13, 15, 13, 18, 17, 11, 13, 11, 8, 17, 15, 13, 13, 15, 13, 15, 13, 20, 18}; + }; + }; + + ---ハンドベルで演奏する曲のインデックス番号 + ---0では固定音を出す。 + ---@type integer + songIndex = 0; + + ---曲の進行度合い + ---@type integer + bellStage = 1; + }; + }; + + callbacks = { + onChange = function (self) + events.ITEM_RENDER:remove("medical_box_item_render") + self.parent.costume.setCostumeTextureOffset(1) + models.models.main.Avatar.UpperBody.Body.Skirt:setUVPixels(0, 14) + for _, modelPart in ipairs({models.models.main.Avatar.Head.CChristmasH, models.models.main.Avatar.UpperBody.Body.CChristmasB, models.models.main.Avatar.UpperBody.Arms.RightArm.CChristmasRA, models.models.main.Avatar.UpperBody.Arms.LeftArm.CChristmasLA}) do + modelPart:setVisible(true) + end + for _, modelPart in ipairs({models.models.main.Avatar.Head.NurseCap, models.models.main.Avatar.Head.HairTail, models.models.main.Avatar.Head.HairTailRibbon, models.models.main.Avatar.UpperBody.Body.Bag, models.models.main.Avatar.UpperBody.Arms.LeftArm.Cross}) do + modelPart:setVisible(false) + end + models.models.main.Avatar.UpperBody.Body.ChestRibbon:moveTo(models.models.main.Avatar.Head) + models.models.main.Avatar.UpperBody.Body:removeChild(models.models.main.Avatar.Head.ChestRibbon) + models.models.main.Avatar.Head.ChestRibbon:setPos(-4.25, 10, 1.5) + models.models.main.Avatar.Head.ChestRibbon:setRot(0, 90, 0) + models.models.main.Avatar.Head.ChestRibbon:setScale(1.2, 1.2, 1.2) + if not self.costume.costumes[2].init then + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.Handbell.Handbell1_Top, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.Handbell.Handbell2_Top}) do + modelPart:setPrimaryTexture("RESOURCE", "minecraft:textures/block/bell_top.png") + end + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.Handbell.Handbell1_Side, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.Handbell.Handbell2_Side}) do + modelPart:setPrimaryTexture("RESOURCE", "minecraft:textures/block/bell_side.png") + end + models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.Handbell.Handbell2_Bottom:setPrimaryTexture("RESOURCE", "minecraft:textures/block/bell_bottom.png") + self.costume.costumes[2].init = true + end + events.TICK:register(function () + local isHoldingBell = player:getHeldItem().id == "minecraft:bell" + local targetBlock = player:getTargetedBlock(true, 4.5) + if player:isSwingingArm() and isHoldingBell and player:getSwingTime() == 0 and (targetBlock.id == "minecraft:air" or targetBlock.id == "minecraft:cave_air" or targetBlock.id == "minecraft:void_air") then + local scale = self.costume.costumes[2].songIndex >= 1 and self.costume.costumes[2].songs[self.costume.costumes[2].songIndex].song[self.costume.costumes[2].bellStage] or 23 + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.chime"), player:getPos(), 1, 2 ^ ((scale - 12) / 12)) + if self.costume.costumes[2].songIndex >= 1 then + if self.costume.costumes[2].bellStage == #self.costume.costumes[2].songs[self.costume.costumes[2].songIndex].song then + self.costume.costumes[2].bellStage = 1 + else + self.costume.costumes[2].bellStage = self.costume.costumes[2].bellStage + 1 + end + else + self.costume.costumes[2].bellStage = 1 + end + self.dataSync.syncData.bellStage = self.costume.costumes[2].bellStage + elseif not isHoldingBell then + self.costume.costumes[2].bellStage = 1 + self.dataSync.syncData.bellStage = 1 + end + end, "costume_christmas_hand_bell_tick") + events.ITEM_RENDER:register(function (item, mode) + if item.id == "minecraft:bell" then + if mode == "FIRST_PERSON_LEFT_HAND" then + models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.Handbell:setPos(4, -13.5, 0.5) + models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.Handbell:setRot(-90, -30, 180) + elseif mode == "FIRST_PERSON_RIGHT_HAND" then + models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.Handbell:setPos(7, -13.5, 0.5) + models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.Handbell:setRot(-90, 30, 180) + elseif mode == "THIRD_PERSON_LEFT_HAND" then + models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.Handbell:setPos(5.5, -13.5, 0.5) + models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.Handbell:setRot(-90, 0, 180) + elseif mode == "THIRD_PERSON_RIGHT_HAND" then + models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.Handbell:setPos(5.5, -13.5, 0.5) + models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.Handbell:setRot(-90, 0, 180) + end + return models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.Handbell + end + end, "costume_christmas_hand_bell_item_render") + end; + + onReset = function (self) + events.TICK:remove("costume_christmas_hand_bell_tick") + events.ITEM_RENDER:remove("costume_christmas_hand_bell_item_render") + self.parent.costume.setCostumeTextureOffset(0) + models.models.main.Avatar.UpperBody.Body.Skirt:setUVPixels() + for _, modelPart in ipairs({models.models.main.Avatar.Head.CChristmasH, models.models.main.Avatar.UpperBody.Body.CChristmasB, models.models.main.Avatar.UpperBody.Arms.RightArm.CChristmasRA, models.models.main.Avatar.UpperBody.Arms.LeftArm.CChristmasLA}) do + modelPart:setVisible(false) + end + for _, modelPart in ipairs({models.models.main.Avatar.Head.NurseCap, models.models.main.Avatar.Head.HairTail, models.models.main.Avatar.Head.HairTailRibbon, models.models.main.Avatar.UpperBody.Body.Bag, models.models.main.Avatar.UpperBody.Arms.LeftArm.Cross}) do + modelPart:setVisible(true) + end + if models.models.main.Avatar.Head.ChestRibbon ~= nil then + models.models.main.Avatar.Head.ChestRibbon:moveTo(models.models.main.Avatar.UpperBody.Body) + models.models.main.Avatar.Head:removeChild(models.models.main.Avatar.UpperBody.Body.ChestRibbon) + models.models.main.Avatar.UpperBody.Body.ChestRibbon:setPos() + models.models.main.Avatar.UpperBody.Body.ChestRibbon:setRot() + models.models.main.Avatar.UpperBody.Body.ChestRibbon:setScale() + end + if events.ITEM_RENDER:getRegisteredCount("medical_box_item_render") == 0 then + events.ITEM_RENDER:register(self.costume.costumes[1].medicalBoxItemRender, "medical_box_item_render") + end + end; + + onArmorChange = function (self, parts, isVisible) + if parts == "HELMET" then + if self.parent.costume.currentCostume == 1 then + models.models.main.Avatar.Head.NurseCap:setVisible(not isVisible) + else + for _, modelPart in ipairs({models.models.main.Avatar.Head.CChristmasH.Hat, models.models.main.Avatar.Head.CChristmasH.Bun}) do + modelPart:setVisible(not isVisible) + end + end + elseif parts == "CHEST_PLATE" then + models.models.main.Avatar.UpperBody.Body.Bag:setVisible(not isVisible and self.parent.costume.currentCostume == 1) + elseif parts == "LEGGINGS" then + models.models.main.Avatar.UpperBody.Body.Skirt:setVisible(not isVisible) + end + end; + }; + } + + instance.bubble = { + callbacks = { + onPlay = function (self, type, duration) + if duration > 0 then + if type == "GOOD" then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "SMILE", duration, true) + elseif type == "HEART" then + self.parent.faceParts:setEmotion("CLOSED", "CLOSED", "OPENED", duration, true) + elseif type == "NOTE" then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "OPENED_SMALL", duration, true) + elseif type == "QUESTION" then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "TIRED", duration, true) + elseif type == "SWEAT" then + self.parent.faceParts:setEmotion("CLOSED2", "CLOSED2", "SAD", duration, true) + end + end + end; + + onStop = function (self, _, forcedStop) + if not forcedStop then + self.parent.faceParts:resetEmotion() + end + end; + }; + } + + instance.headBlock = { + includeModels = {}; + } + + instance.portrait = { + includeModels = {}; + } + + instance.deathAnimation = { + callbacks = { + onPhase1 = function (_, dummyAvatar, costume) + if costume == "DEFAULT" then + for _, modelPart in ipairs({dummyAvatar.Head.HairTail, dummyAvatar.Head.HairTailRibbon.HairTailRibbonTip1, dummyAvatar.Head.HairTailRibbon.HairTailRibbonTip2}) do + modelPart:setRot(30, 0, 0) + end + end + dummyAvatar.UpperBody.Body.Skirt:setRot(30, 0, 0) + dummyAvatar.Head.Feather:setRot(55, 0, 0) + end; + + onPhase2 = function (_, dummyAvatar, costume) + if costume == "DEFAULT" then + for _, modelPart in ipairs({dummyAvatar.Head.HairTail, dummyAvatar.Head.HairTailRibbon.HairTailRibbonTip1, dummyAvatar.Head.HairTailRibbon.HairTailRibbonTip2}) do + modelPart:setRot(-20, 0, 0) + end + end + dummyAvatar.LowerBody.Legs.RightLeg.RightLegBottom:setPivot(2, 6, -2) + dummyAvatar.Head.Feather:setRot(-20, 0, 0) + end; + + onBeforeModelCopy = function () + models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.Handbell:setVisible(false) + end; + + onAfterModelCopy = function () + models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.Handbell:setVisible(true) + end; + }; + } + + instance.actionWheel = { + isVehicleOptionEnabled = false; + } + + instance.physics = { + physicData = { + { + models = {models.models.main.Avatar.Head.HairTail, models.models.main.Avatar.Head.HairTailRibbon.HairTailRibbonTip1, models.models.main.Avatar.Head.HairTailRibbon.HairTailRibbonTip2}; + + x = { + vertical = { + min = -90; + neutral = 0; + max = 90; + + headRotMultiplayer = -1; + + headX = { + multiplayer = -80; + min = -90; + max = 90; + }; + }; + + horizontal = { + min = -45; + neutral = 45; + max = 45; + + headX = { + multiplayer = -80; + min = -45; + max = 45; + }; + }; + }; + }; + { + models = {models.models.main.Avatar.Head.HairTail.HairTailZPivot}; + + z = { + vertical = { + min = -60; + neutral = -5; + max = 0; + + headZ = { + multiplayer = -80; + min = -60; + max = 0; + }; + + headRot = { + multiplayer = 0.05; + min = -60; + max = 0; + }; + + bodyY = { + multiplayer = 80; + min = -60; + max = 0; + }; + }; + }; + }; + { + models = {models.models.main.Avatar.Head.HairTailRibbon.HairTailRibbonTip1.HairTailRibbonTip1ZPivot, models.models.main.Avatar.Head.HairTailRibbon.HairTailRibbonTip2.HairTailRibbonTip2ZPivot}; + + z = { + vertical = { + min = -150; + neutral = -5; + max = 0; + + headZ = { + multiplayer = -160; + min = -80; + max = 0; + }; + + headRot = { + multiplayer = 0.1; + min = -80; + max = 0; + }; + + bodyY = { + multiplayer = 160; + min = -150; + max = 0; + }; + }; + }; + }; + { + models = {models.models.main.Avatar.Head.Feather}; + + x = { + vertical = { + min = -90; + neutral = 0; + max = 90; + + headRotMultiplayer = -1; + + headX = { + multiplayer = -120; + min = -90; + max = 90; + }; + }; + + horizontal = { + min = -45; + neutral = 45; + max = 45; + + headX = { + multiplayer = -120; + min = -45; + max = 45; + }; + }; + }; + }; + { + models = {models.models.main.Avatar.Head.Feather.FeatherZPivot}; + + z = { + vertical = { + min = -160; + neutral = 0; + max = 75; + + headZ = { + multiplayer = -120; + min = -80; + max = 75; + }; + + headRot = { + multiplayer = 0.075; + min = -80; + max = 75; + }; + + bodyY = { + multiplayer = 120; + min = -160; + max = 0; + }; + }; + }; + }; + }; + } + + instance.dataSync = { + syncData = { + songIndex = 1; + bellStage = 1; + }; + + callbacks = { + onDataSynced = function (self) + self.costume.costumes[2].songIndex = self.dataSync.syncData.songIndex + self.costume.costumes[2].bellStage = self.dataSync.syncData.bellStage + end; + }; + } + + return instance + end; + + ---初期化関数 + ---@param self BlueArchiveCharacter + init = function (self) + AvatarModule.init(self) + + --生徒固有初期化処理 + --Player APIにアクセスする場合は、ENTITY_INIT後に実行されるようにする必要がある。 + self.parent.avatarEvents.SCRIPT_INIT:register(function () + events.TICK:register(function () + if self.parent.gun.currentGunPosition == "NONE" and self.parent.exSkill.animationCount == -1 and self.parent.costume.currentCostume == 1 then + local healingPotionPos = 0 + for i = 1, 2 do + local heldItem = player:getHeldItem(i == 2) + if (heldItem.id == "minecraft:potion" or heldItem.id == "minecraft:splash_potion" or heldItem.id == "minecraft:lingering_potion") and heldItem.tag.Potion ~= nil and heldItem.tag.Potion:match("minecraft:.*healing") ~= nil then + healingPotionPos = i + break + end + end + self.costume.costumes[1].medicalBoxPos = healingPotionPos + else + self.costume.costumes[1].medicalBoxPos = 0 + end + if self.costume.costumes[1].medicalBoxPos > 0 and self.parent.arms.armState.right ~= 4 then + self.parent.arms:setArmState(4, 4) + end + end) + + if self.parent.costume.currentCostume == 1 then + events.ITEM_RENDER:register(self.costume.costumes[1].medicalBoxItemRender, "medical_box_item_render") + end + end) + end; +} + +---Exスキル2後のハンドベルで演奏できるクリスマスソングを決める。 +---@param index integer 曲のインデックス番号 +function pings.selectChristmasSong(index) + AvatarInstance.characterData.costume.costumes[2].songIndex = index + local task = models.models.ex_skill_2.MusicStand.MusicStandBookHolder:getTask("music_stand_book_holder") + if task ~= nil then + task:setText("§8"..AvatarInstance.characterData.costume.costumes[2].songs[index].name) + end + if host:isHost() then + AvatarInstance.characterData.dataSync.syncData.songIndex = index + end +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Serina/scripts/character_scripts/ex_skill_2_melody_particle.lua b/config/yosbr/config/figura/avatars/Serina/scripts/character_scripts/ex_skill_2_melody_particle.lua new file mode 100644 index 0000000..9d9a118 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Serina/scripts/character_scripts/ex_skill_2_melody_particle.lua @@ -0,0 +1,88 @@ +---@class (exact) ExSkill2MelodyParticle : SpawnObject Exスキル2で使用する音符の独自パーティクルのクラス +---@field package object ModelPart インスタンスで制御するモデルパーツ +---@field public subObject ModelPart インスタンスで制御するサブモデルパーツ +---@field package currentPos Vector3 現ティックのパーティクルの位置 +---@field package nextPos Vector3 次ティックのパーティクルの位置 +---@field package rot Vector3 パーティクルの向き +---@field package size Vector2 パーティクルの大きさ +---@field package velocity Vector3 パーティクルの移動速度 +---@field package lifeTime integer このパーティクルが破棄されるまでの時間 +---@field package shouldSeeCamera boolean パーティクルがカメラワークの方向を見るべきかどうか +---@field public new fun(parent: Avatar, pos: Vector3, rot: Vector3, size: Vector2, velocity: Vector3, lifeTime: integer, shouldSeeCamera: boolean): ExSkill2MelodyParticle コンストラクタ + +ExSkill2MelodyParticle = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@param pos Vector3 パーティクルの初期位置 + ---@param rot Vector3 パーティクルの向き + ---@param size Vector2 パーティクルの大きさ + ---@param velocity Vector3 パーティクルの移動方向と速度 + ---@param lifeTime integer パーティクルの表示時間 + ---@param shouldSeeCamera boolean パーティクルがカメラワークの方向を見るべきかどうか + ---@return ExSkill2MelodyParticle + new = function (parent, pos, rot, size, velocity, lifeTime, shouldSeeCamera) + ---@type ExSkill2MelodyParticle + local instance = Avatar.instantiate(ExSkill2MelodyParticle, SpawnObject, parent) + + instance.object = models.script_ex_skill_2_melody_particle:newPart(instance.uuid) + instance.subObject = models.models.ex_skill_2.Notes["Note"..math.random(1, 3)]:copy(client.intUUIDToString(client.generateUUID())) + instance.currentPos = pos:copy() + instance.nextPos = instance.currentPos:copy() + instance.rot = rot:copy() + instance.size = size:copy() + instance.velocity = velocity:copy() + instance.shouldSeeCamera = shouldSeeCamera + instance.lifeTime = lifeTime + + instance.callbacks = { + ---@param self ExSkill2MelodyParticle + onInit = function (self) + self.subObject:setVisible(true) + self.subObject:setScale(self.size:copy():augmented(1)) + if not self.shouldSeeCamera then + self.object:setRot(0, player:getBodyYaw() * -1, 0) + self.subObject:setRot(self.rot) + end + self.object:addChild(self.subObject) + end; + + ---@param self ExSkill2MelodyParticle + onDeinit = function (self) + self.object:removeChild(self.subObject) + self.subObject:remove() + models.script_ex_skill_2_melody_particle:removeChild(self.object) + self.object:remove() + end; + + ---@param self ExSkill2MelodyParticle + onTick = function (self) + if self.lifeTime == 0 then + self.shouldDeinit = true + end + + --パーティクルの位置を強制更新 + self.currentPos = self.nextPos:copy() + self.object:setPos(self.currentPos:copy():scale(16)) + + --次の位置を計算 + self.nextPos = self.currentPos:copy():add(self.velocity) + + --カウンター更新 + self.lifeTime = self.lifeTime - 1 + end; + + ---@param self ExSkill2MelodyParticle + onRender = function (self, delta, context) + if self.shouldSeeCamera then + self.object:setRot(client:getCameraRot():mul(1, -1, 1)) + end + if self.velocity:length() > 0 then + self.object:setPos(self.currentPos:copy():add(self.nextPos:copy():sub(self.currentPos):scale(delta)):scale(16)) + end + end; + } + + return instance + end; + +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Serina/scripts/character_scripts/ex_skill_2_melody_particle_manager.lua b/config/yosbr/config/figura/avatars/Serina/scripts/character_scripts/ex_skill_2_melody_particle_manager.lua new file mode 100644 index 0000000..88f29a6 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Serina/scripts/character_scripts/ex_skill_2_melody_particle_manager.lua @@ -0,0 +1,51 @@ +---@class ExSkill2MelodyParticleManager : SpawnObjectManager Exスキル2で使用する音符の独自パーティクルを管理するクラス +---@field package getObject fun(self: ExSkill2MelodyParticleManager, pos: Vector3, rot: Vector3, size: Vector2, velocity: Vector3, lifeTime: integer, shouldSeeCamera: boolean): ExSkill2MelodyParticle 音符パーティクルのインスタンスを生成して返す +---@field public spawn fun(self: ExSkill2MelodyParticleManager, pos: Vector3, rot: Vector3, size: Vector2, velocity: Vector3, lifeTime: integer, shouldSeeCamera: boolean) 音符パーティクルをスポーンさせる + +ExSkill2MelodyParticleManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ExSkill2MelodyParticleManager + new = function (parent) + ---@type ExSkill2MelodyParticleManager + local instance = Avatar.instantiate(ExSkill2MelodyParticleManager, SpawnObjectManager, parent) + + instance.managerName = "ex_skill_2_melody_particle" + + return instance + end; + + ---初期化関数 + ---@param self ExSkill2MelodyParticleManager + init = function (self) + SpawnObjectManager.init(self) + + ---@diagnostic disable-next-line: discard-returns + models:newPart("script_ex_skill_2_melody_particle", "World") + end; + + ---音符パーティクルのインスタンスを生成して返す。 + ---@param self ExSkill2MelodyParticleManager + ---@param pos Vector3 パーティクルの初期位置 + ---@param rot Vector3 パーティクルの向き + ---@param size Vector2 パーティクルの大きさ + ---@param velocity Vector3 パーティクルの移動方向と速度 + ---@param lifeTime integer パーティクルの表示時間 + ---@param shouldSeeCamera boolean パーティクルがカメラワークの方向を見るべきかどうか + ---@return ExSkill2MelodyParticle instance 生成したインスタンス + getObject = function (self, pos, rot, size, velocity, lifeTime, shouldSeeCamera) + return ExSkill2MelodyParticle.new(self.parent, pos, rot, size, velocity, lifeTime, shouldSeeCamera) + end; + + ---音符パーティクルをスポーンさせる。 + ---@param self ExSkill2MelodyParticleManager + ---@param pos Vector3 パーティクルの初期位置 + ---@param rot Vector3 パーティクルの向き + ---@param size Vector2 パーティクルの大きさ + ---@param velocity Vector3 パーティクルの移動方向と速度 + ---@param lifeTime integer パーティクルの表示時間 + ---@param shouldSeeCamera boolean パーティクルがカメラワークの方向を見るべきかどうか + spawn = function (self, pos, rot, size, velocity, lifeTime, shouldSeeCamera) + SpawnObjectManager.spawn(self, pos, rot, size, velocity, lifeTime, shouldSeeCamera) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Serina/textures/barrier.png b/config/yosbr/config/figura/avatars/Serina/textures/barrier.png new file mode 100644 index 0000000000000000000000000000000000000000..f370a968a6e6c60761c4f7a188d7c44ce1bf9bf6 GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^j3CU&3?x-=hn)gaoCO|{#S9GG!XV7ZFl&wkP>?ym tC&cyq|NqVF|3v_~T%InDAsp9}6M$?c2F6ES|xv6<249-QVi6yBi z3gww484B*6z5(HleBwYwoCO|{#S9F3${@^GvDCf{D997w6XNP#-~(j-|NkFI{ubWW z3Z$4yg8YIRI4V3`K^7Z%x;Tb#Tu)Be@c;0E1AnrA*vjLu_#ZRFy%x2ZQhP5x1L|h*boFyt=akR{09f)oX8-^I literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Serina/textures/bubble_emote_guide.png b/config/yosbr/config/figura/avatars/Serina/textures/bubble_emote_guide.png new file mode 100644 index 0000000000000000000000000000000000000000..a6b414202e18123cc93b634a85e680a66e0a9fe4 GIT binary patch literal 494 zcmVvD800032NklL{98?E$@`La%y+s+cA+7ER}K+p}aatE=lFu-ULeLWgH1R zr7|d~dm1u3wI-OHl&evMe$!{KVri$1Za$T<*ZHa3DM<}U69UsXiOn<=cIQ} k=*f{RowdRB0DV*N2kFQ#jp%gQga7~l07*qoM6N<$g5h)W9smFU literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Serina/textures/bullet.png b/config/yosbr/config/figura/avatars/Serina/textures/bullet.png new file mode 100644 index 0000000000000000000000000000000000000000..392b8f7c3906129885119b03aad3353ef99e562c GIT binary patch literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^EI`b|!VDz0_b@5|DajJoh!W@g+}zZ>5(ej@)Wnk1 z6ovB4k_-iRPv3y>Mm}+%BF+Mj$YKTtJ!KGPtXOJa1{72Y@Ck8^3Xe~T4g->>mxKTr z|9>6*|836R83F%a&e=cH^Z$Eal|aXmSq yC?TOJ!3aqGdOtPI(4Y{viAnS=lpGkCiCxvXfVThu010qNS#tmY3ljhU3ljkVnw%H_000McNliru=nD}A3MgPFus;9*0a!^y zK~zY`?Upf112GiG|1Zg4sa+ft3QiUZO2Loe@&{6%`fB0EOP!u|EUL!wgT#zevLz%}M|O002ovPDHLkV1mx@ B!o>gp literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Serina/textures/death_animation.png b/config/yosbr/config/figura/avatars/Serina/textures/death_animation.png new file mode 100644 index 0000000000000000000000000000000000000000..f243ea10d108e2c2f5486f6a962aa91378446a34 GIT binary patch literal 2020 zcmW-fc{r4d7st;#!^{{aGM%c6Q{{H^* zkUz(YMaTRX_wV2D?Ci9$ zv1z{(^(fi%W%h-k$7%Wb`CKmd`Sa&27Aq+!sUXg_f^$49EUYolD>F0mamHyM2d!u? zz3%RA6&016!KPt7(WU$gkYGnUCqTz|X8}la*5;Fr>e)l!RI2s&F{Lzr@sUR+bYp)U*)?NT@-*N^nGX&HpwE<%v z;Mv9t4j;NR(L1{-^eTl5`E&++*XK6q?n8Q4oRUGa|E#BPiU79>;>zSC;ja87a5$VP zWMb_dWHDukspEkn-1RZV_?=gRtByVP@1+^Tf&%6RskQVX=w+f2w!TF3F{DHitS4so zbn1h-$*d|O-XWw>+;M{-R^s|0 zI0^rVIJU#9h(8gE0+e3F9e_Y#vK^&&pihe4l$F1QC96&`j7JiyA8N7wi8TZ24jmxY zjZi|d+uhQ?5gGYJ{=};}>#xA3GV&-rQAhl-Ogo%-=Pxiv*t$64=#IS~BaJPqzkt$) z=C}G9jxj}bOt_@u3-}$AyS_Vixd=?_WbOVb1N_vQMmII-RV5+{7(lS2hkf^EzIMfb z)BJW14#LV(haYDatzv5+&F;n8{&TQUqYGN{Xq~4pAPf+|KnyxW<9%pQc_2;*olXrd z$@{?92zUyT8yf3mY(tsNnBF~+n>bw zU@Q%F)uV*o{+q2$h5HX8B4~KA-EgM16gyNL7>I{NRU~GeOvFDz^<@M^;H*dX;#3X%2)S89eRvy}!%~0Spjg>9h$|NVrBlsIKWloQRo!4Y^6`Zp>)N-w} z(hZTrBnz3Opmt*wt*a-%b#iPsy3lQprL2$1qRy6c1rEf+O2b0vL+Q~k&g^$zEmsY; zxzvt}M=A*IhmTQ+(hsmlNK>>Q1oY{^j{M-o%d0E5#_dgssd6Ho8;LMD!Xe}5=;GrX z5^lax9rll543&!g@4W9$-r5a#+^!_WKH?sdVWNez7`IluAt=WrlHOyi(eJ-8lgFiU z2V@Pqh77RDHFrH^e8q^w%x!2wwsX^kuT?~0jF@5=o2xyfa)-?JTrVPJ0htgC~v(@%Dtgd%iFO0cS>vX;9*Fuf=?9nC!;N&AtIHtqyc-nA7 zja@>QGCsL65_qP?khB-HLSxmDJ=M%ZH_B)K}-i%#v5v9yt%pxWDye2ZvXEc@6pfE@PD0hr1Y{r z*Qd>Hvmt&SlLf68l;<#Pge!%(Obb*YGYR#gKXyj$nzzNxunn{%f^+@)qksz`Ds9zT zF=ex>>-QJjzT4c)ma(D{dUAtZ0(Ja4YK~O1YL|*eD;;2}tvs504;efVKS$NXcF;vX zHu|f&EWGi1m#flFA$^Ra$B6aHOTe zi`u2Zk&_T1~fhss;p(*(Y$*m48?!f83xfnCxZ*ALJt&A*tP$P3IG(h+DcFc(fm910e@pj0zyLjKqmE%MS zS1IvisvB5Hw7!A5!^Ln$m=}{*?z0<>UcsIJ_}%4{%eQTTC;Qb}?M@}$7F~8A$mEM% zd`Es-Ad$!I-@R`s3Sa#qfXu9{7#zS#MZ--B*uMB6Oc(=|9bn6yAl7%~FCo=(+^C%E z28)PNS{Yu5OhjExFV^8Il26&6*o%}JqcuifEtH0}F~g_i#6k-WF(GczHDsP6c2R1R XSQ8c-oF?b-3HV`cVP{@`m>v6nxgKEv literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Serina/textures/emojis/black_dot.png b/config/yosbr/config/figura/avatars/Serina/textures/emojis/black_dot.png new file mode 100644 index 0000000000000000000000000000000000000000..32f952e6926fed6a3e8c08e8e28c6774175c72bd GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^EFjFt3?wJp^Vk9@$r9Iy66gHf+|;}h2Ir#G#FEq$ zh4Rdj3FVdQ&MBb@0G;0^#{d8T literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Serina/textures/emojis/dots.png b/config/yosbr/config/figura/avatars/Serina/textures/emojis/dots.png new file mode 100644 index 0000000000000000000000000000000000000000..eeb5df5529e8a8d668a571f4339092e73a982fe5 GIT binary patch literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrOUWQl7;iF1B#Zfaf$gL6@8Vo7R> zLV0FMhJw4NZ$Nk>pEytvXMsm#F$061G6*wPEVVBK3bFt3ruKaWT?N-8k{WU=nquD;OXk;vd$@? F2>^vjE2#hg literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Serina/textures/emojis/good.png b/config/yosbr/config/figura/avatars/Serina/textures/emojis/good.png new file mode 100644 index 0000000000000000000000000000000000000000..df8baedf092d1697de5f940e1c6dc2783271ff32 GIT binary patch literal 220 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGaEOCt}an8@pP0cG|a4t$sEJ;mK zD92YC`j z#ZwKOPu#e1GD7f#Kw)7Zn{i900OQLbCg~MRR5&)uIx#XVd&Kqp=CnOEK*Jb3UHx3v IIVCg!0HohPs{jB1 literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Serina/textures/emojis/heart.png b/config/yosbr/config/figura/avatars/Serina/textures/emojis/heart.png new file mode 100644 index 0000000000000000000000000000000000000000..cea3a12c758ab289a5f79498292947ece20672eb GIT binary patch literal 219 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9k|nMYCC>S|xv6<249-QVi6yBi z3gww484B*6z5(HleBwYwoCO|{#S9F3${@^GvDCf{D997w6XNP#;Il};<@c10|F@rh zwZ_2#D9%_C;uyklJvo7a@fbrGJKHwZAYq9macR1VC*rndsXEJP zDQ?ZWDkSi+r7`#FD^8xC)z>Ty3{w8GWQomYGCIhZBf!k?EmHjUgCi3&fyOa-y85}S Ib4q9e0IvE$hX4Qo literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Serina/textures/emojis/note.png b/config/yosbr/config/figura/avatars/Serina/textures/emojis/note.png new file mode 100644 index 0000000000000000000000000000000000000000..0d360af1ac98d32e264cb3707642ce0cf45d0af6 GIT binary patch literal 223 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGaEOCt}an8@pP0cG|a4t$sEJ;mK zD9S|xv6<249-QVi6yBi z3gww484B*6z5(HleBwYwoCO|{#S9F3${@^GvDCf{D997w6XNP#;Is3uv&MRt|Nrj< z-o88=D9%_C!8QX9KfW(tYRVTpff>0q9O7Qr-u;3Eg3G&LkIdM1I=LYboFyt=akR{05z*SssI20 literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Serina/textures/emojis/reload.png b/config/yosbr/config/figura/avatars/Serina/textures/emojis/reload.png new file mode 100644 index 0000000000000000000000000000000000000000..1f33267d6e9717d41b952588bb05fd8a47c3e806 GIT binary patch literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrOUWQl7;iF1B#Zfaf$gL6@8Vo7R> zLV0FMhJw4NZ$Nk>pEytvXMsm#F$061G6*wPEVVBK3bF@&*Qm+^L+W6E(EufCe&n My85}Sb4q9e0LG6%-2eap literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Serina/textures/ex_skill_1.png b/config/yosbr/config/figura/avatars/Serina/textures/ex_skill_1.png new file mode 100644 index 0000000000000000000000000000000000000000..b5dc5874a51dd100968c16d1d7a1d6842e1fa25a GIT binary patch literal 427 zcmV;c0aX5pP)fVThu010qNS#tmY3ljhU3ljkVnw%H_000McNliru=nD`D1|W0q=>Px#0XRuS zK~zY`#Z@s*!$1(6y|_w|`vE;jc|gFOiwNz$L=`JDK{_6!hzJ0frT}$!ZTUV- zNLp-*($WGo1r0eQ`S$q*k^}(Z&6qxUu`O`%`~m>TvlPRDMHk59lQ_}yo`Hx+;)`i; z=Uv5pB>u)_81C~d{j-3}5&#}n?;yzpN5FFZQJ<;H=nxr3mDlww>}}^CNkrUV>-I() z{5(t5EN7Extx@bV3Gwhdr+%Q}z?PQgGBLvYI3|Xq-L>VbqQ}HZytiV5ZLrzx)bq1` zzhr|IQU7Uci=xo2(^^}3+Dda;_hA>&Msv8nzr%l)SM8}QZ&UNbF^J`Bwx!KlIbV*Yw8+pV5WI8=CiYO`FN)i+qSpEH=h&!C<1mMkq!oct+ zh5r6%q5pwV{B21;Fmm~YVZHpquvY2^UEDYORu7c+gD#Tyv|-*(rBb9)DZ0A48V11O zK9~C*fa~u}OkCQOmmWCq{j%eg-k(b6*cNf`>iur5AFox`b3$L=9zOqKiYFf1SM@!$ z>bduFxuenRY>T)=qu1AXzH}9~MO;4rVrtcx)!Dtfw>bd%`u0@yZn?Sj^zSJE>p8y% zE9q1lYn9O!fJX2@qh(^^QrVhcjR#8S*X4nGQH5%$E`j9%zelTaf}Ja!Z#oa$E&G<6 zZwe1==6tJ+wg9wEx5wUYv0@t?dYaM@;{5<6@zXy$xT*y>{;zZ5 zZ(C)w1>jz6r|08w4*X?=iC-LDw+%V6CN3v0oGMnBEgjuF^YfQEcjhG7_(D-<;NbHO z{r{p3RiQ&ij`R1?Uvuclan7AN$+vk9T$MX!-G10c3cJz59;w(4>54?d6~R$O8uUmyl_e_fJU!?b5z=R z@AMe^mxS||CfL6uymxvGJ8s)@G8LVv7$)Vs-_Q{H<&)oC)m9R_660sbW&G^;|L2*w z(P7i#ffj(xJkXRI)Yu8HbY6O2sT$WBJE0`5Ap^g!^j@v@9-VxnK#uMGHGR`vV*q>& zTm)_bYCv>p?8MhVxAeZU{;DOX(aATo5{UJH+vhESx~h;d{xjeT=rzQNqxJwLk04w{ z_1o3FC{LXhz5HDLzjPSG<*CyGpi@t3%>atVi~JMSeNK zo2!hdG+%DK;xjd_z=fXHn2jV0O0VO+8{Z3$Zqjy3_zQXga z6LO+xejX>3ARWp<2qO6m>VZf*&;k6XmV~?;(c6DhlG7A(qQ(_iL|8(cIkHX)HW>rVFuy{L1 zzAb}#iL#Y<;iEg%qnuQlFJo-ItLmCkc}Ki(gotcmmMy9ya5e1^-r<@RXgBJsK2oh@ zR+`_85Oj?(-Kg$Fc@Q_Zi00dnkTUJ&*p3V7b_jKVwu9~k=?Y2`JH`vUK>Bgy5s*Fz z^^kKP#?AELd0i0d0cRIVFXHS3o@hh@Z={U&0FM>eSHRO9xZa#EMcPsAMdW*^{=n!5 zYcFK>Kc4}UpkE`Z=3CO8u;c8 z$pP?y0kQ(5%q2mnLW{r*FlXX_*%+S$vi65JAOUPQ0PMa5n;-yijG?xgjA5L~c#`DCC7XMsm# zF$061G6*wPEVVBK3bL1Y`ns~eU}EGG)P12IstOd6EOCt}an8@pP0cG|a4t$sEJ;mK zD99588yNaOGQ*@Zb%RVsHBHF(^7#o|)D#N^+K zq+6OB)wpsy#E<(h35N=KyNfR;bT*9CK zc_I>re<)b8IWa6L2%Y`u|Gb=g|F0Gb@FX=KaVT<;Y*-_CQ(zGfgQes$&LeD=(lh-h tF>d&vaFU^GuS20ikWBC51Q7;C1~KM&J(6F})&lKd@O1TaS?83{1OPlHF|q&v literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Serina/textures/for_modeling/bell_side.png b/config/yosbr/config/figura/avatars/Serina/textures/for_modeling/bell_side.png new file mode 100644 index 0000000000000000000000000000000000000000..b44bcc4ad5c9010447da6d0cf41ed79af26f9666 GIT binary patch literal 140 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`!JaOTAr_~T6BwG-r(gO1e|Or? z|No`y4cIn1Ch;6$+VL!ZuSVO1GzO2)7fczJe7ygEZvu}wM@OgGgHI;P8+uPjsJLx< oo3fKhto6jU$)bFV6Ev6^99QpoWv)EY9B4d)r>mdKI;Vst0JUE;5&!@I literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Serina/textures/for_modeling/bell_top.png b/config/yosbr/config/figura/avatars/Serina/textures/for_modeling/bell_top.png new file mode 100644 index 0000000000000000000000000000000000000000..7fce98dcdd95a84bf35a26bb5ff7d72e74891700 GIT binary patch literal 148 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`(Vi}jAr_~TfBawj-QMWm_j-Ma z!#{Xh7-Bw4*N6D5VNAHaVAj9b%`C|&&K+h9OFn)wS^VGryOuJK;w|m~W`|jhZ3lQ5 wB>lE9-q_=?hj9vv(z+MQw;BQsxEdH3;)<@$H0w1s1X{!3>FVdQ&MBb@0P>PEh5!Hn literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Serina/textures/for_modeling/leather_layer_1.png b/config/yosbr/config/figura/avatars/Serina/textures/for_modeling/leather_layer_1.png new file mode 100644 index 0000000000000000000000000000000000000000..cf4aada13a4b457daa9b31d3d3a735073addeb70 GIT binary patch literal 552 zcmV+@0@wYCP)`5fkQcJGC=nne=(fL;I~kNo-zxk2gy0G8Dz0QeTR2LLGD_7YX@zN=sL8dVR| z1R&+4wzeA6DV-^B-p6jZZ>6)|;%wXm0QLejp1lMecKxgw)4cZ*Y`zGP`V9Ra$4w$Y zFQmaDO*-ZVJ3u5`_9aISX8-pm0IDk1Z4WY`c2zqXHk+^#;VykJ0ao+6giyf6EL1SH9Ig- z2$E#n;B1Ad?@^%@gODEE h5%G*bs~H%6sH$^a2tToI_4+R$uBWS?%Q~loCIBS)MOy#> literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Serina/textures/for_modeling/leather_layer_2.png b/config/yosbr/config/figura/avatars/Serina/textures/for_modeling/leather_layer_2.png new file mode 100644 index 0000000000000000000000000000000000000000..abd64e6b2afc513de9bb4794d53f15f5860b47e4 GIT binary patch literal 322 zcmV-I0lof-P)C2ia4%LKP}`efr*W;P{}&k(_|QiVHk#C7=~dO#_(8{ z<;0lh`T7niz_IV=wr!UP!wCS=Am3UWR{$Nu^gR2Xy{|d&X|IGpAOpLv>-r{$dA25b z%*(V0NKgP0LqR3t$&07*+Ys1m5g4aN>D>K);}U+VrJZBN|rIb`d|P57t+vV U)x6I!H2?qr07*qoM6N<$g2$hYH~;_u literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Serina/textures/for_modeling/leather_layer_2_overlay.png b/config/yosbr/config/figura/avatars/Serina/textures/for_modeling/leather_layer_2_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..4faea6d65b021018577bab2b0b24edb8cc59df91 GIT binary patch literal 181 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!3-p)I`?e@QlbGqA+A8$OGhHeL?OyTA<0G| z%R#f)L-Tr$Cnr#Xu_VYZn8D%MjWi&~&(p;*#Dn+kK|?NQLjh;Ux0kiP+ZQEGR$6+H zrEa6KRC3Qpi*4(Eh`w$Ue%-b9`GdtbxHR^abg^tQS)wRy6`JRve_@@M{tJdET1oSEANutbKc` z^ZCEI*M8e^y%nuIb@f*&-zn|~uYe{qFgz<+Si53r*zdI;u2rA1Ni=bP(Y<4~bVZ-I zxZzR;`_%W}e=lqkH@J13UBf%p`u_v-`lOePr!Mz0e2`>M57Wq-(DL9E$QVyoKbLh* G2~7aLiB-M; literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Serina/textures/for_modeling/trim_leggings.png b/config/yosbr/config/figura/avatars/Serina/textures/for_modeling/trim_leggings.png new file mode 100644 index 0000000000000000000000000000000000000000..509e2440789e72a85fe37e34c45fdcdb87ccf18b GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!3HE3&8=$zQW>5ujv*P&Z?80RHYfvV0V-u+*wBCPx1{N@3a#HU-C1krE}gPFYi+sw=hu}7 z;*8{tgrEJH@%_xqP4CXzZBqUG^t+_6c%5{gTe~ HDWM4fe7ZSG literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Serina/textures/gun.png b/config/yosbr/config/figura/avatars/Serina/textures/gun.png new file mode 100644 index 0000000000000000000000000000000000000000..1426be58df221c5bb828707c529c5a4e31d38b66 GIT binary patch literal 1466 zcmV;r1x5OaP)#iTgRY4+!4XLfh?=1zLe z&d%)a%s206-g`4kXr)HchiKad0Fb3Q06=bb2>@{OgITN;HW7sgA*A^Dl^V#zxcKdth3@rINv<3Oa3K#$DL9;Gs))K-yrm631+ z0OfL7Ni0NQ!Z;?SL$XTv-|K&bRx1(+zVGURZ!G(z9W{$eO`zR}?klDA$ZpdkyG@_m z+wPU6MUE+S($_(d1w)C~+mCJ*lecn1Ln6^$Utgzj+T-Yu7PCE!G;)B1Mxk6TBTl>5 z2kb{<$Ip#PK7YD66n93>bm$DwDF;MkoxUVom{b6IP`2j_&UQ!yoVkEn~x`zGI4whHf z@ZyL2(L{PsB9~vh0syFgcFW}!trRwa>H(UKI;OUYBr=EiU9!NK|HV(;nVQK;f7t8A z2U(|PqYgCcCl!1-j@eF&GmHa17bwK!)7^)(+3v1^VVtvqI1_~h3du*_&~?i&5^efMO(^=@u>*C8K(-+n*6IR&j8>gRWL92;YQYz41R=kF#1 zh#7()e0mu@_={_=rG%n9o0K~IJ~tsIz~YS3?P|k zOp0S^Bpt0mbgGlilJ#eRQl^nJ3WQQh;~qeA#V!hG4194<%(G>L5Teaf7*uj!3y1bg zJ6O7UweK_EKYgkN6d{CY6FF5-d@k;=`dIni3_!Dg#_y2ZeAB8!Y|yfUF;a*443dhD zsGRy0eVY(Mtd3(t$4z9ar zsL<-7D4abQd`^MSj%wIPP0!n&zwF--=Ie$o>k|YbWe({Pxs*Zp7FOAZJC3dN(?*gm zl@>rsA~zC%4B${EuDlZg4MK<9M&V`QWb2(@PrUb>h|x-|yDP`uh1w~uq=8#5FmdS^ zlox>Lr=}$G2rfW>{rWSeXR-j>mvL->Wp~*50Pj5`zMg+SMe1A1K~d U6mDT{6#xJL07*qoM6N<$f}9$n#{d8T literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Serina/textures/main.png b/config/yosbr/config/figura/avatars/Serina/textures/main.png new file mode 100644 index 0000000000000000000000000000000000000000..13513fd61ccffb69d69971d1dca96b7db15188e7 GIT binary patch literal 3793 zcmV;?4lePDP)F(**^mOme zKEA4{+kN}q+xMJ%&bjBFdwZAQfbKWmW^r^a2n;uHQ`+@8RaSsA8TDF{Fyr>SvG(OB z>HG_?o6UXzeiFo1S@qB&neCz0Lr6?>>m5YeACaN|bNJ z$^ZasmR@E``<4V)#lL_N<<>S(GJ)AQJ_`VP+S{OlY(Q%VI3}4!o}1F3v+C`M-n2`% z0kq*=(ERz-XH>u{0d~6YM*=vL0VNY9NxW|xz?lrFGi%8^)oadVeA$4Rzq=1JZoU)e zUw9?|V*X7G09snoDxhrJ$@1QP5Jy(4#3$qC0$FuHYn!VI$YTy*$haRDJ^IRq&5ZJd zdehPdVd|NoNR*^(-Oi9@Kont0S%EmR8W2TrLIkYyeZ?>}O(uYk_v#X1N-HZMwNya) zU@PZ6%cjEVlc^+Cz$7M#B&fDFcVAlzN+f%%lgft8Oru7s{YWH1qeiL{5rzbKmPj`v zqco}4<=MQJZ&gFtBB&A&wVswIz>Np;@*Gl|L* zpz?&S|H_8V%v-k?B?-hE-)D4osh*l$I-&wNX|#RqkM{zH)6R8`X)#{7XM2aG`I=WhYu$4&^A@!IdA5Mc}Wk9-3O?``j zd4R2i__iZig00N)G=grcJ+GCZZ^UDcDW{vA-=A)FtqTC;W~1UUl>uC#7II3JrdDuk zyTPw-htkvvKXoypLiHD{$mUZr0XlI!Ii*6w*`%a4=IObT+Q>q~+2mGNOA(K$jIgA1 z;&{@ELx27{%{)r;G8qhW&rs84==(658j2=*49won!v^*b9z@5hMO2;H-PUfdH@Ts(slqv z!7PxHCKAbHk^x}W+}YUv-skX}4*(TM*XRu()E==fnG+a$XI}iaO!a*I%pi<1uyQCtvpt1+p!F>Wo=|Y=QFSSE`dUcC4v=r~E?u zpT~gSGF~Mc5E(F-R6mg?)lcMfa|^$8!yPOu%<1M99w_t+eywl6hpaGnyq)4L_pD;8 zf$PsO%>tUGpF;mA_1XBa-MsNLC8AO*$ZaSWmk}AJwKhk^l}PX*V=}uq0iQ? zV*oh*{BvzP>h&A|_{C=#IqCr>!!3j6Ugpk()i1dcLUVp%Tc2Net}q77y_6g!KqJ%& zH^SA-&{cr{vzh@-0I~!Vsjnd| zyhWgyKZ-{6USI7`g=Ws7$ZUYq==mANsQb_p?;gY;`V&4|yN;b^gaJXk*R(i@K@4IL zgXoXTVea~bS&@PE7BCoK1tgULLt+qy+HX%Yf63gIhLD_;3$h$Yu`qlzNIISXpnK1& zyzsVXTsySvo}U8%{FJjhe8tNiG0j-C@cO(m*Z%Bsy^LvRNIsBaiVp*`0&YEGXoUbp z1}ie;gBw^qK-EA-;*D)+&uHi{a94YejHFKZg6qurT2#V@5he!62U09l)q*qK5MuSt z$LBhBFl5=ve$4*9fC&ZBrq&;Ir)rbMNg3E~hanNGc|d?3Z7D1bNw%wICmG1R^1 zRR(}Zru_idzx|G>BgQ;0@wY{mP(5|Zvts~BWuSPuuB#@(Vnab?>LE!by@iE}Gf0Tl z6L;=nlvn3eK<);`%JsV9$Ockcw=pFuKy(ZlM^=bcV%e;*rjFR<`5t|3_c65tn)Hk@N7 z(qWXX&*!Js=NPY2qQH)L05B4--E&9wXj&`*h(pwd$|sXp6#<1LNmXO2i?XUf!*!mWN zy@=PPS84u`Q5M%dKyAL452RT011Nq98Hra~w=r0OP<|?zjGog7YT|Ajc{>%bsqbV2 zgCcJ&z?m+PAVO)~%0hB72^D9M$q;5oStma04%<#1PNJ*nypv7vsvq@gP(HXpo$`nv z3_IOQKH5>K#YOXc32>rHXjxXUqx#atDYMK$Jj3$^a4|3_C54(7sB19s`Wx ztWh-c`!fn^usz-Est(uQdZ%msCmy}uedpMyZrx2eH7Tp2P#9o`3CErc0NC-x&R!p} zj^-BqIvy{+J;5*W)@v`s&75fkNsHE63AQ0hJy!ICM z#P(nu#tkeRpkvl_jH{bo`mS)HuC5iYzx#$+{C%p3Uo?HR9RSejQLZy611b|0_ET6_ zJK|*lR6!%oP6bXF=Z{GSTy<~w-!HVZwY#f8VB#ZCfy&A%R905uPuEP*ul@YI@Yjc~ z$r-_>wls{AaO(Jz@zJL{O-!(s2{JPT!QYlH&Rw7Dzups%-tYSS>Kj(73}|Xg>jY}p zv}>!XSK08lkqNfMIo2dl zAG*_fz5d!;z^v(c(;{X~4?Vn9defkR_>Sh5++t_eboE((2d{aPnVF4|q4sn$Gc)s= zH%soor4+Ub3G-;#i0;{l~`sw7eg2xG+-_Wu9iVyG`kKv!Ek z6j_EK7Iv5-mP}9>uJWJ?L?KpPZSDFQgOXnjM$u>}=L`D7VyI6T!D8b9w)=$z;Q8fC z1J$cKZDMH{K_>?K-D1y-93JSsFFn12O4bGxa=yT8FMsh*PsUyUjLw@RZLRONtaU4M z@r=1_Jv(qx-LbyU7d*duWw4Hiv^J26jR!oi^Zh(qP|*2;Qu73Vb>%!0kvn$pHa&lB z!+%{lzi#d?T^YHe#{HCu*Y^U(_8;%a{o9SF{{2!QiLjjp8xI{qqu~RmF=Oj6W^7%- zjgMb`FUBvww{QCaM#2kW!uaL);^+|qjvgVDG!txRfl-Ff*}nPutN!f>S#`cpT+}MK zN&x_Tdflx(PT09G{DlHbKv?Jv!b@f?P`6+zYO1PGw_xhPV?a$+6}ndKP?yHpw5F=6 zBpDz%O@mfr=tgWIjPb($BS(6aS%T9nFsjHuY*2Q^1XDWTY=Bh-O4bj!dC8KZ8ff|L zAN#Z)Ak~htUytwK--w!;QJxL#c2R+@RXbD_cz8qL4(>m4r00#GU*e4@zxy{PsjyQ4 zYnhUn1?DtN!|K%AIcr@rDvt@)GC@=!2+=Plm1r3-r(qh#jIG0*hH0LQBD*q6Cwwo` z4mO7Q_lEq$1FV>L$rYxx!iwitxz^crjT$sDio0?2>sKx*Dw3nM4*-vKAJ+5#{N#%8 z;sM3NO1x8E7zj$Z@5PYUh`Xvy?Fa&ZZ}uH7+4DtG*ecM|D0VqtG%-e+Wq5{3;7erwX;% zD5diSUN(fHet{R<&KI~r+y8fpNBE5w41PR4&>0~0bpiqhT2?NJjsa1fFNh-W5eWl| zJzFqn1A5X16dMoN*Z5sg9q8>{VyW1Gh7$w*Zn39|-2V?cfEwMAs6deO1x4dvuz$%R zY3{Cs)rOJ9>n|uf>6D*m*QE3VCp3&mFPjiiw8YO(Ssn; zS}4?B6)*N8g^EWndQlQc4n?U*!Zbl`HgP=E88(~E?Au>Ws^4X1_r2MD-@Na=8I~&) z1?L>5X#xPEn6ErpU~qvDLa2xJ4IncGWYW;0Tm{M%U}jqHlSzXy#^3>ibB>p5OMM+L zT)ZMAq0smn7}>tQf$CTlX`}=FuJi4k7(H^Pi<{v^CNi>sXBN5?001-7NXrZdfRii$ z7>EJ7G6}Lto@&U@6)?g%*E)FF{X#fVs;DXU0fuRsU3D5+W`-1uLY6Y`*O^K6s_Vq% zs^hr=HhYc%fGAbSs$eIkn98tMu(?7p7P)yHBSHuv1J#l6-C!s_&01XuA^MKKYnhN8 z=_9`%b_4*HD-;DK!&Hgek20O#i|31^4EIPnsG6jthrY=Kk?np++V4mygQ%oz{}(yK ziSbmVJME|LrS!v&if~+AI1p*C`*zq8`JBHg0N`uAj>%MtyfAU^7671m`+kq@!G~zQw7<1!a@?cZ3>+A634A32$G$qvrLe@736{ z+Fdp$T2>pDWyLD{K!lxj>TF=UR@-&)ZpZ3tqu2)`>Fw_|0Kk_<14oldRoL>qgyj0|KkX?POcbHgZNE00000NkvXXu0mjf-vDa( literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Shiroko/avatar.json b/config/yosbr/config/figura/avatars/Shiroko/avatar.json new file mode 100644 index 0000000..2c99120 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/avatar.json @@ -0,0 +1,225 @@ +{ + "name": "Shiroko", + "description": "Shiroko Sunaokami from Blue Archive", + "author": "Gakuto1112", + "version": "0.1.4", + "color": "a3e0fb", + "ignoredTextures": [ + "textures.for_modeling.leather_layer_1", + "textures.for_modeling.leather_layer_1_overlay", + "textures.for_modeling.leather_layer_2", + "textures.for_modeling.leather_layer_2_overlay", + "textures.for_modeling.trim", + "textures.for_modeling.trim_leggings", + "textures.for_modeling.stone", + "textures.for_modeling.water_still" + ], + "autoScripts": [ + "scripts/avatar.lua" + ], + "customizations": { + "models.models.main": { + "primaryRenderType": "CUTOUT" + }, + "models.models.main.Avatar.Head.HeadRing": { + "parentType": "None" + }, + "models.models.main.Avatar.UpperBody": { + "parentType": "None" + }, + "models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom": { + "parentType": "None" + }, + "models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom": { + "parentType": "None" + }, + "models.models.main.Avatar.LowerBody": { + "parentType": "None" + }, + "models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom": { + "parentType": "None" + }, + "models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom": { + "parentType": "None" + }, + "models.models.main.CameraAnchor": { + "parentType": "None" + }, + "models.models.armor.ArmorRA": { + "moveTo": "models.models.main.Avatar.UpperBody.Arms.RightArm", + "visible": false + }, + "models.models.armor.ArmorRA.RightChestplate.RightChestplateTrim": { + "visible": false + }, + "models.models.armor.ArmorRAB": { + "moveTo": "models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom", + "visible": false + }, + "models.models.armor.ArmorRAB.RightChestplateBottom.RightChestplateBottomTrim": { + "visible": false + }, + "models.models.armor.ArmorLA": { + "moveTo": "models.models.main.Avatar.UpperBody.Arms.LeftArm", + "visible": false + }, + "models.models.armor.ArmorLA.LeftChestplate.LeftChestplateTrim": { + "visible": false + }, + "models.models.armor.ArmorLAB": { + "moveTo": "models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom", + "visible": false + }, + "models.models.armor.ArmorLAB.LeftChestplateBottom.LeftChestplateBottomTrim": { + "visible": false + }, + "models.models.armor.ArmorRL": { + "moveTo": "models.models.main.Avatar.LowerBody.Legs.RightLeg" + }, + "models.models.armor.ArmorRL.RightLeggings": { + "visible": false, + "parentType": "None" + }, + "models.models.armor.ArmorRL.RightLeggings.RightLeggingsTrim": { + "visible": false + }, + "models.models.armor.ArmorRL.RightBoots": { + "visible": false + }, + "models.models.armor.ArmorRL.RightBoots.RightBootsTrim": { + "visible": false + }, + "models.models.armor.ArmorRLB": { + "moveTo": "models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom" + }, + "models.models.armor.ArmorRLB.RightLeggingsBottom": { + "visible": false, + "parentType": "None" + }, + "models.models.armor.ArmorRLB.RightLeggingsBottom.RightLeggingsBottomTrim": { + "visible": false + }, + "models.models.armor.ArmorRLB.RightBootsBottom": { + "visible": false + }, + "models.models.armor.ArmorRLB.RightBootsBottom.RightBootsBottomTrim": { + "visible": false + }, + "models.models.armor.ArmorLL": { + "moveTo": "models.models.main.Avatar.LowerBody.Legs.LeftLeg" + }, + "models.models.armor.ArmorLL.LeftLeggings": { + "visible": false, + "parentType": "None" + }, + "models.models.armor.ArmorLL.LeftLeggings.LeftLeggingsTrim": { + "visible": false + }, + "models.models.armor.ArmorLL.LeftBoots": { + "visible": false + }, + "models.models.armor.ArmorLL.LeftBoots.LeftBootsTrim": { + "visible": false + }, + "models.models.armor.ArmorLLB": { + "moveTo": "models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom" + }, + "models.models.armor.ArmorLLB.LeftLeggingsBottom": { + "visible": false, + "parentType": "None" + }, + "models.models.armor.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottomTrim": { + "visible": false + }, + "models.models.armor.ArmorLLB.LeftBootsBottom": { + "visible": false + }, + "models.models.armor.ArmorLLB.LeftBootsBottom.LeftBootsBottomTrim": { + "visible": false + }, + "models.models.gun.Gun": { + "moveTo": "models.models.main.Avatar.UpperBody.Body" + }, + "models.models.ex_skill_1.Drone": { + "visible": false + }, + "models.models.ex_skill_1.Drone.LauncherRight.ShineEffects": { + "primaryRenderType": "EMISSIVE_SOLID" + }, + "models.models.ex_skill_1.Missile": { + "visible": false + }, + "models.models.ex_skill_2.UnderWater": { + "parentType": "Camera", + "visible": false + }, + "models.models.ex_skill_2.Stage": { + "visible": false + }, + "models.models.ex_skill_2.FishingRod": { + "moveTo": "models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom", + "visible": false + }, + "models.models.ex_skill_2.Flash": { + "parentType": "Camera", + "visible": false + }, + "models.models.ex_skill_2.Flash.ForCameraOffset2.FlashCore": { + "primaryRenderType": "EMISSIVE_SOLID" + }, + "models.models.ex_skill_3.Bicycle": { + "moveTo": "models.models.main.Avatar.LowerBody", + "visible": false + }, + "models.models.ex_skill_3.CameraBackground": { + "visible": false + }, + "models.models.ex_skill_3.CameraBackground.Background": { + "primaryRenderType": "EMISSIVE_SOLID" + }, + "models.models.costume_masked.CMaskedH": { + "moveTo": "models.models.main.Avatar.Head", + "visible": false + }, + "models.models.costume_swimsuit.CSwimsuitH": { + "moveTo": "models.models.main.Avatar.Head", + "visible": false + }, + "models.models.costume_riding.CRidingB": { + "moveTo": "models.models.main.Avatar.UpperBody.Body", + "visible": false + }, + "models.models.costume_riding.CRidingRA": { + "moveTo": "models.models.main.Avatar.UpperBody.Arms.RightArm", + "visible": false + }, + "models.models.costume_riding.CRidingLA": { + "moveTo": "models.models.main.Avatar.UpperBody.Arms.LeftArm", + "visible": false + }, + "models.models.ex_skill_frame.Particles": { + "visible": false + }, + "models.models.bubble.Camera.AvatarBubble": { + "visible": false + }, + "models.models.bubble.Camera.AvatarBubble.Bullets": { + "visible": false + }, + "models.models.bubble.Camera.AvatarBubble.Dots": { + "visible": false + }, + "models.models.action_wheel_gui.Gui": { + "visible": false + }, + "models.models.barrier": { + "moveTo": "models.models.main.Avatar", + "primaryRenderType": "CUTOUT_EMISSIVE_SOLID", + "visible": false + }, + "models.models.death_animation": { + "visible": false, + "parentType": "World" + } + } +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shiroko/avatar.png b/config/yosbr/config/figura/avatars/Shiroko/avatar.png new file mode 100644 index 0000000000000000000000000000000000000000..d48f414de47a09272d39cf4e446bd8c591075d8e GIT binary patch literal 24872 zcmV*hKu*7jP)e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{03ZNKL_t(|+U&h&jAdJP9`>z$ z&W)8rS9e$Eez{+o^kzsgVL*yBELoI9(KAC1Ndru#1O=EdVNo_MN~R#dunpU=0mA-c zK!5<*Fl5e%*%IXe{{SHC`WHML>^&;Qy~w z8Q;P28n0cff5`1UDFGT);U5eAc#YTal|fbs(5MOjSn$VdybezZ(4#E;<=_9`4tyN0 z>tb?Z0z?EN!qQ`p+&1&z%DB@pg!%FajXJEaQu*t|$Wl3jh*;0FeYk zfLNy2000obh6rFz-(OO{Fo4&~E^fO5{o0_#!&_>+aXp(_D;)P#Q+LZ4lQ zLID%iDu@Um!m;xgaO#;$SS<)#F1h`c2Lm7N1egz%P_qC?rh>2TB9l-umOhutzQw%8qs2NJ>=x;uSd8 zZ=loZU=(rXD2mWw;KzUVb8sBjP{yXB>#e_&$6w#0GRP`{BU1qT75+Q~-(1B)0ac|0 zNC=#M_IWIvK8zC}hY5e)f^R8-Vi6P7YP{JT2j%CUh4=Vls5yi| zcBIUVsfaTHg8h!FWL)$jWjQnQp|&?E5iOEPeLv%)nu73p#l_A5C2%~DINu5N=L$o} zq!pj^5K=>;V*ymwU-Z`%$@jz|4687J(vT)2@V2LsgaYaV^mC-urB+pluHz8=K;QvyUp z?pXNK<@-K}2-QjjGK$c8>n*gWCV=IW1Mi7P1ka_6%xB)=07V8)`;m$Z1egrmKw$$# z5lc?&YP0oG6OwVsi|}UIL8p)IUM~nZaB!v*#UGit{A>s~bp?c}5@1`v=L|tk9e#a3 z^#`({M5o{fDw)z`WiLiHvyVftEFyIgz|U3i^BT) z?%w>6n|7_}U`>H}L}}d5%H`8Wj+C2iVzr4i4ke!NL~sUKmx6=!q5~GO^^}N(MnJjM z8PF|py+v{klx&Rn=wfJu^f6gBol+e_${LYY6|m4o>WMdy5&x6nl~6Z^L4Y7q=VXKt zo(J*rUxJ%0_`d&0pz{<(kYSKq?yesw?4#dL+acVTD1a#ii+_Bhws#QxC}aOo6Mn4( zd_N8WN+nRoL-m_~h2jtX07?rBs5yl802kZ^@I)sxTw6O(CLQ3h@i=~6Nquhjm9n3h z3niZQLcCLQ`-UcWN)AerG3`qb2$B*ZA{%NpLKbOSZ35=Vu=vWt6WG{vlqL_9_DWt= zAp;9AU_%oRkXB~ER7$BL5K1{o04>8}2_{HlFar;+ypPVt27KSgqf$&-6b?>rHF18* z(sUR^oQqMXNx4Jrj)&D1_ZMLFopwG#M!+zyNiD32`d5+bg1shZJx1*rKxr_=NH0 zX0`(QoLDOfsibB5)(zCIT|p28kW%KhAGWu)&}=k@=K&C5tsvmLgi^>TM2up{C`3R( zG8`G7Br&WX$QT6F4x)K!6_)a;&8^W20d{NsM@9HeC6Kt3e!GPa{^~E`?$q&gCxqMQ zj2OVZf`he!1CW89>8&g+;14P_SQJWtGB=jdJCzSGmV*dqgZ@Z&NWk?<0ZoUrQZNNm zr`S0CJ#jtfvQkV&B%<=xY!m=6GGIS|Y8DISq>{kE8@M+xAq=-avHo#=f=U$vXl>W9 z_Rd=fg8*R|=C%)7%_hF|#V@3x;V?XaLIGZ@iEGsYngz!IJJ}2jHT*$j% zQwyLrnN%8Qj?e?V$bk4-39n-r@Qts39ggdOr5tLQK}7KHuj=D( zJA~U+S9?^lR|#O3Zj7(IS+!{j^lq>K_o#(yl&!xdrc$EOXkc=35{~1bwY`N~m*2qI z7e0buvWzWP^i%{P5w27Vc(N75g&T|*8(;~LKq*lUoD_Ai0^IEiFtTxCD=uIFMb!^* z-;J$EJN-!ecvKdH``{N7L}*CHWFYOhMd$00{>w1j`NUwUJb+PPR0YsPs>G6-fouh# z1rVy|J4h=91sKh(2Uz{yn+SYA*SLRsYYTt+)vqE{o*y&o--o3DWUCni$BC!o3anLK zEVV+NdC}NFwwO}=-qbY}nTpR{miW0CuiYyFW;B{jOifNg2!ZX@RowaBWt@58MNqYb zxTBU#Bdv zQR-bu@Bnd-!&4lf8nLb+unLI`Z-xvYDn2eU_Gj8RK$OKpVi3_dRU^DH(}3xFI`um4 zzV<4jFw8aX_dE}O^0lvGYpZ5uHCnA!d=G|DKubj6MhnCe!f?cQiVlhqW6ldxJjO&= zEwt6B;A91uvZ|Hf-Gu{38Up;}{gt6w=(~6BT_S4>JqZaUTzN#|ht;%Zk7Fhi+YD=xN*ZYK0%BTXCsp^?oEb6UV9)XjeBAz{FgdH}-? z->zM~f@@c=;0J%`hvB;Uomvz{+7lomY~8zu;=}|lJn;lJ3o4E?@1EhhH62prtpu0M z*f(+K2^GnxL}_zaQa6+cnVn5wYXkJj8K%|*aV_~`CqyL_mS;I-JYWVQ0jw4r1cG{= zOLp`1fG2Fl(&z1cud{J5_17+AXXS3LpdSESyK)7uy!>*{@7P#h8``ENA_x*#+Nh&4 z9ru1XoVr7TSx1UC0GrlO=rEC~dmq58`W#UOFl_gO0et)AmodMvfM+f}3n4`AN?>wg z0)WKo2k(PGSiX1>j&LC%t!hB2&R9U=UfIQFVQ`!A#dd&-j3r+SKP7fGzVU2^4pxdT z{&$Y-P#|rxiC;ezNUanWs7L#-0^#ly9E3+m9pm4=gVy!y2*WVfVxP^84gAShzuNaZ zHa9jfEY(9q5JG_KbyOy%(reDFs~i&xO)eZWqM%=u_{nSmlD8IJHlc(*ag2? zb`gjKNl$Myvx(r_X~kY1x_yT^EwC~E?e%-Irb3C+UU+1&V$^7$^~!e;dS32v|JVNb z%V@WneP7dV4LJlLV6#=%aXn`$CZ+0!FzX5ot-7Vz{lmvTLWAPCTGwNx9i#Le$r201PkPM(T2HVkqQwJHKw?t};{ zE_V8md<24UqwL~hCxja%nKR`9Fk3a?obkF7&yWDjF;MHHe3NgUqruiawa75Js*Gg@Bck+-Mo?expX{F zqr@_baPxbYvAyvCG85>OjGN+uajFxc$b+*7cgrrMvc5^3fYt|HId$q1#yQa)5+qN} zP;b}NR1AV(bQ5N*Otw_DtAg10W9+%2k|`%hU#pOR2DWbBLG8vh_@0+vC`W|V)%*DR zm%qI0@2J;zhW7P^LIIsx4G{s`l{n;M-MN`IMVS|M$GrAT5KOk`rgO?igTsy7VrG2l zi(kNEq`p~>dAp~4sVy+orx*Y-{?dr37 zG>l@OIL2pHDHwx)((DRKt|#x#1^iGH0(IIQeEExCz~B7ozk?GePv-hv?RFakpj0X$ z418RB?NvPesUJjndO9ZhG|Fa^-%6px`AFKNkX=$lST8x)F7(&g4g<^WAZ7=K9Tv36)dk_(DzvAkq66TC)mPmbhnNc!*YJ(Fu-+XK0a_Y1br=*?T*Z}Es)`e?i zQ;#LhL{duJe*L@XY;Wh9?CPXEJ&Jv1dNtZv*3zploi0?e|3F(8{ho1Z(wU{3wiUQwv9GouhqnjH@=Hbvyt-R zBo%XJ7oFAgO*Y+&vhYh@gy~RXB9xdkekMYR$w;Co8QU(wa|j(*pyLueSD@nxR0;x7 zfe;l0D#iG@P9c6x#}#O+*L7ThRzV%>+Y>v`0^iq0YCL0{|(H|&F6|eBbL^+vfFnP zcmwuG`q_-hR)}I0L3ijeYw$Kn9ZD1NXX=|BFo9`SroRIMF{8eUM_zz$I8rnl-cp0PwLbajW+grH#<{OCG z?No?F+U+Ja`lE8Zmj9jl-lS-ugp7$gNl7C~)gwTF8%a#6h7um|BYQlTT6jXU;vy7| zu_*_!*e1jj+-?2M0wxs{G}UYUMick{;uQp*H`I>1thGIN?i8k{r%@;rbPWE{k9`#X z{r~(w;)j0hN8ooJPWTZ;(NMDzk|m-jur8!fAz7&AF%T2#oD#>TObToSm1fixE7vbR zqzLF}Lx3S$|G2iAcCA=$Ub~L3edUkQ>2&f}0?npY0*wdjxc0_t2>rld-c>ik8k>{0 z#CA32D~exM342miA|wEkslspriLw{Lk&Hs0A6GJ*0Y3oHDG9I;h=hPt|3*SUIsy?1 zNI{SyevKp%D-8A8_=g~!^l{`6nvMWF0wEZ8-uN#3c3kX}mt8n_;S4I3N>AZEf8jj- z@o)YU{K`N0brg!lfu9ou!=)V;!a<;moKiI$s(fqAnieAiP1QhU>sF(s%Hn9)oq!!$ z2w)Zg{jJ7!pLEc{6u`pbF-Vqh29jo{ufO)e2l%s637`Inzpkx9E^w!mXsW&e$8pfy z+`yf8-@@rj&%$-xbn=bK*dvVL7&6n^X-tK&>OR%K$pkVmq2fiT1`(>J3Nfy|*Q2di z_OJ{=!9ly?4*SAj?Txq5Twlu-^jkWApXR&;0 z8UN=0`Zu_J<7Q8sC=5abzK>F=G?Zg=gg_KV=#?MR1ztL6B4dV%Nh4!me*AD3+Z+gV zL>@qfA?66ZinlLc#$UetO*l@zmqJR3W~-$w(B_@nxcSB#kYT7Tz0@wCa-(G$CYT9# z%^W1UrIxL#<9HKP6+p~Jw_tMZi#V^5TVi@ZccvZ&RuN2`(Cb$zSU|4Cr&QG z>%;{`VHjfd{wivlwJwE2MEH>(`%(P!-}_xW`@(ZQ6@c$~L-iU9g+g5Hq#2SJA(0hU zQIbhvMuY9{QGKTkw;(MWA4MoW4P|$erp$LS<0CJ99H0I9&)}I$Pvg|-lW-g-x37z$ z2+f2`0KoRzeXLx$0#?i~iJ8|8AIiF$blE~C06VADFA3$KOu(V68%Qws6dCb2fx8iV zQz;nx$O$5pya-Oja3Y4t{J4RH8}|7z{zidBXQPIdzxp-;FF$6VVzGep7teHc5lSgh ztJSc+wvI3eyOhB4@-qJAzy3Y^jlcb$bSb8A$Ydl!2y~i_6d27o_^h8#!M@akGigCn zMrm`Fz({5RN#+f%srYV5lse%5)gJexcka02s`;P`U*ifb@~K^5b*kddyPf|p66k4 zaS@fO9THS375wtA{R*b0rtts#+kdBzGY#ie7AQbI=2P!#|XVP|6_B~dlOKF&>AAEoZH?Kn) zLM{?7K(e-K$z&LSV0ouTnQzkORkfz~Qab;$$Bcn8nE;c$=fr@`BQ5;GW~j{`S_^~+ z*RNso<~8`fpIh8NH$RKxCywnJSY&2wZfs(8b+xMofr#+Yk9`dP!~gO>;Rk-`2jk)$ z9^!Em;CI?_RiI`4sf!}bWRGg-fvrhHSZ1EYXg33q&OaY^%>UDW@9*Nbe*2%Is>Xl^ zL4fu3b@-kK-}h19iCdIUojQrrXO?q4oFEL*R)7*qiIw->!N%QN>4lLT3%@Y*yFlC- zXm;r62_K}x03aFIna<@SV{Tj!Dl}IbNJlPe@>_Tf*`== z<|ZNogz`KOjd~2qET1}w6DOB)Juc7l&{PFUGKz5b?YB_hcn}Mdh*N_C=uQP%chF$- zP#J@25{om8vJo;SPqED-$Uq6g=p~UxoxZ&XWhVKMEl(AkVH#p!C-89V)o;Nw#;pxM z?iViIM0KvWA00L0w9^?$F zR^W@XGy2v2ihz#J15o9!bVy3TaUA^0-~V;|?B_nC3q3r~!-Ms8OZZKpY&BaDf^hEq z8JswguM+TmUt1j+MY!?WtJrz4Ze1{`sse?~q=2Mt9WnvCMu&C$4no%)P$C^qQa|?J z9-Br$*Cc7HFO2;t4NvFhcfNxlM`jso8K+ih%a zYz}neTCEnE&1PIedf^O?pE#E5adwRSaumc|0`&(QNNBl*8jK+mNlRSsEE_~({WEbU znJwaJok>^EQBkq-ScJs`LICuJA@tvvf!jB)q48inSI}>6eg^aNb3?7wuh;8Xxx3Pp zMJQLwLsbAogifoKPH6_L9J%Zg*3|Mhbb$vc*kCZ{GGz|@XgmP3fh5OODwpt&f9p5# zlRx!SI=|m)HnCN!?Fz_gx7z5mI}k$P%-K_zo0~zNP*L?XD3eg?BP3`%_cgX4hn?=9)I#8 z=I3W}y*6eWvEOdv%C}#!m};eg1xRp8^Q~a_s<3vJ#mUDYE9XaK0DwrFrph8I9Fjei zchBE@olCurYu|evQ55A??Bh5N&YV4kD2fn;`6w7>#>RsUtgo#@N(skt@a%KX;K`>R zA4&zO;|Oftzo&0PEcBduQ(Z(cW=hbk4&1v}as&z>wKi_4G<@!UX3Wmd;dlPK-^H`f zJ*U!NjP31hH0patZ4tc{2@=w=BP2IwAqC0!i*9Lql!<0NdhE$=a3tj{QTU$ae+difY#1Vd{6b1 z7t(A$!V+@B>ofPKQ5P`U9)K=h8~&!4nVH7F_}9OO)2C0TXzu3bP*_};89UoM2>bx0 zatTj7^%#n!Vy;S{)o!OoB zSSsSxBXYr{Y_yo%3(jFCniztYIP^ziEWKrfz zCY2sk%uiO|Zz}K&?nUb|c;&Ktc^4{KBCT5=mT;avb1I(W9)_rGZsyWxBBjLE))r=F zW>B4|;_0U!$9wNyK@j8va&?U)zkd%mNZ{Oa&%tpD3KuZg_l?GzCuV2oeNJH*APfVPTvy*ep%|D`)@9TE z?>~|C3$qVr0?JhZ40Jg-Eg0b;h5^SP=p2`P2zaPEMfH?u^VaC0T+_yMx7Jiuxd)JV0RV8& zmU|+?`3q-p=Im*7Ivwn6Z|6P{IP3n^cj}m)na0fQbWHE`2w2faaTQAioIZ0Bfgc>| zJ>Ki`JP-F)?x9kxqP+(Nz$_6(VH%RLss&IjngXonFWB*((IY~N9(*sdc=)OkY03Hl zzTI&gT)21+=gyx+r_;gq*4B}1j35ZGv%T|3xX+L3VrHB@7iV_z92GXK6-5!Qynl61 zd%_U{p~5tz;!=>t&`+}%NUElP0anJ8HIwjOCE)Nq0Hc$2zaD_&2t4uRMJyd(LcLz! zSAoy4l>j&QhQ5y1-ZqWvIDMIYMs00u)X-?`jdEU4Ob)6?e!-Z(p!z_RHq4A;W2-A% z@CYja>p=JE0hCH5Jofl`EFN1#qh3e7ULT2@9$O|F%W59tPtfJqhyA^_Cz6Jq{R~dM z-o#dI?-PUzg#x@z$0qYLMzKjyJQNhESCGz=P_Ff(-~kx4_j-!W?k|#yXD&U7>6vM4 zZ*Qa3Y>uU4ysS{6TVT2G<1mc$dzcxWwr71-yWP<$T{0tzB6yt+Hfx*s~c*^RPod^Phw)C zimh6$i?wCEM#o*xBNW=%ZlF+fEwWZ-Mr1tBHUveHM5rHgSE`d?&tBY36`$w%sMWT* zgj`CA^|g(C<4{5fbn10$xUcT?V`DHYl2khDegUcKxy?Z{N2UNC#sp-|J=??Q&dtwZ zVxo%8%}w~;XvTs<5RR}g?fZId)wXj`RkY`*jfiw6!laO2U)wD=y%fR4liF#p}l#VMAGc<|ssZnNWt5ibhi00_s@`hC1y z*G)ojy|%aO*x6|u__MbzlNMK^Jn}8t!e>f4^ z1l^Sk&r7-Jq9}sz2UZh|c>|eEa)rdpvPT(>i+(=D`b{<8`M!^Oy%q1Jp?ofZNFWS6 zluIQI?4=<8h+^#oJotlO<2!w1eL71MFA`+FnH;?*IFn~P1I1EGFTUoUb zS0b_yS+m!CEd1j&d?i4*ee2H9OV5Q6D3nX8tk;aC*dm5aG=kJr&ulOUjjRITt}mV1 zXXRWJNvy3t$ZfFXc#YTYck}R;tJOXbu?$I5b|PvxFe9ltaXVVpo6W_=%WdiVR>c;bAjCz?khB8qGGl0gn^| z7{~-<#w-j>0XS&QOb~=vSy{#M@^J_uj+7p1ygoecf3a9Xr{fL9_$)pB3`&zz5Fk|N zW>v^aI;|%)4On9B6{#+h9v+fZ0KPoCw<4gSD}Y`3OgvmS%Io-8xw{6(6&ObZa{*Wp$=cF5}Ge9{~jExIdYhVKV>fYCk13(&PptHh3V9*aI+^Sp@Vqn|629 z)DS`dO9^;hJOgix_dUWFMKTuKRPjAKiRt9Gjp97p6ji(zjVKs?dvAk=fy%cn58xS*|hN(7ord`e<} zifaOr@6ML~(!orrdq_J&3;$FSv`7LRLZwncv)&j>&yX*7io0;1KlW3j+&gsJL(tY~ zw}*~fjtUM+L z(1y6zpIK9drxk)Rcc2_K48Xd`Opstq2}&)D01%C?3dqKc_7F&d>pE6wMkF*{xK%#f z!`;mmkUUI5IF8T*P9KGpOGbv#)q;D}Yd^gom8mHlJ9P#{5Srk$J)T&{{fT(QUH~ik ziA#TFBJheiSP=B@BdY+UL3K)|5}>2AWYub=%a!W~6b*XL-ViY%#jq>H#=QrlWf+8r zf27>&eIY#dkx!slE~YU*sLM@G`TkO&kHyCr?QXRR)4m<9LrVirE2p2+RwfV#OUtL= zcRBzO+RY|5*Vhl_Cc3UWQr2X=9-SqGK&e!Mv&Zn^*tzqVKXF_O`ve%xO#Cm<-8E|s z|Il6n8xtBC3*v|sz(6LTgg`;qtc4^9FTC^#Bsq;pM)>oud+SYR04%!0U!N=A3(8GdNema#?42uV$Ww=u^g>XNbaE= z_{7D>F|)9!^7drOh6QvOze|ciKa(CDMDf57kQV-h18lim?vzyo)Y`GePwR+BWFw#W z(cJt3o_O|I^W+>Fhs&G$R0|1oXTBCd?hsPUas12m+-=%pl3> zV+LM(WukYW*%m{Mo{M>IXz;4oj6La%8cKU3lV2{DzOcE^h z0wgkSzqXI5XAsxY9emdx0tR4Y#MO~Al;xL6Y}ez$O;6&5PkiE$vm`=L9+&Wu(r|f2 zZ=(|iF_?FEOCEdiV{y$0(yTWrK{jheCc5}COkmJt)J`|U0v){g{ZK$a(kcsGSb#+l zEbYIYTt0=TUU(rFU@fmfqIsnjdF_WN!LSqDMsEH9*01WgB)R{_KMohr_8aO^ckh;In}R zkRY&#LjjIqPW{?qxrCQ~_(xDEmc~2v5ekKJ*+w~JZW1=${aLmCVDgCz7cez5YrL31 zsws|$HK|V=8nE>`*&{3LP(!&U$g6Z=rwM*@HoZ2-a~v7uG$ z5FlCeW(om}|8HjROhAX{0SF^f5hmGLy1hw-2domFl;%F-i^Ra$$1Y;&)TxmNlmz7i z0**0&(OJb}Q4f&e43;4I zJcqf=BA}md@1(K6=n)Di_Cpp514ujr!{>>gBM1`s=%+q~DWl|ZygpnjFBQ1gki~p` z_LwGS=Wy)AvQ_CzrpLgnx_qg}AfNcvlU*o5iWJO?tmDsvj*|{u0c39&nNtje{nsQB zLh49Zz)l%TiVKI7awwOpc;Vxp(7o~FHNv4#9+{gc8u^OIwY61_tsKB+V0iFroUbIwB;RjNE=&u6Ajo!wkm3cb2cetqVjNpOiHlD?g%93( zYcxZEyz1b`5kRgAYp;7p2qzu~ABGSVQ-t|}kG3D+#yjtTWrU9BQ}LdZ@j9z6vh)Hx;pYTA>;!pDk%6C40a=#$qQRf35Z z01%#e@kMN|uVZ6vZU4GSHF6BwQsvhSG}Zuvlz3L5$85jmW1D3uiqglOP6wXnS${Ws z{d+M7FDxvAh!8~*QIt-ps<zsknX$gMic=RZpinC47$9cxBKwvS$JhXyg7LXRlkb0~&D}*3yZEb6TG=)^k$a)-Q!i8abe1jByLgOZcP#Nvi+7mH|NxSed z@JCi)oRkeuutXaIk_hu%C3HL#vyiI-2o)7rLTV_J8_C9GVCCO%#-Gu{Q6mBi2BH`Y zL=>x%iP?EP@%)Q;>)YQN%UX`{`=E^;mp%(ipk3DmGoxCm!f_lpM$fzu!g_u7vmfR? z`M!^>t)1MeIP!V>&M5hz4cm?x3o0cnm@rvhc%Qk*ackpc(V5qSEA7f@SULt}e;<e)LAsd0 zq1R;M_^|=t2(vsSnQp8Urf^U!7IZY|2nWSdaiEZnSN94^MXa7XjoRV@rZ#Fg_x@F* z>h4f{fF7G90lw4dJ)P~58bgnzG9>9IO@h(TJOS~)-2^$<3?ix1%VbyDH&lH>c2DFY%pxXu{j^h|G zzv=3e?ak|rOWGq~B2^q@)B`4S091TD3==j~1z;8d{cNjl34B6eD7&he4ENr!h>&UB zfbaP+P9T9W3N&3hGb0Kkl#4|ypF4*;*RFLjwMrTFMR%Lcmi4{eGc@*YEz0FGO6Ahn zD(9pCcBA6MV!;yrSmp?8%f~UfxdrzShe+POaUIV*|AJlLuOyy10R#wWop{n+)<~8oVA7+$@ycIedt(y}Msufbm0$YaXk`ID z6ywTAd=@_`^{1b(p6^sDxPSf(PQQN@hc!r&S@y8hq}jX;4P}P{Ojh2^G*BjU z@Cbu|$wU+7$!iRN4Bqqf6a@e&*bWJlXAngZHda?3iOu(@Ak^R2i-3vRHs&5|ptiVR zMdaHHbC{W*!&Gf6|HCj^cDqS2t>9lr3SJVHD#B0A97GhS3yDzyp*bWdBga5Ao@gQr z6hn}O?dhS27EOTJFOW0`jfZ}Y7xq?SOw3riy#hDWLM(;A>e*$;LzoFsC=?JSAt?0# zDoh7ocMT>5OiAGo>2M)wCQ4>)%28GT+RazshSass25@ExKWC1JbXDNE3U0ho1+e?q z7uy{izj?Ro`S!#F)=wTklw(e2Tv$N3#rgwX2b@^{?pZ-8bdcE7i6QaC<>vudh$pMT z2Ikze6d24hpIRh%5-3+E9+^$L7q0m6%74wRtz&wtJ4O89)CshvCl7C5D91KSie*Cm zjO=9RRE|g$|B(5|A>bIf=AtB}ISz@K#Z=fTU2~qNqmYfOBjdPXW^Q)8lgDd+c1TJb zyK@gtHWY9iteswl%rPCCq<&3ePnqcejMG^P`G-Xu9CrqCOcua~l1Sb+IfNkKKxaR& z2q;l!Y{dIacKIUPUO?&{m|g%MBt;VIb#@d;kLGAcrZmpKC z>q1JY$Gs<0fV(_p(lbHq=NYOPh*au3r4l0mUz(ZIFW*lQP|hI$rCxwZcBnl9vateP z;bgc-0uXX2CC`Vt#vwqyIKY1P;^N)=n5;LtWN-D%DR>jr+>ST!eMDiD?sZPX;KWFJ z(ijY4@&k~OE=<^j*tD=iP^iN?(e5H3P6r>7byjK?x=INW>ui8D&t9r{NdTpC<&hG8 zv(E$l(V5oZ{IR?&P0$L5(MpHjDiAR;P=q4ENsU+#p z6+rfsDHG>|47c6{{8g-zye0t$g&^HGFgY_l-ofK_;5E5f!|X<_>-nw4dDQ2Jk28^B z_;e4Ofpbf!h97#EKqroa(Kb9JeU*;_P(=<&-*c+Q?4wSEKB@Y(HDuaJI9}tGEQ=#x zAEChU8@Ewzce?(xa{erWVsXfLg@BAgL}379I$oEoWcR*F7iQE7S>XYVav=~gflX$U zWTv?p&?xucqzaV83NuJ%qY)l8XPSt{)qr`r@&`oi-5|iyz16O+z@Svb`kCQ}0)gkl z>vVKss|L9V@Df}ss~8O4K+^C4_v8^ANd>@);wWZ6G1M9vn#=0{Q9{p&CQPlrKup8@ zC@tUj$C5h2YkIYJZNTQS1vICITpM8Uc*@MbTKKahznN?}5ElsLF(NW241kOi=QNIC zGHK9YR5qxzfBHZgBqFZsj?00^%ZRHF>Y*~0uib-ji-_g+^h;1`S7SU%AOvQdWU#dRIHt_#<7Q7E`5luM|eSVFN}La9_jxm-fIQbrVp z7U8HJ_p1(Bri>CW`u+*#SmB|UEbO}*a4-{4!g8wG8+6=~5+Rzbr(G^jk}FkT;es{Oi9Pu$rCuyY@uQh&JOZC+Lbb{EuX;lL>2Ph zDo(9$==Vfnh}Ao{fiTjRacgG>t$H2xRuiB2u}>SgSEf>s(_?}jGZz2;rP=+D0~?A0 z*v(B!aX+KO$!dc%Qy_5y%p(aNf`~Tm7kb#>dJLoeeM~{?Po{e`srm{x_UFEr|YpK5pFM^!20Yo z0>=RXSXo-cY@>+@m1&S+i1)txDpsc6x856s0k)b=y!4}=?$Tz7XMhY1CUWqEhoS(i zBA|9%DJ?@!GZ{*N5gD;Z!id6@G!3PyPZCg6pouty_RSBEP}*^4Hfv!DUDl&vW`v>C zLKsC6f*{n7gCMX9p`uI;{-{++7TX;xuC8JA)Jg04dbNVJ#W@^*u-VhUZBABkYz}-)l(<&)UB9PU}tI)S5BXV-)A-@ONr`E9p`S}#f;Ip z$9?KTI;|$8l<~ZTUb%hBC0s0DP>ju79X3>7%|TS}mN|-oZ+y^?ZAJ3ilT0(U_b>ZL(^lsx!;?apuknj@O$g z?$uZ+FIRFr5Y*)RlgW56LWW9jWEFr(ct}PCFr|YJlxHAyVPMRTYGy;+g!)%$lR~l3 zvkEMpb1`_3g+2VjzB!#vCzo!}F*)cXwj|@^{dH_kPM}jLSU}&+LF_?Mgo(`>F5X+k zB&e&QXL529VGkB!B7!3vT^(pn0~Y4=JW4SEsp35`L~l3;1;9qyA}wK{#3L}<8jU$= zsbcFf1C0RJaZxT0w<2(CkjKmP&WgT|3oG~W&bc$Ydr!TN$L_CVvDJptM<^NG(-i~`!lEDUnvkXKS(eE1|oW>x3Om-8LmAe9Ny?aObJVaPz6h`wG9)>2x&t^V2)IMJOTb;=X+&gy$jhU&w zF}~YuV)@=GPPIB90Obc8s7+6H)%@Q*ehhPs2Fl)G@)wg2pv%J$PL~qsg$0Nn9`;Cj z07=!4G&Dj&`z@@?9G|t%X{Dgf8XDXIOdR(T@R$)`ybiwVi}QVjA5voe?h2m2eha6S z@B@GoNt{_-PiI`J6}WLIup0_7uipe~0yb9fThcg4AoXC8kyQZ6fDcL;O-$-z-QZx& zJTkBWYxD`3I3b9fu@V@s1FgBc_fgEywJ`v9r;Zb^U&a$_8>sYlp z8Eo%@LQD?uTK!I^7jV|~Fddl9qpSduScNsEck23cI`JE%tiSCQByN79BcyT(2!ukh z0Lo#E6OFaXhi17!fK%6Qr9{VRGXy9U3b?zng4?%mV{LsMwOS3n z@2l#-e!_1M;S1nlvu0?Yj5))VD1-eMOg7_>o{^Rr0&4aSun`g%Oky+^)9+7re88TK z*^}Zr5+b1E#RB7scze`aEif}2ieqcyWNKG`zW^C2m&94LIFV#;QTX} zl(#FuGEH~0PXQ!UUTlu^N=6@%vi{H@V45K?{w1S`h-_Fvj(znINE~0x)U4C}A}r8_rLtzKxncnPEJX zrqpX5F@oc|xiACMhe)v`=gOSKlp6WK z)L{Y1<#q>WR@c!4@6F^G9oHPL#wos0;0w9CKqsIw$G73Tu z|4_dgJrJ7wA4qPY=>@PUD5L8Ea5}@BIHmp4 z9zj|I0Jh78(;k6dC?#h)3lINB$Be~BObWpBeMpvY6=t#BXaR_0Qf5Y5rI-W}B*)Az z0zk$s>?t0Q$xGLl0hXWg|&uJ%u=m{n!0j0c}YG7gnVQU2;CdDA1vY1ouIJV7zX zfRR7p|k))pqm_hxNfl!qKiB<0fuhhzKPdf{SLe!Ko~`ElmckB zT8N~Ktuh$5@2`ScqAUcYjBsn^zKUmoNOGp~vHwQm9vdsM9}$4exPFG|U6G*>yiNy!*Fm9JiakGLwswE?1c<3(((j2&LB|Af7L~b$Es5B%TvQG0va*~K*@MNr393#%#<76JW|SJwqR z=44}5?R>(V0^BusIV}-Ru?|Xs6-pEY`leVuOe^+8hL45hab+FXMX^{Msp}U;VSZlJ zK<`=hywYJ9f@Ktge*)U#bCM1e0Lj67pAKN5hG$L{>dZz8Ka{X0{${^Ss%a>uyOZ_+ z^GNuol}Z&86O$vcc?rPv>sNE(M9IU;aU2JQ5mNwx@5A@KBTxW#9e|V)M1;`u;Cmf- z2_S}8;FEt@nts3tc>tMEH;wy^mVTLx|27AFQd;FFSoJq+Pa#$oLc9KKv7+Qt3jB~w zEX2r6CMEzKuQT?kA2GngbzKVwFvHw<(W2m)9Td|~ALMdAT4 zNOEqqz(f34N{4=u4QA-(AMT}vRd#?$_X$X(CBX@q$dNSz(`X?NGLku+Wfa6lYMV@R37AU*aKiL~H{6bopc-LSh>00WtTv@DbA!XjP4 zC)i{%B?J63G>1_$Y;m7wzHxGTdc1odL1`N)CMSkba&veXfLZ=)N|KaDX|e*le6tf! zmCt@Dha#Y%c>rX`0Vyjm_kV+A)fs4ZQDxGF2>^POqdOc&AEC2YrReo>4E2rblcpMaqF^`fg?IH3h+-LrcX zX+WZJ{o(i1%C_TXfAYluFc#1sk!xsX&;z z`4NrM!imYr@eY2}Ab?zi%Iw-q?O37UV(G+^m3J?f%jq!?VQOLm&1M5DD=TQXTUc4S z3sxRgy-~*}Kly_=cI?>DuR$X0cKBvA2qhk`U>zfS0w_t&wFKTB?uqt}CmAuV6FB~t zb^0$J1{x0oArQq=f<-q!h6(|W22LU|T5hcG`_?8O?!6nXwLP_b8h}0eI=fzc{&~zO zx@#c>Ej(mgmBlz%*>2o zY2()KKmYS@;y3?`|FY+?yzs(DG8KFK^DdIdtmfNiI{~fNH|m%r;~ubzmzmH4=L&)i zO#!$BgxoE+VB^HJlaT&j|C@IHYGOr`T}X0%K-I(Iwo z0GT;{4g8UEeV{GA2_aalszz6&0N@smrm8H@Zs6>IG~N|J^XQC7sZ=VsaN$B%+%?OqN35n1 zeM)P7NO1;G@)@Kn3C+(WPCW$IEsWd-PZ)*thObtP7FfdM)TGrCTPl}zbsQ0)TCHlU zP@R~-V;3(10N#E7I^O=^9*UJT|LeF#Fa!$4!=c%tj20w|$$c>AV5#VW90#Rxd9XXp z{7~15Fg$=x1AcwB?CsmPaOTX}p{H6!hOg0523e!YF+eDh|5WT>3Iqh) zgTs()nh#q)P{y_$K3!9%)7A&Iv$GQeLyF(;_=zR_qkr;`z|1HXik5lVv{Wplik5)+nQEGq6|l%GUDvT(>r$}**Z8b#y#x_~OBD@t9mewf-PK4G zibc4t+mjby7+ysGkf8UmZLF*$P4oU*)|5Gv`lG zL?1n%GesJhX7>_2pj-G80iXmN5QI{>1g|~Zo_HYy-g)ocp1ge#;w*sUIuJu(W!x>8 z*sm~$0K9YMF5dp&E(!$)Kl!82V``#|@8>0mFgY<{?UPJxJ{lHZiH-J04I_F_ALub7>6Lei$UpoZcD2oF~ zJpns=KzaK!LkR&ms|;Xg1axI!*WEWj!2}58GzF;t1?k70=cCi<#Iw^3p|+YT2DsL} zR;M#q0c>w=kEHNKkvy`p)}gvPL%bfl2@j_xCo#XcfO~gWdVEHH*VAqZPWSJ2tp*uM z_^wEerZqfwgcU%)LnPJpH*lnx0YD|nz)Tzf9A^QN(qN8nkiW;d?hm~PuG{w*1%S1+ z^+T7PnVA_lf)GaiH*_c^q7jXGhv_R3IPNJ(tTuInoghNPmk6T~#Q=;t2WHa~Q2c;M zTHg($HgxYZCk22EXqQ;^xbznmDX1><<+Ra>O^nAJ60BkYtqed|IJShH+ExxA&1kIz z1pIzqQZlw1bwpA^8eL>z6k6Gh>E)9soZgNLh=@Q&i*0Oe1UTXYS8ZlJ$)RBY#S&Vr zRv+(_(PoC549l^0(^}{fvp%BP&ku*-IeaJ)?2s*0nve7NPIjj_0 zepi-p{qEYp^B@A+k%XA24xGcc>rG!M^em+&#DiDzm>iT~7|9;*!XP*sRP&*jCUNi+ zGfN!J;t=i`|C?W!t#Bk_%ZmU}tW-2XXnvyT4zL`)KinStUR`L}jx@Hss`Nhzi75Gx zBW&-qM%la{vJzu-{Dld9Ja0tj^S^7lv%Z((j*+O9S4>%++y)d88 zjXA{7;{W~XU*O8!2l{lK%xw7>7>W?_U^ZkP?dW8e*b6%Eba)A@on0*WY{N(W9OPAc9p=d>A*OR4VlySr!C7f}Ff6)0Y#f zA0+k!%mSn&1mJRt*f_376_!FlG*bvt_NXbr}fZ_S1Of`WMmo3Y^O_lP8;`EyR`pdsCF@w zo04JuO)Bh=6!4fQWn?$Zc&8UgNSXgjiJ_ptz2dTS=P&gAd*BD~eSe6`W*3*8#ICf! zsOG(gjsXV71o3sLndi(vC43*#MRLlAuF9{(WNrR>*HEgbWT~syxRKe5v9c znQ?VYrCg(q8kJhl? z#1k+reFAc1g}t{DU`-1~hm3s+CQ-jeyZE1>WUZ6bmle9luBHWB7nXC=^{w zX}Sd`9-gTLsZ=eaGW~GkSVuVc)nEQ~{M=`Mv8Ms>I{7d!$8!N4t=~;{APaX;z_&bv z&~D!ffGH&}NQ9Hk&LETM!JtBNi4m%|hyihqIUFQNu2@dln}^M?tJP}Qs%>F*cJ@#) zfQO;uM1AAE5#mR0Kpxy)GHyKsN5r)(3Hl1w=-J zk6HMT^#B6cvQjD*Asj~!R2<$7I<$BKPo6soFO+cH^h+Jr0Xb=0SemGS;2{cq(Es1w z)r3fLmf`2E`l|nCb~m%xNp#)COF%>jxT~lKK@?1`p7j!qdWiuMJ?4<39t80s7|1~n z9u-k?FnCZ8A_;gAatPiOjEOt5Gu>T3-|M0NzN)V7uI{d?{;K{3wD z^Psa);6*Dh7K*NlfOfV3%<4Tb8{bmq8gSL#Fy?~b1Jxwpthrfjuyh)n;lxZFjmH>| z#*JMA12{RmiHBeQ9EL_Jid-tre|HG){qtRf^VtGJk@5ZMc!<73HE7jwErDfBPA0g# zxL)K=inC3AkTXD3m;}6Lx8M>tm6OiRFtH@Hj?>CflEs-`U1#^%sWB(9a{@4nfL`z~ zvo;-02N{rAnZ^rsL3x1?CpSGw>yN?|Y< zz;T?FF2d$PK!wriWOWt*fa@tl!RmK?F`XmQ8jkBi0L;UvR={?Z>lA7YKWsL*TCUnm zuQC1q>f*wfg}<7~s6oGP_cUNW$2aNePivgnoa&v)J{z%swE3Z|_2bw87dHhbKOYQ- za8>gz!1?((?%%&(c`%5m(Y0iCw~c$l5&Y|Gk?I7eo`?6N)dg986j`;y!8}7N<5#Kq z+))?cP6WXDG{3^^{=CsC4{|Uq1P-!sKMJM&fobDV68TSqgxUxks)3hmf|<8+lR7!b zLr?Y%nwCyYMpO(YhHjLX>^qk(tO2bExMj9PxL zB4*6P2%}Q_un2zB1W=0Zn>9dGQUZnf-f6a=;#_CiKhylVUzBDDyukpjQpOqJ1*Ky? zVm{9-@k~=Q>Ei6fN z;}OzuyE>h~@l^IXO$HuFiQu4yA;1zthv|WOW36X`xBh5mu(Z*pI)rn`-KJbpG;3|ePcG;71p^Ul@Xxq@yhK$$DNlB#>X|q#G_XVc$37V1`78cd>oHUqrmbx3dvur!8Qy)1ydmE?`%M7a0~8_ z9zNXa_nv+3#jXG5-{1Iocb`?mK`OPy6(G&!>k3=VDHZ-Zg}&gNrPFzU#jF7@jV~A< zK<|6y3Bbs8aJBN-(?+k?XAF{qxNDx}$6E^jF=ONETFnfnvSNuAk7E{wHy$%8g9d4# zkU0vS=<-Vkff7M66)A)k&3&`;lPDiT(#Bwpv}kRWs-*@$^ikjEc{gmu z2!-{80GxC|2gnEp0)@?<=A@u>!ik~EHS!g}h4uksyfB$vQKc|K--lqt1kkJi^%)~D zJS>)!oBwp_pZS>h{vEmi8hQVJTB)Z?rG0UL&(QB?6A*wwx+4unrC>q|#*7glSt#Om zcEXoyO4qhm`DgxTl0*Ez# zoZF|Yk69-s|DEA}no?eU^@k0Z(fOf#@mpVS^?HByx4*7&vy!j5xKu@f;Tm$}f^ll| zb|9^5EeYif?vkKG0w@##`ImXBju;E2c@mATjl0t;jFa@;#4u+GfM-n8b-)-J-w&7z zkGsrqJFPdc^qsbQCLTWjl}27?(9KCKT4-s-(J~9mm^J2p zn2m>=&wV@&LPU-WOy{`1xWM#!iigi1-W}|^2*_#+pertFKic0z`Df0Al9SIUiXw0_ zvW=OcBMt4ii6_H|bo@OKk58M2AvC!F7#A0pcoYFqGW+qpi^ury@B|UXZDfx^jmzOl zQf1Bv;J{C+6PZ0|BCuwJzx@-Ucisg9`1bd{FPz^d0hny`(@%b}w{LI~SiCZ8$3+8F z(z2!|)lq~X3}T@LVLF|{_kD!Q13M0`uddZ4IRP^egdw!!AW{Q_ z%((Ic1e!3NMF_OUbr9lGdGS05&G4D=SPhavuMABtqQqY(Is+N4g!IJO!YqXH=*N#- zJ%-2mq$Ji1eL4c)JIC*S{kpYg|FXV-U0#z~)J6yIAU}0|ZDkaC7KG5`WE+sQ>&Akk zH2{Kk75p$j7=~bSz>dQEmlp^ljnGqw9EJZpx&Sld(XBIR0JGT~>^Qi%886Y+8VHp_ zyo6D=z-{7kk~QJ5S=q zGtac{hcf_jcKahzO&Ahlfq4INNUauM>W1xg=FA0D(Ya03BG5J*&Cj*90ShnEnSz00Kdm zusyZK|&j_Gy5ztF-zbQl@ z5VWZEyDS0%lA5kE0o1wRmr*?#*tWd@Kf$P%*DE+qlnJ2oIshBZ6oKFvK^^3Zr4UFU zIATa0fWS(;g?h_p9waW)y5~Pw;#w{Hy{4XTJH!GI2*d&q2<*hBnsuG#E?W$3J^yG4 zpvg%-o4o$9T(3YN7J%SrV*%?lY*Rjc+m?zoF#wqaBoNpEvj%`VG9ASN5FBL;pexJ3 zdJ8~~m_Ts65CRYgEHnSRgd!r^CJwNyW_?-BecLY0x*GbvU9aGHK^>-!!~zfq8o*na zZ5=n*m-ZI|5C|+Y{i)-^5mj|T(h(@=vnH;>u6g=(JqO#o{ysH-!2&3=jtv(k2_la} z0001NNklbfMp~ggdh+!BlNZi|55^|LjnSUU`wI1s7HM5g$NM{1cxX1wFy87 fK_ECBfiL6#rMz+nB2FbF00000NkvXXu0mjf5$|?V literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Shiroko/models/action_wheel_gui.bbmodel b/config/yosbr/config/figura/avatars/Shiroko/models/action_wheel_gui.bbmodel new file mode 100644 index 0000000..afeafbf --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/models/action_wheel_gui.bbmodel @@ -0,0 +1,1989 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "action_wheel_gui", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 16, + "height": 16 + }, + "elements": [ + { + "name": "GoodEmoji", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 36, + 0 + ], + "to": [ + -33.5, + 44, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -41.5, + 40, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "84d1083b-49bc-5614-912e-44f4b899ae46" + }, + { + "name": "HeartEmoji", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 27, + 0 + ], + "to": [ + -33.5, + 35, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -41.5, + 31, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "eaa43af0-2741-87e3-8702-e97d44042bf2" + }, + { + "name": "QuestionEmoji", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 9, + 0 + ], + "to": [ + -33.5, + 17, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -41.5, + 13, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 3 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8de404c9-1e78-68d3-b8a3-38bb7aa8dae2" + }, + { + "name": "BodyBottomRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + -3, + 0.2 + ], + "to": [ + -3.5, + 26, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 2, + 9, + 40, + 38 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "4507a880-9681-34cd-6c87-fac17f8fdd5c" + }, + { + "name": "BodyBottomCenter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.5, + -3, + 0.2 + ], + "to": [ + -2.5, + 26, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3.5, + 11.5, + 0.1 + ], + "faces": { + "north": { + "uv": [ + 1, + 9, + 2, + 38 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "917771d6-d756-41a7-3225-881cb2978484" + }, + { + "name": "BodyBottomLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.5, + -3, + 0.2 + ], + "to": [ + -1.5, + 26, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 9, + 1, + 38 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9964760c-f61e-5f67-f0d2-4d9bc6a2db29" + }, + { + "name": "TitleRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 46, + 0.2 + ], + "to": [ + -38.5, + 54, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 23, + 0, + 26, + 8 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "157d0a40-12c8-0e9f-ff97-0c0134ce6ea6" + }, + { + "name": "TitleLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -37.5, + 46, + 0.2 + ], + "to": [ + -15.5, + 54, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 22, + 8 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "4f6e736e-74db-0300-8874-3f596411c942" + }, + { + "name": "TitleCenter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -38.5, + 46, + 0.2 + ], + "to": [ + -37.5, + 54, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -38.5, + 50, + 0.1 + ], + "faces": { + "north": { + "uv": [ + 22, + 0, + 23, + 8 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6b0744f3-0e21-0fbf-2ae2-18ef858b84af" + }, + { + "name": "BodyTop", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 26, + 0.2 + ], + "to": [ + -40.5, + 46, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -41.5, + 36, + 0.1 + ], + "faces": { + "north": { + "uv": [ + 0, + 8, + 40, + 9 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "181d67e8-0460-aabd-55f6-36d76196c156" + }, + { + "name": "TitleLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -50.5, + 11, + 0.2 + ], + "to": [ + -28.5, + 19, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + -23, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 22, + 8 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "440c3854-1e60-9317-8555-bc5240f178d9" + }, + { + "name": "TitleCenter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -51.5, + 11, + 0.2 + ], + "to": [ + -50.5, + 19, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -51.5, + 15, + 0.1 + ], + "faces": { + "north": { + "uv": [ + 22, + 0, + 23, + 8 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "80c43537-fc6b-fc1b-47fd-bae521fa59df" + }, + { + "name": "TitleRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -54.5, + 11, + 0.2 + ], + "to": [ + -51.5, + 19, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + -23, + 0 + ], + "faces": { + "north": { + "uv": [ + 23, + 0, + 26, + 8 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "cbaf2279-0daf-c842-5ac0-02bb44d9b86d" + }, + { + "name": "BodyBottomCenter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16.5, + -3, + 0.2 + ], + "to": [ + -15.5, + 11, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -16.5, + 4, + 0.1 + ], + "faces": { + "north": { + "uv": [ + 1, + 24, + 2, + 38 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9184dfb8-0e76-f1f7-2994-a00c75ec64d3" + }, + { + "name": "BodyBottomRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -54.5, + -3, + 0.2 + ], + "to": [ + -16.5, + 11, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + -23, + 0 + ], + "faces": { + "north": { + "uv": [ + 2, + 24, + 40, + 38 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5aeb8b47-7cd2-1d4d-33e5-36fb8ea59b5e" + }, + { + "name": "BodyBottomLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -15.5, + -3, + 0.2 + ], + "to": [ + -14.5, + 11, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + -23, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 24, + 1, + 38 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5fdd8d83-a6a5-663e-7757-69fdbbfc0c58" + }, + { + "name": "NoteEmoji", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 18, + 0 + ], + "to": [ + -33.5, + 26, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -41.5, + 22, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6a232e90-acfd-b9ae-6dd2-4ccc394218be" + }, + { + "name": "SweatEmoji", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 0, + 0 + ], + "to": [ + -33.5, + 8, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -41.5, + 4, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9b7746b0-f54b-8a38-8939-67a56cad1e40" + }, + { + "name": "TitleBar", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -54.5, + 12, + 0.1 + ], + "to": [ + -53.5, + 13, + 0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + -54.5, + 12.5, + 0.1 + ], + "faces": { + "north": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ced92cb6-960b-a1ae-ff79-9f04a59bd189" + }, + { + "name": "TitleBar", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 47, + 0.1 + ], + "to": [ + -40.5, + 48, + 0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + -41.5, + 47.5, + 0.1 + ], + "faces": { + "north": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "cb43a040-331d-d647-2667-a5864e0ff99e" + } + ], + "outliner": [ + { + "name": "Gui", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "909f4f9e-cf00-99e1-7699-c2b0e9070eab", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "BubbleGuide", + "origin": [ + -41.5, + 52, + 0.2 + ], + "color": 0, + "uuid": "e29d3e86-e705-1a3c-cada-65a8edd299b0", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "BubbleGuideBackground", + "origin": [ + -2, + 0, + 0 + ], + "color": 0, + "uuid": "ac298288-5f5c-64f4-1b51-f939fb1d21f2", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4507a880-9681-34cd-6c87-fac17f8fdd5c", + "917771d6-d756-41a7-3225-881cb2978484", + "9964760c-f61e-5f67-f0d2-4d9bc6a2db29", + "181d67e8-0460-aabd-55f6-36d76196c156", + "157d0a40-12c8-0e9f-ff97-0c0134ce6ea6", + "6b0744f3-0e21-0fbf-2ae2-18ef858b84af", + "4f6e736e-74db-0300-8874-3f596411c942", + "cb43a040-331d-d647-2667-a5864e0ff99e" + ] + }, + { + "name": "Emojis", + "origin": [ + -14, + 52, + 0 + ], + "color": 0, + "uuid": "58d19f10-42f3-3092-820d-896ea7ee4733", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "84d1083b-49bc-5614-912e-44f4b899ae46", + "eaa43af0-2741-87e3-8702-e97d44042bf2", + "6a232e90-acfd-b9ae-6dd2-4ccc394218be", + "8de404c9-1e78-68d3-b8a3-38bb7aa8dae2", + "9b7746b0-f54b-8a38-8939-67a56cad1e40" + ] + } + ] + }, + { + "name": "ExSkillGuide", + "origin": [ + -54.5, + 17, + 0.2 + ], + "color": 0, + "uuid": "82f089b0-aef7-25b2-da8d-98daa0cb6bea", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "ExSkillGuideBackground", + "origin": [ + -13.75, + 17, + 0 + ], + "color": 0, + "uuid": "8070ebb5-b639-baf7-2735-8a329dc80acb", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "5fdd8d83-a6a5-663e-7757-69fdbbfc0c58", + "5aeb8b47-7cd2-1d4d-33e5-36fb8ea59b5e", + "9184dfb8-0e76-f1f7-2994-a00c75ec64d3", + "cbaf2279-0daf-c842-5ac0-02bb44d9b86d", + "80c43537-fc6b-fc1b-47fd-bae521fa59df", + "440c3854-1e60-9317-8555-bc5240f178d9", + "ced92cb6-960b-a1ae-ff79-9f04a59bd189" + ] + } + ] + }, + { + "name": "VersionDisplay", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "a4e9aabc-7f20-7bd2-cdc0-454075f31f35", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + } + ], + "textures": [ + { + "path": "", + "name": "good.png", + "folder": "", + "namespace": "", + "id": "1", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "eb85d156-8f1a-0715-eb0c-73c744d1192a", + "relative_path": "../../textures/emojis/good.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAJVJREFUOE9jZCASRNmx/gcpXXboNyOyFhQOLrNAmpf2KzJ8fyXIkNJ+DsWQQWgAzK/I3plTacTAKfaesBdgfsUVFnjDADmgzj58AjfDWF4GbDsIEDQA5lRkFxw5/ZUBnyHwWAC5IDNKDMP1yJqxuQLFAFBco4OR5gJ8sQALG7x5ARQTIEOQAUgDMiCYG9GTMroG9FgCAA1snRHHg/NsAAAAAElFTkSuQmCC" + }, + { + "path": "", + "name": "heart.png", + "folder": "", + "namespace": "", + "id": "2", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "0f751aec-a519-017f-2410-5ac9e0a601cb", + "relative_path": "../../textures/emojis/heart.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAKhJREFUOE9jZKAQMCLrXyTg8h/Gj/uwhyg5uCKQ5siWXLh5y2smM8AMwScHNgBZAYuyFMOfu8/ABoEMAQFkg2E2wCxgxKWZmKABGQI3ANlmYjTDXDgIDEAPRFKcD4oljFggZAAsrOCxANOAHtfYDELXDFKDkdqwxTlIITbNGAZgCw+QRhAAJS7k1AlzIYoLkL2DnAJhKRI9f2B1AbbMhU0jXhcQiglkeQDhnXzlvzdk1wAAAABJRU5ErkJggg==" + }, + { + "path": "", + "name": "note.png", + "folder": "", + "namespace": "", + "id": "7", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "8d3f27df-26ac-035a-5808-a8a5fb7df905", + "relative_path": "../../textures/emojis/note.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAALFJREFUOE9jZCAAPm5W+M/v+4ARlzKcEiANIM18xvkMn85OZMBlCFEG/GOwZPhyNgLsCJhBIMNBfKIMACkEGQICMINgLiPaAFgYIBsEcg1RBoDCAGQjDCCHCU4D0AMQ5mfkcMAbBsTEwCAzAN2PJHkBpJjD7D4D298J4ICGhTq+FAiLEUaYZpgAzBCYQfjyATgQYU79xVwAdwG2+MabmWCGICsixvko0YgciOiJBV+OBwCLvoaXPhsOpAAAAABJRU5ErkJggg==" + }, + { + "path": "", + "name": "question.png", + "folder": "", + "namespace": "", + "id": "3", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "0f142e45-9915-9908-6c14-6e682c9b40a8", + "relative_path": "../../textures/emojis/question.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAJNJREFUOE9jZMABNNa7/EeWuhG4hxGbUqyCIM3XA2Yw7PqXDteTv4mRAZshGAYgawZpAoGJfhDHYDMExQCQZmyKcYmDDMVqADabYIagy1HXAJCTQDahBxbRXsAWTfg0Y4QBugGENOM1gBjNRLkApAhXKiRoAK5kjiyONSnDFMDyA1kuQE/SJGUmWHrAlwdgrqTYCwB0pH8RBrtM7wAAAABJRU5ErkJggg==" + }, + { + "path": "", + "name": "sweat.png", + "folder": "", + "namespace": "", + "id": "8", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "4099d802-f6dd-e946-7e18-910d1056fd84", + "relative_path": "../../textures/emojis/sweat.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAJ9JREFUOE9jZCARmO5++/+0qzAjTBucQYw5IM3GypwMZ+9+Z4AZgmEAug3IBhM0AJsCmAEwOVGenwyvv7DDXYHiAooMwGUDyAXIcjAXwVwBdwFFBuCzARTaBF1AyABkb8C8AItKrKaj+xMW5yCLYHLwdIDNdlwGYEtsJLmAaAOcRAXAalfe/46SbGljALYQRg9pfBkNJSGhK0TOtrgMAQB1UsSltwwF2QAAAABJRU5ErkJggg==" + }, + { + "path": "", + "name": "bubble_emote_guide.png", + "folder": "", + "namespace": "", + "id": "6", + "width": 40, + "height": 38, + "uv_width": 40, + "uv_height": 38, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "5f08ee2d-3f25-8eb0-bc5a-be130fd9f46a", + "relative_path": "../../textures/bubble_emote_guide.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAmCAYAAAC29NkdAAAAAXNSR0IArs4c6QAAAixJREFUWEfN2F1OwkAQAOApVMAiAlEJMZHbeQ7xHN7GxBuY+OCLwURNjFET09ZCqRnIwLBMp0vB0nmh7f7k6/4XBwDg9v4pwV8Mr9unS2g23MU1Xpx7zso93dSri+JieqPmOvH3ZVJt38gViKXmDx2O40gTR2kmMgtH5RCpOFKTnLuH17XXb7S7kESBWKjXaS2ed+rT1Ipr1cpK2s6AiKPQkJvgsL6dADlOQx67E+iftMXWM1tuZ10s4SQk4ihMZBpu6xbUcBzJcSZSw20FHI2e9TUiz9QTygwGF/lmcRD4hQDzvqdTZuBkClBaIOJmO0kZW5BwpQRyXOmAEaxuj6UCSriXz6gcYzANV4oW1HB7B2bh9gqUcLTb4Nij2Ms6qOFMZOHAYFqBj7BqtTVPfoNiZzHiKGyQPS8uDshxNkjEFTZJJJyGJFwhQA0nITnu34E2OI40cbmAeNoI4+zT+9fYhU7d/rAexgCnteUHWa51kB+FNCTiKGyQiKPgSOwB63XQPKdhhRKS42yQHMeRNDysgBKOKuNICachJRzlb7rzM38mUMNxpIaTkBoO8/tRAmdeogNtcFjZW3hgtXVhJhyTNrjMSRJNQTiA2zmSyur/irzU43sAR01PrWjs/yzSxS5GHMX6V4KOzMJR6TQkxx23Dte7mOM2Rdri0pAmbm2SSDhb5KY4EynhZkAAGAaBf6XhspB5cVRv3VmOKexWikGncU171tBu+Beea/gHeJZZEDMlW2EAAAAASUVORK5CYII=" + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Shiroko/models/armor.bbmodel b/config/yosbr/config/figura/avatars/Shiroko/models/armor.bbmodel new file mode 100644 index 0000000..7a8becd --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/models/armor.bbmodel @@ -0,0 +1,3811 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "armor", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 19, + "height": 48 + }, + "elements": [ + { + "name": "RightChestplate", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 18, + -2 + ], + "to": [ + 8, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 13.0625, + 30, + 14.25, + 39 + ], + "texture": 0 + }, + "east": { + "uv": [ + 11.875, + 30, + 13.0625, + 39 + ], + "texture": 0 + }, + "south": { + "uv": [ + 15.4375, + 30, + 16.625, + 39 + ], + "texture": 0 + }, + "west": { + "uv": [ + 14.25, + 30, + 15.4375, + 39 + ], + "texture": 0 + }, + "up": { + "uv": [ + 13.0625, + 24, + 14.25, + 30 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "04c52e51-518e-9513-d607-bd72f9efa2c9" + }, + { + "name": "RightChestplateOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 18, + -2 + ], + "to": [ + 8, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.001, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 13.0625, + 30, + 14.25, + 39 + ], + "texture": 1 + }, + "east": { + "uv": [ + 11.875, + 30, + 13.0625, + 39 + ], + "texture": 1 + }, + "south": { + "uv": [ + 15.4375, + 30, + 16.625, + 39 + ], + "texture": 1 + }, + "west": { + "uv": [ + 14.25, + 30, + 15.4375, + 39 + ], + "texture": 1 + }, + "up": { + "uv": [ + 13.0625, + 24, + 14.25, + 30 + ], + "rotation": 180, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6be84467-6c7f-1451-5458-a406488d3d44" + }, + { + "name": "LeftChestplate", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 18, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 14.25, + 30, + 13.0625, + 39 + ], + "texture": 0 + }, + "east": { + "uv": [ + 15.4375, + 30, + 14.25, + 39 + ], + "texture": 0 + }, + "south": { + "uv": [ + 16.625, + 30, + 15.4375, + 39 + ], + "texture": 0 + }, + "west": { + "uv": [ + 13.0625, + 30, + 11.875, + 39 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14.25, + 24, + 13.0625, + 30 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "22408e50-1695-eb9c-6ad3-457297fef7dd" + }, + { + "name": "LeftChestplateOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 18, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.001, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 14.25, + 30, + 13.0625, + 39 + ], + "texture": 1 + }, + "east": { + "uv": [ + 15.4375, + 30, + 14.25, + 39 + ], + "texture": 1 + }, + "south": { + "uv": [ + 16.625, + 30, + 15.4375, + 39 + ], + "texture": 1 + }, + "west": { + "uv": [ + 13.0625, + 30, + 11.875, + 39 + ], + "texture": 1 + }, + "up": { + "uv": [ + 14.25, + 24, + 13.0625, + 30 + ], + "rotation": 180, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "77395185-0449-b7e0-c6cb-1acfdbb3f452" + }, + { + "name": "RightLeggings", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 6, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.5, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 30, + 2.375, + 39 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 30, + 1.1875, + 39 + ], + "texture": 2 + }, + "south": { + "uv": [ + 3.5625, + 30, + 4.75, + 39 + ], + "texture": 2 + }, + "west": { + "uv": [ + 2.375, + 30, + 3.5625, + 39 + ], + "texture": 2 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 2 + }, + "down": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "8715712c-138d-7bdc-882f-f4b2c6770544" + }, + { + "name": "RightLeggingsOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 6, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.501, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 30, + 2.375, + 39 + ], + "texture": 3 + }, + "east": { + "uv": [ + 0, + 30, + 1.1875, + 39 + ], + "texture": 3 + }, + "south": { + "uv": [ + 3.5625, + 30, + 4.75, + 39 + ], + "texture": 3 + }, + "west": { + "uv": [ + 2.375, + 30, + 3.5625, + 39 + ], + "texture": 3 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 3 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "db54d1e6-20a4-45af-6869-4a65f0ea1723" + }, + { + "name": "RightBoots", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 6, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 30, + 2.375, + 39 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 30, + 1.1875, + 39 + ], + "texture": 0 + }, + "south": { + "uv": [ + 3.5625, + 30, + 4.75, + 39 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2.375, + 30, + 3.5625, + 39 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "1cb0afb2-ba2b-92d1-1099-aefd7cc512b8" + }, + { + "name": "RightBootsOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 6, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.001, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 30, + 2.375, + 39 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 30, + 1.1875, + 39 + ], + "texture": 1 + }, + "south": { + "uv": [ + 3.5625, + 30, + 4.75, + 39 + ], + "texture": 1 + }, + "west": { + "uv": [ + 2.375, + 30, + 3.5625, + 39 + ], + "texture": 1 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "dad8c5c7-149c-7b1f-9bc2-c432c26bc70e" + }, + { + "name": "LeftLeggings", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 6, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 0.5, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 30, + 1.1875, + 39 + ], + "texture": 2 + }, + "east": { + "uv": [ + 3.5625, + 30, + 2.375, + 39 + ], + "texture": 2 + }, + "south": { + "uv": [ + 4.75, + 30, + 3.5625, + 39 + ], + "texture": 2 + }, + "west": { + "uv": [ + 1.1875, + 30, + 0, + 39 + ], + "texture": 2 + }, + "up": { + "uv": [ + 2.375, + 24, + 1.1875, + 30 + ], + "rotation": 180, + "texture": 2 + }, + "down": { + "uv": [ + 2.375, + 24, + 1.1875, + 30 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "208279dc-0d16-d5cc-3766-43129fd24c7b" + }, + { + "name": "LeftLeggingsOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 6, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 0.501, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 30, + 1.1875, + 39 + ], + "texture": 3 + }, + "east": { + "uv": [ + 3.5625, + 30, + 2.375, + 39 + ], + "texture": 3 + }, + "south": { + "uv": [ + 4.75, + 30, + 3.5625, + 39 + ], + "texture": 3 + }, + "west": { + "uv": [ + 1.1875, + 30, + 0, + 39 + ], + "texture": 3 + }, + "up": { + "uv": [ + 2.375, + 24, + 1.1875, + 30 + ], + "rotation": 180, + "texture": 3 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "a15d5564-7cd3-fc93-e984-76ed5bc8023b" + }, + { + "name": "LeftBoots", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 6, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 30, + 1.1875, + 39 + ], + "texture": 0 + }, + "east": { + "uv": [ + 3.5625, + 30, + 2.375, + 39 + ], + "texture": 0 + }, + "south": { + "uv": [ + 4.75, + 30, + 3.5625, + 39 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1.1875, + 30, + 0, + 39 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2.375, + 24, + 1.1875, + 30 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6646f669-d54c-168c-c291-d46c48bfda6b" + }, + { + "name": "LeftBootsOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 6, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.001, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 30, + 1.1875, + 39 + ], + "texture": 1 + }, + "east": { + "uv": [ + 3.5625, + 30, + 2.375, + 39 + ], + "texture": 1 + }, + "south": { + "uv": [ + 4.75, + 30, + 3.5625, + 39 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1.1875, + 30, + 0, + 39 + ], + "texture": 1 + }, + "up": { + "uv": [ + 2.375, + 24, + 1.1875, + 30 + ], + "rotation": 180, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "7a6660e4-1279-daf0-3b3d-293b6821dcbe" + }, + { + "name": "RightChestplateBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 8, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 22 + ], + "faces": { + "north": { + "uv": [ + 13.0625, + 39, + 14.25, + 48 + ], + "texture": 0 + }, + "east": { + "uv": [ + 11.875, + 39, + 13.0625, + 48 + ], + "texture": 0 + }, + "south": { + "uv": [ + 15.4375, + 39, + 16.625, + 48 + ], + "texture": 0 + }, + "west": { + "uv": [ + 14.25, + 39, + 15.4375, + 48 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 14.25, + 24, + 15.4375, + 30 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "4a3a4eb6-fd3e-7d2b-a211-76957d9120bd" + }, + { + "name": "RightChestplateBottomOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 8, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.001, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 22 + ], + "faces": { + "north": { + "uv": [ + 13.0625, + 39, + 14.25, + 48 + ], + "texture": 1 + }, + "east": { + "uv": [ + 11.875, + 39, + 13.0625, + 48 + ], + "texture": 1 + }, + "south": { + "uv": [ + 15.4375, + 39, + 16.625, + 48 + ], + "texture": 1 + }, + "west": { + "uv": [ + 14.25, + 39, + 15.4375, + 48 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 14.25, + 24, + 15.4375, + 30 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "325d12e9-803c-2ac9-5359-07d737487724" + }, + { + "name": "LeftChestplateBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 12, + -2 + ], + "to": [ + -4, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 22 + ], + "faces": { + "north": { + "uv": [ + 14.25, + 39, + 13.0625, + 48 + ], + "texture": 0 + }, + "east": { + "uv": [ + 15.4375, + 39, + 14.25, + 48 + ], + "texture": 0 + }, + "south": { + "uv": [ + 16.625, + 39, + 15.4375, + 48 + ], + "texture": 0 + }, + "west": { + "uv": [ + 13.0625, + 39, + 11.875, + 48 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 15.4375, + 24, + 14.25, + 30 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "26bc361a-dd53-ef35-4d8c-de683271f69d" + }, + { + "name": "LeftChestplateBottomOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 12, + -2 + ], + "to": [ + -4, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.001, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 22 + ], + "faces": { + "north": { + "uv": [ + 14.25, + 39, + 13.0625, + 48 + ], + "texture": 1 + }, + "east": { + "uv": [ + 15.4375, + 39, + 14.25, + 48 + ], + "texture": 1 + }, + "south": { + "uv": [ + 16.625, + 39, + 15.4375, + 48 + ], + "texture": 1 + }, + "west": { + "uv": [ + 13.0625, + 39, + 11.875, + 48 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 15.4375, + 24, + 14.25, + 30 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "2b05091b-8085-6724-3d43-d9171144768c" + }, + { + "name": "RightLeggingsBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.5, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 39, + 2.375, + 48 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 39, + 1.1875, + 48 + ], + "texture": 2 + }, + "south": { + "uv": [ + 3.5625, + 39, + 4.75, + 48 + ], + "texture": 2 + }, + "west": { + "uv": [ + 2.375, + 39, + 3.5625, + 48 + ], + "texture": 2 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 2 + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "de6d8972-c7d3-65ad-9984-a8cb0304f1a4" + }, + { + "name": "RightLeggingsBottomOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.501, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 39, + 2.375, + 48 + ], + "texture": 3 + }, + "east": { + "uv": [ + 0, + 39, + 1.1875, + 48 + ], + "texture": 3 + }, + "south": { + "uv": [ + 3.5625, + 39, + 4.75, + 48 + ], + "texture": 3 + }, + "west": { + "uv": [ + 2.375, + 39, + 3.5625, + 48 + ], + "texture": 3 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 3 + } + }, + "type": "cube", + "uuid": "0d1b2e25-e3cb-5fe8-2f68-f18aca44f0aa" + }, + { + "name": "RightBootsBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 39, + 2.375, + 48 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 39, + 1.1875, + 48 + ], + "texture": 0 + }, + "south": { + "uv": [ + 3.5625, + 39, + 4.75, + 48 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2.375, + 39, + 3.5625, + 48 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2b06f488-228c-8e2e-cf9f-a31f465b2b91" + }, + { + "name": "LeftLeggingsBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 0.5, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 39, + 1.1875, + 48 + ], + "texture": 2 + }, + "east": { + "uv": [ + 3.5625, + 39, + 2.375, + 48 + ], + "texture": 2 + }, + "south": { + "uv": [ + 4.75, + 39, + 3.5625, + 48 + ], + "texture": 2 + }, + "west": { + "uv": [ + 1.1875, + 39, + 0, + 48 + ], + "texture": 2 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 2 + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "94b2a0f5-fc51-dff6-741d-bb1ba99d2a91" + }, + { + "name": "LeftLeggingsBottomOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 0.501, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 39, + 1.1875, + 48 + ], + "texture": 3 + }, + "east": { + "uv": [ + 3.5625, + 39, + 2.375, + 48 + ], + "texture": 3 + }, + "south": { + "uv": [ + 4.75, + 39, + 3.5625, + 48 + ], + "texture": 3 + }, + "west": { + "uv": [ + 1.1875, + 39, + 0, + 48 + ], + "texture": 3 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "f89ca1fb-370e-a2b8-90bd-46b52f03d3c6" + }, + { + "name": "LeftBootsBottomOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.001, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 39, + 1.1875, + 48 + ], + "texture": 1 + }, + "east": { + "uv": [ + 3.5625, + 39, + 2.375, + 48 + ], + "texture": 1 + }, + "south": { + "uv": [ + 4.75, + 39, + 3.5625, + 48 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1.1875, + 39, + 0, + 48 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "65127873-1035-1a39-184f-f7910cbe00c7" + }, + { + "name": "LeftBootsBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 39, + 1.1875, + 48 + ], + "texture": 0 + }, + "east": { + "uv": [ + 3.5625, + 39, + 2.375, + 48 + ], + "texture": 0 + }, + "south": { + "uv": [ + 4.75, + 39, + 3.5625, + 48 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1.1875, + 39, + 0, + 48 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "aabdaefc-770f-a69a-35cc-bb6ac71bc9be" + }, + { + "name": "RightBootsBottomOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.001, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 39, + 2.375, + 48 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 39, + 1.1875, + 48 + ], + "texture": 1 + }, + "south": { + "uv": [ + 3.5625, + 39, + 4.75, + 48 + ], + "texture": 1 + }, + "west": { + "uv": [ + 2.375, + 39, + 3.5625, + 48 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": 1 + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "2f97fafc-dd7b-205e-8403-0de28ab11617" + }, + { + "name": "RightChestplateTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 18, + -2 + ], + "to": [ + 8, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.002, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 13.0625, + 30, + 14.25, + 39 + ], + "texture": 4 + }, + "east": { + "uv": [ + 11.875, + 30, + 13.0625, + 39 + ], + "texture": 4 + }, + "south": { + "uv": [ + 15.4375, + 30, + 16.625, + 39 + ], + "texture": 4 + }, + "west": { + "uv": [ + 14.25, + 30, + 15.4375, + 39 + ], + "texture": 4 + }, + "up": { + "uv": [ + 13.0625, + 24, + 14.25, + 30 + ], + "rotation": 180, + "texture": 4 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "1bc91350-32b8-1826-c5aa-42a13e529528" + }, + { + "name": "RightChestplateBottomTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 8, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.002, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 22 + ], + "faces": { + "north": { + "uv": [ + 13.0625, + 39, + 14.25, + 48 + ], + "texture": 4 + }, + "east": { + "uv": [ + 11.875, + 39, + 13.0625, + 48 + ], + "texture": 4 + }, + "south": { + "uv": [ + 15.4375, + 39, + 16.625, + 48 + ], + "texture": 4 + }, + "west": { + "uv": [ + 14.25, + 39, + 15.4375, + 48 + ], + "texture": 4 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 4 + }, + "down": { + "uv": [ + 14.25, + 24, + 15.4375, + 30 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "77d2d753-cc5c-9604-ed68-fefded8b74c0" + }, + { + "name": "LeftChestplateTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 18, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.002, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 14.25, + 30, + 13.0625, + 39 + ], + "texture": 4 + }, + "east": { + "uv": [ + 15.4375, + 30, + 14.25, + 39 + ], + "texture": 4 + }, + "south": { + "uv": [ + 16.625, + 30, + 15.4375, + 39 + ], + "texture": 4 + }, + "west": { + "uv": [ + 13.0625, + 30, + 11.875, + 39 + ], + "texture": 4 + }, + "up": { + "uv": [ + 14.25, + 24, + 13.0625, + 30 + ], + "rotation": 180, + "texture": 4 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "ed6a2771-b199-06d5-c826-d9ad2eeeb335" + }, + { + "name": "LeftChestplateBottomTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 12, + -2 + ], + "to": [ + -4, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.002, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 22 + ], + "faces": { + "north": { + "uv": [ + 14.25, + 39, + 13.0625, + 48 + ], + "texture": 4 + }, + "east": { + "uv": [ + 15.4375, + 39, + 14.25, + 48 + ], + "texture": 4 + }, + "south": { + "uv": [ + 16.625, + 39, + 15.4375, + 48 + ], + "texture": 4 + }, + "west": { + "uv": [ + 13.0625, + 39, + 11.875, + 48 + ], + "texture": 4 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 4 + }, + "down": { + "uv": [ + 15.4375, + 24, + 14.25, + 30 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "f3fe7c1b-6af1-72ab-3278-90a5307c6676" + }, + { + "name": "RightLeggingsTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 6, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.502, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 30, + 2.375, + 39 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 30, + 1.1875, + 39 + ], + "texture": 5 + }, + "south": { + "uv": [ + 3.5625, + 30, + 4.75, + 39 + ], + "texture": 5 + }, + "west": { + "uv": [ + 2.375, + 30, + 3.5625, + 39 + ], + "texture": 5 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 5 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 5 + } + }, + "type": "cube", + "uuid": "152a41e4-ba8e-97d6-b386-7f133012408b" + }, + { + "name": "RightBootsTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 6, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.002, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 30, + 2.375, + 39 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 30, + 1.1875, + 39 + ], + "texture": 4 + }, + "south": { + "uv": [ + 3.5625, + 30, + 4.75, + 39 + ], + "texture": 4 + }, + "west": { + "uv": [ + 2.375, + 30, + 3.5625, + 39 + ], + "texture": 4 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 4 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "306712a4-3272-0ec7-9bdf-cee19696ad51" + }, + { + "name": "RightLeggingsBottomTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.502, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 39, + 2.375, + 48 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 39, + 1.1875, + 48 + ], + "texture": 5 + }, + "south": { + "uv": [ + 3.5625, + 39, + 4.75, + 48 + ], + "texture": 5 + }, + "west": { + "uv": [ + 2.375, + 39, + 3.5625, + 48 + ], + "texture": 5 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": 5 + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 5 + } + }, + "type": "cube", + "uuid": "e3ce7714-e502-2ebc-1c85-10d2983ebb7c" + }, + { + "name": "RightBootsBottomTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.002, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 39, + 2.375, + 48 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 39, + 1.1875, + 48 + ], + "texture": 4 + }, + "south": { + "uv": [ + 3.5625, + 39, + 4.75, + 48 + ], + "texture": 4 + }, + "west": { + "uv": [ + 2.375, + 39, + 3.5625, + 48 + ], + "texture": 4 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": 4 + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "1e955fb1-f5ca-cae7-203e-ce7be18f442b" + }, + { + "name": "LeftLeggingsTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 6, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 0.502, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 30, + 1.1875, + 39 + ], + "texture": 5 + }, + "east": { + "uv": [ + 3.5625, + 30, + 2.375, + 39 + ], + "texture": 5 + }, + "south": { + "uv": [ + 4.75, + 30, + 3.5625, + 39 + ], + "texture": 5 + }, + "west": { + "uv": [ + 1.1875, + 30, + 0, + 39 + ], + "texture": 5 + }, + "up": { + "uv": [ + 2.375, + 24, + 1.1875, + 30 + ], + "rotation": 180, + "texture": 5 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 5 + } + }, + "type": "cube", + "uuid": "08aa3ef4-81da-97b6-1fb6-10050d4ab6f9" + }, + { + "name": "LeftBootsTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 6, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.002, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 30, + 1.1875, + 39 + ], + "texture": 4 + }, + "east": { + "uv": [ + 3.5625, + 30, + 2.375, + 39 + ], + "texture": 4 + }, + "south": { + "uv": [ + 4.75, + 30, + 3.5625, + 39 + ], + "texture": 4 + }, + "west": { + "uv": [ + 1.1875, + 30, + 0, + 39 + ], + "texture": 4 + }, + "up": { + "uv": [ + 2.375, + 24, + 1.1875, + 30 + ], + "rotation": 180, + "texture": 4 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "cc172290-3e5f-a21e-14c6-0beb0b7228de" + }, + { + "name": "LeftLeggingsBottomTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 0.502, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 39, + 1.1875, + 48 + ], + "texture": 5 + }, + "east": { + "uv": [ + 3.5625, + 39, + 2.375, + 48 + ], + "texture": 5 + }, + "south": { + "uv": [ + 4.75, + 39, + 3.5625, + 48 + ], + "texture": 5 + }, + "west": { + "uv": [ + 1.1875, + 39, + 0, + 48 + ], + "texture": 5 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": 5 + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 5 + } + }, + "type": "cube", + "uuid": "ae508872-aa37-2b04-7a48-9528dbec9686" + }, + { + "name": "LeftBootsBottomTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.002, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 39, + 1.1875, + 48 + ], + "texture": 4 + }, + "east": { + "uv": [ + 3.5625, + 39, + 2.375, + 48 + ], + "texture": 4 + }, + "south": { + "uv": [ + 4.75, + 39, + 3.5625, + 48 + ], + "texture": 4 + }, + "west": { + "uv": [ + 1.1875, + 39, + 0, + 48 + ], + "texture": 4 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": 4 + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "e46adda3-76b0-3f14-f8bb-14dec4636073" + } + ], + "outliner": [ + { + "name": "ArmorRA", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "9cdcfaa1-6e79-d94c-f516-f1aff5551a36", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightChestplate", + "origin": [ + 0, + 22, + 0 + ], + "color": 0, + "uuid": "fd9a522d-9a6f-9315-f563-c2c2dc2643ed", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "04c52e51-518e-9513-d607-bd72f9efa2c9", + "6be84467-6c7f-1451-5458-a406488d3d44", + "1bc91350-32b8-1826-c5aa-42a13e529528" + ] + } + ] + }, + { + "name": "ArmorRAB", + "origin": [ + 7, + 18, + 2 + ], + "color": 0, + "uuid": "475e6e92-a1e4-3dbd-1fbc-f80f1d0dad3a", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightChestplateBottom", + "origin": [ + 5.5, + 18, + 2 + ], + "color": 0, + "uuid": "002c7a8e-4836-7723-7a30-02d9e7d6864c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4a3a4eb6-fd3e-7d2b-a211-76957d9120bd", + "325d12e9-803c-2ac9-5359-07d737487724", + "77d2d753-cc5c-9604-ed68-fefded8b74c0" + ] + } + ] + }, + { + "name": "ArmorLA", + "origin": [ + -5, + 23, + 0 + ], + "color": 0, + "uuid": "73d4bd8b-b1f2-b209-c731-ba14eca51894", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "LeftChestplate", + "origin": [ + 0, + 22, + 0 + ], + "color": 0, + "uuid": "5c14372a-8dc0-5453-10f1-d47cdec6e52b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "22408e50-1695-eb9c-6ad3-457297fef7dd", + "77395185-0449-b7e0-c6cb-1acfdbb3f452", + "ed6a2771-b199-06d5-c826-d9ad2eeeb335" + ] + } + ] + }, + { + "name": "ArmorLAB", + "origin": [ + -7, + 18, + 2 + ], + "color": 0, + "uuid": "402ce6c8-6779-6fc6-a408-2c462302696d", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "LeftChestplateBottom", + "origin": [ + -5.5, + 18, + 2 + ], + "color": 0, + "uuid": "f09fa0ac-568d-aeed-7aeb-181f6bcae7de", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "26bc361a-dd53-ef35-4d8c-de683271f69d", + "2b05091b-8085-6724-3d43-d9171144768c", + "f3fe7c1b-6af1-72ab-3278-90a5307c6676" + ] + } + ] + }, + { + "name": "ArmorRL", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "09960a3e-73fa-bf53-b5a6-939709be95dd", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightLeggings", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "f2c56651-0b87-7be5-a5d0-54f0b539cedd", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8715712c-138d-7bdc-882f-f4b2c6770544", + "db54d1e6-20a4-45af-6869-4a65f0ea1723", + "152a41e4-ba8e-97d6-b386-7f133012408b" + ] + }, + { + "name": "RightBoots", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "585bbbd4-29dc-4475-360d-a37d1d22a0dc", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1cb0afb2-ba2b-92d1-1099-aefd7cc512b8", + "dad8c5c7-149c-7b1f-9bc2-c432c26bc70e", + "306712a4-3272-0ec7-9bdf-cee19696ad51" + ] + } + ] + }, + { + "name": "ArmorRLB", + "origin": [ + 2, + 6, + 0 + ], + "color": 0, + "uuid": "51c416bc-1aef-41e3-863d-675810356aef", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightLeggingsBottom", + "origin": [ + 2, + 6, + 0 + ], + "color": 0, + "uuid": "943c2228-26ef-a3cc-c4ff-8b2e3a802431", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "de6d8972-c7d3-65ad-9984-a8cb0304f1a4", + "0d1b2e25-e3cb-5fe8-2f68-f18aca44f0aa", + "e3ce7714-e502-2ebc-1c85-10d2983ebb7c" + ] + }, + { + "name": "RightBootsBottom", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "225aaa89-44de-01b7-601e-e0636668f07c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "2b06f488-228c-8e2e-cf9f-a31f465b2b91", + "2f97fafc-dd7b-205e-8403-0de28ab11617", + "1e955fb1-f5ca-cae7-203e-ce7be18f442b" + ] + } + ] + }, + { + "name": "ArmorLL", + "origin": [ + -2, + 6, + 2 + ], + "color": 0, + "uuid": "ebec21d0-6b75-5c93-bcad-43a0bbe83be0", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "LeftLeggings", + "origin": [ + -2, + 6, + 2 + ], + "color": 0, + "uuid": "0e96119a-486e-469e-c718-c9fcb2e8f4aa", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "208279dc-0d16-d5cc-3766-43129fd24c7b", + "a15d5564-7cd3-fc93-e984-76ed5bc8023b", + "08aa3ef4-81da-97b6-1fb6-10050d4ab6f9" + ] + }, + { + "name": "LeftBoots", + "origin": [ + -2, + 6, + -2 + ], + "color": 0, + "uuid": "bae07c99-6cf4-d4d7-9e54-a7966539daf6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "6646f669-d54c-168c-c291-d46c48bfda6b", + "7a6660e4-1279-daf0-3b3d-293b6821dcbe", + "cc172290-3e5f-a21e-14c6-0beb0b7228de" + ] + } + ] + }, + { + "name": "ArmorLLB", + "origin": [ + -2, + 6, + 0 + ], + "color": 0, + "uuid": "ac27b599-070c-a038-5e6f-e998a5ad1cb4", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "LeftLeggingsBottom", + "origin": [ + -2, + 6, + -2 + ], + "color": 0, + "uuid": "bfb3e89f-f73f-f1da-55a1-d25eb9f7c2d4", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "94b2a0f5-fc51-dff6-741d-bb1ba99d2a91", + "f89ca1fb-370e-a2b8-90bd-46b52f03d3c6", + "ae508872-aa37-2b04-7a48-9528dbec9686" + ] + }, + { + "name": "LeftBootsBottom", + "origin": [ + -2, + 6, + -2 + ], + "color": 0, + "uuid": "71ea41e5-93f0-d75e-73eb-77a7b04abfca", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "aabdaefc-770f-a69a-35cc-bb6ac71bc9be", + "65127873-1035-1a39-184f-f7910cbe00c7", + "e46adda3-76b0-3f14-f8bb-14dec4636073" + ] + } + ] + } + ], + "textures": [ + { + "path": "", + "name": "leather_layer_1.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 64, + "height": 32, + "uv_width": 19, + "uv_height": 48, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "3077f184-e559-5a8a-71d6-29d7cea0677e", + "relative_path": "../../textures/for_modeling/leather_layer_1.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAAXNSR0IArs4c6QAAA3lJREFUaEPlmTFv4kAQhU0TnWiQEEW4DlFSRRFVdB1/g5rfRM3foDulQkeacKcUiO5IgZBo0CmNT99Kz5qs7CzENvh8K0XB7Ho98zzzZt7SiAJjNpvFx+PRrWo2m8lqfTeZTBqhPao8HzQeAO7v7t758OftzV2vVqtoPB4H96gFAL9eXqJWq5X40m63/w8AptNp/O3hIfr9+hodDocEAMDYbrf1jwAfgF6vl4CwWCyi2nMAAAyHw2i/37sIEABfbm6iH09P9Y8ASHAwGLi3DgjkPs4zvj8+1j8CAABns0rhP58CWQ7isK37SvwsILQ2bd6WQbsvn68NYMPWedV3hTssj5FUAeZIAQ34YLfbOZC63a5LDQ2lCBzBsH0E1URrq9BHNNLKHCXu6+2ty3ENPxr0ppn3y6S9n/sAAMcZKqWQaWUA6Pf7iWFyzIZyVrcHeD5AAgoQ1uu1mwYgGik7NF+JFLAkl9cggWI5QQDbHqIqZbT0Pl5iChBsCYUfKkGClxIqRIaNiryRVpTdpUdAUYaWtU8QgPl8Hou5Ia7RaBS8pyxj2Vd9i3grbyQFnVkul7F0QFUAUF9RhBYJAvDz+TlWgwQQ144A9S2UVUg074FMEADbKkNieR+YNz1s78FepadAyOAsLeEDZXM3TVx9tN7XD9yfpT3O1RrBCDgFAHKSNKG1Ve9v81NnCnbeX0/bbZ2ie9R3NuettvC1hn99ilzPDYDVElY8Yai0hMQUAEhcoQ1Ybx0S19AlMk8rbbWErhFf0ioSY+yj/ZjXdShlcwNAaOuB1mCpRwyVYxyhWYOtVvCVKKVXesQ6hGP+87KuTzmzLAQAnRj5Ib7ZbNxJspW/OJC2XmpRilFqERA6nY7bRxGWdW0jRACWHgGkgMQOxvLHGSJDR2jiEaWAXW8B8flG64kaK7/TpLnlj3NabncecA6ryhj7EB2a6g0JgLQIEECAo/UAomG7Tt5o3jIXIvF3J0JSaJAWI41VRUoiOeW0f0KkByv8cdgPUU6UGAJMUcP/S/3w4gAgJ/VGFJLWYDvvv0E5ausvoJCzgKJfkyypcY9dLxK7xg8vLgUgFUjHsrQMxlBpeeWk1mcdaWlPHBUQvO2scE5rpi51VpBEgE5oVJfVqOiN23kiguuPGo2iW9ZQLn923kVAWltpWVckmcbEoTLzWcMudd9f6+s3Tq3qU78AAAAASUVORK5CYII=" + }, + { + "path": "", + "name": "leather_layer_1_overlay.png", + "folder": "", + "namespace": "", + "id": "1", + "width": 64, + "height": 32, + "uv_width": 19, + "uv_height": 48, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "2ba8879b-4ecb-195a-59ee-6d9e98804dde", + "relative_path": "../../textures/for_modeling/leather_layer_1_overlay.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAAXNSR0IArs4c6QAAARtJREFUaENjZCABeOlI/Acp33blBSMJ2ga1UpI8EmWhAA6AZScekKRvMIcASR4Z8QGQZANJAfOOjNAUkOWgCQ6AaQeuk5Ryhk0WGA2AkZ4CRnwZQGkABJlACtF1ZwZPIUpSYUZpNUhpANKiMCUpAEAtQQEeDrIbQoOxECUpACiNAVAK4GDhHFTVKF0DAJQCfvz5PqgaUnQNgCFfBlCaBSgtRCm1H5t+uqYAWniAUjMJBgBsDABm0XAaCwD5iagAUBARZPjw4zvDhy8/htVgCNEBAKr7OVgYGF58GKEBgJzPRlwWoLSQGez6CZYBg90DlLpvNAAoDcGhrn80BQz1GKTU/aMpgNIQHOr6R1PAUI9BSt0/mgIoDcGhrh8ARURkId1f/LQAAAAASUVORK5CYII=" + }, + { + "path": "", + "name": "leather_layer_2.png", + "folder": "", + "namespace": "", + "id": "2", + "width": 64, + "height": 32, + "uv_width": 19, + "uv_height": 48, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "a3d07fcc-8736-7c2a-3a7d-01bca4f29360", + "relative_path": "../../textures/for_modeling/leather_layer_2.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAAXNSR0IArs4c6QAAAbNJREFUaEPtVquOg0AUHTSGIDA4BA7ZLLLZj8DzZXi+BI9DoJYKBMGwqevmTHI2N7Ntd5NuSToz15B5NOk9cx43UI5X4Hj/ygPgGeA4Al4CjhPAm6CXgJeA4wh4CThOAJ8CXgJeAgYCbdtesLVtmwrDUFVVZTVLfjQHAN4OB/V5Pquu61Rd124B0DTNpSxLNY6jmufZTQCkKqxnADVP3eML7UsfuHWG/VcHKAAAaDiKIjUMg24+TVMNgLmepknv43xdVyskEkDzSZJoANhgURS60b7vdRrAE1AwRRTWy7Lo+6+eEpoBfHE0hIbzPL/JAAkIALICAL44XpgSAMXRLCkfx7FmBNf4WsEAKQFqHiBkWfYtATDCBIRrKxhAU8OLk+KcA8gIMIAMkaZpRQpIDzBjEICYJmmmxL2YNCOVIzblxXMZuzzbI2a1CfJPmdn/l8Zwh6MzPQJrFkZqljznqA0A5H3c5W/2MNmH53w5OlNC78ej+jiddN/wCpScM2C6kNhv9/cw2YcBuDZIsUG+PJpnapiSYuwSKIKFL0z52R7zbwBIudzzlGsew7mDg5j0jWenzBfesmAwq9d1bgAAAABJRU5ErkJggg==" + }, + { + "path": "", + "name": "leather_layer_2_overlay.png", + "folder": "", + "namespace": "", + "id": "3", + "width": 64, + "height": 32, + "uv_width": 19, + "uv_height": 48, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "72561028-643a-e907-78d7-d707a6b9393f", + "relative_path": "../../textures/for_modeling/leather_layer_2_overlay.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAAXNSR0IArs4c6QAAAP5JREFUaEPtlbEKwjAQhq/gkEKHCA516wM4OvgMjo4+oKPP4eBDODp2KOSGQuUaAramLirE3n9LSS4N3Mf//8lIeWXK5ycAgAKUE4AFlAsAIQgLwALKCcACygWAVwAWgAWUE4AFlAsArwAsAAtECBx3VSfbp8tt9gp5GVCGX9ucHBPV7GYPIQrAmrzXhUoAMrhqC2gLxY9D7rD1gRmKmckYE+U47r07Gy44X38bxF8BUBY+M+6N679hPQDTOqrZ70ifR+sYMbkveQD7TdnZwpBZSGgOBxwPFfrWEHFLVDf+h2q17IHEzicP4NkCImmpKQtM5YvAi5VASh7Av4fmA8zRVyFbTtAIAAAAAElFTkSuQmCC" + }, + { + "path": "", + "name": "trim.png", + "folder": "", + "namespace": "", + "id": "5", + "width": 64, + "height": 32, + "uv_width": 19, + "uv_height": 48, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "10cc6101-1a98-56ff-84bb-c18cb34472c0", + "relative_path": "../../textures/for_modeling/trim.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAAXNSR0IArs4c6QAAARlJREFUaEPtWIEJxCAMrJtkFEdxFEdxFEdxE5/Ip+TFL31S+TamUFrE2NzlUsi5bfHLLY5/MwJMAYszYC2wuADsJ2gtEGOs2AallNYNANBueqcWea83wkoplfbzWFzj53Sx+7m0D58xxr8W4fTHc86ViMHEvfenY+/8n1EBQkKwESBhT0OsKUBDFSUYTAES9jTEmgI0VFGCwRQgYU9DrClAQxUlGG6vAD6FcqA0UuecP/B77/uR/hCjmAD0EzCZkY9AIzOCGPkGfQwft8lXCCGIczxSiEMAxBpt7Od93EPJcjMD174ZGmiaAMBuoNC7RK4zYofs8uTxoyml+mslnmKgDAno+06TA9SraGp/zZDs1WcaAVcz+rTzXjFzgCFw/S4BAAAAAElFTkSuQmCC" + }, + { + "path": "", + "name": "trim_leggings.png", + "folder": "", + "namespace": "", + "id": "6", + "width": 64, + "height": 32, + "uv_width": 19, + "uv_height": 48, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "a801ffff-07dc-221a-9ca4-89a631acd89b", + "relative_path": "../../textures/for_modeling/trim_leggings.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAAXNSR0IArs4c6QAAALdJREFUaEPtlVEKgCAQRPUmHsWj71H2JsVKGxH1o24kM0KkZIs+Z8acwFsG338iACoAnAAtAC4AhiAtQAuAE6AFwAXAW4AWoAXACdAC4ALgLUAL0ALgBLKIbMaglHKiUNU2trc364tIG9o3f2qtS9to6cXPEC8BzKC4co1hBViGeFZ4jnh+eD7YnGum3Of7+KlOdMYMA3g7fVW1Tbf61/7f1BIGwE/9AJCiT7IXbBiA3gV9/R88gB06yDkhrwNxCwAAAABJRU5ErkJggg==" + } + ], + "animations": [ + { + "uuid": "8a5254c3-52e1-ebac-3078-87344e3c6f23", + "name": "jerk_ears", + "loop": "once", + "override": false, + "length": 0.25, + "snapping": 24, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "" + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Shiroko/models/barrier.bbmodel b/config/yosbr/config/figura/avatars/Shiroko/models/barrier.bbmodel new file mode 100644 index 0000000..920e657 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/models/barrier.bbmodel @@ -0,0 +1,4318 @@ +{ + "meta": { + "format_version": "4.5", + "model_format": "free", + "box_uv": false + }, + "name": "barrier", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 1, + "height": 1 + }, + "elements": [ + { + "name": "Barrier1", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "Arn5": [ + 12.45573, + -16.30478, + -7.99099 + ], + "bhLA": [ + 17.95504, + -12.10366, + -3.99547 + ], + "oe5L": [ + 12.45573, + -16.30478, + 7.99099 + ], + "LaOo": [ + 17.95504, + -12.10366, + 3.99547 + ], + "skAF": [ + 6.95626, + -20.50605, + 3.99542 + ], + "mSEF": [ + 6.95626, + -20.50605, + -3.99542 + ] + }, + "faces": { + "Qa7oQUdO": { + "uv": { + "Arn5": [ + 0.42424, + 0.89503 + ], + "bhLA": [ + 0.39394, + 0.84254 + ], + "oe5L": [ + 0.30303, + 0.89503 + ] + }, + "vertices": [ + "Arn5", + "bhLA", + "oe5L" + ], + "texture": 0 + }, + "LeEDTzrA": { + "uv": { + "bhLA": [ + 0.39394, + 0.84254 + ], + "LaOo": [ + 0.33333, + 0.84254 + ], + "oe5L": [ + 0.30303, + 0.89503 + ] + }, + "vertices": [ + "bhLA", + "LaOo", + "oe5L" + ], + "texture": 0 + }, + "4X7QzJLA": { + "uv": { + "oe5L": [ + 0.30303, + 0.89503 + ], + "skAF": [ + 0.33333, + 0.94751 + ], + "mSEF": [ + 0.39394, + 0.94751 + ] + }, + "vertices": [ + "oe5L", + "skAF", + "mSEF" + ], + "texture": 0 + }, + "x3acV2xS": { + "uv": { + "mSEF": [ + 0.39394, + 0.94751 + ], + "Arn5": [ + 0.42424, + 0.89503 + ], + "oe5L": [ + 0.30303, + 0.89503 + ] + }, + "vertices": [ + "mSEF", + "Arn5", + "oe5L" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "1ffcfe1b-dd45-30ab-3d50-3eb527527f64" + }, + { + "name": "Barrier2", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "Yag1": [ + -5.37976, + -16.30478, + -13.78618 + ], + "2mKW": [ + -3.2792, + -20.50605, + -7.32118 + ], + "zVpV": [ + -7.97619, + -20.50608, + -0.85638 + ], + "3FTI": [ + -12.1773, + -12.10366, + -13.78622 + ], + "YxwL": [ + -16.87454, + -12.10366, + -7.32115 + ], + "CRpy": [ + -14.77408, + -16.30475, + -0.85638 + ] + }, + "faces": { + "qKcm1Dtp": { + "uv": { + "Yag1": [ + 0.66667, + 0.89503 + ], + "2mKW": [ + 0.69697, + 0.94751 + ], + "zVpV": [ + 0.75758, + 0.94751 + ] + }, + "vertices": [ + "Yag1", + "2mKW", + "zVpV" + ], + "texture": 0 + }, + "zcqb3YJU": { + "uv": { + "3FTI": [ + 0.69697, + 0.84254 + ], + "Yag1": [ + 0.66667, + 0.89503 + ], + "zVpV": [ + 0.75758, + 0.94751 + ] + }, + "vertices": [ + "3FTI", + "Yag1", + "zVpV" + ], + "texture": 0 + }, + "fU1wtLBt": { + "uv": { + "YxwL": [ + 0.75758, + 0.84254 + ], + "3FTI": [ + 0.69697, + 0.84254 + ], + "zVpV": [ + 0.75758, + 0.94751 + ] + }, + "vertices": [ + "YxwL", + "3FTI", + "zVpV" + ], + "texture": 0 + }, + "D23N9iIN": { + "uv": { + "zVpV": [ + 0.75758, + 0.94751 + ], + "CRpy": [ + 0.78788, + 0.89503 + ], + "YxwL": [ + 0.75758, + 0.84254 + ] + }, + "vertices": [ + "zVpV", + "CRpy", + "YxwL" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "28326e39-14dc-4a63-19b6-00c93a838274" + }, + { + "name": "Barrier3", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "R7jj": [ + -3.75085, + -16.30478, + 14.31544 + ], + "Jg1w": [ + -1.65027, + -20.50603, + 7.85045 + ], + "vMd4": [ + 5.94954, + -20.50603, + 5.38107 + ], + "kolb": [ + 9.34848, + -12.10366, + 15.84144 + ], + "wOmD": [ + 1.74848, + -12.10366, + 18.31086 + ], + "NNAA": [ + 11.44901, + -16.30478, + 9.37664 + ] + }, + "faces": { + "0lnLGtFu": { + "uv": { + "R7jj": [ + 0.12121, + 0.89503 + ], + "Jg1w": [ + 0.15152, + 0.94751 + ], + "vMd4": [ + 0.21212, + 0.94751 + ] + }, + "vertices": [ + "R7jj", + "Jg1w", + "vMd4" + ], + "texture": 0 + }, + "hhgfkNIK": { + "uv": { + "kolb": [ + 0.21212, + 0.84254 + ], + "wOmD": [ + 0.15152, + 0.84254 + ], + "R7jj": [ + 0.12121, + 0.89503 + ] + }, + "vertices": [ + "kolb", + "wOmD", + "R7jj" + ], + "texture": 0 + }, + "0Rji1785": { + "uv": { + "vMd4": [ + 0.21212, + 0.94751 + ], + "NNAA": [ + 0.24243, + 0.89503 + ], + "R7jj": [ + 0.12121, + 0.89503 + ] + }, + "vertices": [ + "vMd4", + "NNAA", + "R7jj" + ], + "texture": 0 + }, + "i9dgHyC2": { + "uv": { + "NNAA": [ + 0.24243, + 0.89503 + ], + "kolb": [ + 0.21212, + 0.84254 + ], + "R7jj": [ + 0.12121, + 0.89503 + ] + }, + "vertices": [ + "NNAA", + "kolb", + "R7jj" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "89ca0220-5946-6fb4-0562-9cc2170a16fd" + }, + { + "name": "Barrier4", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "IIXU": [ + 11.44901, + -16.30478, + -9.37664 + ], + "1xE0": [ + 5.94954, + -20.50603, + -5.38107 + ], + "CXrA": [ + -1.65027, + -20.50603, + -7.85045 + ], + "zPA0": [ + 1.74848, + -12.10366, + -18.31086 + ], + "oYOf": [ + 9.34848, + -12.10366, + -15.84144 + ], + "DjUC": [ + -3.75085, + -16.30478, + -14.31544 + ] + }, + "faces": { + "uaJyCz2z": { + "uv": { + "IIXU": [ + 0.48485, + 0.89503 + ], + "1xE0": [ + 0.51515, + 0.94751 + ], + "CXrA": [ + 0.57576, + 0.94751 + ] + }, + "vertices": [ + "IIXU", + "1xE0", + "CXrA" + ], + "texture": 0 + }, + "yI2cpGQZ": { + "uv": { + "zPA0": [ + 0.57576, + 0.84254 + ], + "oYOf": [ + 0.51515, + 0.84254 + ], + "IIXU": [ + 0.48485, + 0.89503 + ] + }, + "vertices": [ + "zPA0", + "oYOf", + "IIXU" + ], + "texture": 0 + }, + "zXKeJgkd": { + "uv": { + "CXrA": [ + 0.57576, + 0.94751 + ], + "DjUC": [ + 0.60606, + 0.89503 + ], + "IIXU": [ + 0.48485, + 0.89503 + ] + }, + "vertices": [ + "CXrA", + "DjUC", + "IIXU" + ], + "texture": 0 + }, + "GgM9ok1T": { + "uv": { + "DjUC": [ + 0.60606, + 0.89503 + ], + "zPA0": [ + 0.57576, + 0.84254 + ], + "IIXU": [ + 0.48485, + 0.89503 + ] + }, + "vertices": [ + "DjUC", + "zPA0", + "IIXU" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "e2fcefb7-9c37-6ff5-68e4-8627896caea9" + }, + { + "name": "Barrier5", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "xYFO": [ + -1.37211, + -3.84915, + 21.63661 + ], + "F8AM": [ + 2.02674, + -10.64672, + 19.16723 + ], + "YWtx": [ + 13.82781, + -3.84922, + 16.69776 + ], + "Rptb": [ + 2.82907, + 2.94872, + 21.63661 + ], + "nAjf": [ + 9.62674, + -10.64672, + 16.69779 + ], + "cm0C": [ + 10.42882, + 2.94878, + 19.16726 + ] + }, + "faces": { + "NFbZyVJX": { + "uv": { + "xYFO": [ + 0.12121, + 0.79005 + ], + "F8AM": [ + 0.15152, + 0.84254 + ], + "YWtx": [ + 0.24243, + 0.79005 + ] + }, + "vertices": [ + "xYFO", + "F8AM", + "YWtx" + ], + "texture": 0 + }, + "oOZWbFhk": { + "uv": { + "Rptb": [ + 0.15152, + 0.73757 + ], + "xYFO": [ + 0.12121, + 0.79005 + ], + "YWtx": [ + 0.24243, + 0.79005 + ] + }, + "vertices": [ + "Rptb", + "xYFO", + "YWtx" + ], + "texture": 0 + }, + "mOru5kIu": { + "uv": { + "F8AM": [ + 0.15152, + 0.84254 + ], + "nAjf": [ + 0.21212, + 0.84254 + ], + "YWtx": [ + 0.24243, + 0.79005 + ] + }, + "vertices": [ + "F8AM", + "nAjf", + "YWtx" + ], + "texture": 0 + }, + "1FFKq8BV": { + "uv": { + "YWtx": [ + 0.24243, + 0.79005 + ], + "cm0C": [ + 0.21212, + 0.73756 + ], + "Rptb": [ + 0.15152, + 0.73757 + ] + }, + "vertices": [ + "YWtx", + "cm0C", + "Rptb" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "0892b9ea-ea94-207c-1f9a-2f8628aac120" + }, + { + "name": "Barrier6", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "nIfk": [ + 11.60749, + 3.8492, + 18.31093 + ], + "Ut8M": [ + 15.00648, + -2.94878, + 15.84141 + ], + "nWP5": [ + 19.70349, + -2.94875, + 9.37669 + ], + "aenb": [ + 17.60302, + 10.6467, + 7.85042 + ], + "wSME": [ + 12.90576, + 10.6467, + 14.31549 + ], + "VVCf": [ + 21.00181, + 3.84917, + 5.38106 + ] + }, + "faces": { + "r899VVRa": { + "uv": { + "nIfk": [ + 0.21212, + 0.73756 + ], + "Ut8M": [ + 0.24243, + 0.79005 + ], + "nWP5": [ + 0.30303, + 0.79005 + ] + }, + "vertices": [ + "nIfk", + "Ut8M", + "nWP5" + ], + "texture": 0 + }, + "m0Cli6Ve": { + "uv": { + "aenb": [ + 0.30303, + 0.68508 + ], + "wSME": [ + 0.24242, + 0.68508 + ], + "nIfk": [ + 0.21212, + 0.73756 + ] + }, + "vertices": [ + "aenb", + "wSME", + "nIfk" + ], + "texture": 0 + }, + "eIe5wd3R": { + "uv": { + "nWP5": [ + 0.30303, + 0.79005 + ], + "VVCf": [ + 0.33334, + 0.73757 + ], + "nIfk": [ + 0.21212, + 0.73756 + ] + }, + "vertices": [ + "nWP5", + "VVCf", + "nIfk" + ], + "texture": 0 + }, + "zhNhQfF3": { + "uv": { + "VVCf": [ + 0.33334, + 0.73757 + ], + "aenb": [ + 0.30303, + 0.68508 + ], + "nIfk": [ + 0.21212, + 0.73756 + ] + }, + "vertices": [ + "VVCf", + "aenb", + "nIfk" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "b353e066-b7eb-5d49-03d0-6bffec0918a0" + }, + { + "name": "Barrier7", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "sgjW": [ + 20.15371, + -3.8492, + 7.99102 + ], + "RXBz": [ + 18.85547, + -10.64674, + 3.99547 + ], + "F24g": [ + 20.15371, + -3.8492, + -7.99102 + ], + "b4nW": [ + 21.45203, + 2.94874, + 3.99539 + ], + "t3ws": [ + 18.85547, + -10.64674, + -3.99547 + ], + "OAIt": [ + 21.45203, + 2.94874, + -3.99539 + ] + }, + "faces": { + "MnnmSYRF": { + "uv": { + "sgjW": [ + 0.30303, + 0.79005 + ], + "RXBz": [ + 0.33333, + 0.84254 + ], + "F24g": [ + 0.42424, + 0.79005 + ] + }, + "vertices": [ + "sgjW", + "RXBz", + "F24g" + ], + "texture": 0 + }, + "eCGpY79B": { + "uv": { + "b4nW": [ + 0.33334, + 0.73757 + ], + "sgjW": [ + 0.30303, + 0.79005 + ], + "F24g": [ + 0.42424, + 0.79005 + ] + }, + "vertices": [ + "b4nW", + "sgjW", + "F24g" + ], + "texture": 0 + }, + "UA9sL3fH": { + "uv": { + "RXBz": [ + 0.33333, + 0.84254 + ], + "t3ws": [ + 0.39394, + 0.84254 + ], + "F24g": [ + 0.42424, + 0.79005 + ] + }, + "vertices": [ + "RXBz", + "t3ws", + "F24g" + ], + "texture": 0 + }, + "1mO1enyO": { + "uv": { + "F24g": [ + 0.42424, + 0.79005 + ], + "OAIt": [ + 0.39394, + 0.73757 + ], + "b4nW": [ + 0.33334, + 0.73757 + ] + }, + "vertices": [ + "F24g", + "OAIt", + "b4nW" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "cf598a49-f1eb-47bc-8232-487d7ce031d1" + }, + { + "name": "Barrier8", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "Q4IN": [ + -13.82781, + 3.84922, + 16.69776 + ], + "wCK2": [ + -10.42882, + -2.94878, + 19.16726 + ], + "PNTE": [ + -2.82907, + -2.94872, + 21.63661 + ], + "mlEN": [ + -2.02674, + 10.64672, + 19.16723 + ], + "lABY": [ + -9.62674, + 10.64672, + 16.69779 + ], + "ZHKx": [ + 1.37211, + 3.84915, + 21.63661 + ] + }, + "faces": { + "n24TdmhQ": { + "uv": { + "Q4IN": [ + 0.0303, + 0.73756 + ], + "wCK2": [ + 0.06061, + 0.79005 + ], + "PNTE": [ + 0.12121, + 0.79005 + ] + }, + "vertices": [ + "Q4IN", + "wCK2", + "PNTE" + ], + "texture": 0 + }, + "UUDEtWYK": { + "uv": { + "mlEN": [ + 0.12121, + 0.68508 + ], + "lABY": [ + 0.06061, + 0.68508 + ], + "Q4IN": [ + 0.0303, + 0.73756 + ] + }, + "vertices": [ + "mlEN", + "lABY", + "Q4IN" + ], + "texture": 0 + }, + "f1u0lNPh": { + "uv": { + "PNTE": [ + 0.12121, + 0.79005 + ], + "ZHKx": [ + 0.15152, + 0.73757 + ], + "Q4IN": [ + 0.0303, + 0.73756 + ] + }, + "vertices": [ + "PNTE", + "ZHKx", + "Q4IN" + ], + "texture": 0 + }, + "1zDhRe2q": { + "uv": { + "ZHKx": [ + 0.15152, + 0.73757 + ], + "mlEN": [ + 0.12121, + 0.68508 + ], + "Q4IN": [ + 0.0303, + 0.73756 + ] + }, + "vertices": [ + "ZHKx", + "mlEN", + "Q4IN" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "8cda9be7-5fa4-c07d-0003-2f7bc1954175" + }, + { + "name": "Barrier9", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "qHbv": [ + -20.15371, + 3.8492, + -7.99102 + ], + "3bwp": [ + -21.45203, + -2.94874, + -3.99539 + ], + "KSbw": [ + -21.45203, + -2.94874, + 3.99539 + ], + "ZsXT": [ + -18.85547, + 10.64674, + 3.99547 + ], + "eH85": [ + -18.85547, + 10.64674, + -3.99547 + ], + "0KPs": [ + -20.15371, + 3.8492, + 7.99102 + ] + }, + "faces": { + "7EXV6aLH": { + "uv": { + "qHbv": [ + 0.75758, + 0.73757 + ], + "3bwp": [ + 0.78788, + 0.79005 + ], + "KSbw": [ + 0.84848, + 0.79005 + ] + }, + "vertices": [ + "qHbv", + "3bwp", + "KSbw" + ], + "texture": 0 + }, + "20iczZep": { + "uv": { + "ZsXT": [ + 0.84849, + 0.68508 + ], + "eH85": [ + 0.78788, + 0.68508 + ], + "qHbv": [ + 0.75758, + 0.73757 + ] + }, + "vertices": [ + "ZsXT", + "eH85", + "qHbv" + ], + "texture": 0 + }, + "JdkP7htC": { + "uv": { + "KSbw": [ + 0.84848, + 0.79005 + ], + "0KPs": [ + 0.87879, + 0.73757 + ], + "qHbv": [ + 0.75758, + 0.73757 + ] + }, + "vertices": [ + "KSbw", + "0KPs", + "qHbv" + ], + "texture": 0 + }, + "icWfShVQ": { + "uv": { + "0KPs": [ + 0.87879, + 0.73757 + ], + "ZsXT": [ + 0.84849, + 0.68508 + ], + "qHbv": [ + 0.75758, + 0.73757 + ] + }, + "vertices": [ + "0KPs", + "ZsXT", + "qHbv" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "bc33b5aa-6b23-ab8a-be66-fa3752a03424" + }, + { + "name": "Barrier10", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "juyq": [ + 1.37211, + 3.84915, + -21.63661 + ], + "VQ5C": [ + -2.82907, + -2.94872, + -21.63661 + ], + "hG3m": [ + -10.42882, + -2.94878, + -19.16726 + ], + "lWhR": [ + -9.62674, + 10.64672, + -16.69779 + ], + "Cnbv": [ + -2.02674, + 10.64672, + -19.16723 + ], + "Xj1y": [ + -13.82781, + 3.84922, + -16.69776 + ] + }, + "faces": { + "6pMwCLSn": { + "uv": { + "juyq": [ + 0.57576, + 0.73757 + ], + "VQ5C": [ + 0.60606, + 0.79005 + ], + "hG3m": [ + 0.66667, + 0.79005 + ] + }, + "vertices": [ + "juyq", + "VQ5C", + "hG3m" + ], + "texture": 0 + }, + "h6AOKRiu": { + "uv": { + "lWhR": [ + 0.66667, + 0.68508 + ], + "Cnbv": [ + 0.60606, + 0.68508 + ], + "juyq": [ + 0.57576, + 0.73757 + ] + }, + "vertices": [ + "lWhR", + "Cnbv", + "juyq" + ], + "texture": 0 + }, + "0FsYmgLW": { + "uv": { + "hG3m": [ + 0.66667, + 0.79005 + ], + "Xj1y": [ + 0.69697, + 0.73756 + ], + "juyq": [ + 0.57576, + 0.73757 + ] + }, + "vertices": [ + "hG3m", + "Xj1y", + "juyq" + ], + "texture": 0 + }, + "FpUb7Vkj": { + "uv": { + "Xj1y": [ + 0.69697, + 0.73756 + ], + "lWhR": [ + 0.66667, + 0.68508 + ], + "juyq": [ + 0.57576, + 0.73757 + ] + }, + "vertices": [ + "Xj1y", + "lWhR", + "juyq" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "1b3fb0cd-4643-e05d-049e-7948bd8339b9" + }, + { + "name": "Barrier11", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "wSjj": [ + -21.00181, + -3.84917, + 5.38106 + ], + "3yqo": [ + -17.60302, + -10.6467, + 7.85042 + ], + "GsYx": [ + -11.60749, + -3.8492, + 18.31093 + ], + "cRt1": [ + -19.70349, + 2.94875, + 9.37669 + ], + "aQOg": [ + -12.90576, + -10.6467, + 14.31549 + ], + "blCS": [ + -15.00648, + 2.94878, + 15.84141 + ] + }, + "faces": { + "wKK3oNBw": { + "uv": { + "wSjj": [ + 0.84848, + 0.79005 + ], + "3yqo": [ + 0.87879, + 0.84254 + ], + "GsYx": [ + 0.9697, + 0.79005 + ] + }, + "vertices": [ + "wSjj", + "3yqo", + "GsYx" + ], + "texture": 0 + }, + "d12lsUHC": { + "uv": { + "cRt1": [ + 0.87879, + 0.73757 + ], + "wSjj": [ + 0.84848, + 0.79005 + ], + "GsYx": [ + 0.9697, + 0.79005 + ] + }, + "vertices": [ + "cRt1", + "wSjj", + "GsYx" + ], + "texture": 0 + }, + "WYCOszu3": { + "uv": { + "3yqo": [ + 0.87879, + 0.84254 + ], + "aQOg": [ + 0.9394, + 0.84254 + ], + "GsYx": [ + 0.9697, + 0.79005 + ] + }, + "vertices": [ + "3yqo", + "aQOg", + "GsYx" + ], + "texture": 0 + }, + "eNYXZE7U": { + "uv": { + "GsYx": [ + 0.9697, + 0.79005 + ], + "blCS": [ + 0.93939, + 0.73756 + ], + "cRt1": [ + 0.87879, + 0.73757 + ] + }, + "vertices": [ + "GsYx", + "blCS", + "cRt1" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "df2ad74a-22a2-510c-8f34-9895b418553d" + }, + { + "name": "Barrier12", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "UdM8": [ + -11.60749, + -3.8492, + -18.31093 + ], + "Artn": [ + -12.90576, + -10.6467, + -14.31549 + ], + "6HSp": [ + -21.00181, + -3.84917, + -5.38106 + ], + "hj5A": [ + -15.00648, + 2.94878, + -15.84141 + ], + "pV62": [ + -17.60302, + -10.6467, + -7.85042 + ], + "8yW9": [ + -19.70349, + 2.94875, + -9.37669 + ] + }, + "faces": { + "IG3YNfqx": { + "uv": { + "UdM8": [ + 0.66667, + 0.79005 + ], + "Artn": [ + 0.69697, + 0.84254 + ], + "6HSp": [ + 0.78788, + 0.79005 + ] + }, + "vertices": [ + "UdM8", + "Artn", + "6HSp" + ], + "texture": 0 + }, + "4chGV6ts": { + "uv": { + "hj5A": [ + 0.69697, + 0.73756 + ], + "UdM8": [ + 0.66667, + 0.79005 + ], + "6HSp": [ + 0.78788, + 0.79005 + ] + }, + "vertices": [ + "hj5A", + "UdM8", + "6HSp" + ], + "texture": 0 + }, + "VGkTMtuQ": { + "uv": { + "Artn": [ + 0.69697, + 0.84254 + ], + "pV62": [ + 0.75758, + 0.84254 + ], + "6HSp": [ + 0.78788, + 0.79005 + ] + }, + "vertices": [ + "Artn", + "pV62", + "6HSp" + ], + "texture": 0 + }, + "v6PHqr8o": { + "uv": { + "6HSp": [ + 0.78788, + 0.79005 + ], + "8yW9": [ + 0.75758, + 0.73757 + ], + "hj5A": [ + 0.69697, + 0.73756 + ] + }, + "vertices": [ + "6HSp", + "8yW9", + "hj5A" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "70bc7923-bd95-97a0-b5e5-a6e107c8b9f3" + }, + { + "name": "Barrier13", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "IywS": [ + 13.82781, + -3.84922, + -16.69776 + ], + "WGv1": [ + 9.62674, + -10.64672, + -16.69779 + ], + "qW39": [ + -1.37211, + -3.84915, + -21.63661 + ], + "WBIQ": [ + 10.42882, + 2.94878, + -19.16726 + ], + "TcLv": [ + 2.02674, + -10.64672, + -19.16723 + ], + "PO4z": [ + 2.82907, + 2.94872, + -21.63661 + ] + }, + "faces": { + "NgYuFwUK": { + "uv": { + "IywS": [ + 0.48485, + 0.79005 + ], + "WGv1": [ + 0.51515, + 0.84254 + ], + "qW39": [ + 0.60606, + 0.79005 + ] + }, + "vertices": [ + "IywS", + "WGv1", + "qW39" + ], + "texture": 0 + }, + "Vk1ixfW9": { + "uv": { + "WBIQ": [ + 0.51515, + 0.73756 + ], + "IywS": [ + 0.48485, + 0.79005 + ], + "qW39": [ + 0.60606, + 0.79005 + ] + }, + "vertices": [ + "WBIQ", + "IywS", + "qW39" + ], + "texture": 0 + }, + "UDZDmr4v": { + "uv": { + "WGv1": [ + 0.51515, + 0.84254 + ], + "TcLv": [ + 0.57576, + 0.84254 + ], + "qW39": [ + 0.60606, + 0.79005 + ] + }, + "vertices": [ + "WGv1", + "TcLv", + "qW39" + ], + "texture": 0 + }, + "1fxm3Azo": { + "uv": { + "qW39": [ + 0.60606, + 0.79005 + ], + "PO4z": [ + 0.57576, + 0.73757 + ], + "WBIQ": [ + 0.51515, + 0.73756 + ] + }, + "vertices": [ + "qW39", + "PO4z", + "WBIQ" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "c7fee38e-2c47-a2f7-7226-1cab458ce078" + }, + { + "name": "Barrier14", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "3Wsb": [ + 21.00181, + 3.84917, + -5.38106 + ], + "92Ls": [ + 19.70349, + -2.94875, + -9.37669 + ], + "T5zd": [ + 15.00648, + -2.94878, + -15.84141 + ], + "pc3G": [ + 12.90576, + 10.6467, + -14.31549 + ], + "yTH1": [ + 17.60302, + 10.6467, + -7.85042 + ], + "KUh7": [ + 11.60749, + 3.8492, + -18.31093 + ] + }, + "faces": { + "z5iseIFC": { + "uv": { + "3Wsb": [ + 0.39394, + 0.73757 + ], + "92Ls": [ + 0.42424, + 0.79005 + ], + "T5zd": [ + 0.48485, + 0.79005 + ] + }, + "vertices": [ + "3Wsb", + "92Ls", + "T5zd" + ], + "texture": 0 + }, + "iUaryT49": { + "uv": { + "pc3G": [ + 0.48485, + 0.68508 + ], + "yTH1": [ + 0.42424, + 0.68508 + ], + "3Wsb": [ + 0.39394, + 0.73757 + ] + }, + "vertices": [ + "pc3G", + "yTH1", + "3Wsb" + ], + "texture": 0 + }, + "0I4Uy5Qt": { + "uv": { + "T5zd": [ + 0.48485, + 0.79005 + ], + "KUh7": [ + 0.51515, + 0.73756 + ], + "3Wsb": [ + 0.39394, + 0.73757 + ] + }, + "vertices": [ + "T5zd", + "KUh7", + "3Wsb" + ], + "texture": 0 + }, + "mQ5kSI6c": { + "uv": { + "KUh7": [ + 0.51515, + 0.73756 + ], + "pc3G": [ + 0.48485, + 0.68508 + ], + "3Wsb": [ + 0.39394, + 0.73757 + ] + }, + "vertices": [ + "KUh7", + "pc3G", + "3Wsb" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "45b3660e-3b5c-a4ef-ca94-b53cb44d79ae" + }, + { + "name": "Barrier15", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "WVDV": [ + 3.2792, + 20.50605, + 7.32118 + ], + "QGox": [ + 5.37976, + 16.30478, + 13.78618 + ], + "0vPb": [ + 12.1773, + 12.10366, + 13.78622 + ], + "LiZb": [ + 7.97619, + 20.50608, + 0.85638 + ], + "lVmK": [ + 14.77408, + 16.30475, + 0.85638 + ], + "fJUn": [ + 16.87454, + 12.10366, + 7.32115 + ] + }, + "faces": { + "rKUZxlFB": { + "uv": { + "WVDV": [ + 0.24243, + 0.5801 + ], + "QGox": [ + 0.21212, + 0.63259 + ], + "0vPb": [ + 0.24242, + 0.68508 + ] + }, + "vertices": [ + "WVDV", + "QGox", + "0vPb" + ], + "texture": 0 + }, + "krK3LH0j": { + "uv": { + "LiZb": [ + 0.30303, + 0.5801 + ], + "WVDV": [ + 0.24243, + 0.5801 + ], + "0vPb": [ + 0.24242, + 0.68508 + ] + }, + "vertices": [ + "LiZb", + "WVDV", + "0vPb" + ], + "texture": 0 + }, + "z4iC3FpH": { + "uv": { + "lVmK": [ + 0.33334, + 0.63259 + ], + "LiZb": [ + 0.30303, + 0.5801 + ], + "0vPb": [ + 0.24242, + 0.68508 + ] + }, + "vertices": [ + "lVmK", + "LiZb", + "0vPb" + ], + "texture": 0 + }, + "17HHqHr8": { + "uv": { + "0vPb": [ + 0.24242, + 0.68508 + ], + "fJUn": [ + 0.30303, + 0.68508 + ], + "lVmK": [ + 0.33334, + 0.63259 + ] + }, + "vertices": [ + "0vPb", + "fJUn", + "lVmK" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "0eb84df0-6dcf-d820-ca27-bc7705c5c5d2" + }, + { + "name": "Barrier16", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "64Fn": [ + -11.44901, + 16.30478, + 9.37664 + ], + "F8oA": [ + -9.34848, + 12.10366, + 15.84144 + ], + "tkDL": [ + 3.75085, + 16.30478, + 14.31544 + ], + "urE0": [ + -5.94954, + 20.50603, + 5.38107 + ], + "CBMq": [ + -1.74848, + 12.10366, + 18.31086 + ], + "xZmX": [ + 1.65027, + 20.50603, + 7.85045 + ] + }, + "faces": { + "2TpR2vyn": { + "uv": { + "64Fn": [ + 0.0303, + 0.63259 + ], + "F8oA": [ + 0.06061, + 0.68508 + ], + "tkDL": [ + 0.15152, + 0.63259 + ] + }, + "vertices": [ + "64Fn", + "F8oA", + "tkDL" + ], + "texture": 0 + }, + "qNYd432g": { + "uv": { + "urE0": [ + 0.06061, + 0.5801 + ], + "64Fn": [ + 0.0303, + 0.63259 + ], + "tkDL": [ + 0.15152, + 0.63259 + ] + }, + "vertices": [ + "urE0", + "64Fn", + "tkDL" + ], + "texture": 0 + }, + "vngzZZyv": { + "uv": { + "F8oA": [ + 0.06061, + 0.68508 + ], + "CBMq": [ + 0.12121, + 0.68508 + ], + "tkDL": [ + 0.15152, + 0.63259 + ] + }, + "vertices": [ + "F8oA", + "CBMq", + "tkDL" + ], + "texture": 0 + }, + "LE6Kp0Mj": { + "uv": { + "tkDL": [ + 0.15152, + 0.63259 + ], + "xZmX": [ + 0.12121, + 0.5801 + ], + "urE0": [ + 0.06061, + 0.5801 + ] + }, + "vertices": [ + "tkDL", + "xZmX", + "urE0" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "d1cb7706-eef3-1779-2707-cdfe2d72b62e" + }, + { + "name": "Barrier17", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "5HFB": [ + -12.45573, + 16.30478, + -7.99099 + ], + "JDQi": [ + -17.95504, + 12.10366, + -3.99547 + ], + "m2BW": [ + -12.45573, + 16.30478, + 7.99099 + ], + "DepI": [ + -6.95626, + 20.50605, + -3.99542 + ], + "P5bi": [ + -17.95504, + 12.10366, + 3.99547 + ], + "2shv": [ + -6.95626, + 20.50605, + 3.99542 + ] + }, + "faces": { + "0f91mzoQ": { + "uv": { + "5HFB": [ + 0.75758, + 0.63259 + ], + "JDQi": [ + 0.78788, + 0.68508 + ], + "m2BW": [ + 0.87879, + 0.63259 + ] + }, + "vertices": [ + "5HFB", + "JDQi", + "m2BW" + ], + "texture": 0 + }, + "qoogvexQ": { + "uv": { + "DepI": [ + 0.78788, + 0.5801 + ], + "5HFB": [ + 0.75758, + 0.63259 + ], + "m2BW": [ + 0.87879, + 0.63259 + ] + }, + "vertices": [ + "DepI", + "5HFB", + "m2BW" + ], + "texture": 0 + }, + "7ma6IzQW": { + "uv": { + "JDQi": [ + 0.78788, + 0.68508 + ], + "P5bi": [ + 0.84849, + 0.68508 + ], + "m2BW": [ + 0.87879, + 0.63259 + ] + }, + "vertices": [ + "JDQi", + "P5bi", + "m2BW" + ], + "texture": 0 + }, + "L5znhKgV": { + "uv": { + "m2BW": [ + 0.87879, + 0.63259 + ], + "2shv": [ + 0.84849, + 0.5801 + ], + "DepI": [ + 0.78788, + 0.5801 + ] + }, + "vertices": [ + "m2BW", + "2shv", + "DepI" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "0d00fdac-233d-4adf-53c6-a02afd385a9b" + }, + { + "name": "Barrier18", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "223J": [ + 3.75085, + 16.30478, + -14.31544 + ], + "pW0y": [ + -1.74848, + 12.10366, + -18.31086 + ], + "qgCV": [ + -11.44901, + 16.30478, + -9.37664 + ], + "FrYg": [ + 1.65027, + 20.50603, + -7.85045 + ], + "QjdH": [ + -9.34848, + 12.10366, + -15.84144 + ], + "qMuF": [ + -5.94954, + 20.50605, + -5.38107 + ] + }, + "faces": { + "8ibtPIMP": { + "uv": { + "223J": [ + 0.57576, + 0.63259 + ], + "pW0y": [ + 0.60606, + 0.68508 + ], + "qgCV": [ + 0.69697, + 0.63259 + ] + }, + "vertices": [ + "223J", + "pW0y", + "qgCV" + ], + "texture": 0 + }, + "M0luOpy1": { + "uv": { + "FrYg": [ + 0.60606, + 0.5801 + ], + "223J": [ + 0.57576, + 0.63259 + ], + "qgCV": [ + 0.69697, + 0.63259 + ] + }, + "vertices": [ + "FrYg", + "223J", + "qgCV" + ], + "texture": 0 + }, + "IVfPhmRG": { + "uv": { + "pW0y": [ + 0.60606, + 0.68508 + ], + "QjdH": [ + 0.66667, + 0.68508 + ], + "qgCV": [ + 0.69697, + 0.63259 + ] + }, + "vertices": [ + "pW0y", + "QjdH", + "qgCV" + ], + "texture": 0 + }, + "hkSpGwnR": { + "uv": { + "qgCV": [ + 0.69697, + 0.63259 + ], + "qMuF": [ + 0.66667, + 0.5801 + ], + "FrYg": [ + 0.60606, + 0.5801 + ] + }, + "vertices": [ + "qgCV", + "qMuF", + "FrYg" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "fcd3d424-d6fb-d18d-4e2d-1930b4c0b8e6" + }, + { + "name": "Barrier19", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "lIrd": [ + 7.97619, + 20.50608, + -0.85638 + ], + "t2bZ": [ + 14.77408, + 16.30475, + -0.85638 + ], + "XKGS": [ + 16.87454, + 12.10366, + -7.32115 + ], + "TT9g": [ + 5.37976, + 16.30478, + -13.78618 + ], + "zUlh": [ + 3.2792, + 20.50605, + -7.32118 + ], + "csGR": [ + 12.1773, + 12.10366, + -13.78622 + ] + }, + "faces": { + "xaKteESB": { + "uv": { + "lIrd": [ + 0.42424, + 0.5801 + ], + "t2bZ": [ + 0.39394, + 0.63259 + ], + "XKGS": [ + 0.42424, + 0.68508 + ] + }, + "vertices": [ + "lIrd", + "t2bZ", + "XKGS" + ], + "texture": 0 + }, + "8ngeSaOz": { + "uv": { + "TT9g": [ + 0.51515, + 0.63259 + ], + "zUlh": [ + 0.48485, + 0.5801 + ], + "lIrd": [ + 0.42424, + 0.5801 + ] + }, + "vertices": [ + "TT9g", + "zUlh", + "lIrd" + ], + "texture": 0 + }, + "OhBaOPiD": { + "uv": { + "XKGS": [ + 0.42424, + 0.68508 + ], + "csGR": [ + 0.48485, + 0.68508 + ], + "lIrd": [ + 0.42424, + 0.5801 + ] + }, + "vertices": [ + "XKGS", + "csGR", + "lIrd" + ], + "texture": 0 + }, + "J7r3VruA": { + "uv": { + "csGR": [ + 0.48485, + 0.68508 + ], + "TT9g": [ + 0.51515, + 0.63259 + ], + "lIrd": [ + 0.42424, + 0.5801 + ] + }, + "vertices": [ + "csGR", + "TT9g", + "lIrd" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "77755fa8-c601-10d3-3837-b3468bd8dc96" + }, + { + "name": "Barrier20", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "IZcu": [ + -2.1005, + -20.99888, + 6.4648 + ], + "Plkb": [ + -6.7975, + -20.99891, + 0 + ], + "Iz64": [ + -2.1005, + -20.99888, + -6.4648 + ], + "E3i2": [ + 5.49931, + -20.99888, + 3.99542 + ], + "PdRm": [ + 5.49931, + -20.99888, + -3.99542 + ] + }, + "faces": { + "ja8upiKN": { + "uv": { + "IZcu": [ + 0.15152, + 0.94751 + ], + "Plkb": [ + 0.87879, + 0.94751 + ], + "Iz64": [ + 0.69697, + 0.94751 + ] + }, + "vertices": [ + "IZcu", + "Plkb", + "Iz64" + ], + "texture": 0 + }, + "g7zBloQn": { + "uv": { + "Iz64": [ + 0.69697, + 0.94751 + ], + "E3i2": [ + 0.33333, + 0.94751 + ], + "IZcu": [ + 0.15152, + 0.94751 + ] + }, + "vertices": [ + "Iz64", + "E3i2", + "IZcu" + ], + "texture": 0 + }, + "iaSkji52": { + "uv": { + "Iz64": [ + 0.69697, + 0.94751 + ], + "PdRm": [ + 0.51515, + 0.94751 + ], + "E3i2": [ + 0.33333, + 0.94751 + ] + }, + "vertices": [ + "Iz64", + "PdRm", + "E3i2" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "98c517d9-af86-f1f7-15e7-706cdc5a7225" + }, + { + "name": "Barrier21", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "eNc6": [ + 18.23474, + -11.26981, + 5.25723 + ], + "oXU3": [ + 19.53298, + -4.47227, + 9.25277 + ], + "v45W": [ + 10.63491, + -11.26981, + 15.71755 + ], + "qesY": [ + 12.73544, + -15.47093, + 9.25274 + ], + "fClk": [ + 14.83598, + -4.4723, + 15.7175 + ] + }, + "faces": { + "czOWc0m9": { + "uv": { + "eNc6": [ + 0.33333, + 0.84254 + ], + "oXU3": [ + 0.30303, + 0.79005 + ], + "v45W": [ + 0.21212, + 0.84254 + ] + }, + "vertices": [ + "eNc6", + "oXU3", + "v45W" + ], + "texture": 0 + }, + "PcDsG9ps": { + "uv": { + "qesY": [ + 0.24243, + 0.89503 + ], + "eNc6": [ + 0.33333, + 0.84254 + ], + "v45W": [ + 0.21212, + 0.84254 + ] + }, + "vertices": [ + "qesY", + "eNc6", + "v45W" + ], + "texture": 0 + }, + "2HtM1VXx": { + "uv": { + "oXU3": [ + 0.30303, + 0.79005 + ], + "fClk": [ + 0.24243, + 0.79005 + ], + "v45W": [ + 0.21212, + 0.84254 + ] + }, + "vertices": [ + "oXU3", + "fClk", + "v45W" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "acaf2d7b-dada-e2a1-7217-364a38996fa9" + }, + { + "name": "Barrier22", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "4tBa": [ + -4.8644, + -15.47093, + 14.97136 + ], + "FmtI": [ + 0.63491, + -11.26981, + 18.96678 + ], + "KdKL": [ + -10.36366, + -4.4723, + 18.96683 + ], + "JBqo": [ + -11.66194, + -11.26981, + 14.97141 + ], + "Ogq6": [ + -2.76392, + -4.47224, + 21.43616 + ] + }, + "faces": { + "UBsmS2b1": { + "uv": { + "4tBa": [ + 0.9697, + 0.89503 + ], + "FmtI": [ + 0.15152, + 0.84254 + ], + "KdKL": [ + 0.06061, + 0.79005 + ] + }, + "vertices": [ + "4tBa", + "FmtI", + "KdKL" + ], + "texture": 0 + }, + "cFS39XOs": { + "uv": { + "JBqo": [ + 0.9394, + 0.84254 + ], + "4tBa": [ + 0.9697, + 0.89503 + ], + "KdKL": [ + 0.06061, + 0.79005 + ] + }, + "vertices": [ + "JBqo", + "4tBa", + "KdKL" + ], + "texture": 0 + }, + "KBzO3gqa": { + "uv": { + "FmtI": [ + 0.15152, + 0.84254 + ], + "Ogq6": [ + 0.12121, + 0.79005 + ], + "KdKL": [ + 0.06061, + 0.79005 + ] + }, + "vertices": [ + "FmtI", + "Ogq6", + "KdKL" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "c8d44095-5fc1-3347-524f-7445a11e5732" + }, + { + "name": "Barrier23", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "muYb": [ + -17.84248, + -11.26981, + -6.46477 + ], + "fRkY": [ + -15.74202, + -15.4709, + 0 + ], + "6q3M": [ + -17.84248, + -11.26981, + 6.46477 + ], + "D2fl": [ + -21.24126, + -4.47227, + -3.99539 + ], + "ypKx": [ + -21.24126, + -4.47227, + 3.99539 + ] + }, + "faces": { + "wkWcI2Y3": { + "uv": { + "muYb": [ + 0.75758, + 0.84254 + ], + "fRkY": [ + 0.78788, + 0.89503 + ], + "6q3M": [ + 0.87879, + 0.84254 + ] + }, + "vertices": [ + "muYb", + "fRkY", + "6q3M" + ], + "texture": 0 + }, + "oVsURH9K": { + "uv": { + "6q3M": [ + 0.87879, + 0.84254 + ], + "D2fl": [ + 0.78788, + 0.79005 + ], + "muYb": [ + 0.75758, + 0.84254 + ] + }, + "vertices": [ + "6q3M", + "D2fl", + "muYb" + ], + "texture": 0 + }, + "CdYPQXtk": { + "uv": { + "6q3M": [ + 0.87879, + 0.84254 + ], + "ypKx": [ + 0.84848, + 0.79005 + ], + "D2fl": [ + 0.78788, + 0.79005 + ] + }, + "vertices": [ + "6q3M", + "ypKx", + "D2fl" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "4b82495b-f06e-a90c-ed3c-7614ecda8d9c" + }, + { + "name": "Barrier24", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "NE11": [ + 0.63491, + -11.26981, + -18.96678 + ], + "YxTY": [ + -4.8644, + -15.47093, + -14.97136 + ], + "aa9J": [ + -11.66194, + -11.26981, + -14.97141 + ], + "8Dae": [ + -10.36366, + -4.4723, + -18.96683 + ], + "YvlI": [ + -2.76392, + -4.47224, + -21.43616 + ] + }, + "faces": { + "GPhPTshD": { + "uv": { + "NE11": [ + 0.57576, + 0.84254 + ], + "YxTY": [ + 0.60606, + 0.89503 + ], + "aa9J": [ + 0.69697, + 0.84254 + ] + }, + "vertices": [ + "NE11", + "YxTY", + "aa9J" + ], + "texture": 0 + }, + "SejV0AIJ": { + "uv": { + "8Dae": [ + 0.66667, + 0.79005 + ], + "YvlI": [ + 0.60606, + 0.79005 + ], + "NE11": [ + 0.57576, + 0.84254 + ] + }, + "vertices": [ + "8Dae", + "YvlI", + "NE11" + ], + "texture": 0 + }, + "o3v4kNYp": { + "uv": { + "aa9J": [ + 0.69697, + 0.84254 + ], + "8Dae": [ + 0.66667, + 0.79005 + ], + "NE11": [ + 0.57576, + 0.84254 + ] + }, + "vertices": [ + "aa9J", + "8Dae", + "NE11" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "b2ac7b55-8b42-54b1-db4e-153957427815" + }, + { + "name": "Barrier25", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "Vp7c": [ + 18.23474, + -11.26981, + -5.25723 + ], + "85VE": [ + 12.73544, + -15.47093, + -9.25274 + ], + "Lnxh": [ + 14.83598, + -4.4723, + -15.7175 + ], + "EUVE": [ + 19.53298, + -4.47227, + -9.25277 + ], + "tZ8r": [ + 10.63491, + -11.26981, + -15.71755 + ] + }, + "faces": { + "hRmwvBcn": { + "uv": { + "Vp7c": [ + 0.39394, + 0.84254 + ], + "85VE": [ + 0.42424, + 0.89503 + ], + "Lnxh": [ + 0.48485, + 0.79005 + ] + }, + "vertices": [ + "Vp7c", + "85VE", + "Lnxh" + ], + "texture": 0 + }, + "IMf3ldec": { + "uv": { + "EUVE": [ + 0.42424, + 0.79005 + ], + "Vp7c": [ + 0.39394, + 0.84254 + ], + "Lnxh": [ + 0.48485, + 0.79005 + ] + }, + "vertices": [ + "EUVE", + "Vp7c", + "Lnxh" + ], + "texture": 0 + }, + "203M88cT": { + "uv": { + "85VE": [ + 0.42424, + 0.89503 + ], + "tZ8r": [ + 0.51515, + 0.84254 + ], + "Lnxh": [ + 0.48485, + 0.79005 + ] + }, + "vertices": [ + "85VE", + "tZ8r", + "Lnxh" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "595fb404-7e48-c586-e605-c71607e492cd" + }, + { + "name": "Barrier26", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "UrRE": [ + -0.63491, + 11.26981, + 18.96678 + ], + "HQLB": [ + 2.76392, + 4.47224, + 21.43616 + ], + "f3hl": [ + 10.36366, + 4.4723, + 18.96683 + ], + "qV6s": [ + 4.8644, + 15.47093, + 14.97136 + ], + "Mlw8": [ + 11.66194, + 11.26981, + 14.97141 + ] + }, + "faces": { + "3mZNNq28": { + "uv": { + "UrRE": [ + 0.12121, + 0.68508 + ], + "HQLB": [ + 0.15152, + 0.73757 + ], + "f3hl": [ + 0.21212, + 0.73756 + ] + }, + "vertices": [ + "UrRE", + "HQLB", + "f3hl" + ], + "texture": 0 + }, + "drL3vwpz": { + "uv": { + "f3hl": [ + 0.21212, + 0.73756 + ], + "qV6s": [ + 0.21212, + 0.63259 + ], + "UrRE": [ + 0.12121, + 0.68508 + ] + }, + "vertices": [ + "f3hl", + "qV6s", + "UrRE" + ], + "texture": 0 + }, + "6OkNCR9T": { + "uv": { + "f3hl": [ + 0.21212, + 0.73756 + ], + "Mlw8": [ + 0.24242, + 0.68508 + ], + "qV6s": [ + 0.21212, + 0.63259 + ] + }, + "vertices": [ + "f3hl", + "Mlw8", + "qV6s" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "d65c0226-7d52-b075-5175-d36a91241998" + }, + { + "name": "Barrier27", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "XCha": [ + -18.23474, + 11.26981, + 5.25723 + ], + "uMQ6": [ + -19.53298, + 4.47227, + 9.25277 + ], + "ozy5": [ + -14.83598, + 4.4723, + 15.7175 + ], + "z59j": [ + -12.73544, + 15.47093, + 9.25274 + ], + "TWQ0": [ + -10.63491, + 11.26981, + 15.71755 + ] + }, + "faces": { + "s82K64dY": { + "uv": { + "XCha": [ + 0.84849, + 0.68508 + ], + "uMQ6": [ + 0.87879, + 0.73757 + ], + "ozy5": [ + 0.93939, + 0.73756 + ] + }, + "vertices": [ + "XCha", + "uMQ6", + "ozy5" + ], + "texture": 0 + }, + "VyOSfUkW": { + "uv": { + "ozy5": [ + 0.93939, + 0.73756 + ], + "z59j": [ + 0.0303, + 0.63259 + ], + "XCha": [ + 0.84849, + 0.68508 + ] + }, + "vertices": [ + "ozy5", + "z59j", + "XCha" + ], + "texture": 0 + }, + "foS0oRcv": { + "uv": { + "ozy5": [ + 0.93939, + 0.73756 + ], + "TWQ0": [ + 0.06061, + 0.68508 + ], + "z59j": [ + 0.0303, + 0.63259 + ] + }, + "vertices": [ + "ozy5", + "TWQ0", + "z59j" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "95d92578-f05d-6718-6c5d-19a7ae5d2198" + }, + { + "name": "Barrier28", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "fRsf": [ + -10.63491, + 11.26981, + -15.71755 + ], + "awoe": [ + -14.83598, + 4.4723, + -15.7175 + ], + "nOCi": [ + -19.53298, + 4.47227, + -9.25277 + ], + "98zR": [ + -18.23474, + 11.26981, + -5.25723 + ], + "YFOh": [ + -12.73544, + 15.47093, + -9.25274 + ] + }, + "faces": { + "EVUdOq2A": { + "uv": { + "fRsf": [ + 0.66667, + 0.68508 + ], + "awoe": [ + 0.69697, + 0.73756 + ], + "nOCi": [ + 0.75758, + 0.73757 + ] + }, + "vertices": [ + "fRsf", + "awoe", + "nOCi" + ], + "texture": 0 + }, + "qNc0OG7W": { + "uv": { + "98zR": [ + 0.78788, + 0.68508 + ], + "YFOh": [ + 0.75758, + 0.63259 + ], + "fRsf": [ + 0.66667, + 0.68508 + ] + }, + "vertices": [ + "98zR", + "YFOh", + "fRsf" + ], + "texture": 0 + }, + "DY4R9H9H": { + "uv": { + "nOCi": [ + 0.75758, + 0.73757 + ], + "98zR": [ + 0.78788, + 0.68508 + ], + "fRsf": [ + 0.66667, + 0.68508 + ] + }, + "vertices": [ + "nOCi", + "98zR", + "fRsf" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "683c9e1e-db34-3c25-fad5-5077a386f2a2" + }, + { + "name": "Barrier29", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "tAxH": [ + 10.36366, + 4.4723, + -18.96683 + ], + "fsab": [ + 2.76392, + 4.47224, + -21.43616 + ], + "7nNh": [ + 4.8644, + 15.47093, + -14.97136 + ], + "3rOe": [ + 11.66194, + 11.26981, + -14.97139 + ], + "8Zwk": [ + -0.63491, + 11.26981, + -18.96678 + ] + }, + "faces": { + "6pjjUSla": { + "uv": { + "tAxH": [ + 0.51515, + 0.73756 + ], + "fsab": [ + 0.57576, + 0.73757 + ], + "7nNh": [ + 0.57576, + 0.63259 + ] + }, + "vertices": [ + "tAxH", + "fsab", + "7nNh" + ], + "texture": 0 + }, + "D31ETL9A": { + "uv": { + "3rOe": [ + 0.48485, + 0.68508 + ], + "tAxH": [ + 0.51515, + 0.73756 + ], + "7nNh": [ + 0.57576, + 0.63259 + ] + }, + "vertices": [ + "3rOe", + "tAxH", + "7nNh" + ], + "texture": 0 + }, + "hLGJEHR4": { + "uv": { + "fsab": [ + 0.57576, + 0.73757 + ], + "8Zwk": [ + 0.60606, + 0.68508 + ], + "7nNh": [ + 0.57576, + 0.63259 + ] + }, + "vertices": [ + "fsab", + "8Zwk", + "7nNh" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "323bd6cd-e7fb-1861-d7e5-a99f1c459480" + }, + { + "name": "Barrier30", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "E9s0": [ + 17.84248, + 11.26981, + 6.46477 + ], + "cSOT": [ + 21.24126, + 4.47227, + 3.99539 + ], + "TLiD": [ + 21.24126, + 4.47227, + -3.99539 + ], + "DBUq": [ + 17.84248, + 11.26981, + -6.46477 + ], + "enpU": [ + 15.74202, + 15.4709, + 0 + ] + }, + "faces": { + "xNDk2hTp": { + "uv": { + "E9s0": [ + 0.30303, + 0.68508 + ], + "cSOT": [ + 0.33334, + 0.73757 + ], + "TLiD": [ + 0.39394, + 0.73757 + ] + }, + "vertices": [ + "E9s0", + "cSOT", + "TLiD" + ], + "texture": 0 + }, + "rcve7zmH": { + "uv": { + "DBUq": [ + 0.42424, + 0.68508 + ], + "enpU": [ + 0.39394, + 0.63259 + ], + "E9s0": [ + 0.30303, + 0.68508 + ] + }, + "vertices": [ + "DBUq", + "enpU", + "E9s0" + ], + "texture": 0 + }, + "1iW0uVoe": { + "uv": { + "TLiD": [ + 0.39394, + 0.73757 + ], + "DBUq": [ + 0.42424, + 0.68508 + ], + "E9s0": [ + 0.30303, + 0.68508 + ] + }, + "vertices": [ + "TLiD", + "DBUq", + "E9s0" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "2cf404c2-242e-63dc-bb97-a00238d7b0c8" + }, + { + "name": "Barrier31", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "HHVw": [ + 2.1005, + 20.99888, + 6.4648 + ], + "jo7T": [ + 6.7975, + 20.99891, + 0 + ], + "HKP0": [ + -5.49931, + 20.99888, + -3.99542 + ], + "SfNH": [ + -5.49931, + 20.99888, + 3.99542 + ], + "YIUB": [ + 2.1005, + 20.99888, + -6.4648 + ] + }, + "faces": { + "9RPwbRVR": { + "uv": { + "HHVw": [ + 0.12121, + 0.5801 + ], + "jo7T": [ + 0.30303, + 0.5801 + ], + "HKP0": [ + 0.66667, + 0.5801 + ] + }, + "vertices": [ + "HHVw", + "jo7T", + "HKP0" + ], + "texture": 0 + }, + "Q14gqgUR": { + "uv": { + "SfNH": [ + 0.84849, + 0.5801 + ], + "HHVw": [ + 0.12121, + 0.5801 + ], + "HKP0": [ + 0.66667, + 0.5801 + ] + }, + "vertices": [ + "SfNH", + "HHVw", + "HKP0" + ], + "texture": 0 + }, + "mjEqMUQV": { + "uv": { + "jo7T": [ + 0.30303, + 0.5801 + ], + "YIUB": [ + 0.48485, + 0.5801 + ], + "HKP0": [ + 0.66667, + 0.5801 + ] + }, + "vertices": [ + "jo7T", + "YIUB", + "HKP0" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "1943b182-ca0d-5c04-2b60-b8ddd491658a" + }, + { + "name": "Barrier32", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "E26f": [ + -7.97619, + -20.50608, + 0.85638 + ], + "vKiz": [ + -3.2792, + -20.50605, + 7.32118 + ], + "ZTJ5": [ + -12.1773, + -12.10366, + 13.78622 + ], + "dm81": [ + -14.77408, + -16.30475, + 0.85638 + ], + "5qLS": [ + -5.37976, + -16.30478, + 13.78618 + ], + "fytA": [ + -16.87454, + -12.10366, + 7.32115 + ] + }, + "faces": { + "mv6HvYXc": { + "uv": { + "E26f": [ + 0.87879, + 0.94751 + ], + "vKiz": [ + 0.93939, + 0.94751 + ], + "ZTJ5": [ + 0.9394, + 0.84254 + ] + }, + "vertices": [ + "E26f", + "vKiz", + "ZTJ5" + ], + "texture": 0 + }, + "PdbIjNJE": { + "uv": { + "dm81": [ + 0.84848, + 0.89503 + ], + "E26f": [ + 0.87879, + 0.94751 + ], + "ZTJ5": [ + 0.9394, + 0.84254 + ] + }, + "vertices": [ + "dm81", + "E26f", + "ZTJ5" + ], + "texture": 0 + }, + "vax1ynRt": { + "uv": { + "vKiz": [ + 0.93939, + 0.94751 + ], + "5qLS": [ + 0.9697, + 0.89503 + ], + "ZTJ5": [ + 0.9394, + 0.84254 + ] + }, + "vertices": [ + "vKiz", + "5qLS", + "ZTJ5" + ], + "texture": 0 + }, + "Kgsk2Owa": { + "uv": { + "ZTJ5": [ + 0.9394, + 0.84254 + ], + "fytA": [ + 0.87879, + 0.84254 + ], + "dm81": [ + 0.84848, + 0.89503 + ] + }, + "vertices": [ + "ZTJ5", + "fytA", + "dm81" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "ef1b976b-af20-7115-2e50-08dcabfcc111" + } + ], + "outliner": [ + { + "name": "Barrier", + "origin": [ + 0, + 16, + 0 + ], + "color": 0, + "uuid": "def79492-697f-2380-47e9-18813f1756d0", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1ffcfe1b-dd45-30ab-3d50-3eb527527f64", + "28326e39-14dc-4a63-19b6-00c93a838274", + "89ca0220-5946-6fb4-0562-9cc2170a16fd", + "e2fcefb7-9c37-6ff5-68e4-8627896caea9", + "0892b9ea-ea94-207c-1f9a-2f8628aac120", + "b353e066-b7eb-5d49-03d0-6bffec0918a0", + "cf598a49-f1eb-47bc-8232-487d7ce031d1", + "8cda9be7-5fa4-c07d-0003-2f7bc1954175", + "bc33b5aa-6b23-ab8a-be66-fa3752a03424", + "1b3fb0cd-4643-e05d-049e-7948bd8339b9", + "df2ad74a-22a2-510c-8f34-9895b418553d", + "70bc7923-bd95-97a0-b5e5-a6e107c8b9f3", + "c7fee38e-2c47-a2f7-7226-1cab458ce078", + "45b3660e-3b5c-a4ef-ca94-b53cb44d79ae", + "0eb84df0-6dcf-d820-ca27-bc7705c5c5d2", + "d1cb7706-eef3-1779-2707-cdfe2d72b62e", + "0d00fdac-233d-4adf-53c6-a02afd385a9b", + "fcd3d424-d6fb-d18d-4e2d-1930b4c0b8e6", + "77755fa8-c601-10d3-3837-b3468bd8dc96", + "98c517d9-af86-f1f7-15e7-706cdc5a7225", + "acaf2d7b-dada-e2a1-7217-364a38996fa9", + "c8d44095-5fc1-3347-524f-7445a11e5732", + "4b82495b-f06e-a90c-ed3c-7614ecda8d9c", + "b2ac7b55-8b42-54b1-db4e-153957427815", + "595fb404-7e48-c586-e605-c71607e492cd", + "d65c0226-7d52-b075-5175-d36a91241998", + "95d92578-f05d-6718-6c5d-19a7ae5d2198", + "683c9e1e-db34-3c25-fad5-5077a386f2a2", + "323bd6cd-e7fb-1861-d7e5-a99f1c459480", + "2cf404c2-242e-63dc-bb97-a00238d7b0c8", + "1943b182-ca0d-5c04-2b60-b8ddd491658a", + "ef1b976b-af20-7115-2e50-08dcabfcc111" + ] + } + ], + "textures": [ + { + "path": "", + "name": "barrier.png", + "folder": "", + "namespace": "", + "id": "0", + "particle": false, + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "mode": "bitmap", + "saved": true, + "uuid": "fed26a56-fb52-7c1b-1747-2bd753a9a9ab", + "relative_path": "../../textures/barrier.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAA1JREFUGFdjOP///38ACTsDzcqK7YcAAAAASUVORK5CYII=" + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Shiroko/models/bubble.bbmodel b/config/yosbr/config/figura/avatars/Shiroko/models/bubble.bbmodel new file mode 100644 index 0000000..443a76b --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/models/bubble.bbmodel @@ -0,0 +1,902 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "bubble", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 16, + "height": 16 + }, + "elements": [ + { + "name": "Bubble", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + -4, + 0 + ], + "to": [ + 5, + 4, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ee16cd89-5e16-d1c0-bdb4-bec63d4d29dc" + }, + { + "name": "Emoji", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + -2.5, + -0.05 + ], + "to": [ + 3.5, + 2.5, + -0.05 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e1f1401a-3276-4ed6-1633-16078de30336" + }, + { + "name": "Bullet1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1.9375, + -1.875, + -0.1 + ], + "to": [ + 3.1875, + 1.875, + -0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "015d120f-7c4c-05e7-86b8-e442d2ca89ce" + }, + { + "name": "Bullet2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.375, + -1.875, + -0.1 + ], + "to": [ + 1.625, + 1.875, + -0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "71c04be5-6d32-4cee-9e7d-b8d98db60f7d" + }, + { + "name": "Bullet3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.1875, + -1.875, + -0.1 + ], + "to": [ + 0.0625, + 1.875, + -0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "c13ac616-5ee7-3b04-83ed-f9490507b4f8" + }, + { + "name": "Dot1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2.25, + -0.625, + -0.1 + ], + "to": [ + 3.5, + 0.625, + -0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f336f75d-4273-d986-7b79-5028befe8efc" + }, + { + "name": "Dot2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.375, + -0.625, + -0.1 + ], + "to": [ + 1.625, + 0.625, + -0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9d1c3e18-15c3-3c07-f04a-d705ceec1fed" + }, + { + "name": "Dot3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + -0.625, + -0.1 + ], + "to": [ + -0.25, + 0.625, + -0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "23a7b4da-5022-66ac-bfac-23544ab88f69" + } + ], + "outliner": [ + { + "name": "Camera", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "1ad8e11f-891c-06f0-491f-55ff468a6e74", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "AvatarBubble", + "origin": [ + -3, + -4, + 0 + ], + "color": 0, + "uuid": "ce33d433-402d-decd-b93f-250225de88c7", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ee16cd89-5e16-d1c0-bdb4-bec63d4d29dc", + "e1f1401a-3276-4ed6-1633-16078de30336", + { + "name": "Bullets", + "origin": [ + 1, + 0, + 0 + ], + "color": 0, + "uuid": "2a47b3c1-ef22-e939-70d9-e17ea10d79d9", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "015d120f-7c4c-05e7-86b8-e442d2ca89ce", + "71c04be5-6d32-4cee-9e7d-b8d98db60f7d", + "c13ac616-5ee7-3b04-83ed-f9490507b4f8" + ] + }, + { + "name": "Dots", + "origin": [ + -3, + -4, + 0 + ], + "color": 0, + "uuid": "55f984b9-0c0d-7ae1-712d-78a7d7fbfa03", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f336f75d-4273-d986-7b79-5028befe8efc", + "9d1c3e18-15c3-3c07-f04a-d705ceec1fed", + "23a7b4da-5022-66ac-bfac-23544ab88f69" + ] + } + ] + } + ] + } + ], + "textures": [ + { + "path": "", + "name": "bubble.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "849f6abb-5d52-7cbc-bc5e-c54506c00158", + "relative_path": "../../textures/bubble.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAGhJREFUOE/tk0sOABAMRNul+1/WroKO+KcSdqykzGvDDNN8yaLOfb0vJKHIXM9cro+brFs1bvsqKEFAMouBAuQK4Lh7PUWc4AMuvIGaz2aiJz4A1Pyd6kJHRP44TMgLIEM8dZxdnJuzAGqUPxJDQDMGAAAAAElFTkSuQmCC" + }, + { + "path": "", + "name": "reload.png", + "folder": "", + "namespace": "", + "id": "4", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "e5650158-1574-55d1-6b46-d58173bbb96b", + "relative_path": "../../textures/emojis/reload.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAEpJREFUOE9jZKAQMFKonwFuwOf37/+DDOMVFCRJjCTFIAvQLQIbABKE2QxjEys2aoAg42gYIIUBcp4AJSpYioOJ4xKjXmYiN1cCAKtG/BHrN3pVAAAAAElFTkSuQmCC" + }, + { + "path": "", + "name": "bullet.png", + "folder": "", + "namespace": "", + "id": "5", + "width": 4, + "height": 12, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "1a2d73a2-6180-0319-1efb-16f49aa91e7a", + "relative_path": "../../textures/bullet.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAMCAYAAABFohwTAAAAAXNSR0IArs4c6QAAAGdJREFUGFdjTEhI4Pj1/f93LpbvDH9YuTgZMQSiwuP/V4azMOh4+TKkJi9jYAQJJDt+ZHAK9GFILdoFESj0/cpgEuTBkJoKFSCsAqwlrJAhNXEikhl4BVKdXjE4xAZDbEmJDvvPgAQAMBRGJaIzndEAAAAASUVORK5CYII=" + }, + { + "path": "", + "name": "dots.png", + "folder": "", + "namespace": "", + "id": "3", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "7dda2e3d-9f23-52bb-e799-b8a2879d3871", + "relative_path": "../../textures/emojis/dots.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAADhJREFUOE9jZKAQMFKon2HUAAZIGHx+//4/iOYVFEQJE2LEGWGKYLEBM4RYccoNoNgLowlpEOQFAJrjL7ESx0KNAAAAAElFTkSuQmCC" + }, + { + "path": "", + "name": "black_dot.png", + "folder": "", + "namespace": "", + "id": "6", + "width": 4, + "height": 4, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "d1f6e856-c31e-ace6-6507-d03259b83bf5", + "relative_path": "../../textures/emojis/black_dot.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAABhJREFUGFdjZICA/1CakRGJAxbDKoCiBQCSkQQDt6KjJwAAAABJRU5ErkJggg==" + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Shiroko/models/bullet.bbmodel b/config/yosbr/config/figura/avatars/Shiroko/models/bullet.bbmodel new file mode 100644 index 0000000..6095e9d --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/models/bullet.bbmodel @@ -0,0 +1,237 @@ +{ + "meta": { + "format_version": "4.5", + "model_format": "free", + "box_uv": false + }, + "name": "bullet", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 4, + "height": 12 + }, + "elements": [ + { + "name": "Bullet1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 0, + -1 + ], + "to": [ + 0.5, + 1, + 1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 3, + 2, + 4 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 3, + 2, + 11 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 1, + 10, + 2, + 11 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 3, + 2, + 11 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 1, + 3, + 2, + 11 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 3, + 2, + 11 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "eb1cee40-d947-b0fd-992e-a0445207f5c3" + }, + { + "name": "Bullet2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.375, + 0.125, + -1.25 + ], + "to": [ + 0.375, + 0.875, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c69c3bcf-da9b-3ad4-7d0a-e697c8066967" + } + ], + "outliner": [ + { + "name": "Arrow", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "0c9fab8f-3742-3b33-0bef-de2eca96287f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "eb1cee40-d947-b0fd-992e-a0445207f5c3", + "c69c3bcf-da9b-3ad4-7d0a-e697c8066967" + ] + } + ], + "textures": [ + { + "path": "", + "name": "bullet.png", + "folder": "", + "namespace": "", + "id": "0", + "particle": false, + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "mode": "bitmap", + "saved": true, + "uuid": "d4264722-75e2-f338-9736-9de1cd8631d0", + "relative_path": "../../textures/bullet.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAMCAYAAABFohwTAAAAAXNSR0IArs4c6QAAAGdJREFUGFdjTEhI4Pj1/f93LpbvDH9YuTgZMQSiwuP/V4azMOh4+TKkJi9jYAQJJDt+ZHAK9GFILdoFESj0/cpgEuTBkJoKFSCsAqwlrJAhNXEikhl4BVKdXjE4xAZDbEmJDvvPgAQAMBRGJaIzndEAAAAASUVORK5CYII=" + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Shiroko/models/costume_masked.bbmodel b/config/yosbr/config/figura/avatars/Shiroko/models/costume_masked.bbmodel new file mode 100644 index 0000000..b24edae --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/models/costume_masked.bbmodel @@ -0,0 +1,241 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "costume_masked", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 32, + "height": 16 + }, + "elements": [ + { + "name": "Mask", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 24, + -4 + ], + "to": [ + 4, + 32, + 4 + ], + "autouv": 0, + "color": 0, + "inflate": 0.51, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 8, + 16, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 8, + 8, + 16 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 8, + 32, + 16 + ], + "texture": 0 + }, + "west": { + "uv": [ + 16, + 8, + 24, + 16 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 0, + 16, + 8 + ], + "texture": 0 + }, + "down": { + "uv": [ + 16, + 0, + 24, + 8 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b747bd75-507f-7929-aeae-3c66cb26fac7" + }, + { + "name": "Number", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.07, + 29, + -4.55 + ], + "to": [ + 1.07, + 32, + -4.55 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 5, + 7 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9da77f2b-9ae5-1508-7197-7cd1652e0981" + } + ], + "outliner": [ + { + "name": "CMaskedH", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "8aa59adb-e386-5f5c-152e-db9887b01653", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b747bd75-507f-7929-aeae-3c66cb26fac7", + "9da77f2b-9ae5-1508-7197-7cd1652e0981" + ] + } + ], + "textures": [ + { + "path": "", + "name": "costume_masked.png", + "folder": "", + "namespace": "", + "id": "1", + "width": 32, + "height": 16, + "uv_width": 32, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "375bf4c3-b00b-7f4b-fdf5-83236cf51fe5", + "relative_path": "../../textures/costume_masked.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAQCAYAAAB3AH1ZAAAAAXNSR0IArs4c6QAAAN5JREFUSEtjZGBgYPjy7ft/EA0CPFycjDA2iI7pPAOWExYTZXj76jUGTUhuSbkJinnIZoPYjCDLjY084eJnz21HcUT+/IdgB6BbDhMD0bgsAemdmCiP3wHIIQByCLoDQCEA8j2yI9DZuCwB6aVKCCD7HhZUsCihOARgUQDyOa40gGwZepyD+HQLAWzRQHEIEJML0NMALEpg0UFRCKBnC3Q+LBHiyoLoaQI9uxJMhPgswJX3qSnOOOqAIRECsIQEKlpBiRGdT0maICoNDBoHoGdRWIjQPARgFlAz6GHlCgAoxTOf52sbVgAAAABJRU5ErkJggg==" + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Shiroko/models/costume_riding.bbmodel b/config/yosbr/config/figura/avatars/Shiroko/models/costume_riding.bbmodel new file mode 100644 index 0000000..3249a9c --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/models/costume_riding.bbmodel @@ -0,0 +1,749 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "costume_riding", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 117, + "height": 35 + }, + "elements": [ + { + "name": "AbydosTeamFront", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 20.91, + -2.01 + ], + "to": [ + -1, + 22.979, + -2.01 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 29, + 30 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f4c2bd3c-589d-905c-5064-7f6213a9739f" + }, + { + "name": "AbydosTeamBack", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 19.5, + 2.01 + ], + "to": [ + 3, + 21.69, + 2.01 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 29, + 16, + 81, + 35 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "0afba904-c5e5-fa04-db62-d07f1946bb3f" + }, + { + "name": "HaikouTaisakuInkai", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -9.5, + 22.6, + -2.01 + ], + "to": [ + 2.5, + 23.282, + -2.01 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + 63 + ], + "origin": [ + 2.5, + 23, + -2.01 + ], + "faces": { + "north": { + "uv": [ + 29, + 11, + 117, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f7ea10f1-eaff-1df4-0b2a-be9653ffed3b" + }, + { + "name": "AHSCTRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4.01, + 19.01875, + -7 + ], + "to": [ + 4.01, + 19.98125, + 0 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -90, + 0, + 0 + ], + "origin": [ + 4.01, + 19.5, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 109, + 11, + 29, + 0 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "20be5440-38aa-9f63-f773-c87819c240ac" + }, + { + "name": "AHSCTLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.01, + 12.01875, + -7 + ], + "to": [ + -4.01, + 12.98125, + 0 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 90, + 0, + 0 + ], + "origin": [ + -4.01, + 12.5, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 109, + 11, + 29, + 0 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "40aa080a-9638-7848-043d-01c240e5ee07" + }, + { + "name": "AbydosRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 7.01, + 19.9375, + -3.5 + ], + "to": [ + 7.01, + 20.5625, + 0 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 90, + 0, + 0 + ], + "origin": [ + 7.01, + 20.25, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 29, + 0, + 57, + 5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "be46b29b-15d6-0ea7-9df3-24bda0f269bf" + }, + { + "name": "AbydosLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7.01, + 23.4375, + -3.5 + ], + "to": [ + -7.01, + 24.0625, + 0 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -90, + 0, + 0 + ], + "origin": [ + -7.01, + 23.75, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 29, + 1, + 57, + 6 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "0477bf2d-d76b-6f3d-32cc-3ea7e7e18f83" + } + ], + "outliner": [ + { + "name": "CRidingB", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "b513a1ca-73d2-ed9e-7a97-4fa140c41240", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f4c2bd3c-589d-905c-5064-7f6213a9739f", + "0afba904-c5e5-fa04-db62-d07f1946bb3f", + "f7ea10f1-eaff-1df4-0b2a-be9653ffed3b", + "20be5440-38aa-9f63-f773-c87819c240ac", + "40aa080a-9638-7848-043d-01c240e5ee07" + ] + }, + { + "name": "CRidingRA", + "origin": [ + 5, + 22, + 0 + ], + "color": 0, + "uuid": "526b8f7e-7af7-da25-57e6-335f1f123214", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "be46b29b-15d6-0ea7-9df3-24bda0f269bf" + ] + }, + { + "name": "CRidingLA", + "origin": [ + -5, + 22, + 0 + ], + "color": 0, + "uuid": "589f5dc5-e839-fdaa-7672-2600f3ad294e", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "0477bf2d-d76b-6f3d-32cc-3ea7e7e18f83" + ] + } + ], + "textures": [ + { + "path": "", + "name": "costume_riding.png", + "folder": "", + "namespace": "", + "id": "1", + "width": 117, + "height": 35, + "uv_width": 117, + "uv_height": 35, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "37f07c1d-5262-57fe-df7b-8eed00ebd81b", + "relative_path": "../../textures/costume_riding.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHUAAAAjCAYAAACq00VWAAAAAXNSR0IArs4c6QAABIpJREFUeF7tWm1u1EAMzZKuVP5xCyQugMS5OAYS5+IInARQtQI5qlev7vPXZNO0KP2z2Zmxx+PnZ3uyPU3jf3+naTqNil8eHn6J7Hw+v5dP/W7HZF7m9FP3UzmUZWOoT9finp5ea4/aYHWoPZ797DzMDmanJ5v5fBQUBXQIWOagaAxBZYBEY9YBHjgV0Ow+CCgGVBQ8XfvZ2bcA1QLZBhajepqm+/l8PrFI95yD4xFINvptRshYhNnk8fl+mqbfkV4PeG/vboBngMp8l6kIoPec7ls9yBpQPRZ1mRplCXbQNVmlKps5uAsq6mszlDm6Ui+justqqsf6kZrKmIeBYRkY1fpOVol6jnd3dx9Op9MfD9wOqFnaHQY5i7xjvueBDqii+Sbpt2fi09UsgrFD9pgbdcYZg2wNZZ0xWmkzS4Xta3xiZaugMpaqLtSxKVtv0SF7JUCBq3abI92yaRCv17lbAlptlCJAXxRYW8uiGo2OYnJegDBwLVNZbdb9WP23Oq38S4OK99Hq3sLcTRh7i841C4RqtzvK1OjKU3Vwti5Kvx4wMl5J45sBy2pc1nUik1hN9OoeY2nE1IiVWSBkYFXnR0AV3QispyMCVV4RLq8Hp2myzzKGc3oWGevIMf26H+rEMW/fjpzd17OZ6WRrO2deztUFpNv9esB2ja86SvVGjmSB5AWYFxiejmx/tEsDywtqqysC94mdDNQo7UadblXORqgyc3nBD38VJmfOtfORIxl71YaMzfYMVm4kODKdrq8sqJ06uGbtW2MqOjBi4y2Y6mWlYaayJsgQ6Jq2u50xBlAVVFmnL9E7NZUxiwETMd3uGzG5AqYyz9qRna/jq7CmMiD3HtOA0+BgzZr9SdBr6KwuOVul+dvbB6X9o+4Xa5yyhOVx66CsSSkZZhaxBi0as+AqaPYOzdaN2PeqZLLXhBlAzLFew7Pm4LYsKDiq02vgqsGATM18suYcLyKbHYC121gbxGnLj8aPtU/0ZYEwcrAuOJii7bN3LVO7Og3gyFk2l+mCiq06pjR8FpCl+Msfu5dd/3ugcToP1ApTvTUyHtXnhnmva2kHVGSlshWdnXWAr+vk/7E1GaibHX2e56VOXi6XxQb5Ls/6qWNsjRqlOnSNlUXdKqNjqB/l8cBW3tqKdm/mqAHFV1C//vi5OPnb54/LmH63YzIvc/qpe6ocyrIx1XeAOoBWUeQKIIKJwClIFsxsDZNDhnkM9RhrWezpsqxF9jKfeOzObGWMLvp882XPWKlMYkxFoLxnZTGbR5YeoG6HbYupa0DVIwjo3798utZSPFqHNRUmIbttuo+YrmyXT6zbNgvoPNbp7aCqaw5B9eplVHdZTbWs91LiAWoduGjlLt1v1KVGHSYLhkxXJ1Cq+jOdt4FmXIt93TauqSE5z/Ozq4xNZcxxVaejrgyAkflMpuGKTZbuwlSsVfbeyO6R3n3z0blS95Ygye6prPaxe7F62tN5gOrEImtcLBPZXRYdrj+XHaA+dfJuTN0k7xxKFw/sBWr1PyzeCkx7+ZH6Zy9jDlA3DNd/SaUCezpGgVsAAAAASUVORK5CYII=" + } + ], + "animations": [ + { + "uuid": "e7e83f43-b662-56ee-0f85-7ffbcaf2a66d", + "name": "ex_skill_1", + "loop": "once", + "override": true, + "length": 3.5, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "" + }, + { + "uuid": "69852078-929f-561a-4638-947b594cfa24", + "name": "ex_skill_2", + "loop": "once", + "override": true, + "length": 10.3, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "" + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Shiroko/models/costume_swimsuit.bbmodel b/config/yosbr/config/figura/avatars/Shiroko/models/costume_swimsuit.bbmodel new file mode 100644 index 0000000..20d9bf9 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/models/costume_swimsuit.bbmodel @@ -0,0 +1,258 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "costume_swimsuit", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 8, + "height": 9 + }, + "elements": [ + { + "name": "HairTail1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 25, + 4 + ], + "to": [ + 1, + 27, + 5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -1, + 25, + 4 + ], + "faces": { + "north": { + "uv": [ + 1, + 1, + 3, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 1, + 1, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 4, + 1, + 6, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 3, + 1, + 4, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 3, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f84fc00b-3aea-66e3-3abe-432889c72556" + }, + { + "name": "HairTail2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 22, + 4 + ], + "to": [ + 1, + 26, + 6 + ], + "autouv": 0, + "color": 0, + "origin": [ + -1, + 25, + 4 + ], + "faces": { + "north": { + "uv": [ + 2, + 5, + 4, + 9 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 5, + 2, + 9 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 5, + 8, + 9 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 5, + 6, + 9 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 3, + 4, + 5 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 3, + 6, + 5 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "52b346a1-1a96-7a6c-5e20-d473c86a93b8" + } + ], + "outliner": [ + { + "name": "CSwimsuitH", + "origin": [ + 0, + 26, + 4 + ], + "color": 0, + "uuid": "518625d9-e55a-407a-fb34-5e0b8e781389", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "HairTail", + "origin": [ + 0, + 26, + 4 + ], + "color": 0, + "uuid": "03b33e0d-df94-c82f-2454-aeecec759c09", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f84fc00b-3aea-66e3-3abe-432889c72556", + "52b346a1-1a96-7a6c-5e20-d473c86a93b8" + ] + } + ] + } + ], + "textures": [ + { + "path": "", + "name": "costume_swimsuit.png", + "folder": "", + "namespace": "", + "id": "1", + "width": 8, + "height": 9, + "uv_width": 8, + "uv_height": 9, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "fe8c26a0-26f4-2ca6-302a-045afce4ac3c", + "relative_path": "../../textures/costume_swimsuit.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAJCAYAAAAPU20uAAAAAXNSR0IArs4c6QAAAE5JREFUKFNjZGBgYNiyYdt/fgF+BlsHa0YQHxkwHj5w9P/HDx8ZQAqQaZ8AL7BiwgrQjUS3Dm4nTAKkAWQVihXojoMpBinE6QaYoylXAADouGBuYuy4HgAAAABJRU5ErkJggg==" + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Shiroko/models/death_animation.bbmodel b/config/yosbr/config/figura/avatars/Shiroko/models/death_animation.bbmodel new file mode 100644 index 0000000..230409b --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/models/death_animation.bbmodel @@ -0,0 +1,20545 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "death_animation", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 256, + "height": 191 + }, + "elements": [ + { + "name": "Body1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20, + 15.5, + -37 + ], + "to": [ + 20, + 55.5, + 33 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 70, + 0, + 0, + 40 + ], + "texture": 0 + }, + "south": { + "uv": [ + 70, + 105, + 110, + 145 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 70, + 40 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 40, + 70, + 80 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 80, + 70, + 120 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "b7c05a5f-7761-cdb8-f20e-1c37a3ade2d6" + }, + { + "name": "FrontWindow1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20, + 38.25, + -64.75 + ], + "to": [ + 20, + 55.25, + -36.5 + ], + "autouv": 0, + "color": 0, + "inflate": -0.01, + "rotation": [ + -70, + 0, + 0 + ], + "origin": [ + 0, + 55, + -37 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 98.25, + 0, + 70, + 17 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 70, + 0, + 98.25, + 17 + ], + "texture": 0 + }, + "up": { + "uv": [ + 70, + 41, + 110, + 69.25 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "96c3a955-eb63-9471-5196-694594fda260" + }, + { + "name": "Nose1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -10, + 15.5, + -75.25 + ], + "to": [ + 10, + 32.5, + -45.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -25.25 + ], + "faces": { + "north": { + "uv": [ + 111, + 14, + 131, + 31 + ], + "texture": 0 + }, + "east": { + "uv": [ + 161, + 14.25, + 131, + 31.25 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 131, + 14.25, + 161, + 31.25 + ], + "texture": 0 + }, + "up": { + "uv": [ + 161, + 14, + 191, + 34 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 191, + 14, + 161, + 34 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "e7fa4708-6808-a16e-c3cf-84c4423ce64d" + }, + { + "name": "Nose2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 10, + 15.5, + -76.925 + ], + "to": [ + 20, + 29.5, + -46.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 19.15, + 0 + ], + "origin": [ + 20, + 22.5, + -46.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 80, + 17, + 110.425, + 31 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 99, + 4, + 129.425, + 14 + ], + "rotation": 270, + "texture": 0 + }, + "down": { + "uv": [ + 129.425, + 4, + 99, + 14 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "c62a05d2-a700-0657-0afa-5f2244004bff" + }, + { + "name": "Body2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20, + 15.5, + -46.5 + ], + "to": [ + 20, + 29.5, + -37 + ], + "autouv": 0, + "color": 0, + "inflate": -0.001, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 79.5, + 17, + 70, + 31 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 70, + 17, + 79.5, + 31 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 70, + 31, + 110, + 40.5 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f00ed130-bf0d-ecc1-f1ca-bbf1616f1ada" + }, + { + "name": "Nose3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20, + 15.5, + -76.925 + ], + "to": [ + -10, + 29.5, + -46.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -19.15, + 0 + ], + "origin": [ + -20, + 22.5, + -46.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 110.425, + 17, + 80, + 31 + ], + "texture": 0 + }, + "up": { + "uv": [ + 99, + 14, + 129.425, + 4 + ], + "rotation": 270, + "texture": 0 + }, + "down": { + "uv": [ + 129.425, + 14, + 99, + 4 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "09ad8112-4cf8-8762-652e-f5ad6d9f618e" + }, + { + "name": "RearBody1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -10, + 15.5, + 33 + ], + "to": [ + 10, + 50.5, + 63 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 191, + 14, + 211, + 49 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 130, + 32, + 150, + 62 + ], + "texture": 0 + }, + "down": { + "uv": [ + 170, + 34, + 190, + 64 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "890f0f8a-d674-0b64-0662-72ec21b7e302" + }, + { + "name": "RearBody2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20, + 15.5, + 33 + ], + "to": [ + 0, + 50.5, + 64.62 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 18.4, + 0 + ], + "origin": [ + -20, + 35, + 33 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 70, + 70, + 101.62, + 105 + ], + "texture": 0 + }, + "up": { + "uv": [ + 110, + 31, + 130, + 62.62 + ], + "texture": 0 + }, + "down": { + "uv": [ + 150, + 34, + 170, + 65.62 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "553e0577-b6a2-7ca8-524a-dcd364e5e845" + }, + { + "name": "RearBody3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 15.5, + 33 + ], + "to": [ + 20, + 50.5, + 64.62 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -18.4, + 0 + ], + "origin": [ + 20, + 35, + 33 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 101.62, + 70, + 70, + 105 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 130, + 31, + 110, + 62.62 + ], + "texture": 0 + }, + "down": { + "uv": [ + 170, + 34, + 150, + 65.62 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "6e532d40-881b-73cd-c7ce-a6d5be00d54f" + }, + { + "name": "EngineRoom1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 55.5, + -13 + ], + "to": [ + 8, + 71.5, + 13 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 110, + 125, + 126, + 141 + ], + "texture": 0 + }, + "east": { + "uv": [ + 152, + 125, + 126, + 141 + ], + "texture": 0 + }, + "south": { + "uv": [ + 152, + 125, + 168, + 141 + ], + "texture": 0 + }, + "west": { + "uv": [ + 126, + 125, + 152, + 141 + ], + "texture": 0 + }, + "up": { + "uv": [ + 168, + 125, + 194, + 141 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6daed1d4-981e-461b-e3bb-74c380ac33dc" + }, + { + "name": "EngineRoomLeft1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16, + 55.5, + -13 + ], + "to": [ + -8, + 61.5, + 17 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 120, + 8, + 126 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 8, + 120, + 38, + 126 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 126, + 30, + 134 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "429f5b24-b23e-95d7-a9ee-497cc9d6870d" + }, + { + "name": "EngineRoomLeft2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16, + 50.5, + 17 + ], + "to": [ + -8, + 64.5, + 45 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 28, + 134, + 42, + 142 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 42, + 134, + 56, + 142 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 38, + 120, + 66, + 134 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 134, + 28, + 142 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "4f5a613d-8830-b138-718b-9ffbb057e3d2" + }, + { + "name": "EngineRoom2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 50.5, + 13 + ], + "to": [ + 8, + 67.5, + 59 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 240, + 117, + 194, + 134 + ], + "texture": 0 + }, + "south": { + "uv": [ + 240, + 117, + 256, + 134 + ], + "texture": 0 + }, + "west": { + "uv": [ + 194, + 117, + 240, + 134 + ], + "texture": 0 + }, + "up": { + "uv": [ + 194, + 134, + 240, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "00352831-878c-36dd-56e5-23907f1b47fa" + }, + { + "name": "EngineRoomExhaustLeft1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16, + 63.5, + 45 + ], + "to": [ + -8, + 64.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 30, + 131, + 38, + 132 + ], + "texture": 0 + }, + "west": { + "uv": [ + 37, + 132, + 38, + 126 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 30, + 126, + 38, + 132 + ], + "texture": 0 + }, + "down": { + "uv": [ + 30, + 126, + 31, + 127 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "59b62c8d-08db-51f2-9fd9-207412f3c43a" + }, + { + "name": "EngineRoomExhaustLeft2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16, + 56.5, + 45 + ], + "to": [ + -8, + 57.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 30, + 131, + 38, + 132 + ], + "texture": 0 + }, + "west": { + "uv": [ + 30, + 132, + 31, + 126 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 30, + 126, + 38, + 132 + ], + "texture": 0 + }, + "down": { + "uv": [ + 30, + 126, + 38, + 132 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "48913cfa-28ec-987b-4365-3a4efe28b6e9" + }, + { + "name": "EngineRoomExhaustLeft3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16, + 57.5, + 45 + ], + "to": [ + -15, + 63.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 30, + 126, + 31, + 127 + ], + "texture": 0 + }, + "south": { + "uv": [ + 31, + 131, + 37, + 132 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 31, + 126, + 37, + 132 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "12a1c9b3-563f-29d1-4231-8b8960e9bf95" + }, + { + "name": "EngineRoomExhaustLeft4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -9, + 57.5, + 45 + ], + "to": [ + -8, + 63.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 31, + 131, + 37, + 132 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 31, + 126, + 37, + 132 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "bb1f1492-cd11-fc0f-eb04-6a5f11c8bd62" + }, + { + "name": "RotorShaft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 71.5, + -2 + ], + "to": [ + 2, + 77.5, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 142, + 4, + 148 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 142, + 4, + 148 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 142, + 4, + 148 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 142, + 4, + 148 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "a1ca5212-93a0-4d30-6122-d2e5c9872983" + }, + { + "name": "RotorHead", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5, + 77.5, + -5 + ], + "to": [ + 5, + 81.5, + 5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 4, + 152, + 14, + 156 + ], + "texture": 0 + }, + "east": { + "uv": [ + 4, + 152, + 14, + 156 + ], + "texture": 0 + }, + "south": { + "uv": [ + 4, + 152, + 14, + 156 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 152, + 14, + 156 + ], + "texture": 0 + }, + "up": { + "uv": [ + 4, + 142, + 14, + 152 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 142, + 14, + 152 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "66601b79-7b9e-fa15-2bd4-56693acf0bb7" + }, + { + "name": "BladeSleeve", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 78.5, + -17 + ], + "to": [ + 3, + 80.5, + -5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 44, + 142, + 38, + 144 + ], + "texture": 0 + }, + "east": { + "uv": [ + 38, + 142, + 26, + 144 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 26, + 142, + 38, + 144 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "103317bc-2688-89dd-17f8-3650470efcaa" + }, + { + "name": "Blade1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 79, + -25 + ], + "to": [ + 2, + 80, + -17 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 94, + 152, + 102, + 153 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 94, + 149, + 102, + 150 + ], + "texture": 0 + }, + "up": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "d1db4ea0-4661-4e86-13ab-d074bdb22394" + }, + { + "name": "Blade2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 79, + -105 + ], + "to": [ + 3, + 80, + -25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 14, + 148, + 15, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 94, + 153, + 14, + 154 + ], + "texture": 0 + }, + "south": { + "uv": [ + 93, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 14, + 148, + 94, + 149 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 148, + 14, + 154 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "8c22cade-6d0a-00a9-2974-2804a153f903" + }, + { + "name": "Tail1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 17.5, + 62 + ], + "to": [ + 7, + 48.5, + 97 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -158 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 145, + 94, + 110, + 125 + ], + "texture": 0 + }, + "south": { + "uv": [ + 211, + 0, + 225, + 31 + ], + "texture": 0 + }, + "west": { + "uv": [ + 110, + 94, + 145, + 125 + ], + "texture": 0 + }, + "up": { + "uv": [ + 110, + 66, + 145, + 80 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 110, + 80, + 145, + 94 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "623664b1-2689-578e-fd04-eee31711ff1d" + }, + { + "name": "Tail2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 21.5, + 97 + ], + "to": [ + 7, + 48.5, + 132 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -158 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 180, + 94, + 145, + 121 + ], + "texture": 0 + }, + "south": { + "uv": [ + 211, + 31, + 225, + 62 + ], + "texture": 0 + }, + "west": { + "uv": [ + 145, + 94, + 180, + 121 + ], + "texture": 0 + }, + "up": { + "uv": [ + 145, + 66, + 180, + 80 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 145, + 80, + 180, + 94 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "fc8ce5f4-0840-2f3d-140f-21dc84105267" + }, + { + "name": "Tail3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 25.5, + 132 + ], + "to": [ + 7, + 48.5, + 167 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -158 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 215, + 94, + 180, + 117 + ], + "texture": 0 + }, + "south": { + "uv": [ + 225, + 0, + 239, + 23 + ], + "texture": 0 + }, + "west": { + "uv": [ + 180, + 94, + 215, + 117 + ], + "texture": 0 + }, + "up": { + "uv": [ + 180, + 66, + 215, + 80 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 180, + 80, + 215, + 94 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "8e802d51-1ae6-3899-f6d4-8cd3c38b139f" + }, + { + "name": "Tail4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 29.5, + 167 + ], + "to": [ + 7, + 48.5, + 202 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -158 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 250, + 94, + 215, + 113 + ], + "texture": 0 + }, + "south": { + "uv": [ + 225, + 23, + 239, + 42 + ], + "texture": 0 + }, + "west": { + "uv": [ + 215, + 94, + 250, + 113 + ], + "texture": 0 + }, + "up": { + "uv": [ + 215, + 66, + 250, + 80 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 215, + 80, + 250, + 94 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "67af4d6d-9e06-3523-d121-1449e5623033" + }, + { + "name": "TailBladeLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -27, + 27.5, + 110 + ], + "to": [ + -7, + 29.5, + 120 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 10, + 0 + ], + "origin": [ + -7, + 28, + 110 + ], + "faces": { + "north": { + "uv": [ + 150, + 8, + 130, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 180, + 8, + 160, + 10 + ], + "texture": 0 + }, + "west": { + "uv": [ + 160, + 8, + 150, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 206, + 0, + 186, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 206, + 10, + 186, + 0 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f0926915-1b03-abd3-2ff0-fb9e7b9d69ba" + }, + { + "name": "Tail5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 48.5, + 175 + ], + "to": [ + 4, + 88.5, + 191 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 48, + 175 + ], + "faces": { + "north": { + "uv": [ + 130, + 0, + 170, + 8 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 255, + 0, + 239, + 40 + ], + "texture": 0 + }, + "south": { + "uv": [ + 130, + 0, + 170, + 8 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 239, + 0, + 255, + 40 + ], + "texture": 0 + }, + "up": { + "uv": [ + 170, + 0, + 186, + 8 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "0945a87b-a1d3-7f38-aac7-6dcca9f02a58" + }, + { + "name": "RotorShaft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 79.5, + 181 + ], + "to": [ + 10, + 83.5, + 185 + ], + "autouv": 0, + "color": 0, + "origin": [ + 11, + 85, + 175 + ], + "faces": { + "north": { + "uv": [ + 0, + 156, + 4, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 156, + 4, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 156, + 4, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 156, + 4, + 162 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "4921cf7b-b2b3-af9f-9a0d-45bd294a5c63" + }, + { + "name": "RotorHead", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 10, + 76.5, + 178 + ], + "to": [ + 14, + 86.5, + 188 + ], + "autouv": 0, + "color": 0, + "origin": [ + 11, + 85, + 175 + ], + "faces": { + "north": { + "uv": [ + 4, + 166, + 14, + 170 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 4, + 156, + 14, + 166 + ], + "texture": 0 + }, + "south": { + "uv": [ + 4, + 166, + 14, + 170 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 4, + 156, + 14, + 166 + ], + "texture": 0 + }, + "up": { + "uv": [ + 4, + 166, + 14, + 170 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 4, + 166, + 14, + 170 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "5354d04a-dcfe-a853-0890-af0a391580cf" + }, + { + "name": "TailSleeve", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11, + 72.5, + 180 + ], + "to": [ + 13, + 76.5, + 186 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 81, + 183 + ], + "faces": { + "north": { + "uv": [ + 18, + 154, + 22, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 14, + 154, + 18, + 160 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 18, + 154, + 22, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 14, + 154, + 18, + 160 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 22, + 154, + 28, + 156 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "b4ca7b1a-f286-c59f-de41-2f4c81ebcf60" + }, + { + "name": "Blade1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11.5, + 68.5, + 183 + ], + "to": [ + 12.5, + 72.5, + 185 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 81, + 183 + ], + "faces": { + "north": { + "uv": [ + 34, + 160, + 30, + 161 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 34, + 160, + 30, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 34, + 161, + 30, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 34, + 160, + 30, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b22dabbf-eb73-a416-efd2-8c592faea638" + }, + { + "name": "Blade2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11.5, + 52.5, + 181 + ], + "to": [ + 12.5, + 68.5, + 185 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 81, + 183 + ], + "faces": { + "north": { + "uv": [ + 30, + 160, + 14, + 161 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 30, + 160, + 14, + 164 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 30, + 163, + 14, + 164 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 30, + 160, + 14, + 164 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 29, + 164, + 30, + 160 + ], + "texture": 0 + }, + "down": { + "uv": [ + 14, + 164, + 15, + 160 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8659a038-d656-e9a6-677d-860067d72528" + }, + { + "name": "LanderShaft1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16, + -1.5, + -37 + ], + "to": [ + -14, + 15.5, + -35 + ], + "autouv": 0, + "color": 0, + "origin": [ + -15, + 13, + -25 + ], + "faces": { + "north": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b9e80942-0725-306b-d7d1-726fef83a08d" + }, + { + "name": "LanderShaft2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16, + -1.5, + 31 + ], + "to": [ + -14, + 15.5, + 33 + ], + "autouv": 0, + "color": 0, + "origin": [ + -15, + 13, + -25 + ], + "faces": { + "north": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "be81893d-06ce-98ae-2241-f24e1a6e49e0" + }, + { + "name": "LanderBottom1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -18, + -2.5, + -47 + ], + "to": [ + -12, + -0.5, + 43 + ], + "autouv": 0, + "color": 0, + "origin": [ + -14, + 15, + -2 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 110, + 154, + 200, + 156 + ], + "texture": 0 + }, + "south": { + "uv": [ + 110, + 150, + 112, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 110, + 150, + 200, + 152 + ], + "texture": 0 + }, + "up": { + "uv": [ + 110, + 150, + 200, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 110, + 150, + 200, + 156 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "d4502cca-0b14-7d86-6160-f86322c35b25" + }, + { + "name": "LanderBottom2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -18, + -2.5, + -57 + ], + "to": [ + -12, + -0.5, + -47 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -15, + -3, + -47 + ], + "faces": { + "north": { + "uv": [ + 200, + 150, + 202, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 200, + 154, + 210, + 156 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 200, + 150, + 210, + 152 + ], + "texture": 0 + }, + "up": { + "uv": [ + 200, + 150, + 210, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 200, + 150, + 210, + 156 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "57c510e5-6036-ee15-39e0-ae4cbb2c00fa" + }, + { + "name": "LanderShaft1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 14, + -1.5, + -37 + ], + "to": [ + 16, + 15.5, + -35 + ], + "autouv": 0, + "color": 0, + "origin": [ + 15, + 13, + -25 + ], + "faces": { + "north": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e7f46383-2d20-b790-1b02-2efbd9022ded" + }, + { + "name": "LanderShaft2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 14, + -1.5, + 31 + ], + "to": [ + 16, + 15.5, + 33 + ], + "autouv": 0, + "color": 0, + "origin": [ + 15, + 13, + -25 + ], + "faces": { + "north": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "30329970-0ddf-fc94-6f51-ee9cfbee974b" + }, + { + "name": "LanderBottom1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 12, + -2.5, + -47 + ], + "to": [ + 18, + -0.5, + 43 + ], + "autouv": 0, + "color": 0, + "origin": [ + 14, + 15, + -2 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 110, + 154, + 200, + 156 + ], + "texture": 0 + }, + "south": { + "uv": [ + 110, + 150, + 112, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 110, + 150, + 200, + 152 + ], + "texture": 0 + }, + "up": { + "uv": [ + 110, + 150, + 200, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 110, + 150, + 200, + 156 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "22aaf02a-dcc5-0b1e-163c-8f002d8a332d" + }, + { + "name": "LanderBottom2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 12, + -2.5, + -57 + ], + "to": [ + 18, + -0.5, + -47 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + 15, + -3, + -47 + ], + "faces": { + "north": { + "uv": [ + 200, + 150, + 202, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 200, + 154, + 210, + 156 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 200, + 150, + 210, + 152 + ], + "texture": 0 + }, + "up": { + "uv": [ + 200, + 150, + 210, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 200, + 150, + 210, + 156 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "7823fa17-de11-0fe8-2baf-f8fb991f1c3a" + }, + { + "name": "TailBladeRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 7, + 27.5, + 110 + ], + "to": [ + 27, + 29.5, + 120 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -10, + 0 + ], + "origin": [ + 7, + 28, + 110 + ], + "faces": { + "north": { + "uv": [ + 130, + 8, + 150, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 150, + 8, + 160, + 10 + ], + "texture": 0 + }, + "south": { + "uv": [ + 160, + 8, + 180, + 10 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 186, + 0, + 206, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 186, + 10, + 206, + 0 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "87df5ebb-ce10-e033-a030-13710b994a15" + }, + { + "name": "EngineRoomRight1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + 55.5, + -13 + ], + "to": [ + 16, + 61.5, + 17 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 8, + 120, + 0, + 126 + ], + "texture": 0 + }, + "east": { + "uv": [ + 38, + 120, + 8, + 126 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 134, + 30, + 126 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "02e23b3b-bbd1-8429-2e72-30a7942b1a59" + }, + { + "name": "EngineRoomRight2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + 50.5, + 17 + ], + "to": [ + 16, + 64.5, + 45 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 28, + 142, + 42, + 134 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 66, + 120, + 38, + 134 + ], + "texture": 0 + }, + "south": { + "uv": [ + 42, + 134, + 56, + 142 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 142, + 28, + 134 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "47afaa80-32d5-ef12-1c54-f7af51108b24" + }, + { + "name": "EngineRoomExhaustRight1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + 63.5, + 45 + ], + "to": [ + 16, + 64.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 37, + 126, + 38, + 132 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 38, + 131, + 30, + 132 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 38, + 126, + 30, + 132 + ], + "texture": 0 + }, + "down": { + "uv": [ + 38, + 126, + 30, + 132 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b0c15dcb-3164-8e83-617a-faf2031bad34" + }, + { + "name": "EngineRoomExhaustRight2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + 56.5, + 45 + ], + "to": [ + 16, + 57.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 37, + 126, + 38, + 132 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 38, + 131, + 30, + 132 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 38, + 126, + 30, + 132 + ], + "texture": 0 + }, + "down": { + "uv": [ + 38, + 126, + 30, + 132 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "fea2953f-ff6d-d6f4-0e7a-12e45eb37e3d" + }, + { + "name": "EngineRoomExhaustRight3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 15, + 57.5, + 45 + ], + "to": [ + 16, + 63.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 37, + 132, + 31, + 126 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 31, + 132, + 37, + 131 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6e2dde80-d293-08d7-2c83-8f7edab96858" + }, + { + "name": "EngineRoomExhaustRight4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + 57.5, + 45 + ], + "to": [ + 9, + 63.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 31, + 132, + 37, + 126 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 31, + 132, + 37, + 131 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "787b4297-9e84-2172-ca92-f890a7337aaa" + }, + { + "name": "BladeSleeve", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 78.5, + -17 + ], + "to": [ + 3, + 80.5, + -5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 44, + 142, + 38, + 144 + ], + "texture": 0 + }, + "east": { + "uv": [ + 38, + 142, + 26, + 144 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 26, + 142, + 38, + 144 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "db87ecaf-8136-4d52-d5c9-3d4f4b20fd3d" + }, + { + "name": "Blade1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 79, + -25 + ], + "to": [ + 2, + 80, + -17 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 94, + 152, + 102, + 153 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 94, + 149, + 102, + 150 + ], + "texture": 0 + }, + "up": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "c586ee43-2365-0815-9be1-57eb4d52415d" + }, + { + "name": "Blade2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 79, + -105 + ], + "to": [ + 3, + 80, + -25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 14, + 148, + 15, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 94, + 153, + 14, + 154 + ], + "texture": 0 + }, + "south": { + "uv": [ + 93, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 14, + 148, + 94, + 149 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 148, + 14, + 154 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "adfdc4b7-1eb1-0617-f8ab-48b0db5665f9" + }, + { + "name": "BladeSleeve", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 78.5, + -17 + ], + "to": [ + 3, + 80.5, + -5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 44, + 142, + 38, + 144 + ], + "texture": 0 + }, + "east": { + "uv": [ + 38, + 142, + 26, + 144 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 26, + 142, + 38, + 144 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "9a654922-f592-c03e-ec3a-411273b14955" + }, + { + "name": "Blade1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 79, + -25 + ], + "to": [ + 2, + 80, + -17 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 94, + 152, + 102, + 153 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 94, + 149, + 102, + 150 + ], + "texture": 0 + }, + "up": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "34b50ab0-c515-6c0a-ebe9-80822ac5c44e" + }, + { + "name": "Blade2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 79, + -105 + ], + "to": [ + 3, + 80, + -25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 14, + 148, + 15, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 94, + 153, + 14, + 154 + ], + "texture": 0 + }, + "south": { + "uv": [ + 93, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 14, + 148, + 94, + 149 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 148, + 14, + 154 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "d28f3b53-e1fd-6e19-ee52-768b3d16f520" + }, + { + "name": "BladeSleeve", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 78.5, + -17 + ], + "to": [ + 3, + 80.5, + -5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 44, + 142, + 38, + 144 + ], + "texture": 0 + }, + "east": { + "uv": [ + 38, + 142, + 26, + 144 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 26, + 142, + 38, + 144 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "cf06849c-bf04-230f-8555-70a0f6fbb714" + }, + { + "name": "Blade1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 79, + -25 + ], + "to": [ + 2, + 80, + -17 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 94, + 152, + 102, + 153 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 94, + 149, + 102, + 150 + ], + "texture": 0 + }, + "up": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "b91de1a5-0b22-48de-55da-1ad9e0400b04" + }, + { + "name": "Blade2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 79, + -105 + ], + "to": [ + 3, + 80, + -25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 14, + 148, + 15, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 94, + 153, + 14, + 154 + ], + "texture": 0 + }, + "south": { + "uv": [ + 93, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 14, + 148, + 94, + 149 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 148, + 14, + 154 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "3ae96f69-18b8-0a78-9d04-f3caffc1b4a1" + }, + { + "name": "TailSleeve", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11, + 72.5, + 180 + ], + "to": [ + 13, + 76.5, + 186 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 81, + 183 + ], + "faces": { + "north": { + "uv": [ + 18, + 154, + 22, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 14, + 154, + 18, + 160 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 18, + 154, + 22, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 14, + 154, + 18, + 160 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 22, + 154, + 28, + 156 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "4e2b41c3-a5b0-7ac4-3410-47ad58210db4" + }, + { + "name": "Blade1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11.5, + 68.5, + 183 + ], + "to": [ + 12.5, + 72.5, + 185 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 81, + 183 + ], + "faces": { + "north": { + "uv": [ + 34, + 160, + 30, + 161 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 34, + 160, + 30, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 34, + 161, + 30, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 34, + 160, + 30, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b017b261-b144-7afe-0641-3d4b4b111aa5" + }, + { + "name": "Blade2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11.5, + 52.5, + 181 + ], + "to": [ + 12.5, + 68.5, + 185 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 81, + 183 + ], + "faces": { + "north": { + "uv": [ + 30, + 160, + 14, + 161 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 30, + 160, + 14, + 164 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 30, + 163, + 14, + 164 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 30, + 160, + 14, + 164 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 29, + 164, + 30, + 160 + ], + "texture": 0 + }, + "down": { + "uv": [ + 14, + 164, + 15, + 160 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "aeb1e055-a22c-2884-4143-efb88f549cb3" + }, + { + "name": "DoorLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20.1, + 16.5, + -21 + ], + "to": [ + -18.1, + 51.5, + 28 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 34, + 154, + 36, + 189 + ], + "texture": 0 + }, + "east": { + "uv": [ + 85, + 156, + 134, + 191 + ], + "texture": 0 + }, + "south": { + "uv": [ + 34, + 154, + 36, + 189 + ], + "texture": 0 + }, + "west": { + "uv": [ + 36, + 156, + 85, + 191 + ], + "texture": 0 + }, + "up": { + "uv": [ + 36, + 154, + 85, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 36, + 154, + 85, + 156 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "c683f988-d7ac-d768-398e-41744d3302cb" + }, + { + "name": "DoorRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 18.1, + 16.5, + -21 + ], + "to": [ + 20.1, + 51.5, + 28 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 36, + 154, + 34, + 189 + ], + "texture": 0 + }, + "east": { + "uv": [ + 85, + 156, + 36, + 191 + ], + "texture": 0 + }, + "south": { + "uv": [ + 36, + 154, + 34, + 189 + ], + "texture": 0 + }, + "west": { + "uv": [ + 134, + 156, + 85, + 191 + ], + "texture": 0 + }, + "up": { + "uv": [ + 36, + 156, + 85, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 36, + 156, + 85, + 154 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "0c7841d3-9d21-15ca-262b-1627bc2f205b" + }, + { + "name": "SchaleLabel", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20.2, + 19.5, + -16 + ], + "to": [ + -20.2, + 24.5, + 23 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 134, + 156, + 173, + 161 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "166f93d9-1fd0-34ac-2675-dd025f53f0f8" + }, + { + "name": "SchaleLabel", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 20.2, + 19.5, + -16 + ], + "to": [ + 20.2, + 24.5, + 23 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 134, + 156, + 173, + 161 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "20c339d6-7391-1da8-9c28-0cd84d7d4b32" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 2, + 7 + ], + "to": [ + 1, + 18, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 2, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "ceea50d1-ebb7-d7cb-b6b9-69a321fd2698" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 2, + -3 + ], + "to": [ + 1, + 18, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 2, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2cbdf3db-26d4-6b03-d386-78cbd775872a" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 5.5, + -4 + ], + "to": [ + 2, + 6.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 2, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "bc13f85c-c966-c61e-8958-954dae7efcd9" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 13.5, + -4 + ], + "to": [ + 2, + 14.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 2, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "af62dbcd-800e-f962-49ef-2cc8b7512391" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -14, + 7 + ], + "to": [ + 1, + 2, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -14, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a2f4989f-e70f-5196-4050-f0b1825614e1" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -14, + -3 + ], + "to": [ + 1, + 2, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -14, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "3c8f15aa-a7a8-ebc5-4678-c3e2f4a624d7" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -2.5, + -4 + ], + "to": [ + 2, + -1.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -14, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "05bc5a8b-b514-4d34-9df4-85a29e758ed2" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -10.5, + -4 + ], + "to": [ + 2, + -9.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -14, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "560ddc94-bfeb-9ca3-3ad5-2b996a9417e5" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -30, + 7 + ], + "to": [ + 1, + -14, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -30, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5ad4ce08-eefc-6107-fc45-b54c501d5a17" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -30, + -3 + ], + "to": [ + 1, + -14, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -30, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5382e7ce-0210-07a3-5a39-564881ad85b6" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -18.5, + -4 + ], + "to": [ + 2, + -17.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -30, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "651651ac-c2e0-5cef-8e1a-981e98653024" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -26.5, + -4 + ], + "to": [ + 2, + -25.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -30, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "29295c79-a462-f3ae-b17d-165b0b24e5d0" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -46, + 7 + ], + "to": [ + 1, + -30, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -46, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "adcf364d-c4cb-636b-81d6-c7977d7b3525" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -46, + -3 + ], + "to": [ + 1, + -30, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -46, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "42f4c692-3694-c495-ec99-09556d5bb0c0" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -34.5, + -4 + ], + "to": [ + 2, + -33.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -46, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "595ef090-7f9a-8179-e935-4b29f2d7e184" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -42.5, + -4 + ], + "to": [ + 2, + -41.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -46, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "9d74e4a4-4705-1cf9-0022-51fe5ae26385" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -62, + 7 + ], + "to": [ + 1, + -46, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -62, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e61bb277-9b35-78e5-93f1-b3f8d8d7fc7f" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -62, + -3 + ], + "to": [ + 1, + -46, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -62, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "37236c6a-8616-a237-baa4-aa0ead82d0f7" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -50.5, + -4 + ], + "to": [ + 2, + -49.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -62, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "1a350fe0-670a-70fe-88e3-734694dad6ba" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -58.5, + -4 + ], + "to": [ + 2, + -57.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -62, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "6584c65b-14b3-9256-0b14-bc8198dfc9fb" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -78, + 7 + ], + "to": [ + 1, + -62, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -78, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a6b332b9-51fe-6bde-d3f7-f4d49e2fad64" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -78, + -3 + ], + "to": [ + 1, + -62, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -78, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e283a6d7-c1c4-dccf-55a8-7d7f840f4259" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -66.5, + -4 + ], + "to": [ + 2, + -65.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -78, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "abbdc168-0478-26c0-4fd5-8a4e0a6d6c70" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -74.5, + -4 + ], + "to": [ + 2, + -73.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -78, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d8af1577-a3b2-233f-5fa7-8614c8a06d46" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -94, + 7 + ], + "to": [ + 1, + -78, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -94, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "1382a9ae-d04f-9f91-e940-0acfccd26b02" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -94, + -3 + ], + "to": [ + 1, + -78, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -94, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f47a62ab-f0c5-eba4-9b39-c6ddcd063b1d" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -82.5, + -4 + ], + "to": [ + 2, + -81.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -94, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "db16de55-a5a5-3191-cab1-737029a1c1d4" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -90.5, + -4 + ], + "to": [ + 2, + -89.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -94, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "bb0aac5a-aed5-18eb-078c-087cadeaa272" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -110, + 7 + ], + "to": [ + 1, + -94, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -110, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "65c9cc04-0f2e-be8d-e5dd-596432b80caf" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -110, + -3 + ], + "to": [ + 1, + -94, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -110, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "dc6bada8-0f68-3157-623e-5d707cf63adc" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -98.5, + -4 + ], + "to": [ + 2, + -97.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -110, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "1b0b4d4b-ba33-c817-e5b6-ce5f0a015670" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -106.5, + -4 + ], + "to": [ + 2, + -105.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -110, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "34d34524-8192-5c54-2edb-6687d32c54ae" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -126, + 7 + ], + "to": [ + 1, + -110, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -126, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b9cf06c2-18d5-b469-6005-557f1b65bbd3" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -126, + -3 + ], + "to": [ + 1, + -110, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -126, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e28c6ffe-1742-144c-1949-91050bdc81f5" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -114.5, + -4 + ], + "to": [ + 2, + -113.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -126, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "173bd1e5-b573-e827-e8c1-3b545bb9fddb" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -122.5, + -4 + ], + "to": [ + 2, + -121.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -126, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b8bc4a52-d289-10ea-307c-b439840f0306" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -142, + 7 + ], + "to": [ + 1, + -126, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -142, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "616545a5-dc5f-fc34-fba0-fa73a5d2dda0" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -142, + -3 + ], + "to": [ + 1, + -126, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -142, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "84690380-add5-e58c-bade-29566cbd0ca8" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -130.5, + -4 + ], + "to": [ + 2, + -129.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -142, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "9995ccb7-13d8-d7ad-177b-1061111eae4e" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -138.5, + -4 + ], + "to": [ + 2, + -137.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -142, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "fbde71ac-aa28-ddfc-b282-2d8a90ca7468" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -158, + 7 + ], + "to": [ + 1, + -142, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -158, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "188ccb12-851b-1814-a474-acf791a7b3fe" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -158, + -3 + ], + "to": [ + 1, + -142, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -158, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5c2041f8-0c46-922f-089a-18b3e99969ed" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -146.5, + -4 + ], + "to": [ + 2, + -145.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -158, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "334e1d65-f729-2eef-0d61-2ce72451a335" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -154.5, + -4 + ], + "to": [ + 2, + -153.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -158, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "7a2fd5ad-01b2-3a7e-11db-8fc0532ea0ac" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -174, + 7 + ], + "to": [ + 1, + -158, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -174, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "ffe85353-4a8e-827b-da4c-b073e7ea6377" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -174, + -3 + ], + "to": [ + 1, + -158, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -174, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "86a1da75-1f45-bf6f-2f92-2fc63d8e993a" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -162.5, + -4 + ], + "to": [ + 2, + -161.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -174, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "d506e185-339a-eebd-7381-6348d3f8e0d4" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -170.5, + -4 + ], + "to": [ + 2, + -169.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -174, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "511c8f02-6fd7-f679-dd0d-5618cd7e5ed1" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -190, + 7 + ], + "to": [ + 1, + -174, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -190, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e9f10a40-b536-eefe-721f-aff1b8a6a6a9" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -190, + -3 + ], + "to": [ + 1, + -174, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -190, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "066c1dc4-37b5-d79d-12b2-d0a3ef5ebf37" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -178.5, + -4 + ], + "to": [ + 2, + -177.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -190, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "fc44e348-0fba-cb31-af5b-16506815543e" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -186.5, + -4 + ], + "to": [ + 2, + -185.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -190, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5f77bf2c-d246-9156-c10e-f71dcaed59a1" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -206, + 7 + ], + "to": [ + 1, + -190, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -206, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "6fc54381-1c0e-b4af-9bbc-4d8da96fecf9" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -206, + -3 + ], + "to": [ + 1, + -190, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -206, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "afef023d-931c-9a20-73fc-6300e8088df0" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -194.5, + -4 + ], + "to": [ + 2, + -193.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -206, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "b2709f0b-8848-15c4-8022-5ee5ae61eb21" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -202.5, + -4 + ], + "to": [ + 2, + -201.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -206, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b335fbde-c8fa-7a9d-ef18-8aca48e7e18c" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -222, + 7 + ], + "to": [ + 1, + -206, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -222, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c20a24d6-be1c-9057-82d7-04de02f59886" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -222, + -3 + ], + "to": [ + 1, + -206, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -222, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "3a63e341-e8fb-2bd2-6362-8562b2e7b7ef" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -210.5, + -4 + ], + "to": [ + 2, + -209.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -222, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "976656dc-5616-ef7b-ff0f-0284637bb753" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -218.5, + -4 + ], + "to": [ + 2, + -217.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -222, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "da9f89fb-21c2-448a-c367-0f483f1fdd96" + } + ], + "outliner": [ + { + "name": "Helicopter", + "origin": [ + 0, + 41, + 72 + ], + "color": 0, + "uuid": "3855c725-cad3-125d-db6d-7aa36afaff7c", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b7c05a5f-7761-cdb8-f20e-1c37a3ade2d6", + "f00ed130-bf0d-ecc1-f1ca-bbf1616f1ada", + "96c3a955-eb63-9471-5196-694594fda260", + { + "name": "Doors", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "c8c6350b-e8cd-d570-31a7-cf4e2bc83a28", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "DoorLeft", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "ed76b98c-a423-8851-e841-2021ddaf8547", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "c683f988-d7ac-d768-398e-41744d3302cb", + "166f93d9-1fd0-34ac-2675-dd025f53f0f8" + ] + }, + { + "name": "DoorRight", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "2c757bc9-83e6-d23d-9df6-bf4f97a4f5d6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "0c7841d3-9d21-15ca-262b-1627bc2f205b", + "20c339d6-7391-1da8-9c28-0cd84d7d4b32" + ] + } + ] + }, + { + "name": "Nose", + "origin": [ + 0, + 15, + -25.25 + ], + "color": 0, + "uuid": "7c0528cc-eca1-1af9-1c0e-8dc2ad12def4", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e7fa4708-6808-a16e-c3cf-84c4423ce64d", + "c62a05d2-a700-0657-0afa-5f2244004bff", + "09ad8112-4cf8-8762-652e-f5ad6d9f618e" + ] + }, + { + "name": "RearBody", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "93e928d9-d6f0-43df-6293-0a3cd4e289b6", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "890f0f8a-d674-0b64-0662-72ec21b7e302", + "553e0577-b6a2-7ca8-524a-dcd364e5e845", + "6e532d40-881b-73cd-c7ce-a6d5be00d54f", + { + "name": "Tail", + "origin": [ + 0, + 15, + -158 + ], + "color": 0, + "uuid": "d262a3fe-1946-6256-fce5-ba051869f9b3", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "623664b1-2689-578e-fd04-eee31711ff1d", + "fc8ce5f4-0840-2f3d-140f-21dc84105267", + "8e802d51-1ae6-3899-f6d4-8cd3c38b139f", + "67af4d6d-9e06-3523-d121-1449e5623033", + { + "name": "TailBlades", + "origin": [ + 0, + 27, + 111 + ], + "color": 0, + "uuid": "a5b0c0fa-1a35-5bbc-8477-a99377c7910e", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f0926915-1b03-abd3-2ff0-fb9e7b9d69ba", + "87df5ebb-ce10-e033-a030-13710b994a15" + ] + }, + { + "name": "Tail2", + "origin": [ + 0, + 48, + 175 + ], + "rotation": [ + 45, + 0, + 0 + ], + "color": 0, + "uuid": "22f49b13-6a3d-b438-2c5c-dc918d4d3576", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "0945a87b-a1d3-7f38-aac7-6dcca9f02a58", + { + "name": "TailRotor", + "origin": [ + 4, + 81, + 183 + ], + "rotation": [ + -45, + 0, + 0 + ], + "color": 0, + "uuid": "cd3f847e-32d5-a57a-9d0d-2fb39777e3db", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4921cf7b-b2b3-af9f-9a0d-45bd294a5c63", + "5354d04a-dcfe-a853-0890-af0a391580cf", + { + "name": "TailRotorBlades", + "origin": [ + 12, + 81, + 183 + ], + "color": 0, + "uuid": "47f57408-507e-ee25-dfbd-8f633fe8ccfd", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "TailRotorBlade1", + "origin": [ + 12, + 81, + 183 + ], + "color": 0, + "uuid": "124e1398-1a3b-52cb-328a-d53ee1298459", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4e2b41c3-a5b0-7ac4-3410-47ad58210db4", + "b017b261-b144-7afe-0641-3d4b4b111aa5", + "aeb1e055-a22c-2884-4143-efb88f549cb3" + ] + }, + { + "name": "TailRotorBlade2", + "origin": [ + 12, + 81, + 183 + ], + "rotation": [ + -180, + 0, + 0 + ], + "color": 0, + "uuid": "f048d185-df18-6a18-4f96-77a3b8dc02e8", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b4ca7b1a-f286-c59f-de41-2f4c81ebcf60", + "b22dabbf-eb73-a416-efd2-8c592faea638", + "8659a038-d656-e9a6-677d-860067d72528" + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "name": "Lander", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "3352001e-59dc-756f-ca56-75a0ff69c425", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "LanderLeft", + "origin": [ + -14, + 15, + -2 + ], + "rotation": [ + 0, + 0, + -30 + ], + "color": 0, + "uuid": "e96bb96e-5c1e-69c0-e981-61680a7c39d2", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b9e80942-0725-306b-d7d1-726fef83a08d", + "be81893d-06ce-98ae-2241-f24e1a6e49e0", + { + "name": "LanderBottomLeft", + "origin": [ + -15, + -1, + -2 + ], + "rotation": [ + 0, + 0, + 30 + ], + "color": 0, + "uuid": "44f381e1-ac30-7518-5b19-76b403eb7996", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d4502cca-0b14-7d86-6160-f86322c35b25", + "57c510e5-6036-ee15-39e0-ae4cbb2c00fa" + ] + } + ] + }, + { + "name": "LanderRight", + "origin": [ + 14, + 15, + -2 + ], + "rotation": [ + 0, + 0, + 30 + ], + "color": 0, + "uuid": "9d0c1522-0a37-b6a7-2e1d-6a52b389a65c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e7f46383-2d20-b790-1b02-2efbd9022ded", + "30329970-0ddf-fc94-6f51-ee9cfbee974b", + { + "name": "LanderBottomRight", + "origin": [ + 15, + -1, + -2 + ], + "rotation": [ + 0, + 0, + -30 + ], + "color": 0, + "uuid": "f4cc6580-f851-149d-f2fb-1bc9469b7ce1", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "22aaf02a-dcc5-0b1e-163c-8f002d8a332d", + "7823fa17-de11-0fe8-2baf-f8fb991f1c3a" + ] + } + ] + } + ] + }, + { + "name": "EngineRoom", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "32d2ada4-d3e8-9606-b3e2-5e51f4ee0c7b", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "6daed1d4-981e-461b-e3bb-74c380ac33dc", + "00352831-878c-36dd-56e5-23907f1b47fa", + { + "name": "EngineRoomLeft", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "cca24d86-e850-053a-9dec-395bac3130ea", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "429f5b24-b23e-95d7-a9ee-497cc9d6870d", + "4f5a613d-8830-b138-718b-9ffbb057e3d2", + "59b62c8d-08db-51f2-9fd9-207412f3c43a", + "48913cfa-28ec-987b-4365-3a4efe28b6e9", + "12a1c9b3-563f-29d1-4231-8b8960e9bf95", + "bb1f1492-cd11-fc0f-eb04-6a5f11c8bd62" + ] + }, + { + "name": "EngineRoomRight", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "76ae5dd4-5132-c9eb-0ef8-a39f2bd556af", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "02e23b3b-bbd1-8429-2e72-30a7942b1a59", + "47afaa80-32d5-ef12-1c54-f7af51108b24", + "b0c15dcb-3164-8e83-617a-faf2031bad34", + "fea2953f-ff6d-d6f4-0e7a-12e45eb37e3d", + "6e2dde80-d293-08d7-2c83-8f7edab96858", + "787b4297-9e84-2172-ca92-f890a7337aaa" + ] + }, + { + "name": "Rotor", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "38ed883a-0fe3-ee8a-2189-c6e092c1fbdb", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a1ca5212-93a0-4d30-6122-d2e5c9872983", + "66601b79-7b9e-fa15-2bd4-56693acf0bb7", + { + "name": "RotorBlades", + "origin": [ + 0, + 79, + 0 + ], + "color": 0, + "uuid": "812dc3c3-7569-417c-88ea-98db26c9084f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RotorBlade1", + "origin": [ + 0, + 79, + 0 + ], + "color": 0, + "uuid": "f7b3eb02-a8bd-10df-159b-84a8d7d8de15", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "103317bc-2688-89dd-17f8-3650470efcaa", + "d1db4ea0-4661-4e86-13ab-d074bdb22394", + "8c22cade-6d0a-00a9-2974-2804a153f903" + ] + }, + { + "name": "RotorBlade2", + "origin": [ + 0, + 79, + 0 + ], + "rotation": [ + 0, + 90, + 0 + ], + "color": 0, + "uuid": "8d437dd0-b961-9ee5-6a21-c66cc9e2c290", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "db87ecaf-8136-4d52-d5c9-3d4f4b20fd3d", + "c586ee43-2365-0815-9be1-57eb4d52415d", + "adfdc4b7-1eb1-0617-f8ab-48b0db5665f9" + ] + }, + { + "name": "RotorBlade3", + "origin": [ + 0, + 79, + 0 + ], + "rotation": [ + 0, + -180, + 0 + ], + "color": 0, + "uuid": "313b00e1-ad6e-cfc0-f25e-cf657a31be43", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "9a654922-f592-c03e-ec3a-411273b14955", + "34b50ab0-c515-6c0a-ebe9-80822ac5c44e", + "d28f3b53-e1fd-6e19-ee52-768b3d16f520" + ] + }, + { + "name": "RotorBlade4", + "origin": [ + 0, + 79, + 0 + ], + "rotation": [ + 0, + -90, + 0 + ], + "color": 0, + "uuid": "669905c4-3a7d-c6e9-3553-9ac439ac10f0", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "cf06849c-bf04-230f-8555-70a0f6fbb714", + "b91de1a5-0b22-48de-55da-1ad9e0400b04", + "3ae96f69-18b8-0a78-9d04-f3caffc1b4a1" + ] + } + ] + } + ] + } + ] + }, + { + "name": "RopeLadder", + "origin": [ + 0, + 18, + 3 + ], + "rotation": [ + 0, + 0, + 90 + ], + "color": 0, + "uuid": "349fd936-b671-8cf5-1bd3-e66530c8bee3", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ceea50d1-ebb7-d7cb-b6b9-69a321fd2698", + "2cbdf3db-26d4-6b03-d386-78cbd775872a", + "af62dbcd-800e-f962-49ef-2cc8b7512391", + "bc13f85c-c966-c61e-8958-954dae7efcd9", + { + "name": "RopeLadder2", + "origin": [ + 0, + 2, + 3 + ], + "rotation": [ + 0, + 0, + 85 + ], + "color": 0, + "uuid": "75c895fd-4365-0281-ecda-1a6d54d01e66", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a2f4989f-e70f-5196-4050-f0b1825614e1", + "3c8f15aa-a7a8-ebc5-4678-c3e2f4a624d7", + "05bc5a8b-b514-4d34-9df4-85a29e758ed2", + "560ddc94-bfeb-9ca3-3ad5-2b996a9417e5", + { + "name": "RopeLadder3", + "origin": [ + 0, + -14, + 3 + ], + "rotation": [ + 0, + 0, + 55 + ], + "color": 0, + "uuid": "0bda9a1f-977f-e6e5-c943-0ab890083646", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "5ad4ce08-eefc-6107-fc45-b54c501d5a17", + "5382e7ce-0210-07a3-5a39-564881ad85b6", + "651651ac-c2e0-5cef-8e1a-981e98653024", + "29295c79-a462-f3ae-b17d-165b0b24e5d0", + { + "name": "RopeLadder4", + "origin": [ + 0, + -30, + 3 + ], + "rotation": [ + 0, + 0, + 17.5 + ], + "color": 0, + "uuid": "9cb16d11-101b-c58c-24e7-c7a2dec1668f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "adcf364d-c4cb-636b-81d6-c7977d7b3525", + "42f4c692-3694-c495-ec99-09556d5bb0c0", + "595ef090-7f9a-8179-e935-4b29f2d7e184", + "9d74e4a4-4705-1cf9-0022-51fe5ae26385", + { + "name": "RopeLadder5", + "origin": [ + 0, + -46, + 3 + ], + "rotation": [ + 0, + 0, + 85 + ], + "color": 0, + "uuid": "20e90317-4e90-cada-923e-1551e99844fe", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e61bb277-9b35-78e5-93f1-b3f8d8d7fc7f", + "37236c6a-8616-a237-baa4-aa0ead82d0f7", + "1a350fe0-670a-70fe-88e3-734694dad6ba", + "6584c65b-14b3-9256-0b14-bc8198dfc9fb", + { + "name": "RopeLadder6", + "origin": [ + 0, + -62, + 3 + ], + "rotation": [ + 0, + 0, + 45 + ], + "color": 0, + "uuid": "9df17c50-2500-dc3d-3c9d-1bb6cd628896", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a6b332b9-51fe-6bde-d3f7-f4d49e2fad64", + "e283a6d7-c1c4-dccf-55a8-7d7f840f4259", + "abbdc168-0478-26c0-4fd5-8a4e0a6d6c70", + "d8af1577-a3b2-233f-5fa7-8614c8a06d46", + { + "name": "RopeLadder7", + "origin": [ + 0, + -78, + 3 + ], + "rotation": [ + 0, + 0, + 72.5 + ], + "color": 0, + "uuid": "335c6570-26b8-856b-bda3-65395902f2c1", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1382a9ae-d04f-9f91-e940-0acfccd26b02", + "f47a62ab-f0c5-eba4-9b39-c6ddcd063b1d", + "db16de55-a5a5-3191-cab1-737029a1c1d4", + "bb0aac5a-aed5-18eb-078c-087cadeaa272", + { + "name": "RopeLadder8", + "origin": [ + 0, + -94, + 3 + ], + "rotation": [ + 0, + 0, + 30 + ], + "color": 0, + "uuid": "3bd16030-14b3-a1bf-76ef-9adb8e3564d9", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "65c9cc04-0f2e-be8d-e5dd-596432b80caf", + "dc6bada8-0f68-3157-623e-5d707cf63adc", + "1b0b4d4b-ba33-c817-e5b6-ce5f0a015670", + "34d34524-8192-5c54-2edb-6687d32c54ae", + { + "name": "RopeLadder9", + "origin": [ + 0, + -110, + 3 + ], + "rotation": [ + 0, + 0, + 105 + ], + "color": 0, + "uuid": "12e7191b-e255-e122-467f-4e74ea1ca25b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b9cf06c2-18d5-b469-6005-557f1b65bbd3", + "e28c6ffe-1742-144c-1949-91050bdc81f5", + "173bd1e5-b573-e827-e8c1-3b545bb9fddb", + "b8bc4a52-d289-10ea-307c-b439840f0306", + { + "name": "RopeLadder10", + "origin": [ + 0, + -126, + 3 + ], + "rotation": [ + 0, + 0, + 30 + ], + "color": 0, + "uuid": "c8667a44-3ce4-ea1f-ecfe-d9fac6461f90", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "616545a5-dc5f-fc34-fba0-fa73a5d2dda0", + "84690380-add5-e58c-bade-29566cbd0ca8", + "9995ccb7-13d8-d7ad-177b-1061111eae4e", + "fbde71ac-aa28-ddfc-b282-2d8a90ca7468", + { + "name": "RopeLadder11", + "origin": [ + 0, + -142, + 3 + ], + "rotation": [ + 0, + 0, + 95 + ], + "color": 0, + "uuid": "73305a61-a5fc-3ffd-28cf-a5a7156ade9d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "188ccb12-851b-1814-a474-acf791a7b3fe", + "5c2041f8-0c46-922f-089a-18b3e99969ed", + "334e1d65-f729-2eef-0d61-2ce72451a335", + "7a2fd5ad-01b2-3a7e-11db-8fc0532ea0ac", + { + "name": "RopeLadder12", + "origin": [ + 0, + -158, + 3 + ], + "rotation": [ + 0, + 0, + 77.5 + ], + "color": 0, + "uuid": "fac07263-8b34-d5b4-c7e2-83b19ee7d708", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ffe85353-4a8e-827b-da4c-b073e7ea6377", + "86a1da75-1f45-bf6f-2f92-2fc63d8e993a", + "d506e185-339a-eebd-7381-6348d3f8e0d4", + "511c8f02-6fd7-f679-dd0d-5618cd7e5ed1", + { + "name": "RopeLadder13", + "origin": [ + 0, + -174, + 3 + ], + "rotation": [ + 0, + 0, + 95 + ], + "color": 0, + "uuid": "44f6b24f-ec24-3b6c-95dc-fc2d04130722", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e9f10a40-b536-eefe-721f-aff1b8a6a6a9", + "066c1dc4-37b5-d79d-12b2-d0a3ef5ebf37", + "fc44e348-0fba-cb31-af5b-16506815543e", + "5f77bf2c-d246-9156-c10e-f71dcaed59a1", + { + "name": "RopeLadder14", + "origin": [ + 0, + -190, + 3 + ], + "rotation": [ + 0, + 0, + 105 + ], + "color": 0, + "uuid": "81c03504-cef5-69e6-cf02-f623ce10f5b6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "6fc54381-1c0e-b4af-9bbc-4d8da96fecf9", + "afef023d-931c-9a20-73fc-6300e8088df0", + "b2709f0b-8848-15c4-8022-5ee5ae61eb21", + "b335fbde-c8fa-7a9d-ef18-8aca48e7e18c", + { + "name": "RopeLadder15", + "origin": [ + 0, + -206, + 3 + ], + "rotation": [ + 0, + 0, + 130 + ], + "color": 0, + "uuid": "0cb872f1-2b47-cee6-492f-bfa20246c3ac", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "c20a24d6-be1c-9057-82d7-04de02f59886", + "3a63e341-e8fb-2bd2-6362-8562b2e7b7ef", + "976656dc-5616-ef7b-ff0f-0284637bb753", + "da9f89fb-21c2-448a-c367-0f483f1fdd96" + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "name": "DeathAnimationSoundAnchor1", + "origin": [ + 0, + 34, + 0 + ], + "color": 0, + "uuid": "fcb2fee0-4cd1-e336-8621-8ce8d361032d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + { + "name": "DeathAnimationParticleAnchor", + "origin": [ + -35, + 0, + 20 + ], + "color": 0, + "uuid": "c9619203-8699-a8fd-5b1f-e5d7977f2b78", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ], + "textures": [ + { + "path": "", + "name": "death_animation.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 256, + "height": 191, + "uv_width": 256, + "uv_height": 191, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "66f8b2e8-963d-24d5-1b10-af18e7682f3d", + "relative_path": "../../textures/death_animation.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAC/CAYAAAARmQJyAAAAAXNSR0IArs4c6QAAFtBJREFUeF7tnWusVcUVx+dI2ni9oIBieAVQUVAU2rQk2pjSpESJpB9QQWk0RpqaJhoTY7T9IFWKaWxsYyK2scb6bEsFIkkblJo+JNYPhg9VCsitGMDwqg/QkFtozPU0c7j73H32nb1n1sya2bP3/p8vcO9Zs2bmv9b67dmzH7d1aqjdFvhEocCZY1qtsgYyMDAQdR7MnH2JeOXIaXWumyK6/9fpJW0P7P23kO05P6pYlVFLLprMmTOn1UoGnTjiFKnKvmTihP4AAPmKAwBqbVgAgOIfLW4eADZueMmZC8tX3KT0AQD4A0CbeaE7d+7cUau1Sq8AnLO6AQ5k8e+cuqgz03nTJpJm3Nq+WeQVfuIIAAAASEklRk6FbE6Lek4BqB2nkta2aTTtTg3pT39l8f/y0Dgxe9ZMMW3Sud2xF4Fg16FjYs3Vk43nmQZAck4ug2TswMGw7nsAyQpgcHBQ9Pf3d5Wy/bk2K4AX1/9Bn/1C5B69zhwTJD8dUlvflAoA6TENgWwPlKJPt00AkFeMPmEAAJyOhCkQagWA9sJl3TycP26oJ593nBjT+TlvCds0AEgt5CogCwHboqcAIG3LDYO6A0DqtWfPnrZpgSda59nXBgAv7P1fOyl6WewqAMilrPxcfnjbqJVAkwEgNXl62Tz9EsPQQrcCyHPDAQMAoKErgDQA1u/5rDBVAYBxHX1ev+c6w5KmmUkAuBaiLQy4d7D3vzdQOPlZF8/pfJ/Y+TwyJwPBCuC0Esm9EZ1NQAkA+cvkKF8UtSYDgFbKdtYcAEh6poIAAGjwCsCk+A999Im49vOdjT0FsCtpWitOAPjcL6DNqjnW3BA1Uc75RiC5AtABQBa//AAAJiGxt5G3rPr+UFcGvsdTJ/+1BEBS/Hv3HxB3TjuBFYDHjA0BgBfXj9zJ+PBDP67+NVyP8aC6riQAfrjtSO59AEnxSyEAAGo60O1DAyA9QsCAHq9si1oBIFv8crJYAbgnSZEH6q3ADzz0E6ObuFxH/cDq1a4uCts/vHat8vtbV6qfmeAaDPcTglzjovhx3gNQrQDSxZ8c/QEASljsbAGAXt0AAH0esQMgW/wAgD4IXBaxAsB3Iab3JdJa+u4XK4A5rVZ6BaAqfgCAq7zt/eQtke090lr6LER5VSLvVMZnv1IBACAFgLziBwBoxcJtHbL4y9oIBADss4blFKCo+AEA++BwtAQAOFRU+4hlBWB79cf1LUmdW4Fv2bRTu5MsLwFiE9BfIhZ5BgD86Q4AAACd7FK9D8D3a9JM3jkYsvilDjgF8AebIs9RrwCSo3/TVgC+ASD11EEAAGjGfQClAuDKn2/RngIk9GrSjUAhAKCDAADQDAC4rDucNwFNAaAqfjnwur4QJBQAiiAAAAAAOjg4AwDvBCxnDyAbWNXpAAAAAPgCwPDBe+QPg+g6yvseKwBb5Ua3KxsC2ATki2UoT7YrAAAgFaEyrgLkJUgWAiFXAQCAW9m6bObZ9kwFQDq/5K3n3T8NZjuAuq4AbPXgbgcAcCs64o/7PoDYAZA9uAAAw7mgWgHYBtNHuuY9LMPdF1YAbora5owLiExXAKrTyw4AXj7o9kfTrp9e/ZfKvHxw9JXQeYP+X89lmm4AgKlSNDuXwlP1FCsA8u43AQCGoxg7AFTJxp281EeRaaVWbI2HgezV1K0Aim42AwAAAPvM07SkAAUAsA9DEQB0d5oCAACAfeYBAN60ozjOA4Cu+LuXAbEHIAROASgpZ2Zrez5s5t3dSj4KW8ZLPN1H3utBBQCT4gcAUjoCANxpKQQAwK+pymMWAKbFDwAAAF4zFADwKm/XeRoA1B5xH8CwYrHfBxDiKgA1eXT2VQKALCLKkVM395DfOwOA4a/Rhpyvl74GBor/kq2XTh2dcl8GdBzOqOZVAYBLAXFrZuPPBV6dFYArAGwGjTbuCgAAbhrKTcD0BnhVVwAuKrCcArgMIOa2sR/BAAC37IkJALa5xvGHXmtxKcQtFdxaU254MelJtyKLvfCTOdomtYlGHDYAwGkVAQDHbOIGQB2uTUtJAQDzxOLOIfOeAQAjrTZuGPmT2tkGt668mfVpqKI3NC1f4fcNOUZiGBoBAIZCnX6tHmsOmfecA4DjRw9TfHRtJ0yeatUu5kay+DefnG41xGV9B0W2aLn9WQ0sQKMqAaDsDcCoACCL37aQXdoGyElyFy7FmnSWhgC3P/KEAjaoCgDKLn4ZkmgAwFHAHD4C5mlhV0nBXnzRRVZDeu/994UKAFz+rAYVqFEVABDLfgsAECgpqd1IAOycuojarMf+8sPbuqcB3P6cBua5cRUAoLviQpXI9goNAEBVOpA9d8Fy+wskg1U3AIC5bACAuVZBLbkLlttfUDGInVUBAMQpac1tTykAAK205RhwFyy3v3JUMesVADDTCZuA5joFt+QuWG5/wQUhdAgAmIuFFYC5VkEtuQuW219QMYidAQDmggEA5loFteQuWG5/QcUgdgYAmAsGAJhrFdSSu2C5/QUVg9gZAGAuGABgrlVQS+6C5fYXVAxiZwCAuWDRAEAO2eVOPpe25nKFs+QuWG5/4ZSg9wQAmGsWFQASCJgPf8TS9hkCm75CtOEuWG5/ITSw7aOJALC9s5DjxR62ccL7AAqU4y5Ybn+2QQ/RDgAwVxkAMNcqqCV3wXL7CyoGsTMAwFwwAMBcq6CW3AXL7S+oGMTOAABzwQAAc62CWnIXLLe/oGIQOwMAzAWLDgB4I9Dp4HEXLLc/8xTTW3LvRNtuiOlHymNRZtHxzIDHy6hNQJdLeS5teabD68W2YFfOPaczkPV7PhMc7wNQ+eMuWF7lhAAAuBX1468HABwFzOHDz1TpXiUA2guXiV2HjpEaJwW748QY0dq+ueeFIFz+mgYAHLFJKWhsDAAUSJUAoEjN+eOGer6WRZ/+qADA4Q8AMM5xGBYoAABo0kMHgSIApIs/6YbbH7IbCpgokHfAAAAM1JNFa/PJe48/tz+bsaFNsxQAAJoVb8wWCvQoAAAgIaBAgxUAAKjB/+ILagte+zPO4PUHb41WAACghl8CoKwiLLNvqk6wr4QCAAA1TGUWYZl9U3WCfSUUAACoYXIowgljviWOD71O7XHE3qFv+07Rss4KGAFACuByJ59L2+jEtyhCWfjZjxUILPqOTj8MKCoFjAGQQMBm9LV6I5BhEaaLPin29ApA9b1WW8O+tX5gAAWGFSABAKoJIQyKMG+pT/39KL0N+kaMoABFAQCAopa0NSxCrACowsI+q8ArR0Z+c90UIdI/U9SSbfM+AABFSQIA0m6xB0AVGfYhil+qDABQc81wBaByi6sAVLGbaR+q+AsBEPuLG8pKjZkXzra6Echq0y87SQP4xP7KrbLihn7VCuS9T6EFAKgFowIgKXx5JSBZAaR/R0pMAIAkF4z1CgAAeo16LCgAyC75dT9rhwIAaCWCAU0BAICml7ABQPrIn10JkG4IAgCI0YK5TgEAQKdQ5ntTAKg2/Ex/lzskAIAYLZjrFAAAdAoRAKC63Jdunhz9i7osXBEAAMRowVynAACgU4gAgLSp6dGedGkQACBGC+Y6BQAAnUKWAJDNdOf+pOKXDgEAYrRgrlMAANAppADA8Q+PjmqleuBJt+sPABDFhzm7AgAAUVK5CSgBkC74osedcR8AUWCYB1UAACDKTQVA4h53AhKFhnkQBQAAosy2AEjvCRC7HDHHHoC1dGioVgAAIGZGAoBsM5OXnpDP+bOdAADEaMFcpwAAoFNIsQlo+1ZgAIAoNsy9KwAAECU2vROQ6NbM3GAFYOYIVjErgMeBI47Orv5LSh1d0dtdSh0YOmdRwGfxZ33LAee+EASPA6vj2VQA2L6OiqUqGuiE+xVgquIHACwSq4kAQPFbJIpDk1DFDwBYBKlpAMgWP05BLJKG2MQWuKrY5B35kyHhFIAYnCYBAMVPTA6NuW1hm4zCpvixAjBRNmPTFAAUFb/PRLYISeOb2BY/AGCROk0AAIrfIjFKauJS/ACARdBmzi73MqDFkElNUPwkuUo1di1+AKDU8Nl17hNAKH67mJTRiqP4AYAyIufYpy8AoPgdAxOwOVfxAwAWQcsWYN5lFAvXVk1ODbXbVg1TjVD8rgqGa89Z/ACARdyym4DXT2+1LNywNXn5YC8AqNfpUfxsofDuiLv4AQCLkNUJACh+iwQoqYmP4gcALIJZl1MAFL9F8Etq4qv4AQCLgNYBACh+i8AzNaGeojF1m+sGtwITFc57gQLRjTdz3aYgit+b9FrHsRU/VgDakI02qDIAUPwWAWdqki7+mP6EO94IRAxwVQGA4icGmtE8e+QHABjFDe2qigBoevHHtvQu+94Rk5pp4Y1AapmqBgAUv0m6h7UBAMLqzdpbFQCQ97hu+kjYhEd6q3bezZqojs6wAsgRsMoAcMyJSjWv4nl3TAIDAACAUz7W5bxbd1nVSaSIGwMAAIB1esZW/EXXu3WTBAB0CjXse5wCFAe8bufdWQCEvoTn6/FvXdm23njjjcLHTBd+42qdj1p8X4Ud27TQMmHL2uCr43l3FgCx5IPvlUnrueeeKwTAzbfeFk2B+0j4JJljCbip2GUBQLXsr5p2Ko0bCwDTFYCP4itK9tDnl1VLYt9HBlMQuZx3U/rwbZu9HyaWU0DfcTZaAYQufhls39eys4CpGgBiuoErlmLxDYky/HsHgOkKoIzJyz59wKcOy1gAoKyMDNuvdwDo9gCuuuqqsDMe7s3Xe/nzTi2qtgLwnRilBL3ETmONv+84t3x3kBfT3z//bGG4x19zO3s6FO0rxJoAeSKUFTf2oETiMNb4+45ztAD47m38ACjKtVgTAAAIQ4hY499IAJw8eVIsXrzYKfLUGytiTQAAwCkNjBuXHX/fhZ4nRGkrgN88+SvR19fXHZcs+uTnjz/+WNx///1Or+GmClp2Ahhn6rAhdX5U/1z2rrqGmqfrOF31CjXP7DhLA8Djv3hU9Pf3d4peFv/g4GDnZ/mR/wcAilOqrIShJrprYYWap+s4qbpk7UPNMyoAyMHIopcFn/0AAACAVCBUYQAArggjtvctODVxfI+HKI/WnDo/rUNPBq66hpqn6zhd5Qs1z2hWAL4Fp94oU7W72cpKGGqiu8Y51Dxdx0nVJWtPzVfX/pL2pe0ByAFwiq5KFPlIZ9UK2zSwroUR6nFXV/1d52mqZ1XtXGuoUgBYsmSJ8snFrVu3KucBAJSf1q4JCgAUx9BV38oBYMGCBT2KvPPOOwIAKL/Q80bgmqAAAADQVUCuACQANm3a1PndjTfeKACAeIuf4zQPAAAAAABFDlSlMLAC8AtoV31xCuA3Pt68AwDepK2U48YBQBWdJu4BuF42oj4rYVsVrglaFdDZ6uPazlXfSq0AisRq2mVA18RB+14FqgoaZwBs3Lix59Lavffea5Qbjz32mJEdt9ENN9zg9JAQ93jgrx4KAADDcQQA6pHQmAVNAQDAMwBw5KYlJKzDKgAAAABhMw69RaUAAAAARJWQGExYBQAAACBsxqG3qBRoLACyUZgxY0bhnwpL7MeOHdv578Ov7er8+8A185Q/RxXliAaze/dup6sZl112mVGciqbsOoaI5HQeCgAwLCEA4JxLLA50xQkAsMjcdQIAAAC8GeXoLQQAHIeI5ikFdPGKVaxRy1CsAOIIlS6hOFYAccy0HqPQxSvWWQIAkUZGl1AAQFyB08UrrtGOjGYUAJYuXWq0ubRv3z5sAjpE1TVhAAAH8T00dY2nhyEZubQGwKpVq4w6yBrl3RH44IMPGoHHqtPAjdasWeO0w28yXADARKVwNrUBgOkegO3DQAAAT1ICADw6cnmpLAC4ngZ0vdc/WQH84I47uGJSmp+fPvJIaX1zdbxu3bpWn1jUXZWdFNt6VjXJd6rfJ7+TNjbtsnNIj0N+l/XJNecm+mnFCIAJk6dWNhbHjx4WEgATJ06s7ByOHTsmnl63I7fQ0oWdLXKO71QAQNH7SScAgFnXugAgvQIoOspTjtZFR3LVaiHxjRUAc5Km3FUKABs3vGSlxPIVN+W24/apA8D+/fut5jBr1qzcdtw+5QpAAiBdgGkIcBzli1YOWAFYpYhVI2sAyGcB5HMA6WcAkv/bjGT58uWdZnIPQHUKIAu1vXBZ1/X8cUM93ew4MSa329b2zUIFAR8+iwAgC/Xbq5/KHWfRnP669g6hgoAPn8kpQDJQ1Tl9dg8gKWgVHEy/Swsj+0y3y35nk2NoM1qBSgAgKdSkQGSxmwBg16Fj3RlffnhbDwR8+JSd5QFAFurkVSObg/Omjd4jUM0pPecsBHz4lHPIrgBQOPVVwOlOQJcVQPaySfoqQHYFkC3W9Xs+I0dEBwAOnxQAmE5g5dxzOqYSejoAcPgEAExVrIddpQAgJU8f1U1DcOijT8S1n+9UrgA4feoAMPSd+8S0SeeaDrtrl6wWVADg9gkAkMNT6QbWAPjggw9Y73YzWQHYFKssfvnhBECeTxMASBsqBHQA4PQJAFS6nsmDrzUAkkLdu/+AuHPaCZYVQJFPHQAGrlghZs+a2QkSBQJFAOD2CQCQa6jSDWoLgKRQZXS4AKDzSQEABQKmAODwCQBUup7Jg7d+GGjLli3RngJkC1Wq4roCMPFpAgBpk6wCTAtWBwBOnwAAuYYq3aB2AEgXanL0dwWAqU8bAJhAgAoAF58AQKXrmTz4Wp0CZAuVAwAUn7YA0BWsDQBsfQIA5BqqdIMuALb/dnX7wyMHO5M5f8p0sfCWtaxLfJ1KrlcBVIXqCgCqTxcAFBWsLQBsfAIAukyt1/fdIt/y6O1tWfjyI0Gw9L5nKwOAvEJ1AYCNT1cA5BWsCwCoPgGAehW4bjYteeQ/77xJYve//inGn90vvtw/QaR/fuHV18WyxV8TJz//rzj37HHim997xgsYbFcARYVqCwBbnxwAUBWsKwAoPgEAXcnU6/vWm7++q50t+vTPb727W3z1ihmi70tnibP6xpQKgOxdgKaFKkOWdxWA06cpAKRd+kqAKqWy9wlICKjuBJT3ASQfDp8AQL0KXDebllz6q478CQRe/ctmMWXaeR0AyM+Su54vbQWQLlbVZbmiyZoAwNUnBQB5Y827RGgCAA6fAICuZOr1fWvf1sfbect/CYHtb/9D9I0fK6aMn9g5DVh2z8bgAJCSyweCdk5d1FE/fTeeSTiyxZ+08eFT9zhw+ohdNPbsHYNHn/lR7uPA3D7xNKBJVtXDRrsH8Oe3tosLLjy/dAAkELCRHS8EUauW95IRAMAmy6rZRrsH8Mc3t4srv36BGN9/ZmmbgFWSVvdGoCrMBQCoQpR4xqjdA3jkyac6AJCfi6ZMKmUTkGeq/F7e3fF21+ml87/S+T8AwK8zPPpTQLsH8PSmzWLJokvFp4OnAICcOEgQAAD+khSe/SlgtAcgLwMCAGZBwArATCdYxaGAdg/gwH/2dy4Dyk9ZNwLFIZXZKAAAM51gFYcC2j2AZzf8rnMjUKgVwILvPxSHMg6j+PvP7q78HwZJvxbcQQo0jVwB7R7An/72WucyYKirAABA+RmDqwDlxyDUCLR7APJZgJBXAQCAUKHP7wcAKD8GoUag3QOQ9wHIh4GOfHqsczOQ71uBAYBQoQcAyle6/BFo9wAuWHK3l1t/s1NPngYEAMpPCqwAyo9BqBFo9wBCvRgEAAgVcn0/AIBeo7pYBDm6m4gFAJioFMYGAAijcwy9RAOARIwjhw61VX8cNAaxTMaA+wBMVIJNLApEB4CBgYF2LOLYjuOJJ56wbRpNO9wHEE0ovA7k/3+rU5fDkJo5AAAAAElFTkSuQmCC" + } + ], + "animations": [ + { + "uuid": "96b1b305-92fe-9c7f-475b-19434f1d7894", + "name": "death_animation", + "loop": "hold", + "override": false, + "length": 12.75, + "snapping": 20, + "selected": true, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "markers": [ + { + "color": 0, + "time": 6 + } + ], + "animators": { + "3855c725-cad3-125d-db6d-7aa36afaff7c": { + "name": "Helicopter", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "40", + "y": "224", + "z": "13" + } + ], + "uuid": "e4067018-0609-ad89-380a-25747f6f1008", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "2c757bc9-83e6-d23d-9df6-bf4f97a4f5d6": { + "name": "DoorRight", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "1cbe7ba5-d97b-dff3-da58-6031cbe583a2", + "time": 0.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -2, + "y": 0, + "z": 0 + } + ], + "uuid": "5c238362-3d39-d6c8-b90f-7ea474e7c4ab", + "time": 0.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -2, + "y": 0, + "z": 0 + } + ], + "uuid": "bf74fbe3-b3e9-c73e-0c01-744f7c080b75", + "time": 0.9, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -1.40763 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 1.40763 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -2, + "y": 0, + "z": 48 + } + ], + "uuid": "f20761ca-e540-501a-4cd5-2c2989a16df0", + "time": 2.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.63708 + ], + "bezier_left_value": [ + 0, + 0, + 0.29763 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.63708 + ], + "bezier_right_value": [ + 0, + 0, + -0.29763 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -2, + "y": 0, + "z": 48 + } + ], + "uuid": "3c2870c2-1a3d-3b96-e2bd-bf03ff11662b", + "time": 10, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -1.10129 + ], + "bezier_left_value": [ + 0, + 0, + 0.30123 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 1.10129 + ], + "bezier_right_value": [ + 0, + 0, + -0.30123 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -2, + "y": 0, + "z": "0" + } + ], + "uuid": "863662d3-1b4b-b2bb-e742-5c66476d11b8", + "time": 11.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "14d9f06d-656e-28c1-e3c5-7ed8dbb30749", + "time": 11.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "349fd936-b671-8cf5-1bd3-e66530c8bee3": { + "name": "RopeLadder", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "7a6a939e-4117-86f9-9f90-aec63b8e61e9", + "time": 2.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 42.5 + } + ], + "uuid": "72250253-88e4-f556-3497-a042b2c1c2d1", + "time": 2.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "2a8320c4-a06e-5ff3-a2f2-5cd46f367dc2", + "time": 3.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "4465e37e-06aa-0af8-16f8-5d41ccd28a4e", + "time": 7.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "860bb0dd-a0c9-dd44-6cd1-139165eb773f", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "acb0ed56-dfd1-347b-0b5d-07ffe2041332", + "time": 2.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -18, + "y": 0, + "z": 0 + } + ], + "uuid": "0eea9772-0235-2498-a30d-7cc9636e9f07", + "time": 2.95, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -18, + "y": 0, + "z": 0 + } + ], + "uuid": "cfc2447b-f3db-735b-f943-fa6d38de094c", + "time": 7.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -3, + "y": 0, + "z": 0 + } + ], + "uuid": "96fcb9f9-2177-6c94-a351-0f548b37d298", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -3, + "y": 0, + "z": 0 + } + ], + "uuid": "dfe4fb8a-c882-4cfb-9705-7560e8ee61fe", + "time": 8.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 3, + "y": 0, + "z": 0 + } + ], + "uuid": "c9d4c448-85d5-c90f-cae1-5bd41d65fd8f", + "time": 9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -8.5, + "y": 0, + "z": 0 + } + ], + "uuid": "84964543-6db1-bbf9-ba7d-bc929a414813", + "time": 7.55, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "75c895fd-4365-0281-ecda-1a6d54d01e66": { + "name": "RopeLadder2", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "715ca160-5e7a-ab6e-7f05-423c3986350c", + "time": 3.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -120 + } + ], + "uuid": "d13fa408-90b4-1c79-dc11-472351e4ce31", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-120" + } + ], + "uuid": "f2c6875a-0d7b-156d-9136-0a650ef27f33", + "time": 4.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -120 + } + ], + "uuid": "2e86ee13-c9e9-2ed2-b1b8-95c3a5b4b394", + "time": 5.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -117.5 + } + ], + "uuid": "1c2bf741-57d3-c5ad-090a-8bbbad3e3029", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -120 + } + ], + "uuid": "b7d026a8-ad38-14a7-f867-1ba2d95d9391", + "time": 6.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-121.25" + } + ], + "uuid": "e76f4473-96d5-8842-0274-b0358a654c8e", + "time": 5.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-119.375" + } + ], + "uuid": "65612d85-2ab1-d18c-b0bf-47c1afcd6f1c", + "time": 6.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -120 + } + ], + "uuid": "27614e65-f95b-6b31-3628-9e04ae6de7af", + "time": 7.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -120 + } + ], + "uuid": "938323f4-87a5-ab37-7b1b-97a6ce4c8bca", + "time": 7.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -140 + } + ], + "uuid": "d14e16d9-9442-78aa-8918-2831a5ac3ead", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "105854b0-38ae-6d67-c4c1-3dc4809bba38", + "time": 7.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "e5002226-5469-1042-b029-0f1afc6be98d", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "84b84f95-6c5f-0b4a-6cba-b1625c5ffe78", + "time": 7.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "d673620a-d093-ad34-9edb-ed8e4685e43f", + "time": 7.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "0bda9a1f-977f-e6e5-c943-0ab890083646": { + "name": "RopeLadder3", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "5ed816f8-135f-0da0-5923-129ebc1c7bd6", + "time": 3.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "041c15ad-4012-b38d-82ae-971e61223436", + "time": 3.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "39c58d1d-12c8-d230-c6b5-6d104160c15b", + "time": 4.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -52.5 + } + ], + "uuid": "b8dcff37-3b94-4056-c23a-e8462043db74", + "time": 4.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "11bd825f-6b2e-aacb-e8b4-b63a18256b38", + "time": 5.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "1ff3553a-bec7-da76-7698-f56e69a072c4", + "time": 6.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-56.25" + } + ], + "uuid": "9cfa4b8d-8689-10e9-0147-11c88e06f48c", + "time": 5.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-54.375" + } + ], + "uuid": "72b93d9f-9ec1-38e2-bd94-e09ed920645f", + "time": 6.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "85a519f5-bb8f-d7f7-cd2c-ee83e94f8e19", + "time": 7.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -90 + } + ], + "uuid": "41311d57-2e2d-3539-407a-ab50771f2830", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-110" + } + ], + "uuid": "04ee912a-1a01-d160-d1cc-02423e3c64aa", + "time": 7.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-55" + } + ], + "uuid": "aa92bfd1-b3bb-8c32-15a3-a20506d635e9", + "time": 7.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "d47c969c-745e-d0de-01e8-d9057a9bac55", + "time": 7.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "5bda63ae-aee5-b44f-7777-ccb4998ea206", + "time": 7.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "b6e9b356-e0fe-62ae-e490-5f2576e4c6f0", + "time": 7.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "99e1aee4-3ecf-0b8f-0db6-12825624b7ba", + "time": 7.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "9cb16d11-101b-c58c-24e7-c7a2dec1668f": { + "name": "RopeLadder4", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "55a90d22-0aa7-a1ed-0a20-462b561529c4", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "4e4b85da-ebb9-c3e7-f66a-81f1f7131a18", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "8f8d286d-3876-0d88-731a-1b08212b71c6", + "time": 4.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "2c965938-a38a-2aa5-4e40-7b7490cbb9f3", + "time": 4.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "94a7c70a-b3de-422a-70da-b7f4f3f192ef", + "time": 5.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-17.5" + } + ], + "uuid": "018db8e7-c53c-48a2-82e6-f5704a2e030f", + "time": 6.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-18.75" + } + ], + "uuid": "76305530-2812-3b4e-76a6-881212353a98", + "time": 5.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-16.875" + } + ], + "uuid": "8dac90e3-c610-5a05-d495-0f940fe2321b", + "time": 6.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "ff8a99bc-6ecc-fa9a-a3a1-772c8458f386", + "time": 7.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "8b97c453-3b59-1b5b-1b87-5270a861395b", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -52.5 + } + ], + "uuid": "dc1e0624-fae4-1db4-0b17-c2daaa720b8f", + "time": 7.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "3608771d-a92f-73a2-1cb0-b6c63983e29e", + "time": 7.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "eaed630f-5ce3-6152-f91c-e7d30cfc3705", + "time": 7.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "8e7b9142-b842-f147-eef4-c6a415b2fca9", + "time": 7.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "1d4a7779-0147-7eaf-eacb-6498c62ec7ce", + "time": 7.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "6cc6be4e-6273-f0bf-1046-cc74826ad972", + "time": 7.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "20e90317-4e90-cada-923e-1551e99844fe": { + "name": "RopeLadder5", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "fd0d9523-f494-fbbd-579d-a9f8aa29505c", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "cbbb7211-7306-4da6-e9cd-cee32f3db277", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "ad615c94-7d2f-3d30-d2cb-1fb982efa62c", + "time": 4.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "f8b8ee5a-718b-57ec-e29f-2a957e84eba6", + "time": 5.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -82.5 + } + ], + "uuid": "4186b1f0-b56f-aa2c-d8d3-bb53424a8814", + "time": 4.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "05edfa8b-dbe5-9ac6-f39e-e13689d0736d", + "time": 6.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-86.25" + } + ], + "uuid": "2fcfc415-f20f-e75b-95c3-9c47bc7aeb3a", + "time": 5.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-84.375" + } + ], + "uuid": "2515814e-e6b6-ff78-5456-a857633e5e76", + "time": 6.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "11a7a53e-3040-b39e-6ed0-379bd2e00b92", + "time": 7.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "43eccee8-8e2a-9d27-6bc4-11bddb7bcca3", + "time": 7.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -120 + } + ], + "uuid": "08efecdc-9ec1-ac7f-2176-cf1557a6d6d6", + "time": 7.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -140 + } + ], + "uuid": "50b3a825-995e-75a9-f7af-ecf3a58496eb", + "time": 7.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "cc926f12-2919-d6d4-ecfd-09ef1110ec9e", + "time": 8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "d781389c-f13e-57fd-5443-0c375ddb8fc5", + "time": 7.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "7e66f59e-c9de-c580-b98d-7ec52ce6dcdb", + "time": 8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "965810b4-fb7c-3804-c156-6acdbbf0fd8a", + "time": 7.95, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "9df17c50-2500-dc3d-3c9d-1bb6cd628896": { + "name": "RopeLadder6", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "333957d7-7490-42ea-4b18-1e33f22720c8", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -45 + } + ], + "uuid": "b7a2d6e9-4056-008c-ccc4-11032641dfe1", + "time": 3.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -45 + } + ], + "uuid": "361017c2-c56b-05e7-9f41-a54eb0d67951", + "time": 4.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -45 + } + ], + "uuid": "cf8acc2f-581b-500c-dd24-adcf074aeea7", + "time": 5.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -42.5 + } + ], + "uuid": "82406510-9cdb-3e15-bd50-e6ae0b854a45", + "time": 4.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -45 + } + ], + "uuid": "a81c2263-8ca2-e039-3abc-c08e67bb7d26", + "time": 6.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-46.25" + } + ], + "uuid": "7403a1fb-025c-3ad1-d935-d334f2d38e6e", + "time": 5.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-44.375" + } + ], + "uuid": "796bf88a-e601-c774-69c6-9bf911e76d48", + "time": 6.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -45 + } + ], + "uuid": "b34ba9b8-05e1-5414-995a-69e8ccba3742", + "time": 7.35, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -45 + } + ], + "uuid": "86ed3337-b4f3-aac9-ff95-aa28d95f178b", + "time": 7.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -80 + } + ], + "uuid": "927a5b26-48b9-a341-3a31-4d63f8a3fede", + "time": 7.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -100 + } + ], + "uuid": "24ff5a31-95c6-8d40-29d8-745d98e06553", + "time": 8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -45 + } + ], + "uuid": "8d9f1b9c-1b64-0e85-f7b5-2abb6b74d617", + "time": 8.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "cdaaf4f8-0111-72e2-4516-72f5ff3e85ba", + "time": 8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "4327e269-e44c-7182-3fff-16315107ae30", + "time": 8.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "9dd6f2f6-fd36-c4b5-8aed-a6dc4ac524e9", + "time": 8.05, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "335c6570-26b8-856b-bda3-65395902f2c1": { + "name": "RopeLadder7", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "44deab22-701c-c222-9d88-821dc88b0ab8", + "time": 3.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "5a007d3b-580e-665d-114f-1104c2cd52ca", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "fab7f68b-3230-f50d-7c79-e3b81178cd0f", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "54b70589-b1e3-77eb-e212-f65576e31615", + "time": 5.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -70 + } + ], + "uuid": "ffd3c88c-c7fd-4156-f873-679613272b72", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "a545cacd-932e-6258-8560-85ec089cdaab", + "time": 6.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-73.75" + } + ], + "uuid": "66f3fc9d-c7f7-cd74-1df9-ced4f5ea1bb5", + "time": 5.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-71.875" + } + ], + "uuid": "062b58fe-ea6a-b033-11fd-bae2d8d7c194", + "time": 6.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "f2e6608a-6953-00c6-b181-cbef0571590f", + "time": 7.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "e41721f9-d7ec-d856-86a4-0f0acf44872d", + "time": 7.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -107.5 + } + ], + "uuid": "ae713465-bf77-478a-8401-b8c6dc6b2dde", + "time": 8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -127.5 + } + ], + "uuid": "ad9c6331-a9ee-5ff8-8aa1-fb7cad8116d5", + "time": 8.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "4934e04b-7fbf-2ba3-0eb8-8dab5e5e2b2d", + "time": 8.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "4db7f489-4b91-0ab2-98e7-4eaa93faae71", + "time": 8.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "efee1e69-83bc-819f-ce69-78abcc16ae02", + "time": 8.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "f0fc56c7-4636-529b-1ba0-706b5b623db8", + "time": 8.15, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3bd16030-14b3-a1bf-76ef-9adb8e3564d9": { + "name": "RopeLadder8", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "7d6528b1-2da3-f8ed-3305-63ebced40d77", + "time": 3.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "77f387e0-d6b5-9515-f961-48fc3591cc79", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "81b14531-125f-1885-964c-93f9c12b4ff7", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "705cae46-bb94-7d53-63b5-bde9bfc5db21", + "time": 5.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -27.5 + } + ], + "uuid": "63dc2e71-e3c5-aea4-9845-7b9127472c56", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "bf8c4ae2-5453-be09-b954-eceb41be02de", + "time": 6.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-31.25" + } + ], + "uuid": "8d406165-b149-9a75-913a-f01cc625a884", + "time": 5.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-29.375" + } + ], + "uuid": "8fc64b38-8de3-5789-f573-f75b776c2130", + "time": 6.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "1ae28892-3925-6455-7979-871d2e0d1759", + "time": 7.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "1d35fc36-25d9-de33-b582-a1941ab3f255", + "time": 8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -65 + } + ], + "uuid": "e25a2001-e5bb-a820-5311-ea93425c8e90", + "time": 8.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "3058a961-8743-c600-4a3b-b015656f08c9", + "time": 8.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "36daff5d-1428-4808-0994-97ce0ee6df21", + "time": 8.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-30.625" + } + ], + "uuid": "a49c98ba-ec8e-0175-be8c-8f9b3ac6d3f4", + "time": 7.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "6fa3f6a5-6a70-3890-8ef8-2dc552df9f75", + "time": 8.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "d7f231f4-fa90-baef-490a-cb27fd9445e7", + "time": 8.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "ba4435b6-5449-22c9-8137-7cb8b7faeba0", + "time": 8.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "12e7191b-e255-e122-467f-4e74ea1ca25b": { + "name": "RopeLadder9", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "b1e8cb95-1c6f-5b1c-f418-639a7cab014b", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "94b60b23-61aa-c77c-d51a-b2a2db70f960", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "29c60c10-e605-331f-0342-8c6f2bf86bc4", + "time": 4.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "79dc3101-ca96-2792-c24b-3e1d07fba131", + "time": 5.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": "-102.5" + } + ], + "uuid": "0a3e2979-121f-645a-4e29-cf9845632153", + "time": 4.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "d484bd8b-227a-5bde-e77f-be4fbc73a0ef", + "time": 6.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": "-106.25" + } + ], + "uuid": "3d9a193b-be69-2360-6b73-a4674c7ba8d0", + "time": 5.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-104.375" + } + ], + "uuid": "1435311a-2783-f508-04b1-2e4b4505dc67", + "time": 6.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "4e66c5e0-95a5-d76c-3f1f-164d5f478275", + "time": 7.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "068e1cab-0745-18ee-70f6-7466fb12874e", + "time": 8.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -140 + } + ], + "uuid": "f6364f07-ad42-5d90-9ece-c7e2391e4b60", + "time": 8.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -160 + } + ], + "uuid": "b7d6338a-6f27-ca05-4227-2a4f370bb5ce", + "time": 8.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "f665ff53-b17b-e5d6-eabc-a2a5ad8495c3", + "time": 8.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-105.625" + } + ], + "uuid": "6f1f5153-c606-fb59-b771-4ed203f70cb7", + "time": 7.95, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "94027b76-7cf5-513c-b6e4-c9f4b97aab59", + "time": 8.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "50d74b2c-4484-9df3-d1d5-361b22063b3c", + "time": 8.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "d67ac890-33fc-bd80-b170-332802c03125", + "time": 8.35, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "c8667a44-3ce4-ea1f-ecfe-d9fac6461f90": { + "name": "RopeLadder10", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "83eb069e-f225-c6ff-a092-082516cf7636", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "fbf27e4b-f216-9f88-00b3-cbc58c3ed671", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "1c5edae4-19da-3230-978b-2cb1b5ffa8dc", + "time": 4.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "a7ca8670-4b26-9c2f-4c19-f5a238ec3666", + "time": 5.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -27.5 + } + ], + "uuid": "b7de9a27-20a3-2e3d-13d8-c948a43eaf24", + "time": 4.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "e9ee1404-07e8-5253-1a7c-31725b62ae3f", + "time": 6.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-31.25" + } + ], + "uuid": "07903ec4-ca26-6878-a5e8-b1b2c683d251", + "time": 5.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-29.375" + } + ], + "uuid": "3283a399-91c6-f20d-11b6-00a57d204cbc", + "time": 6.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "9260370a-9e7a-edf2-d99d-83995d145425", + "time": 7.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "cf3d0e5a-b59f-ed5a-16bc-1d09adf3afcd", + "time": 8.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -65 + } + ], + "uuid": "bccdb8e1-9ecc-c8a6-c0d5-cd39277e6a45", + "time": 8.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "4663dfca-6a13-f691-61bf-f40c463d5f81", + "time": 8.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "e7619056-067a-1344-6ea1-9305447c04dd", + "time": 8.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-30.625" + } + ], + "uuid": "cc6fe899-933f-3723-7467-625fc099cfc8", + "time": 7.95, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "0f934b98-7a9b-df7c-82a7-3b737c2c1d4e", + "time": 8.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "c78a5ec6-c981-5eb5-ba5a-27b89a415475", + "time": 8.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "190df046-ee7f-1728-7dde-0755b39fc9c1", + "time": 8.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "73305a61-a5fc-3ffd-28cf-a5a7156ade9d": { + "name": "RopeLadder11", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "1a40387a-7b9d-1003-b69f-73b7bda2d673", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "3989ba7a-db3e-b3ad-aad9-d3f59f645574", + "time": 3.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "8ad54380-220e-bcd1-fd95-68a2f825468e", + "time": 4.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -92.5 + } + ], + "uuid": "64e1e450-2353-353e-2cc1-30b6916afdd1", + "time": 5.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "6a5f9b25-ffa2-8db8-099a-29c18235134f", + "time": 5.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "1791f50c-4bbf-341c-dae4-2c27891fab38", + "time": 6.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-96.25" + } + ], + "uuid": "deb5c22a-93ed-f46f-767e-f8bfe3ba8029", + "time": 6.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-94.375" + } + ], + "uuid": "b261d784-b671-a6ce-c702-1bab7434c0ae", + "time": 7.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "bbbaa549-460a-4921-d455-85ca0c90bc12", + "time": 7.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "767f6b12-00f3-cec8-31b5-012f59710173", + "time": 8.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -130 + } + ], + "uuid": "f328bf97-5dd5-614c-05f6-51b524e78c63", + "time": 8.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -150 + } + ], + "uuid": "ddbd3e32-1a8d-0c20-0a4a-47ded44f8392", + "time": 8.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "72adec00-19c7-4fa5-900a-76ecfd03068c", + "time": 8.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-95.625" + } + ], + "uuid": "e14449b1-e5fe-11a2-17ec-0ec7701c1e4b", + "time": 8.05, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "20085f32-db2f-6922-b3a4-842239584414", + "time": 8.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "3ca6575f-43cc-03fd-c391-121c08cfb988", + "time": 8.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "e6793b5c-6e62-e047-f070-04ab2de10a32", + "time": 8.55, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "fac07263-8b34-d5b4-c7e2-83b19ee7d708": { + "name": "RopeLadder12", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "91e861ef-f9f5-5ae9-bf67-bf63e63e4b43", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -77.5 + } + ], + "uuid": "e073481b-8372-b554-89e4-3ec7a33d3b81", + "time": 3.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -77.5 + } + ], + "uuid": "7945611b-0589-adc6-dca7-6fcb2aa96d20", + "time": 4.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -75 + } + ], + "uuid": "8f7237d7-22cb-a332-13ad-89a794fdf1ca", + "time": 5.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -77.5 + } + ], + "uuid": "b51ae597-1cc6-ed43-b874-3d760fd0769d", + "time": 5.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -77.5 + } + ], + "uuid": "d910c131-5795-9924-a404-76491396aa83", + "time": 6.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-78.75" + } + ], + "uuid": "70386e7a-cee3-7976-4f6d-044c1855a3a1", + "time": 6.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-76.875" + } + ], + "uuid": "2845c2a6-3bc4-0168-52e6-7273978be456", + "time": 7.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -77.5 + } + ], + "uuid": "bd656eb8-581c-f9f5-bc89-fca5559c257f", + "time": 7.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -77.5 + } + ], + "uuid": "737a3536-fcab-57d7-9eac-f96e47b2a1f3", + "time": 8.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -112.5 + } + ], + "uuid": "f3f88ca3-a3d7-1de6-93c4-95218bc45953", + "time": 8.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -132.5 + } + ], + "uuid": "615c9842-9dc5-ee5e-728a-1dbacc089696", + "time": 8.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -77.5 + } + ], + "uuid": "66677efe-b841-1f75-109b-a5aa7f6c576d", + "time": 8.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-78.125" + } + ], + "uuid": "e02af0bd-6d77-4be6-dd64-06848d575632", + "time": 8.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "968e8269-835e-879d-97bd-d4b01931b097", + "time": 8.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 17, + "z": 0 + } + ], + "uuid": "ed96e3b0-e8a2-25e5-337b-1e147785210c", + "time": 8.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10.5, + "z": 0 + } + ], + "uuid": "5a84d1cb-e872-1965-39ef-a9ef75e15a2f", + "time": 8.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "44f6b24f-ec24-3b6c-95dc-fc2d04130722": { + "name": "RopeLadder13", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "82967f6c-bd02-5a8f-ad9e-8c015374b361", + "time": 3.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "bbd10306-7631-63e9-18d2-46b603f5ab32", + "time": 3.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "d15eb4a4-4815-c1d0-df3b-8e086138c785", + "time": 4.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -92.5 + } + ], + "uuid": "f31fba74-e823-7ba3-9ae3-a67360ae34c4", + "time": 5.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "a839844d-85e4-3acb-cb3b-86038e43777b", + "time": 5.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "a14cdc74-9255-08d5-1e83-e06283199291", + "time": 6.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-96.25" + } + ], + "uuid": "1337ba2f-42a7-cb0d-d07a-878ab8834e7c", + "time": 6.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-94.375" + } + ], + "uuid": "2fdee278-0a16-be21-891a-fb48380fe654", + "time": 7.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "52e87cc4-b292-6d09-c196-3b52e394765c", + "time": 7.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "003cf14f-a93c-1189-8027-36f349c79f50", + "time": 8.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -130 + } + ], + "uuid": "33fe971d-1e16-a7e0-72a7-995bfa36c293", + "time": 8.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "49428d59-4973-1566-4091-bee99d4d58f0", + "time": 8.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -147.5 + } + ], + "uuid": "c82a0a19-6a82-ff84-9278-e5498f50d143", + "time": 8.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-95.625" + } + ], + "uuid": "1d5dea88-d6db-f260-f001-bb9785a167e1", + "time": 8.15, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "8f9e54ff-9798-a75d-c10a-704ca0739c98", + "time": 8.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 15, + "z": 0 + } + ], + "uuid": "f00e66ed-398e-60c4-d8f1-85b53bafa7e9", + "time": 8.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 9.5, + "z": 0 + } + ], + "uuid": "b45202cd-424f-2474-d13f-a26520086150", + "time": 8.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "81c03504-cef5-69e6-cf02-f623ce10f5b6": { + "name": "RopeLadder14", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "93f9f586-4e9b-3923-8f9c-44832080c328", + "time": 3.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "d6096621-5b95-817f-a799-c36f447e6fd4", + "time": 3.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "7c6b8e5b-0ceb-fe54-ab7b-8d7811bd2672", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -102.5 + } + ], + "uuid": "9ac5855e-42b3-487c-e521-a01b1a9e1d8c", + "time": 5.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "af233243-4539-b62b-310a-53e47d19762b", + "time": 5.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "3edb744f-dc01-d487-8c0a-bafe53c6ccb2", + "time": 6.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-106.25" + } + ], + "uuid": "3624af05-78f8-198e-b8c4-76ab3193b063", + "time": 6.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-104.375" + } + ], + "uuid": "4282ce73-34f3-16aa-49b3-df8574ad6691", + "time": 7.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "093881ee-7ca5-ba90-cf87-27bfe5320508", + "time": 7.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "dd457da2-3b85-73bb-4b15-5274a2493391", + "time": 8.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -142.5 + } + ], + "uuid": "9c720fcb-9108-2a44-df75-54043f2b53d1", + "time": 8.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -160 + } + ], + "uuid": "6c8f42f9-4129-08e4-0273-1174cdd7ff4d", + "time": 8.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "5fe75780-5b25-6646-e14a-d44cfc96bcf9", + "time": 8.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-105.625" + } + ], + "uuid": "47266fc4-e056-2041-ef22-595cd7482e03", + "time": 8.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "6003dc25-616a-3edd-1040-d9b2b35f3d80", + "time": 8.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 15, + "z": 0 + } + ], + "uuid": "4176975c-b729-106d-688c-09c887bd073d", + "time": 8.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 1.5, + "z": 0 + } + ], + "uuid": "b83a6031-7006-62d1-73fa-9cfe048d9496", + "time": 8.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "0cb872f1-2b47-cee6-492f-bfa20246c3ac": { + "name": "RopeLadder15", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "b1351cff-ed11-c2f0-e157-0f2e8d10b981", + "time": 3.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -130 + } + ], + "uuid": "1de4e324-219c-bfef-a594-e39a8fb5a350", + "time": 3.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -130 + } + ], + "uuid": "f61177ef-795c-a7d4-3b3c-b235ba115436", + "time": 4.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -127.5 + } + ], + "uuid": "d3e1c562-d3b8-0f96-4ff5-969dfa9ae4b5", + "time": 5.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -130 + } + ], + "uuid": "0a624dcc-15a2-456c-0b59-95d5feebbac4", + "time": 5.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -130 + } + ], + "uuid": "80c067d5-7cd6-cb24-56d0-2d2d140bd3b5", + "time": 6.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-131.25" + } + ], + "uuid": "be5a2d2a-9021-18a1-0fd2-76dca6100e21", + "time": 6.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-129.375" + } + ], + "uuid": "a9b9220c-ad00-9b9f-1bb4-75788b71dd2b", + "time": 7.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -130 + } + ], + "uuid": "b12b3267-e31c-cd0e-ff3e-d1150c2d088f", + "time": 7.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "44ff2d7b-fc5d-4f07-9be5-ccd9cf815be7", + "time": 8.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 15, + "z": 0 + } + ], + "uuid": "b754696d-b8fa-2ef6-e49a-76c6b4435e2c", + "time": 9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "47f57408-507e-ee25-dfbd-8f633fe8ccfd": { + "name": "TailRotorBlades", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "6dd64455-bc9b-cfd7-9fb0-a3eab02e7196", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "36720", + "y": "0", + "z": 0 + } + ], + "uuid": "f9d8e6f4-e171-0f12-1ca6-375ba6dc55d2", + "time": 12.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "812dc3c3-7569-417c-88ea-98db26c9084f": { + "name": "RotorBlades", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "f35b2cfe-e6ec-a772-1cc0-e8458d2373e9", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "18360", + "z": 0 + } + ], + "uuid": "fca52224-a73b-4ae1-4808-d80fb10b5eba", + "time": 12.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Shiroko/models/ex_skill_1.bbmodel b/config/yosbr/config/figura/avatars/Shiroko/models/ex_skill_1.bbmodel new file mode 100644 index 0000000..543dc64 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/models/ex_skill_1.bbmodel @@ -0,0 +1,12801 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "ex_skill_1", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 44, + "height": 39 + }, + "elements": [ + { + "name": "LauncherBase", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 0, + -8 + ], + "to": [ + 12, + 8, + 8 + ], + "autouv": 0, + "color": 0, + "origin": [ + 8, + 4, + 8 + ], + "faces": { + "north": { + "uv": [ + 0, + 3, + 16, + 19 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 8, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 3, + 16, + 19 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 8, + 1 + ], + "rotation": 180, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 8, + 3 + ], + "rotation": 270, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 8, + 3 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "1a86611d-4076-c20b-2acb-ef7af5d94681" + }, + { + "name": "Missile1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8.5, + 4.5, + -9 + ], + "to": [ + 10.5, + 6.5, + -8 + ], + "autouv": 0, + "color": 0, + "origin": [ + 9.5, + 5.5, + -8 + ], + "faces": { + "north": { + "uv": [ + 8, + 0, + 10, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 0, + 9, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 9, + 0, + 10, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 10, + 0, + 8, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 1, + 10, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "843c0fa8-7e4d-4d3c-6dc5-31f13110969b" + }, + { + "name": "Missile2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 5.5, + 4.5, + -9 + ], + "to": [ + 7.5, + 6.5, + -8 + ], + "autouv": 0, + "color": 0, + "origin": [ + 6.5, + 5.5, + -8 + ], + "faces": { + "north": { + "uv": [ + 8, + 0, + 10, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 0, + 9, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 9, + 0, + 10, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 10, + 0, + 8, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 1, + 10, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "972beba8-4c1b-3b98-93bc-1059436f6521" + }, + { + "name": "Missile3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8.5, + 1.5, + -9 + ], + "to": [ + 10.5, + 3.5, + -8 + ], + "autouv": 0, + "color": 0, + "origin": [ + 9.5, + 2.5, + -8 + ], + "faces": { + "north": { + "uv": [ + 8, + 0, + 10, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 0, + 9, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 9, + 0, + 10, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 10, + 0, + 8, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 1, + 10, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "0988d45a-15ca-7d67-5f3d-65e0d0ab5d35" + }, + { + "name": "Missile4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 5.5, + 1.5, + -9 + ], + "to": [ + 7.5, + 3.5, + -8 + ], + "autouv": 0, + "color": 0, + "origin": [ + 6.5, + 2.5, + -8 + ], + "faces": { + "north": { + "uv": [ + 8, + 0, + 10, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 0, + 9, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 9, + 0, + 10, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 10, + 0, + 8, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 1, + 10, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8bc120dd-65e1-c529-aa15-3def1806a62d" + }, + { + "name": "RotorBase", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 7, + 8, + -1 + ], + "to": [ + 9, + 8.5, + 1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b0fca2a0-f652-2cc3-5b6e-e7537220d249" + }, + { + "name": "RotorShaft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 7.5, + 8.5, + -0.5 + ], + "to": [ + 8.5, + 11, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6fd59bc8-116e-7993-2798-d3ca2370d47e" + }, + { + "name": "RotorCap", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 7, + 10, + -1 + ], + "to": [ + 9, + 10.5, + 1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 7, + 2, + 8, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 7, + 2, + 8, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 7, + 2, + 8, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 7, + 2, + 8, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 7, + 2, + 8, + 3 + ], + "texture": 0 + }, + "down": { + "uv": [ + 7, + 2, + 8, + 3 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "6aa27265-f1f0-d482-e2c3-42b42592ac1f" + }, + { + "name": "Rotor1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 7.25, + 9.5, + -7.5 + ], + "to": [ + 8.75, + 9.75, + -0.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + 20 + ], + "origin": [ + 8, + 9.625, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a85e8c76-0066-35e8-e7d6-bfe0327e8f94" + }, + { + "name": "Rotor2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8.5, + 9.5, + -0.75 + ], + "to": [ + 15.5, + 9.75, + 0.75 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -20, + 0, + 0 + ], + "origin": [ + 8, + 9.625, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "ae650a66-c70b-f411-d437-db3715a4bdca" + }, + { + "name": "Rotor3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 7.25, + 9.5, + 0.5 + ], + "to": [ + 8.75, + 9.75, + 7.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + -20 + ], + "origin": [ + 8, + 9.625, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "3590f192-bd47-477e-9f8e-f580f3ce5100" + }, + { + "name": "Rotor4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.5, + 9.5, + -0.75 + ], + "to": [ + 7.5, + 9.75, + 0.75 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + 8, + 9.625, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "rotation": 270, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "e6604395-c869-832a-412f-5e609a53d9a0" + }, + { + "name": "LauncherBase", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -12, + 0, + -8 + ], + "to": [ + -4, + 8, + 8 + ], + "autouv": 0, + "color": 0, + "origin": [ + -8, + 4, + 8 + ], + "faces": { + "north": { + "uv": [ + 0, + 3, + 16, + 19 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 8, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 3, + 16, + 19 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 8, + 1 + ], + "rotation": 180, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 8, + 3 + ], + "rotation": 270, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 8, + 3 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "d9ebb21a-aa0a-fd7e-def8-d1cac9262dbd" + }, + { + "name": "Missile1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7.5, + 4.5, + -9 + ], + "to": [ + -5.5, + 6.5, + -8 + ], + "autouv": 0, + "color": 0, + "origin": [ + -6.5, + 5.5, + -8 + ], + "faces": { + "north": { + "uv": [ + 8, + 0, + 10, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 0, + 9, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 9, + 0, + 10, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 10, + 0, + 8, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 1, + 10, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b657cec1-8b7a-c7f4-894e-8c3b692c7f1f" + }, + { + "name": "Missile2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -10.5, + 4.5, + -9 + ], + "to": [ + -8.5, + 6.5, + -8 + ], + "autouv": 0, + "color": 0, + "origin": [ + -9.5, + 5.5, + -8 + ], + "faces": { + "north": { + "uv": [ + 8, + 0, + 10, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 0, + 9, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 9, + 0, + 10, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 10, + 0, + 8, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 1, + 10, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f6008c4f-c29f-a317-34f9-2d559bb5b5d5" + }, + { + "name": "Missile3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7.5, + 1.5, + -9 + ], + "to": [ + -5.5, + 3.5, + -8 + ], + "autouv": 0, + "color": 0, + "origin": [ + -6.5, + 2.5, + -8 + ], + "faces": { + "north": { + "uv": [ + 8, + 0, + 10, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 0, + 9, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 9, + 0, + 10, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 10, + 0, + 8, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 1, + 10, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8d376cc6-d386-0eff-a46c-4f3edaf695ef" + }, + { + "name": "Missile4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -10.5, + 1.5, + -9 + ], + "to": [ + -8.5, + 3.5, + -8 + ], + "autouv": 0, + "color": 0, + "origin": [ + -9.5, + 2.5, + -8 + ], + "faces": { + "north": { + "uv": [ + 8, + 0, + 10, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 0, + 9, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 9, + 0, + 10, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 10, + 0, + 8, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 1, + 10, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "60189ee6-3378-c6a8-5e48-9963319903cd" + }, + { + "name": "RotorBase", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -9, + 8, + -1 + ], + "to": [ + -7, + 8.5, + 1 + ], + "autouv": 0, + "color": 0, + "origin": [ + -16, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "53b048c3-ed84-7001-9dc1-29b3e8f5b55a" + }, + { + "name": "RotorShaft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8.5, + 8.5, + -0.5 + ], + "to": [ + -7.5, + 11, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -16, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "eb0d6a1d-6f34-de14-1499-32d671219812" + }, + { + "name": "RotorCap", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -9, + 10, + -1 + ], + "to": [ + -7, + 10.5, + 1 + ], + "autouv": 0, + "color": 0, + "origin": [ + -16, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 7, + 2, + 8, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 7, + 2, + 8, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 7, + 2, + 8, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 7, + 2, + 8, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 7, + 2, + 8, + 3 + ], + "texture": 0 + }, + "down": { + "uv": [ + 7, + 2, + 8, + 3 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "0cdbaf16-78cf-e204-52ef-e41091ce7bc3" + }, + { + "name": "Rotor1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8.75, + 9.5, + -7.5 + ], + "to": [ + -7.25, + 9.75, + -0.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + 20 + ], + "origin": [ + -8, + 9.625, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e62c7211-5e86-01c2-90a1-6f39eeb21728" + }, + { + "name": "Rotor2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7.5, + 9.5, + -0.75 + ], + "to": [ + -0.5, + 9.75, + 0.75 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -20, + 0, + 0 + ], + "origin": [ + -8, + 9.625, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "a1003941-0a74-1cdc-dc58-9b94422e9529" + }, + { + "name": "Rotor3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8.75, + 9.5, + 0.5 + ], + "to": [ + -7.25, + 9.75, + 7.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + -20 + ], + "origin": [ + -8, + 9.625, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "e129119f-fb67-f22d-46b9-75533c9ae214" + }, + { + "name": "Rotor4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -15.5, + 9.5, + -0.75 + ], + "to": [ + -8.5, + 9.75, + 0.75 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -8, + 9.625, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "rotation": 270, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "fa65a8fa-acff-a5e0-2ba6-9b6f4adf1a4b" + }, + { + "name": "CoreBase1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.5, + 2.5, + -6 + ], + "to": [ + 3.5, + 5.5, + 6 + ], + "autouv": 0, + "color": 0, + "origin": [ + -8, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 7, + 2, + 8, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 7, + 2, + 8, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 7, + 2, + 8, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 7, + 2, + 8, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 7, + 2, + 8, + 3 + ], + "texture": 0 + }, + "down": { + "uv": [ + 7, + 2, + 8, + 3 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "388bbd03-4580-5f3a-129a-66b19be29fa4" + }, + { + "name": "CoreEyeCenter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 3.5, + -6.5 + ], + "to": [ + 1, + 4.5, + -6 + ], + "autouv": 0, + "color": 0, + "origin": [ + -8, + 0, + -2 + ], + "faces": { + "north": { + "uv": [ + 7, + 2, + 8, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 7, + 2, + 8, + 3 + ], + "texture": 0 + }, + "down": { + "uv": [ + 7, + 2, + 8, + 3 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "1be06c5f-f175-ec5b-29fa-52203ae41787" + }, + { + "name": "CoreEyeRightBase", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1, + 3, + -6.5 + ], + "to": [ + 3, + 5, + -6 + ], + "autouv": 0, + "color": 0, + "origin": [ + -8, + 0, + -2 + ], + "faces": { + "north": { + "uv": [ + 7, + 2, + 8, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 7, + 2, + 8, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 7, + 2, + 8, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 7, + 2, + 8, + 3 + ], + "texture": 0 + }, + "down": { + "uv": [ + 7, + 2, + 8, + 3 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "9e02ee7c-fed6-733b-cc8c-821a577ed31f" + }, + { + "name": "CoreEyeRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1.25, + 3.25, + -6.75 + ], + "to": [ + 2.75, + 4.75, + -6.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -8, + 0, + -2 + ], + "faces": { + "north": { + "uv": [ + 0, + 19, + 7, + 26 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 19, + 1, + 20 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 19, + 1, + 20 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 19, + 1, + 20 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 19, + 1, + 20 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c9d33f0c-31cb-41c3-5a95-42abe445910f" + }, + { + "name": "CoreEyeLeftBase", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 3, + -6.5 + ], + "to": [ + -1, + 5, + -6 + ], + "autouv": 0, + "color": 0, + "origin": [ + -12, + 0, + -2 + ], + "faces": { + "north": { + "uv": [ + 7, + 2, + 8, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 7, + 2, + 8, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 7, + 2, + 8, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 7, + 2, + 8, + 3 + ], + "texture": 0 + }, + "down": { + "uv": [ + 7, + 2, + 8, + 3 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c305250c-3033-d3e0-95bd-86878e7ea5a0" + }, + { + "name": "CoreEyeLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.75, + 3.25, + -6.75 + ], + "to": [ + -1.25, + 4.75, + -6.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -12, + 0, + -2 + ], + "faces": { + "north": { + "uv": [ + 0, + 19, + 7, + 26 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 19, + 1, + 20 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 19, + 1, + 20 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 19, + 1, + 20 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 19, + 1, + 20 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2f174546-d0e6-5b6c-4a4b-0a94b43f59d1" + }, + { + "name": "CoreConnector1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 1.625, + -3 + ], + "to": [ + -2, + 6.625, + -2.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -8, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "09563e18-0e6a-105e-9fbb-9ea32a733094" + }, + { + "name": "CoreConnector2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 1.625, + 2.5 + ], + "to": [ + -2, + 6.625, + 3 + ], + "autouv": 0, + "color": 0, + "origin": [ + -8, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "9a0e2547-eed3-648b-cd19-7e0bd58a6aad" + }, + { + "name": "CoreConnector3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2, + 1.625, + -3 + ], + "to": [ + 4, + 6.625, + -2.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -8, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "5a751c7a-7ef5-b429-4a52-6ea7dc19dfc6" + }, + { + "name": "CoreConnector4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2, + 1.625, + 2.5 + ], + "to": [ + 4, + 6.625, + 3 + ], + "autouv": 0, + "color": 0, + "origin": [ + -8, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "cec29988-9235-b591-50bc-7d293c2368a0" + }, + { + "name": "CoreBase2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + 5.5, + -6 + ], + "to": [ + 1.5, + 6, + 6 + ], + "autouv": 0, + "color": 0, + "inflate": -0.001, + "origin": [ + -8, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 7, + 2, + 8, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 7, + 2, + 8, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 7, + 2, + 8, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 7, + 2, + 8, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 7, + 2, + 8, + 3 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "cd5fd103-e6eb-6357-f431-9eb2eab9d9c6" + }, + { + "name": "CoreBase3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 5.5, + -6 + ], + "to": [ + 1, + 6.5, + 4 + ], + "autouv": 0, + "color": 0, + "origin": [ + -8, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 9, + 2, + 10, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 9, + 2, + 10, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 9, + 2, + 10, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 9, + 2, + 10, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 9, + 2, + 10, + 3 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9730b960-33d1-3fc7-2cea-eca21fc0423c" + }, + { + "name": "AbydosLogo", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -12.01, + 1, + -1.818 + ], + "to": [ + -12.01, + 7, + 5.818 + ], + "autouv": 0, + "color": 0, + "origin": [ + -16, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 16, + 0, + 44, + 22 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6954df18-a528-a2fb-b3c9-dd883e7b6bce" + }, + { + "name": "AbydosLogo", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 12.01, + 1, + -1.818 + ], + "to": [ + 12.01, + 7, + 5.818 + ], + "autouv": 0, + "color": 0, + "origin": [ + 16, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 16, + 0, + 44, + 22 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "3225394c-979d-e580-5511-eb43509de96c" + }, + { + "name": "ShineEffect1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 7.5, + 11.5, + -8 + ], + "to": [ + 16.5, + 13.5, + -8 + ], + "autouv": 0, + "color": 0, + "origin": [ + 6, + 2, + -8 + ], + "faces": { + "north": { + "uv": [ + 2, + 27, + 11, + 29 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 11, + 27, + 2, + 29 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "99e2e3af-d35f-1e9c-f936-ef945057c6ad" + }, + { + "name": "ShineEffect2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 6.5, + 3.5, + -8 + ], + "to": [ + 8.5, + 12.5, + -8 + ], + "autouv": 0, + "color": 0, + "origin": [ + 6, + 2, + -8 + ], + "faces": { + "north": { + "uv": [ + 10, + 28, + 12, + 37 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 12, + 28, + 10, + 37 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "7bbc85a9-b4c7-6d1c-ecaf-4add2247c7f8" + }, + { + "name": "ShineEffect3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 7.5, + 2.5, + -8 + ], + "to": [ + 16.5, + 4.5, + -8 + ], + "autouv": 0, + "color": 0, + "origin": [ + 6, + 2, + -8 + ], + "faces": { + "north": { + "uv": [ + 2, + 36, + 11, + 38 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 11, + 36, + 2, + 38 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "376b648e-9b78-4577-e6f2-0c650be09e54" + }, + { + "name": "ShineEffect4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 15.5, + 3.5, + -8 + ], + "to": [ + 17.5, + 12.5, + -8 + ], + "autouv": 0, + "color": 0, + "origin": [ + 6, + 2, + -8 + ], + "faces": { + "north": { + "uv": [ + 1, + 28, + 3, + 37 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 3, + 28, + 1, + 37 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d382661b-8e80-ea82-55e5-21d91e34a288" + }, + { + "name": "ShineEffect5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 9.5, + 13.5, + -8 + ], + "to": [ + 14.5, + 14.5, + -8 + ], + "autouv": 0, + "color": 0, + "origin": [ + 6, + 2, + -8 + ], + "faces": { + "north": { + "uv": [ + 4, + 26, + 9, + 27 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 9, + 26, + 4, + 27 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "42009e4d-726d-d04b-c98a-015631658fb8" + }, + { + "name": "ShineEffect6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 5.5, + 5.5, + -8 + ], + "to": [ + 6.5, + 10.5, + -8 + ], + "autouv": 0, + "color": 0, + "origin": [ + 6, + 2, + -8 + ], + "faces": { + "north": { + "uv": [ + 12, + 30, + 13, + 35 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 13, + 30, + 12, + 35 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "c68f771f-283e-df1d-75a1-b07cab53079e" + }, + { + "name": "ShineEffect7", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 9.5, + 1.5, + -8 + ], + "to": [ + 14.5, + 2.5, + -8 + ], + "autouv": 0, + "color": 0, + "origin": [ + 6, + 2, + -8 + ], + "faces": { + "north": { + "uv": [ + 4, + 38, + 9, + 39 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 9, + 38, + 4, + 39 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "67ddf469-a61d-ded7-204e-5611bc9ad490" + }, + { + "name": "ShineEffect8", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 17.5, + 5.5, + -8 + ], + "to": [ + 18.5, + 10.5, + -8 + ], + "autouv": 0, + "color": 0, + "origin": [ + 6, + 2, + -8 + ], + "faces": { + "north": { + "uv": [ + 0, + 30, + 1, + 35 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 1, + 30, + 0, + 35 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "2d947243-a91a-13ff-d372-b3f829980131" + }, + { + "name": "ShineEffect9", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 14.5, + 10.5, + -8 + ], + "to": [ + 15.5, + 11.5, + -8 + ], + "autouv": 0, + "color": 0, + "origin": [ + 6, + 2, + -8 + ], + "faces": { + "north": { + "uv": [ + 3, + 29, + 4, + 30 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 4, + 29, + 3, + 30 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "77484e9c-2c62-c0ad-adc1-7e057919d1e5" + }, + { + "name": "ShineEffect10", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8.5, + 10.5, + -8 + ], + "to": [ + 9.5, + 11.5, + -8 + ], + "autouv": 0, + "color": 0, + "origin": [ + 6, + 2, + -8 + ], + "faces": { + "north": { + "uv": [ + 9, + 29, + 10, + 30 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 10, + 29, + 9, + 30 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "72e829fd-2cbb-2bee-94cc-a8419134ff41" + }, + { + "name": "ShineEffect11", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8.5, + 4.5, + -8 + ], + "to": [ + 9.5, + 5.5, + -8 + ], + "autouv": 0, + "color": 0, + "origin": [ + 6, + 2, + -8 + ], + "faces": { + "north": { + "uv": [ + 9, + 35, + 10, + 36 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 10, + 35, + 9, + 36 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9291329e-8462-6f6b-c6b9-a20f119fade6" + }, + { + "name": "ShineEffect12", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 14.5, + 4.5, + -8 + ], + "to": [ + 15.5, + 5.5, + -8 + ], + "autouv": 0, + "color": 0, + "origin": [ + 6, + 2, + -8 + ], + "faces": { + "north": { + "uv": [ + 3, + 35, + 4, + 36 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 4, + 35, + 3, + 36 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6067d15b-6675-3362-1ffd-aa78e8c77f6c" + }, + { + "name": "ShineEffect1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 10.5, + 3.5, + -8 + ], + "to": [ + 13.5, + 12.5, + -8 + ], + "autouv": 0, + "color": 0, + "origin": [ + 6, + 2, + -8 + ], + "faces": { + "north": { + "uv": [ + 18, + 28, + 21, + 37 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 21, + 28, + 18, + 37 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ede7bc50-0c1a-0477-b7ed-74f2a5c91726" + }, + { + "name": "ShineEffect2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 7.5, + 6.5, + -8 + ], + "to": [ + 16.5, + 9.5, + -8 + ], + "autouv": 0, + "color": 0, + "origin": [ + 6, + 2, + -8 + ], + "faces": { + "north": { + "uv": [ + 15, + 31, + 24, + 34 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 24, + 31, + 15, + 34 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ed0cf289-2fe9-aed4-34ff-3129c2397900" + }, + { + "name": "ShineEffect3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11.5, + 1.5, + -8 + ], + "to": [ + 12.5, + 14.5, + -8 + ], + "autouv": 0, + "color": 0, + "origin": [ + 6, + 2, + -8 + ], + "faces": { + "north": { + "uv": [ + 19, + 26, + 20, + 39 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 20, + 26, + 19, + 39 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8d52e2f2-1807-fa23-a055-883c63093757" + }, + { + "name": "ShineEffect4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 5.5, + 7.5, + -8 + ], + "to": [ + 18.5, + 8.5, + -8 + ], + "autouv": 0, + "color": 0, + "origin": [ + 6, + 2, + -8 + ], + "faces": { + "north": { + "uv": [ + 13, + 32, + 26, + 33 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 26, + 32, + 13, + 33 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "fc50a6c3-ffee-c1b6-969e-26f6e16d7596" + }, + { + "name": "CoreRear4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 3.5, + 6 + ], + "to": [ + 0.5, + 4.5, + 7.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + -8, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 9, + 2, + 10, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 9, + 2, + 10, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 9, + 2, + 10, + 3 + ], + "texture": 0 + }, + "down": { + "uv": [ + 9, + 2, + 10, + 3 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c473f7d5-507a-1828-e6c0-93a8c17d19da" + }, + { + "name": "CoreRear5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 2.5, + 7.75 + ], + "to": [ + 0.5, + 5.5, + 8.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + -8, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 9, + 2, + 10, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 9, + 2, + 10, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 9, + 2, + 10, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 9, + 2, + 10, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 9, + 2, + 10, + 3 + ], + "texture": 0 + }, + "down": { + "uv": [ + 9, + 2, + 10, + 3 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2a1d9c03-a86e-b3d7-4a10-990ba4ba461f" + }, + { + "name": "CoreRear6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 5.5, + 7.75 + ], + "to": [ + 0.5, + 6.5, + 8.75 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -45, + 0, + 0 + ], + "origin": [ + 0, + 5.5, + 8.75 + ], + "faces": { + "north": { + "uv": [ + 9, + 2, + 10, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 9, + 2, + 10, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 9, + 2, + 10, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 9, + 2, + 10, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 9, + 2, + 10, + 3 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9002da79-f2f3-89cc-51d6-53018968acf5" + }, + { + "name": "CoreRear7", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 1.5, + 7.75 + ], + "to": [ + 0.5, + 2.5, + 8.75 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 45, + 0, + 0 + ], + "origin": [ + 0, + 2.5, + 8.75 + ], + "faces": { + "north": { + "uv": [ + 9, + 2, + 10, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 9, + 2, + 10, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 9, + 2, + 10, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 9, + 2, + 10, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 9, + 2, + 10, + 3 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "97e8ca07-4ffe-40ec-9bde-9e49a8568448" + }, + { + "name": "CoreBase4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.25, + 5.5, + 4 + ], + "to": [ + 0.25, + 6.5, + 4.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -8, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "87f80729-c44b-eea8-ea43-6c74509fe151" + }, + { + "name": "CoreRear1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.75, + 3.25, + 6 + ], + "to": [ + -1.25, + 4.75, + 7 + ], + "autouv": 0, + "color": 0, + "origin": [ + -8, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 7, + 2, + 8, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 7, + 2, + 8, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 7, + 2, + 8, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 7, + 2, + 8, + 3 + ], + "texture": 0 + }, + "down": { + "uv": [ + 7, + 2, + 8, + 3 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "258c283e-8153-d198-5b49-674bcf049512" + }, + { + "name": "CoreRear3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 3, + 6.5 + ], + "to": [ + 3, + 5, + 6.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + -8, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "e0a28175-ea8d-bfe9-25bd-25f85a6001ca" + }, + { + "name": "CoreRear2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1.25, + 3.25, + 6 + ], + "to": [ + 2.75, + 4.75, + 7 + ], + "autouv": 0, + "color": 0, + "origin": [ + -8, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 7, + 2, + 8, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 7, + 2, + 8, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 7, + 2, + 8, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 7, + 2, + 8, + 3 + ], + "texture": 0 + }, + "down": { + "uv": [ + 7, + 2, + 8, + 3 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "75a90f88-0fe4-2087-f522-de40b2e09675" + }, + { + "name": "CoreHandle1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.25, + 1, + 2.5 + ], + "to": [ + 0.25, + 6.5, + 3.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -8, + 1, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "e75f2bae-378d-d092-fcff-40b883003cb0" + }, + { + "name": "CoreHandle2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.25, + 1, + -3.5 + ], + "to": [ + 0.25, + 6.5, + -2.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -8, + 1, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "61a92d59-d15e-a736-d5fa-3d2f4a71b4e9" + }, + { + "name": "CoreHandle3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.25, + 1, + -2.5 + ], + "to": [ + 0.25, + 2, + 2.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -8, + 1, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 2, + 9, + 3 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "1524fa04-63d0-ace4-93a3-59af50bf3bc6" + }, + { + "name": "Missile", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -1, + -4 + ], + "to": [ + 1, + 1, + 4 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -180, + 0 + ], + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 0, + 10, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 22, + 24, + 24 + ], + "texture": 0 + }, + "south": { + "uv": [ + 10, + 0, + 12, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 25, + 16, + 23 + ], + "texture": 0 + }, + "up": { + "uv": [ + 16, + 25, + 24, + 23 + ], + "rotation": 270, + "texture": 0 + }, + "down": { + "uv": [ + 16, + 22, + 24, + 24 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "1552004a-cfba-8960-bc91-4b7f63ced646" + } + ], + "outliner": [ + { + "name": "Drone", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "09dc82c1-3b16-20db-4375-0b9ea34661d0", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "LauncherRight", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "f73d1706-d03e-4728-6ccc-cb5be6fbb0ce", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1a86611d-4076-c20b-2acb-ef7af5d94681", + "3225394c-979d-e580-5511-eb43509de96c", + { + "name": "MissilesRight", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "5fb0d753-a659-c0a5-1fa9-1eb6953f80a2", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "843c0fa8-7e4d-4d3c-6dc5-31f13110969b", + "972beba8-4c1b-3b98-93bc-1059436f6521", + "0988d45a-15ca-7d67-5f3d-65e0d0ab5d35", + "8bc120dd-65e1-c529-aa15-3def1806a62d" + ] + }, + { + "name": "RotorBaseRight", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "aea975d3-bc1c-84ef-d769-f22f1a432c5e", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b0fca2a0-f652-2cc3-5b6e-e7537220d249", + "6fd59bc8-116e-7993-2798-d3ca2370d47e", + "6aa27265-f1f0-d482-e2c3-42b42592ac1f", + { + "name": "RotorsRight", + "origin": [ + 8, + 9.625, + 0 + ], + "rotation": [ + 0, + 45, + 0 + ], + "color": 0, + "uuid": "9ff0e9df-bbb7-6fb7-e1ea-f9f628aa3ee0", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a85e8c76-0066-35e8-e7d6-bfe0327e8f94", + "ae650a66-c70b-f411-d437-db3715a4bdca", + "3590f192-bd47-477e-9f8e-f580f3ce5100", + "e6604395-c869-832a-412f-5e609a53d9a0" + ] + } + ] + }, + { + "name": "ShineEffects", + "origin": [ + 12, + 8, + -8 + ], + "rotation": [ + 0, + -45, + 0 + ], + "color": 0, + "uuid": "dd9944d1-af84-fd6a-780f-c0af32b0c499", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "ShineEffect1", + "origin": [ + 12, + 8, + -8 + ], + "color": 0, + "uuid": "9cc6f50e-80f6-d7db-bd46-df89cc23403b", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "99e2e3af-d35f-1e9c-f936-ef945057c6ad", + "7bbc85a9-b4c7-6d1c-ecaf-4add2247c7f8", + "376b648e-9b78-4577-e6f2-0c650be09e54", + "d382661b-8e80-ea82-55e5-21d91e34a288", + "42009e4d-726d-d04b-c98a-015631658fb8", + "c68f771f-283e-df1d-75a1-b07cab53079e", + "67ddf469-a61d-ded7-204e-5611bc9ad490", + "2d947243-a91a-13ff-d372-b3f829980131", + "77484e9c-2c62-c0ad-adc1-7e057919d1e5", + "72e829fd-2cbb-2bee-94cc-a8419134ff41", + "9291329e-8462-6f6b-c6b9-a20f119fade6", + "6067d15b-6675-3362-1ffd-aa78e8c77f6c" + ] + }, + { + "name": "ShineEffect2", + "origin": [ + 12, + 8, + -8 + ], + "color": 0, + "uuid": "a2d6f4ca-9099-67f9-a233-6109517c64fc", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ede7bc50-0c1a-0477-b7ed-74f2a5c91726", + "ed0cf289-2fe9-aed4-34ff-3129c2397900", + "8d52e2f2-1807-fa23-a055-883c63093757", + "fc50a6c3-ffee-c1b6-969e-26f6e16d7596" + ] + } + ] + } + ] + }, + { + "name": "LauncherLeft", + "origin": [ + -16, + 0, + 0 + ], + "color": 0, + "uuid": "3ffa664b-6b32-c886-5977-575a240ad6de", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d9ebb21a-aa0a-fd7e-def8-d1cac9262dbd", + "6954df18-a528-a2fb-b3c9-dd883e7b6bce", + { + "name": "Core", + "origin": [ + -8, + 0, + 0 + ], + "color": 0, + "uuid": "872f0820-ed56-ae53-809c-aa0509cfad23", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "388bbd03-4580-5f3a-129a-66b19be29fa4", + "cd5fd103-e6eb-6357-f431-9eb2eab9d9c6", + "9730b960-33d1-3fc7-2cea-eca21fc0423c", + "87f80729-c44b-eea8-ea43-6c74509fe151", + { + "name": "CoreConnectors", + "origin": [ + -8, + 0, + 0 + ], + "color": 0, + "uuid": "b2ba1519-8d32-d9ca-2f5e-b896f58b69c9", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "09563e18-0e6a-105e-9fbb-9ea32a733094", + "9a0e2547-eed3-648b-cd19-7e0bd58a6aad", + "5a751c7a-7ef5-b429-4a52-6ea7dc19dfc6", + "cec29988-9235-b591-50bc-7d293c2368a0" + ] + }, + { + "name": "CoreEye", + "origin": [ + -8, + 0, + -2 + ], + "color": 0, + "uuid": "0a61b872-0058-20e5-83de-e566f5655c05", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1be06c5f-f175-ec5b-29fa-52203ae41787", + { + "name": "CoreEyeRight", + "origin": [ + -8, + 0, + -2 + ], + "color": 0, + "uuid": "7239e475-30f1-c95d-3b38-765cb680204c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "9e02ee7c-fed6-733b-cc8c-821a577ed31f", + "c9d33f0c-31cb-41c3-5a95-42abe445910f" + ] + }, + { + "name": "CoreEyeLeft", + "origin": [ + -12, + 0, + -2 + ], + "color": 0, + "uuid": "9a3ebe21-8d65-fd9a-c793-29dd2b5f1362", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "c305250c-3033-d3e0-95bd-86878e7ea5a0", + "2f174546-d0e6-5b6c-4a4b-0a94b43f59d1" + ] + } + ] + }, + { + "name": "CoreRear", + "origin": [ + -8, + 0, + 0 + ], + "color": 0, + "uuid": "a004021c-d8f7-d605-5931-2e67a22bb376", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "258c283e-8153-d198-5b49-674bcf049512", + "75a90f88-0fe4-2087-f522-de40b2e09675", + "e0a28175-ea8d-bfe9-25bd-25f85a6001ca", + "c473f7d5-507a-1828-e6c0-93a8c17d19da", + "2a1d9c03-a86e-b3d7-4a10-990ba4ba461f", + "9002da79-f2f3-89cc-51d6-53018968acf5", + "97e8ca07-4ffe-40ec-9bde-9e49a8568448" + ] + }, + { + "name": "CoreHandle", + "origin": [ + -8, + 1, + 0 + ], + "color": 0, + "uuid": "c009ea16-c45a-d501-a232-584ec57c86bb", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e75f2bae-378d-d092-fcff-40b883003cb0", + "61a92d59-d15e-a736-d5fa-3d2f4a71b4e9", + "1524fa04-63d0-ace4-93a3-59af50bf3bc6" + ] + } + ] + }, + { + "name": "MissilesLeft", + "origin": [ + -16, + 0, + 0 + ], + "color": 0, + "uuid": "8209464b-8299-15ec-c3f9-06f16dd6b5d7", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b657cec1-8b7a-c7f4-894e-8c3b692c7f1f", + "f6008c4f-c29f-a317-34f9-2d559bb5b5d5", + "8d376cc6-d386-0eff-a46c-4f3edaf695ef", + "60189ee6-3378-c6a8-5e48-9963319903cd" + ] + }, + { + "name": "RotorBaseLeft", + "origin": [ + -16, + 0, + 0 + ], + "color": 0, + "uuid": "3f06e71b-3fd9-61d6-435e-30ac485656b5", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "53b048c3-ed84-7001-9dc1-29b3e8f5b55a", + "eb0d6a1d-6f34-de14-1499-32d671219812", + "0cdbaf16-78cf-e204-52ef-e41091ce7bc3", + { + "name": "RotorsLeft", + "origin": [ + -8, + 9.625, + 0 + ], + "rotation": [ + 0, + 45, + 0 + ], + "color": 0, + "uuid": "31727382-bf25-5d81-dfe9-ca0b6764d2d0", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e62c7211-5e86-01c2-90a1-6f39eeb21728", + "a1003941-0a74-1cdc-dc58-9b94422e9529", + "e129119f-fb67-f22d-46b9-75533c9ae214", + "fa65a8fa-acff-a5e0-2ba6-9b6f4adf1a4b" + ] + } + ] + } + ] + } + ] + }, + { + "name": "Missile", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "5f245713-1b2d-dac1-67e8-2a2fb5c42017", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1552004a-cfba-8960-bc91-4b7f63ced646" + ] + } + ], + "textures": [ + { + "path": "", + "name": "ex_skill_1.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 44, + "height": 39, + "uv_width": 44, + "uv_height": 39, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "bfb8c124-f138-8d9e-a05a-ec39c87a4c21", + "relative_path": "../../textures/ex_skill_1.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAnCAYAAAB0Q6rCAAAAAXNSR0IArs4c6QAAA6BJREFUWEfVmD9oFEEYxd/cXXIxfy6FjdpYBsXGJhpyopjOqwyKCNppZWclCJZiZWkjVgoiSqxiIUTQBJVY2BglpWK0ExIvev/2Pvlmd469vZnd2c1swIXl7vZmvv3Nmzdv505sbm0SNMf17Qrujm2BX6/sA37euylbzV+7LXTtU17je2aqIzZ+bGiBb2yP4M5YA7fEAclSW3AGrGAzQYskhauzNUy/XMaD/SKTIhHlo5CpobXA9XpdO8Pj4+MD1ycrk7YDCcOZ3ic6SwLXzl7sa/jk4X1txwuXr/ZdX3z+GCmAw31TK6s6a4EThxk0SAGcZAXrAfQBTz1a7GNdv1STn03XUwBzGfeWYLCP81UJeXRhBWFg3XVLYJ26vRkOKWSl8oDCjoHjYDNB52mJcN7aLgtOnFil81p0ppvqHlK6WDRC7zawWnw6O1jFXh6WiFNXqWnz4NDWcb3obGCjEaf7rNQeqOcS2CqWApLMbV1aQrvr08RDOAnS9JGl8lp0tjGWup2rzY9SKryookkQ3QeH1Q1HW7RWX7K42F7KmYp4U5cCOuA0/XxLVOfOGH20svTCZq8b7a88mvTojRuUbrMkeSVwdDfG3/DGJwWwjVI2O7akfKYesNqZqe2kA2AbhU1tojbrtdsxMM8QbzN1B//idvRbsFf+/wWOKmRriTiFP09UMCOc/NruV9iU3paLLnX476TDQGytUJsKoVjtAqiKIZt4w1Nq0nlRtmqbFbpXfJnaNAxgCELi+l8QPAAdAC0AJxLAX1GbTlsObkfAr6lNIxDwgf3TPwQ8EJoSmtAiwmxhWKvgB+oQgdCFwHFRyk1lWfg9dagMYATAIc3NvlCHGgA2ycOpgn7K18ijQjAjR/IEZs+WIbAHQNyNPlGHmiD8MVjjG3lUDOxzUBTzU/htADxqUFeZY506xLANEGYCn65SmypysAL8ysAtELYB/AbJU7XN6tloP8HAfEMGnoqZyjDwdxD2QoD/GpwIYPmVTwW6FQDz34q/0MU5R+kh2BIMzJY4HAvs0V8Q+NQpzLAlCPi28dXNRWFOCIYdhYj18Fqw8BhGF29fyaPSbniYPfIugObFZ0oJjjZW75ghZzlJuJYnB57jouObvKGWTIphCJnBvHj4acdPuS7nrzwFGujipNDn8GoAzPWm84w1tQrZGgzLPiyCUJQPDR+YVWvGwKoaS9SiOcOAnKVEtBCD+wozrH/Y7iWeUZNcpYFpgP8Aoh1URPWZGAkAAAAASUVORK5CYII=" + } + ], + "animations": [ + { + "uuid": "346f4fa7-7be3-e5cd-b917-f04058b549cd", + "name": "ex_skill_1", + "loop": "hold", + "override": true, + "length": 3.5, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "09dc82c1-3b16-20db-4375-0b9ea34661d0": { + "name": "Drone", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": -3, + "y": "0", + "z": -12 + } + ], + "uuid": "3ef78bbc-d0f2-f2dc-975f-121781bcf30b", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "9cc6f50e-80f6-d7db-bd46-df89cc23403b": { + "name": "ShineEffect1", + "type": "bone", + "keyframes": [ + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "40fba568-e5d3-06de-ad29-1e87e1a0d36f", + "time": 0, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "919af53f-92db-2053-09bb-5db025f001e5", + "time": 2.05, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "5", + "y": "5", + "z": "5" + }, + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "41ceef6d-7ddf-c93e-58dc-4541769eb56b", + "time": 2.3, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "a2d6f4ca-9099-67f9-a233-6109517c64fc": { + "name": "ShineEffect2", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "180" + } + ], + "uuid": "fb3ca8b2-b3d5-211c-2ec7-ca871e8842b7", + "time": 2.8, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.75 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.75 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "10ed37ef-fd7c-83b5-5cc1-4d7273e89494", + "time": 2.05, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "fac78ded-fbd1-f711-57fb-9953779299fd", + "time": 0, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "0188f902-9814-5340-fbbf-d9e46bf7fd61", + "time": 2.05, + "color": -1, + "uniform": true, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "2", + "y": "2", + "z": "2" + } + ], + "uuid": "0c131d71-82de-04ac-7913-bded8313d3b0", + "time": 2.3, + "color": -1, + "uniform": true, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.3, + -0.3, + -0.3 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.3, + 0.3, + 0.3 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "ca0776c5-9bb6-0dc3-7969-622631f5b274", + "time": 2.95, + "color": -1, + "uniform": true, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 2, + "y": 2, + "z": 2 + } + ], + "uuid": "e316f776-c1d2-6be9-fa74-c262ca9e136e", + "time": 2.7, + "color": -1, + "uniform": true, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.3, + -0.3, + -0.3 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.3, + 0.3, + 0.3 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + }, + { + "uuid": "7914c319-d05c-9a02-306f-9daff989998e", + "name": "creative_flying_right", + "loop": "loop", + "override": true, + "length": 5, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "e98e96cf-993b-878e-02b8-777c368bb888": { + "name": "Avatar", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "-5" + } + ], + "uuid": "e5f41378-8b29-bf5d-971c-6d0f11f7119d", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "d73255c8-11e6-3d25-8f3e-9f2fe95a5f7f", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "-1", + "z": 0 + } + ], + "uuid": "8d9a69f9-5738-535a-20d3-b38066cf7a13", + "time": 2.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 0 + } + ], + "uuid": "056ced1d-59b2-3345-f3e2-97ff6261b1b8", + "time": 5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "6101f8d5-b970-b28b-9e12-ecd9dcd9a6a9": { + "name": "Scarf2", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 5 + } + ], + "uuid": "03fde728-1da1-8569-1397-8dd03a3e014e", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e36cdff1-4949-f823-2012-f9a108379e69": { + "name": "Scarf3", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 5 + } + ], + "uuid": "70b08a93-deeb-bc99-da3a-c9af9f754c46", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ab590f32-a10c-babe-2b11-8934e7c058bd": { + "name": "Scarf4", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 5 + } + ], + "uuid": "9d1b818d-2a64-ebea-a6be-3e214a46aedb", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e7d3e5d8-00e4-587c-7bb6-6787db00054b": { + "name": "LeftArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -180, + "y": 0, + "z": "5" + } + ], + "uuid": "ff161b3c-1642-7de2-ae1e-b843fe3474b9", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": 2, + "z": "0" + } + ], + "uuid": "c18b70df-2795-b2c2-b369-c9a035f1e511", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "2f61e368-1c06-648e-26d4-aee94647e4da": { + "name": "LowerBody", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "5" + } + ], + "uuid": "84c2cb6b-4fbe-08c4-9861-6c3277f25987", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "4e80b5b4-7c04-8374-f8a7-526b3d36d050": { + "name": "RightLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 5 + } + ], + "uuid": "9f553fb7-7858-9d4f-cc3d-6315ec7bad75", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "73b3d6bc-af0b-a066-5d73-f3938109e11f": { + "name": "LeftLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": -5 + } + ], + "uuid": "bd1c7f63-300f-9c29-e2ae-791ee9980463", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "09dc82c1-3b16-20db-4375-0b9ea34661d0": { + "name": "Drone", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "5" + } + ], + "uuid": "f507e770-44e1-da79-8b48-fe32451dbbd5", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 6.5, + "y": 35.25, + "z": "0" + } + ], + "uuid": "15bf9b57-554b-d8ef-469a-ce0ff611c979", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "9ff0e9df-bbb7-6fb7-e1ea-f9f628aa3ee0": { + "name": "RotorsRight", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "bcc379db-217e-47b9-e623-83bf3d15eb11", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "14400", + "z": 0 + } + ], + "uuid": "3f413c26-7c92-8cee-5d16-4caaccbaf530", + "time": 5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "c009ea16-c45a-d501-a232-584ec57c86bb": { + "name": "CoreHandle", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": -3.5, + "z": "0" + } + ], + "uuid": "ebc88bfe-911e-aa5d-9259-8eb6224a1b41", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "31727382-bf25-5d81-dfe9-ca0b6764d2d0": { + "name": "RotorsLeft", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "84a79d70-c932-f7b9-2c49-fa0eb797007e", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "14400", + "z": 0 + } + ], + "uuid": "64c21c6e-ebe6-925a-ef13-69878f181e6d", + "time": 5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "dd9944d1-af84-fd6a-780f-c0af32b0c499": { + "name": "ShineEffects", + "type": "bone", + "keyframes": [ + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "d4887ea7-2ff2-8793-fd30-b347d4cc6c54", + "time": 0, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + }, + { + "uuid": "4941cc7c-d806-b471-66cf-c39d70314973", + "name": "creative_flying_left", + "loop": "loop", + "override": true, + "length": 5, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "e98e96cf-993b-878e-02b8-777c368bb888": { + "name": "Avatar", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "5" + } + ], + "uuid": "e5f41378-8b29-bf5d-971c-6d0f11f7119d", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "d73255c8-11e6-3d25-8f3e-9f2fe95a5f7f", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "-1", + "z": 0 + } + ], + "uuid": "8d9a69f9-5738-535a-20d3-b38066cf7a13", + "time": 2.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 0 + } + ], + "uuid": "056ced1d-59b2-3345-f3e2-97ff6261b1b8", + "time": 5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "6101f8d5-b970-b28b-9e12-ecd9dcd9a6a9": { + "name": "Scarf2", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "-5" + } + ], + "uuid": "03fde728-1da1-8569-1397-8dd03a3e014e", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e36cdff1-4949-f823-2012-f9a108379e69": { + "name": "Scarf3", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "-5" + } + ], + "uuid": "70b08a93-deeb-bc99-da3a-c9af9f754c46", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ab590f32-a10c-babe-2b11-8934e7c058bd": { + "name": "Scarf4", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "-5" + } + ], + "uuid": "9d1b818d-2a64-ebea-a6be-3e214a46aedb", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "2f61e368-1c06-648e-26d4-aee94647e4da": { + "name": "LowerBody", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "-5" + } + ], + "uuid": "84c2cb6b-4fbe-08c4-9861-6c3277f25987", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "4e80b5b4-7c04-8374-f8a7-526b3d36d050": { + "name": "RightLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 5 + } + ], + "uuid": "9f553fb7-7858-9d4f-cc3d-6315ec7bad75", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "73b3d6bc-af0b-a066-5d73-f3938109e11f": { + "name": "LeftLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": -5 + } + ], + "uuid": "bd1c7f63-300f-9c29-e2ae-791ee9980463", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "09dc82c1-3b16-20db-4375-0b9ea34661d0": { + "name": "Drone", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "-5" + } + ], + "uuid": "f507e770-44e1-da79-8b48-fe32451dbbd5", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-6.5", + "y": 35.25, + "z": "0" + } + ], + "uuid": "15bf9b57-554b-d8ef-469a-ce0ff611c979", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "9ff0e9df-bbb7-6fb7-e1ea-f9f628aa3ee0": { + "name": "RotorsRight", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "bcc379db-217e-47b9-e623-83bf3d15eb11", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "14400", + "z": 0 + } + ], + "uuid": "3f413c26-7c92-8cee-5d16-4caaccbaf530", + "time": 5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "c009ea16-c45a-d501-a232-584ec57c86bb": { + "name": "CoreHandle", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": -3.5, + "z": "0" + } + ], + "uuid": "ebc88bfe-911e-aa5d-9259-8eb6224a1b41", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "31727382-bf25-5d81-dfe9-ca0b6764d2d0": { + "name": "RotorsLeft", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "84a79d70-c932-f7b9-2c49-fa0eb797007e", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "14400", + "z": 0 + } + ], + "uuid": "64c21c6e-ebe6-925a-ef13-69878f181e6d", + "time": 5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3c1cb66d-8a31-d31f-ec9f-65a33e313a53": { + "name": "RightArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "180", + "y": "0", + "z": "-5" + } + ], + "uuid": "7f037006-4ec7-369f-38be-ed14dab8cc6e", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": 2, + "z": "0" + } + ], + "uuid": "be7a1fb2-de01-0419-1e8e-c06b3b8cc997", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "dd9944d1-af84-fd6a-780f-c0af32b0c499": { + "name": "ShineEffects", + "type": "bone", + "keyframes": [ + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "d7c3bae6-bf95-1b6f-0318-cbf6e65a5533", + "time": 0, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + }, + { + "uuid": "a74811d2-6ee9-3a80-2a0e-f52462148585", + "name": "creative_flying_start_right", + "loop": "once", + "override": true, + "length": 0.25, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "e98e96cf-993b-878e-02b8-777c368bb888": { + "name": "Avatar", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "e5f41378-8b29-bf5d-971c-6d0f11f7119d", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -5 + } + ], + "uuid": "e5a2099a-a5f1-334f-c50a-26173d2db67b", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "d73255c8-11e6-3d25-8f3e-9f2fe95a5f7f", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": -0.1, + "z": 0 + } + ], + "uuid": "2c85b4d5-9f24-ac4b-466b-64a91657069c", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "6101f8d5-b970-b28b-9e12-ecd9dcd9a6a9": { + "name": "Scarf2", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 5 + } + ], + "uuid": "03fde728-1da1-8569-1397-8dd03a3e014e", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "11425323-c340-7495-8034-304a4a06035c", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e36cdff1-4949-f823-2012-f9a108379e69": { + "name": "Scarf3", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 5 + } + ], + "uuid": "70b08a93-deeb-bc99-da3a-c9af9f754c46", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "90b979dc-4716-79c5-7c39-4eeeb3ac6d90", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ab590f32-a10c-babe-2b11-8934e7c058bd": { + "name": "Scarf4", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 5 + } + ], + "uuid": "9d1b818d-2a64-ebea-a6be-3e214a46aedb", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "7a98c7cb-0e30-e9c2-d624-645449405218", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e7d3e5d8-00e4-587c-7bb6-6787db00054b": { + "name": "LeftArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -180, + "y": 0, + "z": "5" + } + ], + "uuid": "ff161b3c-1642-7de2-ae1e-b843fe3474b9", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": "0" + } + ], + "uuid": "1192535f-af56-7d24-2b1a-4b0bbe49fb7d", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": 2, + "z": "0" + } + ], + "uuid": "c18b70df-2795-b2c2-b369-c9a035f1e511", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 0 + } + ], + "uuid": "305b4501-b513-348d-b690-f704c59c69b2", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "2f61e368-1c06-648e-26d4-aee94647e4da": { + "name": "LowerBody", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "5" + } + ], + "uuid": "84c2cb6b-4fbe-08c4-9861-6c3277f25987", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "e2cf6cce-cd46-0488-d456-13a7fd0cbf44", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "4e80b5b4-7c04-8374-f8a7-526b3d36d050": { + "name": "RightLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 5 + } + ], + "uuid": "9f553fb7-7858-9d4f-cc3d-6315ec7bad75", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "4fbfcbd9-6750-7b31-99f9-0837b04fa74c", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "73b3d6bc-af0b-a066-5d73-f3938109e11f": { + "name": "LeftLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": -5 + } + ], + "uuid": "bd1c7f63-300f-9c29-e2ae-791ee9980463", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "82163f58-6d9c-7217-5a61-bd5bdaa45a40", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "09dc82c1-3b16-20db-4375-0b9ea34661d0": { + "name": "Drone", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "5" + } + ], + "uuid": "f507e770-44e1-da79-8b48-fe32451dbbd5", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "16a49428-b1ce-c6f4-017a-242ac759294d", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 6.5, + "y": 35.25, + "z": "0" + } + ], + "uuid": "15bf9b57-554b-d8ef-469a-ce0ff611c979", + "time": 0.25, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.20333, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.20333, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 6.5, + "y": 80.25, + "z": 31 + } + ], + "uuid": "f39defe6-824f-87a0-3399-d6df9927815a", + "time": 0, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.00333, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.00333, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "9ff0e9df-bbb7-6fb7-e1ea-f9f628aa3ee0": { + "name": "RotorsRight", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "bcc379db-217e-47b9-e623-83bf3d15eb11", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "720", + "z": 0 + } + ], + "uuid": "5918cbf8-d48d-5866-d7e4-8ea4586a75a6", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "c009ea16-c45a-d501-a232-584ec57c86bb": { + "name": "CoreHandle", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": -3.5, + "z": "0" + } + ], + "uuid": "ebc88bfe-911e-aa5d-9259-8eb6224a1b41", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 0 + } + ], + "uuid": "16504e7a-059c-0a8d-6568-f285e5bb0749", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "31727382-bf25-5d81-dfe9-ca0b6764d2d0": { + "name": "RotorsLeft", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "84a79d70-c932-f7b9-2c49-fa0eb797007e", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "720", + "z": 0 + } + ], + "uuid": "805c793a-48c6-9aa8-323d-7f96784a7ad8", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "dd9944d1-af84-fd6a-780f-c0af32b0c499": { + "name": "ShineEffects", + "type": "bone", + "keyframes": [ + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "952b4164-be0a-58af-43b6-9c312c9ac32c", + "time": 0, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + }, + { + "uuid": "f63a7bf7-0478-985e-40e8-d46e458671b3", + "name": "creative_flying_start_left", + "loop": "once", + "override": true, + "length": 0.25, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "e98e96cf-993b-878e-02b8-777c368bb888": { + "name": "Avatar", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "5" + } + ], + "uuid": "e5f41378-8b29-bf5d-971c-6d0f11f7119d", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "ab3522c9-d053-a468-001a-5ddb0107d724", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "-0.1", + "z": "0" + } + ], + "uuid": "d73255c8-11e6-3d25-8f3e-9f2fe95a5f7f", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "5aaeeddd-a40e-72bb-8e4d-37a589890d27", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "6101f8d5-b970-b28b-9e12-ecd9dcd9a6a9": { + "name": "Scarf2", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "-5" + } + ], + "uuid": "03fde728-1da1-8569-1397-8dd03a3e014e", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "607473ec-8c4f-1d7a-6156-f66a4b99b694", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e36cdff1-4949-f823-2012-f9a108379e69": { + "name": "Scarf3", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "-5" + } + ], + "uuid": "70b08a93-deeb-bc99-da3a-c9af9f754c46", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "3db63857-81a0-85d3-0d61-c8181bd34049", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ab590f32-a10c-babe-2b11-8934e7c058bd": { + "name": "Scarf4", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "-5" + } + ], + "uuid": "9d1b818d-2a64-ebea-a6be-3e214a46aedb", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "f065cd20-e7c2-5810-7bf3-81d7eb128e17", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "2f61e368-1c06-648e-26d4-aee94647e4da": { + "name": "LowerBody", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "-5" + } + ], + "uuid": "84c2cb6b-4fbe-08c4-9861-6c3277f25987", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "833316ee-dc58-dcac-13e3-1e0a1d7d7bc1", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "4e80b5b4-7c04-8374-f8a7-526b3d36d050": { + "name": "RightLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 5 + } + ], + "uuid": "9f553fb7-7858-9d4f-cc3d-6315ec7bad75", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "48823497-28d6-1f95-ce60-383e9a805d70", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "73b3d6bc-af0b-a066-5d73-f3938109e11f": { + "name": "LeftLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": -5 + } + ], + "uuid": "bd1c7f63-300f-9c29-e2ae-791ee9980463", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "12a9f0dd-1472-b29f-8351-0f6ab6446581", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "09dc82c1-3b16-20db-4375-0b9ea34661d0": { + "name": "Drone", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "-5" + } + ], + "uuid": "f507e770-44e1-da79-8b48-fe32451dbbd5", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "7f7e1558-ea79-c763-9c66-a314bbe37ff4", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-6.5", + "y": 35.25, + "z": "0" + } + ], + "uuid": "111644a7-543e-ca2b-eeb0-6eba8fe28b62", + "time": 0.25, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.20333, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.20333, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-6.5", + "y": 80.25, + "z": 31 + } + ], + "uuid": "6bb7c72b-9bc3-4b78-e90f-2360205d2e26", + "time": 0, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.00333, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.00333, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "9ff0e9df-bbb7-6fb7-e1ea-f9f628aa3ee0": { + "name": "RotorsRight", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "bcc379db-217e-47b9-e623-83bf3d15eb11", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "720", + "z": 0 + } + ], + "uuid": "bdc5e6f8-373b-66b2-a9a4-ebca61d638a4", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "c009ea16-c45a-d501-a232-584ec57c86bb": { + "name": "CoreHandle", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": -3.5, + "z": "0" + } + ], + "uuid": "ebc88bfe-911e-aa5d-9259-8eb6224a1b41", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 0 + } + ], + "uuid": "7859e9cc-41fa-8834-ffa7-d6f7ffb49b90", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "31727382-bf25-5d81-dfe9-ca0b6764d2d0": { + "name": "RotorsLeft", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "84a79d70-c932-f7b9-2c49-fa0eb797007e", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "720", + "z": 0 + } + ], + "uuid": "8b04fd3b-0434-1fc7-0142-a2a8da29259a", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3c1cb66d-8a31-d31f-ec9f-65a33e313a53": { + "name": "RightArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "-180", + "y": "0", + "z": "-5" + } + ], + "uuid": "7f037006-4ec7-369f-38be-ed14dab8cc6e", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": "0" + } + ], + "uuid": "8527cbba-c0f0-a05d-6d0a-d84c10d16291", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": 2, + "z": "0" + } + ], + "uuid": "be7a1fb2-de01-0419-1e8e-c06b3b8cc997", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 0 + } + ], + "uuid": "3c7b92bc-6b4e-72d2-5772-cb1bb694562c", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "dd9944d1-af84-fd6a-780f-c0af32b0c499": { + "name": "ShineEffects", + "type": "bone", + "keyframes": [ + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "0605880f-fdbd-414d-1347-e096bd0195a4", + "time": 0, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + }, + { + "uuid": "52e3886d-fb3d-ca94-66b4-8143622fad26", + "name": "creative_flying_end_right", + "loop": "once", + "override": true, + "length": 0.25, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "e98e96cf-993b-878e-02b8-777c368bb888": { + "name": "Avatar", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "e5f41378-8b29-bf5d-971c-6d0f11f7119d", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -5 + } + ], + "uuid": "e5a2099a-a5f1-334f-c50a-26173d2db67b", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "d73255c8-11e6-3d25-8f3e-9f2fe95a5f7f", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": -0.1, + "z": 0 + } + ], + "uuid": "2c85b4d5-9f24-ac4b-466b-64a91657069c", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "6101f8d5-b970-b28b-9e12-ecd9dcd9a6a9": { + "name": "Scarf2", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 5 + } + ], + "uuid": "03fde728-1da1-8569-1397-8dd03a3e014e", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "11425323-c340-7495-8034-304a4a06035c", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e36cdff1-4949-f823-2012-f9a108379e69": { + "name": "Scarf3", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 5 + } + ], + "uuid": "70b08a93-deeb-bc99-da3a-c9af9f754c46", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "90b979dc-4716-79c5-7c39-4eeeb3ac6d90", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ab590f32-a10c-babe-2b11-8934e7c058bd": { + "name": "Scarf4", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 5 + } + ], + "uuid": "9d1b818d-2a64-ebea-a6be-3e214a46aedb", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "7a98c7cb-0e30-e9c2-d624-645449405218", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e7d3e5d8-00e4-587c-7bb6-6787db00054b": { + "name": "LeftArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -180, + "y": 0, + "z": "5" + } + ], + "uuid": "ff161b3c-1642-7de2-ae1e-b843fe3474b9", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": "0" + } + ], + "uuid": "1192535f-af56-7d24-2b1a-4b0bbe49fb7d", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": 2, + "z": "0" + } + ], + "uuid": "c18b70df-2795-b2c2-b369-c9a035f1e511", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 0 + } + ], + "uuid": "305b4501-b513-348d-b690-f704c59c69b2", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "2f61e368-1c06-648e-26d4-aee94647e4da": { + "name": "LowerBody", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "5" + } + ], + "uuid": "84c2cb6b-4fbe-08c4-9861-6c3277f25987", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "e2cf6cce-cd46-0488-d456-13a7fd0cbf44", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "4e80b5b4-7c04-8374-f8a7-526b3d36d050": { + "name": "RightLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 5 + } + ], + "uuid": "9f553fb7-7858-9d4f-cc3d-6315ec7bad75", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "4fbfcbd9-6750-7b31-99f9-0837b04fa74c", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "73b3d6bc-af0b-a066-5d73-f3938109e11f": { + "name": "LeftLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": -5 + } + ], + "uuid": "bd1c7f63-300f-9c29-e2ae-791ee9980463", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "82163f58-6d9c-7217-5a61-bd5bdaa45a40", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "09dc82c1-3b16-20db-4375-0b9ea34661d0": { + "name": "Drone", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "5" + } + ], + "uuid": "f507e770-44e1-da79-8b48-fe32451dbbd5", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "16a49428-b1ce-c6f4-017a-242ac759294d", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 6.5, + "y": 35.25, + "z": "0" + } + ], + "uuid": "15bf9b57-554b-d8ef-469a-ce0ff611c979", + "time": 0, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.20333, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.20333, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 6.5, + "y": 80.25, + "z": "-31" + } + ], + "uuid": "f39defe6-824f-87a0-3399-d6df9927815a", + "time": 0.25, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.00333, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.00333, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "9ff0e9df-bbb7-6fb7-e1ea-f9f628aa3ee0": { + "name": "RotorsRight", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "bcc379db-217e-47b9-e623-83bf3d15eb11", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "720", + "z": 0 + } + ], + "uuid": "5918cbf8-d48d-5866-d7e4-8ea4586a75a6", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "c009ea16-c45a-d501-a232-584ec57c86bb": { + "name": "CoreHandle", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": -3.5, + "z": "0" + } + ], + "uuid": "ebc88bfe-911e-aa5d-9259-8eb6224a1b41", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 0 + } + ], + "uuid": "16504e7a-059c-0a8d-6568-f285e5bb0749", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "31727382-bf25-5d81-dfe9-ca0b6764d2d0": { + "name": "RotorsLeft", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "84a79d70-c932-f7b9-2c49-fa0eb797007e", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "720", + "z": 0 + } + ], + "uuid": "805c793a-48c6-9aa8-323d-7f96784a7ad8", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "dd9944d1-af84-fd6a-780f-c0af32b0c499": { + "name": "ShineEffects", + "type": "bone", + "keyframes": [ + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "952b4164-be0a-58af-43b6-9c312c9ac32c", + "time": 0, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + }, + { + "uuid": "bc92534c-6066-cf93-7fb3-dbfef6e5901f", + "name": "creative_flying_end_left", + "loop": "once", + "override": true, + "length": 0.25, + "snapping": 20, + "selected": true, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "e98e96cf-993b-878e-02b8-777c368bb888": { + "name": "Avatar", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "5" + } + ], + "uuid": "e5f41378-8b29-bf5d-971c-6d0f11f7119d", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "ab3522c9-d053-a468-001a-5ddb0107d724", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "-0.1", + "z": "0" + } + ], + "uuid": "d73255c8-11e6-3d25-8f3e-9f2fe95a5f7f", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "5aaeeddd-a40e-72bb-8e4d-37a589890d27", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "6101f8d5-b970-b28b-9e12-ecd9dcd9a6a9": { + "name": "Scarf2", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "-5" + } + ], + "uuid": "03fde728-1da1-8569-1397-8dd03a3e014e", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "607473ec-8c4f-1d7a-6156-f66a4b99b694", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e36cdff1-4949-f823-2012-f9a108379e69": { + "name": "Scarf3", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "-5" + } + ], + "uuid": "70b08a93-deeb-bc99-da3a-c9af9f754c46", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "3db63857-81a0-85d3-0d61-c8181bd34049", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ab590f32-a10c-babe-2b11-8934e7c058bd": { + "name": "Scarf4", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "-5" + } + ], + "uuid": "9d1b818d-2a64-ebea-a6be-3e214a46aedb", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "f065cd20-e7c2-5810-7bf3-81d7eb128e17", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "2f61e368-1c06-648e-26d4-aee94647e4da": { + "name": "LowerBody", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "-5" + } + ], + "uuid": "84c2cb6b-4fbe-08c4-9861-6c3277f25987", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "833316ee-dc58-dcac-13e3-1e0a1d7d7bc1", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "4e80b5b4-7c04-8374-f8a7-526b3d36d050": { + "name": "RightLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 5 + } + ], + "uuid": "9f553fb7-7858-9d4f-cc3d-6315ec7bad75", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "48823497-28d6-1f95-ce60-383e9a805d70", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "73b3d6bc-af0b-a066-5d73-f3938109e11f": { + "name": "LeftLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": -5 + } + ], + "uuid": "bd1c7f63-300f-9c29-e2ae-791ee9980463", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "12a9f0dd-1472-b29f-8351-0f6ab6446581", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "09dc82c1-3b16-20db-4375-0b9ea34661d0": { + "name": "Drone", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "-5" + } + ], + "uuid": "f507e770-44e1-da79-8b48-fe32451dbbd5", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "7f7e1558-ea79-c763-9c66-a314bbe37ff4", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-6.5", + "y": 35.25, + "z": "0" + } + ], + "uuid": "111644a7-543e-ca2b-eeb0-6eba8fe28b62", + "time": 0, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.20333, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.20333, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-6.5", + "y": 80.25, + "z": "-31" + } + ], + "uuid": "6bb7c72b-9bc3-4b78-e90f-2360205d2e26", + "time": 0.25, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.00333, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.00333, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "9ff0e9df-bbb7-6fb7-e1ea-f9f628aa3ee0": { + "name": "RotorsRight", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "bcc379db-217e-47b9-e623-83bf3d15eb11", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "720", + "z": 0 + } + ], + "uuid": "bdc5e6f8-373b-66b2-a9a4-ebca61d638a4", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "c009ea16-c45a-d501-a232-584ec57c86bb": { + "name": "CoreHandle", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": -3.5, + "z": "0" + } + ], + "uuid": "ebc88bfe-911e-aa5d-9259-8eb6224a1b41", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 0 + } + ], + "uuid": "7859e9cc-41fa-8834-ffa7-d6f7ffb49b90", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "31727382-bf25-5d81-dfe9-ca0b6764d2d0": { + "name": "RotorsLeft", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "84a79d70-c932-f7b9-2c49-fa0eb797007e", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "720", + "z": 0 + } + ], + "uuid": "8b04fd3b-0434-1fc7-0142-a2a8da29259a", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3c1cb66d-8a31-d31f-ec9f-65a33e313a53": { + "name": "RightArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "-180", + "y": "0", + "z": "-5" + } + ], + "uuid": "7f037006-4ec7-369f-38be-ed14dab8cc6e", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": "0" + } + ], + "uuid": "8527cbba-c0f0-a05d-6d0a-d84c10d16291", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": 2, + "z": "0" + } + ], + "uuid": "be7a1fb2-de01-0419-1e8e-c06b3b8cc997", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 0 + } + ], + "uuid": "3c7b92bc-6b4e-72d2-5772-cb1bb694562c", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "dd9944d1-af84-fd6a-780f-c0af32b0c499": { + "name": "ShineEffects", + "type": "bone", + "keyframes": [ + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "0605880f-fdbd-414d-1347-e096bd0195a4", + "time": 0, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Shiroko/models/ex_skill_2.bbmodel b/config/yosbr/config/figura/avatars/Shiroko/models/ex_skill_2.bbmodel new file mode 100644 index 0000000..b5e0c15 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/models/ex_skill_2.bbmodel @@ -0,0 +1,16041 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "ex_skill_2", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 47, + "height": 37 + }, + "elements": [ + { + "name": "Background", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + -0.5, + 0 + ], + "to": [ + 0.5, + 0.5, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "03b9c96e-f6a2-8e93-39c7-f7230b71f4de" + }, + { + "name": "FrontBody", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5, + -4, + -3 + ], + "to": [ + 11, + 4, + 3 + ], + "autouv": 0, + "color": 0, + "origin": [ + -5, + -4, + 9 + ], + "faces": { + "north": { + "uv": [ + 7, + 6, + 23, + 14 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 6, + 7, + 14 + ], + "texture": 0 + }, + "south": { + "uv": [ + 23, + 6, + 7, + 14 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 6, + 7, + 14 + ], + "texture": 0 + }, + "up": { + "uv": [ + 7, + 0, + 23, + 6 + ], + "texture": 0 + }, + "down": { + "uv": [ + 23, + 0, + 39, + 6 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "944883ee-4e65-dd27-a2b6-9e6bf5e8eda4" + }, + { + "name": "RearBody1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -9, + -4, + -3 + ], + "to": [ + -5, + 4, + 3 + ], + "autouv": 0, + "color": 0, + "origin": [ + -5, + -4, + 15 + ], + "faces": { + "north": { + "uv": [ + 7, + 20, + 11, + 28 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 20, + 7, + 28 + ], + "texture": 0 + }, + "south": { + "uv": [ + 11, + 20, + 7, + 28 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 20, + 7, + 28 + ], + "texture": 0 + }, + "up": { + "uv": [ + 7, + 14, + 11, + 20 + ], + "texture": 0 + }, + "down": { + "uv": [ + 11, + 14, + 15, + 20 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "1ca5c470-8c43-29e2-9a77-b4db6760bf69" + }, + { + "name": "RearBody2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -15, + -3, + -2.5 + ], + "to": [ + -9, + 3, + 2.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -5, + -4, + 15 + ], + "faces": { + "north": { + "uv": [ + 20, + 19, + 26, + 25 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 26, + 19, + 20, + 25 + ], + "texture": 0 + }, + "west": { + "uv": [ + 15, + 19, + 20, + 25 + ], + "texture": 0 + }, + "up": { + "uv": [ + 20, + 14, + 26, + 19 + ], + "texture": 0 + }, + "down": { + "uv": [ + 26, + 14, + 32, + 19 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8ddcad9b-1d6d-f81c-d0c8-98d60b25ee27" + }, + { + "name": "RearBody3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -21, + -1.5, + -1.5 + ], + "to": [ + -15, + 1.5, + 1.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -5, + -4, + 15 + ], + "faces": { + "north": { + "uv": [ + 35, + 13, + 41, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 41, + 13, + 35, + 16 + ], + "texture": 0 + }, + "west": { + "uv": [ + 32, + 13, + 35, + 16 + ], + "texture": 0 + }, + "up": { + "uv": [ + 35, + 10, + 41, + 13 + ], + "texture": 0 + }, + "down": { + "uv": [ + 41, + 10, + 47, + 13 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "bd6ee1a3-3a11-a55c-b4f7-2836a8c7f1eb" + }, + { + "name": "Head", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11, + -2, + -2 + ], + "to": [ + 17, + 3, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 12, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 4, + 32, + 10, + 37 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 32, + 4, + 37 + ], + "texture": 0 + }, + "south": { + "uv": [ + 10, + 32, + 4, + 37 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 4, + 28, + 10, + 32 + ], + "texture": 0 + }, + "down": { + "uv": [ + 10, + 28, + 16, + 32 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8be796ee-4b03-81a4-0a6b-c3189d715401" + }, + { + "name": "Mouth", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11, + -3, + -2 + ], + "to": [ + 17, + -2, + 2 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + -20 + ], + "origin": [ + 11, + -2, + 0 + ], + "faces": { + "north": { + "uv": [ + 13, + 36, + 19, + 37 + ], + "texture": 0 + }, + "east": { + "uv": [ + 10, + 36, + 14, + 37 + ], + "texture": 0 + }, + "south": { + "uv": [ + 19, + 36, + 13, + 37 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 10, + 28, + 16, + 32 + ], + "texture": 0 + }, + "down": { + "uv": [ + 10, + 32, + 16, + 36 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d63e7f84-6e07-0dfe-a29a-d60421029698" + }, + { + "name": "TailFinBase", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -23, + -2, + -0.25 + ], + "to": [ + -20.5, + 2, + 0.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + -5, + -4, + 15 + ], + "faces": { + "north": { + "uv": [ + 41, + 9, + 42, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 41, + 9, + 42, + 10 + ], + "texture": 0 + }, + "south": { + "uv": [ + 41, + 9, + 42, + 10 + ], + "texture": 0 + }, + "west": { + "uv": [ + 41, + 9, + 42, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 41, + 9, + 42, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 41, + 9, + 42, + 10 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8d0600f4-9426-faea-1dc2-e32d96bfa238" + }, + { + "name": "TailFinTop", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -23, + 2, + -0.25 + ], + "to": [ + -21, + 7, + 0.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + 15 + ], + "origin": [ + -21, + 2, + 0 + ], + "faces": { + "north": { + "uv": [ + 41, + 9, + 42, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 41, + 9, + 42, + 10 + ], + "texture": 0 + }, + "south": { + "uv": [ + 41, + 9, + 42, + 10 + ], + "texture": 0 + }, + "west": { + "uv": [ + 41, + 9, + 42, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 41, + 9, + 42, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8e4c20a4-35b4-2367-161c-a725a989cb68" + }, + { + "name": "TailFinBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -23, + -7, + -0.25 + ], + "to": [ + -21, + -2, + 0.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + -15 + ], + "origin": [ + -21, + -2, + 0 + ], + "faces": { + "north": { + "uv": [ + 41, + 9, + 42, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 41, + 9, + 42, + 10 + ], + "texture": 0 + }, + "south": { + "uv": [ + 41, + 9, + 42, + 10 + ], + "texture": 0 + }, + "west": { + "uv": [ + 41, + 9, + 42, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 41, + 9, + 42, + 10 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b491a6ef-f861-1e9d-72b6-a489dc240b8d" + }, + { + "name": "TopFin1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + 4, + -0.25 + ], + "to": [ + 11, + 8, + 0.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 8, + -4, + 9.75 + ], + "faces": { + "north": { + "uv": [ + 23, + 6, + 26, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 23, + 6, + 24, + 10 + ], + "texture": 0 + }, + "south": { + "uv": [ + 26, + 6, + 23, + 10 + ], + "texture": 0 + }, + "west": { + "uv": [ + 25, + 6, + 26, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 23, + 6, + 26, + 7 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e177ee84-e03b-f52b-e16c-c2113e398725" + }, + { + "name": "TopFin2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 4, + -0.25 + ], + "to": [ + 8, + 6, + 0.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 8, + -4, + 9.75 + ], + "faces": { + "north": { + "uv": [ + 26, + 8, + 34, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 34, + 8, + 26, + 10 + ], + "texture": 0 + }, + "west": { + "uv": [ + 33, + 8, + 34, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 34, + 8, + 26, + 9 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e5fee8c0-688c-9f4c-8cff-773a8b1f61ca" + }, + { + "name": "TopFin3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5, + 4, + -0.25 + ], + "to": [ + 0, + 5, + 0.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 8, + -4, + 9.75 + ], + "faces": { + "north": { + "uv": [ + 34, + 9, + 39, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 34, + 9, + 39, + 10 + ], + "texture": 0 + }, + "west": { + "uv": [ + 38, + 9, + 39, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 34, + 9, + 39, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d335b2f0-4b6c-7a8e-f39e-dd6b7e5a7265" + }, + { + "name": "TopFin4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -9, + 4, + -0.25 + ], + "to": [ + -5, + 5, + 0.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 8, + -4, + 9.75 + ], + "faces": { + "north": { + "uv": [ + 39, + 9, + 43, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 39, + 9, + 40, + 10 + ], + "texture": 0 + }, + "south": { + "uv": [ + 43, + 9, + 39, + 10 + ], + "texture": 0 + }, + "west": { + "uv": [ + 42, + 9, + 43, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 43, + 9, + 39, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "05b48581-7c7f-e8a0-1a45-118f5f732e9f" + }, + { + "name": "RightHandFin", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 9, + -3, + 3 + ], + "to": [ + 9.5, + -1, + 8 + ], + "autouv": 0, + "color": 0, + "origin": [ + -5, + -4, + 3 + ], + "faces": { + "north": { + "uv": [ + 27, + 10, + 28, + 12 + ], + "texture": 0 + }, + "east": { + "uv": [ + 23, + 10, + 28, + 12 + ], + "texture": 0 + }, + "south": { + "uv": [ + 23, + 10, + 24, + 12 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 10, + 23, + 12 + ], + "texture": 0 + }, + "up": { + "uv": [ + 23, + 10, + 28, + 11 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 23, + 11, + 28, + 12 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "6b9489b4-0180-a18c-b645-3b7be4d2acbf" + }, + { + "name": "LeftHandFin", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 9, + -3, + -8 + ], + "to": [ + 9.5, + -1, + -3 + ], + "autouv": 0, + "color": 0, + "origin": [ + -5, + -4, + -8 + ], + "faces": { + "north": { + "uv": [ + 27, + 10, + 28, + 12 + ], + "texture": 0 + }, + "east": { + "uv": [ + 23, + 10, + 28, + 12 + ], + "texture": 0 + }, + "south": { + "uv": [ + 23, + 10, + 24, + 12 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 10, + 23, + 12 + ], + "texture": 0 + }, + "up": { + "uv": [ + 23, + 10, + 28, + 11 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 23, + 11, + 28, + 12 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "4b3f7068-9aad-7828-1597-c6445da5fcb4" + }, + { + "name": "BottomFin", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8.5, + -7, + -0.25 + ], + "to": [ + -5.5, + -4, + 0.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + -5, + -4, + 15 + ], + "faces": { + "north": { + "uv": [ + 23, + 7, + 26, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 23, + 7, + 24, + 10 + ], + "texture": 0 + }, + "south": { + "uv": [ + 23, + 7, + 26, + 10 + ], + "texture": 0 + }, + "west": { + "uv": [ + 25, + 7, + 26, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 23, + 7, + 26, + 8 + ], + "texture": 0 + }, + "down": { + "uv": [ + 23, + 9, + 26, + 10 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a2a450da-805a-4b6b-493e-da2458175636" + }, + { + "name": "RearFinTop", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -18, + 1.5, + -0.25 + ], + "to": [ + -16, + 2.5, + 0.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + -5, + -4, + 15 + ], + "faces": { + "north": { + "uv": [ + 41, + 9, + 43, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 41, + 9, + 42, + 10 + ], + "texture": 0 + }, + "south": { + "uv": [ + 43, + 9, + 41, + 10 + ], + "texture": 0 + }, + "west": { + "uv": [ + 42, + 9, + 43, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 43, + 9, + 41, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "852dd4ef-04b0-d93e-cb95-955cc58ada3e" + }, + { + "name": "RearFinBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -18, + -2.5, + -0.25 + ], + "to": [ + -16, + -1.5, + 0.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + -5, + -4, + 15 + ], + "faces": { + "north": { + "uv": [ + 40, + 9, + 42, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 9, + 41, + 10 + ], + "texture": 0 + }, + "south": { + "uv": [ + 42, + 9, + 40, + 10 + ], + "texture": 0 + }, + "west": { + "uv": [ + 41, + 9, + 42, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 42, + 9, + 40, + 10 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "cf1edea5-3633-7329-a7e4-6f252e2d9478" + }, + { + "name": "Horn", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 17, + -1, + -0.5 + ], + "to": [ + 27, + 0, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -5, + -4, + 9 + ], + "faces": { + "north": { + "uv": [ + 11, + 25, + 21, + 26 + ], + "texture": 0 + }, + "east": { + "uv": [ + 11, + 25, + 12, + 26 + ], + "texture": 0 + }, + "south": { + "uv": [ + 21, + 25, + 11, + 26 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 21, + 25, + 11, + 26 + ], + "texture": 0 + }, + "down": { + "uv": [ + 21, + 25, + 11, + 26 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "0ed1e33e-21fd-c413-93a4-be11365f1fa9" + }, + { + "name": "FishingHook1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 17.125, + -4.1, + -0.25 + ], + "to": [ + 17.625, + -2.6, + 0.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + -4.625, + -0.35, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "05c56764-d852-9b34-c2f0-41b3c3c32ed6" + }, + { + "name": "FishingHook2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 17.125, + -5.1, + -0.25 + ], + "to": [ + 17.625, + -4.1, + 0.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 17.625, + -4.1, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9f325039-e0bb-6a2f-ddae-eb7ad35a04d2" + }, + { + "name": "FishingHook3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 17.125, + -5.85, + -0.25 + ], + "to": [ + 17.625, + -5.1, + 0.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 17.125, + -5.1, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "abf29054-f96c-28f8-dbbb-a304725f2e5d" + }, + { + "name": "FishingHook4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 17.125, + -6.85, + -0.25 + ], + "to": [ + 17.625, + -5.85, + 0.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 17.125, + -5.85, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a35d781c-072a-b064-e72f-2cf6fda64891" + }, + { + "name": "FishingHook5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 17.125, + -7.85, + -0.25 + ], + "to": [ + 17.625, + -6.85, + 0.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 17.125, + -6.85, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "01316560-6ff2-6d90-e6e2-48a371dd5b4a" + }, + { + "name": "FishingHook6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 16.875, + -7.85, + -0.25 + ], + "to": [ + 17.125, + -7.6, + 0.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 17.125, + -6.85, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f5897d09-be05-556a-5e4c-6eb0ab019024" + }, + { + "name": "FishingLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 17.325, + -2.6, + -0.05 + ], + "to": [ + 17.425, + 61.4, + 0.05 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + 50 + ], + "origin": [ + 17.375, + -2.6, + 0 + ], + "faces": { + "north": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "2a8a3d4d-9456-515e-469a-b9ac3e13fa6a" + }, + { + "name": "Reef1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -12, + -16, + -12 + ], + "to": [ + 12, + 8, + 12 + ], + "autouv": 0, + "color": 0, + "origin": [ + -12, + -16, + -12 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 47, + 37 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 47, + 37 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 0, + 47, + 37 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 0, + 47, + 37 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 47, + 37 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "83a45c58-1306-2171-5062-cd80bb8dc5d5" + }, + { + "name": "Reef2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + -11, + 7 + ], + "to": [ + 17, + 13, + 31 + ], + "autouv": 0, + "color": 0, + "origin": [ + -12, + -16, + -12 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 47, + 37 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 47, + 37 + ], + "texture": 1 + }, + "south": { + "uv": [ + 0, + 0, + 47, + 37 + ], + "texture": 1 + }, + "west": { + "uv": [ + 0, + 0, + 47, + 37 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 47, + 37 + ], + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f5323df8-b06a-48c2-dba9-819308799858" + }, + { + "name": "FishingRod1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 0, + -0.5 + ], + "to": [ + 0.5, + 16, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 0, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 16, + 1, + 32 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 16, + 1, + 32 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 16, + 1, + 32 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 16, + 1, + 32 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "down": { + "uv": [ + 0, + 31, + 1, + 32 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "9e7b9ebd-f5f9-2f35-b309-b0a8438bdc34" + }, + { + "name": "ReelShaft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.25, + 3, + -1.5 + ], + "to": [ + 0.25, + 4, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 0, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 31, + 1, + 32 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 31, + 1, + 32 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0.5, + 1 + ] + }, + "west": { + "uv": [ + 0, + 31, + 1, + 32 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 31, + 1, + 32 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 31, + 1, + 32 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "4bca3fb4-31a3-0b6c-7188-0acb3d74f676" + }, + { + "name": "ReelBody", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 3, + -3.5 + ], + "to": [ + 0.5, + 5, + -1.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 3, + -3.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 31, + 1, + 32 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 31, + 1, + 32 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 31, + 1, + 32 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 31, + 1, + 32 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 31, + 1, + 32 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 31, + 1, + 32 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b8784a78-43c2-bd7b-4a56-4aecfdf67089" + }, + { + "name": "ReelString", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 5, + -3.5 + ], + "to": [ + 1, + 8, + -1.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3, + -1.5 + ], + "faces": { + "north": { + "uv": [ + 3, + 0, + 7, + 6 + ], + "texture": 0 + }, + "east": { + "uv": [ + 3, + 0, + 7, + 6 + ], + "texture": 0 + }, + "south": { + "uv": [ + 3, + 0, + 7, + 6 + ], + "texture": 0 + }, + "west": { + "uv": [ + 3, + 0, + 7, + 6 + ], + "texture": 0 + }, + "up": { + "uv": [ + 3, + 0, + 7, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 3, + 5, + 7, + 6 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "25957772-21a2-856f-c068-e73d5638ad41" + }, + { + "name": "ReelHandle1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + 3.5, + -3 + ], + "to": [ + -0.5, + 4.5, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -1.5, + 3.5, + -3 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "up": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "76079a7a-b97e-892f-1479-e39ce2c4ae58" + }, + { + "name": "ReelHandle2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.5, + 3.5, + -3 + ], + "to": [ + -1.5, + 7.5, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -1.5, + 3.5, + -3 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "0ae8be24-ae92-3957-f761-3aec9590b738" + }, + { + "name": "ReelHandle3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.5, + 6.5, + -3 + ], + "to": [ + -2.5, + 7.5, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -1.5, + 3.5, + -3 + ], + "faces": { + "north": { + "uv": [ + 0, + 31, + 1, + 32 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 31, + 1, + 32 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 31, + 1, + 32 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 31, + 1, + 32 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 31, + 1, + 32 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a12571a5-4e1d-56ab-cba6-a5651904b563" + }, + { + "name": "FishingLine1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.05, + 6.5, + -0.7 + ], + "to": [ + 0.05, + 16, + -0.6 + ], + "autouv": 0, + "color": 0, + "origin": [ + -5.125, + -11.6, + -7.5 + ], + "faces": { + "north": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "249e831a-cf77-4418-256c-92edb65cb055" + }, + { + "name": "LineRing1_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.375, + 14.75, + -0.75 + ], + "to": [ + -0.125, + 15, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + -1, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d769d0c3-55a4-053f-3c01-ebffd9256602" + }, + { + "name": "LineRing1_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.125, + 14.75, + -0.75 + ], + "to": [ + 0.375, + 15, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + -1, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "7342cef3-dbd3-9b9d-b63a-ca24dea9eb47" + }, + { + "name": "LineRing1_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.375, + 14.75, + -1 + ], + "to": [ + 0.375, + 15, + -0.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + -1, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5f294f5f-dc6c-793f-bc25-5ffbe85ebca3" + }, + { + "name": "FishingRod2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 16, + -0.5 + ], + "to": [ + 0.5, + 24, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 0, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 16, + 1, + 17 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 16, + 1, + 17 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 16, + 1, + 17 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 16, + 1, + 17 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "94ddcbb9-60f6-7981-858a-20c401702f91" + }, + { + "name": "FishingLine2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.05, + 16, + -0.7 + ], + "to": [ + 0.05, + 24, + -0.6 + ], + "autouv": 0, + "color": 0, + "origin": [ + -5.125, + -11.6, + -7.5 + ], + "faces": { + "north": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c5918646-0225-3f71-4fcf-4f4583e7989e" + }, + { + "name": "LineRing2_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.375, + 22.75, + -0.75 + ], + "to": [ + -0.125, + 23, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 7, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8bc34478-eeaa-546c-94de-15a6c48127e4" + }, + { + "name": "LineRing2_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.125, + 22.75, + -0.75 + ], + "to": [ + 0.375, + 23, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 7, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "3ff1f5b7-6ecd-614a-5595-2234c522826d" + }, + { + "name": "LineRing2_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.375, + 22.75, + -1 + ], + "to": [ + 0.375, + 23, + -0.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 7, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "7f2a597c-9de3-c545-f885-64d14c455d81" + }, + { + "name": "FishingRod3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 24, + -0.5 + ], + "to": [ + 0.5, + 32, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 8, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 16, + 1, + 17 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 16, + 1, + 17 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 16, + 1, + 17 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 16, + 1, + 17 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ] + } + }, + "type": "cube", + "uuid": "1608eff0-0b6c-c16d-2444-328691d12322" + }, + { + "name": "FishingLine3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.05, + 24, + -0.7 + ], + "to": [ + 0.05, + 32, + -0.6 + ], + "autouv": 0, + "color": 0, + "origin": [ + -5.125, + -11.6, + -7.5 + ], + "faces": { + "north": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "57d88224-2dbd-880a-2816-dcda4e3c12ed" + }, + { + "name": "LineRing3_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.375, + 30.75, + -0.75 + ], + "to": [ + -0.125, + 31, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 15, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "108b76f9-e43d-def6-bd06-eadff3350216" + }, + { + "name": "LineRing3_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.125, + 30.75, + -0.75 + ], + "to": [ + 0.375, + 31, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 15, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "25feded0-2afd-3390-e697-2020d7ed9844" + }, + { + "name": "LineRing3_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.375, + 30.75, + -1 + ], + "to": [ + 0.375, + 31, + -0.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 15, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5fbb99e4-1c74-d94d-3e36-0a0a6f8dffb6" + }, + { + "name": "FishingRod4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 32, + -0.5 + ], + "to": [ + 0.5, + 40, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 16, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 16, + 1, + 17 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 16, + 1, + 17 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 16, + 1, + 17 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 16, + 1, + 17 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 16, + 1, + 17 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ] + } + }, + "type": "cube", + "uuid": "0468acc2-044a-6799-d333-92f2fd479123" + }, + { + "name": "FishingLine4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.05, + 32, + -0.7 + ], + "to": [ + 0.05, + 40, + -0.6 + ], + "autouv": 0, + "color": 0, + "origin": [ + -5.125, + -7.6, + -7.5 + ], + "faces": { + "north": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "12cbf81b-95e8-44e1-a07d-6b0205b8c062" + }, + { + "name": "FishingLine5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.05, + 40, + -0.7 + ], + "to": [ + 0.05, + 50, + -0.6 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 36, + -0.6 + ], + "faces": { + "north": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "028dcb00-5b96-7393-f5d2-11626f1f4bfb" + }, + { + "name": "LineRing4_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.375, + 38.75, + -0.75 + ], + "to": [ + -0.125, + 39, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 23, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "1ea67bae-9bc7-5428-1308-bed87124e925" + }, + { + "name": "LineRing4_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.125, + 38.75, + -0.75 + ], + "to": [ + 0.375, + 39, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 23, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "57d68376-7213-65ec-d259-a3e1ecfc5900" + }, + { + "name": "LineRing4_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.375, + 38.75, + -1 + ], + "to": [ + 0.375, + 39, + -0.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 23, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c0d17962-7a42-b903-e7e5-c2da6be47143" + }, + { + "name": "Surface", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -120, + 1, + -120 + ], + "to": [ + 120, + 1, + 120 + ], + "autouv": 0, + "color": 0, + "origin": [ + -12, + -16, + -12 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "up": { + "uv": [ + 0, + 0, + 705, + 17.34375 + ], + "texture": 2 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "dae737df-9ca9-c911-6bd3-7fd78a99fb2b" + }, + { + "name": "Wave", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 24, + -16, + 104 + ], + "to": [ + 120, + 0, + 120 + ], + "autouv": 0, + "color": 0, + "origin": [ + -45, + -31, + -222 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 282, + 1.15625 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 0, + 47, + 1.15625 + ], + "texture": 2 + }, + "south": { + "uv": [ + 0, + 0, + 282, + 1.15625 + ], + "texture": 2 + }, + "west": { + "uv": [ + 0, + 0, + 47, + 1.15625 + ], + "texture": 2 + }, + "up": { + "uv": [ + 0, + 0, + 282, + 1.15625 + ], + "texture": 2 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "009ecd0e-8f97-a761-5a13-caf33fc4c66e" + }, + { + "name": "Wave", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -48, + -16, + 104 + ], + "to": [ + 48, + 0, + 120 + ], + "autouv": 0, + "color": 0, + "origin": [ + -115, + -31, + -222 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 282, + 1.15625 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 0, + 47, + 1.15625 + ], + "texture": 2 + }, + "south": { + "uv": [ + 0, + 0, + 282, + 1.15625 + ], + "texture": 2 + }, + "west": { + "uv": [ + 0, + 0, + 47, + 1.15625 + ], + "texture": 2 + }, + "up": { + "uv": [ + 0, + 0, + 282, + 1.15625 + ], + "texture": 2 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "c01bd774-63b2-cf79-df20-7f18de1cc1c2" + }, + { + "name": "Wave", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -120, + -16, + 104 + ], + "to": [ + -24, + 0, + 120 + ], + "autouv": 0, + "color": 0, + "origin": [ + -187, + -31, + -222 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 282, + 1.15625 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 0, + 47, + 1.15625 + ], + "texture": 2 + }, + "south": { + "uv": [ + 0, + 0, + 282, + 1.15625 + ], + "texture": 2 + }, + "west": { + "uv": [ + 0, + 0, + 47, + 1.15625 + ], + "texture": 2 + }, + "up": { + "uv": [ + 0, + 0, + 282, + 1.15625 + ], + "texture": 2 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "66f6b742-dd79-963b-15a7-332b43312670" + }, + { + "name": "Wave", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 24, + -16, + 104 + ], + "to": [ + 120, + 0, + 120 + ], + "autouv": 0, + "color": 0, + "origin": [ + -45, + -31, + -222 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 282, + 1.15625 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 0, + 47, + 1.15625 + ], + "texture": 2 + }, + "south": { + "uv": [ + 0, + 0, + 282, + 1.15625 + ], + "texture": 2 + }, + "west": { + "uv": [ + 0, + 0, + 47, + 1.15625 + ], + "texture": 2 + }, + "up": { + "uv": [ + 0, + 0, + 282, + 1.15625 + ], + "texture": 2 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e9f8c1ff-687f-7848-fab2-39f713a885c4" + }, + { + "name": "Wave", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 24, + -16, + 104 + ], + "to": [ + 120, + 0, + 120 + ], + "autouv": 0, + "color": 0, + "origin": [ + -45, + -31, + -222 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 282, + 1.15625 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 0, + 47, + 1.15625 + ], + "texture": 2 + }, + "south": { + "uv": [ + 0, + 0, + 282, + 1.15625 + ], + "texture": 2 + }, + "west": { + "uv": [ + 0, + 0, + 47, + 1.15625 + ], + "texture": 2 + }, + "up": { + "uv": [ + 0, + 0, + 282, + 1.15625 + ], + "texture": 2 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "96bb48d9-a8ff-87b4-72bd-dcf29cdc4cee" + }, + { + "name": "Wave", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -48, + -16, + 104 + ], + "to": [ + 48, + 0, + 120 + ], + "autouv": 0, + "color": 0, + "origin": [ + -115, + -31, + -222 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 282, + 1.15625 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 0, + 47, + 1.15625 + ], + "texture": 2 + }, + "south": { + "uv": [ + 0, + 0, + 282, + 1.15625 + ], + "texture": 2 + }, + "west": { + "uv": [ + 0, + 0, + 47, + 1.15625 + ], + "texture": 2 + }, + "up": { + "uv": [ + 0, + 0, + 282, + 1.15625 + ], + "texture": 2 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "637ce933-2811-2e95-bb36-ec933e9a42f3" + }, + { + "name": "Wave", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -48, + -16, + 104 + ], + "to": [ + 48, + 0, + 120 + ], + "autouv": 0, + "color": 0, + "origin": [ + -115, + -31, + -222 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 282, + 1.15625 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 0, + 47, + 1.15625 + ], + "texture": 2 + }, + "south": { + "uv": [ + 0, + 0, + 282, + 1.15625 + ], + "texture": 2 + }, + "west": { + "uv": [ + 0, + 0, + 47, + 1.15625 + ], + "texture": 2 + }, + "up": { + "uv": [ + 0, + 0, + 282, + 1.15625 + ], + "texture": 2 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9636f3fc-bda0-4175-acdf-24c5cbb0ac00" + }, + { + "name": "Wave", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -120, + -16, + 104 + ], + "to": [ + -24, + 0, + 120 + ], + "autouv": 0, + "color": 0, + "origin": [ + -187, + -31, + -222 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 282, + 1.15625 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 0, + 47, + 1.15625 + ], + "texture": 2 + }, + "south": { + "uv": [ + 0, + 0, + 282, + 1.15625 + ], + "texture": 2 + }, + "west": { + "uv": [ + 0, + 0, + 47, + 1.15625 + ], + "texture": 2 + }, + "up": { + "uv": [ + 0, + 0, + 282, + 1.15625 + ], + "texture": 2 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5bd1ee92-06f8-b9da-1277-9dcc48ac1718" + }, + { + "name": "Wave", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -120, + -16, + 104 + ], + "to": [ + -24, + 0, + 120 + ], + "autouv": 0, + "color": 0, + "origin": [ + -187, + -31, + -222 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 282, + 1.15625 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 0, + 47, + 1.15625 + ], + "texture": 2 + }, + "south": { + "uv": [ + 0, + 0, + 282, + 1.15625 + ], + "texture": 2 + }, + "west": { + "uv": [ + 0, + 0, + 47, + 1.15625 + ], + "texture": 2 + }, + "up": { + "uv": [ + 0, + 0, + 282, + 1.15625 + ], + "texture": 2 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b33b6d0e-288c-bebc-6a11-4e2d13c6fbf3" + }, + { + "name": "Background", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + -0.5, + 0 + ], + "to": [ + 0.5, + 0.5, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "a2668b9a-4ff9-5b67-4d46-0233499ad62d" + }, + { + "name": "Frash", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + -0.5, + -0.1 + ], + "to": [ + 0.5, + 0.5, + -0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 1, + 2, + 6 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "cb7b112e-28f1-5b12-ea40-4889f6aa2bf1" + }, + { + "name": "Wave", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 48, + -32, + -33 + ], + "to": [ + 64, + 0, + -17 + ], + "autouv": 0, + "color": 0, + "origin": [ + 48, + -32, + -33 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 47, + 2.3125 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 0, + 47, + 2.3125 + ], + "texture": 2 + }, + "south": { + "uv": [ + 0, + 0, + 47, + 2.3125 + ], + "texture": 2 + }, + "west": { + "uv": [ + 0, + 0, + 47, + 2.3125 + ], + "texture": 2 + }, + "up": { + "uv": [ + 0, + 0, + 47, + 1.15625 + ], + "texture": 2 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "7332d5a4-bc6e-04af-b1a7-f441363b18c5" + } + ], + "outliner": [ + { + "name": "UnderWater", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "0af2c5bd-18f4-ee5b-2fcb-b33a1fdde55a", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "ForCameraOffset", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "8da8bcd4-aafe-a8e9-b96b-5f2446c7838f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "03b9c96e-f6a2-8e93-39c7-f7230b71f4de", + { + "name": "Tuna", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "4f428f53-56cb-38e7-484c-f41e66da8cb4", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "FrontBody", + "origin": [ + -5, + 0, + 0 + ], + "color": 0, + "uuid": "466cd050-3522-b99f-07ef-08694cdb4e4d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "944883ee-4e65-dd27-a2b6-9e6bf5e8eda4", + "8be796ee-4b03-81a4-0a6b-c3189d715401", + "d63e7f84-6e07-0dfe-a29a-d60421029698", + "0ed1e33e-21fd-c413-93a4-be11365f1fa9", + { + "name": "FrontBodyTopFin", + "origin": [ + 8, + -4, + 9.75 + ], + "color": 0, + "uuid": "ca708fa7-9e5d-8efe-08de-8d286b1ce64f", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e177ee84-e03b-f52b-e16c-c2113e398725", + "e5fee8c0-688c-9f4c-8cff-773a8b1f61ca", + "d335b2f0-4b6c-7a8e-f39e-dd6b7e5a7265" + ] + }, + { + "name": "HandFin", + "origin": [ + -7, + -4, + 9 + ], + "color": 0, + "uuid": "6c134cd2-3ccd-3738-8f9f-20b71f5bbc3f", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightHandFin", + "origin": [ + 9.25, + -1, + 3 + ], + "rotation": [ + 20, + -30, + 0 + ], + "color": 0, + "uuid": "4aff6a63-28b0-a3bb-3b7b-a4fa1f3059a6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "6b9489b4-0180-a18c-b645-3b7be4d2acbf" + ] + }, + { + "name": "LeftHandFin", + "origin": [ + 9.25, + -1, + -3 + ], + "rotation": [ + -20, + 30, + 0 + ], + "color": 0, + "uuid": "c0c25320-af58-6566-2f8e-71d68b21f18b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4b3f7068-9aad-7828-1597-c6445da5fcb4" + ] + } + ] + }, + { + "name": "FishingHook", + "origin": [ + 17.375, + -3.35, + 0 + ], + "rotation": [ + -23.85865, + 18.74724, + -53.99476 + ], + "color": 0, + "uuid": "9e7dedcd-e0db-bf87-cfe4-291611ec815b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "05c56764-d852-9b34-c2f0-41b3c3c32ed6", + { + "name": "FishingLine", + "origin": [ + 17.375, + -2.6, + 0 + ], + "color": 0, + "uuid": "bf6faa1d-566d-32ea-3e04-cdb7f103fbd1", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "2a8a3d4d-9456-515e-469a-b9ac3e13fa6a" + ] + }, + { + "name": "FishingHook2", + "origin": [ + 17.625, + -4.1, + 0 + ], + "rotation": [ + 0, + 0, + -60 + ], + "color": 0, + "uuid": "ec57afdb-4974-c29a-7357-a06eb85009e0", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "9f325039-e0bb-6a2f-ddae-eb7ad35a04d2", + { + "name": "FishingHook3", + "origin": [ + 17.125, + -5.1, + 0 + ], + "rotation": [ + 0, + 0, + 60 + ], + "color": 0, + "uuid": "93bba2bd-e7d9-4589-15a4-f1c6e3655a0e", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "abf29054-f96c-28f8-dbbb-a304725f2e5d", + { + "name": "FishingHook4", + "origin": [ + 17.125, + -5.85, + 0 + ], + "rotation": [ + 0, + 0, + 60 + ], + "color": 0, + "uuid": "a8918b09-91ac-599c-8040-49cbe65e1314", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a35d781c-072a-b064-e72f-2cf6fda64891", + { + "name": "FishingHook5", + "origin": [ + 17.125, + -6.85, + 0 + ], + "rotation": [ + 0, + 0, + 60 + ], + "color": 0, + "uuid": "3dafa635-7a93-bdc4-1cc8-84df3f37285c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "01316560-6ff2-6d90-e6e2-48a371dd5b4a", + "f5897d09-be05-556a-5e4c-6eb0ab019024" + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "name": "RearBody", + "origin": [ + -5, + 0, + 0 + ], + "color": 0, + "uuid": "712d5ea5-6710-c22b-e567-f53ac6d800f6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1ca5c470-8c43-29e2-9a77-b4db6760bf69", + "8ddcad9b-1d6d-f81c-d0c8-98d60b25ee27", + "bd6ee1a3-3a11-a55c-b4f7-2836a8c7f1eb", + "852dd4ef-04b0-d93e-cb95-955cc58ada3e", + "cf1edea5-3633-7329-a7e4-6f252e2d9478", + { + "name": "RearBodyTopFin", + "origin": [ + -5, + -4, + 15 + ], + "color": 0, + "uuid": "88f00fc9-d03c-8c40-cfe6-8f66f2ee52c4", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "05b48581-7c7f-e8a0-1a45-118f5f732e9f" + ] + }, + { + "name": "BottomFin", + "origin": [ + -5, + -4, + 15 + ], + "color": 0, + "uuid": "6a5e24b8-3c99-a47a-7914-1615b5140808", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a2a450da-805a-4b6b-493e-da2458175636" + ] + }, + { + "name": "TailFin", + "origin": [ + -23, + 0, + 0 + ], + "color": 0, + "uuid": "d073c1ac-d847-7047-3642-1b64a6ca30d6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8d0600f4-9426-faea-1dc2-e32d96bfa238", + "8e4c20a4-35b4-2367-161c-a725a989cb68", + "b491a6ef-f861-1e9d-72b6-a489dc240b8d" + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "name": "Stage", + "origin": [ + -12, + -16, + -12 + ], + "color": 0, + "uuid": "45815d34-6b60-fbfe-f91f-76df640471e9", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Reef", + "origin": [ + -12, + -16, + -12 + ], + "color": 0, + "uuid": "f66bd554-8a6f-eba5-8094-aa95ed313dc7", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "83a45c58-1306-2171-5062-cd80bb8dc5d5", + "f5323df8-b06a-48c2-dba9-819308799858", + { + "name": "ExSkill2ParticleAnchor", + "origin": [ + 0, + 1, + 39 + ], + "color": 0, + "uuid": "4526ed2b-f7a5-6b94-e6a5-f243a9660995", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + { + "name": "Ocean", + "origin": [ + -12, + -16, + -12 + ], + "color": 0, + "uuid": "a83ea105-7545-8e82-cc39-f15e84e940fd", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "dae737df-9ca9-c911-6bd3-7fd78a99fb2b", + { + "name": "Waves", + "origin": [ + -12, + -16, + -12 + ], + "color": 0, + "uuid": "2aca37c7-8e85-d499-fa29-f62526d0cc18", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Wave1_1", + "origin": [ + 72, + -8, + 112 + ], + "color": 0, + "uuid": "c57834c8-f8fc-bc04-0950-39418620e20c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "009ecd0e-8f97-a761-5a13-caf33fc4c66e" + ] + }, + { + "name": "Wave1_2", + "origin": [ + 72, + -8, + 112 + ], + "color": 0, + "uuid": "d0056d4d-0b50-5c01-6ad3-dd064e0a1e3d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e9f8c1ff-687f-7848-fab2-39f713a885c4" + ] + }, + { + "name": "Wave1_3", + "origin": [ + 72, + -8, + 112 + ], + "color": 0, + "uuid": "c8afa1f0-e313-6637-8f70-22dfc96b353f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "96bb48d9-a8ff-87b4-72bd-dcf29cdc4cee" + ] + }, + { + "name": "Wave2_1", + "origin": [ + 0, + -8, + 112 + ], + "color": 0, + "uuid": "10c773aa-9fa9-125b-3e8b-7245989f411e", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "c01bd774-63b2-cf79-df20-7f18de1cc1c2" + ] + }, + { + "name": "Wave2_2", + "origin": [ + 0, + -8, + 112 + ], + "color": 0, + "uuid": "684dfb62-9a06-694f-d9f7-2a509a6435bd", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "637ce933-2811-2e95-bb36-ec933e9a42f3" + ] + }, + { + "name": "Wave2_3", + "origin": [ + 0, + -8, + 112 + ], + "color": 0, + "uuid": "dbc7277c-00f3-da2f-a47a-bd4ed932dd1a", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "9636f3fc-bda0-4175-acdf-24c5cbb0ac00" + ] + }, + { + "name": "Wave3_1", + "origin": [ + -72, + -8, + 112 + ], + "color": 0, + "uuid": "892a742f-0382-4f9c-68b4-31ece8f4f22d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "66f6b742-dd79-963b-15a7-332b43312670" + ] + }, + { + "name": "Wave3_2", + "origin": [ + -72, + -8, + 112 + ], + "color": 0, + "uuid": "544551ba-5e42-7ecf-031e-ed983850f7ad", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "5bd1ee92-06f8-b9da-1277-9dcc48ac1718" + ] + }, + { + "name": "Wave3_3", + "origin": [ + -72, + -8, + 112 + ], + "color": 0, + "uuid": "ccc7085a-93d1-9547-2bb2-b484acf34d55", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b33b6d0e-288c-bebc-6a11-4e2d13c6fbf3" + ] + }, + { + "name": "Wave4", + "origin": [ + 56, + -32, + -25 + ], + "rotation": [ + 0, + 45, + 0 + ], + "color": 0, + "uuid": "70ddce13-d267-2458-d40c-6920119ab4db", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "7332d5a4-bc6e-04af-b1a7-f441363b18c5" + ] + } + ] + } + ] + } + ] + }, + { + "name": "FishingRod", + "origin": [ + 0, + 9, + 0.5 + ], + "color": 0, + "uuid": "56d8f6ac-5372-0a1f-d85f-97d623bb07e6", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "9e7b9ebd-f5f9-2f35-b309-b0a8438bdc34", + "249e831a-cf77-4418-256c-92edb65cb055", + { + "name": "LineRing1", + "origin": [ + -0.5, + -1, + -0.5 + ], + "color": 0, + "uuid": "f1999c01-1fb1-aedf-cf7a-75b701a186be", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d769d0c3-55a4-053f-3c01-ebffd9256602", + "7342cef3-dbd3-9b9d-b63a-ca24dea9eb47", + "5f294f5f-dc6c-793f-bc25-5ffbe85ebca3" + ] + }, + { + "name": "Reel", + "origin": [ + 0, + 4, + -0.5 + ], + "rotation": [ + -30, + 0, + 0 + ], + "color": 0, + "uuid": "f1a9eeeb-f0de-9282-2263-a5d05333c92f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4bca3fb4-31a3-0b6c-7188-0acb3d74f676", + { + "name": "ReelBody", + "origin": [ + 0, + 3, + -1.5 + ], + "rotation": [ + 30, + 0, + 0 + ], + "color": 0, + "uuid": "b8695eb6-9d6f-ea14-2e28-834b67a3de42", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b8784a78-43c2-bd7b-4a56-4aecfdf67089", + "25957772-21a2-856f-c068-e73d5638ad41", + { + "name": "ReelHandle", + "origin": [ + -0.5, + 4, + -2.5 + ], + "color": 0, + "uuid": "d31df4b7-5711-7a58-a732-b1c7d2c032b0", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "76079a7a-b97e-892f-1479-e39ce2c4ae58", + "0ae8be24-ae92-3957-f761-3aec9590b738", + "a12571a5-4e1d-56ab-cba6-a5651904b563" + ] + } + ] + } + ] + }, + { + "name": "FishingRod2", + "origin": [ + 0, + 16, + 0.5 + ], + "color": 0, + "uuid": "2cd4c811-036f-e9d9-3e28-604ec8912e7c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "94ddcbb9-60f6-7981-858a-20c401702f91", + "c5918646-0225-3f71-4fcf-4f4583e7989e", + { + "name": "LineRing2", + "origin": [ + -0.5, + 7, + -0.5 + ], + "color": 0, + "uuid": "8c2323dd-0254-a4a0-2bfb-8e8a40a82d0d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8bc34478-eeaa-546c-94de-15a6c48127e4", + "3ff1f5b7-6ecd-614a-5595-2234c522826d", + "7f2a597c-9de3-c545-f885-64d14c455d81" + ] + }, + { + "name": "FishingRod3", + "origin": [ + 0, + 24, + 0.5 + ], + "color": 0, + "uuid": "03d2b099-4993-ac6c-08c6-45e27a521ae9", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1608eff0-0b6c-c16d-2444-328691d12322", + "57d88224-2dbd-880a-2816-dcda4e3c12ed", + { + "name": "LineRing3", + "origin": [ + -0.5, + 15, + -0.5 + ], + "color": 0, + "uuid": "f2bc7098-8bc9-ee0e-b1dd-0380e219012e", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "108b76f9-e43d-def6-bd06-eadff3350216", + "25feded0-2afd-3390-e697-2020d7ed9844", + "5fbb99e4-1c74-d94d-3e36-0a0a6f8dffb6" + ] + }, + { + "name": "FishingRod4", + "origin": [ + 0, + 32, + 0.5 + ], + "color": 0, + "uuid": "e3fc29b6-c380-9718-0fcf-84ab7a42763a", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "0468acc2-044a-6799-d333-92f2fd479123", + "12cbf81b-95e8-44e1-a07d-6b0205b8c062", + { + "name": "FishingLine5", + "origin": [ + 0, + 36, + -0.6 + ], + "color": 0, + "uuid": "498c73bf-5ac8-e43e-1213-85bfd9183454", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "028dcb00-5b96-7393-f5d2-11626f1f4bfb" + ] + }, + { + "name": "LineRing4", + "origin": [ + -0.5, + 23, + -0.5 + ], + "color": 0, + "uuid": "60362b23-6403-7676-8a0e-504aa092a3eb", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1ea67bae-9bc7-5428-1308-bed87124e925", + "57d68376-7213-65ec-d259-a3e1ecfc5900", + "c0d17962-7a42-b903-e7e5-c2da6be47143" + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "name": "Flash", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "6b6ae9b9-bf7e-c7c4-4b55-c7302d1f0447", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "ForCameraOffset2", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "4bb5a927-7336-b4c3-ec13-44a9b1469282", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a2668b9a-4ff9-5b67-4d46-0233499ad62d", + { + "name": "FlashCore", + "origin": [ + 0, + 0, + -0.1 + ], + "color": 0, + "uuid": "946715b2-e89d-504e-4b37-775152100be4", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "cb7b112e-28f1-5b12-ea40-4889f6aa2bf1" + ] + } + ] + } + ] + } + ], + "textures": [ + { + "path": "", + "name": "ex_skill_2.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 47, + "height": 37, + "uv_width": 47, + "uv_height": 37, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "a169884e-8a8b-aa88-74b4-329a84c8f218", + "relative_path": "../../textures/ex_skill_2.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC8AAAAlCAYAAADSvLDKAAAAAXNSR0IArs4c6QAABAxJREFUWEftmHtI01EUx8+djdAijKI0F+thttKssAhLetoKLEh6vyA1LCNcFhIWFeud0KIM+kMJikwziqCU6AlRiJRIkTZ7m7YeEEqPSZi7ce/vsd/b39xsE/r9sd33/Zzv75x7z4aG2i/jitRomDUjBZw/MAgfy6Z3orqvlbsb6n2dIho/z7oYaS2Ahu4+jz9kzIW+sSaUnJwsoq8eWerX5j0OH5VfjF35y8EwJJJYKZZ+zdsQh7cV4Y/Ht0JYH9QLlc8pxC57du9UPjprP35fkEl9/lQDFrlN7sEQD9hh63dhV+dG3b4tDwz1qcbG09BhtoCxyQkdtQ7Nk0M3gGAgGrZyB/4UtxMQYBqtiH6wiJjZDyMMiI5gHtqKuXZSROw8ph9jDAghCKs62rPwMelb8BfrMRadQWMM4TTmBONavHXGDGqtZA6zjqFknxeeewNq3914MygmLRN/tZUovrUzEbWQ406ifd0q28r0w3dlnNkCcDVb5HooZsE63FheqAhfXv8RVsXH0D5peXV8FG0vq/8MauWNjjr5uhIA4QBj0nb8Z6INDAkDRPMMpQfg5pE5srWQafYyfKswA6h7Mx7AOAMG2P86HPaOaad1+ytJOZZtJ2Ni3dTH6RjSjjDYX0VA9uBfsg21rnwCTyZIDSDw5JEagEzT0/CVozm893oL3uAUBqqsLHiRJNhZ++n3tJmLfDphfFd+6jx87tC27pxUXc7pKrEiC3Bqk7Jn7R5+Tc/z79Dn6UlaVztm0fDEFNz87KGyQmveii4taaKlCCeZw9HUbG5QNDYl7x7f3nYnTxRDpCMy9YQGvCUJNztrQwJe6tMLC+5rK09Sgtzx9FaSP/9AeV/jQghJ85n/8JwkPvp80JRPvZTI5zE012ENoD4ocESaNbV75G55cZRPR6l0AcZt9Ka+ks3CHG3ik53L58TsdM/O7QP9AlUKSWQem4ybl17z/gIkVy0iKjI6kpSLq+HDUSIA4y2P+Gcju4NSHtRhNQQeniif9/Anq5Ug9SX5AZsqECbS05ndXwTwq7VZEV4p3+k3cHjg4YnyrqJHmrclp6RUPeeTSkX4fS/DwR7XTtfkypYpaYGHJ8pnRbdownNKStWreXBDEV5pMX9OFTU4GrBWd5UmPK+eY5zmOL7Tz1NE3yYANGArinfrGt8T6unaWGUQhT9btEvXGnqyRF0LBWgQhW9qrPYGk8oN2bTkqeKW5hXpAQ9Evbbphr8+4oJszcRJEyCo8LLETEX5kITv1W4DKkpLfUTt7+pgBjFSg/eUjoS+t7130E2oVIyjoMIrJVe/5yMYNC4Bvr14zhsQkvA/W12KV3xEZDS42z7xatc8rg095dXghaQtb+rANHqy6vHLGfavXegv2Vg4v5+efKUAAAAASUVORK5CYII=" + }, + { + "path": "", + "name": "stone.png", + "folder": "", + "namespace": "", + "id": "1", + "width": 16, + "height": 16, + "uv_width": 47, + "uv_height": 37, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "21a17973-7161-02d1-561b-73f9b7da2e4b", + "relative_path": "../../textures/for_modeling/stone.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAPZJREFUOE91kzEOhTAMQ+kMAxsDF+QA7ByBUzKwMcDMlyO9ykT9WQpJ6sROWvZ9fzuz67q653nC0/d9fN/33Q3DUH2eX7ZtCwAlckFny87zDLfAyA0AqhDkslemowxcOxjHMWKioG+dMvdzGYr6L+u6vrTsAacDCADHcQSFABAFr9jiDjCUOOd5/nbglVRFCTJ9Y1ngoKCgUBGxNbZMD8Die/BPQMTN9AT6mQLKu/p+OYup/LIsyztN02eRMqW8YJ8xsoneXmv2xPO+1E10lRmrvwnFfZURuoqYH5EutJR3X+wBb+Hfrmfls5B1Cq0RAZo14eUq/gPBKsnsOe+ukgAAAABJRU5ErkJggg==" + }, + { + "path": "", + "name": "water_still.png", + "folder": "", + "namespace": "", + "id": "3", + "width": 16, + "height": 512, + "uv_width": 47, + "uv_height": 37, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "f0e517ce-3128-455b-70ff-a1e760abb85d", + "relative_path": "../../textures/for_modeling/water_still.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAIACAYAAACLuuzTAAAAAXNSR0IArs4c6QAADyJJREFUeF7tnbuPFDsTxWd4iUcCEiQgQQJEICFyYmL+R2JICCCFiACEWARIECGRIYGEIOC1V8ffd8xxdZUfPT3scnU32d2ZHrfbLv/qVPkx64cPH9778OHDij9fv37Nfx8/fjz/zT9Onz69Onny5Ornz5+rI0eOrNa3b9++p1d5H8L7WrBev75z504qILqABeLO/EGNeX0qwFabF+ujea+hwPwIWnVbG7wXtU1RAC7SKtsa8H8tbG17YdLs5oVLly6tdnd3V1evXl09evRotd7Z2bn348eP1aFDh1Zv3rzJl+OZtQa2YLbJend3N/XCixcvVh8/fkx9jNL5PwphYbYhUZuJHbQeAe9ro0660V7A//Hbe6xZNWAtUZOhAqw9JEOylqhV1vbQBqS94He1BmpUN27cSOU9e/Zs9fnz59TFqQDUQBsHXXP58uV08ePHj7MtRHaxvn//fjGYenhw6tSp1bdv31ZHjx7dQx6wgfeOB2xUtxvRfbbV+b+FTWZizyDCNS4P0CVAdIsHlljJlC0PYHFPnz5dHT58ePXp06cCKnvPA6+dhoazLWCYB24NtsoDwgWtTx6gh758+VLnwZUrV1Jt4TjoGyLLTI5FDajFA1ojbvLq1as2D5R/YSPijVF9MMyDpmOx0sa2hSdC0MDb4YEOW8+t04NnfYAuefDgwUTG2IYNeQAtgB/oA/IAgMH/VubAJ9BuNtYH4Wj0vHAkQDfiQWKilbq9dA4tcUQfdNWAToZ9P4sHkXZOpgweaH9HNm/lDuzl5cuX/2tE7baa6A6xbj/kFahqVa3T1QfR2K8Kza3zgM/f1Ae8IAo88PrZs2d/xwsIONAl6gOIbsU9wWuDsPXz58/vQQdgnL9//3518+bNpA8sD2hMs3jAbvV+d4/Gv4wHHhOakWtEIvIA74MJ379/n+oD/TBQbfXBVnhw4sSJ3/GCHb6RLv6zPPDuNpsHnsAcjhc24gE+rHKv0Acb84B+AeMcPzAi8sAGILgG2QvGEd36wONAdq417xw5HO2VbqBEg23i2vRCT6nYgtz8weI8oKtj1D6JFywP0FX4YXdtzAO1RNYGPDh27JivD4Z4wHyiDhYve2fzidmQvHxi1OchkWy3RdELC9D0QHe8oHcv8oleG2iNbBcyq5vzieABAGFDfQzVWjiI9yEPU0aT1YOltXiA9yFG8NNMhWmjRWFQM5dWi2S7a1CziyKzHaGrZhc5Lewlo/XOtjvZJk2kqazr4gHuRMSjn7WLaRdamyJeiJL0EQ9yPlEbz+ZOWyNzkkvzEg6qk1SpovDurG7VL4zwgLVBTUNL9PKJHDwWd24b1HjgxgtoGBvqz+IB7syMlQ1ALIk47xD6Rm11K/VVrQ3xwOut5mDqtkS1QDVtdl9oSJwm8qChz74ID3CTM2fO1OMFdaLKAvy9OA8m+kCHrU4JdlFZB4tt+WEeqMHUEnMJKKpU2W01P8DakEyu0LQ8qCUnl+GBh22Fp+e1XH0wwgN27UY8gNXOGs7aW7MKUMsM9YFeNEsfWHxtnD/A4MKzz+IBdCR+3r59m34vpg8OHDhQxguzeeCF9ZFawePwUdJwrlG55p1cU94fPLBs9Gb4ivUH3gIGakVqhiYP6OvJg52dHXeuUbVD0YgtBxrpg33GAz6T50gW44G3KqSJNHUyaDRE7dX8gY53PpbXfazNJF6w0p/5Zryu2SzUpOAB70YrhBppBeF5OPPDtZVRHBN4nLt372a0dfPAUnoWDzzZN6wPrF5y1x9404Jsn8n6A5uAoB1oDNHFA/tBT3TsDx5oTyybP1icB7VYoVAorRnPjXnA1BDuyvSPdnGVB7A6/tDJ6KjE6qg8FnghP7RVHjCqTY6lVx9086AVKyj6EtK8bqzFC8M84ChVHug0kgsUm4Ad4oFHaNZCZzY21gcoAFba9I220azY6CrAZm6K0cicqi4htXeZpQ9sIfZRciPuDx4wsWDzKAwu+brVk5iPmiz2ncUDLxVm4wXWRqfZ/ywPIrkb8kCtr2pI6t692GkRHqCQqFEnK6ZrtaCToYNJw7mHyl4DbsyD6qyvB5GoJ/Ici6a+vKFcLcDLmy3OAz6WjoWkkSKdyA/YhUwW+64+UFevkxSWB4Vv5DNfvHhxtV6vU6b73bt3EQrz66kX8FxYHdeaGuNKGVcfWHv3bu31TJEK0yFsnUk3D3ihDqrFeVDkD1p24O2aQC2LfGK01cI2JOcYuH4p2cEmPICVdiUktSa2kZfVB+yuXh7gunArzt7zgEPXbnyo8sD2O41FP6TxgsuDW7duFZtgNAz2xkQiErSvzV55rgx3xLXcZZM8ky65bmUsvCFdXUZia+FBZmKJe8eD1lyKfRzUNJmyTUhG+oBKhYqOk9tdPMCHvVh6n/PAmw7wgq/leBCFNefPny8MsFsfKA8g65H6w943uns3nxjxQNU82ybbAUMe9vMwD6gPcHf6/SjUxTXYtsNdNokHWGrLCYfFeaCiI8J814rpbn0QKSodofTQuBZeemKJUVWjSZthHqgA7dYHW+EBa7I9fbA/eMCElNpHFw/4ATwGt6XM4gGkPzWhzSdynBT5A95RN8l264MWDxiIgAfXr19P7Eg8wNa8CCR2cKnnbhoSL65pxzQWohWSs+KFXh7osrNuHli80dSHeECNgN+czM7BdytG9BRa6kZvc2DUFhYshVJtfWg4fxAtF7Bw3a4+8Higc+9h/sDyAP9j69GvX7+m+sDmVLUxlQd4XXMJxWDSUUZk4QKbmKnGCz08wDU4eeHatWv7hAe5F7zAYus8YI+4ltjSCGpgk32utUFlDQyRnpuM8wr5C3mAKp87d67IbilYSafu/QtR4xbO1dPIOmWEQuxys+rGeXprfPD169crnJdh17MW69btEglIfzjeFN79P0XIYZ4dC/c30mlEPAjbgPmDFg9QG1geeYCtveilpA+4z7c3XtCGDYVmjz6o8sA+s1e7IhFV0wZsefXOfG02D1jYbB5M9EFrXaqXW0nTRH9EH9QwVxwmopqQU2Z28Ez0QWtLVguy3TzQzL6mirfPA0h/zfZZq8zrDzjCuKvG6oMhHnj0tTzgbv31kydP7nFbbk2teoKrOvM9xAOtcssza1v8C3gAXzGsD2w6pCv8t0akDT2rAC2wygPdv2Una1iL5haMGg+SY9FkXE0feMeaDMULs/XBMA+YfBzmQWt+ATzAD1ZBIV5gkmI7PFBLqyXti15oJRqG9QEHjY1g7VKjpj7wsjjqqUN94FmlxgvF/EJPn4f6oLUWp9u5ti4MPZNO2lp9oDywj7l9HniN5onPYX1gz8YI4wVNDQ7pA61mSzvi2mL9Qe1kli4e1O5IfaBjI9QHNR7YtEB3Nm9RHih43dk++whobTuRxTaZxQMUONkQ1erzcJJm//GAVUUeTc+SnM2DpmOJ9EE3D+xsn45GL39gF/wUGsn78LA+mMWDnvWJFy5cSPMK1AdcHZf1QWuF9BAPOHgYBqgZN3nANrC2H2a2veVEKERnd5WVeL06v2CrH/nE7NqiE11r+kBr6Ipt765/EQ/YiDxkiIrU40Eh92sKpRZLhvHC4jzAUYdIxE14ENmB6gOshGvmE6207dGOWR+wAWv7mUIe9M43evmDVAPviGii3AsBJjywZ8bpaFTbmKUPUIDlZcgD4svWICLRfzz43T9h0EUe2LMg1Db+Mh5wvnEWD9Bk3rrlLLY50jTtOcwDO7thR6Ly4ODBg2llRBrOi/JAc4ieuKZP1NqGB2316AM3n2jh6vFAZ33CVBitPSIR388BRzTXbnXSJB2oJ33XZnn2nz5gN1e3pXmHU0540DNFsqg+cD1T5I00XoDItmfzJ6TV9EE0z8hhvwwP7JHx1oTZgJo/4FJL1CQfBdoTuXqJucmWLHWy6t6rpmzh0eOhs3e28QL7mdG5PQoN73OmL61P1GUknqQZ5oGn2Piax4zueCGy1s2nB+YmIIpeiLL6i/NAh3Kmcs/8QrTLZDJBYaMWywN+cYMOuIIHakhUpHaBMz+MRsQJv8V8o9UHrbVqyb1bHlilTgMiD/SM6VSAfoVEj2eyPTF0PpLn8psLGCLA8NHy3LstnTyI4gVEcliqvTkPSCSduaDEU4PRoKvQSF5y3lqkGo8tdB/wINq2jqpyLY4X0WaBMaIPrBVOhnMrc6NKlde6pqwY9w5qD3mg3YfqajrUUol7XkMeeDvqPPsIM5p6d6INc5I8QzRvwVCJ04qTQ7nf486HXVsrXqjqA9yNHPD0ge46TjzQxWpqA5Fu0toV80y8M37bNThsQGUFeqeY6apRebgRI6goXLqjd6+w3As1HnCt7iI8sNPFrFVz/YGtvh6PmdvAWp3ejTxAQTYdkpyr931tms1kDSwPWPAyPNDnVH2gj8aNUpwJrvJAP2jBYt2eGy/gopbI5jVd+sA+oo6LcNu67iL05hfYFqkb7UFyHvv0kTTr4/JAz1S3vmJjHmivJEsckfsanFXD/xZMil6o8cAeTOvZR3WJJasZCayiDVrBJ7u2uX/Byj0YlG6Ut0m7Kg88g9KawFNnHkQt78l/vXYyFoZ5YJVqFOZ7rm3SC96w1de644VaLWyEH/KAd47ihYIHXojrqVJ1rHx/wgM9A8kajZuEoVb2TNnaho4NdvcwDzgiXR701ELbISSS+sYo482CmjzghVHStlsfsAA9OzDpAy8RpRPT/DtCvcsDhaaX9qB6z+cjtWy/1juu0LT8R410d5VOk0wK2AoPvBpN9EF0kR0PXTxQfLEAXadaxAvcBOIdj16bxKVh5XNxeKcaD6yfSPHCiHvXkTjMA697txcvcCx448Dqx+79TBvzAG2AvTuqlUMeaOI5cjAZaaPf70xbAJkm5ydaDdhytonKrUQU+19PZ5lksiIdbEdiM6vLD3jZHDuMmzywd+P/trbhMlN+wBoQd9hkfbAxD3CIhK4x0e93totaF+dB6J1t96mnsu/NIpKSqSvsUxNflAddSGOwwSGuubTMA7U6nVPQ81Px3FbupF4Y5QHnHXAKQT5fWbsm8s5RjincNG7lnE3C5JzqH/++d5uccGWeRueqE708a3XZueoEfnj29ztbpGV9wO931jMR9SQqL2ZQtbLRaMx+oZWI3Bse8K628bp44I0HTx80eaCRS/f3O1seaJd5PPgH6U4q0XsWdMwAAAAASUVORK5CYII=" + } + ], + "animations": [ + { + "uuid": "b9e8ffce-53c8-70fc-ccc2-7a67cc649350", + "name": "ex_skill_2", + "loop": "hold", + "override": true, + "length": 12.25, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "4f428f53-56cb-38e7-484c-f41e66da8cb4": { + "name": "Tuna", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 85.49568, + "y": 19.50645, + "z": 76.72537 + } + ], + "uuid": "6490bd55-0f7a-af5c-124c-ce6e2a876213", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 65, + "y": "0", + "z": "0" + } + ], + "uuid": "91621b2a-7d0f-d322-eca2-2128d51c1b64", + "time": 0.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 120.94027, + "y": -16.73115, + "z": -106.53371 + } + ], + "uuid": "4e4a3564-847c-c795-5ba7-f270ae9d61a8", + "time": 0.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 133.12848, + "y": 7.65245, + "z": -184.33075 + } + ], + "uuid": "4451430f-598e-7c53-47bf-c86cab1d9884", + "time": 0.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 239.83278, + "y": -64.08362, + "z": -234.61708 + } + ], + "uuid": "8016b1bb-b37a-9eda-8a67-28f6dca5aebf", + "time": 0.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 304.63624, + "y": -51.53188, + "z": -286.46419 + } + ], + "uuid": "934def23-30bb-b928-300e-d095aafb3d28", + "time": 0.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 380.56473, + "y": -55.63192, + "z": -382.59631 + } + ], + "uuid": "fc40136f-a772-ad0f-5931-9850c2a47ab9", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 525.50298, + "y": -40.65399, + "z": -523.16833 + } + ], + "uuid": "2b4c59a1-3379-7dbb-df0d-2a780f7c6da9", + "time": 1.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 537.33354, + "y": 0.94596, + "z": -520.73693 + } + ], + "uuid": "30b79845-c1b0-a754-682c-de3acd8bc25b", + "time": 1.35, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 17 + } + ], + "uuid": "aa45aa9d-5dcd-8944-c7b8-38c10fd8781f", + "time": 2.05, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 47 + } + ], + "uuid": "0bc8e12f-e8d1-43a0-640b-033a6206da03", + "time": 1.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 17 + } + ], + "uuid": "a09101f6-12da-197c-368f-2a1321523038", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 2.72689, + "y": 37.46124, + "z": -6.94549 + } + ], + "uuid": "d29e19c4-c8c3-8f57-a8c7-98d753e9dafa", + "time": 2.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -20.96154, + "y": 31.73788, + "z": -30.69812 + } + ], + "uuid": "0f4f4b13-c4c4-ce25-d8b3-6c15a286fed1", + "time": 2.85, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -217.49, + "y": 10.09, + "z": 152.13 + } + ], + "uuid": "95a8d5a2-af44-ff1b-a44a-c00f4fc23c61", + "time": 8.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 2.7, + "y": 1.75, + "z": -4 + } + ], + "uuid": "345a4cd1-544c-1c0e-a03d-dd921397c643", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": 4, + "z": -4 + } + ], + "uuid": "052bc918-47a2-8e99-66a8-8ce97b1da53f", + "time": 0.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -4, + "y": 0, + "z": -4 + } + ], + "uuid": "8457977e-3a5a-dcd8-d8a3-656c74c91c7f", + "time": 0.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -1, + "y": -4, + "z": -4 + } + ], + "uuid": "4149b875-dae2-ade7-96b0-21552e772620", + "time": 0.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 2.5, + "y": -2, + "z": -4 + } + ], + "uuid": "44cfd012-0656-e1b6-0b94-0884db709243", + "time": 0.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 5.5, + "y": 0, + "z": -4 + } + ], + "uuid": "be60b12f-52b9-b946-4270-09e9e0d0378f", + "time": 0.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0.5, + "y": 4, + "z": -4 + } + ], + "uuid": "4b47e499-4d4c-dc09-4e86-22c8c0b82541", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -8.5, + "y": 0, + "z": -4 + } + ], + "uuid": "4dda3d6a-9596-5deb-7500-c34633c4b6cb", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 3.5, + "y": -7, + "z": -4 + } + ], + "uuid": "9b395872-ca15-30d8-7b32-6fe11caff6d5", + "time": 1.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 30.4, + "y": -18, + "z": -4 + } + ], + "uuid": "331654b0-7dd8-9800-9ef8-c48b44fdb4ea", + "time": 1.4, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 19.2, + "y": -5.75, + "z": -4 + } + ], + "uuid": "c84f8d3d-c646-3c60-a829-4664d96c7fab", + "time": 2.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 37.2, + "y": -23.75, + "z": -4 + } + ], + "uuid": "53a05e13-57cd-6d6e-a283-6cea74acdb15", + "time": 1.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 18.7, + "y": -5.75, + "z": -4 + } + ], + "uuid": "1089e049-555b-540b-14b0-0b085777b5a0", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -3.8, + "y": -1.75, + "z": -4 + } + ], + "uuid": "c1b487b2-7ba2-9068-961b-c09b15e40eb7", + "time": 2.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -8.8, + "y": -0.75, + "z": -4 + } + ], + "uuid": "bcfe463c-85a2-6f6c-bf63-82e96846ea41", + "time": 2.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 18.04, + "y": -4.98, + "z": -4 + } + ], + "uuid": "791a2a90-495c-ec14-bd2e-f9bb31e196e6", + "time": 2.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 19.22, + "y": -5.04, + "z": -4 + } + ], + "uuid": "ba45f1ff-5126-a22f-4e01-5e27ec2fc3e7", + "time": 2.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 18.04, + "y": -4.98, + "z": -4 + } + ], + "uuid": "001815ce-bfd3-71fd-669c-1ff3e82698a3", + "time": 2.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 19.22, + "y": -5.04, + "z": -4 + } + ], + "uuid": "bf355f13-25c8-9ec4-e8bc-836acc79e40f", + "time": 2.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 18.04, + "y": -4.98, + "z": -4 + } + ], + "uuid": "66dba2bb-59be-9edf-e8d3-93f7939e40fd", + "time": 2.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 19.22, + "y": -5.04, + "z": -4 + } + ], + "uuid": "c632a0b8-f11c-beb5-237b-65dec9f8d1d9", + "time": 2.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 18.04, + "y": -4.98, + "z": -4 + } + ], + "uuid": "15ba983e-4f3b-d09f-785a-1ab780a368ea", + "time": 2.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 19.22, + "y": -5.04, + "z": -4 + } + ], + "uuid": "7db0dc74-f785-1662-6272-f96228de2c58", + "time": 2.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -88, + "y": 5, + "z": -46 + } + ], + "uuid": "12d9b92c-3bd9-2f44-2f2c-a19782e0c0cf", + "time": 8.75, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -32, + "y": 40, + "z": -46 + } + ], + "uuid": "371ec7d4-e730-2e43-0724-5db5d51ae6a1", + "time": 10, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -1.25322, + -1.24738, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 1.25322, + 1.24738, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -8.8, + "y": -0.75, + "z": -4 + } + ], + "uuid": "69467291-3f93-6f58-bdb3-c82797cf9c0c", + "time": 8.7, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0.05", + "y": "0.05", + "z": "0.05" + } + ], + "uuid": "dd8b2de6-75d1-7cee-ccb0-f912b95b7035", + "time": 0, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0.075", + "y": "0.075", + "z": "0.075" + } + ], + "uuid": "de0af96b-699b-5288-e511-3c00579671f7", + "time": 0.35, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0.15", + "y": "0.15", + "z": "0.15" + } + ], + "uuid": "fd435306-ab5d-787b-a986-6b02ca7f1e37", + "time": 0.5, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 0.15, + "y": 0.15, + "z": 0.15 + } + ], + "uuid": "fb1a021b-380e-3ae2-82b9-e0a0f12310a7", + "time": 0.8, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0.25", + "y": "0.25", + "z": "0.25" + } + ], + "uuid": "32d01127-d00a-a568-56b2-99c7ed0848b0", + "time": 1, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0.4", + "y": "0.4", + "z": "0.4" + } + ], + "uuid": "6442d364-8252-cf26-9bce-cc90b8b21f34", + "time": 1.2, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0.75", + "y": "0.75", + "z": "0.75" + } + ], + "uuid": "599147b8-0216-d6bc-ce70-7f3156cf70ad", + "time": 1.35, + "color": -1, + "uniform": true, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1.3", + "y": "1.3", + "z": "1.3" + } + ], + "uuid": "615faa47-9836-b13d-a382-9cf04f0e84b1", + "time": 1.85, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 1.3, + "y": 1.3, + "z": 1.3 + } + ], + "uuid": "3e4c0d58-1f23-13fb-db8f-a6dd5c4f54c7", + "time": 2.5, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "b8c1e507-7864-8027-e1bb-6547776e6b2a", + "time": 2.7, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0.4", + "y": "0.4", + "z": "0.4" + } + ], + "uuid": "22bb859a-8a01-3a4d-5974-4a86ac9e9c3f", + "time": 2.85, + "color": -1, + "uniform": true, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "f72eb7b2-e24d-2e3a-cb04-7099efeab192", + "time": 8.75, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "466cd050-3522-b99f-07ef-08694cdb4e4d": { + "name": "FrontBody", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 10, + "z": "0" + } + ], + "uuid": "2f738517-81d3-4a3a-2baa-566ff24973c4", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "-10", + "z": 0 + } + ], + "uuid": "7a1839cd-2d3d-df66-5091-7815cc4503fe", + "time": 0.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 10, + "z": "0" + } + ], + "uuid": "8a18cd0a-de4a-a12b-1a01-d7230efbbca6", + "time": 0.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "-10", + "z": 0 + } + ], + "uuid": "23d6e000-373d-262a-534d-f05b96ebc8ea", + "time": 0.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 10, + "z": "0" + } + ], + "uuid": "0a251efd-b31b-fb20-3e77-7213b8ea0c4e", + "time": 0.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "-10", + "z": 0 + } + ], + "uuid": "da6eb1b9-2eec-f734-a8da-9c37159f68ef", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 10, + "z": "0" + } + ], + "uuid": "c16344da-f01d-c03d-a5d6-5b69ac626236", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "-10", + "z": 0 + } + ], + "uuid": "e75f4fc4-fb05-eef9-7669-5fdb253a57e0", + "time": 1.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 10, + "z": "0" + } + ], + "uuid": "ecb50576-1670-735f-1ccd-25b7d7681996", + "time": 1.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "-10", + "z": 0 + } + ], + "uuid": "27242dab-f092-df96-82f0-37a2146dfa4c", + "time": 1.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "21b5b641-43bd-9b03-e3ab-8206f66222b4", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 0 + } + ], + "uuid": "7266e628-e806-1efd-8211-ae49b19fb3b3", + "time": 2.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 10, + "z": "0" + } + ], + "uuid": "a2b42e6c-e006-f26c-5639-9fb0811bb0d9", + "time": 2.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "-10", + "z": 0 + } + ], + "uuid": "1af4b1ae-0aa0-dfa2-43d1-487dbebecf74", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 10, + "z": "0" + } + ], + "uuid": "a73915b4-8178-98d3-4f8c-0614b7c6215a", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "-10", + "z": 0 + } + ], + "uuid": "8d17f130-cd92-361b-b5fa-28720eda54e1", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 10, + "z": "0" + } + ], + "uuid": "3c925cf6-0149-b5de-119a-26ea9c3b2755", + "time": 3.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "-10", + "z": 0 + } + ], + "uuid": "e95c6930-1618-fcc1-373d-1268840e4e21", + "time": 3.8, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 0 + } + ], + "uuid": "d37db604-60bc-7516-64ef-224d21ffba64", + "time": 8.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "712d5ea5-6710-c22b-e567-f53ac6d800f6": { + "name": "RearBody", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": -25, + "z": "0" + } + ], + "uuid": "c148c141-7833-8235-419b-0836fd13b93b", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "25", + "z": 0 + } + ], + "uuid": "98ddee05-6c5a-9fc0-4b2e-90d3ab0e2292", + "time": 0.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": -25, + "z": "0" + } + ], + "uuid": "9c99e2da-23c0-a3a3-9b17-f5f277c1c71e", + "time": 0.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "25", + "z": 0 + } + ], + "uuid": "7683fac0-3b7a-3815-eb91-f55f4cdb4bbe", + "time": 0.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": -25, + "z": "0" + } + ], + "uuid": "8705f87a-7304-4664-145d-159c9bc16cf5", + "time": 0.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "25", + "z": 0 + } + ], + "uuid": "e7e82d60-c28c-1428-824d-6647efd24b87", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": -25, + "z": "0" + } + ], + "uuid": "69bd072d-2e4c-3331-c609-8cde6484211e", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "25", + "z": 0 + } + ], + "uuid": "1257e6bd-5d16-b26b-3a47-e6aa4837b7fd", + "time": 1.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": -25, + "z": "0" + } + ], + "uuid": "2d0ce724-dc6a-1524-18d7-e8706d019b62", + "time": 1.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "25", + "z": 0 + } + ], + "uuid": "1b12029e-9ae9-a033-1b76-25d0d3abfcd0", + "time": 1.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": -25, + "z": "0" + } + ], + "uuid": "16c681f8-6b08-a73e-4c5f-5c7831bbc99a", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "25", + "z": 0 + } + ], + "uuid": "cfe80bd1-79fa-400a-fad5-6eaac9191492", + "time": 2.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": -25, + "z": "0" + } + ], + "uuid": "560dc83a-036c-f826-7a30-afd5e84ae84d", + "time": 2.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "25", + "z": 0 + } + ], + "uuid": "6b4d994d-8f29-730e-cfef-6144bd340c9d", + "time": 2.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": -25, + "z": "0" + } + ], + "uuid": "a15f130b-4c7b-f01a-c9b5-1d19f1ecb5b3", + "time": 2.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "25", + "z": 0 + } + ], + "uuid": "c6f13414-40f9-9b42-2a51-7c59996a5737", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": -25, + "z": "0" + } + ], + "uuid": "f091bc29-d7f4-e86b-fb1f-7bd1636b8160", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "25", + "z": 0 + } + ], + "uuid": "51cca5cd-57af-0374-4792-f3f3431a3722", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": -25, + "z": "0" + } + ], + "uuid": "9bbd6006-901f-6c7a-99e4-3a4b8f0fd12c", + "time": 3.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "25", + "z": 0 + } + ], + "uuid": "c6f37a3b-3aec-a908-0f15-64c604ed14f8", + "time": 3.8, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "b1877425-6b16-17aa-1a23-b9975c7c2738", + "time": 8.75, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "-140", + "z": "-40" + } + ], + "uuid": "0274146c-2c0c-980c-0357-1e9507452ee7", + "time": 10, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -1.25322, + -1.2503 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 1.25322, + 1.2503 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "bf6faa1d-566d-32ea-3e04-cdb7f103fbd1": { + "name": "FishingLine", + "type": "bone", + "keyframes": [ + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "04bccb63-3b83-1a2a-c330-344e09cc5f33", + "time": 0, + "color": -1, + "uniform": true, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "cf301c27-e81a-4b55-08cb-b2f130163e79", + "time": 8.75, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "56d8f6ac-5372-0a1f-d85f-97d623bb07e6": { + "name": "FishingRod", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 132.75355, + "y": 22.44933, + "z": 72.76074 + } + ], + "uuid": "c310e217-6869-c404-605f-f1eaabff6c93", + "time": 4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 139.6793, + "y": 34.63056, + "z": 87.12327 + } + ], + "uuid": "b3aeffb7-a98e-9a21-c428-64005c144f1a", + "time": 4.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 152.58324, + "y": 26.015, + "z": 90.4944 + } + ], + "uuid": "85cc0820-23e6-c93c-f553-c6433e0d7435", + "time": 4.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 152.58, + "y": 26.01, + "z": 90.49 + } + ], + "uuid": "3f892d8b-4327-9001-b048-28a37fc4cf69", + "time": 7.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 71.0475, + "y": 16.87688, + "z": -5.0946 + } + ], + "uuid": "b2fbbc9e-7141-e394-6149-d16c4cb86a07", + "time": 7.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -4.5, + "y": 4, + "z": -1.5 + } + ], + "uuid": "22b20716-0fa2-45fe-67d4-7b5ce46bd909", + "time": 4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "d31df4b7-5711-7a58-a732-b1c7d2c032b0": { + "name": "ReelHandle", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 227.5, + "y": "0", + "z": "0" + } + ], + "uuid": "7562c904-8034-da53-93a0-8386b5a77630", + "time": 4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 257.5, + "y": 0, + "z": 0 + } + ], + "uuid": "810b62e1-52a7-b970-69a2-07d0015cff5f", + "time": 4.15, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -1235, + "y": 0, + "z": 0 + } + ], + "uuid": "769e0c15-0b0d-2595-9c37-b80f6bf8fb7b", + "time": 6.3, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -1.89971, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 1.89971, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "2cd4c811-036f-e9d9-3e28-604ec8912e7c": { + "name": "FishingRod2", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 20, + "y": 0, + "z": 0 + } + ], + "uuid": "bf68e0f1-827f-b7c8-d96b-3f66b519bfd7", + "time": 4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 20, + "y": 0, + "z": 0 + } + ], + "uuid": "4be4bb6c-b30b-bcae-de58-a07448ceb063", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "10", + "y": 0, + "z": 0 + } + ], + "uuid": "29db4810-1d3c-52c9-e527-c2801a40f798", + "time": 7.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "03d2b099-4993-ac6c-08c6-45e27a521ae9": { + "name": "FishingRod3", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "20", + "y": "0", + "z": "0" + } + ], + "uuid": "9e2b8457-ef6e-9862-55ef-653eb263c869", + "time": 4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 20, + "y": 0, + "z": 0 + } + ], + "uuid": "df3dd1b2-fb82-87a5-2c33-2e8ff8d39669", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "20", + "y": 0, + "z": 0 + } + ], + "uuid": "5d050a81-6c32-72f9-343c-af7be3ae338a", + "time": 7.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e3fc29b6-c380-9718-0fcf-84ab7a42763a": { + "name": "FishingRod4", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "30", + "y": "0", + "z": "0" + } + ], + "uuid": "ea7d21d9-dfc7-c034-96a1-afa451cf5839", + "time": 4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 30, + "y": 0, + "z": 0 + } + ], + "uuid": "957551f6-0a61-c6af-0661-5353658b36a4", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "25", + "y": 0, + "z": 0 + } + ], + "uuid": "ca0af9f3-67f3-c297-79e8-358802423e1a", + "time": 7.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "498c73bf-5ac8-e43e-1213-85bfd9183454": { + "name": "FishingLine5", + "type": "bone", + "keyframes": [ + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "dcd85d64-5b65-9336-81fc-3d44e4f6ab02", + "time": 0, + "color": -1, + "uniform": true, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "dc89d629-9be9-3f61-ff39-c101101232ab", + "time": 7.6, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "c57834c8-f8fc-bc04-0950-39418620e20c": { + "name": "Wave1_1", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "6ad31f97-e89e-cad4-89b4-7ac815edd8d3", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-32" + } + ], + "uuid": "146c890f-6d64-d83e-bcbc-06f9c3c3ee1c", + "time": 0.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "9", + "z": "-48" + } + ], + "uuid": "027e06f8-e1e5-f715-c61b-f4cd2d212684", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-64" + } + ], + "uuid": "043d88de-6c61-01da-666c-79e70f4e2012", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "9", + "z": "-80" + } + ], + "uuid": "ad5a3623-1e31-0b99-2bc2-1ac8d98016ee", + "time": 1.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-96" + } + ], + "uuid": "fbe5ad0b-706e-3df5-e0f8-f93fa941d82d", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "9", + "z": "-112" + } + ], + "uuid": "c24d6ac7-2615-28e9-3c34-a6f4bb26900a", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-128" + } + ], + "uuid": "5c720371-a1ee-b28e-8c0a-5860af63010b", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "9", + "z": "-144" + } + ], + "uuid": "ed469007-3d28-c254-4b43-2623eb2c42f0", + "time": 2.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-160" + } + ], + "uuid": "374b2945-1c87-0a8a-7c60-fee046f9e38c", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "9", + "z": "-176" + } + ], + "uuid": "af416c09-e024-d4e6-0025-7f173d660e98", + "time": 2.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-192" + } + ], + "uuid": "2aff54d9-d695-2b3c-24e2-25de3ee465b0", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "0", + "z": "-224" + } + ], + "uuid": "e958186d-9023-e7cb-7aba-b61fa8c0e62c", + "time": 3.5, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "034227cc-b53a-4f79-e48f-17baf4af1bba", + "time": 5.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-32" + } + ], + "uuid": "17e81e37-3556-59a5-54e9-03c3c8890675", + "time": 5.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "9", + "z": "-48" + } + ], + "uuid": "cf8df694-8c9e-a343-f503-5624aea85358", + "time": 6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-64" + } + ], + "uuid": "73872452-aadd-60a2-28dc-ecf58f5aa374", + "time": 6.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "9", + "z": "-80" + } + ], + "uuid": "b5efee4b-b516-5273-9032-6a2900207aba", + "time": 6.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-96" + } + ], + "uuid": "4a065450-35eb-a633-5531-f929236cf5df", + "time": 6.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "9", + "z": "-112" + } + ], + "uuid": "ea28bdbe-c82a-7b95-bfaf-fe70709013c9", + "time": 7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-128" + } + ], + "uuid": "d5ea7938-865a-6d91-446c-587fc83ae047", + "time": 7.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "9", + "z": "-144" + } + ], + "uuid": "ac3859e8-ed5e-7c42-09c7-9b7095ebd66a", + "time": 7.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-160" + } + ], + "uuid": "7db8f6e3-95e3-07a1-e645-88c377c8dec5", + "time": 7.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "0", + "z": "-176" + } + ], + "uuid": "4af8dd12-6f83-7ff8-4f61-5543d07b44fd", + "time": 8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "d0056d4d-0b50-5c01-6ad3-dd064e0a1e3d": { + "name": "Wave1_2", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "6b812f23-0333-3748-89f1-5a81ba0de42c", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-32" + } + ], + "uuid": "f5e74411-5380-8c63-ecc4-9cb5ddbe5eb1", + "time": 2.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "9", + "z": "-48" + } + ], + "uuid": "b1f5e7a0-a9ff-413f-c369-f47d0648e7bc", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-64" + } + ], + "uuid": "43310f46-d6b3-c6b9-bb16-4fcc7b09f115", + "time": 2.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "9", + "z": "-80" + } + ], + "uuid": "7d1f5ed0-eee4-034a-825b-aec9d10d20e4", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-96" + } + ], + "uuid": "1ac49ad9-56bc-5d6f-c5d3-adcce06df1c4", + "time": 3.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "9", + "z": "-112" + } + ], + "uuid": "04303ea6-7be2-65d3-333a-18a62e4640b5", + "time": 3.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-128" + } + ], + "uuid": "f5187bd0-8751-4e27-465a-14b164793805", + "time": 3.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "9", + "z": "-144" + } + ], + "uuid": "42ece7bc-d5b8-af11-905e-c3ebef844173", + "time": 4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-160" + } + ], + "uuid": "8352722e-b2b9-744f-89bf-dcb4ac4ccaf4", + "time": 4.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "9", + "z": "-176" + } + ], + "uuid": "29c2d9d7-9ac3-d13a-5f69-650632f4f641", + "time": 4.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-192" + } + ], + "uuid": "1bdf733a-fae4-60d5-475e-f64db469b547", + "time": 4.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "0", + "z": "-224" + } + ], + "uuid": "5812adea-3a11-4a12-0744-500f7240c50c", + "time": 5.25, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "8b153fba-9fcb-6cf5-6a1f-e14a33ecb899", + "time": 7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-32" + } + ], + "uuid": "80312ceb-9d02-fcdf-24b7-243f14125d23", + "time": 7.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "9", + "z": "-48" + } + ], + "uuid": "4690c95d-6148-a163-7a16-6e887080ccae", + "time": 7.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "0", + "z": "-64" + } + ], + "uuid": "a0ba638a-2a4e-4f94-caef-2e2175b64cdf", + "time": 8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "c8afa1f0-e313-6637-8f70-22dfc96b353f": { + "name": "Wave1_3", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "c0b37378-b721-4c9c-7686-311cc8cc10b7", + "time": 3.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-32" + } + ], + "uuid": "61d843e4-ebe8-c9ed-0578-08eff2f161a7", + "time": 4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "9", + "z": "-48" + } + ], + "uuid": "e7730cd1-08b4-0374-6ef7-6765be39aec2", + "time": 4.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-64" + } + ], + "uuid": "5c97d5da-0b8c-1785-3e61-2755afdeca7a", + "time": 4.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "9", + "z": "-80" + } + ], + "uuid": "86ea9039-d78e-ff6e-3bec-775d7d1238f8", + "time": 4.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-96" + } + ], + "uuid": "a924d8f5-9827-de8b-d45b-50ad32b68cae", + "time": 5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "9", + "z": "-112" + } + ], + "uuid": "f1b405e6-4c94-d4c6-285a-51f8fd8e33a7", + "time": 5.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-128" + } + ], + "uuid": "7ff85fe5-7ab9-d9fb-2b10-5fd163960eba", + "time": 5.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "9", + "z": "-144" + } + ], + "uuid": "c319b18e-9967-5e92-20f4-731e2b45a891", + "time": 5.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-160" + } + ], + "uuid": "7bea0c38-32f4-0ac2-9d94-1ac652ef5fee", + "time": 6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "9", + "z": "-176" + } + ], + "uuid": "b79fbcd4-548c-6a84-eb9f-bc699783cc9e", + "time": 6.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-192" + } + ], + "uuid": "242c762f-0d79-bde2-3afe-942ede291f9a", + "time": 6.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "0", + "z": "-224" + } + ], + "uuid": "b6a87bc3-2571-9d6e-ff3c-cf335e138346", + "time": 7, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "10c773aa-9fa9-125b-3e8b-7245989f411e": { + "name": "Wave2_1", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "1d3bc2ac-49ec-c65d-e7d2-fbc360261d5e", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-32" + } + ], + "uuid": "42252783-999c-9b49-4412-b72fa11db408", + "time": 2.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "9", + "z": "-48" + } + ], + "uuid": "1a2769ef-22cd-fbd5-5529-30e719a0f97b", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-64" + } + ], + "uuid": "6811fd94-3307-725d-b0bd-d39a111b7da8", + "time": 2.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 11.82, + "z": -73.6 + } + ], + "uuid": "fe7add6f-4608-6be4-584e-836d2c2c3366", + "time": 2.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "0", + "z": -73.6 + } + ], + "uuid": "8475ff38-e02f-6768-2c1f-ed9f7a1898b8", + "time": 2.95, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "aee7955f-b41e-d88c-6989-256b453902a5", + "time": 7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-32" + } + ], + "uuid": "e5641e26-f721-4ca4-273e-61e5ef871a13", + "time": 7.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "9", + "z": "-48" + } + ], + "uuid": "d7be72f7-e72b-a02e-3aa7-da14750b049a", + "time": 7.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "0", + "z": "-64" + } + ], + "uuid": "c43f127e-7144-91f8-74a7-fde11d5b4e30", + "time": 8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "684dfb62-9a06-694f-d9f7-2a509a6435bd": { + "name": "Wave2_2", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "0274b5cf-88d0-b52c-3d33-af08e439d900", + "time": 3.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-32" + } + ], + "uuid": "f8a88948-0962-a259-1cbe-529a73a7c05a", + "time": 4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "9", + "z": "-48" + } + ], + "uuid": "2d1c22c4-594e-5bdc-7c38-01e3e977ca17", + "time": 4.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-64" + } + ], + "uuid": "9bf366cc-7f41-6ed5-d3c4-d1cce240ff23", + "time": 4.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 11.82, + "z": -73.6 + } + ], + "uuid": "ddaabfde-5ff4-0d3f-97f8-0342db84dd76", + "time": 4.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "0", + "z": -73.6 + } + ], + "uuid": "e015bd8c-442f-8a62-5b69-e2a54dbb8e9a", + "time": 4.7, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "dbc7277c-00f3-da2f-a47a-bd4ed932dd1a": { + "name": "Wave2_3", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "c95c629d-f44f-c2a3-2dab-9c76ca95da3b", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-32" + } + ], + "uuid": "690727f5-b3de-c2f2-00ec-cd60a8794bbe", + "time": 0.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "9", + "z": "-48" + } + ], + "uuid": "f38c613d-33f8-801a-6313-0c6731e180a1", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-64" + } + ], + "uuid": "c92b3602-d6f2-d6d8-3297-1cbce4e2704c", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 11.82, + "z": -73.6 + } + ], + "uuid": "a92468ca-127f-e6cc-b4b9-64a019152acd", + "time": 1.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "0", + "z": -73.6 + } + ], + "uuid": "26191a99-fda5-0c5e-1018-8d2c522030e8", + "time": 1.2, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "320a8326-4113-8d93-2a9f-10df452615e1", + "time": 5.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-32" + } + ], + "uuid": "785b7822-6671-a922-fc4a-7d801fa51d5a", + "time": 5.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "9", + "z": "-48" + } + ], + "uuid": "14b72423-9369-51ce-e780-a5ddde94083c", + "time": 6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-64" + } + ], + "uuid": "22747a68-acb0-f0d3-c2bb-da3e754c2572", + "time": 6.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 11.82, + "z": -73.6 + } + ], + "uuid": "c04f18c4-ac94-3140-b57e-70eec457ee53", + "time": 6.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "0", + "z": -73.6 + } + ], + "uuid": "174e930a-0664-fef6-75ed-53895d2ae1bf", + "time": 6.45, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "892a742f-0382-4f9c-68b4-31ece8f4f22d": { + "name": "Wave3_1", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "5aa3da16-3fa3-1ed5-6707-d04dc397f8bb", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-32" + } + ], + "uuid": "0490cf56-b392-fa0a-c9cb-c524fbd9ee37", + "time": 0.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "9", + "z": "-48" + } + ], + "uuid": "652a9c19-6db2-4711-015e-718a2030df4a", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-64" + } + ], + "uuid": "54ed8b54-8399-c3ae-b709-51925922cc65", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "9", + "z": "-80" + } + ], + "uuid": "ea999913-f51b-1f84-1285-2751f6c594ce", + "time": 1.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-96" + } + ], + "uuid": "e53c96a1-f908-9f3d-8b09-d09a413d5ab7", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "9", + "z": "-112" + } + ], + "uuid": "f286a60e-b4c8-1a85-8575-1a4ef2ac3f1f", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-128" + } + ], + "uuid": "ac87289d-ecfc-9b9c-0a01-75d7ab8c00e0", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "9", + "z": "-144" + } + ], + "uuid": "0358629a-a421-a1d1-ea50-4cc82fa121c4", + "time": 2.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-160" + } + ], + "uuid": "3a7111c9-b962-de4b-b120-3d6c4fbaa95e", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "9", + "z": "-176" + } + ], + "uuid": "fd17d1e7-9818-4dd8-1fdd-f4677a5c4318", + "time": 2.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-192" + } + ], + "uuid": "951eba71-5e9a-cbf5-6f9c-4a0b0926f50a", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "0", + "z": "-224" + } + ], + "uuid": "85f202fe-625a-b06d-b31e-84c34a9b418e", + "time": 3.5, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "47e219b9-4900-7417-8b3a-053623800b5d", + "time": 5.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-32" + } + ], + "uuid": "dc203954-bc17-5351-d484-815a574ed8f3", + "time": 5.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "9", + "z": "-48" + } + ], + "uuid": "61faaa30-1b81-6e27-d9b2-a9cbdda7ba04", + "time": 6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-64" + } + ], + "uuid": "0dd2efc9-a434-203b-759e-951d808974dd", + "time": 6.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "9", + "z": "-80" + } + ], + "uuid": "871c95b2-a7ec-8609-064f-a03950d010a2", + "time": 6.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-96" + } + ], + "uuid": "7145d025-a510-ff6a-bc87-69f372ada19c", + "time": 6.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "9", + "z": "-112" + } + ], + "uuid": "039088bf-0cdc-2ef6-1f9b-56c17f9f25c1", + "time": 7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-128" + } + ], + "uuid": "e9e0914e-dfb4-448e-0e36-e75ec67e1a59", + "time": 7.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "9", + "z": "-144" + } + ], + "uuid": "a2c88a51-59e5-3829-6866-74f110cd4e58", + "time": 7.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-160" + } + ], + "uuid": "7dfb60bf-9209-72f4-0163-72ec5c322da0", + "time": 7.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "0", + "z": "-176" + } + ], + "uuid": "33779135-802c-0999-306c-18883e25710f", + "time": 8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "544551ba-5e42-7ecf-031e-ed983850f7ad": { + "name": "Wave3_2", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "75584533-eb62-daf0-0665-c2a9456f32c6", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-32" + } + ], + "uuid": "507148bb-178c-2dcc-f1c3-d8aad7ea48cc", + "time": 2.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "9", + "z": "-48" + } + ], + "uuid": "6fdc1513-8f4e-28bc-ef09-2443bc7cd64c", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-64" + } + ], + "uuid": "cae4c674-4db8-16fd-fe98-4bf2abf3db70", + "time": 2.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "9", + "z": "-80" + } + ], + "uuid": "a70ef259-1c81-50f3-9d47-b4faea16a551", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-96" + } + ], + "uuid": "c547e55b-60cf-315b-9b41-8b7989cffbe6", + "time": 3.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "9", + "z": "-112" + } + ], + "uuid": "880d7ae4-5d2d-0af2-cecc-bce733a5e841", + "time": 3.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-128" + } + ], + "uuid": "8eb3042b-d698-54c0-c772-c2dce3ecca70", + "time": 3.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "9", + "z": "-144" + } + ], + "uuid": "b6bd40ac-964e-d550-8635-53f0eb4ba566", + "time": 4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-160" + } + ], + "uuid": "0eee748b-3e9b-b25f-9f60-e9273b47b732", + "time": 4.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "9", + "z": "-176" + } + ], + "uuid": "5ed1eb60-ac17-568e-7421-4a9ae51a9b20", + "time": 4.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-192" + } + ], + "uuid": "78869da1-012f-7d53-9add-0efd0470739b", + "time": 4.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "0", + "z": "-224" + } + ], + "uuid": "69ae96be-2ce4-054b-b802-5f3a549fa3ec", + "time": 5.25, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "6fe5c614-8fd7-dcda-faa7-4125b5143344", + "time": 7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-32" + } + ], + "uuid": "fab101b1-a7ef-5b24-9809-e96f8b5da060", + "time": 7.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "9", + "z": "-48" + } + ], + "uuid": "a039d0e8-9d8a-1233-2047-726293d35a0f", + "time": 7.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "0", + "z": "-64" + } + ], + "uuid": "7b12774c-867c-6752-6a61-40e1076b4a3b", + "time": 8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ccc7085a-93d1-9547-2bb2-b484acf34d55": { + "name": "Wave3_3", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "772e3ddc-5ec3-d4fa-09af-8dbd90f53f0f", + "time": 3.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-32" + } + ], + "uuid": "89b8573b-20eb-7f74-aa1b-30b069645068", + "time": 4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "9", + "z": "-48" + } + ], + "uuid": "1b54354d-c61e-6c1a-2c44-6f6dae24d23e", + "time": 4.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-64" + } + ], + "uuid": "4471f9c0-9681-b1eb-b9ec-63cd6d4b96f3", + "time": 4.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "9", + "z": "-80" + } + ], + "uuid": "a26b75a5-3e9d-087f-241c-b8d42ea65750", + "time": 4.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-96" + } + ], + "uuid": "e28fcaa1-d3ca-86db-709f-7f0a1d06b749", + "time": 5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "9", + "z": "-112" + } + ], + "uuid": "d9a601be-97ef-2b98-c486-d48840c0b0aa", + "time": 5.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-128" + } + ], + "uuid": "1050dba0-cc71-bfb0-8421-0ec7f39301fc", + "time": 5.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "9", + "z": "-144" + } + ], + "uuid": "3e3076d8-443e-0a77-41c7-147d3fe028bc", + "time": 5.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-160" + } + ], + "uuid": "127d2136-685b-ea89-0635-225f2eac8e28", + "time": 6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "9", + "z": "-176" + } + ], + "uuid": "b0e12ffa-2da0-54d3-ec4a-4f5efb626fe4", + "time": 6.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "17", + "z": "-192" + } + ], + "uuid": "e68b6fc4-e99c-ffbc-5a8a-41716ce08bec", + "time": 6.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "0", + "z": "-224" + } + ], + "uuid": "40a7b088-b439-6b06-fe33-69497cbaf584", + "time": 7, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "946715b2-e89d-504e-4b37-775152100be4": { + "name": "FlashCore", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "-15" + } + ], + "uuid": "d18a364c-86ab-09aa-09d7-d38c91c68ccf", + "time": 6.95, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "7.5", + "y": "7.5", + "z": "1" + } + ], + "uuid": "d38792a4-be58-5fae-20fc-31e3f468054b", + "time": 6.95, + "color": -1, + "uniform": false, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 112.5, + "y": "1", + "z": 1 + } + ], + "uuid": "9031049d-6ae8-4f12-06f3-f02810092712", + "time": 7.4, + "color": -1, + "uniform": false, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.39672, + -0.40017, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.39672, + 0.40017, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "70ddce13-d267-2458-d40c-6920119ab4db": { + "name": "Wave4", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "20f73410-281f-883a-26fd-98ce7db6007d", + "time": 8.4, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "32", + "z": 0 + } + ], + "uuid": "826928bc-3381-42ac-7353-2ed53207c87c", + "time": 8.75, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.34842, + -0.1 + ], + "bezier_left_value": [ + 0, + 2.56955, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.34842, + 0.1 + ], + "bezier_right_value": [ + 0, + -2.56955, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "4", + "y": "0.05", + "z": "4" + } + ], + "uuid": "64c0fbfe-1e4c-a3ea-bd94-02a17fd7d6d6", + "time": 8.4, + "color": -1, + "uniform": false, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1.5", + "y": "1.5", + "z": "1.5" + } + ], + "uuid": "31dad710-629c-fa81-77f6-6afff1e40130", + "time": 8.75, + "color": -1, + "uniform": false, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.34842, + -0.34497, + -0.35187 + ], + "bezier_left_value": [ + -0.73232, + 0.78283, + -0.70707 + ], + "bezier_right_time": [ + 0.34842, + 0.34497, + 0.35187 + ], + "bezier_right_value": [ + 0.73232, + -0.78283, + 0.70707 + ] + } + ] + } + } + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Shiroko/models/ex_skill_3.bbmodel b/config/yosbr/config/figura/avatars/Shiroko/models/ex_skill_3.bbmodel new file mode 100644 index 0000000..bceacb2 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/models/ex_skill_3.bbmodel @@ -0,0 +1,26462 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "ex_skill_3", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 43, + "height": 7 + }, + "elements": [ + { + "name": "OuterWheel", + "color": 0, + "origin": [ + 0.5, + 6, + -9 + ], + "rotation": [ + 0, + 0, + 90 + ], + "export": true, + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "ZZmY": [ + 1.19347, + 0, + 6 + ], + "dPbZ": [ + 1.19347, + 1, + 6 + ], + "G0Fq": [ + 1.1174, + 0, + 5.61755 + ], + "ynUE": [ + 1.1174, + 1, + 5.61755 + ], + "Qmib": [ + 3.39873, + 0, + 5.08655 + ], + "meUe": [ + 3.39873, + 1, + 5.08655 + ], + "7kcE": [ + 3.18208, + 0, + 4.76233 + ], + "E9HH": [ + 3.18208, + 1, + 4.76233 + ], + "RQIc": [ + 5.08655, + 0, + 3.39873 + ], + "HIIg": [ + 5.08655, + 1, + 3.39873 + ], + "nicd": [ + 4.76233, + 0, + 3.18208 + ], + "FHDK": [ + 4.76233, + 1, + 3.18208 + ], + "3gRT": [ + 6, + 0, + 1.19347 + ], + "WJE5": [ + 6, + 1, + 1.19347 + ], + "EYN6": [ + 5.61755, + 0, + 1.1174 + ], + "5J77": [ + 5.61755, + 1, + 1.1174 + ], + "Bp9M": [ + 6, + 0, + -1.19347 + ], + "QpaL": [ + 6, + 1, + -1.19347 + ], + "w9Hq": [ + 5.61755, + 0, + -1.1174 + ], + "1Ipo": [ + 5.61755, + 1, + -1.1174 + ], + "zM1P": [ + 5.08655, + 0, + -3.39873 + ], + "J81t": [ + 5.08655, + 1, + -3.39873 + ], + "i1be": [ + 4.76233, + 0, + -3.18208 + ], + "e7Ub": [ + 4.76233, + 1, + -3.18208 + ], + "ggb5": [ + 3.39873, + 0, + -5.08655 + ], + "XZ6T": [ + 3.39873, + 1, + -5.08655 + ], + "5hE7": [ + 3.18208, + 0, + -4.76233 + ], + "NDpS": [ + 3.18208, + 1, + -4.76233 + ], + "HOSZ": [ + 1.19347, + 0, + -6 + ], + "CaF3": [ + 1.19347, + 1, + -6 + ], + "fyoA": [ + 1.1174, + 0, + -5.61755 + ], + "UgoC": [ + 1.1174, + 1, + -5.61755 + ], + "gxsC": [ + -1.19347, + 0, + -6 + ], + "50TU": [ + -1.19347, + 1, + -6 + ], + "22NL": [ + -1.1174, + 0, + -5.61755 + ], + "p6mu": [ + -1.1174, + 1, + -5.61755 + ], + "2D4b": [ + -3.39873, + 0, + -5.08655 + ], + "DgDb": [ + -3.39873, + 1, + -5.08655 + ], + "UTen": [ + -3.18208, + 0, + -4.76233 + ], + "fJPN": [ + -3.18208, + 1, + -4.76233 + ], + "Vr1W": [ + -5.08655, + 0, + -3.39873 + ], + "t9ti": [ + -5.08655, + 1, + -3.39873 + ], + "JSaz": [ + -4.76233, + 0, + -3.18208 + ], + "S9dQ": [ + -4.76233, + 1, + -3.18208 + ], + "oMVc": [ + -6, + 0, + -1.19347 + ], + "zhzf": [ + -6, + 1, + -1.19347 + ], + "YYyl": [ + -5.61755, + 0, + -1.1174 + ], + "OchC": [ + -5.61755, + 1, + -1.1174 + ], + "bwKr": [ + -6, + 0, + 1.19347 + ], + "Wsoy": [ + -6, + 1, + 1.19347 + ], + "0fqu": [ + -5.61755, + 0, + 1.1174 + ], + "6xXS": [ + -5.61755, + 1, + 1.1174 + ], + "aYhs": [ + -5.08655, + 0, + 3.39873 + ], + "wQVu": [ + -5.08655, + 1, + 3.39873 + ], + "ZqS7": [ + -4.76233, + 0, + 3.18208 + ], + "90t7": [ + -4.76233, + 1, + 3.18208 + ], + "bDKn": [ + -3.39873, + 0, + 5.08655 + ], + "qrZA": [ + -3.39873, + 1, + 5.08655 + ], + "ekbr": [ + -3.18208, + 0, + 4.76233 + ], + "q2ZA": [ + -3.18208, + 1, + 4.76233 + ], + "1Flr": [ + -1.19347, + 0, + 6 + ], + "usIS": [ + -1.19347, + 1, + 6 + ], + "eYzJ": [ + -1.1174, + 0, + 5.61755 + ], + "4A4J": [ + -1.1174, + 1, + 5.61755 + ] + }, + "faces": { + "tSw3wz5U": { + "uv": { + "ZZmY": [ + 0, + 1 + ], + "Qmib": [ + 1, + 1 + ], + "meUe": [ + 1, + 0 + ], + "dPbZ": [ + 0, + 0 + ] + }, + "vertices": [ + "ZZmY", + "Qmib", + "meUe", + "dPbZ" + ], + "texture": 0 + }, + "eHlBQRzD": { + "uv": { + "ynUE": [ + 0, + 1 + ], + "E9HH": [ + 1, + 1 + ], + "7kcE": [ + 1, + 0 + ], + "G0Fq": [ + 0, + 0 + ] + }, + "vertices": [ + "ynUE", + "E9HH", + "7kcE", + "G0Fq" + ], + "texture": 0 + }, + "MN1Yq5Qz": { + "uv": { + "G0Fq": [ + 0, + 1 + ], + "7kcE": [ + 1, + 1 + ], + "Qmib": [ + 1, + 0 + ], + "ZZmY": [ + 0, + 0 + ] + }, + "vertices": [ + "G0Fq", + "7kcE", + "Qmib", + "ZZmY" + ], + "texture": 0 + }, + "gDpya5oy": { + "uv": { + "dPbZ": [ + 0, + 1 + ], + "meUe": [ + 1, + 1 + ], + "E9HH": [ + 1, + 0 + ], + "ynUE": [ + 0, + 0 + ] + }, + "vertices": [ + "dPbZ", + "meUe", + "E9HH", + "ynUE" + ], + "texture": 0 + }, + "4gtbI5w1": { + "uv": { + "Qmib": [ + 0, + 1 + ], + "RQIc": [ + 1, + 1 + ], + "HIIg": [ + 1, + 0 + ], + "meUe": [ + 0, + 0 + ] + }, + "vertices": [ + "Qmib", + "RQIc", + "HIIg", + "meUe" + ], + "texture": 0 + }, + "y7XwKXLo": { + "uv": { + "E9HH": [ + 0, + 1 + ], + "FHDK": [ + 1, + 1 + ], + "nicd": [ + 1, + 0 + ], + "7kcE": [ + 0, + 0 + ] + }, + "vertices": [ + "E9HH", + "FHDK", + "nicd", + "7kcE" + ], + "texture": 0 + }, + "Gh143xUe": { + "uv": { + "7kcE": [ + 0, + 1 + ], + "nicd": [ + 1, + 1 + ], + "RQIc": [ + 1, + 0 + ], + "Qmib": [ + 0, + 0 + ] + }, + "vertices": [ + "7kcE", + "nicd", + "RQIc", + "Qmib" + ], + "texture": 0 + }, + "bpjL26jO": { + "uv": { + "meUe": [ + 0, + 1 + ], + "HIIg": [ + 1, + 1 + ], + "FHDK": [ + 1, + 0 + ], + "E9HH": [ + 0, + 0 + ] + }, + "vertices": [ + "meUe", + "HIIg", + "FHDK", + "E9HH" + ], + "texture": 0 + }, + "BWNNMYAt": { + "uv": { + "RQIc": [ + 0, + 1 + ], + "3gRT": [ + 1, + 1 + ], + "WJE5": [ + 1, + 0 + ], + "HIIg": [ + 0, + 0 + ] + }, + "vertices": [ + "RQIc", + "3gRT", + "WJE5", + "HIIg" + ], + "texture": 0 + }, + "YGKzCqkj": { + "uv": { + "FHDK": [ + 0, + 1 + ], + "5J77": [ + 1, + 1 + ], + "EYN6": [ + 1, + 0 + ], + "nicd": [ + 0, + 0 + ] + }, + "vertices": [ + "FHDK", + "5J77", + "EYN6", + "nicd" + ], + "texture": 0 + }, + "lCydo9pf": { + "uv": { + "nicd": [ + 0, + 1 + ], + "EYN6": [ + 1, + 1 + ], + "3gRT": [ + 1, + 0 + ], + "RQIc": [ + 0, + 0 + ] + }, + "vertices": [ + "nicd", + "EYN6", + "3gRT", + "RQIc" + ], + "texture": 0 + }, + "je7KVDuT": { + "uv": { + "HIIg": [ + 0, + 1 + ], + "WJE5": [ + 1, + 1 + ], + "5J77": [ + 1, + 0 + ], + "FHDK": [ + 0, + 0 + ] + }, + "vertices": [ + "HIIg", + "WJE5", + "5J77", + "FHDK" + ], + "texture": 0 + }, + "5Hkq7Mcx": { + "uv": { + "3gRT": [ + 0, + 1 + ], + "Bp9M": [ + 1, + 1 + ], + "QpaL": [ + 1, + 0 + ], + "WJE5": [ + 0, + 0 + ] + }, + "vertices": [ + "3gRT", + "Bp9M", + "QpaL", + "WJE5" + ], + "texture": 0 + }, + "H2MzJuqN": { + "uv": { + "5J77": [ + 0, + 1 + ], + "1Ipo": [ + 1, + 1 + ], + "w9Hq": [ + 1, + 0 + ], + "EYN6": [ + 0, + 0 + ] + }, + "vertices": [ + "5J77", + "1Ipo", + "w9Hq", + "EYN6" + ], + "texture": 0 + }, + "TzsBPAcy": { + "uv": { + "EYN6": [ + 0, + 1 + ], + "w9Hq": [ + 1, + 1 + ], + "Bp9M": [ + 1, + 0 + ], + "3gRT": [ + 0, + 0 + ] + }, + "vertices": [ + "EYN6", + "w9Hq", + "Bp9M", + "3gRT" + ], + "texture": 0 + }, + "ui8rHOpn": { + "uv": { + "WJE5": [ + 0, + 1 + ], + "QpaL": [ + 1, + 1 + ], + "1Ipo": [ + 1, + 0 + ], + "5J77": [ + 0, + 0 + ] + }, + "vertices": [ + "WJE5", + "QpaL", + "1Ipo", + "5J77" + ], + "texture": 0 + }, + "esS4zMar": { + "uv": { + "Bp9M": [ + 1, + 1 + ], + "zM1P": [ + 0, + 1 + ], + "J81t": [ + 0, + 0 + ], + "QpaL": [ + 1, + 0 + ] + }, + "vertices": [ + "Bp9M", + "zM1P", + "J81t", + "QpaL" + ], + "texture": 0 + }, + "nccDdDzB": { + "uv": { + "1Ipo": [ + 0, + 1 + ], + "e7Ub": [ + 1, + 1 + ], + "i1be": [ + 1, + 0 + ], + "w9Hq": [ + 0, + 0 + ] + }, + "vertices": [ + "1Ipo", + "e7Ub", + "i1be", + "w9Hq" + ], + "texture": 0 + }, + "D9OwR4lb": { + "uv": { + "w9Hq": [ + 0, + 1 + ], + "i1be": [ + 1, + 1 + ], + "zM1P": [ + 1, + 0 + ], + "Bp9M": [ + 0, + 0 + ] + }, + "vertices": [ + "w9Hq", + "i1be", + "zM1P", + "Bp9M" + ], + "texture": 0 + }, + "kWtsglZl": { + "uv": { + "QpaL": [ + 0, + 1 + ], + "J81t": [ + 1, + 1 + ], + "e7Ub": [ + 1, + 0 + ], + "1Ipo": [ + 0, + 0 + ] + }, + "vertices": [ + "QpaL", + "J81t", + "e7Ub", + "1Ipo" + ], + "texture": 0 + }, + "3vx7B2TV": { + "uv": { + "zM1P": [ + 0, + 1 + ], + "ggb5": [ + 1, + 1 + ], + "XZ6T": [ + 1, + 0 + ], + "J81t": [ + 0, + 0 + ] + }, + "vertices": [ + "zM1P", + "ggb5", + "XZ6T", + "J81t" + ], + "texture": 0 + }, + "Ksd0ddRd": { + "uv": { + "e7Ub": [ + 0, + 1 + ], + "NDpS": [ + 1, + 1 + ], + "5hE7": [ + 1, + 0 + ], + "i1be": [ + 0, + 0 + ] + }, + "vertices": [ + "e7Ub", + "NDpS", + "5hE7", + "i1be" + ], + "texture": 0 + }, + "ezwQwODo": { + "uv": { + "i1be": [ + 0, + 1 + ], + "5hE7": [ + 1, + 1 + ], + "ggb5": [ + 1, + 0 + ], + "zM1P": [ + 0, + 0 + ] + }, + "vertices": [ + "i1be", + "5hE7", + "ggb5", + "zM1P" + ], + "texture": 0 + }, + "YRyAvyDU": { + "uv": { + "J81t": [ + 0, + 1 + ], + "XZ6T": [ + 1, + 1 + ], + "NDpS": [ + 1, + 0 + ], + "e7Ub": [ + 0, + 0 + ] + }, + "vertices": [ + "J81t", + "XZ6T", + "NDpS", + "e7Ub" + ], + "texture": 0 + }, + "XyTvsSj1": { + "uv": { + "ggb5": [ + 0, + 1 + ], + "HOSZ": [ + 1, + 1 + ], + "CaF3": [ + 1, + 0 + ], + "XZ6T": [ + 0, + 0 + ] + }, + "vertices": [ + "ggb5", + "HOSZ", + "CaF3", + "XZ6T" + ], + "texture": 0 + }, + "zfTzUDTS": { + "uv": { + "NDpS": [ + 0, + 1 + ], + "UgoC": [ + 1, + 1 + ], + "fyoA": [ + 1, + 0 + ], + "5hE7": [ + 0, + 0 + ] + }, + "vertices": [ + "NDpS", + "UgoC", + "fyoA", + "5hE7" + ], + "texture": 0 + }, + "Ia74SusX": { + "uv": { + "5hE7": [ + 0, + 1 + ], + "fyoA": [ + 1, + 1 + ], + "HOSZ": [ + 1, + 0 + ], + "ggb5": [ + 0, + 0 + ] + }, + "vertices": [ + "5hE7", + "fyoA", + "HOSZ", + "ggb5" + ], + "texture": 0 + }, + "gAMz7mBR": { + "uv": { + "XZ6T": [ + 0, + 1 + ], + "CaF3": [ + 1, + 1 + ], + "UgoC": [ + 1, + 0 + ], + "NDpS": [ + 0, + 0 + ] + }, + "vertices": [ + "XZ6T", + "CaF3", + "UgoC", + "NDpS" + ], + "texture": 0 + }, + "mRgU4snd": { + "uv": { + "HOSZ": [ + 0, + 1 + ], + "gxsC": [ + 1, + 1 + ], + "50TU": [ + 1, + 0 + ], + "CaF3": [ + 0, + 0 + ] + }, + "vertices": [ + "HOSZ", + "gxsC", + "50TU", + "CaF3" + ], + "texture": 0 + }, + "zm8GJBnB": { + "uv": { + "UgoC": [ + 0, + 1 + ], + "p6mu": [ + 1, + 1 + ], + "22NL": [ + 1, + 0 + ], + "fyoA": [ + 0, + 0 + ] + }, + "vertices": [ + "UgoC", + "p6mu", + "22NL", + "fyoA" + ], + "texture": 0 + }, + "5RRfqJVZ": { + "uv": { + "fyoA": [ + 0, + 1 + ], + "22NL": [ + 1, + 1 + ], + "gxsC": [ + 1, + 0 + ], + "HOSZ": [ + 0, + 0 + ] + }, + "vertices": [ + "fyoA", + "22NL", + "gxsC", + "HOSZ" + ], + "texture": 0 + }, + "QdBZwmwn": { + "uv": { + "CaF3": [ + 0, + 1 + ], + "50TU": [ + 1, + 1 + ], + "p6mu": [ + 1, + 0 + ], + "UgoC": [ + 0, + 0 + ] + }, + "vertices": [ + "CaF3", + "50TU", + "p6mu", + "UgoC" + ], + "texture": 0 + }, + "jFz1GAHK": { + "uv": { + "gxsC": [ + 0, + 1 + ], + "2D4b": [ + 1, + 1 + ], + "DgDb": [ + 1, + 0 + ], + "50TU": [ + 0, + 0 + ] + }, + "vertices": [ + "gxsC", + "2D4b", + "DgDb", + "50TU" + ], + "texture": 0 + }, + "wDDx35n5": { + "uv": { + "p6mu": [ + 0, + 1 + ], + "fJPN": [ + 1, + 1 + ], + "UTen": [ + 1, + 0 + ], + "22NL": [ + 0, + 0 + ] + }, + "vertices": [ + "p6mu", + "fJPN", + "UTen", + "22NL" + ], + "texture": 0 + }, + "jQc7BFK5": { + "uv": { + "22NL": [ + 0, + 1 + ], + "UTen": [ + 1, + 1 + ], + "2D4b": [ + 1, + 0 + ], + "gxsC": [ + 0, + 0 + ] + }, + "vertices": [ + "22NL", + "UTen", + "2D4b", + "gxsC" + ], + "texture": 0 + }, + "o6Tz0Kws": { + "uv": { + "50TU": [ + 0, + 1 + ], + "DgDb": [ + 1, + 1 + ], + "fJPN": [ + 1, + 0 + ], + "p6mu": [ + 0, + 0 + ] + }, + "vertices": [ + "50TU", + "DgDb", + "fJPN", + "p6mu" + ], + "texture": 0 + }, + "rSkrlrnh": { + "uv": { + "2D4b": [ + 0, + 1 + ], + "Vr1W": [ + 1, + 1 + ], + "t9ti": [ + 1, + 0 + ], + "DgDb": [ + 0, + 0 + ] + }, + "vertices": [ + "2D4b", + "Vr1W", + "t9ti", + "DgDb" + ], + "texture": 0 + }, + "hPUsZfO6": { + "uv": { + "fJPN": [ + 0, + 1 + ], + "S9dQ": [ + 1, + 1 + ], + "JSaz": [ + 1, + 0 + ], + "UTen": [ + 0, + 0 + ] + }, + "vertices": [ + "fJPN", + "S9dQ", + "JSaz", + "UTen" + ], + "texture": 0 + }, + "sAZ7mkTv": { + "uv": { + "UTen": [ + 0, + 1 + ], + "JSaz": [ + 1, + 1 + ], + "Vr1W": [ + 1, + 0 + ], + "2D4b": [ + 0, + 0 + ] + }, + "vertices": [ + "UTen", + "JSaz", + "Vr1W", + "2D4b" + ], + "texture": 0 + }, + "kQWk1dKb": { + "uv": { + "DgDb": [ + 0, + 1 + ], + "t9ti": [ + 1, + 1 + ], + "S9dQ": [ + 1, + 0 + ], + "fJPN": [ + 0, + 0 + ] + }, + "vertices": [ + "DgDb", + "t9ti", + "S9dQ", + "fJPN" + ], + "texture": 0 + }, + "IV36ZRGv": { + "uv": { + "Vr1W": [ + 0, + 1 + ], + "oMVc": [ + 1, + 1 + ], + "zhzf": [ + 1, + 0 + ], + "t9ti": [ + 0, + 0 + ] + }, + "vertices": [ + "Vr1W", + "oMVc", + "zhzf", + "t9ti" + ], + "texture": 0 + }, + "u8snninD": { + "uv": { + "S9dQ": [ + 0, + 1 + ], + "OchC": [ + 1, + 1 + ], + "YYyl": [ + 1, + 0 + ], + "JSaz": [ + 0, + 0 + ] + }, + "vertices": [ + "S9dQ", + "OchC", + "YYyl", + "JSaz" + ], + "texture": 0 + }, + "Pw3sCKF4": { + "uv": { + "JSaz": [ + 0, + 1 + ], + "YYyl": [ + 1, + 1 + ], + "oMVc": [ + 1, + 0 + ], + "Vr1W": [ + 0, + 0 + ] + }, + "vertices": [ + "JSaz", + "YYyl", + "oMVc", + "Vr1W" + ], + "texture": 0 + }, + "typ0OVTP": { + "uv": { + "t9ti": [ + 0, + 1 + ], + "zhzf": [ + 1, + 1 + ], + "OchC": [ + 1, + 0 + ], + "S9dQ": [ + 0, + 0 + ] + }, + "vertices": [ + "t9ti", + "zhzf", + "OchC", + "S9dQ" + ], + "texture": 0 + }, + "XyNXLeDh": { + "uv": { + "oMVc": [ + 0, + 1 + ], + "bwKr": [ + 1, + 1 + ], + "Wsoy": [ + 1, + 0 + ], + "zhzf": [ + 0, + 0 + ] + }, + "vertices": [ + "oMVc", + "bwKr", + "Wsoy", + "zhzf" + ], + "texture": 0 + }, + "F5443dVN": { + "uv": { + "OchC": [ + 0, + 1 + ], + "6xXS": [ + 1, + 1 + ], + "0fqu": [ + 1, + 0 + ], + "YYyl": [ + 0, + 0 + ] + }, + "vertices": [ + "OchC", + "6xXS", + "0fqu", + "YYyl" + ], + "texture": 0 + }, + "5EL4kmyg": { + "uv": { + "YYyl": [ + 0, + 1 + ], + "0fqu": [ + 1, + 1 + ], + "bwKr": [ + 1, + 0 + ], + "oMVc": [ + 0, + 0 + ] + }, + "vertices": [ + "YYyl", + "0fqu", + "bwKr", + "oMVc" + ], + "texture": 0 + }, + "D1ZlfuG2": { + "uv": { + "zhzf": [ + 0, + 1 + ], + "Wsoy": [ + 1, + 1 + ], + "6xXS": [ + 1, + 0 + ], + "OchC": [ + 0, + 0 + ] + }, + "vertices": [ + "zhzf", + "Wsoy", + "6xXS", + "OchC" + ], + "texture": 0 + }, + "PlOmNSc1": { + "uv": { + "bwKr": [ + 0, + 1 + ], + "aYhs": [ + 1, + 1 + ], + "wQVu": [ + 1, + 0 + ], + "Wsoy": [ + 0, + 0 + ] + }, + "vertices": [ + "bwKr", + "aYhs", + "wQVu", + "Wsoy" + ], + "texture": 0 + }, + "iGnNaIZb": { + "uv": { + "6xXS": [ + 0, + 1 + ], + "90t7": [ + 1, + 1 + ], + "ZqS7": [ + 1, + 0 + ], + "0fqu": [ + 0, + 0 + ] + }, + "vertices": [ + "6xXS", + "90t7", + "ZqS7", + "0fqu" + ], + "texture": 0 + }, + "irs3T51A": { + "uv": { + "0fqu": [ + 0, + 1 + ], + "ZqS7": [ + 1, + 1 + ], + "aYhs": [ + 1, + 0 + ], + "bwKr": [ + 0, + 0 + ] + }, + "vertices": [ + "0fqu", + "ZqS7", + "aYhs", + "bwKr" + ], + "texture": 0 + }, + "FXCU1EW3": { + "uv": { + "Wsoy": [ + 0, + 1 + ], + "wQVu": [ + 1, + 1 + ], + "90t7": [ + 1, + 0 + ], + "6xXS": [ + 0, + 0 + ] + }, + "vertices": [ + "Wsoy", + "wQVu", + "90t7", + "6xXS" + ], + "texture": 0 + }, + "PmlcoRwH": { + "uv": { + "aYhs": [ + 0, + 1 + ], + "bDKn": [ + 1, + 1 + ], + "qrZA": [ + 1, + 0 + ], + "wQVu": [ + 0, + 0 + ] + }, + "vertices": [ + "aYhs", + "bDKn", + "qrZA", + "wQVu" + ], + "texture": 0 + }, + "eaeR4o3o": { + "uv": { + "90t7": [ + 0, + 1 + ], + "q2ZA": [ + 1, + 1 + ], + "ekbr": [ + 1, + 0 + ], + "ZqS7": [ + 0, + 0 + ] + }, + "vertices": [ + "90t7", + "q2ZA", + "ekbr", + "ZqS7" + ], + "texture": 0 + }, + "dVwM9jPi": { + "uv": { + "ZqS7": [ + 0, + 1 + ], + "ekbr": [ + 1, + 1 + ], + "bDKn": [ + 1, + 0 + ], + "aYhs": [ + 0, + 0 + ] + }, + "vertices": [ + "ZqS7", + "ekbr", + "bDKn", + "aYhs" + ], + "texture": 0 + }, + "hIFUq1M9": { + "uv": { + "wQVu": [ + 0, + 1 + ], + "qrZA": [ + 1, + 1 + ], + "q2ZA": [ + 1, + 0 + ], + "90t7": [ + 0, + 0 + ] + }, + "vertices": [ + "wQVu", + "qrZA", + "q2ZA", + "90t7" + ], + "texture": 0 + }, + "RQcbstL2": { + "uv": { + "bDKn": [ + 0, + 1 + ], + "1Flr": [ + 1, + 1 + ], + "usIS": [ + 1, + 0 + ], + "qrZA": [ + 0, + 0 + ] + }, + "vertices": [ + "bDKn", + "1Flr", + "usIS", + "qrZA" + ], + "texture": 0 + }, + "HV5iF2wv": { + "uv": { + "q2ZA": [ + 0, + 1 + ], + "4A4J": [ + 1, + 1 + ], + "eYzJ": [ + 1, + 0 + ], + "ekbr": [ + 0, + 0 + ] + }, + "vertices": [ + "q2ZA", + "4A4J", + "eYzJ", + "ekbr" + ], + "texture": 0 + }, + "X8pLryfc": { + "uv": { + "ekbr": [ + 0, + 1 + ], + "eYzJ": [ + 1, + 1 + ], + "1Flr": [ + 1, + 0 + ], + "bDKn": [ + 0, + 0 + ] + }, + "vertices": [ + "ekbr", + "eYzJ", + "1Flr", + "bDKn" + ], + "texture": 0 + }, + "WTtEMnsa": { + "uv": { + "qrZA": [ + 0, + 1 + ], + "usIS": [ + 1, + 1 + ], + "4A4J": [ + 1, + 0 + ], + "q2ZA": [ + 0, + 0 + ] + }, + "vertices": [ + "qrZA", + "usIS", + "4A4J", + "q2ZA" + ], + "texture": 0 + }, + "P2fxxvYH": { + "uv": { + "1Flr": [ + 0, + 1 + ], + "ZZmY": [ + 1, + 1 + ], + "dPbZ": [ + 1, + 0 + ], + "usIS": [ + 0, + 0 + ] + }, + "vertices": [ + "1Flr", + "ZZmY", + "dPbZ", + "usIS" + ], + "texture": 0 + }, + "qD43m7o0": { + "uv": { + "4A4J": [ + 0, + 1 + ], + "ynUE": [ + 1, + 1 + ], + "G0Fq": [ + 1, + 0 + ], + "eYzJ": [ + 0, + 0 + ] + }, + "vertices": [ + "4A4J", + "ynUE", + "G0Fq", + "eYzJ" + ], + "texture": 0 + }, + "l456zbsM": { + "uv": { + "eYzJ": [ + 0, + 1 + ], + "G0Fq": [ + 1, + 1 + ], + "ZZmY": [ + 1, + 0 + ], + "1Flr": [ + 0, + 0 + ] + }, + "vertices": [ + "eYzJ", + "G0Fq", + "ZZmY", + "1Flr" + ], + "texture": 0 + }, + "qGQD5RhF": { + "uv": { + "usIS": [ + 0, + 1 + ], + "dPbZ": [ + 1, + 1 + ], + "ynUE": [ + 1, + 0 + ], + "4A4J": [ + 0, + 0 + ] + }, + "vertices": [ + "usIS", + "dPbZ", + "ynUE", + "4A4J" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "76b6672f-a72e-31d7-bdf3-60c56daf5084" + }, + { + "name": "InnerWheel", + "color": 0, + "origin": [ + 0.125, + 6, + -9 + ], + "rotation": [ + 0, + 0, + 90 + ], + "export": true, + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "GiQk": [ + 1.11888, + 0, + 5.625 + ], + "XK87": [ + 1.11888, + 0.25, + 5.625 + ], + "G8LE": [ + 0.94189, + 0, + 4.7352 + ], + "1GGh": [ + 0.94189, + 0.25, + 4.7352 + ], + "pJvS": [ + 3.18631, + 0, + 4.76864 + ], + "NP1j": [ + 3.18631, + 0.25, + 4.76864 + ], + "ndY8": [ + 2.68228, + 0, + 4.01431 + ], + "N9GU": [ + 2.68228, + 0.25, + 4.01431 + ], + "Ivay": [ + 4.76864, + 0, + 3.18631 + ], + "sQcN": [ + 4.76864, + 0.25, + 3.18631 + ], + "77ZN": [ + 4.01431, + 0, + 2.68228 + ], + "vXSi": [ + 4.01431, + 0.25, + 2.68228 + ], + "Zzhh": [ + 5.625, + 0, + 1.11888 + ], + "pyix": [ + 5.625, + 0.25, + 1.11888 + ], + "TyWE": [ + 4.7352, + 0, + 0.94189 + ], + "02To": [ + 4.7352, + 0.25, + 0.94189 + ], + "2DPE": [ + 5.625, + 0, + -1.11888 + ], + "J093": [ + 5.625, + 0.25, + -1.11888 + ], + "NdPz": [ + 4.7352, + 0, + -0.94189 + ], + "7VuD": [ + 4.7352, + 0.25, + -0.94189 + ], + "VpEQ": [ + 4.76864, + 0, + -3.18631 + ], + "gJbI": [ + 4.76864, + 0.25, + -3.18631 + ], + "zPnT": [ + 4.01431, + 0, + -2.68228 + ], + "jzon": [ + 4.01431, + 0.25, + -2.68228 + ], + "oDvs": [ + 3.18631, + 0, + -4.76864 + ], + "5C1d": [ + 3.18631, + 0.25, + -4.76864 + ], + "m1BQ": [ + 2.68228, + 0, + -4.01431 + ], + "tHph": [ + 2.68228, + 0.25, + -4.01431 + ], + "4n7T": [ + 1.11888, + 0, + -5.625 + ], + "KX2n": [ + 1.11888, + 0.25, + -5.625 + ], + "Fw7J": [ + 0.94189, + 0, + -4.7352 + ], + "QcyN": [ + 0.94189, + 0.25, + -4.7352 + ], + "E18z": [ + -1.11888, + 0, + -5.625 + ], + "uY7D": [ + -1.11888, + 0.25, + -5.625 + ], + "KDgO": [ + -0.94189, + 0, + -4.7352 + ], + "dMtn": [ + -0.94189, + 0.25, + -4.7352 + ], + "mRVj": [ + -3.18631, + 0, + -4.76864 + ], + "PIAH": [ + -3.18631, + 0.25, + -4.76864 + ], + "zvyL": [ + -2.68228, + 0, + -4.01431 + ], + "k6cY": [ + -2.68228, + 0.25, + -4.01431 + ], + "oOi4": [ + -4.76864, + 0, + -3.18631 + ], + "w2KJ": [ + -4.76864, + 0.25, + -3.18631 + ], + "NbX5": [ + -4.01431, + 0, + -2.68228 + ], + "wkUt": [ + -4.01431, + 0.25, + -2.68228 + ], + "8njR": [ + -5.625, + 0, + -1.11888 + ], + "wMXP": [ + -5.625, + 0.25, + -1.11888 + ], + "CFOc": [ + -4.7352, + 0, + -0.94189 + ], + "3uGT": [ + -4.7352, + 0.25, + -0.94189 + ], + "CMlz": [ + -5.625, + 0, + 1.11888 + ], + "JkoM": [ + -5.625, + 0.25, + 1.11888 + ], + "Y7hJ": [ + -4.7352, + 0, + 0.94189 + ], + "VohK": [ + -4.7352, + 0.25, + 0.94189 + ], + "NbEz": [ + -4.76864, + 0, + 3.18631 + ], + "CXy9": [ + -4.76864, + 0.25, + 3.18631 + ], + "KNeE": [ + -4.01431, + 0, + 2.68228 + ], + "m78z": [ + -4.01431, + 0.25, + 2.68228 + ], + "TzD5": [ + -3.18631, + 0, + 4.76864 + ], + "myIs": [ + -3.18631, + 0.25, + 4.76864 + ], + "BLJA": [ + -2.68228, + 0, + 4.01431 + ], + "IEAc": [ + -2.68228, + 0.25, + 4.01431 + ], + "vwFk": [ + -1.11888, + 0, + 5.625 + ], + "cD52": [ + -1.11888, + 0.25, + 5.625 + ], + "piUA": [ + -0.94189, + 0, + 4.7352 + ], + "q3Id": [ + -0.94189, + 0.25, + 4.7352 + ] + }, + "faces": { + "imFIA83s": { + "uv": { + "GiQk": [ + 0, + 0.25 + ], + "pJvS": [ + 2.2378, + 0.25 + ], + "NP1j": [ + 2.2378, + 0 + ], + "XK87": [ + 0, + 0 + ] + }, + "vertices": [ + "GiQk", + "pJvS", + "NP1j", + "XK87" + ] + }, + "rzo5wwKk": { + "uv": { + "1GGh": [ + 1, + 0 + ], + "N9GU": [ + 0, + 0 + ], + "ndY8": [ + 0, + 1 + ], + "G8LE": [ + 1, + 1 + ] + }, + "vertices": [ + "1GGh", + "N9GU", + "ndY8", + "G8LE" + ], + "texture": 0 + }, + "gtBVa9r1": { + "uv": { + "G8LE": [ + 0, + 1 + ], + "ndY8": [ + 1, + 1 + ], + "pJvS": [ + 1, + 0 + ], + "GiQk": [ + 0, + 0 + ] + }, + "vertices": [ + "G8LE", + "ndY8", + "pJvS", + "GiQk" + ], + "texture": 0 + }, + "UxXKE3Gp": { + "uv": { + "XK87": [ + 0, + 1 + ], + "NP1j": [ + 1, + 1 + ], + "N9GU": [ + 1, + 0 + ], + "1GGh": [ + 0, + 0 + ] + }, + "vertices": [ + "XK87", + "NP1j", + "N9GU", + "1GGh" + ], + "texture": 0 + }, + "oxss2xVc": { + "uv": { + "pJvS": [ + 0, + 0.25 + ], + "Ivay": [ + 2.2378, + 0.25 + ], + "sQcN": [ + 2.2378, + 0 + ], + "NP1j": [ + 0, + 0 + ] + }, + "vertices": [ + "pJvS", + "Ivay", + "sQcN", + "NP1j" + ] + }, + "23anlHZK": { + "uv": { + "N9GU": [ + 0, + 1 + ], + "vXSi": [ + 1, + 1 + ], + "77ZN": [ + 1, + 0 + ], + "ndY8": [ + 0, + 0 + ] + }, + "vertices": [ + "N9GU", + "vXSi", + "77ZN", + "ndY8" + ], + "texture": 0 + }, + "2M8dQJ4c": { + "uv": { + "ndY8": [ + 0, + 1 + ], + "77ZN": [ + 1, + 1 + ], + "Ivay": [ + 1, + 0 + ], + "pJvS": [ + 0, + 0 + ] + }, + "vertices": [ + "ndY8", + "77ZN", + "Ivay", + "pJvS" + ], + "texture": 0 + }, + "U3r1Cm4v": { + "uv": { + "NP1j": [ + 0, + 1 + ], + "sQcN": [ + 1, + 1 + ], + "vXSi": [ + 1, + 0 + ], + "N9GU": [ + 0, + 0 + ] + }, + "vertices": [ + "NP1j", + "sQcN", + "vXSi", + "N9GU" + ], + "texture": 0 + }, + "0SyKxclC": { + "uv": { + "Ivay": [ + 0, + 0.25 + ], + "Zzhh": [ + 2.2378, + 0.25 + ], + "pyix": [ + 2.2378, + 0 + ], + "sQcN": [ + 0, + 0 + ] + }, + "vertices": [ + "Ivay", + "Zzhh", + "pyix", + "sQcN" + ] + }, + "VmQmHKUn": { + "uv": { + "vXSi": [ + 0, + 1 + ], + "02To": [ + 1, + 1 + ], + "TyWE": [ + 1, + 0 + ], + "77ZN": [ + 0, + 0 + ] + }, + "vertices": [ + "vXSi", + "02To", + "TyWE", + "77ZN" + ], + "texture": 0 + }, + "xEkseuN7": { + "uv": { + "77ZN": [ + 0, + 1 + ], + "TyWE": [ + 1, + 1 + ], + "Zzhh": [ + 1, + 0 + ], + "Ivay": [ + 0, + 0 + ] + }, + "vertices": [ + "77ZN", + "TyWE", + "Zzhh", + "Ivay" + ], + "texture": 0 + }, + "vp8rmiyv": { + "uv": { + "sQcN": [ + 0, + 1 + ], + "pyix": [ + 1, + 1 + ], + "02To": [ + 1, + 0 + ], + "vXSi": [ + 0, + 0 + ] + }, + "vertices": [ + "sQcN", + "pyix", + "02To", + "vXSi" + ], + "texture": 0 + }, + "NksLDcAq": { + "uv": { + "Zzhh": [ + 0, + 0.25 + ], + "2DPE": [ + 2.2378, + 0.25 + ], + "J093": [ + 2.2378, + 0 + ], + "pyix": [ + 0, + 0 + ] + }, + "vertices": [ + "Zzhh", + "2DPE", + "J093", + "pyix" + ] + }, + "gEWc8bTj": { + "uv": { + "02To": [ + 0, + 1 + ], + "7VuD": [ + 1, + 1 + ], + "NdPz": [ + 1, + 0 + ], + "TyWE": [ + 0, + 0 + ] + }, + "vertices": [ + "02To", + "7VuD", + "NdPz", + "TyWE" + ], + "texture": 0 + }, + "MsueZ9z3": { + "uv": { + "TyWE": [ + 0, + 1 + ], + "NdPz": [ + 1, + 1 + ], + "2DPE": [ + 1, + 0 + ], + "Zzhh": [ + 0, + 0 + ] + }, + "vertices": [ + "TyWE", + "NdPz", + "2DPE", + "Zzhh" + ], + "texture": 0 + }, + "9saJEcix": { + "uv": { + "pyix": [ + 0, + 1 + ], + "J093": [ + 1, + 1 + ], + "7VuD": [ + 1, + 0 + ], + "02To": [ + 0, + 0 + ] + }, + "vertices": [ + "pyix", + "J093", + "7VuD", + "02To" + ], + "texture": 0 + }, + "1FG6NWaz": { + "uv": { + "2DPE": [ + 0, + 0.25 + ], + "VpEQ": [ + 2.2378, + 0.25 + ], + "gJbI": [ + 2.2378, + 0 + ], + "J093": [ + 0, + 0 + ] + }, + "vertices": [ + "2DPE", + "VpEQ", + "gJbI", + "J093" + ] + }, + "fe1NYNZ5": { + "uv": { + "7VuD": [ + 0, + 1 + ], + "jzon": [ + 1, + 1 + ], + "zPnT": [ + 1, + 0 + ], + "NdPz": [ + 0, + 0 + ] + }, + "vertices": [ + "7VuD", + "jzon", + "zPnT", + "NdPz" + ], + "texture": 0 + }, + "cdAHWyH6": { + "uv": { + "NdPz": [ + 0, + 1 + ], + "zPnT": [ + 1, + 1 + ], + "VpEQ": [ + 1, + 0 + ], + "2DPE": [ + 0, + 0 + ] + }, + "vertices": [ + "NdPz", + "zPnT", + "VpEQ", + "2DPE" + ], + "texture": 0 + }, + "8M7UXgnJ": { + "uv": { + "J093": [ + 0, + 1 + ], + "gJbI": [ + 1, + 1 + ], + "jzon": [ + 1, + 0 + ], + "7VuD": [ + 0, + 0 + ] + }, + "vertices": [ + "J093", + "gJbI", + "jzon", + "7VuD" + ], + "texture": 0 + }, + "ketcJ337": { + "uv": { + "VpEQ": [ + 0, + 0.25 + ], + "oDvs": [ + 2.2378, + 0.25 + ], + "5C1d": [ + 2.2378, + 0 + ], + "gJbI": [ + 0, + 0 + ] + }, + "vertices": [ + "VpEQ", + "oDvs", + "5C1d", + "gJbI" + ] + }, + "GPwwX6Zy": { + "uv": { + "jzon": [ + 0, + 1 + ], + "tHph": [ + 1, + 1 + ], + "m1BQ": [ + 1, + 0 + ], + "zPnT": [ + 0, + 0 + ] + }, + "vertices": [ + "jzon", + "tHph", + "m1BQ", + "zPnT" + ], + "texture": 0 + }, + "vg3fIhaF": { + "uv": { + "zPnT": [ + 0, + 1 + ], + "m1BQ": [ + 1, + 1 + ], + "oDvs": [ + 1, + 0 + ], + "VpEQ": [ + 0, + 0 + ] + }, + "vertices": [ + "zPnT", + "m1BQ", + "oDvs", + "VpEQ" + ], + "texture": 0 + }, + "wFizGrrP": { + "uv": { + "gJbI": [ + 0, + 1 + ], + "5C1d": [ + 1, + 1 + ], + "tHph": [ + 1, + 0 + ], + "jzon": [ + 0, + 0 + ] + }, + "vertices": [ + "gJbI", + "5C1d", + "tHph", + "jzon" + ], + "texture": 0 + }, + "Kt0FOtee": { + "uv": { + "oDvs": [ + 0, + 0.25 + ], + "4n7T": [ + 2.2378, + 0.25 + ], + "KX2n": [ + 2.2378, + 0 + ], + "5C1d": [ + 0, + 0 + ] + }, + "vertices": [ + "oDvs", + "4n7T", + "KX2n", + "5C1d" + ] + }, + "OEpP2ipc": { + "uv": { + "tHph": [ + 0, + 1 + ], + "QcyN": [ + 1, + 1 + ], + "Fw7J": [ + 1, + 0 + ], + "m1BQ": [ + 0, + 0 + ] + }, + "vertices": [ + "tHph", + "QcyN", + "Fw7J", + "m1BQ" + ], + "texture": 0 + }, + "nkgPIqju": { + "uv": { + "m1BQ": [ + 0, + 1 + ], + "Fw7J": [ + 1, + 1 + ], + "4n7T": [ + 1, + 0 + ], + "oDvs": [ + 0, + 0 + ] + }, + "vertices": [ + "m1BQ", + "Fw7J", + "4n7T", + "oDvs" + ], + "texture": 0 + }, + "lzWDtUe6": { + "uv": { + "5C1d": [ + 0, + 1 + ], + "KX2n": [ + 1, + 1 + ], + "QcyN": [ + 1, + 0 + ], + "tHph": [ + 0, + 0 + ] + }, + "vertices": [ + "5C1d", + "KX2n", + "QcyN", + "tHph" + ], + "texture": 0 + }, + "DhtjSyFv": { + "uv": { + "4n7T": [ + 0, + 0.25 + ], + "E18z": [ + 2.2378, + 0.25 + ], + "uY7D": [ + 2.2378, + 0 + ], + "KX2n": [ + 0, + 0 + ] + }, + "vertices": [ + "4n7T", + "E18z", + "uY7D", + "KX2n" + ] + }, + "HIGGksTW": { + "uv": { + "QcyN": [ + 0, + 1 + ], + "dMtn": [ + 1, + 1 + ], + "KDgO": [ + 1, + 0 + ], + "Fw7J": [ + 0, + 0 + ] + }, + "vertices": [ + "QcyN", + "dMtn", + "KDgO", + "Fw7J" + ], + "texture": 0 + }, + "AiVmTJBX": { + "uv": { + "Fw7J": [ + 0, + 1 + ], + "KDgO": [ + 1, + 1 + ], + "E18z": [ + 1, + 0 + ], + "4n7T": [ + 0, + 0 + ] + }, + "vertices": [ + "Fw7J", + "KDgO", + "E18z", + "4n7T" + ], + "texture": 0 + }, + "zDY7Y1VW": { + "uv": { + "KX2n": [ + 0, + 1 + ], + "uY7D": [ + 1, + 1 + ], + "dMtn": [ + 1, + 0 + ], + "QcyN": [ + 0, + 0 + ] + }, + "vertices": [ + "KX2n", + "uY7D", + "dMtn", + "QcyN" + ], + "texture": 0 + }, + "viQzzkVs": { + "uv": { + "E18z": [ + 0, + 0.25 + ], + "mRVj": [ + 2.2378, + 0.25 + ], + "PIAH": [ + 2.2378, + 0 + ], + "uY7D": [ + 0, + 0 + ] + }, + "vertices": [ + "E18z", + "mRVj", + "PIAH", + "uY7D" + ] + }, + "nHGdrcuI": { + "uv": { + "dMtn": [ + 0, + 1 + ], + "k6cY": [ + 1, + 1 + ], + "zvyL": [ + 1, + 0 + ], + "KDgO": [ + 0, + 0 + ] + }, + "vertices": [ + "dMtn", + "k6cY", + "zvyL", + "KDgO" + ], + "texture": 0 + }, + "lG7oOunZ": { + "uv": { + "KDgO": [ + 0, + 1 + ], + "zvyL": [ + 1, + 1 + ], + "mRVj": [ + 1, + 0 + ], + "E18z": [ + 0, + 0 + ] + }, + "vertices": [ + "KDgO", + "zvyL", + "mRVj", + "E18z" + ], + "texture": 0 + }, + "CcyWrbLe": { + "uv": { + "uY7D": [ + 0, + 1 + ], + "PIAH": [ + 1, + 1 + ], + "k6cY": [ + 1, + 0 + ], + "dMtn": [ + 0, + 0 + ] + }, + "vertices": [ + "uY7D", + "PIAH", + "k6cY", + "dMtn" + ], + "texture": 0 + }, + "zxFA3IV3": { + "uv": { + "mRVj": [ + 0, + 0.25 + ], + "oOi4": [ + 2.2378, + 0.25 + ], + "w2KJ": [ + 2.2378, + 0 + ], + "PIAH": [ + 0, + 0 + ] + }, + "vertices": [ + "mRVj", + "oOi4", + "w2KJ", + "PIAH" + ] + }, + "d0bfs3zv": { + "uv": { + "k6cY": [ + 0, + 1 + ], + "wkUt": [ + 1, + 1 + ], + "NbX5": [ + 1, + 0 + ], + "zvyL": [ + 0, + 0 + ] + }, + "vertices": [ + "k6cY", + "wkUt", + "NbX5", + "zvyL" + ], + "texture": 0 + }, + "8O9oc1oL": { + "uv": { + "zvyL": [ + 0, + 1 + ], + "NbX5": [ + 1, + 1 + ], + "oOi4": [ + 1, + 0 + ], + "mRVj": [ + 0, + 0 + ] + }, + "vertices": [ + "zvyL", + "NbX5", + "oOi4", + "mRVj" + ], + "texture": 0 + }, + "abCzhPrz": { + "uv": { + "PIAH": [ + 0, + 1 + ], + "w2KJ": [ + 1, + 1 + ], + "wkUt": [ + 1, + 0 + ], + "k6cY": [ + 0, + 0 + ] + }, + "vertices": [ + "PIAH", + "w2KJ", + "wkUt", + "k6cY" + ], + "texture": 0 + }, + "ePN6qAJJ": { + "uv": { + "oOi4": [ + 0, + 0.25 + ], + "8njR": [ + 2.2378, + 0.25 + ], + "wMXP": [ + 2.2378, + 0 + ], + "w2KJ": [ + 0, + 0 + ] + }, + "vertices": [ + "oOi4", + "8njR", + "wMXP", + "w2KJ" + ] + }, + "qh7rhABr": { + "uv": { + "wkUt": [ + 0, + 1 + ], + "3uGT": [ + 1, + 1 + ], + "CFOc": [ + 1, + 0 + ], + "NbX5": [ + 0, + 0 + ] + }, + "vertices": [ + "wkUt", + "3uGT", + "CFOc", + "NbX5" + ], + "texture": 0 + }, + "EpUuHNi5": { + "uv": { + "NbX5": [ + 0, + 1 + ], + "CFOc": [ + 1, + 1 + ], + "8njR": [ + 1, + 0 + ], + "oOi4": [ + 0, + 0 + ] + }, + "vertices": [ + "NbX5", + "CFOc", + "8njR", + "oOi4" + ], + "texture": 0 + }, + "S510uN6x": { + "uv": { + "w2KJ": [ + 0, + 1 + ], + "wMXP": [ + 1, + 1 + ], + "3uGT": [ + 1, + 0 + ], + "wkUt": [ + 0, + 0 + ] + }, + "vertices": [ + "w2KJ", + "wMXP", + "3uGT", + "wkUt" + ], + "texture": 0 + }, + "S9qgeI3D": { + "uv": { + "8njR": [ + 0, + 0.25 + ], + "CMlz": [ + 2.2378, + 0.25 + ], + "JkoM": [ + 2.2378, + 0 + ], + "wMXP": [ + 0, + 0 + ] + }, + "vertices": [ + "8njR", + "CMlz", + "JkoM", + "wMXP" + ] + }, + "a0d7Ev8s": { + "uv": { + "3uGT": [ + 0, + 1 + ], + "VohK": [ + 1, + 1 + ], + "Y7hJ": [ + 1, + 0 + ], + "CFOc": [ + 0, + 0 + ] + }, + "vertices": [ + "3uGT", + "VohK", + "Y7hJ", + "CFOc" + ], + "texture": 0 + }, + "HAhSBiMh": { + "uv": { + "CFOc": [ + 0, + 1 + ], + "Y7hJ": [ + 1, + 1 + ], + "CMlz": [ + 1, + 0 + ], + "8njR": [ + 0, + 0 + ] + }, + "vertices": [ + "CFOc", + "Y7hJ", + "CMlz", + "8njR" + ], + "texture": 0 + }, + "Y0WWkVrM": { + "uv": { + "wMXP": [ + 0, + 1 + ], + "JkoM": [ + 1, + 1 + ], + "VohK": [ + 1, + 0 + ], + "3uGT": [ + 0, + 0 + ] + }, + "vertices": [ + "wMXP", + "JkoM", + "VohK", + "3uGT" + ], + "texture": 0 + }, + "c0sgLHih": { + "uv": { + "CMlz": [ + 0, + 0.25 + ], + "NbEz": [ + 2.2378, + 0.25 + ], + "CXy9": [ + 2.2378, + 0 + ], + "JkoM": [ + 0, + 0 + ] + }, + "vertices": [ + "CMlz", + "NbEz", + "CXy9", + "JkoM" + ] + }, + "dbjISUoX": { + "uv": { + "VohK": [ + 0, + 1 + ], + "m78z": [ + 1, + 1 + ], + "KNeE": [ + 1, + 0 + ], + "Y7hJ": [ + 0, + 0 + ] + }, + "vertices": [ + "VohK", + "m78z", + "KNeE", + "Y7hJ" + ], + "texture": 0 + }, + "NnwCZ9JL": { + "uv": { + "Y7hJ": [ + 0, + 1 + ], + "KNeE": [ + 1, + 1 + ], + "NbEz": [ + 1, + 0 + ], + "CMlz": [ + 0, + 0 + ] + }, + "vertices": [ + "Y7hJ", + "KNeE", + "NbEz", + "CMlz" + ], + "texture": 0 + }, + "vEp0yjxH": { + "uv": { + "JkoM": [ + 0, + 1 + ], + "CXy9": [ + 1, + 1 + ], + "m78z": [ + 1, + 0 + ], + "VohK": [ + 0, + 0 + ] + }, + "vertices": [ + "JkoM", + "CXy9", + "m78z", + "VohK" + ], + "texture": 0 + }, + "mREemUJQ": { + "uv": { + "NbEz": [ + 0, + 0.25 + ], + "TzD5": [ + 2.2378, + 0.25 + ], + "myIs": [ + 2.2378, + 0 + ], + "CXy9": [ + 0, + 0 + ] + }, + "vertices": [ + "NbEz", + "TzD5", + "myIs", + "CXy9" + ] + }, + "nZSIEEXL": { + "uv": { + "m78z": [ + 0, + 1 + ], + "IEAc": [ + 1, + 1 + ], + "BLJA": [ + 1, + 0 + ], + "KNeE": [ + 0, + 0 + ] + }, + "vertices": [ + "m78z", + "IEAc", + "BLJA", + "KNeE" + ], + "texture": 0 + }, + "gWBzCkAL": { + "uv": { + "KNeE": [ + 0, + 1 + ], + "BLJA": [ + 1, + 1 + ], + "TzD5": [ + 1, + 0 + ], + "NbEz": [ + 0, + 0 + ] + }, + "vertices": [ + "KNeE", + "BLJA", + "TzD5", + "NbEz" + ], + "texture": 0 + }, + "KSGdb9K0": { + "uv": { + "CXy9": [ + 0, + 1 + ], + "myIs": [ + 1, + 1 + ], + "IEAc": [ + 1, + 0 + ], + "m78z": [ + 0, + 0 + ] + }, + "vertices": [ + "CXy9", + "myIs", + "IEAc", + "m78z" + ], + "texture": 0 + }, + "v6K5daXL": { + "uv": { + "TzD5": [ + 0, + 0.25 + ], + "vwFk": [ + 2.2378, + 0.25 + ], + "cD52": [ + 2.2378, + 0 + ], + "myIs": [ + 0, + 0 + ] + }, + "vertices": [ + "TzD5", + "vwFk", + "cD52", + "myIs" + ] + }, + "aSOEZlVV": { + "uv": { + "IEAc": [ + 0, + 1 + ], + "q3Id": [ + 1, + 1 + ], + "piUA": [ + 1, + 0 + ], + "BLJA": [ + 0, + 0 + ] + }, + "vertices": [ + "IEAc", + "q3Id", + "piUA", + "BLJA" + ], + "texture": 0 + }, + "eDhfAKgq": { + "uv": { + "BLJA": [ + 0, + 1 + ], + "piUA": [ + 1, + 1 + ], + "vwFk": [ + 1, + 0 + ], + "TzD5": [ + 0, + 0 + ] + }, + "vertices": [ + "BLJA", + "piUA", + "vwFk", + "TzD5" + ], + "texture": 0 + }, + "5YK6gBDR": { + "uv": { + "myIs": [ + 0, + 1 + ], + "cD52": [ + 1, + 1 + ], + "q3Id": [ + 1, + 0 + ], + "IEAc": [ + 0, + 0 + ] + }, + "vertices": [ + "myIs", + "cD52", + "q3Id", + "IEAc" + ], + "texture": 0 + }, + "y2bTn5Ef": { + "uv": { + "vwFk": [ + 0, + 0.25 + ], + "GiQk": [ + 2.2378, + 0.25 + ], + "XK87": [ + 2.2378, + 0 + ], + "cD52": [ + 0, + 0 + ] + }, + "vertices": [ + "vwFk", + "GiQk", + "XK87", + "cD52" + ] + }, + "fw50wh7D": { + "uv": { + "q3Id": [ + 0, + 1 + ], + "1GGh": [ + 1, + 1 + ], + "G8LE": [ + 1, + 0 + ], + "piUA": [ + 0, + 0 + ] + }, + "vertices": [ + "q3Id", + "1GGh", + "G8LE", + "piUA" + ], + "texture": 0 + }, + "4u00b2ub": { + "uv": { + "piUA": [ + 0, + 1 + ], + "G8LE": [ + 1, + 1 + ], + "GiQk": [ + 1, + 0 + ], + "vwFk": [ + 0, + 0 + ] + }, + "vertices": [ + "piUA", + "G8LE", + "GiQk", + "vwFk" + ], + "texture": 0 + }, + "Fhn6EKJ3": { + "uv": { + "cD52": [ + 0, + 1 + ], + "XK87": [ + 1, + 1 + ], + "1GGh": [ + 1, + 0 + ], + "q3Id": [ + 0, + 0 + ] + }, + "vertices": [ + "cD52", + "XK87", + "1GGh", + "q3Id" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "a1c9ecf2-07eb-065b-64e6-e64a348693e0" + }, + { + "name": "ShaftCenter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 5.75, + -9.25 + ], + "to": [ + 1, + 6.25, + -8.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.5, + 6, + -9 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "df03351e-f1d1-3490-c1b7-2d264099f9c3" + }, + { + "name": "Spoke1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.9, + 5.8, + -9.05 + ], + "to": [ + -0.8, + 10.8, + -8.95 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + -10 + ], + "origin": [ + -0.85, + 6, + -9 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b8343032-c7e6-b65b-06df-6b292aa9eedf" + }, + { + "name": "Spoke2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.9, + 5.8, + -9.05 + ], + "to": [ + -0.8, + 10.8, + -8.95 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 44.56145, + 7.05302, + -7.10708 + ], + "origin": [ + -0.85, + 6, + -9 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "68d9a80b-6c25-09ad-d937-97085f938380" + }, + { + "name": "Spoke3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.9, + 5.8, + -9.05 + ], + "to": [ + -0.8, + 10.8, + -8.95 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 90, + 10, + 0 + ], + "origin": [ + -0.85, + 6, + -9 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "0eb0ba20-b16f-8cc8-3912-3f0b680978f0" + }, + { + "name": "Spoke4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.9, + 5.8, + -9.05 + ], + "to": [ + -0.8, + 10.8, + -8.95 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 135.43855, + 7.05302, + 7.10708 + ], + "origin": [ + -0.85, + 6, + -9 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "7e07df9b-588c-c9da-50b6-b33f3d9a3617" + }, + { + "name": "Spoke5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.9, + 5.8, + -9.05 + ], + "to": [ + -0.8, + 10.8, + -8.95 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -180, + 0, + 10 + ], + "origin": [ + -0.85, + 6, + -9 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "aad4c206-9681-bbdb-50e1-d9bb6fbb1ebe" + }, + { + "name": "Spoke6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.9, + 5.8, + -9.05 + ], + "to": [ + -0.8, + 10.8, + -8.95 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -135.43855, + -7.05302, + 7.10708 + ], + "origin": [ + -0.85, + 6, + -9 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "7a74a0cd-80ff-2abf-5cde-fdc11c1c1446" + }, + { + "name": "Spoke7", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.9, + 5.8, + -9.05 + ], + "to": [ + -0.8, + 10.8, + -8.95 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -90, + -10, + 0 + ], + "origin": [ + -0.85, + 6, + -9 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "0b6796c6-a501-1892-f529-813472ac4eeb" + }, + { + "name": "Spoke8", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.9, + 5.8, + -9.05 + ], + "to": [ + -0.8, + 10.8, + -8.95 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -44.56145, + -7.05302, + -7.10708 + ], + "origin": [ + -0.85, + 6, + -9 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "a42016c9-718a-a02f-8308-9408020c1116" + }, + { + "name": "Spoke9", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.8, + 5.8, + -9.05 + ], + "to": [ + 0.9, + 10.8, + -8.95 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -22.19157, + 3.81024, + 9.25249 + ], + "origin": [ + 0.85, + 6, + -9 + ], + "faces": { + "north": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "07e25c4e-8c0f-250d-57ea-9dcf739d805e" + }, + { + "name": "Spoke10", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.8, + 5.8, + -9.05 + ], + "to": [ + 0.9, + 10.8, + -8.95 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 22.19157, + -3.81024, + 9.25249 + ], + "origin": [ + 0.85, + 6, + -9 + ], + "faces": { + "north": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d8afdb38-cb42-fade-0547-600191127907" + }, + { + "name": "Spoke11", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.8, + 5.8, + -9.05 + ], + "to": [ + 0.9, + 10.8, + -8.95 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 67.18821, + -9.23186, + 3.86032 + ], + "origin": [ + 0.85, + 6, + -9 + ], + "faces": { + "north": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "93ccf627-8e39-f69b-8a7b-217e4c8582fa" + }, + { + "name": "Spoke12", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.8, + 5.8, + -9.05 + ], + "to": [ + 0.9, + 10.8, + -8.95 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 112.81179, + -9.23186, + -3.86032 + ], + "origin": [ + 0.85, + 6, + -9 + ], + "faces": { + "north": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "42476674-1299-d71b-c279-a46956c488f0" + }, + { + "name": "Spoke13", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.8, + 5.8, + -9.05 + ], + "to": [ + 0.9, + 10.8, + -8.95 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 157.80843, + -3.81024, + -9.25249 + ], + "origin": [ + 0.85, + 6, + -9 + ], + "faces": { + "north": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6d574d80-812b-84f0-c79d-cf084923d552" + }, + { + "name": "Spoke14", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.8, + 5.8, + -9.05 + ], + "to": [ + 0.9, + 10.8, + -8.95 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -157.80843, + 3.81024, + -9.25249 + ], + "origin": [ + 0.85, + 6, + -9 + ], + "faces": { + "north": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "db29414e-e09d-a9fc-9bd3-5670c14922c6" + }, + { + "name": "Spoke15", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.8, + 5.8, + -9.05 + ], + "to": [ + 0.9, + 10.8, + -8.95 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -112.81179, + 9.23186, + -3.86032 + ], + "origin": [ + 0.85, + 6, + -9 + ], + "faces": { + "north": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "74f19ec5-5111-1919-cff0-7de0ebab618f" + }, + { + "name": "Spoke16", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.8, + 5.8, + -9.05 + ], + "to": [ + 0.9, + 10.8, + -8.95 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -67.18821, + 9.23186, + 3.86032 + ], + "origin": [ + 0.85, + 6, + -9 + ], + "faces": { + "north": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5ed0cf9a-b704-af67-2bf2-cee3db8d3dea" + }, + { + "name": "OuterWheel", + "color": 0, + "origin": [ + 0.5, + 6, + 9 + ], + "rotation": [ + 0, + 0, + 90 + ], + "export": true, + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "ZZmY": [ + 1.19347, + 0, + 6 + ], + "dPbZ": [ + 1.19347, + 1, + 6 + ], + "G0Fq": [ + 1.1174, + 0, + 5.61755 + ], + "ynUE": [ + 1.1174, + 1, + 5.61755 + ], + "Qmib": [ + 3.39873, + 0, + 5.08655 + ], + "meUe": [ + 3.39873, + 1, + 5.08655 + ], + "7kcE": [ + 3.18208, + 0, + 4.76233 + ], + "E9HH": [ + 3.18208, + 1, + 4.76233 + ], + "RQIc": [ + 5.08655, + 0, + 3.39873 + ], + "HIIg": [ + 5.08655, + 1, + 3.39873 + ], + "nicd": [ + 4.76233, + 0, + 3.18208 + ], + "FHDK": [ + 4.76233, + 1, + 3.18208 + ], + "3gRT": [ + 6, + 0, + 1.19347 + ], + "WJE5": [ + 6, + 1, + 1.19347 + ], + "EYN6": [ + 5.61755, + 0, + 1.1174 + ], + "5J77": [ + 5.61755, + 1, + 1.1174 + ], + "Bp9M": [ + 6, + 0, + -1.19347 + ], + "QpaL": [ + 6, + 1, + -1.19347 + ], + "w9Hq": [ + 5.61755, + 0, + -1.1174 + ], + "1Ipo": [ + 5.61755, + 1, + -1.1174 + ], + "zM1P": [ + 5.08655, + 0, + -3.39873 + ], + "J81t": [ + 5.08655, + 1, + -3.39873 + ], + "i1be": [ + 4.76233, + 0, + -3.18208 + ], + "e7Ub": [ + 4.76233, + 1, + -3.18208 + ], + "ggb5": [ + 3.39873, + 0, + -5.08655 + ], + "XZ6T": [ + 3.39873, + 1, + -5.08655 + ], + "5hE7": [ + 3.18208, + 0, + -4.76233 + ], + "NDpS": [ + 3.18208, + 1, + -4.76233 + ], + "HOSZ": [ + 1.19347, + 0, + -6 + ], + "CaF3": [ + 1.19347, + 1, + -6 + ], + "fyoA": [ + 1.1174, + 0, + -5.61755 + ], + "UgoC": [ + 1.1174, + 1, + -5.61755 + ], + "gxsC": [ + -1.19347, + 0, + -6 + ], + "50TU": [ + -1.19347, + 1, + -6 + ], + "22NL": [ + -1.1174, + 0, + -5.61755 + ], + "p6mu": [ + -1.1174, + 1, + -5.61755 + ], + "2D4b": [ + -3.39873, + 0, + -5.08655 + ], + "DgDb": [ + -3.39873, + 1, + -5.08655 + ], + "UTen": [ + -3.18208, + 0, + -4.76233 + ], + "fJPN": [ + -3.18208, + 1, + -4.76233 + ], + "Vr1W": [ + -5.08655, + 0, + -3.39873 + ], + "t9ti": [ + -5.08655, + 1, + -3.39873 + ], + "JSaz": [ + -4.76233, + 0, + -3.18208 + ], + "S9dQ": [ + -4.76233, + 1, + -3.18208 + ], + "oMVc": [ + -6, + 0, + -1.19347 + ], + "zhzf": [ + -6, + 1, + -1.19347 + ], + "YYyl": [ + -5.61755, + 0, + -1.1174 + ], + "OchC": [ + -5.61755, + 1, + -1.1174 + ], + "bwKr": [ + -6, + 0, + 1.19347 + ], + "Wsoy": [ + -6, + 1, + 1.19347 + ], + "0fqu": [ + -5.61755, + 0, + 1.1174 + ], + "6xXS": [ + -5.61755, + 1, + 1.1174 + ], + "aYhs": [ + -5.08655, + 0, + 3.39873 + ], + "wQVu": [ + -5.08655, + 1, + 3.39873 + ], + "ZqS7": [ + -4.76233, + 0, + 3.18208 + ], + "90t7": [ + -4.76233, + 1, + 3.18208 + ], + "bDKn": [ + -3.39873, + 0, + 5.08655 + ], + "qrZA": [ + -3.39873, + 1, + 5.08655 + ], + "ekbr": [ + -3.18208, + 0, + 4.76233 + ], + "q2ZA": [ + -3.18208, + 1, + 4.76233 + ], + "1Flr": [ + -1.19347, + 0, + 6 + ], + "usIS": [ + -1.19347, + 1, + 6 + ], + "eYzJ": [ + -1.1174, + 0, + 5.61755 + ], + "4A4J": [ + -1.1174, + 1, + 5.61755 + ] + }, + "faces": { + "tSw3wz5U": { + "uv": { + "ZZmY": [ + 0, + 1 + ], + "Qmib": [ + 1, + 1 + ], + "meUe": [ + 1, + 0 + ], + "dPbZ": [ + 0, + 0 + ] + }, + "vertices": [ + "ZZmY", + "Qmib", + "meUe", + "dPbZ" + ], + "texture": 0 + }, + "eHlBQRzD": { + "uv": { + "ynUE": [ + 0, + 1 + ], + "E9HH": [ + 1, + 1 + ], + "7kcE": [ + 1, + 0 + ], + "G0Fq": [ + 0, + 0 + ] + }, + "vertices": [ + "ynUE", + "E9HH", + "7kcE", + "G0Fq" + ], + "texture": 0 + }, + "MN1Yq5Qz": { + "uv": { + "G0Fq": [ + 0, + 1 + ], + "7kcE": [ + 1, + 1 + ], + "Qmib": [ + 1, + 0 + ], + "ZZmY": [ + 0, + 0 + ] + }, + "vertices": [ + "G0Fq", + "7kcE", + "Qmib", + "ZZmY" + ], + "texture": 0 + }, + "gDpya5oy": { + "uv": { + "dPbZ": [ + 0, + 1 + ], + "meUe": [ + 1, + 1 + ], + "E9HH": [ + 1, + 0 + ], + "ynUE": [ + 0, + 0 + ] + }, + "vertices": [ + "dPbZ", + "meUe", + "E9HH", + "ynUE" + ], + "texture": 0 + }, + "4gtbI5w1": { + "uv": { + "Qmib": [ + 0, + 1 + ], + "RQIc": [ + 1, + 1 + ], + "HIIg": [ + 1, + 0 + ], + "meUe": [ + 0, + 0 + ] + }, + "vertices": [ + "Qmib", + "RQIc", + "HIIg", + "meUe" + ], + "texture": 0 + }, + "y7XwKXLo": { + "uv": { + "E9HH": [ + 0, + 1 + ], + "FHDK": [ + 1, + 1 + ], + "nicd": [ + 1, + 0 + ], + "7kcE": [ + 0, + 0 + ] + }, + "vertices": [ + "E9HH", + "FHDK", + "nicd", + "7kcE" + ], + "texture": 0 + }, + "Gh143xUe": { + "uv": { + "7kcE": [ + 0, + 1 + ], + "nicd": [ + 1, + 1 + ], + "RQIc": [ + 1, + 0 + ], + "Qmib": [ + 0, + 0 + ] + }, + "vertices": [ + "7kcE", + "nicd", + "RQIc", + "Qmib" + ], + "texture": 0 + }, + "bpjL26jO": { + "uv": { + "meUe": [ + 0, + 1 + ], + "HIIg": [ + 1, + 1 + ], + "FHDK": [ + 1, + 0 + ], + "E9HH": [ + 0, + 0 + ] + }, + "vertices": [ + "meUe", + "HIIg", + "FHDK", + "E9HH" + ], + "texture": 0 + }, + "BWNNMYAt": { + "uv": { + "RQIc": [ + 0, + 1 + ], + "3gRT": [ + 1, + 1 + ], + "WJE5": [ + 1, + 0 + ], + "HIIg": [ + 0, + 0 + ] + }, + "vertices": [ + "RQIc", + "3gRT", + "WJE5", + "HIIg" + ], + "texture": 0 + }, + "YGKzCqkj": { + "uv": { + "FHDK": [ + 0, + 1 + ], + "5J77": [ + 1, + 1 + ], + "EYN6": [ + 1, + 0 + ], + "nicd": [ + 0, + 0 + ] + }, + "vertices": [ + "FHDK", + "5J77", + "EYN6", + "nicd" + ], + "texture": 0 + }, + "lCydo9pf": { + "uv": { + "nicd": [ + 0, + 1 + ], + "EYN6": [ + 1, + 1 + ], + "3gRT": [ + 1, + 0 + ], + "RQIc": [ + 0, + 0 + ] + }, + "vertices": [ + "nicd", + "EYN6", + "3gRT", + "RQIc" + ], + "texture": 0 + }, + "je7KVDuT": { + "uv": { + "HIIg": [ + 0, + 1 + ], + "WJE5": [ + 1, + 1 + ], + "5J77": [ + 1, + 0 + ], + "FHDK": [ + 0, + 0 + ] + }, + "vertices": [ + "HIIg", + "WJE5", + "5J77", + "FHDK" + ], + "texture": 0 + }, + "5Hkq7Mcx": { + "uv": { + "3gRT": [ + 0, + 1 + ], + "Bp9M": [ + 1, + 1 + ], + "QpaL": [ + 1, + 0 + ], + "WJE5": [ + 0, + 0 + ] + }, + "vertices": [ + "3gRT", + "Bp9M", + "QpaL", + "WJE5" + ], + "texture": 0 + }, + "H2MzJuqN": { + "uv": { + "5J77": [ + 0, + 1 + ], + "1Ipo": [ + 1, + 1 + ], + "w9Hq": [ + 1, + 0 + ], + "EYN6": [ + 0, + 0 + ] + }, + "vertices": [ + "5J77", + "1Ipo", + "w9Hq", + "EYN6" + ], + "texture": 0 + }, + "TzsBPAcy": { + "uv": { + "EYN6": [ + 0, + 1 + ], + "w9Hq": [ + 1, + 1 + ], + "Bp9M": [ + 1, + 0 + ], + "3gRT": [ + 0, + 0 + ] + }, + "vertices": [ + "EYN6", + "w9Hq", + "Bp9M", + "3gRT" + ], + "texture": 0 + }, + "ui8rHOpn": { + "uv": { + "WJE5": [ + 0, + 1 + ], + "QpaL": [ + 1, + 1 + ], + "1Ipo": [ + 1, + 0 + ], + "5J77": [ + 0, + 0 + ] + }, + "vertices": [ + "WJE5", + "QpaL", + "1Ipo", + "5J77" + ], + "texture": 0 + }, + "esS4zMar": { + "uv": { + "Bp9M": [ + 1, + 1 + ], + "zM1P": [ + 0, + 1 + ], + "J81t": [ + 0, + 0 + ], + "QpaL": [ + 1, + 0 + ] + }, + "vertices": [ + "Bp9M", + "zM1P", + "J81t", + "QpaL" + ], + "texture": 0 + }, + "nccDdDzB": { + "uv": { + "1Ipo": [ + 0, + 1 + ], + "e7Ub": [ + 1, + 1 + ], + "i1be": [ + 1, + 0 + ], + "w9Hq": [ + 0, + 0 + ] + }, + "vertices": [ + "1Ipo", + "e7Ub", + "i1be", + "w9Hq" + ], + "texture": 0 + }, + "D9OwR4lb": { + "uv": { + "w9Hq": [ + 0, + 1 + ], + "i1be": [ + 1, + 1 + ], + "zM1P": [ + 1, + 0 + ], + "Bp9M": [ + 0, + 0 + ] + }, + "vertices": [ + "w9Hq", + "i1be", + "zM1P", + "Bp9M" + ], + "texture": 0 + }, + "kWtsglZl": { + "uv": { + "QpaL": [ + 0, + 1 + ], + "J81t": [ + 1, + 1 + ], + "e7Ub": [ + 1, + 0 + ], + "1Ipo": [ + 0, + 0 + ] + }, + "vertices": [ + "QpaL", + "J81t", + "e7Ub", + "1Ipo" + ], + "texture": 0 + }, + "3vx7B2TV": { + "uv": { + "zM1P": [ + 0, + 1 + ], + "ggb5": [ + 1, + 1 + ], + "XZ6T": [ + 1, + 0 + ], + "J81t": [ + 0, + 0 + ] + }, + "vertices": [ + "zM1P", + "ggb5", + "XZ6T", + "J81t" + ], + "texture": 0 + }, + "Ksd0ddRd": { + "uv": { + "e7Ub": [ + 0, + 1 + ], + "NDpS": [ + 1, + 1 + ], + "5hE7": [ + 1, + 0 + ], + "i1be": [ + 0, + 0 + ] + }, + "vertices": [ + "e7Ub", + "NDpS", + "5hE7", + "i1be" + ], + "texture": 0 + }, + "ezwQwODo": { + "uv": { + "i1be": [ + 0, + 1 + ], + "5hE7": [ + 1, + 1 + ], + "ggb5": [ + 1, + 0 + ], + "zM1P": [ + 0, + 0 + ] + }, + "vertices": [ + "i1be", + "5hE7", + "ggb5", + "zM1P" + ], + "texture": 0 + }, + "YRyAvyDU": { + "uv": { + "J81t": [ + 0, + 1 + ], + "XZ6T": [ + 1, + 1 + ], + "NDpS": [ + 1, + 0 + ], + "e7Ub": [ + 0, + 0 + ] + }, + "vertices": [ + "J81t", + "XZ6T", + "NDpS", + "e7Ub" + ], + "texture": 0 + }, + "XyTvsSj1": { + "uv": { + "ggb5": [ + 0, + 1 + ], + "HOSZ": [ + 1, + 1 + ], + "CaF3": [ + 1, + 0 + ], + "XZ6T": [ + 0, + 0 + ] + }, + "vertices": [ + "ggb5", + "HOSZ", + "CaF3", + "XZ6T" + ], + "texture": 0 + }, + "zfTzUDTS": { + "uv": { + "NDpS": [ + 0, + 1 + ], + "UgoC": [ + 1, + 1 + ], + "fyoA": [ + 1, + 0 + ], + "5hE7": [ + 0, + 0 + ] + }, + "vertices": [ + "NDpS", + "UgoC", + "fyoA", + "5hE7" + ], + "texture": 0 + }, + "Ia74SusX": { + "uv": { + "5hE7": [ + 0, + 1 + ], + "fyoA": [ + 1, + 1 + ], + "HOSZ": [ + 1, + 0 + ], + "ggb5": [ + 0, + 0 + ] + }, + "vertices": [ + "5hE7", + "fyoA", + "HOSZ", + "ggb5" + ], + "texture": 0 + }, + "gAMz7mBR": { + "uv": { + "XZ6T": [ + 0, + 1 + ], + "CaF3": [ + 1, + 1 + ], + "UgoC": [ + 1, + 0 + ], + "NDpS": [ + 0, + 0 + ] + }, + "vertices": [ + "XZ6T", + "CaF3", + "UgoC", + "NDpS" + ], + "texture": 0 + }, + "mRgU4snd": { + "uv": { + "HOSZ": [ + 0, + 1 + ], + "gxsC": [ + 1, + 1 + ], + "50TU": [ + 1, + 0 + ], + "CaF3": [ + 0, + 0 + ] + }, + "vertices": [ + "HOSZ", + "gxsC", + "50TU", + "CaF3" + ], + "texture": 0 + }, + "zm8GJBnB": { + "uv": { + "UgoC": [ + 0, + 1 + ], + "p6mu": [ + 1, + 1 + ], + "22NL": [ + 1, + 0 + ], + "fyoA": [ + 0, + 0 + ] + }, + "vertices": [ + "UgoC", + "p6mu", + "22NL", + "fyoA" + ], + "texture": 0 + }, + "5RRfqJVZ": { + "uv": { + "fyoA": [ + 0, + 1 + ], + "22NL": [ + 1, + 1 + ], + "gxsC": [ + 1, + 0 + ], + "HOSZ": [ + 0, + 0 + ] + }, + "vertices": [ + "fyoA", + "22NL", + "gxsC", + "HOSZ" + ], + "texture": 0 + }, + "QdBZwmwn": { + "uv": { + "CaF3": [ + 0, + 1 + ], + "50TU": [ + 1, + 1 + ], + "p6mu": [ + 1, + 0 + ], + "UgoC": [ + 0, + 0 + ] + }, + "vertices": [ + "CaF3", + "50TU", + "p6mu", + "UgoC" + ], + "texture": 0 + }, + "jFz1GAHK": { + "uv": { + "gxsC": [ + 0, + 1 + ], + "2D4b": [ + 1, + 1 + ], + "DgDb": [ + 1, + 0 + ], + "50TU": [ + 0, + 0 + ] + }, + "vertices": [ + "gxsC", + "2D4b", + "DgDb", + "50TU" + ], + "texture": 0 + }, + "wDDx35n5": { + "uv": { + "p6mu": [ + 0, + 1 + ], + "fJPN": [ + 1, + 1 + ], + "UTen": [ + 1, + 0 + ], + "22NL": [ + 0, + 0 + ] + }, + "vertices": [ + "p6mu", + "fJPN", + "UTen", + "22NL" + ], + "texture": 0 + }, + "jQc7BFK5": { + "uv": { + "22NL": [ + 0, + 1 + ], + "UTen": [ + 1, + 1 + ], + "2D4b": [ + 1, + 0 + ], + "gxsC": [ + 0, + 0 + ] + }, + "vertices": [ + "22NL", + "UTen", + "2D4b", + "gxsC" + ], + "texture": 0 + }, + "o6Tz0Kws": { + "uv": { + "50TU": [ + 0, + 1 + ], + "DgDb": [ + 1, + 1 + ], + "fJPN": [ + 1, + 0 + ], + "p6mu": [ + 0, + 0 + ] + }, + "vertices": [ + "50TU", + "DgDb", + "fJPN", + "p6mu" + ], + "texture": 0 + }, + "rSkrlrnh": { + "uv": { + "2D4b": [ + 0, + 1 + ], + "Vr1W": [ + 1, + 1 + ], + "t9ti": [ + 1, + 0 + ], + "DgDb": [ + 0, + 0 + ] + }, + "vertices": [ + "2D4b", + "Vr1W", + "t9ti", + "DgDb" + ], + "texture": 0 + }, + "hPUsZfO6": { + "uv": { + "fJPN": [ + 0, + 1 + ], + "S9dQ": [ + 1, + 1 + ], + "JSaz": [ + 1, + 0 + ], + "UTen": [ + 0, + 0 + ] + }, + "vertices": [ + "fJPN", + "S9dQ", + "JSaz", + "UTen" + ], + "texture": 0 + }, + "sAZ7mkTv": { + "uv": { + "UTen": [ + 0, + 1 + ], + "JSaz": [ + 1, + 1 + ], + "Vr1W": [ + 1, + 0 + ], + "2D4b": [ + 0, + 0 + ] + }, + "vertices": [ + "UTen", + "JSaz", + "Vr1W", + "2D4b" + ], + "texture": 0 + }, + "kQWk1dKb": { + "uv": { + "DgDb": [ + 0, + 1 + ], + "t9ti": [ + 1, + 1 + ], + "S9dQ": [ + 1, + 0 + ], + "fJPN": [ + 0, + 0 + ] + }, + "vertices": [ + "DgDb", + "t9ti", + "S9dQ", + "fJPN" + ], + "texture": 0 + }, + "IV36ZRGv": { + "uv": { + "Vr1W": [ + 0, + 1 + ], + "oMVc": [ + 1, + 1 + ], + "zhzf": [ + 1, + 0 + ], + "t9ti": [ + 0, + 0 + ] + }, + "vertices": [ + "Vr1W", + "oMVc", + "zhzf", + "t9ti" + ], + "texture": 0 + }, + "u8snninD": { + "uv": { + "S9dQ": [ + 0, + 1 + ], + "OchC": [ + 1, + 1 + ], + "YYyl": [ + 1, + 0 + ], + "JSaz": [ + 0, + 0 + ] + }, + "vertices": [ + "S9dQ", + "OchC", + "YYyl", + "JSaz" + ], + "texture": 0 + }, + "Pw3sCKF4": { + "uv": { + "JSaz": [ + 0, + 1 + ], + "YYyl": [ + 1, + 1 + ], + "oMVc": [ + 1, + 0 + ], + "Vr1W": [ + 0, + 0 + ] + }, + "vertices": [ + "JSaz", + "YYyl", + "oMVc", + "Vr1W" + ], + "texture": 0 + }, + "typ0OVTP": { + "uv": { + "t9ti": [ + 0, + 1 + ], + "zhzf": [ + 1, + 1 + ], + "OchC": [ + 1, + 0 + ], + "S9dQ": [ + 0, + 0 + ] + }, + "vertices": [ + "t9ti", + "zhzf", + "OchC", + "S9dQ" + ], + "texture": 0 + }, + "XyNXLeDh": { + "uv": { + "oMVc": [ + 0, + 1 + ], + "bwKr": [ + 1, + 1 + ], + "Wsoy": [ + 1, + 0 + ], + "zhzf": [ + 0, + 0 + ] + }, + "vertices": [ + "oMVc", + "bwKr", + "Wsoy", + "zhzf" + ], + "texture": 0 + }, + "F5443dVN": { + "uv": { + "OchC": [ + 0, + 1 + ], + "6xXS": [ + 1, + 1 + ], + "0fqu": [ + 1, + 0 + ], + "YYyl": [ + 0, + 0 + ] + }, + "vertices": [ + "OchC", + "6xXS", + "0fqu", + "YYyl" + ], + "texture": 0 + }, + "5EL4kmyg": { + "uv": { + "YYyl": [ + 0, + 1 + ], + "0fqu": [ + 1, + 1 + ], + "bwKr": [ + 1, + 0 + ], + "oMVc": [ + 0, + 0 + ] + }, + "vertices": [ + "YYyl", + "0fqu", + "bwKr", + "oMVc" + ], + "texture": 0 + }, + "D1ZlfuG2": { + "uv": { + "zhzf": [ + 0, + 1 + ], + "Wsoy": [ + 1, + 1 + ], + "6xXS": [ + 1, + 0 + ], + "OchC": [ + 0, + 0 + ] + }, + "vertices": [ + "zhzf", + "Wsoy", + "6xXS", + "OchC" + ], + "texture": 0 + }, + "PlOmNSc1": { + "uv": { + "bwKr": [ + 0, + 1 + ], + "aYhs": [ + 1, + 1 + ], + "wQVu": [ + 1, + 0 + ], + "Wsoy": [ + 0, + 0 + ] + }, + "vertices": [ + "bwKr", + "aYhs", + "wQVu", + "Wsoy" + ], + "texture": 0 + }, + "iGnNaIZb": { + "uv": { + "6xXS": [ + 0, + 1 + ], + "90t7": [ + 1, + 1 + ], + "ZqS7": [ + 1, + 0 + ], + "0fqu": [ + 0, + 0 + ] + }, + "vertices": [ + "6xXS", + "90t7", + "ZqS7", + "0fqu" + ], + "texture": 0 + }, + "irs3T51A": { + "uv": { + "0fqu": [ + 0, + 1 + ], + "ZqS7": [ + 1, + 1 + ], + "aYhs": [ + 1, + 0 + ], + "bwKr": [ + 0, + 0 + ] + }, + "vertices": [ + "0fqu", + "ZqS7", + "aYhs", + "bwKr" + ], + "texture": 0 + }, + "FXCU1EW3": { + "uv": { + "Wsoy": [ + 0, + 1 + ], + "wQVu": [ + 1, + 1 + ], + "90t7": [ + 1, + 0 + ], + "6xXS": [ + 0, + 0 + ] + }, + "vertices": [ + "Wsoy", + "wQVu", + "90t7", + "6xXS" + ], + "texture": 0 + }, + "PmlcoRwH": { + "uv": { + "aYhs": [ + 0, + 1 + ], + "bDKn": [ + 1, + 1 + ], + "qrZA": [ + 1, + 0 + ], + "wQVu": [ + 0, + 0 + ] + }, + "vertices": [ + "aYhs", + "bDKn", + "qrZA", + "wQVu" + ], + "texture": 0 + }, + "eaeR4o3o": { + "uv": { + "90t7": [ + 0, + 1 + ], + "q2ZA": [ + 1, + 1 + ], + "ekbr": [ + 1, + 0 + ], + "ZqS7": [ + 0, + 0 + ] + }, + "vertices": [ + "90t7", + "q2ZA", + "ekbr", + "ZqS7" + ], + "texture": 0 + }, + "dVwM9jPi": { + "uv": { + "ZqS7": [ + 0, + 1 + ], + "ekbr": [ + 1, + 1 + ], + "bDKn": [ + 1, + 0 + ], + "aYhs": [ + 0, + 0 + ] + }, + "vertices": [ + "ZqS7", + "ekbr", + "bDKn", + "aYhs" + ], + "texture": 0 + }, + "hIFUq1M9": { + "uv": { + "wQVu": [ + 0, + 1 + ], + "qrZA": [ + 1, + 1 + ], + "q2ZA": [ + 1, + 0 + ], + "90t7": [ + 0, + 0 + ] + }, + "vertices": [ + "wQVu", + "qrZA", + "q2ZA", + "90t7" + ], + "texture": 0 + }, + "RQcbstL2": { + "uv": { + "bDKn": [ + 0, + 1 + ], + "1Flr": [ + 1, + 1 + ], + "usIS": [ + 1, + 0 + ], + "qrZA": [ + 0, + 0 + ] + }, + "vertices": [ + "bDKn", + "1Flr", + "usIS", + "qrZA" + ], + "texture": 0 + }, + "HV5iF2wv": { + "uv": { + "q2ZA": [ + 0, + 1 + ], + "4A4J": [ + 1, + 1 + ], + "eYzJ": [ + 1, + 0 + ], + "ekbr": [ + 0, + 0 + ] + }, + "vertices": [ + "q2ZA", + "4A4J", + "eYzJ", + "ekbr" + ], + "texture": 0 + }, + "X8pLryfc": { + "uv": { + "ekbr": [ + 0, + 1 + ], + "eYzJ": [ + 1, + 1 + ], + "1Flr": [ + 1, + 0 + ], + "bDKn": [ + 0, + 0 + ] + }, + "vertices": [ + "ekbr", + "eYzJ", + "1Flr", + "bDKn" + ], + "texture": 0 + }, + "WTtEMnsa": { + "uv": { + "qrZA": [ + 0, + 1 + ], + "usIS": [ + 1, + 1 + ], + "4A4J": [ + 1, + 0 + ], + "q2ZA": [ + 0, + 0 + ] + }, + "vertices": [ + "qrZA", + "usIS", + "4A4J", + "q2ZA" + ], + "texture": 0 + }, + "P2fxxvYH": { + "uv": { + "1Flr": [ + 0, + 1 + ], + "ZZmY": [ + 1, + 1 + ], + "dPbZ": [ + 1, + 0 + ], + "usIS": [ + 0, + 0 + ] + }, + "vertices": [ + "1Flr", + "ZZmY", + "dPbZ", + "usIS" + ], + "texture": 0 + }, + "qD43m7o0": { + "uv": { + "4A4J": [ + 0, + 1 + ], + "ynUE": [ + 1, + 1 + ], + "G0Fq": [ + 1, + 0 + ], + "eYzJ": [ + 0, + 0 + ] + }, + "vertices": [ + "4A4J", + "ynUE", + "G0Fq", + "eYzJ" + ], + "texture": 0 + }, + "l456zbsM": { + "uv": { + "eYzJ": [ + 0, + 1 + ], + "G0Fq": [ + 1, + 1 + ], + "ZZmY": [ + 1, + 0 + ], + "1Flr": [ + 0, + 0 + ] + }, + "vertices": [ + "eYzJ", + "G0Fq", + "ZZmY", + "1Flr" + ], + "texture": 0 + }, + "qGQD5RhF": { + "uv": { + "usIS": [ + 0, + 1 + ], + "dPbZ": [ + 1, + 1 + ], + "ynUE": [ + 1, + 0 + ], + "4A4J": [ + 0, + 0 + ] + }, + "vertices": [ + "usIS", + "dPbZ", + "ynUE", + "4A4J" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "ece6c0f2-4160-7123-4f18-4a90e8e827d7" + }, + { + "name": "InnerWheel", + "color": 0, + "origin": [ + 0.125, + 6, + 9 + ], + "rotation": [ + 0, + 0, + 90 + ], + "export": true, + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "GiQk": [ + 1.11888, + 0, + 5.625 + ], + "XK87": [ + 1.11888, + 0.25, + 5.625 + ], + "G8LE": [ + 0.94189, + 0, + 4.7352 + ], + "1GGh": [ + 0.94189, + 0.25, + 4.7352 + ], + "pJvS": [ + 3.18631, + 0, + 4.76864 + ], + "NP1j": [ + 3.18631, + 0.25, + 4.76864 + ], + "ndY8": [ + 2.68228, + 0, + 4.01431 + ], + "N9GU": [ + 2.68228, + 0.25, + 4.01431 + ], + "Ivay": [ + 4.76864, + 0, + 3.18631 + ], + "sQcN": [ + 4.76864, + 0.25, + 3.18631 + ], + "77ZN": [ + 4.01431, + 0, + 2.68228 + ], + "vXSi": [ + 4.01431, + 0.25, + 2.68228 + ], + "Zzhh": [ + 5.625, + 0, + 1.11888 + ], + "pyix": [ + 5.625, + 0.25, + 1.11888 + ], + "TyWE": [ + 4.7352, + 0, + 0.94189 + ], + "02To": [ + 4.7352, + 0.25, + 0.94189 + ], + "2DPE": [ + 5.625, + 0, + -1.11888 + ], + "J093": [ + 5.625, + 0.25, + -1.11888 + ], + "NdPz": [ + 4.7352, + 0, + -0.94189 + ], + "7VuD": [ + 4.7352, + 0.25, + -0.94189 + ], + "VpEQ": [ + 4.76864, + 0, + -3.18631 + ], + "gJbI": [ + 4.76864, + 0.25, + -3.18631 + ], + "zPnT": [ + 4.01431, + 0, + -2.68228 + ], + "jzon": [ + 4.01431, + 0.25, + -2.68228 + ], + "oDvs": [ + 3.18631, + 0, + -4.76864 + ], + "5C1d": [ + 3.18631, + 0.25, + -4.76864 + ], + "m1BQ": [ + 2.68228, + 0, + -4.01431 + ], + "tHph": [ + 2.68228, + 0.25, + -4.01431 + ], + "4n7T": [ + 1.11888, + 0, + -5.625 + ], + "KX2n": [ + 1.11888, + 0.25, + -5.625 + ], + "Fw7J": [ + 0.94189, + 0, + -4.7352 + ], + "QcyN": [ + 0.94189, + 0.25, + -4.7352 + ], + "E18z": [ + -1.11888, + 0, + -5.625 + ], + "uY7D": [ + -1.11888, + 0.25, + -5.625 + ], + "KDgO": [ + -0.94189, + 0, + -4.7352 + ], + "dMtn": [ + -0.94189, + 0.25, + -4.7352 + ], + "mRVj": [ + -3.18631, + 0, + -4.76864 + ], + "PIAH": [ + -3.18631, + 0.25, + -4.76864 + ], + "zvyL": [ + -2.68228, + 0, + -4.01431 + ], + "k6cY": [ + -2.68228, + 0.25, + -4.01431 + ], + "oOi4": [ + -4.76864, + 0, + -3.18631 + ], + "w2KJ": [ + -4.76864, + 0.25, + -3.18631 + ], + "NbX5": [ + -4.01431, + 0, + -2.68228 + ], + "wkUt": [ + -4.01431, + 0.25, + -2.68228 + ], + "8njR": [ + -5.625, + 0, + -1.11888 + ], + "wMXP": [ + -5.625, + 0.25, + -1.11888 + ], + "CFOc": [ + -4.7352, + 0, + -0.94189 + ], + "3uGT": [ + -4.7352, + 0.25, + -0.94189 + ], + "CMlz": [ + -5.625, + 0, + 1.11888 + ], + "JkoM": [ + -5.625, + 0.25, + 1.11888 + ], + "Y7hJ": [ + -4.7352, + 0, + 0.94189 + ], + "VohK": [ + -4.7352, + 0.25, + 0.94189 + ], + "NbEz": [ + -4.76864, + 0, + 3.18631 + ], + "CXy9": [ + -4.76864, + 0.25, + 3.18631 + ], + "KNeE": [ + -4.01431, + 0, + 2.68228 + ], + "m78z": [ + -4.01431, + 0.25, + 2.68228 + ], + "TzD5": [ + -3.18631, + 0, + 4.76864 + ], + "myIs": [ + -3.18631, + 0.25, + 4.76864 + ], + "BLJA": [ + -2.68228, + 0, + 4.01431 + ], + "IEAc": [ + -2.68228, + 0.25, + 4.01431 + ], + "vwFk": [ + -1.11888, + 0, + 5.625 + ], + "cD52": [ + -1.11888, + 0.25, + 5.625 + ], + "piUA": [ + -0.94189, + 0, + 4.7352 + ], + "q3Id": [ + -0.94189, + 0.25, + 4.7352 + ] + }, + "faces": { + "imFIA83s": { + "uv": { + "GiQk": [ + 0, + 0.25 + ], + "pJvS": [ + 2.2378, + 0.25 + ], + "NP1j": [ + 2.2378, + 0 + ], + "XK87": [ + 0, + 0 + ] + }, + "vertices": [ + "GiQk", + "pJvS", + "NP1j", + "XK87" + ] + }, + "rzo5wwKk": { + "uv": { + "1GGh": [ + 1, + 0 + ], + "N9GU": [ + 0, + 0 + ], + "ndY8": [ + 0, + 1 + ], + "G8LE": [ + 1, + 1 + ] + }, + "vertices": [ + "1GGh", + "N9GU", + "ndY8", + "G8LE" + ], + "texture": 0 + }, + "gtBVa9r1": { + "uv": { + "G8LE": [ + 0, + 1 + ], + "ndY8": [ + 1, + 1 + ], + "pJvS": [ + 1, + 0 + ], + "GiQk": [ + 0, + 0 + ] + }, + "vertices": [ + "G8LE", + "ndY8", + "pJvS", + "GiQk" + ], + "texture": 0 + }, + "UxXKE3Gp": { + "uv": { + "XK87": [ + 0, + 1 + ], + "NP1j": [ + 1, + 1 + ], + "N9GU": [ + 1, + 0 + ], + "1GGh": [ + 0, + 0 + ] + }, + "vertices": [ + "XK87", + "NP1j", + "N9GU", + "1GGh" + ], + "texture": 0 + }, + "oxss2xVc": { + "uv": { + "pJvS": [ + 0, + 0.25 + ], + "Ivay": [ + 2.2378, + 0.25 + ], + "sQcN": [ + 2.2378, + 0 + ], + "NP1j": [ + 0, + 0 + ] + }, + "vertices": [ + "pJvS", + "Ivay", + "sQcN", + "NP1j" + ] + }, + "23anlHZK": { + "uv": { + "N9GU": [ + 0, + 1 + ], + "vXSi": [ + 1, + 1 + ], + "77ZN": [ + 1, + 0 + ], + "ndY8": [ + 0, + 0 + ] + }, + "vertices": [ + "N9GU", + "vXSi", + "77ZN", + "ndY8" + ], + "texture": 0 + }, + "2M8dQJ4c": { + "uv": { + "ndY8": [ + 0, + 1 + ], + "77ZN": [ + 1, + 1 + ], + "Ivay": [ + 1, + 0 + ], + "pJvS": [ + 0, + 0 + ] + }, + "vertices": [ + "ndY8", + "77ZN", + "Ivay", + "pJvS" + ], + "texture": 0 + }, + "U3r1Cm4v": { + "uv": { + "NP1j": [ + 0, + 1 + ], + "sQcN": [ + 1, + 1 + ], + "vXSi": [ + 1, + 0 + ], + "N9GU": [ + 0, + 0 + ] + }, + "vertices": [ + "NP1j", + "sQcN", + "vXSi", + "N9GU" + ], + "texture": 0 + }, + "0SyKxclC": { + "uv": { + "Ivay": [ + 0, + 0.25 + ], + "Zzhh": [ + 2.2378, + 0.25 + ], + "pyix": [ + 2.2378, + 0 + ], + "sQcN": [ + 0, + 0 + ] + }, + "vertices": [ + "Ivay", + "Zzhh", + "pyix", + "sQcN" + ] + }, + "VmQmHKUn": { + "uv": { + "vXSi": [ + 0, + 1 + ], + "02To": [ + 1, + 1 + ], + "TyWE": [ + 1, + 0 + ], + "77ZN": [ + 0, + 0 + ] + }, + "vertices": [ + "vXSi", + "02To", + "TyWE", + "77ZN" + ], + "texture": 0 + }, + "xEkseuN7": { + "uv": { + "77ZN": [ + 0, + 1 + ], + "TyWE": [ + 1, + 1 + ], + "Zzhh": [ + 1, + 0 + ], + "Ivay": [ + 0, + 0 + ] + }, + "vertices": [ + "77ZN", + "TyWE", + "Zzhh", + "Ivay" + ], + "texture": 0 + }, + "vp8rmiyv": { + "uv": { + "sQcN": [ + 0, + 1 + ], + "pyix": [ + 1, + 1 + ], + "02To": [ + 1, + 0 + ], + "vXSi": [ + 0, + 0 + ] + }, + "vertices": [ + "sQcN", + "pyix", + "02To", + "vXSi" + ], + "texture": 0 + }, + "NksLDcAq": { + "uv": { + "Zzhh": [ + 0, + 0.25 + ], + "2DPE": [ + 2.2378, + 0.25 + ], + "J093": [ + 2.2378, + 0 + ], + "pyix": [ + 0, + 0 + ] + }, + "vertices": [ + "Zzhh", + "2DPE", + "J093", + "pyix" + ] + }, + "gEWc8bTj": { + "uv": { + "02To": [ + 0, + 1 + ], + "7VuD": [ + 1, + 1 + ], + "NdPz": [ + 1, + 0 + ], + "TyWE": [ + 0, + 0 + ] + }, + "vertices": [ + "02To", + "7VuD", + "NdPz", + "TyWE" + ], + "texture": 0 + }, + "MsueZ9z3": { + "uv": { + "TyWE": [ + 0, + 1 + ], + "NdPz": [ + 1, + 1 + ], + "2DPE": [ + 1, + 0 + ], + "Zzhh": [ + 0, + 0 + ] + }, + "vertices": [ + "TyWE", + "NdPz", + "2DPE", + "Zzhh" + ], + "texture": 0 + }, + "9saJEcix": { + "uv": { + "pyix": [ + 0, + 1 + ], + "J093": [ + 1, + 1 + ], + "7VuD": [ + 1, + 0 + ], + "02To": [ + 0, + 0 + ] + }, + "vertices": [ + "pyix", + "J093", + "7VuD", + "02To" + ], + "texture": 0 + }, + "1FG6NWaz": { + "uv": { + "2DPE": [ + 0, + 0.25 + ], + "VpEQ": [ + 2.2378, + 0.25 + ], + "gJbI": [ + 2.2378, + 0 + ], + "J093": [ + 0, + 0 + ] + }, + "vertices": [ + "2DPE", + "VpEQ", + "gJbI", + "J093" + ] + }, + "fe1NYNZ5": { + "uv": { + "7VuD": [ + 0, + 1 + ], + "jzon": [ + 1, + 1 + ], + "zPnT": [ + 1, + 0 + ], + "NdPz": [ + 0, + 0 + ] + }, + "vertices": [ + "7VuD", + "jzon", + "zPnT", + "NdPz" + ], + "texture": 0 + }, + "cdAHWyH6": { + "uv": { + "NdPz": [ + 0, + 1 + ], + "zPnT": [ + 1, + 1 + ], + "VpEQ": [ + 1, + 0 + ], + "2DPE": [ + 0, + 0 + ] + }, + "vertices": [ + "NdPz", + "zPnT", + "VpEQ", + "2DPE" + ], + "texture": 0 + }, + "8M7UXgnJ": { + "uv": { + "J093": [ + 0, + 1 + ], + "gJbI": [ + 1, + 1 + ], + "jzon": [ + 1, + 0 + ], + "7VuD": [ + 0, + 0 + ] + }, + "vertices": [ + "J093", + "gJbI", + "jzon", + "7VuD" + ], + "texture": 0 + }, + "ketcJ337": { + "uv": { + "VpEQ": [ + 0, + 0.25 + ], + "oDvs": [ + 2.2378, + 0.25 + ], + "5C1d": [ + 2.2378, + 0 + ], + "gJbI": [ + 0, + 0 + ] + }, + "vertices": [ + "VpEQ", + "oDvs", + "5C1d", + "gJbI" + ] + }, + "GPwwX6Zy": { + "uv": { + "jzon": [ + 0, + 1 + ], + "tHph": [ + 1, + 1 + ], + "m1BQ": [ + 1, + 0 + ], + "zPnT": [ + 0, + 0 + ] + }, + "vertices": [ + "jzon", + "tHph", + "m1BQ", + "zPnT" + ], + "texture": 0 + }, + "vg3fIhaF": { + "uv": { + "zPnT": [ + 0, + 1 + ], + "m1BQ": [ + 1, + 1 + ], + "oDvs": [ + 1, + 0 + ], + "VpEQ": [ + 0, + 0 + ] + }, + "vertices": [ + "zPnT", + "m1BQ", + "oDvs", + "VpEQ" + ], + "texture": 0 + }, + "wFizGrrP": { + "uv": { + "gJbI": [ + 0, + 1 + ], + "5C1d": [ + 1, + 1 + ], + "tHph": [ + 1, + 0 + ], + "jzon": [ + 0, + 0 + ] + }, + "vertices": [ + "gJbI", + "5C1d", + "tHph", + "jzon" + ], + "texture": 0 + }, + "Kt0FOtee": { + "uv": { + "oDvs": [ + 0, + 0.25 + ], + "4n7T": [ + 2.2378, + 0.25 + ], + "KX2n": [ + 2.2378, + 0 + ], + "5C1d": [ + 0, + 0 + ] + }, + "vertices": [ + "oDvs", + "4n7T", + "KX2n", + "5C1d" + ] + }, + "OEpP2ipc": { + "uv": { + "tHph": [ + 0, + 1 + ], + "QcyN": [ + 1, + 1 + ], + "Fw7J": [ + 1, + 0 + ], + "m1BQ": [ + 0, + 0 + ] + }, + "vertices": [ + "tHph", + "QcyN", + "Fw7J", + "m1BQ" + ], + "texture": 0 + }, + "nkgPIqju": { + "uv": { + "m1BQ": [ + 0, + 1 + ], + "Fw7J": [ + 1, + 1 + ], + "4n7T": [ + 1, + 0 + ], + "oDvs": [ + 0, + 0 + ] + }, + "vertices": [ + "m1BQ", + "Fw7J", + "4n7T", + "oDvs" + ], + "texture": 0 + }, + "lzWDtUe6": { + "uv": { + "5C1d": [ + 0, + 1 + ], + "KX2n": [ + 1, + 1 + ], + "QcyN": [ + 1, + 0 + ], + "tHph": [ + 0, + 0 + ] + }, + "vertices": [ + "5C1d", + "KX2n", + "QcyN", + "tHph" + ], + "texture": 0 + }, + "DhtjSyFv": { + "uv": { + "4n7T": [ + 0, + 0.25 + ], + "E18z": [ + 2.2378, + 0.25 + ], + "uY7D": [ + 2.2378, + 0 + ], + "KX2n": [ + 0, + 0 + ] + }, + "vertices": [ + "4n7T", + "E18z", + "uY7D", + "KX2n" + ] + }, + "HIGGksTW": { + "uv": { + "QcyN": [ + 0, + 1 + ], + "dMtn": [ + 1, + 1 + ], + "KDgO": [ + 1, + 0 + ], + "Fw7J": [ + 0, + 0 + ] + }, + "vertices": [ + "QcyN", + "dMtn", + "KDgO", + "Fw7J" + ], + "texture": 0 + }, + "AiVmTJBX": { + "uv": { + "Fw7J": [ + 0, + 1 + ], + "KDgO": [ + 1, + 1 + ], + "E18z": [ + 1, + 0 + ], + "4n7T": [ + 0, + 0 + ] + }, + "vertices": [ + "Fw7J", + "KDgO", + "E18z", + "4n7T" + ], + "texture": 0 + }, + "zDY7Y1VW": { + "uv": { + "KX2n": [ + 0, + 1 + ], + "uY7D": [ + 1, + 1 + ], + "dMtn": [ + 1, + 0 + ], + "QcyN": [ + 0, + 0 + ] + }, + "vertices": [ + "KX2n", + "uY7D", + "dMtn", + "QcyN" + ], + "texture": 0 + }, + "viQzzkVs": { + "uv": { + "E18z": [ + 0, + 0.25 + ], + "mRVj": [ + 2.2378, + 0.25 + ], + "PIAH": [ + 2.2378, + 0 + ], + "uY7D": [ + 0, + 0 + ] + }, + "vertices": [ + "E18z", + "mRVj", + "PIAH", + "uY7D" + ] + }, + "nHGdrcuI": { + "uv": { + "dMtn": [ + 0, + 1 + ], + "k6cY": [ + 1, + 1 + ], + "zvyL": [ + 1, + 0 + ], + "KDgO": [ + 0, + 0 + ] + }, + "vertices": [ + "dMtn", + "k6cY", + "zvyL", + "KDgO" + ], + "texture": 0 + }, + "lG7oOunZ": { + "uv": { + "KDgO": [ + 0, + 1 + ], + "zvyL": [ + 1, + 1 + ], + "mRVj": [ + 1, + 0 + ], + "E18z": [ + 0, + 0 + ] + }, + "vertices": [ + "KDgO", + "zvyL", + "mRVj", + "E18z" + ], + "texture": 0 + }, + "CcyWrbLe": { + "uv": { + "uY7D": [ + 0, + 1 + ], + "PIAH": [ + 1, + 1 + ], + "k6cY": [ + 1, + 0 + ], + "dMtn": [ + 0, + 0 + ] + }, + "vertices": [ + "uY7D", + "PIAH", + "k6cY", + "dMtn" + ], + "texture": 0 + }, + "zxFA3IV3": { + "uv": { + "mRVj": [ + 0, + 0.25 + ], + "oOi4": [ + 2.2378, + 0.25 + ], + "w2KJ": [ + 2.2378, + 0 + ], + "PIAH": [ + 0, + 0 + ] + }, + "vertices": [ + "mRVj", + "oOi4", + "w2KJ", + "PIAH" + ] + }, + "d0bfs3zv": { + "uv": { + "k6cY": [ + 0, + 1 + ], + "wkUt": [ + 1, + 1 + ], + "NbX5": [ + 1, + 0 + ], + "zvyL": [ + 0, + 0 + ] + }, + "vertices": [ + "k6cY", + "wkUt", + "NbX5", + "zvyL" + ], + "texture": 0 + }, + "8O9oc1oL": { + "uv": { + "zvyL": [ + 0, + 1 + ], + "NbX5": [ + 1, + 1 + ], + "oOi4": [ + 1, + 0 + ], + "mRVj": [ + 0, + 0 + ] + }, + "vertices": [ + "zvyL", + "NbX5", + "oOi4", + "mRVj" + ], + "texture": 0 + }, + "abCzhPrz": { + "uv": { + "PIAH": [ + 0, + 1 + ], + "w2KJ": [ + 1, + 1 + ], + "wkUt": [ + 1, + 0 + ], + "k6cY": [ + 0, + 0 + ] + }, + "vertices": [ + "PIAH", + "w2KJ", + "wkUt", + "k6cY" + ], + "texture": 0 + }, + "ePN6qAJJ": { + "uv": { + "oOi4": [ + 0, + 0.25 + ], + "8njR": [ + 2.2378, + 0.25 + ], + "wMXP": [ + 2.2378, + 0 + ], + "w2KJ": [ + 0, + 0 + ] + }, + "vertices": [ + "oOi4", + "8njR", + "wMXP", + "w2KJ" + ] + }, + "qh7rhABr": { + "uv": { + "wkUt": [ + 0, + 1 + ], + "3uGT": [ + 1, + 1 + ], + "CFOc": [ + 1, + 0 + ], + "NbX5": [ + 0, + 0 + ] + }, + "vertices": [ + "wkUt", + "3uGT", + "CFOc", + "NbX5" + ], + "texture": 0 + }, + "EpUuHNi5": { + "uv": { + "NbX5": [ + 0, + 1 + ], + "CFOc": [ + 1, + 1 + ], + "8njR": [ + 1, + 0 + ], + "oOi4": [ + 0, + 0 + ] + }, + "vertices": [ + "NbX5", + "CFOc", + "8njR", + "oOi4" + ], + "texture": 0 + }, + "S510uN6x": { + "uv": { + "w2KJ": [ + 0, + 1 + ], + "wMXP": [ + 1, + 1 + ], + "3uGT": [ + 1, + 0 + ], + "wkUt": [ + 0, + 0 + ] + }, + "vertices": [ + "w2KJ", + "wMXP", + "3uGT", + "wkUt" + ], + "texture": 0 + }, + "S9qgeI3D": { + "uv": { + "8njR": [ + 0, + 0.25 + ], + "CMlz": [ + 2.2378, + 0.25 + ], + "JkoM": [ + 2.2378, + 0 + ], + "wMXP": [ + 0, + 0 + ] + }, + "vertices": [ + "8njR", + "CMlz", + "JkoM", + "wMXP" + ] + }, + "a0d7Ev8s": { + "uv": { + "3uGT": [ + 0, + 1 + ], + "VohK": [ + 1, + 1 + ], + "Y7hJ": [ + 1, + 0 + ], + "CFOc": [ + 0, + 0 + ] + }, + "vertices": [ + "3uGT", + "VohK", + "Y7hJ", + "CFOc" + ], + "texture": 0 + }, + "HAhSBiMh": { + "uv": { + "CFOc": [ + 0, + 1 + ], + "Y7hJ": [ + 1, + 1 + ], + "CMlz": [ + 1, + 0 + ], + "8njR": [ + 0, + 0 + ] + }, + "vertices": [ + "CFOc", + "Y7hJ", + "CMlz", + "8njR" + ], + "texture": 0 + }, + "Y0WWkVrM": { + "uv": { + "wMXP": [ + 0, + 1 + ], + "JkoM": [ + 1, + 1 + ], + "VohK": [ + 1, + 0 + ], + "3uGT": [ + 0, + 0 + ] + }, + "vertices": [ + "wMXP", + "JkoM", + "VohK", + "3uGT" + ], + "texture": 0 + }, + "c0sgLHih": { + "uv": { + "CMlz": [ + 0, + 0.25 + ], + "NbEz": [ + 2.2378, + 0.25 + ], + "CXy9": [ + 2.2378, + 0 + ], + "JkoM": [ + 0, + 0 + ] + }, + "vertices": [ + "CMlz", + "NbEz", + "CXy9", + "JkoM" + ] + }, + "dbjISUoX": { + "uv": { + "VohK": [ + 0, + 1 + ], + "m78z": [ + 1, + 1 + ], + "KNeE": [ + 1, + 0 + ], + "Y7hJ": [ + 0, + 0 + ] + }, + "vertices": [ + "VohK", + "m78z", + "KNeE", + "Y7hJ" + ], + "texture": 0 + }, + "NnwCZ9JL": { + "uv": { + "Y7hJ": [ + 0, + 1 + ], + "KNeE": [ + 1, + 1 + ], + "NbEz": [ + 1, + 0 + ], + "CMlz": [ + 0, + 0 + ] + }, + "vertices": [ + "Y7hJ", + "KNeE", + "NbEz", + "CMlz" + ], + "texture": 0 + }, + "vEp0yjxH": { + "uv": { + "JkoM": [ + 0, + 1 + ], + "CXy9": [ + 1, + 1 + ], + "m78z": [ + 1, + 0 + ], + "VohK": [ + 0, + 0 + ] + }, + "vertices": [ + "JkoM", + "CXy9", + "m78z", + "VohK" + ], + "texture": 0 + }, + "mREemUJQ": { + "uv": { + "NbEz": [ + 0, + 0.25 + ], + "TzD5": [ + 2.2378, + 0.25 + ], + "myIs": [ + 2.2378, + 0 + ], + "CXy9": [ + 0, + 0 + ] + }, + "vertices": [ + "NbEz", + "TzD5", + "myIs", + "CXy9" + ] + }, + "nZSIEEXL": { + "uv": { + "m78z": [ + 0, + 1 + ], + "IEAc": [ + 1, + 1 + ], + "BLJA": [ + 1, + 0 + ], + "KNeE": [ + 0, + 0 + ] + }, + "vertices": [ + "m78z", + "IEAc", + "BLJA", + "KNeE" + ], + "texture": 0 + }, + "gWBzCkAL": { + "uv": { + "KNeE": [ + 0, + 1 + ], + "BLJA": [ + 1, + 1 + ], + "TzD5": [ + 1, + 0 + ], + "NbEz": [ + 0, + 0 + ] + }, + "vertices": [ + "KNeE", + "BLJA", + "TzD5", + "NbEz" + ], + "texture": 0 + }, + "KSGdb9K0": { + "uv": { + "CXy9": [ + 0, + 1 + ], + "myIs": [ + 1, + 1 + ], + "IEAc": [ + 1, + 0 + ], + "m78z": [ + 0, + 0 + ] + }, + "vertices": [ + "CXy9", + "myIs", + "IEAc", + "m78z" + ], + "texture": 0 + }, + "v6K5daXL": { + "uv": { + "TzD5": [ + 0, + 0.25 + ], + "vwFk": [ + 2.2378, + 0.25 + ], + "cD52": [ + 2.2378, + 0 + ], + "myIs": [ + 0, + 0 + ] + }, + "vertices": [ + "TzD5", + "vwFk", + "cD52", + "myIs" + ] + }, + "aSOEZlVV": { + "uv": { + "IEAc": [ + 0, + 1 + ], + "q3Id": [ + 1, + 1 + ], + "piUA": [ + 1, + 0 + ], + "BLJA": [ + 0, + 0 + ] + }, + "vertices": [ + "IEAc", + "q3Id", + "piUA", + "BLJA" + ], + "texture": 0 + }, + "eDhfAKgq": { + "uv": { + "BLJA": [ + 0, + 1 + ], + "piUA": [ + 1, + 1 + ], + "vwFk": [ + 1, + 0 + ], + "TzD5": [ + 0, + 0 + ] + }, + "vertices": [ + "BLJA", + "piUA", + "vwFk", + "TzD5" + ], + "texture": 0 + }, + "5YK6gBDR": { + "uv": { + "myIs": [ + 0, + 1 + ], + "cD52": [ + 1, + 1 + ], + "q3Id": [ + 1, + 0 + ], + "IEAc": [ + 0, + 0 + ] + }, + "vertices": [ + "myIs", + "cD52", + "q3Id", + "IEAc" + ], + "texture": 0 + }, + "y2bTn5Ef": { + "uv": { + "vwFk": [ + 0, + 0.25 + ], + "GiQk": [ + 2.2378, + 0.25 + ], + "XK87": [ + 2.2378, + 0 + ], + "cD52": [ + 0, + 0 + ] + }, + "vertices": [ + "vwFk", + "GiQk", + "XK87", + "cD52" + ] + }, + "fw50wh7D": { + "uv": { + "q3Id": [ + 0, + 1 + ], + "1GGh": [ + 1, + 1 + ], + "G8LE": [ + 1, + 0 + ], + "piUA": [ + 0, + 0 + ] + }, + "vertices": [ + "q3Id", + "1GGh", + "G8LE", + "piUA" + ], + "texture": 0 + }, + "4u00b2ub": { + "uv": { + "piUA": [ + 0, + 1 + ], + "G8LE": [ + 1, + 1 + ], + "GiQk": [ + 1, + 0 + ], + "vwFk": [ + 0, + 0 + ] + }, + "vertices": [ + "piUA", + "G8LE", + "GiQk", + "vwFk" + ], + "texture": 0 + }, + "Fhn6EKJ3": { + "uv": { + "cD52": [ + 0, + 1 + ], + "XK87": [ + 1, + 1 + ], + "1GGh": [ + 1, + 0 + ], + "q3Id": [ + 0, + 0 + ] + }, + "vertices": [ + "cD52", + "XK87", + "1GGh", + "q3Id" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "428c5071-b6d1-a7c1-5707-f933cdfd17fa" + }, + { + "name": "ShaftCenter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 5.75, + 8.75 + ], + "to": [ + 1, + 6.25, + 9.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.5, + 6, + 9 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e0e06f40-cd20-5577-488f-3e211fbb4288" + }, + { + "name": "Spoke2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.9, + 5.8, + 8.95 + ], + "to": [ + -0.8, + 10.8, + 9.05 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + -10 + ], + "origin": [ + -0.85, + 6, + 9 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e5524925-73e5-e9ed-90d2-10e507ab30a5" + }, + { + "name": "Spoke3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.9, + 5.8, + 8.95 + ], + "to": [ + -0.8, + 10.8, + 9.05 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 44.56145, + 7.05302, + -7.10708 + ], + "origin": [ + -0.85, + 6, + 9 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "2540f766-e45e-0143-8a3c-26d17e9049f1" + }, + { + "name": "Spoke4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.9, + 5.8, + 8.95 + ], + "to": [ + -0.8, + 10.8, + 9.05 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 90, + 10, + 0 + ], + "origin": [ + -0.85, + 6, + 9 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5e2793fb-d4a0-129c-de3c-880af36cb105" + }, + { + "name": "Spoke5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.9, + 5.8, + 8.95 + ], + "to": [ + -0.8, + 10.8, + 9.05 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 135.43855, + 7.05302, + 7.10708 + ], + "origin": [ + -0.85, + 6, + 9 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ca838567-e003-9794-a4fc-bf45a2e919d6" + }, + { + "name": "Spoke6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.9, + 5.8, + 8.95 + ], + "to": [ + -0.8, + 10.8, + 9.05 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -180, + 0, + 10 + ], + "origin": [ + -0.85, + 6, + 9 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "38119a0d-1208-38fe-b48b-0f870fd70b80" + }, + { + "name": "Spoke7", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.9, + 5.8, + 8.95 + ], + "to": [ + -0.8, + 10.8, + 9.05 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -135.43855, + -7.05302, + 7.10708 + ], + "origin": [ + -0.85, + 6, + 9 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "4f2ac532-a3f8-c58a-8886-245f9990c26c" + }, + { + "name": "Spoke8", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.9, + 5.8, + 8.95 + ], + "to": [ + -0.8, + 10.8, + 9.05 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -90, + -10, + 0 + ], + "origin": [ + -0.85, + 6, + 9 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9a055073-3530-9d09-f05a-38371d29cd60" + }, + { + "name": "Spoke9", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.9, + 5.8, + 8.95 + ], + "to": [ + -0.8, + 10.8, + 9.05 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -44.56145, + -7.05302, + -7.10708 + ], + "origin": [ + -0.85, + 6, + 9 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "3b05ebc3-be0e-b340-db0c-e05dba830fa7" + }, + { + "name": "Spoke10", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.8, + 5.8, + 8.95 + ], + "to": [ + 0.9, + 10.8, + 9.05 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -22.19157, + 3.81024, + 9.25249 + ], + "origin": [ + 0.85, + 6, + 9 + ], + "faces": { + "north": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "53e584f3-d9ff-d0cb-3a9a-1b1abc6e188b" + }, + { + "name": "Spoke11", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.8, + 5.8, + 8.95 + ], + "to": [ + 0.9, + 10.8, + 9.05 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 22.19157, + -3.81024, + 9.25249 + ], + "origin": [ + 0.85, + 6, + 9 + ], + "faces": { + "north": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "bbbda15e-75e4-e902-131d-666f29b05c5e" + }, + { + "name": "Spoke12", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.8, + 5.8, + 8.95 + ], + "to": [ + 0.9, + 10.8, + 9.05 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 67.18821, + -9.23186, + 3.86032 + ], + "origin": [ + 0.85, + 6, + 9 + ], + "faces": { + "north": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "af656ee1-adcd-b112-f7f1-9cbf46c630b9" + }, + { + "name": "Spoke13", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.8, + 5.8, + 8.95 + ], + "to": [ + 0.9, + 10.8, + 9.05 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 112.81179, + -9.23186, + -3.86032 + ], + "origin": [ + 0.85, + 6, + 9 + ], + "faces": { + "north": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "46588380-d6b4-24d1-fec5-733f6bc6232e" + }, + { + "name": "Spoke14", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.8, + 5.8, + 8.95 + ], + "to": [ + 0.9, + 10.8, + 9.05 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 157.80843, + -3.81024, + -9.25249 + ], + "origin": [ + 0.85, + 6, + 9 + ], + "faces": { + "north": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "88d56422-f459-972e-b911-e648dcc7c489" + }, + { + "name": "Spoke15", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.8, + 5.8, + 8.95 + ], + "to": [ + 0.9, + 10.8, + 9.05 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -157.80843, + 3.81024, + -9.25249 + ], + "origin": [ + 0.85, + 6, + 9 + ], + "faces": { + "north": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "a9d53126-fe5a-8b88-8e16-7d7a0a420bf0" + }, + { + "name": "Spoke16", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.8, + 5.8, + 8.95 + ], + "to": [ + 0.9, + 10.8, + 9.05 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -112.81179, + 9.23186, + -3.86032 + ], + "origin": [ + 0.85, + 6, + 9 + ], + "faces": { + "north": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "c8131494-b531-e079-6355-3c014ef6491a" + }, + { + "name": "Spoke17", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.8, + 5.8, + 8.95 + ], + "to": [ + 0.9, + 10.8, + 9.05 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -67.18821, + 9.23186, + 3.86032 + ], + "origin": [ + 0.85, + 6, + 9 + ], + "faces": { + "north": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6e74b1d2-1625-1f54-24b9-db2810416961" + }, + { + "name": "Shaft1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + 5.625, + 1.125 + ], + "to": [ + -1, + 6.375, + 9.375 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -4, + 0 + ], + "origin": [ + -1, + 6, + 9 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8cad1da0-70ae-108d-658b-b5c11a2a3ff1" + }, + { + "name": "Shaft2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1, + 5.625, + 1.125 + ], + "to": [ + 1.5, + 6.375, + 9.375 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 4, + 0 + ], + "origin": [ + 1, + 6, + 9 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "4d5b5df7-7692-eec0-c53b-86cb8fb5fac5" + }, + { + "name": "Shaft3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 5.5, + 0.75 + ], + "to": [ + 1, + 6.5, + 1.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.5, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "299e4ec1-4294-0d8d-8fb5-0c96f6175adf" + }, + { + "name": "Shaft4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.375, + 6.5, + 0.875 + ], + "to": [ + 0.375, + 15.5, + 1.625 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 6.5, + 0.875 + ], + "faces": { + "north": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8a141aed-c57b-aa61-55e8-010a38329546" + }, + { + "name": "Shaft5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + 5.75, + -0.625 + ], + "to": [ + -1, + 6.25, + 9.125 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 52.56747, + -2.4338, + -3.17532 + ], + "origin": [ + -1, + 6, + 9 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "7bb36e66-61b5-fd4c-9831-849b25a19e2c" + }, + { + "name": "Shaft6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1, + 5.75, + -0.625 + ], + "to": [ + 1.5, + 6.25, + 9.125 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 52.56747, + 2.4338, + 3.17532 + ], + "origin": [ + 1, + 6, + 9 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f5137ddd-0d18-d556-d70f-79d69c541707" + }, + { + "name": "Shaft7", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 13, + 2.75 + ], + "to": [ + 1, + 14, + 3.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.5, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8575a465-784f-87ca-eacc-1eef553fce4f" + }, + { + "name": "Shaft8", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.375, + 5.5, + -10.25 + ], + "to": [ + 0.375, + 6.5, + 0.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 5.5, + 0.75 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "dd41b46f-7761-983f-4eb2-f225451be68c" + }, + { + "name": "Shaft9", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.375, + 13.5, + -5.85 + ], + "to": [ + 0.375, + 14.25, + 2.9 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 5, + 0, + 0 + ], + "origin": [ + 0, + 13.5, + 2.75 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e2189a29-1dd8-5eb0-bae3-9b8898d3fa3a" + }, + { + "name": "Shaft10", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.375, + 12, + -6.375 + ], + "to": [ + 0.375, + 18, + -5.625 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 19.5, + 0, + 0 + ], + "origin": [ + 0, + 14.625, + -6 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "186b9943-2c0c-5787-c4ea-49a89e132970" + }, + { + "name": "Shaft11", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.625, + 5.25, + -6.175 + ], + "to": [ + -0.125, + 14.75, + -5.675 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 19.5, + 0, + -5.75 + ], + "origin": [ + -0.375, + 14.75, + -5.925 + ], + "faces": { + "north": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8ff1f4e7-76d7-a83d-b117-4cad703f62bc" + }, + { + "name": "Shaft12", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.125, + 5.25, + -6.175 + ], + "to": [ + 0.625, + 14.75, + -5.675 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 19.5, + 0, + 5.75 + ], + "origin": [ + 0.375, + 14.75, + -5.925 + ], + "faces": { + "north": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "3725292c-0caa-cf22-0b47-faf40e927fe3" + }, + { + "name": "HandlePivot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 16.5, + -5.75 + ], + "to": [ + 0.5, + 17.25, + -4.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 16.5, + -5.25 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8b65d901-6e17-2dcc-637d-850a28258258" + }, + { + "name": "Handle1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.375, + 16.5, + -6.75 + ], + "to": [ + 0.375, + 17.25, + -5.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 16.5, + -5.25 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c789c8a6-0063-488b-5c6c-81e53c6abc01" + }, + { + "name": "Handle2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.375, + 16.375, + -7.75 + ], + "to": [ + 0.375, + 17.375, + -6.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 16.5, + -3.25 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "0c4f11cf-b500-54e7-0781-beaed1e3ec37" + }, + { + "name": "Handle3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.5, + 16.5, + -7.625 + ], + "to": [ + 4.5, + 17.25, + -6.875 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 16.5, + -3.25 + ], + "faces": { + "north": { + "uv": [ + 0, + 1, + 9, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 1, + 9, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 1, + 9, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 1, + 9, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 1, + 9, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "1640048e-9368-4248-55bc-2b299c4d75ab" + }, + { + "name": "Handle4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.5, + 16.5, + -11.375 + ], + "to": [ + -3.75, + 17.25, + -7.625 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 16.5, + -3.25 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "east": { + "uv": [ + 1.25, + 1, + 5, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "west": { + "uv": [ + 0, + 1, + 3.75, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 1, + 3.75, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 1.25, + 1, + 5, + 2 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "dd952888-44e4-aeab-711d-9cceb0477e0b" + }, + { + "name": "Handle8", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.75, + 16.5, + -11.375 + ], + "to": [ + 4.5, + 17.25, + -7.625 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 16.5, + -3.25 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "east": { + "uv": [ + 1.25, + 1, + 5, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "west": { + "uv": [ + 0, + 1, + 3.75, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 1, + 3.75, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 1.25, + 1, + 5, + 2 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "fecb27c0-c909-72ed-428a-cf92b49fa80b" + }, + { + "name": "Handle5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.5, + 13.23236, + -9.69315 + ], + "to": [ + -3.75, + 15.98236, + -8.94315 + ], + "autouv": 0, + "color": 0, + "inflate": -0.001, + "origin": [ + -4.125, + 16.5, + -11.625 + ], + "faces": { + "north": { + "uv": [ + 0, + 1, + 2.75, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 1, + 2.75, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 0, + 1, + 2.75, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 0, + 1, + 2.75, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ede50820-d449-d82b-6f8d-4228929a111c" + }, + { + "name": "Handle6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.5, + 10, + -11.625 + ], + "to": [ + -3.75, + 11.75, + -10.875 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -75, + 0, + 0 + ], + "origin": [ + -4.125, + 13.75, + -11.625 + ], + "faces": { + "north": { + "uv": [ + 0, + 1, + 1.75, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 1, + 1.75, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 0, + 1, + 1.75, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 0, + 1, + 1.75, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "down": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "983d5767-616f-f54c-62d1-9c8f49d42f2b" + }, + { + "name": "Handle7", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.5, + 16.5, + -11.375 + ], + "to": [ + -3.75, + 18, + -10.625 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + -30, + 0, + 0 + ], + "origin": [ + -4.125, + 16.5, + -11.375 + ], + "faces": { + "north": { + "uv": [ + 1, + 1, + 2.5, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 1, + 1, + 2.5, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 1, + 1, + 2.5, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 1, + 1, + 2.5, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "58fdaaa8-6ec1-9841-802b-2766e7e2dde4" + }, + { + "name": "LeftBrake1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.375, + 14.75, + -11.125 + ], + "to": [ + -3.875, + 16.5, + -10.875 + ], + "autouv": 0, + "color": 0, + "origin": [ + -4.125, + 16.5, + -11.125 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d7af45e2-4883-0227-cb42-0ffb11599cc3" + }, + { + "name": "LeftBrake2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.375, + 15, + -10.875 + ], + "to": [ + -3.875, + 15.75, + -10.55 + ], + "autouv": 0, + "color": 0, + "origin": [ + -4.125, + 16.5, + -11.125 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 3, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 3, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 3, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 3, + 0, + 2, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 3, + 0, + 2, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "82bf50c5-6b23-2606-d2d4-6726a5d392e7" + }, + { + "name": "Handle9", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.75, + 13.23236, + -9.69315 + ], + "to": [ + 4.5, + 15.98236, + -8.94315 + ], + "autouv": 0, + "color": 0, + "inflate": -0.001, + "origin": [ + 4.125, + 16.5, + -11.625 + ], + "faces": { + "north": { + "uv": [ + 0, + 1, + 2.75, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 1, + 2.75, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 0, + 1, + 2.75, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 0, + 1, + 2.75, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "49781c59-671b-ba9f-ad1c-032658aea64a" + }, + { + "name": "Handle10", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.75, + 10, + -11.625 + ], + "to": [ + 4.5, + 11.75, + -10.875 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -75, + 0, + 0 + ], + "origin": [ + 4.125, + 13.75, + -11.625 + ], + "faces": { + "north": { + "uv": [ + 0, + 1, + 1.75, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 1, + 1.75, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 0, + 1, + 1.75, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 0, + 1, + 1.75, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "down": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "07567e28-388f-c677-8efe-930badc671b3" + }, + { + "name": "Handle11", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.75, + 16.5, + -11.375 + ], + "to": [ + 4.5, + 18, + -10.625 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + -30, + 0, + 0 + ], + "origin": [ + 4.125, + 16.5, + -11.375 + ], + "faces": { + "north": { + "uv": [ + 1, + 1, + 2.5, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 1, + 1, + 2.5, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 1, + 1, + 2.5, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 1, + 1, + 2.5, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "4e06a25d-d76d-e8af-7a3d-0b06e63d6fad" + }, + { + "name": "RightBrake1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.875, + 14.75, + -11.125 + ], + "to": [ + 4.375, + 16.5, + -10.875 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4.125, + 16.5, + -11.125 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2bd4213d-3e98-6102-0249-8b8f30b76f86" + }, + { + "name": "RightBrake2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.875, + 15, + -10.875 + ], + "to": [ + 4.375, + 15.75, + -10.55 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4.125, + 16.5, + -11.125 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 3, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 3, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 3, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 3, + 0, + 2, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 3, + 0, + 2, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f64bc813-01fc-79a9-5e07-2f12acd70c74" + }, + { + "name": "SaddleShaft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.325, + 15.5, + 0.95 + ], + "to": [ + 0.3, + 16, + 1.575 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15.1, + 3.6 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8c6c9f15-3153-4965-2bbe-89fb6aab1308" + }, + { + "name": "Saddle1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.25, + 16, + -1.255 + ], + "to": [ + 1.25, + 16.5, + 3.745 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 16, + 1.245 + ], + "faces": { + "north": { + "uv": [ + 0, + 2, + 1, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 2, + 1, + 7 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 7, + 1, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 2, + 1, + 7 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 7, + 1, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d485fa43-e9bc-a429-6a2c-c4ece0421f4d" + }, + { + "name": "Saddle2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.25, + 16, + -1.255 + ], + "to": [ + -0.25, + 16.5, + 3.745 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 16, + 1.245 + ], + "faces": { + "north": { + "uv": [ + 0, + 2, + 1, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 2, + 1, + 7 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 7, + 1, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 2, + 1, + 7 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 7, + 1, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2d4f3e06-04fa-af2e-836d-52faad95462b" + }, + { + "name": "Saddle3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.25, + 16, + -1.255 + ], + "to": [ + 0.25, + 16.5, + 0.245 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 16, + 1.245 + ], + "faces": { + "north": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 1, + 3, + 2, + 4 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 1, + 2, + 2, + 3.5 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 3.5, + 2, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d3d461a3-6c8e-0744-f63e-685a303bd55b" + }, + { + "name": "Saddle4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.25, + 16, + 0.245 + ], + "to": [ + 0.25, + 16.25, + 3.745 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 16, + 1.245 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 1, + 6, + 2, + 7 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 1, + 3.5, + 2, + 7 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 7, + 2, + 3.5 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "13e9fcd0-42e1-ad1a-a08f-4d8cb3e3a368" + }, + { + "name": "PedalShaft2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.825, + 3.375, + 0.85 + ], + "to": [ + -1.325, + 6.375, + 1.6 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.5, + 6, + 1.25 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e1cbd0df-80ba-103b-33da-7452b2648fa3" + }, + { + "name": "LeftPedalFoot1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.325, + 3.375, + 0.475 + ], + "to": [ + -1.825, + 3.875, + 1.975 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.325, + 7.5, + 1.25 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c0ea5ac6-5706-71f0-68c1-f40c8bf5a3d6" + }, + { + "name": "LeftPedalFoot2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.325, + 3.375, + 0.475 + ], + "to": [ + -2.325, + 3.875, + 0.975 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.325, + 7.5, + 1.25 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "7dd55019-11df-2825-0d3a-b5ad228b7da6" + }, + { + "name": "LeftPedalFoot3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.325, + 3.375, + 1.475 + ], + "to": [ + -2.325, + 3.875, + 1.975 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.325, + 7.5, + 1.25 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "929dbc39-967c-7cc0-35ca-7e1d0c3a81d4" + }, + { + "name": "LeftPedalFoot4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.825, + 3.375, + 0.475 + ], + "to": [ + -3.325, + 3.875, + 1.975 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.325, + 7.5, + 1.25 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "ab4fe1df-c29d-1a6b-0969-b392eab74f5d" + }, + { + "name": "LeftPedalFoot5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 3.45, + 0.975 + ], + "to": [ + -2.625, + 3.825, + 1.475 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.325, + 7.5, + 1.25 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "9f58b56c-3233-ff5c-c48b-3acd9421c4e2" + }, + { + "name": "PedalShaft2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1.325, + 3.375, + 0.85 + ], + "to": [ + 1.825, + 6.375, + 1.6 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.325, + 6, + 1.25 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2b8c222e-47c5-2ed2-bd2e-23f569e64505" + }, + { + "name": "RightPedalFoot1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1.825, + 3.375, + 0.475 + ], + "to": [ + 2.325, + 3.875, + 1.975 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.325, + 7.5, + 1.25 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f07287cb-ce5f-0ba0-de98-ab7c03cc8130" + }, + { + "name": "RightPedalFoot2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2.325, + 3.375, + 0.475 + ], + "to": [ + 3.325, + 3.875, + 0.975 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.325, + 7.5, + 1.25 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "938513d3-5fa7-7799-d39f-10f6f1c371f5" + }, + { + "name": "RightPedalFoot3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2.325, + 3.375, + 1.475 + ], + "to": [ + 3.325, + 3.875, + 1.975 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.325, + 7.5, + 1.25 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "dba4cbbb-b93a-5522-9874-960dde4e3372" + }, + { + "name": "RightPedalFoot4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.325, + 3.375, + 0.475 + ], + "to": [ + 3.825, + 3.875, + 1.975 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.325, + 7.5, + 1.25 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "90bd6802-9fdf-f809-7b65-3d4aeaa18475" + }, + { + "name": "RightPedalFoot5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2.625, + 3.45, + 0.975 + ], + "to": [ + 3, + 3.825, + 1.475 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.325, + 7.5, + 1.25 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a5016e85-37cd-599f-db72-5dddd5260a29" + }, + { + "name": "Gear", + "color": 0, + "origin": [ + 1.15, + 6, + 1.225 + ], + "rotation": [ + 0, + 0, + 90 + ], + "export": true, + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "ylXo": [ + 0.29837, + -0.0625, + 1.5 + ], + "sQtk": [ + 0.29837, + 0.0625, + 1.5 + ], + "S2c8": [ + 0.20476, + -0.0625, + 1.02939 + ], + "RmSb": [ + 0.20476, + 0.0625, + 1.02939 + ], + "u2a1": [ + 0.84968, + -0.0625, + 1.27164 + ], + "X8UV": [ + 0.84968, + 0.0625, + 1.27164 + ], + "x9OR": [ + 0.5831, + -0.0625, + 0.87267 + ], + "zYyh": [ + 0.5831, + 0.0625, + 0.87267 + ], + "1Z90": [ + 1.27164, + -0.0625, + 0.84968 + ], + "W73F": [ + 1.27164, + 0.0625, + 0.84968 + ], + "IqlN": [ + 0.87267, + -0.0625, + 0.5831 + ], + "wf9K": [ + 0.87267, + 0.0625, + 0.5831 + ], + "acIX": [ + 1.5, + -0.0625, + 0.29837 + ], + "0Rd3": [ + 1.5, + 0.0625, + 0.29837 + ], + "Vv1r": [ + 1.02939, + -0.0625, + 0.20476 + ], + "dBWL": [ + 1.02939, + 0.0625, + 0.20476 + ], + "kxJX": [ + 1.5, + -0.0625, + -0.29837 + ], + "SrCz": [ + 1.5, + 0.0625, + -0.29837 + ], + "HnfJ": [ + 1.02939, + -0.0625, + -0.20476 + ], + "cfvr": [ + 1.02939, + 0.0625, + -0.20476 + ], + "1Cq0": [ + 1.27164, + -0.0625, + -0.84968 + ], + "f3En": [ + 1.27164, + 0.0625, + -0.84968 + ], + "qagW": [ + 0.87267, + -0.0625, + -0.5831 + ], + "6aQq": [ + 0.87267, + 0.0625, + -0.5831 + ], + "4D81": [ + 0.84968, + -0.0625, + -1.27164 + ], + "9wtO": [ + 0.84968, + 0.0625, + -1.27164 + ], + "qj0K": [ + 0.5831, + -0.0625, + -0.87267 + ], + "ho4K": [ + 0.5831, + 0.0625, + -0.87267 + ], + "buTO": [ + 0.29837, + -0.0625, + -1.5 + ], + "zAr2": [ + 0.29837, + 0.0625, + -1.5 + ], + "OVDA": [ + 0.20476, + -0.0625, + -1.02939 + ], + "B2V9": [ + 0.20476, + 0.0625, + -1.02939 + ], + "PH7M": [ + -0.29837, + -0.0625, + -1.5 + ], + "cpp4": [ + -0.29837, + 0.0625, + -1.5 + ], + "n7FK": [ + -0.20476, + -0.0625, + -1.02939 + ], + "0z1I": [ + -0.20476, + 0.0625, + -1.02939 + ], + "YeNG": [ + -0.84968, + -0.0625, + -1.27164 + ], + "RPkl": [ + -0.84968, + 0.0625, + -1.27164 + ], + "cT8H": [ + -0.5831, + -0.0625, + -0.87267 + ], + "1P7Q": [ + -0.5831, + 0.0625, + -0.87267 + ], + "34af": [ + -1.27164, + -0.0625, + -0.84968 + ], + "ieJV": [ + -1.27164, + 0.0625, + -0.84968 + ], + "VrI1": [ + -0.87267, + -0.0625, + -0.5831 + ], + "GFmM": [ + -0.87267, + 0.0625, + -0.5831 + ], + "Uuq2": [ + -1.5, + -0.0625, + -0.29837 + ], + "N6EV": [ + -1.5, + 0.0625, + -0.29837 + ], + "YDlD": [ + -1.02939, + -0.0625, + -0.20476 + ], + "L9HV": [ + -1.02939, + 0.0625, + -0.20476 + ], + "yL1W": [ + -1.5, + -0.0625, + 0.29837 + ], + "hw08": [ + -1.5, + 0.0625, + 0.29837 + ], + "iBQX": [ + -1.02939, + -0.0625, + 0.20476 + ], + "AT3x": [ + -1.02939, + 0.0625, + 0.20476 + ], + "bwsL": [ + -1.27164, + -0.0625, + 0.84968 + ], + "qRrl": [ + -1.27164, + 0.0625, + 0.84968 + ], + "WE1U": [ + -0.87267, + -0.0625, + 0.5831 + ], + "ZpfH": [ + -0.87267, + 0.0625, + 0.5831 + ], + "Dwm0": [ + -0.84968, + -0.0625, + 1.27164 + ], + "XMjM": [ + -0.84968, + 0.0625, + 1.27164 + ], + "8lNT": [ + -0.5831, + -0.0625, + 0.87267 + ], + "gliG": [ + -0.5831, + 0.0625, + 0.87267 + ], + "PWkp": [ + -0.29837, + -0.0625, + 1.5 + ], + "lrII": [ + -0.29837, + 0.0625, + 1.5 + ], + "LdgL": [ + -0.20476, + -0.0625, + 1.02939 + ], + "Kanm": [ + -0.20476, + 0.0625, + 1.02939 + ] + }, + "faces": { + "vtgg2b3I": { + "uv": { + "ylXo": [ + 0, + 1 + ], + "u2a1": [ + 1, + 1 + ], + "X8UV": [ + 1, + 0 + ], + "sQtk": [ + 0, + 0 + ] + }, + "vertices": [ + "ylXo", + "u2a1", + "X8UV", + "sQtk" + ], + "texture": 0 + }, + "ozLJFyHo": { + "uv": { + "RmSb": [ + 0, + 1 + ], + "zYyh": [ + 1, + 1 + ], + "x9OR": [ + 1, + 0 + ], + "S2c8": [ + 0, + 0 + ] + }, + "vertices": [ + "RmSb", + "zYyh", + "x9OR", + "S2c8" + ], + "texture": 0 + }, + "mDQE03il": { + "uv": { + "S2c8": [ + 0, + 1 + ], + "x9OR": [ + 1, + 1 + ], + "u2a1": [ + 1, + 0 + ], + "ylXo": [ + 0, + 0 + ] + }, + "vertices": [ + "S2c8", + "x9OR", + "u2a1", + "ylXo" + ], + "texture": 0 + }, + "aLJcMZp5": { + "uv": { + "sQtk": [ + 0, + 1 + ], + "X8UV": [ + 1, + 1 + ], + "zYyh": [ + 1, + 0 + ], + "RmSb": [ + 0, + 0 + ] + }, + "vertices": [ + "sQtk", + "X8UV", + "zYyh", + "RmSb" + ], + "texture": 0 + }, + "56XzMOIE": { + "uv": { + "u2a1": [ + 0, + 1 + ], + "1Z90": [ + 1, + 1 + ], + "W73F": [ + 1, + 0 + ], + "X8UV": [ + 0, + 0 + ] + }, + "vertices": [ + "u2a1", + "1Z90", + "W73F", + "X8UV" + ], + "texture": 0 + }, + "4EWVdFPs": { + "uv": { + "zYyh": [ + 0, + 1 + ], + "wf9K": [ + 1, + 1 + ], + "IqlN": [ + 1, + 0 + ], + "x9OR": [ + 0, + 0 + ] + }, + "vertices": [ + "zYyh", + "wf9K", + "IqlN", + "x9OR" + ], + "texture": 0 + }, + "uSbxBZ0B": { + "uv": { + "x9OR": [ + 0, + 1 + ], + "IqlN": [ + 1, + 1 + ], + "1Z90": [ + 1, + 0 + ], + "u2a1": [ + 0, + 0 + ] + }, + "vertices": [ + "x9OR", + "IqlN", + "1Z90", + "u2a1" + ], + "texture": 0 + }, + "DYSaaGgJ": { + "uv": { + "X8UV": [ + 0, + 1 + ], + "W73F": [ + 1, + 1 + ], + "wf9K": [ + 1, + 0 + ], + "zYyh": [ + 0, + 0 + ] + }, + "vertices": [ + "X8UV", + "W73F", + "wf9K", + "zYyh" + ], + "texture": 0 + }, + "Ni17MxLU": { + "uv": { + "1Z90": [ + 0, + 1 + ], + "acIX": [ + 1, + 1 + ], + "0Rd3": [ + 1, + 0 + ], + "W73F": [ + 0, + 0 + ] + }, + "vertices": [ + "1Z90", + "acIX", + "0Rd3", + "W73F" + ], + "texture": 0 + }, + "i8BXCbl3": { + "uv": { + "wf9K": [ + 0, + 1 + ], + "dBWL": [ + 1, + 1 + ], + "Vv1r": [ + 1, + 0 + ], + "IqlN": [ + 0, + 0 + ] + }, + "vertices": [ + "wf9K", + "dBWL", + "Vv1r", + "IqlN" + ], + "texture": 0 + }, + "R7zZaHYQ": { + "uv": { + "IqlN": [ + 0, + 1 + ], + "Vv1r": [ + 1, + 1 + ], + "acIX": [ + 1, + 0 + ], + "1Z90": [ + 0, + 0 + ] + }, + "vertices": [ + "IqlN", + "Vv1r", + "acIX", + "1Z90" + ], + "texture": 0 + }, + "TyXnVYQp": { + "uv": { + "W73F": [ + 0, + 1 + ], + "0Rd3": [ + 1, + 1 + ], + "dBWL": [ + 1, + 0 + ], + "wf9K": [ + 0, + 0 + ] + }, + "vertices": [ + "W73F", + "0Rd3", + "dBWL", + "wf9K" + ], + "texture": 0 + }, + "H3T5PtuM": { + "uv": { + "acIX": [ + 0, + 1 + ], + "kxJX": [ + 1, + 1 + ], + "SrCz": [ + 1, + 0 + ], + "0Rd3": [ + 0, + 0 + ] + }, + "vertices": [ + "acIX", + "kxJX", + "SrCz", + "0Rd3" + ], + "texture": 0 + }, + "kCwWOVpw": { + "uv": { + "dBWL": [ + 0, + 1 + ], + "cfvr": [ + 1, + 1 + ], + "HnfJ": [ + 1, + 0 + ], + "Vv1r": [ + 0, + 0 + ] + }, + "vertices": [ + "dBWL", + "cfvr", + "HnfJ", + "Vv1r" + ], + "texture": 0 + }, + "FzpM5cPn": { + "uv": { + "Vv1r": [ + 0, + 1 + ], + "HnfJ": [ + 1, + 1 + ], + "kxJX": [ + 1, + 0 + ], + "acIX": [ + 0, + 0 + ] + }, + "vertices": [ + "Vv1r", + "HnfJ", + "kxJX", + "acIX" + ], + "texture": 0 + }, + "IClwcAGG": { + "uv": { + "0Rd3": [ + 0, + 1 + ], + "SrCz": [ + 1, + 1 + ], + "cfvr": [ + 1, + 0 + ], + "dBWL": [ + 0, + 0 + ] + }, + "vertices": [ + "0Rd3", + "SrCz", + "cfvr", + "dBWL" + ], + "texture": 0 + }, + "QeLRHqvi": { + "uv": { + "kxJX": [ + 0, + 1 + ], + "1Cq0": [ + 1, + 1 + ], + "f3En": [ + 1, + 0 + ], + "SrCz": [ + 0, + 0 + ] + }, + "vertices": [ + "kxJX", + "1Cq0", + "f3En", + "SrCz" + ], + "texture": 0 + }, + "V8ENE2Jg": { + "uv": { + "cfvr": [ + 0, + 1 + ], + "6aQq": [ + 1, + 1 + ], + "qagW": [ + 1, + 0 + ], + "HnfJ": [ + 0, + 0 + ] + }, + "vertices": [ + "cfvr", + "6aQq", + "qagW", + "HnfJ" + ], + "texture": 0 + }, + "RsBssHJc": { + "uv": { + "HnfJ": [ + 0, + 1 + ], + "qagW": [ + 1, + 1 + ], + "1Cq0": [ + 1, + 0 + ], + "kxJX": [ + 0, + 0 + ] + }, + "vertices": [ + "HnfJ", + "qagW", + "1Cq0", + "kxJX" + ], + "texture": 0 + }, + "y2n9SmhD": { + "uv": { + "SrCz": [ + 0, + 1 + ], + "f3En": [ + 1, + 1 + ], + "6aQq": [ + 1, + 0 + ], + "cfvr": [ + 0, + 0 + ] + }, + "vertices": [ + "SrCz", + "f3En", + "6aQq", + "cfvr" + ], + "texture": 0 + }, + "wIsXugWf": { + "uv": { + "1Cq0": [ + 0, + 1 + ], + "4D81": [ + 1, + 1 + ], + "9wtO": [ + 1, + 0 + ], + "f3En": [ + 0, + 0 + ] + }, + "vertices": [ + "1Cq0", + "4D81", + "9wtO", + "f3En" + ], + "texture": 0 + }, + "AJ7veiCH": { + "uv": { + "6aQq": [ + 0, + 1 + ], + "ho4K": [ + 1, + 1 + ], + "qj0K": [ + 1, + 0 + ], + "qagW": [ + 0, + 0 + ] + }, + "vertices": [ + "6aQq", + "ho4K", + "qj0K", + "qagW" + ], + "texture": 0 + }, + "9qm9YYmY": { + "uv": { + "qagW": [ + 0, + 1 + ], + "qj0K": [ + 1, + 1 + ], + "4D81": [ + 1, + 0 + ], + "1Cq0": [ + 0, + 0 + ] + }, + "vertices": [ + "qagW", + "qj0K", + "4D81", + "1Cq0" + ], + "texture": 0 + }, + "75xJBXJd": { + "uv": { + "f3En": [ + 0, + 1 + ], + "9wtO": [ + 1, + 1 + ], + "ho4K": [ + 1, + 0 + ], + "6aQq": [ + 0, + 0 + ] + }, + "vertices": [ + "f3En", + "9wtO", + "ho4K", + "6aQq" + ], + "texture": 0 + }, + "pps4V1C2": { + "uv": { + "4D81": [ + 0, + 1 + ], + "buTO": [ + 1, + 1 + ], + "zAr2": [ + 1, + 0 + ], + "9wtO": [ + 0, + 0 + ] + }, + "vertices": [ + "4D81", + "buTO", + "zAr2", + "9wtO" + ], + "texture": 0 + }, + "qqwkhZeT": { + "uv": { + "ho4K": [ + 0, + 1 + ], + "B2V9": [ + 1, + 1 + ], + "OVDA": [ + 1, + 0 + ], + "qj0K": [ + 0, + 0 + ] + }, + "vertices": [ + "ho4K", + "B2V9", + "OVDA", + "qj0K" + ], + "texture": 0 + }, + "McWtz1FG": { + "uv": { + "qj0K": [ + 0, + 1 + ], + "OVDA": [ + 1, + 1 + ], + "buTO": [ + 1, + 0 + ], + "4D81": [ + 0, + 0 + ] + }, + "vertices": [ + "qj0K", + "OVDA", + "buTO", + "4D81" + ], + "texture": 0 + }, + "EcwBymXq": { + "uv": { + "9wtO": [ + 0, + 1 + ], + "zAr2": [ + 1, + 1 + ], + "B2V9": [ + 1, + 0 + ], + "ho4K": [ + 0, + 0 + ] + }, + "vertices": [ + "9wtO", + "zAr2", + "B2V9", + "ho4K" + ], + "texture": 0 + }, + "JVWykNLs": { + "uv": { + "buTO": [ + 0, + 1 + ], + "PH7M": [ + 1, + 1 + ], + "cpp4": [ + 1, + 0 + ], + "zAr2": [ + 0, + 0 + ] + }, + "vertices": [ + "buTO", + "PH7M", + "cpp4", + "zAr2" + ], + "texture": 0 + }, + "WtO0eNE9": { + "uv": { + "B2V9": [ + 0, + 1 + ], + "0z1I": [ + 1, + 1 + ], + "n7FK": [ + 1, + 0 + ], + "OVDA": [ + 0, + 0 + ] + }, + "vertices": [ + "B2V9", + "0z1I", + "n7FK", + "OVDA" + ], + "texture": 0 + }, + "GFZTui1L": { + "uv": { + "OVDA": [ + 0, + 1 + ], + "n7FK": [ + 1, + 1 + ], + "PH7M": [ + 1, + 0 + ], + "buTO": [ + 0, + 0 + ] + }, + "vertices": [ + "OVDA", + "n7FK", + "PH7M", + "buTO" + ], + "texture": 0 + }, + "1fTMTGbV": { + "uv": { + "zAr2": [ + 0, + 1 + ], + "cpp4": [ + 1, + 1 + ], + "0z1I": [ + 1, + 0 + ], + "B2V9": [ + 0, + 0 + ] + }, + "vertices": [ + "zAr2", + "cpp4", + "0z1I", + "B2V9" + ], + "texture": 0 + }, + "RreF9fYQ": { + "uv": { + "PH7M": [ + 0, + 1 + ], + "YeNG": [ + 1, + 1 + ], + "RPkl": [ + 1, + 0 + ], + "cpp4": [ + 0, + 0 + ] + }, + "vertices": [ + "PH7M", + "YeNG", + "RPkl", + "cpp4" + ], + "texture": 0 + }, + "b4Aj2UI9": { + "uv": { + "0z1I": [ + 0, + 1 + ], + "1P7Q": [ + 1, + 1 + ], + "cT8H": [ + 1, + 0 + ], + "n7FK": [ + 0, + 0 + ] + }, + "vertices": [ + "0z1I", + "1P7Q", + "cT8H", + "n7FK" + ], + "texture": 0 + }, + "X2ncSwxk": { + "uv": { + "n7FK": [ + 0, + 1 + ], + "cT8H": [ + 1, + 1 + ], + "YeNG": [ + 1, + 0 + ], + "PH7M": [ + 0, + 0 + ] + }, + "vertices": [ + "n7FK", + "cT8H", + "YeNG", + "PH7M" + ], + "texture": 0 + }, + "vq4iTZSp": { + "uv": { + "cpp4": [ + 0, + 1 + ], + "RPkl": [ + 1, + 1 + ], + "1P7Q": [ + 1, + 0 + ], + "0z1I": [ + 0, + 0 + ] + }, + "vertices": [ + "cpp4", + "RPkl", + "1P7Q", + "0z1I" + ], + "texture": 0 + }, + "mVUgdAod": { + "uv": { + "YeNG": [ + 0, + 1 + ], + "34af": [ + 1, + 1 + ], + "ieJV": [ + 1, + 0 + ], + "RPkl": [ + 0, + 0 + ] + }, + "vertices": [ + "YeNG", + "34af", + "ieJV", + "RPkl" + ], + "texture": 0 + }, + "Qw1qdOPG": { + "uv": { + "1P7Q": [ + 0, + 1 + ], + "GFmM": [ + 1, + 1 + ], + "VrI1": [ + 1, + 0 + ], + "cT8H": [ + 0, + 0 + ] + }, + "vertices": [ + "1P7Q", + "GFmM", + "VrI1", + "cT8H" + ], + "texture": 0 + }, + "C98i5bJo": { + "uv": { + "cT8H": [ + 0, + 1 + ], + "VrI1": [ + 1, + 1 + ], + "34af": [ + 1, + 0 + ], + "YeNG": [ + 0, + 0 + ] + }, + "vertices": [ + "cT8H", + "VrI1", + "34af", + "YeNG" + ], + "texture": 0 + }, + "GPlLY4fV": { + "uv": { + "RPkl": [ + 0, + 1 + ], + "ieJV": [ + 1, + 1 + ], + "GFmM": [ + 1, + 0 + ], + "1P7Q": [ + 0, + 0 + ] + }, + "vertices": [ + "RPkl", + "ieJV", + "GFmM", + "1P7Q" + ], + "texture": 0 + }, + "cKcEFJq3": { + "uv": { + "34af": [ + 0, + 1 + ], + "Uuq2": [ + 1, + 1 + ], + "N6EV": [ + 1, + 0 + ], + "ieJV": [ + 0, + 0 + ] + }, + "vertices": [ + "34af", + "Uuq2", + "N6EV", + "ieJV" + ], + "texture": 0 + }, + "jKi8igKK": { + "uv": { + "GFmM": [ + 0, + 1 + ], + "L9HV": [ + 1, + 1 + ], + "YDlD": [ + 1, + 0 + ], + "VrI1": [ + 0, + 0 + ] + }, + "vertices": [ + "GFmM", + "L9HV", + "YDlD", + "VrI1" + ], + "texture": 0 + }, + "gccU9BTW": { + "uv": { + "VrI1": [ + 0, + 1 + ], + "YDlD": [ + 1, + 1 + ], + "Uuq2": [ + 1, + 0 + ], + "34af": [ + 0, + 0 + ] + }, + "vertices": [ + "VrI1", + "YDlD", + "Uuq2", + "34af" + ], + "texture": 0 + }, + "fVY6nU74": { + "uv": { + "ieJV": [ + 0, + 1 + ], + "N6EV": [ + 1, + 1 + ], + "L9HV": [ + 1, + 0 + ], + "GFmM": [ + 0, + 0 + ] + }, + "vertices": [ + "ieJV", + "N6EV", + "L9HV", + "GFmM" + ], + "texture": 0 + }, + "O9Xn16jG": { + "uv": { + "Uuq2": [ + 0, + 1 + ], + "yL1W": [ + 1, + 1 + ], + "hw08": [ + 1, + 0 + ], + "N6EV": [ + 0, + 0 + ] + }, + "vertices": [ + "Uuq2", + "yL1W", + "hw08", + "N6EV" + ], + "texture": 0 + }, + "ep2UycdD": { + "uv": { + "L9HV": [ + 0, + 1 + ], + "AT3x": [ + 1, + 1 + ], + "iBQX": [ + 1, + 0 + ], + "YDlD": [ + 0, + 0 + ] + }, + "vertices": [ + "L9HV", + "AT3x", + "iBQX", + "YDlD" + ], + "texture": 0 + }, + "Q8ppSJk3": { + "uv": { + "YDlD": [ + 0, + 1 + ], + "iBQX": [ + 1, + 1 + ], + "yL1W": [ + 1, + 0 + ], + "Uuq2": [ + 0, + 0 + ] + }, + "vertices": [ + "YDlD", + "iBQX", + "yL1W", + "Uuq2" + ], + "texture": 0 + }, + "qMr46IVm": { + "uv": { + "N6EV": [ + 0, + 1 + ], + "hw08": [ + 1, + 1 + ], + "AT3x": [ + 1, + 0 + ], + "L9HV": [ + 0, + 0 + ] + }, + "vertices": [ + "N6EV", + "hw08", + "AT3x", + "L9HV" + ], + "texture": 0 + }, + "5ATyrKbj": { + "uv": { + "yL1W": [ + 0, + 1 + ], + "bwsL": [ + 1, + 1 + ], + "qRrl": [ + 1, + 0 + ], + "hw08": [ + 0, + 0 + ] + }, + "vertices": [ + "yL1W", + "bwsL", + "qRrl", + "hw08" + ], + "texture": 0 + }, + "gwJOjFDU": { + "uv": { + "AT3x": [ + 0, + 1 + ], + "ZpfH": [ + 1, + 1 + ], + "WE1U": [ + 1, + 0 + ], + "iBQX": [ + 0, + 0 + ] + }, + "vertices": [ + "AT3x", + "ZpfH", + "WE1U", + "iBQX" + ], + "texture": 0 + }, + "lRItTLhv": { + "uv": { + "iBQX": [ + 0, + 1 + ], + "WE1U": [ + 1, + 1 + ], + "bwsL": [ + 1, + 0 + ], + "yL1W": [ + 0, + 0 + ] + }, + "vertices": [ + "iBQX", + "WE1U", + "bwsL", + "yL1W" + ], + "texture": 0 + }, + "QzWjeGfQ": { + "uv": { + "hw08": [ + 0, + 1 + ], + "qRrl": [ + 1, + 1 + ], + "ZpfH": [ + 1, + 0 + ], + "AT3x": [ + 0, + 0 + ] + }, + "vertices": [ + "hw08", + "qRrl", + "ZpfH", + "AT3x" + ], + "texture": 0 + }, + "RtPEsdI3": { + "uv": { + "bwsL": [ + 0, + 1 + ], + "Dwm0": [ + 1, + 1 + ], + "XMjM": [ + 1, + 0 + ], + "qRrl": [ + 0, + 0 + ] + }, + "vertices": [ + "bwsL", + "Dwm0", + "XMjM", + "qRrl" + ], + "texture": 0 + }, + "uuDgctlB": { + "uv": { + "ZpfH": [ + 0, + 1 + ], + "gliG": [ + 1, + 1 + ], + "8lNT": [ + 1, + 0 + ], + "WE1U": [ + 0, + 0 + ] + }, + "vertices": [ + "ZpfH", + "gliG", + "8lNT", + "WE1U" + ], + "texture": 0 + }, + "TSJP70sW": { + "uv": { + "WE1U": [ + 0, + 1 + ], + "8lNT": [ + 1, + 1 + ], + "Dwm0": [ + 1, + 0 + ], + "bwsL": [ + 0, + 0 + ] + }, + "vertices": [ + "WE1U", + "8lNT", + "Dwm0", + "bwsL" + ], + "texture": 0 + }, + "EwfMC3sr": { + "uv": { + "qRrl": [ + 0, + 1 + ], + "XMjM": [ + 1, + 1 + ], + "gliG": [ + 1, + 0 + ], + "ZpfH": [ + 0, + 0 + ] + }, + "vertices": [ + "qRrl", + "XMjM", + "gliG", + "ZpfH" + ], + "texture": 0 + }, + "bDiesAgE": { + "uv": { + "Dwm0": [ + 0, + 1 + ], + "PWkp": [ + 1, + 1 + ], + "lrII": [ + 1, + 0 + ], + "XMjM": [ + 0, + 0 + ] + }, + "vertices": [ + "Dwm0", + "PWkp", + "lrII", + "XMjM" + ], + "texture": 0 + }, + "WF3aWaQX": { + "uv": { + "gliG": [ + 0, + 1 + ], + "Kanm": [ + 1, + 1 + ], + "LdgL": [ + 1, + 0 + ], + "8lNT": [ + 0, + 0 + ] + }, + "vertices": [ + "gliG", + "Kanm", + "LdgL", + "8lNT" + ], + "texture": 0 + }, + "PkSFY102": { + "uv": { + "8lNT": [ + 0, + 1 + ], + "LdgL": [ + 1, + 1 + ], + "PWkp": [ + 1, + 0 + ], + "Dwm0": [ + 0, + 0 + ] + }, + "vertices": [ + "8lNT", + "LdgL", + "PWkp", + "Dwm0" + ], + "texture": 0 + }, + "2XLkETk1": { + "uv": { + "XMjM": [ + 0, + 1 + ], + "lrII": [ + 1, + 1 + ], + "Kanm": [ + 1, + 0 + ], + "gliG": [ + 0, + 0 + ] + }, + "vertices": [ + "XMjM", + "lrII", + "Kanm", + "gliG" + ], + "texture": 0 + }, + "9veZVJR8": { + "uv": { + "PWkp": [ + 0, + 1 + ], + "ylXo": [ + 1, + 1 + ], + "sQtk": [ + 1, + 0 + ], + "lrII": [ + 0, + 0 + ] + }, + "vertices": [ + "PWkp", + "ylXo", + "sQtk", + "lrII" + ], + "texture": 0 + }, + "uD4Kut11": { + "uv": { + "Kanm": [ + 0, + 1 + ], + "RmSb": [ + 1, + 1 + ], + "S2c8": [ + 1, + 0 + ], + "LdgL": [ + 0, + 0 + ] + }, + "vertices": [ + "Kanm", + "RmSb", + "S2c8", + "LdgL" + ], + "texture": 0 + }, + "JdGddGpP": { + "uv": { + "LdgL": [ + 0, + 1 + ], + "S2c8": [ + 1, + 1 + ], + "ylXo": [ + 1, + 0 + ], + "PWkp": [ + 0, + 0 + ] + }, + "vertices": [ + "LdgL", + "S2c8", + "ylXo", + "PWkp" + ], + "texture": 0 + }, + "kQWf4SQ1": { + "uv": { + "lrII": [ + 0, + 1 + ], + "sQtk": [ + 1, + 1 + ], + "RmSb": [ + 1, + 0 + ], + "Kanm": [ + 0, + 0 + ] + }, + "vertices": [ + "lrII", + "sQtk", + "RmSb", + "Kanm" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "2029e718-668e-946e-99e7-dfa7dd4d82ec" + }, + { + "name": "PedalShaft1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.825, + 5.625, + 0.85 + ], + "to": [ + 1.325, + 6.375, + 1.6 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.325, + 6, + 1.25 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "56a034b5-b845-5205-52ce-14c68d2d2c99" + }, + { + "name": "PedalShaft1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.325, + 5.625, + 0.85 + ], + "to": [ + -0.825, + 6.375, + 1.6 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.325, + 6, + 1.25 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "37ba5fb8-7f3c-0a5c-4a8e-cf82cb7b86a4" + }, + { + "name": "LeftBoreneo", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.376, + 5.5, + -9 + ], + "to": [ + -0.376, + 6.5, + -2.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 5.5, + 0.75 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 9, + 0, + 43, + 5 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5868c8a5-ae30-8c2b-56e3-e371a08c61ca" + }, + { + "name": "RightBoreneo", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.376, + 5.5, + -9 + ], + "to": [ + 0.376, + 6.5, + -2.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 5.5, + 0.75 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 9, + 0, + 43, + 5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5b9ed420-b754-6dfa-9ec1-0e3047d572eb" + }, + { + "name": "GearShaft1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1.1, + 4.97, + 1.1 + ], + "to": [ + 1.225, + 7.03, + 1.35 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1.15, + 6, + 1.225 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "c76ed13b-9286-9945-f890-d3402a811b46" + }, + { + "name": "GearShaft2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1.1, + 4.97, + 1.1 + ], + "to": [ + 1.225, + 7.03, + 1.35 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 90, + 0, + 0 + ], + "origin": [ + 1.15, + 6, + 1.225 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5b03f483-dd57-88ad-4908-e45c0a6eb5bf" + }, + { + "name": "ShaftGear", + "color": 0, + "origin": [ + 0, + 6, + 9 + ], + "rotation": [ + 0, + 0, + 90 + ], + "export": true, + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "5dpr": [ + 0, + -1, + 0 + ], + "Lzvj": [ + 0, + -0.875, + 0 + ], + "rxMR": [ + 0.19891, + -1, + 1 + ], + "H85I": [ + 0.19891, + -0.875, + 1 + ], + "PLHz": [ + 0.56645, + -1, + 0.84776 + ], + "b0Be": [ + 0.56645, + -0.875, + 0.84776 + ], + "XUfP": [ + 0.84776, + -1, + 0.56645 + ], + "YifP": [ + 0.84776, + -0.875, + 0.56645 + ], + "wFJB": [ + 1, + -1, + 0.19891 + ], + "f9Bp": [ + 1, + -0.875, + 0.19891 + ], + "Q283": [ + 1, + -1, + -0.19891 + ], + "RNRF": [ + 1, + -0.875, + -0.19891 + ], + "V6YA": [ + 0.84776, + -1, + -0.56645 + ], + "z8Ic": [ + 0.84776, + -0.875, + -0.56645 + ], + "8H5W": [ + 0.56645, + -1, + -0.84776 + ], + "knFz": [ + 0.56645, + -0.875, + -0.84776 + ], + "2BGD": [ + 0.19891, + -1, + -1 + ], + "KGBc": [ + 0.19891, + -0.875, + -1 + ], + "piZr": [ + -0.19891, + -1, + -1 + ], + "kH4F": [ + -0.19891, + -0.875, + -1 + ], + "r7fn": [ + -0.56645, + -1, + -0.84776 + ], + "99M2": [ + -0.56645, + -0.875, + -0.84776 + ], + "tCft": [ + -0.84776, + -1, + -0.56645 + ], + "3rpn": [ + -0.84776, + -0.875, + -0.56645 + ], + "hvsl": [ + -1, + -1, + -0.19891 + ], + "IuNj": [ + -1, + -0.875, + -0.19891 + ], + "HEXQ": [ + -1, + -1, + 0.19891 + ], + "4IUU": [ + -1, + -0.875, + 0.19891 + ], + "5XYk": [ + -0.84776, + -1, + 0.56645 + ], + "zMls": [ + -0.84776, + -0.875, + 0.56645 + ], + "ZZi4": [ + -0.56645, + -1, + 0.84776 + ], + "dW4F": [ + -0.56645, + -0.875, + 0.84776 + ], + "53VP": [ + -0.19891, + -1, + 1 + ], + "PDBs": [ + -0.19891, + -0.875, + 1 + ] + }, + "faces": { + "uuDFm859": { + "uv": { + "PLHz": [ + 2, + 1 + ], + "rxMR": [ + 1.92381, + 0 + ], + "5dpr": [ + 1, + 1 + ] + }, + "vertices": [ + "PLHz", + "rxMR", + "5dpr" + ], + "texture": 0 + }, + "HMroQEfo": { + "uv": { + "rxMR": [ + 1, + 1 + ], + "PLHz": [ + 2, + 1 + ], + "b0Be": [ + 2, + 0 + ], + "H85I": [ + 1, + 0 + ] + }, + "vertices": [ + "rxMR", + "PLHz", + "b0Be", + "H85I" + ], + "texture": 0 + }, + "eKOwdrz4": { + "uv": { + "H85I": [ + 1, + 1 + ], + "b0Be": [ + 2, + 1 + ], + "Lzvj": [ + 2, + 0 + ] + }, + "vertices": [ + "H85I", + "b0Be", + "Lzvj" + ], + "texture": 0 + }, + "nHmsd5BK": { + "uv": { + "XUfP": [ + 2, + 1 + ], + "PLHz": [ + 1.92381, + 0 + ], + "5dpr": [ + 1, + 1 + ] + }, + "vertices": [ + "XUfP", + "PLHz", + "5dpr" + ], + "texture": 0 + }, + "OuzyqEof": { + "uv": { + "PLHz": [ + 1, + 1 + ], + "XUfP": [ + 2, + 1 + ], + "YifP": [ + 2, + 0 + ], + "b0Be": [ + 1, + 0 + ] + }, + "vertices": [ + "PLHz", + "XUfP", + "YifP", + "b0Be" + ], + "texture": 0 + }, + "sxQHNUcQ": { + "uv": { + "b0Be": [ + 1, + 1 + ], + "YifP": [ + 2, + 1 + ], + "Lzvj": [ + 2, + 0 + ] + }, + "vertices": [ + "b0Be", + "YifP", + "Lzvj" + ], + "texture": 0 + }, + "tf0Qrm1R": { + "uv": { + "wFJB": [ + 2, + 1 + ], + "XUfP": [ + 1.92381, + 0 + ], + "5dpr": [ + 1, + 1 + ] + }, + "vertices": [ + "wFJB", + "XUfP", + "5dpr" + ], + "texture": 0 + }, + "Tno6fKHW": { + "uv": { + "XUfP": [ + 1, + 1 + ], + "wFJB": [ + 2, + 1 + ], + "f9Bp": [ + 2, + 0 + ], + "YifP": [ + 1, + 0 + ] + }, + "vertices": [ + "XUfP", + "wFJB", + "f9Bp", + "YifP" + ], + "texture": 0 + }, + "x4A2zJ8A": { + "uv": { + "YifP": [ + 1, + 1 + ], + "f9Bp": [ + 2, + 1 + ], + "Lzvj": [ + 2, + 0 + ] + }, + "vertices": [ + "YifP", + "f9Bp", + "Lzvj" + ], + "texture": 0 + }, + "XsKPMoNE": { + "uv": { + "Q283": [ + 2, + 1 + ], + "wFJB": [ + 1.92381, + 0 + ], + "5dpr": [ + 1, + 1 + ] + }, + "vertices": [ + "Q283", + "wFJB", + "5dpr" + ], + "texture": 0 + }, + "zjlILPH3": { + "uv": { + "wFJB": [ + 1, + 1 + ], + "Q283": [ + 2, + 1 + ], + "RNRF": [ + 2, + 0 + ], + "f9Bp": [ + 1, + 0 + ] + }, + "vertices": [ + "wFJB", + "Q283", + "RNRF", + "f9Bp" + ], + "texture": 0 + }, + "cp6CA4On": { + "uv": { + "f9Bp": [ + 1, + 1 + ], + "RNRF": [ + 2, + 1 + ], + "Lzvj": [ + 2, + 0 + ] + }, + "vertices": [ + "f9Bp", + "RNRF", + "Lzvj" + ], + "texture": 0 + }, + "dTGxQSeR": { + "uv": { + "V6YA": [ + 2, + 1 + ], + "Q283": [ + 1.92381, + 0 + ], + "5dpr": [ + 1, + 1 + ] + }, + "vertices": [ + "V6YA", + "Q283", + "5dpr" + ], + "texture": 0 + }, + "uV2P3HTK": { + "uv": { + "Q283": [ + 1, + 1 + ], + "V6YA": [ + 2, + 1 + ], + "z8Ic": [ + 2, + 0 + ], + "RNRF": [ + 1, + 0 + ] + }, + "vertices": [ + "Q283", + "V6YA", + "z8Ic", + "RNRF" + ], + "texture": 0 + }, + "WSvQM2Pv": { + "uv": { + "RNRF": [ + 1, + 1 + ], + "z8Ic": [ + 2, + 1 + ], + "Lzvj": [ + 2, + 0 + ] + }, + "vertices": [ + "RNRF", + "z8Ic", + "Lzvj" + ], + "texture": 0 + }, + "6KP4BY8B": { + "uv": { + "8H5W": [ + 2, + 1 + ], + "V6YA": [ + 1.92381, + 0 + ], + "5dpr": [ + 1, + 1 + ] + }, + "vertices": [ + "8H5W", + "V6YA", + "5dpr" + ], + "texture": 0 + }, + "gWgqIsNf": { + "uv": { + "V6YA": [ + 1, + 1 + ], + "8H5W": [ + 2, + 1 + ], + "knFz": [ + 2, + 0 + ], + "z8Ic": [ + 1, + 0 + ] + }, + "vertices": [ + "V6YA", + "8H5W", + "knFz", + "z8Ic" + ], + "texture": 0 + }, + "nTFCqaDa": { + "uv": { + "z8Ic": [ + 1, + 1 + ], + "knFz": [ + 2, + 1 + ], + "Lzvj": [ + 2, + 0 + ] + }, + "vertices": [ + "z8Ic", + "knFz", + "Lzvj" + ], + "texture": 0 + }, + "yh7mUAbI": { + "uv": { + "2BGD": [ + 2, + 1 + ], + "8H5W": [ + 1.92381, + 0 + ], + "5dpr": [ + 1, + 1 + ] + }, + "vertices": [ + "2BGD", + "8H5W", + "5dpr" + ], + "texture": 0 + }, + "PL0hc1QO": { + "uv": { + "8H5W": [ + 1, + 1 + ], + "2BGD": [ + 2, + 1 + ], + "KGBc": [ + 2, + 0 + ], + "knFz": [ + 1, + 0 + ] + }, + "vertices": [ + "8H5W", + "2BGD", + "KGBc", + "knFz" + ], + "texture": 0 + }, + "13NFvJTX": { + "uv": { + "knFz": [ + 1, + 1 + ], + "KGBc": [ + 2, + 1 + ], + "Lzvj": [ + 2, + 0 + ] + }, + "vertices": [ + "knFz", + "KGBc", + "Lzvj" + ], + "texture": 0 + }, + "6eaV0LZ3": { + "uv": { + "piZr": [ + 2, + 1 + ], + "2BGD": [ + 1.92381, + 0 + ], + "5dpr": [ + 1, + 1 + ] + }, + "vertices": [ + "piZr", + "2BGD", + "5dpr" + ], + "texture": 0 + }, + "INsCLgYh": { + "uv": { + "2BGD": [ + 1, + 1 + ], + "piZr": [ + 2, + 1 + ], + "kH4F": [ + 2, + 0 + ], + "KGBc": [ + 1, + 0 + ] + }, + "vertices": [ + "2BGD", + "piZr", + "kH4F", + "KGBc" + ], + "texture": 0 + }, + "HJWzYqjE": { + "uv": { + "KGBc": [ + 1, + 1 + ], + "kH4F": [ + 2, + 1 + ], + "Lzvj": [ + 2, + 0 + ] + }, + "vertices": [ + "KGBc", + "kH4F", + "Lzvj" + ], + "texture": 0 + }, + "iMxF2IlW": { + "uv": { + "r7fn": [ + 2, + 1 + ], + "piZr": [ + 1.92381, + 0 + ], + "5dpr": [ + 1, + 1 + ] + }, + "vertices": [ + "r7fn", + "piZr", + "5dpr" + ], + "texture": 0 + }, + "4Spj5JAd": { + "uv": { + "piZr": [ + 1, + 1 + ], + "r7fn": [ + 2, + 1 + ], + "99M2": [ + 2, + 0 + ], + "kH4F": [ + 1, + 0 + ] + }, + "vertices": [ + "piZr", + "r7fn", + "99M2", + "kH4F" + ], + "texture": 0 + }, + "xfjwArNA": { + "uv": { + "kH4F": [ + 1, + 1 + ], + "99M2": [ + 2, + 1 + ], + "Lzvj": [ + 2, + 0 + ] + }, + "vertices": [ + "kH4F", + "99M2", + "Lzvj" + ], + "texture": 0 + }, + "3IfW1iPi": { + "uv": { + "tCft": [ + 2, + 1 + ], + "r7fn": [ + 1.92381, + 0 + ], + "5dpr": [ + 1, + 1 + ] + }, + "vertices": [ + "tCft", + "r7fn", + "5dpr" + ], + "texture": 0 + }, + "CNhDErZr": { + "uv": { + "r7fn": [ + 1, + 1 + ], + "tCft": [ + 2, + 1 + ], + "3rpn": [ + 2, + 0 + ], + "99M2": [ + 1, + 0 + ] + }, + "vertices": [ + "r7fn", + "tCft", + "3rpn", + "99M2" + ], + "texture": 0 + }, + "dEKnCSTr": { + "uv": { + "99M2": [ + 1, + 1 + ], + "3rpn": [ + 2, + 1 + ], + "Lzvj": [ + 2, + 0 + ] + }, + "vertices": [ + "99M2", + "3rpn", + "Lzvj" + ], + "texture": 0 + }, + "oNr3s3pg": { + "uv": { + "hvsl": [ + 2, + 1 + ], + "tCft": [ + 1.92381, + 0 + ], + "5dpr": [ + 1, + 1 + ] + }, + "vertices": [ + "hvsl", + "tCft", + "5dpr" + ], + "texture": 0 + }, + "7ilIfygc": { + "uv": { + "tCft": [ + 1, + 1 + ], + "hvsl": [ + 2, + 1 + ], + "IuNj": [ + 2, + 0 + ], + "3rpn": [ + 1, + 0 + ] + }, + "vertices": [ + "tCft", + "hvsl", + "IuNj", + "3rpn" + ], + "texture": 0 + }, + "1fn4zdCd": { + "uv": { + "3rpn": [ + 1, + 1 + ], + "IuNj": [ + 2, + 1 + ], + "Lzvj": [ + 2, + 0 + ] + }, + "vertices": [ + "3rpn", + "IuNj", + "Lzvj" + ], + "texture": 0 + }, + "Q0NOoANU": { + "uv": { + "HEXQ": [ + 2, + 1 + ], + "hvsl": [ + 1.92381, + 0 + ], + "5dpr": [ + 1, + 1 + ] + }, + "vertices": [ + "HEXQ", + "hvsl", + "5dpr" + ], + "texture": 0 + }, + "J4F9nywg": { + "uv": { + "hvsl": [ + 1, + 1 + ], + "HEXQ": [ + 2, + 1 + ], + "4IUU": [ + 2, + 0 + ], + "IuNj": [ + 1, + 0 + ] + }, + "vertices": [ + "hvsl", + "HEXQ", + "4IUU", + "IuNj" + ], + "texture": 0 + }, + "KhUEt3xB": { + "uv": { + "IuNj": [ + 1, + 1 + ], + "4IUU": [ + 2, + 1 + ], + "Lzvj": [ + 2, + 0 + ] + }, + "vertices": [ + "IuNj", + "4IUU", + "Lzvj" + ], + "texture": 0 + }, + "mF1sdzWG": { + "uv": { + "5XYk": [ + 2, + 1 + ], + "HEXQ": [ + 1.92381, + 0 + ], + "5dpr": [ + 1, + 1 + ] + }, + "vertices": [ + "5XYk", + "HEXQ", + "5dpr" + ], + "texture": 0 + }, + "0tRiFmcH": { + "uv": { + "HEXQ": [ + 1, + 1 + ], + "5XYk": [ + 2, + 1 + ], + "zMls": [ + 2, + 0 + ], + "4IUU": [ + 1, + 0 + ] + }, + "vertices": [ + "HEXQ", + "5XYk", + "zMls", + "4IUU" + ], + "texture": 0 + }, + "CgXKYL2B": { + "uv": { + "4IUU": [ + 1, + 1 + ], + "zMls": [ + 2, + 1 + ], + "Lzvj": [ + 2, + 0 + ] + }, + "vertices": [ + "4IUU", + "zMls", + "Lzvj" + ], + "texture": 0 + }, + "uFwXiyUV": { + "uv": { + "ZZi4": [ + 2, + 1 + ], + "5XYk": [ + 1.92381, + 0 + ], + "5dpr": [ + 1, + 1 + ] + }, + "vertices": [ + "ZZi4", + "5XYk", + "5dpr" + ], + "texture": 0 + }, + "ojys012T": { + "uv": { + "5XYk": [ + 1, + 1 + ], + "ZZi4": [ + 2, + 1 + ], + "dW4F": [ + 2, + 0 + ], + "zMls": [ + 1, + 0 + ] + }, + "vertices": [ + "5XYk", + "ZZi4", + "dW4F", + "zMls" + ], + "texture": 0 + }, + "5A39AtOE": { + "uv": { + "zMls": [ + 1, + 1 + ], + "dW4F": [ + 2, + 1 + ], + "Lzvj": [ + 2, + 0 + ] + }, + "vertices": [ + "zMls", + "dW4F", + "Lzvj" + ], + "texture": 0 + }, + "MN67JxVu": { + "uv": { + "53VP": [ + 2, + 1 + ], + "ZZi4": [ + 1.92381, + 0 + ], + "5dpr": [ + 1, + 1 + ] + }, + "vertices": [ + "53VP", + "ZZi4", + "5dpr" + ], + "texture": 0 + }, + "OM2HtHiV": { + "uv": { + "ZZi4": [ + 1, + 1 + ], + "53VP": [ + 2, + 1 + ], + "PDBs": [ + 2, + 0 + ], + "dW4F": [ + 1, + 0 + ] + }, + "vertices": [ + "ZZi4", + "53VP", + "PDBs", + "dW4F" + ], + "texture": 0 + }, + "OLpjYFHu": { + "uv": { + "dW4F": [ + 1, + 1 + ], + "PDBs": [ + 2, + 1 + ], + "Lzvj": [ + 2, + 0 + ] + }, + "vertices": [ + "dW4F", + "PDBs", + "Lzvj" + ], + "texture": 0 + }, + "Fvfb7Wgg": { + "uv": { + "rxMR": [ + 2, + 1 + ], + "53VP": [ + 1.92381, + 0 + ], + "5dpr": [ + 1, + 1 + ] + }, + "vertices": [ + "rxMR", + "53VP", + "5dpr" + ], + "texture": 0 + }, + "4CZe4NrR": { + "uv": { + "53VP": [ + 1, + 1 + ], + "rxMR": [ + 2, + 1 + ], + "H85I": [ + 2, + 0 + ], + "PDBs": [ + 1, + 0 + ] + }, + "vertices": [ + "53VP", + "rxMR", + "H85I", + "PDBs" + ], + "texture": 0 + }, + "CjH5JI0x": { + "uv": { + "PDBs": [ + 1, + 1 + ], + "H85I": [ + 2, + 1 + ], + "Lzvj": [ + 2, + 0 + ] + }, + "vertices": [ + "PDBs", + "H85I", + "Lzvj" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "91cd78ae-adaf-dcba-2fe9-2c5a40f8b489" + }, + { + "name": "Transmission1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1.5, + 5, + 8.875 + ], + "to": [ + 1.625, + 6, + 9.125 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1.5, + 6, + 9 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "65cb7684-6d0a-d7db-c0bd-690e7033b6a1" + }, + { + "name": "Transmission2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1.5, + 5.25, + 8.375 + ], + "to": [ + 1.625, + 5.75, + 9.125 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 15, + 0, + 0 + ], + "origin": [ + 1.5, + 6, + 9 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "dcb5dc52-0f32-ff2f-3749-39f01ce9ae1b" + }, + { + "name": "Transmission3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1.5, + 4.42, + 8.08 + ], + "to": [ + 1.625, + 5.92, + 8.33 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1.5, + 5.9, + 8.325 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "fadd0709-9277-3808-d3d7-3398b32a8931" + }, + { + "name": "TransmissionGear", + "color": 0, + "origin": [ + 1.5, + 5.92, + 8.33 + ], + "rotation": [ + 0, + 0, + 90 + ], + "export": true, + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "6S3n": [ + -1.5, + -0.125, + -0.125 + ], + "qFnd": [ + -1.5, + 0, + -0.125 + ], + "N0tM": [ + -1.40054, + -0.125, + 0.375 + ], + "Zj0B": [ + -1.40054, + 0, + 0.375 + ], + "TQFh": [ + -1.21677, + -0.125, + 0.29888 + ], + "4Utt": [ + -1.21677, + 0, + 0.29888 + ], + "sf1E": [ + -1.07612, + -0.125, + 0.15823 + ], + "bkDj": [ + -1.07612, + 0, + 0.15823 + ], + "2GfL": [ + -1, + -0.125, + -0.02554 + ], + "owoT": [ + -1, + 0, + -0.02554 + ], + "YdEC": [ + -1, + -0.125, + -0.22446 + ], + "d6Km": [ + -1, + 0, + -0.22446 + ], + "LwdQ": [ + -1.07612, + -0.125, + -0.40823 + ], + "New9": [ + -1.07612, + 0, + -0.40823 + ], + "GbS0": [ + -1.21677, + -0.125, + -0.54888 + ], + "UHi5": [ + -1.21677, + 0, + -0.54888 + ], + "hrRG": [ + -1.40054, + -0.125, + -0.625 + ], + "irEd": [ + -1.40054, + 0, + -0.625 + ], + "Vj0O": [ + -1.59946, + -0.125, + -0.625 + ], + "tDVo": [ + -1.59946, + 0, + -0.625 + ], + "MSZr": [ + -1.78323, + -0.125, + -0.54888 + ], + "b1nU": [ + -1.78323, + 0, + -0.54888 + ], + "5DWU": [ + -1.92388, + -0.125, + -0.40823 + ], + "58AO": [ + -1.92388, + 0, + -0.40823 + ], + "ysxx": [ + -2, + -0.125, + -0.22446 + ], + "ekec": [ + -2, + 0, + -0.22446 + ], + "mvTa": [ + -2, + -0.125, + -0.02554 + ], + "CpKK": [ + -2, + 0, + -0.02554 + ], + "dAPY": [ + -1.92388, + -0.125, + 0.15823 + ], + "PnOC": [ + -1.92388, + 0, + 0.15823 + ], + "qBLp": [ + -1.78323, + -0.125, + 0.29888 + ], + "rdyD": [ + -1.78323, + 0, + 0.29888 + ], + "8YGh": [ + -1.59946, + -0.125, + 0.375 + ], + "IzgL": [ + -1.59946, + 0, + 0.375 + ] + }, + "faces": { + "tbhYwkMw": { + "uv": { + "TQFh": [ + 1, + 0 + ], + "N0tM": [ + 0, + 0.07617 + ], + "6S3n": [ + 1, + 1 + ] + }, + "vertices": [ + "TQFh", + "N0tM", + "6S3n" + ], + "texture": 0 + }, + "bUk1f8ZD": { + "uv": { + "N0tM": [ + 0, + 1 + ], + "TQFh": [ + 1, + 1 + ], + "4Utt": [ + 1, + 0 + ], + "Zj0B": [ + 0, + 0 + ] + }, + "vertices": [ + "N0tM", + "TQFh", + "4Utt", + "Zj0B" + ], + "texture": 0 + }, + "BGFeVqfw": { + "uv": { + "Zj0B": [ + 0, + 1 + ], + "4Utt": [ + 1, + 1 + ], + "qFnd": [ + 1, + 0 + ] + }, + "vertices": [ + "Zj0B", + "4Utt", + "qFnd" + ], + "texture": 0 + }, + "IJHfLdLR": { + "uv": { + "sf1E": [ + 1, + 0 + ], + "TQFh": [ + 0, + 0.07617 + ], + "6S3n": [ + 1, + 1 + ] + }, + "vertices": [ + "sf1E", + "TQFh", + "6S3n" + ], + "texture": 0 + }, + "KcPk2VjM": { + "uv": { + "TQFh": [ + 0, + 1 + ], + "sf1E": [ + 1, + 1 + ], + "bkDj": [ + 1, + 0 + ], + "4Utt": [ + 0, + 0 + ] + }, + "vertices": [ + "TQFh", + "sf1E", + "bkDj", + "4Utt" + ], + "texture": 0 + }, + "9wZqpn18": { + "uv": { + "4Utt": [ + 0, + 1 + ], + "bkDj": [ + 1, + 1 + ], + "qFnd": [ + 1, + 0 + ] + }, + "vertices": [ + "4Utt", + "bkDj", + "qFnd" + ], + "texture": 0 + }, + "R8oWGcCZ": { + "uv": { + "2GfL": [ + 1, + 0 + ], + "sf1E": [ + 0, + 0.07617 + ], + "6S3n": [ + 1, + 1 + ] + }, + "vertices": [ + "2GfL", + "sf1E", + "6S3n" + ], + "texture": 0 + }, + "HGmm2ecL": { + "uv": { + "sf1E": [ + 0, + 1 + ], + "2GfL": [ + 1, + 1 + ], + "owoT": [ + 1, + 0 + ], + "bkDj": [ + 0, + 0 + ] + }, + "vertices": [ + "sf1E", + "2GfL", + "owoT", + "bkDj" + ], + "texture": 0 + }, + "aPxsycDa": { + "uv": { + "bkDj": [ + 0, + 1 + ], + "owoT": [ + 1, + 1 + ], + "qFnd": [ + 1, + 0 + ] + }, + "vertices": [ + "bkDj", + "owoT", + "qFnd" + ], + "texture": 0 + }, + "AkQfbxf6": { + "uv": { + "YdEC": [ + 1, + 0 + ], + "2GfL": [ + 0, + 0.07617 + ], + "6S3n": [ + 1, + 1 + ] + }, + "vertices": [ + "YdEC", + "2GfL", + "6S3n" + ], + "texture": 0 + }, + "m98LAdJ0": { + "uv": { + "2GfL": [ + 0, + 1 + ], + "YdEC": [ + 1, + 1 + ], + "d6Km": [ + 1, + 0 + ], + "owoT": [ + 0, + 0 + ] + }, + "vertices": [ + "2GfL", + "YdEC", + "d6Km", + "owoT" + ], + "texture": 0 + }, + "w1YwGp9Q": { + "uv": { + "owoT": [ + 0, + 1 + ], + "d6Km": [ + 1, + 1 + ], + "qFnd": [ + 1, + 0 + ] + }, + "vertices": [ + "owoT", + "d6Km", + "qFnd" + ], + "texture": 0 + }, + "3SM8sY0t": { + "uv": { + "LwdQ": [ + 1, + 0 + ], + "YdEC": [ + 0, + 0.07617 + ], + "6S3n": [ + 1, + 1 + ] + }, + "vertices": [ + "LwdQ", + "YdEC", + "6S3n" + ], + "texture": 0 + }, + "LVfUVsLt": { + "uv": { + "YdEC": [ + 0, + 1 + ], + "LwdQ": [ + 1, + 1 + ], + "New9": [ + 1, + 0 + ], + "d6Km": [ + 0, + 0 + ] + }, + "vertices": [ + "YdEC", + "LwdQ", + "New9", + "d6Km" + ], + "texture": 0 + }, + "CZQ10odm": { + "uv": { + "d6Km": [ + 0, + 1 + ], + "New9": [ + 1, + 1 + ], + "qFnd": [ + 1, + 0 + ] + }, + "vertices": [ + "d6Km", + "New9", + "qFnd" + ], + "texture": 0 + }, + "3DmnZT2S": { + "uv": { + "GbS0": [ + 0, + 0.5098 + ], + "LwdQ": [ + 0.19515, + 0.47097 + ], + "6S3n": [ + 0, + 0 + ] + }, + "vertices": [ + "GbS0", + "LwdQ", + "6S3n" + ], + "texture": 0 + }, + "eSRuU3De": { + "uv": { + "LwdQ": [ + 0, + 1 + ], + "GbS0": [ + 1, + 1 + ], + "UHi5": [ + 1, + 0 + ], + "New9": [ + 0, + 0 + ] + }, + "vertices": [ + "LwdQ", + "GbS0", + "UHi5", + "New9" + ], + "texture": 0 + }, + "E8JAoggw": { + "uv": { + "New9": [ + 0, + 1 + ], + "UHi5": [ + 1, + 1 + ], + "qFnd": [ + 1, + 0 + ] + }, + "vertices": [ + "New9", + "UHi5", + "qFnd" + ], + "texture": 0 + }, + "TdrkPmNE": { + "uv": { + "hrRG": [ + 1, + 0 + ], + "GbS0": [ + 0, + 0.07617 + ], + "6S3n": [ + 1, + 1 + ] + }, + "vertices": [ + "hrRG", + "GbS0", + "6S3n" + ], + "texture": 0 + }, + "9wBj87KM": { + "uv": { + "GbS0": [ + 0, + 1 + ], + "hrRG": [ + 1, + 1 + ], + "irEd": [ + 1, + 0 + ], + "UHi5": [ + 0, + 0 + ] + }, + "vertices": [ + "GbS0", + "hrRG", + "irEd", + "UHi5" + ], + "texture": 0 + }, + "FiviTHnN": { + "uv": { + "UHi5": [ + 0, + 1 + ], + "irEd": [ + 1, + 1 + ], + "qFnd": [ + 1, + 0 + ] + }, + "vertices": [ + "UHi5", + "irEd", + "qFnd" + ], + "texture": 0 + }, + "xdWNV2HY": { + "uv": { + "Vj0O": [ + 1, + 0 + ], + "hrRG": [ + 0, + 0.07617 + ], + "6S3n": [ + 1, + 1 + ] + }, + "vertices": [ + "Vj0O", + "hrRG", + "6S3n" + ], + "texture": 0 + }, + "alBwHx5K": { + "uv": { + "hrRG": [ + 0, + 1 + ], + "Vj0O": [ + 1, + 1 + ], + "tDVo": [ + 1, + 0 + ], + "irEd": [ + 0, + 0 + ] + }, + "vertices": [ + "hrRG", + "Vj0O", + "tDVo", + "irEd" + ], + "texture": 0 + }, + "1xGHvikr": { + "uv": { + "irEd": [ + 0, + 1 + ], + "tDVo": [ + 1, + 1 + ], + "qFnd": [ + 1, + 0 + ] + }, + "vertices": [ + "irEd", + "tDVo", + "qFnd" + ], + "texture": 0 + }, + "iF2nPFyf": { + "uv": { + "MSZr": [ + 1, + 0 + ], + "Vj0O": [ + 0, + 0.07617 + ], + "6S3n": [ + 1, + 1 + ] + }, + "vertices": [ + "MSZr", + "Vj0O", + "6S3n" + ], + "texture": 0 + }, + "NsyDU7sX": { + "uv": { + "Vj0O": [ + 0, + 1 + ], + "MSZr": [ + 1, + 1 + ], + "b1nU": [ + 1, + 0 + ], + "tDVo": [ + 0, + 0 + ] + }, + "vertices": [ + "Vj0O", + "MSZr", + "b1nU", + "tDVo" + ], + "texture": 0 + }, + "xv2H0Xws": { + "uv": { + "tDVo": [ + 0, + 1 + ], + "b1nU": [ + 1, + 1 + ], + "qFnd": [ + 1, + 0 + ] + }, + "vertices": [ + "tDVo", + "b1nU", + "qFnd" + ], + "texture": 0 + }, + "oZ0oOo5p": { + "uv": { + "5DWU": [ + 1, + 0 + ], + "MSZr": [ + 0, + 0.07617 + ], + "6S3n": [ + 1, + 1 + ] + }, + "vertices": [ + "5DWU", + "MSZr", + "6S3n" + ], + "texture": 0 + }, + "3X6V8PnM": { + "uv": { + "MSZr": [ + 0, + 1 + ], + "5DWU": [ + 1, + 1 + ], + "58AO": [ + 1, + 0 + ], + "b1nU": [ + 0, + 0 + ] + }, + "vertices": [ + "MSZr", + "5DWU", + "58AO", + "b1nU" + ], + "texture": 0 + }, + "UvSWUHGs": { + "uv": { + "b1nU": [ + 0, + 1 + ], + "58AO": [ + 1, + 1 + ], + "qFnd": [ + 1, + 0 + ] + }, + "vertices": [ + "b1nU", + "58AO", + "qFnd" + ], + "texture": 0 + }, + "ckoUoydD": { + "uv": { + "ysxx": [ + 1, + 0 + ], + "5DWU": [ + 0, + 0.07617 + ], + "6S3n": [ + 1, + 1 + ] + }, + "vertices": [ + "ysxx", + "5DWU", + "6S3n" + ], + "texture": 0 + }, + "oVbomjXa": { + "uv": { + "5DWU": [ + 0, + 1 + ], + "ysxx": [ + 1, + 1 + ], + "ekec": [ + 1, + 0 + ], + "58AO": [ + 0, + 0 + ] + }, + "vertices": [ + "5DWU", + "ysxx", + "ekec", + "58AO" + ], + "texture": 0 + }, + "5eakzz1E": { + "uv": { + "58AO": [ + 0, + 1 + ], + "ekec": [ + 1, + 1 + ], + "qFnd": [ + 1, + 0 + ] + }, + "vertices": [ + "58AO", + "ekec", + "qFnd" + ], + "texture": 0 + }, + "s0XnhqzR": { + "uv": { + "mvTa": [ + 1, + 0 + ], + "ysxx": [ + 0, + 0.07617 + ], + "6S3n": [ + 1, + 1 + ] + }, + "vertices": [ + "mvTa", + "ysxx", + "6S3n" + ], + "texture": 0 + }, + "oPdZsk0q": { + "uv": { + "ysxx": [ + 0, + 1 + ], + "mvTa": [ + 1, + 1 + ], + "CpKK": [ + 1, + 0 + ], + "ekec": [ + 0, + 0 + ] + }, + "vertices": [ + "ysxx", + "mvTa", + "CpKK", + "ekec" + ], + "texture": 0 + }, + "8SaaLcs1": { + "uv": { + "ekec": [ + 0, + 1 + ], + "CpKK": [ + 1, + 1 + ], + "qFnd": [ + 1, + 0 + ] + }, + "vertices": [ + "ekec", + "CpKK", + "qFnd" + ], + "texture": 0 + }, + "nI5we5Fv": { + "uv": { + "dAPY": [ + 1, + 0 + ], + "mvTa": [ + 0, + 0.07617 + ], + "6S3n": [ + 1, + 1 + ] + }, + "vertices": [ + "dAPY", + "mvTa", + "6S3n" + ], + "texture": 0 + }, + "g9Y7SH46": { + "uv": { + "mvTa": [ + 0, + 1 + ], + "dAPY": [ + 1, + 1 + ], + "PnOC": [ + 1, + 0 + ], + "CpKK": [ + 0, + 0 + ] + }, + "vertices": [ + "mvTa", + "dAPY", + "PnOC", + "CpKK" + ], + "texture": 0 + }, + "rMq0wM6k": { + "uv": { + "CpKK": [ + 0, + 1 + ], + "PnOC": [ + 1, + 1 + ], + "qFnd": [ + 1, + 0 + ] + }, + "vertices": [ + "CpKK", + "PnOC", + "qFnd" + ], + "texture": 0 + }, + "iCfw3l3Z": { + "uv": { + "qBLp": [ + 1, + 0 + ], + "dAPY": [ + 0, + 0.07617 + ], + "6S3n": [ + 1, + 1 + ] + }, + "vertices": [ + "qBLp", + "dAPY", + "6S3n" + ], + "texture": 0 + }, + "8gzDGuea": { + "uv": { + "dAPY": [ + 0, + 1 + ], + "qBLp": [ + 1, + 1 + ], + "rdyD": [ + 1, + 0 + ], + "PnOC": [ + 0, + 0 + ] + }, + "vertices": [ + "dAPY", + "qBLp", + "rdyD", + "PnOC" + ], + "texture": 0 + }, + "vaQVhZ9t": { + "uv": { + "PnOC": [ + 0, + 1 + ], + "rdyD": [ + 1, + 1 + ], + "qFnd": [ + 1, + 0 + ] + }, + "vertices": [ + "PnOC", + "rdyD", + "qFnd" + ], + "texture": 0 + }, + "EKW1XDsK": { + "uv": { + "8YGh": [ + 1, + 0 + ], + "qBLp": [ + 0, + 0.07617 + ], + "6S3n": [ + 1, + 1 + ] + }, + "vertices": [ + "8YGh", + "qBLp", + "6S3n" + ], + "texture": 0 + }, + "uAZ363kj": { + "uv": { + "qBLp": [ + 0, + 1 + ], + "8YGh": [ + 1, + 1 + ], + "IzgL": [ + 1, + 0 + ], + "rdyD": [ + 0, + 0 + ] + }, + "vertices": [ + "qBLp", + "8YGh", + "IzgL", + "rdyD" + ], + "texture": 0 + }, + "ZAAx5cFV": { + "uv": { + "rdyD": [ + 0, + 1 + ], + "IzgL": [ + 1, + 1 + ], + "qFnd": [ + 1, + 0 + ] + }, + "vertices": [ + "rdyD", + "IzgL", + "qFnd" + ], + "texture": 0 + }, + "vr6kNQdb": { + "uv": { + "N0tM": [ + 1, + 0 + ], + "8YGh": [ + 0, + 0.07617 + ], + "6S3n": [ + 1, + 1 + ] + }, + "vertices": [ + "N0tM", + "8YGh", + "6S3n" + ], + "texture": 0 + }, + "hby2bMFo": { + "uv": { + "8YGh": [ + 0, + 1 + ], + "N0tM": [ + 1, + 1 + ], + "Zj0B": [ + 1, + 0 + ], + "IzgL": [ + 0, + 0 + ] + }, + "vertices": [ + "8YGh", + "N0tM", + "Zj0B", + "IzgL" + ], + "texture": 0 + }, + "X5FuLdBi": { + "uv": { + "IzgL": [ + 0, + 1 + ], + "Zj0B": [ + 1, + 1 + ], + "qFnd": [ + 1, + 0 + ] + }, + "vertices": [ + "IzgL", + "Zj0B", + "qFnd" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "fcdb37b5-a155-7c39-afd0-7dc04307dc5f" + }, + { + "name": "TopChain", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.875, + 6.95, + 1.5 + ], + "to": [ + 1, + 7, + 9 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -0.1, + 0.1, + 0 + ], + "origin": [ + 0.9375, + 7, + 9 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "east": { + "uv": [ + 2, + 5, + 42, + 6 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "west": { + "uv": [ + 42, + 5, + 2, + 6 + ], + "texture": 0 + }, + "up": { + "uv": [ + 42, + 5, + 2, + 6 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 2, + 5, + 42, + 6 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "8644a77a-fa4c-28d8-8314-21aeaec31865" + }, + { + "name": "MiddleChain", + "color": 0, + "origin": [ + 0.92, + 5.4, + 1.4 + ], + "rotation": [ + 0, + 0, + 90 + ], + "export": true, + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "d0TH": [ + 1.575, + -0.0625, + 0.25831 + ], + "KZeH": [ + 1.575, + 0.0625, + 0.25831 + ], + "pXPQ": [ + 1.50537, + -0.0625, + 0.24446 + ], + "o6IJ": [ + 1.50537, + 0.0625, + 0.24446 + ], + "ihKT": [ + 1.575, + -0.0625, + -0.35831 + ], + "5M8V": [ + 1.575, + 0.0625, + -0.35831 + ], + "UhT4": [ + 1.50537, + -0.0625, + -0.34446 + ], + "tU3j": [ + 1.50537, + 0.0625, + -0.34446 + ], + "5lYj": [ + 1.33903, + -0.0625, + -0.928 + ], + "s43Z": [ + 1.33903, + 0.0625, + -0.928 + ], + "LtVx": [ + 1.27999, + -0.0625, + -0.88856 + ], + "PIaC": [ + 1.27999, + 0.0625, + -0.88856 + ], + "WjEV": [ + 0.903, + -0.0625, + -1.36403 + ], + "jInz": [ + 0.903, + 0.0625, + -1.36403 + ], + "ruMu": [ + 0.86356, + -0.0625, + -1.30499 + ], + "hjpp": [ + 0.86356, + 0.0625, + -1.30499 + ], + "h0rd": [ + 0.33331, + -0.0625, + -1.6 + ], + "r9Kh": [ + 0.33331, + 0.0625, + -1.6 + ], + "uZO0": [ + 0.31946, + -0.0625, + -1.53037 + ], + "fC3T": [ + 0.31946, + 0.0625, + -1.53037 + ], + "5SOr": [ + -0.28331, + -0.0625, + -1.6 + ], + "uO6A": [ + -0.28331, + 0.0625, + -1.6 + ], + "pI1o": [ + -0.26946, + -0.0625, + -1.53037 + ], + "J57R": [ + -0.26946, + 0.0625, + -1.53037 + ], + "DWqe": [ + -0.853, + -0.0625, + -1.36403 + ], + "mgIY": [ + -0.853, + 0.0625, + -1.36403 + ], + "H2cI": [ + -0.81356, + -0.0625, + -1.30499 + ], + "2VZy": [ + -0.81356, + 0.0625, + -1.30499 + ], + "kYYY": [ + -1.28903, + -0.0625, + -0.928 + ], + "EzWS": [ + -1.28903, + 0.0625, + -0.928 + ], + "kXTr": [ + -1.22999, + -0.0625, + -0.88856 + ], + "0jwo": [ + -1.22999, + 0.0625, + -0.88856 + ], + "6dH8": [ + -1.525, + -0.0625, + -0.35831 + ], + "afxK": [ + -1.525, + 0.0625, + -0.35831 + ], + "Rzir": [ + -1.45537, + -0.0625, + -0.34446 + ], + "YxC2": [ + -1.45537, + 0.0625, + -0.34446 + ], + "lPHN": [ + -1.525, + -0.0625, + 0.25831 + ], + "6K0b": [ + -1.525, + 0.0625, + 0.25831 + ], + "ylIo": [ + -1.45537, + -0.0625, + 0.24446 + ], + "aDGB": [ + -1.45537, + 0.0625, + 0.24446 + ] + }, + "faces": { + "zGrPEFFP": { + "uv": { + "d0TH": [ + 2, + 6 + ], + "ihKT": [ + 6, + 6 + ], + "5M8V": [ + 6, + 5 + ], + "KZeH": [ + 2, + 5 + ] + }, + "vertices": [ + "d0TH", + "ihKT", + "5M8V", + "KZeH" + ], + "texture": 0 + }, + "nrdjgM7I": { + "uv": { + "o6IJ": [ + 0.589, + 0 + ], + "tU3j": [ + 0, + 0 + ], + "UhT4": [ + 0, + 0.125 + ], + "pXPQ": [ + 0.589, + 0.125 + ] + }, + "vertices": [ + "o6IJ", + "tU3j", + "UhT4", + "pXPQ" + ] + }, + "AoZyz8g6": { + "uv": { + "pXPQ": [ + 2, + 6 + ], + "UhT4": [ + 6, + 6 + ], + "ihKT": [ + 6, + 5 + ], + "d0TH": [ + 2, + 5 + ] + }, + "vertices": [ + "pXPQ", + "UhT4", + "ihKT", + "d0TH" + ], + "texture": 0 + }, + "MPe9EFHU": { + "uv": { + "KZeH": [ + 2, + 6 + ], + "5M8V": [ + 6, + 6 + ], + "tU3j": [ + 6, + 5 + ], + "o6IJ": [ + 2, + 5 + ] + }, + "vertices": [ + "KZeH", + "5M8V", + "tU3j", + "o6IJ" + ], + "texture": 0 + }, + "dPRuVo2J": { + "uv": { + "ihKT": [ + 2, + 6 + ], + "5lYj": [ + 6, + 6 + ], + "s43Z": [ + 6, + 5 + ], + "5M8V": [ + 2, + 5 + ] + }, + "vertices": [ + "ihKT", + "5lYj", + "s43Z", + "5M8V" + ], + "texture": 0 + }, + "Bocum9x3": { + "uv": { + "tU3j": [ + 0.589, + 0 + ], + "PIaC": [ + 0, + 0 + ], + "LtVx": [ + 0, + 0.125 + ], + "UhT4": [ + 0.589, + 0.125 + ] + }, + "vertices": [ + "tU3j", + "PIaC", + "LtVx", + "UhT4" + ] + }, + "rMSlbDT0": { + "uv": { + "UhT4": [ + 2, + 6 + ], + "LtVx": [ + 6, + 6 + ], + "5lYj": [ + 6, + 5 + ], + "ihKT": [ + 2, + 5 + ] + }, + "vertices": [ + "UhT4", + "LtVx", + "5lYj", + "ihKT" + ], + "texture": 0 + }, + "Bxogh9b9": { + "uv": { + "5M8V": [ + 2, + 6 + ], + "s43Z": [ + 6, + 6 + ], + "PIaC": [ + 6, + 5 + ], + "tU3j": [ + 2, + 5 + ] + }, + "vertices": [ + "5M8V", + "s43Z", + "PIaC", + "tU3j" + ], + "texture": 0 + }, + "adjovQ5g": { + "uv": { + "5lYj": [ + 2, + 6 + ], + "WjEV": [ + 6, + 6 + ], + "jInz": [ + 6, + 5 + ], + "s43Z": [ + 2, + 5 + ] + }, + "vertices": [ + "5lYj", + "WjEV", + "jInz", + "s43Z" + ], + "texture": 0 + }, + "Hl7mc6P9": { + "uv": { + "PIaC": [ + 0.589, + 0 + ], + "hjpp": [ + 0, + 0 + ], + "ruMu": [ + 0, + 0.125 + ], + "LtVx": [ + 0.589, + 0.125 + ] + }, + "vertices": [ + "PIaC", + "hjpp", + "ruMu", + "LtVx" + ] + }, + "qYfnQZBa": { + "uv": { + "LtVx": [ + 2, + 6 + ], + "ruMu": [ + 6, + 6 + ], + "WjEV": [ + 6, + 5 + ], + "5lYj": [ + 2, + 5 + ] + }, + "vertices": [ + "LtVx", + "ruMu", + "WjEV", + "5lYj" + ], + "texture": 0 + }, + "xd1Pu07g": { + "uv": { + "s43Z": [ + 2, + 6 + ], + "jInz": [ + 6, + 6 + ], + "hjpp": [ + 6, + 5 + ], + "PIaC": [ + 2, + 5 + ] + }, + "vertices": [ + "s43Z", + "jInz", + "hjpp", + "PIaC" + ], + "texture": 0 + }, + "FtneqKFe": { + "uv": { + "WjEV": [ + 2, + 6 + ], + "h0rd": [ + 6, + 6 + ], + "r9Kh": [ + 6, + 5 + ], + "jInz": [ + 2, + 5 + ] + }, + "vertices": [ + "WjEV", + "h0rd", + "r9Kh", + "jInz" + ], + "texture": 0 + }, + "UcCSZ0TA": { + "uv": { + "hjpp": [ + 0.589, + 0 + ], + "fC3T": [ + 0, + 0 + ], + "uZO0": [ + 0, + 0.125 + ], + "ruMu": [ + 0.589, + 0.125 + ] + }, + "vertices": [ + "hjpp", + "fC3T", + "uZO0", + "ruMu" + ] + }, + "moyTg2gw": { + "uv": { + "ruMu": [ + 2, + 6 + ], + "uZO0": [ + 6, + 6 + ], + "h0rd": [ + 6, + 5 + ], + "WjEV": [ + 2, + 5 + ] + }, + "vertices": [ + "ruMu", + "uZO0", + "h0rd", + "WjEV" + ], + "texture": 0 + }, + "6FiyPipd": { + "uv": { + "jInz": [ + 2, + 6 + ], + "r9Kh": [ + 6, + 6 + ], + "fC3T": [ + 6, + 5 + ], + "hjpp": [ + 2, + 5 + ] + }, + "vertices": [ + "jInz", + "r9Kh", + "fC3T", + "hjpp" + ], + "texture": 0 + }, + "RYxqQGad": { + "uv": { + "h0rd": [ + 2, + 6 + ], + "5SOr": [ + 6, + 6 + ], + "uO6A": [ + 6, + 5 + ], + "r9Kh": [ + 2, + 5 + ] + }, + "vertices": [ + "h0rd", + "5SOr", + "uO6A", + "r9Kh" + ], + "texture": 0 + }, + "FHZbXOPK": { + "uv": { + "fC3T": [ + 0.589, + 0 + ], + "J57R": [ + 0, + 0 + ], + "pI1o": [ + 0, + 0.125 + ], + "uZO0": [ + 0.589, + 0.125 + ] + }, + "vertices": [ + "fC3T", + "J57R", + "pI1o", + "uZO0" + ] + }, + "dCQuO3xW": { + "uv": { + "uZO0": [ + 2, + 6 + ], + "pI1o": [ + 6, + 6 + ], + "5SOr": [ + 6, + 5 + ], + "h0rd": [ + 2, + 5 + ] + }, + "vertices": [ + "uZO0", + "pI1o", + "5SOr", + "h0rd" + ], + "texture": 0 + }, + "4PRNriwW": { + "uv": { + "r9Kh": [ + 2, + 6 + ], + "uO6A": [ + 6, + 6 + ], + "J57R": [ + 6, + 5 + ], + "fC3T": [ + 2, + 5 + ] + }, + "vertices": [ + "r9Kh", + "uO6A", + "J57R", + "fC3T" + ], + "texture": 0 + }, + "4udcNizk": { + "uv": { + "5SOr": [ + 2, + 6 + ], + "DWqe": [ + 6, + 6 + ], + "mgIY": [ + 6, + 5 + ], + "uO6A": [ + 2, + 5 + ] + }, + "vertices": [ + "5SOr", + "DWqe", + "mgIY", + "uO6A" + ], + "texture": 0 + }, + "KRMXNWRP": { + "uv": { + "J57R": [ + 0.589, + 0 + ], + "2VZy": [ + 0, + 0 + ], + "H2cI": [ + 0, + 0.125 + ], + "pI1o": [ + 0.589, + 0.125 + ] + }, + "vertices": [ + "J57R", + "2VZy", + "H2cI", + "pI1o" + ] + }, + "VHmbKUR6": { + "uv": { + "pI1o": [ + 2, + 6 + ], + "H2cI": [ + 6, + 6 + ], + "DWqe": [ + 6, + 5 + ], + "5SOr": [ + 2, + 5 + ] + }, + "vertices": [ + "pI1o", + "H2cI", + "DWqe", + "5SOr" + ], + "texture": 0 + }, + "UK2Oq8zx": { + "uv": { + "uO6A": [ + 2, + 6 + ], + "mgIY": [ + 6, + 6 + ], + "2VZy": [ + 6, + 5 + ], + "J57R": [ + 2, + 5 + ] + }, + "vertices": [ + "uO6A", + "mgIY", + "2VZy", + "J57R" + ], + "texture": 0 + }, + "pbqvb8A6": { + "uv": { + "DWqe": [ + 2, + 6 + ], + "kYYY": [ + 6, + 6 + ], + "EzWS": [ + 6, + 5 + ], + "mgIY": [ + 2, + 5 + ] + }, + "vertices": [ + "DWqe", + "kYYY", + "EzWS", + "mgIY" + ], + "texture": 0 + }, + "sTtBHGS6": { + "uv": { + "2VZy": [ + 0.589, + 0 + ], + "0jwo": [ + 0, + 0 + ], + "kXTr": [ + 0, + 0.125 + ], + "H2cI": [ + 0.589, + 0.125 + ] + }, + "vertices": [ + "2VZy", + "0jwo", + "kXTr", + "H2cI" + ] + }, + "N3EjCciE": { + "uv": { + "H2cI": [ + 2, + 6 + ], + "kXTr": [ + 6, + 6 + ], + "kYYY": [ + 6, + 5 + ], + "DWqe": [ + 2, + 5 + ] + }, + "vertices": [ + "H2cI", + "kXTr", + "kYYY", + "DWqe" + ], + "texture": 0 + }, + "wLvGrgDU": { + "uv": { + "mgIY": [ + 2, + 6 + ], + "EzWS": [ + 6, + 6 + ], + "0jwo": [ + 6, + 5 + ], + "2VZy": [ + 2, + 5 + ] + }, + "vertices": [ + "mgIY", + "EzWS", + "0jwo", + "2VZy" + ], + "texture": 0 + }, + "UgFzOMUG": { + "uv": { + "kYYY": [ + 2, + 6 + ], + "6dH8": [ + 6, + 6 + ], + "afxK": [ + 6, + 5 + ], + "EzWS": [ + 2, + 5 + ] + }, + "vertices": [ + "kYYY", + "6dH8", + "afxK", + "EzWS" + ], + "texture": 0 + }, + "CUz53pnB": { + "uv": { + "0jwo": [ + 0.589, + 0 + ], + "YxC2": [ + 0, + 0 + ], + "Rzir": [ + 0, + 0.125 + ], + "kXTr": [ + 0.589, + 0.125 + ] + }, + "vertices": [ + "0jwo", + "YxC2", + "Rzir", + "kXTr" + ] + }, + "R3YU19FL": { + "uv": { + "kXTr": [ + 2, + 6 + ], + "Rzir": [ + 6, + 6 + ], + "6dH8": [ + 6, + 5 + ], + "kYYY": [ + 2, + 5 + ] + }, + "vertices": [ + "kXTr", + "Rzir", + "6dH8", + "kYYY" + ], + "texture": 0 + }, + "EuCOnYCc": { + "uv": { + "EzWS": [ + 2, + 6 + ], + "afxK": [ + 6, + 6 + ], + "YxC2": [ + 6, + 5 + ], + "0jwo": [ + 2, + 5 + ] + }, + "vertices": [ + "EzWS", + "afxK", + "YxC2", + "0jwo" + ], + "texture": 0 + }, + "8wcbTIXr": { + "uv": { + "6dH8": [ + 2, + 6 + ], + "lPHN": [ + 6, + 6 + ], + "6K0b": [ + 6, + 5 + ], + "afxK": [ + 2, + 5 + ] + }, + "vertices": [ + "6dH8", + "lPHN", + "6K0b", + "afxK" + ], + "texture": 0 + }, + "p5eCHoYw": { + "uv": { + "YxC2": [ + 0.589, + 0 + ], + "aDGB": [ + 0, + 0 + ], + "ylIo": [ + 0, + 0.125 + ], + "Rzir": [ + 0.589, + 0.125 + ] + }, + "vertices": [ + "YxC2", + "aDGB", + "ylIo", + "Rzir" + ] + }, + "Nd9R4hqv": { + "uv": { + "Rzir": [ + 2, + 6 + ], + "ylIo": [ + 6, + 6 + ], + "lPHN": [ + 6, + 5 + ], + "6dH8": [ + 2, + 5 + ] + }, + "vertices": [ + "Rzir", + "ylIo", + "lPHN", + "6dH8" + ], + "texture": 0 + }, + "lcgGTqYu": { + "uv": { + "afxK": [ + 2, + 6 + ], + "6K0b": [ + 6, + 6 + ], + "aDGB": [ + 6, + 5 + ], + "YxC2": [ + 2, + 5 + ] + }, + "vertices": [ + "afxK", + "6K0b", + "aDGB", + "YxC2" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "1a032de4-5494-be6b-8af4-933cc8c149b1" + }, + { + "name": "BottomChain", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.86, + 3.875, + 1.64 + ], + "to": [ + 0.985, + 3.925, + 8.74 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 5.4, + 3.3, + 0 + ], + "origin": [ + 0.9225, + 3.875, + 1.64 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "east": { + "uv": [ + 2, + 5, + 42, + 6 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ] + }, + "west": { + "uv": [ + 42, + 5, + 2, + 6 + ], + "texture": 0 + }, + "up": { + "uv": [ + 42, + 5, + 2, + 6 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 2, + 5, + 42, + 6 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "3989606b-8e1b-8e64-353b-7b95153eb80e" + }, + { + "name": "RearBrake1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.875, + 11.25, + 5.45 + ], + "to": [ + 0.875, + 11.5, + 5.7 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 11.15, + 6.7 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "04f790ff-06b8-b829-84d2-ca0adef8b940" + }, + { + "name": "RearBrake2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.875, + 10, + 5.45 + ], + "to": [ + -0.625, + 11.25, + 5.7 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 11.15, + 6.7 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "99dc1204-5aec-50f5-2612-3b39219a50e9" + }, + { + "name": "RearBrake3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.625, + 10, + 5.075 + ], + "to": [ + -0.375, + 10.5, + 6.075 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 11.15, + 6.7 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "47a6a88c-66c8-67c7-3ae7-fcb3dbfbf42f" + }, + { + "name": "RearBrake4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.625, + 10, + 5.45 + ], + "to": [ + 0.875, + 11.25, + 5.7 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 11.15, + 6.7 + ], + "faces": { + "north": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "aa399e6a-a8a6-51a9-2949-caaf1804f323" + }, + { + "name": "RearBrake5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.375, + 10, + 5.075 + ], + "to": [ + 0.625, + 10.5, + 6.075 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 11.15, + 6.7 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "abfd3033-fc57-f534-d7ec-92b75dfe9d54" + }, + { + "name": "RearBrake6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 11.5, + 5.45 + ], + "to": [ + -0.375, + 12.5, + 5.7 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -40, + 0, + 0 + ], + "origin": [ + -0.4375, + 11.5, + 5.7 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "73720e2a-64d8-ced8-c64c-228138fd1a87" + }, + { + "name": "RearBrake7", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.375, + 11.5, + 5.45 + ], + "to": [ + 0.5, + 12.5, + 5.7 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -40, + 0, + 0 + ], + "origin": [ + 0.4375, + 11.5, + 5.7 + ], + "faces": { + "north": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "0ef13339-da80-6817-d287-5a56cd9908b1" + }, + { + "name": "FrontBrake1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.875, + 12.25, + -7.8 + ], + "to": [ + 0.875, + 12.5, + -7.55 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 12.15, + -6.55 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "1d732fce-4005-216e-3044-9f505156a92b" + }, + { + "name": "FrontBrake2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.875, + 11, + -7.8 + ], + "to": [ + -0.625, + 12.25, + -7.55 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 12.15, + -6.55 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "53bc4f62-4513-d971-b0fc-562263d1526c" + }, + { + "name": "FrontBrake3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.625, + 11, + -8.175 + ], + "to": [ + -0.375, + 11.5, + -7.175 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 12.15, + -6.55 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "fd5d2120-8be2-1726-2340-861a9d8fc29f" + }, + { + "name": "FrontBrake4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.625, + 11, + -7.8 + ], + "to": [ + 0.875, + 12.25, + -7.55 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 12.15, + -6.55 + ], + "faces": { + "north": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "0a8d0642-edc0-9fd9-bb6c-7a1e197dd51b" + }, + { + "name": "FrontBrake5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.375, + 11, + -8.175 + ], + "to": [ + 0.625, + 11.5, + -7.175 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 12.15, + -6.55 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "22da6686-733d-c89f-7e5b-21f9ce8b19f4" + }, + { + "name": "FrontBrake6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 12.5, + -7.8 + ], + "to": [ + -0.375, + 13.5, + -7.55 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 52.5, + 0, + 0 + ], + "origin": [ + -0.4375, + 12.5, + -7.8 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "488b43b9-9612-f5d0-9890-b5631b11e45a" + }, + { + "name": "FrontBrake7", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.375, + 12.5, + -7.8 + ], + "to": [ + 0.5, + 13.5, + -7.55 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 52.5, + 0, + 0 + ], + "origin": [ + 0.4375, + 12.5, + -7.8 + ], + "faces": { + "north": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "3ff46f25-6916-cfeb-6cc4-58426a6f2cc7" + }, + { + "name": "WaterBottle1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 6.5, + -7.5 + ], + "to": [ + 1, + 8.5, + -3.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 5.5, + 0.5 + ], + "faces": { + "north": { + "uv": [ + 4, + 6, + 5, + 7 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 2, + 7, + 5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 6, + 0, + 7 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 6, + 0, + 7 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 6, + 5, + 7 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "36564f6a-5fd3-fab1-b7b7-b8671eb69913" + }, + { + "name": "WaterBottle2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.25, + 7.25, + -8 + ], + "to": [ + 0.25, + 7.75, + -7.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 5.5, + 0.5 + ], + "faces": { + "north": { + "uv": [ + 3, + 6, + 4, + 7 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 6, + 3, + 7 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 3, + 6, + 5, + 7 + ], + "texture": 0 + }, + "up": { + "uv": [ + 3, + 6, + 5, + 7 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 5, + 6, + 3, + 7 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "a8cdba71-f883-6192-0c97-6cd17f4de65d" + }, + { + "name": "Boreneo", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1.01, + 6.75, + -6.25 + ], + "to": [ + 1.01, + 8.25, + -6.029 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.75, + -5.75 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + }, + "east": { + "uv": [ + 9, + 0, + 43, + 5 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + } + }, + "type": "cube", + "uuid": "eec30c42-caca-51d2-eca9-c78eff715449" + }, + { + "name": "Background", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + -0.5, + 0 + ], + "to": [ + 0.5, + 0.5, + 0 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 3, + 0, + 4, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "2bf66eb8-966c-e2c1-7c3c-718fe02a348f" + } + ], + "outliner": [ + { + "name": "Bicycle", + "origin": [ + 0.5, + 0, + 0 + ], + "color": 0, + "uuid": "ca187cc6-059a-9127-470e-f76c6d5dc5ff", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Wheels", + "origin": [ + 0.5, + 0, + 0 + ], + "color": 0, + "uuid": "0c6a9ce4-e442-42b3-60f9-c470081f824c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "BackWheel", + "origin": [ + 0.5, + 6, + 9 + ], + "color": 0, + "uuid": "9e3b0bf8-d6d7-f627-aea1-13eedb3b7517", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ece6c0f2-4160-7123-4f18-4a90e8e827d7", + "428c5071-b6d1-a7c1-5707-f933cdfd17fa", + { + "name": "BackWheelShaft", + "origin": [ + 0, + 6, + 9 + ], + "color": 0, + "uuid": "7173a6f7-b4bb-eec4-d1f1-1fbc0bc7e93d", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e0e06f40-cd20-5577-488f-3e211fbb4288", + "91cd78ae-adaf-dcba-2fe9-2c5a40f8b489" + ] + }, + { + "name": "BackWheelSpokes", + "origin": [ + 0.5, + 6, + 9 + ], + "color": 0, + "uuid": "a016bdd7-6c87-ff33-c9d8-84a6089d4893", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e5524925-73e5-e9ed-90d2-10e507ab30a5", + "2540f766-e45e-0143-8a3c-26d17e9049f1", + "5e2793fb-d4a0-129c-de3c-880af36cb105", + "ca838567-e003-9794-a4fc-bf45a2e919d6", + "38119a0d-1208-38fe-b48b-0f870fd70b80", + "4f2ac532-a3f8-c58a-8886-245f9990c26c", + "9a055073-3530-9d09-f05a-38371d29cd60", + "3b05ebc3-be0e-b340-db0c-e05dba830fa7", + "53e584f3-d9ff-d0cb-3a9a-1b1abc6e188b", + "bbbda15e-75e4-e902-131d-666f29b05c5e", + "af656ee1-adcd-b112-f7f1-9cbf46c630b9", + "46588380-d6b4-24d1-fec5-733f6bc6232e", + "88d56422-f459-972e-b911-e648dcc7c489", + "a9d53126-fe5a-8b88-8e16-7d7a0a420bf0", + "c8131494-b531-e079-6355-3c014ef6491a", + "6e74b1d2-1625-1f54-24b9-db2810416961" + ] + } + ] + }, + { + "name": "Transmission", + "origin": [ + 1.5, + 6, + 9 + ], + "rotation": [ + -15, + 0, + 0 + ], + "color": 0, + "uuid": "185e07f3-13d1-e781-66c6-fa0a72794292", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "65cb7684-6d0a-d7db-c0bd-690e7033b6a1", + "dcb5dc52-0f32-ff2f-3749-39f01ce9ae1b", + { + "name": "Transmission3", + "origin": [ + 1.5, + 5.92, + 8.33 + ], + "color": 0, + "uuid": "375c6f6f-9a66-d242-06f3-15da6cd6902f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "fadd0709-9277-3808-d3d7-3398b32a8931", + { + "name": "TransmissionGear", + "origin": [ + 1.5625, + 4.42, + 8.205 + ], + "color": 0, + "uuid": "5f9e0159-35ff-91fa-fba8-37746970e0ba", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "fcdb37b5-a155-7c39-afd0-7dc04307dc5f" + ] + } + ] + } + ] + }, + { + "name": "Chain", + "origin": [ + 0.9375, + 7, + 9 + ], + "rotation": [ + 4.2, + -1.7, + 0 + ], + "color": 0, + "uuid": "6da6e8aa-5636-6337-eeea-51a3440ea601", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8644a77a-fa4c-28d8-8314-21aeaec31865", + { + "name": "MiddleChain", + "origin": [ + 0.92, + 5.4, + 1.4 + ], + "rotation": [ + -4.2, + 1.7, + 0 + ], + "color": 0, + "uuid": "c7d500c4-c797-e601-1e32-d45fac3c2c5f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1a032de4-5494-be6b-8af4-933cc8c149b1", + "3989606b-8e1b-8e64-353b-7b95153eb80e" + ] + } + ] + } + ] + }, + { + "name": "Shaft", + "origin": [ + 0.5, + 0, + 0 + ], + "color": 0, + "uuid": "c566111c-34a6-cf64-32ea-d8a42a488c2c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8cad1da0-70ae-108d-658b-b5c11a2a3ff1", + "4d5b5df7-7692-eec0-c53b-86cb8fb5fac5", + "299e4ec1-4294-0d8d-8fb5-0c96f6175adf", + { + "name": "Shaft4", + "origin": [ + 0, + 6.5, + 0.875 + ], + "rotation": [ + 15, + 0, + 0 + ], + "color": 0, + "uuid": "df31c256-be70-d962-3a43-447185dbe2d9", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8a141aed-c57b-aa61-55e8-010a38329546", + { + "name": "SaddleShaft", + "origin": [ + 0, + 15.1, + 3.57 + ], + "color": 0, + "uuid": "0f809e40-0a02-e7f5-47b9-79eb42f81b0b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8c6c9f15-3153-4965-2bbe-89fb6aab1308", + { + "name": "Saddle", + "origin": [ + 0, + 16, + 1.57 + ], + "rotation": [ + -15, + 0, + 0 + ], + "color": 0, + "uuid": "06857832-5cc2-a42a-bec4-92c8d7081276", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d485fa43-e9bc-a429-6a2c-c4ece0421f4d", + "2d4f3e06-04fa-af2e-836d-52faad95462b", + "d3d461a3-6c8e-0744-f63e-685a303bd55b", + "13e9fcd0-42e1-ad1a-a08f-4d8cb3e3a368" + ] + } + ] + } + ] + }, + "7bb36e66-61b5-fd4c-9831-849b25a19e2c", + "f5137ddd-0d18-d556-d70f-79d69c541707", + "8575a465-784f-87ca-eacc-1eef553fce4f", + { + "name": "Shaft8", + "origin": [ + 0, + 5.5, + 0.75 + ], + "rotation": [ + 50, + 0, + 0 + ], + "color": 0, + "uuid": "a6ca88c2-eb35-cab6-1b6c-cd2e83899fce", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "dd41b46f-7761-983f-4eb2-f225451be68c", + "5868c8a5-ae30-8c2b-56e3-e371a08c61ca", + "5b9ed420-b754-6dfa-9ec1-0e3047d572eb", + { + "name": "WaterBottle", + "origin": [ + 0, + 7.5, + -5.5 + ], + "color": 0, + "uuid": "fa18e1b9-d76e-815b-1b1d-592274c6592d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "36564f6a-5fd3-fab1-b7b7-b8671eb69913", + "a8cdba71-f883-6192-0c97-6cd17f4de65d", + "eec30c42-caca-51d2-eca9-c78eff715449" + ] + } + ] + }, + "e2189a29-1dd8-5eb0-bae3-9b8898d3fa3a", + { + "name": "RearBrake", + "origin": [ + -0.5, + 11.4, + 5.7 + ], + "rotation": [ + -37.5, + 0, + 0 + ], + "color": 0, + "uuid": "cc192655-44dc-2188-9278-23ae75a9d8c7", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "04f790ff-06b8-b829-84d2-ca0adef8b940", + "99dc1204-5aec-50f5-2612-3b39219a50e9", + "47a6a88c-66c8-67c7-3ae7-fcb3dbfbf42f", + "aa399e6a-a8a6-51a9-2949-caaf1804f323", + "abfd3033-fc57-f534-d7ec-92b75dfe9d54", + "73720e2a-64d8-ced8-c64c-228138fd1a87", + "0ef13339-da80-6817-d287-5a56cd9908b1" + ] + } + ] + }, + { + "name": "Handle", + "origin": [ + 0, + 14.75, + -5.925 + ], + "color": 0, + "uuid": "e0442ddb-7433-374b-bd1d-73e44cbfb346", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "186b9943-2c0c-5787-c4ea-49a89e132970", + "8ff1f4e7-76d7-a83d-b117-4cad703f62bc", + "3725292c-0caa-cf22-0b47-faf40e927fe3", + { + "name": "FrontWheel", + "origin": [ + 0.5, + 6, + -9 + ], + "color": 0, + "uuid": "6516bcac-c985-5966-0756-e7510f1d2e15", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "76b6672f-a72e-31d7-bdf3-60c56daf5084", + "a1c9ecf2-07eb-065b-64e6-e64a348693e0", + { + "name": "FrontWheelShaft", + "origin": [ + 0, + 6, + -9 + ], + "color": 0, + "uuid": "bf5947e1-ca67-2380-f88a-ea337ec7106c", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "df03351e-f1d1-3490-c1b7-2d264099f9c3" + ] + }, + { + "name": "FrontWheelSpokes", + "origin": [ + 0.5, + 6, + -9 + ], + "color": 0, + "uuid": "5a52e6df-2c17-2c19-6257-7a606139b579", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b8343032-c7e6-b65b-06df-6b292aa9eedf", + "68d9a80b-6c25-09ad-d937-97085f938380", + "0eb0ba20-b16f-8cc8-3912-3f0b680978f0", + "7e07df9b-588c-c9da-50b6-b33f3d9a3617", + "aad4c206-9681-bbdb-50e1-d9bb6fbb1ebe", + "7a74a0cd-80ff-2abf-5cde-fdc11c1c1446", + "0b6796c6-a501-1892-f529-813472ac4eeb", + "a42016c9-718a-a02f-8308-9408020c1116", + "07e25c4e-8c0f-250d-57ea-9dcf739d805e", + "d8afdb38-cb42-fade-0547-600191127907", + "93ccf627-8e39-f69b-8a7b-217e4c8582fa", + "42476674-1299-d71b-c279-a46956c488f0", + "6d574d80-812b-84f0-c79d-cf084923d552", + "db29414e-e09d-a9fc-9bd3-5670c14922c6", + "74f19ec5-5111-1919-cff0-7de0ebab618f", + "5ed0cf9a-b704-af67-2bf2-cee3db8d3dea" + ] + } + ] + }, + { + "name": "FrontBrake", + "origin": [ + -0.5, + 12.4, + -7.55 + ], + "rotation": [ + 19.5, + 0, + 0 + ], + "color": 0, + "uuid": "720acc72-5581-c6de-8e3d-4068cda074f6", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1d732fce-4005-216e-3044-9f505156a92b", + "53bc4f62-4513-d971-b0fc-562263d1526c", + "fd5d2120-8be2-1726-2340-861a9d8fc29f", + "0a8d0642-edc0-9fd9-bb6c-7a1e197dd51b", + "22da6686-733d-c89f-7e5b-21f9ce8b19f4", + "488b43b9-9612-f5d0-9890-b5631b11e45a", + "3ff46f25-6916-cfeb-6cc4-58426a6f2cc7" + ] + }, + "8b65d901-6e17-2dcc-637d-850a28258258", + "c789c8a6-0063-488b-5c6c-81e53c6abc01", + "0c4f11cf-b500-54e7-0781-beaed1e3ec37", + "1640048e-9368-4248-55bc-2b299c4d75ab", + "dd952888-44e4-aeab-711d-9cceb0477e0b", + { + "name": "Handle5", + "origin": [ + -4.125, + 16.5, + -11.625 + ], + "rotation": [ + -15, + 0, + 0 + ], + "color": 0, + "uuid": "ab577731-b39c-574e-ce48-cd0ea205abe4", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ede50820-d449-d82b-6f8d-4228929a111c", + "983d5767-616f-f54c-62d1-9c8f49d42f2b" + ] + }, + "58fdaaa8-6ec1-9841-802b-2766e7e2dde4", + { + "name": "LeftBrake", + "origin": [ + -4.125, + 16.5, + -11.125 + ], + "color": 0, + "uuid": "6f3933b1-284b-94e2-92ee-4c0e699008f5", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d7af45e2-4883-0227-cb42-0ffb11599cc3", + "82bf50c5-6b23-2606-d2d4-6726a5d392e7" + ] + }, + "fecb27c0-c909-72ed-428a-cf92b49fa80b", + { + "name": "Handle9", + "origin": [ + 4.125, + 16.5, + -11.625 + ], + "rotation": [ + -15, + 0, + 0 + ], + "color": 0, + "uuid": "dcc25636-e243-8d5b-642d-aa179822f91c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "49781c59-671b-ba9f-ad1c-032658aea64a", + "07567e28-388f-c677-8efe-930badc671b3" + ] + }, + "4e06a25d-d76d-e8af-7a3d-0b06e63d6fad", + { + "name": "RightBrake", + "origin": [ + 4.125, + 16.5, + -11.125 + ], + "color": 0, + "uuid": "07649c71-483a-7ab4-4876-b27d32a3939a", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "2bd4213d-3e98-6102-0249-8b8f30b76f86", + "f64bc813-01fc-79a9-5e07-2f12acd70c74" + ] + } + ] + }, + { + "name": "Pedals", + "origin": [ + 0, + 6, + 1.25 + ], + "color": 0, + "uuid": "23d89655-252e-ac9f-f77a-5326507ed90f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "LeftPedal", + "origin": [ + -1.5, + 6, + 1.25 + ], + "color": 0, + "uuid": "e4df24ad-88f0-c5d0-a46f-d139f8dee030", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "37ba5fb8-7f3c-0a5c-4a8e-cf82cb7b86a4", + "e1cbd0df-80ba-103b-33da-7452b2648fa3", + { + "name": "LeftPedalFoot", + "origin": [ + -1.825, + 3.6275, + 1.225 + ], + "color": 0, + "uuid": "7433fe03-252f-2168-8471-973abd3d1a2f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "c0ea5ac6-5706-71f0-68c1-f40c8bf5a3d6", + "7dd55019-11df-2825-0d3a-b5ad228b7da6", + "929dbc39-967c-7cc0-35ca-7e1d0c3a81d4", + "ab4fe1df-c29d-1a6b-0969-b392eab74f5d", + "9f58b56c-3233-ff5c-c48b-3acd9421c4e2" + ] + } + ] + }, + { + "name": "RightPedal", + "origin": [ + 1.325, + 6, + 1.25 + ], + "rotation": [ + -180, + 0, + 0 + ], + "color": 0, + "uuid": "2a9c3024-ef8b-f8a4-e870-f599ea0476e5", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "56a034b5-b845-5205-52ce-14c68d2d2c99", + "2b8c222e-47c5-2ed2-bd2e-23f569e64505", + { + "name": "Gear", + "origin": [ + -0.05, + 6, + 1.225 + ], + "color": 0, + "uuid": "10cfb52f-a383-e3ca-fa93-eaedb1c4a141", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "2029e718-668e-946e-99e7-dfa7dd4d82ec", + "c76ed13b-9286-9945-f890-d3402a811b46", + "5b03f483-dd57-88ad-4908-e45c0a6eb5bf" + ] + }, + { + "name": "RightPedalFoot", + "origin": [ + 1.825, + 3.6275, + 1.225 + ], + "rotation": [ + -180, + 0, + 0 + ], + "color": 0, + "uuid": "2f5dd021-97cd-44a7-e764-68be5a64c679", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f07287cb-ce5f-0ba0-de98-ab7c03cc8130", + "938513d3-5fa7-7799-d39f-10f6f1c371f5", + "dba4cbbb-b93a-5522-9874-960dde4e3372", + "90bd6802-9fdf-f809-7b65-3d4aeaa18475", + "a5016e85-37cd-599f-db72-5dddd5260a29" + ] + } + ] + } + ] + } + ] + }, + { + "name": "CameraBackground", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "cc01c588-a9f4-a99b-f1dc-385af75de4ff", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "2bf66eb8-966c-e2c1-7c3c-718fe02a348f" + ] + } + ], + "textures": [ + { + "path": "", + "name": "ex_skill_3.png", + "folder": "block", + "namespace": "", + "id": "0", + "width": 43, + "height": 7, + "uv_width": 43, + "uv_height": 7, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "c2172e1b-4639-4f77-0742-29c9b587d1b3", + "relative_path": "../../textures/ex_skill_3.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACsAAAAHCAYAAACRM7SNAAAAAXNSR0IArs4c6QAAANhJREFUOE9jNNB3+t/YUMiww9qBYZooDwMjIyMjAyb4jySELA8Th4lhU4csBjIGpBYkhqwHJoZsM7qZjIwgx3Jx8TN8+/aRARd94eI+mCUgGmYRLguxOQI9AJA9ic08mKNR7GDMfPUZ3edghcdd/RkuXNxHKMTwhQ4xetEdDXMkurngQAKHLIhluXsjw1QRdrDi7Dc/sTkWX4ihhw62UEeOYkKxgj1kkR2LbBoRIQtLEtiSCHpyQU+L5KVZUDIAOQyUyd59eMcgJCA0aGmMNIsWolgKhoETAgAwP6gXxQSelgAAAABJRU5ErkJggg==" + } + ], + "animations": [ + { + "uuid": "783aeb9a-40b4-677e-2d66-7d64cbf27d1f", + "name": "ex_skill_3", + "loop": "hold", + "override": true, + "length": 4.15, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "ca187cc6-059a-9127-470e-f76c6d5dc5ff": { + "name": "Bicycle", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": -4, + "z": -3.5 + } + ], + "uuid": "cb82b6a4-091b-db97-a9d0-0be3cbaa1088", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "6516bcac-c985-5966-0756-e7510f1d2e15": { + "name": "FrontWheel", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "c6d99063-9632-2eb5-e0f2-20629353bb76", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "8594.37", + "y": "0", + "z": 0 + } + ], + "uuid": "61eefec9-29e1-3ca2-dc19-9bb34368260c", + "time": 2.5, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.002, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.002, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "9281.92", + "y": 0, + "z": 0 + } + ], + "uuid": "5ce16cdd-2837-eebc-287d-aee837fdd240", + "time": 2.9, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.304, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.304, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "9e3b0bf8-d6d7-f627-aea1-13eedb3b7517": { + "name": "BackWheel", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "88df03df-bc1f-55b0-a928-3dfeea1971ae", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "8594.37", + "y": "0", + "z": 0 + } + ], + "uuid": "b11b578b-6fd1-3be0-d965-a394de6710d8", + "time": 2.5, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.002, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.002, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "9281.92", + "y": 0, + "z": 0 + } + ], + "uuid": "12ad6d24-b009-a49d-c5d9-7ab88d1be851", + "time": 2.9, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.304, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.304, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "5f9e0159-35ff-91fa-fba8-37746970e0ba": { + "name": "TransmissionGear", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "732d9f72-ec21-93eb-c86d-f208c26888fb", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 990, + "y": 0, + "z": 0 + } + ], + "uuid": "fa35dc6b-8d6b-2ad6-07f8-d9932d43b73a", + "time": 2.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e0442ddb-7433-374b-bd1d-73e44cbfb346": { + "name": "Handle", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "da6a28eb-3417-6592-c5ba-f5e73216c14e", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "30", + "z": 0 + } + ], + "uuid": "2657fa42-f77b-72bb-3d53-ffb56bd8d863", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 30, + "z": 0 + } + ], + "uuid": "135b000a-204b-55fd-27e9-b04fdce5f0b9", + "time": 3.9, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 0 + } + ], + "uuid": "b7536baf-f321-5265-ed9b-d7563dab9f45", + "time": 4.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "6f3933b1-284b-94e2-92ee-4c0e699008f5": { + "name": "LeftBrake", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "8c5bf7d9-e847-cf42-7221-d4bab90f8873", + "time": 2.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 55, + "y": 0, + "z": 0 + } + ], + "uuid": "b403453d-703d-e43a-8a3a-77e1069bc865", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 55, + "y": 0, + "z": 0 + } + ], + "uuid": "af0b3ea2-40d5-4164-050a-e06a9f75e5e8", + "time": 3.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "ffb2f56b-e645-b37c-9d62-0fd536a5e17c", + "time": 4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "07649c71-483a-7ab4-4876-b27d32a3939a": { + "name": "RightBrake", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "360c9cfa-fdee-a376-7c26-3a8f5e725fc7", + "time": 2.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 55, + "y": 0, + "z": 0 + } + ], + "uuid": "b7669287-63e6-e8f9-6a6b-dcc97bcd1156", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 55, + "y": 0, + "z": 0 + } + ], + "uuid": "f883db51-8062-21f2-906b-41b29a6917ce", + "time": 3.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "977285fe-ee8e-3cb9-6d97-0fc286e0356c", + "time": 4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "23d89655-252e-ac9f-f77a-5326507ed90f": { + "name": "Pedals", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "12c712f0-1b76-bc1c-fbc3-db7bb1921fdf", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 990, + "y": 0, + "z": 0 + } + ], + "uuid": "4f0f0a63-672f-399f-97fc-4d327e3e1b88", + "time": 2.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "fa18e1b9-d76e-815b-1b1d-592274c6592d": { + "name": "WaterBottle", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "ca47cc82-c8c0-cf3f-ce76-63f50b6eae7c", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "0", + "z": "180" + } + ], + "uuid": "b7d91b83-15b1-fad7-ca08-a29e739855a1", + "time": 4.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -5.5, + "y": 4, + "z": 4 + } + ], + "uuid": "840a5809-18b5-0b18-a621-b2e3a24615c6", + "time": 4.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "5d05c205-792e-63ba-0859-8eb3ae68f962", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + }, + { + "uuid": "0efa41b9-7900-1120-5347-d255f0b37a18", + "name": "bicycle_idle", + "loop": "hold", + "override": true, + "length": 0, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "ca187cc6-059a-9127-470e-f76c6d5dc5ff": { + "name": "Bicycle", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "-4", + "z": "-3.5" + } + ], + "uuid": "612e9393-4621-6dd5-9489-a1e3f5811c49", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + }, + { + "uuid": "309188b1-2b04-97a8-7c50-bda01e485670", + "name": "bicycle_run", + "loop": "loop", + "override": false, + "length": 0.4, + "snapping": 20, + "selected": true, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "4e80b5b4-7c04-8374-f8a7-526b3d36d050": { + "name": "RightLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 39.79469, + "y": -4.87133, + "z": 0.08731 + } + ], + "uuid": "64d78e3b-2eaf-a6ee-e218-10ab058b75ea", + "time": 0.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -0.67391, + "y": -12.14714, + "z": 2.85553 + } + ], + "uuid": "28e2d4fc-7a8f-16c4-6f19-d55aab25c48a", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 12.36285, + "y": -2.69713, + "z": -0.8666 + } + ], + "uuid": "6b53c14d-1e01-275c-004b-08050089b901", + "time": 0.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 28.63771, + "y": -4.22655, + "z": 3.78259 + } + ], + "uuid": "8cfd82f4-cc4a-37ac-7134-d76d48657161", + "time": 0.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -0.67391, + "y": -12.14714, + "z": 2.85553 + } + ], + "uuid": "d325d7dc-f614-3808-04cb-99dc3ebffc6e", + "time": 0.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "84fe0b3a-286b-e17f-288e-c39feaa2e5e6": { + "name": "RightLegBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "a7794564-f4cd-5a96-913e-baa4d29f72af", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -42.5, + "y": 0, + "z": 0 + } + ], + "uuid": "49f6d936-ba3e-6bc9-d9bf-03a8143eebc9", + "time": 0.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-67.5", + "y": 0, + "z": 0 + } + ], + "uuid": "e94d498a-d279-e354-66cc-bc4c785dde45", + "time": 0.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -25, + "y": 0, + "z": 0 + } + ], + "uuid": "3ed50005-d00e-afbe-d856-e423e877ed1e", + "time": 0.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "ddca5818-67ab-ecef-658d-172076487921", + "time": 0.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "73b3d6bc-af0b-a066-5d73-f3938109e11f": { + "name": "LeftLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -0.09108, + "y": 4.01206, + "z": -5.01108 + } + ], + "uuid": "355380ce-7943-866a-915b-94e522cd5280", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -40.67131, + "y": 12.14865, + "z": -2.85263 + } + ], + "uuid": "361322b7-6b64-3360-7f32-db58a39ca401", + "time": 0.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -27.63455, + "y": 2.69863, + "z": 0.8695 + } + ], + "uuid": "6b6baba6-ba03-101f-054b-c1a1fd4eb62a", + "time": 0.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10.1699, + "y": 4.03182, + "z": 0.14014 + } + ], + "uuid": "5a9ab78d-db43-e4c0-fff7-d905700d43f7", + "time": 0.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -0.20271, + "y": 4.87283, + "z": -0.08442 + } + ], + "uuid": "1aabbbd2-b632-d14e-aa34-4eb0c0a06dd0", + "time": 0.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ee9973d4-ff4e-c96b-64f6-d1f28afd69c6": { + "name": "LeftLegBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "8f490519-2df7-e195-29d3-a0845cab49c7", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 67.5, + "y": 0, + "z": 0 + } + ], + "uuid": "39943e39-9cc9-8c30-fea8-fe871de830e5", + "time": 0.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 25, + "y": "0", + "z": "0" + } + ], + "uuid": "5a68e16e-9032-7f31-1a63-6924fc3da765", + "time": 0.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 42.5, + "y": "0", + "z": "0" + } + ], + "uuid": "bd2a9be4-486f-9107-a277-1f23db24090d", + "time": 0.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "b20c42cc-0743-7859-a3d0-18118e48e34f", + "time": 0.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "9e3b0bf8-d6d7-f627-aea1-13eedb3b7517": { + "name": "BackWheel", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "6c8c635a-a419-0e57-586d-5b241a47e3d5", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "360", + "y": 0, + "z": 0 + } + ], + "uuid": "8947c5a1-5e4a-fab9-ad7d-bf646db72f21", + "time": 0.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "6516bcac-c985-5966-0756-e7510f1d2e15": { + "name": "FrontWheel", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "b7439386-4097-2701-942d-5a0cf202e926", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "360", + "y": 0, + "z": 0 + } + ], + "uuid": "d6fb68cd-5d87-204a-8770-7a49024cb53d", + "time": 0.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "23d89655-252e-ac9f-f77a-5326507ed90f": { + "name": "Pedals", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "6a183925-77dd-a83e-3d26-96d764dc80d3", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "360", + "y": 0, + "z": 0 + } + ], + "uuid": "3c60f6c6-c33a-6617-a725-104cea2c6f4d", + "time": 0.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "7433fe03-252f-2168-8471-973abd3d1a2f": { + "name": "LeftPedalFoot", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "6321eca9-96b5-af0d-acc6-6126695f6101", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-360", + "y": 0, + "z": 0 + } + ], + "uuid": "d7c8ffc9-df35-dabb-705e-a202804cdc77", + "time": 0.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "2f5dd021-97cd-44a7-e764-68be5a64c679": { + "name": "RightPedalFoot", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "899c1517-83e0-3f05-1b90-777d7b0fa61e", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-360", + "y": 0, + "z": 0 + } + ], + "uuid": "d7bcaf5e-6344-701e-06f1-1b912b242841", + "time": 0.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Shiroko/models/ex_skill_frame.bbmodel b/config/yosbr/config/figura/avatars/Shiroko/models/ex_skill_frame.bbmodel new file mode 100644 index 0000000..52727e4 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/models/ex_skill_frame.bbmodel @@ -0,0 +1,1179 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "ex_skill_frame", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 32, + "height": 16 + }, + "elements": [ + { + "name": "FrameTopLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d58488eb-4b98-5e52-740e-041d7c8c7b7f" + }, + { + "name": "FrameTop", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 16, + 0, + 32, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d7b279c5-8b54-f727-c9a0-07e530c5ab5a" + }, + { + "name": "FrameTopRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "86208108-703b-1a71-9e73-d829fcf93af0" + }, + { + "name": "FrameLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 16, + 0, + 32, + 16 + ], + "rotation": 270, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b38e5f11-842c-da8d-98f0-6570158f844f" + }, + { + "name": "FrameRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 16, + 0, + 32, + 16 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "72a70b22-fd81-174e-fbf8-59f6de9f116f" + }, + { + "name": "FrameBottomLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "rotation": 270, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8bd9fdba-ab88-a00c-3fbe-b5f33f230b66" + }, + { + "name": "FrameBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 16, + 0, + 32, + 16 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "77cf6831-3106-4f1e-8a19-d7d2cd39e07a" + }, + { + "name": "FrameBottomRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "99390453-8b25-0545-3dbf-db759d9122ff" + }, + { + "name": "FrameBarLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + -16, + -1000 + ], + "to": [ + 16, + 0, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + -6, + 4, + -99 + ], + "faces": { + "north": { + "uv": [ + 16, + 0, + 32, + 16 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "89423f5b-a0dd-39ba-2e32-74ba776e7d5f" + }, + { + "name": "FrameRBaright", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + -16, + -1000 + ], + "to": [ + 8, + 0, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + -6, + 4, + -99 + ], + "faces": { + "north": { + "uv": [ + 16, + 0, + 32, + 16 + ], + "rotation": 270, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "47e36d29-e769-b566-72a7-349097398d38" + }, + { + "name": "Particle1", + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "rotation": [ + 90, + 0, + 180 + ], + "export": true, + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "fvyx": [ + 4.6282, + 0, + 0 + ], + "URoh": [ + -2.3, + 0, + 4 + ], + "95Z0": [ + -2.3, + 0, + -4 + ] + }, + "faces": { + "4qMG6SMe": { + "uv": { + "fvyx": [ + 1, + 1 + ], + "95Z0": [ + 0, + 0 + ], + "URoh": [ + 0, + 1 + ] + }, + "vertices": [ + "fvyx", + "95Z0", + "URoh" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "b8f8c1d0-10bd-729b-caf4-15c768cff368" + }, + { + "name": "Particle2", + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "rotation": [ + 90, + 0, + -180 + ], + "export": true, + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "fvyx": [ + 4.6282, + 0, + 0 + ], + "URoh": [ + -2.3, + 0, + 4 + ], + "95Z0": [ + -2.3, + 0, + -4 + ], + "A1gx": [ + 3.104, + 0, + 0 + ], + "Rbsm": [ + -1.5379, + 0, + -2.68 + ], + "GZIF": [ + -1.5379, + 0, + 2.68 + ] + }, + "faces": { + "jydbDtJR": { + "uv": { + "Rbsm": [ + 0, + 1.32 + ], + "A1gx": [ + 0, + 6.68 + ], + "fvyx": [ + 0.7621, + 8 + ], + "95Z0": [ + 0.7621, + 0 + ] + }, + "vertices": [ + "Rbsm", + "A1gx", + "fvyx", + "95Z0" + ], + "texture": 0 + }, + "FShNpiER": { + "uv": { + "GZIF": [ + 0.7621, + 6.68 + ], + "Rbsm": [ + 0.7621, + 1.32 + ], + "95Z0": [ + 0, + 0 + ], + "URoh": [ + 0, + 8 + ] + }, + "vertices": [ + "GZIF", + "Rbsm", + "95Z0", + "URoh" + ], + "texture": 0 + }, + "Y8V06sJ8": { + "uv": { + "A1gx": [ + 6.68, + 0 + ], + "GZIF": [ + 1.32, + 0 + ], + "URoh": [ + 0, + 0.7621 + ], + "fvyx": [ + 8, + 0.7621 + ] + }, + "vertices": [ + "A1gx", + "GZIF", + "URoh", + "fvyx" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "26a9457e-5983-383c-377e-80178696ca03" + } + ], + "outliner": [ + { + "name": "Gui", + "origin": [ + 0, + 0, + -1000 + ], + "color": 0, + "uuid": "80d8e2e3-01bb-8e7a-de84-164a65212d5c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Frame", + "origin": [ + 0, + 0, + -100 + ], + "color": 0, + "uuid": "1a9432d3-a6a3-0042-6828-0adc1991dedf", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d58488eb-4b98-5e52-740e-041d7c8c7b7f", + "d7b279c5-8b54-f727-c9a0-07e530c5ab5a", + "86208108-703b-1a71-9e73-d829fcf93af0", + "b38e5f11-842c-da8d-98f0-6570158f844f", + "72a70b22-fd81-174e-fbf8-59f6de9f116f", + "8bd9fdba-ab88-a00c-3fbe-b5f33f230b66", + "77cf6831-3106-4f1e-8a19-d7d2cd39e07a", + "99390453-8b25-0545-3dbf-db759d9122ff" + ] + }, + { + "name": "FrameBar", + "origin": [ + 0, + 0, + -100 + ], + "rotation": [ + 0, + 0, + 45 + ], + "color": 0, + "uuid": "9a3f01ed-f49d-aaf3-78dd-22c36d7f20a7", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "89423f5b-a0dd-39ba-2e32-74ba776e7d5f", + "47e36d29-e769-b566-72a7-349097398d38" + ] + } + ] + }, + { + "name": "Particles", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "3f41b05a-dfcf-a9ea-5775-1b908472a151", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b8f8c1d0-10bd-729b-caf4-15c768cff368", + "26a9457e-5983-383c-377e-80178696ca03" + ] + } + ], + "textures": [ + { + "path": "", + "name": "ex_skill_frame.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 32, + "height": 16, + "uv_width": 32, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "d4a6d900-994d-d2db-a2a9-40eeb7363089", + "relative_path": "../../textures/ex_skill_frame.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAQCAYAAAB3AH1ZAAAAAXNSR0IArs4c6QAAAbdJREFUSEutVYtuwjAMtFOJ///KbbwLY4wJJZ6uxOzitmwSi1SlaVznend2te/7s4io/Ayjtd9jxvA4X/uzuO/ZOC7G3hJWAG8EgG/nEiMGe6nOnrzMgAdwXJxvuAeATxF5FZGNiOTAhB8QmfCwmHjqO/jg0T4zAADrO3dmN4SqamaGmfd4PdBRYzD7ezOsMnhjBrYislJVgHDUrHn0Ceef8hB7iT3BuQcAMCEk2FUAYGIf5OADXH82VTTnHKCRkRsPmNkqpbQtpfSYZ5jgJL+wPDJd/JDGhC7BhgD0fEIpRVNKTWn5s6k9vMvPYyzWUwwAwKEy0JdSTkEONpHL8dDp9BGjPtJUgUtQPQAf7AFAVY9/6BOxgTVunzO2A1jWElyrqksAUwLAu6ri+gCjXnJNCVCJ8r6XqpfmVFnHRjQAqAzsIIWIHCuAU84ZIP51jBoR+kD1gDMACQ6qes45n1JKADHVVpv6foCy8Ysz8CIi21iGlQHQ3wDIOX8tFotBjmdH0wnNbFndPxiQPAAZ7gwAQNd1+Ic8PRoGYMQJCcBAA6DrukvO+XK9Xi/+r7hbvhqSjRf3GPU3orWFV48IG9oAAAAASUVORK5CYII=" + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Shiroko/models/gun.bbmodel b/config/yosbr/config/figura/avatars/Shiroko/models/gun.bbmodel new file mode 100644 index 0000000..42c4d4c --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/models/gun.bbmodel @@ -0,0 +1,4096 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "gun", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 45, + "height": 61 + }, + "elements": [ + { + "name": "Barrel1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.448, + 4, + -8 + ], + "to": [ + 0.448, + 4.896, + -5.821 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 5, + 0, + 12, + 7 + ], + "texture": 0 + }, + "east": { + "uv": [ + 3, + 0, + 15, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 15, + 0, + 3, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 15, + 0, + 3, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 15, + 0, + 3, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "e188c771-4f61-5d4c-3a59-6457bd634179" + }, + { + "name": "Barrel2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.4775, + 3.9705, + -5.821 + ], + "to": [ + 0.4775, + 4.9255, + -5.642 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 3, + 3, + 11 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "b538d8d1-69e7-3614-d30c-727a5fef9d4a" + }, + { + "name": "Barrel3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.358, + 4.09, + -5.642 + ], + "to": [ + 0.358, + 4.806, + -5.373 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "9b161bb7-d7de-677f-2ea8-ea387859c876" + }, + { + "name": "Barrel4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.358, + 4.09, + -5.642 + ], + "to": [ + 0.358, + 4.806, + -5.373 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "f4aceb40-af1a-e7d2-e62a-cf27f0e6cf3e" + }, + { + "name": "Barrel5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2685, + 4.1795, + -5.373 + ], + "to": [ + 0.2685, + 4.7165, + -4.239 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "33f8c326-de97-a590-8f6e-3520ee91b568" + }, + { + "name": "Barrel6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2985, + 4.15, + -4.239 + ], + "to": [ + 0.2985, + 5.016, + -3.851 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 5, + 0, + 6, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 0, + 6, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "7e518718-2d7b-b05e-47d8-226926562a0f" + }, + { + "name": "BarrelCap", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1495, + 4.717, + -4.448 + ], + "to": [ + 0.1495, + 5.016, + -4.239 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "36e8c39b-89bc-ac0d-ca1a-86ff5a361b38" + }, + { + "name": "FrontSight1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1495, + 5.016, + -4.239 + ], + "to": [ + 0.1495, + 5.041, + -4.03 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "923a62e3-48e3-282c-ccb0-e2011ab09a28" + }, + { + "name": "FrontSight2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.1245, + 5.041, + -4.239 + ], + "to": [ + 0.1495, + 5.29, + -4.03 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "7d76b445-1791-2f8c-e303-c665d085b0d0" + }, + { + "name": "FrontSight3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1495, + 5.29, + -4.239 + ], + "to": [ + 0.1495, + 5.315, + -4.03 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "57f11f31-cfe1-b938-aace-6122187f7e09" + }, + { + "name": "FrontSight4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1495, + 5.041, + -4.239 + ], + "to": [ + -0.1245, + 5.29, + -4.03 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "f3f4b2f7-3b9c-bb89-20be-b3b9bdd94a90" + }, + { + "name": "Barrel7", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.388, + 4.06, + -4.15 + ], + "to": [ + 0.388, + 4.866, + -3.851 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "037fc2ff-9d38-a513-b25b-b2d7873c020c" + }, + { + "name": "Barrel8", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.0448, + 3.821, + -4.15 + ], + "to": [ + 0.0447, + 4.06, + -3.851 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "b2e5c710-fe25-b62c-1b91-f5f9bb0617ef" + }, + { + "name": "GunBody1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.388, + 3.403, + -3.851 + ], + "to": [ + 0.388, + 5.104, + 0.418 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 7, + 24, + 16.56 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 7, + 0, + 16.56 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "c60a2302-159f-c235-c534-57888c79f241" + }, + { + "name": "GunBody2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.388, + 3.254, + 0.418 + ], + "to": [ + 0.388, + 5.075, + 3.702 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 17, + 18.462, + 27.23 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 18.462, + 17, + 0, + 27.23 + ], + "texture": 0 + }, + "up": { + "uv": [ + 18.462, + 17, + 0, + 18 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "97bbb352-a8f4-80e0-3686-69e489c3687b" + }, + { + "name": "FrontHandleBase", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.388, + 3.254, + -1.254 + ], + "to": [ + 0.388, + 3.403, + -0.06 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 4, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + }, + "down": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "4ab8bfa7-eff3-339c-2d8a-01617a95f95f" + }, + { + "name": "FrontHandle", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2985, + 1.851, + -0.985 + ], + "to": [ + 0.2985, + 3.254, + -0.388 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 4, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 1, + 12, + 0 + ], + "rotation": 270, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 1, + 12, + 0 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 0, + 1, + 12, + 0 + ], + "rotation": 270, + "texture": 0 + }, + "west": { + "uv": [ + 0, + 1, + 12, + 0 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "e23b32c7-bc97-1b2b-4584-a5180a36569d" + }, + { + "name": "MagazineBase", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.388, + 2.448, + 0.418 + ], + "to": [ + 0.388, + 3.254, + 2.179 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 9, + 25, + 10, + 29.53 + ], + "texture": 0 + }, + "east": { + "uv": [ + 9, + 25, + 10, + 29.53 + ], + "texture": 0 + }, + "south": { + "uv": [ + 9, + 25, + 10, + 29.53 + ], + "texture": 0 + }, + "west": { + "uv": [ + 9, + 25, + 10, + 29.53 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "33513a46-7d46-60df-5d15-3e4cd3fb0691" + }, + { + "name": "Magazine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.358, + 0.06, + 0.523 + ], + "to": [ + 0.358, + 2.448, + 2.149 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 16.7, + 0, + 0 + ], + "origin": [ + 0, + 2.448, + 2.149 + ], + "faces": { + "north": { + "uv": [ + 19, + 28, + 20, + 29 + ], + "texture": 0 + }, + "east": { + "uv": [ + 10, + 28, + 20, + 29 + ], + "texture": 0 + }, + "south": { + "uv": [ + 10, + 28, + 11, + 29 + ], + "texture": 0 + }, + "west": { + "uv": [ + 10, + 28, + 20, + 29 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + }, + "down": { + "uv": [ + 10, + 28, + 20, + 29 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "26374af4-4834-5e4e-a31b-43a96b36c398" + }, + { + "name": "Grip1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.388, + 4.179, + 3.702 + ], + "to": [ + 0.388, + 4.836, + 7.851 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 10, + 29, + 20, + 30 + ], + "texture": 0 + }, + "south": { + "uv": [ + 10, + 29, + 11, + 30 + ], + "texture": 0 + }, + "west": { + "uv": [ + 10, + 29, + 20, + 30 + ], + "texture": 0 + }, + "up": { + "uv": [ + 10, + 29, + 20, + 30 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 10, + 29, + 20, + 30 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "7ba39029-41b2-7999-531f-9addf448a6c7" + }, + { + "name": "Grip2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.388, + 2.19, + 7.164 + ], + "to": [ + 0.388, + 4.179, + 7.851 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 11, + 29, + 12, + 30 + ], + "texture": 0 + }, + "east": { + "uv": [ + 10, + 29, + 11.65, + 30 + ], + "texture": 0 + }, + "south": { + "uv": [ + 10, + 29, + 11, + 30 + ], + "texture": 0 + }, + "west": { + "uv": [ + 11.65, + 29, + 10, + 30 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 11.65, + 29, + 10, + 30 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "c4a0b6ae-efb8-ead7-6289-e02eec047d59" + }, + { + "name": "Grip3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.388, + 1.642, + 3.941 + ], + "to": [ + 0.388, + 2.299, + 7.484 + ], + "autouv": 0, + "color": 0, + "inflate": -0.001, + "rotation": [ + 33.83, + 0, + 0 + ], + "origin": [ + 0, + 1.642, + 7.485 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 10, + 30, + 19.9, + 31 + ], + "texture": 0 + }, + "south": { + "uv": [ + 10, + 29, + 11, + 30 + ], + "texture": 0 + }, + "west": { + "uv": [ + 19.9, + 30, + 10, + 31 + ], + "texture": 0 + }, + "up": { + "uv": [ + 11, + 29, + 12, + 30 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 19.9, + 30, + 10, + 31 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "4ab54eff-8315-0191-fdf0-fb0fb1b5a629" + }, + { + "name": "Grip4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.388, + 3.612, + 3.702 + ], + "to": [ + 0.388, + 4.179, + 5.553 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 15.55, + 29, + 20, + 30 + ], + "texture": 0 + }, + "south": { + "uv": [ + 11, + 29, + 12, + 30 + ], + "texture": 0 + }, + "west": { + "uv": [ + 20, + 29, + 15.55, + 30 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 20, + 29, + 15.55, + 30 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "4f190cbd-746b-14cb-2e0f-392cd4f5352b" + }, + { + "name": "Grip6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.388, + -0.769, + 5.325 + ], + "to": [ + 0.388, + -0.5, + 5.743 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -30.26, + 0, + 0 + ], + "origin": [ + 0, + 4, + 0.209 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 11, + 29, + 12, + 30 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 11, + 29, + 12, + 30 + ], + "texture": 0 + }, + "up": { + "uv": [ + 11, + 29, + 12, + 30 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "e4a52150-0375-3959-4f09-f2c372d5aa4c" + }, + { + "name": "Grip5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.358, + -0.5, + 5.325 + ], + "to": [ + 0.358, + -0.231, + 5.743 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -30.26, + 0, + 0 + ], + "origin": [ + 0, + 4, + 0.209 + ], + "faces": { + "north": { + "uv": [ + 10, + 29, + 11, + 30 + ], + "texture": 0 + }, + "east": { + "uv": [ + 10, + 29, + 11, + 30 + ], + "texture": 0 + }, + "south": { + "uv": [ + 10, + 29, + 11, + 30 + ], + "texture": 0 + }, + "west": { + "uv": [ + 10, + 29, + 11, + 30 + ], + "texture": 0 + }, + "up": { + "uv": [ + 10, + 29, + 11, + 30 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "df9c0379-25c5-9a59-d4c7-838f93c82c14" + }, + { + "name": "TriggerGuard", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.388, + 2.448, + 2.179 + ], + "to": [ + 0.388, + 2.657, + 2.895 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "2ec1e604-0157-a33a-59f2-64ee0ee35cb6" + }, + { + "name": "GunBody3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.388, + 2.525, + 2.895 + ], + "to": [ + 0.388, + 3.612, + 3.895 + ], + "autouv": 0, + "color": 0, + "inflate": -0.001, + "origin": [ + 0, + 0.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 19, + 1, + 23.78, + 6.2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 10, + 29, + 11, + 30 + ], + "texture": 0 + }, + "west": { + "uv": [ + 23.78, + 1, + 19, + 6.2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 90 + }, + "down": { + "uv": [ + 23.78, + 6, + 19, + 7 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "1f629589-a29e-f147-a5c2-e740cb5d1d80" + }, + { + "name": "RearHandle1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.388, + 0.675, + 3.06 + ], + "to": [ + 0.388, + 2.525, + 3.806 + ], + "autouv": 0, + "color": 0, + "inflate": -0.002, + "rotation": [ + -39, + 0, + 0 + ], + "origin": [ + 0, + 2.525, + 3.06 + ], + "faces": { + "north": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 19.4, + 2, + 24, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 10, + 29, + 11, + 30 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 2, + 19.4, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 24, + 2, + 19.4, + 3 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "7a39d9a2-1cbb-98b6-cd22-c98c1c9eb0d7" + }, + { + "name": "RearHandle2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.388, + 0.675, + 2.881 + ], + "to": [ + 0.388, + 1.099, + 3.06 + ], + "autouv": 0, + "color": 0, + "inflate": -0.002, + "rotation": [ + -39, + 0, + 0 + ], + "origin": [ + 0, + 2.525, + 3.06 + ], + "faces": { + "north": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "e0085a1d-9b6a-a826-eb38-5c397497fd1b" + }, + { + "name": "Trigger", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.358, + 2.657, + 2.575 + ], + "to": [ + 0.358, + 3.257, + 2.814 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 15, + 0, + 0 + ], + "origin": [ + 0, + 3.254, + 2.814 + ], + "faces": { + "north": { + "uv": [ + 10, + 29, + 11, + 30 + ], + "texture": 0 + }, + "east": { + "uv": [ + 10, + 29, + 11, + 30 + ], + "texture": 0 + }, + "south": { + "uv": [ + 10, + 29, + 11, + 30 + ], + "texture": 0 + }, + "west": { + "uv": [ + 10, + 29, + 11, + 30 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + }, + "down": { + "uv": [ + 10, + 29, + 11, + 30 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "296ef407-7750-ee2b-4398-6705bfce9507" + }, + { + "name": "ScopeBase1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.388, + 5.075, + 0.825 + ], + "to": [ + 0.388, + 5.4899, + 2.992 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 31, + 12.18, + 33.33 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 28, + 4, + 30.33 + ], + "texture": 0 + }, + "west": { + "uv": [ + 12.18, + 31, + 0, + 33.33 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "rotation": 270 + } + }, + "type": "cube", + "uuid": "7ec11ed2-ca58-89d1-affa-62f6344390c6" + }, + { + "name": "ScopeBase2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.388, + 5.4899, + 1.124 + ], + "to": [ + 0.388, + 5.7889, + 2.527 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "7c5b0777-b33b-2567-36a1-a6def470305c" + }, + { + "name": "Scope1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.433, + 5.7889, + 0.408 + ], + "to": [ + 0.433, + 6.6549, + 2.468 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 12, + 0, + 19, + 7 + ], + "texture": 0 + }, + "east": { + "uv": [ + 3, + 0, + 4, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 3, + 0, + 4, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 3, + 0, + 4, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 3, + 0, + 4, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "3512e268-5f94-30e5-a209-5c88215e55da" + }, + { + "name": "Scope2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.463, + 5.7589, + 2.468 + ], + "to": [ + 0.463, + 6.6849, + 2.826 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 12, + 0, + 19, + 7 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 1, + 2, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 3, + 0, + 4, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 1, + 0, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 1, + 0, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 2, + 1, + 0, + 2 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "83acc1e5-b770-64a6-c29c-dd950ac49aa1" + }, + { + "name": "Scope3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.493, + 5.7189, + 2.826 + ], + "to": [ + 0.493, + 6.7049, + 3.005 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 12, + 0, + 19, + 7 + ], + "texture": 0 + }, + "east": { + "uv": [ + 3, + 0, + 4, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 0, + 19, + 7 + ], + "texture": 0 + }, + "west": { + "uv": [ + 3, + 0, + 4, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 3, + 0, + 4, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 3, + 0, + 4, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "2d3da6ca-40c6-ba46-7b94-2e8863d1ded9" + }, + { + "name": "ScopeGuard1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.388, + 5.669, + 1.423 + ], + "to": [ + 0.443, + 6.705, + 2.05 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "2023cf13-48db-055e-0ec9-a5f767d26f43" + }, + { + "name": "ScopeGuard2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.388, + 5.569, + 1.998 + ], + "to": [ + 0.443, + 5.868, + 2.297 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 2, + 3, + 5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "442d00cd-86bc-96c8-f6a2-c4ef0de6e9c7" + }, + { + "name": "ScopeGuard4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.443, + 5.569, + 1.998 + ], + "to": [ + -0.388, + 5.868, + 2.297 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 1, + 1, + 0, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 1, + 1, + 0, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 3, + 2, + 0, + 5 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 2, + 1, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 2, + 1, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "ed099972-ed33-5777-36cc-987762e9da43" + }, + { + "name": "ScopeGuard3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.443, + 5.669, + 1.423 + ], + "to": [ + -0.388, + 6.705, + 2.05 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 1, + 1, + 0, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 1, + 0, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 1, + 0, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 1, + 0, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 2, + 1, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 2, + 1, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "d5ea0867-6c99-dc98-8d72-0acbcf9ec3f2" + }, + { + "name": "ScopeSight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.0745, + 6.6549, + 0.468 + ], + "to": [ + 0.0745, + 6.8039, + 0.826 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 3, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 3, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 3, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 3, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 3, + 0, + 2, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "7ae4f6d7-22f8-321a-66ef-23a498ccc9b4" + }, + { + "name": "GunBody4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.388, + 5.075, + 2.992 + ], + "to": [ + 0.388, + 5.164, + 3.702 + ], + "autouv": 0, + "color": 0, + "inflate": -0.001, + "origin": [ + 0, + 0.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 17, + 4, + 18 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 17, + 2, + 18 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 17, + 0, + 18 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 17, + 2, + 18 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "11969884-2b49-bc15-2509-a4097e68c93a" + }, + { + "name": "AbydosLogo1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.398, + 2.6, + 0.6635 + ], + "to": [ + 0.398, + 3.6, + 1.9335 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 34, + 28, + 56 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "7036971c-c9a8-e3f2-49cd-5b716db571a5" + }, + { + "name": "AbydosLogo2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.398, + 2.6, + 0.6635 + ], + "to": [ + -0.398, + 3.6, + 1.9335 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 34, + 28, + 56 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "13d3f1e7-188d-9172-ccfa-864c64c35d5e" + }, + { + "name": "Abydos550", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.458, + 4.392, + -7.25 + ], + "to": [ + -0.458, + 4.503, + -6.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.5, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 56, + 45, + 61 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 270, + "texture": null + } + }, + "type": "cube", + "uuid": "06d6e71c-e2d4-7978-33a0-5b99061d66d3" + } + ], + "outliner": [ + { + "name": "Gun", + "origin": [ + 0, + 4, + 0 + ], + "color": 0, + "uuid": "20fe1cca-22a6-ca36-3dc4-e85c7c10e012", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Barrel", + "origin": [ + 3, + 0.5, + 0 + ], + "color": 0, + "uuid": "45f6909e-8f13-8b56-0f4a-be9c723f4ae4", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e188c771-4f61-5d4c-3a59-6457bd634179", + "06d6e71c-e2d4-7978-33a0-5b99061d66d3", + "b538d8d1-69e7-3614-d30c-727a5fef9d4a", + "9b161bb7-d7de-677f-2ea8-ea387859c876", + "f4aceb40-af1a-e7d2-e62a-cf27f0e6cf3e", + "33f8c326-de97-a590-8f6e-3520ee91b568", + "7e518718-2d7b-b05e-47d8-226926562a0f", + "037fc2ff-9d38-a513-b25b-b2d7873c020c", + "b2e5c710-fe25-b62c-1b91-f5f9bb0617ef", + "36e8c39b-89bc-ac0d-ca1a-86ff5a361b38", + { + "name": "FrontSight", + "origin": [ + 3, + 0.5, + 0 + ], + "color": 0, + "uuid": "1d5a4e4c-275c-f324-ccdb-6e25f2d2fe9d", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "923a62e3-48e3-282c-ccb0-e2011ab09a28", + "7d76b445-1791-2f8c-e303-c665d085b0d0", + "57f11f31-cfe1-b938-aace-6122187f7e09", + "f3f4b2f7-3b9c-bb89-20be-b3b9bdd94a90" + ] + }, + { + "name": "AbydosLogos", + "origin": [ + 3, + 0.5, + 0 + ], + "color": 0, + "uuid": "44e407d2-eeb4-31d6-f4aa-3fee18e2ce24", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "7036971c-c9a8-e3f2-49cd-5b716db571a5", + "13d3f1e7-188d-9172-ccfa-864c64c35d5e" + ] + } + ] + }, + { + "name": "GunBody", + "origin": [ + 3, + 0.5, + 0 + ], + "color": 0, + "uuid": "a749f39d-6aa2-bcfd-c98a-7837af5831eb", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "c60a2302-159f-c235-c534-57888c79f241", + "97bbb352-a8f4-80e0-3686-69e489c3687b", + "1f629589-a29e-f147-a5c2-e740cb5d1d80", + "11969884-2b49-bc15-2509-a4097e68c93a" + ] + }, + { + "name": "FrontHandle", + "origin": [ + 0, + 4, + 0 + ], + "color": 0, + "uuid": "3c01f6d6-60f6-caaf-56ab-69db8f5c3b5f", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4ab8bfa7-eff3-339c-2d8a-01617a95f95f", + "e23b32c7-bc97-1b2b-4584-a5180a36569d" + ] + }, + { + "name": "RearHandle", + "origin": [ + 3, + 0.5, + 0 + ], + "color": 0, + "uuid": "efa59ffb-1c0f-acc3-f7a1-4b1e68018cbb", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "7a39d9a2-1cbb-98b6-cd22-c98c1c9eb0d7", + "e0085a1d-9b6a-a826-eb38-5c397497fd1b" + ] + }, + { + "name": "Magazine", + "origin": [ + 3, + 0.5, + 0 + ], + "color": 0, + "uuid": "a746fb90-a6e5-5ef0-0a8c-8170a33f9651", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "33513a46-7d46-60df-5d15-3e4cd3fb0691", + "26374af4-4834-5e4e-a31b-43a96b36c398" + ] + }, + { + "name": "Grip", + "origin": [ + 3, + 0.5, + 0 + ], + "color": 0, + "uuid": "c9a38bf9-4cc6-1b7b-a60d-50dcd515066e", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "7ba39029-41b2-7999-531f-9addf448a6c7", + "c4a0b6ae-efb8-ead7-6289-e02eec047d59", + "4ab54eff-8315-0191-fdf0-fb0fb1b5a629", + "4f190cbd-746b-14cb-2e0f-392cd4f5352b", + "df9c0379-25c5-9a59-d4c7-838f93c82c14", + "e4a52150-0375-3959-4f09-f2c372d5aa4c" + ] + }, + { + "name": "Trigger", + "origin": [ + 3, + 0.5, + 0 + ], + "color": 0, + "uuid": "304d9247-688a-1596-1e2d-23afa208e260", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "2ec1e604-0157-a33a-59f2-64ee0ee35cb6", + "296ef407-7750-ee2b-4398-6705bfce9507" + ] + }, + { + "name": "Scope", + "origin": [ + 3, + 0.5, + 0 + ], + "color": 0, + "uuid": "5a8e91ea-af61-076b-4a38-31981542de78", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "7ec11ed2-ca58-89d1-affa-62f6344390c6", + "7c5b0777-b33b-2567-36a1-a6def470305c", + "3512e268-5f94-30e5-a209-5c88215e55da", + "83acc1e5-b770-64a6-c29c-dd950ac49aa1", + "2d3da6ca-40c6-ba46-7b94-2e8863d1ded9", + "2023cf13-48db-055e-0ec9-a5f767d26f43", + "442d00cd-86bc-96c8-f6a2-c4ef0de6e9c7", + "d5ea0867-6c99-dc98-8d72-0acbcf9ec3f2", + "ed099972-ed33-5777-36cc-987762e9da43", + "7ae4f6d7-22f8-321a-66ef-23a498ccc9b4" + ] + }, + { + "name": "MuzzleAnchor", + "origin": [ + 0, + 4.448, + -8 + ], + "color": 0, + "uuid": "86205034-0628-d371-48a5-9ed879675e13", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + } + ], + "textures": [ + { + "path": "", + "name": "gun.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 45, + "height": 61, + "uv_width": 45, + "uv_height": 61, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "7bd4b824-3db6-476b-99e3-dde805a618f1", + "relative_path": "../../textures/gun.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC0AAAA9CAYAAAA5zOABAAAAAXNSR0IArs4c6QAAA5BJREFUaEPVmM+KE0EQxmfIXHyH9R52k4C74BOIuAuyAd9EEQ+ePYjomwiKuAviwbOwEZLskjdZD7O0VG9qrNRU91RP0t1kLpnpv7/6+uuazpSH42NTFEVxOr8qLicnzS+UhV43i1kZ2qdP+7KuazN59LigE0IgN4tZa7zD8bEtgzpjTFGW/xmh7uDgYfHj8mt0cAuNdFVV2Qm7oK/nVxvA6z4Wml4X3z4XOGYfRV19GqXnf343E3RBu1YhKXSo0hwarHI0OUmntLQEIUqjt9HTSezhgu7jQWoP8DNcUTy9XC7NcDjsw6jqkwX67PmLVkbQlmVTWgsotcsGrfKAp1EWe+wN9Gq12pbV9ocNHk1pTkizCdzTILTP0CcqNEJqgTDIrvbRN2IXQEg9igBqR7PHdDrtZQGX4tRuUaDxaIp5Fl+/0k505WJ+4NrJLvYMUsJrnNa/fP12o/mnD++aZ6iDoBCe1kGj0WgU/Q8AzLPxJwAKAGh88SVYrPd3d1H8K4GI0C5iXzBJobk9giUmHbLZYxvoGJlCtIdGae15Oxn0K2PM4mxqswJcbwaDAvyJV8g5JJk9EBo3GQADOAYC2cSXu2O/SER7SEr3AY51zlClvL3YiKA0ehhs8ZF+61pHAK/6J8/O7dP1fFYcTe4/j+FFy379/B79rdh6uUgZgFvItRrg/yTf8jRKA+TT03Oj2ZAp0l5JobV+TgHmY+FfTVtt67q2ZTT1ZYdGpauqcgaH4NggO7TWEqwdnMGjZwkXW5+JETgbeCg0B80CHgJNAV33Pd0W1i0Emo6cRWEE0EJ32SJpEFpoCHKv7CGpLK1UMrW7lPYBZwP3QdN8rN3eMF50xV3Qrok3vkatI5HGiAoeCo0bsiv7JIf2qYxBal4u0cC50hpgnv6kZ1yJKOAUOmSCWG1VG55DazrRDCFtTGmMrtSqmbdps9PBgmbeojHdWDAMf+ZlLpWlFXOt4tZC8ZeBdMDnZZo2dHOG+F+lP0LTxrzMtVmltOc7VNFVU8H5/m6FTu7L1V35eyeq++zRdSCimcPnaVe73mrbyYwxt3btyvLB+hkm+svKbqEe2uJvE9W6nzQWLaPj8XKsQxY+NmW0H2vwOwYFIgG0YCk8Tq4p49LifLTcV9aAA/RgMLCqkmhbSlM41z2dkN9zlV0rQJWmwtGVUCu9DTQKIqnoq3OuvKSOFK0ErfG0a6wQpfle+Qc1ONU4adsrVgAAAABJRU5ErkJggg==" + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Shiroko/models/main.bbmodel b/config/yosbr/config/figura/avatars/Shiroko/models/main.bbmodel new file mode 100644 index 0000000..f1a06c1 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/models/main.bbmodel @@ -0,0 +1,43417 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "main", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 64, + "height": 261 + }, + "elements": [ + { + "name": "Head", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 24, + -4 + ], + "to": [ + 4, + 32, + 4 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 8, + 16, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 8, + 8, + 16 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 8, + 32, + 16 + ], + "texture": 0 + }, + "west": { + "uv": [ + 16, + 8, + 24, + 16 + ], + "texture": 0 + }, + "up": { + "uv": [ + 16, + 8, + 8, + 0 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 0, + 16, + 8 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a66c63cf-0082-7797-3f4e-08ff434a1cac" + }, + { + "name": "HatLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 24, + -4 + ], + "to": [ + 4, + 32, + 4 + ], + "autouv": 0, + "color": 0, + "inflate": 0.5, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 32, + 0 + ], + "faces": { + "north": { + "uv": [ + 40, + 8, + 48, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 32, + 8, + 40, + 16 + ], + "texture": 0 + }, + "south": { + "uv": [ + 56, + 8, + 64, + 16 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 8, + 56, + 16 + ], + "texture": 0 + }, + "up": { + "uv": [ + 48, + 8, + 40, + 0 + ], + "texture": 0 + }, + "down": { + "uv": [ + 56, + 0, + 48, + 8 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d48552a8-9f0d-7335-2a82-794f3264fc9d" + }, + { + "name": "Body", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 12, + -2 + ], + "to": [ + 4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 16 + ], + "faces": { + "north": { + "uv": [ + 20, + 121, + 28, + 133 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 121, + 20, + 133 + ], + "texture": 0 + }, + "south": { + "uv": [ + 32, + 121, + 40, + 133 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 121, + 32, + 133 + ], + "texture": 0 + }, + "up": { + "uv": [ + 28, + 121, + 20, + 117 + ], + "texture": 0 + }, + "down": { + "uv": [ + 36, + 117, + 28, + 121 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "742e9ab7-8cdd-8d93-9a9a-88011f54d15b" + }, + { + "name": "BodyLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 12, + -2 + ], + "to": [ + 4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 32 + ], + "faces": { + "north": { + "uv": [ + 20, + 137, + 28, + 149 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 137, + 20, + 149 + ], + "texture": 0 + }, + "south": { + "uv": [ + 32, + 137, + 40, + 149 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 137, + 32, + 149 + ], + "texture": 0 + }, + "up": { + "uv": [ + 28, + 137, + 20, + 133 + ], + "texture": 0 + }, + "down": { + "uv": [ + 36, + 133, + 28, + 137 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2574fa9e-0d5f-502c-ce28-ef5cf30f41ec" + }, + { + "name": "RightArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 18, + -2 + ], + "to": [ + 7, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 44, + 121, + 47, + 127 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 121, + 44, + 127 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 121, + 54, + 127 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 121, + 51, + 127 + ], + "texture": 0 + }, + "up": { + "uv": [ + 47, + 121, + 44, + 117 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 101, + 0, + 101 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8831734e-ce90-e6bb-8368-e011a468277d" + }, + { + "name": "RightArmLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 18, + -2 + ], + "to": [ + 7, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 32 + ], + "faces": { + "north": { + "uv": [ + 44, + 137, + 47, + 143 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 137, + 44, + 143 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 137, + 54, + 143 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 137, + 51, + 143 + ], + "texture": 0 + }, + "up": { + "uv": [ + 47, + 137, + 44, + 133 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 101, + 0, + 101 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "cea7603d-ae80-e4e7-6f93-905551a79117" + }, + { + "name": "LeftArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 18, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 32, + 48 + ], + "faces": { + "north": { + "uv": [ + 36, + 153, + 39, + 159 + ], + "texture": 0 + }, + "east": { + "uv": [ + 32, + 153, + 36, + 159 + ], + "texture": 0 + }, + "south": { + "uv": [ + 43, + 153, + 46, + 159 + ], + "texture": 0 + }, + "west": { + "uv": [ + 39, + 153, + 43, + 159 + ], + "texture": 0 + }, + "up": { + "uv": [ + 39, + 153, + 36, + 149 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 101, + 0, + 101 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "af1aa9d5-0ccf-d579-b381-54ac7b12fb55" + }, + { + "name": "LeftArmLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 18, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 48, + 48 + ], + "faces": { + "north": { + "uv": [ + 52, + 153, + 55, + 159 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 153, + 52, + 159 + ], + "texture": 0 + }, + "south": { + "uv": [ + 59, + 153, + 62, + 159 + ], + "texture": 0 + }, + "west": { + "uv": [ + 55, + 153, + 59, + 159 + ], + "texture": 0 + }, + "up": { + "uv": [ + 55, + 153, + 52, + 149 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 101, + 0, + 101 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b74fb9e9-db24-b669-6f87-8469be63eda5" + }, + { + "name": "RightLeg", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 6, + -2 + ], + "to": [ + 4, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 4, + 121, + 8, + 127 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 121, + 4, + 127 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 121, + 16, + 127 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 121, + 12, + 127 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 121, + 4, + 117 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 101, + 0, + 101 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "da81ebbe-5b4e-2d46-144a-6f839ad6fa3c" + }, + { + "name": "RightLegLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 6, + -2 + ], + "to": [ + 4, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 32 + ], + "faces": { + "north": { + "uv": [ + 4, + 137, + 8, + 143 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 137, + 4, + 143 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 137, + 16, + 143 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 137, + 12, + 143 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 137, + 4, + 133 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 101, + 0, + 101 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "bcf37da3-caec-e8f2-bc82-76a3f169374c" + }, + { + "name": "LeftLeg", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 6, + -2 + ], + "to": [ + 0, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 48 + ], + "faces": { + "north": { + "uv": [ + 20, + 153, + 24, + 159 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 153, + 20, + 159 + ], + "texture": 0 + }, + "south": { + "uv": [ + 28, + 153, + 32, + 159 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 153, + 28, + 159 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 153, + 20, + 149 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 101, + 0, + 101 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9c06bc9a-beae-98d9-e9ce-9c8e6ddbb9d3" + }, + { + "name": "LeftLegLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 6, + -2 + ], + "to": [ + 0, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 48 + ], + "faces": { + "north": { + "uv": [ + 4, + 153, + 8, + 159 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 153, + 4, + 159 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 153, + 16, + 159 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 153, + 12, + 159 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 153, + 4, + 149 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 101, + 0, + 101 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f8f1e7ad-7999-9f17-0488-5dcbd4af7945" + }, + { + "name": "EyeLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1, + 25, + -4.01 + ], + "to": [ + 4, + 28, + -4.01 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 32, + 6, + 38 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "7853e9a2-b429-5a00-5e0e-70449c3a71ee" + }, + { + "name": "EyeRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 25, + -4.01 + ], + "to": [ + -1, + 28, + -4.01 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 12, + 32, + 6, + 38 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 16, + 0, + 16 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "328a2de5-64bc-807b-5906-227bfceedf26" + }, + { + "name": "Mouth", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 24, + -4.01 + ], + "to": [ + 1, + 25, + -4.01 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 50, + 16, + 58 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 22, + 0, + 22 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 22, + 0, + 22 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 22, + 0, + 22 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 22, + 0, + 22 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 22, + 0, + 22 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d9d80373-4145-9e90-28de-12248a8075d9" + }, + { + "name": "HeadRing1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.94, + 37, + -4.94 + ], + "to": [ + 4.94, + 37, + 4.94 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0, + 28, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 40, + 0, + 40 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 40, + 0, + 40 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 40, + 0, + 40 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 40, + 0, + 40 + ], + "texture": null + }, + "up": { + "uv": [ + 43, + 79, + 64, + 100 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "48cfe147-8711-a325-c722-fe73d6c4d87a" + }, + { + "name": "RightArmBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 7, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 44, + 127, + 47, + 133 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 127, + 44, + 133 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 127, + 54, + 133 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 127, + 51, + 133 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 101, + 0, + 101 + ], + "texture": null + }, + "down": { + "uv": [ + 50, + 121, + 47, + 117 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "643f9c05-2d3c-e1d1-5a2f-874902eb1784" + }, + { + "name": "RightArmBottomLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 7, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 32 + ], + "faces": { + "north": { + "uv": [ + 44, + 143, + 47, + 149 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 143, + 44, + 149 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 143, + 54, + 149 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 143, + 51, + 149 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 101, + 0, + 101 + ], + "texture": null + }, + "down": { + "uv": [ + 50, + 137, + 47, + 133 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b1a76f47-912e-c2d4-8090-6f6ac9734672" + }, + { + "name": "LeftArmBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 12, + -2 + ], + "to": [ + -4, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 32, + 48 + ], + "faces": { + "north": { + "uv": [ + 36, + 159, + 39, + 165 + ], + "texture": 0 + }, + "east": { + "uv": [ + 32, + 159, + 36, + 165 + ], + "texture": 0 + }, + "south": { + "uv": [ + 43, + 159, + 46, + 165 + ], + "texture": 0 + }, + "west": { + "uv": [ + 39, + 159, + 43, + 165 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 101, + 0, + 101 + ], + "texture": null + }, + "down": { + "uv": [ + 42, + 153, + 39, + 149 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a82219a3-e344-a4d8-c85c-51462943a7dc" + }, + { + "name": "LeftArmBottomLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 12, + -2 + ], + "to": [ + -4, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 48, + 48 + ], + "faces": { + "north": { + "uv": [ + 52, + 159, + 55, + 165 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 159, + 52, + 165 + ], + "texture": 0 + }, + "south": { + "uv": [ + 59, + 159, + 62, + 165 + ], + "texture": 0 + }, + "west": { + "uv": [ + 55, + 159, + 59, + 165 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 101, + 0, + 101 + ], + "texture": null + }, + "down": { + "uv": [ + 58, + 153, + 55, + 149 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d7794b2f-dbb3-2cd5-c956-cd163b703976" + }, + { + "name": "RightLegBottomLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -2 + ], + "to": [ + 4, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 32 + ], + "faces": { + "north": { + "uv": [ + 4, + 143, + 8, + 149 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 143, + 4, + 149 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 143, + 16, + 149 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 143, + 12, + 149 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 101, + 0, + 101 + ], + "texture": null + }, + "down": { + "uv": [ + 12, + 137, + 8, + 133 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "72c6eff7-d0eb-2ffa-193f-2ca402bdc722" + }, + { + "name": "RightLegBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -2 + ], + "to": [ + 4, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 4, + 127, + 8, + 133 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 127, + 4, + 133 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 127, + 16, + 133 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 127, + 12, + 133 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 101, + 0, + 101 + ], + "texture": null + }, + "down": { + "uv": [ + 12, + 121, + 8, + 117 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8b1cc891-ffa8-9f46-ebc0-f0b84e6ffb15" + }, + { + "name": "LeftLegBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 0, + -2 + ], + "to": [ + 0, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 48 + ], + "faces": { + "north": { + "uv": [ + 20, + 159, + 24, + 165 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 159, + 20, + 165 + ], + "texture": 0 + }, + "south": { + "uv": [ + 28, + 159, + 32, + 165 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 159, + 28, + 165 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 101, + 0, + 101 + ], + "texture": null + }, + "down": { + "uv": [ + 28, + 153, + 24, + 149 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a1169ee6-6a78-c7c4-9214-670991206468" + }, + { + "name": "LeftLegBottomLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 0, + -2 + ], + "to": [ + 0, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 48 + ], + "faces": { + "north": { + "uv": [ + 4, + 159, + 8, + 165 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 159, + 4, + 165 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 159, + 16, + 165 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 159, + 12, + 165 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 101, + 0, + 101 + ], + "texture": null + }, + "down": { + "uv": [ + 12, + 153, + 8, + 149 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a5173990-504e-f5c4-45c7-9347880c1306" + }, + { + "name": "Camera2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -1, + 1 + ], + "to": [ + 1, + 1, + 4 + ], + "autouv": 1, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "south": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "west": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "up": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "down": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "c2175bbe-2cfe-5bd6-da67-98c3b6cd21ee" + }, + { + "name": "Camera3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 1, + 1.25 + ], + "to": [ + 0.5, + 2, + 2.25 + ], + "autouv": 1, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "south": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "west": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "up": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "down": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "7e6a5cd5-aefb-6095-d77f-adf6c4130742" + }, + { + "name": "Camera4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 1, + 2.75 + ], + "to": [ + 0.5, + 2, + 3.75 + ], + "autouv": 1, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "south": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "west": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "up": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "down": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "31aaec73-9e98-c58c-c0ed-6d915f491f85" + }, + { + "name": "Camera1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + -1.5, + 0 + ], + "to": [ + 1.5, + 1.5, + 1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "south": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "west": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "up": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "down": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8b47234a-9700-3da5-47db-8f75a6aab837" + }, + { + "name": "RightEarFront1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2.15, + 30.5, + -2 + ], + "to": [ + 3.9, + 32.5, + -0.5 + ], + "autouv": 0, + "color": 1, + "rotation": [ + 0, + 0, + -25 + ], + "origin": [ + 4.25, + 31.75, + -1.25 + ], + "uv_offset": [ + 0, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 6, + 1, + 7 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b95a0594-6f51-b245-95e7-4be195efa438" + }, + { + "name": "RightEarFront2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1.05, + 30, + -1.25 + ], + "to": [ + 2.05, + 35.75, + -0.25 + ], + "autouv": 0, + "color": 7, + "shade": false, + "rotation": [ + 0, + 0, + -25 + ], + "origin": [ + 2.75, + 31.75, + -1.25 + ], + "uv_offset": [ + 16, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 1, + 1, + 6 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 1, + 1, + 6 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 1, + 1, + 6 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 1, + 1, + 6 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 4.27647, + 25, + 5.03529 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "15cf28e9-1940-5b16-3c26-e017d53f1d55" + }, + { + "name": "RightEarFront3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4.1, + 31.9, + -1.25 + ], + "to": [ + 5.1, + 35.9, + -0.25 + ], + "autouv": 0, + "color": 7, + "shade": false, + "rotation": [ + 0, + 0, + 17.5 + ], + "origin": [ + 5.25, + 31.75, + -1.25 + ], + "uv_offset": [ + 20, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0.75882, + 1, + 4.75882 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0.75882, + 1, + 4.75882 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0.75882, + 1, + 4.75882 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0.75882, + 1, + 4.75882 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "4d3e41a1-250c-1ab3-e910-dc5ae25187ad" + }, + { + "name": "RightEarFront4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.9, + 29.9, + -1.15 + ], + "to": [ + 4.9, + 31.9, + -0.15 + ], + "autouv": 0, + "color": 7, + "shade": false, + "rotation": [ + 0, + 0, + -17.5 + ], + "origin": [ + 5.15, + 31.75, + -0.85 + ], + "uv_offset": [ + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 3, + 1, + 4 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 3, + 1, + 4 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 3, + 1, + 4 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 3, + 1, + 4 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b7a1ddd4-07d9-4384-d4bf-83db9af50bfc" + }, + { + "name": "RightEarBack1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2.75, + 30.75, + -0.45 + ], + "to": [ + 3.75, + 34.75, + 0.55 + ], + "autouv": 0, + "color": 5, + "origin": [ + 3.75, + 31.5, + -1.25 + ], + "uv_offset": [ + 12, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 4 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 4 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 2, + 1, + 6 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 1, + 1, + 5 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5f4c88b7-e251-8a1d-333e-87313c4523ad" + }, + { + "name": "RightEarBack2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1.7, + 30.55, + -0.5 + ], + "to": [ + 2.7, + 34.55, + 0.5 + ], + "autouv": 0, + "color": 3, + "rotation": [ + 0, + 0, + -11 + ], + "origin": [ + 2.7, + 31.35, + -1 + ], + "uv_offset": [ + 8, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 1, + 2, + 5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 2, + 2, + 6 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 2, + 1, + 6 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 1, + 1, + 5 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 3, + 1, + 4 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8423948c-fa84-ced4-388f-18af27f34ceb" + }, + { + "name": "RightEarBack3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.75, + 31.85, + -0.55 + ], + "to": [ + 4.75, + 34.85, + 0.45 + ], + "autouv": 0, + "color": 3, + "rotation": [ + 0, + 0, + 17.5 + ], + "origin": [ + 4.75, + 31.75, + -1.25 + ], + "uv_offset": [ + 4, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 1, + 2, + 4 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 2, + 1, + 5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 2, + 1, + 5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 1, + 2, + 4 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 3, + 1, + 4 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "81481ee9-362e-7cc4-4fc2-0325e6022eb4" + }, + { + "name": "LeftEarFront1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 30.5, + -2 + ], + "to": [ + -2.15, + 32.5, + -0.5 + ], + "autouv": 0, + "color": 1, + "rotation": [ + 0, + 0, + 25 + ], + "origin": [ + -4.25, + 31.75, + -1.25 + ], + "uv_offset": [ + 0, + 3 + ], + "faces": { + "north": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 6, + 0, + 7 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "18a22f98-ed9a-b2b5-efd3-ef486be01f5f" + }, + { + "name": "LeftEarFront2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.05, + 30, + -1.25 + ], + "to": [ + -1.05, + 35.75, + -0.25 + ], + "autouv": 0, + "color": 7, + "shade": false, + "rotation": [ + 0, + 0, + 25 + ], + "origin": [ + -2.75, + 31.75, + -1.25 + ], + "uv_offset": [ + 16, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 1, + 0, + 6 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 1, + 0, + 6 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 1, + 0, + 6 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 1, + 0, + 6 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 1, + 0, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 25, + 4.27647, + 24, + 5.03529 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a51ed2ad-3f96-5dd8-1a00-92531ba22edc" + }, + { + "name": "LeftEarFront3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5.1, + 31.9, + -1.25 + ], + "to": [ + -4.1, + 35.9, + -0.25 + ], + "autouv": 0, + "color": 7, + "shade": false, + "rotation": [ + 0, + 0, + -17.5 + ], + "origin": [ + -5.25, + 31.75, + -1.25 + ], + "uv_offset": [ + 20, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 0.75882, + 0, + 4.75882 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0.75882, + 0, + 4.75882 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0.75882, + 0, + 4.75882 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0.75882, + 0, + 4.75882 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "c8e0f6c6-1bc2-4e7c-9dd7-eb1dea64d6d5" + }, + { + "name": "LeftEarFront4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.9, + 29.9, + -1.15 + ], + "to": [ + -3.9, + 31.9, + -0.15 + ], + "autouv": 0, + "color": 7, + "shade": false, + "rotation": [ + 0, + 0, + 17.5 + ], + "origin": [ + -5.15, + 31.75, + -0.85 + ], + "uv_offset": [ + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 3, + 0, + 4 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 3, + 0, + 4 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 3, + 0, + 4 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 3, + 0, + 4 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "a4e8b327-82cf-c53a-8ee9-5312063e8216" + }, + { + "name": "LeftEarBack1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.75, + 30.75, + -0.45 + ], + "to": [ + -2.75, + 34.75, + 0.55 + ], + "autouv": 0, + "color": 5, + "origin": [ + -3.75, + 31.5, + -1.25 + ], + "uv_offset": [ + 12, + 0 + ], + "faces": { + "north": { + "uv": [ + 2, + 0, + 1, + 4 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 1, + 0, + 5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 2, + 0, + 6 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 0, + 4 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f4066339-cfa1-d85f-df50-3824b45c08ac" + }, + { + "name": "LeftEarBack2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.7, + 30.55, + -0.5 + ], + "to": [ + -1.7, + 34.55, + 0.5 + ], + "autouv": 0, + "color": 3, + "rotation": [ + 0, + 0, + 11 + ], + "origin": [ + -2.7, + 31.35, + -1 + ], + "uv_offset": [ + 8, + 0 + ], + "faces": { + "north": { + "uv": [ + 2, + 1, + 1, + 5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 1, + 0, + 5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 2, + 0, + 6 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 2, + 1, + 6 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 3, + 0, + 4 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a3070a2f-cc4f-c78e-c5fa-1bd02d06aea5" + }, + { + "name": "LeftEarBack3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.75, + 31.85, + -0.55 + ], + "to": [ + -3.75, + 34.85, + 0.45 + ], + "autouv": 0, + "color": 3, + "rotation": [ + 0, + 0, + -17.5 + ], + "origin": [ + -4.75, + 31.75, + -1.25 + ], + "uv_offset": [ + 4, + 0 + ], + "faces": { + "north": { + "uv": [ + 2, + 1, + 1, + 4 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 1, + 1, + 4 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 2, + 0, + 5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 2, + 0, + 5 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 3, + 0, + 4 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e7569982-f5b1-c7e6-acfd-c69befcee71e" + }, + { + "name": "HairPin1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.75, + 27.75, + -4.75 + ], + "to": [ + -3.5, + 30.25, + -4.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.75, + 23.75, + 0 + ], + "faces": { + "north": { + "uv": [ + 2, + 0, + 3, + 5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 0, + 3, + 5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 0, + 3, + 5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 0, + 3, + 5 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 2, + 4, + 3, + 5 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a51b4144-7d78-ddbd-4169-5224a57de06c" + }, + { + "name": "HairPin2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.375, + 28.5, + -4.75 + ], + "to": [ + -2.875, + 28.75, + -4.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.75, + 23.75, + 0 + ], + "faces": { + "north": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 2, + 0, + 3, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a44239d1-3966-aa7b-5e4b-5cc9e810e715" + }, + { + "name": "Scarf1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 22, + -2 + ], + "to": [ + 4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.4, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 74, + 24, + 78 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 74, + 8, + 78 + ], + "texture": 0 + }, + "south": { + "uv": [ + 32, + 74, + 48, + 78 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 74, + 32, + 78 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 66, + 24, + 74 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 66, + 40, + 74 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "4d907850-473e-b8b4-9742-6cde05d9d80f" + }, + { + "name": "Scarf2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2, + 18.75, + -2.3 + ], + "to": [ + 3.5, + 21.75, + -2.3 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 2.75, + 21.75, + -2.3 + ], + "faces": { + "north": { + "uv": [ + 48, + 66, + 54, + 78 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 41, + 1, + 42 + ] + }, + "south": { + "uv": [ + 54, + 66, + 48, + 78 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 41, + 1, + 42 + ] + }, + "up": { + "uv": [ + 0, + 41, + 1, + 42 + ] + }, + "down": { + "uv": [ + 0, + 41, + 1, + 42 + ] + } + }, + "type": "cube", + "uuid": "77d3dae1-986a-f1ca-1a68-dff72e6be7d8" + }, + { + "name": "Scarf3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 15.25, + -2.3 + ], + "to": [ + 0.5, + 21.75, + -2.3 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + -0.25, + 21.75, + -2.3 + ], + "faces": { + "north": { + "uv": [ + 54, + 66, + 57, + 79 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 40, + 1, + 41 + ] + }, + "south": { + "uv": [ + 0, + 40, + 1, + 41 + ] + }, + "west": { + "uv": [ + 0, + 40, + 1, + 41 + ] + }, + "up": { + "uv": [ + 0, + 40, + 1, + 41 + ] + }, + "down": { + "uv": [ + 0, + 40, + 1, + 41 + ] + } + }, + "type": "cube", + "uuid": "fdffe47f-b66c-395e-2cd3-75e7fafa085f" + }, + { + "name": "Skirt1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.25, + 14, + -2.5 + ], + "to": [ + 4.25, + 16, + 2.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 5.25, + 83, + 13.75, + 85 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 83, + 5, + 85 + ], + "texture": 0 + }, + "south": { + "uv": [ + 19.25, + 83, + 27.75, + 85 + ], + "texture": 0 + }, + "west": { + "uv": [ + 14, + 83, + 19, + 85 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5.25, + 78, + 13.75, + 83 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 40, + 0, + 40 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "60659928-3089-553f-6246-c3487b7b7752" + }, + { + "name": "Skirt2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.5, + 11, + -3 + ], + "to": [ + 4.5, + 14, + 3 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 6, + 91, + 15, + 94 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 91, + 6, + 94 + ], + "texture": 0 + }, + "south": { + "uv": [ + 21, + 91, + 30, + 94 + ], + "texture": 0 + }, + "west": { + "uv": [ + 15, + 91, + 21, + 94 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 85, + 15, + 91 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 40, + 0, + 40 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8065dd17-1f0f-0a65-fb7d-56e6ae7089fd" + }, + { + "name": "FrontHair1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2, + 23, + -2.75 + ], + "to": [ + 4, + 24, + -2.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 24, + 0, + 26, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 0, + 25, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 26, + 0, + 24, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 25, + 0, + 26, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 26, + 0, + 24, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 26, + 0, + 24, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "63f592ab-e942-a768-735b-91847714a094" + }, + { + "name": "FrontHair2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3, + 22, + -2.75 + ], + "to": [ + 4, + 23, + -2.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 24, + 1, + 25, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 1, + 25, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 1, + 25, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 1, + 25, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 24, + 1, + 25, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "9e778470-91e5-6240-d8fe-2c39065ca1cc" + }, + { + "name": "FrontHair3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 23, + -2.75 + ], + "to": [ + -2, + 24, + -2.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 30, + 0, + 32, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 30, + 0, + 31, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 32, + 0, + 30, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 31, + 0, + 32, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 32, + 0, + 30, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 32, + 0, + 30, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e48e9d09-8656-033d-2b77-7d54ff8af3eb" + }, + { + "name": "FrontHair4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 22, + -2.75 + ], + "to": [ + -3, + 23, + -2.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 31, + 1, + 32, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 31, + 1, + 32, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 31, + 1, + 32, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 31, + 1, + 32, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 7, + 0, + 7, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 31, + 1, + 32, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "0e802aa0-19cd-5e2b-f8bf-1fe35f9724f1" + }, + { + "name": "BackHair1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 23, + 2.25 + ], + "to": [ + 4, + 24, + 2.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 24, + 2, + 32, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 2, + 25, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 32, + 2, + 24, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 31, + 2, + 32, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 32, + 2, + 24, + 3 + ], + "texture": 0 + }, + "down": { + "uv": [ + 32, + 2, + 24, + 3 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d591e9d7-f115-50c5-ef96-0026e04d4e1b" + }, + { + "name": "BackHair3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 22, + 2.25 + ], + "to": [ + 1, + 23, + 2.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 27, + 3, + 29, + 4 + ], + "texture": 0 + }, + "east": { + "uv": [ + 27, + 3, + 28, + 4 + ], + "texture": 0 + }, + "south": { + "uv": [ + 29, + 3, + 27, + 4 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 3, + 29, + 4 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 29, + 3, + 27, + 4 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "65606058-5a6a-aff6-a8dd-52803047155e" + }, + { + "name": "BackHair2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 22, + 2.25 + ], + "to": [ + -2, + 23, + 2.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 26, + 3, + 25, + 4 + ], + "texture": 0 + }, + "east": { + "uv": [ + 26, + 3, + 25, + 4 + ], + "texture": 0 + }, + "south": { + "uv": [ + 26, + 3, + 25, + 4 + ], + "texture": 0 + }, + "west": { + "uv": [ + 26, + 3, + 25, + 4 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 26, + 3, + 25, + 4 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "4eec6b52-e3ac-3452-4789-93b48d8f9d26" + }, + { + "name": "BackHair4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2, + 22, + 2.25 + ], + "to": [ + 3, + 23, + 2.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 31, + 3, + 30, + 4 + ], + "texture": 0 + }, + "east": { + "uv": [ + 31, + 3, + 30, + 4 + ], + "texture": 0 + }, + "south": { + "uv": [ + 31, + 3, + 30, + 4 + ], + "texture": 0 + }, + "west": { + "uv": [ + 31, + 3, + 30, + 4 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 0, + 5, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 31, + 3, + 30, + 4 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "ce37412a-3eae-4c2b-7ff7-497895f23ef7" + }, + { + "name": "IDCardBackground", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 18.25, + -2.26 + ], + "to": [ + -2, + 21.25, + -2.26 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 35, + 78, + 43, + 90 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 40, + 1, + 41 + ] + }, + "south": { + "uv": [ + 0, + 40, + 1, + 41 + ] + }, + "west": { + "uv": [ + 0, + 40, + 1, + 41 + ] + }, + "up": { + "uv": [ + 0, + 40, + 1, + 41 + ] + }, + "down": { + "uv": [ + 0, + 40, + 1, + 41 + ] + } + }, + "type": "cube", + "uuid": "5b94f66c-2313-81ae-5c27-ffe366bf17df" + }, + { + "name": "AbydosLogo", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 18.75, + -2.27 + ], + "to": [ + -2, + 20.32, + -2.27 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 95, + 28, + 117 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 40, + 0, + 40 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 40, + 0, + 40 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 40, + 0, + 40 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 40, + 0, + 40 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 40, + 0, + 40 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6f867f77-cf69-d1dd-7649-849c38b4b4aa" + }, + { + "name": "RightHairEnd", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2.25, + 23.5, + -4.5 + ], + "to": [ + 4.5, + 28, + -4.5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 3.9625, + 28, + -4.5 + ], + "faces": { + "north": { + "uv": [ + 32, + 0, + 34, + 4 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 34, + 0, + 32, + 4 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d1723ac0-eb13-fe3e-5b84-c06fc4570cdb" + }, + { + "name": "LeftHairEnd", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.5, + 23.5, + -4.5 + ], + "to": [ + -2.25, + 28, + -4.5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + -3.9625, + 28, + -4.5 + ], + "faces": { + "north": { + "uv": [ + 34, + 0, + 32, + 4 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 32, + 0, + 34, + 4 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6e44a7d0-a2e4-3941-1a6a-40c62bce2551" + }, + { + "name": "HeadRing2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.12, + 36.5, + -2.12 + ], + "to": [ + 2.11, + 36.5, + 2.11 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0, + 28, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 40, + 0, + 40 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 40, + 0, + 40 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 40, + 0, + 40 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 40, + 0, + 40 + ], + "texture": null + }, + "up": { + "uv": [ + 55, + 100, + 64, + 109 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "569b3299-2a1a-3fb1-56a3-c1ec8989bc3d" + }, + { + "name": "Scarf4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 18.75, + 2.2 + ], + "to": [ + -1.5, + 21.75, + 2.2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + -2.25, + 21.75, + 2.2 + ], + "faces": { + "north": { + "uv": [ + 54, + 66, + 48, + 78 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 41, + 1, + 42 + ] + }, + "south": { + "uv": [ + 48, + 66, + 54, + 78 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 41, + 1, + 42 + ] + }, + "up": { + "uv": [ + 0, + 41, + 1, + 42 + ] + }, + "down": { + "uv": [ + 0, + 41, + 1, + 42 + ] + } + }, + "type": "cube", + "uuid": "9d382bbf-087f-0678-9622-2942b645a976" + } + ], + "outliner": [ + { + "name": "Avatar", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "e98e96cf-993b-878e-02b8-777c368bb888", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Head", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "22d40862-bd19-a16d-9e33-79364e6656d8", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a66c63cf-0082-7797-3f4e-08ff434a1cac", + "d48552a8-9f0d-7335-2a82-794f3264fc9d", + { + "name": "FaceParts", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "db381b6c-e0d3-6ca8-6433-4371d36cc6c6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Eyes", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "25d20f6a-b84c-5105-726d-79a4fc3a5a4d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "7853e9a2-b429-5a00-5e0e-70449c3a71ee", + "328a2de5-64bc-807b-5906-227bfceedf26", + { + "name": "RightSpyglassPivot", + "origin": [ + 2, + 26, + -4 + ], + "color": 0, + "uuid": "d775a8e4-818b-b21e-93df-fdb4456fefc8", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "LeftSpyglassPivot", + "origin": [ + -2, + 26, + -4 + ], + "color": 0, + "uuid": "5e757c9d-cb7e-d074-a20f-d95f46e96872", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + "d9d80373-4145-9e90-28de-12248a8075d9" + ] + }, + { + "name": "HeadRing", + "origin": [ + 0, + 28, + 0 + ], + "color": 0, + "uuid": "e8809cb5-a507-86d8-da91-c79b1d4d233e", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "HR", + "origin": [ + 0, + 28, + 0 + ], + "rotation": [ + 10, + 0, + 0 + ], + "color": 0, + "uuid": "9242d5ee-aee7-9c98-a984-fff92aa89673", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "48cfe147-8711-a325-c722-fe73d6c4d87a", + "569b3299-2a1a-3fb1-56a3-c1ec8989bc3d" + ] + } + ] + }, + { + "name": "Ears", + "origin": [ + 0, + 30, + 0 + ], + "color": 0, + "uuid": "62a150d5-23c3-7461-a5be-45357c1dca73", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightEarPivot", + "origin": [ + 1, + 30, + 0 + ], + "color": 0, + "uuid": "d9d3d58a-ac0b-fce1-f92f-b3f9f8f19f62", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightEar", + "origin": [ + 4.25, + 31.75, + -1.25 + ], + "rotation": [ + 0, + 0, + -15 + ], + "color": 0, + "uuid": "f1f911df-3ba5-99ee-5f7c-bd108a06220b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b95a0594-6f51-b245-95e7-4be195efa438", + "15cf28e9-1940-5b16-3c26-e017d53f1d55", + "4d3e41a1-250c-1ab3-e910-dc5ae25187ad", + "b7a1ddd4-07d9-4384-d4bf-83db9af50bfc", + "5f4c88b7-e251-8a1d-333e-87313c4523ad", + "8423948c-fa84-ced4-388f-18af27f34ceb", + "81481ee9-362e-7cc4-4fc2-0325e6022eb4" + ] + } + ] + }, + { + "name": "LeftEarPivot", + "origin": [ + -1, + 30, + 0 + ], + "color": 0, + "uuid": "0ca24c5b-efac-bdc2-1434-151c85925fb3", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "LeftEar", + "origin": [ + -4.25, + 31.75, + -1.25 + ], + "rotation": [ + 0, + 0, + 15 + ], + "color": 0, + "uuid": "85b8d6c9-8cad-e43e-686c-50297df29e24", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "18a22f98-ed9a-b2b5-efd3-ef486be01f5f", + "a51ed2ad-3f96-5dd8-1a00-92531ba22edc", + "c8e0f6c6-1bc2-4e7c-9dd7-eb1dea64d6d5", + "a4e8b327-82cf-c53a-8ee9-5312063e8216", + "f4066339-cfa1-d85f-df50-3824b45c08ac", + "a3070a2f-cc4f-c78e-c5fa-1bd02d06aea5", + "e7569982-f5b1-c7e6-acfd-c69befcee71e" + ] + } + ] + } + ] + }, + { + "name": "HairPin", + "origin": [ + -3.625, + 28.75, + -4.5 + ], + "rotation": [ + 0, + 0, + -30 + ], + "color": 0, + "uuid": "47722ffb-d55b-1243-7191-cf3c96915c5a", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a51b4144-7d78-ddbd-4169-5224a57de06c", + "a44239d1-3966-aa7b-5e4b-5cc9e810e715" + ] + }, + { + "name": "HairEnds", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "9d4aae57-b308-efa6-94cd-bac8cee0b7fd", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightHairEnd", + "origin": [ + 3.9625, + 28, + -4.5 + ], + "color": 0, + "uuid": "242f9daa-9b60-b2ca-03fa-af6d04dbc249", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d1723ac0-eb13-fe3e-5b84-c06fc4570cdb" + ] + }, + { + "name": "LeftHairEnd", + "origin": [ + -3.9625, + 28, + -4.5 + ], + "color": 0, + "uuid": "a0d92aa7-169d-aad9-7a9a-74147728af4b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "6e44a7d0-a2e4-3941-1a6a-40c62bce2551" + ] + } + ] + }, + { + "name": "HelmetPivot", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "06f48cf0-bf8d-c218-78c1-6839e8b12dd2", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "HelmetItemPivot", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "84fe3b45-a6ad-8db5-9954-75f8e7f475c3", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + { + "name": "UpperBody", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "16d22746-633e-382e-dd96-b35bde99daa5", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Body", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "bf4dd57f-d0f7-1fe0-98e6-59e00f97f41b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "742e9ab7-8cdd-8d93-9a9a-88011f54d15b", + "2574fa9e-0d5f-502c-ce28-ef5cf30f41ec", + { + "name": "Scarf", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "6cdd8370-52fb-2478-f57b-dd38c658394b", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4d907850-473e-b8b4-9742-6cde05d9d80f", + { + "name": "Scarf2", + "origin": [ + 2.75, + 21.75, + -2.3 + ], + "color": 0, + "uuid": "6101f8d5-b970-b28b-9e12-ecd9dcd9a6a9", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "77d3dae1-986a-f1ca-1a68-dff72e6be7d8" + ] + }, + { + "name": "Scarf3", + "origin": [ + -0.25, + 21.75, + -2.3 + ], + "rotation": [ + 2, + 0, + 0 + ], + "color": 0, + "uuid": "e36cdff1-4949-f823-2012-f9a108379e69", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "fdffe47f-b66c-395e-2cd3-75e7fafa085f" + ] + }, + { + "name": "Scarf4", + "origin": [ + -2.25, + 21.75, + 2.2 + ], + "color": 0, + "uuid": "ab590f32-a10c-babe-2b11-8934e7c058bd", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "9d382bbf-087f-0678-9622-2942b645a976" + ] + } + ] + }, + { + "name": "Skirt", + "origin": [ + 0, + 16, + 0 + ], + "color": 0, + "uuid": "842788de-67f8-925c-549a-09ae3d91d3f6", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "60659928-3089-553f-6246-c3487b7b7752", + "8065dd17-1f0f-0a65-fb7d-56e6ae7089fd" + ] + }, + { + "name": "Hairs", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "5d60866b-872f-1dd7-6c66-c449d8004c7e", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "FrontHair", + "origin": [ + 0, + 24, + -2.25 + ], + "color": 0, + "uuid": "7d75fb32-75be-dc29-9085-7821897ce3ce", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "63f592ab-e942-a768-735b-91847714a094", + "9e778470-91e5-6240-d8fe-2c39065ca1cc", + "e48e9d09-8656-033d-2b77-7d54ff8af3eb", + "0e802aa0-19cd-5e2b-f8bf-1fe35f9724f1" + ] + }, + { + "name": "BackHair", + "origin": [ + 0, + 24, + 2.25 + ], + "color": 0, + "uuid": "982f9d44-5c5e-570d-2128-90f9f75297f4", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d591e9d7-f115-50c5-ef96-0026e04d4e1b", + "4eec6b52-e3ac-3452-4789-93b48d8f9d26", + "65606058-5a6a-aff6-a8dd-52803047155e", + "ce37412a-3eae-4c2b-7ff7-497895f23ef7" + ] + } + ] + }, + { + "name": "IDCard", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "99573bc9-e04b-87c2-a66a-1488788ec2c0", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "5b94f66c-2313-81ae-5c27-ffe366bf17df", + "6f867f77-cf69-d1dd-7649-849c38b4b4aa" + ] + }, + { + "name": "ChestplateBodyPivot", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "14e1a5b9-c4f5-522f-d9b3-d1e5d1de54c4", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "BeltPivot", + "origin": [ + 0, + 12, + 0 + ], + "color": 0, + "uuid": "9542cadb-a092-aada-fa37-9be229d6be49", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "NameplateAnchor", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "71b16a49-1da9-df63-2f72-f5272bb4b134", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + { + "name": "Arms", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "c062b0e8-6983-de4d-12e9-7b5ad9e81528", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightArm", + "origin": [ + 5, + 22, + 0 + ], + "color": 0, + "uuid": "3c1cb66d-8a31-d31f-ec9f-65a33e313a53", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8831734e-ce90-e6bb-8368-e011a468277d", + "cea7603d-ae80-e4e7-6f93-905551a79117", + { + "name": "RightArmBottom", + "origin": [ + 5, + 18, + 2 + ], + "color": 0, + "uuid": "b924539e-1292-1a17-6240-a525ae346090", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "643f9c05-2d3c-e1d1-5a2f-874902eb1784", + "b1a76f47-912e-c2d4-8090-6f6ac9734672", + { + "name": "RightItemPivot", + "origin": [ + 5.5, + 12, + -2 + ], + "color": 0, + "uuid": "f77eb5a1-0c86-2ec0-fa55-565b454784db", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + } + ] + }, + { + "name": "LeftArm", + "origin": [ + -5, + 22, + 0 + ], + "color": 0, + "uuid": "e7d3e5d8-00e4-587c-7bb6-6787db00054b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "af1aa9d5-0ccf-d579-b381-54ac7b12fb55", + "b74fb9e9-db24-b669-6f87-8469be63eda5", + { + "name": "LeftArmBottom", + "origin": [ + -5, + 18, + 2 + ], + "color": 0, + "uuid": "ad1c45ef-c0a8-6d31-d2dc-fbdc6ab7ddcc", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a82219a3-e344-a4d8-c85c-51462943a7dc", + "d7794b2f-dbb3-2cd5-c956-cd163b703976", + { + "name": "LeftItemPivot", + "origin": [ + -5.5, + 12, + -2 + ], + "color": 0, + "uuid": "4f31b2fe-139d-4fb3-f36f-3d5ed0997399", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + } + ] + } + ] + }, + { + "name": "LeftElytraPivot", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "34f8f1e3-7498-d32a-cbaa-e08af5c6b7e9", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "RightElytraPivot", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "884aa12d-4d86-c86f-f3ae-27294c5df1b1", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "LeftParrotPivot", + "origin": [ + -6.5, + 24, + 0 + ], + "color": 0, + "uuid": "29a158b7-4e78-b2e4-f4a6-a828afb1514f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "RightParrotPivot", + "origin": [ + 6.5, + 24, + 0 + ], + "color": 0, + "uuid": "7d993335-4efa-18af-e219-def6c191632a", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + { + "name": "LowerBody", + "origin": [ + 0, + 12, + 0 + ], + "color": 0, + "uuid": "2f61e368-1c06-648e-26d4-aee94647e4da", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Legs", + "origin": [ + 0, + 12, + 0 + ], + "color": 0, + "uuid": "29730186-2622-086d-ab67-4bb8e356bb6c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightLeg", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "4e80b5b4-7c04-8374-f8a7-526b3d36d050", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "da81ebbe-5b4e-2d46-144a-6f839ad6fa3c", + "bcf37da3-caec-e8f2-bc82-76a3f169374c", + { + "name": "RightLegBottom", + "origin": [ + 2, + 6, + -2 + ], + "color": 0, + "uuid": "84fe0b3a-286b-e17f-288e-c39feaa2e5e6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8b1cc891-ffa8-9f46-ebc0-f0b84e6ffb15", + "72c6eff7-d0eb-2ffa-193f-2ca402bdc722" + ] + } + ] + }, + { + "name": "LeftLeg", + "origin": [ + -2, + 12, + 0 + ], + "color": 0, + "uuid": "73b3d6bc-af0b-a066-5d73-f3938109e11f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "9c06bc9a-beae-98d9-e9ce-9c8e6ddbb9d3", + "f8f1e7ad-7999-9f17-0488-5dcbd4af7945", + { + "name": "LeftLegBottom", + "origin": [ + -2, + 6, + -2 + ], + "color": 0, + "uuid": "ee9973d4-ff4e-c96b-64f6-d1f28afd69c6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a1169ee6-6a78-c7c4-9214-670991206468", + "a5173990-504e-f5c4-45c7-9347880c1306" + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "name": "CameraAnchor", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "4ad021e9-2857-4e55-337b-f61da0762800", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8b47234a-9700-3da5-47db-8f75a6aab837", + "c2175bbe-2cfe-5bd6-da67-98c3b6cd21ee", + "7e6a5cd5-aefb-6095-d77f-adf6c4130742", + "31aaec73-9e98-c58c-c0ed-6d915f491f85" + ] + } + ], + "textures": [ + { + "path": "", + "name": "main.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 64, + "height": 261, + "uv_width": 64, + "uv_height": 261, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "49d663f7-0284-81d3-5d9d-8f9c415279bb", + "relative_path": "../../textures/main.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAEFCAYAAABTi+G1AAAAAXNSR0IArs4c6QAAEs9JREFUeF7tXXmQVMUZ71lgXWFl5fZIKBSRKCUCIhABMQELRAyHEi8U0ZCUKAYjEVMGUwlaBqMBRbFUVASJGFRYA6uUaC3HghyCiSEE8UBSqByyLC64XNOpr3e/sadfX+/1m+HN7Ht/7Mzr/vrr/n79+74+Xr/ZxIZ1myghhCzq0ok8WFiYgO/8tbK8guVXVX1LSkpOYVn8d1Fedv/5jq/IzTdfk6Z7zpzX6FltT2fifS/r7anXRm8YMgkAYPzYsaT/+tVSABaXvk15w6FSP0DIjMeGAwglxUVk6Igh0QUAGAA9LhrO3+t6Yt++StK8eTOCnyDLp1VV13jYEUbP2upgDJj652mk4/xZWhewVSjKAb1L31hMoZfhE/LxO/Y8MEF0kaD1+S1nBABcAJWKroAs6H1xR2m9Feu3nlD/tgGDAQCC3Xt0lfohBkGdspwG4Njxo7Rhg0bKIGQTA3IaABNNcBTAQMi7Aw6H2QBAZGJYQ2eCNxB8HI0Sx3o+iot5Yhn+HuOEbB4BaUOGDrIaAhkAiTpRSkOLLQyADueezTp29649DAD+XjXx4Q1q3aYVK7/t48/YHIG/DwOArVs+ptu2fkKKmzZh9VQfOEg6dDyHdDzvXCvwdCw3MkCcA6AyPt3EABFQHiATA3AUQh1YP4CNl0mHMwBXti2W6liyo5r1uAkAXoZnFJZT+TMYX3zKyaT62++k9aNeFQAYN1T6Id/IAKhZF+RkBvmJASYAeeNwROLTbGKYrj05BYCMBs4AwDRU5yOwYtMxABY7LhcshnSXaaGE0+ugbUgArVRG4HK1T4eWhBY1JqTo5Np6ar4jiZpDZNW2vezWVF6XD/6p6gTb9YGpvC7fOIy47geENWEJ2sOmckYAXPcDch4Am7WADuW8AMBEo7wGIO/3A0y9a9oPUA2RqLegSUtjnDG1IZP5xsaZYkDeA2DaDxg8oLu2g8JiQMb2A0TFftb6uEfIrxA9afurSMmpJaRK8Wk7SixeVEZLmp1Kqir3M3225Uzuw2aCuDyV7QfoVnporGo/gOkLAYDy95ZT2AOA/QD4RECHDBtsdGErANiKbn+VXDZRoF/yKspBI1EvbF7AhYDw97qeZPFnfxXb/Nizdw9p1bJV2ic9XttkFzYkgFqgBBssogAMUO0HrKpSd4AIqKgf83W9iACwHq97NKfasgsKAnMBEwNUgQ72/VXMkRnMs0LMlxmAACBI4n4A3ONepViej236DREFA3B4K1u2gegAQDkAg79kwPAAiExTBTZ8qiTzT34pzC+bETiR2dgmHnwpAwZf3iNVHxim2w/g88reWZcqp3IpVVCCxsncQffYDJe54gNWNmJwMUjm4giGJwaIxgIAuv0AmbzKpWQMAKOhwapYoAKAT5fJ8DoxzongQ52pKNaQkLSdoWOEsLyw0k3D0YnKzxoAfoHMFiAJbFjN8cOszgYFhaTbpbeRj1a+wO4x/eLLbicbVzxPGtWRBtOxoUUNTkqTx/SGDU4KxCS/AAQF2ANAt5H3kaqvt5OdqxemGdTvnmfJg9f3I5f37OwxtH3f6zzyILRyw1aPvEn/T3p2DjS7CwwAIn3s+GEWA36zZA354sMNpPSBiawhfPoNnc4mvdq3TUsHmasfmuGRh/QN23eRPu3bpgGG+pc8MNGTzuu3NQjbzzN42JTHiEz/41f1I4nE93EPyqbQRkOnFxQynRPrBE3pItVRXpVu0n9fXfswCJtcQXRh1I96EBixXtTrCYJixViBKj3FIA5MU6Nd8lXMCKozMqOAK/CmjlIxymkUwBFjffnTJGi0D+LrOCIdTx4JXG/KBUQfMkVpfhRA2U9Xzif8MAjAtOs9gojpUCmMJqum3Zk2nPqVxxGpb/eOafXiMA514yjWc8IMVh+ABRd2lCcGBBkFMKK/fv/4tIao0nGUgWjPjw428vzoA/Kgo3u7Nh4AxFFm3JvlKVkrAExRmh8dUHYCR0UAUpUODZDpz6T8o5Sy4R3aqAUg7OgaNCpnu5xxFMh2g7JdX2oUuKDvrWyurwoW2W5YtupLAQDREub6EFllvpKtBmW7npQL3PVmOcXIWi8BMEXLbPdMtuoLtPTMVuOyUU8MQCZRPvL3+WwSUvjz6wIBXfrijNoXLMaMz1j5QIptQEPjUdYvCGA8Gs5/t6nbj0zGAPDTiBMpGwNwItGPQt0xA6LQCyeyDTEDVOjjGIz5QcfiE9m7NnXHDLBBKZ9lYgbkc+/a2BYzwITSyF2V9K4t/2Hv/LOVGfdjB5f8a6fnfaNJn2xicvCbAZOatzOpT+Wv7nxmoM6ANtSMm8T0FM2cKq1Pp9tYqQ4ArI0HQgZAUONs0IP2fXr1eCba/vUZ0iIL2jRT2hkKADwQ9RoAAALP7vEukPMMGFVRwXwaLowFeI+9L6bD/dRzurLsnAYA/BtoHQOQYww4euD70++LOrQLHgTDYIApmru4iGoUsAYAFJgayM8DXu7d2yO+c9ehVBo/Cjxx3vlpsrwcnxHUxbAtsmHQGoBufUYZATABxI+/KiNBx5ltGptUefLROFVBqFsGAKS1ffFBsmPM78nGVS+rXcCGAVg5KJVNNkyN9G01V0A1ueF1wkQH7OA/h23bTsF4AEEbA2TTWVWDYcopTjeD9KpfQHSsgvghGg/34AJWAMga03PgHcwtio9/Sb75Zjdp0aJ16rO6wRmsyNqlTxlnkX4NTSaTWncsKCiwrhNc28oFVADoDASAMgHAwWPFWgCaNKy2AmB0ktKXCtKPxKo6Q6rQZKAp32/Po/zAr/UMWHqaHQPGJil9LhcBcHGBO5K1p8HgD9+rNEHITOGANN9BSgbwQkcPVZFGjWvfA8QrEy4QBIC7k7Xn4KZzPT4hSal4D4ZOk7AigQFPRtvDuz/0JJ/Uuos1w/0C5xeASUlKp1pSHRp9b5LSRwR5LQC6UcAGhUwCMJlSOkVDbVX7JicpncKBoIyqyAwdC8J2Az8MmEIpnRwAgClJSifbApDtodAWgKlJSif5oL7IBr68lgFRBeDxJKW/dgBgOqV0Qh17chKAmZTScQHoj0x4mlJ6exQBmPXsXP3KdOyo1OudMM+7LQAIz8N8get2YxBE1PxGdJtRIqjM3CSlNzm4wFxK6U3IAN08wLQgsjUgbPBeTVJ6rQMAr1JKr0UAuvXVb4gkqz/32FlQfJat7Uq5jSvVmxQm5QsppcMD0B/1LkxSOrwOwET/AcOpuOTNxv2HmyqsVnYqMJZQSq8MAIJYTtkIAMbUE6r8d5ctdDLOpt53KKWXBwBALBe0oeKiy6bNocssT1Laz0csWE4p7ad6ddZH69D4SICwtu6lqJ6cYZAm3kNje0kY45cBnuW2sPz2gWO4ohuTlKr2gLr63Q9QNI03XvU9XKsCattMKe1kGR/8MgCbFAn6q/DZRintEDIAJupHGhBYOqf2yupaiktpPwzIGRfgmaFaOj+SpPTeAjuayHof60jbf4xKQMTGmZbNsCw2MUBnfORBMC2bZ8LIoQm0/HhvG49BX2TiwfOUUt2SGfJVAKiMkE2PZToiAQK/7JX1IOT7BQD08CAEKW/LJmc5ftkrUwb5fnrP7ygQCRaols6YLgKgo74u4tuWc+7VIAqWCNtgoAOX0kGHMT+960c2iH1OZUQAbJTxkd52z8A03NrUmxGZyDYsI9ZKlCIA2JPiPRTh01S9L2OSil2RAl2cuMg2O8Q0GxkcLiM1MZKxChvI54lpqkApGxZ1QyXPpmwx3FiPHwbwvar6btooidyIoAPAtNhRzQht4omxZ7Il4AlIXbr2ThvaJs5OfzAy6sIvtUEMnzTB0yD+wiM2cN6AP3YnPoMwbanzT7LWvPHHVBVBf8VeCgDfQBgEFpW+wioaNvR68u6yN7QABHnSxANlemDC69/w9vTMAMA3qEWLNr4AgB7C3scGdh80gakEFuQkA3hAbBmwrvwFUlBzgBVNFjUlPS67tfa75FmjHwaE7gKVX2yxnc5K49KgXz6Zlo69DwDA9d2hI+TkxoUpAMTjdnxhLCvKyJ4ui+WCHuNLRAkAMEpmbEYBSB7c68SAH4/4Q2gMyAsA0AiZC+jojyjmPANiAOr8OGcYUH2o2ikG9B9e++KyeFWUTUsbBXoPvlsqJyZm3QUyBcAz0yan2XbheW1Ir0F3KkF4/+0nWT4A8MGKuSlZUY8VioSQLuefZrXvkMgUAOIZY9tT5iIDKt76q63NaXINC2p/1t90SQEY+rObWbnSN+eYyhOVC4hTXnzXyKQw6wD0HzDCEwOqB9/F2llc9oSpvaS6welSGZEBmzau0rqAahjkV3zGxnACtqvDhAyAMY+9z1S9eE8vY52Vh+UvQ8Kcn19VVh6u/bfZfi9+xeenrDUAfpTmo6xVoAhiuLgv4HIyNEj9tmUyAgAaj0aL97aNy4Zc6ACojI0qCDEAYdMsZkDd8Xsx6NUbFwBGgbEyAKI4EoQeA2IAYgaEG1bxOYNpNznwrnC4zQ1fGwLA7xGItbi8lJWRGBAmDPWeATh8AgMuuvQma2xtRxwpA66tew3lVbvD1NaNiqKg836A6VlhFI3m2xR6DIDzBfxGyJjH1qZhYHu+AArV7PwoVfaf/14ReltBeehKxQMWfh+v8/sIxyt35CYALgcs+MffecMA3gdMMSPnAAjj8XomH3+bgrBzDKj3AIRxviCnGRADEMIJk5gBkt8q44OXy2ov40EwjKfLLgxwXS06jwKuAHyyvdrUSdJ8fP5vAgDOHcAqUrVhcsIBKCpqFAgAfP5vAgCU61woIwD4OV/gCoDpbLJqHwH3C5z3A1zPF/yxzPubhTwlLjm6jt2ubtQjjSl9Cj9z7jy2GnQ9HyDjr5/zBSYAVP4RGgBiBRdfNCDtxMihmm/TRDZvXqtFHiZGPS+9jqxdMT+tHKbBp+5a/8Eyo35ZedsDEWJZT2UyAA4c2MPKNW3aisQA1EcG8LTJOwbIFjO8n8p8GQER8zBdFwNk/utX3mbiYBsTEqrVHIKgAkBlPDROLKvSxQMG31GnST4rANhUoupNXVkdo2TldEDr6nFmgC0APH1NQ5zoOjbykQdgHy0mV/Qbwmx7a/ni1HcVgLyMjXxOAPDCx/uYvbee29wKAD/ykQfg0a1H0jp7wdjag9aqa+Rz6QewTfI5BwAYrjJKNB5B0slP7FhoG47S5LIWBEUG5AUAF/S4kqH50bolHvQxDzNGz13okckpBnTq1JOCobxhaLiYBvciKDnPAAAgkJPVFRIZYApqkQuCNsYjSKaFkI2uqMmEsq0UNaP8tCcGwA9a+SgbMyAfe9WPTTED/KCVj7IxA/KxV/3YFDPAD1r5KBszIB971Y9NMQP4/QBc7orLX92eQa4vka0Y4Gc/IIzzBTIK225y+qE/yFoB4EdpGOcLYgAkCOQ0A3h7TDFD9bQ6sgCIlOeN1Z0fQLlMP/kxua9zDFABYDLM9QxAWIxwBsD1uLyph1T5MQBNWjp3XijDYMwAxxcmYhcIiEAcA+IYEOEg6Od8gewMgo1XRMYFXM8X2BibycVRwnU/IKgBWC5yDBj407FpByaKS1qm2fj6woe1E5A5c16jZ7U9nXy+4ysCn3Dhd/icN3upFrOl7z2n1c+37+vdW1O6gv6+gKeyGABHBqwsr6DY02/942HWQ7SwhMx7pZQx4sE/zZYy4Icv/4Wlzzrj1NxmQM4BgJSHHvjfqN86xTTsRVDyTKsm5Fd7DrJP/tq9t4rccuPvWNLseQ+T1i1LPPl82uCB4wK1yRRLUGkiTABQKQIhGg/5MQBRY4DrcvaKq2rpDBf2PLiSjgVI67KlMz30BoZk1QXCBIC3RgUAxAWMNTYAdF5Q+yPPfq/NN/S12jBRvjNkWyHPALGMDAS/ACSOpP/DJtt22a4VYgAy5QKqESFyDHD9AYSrh+j/c4ToBjkBwOgbH2Id+NK8+40uZwKAHx1gXuB3HgAxAF+dx1fpjY0ihFjHgF98ud9zXL7yjqmsjmZPyf9/CJ9vM3vkWeAXgDW0I1H9hoAOCNvX6xOd/rbSA8CPFpQx3f8dOVhaB5//g1nm/0LBs2BK4pivqTAAEOSyBiCI8nwqYzVZyCeDRVtiAPK5d21sixlgg1I+y8QMyOfetbEt8gyQzVRtDDPtLqOOyANgY6yLTAyAC3r5UDZmQD70oosNMQNcN0RshxuXXspk2dAZ4Pp4Pezn/ybwYgBMCPnNjxngeMAi51xA7HEZY8I4eyDqtX3+b2KwcwwIuljBhtlsq8uMiAwA9Z4BmX62qKJwZBjgCsAFpVtMbirNx+f/QV0QJ3DOMcAVgEDW+3j2Z9IfA2BCyJRf7xnger6gMa0xYSzNt338bVLu7AIyAPycLzABoDobEBkAXJfTt7Tspu2kjP9/AVcD1pR//y/x0BI/5wueuWa0iaXSfNvn/ybl/wfKMaEOwh2WjgAAAABJRU5ErkJggg==" + } + ], + "animations": [ + { + "uuid": "e7e83f43-b662-56ee-0f85-7ffbcaf2a66d", + "name": "ex_skill_1", + "loop": "once", + "override": true, + "length": 3.5, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "e98e96cf-993b-878e-02b8-777c368bb888": { + "name": "Avatar", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "319d07bc-11a6-d692-a46f-357406995764", + "time": 1.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 15, + "y": "5", + "z": 0 + } + ], + "uuid": "c20ad857-3481-e251-5174-fec9e5984ac0", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 0 + } + ], + "uuid": "784c2c6d-4df3-ebdf-c0af-e0e2ae7f4c03", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "820e4294-cdcd-4db7-9c38-f449a444ad17", + "time": 1.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0.5, + "z": 3 + } + ], + "uuid": "818b44e5-aa13-2548-5b35-250c7dfc10e1", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "22d40862-bd19-a16d-9e33-79364e6656d8": { + "name": "Head", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "20", + "y": "0", + "z": "0" + } + ], + "uuid": "2e5b42c1-8678-60e1-282e-78376d0619ac", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 20, + "y": 0, + "z": 0 + } + ], + "uuid": "c4baa352-ccdc-f501-08bb-e789818ba352", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "c60274e6-7073-c4fa-eb50-2e18019ec02a", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "dba8367a-014d-06ee-f34b-a3d8ae3ad2cd", + "time": 1.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": 0, + "z": 0 + } + ], + "uuid": "ab547fbe-1636-602c-9e79-0ab9ad002d06", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3c1cb66d-8a31-d31f-ec9f-65a33e313a53": { + "name": "RightArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 10 + } + ], + "uuid": "a5a513d5-b76f-8552-3c71-6a27addbb90e", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 10 + } + ], + "uuid": "49ece528-7fd8-bf6b-bfd9-fff91b40dbe4", + "time": 1.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "20" + } + ], + "uuid": "b89d7cab-ca4c-7742-a7d3-6eaa7d8b309e", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e7d3e5d8-00e4-587c-7bb6-6787db00054b": { + "name": "LeftArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": -10 + } + ], + "uuid": "5489a26a-f7aa-e4e0-0970-f712938d4c74", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -10 + } + ], + "uuid": "bda0c86c-c64a-1156-fe07-52a562370865", + "time": 1.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-20" + } + ], + "uuid": "45ef6af2-2e0b-fd2b-8c2c-f2702d2c36c9", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "4ad021e9-2857-4e55-337b-f61da0762800": { + "name": "CameraAnchor", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "180", + "z": "0" + } + ], + "uuid": "808b2413-d54d-ccd4-1d02-38c721c05e48", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 180, + "z": 0 + } + ], + "uuid": "4d153ded-79a4-ef69-abd2-6362485f11f5", + "time": 1.6, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-15", + "y": "210", + "z": "5" + } + ], + "uuid": "d7c77bff-9342-c585-9e38-eca9b2cf79c7", + "time": 2.6, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.85333, + -0.85, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.85333, + 0.85, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 7, + "y": 27, + "z": "-10" + } + ], + "uuid": "d9b0e82b-5deb-f18d-8a41-d745014dd795", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 7, + "y": 27, + "z": "-10" + } + ], + "uuid": "5774e187-cee3-678a-2101-be8354031737", + "time": 0.35, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 27, + "z": "-10" + } + ], + "uuid": "c3e6271f-992b-7ad6-f774-13d076342631", + "time": 1.15, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.45, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.45, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 27, + "z": -10 + } + ], + "uuid": "7f4b3844-5be9-1095-cc35-7f25595e8989", + "time": 1.6, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -14, + "y": 7, + "z": -30 + } + ], + "uuid": "48f72b5a-4e46-bd68-9e6a-30bccf835a58", + "time": 2.6, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.84667, + -0.85, + -0.85333 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.84667, + 0.85, + 0.85333 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "d9d3d58a-ac0b-fce1-f92f-b3f9f8f19f62": { + "name": "RightEarPivot", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": -5 + } + ], + "uuid": "21bc1c12-46bc-f2ba-ddf7-54d4c09a67a7", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-10" + } + ], + "uuid": "6207de67-9fe6-7731-3299-95a491baff50", + "time": 0.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-20" + } + ], + "uuid": "27983628-2001-5ac5-c99d-df3fa25c3e75", + "time": 0.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-10" + } + ], + "uuid": "9cda9503-86af-4137-ef49-dadb208883cd", + "time": 0.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-20" + } + ], + "uuid": "75266f79-33d3-ad84-7444-b02d3b347224", + "time": 0.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-10" + } + ], + "uuid": "10c82db2-4503-197f-1b35-3ba51a422eaa", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-20" + } + ], + "uuid": "9099a0c8-7ca7-b9b5-0da8-553cd93758f4", + "time": 1.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-10" + } + ], + "uuid": "d24836b9-665c-97e3-8420-e0b65eed2efc", + "time": 1.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-20" + } + ], + "uuid": "f0caf859-400f-633d-1854-9d8782d22c47", + "time": 1.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-10" + } + ], + "uuid": "b9000622-f048-fe4d-e58e-baaf55a3cdac", + "time": 2.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-20" + } + ], + "uuid": "cb7435cd-102b-711c-842b-a9e32a815e27", + "time": 2.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-10" + } + ], + "uuid": "577eb9a1-2dda-1f0f-960d-143986444221", + "time": 2.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-20" + } + ], + "uuid": "82664b18-9485-7b6d-0627-83d34d066d06", + "time": 2.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-10" + } + ], + "uuid": "63253429-78a6-3bc6-6cfb-32eb8d3d543e", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-20" + } + ], + "uuid": "63b0611e-e4ea-39f4-82f6-aa10a44229b7", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "85b8d6c9-8cad-e43e-686c-50297df29e24": { + "name": "LeftEar", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": -5 + } + ], + "uuid": "2f0f42f4-811f-5326-c8a1-747ad8be5fe4", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-15" + } + ], + "uuid": "6d08112e-e6fb-9029-3cdf-970763f22b2e", + "time": 0.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": -5 + } + ], + "uuid": "db61b134-60c4-2c15-fb65-d064ed0e887d", + "time": 0.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-15" + } + ], + "uuid": "5157d6f4-51b3-75f3-2e74-3d2f53d2334c", + "time": 0.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": -5 + } + ], + "uuid": "fc6d045f-75f8-fcb1-ccf1-0113eacd4216", + "time": 0.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-15" + } + ], + "uuid": "ae0ba6e3-820a-85c7-fd47-9aba1f334ccd", + "time": 1.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": -5 + } + ], + "uuid": "b75658f5-c9c5-b8ff-9fc9-3bbd7fa0992b", + "time": 1.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-15" + } + ], + "uuid": "516157a5-a269-d2e5-3ca2-bdaf9d2e0e5b", + "time": 1.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": -5 + } + ], + "uuid": "4c2b33dd-4ae0-0926-c641-87e16d800ebb", + "time": 1.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-15" + } + ], + "uuid": "5d0055f1-0fba-46c9-f5f8-554c3d6a7568", + "time": 2.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": -5 + } + ], + "uuid": "60ad9996-537b-f8e5-eb06-477f8ec86e9f", + "time": 2.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-15" + } + ], + "uuid": "307534bb-bbcd-0424-4126-12f286ac7b9a", + "time": 2.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": -5 + } + ], + "uuid": "4867c213-90ab-9432-1680-efc586271b60", + "time": 2.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-15" + } + ], + "uuid": "5e297e7b-e3fa-1f8f-2f47-babe44014fce", + "time": 3.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": -5 + } + ], + "uuid": "62a46d1d-aa9c-5a9c-04f2-c106dcaef0d1", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-15" + } + ], + "uuid": "5ff69a18-69d4-c55f-4f27-0365d25d1d48", + "time": 3.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "6101f8d5-b970-b28b-9e12-ecd9dcd9a6a9": { + "name": "Scarf2", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 20 + } + ], + "uuid": "4dc433e0-4870-7ce4-afa0-f30f194d8675", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 10 + } + ], + "uuid": "0bcca9da-fe3c-b266-dd21-04fe80b66a55", + "time": 0.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 20 + } + ], + "uuid": "9262a719-e1d8-c087-93da-4c038676d6bd", + "time": 0.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 10 + } + ], + "uuid": "da0d1f98-7f19-20d5-4a84-b87a7abb10e1", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 20 + } + ], + "uuid": "ecff921d-eacf-948f-4057-2c56bcbf9232", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 10 + } + ], + "uuid": "edd9f05d-8786-3330-b12e-28997969bcdb", + "time": 1.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 20 + } + ], + "uuid": "d4ac890d-631f-c94a-ef03-325c8d0ea4aa", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 10 + } + ], + "uuid": "ff7136f5-3d4f-083c-2588-dab7c4f12e04", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 20 + } + ], + "uuid": "21c39a48-4305-ec98-af08-118a8a60a022", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 10 + } + ], + "uuid": "dd3525d1-5194-23bd-ece4-baf9ac8e0d18", + "time": 2.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 20 + } + ], + "uuid": "7bbaf75d-01f4-1357-639c-3e86100243b5", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 10 + } + ], + "uuid": "cf6e4c5f-e9ef-61b7-3842-ac0ea1650f0c", + "time": 2.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 20 + } + ], + "uuid": "fd6936a1-0766-d90a-fa9a-bc8ecfd677ee", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 10 + } + ], + "uuid": "223cd00d-3272-8944-0ccc-c8af6b64e8c0", + "time": 3.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 20 + } + ], + "uuid": "4f2c0cdb-ab24-69b9-2036-267a7cc29840", + "time": 3.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e36cdff1-4949-f823-2012-f9a108379e69": { + "name": "Scarf3", + "type": "bone", + "rotation_global": true, + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 10 + } + ], + "uuid": "e5b9c349-3735-4a85-7331-3231840f6367", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 20 + } + ], + "uuid": "4ddc68ab-ca51-df38-6043-2aea1a971ec8", + "time": 0.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 10 + } + ], + "uuid": "599ca57f-a909-fc68-d389-4ebaba621912", + "time": 0.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 20 + } + ], + "uuid": "8b41624c-5342-9ac1-72af-274c71490fc6", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 10 + } + ], + "uuid": "682f660b-ede5-df95-58db-b905c7403249", + "time": 0.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 20 + } + ], + "uuid": "f07a0040-57f5-37d7-3a0a-1115e0429f44", + "time": 1.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 10 + } + ], + "uuid": "d87180cc-ea13-c75c-f4bd-2b20d51e6ee6", + "time": 1.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 20 + } + ], + "uuid": "8b13d41a-c8ab-45c7-de47-a9080a9e375c", + "time": 1.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 10 + } + ], + "uuid": "c3ac83e0-1c2e-55ae-27e9-e8f15de10e16", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 20 + } + ], + "uuid": "71357919-ce58-8bed-6953-b5d069254dda", + "time": 2.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 10 + } + ], + "uuid": "64ee8513-2418-2a35-604a-5fd268bab1c1", + "time": 2.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 20 + } + ], + "uuid": "d92c431e-4ddc-3df0-3510-18f5e77cb1b6", + "time": 2.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 10 + } + ], + "uuid": "5b14a62a-6eb7-2a16-3283-3bb91ede679e", + "time": 2.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 20 + } + ], + "uuid": "e88a24d6-6d2e-4daf-f9ac-94af851a0f4d", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 10 + } + ], + "uuid": "d17341b0-3d13-63c3-3d10-cc0d2188f260", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "842788de-67f8-925c-549a-09ae3d91d3f6": { + "name": "Skirt", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": "0", + "z": "5" + } + ], + "uuid": "5985d019-fe9a-ab72-307d-760eb3b9ae3d", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": 0, + "z": "0" + } + ], + "uuid": "82db0911-34c2-5ea1-f541-de7b170a18b7", + "time": 0.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": "0", + "z": "5" + } + ], + "uuid": "d4ce6baa-1016-fce0-94ce-20de2ffb8716", + "time": 0.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": 0, + "z": "0" + } + ], + "uuid": "0125c557-7133-4993-2887-681dc5ed19b4", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": "0", + "z": "5" + } + ], + "uuid": "05f02d51-9aea-b360-52f3-3bba4d18e094", + "time": 0.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": 0, + "z": "0" + } + ], + "uuid": "5d5d2b7d-f0fb-21e0-5f68-4649ba5ab069", + "time": 1.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": "0", + "z": "5" + } + ], + "uuid": "19d93534-afce-7d16-4ba4-372058e6aab8", + "time": 1.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": 0, + "z": "0" + } + ], + "uuid": "21fcaee3-a3f3-2d3d-74d5-73f63e869073", + "time": 1.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": "0", + "z": "5" + } + ], + "uuid": "7e4d6780-5932-45f3-9d1c-1333ab5ae94e", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": 0, + "z": "0" + } + ], + "uuid": "fc67e97e-7d32-2c41-5bef-cd1a43032074", + "time": 2.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": "0", + "z": "5" + } + ], + "uuid": "efa5f522-d972-3b22-9bd0-136ec712c365", + "time": 2.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": 0, + "z": "0" + } + ], + "uuid": "6580f5b0-f62b-6cc0-0a14-7cd3fc2e7fd4", + "time": 2.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": "0", + "z": "5" + } + ], + "uuid": "bcf15113-35b3-0961-5031-eccdc1693e25", + "time": 2.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": 0, + "z": "0" + } + ], + "uuid": "97306720-83b5-f81c-98e1-424f188bebc5", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": "0", + "z": "5" + } + ], + "uuid": "a4464f2e-0e7a-4335-3122-29dae0903f83", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "2f61e368-1c06-648e-26d4-aee94647e4da": { + "name": "LowerBody", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "da40a303-d7fa-2900-a664-e68a68a4394a", + "time": 1.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 0, + "z": 0 + } + ], + "uuid": "6890d52e-1841-f6f0-a920-9cad01b0d11f", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "73b3d6bc-af0b-a066-5d73-f3938109e11f": { + "name": "LeftLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -90, + "y": "0", + "z": "0" + } + ], + "uuid": "438815fe-7369-c03a-71e5-698db8adca0c", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ee9973d4-ff4e-c96b-64f6-d1f28afd69c6": { + "name": "LeftLegBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 70, + "y": "0", + "z": "0" + } + ], + "uuid": "7f375029-6b7f-b4b3-1e57-6654d610624e", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "242f9daa-9b60-b2ca-03fa-af6d04dbc249": { + "name": "RightHairEnd", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 10 + } + ], + "uuid": "2066fce2-7898-526e-40e1-a256045d5946", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 20 + } + ], + "uuid": "7fb38da2-e396-c13e-048b-435a1362c098", + "time": 0.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 10 + } + ], + "uuid": "fbc7077b-60ed-a3d8-fb64-574be9613973", + "time": 0.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 20 + } + ], + "uuid": "ee2a9bd2-bd0a-5ca0-9660-e0862eff5c7a", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 10 + } + ], + "uuid": "e2e82988-4980-65b6-9184-85f5fcd0782b", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 20 + } + ], + "uuid": "20d8bc01-ee4a-b8ef-f1e0-76b79145daa4", + "time": 1.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 10 + } + ], + "uuid": "96514266-76fe-b119-89ec-005ca32287e9", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 20 + } + ], + "uuid": "8918c6af-2bd2-0164-4c20-6890c16a2261", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 10 + } + ], + "uuid": "106f06a1-604f-8823-cd5c-c0285d3b4296", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 20 + } + ], + "uuid": "a8e8fd4f-8420-23e0-54fb-a3dba7042285", + "time": 2.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 10 + } + ], + "uuid": "7e66e2dd-f0b3-c2af-95b3-8924c7f8deda", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 20 + } + ], + "uuid": "55722676-db80-947b-bf7f-3c831172c7f3", + "time": 2.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 10 + } + ], + "uuid": "e0af9c9b-6304-9729-c16c-aa64f4d0ccd4", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 20 + } + ], + "uuid": "17bfd3c4-1620-0ae2-f916-5feaa0ed4526", + "time": 3.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 10 + } + ], + "uuid": "35eccf6c-5135-dff5-a243-5268f4c11bb6", + "time": 3.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "a0d92aa7-169d-aad9-7a9a-74147728af4b": { + "name": "LeftHairEnd", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 5 + } + ], + "uuid": "d5cade05-6f8b-52b7-bfe8-85f4b9c12cd1", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 10 + } + ], + "uuid": "096750be-45ac-0895-eab6-77d34c78654d", + "time": 0.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "15" + } + ], + "uuid": "fe513984-1f27-8377-1b5a-8fc94b463a88", + "time": 0.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 10 + } + ], + "uuid": "2e63e3b9-d475-039a-424b-a436bac1cd29", + "time": 0.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "15" + } + ], + "uuid": "fe18acb8-0e13-01b8-040f-472e195f64d9", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 10 + } + ], + "uuid": "0108f2dc-359d-5cea-8c2c-a64f206b6e15", + "time": 1.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "15" + } + ], + "uuid": "7ce058e1-e8f7-d2cd-9e7f-62b95621b23a", + "time": 1.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 10 + } + ], + "uuid": "11c552a8-d108-6ea8-3b84-559afb0528fc", + "time": 1.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "15" + } + ], + "uuid": "f005e48d-a0a0-67e6-2ef6-430282823067", + "time": 1.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 10 + } + ], + "uuid": "f9d6e293-63dc-9158-1a3c-6dc71cb50f9b", + "time": 2.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "15" + } + ], + "uuid": "499aa3c4-855f-23cf-05f5-0be6e626fe57", + "time": 2.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 10 + } + ], + "uuid": "54d76d31-2a40-807c-0852-4ebdf7fd6505", + "time": 2.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "15" + } + ], + "uuid": "e3818beb-303b-cba2-dd85-37a986c087a4", + "time": 2.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 10 + } + ], + "uuid": "ca86e043-86f3-7186-4e07-e9a08542e4d5", + "time": 3.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "15" + } + ], + "uuid": "ebbad6b1-908c-ad66-b811-db35e15dc8f5", + "time": 3.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 10 + } + ], + "uuid": "76e35aab-9021-409d-f559-52db2ca1b34e", + "time": 3.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + }, + { + "uuid": "69852078-929f-561a-4638-947b594cfa24", + "name": "ex_skill_2", + "loop": "once", + "override": true, + "length": 10.3, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "e98e96cf-993b-878e-02b8-777c368bb888": { + "name": "Avatar", + "type": "bone", + "rotation_global": true, + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "-15", + "y": "0", + "z": "0" + } + ], + "uuid": "06f0b5c1-7c66-57c0-ec47-c491c15b40ff", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 0, + "z": 0 + } + ], + "uuid": "65ccc9ea-1580-e6b7-18cf-7c65119a2274", + "time": 4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -17.5, + "y": 0, + "z": 0 + } + ], + "uuid": "8f9b6c69-8054-80c2-53a8-3ea73e9a616c", + "time": 4.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -17.5, + "y": 0, + "z": 0 + } + ], + "uuid": "6a2b9cc7-cc1a-370e-8260-f0af878b8cac", + "time": 4.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 0, + "z": 0 + } + ], + "uuid": "d2c836a4-e27b-5a99-8754-49d2166da110", + "time": 4.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 0, + "z": 0 + } + ], + "uuid": "a413e801-9f52-d71f-5150-fad692ad7d25", + "time": 5.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-5", + "y": 0, + "z": 0 + } + ], + "uuid": "f4e920cf-9a2e-ec47-af80-d3e27d106366", + "time": 5.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -5, + "y": 0, + "z": 0 + } + ], + "uuid": "96787098-4d0f-a8ed-3746-835afb08a01a", + "time": 7.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -5, + "y": -70, + "z": 0 + } + ], + "uuid": "a745d00d-7ee1-203d-684a-255a757291e6", + "time": 7.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": 6.25, + "z": -6 + } + ], + "uuid": "32c7d67d-da3b-9cf6-29c6-71ac487a0bdc", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 6.25, + "z": -6 + } + ], + "uuid": "5766d1e0-0d4c-def2-7b7a-94f3fccd107d", + "time": 5.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 6.75, + "z": -6 + } + ], + "uuid": "3dc98b72-fd29-ff6f-76fb-ef7b9368130d", + "time": 5.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 6.75, + "z": -6 + } + ], + "uuid": "bb4ee4c1-2e65-6e9b-7f6f-9f1177031e0b", + "time": 7.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 7, + "z": -6 + } + ], + "uuid": "9c9a6a93-3d8b-6e83-d02f-060dcfc31b29", + "time": 7.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 6.23, + "z": -6 + } + ], + "uuid": "cc6b4cfe-d9a3-db96-7c67-4152251a4284", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 5.23, + "z": -6 + } + ], + "uuid": "452212a3-2959-5fbe-2bea-656c4d061d87", + "time": 4.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 5.83, + "z": -6 + } + ], + "uuid": "7d93a2a2-e7f2-c214-dc48-2d08d4e1d206", + "time": 5.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 6.05, + "z": -6 + } + ], + "uuid": "bf11e9e7-b18a-9951-95de-251f31e359fc", + "time": 5.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "22d40862-bd19-a16d-9e33-79364e6656d8": { + "name": "Head", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 20.01754, + "y": 2.34914, + "z": 0.85553 + } + ], + "uuid": "c4510f60-0034-660f-0110-bb38cbf0330a", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 20.02, + "y": 2.35, + "z": 0.86 + } + ], + "uuid": "edb74665-4c8d-c8a0-e373-578fe3dbf8cf", + "time": 4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 19.94757, + "y": 8.75512, + "z": -2.1408 + } + ], + "uuid": "6c930b29-80c7-df6d-9c75-54c27681ef56", + "time": 4.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 19.95, + "y": 8.76, + "z": -2.14 + } + ], + "uuid": "b4ab900b-98de-d9d6-aea4-0a54ec24ae99", + "time": 4.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 20.19171, + "y": 5.5542, + "z": -0.63851 + } + ], + "uuid": "9c2aabab-7599-9918-dee3-3bfcd1fba751", + "time": 4.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 20.19, + "y": 5.55, + "z": -0.64 + } + ], + "uuid": "b17a3dd4-acef-5a99-c5b1-071d063f84a9", + "time": 5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 15.19, + "y": 5.55, + "z": -0.64 + } + ], + "uuid": "e234f89f-62d6-a87d-0ba7-c8266790ec8d", + "time": 5.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 15.19, + "y": 5.55, + "z": -0.64 + } + ], + "uuid": "a78cc75f-18b1-6c10-06be-d80451b778a4", + "time": 5.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 14.75507, + "y": 9.25685, + "z": -4.85846 + } + ], + "uuid": "666e928e-4290-812a-a775-8db3940e163e", + "time": 5.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 9.76, + "y": 9.26, + "z": -4.86 + } + ], + "uuid": "1775bbf0-7fdc-dd64-5869-2e95a9cbfcd5", + "time": 6.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 9.76, + "y": 9.26, + "z": -4.86 + } + ], + "uuid": "8af605d1-7f38-0784-827f-53e10658b8ea", + "time": 7.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 41.07525, + "y": 1.75578, + "z": 8.1404 + } + ], + "uuid": "249a5152-ebc9-5def-a77c-6228b06e21a9", + "time": 7.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -57.30485, + "y": 71.32215, + "z": -53.62097 + } + ], + "uuid": "873c2228-5246-e422-07f3-c55dc31a9aa4", + "time": 7.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "d9d3d58a-ac0b-fce1-f92f-b3f9f8f19f62": { + "name": "RightEarPivot", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 40, + "y": 0, + "z": -10 + } + ], + "uuid": "8427c471-caae-8919-cce9-0eb447acdd65", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 40, + "y": 0, + "z": -10 + } + ], + "uuid": "b80fda49-cd2b-7434-5782-1fa927a6cfbe", + "time": 6.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": "0" + } + ], + "uuid": "4453b245-f7a4-fed3-bb62-fc0d87c58693", + "time": 6.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "58791568-5a1c-1dee-10f6-f98e6c012e3f", + "time": 7.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "15", + "y": 0, + "z": "-10" + } + ], + "uuid": "a8625e38-f0b2-d7db-5a98-3a351c0a3aa3", + "time": 7.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": "0" + } + ], + "uuid": "bd49a910-1d20-01fe-9ee9-eaee1ac974e5", + "time": 7.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "0ca24c5b-efac-bdc2-1434-151c85925fb3": { + "name": "LeftEarPivot", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 40, + "y": 0, + "z": 10 + } + ], + "uuid": "bd9456ab-cfb1-09a7-c4b4-acf0686e9b83", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 40, + "y": 0, + "z": 10 + } + ], + "uuid": "78598331-ca24-4006-b59d-0bdd29c1f03a", + "time": 6.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": "0" + } + ], + "uuid": "28f78319-ea7d-a138-05ab-f78c79d12a89", + "time": 6.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "436c54a9-d539-3d31-c751-8a5e6954cf5a", + "time": 7.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "15", + "y": 0, + "z": "10" + } + ], + "uuid": "57d2607a-9df0-a89a-bd0a-533fa2a396ab", + "time": 7.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": "0" + } + ], + "uuid": "742e1372-0b57-bfc0-920b-dd598205dbb5", + "time": 7.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3c1cb66d-8a31-d31f-ec9f-65a33e313a53": { + "name": "RightArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -29.23138, + "y": -29.8742, + "z": -2.88063 + } + ], + "uuid": "6ebe2fbb-2a97-a4b1-4004-6b147f7486a4", + "time": 4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -9.23, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "9b8c5715-5afa-2047-b566-b6eee1e45cc7", + "time": 4.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -31.73, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "4020ed19-6612-ce97-3158-f6a074542f99", + "time": 4.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -36.73, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "300db43a-5b4f-3108-cee5-03416aeaca81", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -31.73, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "89426ae8-79b4-cb54-966f-2db07aef9aa1", + "time": 4.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -36.73, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "826812e4-8dca-0580-ea4e-8917c2f6fb2e", + "time": 4.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -31.73, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "fe7bed24-c789-2320-ff95-891f2c88ea2d", + "time": 4.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -36.73, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "ae8884c3-e059-1890-3475-fa033d09a64b", + "time": 5.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -32.91102, + "y": -28.53314, + "z": -0.45974 + } + ], + "uuid": "fe657fc8-08b0-0fd8-5da1-4140d15d0d46", + "time": 5.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -29.23, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "7c77104a-b8ea-1466-d307-594344fa090c", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -26.73, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "70f31b36-569b-06d9-dcea-bb3fb415e3b6", + "time": 0.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -29.23, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "f5753722-0449-213b-e3d1-55c6cfb35b8d", + "time": 0.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -26.73, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "fa721090-94d8-7554-127f-677057f9cec7", + "time": 0.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -29.23, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "eb9407a4-e7bf-9518-6ab4-55cae25b066d", + "time": 0.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -26.73, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "773f90d6-1199-2ac5-4ddb-778392069868", + "time": 0.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -29.23, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "1a85c642-cf9d-9988-44eb-ba42fd1ba6ec", + "time": 0.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -26.73, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "4d36c586-7c03-66d7-cd2c-435c71bf5259", + "time": 0.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -29.23, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "820b6bc7-8382-a144-06b7-05014a8ca9b2", + "time": 0.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -26.73, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "ebb5af25-5a98-b1a9-ed77-d168a2195eb5", + "time": 0.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -29.23, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "55522561-6383-3b84-bf06-b962f689a96f", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -26.73, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "60204ac3-8637-b85d-8b5f-9f39df8893c4", + "time": 1.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -29.23, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "1544ba36-c670-41bf-1af8-4831b7ffe5e5", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -26.73, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "e396a079-ea0e-57fb-660e-de5d0dd4b79d", + "time": 1.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -29.23, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "8f328c9e-ae60-4578-6d3e-a3856512f2cc", + "time": 1.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -26.73, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "c60d685f-3f70-56a7-e9aa-1b53c7b38be7", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -29.23, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "c884d878-7dbb-6d15-3d44-f829d28f1dd2", + "time": 1.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -26.73, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "c601c990-e0f2-c0d2-278f-830da84500f6", + "time": 1.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -29.23, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "08845794-c3f9-fb99-f35f-cde3a10673e4", + "time": 1.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -26.73, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "babaeab1-8de3-5a0b-77bd-a19072ff056d", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -29.23, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "13f74624-29e4-bc10-a4a7-11b9deeadbf7", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -26.73, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "f98426b0-f001-b052-8428-ed055033df46", + "time": 2.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -29.23, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "1fa0be0c-7d09-d466-7367-5d9c944627ad", + "time": 2.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -26.73, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "55b610b8-151c-8139-df4b-ad9258bb1721", + "time": 2.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -29.23, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "1ca4d678-c61d-eb91-f635-92d5889381e1", + "time": 2.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -26.73, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "dbf662e0-5904-b050-71db-8fef17d1735c", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -29.23, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "01e1c838-48f2-9e8d-96a2-e0d6511f58a8", + "time": 2.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -26.73, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "fb323659-ba73-aefa-132c-34ff44f8a20f", + "time": 2.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -29.23, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "9b21e1d0-b9d5-48c2-6928-120b042151de", + "time": 2.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -26.73, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "8932a464-6ee1-d519-4dcb-df593a1be04b", + "time": 2.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -29.23, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "aa0c227a-8369-dfcd-a7c5-beeff666dc88", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -26.73, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "b15bc349-d99f-c3c3-f0e2-39c3f7027d2f", + "time": 3.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -29.23, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "99325dab-ba71-4a2d-d267-e0d589b19a3f", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -26.73, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "dc9f8667-3309-1352-80f2-b6208189e6d0", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -29.23, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "e81b7a01-d43b-dcd2-9f10-e95b72108ba2", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -26.73, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "fed070a1-3e65-443e-5fb7-20e51af09c44", + "time": 3.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -29.23, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "2bc1da72-6d6f-8b4d-e60f-3cb2db9f413e", + "time": 3.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -26.73, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "cf0e20bf-8fb9-b300-cf32-bd3c4274fefd", + "time": 3.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -35.44, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "5b6d3d9c-1159-d745-9f74-d1fa2c3d6549", + "time": 5.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -36.13407, + "y": -28.41564, + "z": -0.55169 + } + ], + "uuid": "8e984478-385c-4478-ca3e-f3ea6bd0443c", + "time": 5.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -34.58, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "9f65f7a6-d9f2-c804-2142-c64c790dc32f", + "time": 5.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -35.26704, + "y": -28.44681, + "z": -0.52622 + } + ], + "uuid": "75eb47c3-21e6-e1b8-efc7-48711c4a042a", + "time": 5.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -33.6, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "6b934d35-ddb5-335c-ec6d-4718f1fe6f9d", + "time": 5.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -34.17304, + "y": -28.48661, + "z": -0.49485 + } + ], + "uuid": "627fa0fd-eeb1-3fd9-2d20-74c6eedad8fe", + "time": 5.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -32.33, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "42780a1f-91e5-3839-ed52-1b2a5cb82e48", + "time": 5.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -31.73, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "d5000782-bb51-13ca-15ef-52afe470b9b1", + "time": 5.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -32.91102, + "y": -28.53314, + "z": -0.45974 + } + ], + "uuid": "cf669563-b13b-8fd6-8915-4440cf5a3026", + "time": 5.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -31.73, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "982728f8-1c6f-67f3-2de9-081b73c372b0", + "time": 5.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -32.91102, + "y": -28.53314, + "z": -0.45974 + } + ], + "uuid": "f2a37e65-64c2-cee9-73b6-6c6f7c47f0db", + "time": 5.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -31.73, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "65744a6c-8cb0-f233-f3c2-1b4a92fd8d9a", + "time": 5.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -32.91102, + "y": -28.53314, + "z": -0.45974 + } + ], + "uuid": "a92ac8a5-6420-8e63-6596-4e176b1db191", + "time": 6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -31.73, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "752f9043-21f3-cd62-be90-5b446993780a", + "time": 6.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -32.91102, + "y": -28.53314, + "z": -0.45974 + } + ], + "uuid": "c8b88dd9-00e3-8fd5-ba83-c797be842e7d", + "time": 6.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -31.73, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "139233e9-ec72-7e8c-4fb1-d918d16933bf", + "time": 6.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -32.91102, + "y": -28.53314, + "z": -0.45974 + } + ], + "uuid": "1a2f6abe-cb88-45c8-e2fe-ab1083c185bd", + "time": 6.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -31.73, + "y": -29.87, + "z": -2.88 + } + ], + "uuid": "cb34f780-fb69-91d3-5067-74db3993adf6", + "time": 6.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -32.91102, + "y": -28.53314, + "z": -0.45974 + } + ], + "uuid": "ee30daa9-32be-4997-5459-465ebf3b2921", + "time": 6.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -31.72912, + "y": -29.86682, + "z": -2.88021 + } + ], + "uuid": "8dd8c97d-2658-4d7c-4bb3-e686a2ad42a1", + "time": 6.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -32.91, + "y": -28.53, + "z": -0.46 + } + ], + "uuid": "641cc16d-7951-a6d5-4dd1-3b1ef81d5751", + "time": 6.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -31.72912, + "y": -29.86682, + "z": -2.88021 + } + ], + "uuid": "64bbf459-a26b-c9a6-a730-e766455050c1", + "time": 6.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -32.91, + "y": -28.53, + "z": -0.46 + } + ], + "uuid": "9e59e8ce-ab14-3fd5-4a4f-b6b56ca67f07", + "time": 6.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30.46729, + "y": -31.15832, + "z": -5.36502 + } + ], + "uuid": "88305c21-070f-7801-ba1c-7bf488fddadc", + "time": 6.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -32.91, + "y": -28.53, + "z": -0.46 + } + ], + "uuid": "db114567-73ac-a237-8710-2febd1e83675", + "time": 6.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -31.72912, + "y": -29.86682, + "z": -2.88021 + } + ], + "uuid": "84e66cfc-5619-bae2-6270-b5702f71b878", + "time": 6.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -32.91, + "y": -28.53, + "z": -0.46 + } + ], + "uuid": "02c48ce3-71f7-8e77-f42f-99166dc992dc", + "time": 6.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -32.91, + "y": -28.53, + "z": -0.46 + } + ], + "uuid": "2e9fc179-bad2-352a-3ea5-b07ba42bc969", + "time": 7.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -95, + "y": -28.53, + "z": -0.46 + } + ], + "uuid": "788c165e-f6ed-d8a9-387b-2a6c7bfdc428", + "time": 7.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -31.66985, + "y": -29.83462, + "z": -2.82107 + } + ], + "uuid": "f9bf3dc6-cff3-433d-9a6f-cfa6aef704ad", + "time": 6.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -32.75, + "y": -28.5, + "z": -0.4 + } + ], + "uuid": "c318ec89-7d08-bd30-d4f8-abdd3eba7b3a", + "time": 6.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -31.4573, + "y": -29.82682, + "z": -2.8266 + } + ], + "uuid": "7c57c887-004a-0b79-9e7b-37e5df1c4dab", + "time": 6.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -32.52, + "y": -28.5, + "z": -0.4 + } + ], + "uuid": "9d53e4d9-72f0-6d23-7b84-f37f0cec3f8e", + "time": 6.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -31.20429, + "y": -29.81751, + "z": -2.83313 + } + ], + "uuid": "ec04bcfc-e927-e3c5-6451-d6b0e94cd2f8", + "time": 6.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -32.24, + "y": -28.5, + "z": -0.4 + } + ], + "uuid": "77113041-d34b-a05e-b690-399af1d36edc", + "time": 7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30.88047, + "y": -29.80555, + "z": -2.84143 + } + ], + "uuid": "da1fc769-07e0-bc69-68bb-d690d595261f", + "time": 7.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -31.88, + "y": -28.5, + "z": -0.4 + } + ], + "uuid": "df437146-94e1-9f64-e03b-736d5ad786e3", + "time": 7.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30.46563, + "y": -29.79016, + "z": -2.85194 + } + ], + "uuid": "12c56dcf-6759-7474-09a8-4aa0bc4cfce5", + "time": 7.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -31.4, + "y": -28.5, + "z": -0.4 + } + ], + "uuid": "c5604540-3836-4eee-0cbb-216f65d752a8", + "time": 7.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -29.88903, + "y": -29.76867, + "z": -2.87634 + } + ], + "uuid": "ab43ff5b-a3a7-f149-caf4-c1788e9ddac2", + "time": 7.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30.71, + "y": -28.5, + "z": -0.42 + } + ], + "uuid": "93831a76-486f-4950-cba5-95740a91dce2", + "time": 7.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -29.0193, + "y": -29.73601, + "z": -2.91759 + } + ], + "uuid": "eb80a57e-99b5-c2d6-3d81-c5ba70712bdf", + "time": 7.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -29.61, + "y": -28.5, + "z": -0.44 + } + ], + "uuid": "b085ff9c-5d40-4220-2bab-6db79e0f8f82", + "time": 7.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -27.55307, + "y": -29.6903, + "z": -2.96234 + } + ], + "uuid": "82ddd9e1-bd40-6c5b-2735-956be4925542", + "time": 7.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -27.64, + "y": -28.52, + "z": -0.45 + } + ], + "uuid": "c508073b-c40d-0f72-e86b-09741efcaa7d", + "time": 7.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -25.06732, + "y": -29.6141, + "z": -3.03757 + } + ], + "uuid": "b8772764-839f-f322-9cea-eab94cb20c05", + "time": 7.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "b924539e-1292-1a17-6240-a525ae346090": { + "name": "RightArmBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -55, + "y": "0", + "z": "0" + } + ], + "uuid": "acc11dc7-64a1-dd45-c3d7-69661436e26f", + "time": 4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -70, + "y": 0, + "z": 0 + } + ], + "uuid": "d9f00c08-80e0-6042-fd64-6c0fc84b77b8", + "time": 4.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -47.5, + "y": 0, + "z": 0 + } + ], + "uuid": "b90aef91-7b0c-7488-20ca-2a9417fb08d3", + "time": 4.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -55, + "y": 0, + "z": 0 + } + ], + "uuid": "1f7fbbc3-c785-bdbf-6a77-213c4692643f", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -47.5, + "y": 0, + "z": 0 + } + ], + "uuid": "dd036d75-ed85-2b67-f247-e95c8755dea1", + "time": 4.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -55, + "y": 0, + "z": 0 + } + ], + "uuid": "96318294-5da3-0929-3f0f-229587cb5560", + "time": 4.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -47.5, + "y": 0, + "z": 0 + } + ], + "uuid": "988a13f1-f8fc-1f97-de57-0ff41d54625c", + "time": 4.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -55, + "y": 0, + "z": 0 + } + ], + "uuid": "dcee1bfd-1ff5-a723-b56e-b9161fa1adff", + "time": 5.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -47.5, + "y": 0, + "z": 0 + } + ], + "uuid": "c58b2652-8bcf-7e16-cad5-8a5be4a49520", + "time": 5.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -55, + "y": 0, + "z": 0 + } + ], + "uuid": "c4a156a6-6bef-0647-5161-3558907e1b8b", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -57.5, + "y": 0, + "z": 0 + } + ], + "uuid": "38aa9da2-6620-8652-ff7c-e17d512eadec", + "time": 0.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -55, + "y": 0, + "z": 0 + } + ], + "uuid": "57a0ab18-56c6-fe19-8c04-69bf3974111f", + "time": 0.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -57.5, + "y": 0, + "z": 0 + } + ], + "uuid": "4650abcc-498f-4e8b-f12b-c0f707c5616c", + "time": 0.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -55, + "y": 0, + "z": 0 + } + ], + "uuid": "571020cc-3f36-40ac-ba9d-d74acf912dca", + "time": 0.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -57.5, + "y": 0, + "z": 0 + } + ], + "uuid": "d352ba4e-6bae-be0d-2e89-08f3956723cb", + "time": 0.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -55, + "y": 0, + "z": 0 + } + ], + "uuid": "7d80904a-d556-558f-9442-281495fe2cf6", + "time": 0.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -57.5, + "y": 0, + "z": 0 + } + ], + "uuid": "8ac1f12d-0e1c-b7f7-de70-9dde1c12ff69", + "time": 0.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -55, + "y": 0, + "z": 0 + } + ], + "uuid": "f79d6648-615c-0a5d-7902-bde4a06a56b1", + "time": 0.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -57.5, + "y": 0, + "z": 0 + } + ], + "uuid": "a6376b42-b36f-ef8f-c7e8-20342358a9fe", + "time": 0.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -55, + "y": 0, + "z": 0 + } + ], + "uuid": "4e39c5b7-5fd5-4683-7282-079c3c7f49d4", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -57.5, + "y": 0, + "z": 0 + } + ], + "uuid": "cf3d4f92-bbf6-f75d-8182-290d00560e77", + "time": 1.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -55, + "y": 0, + "z": 0 + } + ], + "uuid": "6fd6d767-bf78-6f46-17b7-f133a07b71f2", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -57.5, + "y": 0, + "z": 0 + } + ], + "uuid": "019257dd-e707-8fa5-5522-d15dfc2a26c5", + "time": 1.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -55, + "y": 0, + "z": 0 + } + ], + "uuid": "b8eee6cf-8ef5-797a-656c-3cb25768e8ce", + "time": 1.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -57.5, + "y": 0, + "z": 0 + } + ], + "uuid": "a878a71a-6bbf-e7a9-26e7-58d7d27dedd7", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -55, + "y": 0, + "z": 0 + } + ], + "uuid": "715d6e24-2c16-c939-cd3d-4a567b8190dc", + "time": 1.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -57.5, + "y": 0, + "z": 0 + } + ], + "uuid": "e44b204f-7455-0b75-b4a1-3bd095856b24", + "time": 1.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -55, + "y": 0, + "z": 0 + } + ], + "uuid": "31457d04-e50f-6009-587e-32f8a5b13458", + "time": 1.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -57.5, + "y": 0, + "z": 0 + } + ], + "uuid": "9132e5ab-8bcd-31b4-fea6-ad5796f5d811", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -55, + "y": 0, + "z": 0 + } + ], + "uuid": "8cd0e899-24b2-1044-b2c7-85a8e98e7665", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -57.5, + "y": 0, + "z": 0 + } + ], + "uuid": "c622abc5-0029-0f87-2e16-15b762f4cfb3", + "time": 2.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -55, + "y": 0, + "z": 0 + } + ], + "uuid": "bc771a66-a5e2-361d-f0b9-5b4e0aa12fb7", + "time": 2.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -57.5, + "y": 0, + "z": 0 + } + ], + "uuid": "1aa8df8c-a1e3-9694-88a7-68be889d06c3", + "time": 2.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -55, + "y": 0, + "z": 0 + } + ], + "uuid": "4427aecf-dcef-7b96-6e35-ca8b47fb038d", + "time": 2.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -57.5, + "y": 0, + "z": 0 + } + ], + "uuid": "5812bede-a42c-3a2f-6815-ff4e8d1d00d8", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -55, + "y": 0, + "z": 0 + } + ], + "uuid": "27c578e1-dd8a-b50d-077f-95e8c0eb744e", + "time": 2.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -57.5, + "y": 0, + "z": 0 + } + ], + "uuid": "54eec878-8256-59e8-8510-0196055f3b52", + "time": 2.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -55, + "y": 0, + "z": 0 + } + ], + "uuid": "252aae23-993d-fbaf-918c-b8bd561a3164", + "time": 2.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -57.5, + "y": 0, + "z": 0 + } + ], + "uuid": "a06923c6-5746-291d-d462-cc160b04fd86", + "time": 2.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -55, + "y": 0, + "z": 0 + } + ], + "uuid": "40570803-ed0f-3a88-c2ac-a652c41db717", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -57.5, + "y": 0, + "z": 0 + } + ], + "uuid": "df61f397-7986-daa5-5b3a-8911467d8bea", + "time": 3.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -55, + "y": 0, + "z": 0 + } + ], + "uuid": "ac9ad507-def0-8ea1-92e1-bf911882335c", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -57.5, + "y": 0, + "z": 0 + } + ], + "uuid": "875525ae-2676-14bc-352b-3064de4c3128", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -55, + "y": 0, + "z": 0 + } + ], + "uuid": "ef72eaf6-4445-5577-fe65-1010d5a3190c", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -57.5, + "y": 0, + "z": 0 + } + ], + "uuid": "2f2d7a06-4f1a-f0b5-fe66-45c93bd52027", + "time": 3.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -55, + "y": 0, + "z": 0 + } + ], + "uuid": "b03f19ad-7d40-af82-f2b1-b6b0b7107b82", + "time": 3.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -57.5, + "y": 0, + "z": 0 + } + ], + "uuid": "26aedf2c-5a91-5669-72d2-37ac01ac1f38", + "time": 3.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -47.5, + "y": 0, + "z": 0 + } + ], + "uuid": "3c0eddfc-a923-3a37-715c-5065f0595d98", + "time": 7.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "f6676e43-d61d-6b16-8250-bab5e2045e50", + "time": 7.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e7d3e5d8-00e4-587c-7bb6-6787db00054b": { + "name": "LeftArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -12.5, + "y": 25, + "z": -17.5 + } + ], + "uuid": "418d7f17-a871-365a-4a9b-67b1d269b1bb", + "time": 4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -32.05042, + "y": 37.93998, + "z": -38.53194 + } + ], + "uuid": "fb051e2c-80b8-0eb0-4da8-0ca35256090d", + "time": 4.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -39.55, + "y": 37.94, + "z": -38.53 + } + ], + "uuid": "52ace722-ca8d-c2c0-fd19-546274b7d469", + "time": 4.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.05, + "y": 37.94, + "z": -38.53 + } + ], + "uuid": "cce19c2d-7ac6-54bd-1adf-a91411d773e2", + "time": 4.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -49.22268, + "y": 30.62524, + "z": -46.80007 + } + ], + "uuid": "5e759607-4210-7f6e-d056-3ab81c81a595", + "time": 4.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -39.82665, + "y": 34.66162, + "z": -43.21648 + } + ], + "uuid": "9ae39b68-a8fe-8eb1-61f9-c04d4c6a4f3d", + "time": 4.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -61.90163, + "y": 37.84605, + "z": -38.28068 + } + ], + "uuid": "a75008fb-1ace-168c-c12c-c342879bfb61", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -71.04336, + "y": 33.405, + "z": -41.09866 + } + ], + "uuid": "40720065-ccdc-de4f-9db4-16f451f80236", + "time": 4.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -57.56532, + "y": 26.24776, + "z": -49.16797 + } + ], + "uuid": "4c083829-f2d0-4c08-0508-a5049a7519ab", + "time": 4.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -27.57, + "y": 26.25, + "z": -49.17 + } + ], + "uuid": "73da35f7-a97a-586b-65d8-30facedb9f2a", + "time": 4.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -44.68965, + "y": 31.66226, + "z": -43.23129 + } + ], + "uuid": "746a3527-fa6b-949d-e78b-85fdb15648c0", + "time": 4.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -59.63907, + "y": 38.21805, + "z": -38.78461 + } + ], + "uuid": "4aa7fb30-935e-ca12-253d-ad15754e66a0", + "time": 4.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -72.14, + "y": 38.22, + "z": -38.78 + } + ], + "uuid": "693efbab-9d4e-e670-cdcc-4f83226565a0", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -82.14, + "y": 38.22, + "z": -38.78 + } + ], + "uuid": "700215d8-ff19-284e-166a-6242527c50df", + "time": 4.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -70.62655, + "y": 29.64908, + "z": -45.00389 + } + ], + "uuid": "b509f67a-a493-a9cf-f7d5-d19b9ae32917", + "time": 4.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -70.63, + "y": 29.65, + "z": -45 + } + ], + "uuid": "e6f04d70-faf1-78d6-4144-3439351fea66", + "time": 4.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -32.56178, + "y": 24.58446, + "z": -54.69496 + } + ], + "uuid": "4b3073cb-72ab-1b12-e4b7-278a4ebb25bc", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -37.56, + "y": 24.58, + "z": -54.69 + } + ], + "uuid": "015eafb2-5b98-5aa5-7091-b27865c606ec", + "time": 4.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -47.49387, + "y": 30.22603, + "z": -49.12466 + } + ], + "uuid": "03577c74-634f-5f0a-cff3-17ecd6f65d6f", + "time": 5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -61.77844, + "y": 32.44023, + "z": -47.75203 + } + ], + "uuid": "d762615c-d2df-ba7a-ffa7-32054263d5ab", + "time": 5.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -58.0221, + "y": 41.10177, + "z": -41.49425 + } + ], + "uuid": "fdb34bb1-f735-35d7-7bad-df1de6d02909", + "time": 5.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -63.02, + "y": 41.1, + "z": -41.49 + } + ], + "uuid": "7c5ef220-f80f-62b6-e93d-318ac7d0f44c", + "time": 5.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -68.02, + "y": 41.1, + "z": -41.49 + } + ], + "uuid": "6fdf7eca-49e5-94a7-6f27-eab4614a11e7", + "time": 5.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -75.52, + "y": 41.1, + "z": -41.49 + } + ], + "uuid": "df90c429-8fe8-eb9c-553d-1dee36e0fedc", + "time": 5.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -80.52, + "y": 41.1, + "z": -41.49 + } + ], + "uuid": "93896467-11d1-c0b5-2d2a-4a00e1052f5f", + "time": 5.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -81.15665, + "y": 36.16363, + "z": -42.5088 + } + ], + "uuid": "970e0c5c-b994-cadc-9d72-2e13c0da54d4", + "time": 5.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -78.99836, + "y": 33.70734, + "z": -43.10074 + } + ], + "uuid": "904abdf3-96d8-d1c3-a3dd-c56317ffd568", + "time": 5.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -69.28802, + "y": 33.82637, + "z": -43.60485 + } + ], + "uuid": "16c3c965-9ea1-e78b-c35a-acd72fb52b57", + "time": 5.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -52.77734, + "y": 31.85219, + "z": -45.42024 + } + ], + "uuid": "f132f7b0-8b3a-4119-b00a-a200da8d1a38", + "time": 5.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -39.29, + "y": 33.83, + "z": -43.6 + } + ], + "uuid": "9570ab1d-9c7a-9f8b-a9f4-0a20977ad820", + "time": 5.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -44.1624, + "y": 28.00308, + "z": -53.10125 + } + ], + "uuid": "2eb38b1c-70d7-370d-dc3e-5deaa5e35165", + "time": 5.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -34.27357, + "y": 30.65605, + "z": -48.19267 + } + ], + "uuid": "f379e688-1dab-4722-9775-1ca4921c4e50", + "time": 5.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -36.55319, + "y": 27.75689, + "z": -52.86096 + } + ], + "uuid": "39d9fcd5-bd30-ac1a-a00e-36de05e820a9", + "time": 5.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -26.55, + "y": 27.76, + "z": -52.86 + } + ], + "uuid": "e754d60e-85db-0b25-1989-24c6ec7398d2", + "time": 5.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30.1645, + "y": 26.52466, + "z": -55.30256 + } + ], + "uuid": "6ca649e3-d9f5-cb59-1cb8-a8620f70716e", + "time": 5.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -42.49333, + "y": 26.08627, + "z": -54.94294 + } + ], + "uuid": "2f1093f9-60ab-384c-f04c-07c1c3479bc7", + "time": 6.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -12.5, + "y": 25, + "z": -17.5 + } + ], + "uuid": "8c9d996a-bf34-649b-d254-14ed3e3684b4", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 25, + "z": -17.5 + } + ], + "uuid": "30a47f5d-577e-7ade-0d35-2e3f4115a83c", + "time": 0.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -12.5, + "y": 25, + "z": -17.5 + } + ], + "uuid": "a7540bd9-8ea9-8a65-0e91-911ddcf249c8", + "time": 0.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 25, + "z": -17.5 + } + ], + "uuid": "5c8a8c4b-62c2-f19a-8cc3-a77ee7b0de70", + "time": 0.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -12.5, + "y": 25, + "z": -17.5 + } + ], + "uuid": "bfed595e-bd4e-19c9-c1e4-4bafbd90467e", + "time": 0.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 25, + "z": -17.5 + } + ], + "uuid": "9450b81e-f21c-421d-22c9-34eaed022f79", + "time": 0.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -12.5, + "y": 25, + "z": -17.5 + } + ], + "uuid": "84a2cfce-a0e0-ca87-5c21-32d90776b49a", + "time": 0.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 25, + "z": -17.5 + } + ], + "uuid": "64c72678-9c47-f057-0ac1-33b9ff65934b", + "time": 0.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -12.5, + "y": 25, + "z": -17.5 + } + ], + "uuid": "36786207-9211-8621-7577-70185d163ed1", + "time": 0.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 25, + "z": -17.5 + } + ], + "uuid": "beeb64bb-f1b6-32c3-d893-0b9a43474f46", + "time": 0.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -12.5, + "y": 25, + "z": -17.5 + } + ], + "uuid": "8376de5d-a45b-8458-fa0d-0d42c2325b45", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 25, + "z": -17.5 + } + ], + "uuid": "3c0630e7-428f-0b7a-8e7c-b75e03c00741", + "time": 1.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -12.5, + "y": 25, + "z": -17.5 + } + ], + "uuid": "52b08d7b-5694-8ef9-63f6-f2c6740a811d", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 25, + "z": -17.5 + } + ], + "uuid": "58561800-240b-0cd8-36a4-7a553516e0fe", + "time": 1.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -12.5, + "y": 25, + "z": -17.5 + } + ], + "uuid": "6089bf6c-4825-e520-ecf6-87b1fa91dca4", + "time": 1.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 25, + "z": -17.5 + } + ], + "uuid": "6fc268c1-4603-af9f-92fb-ff334263cce2", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -12.5, + "y": 25, + "z": -17.5 + } + ], + "uuid": "d6b83e2d-12eb-2fe3-4bd3-4c0b8bf4e137", + "time": 1.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 25, + "z": -17.5 + } + ], + "uuid": "a9674d89-0a6e-af6b-8680-8a0da1b5e9c1", + "time": 1.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -12.5, + "y": 25, + "z": -17.5 + } + ], + "uuid": "c50400e7-d8c3-595e-5b00-d19955cce07b", + "time": 1.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 25, + "z": -17.5 + } + ], + "uuid": "232b8cfd-ac21-843d-3f8e-74d7216ce3ce", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -12.5, + "y": 25, + "z": -17.5 + } + ], + "uuid": "a854116c-4e93-4c3e-2fde-fdeb944c7e36", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 25, + "z": -17.5 + } + ], + "uuid": "baa169d4-fa4c-3ad1-9a9c-a78b8812764b", + "time": 2.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -12.5, + "y": 25, + "z": -17.5 + } + ], + "uuid": "6e8a191c-5e20-0429-7a9e-3cdf3ee88f9f", + "time": 2.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 25, + "z": -17.5 + } + ], + "uuid": "ee34cb74-905a-189b-d46b-0a5b0445a6d9", + "time": 2.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -12.5, + "y": 25, + "z": -17.5 + } + ], + "uuid": "6b030c1b-b235-8a8a-a931-7e32bf4ad9f4", + "time": 2.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 25, + "z": -17.5 + } + ], + "uuid": "94c8a0e5-9abe-0267-0920-c88818986e1f", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -12.5, + "y": 25, + "z": -17.5 + } + ], + "uuid": "994eb931-be88-6374-f90a-3e8f9aec8253", + "time": 2.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 25, + "z": -17.5 + } + ], + "uuid": "6d92d2db-1372-7037-8abd-88c0365b5eb9", + "time": 2.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -12.5, + "y": 25, + "z": -17.5 + } + ], + "uuid": "64132139-3ba3-a925-c910-159b80d40581", + "time": 2.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 25, + "z": -17.5 + } + ], + "uuid": "9976aec5-343c-e5c4-244f-329eed0eba2d", + "time": 2.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -12.5, + "y": 25, + "z": -17.5 + } + ], + "uuid": "c5b55ffc-ccfd-7afe-5816-a991dc773a6d", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 25, + "z": -17.5 + } + ], + "uuid": "d6975b26-7dd1-88f6-2f25-d70148c7449b", + "time": 3.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -12.5, + "y": 25, + "z": -17.5 + } + ], + "uuid": "d43396e4-f627-1ac6-c09b-1dfe32d06230", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 25, + "z": -17.5 + } + ], + "uuid": "a892ad75-a693-5c72-df04-2c9674640609", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -12.5, + "y": 25, + "z": -17.5 + } + ], + "uuid": "46fc7027-7fb8-3cba-5677-2258c23f79ac", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 25, + "z": -17.5 + } + ], + "uuid": "e4db1f10-dd4b-03b3-997b-10685e905666", + "time": 3.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -12.5, + "y": 25, + "z": -17.5 + } + ], + "uuid": "637f54f9-86ea-1e29-96fe-4a86ff980ef3", + "time": 3.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 25, + "z": -17.5 + } + ], + "uuid": "594d0b9d-44be-3824-4b71-d804e20baea8", + "time": 3.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -29.95, + "y": 27.76, + "z": -52.86 + } + ], + "uuid": "3c6944fb-c84d-d835-3df4-058a81c21feb", + "time": 5.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -31.92285, + "y": 26.45814, + "z": -55.25782 + } + ], + "uuid": "89df6cb3-9504-de3b-0a15-2c66e1a3860f", + "time": 5.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -31.77, + "y": 27.76, + "z": -52.86 + } + ], + "uuid": "97020093-fbf4-1e34-a1ab-7be32b06dd52", + "time": 5.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -33.85792, + "y": 26.38636, + "z": -55.20598 + } + ], + "uuid": "1fe50079-ea64-fcb1-862d-d01977465df9", + "time": 6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -33.9, + "y": 27.76, + "z": -52.86 + } + ], + "uuid": "09000278-850a-6013-a4c7-1cf8a3d05791", + "time": 6.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -36.16669, + "y": 26.30277, + "z": -55.14064 + } + ], + "uuid": "00cdd5f9-a701-0cd4-2147-6d8aa64a8410", + "time": 6.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -36.52, + "y": 27.76, + "z": -52.86 + } + ], + "uuid": "00cb1a06-9cd0-4d16-afc7-712a9631e62b", + "time": 6.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -39.10472, + "y": 26.19984, + "z": -55.05215 + } + ], + "uuid": "d117fbfd-9913-3cfe-8cae-11ac813609a4", + "time": 6.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -39.93, + "y": 27.76, + "z": -52.86 + } + ], + "uuid": "6bf95a33-7652-d6ff-8200-d3ef7971b4aa", + "time": 6.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -41.54647, + "y": 27.76362, + "z": -52.85687 + } + ], + "uuid": "a4a18a5f-8bea-18a7-c018-4d774eb571a0", + "time": 6.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -42.49333, + "y": 26.08627, + "z": -54.94294 + } + ], + "uuid": "63258c9b-fdd4-7924-17c3-4cb157834bed", + "time": 6.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -41.55, + "y": 27.76, + "z": -52.86 + } + ], + "uuid": "0b07b8bf-c020-a157-8cd1-3def2259c751", + "time": 6.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -42.49333, + "y": 26.08627, + "z": -54.94294 + } + ], + "uuid": "4dd80e16-5675-4687-b4ed-5e2294f21cbb", + "time": 6.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -41.55, + "y": 27.76, + "z": -52.86 + } + ], + "uuid": "9f1e327c-b968-98ad-ce5f-cb9414fab530", + "time": 6.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -42.49333, + "y": 26.08627, + "z": -54.94294 + } + ], + "uuid": "812b4d66-9ed1-02db-5baa-423fcce6b9b3", + "time": 6.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -41.55, + "y": 27.76, + "z": -52.86 + } + ], + "uuid": "15453968-261c-0a12-7cdd-4a0f30fed609", + "time": 6.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -42.49333, + "y": 26.08627, + "z": -54.94294 + } + ], + "uuid": "375a11e3-2c8d-ff70-ddc4-c2346a3dc2dd", + "time": 6.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -42.49, + "y": 26.09, + "z": -54.94 + } + ], + "uuid": "5163de10-c08d-a1ae-0a3f-9c59f46074e1", + "time": 7.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -53.4333, + "y": 17.2294, + "z": 10.3141 + } + ], + "uuid": "f82af605-35e0-a187-8fae-7e1c08ad95a1", + "time": 7.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -41.55784, + "y": 27.73397, + "z": -53.00778 + } + ], + "uuid": "87d8e76d-7e81-03ef-7c7e-47c3e95b9583", + "time": 6.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -42.48, + "y": 26.07, + "z": -55.19 + } + ], + "uuid": "cf6f668d-febb-2068-73da-8c7a218bb965", + "time": 6.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -41.51604, + "y": 27.76264, + "z": -53.21589 + } + ], + "uuid": "1249db91-b832-f1e5-b07a-bfd01f7721bf", + "time": 6.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -42.44, + "y": 26.11, + "z": -55.42 + } + ], + "uuid": "87896660-887f-5c5a-0a7c-c9b9084de839", + "time": 6.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -41.47383, + "y": 27.80131, + "z": -53.47382 + } + ], + "uuid": "6dd5901e-5f82-9392-98ee-aaca90afddf3", + "time": 6.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -42.39, + "y": 26.15, + "z": -55.71 + } + ], + "uuid": "6f561c55-ea3d-5de8-0dea-7b35b8febed1", + "time": 7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -41.41091, + "y": 27.84931, + "z": -53.7909 + } + ], + "uuid": "a44d63fc-8050-29ba-4963-9ed7c0a38234", + "time": 7.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -42.33, + "y": 26.21, + "z": -56.08 + } + ], + "uuid": "f9a2a687-0faa-05a5-3c61-531d1c283312", + "time": 7.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -41.33743, + "y": 27.90698, + "z": -54.21746 + } + ], + "uuid": "2e3598ef-7a1f-7abe-5c16-2ce6ba0359c6", + "time": 7.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -42.24, + "y": 26.28, + "z": -56.58 + } + ], + "uuid": "adabcdec-5170-1827-9a0c-09e4b7402040", + "time": 7.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -41.22213, + "y": 27.99332, + "z": -54.80213 + } + ], + "uuid": "00a4c323-4d30-3530-c847-f9bf862971f6", + "time": 7.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -42.11, + "y": 26.39, + "z": -57.29 + } + ], + "uuid": "d4206d39-3dcb-90cb-b4dc-72dce469be46", + "time": 7.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -41.06458, + "y": 28.1183, + "z": -55.67471 + } + ], + "uuid": "cdac3889-abc1-f58d-511e-0522e64186bf", + "time": 7.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -41.92, + "y": 26.55, + "z": -58.42 + } + ], + "uuid": "ede7ebb1-ab17-4267-910b-7de1b25d9b02", + "time": 7.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -40.79206, + "y": 28.31959, + "z": -57.17213 + } + ], + "uuid": "13fe0975-694b-a1b7-a5b7-16bb59fce8be", + "time": 7.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -41.57, + "y": 26.84, + "z": -60.48 + } + ], + "uuid": "0810deeb-47c6-9acf-d020-9e83916cc29a", + "time": 7.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -40.33049, + "y": 28.66476, + "z": -59.72067 + } + ], + "uuid": "3704629a-fa98-8915-a7f2-dba569548e8e", + "time": 7.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "35ea939c-b384-4e6f-5d4a-212cab8f9edb", + "time": 4.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-1.5" + } + ], + "uuid": "90f9e5e0-6832-2d5f-0b44-69f189c7c722", + "time": 4.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "48035bc0-f777-be4b-d75d-1cd0c4e03638", + "time": 4.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-1" + } + ], + "uuid": "6b6bceac-9c5a-551e-0442-1edc9d21544b", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "27b56e53-aa93-5bb0-76f2-afe24e326ee4", + "time": 4.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "80084ddc-4095-f391-7e65-9c5969a53843", + "time": 4.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-1" + } + ], + "uuid": "a56a3c82-cad8-52a5-e8f8-b2d17aa35d82", + "time": 4.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "32528890-d1f1-0cd2-8674-d117bd48bcc0", + "time": 4.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "3a806781-4d34-bcd4-97ea-b05989e19878", + "time": 4.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-1" + } + ], + "uuid": "f272014d-be6d-6265-4e64-64b276d0df80", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "c9238269-b80d-9a9b-cce3-78ac9252d0ce", + "time": 5.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-1" + } + ], + "uuid": "03b462a2-90a7-8591-982b-395136b7e0ae", + "time": 5.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -1 + } + ], + "uuid": "1119958e-3a38-b2c4-a915-44f60aec35e2", + "time": 5.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "c6bf1e35-dc17-8337-8f68-fcb2cb6ef922", + "time": 5.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ad1c45ef-c0a8-6d31-d2dc-fbdc6ab7ddcc": { + "name": "LeftArmBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": "0", + "z": "0" + } + ], + "uuid": "3cae9acf-1fc9-c73b-ad54-651860911731", + "time": 4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -55, + "y": 0, + "z": 0 + } + ], + "uuid": "70f73d79-d2ef-d1ff-491b-3407a4b5ec8c", + "time": 4.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -17.5, + "y": 0, + "z": 0 + } + ], + "uuid": "5118479f-a721-cb93-d9d7-87fd493d9ee2", + "time": 4.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "7801db15-4024-d123-8e71-90f781b1f27a", + "time": 4.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -55, + "y": 0, + "z": 0 + } + ], + "uuid": "d8a97e7d-0e62-4b3e-22ec-521973dffafd", + "time": 4.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -17.5, + "y": 0, + "z": 0 + } + ], + "uuid": "d32cc76b-e154-05eb-424e-84a5c5c369f3", + "time": 4.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "86456fbe-7be8-8021-270b-b79b2b5251ba", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -20, + "y": 0, + "z": 0 + } + ], + "uuid": "def4de25-b20f-e964-c583-4cb815abe127", + "time": 4.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -45, + "y": 0, + "z": 0 + } + ], + "uuid": "21261236-8874-5154-a2a1-e1512960e5d4", + "time": 4.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -52.5, + "y": 0, + "z": 0 + } + ], + "uuid": "466582e9-9784-cf66-91a2-c33003d7a4fc", + "time": 4.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "8f42949b-87f7-dcc4-4f17-0ff5783fa519", + "time": 4.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "01e72ad0-e4bb-bd24-9499-75de37fe9cb4", + "time": 4.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30, + "y": 0, + "z": 0 + } + ], + "uuid": "eb3254a8-f5af-43fa-d7b0-5c09d29f1ae5", + "time": 4.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30, + "y": 0, + "z": 0 + } + ], + "uuid": "5a50a260-e668-f531-fc67-84e29d7776e5", + "time": 4.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -55, + "y": 0, + "z": 0 + } + ], + "uuid": "f0e74e25-37ab-5d64-b86a-505f6df67369", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -37.5, + "y": 0, + "z": 0 + } + ], + "uuid": "36759508-890a-9603-cec1-b9f509d60983", + "time": 4.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": 0, + "z": 0 + } + ], + "uuid": "e31a90d2-32a8-fd74-b5cc-71a3cd76c2e4", + "time": 5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "f0b125b7-1a51-ca26-f082-914888195015", + "time": 5.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "ac7a1354-9d6d-884a-af19-ed3a83fe18b1", + "time": 5.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 0, + "z": 0 + } + ], + "uuid": "7cf4b5bf-dc93-e016-ecfc-8469903a4731", + "time": 5.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30, + "y": 0, + "z": 0 + } + ], + "uuid": "ba9eca33-ebbd-40df-caf2-9652faccc3f7", + "time": 5.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": 0, + "z": 0 + } + ], + "uuid": "755a5308-e8b2-7256-2431-40635a4390e3", + "time": 5.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -60, + "y": 0, + "z": 0 + } + ], + "uuid": "4ce83ffe-52c9-c5a3-4de4-c69597d4b14d", + "time": 5.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -60, + "y": 0, + "z": 0 + } + ], + "uuid": "2f4e8301-1726-ab48-ae54-01e33e713cc1", + "time": 5.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -62.5, + "y": 0, + "z": 0 + } + ], + "uuid": "bb068480-1944-7ccc-462f-0db4bf89fd85", + "time": 5.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -55, + "y": 0, + "z": 0 + } + ], + "uuid": "481ac061-9998-609b-e9bf-a47473b72608", + "time": 5.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -20, + "y": 0, + "z": 0 + } + ], + "uuid": "3e067156-e2c0-74b4-d33c-edf1434d405a", + "time": 6.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": 0, + "z": 0 + } + ], + "uuid": "e5020909-2523-9173-91a8-3e2fce40d573", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -52.5, + "y": 0, + "z": 0 + } + ], + "uuid": "5bb15d37-09f3-0b94-9696-3a1f9ac5a8db", + "time": 0.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": 0, + "z": 0 + } + ], + "uuid": "90131590-595f-7a28-a210-927b439596b2", + "time": 0.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -52.5, + "y": 0, + "z": 0 + } + ], + "uuid": "883cd780-28fa-b70c-0b64-e327fb09a1ac", + "time": 0.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": 0, + "z": 0 + } + ], + "uuid": "608610ad-a7cf-08da-33ac-0e3374002cdd", + "time": 0.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -52.5, + "y": 0, + "z": 0 + } + ], + "uuid": "dd7ceb03-715e-cf4b-3f0c-fdb4ce5ed7a3", + "time": 0.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": 0, + "z": 0 + } + ], + "uuid": "11763e8e-78e1-5378-6d78-39fbd4c22621", + "time": 0.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -52.5, + "y": 0, + "z": 0 + } + ], + "uuid": "fbec7401-fa35-1ad4-bb16-743294a28f22", + "time": 0.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": 0, + "z": 0 + } + ], + "uuid": "5276e637-0424-4381-efaf-636963fb7a3b", + "time": 0.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -52.5, + "y": 0, + "z": 0 + } + ], + "uuid": "84d1cd79-d71f-45a4-a4c3-1753211246d8", + "time": 0.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": 0, + "z": 0 + } + ], + "uuid": "a769ace6-7b27-1241-0bbc-bb18357f1eb8", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -52.5, + "y": 0, + "z": 0 + } + ], + "uuid": "e6dc3848-395d-a442-ccea-0f50e11d74f7", + "time": 1.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": 0, + "z": 0 + } + ], + "uuid": "daf63ab2-c67d-39f7-d64b-dd072b90031f", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -52.5, + "y": 0, + "z": 0 + } + ], + "uuid": "60b69429-4dba-4fd4-2f44-d68e3f92794d", + "time": 1.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": 0, + "z": 0 + } + ], + "uuid": "18487b25-a9e8-e7cf-8b7d-603075c80dc4", + "time": 1.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -52.5, + "y": 0, + "z": 0 + } + ], + "uuid": "ad0f4202-a91a-7e0d-6fd7-b84c07496498", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": 0, + "z": 0 + } + ], + "uuid": "c643ec8c-9ca2-17d1-6821-31cd020b2cc4", + "time": 1.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -52.5, + "y": 0, + "z": 0 + } + ], + "uuid": "a8c7c3e1-aa8a-576b-b9d0-659a51e19454", + "time": 1.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": 0, + "z": 0 + } + ], + "uuid": "01c881a9-7931-8cfe-58e6-f05cf006f0e1", + "time": 1.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -52.5, + "y": 0, + "z": 0 + } + ], + "uuid": "2bc8c46d-03dc-c590-0bab-df5fb2c2c941", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": 0, + "z": 0 + } + ], + "uuid": "5bd4960c-f392-43f7-5717-eee1d9dcf2bb", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -52.5, + "y": 0, + "z": 0 + } + ], + "uuid": "65890bc4-c269-1183-54b3-883cec670373", + "time": 2.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": 0, + "z": 0 + } + ], + "uuid": "a445961c-9e90-e0e6-fc07-d84300ad9d8f", + "time": 2.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -52.5, + "y": 0, + "z": 0 + } + ], + "uuid": "b2f759d3-81cb-65b6-fc76-0620c0dd1828", + "time": 2.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": 0, + "z": 0 + } + ], + "uuid": "16a72f95-a187-40d9-a95c-e645defebc71", + "time": 2.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -52.5, + "y": 0, + "z": 0 + } + ], + "uuid": "adfa21b6-fc83-5346-f79b-11207bfbdcb7", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": 0, + "z": 0 + } + ], + "uuid": "cd6f24a6-e856-cf41-bb19-11840df09bc4", + "time": 2.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -52.5, + "y": 0, + "z": 0 + } + ], + "uuid": "b596ac8d-29e3-0471-5b79-55f43af8a6de", + "time": 2.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": 0, + "z": 0 + } + ], + "uuid": "a051e3ac-84b5-3346-0f01-37f57a1743bf", + "time": 2.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -52.5, + "y": 0, + "z": 0 + } + ], + "uuid": "34408967-0f91-6457-53b9-5d78ff309aab", + "time": 2.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": 0, + "z": 0 + } + ], + "uuid": "01859f3c-04e5-1b3e-2af8-368d1e61f328", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -52.5, + "y": 0, + "z": 0 + } + ], + "uuid": "f31023ef-61f0-29a0-6df3-aa7a285a5f6f", + "time": 3.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": 0, + "z": 0 + } + ], + "uuid": "1ae21e13-ae35-2bd5-e236-0b1326a9047c", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -52.5, + "y": 0, + "z": 0 + } + ], + "uuid": "dea6ade8-a6d3-b21c-9bcc-3e818060cb4c", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": 0, + "z": 0 + } + ], + "uuid": "b93962b7-65eb-6be7-e9b0-af340d7f7400", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -52.5, + "y": 0, + "z": 0 + } + ], + "uuid": "250e2224-4b18-355a-ca6d-97a9b1ea49ca", + "time": 3.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": 0, + "z": 0 + } + ], + "uuid": "99b320e8-6870-67c6-20ac-cf8318535532", + "time": 3.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -52.5, + "y": 0, + "z": 0 + } + ], + "uuid": "ae9c2e49-50ad-8af3-52ea-5943e88fdd56", + "time": 3.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -20, + "y": 0, + "z": 0 + } + ], + "uuid": "52553c29-05f5-ce54-6ec3-16967064a572", + "time": 7.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 0, + "z": 0 + } + ], + "uuid": "3069dc16-4f74-21cb-3972-711d284e1764", + "time": 7.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "2f61e368-1c06-648e-26d4-aee94647e4da": { + "name": "LowerBody", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "15", + "y": "0", + "z": "0" + } + ], + "uuid": "552bc984-b876-1dd2-61a6-89c283b3d6fe", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 15, + "y": 0, + "z": 0 + } + ], + "uuid": "69d54e51-0acd-00c6-aea7-1aae9cad4bcc", + "time": 4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 17.5, + "y": 0, + "z": 0 + } + ], + "uuid": "f7b895b4-ca6f-80d5-f361-c584b78888e8", + "time": 4.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 17.5, + "y": 0, + "z": 0 + } + ], + "uuid": "784eb4ec-2538-969b-43d0-c76df73209cb", + "time": 4.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 15, + "y": 0, + "z": 0 + } + ], + "uuid": "3f8564e5-6700-5fcd-1e09-45d09bcc7435", + "time": 4.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 15, + "y": 0, + "z": 0 + } + ], + "uuid": "ec51d67a-2841-c08b-a399-66ef19cd9303", + "time": 5.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "eb49d299-367b-a1d0-7232-4d6a544bddd2", + "time": 5.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 5, + "y": 0, + "z": 0 + } + ], + "uuid": "977b24d6-2625-081a-d18f-b9afeb59a6e8", + "time": 7.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 13.75259, + "y": 2.42842, + "z": 0.59415 + } + ], + "uuid": "5bf1a7f6-7f7e-97f1-4bca-3c2742f090d2", + "time": 5.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 12.31, + "y": 0, + "z": 0 + } + ], + "uuid": "70ead4ab-cf5a-677f-ab5d-7d0d5a82cd07", + "time": 5.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10.76, + "y": 2.4561, + "z": 0.4666 + } + ], + "uuid": "6556f3bc-0465-0eac-d7e7-059266a832ab", + "time": 5.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 9.02, + "y": 0, + "z": 0 + } + ], + "uuid": "54dd35b1-f9fe-8035-cb85-76d2fc1c1895", + "time": 5.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 7.07667, + "y": 2.48098, + "z": 0.3079 + } + ], + "uuid": "e437a50e-8088-c486-93c0-130a8dc145e3", + "time": 5.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 4.83, + "y": 0, + "z": 0 + } + ], + "uuid": "cb3ccb8f-6f7a-4df6-036c-ed9551a5bf24", + "time": 5.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 2.28217, + "y": 2.49802, + "z": 0.09952 + } + ], + "uuid": "a21bd639-e6c0-a621-f4eb-e63fe6b17507", + "time": 5.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 2.5, + "z": 0 + } + ], + "uuid": "4308e2bd-45b5-3fba-5096-0da0d5e79aa5", + "time": 5.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "39773805-5f58-a008-ceb6-25daa17ce307", + "time": 5.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 2.5, + "z": 0 + } + ], + "uuid": "398a47d3-66e5-09fa-5494-eb1805c7e176", + "time": 5.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "39b74626-c44a-4214-e1e9-900b005e9b15", + "time": 5.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 2.5, + "z": 0 + } + ], + "uuid": "a3cbb5f7-d6be-8e6b-a022-10c5ba338d06", + "time": 6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "eaea31f7-b092-b83f-c8f4-9e082f930b53", + "time": 6.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 2.5, + "z": 0 + } + ], + "uuid": "053488e8-d369-2602-400e-9bd37addf440", + "time": 6.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "0a7a65bb-8589-0075-a590-fb626cf64b06", + "time": 6.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 2.5, + "z": 0 + } + ], + "uuid": "49edf531-c969-162e-2797-fbb77a7eea84", + "time": 6.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "e998b25c-653a-96b6-fc26-ff388024ccb7", + "time": 6.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 2.5, + "z": 0 + } + ], + "uuid": "32d5a95a-bf4e-e88c-460a-98edd72c25a5", + "time": 6.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "0cbda17b-34c9-049b-17d4-2384399c188a", + "time": 6.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 2.5, + "z": 0 + } + ], + "uuid": "8ec58c08-d7f2-bc52-d549-6534632e16c1", + "time": 6.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "70fb0989-9771-9a20-e30c-160f5c0147fd", + "time": 6.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 2.5, + "z": 0 + } + ], + "uuid": "0541405c-21e6-c392-8bf4-d21e25f8aaad", + "time": 6.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "b7e3ab29-8b07-6829-facb-eacb8d3e87a0", + "time": 6.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 2.5, + "z": 0 + } + ], + "uuid": "be1d4ace-955e-4522-4ce5-99d1cb2e893f", + "time": 6.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "3787640a-59f6-2695-d951-f0676af91473", + "time": 6.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 2.5, + "z": 0 + } + ], + "uuid": "5eefbd60-d83c-b873-07f5-23a3a23fbc76", + "time": 6.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "0481659c-fe5e-cad9-5b58-42f859241371", + "time": 6.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 2.5, + "z": 0 + } + ], + "uuid": "4db54b44-cca3-e343-76c7-fe45a808493d", + "time": 6.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "f2ad850c-6561-e503-a6f7-b5babbae2699", + "time": 6.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 2.5, + "z": 0 + } + ], + "uuid": "7e000c4a-94c5-f018-50be-6c14aa6960c6", + "time": 6.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "68673bdb-87e1-ac01-d5fa-da3d443d022d", + "time": 6.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 2.5, + "z": 0 + } + ], + "uuid": "c49f7828-a092-d3b4-fbdf-1852e2b6d36e", + "time": 7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "9c43a073-3a5e-f073-52c2-200c2eb05b90", + "time": 7.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 2.5, + "z": 0 + } + ], + "uuid": "cf3679ad-cff2-e5dd-3b8c-c33b3bdda042", + "time": 7.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "5d1b3c91-e6d7-d322-1bd8-f8c0ea087525", + "time": 7.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 2.5, + "z": 0 + } + ], + "uuid": "e57d8130-a72e-4c67-4032-2f4963ed3406", + "time": 7.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "03e42794-61f0-1562-bbaf-ef083d60caa3", + "time": 7.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 2.5, + "z": 0 + } + ], + "uuid": "d80d4f99-89b7-e9ea-45ac-457402b5a5ab", + "time": 7.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "06628363-d633-5780-0bde-3e44d7b439b8", + "time": 7.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 2.5, + "z": 0 + } + ], + "uuid": "6e067c87-cc5c-3826-4809-c60b3ef4c49c", + "time": 7.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "9a7e9681-4ace-1423-eea1-16cd74cb4cae", + "time": 7.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 2.5, + "z": 0 + } + ], + "uuid": "11cd8f88-f0b3-bee2-af32-b87850c99def", + "time": 7.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "24278605-21e9-15d0-f906-eaa594bef5c9", + "time": 7.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 2.5, + "z": 0 + } + ], + "uuid": "5c9d2253-5789-8371-965f-97a53cc22c2b", + "time": 7.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "4e80b5b4-7c04-8374-f8a7-526b3d36d050": { + "name": "RightLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -30, + "y": 0, + "z": 5 + } + ], + "uuid": "b0d5962f-9aae-ce8d-8caa-98d455c56da0", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30, + "y": 0, + "z": 5 + } + ], + "uuid": "3cabb8a2-ed08-490c-2288-20439493efe4", + "time": 5.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 0, + "z": 5 + } + ], + "uuid": "4afa12c0-a148-eb62-1a40-76f9883ad424", + "time": 5.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 0, + "z": 5 + } + ], + "uuid": "ef9f58ac-7b25-42fe-b56e-31206fb084eb", + "time": 7.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": 0, + "z": "0" + } + ], + "uuid": "c885d453-9250-0cdc-7f01-30f9c5bf338f", + "time": 7.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30.7, + "y": 0, + "z": 5 + } + ], + "uuid": "ca92cd63-8456-58b0-c782-a10581701318", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -45.81, + "y": 0, + "z": 5 + } + ], + "uuid": "74b48cc7-6d0c-1fc0-b2a0-b9af0cc31a8a", + "time": 4.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -31.66, + "y": 0, + "z": 5 + } + ], + "uuid": "3ab722c6-56b2-3725-d95a-672cba3fffaa", + "time": 5.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -45.81, + "y": 0, + "z": 5 + } + ], + "uuid": "830788c4-2d0a-819b-0b87-453d029d3ad9", + "time": 5.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "73b3d6bc-af0b-a066-5d73-f3938109e11f": { + "name": "LeftLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "-30", + "y": 0, + "z": "-5" + } + ], + "uuid": "a4ac0a13-84a6-8c7c-d7a2-4a0e57ecdf12", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 0, + "z": -5 + } + ], + "uuid": "85e1d81d-1415-98b3-7cd0-873d44c8200d", + "time": 5.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30, + "y": 0, + "z": -5 + } + ], + "uuid": "b6ec2593-d17a-0ef9-e221-898e2ae17849", + "time": 4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 2.5, + "y": 0, + "z": -5 + } + ], + "uuid": "0c78d25e-e527-b660-30f4-0bc9a4a7075d", + "time": 4.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 2.5, + "y": 0, + "z": -5 + } + ], + "uuid": "e08d90b6-1652-bf78-ee2d-f5d174184651", + "time": 5.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 0, + "z": -5 + } + ], + "uuid": "084d94ab-fa6b-4509-85e1-52e5d231639d", + "time": 7.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -32.5, + "y": 0, + "z": "0" + } + ], + "uuid": "3537891f-bd23-6471-de0d-64e5b4a99051", + "time": 7.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 5.66, + "y": 0, + "z": -5 + } + ], + "uuid": "b87a8752-c089-3b19-ef45-5434ee01682f", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 13.17, + "y": 0, + "z": -5 + } + ], + "uuid": "771a97ec-a66e-c0d0-7303-89667a9e2fff", + "time": 4.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 4.71, + "y": 0, + "z": -5 + } + ], + "uuid": "23a2f414-e279-6c1d-370d-4a84955c5245", + "time": 5.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 13.17, + "y": 0, + "z": -5 + } + ], + "uuid": "03e40892-f5d5-4826-f008-a26a9f25d093", + "time": 5.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "4ad021e9-2857-4e55-337b-f61da0762800": { + "name": "CameraAnchor", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "160", + "z": "0" + } + ], + "uuid": "ae378f37-fe51-09ce-734e-e77d680a7190", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 160, + "z": 0 + } + ], + "uuid": "ebe1c35a-0897-0632-e0fc-f8d09a631843", + "time": 5.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 160, + "z": 0 + } + ], + "uuid": "520c5f78-2224-e63a-3649-58984ae165fa", + "time": 6.3, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-15", + "y": 160, + "z": 0 + } + ], + "uuid": "1a8ceb4b-35c5-0f05-76bd-e6d0f8785927", + "time": 6.7, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.24905, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.24905, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "160", + "z": "0" + } + ], + "uuid": "d4964f7c-9551-dd1b-581b-ee9b7d3e65e3", + "time": 5.15, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 160, + "z": 0 + } + ], + "uuid": "4236a76b-c8cc-4c5d-5557-20894e594878", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-10", + "y": "160", + "z": 0 + } + ], + "uuid": "f3d20db7-7b71-0fb2-7d1a-e08830b72a29", + "time": 8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 12, + "y": 34, + "z": -33 + } + ], + "uuid": "316f73cc-7b67-3ec7-90e6-cb580cf9ca7e", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 12, + "y": 34, + "z": -33 + } + ], + "uuid": "b6df325d-df3a-16ba-1af3-290538d54e84", + "time": 5.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 7, + "y": 32, + "z": -23 + } + ], + "uuid": "dfd5ab0f-3c9d-7a3a-d25d-00a1c6c24ce4", + "time": 6.3, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 3, + "y": 32, + "z": -15 + } + ], + "uuid": "ea1f40c7-dc25-65df-e5eb-03e55a7a4c42", + "time": 6.7, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.3981, + -0.1, + -0.40458 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.3981, + 0.1, + 0.40458 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 12, + "y": 34, + "z": -33 + } + ], + "uuid": "37cdf67d-c876-d137-03b4-6451360118b2", + "time": 5.15, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 3, + "y": 32, + "z": -15 + } + ], + "uuid": "24f21a81-22c3-7f60-92c2-7ed04d155285", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -12, + "y": 36, + "z": -61 + } + ], + "uuid": "ab1e6d46-c62c-dbd6-a12a-7dab7256110b", + "time": 8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ee9973d4-ff4e-c96b-64f6-d1f28afd69c6": { + "name": "LeftLegBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "d1ec1b32-457f-d4aa-a85c-2f59502784ec", + "time": 4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 27.5, + "y": 0, + "z": 0 + } + ], + "uuid": "65b9077e-341f-0602-3578-fb89d0548b2c", + "time": 4.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 27.5, + "y": 0, + "z": 0 + } + ], + "uuid": "e2318770-71b8-203d-47f2-93b9b4cda8b3", + "time": 5.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "cabddf42-2ab9-1c6b-b161-4a717d67f157", + "time": 5.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 12.5, + "y": 0, + "z": 0 + } + ], + "uuid": "b9f277d1-9b10-1d1e-6874-c617527dc5fa", + "time": 7.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "023ae307-316c-92d2-1bf2-b9238863e8b5", + "time": 7.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "16d22746-633e-382e-dd96-b35bde99daa5": { + "name": "UpperBody", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "2751d549-6089-dc8a-2017-9d8b950079fe", + "time": 5.35, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -2.5, + "z": 0 + } + ], + "uuid": "5ea20183-944e-cb2a-2d70-7748750db518", + "time": 5.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "468cb1aa-f796-6ff9-e075-138b5e5af004", + "time": 5.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -2.5, + "z": 0 + } + ], + "uuid": "d4022906-0d33-d2f9-fd9f-e73750192d26", + "time": 5.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "4610828d-5a8a-c0d1-4f39-e89ef45fb038", + "time": 5.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -2.5, + "z": 0 + } + ], + "uuid": "3cd31f27-7c19-1ff5-e113-0491ba8691ef", + "time": 5.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "edbf4c56-8448-fc59-8666-914aae141e7b", + "time": 5.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -2.5, + "z": 0 + } + ], + "uuid": "d5a04f6f-bda4-a68c-d172-3d76ad6aebd5", + "time": 5.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "a61e44c8-217c-e91a-bf18-e3c6ca08438c", + "time": 5.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -2.5, + "z": 0 + } + ], + "uuid": "0e5a1a15-6781-f8c6-fa5a-b282266e96dc", + "time": 5.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "cd4576c7-b0dd-8b75-b21d-c6c5215c8fae", + "time": 5.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -2.5, + "z": 0 + } + ], + "uuid": "cdc24711-6f29-ce07-cd9e-74e6539fb9ae", + "time": 5.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "5fb0729b-d31b-bf1f-d9ff-256c8ffc63e0", + "time": 5.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -2.5, + "z": 0 + } + ], + "uuid": "1fb21f3c-8f9e-f807-edcf-6a3a3090037f", + "time": 6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "9da131e9-1f7d-634d-f454-26030b56f6c5", + "time": 6.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -2.5, + "z": 0 + } + ], + "uuid": "42d6499d-0968-8a57-cf3c-4e2c10c69353", + "time": 6.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "127f8486-0cee-9477-ee69-ceafd2d2920c", + "time": 6.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -2.5, + "z": 0 + } + ], + "uuid": "f4bc3567-0d30-b5c6-37b6-aad00080a677", + "time": 6.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "3bb96d4b-f8b5-2bc6-694e-69190977b8b5", + "time": 6.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -2.5, + "z": 0 + } + ], + "uuid": "84ca9be6-fca4-d8a3-ac36-118300f3ebae", + "time": 6.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "1b72351a-45e1-5af2-a192-d9ed9407204c", + "time": 6.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -2.5, + "z": 0 + } + ], + "uuid": "795ed0c7-8330-edc6-3ae3-934f03d2ce38", + "time": 6.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "0aa80f53-2d75-9043-36ae-163877c29a83", + "time": 6.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -2.5, + "z": 0 + } + ], + "uuid": "2ea2640c-104f-05f1-d936-ee4786e28059", + "time": 6.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "c697907f-04d2-521a-e6b3-a7cf597769ba", + "time": 6.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -2.5, + "z": 0 + } + ], + "uuid": "54e8de99-0fee-f3ff-e810-c470bda04e0d", + "time": 6.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "5d34a8f1-9ec5-6885-bbfc-5d8680e20895", + "time": 6.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -2.5, + "z": 0 + } + ], + "uuid": "c8e6085c-b37b-5b2b-3db9-28dff56c6294", + "time": 6.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "f25a91bd-92ba-1f44-2a27-219008bc8135", + "time": 6.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -2.5, + "z": 0 + } + ], + "uuid": "dea239e7-03db-e7c7-620a-ae68be410533", + "time": 6.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "77757eae-47db-6b20-8b75-f6f09a1ebbdb", + "time": 6.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -2.5, + "z": 0 + } + ], + "uuid": "0e8e0d4c-520e-6d39-ec03-e55be1a429b1", + "time": 7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "0b74ad63-b25b-c2a3-303e-5c6cb32b5d79", + "time": 7.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -2.5, + "z": 0 + } + ], + "uuid": "cfd3c45c-f868-92f3-3dd2-ee4593738fee", + "time": 7.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "e615bd0b-6d99-d010-827a-d756a73ca1f1", + "time": 7.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -2.5, + "z": 0 + } + ], + "uuid": "074523d7-9622-be32-0a7d-8b4a5767ea33", + "time": 7.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "1c31e685-16dd-8a4f-45e1-0d6e23d2a91d", + "time": 7.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -2.5, + "z": 0 + } + ], + "uuid": "34e0e211-fd84-06fc-6259-822948fb5da9", + "time": 7.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "827aca37-b80c-0387-1ce7-fde40a1524a6", + "time": 7.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -2.5, + "z": 0 + } + ], + "uuid": "cfad3c00-1cf1-518c-a58d-00069c0e786a", + "time": 7.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "5586fb9f-4e6b-32a5-b9f4-433483e6745a", + "time": 7.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -2.5, + "z": 0 + } + ], + "uuid": "6bcede77-0d17-bcb7-83bc-32342ce509f5", + "time": 7.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "64577dcc-b036-6fc1-7830-17b8b5c2a347", + "time": 7.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "83596518-636d-74a2-702c-48774fcf4df7", + "time": 6.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -2.5, + "z": 0 + } + ], + "uuid": "9c87b755-b1e5-bce4-75a4-8d5493bbc327", + "time": 6.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "84fe0b3a-286b-e17f-288e-c39feaa2e5e6": { + "name": "RightLegBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "0e1e09be-3343-f234-8fe4-28afe04ee91c", + "time": 5.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "39e94bfb-fa10-37f8-fd24-d2edd891f3b8", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 17.5, + "y": 0, + "z": 0 + } + ], + "uuid": "6ebeb1f9-531f-7424-6f02-238cde4e2a39", + "time": 4.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "606f71a9-8330-0dc1-6220-ddaf1096f249", + "time": 5.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 17.5, + "y": 0, + "z": 0 + } + ], + "uuid": "3ef74f7e-4445-6152-d8cd-6a254ff32bf7", + "time": 5.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + }, + { + "uuid": "47e7e134-d659-ee25-f307-0a82a9c9f069", + "name": "ex_skill_3", + "loop": "once", + "override": true, + "length": 6.35, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "e98e96cf-993b-878e-02b8-777c368bb888": { + "name": "Avatar", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 45, + "y": 0, + "z": "-15" + } + ], + "uuid": "0296e334-b2c7-69f8-d97c-165ffaaafcfb", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 45, + "y": 0, + "z": "0" + } + ], + "uuid": "ad16dff9-4a53-72a3-1d6b-56570d971383", + "time": 2.35, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 45, + "y": 0, + "z": "-15" + } + ], + "uuid": "e27890ba-b196-e1a3-f0fb-d76f16833961", + "time": 1.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 45, + "y": 0, + "z": 0 + } + ], + "uuid": "d952a204-ebb0-c7d6-78a5-c3dba92cac2a", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 45, + "y": "-45", + "z": 0 + } + ], + "uuid": "c275591a-9ac9-1020-7284-336a66a1b610", + "time": 2.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0.99297, + "y": -68.90942, + "z": 45.99297 + } + ], + "uuid": "a376bd1a-a878-99ca-757f-19bf5dbce672", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-150", + "y": -62.50375, + "z": 179.99189 + } + ], + "uuid": "b09174dd-bf5e-65b6-a184-659d5a8ade46", + "time": 4.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -105.9753, + "y": -61.09629, + "z": 147.62622 + } + ], + "uuid": "3219ec5f-f424-e0c8-22c5-7d66bf9da98d", + "time": 3.9, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": 7.5, + "z": 12 + } + ], + "uuid": "8daee433-274b-f7b2-8513-167004f3d50b", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-138.66", + "y": 7.5, + "z": "-498" + } + ], + "uuid": "50a34fdc-80c6-a57e-37fd-f55a52f99662", + "time": 1.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -138.66, + "y": 7.5, + "z": "-881" + } + ], + "uuid": "d0a97ff5-b5b7-424c-b012-0eae773eb77f", + "time": 2.9, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.053 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.053 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -138.66, + "y": 7.5, + "z": "-770" + } + ], + "uuid": "290ab61d-9b24-cd51-4aa3-735d59604bdd", + "time": 2.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 32.8568 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + -32.8568 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -136.66, + "y": 5.5, + "z": -952 + } + ], + "uuid": "020af724-f3e7-961a-9f07-07cb1feeecc8", + "time": 4.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -138.66, + "y": 7.5, + "z": -951 + } + ], + "uuid": "8af7b314-8b0b-bdaa-c9b9-bac125b003cb", + "time": 3.9, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.7 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.7 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "22d40862-bd19-a16d-9e33-79364e6656d8": { + "name": "Head", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -24.75386, + "y": 5.29571, + "z": 5.31847 + } + ], + "uuid": "f555ebcc-4fd5-feff-63e8-7e15f6103c96", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -24.75386, + "y": 5.29571, + "z": 5.31847 + } + ], + "uuid": "915b2186-d1d5-31e3-1d97-09b18659944d", + "time": 1.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -43.16352, + "y": 3.29651, + "z": 17.67067 + } + ], + "uuid": "7d80d77c-b8cc-83d5-26f3-9497986ea1bf", + "time": 1.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -42.80755, + "y": -6.95824, + "z": 6.70581 + } + ], + "uuid": "5c703955-9c74-d7a0-c261-61424ba7ebf9", + "time": 2.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -42.81, + "y": -6.96, + "z": 6.71 + } + ], + "uuid": "1215d1a2-aa7e-6c01-2b14-5b89be802783", + "time": 2.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 15, + "y": "0", + "z": "0" + } + ], + "uuid": "1e504a2b-0d0f-74d5-2c9a-a7c431974dff", + "time": 4.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 15.792, + "y": 21.90608, + "z": 1.67362 + } + ], + "uuid": "fddf79e4-821b-65b6-96dd-c3f33acbc34b", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10.15, + "y": 9.85, + "z": -1.75 + } + ], + "uuid": "bb10b710-3581-895e-d22b-97136660f6d3", + "time": 5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -18.34288, + "y": -30.32448, + "z": 12.2921 + } + ], + "uuid": "11900ef8-c176-1e03-fee4-01f00c63047b", + "time": 5.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -32.37305, + "y": -4.7392, + "z": 16.4373 + } + ], + "uuid": "c448924e-5201-e939-954b-1706caa24884", + "time": 3.9, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -32.37305, + "y": -4.7392, + "z": 16.4373 + } + ], + "uuid": "ebfd5597-fe18-bfc2-7b13-8125e0e6c383", + "time": 2.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "d9d3d58a-ac0b-fce1-f92f-b3f9f8f19f62": { + "name": "RightEarPivot", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 29.62165, + "y": 4.98093, + "z": -8.6822 + } + ], + "uuid": "bfda0b8d-fe0c-b17b-a955-a52a3c1d99cc", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 28.47973, + "y": 9.84539, + "z": -17.49315 + } + ], + "uuid": "56b442b4-0ed9-6e07-8f29-b529aac06260", + "time": 0.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 29.62165, + "y": 4.98093, + "z": -8.6822 + } + ], + "uuid": "36d48b7f-77cb-38de-3385-6bb8eec67da1", + "time": 0.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 28.47973, + "y": 9.84539, + "z": -17.49315 + } + ], + "uuid": "4dc7c600-8395-c35e-d1f1-ff19c7d7e1ae", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 29.62165, + "y": 4.98093, + "z": -8.6822 + } + ], + "uuid": "0668adc8-f318-bef0-f16c-12f1a1752769", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 28.47973, + "y": 9.84539, + "z": -17.49315 + } + ], + "uuid": "6082de40-89f8-3878-6a15-4e8485670c25", + "time": 1.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 29.62165, + "y": 4.98093, + "z": -8.6822 + } + ], + "uuid": "3162a8c9-e923-52b1-283a-9d7d6eb8e449", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 28.47973, + "y": 9.84539, + "z": -17.49315 + } + ], + "uuid": "78f3a991-3c99-9623-cb24-698fd79809d8", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 29.62165, + "y": 4.98093, + "z": -8.6822 + } + ], + "uuid": "1f2ccc1f-007d-44ec-04cb-5a10263c1a10", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 28.47973, + "y": 9.84539, + "z": -17.49315 + } + ], + "uuid": "51b18d11-a79c-4e86-2ffe-d4c759d2872b", + "time": 2.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 29.62165, + "y": 4.98093, + "z": -8.6822 + } + ], + "uuid": "3f9bdec8-f018-2bd4-0bfe-1e99ffa29733", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "00054661-3031-67e5-c511-482fc924ee2b", + "time": 2.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "0ca24c5b-efac-bdc2-1434-151c85925fb3": { + "name": "LeftEarPivot", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 29.62165, + "y": -4.98093, + "z": 8.6822 + } + ], + "uuid": "f7c60632-dbe1-46d5-5d4f-5a75a7c733b3", + "time": 0.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 28.47973, + "y": -9.84539, + "z": 17.49315 + } + ], + "uuid": "3c3f23b1-6e9b-49ad-3915-116d61682edb", + "time": 0.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 29.62165, + "y": -4.98093, + "z": 8.6822 + } + ], + "uuid": "27c57e23-281b-91c5-687b-e4758af4976d", + "time": 0.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 28.47973, + "y": -9.84539, + "z": 17.49315 + } + ], + "uuid": "60be6276-242b-3e47-7faa-8a02633db679", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 29.62165, + "y": -4.98093, + "z": 8.6822 + } + ], + "uuid": "e6db49e4-559c-e912-08a3-c655f1e9c580", + "time": 1.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 28.47973, + "y": -9.84539, + "z": 17.49315 + } + ], + "uuid": "0e83b97e-c5db-2c12-7a43-11a148cb0078", + "time": 1.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 29.62165, + "y": -4.98093, + "z": 8.6822 + } + ], + "uuid": "40cca499-9f9c-53f6-ab7f-569c24534b44", + "time": 1.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 28.47973, + "y": -9.84539, + "z": 17.49315 + } + ], + "uuid": "a2ad8a2a-21b2-4a3c-a559-c5ab2adca0b5", + "time": 1.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 29.62165, + "y": -4.98093, + "z": 8.6822 + } + ], + "uuid": "1229bb62-8376-f55b-3644-a32aa372d7ff", + "time": 2.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 28.47973, + "y": -9.84539, + "z": 17.49315 + } + ], + "uuid": "e1d5090f-cbec-290f-8421-bb25894ba5f2", + "time": 2.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 29.62165, + "y": -4.98093, + "z": 8.6822 + } + ], + "uuid": "2589a42b-f6a0-45e9-745c-f112b67464ea", + "time": 2.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "59f2d753-c56c-236b-2a8b-d329d6248fec", + "time": 2.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "982f9d44-5c5e-570d-2128-90f9f75297f4": { + "name": "BackHair", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 50, + "y": "0", + "z": "0" + } + ], + "uuid": "ff7771f3-6f7d-1778-438c-30820cf67961", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 5, + "y": 0, + "z": 0 + } + ], + "uuid": "fb58d504-0c02-f80f-13f5-7216edde2f36", + "time": 0.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 50, + "y": "0", + "z": "0" + } + ], + "uuid": "8d394535-5740-fb1b-cbfe-695056c76219", + "time": 0.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 5, + "y": 0, + "z": 0 + } + ], + "uuid": "3f285427-2dfc-7e0c-086c-bd108dbdcdf8", + "time": 0.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 50, + "y": "0", + "z": "0" + } + ], + "uuid": "0d4d6ab7-fda6-4aa8-e706-1a9770b70245", + "time": 0.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 5, + "y": 0, + "z": 0 + } + ], + "uuid": "d4b3aca4-cf62-292d-eec5-4cb7fec09898", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 50, + "y": "0", + "z": "0" + } + ], + "uuid": "e285e173-b2a8-f420-4fda-af686ac62857", + "time": 0.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 5, + "y": 0, + "z": 0 + } + ], + "uuid": "badd3288-3e50-15e0-c595-1967631355b6", + "time": 1.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 50, + "y": "0", + "z": "0" + } + ], + "uuid": "09aa8047-9737-9b9f-c951-a87a269842cd", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 5, + "y": 0, + "z": 0 + } + ], + "uuid": "a9e9bdd5-35cf-b4c3-a941-9369863dfea5", + "time": 1.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 50, + "y": "0", + "z": "0" + } + ], + "uuid": "7ceed9bd-ea8b-de96-7ef1-b9be1d66bbde", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 5, + "y": 0, + "z": 0 + } + ], + "uuid": "4e12004a-5511-46ac-8fc7-c2c7b63b1dab", + "time": 1.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 50, + "y": "0", + "z": "0" + } + ], + "uuid": "e915fc55-0d70-0d68-55b7-191ba2c24ffc", + "time": 1.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 5, + "y": 0, + "z": 0 + } + ], + "uuid": "026df1be-07d0-0a61-54e5-96bdcd0899d3", + "time": 1.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 50, + "y": "0", + "z": "0" + } + ], + "uuid": "7968f8f4-8acf-0291-3d4f-ff66fc1d23a4", + "time": 2.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 5, + "y": 0, + "z": 0 + } + ], + "uuid": "d59ef8e1-03ca-b45a-b133-bd1e92dc269f", + "time": 2.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 50, + "y": "0", + "z": "0" + } + ], + "uuid": "f9d00774-af50-40e4-833c-477a6da91a6b", + "time": 2.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "0f1d7aa6-2339-8d7d-a4e3-19a564d6c183", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "-1", + "z": "0" + } + ], + "uuid": "44b8a52d-d56a-4097-3195-9952631c11c4", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3c1cb66d-8a31-d31f-ec9f-65a33e313a53": { + "name": "RightArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -84.95708, + "y": -7.4713, + "z": -0.6574 + } + ], + "uuid": "0fb16011-0f71-4794-72a9-24242eb22814", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -84.96, + "y": -7.47, + "z": -0.66 + } + ], + "uuid": "0b96e4c2-d054-582b-68cc-a50de5a39cdf", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -57.49814, + "y": 2.49182, + "z": 0.21492 + } + ], + "uuid": "f90c16a3-8a9d-6741-f413-5593d687096c", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -57.5, + "y": 2.49, + "z": 0.21 + } + ], + "uuid": "c67e556c-579e-2a9e-3f70-3199f5425915", + "time": 3.9, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -25, + "y": "0", + "z": "0" + } + ], + "uuid": "aadccc40-3cc2-33e1-5493-1b80cae813f2", + "time": 4.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -25, + "y": 0, + "z": 0 + } + ], + "uuid": "5ddda7fc-77dc-6e99-5a38-6c10733eae6a", + "time": 4.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -45, + "y": 0, + "z": 0 + } + ], + "uuid": "eda7b8a6-142f-72fa-b630-19e817bf81a7", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "b924539e-1292-1a17-6240-a525ae346090": { + "name": "RightArmBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "1bbc81f5-fc42-d593-753e-0360587b6d4d", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -27.5, + "y": 0, + "z": 0 + } + ], + "uuid": "645917c7-d817-80bf-e800-a1b41a5c06d1", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -27.5, + "y": 0, + "z": 0 + } + ], + "uuid": "b67e885a-874c-1757-4bbb-4e1622a126a8", + "time": 3.9, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -25, + "y": "0", + "z": "0" + } + ], + "uuid": "be0b4477-8a4c-bee9-d0fc-3e393bdc42c5", + "time": 4.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -25, + "y": 0, + "z": 0 + } + ], + "uuid": "0f858e64-a108-aa6b-bc40-8ab96ece3672", + "time": 4.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -60, + "y": 0, + "z": 0 + } + ], + "uuid": "69865958-d873-891f-2f18-764fe7f0f663", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30, + "y": 0, + "z": 0 + } + ], + "uuid": "fce8c691-1100-edce-7086-cdb2729201ea", + "time": 5.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -70, + "y": 0, + "z": 0 + } + ], + "uuid": "e7bada63-075e-6c56-988f-335ea22e1dcb", + "time": 5.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30, + "y": 0, + "z": 0 + } + ], + "uuid": "66a1d4a0-a6b6-4361-d0d0-192fb65584a9", + "time": 5.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e7d3e5d8-00e4-587c-7bb6-6787db00054b": { + "name": "LeftArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -84.95708, + "y": 7.4713, + "z": 0.6574 + } + ], + "uuid": "3c119673-d43a-314e-aa67-d6d4ee7491e7", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -84.96, + "y": 7.47, + "z": 0.66 + } + ], + "uuid": "5f2e0d7f-d351-6355-0065-970065014e2e", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -92.26173, + "y": 17.43002, + "z": 1.57616 + } + ], + "uuid": "0d2f50a4-1fae-52cc-300e-97573fe51a27", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -92.26, + "y": 17.43, + "z": 1.58 + } + ], + "uuid": "53d4ad27-4f77-caeb-5efa-1822885c3acb", + "time": 3.9, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -64.96, + "y": 7.47, + "z": 0.66 + } + ], + "uuid": "a4a5d535-0ca3-1193-f072-d01fcbfaa56f", + "time": 4.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "2f61e368-1c06-648e-26d4-aee94647e4da": { + "name": "LowerBody", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -45, + "y": "0", + "z": "0" + } + ], + "uuid": "031ab8ce-e35f-06a3-6a0a-c2b68be17ee1", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-30", + "y": 0, + "z": 0 + } + ], + "uuid": "451385c8-2f08-b142-a6c4-bb40969c496c", + "time": 4.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -45, + "y": 0, + "z": 0 + } + ], + "uuid": "7737ad4b-4c89-78bd-ad4c-cb08d4667533", + "time": 3.9, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "4e80b5b4-7c04-8374-f8a7-526b3d36d050": { + "name": "RightLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -49.75742, + "y": 5.73853, + "z": 4.83711 + } + ], + "uuid": "8185699e-2cc7-6efe-2f80-6539990599b1", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -37.26, + "y": 5.74, + "z": 4.84 + } + ], + "uuid": "3b4b59a1-8100-b82b-f63a-9efb4ba95471", + "time": 0.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -9.76, + "y": 5.74, + "z": 4.84 + } + ], + "uuid": "bee2fde5-59fa-892c-c7ea-746aab1fb270", + "time": 0.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -22.26, + "y": 5.74, + "z": 4.84 + } + ], + "uuid": "bc5cc943-aa82-2e2f-923f-6e92bb321b5f", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -49.75742, + "y": 5.73853, + "z": 4.83711 + } + ], + "uuid": "fd1bb63a-b0ee-9a83-2ff0-7a94184de0a9", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -37.26, + "y": 5.74, + "z": 4.84 + } + ], + "uuid": "74dbd68b-3960-9f3f-18f7-162c6ff5d079", + "time": 1.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -9.76, + "y": 5.74, + "z": 4.84 + } + ], + "uuid": "ae1198e9-ab2f-c52b-c9a4-aee959e0dcb3", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -22.26, + "y": 5.74, + "z": 4.84 + } + ], + "uuid": "0a1b4b10-fa4a-1c12-97ad-f252eddb3334", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -49.75742, + "y": 5.73853, + "z": 4.83711 + } + ], + "uuid": "0f278f65-48fb-1886-d9d5-5b0bbad555b5", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -37.26, + "y": 5.74, + "z": 4.84 + } + ], + "uuid": "f9dcfbfb-cb36-3e32-1674-0af6e8af18d8", + "time": 2.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -9.76, + "y": 5.74, + "z": 4.84 + } + ], + "uuid": "7657f857-7196-561d-70e9-f3efcaa791a6", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "84fe0b3a-286b-e17f-288e-c39feaa2e5e6": { + "name": "RightLegBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 67.5, + "y": "0", + "z": "0" + } + ], + "uuid": "0de3d93c-8bad-955a-20f5-ba97af6b8ebe", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 25, + "y": 0, + "z": 0 + } + ], + "uuid": "c0158e2c-d3ae-519c-f4d2-4fb2aebda4a8", + "time": 0.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "9a96acb8-1626-1859-c23a-0eb1eaf1625f", + "time": 0.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 42.5, + "y": 0, + "z": 0 + } + ], + "uuid": "faeeca60-d3f4-f1c4-917f-a5bbe397f09e", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 67.5, + "y": "0", + "z": "0" + } + ], + "uuid": "ee1353a6-eca3-162f-4b2d-280ef809590c", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 25, + "y": 0, + "z": 0 + } + ], + "uuid": "f1f3e30e-d6c3-78b6-033c-8acebec5c783", + "time": 1.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "591ff3d4-388b-abfa-ed6f-37fc5f43f75f", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 42.5, + "y": 0, + "z": 0 + } + ], + "uuid": "895e8a72-df8a-0f3a-9c8e-9a3c20b0ef06", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 67.5, + "y": "0", + "z": "0" + } + ], + "uuid": "b2112dbc-fd42-d6f1-9027-7ae6b237fdc4", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 25, + "y": 0, + "z": 0 + } + ], + "uuid": "f0caa741-505f-a6ce-c7aa-26c689c816f6", + "time": 2.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "12626b3e-a56f-68e1-7c97-7913cd03f9ba", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "73b3d6bc-af0b-a066-5d73-f3938109e11f": { + "name": "LeftLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -9.76, + "y": "-5.74", + "z": "-4.84" + } + ], + "uuid": "2ed5a068-cc0a-e7b8-12ad-7012e269f42a", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -22.26, + "y": "-5.74", + "z": "-4.84" + } + ], + "uuid": "d2556580-a048-80de-da44-c83b2af6faf3", + "time": 0.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -49.75742, + "y": "-5.7385", + "z": "-4.8371" + } + ], + "uuid": "9f1bd1c6-e6da-ca42-501d-a653f3f45ed3", + "time": 0.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -37.26, + "y": "-5.74", + "z": "-4.84" + } + ], + "uuid": "fa7f4d72-b4e7-4c88-1ad7-8c166342db10", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -9.76, + "y": "-5.74", + "z": "-4.84" + } + ], + "uuid": "14673ab4-907b-fc3e-077a-bdc4ed15a2eb", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -22.26, + "y": "-5.74", + "z": "-4.84" + } + ], + "uuid": "e5004910-1fbf-691d-6310-3633328312c9", + "time": 1.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -49.75742, + "y": "-5.7385", + "z": "-4.8371" + } + ], + "uuid": "c338319c-d4bb-6a06-5510-7f6d20e60dd8", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -37.26, + "y": "-5.74", + "z": "-4.84" + } + ], + "uuid": "c90dca3d-5691-9ca3-f29d-bda98cbd8eae", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -9.76, + "y": "-5.74", + "z": "-4.84" + } + ], + "uuid": "5efd73f1-6014-7e78-dd6b-3b0e632c5748", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -22.26, + "y": "-5.74", + "z": "-4.84" + } + ], + "uuid": "60f9fa1f-9e3e-cfc6-f79e-8ec0cf43d8a3", + "time": 2.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -49.75742, + "y": "-5.7385", + "z": "-4.8371" + } + ], + "uuid": "83b8d2f7-7851-5791-a6ac-4fbbc2497464", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -28.0305, + "y": -7.42048, + "z": -19.84554 + } + ], + "uuid": "4e251989-e57d-64ef-ac6d-f2d4448cd530", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ee9973d4-ff4e-c96b-64f6-d1f28afd69c6": { + "name": "LeftLegBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "d552217a-a263-2402-645d-d105ecd78cf9", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 42.5, + "y": 0, + "z": 0 + } + ], + "uuid": "12c0f5b1-54dd-3526-5c49-e033fd1c114c", + "time": 0.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 67.5, + "y": "0", + "z": "0" + } + ], + "uuid": "55d33ce2-6539-1b60-e9e4-cc956df2af8e", + "time": 0.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 25, + "y": 0, + "z": 0 + } + ], + "uuid": "2cd5ca3e-e6ee-7b25-b13e-4b3846ed7f63", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "3b1edbdb-9049-ac60-d005-fa168bd784db", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 42.5, + "y": 0, + "z": 0 + } + ], + "uuid": "a20aeb0c-cd49-6ad1-7e0f-e9187543b1e2", + "time": 1.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 67.5, + "y": "0", + "z": "0" + } + ], + "uuid": "2694327b-fb5f-96f3-1685-25143e0eb0b6", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 25, + "y": 0, + "z": 0 + } + ], + "uuid": "b28ed001-8b4b-3d13-e180-12ae50f60e1a", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "5e7ee3a9-32f8-e38e-401b-d3855e67995f", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 42.5, + "y": 0, + "z": 0 + } + ], + "uuid": "3809e5d7-0fec-d6b8-c538-217a65f7ff53", + "time": 2.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 67.5, + "y": "0", + "z": "0" + } + ], + "uuid": "52862b93-d6f6-007d-a484-2142781803f4", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "83bec12f-b6ac-27a9-fc6f-6b1151d20df4", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "4ad021e9-2857-4e55-337b-f61da0762800": { + "name": "CameraAnchor", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "20", + "y": "0", + "z": "0" + } + ], + "uuid": "64bede24-3992-2c7e-0ead-26616a086636", + "time": 0.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "60", + "y": 0, + "z": 0 + } + ], + "uuid": "7bc92112-b236-716d-5c89-a8db5b266892", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "20", + "y": 0, + "z": "15" + }, + { + "x": "10", + "y": "190", + "z": "0" + } + ], + "uuid": "e93a3cb0-6dc3-3f21-4fee-88413c5c1070", + "time": 1.35, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "10", + "y": "160", + "z": "0" + } + ], + "uuid": "6649b695-b9c4-32aa-761b-ff3b8fc52e1a", + "time": 1.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "160", + "z": 0 + } + ], + "uuid": "e4c77fda-7a12-9773-4b19-ac89c5127e79", + "time": 2.55, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": 160, + "z": 0 + } + ], + "uuid": "9d2ff91f-c6d0-f889-0971-6192e8052f2c", + "time": 2.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "100", + "z": "20" + } + ], + "uuid": "bebc25f3-2c11-e87d-8310-7f7cf899cb69", + "time": 3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 100, + "z": "10" + } + ], + "uuid": "21843534-59c5-5050-5e04-9e757fdc0fb9", + "time": 3.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "10", + "y": "160", + "z": "0" + } + ], + "uuid": "bfef08a9-0aef-0077-0e2f-94f58e1e2a82", + "time": 3.9, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-20", + "y": "90", + "z": "10" + } + ], + "uuid": "3ca9b80f-e45e-1206-c130-5aa8955e616a", + "time": 4.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-35", + "y": "100", + "z": 10 + } + ], + "uuid": "6db6aca3-f1a6-00c4-1494-a7b670138bd3", + "time": 4.55, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "5", + "y": "40", + "z": 10 + } + ], + "uuid": "09bbfe2b-1b31-ad4c-9ea6-66a00b4e0650", + "time": 5.45, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 40, + "z": "25" + } + ], + "uuid": "4e4b9ce6-3892-0aff-1df7-9f5a8aaac980", + "time": 5.8, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.30398, + -0.1, + -0.40316 + ], + "bezier_left_value": [ + -7.40535, + 0, + 7.73981 + ], + "bezier_right_time": [ + 0.30398, + 0.1, + 0.40316 + ], + "bezier_right_value": [ + 7.40535, + 0, + -7.73981 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -72, + "y": 29, + "z": -231 + } + ], + "uuid": "ed07c6bd-abc1-e4c7-9425-fd7a8a3d74b1", + "time": 0.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -71, + "y": 28, + "z": 0 + } + ], + "uuid": "cb181902-a3e8-254e-ce66-cdb72eebe05d", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -120, + "y": 23, + "z": -391 + }, + { + "x": "-65", + "y": "29", + "z": "-469" + } + ], + "uuid": "75baf233-a934-aad9-a140-889a14fb90de", + "time": 1.35, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -145, + "y": 29, + "z": -571 + } + ], + "uuid": "7f6ff2b5-8d56-b514-2d24-320d20c08981", + "time": 1.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -133, + "y": 25, + "z": -824 + } + ], + "uuid": "d9505be8-bdb4-22cb-8d41-d087172582d1", + "time": 2.55, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -97, + "y": 21, + "z": -909 + } + ], + "uuid": "09e7e165-34eb-2bda-cbd0-552691835529", + "time": 3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -97, + "y": 21, + "z": -943 + } + ], + "uuid": "d4829782-56fb-a841-eea5-573f00d8b921", + "time": 3.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -96, + "y": 22.78, + "z": -900.22 + } + ], + "uuid": "6041e173-e2af-7b19-bc3a-e60042522131", + "time": 2.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -124.25, + "y": 12.5, + "z": -949 + } + ], + "uuid": "49cb15b5-58ce-4114-0d66-8d89060249c9", + "time": 3.9, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -116, + "y": 16, + "z": -949.5 + } + ], + "uuid": "f289d048-2fa9-d122-1d36-b4db362b4d99", + "time": 4.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -116, + "y": 16, + "z": -949.5 + } + ], + "uuid": "db9bf78d-6e57-0123-4f49-d4757b362ff3", + "time": 4.55, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -114, + "y": 27, + "z": -933.5 + } + ], + "uuid": "13cdac5a-3a0d-f875-7df6-8a5985a7e9eb", + "time": 5.45, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -119, + "y": 27, + "z": -938.5 + } + ], + "uuid": "139df61e-08af-1b80-52a1-a4be49333242", + "time": 5.8, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.40451, + -0.1, + -0.40279 + ], + "bezier_left_value": [ + -4.27212, + 0, + -4.27212 + ], + "bezier_right_time": [ + 0.40451, + 0.1, + 0.40279 + ], + "bezier_right_value": [ + 4.27212, + 0, + 4.27212 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -139.67, + "y": 28.47, + "z": -629 + } + ], + "uuid": "daa76e8c-2a4e-fd3e-e68c-42076a960f7b", + "time": 1.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -149, + "y": 29, + "z": -599 + } + ], + "uuid": "c2774cbd-48bc-ad2c-4791-8504b2762bed", + "time": 1.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "242f9daa-9b60-b2ca-03fa-af6d04dbc249": { + "name": "RightHairEnd", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": 0, + "z": 20 + } + ], + "uuid": "da38de24-ed39-0c7f-531c-d39e59bca46b", + "time": 0.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 19.91615, + "y": -1.29876, + "z": 27.38733 + } + ], + "uuid": "cde7c03f-3fff-a19a-a786-5521220d4f66", + "time": 0.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 19.91615, + "y": -1.29876, + "z": 27.38733 + } + ], + "uuid": "a4db7e32-a11a-b74f-87ef-cdb94de59bc3", + "time": 0.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": 0, + "z": 20 + } + ], + "uuid": "254749e2-6dfd-5298-741d-35aa9384088e", + "time": 0.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 19.91615, + "y": -1.29876, + "z": 27.38733 + } + ], + "uuid": "aa8c169f-f36b-ce98-e82b-42530635b331", + "time": 0.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": 0, + "z": 20 + } + ], + "uuid": "4572f76b-d46f-7f6f-7a2f-2774e338475d", + "time": 0.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 19.91615, + "y": -1.29876, + "z": 27.38733 + } + ], + "uuid": "ee91b766-48bc-eb25-db87-e18317ada0e9", + "time": 1.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": 0, + "z": 20 + } + ], + "uuid": "7dc37d89-7b9e-b957-8078-3bf41bcfb10d", + "time": 1.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 19.91615, + "y": -1.29876, + "z": 27.38733 + } + ], + "uuid": "05bbe850-d07a-17e7-b82d-7aadd49511a3", + "time": 1.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": 0, + "z": 20 + } + ], + "uuid": "e12f5c09-36e4-d729-de2a-7734e368671a", + "time": 1.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 19.91615, + "y": -1.29876, + "z": 27.38733 + } + ], + "uuid": "8f97c066-f9c6-80a4-0716-84be255ada55", + "time": 1.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": 0, + "z": 20 + } + ], + "uuid": "84ce89dd-f60e-6af1-0b4c-7cdd41e47dae", + "time": 1.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 19.91615, + "y": -1.29876, + "z": 27.38733 + } + ], + "uuid": "f90269b0-db4f-929d-1d06-70b0d94bc43c", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": 0, + "z": 20 + } + ], + "uuid": "9a6a45e4-c386-b9e4-06d5-76081ade0ea5", + "time": 2.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 19.91615, + "y": -1.29876, + "z": 27.38733 + } + ], + "uuid": "e246e253-f50b-1002-fd53-1d55a9ce9817", + "time": 2.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": 0, + "z": 20 + } + ], + "uuid": "6b39a7b5-0a12-6103-a242-35778c6fc977", + "time": 2.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": 0, + "z": 20 + } + ], + "uuid": "122a4924-dfd8-e99c-8e8a-e93addadfd77", + "time": 0.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 27.38733 + } + ], + "uuid": "dac8eb1d-914e-2850-1bee-0d1cfc7c1468", + "time": 2.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": 0, + "z": 20 + } + ], + "uuid": "87d2b3b8-3b63-a603-6243-847d9d98cfbe", + "time": 2.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": -10 + } + ], + "uuid": "953742b7-573a-75ef-69a9-cb1df88c32a6", + "time": 2.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -20 + } + ], + "uuid": "a9c109d0-0a92-bb52-e3da-a46612955f55", + "time": 3.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-5" + } + ], + "uuid": "58d24b6d-8e8b-550e-5716-6fec59041c85", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-15" + } + ], + "uuid": "0772d938-1d84-7a45-909a-f165457e807e", + "time": 3.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "007bb774-b92a-bd76-d59e-c1537cd8f659", + "time": 3.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "a0d92aa7-169d-aad9-7a9a-74147728af4b": { + "name": "LeftHairEnd", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 19.91615, + "y": "1.2988", + "z": "-27.3873" + } + ], + "uuid": "915b1c55-62ac-cca4-27b4-49333fbc6eb6", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": 0, + "z": "-20" + } + ], + "uuid": "1818f0e6-8a82-6757-f17c-8f996e05dce5", + "time": 0.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": 0, + "z": "-20" + } + ], + "uuid": "b784f962-b1c9-b1f3-a9cc-c6be63c2f177", + "time": 0.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 19.91615, + "y": "1.2988", + "z": "-27.3873" + } + ], + "uuid": "a822c644-444b-d65d-de08-45b4f521797c", + "time": 0.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": 0, + "z": "-20" + } + ], + "uuid": "875e0bcb-5325-1a43-3eec-9caf167cb758", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 19.91615, + "y": "1.2988", + "z": "-27.3873" + } + ], + "uuid": "189d39de-d5be-8415-2e15-23246ac363f4", + "time": 0.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": 0, + "z": "-20" + } + ], + "uuid": "bdb6f1a5-8f3b-70e3-b1df-2e8f8c5a5a13", + "time": 1.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 19.91615, + "y": "1.2988", + "z": "-27.3873" + } + ], + "uuid": "c94dcf33-7006-f7e6-0587-c567f1f22eee", + "time": 0.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": 0, + "z": "-20" + } + ], + "uuid": "b9233d11-7723-e463-ecb1-41b4507e9cf3", + "time": 1.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 19.91615, + "y": "1.2988", + "z": "-27.3873" + } + ], + "uuid": "78a85d7d-7aee-9b19-4da8-ae162fd034a5", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": 0, + "z": "-20" + } + ], + "uuid": "45e329f6-5184-9a61-235a-e729739f3a65", + "time": 1.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 19.91615, + "y": "1.2988", + "z": "-27.3873" + } + ], + "uuid": "a7e5d3df-d5c8-9c96-0fe1-42304c899c9f", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": 0, + "z": "-20" + } + ], + "uuid": "51caae93-24ef-d8a5-100d-ce6559443bcf", + "time": 1.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 19.91615, + "y": "1.2988", + "z": "-27.3873" + } + ], + "uuid": "a764b797-33f2-8fb6-6baf-aa0d85421580", + "time": 1.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": 0, + "z": "-20" + } + ], + "uuid": "a6fd6c77-19ea-758e-3027-19b94c3f617b", + "time": 2.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 19.91615, + "y": "1.2988", + "z": "-27.3873" + } + ], + "uuid": "14391404-85e9-3239-189a-d7f2372aa1d0", + "time": 2.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": "-20" + } + ], + "uuid": "a576bcfb-8ef4-28d6-4d8f-44659524dfe0", + "time": 2.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 19.91615, + "y": "1.2988", + "z": "-27.3873" + } + ], + "uuid": "a74b92de-2069-2213-aa76-5e129672576e", + "time": 2.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": "-10" + } + ], + "uuid": "e9773f45-fcab-95b5-ec02-7956fc8de11d", + "time": 2.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": "-20" + } + ], + "uuid": "6951b0bb-bd3f-bd62-4225-a0e32c1fe785", + "time": 2.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": "-10" + } + ], + "uuid": "fa45fbf4-f6c4-70b0-c86d-70576faf5c37", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": "-15" + } + ], + "uuid": "46be7704-64d3-426f-f7f2-2218699357de", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": "-5" + } + ], + "uuid": "9cebf149-50c1-0cb0-db29-8fd2ca873744", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "2efdf4a5-54ea-c028-b0a7-b5d43012eb6e", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "7d75fb32-75be-dc29-9085-7821897ce3ce": { + "name": "FrontHair", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "-45", + "y": "0", + "z": "0" + } + ], + "uuid": "bde3961f-0e08-98aa-0388-fcca0251fbf8", + "time": 0.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "2cab3ab9-db28-f168-3089-46f28334c9f7", + "time": 0.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-45", + "y": "0", + "z": "0" + } + ], + "uuid": "0368d5ea-a2ea-a4ee-0b6d-28c93686247e", + "time": 0.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "2473a289-5d8e-f26e-1ddd-33a59d0515dc", + "time": 0.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-45", + "y": "0", + "z": "0" + } + ], + "uuid": "3e5513ed-0958-bdf3-7cea-376a9d23ad80", + "time": 0.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "9c186959-9dbb-01ae-8224-1835d953562c", + "time": 0.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-45", + "y": "0", + "z": "0" + } + ], + "uuid": "e436e18a-e186-07cc-4d5d-98602d8e8ad2", + "time": 1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "491aaaab-3bca-abc7-e5e6-c5864bdecf17", + "time": 1.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-45", + "y": "0", + "z": "0" + } + ], + "uuid": "8b4c12d6-dbb3-2283-019e-d942e23789d0", + "time": 1.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "5440522f-cebb-940c-7662-19759655cac5", + "time": 1.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-45", + "y": "0", + "z": "0" + } + ], + "uuid": "703e4759-731b-ebe5-418c-a2b7f5d2f99d", + "time": 1.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "360f55da-308b-27e6-59dc-67b9aafd48df", + "time": 1.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-45", + "y": "0", + "z": "0" + } + ], + "uuid": "8e32a9f9-3884-cb36-800f-525be47bf1d0", + "time": 1.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "adfa2fbe-f7f1-effc-7483-6a628a1a0791", + "time": 2.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-45", + "y": "0", + "z": "0" + } + ], + "uuid": "3e027fde-e953-7f54-dc9e-b4fddf5e3359", + "time": 2.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "34ac5755-4c42-a74d-5f00-548f8a3eac50", + "time": 2.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-45", + "y": "0", + "z": "0" + } + ], + "uuid": "eacbaf94-01e1-4025-2626-d3a194fbb65e", + "time": 2.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "03ac0796-33e8-0e0c-19b0-1c174ff48566", + "time": 2.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-45", + "y": "0", + "z": "0" + } + ], + "uuid": "099d2475-2ebd-8ad0-a295-b7ffaac06810", + "time": 2.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "bd552ded-3658-74a7-adc5-20711feea7be", + "time": 3.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "7c00fd5c-a84d-18f5-b132-c251758b9251", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "5dc126b2-6e22-9090-0ebe-e21baee8ee4e", + "time": 3.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -45, + "y": 0, + "z": 0 + } + ], + "uuid": "c04fc513-83b0-decc-08a1-f544f728ce59", + "time": 3.8, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -20, + "y": 0, + "z": 0 + } + ], + "uuid": "9f259c40-f5bb-309f-0cf2-7129f9aff9d3", + "time": 4.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + }, + { + "uuid": "4d402734-86aa-6cf2-4f62-99aff9fc8086", + "name": "creative_flying_right", + "loop": "loop", + "override": true, + "length": 5, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "e98e96cf-993b-878e-02b8-777c368bb888": { + "name": "Avatar", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "-5" + } + ], + "uuid": "e5f41378-8b29-bf5d-971c-6d0f11f7119d", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "d73255c8-11e6-3d25-8f3e-9f2fe95a5f7f", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "-1", + "z": 0 + } + ], + "uuid": "8d9a69f9-5738-535a-20d3-b38066cf7a13", + "time": 2.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 0 + } + ], + "uuid": "056ced1d-59b2-3345-f3e2-97ff6261b1b8", + "time": 5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "6101f8d5-b970-b28b-9e12-ecd9dcd9a6a9": { + "name": "Scarf2", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 5 + } + ], + "uuid": "03fde728-1da1-8569-1397-8dd03a3e014e", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e36cdff1-4949-f823-2012-f9a108379e69": { + "name": "Scarf3", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 5 + } + ], + "uuid": "70b08a93-deeb-bc99-da3a-c9af9f754c46", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ab590f32-a10c-babe-2b11-8934e7c058bd": { + "name": "Scarf4", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 5 + } + ], + "uuid": "9d1b818d-2a64-ebea-a6be-3e214a46aedb", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e7d3e5d8-00e4-587c-7bb6-6787db00054b": { + "name": "LeftArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -180, + "y": 0, + "z": "5" + } + ], + "uuid": "ff161b3c-1642-7de2-ae1e-b843fe3474b9", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": 2, + "z": "0" + } + ], + "uuid": "c18b70df-2795-b2c2-b369-c9a035f1e511", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "2f61e368-1c06-648e-26d4-aee94647e4da": { + "name": "LowerBody", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "5" + } + ], + "uuid": "84c2cb6b-4fbe-08c4-9861-6c3277f25987", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "4e80b5b4-7c04-8374-f8a7-526b3d36d050": { + "name": "RightLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "2.5" + } + ], + "uuid": "9f553fb7-7858-9d4f-cc3d-6315ec7bad75", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "73b3d6bc-af0b-a066-5d73-f3938109e11f": { + "name": "LeftLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "-2.5" + } + ], + "uuid": "bd1c7f63-300f-9c29-e2ae-791ee9980463", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "09dc82c1-3b16-20db-4375-0b9ea34661d0": { + "name": "Drone", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "5" + } + ], + "uuid": "f507e770-44e1-da79-8b48-fe32451dbbd5", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 6.5, + "y": 35.25, + "z": "0" + } + ], + "uuid": "15bf9b57-554b-d8ef-469a-ce0ff611c979", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "9ff0e9df-bbb7-6fb7-e1ea-f9f628aa3ee0": { + "name": "RotorsRight", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "bcc379db-217e-47b9-e623-83bf3d15eb11", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "7200", + "z": 0 + } + ], + "uuid": "3f413c26-7c92-8cee-5d16-4caaccbaf530", + "time": 5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "c009ea16-c45a-d501-a232-584ec57c86bb": { + "name": "CoreHandle", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": -3.5, + "z": "0" + } + ], + "uuid": "ebc88bfe-911e-aa5d-9259-8eb6224a1b41", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "31727382-bf25-5d81-dfe9-ca0b6764d2d0": { + "name": "RotorsLeft", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "84a79d70-c932-f7b9-2c49-fa0eb797007e", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "7200", + "z": 0 + } + ], + "uuid": "64c21c6e-ebe6-925a-ef13-69878f181e6d", + "time": 5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + }, + { + "uuid": "fb182518-5938-78aa-7129-ca3c86ca34e7", + "name": "creative_flying_left", + "loop": "loop", + "override": true, + "length": 5, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "e98e96cf-993b-878e-02b8-777c368bb888": { + "name": "Avatar", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "5" + } + ], + "uuid": "e5f41378-8b29-bf5d-971c-6d0f11f7119d", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "d73255c8-11e6-3d25-8f3e-9f2fe95a5f7f", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "-1", + "z": 0 + } + ], + "uuid": "8d9a69f9-5738-535a-20d3-b38066cf7a13", + "time": 2.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 0 + } + ], + "uuid": "056ced1d-59b2-3345-f3e2-97ff6261b1b8", + "time": 5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "6101f8d5-b970-b28b-9e12-ecd9dcd9a6a9": { + "name": "Scarf2", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "-5" + } + ], + "uuid": "03fde728-1da1-8569-1397-8dd03a3e014e", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e36cdff1-4949-f823-2012-f9a108379e69": { + "name": "Scarf3", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "-5" + } + ], + "uuid": "70b08a93-deeb-bc99-da3a-c9af9f754c46", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ab590f32-a10c-babe-2b11-8934e7c058bd": { + "name": "Scarf4", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "-5" + } + ], + "uuid": "9d1b818d-2a64-ebea-a6be-3e214a46aedb", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "2f61e368-1c06-648e-26d4-aee94647e4da": { + "name": "LowerBody", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "-5" + } + ], + "uuid": "84c2cb6b-4fbe-08c4-9861-6c3277f25987", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "4e80b5b4-7c04-8374-f8a7-526b3d36d050": { + "name": "RightLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "2.5" + } + ], + "uuid": "9f553fb7-7858-9d4f-cc3d-6315ec7bad75", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "73b3d6bc-af0b-a066-5d73-f3938109e11f": { + "name": "LeftLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "-2.5" + } + ], + "uuid": "bd1c7f63-300f-9c29-e2ae-791ee9980463", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "09dc82c1-3b16-20db-4375-0b9ea34661d0": { + "name": "Drone", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "-5" + } + ], + "uuid": "f507e770-44e1-da79-8b48-fe32451dbbd5", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-6.5", + "y": 35.25, + "z": "0" + } + ], + "uuid": "15bf9b57-554b-d8ef-469a-ce0ff611c979", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "9ff0e9df-bbb7-6fb7-e1ea-f9f628aa3ee0": { + "name": "RotorsRight", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "bcc379db-217e-47b9-e623-83bf3d15eb11", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "7200", + "z": 0 + } + ], + "uuid": "3f413c26-7c92-8cee-5d16-4caaccbaf530", + "time": 5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "c009ea16-c45a-d501-a232-584ec57c86bb": { + "name": "CoreHandle", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": -3.5, + "z": "0" + } + ], + "uuid": "ebc88bfe-911e-aa5d-9259-8eb6224a1b41", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "31727382-bf25-5d81-dfe9-ca0b6764d2d0": { + "name": "RotorsLeft", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "84a79d70-c932-f7b9-2c49-fa0eb797007e", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "7200", + "z": 0 + } + ], + "uuid": "64c21c6e-ebe6-925a-ef13-69878f181e6d", + "time": 5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3c1cb66d-8a31-d31f-ec9f-65a33e313a53": { + "name": "RightArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "180", + "y": "0", + "z": "-5" + } + ], + "uuid": "7f037006-4ec7-369f-38be-ed14dab8cc6e", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": 2, + "z": "0" + } + ], + "uuid": "be7a1fb2-de01-0419-1e8e-c06b3b8cc997", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + }, + { + "uuid": "222c3b8c-a29d-7893-1996-59f58bfb5897", + "name": "creative_flying_transition_right", + "loop": "once", + "override": true, + "length": 0.25, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "e98e96cf-993b-878e-02b8-777c368bb888": { + "name": "Avatar", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "e5f41378-8b29-bf5d-971c-6d0f11f7119d", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -5 + } + ], + "uuid": "e5a2099a-a5f1-334f-c50a-26173d2db67b", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "d73255c8-11e6-3d25-8f3e-9f2fe95a5f7f", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": -0.1, + "z": 0 + } + ], + "uuid": "2c85b4d5-9f24-ac4b-466b-64a91657069c", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "6101f8d5-b970-b28b-9e12-ecd9dcd9a6a9": { + "name": "Scarf2", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 5 + } + ], + "uuid": "03fde728-1da1-8569-1397-8dd03a3e014e", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "11425323-c340-7495-8034-304a4a06035c", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e36cdff1-4949-f823-2012-f9a108379e69": { + "name": "Scarf3", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 5 + } + ], + "uuid": "70b08a93-deeb-bc99-da3a-c9af9f754c46", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "90b979dc-4716-79c5-7c39-4eeeb3ac6d90", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ab590f32-a10c-babe-2b11-8934e7c058bd": { + "name": "Scarf4", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 5 + } + ], + "uuid": "9d1b818d-2a64-ebea-a6be-3e214a46aedb", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "7a98c7cb-0e30-e9c2-d624-645449405218", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e7d3e5d8-00e4-587c-7bb6-6787db00054b": { + "name": "LeftArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -180, + "y": 0, + "z": "5" + } + ], + "uuid": "ff161b3c-1642-7de2-ae1e-b843fe3474b9", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": "0" + } + ], + "uuid": "1192535f-af56-7d24-2b1a-4b0bbe49fb7d", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": 2, + "z": "0" + } + ], + "uuid": "c18b70df-2795-b2c2-b369-c9a035f1e511", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 0 + } + ], + "uuid": "305b4501-b513-348d-b690-f704c59c69b2", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "2f61e368-1c06-648e-26d4-aee94647e4da": { + "name": "LowerBody", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "5" + } + ], + "uuid": "84c2cb6b-4fbe-08c4-9861-6c3277f25987", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "e2cf6cce-cd46-0488-d456-13a7fd0cbf44", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "4e80b5b4-7c04-8374-f8a7-526b3d36d050": { + "name": "RightLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "2.5" + } + ], + "uuid": "9f553fb7-7858-9d4f-cc3d-6315ec7bad75", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "4fbfcbd9-6750-7b31-99f9-0837b04fa74c", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "73b3d6bc-af0b-a066-5d73-f3938109e11f": { + "name": "LeftLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "-2.5" + } + ], + "uuid": "bd1c7f63-300f-9c29-e2ae-791ee9980463", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "82163f58-6d9c-7217-5a61-bd5bdaa45a40", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "09dc82c1-3b16-20db-4375-0b9ea34661d0": { + "name": "Drone", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "5" + } + ], + "uuid": "f507e770-44e1-da79-8b48-fe32451dbbd5", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "16a49428-b1ce-c6f4-017a-242ac759294d", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 6.5, + "y": 35.25, + "z": "0" + } + ], + "uuid": "15bf9b57-554b-d8ef-469a-ce0ff611c979", + "time": 0.25, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.20333, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.20333, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 6.5, + "y": 80.25, + "z": 31 + } + ], + "uuid": "f39defe6-824f-87a0-3399-d6df9927815a", + "time": 0, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.00333, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.00333, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "9ff0e9df-bbb7-6fb7-e1ea-f9f628aa3ee0": { + "name": "RotorsRight", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "bcc379db-217e-47b9-e623-83bf3d15eb11", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 360, + "z": 0 + } + ], + "uuid": "5918cbf8-d48d-5866-d7e4-8ea4586a75a6", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "c009ea16-c45a-d501-a232-584ec57c86bb": { + "name": "CoreHandle", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": -3.5, + "z": "0" + } + ], + "uuid": "ebc88bfe-911e-aa5d-9259-8eb6224a1b41", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 0 + } + ], + "uuid": "16504e7a-059c-0a8d-6568-f285e5bb0749", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "31727382-bf25-5d81-dfe9-ca0b6764d2d0": { + "name": "RotorsLeft", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "84a79d70-c932-f7b9-2c49-fa0eb797007e", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 360, + "z": 0 + } + ], + "uuid": "805c793a-48c6-9aa8-323d-7f96784a7ad8", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "dd9944d1-af84-fd6a-780f-c0af32b0c499": { + "name": "ShineEffects", + "type": "bone", + "keyframes": [ + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "952b4164-be0a-58af-43b6-9c312c9ac32c", + "time": 0, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + }, + { + "uuid": "04878cfc-54ed-ac9f-c580-b5ca304dfa1a", + "name": "creative_flying_transition_left", + "loop": "once", + "override": true, + "length": 0.25, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "e98e96cf-993b-878e-02b8-777c368bb888": { + "name": "Avatar", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "5" + } + ], + "uuid": "e5f41378-8b29-bf5d-971c-6d0f11f7119d", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "ab3522c9-d053-a468-001a-5ddb0107d724", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "-0.1", + "z": "0" + } + ], + "uuid": "d73255c8-11e6-3d25-8f3e-9f2fe95a5f7f", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "5aaeeddd-a40e-72bb-8e4d-37a589890d27", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "6101f8d5-b970-b28b-9e12-ecd9dcd9a6a9": { + "name": "Scarf2", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "-5" + } + ], + "uuid": "03fde728-1da1-8569-1397-8dd03a3e014e", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "607473ec-8c4f-1d7a-6156-f66a4b99b694", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e36cdff1-4949-f823-2012-f9a108379e69": { + "name": "Scarf3", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "-5" + } + ], + "uuid": "70b08a93-deeb-bc99-da3a-c9af9f754c46", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "3db63857-81a0-85d3-0d61-c8181bd34049", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ab590f32-a10c-babe-2b11-8934e7c058bd": { + "name": "Scarf4", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "-5" + } + ], + "uuid": "9d1b818d-2a64-ebea-a6be-3e214a46aedb", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "f065cd20-e7c2-5810-7bf3-81d7eb128e17", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "2f61e368-1c06-648e-26d4-aee94647e4da": { + "name": "LowerBody", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "-5" + } + ], + "uuid": "84c2cb6b-4fbe-08c4-9861-6c3277f25987", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "833316ee-dc58-dcac-13e3-1e0a1d7d7bc1", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "4e80b5b4-7c04-8374-f8a7-526b3d36d050": { + "name": "RightLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 5 + } + ], + "uuid": "9f553fb7-7858-9d4f-cc3d-6315ec7bad75", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "48823497-28d6-1f95-ce60-383e9a805d70", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "73b3d6bc-af0b-a066-5d73-f3938109e11f": { + "name": "LeftLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": -5 + } + ], + "uuid": "bd1c7f63-300f-9c29-e2ae-791ee9980463", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "12a9f0dd-1472-b29f-8351-0f6ab6446581", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "09dc82c1-3b16-20db-4375-0b9ea34661d0": { + "name": "Drone", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "-5" + } + ], + "uuid": "f507e770-44e1-da79-8b48-fe32451dbbd5", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "7f7e1558-ea79-c763-9c66-a314bbe37ff4", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-6.5", + "y": 35.25, + "z": "0" + } + ], + "uuid": "111644a7-543e-ca2b-eeb0-6eba8fe28b62", + "time": 0.25, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.20333, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.20333, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "-6.5", + "y": 80.25, + "z": 31 + } + ], + "uuid": "6bb7c72b-9bc3-4b78-e90f-2360205d2e26", + "time": 0, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.00333, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.00333, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "9ff0e9df-bbb7-6fb7-e1ea-f9f628aa3ee0": { + "name": "RotorsRight", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "bcc379db-217e-47b9-e623-83bf3d15eb11", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 360, + "z": 0 + } + ], + "uuid": "bdc5e6f8-373b-66b2-a9a4-ebca61d638a4", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "c009ea16-c45a-d501-a232-584ec57c86bb": { + "name": "CoreHandle", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": -3.5, + "z": "0" + } + ], + "uuid": "ebc88bfe-911e-aa5d-9259-8eb6224a1b41", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 0 + } + ], + "uuid": "7859e9cc-41fa-8834-ffa7-d6f7ffb49b90", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "31727382-bf25-5d81-dfe9-ca0b6764d2d0": { + "name": "RotorsLeft", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "84a79d70-c932-f7b9-2c49-fa0eb797007e", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "360", + "z": 0 + } + ], + "uuid": "8b04fd3b-0434-1fc7-0142-a2a8da29259a", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3c1cb66d-8a31-d31f-ec9f-65a33e313a53": { + "name": "RightArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "-180", + "y": "0", + "z": "-5" + } + ], + "uuid": "7f037006-4ec7-369f-38be-ed14dab8cc6e", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": "0" + } + ], + "uuid": "8527cbba-c0f0-a05d-6d0a-d84c10d16291", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": 2, + "z": "0" + } + ], + "uuid": "be7a1fb2-de01-0419-1e8e-c06b3b8cc997", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 0 + } + ], + "uuid": "3c7b92bc-6b4e-72d2-5772-cb1bb694562c", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "dd9944d1-af84-fd6a-780f-c0af32b0c499": { + "name": "ShineEffects", + "type": "bone", + "keyframes": [ + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "0605880f-fdbd-414d-1347-e096bd0195a4", + "time": 0, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + }, + { + "uuid": "4392b549-16a4-0776-dcb6-78779db989ac", + "name": "bicycle_idle", + "loop": "hold", + "override": true, + "length": 0.25, + "snapping": 20, + "selected": true, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "e98e96cf-993b-878e-02b8-777c368bb888": { + "name": "Avatar", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "15", + "y": "0", + "z": "0" + } + ], + "uuid": "a4be22f2-c0ea-0074-1989-61d9a67102fe", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "45", + "y": 0, + "z": 0 + } + ], + "uuid": "e5449222-237b-b48d-2efe-5166fca009f2", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": -10.25, + "z": "8" + } + ], + "uuid": "f5cea8d3-2fd9-780e-d50d-abc0a2f8a70e", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": -7, + "z": 13.5 + } + ], + "uuid": "2fc3fce1-69f6-3eb4-0128-1fc39e15340d", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "2f61e368-1c06-648e-26d4-aee94647e4da": { + "name": "LowerBody", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "-15", + "y": "0", + "z": "10" + } + ], + "uuid": "38d73248-7125-77f5-65f4-d2587ce9611b", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-45", + "y": 0, + "z": "0" + } + ], + "uuid": "4ef3f7c5-18c4-a051-e4b2-2b0ccea835e4", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "4e80b5b4-7c04-8374-f8a7-526b3d36d050": { + "name": "RightLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -49.75742, + "y": 5.73853, + "z": 4.83711 + } + ], + "uuid": "90049756-f5e3-5f7a-a7c5-b2edb7ce105c", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "84fe0b3a-286b-e17f-288e-c39feaa2e5e6": { + "name": "RightLegBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 67.5, + "y": "0", + "z": "0" + } + ], + "uuid": "72390923-2226-8912-523d-68e4aa302187", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "73b3d6bc-af0b-a066-5d73-f3938109e11f": { + "name": "LeftLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": -25 + } + ], + "uuid": "6d642bce-3d32-e947-4823-a332229b581a", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -9.76, + "y": "-5.74", + "z": "-4.84" + } + ], + "uuid": "649cfe5b-5014-756f-42ad-c158d4c87b97", + "time": 0.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ca187cc6-059a-9127-470e-f76c6d5dc5ff": { + "name": "Bicycle", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "-4", + "z": "-3.5" + } + ], + "uuid": "90b5526b-4174-9e57-c11f-b69b590442d4", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + }, + { + "uuid": "b545482a-5048-7db7-b253-ffb4be1aac07", + "name": "bicycle_run", + "loop": "loop", + "override": false, + "length": 0.4, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "4e80b5b4-7c04-8374-f8a7-526b3d36d050": { + "name": "RightLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -0.20531, + "y": -4.87133, + "z": 0.08731 + } + ], + "uuid": "71dc9fab-d354-27fb-e85c-646bde1decaa", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 29.79, + "y": -4.87, + "z": 0.09 + } + ], + "uuid": "76e9c709-ef2d-681c-3819-5097260c5fc7", + "time": 0.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 39.79, + "y": -4.87, + "z": 0.09 + } + ], + "uuid": "fe84f32d-8179-a804-6de5-03d34d2a6f22", + "time": 0.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 12.29, + "y": -4.87, + "z": 0.09 + } + ], + "uuid": "93b0e8f3-6719-57ea-05c6-8171551b3634", + "time": 0.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -0.20531, + "y": -4.87133, + "z": 0.08731 + } + ], + "uuid": "3f2c3220-8b7a-fd81-ca85-3966b1ae6f7d", + "time": 0.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "84fe0b3a-286b-e17f-288e-c39feaa2e5e6": { + "name": "RightLegBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "0", + "z": "0" + } + ], + "uuid": "0bba33eb-2c6a-309a-6c8b-247bc8a7f1f6", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -67.5, + "y": 0, + "z": 0 + } + ], + "uuid": "d75b04af-b8a3-e551-4438-79b06d661130", + "time": 0.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -42.5, + "y": 0, + "z": 0 + } + ], + "uuid": "1ab236aa-88b0-83d4-54f2-de5db017981f", + "time": 0.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -25, + "y": 0, + "z": 0 + } + ], + "uuid": "6b31d1a6-c239-015c-3b09-7851ae74c9b9", + "time": 0.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "0", + "z": "0" + } + ], + "uuid": "8bd75d7a-02f1-ea34-c608-a50a5c45744a", + "time": 0.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "73b3d6bc-af0b-a066-5d73-f3938109e11f": { + "name": "LeftLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "d282e5e4-3ebd-3b23-36ea-687f56d014df", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": 0, + "z": 0 + } + ], + "uuid": "7f34e848-608c-c8a1-bed0-9c400475e284", + "time": 0.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -27.5, + "y": 0, + "z": 0 + } + ], + "uuid": "002976d9-eb16-190c-9b74-6ab6b758e204", + "time": 0.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -40, + "y": 0, + "z": 0 + } + ], + "uuid": "5ee58a85-7579-e7b1-57b0-603be86e1c43", + "time": 0.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "8cc2dc52-ee10-8718-e7a5-94bb8f763dbf", + "time": 0.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ee9973d4-ff4e-c96b-64f6-d1f28afd69c6": { + "name": "LeftLegBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "f6601c3b-9a99-78e0-f9bc-1ada9740f79a", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 42.5, + "y": 0, + "z": 0 + } + ], + "uuid": "bc24fc79-2f16-61c4-d721-bcfd506d9396", + "time": 0.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 67.5, + "y": "0", + "z": "0" + } + ], + "uuid": "637d08f1-8fd9-6da0-39a5-82bdf4729fa2", + "time": 0.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "25", + "y": "0", + "z": "0" + } + ], + "uuid": "c43ca2a5-1786-e8d6-01ff-cf00c09cbed9", + "time": 0.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "81e05689-6df0-30eb-3ec7-c3444ba25a33", + "time": 0.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "9e3b0bf8-d6d7-f627-aea1-13eedb3b7517": { + "name": "BackWheel", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "6c8c635a-a419-0e57-586d-5b241a47e3d5", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "360", + "y": 0, + "z": 0 + } + ], + "uuid": "8947c5a1-5e4a-fab9-ad7d-bf646db72f21", + "time": 0.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "6516bcac-c985-5966-0756-e7510f1d2e15": { + "name": "FrontWheel", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "b7439386-4097-2701-942d-5a0cf202e926", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "360", + "y": 0, + "z": 0 + } + ], + "uuid": "d6fb68cd-5d87-204a-8770-7a49024cb53d", + "time": 0.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "23d89655-252e-ac9f-f77a-5326507ed90f": { + "name": "Pedals", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "6a183925-77dd-a83e-3d26-96d764dc80d3", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "360", + "y": 0, + "z": 0 + } + ], + "uuid": "3c60f6c6-c33a-6617-a725-104cea2c6f4d", + "time": 0.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "7433fe03-252f-2168-8471-973abd3d1a2f": { + "name": "LeftPedalFoot", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "6321eca9-96b5-af0d-acc6-6126695f6101", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-360", + "y": 0, + "z": 0 + } + ], + "uuid": "d7c8ffc9-df35-dabb-705e-a202804cdc77", + "time": 0.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "2f5dd021-97cd-44a7-e764-68be5a64c679": { + "name": "RightPedalFoot", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "899c1517-83e0-3f05-1b90-777d7b0fa61e", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-360", + "y": 0, + "z": 0 + } + ], + "uuid": "d7bcaf5e-6344-701e-06f1-1b912b242841", + "time": 0.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar.lua b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar.lua new file mode 100644 index 0000000..8f711a2 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar.lua @@ -0,0 +1,223 @@ +---@class Avatar アバターのメインクラス +---@field public avatarEvents AvatarEvents +---@field public modelUtils ModelUtils +---@field public playerUtils PlayerUtils +---@field public compatibilityUtils CompatibilityUtils +---@field public characterData BlueArchiveCharacter +---@field public headRing HeadRing +---@field public headBlock HeadBlock +---@field public locale Locale +---@field public config Config +---@field public cameraManager CameraManager +---@field public keyManager KeyManager +---@field public vanillaModel VanillaModel +---@field public arms Arms +---@field public skirt Skirt +---@field public armor Armor +---@field public faceParts FaceParts +---@field public portrait Portrait +---@field public physics Physics +---@field public gun Gun +---@field public nameplate Nameplate +---@field public exSkill ExSkill +---@field public frameParticleManager ExSkillFrameParticleManager +---@field public placementObjectManager PlacementObjectManager +---@field public costume Costume +---@field public actionWheel ActionWheel +---@field public actionWheelGui ActionWheelGui +---@field public bubble Bubble +---@field public barrier Barrier +---@field public deathAnimation DeathAnimation +---@field public hypixelZombies HypixelZombies +---@field public updateChecker UpdateChecker +---@field public drone Drone +---@field public bicycle Bicycle +---@field public missileManager DroneMissileManager +---@field public instantiate fun(class: table, super: table, ...: any) クラスをインスタンス化する + +Avatar = { + ---コンストラクタ + ---@return Avatar + new = function () + ---@type Avatar + local instance = Avatar.instantiate(Avatar) + + --ENTITY_INIT前に読み込み + require("scripts.avatar_modules.avatar_module") + + --ユーティリティクラスの読み込み + require("scripts.avatar_modules.events.abstract_event") + require("scripts.avatar_modules.events.script_init_event") + require("scripts.avatar_modules.events.avatar_events") + instance.avatarEvents = AvatarEvents.new(instance) + instance.avatarEvents:init() + + require("scripts.avatar_modules.utils.model_utils") + instance.modelUtils = ModelUtils.new(instance) + instance.modelUtils:init() + + --アバターモジュールの読み込み + require("scripts.blue_archive_character") + instance.characterData = BlueArchiveCharacter.new(instance) + instance.characterData:init() + + require("scripts.avatar_modules.head_ring") + instance.headRing = HeadRing.new(instance) + instance.headRing:init() + + require("scripts.avatar_modules.head_model_generator") + require("scripts.avatar_modules.head_block") + instance.headBlock = HeadBlock.new(instance) + instance.headBlock:init() + + --生徒固有クラスの読み込み + + events.ENTITY_INIT:register(function () + --ユーティリティクラスの読み込み + require("scripts.avatar_modules.utils.player_utils") + instance.playerUtils = PlayerUtils.new(instance) + instance.playerUtils:init() + + require("scripts.avatar_modules.utils.compatibility_utils") + instance.compatibilityUtils = CompatibilityUtils.new(instance) + instance.compatibilityUtils:init() + + require("scripts.avatar_modules.utils.spawn_object_manager") + require("scripts.avatar_modules.utils.spawn_object") + + --アバターモジュールの読み込み + require("scripts.avatar_modules.locale") + instance.locale = Locale.new(instance) + instance.locale:init() + + require("scripts.avatar_modules.config") + instance.config = Config.new(instance) + instance.config:init() + + require("scripts.avatar_modules.camera_manager") + instance.cameraManager = CameraManager.new(instance) + instance.cameraManager:init() + + require("scripts.avatar_modules.key_manager") + instance.keyManager = KeyManager.new(instance) + instance.keyManager:init() + + require("scripts.avatar_modules.vanilla_model") + instance.vanillaModel = VanillaModel.new(instance) + instance.vanillaModel:init() + + require("scripts.avatar_modules.arms") + instance.arms = Arms.new(instance) + instance.arms:init() + + require("scripts.avatar_modules.skirt") + instance.skirt = Skirt.new(instance) + instance.skirt:init() + + require("scripts.avatar_modules.armor") + instance.armor = Armor.new(instance) + instance.armor:init() + + require("scripts.avatar_modules.face_parts") + instance.faceParts = FaceParts.new(instance) + instance.faceParts:init() + + require("scripts.avatar_modules.portrait") + instance.portrait = Portrait.new(instance) + instance.portrait:init() + + require("scripts.avatar_modules.physics") + instance.physics = Physics.new(instance) + instance.physics:init() + + require("scripts.avatar_modules.gun") + instance.gun = Gun.new(instance) + instance.gun:init() + + require("scripts.avatar_modules.nameplate") + instance.nameplate = Nameplate.new(instance) + instance.nameplate:init() + + require("scripts.avatar_modules.ex_skill.ex_skill") + instance.exSkill = ExSkill.new(instance) + instance.exSkill:init() + + require("scripts.avatar_modules.ex_skill.ex_skill_frame_particle_manager") + require("scripts.avatar_modules.ex_skill.ex_skill_frame_particle") + instance.frameParticleManager = ExSkillFrameParticleManager.new(instance) + instance.frameParticleManager:init() + + require("scripts.avatar_modules.placement_object.placement_object_manager") + require("scripts.avatar_modules.placement_object.placement_object") + instance.placementObjectManager = PlacementObjectManager.new(instance) + instance.placementObjectManager:init() + + require("scripts.avatar_modules.costume") + instance.costume = Costume.new(instance) + instance.costume:init() + + require("scripts.avatar_modules.action_wheel.action_wheel") + instance.actionWheel = ActionWheel.new(instance) + instance.actionWheel:init() + + require("scripts.avatar_modules.action_wheel.action_wheel_gui") + instance.actionWheelGui = ActionWheelGui.new(instance) + instance.actionWheelGui:init() + + require("scripts.avatar_modules.bubble") + instance.bubble = Bubble.new(instance) + instance.bubble:init() + + require("scripts.avatar_modules.barrier") + instance.barrier = Barrier.new(instance) + instance.barrier:init() + + require("scripts.avatar_modules.death_animation") + instance.deathAnimation = DeathAnimation.new(instance) + instance.deathAnimation:init() + + require("scripts.avatar_modules.hypixel_zombies") + instance.hypixelZombies = HypixelZombies.new(instance) + instance.hypixelZombies:init() + + require("scripts.avatar_modules.action_wheel.update_checker") + instance.updateChecker = UpdateChecker.new(instance) + instance.updateChecker:init() + + --生徒固有クラスの読み込み + require("scripts.character_scripts.drone") + instance.drone = Drone.new(instance) + instance.drone:init() + + require("scripts.character_scripts.drone_missile_manager") + require("scripts.character_scripts.drone_missile") + instance.missileManager = DroneMissileManager.new(instance) + instance.missileManager:init() + + require("scripts.character_scripts.bicycle") + instance.bicycle = Bicycle.new(instance) + instance.bicycle:init() + + --SCRIPT_INITイベントを実行 + instance.avatarEvents.SCRIPT_INIT:fire() + end) + + return instance + end; + + ---クラスをインスタンス化する。 + ---@generic S + ---@generic C + ---@param class `C` インスタンス化するクラス + ---@param super? `S` インスタンス化するクラスのスーパークラス + ---@param ... any クラスのインスタンス時に渡される引数 + ---@return C instance インスタンス化されたクラスのオブジェクト + instantiate = function (class, super, ...) + local instance = super and super.new(...) or {} + setmetatable(instance, {__index = class}) + setmetatable(class, {__index = super}) + return instance + end; +} + +AvatarInstance = Avatar.new() \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/action_wheel/action_wheel.lua b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/action_wheel/action_wheel.lua new file mode 100644 index 0000000..e7e2c4e --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/action_wheel/action_wheel.lua @@ -0,0 +1,319 @@ +---@class (exact) ActionWheel : AvatarModule アクションホイールを管理するクラス +---@field package mainPage Page アクションホイールのメインページのインスタンスへの参照 +---@field package selectingCostume integer 現在選択中の衣装 +---@field package selectingName integer 現在選択中の表示名 +---@field package selectingShouldShowClubName boolean 現在選択中の「部活名を表示するかどうか」 +---@field package selectingExSkillParticleAmount integer 現在選択中のExスキルフレームのパーティクル量 +---@field public shouldReplaceVehicleModels boolean 乗り物のモデルを置き換えるかどうか +---@field package isActionWheelOpenedPrev boolean 前ティックにアクションホイールを開けていたかどうか +---@field package refreshCostumeChangeActionTitle fun(self: ActionWheel) 衣装変更アクションのタイトルを更新する +---@field package refreshNameChangeActionTitle fun(self: ActionWheel) 名前変更アクションのタイトルを更新する +---@field package refreshExSkillParticleActionTitle fun(self: ActionWheel) Exスキルアニメーションのパーティクル量調整アクションのタイトルを更新する +---@field package refreshUpdateActionStatus fun(self: ActionWheel) アップデート確認アクションの状態を更新する + +ActionWheel = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ActionWheel + new = function (parent) + ---@type ActionWheel + local instance = Avatar.instantiate(ActionWheel, AvatarModule, parent) + + instance.mainPage = action_wheel:newPage("main") + instance.selectingCostume = instance.parent.costume.currentCostume + instance.selectingName = instance.parent.nameplate.currentName + instance.selectingShouldShowClubName = instance.parent.nameplate.shouldShowClubName + instance.selectingExSkillParticleAmount = instance.parent.exSkill.frameParticleAmount + instance.shouldReplaceVehicleModels = instance.parent.config:loadConfig("PRIVATE", "replaceVehicleModels", true) + instance.isActionWheelOpenedPrev = false + + return instance + end; + + ---初期化関数 + ---@param self ActionWheel + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + events.TICK:register(function() + local isActionWheelOpened = action_wheel:isEnabled() + if isActionWheelOpened then + local mainAction3 = self.mainPage:getAction(3) + mainAction3:setTitle(self.parent.locale:getLocale("action_wheel.main.action_3.title").."§c"..self.parent.locale:getLocale("action_wheel.toggle_off")) + mainAction3:setToggleTitle(self.parent.locale:getLocale("action_wheel.main.action_3.title").."§a"..self.parent.locale:getLocale("action_wheel.toggle_on")) + local mainAction4 = self.mainPage:getAction(4) + mainAction4:setTitle(self.parent.locale:getLocale("action_wheel.main.action_4.title").."§c"..self.parent.locale:getLocale("action_wheel.toggle_off")) + mainAction4:setToggleTitle(self.parent.locale:getLocale("action_wheel.main.action_4.title").."§a"..self.parent.locale:getLocale("action_wheel.toggle_on")) + local mainAction6 = self.mainPage:getAction(6) + if self.parent.characterData.actionWheel.isVehicleOptionEnabled then + mainAction6:setTitle(self.parent.locale:getLocale("action_wheel.main.action_6.title").."§c"..self.parent.locale:getLocale("action_wheel.toggle_off")) + else + mainAction6:setTitle("§7"..self.parent.locale:getLocale("action_wheel.main.action_6.title")..self.parent.locale:getLocale("action_wheel.toggle_off")) + end + mainAction6:setToggleTitle(self.parent.locale:getLocale("action_wheel.main.action_6.title").."§a"..self.parent.locale:getLocale("action_wheel.toggle_on")) + self:refreshCostumeChangeActionTitle() + self:refreshNameChangeActionTitle() + self:refreshExSkillParticleActionTitle() + self:refreshUpdateActionStatus() + elseif not isActionWheelOpened and self.isActionWheelOpenedPrev then + if self.selectingCostume ~= self.parent.costume.currentCostume then + pings.actionWheelChangeCostume(self.selectingCostume) + self.parent.config:saveConfig("PRIVATE", "costume", self.selectingCostume) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.armor.equip_leather"), player:getPos()) + print(self.parent.locale:getLocale("action_wheel.main.action_1.done_first")..self.parent.costume:getCostumeLocalName(self.selectingCostume)..self.parent.locale:getLocale("action_wheel.main.action_1.done_last")) + end + if self.selectingName ~= self.parent.nameplate.currentName or self.selectingShouldShowClubName ~= self.parent.nameplate.shouldShowClubName then + pings.actionWheelChangeName(self.selectingName, self.selectingShouldShowClubName) + self.parent.config:saveConfig("PRIVATE", "name", self.selectingName) + self.parent.config:saveConfig("PRIVATE", "showClubName", self.selectingShouldShowClubName) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:ui.cartography_table.take_result"), player:getPos()) + print(self.parent.locale:getLocale("action_wheel.main.action_2.done_first")..self.parent.nameplate:getName(self.selectingName)..self.parent.locale:getLocale("action_wheel.main.action_2.done_last")) + end + if self.selectingExSkillParticleAmount ~= self.parent.exSkill.frameParticleAmount then + self.parent.exSkill.frameParticleAmount = self.selectingExSkillParticleAmount + self.parent.config:saveConfig("PRIVATE", "exSkillFrameParticleAmount", self.selectingExSkillParticleAmount) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.item.pickup"), player:getPos(), 1, 0.5) + print(self.parent.locale:getLocale("action_wheel.main.action_5.done_first")..self.parent.locale:getLocale("action_wheel.main.action_5.option_"..self.selectingExSkillParticleAmount)..self.parent.locale:getLocale("action_wheel.main.action_5.done_last")) + end + end + self.isActionWheelOpenedPrev = isActionWheelOpened + end) + + --アクションの設定 + + --アクション1. 衣装を変更 + self.mainPage:newAction(1):setItem(self.parent.compatibilityUtils:checkItem("minecraft:leather_chestplate")):setOnScroll(function(direction) + if #self.parent.costume.costumeList >= 2 then + if direction < 0 then + self.selectingCostume = self.selectingCostume == #self.parent.costume.costumeList and 1 or self.selectingCostume + 1 + else + self.selectingCostume = self.selectingCostume == 1 and #self.parent.costume.costumeList or self.selectingCostume - 1 + end + self:refreshCostumeChangeActionTitle() + else + print(self.parent.locale:getLocale("action_wheel.main.action_1.unavailable")) + end + end):setOnLeftClick(function() + if #self.parent.costume.costumeList >= 2 then + self.selectingCostume = self.parent.costume.currentCostume + self:refreshCostumeChangeActionTitle() + end + end):setOnRightClick(function() + if #self.parent.costume.costumeList >= 2 then + self.selectingCostume = 1 + self:refreshCostumeChangeActionTitle() + end + end) + + if #self.parent.costume.costumeList >= 2 then + local action = self.mainPage:getAction(1) + action:setColor(0.78, 0.78, 0.78) + action:setHoverColor(1, 1, 1) + else + local action = self.mainPage:getAction(1) + action:setColor(0.16, 0.16, 0.16) + action:setHoverColor(1, 0.33, 0.33) + end + + --アクション2. 表示名の変更 + self.mainPage:newAction(2):setItem(self.parent.compatibilityUtils:checkItem("minecraft:name_tag")):setColor(0.78, 0.78, 0.78):setHoverColor(1, 1, 1):setOnScroll(function(direction) + if direction < 0 then + self.selectingName = self.selectingName == 6 and 1 or self.selectingName + 1 + else + self.selectingName = self.selectingName == 1 and 6 or self.selectingName - 1 + end + self:refreshNameChangeActionTitle() + end):setOnLeftClick(function() + self.selectingShouldShowClubName = not self.selectingShouldShowClubName + self:refreshNameChangeActionTitle() + end):setOnRightClick(function() + self.selectingName = 1 + self.selectingShouldShowClubName = false + self:refreshNameChangeActionTitle() + end) + + --アクション3. 防具の表示 + self.mainPage:newAction(3):setItem(self.parent.compatibilityUtils:checkItem("minecraft:iron_chestplate")):setColor(0.67, 0, 0):setHoverColor(1, 0.33, 0.33):setToggleColor(0, 0.67, 0):setOnToggle(function (_, action) + pings.actionWheelSetArmorVisible(true) + action:setHoverColor(0.33, 1, 0.33) + self.parent.config:saveConfig("PRIVATE", "showArmor", true) + end):setOnUntoggle(function(_, action) + pings.actionWheelSetArmorVisible(false) + action:setHoverColor(1, 0.33, 0.33) + self.parent.config:saveConfig("PRIVATE", "showArmor", false) + end) + if self.parent.config:loadConfig("PRIVATE", "showArmor", false) then + local action = self.mainPage:getAction(3) + action:setToggled(true) + action:setHoverColor(0.33, 1, 0.33) + end + + --アクション4. 一人称視点での武器モデルの表示 + self.mainPage:newAction(4):setItem(self.parent.compatibilityUtils:checkItem("minecraft:bow")):setColor(0.67, 0, 0):setHoverColor(1, 0.33, 0.33):setToggleColor(0, 0.67, 0):setOnToggle(function (_, action) + self.parent.gun.shouldShowWeaponInFirstPerson = true + action:setHoverColor(0.33, 1, 0.33) + self.parent.config:saveConfig("PRIVATE", "firstPersonWeapon", true) + end):setOnUntoggle(function (_, action) + self.parent.gun.shouldShowWeaponInFirstPerson = false + action:setHoverColor(1, 0.33, 0.33) + self.parent.config:saveConfig("PRIVATE", "firstPersonWeapon", false) + end) + if self.parent.config:loadConfig("PRIVATE", "firstPersonWeapon", true) then + local action = self.mainPage:getAction(4) + action:setToggled(true) + action:setHoverColor(0.33, 1, 0.33) + end + + --アクション5. Exスキルフレームのパーティクルの量 + self.mainPage:newAction(5):setItem(self.parent.compatibilityUtils:checkItem("minecraft:glowstone_dust")):setColor(0.78, 0.78, 0.78):setHoverColor(1, 1, 1):setOnScroll(function (direction) + if direction < 0 then + self.selectingExSkillParticleAmount = self.selectingExSkillParticleAmount == 4 and 1 or self.selectingExSkillParticleAmount + 1 + else + self.selectingExSkillParticleAmount = self.selectingExSkillParticleAmount == 1 and 4 or self.selectingExSkillParticleAmount - 1 + end + self:refreshExSkillParticleActionTitle() + end):setOnLeftClick(function () + self.selectingExSkillParticleAmount = self.parent.exSkill.frameParticleAmount + self:refreshExSkillParticleActionTitle() + end):setOnRightClick(function () + self.selectingExSkillParticleAmount = 1 + self:refreshExSkillParticleActionTitle() + end) + + --アクション6. 乗り物モデルの置き換え + self.mainPage:newAction(6):setItem(self.parent.compatibilityUtils:checkItem("minecraft:oak_boat")):setColor(0.67, 0, 0):setHoverColor(1, 0.33, 0.33):setToggleColor(0, 0.67, 0):setOnToggle(function (_, action) + if self.parent.characterData.actionWheel.isVehicleOptionEnabled then + pings.actionWheelSetShouldReplaceVehicleModels(true) + action:setHoverColor(0.33, 1, 0.33) + self.parent.config:saveConfig("PRIVATE", "replaceVehicleModels", true) + else + print(self.parent.locale:getLocale("action_wheel.main.action_6.unavailable")) + action:setToggled(false) + end + end):setOnUntoggle(function (_, action) + pings.actionWheelSetShouldReplaceVehicleModels(false) + action:setHoverColor(1, 0.33, 0.33) + self.parent.config:saveConfig("PRIVATE", "replaceVehicleModels", false) + end) + if not self.parent.characterData.actionWheel.isVehicleOptionEnabled then + local action = self.mainPage:getAction(6) + action:setColor(0.16, 0.16, 0.16) + action:setHoverColor(1, 0.33, 0.33) + self.shouldReplaceVehicleModels = false + elseif self.shouldReplaceVehicleModels then + local action = self.mainPage:getAction(6) + action:setToggled(true) + action:setHoverColor(0.33, 1, 0.33) + end + + --アクション7. アップデートの確認 + self.mainPage:newAction(7):setItem("minecraft:compass"):setOnLeftClick(function () + if not self.parent.updateChecker.checkerStatus ~= "CHECKING" then + self.parent.updateChecker:checkUpdate() + else + print("action_wheel.main.action_7.ongoing") + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + end + if not net:isNetworkingAllowed() or not net:isLinkAllowed("https://api.github.com") then + print(self.parent.locale:getLocale("action_wheel.main.action_7.networking_api")) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + end + end):onRightClick(function () + if self.parent.updateChecker.latestVersion ~= nil then + host:setClipboard("https://github.com/Gakuto1112/FiguraBlueArchiveCharacters/releases/tag/"..self.parent.updateChecker.latestVersion) + print(self.parent.locale:getLocale("action_wheel.main.action_7.copied")) + else + print(self.parent.locale:getLocale("action_wheel.main.action_7.cannot_check_latest")) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + end + end) + + --アクション8. (空欄) + self.mainPage:newAction(8):setColor(0.16, 0.16, 0.16):setHoverColor(0.16, 0.16, 0.16) + + action_wheel:setPage(self.mainPage) + end + end; + + ---衣装変更アクションのタイトルを更新する。 + ---@param self ActionWheel + refreshCostumeChangeActionTitle = function (self) + if #self.parent.costume.costumeList >= 2 then + self.mainPage:getAction(1):setTitle(self.parent.locale:getLocale("action_wheel.main.action_1.title").."§b"..self.parent.costume:getCostumeLocalName(self.selectingCostume)) + else + self.mainPage:getAction(1):setTitle("§7"..self.parent.locale:getLocale("action_wheel.main.action_1.title")..self.parent.costume:getCostumeLocalName(self.selectingCostume)) + end + end; + + ---名前変更アクションのタイトルを更新する。 + ---@param self ActionWheel + refreshNameChangeActionTitle = function (self) + if self.selectingName >= 2 then + if self.selectingShouldShowClubName then + self.mainPage:getAction(2):setTitle(self.parent.locale:getLocale("action_wheel.main.action_2.title").."§b"..self.parent.nameplate:getName(self.selectingName).."\n§r"..self.parent.locale:getLocale("action_wheel.main.action_2.title_2").."§a"..self.parent.locale:getLocale("action_wheel.toggle_on")) + else + self.mainPage:getAction(2):setTitle(self.parent.locale:getLocale("action_wheel.main.action_2.title").."§b"..self.parent.nameplate:getName(self.selectingName).."\n§r"..self.parent.locale:getLocale("action_wheel.main.action_2.title_2").."§c"..self.parent.locale:getLocale("action_wheel.toggle_off")) + end + else + self.mainPage:getAction(2):setTitle(self.parent.locale:getLocale("action_wheel.main.action_2.title").."§b"..self.parent.nameplate:getName(self.selectingName).."\n§7"..self.parent.locale:getLocale("action_wheel.main.action_2.title_2")..self.parent.locale:getLocale("action_wheel.toggle_"..(self.selectingShouldShowClubName and "on" or "off"))) + end + end; + + ---Exスキルアニメーションのパーティクル量調整アクションのタイトルを更新する。 + ---@param self ActionWheel + refreshExSkillParticleActionTitle = function (self) + self.mainPage:getAction(5):title(self.parent.locale:getLocale("action_wheel.main.action_5.title").."§b"..self.parent.locale:getLocale("action_wheel.main.action_5.option_"..self.selectingExSkillParticleAmount)) + end; + + ---アップデート確認アクションの状態を更新する。 + ---@param self ActionWheel + refreshUpdateActionStatus = function (self) + local action = self.mainPage:getAction(7) + local actionTitle = "" + if self.parent.updateChecker.checkerStatus == "CHECKING" then + actionTitle = actionTitle.."§7"..self.parent.locale:getLocale("action_wheel.main.action_7.title_1")..self.parent.locale:getLocale("action_wheel.main.action_7.title_2").."\n" + action:setColor(0.16, 0.16, 0.16) + action:setHoverColor(1, 0.33, 0.33) + else + actionTitle = actionTitle..self.parent.locale:getLocale("action_wheel.main.action_7.title_1").."§b"..self.parent.locale:getLocale("action_wheel.main.action_7.title_2").."\n" + action:setColor(0.78, 0.78, 0.78) + action:setHoverColor(1, 1, 1) + end + if self.parent.updateChecker.latestVersion == nil then + actionTitle = actionTitle.."§7"..self.parent.locale:getLocale("action_wheel.main.action_7.title_3")..self.parent.locale:getLocale("action_wheel.main.action_7.title_4") + else + actionTitle = actionTitle.."§r"..self.parent.locale:getLocale("action_wheel.main.action_7.title_3").."§b"..self.parent.locale:getLocale("action_wheel.main.action_7.title_4") + end + action:setTitle(actionTitle) + end; +} + +---アクションホイールから衣装を変更するトリガー関数 +---@param costumeId integer 新しい衣装のインデックス番号 +function pings.actionWheelChangeCostume(costumeId) + if costumeId >= 2 then + AvatarInstance.costume:setCostume(costumeId) + else + AvatarInstance.costume:resetCostume() + end +end + +---アクションホイールから名前を変更するトリガー関数 +---@param typeId integer 新しい名前の表示形式のインデックス番号 +---@param shouldShowClubName boolean 部活名を表示するかどうか +function pings.actionWheelChangeName(typeId, shouldShowClubName) + AvatarInstance.nameplate:setName(typeId, shouldShowClubName) +end + +---アクションホイールから防具の可視性を変更するトリガー関数 +---@param visible boolean 防具を表示するかどうか +function pings.actionWheelSetArmorVisible(visible) + AvatarInstance.armor.shouldShowArmor = visible +end + +---アクションホイールから乗り物モデルの置き換えを変更するトリガー関数 +---@param enabled boolean 乗り物モデルの置き換えを有効化するかどうか +function pings.actionWheelSetShouldReplaceVehicleModels(enabled) + AvatarInstance.actionWheel.shouldReplaceVehicleModels = enabled +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/action_wheel/action_wheel_gui.lua b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/action_wheel/action_wheel_gui.lua new file mode 100644 index 0000000..18f89b7 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/action_wheel/action_wheel_gui.lua @@ -0,0 +1,113 @@ +---@class ActionWheelGui : AvatarModule アクションホイールに表示する追加のGUIを管理するクラス +---@field package isActionWheelOpenedPrev boolean 前ティックにアクションホイールを開けていたかどうか + +ActionWheelGui = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ActionWheelGui + new = function (parent) + ---@type ActionWheelGui + local instance = Avatar.instantiate(ActionWheelGui, AvatarModule, parent) + + instance.isActionWheelOpenedPrev = false + + return instance + end; + + ---初期化関数 + ---@param self ActionWheelGui + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + events.TICK:register(function () + local isActionWheelOpened = action_wheel:isEnabled() + if isActionWheelOpened and not self.isActionWheelOpenedPrev then + models.models.action_wheel_gui.Gui:setVisible(true) + + local windowSize = client:getScaledWindowSize() + models.models.action_wheel_gui.Gui.BubbleGuide:setPos(windowSize.x * -0.5 + 44, windowSize.y * -0.5 + 5, 0) + models.models.action_wheel_gui.Gui.ExSkillGuide:setPos(windowSize.x * -0.5 + 57, -21, 0) + models.models.action_wheel_gui.Gui.VersionDisplay:setPos(-0.75, -0.5, 0) + + local bubbleGuideTextTasks = {models.models.action_wheel_gui.Gui.BubbleGuide:getTask("action_wheel.gui.bubble_guide.title"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.GoodEmoji:getTask("bubble_guide.bubble_1.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.HeartEmoji:getTask("bubble_guide.bubble_2.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.NoteEmoji:getTask("bubble_guide.bubble_3.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.QuestionEmoji:getTask("bubble_guide.bubble_4.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.SweatEmoji:getTask("bubble_guide.bubble_5.key_name")} + bubbleGuideTextTasks[1]:setText(self.parent.locale:getLocale("action_wheel.gui.bubble_guide.title")) + for i = 2, #bubbleGuideTextTasks do + bubbleGuideTextTasks[i]:setText("§0"..self.parent.keyManager.keyMappings["bubble_"..(i - 1)]:getKeyName()) + end + + local bubbleGuideTitleWidth = client.getTextWidth(bubbleGuideTextTasks[1]:getText()) / 2 + 4 + local bubbleGuideBodyWidth = 0 + for i = 2, #bubbleGuideTextTasks do + bubbleGuideBodyWidth = math.max(bubbleGuideBodyWidth, client.getTextWidth(bubbleGuideTextTasks[i]:getText()) * 0.5) + end + local bubbleGuideWidth = math.max(bubbleGuideTitleWidth + 6, bubbleGuideBodyWidth + 22) + bubbleGuideWidth = math.max(bubbleGuideWidth, 39) + + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.TitleBar:setPos((bubbleGuideWidth - bubbleGuideTitleWidth) / 2, 0, 0) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.TitleBar:setScale(bubbleGuideTitleWidth, 1, 1) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.TitleCenter:setScale(bubbleGuideWidth - 25, 1, 1) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.TitleLeft:setPos(bubbleGuideWidth - 26, 0, 0) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.BodyTop:setScale(bubbleGuideWidth, 1, 1) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.BodyBottomCenter:setScale(bubbleGuideWidth - 39, 1, 1) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.BodyBottomLeft:setPos(bubbleGuideWidth - 40, 0, 0) + models.models.action_wheel_gui.Gui.BubbleGuide.Emojis:setPos((bubbleGuideWidth - (bubbleGuideBodyWidth + 22)) / 2 + bubbleGuideBodyWidth + 9, 0, 0) + bubbleGuideTextTasks[1]:setPos(bubbleGuideWidth / 2, 0, 0) + for i = 2, #bubbleGuideTextTasks do + bubbleGuideTextTasks[i]:setPos(bubbleGuideBodyWidth / -2 - 4, 1.5, 0) + end + + local exSkillGuideTextTasks = {models.models.action_wheel_gui.Gui.ExSkillGuide:getTask("action_wheel.gui.ex_skill_guide.title"), models.models.action_wheel_gui.Gui.ExSkillGuide:getTask("action_wheel.gui.ex_skill_guide.body_1"), models.models.action_wheel_gui.Gui.ExSkillGuide:getTask("action_wheel.gui.ex_skill_guide.body_2")} + exSkillGuideTextTasks[1]:setText(self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.title")) + exSkillGuideTextTasks[2]:setText(self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill == nil and "§0§l\""..self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.ex_skill_"..self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].exSkill..".name").."\"" or "§0§l\""..self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.ex_skill_"..self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].exSkill..".name").."\"§r§0 - \""..self.parent.keyManager.keyMappings.ex_skill:getKeyName().."\"") + exSkillGuideTextTasks[3]:setText(self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill == nil and "§0"..self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.key_pre")..self.parent.keyManager.keyMappings.ex_skill:getKeyName()..self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.key_post") or "§0§l\""..self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.ex_skill_"..self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill..".name").."\"§r§0 - \""..self.parent.keyManager.keyMappings.ex_skill_sub:getKeyName().."\"") + + local exSkillGuideTitleWidth = client.getTextWidth(exSkillGuideTextTasks[1]:getText()) / 2 + 4 + local exSkillGuideWidth = exSkillGuideTitleWidth + for i = 2, #exSkillGuideTextTasks do + exSkillGuideWidth = math.max(exSkillGuideWidth, client.getTextWidth(exSkillGuideTextTasks[i]:getText()) / 2 + 10) + end + exSkillGuideWidth = math.max(exSkillGuideWidth, 39) + + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.TitleBar:setPos((exSkillGuideWidth - exSkillGuideTitleWidth) / 2, 0, 0) + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.TitleBar:setScale(exSkillGuideTitleWidth, 1, 1) + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.TitleCenter:setScale(exSkillGuideWidth - 25, 1, 1) + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.TitleLeft:setPos(exSkillGuideWidth - 26, 0, 0) + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.BodyBottomCenter:setScale(exSkillGuideWidth - 39, 1, 1) + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.BodyBottomLeft:setPos(exSkillGuideWidth - 40, 0, 0) + exSkillGuideTextTasks[1]:setPos(exSkillGuideWidth / 2, 0, 0) + for i = 2, #exSkillGuideTextTasks do + exSkillGuideTextTasks[i]:setPos(exSkillGuideWidth / 2, (i - 2) * -5 - 8) + end + + local versionDisplayTextTasks = {} + for i = 1, 3 do + table.insert(versionDisplayTextTasks, models.models.action_wheel_gui.Gui.VersionDisplay:getTask("action_wheel.gui.version_display.l"..i)) + end + + for i = 2, 3 do + versionDisplayTextTasks[i]:setPos(0, (i - 1) * -2.25, 0) + end + + elseif not isActionWheelOpened and self.isActionWheelOpenedPrev then + models.models.action_wheel_gui.Gui:setVisible(false) + end + self.isActionWheelOpenedPrev = isActionWheelOpened + end) + + models.models.action_wheel_gui.Gui:setScale(2, 2, 2) + for _, textTask in ipairs({models.models.action_wheel_gui.Gui.BubbleGuide:newText("action_wheel.gui.bubble_guide.title"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.GoodEmoji:newText("bubble_guide.bubble_1.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.HeartEmoji:newText("bubble_guide.bubble_2.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.NoteEmoji:newText("bubble_guide.bubble_3.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.QuestionEmoji:newText("bubble_guide.bubble_4.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.SweatEmoji:newText("bubble_guide.bubble_5.key_name"), models.models.action_wheel_gui.Gui.ExSkillGuide:newText("action_wheel.gui.ex_skill_guide.title"), models.models.action_wheel_gui.Gui.ExSkillGuide:newText("action_wheel.gui.ex_skill_guide.body_1"), models.models.action_wheel_gui.Gui.ExSkillGuide:newText("action_wheel.gui.ex_skill_guide.body_2")}) do + textTask:setScale(0.5, 0.5, 0.5) + textTask:setAlignment("CENTER") + end + for i = 1, 3 do + local textTask = models.models.action_wheel_gui.Gui.VersionDisplay:newText("action_wheel.gui.version_display.l"..i) + textTask:setScale(0.25, 0.25, 0.25) + textTask:setShadow(true) + if i == 1 then + textTask:setText("Figura Blue Archive Characters (FBAC)") + end + end + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/action_wheel/update_checker.lua b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/action_wheel/update_checker.lua new file mode 100644 index 0000000..0b0868d --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/action_wheel/update_checker.lua @@ -0,0 +1,181 @@ +---@alias UpdateChecker.CheckerStatus +---| "INIT" # 初期状態 +---| "CHECKING" # アップデート確認中 +---| "LATEST" # アップデート確認済み:最新版 +---| "UPDATE_AVAILABLE" # アップデート確認済み:アップデートあり +---| "ERROR_INVALID_JSON" # エラー:予期しないJSONデータ +---| "ERROR_INVALID_JSON_SYNTAX" # エラー:不正なJSON構文 +---| "ERROR_REQUEST_FAILED" # リクエストに失敗 +---| "ERROR_NETWORK_ERR" # ネットワークエラー +---| "ERROR_NOT_ALLOWED" # ネットワーキングAPIが不許可 + +---@class (exact) UpdateChecker : AvatarModule FBACのアップデートの確認を管理するクラス +---@field package FBAC_VERSION string 現在のFBACバージョン +---@field package BRANCH_NAME string このブランチ名(キャラクター名) +---@field public latestVersion? string リモート上にある最新のFBACバージョン +---@field public checkerStatus UpdateChecker.CheckerStatus アップデートチェッカーの状態 +---@field package requestStatus integer 送信したリクエストのステータスコード +---@field package responseHandler Future.HttpResponse|nil httpレスポンスのハンドラ +---@field package textAnimationCount integer 新しいバージョン表示のテキストのアニメーションのカウンター +---@field package isActionWheelOpenedPrev boolean 前ティックにアクションホイールを開けていたかどうか +---@field package compareVersions fun(version1: string, version2: string): string|nil 2つのバージョン文字列を比較し、新しい方を返す +---@field package showNewUpdateMessage fun(self: UpdateChecker) 新FBACバージョンのお知らせを表示する +---@field public checkUpdate fun(self: UpdateChecker) FBACアップデートの確認を行う + +UpdateChecker = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return UpdateChecker + new = function (parent) + ---@type UpdateChecker + local instance = Avatar.instantiate(UpdateChecker, AvatarModule, parent) + + instance.FBAC_VERSION = "v2.1.2" + instance.BRANCH_NAME = "Shiroko" + instance.latestVersion = instance.parent.config:loadConfig("PUBLIC", "latestVersion", nil) + instance.checkerStatus = "INIT" + instance.requestStatus = 0 + instance.textAnimationCount = 0 + + return instance + end; + + ---初期化関数 + ---@param self UpdateChecker + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + models.models.action_wheel_gui.Gui.VersionDisplay:getTask("action_wheel.gui.version_display.l2"):setText(self.FBAC_VERSION.." - "..self.BRANCH_NAME) + + events.TICK:register(function () + local isActionWheelOpened = action_wheel:isEnabled() + if isActionWheelOpened then + local textTask = models.models.action_wheel_gui.Gui.VersionDisplay:getTask("action_wheel.gui.version_display.l3") + if self.checkerStatus == "UPDATE_AVAILABLE" then + if math.floor(self.textAnimationCount / 20) % 2 == 0 then + textTask:setText("§6§n"..self.parent.locale:getLocale("action_wheel.gui.update_check.update_available")..self.latestVersion) + else + textTask:setText("§n"..self.parent.locale:getLocale("action_wheel.gui.update_check.update_available")..self.latestVersion) + end + self.textAnimationCount = self.textAnimationCount + 1 + elseif self.checkerStatus == "ERROR_REQUEST_FAILED" then + textTask:setText(self.parent.locale:getLocale("action_wheel.gui.update_check.error_request_failed").."("..self.requestStatus..")") + else + textTask:setText(self.parent.locale:getLocale("action_wheel.gui.update_check."..self.checkerStatus:lower())) + end + elseif not isActionWheelOpened and self.isActionWheelOpenedPrev then + self.textAnimationCount = 0 + end + self.isActionWheelOpenedPrev = isActionWheelOpened + end) + + local lastUpdateCheckTime = self.parent.config:loadConfig("PUBLIC", "lastUpdateCheckTime", 0) + if client:getSystemTime() >= lastUpdateCheckTime + 86400000 then + self:checkUpdate() + else + local newerVersion = self.compareVersions(self.latestVersion, self.FBAC_VERSION) + if newerVersion ~= nil and newerVersion ~= self.FBAC_VERSION then + self:showNewUpdateMessage() + self.checkerStatus = "UPDATE_AVAILABLE" + else + self.checkerStatus = "LATEST" + end + end + end + end; + + ---2つのバージョン文字列を比較し、新しい方を返す。 + ---@param version1 string 比較するバージョン文字列1 + ---@param version2 string 比較するバージョン文字列2 + ---@return string|nil newerVersion 新しい方のバージョン文字列。比較不可能だった場合はnilを返す。 + compareVersions = function (version1, version2) + local major1, minor1, patch1 = version1:match("^v(%d+)%.(%d+)%.(%d+)") + local major2, minor2, patch2 = version2:match("^v(%d+)%.(%d+)%.(%d+)") + major1 = tonumber(major1) + minor1 = tonumber(minor1) + patch1 = tonumber(patch1) + major2 = tonumber(major2) + minor2 = tonumber(minor2) + patch2 = tonumber(patch2) + if major1 ~= nil and minor1 ~= nil and patch1 ~= nil and major2 ~= nil and minor2 ~= nil and patch2 ~= nil then + return (major1 > major2 or (major1 == major2 and minor1 > minor2) or (major1 == major2 and minor1 == minor2 and patch1 > patch2)) and version1 or version2 + end + end; + + ---新FBACバージョンのお知らせを表示する。 + ---@param self UpdateChecker + showNewUpdateMessage = function (self) + print(self.parent.locale:getLocale("action_wheel.gui.update_check.update_available")..self.latestVersion) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.experience_orb.pickup"), player:getPos(), 1, 1) + end; + + ---FBACアップデートの確認を行う。 + ---@param self UpdateChecker + checkUpdate = function (self) + if host:isHost() and self.checkerStatus ~= "CHECKING" then + self.checkerStatus = "CHECKING" + if net:isNetworkingAllowed() and net:isLinkAllowed("https://api.github.com") then + local request = net.http:request("https://api.github.com/repos/Gakuto1112/FiguraBlueArchiveCharacters/tags") + self.responseHandler = request:send() + events.TICK:register(function () + if self.responseHandler:isDone() then + local response = self.responseHandler:getValue() + if response ~= nil then + local stats = response:getResponseCode() + if math.floor(stats / 100) == 2 then + local stream = response:getData() + local buffer = data:createBuffer() + buffer:readFromStream(stream) + buffer:setPosition(0) + local jsonData = buffer:readByteArray() + if json.isSerializable(jsonData) then + local parseData = parseJson(jsonData) + if parseData[1] ~= nil and parseData[1].name ~= nil then + local newerVersion = self.compareVersions(parseData[1].name, self.FBAC_VERSION) + if newerVersion ~= nil then + if newerVersion ~= self.FBAC_VERSION then + --新しいバージョンがある + self.latestVersion = parseData[1].name + self.checkerStatus = "UPDATE_AVAILABLE" + self:showNewUpdateMessage() + else + --現在は最新 + self.latestVersion = parseData[1].name + self.checkerStatus = "LATEST" + end + self.parent.config:saveConfig("PUBLIC", "lastUpdateCheckTime", client:getSystemTime()) + self.parent.config:saveConfig("PUBLIC", "latestVersion", parseData[1].name) + else + --予期しないJSONデータ + self.checkerStatus = "ERROR_INVALID_JSON" + end + else + --予期しないJSONデータ + self.checkerStatus = "ERROR_INVALID_JSON" + end + else + --JSON解析エラー + self.checkerStatus = "ERROR_INVALID_JSON_SYNTAX" + end + stream:close() + buffer:close() + else + --ステータスコードが200番台以外 + self.checkerStatus = "ERROR_REQUEST_FAILED" + self.requestStatus = stats + end + else + --ネットワークエラー + self.checkerStatus = "ERROR_NETWORK_ERR" + end + events.TICK:remove("update_checker_http_tick") + end + end, "update_checker_http_tick") + else + ---ネットワーキングAPIが不許可 + self.checkerStatus = "ERROR_NOT_ALLOWED" + end + end + end; +} diff --git a/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/armor.lua b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/armor.lua new file mode 100644 index 0000000..7c22696 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/armor.lua @@ -0,0 +1,364 @@ +---防具の部位 +---@alias Armor.ArmorPart +---| "HELMET" # ヘルメット +---| "CHEST_PLATE" # チェストプレート +---| "LEGGINGS" # レギンス +---| "BOOTS" # ブーツ + +---@class (exact) Armor : AvatarModule 防具の表示を制御するクラス +---@field public shouldShowArmor boolean 防具を表示するかどうか +---@field public armorSlotItems ItemStack[] 現ティックの防具スロットのアイテム +---@field package armorSlotItemsPrev ItemStack[] 前ティックの防具スロットのアイテム +---@field public isArmorVisible Armor.VisiblePartsSet 各防具の部位(ヘルメット、チェストプレート、レギンス、ブーツ)が可視状態かどうか +---@field package textureQueue Armor.TextureQueueData[] テクスチャ処理のキュー +---@field package getArmorColor fun(armorItem: ItemStack): number 防具の色を取得する +---@field package compareTrims fun(trim1?: Armor.TrimData, trim2?: Armor.TrimData): boolean 防具装飾が同じものか比較する +---@field package addTextureQueue fun(self: Armor, texture: Texture, paletteName: string) テクスチャの処理のキューにデータを挿入する +---@field package getTrimTexture fun(self: Armor, trimData?: Armor.TrimData, armorId: string): Texture|nil バニラパーツの防具装飾のテクスチャを取得する。テクスチャの処理は次のチック以降行われる。 +---@field public setHelmet fun(self: Armor, helmetItem: ItemStack) ヘルメットを更新する +---@field public setChestplate fun(self: Armor, chestplateItem: ItemStack) チェストプレートを更新する +---@field public setLeggings fun(self: Armor, leggingsItem: ItemStack) レギンスを更新する +---@field public setBoots fun(self: Armor, bootsItem: ItemStack) ブーツを更新する + +---@class (exact) Armor.VisiblePartsSet 各防具の部位の可視状態のセット +---@field public helmet boolean ヘルメット +---@field public chestplate boolean チェストプレート +---@field public leggings boolean レギンス +---@field public boots boolean ブーツ + +---@class (exact) Armor.TextureQueueData テクスチャキューに入るデータの構造体 +---@field public texture Texture 処理対象のテクスチャ +---@field public palette Texture 処理に使用するパレットのテクスチャ +---@field public iterationCount integer 現在の繰り返しカウンター + +---@class (exact) Armor.TrimData 防具装飾のデータセット +---@field public pattern string 防具装飾の模様 +---@field public material string 防具装飾の素材 + +Armor = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Armor + new = function (parent) + ---@type Armor + local instance = Avatar.instantiate(Armor, AvatarModule, parent) + instance.shouldShowArmor = instance.parent.config:loadConfig("PRIVATE", "showArmor", false) + instance.armorSlotItems = {world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air"))} + instance.armorSlotItemsPrev = {world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air"))} + instance.isArmorVisible = { + helmet = false; + chestplate = false; + leggings = false; + boots = false; + } + instance.textureQueue = {} + + return instance + end; + + ---初期化関数 + ---@param self Armor + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + self.armorSlotItems = self.shouldShowArmor and {player:getItem(6), player:getItem(5), player:getItem(4), player:getItem(3)} or {world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))} + if self.armorSlotItems[1].id ~= self.armorSlotItemsPrev[1].id then + self:setHelmet(self.armorSlotItems[1]) + end + if self.armorSlotItems[2].id ~= self.armorSlotItemsPrev[2].id then + self:setChestplate(self.armorSlotItems[2]) + end + if self.armorSlotItems[3].id ~= self.armorSlotItemsPrev[3].id then + self:setLeggings(self.armorSlotItems[3]) + end + if self.armorSlotItems[4].id ~= self.armorSlotItemsPrev[4].id then + self:setBoots(self.armorSlotItems[4]) + end + + for index, armorSlotItem in ipairs(self.armorSlotItems) do + local glint = armorSlotItem:hasGlint() + if glint ~= self.armorSlotItemsPrev[index]:hasGlint() then + --エンチャント変更 + local renderType = glint and "GLINT" or "NONE" + if index == 2 then + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom}) do + armorPart:setSecondaryRenderType(renderType) + end + elseif index == 3 then + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom}) do + armorPart:setSecondaryRenderType(renderType) + end + else + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom}) do + armorPart:setSecondaryRenderType(renderType) + end + end + end + local armorColor = self.getArmorColor(armorSlotItem) + if armorColor ~= self.getArmorColor(self.armorSlotItemsPrev[index]) then + --色変更 + local colorVector = vectors.intToRGB(armorColor) + if index == 2 then + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplate, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottom, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplate, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottom}) do + armorPart:setColor(colorVector) + end + elseif index == 3 then + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggings, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggings, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottom}) do + armorPart:setColor(colorVector) + end + else + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBoots, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBoots, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottom}) do + armorPart:setColor(colorVector) + end + end + end + local trim = self.armorSlotItems[index].tag.Trim + if not self.compareTrims(trim, self.armorSlotItemsPrev[index].tag.Trim) then + --トリム変更 + if index == 2 then + local trimTexture = self:getTrimTexture(trim, self.armorSlotItems[2].id) + if trimTexture then + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplateTrim, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottomTrim, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplateTrim, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottomTrim}) do + armorPart:setVisible(true) + armorPart:setPrimaryTexture("CUSTOM", trimTexture) + end + else + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplateTrim, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottomTrim, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplateTrim, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottomTrim}) do + armorPart:setVisible(false) + end + end + elseif index == 3 then + local trimTexture = self:getTrimTexture(trim, self.armorSlotItems[3].id) + if trimTexture then + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggingsTrim, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottomTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggingsTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottomTrim}) do + armorPart:setVisible(true) + armorPart:setPrimaryTexture("CUSTOM", trimTexture) + end + else + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggingsTrim, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottomTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggingsTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottomTrim}) do + armorPart:setVisible(false) + end + end + else + local trimTexture = self:getTrimTexture(trim, self.armorSlotItems[4].id) + if trimTexture then + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBootsTrim, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottomTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBootsTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottomTrim}) do + armorPart:setVisible(true) + armorPart:setPrimaryTexture("CUSTOM", trimTexture) + end + else + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBootsTrim, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottomTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBootsTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottomTrim}) do + armorPart:setVisible(false) + end + end + end + end + end + --テクスチャの作成処理 + if #self.textureQueue > 0 then + local instructionsAvailable = avatar:getMaxTickCount() - 3000 --このTICKで使用出来る残りの命令数 + while #self.textureQueue > 0 and instructionsAvailable > 0 do + local dimension = self.textureQueue[1].texture:getDimensions() + for y = math.floor(self.textureQueue[1].iterationCount / dimension.x), dimension.y - 1 do + for x = self.textureQueue[1].iterationCount % dimension.x, dimension.x - 1 do + local pixel = self.textureQueue[1].texture:getPixel(x, y) + if pixel.w == 1 then + self.textureQueue[1].texture:setPixel(x, y, self.textureQueue[1].palette:getPixel(7 - math.floor(pixel.x * 8), 0)) + end + self.textureQueue[1].iterationCount = self.textureQueue[1].iterationCount + 1 + instructionsAvailable = instructionsAvailable - 45 + if instructionsAvailable <= 0 then + break + end + end + if instructionsAvailable <= 0 then + break + end + end + self.textureQueue[1].texture:update() + if self.textureQueue[1].iterationCount == dimension.x * dimension.y then + table.remove(self.textureQueue, 1) + end + end + end + self.armorSlotItemsPrev = self.armorSlotItems + end) + + for _, vanillaModel in ipairs({vanilla_model.HELMET, vanilla_model.CHESTPLATE, vanilla_model.LEGGINGS}) do + vanillaModel:setVisible(false) + end + for _, overlayPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottomOverlay, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottomOverlay, models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBootsOverlay, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottomOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBootsOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottomOverlay}) do + overlayPart:setPrimaryTexture("RESOURCE", "minecraft:textures/models/armor/leather_layer_1_overlay.png") + end + for _, overlayPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggingsOverlay, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottomOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggingsOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottomOverlay}) do + overlayPart:setPrimaryTexture("RESOURCE", "minecraft:textures/models/armor/leather_layer_2_overlay.png") + end + end; + + ---防具の色を取得する。 + ---@param armorItem ItemStack 調べるアイテムのオブジェクト + ---@return number color 防具モデルに設定すべき色 + getArmorColor = function (armorItem) + if armorItem.id:find("^minecraft:leather_") then + if armorItem.tag then + if armorItem.tag.display then + return armorItem.tag.display.color and armorItem.tag.display.color or 10511680 + else + return 10511680 + end + else + return 10511680 + end + else + return 16777215 + end + end; + + ---防具装飾が同じものか比較する。 + ---@param trim1? Armor.TrimData 比較する防具装飾のテーブル1 + ---@param trim2? Armor.TrimData 比較する防具装飾のテーブル2 + ---@return boolean isTrimSame 2つの防具装飾が同じものかどうか + compareTrims = function (trim1, trim2) + if type(trim1) == type(trim2) then + if trim1 then + if trim1.pattern ~= trim2.pattern then + return false + elseif trim1.material ~= trim2.material then + return false + else + return true + end + else + return true + end + else + return false + end + end; + + ---テクスチャの処理のキューにデータを挿入する。 + ---@param self Armor + ---@param texture Texture 処理を行うテクスチャ + ---@param paletteName string 使用するパレットの名前 + addTextureQueue = function (self, texture, paletteName) + if textures["trim_palette_"..paletteName] == nil then + textures:fromVanilla("trim_palette_"..paletteName, "minecraft:textures/trims/color_palettes/"..paletteName..".png") + end + table.insert(self.textureQueue, 1, { + texture = texture, + palette = textures["trim_palette_"..paletteName], + iterationCount = 0 + }) + end; + + ---バニラパーツの防具装飾のテクスチャを取得する。テクスチャの処理は次のチック以降行われる。 + ---@param self Armor + ---@param trimData? Armor.TrimData 防具装飾のデータ + ---@param armorId string 防具アイテムのID。 + ---@return Texture|nil trimTexture 色を付けた防具装飾のテクスチャ。防具や防具装飾が非バニラの場合はnilを返す。 + getTrimTexture = function (self, trimData, armorId) + if trimData and trimData.pattern:find("^minecraft:.+$") and trimData.material:find("^minecraft:.+$") and armorId:find("^minecraft:.+_.+$") then + local normalizedPatternName = trimData.pattern:match("^minecraft:(%a+)$") + local normalizedArmorMaterialName = armorId:match("^minecraft:(%a+)_.+$") + normalizedArmorMaterialName = normalizedArmorMaterialName == "golden" and "gold" or normalizedArmorMaterialName + local normalizedMaterialName = trimData.material:match("^minecraft:(%a+)$") + normalizedMaterialName = normalizedMaterialName..(normalizedArmorMaterialName == normalizedMaterialName and "_darker" or "") + local isLeggings = armorId:find("^minecraft:.+_leggings$") + local textureName = "trim_"..normalizedPatternName.."_"..normalizedMaterialName..(isLeggings and "_leggings" or "") + if textures[textureName] then + return textures[textureName] + else + local texture = textures:fromVanilla(textureName, "minecraft:textures/trims/models/armor/"..normalizedPatternName..(armorId:find("^minecraft:.+_leggings$") ~= nil and "_leggings" or "")..".png") + self:addTextureQueue(texture, normalizedMaterialName) + return texture + end + end + end; + + ---ヘルメットを更新する。 + ---@param self Armor + ---@param helmetItem ItemStack ヘルメットのスロットに入っているアイテム + setHelmet = function (self, helmetItem) + local helmetFound = helmetItem.id ~= "minecraft:air" + vanilla_model.HELMET:setVisible(helmetFound) + self.isArmorVisible.helmet = helmetFound + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onArmorChange ~= nil then + self.parent.characterData.costume.callbacks.onArmorChange(self.parent.characterData, "HELMET", self.isArmorVisible.helmet) + end + end; + + ---チェストプレートを更新する。 + ---@param self Armor + ---@param chestplateItem ItemStack チェストプレートスロットに入っているアイテム + setChestplate = function (self, chestplateItem) + local chestplateFound = chestplateItem.id:find("^minecraft:.+_chestplate$") ~= nil + vanilla_model.CHESTPLATE:setVisible(chestplateFound) + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB}) do + armorPart:setVisible(chestplateFound) + end + self.isArmorVisible.chestplate = chestplateFound + if self.isArmorVisible.chestplate then + local material = chestplateItem.id:match("^minecraft:(%a+)_chestplate$") + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplate, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottom, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplate, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottom}) do + armorPart:setPrimaryTexture("RESOURCE", "minecraft:textures/models/armor/"..(material == "golden" and "gold" or material).."_layer_1.png") + end + end + local overlayVisible = chestplateItem.id == "minecraft:leather_chestplate" + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottomOverlay, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottomOverlay}) do + armorPart:setVisible(overlayVisible) + end + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onArmorChange ~= nil then + self.parent.characterData.costume.callbacks.onArmorChange(self.parent.characterData, "CHEST_PLATE", self.isArmorVisible.chestplate) + end + end; + + ---レギンスを更新する。 + ---@param self Armor + ---@param leggingsItem ItemStack レギンススロットに入っているアイテム + setLeggings = function (self, leggingsItem) + local leggingsFound = leggingsItem.id:find("^minecraft:.+_leggings$") ~= nil + vanilla_model.LEGGINGS:setVisible(leggingsFound) + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom}) do + armorPart:setVisible(leggingsFound) + end + self.isArmorVisible.leggings = leggingsFound + if self.isArmorVisible.leggings then + local material = leggingsItem.id:match("^minecraft:(%a+)_leggings$") + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggings, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggings, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottom}) do + armorPart:setPrimaryTexture("RESOURCE", "minecraft:textures/models/armor/"..(material == "golden" and "gold" or material).."_layer_2.png") + end + end + local overlayVisible = leggingsItem.id == "minecraft:leather_leggings" + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggingsOverlay, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottomOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggingsOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottomOverlay}) do + armorPart:setVisible(overlayVisible) + end + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onArmorChange ~= nil then + self.parent.characterData.costume.callbacks.onArmorChange(self.parent.characterData, "LEGGINGS", self.isArmorVisible.leggings) + end + end; + + ---ブーツを更新する。 + ---@param self Armor + ---@param bootsItem ItemStack ブーツスロットに入っているアイテム + setBoots = function (self, bootsItem) + local bootsFound = bootsItem.id:find("^minecraft:.+_boots$") ~= nil + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom}) do + armorPart:setVisible(bootsFound) + end + self.isArmorVisible.boots = bootsFound + if self.isArmorVisible.boots then + local material = bootsItem.id:match("^minecraft:(%a+)_boots$") + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBoots, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBoots, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottom}) do + armorPart:setPrimaryTexture("RESOURCE", "minecraft:textures/models/armor/"..(material == "golden" and "gold" or material).."_layer_1.png") + end + end + local overlayVisible = bootsItem.id == "minecraft:leather_boots" + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBootsOverlay, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottomOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBootsOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottomOverlay}) do + armorPart:setVisible(overlayVisible) + end + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onArmorChange ~= nil then + self.parent.characterData.costume.callbacks.onArmorChange(self.parent.characterData, "BOOTS", self.isArmorVisible.boots) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/arms.lua b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/arms.lua new file mode 100644 index 0000000..96d230b --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/arms.lua @@ -0,0 +1,192 @@ +---@class (exact) Arms : AvatarModule アバターの腕を制御するクラス +---@field public armState Arms.ArmStateSet 腕の状態:0. バニラ状態, 1. 銃を構えている際の、銃を構えている方の腕, 2. 銃を構えている際の、銃を構えていない方の腕, 3. クロスボウ装填中 +---@field package armStatePrev Arms.ArmStateSet 前ティックの腕の状態 +---@field public swingCount integer 腕をプラプラさせるカウンター +---@field package isSwingCountProcessed boolean 腕プラプラカウンターを処理したかどうか +---@field package processArmWingCount fun(self: Arms) 腕プラプラカウンターを処理する +---@field public setArmState fun(self: Arms, right?: integer, left?: integer) 腕の状態を設定する + +---@class (exact) Arms.ArmStateSet 腕の状態を示すデータセット +---@field public right integer 右腕の状態 +---@field public left integer 左腕の状態 + +Arms = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Arms + new = function (parent) + ---@type Arms + local instance = Avatar.instantiate(Arms, AvatarModule, parent) + + instance.armState = { + right = 0; + left = 0; + } + instance.armStatePrev = { + right = 0; + left = 0; + } + instance.swingCount = 0 + instance.isSwingCountProcessed = false + + return instance + end; + + ---初期化関数 + ---@param self Arms + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + self.isSwingCountProcessed = false + end) + end; + + ---腕プラプラカウンターを処理する。 + ---@param self Arms + processArmWingCount = function (self) + if not client:isPaused() and not self.isSwingCountProcessed then + self.swingCount = self.swingCount + 1 + self.swingCount = self.swingCount == 100 and 0 or self.swingCount + self.isSwingCountProcessed = true + end + end; + + ---腕の状態を設定する。 + ---@param self Arms + ---@param right? integer 右腕の状態 + ---@param left? integer 左腕の状態 + setArmState = function (self, right, left) + if right ~= nil then + self.armState.right = right + end + if left ~= nil then + self.armState.left = left + end + if (self.armState.right == 1 or self.armState.left == 1) and player:getActiveItem().id == "minecraft:crossbow" then + self:setArmState(3, 3) + return + end + if self.parent.characterData.arms.callbacks ~= nil and self.parent.characterData.arms.callbacks.onArmStateChanged ~= nil then + local result = self.parent.characterData.arms.callbacks.onArmStateChanged(self.parent.characterData, self.armState.right, self.armState.left) + if result ~= nil then + if result.right ~= nil then + self.armState.right = result.right + end + if result.left ~= nil then + self.armState.left = result.left + end + end + end + + --右腕の操作 + if self.armState.right ~= self.armStatePrev.right then + --腕の状態をリセット + models.models.main.Avatar.UpperBody.Arms.RightArm:setRot() + models.models.main.Avatar.UpperBody.Arms.RightArm:setParentType("RightArm") + events.TICK:remove("right_arm_tick") + events.RENDER:remove("right_arm_render") + if self.armState.right == 1 then + --銃を構えている際の、銃を構えている方の腕 + events.TICK:register(function () + if self.armState.right == 1 then + self:processArmWingCount() + if player:isSwingingArm() and not player:isLeftHanded() then + models.models.main.Avatar.UpperBody.Arms.RightArm:setParentType("RightArm") + else + models.models.main.Avatar.UpperBody.Arms.RightArm:setParentType("Body") + end + if player:getActiveItem().id == "minecraft:crossbow" then + self:setArmState(3, 3) + end + end + end, "right_arm_tick") + events.RENDER:register(function (delta) + local headRot = vanilla_model.HEAD:getOriginRot() + models.models.main.Avatar.UpperBody.Arms.RightArm:setRot(player:isSwingingArm() and not player:isLeftHanded() and vectors.vec3() or vectors.vec3(headRot.x + math.sin((self.swingCount + delta) / 100 * math.pi * 2) * 2.5 + 90 + (player:isCrouching() and 30 or 0), headRot.y, 0)) + end, "right_arm_render") + elseif self.armState.right == 2 then + --銃を構えている際の、銃を構えていない方の腕 + events.TICK:register(function () + self:processArmWingCount() + end, "right_arm_tick") + events.RENDER:register(function (delta, context) + local headRot = vanilla_model.HEAD:getOriginRot() + local isSwingingArm = player:isSwingingArm() and not player:isLeftHanded() + models.models.main.Avatar.UpperBody.Arms.RightArm:setParentType((isSwingingArm or context == "FIRST_PERSON") and "RightArm" or "Body") + models.models.main.Avatar.UpperBody.Arms.RightArm:setRot(isSwingingArm and vectors.vec3() or vectors.vec3(headRot.x + math.sin((self.swingCount + delta) / 100 * math.pi * 2) * 2.5 + 90 + (player:isCrouching() and 30 or 0), math.map((headRot.y + 180) % 360 - 180, -50, 50, -21, 78), 0)) + end, "right_arm_render") + elseif self.armState.right == 3 then + --クロスボウ装填中 + events.TICK:register(function () + if player:getActiveItem().id ~= "minecraft:crossbow" and self.armState.right == 3 then + if self.parent.gun.currentGunPosition == "RIGHT" then + self:setArmState(1, 2) + elseif self.parent.gun.currentGunPosition == "LEFT" then + self:setArmState(2, 1) + end + end + end, "right_arm_tick") + end + if self.parent.characterData.arms.callbacks ~= nil and self.parent.characterData.arms.callbacks.onAdditionalRightArmProcess ~= nil then + self.parent.characterData.arms.callbacks.onAdditionalRightArmProcess(self.parent.characterData, self.armState.right) + end + self.armStatePrev.right = self.armState.right + end + --左腕の操作 + if self.armState.left ~= self.armStatePrev.left then + --腕の状態をリセット + models.models.main.Avatar.UpperBody.Arms.LeftArm:setRot() + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType("LeftArm") + events.TICK:remove("left_arm_tick") + events.RENDER:remove("left_arm_render") + if self.armState.left == 1 then + --銃を構えている際の、銃を構えている方の腕 + events.TICK:register(function () + if self.armState.left == 1 then + self:processArmWingCount() + if player:isSwingingArm() and player:isLeftHanded() then + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType("LeftArm") + else + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType("Body") + end + if player:getActiveItem().id == "minecraft:crossbow" then + self:setArmState(3, 3) + end + end + end, "left_arm_tick") + events.RENDER:register(function (delta) + local headRot = vanilla_model.HEAD:getOriginRot() + models.models.main.Avatar.UpperBody.Arms.LeftArm:setRot(player:isSwingingArm() and player:isLeftHanded() and vectors.vec3() or vectors.vec3(headRot.x + math.sin((self.swingCount + delta) / 100 * math.pi * 2) * -2.5 + 90 + (player:isCrouching() and 30 or 0), headRot.y, 0)) + end, "left_arm_render") + elseif self.armState.left == 2 then + --銃を構えている際の、銃を構えていない方の腕 + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType("Body") + events.TICK:register(function () + self:processArmWingCount() + end, "left_arm_tick") + events.RENDER:register(function (delta, context) + local headRot = vanilla_model.HEAD:getOriginRot() + local isSwingingArm = player:isSwingingArm() and player:isLeftHanded() + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType((isSwingingArm or context == "FIRST_PERSON") and "LeftArm" or "Body") + models.models.main.Avatar.UpperBody.Arms.LeftArm:setRot(isSwingingArm and vectors.vec3() or vectors.vec3(headRot.x + math.sin((self.swingCount + delta) / 100 * math.pi * 2) * -2.5 + 90 + (player:isCrouching() and 30 or 0), math.map((headRot.y + 180) % 360 - 180, -50, 50, -78, 21), 0)) + end, "left_arm_render") + elseif self.armState.left == 3 then + --クロスボウ装填中 + events.TICK:register(function () + if player:getActiveItem().id ~= "minecraft:crossbow" and self.armState.left == 3 then + if self.parent.gun.currentGunPosition == "RIGHT" then + self:setArmState(1, 2) + elseif self.parent.gun.currentGunPosition == "LEFT" then + self:setArmState(2, 1) + end + end + end, "left_arm_tick") + end + if self.parent.characterData.arms.callbacks ~= nil and self.parent.characterData.arms.callbacks.onAdditionalLeftArmProcess ~= nil then + self.parent.characterData.arms.callbacks.onAdditionalLeftArmProcess(self.parent.characterData, self.armState.left) + end + self.armStatePrev.left = self.armState.left + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/avatar_module.lua b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/avatar_module.lua new file mode 100644 index 0000000..4ae2c3a --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/avatar_module.lua @@ -0,0 +1,23 @@ +---@class AvatarModule アバターの動作を構成するモジュールの抽象クラス +---@field public parent Avatar アバターのメインクラスへの参照 +---@field public new fun(parent: Avatar): AvatarModule コンストラクタ +---@field public init fun(self: AvatarModule) 初期化関数 + +AvatarModule = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return AvatarModule + new = function (parent) + ---@type AvatarModule + local instance = Avatar.instantiate(AvatarModule) + + instance.parent = parent + + return instance + end; + + ---初期化関数 + ---@param self AvatarModule + init = function (self) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/barrier.lua b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/barrier.lua new file mode 100644 index 0000000..06066b9 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/barrier.lua @@ -0,0 +1,88 @@ +---@class (exact) Barrier : AvatarModule バリアの視覚効果を管理するクラス +---@field package animationCounts number[] バリアのアニメーションのカウンター +---@field public isBarrierVisible boolean バリアが可視化状態かどうか +---@field package hadAbsorptionPrev boolean 前ティックの衝撃吸収のハートを持っていたかどうか +---@field package colorFactor number バリアの色の係数 +---@field public enable fun(self: Barrier) バリア機能を有効にする +---@field public disable fun(self: Barrier) バリア機能を無効にする + +Barrier = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Barrier + new = function (parent) + ---@type Barrier + local instance = Avatar.instantiate(Barrier, AvatarModule, parent) + + instance.animationCounts = {} + instance.isBarrierVisible = false + instance.hadAbsorptionPrev = false + instance.colorFactor = client:hasShaderPack() and 0.5 or 1 + + for i = 1, 32 do + instance.animationCounts[i] = math.random(0, 39) + end + + return instance + end; + + ---初期化関数 + ---@param self Barrier + init = function (self) + AvatarModule.init(self) + + models.models.main.Avatar.barrier:setLight(15) + + events.TICK:register(function () + local hasAbsorption = player:getAbsorptionAmount() > 0 and player:getHealth() > 0 + if hasAbsorption and not self.hadAbsorptionPrev then + self:enable() + elseif not hasAbsorption and self.hadAbsorptionPrev then + self:disable() + end + self.hadAbsorptionPrev = hasAbsorption + end) + end; + + ---バリア機能を有効にする。 + ---@param self Barrier + enable = function (self) + for i = 1, 32 do + self.animationCounts[i] = math.random(0, 39) + end + + events.TICK:register(function () + for i = 1, 32 do + self.animationCounts[i] = self.animationCounts[i] + 1 + if self.animationCounts[i] == 40 then + self.animationCounts[i] = 0 + end + end + self.colorFactor = client:hasShaderPack() and 0.5 or 1 + end, "barrier_tick") + + events.RENDER:register(function (delta, context) + if context == "FIRST_PERSON" or context == "RENDER" then + models.models.main.Avatar.barrier:setVisible(true) + for i = 1, 32 do + local opacity = math.abs(-0.025 * (self.animationCounts[i] + delta) + 0.5) + 0.5 + models.models.main.Avatar.barrier.Barrier["Barrier"..i]:setOpacity(opacity) + models.models.main.Avatar.barrier.Barrier["Barrier"..i]:setColor(opacity * self.colorFactor, opacity * self.colorFactor, 1) + end + else + models.models.main.Avatar.barrier:setVisible(false) + end + end, "barrier_render") + + self.isBarrierVisible = true + end; + + ---バリア機能を無効にする。 + ---@param self Barrier + disable = function (self) + models.models.main.Avatar.barrier:setVisible(false) + events.TICK:remove("barrier_tick") + events.RENDER:remove("barrier_render") + self.isBarrierVisible = false + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/bubble.lua b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/bubble.lua new file mode 100644 index 0000000..fc6197b --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/bubble.lua @@ -0,0 +1,224 @@ +---@alias Bubble.BubbleType +---| "GOOD" # 👍 +---| "HEART" # 💗 +---| "NOTE" # 🎵 +---| "QUESTION" # ❓ +---| "SWEAT" # 💦 +---| "RELOAD" # 弾薬をリロードする絵文字 +---| "DOTS" # … +---| "V" # ✌ + +---@class (exact) Bubble : AvatarModule 吹き出しエモートを管理するクラス +---@field public bubbleCount integer 吹き出しの表示時間を測るカウンター +---@field public emoji Bubble.BubbleType 吹き出しの絵文字 +---@field package duration integer 吹き出しを表示する時間。-1は時間無制限を示す。 +---@field package isAutoBubble boolean 吹き出しエモートが自動で出たものかどうか +---@field package shouldShowInHud boolean 一人称用にHUDに吹き出しを表示するかどうか +---@field package emojiAnimationCount number 絵文字のアニメーションのタイミングを測るカウンター +---@field package isForcedStop boolean 吹き出しエモートが強制停止させられたかどうか +---@field public isChatOpened boolean チャットを開けているかどうか +---@field package isChatOpenedPrev boolean 前ティックにチャットを開けていたかどうか +---@field public play fun(self: Bubble, type: Bubble.BubbleType, duration: integer, offsetPos: Vector2, offsetRot: number, shouldShowInHud: boolean) 吹き出しエモートを再生する +---@field public stop fun(self: Bubble) 吹き出しエモートを停止する + +Bubble = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Bubble + new = function (parent) + ---@type Bubble + local instance = Avatar.instantiate(Bubble, AvatarModule, parent) + + instance.bubbleCount = 0 + instance.emoji = "GOOD" + instance.duration = 0 + instance.isAutoBubble = false + instance.shouldShowInHud = false + instance.emojiAnimationCount = 0 + instance.isForcedStop = false + instance.isChatOpened = false + instance.isChatOpenedPrev = false + + return instance + end; + + ---初期化関数 + ---@param self Bubble + init = function (self) + AvatarModule.init(self) + + models.models.bubble:addChild(models:newPart("Gui", "Gui")) + models.models.bubble.Gui:addChild(models.models.bubble.Camera.AvatarBubble:copy("FirstPersonBubble")) + models.models.bubble.Gui.FirstPersonBubble:setVisible(false) + for _, modelPart in ipairs({models.models.bubble.Camera.AvatarBubble, models.models.bubble.Gui.FirstPersonBubble}) do + modelPart:setScale(0, 0, 0) + end + + --エモートガイド + if host:isHost() then + self.parent.keyManager:register("bubble_1", self.parent.config:loadConfig("PRIVATE", "keybind.bubble_1", "key.keyboard.j")):onPress(function () + if self.parent.exSkill.animationCount == -1 and (self.bubbleCount == 0 or self.isAutoBubble) then + pings.showBubbleEmote("GOOD") + end + end) + self.parent.keyManager:register("bubble_2", self.parent.config:loadConfig("PRIVATE", "keybind.bubble_2", "key.keyboard.k")):onPress(function () + if self.parent.exSkill.animationCount == -1 and (self.bubbleCount == 0 or self.isAutoBubble) then + pings.showBubbleEmote("HEART") + end + end) + self.parent.keyManager:register("bubble_3", self.parent.config:loadConfig("PRIVATE", "keybind.bubble_3", "key.keyboard.n")):onPress(function () + if self.parent.exSkill.animationCount == -1 and (self.bubbleCount == 0 or self.isAutoBubble) then + pings.showBubbleEmote("NOTE") + end + end) + self.parent.keyManager:register("bubble_4", self.parent.config:loadConfig("PRIVATE", "keybind.bubble_4", "key.keyboard.m")):onPress(function () + if self.parent.exSkill.animationCount == -1 and (self.bubbleCount == 0 or self.isAutoBubble) then + pings.showBubbleEmote("QUESTION") + end + end) + self.parent.keyManager:register("bubble_5", self.parent.config:loadConfig("PRIVATE", "keybind.bubble_5", "key.keyboard.comma")):onPress(function () + if self.parent.exSkill.animationCount == -1 and (self.bubbleCount == 0 or self.isAutoBubble) then + pings.showBubbleEmote("SWEAT") + end + end) + end + + events.TICK:register(function () + if host:isHost() then + local isChatOpened = host:isChatOpen() + if isChatOpened ~= self.isChatOpened then + pings.setChatOpen(isChatOpened) + end + self.isChatOpenedPrev = isChatOpened + end + + if player:getActiveItem().id == "minecraft:crossbow" then + if self.bubbleCount == 0 or (self.isAutoBubble and self.emoji ~= "RELOAD") then + self:play("RELOAD", -1, vectors.vec2(), 0, false) + self.isAutoBubble = true + end + elseif self.isChatOpened and self.parent.exSkill.transitionCount == 0 then + if self.bubbleCount == 0 or (self.isAutoBubble and self.emoji ~= "DOTS") then + self:play("DOTS", -1, vectors.vec2(), 0, false) + self.isAutoBubble = true + end + elseif self.isAutoBubble then + self:stop() + self.isAutoBubble = false + end + end) + end; + + ---吹き出しエモートを再生する。 + ---@param self Bubble + ---@param type Bubble.BubbleType 再生する絵文字の種類 + ---@param duration integer 吹き出しを表示している時間。-1にすると停止するまでずっと表示する。 + ---@param offsetPos Vector2 吹き出しの位置のオフセット値 + ---@param offsetRot number アバター周回上の、吹き出しが表示される位置のオフセット値 + ---@param shouldShowInHud boolean 一人称用にHUDに吹き出しを表示するかどうか + play = function (self, type, duration, offsetPos, offsetRot, shouldShowInHud) + self.emoji = type + self.duration = duration + self.shouldShowInHud = shouldShowInHud + self.bubbleCount = 1 + self.emojiAnimationCount = 0 + models.models.bubble.Camera.AvatarBubble.Emoji:setPrimaryTexture("CUSTOM", textures["textures.emojis."..self.emoji:lower()]) + models.models.bubble.Camera.AvatarBubble.Bullets:setVisible(self.emoji == "RELOAD") + models.models.bubble.Camera.AvatarBubble.Dots:setVisible(self.emoji == "DOTS") + if self.shouldShowInHud then + models.models.bubble.Gui.FirstPersonBubble.Emoji:setPrimaryTexture("CUSTOM", textures["textures.emojis."..self.emoji:lower()]) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.item.pickup"), self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar)) + end + + if events.TICK:getRegisteredCount("bubble_tick") == 0 then + events.TICK:register(function () + if not client:isPaused() then + models.models.bubble.Gui.FirstPersonBubble:setVisible(self.shouldShowInHud and renderer:isFirstPerson()) + self.bubbleCount = self.bubbleCount + 1 + if self.bubbleCount == 0 then + for _, modelPart in ipairs({models.models.bubble.Camera.AvatarBubble, models.models.bubble.Gui.FirstPersonBubble, models.models.bubble.Camera.AvatarBubble.Bullets, models.models.bubble.Gui.FirstPersonBubble.Bullets}) do + modelPart:setVisible(false) + end + events.TICK:remove("bubble_tick") + events.RENDER:remove("bubble_render") + if self.parent.characterData.bubble.callbacks ~= nil and self.parent.characterData.bubble.callbacks.onStop ~= nil then + self.parent.characterData.bubble.callbacks.onStop(self.parent.characterData, type, self.isForcedStop) + end + elseif self.duration >= 0 and self.bubbleCount == self.duration + 2 then + self:stop() + end + if self.emoji == "RELOAD" or self.emoji == "DOTS" then + self.emojiAnimationCount = self.emojiAnimationCount + 1 + self.emojiAnimationCount = self.emojiAnimationCount == 25 and 0 or self.emojiAnimationCount + if self.emoji == "DOTS" then + for i = 1, 3 do + models.models.bubble.Camera.AvatarBubble.Dots["Dot"..i]:setVisible(self.emojiAnimationCount >= 6 * i) + end + end + end + end + end, "bubble_tick") + end + + if events.RENDER:getRegisteredCount("bubble_render") == 0 then + events.RENDER:register(function (delta, context) + models.models.bubble.Camera.AvatarBubble:setVisible(context ~= "OTHER") + if not client:isPaused() then + local bubbleScale = math.min(math.abs(0.5 * (self.bubbleCount + delta)), 1) + models.models.bubble.Camera.AvatarBubble:setScale(vectors.vec3(1, 1, 1):scale(bubbleScale)) + local playerPos = self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar) + local avatarBubblePos = context == "PAPERDOLL" and vectors.vec3(0, 32, 0) or vectors.rotateAroundAxis(player:getBodyYaw(delta) + 180, playerPos:copy():sub(player:getPos(delta)):scale(17.067):add(0, 32 + offsetPos.y, 0), 0, 1, 0) + if not renderer:isFirstPerson() then + local cameraPos = client:getCameraPos() + avatarBubblePos:add(vectors.rotateAroundAxis(math.deg(math.atan2(cameraPos.z - playerPos.z, cameraPos.x - playerPos.x) - math.pi / 2) % 360 - (player:getBodyYaw(delta) + offsetRot) % 360, 12 + offsetPos.x, 0, 0, 0, -1, 0)) + else + avatarBubblePos:add(12 + offsetPos.x, 0, 0) + end + models.models.bubble.Camera:setOffsetPivot(avatarBubblePos) + models.models.bubble.Camera.AvatarBubble:setPos(avatarBubblePos) + if host:isHost() and self.shouldShowInHud then + local windowSize = client:getScaledWindowSize() + models.models.bubble.Gui.FirstPersonBubble:setPos(-windowSize.x + 10, -windowSize.y + (action_wheel:isEnabled() and 125 or 10), 0) + models.models.bubble.Gui.FirstPersonBubble:setScale(vectors.vec3(1, 1, 1):scale(bubbleScale * 4)) + end + if self.emoji == "RELOAD" then + local bullet1Counter = math.clamp((self.emojiAnimationCount + delta) * 0.2 - 1, 0, 1) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet1:setPos(0, 1 - bullet1Counter, 0) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet1:setOpacity(bullet1Counter) + local bullet2Counter = math.clamp((self.emojiAnimationCount + delta) * 0.2 - 2, 0, 1) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet2:setPos(0, 1 - bullet2Counter, 0) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet2:setOpacity(bullet2Counter) + local bullet3Counter = math.clamp((self.emojiAnimationCount + delta) * 0.2 - 3, 0, 1) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet3:setPos(0, 1 - bullet3Counter, 0) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet3:setOpacity(bullet3Counter) + end + end + end, "bubble_render") + end + if self.parent.characterData.bubble.callbacks ~= nil and self.parent.characterData.bubble.callbacks.onPlay ~= nil then + self.parent.characterData.bubble.callbacks.onPlay(self.parent.characterData, type, duration, shouldShowInHud) + end + end; + + ---吹き出しエモートを停止する。 + ---@param self Bubble + stop = function (self) + if self.bubbleCount > 0 then + self.isForcedStop = self.duration == -1 or self.bubbleCount < self.duration + 2 + self.bubbleCount = -2 + end + end; +} + +---吹き出しエモートを表示する。 +---@param type Bubble.BubbleType 表示する絵文字の種類 +function pings.showBubbleEmote(type) + AvatarInstance.bubble:play(type, 50, vectors.vec2(), 0, true) + AvatarInstance.bubble.isAutoBubble = false +end + +---Bubbleのチャットを開けているフラグを更新する。 +---@param value boolean 新しい値 +function pings.setChatOpen(value) + AvatarInstance.bubble.isChatOpened = value +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/camera_manager.lua b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/camera_manager.lua new file mode 100644 index 0000000..e985b05 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/camera_manager.lua @@ -0,0 +1,99 @@ +---@class (exact) CameraManager : AvatarModule カメラ制御全般を管理するクラス +---@field package COLLISION_DENIAL_DISABLED boolean カメラの当たり判定打ち消し機能を無効にする。撮影用。 +---@field package thirdPersonCameraDistance number 三人称視点でのカメラと回転軸の距離 +---@field package isCameraCollisionDenialEnabled boolean 三人称視点でのカメラの当たり判定打ち消し機能が有効かどうか +---@field public setCameraManagerRender fun(self: CameraManager, enabled: boolean) CameraManagerのレンダー関数を設定する +---@field public setCameraPivot fun(newPivot?: Vector3) カメラの回転軸のオフセット位置を変更する +---@field public setCameraRot fun(newRot?: Vector3) カメラ方向を変更する +---@field public setThirdPersonCameraDistance fun(self: CameraManager, distance: number) 三人称視点でのカメラと回転軸の距離を設定する +---@field public setCameraCollisionDenial fun(self: CameraManager, enabled: boolean) カメラの当たり判定打ち消し機能を設定する + +CameraManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return CameraManager + new = function (parent) + ---@type CameraManager + local instance = Avatar.instantiate(CameraManager, AvatarModule, parent) + + instance.COLLISION_DENIAL_DISABLED = false + instance.thirdPersonCameraDistance = 4 + instance.isCameraCollisionDenialEnabled = false + + return instance + end; + + ---CameraManagerのレンダー関数を設定する。 + ---@param self CameraManager + ---@param enabled boolean CameraManagerのレンダー関数を有効化するかどうか + setCameraManagerRender = function (self, enabled) + if enabled and events.RENDER:getRegisteredCount("camera_manager_render") == 0 then + events.RENDER:register(function () + if renderer:isFirstPerson() then + renderer:setCameraPos() + else + local rawOffsetCameraPivot = renderer:getCameraOffsetPivot() + rawOffsetCameraPivot = rawOffsetCameraPivot == nil and vectors.vec3() or rawOffsetCameraPivot + local cameraPivot = player:getPos():add(0, 1.62, 0):add(rawOffsetCameraPivot) + local cameraDir = client:getCameraDir() + local baseVector = vectors.rotateAroundAxis(math.deg(math.asin(cameraDir.y)), 0, 0.21, 0, vectors.rotateAroundAxis(math.deg(math.atan2(cameraDir.z, cameraDir.x)) * -1 - 90, 1, 0, 0, 0, 1, 0)) + local minDistance = math.max(self.thirdPersonCameraDistance, 4) + if not self.COLLISION_DENIAL_DISABLED then + for i = 0, 3 do + local startPos = vectors.rotateAroundAxis(i * 90 + 45, baseVector:copy(), cameraDir):add(cameraPivot) + local _, collisionPos, _ = raycast:block(startPos, startPos:copy():add(cameraDir:copy():scale(-4)), "VISUAL", "NONE") + minDistance = math.min(collisionPos:copy():sub(startPos):length(), minDistance) + end + end + renderer:setCameraPos(0, 0, (minDistance > self.thirdPersonCameraDistance or self.isCameraCollisionDenialEnabled) and self.thirdPersonCameraDistance - minDistance or 0) + end + end, "camera_manager_render") + elseif not enabled then + events.RENDER:remove("camera_manager_render") + renderer:setCameraPos() + end + end; + + ---カメラの回転軸のオフセット位置を変更する。 + ---@param newPivot? Vector3 設定する新しいカメラ回転軸のオフセット位置。nilの場合は設定値がリセットされる。 + setCameraPivot = function (newPivot) + if host:isHost() then + renderer:setOffsetCameraPivot(newPivot) + end + end; + + ---カメラ方向を変更する。 + ---@param newRot? Vector3 設定する新しいカメラのオフセット方向。nilの場合は設定値がリセットされる。 + setCameraRot = function (newRot) + if host:isHost() then + renderer:setCameraRot(newRot) + end + end; + + ---三人称視点でのカメラと回転軸の距離を設定する。 + ---@param self CameraManager + ---@param distance number 設定する新しい距離(ブロック単位)。デフォルトは4ブロック。 + setThirdPersonCameraDistance = function (self, distance) + if host:isHost() then + if distance ~= 4 then + self:setCameraManagerRender(true) + elseif not self.isCameraCollisionDenialEnabled then + self:setCameraManagerRender(false) + end + self.thirdPersonCameraDistance = distance + end + end; + + ---カメラの当たり判定打ち消し機能を設定する。 + ---@param enabled boolean カメラの当たり判定打ち消し機能を有効にするかどうか。有効にするとカメラがブロックの中にめり込むようになる。 + setCameraCollisionDenial = function (self, enabled) + if host:isHost() then + if enabled then + self:setCameraManagerRender(true) + elseif self.thirdPersonCameraDistance == 4 then + self:setCameraManagerRender(false) + end + self.isCameraCollisionDenialEnabled = enabled + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/config.lua b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/config.lua new file mode 100644 index 0000000..70b0382 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/config.lua @@ -0,0 +1,116 @@ +---@alias Config.Storage +---| "PUBLIC" # FBACキャラクター共通ストレージ +---| "PRIVATE" # キャラクター固有ストレージ + +---@class (exact) Config : AvatarModule アバター設定を管理するクラス +---@field package privateStorageName string キャラクター固有ストレージの名前 +---@field package defaultValues {[string]: number|boolean|string} 読み込んだ値のデフォルト値を保持するテーブル +---@field package nextSyncCount integer 次の同期pingまでのカウンター +---@field package isSynced boolean 設定値がホストと同期されているかどうか +---@field public loadConfig fun(self: Config, storage: Config.Storage, keyName: string, defaultValue: any): any 設定を読み出す +---@field public saveConfig fun(self: Config, storage: Config.Storage, keyName: string, valueToSave: any) 設定を保存する + +Config = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Config + new = function (parent) + ---@type Config + local instance = Avatar.instantiate(Config, AvatarModule, parent) + + instance.privateStorageName = "BlueArchive_"..instance.parent.characterData.basic.firstName.en_us..instance.parent.characterData.basic.lastName.en_us + instance.defaultValues = {} + instance.nextSyncCount = 0 + instance.isSynced = host:isHost() + + return instance + end; + + ---初期化関数 + ---@param self Config + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + events.TICK:register(function () + if self.nextSyncCount == 0 then + pings.syncAvatarConfig(self.parent.nameplate.currentName, self.parent.nameplate.shouldShowClubName, self.parent.costume.currentCostume, self.parent.armor.shouldShowArmor, self.parent.actionWheel.shouldReplaceVehicleModels, self.parent.bubble.isChatOpened, self.parent.characterData.dataSync.syncData) + self.nextSyncCount = 300 + else + self.nextSyncCount = self.nextSyncCount - 1 + end + end) + end + end; + + ---設定を読み出す。 + ---@generic T + ---@param self Config + ---@param storage Config.Storage 読み出し先のストレージ + ---@param keyName string 読み出す設定の名前 + ---@param defaultValue `T` 該当の設定が無い場合や、ホスト外での実行の場合はこの値が返される。 + ---@return `T` loadedValue 読み出した値 + loadConfig = function (self, storage, keyName, defaultValue) + if host:isHost() then + if storage == "PUBLIC" then + config:setName("BlueArchive_public") + else + config:setName(self.privateStorageName) + end + local loadedData = config:load(keyName) + self.defaultValues[keyName] = defaultValue + if loadedData ~= nil then + return loadedData + else + return defaultValue + end + else + return defaultValue + end + end; + + ---設定を保存する。 + ---@param self Config + ---@param storage Config.Storage 書き込み先のストレージ + ---@param keyName string 保存する設定の名前 + ---@param valueToSave any 保存する値 + saveConfig = function (self, storage, keyName, valueToSave) + if host:isHost() then + if storage == "PUBLIC" then + config:setName("BlueArchive_public") + else + config:setName(self.privateStorageName) + end + if self.defaultValues[keyName] == valueToSave then + config:save(keyName, nil) + else + config:save(keyName, valueToSave) + end + end + end; +} + +---アバター設定を他Figuraクライアントと同期する。 +---@param nameTypeId integer 表示名の種類ID +---@param shouldShowClubName boolean 部活名を表示するかどうか +---@param costumeId integer 現在の衣装ID +---@param shouldShowArmor boolean 防具が見えているかどうか +---@param shouldReplaceVehicleModels boolean 乗り物モデルを置き換えるかどうか +---@param isChatOpened boolean チャット欄を開いているかどうか +---@param additionalData {[string]: any} キャラクター固有用に追加で同期するデータ +function pings.syncAvatarConfig(nameTypeId, shouldShowClubName, costumeId, shouldShowArmor, shouldReplaceVehicleModels, isChatOpened, additionalData) + if not AvatarInstance.config.isSynced then + AvatarInstance.nameplate:setName(nameTypeId, shouldShowClubName) + AvatarInstance.armor.shouldShowArmor = shouldShowArmor + AvatarInstance.actionWheel.shouldReplaceVehicleModels = shouldReplaceVehicleModels + AvatarInstance.bubble.isChatOpened = isChatOpened + if costumeId >= 2 then + AvatarInstance.costume:setCostume(costumeId) + end + AvatarInstance.characterData.dataSync.syncData = additionalData + if AvatarInstance.characterData.dataSync.callbacks ~= nil and AvatarInstance.characterData.dataSync.callbacks.onDataSynced ~= nil then + AvatarInstance.characterData.dataSync.callbacks.onDataSynced(AvatarInstance.characterData) + end + AvatarInstance.config.isSynced = true + end +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/costume.lua b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/costume.lua new file mode 100644 index 0000000..650a557 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/costume.lua @@ -0,0 +1,113 @@ +---@class (exact) Costume : AvatarModule キャラクターのコスチュームを管理し、円滑に切り替えられるようにするクラス +---@field public costumeList string[] 利用可能なコスチューム一覧。BlueArchiveCharacterクラスから動的に生成される。 +---@field public currentCostume integer 現在のコスチューム +---@field public isChangingCostume boolean コスチュームを変更中かどうか +---@field public getCostumeLocalName fun(self: Costume, costumeId: integer) 設定言語を考慮した、衣装の名前を返す +---@field public setCostumeTextureOffset fun(offset: integer) メインモデルのテクスチャのオフセット値を設定する +---@field public setCostume fun(self: Costume, costume: integer) コスチュームを設定する +---@field public resetCostume fun(self: Costume) コスチュームをリセットしデフォルトのコスチュームにする + +Costume = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Costume + new = function (parent) + ---@type Costume + local instance = Avatar.instantiate(Costume, AvatarModule, parent) + + instance.costumeList = {} + instance.currentCostume = instance.parent.config:loadConfig("PRIVATE", "costume", 1) + instance.isChangingCostume = false + + return instance + end; + + ---初期化関数 + ---@param self Costume + init = function (self) + AvatarModule.init(self) + + for _, costume in ipairs(self.parent.characterData.costume.costumes) do + table.insert(self.costumeList, costume.name) + end + if self.currentCostume >= 2 then + if self.costumeList[self.currentCostume] ~= nil then + self:setCostume(self.currentCostume) + else + self.currentCostume = 1 + if host:isHost() then + self.parent.config:saveConfig("PRIVATE", "costume", 1) + end + end + end + self.parent.headBlock:generateHeadModel() + self.parent.portrait:generateHeadModel() + + events.TICK:register(function () + self.isChangingCostume = false + end) + end; + + ---設定言語を考慮した、衣装の名前を返す。 + ---@param self Costume + ---@param costumeId integer ローカル名を取得する衣装のID + ---@return string localCostumeName 衣装のローカル名 + getCostumeLocalName = function(self, costumeId) + return self.parent.locale:getLocale("costume."..self.costumeList[costumeId]) + end; + + ---メインモデルのテクスチャのオフセット値を設定する。 + ---@param offset integer オフセット値 + setCostumeTextureOffset = function (offset) + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Body.Body, models.models.main.Avatar.UpperBody.Body.BodyLayer, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArm, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmLayer, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.RightArmBottom, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.RightArmBottomLayer, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArm, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmLayer, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.LeftArmBottom, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.LeftArmBottomLayer, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLeg, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegLayer, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.RightLegBottom, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.RightLegBottomLayer, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLeg, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegLayer, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.LeftLegBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.LeftLegBottomLayer}) do + modelPart:setUVPixels(0, offset * 48) + end + end; + + ---コスチュームを設定する。 + ---@param self Costume + ---@param costume integer 設定するコスチューム + setCostume = function(self, costume) + self:resetCostume() + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onChange ~= nil then + self.parent.characterData.costume.callbacks.onChange(self.parent.characterData, self.parent.characterData.costume.costumes[costume].name:upper()) + end + self.parent.headBlock:generateHeadModel() + self.parent.portrait:generateHeadModel() + if self.parent.armor.isArmorVisible.chestplate then + self.parent.armor:setChestplate(self.parent.armor.armorSlotItems[2]) + end + if self.parent.armor.isArmorVisible.leggings then + self.parent.armor:setLeggings(self.parent.armor.armorSlotItems[3]) + end + if self.parent.armor.isArmorVisible.boots then + self.parent.armor:setBoots(self.parent.armor.armorSlotItems[4]) + end + self.currentCostume = costume + end; + + ---コスチュームをリセットし、デフォルトのコスチュームにする。 + ---@param self Costume + resetCostume = function (self) + self.isChangingCostume = true + if self.parent.exSkill.transitionCount > 0 then + self.parent.exSkill:forceStop() + end + self.setCostumeTextureOffset(0) + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onReset ~= nil then + self.parent.characterData.costume.callbacks.onReset(self.parent.characterData) + end + self.parent.headBlock:generateHeadModel() + self.parent.portrait:generateHeadModel() + if self.parent.armor.isArmorVisible.chestplate then + self.parent.armor:setChestplate(self.parent.armor.armorSlotItems[2]) + end + if self.parent.armor.isArmorVisible.leggings then + self.parent.armor:setLeggings(self.parent.armor.armorSlotItems[3]) + end + if self.parent.armor.isArmorVisible.boots then + self.parent.armor:setBoots(self.parent.armor.armorSlotItems[4]) + end + self.currentCostume = 1 + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/death_animation.lua b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/death_animation.lua new file mode 100644 index 0000000..65583f8 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/death_animation.lua @@ -0,0 +1,294 @@ +---@class (exact) DeathAnimation : AvatarModule プレイヤーが死亡した際のキャラクターがヘリコプターで回収されるアニメーションを管理するクラス +---@field package DEBUG_MODE boolean デバッグモードを有効にするかどうか。デバッグモードモードではxキーでフェーズ1のモデルを、cキーでフェーズ2のモデルを表示できる。 +---@field public dummyAvatarRoot? ModelPart 死亡アニメーションに使用されるダミーのアバターのルート。アバターが未生成の場合はnilが入っている。 +---@field package animationCount integer 死亡アニメーションの再生カウンター +---@field package animationPos Vector3 アニメーションを再生している場所の座標 +---@field package animationRot number アニメーションを再生している向き(度数法で示す) +---@field package costumeIndex integer 死亡アニメーションのコスチュームのインデックス +---@field package isPlayerInvisible boolean プレイヤーモデルが不可視状態かどうか +---@field package isScriptLoaded false スクリプトを全て読み込んだかどうか +---@field package removeUnsafeModel fun(target?: ModelPart) 存在しないかもしれないモデルパーツを安全に削除する +---@field package spawnHelicopterParticles fun(self: DeathAnimation) ヘリコプターの出現/消滅パーティクルを生成する +---@field package generateDummyAvatar fun(self: DeathAnimation, parent: ModelPart) 死亡アニメーション用のダミーアバターを生成する +---@field package resetDummyAvatar fun(avatarRoot: ModelPart) ダミーアバター状態をリセットする +---@field package setPhase1Pose fun(avatarRoot: ModelPart) ダミーアバターをフェーズ1のポーズにする +---@field package setPhase2Pose fun(avatarRoot: ModelPart) ダミーアバターをフェーズ2のポーズにする +---@field package play fun(self: DeathAnimation) 死亡アニメーションを再生する +---@field package stop fun(self: DeathAnimation) 死亡アニメーションを停止する + +DeathAnimation = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return DeathAnimation + new = function (parent) + ---@type DeathAnimation + local instance = Avatar.instantiate(DeathAnimation, AvatarModule, parent) + + instance.DEBUG_MODE = false + + instance.dummyAvatarRoot = models.models.death_animation.Avatar + instance.animationCount = 0 + instance.animationPos = vectors.vec3() + instance.animationRot = 0 + instance.costumeIndex = 1 + instance.isPlayerInvisible = false + instance.isScriptLoaded = false + + return instance + end; + + ---初期化関数 + ---@param self DeathAnimation + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + if self.parent.playerUtils.damageStatus == "DIED" then + self:play() + models.models.main:setVisible(false) + for _, vanillaModel in ipairs({vanilla_model.RIGHT_ITEM, vanilla_model.LEFT_ITEM, vanilla_model.ELYTRA}) do + vanillaModel:setVisible(false) + end + self.isPlayerInvisible = true + end + if self.isPlayerInvisible and player:getHealth() > 0 then + models.models.main:setVisible(true) + for _, vanillaModel in ipairs({vanilla_model.RIGHT_ITEM, vanilla_model.LEFT_ITEM, vanilla_model.ELYTRA}) do + vanillaModel:setVisible(true) + end + self.isPlayerInvisible = false + end + end) + + self.parent.avatarEvents.SCRIPT_INIT:register(function () + self.isScriptLoaded = true + end) + + if self.DEBUG_MODE then + models:addChild(models:newPart("script_death_animation_debug", "World")) + keybinds:newKeybind("[DEBUG] Spawn death animation phase1 model", "key.keyboard.x"):onPress(function () + self.removeUnsafeModel(models.script_death_animation_debug.Avatar) + self:generateDummyAvatar(models.script_death_animation_debug) + self.resetDummyAvatar(models.script_death_animation_debug.Avatar) + self.setPhase1Pose(models.script_death_animation_debug.Avatar) + models.script_death_animation_debug.Avatar:setPos(player:getPos():add(0, -0.75, 0):scale(16)) + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onPhase1 ~= nil then + self.parent.characterData.deathAnimation.callbacks.onPhase1(self.parent.characterData, models.script_death_animation_debug.Avatar, self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].name:upper()) + end + end) + keybinds:newKeybind("[DEBUG] Spawn death animation phase2 model", "key.keyboard.c"):onPress(function () + self.removeUnsafeModel(models.script_death_animation_debug.Avatar) + self:generateDummyAvatar(models.script_death_animation_debug) + self.resetDummyAvatar(models.script_death_animation_debug.Avatar) + self.setPhase2Pose(models.script_death_animation_debug.Avatar) + models.script_death_animation_debug.Avatar:setPos(player:getPos():scale(16)) + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onPhase1 ~= nil then + self.parent.characterData.deathAnimation.callbacks.onPhase1(self.parent.characterData, models.script_death_animation_debug.Avatar, self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].name:upper()) + end + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onPhase2 ~= nil then + self.parent.characterData.deathAnimation.callbacks.onPhase2(self.parent.characterData, models.script_death_animation_debug.Avatar, self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].name:upper()) + end + end) + end + end; + + ---存在しないかもしれないモデルパーツを安全に削除する。 + ---@param target? ModelPart 削除対象のモデルパーツ + removeUnsafeModel = function (target) + if target ~= nil then + target:getParent():removeChild(target) + target:remove() + end + end; + + ---ヘリコプターの出現/消滅パーティクルを生成する。 + ---@param self DeathAnimation + spawnHelicopterParticles = function (self) + local helicopterPos = self.parent.modelUtils.getModelWorldPos(models.models.death_animation.Helicopter) + for _ = 1, 100 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:poof"), helicopterPos:copy():add(vectors.rotateAroundAxis(self.animationRot, math.random() * 9.375 - 4.6875, math.random() * 11.125 - 5.5625, math.random() * 23.875 - 11.9375, 0, math.abs(helicopterPos.y), 0))) + end + end; + + ---死亡アニメーション用のダミーアバターを生成する。 + ---@param self DeathAnimation + ---@param parent ModelPart ダミーアバターをアタッチする親のモデルパーツ + generateDummyAvatar = function (self, parent) + local isArmorVisible = { + helmet = self.parent.armor.isArmorVisible.helmet; + chestplate = self.parent.armor.isArmorVisible.chestplate; + leggings = self.parent.armor.isArmorVisible.leggings; + boots = self.parent.armor.isArmorVisible.boots; + } + if isArmorVisible.helmet then + self.parent.armor:setHelmet(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + if isArmorVisible.chestplate then + self.parent.armor:setChestplate(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + if isArmorVisible.leggings then + self.parent.armor:setLeggings(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + if isArmorVisible.boots then + self.parent.armor:setBoots(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + self.parent.physics:disable() + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onBeforeModelCopy ~= nil then + self.parent.characterData.deathAnimation.callbacks.onBeforeModelCopy(self.parent.characterData, self.isScriptLoaded) + end + + parent:addChild(self.parent.modelUtils:copyModel(models.models.main.Avatar)) + parent.Avatar.Head.FaceParts.Eyes.EyeRight:setUVPixels(self.parent.characterData.faceParts.leftEye.TIRED:copy():scale(6)) + parent.Avatar.Head.FaceParts.Eyes.EyeLeft:setUVPixels(self.parent.characterData.faceParts.rightEye.TIRED:copy():scale(6)) + parent.Avatar.Head.HeadRing:setRot() + for _, modelPart in ipairs({parent.Avatar.UpperBody.Arms.RightArm.RightArmBottom.RightItemPivot, parent.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.LeftItemPivot}) do + modelPart:remove() + end + local unsafeModels = {parent.Avatar.Head.FaceParts.Mouth, parent.Avatar.Head.ArmorH, parent.Avatar.UpperBody.Body.ArmorB, parent.Avatar.UpperBody.Arms.RightArm.ArmorRA, parent.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB, parent.Avatar.UpperBody.Arms.LeftArm.ArmorLA, parent.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB, parent.Avatar.LowerBody.Legs.RightLeg.ArmorRL, parent.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB, parent.Avatar.LowerBody.Legs.LeftLeg.ArmorLL, parent.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB} + for i = 1, 11 do + self.removeUnsafeModel(unsafeModels[i]) + end + if parent.Avatar.UpperBody.Body.Gun ~= nil then + if self.parent.characterData.gun.gunPosition.put.type == "BODY" then + local leftHanded = player:isLeftHanded() + parent.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, 12, 0):add(self.parent.characterData.gun.gunPosition.put.pos[leftHanded and "left" or "right"])) + parent.Avatar.UpperBody.Body.Gun:setRot(self.parent.characterData.gun.gunPosition.put.rot[leftHanded and "left" or "right"]) + else + parent.Avatar.UpperBody.Body.Gun:remove() + end + end + + if isArmorVisible.helmet then + self.parent.armor:setHelmet(self.parent.armor.armorSlotItems[1]) + end + if isArmorVisible.chestplate then + self.parent.armor:setChestplate(self.parent.armor.armorSlotItems[2]) + end + if isArmorVisible.leggings then + self.parent.armor:setLeggings(self.parent.armor.armorSlotItems[3]) + end + if isArmorVisible.boots then + self.parent.armor:setBoots(self.parent.armor.armorSlotItems[4]) + end + self.parent.physics:enable() + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onAfterModelCopy ~= nil then + self.parent.characterData.deathAnimation.callbacks.onAfterModelCopy(self.parent.characterData, self.isScriptLoaded) + end + end; + + ---ダミーアバター状態をリセットする。 + ---@param avatarRoot ModelPart ダミーアバターのルート + resetDummyAvatar = function (avatarRoot) + for _, modelPart in ipairs({avatarRoot, avatarRoot.Head, avatarRoot.UpperBody, avatarRoot.UpperBody.Body, avatarRoot.UpperBody.Arms, avatarRoot.UpperBody.Arms.RightArm, avatarRoot.UpperBody.Arms.RightArm.RightArmBottom, avatarRoot.UpperBody.Arms.LeftArm, avatarRoot.UpperBody.Arms.LeftArm.LeftArmBottom, avatarRoot.LowerBody, avatarRoot.LowerBody.Legs, avatarRoot.LowerBody.Legs.RightLeg, avatarRoot.LowerBody.Legs.RightLeg.RightLegBottom, avatarRoot.LowerBody.Legs.LeftLeg, avatarRoot.LowerBody.Legs.LeftLeg.LeftLegBottom}) do + modelPart:setPos() + modelPart:setRot() + modelPart:setScale() + end + end; + + ---ダミーアバターをフェーズ1のポーズにする。 + ---@param avatarRoot ModelPart ダミーアバターのルート + setPhase1Pose = function (avatarRoot) + avatarRoot:setPos(0, -12, 0) + avatarRoot.Head:setRot(-30, 0, 0) + avatarRoot.UpperBody.Arms.RightArm:setRot(35, 0, -20) + avatarRoot.UpperBody.Arms.LeftArm:setRot(35, 0, 20) + avatarRoot.LowerBody.Legs.RightLeg:setRot(90, -10, 0) + avatarRoot.LowerBody.Legs.LeftLeg:setRot(90, 10, 0) + end; + + ---ダミーアバターをフェーズ2のポーズにする。 + ---@param avatarRoot ModelPart ダミーアバターのルート + setPhase2Pose = function (avatarRoot) + avatarRoot:setPos(3, -210, 2) + avatarRoot:setRot(105, 75, 90) + avatarRoot.Head:setRot(0, -40, 0) + avatarRoot.UpperBody.Arms.RightArm:setRot(47.5, 0, 20) + avatarRoot.UpperBody.Arms.LeftArm:setRot(-30, 0, -15) + avatarRoot.LowerBody.Legs.RightLeg:setRot(80, 0, 0) + avatarRoot.LowerBody.Legs.RightLeg.RightLegBottom:setRot(-75, 0, 0) + avatarRoot.LowerBody.Legs.LeftLeg:setRot(10, 0, 0) + avatarRoot:setLight() + end; + + ---死亡アニメーションを再生する。 + ---@param self DeathAnimation + play = function (self) + self:stop() + self.costumeIndex = self.parent.costume.currentCostume + + --ダミーアバターを生成する。 + local unsafeModels = {models.models.death_animation.Avatar, models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14.Avatar} + for i = 1, 2 do + self.removeUnsafeModel(unsafeModels[i]) + end + self:generateDummyAvatar(models.models.death_animation) + + --死亡アニメーションを生成する。 + self.resetDummyAvatar(models.models.death_animation.Avatar) + self.setPhase1Pose(models.models.death_animation.Avatar) + self.animationPos = player:getPos() + models.models.death_animation:setPos(self.animationPos:copy():scale(16)) + self.animationRot = (player:getBodyYaw() * -1 + 180) % 360 + models.models.death_animation:setRot(0, self.animationRot) + models.models.death_animation:setVisible(true) + animations["models.death_animation"]["death_animation"]:play() + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onPhase1 ~= nil then + self.parent.characterData.deathAnimation.callbacks.onPhase1(self.parent.characterData, models.models.death_animation.Avatar, self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].name:upper()) + end + + if events.TICK:getRegisteredCount("death_animation_tick") == 0 then + events.TICK:register(function () + local particleAnchorPos = self.parent.modelUtils.getModelWorldPos(models.models.death_animation.DeathAnimationParticleAnchor) + for _ = 1, 3 do + local particleRot = math.random() * math.pi * 2 + local particleOffset = math.random() * 3 + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:poof"), particleAnchorPos:copy():add(math.cos(particleRot) * particleOffset, 0, math.sin(particleRot) * particleOffset)):setVelocity(math.cos(particleRot), 0, math.sin(particleRot)) + + end + if self.animationCount % 2 == 1 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.bamboo_wood_door.close"), self.parent.modelUtils.getModelWorldPos(models.models.death_animation.Helicopter.DeathAnimationSoundAnchor1), 1, 0.5):setAttenuation(2) + end + if self.animationCount < 120 then + models.models.death_animation.Avatar:setLight(world.getLightLevel(self.animationPos)) + end + if self.animationCount == 1 then + self:spawnHelicopterParticles() + elseif self.animationCount == 10 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.iron_door.open"), self.parent.modelUtils.getModelWorldPos(models.models.death_animation.Helicopter.DeathAnimationSoundAnchor1), 1, 0.5) + elseif self.animationCount >= 57 and self.animationCount < 76 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.attack.sweep"), self.parent.modelUtils.getModelWorldPos(models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14), 0.25, -0.056 * (self.animationCount - 57) + 2) + elseif self.animationCount == 120 then + self.dummyAvatarRoot = models.models.death_animation.Avatar:moveTo(models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14) + self.setPhase2Pose(models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14.Avatar) + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onPhase2 ~= nil then + self.parent.characterData.deathAnimation.callbacks.onPhase2(self.parent.characterData, models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14.Avatar, self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].name:upper()) + end + elseif self.animationCount == 180 then + models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14.Avatar:setVisible(false) + elseif self.animationCount == 230 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.iron_door.close"), self.parent.modelUtils.getModelWorldPos(models.models.death_animation.Helicopter.DeathAnimationSoundAnchor1), 1, 0.5) + elseif self.animationCount == 255 then + self:spawnHelicopterParticles() + self:stop() + end + end, "death_animation_tick") + end + if events.WORLD_TICK:getRegisteredCount("death_animation_world_tick") == 0 then + events.WORLD_TICK:register(function () + self.animationCount = self.animationCount + 1 + end, "death_animation_world_tick") + end + end; + + ---死亡アニメーションを停止する。 + ---@param self DeathAnimation + stop = function (self) + models.models.death_animation:setVisible(false) + animations["models.death_animation"]["death_animation"]:stop() + events.TICK:remove("death_animation_tick") + events.WORLD_TICK:remove("death_animation_world_tick") + self.dummyAvatarRoot = nil + self.animationCount = 0 + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/events/abstract_event.lua b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/events/abstract_event.lua new file mode 100644 index 0000000..e6af2e5 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/events/abstract_event.lua @@ -0,0 +1,71 @@ +---@class AbstractEvent : AvatarModule +---@field public registerTable {[string]: fun()[]} 登録されたコールバック関数を管理するテーブル +---@field public register fun(self: AbstractEvent, callback: fun(...: any), name?: string) イベントにコールバック関数登録する +---@field public remove fun(self: AbstractEvent, name: string) 指定した名前のコールバック関数を1つ削除する +---@field public getRegisteredCount fun(self: AbstractEvent, name: string): integer 指定した名前で登録されているコールバック関数の数を返す +---@field public fire fun(self: AbstractEvent, ...: any) 登録された全てのコールバック関数を呼ぶ + +AbstractEvent = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return AbstractEvent + new = function (parent) + ---@type AbstractEvent + local instance = Avatar.instantiate(AbstractEvent, AvatarModule, parent) + + instance.registerTable = {} + + return instance + end; + + ---イベントにコールバック関数登録する。 + ---@param self AbstractEvent + ---@param callback fun(...: any) 登録するコールバック関数 + ---@param name? string コールバック関数の名前 + register = function (self, callback, name) + local callbackName = name ~= nil and name or client.intUUIDToString(client.generateUUID()) + if self.registerTable[callbackName] ~= nil then + table.insert(self.registerTable[callbackName], callback) + else + local callbackTable = {} + table.insert(callbackTable, callback) + self.registerTable[callbackName] = callbackTable + end + end; + + ---指定した名前のコールバック関数を1つ削除する。 + ---@param self AbstractEvent + ---@param name string コールバック関数の名前 + remove = function (self, name) + if self.registerTable[name] ~= nil then + table.remove(self.registerTable[name]) + if #self.registerTable[name] == 0 then + self.registerTable[name] = nil + end + end + end; + + ---指定した名前で登録されているコールバック関数の数を返す。 + ---@param self AbstractEvent + ---@param name string コールバック関数の名前 + ---@return integer registeredCount 登録されていたコールバック関数の数 + getRegisteredCount = function (self, name) + if self.registerTable[name] ~= nil then + return #self.registerTable[name] + else + return 0 + end + end; + + ---登録された全てのコールバック関数を呼ぶ。 + ---@param self AbstractEvent + ---@param ... any callbackArgs コールバック引数 + fire = function (self, ...) + for _, eventTable in pairs(self.registerTable) do + for _, callback in ipairs(eventTable) do + ---@diagnostic disable-next-line: redundant-parameter + callback(...) + end + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/events/avatar_events.lua b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/events/avatar_events.lua new file mode 100644 index 0000000..b2fd6e8 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/events/avatar_events.lua @@ -0,0 +1,16 @@ +---@class AvatarEvents : AvatarModule アバター独自のイベントを定義し、管理するクラス +---@field public SCRIPT_INIT ScriptInitEvent 全てのスクリプトの初期化が完了した後に1度だけ呼ばれるイベント + +AvatarEvents = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return AvatarEvents + new = function (parent) + ---@type AvatarEvents + local instance = Avatar.instantiate(AvatarEvents, AvatarModule, parent) + + instance.SCRIPT_INIT = ScriptInitEvent.new(instance.parent) + + return instance + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/events/script_init_event.lua b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/events/script_init_event.lua new file mode 100644 index 0000000..44c62e7 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/events/script_init_event.lua @@ -0,0 +1,25 @@ +---@class ScriptInitEvent : AbstractEvent 全てのスクリプトの初期化が完了した後に1度だけ呼ばれるイベント +---@field public register fun(self: AbstractEvent, callback: fun(), name?: string) イベントにコールバック関数登録する +---@field public fire fun(self: AbstractEvent) 登録された全てのコールバック関数を呼ぶ + +ScriptInitEvent = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ScriptInitEvent + new = function (parent) + ---@type ScriptInitEvent + local instance = Avatar.instantiate(ScriptInitEvent, AbstractEvent, parent) + + return instance + end; + + ---登録された全てのコールバック関数を呼ぶ。 + ---@param self ScriptInitEvent + fire = function (self, ...) + for _, eventTable in pairs(self.registerTable) do + for _, callback in ipairs(eventTable) do + callback() + end + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/ex_skill/ex_skill.lua b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/ex_skill/ex_skill.lua new file mode 100644 index 0000000..dcc10ca --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/ex_skill/ex_skill.lua @@ -0,0 +1,434 @@ +---@alias ExSkill.AutoPlayMode +---| "NONE" # 自動再生なし +---| "MAIN" # メインExスキル +---| "SUB" # サブExスキル + +---@alias ExSkill.TransitionPhase +---| "PRE" # Exスキルアニメーション開始前 +---| "POST" # Exスキルアニメーション終了後 + +---@class (exact) ExSkill : AvatarModule Exスキルのアニメーションを管理するクラス +---@field package AUTO_PLAY ExSkill.AutoPlayMode アバター読み込み時に自動的にExスキルが再生される。デバッグ用。 +---@field public frameParticleAmount integer Exスキルフレームのパーティクルの量:1. 標準, 2. 少なめ, 3. なし, 4. Exスキルフレーム非表示、パーティクル量は標準 +---@field package exSkillIndex integer 現在再生中のExスキルのインデックス番号 +---@field public animationCount integer Exスキルのアニメーション再生中に増加するカウンター。-1はアニメーション停止中を示す。 +---@field package animationLength number Exスキルのアニメーションの長さ。スクリプトで自動で代入する。 +---@field public transitionCount number Exスキルのアニメーション前後のカメラのトランジションの進捗を示すカウンター +---@field package keyPressCount integer Exスキルキーを押下し続ける時間を計るカウンター +---@field package bodyYaw number[] プレイヤーの体の回転 +---@field package isDebugInit boolean デバッグモードが初期化されたかどうか +---@field public canPlayAnimation fun(self: ExSkill): boolean アニメーションが再生可能かどうかを返す +---@field package transition fun(self: ExSkill, direction: ExSkill.TransitionPhase, callback: fun()) Exスキルのアニメーションの前後のカメラのトランジションを行う関数 +---@field public play fun(self: ExSkill, isSubExSkill: boolean) アニメーションを再生する +---@field public stop fun(self: ExSkill) アニメーションを停止する +---@field public forceStop fun(self: ExSkill) アニメーションを停止する。終了時のトランジションも無効。 + +ExSkill = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ExSkill + new = function (parent) + ---@type ExSkill + local instance = Avatar.instantiate(ExSkill, AvatarModule, parent) + + instance.AUTO_PLAY = "NONE" + + instance.frameParticleAmount = instance.parent.config:loadConfig("PRIVATE", "exSkillFrameParticleAmount", 1) + instance.exSkillIndex = 1 + instance.animationCount = -1 + instance.animationLength = 0 + instance.transitionCount = 0 + instance.keyPressCount = 0 + instance.bodyYaw = {} + instance.isDebugInit = false + + return instance + end; + + ---初期化関数 + ---@param self ExSkill + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + for _, exSkill in ipairs(self.parent.characterData.exSkill) do + local offset = (exSkill.camera.fixMode ~= nil and exSkill.camera.fixMode) and 1 or 0.9375 + exSkill.camera.start.pos:mul(-1, 1, 1):scale(1 / 16 * offset) + exSkill.camera.fin.pos:mul(-1, 1, 1):scale(1 / 16 * offset) + end + + local exSkillKey = self.parent.keyManager:register("ex_skill", self.parent.config:loadConfig("PRIVATE", "keybind.ex_skill", "key.keyboard.g")) + exSkillKey:setOnPress(function () + while events.TICK:getRegisteredCount("ex_skill_keypress_tick") > 0 do + events.TICK:remove("ex_skill_keypress_tick") + end + events.TICK:register(function () + if self.keyPressCount == 30 then + events.TICK:remove("ex_skill_keypress_tick") + self.parent.placementObjectManager:removeAll() + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.zombie.break_wooden_door"), player:getPos(), 0.25, 2) + self.keyPressCount = 0 + return + end + self.keyPressCount = self.keyPressCount + 1 + end, "ex_skill_keypress_tick") + end) + exSkillKey:setOnRelease(function () + events.TICK:remove("ex_skill_keypress_tick") + if self.keyPressCount > 0 then + if self:canPlayAnimation() and self.animationCount == -1 and self.transitionCount == 0 then + pings.exSkill() + else + print(self.parent.locale:getLocale("key_bind.ex_skill.unavailable"..(renderer:isFirstPerson() and "_firstperson" or ""))) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + end + self.keyPressCount = 0 + end + end) + self.parent.keyManager:register("ex_skill_sub", self.parent.config:loadConfig("PRIVATE", "keybind.ex_skill_sub", "key.keyboard.h")):setOnPress(function () + if self:canPlayAnimation() and self.animationCount == -1 and self.transitionCount == 0 and self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill ~= nil then + pings.subExSkill() + else + print(self.parent.locale:getLocale(self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill == nil and "action_wheel.main.action_6.unavailable" or "key_bind.ex_skill.unavailable"..(renderer:isFirstPerson() and "_firstperson" or ""))) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + end + end) + end + + table.insert(self.bodyYaw, player:getBodyYaw() % 360) + + events.TICK:register(function () + if not renderer:isFirstPerson() then + table.insert(self.bodyYaw, player:getBodyYaw() % 360) + if #self.bodyYaw == 3 then + table.remove(self.bodyYaw, 1) + end + end + end) + + if self.AUTO_PLAY ~= "NONE" then + events.TICK:register(function () + if not self.isDebugInit then + events.TICK:remove("ex_skill_debug_tick") + self:play(self.AUTO_PLAY == "SUB") + self.isDebugInit = true + end + end, "ex_skill_debug_tick") + end + end; + + ---アニメーションが再生可能かどうかを返す。 + ---@param self ExSkill + ---@return boolean canPlayAnimation Exスキルアニメーションが再生可能かどうか + canPlayAnimation = function (self) + return player:getPose() == "STANDING" and player:getVelocity():length() < 0.01 and self.bodyYaw[1] == self.bodyYaw[2] and player:isOnGround() and not player:isInWater() and not player:isInLava() and player:getFrozenTicks() == 0 and not renderer:isFirstPerson() and self.parent.playerUtils.damageStatus == "NONE" and player:getSwingArm() == nil and player:getActiveItem().id == "minecraft:air" and not self.parent.costume.isChangingCostume + end; + + ---Exスキルのアニメーションの前後のカメラのトランジションを行う関数 + ---@param self ExSkill + ---@param direction ExSkill.TransitionPhase カメラのトランジションの向き + ---@param callback fun() トランジション終了時に呼び出されるコールバック関数 + transition = function (self, direction, callback) + events.TICK:register(function () + if not client:isPaused() then + if events.TICK:getRegisteredCount("ex_skill_transition_tick") == 1 then + self.transitionCount = direction == "PRE" and math.min(self.transitionCount + 1, 10) or math.max(self.transitionCount - 1, 0) + end + if (direction == "PRE" and self.transitionCount == 10) or (direction == "POST" and self.transitionCount == 0) then + if host:isHost() then + local windowSize = client:getScaledWindowSize() + models.models.ex_skill_frame.Gui.FrameBar:setPos(0, 0, 0) + if direction == "PRE" and self.frameParticleAmount < 4 then + for _, modelPart in ipairs({models.models.ex_skill_frame.Gui.Frame.FrameTopLeft, models.models.ex_skill_frame.Gui.Frame.FrameTopRight, models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft, models.models.ex_skill_frame.Gui.Frame.FrameBottomRight}) do + modelPart:setVisible(true) + end + models.models.ex_skill_frame.Gui.Frame.FrameTop:setPos(-windowSize.x + 16, -16) + models.models.ex_skill_frame.Gui.Frame.FrameTop:setScale(windowSize.x / 16 - 2, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setPos(-16, -windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setScale(1, windowSize.y / 16 - 2, 1) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setPos(-windowSize.x + 16, -windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setScale(windowSize.x / 16 - 2, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setPos(-windowSize.x, -windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setScale(1, windowSize.y / 16 - 2, 1) + elseif direction == "POST" then + for _, modelPart in ipairs({models.models.ex_skill_frame.Gui.Frame.FrameTopLeft, models.models.ex_skill_frame.Gui.Frame.FrameTopRight, models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft, models.models.ex_skill_frame.Gui.Frame.FrameBottomRight}) do + modelPart:setVisible(false) + end + for _, modelPart in ipairs({models.models.ex_skill_frame.Gui.Frame.FrameTop, models.models.ex_skill_frame.Gui.Frame.FrameLeft, models.models.ex_skill_frame.Gui.Frame.FrameBottom, models.models.ex_skill_frame.Gui.Frame.FrameRight}) do + modelPart:setScale(0, 0, 0) + end + end + end + callback() + events.TICK:remove("ex_skill_transition_tick") + events.RENDER:remove("ex_skill_transition_render") + end + if host:isHost() then + local barPos = models.models.ex_skill_frame.Gui.FrameBar:getPos().x * -1 + local windowSizeY = client:getScaledWindowSize().y + if self.frameParticleAmount ~= 3 and self.transitionCount >= 1 and self.transitionCount <= 9 then + for _ = 1, windowSizeY / (self.frameParticleAmount == 2 and 100 or 20) do + local particleOffset = math.random() * windowSizeY + self.parent.frameParticleManager:spawn(vectors.vec2(barPos - particleOffset - math.random() * 50, particleOffset):scale(-1), vectors.vec2(500, 0)) + end + end + end + end + end, "ex_skill_transition_tick") + + events.RENDER:register(function (delta) + --カメラのトランジション + if not client:isPaused() and host:isHost() then + local lookDir = player:getLookDir() + local cameraRot = renderer:isCameraBackwards() and vectors.vec3(math.deg(math.asin(lookDir.y)), math.deg(math.atan2(lookDir.z, lookDir.x) + math.pi / 2)) or vectors.vec3(math.deg(math.asin(-lookDir.y)), math.deg(math.atan2(lookDir.z, lookDir.x) - math.pi / 2)) + local targetCameraPos = vectors.vec3() + local targetCameraRot = vectors.vec3() + if direction == "PRE" then + targetCameraPos = vectors.rotateAroundAxis(self.bodyYaw[2] * -1 + 180, self.parent.characterData.exSkill[self.exSkillIndex].camera.start.pos, 0, 1):add(0, -1.62) + targetCameraRot = self.parent.characterData.exSkill[self.exSkillIndex].camera.start.rot:copy():add(0, self.bodyYaw[2], 0) + else + targetCameraPos = vectors.rotateAroundAxis(self.bodyYaw[2] * -1 + 180, self.parent.characterData.exSkill[self.exSkillIndex].camera.fin.pos, 0, 1):add(0, -1.62) + targetCameraRot = self.parent.characterData.exSkill[self.exSkillIndex].camera.fin.rot:copy():add(0, self.bodyYaw[2], 0) + end + if math.abs(cameraRot.y - targetCameraRot.y) >= 180 then + if cameraRot.y < targetCameraRot.y then + cameraRot.y = cameraRot.y + 360 + else + targetCameraRot.y = targetCameraRot.y + 360 + end + end + local trueDelta = direction == "PRE" and delta or delta * -1 + self.parent.cameraManager.setCameraPivot(targetCameraPos:scale((self.transitionCount + trueDelta) / 10)) + self.parent.cameraManager.setCameraRot(targetCameraRot:copy():sub(cameraRot):scale((self.transitionCount + trueDelta) / 10):add(cameraRot)) + self.parent.cameraManager:setThirdPersonCameraDistance(4 - (self.transitionCount + trueDelta) / 10 * 4) + + --フレーム演出 + local windowSize = client:getScaledWindowSize() + local barPos = (windowSize.x + windowSize.y + math.sqrt(2) * 16) * (direction == "PRE" and (self.transitionCount + trueDelta) / 10 or (1 - (self.transitionCount + trueDelta) / 10)) + models.models.ex_skill_frame.Gui.FrameBar:setPos(-barPos, 0, 0) + + if self.frameParticleAmount < 4 then + local frameTopLength = math.clamp(barPos, 32, windowSize.x) + local frameLeftLength = math.clamp(barPos, 32, windowSize.y) + local frameBottomLength = math.clamp(barPos - windowSize.y + 16, 32, windowSize.x) + local frameRightLength = math.clamp(barPos - windowSize.x + 16, 32, windowSize.y) + + models.models.ex_skill_frame.Gui.Frame.FrameTopLeft:setPos(-16, -16) + models.models.ex_skill_frame.Gui.Frame.FrameTopRight:setPos(-windowSize.x, -16) + models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft:setPos(-16, -windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameBottomRight:setPos(-windowSize.x, -windowSize.y) + if direction == "PRE" then + models.models.ex_skill_frame.Gui.Frame.FrameTopLeft:setVisible(barPos >= 16) + models.models.ex_skill_frame.Gui.Frame.FrameTopRight:setVisible(barPos >= windowSize.x + 16) + models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft:setVisible(barPos >= windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameBottomRight:setVisible(barPos >= windowSize.x + windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameTop:setPos(-frameTopLength + 16, -16) + models.models.ex_skill_frame.Gui.Frame.FrameTop:setScale(frameTopLength / 16 - 2, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setPos(-16, -frameLeftLength + 16) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setScale(1, frameLeftLength / 16 - 2, 1) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setPos(-frameBottomLength + 16, -windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setScale(frameBottomLength / 16 - 2, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setPos(-windowSize.x, -frameRightLength + 16) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setScale(1, frameRightLength / 16 - 2, 1) + else + models.models.ex_skill_frame.Gui.Frame.FrameTopLeft:setVisible(barPos < 16) + models.models.ex_skill_frame.Gui.Frame.FrameTopRight:setVisible(barPos < windowSize.x + 16) + models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft:setVisible(barPos < windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameBottomRight:setVisible(barPos < windowSize.x + windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameTop:setPos(-windowSize.x + 16, -16) + models.models.ex_skill_frame.Gui.Frame.FrameTop:setScale((windowSize.x - frameTopLength) / 16, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setPos(-16, -windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setScale(1, (windowSize.y - frameLeftLength) / 16, 1) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setPos(-windowSize.x + 16, -windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setScale((windowSize.x - frameBottomLength) / 16, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setPos(-windowSize.x, -windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setScale(1, (windowSize.y - frameRightLength) / 16, 1) + end + end + end + end, "ex_skill_transition_render") + end; + + ---アニメーションを再生する。 + ---@param self ExSkill + ---@param isSubExSkill boolean サブExスキルを再生するかどうか + play = function (self, isSubExSkill) + if isSubExSkill then + if self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill ~= nil then + self.exSkillIndex = self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill + else + return + end + else + self.exSkillIndex = self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].exSkill + end + + self.parent.bubble:stop() + renderer:setFOV(70 / client:getFOV()) + renderer:setRenderHUD(false) + self.parent.cameraManager:setCameraCollisionDenial(true) + models.models.ex_skill_frame.Gui:setColor(self.parent.characterData.exSkill[self.exSkillIndex].formationType == "STRIKER" and vectors.vec3(1, 0.75, 0.75) or vectors.vec3(0.75, 1, 1)) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.levelup"), player:getPos(), 5, 2) + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPreTransition ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPreTransition(self.parent.characterData) + end + models.models.ex_skill_frame.Gui.FrameBar:setScale(1, client:getScaledWindowSize().y * math.sqrt(2) / 16 + 1, 1) + + events.TICK:register(function () + if not self:canPlayAnimation() then + self:forceStop() + end + end, "ex_skill_tick") + + self:transition("PRE", function () + self.parent.physics:disable() + for _, itemModel in ipairs({vanilla_model.RIGHT_ITEM, vanilla_model.LEFT_ITEM}) do + itemModel:setVisible(false) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].models) do + modelPart:setVisible(true) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].animations) do + animations["models."..modelPart]["ex_skill_"..self.exSkillIndex]:play() + end + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPreAnimation ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPreAnimation(self.parent.characterData) + end + self.parent.cameraManager:setThirdPersonCameraDistance(0) + + events.TICK:register(function () + if not client:isPaused() then + if self.animationCount == self.animationLength - 1 then + self:stop() + elseif self:canPlayAnimation() and animations["models.main"]["ex_skill_"..self.exSkillIndex]:isPlaying() then + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onAnimationTick ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onAnimationTick(self.parent.characterData, self.animationCount) + end + self.animationCount = self.animationCount > -1 and self.animationCount + 1 or self.animationCount + end + + if host:isHost() then + local windowSize = client:getScaledWindowSize() + local windowCenter = windowSize:copy():scale(0.5) + if self.frameParticleAmount < 3 then + for _ = 1, (windowSize.x * 2 + windowSize.y * 2) / (self.frameParticleAmount == 1 and 100 or 500) do + local particlePos = vectors.vec2(math.random() * (windowSize.x * 2 + windowSize.y * 2), math.random() * 16) + particlePos = particlePos.x <= windowSize.x and particlePos or (particlePos.x <= windowSize.x + windowSize.y and vectors.vec2(windowSize.x - particlePos.y, particlePos.x - windowSize.x) or (particlePos.x <= windowSize.x * 2 + windowSize.y and vectors.vec2(particlePos.x - (windowSize.x + windowSize.y), windowSize.y - particlePos.y) or vectors.vec2(particlePos.y, particlePos.x - (windowSize.x * 2 + windowSize.y)))) + self.parent.frameParticleManager:spawn(particlePos:copy():scale(-1), windowCenter:copy():sub(particlePos):scale(0.25)) + end + end + end + end + end, "ex_skill_animation_tick") + + if host:isHost() then + events.RENDER:register(function () + if not client:isPaused() then + self.parent.cameraManager.setCameraPivot(vectors.rotateAroundAxis(self.bodyYaw[2] * -1 + 180, models.models.main.CameraAnchor:getAnimPos():scale(1 / 16 * ((self.parent.characterData.exSkill[self.exSkillIndex].camera.fixMode ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].camera.fixMode) and 1 or 0.9375)), 0, 1, 0):add(0, -1.62, 0)) + self.parent.cameraManager.setCameraRot(models.models.main.CameraAnchor:getAnimRot():scale(-1):add(0, self.bodyYaw[2], 0)) + end + end, "ex_skill_animation_render") + end + self.animationCount = 0 + self.parent.gun:processGunTick() + self.animationLength = math.round(animations["models.main"]["ex_skill_"..self.exSkillIndex]:getLength() * 20) + end) + end; + + ---アニメーションを停止する。 + ---@param self ExSkill + stop = function (self) + events.TICK:remove("ex_skill_animation_tick") + if host:isHost() then + events.RENDER:remove("ex_skill_animation_render") + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.levelup"), player:getPos(), 5, 2):setAttenuation(100) + end + + for _, itemModel in ipairs({vanilla_model.RIGHT_ITEM, vanilla_model.LEFT_ITEM}) do + itemModel:setVisible(true) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].models) do + modelPart:setVisible(false) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].animations) do + animations["models."..modelPart]["ex_skill_"..self.exSkillIndex]:stop() + end + self.parent.physics:enable() + renderer:setFOV() + self.animationCount = -1 + + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostAnimation ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostAnimation(self.parent.characterData, false) + end + self:transition("POST", function () + events.TICK:remove("ex_skill_tick") + self.parent.cameraManager.setCameraPivot() + self.parent.cameraManager.setCameraRot() + self.parent.cameraManager:setThirdPersonCameraDistance(4) + self.parent.cameraManager:setCameraCollisionDenial(false) + renderer:setRenderHUD(true) + + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostTransition ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostTransition(self.parent.characterData, false) + end + end) + end; + + ---アニメーションを停止する。終了時のトランジションも無効。 + ---@param self ExSkill + forceStop = function (self) + events.RENDER:remove("ex_skill_transition_render") + if host:isHost() then + events.TICK:remove("ex_skill_transition_tick") + events.RENDER:remove("ex_skill_animation_render") + end + + for _, itemModel in ipairs({vanilla_model.RIGHT_ITEM, vanilla_model.LEFT_ITEM}) do + itemModel:setVisible(true) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].models) do + modelPart:setVisible(false) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].animations) do + animations["models."..modelPart]["ex_skill_"..self.exSkillIndex]:stop() + end + for _, eventName in ipairs({"ex_skill_tick", "ex_skill_animation_tick"}) do + events.TICK:remove(eventName) + end + self.parent.physics:enable() + models.models.ex_skill_frame.Gui.FrameBar:setPos() + for _, modelPart in ipairs({models.models.ex_skill_frame.Gui.Frame.FrameTopLeft, models.models.ex_skill_frame.Gui.Frame.FrameTopRight, models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft, models.models.ex_skill_frame.Gui.Frame.FrameBottomRight}) do + modelPart:setVisible(false) + end + for _, modelPart in ipairs({models.models.ex_skill_frame.Gui.Frame.FrameTop, models.models.ex_skill_frame.Gui.Frame.FrameLeft, models.models.ex_skill_frame.Gui.Frame.FrameBottom, models.models.ex_skill_frame.Gui.Frame.FrameRight}) do + modelPart:setScale(0, 0, 0) + end + self.parent.faceParts:resetEmotion() + self.parent.cameraManager.setCameraPivot() + self.parent.cameraManager.setCameraRot() + self.parent.cameraManager:setThirdPersonCameraDistance(4) + self.parent.cameraManager:setCameraCollisionDenial(false) + renderer:setRenderHUD(true) + renderer:setFOV() + + if self.animationCount >= 0 and self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostAnimation ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostAnimation(self.parent.characterData, true) + end + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostTransition ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostTransition(self.parent.characterData, true) + end + + self.animationCount = -1 + self.transitionCount = 0 + end; +} + +---Exスキルを再生する。 +function pings.exSkill() + AvatarInstance.exSkill:play(false) +end + +---サブExスキルを再生する。 +function pings.subExSkill() + AvatarInstance.exSkill:play(true) +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/ex_skill/ex_skill_frame_particle.lua b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/ex_skill/ex_skill_frame_particle.lua new file mode 100644 index 0000000..59315a9 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/ex_skill/ex_skill_frame_particle.lua @@ -0,0 +1,68 @@ +---@class (exact) ExSkillFrameParticle : SpawnObject Exスキルのフレームで使用するパーティクルの単一を管理するクラス +---@field package object ModelPart インスタンスで制御するオブジェクト +---@field package currentPos Vector2 パーティクルの現在位置 +---@field package nextPos Vector2 次ティックのパーティクルの位置 +---@field package velocity Vector2 パーティクルの速度 +---@field package particleCount integer パーティクルのアニメーションを制御するためのカウンター +---@field public new fun(parent: Avatar, pos: Vector2, velocity: Vector2, type: ExSkillFrameParticleManager.ParticleType): ExSkillFrameParticle コンストラクター + +ExSkillFrameParticle = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@param pos Vector2 パーティクルをスポーンさせるスクリーン上の座標。GUIスケールも考慮される。 + ---@param velocity Vector2 パーティクルの秒間移動距離(ピクセル) + ---@param type ExSkillFrameParticleManager.ParticleType このインスタンスのパーティクルの種類 + ---@return ExSkillFrameParticle + new = function (parent, pos, velocity, type) + ---@type ExSkillFrameParticle + local instance = Avatar.instantiate(ExSkillFrameParticle, SpawnObject, parent) + + instance.object = models.models.ex_skill_frame.Particles["Particle"..(type == "NORMAL" and 1 or 2)]:copy(instance.uuid) + instance.currentPos = pos + instance.nextPos = instance.currentPos + instance.velocity = velocity + instance.particleCount = 0 + + instance.callbacks = { + ---@param self ExSkillFrameParticle + onInit = function (self) + models.models.ex_skill_frame.Gui.script_ex_skill_frame_particles:addChild(self.object) + self.object:setRot(90, math.random() * 360, 180) + end; + + ---@param self ExSkillFrameParticle + onDeinit = function (self) + self.object:remove() + end; + + ---@param self ExSkillFrameParticle + onTick = function (self) + --パーティクル位置を強制更新 + self.currentPos = self.nextPos:copy() + self.object:setPos(self.currentPos:copy():augmented(0)) + self.object:setScale(vectors.vec3(1, 1, 1):scale(1 - self.particleCount / 5)) + + --カウンターを更新 + self.particleCount = self.particleCount + 1 + if self.particleCount == 5 then + self.object:remove() + elseif self.particleCount == 6 then + self.shouldDeinit = true + end + + --次ティックの位置を計算 + if self.velocity:length() > 0 then + self.nextPos = self.currentPos:copy():add(self.velocity:copy():scale(-0.05)) + end + end; + + ---@param self ExSkillFrameParticle + onRender = function (self, delta) + self.object:setPos(self.nextPos:copy():sub(self.currentPos):scale(delta):add(self.currentPos):augmented(0)) + self.object:setScale(vectors.vec3(1, 1, 1):scale(1 - (self.particleCount + delta) / 5)) + end; + } + + return instance + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/ex_skill/ex_skill_frame_particle_manager.lua b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/ex_skill/ex_skill_frame_particle_manager.lua new file mode 100644 index 0000000..262709e --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/ex_skill/ex_skill_frame_particle_manager.lua @@ -0,0 +1,48 @@ +---@alias ExSkillFrameParticleManager.ParticleType +---| "NORMAL" # 通常のパーティクル +---| "FIGURA" # Figuraマークのパーティクル(穴空き三角形) + +---@class (exact) ExSkillFrameParticleManager : SpawnObjectManager Exスキルのフレームで使用するパーティクルを管理するクラス +---@field public objects ExSkillFrameParticle[] インスタンスで制御するオブジェクト +---@field public getObject fun(self: ExSkillFrameParticleManager, pos: Vector2, velocity: Vector2): ExSkillFrameParticle Exスキルフレームのパーティクルのインスタンスを生成して返す +---@field public spawn fun(self: ExSkillFrameParticleManager, pos: Vector2, velocity: Vector2) Exスキルフレームのパーティクルをスポーンさせる + +ExSkillFrameParticleManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ExSkillFrameParticleManager + new = function (parent) + ---@type ExSkillFrameParticleManager + local instance = Avatar.instantiate(ExSkillFrameParticleManager, SpawnObjectManager, parent) + + instance.managerName = "ex_skill_frame_particle" + + return instance + end; + + ---初期化関数 + ---@param self ExSkillFrameParticleManager + init = function (self) + SpawnObjectManager.init(self) + + ---@diagnostic disable-next-line: discard-returns + models.models.ex_skill_frame.Gui:newPart("script_ex_skill_frame_particles") + end; + + ---Exスキルフレームのパーティクルのインスタンスを生成して返す。 + ---@param self ExSkillFrameParticleManager + ---@param pos Vector2 パーティクルをスポーンさせる画面上の座標 + ---@param velocity Vector2 パーティクルの速度 + ---@return ExSkillFrameParticle instance 生成したインスタンス + getObject = function (self, pos, velocity) + return ExSkillFrameParticle.new(self.parent, pos, velocity, math.random() > 0.9999 and "FIGURA" or "NORMAL") + end; + + ---Exスキルフレームのパーティクルをスポーンさせる。 + ---@param self ExSkillFrameParticleManager + ---@param pos Vector2 パーティクルをスポーンさせる画面上の座標 + ---@param velocity Vector2 パーティクルの速度 + spawn = function (self, pos, velocity) + SpawnObjectManager.spawn(self, pos, velocity) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/face_parts.lua b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/face_parts.lua new file mode 100644 index 0000000..c364e0f --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/face_parts.lua @@ -0,0 +1,88 @@ +---@class (exact) FaceParts : AvatarModule 目と口のテクスチャを管理するクラス +---@field package emotionCount integer エモートの時間を計るカウンター +---@field public blinkCount integer 瞬きのタイミングを計るカウンター +---@field public setEmotion fun(self: FaceParts, rightEye: BlueArchiveCharacter.RightEyeTextures, leftEye: BlueArchiveCharacter.LeftEyeTextures, mouth: BlueArchiveCharacter.MouthTextures, duration: integer, forced?: boolean) 表情を設定する +---@field public resetEmotion fun(self: FaceParts) 表情をリセットする + +FaceParts = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return FaceParts + new = function (parent) + ---@type FaceParts + local instance = Avatar.instantiate(FaceParts, AvatarModule, parent) + + instance.emotionCount = 0 + instance.blinkCount = 200 + + return instance + end; + + ---初期化関数 + ---@param self FaceParts + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + if not client:isPaused() then + if self.parent.playerUtils.damageStatus == "DAMAGE" then + if self.parent.characterData.faceParts.emotionSet ~= nil and self.parent.characterData.faceParts.emotionSet.onDamage ~= nil then + self:setEmotion(self.parent.characterData.faceParts.emotionSet.onDamage.rightEye, self.parent.characterData.faceParts.emotionSet.onDamage.leftEye, self.parent.characterData.faceParts.emotionSet.onDamage.mouth, 8, true) + else + self:setEmotion("SURPRISED", "SURPRISED", "NORMAL", 8, true) + end + elseif self.parent.playerUtils.damageStatus == "DIED" then + if self.parent.characterData.faceParts.emotionSet ~= nil and self.parent.characterData.faceParts.emotionSet.onDied ~= nil then + self:setEmotion(self.parent.characterData.faceParts.emotionSet.onDied.rightEye, self.parent.characterData.faceParts.emotionSet.onDied.leftEye, self.parent.characterData.faceParts.emotionSet.onDied.mouth, 20, true) + else + self:setEmotion("SURPRISED", "SURPRISED", "NORMAL", 20, true) + end + elseif self.emotionCount == 0 then + self:setEmotion("NORMAL", "NORMAL", "NORMAL", 0) + end + + if self.blinkCount == 0 then + self:setEmotion("CLOSED", "CLOSED", "NORMAL", 2) + self.blinkCount = 200 + else + self.blinkCount = self.blinkCount - 1 + end + + self.emotionCount = self.emotionCount > 0 and self.emotionCount - 1 or self.emotionCount + end + end) + end; + + ---表情を設定する。 + ---@param self FaceParts + ---@param rightEye BlueArchiveCharacter.RightEyeTextures 設定する右目の名前 + ---@param leftEye BlueArchiveCharacter.LeftEyeTextures 設定する左目の名前 + ---@param mouth BlueArchiveCharacter.MouthTextures 設定する口の名前 + ---@param duration integer この表情を有効にする時間 + ---@param forced? boolean trueにすると以前のエモーションが再生中でも強制的に現在のエモーションを適用させる。 + setEmotion = function (self, rightEye, leftEye, mouth, duration, forced) + if self.emotionCount == 0 or forced then + --右目 + models.models.main.Avatar.Head.FaceParts.Eyes.EyeLeft:setUVPixels(self.parent.characterData.faceParts.rightEye[rightEye]:copy():scale(6)) + + --左目 + models.models.main.Avatar.Head.FaceParts.Eyes.EyeRight:setUVPixels(self.parent.characterData.faceParts.leftEye[leftEye]:copy():scale(6)) + + --口 + if mouth ~= "NORMAL" then + models.models.main.Avatar.Head.FaceParts.Mouth:setVisible(true) + models.models.main.Avatar.Head.FaceParts.Mouth:setUVPixels(self.parent.characterData.faceParts.mouth[mouth]:copy():mul(16, 8)) + else + models.models.main.Avatar.Head.FaceParts.Mouth:setVisible(false) + end + + self.emotionCount = duration + end + end; + + ---表情をリセットする。 + ---@param self FaceParts + resetEmotion = function (self) + self.emotionCount = 0 + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/gun.lua b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/gun.lua new file mode 100644 index 0000000..e85079b --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/gun.lua @@ -0,0 +1,376 @@ +---@alias Gun.GunPosition +---| "NONE" # 構えていない +---| "RIGHT" # 右手に構える +---| "LEFT" # 左手に構える + +---@alias Gun.HandDirection +---| "RIGHT" # 右手 +---| "LEFT" # 左手 + +---@class (exact) Gun : AvatarModule 生徒の銃を制御するクラス +---@field public gunItems Minecraft.itemID[] 銃のモデルを適用するアイテム +---@field public shouldShowWeaponInFirstPerson boolean 一人称で武器(銃を含む)のモデルを表示するかどうか +---@field public currentGunPosition Gun.GunPosition 現在の銃の位置 +---@field package heldItemsPrev Gun.HeldItemSet 前ティックの手持ちアイテム +---@field package isLeftHandedPrev boolean 前ティックに左利きだったかどうか +---@field package isGunTickProcessed boolean このティック内で銃ティックを処理したかどうか +---@field package setBodyGunPos fun(self: Gun) 背中の銃の位置・向きを設定する +---@field public setGunPosition fun(self: Gun, gonPosition: Gun.GunPosition) 銃の位置を変更する +---@field public processGunTick fun(self: Gun) 銃ティックを処理する + +---@class (exact) Gun.HeldItemSet 手持ちアイテムを示すデータセット +---@field public mainHand ItemStack メインハンド +---@field public offHand ItemStack オフハンド + +Gun = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Gun + new = function (parent) + ---@type Gun + local instance = Avatar.instantiate(Gun, AvatarModule, parent) + + instance.gunItems = {"minecraft:bow", "minecraft:crossbow"} + instance.shouldShowWeaponInFirstPerson = instance.parent.config:loadConfig("PRIVATE", "firstPersonWeapon", true) + instance.currentGunPosition = "NONE" + instance.heldItemsPrev = { + mainHand = world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")); + offHand = world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")); + } + instance.isLeftHandedPrev = player:isLeftHanded() + instance.isGunTickProcessed = false + + return instance + end; + + ---初期化関数 + ---@param self Gun + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + self:processGunTick() + self.isGunTickProcessed = false + end) + + events.ON_PLAY_SOUND:register(function (id, pos, _, _, _, _, path) + if path ~= nil then + local velocityDistance = player:getVelocity():length() + local distanceFromSound = math.abs(pos:copy():sub(player:getPos()):length() - velocityDistance) + if (id == "minecraft:entity.arrow.shoot" or id == "minecraft:item.crossbow.loading_end" or id == "minecraft:item.crossbow.shoot") and math.abs(velocityDistance - distanceFromSound) < 1 then + if id == "minecraft:item.crossbow.loading_end" then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.dispenser.fail"), pos, 1, 2) + elseif player:isUnderwater() then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.generic.extinguish_fire"), pos, 0.5, 1.5) + else + local particleAnchor = self.parent.modelUtils.getModelWorldPos(renderer:isFirstPerson() and (Gun.CurrentGunPosition == "RIGHT" and models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.RightItemPivot or models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.LeftItemPivot) or models.models.main.Avatar.UpperBody.Body.Gun.MuzzleAnchor) + for _ = 1, 5 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:smoke"), particleAnchor) + end + sounds:playSound(self.parent.compatibilityUtils:checkSound(self.parent.characterData.gun.sound.name), pos, 1, self.parent.characterData.gun.sound.pitch) + end + return true + elseif (id == "minecraft:item.crossbow.loading_start" or id == "minecraft:item.crossbow.loading_middle" or id:match("^minecraft:item%.crossbow%.quick_charge_[1-3]$") ~= nil) and distanceFromSound < 1 and player:getActiveItem().id == "minecraft:crossbow" then + local activeItemTime = player:getActiveItemTime() + local quickChargeLevel = 0 + local activeItem = player:getActiveItem() + if activeItem.tag.Enchantments ~= nil then + for _, enchant in ipairs(activeItem.tag.Enchantments) do + if enchant.id == "minecraft:quick_charge" then + quickChargeLevel = enchant.lvl + break + end + end + end + if (quickChargeLevel <= 4 and activeItemTime + quickChargeLevel >= 4 and activeItemTime + quickChargeLevel <= 6) or (quickChargeLevel == 5 and activeItemTime <= 2) then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.flintandsteel.use"), pos, 1, 2) + return true + elseif id == "minecraft:item.crossbow.loading_middle" then + return true + end + end + end + end) + + local this = self --Figuraにスクリプトを再構築させると参照がおかしくなることに対処しているコード + events.ITEM_RENDER:register(function (item, mode, _, _, _, leftHanded) + self = this + if mode ~= "HEAD" and self.currentGunPosition == (leftHanded and "LEFT" or "RIGHT") and (self.shouldShowWeaponInFirstPerson or mode =="THIRD_PERSON_LEFT_HAND" or mode == "THIRD_PERSON_RIGHT_HAND") then + for _, gunItem in ipairs(self.gunItems) do + if item.id == gunItem then + if leftHanded then + if mode == "FIRST_PERSON_LEFT_HAND" then + local offsetPos = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.firstPersonPos ~= nil and self.parent.characterData.gun.gunPosition.hold.firstPersonPos.left ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.hold.firstPersonPos.left + end + local offsetRot = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.firstPersonRot ~= nil and self.parent.characterData.gun.gunPosition.hold.firstPersonRot.left ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.hold.firstPersonRot.left + end + local activeItemId = player:getActiveItem().id + if activeItemId == "minecraft:bow" then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -2.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(20, -7.5, -5):add(offsetRot)) + elseif activeItemId == "minecraft:crossbow" then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, 0.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + elseif item.id == "minecraft:crossbow" and item.tag.Charged == 1 then + if player:isLeftHanded() then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(-10, -1.25, 6):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 10, 0):add(offsetRot)) + else + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -1.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + else + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -1.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + elseif mode == "THIRD_PERSON_LEFT_HAND" then + local offsetPos = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.thirdPersonPos ~= nil and self.parent.characterData.gun.gunPosition.hold.thirdPersonPos.left ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.hold.thirdPersonPos.left + end + local offsetRot = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.thirdPersonRot ~= nil and self.parent.characterData.gun.gunPosition.hold.thirdPersonRot.left ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.hold.thirdPersonRot.left + end + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -4.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + else + if mode == "FIRST_PERSON_RIGHT_HAND" then + local offsetPos = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.firstPersonPos ~= nil and self.parent.characterData.gun.gunPosition.hold.firstPersonPos.right ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.hold.firstPersonPos.right + end + local offsetRot = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.firstPersonRot ~= nil and self.parent.characterData.gun.gunPosition.hold.firstPersonRot.right ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.hold.firstPersonRot.right + end + local activeItemId = player:getActiveItem().id + if activeItemId == "minecraft:bow" then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -2.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(20, 7.5, 5):add(offsetRot)) + elseif activeItemId == "minecraft:crossbow" then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, 0.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + elseif item.id == "minecraft:crossbow" and item.tag.Charged == 1 then + if player:isLeftHanded() then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -1.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + else + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(10, -1.25, 6):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, -10, 0):add(offsetRot)) + end + else + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -1.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + elseif mode == "THIRD_PERSON_RIGHT_HAND" then + local offsetPos = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.thirdPersonPos ~= nil and self.parent.characterData.gun.gunPosition.hold.thirdPersonPos.right ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.hold.thirdPersonPos.right + end + local offsetRot = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.thirdPersonRot ~= nil and self.parent.characterData.gun.gunPosition.hold.thirdPersonRot.right ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.hold.thirdPersonRot.right + end + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -4.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + end + return models.models.main.Avatar.UpperBody.Body.Gun + end + end + end + end) + + models.models.main.Avatar.UpperBody.Body.Gun:setScale(vectors.vec3(1, 1, 1):scale(self.parent.characterData.gun.scale)) + self:setGunPosition("NONE") + if self.parent.characterData.gun.callbacks ~= nil and self.parent.characterData.gun.callbacks.onMainHandChange ~= nil then + self.parent.characterData.gun.callbacks.onMainHandChange(self.parent.characterData, self.isLeftHandedPrev and "LEFT" or "RIGHT") + end + end; + + ---背中の銃の位置・向きを設定する。 + ---@param self Gun + setBodyGunPos = function (self) + if models.models.main.Avatar.UpperBody.Body.Gun ~= nil then + local offsetPos = vectors.vec3() + local offsetRot = vectors.vec3() + if player:isLeftHanded() then + if self.parent.characterData.gun.gunPosition.put.pos ~= nil and self.parent.characterData.gun.gunPosition.put.pos.left ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.put.pos.left + end + if self.parent.characterData.gun.gunPosition.put.rot ~= nil and self.parent.characterData.gun.gunPosition.put.rot.left ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.put.rot.left + end + else + if self.parent.characterData.gun.gunPosition.put.pos ~= nil and self.parent.characterData.gun.gunPosition.put.pos.right ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.put.pos.right + end + if self.parent.characterData.gun.gunPosition.put.rot ~= nil and self.parent.characterData.gun.gunPosition.put.rot.right ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.put.rot.right + end + end + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, 12, 0):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(offsetRot) + end + end; + + ---銃の位置を変更する。 + ---@param self Gun + ---@param gunPosition Gun.GunPosition 変更先の構え位置 + setGunPosition = function (self, gunPosition) + if gunPosition == "NONE" then + for _, tickName in ipairs({"right_gun_tick", "left_gun_tick"}) do + events.TICK:remove(tickName) + end + models.models.main.Avatar.UpperBody.Body.Gun:setParentType("None") + models.models.main.Avatar.UpperBody.Body.Gun:setSecondaryRenderType("NONE") + if self.parent.characterData.gun.gunPosition.hold.type == "NORMAL" then + self.parent.arms:setArmState(0, 0) + elseif self.parent.characterData.gun.gunPosition.hold.type == "CUSTOM" then + for _, animationName in ipairs({"gun_hold_right", "gun_hold_left"}) do + animations["models.main"][animationName]:stop() + end + end + if self.parent.characterData.gun.gunPosition.put.type == "BODY" then + self:setBodyGunPos() + elseif self.parent.characterData.gun.gunPosition.put.type == "HIDDEN" then + models.models.main.Avatar.UpperBody.Body.Gun:setVisible(false) + end + elseif gunPosition == "RIGHT" then + events.TICK:remove("left_gun_tick") + if events.TICK:getRegisteredCount("right_gun_tick") == 0 then + events.TICK:register(function () + local heldItem = player:getHeldItem(player:isLeftHanded()) + local hasGlint = false + for _, gunItem in ipairs(self.gunItems) do + if gunItem == heldItem.id and heldItem:hasGlint() then + models.models.main.Avatar.UpperBody.Body.Gun:setSecondaryRenderType("GLINT") + hasGlint = true + break + end + end + if not hasGlint then + models.models.main.Avatar.UpperBody.Body.Gun:setSecondaryRenderType("NONE") + end + end, "right_gun_tick") + end + if self.parent.characterData.gun.gunPosition.hold.type == "NORMAL" then + self.parent.arms:setArmState(1, 2) + elseif self.parent.characterData.gun.gunPosition.hold.type == "CUSTOM" then + animations["models.main"]["gun_hold_left"]:stop() + animations["models.main"]["gun_hold_right"]:play() + end + models.models.main.Avatar.UpperBody.Body.Gun:setVisible(true) + models.models.main.Avatar.UpperBody.Body.Gun:setParentType("Item") + if not client:isPaused() then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.flintandsteel.use"), player:getPos(), 1, 2) + end + elseif gunPosition == "LEFT" then + events.TICK:remove("right_gun_tick") + if events.TICK:getRegisteredCount("left_gun_tick") == 0 then + events.TICK:register(function () + local heldItem = player:getHeldItem(not player:isLeftHanded()) + local hasGlint = false + for _, gunItem in ipairs(self.gunItems) do + if gunItem == heldItem.id and heldItem:hasGlint() then + models.models.main.Avatar.UpperBody.Body.Gun:setSecondaryRenderType("GLINT") + hasGlint = true + break + end + end + if not hasGlint then + models.models.main.Avatar.UpperBody.Body.Gun:setSecondaryRenderType("NONE") + end + end, "left_gun_tick") + end + if self.parent.characterData.gun.gunPosition.hold.type == "NORMAL" then + self.parent.arms:setArmState(2, 1) + elseif self.parent.characterData.gun.gunPosition.hold.type == "CUSTOM" then + animations["models.main"]["gun_hold_right"]:stop() + animations["models.main"]["gun_hold_left"]:play() + end + models.models.main.Avatar.UpperBody.Body.Gun:setVisible(true) + models.models.main.Avatar.UpperBody.Body.Gun:setParentType("Item") + if not client:isPaused() then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.flintandsteel.use"), player:getPos(), 1, 2) + end + end + self.currentGunPosition = gunPosition + end; + + ---銃ティックを処理する。 + ---@param self Gun + processGunTick = function (self) + if not self.isGunTickProcessed then + local heldItems = {} + if player:getPose() ~= "SLEEPING" and self.parent.exSkill.animationCount == -1 then + heldItems.mainHand = player:getHeldItem(false) + heldItems.offHand = player:getHeldItem(true) + else + heldItems.mainHand = world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air")) + heldItems.offHand = world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air")) + end + local targetItemFound = false + local isLeftHanded = player:isLeftHanded() + if heldItems.mainHand.id ~= self.heldItemsPrev.mainHand.id or heldItems.offHand.id ~= self.heldItemsPrev.offHand.id or isLeftHanded ~= self.isLeftHandedPrev then + for _, gunItem in ipairs(self.gunItems) do + if heldItems.mainHand.id == gunItem then + --メインハンドに対象アイテムを持つ + targetItemFound = true + if isLeftHanded then + if self.currentGunPosition ~= "LEFT" then + self:setGunPosition("LEFT") + end + else + if self.currentGunPosition ~= "RIGHT" then + self:setGunPosition("RIGHT") + end + end + break + end + end + if not targetItemFound then + for _, gunItem in ipairs(self.gunItems) do + if heldItems.offHand.id == gunItem then + --オフハンドに対象アイテムを持つ + targetItemFound = true + if isLeftHanded then + if self.currentGunPosition ~= "RIGHT" then + self:setGunPosition("RIGHT") + end + else + if self.currentGunPosition ~= "LEFT" then + self:setGunPosition("LEFT") + end + end + break + end + end + end + if not targetItemFound then + --対象アイテムは持たない + if self.currentGunPosition ~= "NONE" then + self:setGunPosition("NONE") + end + end + if isLeftHanded ~= self.leftHandedPrev then + if self.currentGunPosition == "NONE" then + self:setBodyGunPos() + end + if self.parent.characterData.gun.callbacks ~= nil and self.parent.characterData.gun.callbacks.onMainHandChange ~= nil then + self.parent.characterData.gun.callbacks.onMainHandChange(self.parent.characterData, isLeftHanded and "LEFT" or "RIGHT") + end + self.isLeftHandedPrev = isLeftHanded + end + self.heldItemsPrev = heldItems + end + self.isGunTickProcessed = true + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/head_block.lua b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/head_block.lua new file mode 100644 index 0000000..72bce44 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/head_block.lua @@ -0,0 +1,33 @@ +---@class (exact) HeadBlock : HeadModelGenerator 頭ブロックのモデルを制御するクラス +---@field package forceGenerateCount integer 強制的に頭ブロックを生成するまでのカウンター。これが発火するのはアバタープレイヤーがオフラインの時のみ。 + +HeadBlock = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return HeadBlock + new = function (parent) + ---@type HeadBlock + local instance = Avatar.instantiate(HeadBlock, HeadModelGenerator, parent) + + instance.processData = instance.parent.characterData.headBlock + instance.parentName = "head_block" + instance.parentType = "Skull" + instance.forceGenerateCount = 2 + + return instance + end; + + ---初期化関数 + ---@param self HeadBlock + init = function (self) + HeadModelGenerator.init(self) + + events.WORLD_TICK:register(function () + self.forceGenerateCount = self.forceGenerateCount - 1 + if self.forceGenerateCount == 0 then + self:generateHeadModel() + events.WORLD_TICK:remove("head_block_world_tick") + end + end, "head_block_world_tick") + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/head_model_generator.lua b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/head_model_generator.lua new file mode 100644 index 0000000..76b2ab7 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/head_model_generator.lua @@ -0,0 +1,85 @@ +---@class (exact) HeadModelGenerator : AvatarModule 頭のモデルの生成を含む抽象クラス +---@field public processData BlueArchiveCharacter.HeadBlockStruct 頭モデルを生成する過程で参照するデータ +---@field public parentName string モデルを生成する名前空間 +---@field public parentType ModelPart.parentType コピーした頭モデルに適用する親タイプ +---@field public generateHeadModel fun(self: HeadModelGenerator) 頭モデルのコピーを生成する +---@field package isScriptLoaded boolean スクリプトが全てロードされているかどうか + +HeadModelGenerator = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return HeadModelGenerator + new = function (parent) + ---@type HeadModelGenerator + local instance = Avatar.instantiate(HeadModelGenerator, AvatarModule, parent) + + instance.isScriptLoaded = false + + return instance + end; + + ---初期化関数 + ---@param self HeadModelGenerator + init = function (self) + AvatarModule.init(self) + + ---@diagnostic disable-next-line: discard-returns + models:newPart("script_"..self.parentName, "None") + + self.parent.avatarEvents.SCRIPT_INIT:register(function () + self.isScriptLoaded = true + end) + end; + + ---頭モデルのコピーを生成する。 + ---@param self HeadModelGenerator + generateHeadModel = function (self) + --既存の頭ブロックのモデルを削除する。 + if models["script_"..self.parentName].Head ~= nil then + models["script_"..self.parentName].Head:remove() + end + + --ヘルメットを着けている場合は外しておく。 + local isHelmetVisible = self.isScriptLoaded and self.parent.armor.isArmorVisible.helmet or false + if isHelmetVisible then + self.parent.armor:setHelmet(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + + if self.isScriptLoaded then + self.parent.physics:disable() + end + if self.processData.callbacks ~= nil and self.processData.callbacks.onBeforeModelCopy ~= nil then + self.processData.callbacks.onBeforeModelCopy(self.parent.characterData, self.isScriptLoaded) + end + + --現在の衣装を基に新たな頭ブロックのモデルを生成する。 + local copiedPart = self.parent.modelUtils:copyModel(models.models.main.Avatar.Head) + if copiedPart ~= nil then + models["script_"..self.parentName]:addChild(copiedPart) + models["script_"..self.parentName].Head:setParentType(self.parentType) + models["script_"..self.parentName].Head:setPos(0, -24, 0) + models["script_"..self.parentName].Head.HeadRing:setRot(self.parent.headRing.initialHaloRot) + models["script_"..self.parentName].Head.HeadRing:setLight(15) + for _, modelPart in ipairs({models["script_"..self.parentName].Head.FaceParts.Eyes.EyeRight, models["script_"..self.parentName].Head.FaceParts.Eyes.EyeLeft}) do + modelPart:setUVPixels() + end + for _, modelPart in ipairs(self.processData.includeModels) do + local copiedIncludePart = self.parent.modelUtils:copyModel(modelPart) + if copiedIncludePart ~= nil then + models["script_"..self.parentName].Head:addChild(copiedIncludePart) + end + end + end + + --非表示にしたモデルを元に戻す。 + if isHelmetVisible then + self.parent.armor:setHelmet(self.parent.armor.armorSlotItems[1]) + end + if self.isScriptLoaded then + self.parent.physics:enable() + end + if self.processData.callbacks ~= nil and self.processData.callbacks.onAfterModelCopy ~= nil then + self.processData.callbacks.onAfterModelCopy(self.parent.characterData, self.isScriptLoaded) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/head_ring.lua b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/head_ring.lua new file mode 100644 index 0000000..315489c --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/head_ring.lua @@ -0,0 +1,79 @@ +---@class (exact) HeadRing : AvatarModule ヘイロー(頭の輪っか)を制御するクラス +---@field public initialHaloRot number ヘイローの初期角度 +---@field package headRotData number[] 一定期間内の頭の角度を保持するテーブル +---@field package headRotAverage number[] 頭の角度の移動平均値 +---@field package floatCount integer ヘイローが上下するアニメーションのカウンター + +HeadRing = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return HeadRing + new = function (parent) + ---@type HeadRing + local instance = Avatar.instantiate(HeadRing, AvatarModule, parent) + + instance.initialHaloRot = models.models.main.Avatar.Head.HeadRing:getRot().x + instance.haloRotPrev = instance.initialHaloRot + instance.headRotData = {} + instance.headRotAverage = {0, 0} + instance.floatCount = 0 + + return instance + end; + + ---初期化関数 + ---@param self HeadRing + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + if not client:isPaused() then + --移動平均値の算出 + local headRot = self.parent.exSkill.animationCount > -1 and models.models.main.Avatar.Head:getAnimRot().x or math.deg(math.asin(player:getLookDir().y)) + local headRotAverage = self.headRotAverage[2] + headRotAverage = (#self.headRotData * headRotAverage + headRot) / (#self.headRotData + 1) + table.insert(self.headRotData, headRot) + --古いデータの切り捨て + if #self.headRotData > 5 then + headRotAverage = (#self.headRotData * headRotAverage - self.headRotData[1]) / (#self.headRotData - 1) + table.remove(self.headRotData, 1) + end + table.insert(self.headRotAverage, headRotAverage) + table.remove(self.headRotAverage, 1) + end + end) + + events.WORLD_TICK:register(function () + if not client:isPaused() then + self.floatCount = self.floatCount + 1 + self.floatCount = self.floatCount == 80 and 0 or self.floatCount + end + end) + + events.RENDER:register(function (delta) + if not client:isPaused() then + --ヘイローの位置・角度を設定 + local playerPose = player:getPose() + local headRot = self.parent.physics.getValueBetweenTicks(self.headRotAverage, delta) + local floatOffset = math.sin((self.floatCount + delta) / 80 * 2 * math.pi) * 0.25 + if playerPose == "SWIMMING" or playerPose == "FALL_FLYING" then + models.models.main.Avatar.Head.HeadRing:setPos(self.parent.physics.velocityAverage[3][2] * 3, math.cos(math.rad(headRot)) * self.parent.physics.velocityAverage[1][2] * -1 + math.sin(math.rad(headRot)) * self.parent.physics.velocityAverage[2][2] * -1 + floatOffset, math.cos(math.rad(headRot)) * self.parent.physics.velocityAverage[2][2] * -3 + math.sin(math.rad(headRot)) * self.parent.physics.velocityAverage[1][2]) + else + models.models.main.Avatar.Head.HeadRing:setPos(self.parent.physics.velocityAverage[3][2] * -3, math.cos(math.rad(headRot)) * self.parent.physics.velocityAverage[2][2] * -1 + math.sin(math.rad(headRot)) * self.parent.physics.velocityAverage[1][2] + floatOffset, math.cos(math.rad(headRot)) * self.parent.physics.velocityAverage[1][2] * 3 + math.sin(math.rad(headRot)) * self.parent.physics.velocityAverage[2][2]) + end + if self.parent.deathAnimation.dummyAvatarRoot ~= nil then + self.parent.deathAnimation.dummyAvatarRoot.Head.HeadRing:setPos(0, floatOffset, 0) + end + models.models.main.Avatar.Head.HeadRing:setRot(headRot - (self.parent.exSkill.animationCount > -1 and models.models.main.Avatar.Head:getAnimRot().x or math.deg(math.asin(player:getLookDir().y))) + self.initialHaloRot, 0, 0) + end + end) + + events.WORLD_RENDER:register(function (delta) + if not client:isPaused() and models.script_head_block.Head ~= nil and models.script_head_block.Head.HeadRing ~= nil then + models.script_head_block.Head.HeadRing:setPos(0, math.sin((self.floatCount + delta) / 80 * 2 * math.pi) * 0.25, 0) + end + end) + + models.models.main.Avatar.Head.HeadRing:setLight(15) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/hypixel_zombies.lua b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/hypixel_zombies.lua new file mode 100644 index 0000000..5d3df84 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/hypixel_zombies.lua @@ -0,0 +1,85 @@ +---@class (exact) HypixelZombies : AvatarModule Hypixelの「Zombies」にアバターを対応させるパッチ +---@field package isEnabled boolean Zombiesモードが有効かどうか +---@field package damagerPercentPrev number[] 前ティック以前のツールの耐久度割合 +---@field public enable fun(self: HypixelZombies) Zombiesモードを有効にする +---@field public disable fun(self: HypixelZombies) Zombiesモードを無効にする + +HypixelZombies = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return HypixelZombies + new = function (parent) + ---@type HypixelZombies + local instance = Avatar.instantiate(HypixelZombies, AvatarModule, parent) + + instance.isEnabled = false + instance.damagerPercentPrev = {1, 1} + + return instance + end; + + ---Zombiesモードを有効にする。 + ---@param self HypixelZombies + enable = function (self) + if not self.isEnabled then + self.parent.gun.gunItems = {"minecraft:bow", "minecraft:crossbow", "minecraft:wooden_hoe", "minecraft:stone_hoe", "minecraft:iron_hoe", "minecraft:wooden_shovel", "minecraft:stone_shovel", "minecraft:shears", "minecraft:diamond_hoe", "minecraft:golden_hoe", "minecraft:iron_shovel", "minecraft:diamond_pickaxe", "minecraft:golden_pickaxe", "minecraft:golden_shovel", "minecraft:flint_and_steel"} + + events.TICK:register(function () + local heldItem = player:getHeldItem() + local maxDamage = heldItem:getMaxDamage() + local damagePercent = (maxDamage - heldItem:getDamage()) / maxDamage + if maxDamage > 0 then + if damagePercent - self.damagerPercentPrev[1] > 0 and damagePercent - self.damagerPercentPrev[1] <= 0.2 then + if self.parent.bubble.bubbleCount == 0 then + self.parent.bubble:play("RELOAD", -1, vectors.vec2(), 0, false) + end + elseif self.parent.bubble.emoji == "RELOAD" then + self.parent.bubble:stop() + end + table.insert(self.damagerPercentPrev, damagePercent) + else + if self.parent.bubble.emoji == "RELOAD" then + self.parent.bubble:stop() + end + table.insert(self.damagerPercentPrev, 1) + end + table.remove(self.damagerPercentPrev, 1) + end, "hypixel_zombies_tick") + + if host:isHost() then + print(self.parent.locale:getLocale("avatar.zombies_mode.enable")) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.lightning_bolt.thunder"), player:getPos(), 0.5, 2) + end + + self.isEnabled = true + elseif host:isHost() then + print(self.parent.locale:getLocale("avatar.zombies_mode.already_enabled")) + end + end; + + ---Zombiesモードを無効にする。 + ---@param self HypixelZombies + disable = function (self) + if self.isEnabled then + events.TICK:remove("hypixel_zombies_tick") + self.parent.gun.gunItems = {"minecraft:bow", "minecraft:crossbow"} + + if host:isHost() then + print(self.parent.locale:getLocale("avatar.zombies_mode.disable")) + end + elseif host:isHost() then + print(self.parent.locale:getLocale("avatar.zombies_mode.already_disabled")) + end + self.isEnabled = false + end +} + +---Zombiesモードを有効にする。 +function pings.enableZombiesMode() + AvatarInstance.hypixelZombies:enable() +end + +---Zombiesモードを無効にする。 +function pings.disableZombiesMode() + AvatarInstance.hypixelZombies:disable() +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/key_manager.lua b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/key_manager.lua new file mode 100644 index 0000000..e1cac33 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/key_manager.lua @@ -0,0 +1,45 @@ +---@class (exact) KeyManager : AvatarModule アバターのキー割り当てを管理するクラス。ここで管理する割り当ては設定で変更された場合はそれが保存される。 +---@field public keyMappings {[string]: Keybind} キーの割り当てのテーブル +---@field public register fun(self: KeyManager, assignName: string, keyName: Minecraft.keyCode): Keybind キー割り当てを登録する + +KeyManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return KeyManager + new = function (parent) + ---@type KeyManager + local instance = Avatar.instantiate(KeyManager, AvatarModule, parent) + + instance.keyMappings = {} + + return instance + end; + + ---初期化関数 + ---@param self KeyManager + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + events.TICK:register(function () + for key, value in pairs(self.keyMappings) do + if not value:isDefault() then + local newKey = value:getKey() + self.parent.config:saveConfig("PRIVATE", "keybind."..key, newKey) + value:setKey(newKey) + end + end + end) + end + end; + + ---キー割り当てを登録する。 + ---@param self KeyManager + ---@param assignName string 割り当ての名前 + ---@param keyName Minecraft.keyCode 割当先のキー + ---@return Keybind assignedKey キーマネージャーによって登録がされたキーバインド + register = function (self, assignName, keyName) + self.keyMappings[assignName] = keybinds:newKeybind(self.parent.locale:getLocale("key_name."..assignName), self.parent.config:loadConfig("PRIVATE", "keybind."..assignName, keyName)) + return self.keyMappings[assignName] + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/locale.lua b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/locale.lua new file mode 100644 index 0000000..b2675ce --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/locale.lua @@ -0,0 +1,118 @@ +---@alias Locale.Language +---| "en_us" # 英語(米国) +---| "ja_jp" # 日本語 + +---@class (exact) Locale : AvatarModule アバターの表示言語を管理するクラス +---@field public localeData {[Locale.Language]: {[string]: string}} 言語データ +---@field public getLocale fun(self: Locale, key: string): string 翻訳キーに対する訳文を返す。設定言語が存在しない場合は英語の文が返される。また、指定したキーの訳が無い場合は英語->キーそのままが返される。 + +Locale = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Locale + new = function (parent) + ---@type Locale + local instance = Avatar.instantiate(Locale, AvatarModule, parent) + + instance.localeData = { + en_us = {}; + ja_jp = {}; + } + + ---言語データのリスト + ---1. キー名, 2. 英語(米国), 3. 日本語 + local localeStrings = { + {"avatar.old_version_warning", "For the best experience, playing with 1.20.1 or higher is recommended!", "生徒さんとより良い時間を過ごすためにバージョン1.20.1以上でのプレイをおすすめします!"}; + {"avatar.zombies_mode.enable", "Enabled Zombies mode.", "Zombiesモードを有効にしました。"}; + {"avatar.zombies_mode.already_enabled", "Already enabled Zombies mode.", "Zombiesモードは既に有効化されています。"}; + {"avatar.zombies_mode.disable", "Disabled Zombies mode.", "Zombiesモードを無効にしました。"}; + {"avatar.zombies_mode.already_disabled", "Already disabled Zombies mode.", "Zombiesモードは既に無効化されています。"}; + {"action_wheel.toggle_off", "off", "オフ"}; + {"action_wheel.toggle_on", "on", "オン"}; + {"action_wheel.main.action_1.title", "Change costume: ", "衣装を変更:"}; + {"action_wheel.main.action_1.unavailable", "There is no costume available.", "利用可能な衣装はありません。"}; + {"action_wheel.main.action_1.done_first", "Changed costume to §b", "衣装を§b"}; + {"action_wheel.main.action_1.done_last", "§r.", "§rに変更しました。"}; + {"action_wheel.main.action_2.title", "Change display name: ", "表示名を変更:"}; + {"action_wheel.main.action_2.title_2", "Show club name: ", "部活名を表示:"}; + {"action_wheel.main.action_2.done_first", "Changed display name to §b", "表示名を§b"}; + {"action_wheel.main.action_2.done_last", "§r.", "§rに変更しました。"}; + {"action_wheel.main.action_3.title", "Show armors: ", "防具を表示:"}; + {"action_wheel.main.action_4.title", "Show weapon models in first person: ", "一人称視点で武器モデルを表示:"}; + {"action_wheel.main.action_5.title", "Amount of particles in Ex skill frame: ", "Exスキルフレームのパーティクルの量:"}; + {"action_wheel.main.action_5.option_1", "Standard", "標準"}; + {"action_wheel.main.action_5.option_2", "Minimum", "少なめ"}; + {"action_wheel.main.action_5.option_3", "None", "なし"}; + {"action_wheel.main.action_5.option_4", "Hide Ex skill frame", "スキルフレーム非表示"}; + {"action_wheel.main.action_5.done_first", "Changed amount of particles in Ex skill frame to§b", "Exスキルフレームのパーティクルの量を§b"}; + {"action_wheel.main.action_5.done_last", "§r.", "§rに変更しました。"}; + {"action_wheel.main.action_6.title", "Replace vehicle models: ", "乗り物のモデルを置き換え:"}; + {"action_wheel.main.action_6.unavailable", "This option is unavailable for this character.", "この生徒さんでは利用できません。"}; + {"action_wheel.main.action_7.title_1", "Check for new FBAC Updates ", "FBACアップデートの確認"}; + {"action_wheel.main.action_7.title_2", "(Left-click)", "(左クリック)"}; + {"action_wheel.main.action_7.title_3", "Copy URL for the latest FBAC ", "最新FBACバージョンのURLをコピー"}; + {"action_wheel.main.action_7.title_4", "(Right-click)", "(右クリック)"}; + {"action_wheel.main.action_7.networking_api", "To enable update checking, you need to allow Figura's Networking and put \"api.github.com\" in the Network Filter from Figura settings!", "アップデート確認機能を有効にするにはFiguraの設定より、FiguraのNetworkingの使用を許可し、\"api.github.com\"を許可リストに入れる必要があります!"}; + {"action_wheel.main.action_7.ongoing", "Checking for updates is ongoing. Please DO NOT click repeatedly!", "現在アップデートの確認中です。連打しないでください!"}; + {"action_wheel.main.action_7.copied", "Coped the link to the latest FBAC to your clipboard. Please open the link in your browser.", "最新のFBACへのリンクをクリップボードにコピーしました。ブラウザでリンクを開いてください。"}; + {"action_wheel.main.action_7.cannot_check_latest", "Cannot get the link because cannot check the latest FBAC.", "FBACの最新バージョンを確認できないため、リンクを取得できません。"}; + {"action_wheel.gui.bubble_guide.title", "§0Bubble emote guide", "§0吹き出しエモートガイド"}; + {"action_wheel.gui.ex_skill_guide.title", "§0Ex skill guide", "§0Exスキルガイド"}; + {"action_wheel.gui.ex_skill_guide.key_pre", "Press \"", "\""}; + {"action_wheel.gui.ex_skill_guide.key_post", "\"key to play", "\"キーで再生"}; + {"action_wheel.gui.update_check.checking", "Checking for updates...", "アップデートを確認中..."}; + {"action_wheel.gui.update_check.latest", "No FBAC update available", "最新のFBACを使用中です"}; + {"action_wheel.gui.update_check.update_available", "New FBAC update is available: ", "FBACのアップデートが利用可能です:"}; + {"action_wheel.gui.update_check.error_not_allowed", "Failed to check for updates - Networking API not allowed", "アップデート確認失敗 - ネットワーキング機能が不許可"}; + {"action_wheel.gui.update_check.error_network_err", "Failed to check for updates - Network error", "アップデート確認失敗 - ネットワークエラー"}; + {"action_wheel.gui.update_check.error_request_failed", "Failed to check for updates - Request failure ", "アップデート確認失敗 - リクエスト失敗 "}; + {"action_wheel.gui.update_check.error_invalid_json_syntax", "Failed to check for updates - Json parsing failure", "アップデート確認失敗 - リクエスト解析失敗"}; + {"action_wheel.gui.update_check.error_invalid_json", "Failed to check for updates - Unexpected Request", "アップデート確認失敗 - 予期しないリクエスト"}; + {"key_name.ex_skill", "Ex Skill", "Exスキル"}; + {"key_name.ex_skill_sub", "Sub Ex Skill", "サブExスキル"}; + {"key_name.bubble_1", "Bubble: Good", "吹き出し:いいね"}; + {"key_name.bubble_2", "Bubble: Heart", "吹き出し:ハート"}; + {"key_name.bubble_3", "Bubble: Note", "吹き出し:音符"}; + {"key_name.bubble_4", "Bubble: Question", "吹き出し:はてな"}; + {"key_name.bubble_5", "Bubble: Sweat", "吹き出し:汗"}; + {"key_bind.ex_skill.unavailable", "You cannot do this now.", "今は再生できません。"}; + {"key_bind.ex_skill.unavailable_firstperson", "You cannot do this in first person perspective.", "一人称視点では再生できません。"}; + } + + for _, localeSet in ipairs(localeStrings) do + instance.localeData.en_us[localeSet[1]] = localeSet[2] + instance.localeData.ja_jp[localeSet[1]] = localeSet[3] + end + + return instance + end; + + ---初期化関数 + ---@param self Locale + init = function (self) + AvatarModule.init(self) + + self.localeData.en_us["nameplate.club_name"] = self.parent.characterData.basic.clubName.en_us + self.localeData.ja_jp["nameplate.club_name"] = self.parent.characterData.basic.clubName.ja_jp + + if host:isHost() then + for index, exSkill in ipairs(self.parent.characterData.exSkill) do + self.localeData.en_us["action_wheel.gui.ex_skill_guide.ex_skill_"..index..".name"] = exSkill.name.en_us + self.localeData.ja_jp["action_wheel.gui.ex_skill_guide.ex_skill_"..index..".name"] = exSkill.name.ja_jp + end + for _, costume in ipairs(self.parent.characterData.costume.costumes) do + self.localeData.en_us["costume."..costume.name] = costume.displayName.en_us + self.localeData.ja_jp["costume."..costume.name] = costume.displayName.ja_jp + end + end + end; + + ---翻訳キーに対する訳文を返す。設定言語が存在しない場合は英語の文が返される。また、指定したキーの訳が無い場合は英語->キーそのままが返される。 + ---@param self Locale + ---@param key string 翻訳キー + ---@return string translatedString 翻訳キーに対する翻訳データ。設定言語での翻訳が存在しない場合は英文が返される。英文すら存在しない場合は翻訳キーがそのまま返される。 + getLocale = function (self, key) + local activeLanguage = client:getActiveLang() + return (self.localeData[activeLanguage] ~= nil and self.localeData[activeLanguage][key] ~= nil) and self.localeData[activeLanguage][key] or (self.localeData.en_us[key] and self.localeData.en_us[key] or key) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/nameplate.lua b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/nameplate.lua new file mode 100644 index 0000000..1db7e24 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/nameplate.lua @@ -0,0 +1,77 @@ +---@class (exact) Nameplate : AvatarModule プレイヤーの表示名を制御するクラス +---@field public currentName integer 現在の表示名:1. プレイヤー名, 2. 名のみ(英語), 3. 名のみ(日本語), 4. 名性(英語), 5. 性名(英語), 6. 性名(日本語) +---@field public shouldShowClubName boolean 部活名を表示するかどうか +---@field package localePrev string 前ティックの設定言語 +---@field public getName fun(self: Nameplate, typeId: integer): string 指定されたtypeIdでの表示名を返す +---@field public setName fun(self: Nameplate, typeId: integer, shouldShowClubName: boolean) 入力された設定で表示名を設定する + +Nameplate = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Nameplate + new = function (parent) + ---@type Nameplate + local instance = Avatar.instantiate(Nameplate, AvatarModule, parent) + + instance.currentName = instance.parent.config:loadConfig("PRIVATE", "name", 1) + instance.shouldShowClubName = instance.parent.config:loadConfig("PRIVATE", "showClubName", false) + instance.localePrev = client:getActiveLang() + + return instance + end; + + ---指定されたtypeIdでの表示名を返す。 + ---@param self Nameplate + ---@param typeId integer 表示名の種類:1. プレイヤー名, 2. 名のみ(英語), 3. 名のみ(日本語), 4. 名性(英語), 5. 性名(英語), 6. 性名(日本語) + ---@return string displayName 指定されたtypeIdでの表示名 + getName = function (self, typeId) + local displayName = typeId == 1 and player:getName() or ((typeId == 2 or typeId == 4) and self.parent.characterData.basic.firstName.en_us or (typeId == 5 and self.parent.characterData.basic.lastName.en_us or (typeId == 3 and self.parent.characterData.basic.firstName.ja_jp or self.parent.characterData.basic.lastName.ja_jp))) + if typeId >= 4 then + displayName = displayName.." "..(typeId == 4 and self.parent.characterData.basic.lastName.en_us or (typeId == 5 and self.parent.characterData.basic.firstName.en_us or self.parent.characterData.basic.firstName.ja_jp)) + end + return displayName + end; + + ---入力された設定で表示名を設定する。 + ---@param self Nameplate + ---@param typeId integer 表示名の種類:1. プレイヤー名, 2. 名のみ(英語), 3. 名のみ(日本語), 4. 名性(英語), 5. 性名(英語), 6. 性名(日本語) + ---@param shouldShowClubName boolean 部活名を表示するかどうか + setName = function (self, typeId, shouldShowClubName) + local date = client:getDate() + local displayName = self:getName(typeId)..((typeId >= 2 and date.month == self.parent.characterData.basic.birth.month and date.day == self.parent.characterData.basic.birth.day) and " :cake:" or "") + nameplate.ALL:setText(displayName) + if typeId >= 2 and shouldShowClubName then + nameplate.ENTITY:setText(displayName.."\n§7"..self.parent.locale:getLocale("nameplate.club_name")) + end + self.currentName = typeId + self.shouldShowClubName = shouldShowClubName + end; + + ---初期化関数 + ---@param self Nameplate + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + local locale = client:getActiveLang() + if locale ~= self.localePrev then + if self.shouldShowClubName then + self:setName(self.currentName, true) + end + self.localePrev = locale + end + end) + + events.RENDER:register(function (delta, context) + if context ~= "PAPERDOLL" then + nameplate.ENTITY:setPivot(self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.UpperBody.Body.NameplateAnchor):sub(player:getPos(delta)):add(0, self.parent.barrier.isBarrierVisible and 1.095 or 0.895, 0)) + else + nameplate.ENTITY:setPivot() + end + end) + + if self.currentName >= 2 then + self:setName(self.currentName, self.shouldShowClubName) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/physics.lua b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/physics.lua new file mode 100644 index 0000000..0b17e3f --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/physics.lua @@ -0,0 +1,199 @@ +---@class (exact) Physics : AvatarModule 物理演算を制御するクラス +---@field public velocityData number[][] 速度データ:1. 頭前後, 2. 上下, 3. 頭左右, 4. 頭角速度, 5. 体前後, 6. 体左右, 7. 体角速度 +---@field public velocityAverage number[][] 速度の平均値:1. 頭前後, 2. 上下, 3. 頭左右, 4. 頭角速度, 5. 体前後, 6. 体左右, 7. 体角速度 +---@field package directionPrev number[] 前ティックのdirectionテーブル +---@field public getValueBetweenTicks fun(tickData: number[], delta: number): number 2つのティックデータの間からレンダーのデルタ値を加味した値を返す +---@field package decomposeHorizontalVelocity fun(self: Physics, direction: number, index: integer): number, number, number 速度を指定された方向から見て前後方向、左右方向に分解する +---@field package getPhysicRot fun(self: Physics, physicData: BlueArchiveCharacter.PhysicCoreData, delta: number): number 物理演算で計算した角度を返す +---@field public enable fun(self: Physics) 物理演算を初期化し、有効にする +---@field public disable fun(self: Physics) 物理演算を無効にする。物理演算で管理していたモデルの回転をリセットする + +Physics = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Physics + new = function (parent) + ---@type Physics + local instance = Avatar.instantiate(Physics, AvatarModule, parent) + + instance.velocityData = {{}, {}, {}, {}, {}, {}, {}} + instance.velocityAverage = {{0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}} + instance.directionPrev = {} + + return instance + end; + + ---2つのティックデータの間からレンダーのデルタ値を加味した値を返す。 + ---@param tickData number[] ティックデータ:1. 前ティック, 2. 現ティック + ---@param delta number デルタ値 + ---@return number deltaValue 2つのティックデータの間からデルタ値で補完した値 + getValueBetweenTicks = function (tickData, delta) + return tickData[1] + (tickData[2] - tickData[1]) * delta + end; + + ---速度を指定された方向から見て前後方向、左右方向に分解する。 + ---@param self Physics + ---@param direction number 基準にする方向 + ---@param index integer データ管理用のインデックス番号(呼び出しの度に異なるインデックス番号になるようにする) + ---@return number velocityFront 指定された方向から見た前後方向の速度 + ---@return number velocityRight 指定された方向から見た左右方向の速度 + ---@return number velocityRot 指定された方向を基準とした角速度 + decomposeHorizontalVelocity = function (self, direction, index) + local velocity = player:getVelocity() + if self.directionPrev[index] == nil then + self.directionPrev[index] = 0 + end + local velocityRot = math.deg(math.atan2(velocity.z, velocity.x)) + velocityRot = velocityRot < 0 and 360 + velocityRot or velocityRot + local directionAbsFront = math.abs(velocityRot - (direction) % 360) + directionAbsFront = directionAbsFront > 180 and 360 - directionAbsFront or directionAbsFront + local directionAbsRight = math.abs(velocityRot - (direction + 90) % 360) + directionAbsRight = directionAbsRight > 180 and 360 - directionAbsRight or directionAbsRight + local directionDelta = direction - self.directionPrev[index] + directionDelta = directionDelta > 180 and (360 - directionDelta) * 20 or (directionDelta < -180 and (360 + directionDelta) * 20 or directionDelta * 20) + self.directionPrev[index] = direction + return math.sqrt(velocity.x ^ 2 + velocity.z ^ 2) * math.cos(math.rad(directionAbsFront)), math.sqrt(velocity.x ^ 2 + velocity.z ^ 2) * math.cos(math.rad(directionAbsRight)), directionDelta + end; + + ---物理演算で計算した角度を返す。 + ---@param self Physics + ---@param physicData BlueArchiveCharacter.PhysicCoreData 物理演算データ + ---@param delta number デルタ値 + ---@return number physicDirection 物理演算で計算したモデルの角度 + getPhysicRot = function (self, physicData, delta) + local rot = physicData.neutral + local waterMultiplayer = player:isUnderwater() and 2 or 1 + if physicData.headX ~= nil then + rot = rot + math.clamp(self.getValueBetweenTicks(self.velocityAverage[1], delta) * physicData.headX.multiplayer * waterMultiplayer, physicData.headX.min - physicData.neutral, physicData.headX.max - physicData.neutral) + end + if physicData.headZ ~= nil then + rot = rot + math.clamp(self.getValueBetweenTicks(self.velocityAverage[3], delta) * physicData.headZ.multiplayer * waterMultiplayer, physicData.headZ.min - physicData.neutral, physicData.headZ.max - physicData.neutral) + end + if physicData.headRot ~= nil then + rot = rot + math.clamp(math.abs(self.getValueBetweenTicks(self.velocityAverage[4], delta)) * -1 * physicData.headRot.multiplayer, physicData.headRot.min - physicData.neutral, physicData.headRot.max - physicData.neutral) + end + if physicData.bodyX ~= nil then + rot = rot + math.clamp(self.getValueBetweenTicks(self.velocityAverage[5], delta) * physicData.bodyX.multiplayer * waterMultiplayer, physicData.bodyX.min - physicData.neutral, physicData.bodyX.max - physicData.neutral) + end + if physicData.bodyY ~= nil then + rot = rot + math.clamp(self.getValueBetweenTicks(self.velocityAverage[2], delta) * physicData.bodyY.multiplayer * waterMultiplayer, physicData.bodyY.min - physicData.neutral, physicData.bodyY.max - physicData.neutral) + end + if physicData.bodyZ ~= nil then + rot = rot + math.clamp(self.getValueBetweenTicks(self.velocityAverage[player:getVehicle() == nil and 6 or 3], delta) * physicData.bodyZ.multiplayer * waterMultiplayer, physicData.bodyZ.min - physicData.neutral, physicData.bodyZ.max - physicData.neutral) + end + if physicData.bodyRot ~= nil then + rot = rot + math.clamp(-math.abs(self.getValueBetweenTicks(self.velocityAverage[7], delta)) * physicData.bodyRot.multiplayer, physicData.bodyRot.min - physicData.neutral, physicData.bodyRot.max - physicData.neutral) + end + rot = math.clamp(rot, physicData.min, physicData.max) + if physicData.headRotMultiplayer ~= nil then + rot = rot + math.deg(math.asin(player:getLookDir().y)) * physicData.headRotMultiplayer + end + if physicData.sneakOffset ~= nil and player:isCrouching() then + rot = rot + physicData.sneakOffset + end + return rot + end; + + ---物理演算を初期化し、有効にする。 + ---@param self Physics + enable = function (self) + self.velocityData = {{}, {}, {}, {}, {}, {}, {}} + self.velocityAverage = {{0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}} + self.directionPrev = {} + + if events.TICK:getRegisteredCount("physics_tick") == 0 then + events.TICK:register(function () + if not client:isPaused() then + local lookDir = player:getLookDir() + local velocityHeadFront, velocityHeadRight, velocityHeadRot = self:decomposeHorizontalVelocity(math.deg(math.atan2(lookDir.z, lookDir.x)), 1) + local velocityAverage = {self.velocityAverage[1][2], self.velocityAverage[2][2], self.velocityAverage[3][2], self.velocityAverage[4][2], self.velocityAverage[5][2], self.velocityAverage[6][2], self.velocityAverage[7][2]} + local velocityY = player:getVelocity().y + velocityAverage[1] = (#self.velocityData[1] * velocityAverage[1] + velocityHeadFront) / (#self.velocityData[1] + 1) + table.insert(self.velocityData[1], velocityHeadFront) + velocityAverage[2] = (#self.velocityData[2] * velocityAverage[2] + velocityY) / (#self.velocityData[2] + 1) + table.insert(self.velocityData[2], velocityY) + velocityAverage[3] = (#self.velocityData[3] * velocityAverage[3] + velocityHeadRight) / (#self.velocityData[3] + 1) + table.insert(self.velocityData[3], velocityHeadRight) + velocityAverage[4] = (#self.velocityData[4] * velocityAverage[4] + velocityHeadRot) / (#self.velocityData[4] + 1) + table.insert(self.velocityData[4], velocityHeadRot) + local velocityBodyFront, velocityBodyRight, velocityBodyRot = self:decomposeHorizontalVelocity((player:getBodyYaw() + models.models.main.Avatar.UpperBody:getTrueRot().y - 90) % 360 - 180, 2) + velocityAverage[5] = (#self.velocityData[5] * velocityAverage[5] + velocityBodyFront) / (#self.velocityData[5] + 1) + table.insert(self.velocityData[5], velocityBodyFront) + velocityAverage[6] = (#self.velocityData[6] * velocityAverage[6] + velocityBodyRight) / (#self.velocityData[6] + 1) + table.insert(self.velocityData[6], velocityBodyRight) + velocityAverage[7] = (#self.velocityData[7] * velocityAverage[7] + velocityBodyRot) / (#self.velocityData[7] + 1) + table.insert(self.velocityData[7], velocityBodyRot) + --古いデータの切り捨て + for index, velocityTable in ipairs(self.velocityData) do + if #velocityTable > 5 then + velocityAverage[index] = (#velocityTable * velocityAverage[index] - velocityTable[1]) / (#velocityTable - 1) + table.remove(velocityTable, 1) + end + table.insert(self.velocityAverage[index], velocityAverage[index]) + table.remove(self.velocityAverage[index], 1) + end + end + end, "physics_tick") + + events.RENDER:register(function (delta) + local playerPose = player:getPose() + local isHorizontal = playerPose == "SWIMMING" or playerPose == "FALL_FLYING" + + for _, physicData in ipairs(self.parent.characterData.physics.physicData) do + for _, modelPart in ipairs(physicData.models) do + if modelPart:getVisible() then + local rot = vectors.vec3() + if physicData.x ~= nil then + if isHorizontal and physicData.x.horizontal then + rot.x = self:getPhysicRot(physicData.x.horizontal, delta) + elseif not isHorizontal and physicData.x.vertical then + rot.x = self:getPhysicRot(physicData.x.vertical, delta) + end + end + if physicData.y ~= nil then + if isHorizontal and physicData.y.horizontal then + rot.y = self:getPhysicRot(physicData.y.horizontal, delta) + elseif not isHorizontal and physicData.y.vertical then + rot.y = self:getPhysicRot(physicData.y.vertical, delta) + end + end + if physicData.z ~= nil then + if isHorizontal and physicData.z.horizontal then + rot.z = self:getPhysicRot(physicData.z.horizontal, delta) + elseif not isHorizontal and physicData.z.vertical then + rot.z = self:getPhysicRot(physicData.z.vertical, delta) + end + end + modelPart:setRot(rot) + if self.parent.characterData.physics.callbacks ~= nil and self.parent.characterData.physics.callbacks.onPhysicPerformed ~= nil then + self.parent.characterData.physics.callbacks.onPhysicPerformed(self.parent.characterData, modelPart) + end + end + end + end + end, "physics_render") + end + end; + + ---物理演算を無効にする。物理演算で管理していたモデルの回転をリセットする。 + ---@param self Physics + disable = function (self) + events.TICK:remove("physics_tick") + events.RENDER:remove("physics_render") + for _, physicData in ipairs(self.parent.characterData.physics.physicData) do + local initialRot = vectors.vec3() + if physicData.x ~= nil and physicData.x.vertical ~= nil then + initialRot.x = physicData.x.vertical.neutral + end + if physicData.y ~= nil and physicData.y.vertical ~= nil then + initialRot.y = physicData.y.vertical.neutral + end + if physicData.z ~= nil and physicData.z.vertical ~= nil then + initialRot.z = physicData.z.vertical.neutral + end + for _, modelPart in ipairs(physicData.models) do + modelPart:setRot(initialRot) + end + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/placement_object/placement_object.lua b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/placement_object/placement_object.lua new file mode 100644 index 0000000..ee9151d --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/placement_object/placement_object.lua @@ -0,0 +1,231 @@ +---@class (exact) PlacementObject : SpawnObject 単一の設置物を管理するクラス +---@field package object ModelPart インスタンスで制御するオブジェクト +---@field public index integer 設置物データのインデックス番号。設置物のデータを参照するときに使用する。 +---@field package boundingBox Vector3 設置物の当たり判定 +---@field package gravity number この設置物に働く重力の大きさ +---@field package hasFireResistance boolean この設置物に炎耐性を付けるかどうか +---@field public removeReason PlacementObjectManager.RemoveReason この設置物のインスタンスが破棄される理由 +---@field package modelOffsetPos Vector3 設置物"モデル"の位置オフセット値 +---@field package offsetPos Vector3 設置物の中心座標のオフセット値 +---@field public currentPos Vector3 設置物の現在位置 +---@field package nextPos Vector3 設置物の次ティックの位置 +---@field package fallingSpeed number 設置物の落下速度 +---@field package isOnGround boolean 設置物が接地しているかどうか +---@field public new fun(parent: Avatar, model: ModelPart, index: integer, data: BlueArchiveCharacter.PlacementObjectStruct, pos: Vector3, rot: number): PlacementObject コンストラクター + +PlacementObject = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@param index integer 設置物データのインデックス番号。設置物のデータを参照するときに使用する。 + ---@param pos Vector3 設置物を設置するワールド座標 + ---@param rot number 設置物のワールド方向 + ---@return PlacementObject + new = function (parent, index, pos, rot) + ---@type PlacementObject + local instance = Avatar.instantiate(PlacementObject, SpawnObject, parent) + + instance.index = index + instance.object = instance.parent.characterData.placementObjects[instance.index].placementMode == "COPY" and instance.parent.characterData.placementObjects[instance.index].model:copy(instance.uuid) or instance.parent.characterData.placementObjects[instance.index].model + instance.boundingBox = instance.parent.characterData.placementObjects[instance.index].boundingBox.size:copy():scale(0.0625) + instance.gravity = instance.parent.characterData.placementObjects[instance.index].gravity ~= nil and instance.parent.characterData.placementObjects[instance.index].gravity or 1 + instance.hasFireResistance = instance.parent.characterData.placementObjects[instance.index].hasFireResistance ~= nil and instance.parent.characterData.placementObjects[instance.index].hasFireResistance or false + instance.removeReason = "REMOVED_BY_SCRIPTS" + instance.modelOffsetPos = vectors.vec3() + instance.offsetPos = vectors.vec3() + instance.currentPos = pos + instance.nextPos = instance.currentPos + instance.fallingSpeed = 0 + instance.isOnGround = false + + instance.callbacks = { + ---@param self PlacementObject + onInit = function (self) + if self.parent.characterData.placementObjects[self.index].placementMode == "COPY" then + models.script_placement_object:addChild(self.object) + end + local objectOffset = vectors.vec3() + if self.parent.characterData.placementObjects[self.index].boundingBox.offsetPos ~= nil then + objectOffset = self.parent.characterData.placementObjects[self.index].boundingBox.offsetPos:copy():scale(-0.0625) + end + if self.gravity >= 0 then + self.modelOffsetPos = objectOffset:copy():add(0, 0.075, 0) + else + self.modelOffsetPos = objectOffset:copy():add(0, -0.075, 0) + end + --self.objectModel:setPos(self.currentPos:copy():add(self.modelOffsetPos):scale(16)) + self.object:setRot(0, rot, 0) + self.object:setVisible(true) + if self.parent.characterData.placementObjects[self.index].callbacks ~= nil and self.parent.characterData.placementObjects[self.index].callbacks.onInit ~= nil then + self.parent.characterData.placementObjects[self.index].callbacks.onInit(self.parent.characterData, self) + end + end; + + ---@param self PlacementObject + onDeinit = function (self) + if self.parent.characterData.placementObjects[self.index].placementMode == "COPY" then + models.script_placement_object:removeChild(self.object) + self.object:remove() + else + self.object:setVisible(false) + end + if self.parent.characterData.placementObjects[self.index].callbacks ~= nil and self.parent.characterData.placementObjects[self.index].callbacks.onDeinit ~= nil then + self.parent.characterData.placementObjects[self.index].callbacks.onDeinit(self.parent.characterData, self) + end + end; + + ---@param self PlacementObject + onTick = function (self) + --設置物の位置を強制更新 + self.currentPos = self.nextPos + self.object:setPos(self.currentPos:copy():add(self.modelOffsetPos):scale(16)) + + --当たり判定同士が重複しているか確認 + local boundingBoxStartPos = vectors.vec3(self.currentPos.x - self.boundingBox.x / 2, self.currentPos.y, self.currentPos.z - self.boundingBox.z / 2) + local boundingBoxEndPos = vectors.vec3(self.currentPos.x + self.boundingBox.x / 2, self.currentPos.y + self.boundingBox.y, self.currentPos.z + self.boundingBox.z / 2) + local boundingBoxCenter = boundingBoxEndPos:copy():sub(boundingBoxStartPos):scale(0.5):add(boundingBoxStartPos) + for z = math.floor(boundingBoxStartPos.z), math.floor(boundingBoxEndPos.z) do + for y = math.floor(boundingBoxStartPos.y), math.floor(boundingBoxEndPos.y) do + for x = math.floor(boundingBoxStartPos.x), math.floor(boundingBoxEndPos.x) do + for _, collisionBox in ipairs( world.getBlockState(x, y, z):getCollisionShape()) do + local collisionStartPos = collisionBox[1]:copy():add(x, y, z) + local collisionEndPos = collisionBox[2]:copy():add(x, y, z) + local collisionBoxCenter = collisionStartPos:copy():add(collisionEndPos:copy():sub(collisionStartPos):scale(0.5)) + if math.abs(collisionBoxCenter.x - boundingBoxCenter.x) < ((collisionEndPos.x - collisionStartPos.x) + (boundingBoxEndPos.x - boundingBoxStartPos.x)) / 2 and math.abs(collisionBoxCenter.y - boundingBoxCenter.y) < ((collisionEndPos.y - collisionStartPos.y) + (boundingBoxEndPos.y - boundingBoxStartPos.y)) / 2 and math.abs(collisionBoxCenter.z - boundingBoxCenter.z) < ((collisionEndPos.z - collisionStartPos.z) + (boundingBoxEndPos.z - boundingBoxStartPos.z)) / 2 then + self.removeReason = "OVERLAPPED" + self.shouldDeinit = true + return + end + end + end + end + end + + --落下速度を更新 + local fluidTags = world.getBlockState(self.currentPos):getFluidTags() + if fluidTags[2] == "c:water" then + if self.gravity >= 0 then + self.fallingSpeed = math.max(self.fallingSpeed - 0.1 * self.gravity, 0.1 * self.gravity) + else + self.fallingSpeed = math.min(self.fallingSpeed - 0.1 * self.gravity, 0.1 * self.gravity) + end + elseif fluidTags[2] == "c:lava" then + if self.gravity >= 0 then + self.fallingSpeed = math.max(self.fallingSpeed - 0.1 * self.gravity, 0.02 * self.gravity) + else + self.fallingSpeed = math.min(self.fallingSpeed - 0.1 * self.gravity, 0.02 * self.gravity) + end + else + if self.gravity >= 0 then + self.fallingSpeed = math.min(self.fallingSpeed + 0.035 * self.gravity, 3.575 * self.gravity) + else + self.fallingSpeed = math.max(self.fallingSpeed + 0.035 * self.gravity, 3.575 * self.gravity) + end + end + self.nextPos = self.currentPos:copy():add(0, self.fallingSpeed * -1, 0) + + --現ティックと次ティックから直方体を算出 + local nextBoxStartPos = vectors.vec3() + local nextBoxEndPos = vectors.vec3() + if self.gravity >= 0 then + nextBoxStartPos = vectors.vec3(self.currentPos.x - self.boundingBox.x / 2, math.min(self.currentPos.y, self.currentPos.y - self.fallingSpeed), self.currentPos.z - self.boundingBox.z / 2) + nextBoxEndPos = vectors.vec3(self.currentPos.x + self.boundingBox.x / 2, math.max(self.currentPos.y, self.currentPos.y - self.fallingSpeed), self.currentPos.z + self.boundingBox.z / 2) + else + nextBoxStartPos = vectors.vec3(self.currentPos.x - self.boundingBox.x / 2, math.min(self.currentPos.y, self.currentPos.y - self.fallingSpeed) + self.boundingBox.y, self.currentPos.z - self.boundingBox.z / 2) + nextBoxEndPos = vectors.vec3(self.currentPos.x + self.boundingBox.x / 2, math.max(self.currentPos.y, self.currentPos.y - self.fallingSpeed) + self.boundingBox.y, self.currentPos.z + self.boundingBox.z / 2) + end + local nextBoxCenter = nextBoxStartPos:copy():add(nextBoxEndPos:copy():sub(nextBoxStartPos):scale(0.5)) + + --直方体と重なるブロック座標を全て算出 + local collisionDetected = false + if self.gravity >= 0 then + local collisionYPos = math.floor(nextBoxStartPos.y) + for y = math.floor(nextBoxEndPos.y), math.floor(nextBoxStartPos.y) - 1, -1 do + for z = math.floor(nextBoxStartPos.z), math.floor(nextBoxEndPos.z) do + for x = math.floor(nextBoxStartPos.x), math.floor(nextBoxEndPos.x) do + for _, collisionBox in ipairs( world.getBlockState(x, y, z):getCollisionShape()) do + local collisionStartPos = collisionBox[1]:copy():add(x, y, z) + local collisionEndPos = collisionBox[2]:copy():add(x, y, z) + local collisionBoxCenter = collisionStartPos:copy():add(collisionEndPos:copy():sub(collisionStartPos):scale(0.5)) + if math.abs(collisionBoxCenter.x - nextBoxCenter.x) < ((collisionEndPos.x - collisionStartPos.x) + (nextBoxEndPos.x - nextBoxStartPos.x)) / 2 and math.abs(collisionBoxCenter.y - nextBoxCenter.y) < ((collisionEndPos.y - collisionStartPos.y) + (nextBoxEndPos.y - nextBoxStartPos.y)) / 2 and math.abs(collisionBoxCenter.z - nextBoxCenter.z) < ((collisionEndPos.z - collisionStartPos.z) + (nextBoxEndPos.z - nextBoxStartPos.z)) / 2 then + if collisionEndPos.y > self.nextPos.y then + self.nextPos.y = collisionEndPos.y + collisionYPos = y + self.fallingSpeed = 0 + collisionDetected = true + end + end + end + end + end + if y == collisionYPos - 1 then + break + end + end + else + local collisionYPos = math.floor(nextBoxEndPos.y) + for y = math.floor(nextBoxStartPos.y), math.floor(nextBoxEndPos.y), 1 do + for z = math.floor(nextBoxStartPos.z), math.floor(nextBoxEndPos.z) do + for x = math.floor(nextBoxStartPos.x), math.floor(nextBoxEndPos.x) do + for _, collisionBox in ipairs( world.getBlockState(x, y, z):getCollisionShape()) do + local collisionStartPos = collisionBox[1]:copy():add(x, y, z) + local collisionEndPos = collisionBox[2]:copy():add(x, y, z) + local collisionBoxCenter = collisionStartPos:copy():add(collisionEndPos:copy():sub(collisionStartPos):scale(0.5)) + if math.abs(collisionBoxCenter.x - nextBoxCenter.x) < ((collisionEndPos.x - collisionStartPos.x) + (nextBoxEndPos.x - nextBoxStartPos.x)) / 2 and math.abs(collisionBoxCenter.y - nextBoxCenter.y) < ((collisionEndPos.y - collisionStartPos.y) + (nextBoxEndPos.y - nextBoxStartPos.y)) / 2 and math.abs(collisionBoxCenter.z - nextBoxCenter.z) < ((collisionEndPos.z - collisionStartPos.z) + (nextBoxEndPos.z - nextBoxStartPos.z)) / 2 then + if collisionStartPos.y < self.nextPos.y + self.boundingBox.y then + self.nextPos.y = collisionStartPos.y - self.boundingBox.y + collisionYPos = y + self.fallingSpeed = 0 + collisionDetected = true + end + end + end + end + end + if y == collisionYPos + 1 then + break + end + end + end + if collisionDetected and not self.isOnGround and self.parent.characterData.placementObjects[self.index].callbacks ~= nil and self.parent.characterData.placementObjects[self.index].callbacks.onGround ~= nil then + self.parent.characterData.placementObjects[self.index].callbacks.onGround(self.parent.characterData, self) + end + self.isOnGround = collisionDetected + local nextBlock = world.getBlockState(self.nextPos) + local isNextBlockFire = false + for _, tag in ipairs(nextBlock:getTags()) do + if tag == "minecraft:fire" then + isNextBlockFire = true + break + end + end + if self.nextPos.y < -128 then + self.removeReason = "TOO_LOW" + self.shouldDeinit = true + elseif self.nextPos.y > 384 then + self.removeReason = "TOO_HIGH" + self.shouldDeinit = true + elseif not self.hasFireResistance and (nextBlock:getFluidTags()[2] == "c:lava" or isNextBlockFire) then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.fire.extinguish"), self.nextPos) + for _ = 0, self.boundingBox.x * self.boundingBox.y * self.boundingBox.z * 8 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:smoke"), vectors.vec3(self.nextPos.x + math.random() * self.boundingBox.x - self.boundingBox.x / 2, self.nextPos.y + math.random() * self.boundingBox.y, self.nextPos.z + math.random() * self.boundingBox.z - self.boundingBox.z / 2)) + end + self.removeReason = "BURNT" + self.shouldDeinit = true + end + if self.parent.characterData.placementObjects[self.index].callbacks ~= nil and self.parent.characterData.placementObjects[self.index].callbacks.onTick ~= nil then + self.parent.characterData.placementObjects[self.index].callbacks.onTick(self.parent.characterData, self) + end + end; + + ---@param self PlacementObject + onRender = function (self, delta, context) + self.object:setPos(self.nextPos:copy():sub(self.currentPos):scale(delta):add(self.currentPos):add(self.modelOffsetPos):scale(16)) + if self.parent.characterData.placementObjects[self.index].callbacks ~= nil and self.parent.characterData.placementObjects[self.index].callbacks.onRender ~= nil then + self.parent.characterData.placementObjects[self.index].callbacks.onRender(self.parent.characterData, self) + end + end + } + + return instance + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/placement_object/placement_object_manager.lua b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/placement_object/placement_object_manager.lua new file mode 100644 index 0000000..eee06b5 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/placement_object/placement_object_manager.lua @@ -0,0 +1,87 @@ +---設置物の設置モードの列挙型 +---@alias PlacementObjectManager.PlacementMode +---| "COPY" # コピーモード。BBアニメーションは使えないが、複数の設置物を設置可能。 +---| "MOVE" # 移動モード。同時に1つしか設置物を設置できないが、BBアニメーションが使える。 + +---設置物が削除された理由の列挙型 +---@alias PlacementObjectManager.RemoveReason +---| "REMOVED_BY_SCRIPTS" # スクリプトによって削除 +---| "OVERLAPPED" # 設置物がブロックと重なって削除 +---| "BURNT" # 炎に焼かれて削除 +---| "TOO_LOW" # 設置物のY座標が低過ぎて削除 +---| "TOO_HIGH" # 設置物のY座標が高過ぎて削除 + +---@class (exact) PlacementObjectManager : SpawnObjectManager 設置物を管理するマネージャークラス +---@field public objects PlacementObject[] インスタンスで制御するオブジェクト +---@field public getObject fun(self: PlacementObjectManager, index: integer, pos: Vector3, rot: number): PlacementObject 設置物のインスタンスを生成して返す +---@field public spawn fun(self: PlacementObjectManager, index: integer, pos: Vector3, rot: number) 設置物を設置する +---@field public applyFunc fun(self: PlacementObjectManager, index: integer, func: fun(object: PlacementObject, i: integer)) 設置済み設置物の指定した設置物データのインデックス番号のみに関数を適用する + +PlacementObjectManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return PlacementObjectManager + new = function (parent) + ---@type PlacementObjectManager + local instance = Avatar.instantiate(PlacementObjectManager, SpawnObjectManager, parent) + + instance.managerName = "placement_object" + + return instance + end; + + ---初期化関数 + ---@param self PlacementObjectManager + init = function (self) + SpawnObjectManager.init(self) + + ---@diagnostic disable-next-line: discard-returns + models:newPart("script_placement_object", "World") + for _, data in ipairs(self.parent.characterData.placementObjects) do + if data.placementMode == "MOVE" then + data.model = data.model:moveTo(models.script_placement_object) + data.model:setVisible(false) + end + end + end; + + + ---設置物のインスタンスを生成して返す。 + ---@param self PlacementObjectManager + ---@param index integer 設置物データのインデックス番号 + ---@param pos Vector3 設置物を設置するワールド座標 + ---@param rot number 設置物を設置するワールド方向(Y軸のみ) + ---@return PlacementObject instance 生成したインスタンス + getObject = function (self, index, pos, rot) + if self.parent.characterData.placementObjects[index].placementMode == "MOVE" then + for i, placementObject in ipairs(self.objects) do + if placementObject.index == index then + self:remove(i) + break + end + end + end + return PlacementObject.new(self.parent, index, pos, rot) + end; + + ---設置物を設置する。 + ---@param self PlacementObjectManager + ---@param index integer 設置物データのインデックス番号 + ---@param pos Vector3 設置物を設置するワールド座標 + ---@param rot number 設置物を設置するワールド方向(Y軸のみ) + spawn = function (self, index, pos, rot) + SpawnObjectManager.spawn(self, index, pos, rot) + end; + + ---設置済み設置物の、指定した設置物データのインデックス番号のみに関数を適用する。 + ---@param self PlacementObjectManager + ---@param index integer 関数実行対象の設置物データのインデックス番号 + ---@param func fun(object: PlacementObject, i: integer) 実行する関数 + applyFunc = function (self, index, func) + for i, obj in ipairs(self.objects) do + if obj.index == index then + func(obj, i) + end + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/portrait.lua b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/portrait.lua new file mode 100644 index 0000000..3d887aa --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/portrait.lua @@ -0,0 +1,32 @@ +---@class (exact) Portrait : HeadModelGenerator ポートレートのモデルを管理するクラス + +Portrait = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Portrait + new = function (parent) + ---@type Portrait + local instance = Avatar.instantiate(Portrait, HeadModelGenerator, parent) + + instance.processData = instance.parent.characterData.portrait + instance.parentName = "portrait" + instance.parentType = "Portrait" + + return instance + end; + + ---初期化関数 + ---@param self Portrait + init = function (self) + HeadModelGenerator.init(self) + end; + + ---頭モデルのコピーを生成する。 + ---@param self HeadBlock + generateHeadModel = function (self) + HeadModelGenerator.generateHeadModel(self) + if models.script_portrait.Head ~= nil then + models.script_portrait.Head.HeadRing:remove() + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/skirt.lua b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/skirt.lua new file mode 100644 index 0000000..48e97f8 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/skirt.lua @@ -0,0 +1,30 @@ +---@class Skirt : AvatarModule スカートを制御するクラス + +Skirt = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Skirt + new = function (parent) + ---@type Skirt + local instance = Avatar.instantiate(Skirt, AvatarModule, parent) + + return instance + end; + + ---初期化関数 + ---@param self AvatarModule + init = function (self) + AvatarModule.init(self) + + if self.parent.characterData.skirt.skirtModels ~= nil and #self.parent.characterData.skirt.skirtModels > 0 then + events.TICK:register(function () + local isCrouching = player:isCrouching() + for _, skirtModel in ipairs(self.parent.characterData.skirt.skirtModels) do + if skirtModel:getVisible() then + skirtModel:setRot(isCrouching and 30 or 0, 0, 0) + end + end + end) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/utils/compatibility_utils.lua b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/utils/compatibility_utils.lua new file mode 100644 index 0000000..237a6a6 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/utils/compatibility_utils.lua @@ -0,0 +1,169 @@ +---レジストリの種類を示す列挙型 +---@alias CompatibilityUtils.RegistryType +---| "BLOCK" # ブロック名 +---| "ITEM" # アイテム名 +---| "PARTICLE" # パーティクル名 +---| "SOUND" # サウンド名 + +---@class (exact) CompatibilityUtils : AvatarModule Minecraftのゲームバージョンが異なっていてもある程度互換性を確保するためのユーティリティクラス +---@field package registries {block: Minecraft.blockID[], item: Minecraft.itemID[], particle: Minecraft.particleID[], sound: Minecraft.soundID[]} ゲームから取得した全アイテム名を保持するテーブル +---@field package checkedTable {block: {[Minecraft.blockID]: boolean}, item: {[Minecraft.itemID]: boolean}, particle: {[Minecraft.particleID]: boolean}, sound: {[Minecraft.soundID]: boolean}} レジストリへの確認が済んでいるIDを保持するテーブル +---@field package find fun(self: CompatibilityUtils, registryType: CompatibilityUtils.RegistryType, target: string): boolean 指定されたターゲットがレジストリに登録されているかどうかを返す。 +---@field public checkBlock fun(self: CompatibilityUtils, block: Minecraft.blockID): Minecraft.blockID 指定されたブロックIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:dirt"を返す。 +---@field public checkItem fun(self: CompatibilityUtils, item: Minecraft.itemID): Minecraft.itemID 指定されたアイテムIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:barrier"を返す。 +---@field public checkParticle fun(self: CompatibilityUtils, particle: Minecraft.particleID): Minecraft.particleID 指定されたパーティクルIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:poof"を返す。 +---@field public checkSound fun(self: CompatibilityUtils, sound: Minecraft.soundID): Minecraft.soundID 指定されたサウンドIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:empty"を返す。 +---@field public getBlockParticleId fun(block: Minecraft.blockID): string ブロックの破片のパーティクルを示す文字列を返す。Minecraftのバージョン違いを吸収するための関数。 +---@field public getDustParticleId fun(color: Vector3, size: number): string dustパーティクルを示す文字列を返す。Minecraftのバージョン違いを吸収するための関数。 +---@field public setPostEffect fun(effect?: Minecraft.shaderName) renderer:setPostEffect()のラッパー関数。1.20.5でレンダーエフェクトが削除されたことによる対応。 + +CompatibilityUtils = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return CompatibilityUtils + new = function (parent) + ---@type CompatibilityUtils + local instance = Avatar.instantiate(CompatibilityUtils, AvatarModule, parent) + + instance.registries = {} + instance.checkedTable = { + block = {}; + item = {}; + particle = {}; + sound = {}; + } + + return instance + end; + + ---初期化関数 + ---@param self CompatibilityUtils + init = function (self) + AvatarModule.init(self) + + self.registries.block = client.getRegistry("minecraft:block") + self.registries.item = client.getRegistry("minecraft:item") + self.registries.particle = client.getRegistry("minecraft:particle_type") + self.registries.sound = client.getRegistry("minecraft:sound_event") + for name, _ in pairs(self.registries) do + table.sort(self.registries[name]) + end + self.checkedTable.block["minecraft:dirt"] = true + self.checkedTable.item["minecraft:barrier"] = true + self.checkedTable.particle["minecraft:poof"] = true + self.checkedTable.sound["minecraft:empty"] = true + if host:isHost() and client:getVersion() < "1.20.1" then + print(self.parent.locale:getLocale("avatar.old_version_warning")) + end + end; + + ---指定されたターゲットがレジストリに登録されているかどうかを返す。 + ---@param self CompatibilityUtils + ---@param registryType CompatibilityUtils.RegistryType 検索をかける対象のレジストリ + ---@param target string 検索対象名。"minecraft:"を抜かないこと。 + ---@return boolean idFound 指定されたターゲットがレジストリで見つかったかどうか + find = function (self, registryType, target) + ---リスト内の中央の要素(偶数の場合は中央から1つ左の要素)と指定されたターゲットのUnicode順を比較する。 + ---@param from integer リストの検索開始のインデックス番号 + ---@param to integer リストの検索終了のインスタンス番号(指定したインデックス番号の要素も検索に含む) + ---@return integer compareResult 比較結果。0は同じ文字列、1はターゲットの方が大きい、-1はターゲットの方が小さいことを表す。 + local function compareToCenterElement(from, to) + local centerIndex = math.floor((to - from) / 2) + from + if self.registries[registryType:lower()][centerIndex] < target then + return 1 + elseif self.registries[registryType:lower()][centerIndex] > target then + return -1 + else + return 0 + end + end + + local startIndex = 1 + local endIndex = #self.registries[registryType:lower()] + while startIndex < endIndex do + local compareResult = compareToCenterElement(startIndex, endIndex) + if compareResult == 1 then + startIndex = math.floor((endIndex - startIndex) / 2) + startIndex + 1 + elseif compareResult == -1 then + endIndex = math.floor((endIndex - startIndex) / 2) + startIndex + else + break + end + end + if startIndex == endIndex then + return compareToCenterElement(startIndex, endIndex) == 0 + else + return true + end + end; + + ---指定されたブロックIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:dirt"を返す。 + ---@param self CompatibilityUtils + ---@param block Minecraft.blockID 確認対象のブロックID + ---@param blockState string? ブロックステートを示す文字列 + ---@return Minecraft.blockID blockID レジストリに登録してある場合は確認対象のブロックIDをそのまま返し、未登録の場合は"minecraft:dirt"が返す。 + checkBlock = function (self, block, blockState) + if self.checkedTable.block[block] == nil then + self.checkedTable.block[block] = self:find("BLOCK", block) + end + local state = blockState ~= nil and blockState or "" + return self.checkedTable.block[block] and block..state or "minecraft:dirt" + end; + + ---指定されたアイテムIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:barrier"を返す。 + ---@param self CompatibilityUtils + ---@param item Minecraft.itemID 確認対象のアイテムID + ---@return Minecraft.itemID blockID レジストリに登録してある場合は確認対象のアイテムIDをそのまま返し、未登録の場合は"minecraft:barrier"が返す。 + checkItem = function (self, item) + if self.checkedTable.item[item] == nil then + self.checkedTable.item[item] = self:find("ITEM", item) + end + return self.checkedTable.item[item] and item or "minecraft:barrier" + end; + + ---指定されたパーティクルIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:poof"を返す。 + ---@param self CompatibilityUtils + ---@param particle Minecraft.particleID 確認対象のパーティクルID + ---@return Minecraft.particleID particleID レジストリに登録してある場合は確認対象のパーティクルIDをそのまま返し、未登録の場合は"minecraft:poof"が返す。 + checkParticle = function (self, particle) + if self.checkedTable.particle[particle] == nil then + self.checkedTable.particle[particle] = self:find("PARTICLE", particle) + end + return self.checkedTable.particle[particle] and particle or "minecraft:poof" + end; + + ---指定されたサウンドIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:empty"を返す。 + ---@param self CompatibilityUtils + ---@param sound Minecraft.soundID 確認対象のサウンドID + ---@return Minecraft.soundID particleID レジストリに登録してある場合は確認対象のサウンドIDをそのまま返し、未登録の場合は"minecraft:empty"が返す。 + checkSound = function (self, sound) + if self.checkedTable.sound[sound] == nil then + self.checkedTable.sound[sound] = self:find("SOUND", sound) + end + return self.checkedTable.sound[sound] and sound or "minecraft:empty" + end; + + ---ブロックの破片のパーティクルを示す文字列を返す。Minecraftのバージョン違いを吸収するための関数。 + ---@param block Minecraft.blockID ブロックの破片パーティクルとして表示するブロックのID。レジストリへの確認は行わない。 + ---@return string particleData ブロックの破片のパーティクルを示す文字列 + getBlockParticleId = function (block) + return client:getVersion() >= "1.20.5" and "minecraft:block{block_state:\""..block.."\"}" or "minecraft:block "..block + end; + + ---dustパーティクルを示す文字列を返す。Minecraftのバージョン違いを吸収するための関数。 + ---@param color Vector3 dustの色 + ---@param size number dustの大きさ + ---@return string particleData dustの破片のパーティクルを示す文字列 + getDustParticleId = function (color, size) + return client:getVersion() >= "1.20.5" and "minecraft:dust{color:["..color.x..","..color.y..","..color.z.."],scale:"..math.clamp(size, 0.01, 4).."}" or "minecraft:dust "..color.x.." "..color.y.." "..color.z.." "..size + end; + + ---renderer:setPostEffect()のラッパー関数 + ---1.20.5でレンダーエフェクトが削除されたことによる対応 + ---@param effect? Minecraft.shaderName 適用するエフェクト + setPostEffect = function (effect) + if client:getVersion() < "1.20.5" then + renderer:setPostEffect(effect) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/utils/model_utils.lua b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/utils/model_utils.lua new file mode 100644 index 0000000..4208e9f --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/utils/model_utils.lua @@ -0,0 +1,59 @@ +---@class (exact) ModelUtils : AvatarModule モデルに関するユーティリティ関数群 +---@field public getModelWorldPos fun(model: ModelPart): Vector3 指定したモデルのワールド位置を返す。 +---@field public copyModel fun(self: ModelUtils, modelPart: ModelPart, name?: string, forceCopy?: boolean): ModelPart|nil モデルパーツをディープコピーする。 +---@field public copyModel fun(self: ModelUtils, modelPart: ModelPart, name?: string, forceCopy?: true): ModelPart モデルパーツをディープコピーする。 +---@field public moveTo fun(target: ModelPart, destination: ModelPart, originalParent: ModelPart) モデルパーツを別の親に移動させる。組み込みmoveTo()で何故かモデルパーツが残ってしまう問題に対処済み。 + +ModelUtils = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ModelUtils + new = function (parent) + ---@type ModelUtils + local instance = Avatar.instantiate(ModelUtils, AvatarModule, parent) + + return instance + end; + + ---指定したモデルのワールド位置を返す。 + ---@param model ModelPart ワールド位置を取得するモデルパーツ + ---@return Vector3 worldPos モデルのワールド位置 + getModelWorldPos = function(model) + local modelMatrix = model:partToWorldMatrix() + return vectors.vec3(modelMatrix[4][1], modelMatrix[4][2], modelMatrix[4][3]) + end; + + ---モデルパーツをディープコピーする。 + ---非表示のモデルパーツはコピーしない。 + ---@param modelPart ModelPart コピーするモデルパーツ + ---@param name? string コピーしたモデルパーツの名前。省略した際はコピー元と同じ名前になる。 + ---@param forceCopy? boolean 非表示のモデルも強制的にコピーするかどうか + ---@return ModelPart|nil copiedModelPart コピーされたモデルパーツ。入力されたモデルパーツが非表示の場合はnilが返る。 + copyModel = function (self, modelPart, name, forceCopy) + if modelPart:getVisible() or forceCopy then + local copy = modelPart:copy(name ~= nil and name or modelPart:getName()) + copy:setParentType("None") + for _, child in ipairs(copy:getChildren()) do + copy:removeChild(child) + local childModel = self:copyModel(child) + if childModel ~= nil then + copy:addChild(childModel) + end + end + return copy + end + end; + + ---モデルパーツを別の親に移動させる。 + ---組み込みmoveTo()で何故かモデルパーツが残ってしまう問題に対処済み。 + ---@param target ModelPart 移動させる対象のモデルパーツ + ---@param destination ModelPart 移動先の親 + ---@param originalParent ModelPart 移動元の親 + moveTo = function (target, destination, originalParent) + target:moveTo(destination) + local modelName = target:getName() + if originalParent[modelName] ~= nil then + originalParent:removeChild(target) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/utils/player_utils.lua b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/utils/player_utils.lua new file mode 100644 index 0000000..274c213 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/utils/player_utils.lua @@ -0,0 +1,35 @@ +---@alias PlayerUtils.DamageStatus +---| "NONE" # ダメージなし +---| "DAMAGE" # ダメージを受けた +---| "DIED" # 死亡した + +---@class (exact) PlayerUtils : AvatarModule プレイヤーに関するユーティリティ関数群 +---@field public damageStatus PlayerUtils.DamageStatus 現在のティックのダメージステータス +---@field package healthPrev integer 前ティックのHP量 + +PlayerUtils = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return PlayerUtils + new = function (parent) + ---@type PlayerUtils + local instance = Avatar.instantiate(PlayerUtils, AvatarModule, parent) + + instance.damageStatus = "NONE" + instance.healthPrev = player:getHealth() + + return instance + end; + + ---初期化関数 + ---@param self PlayerUtils + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + local health = player:getHealth() + self.damageStatus = self.healthPrev > health and (health == 0 and "DIED" or "DAMAGE") or "NONE" + self.healthPrev = health + end) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/utils/spawn_object.lua b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/utils/spawn_object.lua new file mode 100644 index 0000000..cf08811 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/utils/spawn_object.lua @@ -0,0 +1,26 @@ +---@class (exact) SpawnObject : AvatarModule オブジェクト(設置物、独自定義パーティクル、bbモデルetc.)クラス +---@field public object any インスタンスで制御するオブジェクト。ModelPartやRenderTaskを想定している。 +---@field public uuid string このインスタンスのUUID。オブジェクトの名前付けなどにどうぞ。 +---@field public shouldDeinit boolean このオブジェクトを破棄するかどうか。trueにするとオブジェクトが破棄され、その際に、onDeinit()コールバック関数が呼ばれる。 +---@field public callbacks? SpawnObject.CallbackSet スポーンオブジェクトのコールバック関数 + +---@class (exact) SpawnObject.CallbackSet スポーンオブジェクトのコールバック関数のセット +---@field public onInit? fun(self: SpawnObject) オブジェクトの初期化直後に呼ばれる関数 +---@field public onDeinit? fun(self: SpawnObject) オブジェクトの破棄直前に呼ばれる関数 +---@field public onTick? fun(self: SpawnObject) 各ティック毎に呼ばれる関数 +---@field public onRender? fun(self: SpawnObject, delta: number, context: Event.Render.context) 各レンダーティック毎に呼ばれる関数 + +SpawnObject = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return SpawnObject + new = function (parent) + ---@type SpawnObject + local instance = Avatar.instantiate(SpawnObject, AvatarModule, parent) + + instance.uuid = client.intUUIDToString(client.generateUUID()) + instance.shouldDeinit = false + + return instance + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/utils/spawn_object_manager.lua b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/utils/spawn_object_manager.lua new file mode 100644 index 0000000..3026820 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/utils/spawn_object_manager.lua @@ -0,0 +1,102 @@ +---@class (exact) SpawnObjectManager : AvatarModule オブジェクト(設置物、独自定義パーティクル、bbモデルetc.)をスポーンさせ、管理するマネージャークラス +---@field public managerName string このマネージャーの名前 +---@field public objects SpawnObject[] スポーンさせたオブジェクトを保持するテーブル +---@field public getObject fun(self: SpawnObjectManager): SpawnObject スポーンオブジェクトのインスタンスを生成して返す +---@field public spawn fun(self: SpawnObjectManager, ...: any) オブジェクトをスポーンさせる +---@field public remove fun(self: SpawnObjectManager, index: integer) オブジェクトを1つ削除する +---@field public removeAll fun(self: SpawnObjectManager) オブジェクトをすべて削除する + +SpawnObjectManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return SpawnObjectManager + new = function (parent) + ---@type SpawnObjectManager + local instance = Avatar.instantiate(SpawnObjectManager, AvatarModule, parent) + + instance.managerName = "spawn_object" + instance.objects = {} + + return instance + end; + + ---スポーンオブジェクトのインスタンスを生成して返す。 + ---@param self SpawnObjectManager + ---@return SpawnObject instance 生成したスポーンオブジェクト + getObject = function (self) + return SpawnObject.new(self.parent) + end; + + ---オブジェクトをスポーンさせる。 + ---@param self SpawnObjectManager + ---@param ... any インスタンス生成時の引数 + spawn = function (self, ...) + ---@diagnostic disable-next-line: redundant-parameter + local instance = self:getObject(...) + table.insert(self.objects, instance) + if instance.callbacks ~= nil and instance.callbacks.onInit ~= nil then + instance.callbacks.onInit(instance) + end + + if #self.objects == 1 then + events.TICK:register(function () + if not client:isPaused() then + for index, ins in ipairs(self.objects) do + if ins.callbacks ~= nil and ins.callbacks.onTick ~= nil then + ins.callbacks.onTick(ins) + end + if ins.shouldDeinit then + if ins.callbacks ~= nil and ins.callbacks.onDeinit ~= nil then + ins.callbacks.onDeinit(ins) + end + table.remove(self.objects, index) + if #self.objects == 0 then + events.TICK:remove(self.managerName.."_tick") + events.RENDER:remove(self.managerName.."_render") + end + end + end + end + end, self.managerName.."_tick") + + events.RENDER:register(function (delta, ctx) + if not client:isPaused() then + for _, ins in ipairs(self.objects) do + if ins.callbacks ~= nil and ins.callbacks.onRender ~= nil then + ins.callbacks.onRender(ins, delta, ctx) + end + end + end + end, self.managerName.."_render") + end + end; + + ---オブジェクトを1つ削除する。 + ---@param self SpawnObjectManager + ---@param index integer 削除するオブジェクトのインデックス番号 + remove = function (self, index) + if self.objects[index] ~= nil then + if self.objects[index].callbacks ~= nil and self.objects[index].callbacks.onDeinit ~= nil then + self.objects[index].callbacks.onDeinit(self.objects[index]) + end + table.remove(self.objects, index) + if #self.objects == 0 then + events.TICK:remove(self.managerName.."_tick") + events.RENDER:remove(self.managerName.."_render") + end + end + end; + + ---オブジェクトをすべて削除する。 + ---@param self SpawnObjectManager + removeAll = function (self) + while #self.objects > 0 do + if self.objects[1].callbacks ~= nil and self.objects[1].callbacks.onDeinit ~= nil then + self.objects[1].callbacks.onDeinit(self.objects[1]) + end + table.remove(self.objects, 1) + end + events.TICK:remove(self.managerName.."_tick") + events.RENDER:remove(self.managerName.."_render") + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/vanilla_model.lua b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/vanilla_model.lua new file mode 100644 index 0000000..2220732 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/scripts/avatar_modules/vanilla_model.lua @@ -0,0 +1,23 @@ +---@class (exact) VanillaModel : AvatarModule バニラーのモデルの管理クラス + +VanillaModel = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return VanillaModel + new = function (parent) + ---@type VanillaModel + local instance = Avatar.instantiate(VanillaModel, AvatarModule, parent) + + return instance + end; + + ---初期化関数 + ---@param self AvatarModule + init = function (self) + AvatarModule.init(self) + + for _, vanillaModel in ipairs({vanilla_model.PLAYER, vanilla_model.CHESTPLATE_RIGHT_ARM, vanilla_model.CHESTPLATE_LEFT_ARM, vanilla_model.LEGGINGS_RIGHT_LEG, vanilla_model.LEGGINGS_LEFT_LEG, vanilla_model.BOOTS}) do + vanillaModel:setVisible(false) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shiroko/scripts/blue_archive_character.lua b/config/yosbr/config/figura/avatars/Shiroko/scripts/blue_archive_character.lua new file mode 100644 index 0000000..a74f4f7 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/scripts/blue_archive_character.lua @@ -0,0 +1,1416 @@ +---@alias BlueArchiveCharacter.RightEyeTextures +---| "NORMAL" # 通常 +---| "SURPRISED" # 驚いた目(ダメージを受けたときなど) +---| "TIRED" # 疲れた目(死亡アニメーションなど) +---| "CLOSED" # 閉じた目(瞬き、睡眠中など) +---| "CLOSED2" # 閉じた目2 +---| "HALF" # 半分目 +---| "ANGRY" # 怒った目 +---| "CENTER" # 少し反対側を見る目 +---| "NARROW_CENTER" # 少し閉じつつ少し反対側を見る目 +---| "NARROW_ANGRY_CENTER" # 少し閉じつつ怒りつつ少し反対側を見る目 +---| "NARROW_ANGRY" # 少し閉じつつ怒った目 + +---@alias BlueArchiveCharacter.LeftEyeTextures +---| "NORMAL" # 通常 +---| "SURPRISED" # 驚いた目(ダメージを受けたときなど) +---| "TIRED" # 疲れた目(死亡アニメーションなど) +---| "CLOSED" # 閉じた目(瞬き、睡眠中など) +---| "CLOSED2" # 閉じた目2 +---| "HALF" # 半分目 +---| "ANGRY" # 怒った目 +---| "NARROW" # 少し閉じた目 +---| "NARROW_ANGRY" # 少し閉じつつ怒った目 +---| "CENTER" # 少し反対側を見る目 +---| "NARROW_ANGRY_INVERTED" # 少し閉じつつ怒りつつ反対側を見る目 +---| "INVERTED" # 反対側を見る目 +---| "ANGRY_INVERTED" # 怒りつつ反対側を見る目 + +---@alias BlueArchiveCharacter.MouthTextures +---| "NORMAL" # 通常 +---| "TRIANGLE" # 三角口 +---| "ANGRY" # への口 +---| "CLOSED" # 閉じた口 +---| "CLOSED2" # 閉じた口2 + +---@alias BlueArchiveCharacter.GunHoldType +---| "NORMAL" # バニラの弓やクロスボウの構え方と同じ +---| "CUSTOM" # BBアニメーション"[models.main][gun_hold_right]"と"[models.main][gun_hold_left]"で構え方を定義する + +---@alias BlueArchiveCharacter.GunPutType +---| "BODY" # アバターのBodyに銃を移動させる +---| "HIDDEN" # 銃を隠す + +---@alias BlueArchiveCharacter.FormationType +---| "STRIKER" # ストライカー(前衛) +---| "SPECIAL" # スペシャル(後方支援) + +---@alias BlueArchiveCharacter.Costumes +---| "DEFAULT" # デフォルト衣装 +---| "MASKED" # 覆面水着団 +---| "SWIMSUIT" # 水着 +---| "RIDING" # ライディング + +--[[ ******************************** ]] + +---@class BlueArchiveCharacter : AvatarModule キャラクター変数を保持するクラス。別のキャラクターに対してもここを変更するだけで対応できるようにする。 +---@field public basic BlueArchiveCharacter.BasicStruct 生徒の基本情報 +---@field public faceParts BlueArchiveCharacter.FacePartsStruct 目や口による表情 +---@field public arms BlueArchiveCharacter.ArmsStruct 腕 +---@field public skirt BlueArchiveCharacter.SkirtStruct スカート +---@field public gun BlueArchiveCharacter.GunStruct 銃 +---@field public placementObjects BlueArchiveCharacter.PlacementObjectStruct[] 設置物 +---@field public exSkill BlueArchiveCharacter.ExSkillStruct[] Exスキル +---@field public costume BlueArchiveCharacter.CostumeStruct コスチューム +---@field public bubble BlueArchiveCharacter.BubbleStruct 吹き出しエモート +---@field public headBlock BlueArchiveCharacter.HeadBlockStruct 頭ブロック +---@field public portrait BlueArchiveCharacter.HeadBlockStruct ポートレート +---@field public deathAnimation BlueArchiveCharacter.DeathAnimationStruct 死亡アニメーション +---@field public actionWheel BlueArchiveCharacter.ActionWheelStruct アクションホイール +---@field public physics BlueArchiveCharacter.PhysicsStruct 物理演算 +---@field public dataSync BlueArchiveCharacter.DataSyncStruct データ同期 + +--[[ ******************************** ]] + +---@class BlueArchiveCharacter.BasicStruct 生徒の基本情報のデータ構造体 +---@field public firstName BlueArchiveCharacter.LocaleStringSet 生徒の名前 +---@field public lastName BlueArchiveCharacter.LocaleStringSet 生徒の苗字 +---@field public clubName BlueArchiveCharacter.LocaleStringSet 生徒が所属している部活名 +---@field public birth BlueArchiveCharacter.MonthDaySet 生徒の誕生日 + +---@class BlueArchiveCharacter.FacePartsStruct 目や口による表情のデータ構造体。UVマッピング情報は、デフォルトパーツから見て左からx番目、上からy番目とする。 +---@field public rightEye {[BlueArchiveCharacter.RightEyeTextures]: Vector2} 右目のテクスチャのUVマッピング情報 +---@field public leftEye {[BlueArchiveCharacter.LeftEyeTextures]: Vector2} 左目のテクスチャのUVマッピング情報 +---@field public mouth {[BlueArchiveCharacter.MouthTextures]: Vector2} 口のテクスチャのUVマッピング情報 +---@field public emotionSet? BlueArchiveCharacter.OverrideEmotionSet 特定の状況における表情を上書きする + +---@class BlueArchiveCharacter.ArmsStruct 腕のデータ構造体 +---@field public callbacks? BlueArchiveCharacter.ArmsCallbacksSet 腕の制御のコールバック関数群 + +---@class BlueArchiveCharacter.SkirtStruct スカートのデータ構造体 +---@field public skirtModels? ModelPart[] スカートとして制御するモデル + +---@class BlueArchiveCharacter.GunStruct 銃のデータ構造体 +---@field public scale number 銃モデルの大きさの倍率 +---@field public gunPosition BlueArchiveCharacter.GunPositionSet 銃モデルの位置や向き +---@field public sound BlueArchiveCharacter.GunSoundSet 銃の射撃音 +---@field public callbacks? BlueArchiveCharacter.GunCallbacksSet 銃のコールバック関数 + +---@class BlueArchiveCharacter.PlacementObjectStruct 設置物のデータ構造体 +---@field public model ModelPart 設置物として扱うモデル +---@field public boundingBox BlueArchiveCharacter.PlacementObjectBoundingBoxSet 設置物の当たり判定 +---@field public placementMode PlacementObjectManager.PlacementMode 設置物の設置モード +---@field public gravity? number 設置物にかかる重力。1が標準的な自由落下。0で空中静止。負の数で反重力(上に向かって落ちる)。 +---@field public hasFireResistance? boolean 設置物に火炎耐性を付与するかどうか。trueにすると炎やマグマで焼かれなくなる。 +---@field public callbacks? BlueArchiveCharacter.PlacementObjectCallbacksSet 設置物のコールバック関数 + +---@class BlueArchiveCharacter.ExSkillStruct Exスキルのデータ構造体 +---@field public name BlueArchiveCharacter.LocaleStringSet Exスキルの名前 +---@field public formationType BlueArchiveCharacter.FormationType この生徒の戦闘配置タイプ +---@field public models ModelPart[] Exスキルアニメーション開始時に表示し、Exスキルアニメーション終了時に非表示にするモデルパーツ +---@field public animations string[] Exスキルアニメーションが含まれるモデルファイル名。アニメーション名は"ex_skill_"にすること。 +---@field public camera BlueArchiveCharacter.ExSkillCameraSet Exスキルアニメーション中のカメラワーク +---@field public callbacks? BlueArchiveCharacter.ExSkillCallbacks Exスキルのコールバック関数 + +---@class BlueArchiveCharacter.CostumeStruct コスチュームのデータ構造体 +---@field public costumes BlueArchiveCharacter.CostumeDataSet[] コスチュームデータ +---@field public callbacks? BlueArchiveCharacter.CostumeCallbacks コスチュームのコールバック関数 + +---@class BlueArchiveCharacter.BubbleStruct 吹き出しエモートのデータ構造体 +---@field public callbacks? BlueArchiveCharacter.BubbleCallbacks 吹き出しエモートのコールバック関数 + +---@class BlueArchiveCharacter.HeadBlockStruct 頭ブロック、ポートレートのデータ構造体 +---@field public includeModels ModelPart[] 頭モデルに追加でアタッチするモデル +---@field public callbacks? BlueArchiveCharacter.HeadBlockCallbacks 頭ブロック、ポートレートのコールバック関数 + +---@class BlueArchiveCharacter.DeathAnimationStruct 死亡アニメーションのデータ構造体 +---@field public callbacks? BlueArchiveCharacter.DeathAnimationCallbacks 死亡アニメーションのコールバック関数 + +---@class BlueArchiveCharacter.ActionWheelStruct アクションホイールのデータ構造体 +---@field public isVehicleOptionEnabled boolean 乗り物のモデル置き換えオプションを有効にするかどうか + +---@class BlueArchiveCharacter.PhysicsStruct 物理演算のデータ構造体 +---@field physicData BlueArchiveCharacter.PhysicDataSet[] 物理演算データ +---@field callbacks? BlueArchiveCharacter.PhysicCallbacks 物理演算のコールバック関数 + +---@class BlueArchiveCharacter.DataSyncStruct データ同期のデータ構造体 +---@field public syncData {[string]: any} 追加でping同期させるデータテーブル +---@field public callbacks? BlueArchiveCharacter.DataSyncCallbacks データ同期のコールバック関数 + +--[[ ******************************** ]] + +---@class (exact) BlueArchiveCharacter.OverrideEmotionSet 特定の状況における表情を上書きするセット +---@field public onDamage? BlueArchiveCharacter.EmotionSet ダメージを受けたとき +---@field public onDied? BlueArchiveCharacter.EmotionSet 死んだとき(死亡アニメーションは除外) +---@field public onSleep? BlueArchiveCharacter.EmotionSet ベッドで寝ているとき + +---@class (exact) BlueArchiveCharacter.EmotionSet 表情のデータセット +---@field public rightEye BlueArchiveCharacter.RightEyeTextures 右目の表情名 +---@field public leftEye BlueArchiveCharacter.LeftEyeTextures 左目の表情名 +---@field public mouth BlueArchiveCharacter.MouthTextures 口の表情名 + +---@class (exact) BlueArchiveCharacter.ArmsCallbacksSet 腕処理のコールバック関数のセット +---@field public onArmStateChanged? fun(self: BlueArchiveCharacter, right: integer, left: integer): {right?: integer, left?: integer}|nil 腕の状態が変更された際のコールバック関数 +---@field public onAdditionalRightArmProcess? fun(self: BlueArchiveCharacter, state: integer) 右腕の追加処理 +---@field public onAdditionalLeftArmProcess? fun(self: BlueArchiveCharacter, state: integer) 左腕の追加処理 + +---@class (exact) BlueArchiveCharacter.GunPositionSet 銃のモデルの位置や向きのデータセット +---@field public hold BlueArchiveCharacter.GunHoldPositionSet 銃を構えているとき +---@field public put BlueArchiveCharacter.GunPutPositionSet 銃をしまっているとき + +---@class (exact) BlueArchiveCharacter.GunHoldPositionSet 構えているときの銃のモデルの位置や向きのデータセット +---@field public type BlueArchiveCharacter.GunHoldType 銃の構え方の種類 +---@field public firstPersonPos? BlueArchiveCharacter.Vector3RightLeftSet 一人称視点での銃の位置 +---@field public firstPersonRot? BlueArchiveCharacter.Vector3RightLeftSet 一人称視点での銃の方向 +---@field public thirdPersonPos? BlueArchiveCharacter.Vector3RightLeftSet 三人称視点での銃の位置 +---@field public thirdPersonRot? BlueArchiveCharacter.Vector3RightLeftSet 三人称視点での銃の方向 + +---@class (exact) BlueArchiveCharacter.GunPutPositionSet しまっているときの銃のモデルの位置や向きのデータセット +---@field public type BlueArchiveCharacter.GunPutType 銃のしまい方の種類 +---@field public pos? BlueArchiveCharacter.Vector3RightLeftSet 一人称視点での銃の位置 +---@field public rot? BlueArchiveCharacter.Vector3RightLeftSet 一人称視点での銃の方向 + +---@class (exact) BlueArchiveCharacter.GunSoundSet 銃の音のデータセット +---@field public name Minecraft.soundID 銃の音として使用するゲームの音源名 +---@field public pitch number 音源の再生ピッチ(0.5~2) + +---@class (exact) BlueArchiveCharacter.GunCallbacksSet 銃のコールバック関数のセット +---@field public onMainHandChange? fun(self: BlueArchiveCharacter, direction: Gun.HandDirection) 利き手が変更されたときに呼び出される関数 + +---@class (exact) BlueArchiveCharacter.PlacementObjectBoundingBoxSet 設置物の当たり判定のデータセット +---@field public offsetPos? Vector3 設置物の底の中心点のオフセット位置(任意)。基準点は(0, 0, 0)。 +---@field public size? Vector3 当たり判定の大きさ。BlockBenchでのサイズの値をそのまま入力する。基準点はモデルの底面の中心。 + +---@class (exact) BlueArchiveCharacter.PlacementObjectCallbacksSet 設置物のコールバック関数のセット +---@field public onInit? fun(self: BlueArchiveCharacter, placementObject: PlacementObject) 設置物インスタンスが生成された直後に呼ばれる関数 +---@field public onDeinit? fun(self: BlueArchiveCharacter, placementObject: PlacementObject) 設置物インスタンスが破棄される直前に呼ばれる関数 +---@field public onTick? fun(self: BlueArchiveCharacter, placementObject: PlacementObject) 各ティック毎に呼ばれる関数 +---@field public onRender? fun(self: BlueArchiveCharacter, placementObject: PlacementObject) 各レンダーティック毎に呼ばれる関数 +---@field public onGround? fun(self: BlueArchiveCharacter, placementObject: PlacementObject) 設置物が接地した瞬間に呼ばれる関数 + +---@class (exact) BlueArchiveCharacter.ExSkillCameraSet Exスキルアニメーション中のカメラワークのセット +---@field public start BlueArchiveCharacter.ExSkillCameraPositionSet Exスキルアニメーション開始地点 +---@field public fin BlueArchiveCharacter.ExSkillCameraPositionSet Exスキルアニメーション終了地点 +---@field public fixMode? boolean カメラの補正モード。通常は無効だが、特定のキャラクターに対しては有効にしておく。 + +---@class (exact) BlueArchiveCharacter.ExSkillCameraPositionSet Exスキルアニメーション中のカメラワークの開始/終了地点の位置のデータセット +---@field public pos Vector3 カメラの位置 +---@field public rot Vector3 カメラの方向 + +---@class (exact) BlueArchiveCharacter.ExSkillCallbacks Exスキルのコールバック関数のセット +---@field public onPreTransition? fun(self: BlueArchiveCharacter) Exスキルアニメーション開始前のトランジション開始前に実行されるコールバック関数 +---@field public onPreAnimation? fun(self: BlueArchiveCharacter) Exスキルアニメーション開始前のトランジション終了後に実行されるコールバック関数 +---@field public onAnimationTick? fun(self: BlueArchiveCharacter, tick: integer) Exスキルアニメーション再生中のみ実行されるティック関数 +---@field public onPostAnimation? fun(self: BlueArchiveCharacter, forcedStop: boolean) Exスキルアニメーション終了後のトランジション開始前に実行されるコールバック関数 +---@field public onPostTransition? fun(self: BlueArchiveCharacter, forcedStop: boolean) Exスキルアニメーション終了後のトランジション終了後に実行されるコールバック関数 + +---@class BlueArchiveCharacter.CostumeDataSet コスチュームのデータセット +---@field public name string コスチュームの内部名 +---@field public displayName BlueArchiveCharacter.LocaleStringSet コスチュームの表示名 +---@field public exSkill integer コスチュームに対応するExスキルのインデックス番号 +---@field public subExSkill? integer コスチュームに対応するサブExスキルのインデックス番号 + +---@class (exact) BlueArchiveCharacter.CostumeCallbacks コスチュームのコールバック関数のセット +---@field public onChange? fun(self: BlueArchiveCharacter, costumeId: BlueArchiveCharacter.Costumes) 衣装が変更されたときに実行されるコールバック関数。デフォルトの衣装はここに含めない。 +---@field public onReset? fun(self: BlueArchiveCharacter) 衣装がリセットされたときに実行されるコールバック関数。あらゆる衣装からデフォルトの衣装へ推移できるようにする。 +---@field public onArmorChange? fun(self: BlueArchiveCharacter, parts: Armor.ArmorPart, isVisible: boolean) 防具が変更された(防具が見える/見えない)ときに実行されるコールバック関数 + +---@class (exact) BlueArchiveCharacter.BubbleCallbacks 吹き出しエモートのコールバック関数のセット +---@field public onPlay? fun(self: BlueArchiveCharacter, type: Bubble.BubbleType, duration: integer, showInGui: boolean) 吹き出しエモートが再生された時に実行されるコールバック関数 +---@field public onStop? fun(self: BlueArchiveCharacter, type: Bubble.BubbleType, forcedStop: boolean) 吹き出しアニメーション終了時に実行されるコールバック関数 + +---@class (exact) BlueArchiveCharacter.HeadBlockCallbacks 頭ブロックのコールバック関数のセット +---@field public onBeforeModelCopy? fun(self: BlueArchiveCharacter, isScriptLoaded: boolean) モデルのコピー直前に実行される関数 +---@field public onAfterModelCopy? fun(self: BlueArchiveCharacter, isScriptLoaded: boolean) モデルのコピー直後に実行される関数 + +---@class (exact) BlueArchiveCharacter.DeathAnimationCallbacks 死亡アニメーションのコールバック関数のセット +---@field public onPhase1? fun(self: BlueArchiveCharacter, dummyAvatar: ModelPart, costume: BlueArchiveCharacter.Costumes) 死亡アニメーションが再生された直後に実行される関数 +---@field public onPhase2? fun(self: BlueArchiveCharacter, dummyAvatar: ModelPart, costume: BlueArchiveCharacter.Costumes) ダミーアバターが縄ばしごにつかまった直後に実行される関数 +---@field public onBeforeModelCopy? fun(self: BlueArchiveCharacter, isScriptLoaded: boolean) モデルのコピー直前に実行される関数 +---@field public onAfterModelCopy? fun(self: BlueArchiveCharacter, isScriptLoaded: boolean) モデルのコピー直後に実行される関数 + +---@class (exact) BlueArchiveCharacter.PhysicDataSet 物理演算のデータセット +---@field public models ModelPart[] 物理演算の対象にするモデルパーツ +---@field public x? BlueArchiveCharacter.PhysicAxisData x軸のデータ +---@field public y? BlueArchiveCharacter.PhysicAxisData y軸のデータ +---@field public z? BlueArchiveCharacter.PhysicAxisData z軸のデータ + +---@class (exact) BlueArchiveCharacter.PhysicAxisData 物理演算の1軸のデータセット +---@field public vertical? BlueArchiveCharacter.PhysicCoreData 体が垂直方向である時(通常時)の物理演算データ +---@field public horizontal? BlueArchiveCharacter.PhysicCoreData 体が水平方向である時(水泳時、エリトラ飛行時)の物理演算データ + +---@class (exact) BlueArchiveCharacter.PhysicCoreData 物理演算のコアデータ +---@field public min number このモデルパーツ、回転軸の絶対的な回転の最小値(度) +---@field public neutral number このモデルパーツ、回転軸の中立の回転位置(度) +---@field public max number このモデルパーツ、回転軸の絶対的な回転の最大値(度) +---@field public sneakOffset? number スニーク時にこのモデルパーツの回転に加えられるオフセット値 +---@field public headRotMultiplayer? number 頭の縦方向の回転と共にこのモデルパーツの回転に加えられる値の倍率 +---@field public headX? BlueArchiveCharacter.PhysicFactorData 頭を基準とした、前後方向移動によるモデルパーツの回転データ +---@field public headZ? BlueArchiveCharacter.PhysicFactorData 頭を基準とした、左右方向移動によるモデルパーツの回転データ +---@field public headRot? BlueArchiveCharacter.PhysicFactorData 頭の回転によるによるモデルパーツの回転データ +---@field public bodyX? BlueArchiveCharacter.PhysicFactorData 体を基準とした、前後方向移動によるモデルパーツの回転データ +---@field public bodyY? BlueArchiveCharacter.PhysicFactorData 体を基準とした、上下方向移動によるモデルパーツの回転データ +---@field public bodyZ? BlueArchiveCharacter.PhysicFactorData 体を基準とした、左右方向移動によるモデルパーツの回転データ +---@field public bodyRot? BlueArchiveCharacter.PhysicFactorData 体の回転によるによるモデルパーツの回転データ + +---@class (exact) BlueArchiveCharacter.PhysicFactorData 物理演算を働かせる要因を定義するデータセット +---@field public multiplayer number この回転事象がモデルパーツに与える回転の倍率 +---@field public min number この回転事象がモデルパーツに与える回転の最小値 +---@field public max number この回転事象がモデルパーツに与える回転の最大値 + +---@class (exact) BlueArchiveCharacter.PhysicCallbacks 物理演算のコールバック関数のセット +---@field public onPhysicPerformed? fun(self: BlueArchiveCharacter, model: ModelPart) 物理演算処理後に実行されるコールバック関数(省略可)。ここでモデルパーツの向きを上書きできる。 + +---@class (exact) BlueArchiveCharacter.DataSyncCallbacks データ同期のコールバック関数のセット +---@field public onDataSynced? fun(self: BlueArchiveCharacter) データが同期されたときに実行させるコールバック関数。ホスト上では実行されない。 + +--[[ ******************************** ]] + +---@class (exact) BlueArchiveCharacter.LocaleStringSet ロケール文字列のセット +---@field public en_us string 英語(米国) +---@field public ja_jp string 日本語 + +---@class (exact) BlueArchiveCharacter.MonthDaySet 日月のデータセット +---@field public month integer 月 +---@field public day integer 日 + +---@class (exact) BlueArchiveCharacter.Vector3RightLeftSet 左右で別々にVector3が定義できるデータセット +---@field public right? Vector3 右 +---@field public left? Vector3 左 + +BlueArchiveCharacter = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return BlueArchiveCharacter + new = function (parent) + ---@type BlueArchiveCharacter + local instance = Avatar.instantiate(BlueArchiveCharacter, AvatarModule, parent) + + instance.basic = { + firstName = { + en_us = "Shiroko"; + ja_jp = "シロコ"; + }; + + lastName = { + en_us = "Sunaokami"; + ja_jp = "砂狼"; + }; + + clubName = { + en_us = "Countermeasure Council"; + ja_jp = "対策委員会"; + }; + + birth = { + month = 5; + day = 16; + }; + } + + instance.faceParts = { + rightEye = { + NORMAL = vectors.vec2(0, 0); --必須 + SURPRISED = vectors.vec2(2, 0); --必須 + TIRED = vectors.vec2(4, 0); --必須 + CLOSED = vectors.vec2(6, 0); --必須 + CLOSED2 = vectors.vec2(7, 0); + HALF = vectors.vec2(8, 0); + ANGRY = vectors.vec2(0, 1); + CENTER = vectors.vec2(2, 1); + NARROW_CENTER = vectors.vec2(3, 1); + NARROW_ANGRY_CENTER = vectors.vec2(5, 1); + NARROW_ANGRY = vectors.vec2(8, 1); + }; + + leftEye = { + NORMAL = vectors.vec2(0, 0); --必須 + SURPRISED = vectors.vec2(2, 0); --必須 + TIRED = vectors.vec2(4, 0); --必須 + CLOSED = vectors.vec2(5, 0); --必須 + CLOSED2 = vectors.vec2(6, 0); + HALF = vectors.vec2(8, 0); + ANGRY = vectors.vec2(0, 1); + NARROW = vectors.vec2(3, 1); + NARROW_ANGRY = vectors.vec2(5, 1); + CENTER = vectors.vec2(6, 1); + NARROW_ANGRY_INVERTED = vectors.vec2(8, 1); + INVERTED = vectors.vec2(-1, 2); + ANGRY_INVERTED = vectors.vec2(0, 2); + }; + + mouth = { + TRIANGLE = vectors.vec2(1, 0); + ANGRY = vectors.vec2(2, 0); + CLOSED = vectors.vec2(3, 0); + CLOSED2 = vectors.vec2(0, 1); + }; + } + + instance.arms = { + callbacks = { + onArmStateChanged = function (self, right, left) + if self.parent.drone ~= nil and self.parent.bicycle then + if left == 2 and right == 1 then + if self.parent.drone.dronePosition ~= "NONE" then + return {right = 1, left = 4} + elseif self.parent.bicycle.bicycleEnabled then + return {right = 7, left = 6} + end + elseif left == 1 and right == 2 then + if self.parent.drone.dronePosition ~= "NONE" then + return {right = 4, left = 1} + elseif self.parent.bicycle.bicycleEnabled then + return {right = 6, left = 7} + end + elseif left == 0 and right == 0 then + if self.parent.drone.dronePosition == "RIGHT" then + return {right = 5, left = 4} + elseif self.parent.drone.dronePosition == "LEFT" then + return {right = 4, left = 5} + elseif self.parent.bicycle.bicycleEnabled then + return {right = 6, left = 6} + end + end + end + end; + + onAdditionalRightArmProcess = function (self, state) + if state == 1 then + events.RENDER:register(function (_, context) + if self.parent.drone ~= nil then + local isLeftHanded = player:isLeftHanded() + if self.parent.drone.dronePosition == "RIGHT" and isLeftHanded then + local isSwingingArm = player:isSwingingArm() and isLeftHanded + models.models.main.Avatar.UpperBody.Arms.RightArm:setParentType(context == "FIRST_PERSON" and "RightArm" or (isSwingingArm and "LeftArm" or "Body")) + if isSwingingArm then + models.models.main.Avatar.UpperBody.Arms.RightArm:setRot() + end + end + end + end, "right_arm_render") + elseif state == 2 then + events.TICK:register(function () + if self.parent.bicycle.bicycleEnabled and animations["models.main"]["bicycle_idle"]:getTime() * 4 > 0 then + self.parent.arms:setArmState(6, nil) + end + end, "right_arm_tick") + elseif state == 4 then + --ドローンに掴まる腕 + events.RENDER:register(function (_, context) + models.models.main.Avatar.UpperBody.Arms.RightArm:setParentType(context == "FIRST_PERSON" and "RightArm" or "Body") + end, "right_arm_render") + elseif state == 5 then + --ドローンぶら下がり + local isHoldingItem = false + events.TICK:register(function () + self.parent.arms:processArmWingCount() + isHoldingItem = (player:isLeftHanded() and player:getHeldItem(true).id or player:getHeldItem(false).id) ~= "minecraft:air" + end, "right_arm_tick") + events.RENDER:register(function (delta, context) + local isLeftHanded = player:isLeftHanded() + local activeHand = player:getActiveHand() + local isUsingSpyglass = player:getActiveItem().id == "minecraft:spyglass" and ((activeHand == "MAIN_HAND" and not isLeftHanded) or (activeHand == "OFF_HAND" and isLeftHanded)) + local isSwingingArm = (player:isSwingingArm() and not isLeftHanded) or isUsingSpyglass + models.models.main.Avatar.UpperBody.Arms.RightArm:setParentType((context == "FIRST_PERSON" or isSwingingArm) and "RightArm" or "Body") + models.models.main.Avatar.UpperBody.Arms.RightArm:setRot(isSwingingArm and vectors.vec3((isHoldingItem and not isUsingSpyglass) and 20 or 0, 0, 0) or vectors.vec3(isHoldingItem and 20 or 0, 0, 10 + math.sin((self.parent.arms.swingCount + delta) / 100 * math.pi * 2) * -2.5)) + end, "right_arm_render") + elseif state == 6 then + --自転車 + events.TICK:register(function () + self.parent.arms:processArmWingCount() + if animations["models.main"]["bicycle_idle"]:getTime() * 4 == 0 then + self.parent.arms:setArmState(Gun.CurrentGunPosition == "LEFT" and 2 or 8, nil) + end + end, "right_arm_tick") + events.RENDER:register(function (delta, context) + local isLeftHanded = player:isLeftHanded() + local activeHand = player:getActiveHand() + local isUsingSpyglass = player:getActiveItem().id == "minecraft:spyglass" and ((activeHand == "MAIN_HAND" and not isLeftHanded) or (activeHand == "OFF_HAND" and isLeftHanded)) + local isSwingingArm = (player:isSwingingArm() and not isLeftHanded) or isUsingSpyglass + models.models.main.Avatar.UpperBody.Arms.RightArm:setParentType((context == "FIRST_PERSON" or isSwingingArm) and "RightArm" or "Body") + local bicycleIdleFactor = 1 - animations["models.main"]["bicycle_idle"]:getTime() * 4 + local currentHandleRot = (self.parent.bicycle.handleRot - self.parent.bicycle.handleRotPrev) * delta + self.parent.bicycle.handleRot + models.models.main.Avatar.UpperBody.Arms.RightArm:setRot(isSwingingArm and vectors.vec3(isUsingSpyglass and 40 or 20, 0, 0) or vectors.vec3(50 * (1 - bicycleIdleFactor) + 20, 8 * (1 - bicycleIdleFactor) + 8 * (currentHandleRot / 15), 0)) + end, "right_arm_render") + elseif state == 7 then + --自転車で銃を持っているとき + events.TICK:register(function () + self.parent.arms:processArmWingCount() + if player:isSwingingArm() and not player:isLeftHanded() then + models.models.main.Avatar.UpperBody.Arms.RightArm:setParentType("RightArm") + else + models.models.main.Avatar.UpperBody.Arms.RightArm:setParentType("Body") + end + if player:getActiveItem().id == "minecraft:crossbow" then + self.parent.arms:setArmState(3, 3) + end + end, "right_arm_tick") + events.RENDER:register(function (delta) + local headRot = vanilla_model.HEAD:getOriginRot() + local bicycleIdleFactor = 1 - animations["models.main"]["bicycle_idle"]:getTime() * 4 + models.models.main.Avatar.UpperBody.Arms.RightArm:setRot(player:isSwingingArm() and not player:isLeftHanded() and vectors.vec3(60, 0, 0) or vectors.vec3(headRot.x + math.sin((self.parent.arms.swingCount + delta) / 100 * math.pi * 2) * 2.5 + (1 - bicycleIdleFactor) * 35 + 105, headRot.y, 0)) + end, "right_arm_render") + elseif state == 8 then + --自転車で待機中 + events.TICK:register(function () + if animations["models.main"]["bicycle_idle"]:getTime() * 4 > 0 then + self.parent.arms:setArmState(6, nil) + end + end, "right_arm_tick") + end + end; + + onAdditionalLeftArmProcess = function (self, state) + if state == 1 then + events.RENDER:register(function (_, context) + if self.parent.drone ~= nil then + local isLeftHanded = player:isLeftHanded() + if self.parent.drone.dronePosition == "LEFT" and not isLeftHanded then + local isSwingingArm = player:isSwingingArm() and not isLeftHanded + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType(context == "FIRST_PERSON" and "LeftArm" or (isSwingingArm and "RightArm" or "Body")) + if isSwingingArm then + models.models.main.Avatar.UpperBody.Arms.LeftArm:setRot() + end + end + end + end, "left_arm_render") + elseif state == 2 then + events.TICK:register(function () + if self.parent.bicycle.bicycleEnabled and animations["models.main"]["bicycle_idle"]:getTime() * 4 > 0 then + self.parent.arms:setArmState(nil, 6) + end + end, "left_arm_tick") + elseif state == 4 then + --ドローンに掴まる腕 + events.RENDER:register(function (_, context) + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType(context == "FIRST_PERSON" and "LeftArm" or "Body") + end, "left_arm_render") + elseif state == 5 then + --ドローンぶら下がり + local isHoldingItem = false + events.TICK:register(function () + self.parent.arms:processArmWingCount() + isHoldingItem = (player:isLeftHanded() and player:getHeldItem(false).id or player:getHeldItem(true).id) ~= "minecraft:air" + end, "left_arm_tick") + events.RENDER:register(function (delta, context) + local isLeftHanded = player:isLeftHanded() + local activeHand = player:getActiveHand() + local isUsingSpyglass = player:getActiveItem().id == "minecraft:spyglass" and ((activeHand == "MAIN_HAND" and isLeftHanded) or (activeHand == "OFF_HAND" and not isLeftHanded)) + local isSwingingArm = (player:isSwingingArm() and isLeftHanded) or isUsingSpyglass + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType((context == "FIRST_PERSON" or isSwingingArm) and "LeftArm" or "Body") + models.models.main.Avatar.UpperBody.Arms.LeftArm:setRot(isSwingingArm and vectors.vec3((isHoldingItem and not isUsingSpyglass) and 20 or 0, 0, 0) or vectors.vec3(isHoldingItem and 20 or 0, 0, -10 + math.sin((self.parent.arms.swingCount + delta) / 100 * math.pi * 2) * -2.5)) + end, "left_arm_render") + elseif state == 6 then + --自転車 + events.TICK:register(function () + self.parent.arms:processArmWingCount() + if animations["models.main"]["bicycle_idle"]:getTime() * 4 == 0 then + self.parent.arms:setArmState(nil, Gun.CurrentGunPosition == "RIGHT" and 2 or 8) + end + end, "left_arm_tick") + events.RENDER:register(function (delta, context) + local isLeftHanded = player:isLeftHanded() + local activeHand = player:getActiveHand() + local isUsingSpyglass = player:getActiveItem().id == "minecraft:spyglass" and ((activeHand == "MAIN_HAND" and isLeftHanded) or (activeHand == "OFF_HAND" and not isLeftHanded)) + local isSwingingArm = (player:isSwingingArm() and isLeftHanded) or isUsingSpyglass + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType((context == "FIRST_PERSON" or isSwingingArm) and "LeftArm" or "Body") + local bicycleIdleFactor = 1 - animations["models.main"]["bicycle_idle"]:getTime() * 4 + local currentHandleRot = (self.parent.bicycle.handleRot - self.parent.bicycle.handleRotPrev) * delta + self.parent.bicycle.handleRot + models.models.main.Avatar.UpperBody.Arms.LeftArm:setRot(isSwingingArm and vectors.vec3(isUsingSpyglass and 40 or 20, 0, 0) or vectors.vec3(50 * (1 - bicycleIdleFactor) + 20, -8 * (1 - bicycleIdleFactor) + 8 * (currentHandleRot / 15), 0)) + end, "left_arm_render") + elseif state == 7 then + --自転車で銃を持っているとき + events.TICK:register(function () + self.parent.arms:processArmWingCount() + if player:isSwingingArm() and player:isLeftHanded() then + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType("LeftArm") + else + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType("Body") + end + if player:getActiveItem().id == "minecraft:crossbow" then + self.parent.arms:setArmState(3, 3) + end + end, "left_arm_tick") + events.RENDER:register(function (delta) + local headRot = vanilla_model.HEAD:getOriginRot() + local bicycleIdleFactor = 1 - animations["models.main"]["bicycle_idle"]:getTime() * 4 + models.models.main.Avatar.UpperBody.Arms.LeftArm:setRot(player:isSwingingArm() and player:isLeftHanded() and vectors.vec3(60, 0, 0) or vectors.vec3(headRot.x + math.sin((self.parent.arms.swingCount + delta) / 100 * math.pi * 2) * -2.5 + (1 - bicycleIdleFactor) * 35 + 105, headRot.y, 0)) + end, "left_arm_render") + elseif state == 8 then + --自転車で待機中 + events.TICK:register(function () + if animations["models.main"]["bicycle_idle"]:getTime() * 4 > 0 then + self.parent.arms:setArmState(nil, 6) + end + end, "left_arm_tick") + end + end; + }; + } + + instance.skirt = { + skirtModels = {models.models.main.Avatar.UpperBody.Body.Skirt}; + } + + instance.gun = { + scale = 1.4; + + gunPosition = { + hold = { + type = "NORMAL"; + + firstPersonPos = { + right = vectors.vec3(-1.5, 0, -4); + left = vectors.vec3(1.5, 0, -4); + }; + + thirdPersonPos = { + right = vectors.vec3(-1.5, -0.5, -3); + left = vectors.vec3(1.5, -0.5, -3); + }; + }; + + put = { + type = "BODY"; + + pos = { + right = vectors.vec3(0, 2, 2.75); + left = vectors.vec3(0, 2, 2.75); + }; + + rot = { + right = vectors.vec3(-135, -90, 0); + left = vectors.vec3(-135, 90, 0); + }; + }; + }; + + sound = { + name = "minecraft:entity.firework_rocket.blast"; + pitch = 1; + }; + } + + instance.placementObjects = { + + } + + instance.exSkill = { + { + name = { + en_us = "Summon Drone: Fire Support"; + ja_jp = "ドローン召喚:火力支援"; + }; + + formationType = "STRIKER"; + + models = {models.models.ex_skill_1.Drone}; + + animations = {"main", "ex_skill_1"}; + + camera = { + start = { + rot = vectors.vec3(0, 180, 0); + pos = vectors.vec3(7, 27, -10); + }; + + fin = { + rot = vectors.vec3(-15, 210, 5); + pos = vectors.vec3(-14, 7, -30); + }; + }; + + callbacks = { + onPreAnimation = function (self) + models.models.ex_skill_1.Drone.LauncherRight.ShineEffects:setColor(client:hasShaderPack() and vectors.vec3(0.5, 1, 1) or vectors.vec3(1, 1, 1)) + self.parent.faceParts:setEmotion("CLOSED2", "CLOSED2", "TRIANGLE", 20, true) + end; + + onAnimationTick = function (self, tick) + if tick == 20 then + self.parent.faceParts:setEmotion("HALF", "HALF", "TRIANGLE", 5, true) + elseif tick == 25 then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "TRIANGLE", 10, true) + elseif tick == 35 then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "ANGRY", 10, true) + elseif tick == 40 then + self.parent.faceParts:setEmotion("ANGRY", "ANGRY", "ANGRY", 30, true) + elseif tick == 41 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.levelup"), player:getPos(), 0.5, 1.5) + end + end; + }; + }; + + { + name = { + en_us = "Big catch"; + ja_jp = "大物だ"; + }; + + formationType = "SPECIAL"; + + models = {models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.FishingRod}; + + animations = {"main", "ex_skill_2"}; + + camera = { + start = { + rot = vectors.vec3(0, 160, 0); + pos = vectors.vec3(13, 34, -33); + }; + + fin = { + rot = vectors.vec3(-10, 160, 0); + pos = vectors.vec3(-12, 36, -61); + }; + }; + + callbacks = { + onPreTransition = function (self) + if not self.exSkill[2].init then + models.models.ex_skill_2.UnderWater:setLight(15) + models.models.ex_skill_2.Stage.Reef:setPrimaryTexture("RESOURCE", "textures/block/stone.png") + models.models.ex_skill_2.Stage.Ocean:setPrimaryTexture("RESOURCE", "textures/block/water_still.png") + self.exSkill[2].init = true + end + models.models.ex_skill_2.Stage.Ocean:setColor(world.getBiome(player:getPos()):getWaterColor()) + models.models.ex_skill_2.Stage:setVisible(true) + models.models.main.Avatar:setPos(0, 8, 0) + end; + + onPreAnimation = function (self) + models.models.main.Avatar:setPos() + self.parent.faceParts:setEmotion("CENTER", "NORMAL", "CLOSED", 107, true) + if host:isHost() then + local windowSize = client:getWindowSize() + models.models.ex_skill_2.UnderWater.ForCameraOffset.Background:setScale(vectors.vec3(windowSize.x / windowSize.y, 1, 1):scale(23)) + local bodyYaw = player:getBodyYaw() + local backgroundPos = vectors.rotateAroundAxis(bodyYaw + 180, vectors.rotateAroundAxis(bodyYaw * -1 + 180, self.exSkill[2].camera.start.pos, 0, 1, 0):add(client:getCameraDir()), 0, 1, 0):scale(16 / 0.9375) + models.models.ex_skill_2.UnderWater:setOffsetPivot(backgroundPos) + models.models.ex_skill_2.UnderWater.ForCameraOffset:setPos(backgroundPos) + events.RENDER:register(function (_, context) + models.models.ex_skill_2.UnderWater:setVisible(context == "RENDER") + end, "ex_skill_2_render") + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.bubble_column.upwards_inside"), player:getPos(), 1, 0.5) + end + end; + + onAnimationTick = function (self, tick) + if tick <= 28 and host:isHost() then + local finPos = self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_2.UnderWater.ForCameraOffset.Tuna.RearBody.TailFin) + for _ = 1, 5 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:underwater"), finPos:copy():add(math.random() * 0.1 - 0.05, math.random() * 0.1 - 0.05, 0)):setScale(0.2) + end + elseif tick >= 37 and tick < 73 and host:isHost() then + local headPos = self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_2.UnderWater.ForCameraOffset.Tuna.FrontBody.Head) + local tunaRotY = models.models.ex_skill_2.UnderWater.ForCameraOffset.Tuna:getAnimRot().y + local cameraRotY = renderer:getCameraRot().y + local particleCount = math.max(tick - 52, 0) + for i = 0, 2 * math.pi, math.pi / 6 do + particles:newParticle(self.parent.compatibilityUtils.getDustParticleId(vectors.vec3(100, 1000000000, 1000000000), particleCount / 27 + 1), vectors.rotateAroundAxis(tunaRotY + cameraRotY, 0, math.cos(i) * 0.3, math.sin(i) * 0.3, 0, 1, 0):add(headPos)):setVelocity(vectors.rotateAroundAxis(tunaRotY - cameraRotY - 90, 0, 0, 0.1, 0, 1, 0)):setLifetime(20) + end + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.squid.ambient"), player:getPos(), 1, 0.75) + elseif tick == 78 and host:isHost() then + events.RENDER:remove("ex_skill_2_render") + models.models.ex_skill_2.UnderWater:setVisible(false) + elseif tick == 107 then + self.parent.faceParts:setEmotion("NARROW_CENTER", "NARROW", "CLOSED", 27, true) + elseif tick == 134 then + self.parent.faceParts:setEmotion("NARROW_ANGRY_CENTER", "NARROW_ANGRY", "TRIANGLE", 16, true) + elseif tick == 139 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.levelup"), player:getPos(), 1, 1.5) + if host:isHost() then + local windowSize = client:getWindowSize() + models.models.ex_skill_2.Flash.ForCameraOffset2.Background:setScale(vectors.vec3(windowSize.x / windowSize.y, 1, 1):scale(22.5)) + local backgroundPos = vectors.rotateAroundAxis(player:getBodyYaw() + 180, renderer:getCameraOffsetPivot():copy():add(0, 1.62, 0):add(client:getCameraDir():copy()), 0, 1, 0):scale(16 / 0.9375) + models.models.ex_skill_2.Flash:setOffsetPivot(backgroundPos) + models.models.ex_skill_2.Flash.ForCameraOffset2:setPos(backgroundPos) + models.models.ex_skill_2.Flash:setVisible(true) + end + elseif tick == 148 and host:isHost() then + models.models.ex_skill_2.Flash:setVisible(false) + elseif tick == 150 then + self.parent.faceParts:setEmotion("CLOSED2", "CLOSED2", "CLOSED", 8, true) + if host:isHost() then + self.parent.compatibilityUtils.setPostEffect("phosphor") + end + elseif tick == 157 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.attack.sweep"), player:getPos(), 0.5, 2) + elseif tick == 158 then + self.parent.faceParts:setEmotion("CENTER", "NORMAL", "CLOSED", 48, true) + elseif tick >= 160 and tick <= 170 and host:isHost() then + local cameraPos = renderer:getCameraOffsetPivot() + for i = 0, 8 do + particles:newParticle(self.parent.compatibilityUtils.getDustParticleId(vectors.vec3(100, 1000000000, 1000000000), 4), cameraPos:copy():add(player:getPos()):add((i % 3 - 1) * 0.25, 1.25, (math.floor(i / 3) - 1) * 0.25)):setLifetime(5):setVelocity(0, 0.25, 0) + end + if tick == 160 then + local playerPos = player:getPos() + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.bucket.empty"), playerPos, 1, 0.25) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.bucket.empty"), playerPos, 1, 0.5) + elseif tick == 170 then + self.parent.compatibilityUtils.setPostEffect() + end + elseif tick == 175 then + models.models.ex_skill_2.UnderWater.ForCameraOffset.Tuna:moveTo(models.models.ex_skill_2) + local playerPos = player:getPos() + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.generic.splash"), playerPos, 1, 0.5) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:ambient.underwater.exit"), playerPos, 0.5, 0.5) + elseif tick == 180 then + local anchorPos = self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_2.Tuna) + for _ = 1, 50 do + particles:newParticle(self.parent.compatibilityUtils.getDustParticleId(vectors.vec3(100, 1000000000, 1000000000), 3), anchorPos:copy()):setVelocity(vectors.rotateAroundAxis(player:getBodyYaw() * -1, math.random() * 0.2, math.random() * 0.25 + 0.125, math.random() * 0.2 - 0.1, 0, 1, 0)):setGravity(0.5):setLifetime(25) + end + end + if tick % 35 == 24 and tick <= 160 then + local anchorPos = self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_2.Stage.Reef.ExSkill2ParticleAnchor) + local bodyYaw = player:getBodyYaw() + for _ = 1, 50 do + local particleOffset = math.random() + particles:newParticle(self.parent.compatibilityUtils.getDustParticleId(vectors.vec3(1000000000, 1000000000, 1000000000), 5), anchorPos:copy():add(vectors.rotateAroundAxis(bodyYaw * -1, particleOffset - 0.5, 0, 0, 0, 1, 0))):setVelocity(vectors.rotateAroundAxis(bodyYaw * -1, particleOffset * 0.5 - 0.25, math.random() * 0.5 + 0.25, math.random() * 0.25 - 0.125, 0, 1, 0)):setGravity(1):setLifetime(40) + end + if tick >= 80 or not host:isHost() then + local playerPos = player:getPos() + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.bucket.empty"), playerPos, 1, 0.25) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.bucket.empty"), playerPos, 1, 0.5) + end + end + if tick <= 139 or tick % 2 == 0 then + local currentFrame = models.models.ex_skill_2.Stage.Ocean:getUVPixels().y / 16 + if currentFrame < 31 then + models.models.ex_skill_2.Stage.Ocean:setUVPixels(0, (currentFrame + 1) * 16) + else + models.models.ex_skill_2.Stage.Ocean:setUVPixels() + end + end + if (tick >= 83 and tick < 110) or (tick >= 110 and tick <= 130 and tick % 2 == 0) then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.dispenser.fail"), player:getPos(), 0.5, 5) + end + end; + + onPostAnimation = function (self, forcedStop) + if models.models.ex_skill_2.Tuna ~= nil then + models.models.ex_skill_2.Tuna:moveTo(models.models.ex_skill_2.UnderWater.ForCameraOffset) + end + if forcedStop and host:isHost() then + events.RENDER:remove("ex_skill_2_render") + for _, modelPart in ipairs({models.models.ex_skill_2.UnderWater, models.models.ex_skill_2.Flash}) do + modelPart:setVisible(false) + end + self.parent.compatibilityUtils.setPostEffect() + elseif not forcedStop then + models.models.main.Avatar:setPos(0, 8, 0) + end + end; + + onPostTransition = function () + models.models.ex_skill_2.Stage:setVisible(false) + models.models.main.Avatar:setPos() + end; + }; + + ---このExスキルの初期化処理が行われたかどうか + ---@type boolean + init = false; + }; + + { + name = { + en_us = "Ride & Grenade"; + ja_jp = "ライド&グレネード"; + }; + + formationType = "STRIKER"; + + models = {models.models.main.Avatar.LowerBody.Bicycle}; + + animations = {"main", "ex_skill_3"}; + + camera = { + start = { + rot = vectors.vec3(60, 0, 0); + pos = vectors.vec3(-71, 28, 0); + }; + + fin = { + rot = vectors.vec3(0, 40, -25); + pos = vectors.vec3(-119, 27, -938.5); + }; + }; + + callbacks = { + onPreAnimation = function (self) + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "CLOSED2", 40, true) + self.exSkill[3].windSound = sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.elytra.flying"), player:getPos(), 0.05, 2) + end; + + onAnimationTick = function (self, tick) + if tick == 40 then + self.parent.faceParts:setEmotion("NORMAL", "INVERTED", "CLOSED2", 7, true) + elseif tick == 27 and host:isHost() then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.attack.sweep"), self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar), 0.1, 0.75) + elseif tick == 47 then + self.parent.faceParts:setEmotion("NARROW_ANGRY", "NARROW_ANGRY_INVERTED", "TRIANGLE", 35, true) + elseif tick >= 58 and tick < 80 then + if tick == 58 then + self.exSkill[3].windSound:stop() + self.exSkill[3].windSound = nil + end + local bicycleYaw = models.models.main.Avatar:getAnimRot().y + player:getBodyYaw() * -1 + local bicyclePos = self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.LowerBody.Bicycle) + local frontWheelPos = vectors.rotateAroundAxis(bicycleYaw, 0, 0, 0.5625, 0, 1, 0):add(bicyclePos) + local backWheelPos = vectors.rotateAroundAxis(bicycleYaw, 0, 0, -0.5625, 0, 1, 0):add(bicyclePos) + for _ = 1, 5 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:electric_spark"), frontWheelPos):setColor(0.973, 0.714, 0.29):setScale(0.5):setVelocity(math.random() * 0.5 - 0.25, math.random() * 0.25, math.random() * 0.5 - 0.25) + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:electric_spark"), backWheelPos):setColor(0.973, 0.714, 0.29):setScale(0.5):setVelocity(math.random() * 0.5 - 0.25, math.random() * 0.25, math.random() * 0.5 - 0.25) + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:campfire_cosy_smoke"), frontWheelPos):setVelocity(math.random() * 0.2 - 0.1, 0.015, math.random() * 0.2 - 0.1) + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:campfire_cosy_smoke"), backWheelPos):setVelocity(math.random() * 0.2 - 0.1, 0.015, math.random() * 0.2 - 0.1) + end + local particleBlock = world.getBlockState(bicyclePos:copy():sub(0, 0.5, 0)).id + if particleBlock ~= "minecraft:air" and particleBlock ~= "minecraft:void_air" then + for _ = 1, 5 do + particles:newParticle(self.parent.compatibilityUtils.getBlockParticleId(particleBlock), frontWheelPos) + particles:newParticle(self.parent.compatibilityUtils.getBlockParticleId(particleBlock), backWheelPos) + end + end + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.gravel.hit"), bicyclePos, 0.1, 0.5) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.grindstone.use"), bicyclePos, 0.1, 3) + elseif tick == 82 then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "TRIANGLE", 15, true) + models.models.main.Avatar.LowerBody.Bicycle.Shaft.Shaft8.WaterBottle:moveTo(models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom) + elseif tick == 97 then + self.parent.faceParts:setEmotion("CLOSED2", "CLOSED2", "TRIANGLE", 4, true) + elseif tick == 101 then + self.parent.faceParts:setEmotion("NARROW_ANGRY", "NARROW_ANGRY_INVERTED", "CLOSED2", 26, true) + elseif tick == 109 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.attack.sweep"), self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar), 0.25, 0.5) + if host:isHost() then + local windowSize = client:getWindowSize() + models.models.ex_skill_3.CameraBackground.Background:setScale(vectors.vec3(windowSize.x / windowSize.y, 1, 1):scale(33.5)) + local backgroundPos = vectors.rotateAroundAxis(player:getBodyYaw() + 180, renderer:getCameraOffsetPivot():copy():add(0, 1.62, 0):add(client:getCameraDir():copy():scale(1.5)), 0, 1, 0):scale(16 / 0.9375) + models.models.ex_skill_3.CameraBackground:setOffsetPivot(backgroundPos) + models.models.ex_skill_3.CameraBackground.Background:setPos(backgroundPos) + models.models.ex_skill_3.CameraBackground:setVisible(true) + end + end + if tick < 58 then + models.models.main.Avatar.LowerBody.Bicycle.Wheels.Chain:setUVPixels(tick % 2, 0) + self.exSkill[3].windSound:setVolume(math.clamp(16 - client:getCameraPos():sub(self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar)):length(), 0, 8) / 160) + end + if tick < 69 then + local bodyYaw = player:getBodyYaw() + local avatarPos = self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar) + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:cloud"), vectors.rotateAroundAxis(bodyYaw * -1, math.random() * 8 - 4, math.random() * 4, 10, 0, 1, 0):add(avatarPos)):setColor(1, 1, 1, 0.25):setVelocity(vectors.rotateAroundAxis(bodyYaw * -1, 0, 0, -0.5, 0, 1, 0)) + end + end; + + onPostAnimation = function () + if models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.WaterBottle ~= nil then + models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.WaterBottle:moveTo(models.models.main.Avatar.LowerBody.Bicycle.Shaft.Shaft8) + end + if host:isHost() then + models.models.ex_skill_3.CameraBackground:setVisible(false) + end + end; + }; + + ---風切り音 + ---@type Sound|nil + windSound = nil; + }; + } + + instance.costume = { + costumes = { + { + name = "default"; + + displayName = { + en_us = "Default"; + ja_jp = "デフォルト"; + }; + + exSkill = 1; + }; + + { + name = "masked"; + + displayName = { + en_us = "Masked Swimsuit Group"; + ja_jp = "覆面水着団"; + }; + + exSkill = 1; + }; + + { + name = "swimsuit"; + + displayName = { + en_us = "Swimsuit"; + ja_jp = "水着"; + }; + + exSkill = 2; + }; + + { + name = "riding"; + + displayName = { + en_us = "Riding"; + ja_jp = "ライディング"; + }; + + exSkill = 3; + }; + }; + + callbacks = { + onChange = function (self, costumeId) + if costumeId == "RIDING" then + --ライディング + self.parent.costume.setCostumeTextureOffset(2) + models.models.main.Avatar.UpperBody.Body.Hairs.FrontHair:setPos(0, 0, 0.25) + models.models.main.Avatar.UpperBody.Body.Hairs.BackHair:setPos(0, 0, -0.25) + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Body.CRidingB, models.models.main.Avatar.UpperBody.Arms.RightArm.CRidingRA, models.models.main.Avatar.UpperBody.Arms.LeftArm.CRidingLA}) do + modelPart:setVisible(true) + end + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Body.Scarf, models.models.main.Avatar.UpperBody.Body.Skirt, models.models.main.Avatar.UpperBody.Body.IDCard}) do + modelPart:setVisible(false) + end + elseif costumeId == "MASKED" then + --覆面水着団 + for _, modelPart in ipairs({models.models.main.Avatar.Head.CMaskedH}) do + modelPart:setVisible(true) + end + for _, modelPart in ipairs({models.models.main.Avatar.Head.HairPin, models.models.main.Avatar.Head.HairEnds, models.models.main.Avatar.UpperBody.Body.Hairs}) do + modelPart:setVisible(false) + end + elseif costumeId == "SWIMSUIT" then + --水着 + self.parent.costume.setCostumeTextureOffset(1) + for _, modelPart in ipairs({models.models.main.Avatar.Head.Head, models.models.main.Avatar.Head.HatLayer}) do + modelPart:setUVPixels(0, 16) + end + for _, modelPart in ipairs({models.models.main.Avatar.Head.HairEnds, models.models.main.Avatar.UpperBody.Body.Scarf, models.models.main.Avatar.UpperBody.Body.Skirt, models.models.main.Avatar.UpperBody.Body.Hairs, models.models.main.Avatar.UpperBody.Body.IDCard}) do + modelPart:setVisible(false) + end + models.models.main.Avatar.Head.CSwimsuitH:setVisible(true) + end + end; + + onReset = function (self) + self.parent.costume.setCostumeTextureOffset(0) + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Body.Hairs.FrontHair, models.models.main.Avatar.UpperBody.Body.Hairs.BackHair}) do + modelPart:setPos() + end + for _, modelPart in ipairs({models.models.main.Avatar.Head.Head, models.models.main.Avatar.Head.HatLayer}) do + modelPart:setUVPixels() + end + for _, modelPart in ipairs({models.models.main.Avatar.Head.CMaskedH, models.models.main.Avatar.Head.CSwimsuitH, models.models.main.Avatar.UpperBody.Body.CRidingB, models.models.main.Avatar.UpperBody.Arms.RightArm.CRidingRA, models.models.main.Avatar.UpperBody.Arms.LeftArm.CRidingLA}) do + modelPart:setVisible(false) + end + for _, modelPart in ipairs({models.models.main.Avatar.Head.HairPin, models.models.main.Avatar.Head.HairEnds, models.models.main.Avatar.UpperBody.Body.Hairs, models.models.main.Avatar.UpperBody.Body.Scarf, models.models.main.Avatar.UpperBody.Body.IDCard, models.models.main.Avatar.UpperBody.Body.Scarf.Scarf2, models.models.main.Avatar.UpperBody.Body.Scarf.Scarf3, models.models.main.Avatar.UpperBody.Body.Scarf.Scarf4, models.models.main.Avatar.UpperBody.Body.Skirt}) do + modelPart:setVisible(true) + end + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Body.Hairs.FrontHair, models.models.main.Avatar.UpperBody.Body.Hairs.BackHair}) do + modelPart:setPos() + end + end; + + onArmorChange = function (self, parts, isVisible) + if parts == "HELMET" then + if isVisible then + models.models.main.Avatar.Head.CSwimsuitH:setVisible(false) + elseif self.parent.costume.currentCostume == 4 then + models.models.main.Avatar.Head.CSwimsuitH:setVisible(true) + end + elseif parts == "CHEST_PLATE" then + if isVisible then + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Body.Scarf.Scarf2, models.models.main.Avatar.UpperBody.Body.Scarf.Scarf3, models.models.main.Avatar.UpperBody.Body.Scarf.Scarf4}) do + modelPart:setVisible(false) + end + models.models.main.Avatar.UpperBody.Body.Hairs.FrontHair:setPos(0, 0, -0.75) + models.models.main.Avatar.UpperBody.Body.Hairs.BackHair:setPos(0, 0, 0.75) + else + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Body.Scarf.Scarf2, models.models.main.Avatar.UpperBody.Body.Scarf.Scarf3, models.models.main.Avatar.UpperBody.Body.Scarf.Scarf4}) do + modelPart:setVisible(true) + end + if self.parent.costume.currentCostume == 2 then + models.models.main.Avatar.UpperBody.Body.Hairs.FrontHair:setPos(0, 0, -0.75) + models.models.main.Avatar.UpperBody.Body.Hairs.BackHair:setPos(0, 0, 0.75) + else + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Body.Hairs.FrontHair, models.models.main.Avatar.UpperBody.Body.Hairs.BackHair}) do + modelPart:setPos() + end + end + models.models.main.Avatar.UpperBody.Body.Hairs.FrontHair:setPos(0, 0, 0.25) + models.models.main.Avatar.UpperBody.Body.Hairs.BackHair:setPos(0, 0, -0.25) + end + elseif parts == "LEGGINGS" then + models.models.main.Avatar.UpperBody.Body.Skirt:setVisible(not isVisible and self.parent.costume.currentCostume <= 2) + end + end; + }; + } + + instance.bubble = { + callbacks = { + onPlay = function(self, type, duration) + if duration > 0 then + if type == "GOOD" then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "CLOSED", duration, true) + elseif type == "HEART" then + self.parent.faceParts:setEmotion("CLOSED", "CLOSED", "CLOSED", duration, true) + elseif type == "NOTE" then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "TRIANGLE", duration, true) + elseif type == "QUESTION" then + self.parent.faceParts:setEmotion("NORMAL","NORMAL", "ANGRY", duration, true) + elseif type == "SWEAT" then + if not self.parent.bicycle.isTyreBurst then + self.parent.faceParts:setEmotion("NARROW_ANGRY", "NARROW_ANGRY", "ANGRY", duration, true) + else + self.parent.faceParts:setEmotion("SURPRISED", "SURPRISED", "ANGRY", duration, true) + end + end + end + end; + + onStop = function(self, type, forcedStop) + if not forcedStop then + self.parent.faceParts:resetEmotion(); + end + end; + }; + } + + instance.headBlock = { + includeModels = {models.models.main.Avatar.UpperBody.Body.Hairs}; + + callbacks = { + onBeforeModelCopy = function () + models.models.main.Avatar.Head:setRot() + end; + }; + } + + instance.portrait = { + includeModels = {}; + + callbacks = { + onBeforeModelCopy = function () + models.models.main.Avatar.Head:setRot() + end; + }; + } + + instance.deathAnimation = { + callbacks = { + onPhase1 = function (_, dummyAvatar, costume) + dummyAvatar.Head.Ears.RightEarPivot:setRot(-49.02, -11.44, -9.77) + dummyAvatar.Head.Ears.LeftEarPivot:setRot(-49.02, 11.44, 9.77) + if costume == "DEFAULT" or costume == "MASKED" then + dummyAvatar.UpperBody.Body.Skirt:setRot(27.5, 0, 0) + end + end; + + onPhase2 = function (_, dummyAvatar, costume) + if costume == "DEFAULT" or costume == "MASKED" then + dummyAvatar.UpperBody.Body.Skirt:setRot(12.5, 0, 0) + end + end; + }; + } + + instance.actionWheel = { + isVehicleOptionEnabled = true; + } + + instance.physics = { + physicData = { + { + models = {models.models.main.Avatar.UpperBody.Body.Hairs.FrontHair}; + + x = { + vertical = { + min = 0; + neutral = 0; + max = 80; + sneakOffset = 30; + + bodyX = { + multiplayer = -80; + min = 0; + max = 80; + }; + + bodyY = { + multiplayer = -80; + min = 0; + max = 80; + }; + + bodyRot = { + multiplayer = -0.05; + min = 0; + max = 80; + }; + }; + + horizontal = { + min = 0; + neutral = 80; + max = 80; + + bodyX = { + multiplayer = -160; + min = 0; + max = 80; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.UpperBody.Body.Hairs.BackHair}; + + x = { + vertical = { + min = -80; + neutral = 0; + max = 0; + + bodyX = { + multiplayer = -80; + min = -80; + max = 0; + }; + + bodyY = { + multiplayer = 80; + min = -80; + max = 0; + }; + + bodyRot = { + multiplayer = 0.05; + min = -80; + max = 0; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.UpperBody.Body.Scarf.Scarf2}; + + x = { + vertical = { + min = 0; + neutral = 0; + max = 140; + sneakOffset = 30; + + bodyX = { + multiplayer = -160; + min = 0; + max = 90; + }; + + bodyY = { + multiplayer = -160; + min = 0; + max = 140; + }; + + bodyRot = { + multiplayer = -0.05; + min = 0; + max = 90; + }; + }; + + horizontal = { + min = 0; + neutral = 90; + max = 90; + + bodyX = { + multiplayer = -160; + min = 0; + max = 90; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.UpperBody.Body.Scarf.Scarf3}; + + x = { + vertical = { + min = 2; + neutral = 2; + max = 140; + sneakOffset = 30; + + bodyX = { + multiplayer = -160; + min = 2; + max = 90; + }; + + bodyY = { + multiplayer = -160; + min = 2; + max = 140; + }; + + bodyRot = { + multiplayer = -0.05; + min = 2; + max = 90; + }; + }; + + horizontal = { + min = 2; + neutral = 90; + max = 90; + + bodyX = { + multiplayer = -160; + min = 2; + max = 90; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.UpperBody.Body.Scarf.Scarf2.Scarf2, models.models.main.Avatar.UpperBody.Body.Scarf.Scarf3.Scarf3, models.models.main.Avatar.UpperBody.Body.Scarf.Scarf4.Scarf4}; + + z = { + vertical = { + min = -90; + neutral = 0; + max = 90; + + bodyZ = { + multiplayer = -80; + min = -90; + max = 90; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.UpperBody.Body.Scarf.Scarf4}; + + x = { + vertical = { + min = -140; + neutral = 0; + max = 0; + + bodyX = { + multiplayer = -160; + min = -90; + max = 0; + }; + + bodyY = { + multiplayer = 160; + min = -140; + max = 0; + }; + + bodyRot = { + multiplayer = 0.05; + min = -90; + max = 0; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.Head.CSwimsuitH}; + + x = { + vertical = { + min = -140; + neutral = 0; + max = 0; + + headRotMultiplayer = -1; + + bodyX = { + multiplayer = -80; + min = -90; + max = 0; + }; + + bodyY = { + multiplayer = 80; + min = -140; + max = 0; + }; + + bodyRot = { + multiplayer = 0.05; + min = -90; + max = 0; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.Head.CSwimsuitH.HairTail}; + + z = { + vertical = { + min = -90; + neutral = 0; + max = 90; + + bodyZ = { + multiplayer = -80; + min = -90; + max = 90; + }; + }; + }; + }; + }; + } + + instance.dataSync = { + syncData = { + isFlying = false; + }; + + callbacks = { + onDataSynced = function (self) + self.parent.drone.isFlying = self.dataSync.syncData.isFlying + end; + }; + } + + return instance + end; + + ---初期化関数 + ---@param self BlueArchiveCharacter + init = function (self) + AvatarModule.init(self) + + --生徒固有初期化処理 + --Player APIにアクセスする場合は、ENTITY_INIT後に実行されるようにする必要がある。 + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shiroko/scripts/character_scripts/bicycle.lua b/config/yosbr/config/figura/avatars/Shiroko/scripts/character_scripts/bicycle.lua new file mode 100644 index 0000000..6034191 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/scripts/character_scripts/bicycle.lua @@ -0,0 +1,228 @@ +---@class Bicycle : AvatarModule 自転車を制御するクラス +---@field package bicycleEnabled boolean 自転車乗りが有効かどうか +---@field package bicycleEnabledPrev boolean 前ティックに自転車乗りが有効だったかどうか +---@field package bicycleOffsetPos number 自転車のオフセット位置 +---@field package windSound Sound|nil 自転車の風切り音のインスタンス +---@field package handleRot number 現在の自転車のハンドルの角度 +---@field package handleRotPrev number 前ティックの自転車のハンドルの角度 +---@field package isBicycleRidingPrev boolean 前ティックに自転車に乗っていたかどうか +---@field package isDrinkItemHeld boolean 自転車のドリンクを持っているかどうか +---@field package isDrinkItemHeldPrev boolean 前ティックに自転車のドリンクを持っていたかどうか + +Bicycle = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Bicycle + new = function (parent) + ---@type Bicycle + local instance = Avatar.instantiate(Bicycle, AvatarModule, parent) + + instance.bicycleEnabled = false + instance.bicycleEnabledPrev = false + instance.bicycleOffsetPos = 0 + instance.handleRot = 0 + instance.handleRotPrev = 0 + instance.isBicycleRidingPrev = false + instance.isDrinkItemHeld = false + instance.isDrinkItemHeldPrev = false + + return instance + end; + + ---初期化関数 + ---@param self AvatarModule + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + local vehicle = player:getVehicle() + self.bicycleEnabled = false + if vehicle ~= nil then + local vehicleType = vehicle:getType() + local jockey = vehicle:getControllingPassenger() + if jockey ~= nil then + self.bicycleEnabled = self.parent.actionWheel.shouldReplaceVehicleModels and (vehicleType == "minecraft:horse" or vehicleType == "minecraft:donkey" or vehicleType == "minecraft:mule") and vehicle:getControllingPassenger():getName() == player:getName() + else + self.bicycleEnabled = false + end + if self.bicycleEnabled then + if vehicleType == "minecraft:horse" then + self.bicycleOffsetPos = 0 + elseif vehicleType == "minecraft:donkey" then + self.bicycleOffsetPos = 0.35 + elseif vehicleType == "minecraft:mule" then + self.bicycleOffsetPos = 0.27 + end + end + end + if self.bicycleEnabled ~= self.bicycleEnabledPrev then + if self.bicycleEnabled then + models.models.main.Avatar.LowerBody.Bicycle:setVisible(true) + renderer:setRenderVehicle(false) + for _, animationModel in ipairs({"models.main", "models.ex_skill_3"}) do + animations[animationModel]["bicycle_idle"]:play() + end + animations["models.main"]["bicycle_idle"]:setSpeed(-1) + if self.parent.gun.currentGunPosition == "RIGHT" then + self.parent.arms:setArmState(7, 6) + elseif self.parent.gun.currentGunPosition == "LEFT" then + self.parent.arms:setArmState(6, 7) + else + self.parent.arms:setArmState(6, 6) + end + events.TICK:register(function () + if self.bicycleEnabled then + models.models.main.Avatar:setPos(0, self.bicycleOffsetPos * 16, 0) + end + local velocity = player:getVelocity() + local horizontalSpeed = math.sqrt(velocity.x ^ 2 + velocity.z ^ 2) + local isBicycleRiding = (horizontalSpeed >= 0.01 or math.abs(self.parent.physics.velocityAverage[2][2]) >= 0.01) and self.bicycleEnabled + if isBicycleRiding ~= self.isBicycleRidingPrev then + if isBicycleRiding then + animations["models.main"]["bicycle_idle"]:setSpeed(1) + for _, animationModel in ipairs({"models.main", "models.ex_skill_3"}) do + animations[animationModel]["bicycle_run"]:play() + end + else + animations["models.main"]["bicycle_idle"]:setSpeed(-1) + for _, animationModel in ipairs({"models.main", "models.ex_skill_3"}) do + animations[animationModel]["bicycle_run"]:stop() + end + end + self.isBicycleRidingPre = isBicycleRiding + end + for _, animationModel in ipairs({"models.main", "models.ex_skill_3"}) do + animations[animationModel]["bicycle_run"]:setSpeed(2 * (self.parent.physics.velocityAverage[1][2] + math.abs(self.parent.physics.velocityAverage[3][2]))) + end + models.models.main.Avatar.LowerBody.Bicycle.Wheels.Chain:setUVPixels(math.ceil(animations["models.main"]["bicycle_run"]:getTime() * 20) % 2, 0) + self.handleRotPrev = self.handleRot + self.handleRot = math.clamp(self.parent.physics.velocityAverage[3][2] + self.parent.physics.velocityAverage[4][2] / 1500, -0.2, 0.2) * -75 + if isBicycleRiding and horizontalSpeed >= 0.3 then + local playerPos = player:getPos() + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.dispenser.fail"), playerPos, 0.025, 5) + if self.windSound ~= nil then + self.windSound:setPos(playerPos) + self.windSound:setVolume(0.14285714285714 * horizontalSpeed - 0.042857142857143) + else + self.windSound = sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.elytra.flying"), playerPos, 0.14285714285714 * horizontalSpeed - 0.042857142857143, 2, true) + end + elseif self.windSound ~= nil then + self.windSound:stop() + self.windSound = nil + end + self.isDrinkItemHeld = false + for _, item in ipairs({player:getHeldItem(false), player:getHeldItem(true)}) do + if item.id == "minecraft:potion" or item.id == "minecraft:milk_bucket" then + self.isDrinkItemHeld = true + break + end + end + if self.isDrinkItemHeld ~= self.isDrinkItemHeldPrev then + if self.isDrinkItemHeld then + models.models.main.Avatar.LowerBody.Bicycle.Shaft.Shaft8.WaterBottle:setParentType("Item") + events.ITEM_RENDER:register(function (item, mode) + if (item.id == "minecraft:potion" or item.id == "minecraft:milk_bucket") and self.isDrinkItemHeld and mode ~= "HEAD" and self.parent.exSkill.animationCount == -1 then + if mode == "FIRST_PERSON_LEFT_HAND" then + models.models.main.Avatar.LowerBody.Bicycle.Shaft.Shaft8.WaterBottle:setPos(-2, -6, 5.5) + models.models.main.Avatar.LowerBody.Bicycle.Shaft.Shaft8.WaterBottle:setRot(90, -60, 0) + elseif mode == "FIRST_PERSON_RIGHT_HAND" then + models.models.main.Avatar.LowerBody.Bicycle.Shaft.Shaft8.WaterBottle:setPos(2, -6, 5.5) + models.models.main.Avatar.LowerBody.Bicycle.Shaft.Shaft8.WaterBottle:setRot(90, -120, 0) + elseif mode == "THIRD_PERSON_LEFT_HAND" then + models.models.main.Avatar.LowerBody.Bicycle.Shaft.Shaft8.WaterBottle:setPos(0, -7.5, 5.5) + models.models.main.Avatar.LowerBody.Bicycle.Shaft.Shaft8.WaterBottle:setRot(90, 90, 0) + elseif mode == "THIRD_PERSON_RIGHT_HAND" then + models.models.main.Avatar.LowerBody.Bicycle.Shaft.Shaft8.WaterBottle:setPos(0, -7.5, 5.5) + models.models.main.Avatar.LowerBody.Bicycle.Shaft.Shaft8.WaterBottle:setRot(90, 90, 0) + end + return models.models.main.Avatar.LowerBody.Bicycle.Shaft.Shaft8.WaterBottle + end + end, "drink_bottle_item_render") + else + events.ITEM_RENDER:remove("drink_bottle_item_render") + models.models.main.Avatar.LowerBody.Bicycle.Shaft.Shaft8.WaterBottle:setParentType("None") + models.models.main.Avatar.LowerBody.Bicycle.Shaft.Shaft8.WaterBottle:setPos() + models.models.main.Avatar.LowerBody.Bicycle.Shaft.Shaft8.WaterBottle:setRot() + end + self.isDrinkItemHeldPrev = self.isDrinkItemHeld + end + end, "bicycle_ride_tick") + events.RENDER:register(function (delta) + local bicycleIdleFactor = 1 - animations["models.main"]["bicycle_idle"]:getTime() * 4 + models.models.main.Avatar.Head:setRot(45 - 30 * bicycleIdleFactor, 0, 0) + local currentHandleRot = (self.handleRot - self.handleRotPrev) * delta + self.handleRot + models.models.main.Avatar.LowerBody.Bicycle.Handle:setRot(0, currentHandleRot, 0) + if host:isHost() and self.bicycleEnabled then + self.parent.cameraManager.setCameraPivot(vectors.vec3(0, 0.15 * bicycleIdleFactor - 0.75 + self.bicycleOffsetPos, 0)) + renderer:setEyeOffset(0, 0.15 * bicycleIdleFactor - 0.75 + self.bicycleOffsetPos, 0) + end + end, "bicycle_ride_render") + events.ON_PLAY_SOUND:register(function (id, pos, _, _, _, _, path) + if path ~= nil and (id:match("^minecraft:entity%.horse%.") or id:match("^minecraft:entity%.donkey%.") or id:match("^minecraft:entity%.mule%.")) and pos:copy():sub(player:getPos()):length() <= 1.5 then + if id == "minecraft:entity.horse.jump" then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.blaze.hurt"), pos, 0.5, 2, false) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.wool.step"), pos, 1, 0.75, false) + elseif id == "minecraft:entity.horse.land" then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.iron_door.close"), pos, 0.25, 1.75, false) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.wool.step"), pos, 1, 0.75, false) + elseif id:match("^minecraft:entity%.%w+%.hurt$") then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.anvil.place"), pos, 0.5, 2, false) + elseif id:match("^minecraft:entity%.%w+%.death$") then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.firework_rocket.blast"), pos, 1, 2, false) + local playerPos = player:getPos() + local lookDir = player:getLookDir() + local bodyYaw = math.deg(math.atan2(lookDir.z, lookDir.x)) + local anchor1Pos = playerPos:copy():add(vectors.rotateAroundAxis(bodyYaw * -1 + 90, 0, -0.75, -0.65, 0, 1, 0)) + local anchor2Pos = playerPos:copy():add(vectors.rotateAroundAxis(bodyYaw * -1 + 90, 0, -0.75, 0.5, 0, 1, 0)) + for _ = 1, 5 do + for _, anchorPos in ipairs({anchor1Pos, anchor2Pos}) do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:smoke"), anchorPos):setVelocity(math.random() * 0.04 - 0.02, 0, math.random() * 0.04 - 0.02) + end + end + self.isTyreBurst = true + self.parent.bubble:play("SWEAT", 40, vectors.vec2(), 0, false) + self.isTyreBurst = false + end + return true + end + end, "bicycle_ride_sound") + else + events.TICK:remove("bicycle_ride_tick") + events.RENDER:remove("bicycle_ride_render") + events.ITEM_RENDER:remove("drink_bottle_item_render") + events.ON_PLAY_SOUND:remove("bicycle_ride_sound") + models.models.main.Avatar:setPos() + models.models.main.Avatar.LowerBody.Bicycle:setVisible(false) + renderer:setRenderVehicle(true) + for _, animationModel in ipairs({"models.main", "models.ex_skill_3"}) do + animations[animationModel]["bicycle_run"]:stop() + animations[animationModel]["bicycle_idle"]:stop() + end + models.models.main.Avatar.Head:setRot() + if host:isHost() then + self.parent.cameraManager.setCameraPivot(vectors.vec3()) + renderer:setEyeOffset() + end + events.ITEM_RENDER:remove("drink_bottle_item_render") + models.models.main.Avatar.LowerBody.Bicycle.Shaft.Shaft8.WaterBottle:setParentType("None") + models.models.main.Avatar.LowerBody.Bicycle.Shaft.Shaft8.WaterBottle:setPos() + models.models.main.Avatar.LowerBody.Bicycle.Shaft.Shaft8.WaterBottle:setRot() + if self.windSound ~= nil then + self.windSound:stop() + self.windSound = nil + end + self.isDrinkItemHeld = false + self.bicycleEnabled = false + if self.parent.gun.currentGunPosition == "RIGHT" then + self.parent.arms:setArmState(1, 2) + elseif self.parent.gun.currentGunPosition == "LEFT" then + self.parent.arms:setArmState(2, 1) + else + self.parent.arms:setArmState(0, 0) + end + end + self.bicycleEnabledPrev = self.bicycleEnabled + end + end) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shiroko/scripts/character_scripts/drone.lua b/config/yosbr/config/figura/avatars/Shiroko/scripts/character_scripts/drone.lua new file mode 100644 index 0000000..1dfd97d --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/scripts/character_scripts/drone.lua @@ -0,0 +1,283 @@ +---@class Drone : AvatarModule クリエイティブ飛行に表示するドローンを制御するクラス +---@field public dronePosition Gun.GunPosition ドローンの位置 +---@field package droneSound Sound|nil ドローンの飛行音 +---@field package isMissileLaunchAllowed boolean ミサイル発射が許可されているかどうか +---@field package missileCoolDown integer ミサイル発射のクールダウン +---@field package didTipShow boolean ヒントを表示したかどうか +---@field public isFlying boolean クリエイティブ飛行中かどうか +---@field package isFlyingPrev boolean 前ティックにクリエイティブ飛行をしていたかどうか +---@field package shouldShowDronePrev boolean 前ティックにドローンが表示されていたかどうか +---@field package isLeftHandedPrev boolean 前ティックにプレイヤーが左利きだったかどうか +---@field package gunPositionPrev Gun.GunPosition 前ティックの銃の位置 + +Drone = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Drone + new = function (parent) + ---@type Drone + local instance = Avatar.instantiate(Drone, AvatarModule, parent) + + instance.dronePosition = "NONE" + instance.isMissileLaunchAllowed = false + instance.missileCoolDown = 0 + instance.didTipShow = false + instance.isFlying = false + instance.isFlyingPrev = false + instance.shouldShowDronePrev = false + instance.isLeftHandedPrev = false + instance.gunPositionPrev = "NONE" + + return instance + end; + + ---初期化関数 + ---@param self Drone + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + local vehicle = player:getVehicle() + local shouldShowDrone = self.isFlying and vehicle == nil and player:getPose() == "STANDING" + if shouldShowDrone ~= self.shouldShowDronePrev then + if shouldShowDrone then + models.models.ex_skill_1.Drone:moveTo(models.models.main.Avatar) + models.models.main.Avatar.Drone:setVisible(true) + self.isLeftHandedPrev = player:isLeftHanded() + self.parent.gun:processGunTick() + self.gunPositionPrev = self.parent.gun.currentGunPosition + if self.gunPositionPrev == "RIGHT" or (self.gunPositionPrev == "NONE" and not self.isLeftHandedPrev) then + animations["models.main"]["creative_flying_transition_right"]:setSpeed(1) + animations["models.main"]["creative_flying_transition_right"]:play() + animations["models.ex_skill_1"]["creative_flying_start_right"]:play() + self.dronePosition = "RIGHT" + else + animations["models.main"]["creative_flying_transition_left"]:setSpeed(1) + animations["models.main"]["creative_flying_transition_left"]:play() + animations["models.ex_skill_1"]["creative_flying_start_left"]:play() + self.dronePosition = "LEFT" + end + if self.parent.gun.currentGunPosition == "RIGHT" then + self.parent.arms:setArmState(1, 4) + elseif self.parent.gun.currentGunPosition == "LEFT" then + self.parent.arms:setArmState(4, 1) + elseif self.dronePosition == "RIGHT" then + self.parent.arms:setArmState(5, 4) + else + self.parent.arms:setArmState(4, 5) + end + + local particleAnchor = player:getPos():add(vectors.rotateAroundAxis(player:getBodyYaw() * -1 + 180, self.dronePosition == "RIGHT" and -0.40625 or 0.40625, 5.015625, 1.9375, 0, 1, 0)) + for _ = 1, 30 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:poof"), particleAnchor:copy():add(math.random() * 2.4 - 1.2, math.random() * 1 - 0.5, (math.random() * 2.4 - 1.2))) + end + self.droneSound = sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.bee.loop"), player:getPos():add(0, 3, 0), 0.1, 1, true) + + local startCount = 0 + events.TICK:register(function () + if not client:isPaused() then + startCount = startCount + 1 + self.droneSound:setPos(player:getPos():add(0, 3, 0)) + if startCount == 5 then + events.TICK:remove("drone_tick_start") + for _, ctx in ipairs({"right", "left"}) do + animations["models.main"]["creative_flying_transition_"..ctx]:stop() + animations["models.ex_skill_1"]["creative_flying_start_"..ctx]:stop() + end + self.isLeftHandedPrev = player:isLeftHanded() + self.gunPositionPrev = self.parent.gun.currentGunPosition + if self.gunPositionPrev == "RIGHT" or (self.gunPositionPrev == "NONE" and not self.isLeftHandedPrev) then + for _, animationModel in ipairs({"models.main", "models.ex_skill_1"}) do + animations[animationModel]["creative_flying_right"]:play() + end + self.dronePosition = "RIGHT" + else + for _, animationModel in ipairs({"models.main", "models.ex_skill_1"}) do + animations[animationModel]["creative_flying_left"]:play() + end + self.dronePosition = "LEFT" + end + if not self.didTipShow and host:isHost() then + print(self.parent.locale:getLocale("missile_launch.tip_pre")..self.parent.keyManager.keyMappings["missile_launch"]:getKeyName()..self.parent.locale:getLocale("missile_launch.tip_post")) + self.didTipShow = true + end + self.isMissileLaunchAllowed = true + + events.TICK:register(function () + self.droneSound:setPos(player:getPos():add(0, 3, 0)) + local isLeftHanded = player:isLeftHanded() + if (self.parent.gun.currentGunPosition == "RIGHT" or (self.parent.gun.currentGunPosition == "NONE" and not isLeftHanded)) and animations["models.main"]["creative_flying_left"]:getPlayState() == "PLAYING" then + for _, animationModel in ipairs({"models.main", "models.ex_skill_1"}) do + animations[animationModel]["creative_flying_right"]:play() + animations[animationModel]["creative_flying_right"]:setTime(animations[animationModel]["creative_flying_left"]:getTime()) + animations[animationModel]["creative_flying_left"]:stop() + end + self.dronePosition = "RIGHT" + elseif (self.parent.gun.currentGunPosition == "LEFT" or (self.parent.gun.currentGunPosition == "NONE" and isLeftHanded)) and animations["models.main"]["creative_flying_right"]:getPlayState() == "PLAYING" then + for _, animationModel in ipairs({"models.main", "models.ex_skill_1"}) do + animations[animationModel]["creative_flying_left"]:play() + animations[animationModel]["creative_flying_left"]:setTime(animations[animationModel]["creative_flying_right"]:getTime()) + animations[animationModel]["creative_flying_right"]:stop() + end + self.dronePosition = "LEFT" + end + if isLeftHanded ~= self.isLeftHandedPrev and self.parent.gun.currentGunPosition == "NONE" then + if isLeftHanded then + self.parent.arms:setArmState(4, 5) + else + self.parent.arms:setArmState(5, 4) + end + end + self.isLeftHandedPrev = isLeftHanded + self.gunPositionPrev = self.parent.gun.currentGunPosition + end, "drone_tick") + end + end + end, "drone_tick_start") + elseif models.models.main.Avatar.Drone ~= nil then + for _, eventName in ipairs({"drone_tick_start", "drone_tick"}) do + events.TICK:remove(eventName) + end + for _, ctx in ipairs({"right", "left"}) do + animations["models.main"]["creative_flying_transition_"..ctx]:stop() + animations["models.ex_skill_1"]["creative_flying_start_"..ctx]:stop() + for _, animationModel in ipairs({"models.main", "models.ex_skill_1"}) do + animations[animationModel]["creative_flying_"..ctx]:stop() + end + end + if self.parent.gun.currentGunPosition == "RIGHT" or (self.parent.gun.currentGunPosition == "NONE" and not player:isLeftHanded()) then + animations["models.main"]["creative_flying_transition_right"]:setSpeed(-1) + animations["models.main"]["creative_flying_transition_right"]:play() + animations["models.ex_skill_1"]["creative_flying_end_right"]:play() + self.dronePosition = "RIGHT" + else + animations["models.main"]["creative_flying_transition_left"]:setSpeed(-1) + animations["models.main"]["creative_flying_transition_left"]:play() + animations["models.ex_skill_1"]["creative_flying_end_left"]:play() + self.dronePosition = "LEFT" + end + local endCount = 0 + events.TICK:register(function () + if not client:isPaused() then + endCount = endCount + 1 + self.droneSound:setPos(player:getPos():add(0, 3, 0)) + if endCount == 5 then + for _, eventName in ipairs({"drone_tick_end", "missile_launch_tick"}) do + events.TICK:remove(eventName) + end + for _, modelPart in ipairs({models.models.main.Avatar.Drone.LauncherRight.MissilesRight, models.models.main.Avatar.Drone.LauncherLeft.MissilesLeft}) do + for _, modelPart2 in ipairs(modelPart:getChildren()) do + modelPart2:setVisible(true) + end + end + models.models.main.Avatar.Drone:moveTo(models.models.ex_skill_1) + models.models.ex_skill_1.Drone:setVisible(false) + local particleAnchor = player:getPos():add(vectors.rotateAroundAxis(player:getBodyYaw() * -1 + 180, self.dronePosition == "RIGHT" and -0.40625 or 0.40625, 5.015625, -1.9375, 0, 1, 0)) + for _ = 1, 30 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:poof"), particleAnchor:copy():add(math.random() * 2.4 - 1.2, math.random() * 1 - 0.5, (math.random() * 2.4 - 1.2))) + end + self.droneSound:stop() + self.dronePosition = "NONE" + if self.parent.gun.currentGunPosition == "RIGHT" then + self.parent.arms:setArmState(1, 2) + elseif self.parent.gun.currentGunPosition == "LEFT" then + self.parent.arms:setArmState(2, 1) + else + self.parent.arms:setArmState(0, 0) + end + end + end + end, "drone_tick_end") + end + self.shouldShowDronePrev = shouldShowDrone + end + + if host:isHost() then + local isFlying = host:isFlying() and player:getGamemode() ~= "SPECTATOR" + if isFlying ~= self.isFlyingPrev then + pings.setIsFlying(isFlying) + self.isFlyingPrev = isFlying + end + self.parent.characterData.dataSync.syncData.isFlying = isFlying + self.missileCoolDown = math.max(self.missileCoolDown - 1, 0) + end + end) + + self.parent.avatarEvents.SCRIPT_INIT:register(function () + local localeStrings = { + {"key_name.missile_launch", "Launch missiles", "ミサイル発射"}; + {"missile_launch.in_cool_down_pre", "Please wait ", "あと"}; + {"missile_launch.in_cool_down_post", " more seconds to launch missiles.", "秒待ってください。"}; + {"missile_launch.tip_pre", "9§l[TIP]§r Press ", "§9§l[TIP]§r "}; + {"missile_launch.tip_post", " key to launch missiles!", "キーを押すとミサイルを発射します!"}; + } + + for _, localeSet in ipairs(localeStrings) do + self.parent.locale.localeData.en_us[localeSet[1]] = localeSet[2] + self.parent.locale.localeData.ja_jp[localeSet[1]] = localeSet[3] + end + + self.parent.keyManager:register("missile_launch", "key.keyboard.v"):setOnPress(function () + if self.isMissileLaunchAllowed then + if self.missileCoolDown == 0 then + pings.launchMissiles() + self.missileCoolDown = 200 + else + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + print(self.parent.locale:getLocale("missile_launch.in_cool_down_pre")..math.ceil(self.missileCoolDown / 20)..self.parent.locale:getLocale("missile_launch.in_cool_down_post")) + end + end + end) + end) + end; +} + +---クリエイティブ飛行フラグを設定する。 +---@param isFlying boolean クリエイティブ飛行をしているかどうか +function pings.setIsFlying(isFlying) + AvatarInstance.drone.isFlying = isFlying +end + +---ミサイルを発射する。 +function pings.launchMissiles() + if models.models.main.Avatar.Drone ~= nil then + AvatarInstance.faceParts:setEmotion("NARROW_ANGRY", "NARROW_ANGRY", "ANGRY", 60, true) + local launchCounter = 0 + if events.TICK:getRegisteredCount("missile_launch_tick") == 0 then + events.TICK:register(function () + if launchCounter % 5 == 0 and launchCounter <= 35 then + local missileNum = math.floor(launchCounter / 5) + 1 + local missileModel = missileNum <= 4 and models.models.main.Avatar.Drone.LauncherRight.MissilesRight["Missile"..missileNum] or models.models.main.Avatar.Drone.LauncherLeft.MissilesLeft["Missile"..(missileNum - 4)] + local lookDir = player:getLookDir() + AvatarInstance.missileManager:spawn(AvatarInstance.modelUtils.getModelWorldPos(missileModel), vectors.vec3(math.deg(math.asin(lookDir.y)) * -1, math.deg(math.atan2(lookDir.z, lookDir.x)) * -1 + 90, 0)) + missileModel:setVisible(false) + sounds:playSound(AvatarInstance.compatibilityUtils:checkSound("minecraft:entity.blaze.hurt"), player:getPos(), 1, 1.5) + elseif launchCounter == 135 then + events.TICK:remove("missile_launch_tick") + for _, modelPart in ipairs({models.models.main.Avatar.Drone.LauncherRight.MissilesRight, models.models.main.Avatar.Drone.LauncherLeft.MissilesLeft}) do + for _, modelPart2 in ipairs(modelPart:getChildren()) do + modelPart2:setVisible(true) + end + end + sounds:playSound(AvatarInstance.compatibilityUtils:checkSound("minecraft:block.dispenser.fail"), player:getPos(), 1, 2) + end + if launchCounter % 5 <= 1 and launchCounter <= 36 then + for _, modelPart in ipairs({models.models.main.Avatar.Drone.LauncherRight.LauncherBase, models.models.main.Avatar.Drone.LauncherLeft.LauncherBase}) do + local anchorPos = ModelUtils.getModelWorldPos(modelPart) + local bodyYaw = player:getBodyYaw() + local particleDir = vectors.rotateAroundAxis(bodyYaw * -1, 0, 0, -0.25, 0, 1, 0) + if launchCounter % 5 == 0 then + for _ = 1, 5 do + particles:newParticle(AvatarInstance.compatibilityUtils:checkParticle("minecraft:flame"), anchorPos:copy():add(vectors.rotateAroundAxis(bodyYaw * -1, math.random() * 0.5 - 0.25, math.random() * 0.5 - 0.25, 0, 0, 1, 0))):setVelocity(particleDir:copy():scale(2)):setLifetime(4) + end + end + for _ = 1, 5 do + particles:newParticle(AvatarInstance.compatibilityUtils:checkParticle("minecraft:large_smoke"), anchorPos:copy():add(vectors.rotateAroundAxis(bodyYaw * -1, math.random() * 0.5 - 0.25, math.random() * 0.5 - 0.25, 0, 0, 1, 0))):setVelocity(particleDir) + end + end + end + launchCounter = launchCounter + 1 + end, "missile_launch_tick") + end + end +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shiroko/scripts/character_scripts/drone_missile.lua b/config/yosbr/config/figura/avatars/Shiroko/scripts/character_scripts/drone_missile.lua new file mode 100644 index 0000000..43602fe --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/scripts/character_scripts/drone_missile.lua @@ -0,0 +1,97 @@ +---@class DroneMissile : SpawnObject 視覚的なミサイルオブジェクトのクラス +---@field package object ModelPart インスタンスで制御するモデルパーツ +---@field package currentPos Vector3 現ティックでのオブジェクトの位置 +---@field package nextPos Vector3 次ティックでのオブジェクトの位置 +---@field package rot Vector3 ミサイルモデルの向き +---@field package velocity Vector3 ミサイルが飛んでいく方向を示すベクトル +---@field package explosionCount integer ミサイルが爆発するまでのカウンタ +---@field package missileSound Sound ミサイルが飛んでいく方向を示すベクトル +---@field public new fun(parent: Avatar, startPos: Vector3, rot: Vector3): DroneMissile コンストラクタ +---@field package explode fun(self: DroneMissile) ミサイルを爆破させる + +DroneMissile = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@param startPos Vector3 ミサイルの出現位置 + ---@param rot Vector3 ミサイルが飛んでいく方向 + ---@return DroneMissile + new = function (parent, startPos, rot) + ---@type DroneMissile + local instance = Avatar.instantiate(DroneMissile, SpawnObject, parent) + + instance.object = models.models.ex_skill_1.Missile:copy(instance.uuid) + instance.currentPos = startPos:copy() + instance.nextPos = instance.currentPos:copy() + instance.rot = rot:copy() + instance.velocity = vectors.rotateAroundAxis(instance.rot.z, vectors.rotateAroundAxis(instance.rot.y, vectors.rotateAroundAxis(instance.rot.x, 0, 0, 1, 1, 0, 0), 0, 1, 0), 0, 0, 1) + instance.explosionCount = 200; + instance.missileSound = sounds:playSound(instance.parent.compatibilityUtils:checkSound("minecraft:entity.firework_rocket.launch"), instance.currentPos, 1, 0.5) + + instance.callbacks = { + ---@param self DroneMissile + onInit = function (self) + models.script_drone_missile:addChild(self.object) + self.object:setPos(self.currentPos:copy():scale(16)) + self.object:setRot(self.rot) + self.object:setVisible(true) + --self.object:setScale(10, 10, 10) + end; + + ---@param self DroneMissile + onDeinit = function (self) + models.script_drone_missile:removeChild(self.object) + self.object:remove() + end; + + ---@param self DroneMissile + onTick = function (self) + if self.explosionCount == 0 then + self:explode() + end + + --花火の位置を強制更新 + self.currentPos = self.nextPos + self.object:setPos(self.currentPos:copy():scale(16)) + self.missileSound:setPos(self.currentPos) + + --当たり判定チェック + for _, collisionBox in ipairs(world.getBlockState(self.currentPos):getCollisionShape()) do + local collisionBoxStart = self.currentPos:copy():floor():add(collisionBox[1]) + local collisionBoxEnd = self.currentPos:copy():floor():add(collisionBox[2]) + + if collisionBoxStart.x <= self.currentPos.x and collisionBoxEnd.x >= self.currentPos.x and collisionBoxStart.y <= self.currentPos.y and collisionBoxEnd.y >= self.currentPos.y and collisionBoxStart.z <= self.currentPos.z and collisionBoxEnd.z >= self.currentPos.z then + self:explode() + return + end + end + + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:large_smoke"), self.currentPos):setVelocity(vectors.rotateAroundAxis(self.rot.z, vectors.rotateAroundAxis(self.rot.y, vectors.rotateAroundAxis(self.rot.x, math.random() * 0.05 - 0.025, math.random() * 0.05 - 0.025, 0, 1, 0, 0), 0, 1, 0), 0, 0, 1)) + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:flame"), self.currentPos):setScale(1.5):setVelocity(vectors.rotateAroundAxis(self.rot.z, vectors.rotateAroundAxis(self.rot.y, vectors.rotateAroundAxis(self.rot.x, math.random() * 0.05 - 0.025, math.random() * 0.05 - 0.025, 0, 1, 0, 0), 0, 1, 0), 0, 0, 1)):setLifetime(4) + + --次ティックの花火の位置を算出 + self.nextPos = self.currentPos:copy():add(self.velocity:copy():scale(1.4)) + + self.explosionCount = self.explosionCount - 1 + end; + + onRender = function (self, delta) + self.object:setPos(self.nextPos:copy():sub(self.currentPos):scale(delta):add(self.currentPos):scale(16)) + end; + } + + return instance + end; + + ---ミサイルを爆破させる。 + ---@param self DroneMissile + explode = function (self) + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:explosion_emitter"), self.currentPos) + for _ = 1, 20 do + local randomOffset = vectors.vec3(math.random() - 0.5, math.random() - 0.5, math.random() - 0.5) + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:poof"), self.currentPos:copy():add(randomOffset:copy():scale(5))):setScale(3):setVelocity(randomOffset:copy():scale(1)) + end + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.generic.explode"), self.currentPos, 0.5, 1):setAttenuation(5) + self.explosionCount = -1 + self.shouldDeinit = true + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shiroko/scripts/character_scripts/drone_missile_manager.lua b/config/yosbr/config/figura/avatars/Shiroko/scripts/character_scripts/drone_missile_manager.lua new file mode 100644 index 0000000..0177d75 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shiroko/scripts/character_scripts/drone_missile_manager.lua @@ -0,0 +1,45 @@ +---@class DroneMissileManager : SpawnObjectManager 視覚的なミサイルオブジェクトを管理するクラス +---@field public new fun(parent: Avatar): DroneMissileManager コンストラクタ +---@field public init fun(self: DroneMissileManager) 初期化関数 +---@field public getObject fun(self: DroneMissileManager, startPos: Vector3, rot: Vector3): DroneMissile ミサイルのインスタンスを生成して返す +---@field public spawn fun(self: DroneMissileManager, startPos: Vector3, rot: Vector3) ミサイルをスポーンさせる + +DroneMissileManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return DroneMissileManager + new = function (parent) + ---@type DroneMissileManager + local instance = Avatar.instantiate(DroneMissileManager, SpawnObjectManager, parent) + + instance.managerName = "drone_missile" + + return instance + end; + + ---初期化関数 + ---@param self DroneMissileManager + init = function (self) + SpawnObjectManager.init(self) + + ---@diagnostic disable-next-line: discard-returns + models:newPart("script_drone_missile", "World") + end; + + ---ミサイルのインスタンスを生成して返す。 + ---@param self DroneMissileManager + ---@param startPos Vector3 ミサイルの出現位置 + ---@param rot Vector3 ミサイルが飛んでいく方向 + ---@return DroneMissile instance 生成したインスタンス + getObject = function (self, startPos, rot) + return DroneMissile.new(self.parent, startPos, rot) + end; + + ---ミサイルをスポーンさせる。 + ---@param self DroneMissileManager + ---@param startPos Vector3 ミサイルの出現位置 + ---@param rot Vector3 ミサイルが飛んでいく方向 + spawn = function (self, startPos, rot) + SpawnObjectManager.spawn(self, startPos, rot) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shiroko/textures/barrier.png b/config/yosbr/config/figura/avatars/Shiroko/textures/barrier.png new file mode 100644 index 0000000000000000000000000000000000000000..f370a968a6e6c60761c4f7a188d7c44ce1bf9bf6 GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^j3CU&3?x-=hn)gaoCO|{#S9GG!XV7ZFl&wkP>?ym tC&cyq|NqVF|3v_~T%InDAsp9}6M$?c2F6ES|xv6<249-QVi6yBi z3gww484B*6z5(HleBwYwoCO|{#S9F3${@^GvDCf{D997w6XNP#-~(j-|NkFI{ubWW z3Z$4yg8YIRI4V3`K^7Z%x;Tb#Tu)Be@c;0E1AnrA*vjLu_#ZRFy%x2ZQhP5x1L|h*boFyt=akR{09f)oX8-^I literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Shiroko/textures/bubble_emote_guide.png b/config/yosbr/config/figura/avatars/Shiroko/textures/bubble_emote_guide.png new file mode 100644 index 0000000000000000000000000000000000000000..a6b414202e18123cc93b634a85e680a66e0a9fe4 GIT binary patch literal 494 zcmVvD800032NklL{98?E$@`La%y+s+cA+7ER}K+p}aatE=lFu-ULeLWgH1R zr7|d~dm1u3wI-OHl&evMe$!{KVri$1Za$T<*ZHa3DM<}U69UsXiOn<=cIQ} k=*f{RowdRB0DV*N2kFQ#jp%gQga7~l07*qoM6N<$g5h)W9smFU literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Shiroko/textures/bullet.png b/config/yosbr/config/figura/avatars/Shiroko/textures/bullet.png new file mode 100644 index 0000000000000000000000000000000000000000..392b8f7c3906129885119b03aad3353ef99e562c GIT binary patch literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^EI`b|!VDz0_b@5|DajJoh!W@g+}zZ>5(ej@)Wnk1 z6ovB4k_-iRPv3y>Mm}+%BF+Mj$YKTtJ!KGPtXOJa1{72Y@Ck8^3Xe~T4g->>mxKTr z|9>6*|836R83F%a&e=cH^Z$Eal|aXmSq yC?TOJ!3aqGdOtPI(4Y{viAnS=lpGkCiCxvXi5sQ%fK*e z+vW;|S?!E6IsD?>42826=&e2&e%t!(b^o6hK9|eNw%+-|?Rz^i++~g$gMmUp;T>I< zNjmyEA~Q1N*q$_Kw>Y%Si4jsdx{7HBvy9Nj-S3*!1Q>XD*KOY%!Te{w*CM;32DT?n zA+y|`iWJ}gzT%%wjib}&09pLjD#ca<~H-wd9velF{r5}E)f0D->% literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Shiroko/textures/costume_riding.png b/config/yosbr/config/figura/avatars/Shiroko/textures/costume_riding.png new file mode 100644 index 0000000000000000000000000000000000000000..f6d3716c041c9c047036a1bc26f5e43464afc3db GIT binary patch literal 968 zcmV;(12_DMP)#P}y~Rqsz)C$=kFiqE)g$yIq_PlwSt^9)7qH_bo)^OeW`Ne^>J2D2rN#q3M#!RAT+sQqAVX-}BX*^);B%LR@KX3spW zZ*9=1-?igs=_FY?1M0rouIcv#_S)+F+gm8lw63xAwNmEQwxl3%Yb-X>x@G{lS^d?z zJrH*p2xx8s3)X}G+U%{>&Dc0+tMV<{X!?$t$N8&uTHhmLMXEFEyU@#RnnH7fs7M8d zvsto&gghx|8uW4~r{)&jWm&#C=l;&DquTx{4|x7P@b6JmTXvhbV8cB`NMgtqLL!kI$re`wu{CWO)Qd8p6f!a7 zI@lo{YYxSFa3dE3W3_uQT`N*s1ac|XA^quy)i6qlIo7{(@4zz{@X<*TC~K;Aeq`EM zKX%N++L%p^U(39)gARiSY4v5X5hvJ*12!X-eyOyXg^v%} zn1-WLhmDz?-Xy=F8WR+I7+GH+5FNB@z8C}7`?V<(iw_E&X49jh_1pTU_7EqmN3uz- zc`?>PP!gw^2)ZISHB>qbMHI4n{YK`%xr-NswNU$$Y;xHqZvH;G0daH4WpcctNvvqa6ss&tdfx$pZEM=a)h7;BJF7oJ8pa-!kbe(MsTfw_%?td0Q}RX zG*){3dYXEASMlCw?|rWO^^+UZ{!Y!M#&PqpvD`XZn}Mo6R4wN0XtIcjAhB*v7ODCK8gQN>Q zB8wRqxP?KOkzv*x37{Z*iKnkC`wJ#!4omU7pQf<@g`zxN977~7Cno^GjZKNS{~u=W z`nC_zr5X|T?eln roF#ZyWJYwv1=a);9)S`SM^=Vz4r7^bF>_x7ZDH_q^>bP0l+XkK47ECG literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Shiroko/textures/death_animation.png b/config/yosbr/config/figura/avatars/Shiroko/textures/death_animation.png new file mode 100644 index 0000000000000000000000000000000000000000..f243ea10d108e2c2f5486f6a962aa91378446a34 GIT binary patch literal 2020 zcmW-fc{r4d7st;#!^{{aGM%c6Q{{H^* zkUz(YMaTRX_wV2D?Ci9$ zv1z{(^(fi%W%h-k$7%Wb`CKmd`Sa&27Aq+!sUXg_f^$49EUYolD>F0mamHyM2d!u? zz3%RA6&016!KPt7(WU$gkYGnUCqTz|X8}la*5;Fr>e)l!RI2s&F{Lzr@sUR+bYp)U*)?NT@-*N^nGX&HpwE<%v z;Mv9t4j;NR(L1{-^eTl5`E&++*XK6q?n8Q4oRUGa|E#BPiU79>;>zSC;ja87a5$VP zWMb_dWHDukspEkn-1RZV_?=gRtByVP@1+^Tf&%6RskQVX=w+f2w!TF3F{DHitS4so zbn1h-$*d|O-XWw>+;M{-R^s|0 zI0^rVIJU#9h(8gE0+e3F9e_Y#vK^&&pihe4l$F1QC96&`j7JiyA8N7wi8TZ24jmxY zjZi|d+uhQ?5gGYJ{=};}>#xA3GV&-rQAhl-Ogo%-=Pxiv*t$64=#IS~BaJPqzkt$) z=C}G9jxj}bOt_@u3-}$AyS_Vixd=?_WbOVb1N_vQMmII-RV5+{7(lS2hkf^EzIMfb z)BJW14#LV(haYDatzv5+&F;n8{&TQUqYGN{Xq~4pAPf+|KnyxW<9%pQc_2;*olXrd z$@{?92zUyT8yf3mY(tsNnBF~+n>bw zU@Q%F)uV*o{+q2$h5HX8B4~KA-EgM16gyNL7>I{NRU~GeOvFDz^<@M^;H*dX;#3X%2)S89eRvy}!%~0Spjg>9h$|NVrBlsIKWloQRo!4Y^6`Zp>)N-w} z(hZTrBnz3Opmt*wt*a-%b#iPsy3lQprL2$1qRy6c1rEf+O2b0vL+Q~k&g^$zEmsY; zxzvt}M=A*IhmTQ+(hsmlNK>>Q1oY{^j{M-o%d0E5#_dgssd6Ho8;LMD!Xe}5=;GrX z5^lax9rll543&!g@4W9$-r5a#+^!_WKH?sdVWNez7`IluAt=WrlHOyi(eJ-8lgFiU z2V@Pqh77RDHFrH^e8q^w%x!2wwsX^kuT?~0jF@5=o2xyfa)-?JTrVPJ0htgC~v(@%Dtgd%iFO0cS>vX;9*Fuf=?9nC!;N&AtIHtqyc-nA7 zja@>QGCsL65_qP?khB-HLSxmDJ=M%ZH_B)K}-i%#v5v9yt%pxWDye2ZvXEc@6pfE@PD0hr1Y{r z*Qd>Hvmt&SlLf68l;<#Pge!%(Obb*YGYR#gKXyj$nzzNxunn{%f^+@)qksz`Ds9zT zF=ex>>-QJjzT4c)ma(D{dUAtZ0(Ja4YK~O1YL|*eD;;2}tvs504;efVKS$NXcF;vX zHu|f&EWGi1m#flFA$^Ra$B6aHOTe zi`u2Zk&_T1~fhss;p(*(Y$*m48?!f83xfnCxZ*ALJt&A*tP$P3IG(h+DcFc(fm910e@pj0zyLjKqmE%MS zS1IvisvB5Hw7!A5!^Ln$m=}{*?z0<>UcsIJ_}%4{%eQTTC;Qb}?M@}$7F~8A$mEM% zd`Es-Ad$!I-@R`s3Sa#qfXu9{7#zS#MZ--B*uMB6Oc(=|9bn6yAl7%~FCo=(+^C%E z28)PNS{Yu5OhjExFV^8Il26&6*o%}JqcuifEtH0}F~g_i#6k-WF(GczHDsP6c2R1R XSQ8c-oF?b-3HV`cVP{@`m>v6nxgKEv literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Shiroko/textures/emojis/black_dot.png b/config/yosbr/config/figura/avatars/Shiroko/textures/emojis/black_dot.png new file mode 100644 index 0000000000000000000000000000000000000000..32f952e6926fed6a3e8c08e8e28c6774175c72bd GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^EFjFt3?wJp^Vk9@$r9Iy66gHf+|;}h2Ir#G#FEq$ zh4Rdj3FVdQ&MBb@0G;0^#{d8T literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Shiroko/textures/emojis/dots.png b/config/yosbr/config/figura/avatars/Shiroko/textures/emojis/dots.png new file mode 100644 index 0000000000000000000000000000000000000000..eeb5df5529e8a8d668a571f4339092e73a982fe5 GIT binary patch literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrOUWQl7;iF1B#Zfaf$gL6@8Vo7R> zLV0FMhJw4NZ$Nk>pEytvXMsm#F$061G6*wPEVVBK3bFt3ruKaWT?N-8k{WU=nquD;OXk;vd$@? F2>^vjE2#hg literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Shiroko/textures/emojis/good.png b/config/yosbr/config/figura/avatars/Shiroko/textures/emojis/good.png new file mode 100644 index 0000000000000000000000000000000000000000..df8baedf092d1697de5f940e1c6dc2783271ff32 GIT binary patch literal 220 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGaEOCt}an8@pP0cG|a4t$sEJ;mK zD92YC`j z#ZwKOPu#e1GD7f#Kw)7Zn{i900OQLbCg~MRR5&)uIx#XVd&Kqp=CnOEK*Jb3UHx3v IIVCg!0HohPs{jB1 literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Shiroko/textures/emojis/heart.png b/config/yosbr/config/figura/avatars/Shiroko/textures/emojis/heart.png new file mode 100644 index 0000000000000000000000000000000000000000..cea3a12c758ab289a5f79498292947ece20672eb GIT binary patch literal 219 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9k|nMYCC>S|xv6<249-QVi6yBi z3gww484B*6z5(HleBwYwoCO|{#S9F3${@^GvDCf{D997w6XNP#;Il};<@c10|F@rh zwZ_2#D9%_C;uyklJvo7a@fbrGJKHwZAYq9macR1VC*rndsXEJP zDQ?ZWDkSi+r7`#FD^8xC)z>Ty3{w8GWQomYGCIhZBf!k?EmHjUgCi3&fyOa-y85}S Ib4q9e0IvE$hX4Qo literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Shiroko/textures/emojis/note.png b/config/yosbr/config/figura/avatars/Shiroko/textures/emojis/note.png new file mode 100644 index 0000000000000000000000000000000000000000..0d360af1ac98d32e264cb3707642ce0cf45d0af6 GIT binary patch literal 223 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGaEOCt}an8@pP0cG|a4t$sEJ;mK zD9S|xv6<249-QVi6yBi z3gww484B*6z5(HleBwYwoCO|{#S9F3${@^GvDCf{D997w6XNP#;Is3uv&MRt|Nrj< z-o88=D9%_C!8QX9KfW(tYRVTpff>0q9O7Qr-u;3Eg3G&LkIdM1I=LYboFyt=akR{05z*SssI20 literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Shiroko/textures/emojis/reload.png b/config/yosbr/config/figura/avatars/Shiroko/textures/emojis/reload.png new file mode 100644 index 0000000000000000000000000000000000000000..1f33267d6e9717d41b952588bb05fd8a47c3e806 GIT binary patch literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrOUWQl7;iF1B#Zfaf$gL6@8Vo7R> zLV0FMhJw4NZ$Nk>pEytvXMsm#F$061G6*wPEVVBK3bF@&*Qm+^L+W6E(EufCe&n My85}Sb4q9e0LG6%-2eap literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Shiroko/textures/ex_skill_1.png b/config/yosbr/config/figura/avatars/Shiroko/textures/ex_skill_1.png new file mode 100644 index 0000000000000000000000000000000000000000..254aebf286c0792faa47016b6735c7cd2df772e3 GIT binary patch literal 950 zcmV;n14;aeP)v16CEQwtP@fp&5? z7ckX&{x~F zcc$7O^!3i2p6;Egbrt3$>-t;?v00)_^|iINLTsbEQCFq3qGk7$2mrS4J^ zyxQp%63gN>Fs%{EeJ+bTQ6Sth^6I&|gjmK4D0ukuKToWQWpM}6{kAG^ipu_+AzbFo zIXs(ws7vAe`1Err>1A6Y4;#5gSVotq>IQiQZTY1tx7{V?Xl;{%lj-x)N<1FI}X{h*ss4#gN|C z-BKT&9Q|Eq$@1T?QqOfJc8vo_0L4BFjd!;?R#*hHxn>?t6STd+9I$z@Dn~4_j0g+& z;ojEW^zTAaf7v@LxJ`2RLh*(2u}t1opCuN?%n~ixAcH42;Fp%?Y@m~dx&m~NjO%0IUk!B(d{aUE`W2Lf032(ms|X3<{KJYL>MwDo#;~pk7Pxb3GYNh z^+{Bp&M_ec?^bjld&m#(qU&2M7^@)W-8dL+v7bVu<>{80D?T zdX93A@>R`(txXt1xJkJj=vc2CCDlyg1M3LqzzD@Rv41qw_e{9oQuhcZz=S&96U3;y zD@ozK&`<@4%$1N$?qhR(+qS~V#7T9#5TV3|%oJaw$h_591C$83DgM%o>}^U%VngUu zBWppOYNVmbDeJ`_Q3fdI%VKH}0E8%>S@72ysSkJviCvUSlrh4k<2U2~MBDmjy&W^P zjy2Q{5Fq#{K0-`FI7S#TVN>jz#uP_7)~$-1MKRl&H_cKXo4)Lsa|A%I=FatD$?5|9 Y2Xjb~`F0*^qyPW_07*qoM6N<$f@QJF3;+NC literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Shiroko/textures/ex_skill_2.png b/config/yosbr/config/figura/avatars/Shiroko/textures/ex_skill_2.png new file mode 100644 index 0000000000000000000000000000000000000000..8df3000a827d117b87ab0de4cdda31505bebbea7 GIT binary patch literal 1111 zcmV-d1gQIoP)3Mv>yK}Be()byp2Ek3CD zAQki_k*Z+O=UAzj3cd)T`l3xsx}>Q|o1nF9tTh%iA1<5yNcQ-!vy<7G+0Djv-OYKq zXYQGM@Bf}T^S}QY+4}YudVEha4?PfO@^8gzZLeIW5<9tfqN4G;JD-$NaWCmb?%%o{ zK=yTp3emR?P|xO-bPC^=%>WD!4;MyTsc-P4lju!101ylY3xdPcJ@`fBulezn$BjK2+EY?4g0PpVKhDde`z2#Nxt zfEW-px1Ne3hzZ(5KCH%O#2A;0t12P_Q&lgUMH;p>qNuU97#qpwSd4zfV*oWE8j)OU z9V6y5ve?s~s4q6T@+9o-zj!iU(n(~;Ci_wd@bShd2NMCX_{I7G`tAK|L9*KB{B1CJ zKnlSxrI~G?ah>n;3Cx(?pKJdOfMX^6jK2-AwSxyF0}us!OCX}s^eEZzvorwNFf;(f zj&QQO8M?pL!m>#vnf_@sSKdb53ZM!@(~Sf-j3T)B*Il#te;^_&{h|y_Z_F)dKk^4x zDTT44Eb%IyU0VwJAA9{fzIpfI!s=)VJ+5EAcW{M8Y;g|PJw3JG89cLY5@y~Q$a9twY^R4MG?2B`3Vut7Myu~2o9-8*NUs@j2i=7@hM=Nl8 zWX7!XlJCcBgJ(IkQ)&j-%I|KaQOZ25V_VnYy%njt{V_Flj26#An z(xK@_!q;DO_*KdL{^lzsZz`6(`Gotc5@|^=pK$tBVVhzZbY#-@Vt4cx8BigMl+AYj z+k<-i(>Keyd95n(f8qIBs>+HpADbGMVoEY^v8TpdC-6VlB{j`_Id=ZskB+{(@4c(G z+UD?yQ|njT^mc{Hy0O+-b_E{`3_xJ@pI|>XdFu~+u|Rg9l?_AIJx$afc;DXbj?UC0 z!p(Q=B6V@xwt+eW@AktfF$aHM949gNJG1S^2lPlC@_c;u>Z+-|a%q&79rqQDpBaf3 d|C>-n`v+iRw@Jte?Xmy>002ovPDHLkV1kq58~OkM literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Shiroko/textures/ex_skill_3.png b/config/yosbr/config/figura/avatars/Shiroko/textures/ex_skill_3.png new file mode 100644 index 0000000000000000000000000000000000000000..a2785ca70a6042c11e92797d36b172b8bfd1fc51 GIT binary patch literal 264 zcmV+j0r&oiP)4nm==#jA5L~c#`DCC7XMsm# zF$061G6*wPEVVBK3bL1Y`ns~eU}EGG)P12IstOd6EOCt}an8@pP0cG|a4t$sEJ;mK zD99588yNaOGQ*@Zb%RVsHBHF(^7#o|)D#N^+K zq+6OB)wpsy#E<(h35N=KyNfR`5fkQcJGC=nne=(fL;I~kNo-zxk2gy0G8Dz0QeTR2LLGD_7YX@zN=sL8dVR| z1R&+4wzeA6DV-^B-p6jZZ>6)|;%wXm0QLejp1lMecKxgw)4cZ*Y`zGP`V9Ra$4w$Y zFQmaDO*-ZVJ3u5`_9aISX8-pm0IDk1Z4WY`c2zqXHk+^#;VykJ0ao+6giyf6EL1SH9Ig- z2$E#n;B1Ad?@^%@gODEE h5%G*bs~H%6sH$^a2tToI_4+R$uBWS?%Q~loCIBS)MOy#> literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Shiroko/textures/for_modeling/leather_layer_2.png b/config/yosbr/config/figura/avatars/Shiroko/textures/for_modeling/leather_layer_2.png new file mode 100644 index 0000000000000000000000000000000000000000..abd64e6b2afc513de9bb4794d53f15f5860b47e4 GIT binary patch literal 322 zcmV-I0lof-P)C2ia4%LKP}`efr*W;P{}&k(_|QiVHk#C7=~dO#_(8{ z<;0lh`T7niz_IV=wr!UP!wCS=Am3UWR{$Nu^gR2Xy{|d&X|IGpAOpLv>-r{$dA25b z%*(V0NKgP0LqR3t$&07*+Ys1m5g4aN>D>K);}U+VrJZBN|rIb`d|P57t+vV U)x6I!H2?qr07*qoM6N<$g2$hYH~;_u literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Shiroko/textures/for_modeling/leather_layer_2_overlay.png b/config/yosbr/config/figura/avatars/Shiroko/textures/for_modeling/leather_layer_2_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..4faea6d65b021018577bab2b0b24edb8cc59df91 GIT binary patch literal 181 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!3-p)I`?e@QlbGqA+A8$OGhHeL?OyTA<0G| z%R#f)L-Tr$Cnr#Xu_VYZn8D%MjWi&~&(p;*#Dn+kK|?NQLjh;Ux0kiP+ZQEGR$6+H zrEa6KRC3Qpi*4(Eh`w$Ue%-b9`GdtbxHR^abg^tQS)wRy6`JRve_@@M{tJ5|DV_QNxTl(wF^laakvR?u3>s_eURdzxqhqrFz~_q?!t-avuQiOY}KGOi1l z_t_$MW@5UV_IaDcUc*I3aVu-m<_Q~c9eXUg!CHCGwbyKG7+oK1Ntz${aY5JA7iaG3 zD}MCS+3>h0Ys>W;d)8?-U74StIeq&}Vc#>!?`AzvUDoOGJ9z#hmVdET1oSEANutbKc` z^ZCEI*M8e^y%nuIb@f*&-zn|~uYe{qFgz<+Si53r*zdI;u2rA1Ni=bP(Y<4~bVZ-I zxZzR;`_%W}e=lqkH@J13UBf%p`u_v-`lOePr!Mz0e2`>M57Wq-(DL9E$QVyoKbLh* G2~7aLiB-M; literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Shiroko/textures/for_modeling/trim_leggings.png b/config/yosbr/config/figura/avatars/Shiroko/textures/for_modeling/trim_leggings.png new file mode 100644 index 0000000000000000000000000000000000000000..509e2440789e72a85fe37e34c45fdcdb87ccf18b GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!3HE3&8=$zQW>5ujv*P&Z?80RHYfvV0V-u+*wBCPx1{N@3a#HU-C1krE}gPFYi+sw=hu}7 z;*8{tgrEJH@%_xqP4CXzZBqUG^t+_6c%5{gTe~ HDWM4fe7ZSG literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Shiroko/textures/for_modeling/water_still.png b/config/yosbr/config/figura/avatars/Shiroko/textures/for_modeling/water_still.png new file mode 100644 index 0000000000000000000000000000000000000000..4160162623a41f8b4f69f238be3b881352b5af8a GIT binary patch literal 2419 zcmV-(35@oMP)W#g42F6Cdvx1X7FqWIDbS!nuF_Qs4M2mY`SMS)XQtn`Fq)*cEQ``3lA)W?)+a>?b*SP=JuU{`efBt;={rmR|$p_Fwx?p)xbc1{|U-Evksx5ES1?ZZQ zRduTt=rc**B;TlOV7-8>YI)cD`}<7_UteFhLTUVAh-CbW-iX9`D`1o~u2BHXSpF^x z(+xT9AtXNUa>eMix+}(RO{iP-@Dot0%l>jJAbKM|%+eYnmj#h-oFSS&fBxJq`FGSW z==Jrr%!Bcgx3{-D^I-dgyYYYvBUEj~1K0*rJQyO$@W5)+0}sZ}qrmZ&s3EWCf!UQW z|QS!8aa^ zUo_tJ?=BBUA({tLKhSf+G9I{%n4NIuhx1)|kop8I`xXz-T)FW8sj+APaevwL1NmS^ zCpbvK1BkA2iU(fR@5ckwE`)AC)gHrq#{(9LzER^I@__Y#@xUk@@qiy_@j#0=D^OdqJBZB-$y)1>quoDNW^OqTeaEo zAUgt~eqh-~%Xy%CC{>KiB|PBTuyJ1Ef%SQ19+>umW$L$hAU#%=?B$#JZySL32ibX|&4aT4fcrp;2W&qq=fPP0T*Cu2ks?3Jt`W0ugFLWC;C*?3 z%zU`sh}=9#ye1Fin?}iKtx>XK$Ae76Jpm8AiDVfMS}qXXXdw?QCRpOzYM?ue9@^}0 z*4FER2iB~Vk^-U*;=%Y7`7)}|XPO6QFi({S<@Lsp2VSU1i3j?@$K}C!_QG-=WORdT zc%auCN<3ggL&vCbpD=kKt&`Juui z6c5tt3vMI~GV7P}U@D~Q8Xh3Ki93tb59FvEwK+KBT0F2^VW{igj|XUagFKMYKxrPJ z$zz%ap+7NO3%$N@8_pRioWcWF3T+;E9p?T#u;#`T4|E_?N&q5;sHm>m^|qE5FihtRW8^Qqx}j?c#yIemh(XB2+~!1eBzcwlXG$kd1}J<7(NJRuLpyoWY| z9C%QPe3|BfHkH#n`274do%rOfE%88;E<&v*qe> zY#t1`Ew|#F4OhBKJg8dl{}2y0f8rDmX5tgi=YgK)tcIN8!7ijK!vjkJeLx;)MIz0E zXnjF0l}IPWIXuW_COMY}Xf7!8z{8u%gUB7YTVJ@G2kX-pSdFB4fYv0><3Yx&)8fHF zL-F<~w0ICj#kuhZ(>#d6iDYc(8OPmdtf7 z$uUFWG7fzirn>u%GRvi zrm!jxb{@@tj0ajj@OY4}!DH}XY)v+K;6=Z18>IY+)`Dc32bui~kO$fI1w<{1()fft z$ObR9^n(%)s+sHl=RuIkQ`-xk()C0<;Pu894^W)qHn}e0LFD$5JdoPTS{_7MStD9$3*|Ry@*<2VSUc=#2A{X`vmLhvk9iB*`LpfV5K*%|Rbo`&GYCq|+7Wgd83fLZHiGEv-@ z2X3ORQ+N<&@~kB6Zt=kS975|S-X3_Fp~vMxD<2Btqm^_1aD+rh5~ch|rObUj%^MP*Oawaz(Xy08;~3d2onN^jtiW2NvE;KT_rd6j|^Z9-xGyC>kQkyQ9eELA1UQp1;uMf!Apu53&apOr6JqyuMUDE}_JOXg^bm z2c?q(GX==pfvJ4!{4+v5c{)%Oo3Q0aTE+wK{0+Ig%C%fi;en@oQ03T=G!Hy${=fsY zB$iD=M|us(8bWGkUJV-0s_vHbS|B~}u l(>$<-czB*GI!Xia;4c+w?RAFT8E60i002ovPDHLkV1lt{nD77q literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Shiroko/textures/gun.png b/config/yosbr/config/figura/avatars/Shiroko/textures/gun.png new file mode 100644 index 0000000000000000000000000000000000000000..477c1071d8827e1e820c393567cdf565bc82558e GIT binary patch literal 874 zcmV-w1C{)VP)5b$S%a_A3h=?Z3U-WJCrnuL!zpE#v5GJLB z0GYumF@0)iGou)6934$ZvrZRNsrwTp|Fr0bc8yl7gaX^JFCs7ode1x!DD z+-WZ!@11>K3$bg)zUAR=X_`Vx2`MGw zI4*uS(UwxeE9fQx$8lV=y@B?@uurC0C03h5)uwQ01M#uE84FPr%-!ctMqtWs+Wov1 zn+wxAo5RJ!(TQ%i+i*;qoU7@zF}TiPylvx6B^wL|+=@KT?K`8g5Zl;}Yco9uu$o>M z%hyd5(d~9y>pLWrJZKK!YBIwdz#M>-63Qo~EbcB>FsgNcrvMHKx|4;-a{x-iH&H}i z4Cet-O1yhNBO;4}J*%s%j@8I${H|;vf zgAB*J`qT$s+78LX1h@?RY(UpEbQLhV$}qYF7+sV~t3Z1Vfy94#cq%@$S(NMmm=6Hs ziumB56#yKW&pU8-WZ0GIAdL4;93-D>;niI|a87`a+0M}x;E=Iye}vR{0kgej>`4xv#}$JJa!;ch9HC zGIO8wa}3p?KUns;#Mpd$(`4wY@&U*IWWo~oVrOI;3p!IyV%FF*J!|T-`HEbwOuPKH z^;h{^8P2UyAfXsdi;jQ{`u07*qoM6N<$f~i!K A-T(jq literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Shiroko/textures/main.png b/config/yosbr/config/figura/avatars/Shiroko/textures/main.png new file mode 100644 index 0000000000000000000000000000000000000000..cc4658a872dac6ee39ccbbd493b14b11ff4232c4 GIT binary patch literal 4386 zcmV+-5#8>IP) zdvI079ml`ta(Nnhc_xEY#z%crM0wQ2A%cwPU?FV)WvUfXsn!`OEw;7jO!=eLj^m@1 z7VM1U11I9twiZYmVjQUxL{JdXik1mfXrV|6kmNvsKyvT)k7N&f_w1hC^U66lIiHz3 z=bU}-Z-4vS$Ju+Yv3=Xe1OV2JAB)HP^)tY+seUs70Mk5yOlC0ndmZ-eKZFGfZp%x% zs_G4L(U?&HfGN|;ZTWT=DF9e}|NYVcrg;JYkjV^&X`ZkNLWQXE0I*=eZN|R+htSm2 z?5*ShkyZtu6{q(AY|oDIiw0m*{bthC)Qn-nh5`WSeN$62%+@x~g%5%h0DSe5D;)!6 zGK2Ff%Rf6&Ik&=SYHGHw?0x0j3S+^7+l;EJH;9iq_(G`xteT5dKa&}Z@@p>_#@+m3 z1AtB;uvh+G)J3|BGyp7pFd}6er!P8N$XUe9RVoR zt-FLkhhs`mLub0Cx{k1w;jffzw!^aGyav>6*e;A~nkT@gPvcX!ippE`D`Ip7CBfOu z6aW;LjKrmvU2Hk>&!&08syvWCGy=e-mtBnFl9AG9zclRHP0SV(*=#$q*>;#MCK`6_ z4nzuR0BAgXB(H_oXQ#;y4YOzW-aKvLpNmUIqPS!v8V?@<086+!6RDc&Idd32x{d&Fr$rpfVGsajjVS`a2|QDT_4`}3GT{Zx3TRXPW+Lm)HPv;bXz)O^ zo;Zy?yZ74sRSiV#hAjO}^_z*-OpshA9_KS=gDScfPIhS8jW<|@-&DVu@OGo7x{gqH zKCUQzS|@t1r2%mvj73wr$!tZF*{RB+D_yb4*th?XG%m%-Et~D=eC}El@mCeuY=<;1 zn}+DVsi_$$rwUR(qvaUTcKV!0+v!d>CX6h;%D-}Mg<-a~LG)p#%Q95)RsPBh{O$)t zxz^Vqr3&D8KOpXez8?^Gv_=8GqCKJFly2D%h%?$oP=>7Xl+<}63fl+*uq}o8=R!uS z3pniubQhuR2k;5=W4vq=gkITxE}9?Itg9uNAsLu0CPY`=ikK}XGDC;JY;HkjNXA=j z1z7t5?E0O5R^d0kiu!jp5&+0%+by@6b+rNS2eg=$Xz zKn4r~1`O|qyf^FJ%hIF8MG6EaZ?t8cON%p zA=(MCxzmr#y}O|K(~rvC5&-XT&80rmw+r1jZEvs%=E}Jb zVf5rVHuth6EAaN#PhC_w7*ZX8!K&S~dnz&hmU8g!lWrV`fg^_4+yMx~1Hix$Lu?t+ z^m%Cd6x|jTY4EIHK4TN`gMY0@yWpLoRp5^783F*yQ~dw{KQ%fHq{`hYSfBn{?yB@3 z>9WhZwtxzUb~ip9-ks)a697$!&sgP7=`Q0HbiTGxz^x#33#fAUnxEft`x*sk*dVOE z%u0*;IxUMRUsXCb0q_oPMgcY~FPPDj=Lm<#vL!2of>ec?lLy%Z6oNqkzn! z|LAWUh3+(+t$Po+4$tPxj~GsAiSlFdH40F-CAqVC)?ViBHk}~CKSMgzXG!iXfODgg zO#o3(Nuxq*Tf9d@jm3m13ke~FbY#yEelpXOu{6MGuHTbMGnSReENf53GIT0ynUIj+ znzMg;ot*vC>z+rH>QyU9^{N$-#rFlRyjLNx1&^!}2?+@a2|XO?beA7`D(_vKOpOx~ z5)yhEO3Oa)a5MSgu76qwk=U=XO#bwsZIQC{UmpVih7B8vrNb`NF36UvM|&D&CVzU6 zv^}^K05IV9Pr6Rq*9j4tut*TP1@O!0l0o=_xpzw-+u~cU9&LnK$uJ4@y+9!fL8}X} zr!nclMgDXqwGr&^gusOjhzg|!96W4457?6^sIShtq5ZhtVeD=ZK$N3|iuAn0&B_hO zVNFA=KEAr#{vQ9};Zs(BXXgR@uq5kF)oW@A@BKN(ta=>lF1=7b6Lf3k`S7Dl25A-24^Cy=a`k9i<>wu4Cb~vYD4DVu ziwFP|WxvF+V~rR-yx6+7_BkH_u=TCy0ykW_T+UG&Q>m18o)fR1PjtF~5Gnw#{$4rR zQAC_Ry6N1V)Bl~FSj_|G9zCuIp*M5y=OWKo3E<6QXMd;aFY0P_g3f+zJsZI94fzj6 zNCm*EdHX37eFp{iZOtHgDA#$iV|nUaC70v~;hzlv&!+5xFr51HnZ{3SZvBhLYZp!= zI49%j)(9@m5%Q#=8tVPOZEFzsl zUL%ejYXpFkW zK5h{I0I-YrOtYni_CJYS>psY?qREg`c-^ZX<`{;to_HGy*AqhKFx^Kg%jq}G@jTZ4 zeZ$(&ZNuAykefXiL9g+6VsUbFqss}=Mvq#X@c#5U7D7;s2L0fEM@UrJ*rFo<5i*r`I|{_Y9;}s2iq=YYgk-Ag zbsi9luCP8w2w#d>f_Z?O77HtEx5FDjox-Y&VnQK7Ta!qhc{c;%`GH6)WSSDWP2dq( zbSF2RFfzB;L2ZDjkbFyeo#3$A61&!?6CnfQNlsAn`ykT_6xCV)aBel3mauNI?*Fy| zjh|4S*GfNqC4Ucp{xx4ZR)W4Q;$MW&H$!I{Kgm0G$6r-j>g?O7_t*Twa`*Z_20{&B z3$*GdC0JMe2LQnA$~yq8aZFJ528eafKX75cdP(0a!o`rA0`ai#0JqmI$M(AAHb2?X z8=WIKeFtT%PY?(Nz!zwCe zRI9If!1Oswh3@=GbKO(s{FuJ^&EI$`S30Hldx%0CQ2FfzsQmTh@vbi zdc6kpdI7|Ka#A*95$QF%!cKfpw^AL*0|g@hFDpqMV)eyI5p-qvLETEn6=k3+$nOwB zz7x>*YvN9N`b~3f75&zyqX7U%1%5n#->@e3hSZ6`3qO8BIbk>VqF^RMVd1+A6#DssUatX(0HQ8H)cCdmVVo~;gWvsv$XA15zyDXQA|n^TRaXpE z2l9bxA0ZS0(AVnKf2|55`8?>_LAHkY=-pQ_Y3f~4f8lJ3?gji&<16N(p$B!TJl78$- zCPF%azVemAUhp`P7WFB%pYGhYp7*oD^Zi^0Q5?=@5P_Q#z8<^4Bu1XH#gRxY-)vd|IHgJ0u3KFfvg4Qz2I)n z?>2mx`0fHP?`{&_2NgbS0-p#uwXVp|ZTO%`W`ZKeaiy~W*e5}(ALZ^>*M?B6?jt>} zbQX4QTc1}kT5;ZuhGluC;cWMmG$f3%W6OL^gm?}3^Zm|Wvf%r*Dty=zAuYy^EhByf zm5`8-kdTm&kdTm&kdP1`^7aGht8ePYKZ{VkE{{7}h35t0L=fi-MDBrZa4=}S7x3H4 z^lU*K-!dn=!rhTc99y2^yI=8ro<+8y$-WegdebwsF5px#uayo1-%?<*=6#+ay@;p3nvXTHh1rE%A7#FO5TBrrAdh_ZZ1%ZwNIyU5i zBPU&@`QQ6I{>1k?dZS5byTVRd;D()*U-uMGw{Q1)8xX1h*byPFgz^s)g@jN8?!NO^ zxckmu1(E@;1&jV* z1cD&_e*I3H;}u<3kst5>RgFy85#ccpi`KAzLm(j`At50lp?4DdLyq@-+2ZM?%!}s_ ziGAG?5)u*;qQ(#nGpY>_*1yn)o4^b2_k2On@BdXK+u~6dAZmKO0DSi=zR!yY;_LyB z?)!fgz7z4fSfO|oOi%*w{c=>N0%2%CP(=QP3HE$}8)BmYe)0SM-|v1wJ9kv?sjkmB{fYw6d@G=zyT#WX>IS>y*3|jD?J~!JBdx+ z28YzQDqgJ%(R2G3zx(=NWU^q!un^)zMmz@5`0Ih^jB|WAj6<6&h#a3pH2zGOl_H!= zl+lJ&*laDW7Y}pprzh>IZ8?5|c0{Dl*xtz%0x6FJIv@D6vRT;p-P(CCJsfp^zUidZmsW0?8IS|J@^N@^Iy+ z2L+cKCQE7EC^BuofN2K3|-^4+3K`uf&0t>9hHf^W(ofmgkm0 zs&y+~>>~3(p_aaDWh8`Hdoz|4Zc7Ck!fnIEbT-C%mYkhbjP9Twye0AtbOQonvJ%Ym zgAL=PK)*RZVaXXMe*ZUjM2RuaWysd}Bth12dk*mKfxR zK!G;sB1mBTS9Lwj;};!>t{~9|`n=y)Z>Lwf&AMB`WIuAXF={)+&$qhO#>VG67&f-N zw}|ENV-hYi1h_B6Zl0}GFx-^H1|z>uett}d`##r}dl4Z3#=wk}>Cj((nGo17Jt~L1 z+|qb?Le2m*IkU2Ou^vo|mQw=2su?jr2F#dlb4ZnCNTuLxy&7Tk)*w^#YX*IYNW+3pj94-usp@-nC!>4?Fyr}atWCj4>cfVG40{iA- zk<2Q!A75jbxzA(03#zz7?b;sft{BAl9eAf+UJ_LS_=I<}OM)>31BUX~9mnB^o?*e@ ziy#bwRHxp78UWkBN1*1Vm~-6g#>u)UCO&6k=r^`%XA^-msT!KW>pJve0KAr`HQ;TR ztUG!1%jlmTh;dCx_LDM4aCEO>tcp}{KX{pgs=2r*|75CL>5?dRS(Eq%<`%mdCqM#$ zz)d~K`wEuqTvE85-{ZzS10$ESs@#^Kb)Ef~4SzC{#m`Bj!sEOzGbMB_5@483RoZ65 zQ<59(br2i5kXOfceXy-F`=etVCw3Uj-MITq>yHhn7p&aNH27@h@}l;bKV~l*S&EUC zWj(9?NzAUNOQgH*X0gKn`zlS~v)9rwuangrDEJ*QoXH}lM$H`Hdi_upaJ8UmKsTPzGHEL``20w1XJG-50`TKC% zeTIN@5dTt?2wzoYmvWKTRZ|ROM^=NvqTuUcDn7oScsj4mc3Rvhq2>m}DHxdWDhhK& zVQg|v>o2{y3aVQyBHAS+K z8m_pQWex%e)%7UNczGih-1=K}F~GE=Kxsvw%HPL{x_lGqpj#VZNrx0dn-qK=wh?Jg?FLX?Z32D)Z6 z;%L#E8!Ujyx&H%M>?_sLVQ+kM-;axs{2?!myk|+$yrbsX{|5!G$FH6(_uica#!ibu%| zBfQtsrjP^6U?bvfL7TS43E9~gFlQG}N~1*Q`%hD{e3* zQO!Nnk7Mf@jlPH7JRFAmu0jDbfA6Lg43|IRud20PQy^zh@}85gtM&2g>jB?m`NKxm zvheSdV%Q*7IRc0CRSoX)^~w!_iP@mM$O4@pbQlP&Tzc1ju`=h7*2)Xhei9)~Hc7B` z`_h$`V=-Rd!7eYRk_;y+0|JY;p($0uSteLzzuIwe?F9&&*~;nsFG2A{jNO2J`(X=MM28;XZ9m!6u8ak z)y1m4rZX6_)qFz?ESDC9cdgN6T%B8z%u}ndDiKa69)|HFTU|iBB6MDscCeoFSO_o| zNc>`)tci$l0Gc-U?zi3VRl1m(h4?fns$fUD0zR%hK>BEvXg%&cuA9 z&yqHigG-T8=}8wzY_v!`lJU`PxRwB*!Vj7;AR;Mz6v}v_?moeCyfBqD7I<;#*e@{) zMG=6Io)wS54DIybN)LC(0JJL&ShG2^>lpIyU0`S)`S2Mot1lz1dGr*fz)6`Q7}y}b zAhX0z3RW|VP#lR5WO^V{zGeYyH9X36&8)n*dOkdB@A=EebTaJEPn|h%Yz&s?^+Y+G zeM42dK0cQk_pau&nZtb*`&(}bGpfIni=rtXtd}kd@eMxYA_on<&p9-$NXCF?OJE5L z(qWU|9K>YKmW#eu6~RYxWAkmjrDj2@a?V^UadE}3xeP>-vnQOq>6;MU+vfZzKSe@> z{JQyHQ@F|7pmy75_EC#L=B)A63pT&c1RHMdNg!?4tw-7|Yl zVZ8i7glVbUt3QJLJ}XR=sVaP_sqtgh{QTlU-rR(3TmAYmGNV$qq;NJ&#t;N|aaUA7 zeaf_p>uP`Mya0@@9@0ecyR26WXSQxkCSX!+83ivNY6pO#|Hw9uHq*a&-s?*SKBHqk zb}&d=i~=gyhnNml(k}O}`Z}$iaBkGB zVdB@w#TB%M=-0Ao!@lq%^jSmf%X>&nXV%4Bz`xb1+<)8CbqONIq@1wk0K}@<6ayqe z+J+qa?z!2HYX7}KA`2pM*OUMcOY)Ywdv*T%r`E2np|Kaio!a30wE}ucHnnj+(HBsB z2rd!|jk&h3Z{gxb6S9ncXlzvP$`b4OUd<*H;P&^L3Vn*Pp6idh4Z(toadg6yY~_Sc zqx#MH2_xlnaOb{CAHQSXF?zv#nC2rA_7^(hJva3S!vg@~VNbq&?NGT**T}>WO@lt8 z?l)>t?X=@Kw4kJpustTRDT zq4MjgwTkqugvzF-1Px{>e{0lZoy7$8^U7PJvO@)wgz>&q&bk+6>!XVy=&6?{2Q-#L z*#phayq_dch?O2p!PN+{h@oY@%Vu|WI$3kV$y%KEW?2aEs%$~vTs#h6@|Ewq_ZuymPHs*^bda=cb}9YOu)#&%QS1mTso#l6H5-e%3Sy zsYt+J>hbgKOr?}vJ3UL%u&8=Nvem{5#a#-(jHHca%oz+Z$X<(m4zR*RPaPmo<|_XM zuTTEs+ z@83zH|7skbRkK<+d9oJFPL4|)6rW`6JSy|&#aTt~)26ccL{dPh>-RAEZzGfPjpdhG%oWpU%fs(H=DsIJL&j`KFsnPV-o0SU6D~i?jZwH>uQPvsp%045nc9Js}v*#;;zn<4U}B`pQ|K>DUiU%h=mM?*hZcs{eR^GI4?CzvWb>BRo8e>7!!e83^etqpuNw_UrX8vWT$2yM$>vg<4AKF%{N~wvpjW^FkWN^n3$9{sPqV`4V>Jl zTDGOha*wa+mUE2o zWy8k4c=WIUb_d&w6W+st@>Fft=q>662smF3uw5tL<4Y?hJZ<;u9LustWq`2@Ar*Vi zPlzOg&Mw<2f$py1r+3?d_d;pcOrn=-m-mv?XSP}RK`bkcrVl!MFWs@{^Do4nnCu)p zTf`-QE#@dKu(BHvoIwG?8EbLF-V6`djVZu|f=kpKRpC3#G(W`sK%MCdjkIPjFJKd! zIS%*NTKlCM&+*BhTw|I%>_D!{mhS1vsVMWeX;ixb91tludd7PAnYFYWadG7B!`_4^L0`g zg$d=Bbn)?CU%ok)m-(DL{W;aqPFaSnTvE-|$xma4u+V3XL3|i=&5sBz&(>ub>gvvY z5PZ^c7|kxa?fANFZ=n|wMlAZC6N0T=jlI=rcJr)yD@7J5fqS?C_Kqh&1}B*^Wo>Oo z+Ss$~Dgjw%S;lp_l3s*2*3JgSl|c(VwY4tCe43aU#X+<;@YNFuE+mQ1luA zi=IM)9RK4Z=lR5v=n-#`=VNAWP8b<@72YW2fCFk438qq9E@ilSdG<8XY`$uS4bY<# zk7(B>9eNr_Py`P$hiO`2#PI){Qh)HT%gi*dVqyrH*J7l=(iLX=quwJe=?|;CDyF+G zkyjsf%tR3Hv)`y$Y3iaw1Rq!&mHU51-fZi@~}Q#=w=Flyl|_!N1Fn2p5I=b&Q~7mJ!Q+M+5iBb$oL^U#i#f& zl$Hb9EN1>-6-f?!6EC4Kok>&UmY_oh7)?**iZu7ej#v6~RkC&Bz5pqWUrRNiYG;;ST4AB_C`Omb1G%}lgdt0oK z2QSS4$O*uq?nAQ>;-9TSu`1h-efgAv;zc7)HH(Tj3o=;?S>@$qu#Ln&1~zd$Lnd-N zw|tA4R;0PDQnoZ(#zrTH9iWJzCgBf;L1r1?5_KMn%gL&))dC{H7gXJXjG{iDl<1iys*$^kXExpy+O6pzeY%zQi5Rhp;(cBzCg%rAl7ss@W6|5+N<<5y zFi}fQZH%hca~rwaC}Dv#{95iRhhM{`Tj!jI)V2*HMz93>^xX7r55Rfs9?32H1viZw z^$Fj+vWlu^McT^uIdNCl44J9ye}N)>ydAZb5;c4txPL?I2!xczalId|yy6w5qT7F! z@%vskcvxx`CC0joZ{%=>z`q}@f>l)zW@nl-ZBS{H(SNJqcnc z%<}HN#v4j&vGTI0#LQYb9;&%SzcdmJXqVSa%%c|9W|P(YBRI^>ozIpn$3)pZv)1qO znEe=HxOhkTeLrw0K;kq{GefMOZCQ2ry#lBCX5%pPC#R*3i6 zv$;&h2``+P;^)YY`)LK2l^H4-<%(@_ZTVx?@6MjK_7g!$Oza8yT}Ky!KN*C)tF~PFFF2eq$O?O=vUQuEv>ww8r`D z!9&jSoPf;6j7-fy2LUgfnkG`8y1(1aIQd-`_p>3&J9N$X8obrDuFQe4?j%K!UYDG$ zSFqodVLyfGT&uJ6l<6}C>aYH3WpIWgFoq|%^l!ZW5S3#>g)sofrgNJw{0$uHhB|k!F#0EYC5Q7@)TJE2#iI-VZ9D83R(i!e->}n_UC4LS91uNMpjaWij zpD9E@LaJmZJ+P~GNqufLu-k~27a`|k)F!!xEPFT457<8_*+UYoG+j4mI@ZO;n%AS9 zM$nj}(qrKPk{2PsCe3k}p9GE?bFVb$Pe0V*85m`>g#4-@bT6MIa7t1>jee}DC515M z85uMuzq6EQlMI1 z-P;z1%!xg4m$2?|tb9(oL~Xw(U)^!_jQl8aZb!$3jJT2`EUT-&MLJmJ>vJ$uM}Mm@ z%>)D4nh(L@gsUPC%iliq9LR0+Sn_ooSy$IK3ailmXu&ld6~P$EDlRxoq0NuOXA~Ai zz8;lK@>`iv$mEnl3bA+W-x@|jJRUt}a`10%$uuYbsP6UYwUKH_U9ecmU-+6^X(^pu zTFqKCJgo?l%Tz@ymXa~1D>H5v7H}pH&PE$Ww*~J9vDO67Xd)MVS_0iA4Q!Q8>YCR_E8XyU4dUy+< z(^N8c=lg%Ji)nMt6!T8L{mcMZq?>=ip}-|=&R2TClDB-+686{;Z-}A<@Pt&onbtMc= zrFYHW!*YgqB=}2w!(EPMhdT9Co`eD+Nbd{zpXqLCK0DBXikmmu!`wFf)2Y&>-CSxS zP#{Pi;njZHV%O-T2ch?V`GylE)=EE;I<)xcnz3Q!4Lf<;TNlfUvz|TR)myKLyK#VIB@`x3pQ(Ku%gV_I*kW zDOK6pY)U@UEu~`%sDGm|*4HoBhDRWvTQX*g9QvG@tgfgD3L<|lTSV87*I1iN?>-f= zD1E?6q^|P{Car-i&qf1<;{Aq(PLXmpK;)Sjo}`y9RJ`K*b{7kKE57)HvDBCC7o;R6 z+?z7FB0OYJnf&*0k7iEA%$;Z0K#Ls8gYkPC=o8{YFdWw-v}VBR#*@($aPvepYjb-m z)ITDv9xCVc<4vdUScGSfWA1L ze*sfLChDP;p9C3s;|^zSZ#i~hRr*+WPvq`)=~EC43nDb6u*AK7Rat)#un8k(CqK_P zuII*E*QUxy2~BudY>bLw0`v=J6jBo0O+?vSbQ)}@OnH!ldtXtxiEZA8glhdL zX-u*H=IP2_E#eYk1_jVxID=MVq?5fCKahJwp+exQ8dQ88`mc&CCY#mpZEk$|@?|+C zAvVKchxhE`5`ws5zw$794gTYP;!n;$%2P%dPf8*bYE%(D4Z~Te85qiVQX3=IeZ=j$ z$S2b(R)Z<1hgZlogK2!(X!9DMo!s3hgV(~m=C>|pY7?$N03=NZm}2d0NGfZgl?$n9 zyOl}Kis2s~8?`{c#cbn)hPip41Wf}GR zqCS4^T!~q0GX2(+pI^kZYpA5oEJnz%0XLpn@f%{9Wd^BhFTOKp0-+>PZF`UHY{xmQXQZYlKJ>Puyi*?2GFEGf!u%f z!NxSarY~GBkj#sw$Ruf`e#0M%eqT9p(Xdra06v|eyLrxWR+yMc1k|hDxKS53SESN8 z+3$38QEz~I8}x{R`4O)RX-tExpHBzg)0%Bj44e9c>TJ~!@eC?khjEO#k>*P*vgKBt zq)W)preU8S7?D$2&Mo+8d1L}&*skg}K^h!wVf{(VV;tG@)aq3JGbc?>>k3=jqYxK( zR+t}OwzI>Gi-~&v2P#yhA8jBfXX=$&Rwbp#7o=>M= zFApasxj0;ktBG_$^0U`K`v|{-EiDz|jkCHYX4aaV%}J+>%*`oF5IffKc#>u+{F+k# z{6omsOEaFWJ(?hNFNJX`G5G0+zt;OH)rgJ3{eu<=`V~27a`$SsO}cELXe&gOhj+C- z@Rr;t+{wp*^p<^WB7*HFga$IMqQ^RCqH4 z3mc{kAp-li5a~XG<$OrB4jCu78U6wifADsL9M4N9 zGNiS0AaSNRji1AcRN^O?6vu+Ut{kXY>1rN`kN$gjQHnqRm3RHNh_|bB^!s+` zqk~WMaR}MV^5SBd*(^pH4CfE)S|!B=My*ms{#cO@8C^+ z&6`@F*41+T;Gwh;JoQ==)2vb(43nk7;o}<~{!8=5<#iY=qrn)Oj9&exBP8!B;GboI(}wbvn@|y-u&(Q?5JmAC(tN@6Gl^fpR^PpF>Llpc<<+ z8*HOh1QbXp4*)X@x6leoU{q+y7=2x0Lk`Qwe>Xb~7q+=0nBw=}F2iqG=`iqoPL&Ns zMOWRAwU5@bgJ-pP5iAMrax^`R^Liz{;L(v6giOn4y)w}eFAQ-imno+H%o-Xb!auAM zYVP6!olJQhSE%ELY&%+&CtjkO}yDxK(MkWVBw+-x4AF}nI^YVF92b0v2sVxU>K)2(Zu-c@Hxnu%%bJgDq0I9aGnNxu3S^lu^Q z+~r;rllTS%xRQ?L9vxoNI#w*#M!FjhRp>!C*dQui>5sm~VWoWY-q}%30SZpo>Mrsq z8yIcMuT|O-RfkrVr<8M)NkT!1qmeclUtpN3L+@_Gku8G^?j$TYi(?bzm}*rFM#2QI zsbC@U9@0qctDHU3r7jhHkR& z{W;7s&G^gGYtfl;{e-XLglK`Z43ew8h2+LzWY2XN5}o1#lB>5@So_h33|M3S&>=;l zXZR{RPU_ON-j&4j_i~pz4q2;KeBrEd&)N)Fhwa&r!^#8}C)-4d9}D_n)# z@xq?&@Jhs$Sdpiw1`aER*X|0(v#hD~<9Q#c5Uq?j1@iP!){6R1n%`Y81i&7Td;N}= z+e|@<2<#v}RU@A>z6;}kr+uuf@#-av+<1ZKzobqPXi^K~7&8S>o&m|v(7Mg)%i6Xw zU8|?Xj)Nm{Ww@BPem|#@cH-sDcmJt_zIQqa=4r3Zlkp--#x`BfG))Oa2XWD&SaA%9 zU&@RPm#i#)AB10x1z?m89woOP_Uipp58v0?4*PVb=z59nw+w3zm(7ROjL`$r?6F2} z6PdJ~KL4@fat{Udh_Q_3r`x=_H?Sx98TK6MdDcFInR_1`oauV%MR3WS9dq~vXAHnU zzg+%3|2sAYGGX{es!p>re+Ww6`-#k%m?dpny~Y`^T*4!OMD%LG77oRt7`OKi%Umo? zKVCfbKZ|{g&AoT(2&<{-Eap9&tipz%-$^5da5mn2<3J1k}JeF?GLdV zbcv_=)IWFv6-<#<1y6HmPH@8qlW{32qvNe{epvn2W~L1BIXV3YWH3kfb9XEXnrARx zT%im22$e6`JKwF1E!qopj>>2w24DJGv!R}de(bsi5 zkL;&ut=H)A{}X*fw#PGQ%!-C}4^%SF-`r#-Y|{dhILe7|>>+SEWo6sLTceLhCkLJ& z)-luaV;nZ#xnSGa+^xJ!kkjp7MJ9tH0vxqm+gwr5jTr98Txh5@eh)c5!KL(+AU5M( zwqN9T1&NJc-cNKD|Dn#)={hG77}9-E!_71!Lz=fWq+8E8lIY|5HM+%-#Gp!mVr@aCN7d6j}!v2MZWJ~(zPC^ zd3~IGIwTk3?e7t4Mh`*$$wu0#SafaU2{f&2fi!zKnQ(4K)wF)|HaIn!6IkMh-jOO2 z=LFoere)`J&Is7@i3kPnb&-ZxuhdjYh19WWtcC}!_B;0`YzRRPZ{s))eOl!aw1WVz zaayT#cVwGiBT{M0nI#0YvXIdxWDhB#Fp%%-IH zxGL~k>F%cg0sB~glM1Usg}Ax}`wNN1fp*z!lKLyMOQbmW}ghtGB`sM=x$NX_d)%|!I)KkMmow)k{7 zsMS3>a`_-`H>*^MZ$1NI0FrZP*&~QC>OVOZbqPh4*6Gt369BDmcq*K;rE1Lu8rX6C z@#5zcZ8%&;zOID-*c-kX**(r!2sIaXj3x87gjrj-9W-Ar&)(ai^->!swV^>g~r}7U@ z3fvxin6?fs2=RiK(Ug5UJ9&q0w3eHEP@a3Ej%N*8nbjglB%eU+21Xrtx%N3foNfPW zQ~wm29H2(O+&-}J9~W>hts~gPkK&e2k&yD@CgoEdy8X5Dd6hFNyGjJVo9o79)3ezK zivGDYg(t5zf${mh`3x7$TYZ!F(KvR0!NqLP#NfQEwoDp01cG%@zvOK!dcVN|9FDwsK;db+);M zjc~Xzv*gz9&;(~~WjA(tG>MGaM;{W&ulS^D%HdDt`zxuCf$)9H>y6u;k1hihZ zCzFFdutTZ?5G3}UgsByFP~9%=g-c%EjekM1@PaA2&R-6(A&UY+Vv)@=Vp$Sylx(q5 zk#C-ThXMnsxWqE>Y~@K0`ai+^UUdJ1CRiQUaXKO$gG?+*@m4sxSgE*WiBO)mzI00A zEGbcIr@5_oQYV&9Wirprd|iJVO1ita;94y>l0!lm4I}x(TD%vfp|^io_GZqvx_R2Z}c-YaG5v{f^E4mk~xtSG;R= z#3p%5gh1)|%3#MFW&O zcYY7Jvj%e!?V<8_9a^MUL?J6(Xa2T$G2+9VqP7I7k*|KYm76`i+&#&3gaS^fPyd^> zpO6p@S-LrW!~mm$rQ;VIU|Ii2UJ$H%Zs}4*(*if=O3KSA0Qf0bQR%oZ`1^^T4tp(h zA;N-U;Q(B&dtuT(#p~}%-tk|$(1=tsP5)ibhOagc_cEl}mqN#c8oT{?k)?JZJbZ>vy8h}Y57Fo=r)D~Hcqk9a= z0zGJAOFA54Us(U-QXuW(En6U1D0#jM(8MxgrktlX7^Elw?7jg=7L*&I{7OCmUpt~a zI*W;67UshpJ4>oyfS!CoQfkJMW8YS_&`4eWier4;u!JrK0~KigjO>iB#|4qZuD6nv#pbaoV+^n( zU-ZoaDF#<>qNTq-1_pqGQx754jZAq2aUjj?EIX^Z7VSsS9zAW>54TiLc<83X>}b0- z`zlf3rmUj42d`{F_dlafv1FWm1Fz|^{n^@7;4WlfOr0s^2NLBME9C|Q@ngO+4+3oJ zg4^>M?`CuFF<#yt$E|4Ff0&wm4cO^IClqIxiOe=59H&*R{?h-X3*)!JY7<(%8`?C3 zg)Q{aLV1<0W+A5CyGvKT+@>#rC(yi#{1irwv@yC7FLpIR`{wXMfIKp<&%%4EDiH7r z+!FZIp8G)*sP_aFJDAYYEriZQQ!(#PgDl>HQ=W?B0frnAJ#<2pU`13Cm;)q?m_N%)W?r1WQ*BIH0&Cabp;30Us8LDKJJCcO_U^3WsY zUF+dQ8mwjVPh$As(NlHqiaAXxGqKEGs)L&jXIa`9{w$vjYW$0HcXt^pEgW*?WJL+4 z?fBFhS7vJi-7nqF4Jz$|Qbb(YKs_!l2K{#ZEPL9r)VV;2B1&`q9T0Cgyn2kqaQ;Ba z0w3Dq2Kd6{j6MPIM4^%V7LlV!`Vh%Uu-n+v2rw$e=hfq8!Xrst4X$f0~+k;HA~2HP4b z?=8YRKS&kru0*-7O=FWhoX$DQt9}R^K^L%%nwdA(tG&vqm?aI|KD}IS>o}hKf^FCu zYJxK03kJef>e6DSgQyQUZx$x!UJA zoQE>P;jY%!w-_14p;|MK!#w>LDS_3~o*n`z&!;|s8Stgw>-(Jw@V1TIf$ zL@4>2qoct2P|+FCmO$K6+yolBn!Xr|StJYvTzg*(&i)x0!UOk(Jr`OV73&|F+B2Nw z_vo%qCla4)DNm9F{po&tX-k@B%<1Wcv4ojT=anpV6%Z@=TAPB*?^%DB7%ecULgjKW zXWElLb^p1IT2Tao5YCk~?c+V*&>Lh=Q5jLSn1Uefapzt4|Gw`2L^vRX)qmVIBgXgS zleKVbh^o`G?~ZU(H5kkJO2?^>Y`nzGPHeB^yoArQ_k5X@sJ&GJlvkc?{+9Lm5Au}g z5iedLZakR?VPTSgp$_p22>NOO;Pt514K}yTXiStR21NO>DWM>6g!Il~e}j`BL)45I z{$cCyZ>bB*;CfDQE%U?2+?D`^svZTYYo)V`i{Rj8RzZBV?j`>#qH1@0&Ww?Sa%EB% z4~L-Cf`KlB?S6W%@v<{U_>4q^)l!};>3{(~bpFEcV`)HxJR*m-cJaR+OYbGDk7SaP z_YcWQpO%8;Hphcrr|>5_Y94XYattXaJJ?U?Ak>GkzIoz)NYh^$P=@H2$2ST&|(d3zo?kSzR`{t&4iQN@| z!uXuH<1Z%bRRUsr)dv8F{*P75VR}n3sC;wu(D|GmVz^krKf2y6;w$M(za^35SdljI z-y!r&=kM-HA;FW}ZbgMj7&MQ^zELAxdGM^uNW#Rq*i2;|-G5yBVgK0!jp_X=)%^l8 zt6|uaBB`!45|s7kgQPoE)Wk~tKYOcfTfflWP*FU)IV-cBJg;Y+qj4Aa2*94MO6Z1t z@dF`5+*>D8iJKmCA1DHEYaT(yQ*=->xTr(sLfcOk>UaK|96?MfqMqJfg*pp%_r|;R zi;frxRa<6H&_}@eB?MWS`E#cBIu?R_3gzV)ws_}A^Tuu5`wE4{Cn32u!TZL}fLZK% zl>OZjbtFyd`(L+|{!hN(P>-zs~he#QW z`BR<3nb<Tv-T!c@TeturW2_%V_)(~}?1EL&>1N0EqkWRn>){uvtl{S|{QJ%Vpu z5Dubr5US_uFr>#y&Od(bzrMzxz`5pG%ouVZg^7x|Za_lu4oIdrKE!?AIsnY?UPX+?%9AcL~)1;E9htZn3?^#&0^nOw6$Sm^)HjB3g7UUlbsz z6IsohbfPt(*UJ;O1ie7yimS~?-~z3l`$5=$IUtDT1^y+9pV_@5@9D25H3Nw#YZG#3 zl-;{?ep(rPDbRs4@%43KRZcVDt#WJ@V^XAVqcGD zryN}LPiq%6J)M*xepxZMNvZb~$=@nV0=mD4?7rk>8&fksyfR~_OpM@SPnpF6NWqK^w@T+p7h9pt5T9 z>X8sq{k5YToVJg-mH*?Fp)BLnbn65uIB0nv#})^dhkYf>e5$E!;e6kz1?Q_b{)=qX zywvocW6LP3+=BY3@5=P?j7&yu`^j(>q>==e&YZfG+_)fIiGIL5k`e?Wfr9?*0|>&P z8(*FmUP!tW#K$b;-2ozVHBQ{BaFRMp)CWiEB!DJyv;||N`lxGy3HKVzNzuAuU!#e% z7AlTNQo$e>B0D`bK)xSJH5~Pu(0omP7q@hkx5VM2L&u$XPO7w1-eTmvT{vs!-Sh6 z`Apd6b#bW3`~|1~-=Vk<_g5-k-!WYY_a;K zhKGh|SO^{rs$HtAK4zqEIN1A+`Kh2-9a7_N2=akJfLf1>bI#-HJGf`a; zUATvg#1OZk5HNloPLfgb<?TOm1t}h}EFy$m|I!*?)~~N%hWJNpQggF`0@YK5z~tqN(&3Q18?+0=T#^()4(ykOh80o!ilA&aJe-o zV7W6H^pO^xOW`gA!8TQC(2kI98b)?<5w6lkG$xcgek^|e!w&vOiPF|~pHn5ARN!EX zgvjqtz4}W87Bw)#(@tm79fUx?Ut0PEIx2-T+Ts`ZUCPxlM%)=&;a(H&PgRq=`XQ)h zs@6o01qbm-n@v`rTBw1vxt-uFCDjM*KcNsXJ}OkYantfJl2v@s!;34be9-&h`i-%d zi9`dhIWvF=u3Jd0z74>NTEEXAo2U&^10ikX5$b#|zM+zeA5VLy;Y zd*oGmwfB-u{8|z;--nzx;O@B(Ao)4ILSbS^q6vfGj_78-|1GvJM};6}H02C8*;QlH zorm=Zeky*<&B>C(kftz4DRe02w2WY2Q-UO~`wx#(&RXmV`sNojewb1%7h-n{3>PC3 z$@!6v9~5^ z3w8XV6-T^Dr4P?RLGV9jP0ZUlFoaijob}sG0m3iVvJPG|dp=do+x*kGhc6SqDcS`% zf)6Lq@oSf@4T#2E4HR}*E+ZoE7o*o=H#6qH{RNyEl%Uu;n%ZAuk8Zby#L;DpPs!`~ zYm#EQ9|;D&Zsvk;I`;K7CnF`&Q6Bj5URM0^^lNx~&Ilxl{tZ{whfcYlzgu^mv;U&E z+uH{wEd1o>scj=L8UvW6e>QBqJkE*SJ&w(Nl-5iFjGj{~9G^a-l)tWC&9Jg4$*?ZW znEica1q!i8xwzg~l1`v!P5mPIDhx66EP>@N0D?-JyIe9Q-Q#&+q_lenD}G3T{A^nkolK0B1BVk{=W>t_UhT#O{Ahfq22@v7RdEnM?=yQ#sX9LI zeJQI?k4a64z5MI81ImXfl!p_vcUZQV+{6V!>v|bp3%PCwc#koYa1y#wBaO+3E0Bka ziUWpA|Hz4A8kl_hFNleBMbJ#bhx_8EX@4U<|8Hzs zRUTLpg%s}tUf3Mgi=5n~zF8x}F5%QHU!&~I(EaLXH_m7FmNf#K;p*q1g>$vX_=xUy zP6Eo^IMB0b)|g$pMV&-+PL;M{q*pEf1L>L}1ptjk=G+uqdMn#t&wZon*&7c1RuFkg z19qTEdn3Hngdyv31FqEJd|PDA7a6jpc)j1{iWA&6qBpWnbJ*{up(b3E66)WK2ZH|| zcl4;9rn&zt#71@3_4357UBWylo$ebMaS32-b}=fQ1&Wz24X;|%5E(odF#?U-5ejc> ze_NV;4tA%2d||Vx-dIw5^htk-DZO5fSwD_inMU4I2T<74*NkM@^!*p~ zWu&(FJbP|*Y02zuT!gR?_JD++%OoDn9bOU)!i)&IWc8z>Wl|hPMCjZJW)m6`(+Q63 zwYX_bkH)CxWM@^NQWu8@TS&fT1n(MbwC3X@Y>-MGyu7fbBgLS{xd1vC&CXTtxs`AH z&}QRAAy;Y(5up5+6mFf7>m?toYySkzO~Ey-+}Y#H)A@WG>Kf`Q`=`@~9&d@WqBWA- zYy?;qerDr=KsL{s8s9-Spf4e<;0iqKSHH^C2Yzgtq8}U_-@O~*2Hl-6El#-;NV0{I zzxhT8)Yss*%-x8*Z^A=#{*n4b&Zo(?Oo1)nH)Op*0olj5e&>fVS(ySg#iYIH#iB>|Bw`Y)026~rL_t&=Y3L?Sy>zkZdmexEMU)dJfW|amH@eTF#AC6JOj55_q{YEreD)j; z9ogITJ>PrV_v601?%5HBW4(%iI^+Tbo;W}dR({{XVWB_Wl>^(O$fTm_xcgt8Xl=cu z$Z1(C10W(?cl|Nkd)M7f8)a;S3$UJ|D$2T-Bd_=hL!E&Bn8gz%Q9q1h9pU$pN@|k z*(*l3v&fyEAYO_OfsH@{O+me#kjd$R$o$W2<-UN4cnrf6y_la`Tj3F73^OzH*tc(@ ztFBLC;k6xWxjwhtSymN{9=yB;UWUfTF)%RD6aYBq$fSF=#g=lLSxX>yO7WewJ%06{ zW8Qg#Nh1P);NHUhhpxcm4?MUv12UXJmRkc@Ovuo<+0^zMhS7D`mrkdFCf2ZBMcjS# zFygVeKX>W`JY`vdEX!SS-4f?8t@Z6f-1T(;%@I8q31DDB6mVGp`3fIo0iq@YxV5XQ zI>GLV2&vxg>y8wU#{kwihsil>uYkuXjomUna#bpDJ<^VrWdcw)#Tk@a->-H$0Z~IN zb2kaCjt98zL8v;2wl1Axj6qgaD2Z5$o2>y>^Ll@)8_P?D1?+(3vDI_;^!aHRf!%$q zI(`sYVa6s)97bU80$tZ2OWa#qpg69s?!2e0X{hKrIAf5j+~B1*{j&GG(?vjQX8=J9 z9%>8ZuW@2z`;QhiZ~+2ogpsk)j-xl{5=4`hU-hh3B9TBMky!C$8M}Nx)ZXS>d(F?y zpfq{DDUd8ImJmsIh-R1}H>DjDwHh<#mIQA!J6aI{ggOEJ$UZM-!g(%2BgUX8O2;oS5l=Kdt|ZGC85!wNAZ8oq%7qR{%@^{R=Js>pIAbk?pN45c zk);}gu%5ciIu!lnYnki>e?!nP3ve!;{6)V~9p=CTC$V1f|JI<=g-W{xJs}|ozx+#Y zZ~4Abso0q>q>ZwcY?Ys4H5R@r0j?t!FO&*!ADm^sEIfqX#vl~V1PB0phxwR|T#4** zVT+!9>q&m${F#;+gLariZ%+zW9Jy@Ej7+`QK{xDRz3MXvEdmPe|L5%hOd)pw%#Hlhe|e z5e1g~QdO0ozYmBAAdkB?Jd_rUWc!2-gsAa@IcH9nocfhyqPMnC}tEjO^9$)JCarBwI>2moPRyY6CqHjvc#xRh4=aEf3uq41k=5 zVD?QzpdN_AZed{AAS2)J5D4^~Cm@+hL5;_tSE4Plx1y+O49AXLzwKf&+Zwc6ATc!? z7#5=X_166dKp^la1(=m^LIpM$Z2V{oOW^F8Gu`3)6XBNE+=2sFM9ZSP2LLt?0p{NL zKJWQ@6alT70faXBBnte=JlBA#TLwAqfv9o;I5sCCM?_f8E(0A1D97V5WHQY2b<^oY zjjuZ~F^ubuUETD2(s6X3b3~D|w&NH;P=ZB3C;sF;j$$(qBR>Y<0s|4qZ6QJaYr!=F z?z$N_6953oR1!)&wq*zNhF9!HI-Ni!lSC?&s2k{V+eA0|=~{^Zpqp3;+i(D=ISEgd zna}Q>F24k4VF-iw2o~-M$h=BGLbMl7Saj2FvmMFKb^$g*R^g#X_X`n*jiFJ_n)3 z5UlqVYRv5k1aGCFS0@lI1gO595(kVZ=;f=ISWgBJWMCZN4&$;aEj}iJ7Mz`r$N~%l zF!Y+YUERy-l0^VO34jEZ8tOzK6>V;Z04*Y4w<9qbXkclo&=e+z!~zyB3ts=V!#KNtX9uOgsTGl26aUP3}u?X8eqP*Bv+^2T8L z#H;Yz)dQ*Ke}N<*<6xCacdN0Bi>6ukElF7bj3F8Gt0YqiyX1LLE`!W=x)Tw&l*Wp( zw88+e#%7|r8Kz}j-ldtSe${2c~>AR65{p2y5mJHZ@(J1Gw+&e;@H;>`O_au3W2&=Vzd#UhW@hD4m2%*kCI*0k^p=~@ zt5yDMZ(F^UefrCPvtifAI$W5rZoQX-`^1Z?w#r7s0FaJMJdVXuc|#`+Gj%{KclXRD z0-iqKzE1DJqKe4!cM$-rRuZv|PXqqtXTO9`-0@4@f4A87Q|xvOTE1Aq;&SbVE0z#Y zB&jPp>qG#sg+=OQ*B8ragB(dqsc1Sr@!7j!n9Ylfbi+hNGnyKVFF&^O4Q19s`&W9L zjdT;XH~>V-6AU$MXNkvD>>eG$i5Jd9_j{A1>$uaNf&OSCY5=rl8-s4Vtj79B(xnVw zvy|ViVq|Tf<+_*Z)|?BoOX_rU{civRpl*NfFi6Wg+d^vk%Jjvtlw7t7be$- zbxdc0-GlZ2os5G@l}JN(k_%8>1hggn=|&}ERV<+E#iQkc!lX{61^bdfLTzsOyO0%h z%Ku+!lzuZ@2DT2}Nuo61Run}BuD#4w{-@7%=9rlT(3jd6K$aPp6@_}Y1Otd*{4Kv_JUSZYm0j0AQ<2D!u~1h=wbY4gtVQqy3%A zEH;XRJoMx@>%QJBI{-9~_OIkRSVW;~$0UF|tO|b^0L?I9TB}cIMg>3-1Bhf@JPUu1 z0{4+I4iXev*%{moDqkugyIg=_nwVe8qF5>;>!b_^hKE4R?)@Mu3?u|VHUL~)T-@@s ze=8Rh$#rgiL=?Azb!EPNB??>E;B&(;F+aZu0#Ghjkk1t`I64L{Nhsu&!6lAlB91~n z2T9_P6$QmY$zGsCK%rOyF$J04KIHRxy!702xO8b2x#c`ky{SNJNCpkOqgM?2d(9&KCg? zEK8tNt{~o%fvl>~%4L87aao3CnXpU~YAlZIavsHE8Hr>X+2uS8)52hnj7(1&m5K&Q zlAtIuO63Y-stU=;+e?a!SWHE4Uk0ONBSRoN%MhvQ9+V9mMdi}SIQv}^g;S$N>?`yoq!%sF}odSMEI^gs_j{F`?G z0OE?$RsMfBF7IXQ6lB@~3}AEj+?&|D9{`Y?FM!D@KnP&}6$n{5)u$m zeu<@&5I90L31f ztZr@D#YPD^J%DZlNPCZ2!#%&w)vm5BQZ)E_5zGi+6<;O7ynM!BR4Op4LBY-98m!_P z*!*3ja)U_qA4H$3LQ@oEavJhSk0O)J;^WUgtyUyw_~e6+u)479Y$Hp=K>%bUpUYwW zVZ`H1uK*3?#huqIOLeaq0H_=#rlGV^M6HO|@)9sN2X0x&AIM{1@E9~r!x!It19La6Zzu_i|Mq5`aB8ls^E@6|5E|DX?+uNCNtmCOtamr~p`gxQXT2**dRGOQ%4P z00hQBE{B!kMl{977(;6APH1-4GZNv+Gho#zM8F;z)Fu-x3km})g#)adUb|n4qS$!_KhGd*F>GGC2(BndXYF03HU&)` zCe`h4DFBoNBpyv|(Abm1@!khrP5b_rk;g}yf04ffGo=H$terbi-D_e+^6bHG2|Ec$ zY7Zc4EowD$;JaNr0Zntoefq4rfoOSXaF<|~jWURU1%Q%(1Tp_#Fy}3;Al4<+iyJ_x zxuH)@O-bwaw^|plpL4PRSDGazs=@%MoI~XtT+=Xeb__4SdNrI2JDffd%iVq4w@C+> z;N6{RRGQ2ofM`w~9|Qm_tSsS`>(_Al%$aa5?A_<^_B=2*55NL0o&%itfT{xhIeO_E zJOE2mQOO^uyB~2~cJ1}JNdN+(Y#10BzZjnJ13=*(;GMp5^7vLfX{c|Uv7W5vjcY*7I5wDH_+EtUqWkodb;kKnM?)%FflO^ zZ4c_>EVfgkI&P|MC z_{4Dd7Z;hm#+dy%mNtA^jb@l%pdhp(rnXN{%Q znwEvd?T5JX(u-{aNR8fslvoxpI_Ek`4UFQMr&!LJ&!0yO;PI~f96s5{5zg_f>A_$wZRZrU5BNq zO-1G1_ipU#)Uvt#?TnuV+$+W219<+*3mqAM&-DJo$AjIYk1;o%005e2agS*L<+Z9% zRO-`_MJ52H0%QQ_GhLPMMfCx{)I}I`Ytv%zx7%+6q9W{)c z26WwD+f55N|0KLmuHth85!oaBG8lhH0x((VkJVxz)w4WT*WC)d<#M?u4yr1tE}9l_ zc1*sxac6qc@t_L#-R}zbY%#Db;QSMSvkiM+UwwHr=QsWOn|qAcBjCLDe5mIS*#n51 z2sFd%4U|eH5I(r|XX|_i#@zJhKmOh=8jkT_9uZLtWbR|A25j6cjIAYUFpqY(HX zCPovzp8V3@p=S2xn~_}K?=H%Z-T1uqmxT@B$6q9U%>{N0g+&01&AApsG``wRJ;71C$7aU3Gx64BCuFMyB=25m_BGvMVc4@Z3jjWa^Ot@ zVj;PRS%YXrAkoV`aq}VK{^sf1tvTrC z{89G&bsj*Y>d4SAf=E)&A4TsEcxp^H3j}uK2}D(Rqg@a%s&0eb%-iBm@KzKf~`> h07wuBB0dJ+$p0{Ou{y= 2 then + if direction < 0 then + self.selectingCostume = self.selectingCostume == #self.parent.costume.costumeList and 1 or self.selectingCostume + 1 + else + self.selectingCostume = self.selectingCostume == 1 and #self.parent.costume.costumeList or self.selectingCostume - 1 + end + self:refreshCostumeChangeActionTitle() + else + print(self.parent.locale:getLocale("action_wheel.main.action_1.unavailable")) + end + end):setOnLeftClick(function() + if #self.parent.costume.costumeList >= 2 then + self.selectingCostume = self.parent.costume.currentCostume + self:refreshCostumeChangeActionTitle() + end + end):setOnRightClick(function() + if #self.parent.costume.costumeList >= 2 then + self.selectingCostume = 1 + self:refreshCostumeChangeActionTitle() + end + end) + + if #self.parent.costume.costumeList >= 2 then + local action = self.mainPage:getAction(1) + action:setColor(0.78, 0.78, 0.78) + action:setHoverColor(1, 1, 1) + else + local action = self.mainPage:getAction(1) + action:setColor(0.16, 0.16, 0.16) + action:setHoverColor(1, 0.33, 0.33) + end + + --アクション2. 表示名の変更 + self.mainPage:newAction(2):setItem(self.parent.compatibilityUtils:checkItem("minecraft:name_tag")):setColor(0.78, 0.78, 0.78):setHoverColor(1, 1, 1):setOnScroll(function(direction) + if direction < 0 then + self.selectingName = self.selectingName == 6 and 1 or self.selectingName + 1 + else + self.selectingName = self.selectingName == 1 and 6 or self.selectingName - 1 + end + self:refreshNameChangeActionTitle() + end):setOnLeftClick(function() + self.selectingShouldShowClubName = not self.selectingShouldShowClubName + self:refreshNameChangeActionTitle() + end):setOnRightClick(function() + self.selectingName = 1 + self.selectingShouldShowClubName = false + self:refreshNameChangeActionTitle() + end) + + --アクション3. 防具の表示 + self.mainPage:newAction(3):setItem(self.parent.compatibilityUtils:checkItem("minecraft:iron_chestplate")):setColor(0.67, 0, 0):setHoverColor(1, 0.33, 0.33):setToggleColor(0, 0.67, 0):setOnToggle(function (_, action) + pings.actionWheelSetArmorVisible(true) + action:setHoverColor(0.33, 1, 0.33) + self.parent.config:saveConfig("PRIVATE", "showArmor", true) + end):setOnUntoggle(function(_, action) + pings.actionWheelSetArmorVisible(false) + action:setHoverColor(1, 0.33, 0.33) + self.parent.config:saveConfig("PRIVATE", "showArmor", false) + end) + if self.parent.config:loadConfig("PRIVATE", "showArmor", false) then + local action = self.mainPage:getAction(3) + action:setToggled(true) + action:setHoverColor(0.33, 1, 0.33) + end + + --アクション4. 一人称視点での武器モデルの表示 + self.mainPage:newAction(4):setItem(self.parent.compatibilityUtils:checkItem("minecraft:bow")):setColor(0.67, 0, 0):setHoverColor(1, 0.33, 0.33):setToggleColor(0, 0.67, 0):setOnToggle(function (_, action) + self.parent.gun.shouldShowWeaponInFirstPerson = true + action:setHoverColor(0.33, 1, 0.33) + self.parent.config:saveConfig("PRIVATE", "firstPersonWeapon", true) + end):setOnUntoggle(function (_, action) + self.parent.gun.shouldShowWeaponInFirstPerson = false + action:setHoverColor(1, 0.33, 0.33) + self.parent.config:saveConfig("PRIVATE", "firstPersonWeapon", false) + end) + if self.parent.config:loadConfig("PRIVATE", "firstPersonWeapon", true) then + local action = self.mainPage:getAction(4) + action:setToggled(true) + action:setHoverColor(0.33, 1, 0.33) + end + + --アクション5. Exスキルフレームのパーティクルの量 + self.mainPage:newAction(5):setItem(self.parent.compatibilityUtils:checkItem("minecraft:glowstone_dust")):setColor(0.78, 0.78, 0.78):setHoverColor(1, 1, 1):setOnScroll(function (direction) + if direction < 0 then + self.selectingExSkillParticleAmount = self.selectingExSkillParticleAmount == 4 and 1 or self.selectingExSkillParticleAmount + 1 + else + self.selectingExSkillParticleAmount = self.selectingExSkillParticleAmount == 1 and 4 or self.selectingExSkillParticleAmount - 1 + end + self:refreshExSkillParticleActionTitle() + end):setOnLeftClick(function () + self.selectingExSkillParticleAmount = self.parent.exSkill.frameParticleAmount + self:refreshExSkillParticleActionTitle() + end):setOnRightClick(function () + self.selectingExSkillParticleAmount = 1 + self:refreshExSkillParticleActionTitle() + end) + + --アクション6. 乗り物モデルの置き換え + self.mainPage:newAction(6):setItem(self.parent.compatibilityUtils:checkItem("minecraft:oak_boat")):setColor(0.67, 0, 0):setHoverColor(1, 0.33, 0.33):setToggleColor(0, 0.67, 0):setOnToggle(function (_, action) + if self.parent.characterData.actionWheel.isVehicleOptionEnabled then + pings.actionWheelSetShouldReplaceVehicleModels(true) + action:setHoverColor(0.33, 1, 0.33) + self.parent.config:saveConfig("PRIVATE", "replaceVehicleModels", true) + else + print(self.parent.locale:getLocale("action_wheel.main.action_6.unavailable")) + action:setToggled(false) + end + end):setOnUntoggle(function (_, action) + pings.actionWheelSetShouldReplaceVehicleModels(false) + action:setHoverColor(1, 0.33, 0.33) + self.parent.config:saveConfig("PRIVATE", "replaceVehicleModels", false) + end) + if not self.parent.characterData.actionWheel.isVehicleOptionEnabled then + local action = self.mainPage:getAction(6) + action:setColor(0.16, 0.16, 0.16) + action:setHoverColor(1, 0.33, 0.33) + self.shouldReplaceVehicleModels = false + elseif self.shouldReplaceVehicleModels then + local action = self.mainPage:getAction(6) + action:setToggled(true) + action:setHoverColor(0.33, 1, 0.33) + end + + --アクション7. アップデートの確認 + self.mainPage:newAction(7):setItem("minecraft:compass"):setOnLeftClick(function () + if not self.parent.updateChecker.checkerStatus ~= "CHECKING" then + self.parent.updateChecker:checkUpdate() + else + print("action_wheel.main.action_7.ongoing") + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + end + if not net:isNetworkingAllowed() or not net:isLinkAllowed("https://api.github.com") then + print(self.parent.locale:getLocale("action_wheel.main.action_7.networking_api")) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + end + end):onRightClick(function () + if self.parent.updateChecker.latestVersion ~= nil then + host:setClipboard("https://github.com/Gakuto1112/FiguraBlueArchiveCharacters/releases/tag/"..self.parent.updateChecker.latestVersion) + print(self.parent.locale:getLocale("action_wheel.main.action_7.copied")) + else + print(self.parent.locale:getLocale("action_wheel.main.action_7.cannot_check_latest")) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + end + end) + + --アクション8. (空欄) + self.mainPage:newAction(8):setColor(0.16, 0.16, 0.16):setHoverColor(0.16, 0.16, 0.16) + + action_wheel:setPage(self.mainPage) + end + end; + + ---衣装変更アクションのタイトルを更新する。 + ---@param self ActionWheel + refreshCostumeChangeActionTitle = function (self) + if #self.parent.costume.costumeList >= 2 then + self.mainPage:getAction(1):setTitle(self.parent.locale:getLocale("action_wheel.main.action_1.title").."§b"..self.parent.costume:getCostumeLocalName(self.selectingCostume)) + else + self.mainPage:getAction(1):setTitle("§7"..self.parent.locale:getLocale("action_wheel.main.action_1.title")..self.parent.costume:getCostumeLocalName(self.selectingCostume)) + end + end; + + ---名前変更アクションのタイトルを更新する。 + ---@param self ActionWheel + refreshNameChangeActionTitle = function (self) + if self.selectingName >= 2 then + if self.selectingShouldShowClubName then + self.mainPage:getAction(2):setTitle(self.parent.locale:getLocale("action_wheel.main.action_2.title").."§b"..self.parent.nameplate:getName(self.selectingName).."\n§r"..self.parent.locale:getLocale("action_wheel.main.action_2.title_2").."§a"..self.parent.locale:getLocale("action_wheel.toggle_on")) + else + self.mainPage:getAction(2):setTitle(self.parent.locale:getLocale("action_wheel.main.action_2.title").."§b"..self.parent.nameplate:getName(self.selectingName).."\n§r"..self.parent.locale:getLocale("action_wheel.main.action_2.title_2").."§c"..self.parent.locale:getLocale("action_wheel.toggle_off")) + end + else + self.mainPage:getAction(2):setTitle(self.parent.locale:getLocale("action_wheel.main.action_2.title").."§b"..self.parent.nameplate:getName(self.selectingName).."\n§7"..self.parent.locale:getLocale("action_wheel.main.action_2.title_2")..self.parent.locale:getLocale("action_wheel.toggle_"..(self.selectingShouldShowClubName and "on" or "off"))) + end + end; + + ---Exスキルアニメーションのパーティクル量調整アクションのタイトルを更新する。 + ---@param self ActionWheel + refreshExSkillParticleActionTitle = function (self) + self.mainPage:getAction(5):title(self.parent.locale:getLocale("action_wheel.main.action_5.title").."§b"..self.parent.locale:getLocale("action_wheel.main.action_5.option_"..self.selectingExSkillParticleAmount)) + end; + + ---アップデート確認アクションの状態を更新する。 + ---@param self ActionWheel + refreshUpdateActionStatus = function (self) + local action = self.mainPage:getAction(7) + local actionTitle = "" + if self.parent.updateChecker.checkerStatus == "CHECKING" then + actionTitle = actionTitle.."§7"..self.parent.locale:getLocale("action_wheel.main.action_7.title_1")..self.parent.locale:getLocale("action_wheel.main.action_7.title_2").."\n" + action:setColor(0.16, 0.16, 0.16) + action:setHoverColor(1, 0.33, 0.33) + else + actionTitle = actionTitle..self.parent.locale:getLocale("action_wheel.main.action_7.title_1").."§b"..self.parent.locale:getLocale("action_wheel.main.action_7.title_2").."\n" + action:setColor(0.78, 0.78, 0.78) + action:setHoverColor(1, 1, 1) + end + if self.parent.updateChecker.latestVersion == nil then + actionTitle = actionTitle.."§7"..self.parent.locale:getLocale("action_wheel.main.action_7.title_3")..self.parent.locale:getLocale("action_wheel.main.action_7.title_4") + else + actionTitle = actionTitle.."§r"..self.parent.locale:getLocale("action_wheel.main.action_7.title_3").."§b"..self.parent.locale:getLocale("action_wheel.main.action_7.title_4") + end + action:setTitle(actionTitle) + end; +} + +---アクションホイールから衣装を変更するトリガー関数 +---@param costumeId integer 新しい衣装のインデックス番号 +function pings.actionWheelChangeCostume(costumeId) + if costumeId >= 2 then + AvatarInstance.costume:setCostume(costumeId) + else + AvatarInstance.costume:resetCostume() + end +end + +---アクションホイールから名前を変更するトリガー関数 +---@param typeId integer 新しい名前の表示形式のインデックス番号 +---@param shouldShowClubName boolean 部活名を表示するかどうか +function pings.actionWheelChangeName(typeId, shouldShowClubName) + AvatarInstance.nameplate:setName(typeId, shouldShowClubName) +end + +---アクションホイールから防具の可視性を変更するトリガー関数 +---@param visible boolean 防具を表示するかどうか +function pings.actionWheelSetArmorVisible(visible) + AvatarInstance.armor.shouldShowArmor = visible +end + +---アクションホイールから乗り物モデルの置き換えを変更するトリガー関数 +---@param enabled boolean 乗り物モデルの置き換えを有効化するかどうか +function pings.actionWheelSetShouldReplaceVehicleModels(enabled) + AvatarInstance.actionWheel.shouldReplaceVehicleModels = enabled +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/action_wheel/action_wheel_gui.lua b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/action_wheel/action_wheel_gui.lua new file mode 100644 index 0000000..18f89b7 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/action_wheel/action_wheel_gui.lua @@ -0,0 +1,113 @@ +---@class ActionWheelGui : AvatarModule アクションホイールに表示する追加のGUIを管理するクラス +---@field package isActionWheelOpenedPrev boolean 前ティックにアクションホイールを開けていたかどうか + +ActionWheelGui = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ActionWheelGui + new = function (parent) + ---@type ActionWheelGui + local instance = Avatar.instantiate(ActionWheelGui, AvatarModule, parent) + + instance.isActionWheelOpenedPrev = false + + return instance + end; + + ---初期化関数 + ---@param self ActionWheelGui + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + events.TICK:register(function () + local isActionWheelOpened = action_wheel:isEnabled() + if isActionWheelOpened and not self.isActionWheelOpenedPrev then + models.models.action_wheel_gui.Gui:setVisible(true) + + local windowSize = client:getScaledWindowSize() + models.models.action_wheel_gui.Gui.BubbleGuide:setPos(windowSize.x * -0.5 + 44, windowSize.y * -0.5 + 5, 0) + models.models.action_wheel_gui.Gui.ExSkillGuide:setPos(windowSize.x * -0.5 + 57, -21, 0) + models.models.action_wheel_gui.Gui.VersionDisplay:setPos(-0.75, -0.5, 0) + + local bubbleGuideTextTasks = {models.models.action_wheel_gui.Gui.BubbleGuide:getTask("action_wheel.gui.bubble_guide.title"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.GoodEmoji:getTask("bubble_guide.bubble_1.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.HeartEmoji:getTask("bubble_guide.bubble_2.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.NoteEmoji:getTask("bubble_guide.bubble_3.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.QuestionEmoji:getTask("bubble_guide.bubble_4.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.SweatEmoji:getTask("bubble_guide.bubble_5.key_name")} + bubbleGuideTextTasks[1]:setText(self.parent.locale:getLocale("action_wheel.gui.bubble_guide.title")) + for i = 2, #bubbleGuideTextTasks do + bubbleGuideTextTasks[i]:setText("§0"..self.parent.keyManager.keyMappings["bubble_"..(i - 1)]:getKeyName()) + end + + local bubbleGuideTitleWidth = client.getTextWidth(bubbleGuideTextTasks[1]:getText()) / 2 + 4 + local bubbleGuideBodyWidth = 0 + for i = 2, #bubbleGuideTextTasks do + bubbleGuideBodyWidth = math.max(bubbleGuideBodyWidth, client.getTextWidth(bubbleGuideTextTasks[i]:getText()) * 0.5) + end + local bubbleGuideWidth = math.max(bubbleGuideTitleWidth + 6, bubbleGuideBodyWidth + 22) + bubbleGuideWidth = math.max(bubbleGuideWidth, 39) + + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.TitleBar:setPos((bubbleGuideWidth - bubbleGuideTitleWidth) / 2, 0, 0) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.TitleBar:setScale(bubbleGuideTitleWidth, 1, 1) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.TitleCenter:setScale(bubbleGuideWidth - 25, 1, 1) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.TitleLeft:setPos(bubbleGuideWidth - 26, 0, 0) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.BodyTop:setScale(bubbleGuideWidth, 1, 1) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.BodyBottomCenter:setScale(bubbleGuideWidth - 39, 1, 1) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.BodyBottomLeft:setPos(bubbleGuideWidth - 40, 0, 0) + models.models.action_wheel_gui.Gui.BubbleGuide.Emojis:setPos((bubbleGuideWidth - (bubbleGuideBodyWidth + 22)) / 2 + bubbleGuideBodyWidth + 9, 0, 0) + bubbleGuideTextTasks[1]:setPos(bubbleGuideWidth / 2, 0, 0) + for i = 2, #bubbleGuideTextTasks do + bubbleGuideTextTasks[i]:setPos(bubbleGuideBodyWidth / -2 - 4, 1.5, 0) + end + + local exSkillGuideTextTasks = {models.models.action_wheel_gui.Gui.ExSkillGuide:getTask("action_wheel.gui.ex_skill_guide.title"), models.models.action_wheel_gui.Gui.ExSkillGuide:getTask("action_wheel.gui.ex_skill_guide.body_1"), models.models.action_wheel_gui.Gui.ExSkillGuide:getTask("action_wheel.gui.ex_skill_guide.body_2")} + exSkillGuideTextTasks[1]:setText(self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.title")) + exSkillGuideTextTasks[2]:setText(self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill == nil and "§0§l\""..self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.ex_skill_"..self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].exSkill..".name").."\"" or "§0§l\""..self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.ex_skill_"..self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].exSkill..".name").."\"§r§0 - \""..self.parent.keyManager.keyMappings.ex_skill:getKeyName().."\"") + exSkillGuideTextTasks[3]:setText(self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill == nil and "§0"..self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.key_pre")..self.parent.keyManager.keyMappings.ex_skill:getKeyName()..self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.key_post") or "§0§l\""..self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.ex_skill_"..self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill..".name").."\"§r§0 - \""..self.parent.keyManager.keyMappings.ex_skill_sub:getKeyName().."\"") + + local exSkillGuideTitleWidth = client.getTextWidth(exSkillGuideTextTasks[1]:getText()) / 2 + 4 + local exSkillGuideWidth = exSkillGuideTitleWidth + for i = 2, #exSkillGuideTextTasks do + exSkillGuideWidth = math.max(exSkillGuideWidth, client.getTextWidth(exSkillGuideTextTasks[i]:getText()) / 2 + 10) + end + exSkillGuideWidth = math.max(exSkillGuideWidth, 39) + + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.TitleBar:setPos((exSkillGuideWidth - exSkillGuideTitleWidth) / 2, 0, 0) + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.TitleBar:setScale(exSkillGuideTitleWidth, 1, 1) + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.TitleCenter:setScale(exSkillGuideWidth - 25, 1, 1) + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.TitleLeft:setPos(exSkillGuideWidth - 26, 0, 0) + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.BodyBottomCenter:setScale(exSkillGuideWidth - 39, 1, 1) + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.BodyBottomLeft:setPos(exSkillGuideWidth - 40, 0, 0) + exSkillGuideTextTasks[1]:setPos(exSkillGuideWidth / 2, 0, 0) + for i = 2, #exSkillGuideTextTasks do + exSkillGuideTextTasks[i]:setPos(exSkillGuideWidth / 2, (i - 2) * -5 - 8) + end + + local versionDisplayTextTasks = {} + for i = 1, 3 do + table.insert(versionDisplayTextTasks, models.models.action_wheel_gui.Gui.VersionDisplay:getTask("action_wheel.gui.version_display.l"..i)) + end + + for i = 2, 3 do + versionDisplayTextTasks[i]:setPos(0, (i - 1) * -2.25, 0) + end + + elseif not isActionWheelOpened and self.isActionWheelOpenedPrev then + models.models.action_wheel_gui.Gui:setVisible(false) + end + self.isActionWheelOpenedPrev = isActionWheelOpened + end) + + models.models.action_wheel_gui.Gui:setScale(2, 2, 2) + for _, textTask in ipairs({models.models.action_wheel_gui.Gui.BubbleGuide:newText("action_wheel.gui.bubble_guide.title"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.GoodEmoji:newText("bubble_guide.bubble_1.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.HeartEmoji:newText("bubble_guide.bubble_2.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.NoteEmoji:newText("bubble_guide.bubble_3.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.QuestionEmoji:newText("bubble_guide.bubble_4.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.SweatEmoji:newText("bubble_guide.bubble_5.key_name"), models.models.action_wheel_gui.Gui.ExSkillGuide:newText("action_wheel.gui.ex_skill_guide.title"), models.models.action_wheel_gui.Gui.ExSkillGuide:newText("action_wheel.gui.ex_skill_guide.body_1"), models.models.action_wheel_gui.Gui.ExSkillGuide:newText("action_wheel.gui.ex_skill_guide.body_2")}) do + textTask:setScale(0.5, 0.5, 0.5) + textTask:setAlignment("CENTER") + end + for i = 1, 3 do + local textTask = models.models.action_wheel_gui.Gui.VersionDisplay:newText("action_wheel.gui.version_display.l"..i) + textTask:setScale(0.25, 0.25, 0.25) + textTask:setShadow(true) + if i == 1 then + textTask:setText("Figura Blue Archive Characters (FBAC)") + end + end + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/action_wheel/update_checker.lua b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/action_wheel/update_checker.lua new file mode 100644 index 0000000..dbd783f --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/action_wheel/update_checker.lua @@ -0,0 +1,181 @@ +---@alias UpdateChecker.CheckerStatus +---| "INIT" # 初期状態 +---| "CHECKING" # アップデート確認中 +---| "LATEST" # アップデート確認済み:最新版 +---| "UPDATE_AVAILABLE" # アップデート確認済み:アップデートあり +---| "ERROR_INVALID_JSON" # エラー:予期しないJSONデータ +---| "ERROR_INVALID_JSON_SYNTAX" # エラー:不正なJSON構文 +---| "ERROR_REQUEST_FAILED" # リクエストに失敗 +---| "ERROR_NETWORK_ERR" # ネットワークエラー +---| "ERROR_NOT_ALLOWED" # ネットワーキングAPIが不許可 + +---@class (exact) UpdateChecker : AvatarModule FBACのアップデートの確認を管理するクラス +---@field package FBAC_VERSION string 現在のFBACバージョン +---@field package BRANCH_NAME string このブランチ名(キャラクター名) +---@field public latestVersion? string リモート上にある最新のFBACバージョン +---@field public checkerStatus UpdateChecker.CheckerStatus アップデートチェッカーの状態 +---@field package requestStatus integer 送信したリクエストのステータスコード +---@field package responseHandler Future.HttpResponse|nil httpレスポンスのハンドラ +---@field package textAnimationCount integer 新しいバージョン表示のテキストのアニメーションのカウンター +---@field package isActionWheelOpenedPrev boolean 前ティックにアクションホイールを開けていたかどうか +---@field package compareVersions fun(version1: string, version2: string): string|nil 2つのバージョン文字列を比較し、新しい方を返す +---@field package showNewUpdateMessage fun(self: UpdateChecker) 新FBACバージョンのお知らせを表示する +---@field public checkUpdate fun(self: UpdateChecker) FBACアップデートの確認を行う + +UpdateChecker = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return UpdateChecker + new = function (parent) + ---@type UpdateChecker + local instance = Avatar.instantiate(UpdateChecker, AvatarModule, parent) + + instance.FBAC_VERSION = "v2.1.2" + instance.BRANCH_NAME = "Shizuko" + instance.latestVersion = instance.parent.config:loadConfig("PUBLIC", "latestVersion", nil) + instance.checkerStatus = "INIT" + instance.requestStatus = 0 + instance.textAnimationCount = 0 + + return instance + end; + + ---初期化関数 + ---@param self UpdateChecker + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + models.models.action_wheel_gui.Gui.VersionDisplay:getTask("action_wheel.gui.version_display.l2"):setText(self.FBAC_VERSION.." - "..self.BRANCH_NAME) + + events.TICK:register(function () + local isActionWheelOpened = action_wheel:isEnabled() + if isActionWheelOpened then + local textTask = models.models.action_wheel_gui.Gui.VersionDisplay:getTask("action_wheel.gui.version_display.l3") + if self.checkerStatus == "UPDATE_AVAILABLE" then + if math.floor(self.textAnimationCount / 20) % 2 == 0 then + textTask:setText("§6§n"..self.parent.locale:getLocale("action_wheel.gui.update_check.update_available")..self.latestVersion) + else + textTask:setText("§n"..self.parent.locale:getLocale("action_wheel.gui.update_check.update_available")..self.latestVersion) + end + self.textAnimationCount = self.textAnimationCount + 1 + elseif self.checkerStatus == "ERROR_REQUEST_FAILED" then + textTask:setText(self.parent.locale:getLocale("action_wheel.gui.update_check.error_request_failed").."("..self.requestStatus..")") + else + textTask:setText(self.parent.locale:getLocale("action_wheel.gui.update_check."..self.checkerStatus:lower())) + end + elseif not isActionWheelOpened and self.isActionWheelOpenedPrev then + self.textAnimationCount = 0 + end + self.isActionWheelOpenedPrev = isActionWheelOpened + end) + + local lastUpdateCheckTime = self.parent.config:loadConfig("PUBLIC", "lastUpdateCheckTime", 0) + if client:getSystemTime() >= lastUpdateCheckTime + 86400000 then + self:checkUpdate() + else + local newerVersion = self.compareVersions(self.latestVersion, self.FBAC_VERSION) + if newerVersion ~= nil and newerVersion ~= self.FBAC_VERSION then + self:showNewUpdateMessage() + self.checkerStatus = "UPDATE_AVAILABLE" + else + self.checkerStatus = "LATEST" + end + end + end + end; + + ---2つのバージョン文字列を比較し、新しい方を返す。 + ---@param version1 string 比較するバージョン文字列1 + ---@param version2 string 比較するバージョン文字列2 + ---@return string|nil newerVersion 新しい方のバージョン文字列。比較不可能だった場合はnilを返す。 + compareVersions = function (version1, version2) + local major1, minor1, patch1 = version1:match("^v(%d+)%.(%d+)%.(%d+)") + local major2, minor2, patch2 = version2:match("^v(%d+)%.(%d+)%.(%d+)") + major1 = tonumber(major1) + minor1 = tonumber(minor1) + patch1 = tonumber(patch1) + major2 = tonumber(major2) + minor2 = tonumber(minor2) + patch2 = tonumber(patch2) + if major1 ~= nil and minor1 ~= nil and patch1 ~= nil and major2 ~= nil and minor2 ~= nil and patch2 ~= nil then + return (major1 > major2 or (major1 == major2 and minor1 > minor2) or (major1 == major2 and minor1 == minor2 and patch1 > patch2)) and version1 or version2 + end + end; + + ---新FBACバージョンのお知らせを表示する。 + ---@param self UpdateChecker + showNewUpdateMessage = function (self) + print(self.parent.locale:getLocale("action_wheel.gui.update_check.update_available")..self.latestVersion) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.experience_orb.pickup"), player:getPos(), 1, 1) + end; + + ---FBACアップデートの確認を行う。 + ---@param self UpdateChecker + checkUpdate = function (self) + if host:isHost() and self.checkerStatus ~= "CHECKING" then + self.checkerStatus = "CHECKING" + if net:isNetworkingAllowed() and net:isLinkAllowed("https://api.github.com") then + local request = net.http:request("https://api.github.com/repos/Gakuto1112/FiguraBlueArchiveCharacters/tags") + self.responseHandler = request:send() + events.TICK:register(function () + if self.responseHandler:isDone() then + local response = self.responseHandler:getValue() + if response ~= nil then + local stats = response:getResponseCode() + if math.floor(stats / 100) == 2 then + local stream = response:getData() + local buffer = data:createBuffer() + buffer:readFromStream(stream) + buffer:setPosition(0) + local jsonData = buffer:readByteArray() + if json.isSerializable(jsonData) then + local parseData = parseJson(jsonData) + if parseData[1] ~= nil and parseData[1].name ~= nil then + local newerVersion = self.compareVersions(parseData[1].name, self.FBAC_VERSION) + if newerVersion ~= nil then + if newerVersion ~= self.FBAC_VERSION then + --新しいバージョンがある + self.latestVersion = parseData[1].name + self.checkerStatus = "UPDATE_AVAILABLE" + self:showNewUpdateMessage() + else + --現在は最新 + self.latestVersion = parseData[1].name + self.checkerStatus = "LATEST" + end + self.parent.config:saveConfig("PUBLIC", "lastUpdateCheckTime", client:getSystemTime()) + self.parent.config:saveConfig("PUBLIC", "latestVersion", parseData[1].name) + else + --予期しないJSONデータ + self.checkerStatus = "ERROR_INVALID_JSON" + end + else + --予期しないJSONデータ + self.checkerStatus = "ERROR_INVALID_JSON" + end + else + --JSON解析エラー + self.checkerStatus = "ERROR_INVALID_JSON_SYNTAX" + end + stream:close() + buffer:close() + else + --ステータスコードが200番台以外 + self.checkerStatus = "ERROR_REQUEST_FAILED" + self.requestStatus = stats + end + else + --ネットワークエラー + self.checkerStatus = "ERROR_NETWORK_ERR" + end + events.TICK:remove("update_checker_http_tick") + end + end, "update_checker_http_tick") + else + ---ネットワーキングAPIが不許可 + self.checkerStatus = "ERROR_NOT_ALLOWED" + end + end + end; +} diff --git a/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/armor.lua b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/armor.lua new file mode 100644 index 0000000..7c22696 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/armor.lua @@ -0,0 +1,364 @@ +---防具の部位 +---@alias Armor.ArmorPart +---| "HELMET" # ヘルメット +---| "CHEST_PLATE" # チェストプレート +---| "LEGGINGS" # レギンス +---| "BOOTS" # ブーツ + +---@class (exact) Armor : AvatarModule 防具の表示を制御するクラス +---@field public shouldShowArmor boolean 防具を表示するかどうか +---@field public armorSlotItems ItemStack[] 現ティックの防具スロットのアイテム +---@field package armorSlotItemsPrev ItemStack[] 前ティックの防具スロットのアイテム +---@field public isArmorVisible Armor.VisiblePartsSet 各防具の部位(ヘルメット、チェストプレート、レギンス、ブーツ)が可視状態かどうか +---@field package textureQueue Armor.TextureQueueData[] テクスチャ処理のキュー +---@field package getArmorColor fun(armorItem: ItemStack): number 防具の色を取得する +---@field package compareTrims fun(trim1?: Armor.TrimData, trim2?: Armor.TrimData): boolean 防具装飾が同じものか比較する +---@field package addTextureQueue fun(self: Armor, texture: Texture, paletteName: string) テクスチャの処理のキューにデータを挿入する +---@field package getTrimTexture fun(self: Armor, trimData?: Armor.TrimData, armorId: string): Texture|nil バニラパーツの防具装飾のテクスチャを取得する。テクスチャの処理は次のチック以降行われる。 +---@field public setHelmet fun(self: Armor, helmetItem: ItemStack) ヘルメットを更新する +---@field public setChestplate fun(self: Armor, chestplateItem: ItemStack) チェストプレートを更新する +---@field public setLeggings fun(self: Armor, leggingsItem: ItemStack) レギンスを更新する +---@field public setBoots fun(self: Armor, bootsItem: ItemStack) ブーツを更新する + +---@class (exact) Armor.VisiblePartsSet 各防具の部位の可視状態のセット +---@field public helmet boolean ヘルメット +---@field public chestplate boolean チェストプレート +---@field public leggings boolean レギンス +---@field public boots boolean ブーツ + +---@class (exact) Armor.TextureQueueData テクスチャキューに入るデータの構造体 +---@field public texture Texture 処理対象のテクスチャ +---@field public palette Texture 処理に使用するパレットのテクスチャ +---@field public iterationCount integer 現在の繰り返しカウンター + +---@class (exact) Armor.TrimData 防具装飾のデータセット +---@field public pattern string 防具装飾の模様 +---@field public material string 防具装飾の素材 + +Armor = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Armor + new = function (parent) + ---@type Armor + local instance = Avatar.instantiate(Armor, AvatarModule, parent) + instance.shouldShowArmor = instance.parent.config:loadConfig("PRIVATE", "showArmor", false) + instance.armorSlotItems = {world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air"))} + instance.armorSlotItemsPrev = {world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air"))} + instance.isArmorVisible = { + helmet = false; + chestplate = false; + leggings = false; + boots = false; + } + instance.textureQueue = {} + + return instance + end; + + ---初期化関数 + ---@param self Armor + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + self.armorSlotItems = self.shouldShowArmor and {player:getItem(6), player:getItem(5), player:getItem(4), player:getItem(3)} or {world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))} + if self.armorSlotItems[1].id ~= self.armorSlotItemsPrev[1].id then + self:setHelmet(self.armorSlotItems[1]) + end + if self.armorSlotItems[2].id ~= self.armorSlotItemsPrev[2].id then + self:setChestplate(self.armorSlotItems[2]) + end + if self.armorSlotItems[3].id ~= self.armorSlotItemsPrev[3].id then + self:setLeggings(self.armorSlotItems[3]) + end + if self.armorSlotItems[4].id ~= self.armorSlotItemsPrev[4].id then + self:setBoots(self.armorSlotItems[4]) + end + + for index, armorSlotItem in ipairs(self.armorSlotItems) do + local glint = armorSlotItem:hasGlint() + if glint ~= self.armorSlotItemsPrev[index]:hasGlint() then + --エンチャント変更 + local renderType = glint and "GLINT" or "NONE" + if index == 2 then + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom}) do + armorPart:setSecondaryRenderType(renderType) + end + elseif index == 3 then + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom}) do + armorPart:setSecondaryRenderType(renderType) + end + else + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom}) do + armorPart:setSecondaryRenderType(renderType) + end + end + end + local armorColor = self.getArmorColor(armorSlotItem) + if armorColor ~= self.getArmorColor(self.armorSlotItemsPrev[index]) then + --色変更 + local colorVector = vectors.intToRGB(armorColor) + if index == 2 then + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplate, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottom, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplate, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottom}) do + armorPart:setColor(colorVector) + end + elseif index == 3 then + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggings, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggings, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottom}) do + armorPart:setColor(colorVector) + end + else + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBoots, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBoots, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottom}) do + armorPart:setColor(colorVector) + end + end + end + local trim = self.armorSlotItems[index].tag.Trim + if not self.compareTrims(trim, self.armorSlotItemsPrev[index].tag.Trim) then + --トリム変更 + if index == 2 then + local trimTexture = self:getTrimTexture(trim, self.armorSlotItems[2].id) + if trimTexture then + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplateTrim, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottomTrim, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplateTrim, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottomTrim}) do + armorPart:setVisible(true) + armorPart:setPrimaryTexture("CUSTOM", trimTexture) + end + else + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplateTrim, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottomTrim, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplateTrim, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottomTrim}) do + armorPart:setVisible(false) + end + end + elseif index == 3 then + local trimTexture = self:getTrimTexture(trim, self.armorSlotItems[3].id) + if trimTexture then + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggingsTrim, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottomTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggingsTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottomTrim}) do + armorPart:setVisible(true) + armorPart:setPrimaryTexture("CUSTOM", trimTexture) + end + else + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggingsTrim, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottomTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggingsTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottomTrim}) do + armorPart:setVisible(false) + end + end + else + local trimTexture = self:getTrimTexture(trim, self.armorSlotItems[4].id) + if trimTexture then + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBootsTrim, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottomTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBootsTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottomTrim}) do + armorPart:setVisible(true) + armorPart:setPrimaryTexture("CUSTOM", trimTexture) + end + else + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBootsTrim, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottomTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBootsTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottomTrim}) do + armorPart:setVisible(false) + end + end + end + end + end + --テクスチャの作成処理 + if #self.textureQueue > 0 then + local instructionsAvailable = avatar:getMaxTickCount() - 3000 --このTICKで使用出来る残りの命令数 + while #self.textureQueue > 0 and instructionsAvailable > 0 do + local dimension = self.textureQueue[1].texture:getDimensions() + for y = math.floor(self.textureQueue[1].iterationCount / dimension.x), dimension.y - 1 do + for x = self.textureQueue[1].iterationCount % dimension.x, dimension.x - 1 do + local pixel = self.textureQueue[1].texture:getPixel(x, y) + if pixel.w == 1 then + self.textureQueue[1].texture:setPixel(x, y, self.textureQueue[1].palette:getPixel(7 - math.floor(pixel.x * 8), 0)) + end + self.textureQueue[1].iterationCount = self.textureQueue[1].iterationCount + 1 + instructionsAvailable = instructionsAvailable - 45 + if instructionsAvailable <= 0 then + break + end + end + if instructionsAvailable <= 0 then + break + end + end + self.textureQueue[1].texture:update() + if self.textureQueue[1].iterationCount == dimension.x * dimension.y then + table.remove(self.textureQueue, 1) + end + end + end + self.armorSlotItemsPrev = self.armorSlotItems + end) + + for _, vanillaModel in ipairs({vanilla_model.HELMET, vanilla_model.CHESTPLATE, vanilla_model.LEGGINGS}) do + vanillaModel:setVisible(false) + end + for _, overlayPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottomOverlay, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottomOverlay, models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBootsOverlay, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottomOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBootsOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottomOverlay}) do + overlayPart:setPrimaryTexture("RESOURCE", "minecraft:textures/models/armor/leather_layer_1_overlay.png") + end + for _, overlayPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggingsOverlay, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottomOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggingsOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottomOverlay}) do + overlayPart:setPrimaryTexture("RESOURCE", "minecraft:textures/models/armor/leather_layer_2_overlay.png") + end + end; + + ---防具の色を取得する。 + ---@param armorItem ItemStack 調べるアイテムのオブジェクト + ---@return number color 防具モデルに設定すべき色 + getArmorColor = function (armorItem) + if armorItem.id:find("^minecraft:leather_") then + if armorItem.tag then + if armorItem.tag.display then + return armorItem.tag.display.color and armorItem.tag.display.color or 10511680 + else + return 10511680 + end + else + return 10511680 + end + else + return 16777215 + end + end; + + ---防具装飾が同じものか比較する。 + ---@param trim1? Armor.TrimData 比較する防具装飾のテーブル1 + ---@param trim2? Armor.TrimData 比較する防具装飾のテーブル2 + ---@return boolean isTrimSame 2つの防具装飾が同じものかどうか + compareTrims = function (trim1, trim2) + if type(trim1) == type(trim2) then + if trim1 then + if trim1.pattern ~= trim2.pattern then + return false + elseif trim1.material ~= trim2.material then + return false + else + return true + end + else + return true + end + else + return false + end + end; + + ---テクスチャの処理のキューにデータを挿入する。 + ---@param self Armor + ---@param texture Texture 処理を行うテクスチャ + ---@param paletteName string 使用するパレットの名前 + addTextureQueue = function (self, texture, paletteName) + if textures["trim_palette_"..paletteName] == nil then + textures:fromVanilla("trim_palette_"..paletteName, "minecraft:textures/trims/color_palettes/"..paletteName..".png") + end + table.insert(self.textureQueue, 1, { + texture = texture, + palette = textures["trim_palette_"..paletteName], + iterationCount = 0 + }) + end; + + ---バニラパーツの防具装飾のテクスチャを取得する。テクスチャの処理は次のチック以降行われる。 + ---@param self Armor + ---@param trimData? Armor.TrimData 防具装飾のデータ + ---@param armorId string 防具アイテムのID。 + ---@return Texture|nil trimTexture 色を付けた防具装飾のテクスチャ。防具や防具装飾が非バニラの場合はnilを返す。 + getTrimTexture = function (self, trimData, armorId) + if trimData and trimData.pattern:find("^minecraft:.+$") and trimData.material:find("^minecraft:.+$") and armorId:find("^minecraft:.+_.+$") then + local normalizedPatternName = trimData.pattern:match("^minecraft:(%a+)$") + local normalizedArmorMaterialName = armorId:match("^minecraft:(%a+)_.+$") + normalizedArmorMaterialName = normalizedArmorMaterialName == "golden" and "gold" or normalizedArmorMaterialName + local normalizedMaterialName = trimData.material:match("^minecraft:(%a+)$") + normalizedMaterialName = normalizedMaterialName..(normalizedArmorMaterialName == normalizedMaterialName and "_darker" or "") + local isLeggings = armorId:find("^minecraft:.+_leggings$") + local textureName = "trim_"..normalizedPatternName.."_"..normalizedMaterialName..(isLeggings and "_leggings" or "") + if textures[textureName] then + return textures[textureName] + else + local texture = textures:fromVanilla(textureName, "minecraft:textures/trims/models/armor/"..normalizedPatternName..(armorId:find("^minecraft:.+_leggings$") ~= nil and "_leggings" or "")..".png") + self:addTextureQueue(texture, normalizedMaterialName) + return texture + end + end + end; + + ---ヘルメットを更新する。 + ---@param self Armor + ---@param helmetItem ItemStack ヘルメットのスロットに入っているアイテム + setHelmet = function (self, helmetItem) + local helmetFound = helmetItem.id ~= "minecraft:air" + vanilla_model.HELMET:setVisible(helmetFound) + self.isArmorVisible.helmet = helmetFound + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onArmorChange ~= nil then + self.parent.characterData.costume.callbacks.onArmorChange(self.parent.characterData, "HELMET", self.isArmorVisible.helmet) + end + end; + + ---チェストプレートを更新する。 + ---@param self Armor + ---@param chestplateItem ItemStack チェストプレートスロットに入っているアイテム + setChestplate = function (self, chestplateItem) + local chestplateFound = chestplateItem.id:find("^minecraft:.+_chestplate$") ~= nil + vanilla_model.CHESTPLATE:setVisible(chestplateFound) + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB}) do + armorPart:setVisible(chestplateFound) + end + self.isArmorVisible.chestplate = chestplateFound + if self.isArmorVisible.chestplate then + local material = chestplateItem.id:match("^minecraft:(%a+)_chestplate$") + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplate, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottom, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplate, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottom}) do + armorPart:setPrimaryTexture("RESOURCE", "minecraft:textures/models/armor/"..(material == "golden" and "gold" or material).."_layer_1.png") + end + end + local overlayVisible = chestplateItem.id == "minecraft:leather_chestplate" + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottomOverlay, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottomOverlay}) do + armorPart:setVisible(overlayVisible) + end + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onArmorChange ~= nil then + self.parent.characterData.costume.callbacks.onArmorChange(self.parent.characterData, "CHEST_PLATE", self.isArmorVisible.chestplate) + end + end; + + ---レギンスを更新する。 + ---@param self Armor + ---@param leggingsItem ItemStack レギンススロットに入っているアイテム + setLeggings = function (self, leggingsItem) + local leggingsFound = leggingsItem.id:find("^minecraft:.+_leggings$") ~= nil + vanilla_model.LEGGINGS:setVisible(leggingsFound) + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom}) do + armorPart:setVisible(leggingsFound) + end + self.isArmorVisible.leggings = leggingsFound + if self.isArmorVisible.leggings then + local material = leggingsItem.id:match("^minecraft:(%a+)_leggings$") + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggings, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggings, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottom}) do + armorPart:setPrimaryTexture("RESOURCE", "minecraft:textures/models/armor/"..(material == "golden" and "gold" or material).."_layer_2.png") + end + end + local overlayVisible = leggingsItem.id == "minecraft:leather_leggings" + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggingsOverlay, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottomOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggingsOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottomOverlay}) do + armorPart:setVisible(overlayVisible) + end + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onArmorChange ~= nil then + self.parent.characterData.costume.callbacks.onArmorChange(self.parent.characterData, "LEGGINGS", self.isArmorVisible.leggings) + end + end; + + ---ブーツを更新する。 + ---@param self Armor + ---@param bootsItem ItemStack ブーツスロットに入っているアイテム + setBoots = function (self, bootsItem) + local bootsFound = bootsItem.id:find("^minecraft:.+_boots$") ~= nil + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom}) do + armorPart:setVisible(bootsFound) + end + self.isArmorVisible.boots = bootsFound + if self.isArmorVisible.boots then + local material = bootsItem.id:match("^minecraft:(%a+)_boots$") + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBoots, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBoots, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottom}) do + armorPart:setPrimaryTexture("RESOURCE", "minecraft:textures/models/armor/"..(material == "golden" and "gold" or material).."_layer_1.png") + end + end + local overlayVisible = bootsItem.id == "minecraft:leather_boots" + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBootsOverlay, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottomOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBootsOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottomOverlay}) do + armorPart:setVisible(overlayVisible) + end + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onArmorChange ~= nil then + self.parent.characterData.costume.callbacks.onArmorChange(self.parent.characterData, "BOOTS", self.isArmorVisible.boots) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/arms.lua b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/arms.lua new file mode 100644 index 0000000..27ef260 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/arms.lua @@ -0,0 +1,192 @@ +---@class (exact) Arms : AvatarModule アバターの腕を制御するクラス +---@field public armState Arms.ArmStateSet 腕の状態:0. バニラ状態, 1. 銃を構えている際の、銃を構えている方の腕, 2. 銃を構えている際の、銃を構えていない方の腕, 3. クロスボウ装填中 +---@field package armStatePrev Arms.ArmStateSet 前ティックの腕の状態 +---@field package swingCount integer 腕をプラプラさせるカウンター +---@field package isSwingCountProcessed boolean 腕プラプラカウンターを処理したかどうか +---@field package processArmWingCount fun(self: Arms) 腕プラプラカウンターを処理する +---@field public setArmState fun(self: Arms, right?: integer, left?: integer) 腕の状態を設定する + +---@class (exact) Arms.ArmStateSet 腕の状態を示すデータセット +---@field public right integer 右腕の状態 +---@field public left integer 左腕の状態 + +Arms = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Arms + new = function (parent) + ---@type Arms + local instance = Avatar.instantiate(Arms, AvatarModule, parent) + + instance.armState = { + right = 0; + left = 0; + } + instance.armStatePrev = { + right = 0; + left = 0; + } + instance.swingCount = 0 + instance.isSwingCountProcessed = false + + return instance + end; + + ---初期化関数 + ---@param self Arms + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + self.isSwingCountProcessed = false + end) + end; + + ---腕プラプラカウンターを処理する。 + ---@param self Arms + processArmWingCount = function (self) + if not client:isPaused() and not self.isSwingCountProcessed then + self.swingCount = self.swingCount + 1 + self.swingCount = self.swingCount == 100 and 0 or self.swingCount + self.isSwingCountProcessed = true + end + end; + + ---腕の状態を設定する。 + ---@param self Arms + ---@param right? integer 右腕の状態 + ---@param left? integer 左腕の状態 + setArmState = function (self, right, left) + if right ~= nil then + self.armState.right = right + end + if left ~= nil then + self.armState.left = left + end + if (self.armState.right == 1 or self.armState.left == 1) and player:getActiveItem().id == "minecraft:crossbow" then + self:setArmState(3, 3) + return + end + if self.parent.characterData.arms.callbacks ~= nil and self.parent.characterData.arms.callbacks.onArmStateChanged ~= nil then + local result = self.parent.characterData.arms.callbacks.onArmStateChanged(self.parent.characterData, self.armState.right, self.armState.left) + if result ~= nil then + if result.right ~= nil then + self.armState.right = result.right + end + if result.left ~= nil then + self.armState.left = result.left + end + end + end + + --右腕の操作 + if self.armState.right ~= self.armStatePrev.right then + --腕の状態をリセット + models.models.main.Avatar.UpperBody.Arms.RightArm:setRot() + models.models.main.Avatar.UpperBody.Arms.RightArm:setParentType("RightArm") + events.TICK:remove("right_arm_tick") + events.RENDER:remove("right_arm_render") + if self.armState.right == 1 then + --銃を構えている際の、銃を構えている方の腕 + events.TICK:register(function () + if self.armState.right == 1 then + self:processArmWingCount() + if player:isSwingingArm() and not player:isLeftHanded() then + models.models.main.Avatar.UpperBody.Arms.RightArm:setParentType("RightArm") + else + models.models.main.Avatar.UpperBody.Arms.RightArm:setParentType("Body") + end + if player:getActiveItem().id == "minecraft:crossbow" then + self:setArmState(3, 3) + end + end + end, "right_arm_tick") + events.RENDER:register(function (delta) + local headRot = vanilla_model.HEAD:getOriginRot() + models.models.main.Avatar.UpperBody.Arms.RightArm:setRot(player:isSwingingArm() and not player:isLeftHanded() and vectors.vec3() or vectors.vec3(headRot.x + math.sin((self.swingCount + delta) / 100 * math.pi * 2) * 2.5 + 90 + (player:isCrouching() and 30 or 0), headRot.y, 0)) + end, "right_arm_render") + elseif self.armState.right == 2 then + --銃を構えている際の、銃を構えていない方の腕 + events.TICK:register(function () + self:processArmWingCount() + end, "right_arm_tick") + events.RENDER:register(function (delta, context) + local headRot = vanilla_model.HEAD:getOriginRot() + local isSwingingArm = player:isSwingingArm() and not player:isLeftHanded() + models.models.main.Avatar.UpperBody.Arms.RightArm:setParentType((isSwingingArm or context == "FIRST_PERSON") and "RightArm" or "Body") + models.models.main.Avatar.UpperBody.Arms.RightArm:setRot(isSwingingArm and vectors.vec3() or vectors.vec3(headRot.x + math.sin((self.swingCount + delta) / 100 * math.pi * 2) * 2.5 + 90 + (player:isCrouching() and 30 or 0), math.map((headRot.y + 180) % 360 - 180, -50, 50, -21, 78), 0)) + end, "right_arm_render") + elseif self.armState.right == 3 then + --クロスボウ装填中 + events.TICK:register(function () + if player:getActiveItem().id ~= "minecraft:crossbow" and self.armState.right == 3 then + if self.parent.gun.currentGunPosition == "RIGHT" then + self:setArmState(1, 2) + elseif self.parent.gun.currentGunPosition == "LEFT" then + self:setArmState(2, 1) + end + end + end, "right_arm_tick") + end + if self.parent.characterData.arms.callbacks ~= nil and self.parent.characterData.arms.callbacks.onAdditionalRightArmProcess ~= nil then + self.parent.characterData.arms.callbacks.onAdditionalRightArmProcess(self.parent.characterData, self.armState.right) + end + self.armStatePrev.right = self.armState.right + end + --左腕の操作 + if self.armState.left ~= self.armStatePrev.left then + --腕の状態をリセット + models.models.main.Avatar.UpperBody.Arms.LeftArm:setRot() + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType("LeftArm") + events.TICK:remove("left_arm_tick") + events.RENDER:remove("left_arm_render") + if self.armState.left == 1 then + --銃を構えている際の、銃を構えている方の腕 + events.TICK:register(function () + if self.armState.left == 1 then + self:processArmWingCount() + if player:isSwingingArm() and player:isLeftHanded() then + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType("LeftArm") + else + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType("Body") + end + if player:getActiveItem().id == "minecraft:crossbow" then + self:setArmState(3, 3) + end + end + end, "left_arm_tick") + events.RENDER:register(function (delta) + local headRot = vanilla_model.HEAD:getOriginRot() + models.models.main.Avatar.UpperBody.Arms.LeftArm:setRot(player:isSwingingArm() and player:isLeftHanded() and vectors.vec3() or vectors.vec3(headRot.x + math.sin((self.swingCount + delta) / 100 * math.pi * 2) * -2.5 + 90 + (player:isCrouching() and 30 or 0), headRot.y, 0)) + end, "left_arm_render") + elseif self.armState.left == 2 then + --銃を構えている際の、銃を構えていない方の腕 + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType("Body") + events.TICK:register(function () + self:processArmWingCount() + end, "left_arm_tick") + events.RENDER:register(function (delta, context) + local headRot = vanilla_model.HEAD:getOriginRot() + local isSwingingArm = player:isSwingingArm() and player:isLeftHanded() + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType((isSwingingArm or context == "FIRST_PERSON") and "LeftArm" or "Body") + models.models.main.Avatar.UpperBody.Arms.LeftArm:setRot(isSwingingArm and vectors.vec3() or vectors.vec3(headRot.x + math.sin((self.swingCount + delta) / 100 * math.pi * 2) * -2.5 + 90 + (player:isCrouching() and 30 or 0), math.map((headRot.y + 180) % 360 - 180, -50, 50, -78, 21), 0)) + end, "left_arm_render") + elseif self.armState.left == 3 then + --クロスボウ装填中 + events.TICK:register(function () + if player:getActiveItem().id ~= "minecraft:crossbow" and self.armState.left == 3 then + if self.parent.gun.currentGunPosition == "RIGHT" then + self:setArmState(1, 2) + elseif self.parent.gun.currentGunPosition == "LEFT" then + self:setArmState(2, 1) + end + end + end, "left_arm_tick") + end + if self.parent.characterData.arms.callbacks ~= nil and self.parent.characterData.arms.callbacks.onAdditionalLeftArmProcess ~= nil then + self.parent.characterData.arms.callbacks.onAdditionalLeftArmProcess(self.parent.characterData, self.armState.left) + end + self.armStatePrev.left = self.armState.left + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/avatar_module.lua b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/avatar_module.lua new file mode 100644 index 0000000..4ae2c3a --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/avatar_module.lua @@ -0,0 +1,23 @@ +---@class AvatarModule アバターの動作を構成するモジュールの抽象クラス +---@field public parent Avatar アバターのメインクラスへの参照 +---@field public new fun(parent: Avatar): AvatarModule コンストラクタ +---@field public init fun(self: AvatarModule) 初期化関数 + +AvatarModule = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return AvatarModule + new = function (parent) + ---@type AvatarModule + local instance = Avatar.instantiate(AvatarModule) + + instance.parent = parent + + return instance + end; + + ---初期化関数 + ---@param self AvatarModule + init = function (self) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/barrier.lua b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/barrier.lua new file mode 100644 index 0000000..06066b9 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/barrier.lua @@ -0,0 +1,88 @@ +---@class (exact) Barrier : AvatarModule バリアの視覚効果を管理するクラス +---@field package animationCounts number[] バリアのアニメーションのカウンター +---@field public isBarrierVisible boolean バリアが可視化状態かどうか +---@field package hadAbsorptionPrev boolean 前ティックの衝撃吸収のハートを持っていたかどうか +---@field package colorFactor number バリアの色の係数 +---@field public enable fun(self: Barrier) バリア機能を有効にする +---@field public disable fun(self: Barrier) バリア機能を無効にする + +Barrier = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Barrier + new = function (parent) + ---@type Barrier + local instance = Avatar.instantiate(Barrier, AvatarModule, parent) + + instance.animationCounts = {} + instance.isBarrierVisible = false + instance.hadAbsorptionPrev = false + instance.colorFactor = client:hasShaderPack() and 0.5 or 1 + + for i = 1, 32 do + instance.animationCounts[i] = math.random(0, 39) + end + + return instance + end; + + ---初期化関数 + ---@param self Barrier + init = function (self) + AvatarModule.init(self) + + models.models.main.Avatar.barrier:setLight(15) + + events.TICK:register(function () + local hasAbsorption = player:getAbsorptionAmount() > 0 and player:getHealth() > 0 + if hasAbsorption and not self.hadAbsorptionPrev then + self:enable() + elseif not hasAbsorption and self.hadAbsorptionPrev then + self:disable() + end + self.hadAbsorptionPrev = hasAbsorption + end) + end; + + ---バリア機能を有効にする。 + ---@param self Barrier + enable = function (self) + for i = 1, 32 do + self.animationCounts[i] = math.random(0, 39) + end + + events.TICK:register(function () + for i = 1, 32 do + self.animationCounts[i] = self.animationCounts[i] + 1 + if self.animationCounts[i] == 40 then + self.animationCounts[i] = 0 + end + end + self.colorFactor = client:hasShaderPack() and 0.5 or 1 + end, "barrier_tick") + + events.RENDER:register(function (delta, context) + if context == "FIRST_PERSON" or context == "RENDER" then + models.models.main.Avatar.barrier:setVisible(true) + for i = 1, 32 do + local opacity = math.abs(-0.025 * (self.animationCounts[i] + delta) + 0.5) + 0.5 + models.models.main.Avatar.barrier.Barrier["Barrier"..i]:setOpacity(opacity) + models.models.main.Avatar.barrier.Barrier["Barrier"..i]:setColor(opacity * self.colorFactor, opacity * self.colorFactor, 1) + end + else + models.models.main.Avatar.barrier:setVisible(false) + end + end, "barrier_render") + + self.isBarrierVisible = true + end; + + ---バリア機能を無効にする。 + ---@param self Barrier + disable = function (self) + models.models.main.Avatar.barrier:setVisible(false) + events.TICK:remove("barrier_tick") + events.RENDER:remove("barrier_render") + self.isBarrierVisible = false + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/bubble.lua b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/bubble.lua new file mode 100644 index 0000000..fc6197b --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/bubble.lua @@ -0,0 +1,224 @@ +---@alias Bubble.BubbleType +---| "GOOD" # 👍 +---| "HEART" # 💗 +---| "NOTE" # 🎵 +---| "QUESTION" # ❓ +---| "SWEAT" # 💦 +---| "RELOAD" # 弾薬をリロードする絵文字 +---| "DOTS" # … +---| "V" # ✌ + +---@class (exact) Bubble : AvatarModule 吹き出しエモートを管理するクラス +---@field public bubbleCount integer 吹き出しの表示時間を測るカウンター +---@field public emoji Bubble.BubbleType 吹き出しの絵文字 +---@field package duration integer 吹き出しを表示する時間。-1は時間無制限を示す。 +---@field package isAutoBubble boolean 吹き出しエモートが自動で出たものかどうか +---@field package shouldShowInHud boolean 一人称用にHUDに吹き出しを表示するかどうか +---@field package emojiAnimationCount number 絵文字のアニメーションのタイミングを測るカウンター +---@field package isForcedStop boolean 吹き出しエモートが強制停止させられたかどうか +---@field public isChatOpened boolean チャットを開けているかどうか +---@field package isChatOpenedPrev boolean 前ティックにチャットを開けていたかどうか +---@field public play fun(self: Bubble, type: Bubble.BubbleType, duration: integer, offsetPos: Vector2, offsetRot: number, shouldShowInHud: boolean) 吹き出しエモートを再生する +---@field public stop fun(self: Bubble) 吹き出しエモートを停止する + +Bubble = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Bubble + new = function (parent) + ---@type Bubble + local instance = Avatar.instantiate(Bubble, AvatarModule, parent) + + instance.bubbleCount = 0 + instance.emoji = "GOOD" + instance.duration = 0 + instance.isAutoBubble = false + instance.shouldShowInHud = false + instance.emojiAnimationCount = 0 + instance.isForcedStop = false + instance.isChatOpened = false + instance.isChatOpenedPrev = false + + return instance + end; + + ---初期化関数 + ---@param self Bubble + init = function (self) + AvatarModule.init(self) + + models.models.bubble:addChild(models:newPart("Gui", "Gui")) + models.models.bubble.Gui:addChild(models.models.bubble.Camera.AvatarBubble:copy("FirstPersonBubble")) + models.models.bubble.Gui.FirstPersonBubble:setVisible(false) + for _, modelPart in ipairs({models.models.bubble.Camera.AvatarBubble, models.models.bubble.Gui.FirstPersonBubble}) do + modelPart:setScale(0, 0, 0) + end + + --エモートガイド + if host:isHost() then + self.parent.keyManager:register("bubble_1", self.parent.config:loadConfig("PRIVATE", "keybind.bubble_1", "key.keyboard.j")):onPress(function () + if self.parent.exSkill.animationCount == -1 and (self.bubbleCount == 0 or self.isAutoBubble) then + pings.showBubbleEmote("GOOD") + end + end) + self.parent.keyManager:register("bubble_2", self.parent.config:loadConfig("PRIVATE", "keybind.bubble_2", "key.keyboard.k")):onPress(function () + if self.parent.exSkill.animationCount == -1 and (self.bubbleCount == 0 or self.isAutoBubble) then + pings.showBubbleEmote("HEART") + end + end) + self.parent.keyManager:register("bubble_3", self.parent.config:loadConfig("PRIVATE", "keybind.bubble_3", "key.keyboard.n")):onPress(function () + if self.parent.exSkill.animationCount == -1 and (self.bubbleCount == 0 or self.isAutoBubble) then + pings.showBubbleEmote("NOTE") + end + end) + self.parent.keyManager:register("bubble_4", self.parent.config:loadConfig("PRIVATE", "keybind.bubble_4", "key.keyboard.m")):onPress(function () + if self.parent.exSkill.animationCount == -1 and (self.bubbleCount == 0 or self.isAutoBubble) then + pings.showBubbleEmote("QUESTION") + end + end) + self.parent.keyManager:register("bubble_5", self.parent.config:loadConfig("PRIVATE", "keybind.bubble_5", "key.keyboard.comma")):onPress(function () + if self.parent.exSkill.animationCount == -1 and (self.bubbleCount == 0 or self.isAutoBubble) then + pings.showBubbleEmote("SWEAT") + end + end) + end + + events.TICK:register(function () + if host:isHost() then + local isChatOpened = host:isChatOpen() + if isChatOpened ~= self.isChatOpened then + pings.setChatOpen(isChatOpened) + end + self.isChatOpenedPrev = isChatOpened + end + + if player:getActiveItem().id == "minecraft:crossbow" then + if self.bubbleCount == 0 or (self.isAutoBubble and self.emoji ~= "RELOAD") then + self:play("RELOAD", -1, vectors.vec2(), 0, false) + self.isAutoBubble = true + end + elseif self.isChatOpened and self.parent.exSkill.transitionCount == 0 then + if self.bubbleCount == 0 or (self.isAutoBubble and self.emoji ~= "DOTS") then + self:play("DOTS", -1, vectors.vec2(), 0, false) + self.isAutoBubble = true + end + elseif self.isAutoBubble then + self:stop() + self.isAutoBubble = false + end + end) + end; + + ---吹き出しエモートを再生する。 + ---@param self Bubble + ---@param type Bubble.BubbleType 再生する絵文字の種類 + ---@param duration integer 吹き出しを表示している時間。-1にすると停止するまでずっと表示する。 + ---@param offsetPos Vector2 吹き出しの位置のオフセット値 + ---@param offsetRot number アバター周回上の、吹き出しが表示される位置のオフセット値 + ---@param shouldShowInHud boolean 一人称用にHUDに吹き出しを表示するかどうか + play = function (self, type, duration, offsetPos, offsetRot, shouldShowInHud) + self.emoji = type + self.duration = duration + self.shouldShowInHud = shouldShowInHud + self.bubbleCount = 1 + self.emojiAnimationCount = 0 + models.models.bubble.Camera.AvatarBubble.Emoji:setPrimaryTexture("CUSTOM", textures["textures.emojis."..self.emoji:lower()]) + models.models.bubble.Camera.AvatarBubble.Bullets:setVisible(self.emoji == "RELOAD") + models.models.bubble.Camera.AvatarBubble.Dots:setVisible(self.emoji == "DOTS") + if self.shouldShowInHud then + models.models.bubble.Gui.FirstPersonBubble.Emoji:setPrimaryTexture("CUSTOM", textures["textures.emojis."..self.emoji:lower()]) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.item.pickup"), self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar)) + end + + if events.TICK:getRegisteredCount("bubble_tick") == 0 then + events.TICK:register(function () + if not client:isPaused() then + models.models.bubble.Gui.FirstPersonBubble:setVisible(self.shouldShowInHud and renderer:isFirstPerson()) + self.bubbleCount = self.bubbleCount + 1 + if self.bubbleCount == 0 then + for _, modelPart in ipairs({models.models.bubble.Camera.AvatarBubble, models.models.bubble.Gui.FirstPersonBubble, models.models.bubble.Camera.AvatarBubble.Bullets, models.models.bubble.Gui.FirstPersonBubble.Bullets}) do + modelPart:setVisible(false) + end + events.TICK:remove("bubble_tick") + events.RENDER:remove("bubble_render") + if self.parent.characterData.bubble.callbacks ~= nil and self.parent.characterData.bubble.callbacks.onStop ~= nil then + self.parent.characterData.bubble.callbacks.onStop(self.parent.characterData, type, self.isForcedStop) + end + elseif self.duration >= 0 and self.bubbleCount == self.duration + 2 then + self:stop() + end + if self.emoji == "RELOAD" or self.emoji == "DOTS" then + self.emojiAnimationCount = self.emojiAnimationCount + 1 + self.emojiAnimationCount = self.emojiAnimationCount == 25 and 0 or self.emojiAnimationCount + if self.emoji == "DOTS" then + for i = 1, 3 do + models.models.bubble.Camera.AvatarBubble.Dots["Dot"..i]:setVisible(self.emojiAnimationCount >= 6 * i) + end + end + end + end + end, "bubble_tick") + end + + if events.RENDER:getRegisteredCount("bubble_render") == 0 then + events.RENDER:register(function (delta, context) + models.models.bubble.Camera.AvatarBubble:setVisible(context ~= "OTHER") + if not client:isPaused() then + local bubbleScale = math.min(math.abs(0.5 * (self.bubbleCount + delta)), 1) + models.models.bubble.Camera.AvatarBubble:setScale(vectors.vec3(1, 1, 1):scale(bubbleScale)) + local playerPos = self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar) + local avatarBubblePos = context == "PAPERDOLL" and vectors.vec3(0, 32, 0) or vectors.rotateAroundAxis(player:getBodyYaw(delta) + 180, playerPos:copy():sub(player:getPos(delta)):scale(17.067):add(0, 32 + offsetPos.y, 0), 0, 1, 0) + if not renderer:isFirstPerson() then + local cameraPos = client:getCameraPos() + avatarBubblePos:add(vectors.rotateAroundAxis(math.deg(math.atan2(cameraPos.z - playerPos.z, cameraPos.x - playerPos.x) - math.pi / 2) % 360 - (player:getBodyYaw(delta) + offsetRot) % 360, 12 + offsetPos.x, 0, 0, 0, -1, 0)) + else + avatarBubblePos:add(12 + offsetPos.x, 0, 0) + end + models.models.bubble.Camera:setOffsetPivot(avatarBubblePos) + models.models.bubble.Camera.AvatarBubble:setPos(avatarBubblePos) + if host:isHost() and self.shouldShowInHud then + local windowSize = client:getScaledWindowSize() + models.models.bubble.Gui.FirstPersonBubble:setPos(-windowSize.x + 10, -windowSize.y + (action_wheel:isEnabled() and 125 or 10), 0) + models.models.bubble.Gui.FirstPersonBubble:setScale(vectors.vec3(1, 1, 1):scale(bubbleScale * 4)) + end + if self.emoji == "RELOAD" then + local bullet1Counter = math.clamp((self.emojiAnimationCount + delta) * 0.2 - 1, 0, 1) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet1:setPos(0, 1 - bullet1Counter, 0) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet1:setOpacity(bullet1Counter) + local bullet2Counter = math.clamp((self.emojiAnimationCount + delta) * 0.2 - 2, 0, 1) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet2:setPos(0, 1 - bullet2Counter, 0) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet2:setOpacity(bullet2Counter) + local bullet3Counter = math.clamp((self.emojiAnimationCount + delta) * 0.2 - 3, 0, 1) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet3:setPos(0, 1 - bullet3Counter, 0) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet3:setOpacity(bullet3Counter) + end + end + end, "bubble_render") + end + if self.parent.characterData.bubble.callbacks ~= nil and self.parent.characterData.bubble.callbacks.onPlay ~= nil then + self.parent.characterData.bubble.callbacks.onPlay(self.parent.characterData, type, duration, shouldShowInHud) + end + end; + + ---吹き出しエモートを停止する。 + ---@param self Bubble + stop = function (self) + if self.bubbleCount > 0 then + self.isForcedStop = self.duration == -1 or self.bubbleCount < self.duration + 2 + self.bubbleCount = -2 + end + end; +} + +---吹き出しエモートを表示する。 +---@param type Bubble.BubbleType 表示する絵文字の種類 +function pings.showBubbleEmote(type) + AvatarInstance.bubble:play(type, 50, vectors.vec2(), 0, true) + AvatarInstance.bubble.isAutoBubble = false +end + +---Bubbleのチャットを開けているフラグを更新する。 +---@param value boolean 新しい値 +function pings.setChatOpen(value) + AvatarInstance.bubble.isChatOpened = value +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/camera_manager.lua b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/camera_manager.lua new file mode 100644 index 0000000..e985b05 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/camera_manager.lua @@ -0,0 +1,99 @@ +---@class (exact) CameraManager : AvatarModule カメラ制御全般を管理するクラス +---@field package COLLISION_DENIAL_DISABLED boolean カメラの当たり判定打ち消し機能を無効にする。撮影用。 +---@field package thirdPersonCameraDistance number 三人称視点でのカメラと回転軸の距離 +---@field package isCameraCollisionDenialEnabled boolean 三人称視点でのカメラの当たり判定打ち消し機能が有効かどうか +---@field public setCameraManagerRender fun(self: CameraManager, enabled: boolean) CameraManagerのレンダー関数を設定する +---@field public setCameraPivot fun(newPivot?: Vector3) カメラの回転軸のオフセット位置を変更する +---@field public setCameraRot fun(newRot?: Vector3) カメラ方向を変更する +---@field public setThirdPersonCameraDistance fun(self: CameraManager, distance: number) 三人称視点でのカメラと回転軸の距離を設定する +---@field public setCameraCollisionDenial fun(self: CameraManager, enabled: boolean) カメラの当たり判定打ち消し機能を設定する + +CameraManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return CameraManager + new = function (parent) + ---@type CameraManager + local instance = Avatar.instantiate(CameraManager, AvatarModule, parent) + + instance.COLLISION_DENIAL_DISABLED = false + instance.thirdPersonCameraDistance = 4 + instance.isCameraCollisionDenialEnabled = false + + return instance + end; + + ---CameraManagerのレンダー関数を設定する。 + ---@param self CameraManager + ---@param enabled boolean CameraManagerのレンダー関数を有効化するかどうか + setCameraManagerRender = function (self, enabled) + if enabled and events.RENDER:getRegisteredCount("camera_manager_render") == 0 then + events.RENDER:register(function () + if renderer:isFirstPerson() then + renderer:setCameraPos() + else + local rawOffsetCameraPivot = renderer:getCameraOffsetPivot() + rawOffsetCameraPivot = rawOffsetCameraPivot == nil and vectors.vec3() or rawOffsetCameraPivot + local cameraPivot = player:getPos():add(0, 1.62, 0):add(rawOffsetCameraPivot) + local cameraDir = client:getCameraDir() + local baseVector = vectors.rotateAroundAxis(math.deg(math.asin(cameraDir.y)), 0, 0.21, 0, vectors.rotateAroundAxis(math.deg(math.atan2(cameraDir.z, cameraDir.x)) * -1 - 90, 1, 0, 0, 0, 1, 0)) + local minDistance = math.max(self.thirdPersonCameraDistance, 4) + if not self.COLLISION_DENIAL_DISABLED then + for i = 0, 3 do + local startPos = vectors.rotateAroundAxis(i * 90 + 45, baseVector:copy(), cameraDir):add(cameraPivot) + local _, collisionPos, _ = raycast:block(startPos, startPos:copy():add(cameraDir:copy():scale(-4)), "VISUAL", "NONE") + minDistance = math.min(collisionPos:copy():sub(startPos):length(), minDistance) + end + end + renderer:setCameraPos(0, 0, (minDistance > self.thirdPersonCameraDistance or self.isCameraCollisionDenialEnabled) and self.thirdPersonCameraDistance - minDistance or 0) + end + end, "camera_manager_render") + elseif not enabled then + events.RENDER:remove("camera_manager_render") + renderer:setCameraPos() + end + end; + + ---カメラの回転軸のオフセット位置を変更する。 + ---@param newPivot? Vector3 設定する新しいカメラ回転軸のオフセット位置。nilの場合は設定値がリセットされる。 + setCameraPivot = function (newPivot) + if host:isHost() then + renderer:setOffsetCameraPivot(newPivot) + end + end; + + ---カメラ方向を変更する。 + ---@param newRot? Vector3 設定する新しいカメラのオフセット方向。nilの場合は設定値がリセットされる。 + setCameraRot = function (newRot) + if host:isHost() then + renderer:setCameraRot(newRot) + end + end; + + ---三人称視点でのカメラと回転軸の距離を設定する。 + ---@param self CameraManager + ---@param distance number 設定する新しい距離(ブロック単位)。デフォルトは4ブロック。 + setThirdPersonCameraDistance = function (self, distance) + if host:isHost() then + if distance ~= 4 then + self:setCameraManagerRender(true) + elseif not self.isCameraCollisionDenialEnabled then + self:setCameraManagerRender(false) + end + self.thirdPersonCameraDistance = distance + end + end; + + ---カメラの当たり判定打ち消し機能を設定する。 + ---@param enabled boolean カメラの当たり判定打ち消し機能を有効にするかどうか。有効にするとカメラがブロックの中にめり込むようになる。 + setCameraCollisionDenial = function (self, enabled) + if host:isHost() then + if enabled then + self:setCameraManagerRender(true) + elseif self.thirdPersonCameraDistance == 4 then + self:setCameraManagerRender(false) + end + self.isCameraCollisionDenialEnabled = enabled + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/config.lua b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/config.lua new file mode 100644 index 0000000..70b0382 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/config.lua @@ -0,0 +1,116 @@ +---@alias Config.Storage +---| "PUBLIC" # FBACキャラクター共通ストレージ +---| "PRIVATE" # キャラクター固有ストレージ + +---@class (exact) Config : AvatarModule アバター設定を管理するクラス +---@field package privateStorageName string キャラクター固有ストレージの名前 +---@field package defaultValues {[string]: number|boolean|string} 読み込んだ値のデフォルト値を保持するテーブル +---@field package nextSyncCount integer 次の同期pingまでのカウンター +---@field package isSynced boolean 設定値がホストと同期されているかどうか +---@field public loadConfig fun(self: Config, storage: Config.Storage, keyName: string, defaultValue: any): any 設定を読み出す +---@field public saveConfig fun(self: Config, storage: Config.Storage, keyName: string, valueToSave: any) 設定を保存する + +Config = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Config + new = function (parent) + ---@type Config + local instance = Avatar.instantiate(Config, AvatarModule, parent) + + instance.privateStorageName = "BlueArchive_"..instance.parent.characterData.basic.firstName.en_us..instance.parent.characterData.basic.lastName.en_us + instance.defaultValues = {} + instance.nextSyncCount = 0 + instance.isSynced = host:isHost() + + return instance + end; + + ---初期化関数 + ---@param self Config + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + events.TICK:register(function () + if self.nextSyncCount == 0 then + pings.syncAvatarConfig(self.parent.nameplate.currentName, self.parent.nameplate.shouldShowClubName, self.parent.costume.currentCostume, self.parent.armor.shouldShowArmor, self.parent.actionWheel.shouldReplaceVehicleModels, self.parent.bubble.isChatOpened, self.parent.characterData.dataSync.syncData) + self.nextSyncCount = 300 + else + self.nextSyncCount = self.nextSyncCount - 1 + end + end) + end + end; + + ---設定を読み出す。 + ---@generic T + ---@param self Config + ---@param storage Config.Storage 読み出し先のストレージ + ---@param keyName string 読み出す設定の名前 + ---@param defaultValue `T` 該当の設定が無い場合や、ホスト外での実行の場合はこの値が返される。 + ---@return `T` loadedValue 読み出した値 + loadConfig = function (self, storage, keyName, defaultValue) + if host:isHost() then + if storage == "PUBLIC" then + config:setName("BlueArchive_public") + else + config:setName(self.privateStorageName) + end + local loadedData = config:load(keyName) + self.defaultValues[keyName] = defaultValue + if loadedData ~= nil then + return loadedData + else + return defaultValue + end + else + return defaultValue + end + end; + + ---設定を保存する。 + ---@param self Config + ---@param storage Config.Storage 書き込み先のストレージ + ---@param keyName string 保存する設定の名前 + ---@param valueToSave any 保存する値 + saveConfig = function (self, storage, keyName, valueToSave) + if host:isHost() then + if storage == "PUBLIC" then + config:setName("BlueArchive_public") + else + config:setName(self.privateStorageName) + end + if self.defaultValues[keyName] == valueToSave then + config:save(keyName, nil) + else + config:save(keyName, valueToSave) + end + end + end; +} + +---アバター設定を他Figuraクライアントと同期する。 +---@param nameTypeId integer 表示名の種類ID +---@param shouldShowClubName boolean 部活名を表示するかどうか +---@param costumeId integer 現在の衣装ID +---@param shouldShowArmor boolean 防具が見えているかどうか +---@param shouldReplaceVehicleModels boolean 乗り物モデルを置き換えるかどうか +---@param isChatOpened boolean チャット欄を開いているかどうか +---@param additionalData {[string]: any} キャラクター固有用に追加で同期するデータ +function pings.syncAvatarConfig(nameTypeId, shouldShowClubName, costumeId, shouldShowArmor, shouldReplaceVehicleModels, isChatOpened, additionalData) + if not AvatarInstance.config.isSynced then + AvatarInstance.nameplate:setName(nameTypeId, shouldShowClubName) + AvatarInstance.armor.shouldShowArmor = shouldShowArmor + AvatarInstance.actionWheel.shouldReplaceVehicleModels = shouldReplaceVehicleModels + AvatarInstance.bubble.isChatOpened = isChatOpened + if costumeId >= 2 then + AvatarInstance.costume:setCostume(costumeId) + end + AvatarInstance.characterData.dataSync.syncData = additionalData + if AvatarInstance.characterData.dataSync.callbacks ~= nil and AvatarInstance.characterData.dataSync.callbacks.onDataSynced ~= nil then + AvatarInstance.characterData.dataSync.callbacks.onDataSynced(AvatarInstance.characterData) + end + AvatarInstance.config.isSynced = true + end +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/costume.lua b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/costume.lua new file mode 100644 index 0000000..650a557 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/costume.lua @@ -0,0 +1,113 @@ +---@class (exact) Costume : AvatarModule キャラクターのコスチュームを管理し、円滑に切り替えられるようにするクラス +---@field public costumeList string[] 利用可能なコスチューム一覧。BlueArchiveCharacterクラスから動的に生成される。 +---@field public currentCostume integer 現在のコスチューム +---@field public isChangingCostume boolean コスチュームを変更中かどうか +---@field public getCostumeLocalName fun(self: Costume, costumeId: integer) 設定言語を考慮した、衣装の名前を返す +---@field public setCostumeTextureOffset fun(offset: integer) メインモデルのテクスチャのオフセット値を設定する +---@field public setCostume fun(self: Costume, costume: integer) コスチュームを設定する +---@field public resetCostume fun(self: Costume) コスチュームをリセットしデフォルトのコスチュームにする + +Costume = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Costume + new = function (parent) + ---@type Costume + local instance = Avatar.instantiate(Costume, AvatarModule, parent) + + instance.costumeList = {} + instance.currentCostume = instance.parent.config:loadConfig("PRIVATE", "costume", 1) + instance.isChangingCostume = false + + return instance + end; + + ---初期化関数 + ---@param self Costume + init = function (self) + AvatarModule.init(self) + + for _, costume in ipairs(self.parent.characterData.costume.costumes) do + table.insert(self.costumeList, costume.name) + end + if self.currentCostume >= 2 then + if self.costumeList[self.currentCostume] ~= nil then + self:setCostume(self.currentCostume) + else + self.currentCostume = 1 + if host:isHost() then + self.parent.config:saveConfig("PRIVATE", "costume", 1) + end + end + end + self.parent.headBlock:generateHeadModel() + self.parent.portrait:generateHeadModel() + + events.TICK:register(function () + self.isChangingCostume = false + end) + end; + + ---設定言語を考慮した、衣装の名前を返す。 + ---@param self Costume + ---@param costumeId integer ローカル名を取得する衣装のID + ---@return string localCostumeName 衣装のローカル名 + getCostumeLocalName = function(self, costumeId) + return self.parent.locale:getLocale("costume."..self.costumeList[costumeId]) + end; + + ---メインモデルのテクスチャのオフセット値を設定する。 + ---@param offset integer オフセット値 + setCostumeTextureOffset = function (offset) + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Body.Body, models.models.main.Avatar.UpperBody.Body.BodyLayer, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArm, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmLayer, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.RightArmBottom, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.RightArmBottomLayer, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArm, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmLayer, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.LeftArmBottom, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.LeftArmBottomLayer, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLeg, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegLayer, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.RightLegBottom, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.RightLegBottomLayer, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLeg, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegLayer, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.LeftLegBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.LeftLegBottomLayer}) do + modelPart:setUVPixels(0, offset * 48) + end + end; + + ---コスチュームを設定する。 + ---@param self Costume + ---@param costume integer 設定するコスチューム + setCostume = function(self, costume) + self:resetCostume() + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onChange ~= nil then + self.parent.characterData.costume.callbacks.onChange(self.parent.characterData, self.parent.characterData.costume.costumes[costume].name:upper()) + end + self.parent.headBlock:generateHeadModel() + self.parent.portrait:generateHeadModel() + if self.parent.armor.isArmorVisible.chestplate then + self.parent.armor:setChestplate(self.parent.armor.armorSlotItems[2]) + end + if self.parent.armor.isArmorVisible.leggings then + self.parent.armor:setLeggings(self.parent.armor.armorSlotItems[3]) + end + if self.parent.armor.isArmorVisible.boots then + self.parent.armor:setBoots(self.parent.armor.armorSlotItems[4]) + end + self.currentCostume = costume + end; + + ---コスチュームをリセットし、デフォルトのコスチュームにする。 + ---@param self Costume + resetCostume = function (self) + self.isChangingCostume = true + if self.parent.exSkill.transitionCount > 0 then + self.parent.exSkill:forceStop() + end + self.setCostumeTextureOffset(0) + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onReset ~= nil then + self.parent.characterData.costume.callbacks.onReset(self.parent.characterData) + end + self.parent.headBlock:generateHeadModel() + self.parent.portrait:generateHeadModel() + if self.parent.armor.isArmorVisible.chestplate then + self.parent.armor:setChestplate(self.parent.armor.armorSlotItems[2]) + end + if self.parent.armor.isArmorVisible.leggings then + self.parent.armor:setLeggings(self.parent.armor.armorSlotItems[3]) + end + if self.parent.armor.isArmorVisible.boots then + self.parent.armor:setBoots(self.parent.armor.armorSlotItems[4]) + end + self.currentCostume = 1 + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/death_animation.lua b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/death_animation.lua new file mode 100644 index 0000000..65583f8 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/death_animation.lua @@ -0,0 +1,294 @@ +---@class (exact) DeathAnimation : AvatarModule プレイヤーが死亡した際のキャラクターがヘリコプターで回収されるアニメーションを管理するクラス +---@field package DEBUG_MODE boolean デバッグモードを有効にするかどうか。デバッグモードモードではxキーでフェーズ1のモデルを、cキーでフェーズ2のモデルを表示できる。 +---@field public dummyAvatarRoot? ModelPart 死亡アニメーションに使用されるダミーのアバターのルート。アバターが未生成の場合はnilが入っている。 +---@field package animationCount integer 死亡アニメーションの再生カウンター +---@field package animationPos Vector3 アニメーションを再生している場所の座標 +---@field package animationRot number アニメーションを再生している向き(度数法で示す) +---@field package costumeIndex integer 死亡アニメーションのコスチュームのインデックス +---@field package isPlayerInvisible boolean プレイヤーモデルが不可視状態かどうか +---@field package isScriptLoaded false スクリプトを全て読み込んだかどうか +---@field package removeUnsafeModel fun(target?: ModelPart) 存在しないかもしれないモデルパーツを安全に削除する +---@field package spawnHelicopterParticles fun(self: DeathAnimation) ヘリコプターの出現/消滅パーティクルを生成する +---@field package generateDummyAvatar fun(self: DeathAnimation, parent: ModelPart) 死亡アニメーション用のダミーアバターを生成する +---@field package resetDummyAvatar fun(avatarRoot: ModelPart) ダミーアバター状態をリセットする +---@field package setPhase1Pose fun(avatarRoot: ModelPart) ダミーアバターをフェーズ1のポーズにする +---@field package setPhase2Pose fun(avatarRoot: ModelPart) ダミーアバターをフェーズ2のポーズにする +---@field package play fun(self: DeathAnimation) 死亡アニメーションを再生する +---@field package stop fun(self: DeathAnimation) 死亡アニメーションを停止する + +DeathAnimation = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return DeathAnimation + new = function (parent) + ---@type DeathAnimation + local instance = Avatar.instantiate(DeathAnimation, AvatarModule, parent) + + instance.DEBUG_MODE = false + + instance.dummyAvatarRoot = models.models.death_animation.Avatar + instance.animationCount = 0 + instance.animationPos = vectors.vec3() + instance.animationRot = 0 + instance.costumeIndex = 1 + instance.isPlayerInvisible = false + instance.isScriptLoaded = false + + return instance + end; + + ---初期化関数 + ---@param self DeathAnimation + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + if self.parent.playerUtils.damageStatus == "DIED" then + self:play() + models.models.main:setVisible(false) + for _, vanillaModel in ipairs({vanilla_model.RIGHT_ITEM, vanilla_model.LEFT_ITEM, vanilla_model.ELYTRA}) do + vanillaModel:setVisible(false) + end + self.isPlayerInvisible = true + end + if self.isPlayerInvisible and player:getHealth() > 0 then + models.models.main:setVisible(true) + for _, vanillaModel in ipairs({vanilla_model.RIGHT_ITEM, vanilla_model.LEFT_ITEM, vanilla_model.ELYTRA}) do + vanillaModel:setVisible(true) + end + self.isPlayerInvisible = false + end + end) + + self.parent.avatarEvents.SCRIPT_INIT:register(function () + self.isScriptLoaded = true + end) + + if self.DEBUG_MODE then + models:addChild(models:newPart("script_death_animation_debug", "World")) + keybinds:newKeybind("[DEBUG] Spawn death animation phase1 model", "key.keyboard.x"):onPress(function () + self.removeUnsafeModel(models.script_death_animation_debug.Avatar) + self:generateDummyAvatar(models.script_death_animation_debug) + self.resetDummyAvatar(models.script_death_animation_debug.Avatar) + self.setPhase1Pose(models.script_death_animation_debug.Avatar) + models.script_death_animation_debug.Avatar:setPos(player:getPos():add(0, -0.75, 0):scale(16)) + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onPhase1 ~= nil then + self.parent.characterData.deathAnimation.callbacks.onPhase1(self.parent.characterData, models.script_death_animation_debug.Avatar, self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].name:upper()) + end + end) + keybinds:newKeybind("[DEBUG] Spawn death animation phase2 model", "key.keyboard.c"):onPress(function () + self.removeUnsafeModel(models.script_death_animation_debug.Avatar) + self:generateDummyAvatar(models.script_death_animation_debug) + self.resetDummyAvatar(models.script_death_animation_debug.Avatar) + self.setPhase2Pose(models.script_death_animation_debug.Avatar) + models.script_death_animation_debug.Avatar:setPos(player:getPos():scale(16)) + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onPhase1 ~= nil then + self.parent.characterData.deathAnimation.callbacks.onPhase1(self.parent.characterData, models.script_death_animation_debug.Avatar, self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].name:upper()) + end + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onPhase2 ~= nil then + self.parent.characterData.deathAnimation.callbacks.onPhase2(self.parent.characterData, models.script_death_animation_debug.Avatar, self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].name:upper()) + end + end) + end + end; + + ---存在しないかもしれないモデルパーツを安全に削除する。 + ---@param target? ModelPart 削除対象のモデルパーツ + removeUnsafeModel = function (target) + if target ~= nil then + target:getParent():removeChild(target) + target:remove() + end + end; + + ---ヘリコプターの出現/消滅パーティクルを生成する。 + ---@param self DeathAnimation + spawnHelicopterParticles = function (self) + local helicopterPos = self.parent.modelUtils.getModelWorldPos(models.models.death_animation.Helicopter) + for _ = 1, 100 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:poof"), helicopterPos:copy():add(vectors.rotateAroundAxis(self.animationRot, math.random() * 9.375 - 4.6875, math.random() * 11.125 - 5.5625, math.random() * 23.875 - 11.9375, 0, math.abs(helicopterPos.y), 0))) + end + end; + + ---死亡アニメーション用のダミーアバターを生成する。 + ---@param self DeathAnimation + ---@param parent ModelPart ダミーアバターをアタッチする親のモデルパーツ + generateDummyAvatar = function (self, parent) + local isArmorVisible = { + helmet = self.parent.armor.isArmorVisible.helmet; + chestplate = self.parent.armor.isArmorVisible.chestplate; + leggings = self.parent.armor.isArmorVisible.leggings; + boots = self.parent.armor.isArmorVisible.boots; + } + if isArmorVisible.helmet then + self.parent.armor:setHelmet(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + if isArmorVisible.chestplate then + self.parent.armor:setChestplate(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + if isArmorVisible.leggings then + self.parent.armor:setLeggings(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + if isArmorVisible.boots then + self.parent.armor:setBoots(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + self.parent.physics:disable() + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onBeforeModelCopy ~= nil then + self.parent.characterData.deathAnimation.callbacks.onBeforeModelCopy(self.parent.characterData, self.isScriptLoaded) + end + + parent:addChild(self.parent.modelUtils:copyModel(models.models.main.Avatar)) + parent.Avatar.Head.FaceParts.Eyes.EyeRight:setUVPixels(self.parent.characterData.faceParts.leftEye.TIRED:copy():scale(6)) + parent.Avatar.Head.FaceParts.Eyes.EyeLeft:setUVPixels(self.parent.characterData.faceParts.rightEye.TIRED:copy():scale(6)) + parent.Avatar.Head.HeadRing:setRot() + for _, modelPart in ipairs({parent.Avatar.UpperBody.Arms.RightArm.RightArmBottom.RightItemPivot, parent.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.LeftItemPivot}) do + modelPart:remove() + end + local unsafeModels = {parent.Avatar.Head.FaceParts.Mouth, parent.Avatar.Head.ArmorH, parent.Avatar.UpperBody.Body.ArmorB, parent.Avatar.UpperBody.Arms.RightArm.ArmorRA, parent.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB, parent.Avatar.UpperBody.Arms.LeftArm.ArmorLA, parent.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB, parent.Avatar.LowerBody.Legs.RightLeg.ArmorRL, parent.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB, parent.Avatar.LowerBody.Legs.LeftLeg.ArmorLL, parent.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB} + for i = 1, 11 do + self.removeUnsafeModel(unsafeModels[i]) + end + if parent.Avatar.UpperBody.Body.Gun ~= nil then + if self.parent.characterData.gun.gunPosition.put.type == "BODY" then + local leftHanded = player:isLeftHanded() + parent.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, 12, 0):add(self.parent.characterData.gun.gunPosition.put.pos[leftHanded and "left" or "right"])) + parent.Avatar.UpperBody.Body.Gun:setRot(self.parent.characterData.gun.gunPosition.put.rot[leftHanded and "left" or "right"]) + else + parent.Avatar.UpperBody.Body.Gun:remove() + end + end + + if isArmorVisible.helmet then + self.parent.armor:setHelmet(self.parent.armor.armorSlotItems[1]) + end + if isArmorVisible.chestplate then + self.parent.armor:setChestplate(self.parent.armor.armorSlotItems[2]) + end + if isArmorVisible.leggings then + self.parent.armor:setLeggings(self.parent.armor.armorSlotItems[3]) + end + if isArmorVisible.boots then + self.parent.armor:setBoots(self.parent.armor.armorSlotItems[4]) + end + self.parent.physics:enable() + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onAfterModelCopy ~= nil then + self.parent.characterData.deathAnimation.callbacks.onAfterModelCopy(self.parent.characterData, self.isScriptLoaded) + end + end; + + ---ダミーアバター状態をリセットする。 + ---@param avatarRoot ModelPart ダミーアバターのルート + resetDummyAvatar = function (avatarRoot) + for _, modelPart in ipairs({avatarRoot, avatarRoot.Head, avatarRoot.UpperBody, avatarRoot.UpperBody.Body, avatarRoot.UpperBody.Arms, avatarRoot.UpperBody.Arms.RightArm, avatarRoot.UpperBody.Arms.RightArm.RightArmBottom, avatarRoot.UpperBody.Arms.LeftArm, avatarRoot.UpperBody.Arms.LeftArm.LeftArmBottom, avatarRoot.LowerBody, avatarRoot.LowerBody.Legs, avatarRoot.LowerBody.Legs.RightLeg, avatarRoot.LowerBody.Legs.RightLeg.RightLegBottom, avatarRoot.LowerBody.Legs.LeftLeg, avatarRoot.LowerBody.Legs.LeftLeg.LeftLegBottom}) do + modelPart:setPos() + modelPart:setRot() + modelPart:setScale() + end + end; + + ---ダミーアバターをフェーズ1のポーズにする。 + ---@param avatarRoot ModelPart ダミーアバターのルート + setPhase1Pose = function (avatarRoot) + avatarRoot:setPos(0, -12, 0) + avatarRoot.Head:setRot(-30, 0, 0) + avatarRoot.UpperBody.Arms.RightArm:setRot(35, 0, -20) + avatarRoot.UpperBody.Arms.LeftArm:setRot(35, 0, 20) + avatarRoot.LowerBody.Legs.RightLeg:setRot(90, -10, 0) + avatarRoot.LowerBody.Legs.LeftLeg:setRot(90, 10, 0) + end; + + ---ダミーアバターをフェーズ2のポーズにする。 + ---@param avatarRoot ModelPart ダミーアバターのルート + setPhase2Pose = function (avatarRoot) + avatarRoot:setPos(3, -210, 2) + avatarRoot:setRot(105, 75, 90) + avatarRoot.Head:setRot(0, -40, 0) + avatarRoot.UpperBody.Arms.RightArm:setRot(47.5, 0, 20) + avatarRoot.UpperBody.Arms.LeftArm:setRot(-30, 0, -15) + avatarRoot.LowerBody.Legs.RightLeg:setRot(80, 0, 0) + avatarRoot.LowerBody.Legs.RightLeg.RightLegBottom:setRot(-75, 0, 0) + avatarRoot.LowerBody.Legs.LeftLeg:setRot(10, 0, 0) + avatarRoot:setLight() + end; + + ---死亡アニメーションを再生する。 + ---@param self DeathAnimation + play = function (self) + self:stop() + self.costumeIndex = self.parent.costume.currentCostume + + --ダミーアバターを生成する。 + local unsafeModels = {models.models.death_animation.Avatar, models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14.Avatar} + for i = 1, 2 do + self.removeUnsafeModel(unsafeModels[i]) + end + self:generateDummyAvatar(models.models.death_animation) + + --死亡アニメーションを生成する。 + self.resetDummyAvatar(models.models.death_animation.Avatar) + self.setPhase1Pose(models.models.death_animation.Avatar) + self.animationPos = player:getPos() + models.models.death_animation:setPos(self.animationPos:copy():scale(16)) + self.animationRot = (player:getBodyYaw() * -1 + 180) % 360 + models.models.death_animation:setRot(0, self.animationRot) + models.models.death_animation:setVisible(true) + animations["models.death_animation"]["death_animation"]:play() + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onPhase1 ~= nil then + self.parent.characterData.deathAnimation.callbacks.onPhase1(self.parent.characterData, models.models.death_animation.Avatar, self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].name:upper()) + end + + if events.TICK:getRegisteredCount("death_animation_tick") == 0 then + events.TICK:register(function () + local particleAnchorPos = self.parent.modelUtils.getModelWorldPos(models.models.death_animation.DeathAnimationParticleAnchor) + for _ = 1, 3 do + local particleRot = math.random() * math.pi * 2 + local particleOffset = math.random() * 3 + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:poof"), particleAnchorPos:copy():add(math.cos(particleRot) * particleOffset, 0, math.sin(particleRot) * particleOffset)):setVelocity(math.cos(particleRot), 0, math.sin(particleRot)) + + end + if self.animationCount % 2 == 1 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.bamboo_wood_door.close"), self.parent.modelUtils.getModelWorldPos(models.models.death_animation.Helicopter.DeathAnimationSoundAnchor1), 1, 0.5):setAttenuation(2) + end + if self.animationCount < 120 then + models.models.death_animation.Avatar:setLight(world.getLightLevel(self.animationPos)) + end + if self.animationCount == 1 then + self:spawnHelicopterParticles() + elseif self.animationCount == 10 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.iron_door.open"), self.parent.modelUtils.getModelWorldPos(models.models.death_animation.Helicopter.DeathAnimationSoundAnchor1), 1, 0.5) + elseif self.animationCount >= 57 and self.animationCount < 76 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.attack.sweep"), self.parent.modelUtils.getModelWorldPos(models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14), 0.25, -0.056 * (self.animationCount - 57) + 2) + elseif self.animationCount == 120 then + self.dummyAvatarRoot = models.models.death_animation.Avatar:moveTo(models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14) + self.setPhase2Pose(models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14.Avatar) + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onPhase2 ~= nil then + self.parent.characterData.deathAnimation.callbacks.onPhase2(self.parent.characterData, models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14.Avatar, self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].name:upper()) + end + elseif self.animationCount == 180 then + models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14.Avatar:setVisible(false) + elseif self.animationCount == 230 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.iron_door.close"), self.parent.modelUtils.getModelWorldPos(models.models.death_animation.Helicopter.DeathAnimationSoundAnchor1), 1, 0.5) + elseif self.animationCount == 255 then + self:spawnHelicopterParticles() + self:stop() + end + end, "death_animation_tick") + end + if events.WORLD_TICK:getRegisteredCount("death_animation_world_tick") == 0 then + events.WORLD_TICK:register(function () + self.animationCount = self.animationCount + 1 + end, "death_animation_world_tick") + end + end; + + ---死亡アニメーションを停止する。 + ---@param self DeathAnimation + stop = function (self) + models.models.death_animation:setVisible(false) + animations["models.death_animation"]["death_animation"]:stop() + events.TICK:remove("death_animation_tick") + events.WORLD_TICK:remove("death_animation_world_tick") + self.dummyAvatarRoot = nil + self.animationCount = 0 + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/events/abstract_event.lua b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/events/abstract_event.lua new file mode 100644 index 0000000..e6af2e5 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/events/abstract_event.lua @@ -0,0 +1,71 @@ +---@class AbstractEvent : AvatarModule +---@field public registerTable {[string]: fun()[]} 登録されたコールバック関数を管理するテーブル +---@field public register fun(self: AbstractEvent, callback: fun(...: any), name?: string) イベントにコールバック関数登録する +---@field public remove fun(self: AbstractEvent, name: string) 指定した名前のコールバック関数を1つ削除する +---@field public getRegisteredCount fun(self: AbstractEvent, name: string): integer 指定した名前で登録されているコールバック関数の数を返す +---@field public fire fun(self: AbstractEvent, ...: any) 登録された全てのコールバック関数を呼ぶ + +AbstractEvent = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return AbstractEvent + new = function (parent) + ---@type AbstractEvent + local instance = Avatar.instantiate(AbstractEvent, AvatarModule, parent) + + instance.registerTable = {} + + return instance + end; + + ---イベントにコールバック関数登録する。 + ---@param self AbstractEvent + ---@param callback fun(...: any) 登録するコールバック関数 + ---@param name? string コールバック関数の名前 + register = function (self, callback, name) + local callbackName = name ~= nil and name or client.intUUIDToString(client.generateUUID()) + if self.registerTable[callbackName] ~= nil then + table.insert(self.registerTable[callbackName], callback) + else + local callbackTable = {} + table.insert(callbackTable, callback) + self.registerTable[callbackName] = callbackTable + end + end; + + ---指定した名前のコールバック関数を1つ削除する。 + ---@param self AbstractEvent + ---@param name string コールバック関数の名前 + remove = function (self, name) + if self.registerTable[name] ~= nil then + table.remove(self.registerTable[name]) + if #self.registerTable[name] == 0 then + self.registerTable[name] = nil + end + end + end; + + ---指定した名前で登録されているコールバック関数の数を返す。 + ---@param self AbstractEvent + ---@param name string コールバック関数の名前 + ---@return integer registeredCount 登録されていたコールバック関数の数 + getRegisteredCount = function (self, name) + if self.registerTable[name] ~= nil then + return #self.registerTable[name] + else + return 0 + end + end; + + ---登録された全てのコールバック関数を呼ぶ。 + ---@param self AbstractEvent + ---@param ... any callbackArgs コールバック引数 + fire = function (self, ...) + for _, eventTable in pairs(self.registerTable) do + for _, callback in ipairs(eventTable) do + ---@diagnostic disable-next-line: redundant-parameter + callback(...) + end + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/events/avatar_events.lua b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/events/avatar_events.lua new file mode 100644 index 0000000..b2fd6e8 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/events/avatar_events.lua @@ -0,0 +1,16 @@ +---@class AvatarEvents : AvatarModule アバター独自のイベントを定義し、管理するクラス +---@field public SCRIPT_INIT ScriptInitEvent 全てのスクリプトの初期化が完了した後に1度だけ呼ばれるイベント + +AvatarEvents = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return AvatarEvents + new = function (parent) + ---@type AvatarEvents + local instance = Avatar.instantiate(AvatarEvents, AvatarModule, parent) + + instance.SCRIPT_INIT = ScriptInitEvent.new(instance.parent) + + return instance + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/events/script_init_event.lua b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/events/script_init_event.lua new file mode 100644 index 0000000..44c62e7 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/events/script_init_event.lua @@ -0,0 +1,25 @@ +---@class ScriptInitEvent : AbstractEvent 全てのスクリプトの初期化が完了した後に1度だけ呼ばれるイベント +---@field public register fun(self: AbstractEvent, callback: fun(), name?: string) イベントにコールバック関数登録する +---@field public fire fun(self: AbstractEvent) 登録された全てのコールバック関数を呼ぶ + +ScriptInitEvent = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ScriptInitEvent + new = function (parent) + ---@type ScriptInitEvent + local instance = Avatar.instantiate(ScriptInitEvent, AbstractEvent, parent) + + return instance + end; + + ---登録された全てのコールバック関数を呼ぶ。 + ---@param self ScriptInitEvent + fire = function (self, ...) + for _, eventTable in pairs(self.registerTable) do + for _, callback in ipairs(eventTable) do + callback() + end + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/ex_skill/ex_skill.lua b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/ex_skill/ex_skill.lua new file mode 100644 index 0000000..dcc10ca --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/ex_skill/ex_skill.lua @@ -0,0 +1,434 @@ +---@alias ExSkill.AutoPlayMode +---| "NONE" # 自動再生なし +---| "MAIN" # メインExスキル +---| "SUB" # サブExスキル + +---@alias ExSkill.TransitionPhase +---| "PRE" # Exスキルアニメーション開始前 +---| "POST" # Exスキルアニメーション終了後 + +---@class (exact) ExSkill : AvatarModule Exスキルのアニメーションを管理するクラス +---@field package AUTO_PLAY ExSkill.AutoPlayMode アバター読み込み時に自動的にExスキルが再生される。デバッグ用。 +---@field public frameParticleAmount integer Exスキルフレームのパーティクルの量:1. 標準, 2. 少なめ, 3. なし, 4. Exスキルフレーム非表示、パーティクル量は標準 +---@field package exSkillIndex integer 現在再生中のExスキルのインデックス番号 +---@field public animationCount integer Exスキルのアニメーション再生中に増加するカウンター。-1はアニメーション停止中を示す。 +---@field package animationLength number Exスキルのアニメーションの長さ。スクリプトで自動で代入する。 +---@field public transitionCount number Exスキルのアニメーション前後のカメラのトランジションの進捗を示すカウンター +---@field package keyPressCount integer Exスキルキーを押下し続ける時間を計るカウンター +---@field package bodyYaw number[] プレイヤーの体の回転 +---@field package isDebugInit boolean デバッグモードが初期化されたかどうか +---@field public canPlayAnimation fun(self: ExSkill): boolean アニメーションが再生可能かどうかを返す +---@field package transition fun(self: ExSkill, direction: ExSkill.TransitionPhase, callback: fun()) Exスキルのアニメーションの前後のカメラのトランジションを行う関数 +---@field public play fun(self: ExSkill, isSubExSkill: boolean) アニメーションを再生する +---@field public stop fun(self: ExSkill) アニメーションを停止する +---@field public forceStop fun(self: ExSkill) アニメーションを停止する。終了時のトランジションも無効。 + +ExSkill = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ExSkill + new = function (parent) + ---@type ExSkill + local instance = Avatar.instantiate(ExSkill, AvatarModule, parent) + + instance.AUTO_PLAY = "NONE" + + instance.frameParticleAmount = instance.parent.config:loadConfig("PRIVATE", "exSkillFrameParticleAmount", 1) + instance.exSkillIndex = 1 + instance.animationCount = -1 + instance.animationLength = 0 + instance.transitionCount = 0 + instance.keyPressCount = 0 + instance.bodyYaw = {} + instance.isDebugInit = false + + return instance + end; + + ---初期化関数 + ---@param self ExSkill + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + for _, exSkill in ipairs(self.parent.characterData.exSkill) do + local offset = (exSkill.camera.fixMode ~= nil and exSkill.camera.fixMode) and 1 or 0.9375 + exSkill.camera.start.pos:mul(-1, 1, 1):scale(1 / 16 * offset) + exSkill.camera.fin.pos:mul(-1, 1, 1):scale(1 / 16 * offset) + end + + local exSkillKey = self.parent.keyManager:register("ex_skill", self.parent.config:loadConfig("PRIVATE", "keybind.ex_skill", "key.keyboard.g")) + exSkillKey:setOnPress(function () + while events.TICK:getRegisteredCount("ex_skill_keypress_tick") > 0 do + events.TICK:remove("ex_skill_keypress_tick") + end + events.TICK:register(function () + if self.keyPressCount == 30 then + events.TICK:remove("ex_skill_keypress_tick") + self.parent.placementObjectManager:removeAll() + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.zombie.break_wooden_door"), player:getPos(), 0.25, 2) + self.keyPressCount = 0 + return + end + self.keyPressCount = self.keyPressCount + 1 + end, "ex_skill_keypress_tick") + end) + exSkillKey:setOnRelease(function () + events.TICK:remove("ex_skill_keypress_tick") + if self.keyPressCount > 0 then + if self:canPlayAnimation() and self.animationCount == -1 and self.transitionCount == 0 then + pings.exSkill() + else + print(self.parent.locale:getLocale("key_bind.ex_skill.unavailable"..(renderer:isFirstPerson() and "_firstperson" or ""))) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + end + self.keyPressCount = 0 + end + end) + self.parent.keyManager:register("ex_skill_sub", self.parent.config:loadConfig("PRIVATE", "keybind.ex_skill_sub", "key.keyboard.h")):setOnPress(function () + if self:canPlayAnimation() and self.animationCount == -1 and self.transitionCount == 0 and self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill ~= nil then + pings.subExSkill() + else + print(self.parent.locale:getLocale(self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill == nil and "action_wheel.main.action_6.unavailable" or "key_bind.ex_skill.unavailable"..(renderer:isFirstPerson() and "_firstperson" or ""))) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + end + end) + end + + table.insert(self.bodyYaw, player:getBodyYaw() % 360) + + events.TICK:register(function () + if not renderer:isFirstPerson() then + table.insert(self.bodyYaw, player:getBodyYaw() % 360) + if #self.bodyYaw == 3 then + table.remove(self.bodyYaw, 1) + end + end + end) + + if self.AUTO_PLAY ~= "NONE" then + events.TICK:register(function () + if not self.isDebugInit then + events.TICK:remove("ex_skill_debug_tick") + self:play(self.AUTO_PLAY == "SUB") + self.isDebugInit = true + end + end, "ex_skill_debug_tick") + end + end; + + ---アニメーションが再生可能かどうかを返す。 + ---@param self ExSkill + ---@return boolean canPlayAnimation Exスキルアニメーションが再生可能かどうか + canPlayAnimation = function (self) + return player:getPose() == "STANDING" and player:getVelocity():length() < 0.01 and self.bodyYaw[1] == self.bodyYaw[2] and player:isOnGround() and not player:isInWater() and not player:isInLava() and player:getFrozenTicks() == 0 and not renderer:isFirstPerson() and self.parent.playerUtils.damageStatus == "NONE" and player:getSwingArm() == nil and player:getActiveItem().id == "minecraft:air" and not self.parent.costume.isChangingCostume + end; + + ---Exスキルのアニメーションの前後のカメラのトランジションを行う関数 + ---@param self ExSkill + ---@param direction ExSkill.TransitionPhase カメラのトランジションの向き + ---@param callback fun() トランジション終了時に呼び出されるコールバック関数 + transition = function (self, direction, callback) + events.TICK:register(function () + if not client:isPaused() then + if events.TICK:getRegisteredCount("ex_skill_transition_tick") == 1 then + self.transitionCount = direction == "PRE" and math.min(self.transitionCount + 1, 10) or math.max(self.transitionCount - 1, 0) + end + if (direction == "PRE" and self.transitionCount == 10) or (direction == "POST" and self.transitionCount == 0) then + if host:isHost() then + local windowSize = client:getScaledWindowSize() + models.models.ex_skill_frame.Gui.FrameBar:setPos(0, 0, 0) + if direction == "PRE" and self.frameParticleAmount < 4 then + for _, modelPart in ipairs({models.models.ex_skill_frame.Gui.Frame.FrameTopLeft, models.models.ex_skill_frame.Gui.Frame.FrameTopRight, models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft, models.models.ex_skill_frame.Gui.Frame.FrameBottomRight}) do + modelPart:setVisible(true) + end + models.models.ex_skill_frame.Gui.Frame.FrameTop:setPos(-windowSize.x + 16, -16) + models.models.ex_skill_frame.Gui.Frame.FrameTop:setScale(windowSize.x / 16 - 2, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setPos(-16, -windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setScale(1, windowSize.y / 16 - 2, 1) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setPos(-windowSize.x + 16, -windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setScale(windowSize.x / 16 - 2, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setPos(-windowSize.x, -windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setScale(1, windowSize.y / 16 - 2, 1) + elseif direction == "POST" then + for _, modelPart in ipairs({models.models.ex_skill_frame.Gui.Frame.FrameTopLeft, models.models.ex_skill_frame.Gui.Frame.FrameTopRight, models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft, models.models.ex_skill_frame.Gui.Frame.FrameBottomRight}) do + modelPart:setVisible(false) + end + for _, modelPart in ipairs({models.models.ex_skill_frame.Gui.Frame.FrameTop, models.models.ex_skill_frame.Gui.Frame.FrameLeft, models.models.ex_skill_frame.Gui.Frame.FrameBottom, models.models.ex_skill_frame.Gui.Frame.FrameRight}) do + modelPart:setScale(0, 0, 0) + end + end + end + callback() + events.TICK:remove("ex_skill_transition_tick") + events.RENDER:remove("ex_skill_transition_render") + end + if host:isHost() then + local barPos = models.models.ex_skill_frame.Gui.FrameBar:getPos().x * -1 + local windowSizeY = client:getScaledWindowSize().y + if self.frameParticleAmount ~= 3 and self.transitionCount >= 1 and self.transitionCount <= 9 then + for _ = 1, windowSizeY / (self.frameParticleAmount == 2 and 100 or 20) do + local particleOffset = math.random() * windowSizeY + self.parent.frameParticleManager:spawn(vectors.vec2(barPos - particleOffset - math.random() * 50, particleOffset):scale(-1), vectors.vec2(500, 0)) + end + end + end + end + end, "ex_skill_transition_tick") + + events.RENDER:register(function (delta) + --カメラのトランジション + if not client:isPaused() and host:isHost() then + local lookDir = player:getLookDir() + local cameraRot = renderer:isCameraBackwards() and vectors.vec3(math.deg(math.asin(lookDir.y)), math.deg(math.atan2(lookDir.z, lookDir.x) + math.pi / 2)) or vectors.vec3(math.deg(math.asin(-lookDir.y)), math.deg(math.atan2(lookDir.z, lookDir.x) - math.pi / 2)) + local targetCameraPos = vectors.vec3() + local targetCameraRot = vectors.vec3() + if direction == "PRE" then + targetCameraPos = vectors.rotateAroundAxis(self.bodyYaw[2] * -1 + 180, self.parent.characterData.exSkill[self.exSkillIndex].camera.start.pos, 0, 1):add(0, -1.62) + targetCameraRot = self.parent.characterData.exSkill[self.exSkillIndex].camera.start.rot:copy():add(0, self.bodyYaw[2], 0) + else + targetCameraPos = vectors.rotateAroundAxis(self.bodyYaw[2] * -1 + 180, self.parent.characterData.exSkill[self.exSkillIndex].camera.fin.pos, 0, 1):add(0, -1.62) + targetCameraRot = self.parent.characterData.exSkill[self.exSkillIndex].camera.fin.rot:copy():add(0, self.bodyYaw[2], 0) + end + if math.abs(cameraRot.y - targetCameraRot.y) >= 180 then + if cameraRot.y < targetCameraRot.y then + cameraRot.y = cameraRot.y + 360 + else + targetCameraRot.y = targetCameraRot.y + 360 + end + end + local trueDelta = direction == "PRE" and delta or delta * -1 + self.parent.cameraManager.setCameraPivot(targetCameraPos:scale((self.transitionCount + trueDelta) / 10)) + self.parent.cameraManager.setCameraRot(targetCameraRot:copy():sub(cameraRot):scale((self.transitionCount + trueDelta) / 10):add(cameraRot)) + self.parent.cameraManager:setThirdPersonCameraDistance(4 - (self.transitionCount + trueDelta) / 10 * 4) + + --フレーム演出 + local windowSize = client:getScaledWindowSize() + local barPos = (windowSize.x + windowSize.y + math.sqrt(2) * 16) * (direction == "PRE" and (self.transitionCount + trueDelta) / 10 or (1 - (self.transitionCount + trueDelta) / 10)) + models.models.ex_skill_frame.Gui.FrameBar:setPos(-barPos, 0, 0) + + if self.frameParticleAmount < 4 then + local frameTopLength = math.clamp(barPos, 32, windowSize.x) + local frameLeftLength = math.clamp(barPos, 32, windowSize.y) + local frameBottomLength = math.clamp(barPos - windowSize.y + 16, 32, windowSize.x) + local frameRightLength = math.clamp(barPos - windowSize.x + 16, 32, windowSize.y) + + models.models.ex_skill_frame.Gui.Frame.FrameTopLeft:setPos(-16, -16) + models.models.ex_skill_frame.Gui.Frame.FrameTopRight:setPos(-windowSize.x, -16) + models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft:setPos(-16, -windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameBottomRight:setPos(-windowSize.x, -windowSize.y) + if direction == "PRE" then + models.models.ex_skill_frame.Gui.Frame.FrameTopLeft:setVisible(barPos >= 16) + models.models.ex_skill_frame.Gui.Frame.FrameTopRight:setVisible(barPos >= windowSize.x + 16) + models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft:setVisible(barPos >= windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameBottomRight:setVisible(barPos >= windowSize.x + windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameTop:setPos(-frameTopLength + 16, -16) + models.models.ex_skill_frame.Gui.Frame.FrameTop:setScale(frameTopLength / 16 - 2, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setPos(-16, -frameLeftLength + 16) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setScale(1, frameLeftLength / 16 - 2, 1) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setPos(-frameBottomLength + 16, -windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setScale(frameBottomLength / 16 - 2, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setPos(-windowSize.x, -frameRightLength + 16) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setScale(1, frameRightLength / 16 - 2, 1) + else + models.models.ex_skill_frame.Gui.Frame.FrameTopLeft:setVisible(barPos < 16) + models.models.ex_skill_frame.Gui.Frame.FrameTopRight:setVisible(barPos < windowSize.x + 16) + models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft:setVisible(barPos < windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameBottomRight:setVisible(barPos < windowSize.x + windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameTop:setPos(-windowSize.x + 16, -16) + models.models.ex_skill_frame.Gui.Frame.FrameTop:setScale((windowSize.x - frameTopLength) / 16, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setPos(-16, -windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setScale(1, (windowSize.y - frameLeftLength) / 16, 1) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setPos(-windowSize.x + 16, -windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setScale((windowSize.x - frameBottomLength) / 16, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setPos(-windowSize.x, -windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setScale(1, (windowSize.y - frameRightLength) / 16, 1) + end + end + end + end, "ex_skill_transition_render") + end; + + ---アニメーションを再生する。 + ---@param self ExSkill + ---@param isSubExSkill boolean サブExスキルを再生するかどうか + play = function (self, isSubExSkill) + if isSubExSkill then + if self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill ~= nil then + self.exSkillIndex = self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill + else + return + end + else + self.exSkillIndex = self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].exSkill + end + + self.parent.bubble:stop() + renderer:setFOV(70 / client:getFOV()) + renderer:setRenderHUD(false) + self.parent.cameraManager:setCameraCollisionDenial(true) + models.models.ex_skill_frame.Gui:setColor(self.parent.characterData.exSkill[self.exSkillIndex].formationType == "STRIKER" and vectors.vec3(1, 0.75, 0.75) or vectors.vec3(0.75, 1, 1)) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.levelup"), player:getPos(), 5, 2) + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPreTransition ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPreTransition(self.parent.characterData) + end + models.models.ex_skill_frame.Gui.FrameBar:setScale(1, client:getScaledWindowSize().y * math.sqrt(2) / 16 + 1, 1) + + events.TICK:register(function () + if not self:canPlayAnimation() then + self:forceStop() + end + end, "ex_skill_tick") + + self:transition("PRE", function () + self.parent.physics:disable() + for _, itemModel in ipairs({vanilla_model.RIGHT_ITEM, vanilla_model.LEFT_ITEM}) do + itemModel:setVisible(false) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].models) do + modelPart:setVisible(true) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].animations) do + animations["models."..modelPart]["ex_skill_"..self.exSkillIndex]:play() + end + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPreAnimation ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPreAnimation(self.parent.characterData) + end + self.parent.cameraManager:setThirdPersonCameraDistance(0) + + events.TICK:register(function () + if not client:isPaused() then + if self.animationCount == self.animationLength - 1 then + self:stop() + elseif self:canPlayAnimation() and animations["models.main"]["ex_skill_"..self.exSkillIndex]:isPlaying() then + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onAnimationTick ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onAnimationTick(self.parent.characterData, self.animationCount) + end + self.animationCount = self.animationCount > -1 and self.animationCount + 1 or self.animationCount + end + + if host:isHost() then + local windowSize = client:getScaledWindowSize() + local windowCenter = windowSize:copy():scale(0.5) + if self.frameParticleAmount < 3 then + for _ = 1, (windowSize.x * 2 + windowSize.y * 2) / (self.frameParticleAmount == 1 and 100 or 500) do + local particlePos = vectors.vec2(math.random() * (windowSize.x * 2 + windowSize.y * 2), math.random() * 16) + particlePos = particlePos.x <= windowSize.x and particlePos or (particlePos.x <= windowSize.x + windowSize.y and vectors.vec2(windowSize.x - particlePos.y, particlePos.x - windowSize.x) or (particlePos.x <= windowSize.x * 2 + windowSize.y and vectors.vec2(particlePos.x - (windowSize.x + windowSize.y), windowSize.y - particlePos.y) or vectors.vec2(particlePos.y, particlePos.x - (windowSize.x * 2 + windowSize.y)))) + self.parent.frameParticleManager:spawn(particlePos:copy():scale(-1), windowCenter:copy():sub(particlePos):scale(0.25)) + end + end + end + end + end, "ex_skill_animation_tick") + + if host:isHost() then + events.RENDER:register(function () + if not client:isPaused() then + self.parent.cameraManager.setCameraPivot(vectors.rotateAroundAxis(self.bodyYaw[2] * -1 + 180, models.models.main.CameraAnchor:getAnimPos():scale(1 / 16 * ((self.parent.characterData.exSkill[self.exSkillIndex].camera.fixMode ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].camera.fixMode) and 1 or 0.9375)), 0, 1, 0):add(0, -1.62, 0)) + self.parent.cameraManager.setCameraRot(models.models.main.CameraAnchor:getAnimRot():scale(-1):add(0, self.bodyYaw[2], 0)) + end + end, "ex_skill_animation_render") + end + self.animationCount = 0 + self.parent.gun:processGunTick() + self.animationLength = math.round(animations["models.main"]["ex_skill_"..self.exSkillIndex]:getLength() * 20) + end) + end; + + ---アニメーションを停止する。 + ---@param self ExSkill + stop = function (self) + events.TICK:remove("ex_skill_animation_tick") + if host:isHost() then + events.RENDER:remove("ex_skill_animation_render") + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.levelup"), player:getPos(), 5, 2):setAttenuation(100) + end + + for _, itemModel in ipairs({vanilla_model.RIGHT_ITEM, vanilla_model.LEFT_ITEM}) do + itemModel:setVisible(true) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].models) do + modelPart:setVisible(false) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].animations) do + animations["models."..modelPart]["ex_skill_"..self.exSkillIndex]:stop() + end + self.parent.physics:enable() + renderer:setFOV() + self.animationCount = -1 + + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostAnimation ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostAnimation(self.parent.characterData, false) + end + self:transition("POST", function () + events.TICK:remove("ex_skill_tick") + self.parent.cameraManager.setCameraPivot() + self.parent.cameraManager.setCameraRot() + self.parent.cameraManager:setThirdPersonCameraDistance(4) + self.parent.cameraManager:setCameraCollisionDenial(false) + renderer:setRenderHUD(true) + + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostTransition ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostTransition(self.parent.characterData, false) + end + end) + end; + + ---アニメーションを停止する。終了時のトランジションも無効。 + ---@param self ExSkill + forceStop = function (self) + events.RENDER:remove("ex_skill_transition_render") + if host:isHost() then + events.TICK:remove("ex_skill_transition_tick") + events.RENDER:remove("ex_skill_animation_render") + end + + for _, itemModel in ipairs({vanilla_model.RIGHT_ITEM, vanilla_model.LEFT_ITEM}) do + itemModel:setVisible(true) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].models) do + modelPart:setVisible(false) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].animations) do + animations["models."..modelPart]["ex_skill_"..self.exSkillIndex]:stop() + end + for _, eventName in ipairs({"ex_skill_tick", "ex_skill_animation_tick"}) do + events.TICK:remove(eventName) + end + self.parent.physics:enable() + models.models.ex_skill_frame.Gui.FrameBar:setPos() + for _, modelPart in ipairs({models.models.ex_skill_frame.Gui.Frame.FrameTopLeft, models.models.ex_skill_frame.Gui.Frame.FrameTopRight, models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft, models.models.ex_skill_frame.Gui.Frame.FrameBottomRight}) do + modelPart:setVisible(false) + end + for _, modelPart in ipairs({models.models.ex_skill_frame.Gui.Frame.FrameTop, models.models.ex_skill_frame.Gui.Frame.FrameLeft, models.models.ex_skill_frame.Gui.Frame.FrameBottom, models.models.ex_skill_frame.Gui.Frame.FrameRight}) do + modelPart:setScale(0, 0, 0) + end + self.parent.faceParts:resetEmotion() + self.parent.cameraManager.setCameraPivot() + self.parent.cameraManager.setCameraRot() + self.parent.cameraManager:setThirdPersonCameraDistance(4) + self.parent.cameraManager:setCameraCollisionDenial(false) + renderer:setRenderHUD(true) + renderer:setFOV() + + if self.animationCount >= 0 and self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostAnimation ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostAnimation(self.parent.characterData, true) + end + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostTransition ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostTransition(self.parent.characterData, true) + end + + self.animationCount = -1 + self.transitionCount = 0 + end; +} + +---Exスキルを再生する。 +function pings.exSkill() + AvatarInstance.exSkill:play(false) +end + +---サブExスキルを再生する。 +function pings.subExSkill() + AvatarInstance.exSkill:play(true) +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/ex_skill/ex_skill_frame_particle.lua b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/ex_skill/ex_skill_frame_particle.lua new file mode 100644 index 0000000..59315a9 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/ex_skill/ex_skill_frame_particle.lua @@ -0,0 +1,68 @@ +---@class (exact) ExSkillFrameParticle : SpawnObject Exスキルのフレームで使用するパーティクルの単一を管理するクラス +---@field package object ModelPart インスタンスで制御するオブジェクト +---@field package currentPos Vector2 パーティクルの現在位置 +---@field package nextPos Vector2 次ティックのパーティクルの位置 +---@field package velocity Vector2 パーティクルの速度 +---@field package particleCount integer パーティクルのアニメーションを制御するためのカウンター +---@field public new fun(parent: Avatar, pos: Vector2, velocity: Vector2, type: ExSkillFrameParticleManager.ParticleType): ExSkillFrameParticle コンストラクター + +ExSkillFrameParticle = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@param pos Vector2 パーティクルをスポーンさせるスクリーン上の座標。GUIスケールも考慮される。 + ---@param velocity Vector2 パーティクルの秒間移動距離(ピクセル) + ---@param type ExSkillFrameParticleManager.ParticleType このインスタンスのパーティクルの種類 + ---@return ExSkillFrameParticle + new = function (parent, pos, velocity, type) + ---@type ExSkillFrameParticle + local instance = Avatar.instantiate(ExSkillFrameParticle, SpawnObject, parent) + + instance.object = models.models.ex_skill_frame.Particles["Particle"..(type == "NORMAL" and 1 or 2)]:copy(instance.uuid) + instance.currentPos = pos + instance.nextPos = instance.currentPos + instance.velocity = velocity + instance.particleCount = 0 + + instance.callbacks = { + ---@param self ExSkillFrameParticle + onInit = function (self) + models.models.ex_skill_frame.Gui.script_ex_skill_frame_particles:addChild(self.object) + self.object:setRot(90, math.random() * 360, 180) + end; + + ---@param self ExSkillFrameParticle + onDeinit = function (self) + self.object:remove() + end; + + ---@param self ExSkillFrameParticle + onTick = function (self) + --パーティクル位置を強制更新 + self.currentPos = self.nextPos:copy() + self.object:setPos(self.currentPos:copy():augmented(0)) + self.object:setScale(vectors.vec3(1, 1, 1):scale(1 - self.particleCount / 5)) + + --カウンターを更新 + self.particleCount = self.particleCount + 1 + if self.particleCount == 5 then + self.object:remove() + elseif self.particleCount == 6 then + self.shouldDeinit = true + end + + --次ティックの位置を計算 + if self.velocity:length() > 0 then + self.nextPos = self.currentPos:copy():add(self.velocity:copy():scale(-0.05)) + end + end; + + ---@param self ExSkillFrameParticle + onRender = function (self, delta) + self.object:setPos(self.nextPos:copy():sub(self.currentPos):scale(delta):add(self.currentPos):augmented(0)) + self.object:setScale(vectors.vec3(1, 1, 1):scale(1 - (self.particleCount + delta) / 5)) + end; + } + + return instance + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/ex_skill/ex_skill_frame_particle_manager.lua b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/ex_skill/ex_skill_frame_particle_manager.lua new file mode 100644 index 0000000..262709e --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/ex_skill/ex_skill_frame_particle_manager.lua @@ -0,0 +1,48 @@ +---@alias ExSkillFrameParticleManager.ParticleType +---| "NORMAL" # 通常のパーティクル +---| "FIGURA" # Figuraマークのパーティクル(穴空き三角形) + +---@class (exact) ExSkillFrameParticleManager : SpawnObjectManager Exスキルのフレームで使用するパーティクルを管理するクラス +---@field public objects ExSkillFrameParticle[] インスタンスで制御するオブジェクト +---@field public getObject fun(self: ExSkillFrameParticleManager, pos: Vector2, velocity: Vector2): ExSkillFrameParticle Exスキルフレームのパーティクルのインスタンスを生成して返す +---@field public spawn fun(self: ExSkillFrameParticleManager, pos: Vector2, velocity: Vector2) Exスキルフレームのパーティクルをスポーンさせる + +ExSkillFrameParticleManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ExSkillFrameParticleManager + new = function (parent) + ---@type ExSkillFrameParticleManager + local instance = Avatar.instantiate(ExSkillFrameParticleManager, SpawnObjectManager, parent) + + instance.managerName = "ex_skill_frame_particle" + + return instance + end; + + ---初期化関数 + ---@param self ExSkillFrameParticleManager + init = function (self) + SpawnObjectManager.init(self) + + ---@diagnostic disable-next-line: discard-returns + models.models.ex_skill_frame.Gui:newPart("script_ex_skill_frame_particles") + end; + + ---Exスキルフレームのパーティクルのインスタンスを生成して返す。 + ---@param self ExSkillFrameParticleManager + ---@param pos Vector2 パーティクルをスポーンさせる画面上の座標 + ---@param velocity Vector2 パーティクルの速度 + ---@return ExSkillFrameParticle instance 生成したインスタンス + getObject = function (self, pos, velocity) + return ExSkillFrameParticle.new(self.parent, pos, velocity, math.random() > 0.9999 and "FIGURA" or "NORMAL") + end; + + ---Exスキルフレームのパーティクルをスポーンさせる。 + ---@param self ExSkillFrameParticleManager + ---@param pos Vector2 パーティクルをスポーンさせる画面上の座標 + ---@param velocity Vector2 パーティクルの速度 + spawn = function (self, pos, velocity) + SpawnObjectManager.spawn(self, pos, velocity) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/face_parts.lua b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/face_parts.lua new file mode 100644 index 0000000..c364e0f --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/face_parts.lua @@ -0,0 +1,88 @@ +---@class (exact) FaceParts : AvatarModule 目と口のテクスチャを管理するクラス +---@field package emotionCount integer エモートの時間を計るカウンター +---@field public blinkCount integer 瞬きのタイミングを計るカウンター +---@field public setEmotion fun(self: FaceParts, rightEye: BlueArchiveCharacter.RightEyeTextures, leftEye: BlueArchiveCharacter.LeftEyeTextures, mouth: BlueArchiveCharacter.MouthTextures, duration: integer, forced?: boolean) 表情を設定する +---@field public resetEmotion fun(self: FaceParts) 表情をリセットする + +FaceParts = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return FaceParts + new = function (parent) + ---@type FaceParts + local instance = Avatar.instantiate(FaceParts, AvatarModule, parent) + + instance.emotionCount = 0 + instance.blinkCount = 200 + + return instance + end; + + ---初期化関数 + ---@param self FaceParts + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + if not client:isPaused() then + if self.parent.playerUtils.damageStatus == "DAMAGE" then + if self.parent.characterData.faceParts.emotionSet ~= nil and self.parent.characterData.faceParts.emotionSet.onDamage ~= nil then + self:setEmotion(self.parent.characterData.faceParts.emotionSet.onDamage.rightEye, self.parent.characterData.faceParts.emotionSet.onDamage.leftEye, self.parent.characterData.faceParts.emotionSet.onDamage.mouth, 8, true) + else + self:setEmotion("SURPRISED", "SURPRISED", "NORMAL", 8, true) + end + elseif self.parent.playerUtils.damageStatus == "DIED" then + if self.parent.characterData.faceParts.emotionSet ~= nil and self.parent.characterData.faceParts.emotionSet.onDied ~= nil then + self:setEmotion(self.parent.characterData.faceParts.emotionSet.onDied.rightEye, self.parent.characterData.faceParts.emotionSet.onDied.leftEye, self.parent.characterData.faceParts.emotionSet.onDied.mouth, 20, true) + else + self:setEmotion("SURPRISED", "SURPRISED", "NORMAL", 20, true) + end + elseif self.emotionCount == 0 then + self:setEmotion("NORMAL", "NORMAL", "NORMAL", 0) + end + + if self.blinkCount == 0 then + self:setEmotion("CLOSED", "CLOSED", "NORMAL", 2) + self.blinkCount = 200 + else + self.blinkCount = self.blinkCount - 1 + end + + self.emotionCount = self.emotionCount > 0 and self.emotionCount - 1 or self.emotionCount + end + end) + end; + + ---表情を設定する。 + ---@param self FaceParts + ---@param rightEye BlueArchiveCharacter.RightEyeTextures 設定する右目の名前 + ---@param leftEye BlueArchiveCharacter.LeftEyeTextures 設定する左目の名前 + ---@param mouth BlueArchiveCharacter.MouthTextures 設定する口の名前 + ---@param duration integer この表情を有効にする時間 + ---@param forced? boolean trueにすると以前のエモーションが再生中でも強制的に現在のエモーションを適用させる。 + setEmotion = function (self, rightEye, leftEye, mouth, duration, forced) + if self.emotionCount == 0 or forced then + --右目 + models.models.main.Avatar.Head.FaceParts.Eyes.EyeLeft:setUVPixels(self.parent.characterData.faceParts.rightEye[rightEye]:copy():scale(6)) + + --左目 + models.models.main.Avatar.Head.FaceParts.Eyes.EyeRight:setUVPixels(self.parent.characterData.faceParts.leftEye[leftEye]:copy():scale(6)) + + --口 + if mouth ~= "NORMAL" then + models.models.main.Avatar.Head.FaceParts.Mouth:setVisible(true) + models.models.main.Avatar.Head.FaceParts.Mouth:setUVPixels(self.parent.characterData.faceParts.mouth[mouth]:copy():mul(16, 8)) + else + models.models.main.Avatar.Head.FaceParts.Mouth:setVisible(false) + end + + self.emotionCount = duration + end + end; + + ---表情をリセットする。 + ---@param self FaceParts + resetEmotion = function (self) + self.emotionCount = 0 + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/gun.lua b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/gun.lua new file mode 100644 index 0000000..e85079b --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/gun.lua @@ -0,0 +1,376 @@ +---@alias Gun.GunPosition +---| "NONE" # 構えていない +---| "RIGHT" # 右手に構える +---| "LEFT" # 左手に構える + +---@alias Gun.HandDirection +---| "RIGHT" # 右手 +---| "LEFT" # 左手 + +---@class (exact) Gun : AvatarModule 生徒の銃を制御するクラス +---@field public gunItems Minecraft.itemID[] 銃のモデルを適用するアイテム +---@field public shouldShowWeaponInFirstPerson boolean 一人称で武器(銃を含む)のモデルを表示するかどうか +---@field public currentGunPosition Gun.GunPosition 現在の銃の位置 +---@field package heldItemsPrev Gun.HeldItemSet 前ティックの手持ちアイテム +---@field package isLeftHandedPrev boolean 前ティックに左利きだったかどうか +---@field package isGunTickProcessed boolean このティック内で銃ティックを処理したかどうか +---@field package setBodyGunPos fun(self: Gun) 背中の銃の位置・向きを設定する +---@field public setGunPosition fun(self: Gun, gonPosition: Gun.GunPosition) 銃の位置を変更する +---@field public processGunTick fun(self: Gun) 銃ティックを処理する + +---@class (exact) Gun.HeldItemSet 手持ちアイテムを示すデータセット +---@field public mainHand ItemStack メインハンド +---@field public offHand ItemStack オフハンド + +Gun = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Gun + new = function (parent) + ---@type Gun + local instance = Avatar.instantiate(Gun, AvatarModule, parent) + + instance.gunItems = {"minecraft:bow", "minecraft:crossbow"} + instance.shouldShowWeaponInFirstPerson = instance.parent.config:loadConfig("PRIVATE", "firstPersonWeapon", true) + instance.currentGunPosition = "NONE" + instance.heldItemsPrev = { + mainHand = world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")); + offHand = world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")); + } + instance.isLeftHandedPrev = player:isLeftHanded() + instance.isGunTickProcessed = false + + return instance + end; + + ---初期化関数 + ---@param self Gun + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + self:processGunTick() + self.isGunTickProcessed = false + end) + + events.ON_PLAY_SOUND:register(function (id, pos, _, _, _, _, path) + if path ~= nil then + local velocityDistance = player:getVelocity():length() + local distanceFromSound = math.abs(pos:copy():sub(player:getPos()):length() - velocityDistance) + if (id == "minecraft:entity.arrow.shoot" or id == "minecraft:item.crossbow.loading_end" or id == "minecraft:item.crossbow.shoot") and math.abs(velocityDistance - distanceFromSound) < 1 then + if id == "minecraft:item.crossbow.loading_end" then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.dispenser.fail"), pos, 1, 2) + elseif player:isUnderwater() then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.generic.extinguish_fire"), pos, 0.5, 1.5) + else + local particleAnchor = self.parent.modelUtils.getModelWorldPos(renderer:isFirstPerson() and (Gun.CurrentGunPosition == "RIGHT" and models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.RightItemPivot or models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.LeftItemPivot) or models.models.main.Avatar.UpperBody.Body.Gun.MuzzleAnchor) + for _ = 1, 5 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:smoke"), particleAnchor) + end + sounds:playSound(self.parent.compatibilityUtils:checkSound(self.parent.characterData.gun.sound.name), pos, 1, self.parent.characterData.gun.sound.pitch) + end + return true + elseif (id == "minecraft:item.crossbow.loading_start" or id == "minecraft:item.crossbow.loading_middle" or id:match("^minecraft:item%.crossbow%.quick_charge_[1-3]$") ~= nil) and distanceFromSound < 1 and player:getActiveItem().id == "minecraft:crossbow" then + local activeItemTime = player:getActiveItemTime() + local quickChargeLevel = 0 + local activeItem = player:getActiveItem() + if activeItem.tag.Enchantments ~= nil then + for _, enchant in ipairs(activeItem.tag.Enchantments) do + if enchant.id == "minecraft:quick_charge" then + quickChargeLevel = enchant.lvl + break + end + end + end + if (quickChargeLevel <= 4 and activeItemTime + quickChargeLevel >= 4 and activeItemTime + quickChargeLevel <= 6) or (quickChargeLevel == 5 and activeItemTime <= 2) then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.flintandsteel.use"), pos, 1, 2) + return true + elseif id == "minecraft:item.crossbow.loading_middle" then + return true + end + end + end + end) + + local this = self --Figuraにスクリプトを再構築させると参照がおかしくなることに対処しているコード + events.ITEM_RENDER:register(function (item, mode, _, _, _, leftHanded) + self = this + if mode ~= "HEAD" and self.currentGunPosition == (leftHanded and "LEFT" or "RIGHT") and (self.shouldShowWeaponInFirstPerson or mode =="THIRD_PERSON_LEFT_HAND" or mode == "THIRD_PERSON_RIGHT_HAND") then + for _, gunItem in ipairs(self.gunItems) do + if item.id == gunItem then + if leftHanded then + if mode == "FIRST_PERSON_LEFT_HAND" then + local offsetPos = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.firstPersonPos ~= nil and self.parent.characterData.gun.gunPosition.hold.firstPersonPos.left ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.hold.firstPersonPos.left + end + local offsetRot = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.firstPersonRot ~= nil and self.parent.characterData.gun.gunPosition.hold.firstPersonRot.left ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.hold.firstPersonRot.left + end + local activeItemId = player:getActiveItem().id + if activeItemId == "minecraft:bow" then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -2.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(20, -7.5, -5):add(offsetRot)) + elseif activeItemId == "minecraft:crossbow" then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, 0.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + elseif item.id == "minecraft:crossbow" and item.tag.Charged == 1 then + if player:isLeftHanded() then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(-10, -1.25, 6):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 10, 0):add(offsetRot)) + else + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -1.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + else + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -1.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + elseif mode == "THIRD_PERSON_LEFT_HAND" then + local offsetPos = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.thirdPersonPos ~= nil and self.parent.characterData.gun.gunPosition.hold.thirdPersonPos.left ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.hold.thirdPersonPos.left + end + local offsetRot = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.thirdPersonRot ~= nil and self.parent.characterData.gun.gunPosition.hold.thirdPersonRot.left ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.hold.thirdPersonRot.left + end + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -4.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + else + if mode == "FIRST_PERSON_RIGHT_HAND" then + local offsetPos = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.firstPersonPos ~= nil and self.parent.characterData.gun.gunPosition.hold.firstPersonPos.right ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.hold.firstPersonPos.right + end + local offsetRot = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.firstPersonRot ~= nil and self.parent.characterData.gun.gunPosition.hold.firstPersonRot.right ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.hold.firstPersonRot.right + end + local activeItemId = player:getActiveItem().id + if activeItemId == "minecraft:bow" then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -2.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(20, 7.5, 5):add(offsetRot)) + elseif activeItemId == "minecraft:crossbow" then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, 0.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + elseif item.id == "minecraft:crossbow" and item.tag.Charged == 1 then + if player:isLeftHanded() then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -1.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + else + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(10, -1.25, 6):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, -10, 0):add(offsetRot)) + end + else + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -1.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + elseif mode == "THIRD_PERSON_RIGHT_HAND" then + local offsetPos = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.thirdPersonPos ~= nil and self.parent.characterData.gun.gunPosition.hold.thirdPersonPos.right ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.hold.thirdPersonPos.right + end + local offsetRot = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.thirdPersonRot ~= nil and self.parent.characterData.gun.gunPosition.hold.thirdPersonRot.right ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.hold.thirdPersonRot.right + end + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -4.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + end + return models.models.main.Avatar.UpperBody.Body.Gun + end + end + end + end) + + models.models.main.Avatar.UpperBody.Body.Gun:setScale(vectors.vec3(1, 1, 1):scale(self.parent.characterData.gun.scale)) + self:setGunPosition("NONE") + if self.parent.characterData.gun.callbacks ~= nil and self.parent.characterData.gun.callbacks.onMainHandChange ~= nil then + self.parent.characterData.gun.callbacks.onMainHandChange(self.parent.characterData, self.isLeftHandedPrev and "LEFT" or "RIGHT") + end + end; + + ---背中の銃の位置・向きを設定する。 + ---@param self Gun + setBodyGunPos = function (self) + if models.models.main.Avatar.UpperBody.Body.Gun ~= nil then + local offsetPos = vectors.vec3() + local offsetRot = vectors.vec3() + if player:isLeftHanded() then + if self.parent.characterData.gun.gunPosition.put.pos ~= nil and self.parent.characterData.gun.gunPosition.put.pos.left ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.put.pos.left + end + if self.parent.characterData.gun.gunPosition.put.rot ~= nil and self.parent.characterData.gun.gunPosition.put.rot.left ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.put.rot.left + end + else + if self.parent.characterData.gun.gunPosition.put.pos ~= nil and self.parent.characterData.gun.gunPosition.put.pos.right ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.put.pos.right + end + if self.parent.characterData.gun.gunPosition.put.rot ~= nil and self.parent.characterData.gun.gunPosition.put.rot.right ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.put.rot.right + end + end + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, 12, 0):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(offsetRot) + end + end; + + ---銃の位置を変更する。 + ---@param self Gun + ---@param gunPosition Gun.GunPosition 変更先の構え位置 + setGunPosition = function (self, gunPosition) + if gunPosition == "NONE" then + for _, tickName in ipairs({"right_gun_tick", "left_gun_tick"}) do + events.TICK:remove(tickName) + end + models.models.main.Avatar.UpperBody.Body.Gun:setParentType("None") + models.models.main.Avatar.UpperBody.Body.Gun:setSecondaryRenderType("NONE") + if self.parent.characterData.gun.gunPosition.hold.type == "NORMAL" then + self.parent.arms:setArmState(0, 0) + elseif self.parent.characterData.gun.gunPosition.hold.type == "CUSTOM" then + for _, animationName in ipairs({"gun_hold_right", "gun_hold_left"}) do + animations["models.main"][animationName]:stop() + end + end + if self.parent.characterData.gun.gunPosition.put.type == "BODY" then + self:setBodyGunPos() + elseif self.parent.characterData.gun.gunPosition.put.type == "HIDDEN" then + models.models.main.Avatar.UpperBody.Body.Gun:setVisible(false) + end + elseif gunPosition == "RIGHT" then + events.TICK:remove("left_gun_tick") + if events.TICK:getRegisteredCount("right_gun_tick") == 0 then + events.TICK:register(function () + local heldItem = player:getHeldItem(player:isLeftHanded()) + local hasGlint = false + for _, gunItem in ipairs(self.gunItems) do + if gunItem == heldItem.id and heldItem:hasGlint() then + models.models.main.Avatar.UpperBody.Body.Gun:setSecondaryRenderType("GLINT") + hasGlint = true + break + end + end + if not hasGlint then + models.models.main.Avatar.UpperBody.Body.Gun:setSecondaryRenderType("NONE") + end + end, "right_gun_tick") + end + if self.parent.characterData.gun.gunPosition.hold.type == "NORMAL" then + self.parent.arms:setArmState(1, 2) + elseif self.parent.characterData.gun.gunPosition.hold.type == "CUSTOM" then + animations["models.main"]["gun_hold_left"]:stop() + animations["models.main"]["gun_hold_right"]:play() + end + models.models.main.Avatar.UpperBody.Body.Gun:setVisible(true) + models.models.main.Avatar.UpperBody.Body.Gun:setParentType("Item") + if not client:isPaused() then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.flintandsteel.use"), player:getPos(), 1, 2) + end + elseif gunPosition == "LEFT" then + events.TICK:remove("right_gun_tick") + if events.TICK:getRegisteredCount("left_gun_tick") == 0 then + events.TICK:register(function () + local heldItem = player:getHeldItem(not player:isLeftHanded()) + local hasGlint = false + for _, gunItem in ipairs(self.gunItems) do + if gunItem == heldItem.id and heldItem:hasGlint() then + models.models.main.Avatar.UpperBody.Body.Gun:setSecondaryRenderType("GLINT") + hasGlint = true + break + end + end + if not hasGlint then + models.models.main.Avatar.UpperBody.Body.Gun:setSecondaryRenderType("NONE") + end + end, "left_gun_tick") + end + if self.parent.characterData.gun.gunPosition.hold.type == "NORMAL" then + self.parent.arms:setArmState(2, 1) + elseif self.parent.characterData.gun.gunPosition.hold.type == "CUSTOM" then + animations["models.main"]["gun_hold_right"]:stop() + animations["models.main"]["gun_hold_left"]:play() + end + models.models.main.Avatar.UpperBody.Body.Gun:setVisible(true) + models.models.main.Avatar.UpperBody.Body.Gun:setParentType("Item") + if not client:isPaused() then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.flintandsteel.use"), player:getPos(), 1, 2) + end + end + self.currentGunPosition = gunPosition + end; + + ---銃ティックを処理する。 + ---@param self Gun + processGunTick = function (self) + if not self.isGunTickProcessed then + local heldItems = {} + if player:getPose() ~= "SLEEPING" and self.parent.exSkill.animationCount == -1 then + heldItems.mainHand = player:getHeldItem(false) + heldItems.offHand = player:getHeldItem(true) + else + heldItems.mainHand = world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air")) + heldItems.offHand = world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air")) + end + local targetItemFound = false + local isLeftHanded = player:isLeftHanded() + if heldItems.mainHand.id ~= self.heldItemsPrev.mainHand.id or heldItems.offHand.id ~= self.heldItemsPrev.offHand.id or isLeftHanded ~= self.isLeftHandedPrev then + for _, gunItem in ipairs(self.gunItems) do + if heldItems.mainHand.id == gunItem then + --メインハンドに対象アイテムを持つ + targetItemFound = true + if isLeftHanded then + if self.currentGunPosition ~= "LEFT" then + self:setGunPosition("LEFT") + end + else + if self.currentGunPosition ~= "RIGHT" then + self:setGunPosition("RIGHT") + end + end + break + end + end + if not targetItemFound then + for _, gunItem in ipairs(self.gunItems) do + if heldItems.offHand.id == gunItem then + --オフハンドに対象アイテムを持つ + targetItemFound = true + if isLeftHanded then + if self.currentGunPosition ~= "RIGHT" then + self:setGunPosition("RIGHT") + end + else + if self.currentGunPosition ~= "LEFT" then + self:setGunPosition("LEFT") + end + end + break + end + end + end + if not targetItemFound then + --対象アイテムは持たない + if self.currentGunPosition ~= "NONE" then + self:setGunPosition("NONE") + end + end + if isLeftHanded ~= self.leftHandedPrev then + if self.currentGunPosition == "NONE" then + self:setBodyGunPos() + end + if self.parent.characterData.gun.callbacks ~= nil and self.parent.characterData.gun.callbacks.onMainHandChange ~= nil then + self.parent.characterData.gun.callbacks.onMainHandChange(self.parent.characterData, isLeftHanded and "LEFT" or "RIGHT") + end + self.isLeftHandedPrev = isLeftHanded + end + self.heldItemsPrev = heldItems + end + self.isGunTickProcessed = true + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/head_block.lua b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/head_block.lua new file mode 100644 index 0000000..72bce44 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/head_block.lua @@ -0,0 +1,33 @@ +---@class (exact) HeadBlock : HeadModelGenerator 頭ブロックのモデルを制御するクラス +---@field package forceGenerateCount integer 強制的に頭ブロックを生成するまでのカウンター。これが発火するのはアバタープレイヤーがオフラインの時のみ。 + +HeadBlock = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return HeadBlock + new = function (parent) + ---@type HeadBlock + local instance = Avatar.instantiate(HeadBlock, HeadModelGenerator, parent) + + instance.processData = instance.parent.characterData.headBlock + instance.parentName = "head_block" + instance.parentType = "Skull" + instance.forceGenerateCount = 2 + + return instance + end; + + ---初期化関数 + ---@param self HeadBlock + init = function (self) + HeadModelGenerator.init(self) + + events.WORLD_TICK:register(function () + self.forceGenerateCount = self.forceGenerateCount - 1 + if self.forceGenerateCount == 0 then + self:generateHeadModel() + events.WORLD_TICK:remove("head_block_world_tick") + end + end, "head_block_world_tick") + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/head_model_generator.lua b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/head_model_generator.lua new file mode 100644 index 0000000..76b2ab7 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/head_model_generator.lua @@ -0,0 +1,85 @@ +---@class (exact) HeadModelGenerator : AvatarModule 頭のモデルの生成を含む抽象クラス +---@field public processData BlueArchiveCharacter.HeadBlockStruct 頭モデルを生成する過程で参照するデータ +---@field public parentName string モデルを生成する名前空間 +---@field public parentType ModelPart.parentType コピーした頭モデルに適用する親タイプ +---@field public generateHeadModel fun(self: HeadModelGenerator) 頭モデルのコピーを生成する +---@field package isScriptLoaded boolean スクリプトが全てロードされているかどうか + +HeadModelGenerator = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return HeadModelGenerator + new = function (parent) + ---@type HeadModelGenerator + local instance = Avatar.instantiate(HeadModelGenerator, AvatarModule, parent) + + instance.isScriptLoaded = false + + return instance + end; + + ---初期化関数 + ---@param self HeadModelGenerator + init = function (self) + AvatarModule.init(self) + + ---@diagnostic disable-next-line: discard-returns + models:newPart("script_"..self.parentName, "None") + + self.parent.avatarEvents.SCRIPT_INIT:register(function () + self.isScriptLoaded = true + end) + end; + + ---頭モデルのコピーを生成する。 + ---@param self HeadModelGenerator + generateHeadModel = function (self) + --既存の頭ブロックのモデルを削除する。 + if models["script_"..self.parentName].Head ~= nil then + models["script_"..self.parentName].Head:remove() + end + + --ヘルメットを着けている場合は外しておく。 + local isHelmetVisible = self.isScriptLoaded and self.parent.armor.isArmorVisible.helmet or false + if isHelmetVisible then + self.parent.armor:setHelmet(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + + if self.isScriptLoaded then + self.parent.physics:disable() + end + if self.processData.callbacks ~= nil and self.processData.callbacks.onBeforeModelCopy ~= nil then + self.processData.callbacks.onBeforeModelCopy(self.parent.characterData, self.isScriptLoaded) + end + + --現在の衣装を基に新たな頭ブロックのモデルを生成する。 + local copiedPart = self.parent.modelUtils:copyModel(models.models.main.Avatar.Head) + if copiedPart ~= nil then + models["script_"..self.parentName]:addChild(copiedPart) + models["script_"..self.parentName].Head:setParentType(self.parentType) + models["script_"..self.parentName].Head:setPos(0, -24, 0) + models["script_"..self.parentName].Head.HeadRing:setRot(self.parent.headRing.initialHaloRot) + models["script_"..self.parentName].Head.HeadRing:setLight(15) + for _, modelPart in ipairs({models["script_"..self.parentName].Head.FaceParts.Eyes.EyeRight, models["script_"..self.parentName].Head.FaceParts.Eyes.EyeLeft}) do + modelPart:setUVPixels() + end + for _, modelPart in ipairs(self.processData.includeModels) do + local copiedIncludePart = self.parent.modelUtils:copyModel(modelPart) + if copiedIncludePart ~= nil then + models["script_"..self.parentName].Head:addChild(copiedIncludePart) + end + end + end + + --非表示にしたモデルを元に戻す。 + if isHelmetVisible then + self.parent.armor:setHelmet(self.parent.armor.armorSlotItems[1]) + end + if self.isScriptLoaded then + self.parent.physics:enable() + end + if self.processData.callbacks ~= nil and self.processData.callbacks.onAfterModelCopy ~= nil then + self.processData.callbacks.onAfterModelCopy(self.parent.characterData, self.isScriptLoaded) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/head_ring.lua b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/head_ring.lua new file mode 100644 index 0000000..315489c --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/head_ring.lua @@ -0,0 +1,79 @@ +---@class (exact) HeadRing : AvatarModule ヘイロー(頭の輪っか)を制御するクラス +---@field public initialHaloRot number ヘイローの初期角度 +---@field package headRotData number[] 一定期間内の頭の角度を保持するテーブル +---@field package headRotAverage number[] 頭の角度の移動平均値 +---@field package floatCount integer ヘイローが上下するアニメーションのカウンター + +HeadRing = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return HeadRing + new = function (parent) + ---@type HeadRing + local instance = Avatar.instantiate(HeadRing, AvatarModule, parent) + + instance.initialHaloRot = models.models.main.Avatar.Head.HeadRing:getRot().x + instance.haloRotPrev = instance.initialHaloRot + instance.headRotData = {} + instance.headRotAverage = {0, 0} + instance.floatCount = 0 + + return instance + end; + + ---初期化関数 + ---@param self HeadRing + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + if not client:isPaused() then + --移動平均値の算出 + local headRot = self.parent.exSkill.animationCount > -1 and models.models.main.Avatar.Head:getAnimRot().x or math.deg(math.asin(player:getLookDir().y)) + local headRotAverage = self.headRotAverage[2] + headRotAverage = (#self.headRotData * headRotAverage + headRot) / (#self.headRotData + 1) + table.insert(self.headRotData, headRot) + --古いデータの切り捨て + if #self.headRotData > 5 then + headRotAverage = (#self.headRotData * headRotAverage - self.headRotData[1]) / (#self.headRotData - 1) + table.remove(self.headRotData, 1) + end + table.insert(self.headRotAverage, headRotAverage) + table.remove(self.headRotAverage, 1) + end + end) + + events.WORLD_TICK:register(function () + if not client:isPaused() then + self.floatCount = self.floatCount + 1 + self.floatCount = self.floatCount == 80 and 0 or self.floatCount + end + end) + + events.RENDER:register(function (delta) + if not client:isPaused() then + --ヘイローの位置・角度を設定 + local playerPose = player:getPose() + local headRot = self.parent.physics.getValueBetweenTicks(self.headRotAverage, delta) + local floatOffset = math.sin((self.floatCount + delta) / 80 * 2 * math.pi) * 0.25 + if playerPose == "SWIMMING" or playerPose == "FALL_FLYING" then + models.models.main.Avatar.Head.HeadRing:setPos(self.parent.physics.velocityAverage[3][2] * 3, math.cos(math.rad(headRot)) * self.parent.physics.velocityAverage[1][2] * -1 + math.sin(math.rad(headRot)) * self.parent.physics.velocityAverage[2][2] * -1 + floatOffset, math.cos(math.rad(headRot)) * self.parent.physics.velocityAverage[2][2] * -3 + math.sin(math.rad(headRot)) * self.parent.physics.velocityAverage[1][2]) + else + models.models.main.Avatar.Head.HeadRing:setPos(self.parent.physics.velocityAverage[3][2] * -3, math.cos(math.rad(headRot)) * self.parent.physics.velocityAverage[2][2] * -1 + math.sin(math.rad(headRot)) * self.parent.physics.velocityAverage[1][2] + floatOffset, math.cos(math.rad(headRot)) * self.parent.physics.velocityAverage[1][2] * 3 + math.sin(math.rad(headRot)) * self.parent.physics.velocityAverage[2][2]) + end + if self.parent.deathAnimation.dummyAvatarRoot ~= nil then + self.parent.deathAnimation.dummyAvatarRoot.Head.HeadRing:setPos(0, floatOffset, 0) + end + models.models.main.Avatar.Head.HeadRing:setRot(headRot - (self.parent.exSkill.animationCount > -1 and models.models.main.Avatar.Head:getAnimRot().x or math.deg(math.asin(player:getLookDir().y))) + self.initialHaloRot, 0, 0) + end + end) + + events.WORLD_RENDER:register(function (delta) + if not client:isPaused() and models.script_head_block.Head ~= nil and models.script_head_block.Head.HeadRing ~= nil then + models.script_head_block.Head.HeadRing:setPos(0, math.sin((self.floatCount + delta) / 80 * 2 * math.pi) * 0.25, 0) + end + end) + + models.models.main.Avatar.Head.HeadRing:setLight(15) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/hypixel_zombies.lua b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/hypixel_zombies.lua new file mode 100644 index 0000000..5d3df84 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/hypixel_zombies.lua @@ -0,0 +1,85 @@ +---@class (exact) HypixelZombies : AvatarModule Hypixelの「Zombies」にアバターを対応させるパッチ +---@field package isEnabled boolean Zombiesモードが有効かどうか +---@field package damagerPercentPrev number[] 前ティック以前のツールの耐久度割合 +---@field public enable fun(self: HypixelZombies) Zombiesモードを有効にする +---@field public disable fun(self: HypixelZombies) Zombiesモードを無効にする + +HypixelZombies = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return HypixelZombies + new = function (parent) + ---@type HypixelZombies + local instance = Avatar.instantiate(HypixelZombies, AvatarModule, parent) + + instance.isEnabled = false + instance.damagerPercentPrev = {1, 1} + + return instance + end; + + ---Zombiesモードを有効にする。 + ---@param self HypixelZombies + enable = function (self) + if not self.isEnabled then + self.parent.gun.gunItems = {"minecraft:bow", "minecraft:crossbow", "minecraft:wooden_hoe", "minecraft:stone_hoe", "minecraft:iron_hoe", "minecraft:wooden_shovel", "minecraft:stone_shovel", "minecraft:shears", "minecraft:diamond_hoe", "minecraft:golden_hoe", "minecraft:iron_shovel", "minecraft:diamond_pickaxe", "minecraft:golden_pickaxe", "minecraft:golden_shovel", "minecraft:flint_and_steel"} + + events.TICK:register(function () + local heldItem = player:getHeldItem() + local maxDamage = heldItem:getMaxDamage() + local damagePercent = (maxDamage - heldItem:getDamage()) / maxDamage + if maxDamage > 0 then + if damagePercent - self.damagerPercentPrev[1] > 0 and damagePercent - self.damagerPercentPrev[1] <= 0.2 then + if self.parent.bubble.bubbleCount == 0 then + self.parent.bubble:play("RELOAD", -1, vectors.vec2(), 0, false) + end + elseif self.parent.bubble.emoji == "RELOAD" then + self.parent.bubble:stop() + end + table.insert(self.damagerPercentPrev, damagePercent) + else + if self.parent.bubble.emoji == "RELOAD" then + self.parent.bubble:stop() + end + table.insert(self.damagerPercentPrev, 1) + end + table.remove(self.damagerPercentPrev, 1) + end, "hypixel_zombies_tick") + + if host:isHost() then + print(self.parent.locale:getLocale("avatar.zombies_mode.enable")) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.lightning_bolt.thunder"), player:getPos(), 0.5, 2) + end + + self.isEnabled = true + elseif host:isHost() then + print(self.parent.locale:getLocale("avatar.zombies_mode.already_enabled")) + end + end; + + ---Zombiesモードを無効にする。 + ---@param self HypixelZombies + disable = function (self) + if self.isEnabled then + events.TICK:remove("hypixel_zombies_tick") + self.parent.gun.gunItems = {"minecraft:bow", "minecraft:crossbow"} + + if host:isHost() then + print(self.parent.locale:getLocale("avatar.zombies_mode.disable")) + end + elseif host:isHost() then + print(self.parent.locale:getLocale("avatar.zombies_mode.already_disabled")) + end + self.isEnabled = false + end +} + +---Zombiesモードを有効にする。 +function pings.enableZombiesMode() + AvatarInstance.hypixelZombies:enable() +end + +---Zombiesモードを無効にする。 +function pings.disableZombiesMode() + AvatarInstance.hypixelZombies:disable() +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/key_manager.lua b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/key_manager.lua new file mode 100644 index 0000000..e1cac33 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/key_manager.lua @@ -0,0 +1,45 @@ +---@class (exact) KeyManager : AvatarModule アバターのキー割り当てを管理するクラス。ここで管理する割り当ては設定で変更された場合はそれが保存される。 +---@field public keyMappings {[string]: Keybind} キーの割り当てのテーブル +---@field public register fun(self: KeyManager, assignName: string, keyName: Minecraft.keyCode): Keybind キー割り当てを登録する + +KeyManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return KeyManager + new = function (parent) + ---@type KeyManager + local instance = Avatar.instantiate(KeyManager, AvatarModule, parent) + + instance.keyMappings = {} + + return instance + end; + + ---初期化関数 + ---@param self KeyManager + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + events.TICK:register(function () + for key, value in pairs(self.keyMappings) do + if not value:isDefault() then + local newKey = value:getKey() + self.parent.config:saveConfig("PRIVATE", "keybind."..key, newKey) + value:setKey(newKey) + end + end + end) + end + end; + + ---キー割り当てを登録する。 + ---@param self KeyManager + ---@param assignName string 割り当ての名前 + ---@param keyName Minecraft.keyCode 割当先のキー + ---@return Keybind assignedKey キーマネージャーによって登録がされたキーバインド + register = function (self, assignName, keyName) + self.keyMappings[assignName] = keybinds:newKeybind(self.parent.locale:getLocale("key_name."..assignName), self.parent.config:loadConfig("PRIVATE", "keybind."..assignName, keyName)) + return self.keyMappings[assignName] + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/locale.lua b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/locale.lua new file mode 100644 index 0000000..b2675ce --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/locale.lua @@ -0,0 +1,118 @@ +---@alias Locale.Language +---| "en_us" # 英語(米国) +---| "ja_jp" # 日本語 + +---@class (exact) Locale : AvatarModule アバターの表示言語を管理するクラス +---@field public localeData {[Locale.Language]: {[string]: string}} 言語データ +---@field public getLocale fun(self: Locale, key: string): string 翻訳キーに対する訳文を返す。設定言語が存在しない場合は英語の文が返される。また、指定したキーの訳が無い場合は英語->キーそのままが返される。 + +Locale = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Locale + new = function (parent) + ---@type Locale + local instance = Avatar.instantiate(Locale, AvatarModule, parent) + + instance.localeData = { + en_us = {}; + ja_jp = {}; + } + + ---言語データのリスト + ---1. キー名, 2. 英語(米国), 3. 日本語 + local localeStrings = { + {"avatar.old_version_warning", "For the best experience, playing with 1.20.1 or higher is recommended!", "生徒さんとより良い時間を過ごすためにバージョン1.20.1以上でのプレイをおすすめします!"}; + {"avatar.zombies_mode.enable", "Enabled Zombies mode.", "Zombiesモードを有効にしました。"}; + {"avatar.zombies_mode.already_enabled", "Already enabled Zombies mode.", "Zombiesモードは既に有効化されています。"}; + {"avatar.zombies_mode.disable", "Disabled Zombies mode.", "Zombiesモードを無効にしました。"}; + {"avatar.zombies_mode.already_disabled", "Already disabled Zombies mode.", "Zombiesモードは既に無効化されています。"}; + {"action_wheel.toggle_off", "off", "オフ"}; + {"action_wheel.toggle_on", "on", "オン"}; + {"action_wheel.main.action_1.title", "Change costume: ", "衣装を変更:"}; + {"action_wheel.main.action_1.unavailable", "There is no costume available.", "利用可能な衣装はありません。"}; + {"action_wheel.main.action_1.done_first", "Changed costume to §b", "衣装を§b"}; + {"action_wheel.main.action_1.done_last", "§r.", "§rに変更しました。"}; + {"action_wheel.main.action_2.title", "Change display name: ", "表示名を変更:"}; + {"action_wheel.main.action_2.title_2", "Show club name: ", "部活名を表示:"}; + {"action_wheel.main.action_2.done_first", "Changed display name to §b", "表示名を§b"}; + {"action_wheel.main.action_2.done_last", "§r.", "§rに変更しました。"}; + {"action_wheel.main.action_3.title", "Show armors: ", "防具を表示:"}; + {"action_wheel.main.action_4.title", "Show weapon models in first person: ", "一人称視点で武器モデルを表示:"}; + {"action_wheel.main.action_5.title", "Amount of particles in Ex skill frame: ", "Exスキルフレームのパーティクルの量:"}; + {"action_wheel.main.action_5.option_1", "Standard", "標準"}; + {"action_wheel.main.action_5.option_2", "Minimum", "少なめ"}; + {"action_wheel.main.action_5.option_3", "None", "なし"}; + {"action_wheel.main.action_5.option_4", "Hide Ex skill frame", "スキルフレーム非表示"}; + {"action_wheel.main.action_5.done_first", "Changed amount of particles in Ex skill frame to§b", "Exスキルフレームのパーティクルの量を§b"}; + {"action_wheel.main.action_5.done_last", "§r.", "§rに変更しました。"}; + {"action_wheel.main.action_6.title", "Replace vehicle models: ", "乗り物のモデルを置き換え:"}; + {"action_wheel.main.action_6.unavailable", "This option is unavailable for this character.", "この生徒さんでは利用できません。"}; + {"action_wheel.main.action_7.title_1", "Check for new FBAC Updates ", "FBACアップデートの確認"}; + {"action_wheel.main.action_7.title_2", "(Left-click)", "(左クリック)"}; + {"action_wheel.main.action_7.title_3", "Copy URL for the latest FBAC ", "最新FBACバージョンのURLをコピー"}; + {"action_wheel.main.action_7.title_4", "(Right-click)", "(右クリック)"}; + {"action_wheel.main.action_7.networking_api", "To enable update checking, you need to allow Figura's Networking and put \"api.github.com\" in the Network Filter from Figura settings!", "アップデート確認機能を有効にするにはFiguraの設定より、FiguraのNetworkingの使用を許可し、\"api.github.com\"を許可リストに入れる必要があります!"}; + {"action_wheel.main.action_7.ongoing", "Checking for updates is ongoing. Please DO NOT click repeatedly!", "現在アップデートの確認中です。連打しないでください!"}; + {"action_wheel.main.action_7.copied", "Coped the link to the latest FBAC to your clipboard. Please open the link in your browser.", "最新のFBACへのリンクをクリップボードにコピーしました。ブラウザでリンクを開いてください。"}; + {"action_wheel.main.action_7.cannot_check_latest", "Cannot get the link because cannot check the latest FBAC.", "FBACの最新バージョンを確認できないため、リンクを取得できません。"}; + {"action_wheel.gui.bubble_guide.title", "§0Bubble emote guide", "§0吹き出しエモートガイド"}; + {"action_wheel.gui.ex_skill_guide.title", "§0Ex skill guide", "§0Exスキルガイド"}; + {"action_wheel.gui.ex_skill_guide.key_pre", "Press \"", "\""}; + {"action_wheel.gui.ex_skill_guide.key_post", "\"key to play", "\"キーで再生"}; + {"action_wheel.gui.update_check.checking", "Checking for updates...", "アップデートを確認中..."}; + {"action_wheel.gui.update_check.latest", "No FBAC update available", "最新のFBACを使用中です"}; + {"action_wheel.gui.update_check.update_available", "New FBAC update is available: ", "FBACのアップデートが利用可能です:"}; + {"action_wheel.gui.update_check.error_not_allowed", "Failed to check for updates - Networking API not allowed", "アップデート確認失敗 - ネットワーキング機能が不許可"}; + {"action_wheel.gui.update_check.error_network_err", "Failed to check for updates - Network error", "アップデート確認失敗 - ネットワークエラー"}; + {"action_wheel.gui.update_check.error_request_failed", "Failed to check for updates - Request failure ", "アップデート確認失敗 - リクエスト失敗 "}; + {"action_wheel.gui.update_check.error_invalid_json_syntax", "Failed to check for updates - Json parsing failure", "アップデート確認失敗 - リクエスト解析失敗"}; + {"action_wheel.gui.update_check.error_invalid_json", "Failed to check for updates - Unexpected Request", "アップデート確認失敗 - 予期しないリクエスト"}; + {"key_name.ex_skill", "Ex Skill", "Exスキル"}; + {"key_name.ex_skill_sub", "Sub Ex Skill", "サブExスキル"}; + {"key_name.bubble_1", "Bubble: Good", "吹き出し:いいね"}; + {"key_name.bubble_2", "Bubble: Heart", "吹き出し:ハート"}; + {"key_name.bubble_3", "Bubble: Note", "吹き出し:音符"}; + {"key_name.bubble_4", "Bubble: Question", "吹き出し:はてな"}; + {"key_name.bubble_5", "Bubble: Sweat", "吹き出し:汗"}; + {"key_bind.ex_skill.unavailable", "You cannot do this now.", "今は再生できません。"}; + {"key_bind.ex_skill.unavailable_firstperson", "You cannot do this in first person perspective.", "一人称視点では再生できません。"}; + } + + for _, localeSet in ipairs(localeStrings) do + instance.localeData.en_us[localeSet[1]] = localeSet[2] + instance.localeData.ja_jp[localeSet[1]] = localeSet[3] + end + + return instance + end; + + ---初期化関数 + ---@param self Locale + init = function (self) + AvatarModule.init(self) + + self.localeData.en_us["nameplate.club_name"] = self.parent.characterData.basic.clubName.en_us + self.localeData.ja_jp["nameplate.club_name"] = self.parent.characterData.basic.clubName.ja_jp + + if host:isHost() then + for index, exSkill in ipairs(self.parent.characterData.exSkill) do + self.localeData.en_us["action_wheel.gui.ex_skill_guide.ex_skill_"..index..".name"] = exSkill.name.en_us + self.localeData.ja_jp["action_wheel.gui.ex_skill_guide.ex_skill_"..index..".name"] = exSkill.name.ja_jp + end + for _, costume in ipairs(self.parent.characterData.costume.costumes) do + self.localeData.en_us["costume."..costume.name] = costume.displayName.en_us + self.localeData.ja_jp["costume."..costume.name] = costume.displayName.ja_jp + end + end + end; + + ---翻訳キーに対する訳文を返す。設定言語が存在しない場合は英語の文が返される。また、指定したキーの訳が無い場合は英語->キーそのままが返される。 + ---@param self Locale + ---@param key string 翻訳キー + ---@return string translatedString 翻訳キーに対する翻訳データ。設定言語での翻訳が存在しない場合は英文が返される。英文すら存在しない場合は翻訳キーがそのまま返される。 + getLocale = function (self, key) + local activeLanguage = client:getActiveLang() + return (self.localeData[activeLanguage] ~= nil and self.localeData[activeLanguage][key] ~= nil) and self.localeData[activeLanguage][key] or (self.localeData.en_us[key] and self.localeData.en_us[key] or key) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/nameplate.lua b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/nameplate.lua new file mode 100644 index 0000000..1db7e24 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/nameplate.lua @@ -0,0 +1,77 @@ +---@class (exact) Nameplate : AvatarModule プレイヤーの表示名を制御するクラス +---@field public currentName integer 現在の表示名:1. プレイヤー名, 2. 名のみ(英語), 3. 名のみ(日本語), 4. 名性(英語), 5. 性名(英語), 6. 性名(日本語) +---@field public shouldShowClubName boolean 部活名を表示するかどうか +---@field package localePrev string 前ティックの設定言語 +---@field public getName fun(self: Nameplate, typeId: integer): string 指定されたtypeIdでの表示名を返す +---@field public setName fun(self: Nameplate, typeId: integer, shouldShowClubName: boolean) 入力された設定で表示名を設定する + +Nameplate = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Nameplate + new = function (parent) + ---@type Nameplate + local instance = Avatar.instantiate(Nameplate, AvatarModule, parent) + + instance.currentName = instance.parent.config:loadConfig("PRIVATE", "name", 1) + instance.shouldShowClubName = instance.parent.config:loadConfig("PRIVATE", "showClubName", false) + instance.localePrev = client:getActiveLang() + + return instance + end; + + ---指定されたtypeIdでの表示名を返す。 + ---@param self Nameplate + ---@param typeId integer 表示名の種類:1. プレイヤー名, 2. 名のみ(英語), 3. 名のみ(日本語), 4. 名性(英語), 5. 性名(英語), 6. 性名(日本語) + ---@return string displayName 指定されたtypeIdでの表示名 + getName = function (self, typeId) + local displayName = typeId == 1 and player:getName() or ((typeId == 2 or typeId == 4) and self.parent.characterData.basic.firstName.en_us or (typeId == 5 and self.parent.characterData.basic.lastName.en_us or (typeId == 3 and self.parent.characterData.basic.firstName.ja_jp or self.parent.characterData.basic.lastName.ja_jp))) + if typeId >= 4 then + displayName = displayName.." "..(typeId == 4 and self.parent.characterData.basic.lastName.en_us or (typeId == 5 and self.parent.characterData.basic.firstName.en_us or self.parent.characterData.basic.firstName.ja_jp)) + end + return displayName + end; + + ---入力された設定で表示名を設定する。 + ---@param self Nameplate + ---@param typeId integer 表示名の種類:1. プレイヤー名, 2. 名のみ(英語), 3. 名のみ(日本語), 4. 名性(英語), 5. 性名(英語), 6. 性名(日本語) + ---@param shouldShowClubName boolean 部活名を表示するかどうか + setName = function (self, typeId, shouldShowClubName) + local date = client:getDate() + local displayName = self:getName(typeId)..((typeId >= 2 and date.month == self.parent.characterData.basic.birth.month and date.day == self.parent.characterData.basic.birth.day) and " :cake:" or "") + nameplate.ALL:setText(displayName) + if typeId >= 2 and shouldShowClubName then + nameplate.ENTITY:setText(displayName.."\n§7"..self.parent.locale:getLocale("nameplate.club_name")) + end + self.currentName = typeId + self.shouldShowClubName = shouldShowClubName + end; + + ---初期化関数 + ---@param self Nameplate + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + local locale = client:getActiveLang() + if locale ~= self.localePrev then + if self.shouldShowClubName then + self:setName(self.currentName, true) + end + self.localePrev = locale + end + end) + + events.RENDER:register(function (delta, context) + if context ~= "PAPERDOLL" then + nameplate.ENTITY:setPivot(self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.UpperBody.Body.NameplateAnchor):sub(player:getPos(delta)):add(0, self.parent.barrier.isBarrierVisible and 1.095 or 0.895, 0)) + else + nameplate.ENTITY:setPivot() + end + end) + + if self.currentName >= 2 then + self:setName(self.currentName, self.shouldShowClubName) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/physics.lua b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/physics.lua new file mode 100644 index 0000000..0b17e3f --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/physics.lua @@ -0,0 +1,199 @@ +---@class (exact) Physics : AvatarModule 物理演算を制御するクラス +---@field public velocityData number[][] 速度データ:1. 頭前後, 2. 上下, 3. 頭左右, 4. 頭角速度, 5. 体前後, 6. 体左右, 7. 体角速度 +---@field public velocityAverage number[][] 速度の平均値:1. 頭前後, 2. 上下, 3. 頭左右, 4. 頭角速度, 5. 体前後, 6. 体左右, 7. 体角速度 +---@field package directionPrev number[] 前ティックのdirectionテーブル +---@field public getValueBetweenTicks fun(tickData: number[], delta: number): number 2つのティックデータの間からレンダーのデルタ値を加味した値を返す +---@field package decomposeHorizontalVelocity fun(self: Physics, direction: number, index: integer): number, number, number 速度を指定された方向から見て前後方向、左右方向に分解する +---@field package getPhysicRot fun(self: Physics, physicData: BlueArchiveCharacter.PhysicCoreData, delta: number): number 物理演算で計算した角度を返す +---@field public enable fun(self: Physics) 物理演算を初期化し、有効にする +---@field public disable fun(self: Physics) 物理演算を無効にする。物理演算で管理していたモデルの回転をリセットする + +Physics = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Physics + new = function (parent) + ---@type Physics + local instance = Avatar.instantiate(Physics, AvatarModule, parent) + + instance.velocityData = {{}, {}, {}, {}, {}, {}, {}} + instance.velocityAverage = {{0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}} + instance.directionPrev = {} + + return instance + end; + + ---2つのティックデータの間からレンダーのデルタ値を加味した値を返す。 + ---@param tickData number[] ティックデータ:1. 前ティック, 2. 現ティック + ---@param delta number デルタ値 + ---@return number deltaValue 2つのティックデータの間からデルタ値で補完した値 + getValueBetweenTicks = function (tickData, delta) + return tickData[1] + (tickData[2] - tickData[1]) * delta + end; + + ---速度を指定された方向から見て前後方向、左右方向に分解する。 + ---@param self Physics + ---@param direction number 基準にする方向 + ---@param index integer データ管理用のインデックス番号(呼び出しの度に異なるインデックス番号になるようにする) + ---@return number velocityFront 指定された方向から見た前後方向の速度 + ---@return number velocityRight 指定された方向から見た左右方向の速度 + ---@return number velocityRot 指定された方向を基準とした角速度 + decomposeHorizontalVelocity = function (self, direction, index) + local velocity = player:getVelocity() + if self.directionPrev[index] == nil then + self.directionPrev[index] = 0 + end + local velocityRot = math.deg(math.atan2(velocity.z, velocity.x)) + velocityRot = velocityRot < 0 and 360 + velocityRot or velocityRot + local directionAbsFront = math.abs(velocityRot - (direction) % 360) + directionAbsFront = directionAbsFront > 180 and 360 - directionAbsFront or directionAbsFront + local directionAbsRight = math.abs(velocityRot - (direction + 90) % 360) + directionAbsRight = directionAbsRight > 180 and 360 - directionAbsRight or directionAbsRight + local directionDelta = direction - self.directionPrev[index] + directionDelta = directionDelta > 180 and (360 - directionDelta) * 20 or (directionDelta < -180 and (360 + directionDelta) * 20 or directionDelta * 20) + self.directionPrev[index] = direction + return math.sqrt(velocity.x ^ 2 + velocity.z ^ 2) * math.cos(math.rad(directionAbsFront)), math.sqrt(velocity.x ^ 2 + velocity.z ^ 2) * math.cos(math.rad(directionAbsRight)), directionDelta + end; + + ---物理演算で計算した角度を返す。 + ---@param self Physics + ---@param physicData BlueArchiveCharacter.PhysicCoreData 物理演算データ + ---@param delta number デルタ値 + ---@return number physicDirection 物理演算で計算したモデルの角度 + getPhysicRot = function (self, physicData, delta) + local rot = physicData.neutral + local waterMultiplayer = player:isUnderwater() and 2 or 1 + if physicData.headX ~= nil then + rot = rot + math.clamp(self.getValueBetweenTicks(self.velocityAverage[1], delta) * physicData.headX.multiplayer * waterMultiplayer, physicData.headX.min - physicData.neutral, physicData.headX.max - physicData.neutral) + end + if physicData.headZ ~= nil then + rot = rot + math.clamp(self.getValueBetweenTicks(self.velocityAverage[3], delta) * physicData.headZ.multiplayer * waterMultiplayer, physicData.headZ.min - physicData.neutral, physicData.headZ.max - physicData.neutral) + end + if physicData.headRot ~= nil then + rot = rot + math.clamp(math.abs(self.getValueBetweenTicks(self.velocityAverage[4], delta)) * -1 * physicData.headRot.multiplayer, physicData.headRot.min - physicData.neutral, physicData.headRot.max - physicData.neutral) + end + if physicData.bodyX ~= nil then + rot = rot + math.clamp(self.getValueBetweenTicks(self.velocityAverage[5], delta) * physicData.bodyX.multiplayer * waterMultiplayer, physicData.bodyX.min - physicData.neutral, physicData.bodyX.max - physicData.neutral) + end + if physicData.bodyY ~= nil then + rot = rot + math.clamp(self.getValueBetweenTicks(self.velocityAverage[2], delta) * physicData.bodyY.multiplayer * waterMultiplayer, physicData.bodyY.min - physicData.neutral, physicData.bodyY.max - physicData.neutral) + end + if physicData.bodyZ ~= nil then + rot = rot + math.clamp(self.getValueBetweenTicks(self.velocityAverage[player:getVehicle() == nil and 6 or 3], delta) * physicData.bodyZ.multiplayer * waterMultiplayer, physicData.bodyZ.min - physicData.neutral, physicData.bodyZ.max - physicData.neutral) + end + if physicData.bodyRot ~= nil then + rot = rot + math.clamp(-math.abs(self.getValueBetweenTicks(self.velocityAverage[7], delta)) * physicData.bodyRot.multiplayer, physicData.bodyRot.min - physicData.neutral, physicData.bodyRot.max - physicData.neutral) + end + rot = math.clamp(rot, physicData.min, physicData.max) + if physicData.headRotMultiplayer ~= nil then + rot = rot + math.deg(math.asin(player:getLookDir().y)) * physicData.headRotMultiplayer + end + if physicData.sneakOffset ~= nil and player:isCrouching() then + rot = rot + physicData.sneakOffset + end + return rot + end; + + ---物理演算を初期化し、有効にする。 + ---@param self Physics + enable = function (self) + self.velocityData = {{}, {}, {}, {}, {}, {}, {}} + self.velocityAverage = {{0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}} + self.directionPrev = {} + + if events.TICK:getRegisteredCount("physics_tick") == 0 then + events.TICK:register(function () + if not client:isPaused() then + local lookDir = player:getLookDir() + local velocityHeadFront, velocityHeadRight, velocityHeadRot = self:decomposeHorizontalVelocity(math.deg(math.atan2(lookDir.z, lookDir.x)), 1) + local velocityAverage = {self.velocityAverage[1][2], self.velocityAverage[2][2], self.velocityAverage[3][2], self.velocityAverage[4][2], self.velocityAverage[5][2], self.velocityAverage[6][2], self.velocityAverage[7][2]} + local velocityY = player:getVelocity().y + velocityAverage[1] = (#self.velocityData[1] * velocityAverage[1] + velocityHeadFront) / (#self.velocityData[1] + 1) + table.insert(self.velocityData[1], velocityHeadFront) + velocityAverage[2] = (#self.velocityData[2] * velocityAverage[2] + velocityY) / (#self.velocityData[2] + 1) + table.insert(self.velocityData[2], velocityY) + velocityAverage[3] = (#self.velocityData[3] * velocityAverage[3] + velocityHeadRight) / (#self.velocityData[3] + 1) + table.insert(self.velocityData[3], velocityHeadRight) + velocityAverage[4] = (#self.velocityData[4] * velocityAverage[4] + velocityHeadRot) / (#self.velocityData[4] + 1) + table.insert(self.velocityData[4], velocityHeadRot) + local velocityBodyFront, velocityBodyRight, velocityBodyRot = self:decomposeHorizontalVelocity((player:getBodyYaw() + models.models.main.Avatar.UpperBody:getTrueRot().y - 90) % 360 - 180, 2) + velocityAverage[5] = (#self.velocityData[5] * velocityAverage[5] + velocityBodyFront) / (#self.velocityData[5] + 1) + table.insert(self.velocityData[5], velocityBodyFront) + velocityAverage[6] = (#self.velocityData[6] * velocityAverage[6] + velocityBodyRight) / (#self.velocityData[6] + 1) + table.insert(self.velocityData[6], velocityBodyRight) + velocityAverage[7] = (#self.velocityData[7] * velocityAverage[7] + velocityBodyRot) / (#self.velocityData[7] + 1) + table.insert(self.velocityData[7], velocityBodyRot) + --古いデータの切り捨て + for index, velocityTable in ipairs(self.velocityData) do + if #velocityTable > 5 then + velocityAverage[index] = (#velocityTable * velocityAverage[index] - velocityTable[1]) / (#velocityTable - 1) + table.remove(velocityTable, 1) + end + table.insert(self.velocityAverage[index], velocityAverage[index]) + table.remove(self.velocityAverage[index], 1) + end + end + end, "physics_tick") + + events.RENDER:register(function (delta) + local playerPose = player:getPose() + local isHorizontal = playerPose == "SWIMMING" or playerPose == "FALL_FLYING" + + for _, physicData in ipairs(self.parent.characterData.physics.physicData) do + for _, modelPart in ipairs(physicData.models) do + if modelPart:getVisible() then + local rot = vectors.vec3() + if physicData.x ~= nil then + if isHorizontal and physicData.x.horizontal then + rot.x = self:getPhysicRot(physicData.x.horizontal, delta) + elseif not isHorizontal and physicData.x.vertical then + rot.x = self:getPhysicRot(physicData.x.vertical, delta) + end + end + if physicData.y ~= nil then + if isHorizontal and physicData.y.horizontal then + rot.y = self:getPhysicRot(physicData.y.horizontal, delta) + elseif not isHorizontal and physicData.y.vertical then + rot.y = self:getPhysicRot(physicData.y.vertical, delta) + end + end + if physicData.z ~= nil then + if isHorizontal and physicData.z.horizontal then + rot.z = self:getPhysicRot(physicData.z.horizontal, delta) + elseif not isHorizontal and physicData.z.vertical then + rot.z = self:getPhysicRot(physicData.z.vertical, delta) + end + end + modelPart:setRot(rot) + if self.parent.characterData.physics.callbacks ~= nil and self.parent.characterData.physics.callbacks.onPhysicPerformed ~= nil then + self.parent.characterData.physics.callbacks.onPhysicPerformed(self.parent.characterData, modelPart) + end + end + end + end + end, "physics_render") + end + end; + + ---物理演算を無効にする。物理演算で管理していたモデルの回転をリセットする。 + ---@param self Physics + disable = function (self) + events.TICK:remove("physics_tick") + events.RENDER:remove("physics_render") + for _, physicData in ipairs(self.parent.characterData.physics.physicData) do + local initialRot = vectors.vec3() + if physicData.x ~= nil and physicData.x.vertical ~= nil then + initialRot.x = physicData.x.vertical.neutral + end + if physicData.y ~= nil and physicData.y.vertical ~= nil then + initialRot.y = physicData.y.vertical.neutral + end + if physicData.z ~= nil and physicData.z.vertical ~= nil then + initialRot.z = physicData.z.vertical.neutral + end + for _, modelPart in ipairs(physicData.models) do + modelPart:setRot(initialRot) + end + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/placement_object/placement_object.lua b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/placement_object/placement_object.lua new file mode 100644 index 0000000..ee9151d --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/placement_object/placement_object.lua @@ -0,0 +1,231 @@ +---@class (exact) PlacementObject : SpawnObject 単一の設置物を管理するクラス +---@field package object ModelPart インスタンスで制御するオブジェクト +---@field public index integer 設置物データのインデックス番号。設置物のデータを参照するときに使用する。 +---@field package boundingBox Vector3 設置物の当たり判定 +---@field package gravity number この設置物に働く重力の大きさ +---@field package hasFireResistance boolean この設置物に炎耐性を付けるかどうか +---@field public removeReason PlacementObjectManager.RemoveReason この設置物のインスタンスが破棄される理由 +---@field package modelOffsetPos Vector3 設置物"モデル"の位置オフセット値 +---@field package offsetPos Vector3 設置物の中心座標のオフセット値 +---@field public currentPos Vector3 設置物の現在位置 +---@field package nextPos Vector3 設置物の次ティックの位置 +---@field package fallingSpeed number 設置物の落下速度 +---@field package isOnGround boolean 設置物が接地しているかどうか +---@field public new fun(parent: Avatar, model: ModelPart, index: integer, data: BlueArchiveCharacter.PlacementObjectStruct, pos: Vector3, rot: number): PlacementObject コンストラクター + +PlacementObject = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@param index integer 設置物データのインデックス番号。設置物のデータを参照するときに使用する。 + ---@param pos Vector3 設置物を設置するワールド座標 + ---@param rot number 設置物のワールド方向 + ---@return PlacementObject + new = function (parent, index, pos, rot) + ---@type PlacementObject + local instance = Avatar.instantiate(PlacementObject, SpawnObject, parent) + + instance.index = index + instance.object = instance.parent.characterData.placementObjects[instance.index].placementMode == "COPY" and instance.parent.characterData.placementObjects[instance.index].model:copy(instance.uuid) or instance.parent.characterData.placementObjects[instance.index].model + instance.boundingBox = instance.parent.characterData.placementObjects[instance.index].boundingBox.size:copy():scale(0.0625) + instance.gravity = instance.parent.characterData.placementObjects[instance.index].gravity ~= nil and instance.parent.characterData.placementObjects[instance.index].gravity or 1 + instance.hasFireResistance = instance.parent.characterData.placementObjects[instance.index].hasFireResistance ~= nil and instance.parent.characterData.placementObjects[instance.index].hasFireResistance or false + instance.removeReason = "REMOVED_BY_SCRIPTS" + instance.modelOffsetPos = vectors.vec3() + instance.offsetPos = vectors.vec3() + instance.currentPos = pos + instance.nextPos = instance.currentPos + instance.fallingSpeed = 0 + instance.isOnGround = false + + instance.callbacks = { + ---@param self PlacementObject + onInit = function (self) + if self.parent.characterData.placementObjects[self.index].placementMode == "COPY" then + models.script_placement_object:addChild(self.object) + end + local objectOffset = vectors.vec3() + if self.parent.characterData.placementObjects[self.index].boundingBox.offsetPos ~= nil then + objectOffset = self.parent.characterData.placementObjects[self.index].boundingBox.offsetPos:copy():scale(-0.0625) + end + if self.gravity >= 0 then + self.modelOffsetPos = objectOffset:copy():add(0, 0.075, 0) + else + self.modelOffsetPos = objectOffset:copy():add(0, -0.075, 0) + end + --self.objectModel:setPos(self.currentPos:copy():add(self.modelOffsetPos):scale(16)) + self.object:setRot(0, rot, 0) + self.object:setVisible(true) + if self.parent.characterData.placementObjects[self.index].callbacks ~= nil and self.parent.characterData.placementObjects[self.index].callbacks.onInit ~= nil then + self.parent.characterData.placementObjects[self.index].callbacks.onInit(self.parent.characterData, self) + end + end; + + ---@param self PlacementObject + onDeinit = function (self) + if self.parent.characterData.placementObjects[self.index].placementMode == "COPY" then + models.script_placement_object:removeChild(self.object) + self.object:remove() + else + self.object:setVisible(false) + end + if self.parent.characterData.placementObjects[self.index].callbacks ~= nil and self.parent.characterData.placementObjects[self.index].callbacks.onDeinit ~= nil then + self.parent.characterData.placementObjects[self.index].callbacks.onDeinit(self.parent.characterData, self) + end + end; + + ---@param self PlacementObject + onTick = function (self) + --設置物の位置を強制更新 + self.currentPos = self.nextPos + self.object:setPos(self.currentPos:copy():add(self.modelOffsetPos):scale(16)) + + --当たり判定同士が重複しているか確認 + local boundingBoxStartPos = vectors.vec3(self.currentPos.x - self.boundingBox.x / 2, self.currentPos.y, self.currentPos.z - self.boundingBox.z / 2) + local boundingBoxEndPos = vectors.vec3(self.currentPos.x + self.boundingBox.x / 2, self.currentPos.y + self.boundingBox.y, self.currentPos.z + self.boundingBox.z / 2) + local boundingBoxCenter = boundingBoxEndPos:copy():sub(boundingBoxStartPos):scale(0.5):add(boundingBoxStartPos) + for z = math.floor(boundingBoxStartPos.z), math.floor(boundingBoxEndPos.z) do + for y = math.floor(boundingBoxStartPos.y), math.floor(boundingBoxEndPos.y) do + for x = math.floor(boundingBoxStartPos.x), math.floor(boundingBoxEndPos.x) do + for _, collisionBox in ipairs( world.getBlockState(x, y, z):getCollisionShape()) do + local collisionStartPos = collisionBox[1]:copy():add(x, y, z) + local collisionEndPos = collisionBox[2]:copy():add(x, y, z) + local collisionBoxCenter = collisionStartPos:copy():add(collisionEndPos:copy():sub(collisionStartPos):scale(0.5)) + if math.abs(collisionBoxCenter.x - boundingBoxCenter.x) < ((collisionEndPos.x - collisionStartPos.x) + (boundingBoxEndPos.x - boundingBoxStartPos.x)) / 2 and math.abs(collisionBoxCenter.y - boundingBoxCenter.y) < ((collisionEndPos.y - collisionStartPos.y) + (boundingBoxEndPos.y - boundingBoxStartPos.y)) / 2 and math.abs(collisionBoxCenter.z - boundingBoxCenter.z) < ((collisionEndPos.z - collisionStartPos.z) + (boundingBoxEndPos.z - boundingBoxStartPos.z)) / 2 then + self.removeReason = "OVERLAPPED" + self.shouldDeinit = true + return + end + end + end + end + end + + --落下速度を更新 + local fluidTags = world.getBlockState(self.currentPos):getFluidTags() + if fluidTags[2] == "c:water" then + if self.gravity >= 0 then + self.fallingSpeed = math.max(self.fallingSpeed - 0.1 * self.gravity, 0.1 * self.gravity) + else + self.fallingSpeed = math.min(self.fallingSpeed - 0.1 * self.gravity, 0.1 * self.gravity) + end + elseif fluidTags[2] == "c:lava" then + if self.gravity >= 0 then + self.fallingSpeed = math.max(self.fallingSpeed - 0.1 * self.gravity, 0.02 * self.gravity) + else + self.fallingSpeed = math.min(self.fallingSpeed - 0.1 * self.gravity, 0.02 * self.gravity) + end + else + if self.gravity >= 0 then + self.fallingSpeed = math.min(self.fallingSpeed + 0.035 * self.gravity, 3.575 * self.gravity) + else + self.fallingSpeed = math.max(self.fallingSpeed + 0.035 * self.gravity, 3.575 * self.gravity) + end + end + self.nextPos = self.currentPos:copy():add(0, self.fallingSpeed * -1, 0) + + --現ティックと次ティックから直方体を算出 + local nextBoxStartPos = vectors.vec3() + local nextBoxEndPos = vectors.vec3() + if self.gravity >= 0 then + nextBoxStartPos = vectors.vec3(self.currentPos.x - self.boundingBox.x / 2, math.min(self.currentPos.y, self.currentPos.y - self.fallingSpeed), self.currentPos.z - self.boundingBox.z / 2) + nextBoxEndPos = vectors.vec3(self.currentPos.x + self.boundingBox.x / 2, math.max(self.currentPos.y, self.currentPos.y - self.fallingSpeed), self.currentPos.z + self.boundingBox.z / 2) + else + nextBoxStartPos = vectors.vec3(self.currentPos.x - self.boundingBox.x / 2, math.min(self.currentPos.y, self.currentPos.y - self.fallingSpeed) + self.boundingBox.y, self.currentPos.z - self.boundingBox.z / 2) + nextBoxEndPos = vectors.vec3(self.currentPos.x + self.boundingBox.x / 2, math.max(self.currentPos.y, self.currentPos.y - self.fallingSpeed) + self.boundingBox.y, self.currentPos.z + self.boundingBox.z / 2) + end + local nextBoxCenter = nextBoxStartPos:copy():add(nextBoxEndPos:copy():sub(nextBoxStartPos):scale(0.5)) + + --直方体と重なるブロック座標を全て算出 + local collisionDetected = false + if self.gravity >= 0 then + local collisionYPos = math.floor(nextBoxStartPos.y) + for y = math.floor(nextBoxEndPos.y), math.floor(nextBoxStartPos.y) - 1, -1 do + for z = math.floor(nextBoxStartPos.z), math.floor(nextBoxEndPos.z) do + for x = math.floor(nextBoxStartPos.x), math.floor(nextBoxEndPos.x) do + for _, collisionBox in ipairs( world.getBlockState(x, y, z):getCollisionShape()) do + local collisionStartPos = collisionBox[1]:copy():add(x, y, z) + local collisionEndPos = collisionBox[2]:copy():add(x, y, z) + local collisionBoxCenter = collisionStartPos:copy():add(collisionEndPos:copy():sub(collisionStartPos):scale(0.5)) + if math.abs(collisionBoxCenter.x - nextBoxCenter.x) < ((collisionEndPos.x - collisionStartPos.x) + (nextBoxEndPos.x - nextBoxStartPos.x)) / 2 and math.abs(collisionBoxCenter.y - nextBoxCenter.y) < ((collisionEndPos.y - collisionStartPos.y) + (nextBoxEndPos.y - nextBoxStartPos.y)) / 2 and math.abs(collisionBoxCenter.z - nextBoxCenter.z) < ((collisionEndPos.z - collisionStartPos.z) + (nextBoxEndPos.z - nextBoxStartPos.z)) / 2 then + if collisionEndPos.y > self.nextPos.y then + self.nextPos.y = collisionEndPos.y + collisionYPos = y + self.fallingSpeed = 0 + collisionDetected = true + end + end + end + end + end + if y == collisionYPos - 1 then + break + end + end + else + local collisionYPos = math.floor(nextBoxEndPos.y) + for y = math.floor(nextBoxStartPos.y), math.floor(nextBoxEndPos.y), 1 do + for z = math.floor(nextBoxStartPos.z), math.floor(nextBoxEndPos.z) do + for x = math.floor(nextBoxStartPos.x), math.floor(nextBoxEndPos.x) do + for _, collisionBox in ipairs( world.getBlockState(x, y, z):getCollisionShape()) do + local collisionStartPos = collisionBox[1]:copy():add(x, y, z) + local collisionEndPos = collisionBox[2]:copy():add(x, y, z) + local collisionBoxCenter = collisionStartPos:copy():add(collisionEndPos:copy():sub(collisionStartPos):scale(0.5)) + if math.abs(collisionBoxCenter.x - nextBoxCenter.x) < ((collisionEndPos.x - collisionStartPos.x) + (nextBoxEndPos.x - nextBoxStartPos.x)) / 2 and math.abs(collisionBoxCenter.y - nextBoxCenter.y) < ((collisionEndPos.y - collisionStartPos.y) + (nextBoxEndPos.y - nextBoxStartPos.y)) / 2 and math.abs(collisionBoxCenter.z - nextBoxCenter.z) < ((collisionEndPos.z - collisionStartPos.z) + (nextBoxEndPos.z - nextBoxStartPos.z)) / 2 then + if collisionStartPos.y < self.nextPos.y + self.boundingBox.y then + self.nextPos.y = collisionStartPos.y - self.boundingBox.y + collisionYPos = y + self.fallingSpeed = 0 + collisionDetected = true + end + end + end + end + end + if y == collisionYPos + 1 then + break + end + end + end + if collisionDetected and not self.isOnGround and self.parent.characterData.placementObjects[self.index].callbacks ~= nil and self.parent.characterData.placementObjects[self.index].callbacks.onGround ~= nil then + self.parent.characterData.placementObjects[self.index].callbacks.onGround(self.parent.characterData, self) + end + self.isOnGround = collisionDetected + local nextBlock = world.getBlockState(self.nextPos) + local isNextBlockFire = false + for _, tag in ipairs(nextBlock:getTags()) do + if tag == "minecraft:fire" then + isNextBlockFire = true + break + end + end + if self.nextPos.y < -128 then + self.removeReason = "TOO_LOW" + self.shouldDeinit = true + elseif self.nextPos.y > 384 then + self.removeReason = "TOO_HIGH" + self.shouldDeinit = true + elseif not self.hasFireResistance and (nextBlock:getFluidTags()[2] == "c:lava" or isNextBlockFire) then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.fire.extinguish"), self.nextPos) + for _ = 0, self.boundingBox.x * self.boundingBox.y * self.boundingBox.z * 8 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:smoke"), vectors.vec3(self.nextPos.x + math.random() * self.boundingBox.x - self.boundingBox.x / 2, self.nextPos.y + math.random() * self.boundingBox.y, self.nextPos.z + math.random() * self.boundingBox.z - self.boundingBox.z / 2)) + end + self.removeReason = "BURNT" + self.shouldDeinit = true + end + if self.parent.characterData.placementObjects[self.index].callbacks ~= nil and self.parent.characterData.placementObjects[self.index].callbacks.onTick ~= nil then + self.parent.characterData.placementObjects[self.index].callbacks.onTick(self.parent.characterData, self) + end + end; + + ---@param self PlacementObject + onRender = function (self, delta, context) + self.object:setPos(self.nextPos:copy():sub(self.currentPos):scale(delta):add(self.currentPos):add(self.modelOffsetPos):scale(16)) + if self.parent.characterData.placementObjects[self.index].callbacks ~= nil and self.parent.characterData.placementObjects[self.index].callbacks.onRender ~= nil then + self.parent.characterData.placementObjects[self.index].callbacks.onRender(self.parent.characterData, self) + end + end + } + + return instance + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/placement_object/placement_object_manager.lua b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/placement_object/placement_object_manager.lua new file mode 100644 index 0000000..eee06b5 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/placement_object/placement_object_manager.lua @@ -0,0 +1,87 @@ +---設置物の設置モードの列挙型 +---@alias PlacementObjectManager.PlacementMode +---| "COPY" # コピーモード。BBアニメーションは使えないが、複数の設置物を設置可能。 +---| "MOVE" # 移動モード。同時に1つしか設置物を設置できないが、BBアニメーションが使える。 + +---設置物が削除された理由の列挙型 +---@alias PlacementObjectManager.RemoveReason +---| "REMOVED_BY_SCRIPTS" # スクリプトによって削除 +---| "OVERLAPPED" # 設置物がブロックと重なって削除 +---| "BURNT" # 炎に焼かれて削除 +---| "TOO_LOW" # 設置物のY座標が低過ぎて削除 +---| "TOO_HIGH" # 設置物のY座標が高過ぎて削除 + +---@class (exact) PlacementObjectManager : SpawnObjectManager 設置物を管理するマネージャークラス +---@field public objects PlacementObject[] インスタンスで制御するオブジェクト +---@field public getObject fun(self: PlacementObjectManager, index: integer, pos: Vector3, rot: number): PlacementObject 設置物のインスタンスを生成して返す +---@field public spawn fun(self: PlacementObjectManager, index: integer, pos: Vector3, rot: number) 設置物を設置する +---@field public applyFunc fun(self: PlacementObjectManager, index: integer, func: fun(object: PlacementObject, i: integer)) 設置済み設置物の指定した設置物データのインデックス番号のみに関数を適用する + +PlacementObjectManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return PlacementObjectManager + new = function (parent) + ---@type PlacementObjectManager + local instance = Avatar.instantiate(PlacementObjectManager, SpawnObjectManager, parent) + + instance.managerName = "placement_object" + + return instance + end; + + ---初期化関数 + ---@param self PlacementObjectManager + init = function (self) + SpawnObjectManager.init(self) + + ---@diagnostic disable-next-line: discard-returns + models:newPart("script_placement_object", "World") + for _, data in ipairs(self.parent.characterData.placementObjects) do + if data.placementMode == "MOVE" then + data.model = data.model:moveTo(models.script_placement_object) + data.model:setVisible(false) + end + end + end; + + + ---設置物のインスタンスを生成して返す。 + ---@param self PlacementObjectManager + ---@param index integer 設置物データのインデックス番号 + ---@param pos Vector3 設置物を設置するワールド座標 + ---@param rot number 設置物を設置するワールド方向(Y軸のみ) + ---@return PlacementObject instance 生成したインスタンス + getObject = function (self, index, pos, rot) + if self.parent.characterData.placementObjects[index].placementMode == "MOVE" then + for i, placementObject in ipairs(self.objects) do + if placementObject.index == index then + self:remove(i) + break + end + end + end + return PlacementObject.new(self.parent, index, pos, rot) + end; + + ---設置物を設置する。 + ---@param self PlacementObjectManager + ---@param index integer 設置物データのインデックス番号 + ---@param pos Vector3 設置物を設置するワールド座標 + ---@param rot number 設置物を設置するワールド方向(Y軸のみ) + spawn = function (self, index, pos, rot) + SpawnObjectManager.spawn(self, index, pos, rot) + end; + + ---設置済み設置物の、指定した設置物データのインデックス番号のみに関数を適用する。 + ---@param self PlacementObjectManager + ---@param index integer 関数実行対象の設置物データのインデックス番号 + ---@param func fun(object: PlacementObject, i: integer) 実行する関数 + applyFunc = function (self, index, func) + for i, obj in ipairs(self.objects) do + if obj.index == index then + func(obj, i) + end + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/portrait.lua b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/portrait.lua new file mode 100644 index 0000000..3d887aa --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/portrait.lua @@ -0,0 +1,32 @@ +---@class (exact) Portrait : HeadModelGenerator ポートレートのモデルを管理するクラス + +Portrait = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Portrait + new = function (parent) + ---@type Portrait + local instance = Avatar.instantiate(Portrait, HeadModelGenerator, parent) + + instance.processData = instance.parent.characterData.portrait + instance.parentName = "portrait" + instance.parentType = "Portrait" + + return instance + end; + + ---初期化関数 + ---@param self Portrait + init = function (self) + HeadModelGenerator.init(self) + end; + + ---頭モデルのコピーを生成する。 + ---@param self HeadBlock + generateHeadModel = function (self) + HeadModelGenerator.generateHeadModel(self) + if models.script_portrait.Head ~= nil then + models.script_portrait.Head.HeadRing:remove() + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/skirt.lua b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/skirt.lua new file mode 100644 index 0000000..48e97f8 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/skirt.lua @@ -0,0 +1,30 @@ +---@class Skirt : AvatarModule スカートを制御するクラス + +Skirt = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Skirt + new = function (parent) + ---@type Skirt + local instance = Avatar.instantiate(Skirt, AvatarModule, parent) + + return instance + end; + + ---初期化関数 + ---@param self AvatarModule + init = function (self) + AvatarModule.init(self) + + if self.parent.characterData.skirt.skirtModels ~= nil and #self.parent.characterData.skirt.skirtModels > 0 then + events.TICK:register(function () + local isCrouching = player:isCrouching() + for _, skirtModel in ipairs(self.parent.characterData.skirt.skirtModels) do + if skirtModel:getVisible() then + skirtModel:setRot(isCrouching and 30 or 0, 0, 0) + end + end + end) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/utils/compatibility_utils.lua b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/utils/compatibility_utils.lua new file mode 100644 index 0000000..237a6a6 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/utils/compatibility_utils.lua @@ -0,0 +1,169 @@ +---レジストリの種類を示す列挙型 +---@alias CompatibilityUtils.RegistryType +---| "BLOCK" # ブロック名 +---| "ITEM" # アイテム名 +---| "PARTICLE" # パーティクル名 +---| "SOUND" # サウンド名 + +---@class (exact) CompatibilityUtils : AvatarModule Minecraftのゲームバージョンが異なっていてもある程度互換性を確保するためのユーティリティクラス +---@field package registries {block: Minecraft.blockID[], item: Minecraft.itemID[], particle: Minecraft.particleID[], sound: Minecraft.soundID[]} ゲームから取得した全アイテム名を保持するテーブル +---@field package checkedTable {block: {[Minecraft.blockID]: boolean}, item: {[Minecraft.itemID]: boolean}, particle: {[Minecraft.particleID]: boolean}, sound: {[Minecraft.soundID]: boolean}} レジストリへの確認が済んでいるIDを保持するテーブル +---@field package find fun(self: CompatibilityUtils, registryType: CompatibilityUtils.RegistryType, target: string): boolean 指定されたターゲットがレジストリに登録されているかどうかを返す。 +---@field public checkBlock fun(self: CompatibilityUtils, block: Minecraft.blockID): Minecraft.blockID 指定されたブロックIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:dirt"を返す。 +---@field public checkItem fun(self: CompatibilityUtils, item: Minecraft.itemID): Minecraft.itemID 指定されたアイテムIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:barrier"を返す。 +---@field public checkParticle fun(self: CompatibilityUtils, particle: Minecraft.particleID): Minecraft.particleID 指定されたパーティクルIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:poof"を返す。 +---@field public checkSound fun(self: CompatibilityUtils, sound: Minecraft.soundID): Minecraft.soundID 指定されたサウンドIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:empty"を返す。 +---@field public getBlockParticleId fun(block: Minecraft.blockID): string ブロックの破片のパーティクルを示す文字列を返す。Minecraftのバージョン違いを吸収するための関数。 +---@field public getDustParticleId fun(color: Vector3, size: number): string dustパーティクルを示す文字列を返す。Minecraftのバージョン違いを吸収するための関数。 +---@field public setPostEffect fun(effect?: Minecraft.shaderName) renderer:setPostEffect()のラッパー関数。1.20.5でレンダーエフェクトが削除されたことによる対応。 + +CompatibilityUtils = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return CompatibilityUtils + new = function (parent) + ---@type CompatibilityUtils + local instance = Avatar.instantiate(CompatibilityUtils, AvatarModule, parent) + + instance.registries = {} + instance.checkedTable = { + block = {}; + item = {}; + particle = {}; + sound = {}; + } + + return instance + end; + + ---初期化関数 + ---@param self CompatibilityUtils + init = function (self) + AvatarModule.init(self) + + self.registries.block = client.getRegistry("minecraft:block") + self.registries.item = client.getRegistry("minecraft:item") + self.registries.particle = client.getRegistry("minecraft:particle_type") + self.registries.sound = client.getRegistry("minecraft:sound_event") + for name, _ in pairs(self.registries) do + table.sort(self.registries[name]) + end + self.checkedTable.block["minecraft:dirt"] = true + self.checkedTable.item["minecraft:barrier"] = true + self.checkedTable.particle["minecraft:poof"] = true + self.checkedTable.sound["minecraft:empty"] = true + if host:isHost() and client:getVersion() < "1.20.1" then + print(self.parent.locale:getLocale("avatar.old_version_warning")) + end + end; + + ---指定されたターゲットがレジストリに登録されているかどうかを返す。 + ---@param self CompatibilityUtils + ---@param registryType CompatibilityUtils.RegistryType 検索をかける対象のレジストリ + ---@param target string 検索対象名。"minecraft:"を抜かないこと。 + ---@return boolean idFound 指定されたターゲットがレジストリで見つかったかどうか + find = function (self, registryType, target) + ---リスト内の中央の要素(偶数の場合は中央から1つ左の要素)と指定されたターゲットのUnicode順を比較する。 + ---@param from integer リストの検索開始のインデックス番号 + ---@param to integer リストの検索終了のインスタンス番号(指定したインデックス番号の要素も検索に含む) + ---@return integer compareResult 比較結果。0は同じ文字列、1はターゲットの方が大きい、-1はターゲットの方が小さいことを表す。 + local function compareToCenterElement(from, to) + local centerIndex = math.floor((to - from) / 2) + from + if self.registries[registryType:lower()][centerIndex] < target then + return 1 + elseif self.registries[registryType:lower()][centerIndex] > target then + return -1 + else + return 0 + end + end + + local startIndex = 1 + local endIndex = #self.registries[registryType:lower()] + while startIndex < endIndex do + local compareResult = compareToCenterElement(startIndex, endIndex) + if compareResult == 1 then + startIndex = math.floor((endIndex - startIndex) / 2) + startIndex + 1 + elseif compareResult == -1 then + endIndex = math.floor((endIndex - startIndex) / 2) + startIndex + else + break + end + end + if startIndex == endIndex then + return compareToCenterElement(startIndex, endIndex) == 0 + else + return true + end + end; + + ---指定されたブロックIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:dirt"を返す。 + ---@param self CompatibilityUtils + ---@param block Minecraft.blockID 確認対象のブロックID + ---@param blockState string? ブロックステートを示す文字列 + ---@return Minecraft.blockID blockID レジストリに登録してある場合は確認対象のブロックIDをそのまま返し、未登録の場合は"minecraft:dirt"が返す。 + checkBlock = function (self, block, blockState) + if self.checkedTable.block[block] == nil then + self.checkedTable.block[block] = self:find("BLOCK", block) + end + local state = blockState ~= nil and blockState or "" + return self.checkedTable.block[block] and block..state or "minecraft:dirt" + end; + + ---指定されたアイテムIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:barrier"を返す。 + ---@param self CompatibilityUtils + ---@param item Minecraft.itemID 確認対象のアイテムID + ---@return Minecraft.itemID blockID レジストリに登録してある場合は確認対象のアイテムIDをそのまま返し、未登録の場合は"minecraft:barrier"が返す。 + checkItem = function (self, item) + if self.checkedTable.item[item] == nil then + self.checkedTable.item[item] = self:find("ITEM", item) + end + return self.checkedTable.item[item] and item or "minecraft:barrier" + end; + + ---指定されたパーティクルIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:poof"を返す。 + ---@param self CompatibilityUtils + ---@param particle Minecraft.particleID 確認対象のパーティクルID + ---@return Minecraft.particleID particleID レジストリに登録してある場合は確認対象のパーティクルIDをそのまま返し、未登録の場合は"minecraft:poof"が返す。 + checkParticle = function (self, particle) + if self.checkedTable.particle[particle] == nil then + self.checkedTable.particle[particle] = self:find("PARTICLE", particle) + end + return self.checkedTable.particle[particle] and particle or "minecraft:poof" + end; + + ---指定されたサウンドIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:empty"を返す。 + ---@param self CompatibilityUtils + ---@param sound Minecraft.soundID 確認対象のサウンドID + ---@return Minecraft.soundID particleID レジストリに登録してある場合は確認対象のサウンドIDをそのまま返し、未登録の場合は"minecraft:empty"が返す。 + checkSound = function (self, sound) + if self.checkedTable.sound[sound] == nil then + self.checkedTable.sound[sound] = self:find("SOUND", sound) + end + return self.checkedTable.sound[sound] and sound or "minecraft:empty" + end; + + ---ブロックの破片のパーティクルを示す文字列を返す。Minecraftのバージョン違いを吸収するための関数。 + ---@param block Minecraft.blockID ブロックの破片パーティクルとして表示するブロックのID。レジストリへの確認は行わない。 + ---@return string particleData ブロックの破片のパーティクルを示す文字列 + getBlockParticleId = function (block) + return client:getVersion() >= "1.20.5" and "minecraft:block{block_state:\""..block.."\"}" or "minecraft:block "..block + end; + + ---dustパーティクルを示す文字列を返す。Minecraftのバージョン違いを吸収するための関数。 + ---@param color Vector3 dustの色 + ---@param size number dustの大きさ + ---@return string particleData dustの破片のパーティクルを示す文字列 + getDustParticleId = function (color, size) + return client:getVersion() >= "1.20.5" and "minecraft:dust{color:["..color.x..","..color.y..","..color.z.."],scale:"..math.clamp(size, 0.01, 4).."}" or "minecraft:dust "..color.x.." "..color.y.." "..color.z.." "..size + end; + + ---renderer:setPostEffect()のラッパー関数 + ---1.20.5でレンダーエフェクトが削除されたことによる対応 + ---@param effect? Minecraft.shaderName 適用するエフェクト + setPostEffect = function (effect) + if client:getVersion() < "1.20.5" then + renderer:setPostEffect(effect) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/utils/model_utils.lua b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/utils/model_utils.lua new file mode 100644 index 0000000..4208e9f --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/utils/model_utils.lua @@ -0,0 +1,59 @@ +---@class (exact) ModelUtils : AvatarModule モデルに関するユーティリティ関数群 +---@field public getModelWorldPos fun(model: ModelPart): Vector3 指定したモデルのワールド位置を返す。 +---@field public copyModel fun(self: ModelUtils, modelPart: ModelPart, name?: string, forceCopy?: boolean): ModelPart|nil モデルパーツをディープコピーする。 +---@field public copyModel fun(self: ModelUtils, modelPart: ModelPart, name?: string, forceCopy?: true): ModelPart モデルパーツをディープコピーする。 +---@field public moveTo fun(target: ModelPart, destination: ModelPart, originalParent: ModelPart) モデルパーツを別の親に移動させる。組み込みmoveTo()で何故かモデルパーツが残ってしまう問題に対処済み。 + +ModelUtils = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ModelUtils + new = function (parent) + ---@type ModelUtils + local instance = Avatar.instantiate(ModelUtils, AvatarModule, parent) + + return instance + end; + + ---指定したモデルのワールド位置を返す。 + ---@param model ModelPart ワールド位置を取得するモデルパーツ + ---@return Vector3 worldPos モデルのワールド位置 + getModelWorldPos = function(model) + local modelMatrix = model:partToWorldMatrix() + return vectors.vec3(modelMatrix[4][1], modelMatrix[4][2], modelMatrix[4][3]) + end; + + ---モデルパーツをディープコピーする。 + ---非表示のモデルパーツはコピーしない。 + ---@param modelPart ModelPart コピーするモデルパーツ + ---@param name? string コピーしたモデルパーツの名前。省略した際はコピー元と同じ名前になる。 + ---@param forceCopy? boolean 非表示のモデルも強制的にコピーするかどうか + ---@return ModelPart|nil copiedModelPart コピーされたモデルパーツ。入力されたモデルパーツが非表示の場合はnilが返る。 + copyModel = function (self, modelPart, name, forceCopy) + if modelPart:getVisible() or forceCopy then + local copy = modelPart:copy(name ~= nil and name or modelPart:getName()) + copy:setParentType("None") + for _, child in ipairs(copy:getChildren()) do + copy:removeChild(child) + local childModel = self:copyModel(child) + if childModel ~= nil then + copy:addChild(childModel) + end + end + return copy + end + end; + + ---モデルパーツを別の親に移動させる。 + ---組み込みmoveTo()で何故かモデルパーツが残ってしまう問題に対処済み。 + ---@param target ModelPart 移動させる対象のモデルパーツ + ---@param destination ModelPart 移動先の親 + ---@param originalParent ModelPart 移動元の親 + moveTo = function (target, destination, originalParent) + target:moveTo(destination) + local modelName = target:getName() + if originalParent[modelName] ~= nil then + originalParent:removeChild(target) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/utils/player_utils.lua b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/utils/player_utils.lua new file mode 100644 index 0000000..274c213 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/utils/player_utils.lua @@ -0,0 +1,35 @@ +---@alias PlayerUtils.DamageStatus +---| "NONE" # ダメージなし +---| "DAMAGE" # ダメージを受けた +---| "DIED" # 死亡した + +---@class (exact) PlayerUtils : AvatarModule プレイヤーに関するユーティリティ関数群 +---@field public damageStatus PlayerUtils.DamageStatus 現在のティックのダメージステータス +---@field package healthPrev integer 前ティックのHP量 + +PlayerUtils = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return PlayerUtils + new = function (parent) + ---@type PlayerUtils + local instance = Avatar.instantiate(PlayerUtils, AvatarModule, parent) + + instance.damageStatus = "NONE" + instance.healthPrev = player:getHealth() + + return instance + end; + + ---初期化関数 + ---@param self PlayerUtils + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + local health = player:getHealth() + self.damageStatus = self.healthPrev > health and (health == 0 and "DIED" or "DAMAGE") or "NONE" + self.healthPrev = health + end) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/utils/spawn_object.lua b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/utils/spawn_object.lua new file mode 100644 index 0000000..cf08811 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/utils/spawn_object.lua @@ -0,0 +1,26 @@ +---@class (exact) SpawnObject : AvatarModule オブジェクト(設置物、独自定義パーティクル、bbモデルetc.)クラス +---@field public object any インスタンスで制御するオブジェクト。ModelPartやRenderTaskを想定している。 +---@field public uuid string このインスタンスのUUID。オブジェクトの名前付けなどにどうぞ。 +---@field public shouldDeinit boolean このオブジェクトを破棄するかどうか。trueにするとオブジェクトが破棄され、その際に、onDeinit()コールバック関数が呼ばれる。 +---@field public callbacks? SpawnObject.CallbackSet スポーンオブジェクトのコールバック関数 + +---@class (exact) SpawnObject.CallbackSet スポーンオブジェクトのコールバック関数のセット +---@field public onInit? fun(self: SpawnObject) オブジェクトの初期化直後に呼ばれる関数 +---@field public onDeinit? fun(self: SpawnObject) オブジェクトの破棄直前に呼ばれる関数 +---@field public onTick? fun(self: SpawnObject) 各ティック毎に呼ばれる関数 +---@field public onRender? fun(self: SpawnObject, delta: number, context: Event.Render.context) 各レンダーティック毎に呼ばれる関数 + +SpawnObject = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return SpawnObject + new = function (parent) + ---@type SpawnObject + local instance = Avatar.instantiate(SpawnObject, AvatarModule, parent) + + instance.uuid = client.intUUIDToString(client.generateUUID()) + instance.shouldDeinit = false + + return instance + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/utils/spawn_object_manager.lua b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/utils/spawn_object_manager.lua new file mode 100644 index 0000000..3026820 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/utils/spawn_object_manager.lua @@ -0,0 +1,102 @@ +---@class (exact) SpawnObjectManager : AvatarModule オブジェクト(設置物、独自定義パーティクル、bbモデルetc.)をスポーンさせ、管理するマネージャークラス +---@field public managerName string このマネージャーの名前 +---@field public objects SpawnObject[] スポーンさせたオブジェクトを保持するテーブル +---@field public getObject fun(self: SpawnObjectManager): SpawnObject スポーンオブジェクトのインスタンスを生成して返す +---@field public spawn fun(self: SpawnObjectManager, ...: any) オブジェクトをスポーンさせる +---@field public remove fun(self: SpawnObjectManager, index: integer) オブジェクトを1つ削除する +---@field public removeAll fun(self: SpawnObjectManager) オブジェクトをすべて削除する + +SpawnObjectManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return SpawnObjectManager + new = function (parent) + ---@type SpawnObjectManager + local instance = Avatar.instantiate(SpawnObjectManager, AvatarModule, parent) + + instance.managerName = "spawn_object" + instance.objects = {} + + return instance + end; + + ---スポーンオブジェクトのインスタンスを生成して返す。 + ---@param self SpawnObjectManager + ---@return SpawnObject instance 生成したスポーンオブジェクト + getObject = function (self) + return SpawnObject.new(self.parent) + end; + + ---オブジェクトをスポーンさせる。 + ---@param self SpawnObjectManager + ---@param ... any インスタンス生成時の引数 + spawn = function (self, ...) + ---@diagnostic disable-next-line: redundant-parameter + local instance = self:getObject(...) + table.insert(self.objects, instance) + if instance.callbacks ~= nil and instance.callbacks.onInit ~= nil then + instance.callbacks.onInit(instance) + end + + if #self.objects == 1 then + events.TICK:register(function () + if not client:isPaused() then + for index, ins in ipairs(self.objects) do + if ins.callbacks ~= nil and ins.callbacks.onTick ~= nil then + ins.callbacks.onTick(ins) + end + if ins.shouldDeinit then + if ins.callbacks ~= nil and ins.callbacks.onDeinit ~= nil then + ins.callbacks.onDeinit(ins) + end + table.remove(self.objects, index) + if #self.objects == 0 then + events.TICK:remove(self.managerName.."_tick") + events.RENDER:remove(self.managerName.."_render") + end + end + end + end + end, self.managerName.."_tick") + + events.RENDER:register(function (delta, ctx) + if not client:isPaused() then + for _, ins in ipairs(self.objects) do + if ins.callbacks ~= nil and ins.callbacks.onRender ~= nil then + ins.callbacks.onRender(ins, delta, ctx) + end + end + end + end, self.managerName.."_render") + end + end; + + ---オブジェクトを1つ削除する。 + ---@param self SpawnObjectManager + ---@param index integer 削除するオブジェクトのインデックス番号 + remove = function (self, index) + if self.objects[index] ~= nil then + if self.objects[index].callbacks ~= nil and self.objects[index].callbacks.onDeinit ~= nil then + self.objects[index].callbacks.onDeinit(self.objects[index]) + end + table.remove(self.objects, index) + if #self.objects == 0 then + events.TICK:remove(self.managerName.."_tick") + events.RENDER:remove(self.managerName.."_render") + end + end + end; + + ---オブジェクトをすべて削除する。 + ---@param self SpawnObjectManager + removeAll = function (self) + while #self.objects > 0 do + if self.objects[1].callbacks ~= nil and self.objects[1].callbacks.onDeinit ~= nil then + self.objects[1].callbacks.onDeinit(self.objects[1]) + end + table.remove(self.objects, 1) + end + events.TICK:remove(self.managerName.."_tick") + events.RENDER:remove(self.managerName.."_render") + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/vanilla_model.lua b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/vanilla_model.lua new file mode 100644 index 0000000..2220732 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shizuko/scripts/avatar_modules/vanilla_model.lua @@ -0,0 +1,23 @@ +---@class (exact) VanillaModel : AvatarModule バニラーのモデルの管理クラス + +VanillaModel = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return VanillaModel + new = function (parent) + ---@type VanillaModel + local instance = Avatar.instantiate(VanillaModel, AvatarModule, parent) + + return instance + end; + + ---初期化関数 + ---@param self AvatarModule + init = function (self) + AvatarModule.init(self) + + for _, vanillaModel in ipairs({vanilla_model.PLAYER, vanilla_model.CHESTPLATE_RIGHT_ARM, vanilla_model.CHESTPLATE_LEFT_ARM, vanilla_model.LEGGINGS_RIGHT_LEG, vanilla_model.LEGGINGS_LEFT_LEG, vanilla_model.BOOTS}) do + vanillaModel:setVisible(false) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shizuko/scripts/blue_archive_character.lua b/config/yosbr/config/figura/avatars/Shizuko/scripts/blue_archive_character.lua new file mode 100644 index 0000000..5d7c7ee --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shizuko/scripts/blue_archive_character.lua @@ -0,0 +1,1216 @@ +---@alias BlueArchiveCharacter.RightEyeTextures +---| "NORMAL" # 通常 +---| "SURPRISED" # 驚いた目(ダメージを受けたときなど) +---| "TIRED" # 疲れた目(死亡アニメーションなど) +---| "CLOSED" # 閉じた目(瞬き、睡眠中など) +---| "INVERTED" # 困りつつ、反対側を見る目 +---| "UNEQUAL" # >< + +---@alias BlueArchiveCharacter.LeftEyeTextures +---| "NORMAL" # 通常 +---| "SURPRISED" # 驚いた目(ダメージを受けたときなど) +---| "TIRED" # 疲れた目(死亡アニメーションなど) +---| "CLOSED" # 閉じた目(瞬き、睡眠中など) +---| "UNEQUAL" # >< +---| "CENTER" # 少し反対側を見る目 + +---@alias BlueArchiveCharacter.MouthTextures +---| "NORMAL" # 通常 +---| "OPENED" # 開いた口 +---| "TRIANGLE" # 三角形の口 +---| "FRUST" # ぐじゅぐじゅ口 +---| "SMILE" # にっこり +---| "WORRY" # 困った口 + +---@alias BlueArchiveCharacter.GunHoldType +---| "NORMAL" # バニラの弓やクロスボウの構え方と同じ +---| "CUSTOM" # BBアニメーション"[models.main][gun_hold_right]"と"[models.main][gun_hold_left]"で構え方を定義する + +---@alias BlueArchiveCharacter.GunPutType +---| "BODY" # アバターのBodyに銃を移動させる +---| "HIDDEN" # 銃を隠す + +---@alias BlueArchiveCharacter.FormationType +---| "STRIKER" # ストライカー(前衛) +---| "SPECIAL" # スペシャル(後方支援) + +---@alias BlueArchiveCharacter.Costumes +---| "DEFAULT" # デフォルト衣装 +---| "SWIMSUIT" # 水着 + +--[[ ******************************** ]] + +---@class BlueArchiveCharacter : AvatarModule キャラクター変数を保持するクラス。別のキャラクターに対してもここを変更するだけで対応できるようにする。 +---@field public basic BlueArchiveCharacter.BasicStruct 生徒の基本情報 +---@field public faceParts BlueArchiveCharacter.FacePartsStruct 目や口による表情 +---@field public arms BlueArchiveCharacter.ArmsStruct 腕 +---@field public skirt BlueArchiveCharacter.SkirtStruct スカート +---@field public gun BlueArchiveCharacter.GunStruct 銃 +---@field public placementObjects BlueArchiveCharacter.PlacementObjectStruct[] 設置物 +---@field public exSkill BlueArchiveCharacter.ExSkillStruct[] Exスキル +---@field public costume BlueArchiveCharacter.CostumeStruct コスチューム +---@field public bubble BlueArchiveCharacter.BubbleStruct 吹き出しエモート +---@field public headBlock BlueArchiveCharacter.HeadBlockStruct 頭ブロック +---@field public portrait BlueArchiveCharacter.HeadBlockStruct ポートレート +---@field public deathAnimation BlueArchiveCharacter.DeathAnimationStruct 死亡アニメーション +---@field public actionWheel BlueArchiveCharacter.ActionWheelStruct アクションホイール +---@field public physics BlueArchiveCharacter.PhysicsStruct 物理演算 +---@field public dataSync BlueArchiveCharacter.DataSyncStruct データ同期 + +--[[ ******************************** ]] + +---@class BlueArchiveCharacter.BasicStruct 生徒の基本情報のデータ構造体 +---@field public firstName BlueArchiveCharacter.LocaleStringSet 生徒の名前 +---@field public lastName BlueArchiveCharacter.LocaleStringSet 生徒の苗字 +---@field public clubName BlueArchiveCharacter.LocaleStringSet 生徒が所属している部活名 +---@field public birth BlueArchiveCharacter.MonthDaySet 生徒の誕生日 + +---@class BlueArchiveCharacter.FacePartsStruct 目や口による表情のデータ構造体。UVマッピング情報は、デフォルトパーツから見て左からx番目、上からy番目とする。 +---@field public rightEye {[BlueArchiveCharacter.RightEyeTextures]: Vector2} 右目のテクスチャのUVマッピング情報 +---@field public leftEye {[BlueArchiveCharacter.LeftEyeTextures]: Vector2} 左目のテクスチャのUVマッピング情報 +---@field public mouth {[BlueArchiveCharacter.MouthTextures]: Vector2} 口のテクスチャのUVマッピング情報 +---@field public emotionSet? BlueArchiveCharacter.OverrideEmotionSet 特定の状況における表情を上書きする + +---@class BlueArchiveCharacter.ArmsStruct 腕のデータ構造体 +---@field public callbacks? BlueArchiveCharacter.ArmsCallbacksSet 腕の制御のコールバック関数群 + +---@class BlueArchiveCharacter.SkirtStruct スカートのデータ構造体 +---@field public skirtModels? ModelPart[] スカートとして制御するモデル + +---@class BlueArchiveCharacter.GunStruct 銃のデータ構造体 +---@field public scale number 銃モデルの大きさの倍率 +---@field public gunPosition BlueArchiveCharacter.GunPositionSet 銃モデルの位置や向き +---@field public sound BlueArchiveCharacter.GunSoundSet 銃の射撃音 +---@field public callbacks? BlueArchiveCharacter.GunCallbacksSet 銃のコールバック関数 + +---@class BlueArchiveCharacter.PlacementObjectStruct 設置物のデータ構造体 +---@field public model ModelPart 設置物として扱うモデル +---@field public boundingBox BlueArchiveCharacter.PlacementObjectBoundingBoxSet 設置物の当たり判定 +---@field public placementMode PlacementObjectManager.PlacementMode 設置物の設置モード +---@field public gravity? number 設置物にかかる重力。1が標準的な自由落下。0で空中静止。負の数で反重力(上に向かって落ちる)。 +---@field public hasFireResistance? boolean 設置物に火炎耐性を付与するかどうか。trueにすると炎やマグマで焼かれなくなる。 +---@field public callbacks? BlueArchiveCharacter.PlacementObjectCallbacksSet 設置物のコールバック関数 + +---@class BlueArchiveCharacter.ExSkillStruct Exスキルのデータ構造体 +---@field public name BlueArchiveCharacter.LocaleStringSet Exスキルの名前 +---@field public formationType BlueArchiveCharacter.FormationType この生徒の戦闘配置タイプ +---@field public models ModelPart[] Exスキルアニメーション開始時に表示し、Exスキルアニメーション終了時に非表示にするモデルパーツ +---@field public animations string[] Exスキルアニメーションが含まれるモデルファイル名。アニメーション名は"ex_skill_"にすること。 +---@field public camera BlueArchiveCharacter.ExSkillCameraSet Exスキルアニメーション中のカメラワーク +---@field public callbacks? BlueArchiveCharacter.ExSkillCallbacks Exスキルのコールバック関数 + +---@class BlueArchiveCharacter.CostumeStruct コスチュームのデータ構造体 +---@field public costumes BlueArchiveCharacter.CostumeDataSet[] コスチュームデータ +---@field public callbacks? BlueArchiveCharacter.CostumeCallbacks コスチュームのコールバック関数 + +---@class BlueArchiveCharacter.BubbleStruct 吹き出しエモートのデータ構造体 +---@field public callbacks? BlueArchiveCharacter.BubbleCallbacks 吹き出しエモートのコールバック関数 + +---@class BlueArchiveCharacter.HeadBlockStruct 頭ブロック、ポートレートのデータ構造体 +---@field public includeModels ModelPart[] 頭モデルに追加でアタッチするモデル +---@field public callbacks? BlueArchiveCharacter.HeadBlockCallbacks 頭ブロック、ポートレートのコールバック関数 + +---@class BlueArchiveCharacter.DeathAnimationStruct 死亡アニメーションのデータ構造体 +---@field public callbacks? BlueArchiveCharacter.DeathAnimationCallbacks 死亡アニメーションのコールバック関数 + +---@class BlueArchiveCharacter.ActionWheelStruct アクションホイールのデータ構造体 +---@field public isVehicleOptionEnabled boolean 乗り物のモデル置き換えオプションを有効にするかどうか + +---@class BlueArchiveCharacter.PhysicsStruct 物理演算のデータ構造体 +---@field physicData BlueArchiveCharacter.PhysicDataSet[] 物理演算データ +---@field callbacks? BlueArchiveCharacter.PhysicCallbacks 物理演算のコールバック関数 + +---@class BlueArchiveCharacter.DataSyncStruct データ同期のデータ構造体 +---@field public syncData {[string]: any} 追加でping同期させるデータテーブル +---@field public callbacks? BlueArchiveCharacter.DataSyncCallbacks データ同期のコールバック関数 + +--[[ ******************************** ]] + +---@class (exact) BlueArchiveCharacter.OverrideEmotionSet 特定の状況における表情を上書きするセット +---@field public onDamage? BlueArchiveCharacter.EmotionSet ダメージを受けたとき +---@field public onDied? BlueArchiveCharacter.EmotionSet 死んだとき(死亡アニメーションは除外) +---@field public onSleep? BlueArchiveCharacter.EmotionSet ベッドで寝ているとき + +---@class (exact) BlueArchiveCharacter.EmotionSet 表情のデータセット +---@field public rightEye BlueArchiveCharacter.RightEyeTextures 右目の表情名 +---@field public leftEye BlueArchiveCharacter.LeftEyeTextures 左目の表情名 +---@field public mouth BlueArchiveCharacter.MouthTextures 口の表情名 + +---@class (exact) BlueArchiveCharacter.ArmsCallbacksSet 腕処理のコールバック関数のセット +---@field public onArmStateChanged? fun(self: BlueArchiveCharacter, right: integer, left: integer): {right?: integer, left?: integer}|nil 腕の状態が変更された際のコールバック関数 +---@field public onAdditionalRightArmProcess? fun(self: BlueArchiveCharacter, state: integer) 右腕の追加処理 +---@field public onAdditionalLeftArmProcess? fun(self: BlueArchiveCharacter, state: integer) 左腕の追加処理 + +---@class (exact) BlueArchiveCharacter.GunPositionSet 銃のモデルの位置や向きのデータセット +---@field public hold BlueArchiveCharacter.GunHoldPositionSet 銃を構えているとき +---@field public put BlueArchiveCharacter.GunPutPositionSet 銃をしまっているとき + +---@class (exact) BlueArchiveCharacter.GunHoldPositionSet 構えているときの銃のモデルの位置や向きのデータセット +---@field public type BlueArchiveCharacter.GunHoldType 銃の構え方の種類 +---@field public firstPersonPos? BlueArchiveCharacter.Vector3RightLeftSet 一人称視点での銃の位置 +---@field public firstPersonRot? BlueArchiveCharacter.Vector3RightLeftSet 一人称視点での銃の方向 +---@field public thirdPersonPos? BlueArchiveCharacter.Vector3RightLeftSet 三人称視点での銃の位置 +---@field public thirdPersonRot? BlueArchiveCharacter.Vector3RightLeftSet 三人称視点での銃の方向 + +---@class (exact) BlueArchiveCharacter.GunPutPositionSet しまっているときの銃のモデルの位置や向きのデータセット +---@field public type BlueArchiveCharacter.GunPutType 銃のしまい方の種類 +---@field public pos? BlueArchiveCharacter.Vector3RightLeftSet 一人称視点での銃の位置 +---@field public rot? BlueArchiveCharacter.Vector3RightLeftSet 一人称視点での銃の方向 + +---@class (exact) BlueArchiveCharacter.GunSoundSet 銃の音のデータセット +---@field public name Minecraft.soundID 銃の音として使用するゲームの音源名 +---@field public pitch number 音源の再生ピッチ(0.5~2) + +---@class (exact) BlueArchiveCharacter.GunCallbacksSet 銃のコールバック関数のセット +---@field public onMainHandChange? fun(self: BlueArchiveCharacter, direction: Gun.HandDirection) 利き手が変更されたときに呼び出される関数 + +---@class (exact) BlueArchiveCharacter.PlacementObjectBoundingBoxSet 設置物の当たり判定のデータセット +---@field public offsetPos? Vector3 設置物の底の中心点のオフセット位置(任意)。基準点は(0, 0, 0)。 +---@field public size? Vector3 当たり判定の大きさ。BlockBenchでのサイズの値をそのまま入力する。基準点はモデルの底面の中心。 + +---@class (exact) BlueArchiveCharacter.PlacementObjectCallbacksSet 設置物のコールバック関数のセット +---@field public onInit? fun(self: BlueArchiveCharacter, placementObject: PlacementObject) 設置物インスタンスが生成された直後に呼ばれる関数 +---@field public onDeinit? fun(self: BlueArchiveCharacter, placementObject: PlacementObject) 設置物インスタンスが破棄される直前に呼ばれる関数 +---@field public onTick? fun(self: BlueArchiveCharacter, placementObject: PlacementObject) 各ティック毎に呼ばれる関数 +---@field public onRender? fun(self: BlueArchiveCharacter, placementObject: PlacementObject) 各レンダーティック毎に呼ばれる関数 +---@field public onGround? fun(self: BlueArchiveCharacter, placementObject: PlacementObject) 設置物が接地した瞬間に呼ばれる関数 + +---@class (exact) BlueArchiveCharacter.ExSkillCameraSet Exスキルアニメーション中のカメラワークのセット +---@field public start BlueArchiveCharacter.ExSkillCameraPositionSet Exスキルアニメーション開始地点 +---@field public fin BlueArchiveCharacter.ExSkillCameraPositionSet Exスキルアニメーション終了地点 +---@field public fixMode? boolean カメラの補正モード。通常は無効だが、特定のキャラクターに対しては有効にしておく。 + +---@class (exact) BlueArchiveCharacter.ExSkillCameraPositionSet Exスキルアニメーション中のカメラワークの開始/終了地点の位置のデータセット +---@field public pos Vector3 カメラの位置 +---@field public rot Vector3 カメラの方向 + +---@class (exact) BlueArchiveCharacter.ExSkillCallbacks Exスキルのコールバック関数のセット +---@field public onPreTransition? fun(self: BlueArchiveCharacter) Exスキルアニメーション開始前のトランジション開始前に実行されるコールバック関数 +---@field public onPreAnimation? fun(self: BlueArchiveCharacter) Exスキルアニメーション開始前のトランジション終了後に実行されるコールバック関数 +---@field public onAnimationTick? fun(self: BlueArchiveCharacter, tick: integer) Exスキルアニメーション再生中のみ実行されるティック関数 +---@field public onPostAnimation? fun(self: BlueArchiveCharacter, forcedStop: boolean) Exスキルアニメーション終了後のトランジション開始前に実行されるコールバック関数 +---@field public onPostTransition? fun(self: BlueArchiveCharacter, forcedStop: boolean) Exスキルアニメーション終了後のトランジション終了後に実行されるコールバック関数 + +---@class BlueArchiveCharacter.CostumeDataSet コスチュームのデータセット +---@field public name string コスチュームの内部名 +---@field public displayName BlueArchiveCharacter.LocaleStringSet コスチュームの表示名 +---@field public exSkill integer コスチュームに対応するExスキルのインデックス番号 +---@field public subExSkill? integer コスチュームに対応するサブExスキルのインデックス番号 + +---@class (exact) BlueArchiveCharacter.CostumeCallbacks コスチュームのコールバック関数のセット +---@field public onChange? fun(self: BlueArchiveCharacter, costumeId: BlueArchiveCharacter.Costumes) 衣装が変更されたときに実行されるコールバック関数。デフォルトの衣装はここに含めない。 +---@field public onReset? fun(self: BlueArchiveCharacter) 衣装がリセットされたときに実行されるコールバック関数。あらゆる衣装からデフォルトの衣装へ推移できるようにする。 +---@field public onArmorChange? fun(self: BlueArchiveCharacter, parts: Armor.ArmorPart, isVisible: boolean) 防具が変更された(防具が見える/見えない)ときに実行されるコールバック関数 + +---@class (exact) BlueArchiveCharacter.BubbleCallbacks 吹き出しエモートのコールバック関数のセット +---@field public onPlay? fun(self: BlueArchiveCharacter, type: Bubble.BubbleType, duration: integer, showInGui: boolean) 吹き出しエモートが再生された時に実行されるコールバック関数 +---@field public onStop? fun(self: BlueArchiveCharacter, type: Bubble.BubbleType, forcedStop: boolean) 吹き出しアニメーション終了時に実行されるコールバック関数 + +---@class (exact) BlueArchiveCharacter.HeadBlockCallbacks 頭ブロックのコールバック関数のセット +---@field public onBeforeModelCopy? fun(self: BlueArchiveCharacter, isScriptLoaded: boolean) モデルのコピー直前に実行される関数 +---@field public onAfterModelCopy? fun(self: BlueArchiveCharacter, isScriptLoaded: boolean) モデルのコピー直後に実行される関数 + +---@class (exact) BlueArchiveCharacter.DeathAnimationCallbacks 死亡アニメーションのコールバック関数のセット +---@field public onPhase1? fun(self: BlueArchiveCharacter, dummyAvatar: ModelPart, costume: BlueArchiveCharacter.Costumes) 死亡アニメーションが再生された直後に実行される関数 +---@field public onPhase2? fun(self: BlueArchiveCharacter, dummyAvatar: ModelPart, costume: BlueArchiveCharacter.Costumes) ダミーアバターが縄ばしごにつかまった直後に実行される関数 +---@field public onBeforeModelCopy? fun(self: BlueArchiveCharacter, isScriptLoaded: boolean) モデルのコピー直前に実行される関数 +---@field public onAfterModelCopy? fun(self: BlueArchiveCharacter, isScriptLoaded: boolean) モデルのコピー直後に実行される関数 + +---@class (exact) BlueArchiveCharacter.PhysicDataSet 物理演算のデータセット +---@field public models ModelPart[] 物理演算の対象にするモデルパーツ +---@field public x? BlueArchiveCharacter.PhysicAxisData x軸のデータ +---@field public y? BlueArchiveCharacter.PhysicAxisData y軸のデータ +---@field public z? BlueArchiveCharacter.PhysicAxisData z軸のデータ + +---@class (exact) BlueArchiveCharacter.PhysicAxisData 物理演算の1軸のデータセット +---@field public vertical? BlueArchiveCharacter.PhysicCoreData 体が垂直方向である時(通常時)の物理演算データ +---@field public horizontal? BlueArchiveCharacter.PhysicCoreData 体が水平方向である時(水泳時、エリトラ飛行時)の物理演算データ + +---@class (exact) BlueArchiveCharacter.PhysicCoreData 物理演算のコアデータ +---@field public min number このモデルパーツ、回転軸の絶対的な回転の最小値(度) +---@field public neutral number このモデルパーツ、回転軸の中立の回転位置(度) +---@field public max number このモデルパーツ、回転軸の絶対的な回転の最大値(度) +---@field public sneakOffset? number スニーク時にこのモデルパーツの回転に加えられるオフセット値 +---@field public headRotMultiplayer? number 頭の縦方向の回転と共にこのモデルパーツの回転に加えられる値の倍率 +---@field public headX? BlueArchiveCharacter.PhysicFactorData 頭を基準とした、前後方向移動によるモデルパーツの回転データ +---@field public headZ? BlueArchiveCharacter.PhysicFactorData 頭を基準とした、左右方向移動によるモデルパーツの回転データ +---@field public headRot? BlueArchiveCharacter.PhysicFactorData 頭の回転によるによるモデルパーツの回転データ +---@field public bodyX? BlueArchiveCharacter.PhysicFactorData 体を基準とした、前後方向移動によるモデルパーツの回転データ +---@field public bodyY? BlueArchiveCharacter.PhysicFactorData 体を基準とした、上下方向移動によるモデルパーツの回転データ +---@field public bodyZ? BlueArchiveCharacter.PhysicFactorData 体を基準とした、左右方向移動によるモデルパーツの回転データ +---@field public bodyRot? BlueArchiveCharacter.PhysicFactorData 体の回転によるによるモデルパーツの回転データ + +---@class (exact) BlueArchiveCharacter.PhysicFactorData 物理演算を働かせる要因を定義するデータセット +---@field public multiplayer number この回転事象がモデルパーツに与える回転の倍率 +---@field public min number この回転事象がモデルパーツに与える回転の最小値 +---@field public max number この回転事象がモデルパーツに与える回転の最大値 + +---@class (exact) BlueArchiveCharacter.PhysicCallbacks 物理演算のコールバック関数のセット +---@field public onPhysicPerformed? fun(self: BlueArchiveCharacter, model: ModelPart) 物理演算処理後に実行されるコールバック関数(省略可)。ここでモデルパーツの向きを上書きできる。 + +---@class (exact) BlueArchiveCharacter.DataSyncCallbacks データ同期のコールバック関数のセット +---@field public onDataSynced? fun(self: BlueArchiveCharacter) データが同期されたときに実行させるコールバック関数。ホスト上では実行されない。 + +--[[ ******************************** ]] + +---@class (exact) BlueArchiveCharacter.LocaleStringSet ロケール文字列のセット +---@field public en_us string 英語(米国) +---@field public ja_jp string 日本語 + +---@class (exact) BlueArchiveCharacter.MonthDaySet 日月のデータセット +---@field public month integer 月 +---@field public day integer 日 + +---@class (exact) BlueArchiveCharacter.Vector3RightLeftSet 左右で別々にVector3が定義できるデータセット +---@field public right? Vector3 右 +---@field public left? Vector3 左 + +BlueArchiveCharacter = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return BlueArchiveCharacter + new = function (parent) + ---@type BlueArchiveCharacter + local instance = Avatar.instantiate(BlueArchiveCharacter, AvatarModule, parent) + + instance.basic = { + firstName = { + en_us = "Shizuko"; + ja_jp = "シズコ"; + }; + + lastName = { + en_us = "Kawawa"; + ja_jp = "河和"; + }; + + clubName = { + en_us = "Festival Management Committee"; + ja_jp = "お祭り運営委員会"; + }; + + birth = { + month = 7; + day = 7; + }; + } + + instance.faceParts = { + rightEye = { + NORMAL = vectors.vec2(0, 0); --必須 + SURPRISED = vectors.vec2(3, 0); --必須 + TIRED = vectors.vec2(4, 0); --必須 + CLOSED = vectors.vec2(0, 1); --必須 + INVERTED = vectors.vec2(2, 1); + UNEQUAL = vectors.vec2(1, 1); + }; + + leftEye = { + NORMAL = vectors.vec2(0, 0); --必須 + SURPRISED = vectors.vec2(2, 0); --必須 + TIRED = vectors.vec2(3, 0); --必須 + CLOSED = vectors.vec2(-1, 1); --必須 + UNEQUAL = vectors.vec2(0, 1); + CENTER = vectors.vec2(1, 0); + }; + + mouth = { + OPENED = vectors.vec2(0, 1); + TRIANGLE = vectors.vec2(1, 1); + FRUST = vectors.vec2(0, 2); + SMILE = vectors.vec2(1, 2); + WORRY = vectors.vec2(0, 0); + }; + } + + instance.arms = { + + } + + instance.skirt = { + skirtModels = {models.models.main.Avatar.UpperBody.Body.Skirt}; + } + + instance.gun = { + scale = 1.5; + + gunPosition = { + hold = { + type = "NORMAL"; + + firstPersonPos = { + right = vectors.vec3(0, 1, -7); + left = vectors.vec3(0, 1, -7); + }; + + thirdPersonPos = { + right = vectors.vec3(-1.5, -0.25, -8); + left = vectors.vec3(1.5, -0.25, -8); + }; + }; + + put = { + type = "BODY"; + + pos = { + right = vectors.vec3(-1.5, 4, 3.5); + left = vectors.vec3(1.5, 4, 3.5); + }; + + rot = { + right = vectors.vec3(0, 90, -45); + left = vectors.vec3(45, -90, 0); + }; + }; + }; + + sound = { + name = "minecraft:entity.generic.explode"; + pitch = 2; + }; + } + + instance.placementObjects = { + { + model = models.models.ex_skill_1.Stall; + + boundingBox = { + size = vectors.vec3(20, 38, 20); + }; + + placementMode = "COPY"; + }; + } + + instance.exSkill = { + { + name = { + en_us = "Momoya Hall Take-out!"; + ja_jp = "百夜堂出張サービス!"; + }; + + formationType = "SPECIAL"; + + models = {models.models.ex_skill_1.Stall, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.TeaSet}; + + animations = {"main", "ex_skill_1"}; + + camera = { + start = { + rot = vectors.vec3(0, 180, 0); + pos = vectors.vec3(-5, 23, -16); + }; + + fin = { + rot = vectors.vec3(10, -100, 0); + pos = vectors.vec3(-203, 24, 23); + }; + + fixMode = true; + }; + + callbacks = { + onPreTransition = function (self) + self.parent.placementObjectManager:removeAll() + end; + + onPreAnimation = function (self) + if not self.exSkill[1].init then + models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.TeaSet.WaterSpill:setPrimaryTexture("RESOURCE", "textures/block/water_still.png") + models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.TeaSet.WaterSpill:setColor(0.25, 0.39, 0.67) + self.exSkill[1].init = true + end + self.parent.faceParts:setEmotion("NORMAL", "CENTER", "OPENED", 22, true) + end; + + onAnimationTick = function (self, tick) + if tick == 22 then + self.parent.faceParts:setEmotion("CLOSED", "CLOSED", "OPENED", 2, true) + elseif tick == 24 then + self.parent.faceParts:setEmotion("INVERTED", "NORMAL", "WORRY", 1, true) + elseif tick == 25 then + self.exSkill[1].textTask:setVisible(true) + self.parent.faceParts:setEmotion("INVERTED", "NORMAL", "TRIANGLE", 8, true) + elseif tick == 33 then + self.exSkill[1].textTask:setVisible(false) + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "TRIANGLE", 1, true) + elseif tick == 34 then + self.parent.faceParts:setEmotion("UNEQUAL", "UNEQUAL", "FRUST", 1, true) + elseif tick == 35 then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "FRUST", 1, true) + elseif tick == 36 then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "TRIANGLE", 10, true) + elseif tick == 46 then + self.parent.faceParts:setEmotion("UNEQUAL", "UNEQUAL", "TRIANGLE", 1, true) + elseif tick == 47 then + self.parent.faceParts:setEmotion("UNEQUAL", "UNEQUAL", "FRUST", 6, true) + elseif tick == 53 then + self.parent.faceParts:setEmotion("SURPRISED", "SURPRISED", "TRIANGLE", 14, true) + if host:isHost() then + models.models.ex_skill_1.CameraBackground:setVisible(true) + local windowSize = client:getWindowSize() + models.models.ex_skill_1.CameraBackground.Background:setScale(vectors.vec3(windowSize.x / windowSize.y, 1, 1):scale(45)) + events.RENDER:register(function (delta, context) + models.models.ex_skill_1.CameraBackground:setVisible(context == "RENDER") + local backgroundPos = vectors.rotateAroundAxis(player:getBodyYaw(delta) + 180, renderer:getCameraOffsetPivot():copy():add(0, 1.62, 0):add(client:getCameraDir():copy():scale(1.75)), 0, 1, 0):scale(16 / 0.9375) + models.models.ex_skill_1.CameraBackground:setOffsetPivot(backgroundPos) + models.models.ex_skill_1.CameraBackground.Background:setPos(backgroundPos) + end, "ex_skill_1_background_render") + end + local particleAnchor = self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar):add(0, 5, 0) + local fireworkColor = vectors.hsvToRGB(math.random(), 0.8, 1) + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:flash"), particleAnchor):setColor(fireworkColor) + for _ = 1, 400 do + local particleAngleX = math.random() * math.pi * 2 + local particleAngleY = math.random() * math.pi * 2 + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:firework"), particleAnchor):setVelocity(math.cos(particleAngleX) * math.cos(particleAngleY) * 0.2, math.sin(particleAngleY) * 0.2, math.sin(particleAngleX) * math.cos(particleAngleY) * 0.2):setColor(fireworkColor) + end + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.firework_rocket.large_blast"), player:getPos()) + elseif tick == 56 then + models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.TeaSet:moveTo(models.models.main) + elseif tick == 67 then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "WORRY", 8, true) + if host:isHost() then + models.models.ex_skill_1.CameraBackground:setVisible(false) + events.RENDER:remove("ex_skill_1_background_render") + end + elseif tick == 69 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.glass.break"), self.parent.modelUtils.getModelWorldPos(models.models.main.TeaSet.ExSkill1SoundAnchor2), 1, 0.5) + local particleAnchor1Pos = self.parent.modelUtils.getModelWorldPos(models.models.main.TeaSet.WaterSpill) + for _ = 1, 20 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:splash"), particleAnchor1Pos:copy():add(math.random() - 0.5, 0, math.random() - 0.5)):setLifetime(10) + end + elseif tick == 74 then + self.parent.faceParts:setEmotion("UNEQUAL", "UNEQUAL", "FRUST", 21, true) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.generic.small_fall"), player:getPos(), 1) + local particleAnchor1Pos = self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.Head.ExSkill1ParticleAnchor1) + for i = 0, 5 do + local particleRot = math.rad(i * 60) + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:wax_off"), particleAnchor1Pos):setColor(1, 1, 0):setLifetime(12):setVelocity(math.cos(particleRot) * 0.05, 0.1, math.sin(particleRot) * 0.05):setGravity(0.5) + end + end + + if tick >= 25 and tick < 33 then + self.exSkill[1].textTask:setPos(vectors.vec3(-9, 8, -8):add(math.random() * 0.5 - 0.25, math.random() * 0.5 - 0.25)) + if (tick - 25) % 2 == 0 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.experience_orb.pickup"), player:getPos(), 1, 2) + end + end + if tick < 56 and tick % 4 == 0 then + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.TeaSet.Yunomi1.ExSkill1ParticleAnchor2, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.TeaSet.Yunomi2.ExSkill1ParticleAnchor3}) do + local particleAnchorPos = self.parent.modelUtils.getModelWorldPos(modelPart) + particles:newParticle(self.parent.compatibilityUtils:checkParticle("poof"), particleAnchorPos):setScale(0.2):setVelocity():setLifetime(15) + end + end + if tick % 2 == 0 and tick >= 70 then + local particleAnchor5Pos = self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_1.Stall.ExSkill1ParticleAnchor5) + for i = 0, 11 do + local particleRot = i * (math.pi / 6) + particles:newParticle(self.parent.compatibilityUtils.getBlockParticleId(self.parent.compatibilityUtils:checkBlock("minecraft:dirt")), particleAnchor5Pos:copy():add(math.cos(particleRot) * 0.6, 0, math.sin(particleRot) * 0.6)) + end + end + if tick % math.ceil((animations["models.main"]["ex_skill_1"]:getLength() * 20 - tick) / 20) == 0 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.boat.paddle_land"), self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_1.Stall.Wheels.ExSkill1SoundAnchor1)) + end + end; + + onPostAnimation = function (self, forcedStop) + if models.models.main.TeaSet ~= nil then + models.models.main.TeaSet:moveTo(models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom) + end + if forcedStop then + if host:isHost() then + models.models.ex_skill_1.CameraBackground:setVisible(false) + events.RENDER:remove("ex_skill_1_background_render") + end + self.exSkill[1].textTask:setVisible(false) + else + local bodyYaw = player:getBodyYaw() % 360 + self.parent.placementObjectManager:spawn(1, vectors.rotateAroundAxis(bodyYaw * -1, -10.75, 1, -2.1875, 0, 1, 0):add(player:getPos()), 180 + bodyYaw * -1) + end + end; + }; + + ---初期化処理が行われたかどうか + ---@type boolean + init = false; + + ---アニメーションに表示する「!!!」のテキストレンダータスク + ---@type TextTask + textTask = models.models.main.CameraAnchor:newText("ex_skill_1_text_1"):setVisible(false):setText("§c! !"):setRot(0, 180, 5):setScale(0.8, 0.8, 0.8):setOutline(true):setOutlineColor(1, 1, 1); + }; + + { + name = { + en_us = "Business trip, Momoya summer stall!"; + ja_jp = "出張、夏の百夜堂出店!"; + }; + + formationType = "SPECIAL"; + + models = {models.models.ex_skill_2.Plate, models.models.ex_skill_2.Gui, models.models.main.Avatar.Head.WinkEffect}; + + animations = {"main", "costume_swimsuit", "ex_skill_2"}; + + camera = { + start = { + pos = vectors.vec3(35.5, 25, 10), + rot = vectors.vec3(-10, 210, 0) + }; + + fin = { + pos = vectors.vec3(8.9, 29, -13.25), + rot = vectors.vec3(10, 170, -5) + }; + }; + + callbacks = { + onPreTransition = function () + for _, modelPart in ipairs({models.models.ex_skill_2.Stall, models.models.ex_skill_2.SoftCream}) do + modelPart:setVisible(true) + end + end; + + onPreAnimation = function (self) + if not self.exSkill[2].init then + models.models.ex_skill_2.Plate.ShavedIceGroup.Wave:setPrimaryTexture("RESOURCE", "minecraft:textures/block/water_flow.png") + models.models.ex_skill_2.Plate.ShavedIceGroup.Wave:setColor(0.4, 0.961, 1) + self.exSkill[2].init = true + end + for _, modelPart in ipairs({models.models.ex_skill_2.Plate.ShavedIceGroup.ShavedIce.ShavedIce2.ShavedIce1, models.models.ex_skill_2.Plate.ShavedIceGroup.ShavedIce.ShavedIce2.ShavedIce2, models.models.ex_skill_2.Plate.ShavedIceGroup.ShavedIce.ShavedIce2.ShavedIce3, models.models.ex_skill_2.Plate.ShavedIceGroup.ShavedIce.ShavedIce2.ShavedIce4, models.models.ex_skill_2.Plate.ShavedIceGroup.ShavedIce.ShavedIce2.ShavedIce5, models.models.ex_skill_2.Plate.ShavedIceGroup.ShavedIce.ShavedIce2.ShavedIceEars.ShavedIceEarLeft, models.models.ex_skill_2.Plate.ShavedIceGroup.ShavedIce.ShavedIce2.ShavedIceEars.ShavedIceEarRight}) do + modelPart:setUVPixels(1, 0) + end + if host:isHost() then + local windowSize = client:getScaledWindowSize() + models.models.ex_skill_2.Gui.Frame:setScale(windowSize.x, windowSize.y) + events.RENDER:register(function () + models.models.ex_skill_2.Gui.Frame:setOpacity(models.models.ex_skill_2.Gui.FrameOpacity:getAnimScale().x) + end, "ex_skill_2_render") + end + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "OPENED", 71, true) + end; + + onAnimationTick = function (self, tick) + if tick == 9 then + for _, modelPart in ipairs({models.models.ex_skill_2.Plate.ShavedIceGroup.ShavedIce.ShavedIce2.ShavedIce1, models.models.ex_skill_2.Plate.ShavedIceGroup.ShavedIce.ShavedIce2.ShavedIce2, models.models.ex_skill_2.Plate.ShavedIceGroup.ShavedIce.ShavedIce2.ShavedIce3, models.models.ex_skill_2.Plate.ShavedIceGroup.ShavedIce.ShavedIce2.ShavedIce4, models.models.ex_skill_2.Plate.ShavedIceGroup.ShavedIce.ShavedIce2.ShavedIce5, models.models.ex_skill_2.Plate.ShavedIceGroup.ShavedIce.ShavedIce2.ShavedIceEars.ShavedIceEarLeft, models.models.ex_skill_2.Plate.ShavedIceGroup.ShavedIce.ShavedIce2.ShavedIceEars.ShavedIceEarRight}) do + modelPart:setUVPixels(2, 0) + end + elseif tick == 12 then + for _, modelPart in ipairs({models.models.ex_skill_2.Plate.ShavedIceGroup.ShavedIce.ShavedIce2.ShavedIce1, models.models.ex_skill_2.Plate.ShavedIceGroup.ShavedIce.ShavedIce2.ShavedIce2, models.models.ex_skill_2.Plate.ShavedIceGroup.ShavedIce.ShavedIce2.ShavedIce3, models.models.ex_skill_2.Plate.ShavedIceGroup.ShavedIce.ShavedIce2.ShavedIce4, models.models.ex_skill_2.Plate.ShavedIceGroup.ShavedIce.ShavedIce2.ShavedIce5, models.models.ex_skill_2.Plate.ShavedIceGroup.ShavedIce.ShavedIce2.ShavedIceEars.ShavedIceEarLeft, models.models.ex_skill_2.Plate.ShavedIceGroup.ShavedIce.ShavedIce2.ShavedIceEars.ShavedIceEarRight}) do + modelPart:setUVPixels(3, 0) + end + elseif tick == 16 then + for _, modelPart in ipairs({models.models.ex_skill_2.Plate.ShavedIceGroup.ShavedIce.ShavedIce2.ShavedIce1, models.models.ex_skill_2.Plate.ShavedIceGroup.ShavedIce.ShavedIce2.ShavedIce2, models.models.ex_skill_2.Plate.ShavedIceGroup.ShavedIce.ShavedIce2.ShavedIce3, models.models.ex_skill_2.Plate.ShavedIceGroup.ShavedIce.ShavedIce2.ShavedIce4, models.models.ex_skill_2.Plate.ShavedIceGroup.ShavedIce.ShavedIce2.ShavedIce5, models.models.ex_skill_2.Plate.ShavedIceGroup.ShavedIce.ShavedIce2.ShavedIceEars.ShavedIceEarLeft, models.models.ex_skill_2.Plate.ShavedIceGroup.ShavedIce.ShavedIce2.ShavedIceEars.ShavedIceEarRight}) do + modelPart:setUVPixels(4, 0) + end + elseif tick == 19 then + for _, modelPart in ipairs({models.models.ex_skill_2.Plate.ShavedIceGroup.ShavedIce.ShavedIce2.ShavedIce1, models.models.ex_skill_2.Plate.ShavedIceGroup.ShavedIce.ShavedIce2.ShavedIce2, models.models.ex_skill_2.Plate.ShavedIceGroup.ShavedIce.ShavedIce2.ShavedIce3, models.models.ex_skill_2.Plate.ShavedIceGroup.ShavedIce.ShavedIce2.ShavedIce4, models.models.ex_skill_2.Plate.ShavedIceGroup.ShavedIce.ShavedIce2.ShavedIce5, models.models.ex_skill_2.Plate.ShavedIceGroup.ShavedIce.ShavedIce2.ShavedIceEars.ShavedIceEarLeft, models.models.ex_skill_2.Plate.ShavedIceGroup.ShavedIce.ShavedIce2.ShavedIceEars.ShavedIceEarRight}) do + modelPart:setUVPixels(5, 0) + end + elseif tick == 23 then + for _, modelPart in ipairs({models.models.ex_skill_2.Plate.ShavedIceGroup.ShavedIce.ShavedIce2.ShavedIce1, models.models.ex_skill_2.Plate.ShavedIceGroup.ShavedIce.ShavedIce2.ShavedIce2, models.models.ex_skill_2.Plate.ShavedIceGroup.ShavedIce.ShavedIce2.ShavedIce3, models.models.ex_skill_2.Plate.ShavedIceGroup.ShavedIce.ShavedIce2.ShavedIce4, models.models.ex_skill_2.Plate.ShavedIceGroup.ShavedIce.ShavedIce2.ShavedIce5, models.models.ex_skill_2.Plate.ShavedIceGroup.ShavedIce.ShavedIce2.ShavedIceEars.ShavedIceEarLeft, models.models.ex_skill_2.Plate.ShavedIceGroup.ShavedIce.ShavedIce2.ShavedIceEars.ShavedIceEarRight}) do + modelPart:setUVPixels() + end + elseif tick == 27 then + models.models.ex_skill_2.Plate.ShavedIceGroup.ShavedIce.ShavedIce2.ShavedIceFace:setVisible(true) + models.models.ex_skill_2.Plate.ShavedIceGroup.ShavedIce.ShavedIce2.ShavedIceFace:setUVPixels(8, 0) + elseif tick == 28 then + models.models.ex_skill_2.Plate.ShavedIceGroup.ShavedIce.ShavedIce2.ShavedIceFace:setVisible(false) + elseif tick == 29 then + models.models.ex_skill_2.Plate.ShavedIceGroup.ShavedIce.ShavedIce2.ShavedIceFace:setVisible(true) + models.models.ex_skill_2.Plate.ShavedIceGroup.ShavedIce.ShavedIce2.ShavedIceFace:setUVPixels(math.random() > 0.95 and 16 or 0, 0) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.item.pickup"), self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_2.Plate.ShavedIceGroup.ShavedIce), 1, 0.75) + elseif tick == 33 or tick == 50 then + local anchorPos = self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_2.Plate.ShavedIceGroup) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.bucket.empty"), anchorPos, tick == 33 and 1 or 0.25, 0.75) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.bucket.empty"), anchorPos, tick == 33 and 1 or 0.25, 0.5) + elseif tick == 52 then + models.models.ex_skill_2.Plate:moveTo(models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom) + models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.Plate.ShavedIceGroup.Wave.WaveScaler:setOffsetPivot(48, 0) + elseif tick == 71 then + self.parent.faceParts:setEmotion("CLOSED", "CLOSED", "OPENED", 3, true) + elseif tick == 74 then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "WORRY", 9, true) + elseif tick == 85 then + self.parent.faceParts:setEmotion("CLOSED", "CLOSED", "WORRY", 3, true) + elseif tick == 87 then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "OPENED", 5, true) + elseif tick == 92 then + self.parent.faceParts:setEmotion("NORMAL", "CLOSED", "OPENED", 25, true) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.experience_orb.pickup"), self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.Head.FaceParts.Eyes.ExSkill2SoundAnchor3), 1, 2) + if host:isHost() then + local windowSize = client:getScaledWindowSize() + local center = vectors.vec2(windowSize.x * -0.5, windowSize.y * -0.5) + for _ = 1, 100 do + local rot = 2 * math.pi * math.random() + local pos = vectors.vec2(math.cos(rot) * (windowSize.x / 2 * (math.random() * 0.5 + 0.5)) + center.x, math.sin(rot) * (windowSize.y / 2 * (math.random() * 0.5 + 0.5)) + center.y) + self.parent.exSkill2FrameParticleManager:spawn(pos, pos:copy():sub(center):scale(0.1)) + end + end + end + + if tick <= 5 then + local particleAnchor1Pos = self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_2.Plate.ShavedIceGroup.ShavedIce):add(0, 1.5, 0) + for _ = 1, 2 do + particles:newParticle(self.parent.compatibilityUtils.getBlockParticleId(self.parent.compatibilityUtils:checkBlock("minecraft:snow")), particleAnchor1Pos):setPower(0.25):setLifetime(10) + end + elseif tick <= 26 then + local particleAnchor1Pos = self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_2.Plate.ShavedIceGroup.ShavedIce):add(0, 1.5, 0) + for _ = 1, 4 do + particles:newParticle(self.parent.compatibilityUtils.getBlockParticleId(self.parent.compatibilityUtils:checkBlock("minecraft:light_blue_concrete")), particleAnchor1Pos):setPower(0):setLifetime(10) + end + end + if (tick >= 33 and tick <= 41) or (tick >= 50 and tick <= 61) then + local root = tick < 52 and models.models.ex_skill_2.Plate.ShavedIceGroup.Wave.WaveScaler or models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.Plate.ShavedIceGroup.Wave.WaveScaler + local anchorPos = self.parent.modelUtils.getModelWorldPos(tick < 50 and root.WaveParticleAnchor1 or root.WaveParticleAnchor3) + local particleRot = self.parent.modelUtils.getModelWorldPos(tick < 50 and root.WaveParticleAnchor2 or root.WaveParticleAnchor4):sub(anchorPos) + for _ = 0, 15 do + particles:newParticle(self.parent.compatibilityUtils.getDustParticleId(vectors.vec3(1000000000, 1000000000, 1000000000), 1), anchorPos):setScale(0.5):setColor(math.random() * 0.5 + 0.5, 1, 1):setVelocity(math.random() * 0.1 - 0.05, math.random() * 0.1 + 0.05, math.random() * 0.1 - 0.05):setGravity(0.5):setLifetime(20) + anchorPos:add(particleRot) + end + end + + if tick % 4 then + local modelPart = tick < 52 and models.models.ex_skill_2.Plate.ShavedIceGroup.Wave or models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.Plate.ShavedIceGroup.Wave + modelPart:setUVPixels(0, tick * 4 * 16) + end + end; + + onPostAnimation = function (self, forcedStop) + if models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.Plate ~= nil then + models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.Plate:moveTo( models.models.ex_skill_2) + end + models.models.ex_skill_2.Plate.ShavedIceGroup.ShavedIce.ShavedIce2.ShavedIceFace:setVisible(false) + models.models.ex_skill_2.Plate.ShavedIceGroup.Wave.WaveScaler:setOffsetPivot() + if host:isHost() then + events.RENDER:remove("ex_skill_2_render") + self.parent.exSkill2FrameParticleManager:removeAll() + end + end; + + onPostTransition = function () + for _, modelPart in ipairs({models.models.ex_skill_2.Stall, models.models.ex_skill_2.SoftCream}) do + modelPart:setVisible(false) + end + end; + }; + + ---初期化処理が行われたかどうか + ---@type boolean + init = false; + }; + } + + instance.costume = { + costumes = { + { + name = "default"; + + displayName = { + en_us = "Default"; + ja_jp = "デフォルト"; + }; + + exSkill = 1; + }; + + { + name = "swimsuit"; + + displayName = { + en_us = "Swimsuit"; + ja_jp = "水着"; + }; + + exSkill = 2; + }; + }; + + callbacks = { + onChange = function (self) + self.parent.costume.setCostumeTextureOffset(1) + for _, modelPart in ipairs({models.models.main.Avatar.Head.Brim, models.models.main.Avatar.UpperBody.Body.BackRibbon, models.models.main.Avatar.UpperBody.Body.Skirt, models.models.main.Avatar.UpperBody.Body.Hairs, models.models.main.Avatar.UpperBody.Arms.RightArm.RightSleeveTop, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.RightSleeveBottom, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftSleeveTop, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.LeftSleeveBottom}) do + modelPart:setVisible(false) + end + + for _, modelPart in ipairs({models.models.main.Avatar.Head.CSwimsuitH, models.models.main.Avatar.UpperBody.Body.CSwimsuitB, models.models.main.Avatar.Head.CSwimsuitH.Brim, models.models.main.Avatar.Head.CSwimsuitH.EarAccessories}) do + modelPart:setVisible(true) + end + end; + + onReset = function () + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Body.Hairs, models.models.main.Avatar.UpperBody.Arms.RightArm.RightSleeveTop, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.RightSleeveBottom, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftSleeveTop, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.LeftSleeveBottom, models.models.main.Avatar.Head.Brim, models.models.main.Avatar.UpperBody.Body.BackRibbon, models.models.main.Avatar.UpperBody.Body.Skirt}) do + modelPart:setVisible(true) + end + for _, modelPart in ipairs({models.models.main.Avatar.Head.CSwimsuitH, models.models.main.Avatar.UpperBody.Body.CSwimsuitB}) do + modelPart:setVisible(false) + end + end; + + onArmorChange = function (self, parts, isVisible) + if parts == "HELMET" then + if isVisible then + for _, modelPart in ipairs({models.models.main.Avatar.Head.Brim, models.models.main.Avatar.Head.HairTails, models.models.main.Avatar.Head.CSwimsuitH.Brim, models.models.main.Avatar.Head.CSwimsuitH.EarAccessories}) do + modelPart:setVisible(false) + end + else + models.models.main.Avatar.Head.HairTails:setVisible(true) + if self.parent.costume.currentCostume == 1 then + models.models.main.Avatar.Head.Brim:setVisible(true) + elseif self.parent.costume.currentCostume == 2 then + for _, modelPart in ipairs({models.models.main.Avatar.Head.CSwimsuitH.Brim, models.models.main.Avatar.Head.CSwimsuitH.EarAccessories}) do + modelPart:setVisible(true) + end + end + end + elseif parts == "CHEST_PLATE" then + if isVisible then + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Body.BackRibbon, models.models.main.Avatar.UpperBody.Body.Skirt}) do + modelPart:setVisible(false) + end + models.models.main.Avatar.UpperBody.Body.Hairs.FrontHair:setPos(0, 0, -1) + models.models.main.Avatar.UpperBody.Body.Hairs.BackHair:setPos(0, 0, 1) + self.physics.physicData[1].x.vertical.neutral = 0 + self.physics.physicData[1].x.vertical.max = 0 + self.physics.physicData[1].x.vertical.bodyX.max = 0 + self.physics.physicData[1].x.vertical.bodyY.max = 0 + self.physics.physicData[1].x.vertical.bodyRot.max = 0 + self.physics.physicData[1].x.horizontal.neutral = 0 + self.physics.physicData[1].x.horizontal.max = 0 + else + if self.parent.costume.currentCostume == 1 then + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Body.BackRibbon, models.models.main.Avatar.UpperBody.Body.Skirt}) do + modelPart:setVisible(true) + end + end + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Body.Hairs.FrontHair, models.models.main.Avatar.UpperBody.Body.Hairs.BackHair}) do + modelPart:setPos() + end + self.physics.physicData[1].x.vertical.neutral = -10 + self.physics.physicData[1].x.vertical.max = -10 + self.physics.physicData[1].x.vertical.bodyX.max = -10 + self.physics.physicData[1].x.vertical.bodyY.max = -10 + self.physics.physicData[1].x.vertical.bodyRot.max = -10 + self.physics.physicData[1].x.horizontal.neutral = -10 + self.physics.physicData[1].x.horizontal.max = -10 + end + end + end; + }; + } + + instance.bubble = { + callbacks = { + onPlay = function (self, type, duration) + if duration > 0 then + if type == "GOOD" then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "OPENED", duration, true) + elseif type == "HEART" then + self.parent.faceParts:setEmotion("CLOSED", "CLOSED", "OPENED", duration, true) + elseif type == "NOTE" then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "SMILE", duration, true) + elseif type == "QUESTION" then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "WORRY", duration, true) + elseif type == "SWEAT" then + self.parent.faceParts:setEmotion("SURPRISED", "SURPRISED", "TRIANGLE", duration, true) + models.models.main.Avatar.Head.FaceLayer:setVisible(true) + end + end + end; + + onStop = function (self, _, forcedStop) + if not forcedStop then + self.parent.faceParts:resetEmotion() + end + models.models.main.Avatar.Head.FaceLayer:setVisible(false) + end; + } + } + + instance.headBlock = { + includeModels = {models.models.main.Avatar.UpperBody.Body.Hairs}; + } + + instance.portrait = { + includeModels = {}; + } + + instance.deathAnimation = { + callbacks = { + onPhase1 = function (_, dummyAvatar, costume) + if costume == 1 then + dummyAvatar.UpperBody.Body.Skirt:setRot(35, 0, 0) + elseif costume == 2 then + dummyAvatar.Head.CSwimsuitH.HairTailsBottom.HairTailBottomRight:setRot(29.3063, 5.6842, -13.9042) + dummyAvatar.Head.CSwimsuitH.HairTailsBottom.HairTailBottomLeft:setRot(29.3063, -5.6842, 13.9042) + end + end; + + onPhase2 = function (_, dummyAvatar, costume) + if costume == 1 then + dummyAvatar.UpperBody.Body.Skirt:setRot(15, 0, 0) + elseif costume == 2 then + dummyAvatar.Head.CSwimsuitH.HairTailsBottom.HairTailBottomRight:setRot(1.5523, -7.3011, -23.9759) + dummyAvatar.Head.CSwimsuitH.HairTailsBottom.HairTailBottomLeft:setRot(-10.0014, -13.1248, -21.4687) + end + end + }; + } + + instance.actionWheel = { + isVehicleOptionEnabled = false; + } + + instance.physics = { + physicData = { + { + models = {models.models.main.Avatar.UpperBody.Body.Hairs.BackHair}, + + x = { + vertical = { + min = -150; + neutral = -10; + max = -10; + + bodyX = { + multiplayer = -80; + min = -90; + max = -10; + }; + + bodyY = { + multiplayer = 80; + min = -150; + max = -10; + }; + + bodyRot = { + multiplayer = 0.05; + min = -90; + max = -10; + }; + }; + + horizontal = { + min = -90; + neutral = -10; + max = -10; + }; + }; + }; + + { + models = {models.models.main.Avatar.UpperBody.Body.Hairs.FrontHair}; + + x = { + vertical = { + min = 0; + neutral = 0; + max = 150; + sneakOffset = 30; + + bodyX = { + multiplayer = -80; + min = 0; + max = 90; + }; + + bodyY = { + multiplayer = -80; + min = 0; + max = 150; + }; + + bodyRot = { + multiplayer = -0.05; + min = 0; + max = 90; + }; + }; + + horizontal = { + min = 0; + neutral = 90; + max = 150; + + bodyX = { + multiplayer = -80; + min = 0; + max = 150; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.Head.HairTails.HairTailLeft}; + + z = { + vertical = { + min = 20; + neutral = 30; + max = 140; + + bodyY = { + multiplayer = -80; + min = 20; + max = 140; + }; + }; + + horizontal = { + min = 20; + neutral = 30; + max = 140; + + bodyX = { + multiplayer = -80; + min = 20; + max = 140; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.Head.HairTails.HairTailRight}; + + z = { + vertical = { + min = -140; + neutral = -30; + max = -20; + + bodyY = { + multiplayer = 80; + min = -140; + max = -20; + }; + }; + + horizontal = { + min = -140; + neutral = -30; + max = -20; + + bodyX = { + multiplayer = 80; + min = -140; + max = -20; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.Head.Brim.BrimRibbon.BrimLines.BrimLineLeft, models.models.main.Avatar.Head.Brim.BrimRibbon.BrimLines.BrimLineRight, models.models.main.Avatar.Head.CSwimsuitH.Brim.BrimRibbonRight.BrimLines.BrimLineLeft, models.models.main.Avatar.Head.CSwimsuitH.Brim.BrimRibbonRight.BrimLines.BrimLineRight}; + + x = { + vertical = { + min = 0; + neutral = 0; + max = 150; + headRotMultiplayer = -1; + + headX = { + multiplayer = -160; + min = 0; + max = 90; + }; + + headRot = { + multiplayer = -0.1; + min = 0; + max = 90; + }; + + bodyY = { + multiplayer = -160; + min = 0; + max = 150; + }; + }; + + horizontal = { + min = 0; + neutral = 45; + max = 150; + + headX = { + multiplayer = -16; + min = 0; + max = 150; + }; + }; + }; + + z = { + vertical = { + min = -60; + neutral = 0; + max = 0; + + headZ = { + multiplayer = -160; + min = -60; + max = 0; + }; + }; + + horizontal = { + min = -60; + neutral = 0; + max = 0; + }; + }; + }; + + { + models = {models.models.main.Avatar.Head.CSwimsuitH.HairTailsBottom.HairTailBottomLeft}; + x = { + vertical = { + min = -150; + neutral = -7.5; + max = 70; + headRotMultiplayer = -1; + + headX = { + multiplayer = -80; + min = -90; + max = 70; + }; + + headRot = { + multiplayer = 0.05; + min = -90; + max = -7.5; + }; + + bodyY = { + multiplayer = 80; + min = -150; + max = -7.5; + }; + }; + + horizontal = { + min = -150; + neutral = 45; + max = 70; + + headX = { + multiplayer = -80; + min = -45; + max = 70; + }; + }; + }; + + z = { + vertical = { + min = -70; + neutral = 5; + max = 70; + + headZ = { + multiplayer = -80; + min = -70; + max = 70; + }; + }; + + horizontal = { + min = -150; + neutral = 20; + max = 70; + }; + }; + }; + + { + models = {models.models.main.Avatar.Head.CSwimsuitH.HairTailsBottom.HairTailBottomRight}; + + x = { + vertical = { + min = -150; + neutral = -7.5; + max = 70; + headRotMultiplayer = -1; + + headX = { + multiplayer = -80; + min = -90; + max = 70; + }; + + headRot = { + multiplayer = 0.05; + min = -90; + max = -7.5; + }; + + bodyY = { + multiplayer = 80; + min = -150; + max = -7.5; + }; + }; + + horizontal = { + min = -150; + neutral = 45; + max = 70; + + headX = { + multiplayer = -80; + min = -45; + max = 70; + }; + }; + }; + + z = { + vertical = { + min = -70; + neutral = -5; + max = 70; + + headZ = { + multiplayer = -80; + min = -70; + max = 70; + }; + }; + + horizontal = { + min = -150; + neutral = -20; + max = 70; + }; + }; + }; + }; + } + + instance.dataSync = { + syncData = { + + }; + + callbacks = { + + }; + } + + return instance + end; + + ---初期化関数 + ---@param self BlueArchiveCharacter + init = function (self) + AvatarModule.init(self) + + --生徒固有初期化処理 + --Player APIにアクセスする場合は、ENTITY_INIT後に実行されるようにする必要がある。 + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shizuko/scripts/character_scripts/ex_skill_2_frame_particle.lua b/config/yosbr/config/figura/avatars/Shizuko/scripts/character_scripts/ex_skill_2_frame_particle.lua new file mode 100644 index 0000000..c84e627 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shizuko/scripts/character_scripts/ex_skill_2_frame_particle.lua @@ -0,0 +1,59 @@ +---@class (exact) ExSkill2FrameParticle : SpawnObject Exスキルのフレームで使用するパーティクルの単一を管理するクラス +---@field package object SpriteTask インスタンスで制御するオブジェクト +---@field package currentPos Vector2 パーティクルの現在位置 +---@field package nextPos Vector2 次ティックのパーティクルの位置 +---@field package velocity Vector2 パーティクルの速度 +---@field public new fun(parent: Avatar, pos: Vector2, velocity: Vector2): ExSkill2FrameParticle コンストラクター + +ExSkill2FrameParticle = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@param pos Vector2 パーティクルをスポーンさせるスクリーン上の座標。GUIスケールも考慮される。 + ---@param velocity Vector2 パーティクルの秒間移動距離(ピクセル) + ---@return ExSkill2FrameParticle + new = function (parent, pos, velocity) + ---@type ExSkill2FrameParticle + local instance = Avatar.instantiate(ExSkill2FrameParticle, SpawnObject, parent) + + instance.object = models.models.ex_skill_2.Gui.script_ex_skill_2_frame_particles:newSprite(instance.uuid) + instance.currentPos = pos + instance.nextPos = instance.currentPos + instance.velocity = velocity + + instance.callbacks = { + ---@param self ExSkill2FrameParticle + onInit = function (self) + self.object:setTexture(textures["textures.ex_skill_2"]) + self.object:setDimensions(textures["textures.ex_skill_2"]:getDimensions()) + self.object:setRegion(1, 1) + self.object:setSize(5, 5) + self.object:setUVPixels(33, 15) + end; + + ---@param self ExSkill2FrameParticle + onDeinit = function (self) + models.models.ex_skill_2.Gui.script_ex_skill_2_frame_particles:removeTask(self.uuid) + end; + + ---@param self ExSkill2FrameParticle + onTick = function (self) + --パーティクル位置を強制更新 + self.currentPos = self.nextPos:copy() + self.object:setPos(self.currentPos:copy():augmented(0)) + + --次ティックの位置を計算 + if self.velocity:length() > 0 then + self.nextPos = self.currentPos:copy():add(self.velocity:copy():scale(1)) + self.velocity:scale(0.85) + end + end; + + ---@param self ExSkill2FrameParticle + onRender = function (self, delta) + self.object:setPos(self.nextPos:copy():sub(self.currentPos):scale(delta):add(self.currentPos):augmented(0)) + end; + } + + return instance + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shizuko/scripts/character_scripts/ex_skill_2_frame_particle_manager.lua b/config/yosbr/config/figura/avatars/Shizuko/scripts/character_scripts/ex_skill_2_frame_particle_manager.lua new file mode 100644 index 0000000..9de59d1 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Shizuko/scripts/character_scripts/ex_skill_2_frame_particle_manager.lua @@ -0,0 +1,44 @@ +---@class (exact) ExSkill2FrameParticleManager : SpawnObjectManager Exスキル2で使用するフレームで使用するパーティクルを管理するクラス +---@field public objects ExSkillFrameParticle[] インスタンスで制御するオブジェクト +---@field public getObject fun(self: ExSkill2FrameParticleManager, pos: Vector2, velocity: Vector2): ExSkill2FrameParticle Exスキル2mpフレームのパーティクルのインスタンスを生成して返す +---@field public spawn fun(self: ExSkill2FrameParticleManager, pos: Vector2, velocity: Vector2) Exスキル2のフレームのパーティクルをスポーンさせる + +ExSkill2FrameParticleManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ExSkill2FrameParticleManager + new = function (parent) + ---@type ExSkill2FrameParticleManager + local instance = Avatar.instantiate(ExSkill2FrameParticleManager, SpawnObjectManager, parent) + + instance.managerName = "ex_skill_2_frame_particle" + + return instance + end; + + ---初期化関数 + ---@param self ExSkill2FrameParticleManager + init = function (self) + SpawnObjectManager.init(self) + + ---@diagnostic disable-next-line: discard-returns + models.models.ex_skill_2.Gui:newPart("script_ex_skill_2_frame_particles") + end; + + ---Exスキル2のフレームのパーティクルのインスタンスを生成して返す。 + ---@param self ExSkill2FrameParticleManager + ---@param pos Vector2 パーティクルをスポーンさせる画面上の座標 + ---@param velocity Vector2 パーティクルの速度 + ---@return ExSkill2FrameParticle instance 生成したインスタンス + getObject = function (self, pos, velocity) + return ExSkill2FrameParticle.new(self.parent, pos, velocity) + end; + + ---Exスキル2のフレームのパーティクルをスポーンさせる。 + ---@param self ExSkill2FrameParticleManager + ---@param pos Vector2 パーティクルをスポーンさせる画面上の座標 + ---@param velocity Vector2 パーティクルの速度 + spawn = function (self, pos, velocity) + SpawnObjectManager.spawn(self, pos, velocity) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Shizuko/textures/barrier.png b/config/yosbr/config/figura/avatars/Shizuko/textures/barrier.png new file mode 100644 index 0000000000000000000000000000000000000000..f370a968a6e6c60761c4f7a188d7c44ce1bf9bf6 GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^j3CU&3?x-=hn)gaoCO|{#S9GG!XV7ZFl&wkP>?ym tC&cyq|NqVF|3v_~T%InDAsp9}6M$?c2F6ES|xv6<249-QVi6yBi z3gww484B*6z5(HleBwYwoCO|{#S9F3${@^GvDCf{D997w6XNP#-~(j-|NkFI{ubWW z3Z$4yg8YIRI4V3`K^7Z%x;Tb#Tu)Be@c;0E1AnrA*vjLu_#ZRFy%x2ZQhP5x1L|h*boFyt=akR{09f)oX8-^I literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Shizuko/textures/bubble_emote_guide.png b/config/yosbr/config/figura/avatars/Shizuko/textures/bubble_emote_guide.png new file mode 100644 index 0000000000000000000000000000000000000000..a6b414202e18123cc93b634a85e680a66e0a9fe4 GIT binary patch literal 494 zcmVvD800032NklL{98?E$@`La%y+s+cA+7ER}K+p}aatE=lFu-ULeLWgH1R zr7|d~dm1u3wI-OHl&evMe$!{KVri$1Za$T<*ZHa3DM<}U69UsXiOn<=cIQ} k=*f{RowdRB0DV*N2kFQ#jp%gQga7~l07*qoM6N<$g5h)W9smFU literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Shizuko/textures/bullet.png b/config/yosbr/config/figura/avatars/Shizuko/textures/bullet.png new file mode 100644 index 0000000000000000000000000000000000000000..392b8f7c3906129885119b03aad3353ef99e562c GIT binary patch literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^EI`b|!VDz0_b@5|DajJoh!W@g+}zZ>5(ej@)Wnk1 z6ovB4k_-iRPv3y>Mm}+%BF+Mj$YKTtJ!KGPtXOJa1{72Y@Ck8^3Xe~T4g->>mxKTr z|9>6*|836R83F%a&e=cH^Z$Eal|aXmSq yC?TOJ!3aqGdOtPI(4Y{viAnS=lpGkCiCxvXF|9LK-Urj1cXqYf#dY!L+okyLsKOR(?|2_+a&2th?B(eUU^x&#}Y3HHE0i%~hl7T<~ zx~m5z0CXTOqT@FFem~2~${|%-@_=q-YV4IKEgcX^;plDWCVv^696LbCdt`Z`rEtN0jub1x%8^X55&-~G ztcZL$k`A`^NIsD^gByTpX*N{I%eSwLjbwF>*um<|Ne~iylS@~u&YYA&a-z-NZ%r?OsBNz*haqhrwBUdRC8tc2|LLIb3AJyMT(->N>CI9)WdOokzgQO9T2LjQW+gfJ3%{p8uIdYY~Oj<^4PY6 z;fU_`LU(&D+lrz9T+XG26(O3Y*-Fqf4aG5-*0+&$xIV!LOqU-NpOQWwlf* zRRb9IORJTVtR2)elx8{Tdf2WS`B8taH2{clL~>THb*9nIxsceZi4JDf&Ih)uCSMqi zZ1~dHt(tscyK3@9p=!(&swM%upNXof=H=Igir(Bt~im00000NkvXXu0mjf&BJ@Q literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Shizuko/textures/death_animation.png b/config/yosbr/config/figura/avatars/Shizuko/textures/death_animation.png new file mode 100644 index 0000000000000000000000000000000000000000..f243ea10d108e2c2f5486f6a962aa91378446a34 GIT binary patch literal 2020 zcmW-fc{r4d7st;#!^{{aGM%c6Q{{H^* zkUz(YMaTRX_wV2D?Ci9$ zv1z{(^(fi%W%h-k$7%Wb`CKmd`Sa&27Aq+!sUXg_f^$49EUYolD>F0mamHyM2d!u? zz3%RA6&016!KPt7(WU$gkYGnUCqTz|X8}la*5;Fr>e)l!RI2s&F{Lzr@sUR+bYp)U*)?NT@-*N^nGX&HpwE<%v z;Mv9t4j;NR(L1{-^eTl5`E&++*XK6q?n8Q4oRUGa|E#BPiU79>;>zSC;ja87a5$VP zWMb_dWHDukspEkn-1RZV_?=gRtByVP@1+^Tf&%6RskQVX=w+f2w!TF3F{DHitS4so zbn1h-$*d|O-XWw>+;M{-R^s|0 zI0^rVIJU#9h(8gE0+e3F9e_Y#vK^&&pihe4l$F1QC96&`j7JiyA8N7wi8TZ24jmxY zjZi|d+uhQ?5gGYJ{=};}>#xA3GV&-rQAhl-Ogo%-=Pxiv*t$64=#IS~BaJPqzkt$) z=C}G9jxj}bOt_@u3-}$AyS_Vixd=?_WbOVb1N_vQMmII-RV5+{7(lS2hkf^EzIMfb z)BJW14#LV(haYDatzv5+&F;n8{&TQUqYGN{Xq~4pAPf+|KnyxW<9%pQc_2;*olXrd z$@{?92zUyT8yf3mY(tsNnBF~+n>bw zU@Q%F)uV*o{+q2$h5HX8B4~KA-EgM16gyNL7>I{NRU~GeOvFDz^<@M^;H*dX;#3X%2)S89eRvy}!%~0Spjg>9h$|NVrBlsIKWloQRo!4Y^6`Zp>)N-w} z(hZTrBnz3Opmt*wt*a-%b#iPsy3lQprL2$1qRy6c1rEf+O2b0vL+Q~k&g^$zEmsY; zxzvt}M=A*IhmTQ+(hsmlNK>>Q1oY{^j{M-o%d0E5#_dgssd6Ho8;LMD!Xe}5=;GrX z5^lax9rll543&!g@4W9$-r5a#+^!_WKH?sdVWNez7`IluAt=WrlHOyi(eJ-8lgFiU z2V@Pqh77RDHFrH^e8q^w%x!2wwsX^kuT?~0jF@5=o2xyfa)-?JTrVPJ0htgC~v(@%Dtgd%iFO0cS>vX;9*Fuf=?9nC!;N&AtIHtqyc-nA7 zja@>QGCsL65_qP?khB-HLSxmDJ=M%ZH_B)K}-i%#v5v9yt%pxWDye2ZvXEc@6pfE@PD0hr1Y{r z*Qd>Hvmt&SlLf68l;<#Pge!%(Obb*YGYR#gKXyj$nzzNxunn{%f^+@)qksz`Ds9zT zF=ex>>-QJjzT4c)ma(D{dUAtZ0(Ja4YK~O1YL|*eD;;2}tvs504;efVKS$NXcF;vX zHu|f&EWGi1m#flFA$^Ra$B6aHOTe zi`u2Zk&_T1~fhss;p(*(Y$*m48?!f83xfnCxZ*ALJt&A*tP$P3IG(h+DcFc(fm910e@pj0zyLjKqmE%MS zS1IvisvB5Hw7!A5!^Ln$m=}{*?z0<>UcsIJ_}%4{%eQTTC;Qb}?M@}$7F~8A$mEM% zd`Es-Ad$!I-@R`s3Sa#qfXu9{7#zS#MZ--B*uMB6Oc(=|9bn6yAl7%~FCo=(+^C%E z28)PNS{Yu5OhjExFV^8Il26&6*o%}JqcuifEtH0}F~g_i#6k-WF(GczHDsP6c2R1R XSQ8c-oF?b-3HV`cVP{@`m>v6nxgKEv literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Shizuko/textures/emojis/black_dot.png b/config/yosbr/config/figura/avatars/Shizuko/textures/emojis/black_dot.png new file mode 100644 index 0000000000000000000000000000000000000000..32f952e6926fed6a3e8c08e8e28c6774175c72bd GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^EFjFt3?wJp^Vk9@$r9Iy66gHf+|;}h2Ir#G#FEq$ zh4Rdj3FVdQ&MBb@0G;0^#{d8T literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Shizuko/textures/emojis/dots.png b/config/yosbr/config/figura/avatars/Shizuko/textures/emojis/dots.png new file mode 100644 index 0000000000000000000000000000000000000000..eeb5df5529e8a8d668a571f4339092e73a982fe5 GIT binary patch literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrOUWQl7;iF1B#Zfaf$gL6@8Vo7R> zLV0FMhJw4NZ$Nk>pEytvXMsm#F$061G6*wPEVVBK3bFt3ruKaWT?N-8k{WU=nquD;OXk;vd$@? F2>^vjE2#hg literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Shizuko/textures/emojis/good.png b/config/yosbr/config/figura/avatars/Shizuko/textures/emojis/good.png new file mode 100644 index 0000000000000000000000000000000000000000..df8baedf092d1697de5f940e1c6dc2783271ff32 GIT binary patch literal 220 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGaEOCt}an8@pP0cG|a4t$sEJ;mK zD92YC`j z#ZwKOPu#e1GD7f#Kw)7Zn{i900OQLbCg~MRR5&)uIx#XVd&Kqp=CnOEK*Jb3UHx3v IIVCg!0HohPs{jB1 literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Shizuko/textures/emojis/heart.png b/config/yosbr/config/figura/avatars/Shizuko/textures/emojis/heart.png new file mode 100644 index 0000000000000000000000000000000000000000..cea3a12c758ab289a5f79498292947ece20672eb GIT binary patch literal 219 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9k|nMYCC>S|xv6<249-QVi6yBi z3gww484B*6z5(HleBwYwoCO|{#S9F3${@^GvDCf{D997w6XNP#;Il};<@c10|F@rh zwZ_2#D9%_C;uyklJvo7a@fbrGJKHwZAYq9macR1VC*rndsXEJP zDQ?ZWDkSi+r7`#FD^8xC)z>Ty3{w8GWQomYGCIhZBf!k?EmHjUgCi3&fyOa-y85}S Ib4q9e0IvE$hX4Qo literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Shizuko/textures/emojis/note.png b/config/yosbr/config/figura/avatars/Shizuko/textures/emojis/note.png new file mode 100644 index 0000000000000000000000000000000000000000..0d360af1ac98d32e264cb3707642ce0cf45d0af6 GIT binary patch literal 223 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGaEOCt}an8@pP0cG|a4t$sEJ;mK zD9S|xv6<249-QVi6yBi z3gww484B*6z5(HleBwYwoCO|{#S9F3${@^GvDCf{D997w6XNP#;Is3uv&MRt|Nrj< z-o88=D9%_C!8QX9KfW(tYRVTpff>0q9O7Qr-u;3Eg3G&LkIdM1I=LYboFyt=akR{05z*SssI20 literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Shizuko/textures/emojis/reload.png b/config/yosbr/config/figura/avatars/Shizuko/textures/emojis/reload.png new file mode 100644 index 0000000000000000000000000000000000000000..1f33267d6e9717d41b952588bb05fd8a47c3e806 GIT binary patch literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrOUWQl7;iF1B#Zfaf$gL6@8Vo7R> zLV0FMhJw4NZ$Nk>pEytvXMsm#F$061G6*wPEVVBK3bF@&*Qm+^L+W6E(EufCe&n My85}Sb4q9e0LG6%-2eap literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Shizuko/textures/ex_skill_2.png b/config/yosbr/config/figura/avatars/Shizuko/textures/ex_skill_2.png new file mode 100644 index 0000000000000000000000000000000000000000..f50c7487ef4130d3d5e865c20b1559ba538c6e68 GIT binary patch literal 3240 zcmV;Z3|I4sP)gp3^hqa zK~#9!?VEj!6y+VqzrSZ@XZP+nUXC~QfIFe6k+e~$jiRMoPt<0qF;pqkaLU`+D5N5x zSeqs^ZBs2t&jQ*Ca-=9ii?yWnM7<&?)uu5JT7#`2aL2)+r#<1kw|$v;e*I%_mf6{v z+1VF3$n7uL%*->-?9B7o@9+D(+zqv~wQ=>tiMW{2dg>GaAlLhv*AGUhxQt^kerSPW zWEDkVMPNl>MPNl>MPS7!0xJS50xJS50xL#h@;z9y|G`{!$Tg_#ufOKOe1M5_SD_QY z7$VB%x|X&!9yEoOO}cteVD+}OVAm(70RYUL0>CUcW5E>@a3Rj${OAv{;k!@c$*=t! z!3i757qFomSN~xr@vfJcXd^K*6Ore3$eX^YY`@zf4~z!9)9<#Zu%g0>3M(q?a#NT! ziVDl1sN!5QONAAI<*6{WsIctju$P3w7G61#tPf5^wD8J_bg|B7y;?DtlkZ92ek}Rm z^$m60-P(up>QZc8wLPst`xb<`c2^Tk8#A1b{_l(AcHe?9f8)iS8Si(nw;YGh>6kuJ zO>Sp@u??}a0@^6)xD9^gLAoSUa^Vl|WdJCzE=6~1AL<+G*o5}>qjkKa3aDMRo%SsV zGXPA!`^$XdFCPE^*Y0W}{YCH}H$Ut8{qyS|PJ?y$oQ|1Y2{-^!V4264tcR6XmjVDx zg_-g8qjlVTrWdFx0|3UQ?o0F$m zL)X8^*bY@4p7tG_L1Dfa=zkI>eb)fSo|MSRyvHHO_v^?=1?ppT<&$#h6 z{C4MS_~raXcuY2O$;wBP^(Srm9opO5QCV4;92(@JFfV2K@-RE7lS>~))z)WI&iMiN z<5dgsi-y#mYmE`adL`-%>^D0Q={SYg56?vS-sO0$OU3oGW&t~2OV)X%^#tZsPsS^) zCve{YtoHVH`1P<%>FC?Tyj10;J}+n{tTjf^_k%||PT{)n0|=K%G#x&UJ6A8q8++bK zsWY#7GL&%|=3#OYR%Kw77zTqLf) z?MpKeo<0Q|x>VeG&n#T~>EDxer1~E;9hri=Z@+^IWd(VASk=~NJs~-r+tjcK&#!Al zcu5_a8nF$^+MXUZmy*suQdlC9<;EV+MKLH@+nxZ`=s z*29ETD*A8jMC1`5gj%DkXq$tYzNrAk1Yw`mC?;mOg05lywj_~v;cw^5yxbvP_ z7knsV^(wn}W%RIX)X#`_cF7aMO%A2v51f(Ze=x znuhunM_und?`P{19m7x7xb7Fs!<@|C1Y|<=^08^O7n>RuCCkiow5!SlXR2yN{nF$< zI^K5t{-vv5#O6)YlE+TaOemSc4y|#=^Tb9UlTu0mz%Pwu`rc=r{;2v%y-dDlh2+<> zOogRDbBX#DM_m=>7nWJq4$TV7y3GohQ}}`A)GIncv_o1^zZB1GX>|N$O@q%DmKU^4 zkkU-wI;Qf1Vogy$1K9OSG^sM{zSYD0C@fz{8P~Wnq@kzjXHrl$N;4H^n!i@-x3-_Iibem5tI=dyi-Km|hCXW)g1ou|h!` z%uwB6WV2dv!-#mwbjX}0&G~#-3Zykg5X}`mY11d`w8|@ zvVWXL_~yPj4l}pmC3R@7=t&vrH&^r^yrj;tz8_d?n_H3}6J9m|3ZYKnXC2I5ZiQE~ z{N=O}zIB>ZwP8NiD^XN!nD01!a+)DzQkYd~b`XB{^G-?Ya*bU{ZsjS_dm!U9DO)&B zv9`G-xy=PyK{^KO61AI(GM;;SOv*^#X_}O&oQBnS4qTl)tPraeIh(%IYN{I~yTa__ zD5q&sF6B-hX5U`yAh-V^@C(meK+Hu|*78hKqYDwaD9jU>?{M(26{}uw>;c`%X;=+? za^@6|Jn{+tQ92^+{4IT5$?{wJx^QsZ9;iJJcs`as?DuJPYGz-P*J^D+mUZjJ%H1G2!2$qr`;7pAiNrvN0H|0n zqYOK@csIfXVsE@tS>C3fYkIk<#4li{n7;7^EFPyMk4>e0XRPY^JYHbz=Wb~-jfe{zd+<2&4PH}y9@wE%`uo;vn(H_6~x1=KI8_?kHQKG%LJ98 z;DNGy(lcuha|7j+vQFun>;3HBIrV$gLF*ob`SQ0_ zU2fslSbG%e;f&5sHUXI*Yq{U_ER?#^QqrrjPQdJM-Fv0ASE`%m{(W|F^8ORbS7Jn0 z6_nAV6aOs2I$MGL>(u~sO&p5_)eeAKnWz)Q{S46$Mr5FMA%ZLs%oWU3s_3#h5HrRL zLr$IkKyLryDXfs}FI8qrBe!!_)n*$L%2xsaPIqrayfyLiLgdf^CQ>PK=l}yiy!8X< znm85>1x^s*Ll!vApfeEELf}>=d6G$Uu(=)-7lHZ)^4MGhU{(2Uv1d&YulhX9{6NNFeVIVRb`q;yMgOav$f z0D2snP)UPfbP*^b6@Vm4qa}f|oIT8{BCD7AeSa_;c$vJ>g!QfR$CKBXsxo1j#{jiT zqR$C@PAZ~9s-ly@XBCp4g4NH!>SqecPZ@kxLUc-S2S6XQz-dDjt$7Vxt&O(AbK1X< z@z#;VE#AUY00{TjB$Ra?(s{)l{B!JSW;)9%bx7h)2A@SB&}B$Oz|a8z0Zm05eXPb~ zQWpRuh($=SQE^d6`c{wf>I`!E?)6_^i!}$IN`d425Zq4!=NQyYj9vr+T`^O=o+ACq|0+sq0b984zs47ec%3)rkh9Q3ag<+#c*}HuWK2ipCm`5 z$}z=|y@o_2svs7RBQjZ>pSVD4O?yBh+1&{)yp!q8)qIZ8Az?8vp3%m+fg zqx{P)F5j2r2_a#~piZPIMl67UrbeUCdU_z|&P`PL_+tbD0cb&jN_s3{u+UUckeNe6 z4j4g}Ku}09X;O$X2=oOF=m-p?A%H*tTF`(79U&=1nE+|fIYa^_Lr-B$C2Y`0sOVxs zjP-bo)Bu7K5%fU=fFMDIju0#H5zwiOV3ae&NX3v9Lr-DMqanDT42nPzkOWX%*MyY4 ztY~onAUzh4LX<(LG66YSfX0L5C?+Z$dI|$q3r3$oqF)#i00WAmC58@q3;+xkngD48 zqg;T-1AHY(Oi*-LJ>-CCQGI+g6zEmhfFvp*79nDJP5==Z=V+pF6ok$ph8PKwqlCc~ z0LBLUjQmHVwIuJ9)1DKlY aeg6-F^D|a4=?NqN0000jA5L~c#`DCC7XMsm# zF$061G6*wPEVVBK3bL1Y`ns~eU}EGG)P12IstOd6EOCt}an8@pP0cG|a4t$sEJ;mK zD99588yNaOGQ*@Zb%RVsHBHF(^7#o|)D#N^+K zq+6OB)wpsy#E<(h35N=KyNfR`5fkQcJGC=nne=(fL;I~kNo-zxk2gy0G8Dz0QeTR2LLGD_7YX@zN=sL8dVR| z1R&+4wzeA6DV-^B-p6jZZ>6)|;%wXm0QLejp1lMecKxgw)4cZ*Y`zGP`V9Ra$4w$Y zFQmaDO*-ZVJ3u5`_9aISX8-pm0IDk1Z4WY`c2zqXHk+^#;VykJ0ao+6giyf6EL1SH9Ig- z2$E#n;B1Ad?@^%@gODEE h5%G*bs~H%6sH$^a2tToI_4+R$uBWS?%Q~loCIBS)MOy#> literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Shizuko/textures/for_modeling/leather_layer_2.png b/config/yosbr/config/figura/avatars/Shizuko/textures/for_modeling/leather_layer_2.png new file mode 100644 index 0000000000000000000000000000000000000000..abd64e6b2afc513de9bb4794d53f15f5860b47e4 GIT binary patch literal 322 zcmV-I0lof-P)C2ia4%LKP}`efr*W;P{}&k(_|QiVHk#C7=~dO#_(8{ z<;0lh`T7niz_IV=wr!UP!wCS=Am3UWR{$Nu^gR2Xy{|d&X|IGpAOpLv>-r{$dA25b z%*(V0NKgP0LqR3t$&07*+Ys1m5g4aN>D>K);}U+VrJZBN|rIb`d|P57t+vV U)x6I!H2?qr07*qoM6N<$g2$hYH~;_u literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Shizuko/textures/for_modeling/leather_layer_2_overlay.png b/config/yosbr/config/figura/avatars/Shizuko/textures/for_modeling/leather_layer_2_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..4faea6d65b021018577bab2b0b24edb8cc59df91 GIT binary patch literal 181 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!3-p)I`?e@QlbGqA+A8$OGhHeL?OyTA<0G| z%R#f)L-Tr$Cnr#Xu_VYZn8D%MjWi&~&(p;*#Dn+kK|?NQLjh;Ux0kiP+ZQEGR$6+H zrEa6KRC3Qpi*4(Eh`w$Ue%-b9`GdtbxHR^abg^tQS)wRy6`JRve_@@M{tJdET1oSEANutbKc` z^ZCEI*M8e^y%nuIb@f*&-zn|~uYe{qFgz<+Si53r*zdI;u2rA1Ni=bP(Y<4~bVZ-I zxZzR;`_%W}e=lqkH@J13UBf%p`u_v-`lOePr!Mz0e2`>M57Wq-(DL9E$QVyoKbLh* G2~7aLiB-M; literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Shizuko/textures/for_modeling/trim_leggings.png b/config/yosbr/config/figura/avatars/Shizuko/textures/for_modeling/trim_leggings.png new file mode 100644 index 0000000000000000000000000000000000000000..509e2440789e72a85fe37e34c45fdcdb87ccf18b GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!3HE3&8=$zQW>5ujv*P&Z?80RHYfvV0V-u+*wBCPx1{N@3a#HU-C1krE}gPFYi+sw=hu}7 z;*8{tgrEJH@%_xqP4CXzZBqUG^t+_6c%5{gTe~ HDWM4fe7ZSG literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Shizuko/textures/for_modeling/water_flow.png b/config/yosbr/config/figura/avatars/Shizuko/textures/for_modeling/water_flow.png new file mode 100644 index 0000000000000000000000000000000000000000..f91a41c6ad43d7202c23b9a03aa3d1c97cbc1630 GIT binary patch literal 6637 zcmZ8`3p|tk`~POnVWp)|Ba~IBe37)RIiFIahVeKg$~hrzbBLA-X>*7NVNMlu$SIFP z4#_Epr6nY1W3?Pd2)}#k`~N?`->%p0`~H0P+Wq?6pX<8b*ZY0lQP}gw;-WI5AP`90 z)WpCFILm`T{2*aL;3_=Do&lT$UCfOQK(9fsKwH6?QYV2K5kC`r00^{WH}4Aur9RmQ zObP{>S{MpVi$MhxMHgA|4?!SllBt32CBgtFeb{%~M~Qbaalq%-Z*3tN?u?z3BW-)wEl#w&pbqO-%Ha_D-e+ZzH> zD6`TppT6CkyVW}bD~jT@}A2vf4&^#IBTV8eqI0U zzOPp?wr`=(BY62cp7U@u;%i;#4hvFPd@7uXWu!g`>w+Ggtu&;#;TxIE$FG|D`|&>f z$2!W^j=!;sftRb0U%x)X6;0|mR1>@+v4FHmTUlF^DI}>x^J%47ynr;1t-6$g=y3gR zujd!rl;0LW7ciDErpdb!YRe);?(7|$+yof(e2j=sN+;5az7j`f=0PZF@;tC?fA~L6 zaQA2yvwmlTe?=u?4$dAINam8nt!rgrzF2MQ zKf0rWk&q}z6mJL&kRyLA9Huqs`^A~CI3;e&wM}xygRD4t^XIZ<(ccVfK0uM^Lu_@sQyjo@I}{p0z>qBR87T}lOfRaV|3rv->l?zcWR z$}FD0z3gtAYqpiR!W|sN(DHldu&Z;{;e?ei^^|a&(>%t#qfAUfLV~8!fud=nPy+P2 zF>p~icK7a~1x7JK^yexov!TGak)<{N*VmSg4)Yi6T_C%b08&5Z_V;b~?S{T*1-xL} z&tqDhXKyTLU6;}0)<5_8X@0j&60zTMtXaT7fv z{Orck#hdR!&YF$BnD&x}m1(*g^GTpvk})4_CT7UkRFKyDxh&6%~GfBVh*Of^_?5Wmcm5Kvtfw40WhyZU9A8Iz80B%dcMN4wSxA}~y$BKQ933z>)0mDk zI>dnwefjcySG-dkj#6`Ea$_QsW%_xJxa8T9|hJO44+eeV)H~ESFv$>cto(VS3VaAXn|K4e_F31C0 z4q}l{Z>3o3d=Uv0zA`&ZM?IF@HR-Gf^=4ebCwZ2MObW+^vmkBJ=cG_lhNa2zZF2N} z@0UWbz)CrE2#AhO{cvPAV`6-1oB|}R6FBM<9#PO{_E3hp#5~0pW$p272UTN+oPOfo zrTvIPQexQo_s-On1c<3qXrfS8cQ;*~Hjq0$HpU117I6sHUlCsBSkh2%y~1-wG%Y;0 z1g;Me-cuvWD3-dnK263bEJ8FF^5QzPjSct>E&j zCCWdAE`X%PLIK1HFVzbLCAj^IddPdYp%`+2Aw29=im*;|X8kdR<^v6m@H zwOzu+wmVAnZK=DftOb_$V=`Dch9tc5fx9-gXNCV`q6MjXD(<5VCR+fyMwFEonIZ1D z$tPKt!yo-p&`>t?L|($+u`kZlo8CpFM7hj)GGjc);c}8&W_V)(G`81&f8X*rkXCXI z-H7f*6m6ubAn8LtPOk8sqKNhD?t#`%xXhOVq8$0GDNc3^uvXnjsqQxB!%xZonNAma z0@w>g^wEsPkdb{*EUmh(PLPg%#lDr$fT4%jEgk6`p2Rdl5#y&fl65i-DRyg>`~T8= z#0u0ApodX}2yf%({~9Qgfd+m$1K>h^eHstCA#J^<5UER0U#!N=5Y3O=81Ys-x`ZP1 z968~Pd@;y*BJ_nfD=x~4=#CLO@hRfx&SUzX2!|3n`T(URwhdt?D(H}oqg=aoEi+Z` zh-*WH!pFDPsCzop@6{ohDjj!rOx?J#oMcB09h;mDZtV*P4VL&Jzl!L>Bwi zaGy)ry__I>@sy>SBsY9Q>RWjGj9n>R^QFV$??Z)3F?cP46uPXPZo>E z#3`A=fRUx*o>!EFHvX4`K9wr_hOcR*H8eL1*m4mzU*a&ji`wu`?Or_hdC`UTlDiVE z5qC}%;V2ezdG4|)7Ulh7g(OzQvu4ObLU$LkM>!(^RV`Obq+LMXf&-PQC17)pnCcT{ zalzDwbDw<~HkwEE^^Z_k{=O|uH=IK4P!eErgvve+G4uR0XQr``f@;Ph>q+XTY#>jD zl%=~p-t>D*sciKb0@Zrpq*Qm+psFob7fy}HJqBbIH1n+AFh*g#AqNumWCX2E?a6K@ zgWG`5ZgoT<#zhOU-{gcL;4 zSIhBScRY8Wxl!u5!_2q(NfBdB`GyowX7s04$XuZb{#|7Bm$}<3%<(`S-2F@F`uA7M z*>UkUUd(a->MtD+045QW-Xn)Zqk&>@-PgCky}9I$_W2+c#~s15@8<+H@rle5{$Gjif&eTE z%41Q@BZ7u|$)mbr(Q1NCd#_`io4$k|f8mN36cQ4u>~dvXQAzxe63|0yKX(8A{f4Zn z81&?|woIox;u+Dpflbogg?;z1UtI%x+FY#~3=wCZQsDY-I(mnm5PEqV)?!oQm``+4 z_cU$K+p1#UKxdxfi?sG3OZYNvIv!Mv21^f3Z>f@UC2z}M=NvmPmJx+2*f&aT>pPN< zuLQ|ZTK1TA9J=zgHrR%K#Fb%ete27DAhJ`|Ch&XqgFMbaI46iCx>O7-0J?OnvMsKN zf{xvz`62wyr$bp!E7-CT1`2yKgQ~#sheKszSV}Yx*!2%hO-=IDK*p&B&;f%ORt3fM zHzOKBI!CcQQYAVdZuqZIXir7T8$V&6g?ejLypPPndL?Ii+Pyo7L%*P3VnetzPT5Ui zmG=F|hYL+TOA7@lS7~UtJa&`*b?$heUnkY~!)x79%z`sUT_*Nut;)$Q1g0_O^0~ta zEnrErRT(i8gg`w2klPuxjf$rbbx5*8qW+q@VDqWrkVSVMX5O0wFUiho!e302kvmfbswN{otznTY zC;d5`3=s(}B7Qa;ZiOtYAT#bOIPU#TyLi+KWEE;E-K~H9&8jl$;}fZkIj#_)+~eD4 zPt2~=yUPr~JHHhNq>TkpdOhT8E6xWTJW+lco&!O3IaM!+Ps$zQS7ENX&z{}XFe zao@L*SCK z=qfPI;HpIE*@Ny&b!4vtXeoF5R~FhTD^ATceqfI+_a9r8Wu5!`2Z@XRwARJ_z*Arj z<_s*dx^qr98Cn901R}{{#F@4|umuZ*26!@T9{2w|pO}08%mTfKP@i2=`+^#05j-kC zUX9CqCyA{LJ`7w9uSPaAnYf+R!84VF;!cj+^(k{fyQLyA(Xhu31X?T*$J^#ifQLs^ zS!1k@`L6H8d~iK6cQuGS<{=9U6}uO#iCEhw#*>6R+m?m@mW0kzU}DffXhM|Nty{N1 zpvpY?HFg{;-bz$TQ~B{MwfjE~T+d2AdYz!sK>fk9gClMjCF&AGaYNs{vPU6ZP)Q24 z(5_umj$QQ7Kk{b98rAN4N%ey%d6dmAkO?ayd5;IS=3YWi*l`hOC`n2AowLLM`=$J4 z;by63QLw2K%6~p)@9~dcFzA;7gON@?PN7B6*7)lK0iD6M{PF0uPnc}Y>w5t%XIb7e zppGsvX4+6@hu@U^xa`e!lo^Uw%6}YK#~Hx2Z1}b)QAbjdFzEN7*O!UTRfD0@|687XB!rh39!!v^ zIRBUj6s=x&+}$=kyT5OxQk_z8PT%g@1$Z{80_^xJnp9I=ogeE75c-F1E!ld9-SB`E zIRhpd+KKGVxN8Li$dbqNCl{ZON#go*$@W~2G(N46%t`I=C)sNW2VzsV`LK2VpIN8RhU2a@yu`v^V3C!YbP z)n^^FLp4d65e>8xGTVRdPi4Ae4kp;HZ}VoX+78w3jFN#u-hNJA%=_H$l>l{&EGdTp3Kg->u;%B>q64NQHH}QLWInyd5nE+l+Z+4DH?fsEMm59 zy^BcO19c~V%vk_AiHCI4wiBcAnid%(qM7x(9kQf}a9J}x2^^kzVJnzt|JI#H0IKni zF#nSxWLa1jKukph`Ta$vz zOdEkXmqnzsGa#p#X+@-o{N;l*VF9W3N9EITY>0=Vy?c^5*)(1W026&vUnr?bpy9>b7dh1-e-?lXrZqhHVqf%#B{v*7|55j>?^|$RRysrik5q0`z$B zNw{6z*%z(^Y-ojr5iJ(2?Th)_Gi5%wytvjhu{n`TF zuBPomZ^W;AkunsDXS_P1Yf0P!=AJp@_5vOW!PWkKp@g_I>T(s1lC`e9+wy0B2jUvz z3{<-QtcNpc4R&tyPGN zx0N9DXYa00=OAeZuxTsyOYTvuljQ88x;UZKvFgS8+WC4cpmBIeB*v%I*Vjk6hIJ=7 zTK{Yik3I~vuo$pMy5gcUzT#JZ_p*2mmj5Qy{1Q?AZU>U!-f4c*sF3u&OeLD>hBu06 zEHJK{qJAIBy1fW+$MLo{Q=Bp)>F)b9ZlBZbqUB2VNiAQmv-)q3UN^Aro6h0s9q|~T zQ@pM39&2o^eDYpi5D#E{JvLz(lyRsZ|Uq z05Bfku>(H=11;ATmQLr4YQq4@;!~+m1L)Xlr(fo&YS)birq9fWFF&;B9)^GR zt*Q*2Fn?sdwmt#g6go3sPu+GLe9Kc#%Tve$)>6)HCQRp)ocx<066@A%c} zWslN|bsXeq3B!JQuCXoOEn~ejBAIn0F+~n;N%zaxXH=gy1sKo?zRZi+QCcnx zR1&#ubo4UkWW{vc2-eF;Rd?5}6?U8Lk}&8*X1CXF@zd1S;I48+(VF$e^5U4oHyJtB zPAdGcK>2~Kxw)M{y*&~%5Q5e^g4$Ltm2R0oQR7kW{vXqLYR;zFPfsYNn-y$vZuIf^ zO(#_QYOrwrB$#j#83V6eSG<4Gqit>&&&8p$mbKmRPoHuuDTgb{rgL@_eF)!0deru< z^pD8r3H=W}IeG#Xm5>kJGlP}@-OpdPn1AvMqxy==G(JlZYYr$IcR8+-y0oP2a`D2a zvFexa+-y*xK5k=RUmY$_DUJXoVZk-rfZn+B9Fv`QUFZK-<}S!@<-yY)^LSZUuH1Xt zb3p}mid~X^lAE8O-_9BxM<-fQSk)kt>z{X?s7Ys@Q5@Oc8&{W^% z3ge0;tdgX#u<0Q%=Ss@hZh8mm6oCyN%ulyZ@DX{PF|e|-GUI7Nw+>~|8l^R)=!q`+ zdZ}0bqY)+1MOyNrsd20~(Cq@ct1@bp7G63Ma)~up8PD!svNOrcaLBQ>+-xf_HV`Yu ziGut{q=GWED)s88-bEQ1*XQ?ay_dZhr})|cEoxsIyJW#g42F6Cdvx1X7FqWIDbS!nuF_Qs4M2mY`SMS)XQtn`Fq)*cEQ``3lA)W?)+a>?b*SP=JuU{`efBt;={rmR|$p_Fwx?p)xbc1{|U-Evksx5ES1?ZZQ zRduTt=rc**B;TlOV7-8>YI)cD`}<7_UteFhLTUVAh-CbW-iX9`D`1o~u2BHXSpF^x z(+xT9AtXNUa>eMix+}(RO{iP-@Dot0%l>jJAbKM|%+eYnmj#h-oFSS&fBxJq`FGSW z==Jrr%!Bcgx3{-D^I-dgyYYYvBUEj~1K0*rJQyO$@W5)+0}sZ}qrmZ&s3EWCf!UQW z|QS!8aa^ zUo_tJ?=BBUA({tLKhSf+G9I{%n4NIuhx1)|kop8I`xXz-T)FW8sj+APaevwL1NmS^ zCpbvK1BkA2iU(fR@5ckwE`)AC)gHrq#{(9LzER^I@__Y#@xUk@@qiy_@j#0=D^OdqJBZB-$y)1>quoDNW^OqTeaEo zAUgt~eqh-~%Xy%CC{>KiB|PBTuyJ1Ef%SQ19+>umW$L$hAU#%=?B$#JZySL32ibX|&4aT4fcrp;2W&qq=fPP0T*Cu2ks?3Jt`W0ugFLWC;C*?3 z%zU`sh}=9#ye1Fin?}iKtx>XK$Ae76Jpm8AiDVfMS}qXXXdw?QCRpOzYM?ue9@^}0 z*4FER2iB~Vk^-U*;=%Y7`7)}|XPO6QFi({S<@Lsp2VSU1i3j?@$K}C!_QG-=WORdT zc%auCN<3ggL&vCbpD=kKt&`Juui z6c5tt3vMI~GV7P}U@D~Q8Xh3Ki93tb59FvEwK+KBT0F2^VW{igj|XUagFKMYKxrPJ z$zz%ap+7NO3%$N@8_pRioWcWF3T+;E9p?T#u;#`T4|E_?N&q5;sHm>m^|qE5FihtRW8^Qqx}j?c#yIemh(XB2+~!1eBzcwlXG$kd1}J<7(NJRuLpyoWY| z9C%QPe3|BfHkH#n`274do%rOfE%88;E<&v*qe> zY#t1`Ew|#F4OhBKJg8dl{}2y0f8rDmX5tgi=YgK)tcIN8!7ijK!vjkJeLx;)MIz0E zXnjF0l}IPWIXuW_COMY}Xf7!8z{8u%gUB7YTVJ@G2kX-pSdFB4fYv0><3Yx&)8fHF zL-F<~w0ICj#kuhZ(>#d6iDYc(8OPmdtf7 z$uUFWG7fzirn>u%GRvi zrm!jxb{@@tj0ajj@OY4}!DH}XY)v+K;6=Z18>IY+)`Dc32bui~kO$fI1w<{1()fft z$ObR9^n(%)s+sHl=RuIkQ`-xk()C0<;Pu894^W)qHn}e0LFD$5JdoPTS{_7MStD9$3*|Ry@*<2VSUc=#2A{X`vmLhvk9iB*`LpfV5K*%|Rbo`&GYCq|+7Wgd83fLZHiGEv-@ z2X3ORQ+N<&@~kB6Zt=kS975|S-X3_Fp~vMxD<2Btqm^_1aD+rh5~ch|rObUj%^MP*Oawaz(Xy08;~3d2onN^jtiW2NvE;KT_rd6j|^Z9-xGyC>kQkyQ9eELA1UQp1;uMf!Apu53&apOr6JqyuMUDE}_JOXg^bm z2c?q(GX==pfvJ4!{4+v5c{)%Oo3Q0aTE+wK{0+Ig%C%fi;en@oQ03T=G!Hy${=fsY zB$iD=M|us(8bWGkUJV-0s_vHbS|B~}u l(>$<-czB*GI!Xia;4c+w?RAFT8E60i002ovPDHLkV1lt{nD77q literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Shizuko/textures/gun.png b/config/yosbr/config/figura/avatars/Shizuko/textures/gun.png new file mode 100644 index 0000000000000000000000000000000000000000..593162d0ea27b3a1831ad29443058df923cd05ca GIT binary patch literal 441 zcmeAS@N?(olHy`uVBq!ia0vp^3P3Et!3HGD8EPYe6kC$Fy9>iihItIDp4?Ux0*Y`J zctjR6FmMZlFeAgPITAoY_7YEDSN0bi%sd?Yu2nndGB7Z@dAc};cpOhQF*5pfzJXn1 z!{5fu@wGpWD5xE97n5caQFW25GJliW@-gzumoE}}vAd2Gyt`w`bGo;uM`Fqm*Fc#C zDte~^k{+KFFe>MY$%`tGVFm){^Aq0|n4Wkw@!;3v`hh=urt8HfDX>ntQDJna?&G9H z-y*&kos@SXZS$0GcV1ersNMI9flbH}sEKEl&?6qj;^hVtnDZ92JFK2*d2v?azGKgB z3rYKbayn3ati&y-Np8BUt@}3Nw;U-4IDB*dcb;Uu-1Jyt(>1+C8sclL3ptM-?r{{W zve2#n(B0a2t)aECkx_ZI0TA4&{y9rgSGV`!kxt<)BpNI;uC0kQ;b)wZ)1j*( z0R$qVqM7ncFBUQ|f5_3&a*Jk9`22Tg@pB2uGiUx^w&6|qY{?Tc-^%l{iNgi~rI6?# eQ$ao!1_p`RdT+~1Y+ArTX7F_Nb6Mw<&;$VH458%! literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Shizuko/textures/main.png b/config/yosbr/config/figura/avatars/Shizuko/textures/main.png new file mode 100644 index 0000000000000000000000000000000000000000..bad682f126d7f35c0006dc51b0cf2a86ee14fb1d GIT binary patch literal 3722 zcmV;54t4Q~P)@1C>2J?HG%%?*JGRW4jcCyX1X+t%0L4_OkJ)6rON${MxKp+$*k$% zOBSTb(4mZg6Q|Dt0AwWqy!e|R=ze+aul^FF5LTMqm%qP^n6OQU+jQHS4!1eBLp~Mw zS!wf)9q)-9*toTt0KkW>CzPg*t8u_rif79;ICebH->;Q!6E83?_{Oc(q;lahx^P}G zYMbhlHx7`^;i|FWSVcR+UxI+NOG9_I;~RvKzK`zLMotu-@lGDQ zq+LID{1fG+ww+*zM^aT;1+59z5kCM-nlwr7RyID2o}M1lV1p@Q$)ag7O3|Z}$1Y)7 z(KVP>bdAQ_G2>Re@wS?PMiJo?>mH#j9$_Q>#JWf5liQymo-Bv;6afGeZhMJX9U*bP z^VhubVs#PT%D)HDuY4_sP2H|mEEwzX*d@;jG+)p@?GzaHOl%sw1v)CB8@%+g>Vet5ppS|Bg)Cahkw8Y+BQUqyu6!`mv@u0 zP^v3GnbkM*27W#FC39;$-8plfR)1Wfze;SNXA>$HE~6~{rdMXN!knAaL(7xfpCLv8 zm1PB#7SE-n#dGQVM;meb-23p_zS`_6>kwwstMK+=Iiaa zSHD@HB1U-ZdhNzPQRV?gJD1=jJ?<9;lSOc1`;awX?YUrPVXx!0OClRKS(ZmEog_&U z)(cn}c_)TYs(|vvRn&;e7gtfQm0-5%B9^WrfEZA!#1H;NemEA~Oc*y353p;IpK>-p zG;Df?j=4WaZg8{&q?Af+h?tEQ1+59zk&ccI8i_;@2n6tWBtip$0NAyx%+JramJ{^S z&@mzPNKD1+DeuUUBbd|m83wvO9TMc0n+@x&i*DCPfD<8|d{-tsQx4l_kQwKWjt)z| z9S8&xYYMo505-y!Fb4HVBw{ZTR2}8L`)i0DJD|54#r7#=yH5bn(a}Mte-u)l0-bl4 zS+@bI!r7e)X7Pm4E|hFUWhCpL&~bpuoK~FzG8>Sz86h^J16`kLa5t*U5a3I81gO%i z#zUz!1=xtHPJyIc3#cGK)eAUMKs=Vdb`jt>Ba~>usm2p54zMKbckU)BX9Jv0fwb`g zQdD@c@UasXTcwtk7CNWvv-nN{6~W?VQ{3_bNgoM1rLFJ@AQkv)`GUUt)WXOmZ#1g%X3j$~;L}@5wcys#3-(vcRM`%(z z5}cVI>rS|Bt8h4+G&aEgYVhL@X_IW%m+pH<_o2zsyDa;7tC65%1hA<=n-5S@P(Y9~ zd4xAS9gGf9$%Hp+^BMs@CcwG7AEY!C8WN5ZxZ>fbDGh~a1!zBH=jN%q}jiUWvf%}GH)4DbA=>JcF?oCCRI0in$YC?;PY^*tve zY{w3`>h>7a^>}7(G36pbN(ZUzlZZ-CEtLfqd1if*nFuc!AwD7sONfscwYhEGWwyX8 z8{z|itG(eEVR#-PK614;9BnLhc%Ds358S9>Aau1iOvg;jCaewsV@Us|p6JTGkk`&enS zqyW7-FQkf6k~15W1PJh40ak>Rp(N=MpbBZL{oSJOL-o{7n^Gi5kG4}XyO8igv1?gf z@7nC)rry4c@I3LF=UEZd=sUJhpgPiKqc1*i_n~^q^TcbXqv@Fv>q_F``kI3x#$@lad?pZN}000Q& z0dKx-?+0=w%iB(0koF~aEKsru#PLq9kzn_%Fz++U3h-;A$A=JgO*o88$79izGb1mt zj3BcC2VUQT1*>fQON@a_-acW=ztpDycW}dOuQF;1l$5N*hac|NN-MPPp-rC3zx~k- zzy*buIP08RQ9{7Q+IKB`f$sC?wfZmr8vP=*SKfRM*;!*o0P^%p@c-<7tz5qJN7mfz zwkL;nrypA*N5HV~l~3){w(*q_5U41#thK3iK?Eww5UC5swDH0N!+*2$^h-lt;qp~m zqr`8`i&WXriQ1X@IKQbHwZr|44s%FtK-rRYQ4PU{?NPj7!*<;pEMM|nLj(W->KcKH zMMM3qBB0?_d(c*V*O8wIFADhij@P1idVTaLMtDFI-WCGfj#ETMtzWsuQ6zZsi`ZA( zG8BX_UyUlQjy?eFd25S3!E7#%ooAJX4>*hbv^n(53(B7wl_@6WNbiVyS{-|5f{F@A zI|QiO02x1N6=qeSlrx%Xj{x@YDm=UW-6S9XV{ZHB-TwAm0j{4f zh_eEmZ;!j3w^!NYck7Hn#s;{M4+sxl2L$q9w@e5H$ll@2%I^1`hpe5wE5N8c@cI^M zyCs@@{m{qeR=DjcAil%L3YC*1bFFwjDv&75?mwU)y_dmzKvdHyJ#9f}$uF zICcsE(A@lNRD07gtbE8B3HxB*Cz!|Om;_fyCW)&jRI`p6E#kz0abmjZIp^#W3 zSd@!MO>pR;igNAS2LFv917|=6&S;7d1qL9kkKS^4c;sX1HiXwkhf{))kbzl+37~+Y zTm)tn4n2$m1gHop)<**YM4a+KUhfg}lU@AV=cZ1X z64f?wPGR!f0Hy?97@pUAq&=o|D!gl6!08Q`P$C+PgyZ|C1Oigd3)smCQ2&kEr~U5- zv=8ISsI9?|#;z=UPFm5}l@)c}*5KFp?3&dR3IXET0lhN@cFz~c&IPC4D!Dn@kMcKx{M^&^MjPJi6@yqx#-{kreH_w{;te{i|y>wVAj z{Lb^7=RD_LQeXZwouBhz_1bs zV`BlApUAiu8_6mFzyw_kxcqkOX%Iq)l6k@H$ zX4LdNp@13*fQ5U+{qfUQO=Sv}5s~Uhv}!6-u#AX0X7i=Y$62M zLm$&DJZ=m&|NS^CU3Hm1R&ONtKA&qs6+DTZwSXqj;c-G!g*6MQB@SaB2P$ zB0^0asFi9RiCsS0cD=dn93;?|KP8I&Sum<_{pPP~a z;KHX-OVAo;mN-R)b>!juPc_z|{E!Q6eLdur10@vjZ-`o(CF?U4K6QmtSV^PA8F33W z(CG=Z_4Ozo*5naFjT~Jf(vzjyre?x_l{Pxwb+nGlS|M6V zzOuc0(Dp?SHa!N6dM6}(gJYvqjhJ7rUl+@Y7c-HVbOGvey-|{iZToZJ`DqaYaXHwR znMMF@5&+;xcON}g@EifuvQOPi&wA)B4k7zU^5Z2Wee-$%ezP~~B7oL?M1+xH)IvvY zP62>u6S>BJ@mjV!U(3kV`4cfe(AdU*9}w8Ni3qV<77}mJd?W%+p->2 z>>Ijr0T+jcg1*9cb!E_o!ePS7hYISELh^{KD}w^S{=#9x+Px<4XNYfdiWcQRtJvB3 z^>+Y(xxp5Ay^}~t*dY17@5v*0x!`$x`R!M@^V?Od%HA3B-z`d;(wz~ zbUMV9KVI30_No!W6lZltjNWFccD9g24LJb}S{4y*$XA^04a^l--Q!t+5sTnSNQsXV z+eIRnJG8a7psb=&LW-J2tPP#Ms&G0TU`jU>4ih;syk(@2JhFQb^vvKj>h{edB|Z*r z->l+$c@hAQ2rbuGPK)4`chi2_)LkPXhD8o$8O$~0-%8-EC*m!Fg~g`s8XRtU6Tnh; z;r9%{T=ps1ESd6FTZEhTQ?|0Mt_(@Jp>UWqb=LrZ7%Ai*zE2LN2*JQ-pYTmi(O^Eo zl2F>5PT5(3FS}{Kp*Fxz7$cKkWi1i_fA$%y{2>Fs`hZ_qrYPUXE6#W*3`W1es6nY)KuiLG08Cj0KiswEu#SdpyyiD=#!v-#|psc17fRRQ@68RX zU!4?I?DXtRePtVBbvTJ@xWIIj^F9uy)ld|WARO7{lSn2Lo9a438VQ1;@x+4A6h{P4 zl&Tg};#w6_*amAX4?oqHmfBb9I1l@8$*+#I3K(m*6|R1&+zWWG{kCmrD3#+p+r8sF z%YFQ%5|EZoi-+C}##f)~f8T`#L7O8>ByC5yxKM$VLx1P^UdeA_U_uPn^PbK$#e_gZ z-%meGVnM>Zp$ZHLJ)R)0fDjW8738ahYv+d*8k95u98CrThjc;Go_%sVfpqy2B)Y33BDbY87rchIdnO=2?#HaqvU9>o# zwHTu|^74tjA>g?06Gr6;VHEFMCKhab(TV#QB|+0fkgLG+sP7y^l5gz{MXipEd{gaK zlbs}j6g++1_#%=TJIE3G6%%Tn&9;&IbFwUSPO1ktM~unbeDQ}2|5!l@Uwc(U1j85c zy%_x|M>*>;&Fl7v^qr}qAYv$QZ-=7DtKEOeLcc|;xl$&43^dK$)8EF0=QSDkxYPSN z&*f@42mxHY8TPb@5b$;vV&>9h%)Ds8l@UtJYK|F~6vAKhA|A6QmV0!9%;FwL#K~ni zo0K&;*@NE5ZAWA*ZBZPzsOdkjOJKqnd>7KU1>EvIjz1l>Wa@zD*Z&0S(F*JtySRM$QFy+z5#o_IZo)`~n_wGwi!@dPu+aT7yEsSVjg)%FGTW8< zQ<_2F>!TZ{VlTT-LuOu9=m%!)>Ll4Py}7dzRVG!$)MIGu~J%S13v{EJRllH=ZbvvmJXe9O9f z?^XP|Z5#c9OPYcb{$g}=AW4fS)Ksk~l1=m`LGA8WuP7$~qs=T1&P+ffBY z`TLD3krlm(NM4x9J{02q>SZ-NIYLGzp;z0nxS%5#yL7K+S>wcaOzPN|hd8KG&L#XY zJm9JqTWLih{E`~Ta8JXU0OA?BJIpo+7_Ac3;RG*mRTgiZf&iGwhw{5O)f8}+s;b|+ z>$e^mGspMTr)nyhGuNd-nE?LBq2^PRPJ5isW_p`4u)Lul7asB1g%lp68(mr~HNWIUG z#qGyxWE@N+i$*#rhfHbdzuKuR7O-Cm7G3CVy>(eii#x6IEWSXIR|!|6g`TUtsS-asrk~TM{ zs5JYZe56%I)0K!dv(NA!-XITCa+1xqowLfE@^uZxfA;=quVgT+WMt$b!gq)@oGpdW zEHls}uF|Pe9ML{n4CuI^_iD}O6D5BaNF;Jw_<~(;PYU62U!+a99CHwf@CijvC{+7e zYZWZO&{r`U75gj51?R>)>eEBB^5)8}@F-1lPS&AN_7BG$jit8`iK`9Bbd%N7%8C53 zFNKlV+n=Q@FI#IgAovp#gub&oeN~prTk&@XKY00Ol4|oFPYvrg0uGnq?_+7d&SL_l zh>}?c*}1%KnmD4v=ny1kX1ExOj2udGvTRmXa4Z;q%Z++f)R|I}Hj1D(fS22<#BcyB zLZUZiQf3jo-qpadg8_6dQ@v0Vb0^L9S&CVCa)dbCsw;{`Q-tpiq<>~M4xQ?AK{6>7 zB3+^s8jR)0%Wy~IY;!H!>KusAwx?q<3Ymxyv0TK2a@H@O9OSLKSOT@1Ei?# z9A2q0Dt+YhB)?k6XXryMR9g){dm#pRwdV8VzK$4^?BV_fC&>M@5jMg8N;5WV|+>aJ8z!(PlIMTU3nd-FH3Bsz3E3>Wm+=`>f&D>(qXvN{q$_Cy-vS~#~rr*grk|h zkJ~slZ6Bl0YK~;$rSsCTbj%k*zR{R4%jo@RPZ+bE$GTVv;<+Q>&CoI>{1ZOc*R?Oh zE?t-TP!s5j(;`6dzB+%WG->C*eldq{)2dY$67P?&dOoFRa?Qfb#B6GM#~=?Ix(qd& zp^OwJt3gQyS^FHTb6ErfwDi{pqXKCjdUOfODZa8omx9LoKWA`8!J;2;1pGfpyC73^c=q_9mX(I;>lff*1v!VAu=kN@n`sR&An~J1^c@)Tn9k(6MyR^ zNTGZ2`P~(Mv1)kqQEqayNLS3Efv5J*_~@7+f3A(m_zPISs4iz?Gm>U^Ou4Z^)vWva zwfU%v<=q3?9$DB7uNkM~6iB89g0qBS}%#(;%;YRA`0B0A%{G9iX6EPFH>)2PzzAnR?n zZR6%qx2x?)4qI<3o&^LMeoLb)nwt*wgh^?|?e=^HM6ZhC6`7vEI8wR)bL2av zWfpxza;*H<*EiM#8=J4AYMS}5lRm$yJzrzDoYqz=D-isg=Xo-2#Z10f0*n0+Zf2d5 zjWdVy!(zVL;iMk5uV06Ma_?7Zl(Xxw98qJL&goStg-vy-BcoT`AO^vFbW~@&CyJ9F zONo{{rHFpyKs;1B{(Tmn?E!M|%Ws00eUy7Vr#v3gjfs~0j2Nc}H1Q%iV($K6j`mT9X)8AkLzRkn>026>x`q;FqI;~h$)d#X zeK>F2Lu-Tx65iLv<=5CRNN>3AFLqQ_$H}ECB-hnEv5j8;9D=sj==B=vFMSj&E;DH5 zM&+%Q(Z1!RP1BG{|0}2wf1xLx+XJSDG7oZwCe>Q`j|N^l*rgEl-8}ikGPb-)?Ad?C z^3$~z6NFVIBUBS1;x+^t_!t*DUT;fj>pz)Bq5p~n#{n85gRRK&_2i@Z?}5p0SR!d@{{7MBy;Vg#ejr=k5%Gll0f~`*9LTS=7y3aq{WXDRx z$WyS1YB~RLPMveDSa2i${oi-`FVtv7Y5dNR=A^%XqChDYt zL0FUCNg9)lCg;~hO#Q);_rKGsQ0Wyj)|*yC4i~bsl(Lw_3zC~bN6b4`iVUVLu~|}R z2NfOB-8B|a)2I_xi!4*xxk(os%5 zP5Qv&^Pq)M`~8Xe=s5?T83n8f#y>dPl?u&@eF`m2g2U}MznF3$8fnvKV#xEC2uevv|Eh+KF>qxqG{!POwEIFXa{4VL96l@GD> zUmN~(5Hr<%7H62_ODxrQ%s2G#)L5AQ!4Buq14M9?|AJVlI^76kePpA#h+mb;2%gP% z!N>iD{ZGIuWc|E{DL-~?Oy~fP+f>4 zlP>W-LVAKd1ALzT4@ivxZ9`@H3J5wBZy-p-gAA4=_9Iy~a?=IGbk zwk+%G4GN(jS?L;#He5o;`%OvEJYNX^@W}W>{+?0E;?1aA343>6wJ@+!)+pweHB50K zTJ~j%35WJNFbo5grJ+FPpp37oz8M0Z;Jq@lyb;|ZA>JTD%_Fuz4R(B)nOUO|hF*Bn zqrRsWGWlOE;X2}#8a&R->~!?9k2#Tz&srDOY zI~6pmofSx`nW10Ih)+vPx(Z)Y!_Z_{n&@pkOM#EAll8->-P<`jwB zG#m1G_)}9S%HG~Jrznct2Qe9kU%L5B-PgVRQs0lXi_*$_2q2A(b63T-EK58~%+XgW zLDDPEBv?E3R%lLR@PAA1R8&2_&CYl*+CKmntHmx9P>mh_GLR9HD%xBhT_pC`^KF`5 zz>(c}7nK;2=3Y$!4Odw|JigQQK(&pN>|+HtYZ%)I$AcspnD@*^0SK>$R91t|G>qym z&Kp4a+v}gx@lZStQ>KW%wL*;+9Uqw{Cnw?RMXo;4Lv~Uj2P;VNLO1azrf|W>iIhCS z&+*@kdpM8T)LUPV>a`%|X}wb){gRuv;5mO7^k@v^pk@x_R0w^t(yxDWn_)2dJ>Y;Y zSK@AzMw!eEB&*%G?nv-n7J=G3^kO=3-R1XJ;RF12%y4|=x7E^ESjgn^gUGK5-OOC% z&8CJLBlK%sw2Pit%w*k>yL#jw392-(7FC3*GO(k`8`MNaJ$$MUD^C)Um+GHqTm#FSNPXW&HH!8vZjvnFEE2cyx85`1WPzc2)z->ru5E$AAB zUS@a|e4Y+U0oDsgF3SRW$*~y=6NfjUK?|0sbzeps)~YbDy6p{xt_*%oyV-D*(c;-H zy{#k1Cd7;gS^LvN!NQmn<*yT(GyLYaQlSN`g~Hi--`dYd^hRQ-&v(p$A=F z>SAp4$a|S_%^sS@Dsv}#rFX*NPVQQ^ba`*RZM-eqSi3R#gk~v2IpJ&;>lK6J*Hnn^ z>jFKR&Y>yQ-0HUa?Z$ykHxzGRgnY(2=jYbe7GhikhUOCRAR1s?^xnA5NDSZ9&d%<2 z*^vCjY1CCfc7QnUTUH#szhOJ<++4Ix?7<_G5; zH3;u2o=GZB+lxj_?gSUqJf<$J_Q*&YV!E`FkuSgK<@2V#cbeUMB)r7oXd-^zfL@YD6xhZtK@Gi zO(P6M%2rg!Cu>L&vrtE;y6}DED2Uh-e-sbJWi>hT?k}rPRm&(kWC0sw)v-f(JVd{u>06noyP0-$051X0p|YnaGZ&_}1MH#LPedz+GNMQ^84AEpnnW>JXiuds}X3H)r4 zdl1A~ADEmf@H&q6R*#UiMR^5S3Zbm5(j&`=|3(jmXub;+TBx~fICaqFDLfoc)PtHZ z7yMa$a+noAmcLb%7C?Rsru(!XGy7;4PZUVR`hwmv3PfBu2g6L&`a(#X%;hh8lGIY_ z;%}XIa;N-CDXP57cUz2tXBQZgaB*I;FI+%Xq7rg?`9>C%&_cMAr&e6U+rYHS_Q9qO zAZmQKB_m4trJ>=9N9J9^6IC;=o~+cV7p=M1|MJvs1Ca-C7nJ`_N(&*`XL_~#Yx3Ps zT>^B4X1YWx0-Us1q}Rs3ZyM_35xH%?i(ho+hd}&kTuIAx!wyTAZ33R`U~&o+bXkfe z`Rh^Py?y)Bz9fsxP(-5Sw7_ic+0xPMxkLF-*sijvcM#7?aB`}&>6Y48n#7p}`P#PM zO05zRDtbaY4stK*KaHcKRGE^1+O9tacST8D3uTJ=3mN_UM6!PJQ5KKMrY*8>EAres zsFs#qIZ?qu{K4@$P(>|bSC3W6(3ZaolRur08!@ffd6c=hN-W?7$rwq)iNO2wb2Xxb zfFtfRNUO0yePywaL?W0%{HfAdu24hH@_Q_nsu6OdKf%n)i8$3bi0s?9B8y~74 zcqK>Ji-SoOMnXbuojI4g)OI@|EZjHv>}?0U?Hk`~oBmGsG7_E{W;HH2wFKr)uETKi1o`3=D+TTAueNN=3H-4{TGT26Yw?emPBSyY z(eSE5bNyEeaDypu#ZJ(PaXHp^PJ5beEjh3~Ad0xVTLEFNy44f(13zDrUGv0`FCE?# zmrik!Uah!_99{oOb)8FXkM%2$6j<{?VHfk4Xl-xQc4=;c)ZwU9m4xWlzt6Ag!i2xdhr4Z5Q01*N06EoPk6?&mIXi2DhH)Oa*H2Dqg0_4hg z$fb54G-|(fE}L@o(z&YUW`}w6dx350;1{JV!)X!$)3!X$6fIH*=*w4s;q(YH7eF+8 zhEC?&$|ppkrGO0b_|B$2AYd!!iD+qtoPU--%&_bWc3F8v?t(f!+r`;9gN^Uz=MCiR z7k~6Vm|v|VY@TmdRr&l}%$>pHnOJodTrJ3|Uf7@%`WFOv;ZJN{1=Jj$|8*0xF$F?l z(s$(Effp1u{Q4hHo!>UPIPES}#L@tJ`ftnF*(mT6GubA?j=Bl2#yFGO_cX3^lYOk| znw_`ZsL3x&wEd^+PP7qjlqA$#lTx0jU42^)e|^rG z0z5%{TBKD9dsiq%RbZc$CyKp2h5s9AZ2|u3YBy@0b1b#U#if>~pLgnRb+jei`{;hy zpLoWBw2+dLPj%=77Hc5Rf=LI#zMPa72R_v0r{yh2@2%V&W5wnzg-4(+trTtp;9~Ev zu~rmD9n4}!0TF5vVoVIk9q4MsQ)gOGNqw0G>#2+5;dvZ5XJSO%Cv8!hu($uWtM{(KZV#o;pXJg)T zzaGX6Cbuf9FPPJY6t;?GnY)@AIk*#UsfN36r`}NtWaXS1k-)fklFxEIkGF4H5&~hz zepehBWbp-7KNeRdhgr3?>h{I*W6XdzOnR~OJByt)@doTsas}RKF2{%7CZ!9ZsaJGi zbCg%GI!)w*$FH$6bjCi8c^wtZ<+(H`hq;qZG4G25}Fr?bs)T%p?f)99*CUX3{@HW2w$&k0d^!gG& z*9^(i-08=xu@!RIEn!7T?+q*uQrjP7|1zCM=Vh3aOq?M?y9fA-V8I|C5p>p zIBLo{y}*SwBzXnTgk;*zlQ%BueC%5dp?3Cia#@2@!5KRpRc@Z$2iYGnL>FTA;;&WH8cz9*NL)r|BAi&@4xKKP9I7HiH@j%K*V;(I&T^ogNhMyVL_S-yMo5SaVGMT zE47L_5K}JP&eLby)$aRr7T2a|>*1mE!ENi++7-I^U3#UQDMFWfneB0}6^gS zXN7@QXlIIgRPC&&J?5`r)w($iq!^$?PK zwSTmewO#-~MEt*AfWS&wM1d*5efJ!Z9zrV501rWQBa?j_hb@bHEdSr{kAo8VIaP>gQQt)&nlpa^}3LId(29xMu~MiS*=ESQ)iBJBH|uxxnW5qPis$c!@M;=pxL zy;Mc91it{ILkNhW|J4J}D}>m9{s0hgSGz0l$&?V?YZ?qCgj&pklvH*8GGRfaaZskI z*-dOT>$ZKLYa}k;A#fLt&-!NW|F8ykSrX}Vj6^pKW5~MZxQzq;Q~-~PJ3W%x~XTsN4QK-0z4b?7(pl2#QJ}iYFvW^f&CXvuYYS2AmK+?T|9!9XR>z`;*?2ue6*mrbB9@zT7!hXw3 z67*MGka>H2Jbcrw#OVhth(GFuI)cXws>Zs-C1#jX#DJ$nhcb_qMmFB^CtMUYWF0Py zOqV87QXV|u5KL=2+q1`MKoRr`F#6enLR2s$R^|FP6wB4dG^lKjv!SAMB-XrtE6=lP z^J9&0rcHU5N!>eg6S?wPMD;xB?!`>$TZe4pg()Fz_ny>`>as&)4wtCAI9zKf5*02)y7Z+->h7>U9EbYPl^d~~09*K>98 zy3%>~p8IjrS^T4d^zGQOFWYm;dluskjEmnmv*3!F9mLln#PIE zcD_tCjO<}x@BEddN<)c;c<=IWC*a%CBR;U{o8HzC0|Oz_n~RK85*~zzF=aCY2S2#% zr%@utDLwJtBBOBL{&&G3cw%B6B5@z@?e!oKRt7#82EphqJMP~n)odBVpIdAGen4$K ziH@TbzvXbXbJ_83FXRN^#(6AtYD;~IN5+!I$?8zxu1lhQ9t&;fj5iHpa#sD^c zmME$T@zzREAxaFo6^(Wa{|lg8KgT6IOZD z81Oi%x`Ix}C)`Ynr-TWrYH~58p8zT8x(ufC3=l;cbBW+(jBLA?C{CY6h*tPsl#U$7 z1|aA_n2C8iFa%?6#J#ueRCZl{nWmM+hbWh zy+x`ZI3qv~dwJS{Fj7GpQ8*JpHE7N^3|VS5vR^OiQ6I+|4QrUQZ)D^8`o3xsMpyCb=9qB z$;&fEQE~jwU_VW|AlgZOs!^PP;hNE3x25flaMi~_WAFRB#)m%%zauyTPuCArn3nJD zJKkRux{FY625%Fb7@qb6-y(KtIt~G-eKxPn4bDO}3=!A8CdY&lmsuQ+d~5*eU1 z!OF`D3w@O->9RK1KKw@eKDTc(-O%DU zA2f_cYBQT*GmEzNCH<9$YUsiODjt*1BmbLC4XaAcQo1y^6qV$RfxDGrfyh4|4+E1? ztVlYs+`RcJpl=e3eL1f8*8mmLyckke!MgG2e+&gOMSa0jQ<@^wYYzN*Y|S0}Kln1{ zIh^pt)zCQe^kNLe6EsR<4HOGB*sbS5$+CW?wW0ph} zC;D@)6Q#vZPhZm>dV2ud+hW14_IkyTAPFbM9g<1Yaj*rY=;nj{4EaW-!a?YeJJ=+6 zfio6YTI0NsTo|178xQ%lP6xij0Wmq}VE!6Y7p$eM+eyA)1;A3yf$SRz3a%AAhW<% zo5RVSvYy8ZfVN@;J+1})8B zV3Kr3ucn4MM(FM?X0Wm2Tel#KFut3J1CAYkY49#2QHLb5c#e5mdlvmR<)N>f@Qtn~ zC*P^zx9Gq}&SOC=&)!Ovq1qsrRu3PK7DNsdP~Z)3h_4tUpHm~xzakTS!*`WRL_|;= zY?J}8heQ~Q4dJB2-CZ+Bn52u^OXR#?!|2se6B;VDABiJhG43x6>VT0_K1z0{f@G73 zP0Fg7WDu=jlM)g!fuV@`9wKyylS_az`HFakSybAlLYQw!?#|fT3rFbXjZ9aU1$fD- z4;Nd4onXiZy|X18K;?DSEzgzl+`ib=z&Y3S5#Y)Ay%+Z%} zOF_^OC_n@Lhrpq|e7?VQokyey?=0l9H1W({d><~rX1sA)$gDz>q4MxB`QycZr5k!!3zjkfUdzztFUeerBV1!vgVPYutseHuvU zh=~a8WAAqfY%$b%cl31+@a;rGSej-*vLm5-_%QHgz+9F_ia^;X8{Fw*f})$r;De#+ z*59+w=wEOOkmR(9UR<~pw#ZTVs{a1PBQHWd=WwlSSb=@eEH)n2e^=17bMlcac_=H& zj7eghS;5M{XOC_=o@(_bk#^_GBIxS zjP3hgM>^o)y9wb!STV-+mU-QhUCIXhHvB)oIH^&t! z;ztNW9IiwaMuA!Uh~HM2=#9(vIrrq~cb?v2x-nsawuUj6Zr4ALQU4RX?xbbDi;FW( zV0>t_MnjB6y`IptAuI`jZcj=z({kj;N2E*b9kYvYh4IK^nvsMCIzM>{zR(C>`G#ik z5maRh?LL*K1$=vTwOG==v5kDcn8p=*`|qTifQT|f@z|!tr8s<8h4K?V-Ta)---h6r z@@|~nn6Nfp`OeteSwL_R1AU@w(&6@cjK@7Kr$Rne*@V!SBBQ+Zlq`Ism(9S%?i>A~ z`Oje){qk2|MpI%*yL36rs<-RE=t^9{aHzzo8&P;Nc9A~+SvLEd0V9Nm_oE|C`;+wz zF1a$;HlxLAC?rHWAEit81<(aTCn)PsY5F8WatR{&F4M?x*DjfA@nH+h2wNQD4q`}fyEd(C2DSs^IXg`ISXpU_%FN^TE0=h0fZ4_rO z#cT4hjB;m}sG66ke`H|8J3#tB?rxkqs6zO@40Z@$cd~<<_oW5o6iJ09@v2J1%BHa< zl;)>>8O^ShY-*xJ2fKqq;4!ze%y`wd?-}N)7OvL6FkZ5O-%*e^J~)-=h5RDFF`zV; z(9h_W-SoVMiMDI?me3Pz^Jwq0X}wRH!&Sx4(>=(nVNKN+3<_x2aGlzGNP5g=&liDM`lp`a9>QLg4pO<0H`)d+W$FXg)=P9CISI*ERW4(HZ^q$a;8^8L&-Z>A;V) zo||>qE8gFv_OE!Z*>O#Ok^dw<6Jn*#-glViAtG#Hw9FE2XmW;L?-IznblDqCpEg}w zC_6Z5^}EGMTw!&Hu4eoj(uut|ymJFA7;ZKELJ4@tBfyw3atZoD)Z&dUGrc@xU@7p) z^cjDJAeXy~z6_RJs7}Ch>z6XA3_6fhx;$v$UQYbZ7uR>i?yk0V+b&^y*6t)wZrGa8 zf~pDu3kFjHrgOTow%9pt0}N-6o0N%F!49*$&*Dd=!^Woq%`+{C*)@GP^@ljGV+;ca zzD1*RLZMOdw2;wvSTdbc!%Jr}5VLzdlmBV=GYfS8VE?oj)2}`qhxxG#5c3AgP0cyd zhCcI_*fo_F+){KK0G8`LGWG4;U6F@>v=6xWCf7z=4+f{-@DzgPS9e%wTDj~@EjSDh zpvoKxqCbMGe`Mid6dLJrLN|hcdp?ZUct35(%U|BublP&y^b^S_!#o&KJYwkT7YW0Q zwD-oCjtn(xmYNV&kE~n(#h0+d_Z~DviagAd3=`I6IvJDSB>>%(Vh~9@J3+4Z-px0@ zT#-@=nOK7#?k_2}-HPjk&kM~8=V$KXznM<2u5X?ju4Lpx>*jnJx6Z#0`_q$tK~byn zW?yjBPxQKui88RiE}qe!7_s3CMN^C;a+s6XAz!rldaSTD*O=RoD)JcEg@T!Cusq{W zb#$5E>|>k=#_UzXtvKrzeN)Rrm5_0``Bh{&Bemmql-!#;f3b1Kp76X#fZW2-XkPj+ zu#V>}R9PReGVAgYB&wGbgak{xoR%F+(rI z%b6$0xec`;BO|d71(!T`ShpTP{Ws@%2{cqOC7WC1RwhOkMmzt9h=5RT-Vna3%}q7* zS^$!{G%>lh5WoK8EsgwkA+ZU^dK5J%+s~@WnfooM?ea50Msv08O>TEc;BUZ-1$_H? z?YiY3C@K{MQ2VEOYoU^!$6)-IB_jF*XE}JAn0VK<`mYh!P_GuDKy~8%;X3Dcy4-fs z&M~eaPC)$8cuhDZ1|{%erShS#gJ$?5=q5*ki!khO@V!=(IZGl%O^QZo$kXl= zayIwaUkuJ7bY+Zg;$L9@uWY$m!2~F<0-5vPOZGmsegC(CPG*B{zv+HwxvW#l_bgbs z0zZ~_ur-=lj*X$5Og8oJ)ZT>mRF4cuJ@kUme}WFY49TraZM98=l}LDDzI(N;I5~n68EJDrw1BmcH?I-{8{h* zZ%gT$mB0V>XXIDpZb{%M;8%X0Qx}?VFf_st;H1$7^Lt!aUy7nZ)z*%>3+koY`CgkS zwg!z-CkA1l2m&~?FJF-@-=y_kU%8{hWf4hO&Ho5pcA2hv)bm}3%K`C^Ffra8Bvu6wGWe|?s`Em zAW8dMMT=55o`;=;G@bu(Uwp{R$RAjaR~RqVUp&uaGzQz(e0jYZ_|&sP;rxcQnzKhY zZFg*6{m~2=*<_K{vO_iqa}o!?=CE-EdOC-;EJoQWX4)JR_&?8`46g_R&=PIvL3~$` zCo9f+?yn#QW+gTL-)02yewtRl6ncw4Ah}0@pClL%a}PiR!dn7Eg!u+nPPARJ30S6F z9@nv(aBP32-HI*5v&oT+PC`(2g5+vns+j!Rcv1=nLNVfY-7w(`W`W6d!O7c%Q20(K z@OsYPB@+6hWqmxtr)a?lG^y^q2m$SdjGw5nqMoltNYyTB(S40xI87{owQ;w71v{z z9Z-3<{?v6S&_*=Z=7cQ}_*dKaQ&0Z!61M2WNTYh?oG|tNUArr3c&of%kO$@mcgsv+ zUvyS>1gt|J?SFiFIOwht1Qg{2YGm(JF{W$yjPAFi-53O2pmT+0dP9WuSu~!N zxD!)%5f}@sJ-_2bnQJ}K`|G|zY#O3}JR2Jln=*pV3z=3%dY zn*6}=rMT;CvXG$jmsRTOAHgb{_O+ddw#WN(y_;!GLzk%S z{tay+!UaiN3PMf)*+X;Vr_*nEtH`mlcYV_2v}Uc=uWEn}$3y=gK}knc^4J%piwu%R zdftb40!g!`^1@(@|4k9(qk4QXMI)NR%_y;uLrGLYfF=1&NI;X(#RZ%|SI9IV*9+qw z2P~p7AZR4ds$6L7|5`!ywM|Zjq)jjo0hisSBmO3rrk#oA45P(`T6w zI60ATUu|^atXMFnL?RNo_EhQFDF+J;6U)#EmClqhsof6QRM%`rB_+0LwnvURkzeNq zyCa_0vE8ESKfr|_QG9*{x$J>>y_kuN3zDr@XfX;QeNvK~kXzx}$*JnZTk>|dG3MmK)F?k{l cc=1F7tD1Ib|57{s{7V&}Agdx%A!QQ!e_}VvhX4Qo literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Umika/models/action_wheel_gui.bbmodel b/config/yosbr/config/figura/avatars/Umika/models/action_wheel_gui.bbmodel new file mode 100644 index 0000000..afeafbf --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/models/action_wheel_gui.bbmodel @@ -0,0 +1,1989 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "action_wheel_gui", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 16, + "height": 16 + }, + "elements": [ + { + "name": "GoodEmoji", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 36, + 0 + ], + "to": [ + -33.5, + 44, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -41.5, + 40, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "84d1083b-49bc-5614-912e-44f4b899ae46" + }, + { + "name": "HeartEmoji", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 27, + 0 + ], + "to": [ + -33.5, + 35, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -41.5, + 31, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "eaa43af0-2741-87e3-8702-e97d44042bf2" + }, + { + "name": "QuestionEmoji", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 9, + 0 + ], + "to": [ + -33.5, + 17, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -41.5, + 13, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 3 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8de404c9-1e78-68d3-b8a3-38bb7aa8dae2" + }, + { + "name": "BodyBottomRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + -3, + 0.2 + ], + "to": [ + -3.5, + 26, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 2, + 9, + 40, + 38 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "4507a880-9681-34cd-6c87-fac17f8fdd5c" + }, + { + "name": "BodyBottomCenter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.5, + -3, + 0.2 + ], + "to": [ + -2.5, + 26, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3.5, + 11.5, + 0.1 + ], + "faces": { + "north": { + "uv": [ + 1, + 9, + 2, + 38 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "917771d6-d756-41a7-3225-881cb2978484" + }, + { + "name": "BodyBottomLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.5, + -3, + 0.2 + ], + "to": [ + -1.5, + 26, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 9, + 1, + 38 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9964760c-f61e-5f67-f0d2-4d9bc6a2db29" + }, + { + "name": "TitleRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 46, + 0.2 + ], + "to": [ + -38.5, + 54, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 23, + 0, + 26, + 8 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "157d0a40-12c8-0e9f-ff97-0c0134ce6ea6" + }, + { + "name": "TitleLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -37.5, + 46, + 0.2 + ], + "to": [ + -15.5, + 54, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 22, + 8 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "4f6e736e-74db-0300-8874-3f596411c942" + }, + { + "name": "TitleCenter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -38.5, + 46, + 0.2 + ], + "to": [ + -37.5, + 54, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -38.5, + 50, + 0.1 + ], + "faces": { + "north": { + "uv": [ + 22, + 0, + 23, + 8 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6b0744f3-0e21-0fbf-2ae2-18ef858b84af" + }, + { + "name": "BodyTop", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 26, + 0.2 + ], + "to": [ + -40.5, + 46, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -41.5, + 36, + 0.1 + ], + "faces": { + "north": { + "uv": [ + 0, + 8, + 40, + 9 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "181d67e8-0460-aabd-55f6-36d76196c156" + }, + { + "name": "TitleLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -50.5, + 11, + 0.2 + ], + "to": [ + -28.5, + 19, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + -23, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 22, + 8 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "440c3854-1e60-9317-8555-bc5240f178d9" + }, + { + "name": "TitleCenter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -51.5, + 11, + 0.2 + ], + "to": [ + -50.5, + 19, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -51.5, + 15, + 0.1 + ], + "faces": { + "north": { + "uv": [ + 22, + 0, + 23, + 8 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "80c43537-fc6b-fc1b-47fd-bae521fa59df" + }, + { + "name": "TitleRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -54.5, + 11, + 0.2 + ], + "to": [ + -51.5, + 19, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + -23, + 0 + ], + "faces": { + "north": { + "uv": [ + 23, + 0, + 26, + 8 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "cbaf2279-0daf-c842-5ac0-02bb44d9b86d" + }, + { + "name": "BodyBottomCenter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16.5, + -3, + 0.2 + ], + "to": [ + -15.5, + 11, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -16.5, + 4, + 0.1 + ], + "faces": { + "north": { + "uv": [ + 1, + 24, + 2, + 38 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9184dfb8-0e76-f1f7-2994-a00c75ec64d3" + }, + { + "name": "BodyBottomRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -54.5, + -3, + 0.2 + ], + "to": [ + -16.5, + 11, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + -23, + 0 + ], + "faces": { + "north": { + "uv": [ + 2, + 24, + 40, + 38 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5aeb8b47-7cd2-1d4d-33e5-36fb8ea59b5e" + }, + { + "name": "BodyBottomLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -15.5, + -3, + 0.2 + ], + "to": [ + -14.5, + 11, + 0.2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + -23, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 24, + 1, + 38 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5fdd8d83-a6a5-663e-7757-69fdbbfc0c58" + }, + { + "name": "NoteEmoji", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 18, + 0 + ], + "to": [ + -33.5, + 26, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -41.5, + 22, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6a232e90-acfd-b9ae-6dd2-4ccc394218be" + }, + { + "name": "SweatEmoji", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 0, + 0 + ], + "to": [ + -33.5, + 8, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -41.5, + 4, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9b7746b0-f54b-8a38-8939-67a56cad1e40" + }, + { + "name": "TitleBar", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -54.5, + 12, + 0.1 + ], + "to": [ + -53.5, + 13, + 0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + -54.5, + 12.5, + 0.1 + ], + "faces": { + "north": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ced92cb6-960b-a1ae-ff79-9f04a59bd189" + }, + { + "name": "TitleBar", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -41.5, + 47, + 0.1 + ], + "to": [ + -40.5, + 48, + 0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + -41.5, + 47.5, + 0.1 + ], + "faces": { + "north": { + "uv": [ + 26, + 0, + 27, + 1 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "cb43a040-331d-d647-2667-a5864e0ff99e" + } + ], + "outliner": [ + { + "name": "Gui", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "909f4f9e-cf00-99e1-7699-c2b0e9070eab", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "BubbleGuide", + "origin": [ + -41.5, + 52, + 0.2 + ], + "color": 0, + "uuid": "e29d3e86-e705-1a3c-cada-65a8edd299b0", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "BubbleGuideBackground", + "origin": [ + -2, + 0, + 0 + ], + "color": 0, + "uuid": "ac298288-5f5c-64f4-1b51-f939fb1d21f2", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4507a880-9681-34cd-6c87-fac17f8fdd5c", + "917771d6-d756-41a7-3225-881cb2978484", + "9964760c-f61e-5f67-f0d2-4d9bc6a2db29", + "181d67e8-0460-aabd-55f6-36d76196c156", + "157d0a40-12c8-0e9f-ff97-0c0134ce6ea6", + "6b0744f3-0e21-0fbf-2ae2-18ef858b84af", + "4f6e736e-74db-0300-8874-3f596411c942", + "cb43a040-331d-d647-2667-a5864e0ff99e" + ] + }, + { + "name": "Emojis", + "origin": [ + -14, + 52, + 0 + ], + "color": 0, + "uuid": "58d19f10-42f3-3092-820d-896ea7ee4733", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "84d1083b-49bc-5614-912e-44f4b899ae46", + "eaa43af0-2741-87e3-8702-e97d44042bf2", + "6a232e90-acfd-b9ae-6dd2-4ccc394218be", + "8de404c9-1e78-68d3-b8a3-38bb7aa8dae2", + "9b7746b0-f54b-8a38-8939-67a56cad1e40" + ] + } + ] + }, + { + "name": "ExSkillGuide", + "origin": [ + -54.5, + 17, + 0.2 + ], + "color": 0, + "uuid": "82f089b0-aef7-25b2-da8d-98daa0cb6bea", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "ExSkillGuideBackground", + "origin": [ + -13.75, + 17, + 0 + ], + "color": 0, + "uuid": "8070ebb5-b639-baf7-2735-8a329dc80acb", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "5fdd8d83-a6a5-663e-7757-69fdbbfc0c58", + "5aeb8b47-7cd2-1d4d-33e5-36fb8ea59b5e", + "9184dfb8-0e76-f1f7-2994-a00c75ec64d3", + "cbaf2279-0daf-c842-5ac0-02bb44d9b86d", + "80c43537-fc6b-fc1b-47fd-bae521fa59df", + "440c3854-1e60-9317-8555-bc5240f178d9", + "ced92cb6-960b-a1ae-ff79-9f04a59bd189" + ] + } + ] + }, + { + "name": "VersionDisplay", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "a4e9aabc-7f20-7bd2-cdc0-454075f31f35", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + } + ], + "textures": [ + { + "path": "", + "name": "good.png", + "folder": "", + "namespace": "", + "id": "1", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "eb85d156-8f1a-0715-eb0c-73c744d1192a", + "relative_path": "../../textures/emojis/good.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAJVJREFUOE9jZCASRNmx/gcpXXboNyOyFhQOLrNAmpf2KzJ8fyXIkNJ+DsWQQWgAzK/I3plTacTAKfaesBdgfsUVFnjDADmgzj58AjfDWF4GbDsIEDQA5lRkFxw5/ZUBnyHwWAC5IDNKDMP1yJqxuQLFAFBco4OR5gJ8sQALG7x5ARQTIEOQAUgDMiCYG9GTMroG9FgCAA1snRHHg/NsAAAAAElFTkSuQmCC" + }, + { + "path": "", + "name": "heart.png", + "folder": "", + "namespace": "", + "id": "2", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "0f751aec-a519-017f-2410-5ac9e0a601cb", + "relative_path": "../../textures/emojis/heart.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAKhJREFUOE9jZKAQMCLrXyTg8h/Gj/uwhyg5uCKQ5siWXLh5y2smM8AMwScHNgBZAYuyFMOfu8/ABoEMAQFkg2E2wCxgxKWZmKABGQI3ANlmYjTDXDgIDEAPRFKcD4oljFggZAAsrOCxANOAHtfYDELXDFKDkdqwxTlIITbNGAZgCw+QRhAAJS7k1AlzIYoLkL2DnAJhKRI9f2B1AbbMhU0jXhcQiglkeQDhnXzlvzdk1wAAAABJRU5ErkJggg==" + }, + { + "path": "", + "name": "note.png", + "folder": "", + "namespace": "", + "id": "7", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "8d3f27df-26ac-035a-5808-a8a5fb7df905", + "relative_path": "../../textures/emojis/note.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAALFJREFUOE9jZCAAPm5W+M/v+4ARlzKcEiANIM18xvkMn85OZMBlCFEG/GOwZPhyNgLsCJhBIMNBfKIMACkEGQICMINgLiPaAFgYIBsEcg1RBoDCAGQjDCCHCU4D0AMQ5mfkcMAbBsTEwCAzAN2PJHkBpJjD7D4D298J4ICGhTq+FAiLEUaYZpgAzBCYQfjyATgQYU79xVwAdwG2+MabmWCGICsixvko0YgciOiJBV+OBwCLvoaXPhsOpAAAAABJRU5ErkJggg==" + }, + { + "path": "", + "name": "question.png", + "folder": "", + "namespace": "", + "id": "3", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "0f142e45-9915-9908-6c14-6e682c9b40a8", + "relative_path": "../../textures/emojis/question.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAJNJREFUOE9jZMABNNa7/EeWuhG4hxGbUqyCIM3XA2Yw7PqXDteTv4mRAZshGAYgawZpAoGJfhDHYDMExQCQZmyKcYmDDMVqADabYIagy1HXAJCTQDahBxbRXsAWTfg0Y4QBugGENOM1gBjNRLkApAhXKiRoAK5kjiyONSnDFMDyA1kuQE/SJGUmWHrAlwdgrqTYCwB0pH8RBrtM7wAAAABJRU5ErkJggg==" + }, + { + "path": "", + "name": "sweat.png", + "folder": "", + "namespace": "", + "id": "8", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "4099d802-f6dd-e946-7e18-910d1056fd84", + "relative_path": "../../textures/emojis/sweat.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAJ9JREFUOE9jZCARmO5++/+0qzAjTBucQYw5IM3GypwMZ+9+Z4AZgmEAug3IBhM0AJsCmAEwOVGenwyvv7DDXYHiAooMwGUDyAXIcjAXwVwBdwFFBuCzARTaBF1AyABkb8C8AItKrKaj+xMW5yCLYHLwdIDNdlwGYEtsJLmAaAOcRAXAalfe/46SbGljALYQRg9pfBkNJSGhK0TOtrgMAQB1UsSltwwF2QAAAABJRU5ErkJggg==" + }, + { + "path": "", + "name": "bubble_emote_guide.png", + "folder": "", + "namespace": "", + "id": "6", + "width": 40, + "height": 38, + "uv_width": 40, + "uv_height": 38, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "5f08ee2d-3f25-8eb0-bc5a-be130fd9f46a", + "relative_path": "../../textures/bubble_emote_guide.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAmCAYAAAC29NkdAAAAAXNSR0IArs4c6QAAAixJREFUWEfN2F1OwkAQAOApVMAiAlEJMZHbeQ7xHN7GxBuY+OCLwURNjFET09ZCqRnIwLBMp0vB0nmh7f7k6/4XBwDg9v4pwV8Mr9unS2g23MU1Xpx7zso93dSri+JieqPmOvH3ZVJt38gViKXmDx2O40gTR2kmMgtH5RCpOFKTnLuH17XXb7S7kESBWKjXaS2ed+rT1Ipr1cpK2s6AiKPQkJvgsL6dADlOQx67E+iftMXWM1tuZ10s4SQk4ihMZBpu6xbUcBzJcSZSw20FHI2e9TUiz9QTygwGF/lmcRD4hQDzvqdTZuBkClBaIOJmO0kZW5BwpQRyXOmAEaxuj6UCSriXz6gcYzANV4oW1HB7B2bh9gqUcLTb4Nij2Ms6qOFMZOHAYFqBj7BqtTVPfoNiZzHiKGyQPS8uDshxNkjEFTZJJJyGJFwhQA0nITnu34E2OI40cbmAeNoI4+zT+9fYhU7d/rAexgCnteUHWa51kB+FNCTiKGyQiKPgSOwB63XQPKdhhRKS42yQHMeRNDysgBKOKuNICachJRzlb7rzM38mUMNxpIaTkBoO8/tRAmdeogNtcFjZW3hgtXVhJhyTNrjMSRJNQTiA2zmSyur/irzU43sAR01PrWjs/yzSxS5GHMX6V4KOzMJR6TQkxx23Dte7mOM2Rdri0pAmbm2SSDhb5KY4EynhZkAAGAaBf6XhspB5cVRv3VmOKexWikGncU171tBu+Beea/gHeJZZEDMlW2EAAAAASUVORK5CYII=" + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Umika/models/armor.bbmodel b/config/yosbr/config/figura/avatars/Umika/models/armor.bbmodel new file mode 100644 index 0000000..7a8becd --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/models/armor.bbmodel @@ -0,0 +1,3811 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "armor", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 19, + "height": 48 + }, + "elements": [ + { + "name": "RightChestplate", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 18, + -2 + ], + "to": [ + 8, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 13.0625, + 30, + 14.25, + 39 + ], + "texture": 0 + }, + "east": { + "uv": [ + 11.875, + 30, + 13.0625, + 39 + ], + "texture": 0 + }, + "south": { + "uv": [ + 15.4375, + 30, + 16.625, + 39 + ], + "texture": 0 + }, + "west": { + "uv": [ + 14.25, + 30, + 15.4375, + 39 + ], + "texture": 0 + }, + "up": { + "uv": [ + 13.0625, + 24, + 14.25, + 30 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "04c52e51-518e-9513-d607-bd72f9efa2c9" + }, + { + "name": "RightChestplateOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 18, + -2 + ], + "to": [ + 8, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.001, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 13.0625, + 30, + 14.25, + 39 + ], + "texture": 1 + }, + "east": { + "uv": [ + 11.875, + 30, + 13.0625, + 39 + ], + "texture": 1 + }, + "south": { + "uv": [ + 15.4375, + 30, + 16.625, + 39 + ], + "texture": 1 + }, + "west": { + "uv": [ + 14.25, + 30, + 15.4375, + 39 + ], + "texture": 1 + }, + "up": { + "uv": [ + 13.0625, + 24, + 14.25, + 30 + ], + "rotation": 180, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6be84467-6c7f-1451-5458-a406488d3d44" + }, + { + "name": "LeftChestplate", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 18, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 14.25, + 30, + 13.0625, + 39 + ], + "texture": 0 + }, + "east": { + "uv": [ + 15.4375, + 30, + 14.25, + 39 + ], + "texture": 0 + }, + "south": { + "uv": [ + 16.625, + 30, + 15.4375, + 39 + ], + "texture": 0 + }, + "west": { + "uv": [ + 13.0625, + 30, + 11.875, + 39 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14.25, + 24, + 13.0625, + 30 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "22408e50-1695-eb9c-6ad3-457297fef7dd" + }, + { + "name": "LeftChestplateOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 18, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.001, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 14.25, + 30, + 13.0625, + 39 + ], + "texture": 1 + }, + "east": { + "uv": [ + 15.4375, + 30, + 14.25, + 39 + ], + "texture": 1 + }, + "south": { + "uv": [ + 16.625, + 30, + 15.4375, + 39 + ], + "texture": 1 + }, + "west": { + "uv": [ + 13.0625, + 30, + 11.875, + 39 + ], + "texture": 1 + }, + "up": { + "uv": [ + 14.25, + 24, + 13.0625, + 30 + ], + "rotation": 180, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "77395185-0449-b7e0-c6cb-1acfdbb3f452" + }, + { + "name": "RightLeggings", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 6, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.5, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 30, + 2.375, + 39 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 30, + 1.1875, + 39 + ], + "texture": 2 + }, + "south": { + "uv": [ + 3.5625, + 30, + 4.75, + 39 + ], + "texture": 2 + }, + "west": { + "uv": [ + 2.375, + 30, + 3.5625, + 39 + ], + "texture": 2 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 2 + }, + "down": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "8715712c-138d-7bdc-882f-f4b2c6770544" + }, + { + "name": "RightLeggingsOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 6, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.501, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 30, + 2.375, + 39 + ], + "texture": 3 + }, + "east": { + "uv": [ + 0, + 30, + 1.1875, + 39 + ], + "texture": 3 + }, + "south": { + "uv": [ + 3.5625, + 30, + 4.75, + 39 + ], + "texture": 3 + }, + "west": { + "uv": [ + 2.375, + 30, + 3.5625, + 39 + ], + "texture": 3 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 3 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "db54d1e6-20a4-45af-6869-4a65f0ea1723" + }, + { + "name": "RightBoots", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 6, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 30, + 2.375, + 39 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 30, + 1.1875, + 39 + ], + "texture": 0 + }, + "south": { + "uv": [ + 3.5625, + 30, + 4.75, + 39 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2.375, + 30, + 3.5625, + 39 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "1cb0afb2-ba2b-92d1-1099-aefd7cc512b8" + }, + { + "name": "RightBootsOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 6, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.001, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 30, + 2.375, + 39 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 30, + 1.1875, + 39 + ], + "texture": 1 + }, + "south": { + "uv": [ + 3.5625, + 30, + 4.75, + 39 + ], + "texture": 1 + }, + "west": { + "uv": [ + 2.375, + 30, + 3.5625, + 39 + ], + "texture": 1 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "dad8c5c7-149c-7b1f-9bc2-c432c26bc70e" + }, + { + "name": "LeftLeggings", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 6, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 0.5, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 30, + 1.1875, + 39 + ], + "texture": 2 + }, + "east": { + "uv": [ + 3.5625, + 30, + 2.375, + 39 + ], + "texture": 2 + }, + "south": { + "uv": [ + 4.75, + 30, + 3.5625, + 39 + ], + "texture": 2 + }, + "west": { + "uv": [ + 1.1875, + 30, + 0, + 39 + ], + "texture": 2 + }, + "up": { + "uv": [ + 2.375, + 24, + 1.1875, + 30 + ], + "rotation": 180, + "texture": 2 + }, + "down": { + "uv": [ + 2.375, + 24, + 1.1875, + 30 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "208279dc-0d16-d5cc-3766-43129fd24c7b" + }, + { + "name": "LeftLeggingsOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 6, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 0.501, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 30, + 1.1875, + 39 + ], + "texture": 3 + }, + "east": { + "uv": [ + 3.5625, + 30, + 2.375, + 39 + ], + "texture": 3 + }, + "south": { + "uv": [ + 4.75, + 30, + 3.5625, + 39 + ], + "texture": 3 + }, + "west": { + "uv": [ + 1.1875, + 30, + 0, + 39 + ], + "texture": 3 + }, + "up": { + "uv": [ + 2.375, + 24, + 1.1875, + 30 + ], + "rotation": 180, + "texture": 3 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "a15d5564-7cd3-fc93-e984-76ed5bc8023b" + }, + { + "name": "LeftBoots", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 6, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 30, + 1.1875, + 39 + ], + "texture": 0 + }, + "east": { + "uv": [ + 3.5625, + 30, + 2.375, + 39 + ], + "texture": 0 + }, + "south": { + "uv": [ + 4.75, + 30, + 3.5625, + 39 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1.1875, + 30, + 0, + 39 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2.375, + 24, + 1.1875, + 30 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6646f669-d54c-168c-c291-d46c48bfda6b" + }, + { + "name": "LeftBootsOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 6, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.001, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 30, + 1.1875, + 39 + ], + "texture": 1 + }, + "east": { + "uv": [ + 3.5625, + 30, + 2.375, + 39 + ], + "texture": 1 + }, + "south": { + "uv": [ + 4.75, + 30, + 3.5625, + 39 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1.1875, + 30, + 0, + 39 + ], + "texture": 1 + }, + "up": { + "uv": [ + 2.375, + 24, + 1.1875, + 30 + ], + "rotation": 180, + "texture": 1 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "7a6660e4-1279-daf0-3b3d-293b6821dcbe" + }, + { + "name": "RightChestplateBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 8, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 22 + ], + "faces": { + "north": { + "uv": [ + 13.0625, + 39, + 14.25, + 48 + ], + "texture": 0 + }, + "east": { + "uv": [ + 11.875, + 39, + 13.0625, + 48 + ], + "texture": 0 + }, + "south": { + "uv": [ + 15.4375, + 39, + 16.625, + 48 + ], + "texture": 0 + }, + "west": { + "uv": [ + 14.25, + 39, + 15.4375, + 48 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 14.25, + 24, + 15.4375, + 30 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "4a3a4eb6-fd3e-7d2b-a211-76957d9120bd" + }, + { + "name": "RightChestplateBottomOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 8, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.001, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 22 + ], + "faces": { + "north": { + "uv": [ + 13.0625, + 39, + 14.25, + 48 + ], + "texture": 1 + }, + "east": { + "uv": [ + 11.875, + 39, + 13.0625, + 48 + ], + "texture": 1 + }, + "south": { + "uv": [ + 15.4375, + 39, + 16.625, + 48 + ], + "texture": 1 + }, + "west": { + "uv": [ + 14.25, + 39, + 15.4375, + 48 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 14.25, + 24, + 15.4375, + 30 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "325d12e9-803c-2ac9-5359-07d737487724" + }, + { + "name": "LeftChestplateBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 12, + -2 + ], + "to": [ + -4, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 22 + ], + "faces": { + "north": { + "uv": [ + 14.25, + 39, + 13.0625, + 48 + ], + "texture": 0 + }, + "east": { + "uv": [ + 15.4375, + 39, + 14.25, + 48 + ], + "texture": 0 + }, + "south": { + "uv": [ + 16.625, + 39, + 15.4375, + 48 + ], + "texture": 0 + }, + "west": { + "uv": [ + 13.0625, + 39, + 11.875, + 48 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 15.4375, + 24, + 14.25, + 30 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "26bc361a-dd53-ef35-4d8c-de683271f69d" + }, + { + "name": "LeftChestplateBottomOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 12, + -2 + ], + "to": [ + -4, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.001, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 22 + ], + "faces": { + "north": { + "uv": [ + 14.25, + 39, + 13.0625, + 48 + ], + "texture": 1 + }, + "east": { + "uv": [ + 15.4375, + 39, + 14.25, + 48 + ], + "texture": 1 + }, + "south": { + "uv": [ + 16.625, + 39, + 15.4375, + 48 + ], + "texture": 1 + }, + "west": { + "uv": [ + 13.0625, + 39, + 11.875, + 48 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 15.4375, + 24, + 14.25, + 30 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "2b05091b-8085-6724-3d43-d9171144768c" + }, + { + "name": "RightLeggingsBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.5, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 39, + 2.375, + 48 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 39, + 1.1875, + 48 + ], + "texture": 2 + }, + "south": { + "uv": [ + 3.5625, + 39, + 4.75, + 48 + ], + "texture": 2 + }, + "west": { + "uv": [ + 2.375, + 39, + 3.5625, + 48 + ], + "texture": 2 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 2 + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "de6d8972-c7d3-65ad-9984-a8cb0304f1a4" + }, + { + "name": "RightLeggingsBottomOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.501, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 39, + 2.375, + 48 + ], + "texture": 3 + }, + "east": { + "uv": [ + 0, + 39, + 1.1875, + 48 + ], + "texture": 3 + }, + "south": { + "uv": [ + 3.5625, + 39, + 4.75, + 48 + ], + "texture": 3 + }, + "west": { + "uv": [ + 2.375, + 39, + 3.5625, + 48 + ], + "texture": 3 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 3 + } + }, + "type": "cube", + "uuid": "0d1b2e25-e3cb-5fe8-2f68-f18aca44f0aa" + }, + { + "name": "RightBootsBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 39, + 2.375, + 48 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 39, + 1.1875, + 48 + ], + "texture": 0 + }, + "south": { + "uv": [ + 3.5625, + 39, + 4.75, + 48 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2.375, + 39, + 3.5625, + 48 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2b06f488-228c-8e2e-cf9f-a31f465b2b91" + }, + { + "name": "LeftLeggingsBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 0.5, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 39, + 1.1875, + 48 + ], + "texture": 2 + }, + "east": { + "uv": [ + 3.5625, + 39, + 2.375, + 48 + ], + "texture": 2 + }, + "south": { + "uv": [ + 4.75, + 39, + 3.5625, + 48 + ], + "texture": 2 + }, + "west": { + "uv": [ + 1.1875, + 39, + 0, + 48 + ], + "texture": 2 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 2 + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "94b2a0f5-fc51-dff6-741d-bb1ba99d2a91" + }, + { + "name": "LeftLeggingsBottomOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 0.501, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 39, + 1.1875, + 48 + ], + "texture": 3 + }, + "east": { + "uv": [ + 3.5625, + 39, + 2.375, + 48 + ], + "texture": 3 + }, + "south": { + "uv": [ + 4.75, + 39, + 3.5625, + 48 + ], + "texture": 3 + }, + "west": { + "uv": [ + 1.1875, + 39, + 0, + 48 + ], + "texture": 3 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 2 + } + }, + "type": "cube", + "uuid": "f89ca1fb-370e-a2b8-90bd-46b52f03d3c6" + }, + { + "name": "LeftBootsBottomOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.001, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 39, + 1.1875, + 48 + ], + "texture": 1 + }, + "east": { + "uv": [ + 3.5625, + 39, + 2.375, + 48 + ], + "texture": 1 + }, + "south": { + "uv": [ + 4.75, + 39, + 3.5625, + 48 + ], + "texture": 1 + }, + "west": { + "uv": [ + 1.1875, + 39, + 0, + 48 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "65127873-1035-1a39-184f-f7910cbe00c7" + }, + { + "name": "LeftBootsBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 39, + 1.1875, + 48 + ], + "texture": 0 + }, + "east": { + "uv": [ + 3.5625, + 39, + 2.375, + 48 + ], + "texture": 0 + }, + "south": { + "uv": [ + 4.75, + 39, + 3.5625, + 48 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1.1875, + 39, + 0, + 48 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "aabdaefc-770f-a69a-35cc-bb6ac71bc9be" + }, + { + "name": "RightBootsBottomOverlay", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.001, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 39, + 2.375, + 48 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 39, + 1.1875, + 48 + ], + "texture": 1 + }, + "south": { + "uv": [ + 3.5625, + 39, + 4.75, + 48 + ], + "texture": 1 + }, + "west": { + "uv": [ + 2.375, + 39, + 3.5625, + 48 + ], + "texture": 1 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": 1 + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 1 + } + }, + "type": "cube", + "uuid": "2f97fafc-dd7b-205e-8403-0de28ab11617" + }, + { + "name": "RightChestplateTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 18, + -2 + ], + "to": [ + 8, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.002, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 13.0625, + 30, + 14.25, + 39 + ], + "texture": 4 + }, + "east": { + "uv": [ + 11.875, + 30, + 13.0625, + 39 + ], + "texture": 4 + }, + "south": { + "uv": [ + 15.4375, + 30, + 16.625, + 39 + ], + "texture": 4 + }, + "west": { + "uv": [ + 14.25, + 30, + 15.4375, + 39 + ], + "texture": 4 + }, + "up": { + "uv": [ + 13.0625, + 24, + 14.25, + 30 + ], + "rotation": 180, + "texture": 4 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "1bc91350-32b8-1826-c5aa-42a13e529528" + }, + { + "name": "RightChestplateBottomTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 8, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.002, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 22 + ], + "faces": { + "north": { + "uv": [ + 13.0625, + 39, + 14.25, + 48 + ], + "texture": 4 + }, + "east": { + "uv": [ + 11.875, + 39, + 13.0625, + 48 + ], + "texture": 4 + }, + "south": { + "uv": [ + 15.4375, + 39, + 16.625, + 48 + ], + "texture": 4 + }, + "west": { + "uv": [ + 14.25, + 39, + 15.4375, + 48 + ], + "texture": 4 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 4 + }, + "down": { + "uv": [ + 14.25, + 24, + 15.4375, + 30 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "77d2d753-cc5c-9604-ed68-fefded8b74c0" + }, + { + "name": "LeftChestplateTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 18, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.002, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 14.25, + 30, + 13.0625, + 39 + ], + "texture": 4 + }, + "east": { + "uv": [ + 15.4375, + 30, + 14.25, + 39 + ], + "texture": 4 + }, + "south": { + "uv": [ + 16.625, + 30, + 15.4375, + 39 + ], + "texture": 4 + }, + "west": { + "uv": [ + 13.0625, + 30, + 11.875, + 39 + ], + "texture": 4 + }, + "up": { + "uv": [ + 14.25, + 24, + 13.0625, + 30 + ], + "rotation": 180, + "texture": 4 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "ed6a2771-b199-06d5-c826-d9ad2eeeb335" + }, + { + "name": "LeftChestplateBottomTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 12, + -2 + ], + "to": [ + -4, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.002, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 22 + ], + "faces": { + "north": { + "uv": [ + 14.25, + 39, + 13.0625, + 48 + ], + "texture": 4 + }, + "east": { + "uv": [ + 15.4375, + 39, + 14.25, + 48 + ], + "texture": 4 + }, + "south": { + "uv": [ + 16.625, + 39, + 15.4375, + 48 + ], + "texture": 4 + }, + "west": { + "uv": [ + 13.0625, + 39, + 11.875, + 48 + ], + "texture": 4 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 4 + }, + "down": { + "uv": [ + 15.4375, + 24, + 14.25, + 30 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "f3fe7c1b-6af1-72ab-3278-90a5307c6676" + }, + { + "name": "RightLeggingsTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 6, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.502, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 30, + 2.375, + 39 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 30, + 1.1875, + 39 + ], + "texture": 5 + }, + "south": { + "uv": [ + 3.5625, + 30, + 4.75, + 39 + ], + "texture": 5 + }, + "west": { + "uv": [ + 2.375, + 30, + 3.5625, + 39 + ], + "texture": 5 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 5 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 5 + } + }, + "type": "cube", + "uuid": "152a41e4-ba8e-97d6-b386-7f133012408b" + }, + { + "name": "RightBootsTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 6, + -2 + ], + "to": [ + 3.9, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.002, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 30, + 2.375, + 39 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 30, + 1.1875, + 39 + ], + "texture": 4 + }, + "south": { + "uv": [ + 3.5625, + 30, + 4.75, + 39 + ], + "texture": 4 + }, + "west": { + "uv": [ + 2.375, + 30, + 3.5625, + 39 + ], + "texture": 4 + }, + "up": { + "uv": [ + 1.1875, + 24, + 2.375, + 30 + ], + "rotation": 180, + "texture": 4 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "306712a4-3272-0ec7-9bdf-cee19696ad51" + }, + { + "name": "RightLeggingsBottomTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.502, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 39, + 2.375, + 48 + ], + "texture": 5 + }, + "east": { + "uv": [ + 0, + 39, + 1.1875, + 48 + ], + "texture": 5 + }, + "south": { + "uv": [ + 3.5625, + 39, + 4.75, + 48 + ], + "texture": 5 + }, + "west": { + "uv": [ + 2.375, + 39, + 3.5625, + 48 + ], + "texture": 5 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": 5 + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 5 + } + }, + "type": "cube", + "uuid": "e3ce7714-e502-2ebc-1c85-10d2983ebb7c" + }, + { + "name": "RightBootsBottomTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1, + 0, + -2 + ], + "to": [ + 3.9, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 1.002, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 1.1875, + 39, + 2.375, + 48 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 39, + 1.1875, + 48 + ], + "texture": 4 + }, + "south": { + "uv": [ + 3.5625, + 39, + 4.75, + 48 + ], + "texture": 4 + }, + "west": { + "uv": [ + 2.375, + 39, + 3.5625, + 48 + ], + "texture": 4 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": 4 + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "1e955fb1-f5ca-cae7-203e-ce7be18f442b" + }, + { + "name": "LeftLeggingsTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 6, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 0.502, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 30, + 1.1875, + 39 + ], + "texture": 5 + }, + "east": { + "uv": [ + 3.5625, + 30, + 2.375, + 39 + ], + "texture": 5 + }, + "south": { + "uv": [ + 4.75, + 30, + 3.5625, + 39 + ], + "texture": 5 + }, + "west": { + "uv": [ + 1.1875, + 30, + 0, + 39 + ], + "texture": 5 + }, + "up": { + "uv": [ + 2.375, + 24, + 1.1875, + 30 + ], + "rotation": 180, + "texture": 5 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 5 + } + }, + "type": "cube", + "uuid": "08aa3ef4-81da-97b6-1fb6-10050d4ab6f9" + }, + { + "name": "LeftBootsTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 6, + -2 + ], + "to": [ + 0.1, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.002, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 30, + 1.1875, + 39 + ], + "texture": 4 + }, + "east": { + "uv": [ + 3.5625, + 30, + 2.375, + 39 + ], + "texture": 4 + }, + "south": { + "uv": [ + 4.75, + 30, + 3.5625, + 39 + ], + "texture": 4 + }, + "west": { + "uv": [ + 1.1875, + 30, + 0, + 39 + ], + "texture": 4 + }, + "up": { + "uv": [ + 2.375, + 24, + 1.1875, + 30 + ], + "rotation": 180, + "texture": 4 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "cc172290-3e5f-a21e-14c6-0beb0b7228de" + }, + { + "name": "LeftLeggingsBottomTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 0.502, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 39, + 1.1875, + 48 + ], + "texture": 5 + }, + "east": { + "uv": [ + 3.5625, + 39, + 2.375, + 48 + ], + "texture": 5 + }, + "south": { + "uv": [ + 4.75, + 39, + 3.5625, + 48 + ], + "texture": 5 + }, + "west": { + "uv": [ + 1.1875, + 39, + 0, + 48 + ], + "texture": 5 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": 5 + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 5 + } + }, + "type": "cube", + "uuid": "ae508872-aa37-2b04-7a48-9528dbec9686" + }, + { + "name": "LeftBootsBottomTrim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.9, + 0, + -2 + ], + "to": [ + 0.1, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "shade": false, + "inflate": 1.002, + "origin": [ + 0, + -6, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 2.375, + 39, + 1.1875, + 48 + ], + "texture": 4 + }, + "east": { + "uv": [ + 3.5625, + 39, + 2.375, + 48 + ], + "texture": 4 + }, + "south": { + "uv": [ + 4.75, + 39, + 3.5625, + 48 + ], + "texture": 4 + }, + "west": { + "uv": [ + 1.1875, + 39, + 0, + 48 + ], + "texture": 4 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": 4 + }, + "down": { + "uv": [ + 2.375, + 24, + 3.5625, + 30 + ], + "texture": 4 + } + }, + "type": "cube", + "uuid": "e46adda3-76b0-3f14-f8bb-14dec4636073" + } + ], + "outliner": [ + { + "name": "ArmorRA", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "9cdcfaa1-6e79-d94c-f516-f1aff5551a36", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightChestplate", + "origin": [ + 0, + 22, + 0 + ], + "color": 0, + "uuid": "fd9a522d-9a6f-9315-f563-c2c2dc2643ed", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "04c52e51-518e-9513-d607-bd72f9efa2c9", + "6be84467-6c7f-1451-5458-a406488d3d44", + "1bc91350-32b8-1826-c5aa-42a13e529528" + ] + } + ] + }, + { + "name": "ArmorRAB", + "origin": [ + 7, + 18, + 2 + ], + "color": 0, + "uuid": "475e6e92-a1e4-3dbd-1fbc-f80f1d0dad3a", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightChestplateBottom", + "origin": [ + 5.5, + 18, + 2 + ], + "color": 0, + "uuid": "002c7a8e-4836-7723-7a30-02d9e7d6864c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4a3a4eb6-fd3e-7d2b-a211-76957d9120bd", + "325d12e9-803c-2ac9-5359-07d737487724", + "77d2d753-cc5c-9604-ed68-fefded8b74c0" + ] + } + ] + }, + { + "name": "ArmorLA", + "origin": [ + -5, + 23, + 0 + ], + "color": 0, + "uuid": "73d4bd8b-b1f2-b209-c731-ba14eca51894", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "LeftChestplate", + "origin": [ + 0, + 22, + 0 + ], + "color": 0, + "uuid": "5c14372a-8dc0-5453-10f1-d47cdec6e52b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "22408e50-1695-eb9c-6ad3-457297fef7dd", + "77395185-0449-b7e0-c6cb-1acfdbb3f452", + "ed6a2771-b199-06d5-c826-d9ad2eeeb335" + ] + } + ] + }, + { + "name": "ArmorLAB", + "origin": [ + -7, + 18, + 2 + ], + "color": 0, + "uuid": "402ce6c8-6779-6fc6-a408-2c462302696d", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "LeftChestplateBottom", + "origin": [ + -5.5, + 18, + 2 + ], + "color": 0, + "uuid": "f09fa0ac-568d-aeed-7aeb-181f6bcae7de", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "26bc361a-dd53-ef35-4d8c-de683271f69d", + "2b05091b-8085-6724-3d43-d9171144768c", + "f3fe7c1b-6af1-72ab-3278-90a5307c6676" + ] + } + ] + }, + { + "name": "ArmorRL", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "09960a3e-73fa-bf53-b5a6-939709be95dd", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightLeggings", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "f2c56651-0b87-7be5-a5d0-54f0b539cedd", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8715712c-138d-7bdc-882f-f4b2c6770544", + "db54d1e6-20a4-45af-6869-4a65f0ea1723", + "152a41e4-ba8e-97d6-b386-7f133012408b" + ] + }, + { + "name": "RightBoots", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "585bbbd4-29dc-4475-360d-a37d1d22a0dc", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1cb0afb2-ba2b-92d1-1099-aefd7cc512b8", + "dad8c5c7-149c-7b1f-9bc2-c432c26bc70e", + "306712a4-3272-0ec7-9bdf-cee19696ad51" + ] + } + ] + }, + { + "name": "ArmorRLB", + "origin": [ + 2, + 6, + 0 + ], + "color": 0, + "uuid": "51c416bc-1aef-41e3-863d-675810356aef", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightLeggingsBottom", + "origin": [ + 2, + 6, + 0 + ], + "color": 0, + "uuid": "943c2228-26ef-a3cc-c4ff-8b2e3a802431", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "de6d8972-c7d3-65ad-9984-a8cb0304f1a4", + "0d1b2e25-e3cb-5fe8-2f68-f18aca44f0aa", + "e3ce7714-e502-2ebc-1c85-10d2983ebb7c" + ] + }, + { + "name": "RightBootsBottom", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "225aaa89-44de-01b7-601e-e0636668f07c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "2b06f488-228c-8e2e-cf9f-a31f465b2b91", + "2f97fafc-dd7b-205e-8403-0de28ab11617", + "1e955fb1-f5ca-cae7-203e-ce7be18f442b" + ] + } + ] + }, + { + "name": "ArmorLL", + "origin": [ + -2, + 6, + 2 + ], + "color": 0, + "uuid": "ebec21d0-6b75-5c93-bcad-43a0bbe83be0", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "LeftLeggings", + "origin": [ + -2, + 6, + 2 + ], + "color": 0, + "uuid": "0e96119a-486e-469e-c718-c9fcb2e8f4aa", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "208279dc-0d16-d5cc-3766-43129fd24c7b", + "a15d5564-7cd3-fc93-e984-76ed5bc8023b", + "08aa3ef4-81da-97b6-1fb6-10050d4ab6f9" + ] + }, + { + "name": "LeftBoots", + "origin": [ + -2, + 6, + -2 + ], + "color": 0, + "uuid": "bae07c99-6cf4-d4d7-9e54-a7966539daf6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "6646f669-d54c-168c-c291-d46c48bfda6b", + "7a6660e4-1279-daf0-3b3d-293b6821dcbe", + "cc172290-3e5f-a21e-14c6-0beb0b7228de" + ] + } + ] + }, + { + "name": "ArmorLLB", + "origin": [ + -2, + 6, + 0 + ], + "color": 0, + "uuid": "ac27b599-070c-a038-5e6f-e998a5ad1cb4", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "LeftLeggingsBottom", + "origin": [ + -2, + 6, + -2 + ], + "color": 0, + "uuid": "bfb3e89f-f73f-f1da-55a1-d25eb9f7c2d4", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "94b2a0f5-fc51-dff6-741d-bb1ba99d2a91", + "f89ca1fb-370e-a2b8-90bd-46b52f03d3c6", + "ae508872-aa37-2b04-7a48-9528dbec9686" + ] + }, + { + "name": "LeftBootsBottom", + "origin": [ + -2, + 6, + -2 + ], + "color": 0, + "uuid": "71ea41e5-93f0-d75e-73eb-77a7b04abfca", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "aabdaefc-770f-a69a-35cc-bb6ac71bc9be", + "65127873-1035-1a39-184f-f7910cbe00c7", + "e46adda3-76b0-3f14-f8bb-14dec4636073" + ] + } + ] + } + ], + "textures": [ + { + "path": "", + "name": "leather_layer_1.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 64, + "height": 32, + "uv_width": 19, + "uv_height": 48, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "3077f184-e559-5a8a-71d6-29d7cea0677e", + "relative_path": "../../textures/for_modeling/leather_layer_1.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAAXNSR0IArs4c6QAAA3lJREFUaEPlmTFv4kAQhU0TnWiQEEW4DlFSRRFVdB1/g5rfRM3foDulQkeacKcUiO5IgZBo0CmNT99Kz5qs7CzENvh8K0XB7Ho98zzzZt7SiAJjNpvFx+PRrWo2m8lqfTeZTBqhPao8HzQeAO7v7t758OftzV2vVqtoPB4H96gFAL9eXqJWq5X40m63/w8AptNp/O3hIfr9+hodDocEAMDYbrf1jwAfgF6vl4CwWCyi2nMAAAyHw2i/37sIEABfbm6iH09P9Y8ASHAwGLi3DgjkPs4zvj8+1j8CAABns0rhP58CWQ7isK37SvwsILQ2bd6WQbsvn68NYMPWedV3hTssj5FUAeZIAQ34YLfbOZC63a5LDQ2lCBzBsH0E1URrq9BHNNLKHCXu6+2ty3ENPxr0ppn3y6S9n/sAAMcZKqWQaWUA6Pf7iWFyzIZyVrcHeD5AAgoQ1uu1mwYgGik7NF+JFLAkl9cggWI5QQDbHqIqZbT0Pl5iChBsCYUfKkGClxIqRIaNiryRVpTdpUdAUYaWtU8QgPl8Hou5Ia7RaBS8pyxj2Vd9i3grbyQFnVkul7F0QFUAUF9RhBYJAvDz+TlWgwQQ144A9S2UVUg074FMEADbKkNieR+YNz1s78FepadAyOAsLeEDZXM3TVx9tN7XD9yfpT3O1RrBCDgFAHKSNKG1Ve9v81NnCnbeX0/bbZ2ie9R3NuettvC1hn99ilzPDYDVElY8Yai0hMQUAEhcoQ1Ybx0S19AlMk8rbbWErhFf0ioSY+yj/ZjXdShlcwNAaOuB1mCpRwyVYxyhWYOtVvCVKKVXesQ6hGP+87KuTzmzLAQAnRj5Ib7ZbNxJspW/OJC2XmpRilFqERA6nY7bRxGWdW0jRACWHgGkgMQOxvLHGSJDR2jiEaWAXW8B8flG64kaK7/TpLnlj3NabncecA6ryhj7EB2a6g0JgLQIEECAo/UAomG7Tt5o3jIXIvF3J0JSaJAWI41VRUoiOeW0f0KkByv8cdgPUU6UGAJMUcP/S/3w4gAgJ/VGFJLWYDvvv0E5ausvoJCzgKJfkyypcY9dLxK7xg8vLgUgFUjHsrQMxlBpeeWk1mcdaWlPHBUQvO2scE5rpi51VpBEgE5oVJfVqOiN23kiguuPGo2iW9ZQLn923kVAWltpWVckmcbEoTLzWcMudd9f6+s3Tq3qU78AAAAASUVORK5CYII=" + }, + { + "path": "", + "name": "leather_layer_1_overlay.png", + "folder": "", + "namespace": "", + "id": "1", + "width": 64, + "height": 32, + "uv_width": 19, + "uv_height": 48, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "2ba8879b-4ecb-195a-59ee-6d9e98804dde", + "relative_path": "../../textures/for_modeling/leather_layer_1_overlay.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAAXNSR0IArs4c6QAAARtJREFUaENjZCABeOlI/Acp33blBSMJ2ga1UpI8EmWhAA6AZScekKRvMIcASR4Z8QGQZANJAfOOjNAUkOWgCQ6AaQeuk5Ryhk0WGA2AkZ4CRnwZQGkABJlACtF1ZwZPIUpSYUZpNUhpANKiMCUpAEAtQQEeDrIbQoOxECUpACiNAVAK4GDhHFTVKF0DAJQCfvz5PqgaUnQNgCFfBlCaBSgtRCm1H5t+uqYAWniAUjMJBgBsDABm0XAaCwD5iagAUBARZPjw4zvDhy8/htVgCNEBAKr7OVgYGF58GKEBgJzPRlwWoLSQGez6CZYBg90DlLpvNAAoDcGhrn80BQz1GKTU/aMpgNIQHOr6R1PAUI9BSt0/mgIoDcGhrh8ARURkId1f/LQAAAAASUVORK5CYII=" + }, + { + "path": "", + "name": "leather_layer_2.png", + "folder": "", + "namespace": "", + "id": "2", + "width": 64, + "height": 32, + "uv_width": 19, + "uv_height": 48, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "a3d07fcc-8736-7c2a-3a7d-01bca4f29360", + "relative_path": "../../textures/for_modeling/leather_layer_2.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAAXNSR0IArs4c6QAAAbNJREFUaEPtVquOg0AUHTSGIDA4BA7ZLLLZj8DzZXi+BI9DoJYKBMGwqevmTHI2N7Ntd5NuSToz15B5NOk9cx43UI5X4Hj/ygPgGeA4Al4CjhPAm6CXgJeA4wh4CThOAJ8CXgJeAgYCbdtesLVtmwrDUFVVZTVLfjQHAN4OB/V5Pquu61Rd124B0DTNpSxLNY6jmufZTQCkKqxnADVP3eML7UsfuHWG/VcHKAAAaDiKIjUMg24+TVMNgLmepknv43xdVyskEkDzSZJoANhgURS60b7vdRrAE1AwRRTWy7Lo+6+eEpoBfHE0hIbzPL/JAAkIALICAL44XpgSAMXRLCkfx7FmBNf4WsEAKQFqHiBkWfYtATDCBIRrKxhAU8OLk+KcA8gIMIAMkaZpRQpIDzBjEICYJmmmxL2YNCOVIzblxXMZuzzbI2a1CfJPmdn/l8Zwh6MzPQJrFkZqljznqA0A5H3c5W/2MNmH53w5OlNC78ej+jiddN/wCpScM2C6kNhv9/cw2YcBuDZIsUG+PJpnapiSYuwSKIKFL0z52R7zbwBIudzzlGsew7mDg5j0jWenzBfesmAwq9d1bgAAAABJRU5ErkJggg==" + }, + { + "path": "", + "name": "leather_layer_2_overlay.png", + "folder": "", + "namespace": "", + "id": "3", + "width": 64, + "height": 32, + "uv_width": 19, + "uv_height": 48, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "72561028-643a-e907-78d7-d707a6b9393f", + "relative_path": "../../textures/for_modeling/leather_layer_2_overlay.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAAXNSR0IArs4c6QAAAP5JREFUaEPtlbEKwjAQhq/gkEKHCA516wM4OvgMjo4+oKPP4eBDODp2KOSGQuUaAramLirE3n9LSS4N3Mf//8lIeWXK5ycAgAKUE4AFlAsAIQgLwALKCcACygWAVwAWgAWUE4AFlAsArwAsAAtECBx3VSfbp8tt9gp5GVCGX9ucHBPV7GYPIQrAmrzXhUoAMrhqC2gLxY9D7rD1gRmKmckYE+U47r07Gy44X38bxF8BUBY+M+6N679hPQDTOqrZ70ifR+sYMbkveQD7TdnZwpBZSGgOBxwPFfrWEHFLVDf+h2q17IHEzicP4NkCImmpKQtM5YvAi5VASh7Av4fmA8zRVyFbTtAIAAAAAElFTkSuQmCC" + }, + { + "path": "", + "name": "trim.png", + "folder": "", + "namespace": "", + "id": "5", + "width": 64, + "height": 32, + "uv_width": 19, + "uv_height": 48, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "10cc6101-1a98-56ff-84bb-c18cb34472c0", + "relative_path": "../../textures/for_modeling/trim.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAAXNSR0IArs4c6QAAARlJREFUaEPtWIEJxCAMrJtkFEdxFEdxFEdxE5/Ip+TFL31S+TamUFrE2NzlUsi5bfHLLY5/MwJMAYszYC2wuADsJ2gtEGOs2AallNYNANBueqcWea83wkoplfbzWFzj53Sx+7m0D58xxr8W4fTHc86ViMHEvfenY+/8n1EBQkKwESBhT0OsKUBDFSUYTAES9jTEmgI0VFGCwRQgYU9DrClAQxUlGG6vAD6FcqA0UuecP/B77/uR/hCjmAD0EzCZkY9AIzOCGPkGfQwft8lXCCGIczxSiEMAxBpt7Od93EPJcjMD174ZGmiaAMBuoNC7RK4zYofs8uTxoyml+mslnmKgDAno+06TA9SraGp/zZDs1WcaAVcz+rTzXjFzgCFw/S4BAAAAAElFTkSuQmCC" + }, + { + "path": "", + "name": "trim_leggings.png", + "folder": "", + "namespace": "", + "id": "6", + "width": 64, + "height": 32, + "uv_width": 19, + "uv_height": 48, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "a801ffff-07dc-221a-9ca4-89a631acd89b", + "relative_path": "../../textures/for_modeling/trim_leggings.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAgCAYAAACinX6EAAAAAXNSR0IArs4c6QAAALdJREFUaEPtlVEKgCAQRPUmHsWj71H2JsVKGxH1o24kM0KkZIs+Z8acwFsG338iACoAnAAtAC4AhiAtQAuAE6AFwAXAW4AWoAXACdAC4ALgLUAL0ALgBLKIbMaglHKiUNU2trc364tIG9o3f2qtS9to6cXPEC8BzKC4co1hBViGeFZ4jnh+eD7YnGum3Of7+KlOdMYMA3g7fVW1Tbf61/7f1BIGwE/9AJCiT7IXbBiA3gV9/R88gB06yDkhrwNxCwAAAABJRU5ErkJggg==" + } + ], + "animations": [ + { + "uuid": "8a5254c3-52e1-ebac-3078-87344e3c6f23", + "name": "jerk_ears", + "loop": "once", + "override": false, + "length": 0.25, + "snapping": 24, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "" + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Umika/models/barrier.bbmodel b/config/yosbr/config/figura/avatars/Umika/models/barrier.bbmodel new file mode 100644 index 0000000..920e657 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/models/barrier.bbmodel @@ -0,0 +1,4318 @@ +{ + "meta": { + "format_version": "4.5", + "model_format": "free", + "box_uv": false + }, + "name": "barrier", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 1, + "height": 1 + }, + "elements": [ + { + "name": "Barrier1", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "Arn5": [ + 12.45573, + -16.30478, + -7.99099 + ], + "bhLA": [ + 17.95504, + -12.10366, + -3.99547 + ], + "oe5L": [ + 12.45573, + -16.30478, + 7.99099 + ], + "LaOo": [ + 17.95504, + -12.10366, + 3.99547 + ], + "skAF": [ + 6.95626, + -20.50605, + 3.99542 + ], + "mSEF": [ + 6.95626, + -20.50605, + -3.99542 + ] + }, + "faces": { + "Qa7oQUdO": { + "uv": { + "Arn5": [ + 0.42424, + 0.89503 + ], + "bhLA": [ + 0.39394, + 0.84254 + ], + "oe5L": [ + 0.30303, + 0.89503 + ] + }, + "vertices": [ + "Arn5", + "bhLA", + "oe5L" + ], + "texture": 0 + }, + "LeEDTzrA": { + "uv": { + "bhLA": [ + 0.39394, + 0.84254 + ], + "LaOo": [ + 0.33333, + 0.84254 + ], + "oe5L": [ + 0.30303, + 0.89503 + ] + }, + "vertices": [ + "bhLA", + "LaOo", + "oe5L" + ], + "texture": 0 + }, + "4X7QzJLA": { + "uv": { + "oe5L": [ + 0.30303, + 0.89503 + ], + "skAF": [ + 0.33333, + 0.94751 + ], + "mSEF": [ + 0.39394, + 0.94751 + ] + }, + "vertices": [ + "oe5L", + "skAF", + "mSEF" + ], + "texture": 0 + }, + "x3acV2xS": { + "uv": { + "mSEF": [ + 0.39394, + 0.94751 + ], + "Arn5": [ + 0.42424, + 0.89503 + ], + "oe5L": [ + 0.30303, + 0.89503 + ] + }, + "vertices": [ + "mSEF", + "Arn5", + "oe5L" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "1ffcfe1b-dd45-30ab-3d50-3eb527527f64" + }, + { + "name": "Barrier2", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "Yag1": [ + -5.37976, + -16.30478, + -13.78618 + ], + "2mKW": [ + -3.2792, + -20.50605, + -7.32118 + ], + "zVpV": [ + -7.97619, + -20.50608, + -0.85638 + ], + "3FTI": [ + -12.1773, + -12.10366, + -13.78622 + ], + "YxwL": [ + -16.87454, + -12.10366, + -7.32115 + ], + "CRpy": [ + -14.77408, + -16.30475, + -0.85638 + ] + }, + "faces": { + "qKcm1Dtp": { + "uv": { + "Yag1": [ + 0.66667, + 0.89503 + ], + "2mKW": [ + 0.69697, + 0.94751 + ], + "zVpV": [ + 0.75758, + 0.94751 + ] + }, + "vertices": [ + "Yag1", + "2mKW", + "zVpV" + ], + "texture": 0 + }, + "zcqb3YJU": { + "uv": { + "3FTI": [ + 0.69697, + 0.84254 + ], + "Yag1": [ + 0.66667, + 0.89503 + ], + "zVpV": [ + 0.75758, + 0.94751 + ] + }, + "vertices": [ + "3FTI", + "Yag1", + "zVpV" + ], + "texture": 0 + }, + "fU1wtLBt": { + "uv": { + "YxwL": [ + 0.75758, + 0.84254 + ], + "3FTI": [ + 0.69697, + 0.84254 + ], + "zVpV": [ + 0.75758, + 0.94751 + ] + }, + "vertices": [ + "YxwL", + "3FTI", + "zVpV" + ], + "texture": 0 + }, + "D23N9iIN": { + "uv": { + "zVpV": [ + 0.75758, + 0.94751 + ], + "CRpy": [ + 0.78788, + 0.89503 + ], + "YxwL": [ + 0.75758, + 0.84254 + ] + }, + "vertices": [ + "zVpV", + "CRpy", + "YxwL" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "28326e39-14dc-4a63-19b6-00c93a838274" + }, + { + "name": "Barrier3", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "R7jj": [ + -3.75085, + -16.30478, + 14.31544 + ], + "Jg1w": [ + -1.65027, + -20.50603, + 7.85045 + ], + "vMd4": [ + 5.94954, + -20.50603, + 5.38107 + ], + "kolb": [ + 9.34848, + -12.10366, + 15.84144 + ], + "wOmD": [ + 1.74848, + -12.10366, + 18.31086 + ], + "NNAA": [ + 11.44901, + -16.30478, + 9.37664 + ] + }, + "faces": { + "0lnLGtFu": { + "uv": { + "R7jj": [ + 0.12121, + 0.89503 + ], + "Jg1w": [ + 0.15152, + 0.94751 + ], + "vMd4": [ + 0.21212, + 0.94751 + ] + }, + "vertices": [ + "R7jj", + "Jg1w", + "vMd4" + ], + "texture": 0 + }, + "hhgfkNIK": { + "uv": { + "kolb": [ + 0.21212, + 0.84254 + ], + "wOmD": [ + 0.15152, + 0.84254 + ], + "R7jj": [ + 0.12121, + 0.89503 + ] + }, + "vertices": [ + "kolb", + "wOmD", + "R7jj" + ], + "texture": 0 + }, + "0Rji1785": { + "uv": { + "vMd4": [ + 0.21212, + 0.94751 + ], + "NNAA": [ + 0.24243, + 0.89503 + ], + "R7jj": [ + 0.12121, + 0.89503 + ] + }, + "vertices": [ + "vMd4", + "NNAA", + "R7jj" + ], + "texture": 0 + }, + "i9dgHyC2": { + "uv": { + "NNAA": [ + 0.24243, + 0.89503 + ], + "kolb": [ + 0.21212, + 0.84254 + ], + "R7jj": [ + 0.12121, + 0.89503 + ] + }, + "vertices": [ + "NNAA", + "kolb", + "R7jj" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "89ca0220-5946-6fb4-0562-9cc2170a16fd" + }, + { + "name": "Barrier4", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "IIXU": [ + 11.44901, + -16.30478, + -9.37664 + ], + "1xE0": [ + 5.94954, + -20.50603, + -5.38107 + ], + "CXrA": [ + -1.65027, + -20.50603, + -7.85045 + ], + "zPA0": [ + 1.74848, + -12.10366, + -18.31086 + ], + "oYOf": [ + 9.34848, + -12.10366, + -15.84144 + ], + "DjUC": [ + -3.75085, + -16.30478, + -14.31544 + ] + }, + "faces": { + "uaJyCz2z": { + "uv": { + "IIXU": [ + 0.48485, + 0.89503 + ], + "1xE0": [ + 0.51515, + 0.94751 + ], + "CXrA": [ + 0.57576, + 0.94751 + ] + }, + "vertices": [ + "IIXU", + "1xE0", + "CXrA" + ], + "texture": 0 + }, + "yI2cpGQZ": { + "uv": { + "zPA0": [ + 0.57576, + 0.84254 + ], + "oYOf": [ + 0.51515, + 0.84254 + ], + "IIXU": [ + 0.48485, + 0.89503 + ] + }, + "vertices": [ + "zPA0", + "oYOf", + "IIXU" + ], + "texture": 0 + }, + "zXKeJgkd": { + "uv": { + "CXrA": [ + 0.57576, + 0.94751 + ], + "DjUC": [ + 0.60606, + 0.89503 + ], + "IIXU": [ + 0.48485, + 0.89503 + ] + }, + "vertices": [ + "CXrA", + "DjUC", + "IIXU" + ], + "texture": 0 + }, + "GgM9ok1T": { + "uv": { + "DjUC": [ + 0.60606, + 0.89503 + ], + "zPA0": [ + 0.57576, + 0.84254 + ], + "IIXU": [ + 0.48485, + 0.89503 + ] + }, + "vertices": [ + "DjUC", + "zPA0", + "IIXU" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "e2fcefb7-9c37-6ff5-68e4-8627896caea9" + }, + { + "name": "Barrier5", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "xYFO": [ + -1.37211, + -3.84915, + 21.63661 + ], + "F8AM": [ + 2.02674, + -10.64672, + 19.16723 + ], + "YWtx": [ + 13.82781, + -3.84922, + 16.69776 + ], + "Rptb": [ + 2.82907, + 2.94872, + 21.63661 + ], + "nAjf": [ + 9.62674, + -10.64672, + 16.69779 + ], + "cm0C": [ + 10.42882, + 2.94878, + 19.16726 + ] + }, + "faces": { + "NFbZyVJX": { + "uv": { + "xYFO": [ + 0.12121, + 0.79005 + ], + "F8AM": [ + 0.15152, + 0.84254 + ], + "YWtx": [ + 0.24243, + 0.79005 + ] + }, + "vertices": [ + "xYFO", + "F8AM", + "YWtx" + ], + "texture": 0 + }, + "oOZWbFhk": { + "uv": { + "Rptb": [ + 0.15152, + 0.73757 + ], + "xYFO": [ + 0.12121, + 0.79005 + ], + "YWtx": [ + 0.24243, + 0.79005 + ] + }, + "vertices": [ + "Rptb", + "xYFO", + "YWtx" + ], + "texture": 0 + }, + "mOru5kIu": { + "uv": { + "F8AM": [ + 0.15152, + 0.84254 + ], + "nAjf": [ + 0.21212, + 0.84254 + ], + "YWtx": [ + 0.24243, + 0.79005 + ] + }, + "vertices": [ + "F8AM", + "nAjf", + "YWtx" + ], + "texture": 0 + }, + "1FFKq8BV": { + "uv": { + "YWtx": [ + 0.24243, + 0.79005 + ], + "cm0C": [ + 0.21212, + 0.73756 + ], + "Rptb": [ + 0.15152, + 0.73757 + ] + }, + "vertices": [ + "YWtx", + "cm0C", + "Rptb" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "0892b9ea-ea94-207c-1f9a-2f8628aac120" + }, + { + "name": "Barrier6", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "nIfk": [ + 11.60749, + 3.8492, + 18.31093 + ], + "Ut8M": [ + 15.00648, + -2.94878, + 15.84141 + ], + "nWP5": [ + 19.70349, + -2.94875, + 9.37669 + ], + "aenb": [ + 17.60302, + 10.6467, + 7.85042 + ], + "wSME": [ + 12.90576, + 10.6467, + 14.31549 + ], + "VVCf": [ + 21.00181, + 3.84917, + 5.38106 + ] + }, + "faces": { + "r899VVRa": { + "uv": { + "nIfk": [ + 0.21212, + 0.73756 + ], + "Ut8M": [ + 0.24243, + 0.79005 + ], + "nWP5": [ + 0.30303, + 0.79005 + ] + }, + "vertices": [ + "nIfk", + "Ut8M", + "nWP5" + ], + "texture": 0 + }, + "m0Cli6Ve": { + "uv": { + "aenb": [ + 0.30303, + 0.68508 + ], + "wSME": [ + 0.24242, + 0.68508 + ], + "nIfk": [ + 0.21212, + 0.73756 + ] + }, + "vertices": [ + "aenb", + "wSME", + "nIfk" + ], + "texture": 0 + }, + "eIe5wd3R": { + "uv": { + "nWP5": [ + 0.30303, + 0.79005 + ], + "VVCf": [ + 0.33334, + 0.73757 + ], + "nIfk": [ + 0.21212, + 0.73756 + ] + }, + "vertices": [ + "nWP5", + "VVCf", + "nIfk" + ], + "texture": 0 + }, + "zhNhQfF3": { + "uv": { + "VVCf": [ + 0.33334, + 0.73757 + ], + "aenb": [ + 0.30303, + 0.68508 + ], + "nIfk": [ + 0.21212, + 0.73756 + ] + }, + "vertices": [ + "VVCf", + "aenb", + "nIfk" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "b353e066-b7eb-5d49-03d0-6bffec0918a0" + }, + { + "name": "Barrier7", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "sgjW": [ + 20.15371, + -3.8492, + 7.99102 + ], + "RXBz": [ + 18.85547, + -10.64674, + 3.99547 + ], + "F24g": [ + 20.15371, + -3.8492, + -7.99102 + ], + "b4nW": [ + 21.45203, + 2.94874, + 3.99539 + ], + "t3ws": [ + 18.85547, + -10.64674, + -3.99547 + ], + "OAIt": [ + 21.45203, + 2.94874, + -3.99539 + ] + }, + "faces": { + "MnnmSYRF": { + "uv": { + "sgjW": [ + 0.30303, + 0.79005 + ], + "RXBz": [ + 0.33333, + 0.84254 + ], + "F24g": [ + 0.42424, + 0.79005 + ] + }, + "vertices": [ + "sgjW", + "RXBz", + "F24g" + ], + "texture": 0 + }, + "eCGpY79B": { + "uv": { + "b4nW": [ + 0.33334, + 0.73757 + ], + "sgjW": [ + 0.30303, + 0.79005 + ], + "F24g": [ + 0.42424, + 0.79005 + ] + }, + "vertices": [ + "b4nW", + "sgjW", + "F24g" + ], + "texture": 0 + }, + "UA9sL3fH": { + "uv": { + "RXBz": [ + 0.33333, + 0.84254 + ], + "t3ws": [ + 0.39394, + 0.84254 + ], + "F24g": [ + 0.42424, + 0.79005 + ] + }, + "vertices": [ + "RXBz", + "t3ws", + "F24g" + ], + "texture": 0 + }, + "1mO1enyO": { + "uv": { + "F24g": [ + 0.42424, + 0.79005 + ], + "OAIt": [ + 0.39394, + 0.73757 + ], + "b4nW": [ + 0.33334, + 0.73757 + ] + }, + "vertices": [ + "F24g", + "OAIt", + "b4nW" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "cf598a49-f1eb-47bc-8232-487d7ce031d1" + }, + { + "name": "Barrier8", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "Q4IN": [ + -13.82781, + 3.84922, + 16.69776 + ], + "wCK2": [ + -10.42882, + -2.94878, + 19.16726 + ], + "PNTE": [ + -2.82907, + -2.94872, + 21.63661 + ], + "mlEN": [ + -2.02674, + 10.64672, + 19.16723 + ], + "lABY": [ + -9.62674, + 10.64672, + 16.69779 + ], + "ZHKx": [ + 1.37211, + 3.84915, + 21.63661 + ] + }, + "faces": { + "n24TdmhQ": { + "uv": { + "Q4IN": [ + 0.0303, + 0.73756 + ], + "wCK2": [ + 0.06061, + 0.79005 + ], + "PNTE": [ + 0.12121, + 0.79005 + ] + }, + "vertices": [ + "Q4IN", + "wCK2", + "PNTE" + ], + "texture": 0 + }, + "UUDEtWYK": { + "uv": { + "mlEN": [ + 0.12121, + 0.68508 + ], + "lABY": [ + 0.06061, + 0.68508 + ], + "Q4IN": [ + 0.0303, + 0.73756 + ] + }, + "vertices": [ + "mlEN", + "lABY", + "Q4IN" + ], + "texture": 0 + }, + "f1u0lNPh": { + "uv": { + "PNTE": [ + 0.12121, + 0.79005 + ], + "ZHKx": [ + 0.15152, + 0.73757 + ], + "Q4IN": [ + 0.0303, + 0.73756 + ] + }, + "vertices": [ + "PNTE", + "ZHKx", + "Q4IN" + ], + "texture": 0 + }, + "1zDhRe2q": { + "uv": { + "ZHKx": [ + 0.15152, + 0.73757 + ], + "mlEN": [ + 0.12121, + 0.68508 + ], + "Q4IN": [ + 0.0303, + 0.73756 + ] + }, + "vertices": [ + "ZHKx", + "mlEN", + "Q4IN" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "8cda9be7-5fa4-c07d-0003-2f7bc1954175" + }, + { + "name": "Barrier9", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "qHbv": [ + -20.15371, + 3.8492, + -7.99102 + ], + "3bwp": [ + -21.45203, + -2.94874, + -3.99539 + ], + "KSbw": [ + -21.45203, + -2.94874, + 3.99539 + ], + "ZsXT": [ + -18.85547, + 10.64674, + 3.99547 + ], + "eH85": [ + -18.85547, + 10.64674, + -3.99547 + ], + "0KPs": [ + -20.15371, + 3.8492, + 7.99102 + ] + }, + "faces": { + "7EXV6aLH": { + "uv": { + "qHbv": [ + 0.75758, + 0.73757 + ], + "3bwp": [ + 0.78788, + 0.79005 + ], + "KSbw": [ + 0.84848, + 0.79005 + ] + }, + "vertices": [ + "qHbv", + "3bwp", + "KSbw" + ], + "texture": 0 + }, + "20iczZep": { + "uv": { + "ZsXT": [ + 0.84849, + 0.68508 + ], + "eH85": [ + 0.78788, + 0.68508 + ], + "qHbv": [ + 0.75758, + 0.73757 + ] + }, + "vertices": [ + "ZsXT", + "eH85", + "qHbv" + ], + "texture": 0 + }, + "JdkP7htC": { + "uv": { + "KSbw": [ + 0.84848, + 0.79005 + ], + "0KPs": [ + 0.87879, + 0.73757 + ], + "qHbv": [ + 0.75758, + 0.73757 + ] + }, + "vertices": [ + "KSbw", + "0KPs", + "qHbv" + ], + "texture": 0 + }, + "icWfShVQ": { + "uv": { + "0KPs": [ + 0.87879, + 0.73757 + ], + "ZsXT": [ + 0.84849, + 0.68508 + ], + "qHbv": [ + 0.75758, + 0.73757 + ] + }, + "vertices": [ + "0KPs", + "ZsXT", + "qHbv" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "bc33b5aa-6b23-ab8a-be66-fa3752a03424" + }, + { + "name": "Barrier10", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "juyq": [ + 1.37211, + 3.84915, + -21.63661 + ], + "VQ5C": [ + -2.82907, + -2.94872, + -21.63661 + ], + "hG3m": [ + -10.42882, + -2.94878, + -19.16726 + ], + "lWhR": [ + -9.62674, + 10.64672, + -16.69779 + ], + "Cnbv": [ + -2.02674, + 10.64672, + -19.16723 + ], + "Xj1y": [ + -13.82781, + 3.84922, + -16.69776 + ] + }, + "faces": { + "6pMwCLSn": { + "uv": { + "juyq": [ + 0.57576, + 0.73757 + ], + "VQ5C": [ + 0.60606, + 0.79005 + ], + "hG3m": [ + 0.66667, + 0.79005 + ] + }, + "vertices": [ + "juyq", + "VQ5C", + "hG3m" + ], + "texture": 0 + }, + "h6AOKRiu": { + "uv": { + "lWhR": [ + 0.66667, + 0.68508 + ], + "Cnbv": [ + 0.60606, + 0.68508 + ], + "juyq": [ + 0.57576, + 0.73757 + ] + }, + "vertices": [ + "lWhR", + "Cnbv", + "juyq" + ], + "texture": 0 + }, + "0FsYmgLW": { + "uv": { + "hG3m": [ + 0.66667, + 0.79005 + ], + "Xj1y": [ + 0.69697, + 0.73756 + ], + "juyq": [ + 0.57576, + 0.73757 + ] + }, + "vertices": [ + "hG3m", + "Xj1y", + "juyq" + ], + "texture": 0 + }, + "FpUb7Vkj": { + "uv": { + "Xj1y": [ + 0.69697, + 0.73756 + ], + "lWhR": [ + 0.66667, + 0.68508 + ], + "juyq": [ + 0.57576, + 0.73757 + ] + }, + "vertices": [ + "Xj1y", + "lWhR", + "juyq" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "1b3fb0cd-4643-e05d-049e-7948bd8339b9" + }, + { + "name": "Barrier11", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "wSjj": [ + -21.00181, + -3.84917, + 5.38106 + ], + "3yqo": [ + -17.60302, + -10.6467, + 7.85042 + ], + "GsYx": [ + -11.60749, + -3.8492, + 18.31093 + ], + "cRt1": [ + -19.70349, + 2.94875, + 9.37669 + ], + "aQOg": [ + -12.90576, + -10.6467, + 14.31549 + ], + "blCS": [ + -15.00648, + 2.94878, + 15.84141 + ] + }, + "faces": { + "wKK3oNBw": { + "uv": { + "wSjj": [ + 0.84848, + 0.79005 + ], + "3yqo": [ + 0.87879, + 0.84254 + ], + "GsYx": [ + 0.9697, + 0.79005 + ] + }, + "vertices": [ + "wSjj", + "3yqo", + "GsYx" + ], + "texture": 0 + }, + "d12lsUHC": { + "uv": { + "cRt1": [ + 0.87879, + 0.73757 + ], + "wSjj": [ + 0.84848, + 0.79005 + ], + "GsYx": [ + 0.9697, + 0.79005 + ] + }, + "vertices": [ + "cRt1", + "wSjj", + "GsYx" + ], + "texture": 0 + }, + "WYCOszu3": { + "uv": { + "3yqo": [ + 0.87879, + 0.84254 + ], + "aQOg": [ + 0.9394, + 0.84254 + ], + "GsYx": [ + 0.9697, + 0.79005 + ] + }, + "vertices": [ + "3yqo", + "aQOg", + "GsYx" + ], + "texture": 0 + }, + "eNYXZE7U": { + "uv": { + "GsYx": [ + 0.9697, + 0.79005 + ], + "blCS": [ + 0.93939, + 0.73756 + ], + "cRt1": [ + 0.87879, + 0.73757 + ] + }, + "vertices": [ + "GsYx", + "blCS", + "cRt1" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "df2ad74a-22a2-510c-8f34-9895b418553d" + }, + { + "name": "Barrier12", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "UdM8": [ + -11.60749, + -3.8492, + -18.31093 + ], + "Artn": [ + -12.90576, + -10.6467, + -14.31549 + ], + "6HSp": [ + -21.00181, + -3.84917, + -5.38106 + ], + "hj5A": [ + -15.00648, + 2.94878, + -15.84141 + ], + "pV62": [ + -17.60302, + -10.6467, + -7.85042 + ], + "8yW9": [ + -19.70349, + 2.94875, + -9.37669 + ] + }, + "faces": { + "IG3YNfqx": { + "uv": { + "UdM8": [ + 0.66667, + 0.79005 + ], + "Artn": [ + 0.69697, + 0.84254 + ], + "6HSp": [ + 0.78788, + 0.79005 + ] + }, + "vertices": [ + "UdM8", + "Artn", + "6HSp" + ], + "texture": 0 + }, + "4chGV6ts": { + "uv": { + "hj5A": [ + 0.69697, + 0.73756 + ], + "UdM8": [ + 0.66667, + 0.79005 + ], + "6HSp": [ + 0.78788, + 0.79005 + ] + }, + "vertices": [ + "hj5A", + "UdM8", + "6HSp" + ], + "texture": 0 + }, + "VGkTMtuQ": { + "uv": { + "Artn": [ + 0.69697, + 0.84254 + ], + "pV62": [ + 0.75758, + 0.84254 + ], + "6HSp": [ + 0.78788, + 0.79005 + ] + }, + "vertices": [ + "Artn", + "pV62", + "6HSp" + ], + "texture": 0 + }, + "v6PHqr8o": { + "uv": { + "6HSp": [ + 0.78788, + 0.79005 + ], + "8yW9": [ + 0.75758, + 0.73757 + ], + "hj5A": [ + 0.69697, + 0.73756 + ] + }, + "vertices": [ + "6HSp", + "8yW9", + "hj5A" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "70bc7923-bd95-97a0-b5e5-a6e107c8b9f3" + }, + { + "name": "Barrier13", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "IywS": [ + 13.82781, + -3.84922, + -16.69776 + ], + "WGv1": [ + 9.62674, + -10.64672, + -16.69779 + ], + "qW39": [ + -1.37211, + -3.84915, + -21.63661 + ], + "WBIQ": [ + 10.42882, + 2.94878, + -19.16726 + ], + "TcLv": [ + 2.02674, + -10.64672, + -19.16723 + ], + "PO4z": [ + 2.82907, + 2.94872, + -21.63661 + ] + }, + "faces": { + "NgYuFwUK": { + "uv": { + "IywS": [ + 0.48485, + 0.79005 + ], + "WGv1": [ + 0.51515, + 0.84254 + ], + "qW39": [ + 0.60606, + 0.79005 + ] + }, + "vertices": [ + "IywS", + "WGv1", + "qW39" + ], + "texture": 0 + }, + "Vk1ixfW9": { + "uv": { + "WBIQ": [ + 0.51515, + 0.73756 + ], + "IywS": [ + 0.48485, + 0.79005 + ], + "qW39": [ + 0.60606, + 0.79005 + ] + }, + "vertices": [ + "WBIQ", + "IywS", + "qW39" + ], + "texture": 0 + }, + "UDZDmr4v": { + "uv": { + "WGv1": [ + 0.51515, + 0.84254 + ], + "TcLv": [ + 0.57576, + 0.84254 + ], + "qW39": [ + 0.60606, + 0.79005 + ] + }, + "vertices": [ + "WGv1", + "TcLv", + "qW39" + ], + "texture": 0 + }, + "1fxm3Azo": { + "uv": { + "qW39": [ + 0.60606, + 0.79005 + ], + "PO4z": [ + 0.57576, + 0.73757 + ], + "WBIQ": [ + 0.51515, + 0.73756 + ] + }, + "vertices": [ + "qW39", + "PO4z", + "WBIQ" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "c7fee38e-2c47-a2f7-7226-1cab458ce078" + }, + { + "name": "Barrier14", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "3Wsb": [ + 21.00181, + 3.84917, + -5.38106 + ], + "92Ls": [ + 19.70349, + -2.94875, + -9.37669 + ], + "T5zd": [ + 15.00648, + -2.94878, + -15.84141 + ], + "pc3G": [ + 12.90576, + 10.6467, + -14.31549 + ], + "yTH1": [ + 17.60302, + 10.6467, + -7.85042 + ], + "KUh7": [ + 11.60749, + 3.8492, + -18.31093 + ] + }, + "faces": { + "z5iseIFC": { + "uv": { + "3Wsb": [ + 0.39394, + 0.73757 + ], + "92Ls": [ + 0.42424, + 0.79005 + ], + "T5zd": [ + 0.48485, + 0.79005 + ] + }, + "vertices": [ + "3Wsb", + "92Ls", + "T5zd" + ], + "texture": 0 + }, + "iUaryT49": { + "uv": { + "pc3G": [ + 0.48485, + 0.68508 + ], + "yTH1": [ + 0.42424, + 0.68508 + ], + "3Wsb": [ + 0.39394, + 0.73757 + ] + }, + "vertices": [ + "pc3G", + "yTH1", + "3Wsb" + ], + "texture": 0 + }, + "0I4Uy5Qt": { + "uv": { + "T5zd": [ + 0.48485, + 0.79005 + ], + "KUh7": [ + 0.51515, + 0.73756 + ], + "3Wsb": [ + 0.39394, + 0.73757 + ] + }, + "vertices": [ + "T5zd", + "KUh7", + "3Wsb" + ], + "texture": 0 + }, + "mQ5kSI6c": { + "uv": { + "KUh7": [ + 0.51515, + 0.73756 + ], + "pc3G": [ + 0.48485, + 0.68508 + ], + "3Wsb": [ + 0.39394, + 0.73757 + ] + }, + "vertices": [ + "KUh7", + "pc3G", + "3Wsb" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "45b3660e-3b5c-a4ef-ca94-b53cb44d79ae" + }, + { + "name": "Barrier15", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "WVDV": [ + 3.2792, + 20.50605, + 7.32118 + ], + "QGox": [ + 5.37976, + 16.30478, + 13.78618 + ], + "0vPb": [ + 12.1773, + 12.10366, + 13.78622 + ], + "LiZb": [ + 7.97619, + 20.50608, + 0.85638 + ], + "lVmK": [ + 14.77408, + 16.30475, + 0.85638 + ], + "fJUn": [ + 16.87454, + 12.10366, + 7.32115 + ] + }, + "faces": { + "rKUZxlFB": { + "uv": { + "WVDV": [ + 0.24243, + 0.5801 + ], + "QGox": [ + 0.21212, + 0.63259 + ], + "0vPb": [ + 0.24242, + 0.68508 + ] + }, + "vertices": [ + "WVDV", + "QGox", + "0vPb" + ], + "texture": 0 + }, + "krK3LH0j": { + "uv": { + "LiZb": [ + 0.30303, + 0.5801 + ], + "WVDV": [ + 0.24243, + 0.5801 + ], + "0vPb": [ + 0.24242, + 0.68508 + ] + }, + "vertices": [ + "LiZb", + "WVDV", + "0vPb" + ], + "texture": 0 + }, + "z4iC3FpH": { + "uv": { + "lVmK": [ + 0.33334, + 0.63259 + ], + "LiZb": [ + 0.30303, + 0.5801 + ], + "0vPb": [ + 0.24242, + 0.68508 + ] + }, + "vertices": [ + "lVmK", + "LiZb", + "0vPb" + ], + "texture": 0 + }, + "17HHqHr8": { + "uv": { + "0vPb": [ + 0.24242, + 0.68508 + ], + "fJUn": [ + 0.30303, + 0.68508 + ], + "lVmK": [ + 0.33334, + 0.63259 + ] + }, + "vertices": [ + "0vPb", + "fJUn", + "lVmK" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "0eb84df0-6dcf-d820-ca27-bc7705c5c5d2" + }, + { + "name": "Barrier16", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "64Fn": [ + -11.44901, + 16.30478, + 9.37664 + ], + "F8oA": [ + -9.34848, + 12.10366, + 15.84144 + ], + "tkDL": [ + 3.75085, + 16.30478, + 14.31544 + ], + "urE0": [ + -5.94954, + 20.50603, + 5.38107 + ], + "CBMq": [ + -1.74848, + 12.10366, + 18.31086 + ], + "xZmX": [ + 1.65027, + 20.50603, + 7.85045 + ] + }, + "faces": { + "2TpR2vyn": { + "uv": { + "64Fn": [ + 0.0303, + 0.63259 + ], + "F8oA": [ + 0.06061, + 0.68508 + ], + "tkDL": [ + 0.15152, + 0.63259 + ] + }, + "vertices": [ + "64Fn", + "F8oA", + "tkDL" + ], + "texture": 0 + }, + "qNYd432g": { + "uv": { + "urE0": [ + 0.06061, + 0.5801 + ], + "64Fn": [ + 0.0303, + 0.63259 + ], + "tkDL": [ + 0.15152, + 0.63259 + ] + }, + "vertices": [ + "urE0", + "64Fn", + "tkDL" + ], + "texture": 0 + }, + "vngzZZyv": { + "uv": { + "F8oA": [ + 0.06061, + 0.68508 + ], + "CBMq": [ + 0.12121, + 0.68508 + ], + "tkDL": [ + 0.15152, + 0.63259 + ] + }, + "vertices": [ + "F8oA", + "CBMq", + "tkDL" + ], + "texture": 0 + }, + "LE6Kp0Mj": { + "uv": { + "tkDL": [ + 0.15152, + 0.63259 + ], + "xZmX": [ + 0.12121, + 0.5801 + ], + "urE0": [ + 0.06061, + 0.5801 + ] + }, + "vertices": [ + "tkDL", + "xZmX", + "urE0" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "d1cb7706-eef3-1779-2707-cdfe2d72b62e" + }, + { + "name": "Barrier17", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "5HFB": [ + -12.45573, + 16.30478, + -7.99099 + ], + "JDQi": [ + -17.95504, + 12.10366, + -3.99547 + ], + "m2BW": [ + -12.45573, + 16.30478, + 7.99099 + ], + "DepI": [ + -6.95626, + 20.50605, + -3.99542 + ], + "P5bi": [ + -17.95504, + 12.10366, + 3.99547 + ], + "2shv": [ + -6.95626, + 20.50605, + 3.99542 + ] + }, + "faces": { + "0f91mzoQ": { + "uv": { + "5HFB": [ + 0.75758, + 0.63259 + ], + "JDQi": [ + 0.78788, + 0.68508 + ], + "m2BW": [ + 0.87879, + 0.63259 + ] + }, + "vertices": [ + "5HFB", + "JDQi", + "m2BW" + ], + "texture": 0 + }, + "qoogvexQ": { + "uv": { + "DepI": [ + 0.78788, + 0.5801 + ], + "5HFB": [ + 0.75758, + 0.63259 + ], + "m2BW": [ + 0.87879, + 0.63259 + ] + }, + "vertices": [ + "DepI", + "5HFB", + "m2BW" + ], + "texture": 0 + }, + "7ma6IzQW": { + "uv": { + "JDQi": [ + 0.78788, + 0.68508 + ], + "P5bi": [ + 0.84849, + 0.68508 + ], + "m2BW": [ + 0.87879, + 0.63259 + ] + }, + "vertices": [ + "JDQi", + "P5bi", + "m2BW" + ], + "texture": 0 + }, + "L5znhKgV": { + "uv": { + "m2BW": [ + 0.87879, + 0.63259 + ], + "2shv": [ + 0.84849, + 0.5801 + ], + "DepI": [ + 0.78788, + 0.5801 + ] + }, + "vertices": [ + "m2BW", + "2shv", + "DepI" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "0d00fdac-233d-4adf-53c6-a02afd385a9b" + }, + { + "name": "Barrier18", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "223J": [ + 3.75085, + 16.30478, + -14.31544 + ], + "pW0y": [ + -1.74848, + 12.10366, + -18.31086 + ], + "qgCV": [ + -11.44901, + 16.30478, + -9.37664 + ], + "FrYg": [ + 1.65027, + 20.50603, + -7.85045 + ], + "QjdH": [ + -9.34848, + 12.10366, + -15.84144 + ], + "qMuF": [ + -5.94954, + 20.50605, + -5.38107 + ] + }, + "faces": { + "8ibtPIMP": { + "uv": { + "223J": [ + 0.57576, + 0.63259 + ], + "pW0y": [ + 0.60606, + 0.68508 + ], + "qgCV": [ + 0.69697, + 0.63259 + ] + }, + "vertices": [ + "223J", + "pW0y", + "qgCV" + ], + "texture": 0 + }, + "M0luOpy1": { + "uv": { + "FrYg": [ + 0.60606, + 0.5801 + ], + "223J": [ + 0.57576, + 0.63259 + ], + "qgCV": [ + 0.69697, + 0.63259 + ] + }, + "vertices": [ + "FrYg", + "223J", + "qgCV" + ], + "texture": 0 + }, + "IVfPhmRG": { + "uv": { + "pW0y": [ + 0.60606, + 0.68508 + ], + "QjdH": [ + 0.66667, + 0.68508 + ], + "qgCV": [ + 0.69697, + 0.63259 + ] + }, + "vertices": [ + "pW0y", + "QjdH", + "qgCV" + ], + "texture": 0 + }, + "hkSpGwnR": { + "uv": { + "qgCV": [ + 0.69697, + 0.63259 + ], + "qMuF": [ + 0.66667, + 0.5801 + ], + "FrYg": [ + 0.60606, + 0.5801 + ] + }, + "vertices": [ + "qgCV", + "qMuF", + "FrYg" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "fcd3d424-d6fb-d18d-4e2d-1930b4c0b8e6" + }, + { + "name": "Barrier19", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "lIrd": [ + 7.97619, + 20.50608, + -0.85638 + ], + "t2bZ": [ + 14.77408, + 16.30475, + -0.85638 + ], + "XKGS": [ + 16.87454, + 12.10366, + -7.32115 + ], + "TT9g": [ + 5.37976, + 16.30478, + -13.78618 + ], + "zUlh": [ + 3.2792, + 20.50605, + -7.32118 + ], + "csGR": [ + 12.1773, + 12.10366, + -13.78622 + ] + }, + "faces": { + "xaKteESB": { + "uv": { + "lIrd": [ + 0.42424, + 0.5801 + ], + "t2bZ": [ + 0.39394, + 0.63259 + ], + "XKGS": [ + 0.42424, + 0.68508 + ] + }, + "vertices": [ + "lIrd", + "t2bZ", + "XKGS" + ], + "texture": 0 + }, + "8ngeSaOz": { + "uv": { + "TT9g": [ + 0.51515, + 0.63259 + ], + "zUlh": [ + 0.48485, + 0.5801 + ], + "lIrd": [ + 0.42424, + 0.5801 + ] + }, + "vertices": [ + "TT9g", + "zUlh", + "lIrd" + ], + "texture": 0 + }, + "OhBaOPiD": { + "uv": { + "XKGS": [ + 0.42424, + 0.68508 + ], + "csGR": [ + 0.48485, + 0.68508 + ], + "lIrd": [ + 0.42424, + 0.5801 + ] + }, + "vertices": [ + "XKGS", + "csGR", + "lIrd" + ], + "texture": 0 + }, + "J7r3VruA": { + "uv": { + "csGR": [ + 0.48485, + 0.68508 + ], + "TT9g": [ + 0.51515, + 0.63259 + ], + "lIrd": [ + 0.42424, + 0.5801 + ] + }, + "vertices": [ + "csGR", + "TT9g", + "lIrd" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "77755fa8-c601-10d3-3837-b3468bd8dc96" + }, + { + "name": "Barrier20", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "IZcu": [ + -2.1005, + -20.99888, + 6.4648 + ], + "Plkb": [ + -6.7975, + -20.99891, + 0 + ], + "Iz64": [ + -2.1005, + -20.99888, + -6.4648 + ], + "E3i2": [ + 5.49931, + -20.99888, + 3.99542 + ], + "PdRm": [ + 5.49931, + -20.99888, + -3.99542 + ] + }, + "faces": { + "ja8upiKN": { + "uv": { + "IZcu": [ + 0.15152, + 0.94751 + ], + "Plkb": [ + 0.87879, + 0.94751 + ], + "Iz64": [ + 0.69697, + 0.94751 + ] + }, + "vertices": [ + "IZcu", + "Plkb", + "Iz64" + ], + "texture": 0 + }, + "g7zBloQn": { + "uv": { + "Iz64": [ + 0.69697, + 0.94751 + ], + "E3i2": [ + 0.33333, + 0.94751 + ], + "IZcu": [ + 0.15152, + 0.94751 + ] + }, + "vertices": [ + "Iz64", + "E3i2", + "IZcu" + ], + "texture": 0 + }, + "iaSkji52": { + "uv": { + "Iz64": [ + 0.69697, + 0.94751 + ], + "PdRm": [ + 0.51515, + 0.94751 + ], + "E3i2": [ + 0.33333, + 0.94751 + ] + }, + "vertices": [ + "Iz64", + "PdRm", + "E3i2" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "98c517d9-af86-f1f7-15e7-706cdc5a7225" + }, + { + "name": "Barrier21", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "eNc6": [ + 18.23474, + -11.26981, + 5.25723 + ], + "oXU3": [ + 19.53298, + -4.47227, + 9.25277 + ], + "v45W": [ + 10.63491, + -11.26981, + 15.71755 + ], + "qesY": [ + 12.73544, + -15.47093, + 9.25274 + ], + "fClk": [ + 14.83598, + -4.4723, + 15.7175 + ] + }, + "faces": { + "czOWc0m9": { + "uv": { + "eNc6": [ + 0.33333, + 0.84254 + ], + "oXU3": [ + 0.30303, + 0.79005 + ], + "v45W": [ + 0.21212, + 0.84254 + ] + }, + "vertices": [ + "eNc6", + "oXU3", + "v45W" + ], + "texture": 0 + }, + "PcDsG9ps": { + "uv": { + "qesY": [ + 0.24243, + 0.89503 + ], + "eNc6": [ + 0.33333, + 0.84254 + ], + "v45W": [ + 0.21212, + 0.84254 + ] + }, + "vertices": [ + "qesY", + "eNc6", + "v45W" + ], + "texture": 0 + }, + "2HtM1VXx": { + "uv": { + "oXU3": [ + 0.30303, + 0.79005 + ], + "fClk": [ + 0.24243, + 0.79005 + ], + "v45W": [ + 0.21212, + 0.84254 + ] + }, + "vertices": [ + "oXU3", + "fClk", + "v45W" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "acaf2d7b-dada-e2a1-7217-364a38996fa9" + }, + { + "name": "Barrier22", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "4tBa": [ + -4.8644, + -15.47093, + 14.97136 + ], + "FmtI": [ + 0.63491, + -11.26981, + 18.96678 + ], + "KdKL": [ + -10.36366, + -4.4723, + 18.96683 + ], + "JBqo": [ + -11.66194, + -11.26981, + 14.97141 + ], + "Ogq6": [ + -2.76392, + -4.47224, + 21.43616 + ] + }, + "faces": { + "UBsmS2b1": { + "uv": { + "4tBa": [ + 0.9697, + 0.89503 + ], + "FmtI": [ + 0.15152, + 0.84254 + ], + "KdKL": [ + 0.06061, + 0.79005 + ] + }, + "vertices": [ + "4tBa", + "FmtI", + "KdKL" + ], + "texture": 0 + }, + "cFS39XOs": { + "uv": { + "JBqo": [ + 0.9394, + 0.84254 + ], + "4tBa": [ + 0.9697, + 0.89503 + ], + "KdKL": [ + 0.06061, + 0.79005 + ] + }, + "vertices": [ + "JBqo", + "4tBa", + "KdKL" + ], + "texture": 0 + }, + "KBzO3gqa": { + "uv": { + "FmtI": [ + 0.15152, + 0.84254 + ], + "Ogq6": [ + 0.12121, + 0.79005 + ], + "KdKL": [ + 0.06061, + 0.79005 + ] + }, + "vertices": [ + "FmtI", + "Ogq6", + "KdKL" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "c8d44095-5fc1-3347-524f-7445a11e5732" + }, + { + "name": "Barrier23", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "muYb": [ + -17.84248, + -11.26981, + -6.46477 + ], + "fRkY": [ + -15.74202, + -15.4709, + 0 + ], + "6q3M": [ + -17.84248, + -11.26981, + 6.46477 + ], + "D2fl": [ + -21.24126, + -4.47227, + -3.99539 + ], + "ypKx": [ + -21.24126, + -4.47227, + 3.99539 + ] + }, + "faces": { + "wkWcI2Y3": { + "uv": { + "muYb": [ + 0.75758, + 0.84254 + ], + "fRkY": [ + 0.78788, + 0.89503 + ], + "6q3M": [ + 0.87879, + 0.84254 + ] + }, + "vertices": [ + "muYb", + "fRkY", + "6q3M" + ], + "texture": 0 + }, + "oVsURH9K": { + "uv": { + "6q3M": [ + 0.87879, + 0.84254 + ], + "D2fl": [ + 0.78788, + 0.79005 + ], + "muYb": [ + 0.75758, + 0.84254 + ] + }, + "vertices": [ + "6q3M", + "D2fl", + "muYb" + ], + "texture": 0 + }, + "CdYPQXtk": { + "uv": { + "6q3M": [ + 0.87879, + 0.84254 + ], + "ypKx": [ + 0.84848, + 0.79005 + ], + "D2fl": [ + 0.78788, + 0.79005 + ] + }, + "vertices": [ + "6q3M", + "ypKx", + "D2fl" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "4b82495b-f06e-a90c-ed3c-7614ecda8d9c" + }, + { + "name": "Barrier24", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "NE11": [ + 0.63491, + -11.26981, + -18.96678 + ], + "YxTY": [ + -4.8644, + -15.47093, + -14.97136 + ], + "aa9J": [ + -11.66194, + -11.26981, + -14.97141 + ], + "8Dae": [ + -10.36366, + -4.4723, + -18.96683 + ], + "YvlI": [ + -2.76392, + -4.47224, + -21.43616 + ] + }, + "faces": { + "GPhPTshD": { + "uv": { + "NE11": [ + 0.57576, + 0.84254 + ], + "YxTY": [ + 0.60606, + 0.89503 + ], + "aa9J": [ + 0.69697, + 0.84254 + ] + }, + "vertices": [ + "NE11", + "YxTY", + "aa9J" + ], + "texture": 0 + }, + "SejV0AIJ": { + "uv": { + "8Dae": [ + 0.66667, + 0.79005 + ], + "YvlI": [ + 0.60606, + 0.79005 + ], + "NE11": [ + 0.57576, + 0.84254 + ] + }, + "vertices": [ + "8Dae", + "YvlI", + "NE11" + ], + "texture": 0 + }, + "o3v4kNYp": { + "uv": { + "aa9J": [ + 0.69697, + 0.84254 + ], + "8Dae": [ + 0.66667, + 0.79005 + ], + "NE11": [ + 0.57576, + 0.84254 + ] + }, + "vertices": [ + "aa9J", + "8Dae", + "NE11" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "b2ac7b55-8b42-54b1-db4e-153957427815" + }, + { + "name": "Barrier25", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "Vp7c": [ + 18.23474, + -11.26981, + -5.25723 + ], + "85VE": [ + 12.73544, + -15.47093, + -9.25274 + ], + "Lnxh": [ + 14.83598, + -4.4723, + -15.7175 + ], + "EUVE": [ + 19.53298, + -4.47227, + -9.25277 + ], + "tZ8r": [ + 10.63491, + -11.26981, + -15.71755 + ] + }, + "faces": { + "hRmwvBcn": { + "uv": { + "Vp7c": [ + 0.39394, + 0.84254 + ], + "85VE": [ + 0.42424, + 0.89503 + ], + "Lnxh": [ + 0.48485, + 0.79005 + ] + }, + "vertices": [ + "Vp7c", + "85VE", + "Lnxh" + ], + "texture": 0 + }, + "IMf3ldec": { + "uv": { + "EUVE": [ + 0.42424, + 0.79005 + ], + "Vp7c": [ + 0.39394, + 0.84254 + ], + "Lnxh": [ + 0.48485, + 0.79005 + ] + }, + "vertices": [ + "EUVE", + "Vp7c", + "Lnxh" + ], + "texture": 0 + }, + "203M88cT": { + "uv": { + "85VE": [ + 0.42424, + 0.89503 + ], + "tZ8r": [ + 0.51515, + 0.84254 + ], + "Lnxh": [ + 0.48485, + 0.79005 + ] + }, + "vertices": [ + "85VE", + "tZ8r", + "Lnxh" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "595fb404-7e48-c586-e605-c71607e492cd" + }, + { + "name": "Barrier26", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "UrRE": [ + -0.63491, + 11.26981, + 18.96678 + ], + "HQLB": [ + 2.76392, + 4.47224, + 21.43616 + ], + "f3hl": [ + 10.36366, + 4.4723, + 18.96683 + ], + "qV6s": [ + 4.8644, + 15.47093, + 14.97136 + ], + "Mlw8": [ + 11.66194, + 11.26981, + 14.97141 + ] + }, + "faces": { + "3mZNNq28": { + "uv": { + "UrRE": [ + 0.12121, + 0.68508 + ], + "HQLB": [ + 0.15152, + 0.73757 + ], + "f3hl": [ + 0.21212, + 0.73756 + ] + }, + "vertices": [ + "UrRE", + "HQLB", + "f3hl" + ], + "texture": 0 + }, + "drL3vwpz": { + "uv": { + "f3hl": [ + 0.21212, + 0.73756 + ], + "qV6s": [ + 0.21212, + 0.63259 + ], + "UrRE": [ + 0.12121, + 0.68508 + ] + }, + "vertices": [ + "f3hl", + "qV6s", + "UrRE" + ], + "texture": 0 + }, + "6OkNCR9T": { + "uv": { + "f3hl": [ + 0.21212, + 0.73756 + ], + "Mlw8": [ + 0.24242, + 0.68508 + ], + "qV6s": [ + 0.21212, + 0.63259 + ] + }, + "vertices": [ + "f3hl", + "Mlw8", + "qV6s" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "d65c0226-7d52-b075-5175-d36a91241998" + }, + { + "name": "Barrier27", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "XCha": [ + -18.23474, + 11.26981, + 5.25723 + ], + "uMQ6": [ + -19.53298, + 4.47227, + 9.25277 + ], + "ozy5": [ + -14.83598, + 4.4723, + 15.7175 + ], + "z59j": [ + -12.73544, + 15.47093, + 9.25274 + ], + "TWQ0": [ + -10.63491, + 11.26981, + 15.71755 + ] + }, + "faces": { + "s82K64dY": { + "uv": { + "XCha": [ + 0.84849, + 0.68508 + ], + "uMQ6": [ + 0.87879, + 0.73757 + ], + "ozy5": [ + 0.93939, + 0.73756 + ] + }, + "vertices": [ + "XCha", + "uMQ6", + "ozy5" + ], + "texture": 0 + }, + "VyOSfUkW": { + "uv": { + "ozy5": [ + 0.93939, + 0.73756 + ], + "z59j": [ + 0.0303, + 0.63259 + ], + "XCha": [ + 0.84849, + 0.68508 + ] + }, + "vertices": [ + "ozy5", + "z59j", + "XCha" + ], + "texture": 0 + }, + "foS0oRcv": { + "uv": { + "ozy5": [ + 0.93939, + 0.73756 + ], + "TWQ0": [ + 0.06061, + 0.68508 + ], + "z59j": [ + 0.0303, + 0.63259 + ] + }, + "vertices": [ + "ozy5", + "TWQ0", + "z59j" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "95d92578-f05d-6718-6c5d-19a7ae5d2198" + }, + { + "name": "Barrier28", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "fRsf": [ + -10.63491, + 11.26981, + -15.71755 + ], + "awoe": [ + -14.83598, + 4.4723, + -15.7175 + ], + "nOCi": [ + -19.53298, + 4.47227, + -9.25277 + ], + "98zR": [ + -18.23474, + 11.26981, + -5.25723 + ], + "YFOh": [ + -12.73544, + 15.47093, + -9.25274 + ] + }, + "faces": { + "EVUdOq2A": { + "uv": { + "fRsf": [ + 0.66667, + 0.68508 + ], + "awoe": [ + 0.69697, + 0.73756 + ], + "nOCi": [ + 0.75758, + 0.73757 + ] + }, + "vertices": [ + "fRsf", + "awoe", + "nOCi" + ], + "texture": 0 + }, + "qNc0OG7W": { + "uv": { + "98zR": [ + 0.78788, + 0.68508 + ], + "YFOh": [ + 0.75758, + 0.63259 + ], + "fRsf": [ + 0.66667, + 0.68508 + ] + }, + "vertices": [ + "98zR", + "YFOh", + "fRsf" + ], + "texture": 0 + }, + "DY4R9H9H": { + "uv": { + "nOCi": [ + 0.75758, + 0.73757 + ], + "98zR": [ + 0.78788, + 0.68508 + ], + "fRsf": [ + 0.66667, + 0.68508 + ] + }, + "vertices": [ + "nOCi", + "98zR", + "fRsf" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "683c9e1e-db34-3c25-fad5-5077a386f2a2" + }, + { + "name": "Barrier29", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "tAxH": [ + 10.36366, + 4.4723, + -18.96683 + ], + "fsab": [ + 2.76392, + 4.47224, + -21.43616 + ], + "7nNh": [ + 4.8644, + 15.47093, + -14.97136 + ], + "3rOe": [ + 11.66194, + 11.26981, + -14.97139 + ], + "8Zwk": [ + -0.63491, + 11.26981, + -18.96678 + ] + }, + "faces": { + "6pjjUSla": { + "uv": { + "tAxH": [ + 0.51515, + 0.73756 + ], + "fsab": [ + 0.57576, + 0.73757 + ], + "7nNh": [ + 0.57576, + 0.63259 + ] + }, + "vertices": [ + "tAxH", + "fsab", + "7nNh" + ], + "texture": 0 + }, + "D31ETL9A": { + "uv": { + "3rOe": [ + 0.48485, + 0.68508 + ], + "tAxH": [ + 0.51515, + 0.73756 + ], + "7nNh": [ + 0.57576, + 0.63259 + ] + }, + "vertices": [ + "3rOe", + "tAxH", + "7nNh" + ], + "texture": 0 + }, + "hLGJEHR4": { + "uv": { + "fsab": [ + 0.57576, + 0.73757 + ], + "8Zwk": [ + 0.60606, + 0.68508 + ], + "7nNh": [ + 0.57576, + 0.63259 + ] + }, + "vertices": [ + "fsab", + "8Zwk", + "7nNh" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "323bd6cd-e7fb-1861-d7e5-a99f1c459480" + }, + { + "name": "Barrier30", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "E9s0": [ + 17.84248, + 11.26981, + 6.46477 + ], + "cSOT": [ + 21.24126, + 4.47227, + 3.99539 + ], + "TLiD": [ + 21.24126, + 4.47227, + -3.99539 + ], + "DBUq": [ + 17.84248, + 11.26981, + -6.46477 + ], + "enpU": [ + 15.74202, + 15.4709, + 0 + ] + }, + "faces": { + "xNDk2hTp": { + "uv": { + "E9s0": [ + 0.30303, + 0.68508 + ], + "cSOT": [ + 0.33334, + 0.73757 + ], + "TLiD": [ + 0.39394, + 0.73757 + ] + }, + "vertices": [ + "E9s0", + "cSOT", + "TLiD" + ], + "texture": 0 + }, + "rcve7zmH": { + "uv": { + "DBUq": [ + 0.42424, + 0.68508 + ], + "enpU": [ + 0.39394, + 0.63259 + ], + "E9s0": [ + 0.30303, + 0.68508 + ] + }, + "vertices": [ + "DBUq", + "enpU", + "E9s0" + ], + "texture": 0 + }, + "1iW0uVoe": { + "uv": { + "TLiD": [ + 0.39394, + 0.73757 + ], + "DBUq": [ + 0.42424, + 0.68508 + ], + "E9s0": [ + 0.30303, + 0.68508 + ] + }, + "vertices": [ + "TLiD", + "DBUq", + "E9s0" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "2cf404c2-242e-63dc-bb97-a00238d7b0c8" + }, + { + "name": "Barrier31", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "HHVw": [ + 2.1005, + 20.99888, + 6.4648 + ], + "jo7T": [ + 6.7975, + 20.99891, + 0 + ], + "HKP0": [ + -5.49931, + 20.99888, + -3.99542 + ], + "SfNH": [ + -5.49931, + 20.99888, + 3.99542 + ], + "YIUB": [ + 2.1005, + 20.99888, + -6.4648 + ] + }, + "faces": { + "9RPwbRVR": { + "uv": { + "HHVw": [ + 0.12121, + 0.5801 + ], + "jo7T": [ + 0.30303, + 0.5801 + ], + "HKP0": [ + 0.66667, + 0.5801 + ] + }, + "vertices": [ + "HHVw", + "jo7T", + "HKP0" + ], + "texture": 0 + }, + "Q14gqgUR": { + "uv": { + "SfNH": [ + 0.84849, + 0.5801 + ], + "HHVw": [ + 0.12121, + 0.5801 + ], + "HKP0": [ + 0.66667, + 0.5801 + ] + }, + "vertices": [ + "SfNH", + "HHVw", + "HKP0" + ], + "texture": 0 + }, + "mjEqMUQV": { + "uv": { + "jo7T": [ + 0.30303, + 0.5801 + ], + "YIUB": [ + 0.48485, + 0.5801 + ], + "HKP0": [ + 0.66667, + 0.5801 + ] + }, + "vertices": [ + "jo7T", + "YIUB", + "HKP0" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "1943b182-ca0d-5c04-2b60-b8ddd491658a" + }, + { + "name": "Barrier32", + "color": 0, + "origin": [ + 0, + 16, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "E26f": [ + -7.97619, + -20.50608, + 0.85638 + ], + "vKiz": [ + -3.2792, + -20.50605, + 7.32118 + ], + "ZTJ5": [ + -12.1773, + -12.10366, + 13.78622 + ], + "dm81": [ + -14.77408, + -16.30475, + 0.85638 + ], + "5qLS": [ + -5.37976, + -16.30478, + 13.78618 + ], + "fytA": [ + -16.87454, + -12.10366, + 7.32115 + ] + }, + "faces": { + "mv6HvYXc": { + "uv": { + "E26f": [ + 0.87879, + 0.94751 + ], + "vKiz": [ + 0.93939, + 0.94751 + ], + "ZTJ5": [ + 0.9394, + 0.84254 + ] + }, + "vertices": [ + "E26f", + "vKiz", + "ZTJ5" + ], + "texture": 0 + }, + "PdbIjNJE": { + "uv": { + "dm81": [ + 0.84848, + 0.89503 + ], + "E26f": [ + 0.87879, + 0.94751 + ], + "ZTJ5": [ + 0.9394, + 0.84254 + ] + }, + "vertices": [ + "dm81", + "E26f", + "ZTJ5" + ], + "texture": 0 + }, + "vax1ynRt": { + "uv": { + "vKiz": [ + 0.93939, + 0.94751 + ], + "5qLS": [ + 0.9697, + 0.89503 + ], + "ZTJ5": [ + 0.9394, + 0.84254 + ] + }, + "vertices": [ + "vKiz", + "5qLS", + "ZTJ5" + ], + "texture": 0 + }, + "Kgsk2Owa": { + "uv": { + "ZTJ5": [ + 0.9394, + 0.84254 + ], + "fytA": [ + 0.87879, + 0.84254 + ], + "dm81": [ + 0.84848, + 0.89503 + ] + }, + "vertices": [ + "ZTJ5", + "fytA", + "dm81" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "ef1b976b-af20-7115-2e50-08dcabfcc111" + } + ], + "outliner": [ + { + "name": "Barrier", + "origin": [ + 0, + 16, + 0 + ], + "color": 0, + "uuid": "def79492-697f-2380-47e9-18813f1756d0", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1ffcfe1b-dd45-30ab-3d50-3eb527527f64", + "28326e39-14dc-4a63-19b6-00c93a838274", + "89ca0220-5946-6fb4-0562-9cc2170a16fd", + "e2fcefb7-9c37-6ff5-68e4-8627896caea9", + "0892b9ea-ea94-207c-1f9a-2f8628aac120", + "b353e066-b7eb-5d49-03d0-6bffec0918a0", + "cf598a49-f1eb-47bc-8232-487d7ce031d1", + "8cda9be7-5fa4-c07d-0003-2f7bc1954175", + "bc33b5aa-6b23-ab8a-be66-fa3752a03424", + "1b3fb0cd-4643-e05d-049e-7948bd8339b9", + "df2ad74a-22a2-510c-8f34-9895b418553d", + "70bc7923-bd95-97a0-b5e5-a6e107c8b9f3", + "c7fee38e-2c47-a2f7-7226-1cab458ce078", + "45b3660e-3b5c-a4ef-ca94-b53cb44d79ae", + "0eb84df0-6dcf-d820-ca27-bc7705c5c5d2", + "d1cb7706-eef3-1779-2707-cdfe2d72b62e", + "0d00fdac-233d-4adf-53c6-a02afd385a9b", + "fcd3d424-d6fb-d18d-4e2d-1930b4c0b8e6", + "77755fa8-c601-10d3-3837-b3468bd8dc96", + "98c517d9-af86-f1f7-15e7-706cdc5a7225", + "acaf2d7b-dada-e2a1-7217-364a38996fa9", + "c8d44095-5fc1-3347-524f-7445a11e5732", + "4b82495b-f06e-a90c-ed3c-7614ecda8d9c", + "b2ac7b55-8b42-54b1-db4e-153957427815", + "595fb404-7e48-c586-e605-c71607e492cd", + "d65c0226-7d52-b075-5175-d36a91241998", + "95d92578-f05d-6718-6c5d-19a7ae5d2198", + "683c9e1e-db34-3c25-fad5-5077a386f2a2", + "323bd6cd-e7fb-1861-d7e5-a99f1c459480", + "2cf404c2-242e-63dc-bb97-a00238d7b0c8", + "1943b182-ca0d-5c04-2b60-b8ddd491658a", + "ef1b976b-af20-7115-2e50-08dcabfcc111" + ] + } + ], + "textures": [ + { + "path": "", + "name": "barrier.png", + "folder": "", + "namespace": "", + "id": "0", + "particle": false, + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "mode": "bitmap", + "saved": true, + "uuid": "fed26a56-fb52-7c1b-1747-2bd753a9a9ab", + "relative_path": "../../textures/barrier.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAA1JREFUGFdjOP///38ACTsDzcqK7YcAAAAASUVORK5CYII=" + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Umika/models/bubble.bbmodel b/config/yosbr/config/figura/avatars/Umika/models/bubble.bbmodel new file mode 100644 index 0000000..443a76b --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/models/bubble.bbmodel @@ -0,0 +1,902 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "bubble", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 16, + "height": 16 + }, + "elements": [ + { + "name": "Bubble", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + -4, + 0 + ], + "to": [ + 5, + 4, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ee16cd89-5e16-d1c0-bdb4-bec63d4d29dc" + }, + { + "name": "Emoji", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + -2.5, + -0.05 + ], + "to": [ + 3.5, + 2.5, + -0.05 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e1f1401a-3276-4ed6-1633-16078de30336" + }, + { + "name": "Bullet1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1.9375, + -1.875, + -0.1 + ], + "to": [ + 3.1875, + 1.875, + -0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "015d120f-7c4c-05e7-86b8-e442d2ca89ce" + }, + { + "name": "Bullet2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.375, + -1.875, + -0.1 + ], + "to": [ + 1.625, + 1.875, + -0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "71c04be5-6d32-4cee-9e7d-b8d98db60f7d" + }, + { + "name": "Bullet3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.1875, + -1.875, + -0.1 + ], + "to": [ + 0.0625, + 1.875, + -0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 2 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "c13ac616-5ee7-3b04-83ed-f9490507b4f8" + }, + { + "name": "Dot1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2.25, + -0.625, + -0.1 + ], + "to": [ + 3.5, + 0.625, + -0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f336f75d-4273-d986-7b79-5028befe8efc" + }, + { + "name": "Dot2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.375, + -0.625, + -0.1 + ], + "to": [ + 1.625, + 0.625, + -0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9d1c3e18-15c3-3c07-f04a-d705ceec1fed" + }, + { + "name": "Dot3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + -0.625, + -0.1 + ], + "to": [ + -0.25, + 0.625, + -0.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 4 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "23a7b4da-5022-66ac-bfac-23544ab88f69" + } + ], + "outliner": [ + { + "name": "Camera", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "1ad8e11f-891c-06f0-491f-55ff468a6e74", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "AvatarBubble", + "origin": [ + -3, + -4, + 0 + ], + "color": 0, + "uuid": "ce33d433-402d-decd-b93f-250225de88c7", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ee16cd89-5e16-d1c0-bdb4-bec63d4d29dc", + "e1f1401a-3276-4ed6-1633-16078de30336", + { + "name": "Bullets", + "origin": [ + 1, + 0, + 0 + ], + "color": 0, + "uuid": "2a47b3c1-ef22-e939-70d9-e17ea10d79d9", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "015d120f-7c4c-05e7-86b8-e442d2ca89ce", + "71c04be5-6d32-4cee-9e7d-b8d98db60f7d", + "c13ac616-5ee7-3b04-83ed-f9490507b4f8" + ] + }, + { + "name": "Dots", + "origin": [ + -3, + -4, + 0 + ], + "color": 0, + "uuid": "55f984b9-0c0d-7ae1-712d-78a7d7fbfa03", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f336f75d-4273-d986-7b79-5028befe8efc", + "9d1c3e18-15c3-3c07-f04a-d705ceec1fed", + "23a7b4da-5022-66ac-bfac-23544ab88f69" + ] + } + ] + } + ] + } + ], + "textures": [ + { + "path": "", + "name": "bubble.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "849f6abb-5d52-7cbc-bc5e-c54506c00158", + "relative_path": "../../textures/bubble.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAGhJREFUOE/tk0sOABAMRNul+1/WroKO+KcSdqykzGvDDNN8yaLOfb0vJKHIXM9cro+brFs1bvsqKEFAMouBAuQK4Lh7PUWc4AMuvIGaz2aiJz4A1Pyd6kJHRP44TMgLIEM8dZxdnJuzAGqUPxJDQDMGAAAAAElFTkSuQmCC" + }, + { + "path": "", + "name": "reload.png", + "folder": "", + "namespace": "", + "id": "4", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "e5650158-1574-55d1-6b46-d58173bbb96b", + "relative_path": "../../textures/emojis/reload.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAEpJREFUOE9jZKAQMFKonwFuwOf37/+DDOMVFCRJjCTFIAvQLQIbABKE2QxjEys2aoAg42gYIIUBcp4AJSpYioOJ4xKjXmYiN1cCAKtG/BHrN3pVAAAAAElFTkSuQmCC" + }, + { + "path": "", + "name": "bullet.png", + "folder": "", + "namespace": "", + "id": "5", + "width": 4, + "height": 12, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "1a2d73a2-6180-0319-1efb-16f49aa91e7a", + "relative_path": "../../textures/bullet.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAMCAYAAABFohwTAAAAAXNSR0IArs4c6QAAAGdJREFUGFdjTEhI4Pj1/f93LpbvDH9YuTgZMQSiwuP/V4azMOh4+TKkJi9jYAQJJDt+ZHAK9GFILdoFESj0/cpgEuTBkJoKFSCsAqwlrJAhNXEikhl4BVKdXjE4xAZDbEmJDvvPgAQAMBRGJaIzndEAAAAASUVORK5CYII=" + }, + { + "path": "", + "name": "dots.png", + "folder": "", + "namespace": "", + "id": "3", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "7dda2e3d-9f23-52bb-e799-b8a2879d3871", + "relative_path": "../../textures/emojis/dots.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAADhJREFUOE9jZKAQMFKon2HUAAZIGHx+//4/iOYVFEQJE2LEGWGKYLEBM4RYccoNoNgLowlpEOQFAJrjL7ESx0KNAAAAAElFTkSuQmCC" + }, + { + "path": "", + "name": "black_dot.png", + "folder": "", + "namespace": "", + "id": "6", + "width": 4, + "height": 4, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "d1f6e856-c31e-ace6-6507-d03259b83bf5", + "relative_path": "../../textures/emojis/black_dot.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAAXNSR0IArs4c6QAAABhJREFUGFdjZICA/1CakRGJAxbDKoCiBQCSkQQDt6KjJwAAAABJRU5ErkJggg==" + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Umika/models/bullet.bbmodel b/config/yosbr/config/figura/avatars/Umika/models/bullet.bbmodel new file mode 100644 index 0000000..6095e9d --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/models/bullet.bbmodel @@ -0,0 +1,237 @@ +{ + "meta": { + "format_version": "4.5", + "model_format": "free", + "box_uv": false + }, + "name": "bullet", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 4, + "height": 12 + }, + "elements": [ + { + "name": "Bullet1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 0, + -1 + ], + "to": [ + 0.5, + 1, + 1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 3, + 2, + 4 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 3, + 2, + 11 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 1, + 10, + 2, + 11 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 3, + 2, + 11 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 1, + 3, + 2, + 11 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 3, + 2, + 11 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "eb1cee40-d947-b0fd-992e-a0445207f5c3" + }, + { + "name": "Bullet2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.375, + 0.125, + -1.25 + ], + "to": [ + 0.375, + 0.875, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c69c3bcf-da9b-3ad4-7d0a-e697c8066967" + } + ], + "outliner": [ + { + "name": "Arrow", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "0c9fab8f-3742-3b33-0bef-de2eca96287f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "eb1cee40-d947-b0fd-992e-a0445207f5c3", + "c69c3bcf-da9b-3ad4-7d0a-e697c8066967" + ] + } + ], + "textures": [ + { + "path": "", + "name": "bullet.png", + "folder": "", + "namespace": "", + "id": "0", + "particle": false, + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "mode": "bitmap", + "saved": true, + "uuid": "d4264722-75e2-f338-9736-9de1cd8631d0", + "relative_path": "../../textures/bullet.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAMCAYAAABFohwTAAAAAXNSR0IArs4c6QAAAGdJREFUGFdjTEhI4Pj1/f93LpbvDH9YuTgZMQSiwuP/V4azMOh4+TKkJi9jYAQJJDt+ZHAK9GFILdoFESj0/cpgEuTBkJoKFSCsAqwlrJAhNXEikhl4BVKdXjE4xAZDbEmJDvvPgAQAMBRGJaIzndEAAAAASUVORK5CYII=" + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Umika/models/death_animation.bbmodel b/config/yosbr/config/figura/avatars/Umika/models/death_animation.bbmodel new file mode 100644 index 0000000..230409b --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/models/death_animation.bbmodel @@ -0,0 +1,20545 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "death_animation", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 256, + "height": 191 + }, + "elements": [ + { + "name": "Body1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20, + 15.5, + -37 + ], + "to": [ + 20, + 55.5, + 33 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 70, + 0, + 0, + 40 + ], + "texture": 0 + }, + "south": { + "uv": [ + 70, + 105, + 110, + 145 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 70, + 40 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 40, + 70, + 80 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 80, + 70, + 120 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "b7c05a5f-7761-cdb8-f20e-1c37a3ade2d6" + }, + { + "name": "FrontWindow1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20, + 38.25, + -64.75 + ], + "to": [ + 20, + 55.25, + -36.5 + ], + "autouv": 0, + "color": 0, + "inflate": -0.01, + "rotation": [ + -70, + 0, + 0 + ], + "origin": [ + 0, + 55, + -37 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 98.25, + 0, + 70, + 17 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 70, + 0, + 98.25, + 17 + ], + "texture": 0 + }, + "up": { + "uv": [ + 70, + 41, + 110, + 69.25 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "96c3a955-eb63-9471-5196-694594fda260" + }, + { + "name": "Nose1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -10, + 15.5, + -75.25 + ], + "to": [ + 10, + 32.5, + -45.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -25.25 + ], + "faces": { + "north": { + "uv": [ + 111, + 14, + 131, + 31 + ], + "texture": 0 + }, + "east": { + "uv": [ + 161, + 14.25, + 131, + 31.25 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 131, + 14.25, + 161, + 31.25 + ], + "texture": 0 + }, + "up": { + "uv": [ + 161, + 14, + 191, + 34 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 191, + 14, + 161, + 34 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "e7fa4708-6808-a16e-c3cf-84c4423ce64d" + }, + { + "name": "Nose2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 10, + 15.5, + -76.925 + ], + "to": [ + 20, + 29.5, + -46.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 19.15, + 0 + ], + "origin": [ + 20, + 22.5, + -46.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 80, + 17, + 110.425, + 31 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 99, + 4, + 129.425, + 14 + ], + "rotation": 270, + "texture": 0 + }, + "down": { + "uv": [ + 129.425, + 4, + 99, + 14 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "c62a05d2-a700-0657-0afa-5f2244004bff" + }, + { + "name": "Body2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20, + 15.5, + -46.5 + ], + "to": [ + 20, + 29.5, + -37 + ], + "autouv": 0, + "color": 0, + "inflate": -0.001, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 79.5, + 17, + 70, + 31 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 70, + 17, + 79.5, + 31 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 70, + 31, + 110, + 40.5 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f00ed130-bf0d-ecc1-f1ca-bbf1616f1ada" + }, + { + "name": "Nose3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20, + 15.5, + -76.925 + ], + "to": [ + -10, + 29.5, + -46.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -19.15, + 0 + ], + "origin": [ + -20, + 22.5, + -46.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 110.425, + 17, + 80, + 31 + ], + "texture": 0 + }, + "up": { + "uv": [ + 99, + 14, + 129.425, + 4 + ], + "rotation": 270, + "texture": 0 + }, + "down": { + "uv": [ + 129.425, + 14, + 99, + 4 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "09ad8112-4cf8-8762-652e-f5ad6d9f618e" + }, + { + "name": "RearBody1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -10, + 15.5, + 33 + ], + "to": [ + 10, + 50.5, + 63 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 191, + 14, + 211, + 49 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 130, + 32, + 150, + 62 + ], + "texture": 0 + }, + "down": { + "uv": [ + 170, + 34, + 190, + 64 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "890f0f8a-d674-0b64-0662-72ec21b7e302" + }, + { + "name": "RearBody2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20, + 15.5, + 33 + ], + "to": [ + 0, + 50.5, + 64.62 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 18.4, + 0 + ], + "origin": [ + -20, + 35, + 33 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 70, + 70, + 101.62, + 105 + ], + "texture": 0 + }, + "up": { + "uv": [ + 110, + 31, + 130, + 62.62 + ], + "texture": 0 + }, + "down": { + "uv": [ + 150, + 34, + 170, + 65.62 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "553e0577-b6a2-7ca8-524a-dcd364e5e845" + }, + { + "name": "RearBody3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 15.5, + 33 + ], + "to": [ + 20, + 50.5, + 64.62 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -18.4, + 0 + ], + "origin": [ + 20, + 35, + 33 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 101.62, + 70, + 70, + 105 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 130, + 31, + 110, + 62.62 + ], + "texture": 0 + }, + "down": { + "uv": [ + 170, + 34, + 150, + 65.62 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "6e532d40-881b-73cd-c7ce-a6d5be00d54f" + }, + { + "name": "EngineRoom1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 55.5, + -13 + ], + "to": [ + 8, + 71.5, + 13 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 110, + 125, + 126, + 141 + ], + "texture": 0 + }, + "east": { + "uv": [ + 152, + 125, + 126, + 141 + ], + "texture": 0 + }, + "south": { + "uv": [ + 152, + 125, + 168, + 141 + ], + "texture": 0 + }, + "west": { + "uv": [ + 126, + 125, + 152, + 141 + ], + "texture": 0 + }, + "up": { + "uv": [ + 168, + 125, + 194, + 141 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6daed1d4-981e-461b-e3bb-74c380ac33dc" + }, + { + "name": "EngineRoomLeft1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16, + 55.5, + -13 + ], + "to": [ + -8, + 61.5, + 17 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 120, + 8, + 126 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 8, + 120, + 38, + 126 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 126, + 30, + 134 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "429f5b24-b23e-95d7-a9ee-497cc9d6870d" + }, + { + "name": "EngineRoomLeft2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16, + 50.5, + 17 + ], + "to": [ + -8, + 64.5, + 45 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 28, + 134, + 42, + 142 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 42, + 134, + 56, + 142 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 38, + 120, + 66, + 134 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 134, + 28, + 142 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "4f5a613d-8830-b138-718b-9ffbb057e3d2" + }, + { + "name": "EngineRoom2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 50.5, + 13 + ], + "to": [ + 8, + 67.5, + 59 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 240, + 117, + 194, + 134 + ], + "texture": 0 + }, + "south": { + "uv": [ + 240, + 117, + 256, + 134 + ], + "texture": 0 + }, + "west": { + "uv": [ + 194, + 117, + 240, + 134 + ], + "texture": 0 + }, + "up": { + "uv": [ + 194, + 134, + 240, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "00352831-878c-36dd-56e5-23907f1b47fa" + }, + { + "name": "EngineRoomExhaustLeft1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16, + 63.5, + 45 + ], + "to": [ + -8, + 64.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 30, + 131, + 38, + 132 + ], + "texture": 0 + }, + "west": { + "uv": [ + 37, + 132, + 38, + 126 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 30, + 126, + 38, + 132 + ], + "texture": 0 + }, + "down": { + "uv": [ + 30, + 126, + 31, + 127 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "59b62c8d-08db-51f2-9fd9-207412f3c43a" + }, + { + "name": "EngineRoomExhaustLeft2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16, + 56.5, + 45 + ], + "to": [ + -8, + 57.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 30, + 131, + 38, + 132 + ], + "texture": 0 + }, + "west": { + "uv": [ + 30, + 132, + 31, + 126 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 30, + 126, + 38, + 132 + ], + "texture": 0 + }, + "down": { + "uv": [ + 30, + 126, + 38, + 132 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "48913cfa-28ec-987b-4365-3a4efe28b6e9" + }, + { + "name": "EngineRoomExhaustLeft3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16, + 57.5, + 45 + ], + "to": [ + -15, + 63.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 30, + 126, + 31, + 127 + ], + "texture": 0 + }, + "south": { + "uv": [ + 31, + 131, + 37, + 132 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 31, + 126, + 37, + 132 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "12a1c9b3-563f-29d1-4231-8b8960e9bf95" + }, + { + "name": "EngineRoomExhaustLeft4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -9, + 57.5, + 45 + ], + "to": [ + -8, + 63.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 31, + 131, + 37, + 132 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 31, + 126, + 37, + 132 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "bb1f1492-cd11-fc0f-eb04-6a5f11c8bd62" + }, + { + "name": "RotorShaft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 71.5, + -2 + ], + "to": [ + 2, + 77.5, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 142, + 4, + 148 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 142, + 4, + 148 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 142, + 4, + 148 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 142, + 4, + 148 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "a1ca5212-93a0-4d30-6122-d2e5c9872983" + }, + { + "name": "RotorHead", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5, + 77.5, + -5 + ], + "to": [ + 5, + 81.5, + 5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 4, + 152, + 14, + 156 + ], + "texture": 0 + }, + "east": { + "uv": [ + 4, + 152, + 14, + 156 + ], + "texture": 0 + }, + "south": { + "uv": [ + 4, + 152, + 14, + 156 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 152, + 14, + 156 + ], + "texture": 0 + }, + "up": { + "uv": [ + 4, + 142, + 14, + 152 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 142, + 14, + 152 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "66601b79-7b9e-fa15-2bd4-56693acf0bb7" + }, + { + "name": "BladeSleeve", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 78.5, + -17 + ], + "to": [ + 3, + 80.5, + -5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 44, + 142, + 38, + 144 + ], + "texture": 0 + }, + "east": { + "uv": [ + 38, + 142, + 26, + 144 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 26, + 142, + 38, + 144 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "103317bc-2688-89dd-17f8-3650470efcaa" + }, + { + "name": "Blade1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 79, + -25 + ], + "to": [ + 2, + 80, + -17 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 94, + 152, + 102, + 153 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 94, + 149, + 102, + 150 + ], + "texture": 0 + }, + "up": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "d1db4ea0-4661-4e86-13ab-d074bdb22394" + }, + { + "name": "Blade2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 79, + -105 + ], + "to": [ + 3, + 80, + -25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 14, + 148, + 15, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 94, + 153, + 14, + 154 + ], + "texture": 0 + }, + "south": { + "uv": [ + 93, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 14, + 148, + 94, + 149 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 148, + 14, + 154 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "8c22cade-6d0a-00a9-2974-2804a153f903" + }, + { + "name": "Tail1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 17.5, + 62 + ], + "to": [ + 7, + 48.5, + 97 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -158 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 145, + 94, + 110, + 125 + ], + "texture": 0 + }, + "south": { + "uv": [ + 211, + 0, + 225, + 31 + ], + "texture": 0 + }, + "west": { + "uv": [ + 110, + 94, + 145, + 125 + ], + "texture": 0 + }, + "up": { + "uv": [ + 110, + 66, + 145, + 80 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 110, + 80, + 145, + 94 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "623664b1-2689-578e-fd04-eee31711ff1d" + }, + { + "name": "Tail2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 21.5, + 97 + ], + "to": [ + 7, + 48.5, + 132 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -158 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 180, + 94, + 145, + 121 + ], + "texture": 0 + }, + "south": { + "uv": [ + 211, + 31, + 225, + 62 + ], + "texture": 0 + }, + "west": { + "uv": [ + 145, + 94, + 180, + 121 + ], + "texture": 0 + }, + "up": { + "uv": [ + 145, + 66, + 180, + 80 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 145, + 80, + 180, + 94 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "fc8ce5f4-0840-2f3d-140f-21dc84105267" + }, + { + "name": "Tail3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 25.5, + 132 + ], + "to": [ + 7, + 48.5, + 167 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -158 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 215, + 94, + 180, + 117 + ], + "texture": 0 + }, + "south": { + "uv": [ + 225, + 0, + 239, + 23 + ], + "texture": 0 + }, + "west": { + "uv": [ + 180, + 94, + 215, + 117 + ], + "texture": 0 + }, + "up": { + "uv": [ + 180, + 66, + 215, + 80 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 180, + 80, + 215, + 94 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "8e802d51-1ae6-3899-f6d4-8cd3c38b139f" + }, + { + "name": "Tail4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 29.5, + 167 + ], + "to": [ + 7, + 48.5, + 202 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -158 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 250, + 94, + 215, + 113 + ], + "texture": 0 + }, + "south": { + "uv": [ + 225, + 23, + 239, + 42 + ], + "texture": 0 + }, + "west": { + "uv": [ + 215, + 94, + 250, + 113 + ], + "texture": 0 + }, + "up": { + "uv": [ + 215, + 66, + 250, + 80 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 215, + 80, + 250, + 94 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "67af4d6d-9e06-3523-d121-1449e5623033" + }, + { + "name": "TailBladeLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -27, + 27.5, + 110 + ], + "to": [ + -7, + 29.5, + 120 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 10, + 0 + ], + "origin": [ + -7, + 28, + 110 + ], + "faces": { + "north": { + "uv": [ + 150, + 8, + 130, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 180, + 8, + 160, + 10 + ], + "texture": 0 + }, + "west": { + "uv": [ + 160, + 8, + 150, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 206, + 0, + 186, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 206, + 10, + 186, + 0 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f0926915-1b03-abd3-2ff0-fb9e7b9d69ba" + }, + { + "name": "Tail5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 48.5, + 175 + ], + "to": [ + 4, + 88.5, + 191 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 48, + 175 + ], + "faces": { + "north": { + "uv": [ + 130, + 0, + 170, + 8 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 255, + 0, + 239, + 40 + ], + "texture": 0 + }, + "south": { + "uv": [ + 130, + 0, + 170, + 8 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 239, + 0, + 255, + 40 + ], + "texture": 0 + }, + "up": { + "uv": [ + 170, + 0, + 186, + 8 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "0945a87b-a1d3-7f38-aac7-6dcca9f02a58" + }, + { + "name": "RotorShaft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 79.5, + 181 + ], + "to": [ + 10, + 83.5, + 185 + ], + "autouv": 0, + "color": 0, + "origin": [ + 11, + 85, + 175 + ], + "faces": { + "north": { + "uv": [ + 0, + 156, + 4, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 156, + 4, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 156, + 4, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 156, + 4, + 162 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "4921cf7b-b2b3-af9f-9a0d-45bd294a5c63" + }, + { + "name": "RotorHead", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 10, + 76.5, + 178 + ], + "to": [ + 14, + 86.5, + 188 + ], + "autouv": 0, + "color": 0, + "origin": [ + 11, + 85, + 175 + ], + "faces": { + "north": { + "uv": [ + 4, + 166, + 14, + 170 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 4, + 156, + 14, + 166 + ], + "texture": 0 + }, + "south": { + "uv": [ + 4, + 166, + 14, + 170 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 4, + 156, + 14, + 166 + ], + "texture": 0 + }, + "up": { + "uv": [ + 4, + 166, + 14, + 170 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 4, + 166, + 14, + 170 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "5354d04a-dcfe-a853-0890-af0a391580cf" + }, + { + "name": "TailSleeve", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11, + 72.5, + 180 + ], + "to": [ + 13, + 76.5, + 186 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 81, + 183 + ], + "faces": { + "north": { + "uv": [ + 18, + 154, + 22, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 14, + 154, + 18, + 160 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 18, + 154, + 22, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 14, + 154, + 18, + 160 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 22, + 154, + 28, + 156 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "b4ca7b1a-f286-c59f-de41-2f4c81ebcf60" + }, + { + "name": "Blade1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11.5, + 68.5, + 183 + ], + "to": [ + 12.5, + 72.5, + 185 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 81, + 183 + ], + "faces": { + "north": { + "uv": [ + 34, + 160, + 30, + 161 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 34, + 160, + 30, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 34, + 161, + 30, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 34, + 160, + 30, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b22dabbf-eb73-a416-efd2-8c592faea638" + }, + { + "name": "Blade2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11.5, + 52.5, + 181 + ], + "to": [ + 12.5, + 68.5, + 185 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 81, + 183 + ], + "faces": { + "north": { + "uv": [ + 30, + 160, + 14, + 161 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 30, + 160, + 14, + 164 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 30, + 163, + 14, + 164 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 30, + 160, + 14, + 164 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 29, + 164, + 30, + 160 + ], + "texture": 0 + }, + "down": { + "uv": [ + 14, + 164, + 15, + 160 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8659a038-d656-e9a6-677d-860067d72528" + }, + { + "name": "LanderShaft1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16, + -1.5, + -37 + ], + "to": [ + -14, + 15.5, + -35 + ], + "autouv": 0, + "color": 0, + "origin": [ + -15, + 13, + -25 + ], + "faces": { + "north": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b9e80942-0725-306b-d7d1-726fef83a08d" + }, + { + "name": "LanderShaft2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16, + -1.5, + 31 + ], + "to": [ + -14, + 15.5, + 33 + ], + "autouv": 0, + "color": 0, + "origin": [ + -15, + 13, + -25 + ], + "faces": { + "north": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "be81893d-06ce-98ae-2241-f24e1a6e49e0" + }, + { + "name": "LanderBottom1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -18, + -2.5, + -47 + ], + "to": [ + -12, + -0.5, + 43 + ], + "autouv": 0, + "color": 0, + "origin": [ + -14, + 15, + -2 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 110, + 154, + 200, + 156 + ], + "texture": 0 + }, + "south": { + "uv": [ + 110, + 150, + 112, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 110, + 150, + 200, + 152 + ], + "texture": 0 + }, + "up": { + "uv": [ + 110, + 150, + 200, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 110, + 150, + 200, + 156 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "d4502cca-0b14-7d86-6160-f86322c35b25" + }, + { + "name": "LanderBottom2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -18, + -2.5, + -57 + ], + "to": [ + -12, + -0.5, + -47 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -15, + -3, + -47 + ], + "faces": { + "north": { + "uv": [ + 200, + 150, + 202, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 200, + 154, + 210, + 156 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 200, + 150, + 210, + 152 + ], + "texture": 0 + }, + "up": { + "uv": [ + 200, + 150, + 210, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 200, + 150, + 210, + 156 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "57c510e5-6036-ee15-39e0-ae4cbb2c00fa" + }, + { + "name": "LanderShaft1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 14, + -1.5, + -37 + ], + "to": [ + 16, + 15.5, + -35 + ], + "autouv": 0, + "color": 0, + "origin": [ + 15, + 13, + -25 + ], + "faces": { + "north": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e7f46383-2d20-b790-1b02-2efbd9022ded" + }, + { + "name": "LanderShaft2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 14, + -1.5, + 31 + ], + "to": [ + 16, + 15.5, + 33 + ], + "autouv": 0, + "color": 0, + "origin": [ + 15, + 13, + -25 + ], + "faces": { + "north": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 110, + 148, + 127, + 150 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "30329970-0ddf-fc94-6f51-ee9cfbee974b" + }, + { + "name": "LanderBottom1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 12, + -2.5, + -47 + ], + "to": [ + 18, + -0.5, + 43 + ], + "autouv": 0, + "color": 0, + "origin": [ + 14, + 15, + -2 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 110, + 154, + 200, + 156 + ], + "texture": 0 + }, + "south": { + "uv": [ + 110, + 150, + 112, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 110, + 150, + 200, + 152 + ], + "texture": 0 + }, + "up": { + "uv": [ + 110, + 150, + 200, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 110, + 150, + 200, + 156 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "22aaf02a-dcc5-0b1e-163c-8f002d8a332d" + }, + { + "name": "LanderBottom2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 12, + -2.5, + -57 + ], + "to": [ + 18, + -0.5, + -47 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + 15, + -3, + -47 + ], + "faces": { + "north": { + "uv": [ + 200, + 150, + 202, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 200, + 154, + 210, + 156 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 200, + 150, + 210, + 152 + ], + "texture": 0 + }, + "up": { + "uv": [ + 200, + 150, + 210, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 200, + 150, + 210, + 156 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "7823fa17-de11-0fe8-2baf-f8fb991f1c3a" + }, + { + "name": "TailBladeRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 7, + 27.5, + 110 + ], + "to": [ + 27, + 29.5, + 120 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -10, + 0 + ], + "origin": [ + 7, + 28, + 110 + ], + "faces": { + "north": { + "uv": [ + 130, + 8, + 150, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 150, + 8, + 160, + 10 + ], + "texture": 0 + }, + "south": { + "uv": [ + 160, + 8, + 180, + 10 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 186, + 0, + 206, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 186, + 10, + 206, + 0 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "87df5ebb-ce10-e033-a030-13710b994a15" + }, + { + "name": "EngineRoomRight1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + 55.5, + -13 + ], + "to": [ + 16, + 61.5, + 17 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 8, + 120, + 0, + 126 + ], + "texture": 0 + }, + "east": { + "uv": [ + 38, + 120, + 8, + 126 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 134, + 30, + 126 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "02e23b3b-bbd1-8429-2e72-30a7942b1a59" + }, + { + "name": "EngineRoomRight2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + 50.5, + 17 + ], + "to": [ + 16, + 64.5, + 45 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 28, + 142, + 42, + 134 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 66, + 120, + 38, + 134 + ], + "texture": 0 + }, + "south": { + "uv": [ + 42, + 134, + 56, + 142 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 142, + 28, + 134 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "47afaa80-32d5-ef12-1c54-f7af51108b24" + }, + { + "name": "EngineRoomExhaustRight1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + 63.5, + 45 + ], + "to": [ + 16, + 64.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 37, + 126, + 38, + 132 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 38, + 131, + 30, + 132 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 38, + 126, + 30, + 132 + ], + "texture": 0 + }, + "down": { + "uv": [ + 38, + 126, + 30, + 132 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b0c15dcb-3164-8e83-617a-faf2031bad34" + }, + { + "name": "EngineRoomExhaustRight2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + 56.5, + 45 + ], + "to": [ + 16, + 57.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 37, + 126, + 38, + 132 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 38, + 131, + 30, + 132 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 38, + 126, + 30, + 132 + ], + "texture": 0 + }, + "down": { + "uv": [ + 38, + 126, + 30, + 132 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "fea2953f-ff6d-d6f4-0e7a-12e45eb37e3d" + }, + { + "name": "EngineRoomExhaustRight3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 15, + 57.5, + 45 + ], + "to": [ + 16, + 63.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 37, + 132, + 31, + 126 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 31, + 132, + 37, + 131 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6e2dde80-d293-08d7-2c83-8f7edab96858" + }, + { + "name": "EngineRoomExhaustRight4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + 57.5, + 45 + ], + "to": [ + 9, + 63.5, + 51 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 31, + 132, + 37, + 126 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 31, + 132, + 37, + 131 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "787b4297-9e84-2172-ca92-f890a7337aaa" + }, + { + "name": "BladeSleeve", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 78.5, + -17 + ], + "to": [ + 3, + 80.5, + -5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 44, + 142, + 38, + 144 + ], + "texture": 0 + }, + "east": { + "uv": [ + 38, + 142, + 26, + 144 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 26, + 142, + 38, + 144 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "db87ecaf-8136-4d52-d5c9-3d4f4b20fd3d" + }, + { + "name": "Blade1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 79, + -25 + ], + "to": [ + 2, + 80, + -17 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 94, + 152, + 102, + 153 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 94, + 149, + 102, + 150 + ], + "texture": 0 + }, + "up": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "c586ee43-2365-0815-9be1-57eb4d52415d" + }, + { + "name": "Blade2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 79, + -105 + ], + "to": [ + 3, + 80, + -25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 14, + 148, + 15, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 94, + 153, + 14, + 154 + ], + "texture": 0 + }, + "south": { + "uv": [ + 93, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 14, + 148, + 94, + 149 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 148, + 14, + 154 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "adfdc4b7-1eb1-0617-f8ab-48b0db5665f9" + }, + { + "name": "BladeSleeve", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 78.5, + -17 + ], + "to": [ + 3, + 80.5, + -5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 44, + 142, + 38, + 144 + ], + "texture": 0 + }, + "east": { + "uv": [ + 38, + 142, + 26, + 144 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 26, + 142, + 38, + 144 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "9a654922-f592-c03e-ec3a-411273b14955" + }, + { + "name": "Blade1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 79, + -25 + ], + "to": [ + 2, + 80, + -17 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 94, + 152, + 102, + 153 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 94, + 149, + 102, + 150 + ], + "texture": 0 + }, + "up": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "34b50ab0-c515-6c0a-ebe9-80822ac5c44e" + }, + { + "name": "Blade2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 79, + -105 + ], + "to": [ + 3, + 80, + -25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 14, + 148, + 15, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 94, + 153, + 14, + 154 + ], + "texture": 0 + }, + "south": { + "uv": [ + 93, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 14, + 148, + 94, + 149 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 148, + 14, + 154 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "d28f3b53-e1fd-6e19-ee52-768b3d16f520" + }, + { + "name": "BladeSleeve", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 78.5, + -17 + ], + "to": [ + 3, + 80.5, + -5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 44, + 142, + 38, + 144 + ], + "texture": 0 + }, + "east": { + "uv": [ + 38, + 142, + 26, + 144 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 26, + 142, + 38, + 144 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 14, + 142, + 26, + 148 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "cf06849c-bf04-230f-8555-70a0f6fbb714" + }, + { + "name": "Blade1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 79, + -25 + ], + "to": [ + 2, + 80, + -17 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 94, + 152, + 102, + 153 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 94, + 149, + 102, + 150 + ], + "texture": 0 + }, + "up": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 149, + 102, + 153 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "b91de1a5-0b22-48de-55da-1ad9e0400b04" + }, + { + "name": "Blade2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 79, + -105 + ], + "to": [ + 3, + 80, + -25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 79, + 0 + ], + "faces": { + "north": { + "uv": [ + 14, + 148, + 15, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 94, + 153, + 14, + 154 + ], + "texture": 0 + }, + "south": { + "uv": [ + 93, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 14, + 148, + 94, + 149 + ], + "texture": 0 + }, + "up": { + "uv": [ + 14, + 148, + 94, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 148, + 14, + 154 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "3ae96f69-18b8-0a78-9d04-f3caffc1b4a1" + }, + { + "name": "TailSleeve", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11, + 72.5, + 180 + ], + "to": [ + 13, + 76.5, + 186 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 81, + 183 + ], + "faces": { + "north": { + "uv": [ + 18, + 154, + 22, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 14, + 154, + 18, + 160 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 18, + 154, + 22, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 14, + 154, + 18, + 160 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 22, + 154, + 28, + 156 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "4e2b41c3-a5b0-7ac4-3410-47ad58210db4" + }, + { + "name": "Blade1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11.5, + 68.5, + 183 + ], + "to": [ + 12.5, + 72.5, + 185 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 81, + 183 + ], + "faces": { + "north": { + "uv": [ + 34, + 160, + 30, + 161 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 34, + 160, + 30, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 34, + 161, + 30, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 34, + 160, + 30, + 162 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b017b261-b144-7afe-0641-3d4b4b111aa5" + }, + { + "name": "Blade2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11.5, + 52.5, + 181 + ], + "to": [ + 12.5, + 68.5, + 185 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 81, + 183 + ], + "faces": { + "north": { + "uv": [ + 30, + 160, + 14, + 161 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 30, + 160, + 14, + 164 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 30, + 163, + 14, + 164 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 30, + 160, + 14, + 164 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 29, + 164, + 30, + 160 + ], + "texture": 0 + }, + "down": { + "uv": [ + 14, + 164, + 15, + 160 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "aeb1e055-a22c-2884-4143-efb88f549cb3" + }, + { + "name": "DoorLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20.1, + 16.5, + -21 + ], + "to": [ + -18.1, + 51.5, + 28 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 34, + 154, + 36, + 189 + ], + "texture": 0 + }, + "east": { + "uv": [ + 85, + 156, + 134, + 191 + ], + "texture": 0 + }, + "south": { + "uv": [ + 34, + 154, + 36, + 189 + ], + "texture": 0 + }, + "west": { + "uv": [ + 36, + 156, + 85, + 191 + ], + "texture": 0 + }, + "up": { + "uv": [ + 36, + 154, + 85, + 156 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 36, + 154, + 85, + 156 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "c683f988-d7ac-d768-398e-41744d3302cb" + }, + { + "name": "DoorRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 18.1, + 16.5, + -21 + ], + "to": [ + 20.1, + 51.5, + 28 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 36, + 154, + 34, + 189 + ], + "texture": 0 + }, + "east": { + "uv": [ + 85, + 156, + 36, + 191 + ], + "texture": 0 + }, + "south": { + "uv": [ + 36, + 154, + 34, + 189 + ], + "texture": 0 + }, + "west": { + "uv": [ + 134, + 156, + 85, + 191 + ], + "texture": 0 + }, + "up": { + "uv": [ + 36, + 156, + 85, + 154 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 36, + 156, + 85, + 154 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "0c7841d3-9d21-15ca-262b-1627bc2f205b" + }, + { + "name": "SchaleLabel", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20.2, + 19.5, + -16 + ], + "to": [ + -20.2, + 24.5, + 23 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 134, + 156, + 173, + 161 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "166f93d9-1fd0-34ac-2675-dd025f53f0f8" + }, + { + "name": "SchaleLabel", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 20.2, + 19.5, + -16 + ], + "to": [ + 20.2, + 24.5, + 23 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 15, + -17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 134, + 156, + 173, + 161 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "20c339d6-7391-1da8-9c28-0cd84d7d4b32" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 2, + 7 + ], + "to": [ + 1, + 18, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 2, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "ceea50d1-ebb7-d7cb-b6b9-69a321fd2698" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 2, + -3 + ], + "to": [ + 1, + 18, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 2, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2cbdf3db-26d4-6b03-d386-78cbd775872a" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 5.5, + -4 + ], + "to": [ + 2, + 6.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 2, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "bc13f85c-c966-c61e-8958-954dae7efcd9" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + 13.5, + -4 + ], + "to": [ + 2, + 14.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 2, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "af62dbcd-800e-f962-49ef-2cc8b7512391" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -14, + 7 + ], + "to": [ + 1, + 2, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -14, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a2f4989f-e70f-5196-4050-f0b1825614e1" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -14, + -3 + ], + "to": [ + 1, + 2, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -14, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "3c8f15aa-a7a8-ebc5-4678-c3e2f4a624d7" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -2.5, + -4 + ], + "to": [ + 2, + -1.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -14, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "05bc5a8b-b514-4d34-9df4-85a29e758ed2" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -10.5, + -4 + ], + "to": [ + 2, + -9.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -14, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "560ddc94-bfeb-9ca3-3ad5-2b996a9417e5" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -30, + 7 + ], + "to": [ + 1, + -14, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -30, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5ad4ce08-eefc-6107-fc45-b54c501d5a17" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -30, + -3 + ], + "to": [ + 1, + -14, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -30, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5382e7ce-0210-07a3-5a39-564881ad85b6" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -18.5, + -4 + ], + "to": [ + 2, + -17.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -30, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "651651ac-c2e0-5cef-8e1a-981e98653024" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -26.5, + -4 + ], + "to": [ + 2, + -25.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -30, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "29295c79-a462-f3ae-b17d-165b0b24e5d0" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -46, + 7 + ], + "to": [ + 1, + -30, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -46, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "adcf364d-c4cb-636b-81d6-c7977d7b3525" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -46, + -3 + ], + "to": [ + 1, + -30, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -46, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "42f4c692-3694-c495-ec99-09556d5bb0c0" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -34.5, + -4 + ], + "to": [ + 2, + -33.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -46, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "595ef090-7f9a-8179-e935-4b29f2d7e184" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -42.5, + -4 + ], + "to": [ + 2, + -41.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -46, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "9d74e4a4-4705-1cf9-0022-51fe5ae26385" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -62, + 7 + ], + "to": [ + 1, + -46, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -62, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e61bb277-9b35-78e5-93f1-b3f8d8d7fc7f" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -62, + -3 + ], + "to": [ + 1, + -46, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -62, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "37236c6a-8616-a237-baa4-aa0ead82d0f7" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -50.5, + -4 + ], + "to": [ + 2, + -49.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -62, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "1a350fe0-670a-70fe-88e3-734694dad6ba" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -58.5, + -4 + ], + "to": [ + 2, + -57.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -62, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "6584c65b-14b3-9256-0b14-bc8198dfc9fb" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -78, + 7 + ], + "to": [ + 1, + -62, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -78, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a6b332b9-51fe-6bde-d3f7-f4d49e2fad64" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -78, + -3 + ], + "to": [ + 1, + -62, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -78, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e283a6d7-c1c4-dccf-55a8-7d7f840f4259" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -66.5, + -4 + ], + "to": [ + 2, + -65.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -78, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "abbdc168-0478-26c0-4fd5-8a4e0a6d6c70" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -74.5, + -4 + ], + "to": [ + 2, + -73.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -78, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d8af1577-a3b2-233f-5fa7-8614c8a06d46" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -94, + 7 + ], + "to": [ + 1, + -78, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -94, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "1382a9ae-d04f-9f91-e940-0acfccd26b02" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -94, + -3 + ], + "to": [ + 1, + -78, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -94, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f47a62ab-f0c5-eba4-9b39-c6ddcd063b1d" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -82.5, + -4 + ], + "to": [ + 2, + -81.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -94, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "db16de55-a5a5-3191-cab1-737029a1c1d4" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -90.5, + -4 + ], + "to": [ + 2, + -89.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -94, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "bb0aac5a-aed5-18eb-078c-087cadeaa272" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -110, + 7 + ], + "to": [ + 1, + -94, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -110, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "65c9cc04-0f2e-be8d-e5dd-596432b80caf" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -110, + -3 + ], + "to": [ + 1, + -94, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -110, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "dc6bada8-0f68-3157-623e-5d707cf63adc" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -98.5, + -4 + ], + "to": [ + 2, + -97.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -110, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "1b0b4d4b-ba33-c817-e5b6-ce5f0a015670" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -106.5, + -4 + ], + "to": [ + 2, + -105.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -110, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "34d34524-8192-5c54-2edb-6687d32c54ae" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -126, + 7 + ], + "to": [ + 1, + -110, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -126, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b9cf06c2-18d5-b469-6005-557f1b65bbd3" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -126, + -3 + ], + "to": [ + 1, + -110, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -126, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e28c6ffe-1742-144c-1949-91050bdc81f5" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -114.5, + -4 + ], + "to": [ + 2, + -113.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -126, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "173bd1e5-b573-e827-e8c1-3b545bb9fddb" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -122.5, + -4 + ], + "to": [ + 2, + -121.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -126, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b8bc4a52-d289-10ea-307c-b439840f0306" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -142, + 7 + ], + "to": [ + 1, + -126, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -142, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "616545a5-dc5f-fc34-fba0-fa73a5d2dda0" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -142, + -3 + ], + "to": [ + 1, + -126, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -142, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "84690380-add5-e58c-bade-29566cbd0ca8" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -130.5, + -4 + ], + "to": [ + 2, + -129.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -142, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "9995ccb7-13d8-d7ad-177b-1061111eae4e" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -138.5, + -4 + ], + "to": [ + 2, + -137.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -142, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "fbde71ac-aa28-ddfc-b282-2d8a90ca7468" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -158, + 7 + ], + "to": [ + 1, + -142, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -158, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "188ccb12-851b-1814-a474-acf791a7b3fe" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -158, + -3 + ], + "to": [ + 1, + -142, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -158, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5c2041f8-0c46-922f-089a-18b3e99969ed" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -146.5, + -4 + ], + "to": [ + 2, + -145.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -158, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "334e1d65-f729-2eef-0d61-2ce72451a335" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -154.5, + -4 + ], + "to": [ + 2, + -153.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -158, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "7a2fd5ad-01b2-3a7e-11db-8fc0532ea0ac" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -174, + 7 + ], + "to": [ + 1, + -158, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -174, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "ffe85353-4a8e-827b-da4c-b073e7ea6377" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -174, + -3 + ], + "to": [ + 1, + -158, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -174, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "86a1da75-1f45-bf6f-2f92-2fc63d8e993a" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -162.5, + -4 + ], + "to": [ + 2, + -161.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -174, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "d506e185-339a-eebd-7381-6348d3f8e0d4" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -170.5, + -4 + ], + "to": [ + 2, + -169.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -174, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "511c8f02-6fd7-f679-dd0d-5618cd7e5ed1" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -190, + 7 + ], + "to": [ + 1, + -174, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -190, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e9f10a40-b536-eefe-721f-aff1b8a6a6a9" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -190, + -3 + ], + "to": [ + 1, + -174, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -190, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "066c1dc4-37b5-d79d-12b2-d0a3ef5ebf37" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -178.5, + -4 + ], + "to": [ + 2, + -177.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -190, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "fc44e348-0fba-cb31-af5b-16506815543e" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -186.5, + -4 + ], + "to": [ + 2, + -185.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -190, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5f77bf2c-d246-9156-c10e-f71dcaed59a1" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -206, + 7 + ], + "to": [ + 1, + -190, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -206, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "6fc54381-1c0e-b4af-9bbc-4d8da96fecf9" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -206, + -3 + ], + "to": [ + 1, + -190, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -206, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "afef023d-931c-9a20-73fc-6300e8088df0" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -194.5, + -4 + ], + "to": [ + 2, + -193.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -206, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "b2709f0b-8848-15c4-8022-5ee5ae61eb21" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -202.5, + -4 + ], + "to": [ + 2, + -201.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -206, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b335fbde-c8fa-7a9d-ef18-8aca48e7e18c" + }, + { + "name": "RopeLadderLineLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -222, + 7 + ], + "to": [ + 1, + -206, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -222, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c20a24d6-be1c-9057-82d7-04de02f59886" + }, + { + "name": "RopeLadderLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -222, + -3 + ], + "to": [ + 1, + -206, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -222, + 8 + ], + "faces": { + "north": { + "uv": [ + 2, + 172, + 4, + 188 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 172, + 2, + 188 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 172, + 8, + 188 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 172, + 6, + 188 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 170, + 4, + 172 + ], + "texture": 0 + }, + "down": { + "uv": [ + 4, + 170, + 6, + 172 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "3a63e341-e8fb-2bd2-6362-8562b2e7b7ef" + }, + { + "name": "RopeLadderStep1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -210.5, + -4 + ], + "to": [ + 2, + -209.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -222, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "texture": 0 + }, + "east": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "west": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "rotation": 180, + "texture": 0 + } + }, + "type": "cube", + "uuid": "976656dc-5616-ef7b-ff0f-0284637bb753" + }, + { + "name": "RopeLadderStep2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2, + -218.5, + -4 + ], + "to": [ + 2, + -217.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + -222, + 8 + ], + "faces": { + "north": { + "uv": [ + 8, + 172, + 12, + 173 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 11, + 172, + 12, + 186 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 8, + 185, + 12, + 186 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 172, + 9, + 186 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 172, + 12, + 186 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "da9f89fb-21c2-448a-c367-0f483f1fdd96" + } + ], + "outliner": [ + { + "name": "Helicopter", + "origin": [ + 0, + 41, + 72 + ], + "color": 0, + "uuid": "3855c725-cad3-125d-db6d-7aa36afaff7c", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b7c05a5f-7761-cdb8-f20e-1c37a3ade2d6", + "f00ed130-bf0d-ecc1-f1ca-bbf1616f1ada", + "96c3a955-eb63-9471-5196-694594fda260", + { + "name": "Doors", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "c8c6350b-e8cd-d570-31a7-cf4e2bc83a28", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "DoorLeft", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "ed76b98c-a423-8851-e841-2021ddaf8547", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "c683f988-d7ac-d768-398e-41744d3302cb", + "166f93d9-1fd0-34ac-2675-dd025f53f0f8" + ] + }, + { + "name": "DoorRight", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "2c757bc9-83e6-d23d-9df6-bf4f97a4f5d6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "0c7841d3-9d21-15ca-262b-1627bc2f205b", + "20c339d6-7391-1da8-9c28-0cd84d7d4b32" + ] + } + ] + }, + { + "name": "Nose", + "origin": [ + 0, + 15, + -25.25 + ], + "color": 0, + "uuid": "7c0528cc-eca1-1af9-1c0e-8dc2ad12def4", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e7fa4708-6808-a16e-c3cf-84c4423ce64d", + "c62a05d2-a700-0657-0afa-5f2244004bff", + "09ad8112-4cf8-8762-652e-f5ad6d9f618e" + ] + }, + { + "name": "RearBody", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "93e928d9-d6f0-43df-6293-0a3cd4e289b6", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "890f0f8a-d674-0b64-0662-72ec21b7e302", + "553e0577-b6a2-7ca8-524a-dcd364e5e845", + "6e532d40-881b-73cd-c7ce-a6d5be00d54f", + { + "name": "Tail", + "origin": [ + 0, + 15, + -158 + ], + "color": 0, + "uuid": "d262a3fe-1946-6256-fce5-ba051869f9b3", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "623664b1-2689-578e-fd04-eee31711ff1d", + "fc8ce5f4-0840-2f3d-140f-21dc84105267", + "8e802d51-1ae6-3899-f6d4-8cd3c38b139f", + "67af4d6d-9e06-3523-d121-1449e5623033", + { + "name": "TailBlades", + "origin": [ + 0, + 27, + 111 + ], + "color": 0, + "uuid": "a5b0c0fa-1a35-5bbc-8477-a99377c7910e", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f0926915-1b03-abd3-2ff0-fb9e7b9d69ba", + "87df5ebb-ce10-e033-a030-13710b994a15" + ] + }, + { + "name": "Tail2", + "origin": [ + 0, + 48, + 175 + ], + "rotation": [ + 45, + 0, + 0 + ], + "color": 0, + "uuid": "22f49b13-6a3d-b438-2c5c-dc918d4d3576", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "0945a87b-a1d3-7f38-aac7-6dcca9f02a58", + { + "name": "TailRotor", + "origin": [ + 4, + 81, + 183 + ], + "rotation": [ + -45, + 0, + 0 + ], + "color": 0, + "uuid": "cd3f847e-32d5-a57a-9d0d-2fb39777e3db", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4921cf7b-b2b3-af9f-9a0d-45bd294a5c63", + "5354d04a-dcfe-a853-0890-af0a391580cf", + { + "name": "TailRotorBlades", + "origin": [ + 12, + 81, + 183 + ], + "color": 0, + "uuid": "47f57408-507e-ee25-dfbd-8f633fe8ccfd", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "TailRotorBlade1", + "origin": [ + 12, + 81, + 183 + ], + "color": 0, + "uuid": "124e1398-1a3b-52cb-328a-d53ee1298459", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4e2b41c3-a5b0-7ac4-3410-47ad58210db4", + "b017b261-b144-7afe-0641-3d4b4b111aa5", + "aeb1e055-a22c-2884-4143-efb88f549cb3" + ] + }, + { + "name": "TailRotorBlade2", + "origin": [ + 12, + 81, + 183 + ], + "rotation": [ + -180, + 0, + 0 + ], + "color": 0, + "uuid": "f048d185-df18-6a18-4f96-77a3b8dc02e8", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b4ca7b1a-f286-c59f-de41-2f4c81ebcf60", + "b22dabbf-eb73-a416-efd2-8c592faea638", + "8659a038-d656-e9a6-677d-860067d72528" + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "name": "Lander", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "3352001e-59dc-756f-ca56-75a0ff69c425", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "LanderLeft", + "origin": [ + -14, + 15, + -2 + ], + "rotation": [ + 0, + 0, + -30 + ], + "color": 0, + "uuid": "e96bb96e-5c1e-69c0-e981-61680a7c39d2", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b9e80942-0725-306b-d7d1-726fef83a08d", + "be81893d-06ce-98ae-2241-f24e1a6e49e0", + { + "name": "LanderBottomLeft", + "origin": [ + -15, + -1, + -2 + ], + "rotation": [ + 0, + 0, + 30 + ], + "color": 0, + "uuid": "44f381e1-ac30-7518-5b19-76b403eb7996", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d4502cca-0b14-7d86-6160-f86322c35b25", + "57c510e5-6036-ee15-39e0-ae4cbb2c00fa" + ] + } + ] + }, + { + "name": "LanderRight", + "origin": [ + 14, + 15, + -2 + ], + "rotation": [ + 0, + 0, + 30 + ], + "color": 0, + "uuid": "9d0c1522-0a37-b6a7-2e1d-6a52b389a65c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e7f46383-2d20-b790-1b02-2efbd9022ded", + "30329970-0ddf-fc94-6f51-ee9cfbee974b", + { + "name": "LanderBottomRight", + "origin": [ + 15, + -1, + -2 + ], + "rotation": [ + 0, + 0, + -30 + ], + "color": 0, + "uuid": "f4cc6580-f851-149d-f2fb-1bc9469b7ce1", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "22aaf02a-dcc5-0b1e-163c-8f002d8a332d", + "7823fa17-de11-0fe8-2baf-f8fb991f1c3a" + ] + } + ] + } + ] + }, + { + "name": "EngineRoom", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "32d2ada4-d3e8-9606-b3e2-5e51f4ee0c7b", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "6daed1d4-981e-461b-e3bb-74c380ac33dc", + "00352831-878c-36dd-56e5-23907f1b47fa", + { + "name": "EngineRoomLeft", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "cca24d86-e850-053a-9dec-395bac3130ea", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "429f5b24-b23e-95d7-a9ee-497cc9d6870d", + "4f5a613d-8830-b138-718b-9ffbb057e3d2", + "59b62c8d-08db-51f2-9fd9-207412f3c43a", + "48913cfa-28ec-987b-4365-3a4efe28b6e9", + "12a1c9b3-563f-29d1-4231-8b8960e9bf95", + "bb1f1492-cd11-fc0f-eb04-6a5f11c8bd62" + ] + }, + { + "name": "EngineRoomRight", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "76ae5dd4-5132-c9eb-0ef8-a39f2bd556af", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "02e23b3b-bbd1-8429-2e72-30a7942b1a59", + "47afaa80-32d5-ef12-1c54-f7af51108b24", + "b0c15dcb-3164-8e83-617a-faf2031bad34", + "fea2953f-ff6d-d6f4-0e7a-12e45eb37e3d", + "6e2dde80-d293-08d7-2c83-8f7edab96858", + "787b4297-9e84-2172-ca92-f890a7337aaa" + ] + }, + { + "name": "Rotor", + "origin": [ + 0, + 15, + -17 + ], + "color": 0, + "uuid": "38ed883a-0fe3-ee8a-2189-c6e092c1fbdb", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a1ca5212-93a0-4d30-6122-d2e5c9872983", + "66601b79-7b9e-fa15-2bd4-56693acf0bb7", + { + "name": "RotorBlades", + "origin": [ + 0, + 79, + 0 + ], + "color": 0, + "uuid": "812dc3c3-7569-417c-88ea-98db26c9084f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RotorBlade1", + "origin": [ + 0, + 79, + 0 + ], + "color": 0, + "uuid": "f7b3eb02-a8bd-10df-159b-84a8d7d8de15", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "103317bc-2688-89dd-17f8-3650470efcaa", + "d1db4ea0-4661-4e86-13ab-d074bdb22394", + "8c22cade-6d0a-00a9-2974-2804a153f903" + ] + }, + { + "name": "RotorBlade2", + "origin": [ + 0, + 79, + 0 + ], + "rotation": [ + 0, + 90, + 0 + ], + "color": 0, + "uuid": "8d437dd0-b961-9ee5-6a21-c66cc9e2c290", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "db87ecaf-8136-4d52-d5c9-3d4f4b20fd3d", + "c586ee43-2365-0815-9be1-57eb4d52415d", + "adfdc4b7-1eb1-0617-f8ab-48b0db5665f9" + ] + }, + { + "name": "RotorBlade3", + "origin": [ + 0, + 79, + 0 + ], + "rotation": [ + 0, + -180, + 0 + ], + "color": 0, + "uuid": "313b00e1-ad6e-cfc0-f25e-cf657a31be43", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "9a654922-f592-c03e-ec3a-411273b14955", + "34b50ab0-c515-6c0a-ebe9-80822ac5c44e", + "d28f3b53-e1fd-6e19-ee52-768b3d16f520" + ] + }, + { + "name": "RotorBlade4", + "origin": [ + 0, + 79, + 0 + ], + "rotation": [ + 0, + -90, + 0 + ], + "color": 0, + "uuid": "669905c4-3a7d-c6e9-3553-9ac439ac10f0", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "cf06849c-bf04-230f-8555-70a0f6fbb714", + "b91de1a5-0b22-48de-55da-1ad9e0400b04", + "3ae96f69-18b8-0a78-9d04-f3caffc1b4a1" + ] + } + ] + } + ] + } + ] + }, + { + "name": "RopeLadder", + "origin": [ + 0, + 18, + 3 + ], + "rotation": [ + 0, + 0, + 90 + ], + "color": 0, + "uuid": "349fd936-b671-8cf5-1bd3-e66530c8bee3", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ceea50d1-ebb7-d7cb-b6b9-69a321fd2698", + "2cbdf3db-26d4-6b03-d386-78cbd775872a", + "af62dbcd-800e-f962-49ef-2cc8b7512391", + "bc13f85c-c966-c61e-8958-954dae7efcd9", + { + "name": "RopeLadder2", + "origin": [ + 0, + 2, + 3 + ], + "rotation": [ + 0, + 0, + 85 + ], + "color": 0, + "uuid": "75c895fd-4365-0281-ecda-1a6d54d01e66", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a2f4989f-e70f-5196-4050-f0b1825614e1", + "3c8f15aa-a7a8-ebc5-4678-c3e2f4a624d7", + "05bc5a8b-b514-4d34-9df4-85a29e758ed2", + "560ddc94-bfeb-9ca3-3ad5-2b996a9417e5", + { + "name": "RopeLadder3", + "origin": [ + 0, + -14, + 3 + ], + "rotation": [ + 0, + 0, + 55 + ], + "color": 0, + "uuid": "0bda9a1f-977f-e6e5-c943-0ab890083646", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "5ad4ce08-eefc-6107-fc45-b54c501d5a17", + "5382e7ce-0210-07a3-5a39-564881ad85b6", + "651651ac-c2e0-5cef-8e1a-981e98653024", + "29295c79-a462-f3ae-b17d-165b0b24e5d0", + { + "name": "RopeLadder4", + "origin": [ + 0, + -30, + 3 + ], + "rotation": [ + 0, + 0, + 17.5 + ], + "color": 0, + "uuid": "9cb16d11-101b-c58c-24e7-c7a2dec1668f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "adcf364d-c4cb-636b-81d6-c7977d7b3525", + "42f4c692-3694-c495-ec99-09556d5bb0c0", + "595ef090-7f9a-8179-e935-4b29f2d7e184", + "9d74e4a4-4705-1cf9-0022-51fe5ae26385", + { + "name": "RopeLadder5", + "origin": [ + 0, + -46, + 3 + ], + "rotation": [ + 0, + 0, + 85 + ], + "color": 0, + "uuid": "20e90317-4e90-cada-923e-1551e99844fe", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e61bb277-9b35-78e5-93f1-b3f8d8d7fc7f", + "37236c6a-8616-a237-baa4-aa0ead82d0f7", + "1a350fe0-670a-70fe-88e3-734694dad6ba", + "6584c65b-14b3-9256-0b14-bc8198dfc9fb", + { + "name": "RopeLadder6", + "origin": [ + 0, + -62, + 3 + ], + "rotation": [ + 0, + 0, + 45 + ], + "color": 0, + "uuid": "9df17c50-2500-dc3d-3c9d-1bb6cd628896", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a6b332b9-51fe-6bde-d3f7-f4d49e2fad64", + "e283a6d7-c1c4-dccf-55a8-7d7f840f4259", + "abbdc168-0478-26c0-4fd5-8a4e0a6d6c70", + "d8af1577-a3b2-233f-5fa7-8614c8a06d46", + { + "name": "RopeLadder7", + "origin": [ + 0, + -78, + 3 + ], + "rotation": [ + 0, + 0, + 72.5 + ], + "color": 0, + "uuid": "335c6570-26b8-856b-bda3-65395902f2c1", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1382a9ae-d04f-9f91-e940-0acfccd26b02", + "f47a62ab-f0c5-eba4-9b39-c6ddcd063b1d", + "db16de55-a5a5-3191-cab1-737029a1c1d4", + "bb0aac5a-aed5-18eb-078c-087cadeaa272", + { + "name": "RopeLadder8", + "origin": [ + 0, + -94, + 3 + ], + "rotation": [ + 0, + 0, + 30 + ], + "color": 0, + "uuid": "3bd16030-14b3-a1bf-76ef-9adb8e3564d9", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "65c9cc04-0f2e-be8d-e5dd-596432b80caf", + "dc6bada8-0f68-3157-623e-5d707cf63adc", + "1b0b4d4b-ba33-c817-e5b6-ce5f0a015670", + "34d34524-8192-5c54-2edb-6687d32c54ae", + { + "name": "RopeLadder9", + "origin": [ + 0, + -110, + 3 + ], + "rotation": [ + 0, + 0, + 105 + ], + "color": 0, + "uuid": "12e7191b-e255-e122-467f-4e74ea1ca25b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b9cf06c2-18d5-b469-6005-557f1b65bbd3", + "e28c6ffe-1742-144c-1949-91050bdc81f5", + "173bd1e5-b573-e827-e8c1-3b545bb9fddb", + "b8bc4a52-d289-10ea-307c-b439840f0306", + { + "name": "RopeLadder10", + "origin": [ + 0, + -126, + 3 + ], + "rotation": [ + 0, + 0, + 30 + ], + "color": 0, + "uuid": "c8667a44-3ce4-ea1f-ecfe-d9fac6461f90", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "616545a5-dc5f-fc34-fba0-fa73a5d2dda0", + "84690380-add5-e58c-bade-29566cbd0ca8", + "9995ccb7-13d8-d7ad-177b-1061111eae4e", + "fbde71ac-aa28-ddfc-b282-2d8a90ca7468", + { + "name": "RopeLadder11", + "origin": [ + 0, + -142, + 3 + ], + "rotation": [ + 0, + 0, + 95 + ], + "color": 0, + "uuid": "73305a61-a5fc-3ffd-28cf-a5a7156ade9d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "188ccb12-851b-1814-a474-acf791a7b3fe", + "5c2041f8-0c46-922f-089a-18b3e99969ed", + "334e1d65-f729-2eef-0d61-2ce72451a335", + "7a2fd5ad-01b2-3a7e-11db-8fc0532ea0ac", + { + "name": "RopeLadder12", + "origin": [ + 0, + -158, + 3 + ], + "rotation": [ + 0, + 0, + 77.5 + ], + "color": 0, + "uuid": "fac07263-8b34-d5b4-c7e2-83b19ee7d708", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ffe85353-4a8e-827b-da4c-b073e7ea6377", + "86a1da75-1f45-bf6f-2f92-2fc63d8e993a", + "d506e185-339a-eebd-7381-6348d3f8e0d4", + "511c8f02-6fd7-f679-dd0d-5618cd7e5ed1", + { + "name": "RopeLadder13", + "origin": [ + 0, + -174, + 3 + ], + "rotation": [ + 0, + 0, + 95 + ], + "color": 0, + "uuid": "44f6b24f-ec24-3b6c-95dc-fc2d04130722", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e9f10a40-b536-eefe-721f-aff1b8a6a6a9", + "066c1dc4-37b5-d79d-12b2-d0a3ef5ebf37", + "fc44e348-0fba-cb31-af5b-16506815543e", + "5f77bf2c-d246-9156-c10e-f71dcaed59a1", + { + "name": "RopeLadder14", + "origin": [ + 0, + -190, + 3 + ], + "rotation": [ + 0, + 0, + 105 + ], + "color": 0, + "uuid": "81c03504-cef5-69e6-cf02-f623ce10f5b6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "6fc54381-1c0e-b4af-9bbc-4d8da96fecf9", + "afef023d-931c-9a20-73fc-6300e8088df0", + "b2709f0b-8848-15c4-8022-5ee5ae61eb21", + "b335fbde-c8fa-7a9d-ef18-8aca48e7e18c", + { + "name": "RopeLadder15", + "origin": [ + 0, + -206, + 3 + ], + "rotation": [ + 0, + 0, + 130 + ], + "color": 0, + "uuid": "0cb872f1-2b47-cee6-492f-bfa20246c3ac", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "c20a24d6-be1c-9057-82d7-04de02f59886", + "3a63e341-e8fb-2bd2-6362-8562b2e7b7ef", + "976656dc-5616-ef7b-ff0f-0284637bb753", + "da9f89fb-21c2-448a-c367-0f483f1fdd96" + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "name": "DeathAnimationSoundAnchor1", + "origin": [ + 0, + 34, + 0 + ], + "color": 0, + "uuid": "fcb2fee0-4cd1-e336-8621-8ce8d361032d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + { + "name": "DeathAnimationParticleAnchor", + "origin": [ + -35, + 0, + 20 + ], + "color": 0, + "uuid": "c9619203-8699-a8fd-5b1f-e5d7977f2b78", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ], + "textures": [ + { + "path": "", + "name": "death_animation.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 256, + "height": 191, + "uv_width": 256, + "uv_height": 191, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "66f8b2e8-963d-24d5-1b10-af18e7682f3d", + "relative_path": "../../textures/death_animation.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAC/CAYAAAARmQJyAAAAAXNSR0IArs4c6QAAFtBJREFUeF7tnWusVcUVx+dI2ni9oIBieAVQUVAU2rQk2pjSpESJpB9QQWk0RpqaJhoTY7T9IFWKaWxsYyK2scb6bEsFIkkblJo+JNYPhg9VCsitGMDwqg/QkFtozPU0c7j73H32nb1n1sya2bP3/p8vcO9Zs2bmv9b67dmzH7d1aqjdFvhEocCZY1qtsgYyMDAQdR7MnH2JeOXIaXWumyK6/9fpJW0P7P23kO05P6pYlVFLLprMmTOn1UoGnTjiFKnKvmTihP4AAPmKAwBqbVgAgOIfLW4eADZueMmZC8tX3KT0AQD4A0CbeaE7d+7cUau1Sq8AnLO6AQ5k8e+cuqgz03nTJpJm3Nq+WeQVfuIIAAAASEklRk6FbE6Lek4BqB2nkta2aTTtTg3pT39l8f/y0Dgxe9ZMMW3Sud2xF4Fg16FjYs3Vk43nmQZAck4ug2TswMGw7nsAyQpgcHBQ9Pf3d5Wy/bk2K4AX1/9Bn/1C5B69zhwTJD8dUlvflAoA6TENgWwPlKJPt00AkFeMPmEAAJyOhCkQagWA9sJl3TycP26oJ593nBjT+TlvCds0AEgt5CogCwHboqcAIG3LDYO6A0DqtWfPnrZpgSda59nXBgAv7P1fOyl6WewqAMilrPxcfnjbqJVAkwEgNXl62Tz9EsPQQrcCyHPDAQMAoKErgDQA1u/5rDBVAYBxHX1ev+c6w5KmmUkAuBaiLQy4d7D3vzdQOPlZF8/pfJ/Y+TwyJwPBCuC0Esm9EZ1NQAkA+cvkKF8UtSYDgFbKdtYcAEh6poIAAGjwCsCk+A999Im49vOdjT0FsCtpWitOAPjcL6DNqjnW3BA1Uc75RiC5AtABQBa//AAAJiGxt5G3rPr+UFcGvsdTJ/+1BEBS/Hv3HxB3TjuBFYDHjA0BgBfXj9zJ+PBDP67+NVyP8aC6riQAfrjtSO59AEnxSyEAAGo60O1DAyA9QsCAHq9si1oBIFv8crJYAbgnSZEH6q3ADzz0E6ObuFxH/cDq1a4uCts/vHat8vtbV6qfmeAaDPcTglzjovhx3gNQrQDSxZ8c/QEASljsbAGAXt0AAH0esQMgW/wAgD4IXBaxAsB3Iab3JdJa+u4XK4A5rVZ6BaAqfgCAq7zt/eQtke090lr6LER5VSLvVMZnv1IBACAFgLziBwBoxcJtHbL4y9oIBADss4blFKCo+AEA++BwtAQAOFRU+4hlBWB79cf1LUmdW4Fv2bRTu5MsLwFiE9BfIhZ5BgD86Q4AAACd7FK9D8D3a9JM3jkYsvilDjgF8AebIs9RrwCSo3/TVgC+ASD11EEAAGjGfQClAuDKn2/RngIk9GrSjUAhAKCDAADQDAC4rDucNwFNAaAqfjnwur4QJBQAiiAAAAAAOjg4AwDvBCxnDyAbWNXpAAAAAPgCwPDBe+QPg+g6yvseKwBb5Ua3KxsC2ATki2UoT7YrAAAgFaEyrgLkJUgWAiFXAQCAW9m6bObZ9kwFQDq/5K3n3T8NZjuAuq4AbPXgbgcAcCs64o/7PoDYAZA9uAAAw7mgWgHYBtNHuuY9LMPdF1YAbora5owLiExXAKrTyw4AXj7o9kfTrp9e/ZfKvHxw9JXQeYP+X89lmm4AgKlSNDuXwlP1FCsA8u43AQCGoxg7AFTJxp281EeRaaVWbI2HgezV1K0Aim42AwAAAPvM07SkAAUAsA9DEQB0d5oCAACAfeYBAN60ozjOA4Cu+LuXAbEHIAROASgpZ2Zrez5s5t3dSj4KW8ZLPN1H3utBBQCT4gcAUjoCANxpKQQAwK+pymMWAKbFDwAAAF4zFADwKm/XeRoA1B5xH8CwYrHfBxDiKgA1eXT2VQKALCLKkVM395DfOwOA4a/Rhpyvl74GBor/kq2XTh2dcl8GdBzOqOZVAYBLAXFrZuPPBV6dFYArAGwGjTbuCgAAbhrKTcD0BnhVVwAuKrCcArgMIOa2sR/BAAC37IkJALa5xvGHXmtxKcQtFdxaU254MelJtyKLvfCTOdomtYlGHDYAwGkVAQDHbOIGQB2uTUtJAQDzxOLOIfOeAQAjrTZuGPmT2tkGt668mfVpqKI3NC1f4fcNOUZiGBoBAIZCnX6tHmsOmfecA4DjRw9TfHRtJ0yeatUu5kay+DefnG41xGV9B0W2aLn9WQ0sQKMqAaDsDcCoACCL37aQXdoGyElyFy7FmnSWhgC3P/KEAjaoCgDKLn4ZkmgAwFHAHD4C5mlhV0nBXnzRRVZDeu/994UKAFz+rAYVqFEVABDLfgsAECgpqd1IAOycuojarMf+8sPbuqcB3P6cBua5cRUAoLviQpXI9goNAEBVOpA9d8Fy+wskg1U3AIC5bACAuVZBLbkLlttfUDGInVUBAMQpac1tTykAAK205RhwFyy3v3JUMesVADDTCZuA5joFt+QuWG5/wQUhdAgAmIuFFYC5VkEtuQuW219QMYidAQDmggEA5loFteQuWG5/QcUgdgYAmAsGAJhrFdSSu2C5/QUVg9gZAGAuGABgrlVQS+6C5fYXVAxiZwCAuWDRAEAO2eVOPpe25nKFs+QuWG5/4ZSg9wQAmGsWFQASCJgPf8TS9hkCm75CtOEuWG5/ITSw7aOJALC9s5DjxR62ccL7AAqU4y5Ybn+2QQ/RDgAwVxkAMNcqqCV3wXL7CyoGsTMAwFwwAMBcq6CW3AXL7S+oGMTOAABzwQAAc62CWnIXLLe/oGIQOwMAzAWLDgB4I9Dp4HEXLLc/8xTTW3LvRNtuiOlHymNRZtHxzIDHy6hNQJdLeS5teabD68W2YFfOPaczkPV7PhMc7wNQ+eMuWF7lhAAAuBX1468HABwFzOHDz1TpXiUA2guXiV2HjpEaJwW748QY0dq+ueeFIFz+mgYAHLFJKWhsDAAUSJUAoEjN+eOGer6WRZ/+qADA4Q8AMM5xGBYoAABo0kMHgSIApIs/6YbbH7IbCpgokHfAAAAM1JNFa/PJe48/tz+bsaFNsxQAAJoVb8wWCvQoAAAgIaBAgxUAAKjB/+ILagte+zPO4PUHb41WAACghl8CoKwiLLNvqk6wr4QCAAA1TGUWYZl9U3WCfSUUAACoYXIowgljviWOD71O7XHE3qFv+07Rss4KGAFACuByJ59L2+jEtyhCWfjZjxUILPqOTj8MKCoFjAGQQMBm9LV6I5BhEaaLPin29ApA9b1WW8O+tX5gAAWGFSABAKoJIQyKMG+pT/39KL0N+kaMoABFAQCAopa0NSxCrACowsI+q8ArR0Z+c90UIdI/U9SSbfM+AABFSQIA0m6xB0AVGfYhil+qDABQc81wBaByi6sAVLGbaR+q+AsBEPuLG8pKjZkXzra6Echq0y87SQP4xP7KrbLihn7VCuS9T6EFAKgFowIgKXx5JSBZAaR/R0pMAIAkF4z1CgAAeo16LCgAyC75dT9rhwIAaCWCAU0BAICml7ABQPrIn10JkG4IAgCI0YK5TgEAQKdQ5ntTAKg2/Ex/lzskAIAYLZjrFAAAdAoRAKC63Jdunhz9i7osXBEAAMRowVynAACgU4gAgLSp6dGedGkQACBGC+Y6BQAAnUKWAJDNdOf+pOKXDgEAYrRgrlMAANAppADA8Q+PjmqleuBJt+sPABDFhzm7AgAAUVK5CSgBkC74osedcR8AUWCYB1UAACDKTQVA4h53AhKFhnkQBQAAosy2AEjvCRC7HDHHHoC1dGioVgAAIGZGAoBsM5OXnpDP+bOdAADEaMFcpwAAoFNIsQlo+1ZgAIAoNsy9KwAAECU2vROQ6NbM3GAFYOYIVjErgMeBI47Orv5LSh1d0dtdSh0YOmdRwGfxZ33LAee+EASPA6vj2VQA2L6OiqUqGuiE+xVgquIHACwSq4kAQPFbJIpDk1DFDwBYBKlpAMgWP05BLJKG2MQWuKrY5B35kyHhFIAYnCYBAMVPTA6NuW1hm4zCpvixAjBRNmPTFAAUFb/PRLYISeOb2BY/AGCROk0AAIrfIjFKauJS/ACARdBmzi73MqDFkElNUPwkuUo1di1+AKDU8Nl17hNAKH67mJTRiqP4AYAyIufYpy8AoPgdAxOwOVfxAwAWQcsWYN5lFAvXVk1ODbXbVg1TjVD8rgqGa89Z/ACARdyym4DXT2+1LNywNXn5YC8AqNfpUfxsofDuiLv4AQCLkNUJACh+iwQoqYmP4gcALIJZl1MAFL9F8Etq4qv4AQCLgNYBACh+i8AzNaGeojF1m+sGtwITFc57gQLRjTdz3aYgit+b9FrHsRU/VgDakI02qDIAUPwWAWdqki7+mP6EO94IRAxwVQGA4icGmtE8e+QHABjFDe2qigBoevHHtvQu+94Rk5pp4Y1AapmqBgAUv0m6h7UBAMLqzdpbFQCQ97hu+kjYhEd6q3bezZqojs6wAsgRsMoAcMyJSjWv4nl3TAIDAACAUz7W5bxbd1nVSaSIGwMAAIB1esZW/EXXu3WTBAB0CjXse5wCFAe8bufdWQCEvoTn6/FvXdm23njjjcLHTBd+42qdj1p8X4Ud27TQMmHL2uCr43l3FgCx5IPvlUnrueeeKwTAzbfeFk2B+0j4JJljCbip2GUBQLXsr5p2Ko0bCwDTFYCP4itK9tDnl1VLYt9HBlMQuZx3U/rwbZu9HyaWU0DfcTZaAYQufhls39eys4CpGgBiuoErlmLxDYky/HsHgOkKoIzJyz59wKcOy1gAoKyMDNuvdwDo9gCuuuqqsDMe7s3Xe/nzTi2qtgLwnRilBL3ETmONv+84t3x3kBfT3z//bGG4x19zO3s6FO0rxJoAeSKUFTf2oETiMNb4+45ztAD47m38ACjKtVgTAAAIQ4hY499IAJw8eVIsXrzYKfLUGytiTQAAwCkNjBuXHX/fhZ4nRGkrgN88+SvR19fXHZcs+uTnjz/+WNx///1Or+GmClp2Ahhn6rAhdX5U/1z2rrqGmqfrOF31CjXP7DhLA8Djv3hU9Pf3d4peFv/g4GDnZ/mR/wcAilOqrIShJrprYYWap+s4qbpk7UPNMyoAyMHIopcFn/0AAACAVCBUYQAArggjtvctODVxfI+HKI/WnDo/rUNPBq66hpqn6zhd5Qs1z2hWAL4Fp94oU7W72cpKGGqiu8Y51Dxdx0nVJWtPzVfX/pL2pe0ByAFwiq5KFPlIZ9UK2zSwroUR6nFXV/1d52mqZ1XtXGuoUgBYsmSJ8snFrVu3KucBAJSf1q4JCgAUx9BV38oBYMGCBT2KvPPOOwIAKL/Q80bgmqAAAADQVUCuACQANm3a1PndjTfeKACAeIuf4zQPAAAAAABFDlSlMLAC8AtoV31xCuA3Pt68AwDepK2U48YBQBWdJu4BuF42oj4rYVsVrglaFdDZ6uPazlXfSq0AisRq2mVA18RB+14FqgoaZwBs3Lix59Lavffea5Qbjz32mJEdt9ENN9zg9JAQ93jgrx4KAADDcQQA6pHQmAVNAQDAMwBw5KYlJKzDKgAAAABhMw69RaUAAAAARJWQGExYBQAAACBsxqG3qBRoLACyUZgxY0bhnwpL7MeOHdv578Ov7er8+8A185Q/RxXliAaze/dup6sZl112mVGciqbsOoaI5HQeCgAwLCEA4JxLLA50xQkAsMjcdQIAAAC8GeXoLQQAHIeI5ikFdPGKVaxRy1CsAOIIlS6hOFYAccy0HqPQxSvWWQIAkUZGl1AAQFyB08UrrtGOjGYUAJYuXWq0ubRv3z5sAjpE1TVhAAAH8T00dY2nhyEZubQGwKpVq4w6yBrl3RH44IMPGoHHqtPAjdasWeO0w28yXADARKVwNrUBgOkegO3DQAAAT1ICADw6cnmpLAC4ngZ0vdc/WQH84I47uGJSmp+fPvJIaX1zdbxu3bpWn1jUXZWdFNt6VjXJd6rfJ7+TNjbtsnNIj0N+l/XJNecm+mnFCIAJk6dWNhbHjx4WEgATJ06s7ByOHTsmnl63I7fQ0oWdLXKO71QAQNH7SScAgFnXugAgvQIoOspTjtZFR3LVaiHxjRUAc5Km3FUKABs3vGSlxPIVN+W24/apA8D+/fut5jBr1qzcdtw+5QpAAiBdgGkIcBzli1YOWAFYpYhVI2sAyGcB5HMA6WcAkv/bjGT58uWdZnIPQHUKIAu1vXBZ1/X8cUM93ew4MSa329b2zUIFAR8+iwAgC/Xbq5/KHWfRnP669g6hgoAPn8kpQDJQ1Tl9dg8gKWgVHEy/Swsj+0y3y35nk2NoM1qBSgAgKdSkQGSxmwBg16Fj3RlffnhbDwR8+JSd5QFAFurkVSObg/Omjd4jUM0pPecsBHz4lHPIrgBQOPVVwOlOQJcVQPaySfoqQHYFkC3W9Xs+I0dEBwAOnxQAmE5g5dxzOqYSejoAcPgEAExVrIddpQAgJU8f1U1DcOijT8S1n+9UrgA4feoAMPSd+8S0SeeaDrtrl6wWVADg9gkAkMNT6QbWAPjggw9Y73YzWQHYFKssfvnhBECeTxMASBsqBHQA4PQJAFS6nsmDrzUAkkLdu/+AuHPaCZYVQJFPHQAGrlghZs+a2QkSBQJFAOD2CQCQa6jSDWoLgKRQZXS4AKDzSQEABQKmAODwCQBUup7Jg7d+GGjLli3RngJkC1Wq4roCMPFpAgBpk6wCTAtWBwBOnwAAuYYq3aB2AEgXanL0dwWAqU8bAJhAgAoAF58AQKXrmTz4Wp0CZAuVAwAUn7YA0BWsDQBsfQIA5BqqdIMuALb/dnX7wyMHO5M5f8p0sfCWtaxLfJ1KrlcBVIXqCgCqTxcAFBWsLQBsfAIAukyt1/fdIt/y6O1tWfjyI0Gw9L5nKwOAvEJ1AYCNT1cA5BWsCwCoPgGAehW4bjYteeQ/77xJYve//inGn90vvtw/QaR/fuHV18WyxV8TJz//rzj37HHim997xgsYbFcARYVqCwBbnxwAUBWsKwAoPgEAXcnU6/vWm7++q50t+vTPb727W3z1ihmi70tnibP6xpQKgOxdgKaFKkOWdxWA06cpAKRd+kqAKqWy9wlICKjuBJT3ASQfDp8AQL0KXDebllz6q478CQRe/ctmMWXaeR0AyM+Su54vbQWQLlbVZbmiyZoAwNUnBQB5Y827RGgCAA6fAICuZOr1fWvf1sfbect/CYHtb/9D9I0fK6aMn9g5DVh2z8bgAJCSyweCdk5d1FE/fTeeSTiyxZ+08eFT9zhw+ohdNPbsHYNHn/lR7uPA3D7xNKBJVtXDRrsH8Oe3tosLLjy/dAAkELCRHS8EUauW95IRAMAmy6rZRrsH8Mc3t4srv36BGN9/ZmmbgFWSVvdGoCrMBQCoQpR4xqjdA3jkyac6AJCfi6ZMKmUTkGeq/F7e3fF21+ml87/S+T8AwK8zPPpTQLsH8PSmzWLJokvFp4OnAICcOEgQAAD+khSe/SlgtAcgLwMCAGZBwArATCdYxaGAdg/gwH/2dy4Dyk9ZNwLFIZXZKAAAM51gFYcC2j2AZzf8rnMjUKgVwILvPxSHMg6j+PvP7q78HwZJvxbcQQo0jVwB7R7An/72WucyYKirAABA+RmDqwDlxyDUCLR7APJZgJBXAQCAUKHP7wcAKD8GoUag3QOQ9wHIh4GOfHqsczOQ71uBAYBQoQcAyle6/BFo9wAuWHK3l1t/s1NPngYEAMpPCqwAyo9BqBFo9wBCvRgEAAgVcn0/AIBeo7pYBDm6m4gFAJioFMYGAAijcwy9RAOARIwjhw61VX8cNAaxTMaA+wBMVIJNLApEB4CBgYF2LOLYjuOJJ56wbRpNO9wHEE0ovA7k/3+rU5fDkJo5AAAAAElFTkSuQmCC" + } + ], + "animations": [ + { + "uuid": "96b1b305-92fe-9c7f-475b-19434f1d7894", + "name": "death_animation", + "loop": "hold", + "override": false, + "length": 12.75, + "snapping": 20, + "selected": true, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "markers": [ + { + "color": 0, + "time": 6 + } + ], + "animators": { + "3855c725-cad3-125d-db6d-7aa36afaff7c": { + "name": "Helicopter", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "40", + "y": "224", + "z": "13" + } + ], + "uuid": "e4067018-0609-ad89-380a-25747f6f1008", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "2c757bc9-83e6-d23d-9df6-bf4f97a4f5d6": { + "name": "DoorRight", + "type": "bone", + "keyframes": [ + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "1cbe7ba5-d97b-dff3-da58-6031cbe583a2", + "time": 0.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -2, + "y": 0, + "z": 0 + } + ], + "uuid": "5c238362-3d39-d6c8-b90f-7ea474e7c4ab", + "time": 0.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -2, + "y": 0, + "z": 0 + } + ], + "uuid": "bf74fbe3-b3e9-c73e-0c01-744f7c080b75", + "time": 0.9, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -1.40763 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 1.40763 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -2, + "y": 0, + "z": 48 + } + ], + "uuid": "f20761ca-e540-501a-4cd5-2c2989a16df0", + "time": 2.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.63708 + ], + "bezier_left_value": [ + 0, + 0, + 0.29763 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.63708 + ], + "bezier_right_value": [ + 0, + 0, + -0.29763 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -2, + "y": 0, + "z": 48 + } + ], + "uuid": "3c2870c2-1a3d-3b96-e2bd-bf03ff11662b", + "time": 10, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -1.10129 + ], + "bezier_left_value": [ + 0, + 0, + 0.30123 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 1.10129 + ], + "bezier_right_value": [ + 0, + 0, + -0.30123 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -2, + "y": 0, + "z": "0" + } + ], + "uuid": "863662d3-1b4b-b2bb-e742-5c66476d11b8", + "time": 11.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "14d9f06d-656e-28c1-e3c5-7ed8dbb30749", + "time": 11.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "349fd936-b671-8cf5-1bd3-e66530c8bee3": { + "name": "RopeLadder", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "7a6a939e-4117-86f9-9f90-aec63b8e61e9", + "time": 2.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 42.5 + } + ], + "uuid": "72250253-88e4-f556-3497-a042b2c1c2d1", + "time": 2.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "2a8320c4-a06e-5ff3-a2f2-5cd46f367dc2", + "time": 3.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "4465e37e-06aa-0af8-16f8-5d41ccd28a4e", + "time": 7.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "860bb0dd-a0c9-dd44-6cd1-139165eb773f", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "acb0ed56-dfd1-347b-0b5d-07ffe2041332", + "time": 2.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -18, + "y": 0, + "z": 0 + } + ], + "uuid": "0eea9772-0235-2498-a30d-7cc9636e9f07", + "time": 2.95, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -18, + "y": 0, + "z": 0 + } + ], + "uuid": "cfc2447b-f3db-735b-f943-fa6d38de094c", + "time": 7.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -3, + "y": 0, + "z": 0 + } + ], + "uuid": "96fcb9f9-2177-6c94-a351-0f548b37d298", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -3, + "y": 0, + "z": 0 + } + ], + "uuid": "dfe4fb8a-c882-4cfb-9705-7560e8ee61fe", + "time": 8.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 3, + "y": 0, + "z": 0 + } + ], + "uuid": "c9d4c448-85d5-c90f-cae1-5bd41d65fd8f", + "time": 9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -8.5, + "y": 0, + "z": 0 + } + ], + "uuid": "84964543-6db1-bbf9-ba7d-bc929a414813", + "time": 7.55, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "75c895fd-4365-0281-ecda-1a6d54d01e66": { + "name": "RopeLadder2", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "715ca160-5e7a-ab6e-7f05-423c3986350c", + "time": 3.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -120 + } + ], + "uuid": "d13fa408-90b4-1c79-dc11-472351e4ce31", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-120" + } + ], + "uuid": "f2c6875a-0d7b-156d-9136-0a650ef27f33", + "time": 4.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -120 + } + ], + "uuid": "2e86ee13-c9e9-2ed2-b1b8-95c3a5b4b394", + "time": 5.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -117.5 + } + ], + "uuid": "1c2bf741-57d3-c5ad-090a-8bbbad3e3029", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -120 + } + ], + "uuid": "b7d026a8-ad38-14a7-f867-1ba2d95d9391", + "time": 6.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-121.25" + } + ], + "uuid": "e76f4473-96d5-8842-0274-b0358a654c8e", + "time": 5.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-119.375" + } + ], + "uuid": "65612d85-2ab1-d18c-b0bf-47c1afcd6f1c", + "time": 6.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -120 + } + ], + "uuid": "27614e65-f95b-6b31-3628-9e04ae6de7af", + "time": 7.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -120 + } + ], + "uuid": "938323f4-87a5-ab37-7b1b-97a6ce4c8bca", + "time": 7.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -140 + } + ], + "uuid": "d14e16d9-9442-78aa-8918-2831a5ac3ead", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "105854b0-38ae-6d67-c4c1-3dc4809bba38", + "time": 7.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "e5002226-5469-1042-b029-0f1afc6be98d", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "84b84f95-6c5f-0b4a-6cba-b1625c5ffe78", + "time": 7.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "d673620a-d093-ad34-9edb-ed8e4685e43f", + "time": 7.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "0bda9a1f-977f-e6e5-c943-0ab890083646": { + "name": "RopeLadder3", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "5ed816f8-135f-0da0-5923-129ebc1c7bd6", + "time": 3.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "041c15ad-4012-b38d-82ae-971e61223436", + "time": 3.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "39c58d1d-12c8-d230-c6b5-6d104160c15b", + "time": 4.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -52.5 + } + ], + "uuid": "b8dcff37-3b94-4056-c23a-e8462043db74", + "time": 4.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "11bd825f-6b2e-aacb-e8b4-b63a18256b38", + "time": 5.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "1ff3553a-bec7-da76-7698-f56e69a072c4", + "time": 6.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-56.25" + } + ], + "uuid": "9cfa4b8d-8689-10e9-0147-11c88e06f48c", + "time": 5.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-54.375" + } + ], + "uuid": "72b93d9f-9ec1-38e2-bd94-e09ed920645f", + "time": 6.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "85a519f5-bb8f-d7f7-cd2c-ee83e94f8e19", + "time": 7.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -90 + } + ], + "uuid": "41311d57-2e2d-3539-407a-ab50771f2830", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-110" + } + ], + "uuid": "04ee912a-1a01-d160-d1cc-02423e3c64aa", + "time": 7.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-55" + } + ], + "uuid": "aa92bfd1-b3bb-8c32-15a3-a20506d635e9", + "time": 7.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -55 + } + ], + "uuid": "d47c969c-745e-d0de-01e8-d9057a9bac55", + "time": 7.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "5bda63ae-aee5-b44f-7777-ccb4998ea206", + "time": 7.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "b6e9b356-e0fe-62ae-e490-5f2576e4c6f0", + "time": 7.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "99e1aee4-3ecf-0b8f-0db6-12825624b7ba", + "time": 7.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "9cb16d11-101b-c58c-24e7-c7a2dec1668f": { + "name": "RopeLadder4", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "55a90d22-0aa7-a1ed-0a20-462b561529c4", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "4e4b85da-ebb9-c3e7-f66a-81f1f7131a18", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "8f8d286d-3876-0d88-731a-1b08212b71c6", + "time": 4.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "2c965938-a38a-2aa5-4e40-7b7490cbb9f3", + "time": 4.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "94a7c70a-b3de-422a-70da-b7f4f3f192ef", + "time": 5.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-17.5" + } + ], + "uuid": "018db8e7-c53c-48a2-82e6-f5704a2e030f", + "time": 6.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-18.75" + } + ], + "uuid": "76305530-2812-3b4e-76a6-881212353a98", + "time": 5.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-16.875" + } + ], + "uuid": "8dac90e3-c610-5a05-d495-0f940fe2321b", + "time": 6.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "ff8a99bc-6ecc-fa9a-a3a1-772c8458f386", + "time": 7.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "8b97c453-3b59-1b5b-1b87-5270a861395b", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -52.5 + } + ], + "uuid": "dc1e0624-fae4-1db4-0b17-c2daaa720b8f", + "time": 7.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "3608771d-a92f-73a2-1cb0-b6c63983e29e", + "time": 7.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "eaed630f-5ce3-6152-f91c-e7d30cfc3705", + "time": 7.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "8e7b9142-b842-f147-eef4-c6a415b2fca9", + "time": 7.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "1d4a7779-0147-7eaf-eacb-6498c62ec7ce", + "time": 7.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "6cc6be4e-6273-f0bf-1046-cc74826ad972", + "time": 7.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "20e90317-4e90-cada-923e-1551e99844fe": { + "name": "RopeLadder5", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "fd0d9523-f494-fbbd-579d-a9f8aa29505c", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "cbbb7211-7306-4da6-e9cd-cee32f3db277", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "ad615c94-7d2f-3d30-d2cb-1fb982efa62c", + "time": 4.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "f8b8ee5a-718b-57ec-e29f-2a957e84eba6", + "time": 5.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -82.5 + } + ], + "uuid": "4186b1f0-b56f-aa2c-d8d3-bb53424a8814", + "time": 4.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "05edfa8b-dbe5-9ac6-f39e-e13689d0736d", + "time": 6.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-86.25" + } + ], + "uuid": "2fcfc415-f20f-e75b-95c3-9c47bc7aeb3a", + "time": 5.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-84.375" + } + ], + "uuid": "2515814e-e6b6-ff78-5456-a857633e5e76", + "time": 6.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "11a7a53e-3040-b39e-6ed0-379bd2e00b92", + "time": 7.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "43eccee8-8e2a-9d27-6bc4-11bddb7bcca3", + "time": 7.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -120 + } + ], + "uuid": "08efecdc-9ec1-ac7f-2176-cf1557a6d6d6", + "time": 7.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -140 + } + ], + "uuid": "50b3a825-995e-75a9-f7af-ecf3a58496eb", + "time": 7.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "cc926f12-2919-d6d4-ecfd-09ef1110ec9e", + "time": 8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "d781389c-f13e-57fd-5443-0c375ddb8fc5", + "time": 7.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "7e66f59e-c9de-c580-b98d-7ec52ce6dcdb", + "time": 8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "965810b4-fb7c-3804-c156-6acdbbf0fd8a", + "time": 7.95, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "9df17c50-2500-dc3d-3c9d-1bb6cd628896": { + "name": "RopeLadder6", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "333957d7-7490-42ea-4b18-1e33f22720c8", + "time": 3.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -45 + } + ], + "uuid": "b7a2d6e9-4056-008c-ccc4-11032641dfe1", + "time": 3.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -45 + } + ], + "uuid": "361017c2-c56b-05e7-9f41-a54eb0d67951", + "time": 4.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -45 + } + ], + "uuid": "cf8acc2f-581b-500c-dd24-adcf074aeea7", + "time": 5.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -42.5 + } + ], + "uuid": "82406510-9cdb-3e15-bd50-e6ae0b854a45", + "time": 4.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -45 + } + ], + "uuid": "a81c2263-8ca2-e039-3abc-c08e67bb7d26", + "time": 6.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-46.25" + } + ], + "uuid": "7403a1fb-025c-3ad1-d935-d334f2d38e6e", + "time": 5.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-44.375" + } + ], + "uuid": "796bf88a-e601-c774-69c6-9bf911e76d48", + "time": 6.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -45 + } + ], + "uuid": "b34ba9b8-05e1-5414-995a-69e8ccba3742", + "time": 7.35, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -45 + } + ], + "uuid": "86ed3337-b4f3-aac9-ff95-aa28d95f178b", + "time": 7.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -80 + } + ], + "uuid": "927a5b26-48b9-a341-3a31-4d63f8a3fede", + "time": 7.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -100 + } + ], + "uuid": "24ff5a31-95c6-8d40-29d8-745d98e06553", + "time": 8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -45 + } + ], + "uuid": "8d9f1b9c-1b64-0e85-f7b5-2abb6b74d617", + "time": 8.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "cdaaf4f8-0111-72e2-4516-72f5ff3e85ba", + "time": 8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "4327e269-e44c-7182-3fff-16315107ae30", + "time": 8.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "9dd6f2f6-fd36-c4b5-8aed-a6dc4ac524e9", + "time": 8.05, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "335c6570-26b8-856b-bda3-65395902f2c1": { + "name": "RopeLadder7", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "44deab22-701c-c222-9d88-821dc88b0ab8", + "time": 3.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "5a007d3b-580e-665d-114f-1104c2cd52ca", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "fab7f68b-3230-f50d-7c79-e3b81178cd0f", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "54b70589-b1e3-77eb-e212-f65576e31615", + "time": 5.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -70 + } + ], + "uuid": "ffd3c88c-c7fd-4156-f873-679613272b72", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "a545cacd-932e-6258-8560-85ec089cdaab", + "time": 6.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-73.75" + } + ], + "uuid": "66f3fc9d-c7f7-cd74-1df9-ced4f5ea1bb5", + "time": 5.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-71.875" + } + ], + "uuid": "062b58fe-ea6a-b033-11fd-bae2d8d7c194", + "time": 6.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "f2e6608a-6953-00c6-b181-cbef0571590f", + "time": 7.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "e41721f9-d7ec-d856-86a4-0f0acf44872d", + "time": 7.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -107.5 + } + ], + "uuid": "ae713465-bf77-478a-8401-b8c6dc6b2dde", + "time": 8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -127.5 + } + ], + "uuid": "ad9c6331-a9ee-5ff8-8aa1-fb7cad8116d5", + "time": 8.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -72.5 + } + ], + "uuid": "4934e04b-7fbf-2ba3-0eb8-8dab5e5e2b2d", + "time": 8.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "4db7f489-4b91-0ab2-98e7-4eaa93faae71", + "time": 8.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "efee1e69-83bc-819f-ce69-78abcc16ae02", + "time": 8.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "f0fc56c7-4636-529b-1ba0-706b5b623db8", + "time": 8.15, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3bd16030-14b3-a1bf-76ef-9adb8e3564d9": { + "name": "RopeLadder8", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "7d6528b1-2da3-f8ed-3305-63ebced40d77", + "time": 3.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "77f387e0-d6b5-9515-f961-48fc3591cc79", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "81b14531-125f-1885-964c-93f9c12b4ff7", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "705cae46-bb94-7d53-63b5-bde9bfc5db21", + "time": 5.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -27.5 + } + ], + "uuid": "63dc2e71-e3c5-aea4-9845-7b9127472c56", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "bf8c4ae2-5453-be09-b954-eceb41be02de", + "time": 6.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-31.25" + } + ], + "uuid": "8d406165-b149-9a75-913a-f01cc625a884", + "time": 5.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-29.375" + } + ], + "uuid": "8fc64b38-8de3-5789-f573-f75b776c2130", + "time": 6.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "1ae28892-3925-6455-7979-871d2e0d1759", + "time": 7.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "1d35fc36-25d9-de33-b582-a1941ab3f255", + "time": 8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -65 + } + ], + "uuid": "e25a2001-e5bb-a820-5311-ea93425c8e90", + "time": 8.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "3058a961-8743-c600-4a3b-b015656f08c9", + "time": 8.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "36daff5d-1428-4808-0994-97ce0ee6df21", + "time": 8.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-30.625" + } + ], + "uuid": "a49c98ba-ec8e-0175-be8c-8f9b3ac6d3f4", + "time": 7.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "6fa3f6a5-6a70-3890-8ef8-2dc552df9f75", + "time": 8.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "d7f231f4-fa90-baef-490a-cb27fd9445e7", + "time": 8.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "ba4435b6-5449-22c9-8137-7cb8b7faeba0", + "time": 8.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "12e7191b-e255-e122-467f-4e74ea1ca25b": { + "name": "RopeLadder9", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "b1e8cb95-1c6f-5b1c-f418-639a7cab014b", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "94b60b23-61aa-c77c-d51a-b2a2db70f960", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "29c60c10-e605-331f-0342-8c6f2bf86bc4", + "time": 4.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "79dc3101-ca96-2792-c24b-3e1d07fba131", + "time": 5.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": "-102.5" + } + ], + "uuid": "0a3e2979-121f-645a-4e29-cf9845632153", + "time": 4.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "d484bd8b-227a-5bde-e77f-be4fbc73a0ef", + "time": 6.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": "-106.25" + } + ], + "uuid": "3d9a193b-be69-2360-6b73-a4674c7ba8d0", + "time": 5.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-104.375" + } + ], + "uuid": "1435311a-2783-f508-04b1-2e4b4505dc67", + "time": 6.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "4e66c5e0-95a5-d76c-3f1f-164d5f478275", + "time": 7.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "068e1cab-0745-18ee-70f6-7466fb12874e", + "time": 8.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -140 + } + ], + "uuid": "f6364f07-ad42-5d90-9ece-c7e2391e4b60", + "time": 8.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -160 + } + ], + "uuid": "b7d6338a-6f27-ca05-4227-2a4f370bb5ce", + "time": 8.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "f665ff53-b17b-e5d6-eabc-a2a5ad8495c3", + "time": 8.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-105.625" + } + ], + "uuid": "6f1f5153-c606-fb59-b771-4ed203f70cb7", + "time": 7.95, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "94027b76-7cf5-513c-b6e4-c9f4b97aab59", + "time": 8.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "50d74b2c-4484-9df3-d1d5-361b22063b3c", + "time": 8.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "d67ac890-33fc-bd80-b170-332802c03125", + "time": 8.35, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "c8667a44-3ce4-ea1f-ecfe-d9fac6461f90": { + "name": "RopeLadder10", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "83eb069e-f225-c6ff-a092-082516cf7636", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "fbf27e4b-f216-9f88-00b3-cbc58c3ed671", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "1c5edae4-19da-3230-978b-2cb1b5ffa8dc", + "time": 4.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "a7ca8670-4b26-9c2f-4c19-f5a238ec3666", + "time": 5.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -27.5 + } + ], + "uuid": "b7de9a27-20a3-2e3d-13d8-c948a43eaf24", + "time": 4.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "e9ee1404-07e8-5253-1a7c-31725b62ae3f", + "time": 6.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-31.25" + } + ], + "uuid": "07903ec4-ca26-6878-a5e8-b1b2c683d251", + "time": 5.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-29.375" + } + ], + "uuid": "3283a399-91c6-f20d-11b6-00a57d204cbc", + "time": 6.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "9260370a-9e7a-edf2-d99d-83995d145425", + "time": 7.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "cf3d0e5a-b59f-ed5a-16bc-1d09adf3afcd", + "time": 8.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -65 + } + ], + "uuid": "bccdb8e1-9ecc-c8a6-c0d5-cd39277e6a45", + "time": 8.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -85 + } + ], + "uuid": "4663dfca-6a13-f691-61bf-f40c463d5f81", + "time": 8.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "e7619056-067a-1344-6ea1-9305447c04dd", + "time": 8.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-30.625" + } + ], + "uuid": "cc6fe899-933f-3723-7467-625fc099cfc8", + "time": 7.95, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "0f934b98-7a9b-df7c-82a7-3b737c2c1d4e", + "time": 8.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "c78a5ec6-c981-5eb5-ba5a-27b89a415475", + "time": 8.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "190df046-ee7f-1728-7dde-0755b39fc9c1", + "time": 8.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "73305a61-a5fc-3ffd-28cf-a5a7156ade9d": { + "name": "RopeLadder11", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "1a40387a-7b9d-1003-b69f-73b7bda2d673", + "time": 3.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "3989ba7a-db3e-b3ad-aad9-d3f59f645574", + "time": 3.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "8ad54380-220e-bcd1-fd95-68a2f825468e", + "time": 4.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -92.5 + } + ], + "uuid": "64e1e450-2353-353e-2cc1-30b6916afdd1", + "time": 5.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "6a5f9b25-ffa2-8db8-099a-29c18235134f", + "time": 5.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "1791f50c-4bbf-341c-dae4-2c27891fab38", + "time": 6.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-96.25" + } + ], + "uuid": "deb5c22a-93ed-f46f-767e-f8bfe3ba8029", + "time": 6.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-94.375" + } + ], + "uuid": "b261d784-b671-a6ce-c702-1bab7434c0ae", + "time": 7.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "bbbaa549-460a-4921-d455-85ca0c90bc12", + "time": 7.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "767f6b12-00f3-cec8-31b5-012f59710173", + "time": 8.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -130 + } + ], + "uuid": "f328bf97-5dd5-614c-05f6-51b524e78c63", + "time": 8.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -150 + } + ], + "uuid": "ddbd3e32-1a8d-0c20-0a4a-47ded44f8392", + "time": 8.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "72adec00-19c7-4fa5-900a-76ecfd03068c", + "time": 8.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-95.625" + } + ], + "uuid": "e14449b1-e5fe-11a2-17ec-0ec7701c1e4b", + "time": 8.05, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "20085f32-db2f-6922-b3a4-842239584414", + "time": 8.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 16, + "z": 0 + } + ], + "uuid": "3ca6575f-43cc-03fd-c391-121c08cfb988", + "time": 8.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10, + "z": 0 + } + ], + "uuid": "e6793b5c-6e62-e047-f070-04ab2de10a32", + "time": 8.55, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "fac07263-8b34-d5b4-c7e2-83b19ee7d708": { + "name": "RopeLadder12", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "91e861ef-f9f5-5ae9-bf67-bf63e63e4b43", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -77.5 + } + ], + "uuid": "e073481b-8372-b554-89e4-3ec7a33d3b81", + "time": 3.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -77.5 + } + ], + "uuid": "7945611b-0589-adc6-dca7-6fcb2aa96d20", + "time": 4.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -75 + } + ], + "uuid": "8f7237d7-22cb-a332-13ad-89a794fdf1ca", + "time": 5.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -77.5 + } + ], + "uuid": "b51ae597-1cc6-ed43-b874-3d760fd0769d", + "time": 5.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -77.5 + } + ], + "uuid": "d910c131-5795-9924-a404-76491396aa83", + "time": 6.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-78.75" + } + ], + "uuid": "70386e7a-cee3-7976-4f6d-044c1855a3a1", + "time": 6.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-76.875" + } + ], + "uuid": "2845c2a6-3bc4-0168-52e6-7273978be456", + "time": 7.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -77.5 + } + ], + "uuid": "bd656eb8-581c-f9f5-bc89-fca5559c257f", + "time": 7.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -77.5 + } + ], + "uuid": "737a3536-fcab-57d7-9eac-f96e47b2a1f3", + "time": 8.4, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -112.5 + } + ], + "uuid": "f3f88ca3-a3d7-1de6-93c4-95218bc45953", + "time": 8.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -132.5 + } + ], + "uuid": "615c9842-9dc5-ee5e-728a-1dbacc089696", + "time": 8.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -77.5 + } + ], + "uuid": "66677efe-b841-1f75-109b-a5aa7f6c576d", + "time": 8.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-78.125" + } + ], + "uuid": "e02af0bd-6d77-4be6-dd64-06848d575632", + "time": 8.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "968e8269-835e-879d-97bd-d4b01931b097", + "time": 8.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 17, + "z": 0 + } + ], + "uuid": "ed96e3b0-e8a2-25e5-337b-1e147785210c", + "time": 8.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 10.5, + "z": 0 + } + ], + "uuid": "5a84d1cb-e872-1965-39ef-a9ef75e15a2f", + "time": 8.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "44f6b24f-ec24-3b6c-95dc-fc2d04130722": { + "name": "RopeLadder13", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "82967f6c-bd02-5a8f-ad9e-8c015374b361", + "time": 3.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "bbd10306-7631-63e9-18d2-46b603f5ab32", + "time": 3.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "d15eb4a4-4815-c1d0-df3b-8e086138c785", + "time": 4.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -92.5 + } + ], + "uuid": "f31fba74-e823-7ba3-9ae3-a67360ae34c4", + "time": 5.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "a839844d-85e4-3acb-cb3b-86038e43777b", + "time": 5.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "a14cdc74-9255-08d5-1e83-e06283199291", + "time": 6.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-96.25" + } + ], + "uuid": "1337ba2f-42a7-cb0d-d07a-878ab8834e7c", + "time": 6.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-94.375" + } + ], + "uuid": "2fdee278-0a16-be21-891a-fb48380fe654", + "time": 7.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "52e87cc4-b292-6d09-c196-3b52e394765c", + "time": 7.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "003cf14f-a93c-1189-8027-36f349c79f50", + "time": 8.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -130 + } + ], + "uuid": "33fe971d-1e16-a7e0-72a7-995bfa36c293", + "time": 8.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -95 + } + ], + "uuid": "49428d59-4973-1566-4091-bee99d4d58f0", + "time": 8.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -147.5 + } + ], + "uuid": "c82a0a19-6a82-ff84-9278-e5498f50d143", + "time": 8.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-95.625" + } + ], + "uuid": "1d5dea88-d6db-f260-f001-bb9785a167e1", + "time": 8.15, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "8f9e54ff-9798-a75d-c10a-704ca0739c98", + "time": 8.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 15, + "z": 0 + } + ], + "uuid": "f00e66ed-398e-60c4-d8f1-85b53bafa7e9", + "time": 8.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 9.5, + "z": 0 + } + ], + "uuid": "b45202cd-424f-2474-d13f-a26520086150", + "time": 8.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "81c03504-cef5-69e6-cf02-f623ce10f5b6": { + "name": "RopeLadder14", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "93f9f586-4e9b-3923-8f9c-44832080c328", + "time": 3.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "d6096621-5b95-817f-a799-c36f447e6fd4", + "time": 3.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "7c6b8e5b-0ceb-fe54-ab7b-8d7811bd2672", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -102.5 + } + ], + "uuid": "9ac5855e-42b3-487c-e521-a01b1a9e1d8c", + "time": 5.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "af233243-4539-b62b-310a-53e47d19762b", + "time": 5.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "3edb744f-dc01-d487-8c0a-bafe53c6ccb2", + "time": 6.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-106.25" + } + ], + "uuid": "3624af05-78f8-198e-b8c4-76ab3193b063", + "time": 6.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-104.375" + } + ], + "uuid": "4282ce73-34f3-16aa-49b3-df8574ad6691", + "time": 7.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "093881ee-7ca5-ba90-cf87-27bfe5320508", + "time": 7.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "dd457da2-3b85-73bb-4b15-5274a2493391", + "time": 8.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -142.5 + } + ], + "uuid": "9c720fcb-9108-2a44-df75-54043f2b53d1", + "time": 8.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -160 + } + ], + "uuid": "6c8f42f9-4129-08e4-0273-1174cdd7ff4d", + "time": 8.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -105 + } + ], + "uuid": "5fe75780-5b25-6646-e14a-d44cfc96bcf9", + "time": 8.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-105.625" + } + ], + "uuid": "47266fc4-e056-2041-ef22-595cd7482e03", + "time": 8.2, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "6003dc25-616a-3edd-1040-d9b2b35f3d80", + "time": 8.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 15, + "z": 0 + } + ], + "uuid": "4176975c-b729-106d-688c-09c887bd073d", + "time": 8.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 1.5, + "z": 0 + } + ], + "uuid": "b83a6031-7006-62d1-73fa-9cfe048d9496", + "time": 8.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "0cb872f1-2b47-cee6-492f-bfa20246c3ac": { + "name": "RopeLadder15", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "b1351cff-ed11-c2f0-e157-0f2e8d10b981", + "time": 3.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -130 + } + ], + "uuid": "1de4e324-219c-bfef-a594-e39a8fb5a350", + "time": 3.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -130 + } + ], + "uuid": "f61177ef-795c-a7d4-3b3c-b235ba115436", + "time": 4.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -127.5 + } + ], + "uuid": "d3e1c562-d3b8-0f96-4ff5-969dfa9ae4b5", + "time": 5.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -130 + } + ], + "uuid": "0a624dcc-15a2-456c-0b59-95d5feebbac4", + "time": 5.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -130 + } + ], + "uuid": "80c067d5-7cd6-cb24-56d0-2d2d140bd3b5", + "time": 6.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-131.25" + } + ], + "uuid": "be5a2d2a-9021-18a1-0fd2-76dca6100e21", + "time": 6.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-129.375" + } + ], + "uuid": "a9b9220c-ad00-9b9f-1bb4-75788b71dd2b", + "time": 7.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -130 + } + ], + "uuid": "b12b3267-e31c-cd0e-ff3e-d1150c2d088f", + "time": 7.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "44ff2d7b-fc5d-4f07-9be5-ccd9cf815be7", + "time": 8.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 0, + "y": 15, + "z": 0 + } + ], + "uuid": "b754696d-b8fa-2ef6-e49a-76c6b4435e2c", + "time": 9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "47f57408-507e-ee25-dfbd-8f633fe8ccfd": { + "name": "TailRotorBlades", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "6dd64455-bc9b-cfd7-9fb0-a3eab02e7196", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "36720", + "y": "0", + "z": 0 + } + ], + "uuid": "f9d8e6f4-e171-0f12-1ca6-375ba6dc55d2", + "time": 12.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "812dc3c3-7569-417c-88ea-98db26c9084f": { + "name": "RotorBlades", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "f35b2cfe-e6ec-a772-1cc0-e8458d2373e9", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "18360", + "z": 0 + } + ], + "uuid": "fca52224-a73b-4ae1-4808-d80fb10b5eba", + "time": 12.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Umika/models/ex_skill_1.bbmodel b/config/yosbr/config/figura/avatars/Umika/models/ex_skill_1.bbmodel new file mode 100644 index 0000000..0b606ce --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/models/ex_skill_1.bbmodel @@ -0,0 +1,46998 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "ex_skill_1", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 256, + "height": 256 + }, + "elements": [ + { + "name": "TableBase1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -23, + 0, + 0 + ], + "to": [ + 23, + 13, + 14 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 3, + 46, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 46, + 3, + 60, + 16 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 3, + 46, + 16 + ], + "texture": 0 + }, + "west": { + "uv": [ + 46, + 3, + 60, + 16 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "fe0c24a6-94f9-6b9a-03e9-97a6e1f5c262" + }, + { + "name": "TableBase2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -24, + 13, + -1 + ], + "to": [ + 24, + 16, + 15 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 48, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 0, + 64, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 48, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 0, + 64, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "39e1b380-7389-769c-9849-4104a42835e5" + }, + { + "name": "StallPillaerLeftFront", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -23.49, + 16, + -0.5 + ], + "to": [ + -21.49, + 56, + 1.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "180c56aa-ed84-7d62-4d77-e5cec7ae0920" + }, + { + "name": "StallPillaerRightFront", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 21.49, + 16, + -0.5 + ], + "to": [ + 23.49, + 56, + 1.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e5294d1f-65f2-88e5-df1f-2df03b609410" + }, + { + "name": "StallRoofFront", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -23.5, + 44, + -1.5 + ], + "to": [ + 23.5, + 56, + -0.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 5, + 0, + 0 + ], + "origin": [ + 0, + 56, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 16, + 94, + 40 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 16, + 1, + 40 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 16, + 94, + 40 + ], + "texture": 0 + }, + "west": { + "uv": [ + 93, + 16, + 94, + 40 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 16, + 47, + 17 + ], + "texture": 0 + }, + "down": { + "uv": [ + 94, + 39, + 0, + 40 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f7de42ad-3cad-37e8-299a-5c65ce5cb87c" + }, + { + "name": "StallRoofLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -24.5, + 44, + -0.5 + ], + "to": [ + -23.5, + 56, + 46.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 10, + 0, + 0 + ], + "origin": [ + -24, + 56, + 0.5 + ], + "faces": { + "north": { + "uv": [ + 93, + 16, + 94, + 40 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 16, + 94, + 40 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 16, + 1, + 40 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 16, + 94, + 40 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 16, + 47, + 17 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 39, + 0, + 40 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "a2ec24aa-593b-12a7-ad89-ecb311bc1ab1" + }, + { + "name": "StallRoofRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 23.5, + 44, + -0.5 + ], + "to": [ + 24.5, + 56, + 46.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 10, + 0, + 0 + ], + "origin": [ + 24, + 56, + 0.5 + ], + "faces": { + "north": { + "uv": [ + 93, + 16, + 94, + 40 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 16, + 94, + 40 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 16, + 1, + 40 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 16, + 94, + 40 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 16, + 47, + 17 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 39, + 0, + 40 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "60ed1f7b-3156-c380-0eea-7172050b5720" + }, + { + "name": "StallRoofTop", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -23.5, + 56, + -0.5 + ], + "to": [ + 23.5, + 57, + 46.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 10, + 0, + 0 + ], + "origin": [ + 0, + 56, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 1, + 17, + 2, + 18 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 17, + 2, + 18 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 17, + 2, + 18 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 17, + 2, + 18 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 17, + 2, + 18 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 17, + 2, + 18 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "cbc0711e-3aaa-315f-aaca-2f2f680ab9df" + }, + { + "name": "StallPillaerLeftMiddle", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -23.49, + 16, + 12.5 + ], + "to": [ + -21.49, + 54, + 14.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "a844a871-f0c9-cd55-dc83-29a76ff1baa9" + }, + { + "name": "StallPillaerRightMiddle", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 21.49, + 16, + 12.5 + ], + "to": [ + 23.49, + 54, + 14.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "28acc56e-c4e6-9085-7e03-0ecd21955299" + }, + { + "name": "StallPillaerLeftBack", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -23.49, + 0, + 43.5 + ], + "to": [ + -21.49, + 48.5, + 45.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "efb27830-e763-12bd-76b5-cd238669f640" + }, + { + "name": "StallPillaerRightBack", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 21.49, + 0, + 43.5 + ], + "to": [ + 23.49, + 48.5, + 45.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "3fa07526-b3c9-93c4-3a9a-c67f3544fd05" + }, + { + "name": "StallRoofBack", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -23.5, + 0, + 45.5 + ], + "to": [ + 23.5, + 48, + 46.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 56, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 60, + 3, + 67, + 7 + ], + "texture": 0 + }, + "east": { + "uv": [ + 60, + 3, + 61, + 7 + ], + "texture": 0 + }, + "south": { + "uv": [ + 60, + 3, + 67, + 7 + ], + "texture": 0 + }, + "west": { + "uv": [ + 66, + 3, + 67, + 7 + ], + "texture": 0 + }, + "up": { + "uv": [ + 60, + 3, + 67, + 4 + ], + "texture": 0 + }, + "down": { + "uv": [ + 60, + 6, + 67, + 7 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b757d003-645f-e7fb-27eb-69829ee1c655" + }, + { + "name": "StallBeamFront", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -21.5, + 54, + -0.5 + ], + "to": [ + 21.5, + 56, + 1.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "1a01d014-95dc-1969-6268-e803cfa999c7" + }, + { + "name": "StallBeamBack", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -21.5, + 46.5, + 43.5 + ], + "to": [ + 21.5, + 48.5, + 45.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a377261f-8bff-786e-e30e-b6d0bfb087ac" + }, + { + "name": "StallBeamRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 21.49, + 54, + 1.5 + ], + "to": [ + 23.49, + 56, + 44.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 10, + 0, + 0 + ], + "origin": [ + 22.5, + 56, + 1.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "bf597bac-32ea-5b4f-7203-2dbb34cc198c" + }, + { + "name": "StallBeamLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -23.49, + 54, + 1.5 + ], + "to": [ + -21.49, + 56, + 44.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 10, + 0, + 0 + ], + "origin": [ + -22.5, + 56, + 1.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "3b163d30-d3a7-0719-812d-b2e12984ffcf" + }, + { + "name": "MenuLabel1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + 3, + -1 + ], + "to": [ + 12, + 15, + -1 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 10, + 15, + -1 + ], + "faces": { + "north": { + "uv": [ + 0, + 16, + 1, + 17 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 16, + 1, + 17 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "fbc44191-2880-d70b-9169-7ffe32934d6c" + }, + { + "name": "MenuLabel2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2, + 3, + -1 + ], + "to": [ + 6, + 15, + -1 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 4, + 15, + -1 + ], + "faces": { + "north": { + "uv": [ + 0, + 16, + 1, + 17 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 16, + 1, + 17 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "fbf2e3ac-d5d0-9dac-3008-6c2b3cbce971" + }, + { + "name": "MenuSign", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -26, + 33, + -1.5 + ], + "to": [ + -12, + 43, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -19, + 38, + -1.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 40, + 28, + 60 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a4ca208e-7510-46a3-9e30-8ada37b51163" + }, + { + "name": "FlavorsTable1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -19.5, + 16, + -0.5 + ], + "to": [ + 0.5, + 17, + 6 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 64, + 0, + 65, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 0, + 65, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 64, + 0, + 65, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 64, + 0, + 65, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 64, + 0, + 65, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "82d2acba-4c54-1d39-eb71-3d7ad5bbd9a6" + }, + { + "name": "FlavorsTable2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -19.5, + 17, + 1 + ], + "to": [ + 0.5, + 18, + 6 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 64, + 0, + 65, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 0, + 65, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 64, + 0, + 65, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 64, + 0, + 65, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 64, + 0, + 65, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "84544375-f7dc-f7ab-e335-f09d61a0a050" + }, + { + "name": "FlavorsTable3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -19.5, + 18, + 2.5 + ], + "to": [ + 0.5, + 19, + 6 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 64, + 0, + 65, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 0, + 65, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 64, + 0, + 65, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 64, + 0, + 65, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 64, + 0, + 65, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "25049f51-7f95-4a9a-9ba7-41c28ab73895" + }, + { + "name": "FlavorsTable4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -19.5, + 19, + 4 + ], + "to": [ + 0.5, + 20, + 6 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 64, + 0, + 65, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 0, + 65, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 64, + 0, + 65, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 64, + 0, + 65, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 64, + 0, + 65, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "716e14b3-8b71-5346-b832-4057a6f6ab00" + }, + { + "name": "TakoyakiPlate1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20.5, + 16, + 6.75 + ], + "to": [ + -11, + 20, + 14.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 60, + 7, + 61, + 12 + ], + "texture": 0 + }, + "east": { + "uv": [ + 60, + 7, + 61, + 12 + ], + "texture": 0 + }, + "south": { + "uv": [ + 60, + 7, + 61, + 12 + ], + "texture": 0 + }, + "west": { + "uv": [ + 60, + 7, + 61, + 12 + ], + "texture": 0 + }, + "up": { + "uv": [ + 60, + 7, + 61, + 8 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5ff7c7c4-4e0f-e558-e64f-526c49b4205a" + }, + { + "name": "TakoyakiPlate2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -10.5, + 16, + 6.75 + ], + "to": [ + -1, + 20, + 14.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -13, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 60, + 7, + 61, + 12 + ], + "texture": 0 + }, + "east": { + "uv": [ + 60, + 7, + 61, + 12 + ], + "texture": 0 + }, + "south": { + "uv": [ + 60, + 7, + 61, + 12 + ], + "texture": 0 + }, + "west": { + "uv": [ + 60, + 7, + 61, + 12 + ], + "texture": 0 + }, + "up": { + "uv": [ + 67, + 0.25, + 86, + 15.75 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ed2947dd-8289-67bb-0d7a-330331f00ec1" + }, + { + "name": "TakoyakiPlate3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 16, + 6.75 + ], + "to": [ + 9, + 20, + 14.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 60, + 7, + 61, + 12 + ], + "texture": 0 + }, + "east": { + "uv": [ + 60, + 7, + 61, + 12 + ], + "texture": 0 + }, + "south": { + "uv": [ + 60, + 7, + 61, + 12 + ], + "texture": 0 + }, + "west": { + "uv": [ + 60, + 7, + 61, + 12 + ], + "texture": 0 + }, + "up": { + "uv": [ + 60, + 7, + 61, + 8 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "522c5137-afba-f25d-5678-1f1b2f56822c" + }, + { + "name": "Takoyaki1_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20, + 20, + 7.25 + ], + "to": [ + -18.5, + 20.75, + 8.75 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -90, + 0 + ], + "origin": [ + -19.25, + 20.375, + 8 + ], + "faces": { + "north": { + "uv": [ + 64, + 7, + 61, + 8.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 7, + 62.5, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 61, + 10, + 64, + 8.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 61, + 10, + 62.5, + 7 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 61, + 7, + 64, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "5f6bfea9-951b-728b-4ff3-47d94a802e6d" + }, + { + "name": "Takoyaki1_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -18.25, + 20, + 7.25 + ], + "to": [ + -16.75, + 20.75, + 8.75 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -180, + 0 + ], + "origin": [ + -17.5, + 20.375, + 8 + ], + "faces": { + "north": { + "uv": [ + 64, + 7, + 61, + 8.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 7, + 62.5, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 61, + 10, + 64, + 8.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 61, + 10, + 62.5, + 7 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 61, + 7, + 64, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "316a2137-e3c9-0eec-3453-6eb9632cb524" + }, + { + "name": "Takoyaki1_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16.5, + 20, + 7.25 + ], + "to": [ + -15, + 20.75, + 8.75 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -90, + 0 + ], + "origin": [ + -15.75, + 20.375, + 8 + ], + "faces": { + "north": { + "uv": [ + 64, + 7, + 61, + 8.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 7, + 62.5, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 61, + 10, + 64, + 8.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 61, + 10, + 62.5, + 7 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 61, + 7, + 64, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "51d99f8f-35c1-d03f-78cc-26c4ca564278" + }, + { + "name": "Takoyaki1_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -14.75, + 20, + 7.25 + ], + "to": [ + -13.25, + 20.75, + 8.75 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -90, + 0 + ], + "origin": [ + -14, + 20.375, + 8 + ], + "faces": { + "north": { + "uv": [ + 64, + 7, + 61, + 8.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 7, + 62.5, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 61, + 10, + 64, + 8.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 61, + 10, + 62.5, + 7 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 61, + 7, + 64, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "bee123d9-01ae-385c-dbbb-40ab0c7775a8" + }, + { + "name": "Takoyaki1_5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -13, + 20, + 7.25 + ], + "to": [ + -11.5, + 20.75, + 8.75 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -180, + 0 + ], + "origin": [ + -12.25, + 20.375, + 8 + ], + "faces": { + "north": { + "uv": [ + 64, + 7, + 61, + 8.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 7, + 62.5, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 61, + 10, + 64, + 8.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 61, + 10, + 62.5, + 7 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 61, + 7, + 64, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "26b4a80a-1a5e-4660-b52a-2e9b47f1fea5" + }, + { + "name": "Takoyaki1_6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20, + 20, + 9 + ], + "to": [ + -18.5, + 20.75, + 10.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -19.25, + 20.375, + 9.75 + ], + "faces": { + "north": { + "uv": [ + 64, + 7, + 61, + 8.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 7, + 62.5, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 61, + 10, + 64, + 8.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 61, + 10, + 62.5, + 7 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 61, + 7, + 64, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "2187751f-0c06-b71b-a03c-f48ed3cd4010" + }, + { + "name": "Takoyaki1_7", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -18.25, + 20, + 9 + ], + "to": [ + -16.75, + 20.75, + 10.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -180, + 0 + ], + "origin": [ + -17.5, + 20.375, + 9.75 + ], + "faces": { + "north": { + "uv": [ + 64, + 7, + 61, + 8.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 7, + 62.5, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 61, + 10, + 64, + 8.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 61, + 10, + 62.5, + 7 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 61, + 7, + 64, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "139e16f6-716c-b6bb-a752-5245aa0e440d" + }, + { + "name": "Takoyaki1_8", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16.5, + 20, + 9 + ], + "to": [ + -15, + 20.75, + 10.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -15.75, + 20.375, + 9.75 + ], + "faces": { + "north": { + "uv": [ + 64, + 7, + 61, + 8.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 7, + 62.5, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 61, + 10, + 64, + 8.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 61, + 10, + 62.5, + 7 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 61, + 7, + 64, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "28adfc85-6d18-ccd5-b7ad-f54944321ab8" + }, + { + "name": "Takoyaki1_9", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -14.75, + 20, + 9 + ], + "to": [ + -13.25, + 20.75, + 10.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -180, + 0 + ], + "origin": [ + -14, + 20.375, + 9.75 + ], + "faces": { + "north": { + "uv": [ + 64, + 7, + 61, + 8.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 7, + 62.5, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 61, + 10, + 64, + 8.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 61, + 10, + 62.5, + 7 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 61, + 7, + 64, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "1fc197d5-c6ce-856d-efcb-3e7380fb3951" + }, + { + "name": "Takoyaki1_10", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -13, + 20, + 9 + ], + "to": [ + -11.5, + 20.75, + 10.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -12.25, + 20.375, + 9.75 + ], + "faces": { + "north": { + "uv": [ + 64, + 7, + 61, + 8.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 7, + 62.5, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 61, + 10, + 64, + 8.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 61, + 10, + 62.5, + 7 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 61, + 7, + 64, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "90b11f1f-ae5a-12b1-d3e6-d5360d20e63b" + }, + { + "name": "Takoyaki1_11", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20, + 20, + 10.75 + ], + "to": [ + -18.5, + 20.75, + 12.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + -19.25, + 20.375, + 11.5 + ], + "faces": { + "north": { + "uv": [ + 64, + 7, + 61, + 8.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 7, + 62.5, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 61, + 10, + 64, + 8.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 61, + 10, + 62.5, + 7 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 61, + 7, + 64, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "2bf1b402-9165-5c63-ddb1-408f145a3f98" + }, + { + "name": "Takoyaki1_12", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -18.25, + 20, + 10.75 + ], + "to": [ + -16.75, + 20.75, + 12.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -180, + 0 + ], + "origin": [ + -17.5, + 20.375, + 11.5 + ], + "faces": { + "north": { + "uv": [ + 64, + 7, + 61, + 8.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 7, + 62.5, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 61, + 10, + 64, + 8.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 61, + 10, + 62.5, + 7 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 61, + 7, + 64, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d73ef6f5-3f39-663c-a819-295f06ae215a" + }, + { + "name": "Takoyaki1_13", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16.5, + 20, + 10.75 + ], + "to": [ + -15, + 20.75, + 12.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -90, + 0 + ], + "origin": [ + -15.75, + 20.375, + 11.5 + ], + "faces": { + "north": { + "uv": [ + 64, + 7, + 61, + 8.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 7, + 62.5, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 61, + 10, + 64, + 8.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 61, + 10, + 62.5, + 7 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 61, + 7, + 64, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6858a78b-8ace-2e27-a2f1-ae7d96a349b8" + }, + { + "name": "Takoyaki1_14", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -14.75, + 20, + 10.75 + ], + "to": [ + -13.25, + 20.75, + 12.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + -14, + 20.375, + 11.5 + ], + "faces": { + "north": { + "uv": [ + 64, + 7, + 61, + 8.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 7, + 62.5, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 61, + 10, + 64, + 8.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 61, + 10, + 62.5, + 7 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 61, + 7, + 64, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e67cd094-82e3-564e-cbdc-31087256bf9f" + }, + { + "name": "Takoyaki1_15", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -13, + 20, + 10.75 + ], + "to": [ + -11.5, + 20.75, + 12.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + -12.25, + 20.375, + 11.5 + ], + "faces": { + "north": { + "uv": [ + 64, + 7, + 61, + 8.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 7, + 62.5, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 61, + 10, + 64, + 8.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 61, + 10, + 62.5, + 7 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 61, + 7, + 64, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "df452227-70ab-f397-9c78-7fe93d751048" + }, + { + "name": "Takoyaki1_16", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20, + 20, + 12.5 + ], + "to": [ + -18.5, + 20.75, + 14 + ], + "autouv": 0, + "color": 0, + "origin": [ + -19.25, + 20.375, + 13.25 + ], + "faces": { + "north": { + "uv": [ + 64, + 7, + 61, + 8.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 7, + 62.5, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 61, + 10, + 64, + 8.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 61, + 10, + 62.5, + 7 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 61, + 7, + 64, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8989d4eb-702a-37a5-399a-3648a5bafb0b" + }, + { + "name": "Takoyaki1_17", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -18.25, + 20, + 12.5 + ], + "to": [ + -16.75, + 20.75, + 14 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -90, + 0 + ], + "origin": [ + -17.5, + 20.375, + 13.25 + ], + "faces": { + "north": { + "uv": [ + 64, + 7, + 61, + 8.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 7, + 62.5, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 61, + 10, + 64, + 8.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 61, + 10, + 62.5, + 7 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 61, + 7, + 64, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "991734c8-aed2-400a-da08-254ec93fba9f" + }, + { + "name": "Takoyaki1_18", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16.5, + 20, + 12.5 + ], + "to": [ + -15, + 20.75, + 14 + ], + "autouv": 0, + "color": 0, + "origin": [ + -15.75, + 20.375, + 13.25 + ], + "faces": { + "north": { + "uv": [ + 64, + 7, + 61, + 8.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 7, + 62.5, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 61, + 10, + 64, + 8.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 61, + 10, + 62.5, + 7 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 61, + 7, + 64, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "50173185-f0b0-5717-7df7-c245fd027854" + }, + { + "name": "Takoyaki1_19", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -14.75, + 20, + 12.5 + ], + "to": [ + -13.25, + 20.75, + 14 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 90, + 0 + ], + "origin": [ + -14, + 20.375, + 13.25 + ], + "faces": { + "north": { + "uv": [ + 64, + 7, + 61, + 8.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 7, + 62.5, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 61, + 10, + 64, + 8.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 61, + 10, + 62.5, + 7 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 61, + 7, + 64, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "4af9bc6e-1cfe-16f9-8ab7-1450a2bb84d7" + }, + { + "name": "Takoyaki1_20", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -13, + 20, + 12.5 + ], + "to": [ + -11.5, + 20.75, + 14 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 90, + 0 + ], + "origin": [ + -12.25, + 20.375, + 13.25 + ], + "faces": { + "north": { + "uv": [ + 64, + 7, + 61, + 8.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 7, + 62.5, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 61, + 10, + 64, + 8.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 61, + 10, + 62.5, + 7 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 61, + 7, + 64, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "c53dda32-2fe5-a801-fbc6-7ce80866a83c" + }, + { + "name": "Takoyaki3_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 20, + 7.25 + ], + "to": [ + 1.5, + 20.75, + 8.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.75, + 20.375, + 8 + ], + "faces": { + "north": { + "uv": [ + 64, + 7, + 61, + 8.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 7, + 62.5, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 61, + 10, + 64, + 8.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 61, + 10, + 62.5, + 7 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 61, + 7, + 64, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "22e31f97-9a16-153e-ac43-37ed6f16a4a0" + }, + { + "name": "Takoyaki3_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 20, + 9 + ], + "to": [ + 1.5, + 20.75, + 10.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 90, + 0 + ], + "origin": [ + 0.75, + 20.375, + 9.75 + ], + "faces": { + "north": { + "uv": [ + 64, + 7, + 61, + 8.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 7, + 62.5, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 61, + 10, + 64, + 8.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 61, + 10, + 62.5, + 7 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 61, + 7, + 64, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "20de28cc-8917-a693-48a2-b6bbb2a8fb33" + }, + { + "name": "Takoyaki3_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 20, + 10.75 + ], + "to": [ + 1.5, + 20.75, + 12.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -180, + 0 + ], + "origin": [ + 0.75, + 20.375, + 11.5 + ], + "faces": { + "north": { + "uv": [ + 64, + 7, + 61, + 8.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 7, + 62.5, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 61, + 10, + 64, + 8.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 61, + 10, + 62.5, + 7 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 61, + 7, + 64, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "76dd6743-2c73-43ed-ead5-1dc18038dbfe" + }, + { + "name": "Takoyaki3_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 20, + 12.5 + ], + "to": [ + 1.5, + 20.75, + 14 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -180, + 0 + ], + "origin": [ + 0.75, + 20.375, + 13.25 + ], + "faces": { + "north": { + "uv": [ + 64, + 7, + 61, + 8.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 7, + 62.5, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 61, + 10, + 64, + 8.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 61, + 10, + 62.5, + 7 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 61, + 7, + 64, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b821cdfe-cdcd-bfd6-14a0-45e68a895114" + }, + { + "name": "Takoyaki3_5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1.75, + 20, + 7.25 + ], + "to": [ + 3.25, + 20.75, + 8.75 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -90, + 0 + ], + "origin": [ + 2.5, + 20.375, + 8 + ], + "faces": { + "north": { + "uv": [ + 64, + 7, + 61, + 8.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 7, + 62.5, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 61, + 10, + 64, + 8.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 61, + 10, + 62.5, + 7 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 61, + 7, + 64, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "cd1d9499-0cc9-0e80-0113-e050e0df5f08" + }, + { + "name": "Takoyaki3_6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1.75, + 20, + 9 + ], + "to": [ + 3.25, + 20.75, + 10.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -90, + 0 + ], + "origin": [ + 2.5, + 20.375, + 9.75 + ], + "faces": { + "north": { + "uv": [ + 64, + 7, + 61, + 8.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 7, + 62.5, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 61, + 10, + 64, + 8.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 61, + 10, + 62.5, + 7 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 61, + 7, + 64, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "808628dc-1cf8-f0c7-20f7-a0217836d779" + }, + { + "name": "Takoyaki3_7", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1.75, + 20, + 10.75 + ], + "to": [ + 3.25, + 20.75, + 12.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 90, + 0 + ], + "origin": [ + 2.5, + 20.375, + 11.5 + ], + "faces": { + "north": { + "uv": [ + 67, + 7, + 64, + 8.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 67, + 7, + 65.5, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 64, + 10, + 67, + 8.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 64, + 10, + 65.5, + 7 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 64, + 7, + 67, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6aea291e-d08c-baf8-bed8-230280dd9430" + }, + { + "name": "Takoyaki3_8", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1.75, + 20, + 12.5 + ], + "to": [ + 3.25, + 20.75, + 14 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -180, + 0 + ], + "origin": [ + 2.5, + 20.375, + 13.25 + ], + "faces": { + "north": { + "uv": [ + 67, + 7, + 64, + 8.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 67, + 7, + 65.5, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 64, + 10, + 67, + 8.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 64, + 10, + 65.5, + 7 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 64, + 7, + 67, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "cc1b9697-cd2c-e019-8167-9175e1875cc9" + }, + { + "name": "Takoyaki3_9", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.5, + 20, + 7.25 + ], + "to": [ + 5, + 20.75, + 8.75 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -90, + 0 + ], + "origin": [ + 4.25, + 20.375, + 8 + ], + "faces": { + "north": { + "uv": [ + 67, + 7, + 64, + 8.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 67, + 7, + 65.5, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 64, + 10, + 67, + 8.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 64, + 10, + 65.5, + 7 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 64, + 7, + 67, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f89c72c9-6f83-b246-0bba-01530e27e0e2" + }, + { + "name": "Takoyaki3_10", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.5, + 20, + 9 + ], + "to": [ + 5, + 20.75, + 10.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -180, + 0 + ], + "origin": [ + 4.25, + 20.375, + 9.75 + ], + "faces": { + "north": { + "uv": [ + 67, + 7, + 64, + 8.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 67, + 7, + 65.5, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 64, + 10, + 67, + 8.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 64, + 10, + 65.5, + 7 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 64, + 7, + 67, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "622ed5b5-36f2-e6eb-0e77-dc261794cf9d" + }, + { + "name": "Takoyaki3_11", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.5, + 20, + 10.75 + ], + "to": [ + 5, + 20.75, + 12.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -90, + 0 + ], + "origin": [ + 4.25, + 20.375, + 11.5 + ], + "faces": { + "north": { + "uv": [ + 67, + 7, + 64, + 8.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 67, + 7, + 65.5, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 64, + 10, + 67, + 8.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 64, + 10, + 65.5, + 7 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 64, + 7, + 67, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "4c6120aa-20c2-26d2-9a18-c2e498ed11bb" + }, + { + "name": "Takoyaki3_12", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.5, + 20, + 12.5 + ], + "to": [ + 5, + 20.75, + 14 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4.25, + 20.375, + 13.25 + ], + "faces": { + "north": { + "uv": [ + 67, + 7, + 64, + 8.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 67, + 7, + 65.5, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 64, + 10, + 67, + 8.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 64, + 10, + 65.5, + 7 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 64, + 7, + 67, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "59c41074-acc2-01e7-9717-3e9e444949f4" + }, + { + "name": "Takoyaki3_13", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 5.25, + 20, + 7.25 + ], + "to": [ + 6.75, + 20.75, + 8.75 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -180, + 0 + ], + "origin": [ + 6, + 20.375, + 8 + ], + "faces": { + "north": { + "uv": [ + 67, + 7, + 64, + 8.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 67, + 7, + 65.5, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 64, + 10, + 67, + 8.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 64, + 10, + 65.5, + 7 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 64, + 7, + 67, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "2f46af46-2332-3da4-e668-5d9d31128232" + }, + { + "name": "Takoyaki3_14", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 5.25, + 20, + 9 + ], + "to": [ + 6.75, + 20.75, + 10.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 6, + 20.375, + 9.75 + ], + "faces": { + "north": { + "uv": [ + 67, + 7, + 64, + 8.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 67, + 7, + 65.5, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 64, + 10, + 67, + 8.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 64, + 10, + 65.5, + 7 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 64, + 7, + 67, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "10cce160-656d-5c02-6a6b-12e7629603cd" + }, + { + "name": "Takoyaki3_15", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 5.25, + 20, + 10.75 + ], + "to": [ + 6.75, + 20.75, + 12.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -180, + 0 + ], + "origin": [ + 6, + 20.375, + 11.5 + ], + "faces": { + "north": { + "uv": [ + 67, + 7, + 64, + 8.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 67, + 7, + 65.5, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 64, + 10, + 67, + 8.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 64, + 10, + 65.5, + 7 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 64, + 7, + 67, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8cafd626-bcad-8c1c-7e5a-99ee0c8ef7c3" + }, + { + "name": "Takoyaki3_16", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 5.25, + 20, + 12.5 + ], + "to": [ + 6.75, + 20.75, + 14 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 90, + 0 + ], + "origin": [ + 6, + 20.375, + 13.25 + ], + "faces": { + "north": { + "uv": [ + 67, + 7, + 64, + 8.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 67, + 7, + 65.5, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 64, + 10, + 67, + 8.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 64, + 10, + 65.5, + 7 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 64, + 7, + 67, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "3a1e8801-262f-1cac-a665-54dc80ea6e99" + }, + { + "name": "Takoyaki3_17", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 7, + 20, + 7.25 + ], + "to": [ + 8.5, + 20.75, + 8.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + 7.75, + 20.375, + 8 + ], + "faces": { + "north": { + "uv": [ + 67, + 7, + 64, + 8.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 67, + 7, + 65.5, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 64, + 10, + 67, + 8.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 64, + 10, + 65.5, + 7 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 64, + 7, + 67, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "0556497b-9886-1736-21fb-05897e68c173" + }, + { + "name": "Takoyaki3_18", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 7, + 20, + 9 + ], + "to": [ + 8.5, + 20.75, + 10.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 7.75, + 20.375, + 9.75 + ], + "faces": { + "north": { + "uv": [ + 67, + 7, + 64, + 8.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 67, + 7, + 65.5, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 64, + 10, + 67, + 8.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 64, + 10, + 65.5, + 7 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 64, + 7, + 67, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d72c835c-8a77-9932-ac5d-e47ef68d1e0b" + }, + { + "name": "Takoyaki3_19", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 7, + 20, + 10.75 + ], + "to": [ + 8.5, + 20.75, + 12.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 7.75, + 20.375, + 11.5 + ], + "faces": { + "north": { + "uv": [ + 67, + 7, + 64, + 8.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 67, + 7, + 65.5, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 64, + 10, + 67, + 8.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 64, + 10, + 65.5, + 7 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 64, + 7, + 67, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "43968ed8-6c57-ef64-41f1-3885bf0372b0" + }, + { + "name": "Takoyaki3_20", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 7, + 20, + 12.5 + ], + "to": [ + 8.5, + 20.75, + 14 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 90, + 0 + ], + "origin": [ + 7.75, + 20.375, + 13.25 + ], + "faces": { + "north": { + "uv": [ + 67, + 7, + 64, + 8.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 67, + 7, + 65.5, + 10 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 64, + 10, + 67, + 8.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 64, + 10, + 65.5, + 7 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 64, + 7, + 67, + 10 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ec13d397-ba35-7e4e-b48e-6b21edbd7fcc" + }, + { + "name": "Flavor1Container1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 20, + -1 + ], + "to": [ + 0, + 21, + 5.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + -4.5, + 20, + 5.75 + ], + "faces": { + "north": { + "uv": [ + 64, + 2, + 65, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 2, + 65, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 64, + 2, + 65, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 64, + 2, + 65, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "2fda5d16-defe-b3eb-74d5-5204fc05543e" + }, + { + "name": "Flavor1Container2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 21, + -1 + ], + "to": [ + 0, + 23, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -4.5, + 20, + 5.75 + ], + "faces": { + "north": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "039ece8f-5f0a-01b6-6033-823c82493a84" + }, + { + "name": "Flavor1Container3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 21, + 5.25 + ], + "to": [ + 0, + 23, + 5.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + -4.5, + 20, + 5.75 + ], + "faces": { + "north": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f6801059-d805-ade5-4984-f87a946a93ab" + }, + { + "name": "Flavor1Container4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 21, + -0.5 + ], + "to": [ + -3.5, + 23, + 5.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + -4.5, + 20, + 5.75 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "35036b79-8e26-8e09-5185-ffe914dada61" + }, + { + "name": "Flavor1Container5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 21, + -0.5 + ], + "to": [ + 0, + 23, + 5.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + -4.5, + 20, + 5.75 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "1509477d-8dd1-b771-8f06-95b545a8ff62" + }, + { + "name": "Flavor1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.5, + 22, + -0.5 + ], + "to": [ + -0.5, + 22, + 5.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + -2, + 20, + 5.775 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 28, + 40.25, + 34, + 51.75 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "17dde3fb-1c8e-4b26-9ba5-5a628ea94137" + }, + { + "name": "Flavor2Container1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8.25, + 20, + -1 + ], + "to": [ + -4.25, + 21, + 5.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + -8.75, + 20, + 5.75 + ], + "faces": { + "north": { + "uv": [ + 64, + 2, + 65, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 2, + 65, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 64, + 2, + 65, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 64, + 2, + 65, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f07e05c2-ef25-20b7-6a13-abf381999ae7" + }, + { + "name": "Flavor2Container2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8.25, + 21, + -1 + ], + "to": [ + -4.25, + 23, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -8.75, + 20, + 5.75 + ], + "faces": { + "north": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "83099f89-349b-d0ba-692a-0f2cf5ca7dcb" + }, + { + "name": "Flavor2Container3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8.25, + 21, + 5.25 + ], + "to": [ + -4.25, + 23, + 5.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + -8.75, + 20, + 5.75 + ], + "faces": { + "north": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "0e7c11f9-9c43-d2de-d5e9-1d657ad95b83" + }, + { + "name": "Flavor2Container4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8.25, + 21, + -0.5 + ], + "to": [ + -7.75, + 23, + 5.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + -8.75, + 20, + 5.75 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "c250a240-031e-cc2b-3332-e6a85e9b670e" + }, + { + "name": "Flavor2Container5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.75, + 21, + -0.5 + ], + "to": [ + -4.25, + 23, + 5.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + -8.75, + 20, + 5.75 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "03b654ce-bdca-31a5-ccc6-f93b64ba3aff" + }, + { + "name": "Flavor2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7.75, + 22, + -0.5 + ], + "to": [ + -4.75, + 22, + 5.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + -6.25, + 20, + 5.775 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 34, + 40.25, + 40, + 51.75 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "62973564-8f79-d6a3-c6fe-40f82fb1f577" + }, + { + "name": "Flavor3Container1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -12.5, + 20, + -1 + ], + "to": [ + -8.5, + 21, + 5.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + -13, + 20, + 5.75 + ], + "faces": { + "north": { + "uv": [ + 64, + 2, + 65, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 2, + 65, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 64, + 2, + 65, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 64, + 2, + 65, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "94b85e45-6670-3c82-130e-88c58d24f624" + }, + { + "name": "Flavor3Container2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -12.5, + 21, + -1 + ], + "to": [ + -8.5, + 23, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -13, + 20, + 5.75 + ], + "faces": { + "north": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "46ddb586-20df-4a44-fa3a-6355f5ad3f62" + }, + { + "name": "Flavor3Container3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -12.5, + 21, + 5.25 + ], + "to": [ + -8.5, + 23, + 5.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + -13, + 20, + 5.75 + ], + "faces": { + "north": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "bf7e580f-7f22-9f6b-2a3b-9deeb69483bb" + }, + { + "name": "Flavor3Container4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -12.5, + 21, + -0.5 + ], + "to": [ + -12, + 23, + 5.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + -13, + 20, + 5.75 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "1b0a3bea-066b-cfcf-3fcf-0a3246643a77" + }, + { + "name": "Flavor3Container5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -9, + 21, + -0.5 + ], + "to": [ + -8.5, + 23, + 5.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + -13, + 20, + 5.75 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8ef5052b-17a7-a117-622e-56220551c65e" + }, + { + "name": "Flavor3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -12, + 22, + -0.5 + ], + "to": [ + -9, + 22, + 5.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + -10.5, + 20, + 5.775 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 40, + 40.25, + 46, + 51.75 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "3ec6c346-a858-533f-aaed-4ffc6feabaae" + }, + { + "name": "Flavor4Container1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -18.75, + 20, + -1 + ], + "to": [ + -12.75, + 21, + 5.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + -19.25, + 20, + 5.75 + ], + "faces": { + "north": { + "uv": [ + 64, + 2, + 65, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 2, + 65, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 64, + 2, + 65, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 64, + 2, + 65, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "445b3c93-cac1-46af-6661-cea8febbab26" + }, + { + "name": "Flavor4Container2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -18.75, + 21, + -1 + ], + "to": [ + -12.75, + 23, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -19.25, + 20, + 5.75 + ], + "faces": { + "north": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "a7d0e454-e046-af90-a193-747737fa160f" + }, + { + "name": "Flavor4Container3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -18.75, + 21, + 5.25 + ], + "to": [ + -12.75, + 23, + 5.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + -19.25, + 20, + 5.75 + ], + "faces": { + "north": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6d78a788-02b0-1b64-74c4-75c01abe62d8" + }, + { + "name": "Flavor4Container4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -18.75, + 21, + -0.5 + ], + "to": [ + -18.25, + 23, + 5.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + -19.25, + 20, + 5.75 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e5963562-1002-ab3b-c04f-63f3e8e761f0" + }, + { + "name": "Flavor4Container5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -13.25, + 21, + -0.5 + ], + "to": [ + -12.75, + 23, + 5.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + -19.25, + 20, + 5.75 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6a949d91-b228-da20-7568-414e47e1f47e" + }, + { + "name": "Flavor4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -18.25, + 22, + -0.5 + ], + "to": [ + -13.25, + 22, + 5.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + -16.75, + 20, + 5.775 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 46, + 40.25, + 56, + 51.75 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e3508d8b-3b30-d420-1c39-6695a8927221" + }, + { + "name": "KatsuobushiContainer1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 9.5, + 16, + 9 + ], + "to": [ + 16.5, + 17, + 14.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 64, + 2, + 65, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 2, + 65, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 64, + 2, + 65, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 64, + 2, + 65, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "c9546c91-59fe-f64a-78d9-b573c9acdb54" + }, + { + "name": "KatsuobushiContainer2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 9.5, + 17, + 9 + ], + "to": [ + 16.5, + 19, + 9.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8f43c12c-44d9-7457-4c50-937c311a3e81" + }, + { + "name": "KatsuobushiContainer3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 9.5, + 17, + 14 + ], + "to": [ + 16.5, + 19, + 14.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "00c091e3-8e68-18b9-ecaf-39e355c3e19a" + }, + { + "name": "KatsuobushiContainer4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 9.5, + 17, + 9.5 + ], + "to": [ + 10, + 19, + 14 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "cb0d2d86-f6e1-91f8-7697-e444645681ba" + }, + { + "name": "KatsuobushiContainer5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 16, + 17, + 9.5 + ], + "to": [ + 16.5, + 19, + 14 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 64, + 1, + 65, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "a43a8787-1e2d-c7ed-e2b9-7c67d2257858" + }, + { + "name": "Katsuobushi", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 10, + 18, + 9.5 + ], + "to": [ + 16, + 18, + 14 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 56, + 40, + 68, + 49 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f12fb284-28a3-a589-50dd-d53a65291336" + }, + { + "name": "SticksContainer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 17.5, + 16, + 10.5 + ], + "to": [ + 20.5, + 19, + 13.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 65, + 0, + 66, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 65, + 0, + 66, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 65, + 0, + 66, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 65, + 0, + 66, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 65, + 0, + 66, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "2b8b1463-df73-1278-e14e-f4cd0ebd9e40" + }, + { + "name": "Sticks", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 18, + 19, + 11 + ], + "to": [ + 20, + 20, + 13 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 61, + 10, + 66, + 11 + ], + "texture": 0 + }, + "east": { + "uv": [ + 61, + 10, + 66, + 11 + ], + "texture": 0 + }, + "south": { + "uv": [ + 61, + 10, + 66, + 11 + ], + "texture": 0 + }, + "west": { + "uv": [ + 61, + 10, + 66, + 11 + ], + "texture": 0 + }, + "up": { + "uv": [ + 61, + 10, + 66, + 15 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "cb10abcf-b631-7821-0edf-12e2e719dc51" + }, + { + "name": "TakoyakiPlate1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 9.5, + 16, + 0.5 + ], + "to": [ + 20.5, + 17, + 7.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 64, + 2, + 65, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 2, + 65, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 64, + 2, + 65, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 64, + 2, + 65, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 64, + 2, + 65, + 3 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "3b50b337-d118-0033-4c3d-a04b4a92c236" + }, + { + "name": "TakoyakiPlate2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 9.5, + 17, + 0.5 + ], + "to": [ + 20.5, + 18, + 1 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "802e6120-bb02-e4fb-d9c9-b307ccb1c220" + }, + { + "name": "TakoyakiPlate3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 9.5, + 17, + 7 + ], + "to": [ + 20.5, + 18, + 7.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9101d748-c8d8-f29f-86c9-76e2fa86610d" + }, + { + "name": "TakoyakiPlate4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 9.5, + 17, + 1 + ], + "to": [ + 10, + 18, + 7 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e964b517-7da0-9531-3b1d-eada8f2ec5d4" + }, + { + "name": "TakoyakiPlate5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 20, + 17, + 1 + ], + "to": [ + 20.5, + 18, + 7 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "37acb530-8910-ec53-7863-0675d61bc6fb" + }, + { + "name": "TakoyakiContiner1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11.125, + 17, + 1.875 + ], + "to": [ + 18.875, + 17.25, + 6.125 + ], + "autouv": 0, + "color": 0, + "origin": [ + 11.625, + 17, + 2.375 + ], + "faces": { + "north": { + "uv": [ + 66, + 0, + 67, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 66, + 0, + 67, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 66, + 0, + 67, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 66, + 0, + 67, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 66, + 0, + 67, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "27a3fd72-e17c-52c0-235b-5b5582b690fb" + }, + { + "name": "Takoyaki1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11.625, + 17.25, + 2.375 + ], + "to": [ + 13.125, + 18.75, + 3.875 + ], + "autouv": 0, + "color": 0, + "origin": [ + 12.375, + 18, + 3.125 + ], + "faces": { + "north": { + "uv": [ + 86, + 5, + 91, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 86, + 10, + 91, + 15 + ], + "texture": 0 + }, + "south": { + "uv": [ + 91, + 0, + 96, + 5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 91, + 5, + 96, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 86, + 0, + 91, + 5 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e47ffc1c-62c3-a6bd-b7be-2bab31757fdf" + }, + { + "name": "TakoyakiContiner2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11.125, + 17.25, + 1.875 + ], + "to": [ + 11.375, + 18.5, + 6.125 + ], + "autouv": 0, + "color": 0, + "origin": [ + 11.625, + 17, + 2.375 + ], + "faces": { + "north": { + "uv": [ + 66, + 0, + 67, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 66, + 0, + 67, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 66, + 0, + 67, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 66, + 0, + 67, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 66, + 0, + 67, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e5edc14b-eae5-d571-27ad-e6ac798ad761" + }, + { + "name": "TakoyakiContiner3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 18.625, + 17.25, + 1.875 + ], + "to": [ + 18.875, + 18.5, + 6.125 + ], + "autouv": 0, + "color": 0, + "origin": [ + 11.625, + 17, + 2.375 + ], + "faces": { + "north": { + "uv": [ + 66, + 0, + 67, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 66, + 0, + 67, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 66, + 0, + 67, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 66, + 0, + 67, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 66, + 0, + 67, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d56063ac-5dd1-fca7-5b51-ef180e3091d3" + }, + { + "name": "TakoyakiContiner4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11.375, + 17.25, + 1.875 + ], + "to": [ + 18.625, + 18.5, + 2.125 + ], + "autouv": 0, + "color": 0, + "origin": [ + 11.625, + 17, + 2.375 + ], + "faces": { + "north": { + "uv": [ + 66, + 0, + 67, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 66, + 0, + 67, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 66, + 0, + 67, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "aee96339-d24b-1a42-3fa8-6b855a24d8fc" + }, + { + "name": "TakoyakiContiner5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11.375, + 17.25, + 5.875 + ], + "to": [ + 18.625, + 18.5, + 6.125 + ], + "autouv": 0, + "color": 0, + "origin": [ + 11.625, + 17, + 2.375 + ], + "faces": { + "north": { + "uv": [ + 66, + 0, + 67, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 66, + 0, + 67, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 66, + 0, + 67, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "adc562b7-8ddb-f638-fce0-2888d7c15aaa" + }, + { + "name": "Takoyaki2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11.625, + 17.25, + 4.125 + ], + "to": [ + 13.125, + 18.75, + 5.625 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 90, + 0 + ], + "origin": [ + 12.375, + 18, + 4.875 + ], + "faces": { + "north": { + "uv": [ + 86, + 5, + 91, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 86, + 10, + 91, + 15 + ], + "texture": 0 + }, + "south": { + "uv": [ + 91, + 0, + 96, + 5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 91, + 5, + 96, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 86, + 0, + 91, + 5 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "62b3c3bc-bb03-d75b-0d4d-25f9f8f25e00" + }, + { + "name": "Takoyaki3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 13.375, + 17.25, + 2.375 + ], + "to": [ + 14.875, + 18.75, + 3.875 + ], + "autouv": 0, + "color": 0, + "origin": [ + 14.125, + 18, + 3.125 + ], + "faces": { + "north": { + "uv": [ + 86, + 5, + 91, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 86, + 10, + 91, + 15 + ], + "texture": 0 + }, + "south": { + "uv": [ + 91, + 0, + 96, + 5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 91, + 5, + 96, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 86, + 0, + 91, + 5 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "cb4cf644-e5d6-2e58-7280-089302db13c6" + }, + { + "name": "Takoyaki4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 13.375, + 17.25, + 4.125 + ], + "to": [ + 14.875, + 18.75, + 5.625 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -90, + 0 + ], + "origin": [ + 14.125, + 18, + 4.875 + ], + "faces": { + "north": { + "uv": [ + 86, + 5, + 91, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 86, + 10, + 91, + 15 + ], + "texture": 0 + }, + "south": { + "uv": [ + 91, + 0, + 96, + 5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 91, + 5, + 96, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 86, + 0, + 91, + 5 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "92e3ef9d-afcd-3416-ff2a-7ba932444d3a" + }, + { + "name": "Takoyaki5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 15.125, + 17.25, + 2.375 + ], + "to": [ + 16.625, + 18.75, + 3.875 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 90, + 0 + ], + "origin": [ + 15.875, + 18, + 3.125 + ], + "faces": { + "north": { + "uv": [ + 86, + 5, + 91, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 86, + 10, + 91, + 15 + ], + "texture": 0 + }, + "south": { + "uv": [ + 91, + 0, + 96, + 5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 91, + 5, + 96, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 86, + 0, + 91, + 5 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "a8140ea0-1ded-6f04-9e0a-ce449c8a4561" + }, + { + "name": "Takoyaki6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 15.125, + 17.25, + 4.125 + ], + "to": [ + 16.625, + 18.75, + 5.625 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 90, + 0 + ], + "origin": [ + 15.875, + 18, + 4.875 + ], + "faces": { + "north": { + "uv": [ + 86, + 5, + 91, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 86, + 10, + 91, + 15 + ], + "texture": 0 + }, + "south": { + "uv": [ + 91, + 0, + 96, + 5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 91, + 5, + 96, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 86, + 0, + 91, + 5 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "35a66d4f-7fc4-2751-a7c4-a81a9bf2f6c5" + }, + { + "name": "Takoyaki7", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 16.875, + 17.25, + 2.375 + ], + "to": [ + 18.375, + 18.75, + 3.875 + ], + "autouv": 0, + "color": 0, + "origin": [ + 17.625, + 18, + 3.125 + ], + "faces": { + "north": { + "uv": [ + 86, + 5, + 91, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 86, + 10, + 91, + 15 + ], + "texture": 0 + }, + "south": { + "uv": [ + 91, + 0, + 96, + 5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 91, + 5, + 96, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 86, + 0, + 91, + 5 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f5e1f802-192a-a9c4-4953-beed6a34416b" + }, + { + "name": "Takoyaki8", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 16.875, + 17.25, + 4.125 + ], + "to": [ + 18.375, + 18.75, + 5.625 + ], + "autouv": 0, + "color": 0, + "origin": [ + 17.625, + 18, + 4.875 + ], + "faces": { + "north": { + "uv": [ + 86, + 5, + 91, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 86, + 10, + 91, + 15 + ], + "texture": 0 + }, + "south": { + "uv": [ + 91, + 0, + 96, + 5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 91, + 5, + 96, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 86, + 0, + 91, + 5 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6fa875d7-f68a-af3d-c0cd-1a277e8aba7e" + }, + { + "name": "Takoyaki9", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 12.875, + 18.75, + 3.25 + ], + "to": [ + 14.375, + 20.25, + 4.75 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 90, + 0 + ], + "origin": [ + 13.625, + 19.5, + 4 + ], + "faces": { + "north": { + "uv": [ + 86, + 5, + 91, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 86, + 10, + 91, + 15 + ], + "texture": 0 + }, + "south": { + "uv": [ + 91, + 0, + 96, + 5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 91, + 5, + 96, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 86, + 0, + 91, + 5 + ], + "texture": 0 + }, + "down": { + "uv": [ + 91, + 10, + 96, + 15 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "4bc624bc-0644-a3f1-68b0-9c2f05d12c3b" + }, + { + "name": "Takoyaki10", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 14.625, + 18.75, + 3.25 + ], + "to": [ + 16.125, + 20.25, + 4.75 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -90, + 0 + ], + "origin": [ + 15.375, + 19.5, + 4 + ], + "faces": { + "north": { + "uv": [ + 86, + 5, + 91, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 86, + 10, + 91, + 15 + ], + "texture": 0 + }, + "south": { + "uv": [ + 91, + 0, + 96, + 5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 91, + 5, + 96, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 86, + 0, + 91, + 5 + ], + "texture": 0 + }, + "down": { + "uv": [ + 91, + 10, + 96, + 15 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5ecd816d-240a-3a7d-ef6d-efb95231ecc5" + }, + { + "name": "Stick", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 17.375, + 17.25, + 5.625 + ], + "to": [ + 21.375, + 17.5, + 5.875 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + 45 + ], + "origin": [ + 17.375, + 17.25, + 5.75 + ], + "faces": { + "north": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "east": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "south": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "west": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "up": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "down": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "1c3c0cd8-6805-a90d-f235-4b5b4a150b27" + }, + { + "name": "TakoyakiStallLampLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 14.125, + 42, + 0 + ], + "to": [ + 15.125, + 54, + 1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 14, + 46, + 0.125 + ], + "faces": { + "north": { + "uv": [ + 68, + 43, + 69, + 44 + ], + "texture": 0 + }, + "east": { + "uv": [ + 68, + 43, + 69, + 44 + ], + "texture": 0 + }, + "south": { + "uv": [ + 68, + 43, + 69, + 44 + ], + "texture": 0 + }, + "west": { + "uv": [ + 68, + 43, + 69, + 44 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "41454444-2c8d-a28f-4ac3-a50da6d9f466" + }, + { + "name": "TakoyakiStallLampCover", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 10.625, + 34, + -3.5 + ], + "to": [ + 18.625, + 42, + 4.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 14.625, + 42, + 0 + ], + "faces": { + "north": { + "uv": [ + 68.5, + 40.5, + 76.5, + 48.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 68.5, + 40.5, + 76.5, + 48.5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 68.5, + 40.5, + 76.5, + 48.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 68.5, + 40.5, + 76.5, + 48.5 + ], + "texture": 0 + }, + "up": { + "uv": [ + 68, + 40, + 69, + 41 + ], + "texture": 0 + }, + "down": { + "uv": [ + 77.5, + 40.5, + 85.5, + 48.5 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "0d13a4eb-9b7f-69cb-efdd-83e55537e10d" + }, + { + "name": "TakoyakiStallLamp", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11.625, + 35, + -2.5 + ], + "to": [ + 17.625, + 42, + 3.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 14.625, + 42, + 0 + ], + "faces": { + "north": { + "uv": [ + 86, + 40, + 92, + 47 + ], + "texture": 0 + }, + "east": { + "uv": [ + 86, + 40, + 92, + 47 + ], + "texture": 0 + }, + "south": { + "uv": [ + 86, + 40, + 92, + 47 + ], + "texture": 0 + }, + "west": { + "uv": [ + 86, + 40, + 92, + 47 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 86, + 47, + 92, + 53 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "3257863b-c683-de75-0918-fe640098eccc" + }, + { + "name": "TableBase1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -87, + 0, + 0 + ], + "to": [ + -41, + 13, + 14 + ], + "autouv": 0, + "color": 0, + "origin": [ + -87, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 3, + 46, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 46, + 3, + 60, + 16 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 3, + 46, + 16 + ], + "texture": 0 + }, + "west": { + "uv": [ + 46, + 3, + 60, + 16 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "4da0ec8f-2f9d-e872-8f31-4c8b68038cc8" + }, + { + "name": "TableBase2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -88, + 13, + -1 + ], + "to": [ + -40, + 16, + 15 + ], + "autouv": 0, + "color": 0, + "origin": [ + -87, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 48, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 0, + 64, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 48, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 0, + 64, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8f94613b-52e6-f0f3-c5dc-0c6c11a9f6b1" + }, + { + "name": "StallPillaerLeftFront", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -87.49, + 16, + -0.5 + ], + "to": [ + -85.49, + 56, + 1.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -87, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "76d0f236-a93a-5816-a3c6-ab5c999d86d9" + }, + { + "name": "StallPillaerRightFront", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -42.51, + 16, + -0.5 + ], + "to": [ + -40.51, + 56, + 1.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -87, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "cf08f307-11c5-fb76-a7a8-fed229a3938e" + }, + { + "name": "StallPillaerLeftMiddle", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -87.49, + 16, + 12.5 + ], + "to": [ + -85.49, + 54, + 14.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -87, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "354c2cfc-f02e-8efe-a355-3e5f9fa8e193" + }, + { + "name": "StallPillaerRightMiddle", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -42.51, + 16, + 12.5 + ], + "to": [ + -40.51, + 54, + 14.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -87, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "a6c7f415-0097-4d18-a3b1-f6dd3ee77e5d" + }, + { + "name": "StallPillaerLeftBack", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -87.49, + 0, + 43.5 + ], + "to": [ + -85.49, + 48.5, + 45.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -87, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e29c6c4c-dd0f-d482-c630-1939f29dfe00" + }, + { + "name": "StallPillaerRightBack", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -42.51, + 0, + 43.5 + ], + "to": [ + -40.51, + 48.5, + 45.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -87, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "7ac97c38-4afd-3f2d-86be-afd97a2993ae" + }, + { + "name": "StallBeamFront", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -85.5, + 54, + -0.5 + ], + "to": [ + -42.5, + 56, + 1.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -87, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "abed8af3-d8e6-8609-395a-163fd995b6fb" + }, + { + "name": "StallBeamRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -42.51, + 54, + 1.5 + ], + "to": [ + -40.51, + 56, + 44.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 10, + 0, + 0 + ], + "origin": [ + -41.5, + 56, + 1.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "08e2445c-1347-56a6-b210-bab162f1bb89" + }, + { + "name": "StallBeamLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -87.49, + 54, + 1.5 + ], + "to": [ + -85.49, + 56, + 44.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 10, + 0, + 0 + ], + "origin": [ + -86.5, + 56, + 1.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e9c07d29-b200-ffb2-5f0f-423f15eef3f3" + }, + { + "name": "StallBeamBack", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -85.5, + 46.5, + 43.5 + ], + "to": [ + -42.5, + 48.5, + 45.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -87, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8d10a177-b478-2b86-1443-3a45642c5a92" + }, + { + "name": "IkayakiStallLampLine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -79.875, + 42, + 0 + ], + "to": [ + -78.875, + 54, + 1 + ], + "autouv": 0, + "color": 0, + "origin": [ + -80, + 46, + 0.125 + ], + "faces": { + "north": { + "uv": [ + 68, + 43, + 69, + 44 + ], + "texture": 0 + }, + "east": { + "uv": [ + 68, + 43, + 69, + 44 + ], + "texture": 0 + }, + "south": { + "uv": [ + 68, + 43, + 69, + 44 + ], + "texture": 0 + }, + "west": { + "uv": [ + 68, + 43, + 69, + 44 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e8db0d13-b62d-3500-d307-7a42ec9a2749" + }, + { + "name": "IkayakiStallLampCover", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -83.375, + 34, + -3.5 + ], + "to": [ + -75.375, + 42, + 4.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -79.375, + 42, + 0 + ], + "faces": { + "north": { + "uv": [ + 68.5, + 40.5, + 76.5, + 48.5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 68.5, + 40.5, + 76.5, + 48.5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 68.5, + 40.5, + 76.5, + 48.5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 68.5, + 40.5, + 76.5, + 48.5 + ], + "texture": 0 + }, + "up": { + "uv": [ + 68, + 40, + 69, + 41 + ], + "texture": 0 + }, + "down": { + "uv": [ + 77.5, + 40.5, + 85.5, + 48.5 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "13c6ce6e-67c6-ecbe-e4f0-6dde9a422704" + }, + { + "name": "IkayakiStallLamp", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -82.375, + 35, + -2.5 + ], + "to": [ + -76.375, + 42, + 3.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -79.375, + 42, + 0 + ], + "faces": { + "north": { + "uv": [ + 86, + 40, + 92, + 47 + ], + "texture": 0 + }, + "east": { + "uv": [ + 86, + 40, + 92, + 47 + ], + "texture": 0 + }, + "south": { + "uv": [ + 86, + 40, + 92, + 47 + ], + "texture": 0 + }, + "west": { + "uv": [ + 86, + 40, + 92, + 47 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 86, + 47, + 92, + 53 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "40c5243a-6a37-5671-29fa-e07090be124d" + }, + { + "name": "StallRoofFront", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -87.5, + 44, + -1.5 + ], + "to": [ + -40.5, + 56, + -0.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 5, + 0, + 0 + ], + "origin": [ + -64, + 56, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 60, + 94, + 84 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 60, + 1, + 84 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 60, + 94, + 84 + ], + "texture": 0 + }, + "west": { + "uv": [ + 93, + 60, + 94, + 84 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 60, + 47, + 61 + ], + "texture": 0 + }, + "down": { + "uv": [ + 94, + 83, + 0, + 84 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "50c0715b-7874-6c9f-22f5-dd4f3cc37dbb" + }, + { + "name": "StallRoofBack", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -87.5, + 0, + 45.5 + ], + "to": [ + -40.5, + 48, + 46.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -64, + 56, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 60, + 3, + 67, + 7 + ], + "texture": 0 + }, + "east": { + "uv": [ + 60, + 3, + 61, + 7 + ], + "texture": 0 + }, + "south": { + "uv": [ + 60, + 3, + 67, + 7 + ], + "texture": 0 + }, + "west": { + "uv": [ + 66, + 3, + 67, + 7 + ], + "texture": 0 + }, + "up": { + "uv": [ + 60, + 3, + 67, + 4 + ], + "texture": 0 + }, + "down": { + "uv": [ + 60, + 6, + 67, + 7 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "025bb7db-f4da-8da9-ced1-2ba05ba44fc3" + }, + { + "name": "StallRoofRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -40.5, + 44, + -0.5 + ], + "to": [ + -39.5, + 56, + 46.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 10, + 0, + 0 + ], + "origin": [ + -40, + 56, + 0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 60, + 1, + 84 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 60, + 94, + 84 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 60, + 1, + 84 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 60, + 94, + 84 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 60, + 47, + 61 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 83, + 0, + 84 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "4cb0c6b1-5104-9d94-dbda-ca7b380c25dc" + }, + { + "name": "StallRoofLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -88.5, + 44, + -0.5 + ], + "to": [ + -87.5, + 56, + 46.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 10, + 0, + 0 + ], + "origin": [ + -88, + 56, + 0.5 + ], + "faces": { + "north": { + "uv": [ + 93, + 60, + 94, + 84 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 60, + 94, + 84 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 60, + 1, + 84 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 60, + 94, + 84 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 60, + 47, + 61 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 94, + 83, + 0, + 84 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "5999c57a-9741-3188-3f25-2ecac59e6ee8" + }, + { + "name": "StallRoofTop", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -87.5, + 56, + -0.5 + ], + "to": [ + -40.5, + 57, + 46.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 10, + 0, + 0 + ], + "origin": [ + -64, + 56, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 1, + 17, + 2, + 18 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 17, + 2, + 18 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 17, + 2, + 18 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 17, + 2, + 18 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 17, + 2, + 18 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 17, + 2, + 18 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2e25d968-ca47-d69d-556b-95c22df1bad6" + }, + { + "name": "PlanksSheet", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -84, + 0, + -1 + ], + "to": [ + -44, + 16, + -1 + ], + "autouv": 0, + "color": 0, + "inflate": 0.01, + "origin": [ + -87, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 40 + ], + "rotation": 90, + "texture": 1 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 40, + 16, + 0 + ], + "rotation": 90, + "texture": 1 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "99e13c89-62e5-d686-bbfe-c70bb982c656" + }, + { + "name": "FlavorsTable2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -83.5, + 16, + -0.5 + ], + "to": [ + -71.5, + 17, + 6 + ], + "autouv": 0, + "color": 0, + "origin": [ + -87, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 64, + 0, + 65, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 0, + 65, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 64, + 0, + 65, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 64, + 0, + 65, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 64, + 0, + 65, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "3c107b1c-ccb5-edea-aea7-c24528d7f7c8" + }, + { + "name": "FlavorsTable3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -83.5, + 17, + 1 + ], + "to": [ + -71.5, + 18, + 6 + ], + "autouv": 0, + "color": 0, + "origin": [ + -87, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 64, + 0, + 65, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 0, + 65, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 64, + 0, + 65, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 64, + 0, + 65, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 64, + 0, + 65, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "c1e041cb-7836-9677-585a-a1cc33dce3ce" + }, + { + "name": "FlavorsTable4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -83.5, + 18, + 2.5 + ], + "to": [ + -71.5, + 19, + 6 + ], + "autouv": 0, + "color": 0, + "origin": [ + -87, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 64, + 0, + 65, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 0, + 65, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 64, + 0, + 65, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 64, + 0, + 65, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 64, + 0, + 65, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ee463932-0912-2f22-f327-36c3bb7988d9" + }, + { + "name": "FlavorsTable5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -83.5, + 19, + 4 + ], + "to": [ + -71.5, + 20, + 6 + ], + "autouv": 0, + "color": 0, + "origin": [ + -87, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 64, + 0, + 65, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 0, + 65, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 64, + 0, + 65, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 64, + 0, + 65, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 64, + 0, + 65, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "98c04a85-254f-5462-80c4-af614367d969" + }, + { + "name": "IkaPlate5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -44, + 17, + 0 + ], + "to": [ + -43.5, + 18, + 6 + ], + "autouv": 0, + "color": 0, + "origin": [ + -87, + 0, + -1 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "51140ad6-225f-f502-ad27-a484115ef7e6" + }, + { + "name": "IkaPlate4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -54.5, + 17, + 0 + ], + "to": [ + -54, + 18, + 6 + ], + "autouv": 0, + "color": 0, + "origin": [ + -87, + 0, + -1 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "1f3ed358-a242-0d05-0496-9f56e08ad37e" + }, + { + "name": "IkaPlate3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -54.5, + 17, + 6 + ], + "to": [ + -43.5, + 18, + 6.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -87, + 0, + -1 + ], + "faces": { + "north": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ae788b62-e93e-02b9-4196-51ef8a637ac6" + }, + { + "name": "IkaPlate2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -54.5, + 17, + -0.5 + ], + "to": [ + -43.5, + 18, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -87, + 0, + -1 + ], + "faces": { + "north": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "7e273f08-652e-47fd-114f-4d4d603ebe08" + }, + { + "name": "IkaPlate1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -54.5, + 16, + -0.5 + ], + "to": [ + -43.5, + 17, + 6.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -87, + 0, + -1 + ], + "faces": { + "north": { + "uv": [ + 64, + 2, + 65, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 2, + 65, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 64, + 2, + 65, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 64, + 2, + 65, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 64, + 2, + 65, + 3 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "45ee1f39-c7bc-5350-1081-5e80f08f23a7" + }, + { + "name": "IkaPlate1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -66.5, + 16, + -0.5 + ], + "to": [ + -55.5, + 17, + 6.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -99, + 0, + -1 + ], + "faces": { + "north": { + "uv": [ + 64, + 2, + 65, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 2, + 65, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 64, + 2, + 65, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 64, + 2, + 65, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 64, + 2, + 65, + 3 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "588a6aef-0ca8-7313-41b1-355b325c9b5b" + }, + { + "name": "IkaPlate2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -66.5, + 17, + -0.5 + ], + "to": [ + -55.5, + 18, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -99, + 0, + -1 + ], + "faces": { + "north": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "434d2361-a182-5890-f741-41f2aec62d09" + }, + { + "name": "IkaPlate3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -66.5, + 17, + 6 + ], + "to": [ + -55.5, + 18, + 6.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -99, + 0, + -1 + ], + "faces": { + "north": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f4e39221-d95e-9e6e-02a2-67213b75269d" + }, + { + "name": "IkaPlate4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -66.5, + 17, + 0 + ], + "to": [ + -66, + 18, + 6 + ], + "autouv": 0, + "color": 0, + "origin": [ + -99, + 0, + -1 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "1472d011-fe2a-c2c0-652e-c8f3d65412d2" + }, + { + "name": "IkaPlate5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -56, + 17, + 0 + ], + "to": [ + -55.5, + 18, + 6 + ], + "autouv": 0, + "color": 0, + "origin": [ + -99, + 0, + -1 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 64, + 1, + 65, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "45333b72-70cc-8831-23de-e7be2934e6c9" + }, + { + "name": "MenuLabel1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -53, + 12, + -1.01 + ], + "to": [ + -45, + 16, + -1.01 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + -49, + 16, + -1.01 + ], + "faces": { + "north": { + "uv": [ + 0, + 16, + 1, + 17 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 16, + 1, + 17 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "1b0fd353-50d1-30fd-677d-d3b08911ff8a" + }, + { + "name": "MenuLabel2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -65, + 12, + -1.01 + ], + "to": [ + -57, + 16, + -1.01 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + -61, + 16, + -1.01 + ], + "faces": { + "north": { + "uv": [ + 0, + 16, + 1, + 17 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 16, + 1, + 17 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f8d4362d-edf7-427f-86de-72cf19dba459" + }, + { + "name": "MenuLabel3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -81.5, + 12, + -1.01 + ], + "to": [ + -73.5, + 16, + -1.01 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + -77.5, + 16, + -1.01 + ], + "faces": { + "north": { + "uv": [ + 0, + 16, + 1, + 17 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 16, + 1, + 17 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "0ff79b7a-08e6-4768-6787-2e5bc8a7f279" + }, + { + "name": "IkaHead", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -82, + 22, + 1 + ], + "to": [ + -80.5, + 24, + 2.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -82, + 22, + 1 + ], + "faces": { + "north": { + "uv": [ + 0, + 84, + 12, + 100 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 84, + 24, + 100 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 84, + 36, + 100 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 84, + 12, + 100 + ], + "texture": 0 + }, + "up": { + "uv": [ + 36, + 84, + 48, + 96 + ], + "texture": 0 + }, + "down": { + "uv": [ + 36, + 84, + 48, + 96 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2e8bd2d4-2ab2-5cfe-b124-624691ba7634" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -81.375, + 19.75, + 1 + ], + "to": [ + -81.125, + 22, + 1.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -81.25, + 22, + 1.25 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5a4fe25e-b92a-52e0-de0a-08e33f136162" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -81.375, + 19.75, + 1 + ], + "to": [ + -81.125, + 22, + 1.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -81.25, + 22, + 1.25 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "71bc1ee4-0d5a-0aee-5d1c-18c4133710b3" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -81.375, + 19.75, + 1 + ], + "to": [ + -81.125, + 22, + 1.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -81.25, + 22, + 1.25 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "6aff2b21-29bf-4a7e-7eb6-2862e62fb801" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -81.375, + 19.75, + 1 + ], + "to": [ + -81.125, + 22, + 1.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -81.25, + 22, + 1.25 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f151383c-24ff-7213-4a60-331da02ffa21" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -81.375, + 19.75, + 1 + ], + "to": [ + -81.125, + 22, + 1.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -81.25, + 22, + 1.25 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b1c4179e-6184-e69f-6b75-50d316917952" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -81.375, + 19.75, + 1 + ], + "to": [ + -81.125, + 22, + 1.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -81.25, + 22, + 1.25 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f69e1781-48cc-bc3b-5a20-721252a3b36c" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -81.375, + 19.75, + 1 + ], + "to": [ + -81.125, + 22, + 1.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -81.25, + 22, + 1.25 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "cdc04e59-7a37-5ab2-07ff-d4b1efa6388b" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -81.375, + 19.75, + 1 + ], + "to": [ + -81.125, + 22, + 1.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -81.25, + 22, + 1.25 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "48421873-073e-e667-f350-b7cc74a5c9e6" + }, + { + "name": "IkaStick", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -81.375, + 18, + 1.625 + ], + "to": [ + -81.125, + 22, + 1.875 + ], + "autouv": 0, + "color": 0, + "origin": [ + -82, + 22, + 1 + ], + "faces": { + "north": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "east": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "south": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "west": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "a0186286-85d3-98c8-aac0-98d24a25682c" + }, + { + "name": "IkaHead", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -78.5, + 22, + 1 + ], + "to": [ + -77, + 24, + 2.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -78.5, + 22, + 1 + ], + "faces": { + "north": { + "uv": [ + 0, + 84, + 12, + 100 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 84, + 24, + 100 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 84, + 36, + 100 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 84, + 12, + 100 + ], + "texture": 0 + }, + "up": { + "uv": [ + 36, + 84, + 48, + 96 + ], + "texture": 0 + }, + "down": { + "uv": [ + 36, + 84, + 48, + 96 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "80b91cb7-b816-0f9a-7c30-84c0df4ebc27" + }, + { + "name": "IkaStick", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -77.875, + 18, + 1.625 + ], + "to": [ + -77.625, + 22, + 1.875 + ], + "autouv": 0, + "color": 0, + "origin": [ + -78.5, + 22, + 1 + ], + "faces": { + "north": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "east": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "south": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "west": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "811b13db-ec2b-9b6f-6fe9-d71edf230b27" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -77.875, + 19.75, + 1 + ], + "to": [ + -77.625, + 22, + 1.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -77.75, + 22, + 1.25 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a36a54d8-997e-75c2-e80e-fb4dd505d1a6" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -77.875, + 19.75, + 1 + ], + "to": [ + -77.625, + 22, + 1.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -77.75, + 22, + 1.25 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5a970f81-cc71-1bd6-1441-cf822016f5d1" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -77.875, + 19.75, + 1 + ], + "to": [ + -77.625, + 22, + 1.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -77.75, + 22, + 1.25 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "14150725-469e-c0f0-7fac-2ca547d298f4" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -77.875, + 19.75, + 1 + ], + "to": [ + -77.625, + 22, + 1.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -77.75, + 22, + 1.25 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "edfbeefc-5ae6-8204-3a9b-9a7a5160bc7c" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -77.875, + 19.75, + 1 + ], + "to": [ + -77.625, + 22, + 1.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -77.75, + 22, + 1.25 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "ec6c5b76-507e-61c0-a3f2-37d7aa4c4f31" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -77.875, + 19.75, + 1 + ], + "to": [ + -77.625, + 22, + 1.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -77.75, + 22, + 1.25 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5a6fe646-0443-78ef-faf9-cc99a6b89801" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -77.875, + 19.75, + 1 + ], + "to": [ + -77.625, + 22, + 1.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -77.75, + 22, + 1.25 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f3612f5e-6ea0-b3ae-f444-582618b46251" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -77.875, + 19.75, + 1 + ], + "to": [ + -77.625, + 22, + 1.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -77.75, + 22, + 1.25 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "14e13bb8-9784-ad3a-81e6-8735c32d141c" + }, + { + "name": "IkaHead", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -75, + 22, + 1 + ], + "to": [ + -73.5, + 24, + 2.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -75, + 22, + 1 + ], + "faces": { + "north": { + "uv": [ + 0, + 84, + 12, + 100 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 84, + 24, + 100 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 84, + 36, + 100 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 84, + 12, + 100 + ], + "texture": 0 + }, + "up": { + "uv": [ + 36, + 84, + 48, + 96 + ], + "texture": 0 + }, + "down": { + "uv": [ + 36, + 84, + 48, + 96 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "23876975-83ac-3861-9daf-db56e582fe0d" + }, + { + "name": "IkaStick", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -74.375, + 18, + 1.625 + ], + "to": [ + -74.125, + 22, + 1.875 + ], + "autouv": 0, + "color": 0, + "origin": [ + -75, + 22, + 1 + ], + "faces": { + "north": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "east": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "south": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "west": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "75d583b6-c9a8-6b6f-d588-570d85fc26b9" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -74.375, + 19.75, + 1 + ], + "to": [ + -74.125, + 22, + 1.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -74.25, + 22, + 1.25 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "0fe52e11-0b51-49e0-c739-cc3073473789" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -74.375, + 19.75, + 1 + ], + "to": [ + -74.125, + 22, + 1.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -74.25, + 22, + 1.25 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "1ac257ef-444f-4f1f-8968-70d6b2258a71" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -74.375, + 19.75, + 1 + ], + "to": [ + -74.125, + 22, + 1.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -74.25, + 22, + 1.25 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a2efa630-c593-bf72-0235-eb91e825c66f" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -74.375, + 19.75, + 1 + ], + "to": [ + -74.125, + 22, + 1.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -74.25, + 22, + 1.25 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "3cd136b0-cbf0-7c1c-a533-3660af4bb445" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -74.375, + 19.75, + 1 + ], + "to": [ + -74.125, + 22, + 1.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -74.25, + 22, + 1.25 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "73f9a5a4-1d93-09f3-c047-e295e41ff5bb" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -74.375, + 19.75, + 1 + ], + "to": [ + -74.125, + 22, + 1.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -74.25, + 22, + 1.25 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "26a148b0-f3f6-a9e0-904c-627cd91564d7" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -74.375, + 19.75, + 1 + ], + "to": [ + -74.125, + 22, + 1.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -74.25, + 22, + 1.25 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "0a6bcfc5-f7d9-d005-9e25-013b163876c5" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -74.375, + 19.75, + 1 + ], + "to": [ + -74.125, + 22, + 1.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -74.25, + 22, + 1.25 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "59655611-2fed-73b0-1eab-ac30e8200e6a" + }, + { + "name": "IkaHead", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -82, + 24, + 4 + ], + "to": [ + -80.5, + 26, + 5.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -82, + 24, + 4 + ], + "faces": { + "north": { + "uv": [ + 0, + 84, + 12, + 100 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 84, + 24, + 100 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 84, + 36, + 100 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 84, + 12, + 100 + ], + "texture": 0 + }, + "up": { + "uv": [ + 36, + 84, + 48, + 96 + ], + "texture": 0 + }, + "down": { + "uv": [ + 36, + 84, + 48, + 96 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "dcb27a5a-58d0-39dc-092a-bf4c3bc46fd5" + }, + { + "name": "IkaStick", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -81.375, + 20, + 4.625 + ], + "to": [ + -81.125, + 24, + 4.875 + ], + "autouv": 0, + "color": 0, + "origin": [ + -82, + 24, + 4 + ], + "faces": { + "north": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "east": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "south": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "west": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "208a19d5-0061-69ec-03e8-0d910f985e1a" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -81.375, + 21.75, + 4 + ], + "to": [ + -81.125, + 24, + 4.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -81.25, + 24, + 4.25 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f7f6c22c-35d6-fba7-5236-991c30161c88" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -81.375, + 21.75, + 4 + ], + "to": [ + -81.125, + 24, + 4.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -81.25, + 24, + 4.25 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d1eb7388-bee9-b614-e676-7c80a2ccf5b2" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -81.375, + 21.75, + 4 + ], + "to": [ + -81.125, + 24, + 4.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -81.25, + 24, + 4.25 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "dd0c29c5-8a5c-6cfb-ae65-cd4c4641a31e" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -81.375, + 21.75, + 4 + ], + "to": [ + -81.125, + 24, + 4.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -81.25, + 24, + 4.25 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "3cd1aec6-a9f8-11c3-04d6-7d6efe757f87" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -81.375, + 21.75, + 4 + ], + "to": [ + -81.125, + 24, + 4.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -81.25, + 24, + 4.25 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "45175010-868e-1b3b-e0f4-f5b839822065" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -81.375, + 21.75, + 4 + ], + "to": [ + -81.125, + 24, + 4.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -81.25, + 24, + 4.25 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "45f9eaad-226f-4c55-36ad-42ace1887cdf" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -81.375, + 21.75, + 4 + ], + "to": [ + -81.125, + 24, + 4.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -81.25, + 24, + 4.25 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2909d1fe-ba7e-a4cb-777e-7eab6e7f6827" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -81.375, + 21.75, + 4 + ], + "to": [ + -81.125, + 24, + 4.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -81.25, + 24, + 4.25 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f0a1cbe1-90be-fa23-dad9-8341972c95c0" + }, + { + "name": "IkaHead", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -78.5, + 24, + 4 + ], + "to": [ + -77, + 26, + 5.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -78.5, + 24, + 4 + ], + "faces": { + "north": { + "uv": [ + 0, + 84, + 12, + 100 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 84, + 24, + 100 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 84, + 36, + 100 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 84, + 12, + 100 + ], + "texture": 0 + }, + "up": { + "uv": [ + 36, + 84, + 48, + 96 + ], + "texture": 0 + }, + "down": { + "uv": [ + 36, + 84, + 48, + 96 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "4ad2f373-34af-4806-1aee-586053582895" + }, + { + "name": "IkaStick", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -77.875, + 20, + 4.625 + ], + "to": [ + -77.625, + 24, + 4.875 + ], + "autouv": 0, + "color": 0, + "origin": [ + -78.5, + 24, + 4 + ], + "faces": { + "north": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "east": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "south": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "west": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "04c37949-3050-9eb5-1479-8a524ea910a6" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -77.875, + 21.75, + 4 + ], + "to": [ + -77.625, + 24, + 4.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -77.75, + 24, + 4.25 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "6b1db373-f6ed-e281-04af-e0a356ecd5cb" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -77.875, + 21.75, + 4 + ], + "to": [ + -77.625, + 24, + 4.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -77.75, + 24, + 4.25 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a329f5a4-e534-26a9-263a-22086c36b638" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -77.875, + 21.75, + 4 + ], + "to": [ + -77.625, + 24, + 4.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -77.75, + 24, + 4.25 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "02eb4e61-0752-cc1a-65df-b61257444069" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -77.875, + 21.75, + 4 + ], + "to": [ + -77.625, + 24, + 4.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -77.75, + 24, + 4.25 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e2966717-81a3-cea9-6b8a-55b52678624f" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -77.875, + 21.75, + 4 + ], + "to": [ + -77.625, + 24, + 4.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -77.75, + 24, + 4.25 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c2a2ea37-bad0-4f78-801a-9f937b191734" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -77.875, + 21.75, + 4 + ], + "to": [ + -77.625, + 24, + 4.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -77.75, + 24, + 4.25 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "6d478df7-c7c5-c854-43d4-0f4492b2af35" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -77.875, + 21.75, + 4 + ], + "to": [ + -77.625, + 24, + 4.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -77.75, + 24, + 4.25 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "602a2bc7-c8b1-ffe4-dfec-687985608246" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -77.875, + 21.75, + 4 + ], + "to": [ + -77.625, + 24, + 4.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -77.75, + 24, + 4.25 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8c486d5f-c9c8-ed2c-b901-d33a21e60447" + }, + { + "name": "IkaHead", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -75, + 24, + 4 + ], + "to": [ + -73.5, + 26, + 5.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -75, + 24, + 4 + ], + "faces": { + "north": { + "uv": [ + 0, + 84, + 12, + 100 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 84, + 24, + 100 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 84, + 36, + 100 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 84, + 12, + 100 + ], + "texture": 0 + }, + "up": { + "uv": [ + 36, + 84, + 48, + 96 + ], + "texture": 0 + }, + "down": { + "uv": [ + 36, + 84, + 48, + 96 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2edd5317-40f1-0bb6-e2e1-6be5efa8df42" + }, + { + "name": "IkaStick", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -74.375, + 20, + 4.625 + ], + "to": [ + -74.125, + 24, + 4.875 + ], + "autouv": 0, + "color": 0, + "origin": [ + -75, + 24, + 4 + ], + "faces": { + "north": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "east": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "south": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "west": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "a3ba4012-2b72-c17a-8c4d-cf264f0f727d" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -74.375, + 21.75, + 4 + ], + "to": [ + -74.125, + 24, + 4.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -74.25, + 24, + 4.25 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "516117cf-ed31-5cee-ad7c-9933d5821b2c" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -74.375, + 21.75, + 4 + ], + "to": [ + -74.125, + 24, + 4.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -74.25, + 24, + 4.25 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2267d97d-c7e6-599d-9a66-cd66e8e353fd" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -74.375, + 21.75, + 4 + ], + "to": [ + -74.125, + 24, + 4.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -74.25, + 24, + 4.25 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "88a1192f-e6cc-33df-06b4-9e6dd4ed6df3" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -74.375, + 21.75, + 4 + ], + "to": [ + -74.125, + 24, + 4.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -74.25, + 24, + 4.25 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "1eed18a8-ff4b-e67a-2807-53310521ad68" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -74.375, + 21.75, + 4 + ], + "to": [ + -74.125, + 24, + 4.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -74.25, + 24, + 4.25 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a95e6277-89cb-d5fc-4f26-696581b0dddb" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -74.375, + 21.75, + 4 + ], + "to": [ + -74.125, + 24, + 4.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -74.25, + 24, + 4.25 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "dc95393a-6450-4387-37a4-f235bd957dbd" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -74.375, + 21.75, + 4 + ], + "to": [ + -74.125, + 24, + 4.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -74.25, + 24, + 4.25 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d2d6c8c1-7cb9-6f34-0335-59784a580f07" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -74.375, + 21.75, + 4 + ], + "to": [ + -74.125, + 24, + 4.25 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -74.25, + 24, + 4.25 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "aa296984-8b08-7678-88af-66fc3af911d1" + }, + { + "name": "IkaHead1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -65.5, + 17, + 1 + ], + "to": [ + -62.5, + 20, + 5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -163, + 0, + -1 + ], + "faces": { + "north": { + "uv": [ + 36, + 84, + 48, + 96 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 84, + 12, + 100 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 36, + 84, + 48, + 96 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 100, + 12, + 84 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 84, + 12, + 100 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ] + } + }, + "type": "cube", + "uuid": "b3b5d390-44e2-8fdb-0db6-287b5d585ba0" + }, + { + "name": "IkaHead2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -62.4, + 17, + 1 + ], + "to": [ + -59.4, + 20, + 5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -163, + 0, + -1 + ], + "faces": { + "north": { + "uv": [ + 36, + 84, + 48, + 96 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 84, + 12, + 100 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 36, + 84, + 48, + 96 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 100, + 12, + 84 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 84, + 12, + 100 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ] + } + }, + "type": "cube", + "uuid": "3097b5b7-4718-b7c0-34df-b594b5f12c8b" + }, + { + "name": "IkaHead3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -59.25, + 17, + 1 + ], + "to": [ + -56.25, + 20, + 5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -163, + 0, + -1 + ], + "faces": { + "north": { + "uv": [ + 36, + 84, + 48, + 96 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 84, + 12, + 100 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 36, + 84, + 48, + 96 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 100, + 12, + 84 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 84, + 12, + 100 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ] + } + }, + "type": "cube", + "uuid": "11af6dda-2ef6-83ba-f7eb-7945cc2b7ee4" + }, + { + "name": "IkaHead4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -64, + 20, + 1 + ], + "to": [ + -61, + 23, + 5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -163, + 0, + -1 + ], + "faces": { + "north": { + "uv": [ + 36, + 84, + 48, + 96 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 84, + 12, + 100 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 36, + 84, + 48, + 96 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 100, + 12, + 84 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 84, + 12, + 100 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 84, + 36, + 100 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "3cc82d64-eda1-a9f4-aa05-2e6291a65fdb" + }, + { + "name": "IkaHead5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -60.75, + 20, + 1 + ], + "to": [ + -57.75, + 23, + 5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -163, + 0, + -1 + ], + "faces": { + "north": { + "uv": [ + 36, + 84, + 48, + 96 + ], + "texture": 0 + }, + "east": { + "uv": [ + 24, + 84, + 12, + 100 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 36, + 84, + 48, + 96 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 100, + 12, + 84 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 0, + 84, + 12, + 100 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 84, + 36, + 100 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "674b85dc-2527-678f-a0d8-800ee3f21ce0" + }, + { + "name": "IkaFeet1_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -52.75, + 17, + 0.875 + ], + "to": [ + -52.25, + 17.5, + 5.375 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 10, + 0 + ], + "origin": [ + -52.5, + 17.25, + 5.125 + ], + "faces": { + "north": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 102, + 50, + 84 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 86 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 48, + 102, + 50, + 84 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "afa8186c-eced-e8a3-a268-3cc73202cdb5" + }, + { + "name": "IkaFeet2_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -52, + 17, + 0.625 + ], + "to": [ + -51.5, + 17.5, + 5.125 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 5, + 0 + ], + "origin": [ + -51.75, + 17.25, + 5.125 + ], + "faces": { + "north": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 102, + 50, + 84 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 86 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 48, + 102, + 50, + 84 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "16265e38-5195-d526-ccad-c33831ce372f" + }, + { + "name": "IkaFeet3_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -51.25, + 17, + 0.625 + ], + "to": [ + -50.75, + 17.5, + 5.125 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -5, + 0 + ], + "origin": [ + -51, + 17.25, + 5.125 + ], + "faces": { + "north": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 102, + 50, + 84 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 86 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 48, + 102, + 50, + 84 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "724145b5-de7e-e688-ab93-694b7df1e470" + }, + { + "name": "IkaFeet4_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -50.5, + 17, + 0.875 + ], + "to": [ + -50, + 17.5, + 5.375 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -10, + 0 + ], + "origin": [ + -50.25, + 17.25, + 5.125 + ], + "faces": { + "north": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 102, + 50, + 84 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 86 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 48, + 102, + 50, + 84 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "2ffaa0f0-93d5-1507-44e6-ec0efaab0efc" + }, + { + "name": "IkaFeet2_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -48, + 17, + 0.875 + ], + "to": [ + -47.5, + 17.5, + 5.375 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 10, + 0 + ], + "origin": [ + -47.75, + 17.25, + 5.125 + ], + "faces": { + "north": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 102, + 50, + 84 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 86 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 48, + 102, + 50, + 84 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "139d08a9-2d2b-4f76-5c3d-eebd84082756" + }, + { + "name": "IkaFeet2_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -47.25, + 17, + 0.625 + ], + "to": [ + -46.75, + 17.5, + 5.125 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 5, + 0 + ], + "origin": [ + -47, + 17.25, + 5.125 + ], + "faces": { + "north": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 102, + 50, + 84 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 86 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 48, + 102, + 50, + 84 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "fc0cbebe-06fb-885f-0e8b-0f7370edafe5" + }, + { + "name": "IkaFeet2_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -46.5, + 17, + 0.625 + ], + "to": [ + -46, + 17.5, + 5.125 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -5, + 0 + ], + "origin": [ + -46.25, + 17.25, + 5.125 + ], + "faces": { + "north": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 102, + 50, + 84 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 86 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 48, + 102, + 50, + 84 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d05fbf84-d6ca-c27f-6142-9192b41703c3" + }, + { + "name": "IkaFeet2_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -45.75, + 17, + 0.875 + ], + "to": [ + -45.25, + 17.5, + 5.375 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -10, + 0 + ], + "origin": [ + -45.5, + 17.25, + 5.125 + ], + "faces": { + "north": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 102, + 50, + 84 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 86 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 48, + 102, + 50, + 84 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "7a2ebdfe-f962-a418-98db-11f7bce27dee" + }, + { + "name": "IkayakiPlate", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -70.5, + 16, + 6.75 + ], + "to": [ + -43.5, + 20, + 14.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 60, + 7, + 61, + 12 + ], + "texture": 0 + }, + "east": { + "uv": [ + 60, + 7, + 61, + 12 + ], + "texture": 0 + }, + "south": { + "uv": [ + 60, + 7, + 61, + 12 + ], + "texture": 0 + }, + "west": { + "uv": [ + 60, + 7, + 61, + 12 + ], + "texture": 0 + }, + "up": { + "uv": [ + 60, + 7, + 61, + 8 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "75117022-5595-7f6c-f2dc-11db9ef2a8fc" + }, + { + "name": "IkaHead", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -66, + 21.5, + 10.5 + ], + "to": [ + -64.5, + 23.5, + 12 + ], + "autouv": 0, + "color": 0, + "origin": [ + -66, + 21.5, + 10.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 84, + 12, + 100 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 84, + 24, + 100 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 84, + 36, + 100 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 84, + 12, + 100 + ], + "texture": 0 + }, + "up": { + "uv": [ + 36, + 84, + 48, + 96 + ], + "texture": 0 + }, + "down": { + "uv": [ + 36, + 84, + 48, + 96 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "72b16a48-5208-9a7c-ade8-f72a28334214" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -65.375, + 19.25, + 10.5 + ], + "to": [ + -65.125, + 21.5, + 10.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + -65.25, + 21.5, + 10.75 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e80cd849-1cf9-4e77-6b83-82c582bbf46c" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -65.375, + 19.25, + 10.5 + ], + "to": [ + -65.125, + 21.5, + 10.75 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 10, + 0, + 0 + ], + "origin": [ + -65.25, + 21.5, + 10.75 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b0b438c7-7c06-9ba3-b5be-2dca9b6592ea" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -65.375, + 19.25, + 10.5 + ], + "to": [ + -65.125, + 21.5, + 10.75 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -65.25, + 21.5, + 10.75 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "1e9dcde4-9840-50b4-8e01-cb757cfd8d7d" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -65.375, + 19.25, + 10.5 + ], + "to": [ + -65.125, + 21.5, + 10.75 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 10, + 0, + 0 + ], + "origin": [ + -65.25, + 21.5, + 10.75 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a64af188-5a72-e2ed-89f9-1ebf9968ea4f" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -65.375, + 19.25, + 10.5 + ], + "to": [ + -65.125, + 21.5, + 10.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + -65.25, + 21.5, + 10.75 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "1470d371-0c30-f741-9e06-4a5649d26d0f" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -65.375, + 19.25, + 10.5 + ], + "to": [ + -65.125, + 21.5, + 10.75 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 10, + 0, + 0 + ], + "origin": [ + -65.25, + 21.5, + 10.75 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "6aca60b2-1b8e-fb13-7fab-672e94f9aba9" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -65.375, + 19.25, + 10.5 + ], + "to": [ + -65.125, + 21.5, + 10.75 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -65.25, + 21.5, + 10.75 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d57c75c8-b68c-2a4f-867e-7d825691b6d0" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -65.375, + 19.25, + 10.5 + ], + "to": [ + -65.125, + 21.5, + 10.75 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 10, + 0, + 0 + ], + "origin": [ + -65.25, + 21.5, + 10.75 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b4e3d32f-02b2-33de-ded1-eeda3e424ec6" + }, + { + "name": "IkaHead", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -62, + 21.5, + 10.5 + ], + "to": [ + -60.5, + 23.5, + 12 + ], + "autouv": 0, + "color": 0, + "origin": [ + -62, + 21.5, + 10.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 84, + 12, + 100 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 84, + 24, + 100 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 84, + 36, + 100 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 84, + 12, + 100 + ], + "texture": 0 + }, + "up": { + "uv": [ + 36, + 84, + 48, + 96 + ], + "texture": 0 + }, + "down": { + "uv": [ + 36, + 84, + 48, + 96 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "244a8c70-02e8-5bff-f3af-94740884588c" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -61.375, + 19.25, + 10.5 + ], + "to": [ + -61.125, + 21.5, + 10.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + -61.25, + 21.5, + 10.75 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "72f36711-0717-5f60-9aad-07feee14053a" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -61.375, + 19.25, + 10.5 + ], + "to": [ + -61.125, + 21.5, + 10.75 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 10, + 0, + 0 + ], + "origin": [ + -61.25, + 21.5, + 10.75 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d3e06846-c7f6-466d-269a-a32312e0be18" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -61.375, + 19.25, + 10.5 + ], + "to": [ + -61.125, + 21.5, + 10.75 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -61.25, + 21.5, + 10.75 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "dfac3903-9847-2b11-5755-533b0be1c514" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -61.375, + 19.25, + 10.5 + ], + "to": [ + -61.125, + 21.5, + 10.75 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 10, + 0, + 0 + ], + "origin": [ + -61.25, + 21.5, + 10.75 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "86a6eb91-f69d-f7b1-a773-52ef9833ea56" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -61.375, + 19.25, + 10.5 + ], + "to": [ + -61.125, + 21.5, + 10.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + -61.25, + 21.5, + 10.75 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d2e1b690-d4d5-9fd0-fce6-60f6f1c48bf2" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -61.375, + 19.25, + 10.5 + ], + "to": [ + -61.125, + 21.5, + 10.75 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 10, + 0, + 0 + ], + "origin": [ + -61.25, + 21.5, + 10.75 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a8bb15b2-b0b6-1ced-2065-c610ae3691bb" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -61.375, + 19.25, + 10.5 + ], + "to": [ + -61.125, + 21.5, + 10.75 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + -61.25, + 21.5, + 10.75 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "0fb77739-318c-1402-6533-9f8a320d72bb" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -61.375, + 19.25, + 10.5 + ], + "to": [ + -61.125, + 21.5, + 10.75 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 10, + 0, + 0 + ], + "origin": [ + -61.25, + 21.5, + 10.75 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f0744557-90c4-0794-1046-8e59d4e225a6" + }, + { + "name": "IkaFeet3_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -56.5237, + 20, + 8.11961 + ], + "to": [ + -56.0237, + 20.5, + 12.61961 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 10, + 0 + ], + "origin": [ + -57.25, + 20.25, + 12.58605 + ], + "faces": { + "north": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 102, + 50, + 84 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 86 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 48, + 102, + 50, + 84 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "87a9bec3-3998-a659-a2f4-6591e563660c" + }, + { + "name": "IkaFeet3_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -55.79628, + 20, + 7.78535 + ], + "to": [ + -55.29628, + 20.5, + 12.28535 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 5, + 0 + ], + "origin": [ + -56.5, + 20.25, + 12.58605 + ], + "faces": { + "north": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 102, + 50, + 84 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 86 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 48, + 102, + 50, + 84 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "0c27a9da-c140-44ec-40c8-5a29b47159ff" + }, + { + "name": "IkaFeet3_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -55.11299, + 20, + 7.6243 + ], + "to": [ + -54.61299, + 20.5, + 12.1243 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -5, + 0 + ], + "origin": [ + -55.75, + 20.25, + 12.58605 + ], + "faces": { + "north": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 102, + 50, + 84 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 86 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 48, + 102, + 50, + 84 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "80d6b009-b4c0-15bf-cac6-cdca680dfc1a" + }, + { + "name": "IkaFeet3_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -54.40661, + 20, + 7.79875 + ], + "to": [ + -53.90661, + 20.5, + 12.29875 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -10, + 0 + ], + "origin": [ + -55, + 20.25, + 12.58605 + ], + "faces": { + "north": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 102, + 50, + 84 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 86 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 48, + 102, + 50, + 84 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "252de90f-a39d-9072-970b-99dda81400c1" + }, + { + "name": "IkaFeet4_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -51.51519, + 20, + 9.0097 + ], + "to": [ + -51.01519, + 20.5, + 13.5097 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 10, + 0 + ], + "origin": [ + -52.25, + 20.25, + 13.08605 + ], + "faces": { + "north": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 102, + 50, + 84 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 86 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 48, + 102, + 50, + 84 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6a72a553-d2dc-76ac-b6ac-2214c69477bf" + }, + { + "name": "IkaFeet4_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -50.75381, + 20, + 8.67321 + ], + "to": [ + -50.25381, + 20.5, + 13.17321 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 5, + 0 + ], + "origin": [ + -51.5, + 20.25, + 13.08605 + ], + "faces": { + "north": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 102, + 50, + 84 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 86 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 48, + 102, + 50, + 84 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f11015a7-d19d-6df6-3f56-4f1e355539a4" + }, + { + "name": "IkaFeet4_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -50.00381, + 20, + 8.4989 + ], + "to": [ + -49.50381, + 20.5, + 12.9989 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -5, + 0 + ], + "origin": [ + -50.75, + 20.25, + 13.08605 + ], + "faces": { + "north": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 102, + 50, + 84 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 86 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 48, + 102, + 50, + 84 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "3ddb072d-21dc-03f5-9b74-b41728da5652" + }, + { + "name": "IkaFeet4_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -49.26519, + 20, + 8.66241 + ], + "to": [ + -48.76519, + 20.5, + 13.16241 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -10, + 0 + ], + "origin": [ + -50, + 20.25, + 13.08605 + ], + "faces": { + "north": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 102, + 50, + 84 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 86 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 48, + 102, + 50, + 84 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "0b8cb914-46fe-c29f-98f0-47a1586824df" + }, + { + "name": "IkaFeet5_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -47.13397, + 20, + 8.83605 + ], + "to": [ + -46.63397, + 20.5, + 13.33605 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 10, + 0 + ], + "origin": [ + -47.75, + 20.25, + 12.58605 + ], + "faces": { + "north": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 102, + 50, + 84 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 86 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 48, + 102, + 50, + 84 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "79917a72-f5c8-3aa2-029a-3523b927ec4a" + }, + { + "name": "IkaFeet5_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -46.34369, + 20, + 8.50867 + ], + "to": [ + -45.84369, + 20.5, + 13.00867 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 5, + 0 + ], + "origin": [ + -47, + 20.25, + 12.58605 + ], + "faces": { + "north": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 102, + 50, + 84 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 86 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 48, + 102, + 50, + 84 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "c0219903-9358-e02b-413e-809d0dca925d" + }, + { + "name": "IkaFeet5_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -45.53407, + 20, + 8.34487 + ], + "to": [ + -45.03407, + 20.5, + 12.84487 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -5, + 0 + ], + "origin": [ + -46.25, + 20.25, + 12.58605 + ], + "faces": { + "north": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 102, + 50, + 84 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 86 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 48, + 102, + 50, + 84 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "2a1d291b-4aa7-d9b0-fbe6-13f4d6763be8" + }, + { + "name": "IkaFeet5_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -44.76519, + 20, + 8.5097 + ], + "to": [ + -44.26519, + 20.5, + 13.0097 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -10, + 0 + ], + "origin": [ + -45.5, + 20.25, + 12.58605 + ], + "faces": { + "north": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 102, + 50, + 84 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 86 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 48, + 102, + 50, + 84 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "52fb5ba4-45e7-04a7-964c-458f398ea0ba" + }, + { + "name": "FlavorBottle1_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -71, + 16, + 1 + ], + "to": [ + -69, + 20, + 3 + ], + "autouv": 0, + "color": 0, + "origin": [ + -71, + 16, + 1 + ], + "faces": { + "north": { + "uv": [ + 28, + 52, + 30, + 56 + ], + "texture": 0 + }, + "east": { + "uv": [ + 28, + 52, + 30, + 56 + ], + "texture": 0 + }, + "south": { + "uv": [ + 28, + 52, + 30, + 56 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 52, + 30, + 56 + ], + "texture": 0 + }, + "up": { + "uv": [ + 28, + 52, + 30, + 53 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "347bbbfc-7efb-29d9-0a6c-ff57ded2f2b9" + }, + { + "name": "FlavorBottle1_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -70.125, + 20, + 1.875 + ], + "to": [ + -69.875, + 20.5, + 2.125 + ], + "autouv": 0, + "color": 0, + "origin": [ + -71, + 16, + 1 + ], + "faces": { + "north": { + "uv": [ + 28, + 52, + 30, + 53 + ], + "texture": 0 + }, + "east": { + "uv": [ + 28, + 52, + 30, + 53 + ], + "texture": 0 + }, + "south": { + "uv": [ + 28, + 52, + 30, + 53 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 52, + 30, + 53 + ], + "texture": 0 + }, + "up": { + "uv": [ + 28, + 52, + 30, + 53 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8986996d-b4d1-6378-7ed8-bc7eef135c89" + }, + { + "name": "FlavorBottle2_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -69.75, + 16, + 3.25 + ], + "to": [ + -67.75, + 20, + 5.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + -69.75, + 16, + 3.25 + ], + "faces": { + "north": { + "uv": [ + 30, + 52, + 32, + 56 + ], + "texture": 0 + }, + "east": { + "uv": [ + 30, + 52, + 32, + 56 + ], + "texture": 0 + }, + "south": { + "uv": [ + 30, + 52, + 32, + 56 + ], + "texture": 0 + }, + "west": { + "uv": [ + 30, + 52, + 32, + 56 + ], + "texture": 0 + }, + "up": { + "uv": [ + 30, + 52, + 32, + 53 + ], + "texture": 0 + }, + "down": { + "uv": [ + 2, + 0, + 2, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e15153c2-a72a-003c-628e-82582fa9fbbf" + }, + { + "name": "FlavorBottle2_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -68.875, + 20, + 4.125 + ], + "to": [ + -68.625, + 20.5, + 4.375 + ], + "autouv": 0, + "color": 0, + "origin": [ + -69.75, + 16, + 3.25 + ], + "faces": { + "north": { + "uv": [ + 30, + 52, + 32, + 53 + ], + "texture": 0 + }, + "east": { + "uv": [ + 30, + 52, + 32, + 53 + ], + "texture": 0 + }, + "south": { + "uv": [ + 30, + 52, + 32, + 53 + ], + "texture": 0 + }, + "west": { + "uv": [ + 30, + 52, + 32, + 53 + ], + "texture": 0 + }, + "up": { + "uv": [ + 30, + 52, + 32, + 53 + ], + "texture": 0 + }, + "down": { + "uv": [ + 2, + 0, + 2, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "fa953db7-dbd3-4346-54a6-155eb3b560a5" + }, + { + "name": "FlavorBottle3_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -68.5, + 16, + 0.75 + ], + "to": [ + -67, + 18, + 2.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + -68.75, + 16, + 0.5 + ], + "faces": { + "north": { + "uv": [ + 32, + 53, + 33, + 54 + ], + "texture": 0 + }, + "east": { + "uv": [ + 32, + 53, + 33, + 54 + ], + "texture": 0 + }, + "south": { + "uv": [ + 32, + 53, + 33, + 54 + ], + "texture": 0 + }, + "west": { + "uv": [ + 32, + 53, + 33, + 54 + ], + "texture": 0 + }, + "up": { + "uv": [ + 32, + 53, + 33, + 54 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b1498861-6884-46bc-a226-c1a986777186" + }, + { + "name": "FlavorBottle3_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -68.25, + 18, + 1 + ], + "to": [ + -67.25, + 20, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -68.75, + 16, + 0.5 + ], + "faces": { + "north": { + "uv": [ + 32, + 52, + 33, + 55 + ], + "texture": 0 + }, + "east": { + "uv": [ + 32, + 52, + 33, + 55 + ], + "texture": 0 + }, + "south": { + "uv": [ + 32, + 52, + 33, + 55 + ], + "texture": 0 + }, + "west": { + "uv": [ + 32, + 52, + 33, + 55 + ], + "texture": 0 + }, + "up": { + "uv": [ + 32, + 52, + 33, + 53 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "c58ea26c-a917-1b73-4e4b-7f8ccc4c4f6f" + }, + { + "name": "SticksContainer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -74, + 16, + 6.5 + ], + "to": [ + -71, + 19, + 9.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -114.5, + 0, + -4 + ], + "faces": { + "north": { + "uv": [ + 65, + 0, + 66, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 65, + 0, + 66, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 65, + 0, + 66, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 65, + 0, + 66, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 65, + 0, + 66, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "3d74eb99-6c12-689f-7547-4565599ba1e8" + }, + { + "name": "Sticks", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -73.5, + 19, + 7 + ], + "to": [ + -71.5, + 20, + 9 + ], + "autouv": 0, + "color": 0, + "origin": [ + -114.5, + 0, + -4 + ], + "faces": { + "north": { + "uv": [ + 61, + 10, + 66, + 11 + ], + "texture": 0 + }, + "east": { + "uv": [ + 61, + 10, + 66, + 11 + ], + "texture": 0 + }, + "south": { + "uv": [ + 61, + 10, + 66, + 11 + ], + "texture": 0 + }, + "west": { + "uv": [ + 61, + 10, + 66, + 11 + ], + "texture": 0 + }, + "up": { + "uv": [ + 61, + 10, + 66, + 15 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b254f3e0-70d7-bb66-bb90-6c183fcc0185" + }, + { + "name": "DogHead", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 12, + -3 + ], + "to": [ + 3, + 18, + 3 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3, + 12, + -3 + ], + "faces": { + "north": { + "uv": [ + 0, + 100, + 6, + 106 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 100, + 12, + 106 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 100, + 18, + 106 + ], + "texture": 0 + }, + "west": { + "uv": [ + 12, + 100, + 6, + 106 + ], + "texture": 0 + }, + "up": { + "uv": [ + 18, + 100, + 24, + 106 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 100, + 30, + 106 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "87785f90-6194-fa2e-b96e-1a9a2bee95c6" + }, + { + "name": "DogNose", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + 12, + -6 + ], + "to": [ + 1.5, + 15, + -3 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3, + 12, + -3 + ], + "faces": { + "north": { + "uv": [ + 0, + 106, + 3, + 109 + ], + "texture": 0 + }, + "east": { + "uv": [ + 3, + 106, + 6, + 109 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 6, + 106, + 3, + 109 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 106, + 9, + 109 + ], + "texture": 0 + }, + "down": { + "uv": [ + 9, + 106, + 12, + 109 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "0e4689b1-077b-b66e-2f8e-278f5be5c559" + }, + { + "name": "DogRightEar", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1, + 18, + -0.5 + ], + "to": [ + 3, + 20, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3, + 12, + -3 + ], + "faces": { + "north": { + "uv": [ + 12, + 106, + 14, + 108 + ], + "texture": 0 + }, + "east": { + "uv": [ + 14, + 106, + 15, + 108 + ], + "texture": 0 + }, + "south": { + "uv": [ + 15, + 106, + 17, + 108 + ], + "texture": 0 + }, + "west": { + "uv": [ + 14, + 106, + 15, + 108 + ], + "texture": 0 + }, + "up": { + "uv": [ + 17, + 106, + 19, + 107 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ecfb48ef-8361-e8d2-0a97-a24c421e367d" + }, + { + "name": "DogLeftEar", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 18, + -0.5 + ], + "to": [ + -1, + 20, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3, + 12, + -3 + ], + "faces": { + "north": { + "uv": [ + 14, + 106, + 12, + 108 + ], + "texture": 0 + }, + "east": { + "uv": [ + 14, + 106, + 15, + 108 + ], + "texture": 0 + }, + "south": { + "uv": [ + 17, + 106, + 15, + 108 + ], + "texture": 0 + }, + "west": { + "uv": [ + 14, + 106, + 15, + 108 + ], + "texture": 0 + }, + "up": { + "uv": [ + 19, + 106, + 17, + 107 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "502b1492-fb87-73f5-a5ff-adfa200a6544" + }, + { + "name": "DogBody", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 6, + -1.5 + ], + "to": [ + 3, + 12, + 1.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3, + 2, + -3 + ], + "faces": { + "north": { + "uv": [ + 0, + 109, + 6, + 115 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 109, + 9, + 115 + ], + "texture": 0 + }, + "south": { + "uv": [ + 9, + 109, + 15, + 115 + ], + "texture": 0 + }, + "west": { + "uv": [ + 9, + 109, + 6, + 115 + ], + "texture": 0 + }, + "up": { + "uv": [ + 15, + 109, + 21, + 112 + ], + "texture": 0 + }, + "down": { + "uv": [ + 15, + 112, + 21, + 115 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "86720787-4e14-5a61-3463-deae4af60181" + }, + { + "name": "DogRightArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3, + 6, + -1 + ], + "to": [ + 5, + 12, + 1 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3, + 2, + -3 + ], + "faces": { + "north": { + "uv": [ + 21, + 109, + 23, + 115 + ], + "texture": 0 + }, + "east": { + "uv": [ + 23, + 109, + 25, + 115 + ], + "texture": 0 + }, + "south": { + "uv": [ + 25, + 109, + 27, + 115 + ], + "texture": 0 + }, + "west": { + "uv": [ + 25, + 109, + 23, + 115 + ], + "texture": 0 + }, + "up": { + "uv": [ + 21, + 107, + 23, + 109 + ], + "texture": 0 + }, + "down": { + "uv": [ + 23, + 107, + 25, + 109 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "458964b2-82be-1f0a-0183-74143ffa69f3" + }, + { + "name": "DogRightLeg", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1.5 + ], + "to": [ + 3, + 6, + 1.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 6, + -2.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 115, + 3, + 121 + ], + "texture": 0 + }, + "east": { + "uv": [ + 3, + 115, + 6, + 121 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 115, + 9, + 121 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 115, + 3, + 121 + ], + "texture": 0 + }, + "up": { + "uv": [ + 9, + 115, + 12, + 118 + ], + "texture": 0 + }, + "down": { + "uv": [ + 9, + 118, + 12, + 121 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "995f0e7f-a5e9-d7ee-b09b-7d19f5d2be58" + }, + { + "name": "DogLeftArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5, + 6, + -1 + ], + "to": [ + -3, + 12, + 1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 3, + 2, + -3 + ], + "faces": { + "north": { + "uv": [ + 23, + 109, + 21, + 115 + ], + "texture": 0 + }, + "east": { + "uv": [ + 23, + 109, + 25, + 115 + ], + "texture": 0 + }, + "south": { + "uv": [ + 27, + 109, + 25, + 115 + ], + "texture": 0 + }, + "west": { + "uv": [ + 25, + 109, + 23, + 115 + ], + "texture": 0 + }, + "up": { + "uv": [ + 23, + 107, + 21, + 109 + ], + "texture": 0 + }, + "down": { + "uv": [ + 25, + 107, + 23, + 109 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "845efa19-6e74-707f-903b-aaf8e04c04b0" + }, + { + "name": "DogLeftLeg", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 0, + -1.5 + ], + "to": [ + 0, + 6, + 1.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 6, + -2.5 + ], + "faces": { + "north": { + "uv": [ + 3, + 115, + 0, + 121 + ], + "texture": 0 + }, + "east": { + "uv": [ + 3, + 115, + 6, + 121 + ], + "texture": 0 + }, + "south": { + "uv": [ + 9, + 115, + 6, + 121 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 115, + 3, + 121 + ], + "texture": 0 + }, + "up": { + "uv": [ + 12, + 115, + 9, + 118 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 118, + 9, + 121 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e7ff9d0a-7634-2347-87cd-a2c09a40c121" + }, + { + "name": "HeadBand1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.5, + 17.25, + -3.5 + ], + "to": [ + 3.5, + 18.25, + -2.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 12, + 0 + ], + "faces": { + "north": { + "uv": [ + 30, + 100, + 37, + 101 + ], + "texture": 0 + }, + "east": { + "uv": [ + 30, + 100, + 31, + 101 + ], + "texture": 0 + }, + "south": { + "uv": [ + 30, + 100, + 37, + 101 + ], + "texture": 0 + }, + "west": { + "uv": [ + 36, + 100, + 37, + 101 + ], + "texture": 0 + }, + "up": { + "uv": [ + 30, + 100, + 37, + 101 + ], + "texture": 0 + }, + "down": { + "uv": [ + 30, + 100, + 37, + 101 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "4e8def1d-74d0-1cb8-1813-c9560d6ee31f" + }, + { + "name": "HeadBand2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.5, + 17.25, + 2.5 + ], + "to": [ + 3.5, + 18.25, + 3.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 12, + 0 + ], + "faces": { + "north": { + "uv": [ + 30, + 100, + 37, + 101 + ], + "texture": 0 + }, + "east": { + "uv": [ + 30, + 100, + 31, + 101 + ], + "texture": 0 + }, + "south": { + "uv": [ + 30, + 100, + 37, + 101 + ], + "texture": 0 + }, + "west": { + "uv": [ + 36, + 100, + 37, + 101 + ], + "texture": 0 + }, + "up": { + "uv": [ + 30, + 100, + 37, + 101 + ], + "texture": 0 + }, + "down": { + "uv": [ + 30, + 100, + 37, + 101 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "cb18d9b9-f7d0-1cc1-823e-c1291b54bcc8" + }, + { + "name": "HeadBand3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.5, + 17.25, + -2.5 + ], + "to": [ + -2.5, + 18.25, + 2.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 12, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 31, + 100, + 36, + 101 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 31, + 100, + 36, + 101 + ], + "texture": 0 + }, + "up": { + "uv": [ + 31, + 100, + 36, + 101 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 31, + 100, + 36, + 101 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "79af89b5-595d-d535-1924-0dcb56d01239" + }, + { + "name": "HeadBand4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2.5, + 17.25, + -2.5 + ], + "to": [ + 3.5, + 18.25, + 2.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 12, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 31, + 100, + 36, + 101 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 31, + 100, + 36, + 101 + ], + "texture": 0 + }, + "up": { + "uv": [ + 31, + 100, + 36, + 101 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 31, + 100, + 36, + 101 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "548d8731-b36a-d85e-debc-648dbb183ed4" + }, + { + "name": "HeadBand5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.5, + 18.25, + -3.5 + ], + "to": [ + -1.5, + 20.25, + -2.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -43.21918, + 13.99545, + 14.43276 + ], + "origin": [ + -2, + 17.75, + -3 + ], + "faces": { + "north": { + "uv": [ + 31, + 100, + 33, + 101 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 31, + 100, + 33, + 101 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 31, + 100, + 33, + 101 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 31, + 100, + 33, + 101 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 31, + 100, + 32, + 101 + ], + "texture": 0 + }, + "down": { + "uv": [ + 30, + 100, + 31, + 101 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "6dfd526a-b91a-42d6-0747-7af287b894c2" + }, + { + "name": "HeadBand6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.75, + 18.25, + -3.5 + ], + "to": [ + -0.75, + 20.25, + -2.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -44.56145, + -7.05302, + -7.10708 + ], + "origin": [ + -1.25, + 17.75, + -3 + ], + "faces": { + "north": { + "uv": [ + 30, + 100, + 32, + 101 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 30, + 100, + 32, + 101 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 30, + 100, + 32, + 101 + ], + "rotation": 90, + "texture": 0 + }, + "west": { + "uv": [ + 30, + 100, + 32, + 101 + ], + "rotation": 90, + "texture": 0 + }, + "up": { + "uv": [ + 30, + 100, + 31, + 101 + ], + "texture": 0 + }, + "down": { + "uv": [ + 31, + 100, + 32, + 101 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f10cd9fa-fd10-53c3-e230-442c1a6a49f3" + }, + { + "name": "DogHead", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 12, + -3 + ], + "to": [ + 3, + 18, + 3 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3, + 12, + -3 + ], + "faces": { + "north": { + "uv": [ + 0, + 121, + 6, + 127 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 121, + 12, + 127 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 121, + 18, + 127 + ], + "texture": 0 + }, + "west": { + "uv": [ + 12, + 121, + 6, + 127 + ], + "texture": 0 + }, + "up": { + "uv": [ + 18, + 121, + 24, + 127 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 121, + 30, + 127 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "bc76c0c9-e18f-64a0-282a-8f428e4f8b09" + }, + { + "name": "DogNose", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + 12, + -6 + ], + "to": [ + 1.5, + 15, + -3 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3, + 12, + -3 + ], + "faces": { + "north": { + "uv": [ + 0, + 127, + 3, + 130 + ], + "texture": 0 + }, + "east": { + "uv": [ + 3, + 127, + 6, + 130 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 6, + 127, + 3, + 130 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 127, + 9, + 130 + ], + "texture": 0 + }, + "down": { + "uv": [ + 9, + 127, + 12, + 130 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "82eecb77-8d71-25c5-1304-39b18b45245d" + }, + { + "name": "DogRightEar", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1, + 18, + -0.5 + ], + "to": [ + 3, + 20, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3, + 12, + -3 + ], + "faces": { + "north": { + "uv": [ + 12, + 127, + 14, + 129 + ], + "texture": 0 + }, + "east": { + "uv": [ + 14, + 127, + 15, + 129 + ], + "texture": 0 + }, + "south": { + "uv": [ + 15, + 127, + 17, + 129 + ], + "texture": 0 + }, + "west": { + "uv": [ + 14, + 127, + 15, + 129 + ], + "texture": 0 + }, + "up": { + "uv": [ + 17, + 127, + 19, + 128 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "bbc53ab9-0f91-bf4c-5212-45529626314a" + }, + { + "name": "DogLeftEar", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 18, + -0.5 + ], + "to": [ + -1, + 20, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3, + 12, + -3 + ], + "faces": { + "north": { + "uv": [ + 14, + 127, + 12, + 129 + ], + "texture": 0 + }, + "east": { + "uv": [ + 14, + 127, + 15, + 129 + ], + "texture": 0 + }, + "south": { + "uv": [ + 17, + 127, + 15, + 129 + ], + "texture": 0 + }, + "west": { + "uv": [ + 14, + 127, + 15, + 129 + ], + "texture": 0 + }, + "up": { + "uv": [ + 19, + 127, + 17, + 128 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "41281fa5-3c4b-ca26-2bb1-6727c99012aa" + }, + { + "name": "DogBody", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 6, + -1.5 + ], + "to": [ + 3, + 12, + 1.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3, + 2, + -3 + ], + "faces": { + "north": { + "uv": [ + 0, + 130, + 6, + 136 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 130, + 9, + 136 + ], + "texture": 0 + }, + "south": { + "uv": [ + 9, + 130, + 15, + 136 + ], + "texture": 0 + }, + "west": { + "uv": [ + 9, + 130, + 6, + 136 + ], + "texture": 0 + }, + "up": { + "uv": [ + 15, + 130, + 21, + 133 + ], + "texture": 0 + }, + "down": { + "uv": [ + 15, + 133, + 21, + 136 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "0b1c5a37-5eaf-b54c-7767-e8cfcea850cb" + }, + { + "name": "DogRightArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3, + 6, + -1 + ], + "to": [ + 5, + 12, + 1 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3, + 2, + -3 + ], + "faces": { + "north": { + "uv": [ + 21, + 130, + 23, + 136 + ], + "texture": 0 + }, + "east": { + "uv": [ + 23, + 130, + 25, + 136 + ], + "texture": 0 + }, + "south": { + "uv": [ + 25, + 130, + 27, + 136 + ], + "texture": 0 + }, + "west": { + "uv": [ + 25, + 130, + 23, + 136 + ], + "texture": 0 + }, + "up": { + "uv": [ + 21, + 128, + 23, + 130 + ], + "texture": 0 + }, + "down": { + "uv": [ + 23, + 128, + 25, + 130 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "aa238937-0545-5af9-ba78-96b236185349" + }, + { + "name": "DogLeftArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5, + 6, + -1 + ], + "to": [ + -3, + 12, + 1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 3, + 2, + -3 + ], + "faces": { + "north": { + "uv": [ + 23, + 130, + 21, + 136 + ], + "texture": 0 + }, + "east": { + "uv": [ + 23, + 130, + 25, + 136 + ], + "texture": 0 + }, + "south": { + "uv": [ + 27, + 130, + 25, + 136 + ], + "texture": 0 + }, + "west": { + "uv": [ + 25, + 130, + 23, + 136 + ], + "texture": 0 + }, + "up": { + "uv": [ + 23, + 128, + 21, + 130 + ], + "texture": 0 + }, + "down": { + "uv": [ + 25, + 128, + 23, + 130 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "20e922e4-ea35-0691-5f1f-a20b7154d276" + }, + { + "name": "DogRightLeg", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1.5 + ], + "to": [ + 3, + 6, + 1.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 6, + -2.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 136, + 3, + 142 + ], + "texture": 0 + }, + "east": { + "uv": [ + 3, + 136, + 6, + 142 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 136, + 9, + 142 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 136, + 3, + 142 + ], + "texture": 0 + }, + "up": { + "uv": [ + 9, + 136, + 12, + 139 + ], + "texture": 0 + }, + "down": { + "uv": [ + 9, + 139, + 12, + 142 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d5376ba0-d5db-36ae-0600-1c2ab30ed91a" + }, + { + "name": "DogLeftLeg", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 0, + -1.5 + ], + "to": [ + 0, + 6, + 1.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 6, + -2.5 + ], + "faces": { + "north": { + "uv": [ + 3, + 136, + 0, + 142 + ], + "texture": 0 + }, + "east": { + "uv": [ + 3, + 136, + 6, + 142 + ], + "texture": 0 + }, + "south": { + "uv": [ + 9, + 136, + 6, + 142 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 136, + 3, + 142 + ], + "texture": 0 + }, + "up": { + "uv": [ + 12, + 136, + 9, + 139 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 139, + 9, + 142 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c2236a9e-94b2-5c31-e7a6-254cf7fa7cdf" + }, + { + "name": "DogLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 12, + -3 + ], + "to": [ + 3, + 18, + 3 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + -3, + 12, + -3 + ], + "faces": { + "north": { + "uv": [ + 30, + 121, + 36, + 127 + ], + "texture": 0 + }, + "east": { + "uv": [ + 36, + 121, + 42, + 127 + ], + "texture": 0 + }, + "south": { + "uv": [ + 42, + 121, + 48, + 127 + ], + "texture": 0 + }, + "west": { + "uv": [ + 42, + 121, + 36, + 127 + ], + "texture": 0 + }, + "up": { + "uv": [ + 48, + 121, + 54, + 127 + ], + "texture": 0 + }, + "down": { + "uv": [ + 54, + 121, + 60, + 127 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "9e18da62-d918-c549-d8ac-26e411664202" + }, + { + "name": "DogBodyLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 6, + -1.5 + ], + "to": [ + 3, + 12, + 1.5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + -3, + 2, + -3 + ], + "faces": { + "north": { + "uv": [ + 12, + 136, + 18, + 142 + ], + "texture": 0 + }, + "east": { + "uv": [ + 18, + 136, + 21, + 142 + ], + "texture": 0 + }, + "south": { + "uv": [ + 21, + 136, + 27, + 142 + ], + "texture": 0 + }, + "west": { + "uv": [ + 21, + 136, + 18, + 142 + ], + "texture": 0 + }, + "up": { + "uv": [ + 27, + 136, + 33, + 139 + ], + "texture": 0 + }, + "down": { + "uv": [ + 27, + 139, + 33, + 142 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a7c13c65-9c68-2c92-5ded-3a984c6def76" + }, + { + "name": "DogHead", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 12, + -3 + ], + "to": [ + 3, + 18, + 3 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3, + 12, + -3 + ], + "faces": { + "north": { + "uv": [ + 0, + 142, + 6, + 148 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 142, + 12, + 148 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 142, + 18, + 148 + ], + "texture": 0 + }, + "west": { + "uv": [ + 12, + 142, + 6, + 148 + ], + "texture": 0 + }, + "up": { + "uv": [ + 18, + 142, + 24, + 148 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 142, + 30, + 148 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "18d17d46-5206-3783-649b-c2bf6f44a029" + }, + { + "name": "DogNose", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + 12, + -6 + ], + "to": [ + 1.5, + 15, + -3 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3, + 12, + -3 + ], + "faces": { + "north": { + "uv": [ + 0, + 148, + 3, + 151 + ], + "texture": 0 + }, + "east": { + "uv": [ + 3, + 148, + 6, + 151 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 6, + 148, + 3, + 151 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 148, + 9, + 151 + ], + "texture": 0 + }, + "down": { + "uv": [ + 9, + 148, + 12, + 151 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "ec34974c-d273-65a4-e0c2-5582c945ded3" + }, + { + "name": "DogRightEar", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1, + 18, + -0.5 + ], + "to": [ + 3, + 20, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3, + 12, + -3 + ], + "faces": { + "north": { + "uv": [ + 12, + 148, + 14, + 150 + ], + "texture": 0 + }, + "east": { + "uv": [ + 14, + 148, + 15, + 150 + ], + "texture": 0 + }, + "south": { + "uv": [ + 15, + 148, + 17, + 150 + ], + "texture": 0 + }, + "west": { + "uv": [ + 14, + 148, + 15, + 150 + ], + "texture": 0 + }, + "up": { + "uv": [ + 17, + 148, + 19, + 149 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "7d7c76ae-a9aa-58f4-f648-1123952c280e" + }, + { + "name": "DogLeftEar", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 18, + -0.5 + ], + "to": [ + -1, + 20, + 0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3, + 12, + -3 + ], + "faces": { + "north": { + "uv": [ + 14, + 148, + 12, + 150 + ], + "texture": 0 + }, + "east": { + "uv": [ + 14, + 148, + 15, + 150 + ], + "texture": 0 + }, + "south": { + "uv": [ + 17, + 148, + 15, + 150 + ], + "texture": 0 + }, + "west": { + "uv": [ + 14, + 148, + 15, + 150 + ], + "texture": 0 + }, + "up": { + "uv": [ + 19, + 148, + 17, + 149 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "0a24e5b6-d2db-7559-629d-f5b6f041bce0" + }, + { + "name": "DogBody", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 6, + -1.5 + ], + "to": [ + 3, + 12, + 1.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3, + 2, + -3 + ], + "faces": { + "north": { + "uv": [ + 0, + 151, + 6, + 157 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 151, + 9, + 157 + ], + "texture": 0 + }, + "south": { + "uv": [ + 9, + 151, + 15, + 157 + ], + "texture": 0 + }, + "west": { + "uv": [ + 9, + 151, + 6, + 157 + ], + "texture": 0 + }, + "up": { + "uv": [ + 15, + 151, + 21, + 154 + ], + "texture": 0 + }, + "down": { + "uv": [ + 15, + 154, + 21, + 157 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e51d13a5-4234-0ceb-bc69-a6c8d731187e" + }, + { + "name": "DogRightArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3, + 6, + -1 + ], + "to": [ + 5, + 12, + 1 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3, + 2, + -3 + ], + "faces": { + "north": { + "uv": [ + 21, + 151, + 23, + 157 + ], + "texture": 0 + }, + "east": { + "uv": [ + 23, + 151, + 25, + 157 + ], + "texture": 0 + }, + "south": { + "uv": [ + 25, + 151, + 27, + 157 + ], + "texture": 0 + }, + "west": { + "uv": [ + 25, + 151, + 23, + 157 + ], + "texture": 0 + }, + "up": { + "uv": [ + 21, + 149, + 23, + 151 + ], + "texture": 0 + }, + "down": { + "uv": [ + 23, + 149, + 25, + 151 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "31de49a4-a5d2-e458-6b2e-b24984f01a71" + }, + { + "name": "DogLeftArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5, + 6, + -1 + ], + "to": [ + -3, + 12, + 1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 3, + 2, + -3 + ], + "faces": { + "north": { + "uv": [ + 23, + 151, + 21, + 157 + ], + "texture": 0 + }, + "east": { + "uv": [ + 23, + 151, + 25, + 157 + ], + "texture": 0 + }, + "south": { + "uv": [ + 27, + 151, + 25, + 157 + ], + "texture": 0 + }, + "west": { + "uv": [ + 25, + 151, + 23, + 157 + ], + "texture": 0 + }, + "up": { + "uv": [ + 23, + 149, + 21, + 151 + ], + "texture": 0 + }, + "down": { + "uv": [ + 25, + 149, + 23, + 151 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "593d6a69-0825-1e99-69e2-c1a6a7d70669" + }, + { + "name": "DogRightLeg", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1.5 + ], + "to": [ + 3, + 6, + 1.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 6, + -2.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 157, + 3, + 163 + ], + "texture": 0 + }, + "east": { + "uv": [ + 3, + 157, + 6, + 163 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 157, + 9, + 163 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 157, + 3, + 163 + ], + "texture": 0 + }, + "up": { + "uv": [ + 9, + 157, + 12, + 160 + ], + "texture": 0 + }, + "down": { + "uv": [ + 9, + 160, + 12, + 163 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "378b46a5-68cd-d2e2-1301-38446e9e3c78" + }, + { + "name": "DogLeftLeg", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 0, + -1.5 + ], + "to": [ + 0, + 6, + 1.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 6, + -2.5 + ], + "faces": { + "north": { + "uv": [ + 3, + 157, + 0, + 163 + ], + "texture": 0 + }, + "east": { + "uv": [ + 3, + 157, + 6, + 163 + ], + "texture": 0 + }, + "south": { + "uv": [ + 9, + 157, + 6, + 163 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 157, + 3, + 163 + ], + "texture": 0 + }, + "up": { + "uv": [ + 12, + 157, + 9, + 160 + ], + "texture": 0 + }, + "down": { + "uv": [ + 12, + 160, + 9, + 163 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "09afdfd8-a688-583a-d2c9-aec7b3387b91" + }, + { + "name": "FoxMask", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.5, + 14, + -3 + ], + "to": [ + -3, + 18.5, + 3 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 12, + 0 + ], + "faces": { + "north": { + "uv": [ + 42, + 142, + 43, + 148 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 42, + 142, + 43, + 148 + ], + "texture": 0 + }, + "west": { + "uv": [ + 30, + 142, + 38, + 148 + ], + "texture": 0 + }, + "up": { + "uv": [ + 30, + 142, + 38, + 143 + ], + "texture": 0 + }, + "down": { + "uv": [ + 30, + 147, + 38, + 148 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "5a7cb0d3-baeb-b7cc-83ad-87bd87f1b2c9" + }, + { + "name": "FoxMaskNose", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 14, + -1.5 + ], + "to": [ + -3.5, + 15.5, + 1.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 12, + 0 + ], + "faces": { + "north": { + "uv": [ + 38, + 142, + 39, + 144 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 38, + 142, + 39, + 144 + ], + "texture": 0 + }, + "west": { + "uv": [ + 38, + 142, + 42, + 144 + ], + "texture": 0 + }, + "up": { + "uv": [ + 38, + 142, + 42, + 143 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 38, + 143, + 42, + 144 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "fb0e46d3-29ad-04b3-f393-17eaa00ebecd" + }, + { + "name": "FoxMaskRightEar", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.5, + 18.5, + -3 + ], + "to": [ + -3, + 20, + -1.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 12, + 0 + ], + "faces": { + "north": { + "uv": [ + 38, + 144, + 39, + 146 + ], + "texture": 0 + }, + "east": { + "uv": [ + 38, + 144, + 39, + 145 + ], + "texture": 0 + }, + "south": { + "uv": [ + 39, + 144, + 40, + 146 + ], + "texture": 0 + }, + "west": { + "uv": [ + 38, + 144, + 40, + 146 + ], + "texture": 0 + }, + "up": { + "uv": [ + 38, + 144, + 40, + 145 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + } + }, + "type": "cube", + "uuid": "6c5fda62-c38d-1503-e329-7b738ed27f63" + }, + { + "name": "FoxMaskLeftEar", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.5, + 18.5, + 1.5 + ], + "to": [ + -3, + 20, + 3 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 12, + 0 + ], + "faces": { + "north": { + "uv": [ + 39, + 144, + 40, + 146 + ], + "texture": 0 + }, + "east": { + "uv": [ + 38, + 144, + 39, + 145 + ], + "texture": 0 + }, + "south": { + "uv": [ + 38, + 144, + 39, + 145 + ], + "texture": 0 + }, + "west": { + "uv": [ + 40, + 144, + 38, + 146 + ], + "texture": 0 + }, + "up": { + "uv": [ + 38, + 144, + 40, + 145 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + } + }, + "type": "cube", + "uuid": "fc998c39-7713-3cff-8441-a40b0117321a" + }, + { + "name": "FoxMaskLineFront", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.3, + 18.2, + -3.1 + ], + "to": [ + 3.2, + 18.3, + -3 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3.3, + 18.25, + -3.05 + ], + "faces": { + "north": { + "uv": [ + 38, + 144, + 39, + 145 + ], + "texture": 0 + }, + "east": { + "uv": [ + 38, + 144, + 39, + 145 + ], + "texture": 0 + }, + "south": { + "uv": [ + 38, + 144, + 39, + 145 + ], + "texture": 0 + }, + "west": { + "uv": [ + 38, + 144, + 39, + 145 + ], + "texture": 0 + }, + "up": { + "uv": [ + 38, + 144, + 39, + 145 + ], + "texture": 0 + }, + "down": { + "uv": [ + 38, + 144, + 39, + 145 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "38143e92-2842-4323-ff49-4943ebf26aca" + }, + { + "name": "FoxMaskLineBack", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3.3, + 18.2, + 3 + ], + "to": [ + 3.2, + 18.3, + 3.1 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3.3, + 18.25, + -3.05 + ], + "faces": { + "north": { + "uv": [ + 38, + 144, + 39, + 145 + ], + "texture": 0 + }, + "east": { + "uv": [ + 38, + 144, + 39, + 145 + ], + "texture": 0 + }, + "south": { + "uv": [ + 38, + 144, + 39, + 145 + ], + "texture": 0 + }, + "west": { + "uv": [ + 38, + 144, + 39, + 145 + ], + "texture": 0 + }, + "up": { + "uv": [ + 38, + 144, + 39, + 145 + ], + "texture": 0 + }, + "down": { + "uv": [ + 38, + 144, + 39, + 145 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "778c330f-0b42-b91a-92de-6f7242830cfb" + }, + { + "name": "FoxMaskLineRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.1, + 18.2, + -3 + ], + "to": [ + 3.2, + 18.3, + 3 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3.3, + 18.25, + -3.05 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 38, + 144, + 39, + 145 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 38, + 144, + 39, + 145 + ], + "texture": 0 + }, + "up": { + "uv": [ + 38, + 144, + 39, + 145 + ], + "texture": 0 + }, + "down": { + "uv": [ + 38, + 144, + 39, + 145 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "977b07ff-72ac-4036-b450-ad316d7bc37e" + }, + { + "name": "IkaStick", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -65.375, + 18.5, + 11.125 + ], + "to": [ + -65.125, + 21.5, + 11.375 + ], + "autouv": 0, + "color": 0, + "origin": [ + -75, + 24, + 4 + ], + "faces": { + "north": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "east": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "south": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "west": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d739abb2-32d2-d029-5fc9-924a5903920f" + }, + { + "name": "IkaStick", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -61.375, + 18.5, + 11.125 + ], + "to": [ + -61.125, + 21.5, + 11.375 + ], + "autouv": 0, + "color": 0, + "origin": [ + -75, + 24, + 4 + ], + "faces": { + "north": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "east": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "south": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "west": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b69f65fc-c32b-309e-efd3-f3ed0a9cc309" + }, + { + "name": "TakoyakiContiner1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 0, + -2.125 + ], + "to": [ + 3, + 0.25, + 2.125 + ], + "autouv": 0, + "color": 0, + "origin": [ + 12.5, + 17, + 13.375 + ], + "faces": { + "north": { + "uv": [ + 66, + 0, + 67, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 66, + 0, + 67, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 66, + 0, + 67, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 66, + 0, + 67, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 66, + 0, + 67, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 66, + 0, + 67, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "85155592-9a35-92b7-2c1f-159aadc46528" + }, + { + "name": "Takoyaki1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.5, + 0.25, + -1.625 + ], + "to": [ + -1, + 1.75, + -0.125 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -90, + 0 + ], + "origin": [ + -1.75, + 1, + -0.875 + ], + "faces": { + "north": { + "uv": [ + 86, + 5, + 91, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 86, + 10, + 91, + 15 + ], + "texture": 0 + }, + "south": { + "uv": [ + 91, + 0, + 96, + 5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 91, + 5, + 96, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 86, + 0, + 91, + 5 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "4b3042d0-3e48-0a48-746a-59976d82378e" + }, + { + "name": "Takoyaki2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.5, + 0.25, + 0.125 + ], + "to": [ + -1, + 1.75, + 1.625 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -90, + 0 + ], + "origin": [ + -1.75, + 1, + 0.875 + ], + "faces": { + "north": { + "uv": [ + 86, + 5, + 91, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 86, + 10, + 91, + 15 + ], + "texture": 0 + }, + "south": { + "uv": [ + 91, + 0, + 96, + 5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 91, + 5, + 96, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 86, + 0, + 91, + 5 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "3ad10079-3184-f058-1b57-77df803569fa" + }, + { + "name": "Takoyaki3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.75, + 0.25, + -1.625 + ], + "to": [ + 0.75, + 1.75, + -0.125 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 1, + -0.875 + ], + "faces": { + "north": { + "uv": [ + 86, + 5, + 91, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 86, + 10, + 91, + 15 + ], + "texture": 0 + }, + "south": { + "uv": [ + 91, + 0, + 96, + 5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 91, + 5, + 96, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 86, + 0, + 91, + 5 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9eec793a-ed53-bc76-52f5-b6a15ab8f0e5" + }, + { + "name": "Takoyaki4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.75, + 0.25, + 0.125 + ], + "to": [ + 0.75, + 1.75, + 1.625 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -90, + 0 + ], + "origin": [ + 0, + 1, + 0.875 + ], + "faces": { + "north": { + "uv": [ + 86, + 5, + 91, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 86, + 10, + 91, + 15 + ], + "texture": 0 + }, + "south": { + "uv": [ + 91, + 0, + 96, + 5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 91, + 5, + 96, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 86, + 0, + 91, + 5 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "50f4e652-14c5-6eda-a661-b501697aab60" + }, + { + "name": "Takoyaki5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1, + 0.25, + -1.625 + ], + "to": [ + 2.5, + 1.75, + -0.125 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1.75, + 1, + -0.875 + ], + "faces": { + "north": { + "uv": [ + 86, + 5, + 91, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 86, + 10, + 91, + 15 + ], + "texture": 0 + }, + "south": { + "uv": [ + 91, + 0, + 96, + 5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 91, + 5, + 96, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 86, + 0, + 91, + 5 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "0781c79f-4b9f-1cef-ea09-733f27b4e63b" + }, + { + "name": "Takoyaki6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1, + 0.25, + 0.125 + ], + "to": [ + 2.5, + 1.75, + 1.625 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 90, + 0 + ], + "origin": [ + 1.75, + 1, + 0.875 + ], + "faces": { + "north": { + "uv": [ + 86, + 5, + 91, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 86, + 10, + 91, + 15 + ], + "texture": 0 + }, + "south": { + "uv": [ + 91, + 0, + 96, + 5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 91, + 5, + 96, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 86, + 0, + 91, + 5 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "da135290-c75e-65b3-2b80-93973800b62e" + }, + { + "name": "TakoyakiContiner2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 0.25, + -2.125 + ], + "to": [ + -2.75, + 1.5, + 2.125 + ], + "autouv": 0, + "color": 0, + "origin": [ + 12.5, + 17, + 13.375 + ], + "faces": { + "north": { + "uv": [ + 66, + 0, + 67, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 66, + 0, + 67, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 66, + 0, + 67, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 66, + 0, + 67, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 66, + 0, + 67, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "82244002-d4dd-30a5-9454-57303446710f" + }, + { + "name": "TakoyakiContiner3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2.75, + 0.25, + -2.125 + ], + "to": [ + 3, + 1.5, + 2.125 + ], + "autouv": 0, + "color": 0, + "origin": [ + 12.5, + 17, + 13.375 + ], + "faces": { + "north": { + "uv": [ + 66, + 0, + 67, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 66, + 0, + 67, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 66, + 0, + 67, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 66, + 0, + 67, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 66, + 0, + 67, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "3cebe31d-4c84-60b3-8e6b-7d9eb7cd9847" + }, + { + "name": "TakoyakiContiner4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.75, + 0.25, + -2.125 + ], + "to": [ + 2.75, + 1.5, + -1.875 + ], + "autouv": 0, + "color": 0, + "origin": [ + 12.5, + 17, + 13.375 + ], + "faces": { + "north": { + "uv": [ + 66, + 0, + 67, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 66, + 0, + 67, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 66, + 0, + 67, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "eafd8370-43a1-9c63-5d36-21750d3359b8" + }, + { + "name": "TakoyakiContiner5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.75, + 0.25, + 1.875 + ], + "to": [ + 2.75, + 1.5, + 2.125 + ], + "autouv": 0, + "color": 0, + "origin": [ + 12.5, + 17, + 13.375 + ], + "faces": { + "north": { + "uv": [ + 66, + 0, + 67, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 66, + 0, + 67, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 66, + 0, + 67, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "91c3bc76-ae56-2054-faf8-32bf91eea75e" + }, + { + "name": "Takoyaki7", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.625, + 1.75, + -0.75 + ], + "to": [ + -0.125, + 3.25, + 0.75 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + -180, + 0 + ], + "origin": [ + -0.875, + 2.5, + 0 + ], + "faces": { + "north": { + "uv": [ + 86, + 5, + 91, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 86, + 10, + 91, + 15 + ], + "texture": 0 + }, + "south": { + "uv": [ + 91, + 0, + 96, + 5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 91, + 5, + 96, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 86, + 0, + 91, + 5 + ], + "texture": 0 + }, + "down": { + "uv": [ + 91, + 10, + 96, + 15 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "757e6e1f-4a0b-2965-6f12-02aa6813b359" + }, + { + "name": "Takoyaki8", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.125, + 1.75, + -0.75 + ], + "to": [ + 1.625, + 3.25, + 0.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0.875, + 2.5, + 0 + ], + "faces": { + "north": { + "uv": [ + 86, + 5, + 91, + 10 + ], + "texture": 0 + }, + "east": { + "uv": [ + 86, + 10, + 91, + 15 + ], + "texture": 0 + }, + "south": { + "uv": [ + 91, + 0, + 96, + 5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 91, + 5, + 96, + 10 + ], + "texture": 0 + }, + "up": { + "uv": [ + 86, + 0, + 91, + 5 + ], + "texture": 0 + }, + "down": { + "uv": [ + 91, + 10, + 96, + 15 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "76f412da-2ea8-ef1b-9dd7-212e54be9ffd" + }, + { + "name": "Stick", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + 0, + 1.625 + ], + "to": [ + 2.5, + 0.25, + 1.875 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + 135 + ], + "origin": [ + -1.5, + 0.25, + 1.75 + ], + "faces": { + "north": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "east": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "south": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "west": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "up": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "down": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "7655f280-44f4-1cee-4fcf-a59153d37991" + }, + { + "name": "Stick", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.125, + 0, + -0.125 + ], + "to": [ + 0.125, + 6.5, + 0.125 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "east": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "south": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "west": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "9419d7c2-bfc3-c099-012b-ea2f51b9bfc4" + }, + { + "name": "Dumplings1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.75, + 2, + -0.75 + ], + "to": [ + 0.75, + 3.5, + 0.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 28, + 56, + 31, + 59 + ], + "texture": 0 + }, + "east": { + "uv": [ + 28, + 56, + 31, + 59 + ], + "texture": 0 + }, + "south": { + "uv": [ + 28, + 56, + 31, + 59 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 56, + 31, + 59 + ], + "texture": 0 + }, + "up": { + "uv": [ + 31, + 56, + 34, + 59 + ], + "texture": 0 + }, + "down": { + "uv": [ + 34, + 56, + 37, + 59 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "adcd171b-fd94-0513-06cc-45a251332725" + }, + { + "name": "Dumplings2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.75, + 3.625, + -0.75 + ], + "to": [ + 0.75, + 5.125, + 0.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 28, + 56, + 31, + 59 + ], + "texture": 0 + }, + "east": { + "uv": [ + 28, + 56, + 31, + 59 + ], + "texture": 0 + }, + "south": { + "uv": [ + 28, + 56, + 31, + 59 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 56, + 31, + 59 + ], + "texture": 0 + }, + "up": { + "uv": [ + 31, + 56, + 34, + 59 + ], + "texture": 0 + }, + "down": { + "uv": [ + 34, + 56, + 37, + 59 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c32b520e-9ac1-6388-8e09-b670ebdd49e0" + }, + { + "name": "Dumplings3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.75, + 5.25, + -0.75 + ], + "to": [ + 0.75, + 6.75, + 0.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 28, + 56, + 31, + 59 + ], + "texture": 0 + }, + "east": { + "uv": [ + 28, + 56, + 31, + 59 + ], + "texture": 0 + }, + "south": { + "uv": [ + 28, + 56, + 31, + 59 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 56, + 31, + 59 + ], + "texture": 0 + }, + "up": { + "uv": [ + 31, + 56, + 34, + 59 + ], + "texture": 0 + }, + "down": { + "uv": [ + 34, + 56, + 37, + 59 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c8ddc146-20f1-cb9d-1861-5f492cda0b15" + }, + { + "name": "Handle", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.75, + 6.25, + -3 + ], + "to": [ + 4.25, + 6.75, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 11, + 1 + ], + "faces": { + "north": { + "uv": [ + 27, + 130, + 28, + 131 + ], + "texture": 0 + }, + "east": { + "uv": [ + 27, + 130, + 28, + 131 + ], + "texture": 0 + }, + "south": { + "uv": [ + 27, + 130, + 28, + 131 + ], + "texture": 0 + }, + "west": { + "uv": [ + 27, + 130, + 28, + 131 + ], + "texture": 0 + }, + "up": { + "uv": [ + 27, + 130, + 28, + 131 + ], + "texture": 0 + }, + "down": { + "uv": [ + 27, + 130, + 28, + 131 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "bdeda1f3-6576-2faf-6c34-71cdb899b361" + }, + { + "name": "Head1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3, + 6.375, + -3.25 + ], + "to": [ + 5, + 6.625, + -2.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 11, + 1 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 27, + 131, + 28, + 132 + ], + "texture": 0 + }, + "south": { + "uv": [ + 27, + 131, + 28, + 132 + ], + "texture": 0 + }, + "west": { + "uv": [ + 27, + 131, + 28, + 132 + ], + "texture": 0 + }, + "up": { + "uv": [ + 27, + 131, + 28, + 132 + ], + "texture": 0 + }, + "down": { + "uv": [ + 27, + 131, + 28, + 132 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "6c1acfa1-ba1b-32b5-d43d-fa82c5228815" + }, + { + "name": "Head2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2.5, + 6.375, + -4.75 + ], + "to": [ + 5.5, + 6.625, + -3.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 4, + 11, + 1 + ], + "faces": { + "north": { + "uv": [ + 27, + 131, + 28, + 132 + ], + "texture": 0 + }, + "east": { + "uv": [ + 27, + 131, + 28, + 132 + ], + "texture": 0 + }, + "south": { + "uv": [ + 27, + 131, + 28, + 132 + ], + "texture": 0 + }, + "west": { + "uv": [ + 27, + 131, + 28, + 132 + ], + "texture": 0 + }, + "up": { + "uv": [ + 27, + 131, + 28, + 132 + ], + "texture": 0 + }, + "down": { + "uv": [ + 27, + 131, + 28, + 132 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e5eab1fa-3040-086a-1adc-f1deac2fe3c5" + }, + { + "name": "Handle", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.25, + 6.25, + -3 + ], + "to": [ + -3.75, + 6.75, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -4, + 11, + 1 + ], + "faces": { + "north": { + "uv": [ + 28, + 130, + 27, + 131 + ], + "texture": 0 + }, + "east": { + "uv": [ + 28, + 130, + 27, + 131 + ], + "texture": 0 + }, + "south": { + "uv": [ + 28, + 130, + 27, + 131 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 130, + 27, + 131 + ], + "texture": 0 + }, + "up": { + "uv": [ + 28, + 130, + 27, + 131 + ], + "texture": 0 + }, + "down": { + "uv": [ + 28, + 130, + 27, + 131 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "7dd85684-1eeb-2920-32ce-b6459750470c" + }, + { + "name": "Head1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5, + 6.375, + -3.25 + ], + "to": [ + -3, + 6.625, + -2.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + -4, + 11, + 1 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 28, + 131, + 27, + 132 + ], + "texture": 0 + }, + "south": { + "uv": [ + 28, + 131, + 27, + 132 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 131, + 27, + 132 + ], + "texture": 0 + }, + "up": { + "uv": [ + 28, + 131, + 27, + 132 + ], + "texture": 0 + }, + "down": { + "uv": [ + 28, + 131, + 27, + 132 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "fe60a0f9-02a3-a323-5acc-d7ddc309085f" + }, + { + "name": "Head2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5.5, + 6.375, + -4.75 + ], + "to": [ + -2.5, + 6.625, + -3.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + -4, + 11, + 1 + ], + "faces": { + "north": { + "uv": [ + 28, + 131, + 27, + 132 + ], + "texture": 0 + }, + "east": { + "uv": [ + 28, + 131, + 27, + 132 + ], + "texture": 0 + }, + "south": { + "uv": [ + 28, + 131, + 27, + 132 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 131, + 27, + 132 + ], + "texture": 0 + }, + "up": { + "uv": [ + 28, + 131, + 27, + 132 + ], + "texture": 0 + }, + "down": { + "uv": [ + 28, + 131, + 27, + 132 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d0e30ce5-1b8e-a1f4-fb45-dd12789e1aa6" + }, + { + "name": "Stick", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.125, + 0, + -0.125 + ], + "to": [ + 0.125, + 6.5, + 0.125 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "east": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "south": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "west": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2191537c-ce73-84b2-0ef2-bea5e78bc6a4" + }, + { + "name": "BananaBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.75, + 2, + -0.75 + ], + "to": [ + 0.75, + 5, + 0.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 37, + 52, + 40, + 58 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 52, + 43, + 58 + ], + "texture": 0 + }, + "south": { + "uv": [ + 43, + 52, + 46, + 58 + ], + "texture": 0 + }, + "west": { + "uv": [ + 46, + 52, + 49, + 58 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 37, + 55, + 40, + 58 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8db91331-5853-dfad-95e2-a1f8e74649cb" + }, + { + "name": "BananaTop", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.75, + 5, + -0.75 + ], + "to": [ + 0.75, + 8, + 0.75 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + 0, + 5, + -0.75 + ], + "faces": { + "north": { + "uv": [ + 49, + 52, + 52, + 58 + ], + "texture": 0 + }, + "east": { + "uv": [ + 52, + 52, + 55, + 58 + ], + "texture": 0 + }, + "south": { + "uv": [ + 55, + 52, + 58, + 58 + ], + "texture": 0 + }, + "west": { + "uv": [ + 58, + 52, + 61, + 58 + ], + "texture": 0 + }, + "up": { + "uv": [ + 56, + 49, + 59, + 52 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "3c87e182-e88a-cf19-9d27-4dbce8a8aa2a" + }, + { + "name": "IkaHead", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.75, + 4, + -0.75 + ], + "to": [ + 0.75, + 6, + 0.75 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.75, + 4, + -0.75 + ], + "faces": { + "north": { + "uv": [ + 0, + 84, + 12, + 100 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 84, + 24, + 100 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 84, + 36, + 100 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 84, + 12, + 100 + ], + "texture": 0 + }, + "up": { + "uv": [ + 36, + 84, + 48, + 96 + ], + "texture": 0 + }, + "down": { + "uv": [ + 36, + 84, + 48, + 96 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "156f65f2-925b-5b5d-8bdc-28a68089e178" + }, + { + "name": "IkaStick", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.125, + 0, + -0.125 + ], + "to": [ + 0.125, + 4, + 0.125 + ], + "autouv": 0, + "color": 0, + "origin": [ + -0.75, + 4, + -0.75 + ], + "faces": { + "north": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "east": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "south": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "west": { + "uv": [ + 61, + 10, + 62, + 11 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "cd101537-6a75-b3c8-bdab-89c079543efb" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.125, + 1.75, + -0.75 + ], + "to": [ + 0.125, + 4, + -0.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + 0, + 4, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a0188fef-cf8a-280d-4d07-9b214114f597" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.125, + 1.75, + -0.75 + ], + "to": [ + 0.125, + 4, + -0.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + 0, + 4, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "6dcda869-6eff-6038-32dd-688903e47855" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.125, + 1.75, + -0.75 + ], + "to": [ + 0.125, + 4, + -0.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + 0, + 4, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "18189e3c-c3de-7f76-d7fe-630b6b3c85ce" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.125, + 1.75, + -0.75 + ], + "to": [ + 0.125, + 4, + -0.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + 0, + 4, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b6b0a459-4057-d926-c62c-4e0ebf23f2a2" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.125, + 1.75, + -0.75 + ], + "to": [ + 0.125, + 4, + -0.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + 0, + 4, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2a540d66-78ba-a2d4-0acc-ee53a521946e" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.125, + 1.75, + -0.75 + ], + "to": [ + 0.125, + 4, + -0.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + 0, + 4, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "ca1a5f09-ab19-fce0-6bd7-fd0ea4a7aef1" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.125, + 1.75, + -0.75 + ], + "to": [ + 0.125, + 4, + -0.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + 0, + 4, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2fd97e26-5076-0e96-8f6e-735cf46851a4" + }, + { + "name": "IkaFoot", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.125, + 1.75, + -0.75 + ], + "to": [ + 0.125, + 4, + -0.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + 0, + 4, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "south": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 84, + 50, + 102 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 48, + 100, + 50, + 102 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2442ac47-1e35-d8f8-8e01-7482ddcd7f6d" + }, + { + "name": "Sweat1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.001, + 14.1, + 0.25 + ], + "to": [ + 3.001, + 15.6, + 1.15 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 12.35, + 0.25 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 61, + 49, + 64, + 54 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b40bc414-730f-f546-a7fc-96c6611befb2" + }, + { + "name": "Sweat2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.001, + 14.6, + -0.75 + ], + "to": [ + 3.001, + 15.8, + -0.03 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 12.35, + 0.25 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 61, + 49, + 64, + 54 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "35088f54-ee15-0b65-6c42-a51e5e0b1ddc" + }, + { + "name": "RightEyeShine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1.125, + 25.475, + -4.02 + ], + "to": [ + 1.875, + 26.525, + -4.02 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1.75, + 26, + -4 + ], + "faces": { + "north": { + "uv": [ + 64, + 49, + 69, + 56 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ac1bb69a-f7e7-467f-0664-e057655fe604" + }, + { + "name": "LeftEyeShine", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.875, + 25.475, + -4.02 + ], + "to": [ + -1.125, + 26.525, + -4.02 + ], + "autouv": 0, + "color": 0, + "origin": [ + -1.75, + 26, + -4 + ], + "faces": { + "north": { + "uv": [ + 64, + 49, + 69, + 56 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e3668db2-e964-361b-4cc5-5f893a07aa8e" + }, + { + "name": "LaughterLine1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5.5, + -0.5, + 0 + ], + "to": [ + -3, + 0.5, + 0 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 0, + 0, + -5 + ], + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 69, + 49, + 79, + 53 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 69, + 49, + 79, + 53 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "a83246c4-ea4e-0bbd-b7be-f8a52a936b91" + }, + { + "name": "LaughterLine2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -6, + -0.5, + 0 + ], + "to": [ + -3, + 0.5, + 0 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 0, + 0, + -27.5 + ], + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 69, + 53, + 81, + 57 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 69, + 53, + 81, + 57 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "db66cadf-1fc7-cc53-6057-a28f8071778e" + }, + { + "name": "LaughterLine3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5.5, + -0.5, + 0 + ], + "to": [ + -3, + 0.5, + 0 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 0, + 0, + -50 + ], + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 69, + 49, + 79, + 53 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 69, + 49, + 79, + 53 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "2bd83459-4e98-9d34-e7f3-b47a07d6ec48" + }, + { + "name": "TakoyakiPlate2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -20.5, + 16, + 13.75 + ], + "to": [ + 9, + 20, + 21.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -23, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 60, + 7, + 61, + 12 + ], + "texture": 0 + }, + "east": { + "uv": [ + 60, + 7, + 61, + 12 + ], + "texture": 0 + }, + "south": { + "uv": [ + 60, + 7, + 61, + 12 + ], + "texture": 0 + }, + "west": { + "uv": [ + 60, + 7, + 61, + 12 + ], + "texture": 0 + }, + "up": { + "uv": [ + 60, + 7, + 61, + 8 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "69165100-2738-152e-1710-6ee9077469f9" + } + ], + "outliner": [ + { + "name": "Stalls", + "origin": [ + -23, + 0, + 0 + ], + "color": 0, + "uuid": "05ed33b8-0e31-9dcf-1539-958b9aef2e78", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "TakoyakiStall", + "origin": [ + -23, + 0, + 0 + ], + "color": 0, + "uuid": "f3256be3-411c-579a-6299-2d903f731d96", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "TakoyakiStallTable", + "origin": [ + -23, + 0, + 0 + ], + "color": 0, + "uuid": "9c9847ef-92d5-13ff-13be-3f46e8e9ddbf", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "fe0c24a6-94f9-6b9a-03e9-97a6e1f5c262", + "39e1b380-7389-769c-9849-4104a42835e5", + "fbc44191-2880-d70b-9169-7ffe32934d6c", + "fbf2e3ac-d5d0-9dac-3008-6c2b3cbce971", + { + "name": "TakoyakiTableItems", + "origin": [ + -23, + 0, + 0 + ], + "color": 0, + "uuid": "a2fe9f56-562a-fd30-a5aa-50ebcc9cf2dc", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Flavors", + "origin": [ + -23, + 0, + 0 + ], + "color": 0, + "uuid": "7951809d-2fbe-522a-bbb0-30def845d9f1", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "FlavorsTable", + "origin": [ + -23, + 0, + 0 + ], + "color": 0, + "uuid": "77d019fe-5d88-f294-2fd9-c36a1a02e410", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "82d2acba-4c54-1d39-eb71-3d7ad5bbd9a6", + "84544375-f7dc-f7ab-e335-f09d61a0a050", + "25049f51-7f95-4a9a-9ba7-41c28ab73895", + "716e14b3-8b71-5346-b832-4057a6f6ab00", + { + "name": "Flavor1", + "origin": [ + -2, + 20, + 5.775 + ], + "rotation": [ + -32.5, + 0, + 0 + ], + "color": 0, + "uuid": "1f12a4ca-9264-6759-4baa-a49ad5e99b10", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "2fda5d16-defe-b3eb-74d5-5204fc05543e", + "039ece8f-5f0a-01b6-6033-823c82493a84", + "f6801059-d805-ade5-4984-f87a946a93ab", + "35036b79-8e26-8e09-5185-ffe914dada61", + "1509477d-8dd1-b771-8f06-95b545a8ff62", + "17dde3fb-1c8e-4b26-9ba5-5a628ea94137" + ] + }, + { + "name": "Flavor2", + "origin": [ + -6.25, + 20, + 5.775 + ], + "rotation": [ + -32.5, + 0, + 0 + ], + "color": 0, + "uuid": "da07459d-81b0-b2c7-de5a-ee0921102cb6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f07e05c2-ef25-20b7-6a13-abf381999ae7", + "83099f89-349b-d0ba-692a-0f2cf5ca7dcb", + "0e7c11f9-9c43-d2de-d5e9-1d657ad95b83", + "c250a240-031e-cc2b-3332-e6a85e9b670e", + "03b654ce-bdca-31a5-ccc6-f93b64ba3aff", + "62973564-8f79-d6a3-c6fe-40f82fb1f577" + ] + }, + { + "name": "Flavor3", + "origin": [ + -10.5, + 20, + 5.775 + ], + "rotation": [ + -32.5, + 0, + 0 + ], + "color": 0, + "uuid": "42497774-d38e-e55e-1f03-5263170994a6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "94b85e45-6670-3c82-130e-88c58d24f624", + "46ddb586-20df-4a44-fa3a-6355f5ad3f62", + "bf7e580f-7f22-9f6b-2a3b-9deeb69483bb", + "1b0a3bea-066b-cfcf-3fcf-0a3246643a77", + "8ef5052b-17a7-a117-622e-56220551c65e", + "3ec6c346-a858-533f-aaed-4ffc6feabaae" + ] + }, + { + "name": "Flavor4", + "origin": [ + -16.75, + 20, + 5.775 + ], + "rotation": [ + -32.5, + 0, + 0 + ], + "color": 0, + "uuid": "93e8d113-cab4-1e77-5f8b-6eb092b5ff1c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "445b3c93-cac1-46af-6661-cea8febbab26", + "a7d0e454-e046-af90-a193-747737fa160f", + "6d78a788-02b0-1b64-74c4-75c01abe62d8", + "e5963562-1002-ab3b-c04f-63f3e8e761f0", + "6a949d91-b228-da20-7568-414e47e1f47e", + "e3508d8b-3b30-d420-1c39-6695a8927221" + ] + } + ] + } + ] + }, + { + "name": "TakoyakiPlate", + "origin": [ + -23, + 0, + 0 + ], + "color": 0, + "uuid": "4b952c5d-f095-37e3-9f8e-1a8fe33c2997", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "TakoyakiPlate1", + "origin": [ + -23, + 0, + 0 + ], + "color": 0, + "uuid": "9fc25685-12a5-a384-8613-3b730df707be", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "5ff7c7c4-4e0f-e558-e64f-526c49b4205a", + "69165100-2738-152e-1710-6ee9077469f9", + "5f6bfea9-951b-728b-4ff3-47d94a802e6d", + "316a2137-e3c9-0eec-3453-6eb9632cb524", + "51d99f8f-35c1-d03f-78cc-26c4ca564278", + "bee123d9-01ae-385c-dbbb-40ab0c7775a8", + "26b4a80a-1a5e-4660-b52a-2e9b47f1fea5", + "2187751f-0c06-b71b-a03c-f48ed3cd4010", + "139e16f6-716c-b6bb-a752-5245aa0e440d", + "28adfc85-6d18-ccd5-b7ad-f54944321ab8", + "1fc197d5-c6ce-856d-efcb-3e7380fb3951", + "90b11f1f-ae5a-12b1-d3e6-d5360d20e63b", + "2bf1b402-9165-5c63-ddb1-408f145a3f98", + "d73ef6f5-3f39-663c-a819-295f06ae215a", + "6858a78b-8ace-2e27-a2f1-ae7d96a349b8", + "e67cd094-82e3-564e-cbdc-31087256bf9f", + "df452227-70ab-f397-9c78-7fe93d751048", + "8989d4eb-702a-37a5-399a-3648a5bafb0b", + "991734c8-aed2-400a-da08-254ec93fba9f", + "50173185-f0b0-5717-7df7-c245fd027854", + "4af9bc6e-1cfe-16f9-8ab7-1450a2bb84d7", + "c53dda32-2fe5-a801-fbc6-7ce80866a83c" + ] + }, + { + "name": "TakoyakiPlate2", + "origin": [ + -13, + 0, + 0 + ], + "color": 0, + "uuid": "a8fe928c-d879-70d5-e907-005fe7c9b5c3", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ed2947dd-8289-67bb-0d7a-330331f00ec1", + { + "name": "ExSkill1ParticleAnchor1", + "origin": [ + -5.75, + 20, + 10.625 + ], + "color": 0, + "uuid": "e27a44a7-9a5d-bd6f-4e36-3ae4bd4f1fd7", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + { + "name": "TakoyakiPlate3", + "origin": [ + -3, + 0, + 0 + ], + "color": 0, + "uuid": "690f15fd-1968-3d80-fcdd-1d29dd66d2dc", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "522c5137-afba-f25d-5678-1f1b2f56822c", + "22e31f97-9a16-153e-ac43-37ed6f16a4a0", + "20de28cc-8917-a693-48a2-b6bbb2a8fb33", + "76dd6743-2c73-43ed-ead5-1dc18038dbfe", + "b821cdfe-cdcd-bfd6-14a0-45e68a895114", + "cd1d9499-0cc9-0e80-0113-e050e0df5f08", + "808628dc-1cf8-f0c7-20f7-a0217836d779", + "6aea291e-d08c-baf8-bed8-230280dd9430", + "cc1b9697-cd2c-e019-8167-9175e1875cc9", + "f89c72c9-6f83-b246-0bba-01530e27e0e2", + "622ed5b5-36f2-e6eb-0e77-dc261794cf9d", + "4c6120aa-20c2-26d2-9a18-c2e498ed11bb", + "59c41074-acc2-01e7-9717-3e9e444949f4", + "2f46af46-2332-3da4-e668-5d9d31128232", + "10cce160-656d-5c02-6a6b-12e7629603cd", + "8cafd626-bcad-8c1c-7e5a-99ee0c8ef7c3", + "3a1e8801-262f-1cac-a665-54dc80ea6e99", + "0556497b-9886-1736-21fb-05897e68c173", + "d72c835c-8a77-9932-ac5d-e47ef68d1e0b", + "43968ed8-6c57-ef64-41f1-3885bf0372b0", + "ec13d397-ba35-7e4e-b48e-6b21edbd7fcc" + ] + } + ] + }, + { + "name": "Katsuobushi", + "origin": [ + -23, + 0, + 0 + ], + "color": 0, + "uuid": "67ad2a4d-8833-c086-a5e4-df30c22141fe", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "c9546c91-59fe-f64a-78d9-b573c9acdb54", + "8f43c12c-44d9-7457-4c50-937c311a3e81", + "00c091e3-8e68-18b9-ecaf-39e355c3e19a", + "cb0d2d86-f6e1-91f8-7697-e444645681ba", + "a43a8787-1e2d-c7ed-e2b9-7c67d2257858", + "f12fb284-28a3-a589-50dd-d53a65291336" + ] + }, + { + "name": "Sticks", + "origin": [ + -23, + 0, + 0 + ], + "color": 0, + "uuid": "f550e12b-69c1-e613-ed2c-cd2838f21108", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "2b8b1463-df73-1278-e14e-f4cd0ebd9e40", + "cb10abcf-b631-7821-0edf-12e2e719dc51" + ] + }, + { + "name": "Takoyaki", + "origin": [ + -23, + 0, + 0 + ], + "color": 0, + "uuid": "b4366453-2265-66fc-0d38-80e3a4287779", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "3b50b337-d118-0033-4c3d-a04b4a92c236", + "802e6120-bb02-e4fb-d9c9-b307ccb1c220", + "9101d748-c8d8-f29f-86c9-76e2fa86610d", + "e964b517-7da0-9531-3b1d-eada8f2ec5d4", + "37acb530-8910-ec53-7863-0675d61bc6fb", + { + "name": "Takoyaki2", + "origin": [ + 15.1688, + 17, + 4.10938 + ], + "rotation": [ + 0, + -12.5, + 0 + ], + "color": 0, + "uuid": "7c571daf-5ea0-98a7-efbf-87fab686692a", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "27a3fd72-e17c-52c0-235b-5b5582b690fb", + "e5edc14b-eae5-d571-27ad-e6ac798ad761", + "d56063ac-5dd1-fca7-5b51-ef180e3091d3", + "aee96339-d24b-1a42-3fa8-6b855a24d8fc", + "adc562b7-8ddb-f638-fce0-2888d7c15aaa", + "e47ffc1c-62c3-a6bd-b7be-2bab31757fdf", + "62b3c3bc-bb03-d75b-0d4d-25f9f8f25e00", + "cb4cf644-e5d6-2e58-7280-089302db13c6", + "92e3ef9d-afcd-3416-ff2a-7ba932444d3a", + "a8140ea0-1ded-6f04-9e0a-ce449c8a4561", + "35a66d4f-7fc4-2751-a7c4-a81a9bf2f6c5", + "f5e1f802-192a-a9c4-4953-beed6a34416b", + "6fa875d7-f68a-af3d-c0cd-1a277e8aba7e", + "4bc624bc-0644-a3f1-68b0-9c2f05d12c3b", + "5ecd816d-240a-3a7d-ef6d-efb95231ecc5", + "1c3c0cd8-6805-a90d-f235-4b5b4a150b27" + ] + }, + { + "name": "ExSkill1ParticleAnchor2", + "origin": [ + 15, + 18, + 4 + ], + "color": 0, + "uuid": "10fec1f5-3402-16cf-0579-c1fa140884b7", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + } + ] + } + ] + }, + { + "name": "TakoyakiStallFrames", + "origin": [ + -23, + 0, + 0 + ], + "color": 0, + "uuid": "26e1c56e-3753-09e4-76d5-1f8652baa7ae", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "180c56aa-ed84-7d62-4d77-e5cec7ae0920", + "e5294d1f-65f2-88e5-df1f-2df03b609410", + "a844a871-f0c9-cd55-dc83-29a76ff1baa9", + "28acc56e-c4e6-9085-7e03-0ecd21955299", + "efb27830-e763-12bd-76b5-cd238669f640", + "3fa07526-b3c9-93c4-3a9a-c67f3544fd05", + "1a01d014-95dc-1969-6268-e803cfa999c7", + "bf597bac-32ea-5b4f-7203-2dbb34cc198c", + "3b163d30-d3a7-0719-812d-b2e12984ffcf", + "a377261f-8bff-786e-e30e-b6d0bfb087ac", + "a4ca208e-7510-46a3-9e30-8ada37b51163", + { + "name": "TakoyakiStallLamp", + "origin": [ + 14, + 46, + 0.125 + ], + "color": 0, + "uuid": "e99fd2c4-6375-9ff3-22eb-ed2c3876871b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "41454444-2c8d-a28f-4ac3-a50da6d9f466", + "0d13a4eb-9b7f-69cb-efdd-83e55537e10d", + "3257863b-c683-de75-0918-fe640098eccc" + ] + } + ] + }, + { + "name": "TakoyakiStallRoof", + "origin": [ + -23, + 8, + 0 + ], + "color": 0, + "uuid": "37a66c45-0749-a835-4a97-4594e457b643", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f7de42ad-3cad-37e8-299a-5c65ce5cb87c", + "b757d003-645f-e7fb-27eb-69829ee1c655", + "60ed1f7b-3156-c380-0eea-7172050b5720", + "a2ec24aa-593b-12a7-ad89-ecb311bc1ab1", + "cbc0711e-3aaa-315f-aaca-2f2f680ab9df" + ] + } + ] + }, + { + "name": "IkayakiStall", + "origin": [ + -87, + 0, + 0 + ], + "color": 0, + "uuid": "ffc56998-93a5-0ed2-0222-324a049802e6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "IkayakiStallTable", + "origin": [ + -87, + 0, + 0 + ], + "color": 0, + "uuid": "a21a0566-5c9d-2359-70da-ac3eac0d3112", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4da0ec8f-2f9d-e872-8f31-4c8b68038cc8", + "8f94613b-52e6-f0f3-c5dc-0c6c11a9f6b1", + "99e13c89-62e5-d686-bbfe-c70bb982c656", + "1b0fd353-50d1-30fd-677d-d3b08911ff8a", + "f8d4362d-edf7-427f-86de-72cf19dba459", + "0ff79b7a-08e6-4768-6787-2e5bc8a7f279", + { + "name": "IkayakiTableItems", + "origin": [ + -87, + 0, + 0 + ], + "color": 0, + "uuid": "8c20cde1-bce9-586b-b6bb-87807742e7da", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Ikayaki", + "origin": [ + -87, + 0, + 0 + ], + "color": 0, + "uuid": "445e07a6-ae7f-5a38-2938-dc18e361e7a4", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "IkayakiTable", + "origin": [ + -87, + 0, + 0 + ], + "color": 0, + "uuid": "744ea077-ca0a-54e1-d9c8-fcddc906a61b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "3c107b1c-ccb5-edea-aea7-c24528d7f7c8", + "c1e041cb-7836-9677-585a-a1cc33dce3ce", + "ee463932-0912-2f22-f327-36c3bb7988d9", + "98c04a85-254f-5462-80c4-af614367d969" + ] + }, + { + "name": "Ikayaki1", + "origin": [ + -82, + 22, + 1 + ], + "color": 0, + "uuid": "b00b28fb-cf80-649e-2329-53759b0f6241", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "2e8bd2d4-2ab2-5cfe-b124-624691ba7634", + "a0186286-85d3-98c8-aac0-98d24a25682c", + { + "name": "IkaFoot1_1", + "origin": [ + -81.25, + 22, + 1.75 + ], + "color": 0, + "uuid": "c541aa2a-21f7-cb30-eb2f-17103872ded3", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "5a4fe25e-b92a-52e0-de0a-08e33f136162" + ] + }, + { + "name": "IkaFoot1_2", + "origin": [ + -81.25, + 22, + 1.75 + ], + "rotation": [ + 0, + 45, + 0 + ], + "color": 0, + "uuid": "8ff398c4-59a8-a240-cc79-20708910c25c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "71bc1ee4-0d5a-0aee-5d1c-18c4133710b3" + ] + }, + { + "name": "IkaFoot1_3", + "origin": [ + -81.25, + 22, + 1.75 + ], + "rotation": [ + 0, + 90, + 0 + ], + "color": 0, + "uuid": "6264b70a-e22a-664d-7a03-1e615ce43c06", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "6aff2b21-29bf-4a7e-7eb6-2862e62fb801" + ] + }, + { + "name": "IkaFoot1_4", + "origin": [ + -81.25, + 22, + 1.75 + ], + "rotation": [ + 0, + 135, + 0 + ], + "color": 0, + "uuid": "1589b556-9832-7135-2689-4e0417bb97a1", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f151383c-24ff-7213-4a60-331da02ffa21" + ] + }, + { + "name": "IkaFoot1_5", + "origin": [ + -81.25, + 22, + 1.75 + ], + "rotation": [ + 0, + -180, + 0 + ], + "color": 0, + "uuid": "6595f81a-c2c2-b857-81d7-9b3de9b6425b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b1c4179e-6184-e69f-6b75-50d316917952" + ] + }, + { + "name": "IkaFoot1_6", + "origin": [ + -81.25, + 22, + 1.75 + ], + "rotation": [ + 0, + -135, + 0 + ], + "color": 0, + "uuid": "26082c93-e112-1d3c-4c63-65744aaadaaf", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f69e1781-48cc-bc3b-5a20-721252a3b36c" + ] + }, + { + "name": "IkaFoot1_7", + "origin": [ + -81.25, + 22, + 1.75 + ], + "rotation": [ + 0, + -90, + 0 + ], + "color": 0, + "uuid": "f98e538d-5039-5f9f-d711-2cf40f271bce", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "cdc04e59-7a37-5ab2-07ff-d4b1efa6388b" + ] + }, + { + "name": "IkaFoot1_8", + "origin": [ + -81.25, + 22, + 1.75 + ], + "rotation": [ + 0, + -45, + 0 + ], + "color": 0, + "uuid": "ec5ae2ab-247a-1a46-d924-1e1fe453f1ad", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "48421873-073e-e667-f350-b7cc74a5c9e6" + ] + } + ] + }, + { + "name": "Ikayaki2", + "origin": [ + -78.5, + 22, + 1 + ], + "color": 0, + "uuid": "1ffe187e-606e-0c69-9daf-cf07f8988720", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "80b91cb7-b816-0f9a-7c30-84c0df4ebc27", + "811b13db-ec2b-9b6f-6fe9-d71edf230b27", + { + "name": "IkaFoot2_1", + "origin": [ + -77.75, + 22, + 1.75 + ], + "color": 0, + "uuid": "f6a13ca1-3d5b-aa83-9ac7-91ad9a8ae5ba", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a36a54d8-997e-75c2-e80e-fb4dd505d1a6" + ] + }, + { + "name": "IkaFoot2_2", + "origin": [ + -77.75, + 22, + 1.75 + ], + "rotation": [ + 0, + 45, + 0 + ], + "color": 0, + "uuid": "aa7ae185-737f-4afc-6097-77793fc89c95", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "5a970f81-cc71-1bd6-1441-cf822016f5d1" + ] + }, + { + "name": "IkaFoot2_3", + "origin": [ + -77.75, + 22, + 1.75 + ], + "rotation": [ + 0, + 90, + 0 + ], + "color": 0, + "uuid": "774991a6-2ad3-845a-fcf6-675dcdc4968d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "14150725-469e-c0f0-7fac-2ca547d298f4" + ] + }, + { + "name": "IkaFoot2_4", + "origin": [ + -77.75, + 22, + 1.75 + ], + "rotation": [ + 0, + 135, + 0 + ], + "color": 0, + "uuid": "ff28ac6d-271e-9f7f-5ec6-3379900b2329", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "edfbeefc-5ae6-8204-3a9b-9a7a5160bc7c" + ] + }, + { + "name": "IkaFoot2_5", + "origin": [ + -77.75, + 22, + 1.75 + ], + "rotation": [ + 0, + -180, + 0 + ], + "color": 0, + "uuid": "30fa0de8-8a12-d76b-0014-26a92c383fba", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ec6c5b76-507e-61c0-a3f2-37d7aa4c4f31" + ] + }, + { + "name": "IkaFoot2_6", + "origin": [ + -77.75, + 22, + 1.75 + ], + "rotation": [ + 0, + -135, + 0 + ], + "color": 0, + "uuid": "ef77c258-fd31-4f42-97a0-7c4eda848519", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "5a6fe646-0443-78ef-faf9-cc99a6b89801" + ] + }, + { + "name": "IkaFoot2_7", + "origin": [ + -77.75, + 22, + 1.75 + ], + "rotation": [ + 0, + -90, + 0 + ], + "color": 0, + "uuid": "79b2ed99-970c-1b6f-9492-37b516c054ec", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f3612f5e-6ea0-b3ae-f444-582618b46251" + ] + }, + { + "name": "IkaFoot2_8", + "origin": [ + -77.75, + 22, + 1.75 + ], + "rotation": [ + 0, + -45, + 0 + ], + "color": 0, + "uuid": "bff38246-4f49-8108-4746-c57459dfe5e1", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "14e13bb8-9784-ad3a-81e6-8735c32d141c" + ] + } + ] + }, + { + "name": "Ikayaki3", + "origin": [ + -75, + 22, + 1 + ], + "color": 0, + "uuid": "43f73867-0088-0efc-7ae3-4ede3be3fa57", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "23876975-83ac-3861-9daf-db56e582fe0d", + "75d583b6-c9a8-6b6f-d588-570d85fc26b9", + { + "name": "IkaFoot3_1", + "origin": [ + -74.25, + 22, + 1.75 + ], + "color": 0, + "uuid": "2a89fdfb-ed85-10de-d59a-3ec53cecc3cd", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "0fe52e11-0b51-49e0-c739-cc3073473789" + ] + }, + { + "name": "IkaFoot3_2", + "origin": [ + -74.25, + 22, + 1.75 + ], + "rotation": [ + 0, + 45, + 0 + ], + "color": 0, + "uuid": "8b0fc437-aaa0-e3ad-696a-5e708583716f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1ac257ef-444f-4f1f-8968-70d6b2258a71" + ] + }, + { + "name": "IkaFoot3_3", + "origin": [ + -74.25, + 22, + 1.75 + ], + "rotation": [ + 0, + 90, + 0 + ], + "color": 0, + "uuid": "c534c70d-1789-33b1-0f08-59dd55a85288", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a2efa630-c593-bf72-0235-eb91e825c66f" + ] + }, + { + "name": "IkaFoot3_4", + "origin": [ + -74.25, + 22, + 1.75 + ], + "rotation": [ + 0, + 135, + 0 + ], + "color": 0, + "uuid": "6612ab20-07f0-440e-a8a8-23b9ca059ab3", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "3cd136b0-cbf0-7c1c-a533-3660af4bb445" + ] + }, + { + "name": "IkaFoot3_5", + "origin": [ + -74.25, + 22, + 1.75 + ], + "rotation": [ + 0, + -180, + 0 + ], + "color": 0, + "uuid": "66fb2254-46dd-a5ae-7c4a-089dd7b1d571", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "73f9a5a4-1d93-09f3-c047-e295e41ff5bb" + ] + }, + { + "name": "IkaFoot3_6", + "origin": [ + -74.25, + 22, + 1.75 + ], + "rotation": [ + 0, + -135, + 0 + ], + "color": 0, + "uuid": "f7383b9c-4fc0-dccd-f983-be3f91262b99", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "26a148b0-f3f6-a9e0-904c-627cd91564d7" + ] + }, + { + "name": "IkaFoot3_7", + "origin": [ + -74.25, + 22, + 1.75 + ], + "rotation": [ + 0, + -90, + 0 + ], + "color": 0, + "uuid": "9be731e7-9ad0-dfea-dc2a-5e0be3830f5a", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "0a6bcfc5-f7d9-d005-9e25-013b163876c5" + ] + }, + { + "name": "IkaFoot3_8", + "origin": [ + -74.25, + 22, + 1.75 + ], + "rotation": [ + 0, + -45, + 0 + ], + "color": 0, + "uuid": "e52c6779-4e2a-5c68-6525-3b16ca483d3b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "59655611-2fed-73b0-1eab-ac30e8200e6a" + ] + } + ] + }, + { + "name": "Ikayaki4", + "origin": [ + -82, + 24, + 4 + ], + "color": 0, + "uuid": "b047f197-d2ca-26ba-8abc-a0d591affe88", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "dcb27a5a-58d0-39dc-092a-bf4c3bc46fd5", + "208a19d5-0061-69ec-03e8-0d910f985e1a", + { + "name": "IkaFoot4_1", + "origin": [ + -81.25, + 24, + 4.75 + ], + "color": 0, + "uuid": "852e6c7b-c93d-c689-012e-7923cf3bdfef", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f7f6c22c-35d6-fba7-5236-991c30161c88" + ] + }, + { + "name": "IkaFoot4_2", + "origin": [ + -81.25, + 24, + 4.75 + ], + "rotation": [ + 0, + 45, + 0 + ], + "color": 0, + "uuid": "e084a32e-7dd0-e87b-222f-9b03e28c36fd", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d1eb7388-bee9-b614-e676-7c80a2ccf5b2" + ] + }, + { + "name": "IkaFoot4_3", + "origin": [ + -81.25, + 24, + 4.75 + ], + "rotation": [ + 0, + 90, + 0 + ], + "color": 0, + "uuid": "0a932f14-d343-487e-41a4-f84781bec0e1", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "dd0c29c5-8a5c-6cfb-ae65-cd4c4641a31e" + ] + }, + { + "name": "IkaFoot4_4", + "origin": [ + -81.25, + 24, + 4.75 + ], + "rotation": [ + 0, + 135, + 0 + ], + "color": 0, + "uuid": "61107381-0d87-5fe0-8326-3fea6478b049", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "3cd1aec6-a9f8-11c3-04d6-7d6efe757f87" + ] + }, + { + "name": "IkaFoot4_5", + "origin": [ + -81.25, + 24, + 4.75 + ], + "rotation": [ + 0, + -180, + 0 + ], + "color": 0, + "uuid": "5ff46838-4e91-312b-5c24-b95d2c7d98c0", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "45175010-868e-1b3b-e0f4-f5b839822065" + ] + }, + { + "name": "IkaFoot4_6", + "origin": [ + -81.25, + 24, + 4.75 + ], + "rotation": [ + 0, + -135, + 0 + ], + "color": 0, + "uuid": "343cad91-5029-5488-46e1-8185c1fe638e", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "45f9eaad-226f-4c55-36ad-42ace1887cdf" + ] + }, + { + "name": "IkaFoot4_7", + "origin": [ + -81.25, + 24, + 4.75 + ], + "rotation": [ + 0, + -90, + 0 + ], + "color": 0, + "uuid": "b1f1962a-2014-f80a-d541-1bfac7d764ad", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "2909d1fe-ba7e-a4cb-777e-7eab6e7f6827" + ] + }, + { + "name": "IkaFoot4_8", + "origin": [ + -81.25, + 24, + 4.75 + ], + "rotation": [ + 0, + -45, + 0 + ], + "color": 0, + "uuid": "3b708dd9-7e00-fb28-a016-c6e4504c8f13", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f0a1cbe1-90be-fa23-dad9-8341972c95c0" + ] + } + ] + }, + { + "name": "Ikayaki5", + "origin": [ + -78.5, + 24, + 4 + ], + "color": 0, + "uuid": "ba46b6d6-bede-0237-1131-133984d1b2db", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4ad2f373-34af-4806-1aee-586053582895", + "04c37949-3050-9eb5-1479-8a524ea910a6", + { + "name": "IkaFoot5_1", + "origin": [ + -77.75, + 24, + 4.75 + ], + "color": 0, + "uuid": "85f290fd-28b7-e4da-a0ef-baed3057a634", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "6b1db373-f6ed-e281-04af-e0a356ecd5cb" + ] + }, + { + "name": "IkaFoot5_2", + "origin": [ + -77.75, + 24, + 4.75 + ], + "rotation": [ + 0, + 45, + 0 + ], + "color": 0, + "uuid": "249e7f85-07cc-b53a-b1b9-a253bda0602a", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a329f5a4-e534-26a9-263a-22086c36b638" + ] + }, + { + "name": "IkaFoot5_3", + "origin": [ + -77.75, + 24, + 4.75 + ], + "rotation": [ + 0, + 90, + 0 + ], + "color": 0, + "uuid": "358d6235-09f1-5565-1d81-e6766e00e631", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "02eb4e61-0752-cc1a-65df-b61257444069" + ] + }, + { + "name": "IkaFoot5_4", + "origin": [ + -77.75, + 24, + 4.75 + ], + "rotation": [ + 0, + 135, + 0 + ], + "color": 0, + "uuid": "ec8121c5-1a5d-2ca0-a239-9e3230f73fc8", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e2966717-81a3-cea9-6b8a-55b52678624f" + ] + }, + { + "name": "IkaFoot5_5", + "origin": [ + -77.75, + 24, + 4.75 + ], + "rotation": [ + 0, + -180, + 0 + ], + "color": 0, + "uuid": "4894b008-cccb-11c2-acaa-1b7936180bb8", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "c2a2ea37-bad0-4f78-801a-9f937b191734" + ] + }, + { + "name": "IkaFoot5_6", + "origin": [ + -77.75, + 24, + 4.75 + ], + "rotation": [ + 0, + -135, + 0 + ], + "color": 0, + "uuid": "3ea5cd66-362a-fdfb-bcdb-d718146f683a", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "6d478df7-c7c5-c854-43d4-0f4492b2af35" + ] + }, + { + "name": "IkaFoot5_7", + "origin": [ + -77.75, + 24, + 4.75 + ], + "rotation": [ + 0, + -90, + 0 + ], + "color": 0, + "uuid": "ae1dc844-bc09-f312-c60f-9c370abfee58", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "602a2bc7-c8b1-ffe4-dfec-687985608246" + ] + }, + { + "name": "IkaFoot5_8", + "origin": [ + -77.75, + 24, + 4.75 + ], + "rotation": [ + 0, + -45, + 0 + ], + "color": 0, + "uuid": "f9318e3d-e33f-bee7-fdcb-8ed13bcdd104", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8c486d5f-c9c8-ed2c-b901-d33a21e60447" + ] + } + ] + }, + { + "name": "Ikayaki6", + "origin": [ + -75, + 24, + 4 + ], + "color": 0, + "uuid": "034152f3-303c-6039-0330-4608602f501e", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "2edd5317-40f1-0bb6-e2e1-6be5efa8df42", + "a3ba4012-2b72-c17a-8c4d-cf264f0f727d", + { + "name": "IkaFoot6_1", + "origin": [ + -74.25, + 24, + 4.75 + ], + "color": 0, + "uuid": "607ba5e2-fea9-3ddf-c632-3671c6dc7280", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "516117cf-ed31-5cee-ad7c-9933d5821b2c" + ] + }, + { + "name": "IkaFoot6_2", + "origin": [ + -74.25, + 24, + 4.75 + ], + "rotation": [ + 0, + 45, + 0 + ], + "color": 0, + "uuid": "f7e5661d-5964-09fc-c6b2-416c1386dfc4", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "2267d97d-c7e6-599d-9a66-cd66e8e353fd" + ] + }, + { + "name": "IkaFoot6_3", + "origin": [ + -74.25, + 24, + 4.75 + ], + "rotation": [ + 0, + 90, + 0 + ], + "color": 0, + "uuid": "dc767a04-b97f-7e7b-d60d-91cf0b2e5701", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "88a1192f-e6cc-33df-06b4-9e6dd4ed6df3" + ] + }, + { + "name": "IkaFoot6_4", + "origin": [ + -74.25, + 24, + 4.75 + ], + "rotation": [ + 0, + 135, + 0 + ], + "color": 0, + "uuid": "5537556c-981e-97d1-0f2d-101b8700c610", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1eed18a8-ff4b-e67a-2807-53310521ad68" + ] + }, + { + "name": "IkaFoot6_5", + "origin": [ + -74.25, + 24, + 4.75 + ], + "rotation": [ + 0, + -180, + 0 + ], + "color": 0, + "uuid": "a947464c-a9f4-996d-28c7-1a062552e3b6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a95e6277-89cb-d5fc-4f26-696581b0dddb" + ] + }, + { + "name": "IkaFoot6_6", + "origin": [ + -74.25, + 24, + 4.75 + ], + "rotation": [ + 0, + -135, + 0 + ], + "color": 0, + "uuid": "74ae266f-ef89-c358-c7cd-58b0521750a4", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "dc95393a-6450-4387-37a4-f235bd957dbd" + ] + }, + { + "name": "IkaFoot6_7", + "origin": [ + -74.25, + 24, + 4.75 + ], + "rotation": [ + 0, + -90, + 0 + ], + "color": 0, + "uuid": "6dff893b-e57d-a6d6-75bc-9dcad6beb4e8", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d2d6c8c1-7cb9-6f34-0335-59784a580f07" + ] + }, + { + "name": "IkaFoot6_8", + "origin": [ + -74.25, + 24, + 4.75 + ], + "rotation": [ + 0, + -45, + 0 + ], + "color": 0, + "uuid": "12b97d00-92e1-57a2-7707-8ca02f7a872c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "aa296984-8b08-7678-88af-66fc3af911d1" + ] + } + ] + } + ] + }, + { + "name": "IkaFeet", + "origin": [ + -151, + 0, + -1 + ], + "color": 0, + "uuid": "6f19efa3-c4cf-ad20-9903-626392d7bc1f", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "45ee1f39-c7bc-5350-1081-5e80f08f23a7", + "7e273f08-652e-47fd-114f-4d4d603ebe08", + "ae788b62-e93e-02b9-4196-51ef8a637ac6", + "1f3ed358-a242-0d05-0496-9f56e08ad37e", + "51140ad6-225f-f502-ad27-a484115ef7e6", + { + "name": "IkaFeet1", + "origin": [ + -52.75, + 17, + 0.625 + ], + "color": 0, + "uuid": "dd7e36a8-219c-4541-ed69-8a143b977b75", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "afa8186c-eced-e8a3-a268-3cc73202cdb5", + "16265e38-5195-d526-ccad-c33831ce372f", + "724145b5-de7e-e688-ab93-694b7df1e470", + "2ffaa0f0-93d5-1507-44e6-ec0efaab0efc" + ] + }, + { + "name": "IkaFeet2", + "origin": [ + -48, + 17, + 0.625 + ], + "color": 0, + "uuid": "3e688dc1-fd65-057a-b28b-794093068343", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "139d08a9-2d2b-4f76-5c3d-eebd84082756", + "fc0cbebe-06fb-885f-0e8b-0f7370edafe5", + "d05fbf84-d6ca-c27f-6142-9192b41703c3", + "7a2ebdfe-f962-a418-98db-11f7bce27dee" + ] + } + ] + }, + { + "name": "IkaHead", + "origin": [ + -163, + 0, + -1 + ], + "color": 0, + "uuid": "667f6a69-6f02-d7f6-6dd3-ddeda5a0bcf9", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "588a6aef-0ca8-7313-41b1-355b325c9b5b", + "434d2361-a182-5890-f741-41f2aec62d09", + "f4e39221-d95e-9e6e-02a2-67213b75269d", + "1472d011-fe2a-c2c0-652e-c8f3d65412d2", + "45333b72-70cc-8831-23de-e7be2934e6c9", + "b3b5d390-44e2-8fdb-0db6-287b5d585ba0", + "3097b5b7-4718-b7c0-34df-b594b5f12c8b", + "11af6dda-2ef6-83ba-f7eb-7945cc2b7ee4", + "3cc82d64-eda1-a9f4-aa05-2e6291a65fdb", + "674b85dc-2527-678f-a0d8-800ee3f21ce0" + ] + }, + { + "name": "IkayakiPlate", + "origin": [ + -87, + 0, + 0 + ], + "color": 0, + "uuid": "27f44bb1-b507-c5ba-29b7-aaccc81c9605", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "75117022-5595-7f6c-f2dc-11db9ef2a8fc", + { + "name": "Ikayaki7", + "origin": [ + -66, + 21.5, + 10.5 + ], + "rotation": [ + 90, + -180, + 0 + ], + "color": 0, + "uuid": "6a49a562-60ff-3ff6-afff-bdb3ee5bdd4d", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "72b16a48-5208-9a7c-ade8-f72a28334214", + "d739abb2-32d2-d029-5fc9-924a5903920f", + { + "name": "IkaFoot7_1", + "origin": [ + -65.25, + 21.5, + 11.25 + ], + "color": 0, + "uuid": "8584e946-328a-c650-ebb6-aa26dbf25e3f", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e80cd849-1cf9-4e77-6b83-82c582bbf46c" + ] + }, + { + "name": "IkaFoot7_2", + "origin": [ + -65.25, + 21.5, + 11.25 + ], + "rotation": [ + 0, + 45, + 0 + ], + "color": 0, + "uuid": "44d70d58-cbb4-ad2a-eda3-257255472aa5", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b0b438c7-7c06-9ba3-b5be-2dca9b6592ea" + ] + }, + { + "name": "IkaFoot7_3", + "origin": [ + -65.25, + 21.5, + 11.25 + ], + "rotation": [ + 0, + 90, + 0 + ], + "color": 0, + "uuid": "92eb7199-0d63-89bb-3034-a39c17286381", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1e9dcde4-9840-50b4-8e01-cb757cfd8d7d" + ] + }, + { + "name": "IkaFoot7_4", + "origin": [ + -65.25, + 21.5, + 11.25 + ], + "rotation": [ + 0, + 135, + 0 + ], + "color": 0, + "uuid": "62d8600b-4d2f-4f1f-02c9-c943813a1ba8", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a64af188-5a72-e2ed-89f9-1ebf9968ea4f" + ] + }, + { + "name": "IkaFoot7_5", + "origin": [ + -65.25, + 21.5, + 11.25 + ], + "rotation": [ + 0, + -180, + 0 + ], + "color": 0, + "uuid": "77221a02-1a2f-340f-efc4-3149bd60aaed", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1470d371-0c30-f741-9e06-4a5649d26d0f" + ] + }, + { + "name": "IkaFoot7_6", + "origin": [ + -65.25, + 21.5, + 11.25 + ], + "rotation": [ + 0, + -135, + 0 + ], + "color": 0, + "uuid": "98da983f-3b0b-58fb-74b6-9f29a2cf8725", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "6aca60b2-1b8e-fb13-7fab-672e94f9aba9" + ] + }, + { + "name": "IkaFoot7_7", + "origin": [ + -65.25, + 21.5, + 11.25 + ], + "rotation": [ + 0, + -90, + 0 + ], + "color": 0, + "uuid": "2aefdae9-e52c-21a1-6c6e-15b7371590a1", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d57c75c8-b68c-2a4f-867e-7d825691b6d0" + ] + }, + { + "name": "IkaFoot7_8", + "origin": [ + -65.25, + 21.5, + 11.25 + ], + "rotation": [ + 0, + -45, + 0 + ], + "color": 0, + "uuid": "fdfcdbfe-3b28-464a-2ab8-c113fb7859f0", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b4e3d32f-02b2-33de-ded1-eeda3e424ec6" + ] + } + ] + }, + { + "name": "Ikayaki8", + "origin": [ + -62, + 21.5, + 10.5 + ], + "rotation": [ + 90, + -180, + 0 + ], + "color": 0, + "uuid": "82c799a6-32b0-920c-5355-3e67e1577aa4", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "244a8c70-02e8-5bff-f3af-94740884588c", + "b69f65fc-c32b-309e-efd3-f3ed0a9cc309", + { + "name": "IkaFoot8_1", + "origin": [ + -61.25, + 21.5, + 11.25 + ], + "color": 0, + "uuid": "e2c1540d-c448-780e-0acb-f65fc79d4a64", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "72f36711-0717-5f60-9aad-07feee14053a" + ] + }, + { + "name": "IkaFoot8_2", + "origin": [ + -61.25, + 21.5, + 11.25 + ], + "rotation": [ + 0, + 45, + 0 + ], + "color": 0, + "uuid": "171b43c7-314c-1f82-3c1b-3d06097fbaad", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d3e06846-c7f6-466d-269a-a32312e0be18" + ] + }, + { + "name": "IkaFoot8_3", + "origin": [ + -61.25, + 21.5, + 11.25 + ], + "rotation": [ + 0, + 90, + 0 + ], + "color": 0, + "uuid": "2cddf00f-9ca1-9cc4-176a-0366757403d5", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "dfac3903-9847-2b11-5755-533b0be1c514" + ] + }, + { + "name": "IkaFoot8_4", + "origin": [ + -61.25, + 21.5, + 11.25 + ], + "rotation": [ + 0, + 135, + 0 + ], + "color": 0, + "uuid": "79440c33-af45-b6e0-8747-eaf60a381826", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "86a6eb91-f69d-f7b1-a773-52ef9833ea56" + ] + }, + { + "name": "IkaFoot8_5", + "origin": [ + -61.25, + 21.5, + 11.25 + ], + "rotation": [ + 0, + -180, + 0 + ], + "color": 0, + "uuid": "b963aa9c-b6a9-08f6-03ec-b98930a85f89", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d2e1b690-d4d5-9fd0-fce6-60f6f1c48bf2" + ] + }, + { + "name": "IkaFoot8_6", + "origin": [ + -61.25, + 21.5, + 11.25 + ], + "rotation": [ + 0, + -135, + 0 + ], + "color": 0, + "uuid": "e79c6bca-473d-2a52-c272-3b1f5e3d845c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a8bb15b2-b0b6-1ced-2065-c610ae3691bb" + ] + }, + { + "name": "IkaFoot8_7", + "origin": [ + -61.25, + 21.5, + 11.25 + ], + "rotation": [ + 0, + -90, + 0 + ], + "color": 0, + "uuid": "b158533d-935c-0db6-f91b-d22a525f0987", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "0fb77739-318c-1402-6533-9f8a320d72bb" + ] + }, + { + "name": "IkaFoot8_8", + "origin": [ + -61.25, + 21.5, + 11.25 + ], + "rotation": [ + 0, + -45, + 0 + ], + "color": 0, + "uuid": "f146cad9-ffce-f4d6-eaba-7ea132435c40", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f0744557-90c4-0794-1046-8e59d4e225a6" + ] + } + ] + }, + { + "name": "IkaFeet3", + "origin": [ + -56.125, + 20.25, + 10.48053 + ], + "rotation": [ + 0, + 157.5, + 0 + ], + "color": 0, + "uuid": "7923a50e-a0b3-2ee8-b004-bf3184813fbc", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "87a9bec3-3998-a659-a2f4-6591e563660c", + "0c27a9da-c140-44ec-40c8-5a29b47159ff", + "80d6b009-b4c0-15bf-cac6-cdca680dfc1a", + "252de90f-a39d-9072-970b-99dda81400c1" + ] + }, + { + "name": "IkaFeet4", + "origin": [ + -51.125, + 20.25, + 10.98053 + ], + "rotation": [ + 0, + -180, + 0 + ], + "color": 0, + "uuid": "006aa706-9c2e-ea61-8af3-324380108421", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "6a72a553-d2dc-76ac-b6ac-2214c69477bf", + "f11015a7-d19d-6df6-3f56-4f1e355539a4", + "3ddb072d-21dc-03f5-9b74-b41728da5652", + "0b8cb914-46fe-c29f-98f0-47a1586824df" + ] + }, + { + "name": "IkaFeet5", + "origin": [ + -46.625, + 20.25, + 10.48053 + ], + "rotation": [ + 0, + -160, + 0 + ], + "color": 0, + "uuid": "a97c5489-0972-8c44-3d6a-35800e34974f", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "79917a72-f5c8-3aa2-029a-3523b927ec4a", + "c0219903-9358-e02b-413e-809d0dca925d", + "2a1d291b-4aa7-d9b0-fbe6-13f4d6763be8", + "52fb5ba4-45e7-04a7-964c-458f398ea0ba" + ] + }, + { + "name": "ExSkill1ParticleAnchor3", + "origin": [ + -57, + 20, + 10.625 + ], + "color": 0, + "uuid": "f8bd8d0b-21df-be94-60d9-e03d6f3d1b6e", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + { + "name": "FlavorBottles", + "origin": [ + -87, + 0, + 1 + ], + "color": 0, + "uuid": "8017705e-7f49-e696-50f9-8eccb84268a6", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "FlavorBottle1", + "origin": [ + -71, + 16, + 1 + ], + "color": 0, + "uuid": "95030819-218c-dae9-8a4c-b57e9e5621eb", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "347bbbfc-7efb-29d9-0a6c-ff57ded2f2b9", + "8986996d-b4d1-6378-7ed8-bc7eef135c89" + ] + }, + { + "name": "FlavorBottle2", + "origin": [ + -69.75, + 16, + 3.25 + ], + "color": 0, + "uuid": "430a1871-dfae-9c83-f09c-ee6d47ce39fc", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e15153c2-a72a-003c-628e-82582fa9fbbf", + "fa953db7-dbd3-4346-54a6-155eb3b560a5" + ] + }, + { + "name": "FlavorBottle3", + "origin": [ + -68.75, + 16, + 0.5 + ], + "color": 0, + "uuid": "1d3dc3fc-c202-bbb2-0918-e4d99512eda2", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b1498861-6884-46bc-a226-c1a986777186", + "c58ea26c-a917-1b73-4e4b-7f8ccc4c4f6f" + ] + } + ] + }, + { + "name": "Sticks2", + "origin": [ + -114.5, + 0, + -4 + ], + "color": 0, + "uuid": "6eacf29b-235a-d981-f01a-491ee4eb1055", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "3d74eb99-6c12-689f-7547-4565599ba1e8", + "b254f3e0-70d7-bb66-bb90-6c183fcc0185" + ] + } + ] + } + ] + }, + { + "name": "IkayakiStallFrames", + "origin": [ + -87, + 0, + 0 + ], + "color": 0, + "uuid": "bbac97be-128c-b77e-1e70-c83efa358ec3", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "76d0f236-a93a-5816-a3c6-ab5c999d86d9", + "cf08f307-11c5-fb76-a7a8-fed229a3938e", + "354c2cfc-f02e-8efe-a355-3e5f9fa8e193", + "a6c7f415-0097-4d18-a3b1-f6dd3ee77e5d", + "e29c6c4c-dd0f-d482-c630-1939f29dfe00", + "7ac97c38-4afd-3f2d-86be-afd97a2993ae", + "abed8af3-d8e6-8609-395a-163fd995b6fb", + "08e2445c-1347-56a6-b210-bab162f1bb89", + "e9c07d29-b200-ffb2-5f0f-423f15eef3f3", + "8d10a177-b478-2b86-1443-3a45642c5a92", + { + "name": "IkayakiStallLamp", + "origin": [ + -80, + 46, + 0.125 + ], + "color": 0, + "uuid": "c925928b-d3d5-d2de-89c6-f4643817e075", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e8db0d13-b62d-3500-d307-7a42ec9a2749", + "13c6ce6e-67c6-ecbe-e4f0-6dde9a422704", + "40c5243a-6a37-5671-29fa-e07090be124d" + ] + } + ] + }, + { + "name": "IkayakiStallRoof", + "origin": [ + -87, + 8, + 0 + ], + "color": 0, + "uuid": "65a7d6cd-e6d7-2151-717c-7760357a9490", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "50c0715b-7874-6c9f-22f5-dd4f3cc37dbb", + "025bb7db-f4da-8da9-ced1-2ba05ba44fc3", + "4cb0c6b1-5104-9d94-dbda-ca7b380c25dc", + "5999c57a-9741-3188-3f25-2ecac59e6ee8", + "2e25d968-ca47-d69d-556b-95c22df1bad6" + ] + } + ] + } + ] + }, + { + "name": "Dogs", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "9278ec0c-06ef-3b05-7ab3-3107fc59a028", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Dog1", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "fc6c4220-2ff6-92d4-93ee-b0705367ce5b", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Dog1Head", + "origin": [ + 0, + 12, + 0 + ], + "color": 0, + "uuid": "7ec16d6c-91da-89cc-9899-25f462998336", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "87785f90-6194-fa2e-b96e-1a9a2bee95c6", + "0e4689b1-077b-b66e-2f8e-278f5be5c559", + "ecfb48ef-8361-e8d2-0a97-a24c421e367d", + "502b1492-fb87-73f5-a5ff-adfa200a6544", + { + "name": "Dog1HeadBand", + "origin": [ + 0, + 12, + 0 + ], + "color": 0, + "uuid": "a7637472-e981-7842-519d-f16f35b35276", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4e8def1d-74d0-1cb8-1813-c9560d6ee31f", + "cb18d9b9-f7d0-1cc1-823e-c1291b54bcc8", + "79af89b5-595d-d535-1924-0dcb56d01239", + "548d8731-b36a-d85e-debc-648dbb183ed4", + "6dfd526a-b91a-42d6-0747-7af287b894c2", + "f10cd9fa-fd10-53c3-e230-442c1a6a49f3" + ] + } + ] + }, + { + "name": "Dog1UpperBody", + "origin": [ + 0, + 12, + 0 + ], + "color": 0, + "uuid": "e4770860-a347-0b14-d4c9-07d801991341", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Dog1Body", + "origin": [ + 0, + 12, + 0 + ], + "color": 0, + "uuid": "722a3335-ff39-102a-30a9-8c20ecad4854", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "86720787-4e14-5a61-3463-deae4af60181" + ] + }, + { + "name": "Dog1RightArm", + "origin": [ + 4, + 11, + 0 + ], + "color": 0, + "uuid": "5830dd24-1a60-caff-c93c-94996ccb6822", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "458964b2-82be-1f0a-0183-74143ffa69f3" + ] + }, + { + "name": "Dog1LeftArm", + "origin": [ + -4, + 11, + 0 + ], + "color": 0, + "uuid": "7b04ed42-306b-2dc3-6bc1-25c7fe40ea74", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "845efa19-6e74-707f-903b-aaf8e04c04b0" + ] + } + ] + }, + { + "name": "Dog1LowerBody", + "origin": [ + 0, + 6, + 0 + ], + "color": 0, + "uuid": "9c13bbba-110b-bc77-4eb2-881b39108edb", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Dog1RightLeg", + "origin": [ + 1.5, + 6, + 0 + ], + "color": 0, + "uuid": "28f3807f-723e-b8e5-9f79-b436352be141", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "995f0e7f-a5e9-d7ee-b09b-7d19f5d2be58" + ] + }, + { + "name": "Dog1LeftLeg", + "origin": [ + -1.5, + 6, + 0 + ], + "color": 0, + "uuid": "d5cbeb1f-b9cd-bd6c-c33c-316b81d6aabe", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e7ff9d0a-7634-2347-87cd-a2c09a40c121" + ] + } + ] + } + ] + }, + { + "name": "Dog2", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "c69d1b41-a3c6-ebdf-a1ff-534860fcf1cb", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Dog2Head", + "origin": [ + 0, + 12, + 0 + ], + "color": 0, + "uuid": "f2bc3095-7242-6b4b-9afd-b4ea611627c5", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "bc76c0c9-e18f-64a0-282a-8f428e4f8b09", + "9e18da62-d918-c549-d8ac-26e411664202", + "82eecb77-8d71-25c5-1304-39b18b45245d", + "bbc53ab9-0f91-bf4c-5212-45529626314a", + "41281fa5-3c4b-ca26-2bb1-6727c99012aa", + { + "name": "Sweat", + "origin": [ + 0, + 12.35, + 0.25 + ], + "color": 0, + "uuid": "64100c4c-17cd-724b-17ef-290c2329c193", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b40bc414-730f-f546-a7fc-96c6611befb2", + "35088f54-ee15-0b65-6c42-a51e5e0b1ddc" + ] + } + ] + }, + { + "name": "Dog2UpperBody", + "origin": [ + 0, + 12, + 0 + ], + "color": 0, + "uuid": "25c7b048-20b6-a913-c902-d070e27ccbf8", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Dog2Body", + "origin": [ + 0, + 12, + 0 + ], + "color": 0, + "uuid": "5555d7b7-5fac-afe5-666b-da15c93900b6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "0b1c5a37-5eaf-b54c-7767-e8cfcea850cb", + "a7c13c65-9c68-2c92-5ded-3a984c6def76" + ] + }, + { + "name": "Dog2RightArm", + "origin": [ + 4, + 11, + 0 + ], + "color": 0, + "uuid": "f54e0d44-6c74-dad3-aa84-e9b9f4faf83c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "aa238937-0545-5af9-ba78-96b236185349", + { + "name": "RightSpatula", + "origin": [ + 4, + 6.5, + 0 + ], + "color": 0, + "uuid": "d4f73457-cd9d-ec50-28ec-24f4a5b8f90d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "bdeda1f3-6576-2faf-6c34-71cdb899b361", + "6c1acfa1-ba1b-32b5-d43d-fa82c5228815", + "e5eab1fa-3040-086a-1adc-f1deac2fe3c5" + ] + } + ] + }, + { + "name": "Dog2LeftArm", + "origin": [ + -4, + 11, + 0 + ], + "color": 0, + "uuid": "d35290a9-da9f-8448-a1ce-1a5682e25eb8", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "20e922e4-ea35-0691-5f1f-a20b7154d276", + { + "name": "LeftSpatula", + "origin": [ + -4, + 6.5, + 0 + ], + "color": 0, + "uuid": "03836ce1-641c-730c-a6d5-1481214f4e5a", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "7dd85684-1eeb-2920-32ce-b6459750470c", + "fe60a0f9-02a3-a323-5acc-d7ddc309085f", + "d0e30ce5-1b8e-a1f4-fb45-dd12789e1aa6" + ] + } + ] + } + ] + }, + { + "name": "Dog2LowerBody", + "origin": [ + 0, + 6, + 0 + ], + "color": 0, + "uuid": "da805d57-83b0-46ee-6ed0-43278f3365fa", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Dog2RightLeg", + "origin": [ + 1.5, + 6, + 0 + ], + "color": 0, + "uuid": "fa3ba48a-f422-9bbb-1bd2-6453756066ad", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d5376ba0-d5db-36ae-0600-1c2ab30ed91a" + ] + }, + { + "name": "Dog2LeftLeg", + "origin": [ + -1.5, + 6, + 0 + ], + "color": 0, + "uuid": "42c6f18f-7c62-0e16-89b4-efd1b8ec0328", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "c2236a9e-94b2-5c31-e7a6-254cf7fa7cdf" + ] + } + ] + } + ] + }, + { + "name": "Dog3", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "f71898a0-8281-0514-81b5-4ba8028f8eff", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Dog3Head", + "origin": [ + 0, + 12, + 0 + ], + "color": 0, + "uuid": "a79a0a1c-f759-9488-f4b2-a14906a5d143", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "18d17d46-5206-3783-649b-c2bf6f44a029", + "ec34974c-d273-65a4-e0c2-5582c945ded3", + "7d7c76ae-a9aa-58f4-f648-1123952c280e", + "0a24e5b6-d2db-7559-629d-f5b6f041bce0", + { + "name": "FoxMask", + "origin": [ + 0, + 12, + 0 + ], + "color": 0, + "uuid": "5301724c-83e0-bbcb-3d89-f898e0b5a2f3", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "5a7cb0d3-baeb-b7cc-83ad-87bd87f1b2c9", + "fb0e46d3-29ad-04b3-f393-17eaa00ebecd", + "6c5fda62-c38d-1503-e329-7b738ed27f63", + "fc998c39-7713-3cff-8441-a40b0117321a", + { + "name": "FoxMaskLine", + "origin": [ + -3.3, + 18.25, + -3.05 + ], + "rotation": [ + 0, + 0, + -10 + ], + "color": 0, + "uuid": "399f14f5-3636-a0ac-ea0f-899ab5a9a92f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "38143e92-2842-4323-ff49-4943ebf26aca", + "778c330f-0b42-b91a-92de-6f7242830cfb", + "977b07ff-72ac-4036-b450-ad316d7bc37e" + ] + } + ] + } + ] + }, + { + "name": "Dog3UpperBody", + "origin": [ + 0, + 12, + 0 + ], + "color": 0, + "uuid": "93449257-3100-9879-270b-533d923a11e2", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Dog3Body", + "origin": [ + 0, + 12, + 0 + ], + "color": 0, + "uuid": "c95813b3-3692-e5ba-c35b-6208faa84842", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e51d13a5-4234-0ceb-bc69-a6c8d731187e" + ] + }, + { + "name": "Dog3RightArm", + "origin": [ + 4, + 11, + 0 + ], + "color": 0, + "uuid": "097579cd-3e90-0a70-a05b-416e052f3ffb", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "31de49a4-a5d2-e458-6b2e-b24984f01a71", + { + "name": "ChocoBanana", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "39b62859-4322-c0ad-fcb6-c38ff53abed1", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "2191537c-ce73-84b2-0ef2-bea5e78bc6a4", + "8db91331-5853-dfad-95e2-a1f8e74649cb", + "3c87e182-e88a-cf19-9d27-4dbce8a8aa2a" + ] + } + ] + }, + { + "name": "Dog3LeftArm", + "origin": [ + -4, + 11, + 0 + ], + "color": 0, + "uuid": "f4e7e3b9-4493-f496-385e-2eb83a5d972b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "593d6a69-0825-1e99-69e2-c1a6a7d70669" + ] + } + ] + }, + { + "name": "Dog3LowerBody", + "origin": [ + 0, + 6, + 0 + ], + "color": 0, + "uuid": "c4c30081-77dc-201a-2a57-a0834f5d2e31", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Dog3RightLeg", + "origin": [ + 1.5, + 6, + 0 + ], + "color": 0, + "uuid": "143a4fb6-cb4a-e71b-de25-8e5eb61945e2", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "378b46a5-68cd-d2e2-1301-38446e9e3c78" + ] + }, + { + "name": "Dog3LeftLeg", + "origin": [ + -1.5, + 6, + 0 + ], + "color": 0, + "uuid": "73d51f04-187b-1794-2c1c-48d90e14a7eb", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "09afdfd8-a688-583a-d2c9-aec7b3387b91" + ] + } + ] + } + ] + } + ] + }, + { + "name": "Dumplings", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "c136eaa8-85bb-feac-f2c7-f1b0727364a0", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "9419d7c2-bfc3-c099-012b-ea2f51b9bfc4", + "adcd171b-fd94-0513-06cc-45a251332725", + "c32b520e-9ac1-6388-8e09-b670ebdd49e0", + "c8ddc146-20f1-cb9d-1861-5f492cda0b15" + ] + }, + { + "name": "Ikayaki9", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "8426da8a-6e6a-cd8c-d964-69fdeb622a30", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "156f65f2-925b-5b5d-8bdc-28a68089e178", + "cd101537-6a75-b3c8-bdab-89c079543efb", + { + "name": "IkaFoot9_1", + "origin": [ + 0, + 4, + 0 + ], + "color": 0, + "uuid": "41524654-5368-e8ed-8c42-e512267d77f1", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a0188fef-cf8a-280d-4d07-9b214114f597" + ] + }, + { + "name": "IkaFoot9_2", + "origin": [ + 0, + 4, + 0 + ], + "rotation": [ + 0, + 45, + 0 + ], + "color": 0, + "uuid": "1a3f2a60-9210-a716-6084-2b9db27eeb41", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "6dcda869-6eff-6038-32dd-688903e47855" + ] + }, + { + "name": "IkaFoot9_3", + "origin": [ + 0, + 4, + 0 + ], + "rotation": [ + 0, + 90, + 0 + ], + "color": 0, + "uuid": "b85245d7-ec97-5ea9-ed5e-89a1bbc07a30", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "18189e3c-c3de-7f76-d7fe-630b6b3c85ce" + ] + }, + { + "name": "IkaFoot9_4", + "origin": [ + 0, + 4, + 0 + ], + "rotation": [ + 0, + 135, + 0 + ], + "color": 0, + "uuid": "0b4f00a0-038c-59dc-2223-e10bfb3ad921", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b6b0a459-4057-d926-c62c-4e0ebf23f2a2" + ] + }, + { + "name": "IkaFoot9_5", + "origin": [ + 0, + 4, + 0 + ], + "rotation": [ + 0, + -180, + 0 + ], + "color": 0, + "uuid": "cad5a361-1f72-07bd-656e-e38ab9afd324", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "2a540d66-78ba-a2d4-0acc-ee53a521946e" + ] + }, + { + "name": "IkaFoot9_6", + "origin": [ + 0, + 4, + 0 + ], + "rotation": [ + 0, + -135, + 0 + ], + "color": 0, + "uuid": "02d6873b-c8e9-f542-7ad8-d43755c43f80", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ca1a5f09-ab19-fce0-6bd7-fd0ea4a7aef1" + ] + }, + { + "name": "IkaFoot9_7", + "origin": [ + 0, + 4, + 0 + ], + "rotation": [ + 0, + -90, + 0 + ], + "color": 0, + "uuid": "ce0e03b2-158e-08e6-5457-ea8ac579195c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "2fd97e26-5076-0e96-8f6e-735cf46851a4" + ] + }, + { + "name": "IkaFoot9_8", + "origin": [ + 0, + 4, + 0 + ], + "rotation": [ + 0, + -45, + 0 + ], + "color": 0, + "uuid": "f29e684a-ce00-4a9c-103c-a6e68bf4e692", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "2442ac47-1e35-d8f8-8e01-7482ddcd7f6d" + ] + } + ] + }, + { + "name": "Takoyaki3", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "49e48ce8-5930-0cce-5460-6cd22dc66a42", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "85155592-9a35-92b7-2c1f-159aadc46528", + "82244002-d4dd-30a5-9454-57303446710f", + "3cebe31d-4c84-60b3-8e6b-7d9eb7cd9847", + "eafd8370-43a1-9c63-5d36-21750d3359b8", + "91c3bc76-ae56-2054-faf8-32bf91eea75e", + "4b3042d0-3e48-0a48-746a-59976d82378e", + "3ad10079-3184-f058-1b57-77df803569fa", + "9eec793a-ed53-bc76-52f5-b6a15ab8f0e5", + "50f4e652-14c5-6eda-a661-b501697aab60", + "0781c79f-4b9f-1cef-ea09-733f27b4e63b", + "da135290-c75e-65b3-2b80-93973800b62e", + "757e6e1f-4a0b-2965-6f12-02aa6813b359", + "76f412da-2ea8-ef1b-9dd7-212e54be9ffd", + "7655f280-44f4-1cee-4fcf-a59153d37991", + { + "name": "ExSkill1ParticleAnchor4", + "origin": [ + 0, + 2, + 0 + ], + "color": 0, + "uuid": "05c30da2-d398-b2e0-478b-21e372de8a52", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + { + "name": "EyeShines", + "origin": [ + 0, + 26, + -4 + ], + "color": 0, + "uuid": "04bdc233-ef3b-463d-f222-b2da6e9f3250", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightEyeShine", + "origin": [ + 1.5, + 26, + -4 + ], + "color": 0, + "uuid": "4a0f8e9f-8e9c-a592-de0d-4dd1016f73a2", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ac1bb69a-f7e7-467f-0664-e057655fe604" + ] + }, + { + "name": "LeftEyeShine", + "origin": [ + -1.5, + 26, + -4 + ], + "color": 0, + "uuid": "a636dd4c-28b1-d0d1-28bd-1b007a969b37", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e3668db2-e964-361b-4cc5-5f893a07aa8e" + ] + } + ] + }, + { + "name": "LaughterLines", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "d99376f6-f9bc-19f7-3a02-a17d0f47ca17", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "LaughterLinesInner", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "7aad7d85-86ad-563f-244b-fb34cde8ffb3", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a83246c4-ea4e-0bbd-b7be-f8a52a936b91", + "db66cadf-1fc7-cc53-6057-a28f8071778e", + "2bd83459-4e98-9d34-e7f3-b47a07d6ec48" + ] + } + ] + }, + { + "name": "ExSkill1ParticleAnchor5", + "origin": [ + -26, + 0, + -10 + ], + "color": 0, + "uuid": "3aecc4c1-58e2-6d3d-64c8-6ddb8f18bf81", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ], + "textures": [ + { + "path": "", + "name": "ex_skill_1.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 96, + "height": 163, + "uv_width": 96, + "uv_height": 163, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "1ef651c1-b603-a206-24eb-3d3865339190", + "relative_path": "../../textures/ex_skill_1.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAACjCAYAAAB15BsiAAAAAXNSR0IArs4c6QAAHZNJREFUeF7tXQmUFNW5/qp679lnGIQBQUBZxCAiCsimRkRUFEM0BpdEYvQZjyYqcYt5mhiXJCrGmOPTxPheTIyKRpQAGlfcQEFcWF1wWBwGhmGGWbqnt6p657/Vt7hdU91dPfQM3UxfDqerb91769b3/f/3//d2d410y/XXaejFZXL1dpx183PAa3di4o3/yhoSqx75MTDuQtw3rD8WbKnv9Iq1T7PzEhEwfvVHWbuwONCaE45nb3N1fJrf3fc/gPr6etTU1EgTjhurrXrnPuMWFj/yAuZcdR6+eeoVDJw3k9XzY35OvF9eN3HqAny3cSMDfvqjF2DFlc8aBBDw951/ndGNEdAt6OfJoNcs+DmbqZmAVx98DTN+dho7F9lRB/fhAzodUxsqAU8bI4oT9N1HXsWqD163tP7L7pmF2IdePPnCC7jq6Yu6zwO60/q7OjazeLUlqWlMXLEWz101g1m7SIBdW+JEkQeIBHC5CaxeYAwVqm2Cd0hlLyVg4ePAdT8CTK9EAEmQaPGi7HCL557B5UisJxm696n3GAFm+SECHLt2Y9/XTSg5aRQ77rYY0FUrtWNtXR3b8IA0BJjnYCbELEvm9uQBnvlVCdrPgvGihUz/l9w41ThXIEDwBO4BokWbpcgq+HICiKiGd9aDYgAFYV4oGO9e8BOm+5ecdx57pUKE9DoC3njzTVw6NIyo5mYgHDuiHyq9DhSXlGDek5/j5nmTjYBK54kAMchyUM2yUxQuYUGbS9DSGwYzjW9/JmgEXNL9J25ZzoIvHVMw7pUEXDjaD3dHMyNhxuQxaGhsYCRcsXgniwFUrCzdHANE6RE9hSTo9YeP6xRweQUPwPS+VxPg8FVixriBaG9rg7O4CvP/vo5lQX2nHmOknSLoYiywWiNw4igIL57nRfnQSij9DjMCL39P7Xgw7pUEvH7rcfAWFyPU3m68Fp//RKeFmFVCIC7KRO2ndUKyNJSyodm/ewcXXzuOdSEiKBPqlR7w+Vdb8OxVgxPAJzKcs/6YQACXlGRB14oIcSHGgzDPfOg1VLc0gVMiodd5wD0PLJTaF12mJfMAHoQ5AfQ6fe4olt2YF2jc4s2xgW9FUMbjPDHEgvEjF/6DeQBZv1h6JQGx5ddoovxYeYCY7YhbEiue38SyHattCDEG8CxIBLvt/U0JBBQ8IEkMIHkRAzGXFr4hZyVLfA1AbXgWRIGWCgHNLZ9rP48DvW4zjiTIKrhSHe2GJjuXaf0HH3+S9DoJEqRpWtYumukke3N7SZIYQRIjgJbjhdJzCCx8HAUCeg7uzlc6FAhY3jKS3disss0HE8quXTvfCSDwZwwZj8ZN2/Cxd0/+kVAgoGuGm7Ve+UKAlcxw6ycwWnfvRaSpvZMX5Lw85QMBBOK0fscwo3t713pD71MRwIEX++VkjMgXAkjnqYQ7QgYRvI7LgegFHHiPz8tOv1q7JjfjQ64TwK3cOaZ/guwuf3EJC75m8Ok9C8bnzk5oH/usPjdJyAcCCEwCXCxk4SRHE/xDWDXpPwefnxPb8zFyToZymQCu4wQkWTuXH3pP0kLveUzgYBP4/Byvo/ckQbzkFAm5SoCV9JCMiIVA5dYuBltzbBDlK+ekKJcJMEsP13UOomjt3BM4IUQCB16Ur5yTolwlgCyde4GY+VA9B5ETIGZHPFUVyRMzopzLhnKVAAKfQBRlRyRCBD9Bl+KpKnmEORWlduQV5BE5EwdynQAzuMwzTCmoVRtm6aZUlLcrEGCFmEWdORCbtdwclPkQ3MqNrCdORM4FYJpgrnqAYa3xrWam/cJ2M5eoZB5ibpuTKWg+EJDKWcR1QsKiK58+F8h1D7CpVvnbrBMB+XsreTtz4zPhdUt/re3atw/9ystReO05HGZc9ID+rYgCAQfH8AwCevpXkr+ZNg+o+xgYcJz+WjQMCGyBfNKbUL7ZA5Q44CirZMeOEaMx55ENTGaqDqvA3t3NxvG1/nnsuGVXM1xlQLQF6FDaWF1pZQl7T/XvffIkjurvRVn/I7Bmrf4B/jnTR2JnG1BTAmz6Yis711K/FV/Wh3Dq9b9JK2tr1+7f5EvW+PKLJ1uekorGJ3xhi30z7rW33k170Ww0OO3kKfjNsFGQK4+F2vQpe6WihtuhVd0Dx8BqoKgvlM83sGMiYcbzzTjprFOw/v1PcMxJY/H+0jfZ+9M/Ppr1LetXYZBA7/2+Cnxr9misW7IBwY5mNOxehFHDj2BtCWxUDESZ12kATvVHHX0kRlU78dKKzbYJ+PGVPzWA/POjf9DM7xkBrppE2KI7ccAEvPLaK5h5mv6j5UwLI2DM2UB5KbCvFbKnmBFB3qCV3wa0KcwDqDhqRkLZuRm37/kWA720ooIRQERQuco9G/0GDGJgf/Dsu8ziiYxddduZBxARdLxu+2KMHzfSAJysn4CmV2795Bn0nkr78RenvS3yANsEuOIfKkXrga4QYAV4V0ngHsDuMC5B3Asw8kEoLU0MeAQadAkaWI3bvhpgWD+BT1LUf9hgnF8/uZP8EPCtTW2MGJImkiQigEsOAc3lqCUUY1ZPhQihQkR9VToyLbjUttsISAd4V8GnSRseQJpPMuSTmSeYY4BoglesKmXab44BFzRPYc1EsGf81yy8++d3GfB0TJ5RVbbaUnoIbE6IKFF7RpyR1gPsNDAkqCseIIKc7NjOJMxtGAHT5kHuUHXpoVI0jEmR0v+/DdlhQbiliUnS3DdgSA+3fvKE633zGNBchrjmcyki/ScZ2rr1MRZcqZjlh+qZPIVi+HLjV6xN+clz0lp3Rh4ggmBHgtIBfsAeMGyUnvlQCWzRpQiA5rhFD7xx4Pkx9wAegCkWtDY3446aq40ATET4HCUs6yEJouMpP57CvKHZt9KQGhaE44WsnmdCRka0J4Y9ffWvwqQrtiTIYpCUQTid/KSbVLrzCUGYp6DAfg+Ip58sFTUF4SEjhyZI0U395jELJ63nwZe8gQoFXzrmQZjqrFJR0n6qJ0/gcSKrMSBTAqh9KgtfvXa1MeQJ405Ih3en8wlBOJ7/82CsDXp2/xqAe0F8HcD1nyyfUlAqPA0lSyf5IbC55b/6P8vZMZXm0CJjDcAzHaonb+DAcyLIK96W9GzoQEtW0lARcJpQLLIXC4f1Zz+37/fQM8iUhIQYQAGYvIAKxYFj/5IgP1RNckQSVLv5a2MtwIGhNJRnPRxsvhDj78kzHl/8W9blkuXLcaKnImERdMuaNu2e8SWsTlPf1iR5GjtWvr7D1o9WHEPvSPorGC2wRmPrgEyCcDrAf3+4G9dtqWck/HxHpGsE0DqAtD8eB9hawCezdQCXHfYaX4zxNJSA4Z5A8YDSULJ6KmIg5ivjCRdMAXnCad++BNfdeyZr98c3VtkmQB6if/coWVFra5FVAgh8s4WbAW9/7zJjPsWTn+gaAbQVEU892WDx9YBZgvh2BK2ESf8p9+erYZ4FUXe+DcEDMI8DlAVRRvTcqseMOXMCuOXzV7J+3oi8gDwgawSIDKbKgoiAdICLY2UqP9SXJIgeEWYufGuW119z6kQGyMKblxnWm8oaSV6enDXLaCL248dim+LfvQqSHiLg7nFxGRQuoG59I6X185NpPcBilKRZEBFgtvADBdx8fSLgFz/6jFUH79B/sPzmd2bhe9+fnyANH4abNQ5oOhKswE6HHnmCWf/NHpBuDPF8KiLSjZOwGXegWU66i9klgDzgodf+gmtPu5wNaeeYX1skJJlnmGMB9TUH4XQSxK+XLhakw6THd0PNHtB30aJOmYSmrreVhfCb40SJgKfynF5NwA33lTLcKqQb0KzdbxjIltpmhNsATwlw4pAr0hlOwnnltZqkscKKCCsCxAHtpqF2YkG6G+lxDyACONhHj6kw5rfxs2YGPpEwdUxmBHAP4IOZpYfqxWBsXg+kA6k7z/c4AXOuVhjIVEQCRA+YMOwhWz/z705gemrsHn9WRKpnNfTUTefSdSTtZ/MzCni5NPlcmUvVcv1za7HsnTU65fSkB/8af1ZEgYAu88iBHz56DAYO0B9t/E1dHXv9YoO+3qFiRUbuEEAPUeUlTx4aIlo8gc8LJ0FklAghMswkpCaAg9ITgCx8HKf+7Au88eBw/XHCOVY42BxAel/epy+bZd/D+iVYuhUZnACzJyQnYOHjmL+xGVsf29M9oJjJzWECREs3E0Dgm4soO0TSvsYG1oSIMXtBZwL485SpR3d5QBxsuoRh8XHC/3p0Rc55gNn6ad5Uxy3dLDlk7Q27dzHQCfxTT9c3CK1kKJGAnrRCq2uJ5OeIBKUC30rrOdD0SiRwAuzHgDgIp2o3GRC8IemfJmW15LDFi/eZioAvV7yAxsY9OP/aX3WCRsyCyAPsEwCAg3/EFdVsYBYHuomEXAy4dglY+bz+IY9IwKKHbkefPtU4avp5TO+t5EcktVMMEMFnegzsD8bdQUJW3Sq7g3VFfogAKpPmXmEQYLb+pAR0Ap+ngwdbm7srGUjDV1cI4ENy0K3kx5KAU376OduKINnJqUwkHqwPxry6SoAIvlX2c+AE9LRFHqRVstXiK1nqKTqTXeunPkYMsO0BVjl8dqU3/Wg9JIlWm2u0sOKLr1RpKA/AqfQ/gQB6cCttBaSVIWGFfDBkgRaHtELvJJOil3AKs7ClYSZB3H6wWoDRpUXw+VpAXEFTG/5+fxYUf3RxJxKotflGsi0JVuBZXZcDa7Vaj2drovvwLM5WqptiDqIUJduA49flgPNtBxFsqy0Ng4DLNjRpfMIiCTSAcSOpQEkvHPtbmG6WLNqqJFw3hSGI/WnNIha21ZHOiGjtE/d+8zyM/rT9MHKicZos2EyGuP2QCg5jR1T8nTARIIItTogvyDqRkSkhceCtADcDx2/A8trxPzmVDHgRNN7GTCavT3ZdEcBPX740Ac+9m1elJINbvVm+GPCC8RHGb/5hhP6BDCfADHIyy+DApLVSQTbMY4ng2rmueE0rADnwIjHiYpJPxQ7Z1JbaieAfe8bf2BA0jxe/s/8beEQIlzkrmRFB5zvMfC4GAWIWlE5NUlmNaH3iOMmIFNsk8zSxL41vBt8MvGgUqeSJg5nsfjuBHG8oShGRYiQjFueJHDPo/Ho0b+OX8pwA82QeOv0Z9sv5p8beZjnP67c+bJy3Iob3v/vDK9lExULtxfPmC1B7Pv5p8/TvDpnBF+dnZe28P13fStbE+fPzIoHrl93J7k/sL3rFigfO6nSexuFtzOfN8vjE6MrEX8rzC/EbMz+6IN15ThS/MXP/dOftjC8SZzV+qvPcEJLNj4gmj0t2/9/79XuMJw7sgeJTeFTBQX42RoGAXCHgo2vnaMGOGPZFZewOA3uCETi0GPvBuuYAWmIOVPpdOLzYhUophOi+vYiqGqABTocEh6wraFQBAiENHVENvso+kGXA79bgCDQjHNMQiWkIxYDGDgWNIQUuWUIfjwOVXhk+jwSfWwKJIhtaAzumfqGoBlkCvC4JLqeEcFRDTAG7rsclYfGWIHwOCXd9sC4vv00n7ftslaZKDsRiKmL0OGBFRUxRoUGC0+lgYDigwuOUoTR8g88fu5eBTPUECv2nYwKqI6KhaMgIjPjupXAVFUFSY9h0340IhFWEokBHVMX2YAzfBBX4HcCgIhf6+RzwuSSU+mUGKo2hqGCgx1QwwKmeSKJ/wbDKyCTwiz0SltV2wCEB96xen58ENK5+S4PHj2hHEApkhDUJMU2C7HRC1jRISgROTWVkRPfU4asnHkAwrDFL9bsleN0SFFVjdQRe2TCdAF9VNSSoWH/n1fsJUFTUtsXQ0KF7wOFFDtT4nfA6JZT6ZLicwL6AyrzJ6QBUVfcIIsDtkqAqOolEuNspodgn4+XaIGIacP+aPCVg5ZVnaIGwhI5wDK1RYFuHhuaIClmS4JNUDC2SUeGVIctOeKUoHOFWhMhKNQ1uhy4dZLEEPlmrIknwllbA7S+C3+eEumcbs9hgBAhEVGxri2JHUIFblnBEsRN9vQ74PRJKvDJcDqC1Q0WMXFHSZY3MWpMAjxNQFF2WqPjcMkp9El7f3oGoouHuD/OUgI9/ebkWiAAtgTDaVRlNioT2iAJFUeF1AANLPOhTWgSv1wOtpRGR7RvREdY1nayQCFA1DYEwEFN0z3B4vKg+egz81dUIfLCcAdTWQW00fNMRYzHAKUsY4Hegf5ETfpIyj8SkhIik9mT9RKzKfr0CRg5BT7JEpBBpdO2vmqJQNODyVz/OTwlq/XqTpkkyggFdguBwQpJlyA4HvWM6TnfmkCVE9+7C5vtvYiCR5pNV6hIEtIc0xFQ9NlQcORJjr1oAl78I62+9GNEY0BpSmRTtDCrYEYwx7zmi2IX+fgc7drvIyiUEIxoi8RhDZFIskGSwuRAZdC2nRB6gy19LSI/aZ724Jj8J2Prik5pWXIlATEVQ0SCpegCmP/TmhAYlFkMsGoUPCqSGrWh9+0Vm/UweJLDMhDwgGNLrCDRveQUGTDkVxX36omHxo8yaCfy2ELC7I4b6kAJ6KlB/vxPVXj2NIo8gqyYvCkUAWdbYPEj/edZD5FK8oWBMBFD75oDKMq5zluQpAa/MnaS1RmU0hYGGcBRNoRgiqgYZEqq9DiiKwiy7n1fC0FIXyv26PJAWR2MaZFmCUwYiMT0TIgKIGfIiv0tDif7XRBg5dL6uPYb6gMJko69XRpVH9zTqRrrudQGRKFm77k0sNaXnSUgSZElPQek9BW4ioCWoMkM4+6U8JWDVL3+iwVuEiCYx8PcGI4hpMtxuJ8rcTv3GfT5UVVagBFG0vfUsA5lkiDIfno+zQBxWUTJoCGomToOnpAxOl4S6px9m4BJZJC917Qpq26IIKxpLQw/zysz6CUQCtMgts3bUnqyd1hpU6DouB3kbZUc68ZSKUkJAfWe+sDo/Jaj16881uFyIdIQQVRQ4XB44vV5memokjGgoBMnlgcfrhhSNYMOtFzPLJA+grIcIIv0mryALrz7xZBz9g6shEexKFJ/ecgmzWgrABCxJEAVhIoU8jBZjlHJSWlpEub6sL+h4BuSIp6NM7uLH5D2ENskQm4Ms4cwX85SATX9/RNN8xdgXCCMQVeGmZFzSMxGXpkCjGEDmHQrA09oAeZP+gD+qIgslAsg66T2BrPrLUTF8FNxeL3weGS2r32DEtFN6G1bREFLQEdNQ5JLQz+dEkVOCOx7MKQjTdfVMSF8LUPAni2fSFieeBWZJlyAK/kTM7HyNAS+dM0FrDinYGYyiXZEBrw+QnJBcLpT4XHA5XXC7HKjwuTGw3Atn/WYGBgVisnpmvQ6JaTpZLkmCu7gE3vJSlFdXIVy7nrVtDWqoD8awI6CgLaqyBdhAvwN+l8yyoCKvTgSNTfJDeBP4ehDW40FU1c+R9ZM0UXsiIK9jwId3LdBQVYOg5IC3qi+8ZZVwej2QHU64ZEoBZTg9Hvh9XrihYcPt8w09JyulrQi+FlBL++OwqTNRcdQoeMvK4XQ5se72y5l3MPlpV7AtEEN7REWJW2YEFDtpkQe2HVHslTHtmQ8z0vKXzh7P/iDyuf/O0yC859PVmqO0DB0dYab9sUgEoY4OqJEotFgEmqKvA0iOHB1t2P5/v2W6S5ZOiyJOAGVKxWOmYPTl1yMaaEO0tRlasBVf/kn/ziTFgZawhi3NUdQFY3BKEmr8DhzmdbBcn+SnxCfhlEWZafmS2eM18pq8JWDNPTdqkdJq7GxoRNPeZrQ3NaE1EIBHU+DSVDjUGEpkDdUeDaVuFXIswjbjSArYJhntUroktk2gFvVB0ZGjEWlrgbK3Di4lAK0jyAhgMhRSsb1Nwdb2GIsf5W4Zh/sp25KZFxV5ZZz8bGYesHzOCUyvZuVrEF527glafTuBEkVTWEWlR4aXNF3V0BSh7QgJg0tcGFTiRIlXYmsCSj8p76fNOAqERATJAG1RUABlG3XxrQKybr5bSnrd2BFje0F0LdpGZqvhIgeLAbQlMeXpzAhYes54jQJy3mZBEyeM69bfCUdaA5afKS9dtgTb6xsxqH+fTq/9hwy3HQcWnzWe9upw7tI8jQFEwMpVH2HSxOMZUOKxJXIZVhIB7tKihF5Ut3bT57ZBTnVJ8mA6n7ceQN8NJReeOGEcu89VH6wFfVuRE5Ih3p2adzcBBzq/g91f4hK06oO1zCKzLUkFAlJTXCDgILuANG7UCKahXJP5+0znZdZ53j9ZEM5WDMh0nrnWXqr7Yr32rbHHYd0nnZ8emKyebmLuJYlfXI3Hj6wE1lwDqTvnwwjoygVEAnj84OP8YtokNubNt96IIo8T8imzC8QkAVlauuglSwLGHjvUssuA4cekBZMTcOevbkUgHEPJGeel7dMVIzgU+kgE1ruBEF5Z8k92PzNnfx9TiuIfY9m4w0z63vX2ygIRJkwZAVRHQFLJBHw+lt2+BQI6W3QCAV0B34aTGE0KBCQhgCy4u8GnSxcI6CECWqJRS8d4eGV+bphl4uWZtpWmH39cl9LQVPHitmf/bjkPX79hhSBsDsLzzzgtIwL++vJrBRAzNfMU7aUCAVlEswtDFQjoAmjZ7GKLgI3NTcY1zdsO2ZxMbxxLmjlFX4ilKi3RMBr37kOfqnL6wKYQA9IBlsF54/MAu30KBNhFyl47ae6cS9N6gL2hrFs17vnS8sSK9wr7QgSMNH3yJO2td9/HyVNOYkDx4z7VR3UCjsCk+oZW/bs+vPQt9SflKJsEkLE8v/hvTALF4wMxkIPdV+Ifyk+fPInNZcV7K9mH8pwQcYJP3n4NLvnVHxkJHFh+bEUY9c0mAQcbrO64vrT9P08xCRp0+jxmWfw9AW0unACriRQI6Bo9tgkg8KlYEUP1yQhY+BPrP5DMCe/atA+dXgUCDjKXjICLfvk7/OPOGztNxapejf8Fnh/c+7+d2hcym8zZNDzAblcioN/U2Zh51lyjixl4nto+d/MPsb2xEYPPvqCweEsCsDR1wljLdYCVR4jBOhVhnIAHLj8bg/r0gTTx1AIByQiYdfq52qMLvpdw+sr7noHfX5bWKYLBFmTS96QBUdzwp38WyBCQZSthEUi74PMxMul7281X4riJkwsEmAmg9wQkFTuWb3YNu335Kjata/WiBtKUGRdqhxW5E255Nz29w0Yx90vXpUBAZ4SYBBHgHEzxOB2gyc5zjzCfX/6fFwvyYwLF2A3lVp+pVVuRUFj92jfdjLej//LEH1BRUZFgyc3NzZpVnTgNOp+snbmv/ennf0uJ0tB0tyEGZrsEWI1JBFA9B9z8Pt08DsXz0slTp6UloKrqCOPet+1uwJqVLyd4wPhJZ2jmulQEmM/1ag+wQ8DfbptvYDZo5g8LgTSLrmjLA4gA2tOhbYUCAVlEnz6SLHhAdgHNdDRJ2/582hiQ6aC22h/+nbTNlh1/NGtz5kcb2St/5HvajnnUQCeAwNjxL33a4nF33kgaAgh8Djw/PjQJiP9SXtv+vG5lg+ayD+UNQgQS1AFzINctzgoty+bcZgBsHlAEn4O+dNwo7ay1mw65BEBSFHrWFeBw6E/H4+/NQBP4VLJFwKyLfs/GW/72ygT8Z03Tv51B9UQEBz3+7Y0CAZkSwIkzW7lMj8lKUcxyUyCgix6QigBRajgXyfT+kCagyOtBIBTuZI9W9ak8QBo095CTiKwEvFSezjXf7oWIAK3mbEg7/210MQM/+ud6XFn17ZcKv5RPA6ykbfxMi2z4Au7R8b88F++gjhht2ZUH61TjcgLWnbms8Ev5dAQQWLHFI7F5s/4HPUeOHA7nnM12HQKZ9N3w+/hziG2Pfug3lLi1EpBUkoH/yS9aId80m7VRf7sEY+8qNdBJ15c3LBDQ2aASCEhl+Z+1Tk/oPaZ0RcbmWSAgCQFkwelkJ5UH2GWiQMABEGAXZGr3zg070dIWRFmJP+F1yFH6XxAtlP0ISE27dmhWYJnBs3o/9f4aSyzXX2O9X1RYJ1h4wICaoRltR9ft/LpgxVl0YYkIGDz4SGzb9pWtYQsE2ILJdiPppEmna0cNH4Ivv6i1RUKBANvY2mpoywO+2bHFGExy0J9LKJRsIcAISDcYEVBbW4shQ4agQEA6tDI7L2n0NwkzKAUCMgDLRtP/B0KNE6Z6goB+AAAAAElFTkSuQmCC" + }, + { + "path": "", + "name": "oak_planks.png", + "folder": "", + "namespace": "", + "id": "1", + "width": 16, + "height": 16, + "uv_width": 16, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "46ff2c47-c737-5151-4a4c-31548a467d7b", + "relative_path": "../../textures/for_modeling/oak_planks.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAVlJREFUOE91U8FKAzEUTJCC21ZZVkR7KcVe+xN+gODFs+ClP+An9O5FvImf4LVn/8MiQtmKsuTQdgWRLfPqlNm05pLk5WXyZt7Ej++vq/Jn6ZJG0zWTPRePZfn7b3zy9u48AHAJIBj59MsladulrX0D5eA5Y3ko7Mg/311VcSL2uBAW37WCAIrBfKvg4fa8mhXr10+z9YvYfxQLW59kLZuxx1rjWBsFcH/NP12/c1x7MY5BD1JBdZ00q1Ng2SgVCWWYb/TQ0lUX/zS6MBEpGl+goGe97paQqo0fXg4MgFyhg2rA2zynVszZaIAD5Xh0eLDlCQ0gF600ABpJE+I2UhfO5p0wd/7l8aaK1VUg9p4x8kcHrALVYJcPqA+1oScIaBWg30DkX0BF1oVQ1LxBX+j/MCtrj+lx5Qpw4/z36bTVBkBe6gUaiT7Y9TcAahqo35UzebLn+hd4tgJnUgM/K1gwfwAAAABJRU5ErkJggg==" + } + ], + "animations": [ + { + "uuid": "26157e22-6c09-15e3-9d06-52f397ff4a6d", + "name": "ex_skill_1", + "loop": "hold", + "override": true, + "length": 9.5, + "snapping": 20, + "selected": true, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "markers": [ + { + "color": 0, + "time": 2.7 + }, + { + "color": 0, + "time": 5.5 + } + ], + "animators": { + "fc6c4220-2ff6-92d4-93ee-b0705367ce5b": { + "name": "Dog1", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "5499ffec-d9a1-e597-2fcc-1ba79f672605", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -35, + "z": 0 + } + ], + "uuid": "795e7df8-7972-8ee0-c9c9-0b1ae3eed128", + "time": 8.15, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -35, + "z": 0 + } + ], + "uuid": "9a2b2d43-b681-fd3f-e37a-aeec9d5cc135", + "time": 7.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -5, + "y": 10, + "z": 21 + } + ], + "uuid": "822c1124-8c9d-c996-fe0a-3bc2d1e83217", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 7, + "y": 1, + "z": -20 + } + ], + "uuid": "3c4f18b8-3c4e-d085-7141-6fced5b6cfd3", + "time": 8.15, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.39652, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.39652, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 7, + "y": -6, + "z": -20 + } + ], + "uuid": "14415d70-acae-e6d3-e813-b8b177b59722", + "time": 7.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 7, + "y": 0, + "z": -20 + } + ], + "uuid": "3be0cba2-0d6d-c046-e202-2755fd2888a8", + "time": 8.25, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.03157, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.03157, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 7, + "y": -6, + "z": -20 + } + ], + "uuid": "d24467f3-12e0-31d6-f0eb-bd52cf310f46", + "time": 7.8, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.03157, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.03157, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "7ec16d6c-91da-89cc-9899-25f462998336": { + "name": "Dog1Head", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 2.5, + "y": 25, + "z": 0 + } + ], + "uuid": "ccf61d81-781e-052d-73a6-b9384ef2e994", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 2.5, + "y": 25, + "z": 0 + } + ], + "uuid": "4ba12c5f-3287-24c7-d242-b988b4d341af", + "time": 0.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 9.82078, + "y": 12.51096, + "z": -0.55409 + } + ], + "uuid": "7f6aa028-54bb-9210-6caa-bdf16c22cd20", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 9.82, + "y": 12.51, + "z": -0.55 + } + ], + "uuid": "f4088641-560d-c28d-e72a-ddbf37c26100", + "time": 1.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": -30, + "z": 0 + } + ], + "uuid": "15e9419c-f105-3b6c-396d-f6f6fa791d1d", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -30, + "z": 0 + } + ], + "uuid": "e26e8759-6999-e4da-3c5f-101601614304", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -30, + "z": 0 + } + ], + "uuid": "7998e0f1-2b17-fcf3-c2bd-eaeb3a1346f2", + "time": 2.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 17.5, + "y": -30, + "z": 0 + } + ], + "uuid": "bcc08117-5fc4-8ab6-1cee-9f88329cac29", + "time": 2.35, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -30, + "z": 0 + } + ], + "uuid": "f0a80483-6b4e-c2c5-3647-71d184479d69", + "time": 2.6, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 25, + "y": "0", + "z": 0 + } + ], + "uuid": "fc0cb656-b633-b047-d255-bd6812e09d88", + "time": 7.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": 0, + "z": 0 + } + ], + "uuid": "23c2aa56-54a1-4664-beb7-1f1af568dcd3", + "time": 8.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 25, + "y": "0", + "z": 0 + } + ], + "uuid": "0f124965-7bf3-0d82-1ec3-51ee01bbfe7d", + "time": 2.7, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "5830dd24-1a60-caff-c93c-94996ccb6822": { + "name": "Dog1RightArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -49.68821, + "y": 9.23186, + "z": 3.86032 + } + ], + "uuid": "5a6be118-0561-dab4-e762-ee1781ffe9a7", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30.56393, + "y": -17.94973, + "z": -27.55814 + } + ], + "uuid": "90060555-d3f1-bce3-7368-262c3aa71506", + "time": 7.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -175.56, + "y": -17.95, + "z": -27.56 + } + ], + "uuid": "7605fdd8-5dfc-589f-586c-1b18d961579c", + "time": 8.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.73389, + "y": -8.57913, + "z": 1.79347 + } + ], + "uuid": "0d89bf7c-e20a-ee93-100c-5963314a6337", + "time": 2.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90.23389, + "y": -8.57913, + "z": 1.79347 + } + ], + "uuid": "62597d23-e264-55f0-32f5-1fdab5f16510", + "time": 2.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.73389, + "y": -8.57913, + "z": 1.79347 + } + ], + "uuid": "d784c52f-1589-0edc-68d1-2c1f941c15ce", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90.23389, + "y": -8.57913, + "z": 1.79347 + } + ], + "uuid": "a6411f43-9a12-842c-90a9-cb2ab60c5a75", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.73389, + "y": -8.57913, + "z": 1.79347 + } + ], + "uuid": "7fa1d2bf-a67b-d7dc-e4fe-bdbb3ba1b98b", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90.23389, + "y": -8.57913, + "z": 1.79347 + } + ], + "uuid": "3a81c1b5-70fc-6982-cb48-c49cc97b4944", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.73389, + "y": -8.57913, + "z": 1.79347 + } + ], + "uuid": "ba281815-7d3a-9ef2-d1c0-c1b4320ad386", + "time": 3.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90.23389, + "y": -8.57913, + "z": 1.79347 + } + ], + "uuid": "8fdec717-e38a-9f1c-492a-dc773fa328df", + "time": 3.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.73389, + "y": -8.57913, + "z": 1.79347 + } + ], + "uuid": "4347e479-3c65-f610-2439-3b84eaf3b3da", + "time": 3.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90.23389, + "y": -8.57913, + "z": 1.79347 + } + ], + "uuid": "e90f090e-7459-f1f3-ce55-dcf3c5bc43f2", + "time": 4.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.73389, + "y": -8.57913, + "z": 1.79347 + } + ], + "uuid": "d4733529-0eb0-1131-d279-ec1574b84c26", + "time": 4.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90.23389, + "y": -8.57913, + "z": 1.79347 + } + ], + "uuid": "16d2b2b3-c82a-35eb-e92a-af35baa2c8fd", + "time": 4.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.73389, + "y": -8.57913, + "z": 1.79347 + } + ], + "uuid": "d54135a4-7ea9-c81c-bf7f-9e8c7f6617e6", + "time": 4.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90.23389, + "y": -8.57913, + "z": 1.79347 + } + ], + "uuid": "e61765f5-9c43-8cdf-71fa-8c5e47f029c5", + "time": 4.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.73389, + "y": -8.57913, + "z": 1.79347 + } + ], + "uuid": "23d01a94-18d4-ce71-fd0f-c0f75f6aef09", + "time": 4.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90.23389, + "y": -8.57913, + "z": 1.79347 + } + ], + "uuid": "9fc2b567-7e00-312b-0bd5-f63062f9cdbf", + "time": 4.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.73389, + "y": -8.57913, + "z": 1.79347 + } + ], + "uuid": "41816027-1d42-1cf2-9549-e9313efad7c0", + "time": 5.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90.23389, + "y": -8.57913, + "z": 1.79347 + } + ], + "uuid": "0a7e0f06-f504-e8b9-f59b-5d6e29bb7e2b", + "time": 5.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.73389, + "y": -8.57913, + "z": 1.79347 + } + ], + "uuid": "1baf81a0-4428-ff17-6896-698d1c96c645", + "time": 5.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90.23389, + "y": -8.57913, + "z": 1.79347 + } + ], + "uuid": "97a03d6c-3637-1955-f00b-9a4f1a2488e3", + "time": 5.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.73389, + "y": -8.57913, + "z": 1.79347 + } + ], + "uuid": "8355a857-e589-2e81-fc6b-1d8150e23d4b", + "time": 5.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90.23389, + "y": -8.57913, + "z": 1.79347 + } + ], + "uuid": "9887921e-7c28-d884-5033-a0179f5d13e5", + "time": 5.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.73389, + "y": -8.57913, + "z": 1.79347 + } + ], + "uuid": "e9d36b19-6c7d-9587-aa8c-a3acaf930d06", + "time": 6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90.23389, + "y": -8.57913, + "z": 1.79347 + } + ], + "uuid": "e370ee69-af22-c18b-beb4-fa1b9bf7317c", + "time": 6.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.73389, + "y": -8.57913, + "z": 1.79347 + } + ], + "uuid": "19ba9f86-eacc-c5ad-7486-31e727d5987d", + "time": 6.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90.23389, + "y": -8.57913, + "z": 1.79347 + } + ], + "uuid": "49c195e8-947e-8f15-66bd-36791735aa8a", + "time": 6.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.73389, + "y": -8.57913, + "z": 1.79347 + } + ], + "uuid": "645892a6-3456-5863-e58f-ecc29f3c6bee", + "time": 6.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90.23389, + "y": -8.57913, + "z": 1.79347 + } + ], + "uuid": "df21de2b-6570-f7c1-95f3-6e8300d092f9", + "time": 6.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.73389, + "y": -8.57913, + "z": 1.79347 + } + ], + "uuid": "7af2d589-917f-06e4-6e55-701acb1da985", + "time": 6.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90.23389, + "y": -8.57913, + "z": 1.79347 + } + ], + "uuid": "00c8d957-9190-37b7-aee4-11e9e8f56a10", + "time": 7.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.73389, + "y": -8.57913, + "z": 1.79347 + } + ], + "uuid": "553c0a25-a943-d4b9-189a-5e76c726ca97", + "time": 7.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90.23389, + "y": -8.57913, + "z": 1.79347 + } + ], + "uuid": "c831655c-7399-bdf5-2418-3c4cb48e6d06", + "time": 7.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.73389, + "y": -8.57913, + "z": 1.79347 + } + ], + "uuid": "6a62d7cd-22e7-dd2e-1bd6-f01c1f4265f0", + "time": 7.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90.23389, + "y": -8.57913, + "z": 1.79347 + } + ], + "uuid": "64f1e3bc-6af3-051f-7dd2-a9efb6e28325", + "time": 7.65, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "7b04ed42-306b-2dc3-6bc1-25c7fe40ea74": { + "name": "Dog1LeftArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -49.68821, + "y": -9.23186, + "z": -3.86032 + } + ], + "uuid": "eda6565b-33e5-5df5-cea1-70fb50608dda", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -124.14558, + "y": -19.07387, + "z": 4.09696 + } + ], + "uuid": "c64391e4-79e1-11b7-d80b-47060b2eaa9b", + "time": 2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -124.15, + "y": -19.07, + "z": 4.1 + } + ], + "uuid": "dad1d988-0ff1-8926-5cbc-1e135c8ff4f3", + "time": 2.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -86.65, + "y": -19.07, + "z": 4.1 + } + ], + "uuid": "a3a5b189-2c71-c10d-d638-e67d966f62b3", + "time": 2.55, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -49.68821, + "y": -9.23186, + "z": -3.86032 + } + ], + "uuid": "167c6e32-bc63-866a-44d9-f35284e65868", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30.56393, + "y": 17.94973, + "z": 27.55814 + } + ], + "uuid": "eb0de76e-165d-c000-4395-4837a0bc692f", + "time": 7.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -175.56, + "y": 17.95, + "z": 27.56 + } + ], + "uuid": "a1dfadff-a1ce-ec7a-d683-dc2ea6395457", + "time": 8.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.73389, + "y": "8.5791", + "z": "-1.7935" + } + ], + "uuid": "b8bf79c2-fa27-d404-736b-98d67d126d8e", + "time": 2.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90.23389, + "y": "8.5791", + "z": "-1.7935" + } + ], + "uuid": "8da07784-d357-04a8-c09e-ad9dcd514800", + "time": 2.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.73389, + "y": "8.5791", + "z": "-1.7935" + } + ], + "uuid": "7dba9f8c-fc9e-4f2e-ed19-1bf7c7a9b7aa", + "time": 3.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90.23389, + "y": "8.5791", + "z": "-1.7935" + } + ], + "uuid": "fd5b0859-447b-4293-20d5-c1eca8d80535", + "time": 3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.73389, + "y": "8.5791", + "z": "-1.7935" + } + ], + "uuid": "920bcc82-d959-0202-0721-f7562ed77120", + "time": 3.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90.23389, + "y": "8.5791", + "z": "-1.7935" + } + ], + "uuid": "a8f6458d-d5ae-d14d-7496-c9c12943c369", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.73389, + "y": "8.5791", + "z": "-1.7935" + } + ], + "uuid": "16a9986f-f432-347c-ca87-6d3548ece540", + "time": 3.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90.23389, + "y": "8.5791", + "z": "-1.7935" + } + ], + "uuid": "84230530-7a57-3f95-48d6-6fac4a7757de", + "time": 3.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.73389, + "y": "8.5791", + "z": "-1.7935" + } + ], + "uuid": "47340c85-7e3e-9444-e7d2-f47df90c5c04", + "time": 4.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90.23389, + "y": "8.5791", + "z": "-1.7935" + } + ], + "uuid": "a36e99e9-48f6-7ecd-a16e-e202d43ec1bf", + "time": 3.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.73389, + "y": "8.5791", + "z": "-1.7935" + } + ], + "uuid": "c9538e51-321d-044a-085e-196b4612bc08", + "time": 4.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90.23389, + "y": "8.5791", + "z": "-1.7935" + } + ], + "uuid": "38a873f8-8157-7817-35f7-5116d831a589", + "time": 4.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.73389, + "y": "8.5791", + "z": "-1.7935" + } + ], + "uuid": "77052084-fcda-0633-2841-d20202c9d0a3", + "time": 4.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90.23389, + "y": "8.5791", + "z": "-1.7935" + } + ], + "uuid": "f06179f0-0c46-8843-365a-ba6555bac9bc", + "time": 4.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.73389, + "y": "8.5791", + "z": "-1.7935" + } + ], + "uuid": "3fa39db7-8d6e-4d64-7bac-83bd7553f64e", + "time": 4.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90.23389, + "y": "8.5791", + "z": "-1.7935" + } + ], + "uuid": "b2f7b0db-d931-dde7-e393-a77e3f40a354", + "time": 4.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.73389, + "y": "8.5791", + "z": "-1.7935" + } + ], + "uuid": "4ce92c11-f733-4fc8-ef16-58f0583a2d7c", + "time": 5.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90.23389, + "y": "8.5791", + "z": "-1.7935" + } + ], + "uuid": "cd081ba1-8dd4-1820-9361-b532033be0d4", + "time": 5.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.73389, + "y": "8.5791", + "z": "-1.7935" + } + ], + "uuid": "40a9a7c1-ffe0-b8d7-5b35-7e8b9936c254", + "time": 5.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90.23389, + "y": "8.5791", + "z": "-1.7935" + } + ], + "uuid": "aaa9b4e7-b985-1c7a-47a7-38c8829b8ab0", + "time": 5.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.73389, + "y": "8.5791", + "z": "-1.7935" + } + ], + "uuid": "991c8424-393f-e939-19f6-429fb57d1dd5", + "time": 5.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90.23389, + "y": "8.5791", + "z": "-1.7935" + } + ], + "uuid": "28f76afc-2b20-6ad5-2da7-92c12e6a035c", + "time": 5.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.73389, + "y": "8.5791", + "z": "-1.7935" + } + ], + "uuid": "41ac49da-5c0a-d9bc-3ae8-69fddcf381c0", + "time": 6.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90.23389, + "y": "8.5791", + "z": "-1.7935" + } + ], + "uuid": "ded94017-9eae-75e4-4171-9b8f46578a32", + "time": 6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.73389, + "y": "8.5791", + "z": "-1.7935" + } + ], + "uuid": "da98aaf2-36c3-c322-1de3-1c2c724f1f0a", + "time": 6.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90.23389, + "y": "8.5791", + "z": "-1.7935" + } + ], + "uuid": "d83438c1-13dd-ddbe-75a0-4199ce36b5d7", + "time": 6.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.73389, + "y": "8.5791", + "z": "-1.7935" + } + ], + "uuid": "2670d901-f25a-73f8-01ee-e74be2571f84", + "time": 6.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90.23389, + "y": "8.5791", + "z": "-1.7935" + } + ], + "uuid": "343b76e5-9220-4d4b-bf4c-6064062863f4", + "time": 6.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.73389, + "y": "8.5791", + "z": "-1.7935" + } + ], + "uuid": "ea975917-5018-da2a-badd-e35aca94c68f", + "time": 7.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90.23389, + "y": "8.5791", + "z": "-1.7935" + } + ], + "uuid": "a375da75-df34-f506-eb06-490d3b367886", + "time": 6.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.73389, + "y": "8.5791", + "z": "-1.7935" + } + ], + "uuid": "d23bcf8d-525a-260d-fafd-687667bb90a2", + "time": 7.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90.23389, + "y": "8.5791", + "z": "-1.7935" + } + ], + "uuid": "597bda1b-0f97-8d59-ae68-43b69c20a3c6", + "time": 7.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.73389, + "y": "8.5791", + "z": "-1.7935" + } + ], + "uuid": "3decacc3-41bf-6a89-3437-4f9905a51896", + "time": 7.65, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -90.23389, + "y": "8.5791", + "z": "-1.7935" + } + ], + "uuid": "8445cd99-6f52-aa12-a75c-085bbcceee1b", + "time": 7.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "c69d1b41-a3c6-ebdf-a1ff-534860fcf1cb": { + "name": "Dog2", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "2b506c3a-c562-aeec-e0ff-ed063abaca1f", + "time": 2.7, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 45, + "z": 0 + } + ], + "uuid": "2af82c19-e141-2682-f2b9-780c4a3cba3a", + "time": 8.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 45, + "z": 0 + } + ], + "uuid": "92c369bb-90a3-9c71-c795-df716d1f3872", + "time": 7.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 64, + "y": 10, + "z": 23 + } + ], + "uuid": "8edeff42-3882-3f67-d73b-aa6374f6b638", + "time": 3.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 64, + "y": 10, + "z": 18 + } + ], + "uuid": "9ccf18e6-fbaa-cf53-e9e9-28be9fbc4298", + "time": 3.75, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 44, + "y": 12, + "z": -23 + } + ], + "uuid": "cf60743a-c36b-3330-53d8-1d44576a00e1", + "time": 8.3, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.39652, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.39652, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 44, + "y": 0, + "z": -23 + } + ], + "uuid": "58bcc09b-5655-0ba3-24c5-5a95dd84975e", + "time": 7.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 44, + "y": 11, + "z": -23 + } + ], + "uuid": "c1d9d22e-8787-ce8d-c7e7-e9ea2f1db40d", + "time": 8.45, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.03364, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.03364, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 44, + "y": 0, + "z": -23 + } + ], + "uuid": "4d37a165-8d1f-f495-9106-68ad0a8942da", + "time": 7.8, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.03364, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.03364, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 64, + "y": 10, + "z": 23 + } + ], + "uuid": "71d12a10-751b-8ef0-6fce-c1f52afa5bd9", + "time": 5.5, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "f2bc3095-7242-6b4b-9afd-b4ea611627c5": { + "name": "Dog2Head", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "5120ff6b-d575-f4a5-c1eb-328aae8ebe77", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "5", + "y": "0", + "z": "0" + } + ], + "uuid": "476a7ff3-f473-0042-2516-eabe0095fb00", + "time": 3.75, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 25, + "y": 0, + "z": 0 + } + ], + "uuid": "57f28239-60a7-e5b5-31b3-20d5f8254bd8", + "time": 7.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 5, + "y": 0, + "z": 0 + } + ], + "uuid": "f19a4cc2-fa92-c10c-57ea-65823a82c483", + "time": 8.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 22.5, + "y": 0, + "z": 0 + } + ], + "uuid": "b0d8cf37-2556-d46e-e401-ae1d9bdad60b", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "1617aefe-3137-9318-ff29-041723fb55ef", + "time": 2.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 22.5, + "y": 0, + "z": 0 + } + ], + "uuid": "13a7bf27-ad0e-081b-aff3-74560c812b3c", + "time": 5.5, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "f71898a0-8281-0514-81b5-4ba8028f8eff": { + "name": "Dog3", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": -115, + "z": "0" + } + ], + "uuid": "9a3f321f-f72a-374c-d3bd-3190f3ada05c", + "time": 2.7, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 95, + "z": 0 + } + ], + "uuid": "12f219e9-77ca-961f-18e5-2b218c9dfe1a", + "time": 5.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 95, + "z": 0 + } + ], + "uuid": "3492d9c6-33e1-f897-9c7d-88deeaba6dc8", + "time": 6.6, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 40, + "z": 0 + } + ], + "uuid": "b228913f-9b86-3a84-7a92-c5ad8432cbfc", + "time": 7.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 43, + "y": "0", + "z": -10 + } + ], + "uuid": "317e6285-fbfe-50ad-565b-c5cbec8902de", + "time": 2.7, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 40, + "y": 0, + "z": -38 + } + ], + "uuid": "6da6e700-a552-2f3e-8d54-3df4b82c38a1", + "time": 5.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 40, + "y": 0, + "z": -38 + } + ], + "uuid": "ac368425-e108-924a-881f-36e7377cd136", + "time": 6.6, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 35, + "y": 3, + "z": -30 + } + ], + "uuid": "4c958684-8311-a888-9caa-032f6a1678c7", + "time": 8.15, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.40042, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.40042, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 35, + "y": -3, + "z": -30 + } + ], + "uuid": "587053cd-8603-ca28-78d7-d9a3153dd00d", + "time": 7.8, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.034, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.034, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 35, + "y": 2, + "z": -30 + } + ], + "uuid": "d641929d-4caa-8022-cda4-fffc8408a5ad", + "time": 8.3, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.02742, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.02742, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 40, + "y": 0, + "z": -38 + } + ], + "uuid": "5dcf7192-669a-e57a-2d3e-380524ad120e", + "time": 7.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "a79a0a1c-f759-9488-f4b2-a14906a5d143": { + "name": "Dog3Head", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "0", + "z": "0" + } + ], + "uuid": "57653a18-4955-47b9-f0e2-e5573f08e426", + "time": 3.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -25, + "y": 0, + "z": 0 + } + ], + "uuid": "f90894b2-1d7c-48f0-0893-b6381cc95cb5", + "time": 3.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -25, + "y": 0, + "z": 0 + } + ], + "uuid": "69d1a110-f03c-c7c6-2dfe-ea6af85ce73c", + "time": 4.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 5, + "y": 0, + "z": 0 + } + ], + "uuid": "cb5a87f7-ff22-8f09-c8a8-0441e397eb4b", + "time": 4.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 5, + "y": 0, + "z": 0 + } + ], + "uuid": "59b949e8-83d6-f486-a778-76588183d856", + "time": 4.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -27.5, + "y": 0, + "z": 0 + } + ], + "uuid": "002ae9b1-43e3-e4d6-fb3e-08062c9035e6", + "time": 4.85, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -27.5, + "y": "30", + "z": 0 + } + ], + "uuid": "a71cc0da-2c06-a608-a592-af46d2dd13b3", + "time": 5.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -27.5, + "y": "-10", + "z": 0 + } + ], + "uuid": "f36f4386-b5c1-bd49-d4e7-1bc033717069", + "time": 6.6, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -20, + "y": "0", + "z": 0 + } + ], + "uuid": "30c2094c-62c6-33a7-3628-9100f99b5d52", + "time": 8.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -20, + "y": "-20", + "z": 0 + } + ], + "uuid": "76519703-0335-cf2d-1f19-e8ab0d23843d", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -34.99897, + "y": -0.28679, + "z": -7.90958 + } + ], + "uuid": "1c20861e-5f44-c5f6-40bc-76dbc9dff1ac", + "time": 2.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -27.5, + "y": -10, + "z": 0 + } + ], + "uuid": "87dae313-971f-e011-b223-5cf0671c153b", + "time": 7.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 20, + "y": -10, + "z": 0 + } + ], + "uuid": "42ad45a4-b9b7-e159-0209-b5011b902b13", + "time": 7.5, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 0 + } + ], + "uuid": "2d80f23b-e4ab-28e0-b611-522fa1cd2172", + "time": 7.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "49e48ce8-5930-0cce-5460-6cd22dc66a42": { + "name": "Takoyaki3", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 117.05145, + "y": -14.04982, + "z": 56.49382 + } + ], + "uuid": "6f2f0f5e-3e02-7d3c-1cd1-b90cb507aa05", + "time": 2.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 117.05, + "y": -14.05, + "z": 56.49 + } + ], + "uuid": "9d200599-d396-a5f7-4838-8355517e1aee", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 118.61386, + "y": -22.89892, + "z": 51.57226 + } + ], + "uuid": "267cb09f-7436-98ca-d3e3-16eb1371fdd2", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 118.61, + "y": -22.9, + "z": 51.57 + } + ], + "uuid": "8d11c9d2-b2bc-e3b3-407b-98385a1f47af", + "time": 5.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 76.26394, + "y": -39.99079, + "z": 56.01554 + } + ], + "uuid": "88ec8036-f362-1e27-6c95-95fde770f417", + "time": 6.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 83.76, + "y": -39.99, + "z": 56.02 + } + ], + "uuid": "b7ae1bcc-faf2-896d-7bba-db8777a4880a", + "time": 7.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 83.76, + "y": -39.99, + "z": 56.02 + } + ], + "uuid": "095c2abe-aaff-213b-9d7e-c0f1be6acb48", + "time": 7.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 114.96102, + "y": -39.52621, + "z": 56.76972 + } + ], + "uuid": "482ffa3f-eed8-5d65-b7ff-bb5060ee3193", + "time": 7.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 96.9772, + "y": -14.11118, + "z": 68.89991 + } + ], + "uuid": "dfb8e48b-68cd-91a4-077c-9351b920610e", + "time": 8.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 5.5, + "y": 13, + "z": -1.5 + } + ], + "uuid": "59643790-d361-d606-9c37-2f6a32bf2dd5", + "time": 2.7, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 5.5, + "y": 13, + "z": -1.5 + } + ], + "uuid": "67760baa-468e-1423-5cfd-02f21a8b878a", + "time": 7.9, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 5, + "y": 14.75, + "z": -1.5 + } + ], + "uuid": "3f591dfc-f163-3e94-97e4-41bb09ace0ff", + "time": 8.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "c136eaa8-85bb-feac-f2c7-f1b0727364a0": { + "name": "Dumplings", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 108.25612, + "y": -8.31087, + "z": 23.66235 + } + ], + "uuid": "6d70e814-111a-5cd4-e2af-898f13839e36", + "time": 2.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 108.26, + "y": -8.31, + "z": 23.66 + } + ], + "uuid": "ab14124f-4a5e-391f-5c58-1655713cb553", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 134.27176, + "y": -13.7302, + "z": 18.37659 + } + ], + "uuid": "b6f78e84-6a21-bef1-ba06-a2556240db25", + "time": 4.9, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 161.77, + "y": -13.73, + "z": 18.38 + } + ], + "uuid": "0e52b82d-bdc9-fcdd-69b8-857754b55866", + "time": 5.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 105.53706, + "y": -2.53846, + "z": 6.71996 + } + ], + "uuid": "b4981f1c-c352-e976-8b20-064f0fc16cd5", + "time": 7.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 153.92, + "y": -12.17, + "z": 16.75 + } + ], + "uuid": "976e31fb-4def-2298-5bce-79dbc438b927", + "time": 5.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 85.34212, + "y": 16.91273, + "z": 10.42389 + } + ], + "uuid": "254db3db-bfaa-036d-e412-78dd1a64f1ba", + "time": 6.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -5.5, + "y": 13, + "z": -1.5 + } + ], + "uuid": "a6c066a5-4cbe-302f-2731-eb5433068002", + "time": 2.7, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -5.5, + "y": 12.75, + "z": -1 + } + ], + "uuid": "ef562212-a278-1916-99e7-fe9db07f2783", + "time": 5.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -5.5, + "y": 12.75, + "z": -1 + } + ], + "uuid": "3345e870-f1c4-ec6d-7331-249ae55b33f6", + "time": 7.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -5.5, + "y": 12.75, + "z": -1 + } + ], + "uuid": "0ba909ed-2295-50c4-4522-423d14251e43", + "time": 5.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "d4f73457-cd9d-ec50-28ec-24f4a5b8f90d": { + "name": "RightSpatula", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "90", + "y": "0", + "z": "0" + } + ], + "uuid": "4196fc3f-54f2-6e93-6418-36941bbd9b63", + "time": 3.75, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "961896eb-2c95-b7ca-8a89-c55048a702ca", + "time": 3.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 90, + "y": 0, + "z": 0 + } + ], + "uuid": "ac06af34-3d11-cf42-7d5b-c201f36c709c", + "time": 7.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "40", + "y": 0, + "z": 0 + } + ], + "uuid": "dfa70358-8845-4107-fff7-bdf6f1c46612", + "time": 8.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 77.5, + "y": 0, + "z": 0 + } + ], + "uuid": "b97ef5f7-e933-e0b1-043a-ead92a80b939", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "55a9bfbd-c09a-f14a-6e6f-6cab7fefd575", + "time": 2.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 77.5, + "y": 0, + "z": 0 + } + ], + "uuid": "931134de-f733-0925-8810-5b4191528e26", + "time": 5.5, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "03836ce1-641c-730c-a6d5-1481214f4e5a": { + "name": "LeftSpatula", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "90", + "y": "0", + "z": "0" + } + ], + "uuid": "166ee763-8d02-2976-8a11-99c1484efef4", + "time": 3.75, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "39f610f3-c679-0ba4-3fab-24a8f485edec", + "time": 3.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 90, + "y": 0, + "z": 0 + } + ], + "uuid": "831ee58e-3b07-14d6-4bcb-d6422855a4d1", + "time": 7.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 40, + "y": 0, + "z": 0 + } + ], + "uuid": "24b50c05-5119-149e-adc3-da0887860339", + "time": 8.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 75, + "y": 0, + "z": 0 + } + ], + "uuid": "59514377-967d-fb52-3f6f-c537ca186067", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "b2fac2f4-893b-772c-bdbd-94a9d58eb37c", + "time": 2.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 75, + "y": 0, + "z": 0 + } + ], + "uuid": "92868859-6cc7-d45e-87f1-17eebea46b7e", + "time": 5.5, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "097579cd-3e90-0a70-a05b-416e052f3ffb": { + "name": "Dog3RightArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -134.76498, + "y": 16.3882, + "z": -15.63367 + } + ], + "uuid": "da318a95-1f7f-a2c8-48df-88ca45fa7992", + "time": 2.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -134.76, + "y": 16.39, + "z": -15.63 + } + ], + "uuid": "7702095b-5f0c-4628-4b1c-debf06dfca79", + "time": 3.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -39.76, + "y": 16.39, + "z": -15.63 + } + ], + "uuid": "c7578120-6285-605f-c075-e0d7e6b5f7ce", + "time": 3.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -39.76, + "y": 16.39, + "z": -15.63 + } + ], + "uuid": "d5e627ff-b59d-60aa-5c65-da1d146ff2d6", + "time": 4.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -149.76, + "y": 16.39, + "z": -15.63 + } + ], + "uuid": "6063c90a-10ae-f122-5fad-f6f3f16024b2", + "time": 4.85, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -109.56838, + "y": -26.12797, + "z": 8.89674 + } + ], + "uuid": "8a0a0048-ae42-faee-542a-c31f394a562f", + "time": 6.6, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -149.76, + "y": 16.39, + "z": -15.63 + } + ], + "uuid": "3b0a0785-0132-64d7-ae8d-55a5a75b3a4d", + "time": 5.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "17.5" + } + ], + "uuid": "40c38bf2-bfbb-771a-8e23-17d4f6efc7e6", + "time": 7.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -108.66201, + "y": 36.01651, + "z": 6.26728 + } + ], + "uuid": "7baba279-a3f8-c673-b589-c4dabb7152df", + "time": 8.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -67.5, + "y": "0", + "z": "0" + } + ], + "uuid": "52724559-f3c6-012c-588c-2aed98c2ed15", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -67.42266, + "y": 4.61854, + "z": 1.91757 + } + ], + "uuid": "d06bffde-4952-f0f2-b0b1-7d91e46b0411", + "time": 1.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -67.49923, + "y": 0.46194, + "z": 0.19135 + } + ], + "uuid": "5f944cbe-8cb3-3f2a-97d8-cb1741eb7c8c", + "time": 2.65, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "f4e7e3b9-4493-f496-385e-2eb83a5d972b": { + "name": "Dog3LeftArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": -17.5 + } + ], + "uuid": "b2ddcd8d-3c98-bf8a-2abd-31c5b3ef9cbb", + "time": 2.7, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -132.5 + } + ], + "uuid": "e13bfc7d-71e3-e8af-f9b2-f5dbfc5a722f", + "time": 8.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -17.5 + } + ], + "uuid": "1dabe2af-3120-1253-2a25-abdfbcfa5f8e", + "time": 7.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -35, + "y": 0, + "z": -7.5 + } + ], + "uuid": "2ce6f31f-6d91-6a12-61ea-14053bcc45ba", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -34.89743, + "y": -2.86544, + "z": -11.59918 + } + ], + "uuid": "fc69fa95-c8c7-4549-81e7-db374042870b", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -34.99897, + "y": -0.28679, + "z": -7.90958 + } + ], + "uuid": "8b2b6753-2822-937a-bab1-b56dc8eec056", + "time": 2.65, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "39b62859-4322-c0ad-fcb6-c38ff53abed1": { + "name": "ChocoBanana", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 148.48084, + "y": -11.43563, + "z": -9.77243 + } + ], + "uuid": "8c1101b0-a997-2361-601a-7e4df80cceed", + "time": 2.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 148.48, + "y": -11.44, + "z": -9.77 + } + ], + "uuid": "be6171d8-51ad-58a2-6374-111db3fe1b76", + "time": 3.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 88.44825, + "y": -20.2544, + "z": -0.54457 + } + ], + "uuid": "aeed056b-8405-7c47-c619-fbe6ee338587", + "time": 3.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 88.45, + "y": -20.25, + "z": -0.54 + } + ], + "uuid": "83705424-f1be-5e8a-ba98-1f3ee6f04c31", + "time": 4.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 136.23685, + "y": -10.7349, + "z": -10.50279 + } + ], + "uuid": "fbda0179-c701-1c2e-fec6-c89393733b35", + "time": 4.85, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 136.23685, + "y": -10.7349, + "z": -10.50279 + } + ], + "uuid": "b21fb948-04cf-a3a5-16b9-eba91cd93efa", + "time": 5.5, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 40, + "y": 0, + "z": -180 + } + ], + "uuid": "15386b53-29a1-031b-120e-35e22c1fa9b5", + "time": 7.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 55, + "y": 0, + "z": -180 + } + ], + "uuid": "3ff63e75-e500-e622-7f03-c3893317031f", + "time": 6.6, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 73.70489, + "y": -6.64336, + "z": -11.19969 + } + ], + "uuid": "7a1f1ae6-a78f-fefa-2b42-5ed506656030", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -4.25, + "y": 6.75, + "z": 0.5 + } + ], + "uuid": "b1d5f0a8-8934-471d-13e2-106dca68ef68", + "time": 2.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -4.25, + "y": 6.75, + "z": 0.5 + } + ], + "uuid": "a95b44be-3344-5bb3-9dc4-3e092b7aecf6", + "time": 3.3, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -4.25, + "y": 6.25, + "z": -0.5 + } + ], + "uuid": "01885090-4bad-135b-a2a6-9167e4dfd385", + "time": 3.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -4.25, + "y": 6.25, + "z": -0.5 + } + ], + "uuid": "01456378-c991-c03e-4027-045505c87096", + "time": 4.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -4.25, + "y": 6.5, + "z": 0.25 + } + ], + "uuid": "f7906b45-695f-edaa-8c49-466dedf25778", + "time": 4.85, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -4.25, + "y": 6.5, + "z": 0.25 + } + ], + "uuid": "58787ad6-0372-520e-33ce-866796d70b39", + "time": 5.5, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -6, + "y": 12.5, + "z": -0.5 + } + ], + "uuid": "514c4cf7-31c5-213b-30a8-c685729e724e", + "time": 7.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -4, + "y": 6, + "z": 0.5 + } + ], + "uuid": "2788be45-adc4-02f6-1de7-649f522509b4", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -5.5, + "y": 12.5, + "z": -0.5 + } + ], + "uuid": "720d9f12-9f0f-aac9-ef0d-5c3b7a00d1ff", + "time": 6.6, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "8426da8a-6e6a-cd8c-d964-69fdeb622a30": { + "name": "Ikayaki9", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 99.04648, + "y": 21.56984, + "z": -77.36717 + } + ], + "uuid": "52afd4e0-7d2d-fb51-e62f-314e112d8e1c", + "time": 5.5, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 122.33711, + "y": 5.73853, + "z": -49.75742 + } + ], + "uuid": "829eef04-5e67-cbe1-ba7d-5085256dccd8", + "time": 7.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 107.64168, + "y": 7.15102, + "z": 2.26708 + } + ], + "uuid": "828c8670-2ab8-4096-0672-60dc8621a885", + "time": 6.6, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -5.25, + "y": 12.75, + "z": -1.5 + } + ], + "uuid": "72731021-3ff5-ef8d-316b-a034f382b638", + "time": 5.5, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -4.25, + "y": 6.75, + "z": 0 + } + ], + "uuid": "3ddbe2a4-05a7-2b31-c092-8f5bbd0ff881", + "time": 7.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -4.5, + "y": 6.75, + "z": 0 + } + ], + "uuid": "ca3979ba-89f7-5eb2-e4ab-dc4ace81dc28", + "time": 6.6, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "f54e0d44-6c74-dad3-aa84-e9b9f4faf83c": { + "name": "Dog2RightArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -77.20638, + "y": -12.19908, + "z": -2.74715 + } + ], + "uuid": "20f46960-1a6e-d3eb-fd0a-b9e20acb4a67", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30.56393, + "y": -17.94973, + "z": -27.55814 + } + ], + "uuid": "a140d273-fea9-2beb-0213-c9b2a21e3765", + "time": 7.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -156.69304, + "y": 9.30727, + "z": -20.57639 + } + ], + "uuid": "4f733063-3128-e6df-930d-445e81cec54b", + "time": 8.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.39557, + "y": -7.32123, + "z": -1.63219 + } + ], + "uuid": "8b81d303-30b2-c22a-de45-a9595cfc3648", + "time": 0.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.20638, + "y": -12.19908, + "z": -2.74715 + } + ], + "uuid": "1f602c7a-976a-aa3a-d10b-8a738e3a47d4", + "time": 0.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.39557, + "y": -7.32123, + "z": -1.63219 + } + ], + "uuid": "21572a0f-03b0-eca9-9e39-ab8bdcdfe5d4", + "time": 0.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.20638, + "y": -12.19908, + "z": -2.74715 + } + ], + "uuid": "f7b32f70-e861-2a73-9334-a2d409a67dfd", + "time": 0.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.39557, + "y": -7.32123, + "z": -1.63219 + } + ], + "uuid": "8be2d03a-b959-c0de-5a60-a3368d1700d3", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.20638, + "y": -12.19908, + "z": -2.74715 + } + ], + "uuid": "a27b02f6-a6f8-7c02-8f0b-1172711a7945", + "time": 0.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.39557, + "y": -7.32123, + "z": -1.63219 + } + ], + "uuid": "41589303-7311-6511-7756-b984437aca62", + "time": 1.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.20638, + "y": -12.19908, + "z": -2.74715 + } + ], + "uuid": "3c038351-8339-e21f-8771-2924d741be78", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.39557, + "y": -7.32123, + "z": -1.63219 + } + ], + "uuid": "7c7fff4b-3df7-51ed-cb7b-41f1940db3ef", + "time": 1.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.20638, + "y": -12.19908, + "z": -2.74715 + } + ], + "uuid": "7a9e89f9-aabc-a5ed-a215-660c3066b22c", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.39557, + "y": -7.32123, + "z": -1.63219 + } + ], + "uuid": "2cf38cdb-7251-3bd6-7150-76fc37799f0e", + "time": 1.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.20638, + "y": -12.19908, + "z": -2.74715 + } + ], + "uuid": "3a98f982-54a5-247d-f160-cab5b7d1f146", + "time": 1.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.39557, + "y": -7.32123, + "z": -1.63219 + } + ], + "uuid": "0feb0bcd-d2e6-2609-c265-33456b2c3ba7", + "time": 1.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.20638, + "y": -12.19908, + "z": -2.74715 + } + ], + "uuid": "a1994de6-0a8a-dd79-1080-7789219a2723", + "time": 2.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.39557, + "y": -7.32123, + "z": -1.63219 + } + ], + "uuid": "2e128f84-5225-4296-8014-122c6aa3dd03", + "time": 2.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.20638, + "y": -12.19908, + "z": -2.74715 + } + ], + "uuid": "34a9daab-63a2-c683-cb94-e1dfdf86e15a", + "time": 2.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.39557, + "y": -7.32123, + "z": -1.63219 + } + ], + "uuid": "0cc6b4ab-e31f-852d-495b-84c4441965db", + "time": 2.55, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "0760c1a1-5b26-24c8-04d3-20ee72328213", + "time": 2.7, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.20638, + "y": -12.19908, + "z": -2.74715 + } + ], + "uuid": "5f647af7-7f3c-624e-24f9-72550d1c70f6", + "time": 5.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.39557, + "y": -7.32123, + "z": -1.63219 + } + ], + "uuid": "faea6f44-38ad-ca1b-4f62-317dfc1b2499", + "time": 5.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.20638, + "y": -12.19908, + "z": -2.74715 + } + ], + "uuid": "89dde305-8891-9b9e-829b-295602f96d53", + "time": 5.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.39557, + "y": -7.32123, + "z": -1.63219 + } + ], + "uuid": "757deb85-758d-acf5-2efb-f3595c78757e", + "time": 5.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.20638, + "y": -12.19908, + "z": -2.74715 + } + ], + "uuid": "76060dfa-3176-e500-a2ce-f0d8c166f69a", + "time": 6.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.39557, + "y": -7.32123, + "z": -1.63219 + } + ], + "uuid": "ed537019-57f7-ba4f-0969-c1991440a489", + "time": 6.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.20638, + "y": -12.19908, + "z": -2.74715 + } + ], + "uuid": "68aa5ff1-d02f-1de4-5332-df29934caabe", + "time": 6.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.39557, + "y": -7.32123, + "z": -1.63219 + } + ], + "uuid": "4dde9362-4efa-5a38-80ac-c2be1f00d42e", + "time": 6.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.20638, + "y": -12.19908, + "z": -2.74715 + } + ], + "uuid": "757fd054-a615-8a3b-92a5-32309a433e0b", + "time": 6.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.39557, + "y": -7.32123, + "z": -1.63219 + } + ], + "uuid": "da4b45af-5f98-887c-ca56-031482515842", + "time": 6.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.20638, + "y": -12.19908, + "z": -2.74715 + } + ], + "uuid": "306a551d-45a0-7db2-41f0-8c2057e9a609", + "time": 7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.39557, + "y": -7.32123, + "z": -1.63219 + } + ], + "uuid": "c29b71ca-01aa-9936-7097-0ba57a9c1e11", + "time": 7.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.20638, + "y": -12.19908, + "z": -2.74715 + } + ], + "uuid": "0544bc89-4754-2018-3a6e-166cf2d3563f", + "time": 7.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.39557, + "y": -7.32123, + "z": -1.63219 + } + ], + "uuid": "79faa27c-8dea-1bb9-f64a-38ad79466a3d", + "time": 7.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.20638, + "y": -12.19908, + "z": -2.74715 + } + ], + "uuid": "fe1f75c3-da74-ae5a-6221-a89fc6200ee2", + "time": 7.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.39557, + "y": -7.32123, + "z": -1.63219 + } + ], + "uuid": "cb976dad-adcb-aad0-8ccd-fff34b1f36e6", + "time": 7.7, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "d35290a9-da9f-8448-a1ce-1a5682e25eb8": { + "name": "Dog2LeftArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -30.56393, + "y": 17.94973, + "z": 27.55814 + } + ], + "uuid": "e5da6856-40ef-5222-7270-48d45d78e17c", + "time": 7.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -156.69304, + "y": -9.30727, + "z": 20.57639 + } + ], + "uuid": "e142f20c-e73a-b7b8-4896-1424d0053a7c", + "time": 8.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.20638, + "y": 12.19908, + "z": 2.74715 + } + ], + "uuid": "5eed06a2-6a8c-f32b-a014-5c8b82a84772", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -76.91381, + "y": 17.07228, + "z": 3.90399 + } + ], + "uuid": "f02a414d-c6cc-5ef4-4339-9474cecc52be", + "time": 0.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.20638, + "y": 12.19908, + "z": 2.74715 + } + ], + "uuid": "5f1b2e66-596e-e950-447d-b39791bf292a", + "time": 0.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -76.91381, + "y": 17.07228, + "z": 3.90399 + } + ], + "uuid": "9f294cd7-f1f4-d576-022f-640b4e10da7b", + "time": 0.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.20638, + "y": 12.19908, + "z": 2.74715 + } + ], + "uuid": "f2ad1bd4-8e5c-d978-9c5a-55884100062d", + "time": 0.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -76.91381, + "y": 17.07228, + "z": 3.90399 + } + ], + "uuid": "ed1f2877-4ae8-baef-169a-be645fec3a61", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.20638, + "y": 12.19908, + "z": 2.74715 + } + ], + "uuid": "49076f65-7951-7674-5a59-902a14dd0a87", + "time": 0.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -76.91381, + "y": 17.07228, + "z": 3.90399 + } + ], + "uuid": "802fb885-d6cf-c7cb-9c4f-afc43f770be3", + "time": 1.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.20638, + "y": 12.19908, + "z": 2.74715 + } + ], + "uuid": "61d38cd0-0cb1-a6ec-ed72-418ddab6fad3", + "time": 1.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -76.91381, + "y": 17.07228, + "z": 3.90399 + } + ], + "uuid": "3a1bbe1d-9c40-0098-7db3-f7b9a5e28eb4", + "time": 1.35, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.20638, + "y": 12.19908, + "z": 2.74715 + } + ], + "uuid": "2f7c9e5d-0f44-a5d1-75cb-3826df224beb", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -76.91381, + "y": 17.07228, + "z": 3.90399 + } + ], + "uuid": "77134a3f-f81a-970c-9292-05f57d6fba54", + "time": 1.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.20638, + "y": 12.19908, + "z": 2.74715 + } + ], + "uuid": "eaa3774a-2afb-3259-024a-d78ae68f4043", + "time": 1.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -76.91381, + "y": 17.07228, + "z": 3.90399 + } + ], + "uuid": "3b4c08b9-ebd4-2b0f-ccfe-2648cf04949d", + "time": 1.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.20638, + "y": 12.19908, + "z": 2.74715 + } + ], + "uuid": "ed98b74b-4125-5c5f-b87e-d3fce93737b8", + "time": 2.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -76.91381, + "y": 17.07228, + "z": 3.90399 + } + ], + "uuid": "d601b629-b57d-f275-088f-b96cf4eb000b", + "time": 2.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.20638, + "y": 12.19908, + "z": 2.74715 + } + ], + "uuid": "a16ce182-de54-5336-5585-3971001071a7", + "time": 2.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -76.91381, + "y": 17.07228, + "z": 3.90399 + } + ], + "uuid": "526c339d-a465-4dd1-0227-322567b9ee2d", + "time": 2.55, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "4b0a5eb8-0c1e-de8f-8e85-dd91918bcf10", + "time": 2.7, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.20638, + "y": 12.19908, + "z": 2.74715 + } + ], + "uuid": "abf2a0c9-82fb-f45c-e25d-50541568b7d9", + "time": 5.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -76.91381, + "y": 17.07228, + "z": 3.90399 + } + ], + "uuid": "1ccbd99c-6e82-6b11-1b36-930353536b58", + "time": 5.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.20638, + "y": 12.19908, + "z": 2.74715 + } + ], + "uuid": "81b36135-c69b-0608-e74f-414baae9df14", + "time": 5.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -76.91381, + "y": 17.07228, + "z": 3.90399 + } + ], + "uuid": "7e8fb083-ac04-c722-d66b-98cc0aba975d", + "time": 5.95, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.20638, + "y": 12.19908, + "z": 2.74715 + } + ], + "uuid": "9df2bf0c-60d0-7410-bdc3-08093e390971", + "time": 6.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -76.91381, + "y": 17.07228, + "z": 3.90399 + } + ], + "uuid": "fe1bbd51-cd00-90d9-8a85-c8736a55a037", + "time": 6.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.20638, + "y": 12.19908, + "z": 2.74715 + } + ], + "uuid": "1dfef067-04f0-d5cf-5224-49e81b0b33e6", + "time": 6.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -76.91381, + "y": 17.07228, + "z": 3.90399 + } + ], + "uuid": "23ee0311-c896-6293-653c-0276baa4abf1", + "time": 6.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.20638, + "y": 12.19908, + "z": 2.74715 + } + ], + "uuid": "881cf75e-19a4-5345-d815-7da40bf579a3", + "time": 6.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -76.91381, + "y": 17.07228, + "z": 3.90399 + } + ], + "uuid": "84130a81-aeda-b941-3883-816ac2d00192", + "time": 6.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.20638, + "y": 12.19908, + "z": 2.74715 + } + ], + "uuid": "09a3a95d-8ec3-c7b9-e52c-140ad2ddb58e", + "time": 7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -76.91381, + "y": 17.07228, + "z": 3.90399 + } + ], + "uuid": "b6369fe7-d236-c60d-7659-7370903485f2", + "time": 7.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.20638, + "y": 12.19908, + "z": 2.74715 + } + ], + "uuid": "6f2fed10-4ce6-c9f4-38d1-13ca3005fd6f", + "time": 7.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -76.91381, + "y": 17.07228, + "z": 3.90399 + } + ], + "uuid": "2284a687-94e8-683f-3e78-be5685437ae2", + "time": 7.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.20638, + "y": 12.19908, + "z": 2.74715 + } + ], + "uuid": "440f6f66-80b7-0f65-cb21-1a53cf06a908", + "time": 7.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -76.91381, + "y": 17.07228, + "z": 3.90399 + } + ], + "uuid": "1f1a0e6c-6823-5813-9943-29adcb9d4a43", + "time": 7.7, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "fa3ba48a-f422-9bbb-1bd2-6453756066ad": { + "name": "Dog2RightLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "-20", + "y": "0", + "z": "15" + } + ], + "uuid": "eaa3a01a-da7b-35bd-8230-5be016210fbb", + "time": 8.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "ff4a544f-519b-7180-e52c-5105112f3da0", + "time": 7.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "42c6f18f-7c62-0e16-89b4-efd1b8ec0328": { + "name": "Dog2LeftLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "a7b1258c-6c6d-49b1-a890-74d5e54f23cf", + "time": 7.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -20, + "y": 0, + "z": "-15" + } + ], + "uuid": "8d0eaa49-3806-0d1a-c316-15bd9f31051c", + "time": 8.3, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "143a4fb6-cb4a-e71b-de25-8e5eb61945e2": { + "name": "Dog3RightLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "cf7da19a-8475-89e2-f85f-f240f6f982af", + "time": 7.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -20, + "y": 0, + "z": 15 + } + ], + "uuid": "6da83ae5-03c1-0150-0433-eeb67568819a", + "time": 8.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "73d51f04-187b-1794-2c1c-48d90e14a7eb": { + "name": "Dog3LeftLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "0794ed3c-f1c0-dfae-1880-b12ec50b3627", + "time": 7.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -20, + "y": 0, + "z": -15 + } + ], + "uuid": "3e1c4183-56b7-49e4-19b2-f23341674315", + "time": 8.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "4a0f8e9f-8e9c-a592-de0d-4dd1016f73a2": { + "name": "RightEyeShine", + "type": "bone", + "keyframes": [ + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "c75bc558-02c2-2a26-5700-b47e711c09b8", + "time": 0, + "color": -1, + "uniform": true, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "600bec1a-46b3-6d19-d30c-1f76ca1c2bfb", + "time": 2.7, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0.5", + "y": "0.5", + "z": "0.5" + } + ], + "uuid": "1b5ab6d1-96e5-1f1c-7b3e-2a0ffaf73e23", + "time": 2.9, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "284da763-0bf5-1250-a98b-3552b90e5ec0", + "time": 3.1, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0.5", + "y": "0.5", + "z": "0.5" + } + ], + "uuid": "45cecada-3216-84e5-7781-4d25c864fb78", + "time": 3.3, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "91b5db4d-ba2e-7c65-3b92-ac496955973e", + "time": 3.5, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0.5", + "y": "0.5", + "z": "0.5" + } + ], + "uuid": "74c2e622-7b30-f276-187d-82fff34b0678", + "time": 3.7, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "3bc34674-2482-1dea-71fa-05cd57333a70", + "time": 3.9, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0.5", + "y": "0.5", + "z": "0.5" + } + ], + "uuid": "ad5c7723-9b17-9ce2-1be9-14fb38545e1e", + "time": 4.1, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "7c15191d-0b5a-bb6c-e3f5-1b471912b867", + "time": 4.3, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0.5", + "y": "0.5", + "z": "0.5" + } + ], + "uuid": "fda0bb3b-b578-5c9f-b28f-f3660d983991", + "time": 4.5, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "7aa15c0c-e949-4960-1569-1499d40ace5a", + "time": 4.6, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "a636dd4c-28b1-d0d1-28bd-1b007a969b37": { + "name": "LeftEyeShine", + "type": "bone", + "keyframes": [ + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "59b7651c-e326-d92e-2294-057f73c5898d", + "time": 2.7, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0.5", + "y": "0.5", + "z": "0.5" + } + ], + "uuid": "1f489925-35b0-faed-ead6-228600ae2cf6", + "time": 2.9, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "eac59b8c-17fb-f77e-c2c0-486fbb0b498e", + "time": 3.1, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0.5", + "y": "0.5", + "z": "0.5" + } + ], + "uuid": "316f8803-a421-6039-de05-bac5f2564239", + "time": 3.3, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "118b3a3f-675e-18b5-cc9e-83a2a8b8f42f", + "time": 3.5, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0.5", + "y": "0.5", + "z": "0.5" + } + ], + "uuid": "fdf7237b-cb0d-0d76-2fbb-45231dae0e1d", + "time": 3.7, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "afb47f10-6044-db6c-840e-673c3a7657a4", + "time": 3.9, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0.5", + "y": "0.5", + "z": "0.5" + } + ], + "uuid": "d8ab23fe-94bf-6290-4bc7-b34865f58eb7", + "time": 4.1, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "b0f3b69e-a0ff-755f-eb12-3b76533b229c", + "time": 4.3, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0.5", + "y": "0.5", + "z": "0.5" + } + ], + "uuid": "0c554a5f-9552-d3a1-065a-b17bd0dcb3ac", + "time": 4.5, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "4ef65f5c-5491-3c68-fd3e-bbc46a47bbd1", + "time": 4.6, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "9f0cd20d-47d0-ec1a-4c0f-4df85923a1f0", + "time": 0, + "color": -1, + "uniform": true, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "7aad7d85-86ad-563f-244b-fb34cde8ffb3": { + "name": "LaughterLinesInner", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "180", + "z": "0" + } + ], + "uuid": "2a9db716-ebf7-c89f-7b7e-3501599b5483", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "0", + "z": 0 + } + ], + "uuid": "a218a79b-7e0a-f26d-7a99-83a8f5ac713c", + "time": 4.85, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -25 + } + ], + "uuid": "16009d1a-1c46-5e20-b8da-40df00e8c96e", + "time": 6.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -31, + "y": 29, + "z": -8 + } + ], + "uuid": "a43c2c92-5f9c-22b5-4279-885be54b5e18", + "time": 0, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 54, + "y": 30, + "z": -8 + } + ], + "uuid": "93cf7916-abf3-b5ea-1459-cb7f279b75f2", + "time": 4.85, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 36, + "y": 19, + "z": -39 + } + ], + "uuid": "dd35acc7-cf5f-44b5-f36c-dfb5c03a4f57", + "time": 6.45, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "b6288356-bc6a-f91d-a6c1-76a94ea63f18", + "time": 0.45, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "967563e5-110b-5bb2-05bb-8971807a802a", + "time": 0.5, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "cce03b93-5e3c-3c2b-72f6-6161ffc866ef", + "time": 4.85, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "8f7f2e1d-41ae-86df-599b-1db68a7b54c1", + "time": 4.95, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 1, + "y": 1, + "z": 1 + }, + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "0d046d5f-e91d-df9f-7f2b-dcdc3292f198", + "time": 5.05, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + }, + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "fb901e81-0051-faac-eaab-ecd60f90a374", + "time": 5.15, + "color": -1, + "uniform": true, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "5774a9dd-ab3d-54b7-9a7a-1fdc230bd427", + "time": 6.45, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "3a81a586-cf6a-1b37-0bbe-0ab053953d00", + "time": 6.55, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 1, + "y": 1, + "z": 1 + } + ], + "uuid": "1b16c4ea-b7c0-4e75-687d-36c39bd804a9", + "time": 7.05, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "7e13f068-1eb3-0b49-b61d-aca857de9d25", + "time": 7.15, + "color": -1, + "uniform": true, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "fc7dd314-fbc3-7937-c4c8-d548099bf5ef", + "time": 5.5, + "color": -1, + "uniform": true, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Umika/models/ex_skill_frame.bbmodel b/config/yosbr/config/figura/avatars/Umika/models/ex_skill_frame.bbmodel new file mode 100644 index 0000000..52727e4 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/models/ex_skill_frame.bbmodel @@ -0,0 +1,1179 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "ex_skill_frame", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 32, + "height": 16 + }, + "elements": [ + { + "name": "FrameTopLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d58488eb-4b98-5e52-740e-041d7c8c7b7f" + }, + { + "name": "FrameTop", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 16, + 0, + 32, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d7b279c5-8b54-f727-c9a0-07e530c5ab5a" + }, + { + "name": "FrameTopRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "86208108-703b-1a71-9e73-d829fcf93af0" + }, + { + "name": "FrameLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 16, + 0, + 32, + 16 + ], + "rotation": 270, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b38e5f11-842c-da8d-98f0-6570158f844f" + }, + { + "name": "FrameRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 16, + 0, + 32, + 16 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "72a70b22-fd81-174e-fbf8-59f6de9f116f" + }, + { + "name": "FrameBottomLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "rotation": 270, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8bd9fdba-ab88-a00c-3fbe-b5f33f230b66" + }, + { + "name": "FrameBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 16, + 0, + 32, + 16 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "77cf6831-3106-4f1e-8a19-d7d2cd39e07a" + }, + { + "name": "FrameBottomRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -1000 + ], + "to": [ + 16, + 16, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + -100 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "rotation": 180, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "99390453-8b25-0545-3dbf-db759d9122ff" + }, + { + "name": "FrameBarLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + -16, + -1000 + ], + "to": [ + 16, + 0, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + -6, + 4, + -99 + ], + "faces": { + "north": { + "uv": [ + 16, + 0, + 32, + 16 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "89423f5b-a0dd-39ba-2e32-74ba776e7d5f" + }, + { + "name": "FrameRBaright", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + -16, + -1000 + ], + "to": [ + 8, + 0, + -1000 + ], + "autouv": 0, + "color": 0, + "origin": [ + -6, + 4, + -99 + ], + "faces": { + "north": { + "uv": [ + 16, + 0, + 32, + 16 + ], + "rotation": 270, + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 16, + 16 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 16 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 16, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "47e36d29-e769-b566-72a7-349097398d38" + }, + { + "name": "Particle1", + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "rotation": [ + 90, + 0, + 180 + ], + "export": true, + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "fvyx": [ + 4.6282, + 0, + 0 + ], + "URoh": [ + -2.3, + 0, + 4 + ], + "95Z0": [ + -2.3, + 0, + -4 + ] + }, + "faces": { + "4qMG6SMe": { + "uv": { + "fvyx": [ + 1, + 1 + ], + "95Z0": [ + 0, + 0 + ], + "URoh": [ + 0, + 1 + ] + }, + "vertices": [ + "fvyx", + "95Z0", + "URoh" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "b8f8c1d0-10bd-729b-caf4-15c768cff368" + }, + { + "name": "Particle2", + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "rotation": [ + 90, + 0, + -180 + ], + "export": true, + "visibility": true, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "vertices": { + "fvyx": [ + 4.6282, + 0, + 0 + ], + "URoh": [ + -2.3, + 0, + 4 + ], + "95Z0": [ + -2.3, + 0, + -4 + ], + "A1gx": [ + 3.104, + 0, + 0 + ], + "Rbsm": [ + -1.5379, + 0, + -2.68 + ], + "GZIF": [ + -1.5379, + 0, + 2.68 + ] + }, + "faces": { + "jydbDtJR": { + "uv": { + "Rbsm": [ + 0, + 1.32 + ], + "A1gx": [ + 0, + 6.68 + ], + "fvyx": [ + 0.7621, + 8 + ], + "95Z0": [ + 0.7621, + 0 + ] + }, + "vertices": [ + "Rbsm", + "A1gx", + "fvyx", + "95Z0" + ], + "texture": 0 + }, + "FShNpiER": { + "uv": { + "GZIF": [ + 0.7621, + 6.68 + ], + "Rbsm": [ + 0.7621, + 1.32 + ], + "95Z0": [ + 0, + 0 + ], + "URoh": [ + 0, + 8 + ] + }, + "vertices": [ + "GZIF", + "Rbsm", + "95Z0", + "URoh" + ], + "texture": 0 + }, + "Y8V06sJ8": { + "uv": { + "A1gx": [ + 6.68, + 0 + ], + "GZIF": [ + 1.32, + 0 + ], + "URoh": [ + 0, + 0.7621 + ], + "fvyx": [ + 8, + 0.7621 + ] + }, + "vertices": [ + "A1gx", + "GZIF", + "URoh", + "fvyx" + ], + "texture": 0 + } + }, + "type": "mesh", + "uuid": "26a9457e-5983-383c-377e-80178696ca03" + } + ], + "outliner": [ + { + "name": "Gui", + "origin": [ + 0, + 0, + -1000 + ], + "color": 0, + "uuid": "80d8e2e3-01bb-8e7a-de84-164a65212d5c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Frame", + "origin": [ + 0, + 0, + -100 + ], + "color": 0, + "uuid": "1a9432d3-a6a3-0042-6828-0adc1991dedf", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d58488eb-4b98-5e52-740e-041d7c8c7b7f", + "d7b279c5-8b54-f727-c9a0-07e530c5ab5a", + "86208108-703b-1a71-9e73-d829fcf93af0", + "b38e5f11-842c-da8d-98f0-6570158f844f", + "72a70b22-fd81-174e-fbf8-59f6de9f116f", + "8bd9fdba-ab88-a00c-3fbe-b5f33f230b66", + "77cf6831-3106-4f1e-8a19-d7d2cd39e07a", + "99390453-8b25-0545-3dbf-db759d9122ff" + ] + }, + { + "name": "FrameBar", + "origin": [ + 0, + 0, + -100 + ], + "rotation": [ + 0, + 0, + 45 + ], + "color": 0, + "uuid": "9a3f01ed-f49d-aaf3-78dd-22c36d7f20a7", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "89423f5b-a0dd-39ba-2e32-74ba776e7d5f", + "47e36d29-e769-b566-72a7-349097398d38" + ] + } + ] + }, + { + "name": "Particles", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "3f41b05a-dfcf-a9ea-5775-1b908472a151", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b8f8c1d0-10bd-729b-caf4-15c768cff368", + "26a9457e-5983-383c-377e-80178696ca03" + ] + } + ], + "textures": [ + { + "path": "", + "name": "ex_skill_frame.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 32, + "height": 16, + "uv_width": 32, + "uv_height": 16, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "d4a6d900-994d-d2db-a2a9-40eeb7363089", + "relative_path": "../../textures/ex_skill_frame.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAQCAYAAAB3AH1ZAAAAAXNSR0IArs4c6QAAAbdJREFUSEutVYtuwjAMtFOJ///KbbwLY4wJJZ6uxOzitmwSi1SlaVznend2te/7s4io/Ayjtd9jxvA4X/uzuO/ZOC7G3hJWAG8EgG/nEiMGe6nOnrzMgAdwXJxvuAeATxF5FZGNiOTAhB8QmfCwmHjqO/jg0T4zAADrO3dmN4SqamaGmfd4PdBRYzD7ezOsMnhjBrYislJVgHDUrHn0Ceef8hB7iT3BuQcAMCEk2FUAYGIf5OADXH82VTTnHKCRkRsPmNkqpbQtpfSYZ5jgJL+wPDJd/JDGhC7BhgD0fEIpRVNKTWn5s6k9vMvPYyzWUwwAwKEy0JdSTkEONpHL8dDp9BGjPtJUgUtQPQAf7AFAVY9/6BOxgTVunzO2A1jWElyrqksAUwLAu6ri+gCjXnJNCVCJ8r6XqpfmVFnHRjQAqAzsIIWIHCuAU84ZIP51jBoR+kD1gDMACQ6qes45n1JKADHVVpv6foCy8Ysz8CIi21iGlQHQ3wDIOX8tFotBjmdH0wnNbFndPxiQPAAZ7gwAQNd1+Ic8PRoGYMQJCcBAA6DrukvO+XK9Xi/+r7hbvhqSjRf3GPU3orWFV48IG9oAAAAASUVORK5CYII=" + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Umika/models/gun.bbmodel b/config/yosbr/config/figura/avatars/Umika/models/gun.bbmodel new file mode 100644 index 0000000..0522faf --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/models/gun.bbmodel @@ -0,0 +1,7638 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "gun", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 12, + "height": 11 + }, + "elements": [ + { + "name": "Barrel", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2365, + 3.8157, + -6.5813 + ], + "to": [ + 0.2364, + 4.2886, + -5.0575 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 2, + 12, + 3, + 13 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 0, + 6, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 4, + 0, + 4, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 5, + 0, + 6, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 0, + 6, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 5, + 0, + 6, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "034fda83-e1c4-1221-00e7-7f2362f2b1a0" + }, + { + "name": "BarrelCoverBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3022, + 3.75, + -8 + ], + "to": [ + 0.3021, + 3.8157, + -6.5813 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "1e07c2b9-4780-0cee-e815-899ea222b9f5" + }, + { + "name": "BarrelCoverLeft1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3022, + 3.8157, + -8 + ], + "to": [ + -0.2365, + 4.2886, + -7.8161 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f28c94ae-022e-3796-94d9-5604e974481e" + }, + { + "name": "BarrelCoverTop", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3022, + 4.2886, + -8 + ], + "to": [ + 0.3021, + 4.3543, + -6.5813 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d81604e4-4a37-930e-9b3d-23f1763ea3fa" + }, + { + "name": "BarrelCoverLeft2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3022, + 3.8157, + -7.8161 + ], + "to": [ + -0.2365, + 3.9865, + -7.5271 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "bc873f37-8783-0bb8-7553-3e3419dafaf7" + }, + { + "name": "BarrelCoverLeft3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3022, + 4.1178, + -7.8161 + ], + "to": [ + -0.2365, + 4.2886, + -7.5271 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "c7613c64-0a8e-6dd2-cd95-e3d6b43a45bf" + }, + { + "name": "BarrelCoverLeft4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3022, + 3.8157, + -7.5271 + ], + "to": [ + -0.2365, + 4.2886, + -7.2644 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "fdd44412-b5f0-f3aa-c0d4-3fad1379d7da" + }, + { + "name": "BarrelCoverLeft5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3022, + 3.8157, + -7.2644 + ], + "to": [ + -0.2365, + 3.9339, + -7.1068 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "a3e9407b-7e32-6d3f-d699-ab39166748fc" + }, + { + "name": "BarrelCoverLeft6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3022, + 4.1704, + -7.2644 + ], + "to": [ + -0.2365, + 4.2886, + -7.1068 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "adb1dba2-42ae-b9a0-24da-addf1b10c8f1" + }, + { + "name": "BarrelCoverLeft7", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3022, + 3.8157, + -7.1068 + ], + "to": [ + -0.2365, + 4.2886, + -6.5813 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "34f5e00a-3dc1-09a8-1268-d8b80efda29d" + }, + { + "name": "BarrelCoverRight7", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.2365, + 4.1704, + -7.2644 + ], + "to": [ + 0.3022, + 4.2886, + -7.1068 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "96a278d7-6a50-e1f4-f0a9-daf451d7029b" + }, + { + "name": "BarrelCoverRight6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.2365, + 3.8157, + -7.2644 + ], + "to": [ + 0.3022, + 3.9339, + -7.1068 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f2430862-dd7a-4477-411f-384badfa0568" + }, + { + "name": "BarrelCoverRight5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.2365, + 3.8157, + -7.5271 + ], + "to": [ + 0.3022, + 4.2886, + -7.2644 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "863f7f90-a7a7-ee13-7887-c8d22444aa31" + }, + { + "name": "BarrelCoverRight4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.2365, + 4.1178, + -7.8161 + ], + "to": [ + 0.3022, + 4.2886, + -7.5271 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "140a97ae-8edd-1843-ed82-00876e1cf57d" + }, + { + "name": "BarrelCoverRight3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.2365, + 3.8157, + -7.8161 + ], + "to": [ + 0.3022, + 3.9865, + -7.5271 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "70c2f042-e3c8-4bad-e22b-4eb60b49fa0c" + }, + { + "name": "BarrelCoverRight2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.2365, + 3.8157, + -8 + ], + "to": [ + 0.3022, + 4.2886, + -7.8161 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "320196ed-553e-2c9f-7ff7-992b579225e5" + }, + { + "name": "BarrelCoverRight1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.2365, + 3.8157, + -7.1068 + ], + "to": [ + 0.3022, + 4.2886, + -6.5813 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "02aa1732-3aef-4f32-e42d-0df557c7efd4" + }, + { + "name": "BarrelCoverRingBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3285, + 3.7237, + -7.422 + ], + "to": [ + 0.3284, + 3.75, + -7.2644 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a44116a3-1838-ef92-c188-536e5541c4dd" + }, + { + "name": "BarrelCoverRingLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3285, + 3.75, + -7.422 + ], + "to": [ + -0.3022, + 4.3543, + -7.2644 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "181313be-9cf6-9d91-c0c8-4aed36a29a98" + }, + { + "name": "BarrelCoverRingRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.3022, + 3.75, + -7.422 + ], + "to": [ + 0.3285, + 4.3543, + -7.2644 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "dfc7ad64-917a-d8d2-198b-e12034e12b97" + }, + { + "name": "BarrelCoverRingTop", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3285, + 4.3543, + -7.422 + ], + "to": [ + 0.3284, + 4.3806, + -7.2644 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "88d583d0-f9ae-4559-1365-0e6c05a28278" + }, + { + "name": "BarrelCoverWhiteRing", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3022, + 3.75, + -6.923 + ], + "to": [ + 0.3021, + 4.3543, + -6.8179 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 5, + 0, + 6, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 5, + 0, + 6, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 0, + 6, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 5, + 0, + 6, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "53ae83bc-97ae-9b40-c50f-535d22196018" + }, + { + "name": "BarrelParts1_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.4335, + 3.5924, + -5.5567 + ], + "to": [ + 0.4335, + 4.4594, + -5.1626 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 5, + 11 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 11 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 0, + 0, + 11 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 1, + 0, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "cb2d013f-77a0-f31e-036d-a25d4f9f2372" + }, + { + "name": "BarrelParts1_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.4335, + 3.5924, + -5.6618 + ], + "to": [ + 0.4335, + 3.75, + -5.5567 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "de1c4cd8-782c-c43e-4de9-cb4a9ed5e1ab" + }, + { + "name": "BarrelParts1_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.4335, + 3.5136, + -5.3728 + ], + "to": [ + 0.4335, + 3.5924, + -5.1626 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "319c6f2f-3d4e-75cc-036b-bee4f394b9ab" + }, + { + "name": "BarrelParts2_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3416, + 3.0801, + -5.0575 + ], + "to": [ + 0.3415, + 4.3937, + -4.5583 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b2713c2d-4634-c86f-0679-da16df5c1072" + }, + { + "name": "BarrelParts2_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3416, + 3.0801, + -5.0575 + ], + "to": [ + 0.3415, + 4.3937, + -4.5583 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "208ca273-4b92-fcf8-673b-1d1c7a4b7e4f" + }, + { + "name": "BarrelParts2_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5915, + 3.6844, + -4.7948 + ], + "to": [ + 0.5908, + 4.1836, + -4.5583 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a7889055-cde0-44e1-f03c-8cc9073fb18b" + }, + { + "name": "GunBody1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3666, + 3.5135, + -4.5583 + ], + "to": [ + 0.36651, + 4.7746, + -2.8243 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 5, + 0, + 6, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 0.365, + 15, + 7.635 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 15, + 0.365, + 5, + 7.635 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 0, + 6, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 5, + 0, + 6, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e222e2d1-3f11-b4a2-5bac-65185cf7ea32" + }, + { + "name": "BarrelParts2_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.0591, + 4.1836, + -4.7948 + ], + "to": [ + 0.0591, + 4.7879, + -4.3482 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d94d05fb-4de9-4cb6-c9a4-7f0f63f60eb4" + }, + { + "name": "BarrelParts2_5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.1182, + 4.2229, + -4.7948 + ], + "to": [ + 0.1182, + 4.6958, + -4.3482 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "cf1a700b-1af3-ea2c-26ed-d2b53162c19a" + }, + { + "name": "ScopeBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2759, + 4.7879, + -4.6897 + ], + "to": [ + 0.2758, + 4.8536, + -4.2693 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5cfe1110-a76c-246d-b785-4cd0376527cd" + }, + { + "name": "ScopeLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2759, + 4.8536, + -4.6897 + ], + "to": [ + -0.2102, + 5.2739, + -4.2693 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ace5cfa7-3732-80d5-14cb-c014faa4cd25" + }, + { + "name": "ScopeRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.2102, + 4.8536, + -4.6897 + ], + "to": [ + 0.2759, + 5.2739, + -4.2693 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "851c3200-b325-07a8-ab8d-a507eb97dbee" + }, + { + "name": "ScopeTop", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2759, + 5.2739, + -4.6897 + ], + "to": [ + 0.2758, + 5.3396, + -4.2693 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "53dbb711-1445-8ec1-730f-9422e02de0fc" + }, + { + "name": "Reticule", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2102, + 4.8536, + -4.4795 + ], + "to": [ + 0.2101, + 5.2739, + -4.4795 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 0, + 11, + 5, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 11, + 5, + 16 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "56e46fa4-e045-3c7f-8389-154dc4163023" + }, + { + "name": "GunBody2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3916, + 3.3296, + -2.8243 + ], + "to": [ + 0.3915, + 4.8534, + -0.3021 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 15.725, + 0.105, + 30.275, + 8.895 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 30.275, + 0.105, + 15.725, + 8.895 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e7dd9f90-3551-5bdc-7e3a-32980ae2a5e6" + }, + { + "name": "SidePatterns", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3916, + 3.57948, + -2.7743 + ], + "to": [ + 0.3915, + 4.43708, + -0.3993 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 5, + 9, + 41, + 22 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 41, + 9, + 5, + 22 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d24cbaf7-010f-9025-c138-7ff5ec6a2b1b" + }, + { + "name": "GunBodyBottomParts1_R", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.3416, + 3.264, + -5.0312 + ], + "to": [ + 0.4166, + 3.5267, + -4.4532 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 5, + 0, + 6, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 31, + 0, + 37.6, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 0, + 6, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 0, + 6, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 0, + 6, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 5, + 0, + 6, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "09891d66-7408-b345-7c83-6a5000cad5fc" + }, + { + "name": "GunBodyBottomParts1_L", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.4166, + 3.264, + -5.0312 + ], + "to": [ + -0.3416, + 3.5267, + -4.4532 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 6, + 0, + 5, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 0, + 5, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 0, + 5, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 37.6, + 0, + 31, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 0, + 5, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 0, + 5, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "1e6ed08c-47cd-6596-887d-006e325254e7" + }, + { + "name": "GunBodyBottomParts2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.4166, + 3.2508, + -4.4532 + ], + "to": [ + 0.4165, + 3.5135, + -3.4023 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 6, + 0, + 5, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 15, + 0, + 32, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 32, + 0, + 15, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 32, + 0, + 15, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 15, + 0, + 32, + 1 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "523f1177-2003-60b0-453b-2adff3cd936f" + }, + { + "name": "GunBodyBottomParts3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.4166, + 3.2508, + -3.4023 + ], + "to": [ + 0.4165, + 3.4084, + -0.8013 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "52bb1c61-efcb-8d5d-d5d9-44b4f43cd592" + }, + { + "name": "GunBodyBottomParts4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.4166, + 3.1983, + -0.8013 + ], + "to": [ + 0.4165, + 3.5398, + -0.4335 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "31e499f4-f1ec-ea24-67e0-dbd33c28aa29" + }, + { + "name": "GunBody3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.4441, + 3.3822, + -0.3547 + ], + "to": [ + 0.4441, + 4.906, + 0.0131 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "down": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "cd72cb5a-4185-8091-0182-0b4efcdb05d3" + }, + { + "name": "GunBody4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3666, + 3.6449, + 0.0131 + ], + "to": [ + 0.36651, + 4.8534, + 3.6387 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 22, + 27, + 31 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 27, + 22, + 0, + 31 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 0, + 6, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 5, + 0, + 6, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "44252aa0-9686-4d5f-8060-7475ed6392f0" + }, + { + "name": "GunBodyParts1_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3916, + 4.6433, + 0.2496 + ], + "to": [ + 0.3915, + 4.906, + 0.67 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "fb3e10d7-a386-af6b-40e4-38e3eca5d76e" + }, + { + "name": "GunBodyParts1_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3916, + 4.7221, + 0.67 + ], + "to": [ + 0.3915, + 4.906, + 1.4319 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f4100a0e-028b-35ef-6d23-1429f51401da" + }, + { + "name": "GunBodyParts1_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3916, + 4.6433, + 1.4319 + ], + "to": [ + 0.3915, + 4.906, + 1.8785 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d8354851-c792-4a7d-d507-253620ff4fa2" + }, + { + "name": "GunBodyParts2_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3916, + 4.6433, + 2.2463 + ], + "to": [ + 0.3915, + 5.2213, + 3.1663 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 28.93, + 22, + 40.07, + 29 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 40.07, + 22, + 28.93, + 29 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "269d2d7d-5437-6908-22fe-e5ee0827e112" + }, + { + "name": "GunBodyParts2_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.05, + 5.2213, + 2.6667 + ], + "to": [ + 0.05, + 5.3789, + 2.9031 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "137a7ece-9d08-d8ee-f2cc-0ab42aa020f7" + }, + { + "name": "GunBody5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3666, + 2.9618, + 0.3546 + ], + "to": [ + 0.3665, + 3.6449, + 3.0607 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 5, + 0, + 6, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0.095, + 31, + 19.905, + 36 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 19.905, + 31, + 0.095, + 36 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 20.095, + 35, + 39.905, + 36 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "099e0552-31e3-40cf-7b0c-9792eae9cc0f" + }, + { + "name": "GunBody6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.05, + 3.3559, + 0.0389 + ], + "to": [ + 0.05, + 3.6449, + 0.3546 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 16, + 3, + 19 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 16, + 3, + 19 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "ab8607c3-ff9e-2405-11da-e048827a3f84" + }, + { + "name": "GunBody7", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3666, + 3.4084, + 3.0607 + ], + "to": [ + 0.3665, + 3.6449, + 4.0065 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 5, + 0, + 6, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 5, + 0, + 6, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 5, + 0, + 6, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f3d7d640-4540-0ec4-d504-2137132cfd7e" + }, + { + "name": "GunBody9", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3666, + 4.6669, + 3.6387 + ], + "to": [ + 0.3665, + 4.8534, + 4.0615 + ], + "autouv": 0, + "color": 0, + "inflate": -0.0001, + "rotation": [ + 29.56, + 0, + 0 + ], + "origin": [ + 0, + 4.8534, + 3.6387 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 5, + 0, + 6, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 5, + 0, + 6, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 0, + 6, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 5, + 0, + 6, + 1 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "3ac7f4cc-d405-04ba-31d3-1c73bc69411d" + }, + { + "name": "GunBody8", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3666, + 3.6449, + 3.6387 + ], + "to": [ + 0.3665, + 4.6449, + 4.0065 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0.13, + 36.55, + 2.87, + 44 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 2.87, + 36.55, + 0.13, + 44 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "35c51817-3af3-3c78-137f-a1d822a26b07" + }, + { + "name": "GunBodySide", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.3666, + 4.3229, + 0.5886 + ], + "to": [ + 0.6166, + 4.4017, + 1.0352 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 0, + 0, + 40 + ], + "origin": [ + 0.3666, + 4.3229, + 0.8119 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "9a66f88b-8378-5344-c8e5-1ed97241f671" + }, + { + "name": "Grip1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3666, + 1.7812, + 4.0065 + ], + "to": [ + 0.3665, + 4.6449, + 7.6058 + ], + "autouv": 0, + "color": 0, + "inflate": 0.002, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 3, + 36, + 26, + 54.3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 26, + 36, + 3, + 54.3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 26, + 36, + 3, + 37 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 3, + 54, + 26, + 55 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "2b67bd6a-10e0-85d4-36d3-800de4a39184" + }, + { + "name": "Grip2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3666, + 3.4084, + 3.805 + ], + "to": [ + 0.3665, + 3.58554, + 7.6738 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 75, + 21.84, + 76 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 21.84, + 75, + 0, + 76 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 75, + 21.84, + 76 + ], + "rotation": 270, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 75, + 21.84, + 76 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "08801330-8fc3-27e0-74d9-b9a29572909a" + }, + { + "name": "Grip3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3666, + 3.5855, + 7.347 + ], + "to": [ + 0.3665, + 3.76264, + 7.7013 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + } + }, + "type": "cube", + "uuid": "db1d0ec8-5e57-47c2-c1ba-ef2950f47f1b" + }, + { + "name": "Grip4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3666, + 3.5855, + 5.9302 + ], + "to": [ + 0.3665, + 3.76264, + 6.4615 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + } + }, + "type": "cube", + "uuid": "46f662c4-8990-e269-a213-3b4237a22e6b" + }, + { + "name": "Grip5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3666, + 3.5855, + 3.805 + ], + "to": [ + 0.3665, + 3.76264, + 4.8676 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 16, + 74, + 22, + 75 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "west": { + "uv": [ + 22, + 74, + 16, + 75 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + } + }, + "type": "cube", + "uuid": "1462c9ee-c727-5410-39d9-5450295be6be" + }, + { + "name": "Grip6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3666, + 3.7626, + 3.805 + ], + "to": [ + 0.3665, + 4.2939, + 4.6905 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 17, + 71, + 22, + 74 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "west": { + "uv": [ + 22, + 71, + 17, + 74 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + } + }, + "type": "cube", + "uuid": "ed87e36a-4aca-e7a6-cf46-174eebc7ae27" + }, + { + "name": "Grip7", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3666, + 3.9397, + 4.6905 + ], + "to": [ + 0.3665, + 4.1168, + 4.8676 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "4709c167-1c8c-793b-f812-b02595c4adab" + }, + { + "name": "Grip8", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3666, + 4.1168, + 4.6905 + ], + "to": [ + 0.3665, + 4.2939, + 5.0447 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "dec682ab-b53e-b021-c5b4-10f6988aece9" + }, + { + "name": "Grip9", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3666, + 4.2939, + 4.5134 + ], + "to": [ + 0.3665, + 5.0023, + 6.1073 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "099a1e99-912c-f0b7-0768-5d8deab71f29" + }, + { + "name": "Grip10", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3666, + 4.1168, + 5.9302 + ], + "to": [ + 0.3665, + 4.2939, + 6.2844 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "down": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "21ba85c9-2755-03f8-98e0-dc7f6d1a0e43" + }, + { + "name": "Grip11", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3666, + 3.9397, + 6.1073 + ], + "to": [ + 0.3665, + 4.1168, + 6.4615 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "down": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "ed98c861-2064-b647-5acf-fbb1db41da6b" + }, + { + "name": "Grip12", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3666, + 3.7626, + 6.1073 + ], + "to": [ + 0.3665, + 3.9397, + 6.2844 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b3392661-d210-564d-5205-dfd4ba3aab66" + }, + { + "name": "Grip13", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3666, + 3.7626, + 6.9928 + ], + "to": [ + 0.3665, + 3.9397, + 7.1699 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f3fac4ea-9a1c-638b-eda1-10dcbe22fe5d" + }, + { + "name": "Grip14", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3666, + 3.9397, + 6.8157 + ], + "to": [ + 0.3665, + 4.1168, + 7.5241 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "down": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2aa37334-2275-bc41-52d4-ecab557c870c" + }, + { + "name": "Grip15", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3666, + 4.1168, + 6.4615 + ], + "to": [ + 0.3665, + 4.471, + 7.347 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "east": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "west": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "down": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e1c21389-eb1e-07cb-6ae6-22dc8109ca4e" + }, + { + "name": "Grip16", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3666, + 4.471, + 6.1073 + ], + "to": [ + 0.3665, + 5.3565, + 7.1699 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2.75, + 65, + 8.75, + 70 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 8.75, + 65, + 2.75, + 70 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "4b3852c8-0082-25bd-9441-2cb1b4c2ebdf" + }, + { + "name": "Grip1_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3666, + 1.7812, + 7.2928 + ], + "to": [ + 0.3665, + 4.6449, + 7.2928 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 90, + "texture": null + } + }, + "type": "cube", + "uuid": "38ee6a93-3d20-3c24-a77b-c2c04bc420ba" + }, + { + "name": "TriggerGrip1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3416, + 2.2787, + 2.7455 + ], + "to": [ + 0.3415, + 3.4347, + 3.6125 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5434f090-bc2e-0b7c-4db8-8076a96ee5a2" + }, + { + "name": "TriggerGrip2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3416, + 2.2787, + 2.1675 + ], + "to": [ + 0.3415, + 2.4363, + 2.7455 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "01f007a0-0869-c226-f2fa-d195232e72b9" + }, + { + "name": "TriggerGrip3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3416, + 2.5414, + 1.9048 + ], + "to": [ + 0.3415, + 2.9618, + 2.0624 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9af1930b-cd65-03d6-7d9f-175c1676ea7c" + }, + { + "name": "TriggerGrip4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3416, + 2.2787, + 1.796 + ], + "to": [ + 0.3415, + 2.4363, + 2.1675 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 45, + 0, + 0 + ], + "origin": [ + -5e-05, + 2.2787, + 2.1675 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5e6bdf31-fd54-dd0b-1c7b-2dacaf0a040c" + }, + { + "name": "TriggerGrip5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3416, + 3.0143, + 3.6125 + ], + "to": [ + 0.3415, + 3.4084, + 3.849 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "6416bbc1-2a35-6a68-0806-1aa493483019" + }, + { + "name": "TriggerGrip5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3416, + 0.5867, + 2.9557 + ], + "to": [ + 0.3415, + 2.3537, + 3.8017 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.90448, + 2.36802 + ], + "faces": { + "north": { + "uv": [ + 29, + 29, + 30, + 35 + ], + "texture": 0 + }, + "east": { + "uv": [ + 27, + 29, + 30, + 35 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 30, + 29, + 27, + 35 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2ec48727-5218-89ca-69f3-659bacceeda0" + }, + { + "name": "TriggerGrip6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3416, + 0.5867, + 2.7298 + ], + "to": [ + 0.3415, + 1.0596, + 2.9557 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0.90448, + 2.36802 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "cb335b41-59b5-b35a-5d7d-f028660fd287" + }, + { + "name": "Trigger", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.125, + 2.4664, + 2.4798 + ], + "to": [ + 0.125, + 2.9618, + 2.6374 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 20, + 0, + 0 + ], + "origin": [ + 0, + 2.9618, + 2.6374 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "231ac517-ecd9-0c49-19bf-294fc28dc689" + }, + { + "name": "HyakkiyakoLogo", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.3416, + 2.32948, + 2.89302 + ], + "to": [ + 0.3415, + 2.93948, + 3.45222 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 76, + 22, + 100 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 76, + 22, + 100 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "73faa1f1-201d-45fe-f823-69af7653d95a" + }, + { + "name": "Magazine1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.25, + -0.1226, + 1.0904 + ], + "to": [ + 0.25, + 2.9618, + 1.9048 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "east": { + "uv": [ + 26, + 36, + 38, + 37 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "west": { + "uv": [ + 38, + 36, + 26, + 37 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 26, + 36, + 38, + 37 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "e66358d8-1f5f-047b-b7d6-c11fe883d9db" + }, + { + "name": "Magazine2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.2, + -0.028, + 0.8802 + ], + "to": [ + 0.2, + 2.9618, + 1.0904 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "fd14982f-bbab-bc0c-5ce9-802c06477d61" + }, + { + "name": "Magazine3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.25, + -0.1226, + 0.6087 + ], + "to": [ + 0.25, + 2.9618, + 0.8802 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "east": { + "uv": [ + 26, + 36, + 30, + 37 + ], + "texture": 0 + }, + "south": { + "uv": [ + 5, + 8, + 6, + 9 + ], + "texture": 0 + }, + "west": { + "uv": [ + 30, + 36, + 26, + 37 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 26, + 36, + 30, + 37 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "3ad36639-0807-d0cf-aaa7-8336077dadc0" + }, + { + "name": "Hyakkiyako", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.25, + 0.27948, + 0.64302 + ], + "to": [ + 0.25, + 1.65948, + 0.79302 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 26, + 37, + 31, + 83 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 26, + 37, + 31, + 83 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "2e0ef75c-d475-112d-ce8d-690cbd6f60b9" + } + ], + "outliner": [ + { + "name": "Gun", + "origin": [ + 0, + 3.75, + 0 + ], + "color": 0, + "uuid": "20fe1cca-22a6-ca36-3dc4-e85c7c10e012", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Barrel", + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "color": 0, + "uuid": "6278ae97-7361-5fd3-22f8-8414fdd73f57", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "034fda83-e1c4-1221-00e7-7f2362f2b1a0", + { + "name": "BarrelCover", + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "color": 0, + "uuid": "3d96e1be-82c5-1fc2-5e14-dc96dda02d9d", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "1e07c2b9-4780-0cee-e815-899ea222b9f5", + "f28c94ae-022e-3796-94d9-5604e974481e", + "bc873f37-8783-0bb8-7553-3e3419dafaf7", + "c7613c64-0a8e-6dd2-cd95-e3d6b43a45bf", + "fdd44412-b5f0-f3aa-c0d4-3fad1379d7da", + "a3e9407b-7e32-6d3f-d699-ab39166748fc", + "adb1dba2-42ae-b9a0-24da-addf1b10c8f1", + "34f5e00a-3dc1-09a8-1268-d8b80efda29d", + "02aa1732-3aef-4f32-e42d-0df557c7efd4", + "320196ed-553e-2c9f-7ff7-992b579225e5", + "70c2f042-e3c8-4bad-e22b-4eb60b49fa0c", + "140a97ae-8edd-1843-ed82-00876e1cf57d", + "863f7f90-a7a7-ee13-7887-c8d22444aa31", + "f2430862-dd7a-4477-411f-384badfa0568", + "96a278d7-6a50-e1f4-f0a9-daf451d7029b", + "d81604e4-4a37-930e-9b3d-23f1763ea3fa", + "a44116a3-1838-ef92-c188-536e5541c4dd", + "181313be-9cf6-9d91-c0c8-4aed36a29a98", + "dfc7ad64-917a-d8d2-198b-e12034e12b97", + "88d583d0-f9ae-4559-1365-0e6c05a28278", + "53ae83bc-97ae-9b40-c50f-535d22196018" + ] + }, + { + "name": "BarrelParts1", + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "color": 0, + "uuid": "f96405ff-7427-3766-ca36-630e56b9abdd", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "cb2d013f-77a0-f31e-036d-a25d4f9f2372", + "de1c4cd8-782c-c43e-4de9-cb4a9ed5e1ab", + "319c6f2f-3d4e-75cc-036b-bee4f394b9ab" + ] + }, + { + "name": "BarrelParts2", + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "color": 0, + "uuid": "8d58a014-1ea0-ff3d-4d24-418a178583de", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b2713c2d-4634-c86f-0679-da16df5c1072", + "208ca273-4b92-fcf8-673b-1d1c7a4b7e4f", + "a7889055-cde0-44e1-f03c-8cc9073fb18b", + "d94d05fb-4de9-4cb6-c9a4-7f0f63f60eb4", + "cf1a700b-1af3-ea2c-26ed-d2b53162c19a", + { + "name": "Scope", + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "color": 0, + "uuid": "e9f0331d-09b4-b72b-fd1f-61e83bf338f6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "5cfe1110-a76c-246d-b785-4cd0376527cd", + "ace5cfa7-3732-80d5-14cb-c014faa4cd25", + "851c3200-b325-07a8-ab8d-a507eb97dbee", + "53dbb711-1445-8ec1-730f-9422e02de0fc", + "56e46fa4-e045-3c7f-8389-154dc4163023" + ] + } + ] + } + ] + }, + { + "name": "GunBody", + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "color": 0, + "uuid": "d328dbe7-1d83-08ae-a624-8c4e269ba2a5", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e222e2d1-3f11-b4a2-5bac-65185cf7ea32", + "e7dd9f90-3551-5bdc-7e3a-32980ae2a5e6", + "cd72cb5a-4185-8091-0182-0b4efcdb05d3", + "44252aa0-9686-4d5f-8060-7475ed6392f0", + "099e0552-31e3-40cf-7b0c-9792eae9cc0f", + "ab8607c3-ff9e-2405-11da-e048827a3f84", + "f3d7d640-4540-0ec4-d504-2137132cfd7e", + "35c51817-3af3-3c78-137f-a1d822a26b07", + "3ac7f4cc-d405-04ba-31d3-1c73bc69411d", + "9a66f88b-8378-5344-c8e5-1ed97241f671", + "d24cbaf7-010f-9025-c138-7ff5ec6a2b1b", + { + "name": "GunBodyBottomParts", + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "color": 0, + "uuid": "bb570c17-7b28-b018-cd59-d06b729241ff", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "09891d66-7408-b345-7c83-6a5000cad5fc", + "1e6ed08c-47cd-6596-887d-006e325254e7", + "523f1177-2003-60b0-453b-2adff3cd936f", + "52bb1c61-efcb-8d5d-d5d9-44b4f43cd592", + "31e499f4-f1ec-ea24-67e0-dbd33c28aa29" + ] + }, + { + "name": "GunBodyParts1", + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "color": 0, + "uuid": "a980a3e4-2dca-7d54-7e18-5e449f9d0ece", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "fb3e10d7-a386-af6b-40e4-38e3eca5d76e", + "f4100a0e-028b-35ef-6d23-1429f51401da", + "d8354851-c792-4a7d-d507-253620ff4fa2" + ] + }, + { + "name": "GunBodyParts2", + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "color": 0, + "uuid": "1a308516-4b7b-8b0d-8d41-2054a689060b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "269d2d7d-5437-6908-22fe-e5ee0827e112", + "137a7ece-9d08-d8ee-f2cc-0ab42aa020f7" + ] + } + ] + }, + { + "name": "TriggerGrip", + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "color": 0, + "uuid": "0f9e29b5-0059-b571-5bd7-0cef9abf323e", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "5434f090-bc2e-0b7c-4db8-8076a96ee5a2", + "01f007a0-0869-c226-f2fa-d195232e72b9", + "9af1930b-cd65-03d6-7d9f-175c1676ea7c", + "5e6bdf31-fd54-dd0b-1c7b-2dacaf0a040c", + "6416bbc1-2a35-6a68-0806-1aa493483019", + { + "name": "TriggerGrip2", + "origin": [ + 0, + 2.2787, + 2.9557 + ], + "rotation": [ + -35, + 0, + 0 + ], + "color": 0, + "uuid": "cf8301bd-0355-b190-7250-f6d1c6b8368c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "2ec48727-5218-89ca-69f3-659bacceeda0", + "cb335b41-59b5-b35a-5d7d-f028660fd287" + ] + }, + "73faa1f1-201d-45fe-f823-69af7653d95a", + "231ac517-ecd9-0c49-19bf-294fc28dc689" + ] + }, + { + "name": "Grip", + "origin": [ + 0, + 3.90448, + -3.63198 + ], + "color": 0, + "uuid": "f9839b8b-b4f9-7430-b171-06c4716756e8", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "2b67bd6a-10e0-85d4-36d3-800de4a39184", + "38ee6a93-3d20-3c24-a77b-c2c04bc420ba", + { + "name": "Grip2", + "origin": [ + 0, + 3.4084, + 4.0065 + ], + "rotation": [ + 26.343, + 0, + 0 + ], + "color": 0, + "uuid": "03145352-219c-8203-0320-a74f5e96c667", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "08801330-8fc3-27e0-74d9-b9a29572909a", + "db1d0ec8-5e57-47c2-c1ba-ef2950f47f1b", + "46f662c4-8990-e269-a213-3b4237a22e6b", + "1462c9ee-c727-5410-39d9-5450295be6be", + "ed87e36a-4aca-e7a6-cf46-174eebc7ae27", + "4709c167-1c8c-793b-f812-b02595c4adab", + "dec682ab-b53e-b021-c5b4-10f6988aece9", + "099a1e99-912c-f0b7-0768-5d8deab71f29", + "21ba85c9-2755-03f8-98e0-dc7f6d1a0e43", + "ed98c861-2064-b647-5acf-fbb1db41da6b", + "b3392661-d210-564d-5205-dfd4ba3aab66", + "f3fac4ea-9a1c-638b-eda1-10dcbe22fe5d", + "2aa37334-2275-bc41-52d4-ecab557c870c", + "e1c21389-eb1e-07cb-6ae6-22dc8109ca4e", + "4b3852c8-0082-25bd-9441-2cb1b4c2ebdf" + ] + } + ] + }, + { + "name": "Magazine", + "origin": [ + 0, + 2.9618, + 1.9048 + ], + "rotation": [ + 13, + 0, + 0 + ], + "color": 0, + "uuid": "6623c1e8-9542-651d-5a68-3b646707a652", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e66358d8-1f5f-047b-b7d6-c11fe883d9db", + "fd14982f-bbab-bc0c-5ce9-802c06477d61", + "3ad36639-0807-d0cf-aaa7-8336077dadc0", + "2e0ef75c-d475-112d-ce8d-690cbd6f60b9" + ] + }, + { + "name": "MuzzleAnchor", + "origin": [ + 0, + 4.0522, + -8 + ], + "color": 0, + "uuid": "d343c25a-cbb6-ede8-44ff-ff620de8068f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + } + ], + "textures": [ + { + "path": "", + "name": "gun.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 41, + "height": 100, + "uv_width": 41, + "uv_height": 100, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "7bd4b824-3db6-476b-99e3-dde805a618f1", + "relative_path": "../../textures/gun.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACkAAABkCAYAAAAbphlEAAAAAXNSR0IArs4c6QAABdJJREFUeF7VmUtoXkUUx+dqSYqI0eKr9RGs1hZxURDULLQIiVBFV9KVSIpI6UZb6CZfIW0DiaUIrSsRJI3SVehKkYLpShdVQejCRX1ClZoWRCkImiJ85Uw9N2fmzuOcmXvni98mX+6dmfOb/3nM46t2T/b66r/Pz9+dV5u3blfvvX8IHwX/7t1zhNXO1yhkZ/3wcIX9Kh/kE9uf0W2+Of+Fot+pQYRc/u0ntXHTw+rrr87q108+Ne79jm2hHUBeurRszGHzQ6Nq5do1xYLkSDRwJUOQAAcq5EKeXJirXRqy53X3/x4SJzBwJRdPf6JZdr3ykqLfXYnDiV9Xm07dXVzJHWMv1HUSjEOd3LjlOTV3cCIa1LR8paiZpCQa2vHBrGFzcl0VBaYdFv7tGxPP7W9kNxqyZ4hGY8Z87XL7Jylkw9oQM2fOGUpO7xzTdlInQSFhYBa0z50Ih1DoGfu5NBwQis7cCypRwgUs6U9jnKWk1J2/LH2pUE2AfXDiaW0Tw0QaDk7VunJnajgY2e2rWy435bpT0l9DnlyYU7sneypWXBE2152x/vbCwFLS7tRVOPhWLVbJwc6S7JS4M1bsWZCxQexJSN0ZE0GU3dxNhLRYx8Kp+nX5Sv/Uhwtq//59XIbkdqmbZCNxuEfZVEof5MWL39ZDjo4+3hi+euP1N/ub7ntMv1h/y1W2/RTlXZAACGD2X2NZBHcP3XwTGw4azs/Pq+8vxCc08/ZbxrjTU+827LAh7//7WKPzn3/8rm7d8qL664dP1R0b7jTeH128mwW569UJo9/iqaV0SKmSIyO3aWOhRHDFd3JMgrvv2nC7yN2pjZOze1CQsX1CI3GgTpb4YLI9uvUBNTW1l7XaAVf1z8pKvSu/cvmquufeESfvzvGX1ZmzH0fnQm/D7MZ4BE6GBMDDh06ow0f2eUHR6PHjJwz7tGZ2CglWETS08gCgXcjpMw4k2BLFJHV31JdKKQTCTIUJrVlIOiEXpO8KxvYSxzNG4qA6cBeEn+kDz+qvM+983niGD+g7nzd+vHBOPbJtrH4d+5/eRWlITAQsERQSRgVQBLGh8X97IjYsGO33V++Iqop/v1RDQjK4lERIatSlXAx2tjeuKBgAc0FFkBy3umDh2fDQUD4kKGW7G1yE2c8BtOOYqg+lqVV3QwaG6h2nVGGb3uySXtE4l7K+cZ3ulhTaGDBCQkzqdbiqakXFMUnd3SYkjAugqKQkYVAAYyeCBbhtSKr2moakSVMrxKyVxZWMxbDrfVFIW0124lDyLmMSY3HNxySWH66CA8nuNe/ulIQpriSqKHW1XqVKJQ7aSdlkFINsTcmcuOmyL/sWIRfCro+SelkU0p4oN4mKQiafcXLdWKJ/USWTd+YllGh101sCWJLVzmWxS8jWduZdQuaM7Uwceh3Y1vmbLovSJbIB6bqvbAsU1MyOSTzIh1yTcxNRDBInIIVtJXE4KroUlsKmJFAdky7IuYPP6zF7s59Fx+bAZp9xfJAIiMCU1oaHe0hfkmUfaW1AW0EXIMJSUHqBasNmQd648Vp1qw0EECFIGg4hSMxs6gn2fnL1kvMGqM+dPlCuktGgDjSoUrPaHpOqCO9c7satmhTYuMf2dfa5JWX1yD7ScleElMIsXa+N2I2d4kLv6bsUVblu1+5Gd7rKhAtSGhauzJbEp/e3FV/s+NTjKsltF3S3rZJrUG9MftTvq9fCvxkWg8SJNAwCJHwcoCnJhnaSSpBzo0BVZCjKTRoduzH5RdkfUFICZbfVWzUfqAgw8WjAga/3k5yYiSURd8PAATOyW9phEO2L3QXlTK4ByUkke7WI9ckB1LZozTPiIPLjZM5OWwrd+IGcGq+LKQF27WZydjgcYEPJ2M9q0s0IB4DTJgjpU6jUFq32pF3MOQXclTiSrRdHvUadtJPAlxQDdzdVlLNMcjbIUsV87RsxSUsS9wBWtE7aUL612gXfJWhwF+TaIXFCoS034zjXAXA5jhSa9MxcAAAAAElFTkSuQmCC" + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Umika/models/main.bbmodel b/config/yosbr/config/figura/avatars/Umika/models/main.bbmodel new file mode 100644 index 0000000..db10a44 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/models/main.bbmodel @@ -0,0 +1,19898 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "main", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 64, + "height": 81 + }, + "elements": [ + { + "name": "Head", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 24, + -4 + ], + "to": [ + 4, + 32, + 4 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 8, + 8, + 16, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 8, + 8, + 16 + ], + "texture": 0 + }, + "south": { + "uv": [ + 24, + 8, + 32, + 16 + ], + "texture": 0 + }, + "west": { + "uv": [ + 16, + 8, + 24, + 16 + ], + "texture": 0 + }, + "up": { + "uv": [ + 16, + 8, + 8, + 0 + ], + "texture": 0 + }, + "down": { + "uv": [ + 24, + 0, + 16, + 8 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a66c63cf-0082-7797-3f4e-08ff434a1cac" + }, + { + "name": "HatLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 24, + -4 + ], + "to": [ + 4, + 32, + 4 + ], + "autouv": 0, + "color": 0, + "inflate": 0.5, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 32, + 0 + ], + "faces": { + "north": { + "uv": [ + 40, + 8, + 48, + 16 + ], + "texture": 0 + }, + "east": { + "uv": [ + 32, + 8, + 40, + 16 + ], + "texture": 0 + }, + "south": { + "uv": [ + 56, + 8, + 64, + 16 + ], + "texture": 0 + }, + "west": { + "uv": [ + 48, + 8, + 56, + 16 + ], + "texture": 0 + }, + "up": { + "uv": [ + 48, + 8, + 40, + 0 + ], + "texture": 0 + }, + "down": { + "uv": [ + 56, + 0, + 48, + 8 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d48552a8-9f0d-7335-2a82-794f3264fc9d" + }, + { + "name": "Body", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 12, + -2 + ], + "to": [ + 4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 16 + ], + "faces": { + "north": { + "uv": [ + 20, + 92, + 28, + 104 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 92, + 20, + 104 + ], + "texture": 0 + }, + "south": { + "uv": [ + 32, + 92, + 40, + 104 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 92, + 32, + 104 + ], + "texture": 0 + }, + "up": { + "uv": [ + 28, + 92, + 20, + 88 + ], + "texture": 0 + }, + "down": { + "uv": [ + 36, + 88, + 28, + 92 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "742e9ab7-8cdd-8d93-9a9a-88011f54d15b" + }, + { + "name": "BodyLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 12, + -2 + ], + "to": [ + 4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 32 + ], + "faces": { + "north": { + "uv": [ + 20, + 108, + 28, + 120 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 108, + 20, + 120 + ], + "texture": 0 + }, + "south": { + "uv": [ + 32, + 108, + 40, + 120 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 108, + 32, + 120 + ], + "texture": 0 + }, + "up": { + "uv": [ + 28, + 108, + 20, + 104 + ], + "texture": 0 + }, + "down": { + "uv": [ + 36, + 104, + 28, + 108 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2574fa9e-0d5f-502c-ce28-ef5cf30f41ec" + }, + { + "name": "RightArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 18, + -2 + ], + "to": [ + 7, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 44, + 92, + 47, + 98 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 92, + 44, + 98 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 92, + 54, + 98 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 92, + 51, + 98 + ], + "texture": 0 + }, + "up": { + "uv": [ + 47, + 92, + 44, + 88 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 72, + 0, + 72 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8831734e-ce90-e6bb-8368-e011a468277d" + }, + { + "name": "RightArmLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 18, + -2 + ], + "to": [ + 7, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 32 + ], + "faces": { + "north": { + "uv": [ + 44, + 108, + 47, + 114 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 108, + 44, + 114 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 108, + 54, + 114 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 108, + 51, + 114 + ], + "texture": 0 + }, + "up": { + "uv": [ + 47, + 108, + 44, + 104 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 72, + 0, + 72 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "cea7603d-ae80-e4e7-6f93-905551a79117" + }, + { + "name": "LeftArm", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 18, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 32, + 48 + ], + "faces": { + "north": { + "uv": [ + 36, + 124, + 39, + 130 + ], + "texture": 0 + }, + "east": { + "uv": [ + 32, + 124, + 36, + 130 + ], + "texture": 0 + }, + "south": { + "uv": [ + 43, + 124, + 46, + 130 + ], + "texture": 0 + }, + "west": { + "uv": [ + 39, + 124, + 43, + 130 + ], + "texture": 0 + }, + "up": { + "uv": [ + 39, + 124, + 36, + 120 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 72, + 0, + 72 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "af1aa9d5-0ccf-d579-b381-54ac7b12fb55" + }, + { + "name": "LeftArmLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 18, + -2 + ], + "to": [ + -4, + 24, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 48, + 48 + ], + "faces": { + "north": { + "uv": [ + 52, + 124, + 55, + 130 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 124, + 52, + 130 + ], + "texture": 0 + }, + "south": { + "uv": [ + 59, + 124, + 62, + 130 + ], + "texture": 0 + }, + "west": { + "uv": [ + 55, + 124, + 59, + 130 + ], + "texture": 0 + }, + "up": { + "uv": [ + 55, + 124, + 52, + 120 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 72, + 0, + 72 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b74fb9e9-db24-b669-6f87-8469be63eda5" + }, + { + "name": "RightLeg", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 6, + -2 + ], + "to": [ + 4, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 4, + 92, + 8, + 98 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 92, + 4, + 98 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 92, + 16, + 98 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 92, + 12, + 98 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 92, + 4, + 88 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 72, + 0, + 72 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "da81ebbe-5b4e-2d46-144a-6f839ad6fa3c" + }, + { + "name": "RightLegLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 6, + -2 + ], + "to": [ + 4, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 32 + ], + "faces": { + "north": { + "uv": [ + 4, + 108, + 8, + 114 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 108, + 4, + 114 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 108, + 16, + 114 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 108, + 12, + 114 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 108, + 4, + 104 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 72, + 0, + 72 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "bcf37da3-caec-e8f2-bc82-76a3f169374c" + }, + { + "name": "LeftLeg", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 6, + -2 + ], + "to": [ + 0, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 48 + ], + "faces": { + "north": { + "uv": [ + 20, + 124, + 24, + 130 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 124, + 20, + 130 + ], + "texture": 0 + }, + "south": { + "uv": [ + 28, + 124, + 32, + 130 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 124, + 28, + 130 + ], + "texture": 0 + }, + "up": { + "uv": [ + 24, + 124, + 20, + 120 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 72, + 0, + 72 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9c06bc9a-beae-98d9-e9ce-9c8e6ddbb9d3" + }, + { + "name": "LeftLegLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 6, + -2 + ], + "to": [ + 0, + 12, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 48 + ], + "faces": { + "north": { + "uv": [ + 4, + 124, + 8, + 130 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 124, + 4, + 130 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 124, + 16, + 130 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 124, + 12, + 130 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 124, + 4, + 120 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 72, + 0, + 72 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f8f1e7ad-7999-9f17-0488-5dcbd4af7945" + }, + { + "name": "EyeLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1, + 25, + -4.01 + ], + "to": [ + 4, + 28, + -4.01 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 16, + 6, + 22 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "7853e9a2-b429-5a00-5e0e-70449c3a71ee" + }, + { + "name": "EyeRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 25, + -4.01 + ], + "to": [ + -1, + 28, + -4.01 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 12, + 16, + 6, + 22 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "328a2de5-64bc-807b-5906-227bfceedf26" + }, + { + "name": "Mouth", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 24, + -4.01 + ], + "to": [ + 1, + 25, + -4.01 + ], + "autouv": 0, + "color": 0, + "visibility": false, + "origin": [ + 0, + 24, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 28, + 16, + 36 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d9d80373-4145-9e90-28de-12248a8075d9" + }, + { + "name": "HR1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.75, + 35, + -3.75 + ], + "to": [ + 2.05, + 35, + -0.15 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 0, + 35, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 12, + 44, + 0, + 53 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + } + }, + "type": "cube", + "uuid": "48cfe147-8711-a325-c722-fe73d6c4d87a" + }, + { + "name": "RightArmBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 7, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 16 + ], + "faces": { + "north": { + "uv": [ + 44, + 98, + 47, + 104 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 98, + 44, + 104 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 98, + 54, + 104 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 98, + 51, + 104 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 72, + 0, + 72 + ], + "texture": null + }, + "down": { + "uv": [ + 50, + 92, + 47, + 88 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "643f9c05-2d3c-e1d1-5a2f-874902eb1784" + }, + { + "name": "LeftArmBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 12, + -2 + ], + "to": [ + -4, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 32, + 48 + ], + "faces": { + "north": { + "uv": [ + 36, + 130, + 39, + 136 + ], + "texture": 0 + }, + "east": { + "uv": [ + 32, + 130, + 36, + 136 + ], + "texture": 0 + }, + "south": { + "uv": [ + 43, + 130, + 46, + 136 + ], + "texture": 0 + }, + "west": { + "uv": [ + 39, + 130, + 43, + 136 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 72, + 0, + 72 + ], + "texture": null + }, + "down": { + "uv": [ + 42, + 124, + 39, + 120 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a82219a3-e344-a4d8-c85c-51462943a7dc" + }, + { + "name": "LeftArmBottomLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 12, + -2 + ], + "to": [ + -4, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 48, + 48 + ], + "faces": { + "north": { + "uv": [ + 52, + 130, + 55, + 136 + ], + "texture": 0 + }, + "east": { + "uv": [ + 48, + 130, + 52, + 136 + ], + "texture": 0 + }, + "south": { + "uv": [ + 59, + 130, + 62, + 136 + ], + "texture": 0 + }, + "west": { + "uv": [ + 55, + 130, + 59, + 136 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 72, + 0, + 72 + ], + "texture": null + }, + "down": { + "uv": [ + 58, + 124, + 55, + 120 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d7794b2f-dbb3-2cd5-c956-cd163b703976" + }, + { + "name": "RightLegBottomLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -2 + ], + "to": [ + 4, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 32 + ], + "faces": { + "north": { + "uv": [ + 4, + 114, + 8, + 120 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 114, + 4, + 120 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 114, + 16, + 120 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 114, + 12, + 120 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 72, + 0, + 72 + ], + "texture": null + }, + "down": { + "uv": [ + 12, + 108, + 8, + 104 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "72c6eff7-d0eb-2ffa-193f-2ca402bdc722" + }, + { + "name": "RightLegBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0, + 0, + -2 + ], + "to": [ + 4, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 16 + ], + "faces": { + "north": { + "uv": [ + 4, + 98, + 8, + 104 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 98, + 4, + 104 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 98, + 16, + 104 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 98, + 12, + 104 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 72, + 0, + 72 + ], + "texture": null + }, + "down": { + "uv": [ + 12, + 92, + 8, + 88 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8b1cc891-ffa8-9f46-ebc0-f0b84e6ffb15" + }, + { + "name": "LeftLegBottom", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 0, + -2 + ], + "to": [ + 0, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 16, + 48 + ], + "faces": { + "north": { + "uv": [ + 20, + 130, + 24, + 136 + ], + "texture": 0 + }, + "east": { + "uv": [ + 16, + 130, + 20, + 136 + ], + "texture": 0 + }, + "south": { + "uv": [ + 28, + 130, + 32, + 136 + ], + "texture": 0 + }, + "west": { + "uv": [ + 24, + 130, + 28, + 136 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 72, + 0, + 72 + ], + "texture": null + }, + "down": { + "uv": [ + 28, + 124, + 24, + 120 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a1169ee6-6a78-c7c4-9214-670991206468" + }, + { + "name": "LeftLegBottomLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 0, + -2 + ], + "to": [ + 0, + 6, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 0, + 48 + ], + "faces": { + "north": { + "uv": [ + 4, + 130, + 8, + 136 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 130, + 4, + 136 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 130, + 16, + 136 + ], + "texture": 0 + }, + "west": { + "uv": [ + 8, + 130, + 12, + 136 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 72, + 0, + 72 + ], + "texture": null + }, + "down": { + "uv": [ + 12, + 124, + 8, + 120 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a5173990-504e-f5c4-45c7-9347880c1306" + }, + { + "name": "Camera2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + -1, + 1 + ], + "to": [ + 1, + 1, + 4 + ], + "autouv": 1, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "south": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "west": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "up": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "down": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "c2175bbe-2cfe-5bd6-da67-98c3b6cd21ee" + }, + { + "name": "Camera3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 1, + 1.25 + ], + "to": [ + 0.5, + 2, + 2.25 + ], + "autouv": 1, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "south": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "west": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "up": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "down": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "7e6a5cd5-aefb-6095-d77f-adf6c4130742" + }, + { + "name": "Camera4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -0.5, + 1, + 2.75 + ], + "to": [ + 0.5, + 2, + 3.75 + ], + "autouv": 1, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "south": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "west": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "up": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "down": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "31aaec73-9e98-c58c-c0ed-6d915f491f85" + }, + { + "name": "Camera1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + -1.5, + 0 + ], + "to": [ + 1.5, + 1.5, + 1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "south": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "west": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "up": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + }, + "down": { + "uv": [ + 11, + 12, + 12, + 13 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "8b47234a-9700-3da5-47db-8f75a6aab837" + }, + { + "name": "Brim", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5, + 30, + 0 + ], + "to": [ + 5, + 33, + 0 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + -5, + 30, + 0 + ], + "faces": { + "north": { + "uv": [ + 24, + 0, + 34, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 34, + 0, + 24, + 4 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "24010ae2-4c56-39b6-85b2-558b5ffeb1f7" + }, + { + "name": "BrimLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5, + 30, + 0 + ], + "to": [ + 5, + 33, + 0 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + -5, + 30, + 0 + ], + "faces": { + "north": { + "uv": [ + 24, + 3, + 34, + 6 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 34, + 3, + 24, + 7 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "808cf759-839c-a0c4-e811-e24a73747581" + }, + { + "name": "RightEar1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.5, + 31, + -3.5 + ], + "to": [ + 4.5, + 32, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 3.5, + 31, + -3.5 + ], + "faces": { + "north": { + "uv": [ + 34, + 0, + 35, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 34, + 0, + 35, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 34, + 0, + 35, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 34, + 0, + 35, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 34, + 0, + 35, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6d514494-1d05-5dbf-2d89-f6a5b5a8929a" + }, + { + "name": "RightEar3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.5, + 26.903, + -1.5 + ], + "to": [ + 4.5, + 31, + -0.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 12.5, + 0, + 0 + ], + "origin": [ + 3.75, + 31, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 34, + 0, + 35, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 34, + 0, + 35, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 34, + 0, + 35, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "53b3875d-bfd2-b076-158b-a6748ca51f9b" + }, + { + "name": "RightEar2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.5, + 26.903, + -3.5 + ], + "to": [ + 4.5, + 31, + -2.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -12.5, + 0, + 0 + ], + "origin": [ + 3.75, + 31, + -3.5 + ], + "faces": { + "north": { + "uv": [ + 34, + 0, + 35, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 34, + 0, + 35, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 34, + 0, + 35, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "fe28be91-c731-8ffe-9872-15c8dec932fd" + }, + { + "name": "LeftEar1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.5, + 31, + -3.5 + ], + "to": [ + -3.5, + 32, + -0.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3.5, + 31, + -3.5 + ], + "faces": { + "north": { + "uv": [ + 35, + 0, + 34, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 35, + 0, + 34, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 35, + 0, + 34, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 35, + 0, + 34, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 35, + 0, + 34, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "31bc4300-d61f-9371-2f75-d51a4308ed9f" + }, + { + "name": "LeftEar2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.5, + 26.903, + -3.5 + ], + "to": [ + -3.5, + 31, + -2.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -12.5, + 0, + 0 + ], + "origin": [ + -3.75, + 31, + -3.5 + ], + "faces": { + "north": { + "uv": [ + 35, + 0, + 34, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 35, + 0, + 34, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 35, + 0, + 34, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "93a98ad0-cbd5-3c38-f9e8-a509d2022152" + }, + { + "name": "LeftEar3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.5, + 26.903, + -1.5 + ], + "to": [ + -3.5, + 31, + -0.5 + ], + "autouv": 0, + "color": 0, + "rotation": [ + 12.5, + 0, + 0 + ], + "origin": [ + -3.75, + 31, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 35, + 0, + 34, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 35, + 0, + 34, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 35, + 0, + 34, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "841a980a-045c-3805-8d8c-539ca8afafff" + }, + { + "name": "LeftEar4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.5, + 27, + -2.61 + ], + "to": [ + -3.5, + 32, + -1.39 + ], + "autouv": 0, + "color": 0, + "origin": [ + -3.5, + 31, + -3.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 34, + 0, + 35, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 34, + 0, + 35, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 35, + 0, + 34, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d612b0bd-3317-a080-8e43-91e96a36fb86" + }, + { + "name": "BackHair1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 22, + 2 + ], + "to": [ + 4, + 24, + 2.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 25, + 1 + ], + "faces": { + "north": { + "uv": [ + 8, + 3, + 0, + 5 + ], + "texture": 0 + }, + "east": { + "uv": [ + 7, + 3, + 8, + 5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 3, + 8, + 5 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 3, + 1, + 5 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 3, + 0, + 4 + ], + "texture": 0 + }, + "down": { + "uv": [ + 8, + 4, + 0, + 5 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "7005ec8b-f6a2-d8d7-caa9-1b674c8c05ae" + }, + { + "name": "RightEar4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3.5, + 27, + -2.61 + ], + "to": [ + 4.5, + 32, + -1.39 + ], + "autouv": 0, + "color": 0, + "origin": [ + 3.5, + 31, + -3.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 34, + 0, + 35, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 34, + 0, + 35, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 34, + 0, + 35, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "aeec463c-1c3f-f767-8220-0827058e05e8" + }, + { + "name": "FrontHair1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2, + 23, + -2.5 + ], + "to": [ + 4, + 24, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 2, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 2, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "9ebb79d4-6b7d-54dc-0d73-dfbd181a31d9" + }, + { + "name": "FrontHair2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 3, + 22, + -2.5 + ], + "to": [ + 4, + 23, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0.5 + ], + "faces": { + "north": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "4d00e435-a1ed-9b31-4b71-7e0b596ac23c" + }, + { + "name": "FrontHair3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2, + 21, + -2.5 + ], + "to": [ + 3, + 22, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0.5 + ], + "faces": { + "north": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "726aa0d9-d5b5-b349-1bbc-076fc694e39c" + }, + { + "name": "FrontHair4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 23, + -2.5 + ], + "to": [ + -2, + 24, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0.5 + ], + "faces": { + "north": { + "uv": [ + 6, + 0, + 8, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 0, + 7, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 0, + 8, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 7, + 0, + 8, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 0, + 8, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 0, + 8, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2d6c5d02-750e-f8c3-03dd-f460419e01d2" + }, + { + "name": "FrontHair5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4, + 22, + -2.5 + ], + "to": [ + -3, + 23, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0.5 + ], + "faces": { + "north": { + "uv": [ + 7, + 1, + 8, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 7, + 1, + 8, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 7, + 1, + 8, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 7, + 1, + 8, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 7, + 1, + 8, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 7, + 1, + 8, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "76b96676-1cbe-6f3c-59ae-8e35de78dba0" + }, + { + "name": "FrontHair6", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 21, + -2.5 + ], + "to": [ + -2, + 22, + -2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 24, + 0.5 + ], + "faces": { + "north": { + "uv": [ + 6, + 2, + 7, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 2, + 7, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 2, + 7, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 2, + 7, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 2, + 7, + 3 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 2, + 7, + 3 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d3f445ea-2c1e-8adc-c886-965cb0b3082c" + }, + { + "name": "BackHair2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -3, + 21, + 2 + ], + "to": [ + -2, + 22, + 2.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 25, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 1, + 5, + 2, + 6 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 5, + 2, + 6 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 5, + 2, + 6 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 5, + 2, + 6 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 5, + 2, + 6 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 5, + 2, + 6 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "06ef0914-68de-7f63-db79-73611d070fde" + }, + { + "name": "BackHair3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1, + 21, + 2 + ], + "to": [ + 1, + 22, + 2.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 25, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 5, + 5, + 3, + 6 + ], + "texture": 0 + }, + "east": { + "uv": [ + 4, + 5, + 5, + 6 + ], + "texture": 0 + }, + "south": { + "uv": [ + 3, + 5, + 5, + 6 + ], + "texture": 0 + }, + "west": { + "uv": [ + 3, + 5, + 4, + 6 + ], + "texture": 0 + }, + "up": { + "uv": [ + 5, + 5, + 3, + 6 + ], + "texture": 0 + }, + "down": { + "uv": [ + 5, + 5, + 3, + 6 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "222b1639-d1bf-238c-a824-386084531e48" + }, + { + "name": "BackHair4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 2, + 21, + 2 + ], + "to": [ + 3, + 22, + 2.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 0, + 25, + -0.5 + ], + "faces": { + "north": { + "uv": [ + 6, + 5, + 7, + 6 + ], + "texture": 0 + }, + "east": { + "uv": [ + 6, + 5, + 7, + 6 + ], + "texture": 0 + }, + "south": { + "uv": [ + 6, + 5, + 7, + 6 + ], + "texture": 0 + }, + "west": { + "uv": [ + 6, + 5, + 7, + 6 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 5, + 7, + 6 + ], + "texture": 0 + }, + "down": { + "uv": [ + 6, + 5, + 7, + 6 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "ce23b4b9-5b3d-fc21-3c98-6c893d71055f" + }, + { + "name": "RightArmBottomLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4, + 12, + -2 + ], + "to": [ + 7, + 18, + 2 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + 0, + 0, + 0 + ], + "uv_offset": [ + 40, + 32 + ], + "faces": { + "north": { + "uv": [ + 44, + 114, + 47, + 120 + ], + "texture": 0 + }, + "east": { + "uv": [ + 40, + 114, + 44, + 120 + ], + "texture": 0 + }, + "south": { + "uv": [ + 51, + 114, + 54, + 120 + ], + "texture": 0 + }, + "west": { + "uv": [ + 47, + 114, + 51, + 120 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 72, + 0, + 72 + ], + "texture": null + }, + "down": { + "uv": [ + 50, + 108, + 47, + 104 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b1a76f47-912e-c2d4-8090-6f6ac9734672" + }, + { + "name": "BrimRightRibbon1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 5, + 29.5, + 0 + ], + "to": [ + 5, + 30.25, + 1 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 30, + 0, + 0 + ], + "origin": [ + 5, + 30, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 29, + 0, + 29 + ], + "texture": null + }, + "east": { + "uv": [ + 12, + 44, + 16, + 47 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 29, + 0, + 29 + ], + "texture": null + }, + "west": { + "uv": [ + 16, + 44, + 12, + 47 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 29, + 0, + 29 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 29, + 0, + 29 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "372bab0b-d984-7a93-a9ea-fb3a2786ee26" + }, + { + "name": "BrimRightRibbon2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 5, + 29.5, + -1 + ], + "to": [ + 5, + 30.25, + 0 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + -30, + 0, + 0 + ], + "origin": [ + 5, + 30, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 29, + 0, + 29 + ], + "texture": null + }, + "east": { + "uv": [ + 12, + 44, + 16, + 47 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 29, + 0, + 29 + ], + "texture": null + }, + "west": { + "uv": [ + 16, + 44, + 12, + 47 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 29, + 0, + 29 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 29, + 0, + 29 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "777f4f3b-2431-d89e-5a83-a0545393ec16" + }, + { + "name": "BrimRightRibbon3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 5, + 28.5, + -0.125 + ], + "to": [ + 5, + 29.75, + 0.125 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 15, + 0, + 0 + ], + "origin": [ + 5, + 29.75, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 29, + 0, + 29 + ], + "texture": null + }, + "east": { + "uv": [ + 13, + 44, + 14, + 45 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 29, + 0, + 29 + ], + "texture": null + }, + "west": { + "uv": [ + 16, + 44, + 12, + 47 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 29, + 0, + 29 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 29, + 0, + 29 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d3721e71-16fe-76f4-d9c7-df29377e2cd7" + }, + { + "name": "BrimRightRibbon4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 5, + 28.5, + -0.125 + ], + "to": [ + 5, + 29.75, + 0.125 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + -15, + 0, + 0 + ], + "origin": [ + 5, + 29.75, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 29, + 0, + 29 + ], + "texture": null + }, + "east": { + "uv": [ + 13, + 44, + 14, + 45 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 29, + 0, + 29 + ], + "texture": null + }, + "west": { + "uv": [ + 16, + 44, + 12, + 47 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 29, + 0, + 29 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 29, + 0, + 29 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "32d03a51-73b9-8741-b2b5-5e25ae93626b" + }, + { + "name": "BrimLeftRibbon1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5, + 29.5, + 0 + ], + "to": [ + -5, + 30.25, + 1 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 30, + 0, + 0 + ], + "origin": [ + -5, + 30, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 29, + 0, + 29 + ], + "texture": null + }, + "east": { + "uv": [ + 12, + 44, + 16, + 47 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 29, + 0, + 29 + ], + "texture": null + }, + "west": { + "uv": [ + 16, + 44, + 12, + 47 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 29, + 0, + 29 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 29, + 0, + 29 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "a8d42bcb-802d-704a-1401-c9c558c744a6" + }, + { + "name": "BrimLeftRibbon2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5, + 29.5, + -1 + ], + "to": [ + -5, + 30.25, + 0 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + -30, + 0, + 0 + ], + "origin": [ + -5, + 30, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 29, + 0, + 29 + ], + "texture": null + }, + "east": { + "uv": [ + 12, + 44, + 16, + 47 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 29, + 0, + 29 + ], + "texture": null + }, + "west": { + "uv": [ + 16, + 44, + 12, + 47 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 29, + 0, + 29 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 29, + 0, + 29 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6fbd6e93-cbdf-d871-eb0d-894a865185cf" + }, + { + "name": "BrimLeftRibbon3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5, + 28.5, + -0.125 + ], + "to": [ + -5, + 29.75, + 0.125 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 15, + 0, + 0 + ], + "origin": [ + -5, + 29.75, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 29, + 0, + 29 + ], + "texture": null + }, + "east": { + "uv": [ + 12, + 44, + 16, + 47 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 29, + 0, + 29 + ], + "texture": null + }, + "west": { + "uv": [ + 14, + 44, + 13, + 45 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 29, + 0, + 29 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 29, + 0, + 29 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "bf6b7d01-c50a-b4a8-3e84-af18272ef2d1" + }, + { + "name": "BrimLeftRibbon4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5, + 28.5, + -0.125 + ], + "to": [ + -5, + 29.75, + 0.125 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + -15, + 0, + 0 + ], + "origin": [ + -5, + 29.75, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 29, + 0, + 29 + ], + "texture": null + }, + "east": { + "uv": [ + 12, + 44, + 16, + 47 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 29, + 0, + 29 + ], + "texture": null + }, + "west": { + "uv": [ + 14, + 44, + 13, + 45 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 29, + 0, + 29 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 29, + 0, + 29 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "69605153-b0c2-e69d-0b46-414f203e7083" + }, + { + "name": "BackRibbon1_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.25, + 16.5, + 1.875 + ], + "to": [ + 2.25, + 19, + 2.125 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1.25, + 19, + 2 + ], + "faces": { + "north": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b1b5f69f-46f6-259a-11f0-bf968c0e4f28" + }, + { + "name": "BackRibbon1_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.25, + 15.33, + 1.875 + ], + "to": [ + 2.25, + 16.5, + 2.125 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1.25, + 19, + 2 + ], + "faces": { + "north": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "3beabfa0-eec1-01c9-a6a6-533bd9e79cae" + }, + { + "name": "BackRibbon1_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.25, + 15.33, + 1.875 + ], + "to": [ + 2.25, + 16.5, + 2.125 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1.25, + 19, + 2 + ], + "faces": { + "north": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "035aeb03-8112-8dfd-039b-6c28d52091fd" + }, + { + "name": "BackRibbon1_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.25, + 14.478, + 1.875 + ], + "to": [ + 2.25, + 15.33, + 2.125 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1.25, + 19, + 2 + ], + "faces": { + "north": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "9a975fc2-2a49-62ba-6959-074937d46bab" + }, + { + "name": "BackRibbon1_5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.25, + 14.478, + 1.875 + ], + "to": [ + 2.25, + 15.33, + 2.125 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1.25, + 19, + 2 + ], + "faces": { + "north": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "499874c5-2292-678a-1310-6eb9b66a77de" + }, + { + "name": "BackRibbon2_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.25, + 16.5, + 1.875 + ], + "to": [ + -0.25, + 19, + 2.125 + ], + "autouv": 0, + "color": 0, + "origin": [ + -1.25, + 19, + 2 + ], + "faces": { + "north": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "b8def872-0eee-453c-c69b-654cb25f2f9f" + }, + { + "name": "BackRibbon2_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.25, + 15.33, + 1.875 + ], + "to": [ + -0.25, + 16.5, + 2.125 + ], + "autouv": 0, + "color": 0, + "origin": [ + -1.25, + 19, + 2 + ], + "faces": { + "north": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d4f43de4-c871-9668-f828-3b01030a2db3" + }, + { + "name": "BackRibbon2_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.25, + 14.478, + 1.875 + ], + "to": [ + -0.25, + 15.33, + 2.125 + ], + "autouv": 0, + "color": 0, + "origin": [ + -1.25, + 19, + 2 + ], + "faces": { + "north": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "a736192e-f2cc-2d32-7b10-c38ddb7bdfed" + }, + { + "name": "BackRibbon2_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.25, + 15.33, + 1.875 + ], + "to": [ + -0.25, + 16.5, + 2.125 + ], + "autouv": 0, + "color": 0, + "origin": [ + -1.25, + 19, + 2 + ], + "faces": { + "north": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d0bdb04d-1047-6e7f-2bd6-41796a964907" + }, + { + "name": "BackRibbon2_5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.25, + 14.478, + 1.875 + ], + "to": [ + -0.25, + 15.33, + 2.125 + ], + "autouv": 0, + "color": 0, + "origin": [ + -1.25, + 19, + 2 + ], + "faces": { + "north": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "a83b7ad8-53ec-7a26-dbad-558a4af8e91b" + }, + { + "name": "BackRibbon3_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.5, + 14.5, + 1.875 + ], + "to": [ + 2.5, + 17, + 2.125 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1.5, + 17, + 2 + ], + "faces": { + "north": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f10b65fc-ef52-2e78-dc0e-ef4ec1cc5d63" + }, + { + "name": "BackRibbon3_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.5, + 13.33, + 1.875 + ], + "to": [ + 2.5, + 14.5, + 2.125 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1.5, + 17, + 2 + ], + "faces": { + "north": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ec83dab1-bbc0-9b83-9313-88603228bcdb" + }, + { + "name": "BackRibbon3_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.5, + 12.478, + 1.875 + ], + "to": [ + 2.5, + 13.33, + 2.125 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1.5, + 17, + 2 + ], + "faces": { + "north": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "597762e3-c310-79c0-dd42-bd56e8381a2e" + }, + { + "name": "BackRibbon3_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.5, + 13.33, + 1.875 + ], + "to": [ + 2.5, + 14.5, + 2.125 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1.5, + 17, + 2 + ], + "faces": { + "north": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "694813f8-dac2-ab7a-b668-dc27106c1b77" + }, + { + "name": "BackRibbon3_5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.5, + 12.478, + 1.875 + ], + "to": [ + 2.5, + 13.33, + 2.125 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1.5, + 17, + 2 + ], + "faces": { + "north": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6d4baf39-ca21-1e57-3b60-fc6937e313c0" + }, + { + "name": "BackRibbon4_1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.5, + 14.5, + 1.875 + ], + "to": [ + -0.5, + 17, + 2.125 + ], + "autouv": 0, + "color": 0, + "origin": [ + -1.5, + 17, + 2 + ], + "faces": { + "north": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "c8990329-9463-a9f8-e4cb-aab44dc7c6c0" + }, + { + "name": "BackRibbon4_2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.5, + 13.33, + 1.875 + ], + "to": [ + -0.5, + 14.5, + 2.125 + ], + "autouv": 0, + "color": 0, + "origin": [ + -1.5, + 17, + 2 + ], + "faces": { + "north": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "bcffa74d-d72d-96c7-02e5-d650b599b880" + }, + { + "name": "BackRibbon4_3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.5, + 12.478, + 1.875 + ], + "to": [ + -0.5, + 13.33, + 2.125 + ], + "autouv": 0, + "color": 0, + "origin": [ + -1.5, + 17, + 2 + ], + "faces": { + "north": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "a13a0f9b-fc2a-33b8-8fad-079349daec66" + }, + { + "name": "BackRibbon4_4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.5, + 13.33, + 1.875 + ], + "to": [ + -0.5, + 14.5, + 2.125 + ], + "autouv": 0, + "color": 0, + "origin": [ + -1.5, + 17, + 2 + ], + "faces": { + "north": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "45ff1e58-c742-395c-14d7-6d2858c4f32e" + }, + { + "name": "BackRibbon4_5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.5, + 12.478, + 1.875 + ], + "to": [ + -0.5, + 13.33, + 2.125 + ], + "autouv": 0, + "color": 0, + "origin": [ + -1.5, + 17, + 2 + ], + "faces": { + "north": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 34, + 1, + 35, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "c052cada-cb08-cdd6-1f9e-46c98cca2231" + }, + { + "name": "RightSleeve1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4.5, + 18, + 2 + ], + "to": [ + 6.5, + 22, + 8 + ], + "autouv": 0, + "color": 0, + "origin": [ + 5, + 22, + 2 + ], + "faces": { + "north": { + "uv": [ + 0, + 28, + 0, + 28 + ], + "texture": null + }, + "east": { + "uv": [ + 16, + 44, + 22, + 48 + ], + "texture": 0 + }, + "south": { + "uv": [ + 28, + 44, + 30, + 48 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 44, + 22, + 48 + ], + "texture": 0 + }, + "up": { + "uv": [ + 30, + 44, + 32, + 50 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 28, + 0, + 28 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ed6bbde9-47b0-6846-6e03-f63514dc3ee7" + }, + { + "name": "RightSleeve2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 4.5, + 15, + 2 + ], + "to": [ + 6.5, + 18, + 8 + ], + "autouv": 0, + "color": 0, + "origin": [ + 5, + 18, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 28, + 0, + 28 + ], + "texture": null + }, + "east": { + "uv": [ + 16, + 48, + 22, + 51 + ], + "texture": 0 + }, + "south": { + "uv": [ + 28, + 48, + 30, + 51 + ], + "texture": 0 + }, + "west": { + "uv": [ + 28, + 48, + 22, + 51 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 28, + 0, + 28 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 28, + 0, + 28 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "2ffdeed5-f061-77e2-0bba-393084d0ff9d" + }, + { + "name": "LeftSleeve1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -6.5, + 18, + 2 + ], + "to": [ + -4.5, + 22, + 8 + ], + "autouv": 0, + "color": 0, + "origin": [ + -5, + 22, + 2 + ], + "faces": { + "north": { + "uv": [ + 0, + 28, + 0, + 28 + ], + "texture": null + }, + "east": { + "uv": [ + 22, + 44, + 28, + 48 + ], + "texture": 0 + }, + "south": { + "uv": [ + 30, + 44, + 28, + 48 + ], + "texture": 0 + }, + "west": { + "uv": [ + 22, + 44, + 16, + 48 + ], + "texture": 0 + }, + "up": { + "uv": [ + 32, + 44, + 30, + 50 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 28, + 0, + 28 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "6953cf50-2356-54b3-c739-58eb82c73a94" + }, + { + "name": "LeftSleeve2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -6.5, + 15, + 2 + ], + "to": [ + -4.5, + 18, + 8 + ], + "autouv": 0, + "color": 0, + "origin": [ + -5, + 18, + 3 + ], + "faces": { + "north": { + "uv": [ + 0, + 28, + 0, + 28 + ], + "texture": null + }, + "east": { + "uv": [ + 22, + 48, + 28, + 51 + ], + "texture": 0 + }, + "south": { + "uv": [ + 30, + 48, + 28, + 51 + ], + "texture": 0 + }, + "west": { + "uv": [ + 22, + 48, + 16, + 51 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 28, + 0, + 28 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 28, + 0, + 28 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "59ec3187-acc5-1adf-9757-573d92a6fb46" + }, + { + "name": "Skirt1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -4.5, + 11, + -3 + ], + "to": [ + 4.5, + 14, + 3 + ], + "autouv": 0, + "color": 0, + "origin": [ + -4.5, + 11, + -3 + ], + "faces": { + "north": { + "uv": [ + 6, + 59, + 15, + 62 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 59, + 6, + 62 + ], + "texture": 0 + }, + "south": { + "uv": [ + 21, + 59, + 30, + 62 + ], + "texture": 0 + }, + "west": { + "uv": [ + 15, + 59, + 21, + 62 + ], + "texture": 0 + }, + "up": { + "uv": [ + 6, + 53, + 15, + 59 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 41, + 0, + 41 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ad9c45e1-751f-bf75-82ec-453bef0e3ac0" + }, + { + "name": "Skirt2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5, + 7, + -4 + ], + "to": [ + 5, + 11, + 4 + ], + "autouv": 0, + "color": 0, + "origin": [ + -5, + 7, + -4 + ], + "faces": { + "north": { + "uv": [ + 8, + 70, + 18, + 74 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 70, + 8, + 74 + ], + "texture": 0 + }, + "south": { + "uv": [ + 26, + 70, + 36, + 74 + ], + "texture": 0 + }, + "west": { + "uv": [ + 18, + 70, + 26, + 74 + ], + "texture": 0 + }, + "up": { + "uv": [ + 8, + 62, + 18, + 70 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 28, + 0, + 28 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "aa49cad8-67ad-a664-e1af-b2b745d1a0fa" + }, + { + "name": "Skirt3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5.5, + 3, + -5 + ], + "to": [ + 5.5, + 7, + 5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -5, + 3, + -5 + ], + "faces": { + "north": { + "uv": [ + 10, + 84, + 21, + 88 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 84, + 10, + 88 + ], + "texture": 0 + }, + "south": { + "uv": [ + 31, + 84, + 42, + 88 + ], + "texture": 0 + }, + "west": { + "uv": [ + 21, + 84, + 31, + 88 + ], + "texture": 0 + }, + "up": { + "uv": [ + 10, + 74, + 21, + 84 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 28, + 0, + 28 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d3ba689a-a434-3edd-42d8-d551ebe0419f" + }, + { + "name": "SkirtLayer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5.5, + 3, + -5 + ], + "to": [ + 5.5, + 7, + 5 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + -5, + 3, + -5 + ], + "faces": { + "north": { + "uv": [ + 42, + 84, + 53, + 88 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 28, + 0, + 28 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 28, + 0, + 28 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 28, + 0, + 28 + ], + "texture": null + }, + "up": { + "uv": [ + 21, + 74, + 32, + 84 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 28, + 0, + 28 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "496d282f-3fb0-50b0-d962-51ff3869f337" + }, + { + "name": "Skirt2Layer", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -5, + 7, + -4 + ], + "to": [ + 5, + 11, + 4 + ], + "autouv": 0, + "color": 0, + "inflate": 0.25, + "origin": [ + -5, + 7, + -4 + ], + "faces": { + "north": { + "uv": [ + 36, + 70, + 46, + 74 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 28, + 0, + 28 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 28, + 0, + 28 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 28, + 0, + 28 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 28, + 0, + 28 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 28, + 0, + 28 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "563525ba-f6f1-03ff-daa5-67d85864f75b" + }, + { + "name": "HR2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.775, + 35, + -3.75 + ], + "to": [ + 2.025, + 35, + -0.15 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 0, + -120, + 0 + ], + "origin": [ + 0, + 35, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 12, + 44, + 0, + 53 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + } + }, + "type": "cube", + "uuid": "2f72bd15-4cfa-7c1f-c547-adaaf9379add" + }, + { + "name": "HR3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -2.775, + 35, + -3.75 + ], + "to": [ + 2.025, + 35, + -0.15 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "rotation": [ + 0, + 120, + 0 + ], + "origin": [ + 0, + 35, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 12, + 44, + 0, + 53 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "rotation": 180, + "texture": null + } + }, + "type": "cube", + "uuid": "3df06eb5-0eae-385b-64ca-da5e61ee01ac" + } + ], + "outliner": [ + { + "name": "Avatar", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "e98e96cf-993b-878e-02b8-777c368bb888", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Head", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "22d40862-bd19-a16d-9e33-79364e6656d8", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a66c63cf-0082-7797-3f4e-08ff434a1cac", + "d48552a8-9f0d-7335-2a82-794f3264fc9d", + { + "name": "FaceParts", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "db381b6c-e0d3-6ca8-6433-4371d36cc6c6", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Eyes", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "25d20f6a-b84c-5105-726d-79a4fc3a5a4d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "7853e9a2-b429-5a00-5e0e-70449c3a71ee", + "328a2de5-64bc-807b-5906-227bfceedf26", + { + "name": "RightSpyglassPivot", + "origin": [ + 2, + 26, + -4 + ], + "color": 0, + "uuid": "d775a8e4-818b-b21e-93df-fdb4456fefc8", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "LeftSpyglassPivot", + "origin": [ + -2, + 26, + -4 + ], + "color": 0, + "uuid": "5e757c9d-cb7e-d074-a20f-d95f46e96872", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + "d9d80373-4145-9e90-28de-12248a8075d9" + ] + }, + { + "name": "HeadRing", + "origin": [ + 0, + 28, + 0 + ], + "color": 0, + "uuid": "e8809cb5-a507-86d8-da91-c79b1d4d233e", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "HR", + "origin": [ + 0, + 28, + 0 + ], + "rotation": [ + 45, + 0, + 0 + ], + "color": 0, + "uuid": "8fb150aa-8694-fec2-bf32-d4c4e5244575", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "48cfe147-8711-a325-c722-fe73d6c4d87a", + "2f72bd15-4cfa-7c1f-c547-adaaf9379add", + "3df06eb5-0eae-385b-64ca-da5e61ee01ac" + ] + } + ] + }, + { + "name": "Brim", + "origin": [ + -5, + 30, + 0 + ], + "color": 0, + "uuid": "32da4224-ca9a-32b3-ed01-cc68f0ccba8b", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "24010ae2-4c56-39b6-85b2-558b5ffeb1f7", + "808cf759-839c-a0c4-e811-e24a73747581", + { + "name": "BrimRightRibbon", + "origin": [ + 5, + 30, + 0 + ], + "color": 0, + "uuid": "0b040a96-ba88-6b7f-adec-f838143d58f1", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "372bab0b-d984-7a93-a9ea-fb3a2786ee26", + "777f4f3b-2431-d89e-5a83-a0545393ec16", + "d3721e71-16fe-76f4-d9c7-df29377e2cd7", + "32d03a51-73b9-8741-b2b5-5e25ae93626b" + ] + }, + { + "name": "BrimLeftRibbon", + "origin": [ + -5, + 30, + 0 + ], + "rotation": [ + 0, + 0, + -10 + ], + "color": 0, + "uuid": "ea04b495-958c-3d4a-3bda-1a5970b3061f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a8d42bcb-802d-704a-1401-c9c558c744a6", + "6fbd6e93-cbdf-d871-eb0d-894a865185cf", + "bf6b7d01-c50a-b4a8-3e84-af18272ef2d1", + "69605153-b0c2-e69d-0b46-414f203e7083" + ] + } + ] + }, + { + "name": "Ears", + "origin": [ + 4, + 30, + -3.5 + ], + "color": 0, + "uuid": "92760131-164b-3366-32af-333328a69df9", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightEar", + "origin": [ + 4, + 32, + -2 + ], + "rotation": [ + 0, + 0, + 10 + ], + "color": 0, + "uuid": "e54b4f58-a99e-6698-0989-c62bfc95bdf2", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "6d514494-1d05-5dbf-2d89-f6a5b5a8929a", + "fe28be91-c731-8ffe-9872-15c8dec932fd", + "53b3875d-bfd2-b076-158b-a6748ca51f9b", + "aeec463c-1c3f-f767-8220-0827058e05e8" + ] + }, + { + "name": "LeftEar", + "origin": [ + -4, + 32, + -2 + ], + "rotation": [ + 0, + 0, + -10 + ], + "color": 0, + "uuid": "780cb1dd-fef6-ccda-0ec8-7f962ddc249d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "31bc4300-d61f-9371-2f75-d51a4308ed9f", + "93a98ad0-cbd5-3c38-f9e8-a509d2022152", + "841a980a-045c-3805-8d8c-539ca8afafff", + "d612b0bd-3317-a080-8e43-91e96a36fb86" + ] + } + ] + }, + { + "name": "HelmetPivot", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "5f7c31ea-06e7-6493-e25b-0744aaf3bdd8", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "HelmetItemPivot", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "747e72c3-e96d-48d1-2e21-d818025977db", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + { + "name": "UpperBody", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "16d22746-633e-382e-dd96-b35bde99daa5", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Body", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "bf4dd57f-d0f7-1fe0-98e6-59e00f97f41b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "742e9ab7-8cdd-8d93-9a9a-88011f54d15b", + "2574fa9e-0d5f-502c-ce28-ef5cf30f41ec", + { + "name": "Hairs", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "a3116c5d-0e1a-1f31-021f-cd1c4678db26", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "FrontHair", + "origin": [ + 0, + 24, + -2 + ], + "color": 0, + "uuid": "a50c740c-18e9-c111-2e15-c5b73ae76ff7", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "9ebb79d4-6b7d-54dc-0d73-dfbd181a31d9", + "4d00e435-a1ed-9b31-4b71-7e0b596ac23c", + "726aa0d9-d5b5-b349-1bbc-076fc694e39c", + "2d6c5d02-750e-f8c3-03dd-f460419e01d2", + "76b96676-1cbe-6f3c-59ae-8e35de78dba0", + "d3f445ea-2c1e-8adc-c886-965cb0b3082c" + ] + }, + { + "name": "BackHair", + "origin": [ + 0, + 24, + 2 + ], + "color": 0, + "uuid": "3a343ce8-08fb-dfa7-5627-9c13ceef9b99", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "7005ec8b-f6a2-d8d7-caa9-1b674c8c05ae", + "06ef0914-68de-7f63-db79-73611d070fde", + "222b1639-d1bf-238c-a824-386084531e48", + "ce23b4b9-5b3d-fc21-3c98-6c893d71055f" + ] + } + ] + }, + { + "name": "BackRibbons", + "origin": [ + 0, + 24, + -6 + ], + "color": 0, + "uuid": "a58a8ba4-ea59-c600-41bb-85594ba91dd9", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "BackRibbon1", + "origin": [ + 1.25, + 19, + 2 + ], + "color": 0, + "uuid": "a9fcef58-190c-bfb5-e2bc-b0beaad24b5b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "BackRibbon1ZPivot", + "origin": [ + 1.25, + 19, + 2 + ], + "color": 0, + "uuid": "cbf5e23e-4a5b-d779-da91-0d2019e3e604", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "BackRibbon1_1", + "origin": [ + 1.25, + 19, + 2 + ], + "rotation": [ + -20, + 0, + 5 + ], + "color": 0, + "uuid": "a68c8939-09ba-0c9f-9d5c-0e674bfdc021", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b1b5f69f-46f6-259a-11f0-bf968c0e4f28", + { + "name": "BackRibbon1_2", + "origin": [ + 1.25, + 16.5, + 1.875 + ], + "rotation": [ + -26.2, + 0, + 0 + ], + "color": 0, + "uuid": "07241997-d246-bcde-7d18-b1a856541143", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "3beabfa0-eec1-01c9-a6a6-533bd9e79cae", + { + "name": "BackRibbon1_3", + "origin": [ + 1.25, + 15.33, + 2.125 + ], + "rotation": [ + 72.5, + 0, + 0 + ], + "color": 0, + "uuid": "8fe75858-87b4-d993-3af7-61ecfaca02cf", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "9a975fc2-2a49-62ba-6959-074937d46bab" + ] + } + ] + }, + { + "name": "BackRibbon1_4", + "origin": [ + 1.25, + 16.5, + 2.125 + ], + "rotation": [ + 26.2, + 0, + 0 + ], + "color": 0, + "uuid": "7dc73870-1828-4cbf-a773-1473fb6fec89", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "035aeb03-8112-8dfd-039b-6c28d52091fd", + { + "name": "BackRibbon1_5", + "origin": [ + 1.25, + 15.33, + 1.875 + ], + "rotation": [ + -72.5, + 0, + 0 + ], + "color": 0, + "uuid": "f0749d06-1e5d-7f43-2672-30eccca845a8", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "499874c5-2292-678a-1310-6eb9b66a77de" + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "name": "BackRibbon2", + "origin": [ + -1.25, + 19, + 2 + ], + "color": 0, + "uuid": "b193f4ab-a3d2-8c7d-c658-1b52ab81543f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "BackRibbon2ZPivot", + "origin": [ + -1.25, + 19, + 2 + ], + "color": 0, + "uuid": "f860660d-e379-ab9e-1477-885fd64c06bd", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "BackRibbon2_1", + "origin": [ + -1.25, + 19, + 2 + ], + "rotation": [ + -20, + 0, + -5 + ], + "color": 0, + "uuid": "3e395c33-dedc-73ec-3fa8-4760465f344a", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b8def872-0eee-453c-c69b-654cb25f2f9f", + { + "name": "BackRibbon2_2", + "origin": [ + -1.25, + 16.5, + 1.875 + ], + "rotation": [ + -26.2, + 0, + 0 + ], + "color": 0, + "uuid": "ba976e73-31e6-e7a0-f557-9d10fb6b99a9", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d4f43de4-c871-9668-f828-3b01030a2db3", + { + "name": "BackRibbon2_3", + "origin": [ + -1.25, + 15.33, + 2.125 + ], + "rotation": [ + 72.5, + 0, + 0 + ], + "color": 0, + "uuid": "9c353c1f-3b99-9f6e-6b60-9ff18717d22a", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a736192e-f2cc-2d32-7b10-c38ddb7bdfed" + ] + } + ] + }, + { + "name": "BackRibbon2_4", + "origin": [ + -1.25, + 16.5, + 2.125 + ], + "rotation": [ + 26.2, + 0, + 0 + ], + "color": 0, + "uuid": "8b0e2630-5a72-18c1-8e6c-c7f37aa0a678", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d0bdb04d-1047-6e7f-2bd6-41796a964907", + { + "name": "BackRibbon2_5", + "origin": [ + -1.25, + 15.33, + 1.875 + ], + "rotation": [ + -72.5, + 0, + 0 + ], + "color": 0, + "uuid": "464085bd-2355-84ea-1a5c-b6f1fbe80711", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a83b7ad8-53ec-7a26-dbad-558a4af8e91b" + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "name": "BackRibbon3", + "origin": [ + 1.5, + 17, + 2 + ], + "color": 0, + "uuid": "0cd15cbc-5034-e446-04c3-5082f6d55af7", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "BackRibbon3ZPivot", + "origin": [ + 1.5, + 17, + 2 + ], + "color": 0, + "uuid": "29823b78-c2d8-67d8-d209-f394e15fdb08", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "BackRibbon3_1", + "origin": [ + 1.5, + 17, + 2 + ], + "rotation": [ + -25, + 0, + 5 + ], + "color": 0, + "uuid": "9d2e7a67-b7b8-740d-0d17-9e779a434a4a", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f10b65fc-ef52-2e78-dc0e-ef4ec1cc5d63", + { + "name": "BackRibbon3_2", + "origin": [ + 1.5, + 14.5, + 1.875 + ], + "rotation": [ + -26.2, + 0, + 0 + ], + "color": 0, + "uuid": "84d0fe57-defb-81bc-dc6c-d1e64727bc02", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ec83dab1-bbc0-9b83-9313-88603228bcdb", + { + "name": "BackRibbon3_3", + "origin": [ + 1.5, + 13.33, + 2.125 + ], + "rotation": [ + 72.5, + 0, + 0 + ], + "color": 0, + "uuid": "e0f942c4-70d1-cce5-e1fb-5ad3e6bedbd2", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "597762e3-c310-79c0-dd42-bd56e8381a2e" + ] + } + ] + }, + { + "name": "BackRibbon3_4", + "origin": [ + 1.5, + 14.5, + 2.125 + ], + "rotation": [ + 26.2, + 0, + 0 + ], + "color": 0, + "uuid": "ac48db9b-6b1a-5d1a-c377-385ff405c855", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "694813f8-dac2-ab7a-b668-dc27106c1b77", + { + "name": "BackRibbon3_5", + "origin": [ + 1.5, + 13.33, + 1.875 + ], + "rotation": [ + -72.5, + 0, + 0 + ], + "color": 0, + "uuid": "4e2557e3-b0a6-5720-e296-5e3d718fb19e", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "6d4baf39-ca21-1e57-3b60-fc6937e313c0" + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "name": "BackRibbon4", + "origin": [ + -1.5, + 17, + 2 + ], + "color": 0, + "uuid": "ae10ffab-4a62-fe45-546b-f23bc9a878b5", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "BackRibbon4ZPivot", + "origin": [ + -1.5, + 17, + 2 + ], + "color": 0, + "uuid": "ee20ac28-9f22-a9a8-7e2d-2f4b5fa1ed3d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "BackRibbon4_1", + "origin": [ + -1.5, + 17, + 2 + ], + "rotation": [ + -25, + 0, + -5 + ], + "color": 0, + "uuid": "3ff7170e-592b-a36b-fb9e-3102d1205973", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "c8990329-9463-a9f8-e4cb-aab44dc7c6c0", + { + "name": "BackRibbon4_2", + "origin": [ + -1.5, + 14.5, + 1.875 + ], + "rotation": [ + -26.2, + 0, + 0 + ], + "color": 0, + "uuid": "d4499ab7-f874-f5a9-edb9-f40be56ad669", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "bcffa74d-d72d-96c7-02e5-d650b599b880", + { + "name": "BackRibbon4_3", + "origin": [ + -1.5, + 13.33, + 2.125 + ], + "rotation": [ + 72.5, + 0, + 0 + ], + "color": 0, + "uuid": "04d76a1d-d3e7-8c58-23e4-24eca358a8ab", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a13a0f9b-fc2a-33b8-8fad-079349daec66" + ] + } + ] + }, + { + "name": "BackRibbon4_4", + "origin": [ + -1.5, + 14.5, + 2.125 + ], + "rotation": [ + 26.2, + 0, + 0 + ], + "color": 0, + "uuid": "0643af67-ae0c-a96e-5ad6-022013d562de", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "45ff1e58-c742-395c-14d7-6d2858c4f32e", + { + "name": "BackRibbon4_5", + "origin": [ + -1.5, + 13.33, + 1.875 + ], + "rotation": [ + -72.5, + 0, + 0 + ], + "color": 0, + "uuid": "bffecc4a-8ec0-2fe8-88bc-4e7b9f8c3a3d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "c052cada-cb08-cdd6-1f9e-46c98cca2231" + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "name": "Skirt", + "origin": [ + 0, + 14, + 0 + ], + "color": 0, + "uuid": "6e77fbfa-015d-6ce5-e997-ab2454e5fd7c", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ad9c45e1-751f-bf75-82ec-453bef0e3ac0", + { + "name": "Skirt2", + "origin": [ + 0, + 11, + 0 + ], + "color": 0, + "uuid": "99bb53f3-d68b-f4a0-4ab7-e4ee0b77243b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "aa49cad8-67ad-a664-e1af-b2b745d1a0fa", + "563525ba-f6f1-03ff-daa5-67d85864f75b", + { + "name": "Skirt3", + "origin": [ + 0, + 7, + 0 + ], + "color": 0, + "uuid": "c620bad5-2ec3-826f-b63e-c316a4677585", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d3ba689a-a434-3edd-42d8-d551ebe0419f", + "496d282f-3fb0-50b0-d962-51ff3869f337" + ] + } + ] + } + ] + }, + { + "name": "ChestplateBodyPivot", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "2523275e-7777-dbeb-6aa4-dbf9ef4f0338", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "BeltPivot", + "origin": [ + 0, + 12, + 0 + ], + "color": 0, + "uuid": "08649582-e55e-66bf-6435-46c855577ffd", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "NameplateAnchor", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "71b16a49-1da9-df63-2f72-f5272bb4b134", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + { + "name": "Arms", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "c062b0e8-6983-de4d-12e9-7b5ad9e81528", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightArm", + "origin": [ + 5, + 22, + 0 + ], + "color": 0, + "uuid": "3c1cb66d-8a31-d31f-ec9f-65a33e313a53", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8831734e-ce90-e6bb-8368-e011a468277d", + "cea7603d-ae80-e4e7-6f93-905551a79117", + { + "name": "RightSleeve", + "origin": [ + 5.5, + 22, + 2 + ], + "color": 0, + "uuid": "71f0a15a-0345-e476-c7f3-d478ddc21bb1", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ed6bbde9-47b0-6846-6e03-f63514dc3ee7", + { + "name": "RightSleeve2", + "origin": [ + 5.5, + 18, + 8 + ], + "color": 0, + "uuid": "24454cad-9a68-ab35-c21f-5d6d75a94285", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "2ffdeed5-f061-77e2-0bba-393084d0ff9d" + ] + } + ] + }, + { + "name": "RightArmBottom", + "origin": [ + 5, + 18, + 2 + ], + "color": 0, + "uuid": "b924539e-1292-1a17-6240-a525ae346090", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "643f9c05-2d3c-e1d1-5a2f-874902eb1784", + "b1a76f47-912e-c2d4-8090-6f6ac9734672", + { + "name": "RightItemPivot", + "origin": [ + 5.5, + 12, + -2 + ], + "color": 0, + "uuid": "f77eb5a1-0c86-2ec0-fa55-565b454784db", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + } + ] + }, + { + "name": "LeftArm", + "origin": [ + -5, + 22, + 0 + ], + "color": 0, + "uuid": "e7d3e5d8-00e4-587c-7bb6-6787db00054b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "af1aa9d5-0ccf-d579-b381-54ac7b12fb55", + "b74fb9e9-db24-b669-6f87-8469be63eda5", + { + "name": "LeftSleeve", + "origin": [ + -5.5, + 22, + 2 + ], + "color": 0, + "uuid": "a6142793-0f0f-c3da-d83c-b9f0981e026c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "6953cf50-2356-54b3-c739-58eb82c73a94", + { + "name": "LeftSleeve2", + "origin": [ + -5.5, + 18, + 8 + ], + "color": 0, + "uuid": "26aa86c0-607c-df70-0f34-4a4dbd7e83ec", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "59ec3187-acc5-1adf-9757-573d92a6fb46" + ] + } + ] + }, + { + "name": "LeftArmBottom", + "origin": [ + -5, + 18, + 2 + ], + "color": 0, + "uuid": "ad1c45ef-c0a8-6d31-d2dc-fbdc6ab7ddcc", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a82219a3-e344-a4d8-c85c-51462943a7dc", + "d7794b2f-dbb3-2cd5-c956-cd163b703976", + { + "name": "LeftItemPivot", + "origin": [ + -5.5, + 12, + -2 + ], + "color": 0, + "uuid": "4f31b2fe-139d-4fb3-f36f-3d5ed0997399", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + } + ] + } + ] + }, + { + "name": "LeftElytraPivot", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "34f8f1e3-7498-d32a-cbaa-e08af5c6b7e9", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "RightElytraPivot", + "origin": [ + 0, + 24, + 0 + ], + "color": 0, + "uuid": "884aa12d-4d86-c86f-f3ae-27294c5df1b1", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "LeftParrotPivot", + "origin": [ + -6.5, + 24, + 0 + ], + "color": 0, + "uuid": "29a158b7-4e78-b2e4-f4a6-a828afb1514f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + }, + { + "name": "RightParrotPivot", + "origin": [ + 6.5, + 24, + 0 + ], + "color": 0, + "uuid": "7d993335-4efa-18af-e219-def6c191632a", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [] + } + ] + }, + { + "name": "LowerBody", + "origin": [ + 0, + 12, + 0 + ], + "color": 0, + "uuid": "2f61e368-1c06-648e-26d4-aee94647e4da", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "Legs", + "origin": [ + 0, + 12, + 0 + ], + "color": 0, + "uuid": "29730186-2622-086d-ab67-4bb8e356bb6c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightLeg", + "origin": [ + 2, + 12, + 0 + ], + "color": 0, + "uuid": "4e80b5b4-7c04-8374-f8a7-526b3d36d050", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "da81ebbe-5b4e-2d46-144a-6f839ad6fa3c", + "bcf37da3-caec-e8f2-bc82-76a3f169374c", + { + "name": "RightLegBottom", + "origin": [ + 2, + 6, + -2 + ], + "color": 0, + "uuid": "84fe0b3a-286b-e17f-288e-c39feaa2e5e6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8b1cc891-ffa8-9f46-ebc0-f0b84e6ffb15", + "72c6eff7-d0eb-2ffa-193f-2ca402bdc722" + ] + } + ] + }, + { + "name": "LeftLeg", + "origin": [ + -2, + 12, + 0 + ], + "color": 0, + "uuid": "73b3d6bc-af0b-a066-5d73-f3938109e11f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "9c06bc9a-beae-98d9-e9ce-9c8e6ddbb9d3", + "f8f1e7ad-7999-9f17-0488-5dcbd4af7945", + { + "name": "LeftLegBottom", + "origin": [ + -2, + 6, + -2 + ], + "color": 0, + "uuid": "ee9973d4-ff4e-c96b-64f6-d1f28afd69c6", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a1169ee6-6a78-c7c4-9214-670991206468", + "a5173990-504e-f5c4-45c7-9347880c1306" + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "name": "CameraAnchor", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "4ad021e9-2857-4e55-337b-f61da0762800", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8b47234a-9700-3da5-47db-8f75a6aab837", + "c2175bbe-2cfe-5bd6-da67-98c3b6cd21ee", + "7e6a5cd5-aefb-6095-d77f-adf6c4130742", + "31aaec73-9e98-c58c-c0ed-6d915f491f85" + ] + } + ], + "textures": [ + { + "path": "", + "name": "main.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 64, + "height": 136, + "uv_width": 64, + "uv_height": 136, + "particle": false, + "layers_enabled": true, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "49d663f7-0284-81d3-5d9d-8f9c415279bb", + "layers": [ + { + "name": "layer", + "offset": [ + 0, + 0 + ], + "scale": [ + 1, + 1 + ], + "opacity": 100, + "visible": true, + "blend_mode": "default", + "width": 64, + "height": 150, + "data_url": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAACWCAYAAABuDo7sAAAAAXNSR0IArs4c6QAACy9JREFUeF7tXH9sVdUdP+e+llrq2prxczRONiUxBOPmwirrBowhFissE7e51s0yBcePabYwlrhIIGOJc2OIAuuiBaWdRFA37ajoHLA00JEtMRJitrnNmDrCD7Ew29LS17N8z+v3eu59995zzrv3vnfv673/3PvO+Z7v+X4/38/5ee87tLNjPyOEkPqGZRTueGH6NdNrzLSLF/tIeXkZKS0tMdNOnzonFst6nveVBtrb28uqqqrIhQsXiNOdUkrv/fYa9uQzT1hs8FQcUCZ9/rl2dsfXGx0rhrzrZnySV4VOAwiVlRXk8uVhnn7+XK+nKXMX3EbAQS8hBEgmF5DPFjXcMCcQMO2tk92cIXCB0wMDgxwAvGQMUAWguro679EHH+ibb3QxcAqoDffz739AptVM4c+QZo++2AQAEBkDoAmADsYYgwi73cOIropO+pdjrzN0Hh0WAcFoY/TtoAAD5tZ+zrGuI91/JSoMUDE0LBkeHQDh8zcv4GDAb3yGOzQBkfrQB8CFQAADYg+AF7oAAHZ8ohymyRiATSCsCPrVK+14xE7QqbLYAwCdIAxxQHOnO/b+XjJuZe3poEucS0D+DTfWSYMA5eyBuH5mrVI5GUP4KHB1zVQud+r0WQ6E+FsFgKmTJ/Ly7/ac4iC6/f77P9/hfQfqB3kVAMB51IkOga1BgMA7ORlK2N7td4ywrDzmO/UlXk6gbV59EOj2A4QUAHBy1rXXOvp44u23LdNiLyCQ+jDEwoXDqw4AOAJBWREU3wB4tWEwePasmY6+HT9x0lwbuOkQh03sR0AZAgFDrRtw4rAMMof/2MHZiiOLPV+ViaIcH/txbi9OgHByNNA34DnOl1eUm7NIcUIFzmLUoUJxAYX9Chri1g/YHbY7KMuH/g3KuOmHfN4JYkTAWXBIvA9cukRunVfnCO4rh7tI+RVXZJVBUJwctysCkGbXftlxweS2UkUdXvkw5T7e/ScuipM2e90QcN4HgBHgNDgLDon3/v5BsnR+LS+bKs8sgtIDmdng7w91k/Hjy7LKgA64Jk+dYK4a3egJ0cGZqJuM12LNq/lg88KmYpeFfLP9LaubYxkN9ncd5Xm66brt0E2/mx5deZk9gQOga2BQ8rkGimLB375+yATr7tolJF3xP/4b0yFtT/dL5FsL5lvSsdC4sjJPxtgjIdaLukEG9ejKBwYAGFNdWUXeT/dkAeCUDkJrb7nbVb7lyHOOw5wdAND9+Kt7pACk+j7G7QNZuJwCYrfHC2DTuKHBQd4HHG9tIXv2dhE0XJbuBoBdj1uEQD/KigC4yXft3MbAPjcAUJcYQCf9yLAsAM4e7iD/+fd7pO573+d5IgDTPzWNTFt0hyXd3gRQHvVsbd/LRbBTtVMbAQDdE+c1uDIAy7138HkG9s1evpInYZOx1yvaDwC46Q9kRSXraaOcnwAQ5ejkw7aEAflAOcp1JAyIcnTyYZsrA9ItT1gWR6mVayLPFrvNbgCKvjg6lX6qhRHCCBFy4dFYfr8nCF1bH+Gg1T243lFOlu8n4unWX0v3NkX9qVFfnAFoa2WUUMIIg40KwkZVp5qalViAjtodcgPGj+NYNt3WqgdA03Lui6NDI/vaMuEHlZTDADdiuLxGD8IBvzoyNqtfxp1NHgC8lPlogsPDnzgSxFhi/YhCvbr8SI68PGq3pDrj9o/8cKU06z5sQZTWzlOif35c9a7FbjtIn7jpi7zQDaUpix+xcSoIYN+8nGZjGgAnEC0MGDlyktPemDtzzDDDdBSGrjmfaSDnej8gE6qv8gQBZMMc0oKgu6oOS6Rx/J4x/Qtk0tLs19ZhTmRUDQ5aznPGls+JTNCOqeobM23dDZAEAFWqFKucJwN2DqWZYVA+JV6ZgofMNfxOJx8uS66ppw9s3c3+8YfXePoLrd8g92/LfEd85o12fu945Rmy/McHTfwwfdKNjTzt6UcXF5SFjpVv67/MDEr5StBIEcIxoJSsSBkUnAfHEYjb72tzdLR62hniBUxkAfjVh0N8KQyRNwxCqEHJ6nEp2jI8wqhByAojA4JfBiBbIsWAX/QO8sgbKYg+4QCsLS81WfKb4RG2ouSjpgAg1C9s5GDYqS5jAJZJpayLk3z3NaZzj5y/lHHeIOSHVZk3veK1YyjNVo3LNjbXPgB1d77WXvg+4GdnB1jKIGT9x8u1jcmVATNuW8j7iEgAsPnMAHtokr7zEMVcGVBox5GBdNOpfvbw1PHakc93Ww2rPrrxv31swycqxi4AbshC2z7wamaMd7oW39JU8PYbBCtcI58AsLCReXVUAFBUOjI/TPBkwJgHQIZs0TNgTACAMzknZ2WjgAwgr/yosIcmAIyu5sYsA2Q0ls0HoHycJ0XSKXACgGRKPCYYIOux4zwrVGoCYx4AWUcJ+TKQVHQUQkaJASqGJQAUeHNTJUhOMp4zQSzgNSXGUSBXA+zl8s2kBACvtUDCgFEEnt233XIAEiSLhyLddefqoFqAOZqIp82AcvEEmsAqc/tS1KkCYIodCKeToQAMbMdRPTpH9E86DKKwypogjtPiBADV9qQ631eVU603bDktBqiM0QkAMXtfkDBAtY2pTJhQl0pTUa03bDktBqgakwAQo5Wh0mIII686E1Rlio5cWLNLLQDAYFgaux2OCtvjYV2RASAsB2V6w+pX+BmfssqjkB/WibNZo4B9uNu96ycW/yfXXO85csgOaV2/bqcnnrJIf2fdATNguzd81tRFr5yiPKJ5rgaDAMDLw6IHAM/3WjQ7Rej4mzkWrP8YOXg8zZ+3PfZicTMgdgDYKW/fAZYNbfjZuxjWxx6aQyqHDlkYcHHcfPLA5qOO0d/983pyz486LXlOaTqdsepX6FnzgCAAQON3rcucHtn8aBmROQSgIUDis47TomxBAQAHOve3kXfPZk6ev3riBFK/rMmVAWg4gASTLDem6IBREADQAThCf+9T28k3v5vZLcZnnEHa6Y6OAXBQ1i0/0gCg8XYjv9a4irzQvsOS7BRlsYnImosKEHljwMItm1TsyVnm2JbMH7J0r327vI/7QH3aiyG7IVMmT9G1TUv+w9LrtORROG8AYIWyF6gb/nyUbPzSHNMZ2fCKghUVlTkBsP93O5WmxrSnp8fXYui+5vXcwNgC4Hc1KEZSBgKGUjX6IP9y59Mk1dtB0tUNWnc64atqDIg6AAde/GVOTUB1dUhP97zlqwnc0/xTi4EyFuhEnzetsAHICd4iKqTUTorI3yxXEgBk0bX3EbItMZm+qOVHggH4JYkIjlNaGOCFAkAhHdIFKRQA0Ihnn8wcynjXvdE9jDFQAMSPomAPAB0HIGBvIKwvvXSjLsoHCoCTIc2rNrJdOzaEXk+uIETWsFwd0i0XeQDEN0E6zinvCOko9SO75cS/2A9mfVob8AQA4V2gTgAixwAd40XZ4eFhVlJSQnXvqvWZlFy7+mFWv+gm0nnwbwTui5cspZCGih7fvkmbvqpGFFLO3A8Q5/gIBoCAxrntG8R9bRB4VP2+Xg/6/b+MXQkAMoR084uOAbr7AUUHgIwBYXxfIKsT8lXHeZku331AAoDtAIYgPrCQRS1hQNIEiqgPuLImc+y97qX6+lumN/BOUFahPd8vAH6XywUHwO/7/4ID4Pf7ggfXbNYlDZfHDyAKDoDf1+vpdFrrvT9+J4Dv/3X3CVAeUbfsB0CiuBcAz3DBHoHbfoBfAEjf6ZwYoPr+X6bc936ArAJZ/qTqq2QijvmBAZBT7UVUyPcoEHcsEgDiHkG/9icM8Itg3MsnDIh7BP3anzDAL4JxL58wIO4R9Gt/wgC/CMa9/P8BkbcFwMG2HeAAAAAASUVORK5CYII=" + }, + { + "name": "selection", + "offset": [ + 0, + 22 + ], + "scale": [ + 1, + 1 + ], + "opacity": 100, + "visible": true, + "blend_mode": "default", + "width": 47, + "height": 21, + "data_url": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC8AAAAVCAYAAADWxrdnAAAAAXNSR0IArs4c6QAAARdJREFUWEdjZBjCgBHm9hAbq//I/lhz5BhcbrD6b2g7Hhbiy/buBwdwrIUfw+ITmxjY2NkHf8ijO/7UvJkMi1ccYZh5cNXgdzwsPf/6+ROc5kGOV1SSZpB2Dx46jh+smRKfuwZV6P6dOQWlxMPlcOb0HLC7B43j/86bQZTDYR5iTspgHDyOXzKPNMfHJA0ex/9bvYQkxzOFxgwex4OSw7/Na4jyAJNvyOBK88iZ8/+JA1g9wWjhgJLMB02aJ6eoHnU8KNSILaPhRR20rCYnxGF6qBby5JTThBx+ZEInOO3bFJRjdSf1HE9GOY3P8SCHwxyNzEbWQzXHk1NOEwp5QvJUczw55TQhxxGSp6rjYZYRW04TchwheQDts1wWa+NLwQAAAABJRU5ErkJggg==" + } + ], + "relative_path": "../../textures/main.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAACICAYAAABX0u0HAAAAAXNSR0IArs4c6QAAC0xJREFUeF7tXH9sV9UVv+99W2qpa2vGz9E4mUpiCMbNhVXWDRhDVqxgJrpp62aZguPHNFsYS1wkkLHEuTFEgXXRgtJOIvhjWqnoHLA00JEtMRJitrnNmDrCD7Ew29LSL3c599vzdt/93vfuve9Hv+/bft8/79t7zz33nM8595xz73t9VnvbXkoIIbV1Syy444XtV02tctrOn+8hpaUlpLi4yGk7eeIMPyzr95yv11nd3d20oqKCnDt3jsjulmVZ931nFX3q2SddMvgyjqjTeuH5Vnr7nfXSiaHv2mmfZVOh0gBCeXkZuXhxkLWfPdPtK8rsebcQUNCPCAFS0UWks4sNE0wGAra9e7yTeQhcoHRfXz8DAC+VB+gCUFlZOezWBx2sd97uoKAUuDbcz370MZlSNYn9hjbR+vwSAEBUHgBLAHhQSilY2Oseh3V1eFp/PvIWReVRYR4QtDZaXwQFPGB29Relcx3q/AvR8QAdQeOiYdYBEL500zwGBvyNv+EOS4B3fYgBcCEQ4AF5D4AfugAABj6eDttUHoBLIC4LhuWrDDx8EJRNlvcAQBCEFAduLrtj9Pej8RortgMvvpaA/utvqFEaAcaJhrhuerXWOJWHsCxwZdVkRnfi5GkGBP+3DgCTJ45n4z/oOsFA9Pr7b/94n8UO5A/0OgCA8sgTFQJZowCBBTkVSrjexTtaWDUe+2WxxE8JlM0vBgHvMEAoAQAlZ1xzjVTHY++95yqL/YBA14cUCxemVxMAMAPBWB6U0AD4rWEQeOaM6VLdjh477uwNvHjwaRPjCDBDICDVegHHp2WgOfiHNuatmFnEfl1P5OlY7sfani+AsDjq6+nzzfOlZaVOFckXVKAsWh0m5DdQGFdQEK84ICosKqjqh/gGY7z4Qz8LgmgRUBYU4u99Fy6Qb8ypkYL7+sEOUnrZZVljEBSZ4iIjAGlm9dekGyavnSry8OuHkvto5x8ZKRZt4txgcBYDQAhQGpQFhfh7b28/WTy3mo1NlWY2Qem+TDX4+wOdZOzYkqwxwAOuiZPHObtGL/cE62Al6kXjt1nzWz64vHCpiLTQ76y/JTWzXNlgb8dh1mfabroOvfh78TGlV8kTOQCmAkZFH9RQFg783VsHHLDuqV5E0mX/ZX9jO7Tt6nyF3D1vrqsdB40pKfH1GNES/LzIG2iQjyl9ZACAMJXlFeSjdFcWALJ2IFp98z2e9E2HnpemOREA4P3EG7uUAKR6PsXkA1q4ZAYR5fED2BFuoL+fxYCjzU1k1+4OgoKr2r0AEPl4WQj4Iy0PgBd9x/YtFOTzAgB58QaU8UcPywLg9ME28u9/fUhqvv8D1scDMPVzU8iUBbe72sUlgPTIZ3PrbkaCQVV0bQQAeI+fU+fpATjuw/0vUJBv5tLlrAmXjDgvLz8A4MU/kh2VKtImuV+ZBZIsfBSyFQAQ0yBGTK90FAXqSeKRVQeI0TtJwsYhizQN8tE+jkmTxLOQBbyskW560rU5Si1fFTtY4pxesnnJEmS8VKn0002UEEoI1ws/7aUP+ILQsflRBlrNQ2uldH796ebfKM8meUBSgixBx8sBaGmmFrEIJRQOKggdEi3V0KjlBaioaEEvYIAu3dJsBkDDUpcsQcdLFbq0pyVjfhDJYjDAjdgej9GjCGqZOfUv+44Gl+xBx8sBeCXz0gRbAuwXQ4LYi9wvUeiLq0d56dWheRXk9q1yOYKM93Rp2nnQZRGreo6W++up6k8lzo3UujLIxh+78SuMzfXFKZcew6ZUFMCE5fHOxTQd1QDIAHQHkkPHmdvbs6cbe4ZuDkYhhqOu0PEYR1FIXbM+X0fOdH9MxlVe4QsC0IopLWge9hNSVVfoKKiicVkaJ5w29ctkwuLsx9a+hUzIPC4KyoMsA1ylmG6/b8VmUsgEzcO6gsZFZ7zW/QQJkofjUkyXb6QA4KRh87iu8FHQxQJAFIINFw9fALYPpKltW6wkXp6CH5lr8P12li6Lrqq1Hty8k/79tTdZ+4vN3yIPbMm8R3zq7VZ2b3v9WbL0J/sdfbB9wg31rO2Zxxbm1AjSybf0XqS2ZbGdoJ0ihGFgWWRZyrZAeVAcgbj1/hapopVTThE/YBILwK8/GWBbYbC8bRNi2RZZOSZlNQ1eopZNyDI7A0JYD0BvSZQH/LK7n1neToH1CQNgdWmx4yW/HbxElxX9fykACLXz6xkYoqurPADHpFLuzclwrX2cx1Hu0bMXMsrbhPyoIvOkl7+2DaTpijHZwgaNAci7/c3W3MeAn5/uoymbkLWfLjUWJqgHTLtlPosRiQBg46k++vAEc+XBikE9INeKO0tgw4le+sjkscaWH+61Gtd81vr/9NB1nykbvQB4IQtre98bmRwvuxbe3JDz9RuFV3havgDA/HrqF6gAoKQEsjCe4OsBox4AFbIj3gNGBQBYycmUVWUBFUB+/UnxHqsAwNBubtR6gMqNVfUAjM/nokhZAhcAUJTEo8IDVBE7n6tCrSUw6gFQBUroV4GkwyMXNFoeoCNYAYAcH27qGElG41sJ4gC/khizQFABxHHD7UkFAPz2AgUPGELguT1bXR9Agmb+o0h33bEyqhXgZBP+azPAnP8CTWSTDb0KqcUPPEUEQvZlKAAD13FSP53DK6xMg0issyfIx7K4AICW/w89BdZJUfm2LzDygAIAGtVewQPy7IGJ0RLQjRc6S0WXV9x0BQB0EdYpmZFXXnmAiWK6laAuqCZ0cVWXWrtBXlDYGnt9HBWOx+O6EgNAXAqq+Ma1rNg3PlWTJ6E/ri/OZmUBMSbs3PFTl/4Tq67zzRyqj7SuXbPdF0+Vpb+7Zp9jsJ3rvuDwsi6fpJ3RfHeDUQDgp+GIBwC/77VgZopYY29iWNDeI2T/0TT7veXxl0a2B+QdAKLLiyfAqtSGr73zZn384VmkfOCAywPOj5lLHtx4WGr9nb+oJff+uN3VJ2szCca6b6Fn1QFRAIDC71iT+Xpk42MlRKUQgIYA8b9NlOZpcwoAKNC+t4V8cDrz5fkrx48jtUsaPD0ABQeQoMjy8hQTMHICACoAn9Df/fRW8u3vZU6L8TdWkKK7o2IAHIz16k80ACi8KOQ361eQF1u3uZplVuaXiGq56AAxbB4wf9MGHXkC0xzZlPmHLNNrzw7/z30gP+PNkCjIpImTTGUzov+k+FojeiQeNgBwQtUD1HV/OkzWf3WWo4wqvSJhWVl5IAD2vrxdqzS2urq6Qm2G7m9cywTMWwDC7gZ5S6pAQFPqWh/oX21/hqS620i6ss7obo27Tc8Dkg7Avpd+FWgJ6O4OrZNd74ZaAvc2/swloMoLTKzPllbcAASCdwQN0lonI0jfLFUKAKisK8YI1ZGYil/S+hPhAfgmCQ+OrC0O8GIBIJcKmYIUCwAoxHNPZT7KeNd98X+M0VRxZzMUdKBsHP9SFJwBoOIABJwNxPWmVxgdYvUAEKxxxXq6Y9u62OcJCkJiBQuqkOm4xAPAPwkyUU77RMiEaRjaTcf+SX8442pjwAsAcM8CTQyQOA8wEZ6nHRwcpEVFRZbpXXc+xyVXr3yE1i64kbTv/yuB+8JFiy1oQ0ZPbN1g7L66QuSSzjkP4Gt8BANAQOG8zg3yfW8QuVXDPl6P+vm/yrsKAKgQMu0fcR5geh4w4gBQeUAc7xeo5oR+3Tyv4hU6BhQAED7AEMULFiqrFTygsARGUAy4vCrz2XvTS/fxt4pv5EFQNaHYHxaAsNvlnAMQ9vl/zgEI+37BQ6s2mjoNo8cXIHIOQNjH6+l02ui5P74ngM//Tc8JkB5Rd50HQCN/FgC/4YIzAq/zgLAAkJ6TgTxA9/m/inno8wDVBKr+CZVXqEik/VEB8D/+F2GynAAERAAAAABJRU5ErkJggg==" + } + ], + "animations": [ + { + "uuid": "6091b2f7-fca2-51e0-8968-1aaff7836d24", + "name": "ex_skill_1", + "loop": "once", + "override": true, + "length": 9.5, + "snapping": 20, + "selected": false, + "anim_time_update": "", + "blend_weight": "", + "start_delay": "", + "loop_delay": "", + "animators": { + "4ad021e9-2857-4e55-337b-f61da0762800": { + "name": "CameraAnchor", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "160", + "z": "0" + } + ], + "uuid": "aa5e7555-accb-9b1b-c020-2eb41b85413f", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": "170", + "z": 0 + } + ], + "uuid": "147b5394-1d60-79ad-9e80-76def898457d", + "time": 1.5, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 160, + "z": 0 + } + ], + "uuid": "26267598-8d52-2e1f-fd5c-fe7dcd847b57", + "time": 1.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "60", + "y": "-10", + "z": 0 + } + ], + "uuid": "0b637e35-4475-c7f5-aaa2-9c317e566a9a", + "time": 2.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 60, + "y": -10, + "z": 0 + } + ], + "uuid": "bf5c24ed-1223-ee42-2063-60b9fdc47754", + "time": 3.3, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "25", + "y": -10, + "z": 0 + } + ], + "uuid": "0c3e53b8-6630-53d9-7245-38119936a9a8", + "time": 3.75, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.4, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.4, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 22.5, + "y": -10, + "z": 0 + } + ], + "uuid": "3eee27cc-7ea5-74f7-ec47-fe8839feec6a", + "time": 5.45, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.8, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.8, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "180", + "z": 0 + } + ], + "uuid": "f915c334-b2ee-dae2-abf3-99335bdd3860", + "time": 5.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 180, + "z": 0 + } + ], + "uuid": "6141aaab-2e2e-e376-345a-f15e107c4e0b", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 180, + "z": "-5" + } + ], + "uuid": "5832e33c-353b-88ef-c634-70762aab3d48", + "time": 7.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -9, + "y": 24, + "z": -23 + } + ], + "uuid": "dadd5950-6ecf-8e1d-9e5a-c6c0324e2cf0", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -9, + "y": 24, + "z": -23 + } + ], + "uuid": "85917c34-ab26-5005-8c98-33b6e13d8a45", + "time": 0.55, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 4, + "y": 19, + "z": -23 + } + ], + "uuid": "e6ad29fc-b0dd-ff96-1924-870ecc1dfda7", + "time": 0.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 7, + "y": 19, + "z": -23 + } + ], + "uuid": "7918907b-9e49-f4e9-2e55-833093c33e50", + "time": 1.05, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 8.7, + "y": 26, + "z": -28.4 + } + ], + "uuid": "ae474d12-3d38-c35e-4c55-ebd7dbf42cef", + "time": 1.25, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 17.7, + "y": 26, + "z": -32.4 + } + ], + "uuid": "639996f4-9464-ec29-9411-f930b03cad53", + "time": 1.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 17.7, + "y": 26, + "z": -32.4 + } + ], + "uuid": "03743cea-9fea-f718-42ad-a1247dc2bfb3", + "time": 2.65, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 59.7, + "y": 27, + "z": 15.6 + } + ], + "uuid": "7657b069-6d9f-3bec-ebeb-7b31a6b9cf29", + "time": 2.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 59.7, + "y": 27, + "z": 15.6 + } + ], + "uuid": "18c669e7-71dd-775c-9df9-bf8789a8f0e7", + "time": 3.3, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 54.7, + "y": 29, + "z": 23.6 + } + ], + "uuid": "ce032754-09f8-3313-9abf-65e401ef4ac9", + "time": 3.75, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.39667, + -0.40333, + -0.39667 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.39667, + 0.40333, + 0.39667 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 35.9, + "y": 22, + "z": -44.4 + } + ], + "uuid": "388f601c-7789-a9fa-f3cb-94e81fccc8ce", + "time": 5.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 33.9, + "y": 22, + "z": -49.4 + } + ], + "uuid": "f551f837-2ac6-7b57-def7-969bd92d5c41", + "time": 6.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 33.9, + "y": 22, + "z": -49.4 + } + ], + "uuid": "c5d98717-e5a0-b41b-6fa4-29ef0b611ffc", + "time": 7.55, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 33.9, + "y": 22, + "z": -49.4 + } + ], + "uuid": "c6ba3d78-c4c7-b246-7128-b54f6745326a", + "time": 7.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 25.9, + "y": 25, + "z": -43.4 + } + ], + "uuid": "70a889b3-b606-764c-a632-2e76f0f312d7", + "time": 7.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 25.9, + "y": "22.75", + "z": -43.4 + } + ], + "uuid": "2d69422b-66c3-70fa-777e-ce5f9b50c6ff", + "time": 8.1, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e98e96cf-993b-878e-02b8-777c368bb888": { + "name": "Avatar", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -175.01893, + "y": 0.43523, + "z": -184.98107 + } + ], + "uuid": "a0a3a114-8978-48a1-d33d-7bfe12d3c1f4", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -175.04384, + "y": 0.65654, + "z": -187.47072 + } + ], + "uuid": "e6727321-5908-86b6-362e-748827b5995a", + "time": 0.55, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -165, + "y": 0, + "z": -180 + } + ], + "uuid": "c4c8ba72-f5f2-69a8-4ff1-e417be15c5a8", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-180", + "y": "160", + "z": -180 + } + ], + "uuid": "c242cd83-3264-411e-fff1-0f70efb1a3c3", + "time": 1.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -165, + "y": 0, + "z": -180 + } + ], + "uuid": "c0b377b9-b7eb-85da-6e3a-e8f58e644ff7", + "time": 1.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -180, + "y": 160, + "z": -180 + } + ], + "uuid": "571f0433-4174-2a3c-1327-262fcc8532df", + "time": 1.7, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "180", + "z": "0" + } + ], + "uuid": "8509b624-5b41-b315-ae18-64a647076a64", + "time": 2.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 180, + "z": 0 + } + ], + "uuid": "4a46e83f-b1a8-cc10-cdff-a3c73c3aa8de", + "time": 4.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "5", + "y": 180, + "z": 0 + } + ], + "uuid": "fd9a1231-a23d-fd9e-492d-8c21b3ea64e8", + "time": 4.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 5, + "y": "140", + "z": 0 + } + ], + "uuid": "bb8b9cac-e596-c7d3-271d-e9eaf8c13540", + "time": 4.9, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "-40", + "z": 0 + } + ], + "uuid": "a399be96-a117-0a15-46b0-36ee723b0415", + "time": 5.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 36.34458, + "y": -38.33548, + "z": -6.08304 + } + ], + "uuid": "15461980-08c1-c5d6-b820-8a80f5747d61", + "time": 6.6, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.29894, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.29894, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": -40, + "z": 0 + } + ], + "uuid": "43b4261d-80e8-2f51-6677-4878174d5394", + "time": 5.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 31.34, + "y": -38.34, + "z": -6.08 + } + ], + "uuid": "d0df1193-efe3-3c0a-56ef-738d5a5b2a5a", + "time": 7.4, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.29894, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.29894, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 36.34458, + "y": -38.33548, + "z": -6.08304 + } + ], + "uuid": "23ebd66a-dcc3-872d-93aa-8d612c191298", + "time": 7.55, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.29894, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.29894, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 36.34, + "y": -38.34, + "z": -6.08 + } + ], + "uuid": "ebd13e9a-778f-3bf2-f82e-90a2d75f9e1d", + "time": 7.65, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "-12.5", + "z": "0" + } + ], + "uuid": "cbf222fe-889b-3073-b4dc-38888a32424c", + "time": 7.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -22, + "y": -1.75, + "z": -9 + } + ], + "uuid": "9d8dc88f-21a2-b2fa-cd55-08af8e3ca740", + "time": 0, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -22, + "y": -1.75, + "z": -9 + } + ], + "uuid": "e492be1b-f346-9919-1e85-3a82f538a5eb", + "time": 0.55, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -7, + "y": -5.75, + "z": -14 + } + ], + "uuid": "a8b6af78-1d26-fea8-15c8-a3a7bc4b7334", + "time": 0.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 25, + "y": 1, + "z": -9 + } + ], + "uuid": "d6101f6c-22b4-d268-5d06-dbc56e815add", + "time": 1.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": -7, + "y": -5.75, + "z": -14 + } + ], + "uuid": "ea6f52cf-1558-9588-5b46-6c52c35bfe30", + "time": 1.05, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 25, + "y": -1, + "z": -9 + } + ], + "uuid": "b48cb5bc-549f-73c6-dc87-719dc15e0fac", + "time": 1.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 25, + "y": "0", + "z": -9 + } + ], + "uuid": "61dec0cf-bc3b-6060-bb67-c6bb4f769ad6", + "time": 1.85, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 61, + "y": 0, + "z": -8 + } + ], + "uuid": "8f090b2c-2c51-5c1d-c3ac-d3f4be771e44", + "time": 2.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 61, + "y": 0, + "z": -8 + } + ], + "uuid": "7f55ba2a-19d3-baf7-3fa6-65bc3161b76a", + "time": 4.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 61, + "y": -0.75, + "z": -8.75 + } + ], + "uuid": "1cb1d308-3e61-7d07-6882-00b45e80ed95", + "time": 4.7, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 26, + "y": -0.75, + "z": -27.75 + } + ], + "uuid": "9ff7c007-ee1d-d4c0-bf4e-5e18428c408a", + "time": 5.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 23, + "y": 0.25, + "z": -23.75 + } + ], + "uuid": "c853586a-2891-2cff-7cf7-f94bc03761b1", + "time": 6.6, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.30391, + -0.29894, + -0.29894 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.30391, + 0.29894, + 0.29894 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 26, + "y": 0, + "z": -27.75 + } + ], + "uuid": "fa61143b-f23a-98ec-cc00-a4ba711b45ce", + "time": 5.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 23.75, + "y": -0.25, + "z": -24.5 + } + ], + "uuid": "7067c81a-5cda-1459-d0b8-69d200dc2fa5", + "time": 7.4, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.30391, + -0.29894, + -0.29894 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.30391, + 0.29894, + 0.29894 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 23, + "y": 0.25, + "z": -23.75 + } + ], + "uuid": "c11a316b-3aa5-a1c5-7cfc-1cfbaa7f70e1", + "time": 7.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.30391, + -0.29894, + -0.29894 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.30391, + 0.29894, + 0.29894 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 23, + "y": 0.25, + "z": -23.75 + } + ], + "uuid": "a76fb7fc-bd4c-6ce3-b9f0-2723b85add5d", + "time": 7.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 23, + "y": 2.25, + "z": -23.75 + } + ], + "uuid": "f8d040aa-28f8-6302-1c59-e95c628970e7", + "time": 7.9, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.178, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.178, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 23, + "y": -0.75, + "z": -23.75 + } + ], + "uuid": "3b40835e-dea4-d922-0723-34a5d8f4b152", + "time": 8.1, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.029, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.029, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "position", + "data_points": [ + { + "x": 23, + "y": 0, + "z": -23.75 + } + ], + "uuid": "6551ff19-2f60-8d0a-34dc-4239d183513a", + "time": 8.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "22d40862-bd19-a16d-9e33-79364e6656d8": { + "name": "Head", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": 5 + } + ], + "uuid": "569016fe-9dd6-dbb8-847f-ef4f65fa316d", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 5 + } + ], + "uuid": "459c47df-1d69-9a17-fa52-5b43e4bda190", + "time": 0.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 5 + } + ], + "uuid": "6de7d6bb-68cc-414b-882a-549f9d6de453", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -7.5 + } + ], + "uuid": "de1c6f52-8b03-7f26-8f36-83cd8c08f60c", + "time": 1.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 5.63304, + "y": 27.38656, + "z": 2.59775 + } + ], + "uuid": "595266ec-01bb-e05e-cfe0-1deb3a9a7558", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -9.66387, + "y": 28.0693, + "z": 3.61254 + } + ], + "uuid": "46953f4d-4091-612e-ab19-f691f23c422e", + "time": 1.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 4.00422, + "y": 29.92524, + "z": 9.90452 + } + ], + "uuid": "85fbe001-9369-0a3e-ddb0-4c4ca88b7a44", + "time": 1.85, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -5, + "y": -7.5, + "z": 0 + } + ], + "uuid": "e9c433fd-1553-5233-0798-464a239436cd", + "time": 2.7, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 32.97, + "y": 5.32, + "z": -4.93 + } + ], + "uuid": "dad5f620-7e11-0e7e-83c4-a67f231cafb2", + "time": 1.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -5, + "y": -7.5, + "z": 0 + } + ], + "uuid": "8d82e2e3-acfa-1e32-ac9b-304671470d96", + "time": 4.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10, + "y": -7.5, + "z": 0 + } + ], + "uuid": "bf15f0c2-361c-d127-a4a2-b1a1f962a4e7", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10.6665, + "y": -3.2437, + "z": -9.4283 + } + ], + "uuid": "4aa6ace2-ffd3-3357-35fd-c76036d804e0", + "time": 4.9, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -5, + "y": -7.5, + "z": 0 + } + ], + "uuid": "ecb014fb-32e7-3865-5027-6f0bde082075", + "time": 4.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -5, + "y": -7.5, + "z": 0 + } + ], + "uuid": "f7924958-7631-f8f9-ad37-4e81f29bdd88", + "time": 4.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -2.5, + "y": -7.5, + "z": 0 + } + ], + "uuid": "42f09fa8-746a-e2c3-34d6-262910a34864", + "time": 4.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 15.66168, + "y": -14.76769, + "z": -2.57561 + } + ], + "uuid": "0566c340-aba9-f3b9-3a46-18b2958c7917", + "time": 5.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -1.65629, + "y": -2.42435, + "z": -7.43888 + } + ], + "uuid": "b4309a77-26c6-2336-a193-f3ee7b4f4d69", + "time": 6.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -4.16, + "y": -2.42, + "z": -7.44 + } + ], + "uuid": "3ff1f6d3-f3db-dd6a-63a7-a42ec278f9cd", + "time": 7.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 10.84, + "y": -2.42, + "z": -7.44 + } + ], + "uuid": "efd50f14-5391-7905-89ec-f22fa3d1440f", + "time": 7.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 5, + "y": 5, + "z": 0 + } + ], + "uuid": "ddb61384-7c11-e7e3-4188-100b40cb4bf5", + "time": 7.9, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1806, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1806, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 11.93, + "y": -2.42, + "z": -7.44 + } + ], + "uuid": "973a94e6-2ac4-bb14-90b3-3fb82b9f8a06", + "time": 7.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 5, + "z": 0 + } + ], + "uuid": "6962af06-5020-60de-2232-0509dd6ebc04", + "time": 8.1, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1806, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1806, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e54b4f58-a99e-6698-0989-c62bfc95bdf2": { + "name": "RightEar", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "5341730a-956c-2110-7b19-c0852494e430", + "time": 1.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 30 + } + ], + "uuid": "ff2781da-07cd-b44b-3d0f-80e4375af6c9", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 30 + } + ], + "uuid": "e96b7f3a-d222-9e9c-1f90-0d42c27006d1", + "time": 1.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "5" + } + ], + "uuid": "0cbf2eef-efd8-e7fc-ba0e-a5faa6d359e2", + "time": 1.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 5 + } + ], + "uuid": "46911c19-51cf-51ac-e7a4-91e21f94254d", + "time": 4.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 20 + } + ], + "uuid": "432b3e2a-4af1-2500-7eaf-fd59be14077a", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 40 + } + ], + "uuid": "813cf43b-3b44-e196-0bb2-c29732b5e8d4", + "time": 4.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 40 + } + ], + "uuid": "24c5e4be-3bfc-f182-623f-f1d50953d7d5", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "5" + } + ], + "uuid": "ffae8f15-67d9-36b0-459c-ed52a3087433", + "time": 5.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 5 + } + ], + "uuid": "5471a3ea-dd45-bfc8-4f98-2a989f73e1c1", + "time": 5.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 5 + } + ], + "uuid": "40f055e6-5086-e916-4c39-e07b350428d7", + "time": 7.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 25 + } + ], + "uuid": "224768ff-84a4-0a91-9152-6104888d82cc", + "time": 8.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 5 + } + ], + "uuid": "060b5540-f391-9d71-a710-7c0fee5a2564", + "time": 8.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "780cb1dd-fef6-ccda-0ec8-7f962ddc249d": { + "name": "LeftEar", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "7f610b34-1dfc-010e-eb43-0d4dd2d3bdfc", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -2.5 + } + ], + "uuid": "3eba56bd-8e7c-85a1-8c37-43e64f2ca545", + "time": 0.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "97bcfaaf-1a55-f4e1-e8a8-bfe1c999a49b", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "dbfd59fe-d7ac-0244-add2-e61d80229e78", + "time": 1.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "7dfcd91f-7dc8-dcc7-2db0-2e55397f9cf3", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -30 + } + ], + "uuid": "af0fd50d-3a1e-d8b2-c1e2-235fcd7a9cf0", + "time": 1.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-5" + } + ], + "uuid": "d58c467d-5f21-bcf4-7f28-1110bd218f0e", + "time": 1.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -5 + } + ], + "uuid": "bfd0fe5a-8d52-5557-6d79-15ab8cb663f7", + "time": 4.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -20 + } + ], + "uuid": "88e398b0-3f76-917a-a81c-9b964864ada1", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "0" + } + ], + "uuid": "28064fbb-bc9d-2722-ecc1-8e05510dcf48", + "time": 4.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "3a1526b0-6052-6fb7-f348-22c847259204", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -25 + } + ], + "uuid": "b9b08d46-ee08-2baa-8dbd-382c1132dcbc", + "time": 5, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-5" + } + ], + "uuid": "a56a988a-31cb-23a0-9264-66e69f9217b0", + "time": 5.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -5 + } + ], + "uuid": "fac5e70e-f34c-9098-b16a-a3203deefa87", + "time": 7.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": "-25" + } + ], + "uuid": "bbc2e1c8-8762-5f0c-c3cc-39fedbf17927", + "time": 8.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -5 + } + ], + "uuid": "901e40b9-b26d-b220-738d-e345f6150367", + "time": 8.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "a50c740c-18e9-c111-2e15-c5b73ae76ff7": { + "name": "FrontHair", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "07c6549f-0a15-4645-021c-4b3a81ae4036", + "time": 1.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -47.5, + "y": 0, + "z": 0 + } + ], + "uuid": "8d6a1998-6acd-d562-b772-e6dd45567c9d", + "time": 1.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "38f55969-5d33-0d51-6334-75b5c9467037", + "time": 1.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "e401ee4a-217f-c799-6901-fc7116abe715", + "time": 2.5, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -20, + "y": 0, + "z": 0 + } + ], + "uuid": "03c89c5a-68b7-16f2-f61b-b43a29cf765c", + "time": 2.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "9fc26323-b471-15b0-f4cd-d52c22babb36", + "time": 5.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -32.5, + "y": 0, + "z": 0 + } + ], + "uuid": "fc5f0333-49dd-cb9e-5e96-2a47196f4da9", + "time": 6.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -27.5, + "y": 0, + "z": 0 + } + ], + "uuid": "69c8fd00-ae91-16f1-28c6-194eb47dd649", + "time": 7.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -32.5, + "y": 0, + "z": 0 + } + ], + "uuid": "69489062-b9a6-d36d-251e-ff11adffb234", + "time": 7.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30, + "y": 0, + "z": 0 + } + ], + "uuid": "ba14727a-c356-a52f-18f9-b11263d5435d", + "time": 7.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "2b16db19-132b-1ab1-98a4-168b548cf2ab", + "time": 7.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "e70d864d-871a-c524-2fd2-e6e213eaa373", + "time": 7.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30, + "y": 0, + "z": 0 + } + ], + "uuid": "c876688d-323f-fef0-afdf-5e2716ca80c4", + "time": 8.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "fcafeacc-ff39-c037-13d4-71bac2727f6d", + "time": 8.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3a343ce8-08fb-dfa7-5627-9c13ceef9b99": { + "name": "BackHair", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "b2b799a3-4107-f74d-be6b-776eefd3a975", + "time": 1.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 47.5, + "y": 0, + "z": 0 + } + ], + "uuid": "666085f3-12d7-f22b-ab2f-43b565555e72", + "time": 1.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "bf8e9742-9302-7a66-a77d-7159206f8805", + "time": 1.85, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 17.5, + "y": 0, + "z": 0 + } + ], + "uuid": "5486da7f-26d9-bb6f-1b44-8957072acdeb", + "time": 2.15, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "422310ca-529e-e99b-ccd1-d7d9f5084efa", + "time": 2.5, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "15c8a282-4c23-a3eb-6951-b0f8fa31b3db", + "time": 7.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "30", + "y": 0, + "z": 0 + } + ], + "uuid": "fdcf4948-58ba-843f-9576-fedb085c3668", + "time": 8.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "acbfc1d5-38fe-4ecb-f835-9997daf81641", + "time": 8.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "6e77fbfa-015d-6ce5-e997-ab2454e5fd7c": { + "name": "Skirt", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -4.98107, + "y": -0.43523, + "z": -4.98107 + } + ], + "uuid": "c0a31dec-71b6-f023-cc1e-d96c77bdb9c2", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -4.92294, + "y": -0.87183, + "z": -9.96166 + } + ], + "uuid": "fdaef035-c490-61e2-fc93-404dc87daf00", + "time": 0.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": "0", + "z": "0" + } + ], + "uuid": "8f826205-d0b5-da65-47ab-4b5e3c13b15f", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "76d04992-d57d-36f2-3bf7-02fb7742b000", + "time": 1.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": "0", + "z": "0" + } + ], + "uuid": "da232f78-6c68-cadf-a7f9-510f473d9d7d", + "time": 1.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "6e279061-3e30-6130-e265-0382f792cf5c", + "time": 4.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": 0, + "z": 0 + } + ], + "uuid": "4c7e5229-bb3c-276c-79b5-967ce422f933", + "time": 4.7, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "8c9a82f7-75ae-1c2f-7043-b4ae9178ffdb", + "time": 5.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -39.93745, + "y": 1.50179, + "z": 4.76968 + } + ], + "uuid": "a40390fa-91f9-0e65-292f-ad9dbc1a203d", + "time": 6.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "a2c49056-d398-91d3-aba2-9e20646649ee", + "time": 5.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -34.94, + "y": 1.5, + "z": 4.77 + } + ], + "uuid": "b7e14a13-ec50-f2e7-12d8-4d1612fa2818", + "time": 7.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -39.93745, + "y": 1.50179, + "z": 4.76968 + } + ], + "uuid": "4a82665f-1d8e-f1e1-bfdc-ac6baa020d42", + "time": 7.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "21c8af03-99ad-5ae5-a9e5-5bce29c101d0", + "time": 7.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "444505ac-8415-201b-cd47-2332aa0982d7", + "time": 0.55, + "color": -1, + "uniform": true, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1.2", + "y": "0.7", + "z": "1.2" + } + ], + "uuid": "5d3f51fe-a1f2-357d-ff6b-f676abd96ae3", + "time": 0.75, + "color": -1, + "uniform": false, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1", + "y": "1", + "z": "1" + } + ], + "uuid": "79e2c635-a4c4-b9ef-cd68-83a5e68ac48d", + "time": 1.5, + "color": -1, + "uniform": false, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1.2", + "y": "0.7", + "z": "1.2" + } + ], + "uuid": "e3d834c4-ff3c-4e0d-f0af-4845d19ade77", + "time": 1.05, + "color": -1, + "uniform": false, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 1, + "y": 1, + "z": 1 + } + ], + "uuid": "8b035db9-3db4-30bf-7268-311271d37e2f", + "time": 5.8, + "color": -1, + "uniform": false, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 1, + "y": 1, + "z": "1.05" + } + ], + "uuid": "bb72cd41-6736-f090-1aed-36f833cb8f95", + "time": 6.6, + "color": -1, + "uniform": false, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": 1, + "y": 1, + "z": 1.05 + } + ], + "uuid": "60b28cf2-ee9c-44c2-b2de-02dc591753aa", + "time": 7.65, + "color": -1, + "uniform": false, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "scale", + "data_points": [ + { + "x": "1.1", + "y": 1, + "z": "1" + } + ], + "uuid": "16335ae4-f822-bd98-2215-714586064f87", + "time": 7.9, + "color": -1, + "uniform": false, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "3c1cb66d-8a31-d31f-ec9f-65a33e313a53": { + "name": "RightArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -39.89247, + "y": 3.21154, + "z": 3.83424 + } + ], + "uuid": "33d6a7e2-fa36-63c3-f093-c280f40275b7", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -39.32466, + "y": 7.9972, + "z": 9.63846 + } + ], + "uuid": "7b71e92a-d49d-289a-b984-45ae4e3f91f9", + "time": 0.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -82.14048, + "y": 17.34551, + "z": 2.35666 + } + ], + "uuid": "411b0074-348a-be40-792b-05962d2118ea", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -52.14, + "y": 17.35, + "z": 2.36 + } + ], + "uuid": "ed206b67-8422-7835-b1bb-aae105e062d8", + "time": 1.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -122.5, + "y": 82.5, + "z": 0 + } + ], + "uuid": "086003e1-f9b3-d572-2904-b0d067966c85", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -100, + "y": 82.5, + "z": 0 + } + ], + "uuid": "28e8ce10-6ebd-3649-a36f-795655bbe2af", + "time": 1.7, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -59.99998, + "y": "60", + "z": 1e-05 + } + ], + "uuid": "55d2eeb4-8618-6487-2ab4-5ef4faa11330", + "time": 2.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -60, + "y": 60, + "z": 0 + } + ], + "uuid": "e56895a3-ad6d-428f-4cd1-9745b20e0354", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -85, + "y": 60, + "z": 0 + } + ], + "uuid": "ad45e1b9-dd77-783a-9aad-662141c78e47", + "time": 4.9, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -80, + "y": 60, + "z": 0 + } + ], + "uuid": "50146b4f-de26-e851-50b1-563fb9d1a76f", + "time": 5.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -85.93, + "y": 60, + "z": 0 + } + ], + "uuid": "59075d0d-eac2-5d97-0412-e2c718287071", + "time": 5.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -48.54624, + "y": -10.49144, + "z": 0.47566 + } + ], + "uuid": "b34cd46a-aff5-4831-bed5-0a34a782b6fd", + "time": 6.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -48.55, + "y": -10.49, + "z": 0.48 + } + ], + "uuid": "f90fe13b-e4d0-228b-d203-2044ef8d9fb4", + "time": 7.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -360, + "y": 90, + "z": "-205" + } + ], + "uuid": "5d8eaf1e-f77a-12eb-4529-5eaf2144a7fd", + "time": 7.9, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.18469 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.18469 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -360, + "y": 90, + "z": -242.5 + } + ], + "uuid": "d3502f4e-82fc-195c-31de-4b5eda2ad4b2", + "time": 8.1, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.02962 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.02962 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -360, + "y": 90, + "z": -237.5 + } + ], + "uuid": "e8745a29-94c7-471f-6ce2-180f9c8db2e2", + "time": 8.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "71f0a15a-0345-e476-c7f3-d478ddc21bb1": { + "name": "RightSleeve", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": "0", + "z": "0" + } + ], + "uuid": "e2f9e5e2-0ce8-382c-a24c-eecd72a1af15", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 0, + "z": 0 + } + ], + "uuid": "a564b0fa-d42c-2d85-1781-dd5213543d4d", + "time": 0.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -22.57734, + "y": 4.61854, + "z": -1.91757 + } + ], + "uuid": "ed89452a-eb5f-e737-dc18-58ce5c4c6c14", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -34.95104, + "y": 0.52416, + "z": 0.95127 + } + ], + "uuid": "7da47c4d-ad28-2f42-dde9-7484caea346c", + "time": 1.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "edb05f70-5824-858d-bfcb-24031db2fd60", + "time": 1.5, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30, + "y": 0, + "z": 0 + } + ], + "uuid": "299ff388-32b4-3033-7404-ef525ef4da1c", + "time": 2.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30, + "y": 0, + "z": 0 + } + ], + "uuid": "3b85197a-dbe3-1ac8-e3cf-9922d397b1d9", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -25, + "y": 0, + "z": 0 + } + ], + "uuid": "c7c9b180-6e64-b9a3-7f1e-e0a95a53eb8b", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -25, + "y": 0, + "z": 0 + } + ], + "uuid": "e1b13181-ece7-55a2-8866-43e8552dd7b1", + "time": 7.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1806, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1806, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 30, + "y": 0, + "z": 0 + } + ], + "uuid": "32daddfb-b8ab-fce7-e94d-bdcb6f5bd504", + "time": 7.9, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.1806, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1806, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "27.5", + "y": 0, + "z": 0 + } + ], + "uuid": "f2a45287-564d-a9c3-e72b-895520de55a1", + "time": 8.1, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.03039, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.03039, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "b924539e-1292-1a17-6240-a525ae346090": { + "name": "RightArmBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -35, + "y": "0", + "z": "0" + } + ], + "uuid": "ee730d20-3ed4-61f4-2d1b-3ac4399e4536", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30, + "y": 0, + "z": 0 + } + ], + "uuid": "030628b9-85c7-24e7-d434-2fc3a47403c6", + "time": 0.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": 0, + "z": 0 + } + ], + "uuid": "dac6389c-63f3-5680-8d54-b2b56b6017cc", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": 0, + "z": 0 + } + ], + "uuid": "0fd665e1-f77c-e344-0257-0c305cab5fa6", + "time": 1.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "4f697c33-a936-c37a-0edc-eb9c4022d812", + "time": 1.5, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": 0, + "z": 0 + } + ], + "uuid": "de782469-8e32-328f-20a2-da39730e9153", + "time": 2.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": 0, + "z": 0 + } + ], + "uuid": "2f56a77c-ff7a-c68b-2383-d46122be84b9", + "time": 4.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": 0, + "z": 0 + } + ], + "uuid": "4bae78a9-9e9d-dfb6-e0dd-8c736b379232", + "time": 4.45, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -52.5, + "y": 0, + "z": 0 + } + ], + "uuid": "174389cf-1e53-b6f5-f656-e526a6a8d5b6", + "time": 4.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": 0, + "z": 0 + } + ], + "uuid": "d7d79f72-970e-bdcf-a140-cecaccaff877", + "time": 5.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -45, + "y": 0, + "z": 0 + } + ], + "uuid": "df4e09c6-7dfc-6f29-f4fb-c9520dda043d", + "time": 5.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -45, + "y": 0, + "z": 0 + } + ], + "uuid": "05e1f8f7-a874-55a7-1815-766fe1c78953", + "time": 7.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "a82fc9d3-a925-ffc4-b951-001285f72dfa", + "time": 7.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "e7d3e5d8-00e4-587c-7bb6-6787db00054b": { + "name": "LeftArm", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -44.06852, + "y": 19.90349, + "z": 19.37626 + } + ], + "uuid": "582b80be-9784-0452-3854-6b208acad757", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -42.62825, + "y": 23.33363, + "z": 23.29051 + } + ], + "uuid": "280429a1-56b4-b53d-78ba-455235f720fa", + "time": 0.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -37.39092, + "y": -3.69197, + "z": -3.3782 + } + ], + "uuid": "9071da40-c456-2b5a-b234-11fe3ab59c65", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -72.39, + "y": -3.69, + "z": -3.38 + } + ], + "uuid": "413fc2a4-937e-abdd-8bd9-b37b0964c316", + "time": 1.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 40, + "y": 75, + "z": 0 + } + ], + "uuid": "d33e2441-c758-c7b9-62e0-19e4266c7ff5", + "time": 1.5, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -60, + "y": -60, + "z": 0 + } + ], + "uuid": "0afacf5d-e6a9-246e-2f92-20059babf743", + "time": 2.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.5, + "y": -60, + "z": 0 + } + ], + "uuid": "4d7b5ae3-e151-7a3e-80af-c58f0ef0bea3", + "time": 4.9, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -60, + "y": -60, + "z": 0 + } + ], + "uuid": "2ecf2718-5b94-2037-6673-7a67c3ff80fb", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -77.5, + "y": -60, + "z": 0 + } + ], + "uuid": "03ed3539-88b4-2bd9-7105-569bbbaed0b6", + "time": 5.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -80, + "y": -60, + "z": 0 + } + ], + "uuid": "e75432cb-801f-0bef-8e55-460ed929b032", + "time": 5.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -80, + "y": -60, + "z": 0 + } + ], + "uuid": "e25b383a-dd16-cee0-811f-dbd9fbe8d49f", + "time": 7.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -87.5, + "y": -60, + "z": 0 + } + ], + "uuid": "c3beb524-9488-df26-9a11-1977f12f4256", + "time": 7.9, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.17694, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.17694, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -105, + "y": -60, + "z": 0 + } + ], + "uuid": "9babcdca-30b0-4f59-5b68-5170c83400a9", + "time": 8.1, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.03039, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.03039, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "a6142793-0f0f-c3da-d83c-b9f0981e026c": { + "name": "LeftSleeve", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -2.5, + "y": "0", + "z": "0" + } + ], + "uuid": "28594fe3-df85-2d8e-d7ec-a4164cac47b6", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -2.5, + "y": 0, + "z": 0 + } + ], + "uuid": "c79158e9-eda7-6ffd-cef7-1284e904d2e8", + "time": 0.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -25, + "y": 0, + "z": 0 + } + ], + "uuid": "3a8c007b-b0d1-7a28-2dbd-4c758b7b2d6e", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30.09468, + "y": -4.32875, + "z": 2.50477 + } + ], + "uuid": "f4506098-25d2-def9-b3df-b951f68ddf84", + "time": 1.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -49.98246, + "y": -3.83326, + "z": -3.21271 + } + ], + "uuid": "1bdda830-893a-9929-62ef-d72e19d51bff", + "time": 1.5, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30, + "y": 0, + "z": 0 + } + ], + "uuid": "a9243e75-8bf9-aebf-c017-d90bc9fd3a82", + "time": 2.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30, + "y": 0, + "z": 0 + } + ], + "uuid": "000155b1-7c75-4a4d-db33-0c971ffd52b7", + "time": 4.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -22.5, + "y": 0, + "z": 0 + } + ], + "uuid": "d4b0e26c-1d70-ff63-71b6-da0045e82a59", + "time": 4.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -22.5, + "y": 0, + "z": 0 + } + ], + "uuid": "987d1521-3eb0-31df-7b7e-784ff6011598", + "time": 7.9, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.17694, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.17694, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 12.5, + "y": 0, + "z": 0 + } + ], + "uuid": "3df15757-d8eb-0e59-8cf4-c3aed9969761", + "time": 8.1, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.03039, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.03039, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ad1c45ef-c0a8-6d31-d2dc-fbdc6ab7ddcc": { + "name": "LeftArmBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -7.5, + "y": "0", + "z": "0" + } + ], + "uuid": "6979e4f7-1fab-6162-c40a-9faacd12b0b9", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -7.5, + "y": 0, + "z": 0 + } + ], + "uuid": "6f5ccedf-09a0-65f0-5b2b-28b2be83c5f2", + "time": 0.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -37.5, + "y": 0, + "z": 0 + } + ], + "uuid": "9567c79a-3732-ad70-fede-6c5b6aa466b9", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -40, + "y": 0, + "z": 0 + } + ], + "uuid": "fc3a54f5-9715-9a46-c35f-4c02cfe96d7f", + "time": 1.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -72.24687, + "y": -9.53274, + "z": -3.03513 + } + ], + "uuid": "2aa1cfa2-8c83-385f-1200-f8108aa993ad", + "time": 1.5, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-50", + "y": "0", + "z": "0" + } + ], + "uuid": "68378a6c-383f-587d-adf2-9c90220e8db2", + "time": 2.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": 0, + "z": 0 + } + ], + "uuid": "d9df9787-31a1-3e7b-7158-c27db07c5acf", + "time": 4.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50.02686, + "y": 1.60667, + "z": -1.91561 + } + ], + "uuid": "772ee8a8-c4ac-3cc2-f6de-6bea9b5476e2", + "time": 4.25, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": 0, + "z": 0 + } + ], + "uuid": "12350172-fe7a-06d6-323c-b0d4a8ccc028", + "time": 4.45, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -50, + "y": 0, + "z": 0 + } + ], + "uuid": "45a4b383-7410-db18-11e3-963bccebb69c", + "time": 7.9, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.18426, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.18426, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "cdc4af2c-a85e-9b80-5dac-2e5ee6a53566", + "time": 8.1, + "color": -1, + "interpolation": "bezier", + "bezier_linked": true, + "bezier_left_time": [ + -0.03406, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.03406, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "2f61e368-1c06-648e-26d4-aee94647e4da": { + "name": "LowerBody", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -4.98107, + "y": -0.43523, + "z": -4.98107 + } + ], + "uuid": "253131f6-6ac5-9562-7e95-7df73ad7a28c", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -4.98, + "y": -0.44, + "z": -4.98 + } + ], + "uuid": "4dd38a4b-fa4f-a683-0dff-5aeb82cba1d7", + "time": 0.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "0064f260-9a84-b089-db7d-3e543f398d77", + "time": 0.75, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "5978f944-3557-75b5-361e-bd5c6fcfb590", + "time": 4.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -5, + "y": 0, + "z": 0 + } + ], + "uuid": "b0b2d62c-32d6-048a-ab2e-cfcd4c62b324", + "time": 4.7, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "ba51bb39-f183-6571-ab28-9f759b2abc75", + "time": 5.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -32.4299, + "y": 1.70818, + "z": 4.69986 + } + ], + "uuid": "e1c468fd-9a1e-b17a-b9f8-964f8eeb3c48", + "time": 6.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "3b157f5b-5eac-7edd-3624-40d3567b2fcc", + "time": 5.8, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -27.43, + "y": 1.71, + "z": 4.7 + } + ], + "uuid": "ea3826d0-fed9-bdf8-5d41-5b748187dbfb", + "time": 7.4, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -27.43, + "y": 1.71, + "z": 4.7 + } + ], + "uuid": "bb3a5ce1-f67d-0cdf-c604-92073b3f01e0", + "time": 7.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": "0", + "z": "0" + } + ], + "uuid": "d9ce468b-34d5-0551-959f-98374444f817", + "time": 7.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "4e80b5b4-7c04-8374-f8a7-526b3d36d050": { + "name": "RightLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": "0", + "z": "2.5" + } + ], + "uuid": "5fc1ea81-751a-2a37-fc21-dba7dec62de7", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -57.5, + "y": 0, + "z": 2.5 + } + ], + "uuid": "4e156df4-f2af-8589-9c99-e31fb8faee7e", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": "0", + "z": "2.5" + } + ], + "uuid": "af21e54f-97dd-59e5-0571-54cf62252ebb", + "time": 0.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 2.5 + } + ], + "uuid": "cb9a5ed8-7fc3-6789-8e94-b7fd84e8d4c2", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -57.5, + "y": 0, + "z": 2.5 + } + ], + "uuid": "38203079-636e-cdc9-d90f-11c68f910cac", + "time": 1.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-10", + "y": 0, + "z": 2.5 + } + ], + "uuid": "853ba999-4ef5-09be-fb0b-bf974de334be", + "time": 1.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 2.5 + } + ], + "uuid": "5cebdad4-8ee6-33b4-c8ce-668ff5a32bf6", + "time": 1.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 2.5 + } + ], + "uuid": "f14be453-efb7-3a88-4e87-930be35d9d07", + "time": 4.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 0, + "z": 2.5 + } + ], + "uuid": "daee2497-3497-5986-f54d-3bb25de4c5f8", + "time": 4.7, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 2.5 + } + ], + "uuid": "fb73f36e-75ef-440f-cbbe-87c1e10dae53", + "time": 5.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 2.5 + } + ], + "uuid": "eb320a94-b4b4-fc0f-8cf1-bb1753bac757", + "time": 5.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30, + "y": 0, + "z": 2.5 + } + ], + "uuid": "dc1fd330-2e4d-75dc-8be2-cbd68a664a17", + "time": 6.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30, + "y": 0, + "z": 2.5 + } + ], + "uuid": "f16a594b-8afd-eeb2-5574-0498a4fac712", + "time": 7.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 7.5 + } + ], + "uuid": "5ff03974-4ec3-506a-13b5-ad2950177a1b", + "time": 7.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": 0, + "z": 2.5 + } + ], + "uuid": "ff18e8c7-bb36-740a-fcc2-8eb5a03059a8", + "time": 8.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 2.5 + } + ], + "uuid": "16e73540-8493-6a6c-2951-1a56b3807ba4", + "time": 8.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "84fe0b3a-286b-e17f-288e-c39feaa2e5e6": { + "name": "RightLegBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 35, + "y": "0", + "z": "0" + } + ], + "uuid": "486b667d-0a2c-e376-a6e8-61fa0282b143", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 35, + "y": 0, + "z": 0 + } + ], + "uuid": "c4f1a793-07bd-721c-e91f-8d499a25451e", + "time": 0.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 132.5, + "y": 0, + "z": 0 + } + ], + "uuid": "4a103571-4b74-9536-7f3a-edb7138da004", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 132.5, + "y": 0, + "z": 0 + } + ], + "uuid": "6ca76bb0-5e09-45ab-7611-f44b181e0f56", + "time": 1.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "fe9e627c-f98e-8a44-c88f-b3f86d47e368", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "20", + "y": 0, + "z": 0 + } + ], + "uuid": "68de91a9-9c63-b7e8-876c-2ab901236af6", + "time": 1.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "0a1d3bda-5b45-9425-4291-4857a55d4fec", + "time": 1.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "c0d5ae0f-fe67-c3be-047f-aa0a6cd7af06", + "time": 4.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 35, + "y": 0, + "z": 0 + } + ], + "uuid": "f0738fa0-679a-4f84-b821-1244ed7a1c67", + "time": 4.7, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "77c2ef52-ecb3-7c74-36af-7c8069098444", + "time": 5.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 55, + "y": 0, + "z": 0 + } + ], + "uuid": "5482dd7e-708e-dbb5-cb51-9cb2fbc772e9", + "time": 6.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "7741c97b-ad8d-dd23-1914-6a576619ac27", + "time": 5.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 55, + "y": 0, + "z": 0 + } + ], + "uuid": "3bde3c44-add2-598f-5b1a-ab5fb4abf88d", + "time": 7.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "dfdeb904-cc59-aafa-1a7b-96a920fc116a", + "time": 7.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "20", + "y": 0, + "z": 0 + } + ], + "uuid": "2798c9c0-18e9-fa5f-3641-ce34fdd67b33", + "time": 8.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "90e47426-1a3f-f7d3-9b15-dfc64796c6ee", + "time": 8.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "73b3d6bc-af0b-a066-5d73-f3938109e11f": { + "name": "LeftLeg", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": "0", + "z": "-2.5" + } + ], + "uuid": "afc083a9-2be2-e92c-daf4-45e15193b4e0", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -57.5, + "y": 0, + "z": -2.5 + } + ], + "uuid": "fb0a48a1-0757-8a87-92b8-d59d1312c190", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": "0", + "z": "-2.5" + } + ], + "uuid": "bebf3117-5610-ca46-f4db-40d54e632381", + "time": 0.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -57.5, + "y": 0, + "z": -2.5 + } + ], + "uuid": "6f36d474-e261-67c0-b889-867adc972dbe", + "time": 1.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": -2.5 + } + ], + "uuid": "7bf20adf-3436-26ca-cd11-143a3addc77e", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "-10", + "y": 0, + "z": -2.5 + } + ], + "uuid": "0dda1d65-791d-9714-10cf-1de684fed687", + "time": 1.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": -2.5 + } + ], + "uuid": "eeb11dc6-1b6d-4e87-daf1-28e823d3b0c7", + "time": 1.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -2.5 + } + ], + "uuid": "c45e48fc-e0bd-b16e-d7fc-7eb2b4e2ce45", + "time": 4.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -15, + "y": 0, + "z": -2.5 + } + ], + "uuid": "ed73f251-ea23-7ede-563e-ad8d3ee06b14", + "time": 4.7, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": -2.5 + } + ], + "uuid": "dd056444-9d0e-9e57-c04b-0dc74d6e8aca", + "time": 5.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": -2.5 + } + ], + "uuid": "9e2c7aee-0645-f973-4f4b-2f358f80fc3f", + "time": 5.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30, + "y": 0, + "z": -2.5 + } + ], + "uuid": "f8e3c6bd-4929-9c0f-4dab-aee0806e6fd1", + "time": 6.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -30, + "y": 0, + "z": -2.5 + } + ], + "uuid": "b918705f-00b4-80a3-e36d-c8fa390b9a32", + "time": 7.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": -7.5 + } + ], + "uuid": "122cf484-a337-a8e4-2957-7460c0f01dad", + "time": 7.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": -10, + "y": 0, + "z": -2.5 + } + ], + "uuid": "7c0682b5-a4c4-1655-85ba-3a4b3e8a7410", + "time": 8.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": -2.5 + } + ], + "uuid": "936cadfa-8c09-431f-567e-dc8e033bbb43", + "time": 8.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + }, + "ee9973d4-ff4e-c96b-64f6-d1f28afd69c6": { + "name": "LeftLegBottom", + "type": "bone", + "keyframes": [ + { + "channel": "rotation", + "data_points": [ + { + "x": 35, + "y": "0", + "z": "0" + } + ], + "uuid": "58e7850e-3f64-5cab-ca7a-5654eae8e0db", + "time": 0, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 34.0724, + "y": 8.53726, + "z": -12.37961 + } + ], + "uuid": "0dcd1f62-e7e9-dd8e-7247-5ce35cfcea84", + "time": 0.55, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 132.5, + "y": "0", + "z": "0" + } + ], + "uuid": "15f42fad-8cda-6d87-20f2-6bad3896603f", + "time": 0.75, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "be96e4b3-374e-183c-eca8-0c366901a815", + "time": 1.5, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 132.5, + "y": 0, + "z": 0 + } + ], + "uuid": "4de04e2f-4da2-3447-c7ee-0a1b8731a481", + "time": 1.05, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "20", + "y": 0, + "z": 0 + } + ], + "uuid": "e2b21050-5980-aa92-4188-107047ee728e", + "time": 1.7, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "6db06572-8333-f433-aafd-865e185d2a13", + "time": 1.85, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "ad161e19-d6e9-bad7-e1f4-4ff74963cfb5", + "time": 4.6, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 35, + "y": 0, + "z": 0 + } + ], + "uuid": "db72edb6-e8d2-1dea-feb7-459d09068aec", + "time": 4.7, + "color": -1, + "interpolation": "step", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "6a0d8ac0-96e9-9773-81d5-376375352080", + "time": 5.5, + "color": -1, + "interpolation": "linear", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 0, + "y": 0, + "z": 0 + } + ], + "uuid": "e26d6407-d3ac-b101-70ef-63065035a95e", + "time": 5.8, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 55, + "y": 0, + "z": 0 + } + ], + "uuid": "302f737a-034f-0af5-5160-992e3df76de8", + "time": 6.6, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": 55, + "y": 0, + "z": 0 + } + ], + "uuid": "ae718bf9-d52b-7130-b378-74e326972b11", + "time": 7.65, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "d85a5151-1d4f-39ac-b543-e7f147bd4610", + "time": 7.9, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "20", + "y": 0, + "z": 0 + } + ], + "uuid": "a9560d5f-e27d-f9da-85ce-431b9149b04b", + "time": 8.1, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + }, + { + "channel": "rotation", + "data_points": [ + { + "x": "0", + "y": 0, + "z": 0 + } + ], + "uuid": "0d052e87-caae-7ade-2f13-358ebf0c6b6e", + "time": 8.2, + "color": -1, + "interpolation": "catmullrom", + "bezier_linked": true, + "bezier_left_time": [ + -0.1, + -0.1, + -0.1 + ], + "bezier_left_value": [ + 0, + 0, + 0 + ], + "bezier_right_time": [ + 0.1, + 0.1, + 0.1 + ], + "bezier_right_value": [ + 0, + 0, + 0 + ] + } + ] + } + } + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Umika/models/placement_object.bbmodel b/config/yosbr/config/figura/avatars/Umika/models/placement_object.bbmodel new file mode 100644 index 0000000..b07b1c6 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/models/placement_object.bbmodel @@ -0,0 +1,8263 @@ +{ + "meta": { + "format_version": "4.9", + "model_format": "free", + "box_uv": false + }, + "name": "placement_object", + "model_identifier": "", + "visible_box": [ + 1, + 1, + 0 + ], + "variable_placeholders": "", + "variable_placeholder_buttons": [], + "timeline_setups": [], + "unhandled_root_fields": {}, + "resolution": { + "width": 256, + "height": 256 + }, + "elements": [ + { + "name": "WheelShaft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16, + 8.5, + -12 + ], + "to": [ + 16, + 10.5, + -10 + ], + "autouv": 0, + "color": 0, + "origin": [ + -24, + 8, + -12 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d350c919-8b18-b756-3dbe-8b9e9d90abbc" + }, + { + "name": "RightWheelPart1Frame", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -17.5, + 0, + -15 + ], + "to": [ + -15.5, + 2, + -7 + ], + "autouv": 0, + "color": 0, + "origin": [ + -17.5, + 0, + -15 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 1, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 1, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "04dece7d-8004-d2b2-f919-71b2ba787777" + }, + { + "name": "RightWheelPart1Shaft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -17, + 2, + -11.5 + ], + "to": [ + -16, + 8.5, + -10.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -17.5, + 0, + -15 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "19baeb58-1cb7-aa57-7bd6-3cf39b2d2a14" + }, + { + "name": "RightWheelPart2Frame", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -17.49, + 0.01, + -14.99 + ], + "to": [ + -15.51, + 1.99, + -7.01 + ], + "autouv": 0, + "color": 0, + "inflate": -0.01, + "origin": [ + -17.5, + 0, + -15 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 2, + 1, + 5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 2, + 1, + 5 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "df762a90-b691-3a23-5d7f-cbaea8b64a7b" + }, + { + "name": "RightWheelPart2Shaft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -17, + 2, + -11.5 + ], + "to": [ + -16, + 8.5, + -10.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -17.5, + 0, + -15 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "aa33a474-6378-5662-d555-249115614052" + }, + { + "name": "RightWheelPart3Frame", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -17.5, + 0, + -15 + ], + "to": [ + -15.5, + 2, + -7 + ], + "autouv": 0, + "color": 0, + "origin": [ + -17.5, + 0, + -15 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 1, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 1, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f6d482e9-a769-b53b-b7f5-beecd642da67" + }, + { + "name": "RightWheelPart3Shaft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -17, + 2, + -11.5 + ], + "to": [ + -16, + 8.5, + -10.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -17.5, + 0, + -15 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ca3ffb33-ebd0-0891-5d09-04473c7c4811" + }, + { + "name": "RightWheelPart4Frame", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -17.499, + 0.001, + -14.999 + ], + "to": [ + -15.501, + 1.999, + -7.001 + ], + "autouv": 0, + "color": 0, + "inflate": -0.001, + "origin": [ + -17.5, + 0, + -15 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 2, + 1, + 5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 2, + 1, + 5 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8dfb05fa-ef4a-c559-2cb9-9d7b7fc8b93d" + }, + { + "name": "RightWheelPart4Shaft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -17, + 2, + -11.5 + ], + "to": [ + -16, + 8.5, + -10.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -17.5, + 0, + -15 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "21754227-e287-5454-0966-9ffc3f12e2fd" + }, + { + "name": "RightWheelPart5Frame", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -17.5, + 0, + -15 + ], + "to": [ + -15.5, + 2, + -7 + ], + "autouv": 0, + "color": 0, + "origin": [ + -17.5, + 0, + -15 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 1, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 1, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "f25c5eaa-c874-71d6-78f3-029d8990d7ed" + }, + { + "name": "RightWheelPart5Shaft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -17, + 2, + -11.5 + ], + "to": [ + -16, + 8.5, + -10.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -17.5, + 0, + -15 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "154039ea-4a45-cb3b-aad1-776b64920513" + }, + { + "name": "RightWheelPart6Frame", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -17.499, + 0.001, + -14.999 + ], + "to": [ + -15.501, + 1.999, + -7.001 + ], + "autouv": 0, + "color": 0, + "inflate": -0.001, + "origin": [ + -17.5, + 0, + -15 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 2, + 1, + 5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 2, + 1, + 5 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "400268c1-7de2-5aa0-32a7-832677f19ac3" + }, + { + "name": "RightWheelPart6Shaft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16.999, + 2.001, + -11.499 + ], + "to": [ + -16.001, + 8.499, + -10.501 + ], + "autouv": 0, + "color": 0, + "inflate": -0.001, + "origin": [ + -17.5, + 0, + -15 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e949ffee-626a-f263-a7a9-e6b1b4f1e6db" + }, + { + "name": "RightWheelPart7Frame", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -17.5, + 0, + -15 + ], + "to": [ + -15.5, + 2, + -7 + ], + "autouv": 0, + "color": 0, + "origin": [ + -17.5, + 0, + -15 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 1, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 1, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "fe63c513-eadc-96b2-8e63-8d292b90c9c8" + }, + { + "name": "RightWheelPart7Shaft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -17, + 2, + -11.5 + ], + "to": [ + -16, + 8.5, + -10.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + -17.5, + 0, + -15 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "546d23f6-5191-c18f-257e-47bacceab8a4" + }, + { + "name": "RightWheelPart8Frame", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -17.499, + 0.001, + -14.999 + ], + "to": [ + -15.501, + 1.999, + -7.001 + ], + "autouv": 0, + "color": 0, + "inflate": -0.001, + "origin": [ + -17.5, + 0, + -15 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 2, + 1, + 5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 2, + 1, + 5 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 1, + 1, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "354a1a16-79f1-3ebf-4284-a399313b3ec3" + }, + { + "name": "RightWheelPart8Shaft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -16.999, + 2.001, + -11.499 + ], + "to": [ + -16.001, + 8.499, + -10.501 + ], + "autouv": 0, + "color": 0, + "inflate": -0.001, + "origin": [ + -17.5, + 0, + -15 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "578c1a45-218a-4e19-0ad2-ca34db61a90d" + }, + { + "name": "RightWheelCenter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -17.5, + 7.5, + -13 + ], + "to": [ + -15.5, + 11.5, + -9 + ], + "autouv": 0, + "color": 0, + "origin": [ + -18, + 8, + -12 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "0ceb204f-2927-d8c0-a4d4-555f9c1b9403" + }, + { + "name": "LeftWheelPart1Frame", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 15.5, + 0, + -15 + ], + "to": [ + 17.5, + 2, + -7 + ], + "autouv": 0, + "color": 0, + "origin": [ + 17.5, + 0, + -15 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 1, + 0, + 0, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 1, + 0, + 0, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 1, + 0, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "aac1b615-e9b0-8ea7-6505-9f8dddf3c85a" + }, + { + "name": "LeftWheelPart1Shaft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 16, + 2, + -11.5 + ], + "to": [ + 17, + 8.5, + -10.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 17.5, + 0, + -15 + ], + "faces": { + "north": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "322111f3-f00e-77cf-0b2b-75d8d94d2d75" + }, + { + "name": "LeftWheelPartFrame", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 15.51, + 0.01, + -14.99 + ], + "to": [ + 17.49, + 1.99, + -7.01 + ], + "autouv": 0, + "color": 0, + "inflate": -0.01, + "origin": [ + 17.5, + 0, + -15 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 1, + 2, + 0, + 5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 1, + 2, + 0, + 5 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 1, + 0, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "02ab2243-4789-c7e0-8696-23e8f0730ed0" + }, + { + "name": "LeftWheelPartShaft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 16, + 2, + -11.5 + ], + "to": [ + 17, + 8.5, + -10.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 17.5, + 0, + -15 + ], + "faces": { + "north": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "42e33fe3-8e8d-95c4-b662-62d7cde928ac" + }, + { + "name": "LeftWheelPart3Frame", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 15.5, + 0, + -15 + ], + "to": [ + 17.5, + 2, + -7 + ], + "autouv": 0, + "color": 0, + "origin": [ + 17.5, + 0, + -15 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 1, + 0, + 0, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 1, + 0, + 0, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 1, + 0, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "61cdf61a-9b9c-97a9-d4f2-8d54aab43249" + }, + { + "name": "LeftWheelPart3Shaft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 16, + 2, + -11.5 + ], + "to": [ + 17, + 8.5, + -10.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 17.5, + 0, + -15 + ], + "faces": { + "north": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e0c2f1fe-3304-a85c-8025-f9c34961a25b" + }, + { + "name": "LeftWheelPart4Frame", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 15.501, + 0.001, + -14.999 + ], + "to": [ + 17.499, + 1.999, + -7.001 + ], + "autouv": 0, + "color": 0, + "inflate": -0.001, + "origin": [ + 17.5, + 0, + -15 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 1, + 2, + 0, + 5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 1, + 2, + 0, + 5 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 1, + 0, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8f472890-f022-9a7e-390c-2906595031d0" + }, + { + "name": "LeftWheelPart4Shaft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 16, + 2, + -11.5 + ], + "to": [ + 17, + 8.5, + -10.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 17.5, + 0, + -15 + ], + "faces": { + "north": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "24a679f7-98a7-eb40-292c-1aff83ba4447" + }, + { + "name": "LeftWheelPart5Frame", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 15.5, + 0, + -15 + ], + "to": [ + 17.5, + 2, + -7 + ], + "autouv": 0, + "color": 0, + "origin": [ + 17.5, + 0, + -15 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 1, + 0, + 0, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 1, + 0, + 0, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 1, + 0, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a6f2ea10-6660-4784-7864-2e48858eee05" + }, + { + "name": "LeftWheelPart5Shaft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 16, + 2, + -11.5 + ], + "to": [ + 17, + 8.5, + -10.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 17.5, + 0, + -15 + ], + "faces": { + "north": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "19c6186c-d1ff-c234-3738-7f4cc26aa24e" + }, + { + "name": "LeftWheelPart6Frame", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 15.501, + 0.001, + -14.999 + ], + "to": [ + 17.499, + 1.999, + -7.001 + ], + "autouv": 0, + "color": 0, + "inflate": -0.001, + "origin": [ + 17.5, + 0, + -15 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 1, + 2, + 0, + 5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 1, + 2, + 0, + 5 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 1, + 0, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "e7a0a8e3-aecb-c102-4f55-b1a22f99a535" + }, + { + "name": "LeftWheelPart6Shaft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 16.001, + 2.001, + -11.499 + ], + "to": [ + 16.999, + 8.499, + -10.501 + ], + "autouv": 0, + "color": 0, + "inflate": -0.001, + "origin": [ + 17.5, + 0, + -15 + ], + "faces": { + "north": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "12141360-9c66-2bee-3227-6f7f7ea4a9c2" + }, + { + "name": "LeftWheelPart7Frame", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 15.5, + 0, + -15 + ], + "to": [ + 17.5, + 2, + -7 + ], + "autouv": 0, + "color": 0, + "origin": [ + 17.5, + 0, + -15 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 1, + 0, + 0, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 1, + 0, + 0, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 1, + 0, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "2c05fd99-c4c8-51c5-6708-4dfa49169719" + }, + { + "name": "LeftWheelPart7Shaft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 16, + 2, + -11.5 + ], + "to": [ + 17, + 8.5, + -10.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 17.5, + 0, + -15 + ], + "faces": { + "north": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "fc2de5c0-1e23-8d18-fa50-56ea78d76512" + }, + { + "name": "LeftWheelPart8Frame", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 15.501, + 0.001, + -14.999 + ], + "to": [ + 17.499, + 1.999, + -7.001 + ], + "autouv": 0, + "color": 0, + "inflate": -0.001, + "origin": [ + 17.5, + 0, + -15 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 1, + 2, + 0, + 5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 1, + 2, + 0, + 5 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 0, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 1, + 0, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "7a2bbcea-25a8-c645-9cd6-0b34703b67d4" + }, + { + "name": "LeftWheelPart8Shaft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 16.001, + 2.001, + -11.499 + ], + "to": [ + 16.999, + 8.499, + -10.501 + ], + "autouv": 0, + "color": 0, + "inflate": -0.001, + "origin": [ + 17.5, + 0, + -15 + ], + "faces": { + "north": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "096fcb34-d62b-c371-7db7-78eb1be61b76" + }, + { + "name": "LeftWheelCenter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 15.5, + 7.5, + -13 + ], + "to": [ + 17.5, + 11.5, + -9 + ], + "autouv": 0, + "color": 0, + "origin": [ + 18, + 8, + -12 + ], + "faces": { + "north": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "fec449b8-cd23-2f61-9475-c295475e59f3" + }, + { + "name": "RightWheelTip", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -18.5, + 8.5, + -12 + ], + "to": [ + -17, + 10.5, + -10 + ], + "autouv": 0, + "color": 0, + "origin": [ + -18, + 8, + -12 + ], + "faces": { + "north": { + "uv": [ + 3, + 0, + 4, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 2, + 0, + 3, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 0, + 4, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 1, + 4, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 2, + 0, + 4, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "1d690228-e9c0-5cd0-5373-402de27be1ef" + }, + { + "name": "LeftWheelTip", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 17, + 8.5, + -12 + ], + "to": [ + 18.5, + 10.5, + -10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 18, + 8, + -12 + ], + "faces": { + "north": { + "uv": [ + 2, + 0, + 3, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 0, + 4, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 3, + 0, + 4, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 2, + 1, + 4, + 2 + ], + "rotation": 270, + "texture": 0 + }, + "down": { + "uv": [ + 4, + 1, + 2, + 0 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "cf438e39-8d34-85f9-e683-f4142d09962d" + }, + { + "name": "RightStand1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -14, + 7.5, + -14 + ], + "to": [ + -12, + 11.5, + -8 + ], + "autouv": 0, + "color": 0, + "origin": [ + -18, + 8, + -12 + ], + "faces": { + "north": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 1, + 1, + 2, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "46ab9409-842f-c5f0-192a-e9b720af4537" + }, + { + "name": "RightStand2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -14, + 11.5, + -19 + ], + "to": [ + -12, + 17.5, + -3 + ], + "autouv": 0, + "color": 0, + "origin": [ + -18, + 8, + -12 + ], + "faces": { + "north": { + "uv": [ + 11, + 0, + 12, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 4, + 0, + 12, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 12, + 0, + 4, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 12, + 0, + 4, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 4, + 0, + 12, + 1 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "6528365c-709b-3fe2-1a64-fe288f52cf12" + }, + { + "name": "RightStand4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -14, + 11.5, + 17 + ], + "to": [ + -12, + 19.5, + 23 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -40, + 0, + 0 + ], + "origin": [ + -13, + 11.5, + 17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 4, + 1, + 7, + 5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 11, + 0, + 12, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 7, + 1, + 4, + 5 + ], + "texture": 0 + }, + "up": { + "uv": [ + 7, + 1, + 4, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 4, + 4, + 7, + 5 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "eef760f2-50f0-26a9-e318-eca8c24b19a6" + }, + { + "name": "RightStand3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -14.001, + 11.499, + -3.001 + ], + "to": [ + -11.999, + 17.501, + 17.001 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + -18, + 8, + 4 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 5, + 20, + 11 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 20, + 5, + 0, + 11 + ], + "texture": 0 + }, + "up": { + "uv": [ + 20, + 5, + 0, + 6 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 10, + 20, + 11 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "ccbdfa5b-942d-e40b-ebfd-36ff740d3fa4" + }, + { + "name": "LeftStand", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 12, + 7.5, + -14 + ], + "to": [ + 14, + 11.5, + -8 + ], + "autouv": 0, + "color": 0, + "origin": [ + 18, + 8, + -12 + ], + "faces": { + "north": { + "uv": [ + 2, + 1, + 1, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 1, + 1, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 1, + 1, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 1, + 1, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 2, + 1, + 1, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "26237687-2991-94d9-877b-0ff84bb24d99" + }, + { + "name": "LeftStand3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 12, + 11.5, + -19 + ], + "to": [ + 14, + 17.5, + -3 + ], + "autouv": 0, + "color": 0, + "origin": [ + 18, + 8, + -12 + ], + "faces": { + "north": { + "uv": [ + 12, + 0, + 11, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 4, + 0, + 12, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 12, + 0, + 4, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 12, + 1, + 4, + 0 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 4, + 1, + 12, + 0 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "a1ebddea-615f-1b23-66b0-b9a59c386308" + }, + { + "name": "LeftStand4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 11.999, + 11.499, + -3.001 + ], + "to": [ + 14.001, + 17.501, + 17.001 + ], + "autouv": 0, + "color": 0, + "inflate": 0.001, + "origin": [ + 18, + 8, + 4 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 5, + 20, + 11 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 20, + 5, + 0, + 11 + ], + "texture": 0 + }, + "up": { + "uv": [ + 20, + 6, + 0, + 5 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 0, + 11, + 20, + 10 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "8f883eee-a2ff-8868-42d3-005cc33ccfd7" + }, + { + "name": "LeftStand5", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 12, + 11.5, + 17 + ], + "to": [ + 14, + 19.5, + 23 + ], + "autouv": 0, + "color": 0, + "rotation": [ + -40, + 0, + 0 + ], + "origin": [ + 13, + 11.5, + 17 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 4, + 1, + 7, + 5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 12, + 0, + 11, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 7, + 1, + 4, + 5 + ], + "texture": 0 + }, + "up": { + "uv": [ + 7, + 2, + 4, + 1 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 4, + 5, + 7, + 4 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "1f324dac-5183-bf8a-37fc-09279ad257fb" + }, + { + "name": "Shaft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -12, + 4.5, + 6 + ], + "to": [ + 12, + 6.5, + 8 + ], + "autouv": 0, + "color": 0, + "origin": [ + -24, + 8, + -12 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "db15d760-a40a-cd28-4050-8bbab771e94b" + }, + { + "name": "CannonBaseBottomCenter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -10, + 6, + -6 + ], + "to": [ + 10, + 12, + 4 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b5265737-aec4-ecbe-3987-d06b47606dc9" + }, + { + "name": "CannonBaseBottomFrontLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -10, + 6, + -14 + ], + "to": [ + -8, + 12, + -6 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "b3780bbe-b0de-cec3-af29-a52ec3eb9f5b" + }, + { + "name": "CannonBaseBottomFrontRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + 6, + -14 + ], + "to": [ + 10, + 12, + -6 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "9122be36-31b3-efa6-25d4-f7dd9af58706" + }, + { + "name": "CannonBaseBottomRearLeft", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -10, + 2.5, + 4 + ], + "to": [ + -8, + 8.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "4235c580-502a-6ed2-57b3-fd52cdd622cc" + }, + { + "name": "CannonBaseBottomRearRight", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + 2.5, + 4 + ], + "to": [ + 10, + 8.5, + 10 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 2, + 2, + 3 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "944b4596-1229-e92b-299e-1e6db12cecea" + }, + { + "name": "CannonBaseBottomRearCenter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 4.25, + 5.75 + ], + "to": [ + 7, + 6.75, + 8.25 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 2, + 1, + 3, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 1, + 3, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 1, + 3, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 1, + 3, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 1, + 3, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 2, + 1, + 3, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "196ca449-b940-fc81-2886-12722c2279f3" + }, + { + "name": "CannonBaseTopCenter", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 12, + -6 + ], + "to": [ + 8, + 13, + 4 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "a77dcfec-352f-45a2-b06c-fd994a7aae4c" + }, + { + "name": "CannonBaseTopRight1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + 12, + -6 + ], + "to": [ + 10, + 17, + -3.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 3, + 2, + 4, + 4.5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "d19d63e9-4ae6-9f01-16d8-63afa4271b4e" + }, + { + "name": "CannonBaseTopRight2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + 12, + -3.5 + ], + "to": [ + 10, + 16, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 3, + 2.5, + 4, + 4.5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "34d63cdf-0d59-e76b-578e-e82315ca2a9a" + }, + { + "name": "CannonBaseTopRight3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + 12, + -1 + ], + "to": [ + 10, + 15, + 1.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 3, + 3, + 4, + 4.5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "5fa6a67d-0850-1592-4179-a53654476310" + }, + { + "name": "CannonBaseTopRight4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + 12, + 1.5 + ], + "to": [ + 10, + 14, + 4 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 3, + 3, + 4, + 4 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "up": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "35726e3e-ae45-cd44-f773-54ac34b5df8a" + }, + { + "name": "CannonBaseTopRightPattern", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 10.002, + 13.1944, + -6 + ], + "to": [ + 10.002, + 15, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 11, + 36, + 24 + ], + "texture": 0 + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "c95fac1c-0105-906b-5848-5f64d27d0bd1" + }, + { + "name": "CannonBaseTopLeftPattern", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -10.002, + 13.1944, + -6 + ], + "to": [ + -10.002, + 15, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "west": { + "uv": [ + 36, + 11, + 0, + 24 + ], + "texture": 0 + }, + "up": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "d144ca5c-e5d2-c4b7-a374-460335f5d56b" + }, + { + "name": "CannonBaseTopLeft4", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -10, + 12, + 1.5 + ], + "to": [ + -8, + 14, + 4 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 3, + 3, + 4 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "876e2186-c9a2-ae93-1f40-0983f9aef948" + }, + { + "name": "CannonBaseTopLeft3", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -10, + 12, + -1 + ], + "to": [ + -8, + 15, + 1.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 3, + 3, + 4.5 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "055be0e5-353a-8e31-35b6-c9f95c1b3d0a" + }, + { + "name": "CannonBaseTopLeft2", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -10, + 12, + -3.5 + ], + "to": [ + -8, + 16, + -1 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 2.5, + 3, + 4.5 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a43b22a7-e033-1a5a-403c-89b36f76a2eb" + }, + { + "name": "CannonBaseTopLeft1", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -10, + 12, + -6 + ], + "to": [ + -8, + 17, + -3.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 0, + 0 + ], + "faces": { + "north": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "south": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 4, + 2, + 3, + 4.5 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "dbacb71b-6a65-8b87-11a2-b46388ebe58e" + }, + { + "name": "CannonHead", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -8, + 16, + -11.5 + ], + "to": [ + 8, + 32, + 4.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 16, + -1 + ], + "faces": { + "north": { + "uv": [ + 28, + 0, + 36, + 8 + ], + "texture": 0 + }, + "east": { + "uv": [ + 28, + 0, + 20, + 8 + ], + "texture": 0 + }, + "south": { + "uv": [ + 20, + 0, + 21, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 20, + 0, + 28, + 8 + ], + "texture": 0 + }, + "up": { + "uv": [ + 20, + 0, + 21, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 20, + 0, + 21, + 1 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "931ffbbe-0acf-7abf-2a8e-7fda5b9c9d87" + }, + { + "name": "CannonHeadRightHinge", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 8, + 16, + -6 + ], + "to": [ + 9.998, + 26, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 16, + -1 + ], + "faces": { + "north": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 12, + 0, + 16, + 5 + ], + "texture": 0 + }, + "south": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 1, + 0, + 2, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f2de59cf-f715-94e3-9a0e-4f4d5e124884" + }, + { + "name": "CannonHeadRightHingeTip", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 10, + 20, + -4 + ], + "to": [ + 11, + 24, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 16, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 0, + 3, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 2, + 0, + 4, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 3, + 0, + 4, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "up": { + "uv": [ + 2, + 1, + 4, + 2 + ], + "rotation": 270, + "texture": 0 + }, + "down": { + "uv": [ + 4, + 1, + 2, + 0 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "c17bd0b1-d4eb-74de-10b6-3ba552b84374" + }, + { + "name": "CannonHeadLeftHingeTip", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -11, + 20, + -4 + ], + "to": [ + -10, + 24, + 0 + ], + "autouv": 0, + "color": 0, + "origin": [ + -1, + 16, + -1 + ], + "faces": { + "north": { + "uv": [ + 3, + 0, + 4, + 2 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 2, + 0, + 3, + 2 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 0, + 4, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 1, + 4, + 2 + ], + "rotation": 90, + "texture": 0 + }, + "down": { + "uv": [ + 2, + 0, + 4, + 1 + ], + "rotation": 270, + "texture": 0 + } + }, + "type": "cube", + "uuid": "29df0c61-8451-4d53-8fe9-eddaf99250a9" + }, + { + "name": "CannonHeadLeftHinge", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -9.998, + 16, + -6 + ], + "to": [ + -8, + 26, + 2 + ], + "autouv": 0, + "color": 0, + "origin": [ + -1, + 16, + -1 + ], + "faces": { + "north": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "east": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "south": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "west": { + "uv": [ + 16, + 0, + 12, + 5 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 0, + 1, + 1 + ], + "texture": 0 + }, + "down": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "bb5ba48a-4ed9-2900-7fea-76d61e574a2c" + }, + { + "name": "CannonBarrel1Top", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.5, + 30, + -27.5 + ], + "to": [ + 7, + 31, + -11.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 10, + 17, + -6 + ], + "faces": { + "north": { + "uv": [ + 36, + 7, + 37, + 8 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 36, + 7, + 37, + 15 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 13, + 4, + 13, + 4 + ], + "texture": null + }, + "west": { + "uv": [ + 36, + 7, + 37, + 15 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 36, + 7, + 37, + 15 + ], + "texture": 0 + }, + "down": { + "uv": [ + 36, + 7, + 37, + 8 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "bd5a447a-91e2-d661-90dd-f7bc9923c9cd" + }, + { + "name": "CannonBarrel1Right", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.5, + 25.5, + -27.5 + ], + "to": [ + 1.5, + 30, + -11.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 10, + 17, + -6 + ], + "faces": { + "north": { + "uv": [ + 36, + 7, + 37, + 8 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 36, + 7, + 37, + 8 + ], + "texture": 0 + }, + "south": { + "uv": [ + 13, + 4, + 13, + 4 + ], + "texture": null + }, + "west": { + "uv": [ + 36, + 7, + 37, + 15 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 13, + 4, + 13, + 4 + ], + "texture": null + }, + "down": { + "uv": [ + 13, + 4, + 13, + 4 + ], + "rotation": 90, + "texture": null + } + }, + "type": "cube", + "uuid": "fce92513-75ee-b62d-243d-0dc6f7c123ec" + }, + { + "name": "CannonBarrel1Left", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 6, + 25.5, + -27.5 + ], + "to": [ + 7, + 30, + -11.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 10, + 17, + -6 + ], + "faces": { + "north": { + "uv": [ + 36, + 7, + 37, + 8 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 36, + 7, + 37, + 15 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 13, + 4, + 13, + 4 + ], + "texture": null + }, + "west": { + "uv": [ + 36, + 7, + 37, + 8 + ], + "texture": 0 + }, + "up": { + "uv": [ + 13, + 4, + 13, + 4 + ], + "texture": null + }, + "down": { + "uv": [ + 13, + 4, + 13, + 4 + ], + "rotation": 90, + "texture": null + } + }, + "type": "cube", + "uuid": "5a0e2369-75e6-0ad2-4b2a-ec7348a46938" + }, + { + "name": "CannonBarrel1Front", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.5, + 24.5, + -27.5 + ], + "to": [ + 7, + 25.5, + -11.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 10, + 17, + -6 + ], + "faces": { + "north": { + "uv": [ + 36, + 7, + 37, + 8 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 36, + 7, + 37, + 15 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 13, + 4, + 13, + 4 + ], + "texture": null + }, + "west": { + "uv": [ + 36, + 7, + 37, + 15 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 36, + 7, + 37, + 8 + ], + "texture": 0 + }, + "down": { + "uv": [ + 36, + 15, + 37, + 7 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "eb95bf5b-2bd3-fd17-8d8b-7ac313eeef71" + }, + { + "name": "CannonBarrel1Inside", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1.5, + 25.5, + -15.52 + ], + "to": [ + 6, + 30, + -15.52 + ], + "autouv": 0, + "color": 0, + "origin": [ + 10, + 17, + -6 + ], + "faces": { + "north": { + "uv": [ + 37, + 7, + 38, + 8 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 13, + 4, + 13, + 4 + ], + "rotation": 90, + "texture": null + }, + "south": { + "uv": [ + 13, + 4, + 13, + 4 + ], + "texture": null + }, + "west": { + "uv": [ + 13, + 4, + 13, + 4 + ], + "rotation": 270, + "texture": null + }, + "up": { + "uv": [ + 13, + 4, + 13, + 4 + ], + "texture": null + }, + "down": { + "uv": [ + 13, + 4, + 13, + 4 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "f63c730c-1e17-6aad-5a93-fb67cbe5a7b1" + }, + { + "name": "CannonBarrel2Top", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 30, + -27.5 + ], + "to": [ + -0.5, + 31, + -11.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 2.5, + 17, + -6 + ], + "faces": { + "north": { + "uv": [ + 36, + 7, + 37, + 8 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 36, + 7, + 37, + 15 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 13, + 4, + 13, + 4 + ], + "texture": null + }, + "west": { + "uv": [ + 36, + 7, + 37, + 15 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 36, + 7, + 37, + 15 + ], + "texture": 0 + }, + "down": { + "uv": [ + 36, + 7, + 37, + 8 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "4496b945-bc4b-12d6-8969-add43b57fb4d" + }, + { + "name": "CannonBarrel2Right", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 25.5, + -27.5 + ], + "to": [ + -6, + 30, + -11.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 2.5, + 17, + -6 + ], + "faces": { + "north": { + "uv": [ + 36, + 7, + 37, + 8 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 36, + 7, + 37, + 8 + ], + "texture": 0 + }, + "south": { + "uv": [ + 13, + 4, + 13, + 4 + ], + "texture": null + }, + "west": { + "uv": [ + 36, + 7, + 37, + 15 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 13, + 4, + 13, + 4 + ], + "texture": null + }, + "down": { + "uv": [ + 13, + 4, + 13, + 4 + ], + "rotation": 90, + "texture": null + } + }, + "type": "cube", + "uuid": "f04a9c5b-6280-eac2-3077-fcc4b432b788" + }, + { + "name": "CannonBarrel2Left", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + 25.5, + -27.5 + ], + "to": [ + -0.5, + 30, + -11.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 2.5, + 17, + -6 + ], + "faces": { + "north": { + "uv": [ + 36, + 7, + 37, + 8 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 36, + 7, + 37, + 15 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 13, + 4, + 13, + 4 + ], + "texture": null + }, + "west": { + "uv": [ + 36, + 7, + 37, + 8 + ], + "texture": 0 + }, + "up": { + "uv": [ + 13, + 4, + 13, + 4 + ], + "texture": null + }, + "down": { + "uv": [ + 13, + 4, + 13, + 4 + ], + "rotation": 90, + "texture": null + } + }, + "type": "cube", + "uuid": "019e966c-cec9-64a8-9f65-657c843fb14f" + }, + { + "name": "CannonBarrel2Front", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 24.5, + -27.5 + ], + "to": [ + -0.5, + 25.5, + -11.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 2.5, + 17, + -6 + ], + "faces": { + "north": { + "uv": [ + 36, + 7, + 37, + 8 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 36, + 7, + 37, + 15 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 13, + 4, + 13, + 4 + ], + "texture": null + }, + "west": { + "uv": [ + 36, + 7, + 37, + 15 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 36, + 7, + 37, + 8 + ], + "texture": 0 + }, + "down": { + "uv": [ + 36, + 15, + 37, + 7 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "9dcd6376-33e8-844d-8a53-1b1fd369bb5d" + }, + { + "name": "CannonBarrel2Inside", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -6, + 25.5, + -15.52 + ], + "to": [ + -1.5, + 30, + -15.52 + ], + "autouv": 0, + "color": 0, + "origin": [ + 2.5, + 17, + -6 + ], + "faces": { + "north": { + "uv": [ + 37, + 7, + 38, + 8 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 13, + 4, + 13, + 4 + ], + "rotation": 90, + "texture": null + }, + "south": { + "uv": [ + 13, + 4, + 13, + 4 + ], + "texture": null + }, + "west": { + "uv": [ + 13, + 4, + 13, + 4 + ], + "rotation": 270, + "texture": null + }, + "up": { + "uv": [ + 13, + 4, + 13, + 4 + ], + "texture": null + }, + "down": { + "uv": [ + 13, + 4, + 13, + 4 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "e5ee3cc2-c100-147f-54fb-529346de077d" + }, + { + "name": "CannonBarrel3Top", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.5, + 23, + -27.5 + ], + "to": [ + 7, + 24, + -11.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 10, + 10, + -6 + ], + "faces": { + "north": { + "uv": [ + 36, + 7, + 37, + 8 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 36, + 7, + 37, + 15 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 13, + 4, + 13, + 4 + ], + "texture": null + }, + "west": { + "uv": [ + 36, + 7, + 37, + 15 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 36, + 7, + 37, + 15 + ], + "texture": 0 + }, + "down": { + "uv": [ + 36, + 7, + 37, + 8 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "9b0099b7-23db-9308-d1ca-b8340c9d3ed2" + }, + { + "name": "CannonBarrel3Right", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.5, + 18.5, + -27.5 + ], + "to": [ + 1.5, + 23, + -11.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 10, + 10, + -6 + ], + "faces": { + "north": { + "uv": [ + 36, + 7, + 37, + 8 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 36, + 7, + 37, + 8 + ], + "texture": 0 + }, + "south": { + "uv": [ + 13, + 4, + 13, + 4 + ], + "texture": null + }, + "west": { + "uv": [ + 36, + 7, + 37, + 15 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 13, + 4, + 13, + 4 + ], + "texture": null + }, + "down": { + "uv": [ + 13, + 4, + 13, + 4 + ], + "rotation": 90, + "texture": null + } + }, + "type": "cube", + "uuid": "f02d7277-460f-ac2b-bfdc-6180c27c56b8" + }, + { + "name": "CannonBarrel3Left", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 6, + 18.5, + -27.5 + ], + "to": [ + 7, + 23, + -11.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 10, + 10, + -6 + ], + "faces": { + "north": { + "uv": [ + 36, + 7, + 37, + 8 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 36, + 7, + 37, + 15 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 13, + 4, + 13, + 4 + ], + "texture": null + }, + "west": { + "uv": [ + 36, + 7, + 37, + 8 + ], + "texture": 0 + }, + "up": { + "uv": [ + 13, + 4, + 13, + 4 + ], + "texture": null + }, + "down": { + "uv": [ + 13, + 4, + 13, + 4 + ], + "rotation": 90, + "texture": null + } + }, + "type": "cube", + "uuid": "fa77200c-7c99-437e-897b-dc6ecec853f1" + }, + { + "name": "CannonBarrel3Front", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 0.5, + 17.5, + -27.5 + ], + "to": [ + 7, + 18.5, + -11.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 10, + 10, + -6 + ], + "faces": { + "north": { + "uv": [ + 36, + 7, + 37, + 8 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 36, + 7, + 37, + 15 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 13, + 4, + 13, + 4 + ], + "texture": null + }, + "west": { + "uv": [ + 36, + 7, + 37, + 15 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 36, + 7, + 37, + 8 + ], + "texture": 0 + }, + "down": { + "uv": [ + 36, + 15, + 37, + 7 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "8a17cbe5-222f-51ea-b498-e7000611b157" + }, + { + "name": "CannonBarrel3Inside", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + 1.5, + 18.5, + -15.52 + ], + "to": [ + 6, + 23, + -15.52 + ], + "autouv": 0, + "color": 0, + "origin": [ + 10, + 10, + -6 + ], + "faces": { + "north": { + "uv": [ + 37, + 7, + 38, + 8 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 13, + 4, + 13, + 4 + ], + "rotation": 90, + "texture": null + }, + "south": { + "uv": [ + 13, + 4, + 13, + 4 + ], + "texture": null + }, + "west": { + "uv": [ + 13, + 4, + 13, + 4 + ], + "rotation": 270, + "texture": null + }, + "up": { + "uv": [ + 13, + 4, + 13, + 4 + ], + "texture": null + }, + "down": { + "uv": [ + 13, + 4, + 13, + 4 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "43e2d359-41fe-fc8f-0334-513d2e9cda02" + }, + { + "name": "CannonBarrel4Top", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 23, + -27.5 + ], + "to": [ + -0.5, + 24, + -11.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 2.5, + 10, + -6 + ], + "faces": { + "north": { + "uv": [ + 36, + 7, + 37, + 8 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 36, + 7, + 37, + 15 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 13, + 4, + 13, + 4 + ], + "texture": null + }, + "west": { + "uv": [ + 36, + 7, + 37, + 15 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 36, + 7, + 37, + 15 + ], + "texture": 0 + }, + "down": { + "uv": [ + 36, + 7, + 37, + 8 + ], + "rotation": 90, + "texture": 0 + } + }, + "type": "cube", + "uuid": "e08654ea-6e8b-8509-3f9e-847dc2e37912" + }, + { + "name": "CannonBarrel4Right", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 18.5, + -27.5 + ], + "to": [ + -6, + 23, + -11.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 2.5, + 10, + -6 + ], + "faces": { + "north": { + "uv": [ + 36, + 7, + 37, + 8 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 36, + 7, + 37, + 8 + ], + "texture": 0 + }, + "south": { + "uv": [ + 13, + 4, + 13, + 4 + ], + "texture": null + }, + "west": { + "uv": [ + 36, + 7, + 37, + 15 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 13, + 4, + 13, + 4 + ], + "texture": null + }, + "down": { + "uv": [ + 13, + 4, + 13, + 4 + ], + "rotation": 90, + "texture": null + } + }, + "type": "cube", + "uuid": "70e6387a-2fe3-d560-6c47-ef34739b6d3b" + }, + { + "name": "CannonBarrel4Left", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -1.5, + 18.5, + -27.5 + ], + "to": [ + -0.5, + 23, + -11.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 2.5, + 10, + -6 + ], + "faces": { + "north": { + "uv": [ + 36, + 7, + 37, + 8 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 36, + 7, + 37, + 15 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 13, + 4, + 13, + 4 + ], + "texture": null + }, + "west": { + "uv": [ + 36, + 7, + 37, + 8 + ], + "texture": 0 + }, + "up": { + "uv": [ + 13, + 4, + 13, + 4 + ], + "texture": null + }, + "down": { + "uv": [ + 13, + 4, + 13, + 4 + ], + "rotation": 90, + "texture": null + } + }, + "type": "cube", + "uuid": "203d3a69-f13a-6a61-858c-6d438de32aa7" + }, + { + "name": "CannonBarrel4Front", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -7, + 17.5, + -27.5 + ], + "to": [ + -0.5, + 18.5, + -11.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 2.5, + 10, + -6 + ], + "faces": { + "north": { + "uv": [ + 36, + 7, + 37, + 8 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 36, + 7, + 37, + 15 + ], + "rotation": 90, + "texture": 0 + }, + "south": { + "uv": [ + 13, + 4, + 13, + 4 + ], + "texture": null + }, + "west": { + "uv": [ + 36, + 7, + 37, + 15 + ], + "rotation": 270, + "texture": 0 + }, + "up": { + "uv": [ + 36, + 7, + 37, + 8 + ], + "texture": 0 + }, + "down": { + "uv": [ + 36, + 15, + 37, + 7 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "81c92c20-8939-f8f3-6bd5-0f15081ad4a6" + }, + { + "name": "CannonBarrel4Inside", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -6, + 18.5, + -15.52 + ], + "to": [ + -1.5, + 23, + -15.52 + ], + "autouv": 0, + "color": 0, + "origin": [ + 2.5, + 10, + -6 + ], + "faces": { + "north": { + "uv": [ + 37, + 7, + 38, + 8 + ], + "rotation": 90, + "texture": 0 + }, + "east": { + "uv": [ + 13, + 4, + 13, + 4 + ], + "rotation": 90, + "texture": null + }, + "south": { + "uv": [ + 13, + 4, + 13, + 4 + ], + "texture": null + }, + "west": { + "uv": [ + 13, + 4, + 13, + 4 + ], + "rotation": 270, + "texture": null + }, + "up": { + "uv": [ + 13, + 4, + 13, + 4 + ], + "texture": null + }, + "down": { + "uv": [ + 13, + 4, + 13, + 4 + ], + "texture": null + } + }, + "type": "cube", + "uuid": "ad1eeaec-753c-6937-0fc2-aa57ef2de947" + }, + { + "name": "CannonHeadRear", + "box_uv": false, + "rescale": false, + "locked": false, + "render_order": "default", + "allow_mirror_modeling": true, + "from": [ + -6, + 16, + 4.5 + ], + "to": [ + 6, + 30, + 6.5 + ], + "autouv": 0, + "color": 0, + "origin": [ + 1, + 16, + -1 + ], + "faces": { + "north": { + "uv": [ + 0, + 0, + 0, + 0 + ], + "texture": null + }, + "east": { + "uv": [ + 2, + 1, + 3, + 2 + ], + "texture": 0 + }, + "south": { + "uv": [ + 36, + 0, + 42, + 7 + ], + "texture": 0 + }, + "west": { + "uv": [ + 2, + 1, + 3, + 2 + ], + "texture": 0 + }, + "up": { + "uv": [ + 2, + 1, + 3, + 2 + ], + "texture": 0 + }, + "down": { + "uv": [ + 2, + 1, + 3, + 2 + ], + "texture": 0 + } + }, + "type": "cube", + "uuid": "a27ed74e-8c15-be81-5d16-462ed1a8bd61" + } + ], + "outliner": [ + { + "name": "PlacementObject", + "origin": [ + 0, + 0, + 0 + ], + "color": 0, + "uuid": "3256019b-2207-9fd3-5cf6-62c61055f2f8", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "WheelShaft", + "origin": [ + -24, + 8, + -12 + ], + "color": 0, + "uuid": "b56b674d-2bed-2f24-eba0-aa6a8c4e8abe", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "d350c919-8b18-b756-3dbe-8b9e9d90abbc", + "db15d760-a40a-cd28-4050-8bbab771e94b", + { + "name": "RightWheel", + "origin": [ + -18, + 8, + -12 + ], + "color": 0, + "uuid": "4aaf33ab-10e6-189c-0981-be48154d6da1", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "RightWheelPart1", + "origin": [ + -16.5, + 9.5, + -11 + ], + "color": 0, + "uuid": "31dfb0e5-d964-f517-ac4a-48fb81a3eee8", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "04dece7d-8004-d2b2-f919-71b2ba787777", + "19baeb58-1cb7-aa57-7bd6-3cf39b2d2a14" + ] + }, + { + "name": "RightWheelPart2", + "origin": [ + -16.5, + 9.5, + -11 + ], + "rotation": [ + -45, + 0, + 0 + ], + "color": 0, + "uuid": "32355e66-3f1a-1f0a-52c7-bac7992d0db4", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "df762a90-b691-3a23-5d7f-cbaea8b64a7b", + "aa33a474-6378-5662-d555-249115614052" + ] + }, + { + "name": "RightWheelPart3", + "origin": [ + -16.5, + 9.5, + -11 + ], + "rotation": [ + -90, + 0, + 0 + ], + "color": 0, + "uuid": "98a9d212-02f3-7ddc-e17b-4bd070fec94c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f6d482e9-a769-b53b-b7f5-beecd642da67", + "ca3ffb33-ebd0-0891-5d09-04473c7c4811" + ] + }, + { + "name": "RightWheelPart4", + "origin": [ + -16.5, + 9.5, + -11 + ], + "rotation": [ + -135, + 0, + 0 + ], + "color": 0, + "uuid": "812ada05-027d-070a-cd0f-69db36dbf9e5", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8dfb05fa-ef4a-c559-2cb9-9d7b7fc8b93d", + "21754227-e287-5454-0966-9ffc3f12e2fd" + ] + }, + { + "name": "RightWheelPart5", + "origin": [ + -16.5, + 9.5, + -11 + ], + "rotation": [ + -180, + 0, + 0 + ], + "color": 0, + "uuid": "51ce3dcf-a424-3bc8-e3c1-bb56ed6256bd", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "f25c5eaa-c874-71d6-78f3-029d8990d7ed", + "154039ea-4a45-cb3b-aad1-776b64920513" + ] + }, + { + "name": "RightWheelPart6", + "origin": [ + -16.5, + 9.5, + -11 + ], + "rotation": [ + 135, + 0, + 0 + ], + "color": 0, + "uuid": "484e9291-caa6-75df-b6bb-4e1d9e99ef1d", + "export": true, + "mirror_uv": false, + "isOpen": false, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "400268c1-7de2-5aa0-32a7-832677f19ac3", + "e949ffee-626a-f263-a7a9-e6b1b4f1e6db" + ] + }, + { + "name": "RightWheelPart7", + "origin": [ + -16.5, + 9.5, + -11 + ], + "rotation": [ + 90, + 0, + 0 + ], + "color": 0, + "uuid": "532f1f8b-7495-c518-9f17-8d383809702f", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "fe63c513-eadc-96b2-8e63-8d292b90c9c8", + "546d23f6-5191-c18f-257e-47bacceab8a4" + ] + }, + { + "name": "RightWheelPart8", + "origin": [ + -16.5, + 9.5, + -11 + ], + "rotation": [ + 45, + 0, + 0 + ], + "color": 0, + "uuid": "19d5cf88-fcd2-e520-4a73-ec824669989b", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "354a1a16-79f1-3ebf-4284-a399313b3ec3", + "578c1a45-218a-4e19-0ad2-ca34db61a90d" + ] + }, + "0ceb204f-2927-d8c0-a4d4-555f9c1b9403", + "1d690228-e9c0-5cd0-5373-402de27be1ef" + ] + }, + { + "name": "LeftWheel", + "origin": [ + 18, + 8, + -12 + ], + "color": 0, + "uuid": "84e8734c-fea7-0457-7058-75397add53f3", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + { + "name": "LeftWheelPart1", + "origin": [ + 16.5, + 9.5, + -11 + ], + "color": 0, + "uuid": "e2a55777-d7a3-f363-b78a-33add6bd113d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "aac1b615-e9b0-8ea7-6505-9f8dddf3c85a", + "322111f3-f00e-77cf-0b2b-75d8d94d2d75" + ] + }, + { + "name": "LeftWheelPart2", + "origin": [ + 16.5, + 9.5, + -11 + ], + "rotation": [ + -45, + 0, + 0 + ], + "color": 0, + "uuid": "5ae6e3cc-ba82-8f3f-7d74-6f6b7a6f08fa", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "02ab2243-4789-c7e0-8696-23e8f0730ed0", + "42e33fe3-8e8d-95c4-b662-62d7cde928ac" + ] + }, + { + "name": "LeftWheelPart3", + "origin": [ + 16.5, + 9.5, + -11 + ], + "rotation": [ + -90, + 0, + 0 + ], + "color": 0, + "uuid": "909608e7-7321-263a-9f8d-c9d1b5f93185", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "61cdf61a-9b9c-97a9-d4f2-8d54aab43249", + "e0c2f1fe-3304-a85c-8025-f9c34961a25b" + ] + }, + { + "name": "LeftWheelPart4", + "origin": [ + 16.5, + 9.5, + -11 + ], + "rotation": [ + -135, + 0, + 0 + ], + "color": 0, + "uuid": "0f691d8b-cef9-51dc-c54c-997c1a44dedc", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8f472890-f022-9a7e-390c-2906595031d0", + "24a679f7-98a7-eb40-292c-1aff83ba4447" + ] + }, + { + "name": "LeftWheelPart5", + "origin": [ + 16.5, + 9.5, + -11 + ], + "rotation": [ + -180, + 0, + 0 + ], + "color": 0, + "uuid": "f4b9c054-daf1-7ab6-a553-505e86124d81", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "a6f2ea10-6660-4784-7864-2e48858eee05", + "19c6186c-d1ff-c234-3738-7f4cc26aa24e" + ] + }, + { + "name": "LeftWheelPart6", + "origin": [ + 16.5, + 9.5, + -11 + ], + "rotation": [ + 135, + 0, + 0 + ], + "color": 0, + "uuid": "c4cafbc3-e115-a133-d62f-635b8a3407fe", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e7a0a8e3-aecb-c102-4f55-b1a22f99a535", + "12141360-9c66-2bee-3227-6f7f7ea4a9c2" + ] + }, + { + "name": "LeftWheelPart7", + "origin": [ + 16.5, + 9.5, + -11 + ], + "rotation": [ + 90, + 0, + 0 + ], + "color": 0, + "uuid": "326d7324-47b9-743c-09ad-0448225cef74", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "2c05fd99-c4c8-51c5-6708-4dfa49169719", + "fc2de5c0-1e23-8d18-fa50-56ea78d76512" + ] + }, + { + "name": "LeftWheelPart8", + "origin": [ + 16.5, + 9.5, + -11 + ], + "rotation": [ + 45, + 0, + 0 + ], + "color": 0, + "uuid": "fb1515cd-865c-3902-74bf-12c8e37d0cb0", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "7a2bbcea-25a8-c645-9cd6-0b34703b67d4", + "096fcb34-d62b-c371-7db7-78eb1be61b76" + ] + }, + "fec449b8-cd23-2f61-9475-c295475e59f3", + "cf438e39-8d34-85f9-e683-f4142d09962d" + ] + }, + { + "name": "RightStand", + "origin": [ + -18, + 8, + -12 + ], + "color": 0, + "uuid": "9fb65008-7b78-7ca1-6bd0-dcb1f0bc8f8e", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "46ab9409-842f-c5f0-192a-e9b720af4537", + "6528365c-709b-3fe2-1a64-fe288f52cf12", + { + "name": "RightStand3", + "origin": [ + -13, + 17.5, + -3 + ], + "rotation": [ + 40, + 0, + 0 + ], + "color": 0, + "uuid": "e8cd6eed-57a9-aa52-bb72-c3ba1e7ae1bb", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "ccbdfa5b-942d-e40b-ebfd-36ff740d3fa4", + "eef760f2-50f0-26a9-e318-eca8c24b19a6" + ] + } + ] + }, + { + "name": "LeftStand", + "origin": [ + 18, + 8, + -12 + ], + "color": 0, + "uuid": "f23d8e2d-51a1-f7bc-e36b-f2d1082e4be9", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "26237687-2991-94d9-877b-0ff84bb24d99", + "a1ebddea-615f-1b23-66b0-b9a59c386308", + { + "name": "LeftStand3", + "origin": [ + 13, + 17.5, + -3 + ], + "rotation": [ + 40, + 0, + 0 + ], + "color": 0, + "uuid": "9065e14b-3aac-f4a7-0e43-edeef6eabd87", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "8f883eee-a2ff-8868-42d3-005cc33ccfd7", + "1f324dac-5183-bf8a-37fc-09279ad257fb" + ] + } + ] + } + ] + }, + { + "name": "Cannon", + "origin": [ + 1, + 0, + 0 + ], + "color": 0, + "uuid": "fbfb2d5d-be75-c89c-a833-f730e9747e1d", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "b5265737-aec4-ecbe-3987-d06b47606dc9", + "b3780bbe-b0de-cec3-af29-a52ec3eb9f5b", + "9122be36-31b3-efa6-25d4-f7dd9af58706", + "4235c580-502a-6ed2-57b3-fd52cdd622cc", + "944b4596-1229-e92b-299e-1e6db12cecea", + "196ca449-b940-fc81-2886-12722c2279f3", + "a77dcfec-352f-45a2-b06c-fd994a7aae4c", + "d19d63e9-4ae6-9f01-16d8-63afa4271b4e", + "34d63cdf-0d59-e76b-578e-e82315ca2a9a", + "5fa6a67d-0850-1592-4179-a53654476310", + "35726e3e-ae45-cd44-f773-54ac34b5df8a", + "c95fac1c-0105-906b-5848-5f64d27d0bd1", + "dbacb71b-6a65-8b87-11a2-b46388ebe58e", + "a43b22a7-e033-1a5a-403c-89b36f76a2eb", + "055be0e5-353a-8e31-35b6-c9f95c1b3d0a", + "876e2186-c9a2-ae93-1f40-0983f9aef948", + "d144ca5c-e5d2-c4b7-a374-460335f5d56b", + { + "name": "CannonHead", + "origin": [ + 10, + 17, + -6 + ], + "rotation": [ + 15, + 0, + 0 + ], + "color": 0, + "uuid": "efc7d772-8cd8-ca7c-952a-3c1d5391211c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "931ffbbe-0acf-7abf-2a8e-7fda5b9c9d87", + "a27ed74e-8c15-be81-5d16-462ed1a8bd61", + "f2de59cf-f715-94e3-9a0e-4f4d5e124884", + "c17bd0b1-d4eb-74de-10b6-3ba552b84374", + "bb5ba48a-4ed9-2900-7fea-76d61e574a2c", + "29df0c61-8451-4d53-8fe9-eddaf99250a9", + { + "name": "CannonBarrel1", + "origin": [ + 10, + 17, + -6 + ], + "color": 0, + "uuid": "d36d82b8-1e79-cb95-c179-00d1f6eea129", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "bd5a447a-91e2-d661-90dd-f7bc9923c9cd", + "fce92513-75ee-b62d-243d-0dc6f7c123ec", + "5a0e2369-75e6-0ad2-4b2a-ec7348a46938", + "eb95bf5b-2bd3-fd17-8d8b-7ac313eeef71", + "f63c730c-1e17-6aad-5a93-fb67cbe5a7b1" + ] + }, + { + "name": "CannonBarrel2", + "origin": [ + 2.5, + 17, + -6 + ], + "color": 0, + "uuid": "16856232-d121-f458-4718-2914cd5de243", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "4496b945-bc4b-12d6-8969-add43b57fb4d", + "f04a9c5b-6280-eac2-3077-fcc4b432b788", + "019e966c-cec9-64a8-9f65-657c843fb14f", + "9dcd6376-33e8-844d-8a53-1b1fd369bb5d", + "e5ee3cc2-c100-147f-54fb-529346de077d" + ] + }, + { + "name": "CannonBarrel3", + "origin": [ + 10, + 10, + -6 + ], + "color": 0, + "uuid": "6995e041-4781-8119-6ca5-f4fe7a5c4de7", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "9b0099b7-23db-9308-d1ca-b8340c9d3ed2", + "f02d7277-460f-ac2b-bfdc-6180c27c56b8", + "fa77200c-7c99-437e-897b-dc6ecec853f1", + "8a17cbe5-222f-51ea-b498-e7000611b157", + "43e2d359-41fe-fc8f-0334-513d2e9cda02" + ] + }, + { + "name": "CannonBarrel4", + "origin": [ + 2.5, + 10, + -6 + ], + "color": 0, + "uuid": "3e7cb70d-39d6-3e19-15ef-57c99c7cfe1c", + "export": true, + "mirror_uv": false, + "isOpen": true, + "locked": false, + "visibility": true, + "autouv": 0, + "children": [ + "e08654ea-6e8b-8509-3f9e-847dc2e37912", + "70e6387a-2fe3-d560-6c47-ef34739b6d3b", + "203d3a69-f13a-6a61-858c-6d438de32aa7", + "81c92c20-8939-f8f3-6bd5-0f15081ad4a6", + "ad1eeaec-753c-6937-0fc2-aa57ef2de947" + ] + } + ] + } + ] + } + ] + } + ], + "textures": [ + { + "path": "", + "name": "placement_object.png", + "folder": "", + "namespace": "", + "id": "0", + "width": 42, + "height": 24, + "uv_width": 42, + "uv_height": 24, + "particle": false, + "layers_enabled": false, + "sync_to_project": "", + "render_mode": "default", + "render_sides": "auto", + "frame_time": 1, + "frame_order_type": "loop", + "frame_order": "", + "frame_interpolate": false, + "visible": true, + "internal": true, + "saved": true, + "uuid": "d85735f0-f463-5389-f8bf-ffe33c0d0e05", + "relative_path": "../../textures/placement_object.png", + "source": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAYCAYAAACMcW/9AAAAAXNSR0IArs4c6QAAAgNJREFUWEdjvHn77v+6eU8YVuRcZvjz7jMDi04FAy5g55HGIGUUgyK9st2eEVkgLrL4P04DiJCYWyWCVRWjqq7z/1uX9jD8udLB8PXTLwbfpidgx6xos2NgZGREcQTIhJnzVv3fd1scbhguhx46vp3BztKTAZ0GaXzz5hFWx4iIyDHgdCgoRNOzOxkO7JrFGF558P+zc0sYDu2YBTYIm0NBapBtISdEyXaouqoyOOTio4r/33v7iaBDnVRfMoBCFUSnJ4XhjPpFy3vhcshJgpBDo1PbUEJ86ewqBnDU3768lySHEhui5DoUW7pg/P//PzwqI6oOgdMmCCCzkTWCxNEBTA8kVkrg0uQ6FGuIYnMozDHIDoDZTg+H4g1RXI5Ddhg2h6MbSkyI4iul6poKGVRUZcB5GVkdPOrRox2mCOQ4bKEIkkdOJjA+tpKCiOITruTbhSn/uQxyMIpFjDSKzYHoIYkvlCl16J3bT/6rqMrgdih61KOHInroIYcoShRhqSRICVGCDoUZRmqIIGdGXJUEPoei67975ykojWKGKLohMI2EHIxLHaX6cYYoLt/SyiGEPEKyQ2EeoHbUEoopkh06UCGKK4YxEi2hqEEPafQQolQ/TofSO2pxZV5Cpc7QCdHBluuJTqPkRg0hDxOKWkK1F0bU0zqzEJvZ0B0+dNLoUMn1AH0Iv3TpD3pyAAAAAElFTkSuQmCC" + } + ] +} diff --git a/config/yosbr/config/figura/avatars/Umika/scripts/avatar.lua b/config/yosbr/config/figura/avatars/Umika/scripts/avatar.lua new file mode 100644 index 0000000..6294b76 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/scripts/avatar.lua @@ -0,0 +1,213 @@ +---@class Avatar アバターのメインクラス +---@field public avatarEvents AvatarEvents +---@field public modelUtils ModelUtils +---@field public playerUtils PlayerUtils +---@field public compatibilityUtils CompatibilityUtils +---@field public characterData BlueArchiveCharacter +---@field public headRing HeadRing +---@field public headBlock HeadBlock +---@field public locale Locale +---@field public config Config +---@field public cameraManager CameraManager +---@field public keyManager KeyManager +---@field public vanillaModel VanillaModel +---@field public arms Arms +---@field public skirt Skirt +---@field public armor Armor +---@field public faceParts FaceParts +---@field public portrait Portrait +---@field public physics Physics +---@field public gun Gun +---@field public nameplate Nameplate +---@field public exSkill ExSkill +---@field public frameParticleManager ExSkillFrameParticleManager +---@field public placementObjectManager PlacementObjectManager +---@field public costume Costume +---@field public actionWheel ActionWheel +---@field public actionWheelGui ActionWheelGui +---@field public bubble Bubble +---@field public barrier Barrier +---@field public deathAnimation DeathAnimation +---@field public hypixelZombies HypixelZombies +---@field public updateChecker UpdateChecker +---@field public fireworkManager FireworkManager +---@field public instantiate fun(class: table, super: table, ...: any) クラスをインスタンス化する + +Avatar = { + ---コンストラクタ + ---@return Avatar + new = function () + ---@type Avatar + local instance = Avatar.instantiate(Avatar) + + --ENTITY_INIT前に読み込み + require("scripts.avatar_modules.avatar_module") + + --ユーティリティクラスの読み込み + require("scripts.avatar_modules.events.abstract_event") + require("scripts.avatar_modules.events.script_init_event") + require("scripts.avatar_modules.events.avatar_events") + instance.avatarEvents = AvatarEvents.new(instance) + instance.avatarEvents:init() + + require("scripts.avatar_modules.utils.model_utils") + instance.modelUtils = ModelUtils.new(instance) + instance.modelUtils:init() + + --アバターモジュールの読み込み + require("scripts.blue_archive_character") + instance.characterData = BlueArchiveCharacter.new(instance) + instance.characterData:init() + + require("scripts.avatar_modules.head_ring") + instance.headRing = HeadRing.new(instance) + instance.headRing:init() + + require("scripts.avatar_modules.head_model_generator") + require("scripts.avatar_modules.head_block") + instance.headBlock = HeadBlock.new(instance) + instance.headBlock:init() + + --生徒固有クラスの読み込み + + events.ENTITY_INIT:register(function () + --ユーティリティクラスの読み込み + require("scripts.avatar_modules.utils.player_utils") + instance.playerUtils = PlayerUtils.new(instance) + instance.playerUtils:init() + + require("scripts.avatar_modules.utils.compatibility_utils") + instance.compatibilityUtils = CompatibilityUtils.new(instance) + instance.compatibilityUtils:init() + + require("scripts.avatar_modules.utils.spawn_object_manager") + require("scripts.avatar_modules.utils.spawn_object") + + --アバターモジュールの読み込み + require("scripts.avatar_modules.locale") + instance.locale = Locale.new(instance) + instance.locale:init() + + require("scripts.avatar_modules.config") + instance.config = Config.new(instance) + instance.config:init() + + require("scripts.avatar_modules.camera_manager") + instance.cameraManager = CameraManager.new(instance) + instance.cameraManager:init() + + require("scripts.avatar_modules.key_manager") + instance.keyManager = KeyManager.new(instance) + instance.keyManager:init() + + require("scripts.avatar_modules.vanilla_model") + instance.vanillaModel = VanillaModel.new(instance) + instance.vanillaModel:init() + + require("scripts.avatar_modules.arms") + instance.arms = Arms.new(instance) + instance.arms:init() + + require("scripts.avatar_modules.skirt") + instance.skirt = Skirt.new(instance) + instance.skirt:init() + + require("scripts.avatar_modules.armor") + instance.armor = Armor.new(instance) + instance.armor:init() + + require("scripts.avatar_modules.face_parts") + instance.faceParts = FaceParts.new(instance) + instance.faceParts:init() + + require("scripts.avatar_modules.portrait") + instance.portrait = Portrait.new(instance) + instance.portrait:init() + + require("scripts.avatar_modules.physics") + instance.physics = Physics.new(instance) + instance.physics:init() + + require("scripts.avatar_modules.gun") + instance.gun = Gun.new(instance) + instance.gun:init() + + require("scripts.avatar_modules.nameplate") + instance.nameplate = Nameplate.new(instance) + instance.nameplate:init() + + require("scripts.avatar_modules.ex_skill.ex_skill") + instance.exSkill = ExSkill.new(instance) + instance.exSkill:init() + + require("scripts.avatar_modules.ex_skill.ex_skill_frame_particle_manager") + require("scripts.avatar_modules.ex_skill.ex_skill_frame_particle") + instance.frameParticleManager = ExSkillFrameParticleManager.new(instance) + instance.frameParticleManager:init() + + require("scripts.avatar_modules.placement_object.placement_object_manager") + require("scripts.avatar_modules.placement_object.placement_object") + instance.placementObjectManager = PlacementObjectManager.new(instance) + instance.placementObjectManager:init() + + require("scripts.avatar_modules.costume") + instance.costume = Costume.new(instance) + instance.costume:init() + + require("scripts.avatar_modules.action_wheel.action_wheel") + instance.actionWheel = ActionWheel.new(instance) + instance.actionWheel:init() + + require("scripts.avatar_modules.action_wheel.action_wheel_gui") + instance.actionWheelGui = ActionWheelGui.new(instance) + instance.actionWheelGui:init() + + require("scripts.avatar_modules.bubble") + instance.bubble = Bubble.new(instance) + instance.bubble:init() + + require("scripts.avatar_modules.barrier") + instance.barrier = Barrier.new(instance) + instance.barrier:init() + + require("scripts.avatar_modules.death_animation") + instance.deathAnimation = DeathAnimation.new(instance) + instance.deathAnimation:init() + + require("scripts.avatar_modules.hypixel_zombies") + instance.hypixelZombies = HypixelZombies.new(instance) + instance.hypixelZombies:init() + + require("scripts.avatar_modules.action_wheel.update_checker") + instance.updateChecker = UpdateChecker.new(instance) + instance.updateChecker:init() + + --生徒固有クラスの読み込み + require("scripts.character_scripts.firework_manager") + require("scripts.character_scripts.firework") + instance.fireworkManager = FireworkManager.new(instance) + instance.fireworkManager:init() + + --SCRIPT_INITイベントを実行 + instance.avatarEvents.SCRIPT_INIT:fire() + end) + + return instance + end; + + ---クラスをインスタンス化する。 + ---@generic S + ---@generic C + ---@param class `C` インスタンス化するクラス + ---@param super? `S` インスタンス化するクラスのスーパークラス + ---@param ... any クラスのインスタンス時に渡される引数 + ---@return C instance インスタンス化されたクラスのオブジェクト + instantiate = function (class, super, ...) + local instance = super and super.new(...) or {} + setmetatable(instance, {__index = class}) + setmetatable(class, {__index = super}) + return instance + end; +} + +AvatarInstance = Avatar.new() \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/action_wheel/action_wheel.lua b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/action_wheel/action_wheel.lua new file mode 100644 index 0000000..e7e2c4e --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/action_wheel/action_wheel.lua @@ -0,0 +1,319 @@ +---@class (exact) ActionWheel : AvatarModule アクションホイールを管理するクラス +---@field package mainPage Page アクションホイールのメインページのインスタンスへの参照 +---@field package selectingCostume integer 現在選択中の衣装 +---@field package selectingName integer 現在選択中の表示名 +---@field package selectingShouldShowClubName boolean 現在選択中の「部活名を表示するかどうか」 +---@field package selectingExSkillParticleAmount integer 現在選択中のExスキルフレームのパーティクル量 +---@field public shouldReplaceVehicleModels boolean 乗り物のモデルを置き換えるかどうか +---@field package isActionWheelOpenedPrev boolean 前ティックにアクションホイールを開けていたかどうか +---@field package refreshCostumeChangeActionTitle fun(self: ActionWheel) 衣装変更アクションのタイトルを更新する +---@field package refreshNameChangeActionTitle fun(self: ActionWheel) 名前変更アクションのタイトルを更新する +---@field package refreshExSkillParticleActionTitle fun(self: ActionWheel) Exスキルアニメーションのパーティクル量調整アクションのタイトルを更新する +---@field package refreshUpdateActionStatus fun(self: ActionWheel) アップデート確認アクションの状態を更新する + +ActionWheel = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ActionWheel + new = function (parent) + ---@type ActionWheel + local instance = Avatar.instantiate(ActionWheel, AvatarModule, parent) + + instance.mainPage = action_wheel:newPage("main") + instance.selectingCostume = instance.parent.costume.currentCostume + instance.selectingName = instance.parent.nameplate.currentName + instance.selectingShouldShowClubName = instance.parent.nameplate.shouldShowClubName + instance.selectingExSkillParticleAmount = instance.parent.exSkill.frameParticleAmount + instance.shouldReplaceVehicleModels = instance.parent.config:loadConfig("PRIVATE", "replaceVehicleModels", true) + instance.isActionWheelOpenedPrev = false + + return instance + end; + + ---初期化関数 + ---@param self ActionWheel + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + events.TICK:register(function() + local isActionWheelOpened = action_wheel:isEnabled() + if isActionWheelOpened then + local mainAction3 = self.mainPage:getAction(3) + mainAction3:setTitle(self.parent.locale:getLocale("action_wheel.main.action_3.title").."§c"..self.parent.locale:getLocale("action_wheel.toggle_off")) + mainAction3:setToggleTitle(self.parent.locale:getLocale("action_wheel.main.action_3.title").."§a"..self.parent.locale:getLocale("action_wheel.toggle_on")) + local mainAction4 = self.mainPage:getAction(4) + mainAction4:setTitle(self.parent.locale:getLocale("action_wheel.main.action_4.title").."§c"..self.parent.locale:getLocale("action_wheel.toggle_off")) + mainAction4:setToggleTitle(self.parent.locale:getLocale("action_wheel.main.action_4.title").."§a"..self.parent.locale:getLocale("action_wheel.toggle_on")) + local mainAction6 = self.mainPage:getAction(6) + if self.parent.characterData.actionWheel.isVehicleOptionEnabled then + mainAction6:setTitle(self.parent.locale:getLocale("action_wheel.main.action_6.title").."§c"..self.parent.locale:getLocale("action_wheel.toggle_off")) + else + mainAction6:setTitle("§7"..self.parent.locale:getLocale("action_wheel.main.action_6.title")..self.parent.locale:getLocale("action_wheel.toggle_off")) + end + mainAction6:setToggleTitle(self.parent.locale:getLocale("action_wheel.main.action_6.title").."§a"..self.parent.locale:getLocale("action_wheel.toggle_on")) + self:refreshCostumeChangeActionTitle() + self:refreshNameChangeActionTitle() + self:refreshExSkillParticleActionTitle() + self:refreshUpdateActionStatus() + elseif not isActionWheelOpened and self.isActionWheelOpenedPrev then + if self.selectingCostume ~= self.parent.costume.currentCostume then + pings.actionWheelChangeCostume(self.selectingCostume) + self.parent.config:saveConfig("PRIVATE", "costume", self.selectingCostume) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.armor.equip_leather"), player:getPos()) + print(self.parent.locale:getLocale("action_wheel.main.action_1.done_first")..self.parent.costume:getCostumeLocalName(self.selectingCostume)..self.parent.locale:getLocale("action_wheel.main.action_1.done_last")) + end + if self.selectingName ~= self.parent.nameplate.currentName or self.selectingShouldShowClubName ~= self.parent.nameplate.shouldShowClubName then + pings.actionWheelChangeName(self.selectingName, self.selectingShouldShowClubName) + self.parent.config:saveConfig("PRIVATE", "name", self.selectingName) + self.parent.config:saveConfig("PRIVATE", "showClubName", self.selectingShouldShowClubName) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:ui.cartography_table.take_result"), player:getPos()) + print(self.parent.locale:getLocale("action_wheel.main.action_2.done_first")..self.parent.nameplate:getName(self.selectingName)..self.parent.locale:getLocale("action_wheel.main.action_2.done_last")) + end + if self.selectingExSkillParticleAmount ~= self.parent.exSkill.frameParticleAmount then + self.parent.exSkill.frameParticleAmount = self.selectingExSkillParticleAmount + self.parent.config:saveConfig("PRIVATE", "exSkillFrameParticleAmount", self.selectingExSkillParticleAmount) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.item.pickup"), player:getPos(), 1, 0.5) + print(self.parent.locale:getLocale("action_wheel.main.action_5.done_first")..self.parent.locale:getLocale("action_wheel.main.action_5.option_"..self.selectingExSkillParticleAmount)..self.parent.locale:getLocale("action_wheel.main.action_5.done_last")) + end + end + self.isActionWheelOpenedPrev = isActionWheelOpened + end) + + --アクションの設定 + + --アクション1. 衣装を変更 + self.mainPage:newAction(1):setItem(self.parent.compatibilityUtils:checkItem("minecraft:leather_chestplate")):setOnScroll(function(direction) + if #self.parent.costume.costumeList >= 2 then + if direction < 0 then + self.selectingCostume = self.selectingCostume == #self.parent.costume.costumeList and 1 or self.selectingCostume + 1 + else + self.selectingCostume = self.selectingCostume == 1 and #self.parent.costume.costumeList or self.selectingCostume - 1 + end + self:refreshCostumeChangeActionTitle() + else + print(self.parent.locale:getLocale("action_wheel.main.action_1.unavailable")) + end + end):setOnLeftClick(function() + if #self.parent.costume.costumeList >= 2 then + self.selectingCostume = self.parent.costume.currentCostume + self:refreshCostumeChangeActionTitle() + end + end):setOnRightClick(function() + if #self.parent.costume.costumeList >= 2 then + self.selectingCostume = 1 + self:refreshCostumeChangeActionTitle() + end + end) + + if #self.parent.costume.costumeList >= 2 then + local action = self.mainPage:getAction(1) + action:setColor(0.78, 0.78, 0.78) + action:setHoverColor(1, 1, 1) + else + local action = self.mainPage:getAction(1) + action:setColor(0.16, 0.16, 0.16) + action:setHoverColor(1, 0.33, 0.33) + end + + --アクション2. 表示名の変更 + self.mainPage:newAction(2):setItem(self.parent.compatibilityUtils:checkItem("minecraft:name_tag")):setColor(0.78, 0.78, 0.78):setHoverColor(1, 1, 1):setOnScroll(function(direction) + if direction < 0 then + self.selectingName = self.selectingName == 6 and 1 or self.selectingName + 1 + else + self.selectingName = self.selectingName == 1 and 6 or self.selectingName - 1 + end + self:refreshNameChangeActionTitle() + end):setOnLeftClick(function() + self.selectingShouldShowClubName = not self.selectingShouldShowClubName + self:refreshNameChangeActionTitle() + end):setOnRightClick(function() + self.selectingName = 1 + self.selectingShouldShowClubName = false + self:refreshNameChangeActionTitle() + end) + + --アクション3. 防具の表示 + self.mainPage:newAction(3):setItem(self.parent.compatibilityUtils:checkItem("minecraft:iron_chestplate")):setColor(0.67, 0, 0):setHoverColor(1, 0.33, 0.33):setToggleColor(0, 0.67, 0):setOnToggle(function (_, action) + pings.actionWheelSetArmorVisible(true) + action:setHoverColor(0.33, 1, 0.33) + self.parent.config:saveConfig("PRIVATE", "showArmor", true) + end):setOnUntoggle(function(_, action) + pings.actionWheelSetArmorVisible(false) + action:setHoverColor(1, 0.33, 0.33) + self.parent.config:saveConfig("PRIVATE", "showArmor", false) + end) + if self.parent.config:loadConfig("PRIVATE", "showArmor", false) then + local action = self.mainPage:getAction(3) + action:setToggled(true) + action:setHoverColor(0.33, 1, 0.33) + end + + --アクション4. 一人称視点での武器モデルの表示 + self.mainPage:newAction(4):setItem(self.parent.compatibilityUtils:checkItem("minecraft:bow")):setColor(0.67, 0, 0):setHoverColor(1, 0.33, 0.33):setToggleColor(0, 0.67, 0):setOnToggle(function (_, action) + self.parent.gun.shouldShowWeaponInFirstPerson = true + action:setHoverColor(0.33, 1, 0.33) + self.parent.config:saveConfig("PRIVATE", "firstPersonWeapon", true) + end):setOnUntoggle(function (_, action) + self.parent.gun.shouldShowWeaponInFirstPerson = false + action:setHoverColor(1, 0.33, 0.33) + self.parent.config:saveConfig("PRIVATE", "firstPersonWeapon", false) + end) + if self.parent.config:loadConfig("PRIVATE", "firstPersonWeapon", true) then + local action = self.mainPage:getAction(4) + action:setToggled(true) + action:setHoverColor(0.33, 1, 0.33) + end + + --アクション5. Exスキルフレームのパーティクルの量 + self.mainPage:newAction(5):setItem(self.parent.compatibilityUtils:checkItem("minecraft:glowstone_dust")):setColor(0.78, 0.78, 0.78):setHoverColor(1, 1, 1):setOnScroll(function (direction) + if direction < 0 then + self.selectingExSkillParticleAmount = self.selectingExSkillParticleAmount == 4 and 1 or self.selectingExSkillParticleAmount + 1 + else + self.selectingExSkillParticleAmount = self.selectingExSkillParticleAmount == 1 and 4 or self.selectingExSkillParticleAmount - 1 + end + self:refreshExSkillParticleActionTitle() + end):setOnLeftClick(function () + self.selectingExSkillParticleAmount = self.parent.exSkill.frameParticleAmount + self:refreshExSkillParticleActionTitle() + end):setOnRightClick(function () + self.selectingExSkillParticleAmount = 1 + self:refreshExSkillParticleActionTitle() + end) + + --アクション6. 乗り物モデルの置き換え + self.mainPage:newAction(6):setItem(self.parent.compatibilityUtils:checkItem("minecraft:oak_boat")):setColor(0.67, 0, 0):setHoverColor(1, 0.33, 0.33):setToggleColor(0, 0.67, 0):setOnToggle(function (_, action) + if self.parent.characterData.actionWheel.isVehicleOptionEnabled then + pings.actionWheelSetShouldReplaceVehicleModels(true) + action:setHoverColor(0.33, 1, 0.33) + self.parent.config:saveConfig("PRIVATE", "replaceVehicleModels", true) + else + print(self.parent.locale:getLocale("action_wheel.main.action_6.unavailable")) + action:setToggled(false) + end + end):setOnUntoggle(function (_, action) + pings.actionWheelSetShouldReplaceVehicleModels(false) + action:setHoverColor(1, 0.33, 0.33) + self.parent.config:saveConfig("PRIVATE", "replaceVehicleModels", false) + end) + if not self.parent.characterData.actionWheel.isVehicleOptionEnabled then + local action = self.mainPage:getAction(6) + action:setColor(0.16, 0.16, 0.16) + action:setHoverColor(1, 0.33, 0.33) + self.shouldReplaceVehicleModels = false + elseif self.shouldReplaceVehicleModels then + local action = self.mainPage:getAction(6) + action:setToggled(true) + action:setHoverColor(0.33, 1, 0.33) + end + + --アクション7. アップデートの確認 + self.mainPage:newAction(7):setItem("minecraft:compass"):setOnLeftClick(function () + if not self.parent.updateChecker.checkerStatus ~= "CHECKING" then + self.parent.updateChecker:checkUpdate() + else + print("action_wheel.main.action_7.ongoing") + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + end + if not net:isNetworkingAllowed() or not net:isLinkAllowed("https://api.github.com") then + print(self.parent.locale:getLocale("action_wheel.main.action_7.networking_api")) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + end + end):onRightClick(function () + if self.parent.updateChecker.latestVersion ~= nil then + host:setClipboard("https://github.com/Gakuto1112/FiguraBlueArchiveCharacters/releases/tag/"..self.parent.updateChecker.latestVersion) + print(self.parent.locale:getLocale("action_wheel.main.action_7.copied")) + else + print(self.parent.locale:getLocale("action_wheel.main.action_7.cannot_check_latest")) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + end + end) + + --アクション8. (空欄) + self.mainPage:newAction(8):setColor(0.16, 0.16, 0.16):setHoverColor(0.16, 0.16, 0.16) + + action_wheel:setPage(self.mainPage) + end + end; + + ---衣装変更アクションのタイトルを更新する。 + ---@param self ActionWheel + refreshCostumeChangeActionTitle = function (self) + if #self.parent.costume.costumeList >= 2 then + self.mainPage:getAction(1):setTitle(self.parent.locale:getLocale("action_wheel.main.action_1.title").."§b"..self.parent.costume:getCostumeLocalName(self.selectingCostume)) + else + self.mainPage:getAction(1):setTitle("§7"..self.parent.locale:getLocale("action_wheel.main.action_1.title")..self.parent.costume:getCostumeLocalName(self.selectingCostume)) + end + end; + + ---名前変更アクションのタイトルを更新する。 + ---@param self ActionWheel + refreshNameChangeActionTitle = function (self) + if self.selectingName >= 2 then + if self.selectingShouldShowClubName then + self.mainPage:getAction(2):setTitle(self.parent.locale:getLocale("action_wheel.main.action_2.title").."§b"..self.parent.nameplate:getName(self.selectingName).."\n§r"..self.parent.locale:getLocale("action_wheel.main.action_2.title_2").."§a"..self.parent.locale:getLocale("action_wheel.toggle_on")) + else + self.mainPage:getAction(2):setTitle(self.parent.locale:getLocale("action_wheel.main.action_2.title").."§b"..self.parent.nameplate:getName(self.selectingName).."\n§r"..self.parent.locale:getLocale("action_wheel.main.action_2.title_2").."§c"..self.parent.locale:getLocale("action_wheel.toggle_off")) + end + else + self.mainPage:getAction(2):setTitle(self.parent.locale:getLocale("action_wheel.main.action_2.title").."§b"..self.parent.nameplate:getName(self.selectingName).."\n§7"..self.parent.locale:getLocale("action_wheel.main.action_2.title_2")..self.parent.locale:getLocale("action_wheel.toggle_"..(self.selectingShouldShowClubName and "on" or "off"))) + end + end; + + ---Exスキルアニメーションのパーティクル量調整アクションのタイトルを更新する。 + ---@param self ActionWheel + refreshExSkillParticleActionTitle = function (self) + self.mainPage:getAction(5):title(self.parent.locale:getLocale("action_wheel.main.action_5.title").."§b"..self.parent.locale:getLocale("action_wheel.main.action_5.option_"..self.selectingExSkillParticleAmount)) + end; + + ---アップデート確認アクションの状態を更新する。 + ---@param self ActionWheel + refreshUpdateActionStatus = function (self) + local action = self.mainPage:getAction(7) + local actionTitle = "" + if self.parent.updateChecker.checkerStatus == "CHECKING" then + actionTitle = actionTitle.."§7"..self.parent.locale:getLocale("action_wheel.main.action_7.title_1")..self.parent.locale:getLocale("action_wheel.main.action_7.title_2").."\n" + action:setColor(0.16, 0.16, 0.16) + action:setHoverColor(1, 0.33, 0.33) + else + actionTitle = actionTitle..self.parent.locale:getLocale("action_wheel.main.action_7.title_1").."§b"..self.parent.locale:getLocale("action_wheel.main.action_7.title_2").."\n" + action:setColor(0.78, 0.78, 0.78) + action:setHoverColor(1, 1, 1) + end + if self.parent.updateChecker.latestVersion == nil then + actionTitle = actionTitle.."§7"..self.parent.locale:getLocale("action_wheel.main.action_7.title_3")..self.parent.locale:getLocale("action_wheel.main.action_7.title_4") + else + actionTitle = actionTitle.."§r"..self.parent.locale:getLocale("action_wheel.main.action_7.title_3").."§b"..self.parent.locale:getLocale("action_wheel.main.action_7.title_4") + end + action:setTitle(actionTitle) + end; +} + +---アクションホイールから衣装を変更するトリガー関数 +---@param costumeId integer 新しい衣装のインデックス番号 +function pings.actionWheelChangeCostume(costumeId) + if costumeId >= 2 then + AvatarInstance.costume:setCostume(costumeId) + else + AvatarInstance.costume:resetCostume() + end +end + +---アクションホイールから名前を変更するトリガー関数 +---@param typeId integer 新しい名前の表示形式のインデックス番号 +---@param shouldShowClubName boolean 部活名を表示するかどうか +function pings.actionWheelChangeName(typeId, shouldShowClubName) + AvatarInstance.nameplate:setName(typeId, shouldShowClubName) +end + +---アクションホイールから防具の可視性を変更するトリガー関数 +---@param visible boolean 防具を表示するかどうか +function pings.actionWheelSetArmorVisible(visible) + AvatarInstance.armor.shouldShowArmor = visible +end + +---アクションホイールから乗り物モデルの置き換えを変更するトリガー関数 +---@param enabled boolean 乗り物モデルの置き換えを有効化するかどうか +function pings.actionWheelSetShouldReplaceVehicleModels(enabled) + AvatarInstance.actionWheel.shouldReplaceVehicleModels = enabled +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/action_wheel/action_wheel_gui.lua b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/action_wheel/action_wheel_gui.lua new file mode 100644 index 0000000..18f89b7 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/action_wheel/action_wheel_gui.lua @@ -0,0 +1,113 @@ +---@class ActionWheelGui : AvatarModule アクションホイールに表示する追加のGUIを管理するクラス +---@field package isActionWheelOpenedPrev boolean 前ティックにアクションホイールを開けていたかどうか + +ActionWheelGui = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ActionWheelGui + new = function (parent) + ---@type ActionWheelGui + local instance = Avatar.instantiate(ActionWheelGui, AvatarModule, parent) + + instance.isActionWheelOpenedPrev = false + + return instance + end; + + ---初期化関数 + ---@param self ActionWheelGui + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + events.TICK:register(function () + local isActionWheelOpened = action_wheel:isEnabled() + if isActionWheelOpened and not self.isActionWheelOpenedPrev then + models.models.action_wheel_gui.Gui:setVisible(true) + + local windowSize = client:getScaledWindowSize() + models.models.action_wheel_gui.Gui.BubbleGuide:setPos(windowSize.x * -0.5 + 44, windowSize.y * -0.5 + 5, 0) + models.models.action_wheel_gui.Gui.ExSkillGuide:setPos(windowSize.x * -0.5 + 57, -21, 0) + models.models.action_wheel_gui.Gui.VersionDisplay:setPos(-0.75, -0.5, 0) + + local bubbleGuideTextTasks = {models.models.action_wheel_gui.Gui.BubbleGuide:getTask("action_wheel.gui.bubble_guide.title"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.GoodEmoji:getTask("bubble_guide.bubble_1.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.HeartEmoji:getTask("bubble_guide.bubble_2.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.NoteEmoji:getTask("bubble_guide.bubble_3.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.QuestionEmoji:getTask("bubble_guide.bubble_4.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.SweatEmoji:getTask("bubble_guide.bubble_5.key_name")} + bubbleGuideTextTasks[1]:setText(self.parent.locale:getLocale("action_wheel.gui.bubble_guide.title")) + for i = 2, #bubbleGuideTextTasks do + bubbleGuideTextTasks[i]:setText("§0"..self.parent.keyManager.keyMappings["bubble_"..(i - 1)]:getKeyName()) + end + + local bubbleGuideTitleWidth = client.getTextWidth(bubbleGuideTextTasks[1]:getText()) / 2 + 4 + local bubbleGuideBodyWidth = 0 + for i = 2, #bubbleGuideTextTasks do + bubbleGuideBodyWidth = math.max(bubbleGuideBodyWidth, client.getTextWidth(bubbleGuideTextTasks[i]:getText()) * 0.5) + end + local bubbleGuideWidth = math.max(bubbleGuideTitleWidth + 6, bubbleGuideBodyWidth + 22) + bubbleGuideWidth = math.max(bubbleGuideWidth, 39) + + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.TitleBar:setPos((bubbleGuideWidth - bubbleGuideTitleWidth) / 2, 0, 0) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.TitleBar:setScale(bubbleGuideTitleWidth, 1, 1) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.TitleCenter:setScale(bubbleGuideWidth - 25, 1, 1) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.TitleLeft:setPos(bubbleGuideWidth - 26, 0, 0) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.BodyTop:setScale(bubbleGuideWidth, 1, 1) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.BodyBottomCenter:setScale(bubbleGuideWidth - 39, 1, 1) + models.models.action_wheel_gui.Gui.BubbleGuide.BubbleGuideBackground.BodyBottomLeft:setPos(bubbleGuideWidth - 40, 0, 0) + models.models.action_wheel_gui.Gui.BubbleGuide.Emojis:setPos((bubbleGuideWidth - (bubbleGuideBodyWidth + 22)) / 2 + bubbleGuideBodyWidth + 9, 0, 0) + bubbleGuideTextTasks[1]:setPos(bubbleGuideWidth / 2, 0, 0) + for i = 2, #bubbleGuideTextTasks do + bubbleGuideTextTasks[i]:setPos(bubbleGuideBodyWidth / -2 - 4, 1.5, 0) + end + + local exSkillGuideTextTasks = {models.models.action_wheel_gui.Gui.ExSkillGuide:getTask("action_wheel.gui.ex_skill_guide.title"), models.models.action_wheel_gui.Gui.ExSkillGuide:getTask("action_wheel.gui.ex_skill_guide.body_1"), models.models.action_wheel_gui.Gui.ExSkillGuide:getTask("action_wheel.gui.ex_skill_guide.body_2")} + exSkillGuideTextTasks[1]:setText(self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.title")) + exSkillGuideTextTasks[2]:setText(self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill == nil and "§0§l\""..self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.ex_skill_"..self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].exSkill..".name").."\"" or "§0§l\""..self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.ex_skill_"..self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].exSkill..".name").."\"§r§0 - \""..self.parent.keyManager.keyMappings.ex_skill:getKeyName().."\"") + exSkillGuideTextTasks[3]:setText(self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill == nil and "§0"..self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.key_pre")..self.parent.keyManager.keyMappings.ex_skill:getKeyName()..self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.key_post") or "§0§l\""..self.parent.locale:getLocale("action_wheel.gui.ex_skill_guide.ex_skill_"..self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill..".name").."\"§r§0 - \""..self.parent.keyManager.keyMappings.ex_skill_sub:getKeyName().."\"") + + local exSkillGuideTitleWidth = client.getTextWidth(exSkillGuideTextTasks[1]:getText()) / 2 + 4 + local exSkillGuideWidth = exSkillGuideTitleWidth + for i = 2, #exSkillGuideTextTasks do + exSkillGuideWidth = math.max(exSkillGuideWidth, client.getTextWidth(exSkillGuideTextTasks[i]:getText()) / 2 + 10) + end + exSkillGuideWidth = math.max(exSkillGuideWidth, 39) + + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.TitleBar:setPos((exSkillGuideWidth - exSkillGuideTitleWidth) / 2, 0, 0) + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.TitleBar:setScale(exSkillGuideTitleWidth, 1, 1) + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.TitleCenter:setScale(exSkillGuideWidth - 25, 1, 1) + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.TitleLeft:setPos(exSkillGuideWidth - 26, 0, 0) + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.BodyBottomCenter:setScale(exSkillGuideWidth - 39, 1, 1) + models.models.action_wheel_gui.Gui.ExSkillGuide.ExSkillGuideBackground.BodyBottomLeft:setPos(exSkillGuideWidth - 40, 0, 0) + exSkillGuideTextTasks[1]:setPos(exSkillGuideWidth / 2, 0, 0) + for i = 2, #exSkillGuideTextTasks do + exSkillGuideTextTasks[i]:setPos(exSkillGuideWidth / 2, (i - 2) * -5 - 8) + end + + local versionDisplayTextTasks = {} + for i = 1, 3 do + table.insert(versionDisplayTextTasks, models.models.action_wheel_gui.Gui.VersionDisplay:getTask("action_wheel.gui.version_display.l"..i)) + end + + for i = 2, 3 do + versionDisplayTextTasks[i]:setPos(0, (i - 1) * -2.25, 0) + end + + elseif not isActionWheelOpened and self.isActionWheelOpenedPrev then + models.models.action_wheel_gui.Gui:setVisible(false) + end + self.isActionWheelOpenedPrev = isActionWheelOpened + end) + + models.models.action_wheel_gui.Gui:setScale(2, 2, 2) + for _, textTask in ipairs({models.models.action_wheel_gui.Gui.BubbleGuide:newText("action_wheel.gui.bubble_guide.title"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.GoodEmoji:newText("bubble_guide.bubble_1.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.HeartEmoji:newText("bubble_guide.bubble_2.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.NoteEmoji:newText("bubble_guide.bubble_3.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.QuestionEmoji:newText("bubble_guide.bubble_4.key_name"), models.models.action_wheel_gui.Gui.BubbleGuide.Emojis.SweatEmoji:newText("bubble_guide.bubble_5.key_name"), models.models.action_wheel_gui.Gui.ExSkillGuide:newText("action_wheel.gui.ex_skill_guide.title"), models.models.action_wheel_gui.Gui.ExSkillGuide:newText("action_wheel.gui.ex_skill_guide.body_1"), models.models.action_wheel_gui.Gui.ExSkillGuide:newText("action_wheel.gui.ex_skill_guide.body_2")}) do + textTask:setScale(0.5, 0.5, 0.5) + textTask:setAlignment("CENTER") + end + for i = 1, 3 do + local textTask = models.models.action_wheel_gui.Gui.VersionDisplay:newText("action_wheel.gui.version_display.l"..i) + textTask:setScale(0.25, 0.25, 0.25) + textTask:setShadow(true) + if i == 1 then + textTask:setText("Figura Blue Archive Characters (FBAC)") + end + end + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/action_wheel/update_checker.lua b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/action_wheel/update_checker.lua new file mode 100644 index 0000000..c0ba312 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/action_wheel/update_checker.lua @@ -0,0 +1,181 @@ +---@alias UpdateChecker.CheckerStatus +---| "INIT" # 初期状態 +---| "CHECKING" # アップデート確認中 +---| "LATEST" # アップデート確認済み:最新版 +---| "UPDATE_AVAILABLE" # アップデート確認済み:アップデートあり +---| "ERROR_INVALID_JSON" # エラー:予期しないJSONデータ +---| "ERROR_INVALID_JSON_SYNTAX" # エラー:不正なJSON構文 +---| "ERROR_REQUEST_FAILED" # リクエストに失敗 +---| "ERROR_NETWORK_ERR" # ネットワークエラー +---| "ERROR_NOT_ALLOWED" # ネットワーキングAPIが不許可 + +---@class (exact) UpdateChecker : AvatarModule FBACのアップデートの確認を管理するクラス +---@field package FBAC_VERSION string 現在のFBACバージョン +---@field package BRANCH_NAME string このブランチ名(キャラクター名) +---@field public latestVersion? string リモート上にある最新のFBACバージョン +---@field public checkerStatus UpdateChecker.CheckerStatus アップデートチェッカーの状態 +---@field package requestStatus integer 送信したリクエストのステータスコード +---@field package responseHandler Future.HttpResponse|nil httpレスポンスのハンドラ +---@field package textAnimationCount integer 新しいバージョン表示のテキストのアニメーションのカウンター +---@field package isActionWheelOpenedPrev boolean 前ティックにアクションホイールを開けていたかどうか +---@field package compareVersions fun(version1: string, version2: string): string|nil 2つのバージョン文字列を比較し、新しい方を返す +---@field package showNewUpdateMessage fun(self: UpdateChecker) 新FBACバージョンのお知らせを表示する +---@field public checkUpdate fun(self: UpdateChecker) FBACアップデートの確認を行う + +UpdateChecker = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return UpdateChecker + new = function (parent) + ---@type UpdateChecker + local instance = Avatar.instantiate(UpdateChecker, AvatarModule, parent) + + instance.FBAC_VERSION = "v2.1.2" + instance.BRANCH_NAME = "Umika" + instance.latestVersion = instance.parent.config:loadConfig("PUBLIC", "latestVersion", nil) + instance.checkerStatus = "INIT" + instance.requestStatus = 0 + instance.textAnimationCount = 0 + + return instance + end; + + ---初期化関数 + ---@param self UpdateChecker + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + models.models.action_wheel_gui.Gui.VersionDisplay:getTask("action_wheel.gui.version_display.l2"):setText(self.FBAC_VERSION.." - "..self.BRANCH_NAME) + + events.TICK:register(function () + local isActionWheelOpened = action_wheel:isEnabled() + if isActionWheelOpened then + local textTask = models.models.action_wheel_gui.Gui.VersionDisplay:getTask("action_wheel.gui.version_display.l3") + if self.checkerStatus == "UPDATE_AVAILABLE" then + if math.floor(self.textAnimationCount / 20) % 2 == 0 then + textTask:setText("§6§n"..self.parent.locale:getLocale("action_wheel.gui.update_check.update_available")..self.latestVersion) + else + textTask:setText("§n"..self.parent.locale:getLocale("action_wheel.gui.update_check.update_available")..self.latestVersion) + end + self.textAnimationCount = self.textAnimationCount + 1 + elseif self.checkerStatus == "ERROR_REQUEST_FAILED" then + textTask:setText(self.parent.locale:getLocale("action_wheel.gui.update_check.error_request_failed").."("..self.requestStatus..")") + else + textTask:setText(self.parent.locale:getLocale("action_wheel.gui.update_check."..self.checkerStatus:lower())) + end + elseif not isActionWheelOpened and self.isActionWheelOpenedPrev then + self.textAnimationCount = 0 + end + self.isActionWheelOpenedPrev = isActionWheelOpened + end) + + local lastUpdateCheckTime = self.parent.config:loadConfig("PUBLIC", "lastUpdateCheckTime", 0) + if client:getSystemTime() >= lastUpdateCheckTime + 86400000 then + self:checkUpdate() + else + local newerVersion = self.compareVersions(self.latestVersion, self.FBAC_VERSION) + if newerVersion ~= nil and newerVersion ~= self.FBAC_VERSION then + self:showNewUpdateMessage() + self.checkerStatus = "UPDATE_AVAILABLE" + else + self.checkerStatus = "LATEST" + end + end + end + end; + + ---2つのバージョン文字列を比較し、新しい方を返す。 + ---@param version1 string 比較するバージョン文字列1 + ---@param version2 string 比較するバージョン文字列2 + ---@return string|nil newerVersion 新しい方のバージョン文字列。比較不可能だった場合はnilを返す。 + compareVersions = function (version1, version2) + local major1, minor1, patch1 = version1:match("^v(%d+)%.(%d+)%.(%d+)") + local major2, minor2, patch2 = version2:match("^v(%d+)%.(%d+)%.(%d+)") + major1 = tonumber(major1) + minor1 = tonumber(minor1) + patch1 = tonumber(patch1) + major2 = tonumber(major2) + minor2 = tonumber(minor2) + patch2 = tonumber(patch2) + if major1 ~= nil and minor1 ~= nil and patch1 ~= nil and major2 ~= nil and minor2 ~= nil and patch2 ~= nil then + return (major1 > major2 or (major1 == major2 and minor1 > minor2) or (major1 == major2 and minor1 == minor2 and patch1 > patch2)) and version1 or version2 + end + end; + + ---新FBACバージョンのお知らせを表示する。 + ---@param self UpdateChecker + showNewUpdateMessage = function (self) + print(self.parent.locale:getLocale("action_wheel.gui.update_check.update_available")..self.latestVersion) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.experience_orb.pickup"), player:getPos(), 1, 1) + end; + + ---FBACアップデートの確認を行う。 + ---@param self UpdateChecker + checkUpdate = function (self) + if host:isHost() and self.checkerStatus ~= "CHECKING" then + self.checkerStatus = "CHECKING" + if net:isNetworkingAllowed() and net:isLinkAllowed("https://api.github.com") then + local request = net.http:request("https://api.github.com/repos/Gakuto1112/FiguraBlueArchiveCharacters/tags") + self.responseHandler = request:send() + events.TICK:register(function () + if self.responseHandler:isDone() then + local response = self.responseHandler:getValue() + if response ~= nil then + local stats = response:getResponseCode() + if math.floor(stats / 100) == 2 then + local stream = response:getData() + local buffer = data:createBuffer() + buffer:readFromStream(stream) + buffer:setPosition(0) + local jsonData = buffer:readByteArray() + if json.isSerializable(jsonData) then + local parseData = parseJson(jsonData) + if parseData[1] ~= nil and parseData[1].name ~= nil then + local newerVersion = self.compareVersions(parseData[1].name, self.FBAC_VERSION) + if newerVersion ~= nil then + if newerVersion ~= self.FBAC_VERSION then + --新しいバージョンがある + self.latestVersion = parseData[1].name + self.checkerStatus = "UPDATE_AVAILABLE" + self:showNewUpdateMessage() + else + --現在は最新 + self.latestVersion = parseData[1].name + self.checkerStatus = "LATEST" + end + self.parent.config:saveConfig("PUBLIC", "lastUpdateCheckTime", client:getSystemTime()) + self.parent.config:saveConfig("PUBLIC", "latestVersion", parseData[1].name) + else + --予期しないJSONデータ + self.checkerStatus = "ERROR_INVALID_JSON" + end + else + --予期しないJSONデータ + self.checkerStatus = "ERROR_INVALID_JSON" + end + else + --JSON解析エラー + self.checkerStatus = "ERROR_INVALID_JSON_SYNTAX" + end + stream:close() + buffer:close() + else + --ステータスコードが200番台以外 + self.checkerStatus = "ERROR_REQUEST_FAILED" + self.requestStatus = stats + end + else + --ネットワークエラー + self.checkerStatus = "ERROR_NETWORK_ERR" + end + events.TICK:remove("update_checker_http_tick") + end + end, "update_checker_http_tick") + else + ---ネットワーキングAPIが不許可 + self.checkerStatus = "ERROR_NOT_ALLOWED" + end + end + end; +} diff --git a/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/armor.lua b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/armor.lua new file mode 100644 index 0000000..7c22696 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/armor.lua @@ -0,0 +1,364 @@ +---防具の部位 +---@alias Armor.ArmorPart +---| "HELMET" # ヘルメット +---| "CHEST_PLATE" # チェストプレート +---| "LEGGINGS" # レギンス +---| "BOOTS" # ブーツ + +---@class (exact) Armor : AvatarModule 防具の表示を制御するクラス +---@field public shouldShowArmor boolean 防具を表示するかどうか +---@field public armorSlotItems ItemStack[] 現ティックの防具スロットのアイテム +---@field package armorSlotItemsPrev ItemStack[] 前ティックの防具スロットのアイテム +---@field public isArmorVisible Armor.VisiblePartsSet 各防具の部位(ヘルメット、チェストプレート、レギンス、ブーツ)が可視状態かどうか +---@field package textureQueue Armor.TextureQueueData[] テクスチャ処理のキュー +---@field package getArmorColor fun(armorItem: ItemStack): number 防具の色を取得する +---@field package compareTrims fun(trim1?: Armor.TrimData, trim2?: Armor.TrimData): boolean 防具装飾が同じものか比較する +---@field package addTextureQueue fun(self: Armor, texture: Texture, paletteName: string) テクスチャの処理のキューにデータを挿入する +---@field package getTrimTexture fun(self: Armor, trimData?: Armor.TrimData, armorId: string): Texture|nil バニラパーツの防具装飾のテクスチャを取得する。テクスチャの処理は次のチック以降行われる。 +---@field public setHelmet fun(self: Armor, helmetItem: ItemStack) ヘルメットを更新する +---@field public setChestplate fun(self: Armor, chestplateItem: ItemStack) チェストプレートを更新する +---@field public setLeggings fun(self: Armor, leggingsItem: ItemStack) レギンスを更新する +---@field public setBoots fun(self: Armor, bootsItem: ItemStack) ブーツを更新する + +---@class (exact) Armor.VisiblePartsSet 各防具の部位の可視状態のセット +---@field public helmet boolean ヘルメット +---@field public chestplate boolean チェストプレート +---@field public leggings boolean レギンス +---@field public boots boolean ブーツ + +---@class (exact) Armor.TextureQueueData テクスチャキューに入るデータの構造体 +---@field public texture Texture 処理対象のテクスチャ +---@field public palette Texture 処理に使用するパレットのテクスチャ +---@field public iterationCount integer 現在の繰り返しカウンター + +---@class (exact) Armor.TrimData 防具装飾のデータセット +---@field public pattern string 防具装飾の模様 +---@field public material string 防具装飾の素材 + +Armor = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Armor + new = function (parent) + ---@type Armor + local instance = Avatar.instantiate(Armor, AvatarModule, parent) + instance.shouldShowArmor = instance.parent.config:loadConfig("PRIVATE", "showArmor", false) + instance.armorSlotItems = {world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air"))} + instance.armorSlotItemsPrev = {world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air"))} + instance.isArmorVisible = { + helmet = false; + chestplate = false; + leggings = false; + boots = false; + } + instance.textureQueue = {} + + return instance + end; + + ---初期化関数 + ---@param self Armor + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + self.armorSlotItems = self.shouldShowArmor and {player:getItem(6), player:getItem(5), player:getItem(4), player:getItem(3)} or {world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air")), world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))} + if self.armorSlotItems[1].id ~= self.armorSlotItemsPrev[1].id then + self:setHelmet(self.armorSlotItems[1]) + end + if self.armorSlotItems[2].id ~= self.armorSlotItemsPrev[2].id then + self:setChestplate(self.armorSlotItems[2]) + end + if self.armorSlotItems[3].id ~= self.armorSlotItemsPrev[3].id then + self:setLeggings(self.armorSlotItems[3]) + end + if self.armorSlotItems[4].id ~= self.armorSlotItemsPrev[4].id then + self:setBoots(self.armorSlotItems[4]) + end + + for index, armorSlotItem in ipairs(self.armorSlotItems) do + local glint = armorSlotItem:hasGlint() + if glint ~= self.armorSlotItemsPrev[index]:hasGlint() then + --エンチャント変更 + local renderType = glint and "GLINT" or "NONE" + if index == 2 then + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom}) do + armorPart:setSecondaryRenderType(renderType) + end + elseif index == 3 then + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom}) do + armorPart:setSecondaryRenderType(renderType) + end + else + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom}) do + armorPart:setSecondaryRenderType(renderType) + end + end + end + local armorColor = self.getArmorColor(armorSlotItem) + if armorColor ~= self.getArmorColor(self.armorSlotItemsPrev[index]) then + --色変更 + local colorVector = vectors.intToRGB(armorColor) + if index == 2 then + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplate, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottom, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplate, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottom}) do + armorPart:setColor(colorVector) + end + elseif index == 3 then + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggings, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggings, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottom}) do + armorPart:setColor(colorVector) + end + else + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBoots, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBoots, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottom}) do + armorPart:setColor(colorVector) + end + end + end + local trim = self.armorSlotItems[index].tag.Trim + if not self.compareTrims(trim, self.armorSlotItemsPrev[index].tag.Trim) then + --トリム変更 + if index == 2 then + local trimTexture = self:getTrimTexture(trim, self.armorSlotItems[2].id) + if trimTexture then + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplateTrim, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottomTrim, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplateTrim, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottomTrim}) do + armorPart:setVisible(true) + armorPart:setPrimaryTexture("CUSTOM", trimTexture) + end + else + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplateTrim, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottomTrim, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplateTrim, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottomTrim}) do + armorPart:setVisible(false) + end + end + elseif index == 3 then + local trimTexture = self:getTrimTexture(trim, self.armorSlotItems[3].id) + if trimTexture then + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggingsTrim, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottomTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggingsTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottomTrim}) do + armorPart:setVisible(true) + armorPart:setPrimaryTexture("CUSTOM", trimTexture) + end + else + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggingsTrim, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottomTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggingsTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottomTrim}) do + armorPart:setVisible(false) + end + end + else + local trimTexture = self:getTrimTexture(trim, self.armorSlotItems[4].id) + if trimTexture then + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBootsTrim, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottomTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBootsTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottomTrim}) do + armorPart:setVisible(true) + armorPart:setPrimaryTexture("CUSTOM", trimTexture) + end + else + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBootsTrim, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottomTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBootsTrim, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottomTrim}) do + armorPart:setVisible(false) + end + end + end + end + end + --テクスチャの作成処理 + if #self.textureQueue > 0 then + local instructionsAvailable = avatar:getMaxTickCount() - 3000 --このTICKで使用出来る残りの命令数 + while #self.textureQueue > 0 and instructionsAvailable > 0 do + local dimension = self.textureQueue[1].texture:getDimensions() + for y = math.floor(self.textureQueue[1].iterationCount / dimension.x), dimension.y - 1 do + for x = self.textureQueue[1].iterationCount % dimension.x, dimension.x - 1 do + local pixel = self.textureQueue[1].texture:getPixel(x, y) + if pixel.w == 1 then + self.textureQueue[1].texture:setPixel(x, y, self.textureQueue[1].palette:getPixel(7 - math.floor(pixel.x * 8), 0)) + end + self.textureQueue[1].iterationCount = self.textureQueue[1].iterationCount + 1 + instructionsAvailable = instructionsAvailable - 45 + if instructionsAvailable <= 0 then + break + end + end + if instructionsAvailable <= 0 then + break + end + end + self.textureQueue[1].texture:update() + if self.textureQueue[1].iterationCount == dimension.x * dimension.y then + table.remove(self.textureQueue, 1) + end + end + end + self.armorSlotItemsPrev = self.armorSlotItems + end) + + for _, vanillaModel in ipairs({vanilla_model.HELMET, vanilla_model.CHESTPLATE, vanilla_model.LEGGINGS}) do + vanillaModel:setVisible(false) + end + for _, overlayPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottomOverlay, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottomOverlay, models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBootsOverlay, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottomOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBootsOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottomOverlay}) do + overlayPart:setPrimaryTexture("RESOURCE", "minecraft:textures/models/armor/leather_layer_1_overlay.png") + end + for _, overlayPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggingsOverlay, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottomOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggingsOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottomOverlay}) do + overlayPart:setPrimaryTexture("RESOURCE", "minecraft:textures/models/armor/leather_layer_2_overlay.png") + end + end; + + ---防具の色を取得する。 + ---@param armorItem ItemStack 調べるアイテムのオブジェクト + ---@return number color 防具モデルに設定すべき色 + getArmorColor = function (armorItem) + if armorItem.id:find("^minecraft:leather_") then + if armorItem.tag then + if armorItem.tag.display then + return armorItem.tag.display.color and armorItem.tag.display.color or 10511680 + else + return 10511680 + end + else + return 10511680 + end + else + return 16777215 + end + end; + + ---防具装飾が同じものか比較する。 + ---@param trim1? Armor.TrimData 比較する防具装飾のテーブル1 + ---@param trim2? Armor.TrimData 比較する防具装飾のテーブル2 + ---@return boolean isTrimSame 2つの防具装飾が同じものかどうか + compareTrims = function (trim1, trim2) + if type(trim1) == type(trim2) then + if trim1 then + if trim1.pattern ~= trim2.pattern then + return false + elseif trim1.material ~= trim2.material then + return false + else + return true + end + else + return true + end + else + return false + end + end; + + ---テクスチャの処理のキューにデータを挿入する。 + ---@param self Armor + ---@param texture Texture 処理を行うテクスチャ + ---@param paletteName string 使用するパレットの名前 + addTextureQueue = function (self, texture, paletteName) + if textures["trim_palette_"..paletteName] == nil then + textures:fromVanilla("trim_palette_"..paletteName, "minecraft:textures/trims/color_palettes/"..paletteName..".png") + end + table.insert(self.textureQueue, 1, { + texture = texture, + palette = textures["trim_palette_"..paletteName], + iterationCount = 0 + }) + end; + + ---バニラパーツの防具装飾のテクスチャを取得する。テクスチャの処理は次のチック以降行われる。 + ---@param self Armor + ---@param trimData? Armor.TrimData 防具装飾のデータ + ---@param armorId string 防具アイテムのID。 + ---@return Texture|nil trimTexture 色を付けた防具装飾のテクスチャ。防具や防具装飾が非バニラの場合はnilを返す。 + getTrimTexture = function (self, trimData, armorId) + if trimData and trimData.pattern:find("^minecraft:.+$") and trimData.material:find("^minecraft:.+$") and armorId:find("^minecraft:.+_.+$") then + local normalizedPatternName = trimData.pattern:match("^minecraft:(%a+)$") + local normalizedArmorMaterialName = armorId:match("^minecraft:(%a+)_.+$") + normalizedArmorMaterialName = normalizedArmorMaterialName == "golden" and "gold" or normalizedArmorMaterialName + local normalizedMaterialName = trimData.material:match("^minecraft:(%a+)$") + normalizedMaterialName = normalizedMaterialName..(normalizedArmorMaterialName == normalizedMaterialName and "_darker" or "") + local isLeggings = armorId:find("^minecraft:.+_leggings$") + local textureName = "trim_"..normalizedPatternName.."_"..normalizedMaterialName..(isLeggings and "_leggings" or "") + if textures[textureName] then + return textures[textureName] + else + local texture = textures:fromVanilla(textureName, "minecraft:textures/trims/models/armor/"..normalizedPatternName..(armorId:find("^minecraft:.+_leggings$") ~= nil and "_leggings" or "")..".png") + self:addTextureQueue(texture, normalizedMaterialName) + return texture + end + end + end; + + ---ヘルメットを更新する。 + ---@param self Armor + ---@param helmetItem ItemStack ヘルメットのスロットに入っているアイテム + setHelmet = function (self, helmetItem) + local helmetFound = helmetItem.id ~= "minecraft:air" + vanilla_model.HELMET:setVisible(helmetFound) + self.isArmorVisible.helmet = helmetFound + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onArmorChange ~= nil then + self.parent.characterData.costume.callbacks.onArmorChange(self.parent.characterData, "HELMET", self.isArmorVisible.helmet) + end + end; + + ---チェストプレートを更新する。 + ---@param self Armor + ---@param chestplateItem ItemStack チェストプレートスロットに入っているアイテム + setChestplate = function (self, chestplateItem) + local chestplateFound = chestplateItem.id:find("^minecraft:.+_chestplate$") ~= nil + vanilla_model.CHESTPLATE:setVisible(chestplateFound) + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB}) do + armorPart:setVisible(chestplateFound) + end + self.isArmorVisible.chestplate = chestplateFound + if self.isArmorVisible.chestplate then + local material = chestplateItem.id:match("^minecraft:(%a+)_chestplate$") + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplate, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottom, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplate, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottom}) do + armorPart:setPrimaryTexture("RESOURCE", "minecraft:textures/models/armor/"..(material == "golden" and "gold" or material).."_layer_1.png") + end + end + local overlayVisible = chestplateItem.id == "minecraft:leather_chestplate" + for _, armorPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.ArmorRA.RightChestplate.RightChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB.RightChestplateBottom.RightChestplateBottomOverlay, models.models.main.Avatar.UpperBody.Arms.LeftArm.ArmorLA.LeftChestplate.LeftChestplateOverlay, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB.LeftChestplateBottom.LeftChestplateBottomOverlay}) do + armorPart:setVisible(overlayVisible) + end + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onArmorChange ~= nil then + self.parent.characterData.costume.callbacks.onArmorChange(self.parent.characterData, "CHEST_PLATE", self.isArmorVisible.chestplate) + end + end; + + ---レギンスを更新する。 + ---@param self Armor + ---@param leggingsItem ItemStack レギンススロットに入っているアイテム + setLeggings = function (self, leggingsItem) + local leggingsFound = leggingsItem.id:find("^minecraft:.+_leggings$") ~= nil + vanilla_model.LEGGINGS:setVisible(leggingsFound) + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom}) do + armorPart:setVisible(leggingsFound) + end + self.isArmorVisible.leggings = leggingsFound + if self.isArmorVisible.leggings then + local material = leggingsItem.id:match("^minecraft:(%a+)_leggings$") + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggings, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggings, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottom}) do + armorPart:setPrimaryTexture("RESOURCE", "minecraft:textures/models/armor/"..(material == "golden" and "gold" or material).."_layer_2.png") + end + end + local overlayVisible = leggingsItem.id == "minecraft:leather_leggings" + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightLeggings.RightLeggingsOverlay, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightLeggingsBottom.RightLeggingsBottomOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftLeggings.LeftLeggingsOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftLeggingsBottom.LeftLeggingsBottomOverlay}) do + armorPart:setVisible(overlayVisible) + end + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onArmorChange ~= nil then + self.parent.characterData.costume.callbacks.onArmorChange(self.parent.characterData, "LEGGINGS", self.isArmorVisible.leggings) + end + end; + + ---ブーツを更新する。 + ---@param self Armor + ---@param bootsItem ItemStack ブーツスロットに入っているアイテム + setBoots = function (self, bootsItem) + local bootsFound = bootsItem.id:find("^minecraft:.+_boots$") ~= nil + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom}) do + armorPart:setVisible(bootsFound) + end + self.isArmorVisible.boots = bootsFound + if self.isArmorVisible.boots then + local material = bootsItem.id:match("^minecraft:(%a+)_boots$") + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBoots, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBoots, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottom}) do + armorPart:setPrimaryTexture("RESOURCE", "minecraft:textures/models/armor/"..(material == "golden" and "gold" or material).."_layer_1.png") + end + end + local overlayVisible = bootsItem.id == "minecraft:leather_boots" + for _, armorPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg.ArmorRL.RightBoots.RightBootsOverlay, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB.RightBootsBottom.RightBootsBottomOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.ArmorLL.LeftBoots.LeftBootsOverlay, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB.LeftBootsBottom.LeftBootsBottomOverlay}) do + armorPart:setVisible(overlayVisible) + end + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onArmorChange ~= nil then + self.parent.characterData.costume.callbacks.onArmorChange(self.parent.characterData, "BOOTS", self.isArmorVisible.boots) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/arms.lua b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/arms.lua new file mode 100644 index 0000000..27ef260 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/arms.lua @@ -0,0 +1,192 @@ +---@class (exact) Arms : AvatarModule アバターの腕を制御するクラス +---@field public armState Arms.ArmStateSet 腕の状態:0. バニラ状態, 1. 銃を構えている際の、銃を構えている方の腕, 2. 銃を構えている際の、銃を構えていない方の腕, 3. クロスボウ装填中 +---@field package armStatePrev Arms.ArmStateSet 前ティックの腕の状態 +---@field package swingCount integer 腕をプラプラさせるカウンター +---@field package isSwingCountProcessed boolean 腕プラプラカウンターを処理したかどうか +---@field package processArmWingCount fun(self: Arms) 腕プラプラカウンターを処理する +---@field public setArmState fun(self: Arms, right?: integer, left?: integer) 腕の状態を設定する + +---@class (exact) Arms.ArmStateSet 腕の状態を示すデータセット +---@field public right integer 右腕の状態 +---@field public left integer 左腕の状態 + +Arms = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Arms + new = function (parent) + ---@type Arms + local instance = Avatar.instantiate(Arms, AvatarModule, parent) + + instance.armState = { + right = 0; + left = 0; + } + instance.armStatePrev = { + right = 0; + left = 0; + } + instance.swingCount = 0 + instance.isSwingCountProcessed = false + + return instance + end; + + ---初期化関数 + ---@param self Arms + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + self.isSwingCountProcessed = false + end) + end; + + ---腕プラプラカウンターを処理する。 + ---@param self Arms + processArmWingCount = function (self) + if not client:isPaused() and not self.isSwingCountProcessed then + self.swingCount = self.swingCount + 1 + self.swingCount = self.swingCount == 100 and 0 or self.swingCount + self.isSwingCountProcessed = true + end + end; + + ---腕の状態を設定する。 + ---@param self Arms + ---@param right? integer 右腕の状態 + ---@param left? integer 左腕の状態 + setArmState = function (self, right, left) + if right ~= nil then + self.armState.right = right + end + if left ~= nil then + self.armState.left = left + end + if (self.armState.right == 1 or self.armState.left == 1) and player:getActiveItem().id == "minecraft:crossbow" then + self:setArmState(3, 3) + return + end + if self.parent.characterData.arms.callbacks ~= nil and self.parent.characterData.arms.callbacks.onArmStateChanged ~= nil then + local result = self.parent.characterData.arms.callbacks.onArmStateChanged(self.parent.characterData, self.armState.right, self.armState.left) + if result ~= nil then + if result.right ~= nil then + self.armState.right = result.right + end + if result.left ~= nil then + self.armState.left = result.left + end + end + end + + --右腕の操作 + if self.armState.right ~= self.armStatePrev.right then + --腕の状態をリセット + models.models.main.Avatar.UpperBody.Arms.RightArm:setRot() + models.models.main.Avatar.UpperBody.Arms.RightArm:setParentType("RightArm") + events.TICK:remove("right_arm_tick") + events.RENDER:remove("right_arm_render") + if self.armState.right == 1 then + --銃を構えている際の、銃を構えている方の腕 + events.TICK:register(function () + if self.armState.right == 1 then + self:processArmWingCount() + if player:isSwingingArm() and not player:isLeftHanded() then + models.models.main.Avatar.UpperBody.Arms.RightArm:setParentType("RightArm") + else + models.models.main.Avatar.UpperBody.Arms.RightArm:setParentType("Body") + end + if player:getActiveItem().id == "minecraft:crossbow" then + self:setArmState(3, 3) + end + end + end, "right_arm_tick") + events.RENDER:register(function (delta) + local headRot = vanilla_model.HEAD:getOriginRot() + models.models.main.Avatar.UpperBody.Arms.RightArm:setRot(player:isSwingingArm() and not player:isLeftHanded() and vectors.vec3() or vectors.vec3(headRot.x + math.sin((self.swingCount + delta) / 100 * math.pi * 2) * 2.5 + 90 + (player:isCrouching() and 30 or 0), headRot.y, 0)) + end, "right_arm_render") + elseif self.armState.right == 2 then + --銃を構えている際の、銃を構えていない方の腕 + events.TICK:register(function () + self:processArmWingCount() + end, "right_arm_tick") + events.RENDER:register(function (delta, context) + local headRot = vanilla_model.HEAD:getOriginRot() + local isSwingingArm = player:isSwingingArm() and not player:isLeftHanded() + models.models.main.Avatar.UpperBody.Arms.RightArm:setParentType((isSwingingArm or context == "FIRST_PERSON") and "RightArm" or "Body") + models.models.main.Avatar.UpperBody.Arms.RightArm:setRot(isSwingingArm and vectors.vec3() or vectors.vec3(headRot.x + math.sin((self.swingCount + delta) / 100 * math.pi * 2) * 2.5 + 90 + (player:isCrouching() and 30 or 0), math.map((headRot.y + 180) % 360 - 180, -50, 50, -21, 78), 0)) + end, "right_arm_render") + elseif self.armState.right == 3 then + --クロスボウ装填中 + events.TICK:register(function () + if player:getActiveItem().id ~= "minecraft:crossbow" and self.armState.right == 3 then + if self.parent.gun.currentGunPosition == "RIGHT" then + self:setArmState(1, 2) + elseif self.parent.gun.currentGunPosition == "LEFT" then + self:setArmState(2, 1) + end + end + end, "right_arm_tick") + end + if self.parent.characterData.arms.callbacks ~= nil and self.parent.characterData.arms.callbacks.onAdditionalRightArmProcess ~= nil then + self.parent.characterData.arms.callbacks.onAdditionalRightArmProcess(self.parent.characterData, self.armState.right) + end + self.armStatePrev.right = self.armState.right + end + --左腕の操作 + if self.armState.left ~= self.armStatePrev.left then + --腕の状態をリセット + models.models.main.Avatar.UpperBody.Arms.LeftArm:setRot() + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType("LeftArm") + events.TICK:remove("left_arm_tick") + events.RENDER:remove("left_arm_render") + if self.armState.left == 1 then + --銃を構えている際の、銃を構えている方の腕 + events.TICK:register(function () + if self.armState.left == 1 then + self:processArmWingCount() + if player:isSwingingArm() and player:isLeftHanded() then + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType("LeftArm") + else + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType("Body") + end + if player:getActiveItem().id == "minecraft:crossbow" then + self:setArmState(3, 3) + end + end + end, "left_arm_tick") + events.RENDER:register(function (delta) + local headRot = vanilla_model.HEAD:getOriginRot() + models.models.main.Avatar.UpperBody.Arms.LeftArm:setRot(player:isSwingingArm() and player:isLeftHanded() and vectors.vec3() or vectors.vec3(headRot.x + math.sin((self.swingCount + delta) / 100 * math.pi * 2) * -2.5 + 90 + (player:isCrouching() and 30 or 0), headRot.y, 0)) + end, "left_arm_render") + elseif self.armState.left == 2 then + --銃を構えている際の、銃を構えていない方の腕 + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType("Body") + events.TICK:register(function () + self:processArmWingCount() + end, "left_arm_tick") + events.RENDER:register(function (delta, context) + local headRot = vanilla_model.HEAD:getOriginRot() + local isSwingingArm = player:isSwingingArm() and player:isLeftHanded() + models.models.main.Avatar.UpperBody.Arms.LeftArm:setParentType((isSwingingArm or context == "FIRST_PERSON") and "LeftArm" or "Body") + models.models.main.Avatar.UpperBody.Arms.LeftArm:setRot(isSwingingArm and vectors.vec3() or vectors.vec3(headRot.x + math.sin((self.swingCount + delta) / 100 * math.pi * 2) * -2.5 + 90 + (player:isCrouching() and 30 or 0), math.map((headRot.y + 180) % 360 - 180, -50, 50, -78, 21), 0)) + end, "left_arm_render") + elseif self.armState.left == 3 then + --クロスボウ装填中 + events.TICK:register(function () + if player:getActiveItem().id ~= "minecraft:crossbow" and self.armState.left == 3 then + if self.parent.gun.currentGunPosition == "RIGHT" then + self:setArmState(1, 2) + elseif self.parent.gun.currentGunPosition == "LEFT" then + self:setArmState(2, 1) + end + end + end, "left_arm_tick") + end + if self.parent.characterData.arms.callbacks ~= nil and self.parent.characterData.arms.callbacks.onAdditionalLeftArmProcess ~= nil then + self.parent.characterData.arms.callbacks.onAdditionalLeftArmProcess(self.parent.characterData, self.armState.left) + end + self.armStatePrev.left = self.armState.left + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/avatar_module.lua b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/avatar_module.lua new file mode 100644 index 0000000..4ae2c3a --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/avatar_module.lua @@ -0,0 +1,23 @@ +---@class AvatarModule アバターの動作を構成するモジュールの抽象クラス +---@field public parent Avatar アバターのメインクラスへの参照 +---@field public new fun(parent: Avatar): AvatarModule コンストラクタ +---@field public init fun(self: AvatarModule) 初期化関数 + +AvatarModule = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return AvatarModule + new = function (parent) + ---@type AvatarModule + local instance = Avatar.instantiate(AvatarModule) + + instance.parent = parent + + return instance + end; + + ---初期化関数 + ---@param self AvatarModule + init = function (self) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/barrier.lua b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/barrier.lua new file mode 100644 index 0000000..06066b9 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/barrier.lua @@ -0,0 +1,88 @@ +---@class (exact) Barrier : AvatarModule バリアの視覚効果を管理するクラス +---@field package animationCounts number[] バリアのアニメーションのカウンター +---@field public isBarrierVisible boolean バリアが可視化状態かどうか +---@field package hadAbsorptionPrev boolean 前ティックの衝撃吸収のハートを持っていたかどうか +---@field package colorFactor number バリアの色の係数 +---@field public enable fun(self: Barrier) バリア機能を有効にする +---@field public disable fun(self: Barrier) バリア機能を無効にする + +Barrier = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Barrier + new = function (parent) + ---@type Barrier + local instance = Avatar.instantiate(Barrier, AvatarModule, parent) + + instance.animationCounts = {} + instance.isBarrierVisible = false + instance.hadAbsorptionPrev = false + instance.colorFactor = client:hasShaderPack() and 0.5 or 1 + + for i = 1, 32 do + instance.animationCounts[i] = math.random(0, 39) + end + + return instance + end; + + ---初期化関数 + ---@param self Barrier + init = function (self) + AvatarModule.init(self) + + models.models.main.Avatar.barrier:setLight(15) + + events.TICK:register(function () + local hasAbsorption = player:getAbsorptionAmount() > 0 and player:getHealth() > 0 + if hasAbsorption and not self.hadAbsorptionPrev then + self:enable() + elseif not hasAbsorption and self.hadAbsorptionPrev then + self:disable() + end + self.hadAbsorptionPrev = hasAbsorption + end) + end; + + ---バリア機能を有効にする。 + ---@param self Barrier + enable = function (self) + for i = 1, 32 do + self.animationCounts[i] = math.random(0, 39) + end + + events.TICK:register(function () + for i = 1, 32 do + self.animationCounts[i] = self.animationCounts[i] + 1 + if self.animationCounts[i] == 40 then + self.animationCounts[i] = 0 + end + end + self.colorFactor = client:hasShaderPack() and 0.5 or 1 + end, "barrier_tick") + + events.RENDER:register(function (delta, context) + if context == "FIRST_PERSON" or context == "RENDER" then + models.models.main.Avatar.barrier:setVisible(true) + for i = 1, 32 do + local opacity = math.abs(-0.025 * (self.animationCounts[i] + delta) + 0.5) + 0.5 + models.models.main.Avatar.barrier.Barrier["Barrier"..i]:setOpacity(opacity) + models.models.main.Avatar.barrier.Barrier["Barrier"..i]:setColor(opacity * self.colorFactor, opacity * self.colorFactor, 1) + end + else + models.models.main.Avatar.barrier:setVisible(false) + end + end, "barrier_render") + + self.isBarrierVisible = true + end; + + ---バリア機能を無効にする。 + ---@param self Barrier + disable = function (self) + models.models.main.Avatar.barrier:setVisible(false) + events.TICK:remove("barrier_tick") + events.RENDER:remove("barrier_render") + self.isBarrierVisible = false + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/bubble.lua b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/bubble.lua new file mode 100644 index 0000000..fc6197b --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/bubble.lua @@ -0,0 +1,224 @@ +---@alias Bubble.BubbleType +---| "GOOD" # 👍 +---| "HEART" # 💗 +---| "NOTE" # 🎵 +---| "QUESTION" # ❓ +---| "SWEAT" # 💦 +---| "RELOAD" # 弾薬をリロードする絵文字 +---| "DOTS" # … +---| "V" # ✌ + +---@class (exact) Bubble : AvatarModule 吹き出しエモートを管理するクラス +---@field public bubbleCount integer 吹き出しの表示時間を測るカウンター +---@field public emoji Bubble.BubbleType 吹き出しの絵文字 +---@field package duration integer 吹き出しを表示する時間。-1は時間無制限を示す。 +---@field package isAutoBubble boolean 吹き出しエモートが自動で出たものかどうか +---@field package shouldShowInHud boolean 一人称用にHUDに吹き出しを表示するかどうか +---@field package emojiAnimationCount number 絵文字のアニメーションのタイミングを測るカウンター +---@field package isForcedStop boolean 吹き出しエモートが強制停止させられたかどうか +---@field public isChatOpened boolean チャットを開けているかどうか +---@field package isChatOpenedPrev boolean 前ティックにチャットを開けていたかどうか +---@field public play fun(self: Bubble, type: Bubble.BubbleType, duration: integer, offsetPos: Vector2, offsetRot: number, shouldShowInHud: boolean) 吹き出しエモートを再生する +---@field public stop fun(self: Bubble) 吹き出しエモートを停止する + +Bubble = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Bubble + new = function (parent) + ---@type Bubble + local instance = Avatar.instantiate(Bubble, AvatarModule, parent) + + instance.bubbleCount = 0 + instance.emoji = "GOOD" + instance.duration = 0 + instance.isAutoBubble = false + instance.shouldShowInHud = false + instance.emojiAnimationCount = 0 + instance.isForcedStop = false + instance.isChatOpened = false + instance.isChatOpenedPrev = false + + return instance + end; + + ---初期化関数 + ---@param self Bubble + init = function (self) + AvatarModule.init(self) + + models.models.bubble:addChild(models:newPart("Gui", "Gui")) + models.models.bubble.Gui:addChild(models.models.bubble.Camera.AvatarBubble:copy("FirstPersonBubble")) + models.models.bubble.Gui.FirstPersonBubble:setVisible(false) + for _, modelPart in ipairs({models.models.bubble.Camera.AvatarBubble, models.models.bubble.Gui.FirstPersonBubble}) do + modelPart:setScale(0, 0, 0) + end + + --エモートガイド + if host:isHost() then + self.parent.keyManager:register("bubble_1", self.parent.config:loadConfig("PRIVATE", "keybind.bubble_1", "key.keyboard.j")):onPress(function () + if self.parent.exSkill.animationCount == -1 and (self.bubbleCount == 0 or self.isAutoBubble) then + pings.showBubbleEmote("GOOD") + end + end) + self.parent.keyManager:register("bubble_2", self.parent.config:loadConfig("PRIVATE", "keybind.bubble_2", "key.keyboard.k")):onPress(function () + if self.parent.exSkill.animationCount == -1 and (self.bubbleCount == 0 or self.isAutoBubble) then + pings.showBubbleEmote("HEART") + end + end) + self.parent.keyManager:register("bubble_3", self.parent.config:loadConfig("PRIVATE", "keybind.bubble_3", "key.keyboard.n")):onPress(function () + if self.parent.exSkill.animationCount == -1 and (self.bubbleCount == 0 or self.isAutoBubble) then + pings.showBubbleEmote("NOTE") + end + end) + self.parent.keyManager:register("bubble_4", self.parent.config:loadConfig("PRIVATE", "keybind.bubble_4", "key.keyboard.m")):onPress(function () + if self.parent.exSkill.animationCount == -1 and (self.bubbleCount == 0 or self.isAutoBubble) then + pings.showBubbleEmote("QUESTION") + end + end) + self.parent.keyManager:register("bubble_5", self.parent.config:loadConfig("PRIVATE", "keybind.bubble_5", "key.keyboard.comma")):onPress(function () + if self.parent.exSkill.animationCount == -1 and (self.bubbleCount == 0 or self.isAutoBubble) then + pings.showBubbleEmote("SWEAT") + end + end) + end + + events.TICK:register(function () + if host:isHost() then + local isChatOpened = host:isChatOpen() + if isChatOpened ~= self.isChatOpened then + pings.setChatOpen(isChatOpened) + end + self.isChatOpenedPrev = isChatOpened + end + + if player:getActiveItem().id == "minecraft:crossbow" then + if self.bubbleCount == 0 or (self.isAutoBubble and self.emoji ~= "RELOAD") then + self:play("RELOAD", -1, vectors.vec2(), 0, false) + self.isAutoBubble = true + end + elseif self.isChatOpened and self.parent.exSkill.transitionCount == 0 then + if self.bubbleCount == 0 or (self.isAutoBubble and self.emoji ~= "DOTS") then + self:play("DOTS", -1, vectors.vec2(), 0, false) + self.isAutoBubble = true + end + elseif self.isAutoBubble then + self:stop() + self.isAutoBubble = false + end + end) + end; + + ---吹き出しエモートを再生する。 + ---@param self Bubble + ---@param type Bubble.BubbleType 再生する絵文字の種類 + ---@param duration integer 吹き出しを表示している時間。-1にすると停止するまでずっと表示する。 + ---@param offsetPos Vector2 吹き出しの位置のオフセット値 + ---@param offsetRot number アバター周回上の、吹き出しが表示される位置のオフセット値 + ---@param shouldShowInHud boolean 一人称用にHUDに吹き出しを表示するかどうか + play = function (self, type, duration, offsetPos, offsetRot, shouldShowInHud) + self.emoji = type + self.duration = duration + self.shouldShowInHud = shouldShowInHud + self.bubbleCount = 1 + self.emojiAnimationCount = 0 + models.models.bubble.Camera.AvatarBubble.Emoji:setPrimaryTexture("CUSTOM", textures["textures.emojis."..self.emoji:lower()]) + models.models.bubble.Camera.AvatarBubble.Bullets:setVisible(self.emoji == "RELOAD") + models.models.bubble.Camera.AvatarBubble.Dots:setVisible(self.emoji == "DOTS") + if self.shouldShowInHud then + models.models.bubble.Gui.FirstPersonBubble.Emoji:setPrimaryTexture("CUSTOM", textures["textures.emojis."..self.emoji:lower()]) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.item.pickup"), self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar)) + end + + if events.TICK:getRegisteredCount("bubble_tick") == 0 then + events.TICK:register(function () + if not client:isPaused() then + models.models.bubble.Gui.FirstPersonBubble:setVisible(self.shouldShowInHud and renderer:isFirstPerson()) + self.bubbleCount = self.bubbleCount + 1 + if self.bubbleCount == 0 then + for _, modelPart in ipairs({models.models.bubble.Camera.AvatarBubble, models.models.bubble.Gui.FirstPersonBubble, models.models.bubble.Camera.AvatarBubble.Bullets, models.models.bubble.Gui.FirstPersonBubble.Bullets}) do + modelPart:setVisible(false) + end + events.TICK:remove("bubble_tick") + events.RENDER:remove("bubble_render") + if self.parent.characterData.bubble.callbacks ~= nil and self.parent.characterData.bubble.callbacks.onStop ~= nil then + self.parent.characterData.bubble.callbacks.onStop(self.parent.characterData, type, self.isForcedStop) + end + elseif self.duration >= 0 and self.bubbleCount == self.duration + 2 then + self:stop() + end + if self.emoji == "RELOAD" or self.emoji == "DOTS" then + self.emojiAnimationCount = self.emojiAnimationCount + 1 + self.emojiAnimationCount = self.emojiAnimationCount == 25 and 0 or self.emojiAnimationCount + if self.emoji == "DOTS" then + for i = 1, 3 do + models.models.bubble.Camera.AvatarBubble.Dots["Dot"..i]:setVisible(self.emojiAnimationCount >= 6 * i) + end + end + end + end + end, "bubble_tick") + end + + if events.RENDER:getRegisteredCount("bubble_render") == 0 then + events.RENDER:register(function (delta, context) + models.models.bubble.Camera.AvatarBubble:setVisible(context ~= "OTHER") + if not client:isPaused() then + local bubbleScale = math.min(math.abs(0.5 * (self.bubbleCount + delta)), 1) + models.models.bubble.Camera.AvatarBubble:setScale(vectors.vec3(1, 1, 1):scale(bubbleScale)) + local playerPos = self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar) + local avatarBubblePos = context == "PAPERDOLL" and vectors.vec3(0, 32, 0) or vectors.rotateAroundAxis(player:getBodyYaw(delta) + 180, playerPos:copy():sub(player:getPos(delta)):scale(17.067):add(0, 32 + offsetPos.y, 0), 0, 1, 0) + if not renderer:isFirstPerson() then + local cameraPos = client:getCameraPos() + avatarBubblePos:add(vectors.rotateAroundAxis(math.deg(math.atan2(cameraPos.z - playerPos.z, cameraPos.x - playerPos.x) - math.pi / 2) % 360 - (player:getBodyYaw(delta) + offsetRot) % 360, 12 + offsetPos.x, 0, 0, 0, -1, 0)) + else + avatarBubblePos:add(12 + offsetPos.x, 0, 0) + end + models.models.bubble.Camera:setOffsetPivot(avatarBubblePos) + models.models.bubble.Camera.AvatarBubble:setPos(avatarBubblePos) + if host:isHost() and self.shouldShowInHud then + local windowSize = client:getScaledWindowSize() + models.models.bubble.Gui.FirstPersonBubble:setPos(-windowSize.x + 10, -windowSize.y + (action_wheel:isEnabled() and 125 or 10), 0) + models.models.bubble.Gui.FirstPersonBubble:setScale(vectors.vec3(1, 1, 1):scale(bubbleScale * 4)) + end + if self.emoji == "RELOAD" then + local bullet1Counter = math.clamp((self.emojiAnimationCount + delta) * 0.2 - 1, 0, 1) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet1:setPos(0, 1 - bullet1Counter, 0) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet1:setOpacity(bullet1Counter) + local bullet2Counter = math.clamp((self.emojiAnimationCount + delta) * 0.2 - 2, 0, 1) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet2:setPos(0, 1 - bullet2Counter, 0) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet2:setOpacity(bullet2Counter) + local bullet3Counter = math.clamp((self.emojiAnimationCount + delta) * 0.2 - 3, 0, 1) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet3:setPos(0, 1 - bullet3Counter, 0) + models.models.bubble.Camera.AvatarBubble.Bullets.Bullet3:setOpacity(bullet3Counter) + end + end + end, "bubble_render") + end + if self.parent.characterData.bubble.callbacks ~= nil and self.parent.characterData.bubble.callbacks.onPlay ~= nil then + self.parent.characterData.bubble.callbacks.onPlay(self.parent.characterData, type, duration, shouldShowInHud) + end + end; + + ---吹き出しエモートを停止する。 + ---@param self Bubble + stop = function (self) + if self.bubbleCount > 0 then + self.isForcedStop = self.duration == -1 or self.bubbleCount < self.duration + 2 + self.bubbleCount = -2 + end + end; +} + +---吹き出しエモートを表示する。 +---@param type Bubble.BubbleType 表示する絵文字の種類 +function pings.showBubbleEmote(type) + AvatarInstance.bubble:play(type, 50, vectors.vec2(), 0, true) + AvatarInstance.bubble.isAutoBubble = false +end + +---Bubbleのチャットを開けているフラグを更新する。 +---@param value boolean 新しい値 +function pings.setChatOpen(value) + AvatarInstance.bubble.isChatOpened = value +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/camera_manager.lua b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/camera_manager.lua new file mode 100644 index 0000000..e985b05 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/camera_manager.lua @@ -0,0 +1,99 @@ +---@class (exact) CameraManager : AvatarModule カメラ制御全般を管理するクラス +---@field package COLLISION_DENIAL_DISABLED boolean カメラの当たり判定打ち消し機能を無効にする。撮影用。 +---@field package thirdPersonCameraDistance number 三人称視点でのカメラと回転軸の距離 +---@field package isCameraCollisionDenialEnabled boolean 三人称視点でのカメラの当たり判定打ち消し機能が有効かどうか +---@field public setCameraManagerRender fun(self: CameraManager, enabled: boolean) CameraManagerのレンダー関数を設定する +---@field public setCameraPivot fun(newPivot?: Vector3) カメラの回転軸のオフセット位置を変更する +---@field public setCameraRot fun(newRot?: Vector3) カメラ方向を変更する +---@field public setThirdPersonCameraDistance fun(self: CameraManager, distance: number) 三人称視点でのカメラと回転軸の距離を設定する +---@field public setCameraCollisionDenial fun(self: CameraManager, enabled: boolean) カメラの当たり判定打ち消し機能を設定する + +CameraManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return CameraManager + new = function (parent) + ---@type CameraManager + local instance = Avatar.instantiate(CameraManager, AvatarModule, parent) + + instance.COLLISION_DENIAL_DISABLED = false + instance.thirdPersonCameraDistance = 4 + instance.isCameraCollisionDenialEnabled = false + + return instance + end; + + ---CameraManagerのレンダー関数を設定する。 + ---@param self CameraManager + ---@param enabled boolean CameraManagerのレンダー関数を有効化するかどうか + setCameraManagerRender = function (self, enabled) + if enabled and events.RENDER:getRegisteredCount("camera_manager_render") == 0 then + events.RENDER:register(function () + if renderer:isFirstPerson() then + renderer:setCameraPos() + else + local rawOffsetCameraPivot = renderer:getCameraOffsetPivot() + rawOffsetCameraPivot = rawOffsetCameraPivot == nil and vectors.vec3() or rawOffsetCameraPivot + local cameraPivot = player:getPos():add(0, 1.62, 0):add(rawOffsetCameraPivot) + local cameraDir = client:getCameraDir() + local baseVector = vectors.rotateAroundAxis(math.deg(math.asin(cameraDir.y)), 0, 0.21, 0, vectors.rotateAroundAxis(math.deg(math.atan2(cameraDir.z, cameraDir.x)) * -1 - 90, 1, 0, 0, 0, 1, 0)) + local minDistance = math.max(self.thirdPersonCameraDistance, 4) + if not self.COLLISION_DENIAL_DISABLED then + for i = 0, 3 do + local startPos = vectors.rotateAroundAxis(i * 90 + 45, baseVector:copy(), cameraDir):add(cameraPivot) + local _, collisionPos, _ = raycast:block(startPos, startPos:copy():add(cameraDir:copy():scale(-4)), "VISUAL", "NONE") + minDistance = math.min(collisionPos:copy():sub(startPos):length(), minDistance) + end + end + renderer:setCameraPos(0, 0, (minDistance > self.thirdPersonCameraDistance or self.isCameraCollisionDenialEnabled) and self.thirdPersonCameraDistance - minDistance or 0) + end + end, "camera_manager_render") + elseif not enabled then + events.RENDER:remove("camera_manager_render") + renderer:setCameraPos() + end + end; + + ---カメラの回転軸のオフセット位置を変更する。 + ---@param newPivot? Vector3 設定する新しいカメラ回転軸のオフセット位置。nilの場合は設定値がリセットされる。 + setCameraPivot = function (newPivot) + if host:isHost() then + renderer:setOffsetCameraPivot(newPivot) + end + end; + + ---カメラ方向を変更する。 + ---@param newRot? Vector3 設定する新しいカメラのオフセット方向。nilの場合は設定値がリセットされる。 + setCameraRot = function (newRot) + if host:isHost() then + renderer:setCameraRot(newRot) + end + end; + + ---三人称視点でのカメラと回転軸の距離を設定する。 + ---@param self CameraManager + ---@param distance number 設定する新しい距離(ブロック単位)。デフォルトは4ブロック。 + setThirdPersonCameraDistance = function (self, distance) + if host:isHost() then + if distance ~= 4 then + self:setCameraManagerRender(true) + elseif not self.isCameraCollisionDenialEnabled then + self:setCameraManagerRender(false) + end + self.thirdPersonCameraDistance = distance + end + end; + + ---カメラの当たり判定打ち消し機能を設定する。 + ---@param enabled boolean カメラの当たり判定打ち消し機能を有効にするかどうか。有効にするとカメラがブロックの中にめり込むようになる。 + setCameraCollisionDenial = function (self, enabled) + if host:isHost() then + if enabled then + self:setCameraManagerRender(true) + elseif self.thirdPersonCameraDistance == 4 then + self:setCameraManagerRender(false) + end + self.isCameraCollisionDenialEnabled = enabled + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/config.lua b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/config.lua new file mode 100644 index 0000000..70b0382 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/config.lua @@ -0,0 +1,116 @@ +---@alias Config.Storage +---| "PUBLIC" # FBACキャラクター共通ストレージ +---| "PRIVATE" # キャラクター固有ストレージ + +---@class (exact) Config : AvatarModule アバター設定を管理するクラス +---@field package privateStorageName string キャラクター固有ストレージの名前 +---@field package defaultValues {[string]: number|boolean|string} 読み込んだ値のデフォルト値を保持するテーブル +---@field package nextSyncCount integer 次の同期pingまでのカウンター +---@field package isSynced boolean 設定値がホストと同期されているかどうか +---@field public loadConfig fun(self: Config, storage: Config.Storage, keyName: string, defaultValue: any): any 設定を読み出す +---@field public saveConfig fun(self: Config, storage: Config.Storage, keyName: string, valueToSave: any) 設定を保存する + +Config = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Config + new = function (parent) + ---@type Config + local instance = Avatar.instantiate(Config, AvatarModule, parent) + + instance.privateStorageName = "BlueArchive_"..instance.parent.characterData.basic.firstName.en_us..instance.parent.characterData.basic.lastName.en_us + instance.defaultValues = {} + instance.nextSyncCount = 0 + instance.isSynced = host:isHost() + + return instance + end; + + ---初期化関数 + ---@param self Config + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + events.TICK:register(function () + if self.nextSyncCount == 0 then + pings.syncAvatarConfig(self.parent.nameplate.currentName, self.parent.nameplate.shouldShowClubName, self.parent.costume.currentCostume, self.parent.armor.shouldShowArmor, self.parent.actionWheel.shouldReplaceVehicleModels, self.parent.bubble.isChatOpened, self.parent.characterData.dataSync.syncData) + self.nextSyncCount = 300 + else + self.nextSyncCount = self.nextSyncCount - 1 + end + end) + end + end; + + ---設定を読み出す。 + ---@generic T + ---@param self Config + ---@param storage Config.Storage 読み出し先のストレージ + ---@param keyName string 読み出す設定の名前 + ---@param defaultValue `T` 該当の設定が無い場合や、ホスト外での実行の場合はこの値が返される。 + ---@return `T` loadedValue 読み出した値 + loadConfig = function (self, storage, keyName, defaultValue) + if host:isHost() then + if storage == "PUBLIC" then + config:setName("BlueArchive_public") + else + config:setName(self.privateStorageName) + end + local loadedData = config:load(keyName) + self.defaultValues[keyName] = defaultValue + if loadedData ~= nil then + return loadedData + else + return defaultValue + end + else + return defaultValue + end + end; + + ---設定を保存する。 + ---@param self Config + ---@param storage Config.Storage 書き込み先のストレージ + ---@param keyName string 保存する設定の名前 + ---@param valueToSave any 保存する値 + saveConfig = function (self, storage, keyName, valueToSave) + if host:isHost() then + if storage == "PUBLIC" then + config:setName("BlueArchive_public") + else + config:setName(self.privateStorageName) + end + if self.defaultValues[keyName] == valueToSave then + config:save(keyName, nil) + else + config:save(keyName, valueToSave) + end + end + end; +} + +---アバター設定を他Figuraクライアントと同期する。 +---@param nameTypeId integer 表示名の種類ID +---@param shouldShowClubName boolean 部活名を表示するかどうか +---@param costumeId integer 現在の衣装ID +---@param shouldShowArmor boolean 防具が見えているかどうか +---@param shouldReplaceVehicleModels boolean 乗り物モデルを置き換えるかどうか +---@param isChatOpened boolean チャット欄を開いているかどうか +---@param additionalData {[string]: any} キャラクター固有用に追加で同期するデータ +function pings.syncAvatarConfig(nameTypeId, shouldShowClubName, costumeId, shouldShowArmor, shouldReplaceVehicleModels, isChatOpened, additionalData) + if not AvatarInstance.config.isSynced then + AvatarInstance.nameplate:setName(nameTypeId, shouldShowClubName) + AvatarInstance.armor.shouldShowArmor = shouldShowArmor + AvatarInstance.actionWheel.shouldReplaceVehicleModels = shouldReplaceVehicleModels + AvatarInstance.bubble.isChatOpened = isChatOpened + if costumeId >= 2 then + AvatarInstance.costume:setCostume(costumeId) + end + AvatarInstance.characterData.dataSync.syncData = additionalData + if AvatarInstance.characterData.dataSync.callbacks ~= nil and AvatarInstance.characterData.dataSync.callbacks.onDataSynced ~= nil then + AvatarInstance.characterData.dataSync.callbacks.onDataSynced(AvatarInstance.characterData) + end + AvatarInstance.config.isSynced = true + end +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/costume.lua b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/costume.lua new file mode 100644 index 0000000..650a557 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/costume.lua @@ -0,0 +1,113 @@ +---@class (exact) Costume : AvatarModule キャラクターのコスチュームを管理し、円滑に切り替えられるようにするクラス +---@field public costumeList string[] 利用可能なコスチューム一覧。BlueArchiveCharacterクラスから動的に生成される。 +---@field public currentCostume integer 現在のコスチューム +---@field public isChangingCostume boolean コスチュームを変更中かどうか +---@field public getCostumeLocalName fun(self: Costume, costumeId: integer) 設定言語を考慮した、衣装の名前を返す +---@field public setCostumeTextureOffset fun(offset: integer) メインモデルのテクスチャのオフセット値を設定する +---@field public setCostume fun(self: Costume, costume: integer) コスチュームを設定する +---@field public resetCostume fun(self: Costume) コスチュームをリセットしデフォルトのコスチュームにする + +Costume = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Costume + new = function (parent) + ---@type Costume + local instance = Avatar.instantiate(Costume, AvatarModule, parent) + + instance.costumeList = {} + instance.currentCostume = instance.parent.config:loadConfig("PRIVATE", "costume", 1) + instance.isChangingCostume = false + + return instance + end; + + ---初期化関数 + ---@param self Costume + init = function (self) + AvatarModule.init(self) + + for _, costume in ipairs(self.parent.characterData.costume.costumes) do + table.insert(self.costumeList, costume.name) + end + if self.currentCostume >= 2 then + if self.costumeList[self.currentCostume] ~= nil then + self:setCostume(self.currentCostume) + else + self.currentCostume = 1 + if host:isHost() then + self.parent.config:saveConfig("PRIVATE", "costume", 1) + end + end + end + self.parent.headBlock:generateHeadModel() + self.parent.portrait:generateHeadModel() + + events.TICK:register(function () + self.isChangingCostume = false + end) + end; + + ---設定言語を考慮した、衣装の名前を返す。 + ---@param self Costume + ---@param costumeId integer ローカル名を取得する衣装のID + ---@return string localCostumeName 衣装のローカル名 + getCostumeLocalName = function(self, costumeId) + return self.parent.locale:getLocale("costume."..self.costumeList[costumeId]) + end; + + ---メインモデルのテクスチャのオフセット値を設定する。 + ---@param offset integer オフセット値 + setCostumeTextureOffset = function (offset) + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Body.Body, models.models.main.Avatar.UpperBody.Body.BodyLayer, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArm, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmLayer, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.RightArmBottom, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.RightArmBottomLayer, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArm, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmLayer, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.LeftArmBottom, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.LeftArmBottomLayer, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLeg, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegLayer, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.RightLegBottom, models.models.main.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.RightLegBottomLayer, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLeg, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegLayer, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.LeftLegBottom, models.models.main.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.LeftLegBottomLayer}) do + modelPart:setUVPixels(0, offset * 48) + end + end; + + ---コスチュームを設定する。 + ---@param self Costume + ---@param costume integer 設定するコスチューム + setCostume = function(self, costume) + self:resetCostume() + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onChange ~= nil then + self.parent.characterData.costume.callbacks.onChange(self.parent.characterData, self.parent.characterData.costume.costumes[costume].name:upper()) + end + self.parent.headBlock:generateHeadModel() + self.parent.portrait:generateHeadModel() + if self.parent.armor.isArmorVisible.chestplate then + self.parent.armor:setChestplate(self.parent.armor.armorSlotItems[2]) + end + if self.parent.armor.isArmorVisible.leggings then + self.parent.armor:setLeggings(self.parent.armor.armorSlotItems[3]) + end + if self.parent.armor.isArmorVisible.boots then + self.parent.armor:setBoots(self.parent.armor.armorSlotItems[4]) + end + self.currentCostume = costume + end; + + ---コスチュームをリセットし、デフォルトのコスチュームにする。 + ---@param self Costume + resetCostume = function (self) + self.isChangingCostume = true + if self.parent.exSkill.transitionCount > 0 then + self.parent.exSkill:forceStop() + end + self.setCostumeTextureOffset(0) + if self.parent.characterData.costume.callbacks ~= nil and self.parent.characterData.costume.callbacks.onReset ~= nil then + self.parent.characterData.costume.callbacks.onReset(self.parent.characterData) + end + self.parent.headBlock:generateHeadModel() + self.parent.portrait:generateHeadModel() + if self.parent.armor.isArmorVisible.chestplate then + self.parent.armor:setChestplate(self.parent.armor.armorSlotItems[2]) + end + if self.parent.armor.isArmorVisible.leggings then + self.parent.armor:setLeggings(self.parent.armor.armorSlotItems[3]) + end + if self.parent.armor.isArmorVisible.boots then + self.parent.armor:setBoots(self.parent.armor.armorSlotItems[4]) + end + self.currentCostume = 1 + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/death_animation.lua b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/death_animation.lua new file mode 100644 index 0000000..65583f8 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/death_animation.lua @@ -0,0 +1,294 @@ +---@class (exact) DeathAnimation : AvatarModule プレイヤーが死亡した際のキャラクターがヘリコプターで回収されるアニメーションを管理するクラス +---@field package DEBUG_MODE boolean デバッグモードを有効にするかどうか。デバッグモードモードではxキーでフェーズ1のモデルを、cキーでフェーズ2のモデルを表示できる。 +---@field public dummyAvatarRoot? ModelPart 死亡アニメーションに使用されるダミーのアバターのルート。アバターが未生成の場合はnilが入っている。 +---@field package animationCount integer 死亡アニメーションの再生カウンター +---@field package animationPos Vector3 アニメーションを再生している場所の座標 +---@field package animationRot number アニメーションを再生している向き(度数法で示す) +---@field package costumeIndex integer 死亡アニメーションのコスチュームのインデックス +---@field package isPlayerInvisible boolean プレイヤーモデルが不可視状態かどうか +---@field package isScriptLoaded false スクリプトを全て読み込んだかどうか +---@field package removeUnsafeModel fun(target?: ModelPart) 存在しないかもしれないモデルパーツを安全に削除する +---@field package spawnHelicopterParticles fun(self: DeathAnimation) ヘリコプターの出現/消滅パーティクルを生成する +---@field package generateDummyAvatar fun(self: DeathAnimation, parent: ModelPart) 死亡アニメーション用のダミーアバターを生成する +---@field package resetDummyAvatar fun(avatarRoot: ModelPart) ダミーアバター状態をリセットする +---@field package setPhase1Pose fun(avatarRoot: ModelPart) ダミーアバターをフェーズ1のポーズにする +---@field package setPhase2Pose fun(avatarRoot: ModelPart) ダミーアバターをフェーズ2のポーズにする +---@field package play fun(self: DeathAnimation) 死亡アニメーションを再生する +---@field package stop fun(self: DeathAnimation) 死亡アニメーションを停止する + +DeathAnimation = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return DeathAnimation + new = function (parent) + ---@type DeathAnimation + local instance = Avatar.instantiate(DeathAnimation, AvatarModule, parent) + + instance.DEBUG_MODE = false + + instance.dummyAvatarRoot = models.models.death_animation.Avatar + instance.animationCount = 0 + instance.animationPos = vectors.vec3() + instance.animationRot = 0 + instance.costumeIndex = 1 + instance.isPlayerInvisible = false + instance.isScriptLoaded = false + + return instance + end; + + ---初期化関数 + ---@param self DeathAnimation + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + if self.parent.playerUtils.damageStatus == "DIED" then + self:play() + models.models.main:setVisible(false) + for _, vanillaModel in ipairs({vanilla_model.RIGHT_ITEM, vanilla_model.LEFT_ITEM, vanilla_model.ELYTRA}) do + vanillaModel:setVisible(false) + end + self.isPlayerInvisible = true + end + if self.isPlayerInvisible and player:getHealth() > 0 then + models.models.main:setVisible(true) + for _, vanillaModel in ipairs({vanilla_model.RIGHT_ITEM, vanilla_model.LEFT_ITEM, vanilla_model.ELYTRA}) do + vanillaModel:setVisible(true) + end + self.isPlayerInvisible = false + end + end) + + self.parent.avatarEvents.SCRIPT_INIT:register(function () + self.isScriptLoaded = true + end) + + if self.DEBUG_MODE then + models:addChild(models:newPart("script_death_animation_debug", "World")) + keybinds:newKeybind("[DEBUG] Spawn death animation phase1 model", "key.keyboard.x"):onPress(function () + self.removeUnsafeModel(models.script_death_animation_debug.Avatar) + self:generateDummyAvatar(models.script_death_animation_debug) + self.resetDummyAvatar(models.script_death_animation_debug.Avatar) + self.setPhase1Pose(models.script_death_animation_debug.Avatar) + models.script_death_animation_debug.Avatar:setPos(player:getPos():add(0, -0.75, 0):scale(16)) + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onPhase1 ~= nil then + self.parent.characterData.deathAnimation.callbacks.onPhase1(self.parent.characterData, models.script_death_animation_debug.Avatar, self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].name:upper()) + end + end) + keybinds:newKeybind("[DEBUG] Spawn death animation phase2 model", "key.keyboard.c"):onPress(function () + self.removeUnsafeModel(models.script_death_animation_debug.Avatar) + self:generateDummyAvatar(models.script_death_animation_debug) + self.resetDummyAvatar(models.script_death_animation_debug.Avatar) + self.setPhase2Pose(models.script_death_animation_debug.Avatar) + models.script_death_animation_debug.Avatar:setPos(player:getPos():scale(16)) + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onPhase1 ~= nil then + self.parent.characterData.deathAnimation.callbacks.onPhase1(self.parent.characterData, models.script_death_animation_debug.Avatar, self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].name:upper()) + end + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onPhase2 ~= nil then + self.parent.characterData.deathAnimation.callbacks.onPhase2(self.parent.characterData, models.script_death_animation_debug.Avatar, self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].name:upper()) + end + end) + end + end; + + ---存在しないかもしれないモデルパーツを安全に削除する。 + ---@param target? ModelPart 削除対象のモデルパーツ + removeUnsafeModel = function (target) + if target ~= nil then + target:getParent():removeChild(target) + target:remove() + end + end; + + ---ヘリコプターの出現/消滅パーティクルを生成する。 + ---@param self DeathAnimation + spawnHelicopterParticles = function (self) + local helicopterPos = self.parent.modelUtils.getModelWorldPos(models.models.death_animation.Helicopter) + for _ = 1, 100 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:poof"), helicopterPos:copy():add(vectors.rotateAroundAxis(self.animationRot, math.random() * 9.375 - 4.6875, math.random() * 11.125 - 5.5625, math.random() * 23.875 - 11.9375, 0, math.abs(helicopterPos.y), 0))) + end + end; + + ---死亡アニメーション用のダミーアバターを生成する。 + ---@param self DeathAnimation + ---@param parent ModelPart ダミーアバターをアタッチする親のモデルパーツ + generateDummyAvatar = function (self, parent) + local isArmorVisible = { + helmet = self.parent.armor.isArmorVisible.helmet; + chestplate = self.parent.armor.isArmorVisible.chestplate; + leggings = self.parent.armor.isArmorVisible.leggings; + boots = self.parent.armor.isArmorVisible.boots; + } + if isArmorVisible.helmet then + self.parent.armor:setHelmet(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + if isArmorVisible.chestplate then + self.parent.armor:setChestplate(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + if isArmorVisible.leggings then + self.parent.armor:setLeggings(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + if isArmorVisible.boots then + self.parent.armor:setBoots(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + self.parent.physics:disable() + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onBeforeModelCopy ~= nil then + self.parent.characterData.deathAnimation.callbacks.onBeforeModelCopy(self.parent.characterData, self.isScriptLoaded) + end + + parent:addChild(self.parent.modelUtils:copyModel(models.models.main.Avatar)) + parent.Avatar.Head.FaceParts.Eyes.EyeRight:setUVPixels(self.parent.characterData.faceParts.leftEye.TIRED:copy():scale(6)) + parent.Avatar.Head.FaceParts.Eyes.EyeLeft:setUVPixels(self.parent.characterData.faceParts.rightEye.TIRED:copy():scale(6)) + parent.Avatar.Head.HeadRing:setRot() + for _, modelPart in ipairs({parent.Avatar.UpperBody.Arms.RightArm.RightArmBottom.RightItemPivot, parent.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.LeftItemPivot}) do + modelPart:remove() + end + local unsafeModels = {parent.Avatar.Head.FaceParts.Mouth, parent.Avatar.Head.ArmorH, parent.Avatar.UpperBody.Body.ArmorB, parent.Avatar.UpperBody.Arms.RightArm.ArmorRA, parent.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ArmorRAB, parent.Avatar.UpperBody.Arms.LeftArm.ArmorLA, parent.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.ArmorLAB, parent.Avatar.LowerBody.Legs.RightLeg.ArmorRL, parent.Avatar.LowerBody.Legs.RightLeg.RightLegBottom.ArmorRLB, parent.Avatar.LowerBody.Legs.LeftLeg.ArmorLL, parent.Avatar.LowerBody.Legs.LeftLeg.LeftLegBottom.ArmorLLB} + for i = 1, 11 do + self.removeUnsafeModel(unsafeModels[i]) + end + if parent.Avatar.UpperBody.Body.Gun ~= nil then + if self.parent.characterData.gun.gunPosition.put.type == "BODY" then + local leftHanded = player:isLeftHanded() + parent.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, 12, 0):add(self.parent.characterData.gun.gunPosition.put.pos[leftHanded and "left" or "right"])) + parent.Avatar.UpperBody.Body.Gun:setRot(self.parent.characterData.gun.gunPosition.put.rot[leftHanded and "left" or "right"]) + else + parent.Avatar.UpperBody.Body.Gun:remove() + end + end + + if isArmorVisible.helmet then + self.parent.armor:setHelmet(self.parent.armor.armorSlotItems[1]) + end + if isArmorVisible.chestplate then + self.parent.armor:setChestplate(self.parent.armor.armorSlotItems[2]) + end + if isArmorVisible.leggings then + self.parent.armor:setLeggings(self.parent.armor.armorSlotItems[3]) + end + if isArmorVisible.boots then + self.parent.armor:setBoots(self.parent.armor.armorSlotItems[4]) + end + self.parent.physics:enable() + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onAfterModelCopy ~= nil then + self.parent.characterData.deathAnimation.callbacks.onAfterModelCopy(self.parent.characterData, self.isScriptLoaded) + end + end; + + ---ダミーアバター状態をリセットする。 + ---@param avatarRoot ModelPart ダミーアバターのルート + resetDummyAvatar = function (avatarRoot) + for _, modelPart in ipairs({avatarRoot, avatarRoot.Head, avatarRoot.UpperBody, avatarRoot.UpperBody.Body, avatarRoot.UpperBody.Arms, avatarRoot.UpperBody.Arms.RightArm, avatarRoot.UpperBody.Arms.RightArm.RightArmBottom, avatarRoot.UpperBody.Arms.LeftArm, avatarRoot.UpperBody.Arms.LeftArm.LeftArmBottom, avatarRoot.LowerBody, avatarRoot.LowerBody.Legs, avatarRoot.LowerBody.Legs.RightLeg, avatarRoot.LowerBody.Legs.RightLeg.RightLegBottom, avatarRoot.LowerBody.Legs.LeftLeg, avatarRoot.LowerBody.Legs.LeftLeg.LeftLegBottom}) do + modelPart:setPos() + modelPart:setRot() + modelPart:setScale() + end + end; + + ---ダミーアバターをフェーズ1のポーズにする。 + ---@param avatarRoot ModelPart ダミーアバターのルート + setPhase1Pose = function (avatarRoot) + avatarRoot:setPos(0, -12, 0) + avatarRoot.Head:setRot(-30, 0, 0) + avatarRoot.UpperBody.Arms.RightArm:setRot(35, 0, -20) + avatarRoot.UpperBody.Arms.LeftArm:setRot(35, 0, 20) + avatarRoot.LowerBody.Legs.RightLeg:setRot(90, -10, 0) + avatarRoot.LowerBody.Legs.LeftLeg:setRot(90, 10, 0) + end; + + ---ダミーアバターをフェーズ2のポーズにする。 + ---@param avatarRoot ModelPart ダミーアバターのルート + setPhase2Pose = function (avatarRoot) + avatarRoot:setPos(3, -210, 2) + avatarRoot:setRot(105, 75, 90) + avatarRoot.Head:setRot(0, -40, 0) + avatarRoot.UpperBody.Arms.RightArm:setRot(47.5, 0, 20) + avatarRoot.UpperBody.Arms.LeftArm:setRot(-30, 0, -15) + avatarRoot.LowerBody.Legs.RightLeg:setRot(80, 0, 0) + avatarRoot.LowerBody.Legs.RightLeg.RightLegBottom:setRot(-75, 0, 0) + avatarRoot.LowerBody.Legs.LeftLeg:setRot(10, 0, 0) + avatarRoot:setLight() + end; + + ---死亡アニメーションを再生する。 + ---@param self DeathAnimation + play = function (self) + self:stop() + self.costumeIndex = self.parent.costume.currentCostume + + --ダミーアバターを生成する。 + local unsafeModels = {models.models.death_animation.Avatar, models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14.Avatar} + for i = 1, 2 do + self.removeUnsafeModel(unsafeModels[i]) + end + self:generateDummyAvatar(models.models.death_animation) + + --死亡アニメーションを生成する。 + self.resetDummyAvatar(models.models.death_animation.Avatar) + self.setPhase1Pose(models.models.death_animation.Avatar) + self.animationPos = player:getPos() + models.models.death_animation:setPos(self.animationPos:copy():scale(16)) + self.animationRot = (player:getBodyYaw() * -1 + 180) % 360 + models.models.death_animation:setRot(0, self.animationRot) + models.models.death_animation:setVisible(true) + animations["models.death_animation"]["death_animation"]:play() + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onPhase1 ~= nil then + self.parent.characterData.deathAnimation.callbacks.onPhase1(self.parent.characterData, models.models.death_animation.Avatar, self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].name:upper()) + end + + if events.TICK:getRegisteredCount("death_animation_tick") == 0 then + events.TICK:register(function () + local particleAnchorPos = self.parent.modelUtils.getModelWorldPos(models.models.death_animation.DeathAnimationParticleAnchor) + for _ = 1, 3 do + local particleRot = math.random() * math.pi * 2 + local particleOffset = math.random() * 3 + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:poof"), particleAnchorPos:copy():add(math.cos(particleRot) * particleOffset, 0, math.sin(particleRot) * particleOffset)):setVelocity(math.cos(particleRot), 0, math.sin(particleRot)) + + end + if self.animationCount % 2 == 1 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.bamboo_wood_door.close"), self.parent.modelUtils.getModelWorldPos(models.models.death_animation.Helicopter.DeathAnimationSoundAnchor1), 1, 0.5):setAttenuation(2) + end + if self.animationCount < 120 then + models.models.death_animation.Avatar:setLight(world.getLightLevel(self.animationPos)) + end + if self.animationCount == 1 then + self:spawnHelicopterParticles() + elseif self.animationCount == 10 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.iron_door.open"), self.parent.modelUtils.getModelWorldPos(models.models.death_animation.Helicopter.DeathAnimationSoundAnchor1), 1, 0.5) + elseif self.animationCount >= 57 and self.animationCount < 76 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.attack.sweep"), self.parent.modelUtils.getModelWorldPos(models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14), 0.25, -0.056 * (self.animationCount - 57) + 2) + elseif self.animationCount == 120 then + self.dummyAvatarRoot = models.models.death_animation.Avatar:moveTo(models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14) + self.setPhase2Pose(models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14.Avatar) + if self.parent.characterData.deathAnimation.callbacks ~= nil and self.parent.characterData.deathAnimation.callbacks.onPhase2 ~= nil then + self.parent.characterData.deathAnimation.callbacks.onPhase2(self.parent.characterData, models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14.Avatar, self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].name:upper()) + end + elseif self.animationCount == 180 then + models.models.death_animation.Helicopter.RopeLadder.RopeLadder2.RopeLadder3.RopeLadder4.RopeLadder5.RopeLadder6.RopeLadder7.RopeLadder8.RopeLadder9.RopeLadder10.RopeLadder11.RopeLadder12.RopeLadder13.RopeLadder14.Avatar:setVisible(false) + elseif self.animationCount == 230 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.iron_door.close"), self.parent.modelUtils.getModelWorldPos(models.models.death_animation.Helicopter.DeathAnimationSoundAnchor1), 1, 0.5) + elseif self.animationCount == 255 then + self:spawnHelicopterParticles() + self:stop() + end + end, "death_animation_tick") + end + if events.WORLD_TICK:getRegisteredCount("death_animation_world_tick") == 0 then + events.WORLD_TICK:register(function () + self.animationCount = self.animationCount + 1 + end, "death_animation_world_tick") + end + end; + + ---死亡アニメーションを停止する。 + ---@param self DeathAnimation + stop = function (self) + models.models.death_animation:setVisible(false) + animations["models.death_animation"]["death_animation"]:stop() + events.TICK:remove("death_animation_tick") + events.WORLD_TICK:remove("death_animation_world_tick") + self.dummyAvatarRoot = nil + self.animationCount = 0 + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/events/abstract_event.lua b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/events/abstract_event.lua new file mode 100644 index 0000000..e6af2e5 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/events/abstract_event.lua @@ -0,0 +1,71 @@ +---@class AbstractEvent : AvatarModule +---@field public registerTable {[string]: fun()[]} 登録されたコールバック関数を管理するテーブル +---@field public register fun(self: AbstractEvent, callback: fun(...: any), name?: string) イベントにコールバック関数登録する +---@field public remove fun(self: AbstractEvent, name: string) 指定した名前のコールバック関数を1つ削除する +---@field public getRegisteredCount fun(self: AbstractEvent, name: string): integer 指定した名前で登録されているコールバック関数の数を返す +---@field public fire fun(self: AbstractEvent, ...: any) 登録された全てのコールバック関数を呼ぶ + +AbstractEvent = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return AbstractEvent + new = function (parent) + ---@type AbstractEvent + local instance = Avatar.instantiate(AbstractEvent, AvatarModule, parent) + + instance.registerTable = {} + + return instance + end; + + ---イベントにコールバック関数登録する。 + ---@param self AbstractEvent + ---@param callback fun(...: any) 登録するコールバック関数 + ---@param name? string コールバック関数の名前 + register = function (self, callback, name) + local callbackName = name ~= nil and name or client.intUUIDToString(client.generateUUID()) + if self.registerTable[callbackName] ~= nil then + table.insert(self.registerTable[callbackName], callback) + else + local callbackTable = {} + table.insert(callbackTable, callback) + self.registerTable[callbackName] = callbackTable + end + end; + + ---指定した名前のコールバック関数を1つ削除する。 + ---@param self AbstractEvent + ---@param name string コールバック関数の名前 + remove = function (self, name) + if self.registerTable[name] ~= nil then + table.remove(self.registerTable[name]) + if #self.registerTable[name] == 0 then + self.registerTable[name] = nil + end + end + end; + + ---指定した名前で登録されているコールバック関数の数を返す。 + ---@param self AbstractEvent + ---@param name string コールバック関数の名前 + ---@return integer registeredCount 登録されていたコールバック関数の数 + getRegisteredCount = function (self, name) + if self.registerTable[name] ~= nil then + return #self.registerTable[name] + else + return 0 + end + end; + + ---登録された全てのコールバック関数を呼ぶ。 + ---@param self AbstractEvent + ---@param ... any callbackArgs コールバック引数 + fire = function (self, ...) + for _, eventTable in pairs(self.registerTable) do + for _, callback in ipairs(eventTable) do + ---@diagnostic disable-next-line: redundant-parameter + callback(...) + end + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/events/avatar_events.lua b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/events/avatar_events.lua new file mode 100644 index 0000000..b2fd6e8 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/events/avatar_events.lua @@ -0,0 +1,16 @@ +---@class AvatarEvents : AvatarModule アバター独自のイベントを定義し、管理するクラス +---@field public SCRIPT_INIT ScriptInitEvent 全てのスクリプトの初期化が完了した後に1度だけ呼ばれるイベント + +AvatarEvents = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return AvatarEvents + new = function (parent) + ---@type AvatarEvents + local instance = Avatar.instantiate(AvatarEvents, AvatarModule, parent) + + instance.SCRIPT_INIT = ScriptInitEvent.new(instance.parent) + + return instance + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/events/script_init_event.lua b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/events/script_init_event.lua new file mode 100644 index 0000000..44c62e7 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/events/script_init_event.lua @@ -0,0 +1,25 @@ +---@class ScriptInitEvent : AbstractEvent 全てのスクリプトの初期化が完了した後に1度だけ呼ばれるイベント +---@field public register fun(self: AbstractEvent, callback: fun(), name?: string) イベントにコールバック関数登録する +---@field public fire fun(self: AbstractEvent) 登録された全てのコールバック関数を呼ぶ + +ScriptInitEvent = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ScriptInitEvent + new = function (parent) + ---@type ScriptInitEvent + local instance = Avatar.instantiate(ScriptInitEvent, AbstractEvent, parent) + + return instance + end; + + ---登録された全てのコールバック関数を呼ぶ。 + ---@param self ScriptInitEvent + fire = function (self, ...) + for _, eventTable in pairs(self.registerTable) do + for _, callback in ipairs(eventTable) do + callback() + end + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/ex_skill/ex_skill.lua b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/ex_skill/ex_skill.lua new file mode 100644 index 0000000..dcc10ca --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/ex_skill/ex_skill.lua @@ -0,0 +1,434 @@ +---@alias ExSkill.AutoPlayMode +---| "NONE" # 自動再生なし +---| "MAIN" # メインExスキル +---| "SUB" # サブExスキル + +---@alias ExSkill.TransitionPhase +---| "PRE" # Exスキルアニメーション開始前 +---| "POST" # Exスキルアニメーション終了後 + +---@class (exact) ExSkill : AvatarModule Exスキルのアニメーションを管理するクラス +---@field package AUTO_PLAY ExSkill.AutoPlayMode アバター読み込み時に自動的にExスキルが再生される。デバッグ用。 +---@field public frameParticleAmount integer Exスキルフレームのパーティクルの量:1. 標準, 2. 少なめ, 3. なし, 4. Exスキルフレーム非表示、パーティクル量は標準 +---@field package exSkillIndex integer 現在再生中のExスキルのインデックス番号 +---@field public animationCount integer Exスキルのアニメーション再生中に増加するカウンター。-1はアニメーション停止中を示す。 +---@field package animationLength number Exスキルのアニメーションの長さ。スクリプトで自動で代入する。 +---@field public transitionCount number Exスキルのアニメーション前後のカメラのトランジションの進捗を示すカウンター +---@field package keyPressCount integer Exスキルキーを押下し続ける時間を計るカウンター +---@field package bodyYaw number[] プレイヤーの体の回転 +---@field package isDebugInit boolean デバッグモードが初期化されたかどうか +---@field public canPlayAnimation fun(self: ExSkill): boolean アニメーションが再生可能かどうかを返す +---@field package transition fun(self: ExSkill, direction: ExSkill.TransitionPhase, callback: fun()) Exスキルのアニメーションの前後のカメラのトランジションを行う関数 +---@field public play fun(self: ExSkill, isSubExSkill: boolean) アニメーションを再生する +---@field public stop fun(self: ExSkill) アニメーションを停止する +---@field public forceStop fun(self: ExSkill) アニメーションを停止する。終了時のトランジションも無効。 + +ExSkill = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ExSkill + new = function (parent) + ---@type ExSkill + local instance = Avatar.instantiate(ExSkill, AvatarModule, parent) + + instance.AUTO_PLAY = "NONE" + + instance.frameParticleAmount = instance.parent.config:loadConfig("PRIVATE", "exSkillFrameParticleAmount", 1) + instance.exSkillIndex = 1 + instance.animationCount = -1 + instance.animationLength = 0 + instance.transitionCount = 0 + instance.keyPressCount = 0 + instance.bodyYaw = {} + instance.isDebugInit = false + + return instance + end; + + ---初期化関数 + ---@param self ExSkill + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + for _, exSkill in ipairs(self.parent.characterData.exSkill) do + local offset = (exSkill.camera.fixMode ~= nil and exSkill.camera.fixMode) and 1 or 0.9375 + exSkill.camera.start.pos:mul(-1, 1, 1):scale(1 / 16 * offset) + exSkill.camera.fin.pos:mul(-1, 1, 1):scale(1 / 16 * offset) + end + + local exSkillKey = self.parent.keyManager:register("ex_skill", self.parent.config:loadConfig("PRIVATE", "keybind.ex_skill", "key.keyboard.g")) + exSkillKey:setOnPress(function () + while events.TICK:getRegisteredCount("ex_skill_keypress_tick") > 0 do + events.TICK:remove("ex_skill_keypress_tick") + end + events.TICK:register(function () + if self.keyPressCount == 30 then + events.TICK:remove("ex_skill_keypress_tick") + self.parent.placementObjectManager:removeAll() + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.zombie.break_wooden_door"), player:getPos(), 0.25, 2) + self.keyPressCount = 0 + return + end + self.keyPressCount = self.keyPressCount + 1 + end, "ex_skill_keypress_tick") + end) + exSkillKey:setOnRelease(function () + events.TICK:remove("ex_skill_keypress_tick") + if self.keyPressCount > 0 then + if self:canPlayAnimation() and self.animationCount == -1 and self.transitionCount == 0 then + pings.exSkill() + else + print(self.parent.locale:getLocale("key_bind.ex_skill.unavailable"..(renderer:isFirstPerson() and "_firstperson" or ""))) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + end + self.keyPressCount = 0 + end + end) + self.parent.keyManager:register("ex_skill_sub", self.parent.config:loadConfig("PRIVATE", "keybind.ex_skill_sub", "key.keyboard.h")):setOnPress(function () + if self:canPlayAnimation() and self.animationCount == -1 and self.transitionCount == 0 and self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill ~= nil then + pings.subExSkill() + else + print(self.parent.locale:getLocale(self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill == nil and "action_wheel.main.action_6.unavailable" or "key_bind.ex_skill.unavailable"..(renderer:isFirstPerson() and "_firstperson" or ""))) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + end + end) + end + + table.insert(self.bodyYaw, player:getBodyYaw() % 360) + + events.TICK:register(function () + if not renderer:isFirstPerson() then + table.insert(self.bodyYaw, player:getBodyYaw() % 360) + if #self.bodyYaw == 3 then + table.remove(self.bodyYaw, 1) + end + end + end) + + if self.AUTO_PLAY ~= "NONE" then + events.TICK:register(function () + if not self.isDebugInit then + events.TICK:remove("ex_skill_debug_tick") + self:play(self.AUTO_PLAY == "SUB") + self.isDebugInit = true + end + end, "ex_skill_debug_tick") + end + end; + + ---アニメーションが再生可能かどうかを返す。 + ---@param self ExSkill + ---@return boolean canPlayAnimation Exスキルアニメーションが再生可能かどうか + canPlayAnimation = function (self) + return player:getPose() == "STANDING" and player:getVelocity():length() < 0.01 and self.bodyYaw[1] == self.bodyYaw[2] and player:isOnGround() and not player:isInWater() and not player:isInLava() and player:getFrozenTicks() == 0 and not renderer:isFirstPerson() and self.parent.playerUtils.damageStatus == "NONE" and player:getSwingArm() == nil and player:getActiveItem().id == "minecraft:air" and not self.parent.costume.isChangingCostume + end; + + ---Exスキルのアニメーションの前後のカメラのトランジションを行う関数 + ---@param self ExSkill + ---@param direction ExSkill.TransitionPhase カメラのトランジションの向き + ---@param callback fun() トランジション終了時に呼び出されるコールバック関数 + transition = function (self, direction, callback) + events.TICK:register(function () + if not client:isPaused() then + if events.TICK:getRegisteredCount("ex_skill_transition_tick") == 1 then + self.transitionCount = direction == "PRE" and math.min(self.transitionCount + 1, 10) or math.max(self.transitionCount - 1, 0) + end + if (direction == "PRE" and self.transitionCount == 10) or (direction == "POST" and self.transitionCount == 0) then + if host:isHost() then + local windowSize = client:getScaledWindowSize() + models.models.ex_skill_frame.Gui.FrameBar:setPos(0, 0, 0) + if direction == "PRE" and self.frameParticleAmount < 4 then + for _, modelPart in ipairs({models.models.ex_skill_frame.Gui.Frame.FrameTopLeft, models.models.ex_skill_frame.Gui.Frame.FrameTopRight, models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft, models.models.ex_skill_frame.Gui.Frame.FrameBottomRight}) do + modelPart:setVisible(true) + end + models.models.ex_skill_frame.Gui.Frame.FrameTop:setPos(-windowSize.x + 16, -16) + models.models.ex_skill_frame.Gui.Frame.FrameTop:setScale(windowSize.x / 16 - 2, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setPos(-16, -windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setScale(1, windowSize.y / 16 - 2, 1) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setPos(-windowSize.x + 16, -windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setScale(windowSize.x / 16 - 2, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setPos(-windowSize.x, -windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setScale(1, windowSize.y / 16 - 2, 1) + elseif direction == "POST" then + for _, modelPart in ipairs({models.models.ex_skill_frame.Gui.Frame.FrameTopLeft, models.models.ex_skill_frame.Gui.Frame.FrameTopRight, models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft, models.models.ex_skill_frame.Gui.Frame.FrameBottomRight}) do + modelPart:setVisible(false) + end + for _, modelPart in ipairs({models.models.ex_skill_frame.Gui.Frame.FrameTop, models.models.ex_skill_frame.Gui.Frame.FrameLeft, models.models.ex_skill_frame.Gui.Frame.FrameBottom, models.models.ex_skill_frame.Gui.Frame.FrameRight}) do + modelPart:setScale(0, 0, 0) + end + end + end + callback() + events.TICK:remove("ex_skill_transition_tick") + events.RENDER:remove("ex_skill_transition_render") + end + if host:isHost() then + local barPos = models.models.ex_skill_frame.Gui.FrameBar:getPos().x * -1 + local windowSizeY = client:getScaledWindowSize().y + if self.frameParticleAmount ~= 3 and self.transitionCount >= 1 and self.transitionCount <= 9 then + for _ = 1, windowSizeY / (self.frameParticleAmount == 2 and 100 or 20) do + local particleOffset = math.random() * windowSizeY + self.parent.frameParticleManager:spawn(vectors.vec2(barPos - particleOffset - math.random() * 50, particleOffset):scale(-1), vectors.vec2(500, 0)) + end + end + end + end + end, "ex_skill_transition_tick") + + events.RENDER:register(function (delta) + --カメラのトランジション + if not client:isPaused() and host:isHost() then + local lookDir = player:getLookDir() + local cameraRot = renderer:isCameraBackwards() and vectors.vec3(math.deg(math.asin(lookDir.y)), math.deg(math.atan2(lookDir.z, lookDir.x) + math.pi / 2)) or vectors.vec3(math.deg(math.asin(-lookDir.y)), math.deg(math.atan2(lookDir.z, lookDir.x) - math.pi / 2)) + local targetCameraPos = vectors.vec3() + local targetCameraRot = vectors.vec3() + if direction == "PRE" then + targetCameraPos = vectors.rotateAroundAxis(self.bodyYaw[2] * -1 + 180, self.parent.characterData.exSkill[self.exSkillIndex].camera.start.pos, 0, 1):add(0, -1.62) + targetCameraRot = self.parent.characterData.exSkill[self.exSkillIndex].camera.start.rot:copy():add(0, self.bodyYaw[2], 0) + else + targetCameraPos = vectors.rotateAroundAxis(self.bodyYaw[2] * -1 + 180, self.parent.characterData.exSkill[self.exSkillIndex].camera.fin.pos, 0, 1):add(0, -1.62) + targetCameraRot = self.parent.characterData.exSkill[self.exSkillIndex].camera.fin.rot:copy():add(0, self.bodyYaw[2], 0) + end + if math.abs(cameraRot.y - targetCameraRot.y) >= 180 then + if cameraRot.y < targetCameraRot.y then + cameraRot.y = cameraRot.y + 360 + else + targetCameraRot.y = targetCameraRot.y + 360 + end + end + local trueDelta = direction == "PRE" and delta or delta * -1 + self.parent.cameraManager.setCameraPivot(targetCameraPos:scale((self.transitionCount + trueDelta) / 10)) + self.parent.cameraManager.setCameraRot(targetCameraRot:copy():sub(cameraRot):scale((self.transitionCount + trueDelta) / 10):add(cameraRot)) + self.parent.cameraManager:setThirdPersonCameraDistance(4 - (self.transitionCount + trueDelta) / 10 * 4) + + --フレーム演出 + local windowSize = client:getScaledWindowSize() + local barPos = (windowSize.x + windowSize.y + math.sqrt(2) * 16) * (direction == "PRE" and (self.transitionCount + trueDelta) / 10 or (1 - (self.transitionCount + trueDelta) / 10)) + models.models.ex_skill_frame.Gui.FrameBar:setPos(-barPos, 0, 0) + + if self.frameParticleAmount < 4 then + local frameTopLength = math.clamp(barPos, 32, windowSize.x) + local frameLeftLength = math.clamp(barPos, 32, windowSize.y) + local frameBottomLength = math.clamp(barPos - windowSize.y + 16, 32, windowSize.x) + local frameRightLength = math.clamp(barPos - windowSize.x + 16, 32, windowSize.y) + + models.models.ex_skill_frame.Gui.Frame.FrameTopLeft:setPos(-16, -16) + models.models.ex_skill_frame.Gui.Frame.FrameTopRight:setPos(-windowSize.x, -16) + models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft:setPos(-16, -windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameBottomRight:setPos(-windowSize.x, -windowSize.y) + if direction == "PRE" then + models.models.ex_skill_frame.Gui.Frame.FrameTopLeft:setVisible(barPos >= 16) + models.models.ex_skill_frame.Gui.Frame.FrameTopRight:setVisible(barPos >= windowSize.x + 16) + models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft:setVisible(barPos >= windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameBottomRight:setVisible(barPos >= windowSize.x + windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameTop:setPos(-frameTopLength + 16, -16) + models.models.ex_skill_frame.Gui.Frame.FrameTop:setScale(frameTopLength / 16 - 2, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setPos(-16, -frameLeftLength + 16) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setScale(1, frameLeftLength / 16 - 2, 1) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setPos(-frameBottomLength + 16, -windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setScale(frameBottomLength / 16 - 2, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setPos(-windowSize.x, -frameRightLength + 16) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setScale(1, frameRightLength / 16 - 2, 1) + else + models.models.ex_skill_frame.Gui.Frame.FrameTopLeft:setVisible(barPos < 16) + models.models.ex_skill_frame.Gui.Frame.FrameTopRight:setVisible(barPos < windowSize.x + 16) + models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft:setVisible(barPos < windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameBottomRight:setVisible(barPos < windowSize.x + windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameTop:setPos(-windowSize.x + 16, -16) + models.models.ex_skill_frame.Gui.Frame.FrameTop:setScale((windowSize.x - frameTopLength) / 16, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setPos(-16, -windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameLeft:setScale(1, (windowSize.y - frameLeftLength) / 16, 1) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setPos(-windowSize.x + 16, -windowSize.y) + models.models.ex_skill_frame.Gui.Frame.FrameBottom:setScale((windowSize.x - frameBottomLength) / 16, 1, 1) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setPos(-windowSize.x, -windowSize.y + 16) + models.models.ex_skill_frame.Gui.Frame.FrameRight:setScale(1, (windowSize.y - frameRightLength) / 16, 1) + end + end + end + end, "ex_skill_transition_render") + end; + + ---アニメーションを再生する。 + ---@param self ExSkill + ---@param isSubExSkill boolean サブExスキルを再生するかどうか + play = function (self, isSubExSkill) + if isSubExSkill then + if self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill ~= nil then + self.exSkillIndex = self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].subExSkill + else + return + end + else + self.exSkillIndex = self.parent.characterData.costume.costumes[self.parent.costume.currentCostume].exSkill + end + + self.parent.bubble:stop() + renderer:setFOV(70 / client:getFOV()) + renderer:setRenderHUD(false) + self.parent.cameraManager:setCameraCollisionDenial(true) + models.models.ex_skill_frame.Gui:setColor(self.parent.characterData.exSkill[self.exSkillIndex].formationType == "STRIKER" and vectors.vec3(1, 0.75, 0.75) or vectors.vec3(0.75, 1, 1)) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.levelup"), player:getPos(), 5, 2) + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPreTransition ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPreTransition(self.parent.characterData) + end + models.models.ex_skill_frame.Gui.FrameBar:setScale(1, client:getScaledWindowSize().y * math.sqrt(2) / 16 + 1, 1) + + events.TICK:register(function () + if not self:canPlayAnimation() then + self:forceStop() + end + end, "ex_skill_tick") + + self:transition("PRE", function () + self.parent.physics:disable() + for _, itemModel in ipairs({vanilla_model.RIGHT_ITEM, vanilla_model.LEFT_ITEM}) do + itemModel:setVisible(false) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].models) do + modelPart:setVisible(true) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].animations) do + animations["models."..modelPart]["ex_skill_"..self.exSkillIndex]:play() + end + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPreAnimation ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPreAnimation(self.parent.characterData) + end + self.parent.cameraManager:setThirdPersonCameraDistance(0) + + events.TICK:register(function () + if not client:isPaused() then + if self.animationCount == self.animationLength - 1 then + self:stop() + elseif self:canPlayAnimation() and animations["models.main"]["ex_skill_"..self.exSkillIndex]:isPlaying() then + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onAnimationTick ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onAnimationTick(self.parent.characterData, self.animationCount) + end + self.animationCount = self.animationCount > -1 and self.animationCount + 1 or self.animationCount + end + + if host:isHost() then + local windowSize = client:getScaledWindowSize() + local windowCenter = windowSize:copy():scale(0.5) + if self.frameParticleAmount < 3 then + for _ = 1, (windowSize.x * 2 + windowSize.y * 2) / (self.frameParticleAmount == 1 and 100 or 500) do + local particlePos = vectors.vec2(math.random() * (windowSize.x * 2 + windowSize.y * 2), math.random() * 16) + particlePos = particlePos.x <= windowSize.x and particlePos or (particlePos.x <= windowSize.x + windowSize.y and vectors.vec2(windowSize.x - particlePos.y, particlePos.x - windowSize.x) or (particlePos.x <= windowSize.x * 2 + windowSize.y and vectors.vec2(particlePos.x - (windowSize.x + windowSize.y), windowSize.y - particlePos.y) or vectors.vec2(particlePos.y, particlePos.x - (windowSize.x * 2 + windowSize.y)))) + self.parent.frameParticleManager:spawn(particlePos:copy():scale(-1), windowCenter:copy():sub(particlePos):scale(0.25)) + end + end + end + end + end, "ex_skill_animation_tick") + + if host:isHost() then + events.RENDER:register(function () + if not client:isPaused() then + self.parent.cameraManager.setCameraPivot(vectors.rotateAroundAxis(self.bodyYaw[2] * -1 + 180, models.models.main.CameraAnchor:getAnimPos():scale(1 / 16 * ((self.parent.characterData.exSkill[self.exSkillIndex].camera.fixMode ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].camera.fixMode) and 1 or 0.9375)), 0, 1, 0):add(0, -1.62, 0)) + self.parent.cameraManager.setCameraRot(models.models.main.CameraAnchor:getAnimRot():scale(-1):add(0, self.bodyYaw[2], 0)) + end + end, "ex_skill_animation_render") + end + self.animationCount = 0 + self.parent.gun:processGunTick() + self.animationLength = math.round(animations["models.main"]["ex_skill_"..self.exSkillIndex]:getLength() * 20) + end) + end; + + ---アニメーションを停止する。 + ---@param self ExSkill + stop = function (self) + events.TICK:remove("ex_skill_animation_tick") + if host:isHost() then + events.RENDER:remove("ex_skill_animation_render") + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.levelup"), player:getPos(), 5, 2):setAttenuation(100) + end + + for _, itemModel in ipairs({vanilla_model.RIGHT_ITEM, vanilla_model.LEFT_ITEM}) do + itemModel:setVisible(true) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].models) do + modelPart:setVisible(false) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].animations) do + animations["models."..modelPart]["ex_skill_"..self.exSkillIndex]:stop() + end + self.parent.physics:enable() + renderer:setFOV() + self.animationCount = -1 + + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostAnimation ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostAnimation(self.parent.characterData, false) + end + self:transition("POST", function () + events.TICK:remove("ex_skill_tick") + self.parent.cameraManager.setCameraPivot() + self.parent.cameraManager.setCameraRot() + self.parent.cameraManager:setThirdPersonCameraDistance(4) + self.parent.cameraManager:setCameraCollisionDenial(false) + renderer:setRenderHUD(true) + + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostTransition ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostTransition(self.parent.characterData, false) + end + end) + end; + + ---アニメーションを停止する。終了時のトランジションも無効。 + ---@param self ExSkill + forceStop = function (self) + events.RENDER:remove("ex_skill_transition_render") + if host:isHost() then + events.TICK:remove("ex_skill_transition_tick") + events.RENDER:remove("ex_skill_animation_render") + end + + for _, itemModel in ipairs({vanilla_model.RIGHT_ITEM, vanilla_model.LEFT_ITEM}) do + itemModel:setVisible(true) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].models) do + modelPart:setVisible(false) + end + for _, modelPart in ipairs(self.parent.characterData.exSkill[self.exSkillIndex].animations) do + animations["models."..modelPart]["ex_skill_"..self.exSkillIndex]:stop() + end + for _, eventName in ipairs({"ex_skill_tick", "ex_skill_animation_tick"}) do + events.TICK:remove(eventName) + end + self.parent.physics:enable() + models.models.ex_skill_frame.Gui.FrameBar:setPos() + for _, modelPart in ipairs({models.models.ex_skill_frame.Gui.Frame.FrameTopLeft, models.models.ex_skill_frame.Gui.Frame.FrameTopRight, models.models.ex_skill_frame.Gui.Frame.FrameBottomLeft, models.models.ex_skill_frame.Gui.Frame.FrameBottomRight}) do + modelPart:setVisible(false) + end + for _, modelPart in ipairs({models.models.ex_skill_frame.Gui.Frame.FrameTop, models.models.ex_skill_frame.Gui.Frame.FrameLeft, models.models.ex_skill_frame.Gui.Frame.FrameBottom, models.models.ex_skill_frame.Gui.Frame.FrameRight}) do + modelPart:setScale(0, 0, 0) + end + self.parent.faceParts:resetEmotion() + self.parent.cameraManager.setCameraPivot() + self.parent.cameraManager.setCameraRot() + self.parent.cameraManager:setThirdPersonCameraDistance(4) + self.parent.cameraManager:setCameraCollisionDenial(false) + renderer:setRenderHUD(true) + renderer:setFOV() + + if self.animationCount >= 0 and self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostAnimation ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostAnimation(self.parent.characterData, true) + end + if self.parent.characterData.exSkill[self.exSkillIndex].callbacks ~= nil and self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostTransition ~= nil then + self.parent.characterData.exSkill[self.exSkillIndex].callbacks.onPostTransition(self.parent.characterData, true) + end + + self.animationCount = -1 + self.transitionCount = 0 + end; +} + +---Exスキルを再生する。 +function pings.exSkill() + AvatarInstance.exSkill:play(false) +end + +---サブExスキルを再生する。 +function pings.subExSkill() + AvatarInstance.exSkill:play(true) +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/ex_skill/ex_skill_frame_particle.lua b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/ex_skill/ex_skill_frame_particle.lua new file mode 100644 index 0000000..59315a9 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/ex_skill/ex_skill_frame_particle.lua @@ -0,0 +1,68 @@ +---@class (exact) ExSkillFrameParticle : SpawnObject Exスキルのフレームで使用するパーティクルの単一を管理するクラス +---@field package object ModelPart インスタンスで制御するオブジェクト +---@field package currentPos Vector2 パーティクルの現在位置 +---@field package nextPos Vector2 次ティックのパーティクルの位置 +---@field package velocity Vector2 パーティクルの速度 +---@field package particleCount integer パーティクルのアニメーションを制御するためのカウンター +---@field public new fun(parent: Avatar, pos: Vector2, velocity: Vector2, type: ExSkillFrameParticleManager.ParticleType): ExSkillFrameParticle コンストラクター + +ExSkillFrameParticle = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@param pos Vector2 パーティクルをスポーンさせるスクリーン上の座標。GUIスケールも考慮される。 + ---@param velocity Vector2 パーティクルの秒間移動距離(ピクセル) + ---@param type ExSkillFrameParticleManager.ParticleType このインスタンスのパーティクルの種類 + ---@return ExSkillFrameParticle + new = function (parent, pos, velocity, type) + ---@type ExSkillFrameParticle + local instance = Avatar.instantiate(ExSkillFrameParticle, SpawnObject, parent) + + instance.object = models.models.ex_skill_frame.Particles["Particle"..(type == "NORMAL" and 1 or 2)]:copy(instance.uuid) + instance.currentPos = pos + instance.nextPos = instance.currentPos + instance.velocity = velocity + instance.particleCount = 0 + + instance.callbacks = { + ---@param self ExSkillFrameParticle + onInit = function (self) + models.models.ex_skill_frame.Gui.script_ex_skill_frame_particles:addChild(self.object) + self.object:setRot(90, math.random() * 360, 180) + end; + + ---@param self ExSkillFrameParticle + onDeinit = function (self) + self.object:remove() + end; + + ---@param self ExSkillFrameParticle + onTick = function (self) + --パーティクル位置を強制更新 + self.currentPos = self.nextPos:copy() + self.object:setPos(self.currentPos:copy():augmented(0)) + self.object:setScale(vectors.vec3(1, 1, 1):scale(1 - self.particleCount / 5)) + + --カウンターを更新 + self.particleCount = self.particleCount + 1 + if self.particleCount == 5 then + self.object:remove() + elseif self.particleCount == 6 then + self.shouldDeinit = true + end + + --次ティックの位置を計算 + if self.velocity:length() > 0 then + self.nextPos = self.currentPos:copy():add(self.velocity:copy():scale(-0.05)) + end + end; + + ---@param self ExSkillFrameParticle + onRender = function (self, delta) + self.object:setPos(self.nextPos:copy():sub(self.currentPos):scale(delta):add(self.currentPos):augmented(0)) + self.object:setScale(vectors.vec3(1, 1, 1):scale(1 - (self.particleCount + delta) / 5)) + end; + } + + return instance + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/ex_skill/ex_skill_frame_particle_manager.lua b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/ex_skill/ex_skill_frame_particle_manager.lua new file mode 100644 index 0000000..262709e --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/ex_skill/ex_skill_frame_particle_manager.lua @@ -0,0 +1,48 @@ +---@alias ExSkillFrameParticleManager.ParticleType +---| "NORMAL" # 通常のパーティクル +---| "FIGURA" # Figuraマークのパーティクル(穴空き三角形) + +---@class (exact) ExSkillFrameParticleManager : SpawnObjectManager Exスキルのフレームで使用するパーティクルを管理するクラス +---@field public objects ExSkillFrameParticle[] インスタンスで制御するオブジェクト +---@field public getObject fun(self: ExSkillFrameParticleManager, pos: Vector2, velocity: Vector2): ExSkillFrameParticle Exスキルフレームのパーティクルのインスタンスを生成して返す +---@field public spawn fun(self: ExSkillFrameParticleManager, pos: Vector2, velocity: Vector2) Exスキルフレームのパーティクルをスポーンさせる + +ExSkillFrameParticleManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ExSkillFrameParticleManager + new = function (parent) + ---@type ExSkillFrameParticleManager + local instance = Avatar.instantiate(ExSkillFrameParticleManager, SpawnObjectManager, parent) + + instance.managerName = "ex_skill_frame_particle" + + return instance + end; + + ---初期化関数 + ---@param self ExSkillFrameParticleManager + init = function (self) + SpawnObjectManager.init(self) + + ---@diagnostic disable-next-line: discard-returns + models.models.ex_skill_frame.Gui:newPart("script_ex_skill_frame_particles") + end; + + ---Exスキルフレームのパーティクルのインスタンスを生成して返す。 + ---@param self ExSkillFrameParticleManager + ---@param pos Vector2 パーティクルをスポーンさせる画面上の座標 + ---@param velocity Vector2 パーティクルの速度 + ---@return ExSkillFrameParticle instance 生成したインスタンス + getObject = function (self, pos, velocity) + return ExSkillFrameParticle.new(self.parent, pos, velocity, math.random() > 0.9999 and "FIGURA" or "NORMAL") + end; + + ---Exスキルフレームのパーティクルをスポーンさせる。 + ---@param self ExSkillFrameParticleManager + ---@param pos Vector2 パーティクルをスポーンさせる画面上の座標 + ---@param velocity Vector2 パーティクルの速度 + spawn = function (self, pos, velocity) + SpawnObjectManager.spawn(self, pos, velocity) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/face_parts.lua b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/face_parts.lua new file mode 100644 index 0000000..c364e0f --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/face_parts.lua @@ -0,0 +1,88 @@ +---@class (exact) FaceParts : AvatarModule 目と口のテクスチャを管理するクラス +---@field package emotionCount integer エモートの時間を計るカウンター +---@field public blinkCount integer 瞬きのタイミングを計るカウンター +---@field public setEmotion fun(self: FaceParts, rightEye: BlueArchiveCharacter.RightEyeTextures, leftEye: BlueArchiveCharacter.LeftEyeTextures, mouth: BlueArchiveCharacter.MouthTextures, duration: integer, forced?: boolean) 表情を設定する +---@field public resetEmotion fun(self: FaceParts) 表情をリセットする + +FaceParts = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return FaceParts + new = function (parent) + ---@type FaceParts + local instance = Avatar.instantiate(FaceParts, AvatarModule, parent) + + instance.emotionCount = 0 + instance.blinkCount = 200 + + return instance + end; + + ---初期化関数 + ---@param self FaceParts + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + if not client:isPaused() then + if self.parent.playerUtils.damageStatus == "DAMAGE" then + if self.parent.characterData.faceParts.emotionSet ~= nil and self.parent.characterData.faceParts.emotionSet.onDamage ~= nil then + self:setEmotion(self.parent.characterData.faceParts.emotionSet.onDamage.rightEye, self.parent.characterData.faceParts.emotionSet.onDamage.leftEye, self.parent.characterData.faceParts.emotionSet.onDamage.mouth, 8, true) + else + self:setEmotion("SURPRISED", "SURPRISED", "NORMAL", 8, true) + end + elseif self.parent.playerUtils.damageStatus == "DIED" then + if self.parent.characterData.faceParts.emotionSet ~= nil and self.parent.characterData.faceParts.emotionSet.onDied ~= nil then + self:setEmotion(self.parent.characterData.faceParts.emotionSet.onDied.rightEye, self.parent.characterData.faceParts.emotionSet.onDied.leftEye, self.parent.characterData.faceParts.emotionSet.onDied.mouth, 20, true) + else + self:setEmotion("SURPRISED", "SURPRISED", "NORMAL", 20, true) + end + elseif self.emotionCount == 0 then + self:setEmotion("NORMAL", "NORMAL", "NORMAL", 0) + end + + if self.blinkCount == 0 then + self:setEmotion("CLOSED", "CLOSED", "NORMAL", 2) + self.blinkCount = 200 + else + self.blinkCount = self.blinkCount - 1 + end + + self.emotionCount = self.emotionCount > 0 and self.emotionCount - 1 or self.emotionCount + end + end) + end; + + ---表情を設定する。 + ---@param self FaceParts + ---@param rightEye BlueArchiveCharacter.RightEyeTextures 設定する右目の名前 + ---@param leftEye BlueArchiveCharacter.LeftEyeTextures 設定する左目の名前 + ---@param mouth BlueArchiveCharacter.MouthTextures 設定する口の名前 + ---@param duration integer この表情を有効にする時間 + ---@param forced? boolean trueにすると以前のエモーションが再生中でも強制的に現在のエモーションを適用させる。 + setEmotion = function (self, rightEye, leftEye, mouth, duration, forced) + if self.emotionCount == 0 or forced then + --右目 + models.models.main.Avatar.Head.FaceParts.Eyes.EyeLeft:setUVPixels(self.parent.characterData.faceParts.rightEye[rightEye]:copy():scale(6)) + + --左目 + models.models.main.Avatar.Head.FaceParts.Eyes.EyeRight:setUVPixels(self.parent.characterData.faceParts.leftEye[leftEye]:copy():scale(6)) + + --口 + if mouth ~= "NORMAL" then + models.models.main.Avatar.Head.FaceParts.Mouth:setVisible(true) + models.models.main.Avatar.Head.FaceParts.Mouth:setUVPixels(self.parent.characterData.faceParts.mouth[mouth]:copy():mul(16, 8)) + else + models.models.main.Avatar.Head.FaceParts.Mouth:setVisible(false) + end + + self.emotionCount = duration + end + end; + + ---表情をリセットする。 + ---@param self FaceParts + resetEmotion = function (self) + self.emotionCount = 0 + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/gun.lua b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/gun.lua new file mode 100644 index 0000000..e85079b --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/gun.lua @@ -0,0 +1,376 @@ +---@alias Gun.GunPosition +---| "NONE" # 構えていない +---| "RIGHT" # 右手に構える +---| "LEFT" # 左手に構える + +---@alias Gun.HandDirection +---| "RIGHT" # 右手 +---| "LEFT" # 左手 + +---@class (exact) Gun : AvatarModule 生徒の銃を制御するクラス +---@field public gunItems Minecraft.itemID[] 銃のモデルを適用するアイテム +---@field public shouldShowWeaponInFirstPerson boolean 一人称で武器(銃を含む)のモデルを表示するかどうか +---@field public currentGunPosition Gun.GunPosition 現在の銃の位置 +---@field package heldItemsPrev Gun.HeldItemSet 前ティックの手持ちアイテム +---@field package isLeftHandedPrev boolean 前ティックに左利きだったかどうか +---@field package isGunTickProcessed boolean このティック内で銃ティックを処理したかどうか +---@field package setBodyGunPos fun(self: Gun) 背中の銃の位置・向きを設定する +---@field public setGunPosition fun(self: Gun, gonPosition: Gun.GunPosition) 銃の位置を変更する +---@field public processGunTick fun(self: Gun) 銃ティックを処理する + +---@class (exact) Gun.HeldItemSet 手持ちアイテムを示すデータセット +---@field public mainHand ItemStack メインハンド +---@field public offHand ItemStack オフハンド + +Gun = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Gun + new = function (parent) + ---@type Gun + local instance = Avatar.instantiate(Gun, AvatarModule, parent) + + instance.gunItems = {"minecraft:bow", "minecraft:crossbow"} + instance.shouldShowWeaponInFirstPerson = instance.parent.config:loadConfig("PRIVATE", "firstPersonWeapon", true) + instance.currentGunPosition = "NONE" + instance.heldItemsPrev = { + mainHand = world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")); + offHand = world.newItem(instance.parent.compatibilityUtils:checkItem("minecraft:air")); + } + instance.isLeftHandedPrev = player:isLeftHanded() + instance.isGunTickProcessed = false + + return instance + end; + + ---初期化関数 + ---@param self Gun + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + self:processGunTick() + self.isGunTickProcessed = false + end) + + events.ON_PLAY_SOUND:register(function (id, pos, _, _, _, _, path) + if path ~= nil then + local velocityDistance = player:getVelocity():length() + local distanceFromSound = math.abs(pos:copy():sub(player:getPos()):length() - velocityDistance) + if (id == "minecraft:entity.arrow.shoot" or id == "minecraft:item.crossbow.loading_end" or id == "minecraft:item.crossbow.shoot") and math.abs(velocityDistance - distanceFromSound) < 1 then + if id == "minecraft:item.crossbow.loading_end" then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.dispenser.fail"), pos, 1, 2) + elseif player:isUnderwater() then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.generic.extinguish_fire"), pos, 0.5, 1.5) + else + local particleAnchor = self.parent.modelUtils.getModelWorldPos(renderer:isFirstPerson() and (Gun.CurrentGunPosition == "RIGHT" and models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.RightItemPivot or models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.LeftItemPivot) or models.models.main.Avatar.UpperBody.Body.Gun.MuzzleAnchor) + for _ = 1, 5 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:smoke"), particleAnchor) + end + sounds:playSound(self.parent.compatibilityUtils:checkSound(self.parent.characterData.gun.sound.name), pos, 1, self.parent.characterData.gun.sound.pitch) + end + return true + elseif (id == "minecraft:item.crossbow.loading_start" or id == "minecraft:item.crossbow.loading_middle" or id:match("^minecraft:item%.crossbow%.quick_charge_[1-3]$") ~= nil) and distanceFromSound < 1 and player:getActiveItem().id == "minecraft:crossbow" then + local activeItemTime = player:getActiveItemTime() + local quickChargeLevel = 0 + local activeItem = player:getActiveItem() + if activeItem.tag.Enchantments ~= nil then + for _, enchant in ipairs(activeItem.tag.Enchantments) do + if enchant.id == "minecraft:quick_charge" then + quickChargeLevel = enchant.lvl + break + end + end + end + if (quickChargeLevel <= 4 and activeItemTime + quickChargeLevel >= 4 and activeItemTime + quickChargeLevel <= 6) or (quickChargeLevel == 5 and activeItemTime <= 2) then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.flintandsteel.use"), pos, 1, 2) + return true + elseif id == "minecraft:item.crossbow.loading_middle" then + return true + end + end + end + end) + + local this = self --Figuraにスクリプトを再構築させると参照がおかしくなることに対処しているコード + events.ITEM_RENDER:register(function (item, mode, _, _, _, leftHanded) + self = this + if mode ~= "HEAD" and self.currentGunPosition == (leftHanded and "LEFT" or "RIGHT") and (self.shouldShowWeaponInFirstPerson or mode =="THIRD_PERSON_LEFT_HAND" or mode == "THIRD_PERSON_RIGHT_HAND") then + for _, gunItem in ipairs(self.gunItems) do + if item.id == gunItem then + if leftHanded then + if mode == "FIRST_PERSON_LEFT_HAND" then + local offsetPos = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.firstPersonPos ~= nil and self.parent.characterData.gun.gunPosition.hold.firstPersonPos.left ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.hold.firstPersonPos.left + end + local offsetRot = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.firstPersonRot ~= nil and self.parent.characterData.gun.gunPosition.hold.firstPersonRot.left ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.hold.firstPersonRot.left + end + local activeItemId = player:getActiveItem().id + if activeItemId == "minecraft:bow" then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -2.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(20, -7.5, -5):add(offsetRot)) + elseif activeItemId == "minecraft:crossbow" then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, 0.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + elseif item.id == "minecraft:crossbow" and item.tag.Charged == 1 then + if player:isLeftHanded() then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(-10, -1.25, 6):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 10, 0):add(offsetRot)) + else + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -1.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + else + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -1.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + elseif mode == "THIRD_PERSON_LEFT_HAND" then + local offsetPos = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.thirdPersonPos ~= nil and self.parent.characterData.gun.gunPosition.hold.thirdPersonPos.left ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.hold.thirdPersonPos.left + end + local offsetRot = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.thirdPersonRot ~= nil and self.parent.characterData.gun.gunPosition.hold.thirdPersonRot.left ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.hold.thirdPersonRot.left + end + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -4.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + else + if mode == "FIRST_PERSON_RIGHT_HAND" then + local offsetPos = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.firstPersonPos ~= nil and self.parent.characterData.gun.gunPosition.hold.firstPersonPos.right ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.hold.firstPersonPos.right + end + local offsetRot = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.firstPersonRot ~= nil and self.parent.characterData.gun.gunPosition.hold.firstPersonRot.right ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.hold.firstPersonRot.right + end + local activeItemId = player:getActiveItem().id + if activeItemId == "minecraft:bow" then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -2.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(20, 7.5, 5):add(offsetRot)) + elseif activeItemId == "minecraft:crossbow" then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, 0.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + elseif item.id == "minecraft:crossbow" and item.tag.Charged == 1 then + if player:isLeftHanded() then + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -1.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + else + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(10, -1.25, 6):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, -10, 0):add(offsetRot)) + end + else + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -1.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + elseif mode == "THIRD_PERSON_RIGHT_HAND" then + local offsetPos = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.thirdPersonPos ~= nil and self.parent.characterData.gun.gunPosition.hold.thirdPersonPos.right ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.hold.thirdPersonPos.right + end + local offsetRot = vectors.vec3() + if self.parent.characterData.gun.gunPosition.hold.thirdPersonRot ~= nil and self.parent.characterData.gun.gunPosition.hold.thirdPersonRot.right ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.hold.thirdPersonRot.right + end + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, -4.25, 4.25):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(vectors.vec3(0, 0, 0):add(offsetRot)) + end + end + return models.models.main.Avatar.UpperBody.Body.Gun + end + end + end + end) + + models.models.main.Avatar.UpperBody.Body.Gun:setScale(vectors.vec3(1, 1, 1):scale(self.parent.characterData.gun.scale)) + self:setGunPosition("NONE") + if self.parent.characterData.gun.callbacks ~= nil and self.parent.characterData.gun.callbacks.onMainHandChange ~= nil then + self.parent.characterData.gun.callbacks.onMainHandChange(self.parent.characterData, self.isLeftHandedPrev and "LEFT" or "RIGHT") + end + end; + + ---背中の銃の位置・向きを設定する。 + ---@param self Gun + setBodyGunPos = function (self) + if models.models.main.Avatar.UpperBody.Body.Gun ~= nil then + local offsetPos = vectors.vec3() + local offsetRot = vectors.vec3() + if player:isLeftHanded() then + if self.parent.characterData.gun.gunPosition.put.pos ~= nil and self.parent.characterData.gun.gunPosition.put.pos.left ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.put.pos.left + end + if self.parent.characterData.gun.gunPosition.put.rot ~= nil and self.parent.characterData.gun.gunPosition.put.rot.left ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.put.rot.left + end + else + if self.parent.characterData.gun.gunPosition.put.pos ~= nil and self.parent.characterData.gun.gunPosition.put.pos.right ~= nil then + offsetPos = self.parent.characterData.gun.gunPosition.put.pos.right + end + if self.parent.characterData.gun.gunPosition.put.rot ~= nil and self.parent.characterData.gun.gunPosition.put.rot.right ~= nil then + offsetRot = self.parent.characterData.gun.gunPosition.put.rot.right + end + end + models.models.main.Avatar.UpperBody.Body.Gun:setPos(vectors.vec3(0, 12, 0):add(offsetPos)) + models.models.main.Avatar.UpperBody.Body.Gun:setRot(offsetRot) + end + end; + + ---銃の位置を変更する。 + ---@param self Gun + ---@param gunPosition Gun.GunPosition 変更先の構え位置 + setGunPosition = function (self, gunPosition) + if gunPosition == "NONE" then + for _, tickName in ipairs({"right_gun_tick", "left_gun_tick"}) do + events.TICK:remove(tickName) + end + models.models.main.Avatar.UpperBody.Body.Gun:setParentType("None") + models.models.main.Avatar.UpperBody.Body.Gun:setSecondaryRenderType("NONE") + if self.parent.characterData.gun.gunPosition.hold.type == "NORMAL" then + self.parent.arms:setArmState(0, 0) + elseif self.parent.characterData.gun.gunPosition.hold.type == "CUSTOM" then + for _, animationName in ipairs({"gun_hold_right", "gun_hold_left"}) do + animations["models.main"][animationName]:stop() + end + end + if self.parent.characterData.gun.gunPosition.put.type == "BODY" then + self:setBodyGunPos() + elseif self.parent.characterData.gun.gunPosition.put.type == "HIDDEN" then + models.models.main.Avatar.UpperBody.Body.Gun:setVisible(false) + end + elseif gunPosition == "RIGHT" then + events.TICK:remove("left_gun_tick") + if events.TICK:getRegisteredCount("right_gun_tick") == 0 then + events.TICK:register(function () + local heldItem = player:getHeldItem(player:isLeftHanded()) + local hasGlint = false + for _, gunItem in ipairs(self.gunItems) do + if gunItem == heldItem.id and heldItem:hasGlint() then + models.models.main.Avatar.UpperBody.Body.Gun:setSecondaryRenderType("GLINT") + hasGlint = true + break + end + end + if not hasGlint then + models.models.main.Avatar.UpperBody.Body.Gun:setSecondaryRenderType("NONE") + end + end, "right_gun_tick") + end + if self.parent.characterData.gun.gunPosition.hold.type == "NORMAL" then + self.parent.arms:setArmState(1, 2) + elseif self.parent.characterData.gun.gunPosition.hold.type == "CUSTOM" then + animations["models.main"]["gun_hold_left"]:stop() + animations["models.main"]["gun_hold_right"]:play() + end + models.models.main.Avatar.UpperBody.Body.Gun:setVisible(true) + models.models.main.Avatar.UpperBody.Body.Gun:setParentType("Item") + if not client:isPaused() then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.flintandsteel.use"), player:getPos(), 1, 2) + end + elseif gunPosition == "LEFT" then + events.TICK:remove("right_gun_tick") + if events.TICK:getRegisteredCount("left_gun_tick") == 0 then + events.TICK:register(function () + local heldItem = player:getHeldItem(not player:isLeftHanded()) + local hasGlint = false + for _, gunItem in ipairs(self.gunItems) do + if gunItem == heldItem.id and heldItem:hasGlint() then + models.models.main.Avatar.UpperBody.Body.Gun:setSecondaryRenderType("GLINT") + hasGlint = true + break + end + end + if not hasGlint then + models.models.main.Avatar.UpperBody.Body.Gun:setSecondaryRenderType("NONE") + end + end, "left_gun_tick") + end + if self.parent.characterData.gun.gunPosition.hold.type == "NORMAL" then + self.parent.arms:setArmState(2, 1) + elseif self.parent.characterData.gun.gunPosition.hold.type == "CUSTOM" then + animations["models.main"]["gun_hold_right"]:stop() + animations["models.main"]["gun_hold_left"]:play() + end + models.models.main.Avatar.UpperBody.Body.Gun:setVisible(true) + models.models.main.Avatar.UpperBody.Body.Gun:setParentType("Item") + if not client:isPaused() then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:item.flintandsteel.use"), player:getPos(), 1, 2) + end + end + self.currentGunPosition = gunPosition + end; + + ---銃ティックを処理する。 + ---@param self Gun + processGunTick = function (self) + if not self.isGunTickProcessed then + local heldItems = {} + if player:getPose() ~= "SLEEPING" and self.parent.exSkill.animationCount == -1 then + heldItems.mainHand = player:getHeldItem(false) + heldItems.offHand = player:getHeldItem(true) + else + heldItems.mainHand = world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air")) + heldItems.offHand = world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air")) + end + local targetItemFound = false + local isLeftHanded = player:isLeftHanded() + if heldItems.mainHand.id ~= self.heldItemsPrev.mainHand.id or heldItems.offHand.id ~= self.heldItemsPrev.offHand.id or isLeftHanded ~= self.isLeftHandedPrev then + for _, gunItem in ipairs(self.gunItems) do + if heldItems.mainHand.id == gunItem then + --メインハンドに対象アイテムを持つ + targetItemFound = true + if isLeftHanded then + if self.currentGunPosition ~= "LEFT" then + self:setGunPosition("LEFT") + end + else + if self.currentGunPosition ~= "RIGHT" then + self:setGunPosition("RIGHT") + end + end + break + end + end + if not targetItemFound then + for _, gunItem in ipairs(self.gunItems) do + if heldItems.offHand.id == gunItem then + --オフハンドに対象アイテムを持つ + targetItemFound = true + if isLeftHanded then + if self.currentGunPosition ~= "RIGHT" then + self:setGunPosition("RIGHT") + end + else + if self.currentGunPosition ~= "LEFT" then + self:setGunPosition("LEFT") + end + end + break + end + end + end + if not targetItemFound then + --対象アイテムは持たない + if self.currentGunPosition ~= "NONE" then + self:setGunPosition("NONE") + end + end + if isLeftHanded ~= self.leftHandedPrev then + if self.currentGunPosition == "NONE" then + self:setBodyGunPos() + end + if self.parent.characterData.gun.callbacks ~= nil and self.parent.characterData.gun.callbacks.onMainHandChange ~= nil then + self.parent.characterData.gun.callbacks.onMainHandChange(self.parent.characterData, isLeftHanded and "LEFT" or "RIGHT") + end + self.isLeftHandedPrev = isLeftHanded + end + self.heldItemsPrev = heldItems + end + self.isGunTickProcessed = true + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/head_block.lua b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/head_block.lua new file mode 100644 index 0000000..72bce44 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/head_block.lua @@ -0,0 +1,33 @@ +---@class (exact) HeadBlock : HeadModelGenerator 頭ブロックのモデルを制御するクラス +---@field package forceGenerateCount integer 強制的に頭ブロックを生成するまでのカウンター。これが発火するのはアバタープレイヤーがオフラインの時のみ。 + +HeadBlock = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return HeadBlock + new = function (parent) + ---@type HeadBlock + local instance = Avatar.instantiate(HeadBlock, HeadModelGenerator, parent) + + instance.processData = instance.parent.characterData.headBlock + instance.parentName = "head_block" + instance.parentType = "Skull" + instance.forceGenerateCount = 2 + + return instance + end; + + ---初期化関数 + ---@param self HeadBlock + init = function (self) + HeadModelGenerator.init(self) + + events.WORLD_TICK:register(function () + self.forceGenerateCount = self.forceGenerateCount - 1 + if self.forceGenerateCount == 0 then + self:generateHeadModel() + events.WORLD_TICK:remove("head_block_world_tick") + end + end, "head_block_world_tick") + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/head_model_generator.lua b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/head_model_generator.lua new file mode 100644 index 0000000..76b2ab7 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/head_model_generator.lua @@ -0,0 +1,85 @@ +---@class (exact) HeadModelGenerator : AvatarModule 頭のモデルの生成を含む抽象クラス +---@field public processData BlueArchiveCharacter.HeadBlockStruct 頭モデルを生成する過程で参照するデータ +---@field public parentName string モデルを生成する名前空間 +---@field public parentType ModelPart.parentType コピーした頭モデルに適用する親タイプ +---@field public generateHeadModel fun(self: HeadModelGenerator) 頭モデルのコピーを生成する +---@field package isScriptLoaded boolean スクリプトが全てロードされているかどうか + +HeadModelGenerator = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return HeadModelGenerator + new = function (parent) + ---@type HeadModelGenerator + local instance = Avatar.instantiate(HeadModelGenerator, AvatarModule, parent) + + instance.isScriptLoaded = false + + return instance + end; + + ---初期化関数 + ---@param self HeadModelGenerator + init = function (self) + AvatarModule.init(self) + + ---@diagnostic disable-next-line: discard-returns + models:newPart("script_"..self.parentName, "None") + + self.parent.avatarEvents.SCRIPT_INIT:register(function () + self.isScriptLoaded = true + end) + end; + + ---頭モデルのコピーを生成する。 + ---@param self HeadModelGenerator + generateHeadModel = function (self) + --既存の頭ブロックのモデルを削除する。 + if models["script_"..self.parentName].Head ~= nil then + models["script_"..self.parentName].Head:remove() + end + + --ヘルメットを着けている場合は外しておく。 + local isHelmetVisible = self.isScriptLoaded and self.parent.armor.isArmorVisible.helmet or false + if isHelmetVisible then + self.parent.armor:setHelmet(world.newItem(self.parent.compatibilityUtils:checkItem("minecraft:air"))) + end + + if self.isScriptLoaded then + self.parent.physics:disable() + end + if self.processData.callbacks ~= nil and self.processData.callbacks.onBeforeModelCopy ~= nil then + self.processData.callbacks.onBeforeModelCopy(self.parent.characterData, self.isScriptLoaded) + end + + --現在の衣装を基に新たな頭ブロックのモデルを生成する。 + local copiedPart = self.parent.modelUtils:copyModel(models.models.main.Avatar.Head) + if copiedPart ~= nil then + models["script_"..self.parentName]:addChild(copiedPart) + models["script_"..self.parentName].Head:setParentType(self.parentType) + models["script_"..self.parentName].Head:setPos(0, -24, 0) + models["script_"..self.parentName].Head.HeadRing:setRot(self.parent.headRing.initialHaloRot) + models["script_"..self.parentName].Head.HeadRing:setLight(15) + for _, modelPart in ipairs({models["script_"..self.parentName].Head.FaceParts.Eyes.EyeRight, models["script_"..self.parentName].Head.FaceParts.Eyes.EyeLeft}) do + modelPart:setUVPixels() + end + for _, modelPart in ipairs(self.processData.includeModels) do + local copiedIncludePart = self.parent.modelUtils:copyModel(modelPart) + if copiedIncludePart ~= nil then + models["script_"..self.parentName].Head:addChild(copiedIncludePart) + end + end + end + + --非表示にしたモデルを元に戻す。 + if isHelmetVisible then + self.parent.armor:setHelmet(self.parent.armor.armorSlotItems[1]) + end + if self.isScriptLoaded then + self.parent.physics:enable() + end + if self.processData.callbacks ~= nil and self.processData.callbacks.onAfterModelCopy ~= nil then + self.processData.callbacks.onAfterModelCopy(self.parent.characterData, self.isScriptLoaded) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/head_ring.lua b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/head_ring.lua new file mode 100644 index 0000000..315489c --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/head_ring.lua @@ -0,0 +1,79 @@ +---@class (exact) HeadRing : AvatarModule ヘイロー(頭の輪っか)を制御するクラス +---@field public initialHaloRot number ヘイローの初期角度 +---@field package headRotData number[] 一定期間内の頭の角度を保持するテーブル +---@field package headRotAverage number[] 頭の角度の移動平均値 +---@field package floatCount integer ヘイローが上下するアニメーションのカウンター + +HeadRing = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return HeadRing + new = function (parent) + ---@type HeadRing + local instance = Avatar.instantiate(HeadRing, AvatarModule, parent) + + instance.initialHaloRot = models.models.main.Avatar.Head.HeadRing:getRot().x + instance.haloRotPrev = instance.initialHaloRot + instance.headRotData = {} + instance.headRotAverage = {0, 0} + instance.floatCount = 0 + + return instance + end; + + ---初期化関数 + ---@param self HeadRing + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + if not client:isPaused() then + --移動平均値の算出 + local headRot = self.parent.exSkill.animationCount > -1 and models.models.main.Avatar.Head:getAnimRot().x or math.deg(math.asin(player:getLookDir().y)) + local headRotAverage = self.headRotAverage[2] + headRotAverage = (#self.headRotData * headRotAverage + headRot) / (#self.headRotData + 1) + table.insert(self.headRotData, headRot) + --古いデータの切り捨て + if #self.headRotData > 5 then + headRotAverage = (#self.headRotData * headRotAverage - self.headRotData[1]) / (#self.headRotData - 1) + table.remove(self.headRotData, 1) + end + table.insert(self.headRotAverage, headRotAverage) + table.remove(self.headRotAverage, 1) + end + end) + + events.WORLD_TICK:register(function () + if not client:isPaused() then + self.floatCount = self.floatCount + 1 + self.floatCount = self.floatCount == 80 and 0 or self.floatCount + end + end) + + events.RENDER:register(function (delta) + if not client:isPaused() then + --ヘイローの位置・角度を設定 + local playerPose = player:getPose() + local headRot = self.parent.physics.getValueBetweenTicks(self.headRotAverage, delta) + local floatOffset = math.sin((self.floatCount + delta) / 80 * 2 * math.pi) * 0.25 + if playerPose == "SWIMMING" or playerPose == "FALL_FLYING" then + models.models.main.Avatar.Head.HeadRing:setPos(self.parent.physics.velocityAverage[3][2] * 3, math.cos(math.rad(headRot)) * self.parent.physics.velocityAverage[1][2] * -1 + math.sin(math.rad(headRot)) * self.parent.physics.velocityAverage[2][2] * -1 + floatOffset, math.cos(math.rad(headRot)) * self.parent.physics.velocityAverage[2][2] * -3 + math.sin(math.rad(headRot)) * self.parent.physics.velocityAverage[1][2]) + else + models.models.main.Avatar.Head.HeadRing:setPos(self.parent.physics.velocityAverage[3][2] * -3, math.cos(math.rad(headRot)) * self.parent.physics.velocityAverage[2][2] * -1 + math.sin(math.rad(headRot)) * self.parent.physics.velocityAverage[1][2] + floatOffset, math.cos(math.rad(headRot)) * self.parent.physics.velocityAverage[1][2] * 3 + math.sin(math.rad(headRot)) * self.parent.physics.velocityAverage[2][2]) + end + if self.parent.deathAnimation.dummyAvatarRoot ~= nil then + self.parent.deathAnimation.dummyAvatarRoot.Head.HeadRing:setPos(0, floatOffset, 0) + end + models.models.main.Avatar.Head.HeadRing:setRot(headRot - (self.parent.exSkill.animationCount > -1 and models.models.main.Avatar.Head:getAnimRot().x or math.deg(math.asin(player:getLookDir().y))) + self.initialHaloRot, 0, 0) + end + end) + + events.WORLD_RENDER:register(function (delta) + if not client:isPaused() and models.script_head_block.Head ~= nil and models.script_head_block.Head.HeadRing ~= nil then + models.script_head_block.Head.HeadRing:setPos(0, math.sin((self.floatCount + delta) / 80 * 2 * math.pi) * 0.25, 0) + end + end) + + models.models.main.Avatar.Head.HeadRing:setLight(15) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/hypixel_zombies.lua b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/hypixel_zombies.lua new file mode 100644 index 0000000..5d3df84 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/hypixel_zombies.lua @@ -0,0 +1,85 @@ +---@class (exact) HypixelZombies : AvatarModule Hypixelの「Zombies」にアバターを対応させるパッチ +---@field package isEnabled boolean Zombiesモードが有効かどうか +---@field package damagerPercentPrev number[] 前ティック以前のツールの耐久度割合 +---@field public enable fun(self: HypixelZombies) Zombiesモードを有効にする +---@field public disable fun(self: HypixelZombies) Zombiesモードを無効にする + +HypixelZombies = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return HypixelZombies + new = function (parent) + ---@type HypixelZombies + local instance = Avatar.instantiate(HypixelZombies, AvatarModule, parent) + + instance.isEnabled = false + instance.damagerPercentPrev = {1, 1} + + return instance + end; + + ---Zombiesモードを有効にする。 + ---@param self HypixelZombies + enable = function (self) + if not self.isEnabled then + self.parent.gun.gunItems = {"minecraft:bow", "minecraft:crossbow", "minecraft:wooden_hoe", "minecraft:stone_hoe", "minecraft:iron_hoe", "minecraft:wooden_shovel", "minecraft:stone_shovel", "minecraft:shears", "minecraft:diamond_hoe", "minecraft:golden_hoe", "minecraft:iron_shovel", "minecraft:diamond_pickaxe", "minecraft:golden_pickaxe", "minecraft:golden_shovel", "minecraft:flint_and_steel"} + + events.TICK:register(function () + local heldItem = player:getHeldItem() + local maxDamage = heldItem:getMaxDamage() + local damagePercent = (maxDamage - heldItem:getDamage()) / maxDamage + if maxDamage > 0 then + if damagePercent - self.damagerPercentPrev[1] > 0 and damagePercent - self.damagerPercentPrev[1] <= 0.2 then + if self.parent.bubble.bubbleCount == 0 then + self.parent.bubble:play("RELOAD", -1, vectors.vec2(), 0, false) + end + elseif self.parent.bubble.emoji == "RELOAD" then + self.parent.bubble:stop() + end + table.insert(self.damagerPercentPrev, damagePercent) + else + if self.parent.bubble.emoji == "RELOAD" then + self.parent.bubble:stop() + end + table.insert(self.damagerPercentPrev, 1) + end + table.remove(self.damagerPercentPrev, 1) + end, "hypixel_zombies_tick") + + if host:isHost() then + print(self.parent.locale:getLocale("avatar.zombies_mode.enable")) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.lightning_bolt.thunder"), player:getPos(), 0.5, 2) + end + + self.isEnabled = true + elseif host:isHost() then + print(self.parent.locale:getLocale("avatar.zombies_mode.already_enabled")) + end + end; + + ---Zombiesモードを無効にする。 + ---@param self HypixelZombies + disable = function (self) + if self.isEnabled then + events.TICK:remove("hypixel_zombies_tick") + self.parent.gun.gunItems = {"minecraft:bow", "minecraft:crossbow"} + + if host:isHost() then + print(self.parent.locale:getLocale("avatar.zombies_mode.disable")) + end + elseif host:isHost() then + print(self.parent.locale:getLocale("avatar.zombies_mode.already_disabled")) + end + self.isEnabled = false + end +} + +---Zombiesモードを有効にする。 +function pings.enableZombiesMode() + AvatarInstance.hypixelZombies:enable() +end + +---Zombiesモードを無効にする。 +function pings.disableZombiesMode() + AvatarInstance.hypixelZombies:disable() +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/key_manager.lua b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/key_manager.lua new file mode 100644 index 0000000..e1cac33 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/key_manager.lua @@ -0,0 +1,45 @@ +---@class (exact) KeyManager : AvatarModule アバターのキー割り当てを管理するクラス。ここで管理する割り当ては設定で変更された場合はそれが保存される。 +---@field public keyMappings {[string]: Keybind} キーの割り当てのテーブル +---@field public register fun(self: KeyManager, assignName: string, keyName: Minecraft.keyCode): Keybind キー割り当てを登録する + +KeyManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return KeyManager + new = function (parent) + ---@type KeyManager + local instance = Avatar.instantiate(KeyManager, AvatarModule, parent) + + instance.keyMappings = {} + + return instance + end; + + ---初期化関数 + ---@param self KeyManager + init = function (self) + AvatarModule.init(self) + + if host:isHost() then + events.TICK:register(function () + for key, value in pairs(self.keyMappings) do + if not value:isDefault() then + local newKey = value:getKey() + self.parent.config:saveConfig("PRIVATE", "keybind."..key, newKey) + value:setKey(newKey) + end + end + end) + end + end; + + ---キー割り当てを登録する。 + ---@param self KeyManager + ---@param assignName string 割り当ての名前 + ---@param keyName Minecraft.keyCode 割当先のキー + ---@return Keybind assignedKey キーマネージャーによって登録がされたキーバインド + register = function (self, assignName, keyName) + self.keyMappings[assignName] = keybinds:newKeybind(self.parent.locale:getLocale("key_name."..assignName), self.parent.config:loadConfig("PRIVATE", "keybind."..assignName, keyName)) + return self.keyMappings[assignName] + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/locale.lua b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/locale.lua new file mode 100644 index 0000000..b2675ce --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/locale.lua @@ -0,0 +1,118 @@ +---@alias Locale.Language +---| "en_us" # 英語(米国) +---| "ja_jp" # 日本語 + +---@class (exact) Locale : AvatarModule アバターの表示言語を管理するクラス +---@field public localeData {[Locale.Language]: {[string]: string}} 言語データ +---@field public getLocale fun(self: Locale, key: string): string 翻訳キーに対する訳文を返す。設定言語が存在しない場合は英語の文が返される。また、指定したキーの訳が無い場合は英語->キーそのままが返される。 + +Locale = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Locale + new = function (parent) + ---@type Locale + local instance = Avatar.instantiate(Locale, AvatarModule, parent) + + instance.localeData = { + en_us = {}; + ja_jp = {}; + } + + ---言語データのリスト + ---1. キー名, 2. 英語(米国), 3. 日本語 + local localeStrings = { + {"avatar.old_version_warning", "For the best experience, playing with 1.20.1 or higher is recommended!", "生徒さんとより良い時間を過ごすためにバージョン1.20.1以上でのプレイをおすすめします!"}; + {"avatar.zombies_mode.enable", "Enabled Zombies mode.", "Zombiesモードを有効にしました。"}; + {"avatar.zombies_mode.already_enabled", "Already enabled Zombies mode.", "Zombiesモードは既に有効化されています。"}; + {"avatar.zombies_mode.disable", "Disabled Zombies mode.", "Zombiesモードを無効にしました。"}; + {"avatar.zombies_mode.already_disabled", "Already disabled Zombies mode.", "Zombiesモードは既に無効化されています。"}; + {"action_wheel.toggle_off", "off", "オフ"}; + {"action_wheel.toggle_on", "on", "オン"}; + {"action_wheel.main.action_1.title", "Change costume: ", "衣装を変更:"}; + {"action_wheel.main.action_1.unavailable", "There is no costume available.", "利用可能な衣装はありません。"}; + {"action_wheel.main.action_1.done_first", "Changed costume to §b", "衣装を§b"}; + {"action_wheel.main.action_1.done_last", "§r.", "§rに変更しました。"}; + {"action_wheel.main.action_2.title", "Change display name: ", "表示名を変更:"}; + {"action_wheel.main.action_2.title_2", "Show club name: ", "部活名を表示:"}; + {"action_wheel.main.action_2.done_first", "Changed display name to §b", "表示名を§b"}; + {"action_wheel.main.action_2.done_last", "§r.", "§rに変更しました。"}; + {"action_wheel.main.action_3.title", "Show armors: ", "防具を表示:"}; + {"action_wheel.main.action_4.title", "Show weapon models in first person: ", "一人称視点で武器モデルを表示:"}; + {"action_wheel.main.action_5.title", "Amount of particles in Ex skill frame: ", "Exスキルフレームのパーティクルの量:"}; + {"action_wheel.main.action_5.option_1", "Standard", "標準"}; + {"action_wheel.main.action_5.option_2", "Minimum", "少なめ"}; + {"action_wheel.main.action_5.option_3", "None", "なし"}; + {"action_wheel.main.action_5.option_4", "Hide Ex skill frame", "スキルフレーム非表示"}; + {"action_wheel.main.action_5.done_first", "Changed amount of particles in Ex skill frame to§b", "Exスキルフレームのパーティクルの量を§b"}; + {"action_wheel.main.action_5.done_last", "§r.", "§rに変更しました。"}; + {"action_wheel.main.action_6.title", "Replace vehicle models: ", "乗り物のモデルを置き換え:"}; + {"action_wheel.main.action_6.unavailable", "This option is unavailable for this character.", "この生徒さんでは利用できません。"}; + {"action_wheel.main.action_7.title_1", "Check for new FBAC Updates ", "FBACアップデートの確認"}; + {"action_wheel.main.action_7.title_2", "(Left-click)", "(左クリック)"}; + {"action_wheel.main.action_7.title_3", "Copy URL for the latest FBAC ", "最新FBACバージョンのURLをコピー"}; + {"action_wheel.main.action_7.title_4", "(Right-click)", "(右クリック)"}; + {"action_wheel.main.action_7.networking_api", "To enable update checking, you need to allow Figura's Networking and put \"api.github.com\" in the Network Filter from Figura settings!", "アップデート確認機能を有効にするにはFiguraの設定より、FiguraのNetworkingの使用を許可し、\"api.github.com\"を許可リストに入れる必要があります!"}; + {"action_wheel.main.action_7.ongoing", "Checking for updates is ongoing. Please DO NOT click repeatedly!", "現在アップデートの確認中です。連打しないでください!"}; + {"action_wheel.main.action_7.copied", "Coped the link to the latest FBAC to your clipboard. Please open the link in your browser.", "最新のFBACへのリンクをクリップボードにコピーしました。ブラウザでリンクを開いてください。"}; + {"action_wheel.main.action_7.cannot_check_latest", "Cannot get the link because cannot check the latest FBAC.", "FBACの最新バージョンを確認できないため、リンクを取得できません。"}; + {"action_wheel.gui.bubble_guide.title", "§0Bubble emote guide", "§0吹き出しエモートガイド"}; + {"action_wheel.gui.ex_skill_guide.title", "§0Ex skill guide", "§0Exスキルガイド"}; + {"action_wheel.gui.ex_skill_guide.key_pre", "Press \"", "\""}; + {"action_wheel.gui.ex_skill_guide.key_post", "\"key to play", "\"キーで再生"}; + {"action_wheel.gui.update_check.checking", "Checking for updates...", "アップデートを確認中..."}; + {"action_wheel.gui.update_check.latest", "No FBAC update available", "最新のFBACを使用中です"}; + {"action_wheel.gui.update_check.update_available", "New FBAC update is available: ", "FBACのアップデートが利用可能です:"}; + {"action_wheel.gui.update_check.error_not_allowed", "Failed to check for updates - Networking API not allowed", "アップデート確認失敗 - ネットワーキング機能が不許可"}; + {"action_wheel.gui.update_check.error_network_err", "Failed to check for updates - Network error", "アップデート確認失敗 - ネットワークエラー"}; + {"action_wheel.gui.update_check.error_request_failed", "Failed to check for updates - Request failure ", "アップデート確認失敗 - リクエスト失敗 "}; + {"action_wheel.gui.update_check.error_invalid_json_syntax", "Failed to check for updates - Json parsing failure", "アップデート確認失敗 - リクエスト解析失敗"}; + {"action_wheel.gui.update_check.error_invalid_json", "Failed to check for updates - Unexpected Request", "アップデート確認失敗 - 予期しないリクエスト"}; + {"key_name.ex_skill", "Ex Skill", "Exスキル"}; + {"key_name.ex_skill_sub", "Sub Ex Skill", "サブExスキル"}; + {"key_name.bubble_1", "Bubble: Good", "吹き出し:いいね"}; + {"key_name.bubble_2", "Bubble: Heart", "吹き出し:ハート"}; + {"key_name.bubble_3", "Bubble: Note", "吹き出し:音符"}; + {"key_name.bubble_4", "Bubble: Question", "吹き出し:はてな"}; + {"key_name.bubble_5", "Bubble: Sweat", "吹き出し:汗"}; + {"key_bind.ex_skill.unavailable", "You cannot do this now.", "今は再生できません。"}; + {"key_bind.ex_skill.unavailable_firstperson", "You cannot do this in first person perspective.", "一人称視点では再生できません。"}; + } + + for _, localeSet in ipairs(localeStrings) do + instance.localeData.en_us[localeSet[1]] = localeSet[2] + instance.localeData.ja_jp[localeSet[1]] = localeSet[3] + end + + return instance + end; + + ---初期化関数 + ---@param self Locale + init = function (self) + AvatarModule.init(self) + + self.localeData.en_us["nameplate.club_name"] = self.parent.characterData.basic.clubName.en_us + self.localeData.ja_jp["nameplate.club_name"] = self.parent.characterData.basic.clubName.ja_jp + + if host:isHost() then + for index, exSkill in ipairs(self.parent.characterData.exSkill) do + self.localeData.en_us["action_wheel.gui.ex_skill_guide.ex_skill_"..index..".name"] = exSkill.name.en_us + self.localeData.ja_jp["action_wheel.gui.ex_skill_guide.ex_skill_"..index..".name"] = exSkill.name.ja_jp + end + for _, costume in ipairs(self.parent.characterData.costume.costumes) do + self.localeData.en_us["costume."..costume.name] = costume.displayName.en_us + self.localeData.ja_jp["costume."..costume.name] = costume.displayName.ja_jp + end + end + end; + + ---翻訳キーに対する訳文を返す。設定言語が存在しない場合は英語の文が返される。また、指定したキーの訳が無い場合は英語->キーそのままが返される。 + ---@param self Locale + ---@param key string 翻訳キー + ---@return string translatedString 翻訳キーに対する翻訳データ。設定言語での翻訳が存在しない場合は英文が返される。英文すら存在しない場合は翻訳キーがそのまま返される。 + getLocale = function (self, key) + local activeLanguage = client:getActiveLang() + return (self.localeData[activeLanguage] ~= nil and self.localeData[activeLanguage][key] ~= nil) and self.localeData[activeLanguage][key] or (self.localeData.en_us[key] and self.localeData.en_us[key] or key) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/nameplate.lua b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/nameplate.lua new file mode 100644 index 0000000..1db7e24 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/nameplate.lua @@ -0,0 +1,77 @@ +---@class (exact) Nameplate : AvatarModule プレイヤーの表示名を制御するクラス +---@field public currentName integer 現在の表示名:1. プレイヤー名, 2. 名のみ(英語), 3. 名のみ(日本語), 4. 名性(英語), 5. 性名(英語), 6. 性名(日本語) +---@field public shouldShowClubName boolean 部活名を表示するかどうか +---@field package localePrev string 前ティックの設定言語 +---@field public getName fun(self: Nameplate, typeId: integer): string 指定されたtypeIdでの表示名を返す +---@field public setName fun(self: Nameplate, typeId: integer, shouldShowClubName: boolean) 入力された設定で表示名を設定する + +Nameplate = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Nameplate + new = function (parent) + ---@type Nameplate + local instance = Avatar.instantiate(Nameplate, AvatarModule, parent) + + instance.currentName = instance.parent.config:loadConfig("PRIVATE", "name", 1) + instance.shouldShowClubName = instance.parent.config:loadConfig("PRIVATE", "showClubName", false) + instance.localePrev = client:getActiveLang() + + return instance + end; + + ---指定されたtypeIdでの表示名を返す。 + ---@param self Nameplate + ---@param typeId integer 表示名の種類:1. プレイヤー名, 2. 名のみ(英語), 3. 名のみ(日本語), 4. 名性(英語), 5. 性名(英語), 6. 性名(日本語) + ---@return string displayName 指定されたtypeIdでの表示名 + getName = function (self, typeId) + local displayName = typeId == 1 and player:getName() or ((typeId == 2 or typeId == 4) and self.parent.characterData.basic.firstName.en_us or (typeId == 5 and self.parent.characterData.basic.lastName.en_us or (typeId == 3 and self.parent.characterData.basic.firstName.ja_jp or self.parent.characterData.basic.lastName.ja_jp))) + if typeId >= 4 then + displayName = displayName.." "..(typeId == 4 and self.parent.characterData.basic.lastName.en_us or (typeId == 5 and self.parent.characterData.basic.firstName.en_us or self.parent.characterData.basic.firstName.ja_jp)) + end + return displayName + end; + + ---入力された設定で表示名を設定する。 + ---@param self Nameplate + ---@param typeId integer 表示名の種類:1. プレイヤー名, 2. 名のみ(英語), 3. 名のみ(日本語), 4. 名性(英語), 5. 性名(英語), 6. 性名(日本語) + ---@param shouldShowClubName boolean 部活名を表示するかどうか + setName = function (self, typeId, shouldShowClubName) + local date = client:getDate() + local displayName = self:getName(typeId)..((typeId >= 2 and date.month == self.parent.characterData.basic.birth.month and date.day == self.parent.characterData.basic.birth.day) and " :cake:" or "") + nameplate.ALL:setText(displayName) + if typeId >= 2 and shouldShowClubName then + nameplate.ENTITY:setText(displayName.."\n§7"..self.parent.locale:getLocale("nameplate.club_name")) + end + self.currentName = typeId + self.shouldShowClubName = shouldShowClubName + end; + + ---初期化関数 + ---@param self Nameplate + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + local locale = client:getActiveLang() + if locale ~= self.localePrev then + if self.shouldShowClubName then + self:setName(self.currentName, true) + end + self.localePrev = locale + end + end) + + events.RENDER:register(function (delta, context) + if context ~= "PAPERDOLL" then + nameplate.ENTITY:setPivot(self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.UpperBody.Body.NameplateAnchor):sub(player:getPos(delta)):add(0, self.parent.barrier.isBarrierVisible and 1.095 or 0.895, 0)) + else + nameplate.ENTITY:setPivot() + end + end) + + if self.currentName >= 2 then + self:setName(self.currentName, self.shouldShowClubName) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/physics.lua b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/physics.lua new file mode 100644 index 0000000..0b17e3f --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/physics.lua @@ -0,0 +1,199 @@ +---@class (exact) Physics : AvatarModule 物理演算を制御するクラス +---@field public velocityData number[][] 速度データ:1. 頭前後, 2. 上下, 3. 頭左右, 4. 頭角速度, 5. 体前後, 6. 体左右, 7. 体角速度 +---@field public velocityAverage number[][] 速度の平均値:1. 頭前後, 2. 上下, 3. 頭左右, 4. 頭角速度, 5. 体前後, 6. 体左右, 7. 体角速度 +---@field package directionPrev number[] 前ティックのdirectionテーブル +---@field public getValueBetweenTicks fun(tickData: number[], delta: number): number 2つのティックデータの間からレンダーのデルタ値を加味した値を返す +---@field package decomposeHorizontalVelocity fun(self: Physics, direction: number, index: integer): number, number, number 速度を指定された方向から見て前後方向、左右方向に分解する +---@field package getPhysicRot fun(self: Physics, physicData: BlueArchiveCharacter.PhysicCoreData, delta: number): number 物理演算で計算した角度を返す +---@field public enable fun(self: Physics) 物理演算を初期化し、有効にする +---@field public disable fun(self: Physics) 物理演算を無効にする。物理演算で管理していたモデルの回転をリセットする + +Physics = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Physics + new = function (parent) + ---@type Physics + local instance = Avatar.instantiate(Physics, AvatarModule, parent) + + instance.velocityData = {{}, {}, {}, {}, {}, {}, {}} + instance.velocityAverage = {{0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}} + instance.directionPrev = {} + + return instance + end; + + ---2つのティックデータの間からレンダーのデルタ値を加味した値を返す。 + ---@param tickData number[] ティックデータ:1. 前ティック, 2. 現ティック + ---@param delta number デルタ値 + ---@return number deltaValue 2つのティックデータの間からデルタ値で補完した値 + getValueBetweenTicks = function (tickData, delta) + return tickData[1] + (tickData[2] - tickData[1]) * delta + end; + + ---速度を指定された方向から見て前後方向、左右方向に分解する。 + ---@param self Physics + ---@param direction number 基準にする方向 + ---@param index integer データ管理用のインデックス番号(呼び出しの度に異なるインデックス番号になるようにする) + ---@return number velocityFront 指定された方向から見た前後方向の速度 + ---@return number velocityRight 指定された方向から見た左右方向の速度 + ---@return number velocityRot 指定された方向を基準とした角速度 + decomposeHorizontalVelocity = function (self, direction, index) + local velocity = player:getVelocity() + if self.directionPrev[index] == nil then + self.directionPrev[index] = 0 + end + local velocityRot = math.deg(math.atan2(velocity.z, velocity.x)) + velocityRot = velocityRot < 0 and 360 + velocityRot or velocityRot + local directionAbsFront = math.abs(velocityRot - (direction) % 360) + directionAbsFront = directionAbsFront > 180 and 360 - directionAbsFront or directionAbsFront + local directionAbsRight = math.abs(velocityRot - (direction + 90) % 360) + directionAbsRight = directionAbsRight > 180 and 360 - directionAbsRight or directionAbsRight + local directionDelta = direction - self.directionPrev[index] + directionDelta = directionDelta > 180 and (360 - directionDelta) * 20 or (directionDelta < -180 and (360 + directionDelta) * 20 or directionDelta * 20) + self.directionPrev[index] = direction + return math.sqrt(velocity.x ^ 2 + velocity.z ^ 2) * math.cos(math.rad(directionAbsFront)), math.sqrt(velocity.x ^ 2 + velocity.z ^ 2) * math.cos(math.rad(directionAbsRight)), directionDelta + end; + + ---物理演算で計算した角度を返す。 + ---@param self Physics + ---@param physicData BlueArchiveCharacter.PhysicCoreData 物理演算データ + ---@param delta number デルタ値 + ---@return number physicDirection 物理演算で計算したモデルの角度 + getPhysicRot = function (self, physicData, delta) + local rot = physicData.neutral + local waterMultiplayer = player:isUnderwater() and 2 or 1 + if physicData.headX ~= nil then + rot = rot + math.clamp(self.getValueBetweenTicks(self.velocityAverage[1], delta) * physicData.headX.multiplayer * waterMultiplayer, physicData.headX.min - physicData.neutral, physicData.headX.max - physicData.neutral) + end + if physicData.headZ ~= nil then + rot = rot + math.clamp(self.getValueBetweenTicks(self.velocityAverage[3], delta) * physicData.headZ.multiplayer * waterMultiplayer, physicData.headZ.min - physicData.neutral, physicData.headZ.max - physicData.neutral) + end + if physicData.headRot ~= nil then + rot = rot + math.clamp(math.abs(self.getValueBetweenTicks(self.velocityAverage[4], delta)) * -1 * physicData.headRot.multiplayer, physicData.headRot.min - physicData.neutral, physicData.headRot.max - physicData.neutral) + end + if physicData.bodyX ~= nil then + rot = rot + math.clamp(self.getValueBetweenTicks(self.velocityAverage[5], delta) * physicData.bodyX.multiplayer * waterMultiplayer, physicData.bodyX.min - physicData.neutral, physicData.bodyX.max - physicData.neutral) + end + if physicData.bodyY ~= nil then + rot = rot + math.clamp(self.getValueBetweenTicks(self.velocityAverage[2], delta) * physicData.bodyY.multiplayer * waterMultiplayer, physicData.bodyY.min - physicData.neutral, physicData.bodyY.max - physicData.neutral) + end + if physicData.bodyZ ~= nil then + rot = rot + math.clamp(self.getValueBetweenTicks(self.velocityAverage[player:getVehicle() == nil and 6 or 3], delta) * physicData.bodyZ.multiplayer * waterMultiplayer, physicData.bodyZ.min - physicData.neutral, physicData.bodyZ.max - physicData.neutral) + end + if physicData.bodyRot ~= nil then + rot = rot + math.clamp(-math.abs(self.getValueBetweenTicks(self.velocityAverage[7], delta)) * physicData.bodyRot.multiplayer, physicData.bodyRot.min - physicData.neutral, physicData.bodyRot.max - physicData.neutral) + end + rot = math.clamp(rot, physicData.min, physicData.max) + if physicData.headRotMultiplayer ~= nil then + rot = rot + math.deg(math.asin(player:getLookDir().y)) * physicData.headRotMultiplayer + end + if physicData.sneakOffset ~= nil and player:isCrouching() then + rot = rot + physicData.sneakOffset + end + return rot + end; + + ---物理演算を初期化し、有効にする。 + ---@param self Physics + enable = function (self) + self.velocityData = {{}, {}, {}, {}, {}, {}, {}} + self.velocityAverage = {{0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}, {0, 0}} + self.directionPrev = {} + + if events.TICK:getRegisteredCount("physics_tick") == 0 then + events.TICK:register(function () + if not client:isPaused() then + local lookDir = player:getLookDir() + local velocityHeadFront, velocityHeadRight, velocityHeadRot = self:decomposeHorizontalVelocity(math.deg(math.atan2(lookDir.z, lookDir.x)), 1) + local velocityAverage = {self.velocityAverage[1][2], self.velocityAverage[2][2], self.velocityAverage[3][2], self.velocityAverage[4][2], self.velocityAverage[5][2], self.velocityAverage[6][2], self.velocityAverage[7][2]} + local velocityY = player:getVelocity().y + velocityAverage[1] = (#self.velocityData[1] * velocityAverage[1] + velocityHeadFront) / (#self.velocityData[1] + 1) + table.insert(self.velocityData[1], velocityHeadFront) + velocityAverage[2] = (#self.velocityData[2] * velocityAverage[2] + velocityY) / (#self.velocityData[2] + 1) + table.insert(self.velocityData[2], velocityY) + velocityAverage[3] = (#self.velocityData[3] * velocityAverage[3] + velocityHeadRight) / (#self.velocityData[3] + 1) + table.insert(self.velocityData[3], velocityHeadRight) + velocityAverage[4] = (#self.velocityData[4] * velocityAverage[4] + velocityHeadRot) / (#self.velocityData[4] + 1) + table.insert(self.velocityData[4], velocityHeadRot) + local velocityBodyFront, velocityBodyRight, velocityBodyRot = self:decomposeHorizontalVelocity((player:getBodyYaw() + models.models.main.Avatar.UpperBody:getTrueRot().y - 90) % 360 - 180, 2) + velocityAverage[5] = (#self.velocityData[5] * velocityAverage[5] + velocityBodyFront) / (#self.velocityData[5] + 1) + table.insert(self.velocityData[5], velocityBodyFront) + velocityAverage[6] = (#self.velocityData[6] * velocityAverage[6] + velocityBodyRight) / (#self.velocityData[6] + 1) + table.insert(self.velocityData[6], velocityBodyRight) + velocityAverage[7] = (#self.velocityData[7] * velocityAverage[7] + velocityBodyRot) / (#self.velocityData[7] + 1) + table.insert(self.velocityData[7], velocityBodyRot) + --古いデータの切り捨て + for index, velocityTable in ipairs(self.velocityData) do + if #velocityTable > 5 then + velocityAverage[index] = (#velocityTable * velocityAverage[index] - velocityTable[1]) / (#velocityTable - 1) + table.remove(velocityTable, 1) + end + table.insert(self.velocityAverage[index], velocityAverage[index]) + table.remove(self.velocityAverage[index], 1) + end + end + end, "physics_tick") + + events.RENDER:register(function (delta) + local playerPose = player:getPose() + local isHorizontal = playerPose == "SWIMMING" or playerPose == "FALL_FLYING" + + for _, physicData in ipairs(self.parent.characterData.physics.physicData) do + for _, modelPart in ipairs(physicData.models) do + if modelPart:getVisible() then + local rot = vectors.vec3() + if physicData.x ~= nil then + if isHorizontal and physicData.x.horizontal then + rot.x = self:getPhysicRot(physicData.x.horizontal, delta) + elseif not isHorizontal and physicData.x.vertical then + rot.x = self:getPhysicRot(physicData.x.vertical, delta) + end + end + if physicData.y ~= nil then + if isHorizontal and physicData.y.horizontal then + rot.y = self:getPhysicRot(physicData.y.horizontal, delta) + elseif not isHorizontal and physicData.y.vertical then + rot.y = self:getPhysicRot(physicData.y.vertical, delta) + end + end + if physicData.z ~= nil then + if isHorizontal and physicData.z.horizontal then + rot.z = self:getPhysicRot(physicData.z.horizontal, delta) + elseif not isHorizontal and physicData.z.vertical then + rot.z = self:getPhysicRot(physicData.z.vertical, delta) + end + end + modelPart:setRot(rot) + if self.parent.characterData.physics.callbacks ~= nil and self.parent.characterData.physics.callbacks.onPhysicPerformed ~= nil then + self.parent.characterData.physics.callbacks.onPhysicPerformed(self.parent.characterData, modelPart) + end + end + end + end + end, "physics_render") + end + end; + + ---物理演算を無効にする。物理演算で管理していたモデルの回転をリセットする。 + ---@param self Physics + disable = function (self) + events.TICK:remove("physics_tick") + events.RENDER:remove("physics_render") + for _, physicData in ipairs(self.parent.characterData.physics.physicData) do + local initialRot = vectors.vec3() + if physicData.x ~= nil and physicData.x.vertical ~= nil then + initialRot.x = physicData.x.vertical.neutral + end + if physicData.y ~= nil and physicData.y.vertical ~= nil then + initialRot.y = physicData.y.vertical.neutral + end + if physicData.z ~= nil and physicData.z.vertical ~= nil then + initialRot.z = physicData.z.vertical.neutral + end + for _, modelPart in ipairs(physicData.models) do + modelPart:setRot(initialRot) + end + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/placement_object/placement_object.lua b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/placement_object/placement_object.lua new file mode 100644 index 0000000..7388c9a --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/placement_object/placement_object.lua @@ -0,0 +1,231 @@ +---@class (exact) PlacementObject : SpawnObject 単一の設置物を管理するクラス +---@field public object ModelPart インスタンスで制御するオブジェクト +---@field public index integer 設置物データのインデックス番号。設置物のデータを参照するときに使用する。 +---@field package boundingBox Vector3 設置物の当たり判定 +---@field package gravity number この設置物に働く重力の大きさ +---@field package hasFireResistance boolean この設置物に炎耐性を付けるかどうか +---@field public removeReason PlacementObjectManager.RemoveReason この設置物のインスタンスが破棄される理由 +---@field package modelOffsetPos Vector3 設置物"モデル"の位置オフセット値 +---@field package offsetPos Vector3 設置物の中心座標のオフセット値 +---@field public currentPos Vector3 設置物の現在位置 +---@field package nextPos Vector3 設置物の次ティックの位置 +---@field package fallingSpeed number 設置物の落下速度 +---@field package isOnGround boolean 設置物が接地しているかどうか +---@field public new fun(parent: Avatar, model: ModelPart, index: integer, data: BlueArchiveCharacter.PlacementObjectStruct, pos: Vector3, rot: number): PlacementObject コンストラクター + +PlacementObject = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@param index integer 設置物データのインデックス番号。設置物のデータを参照するときに使用する。 + ---@param pos Vector3 設置物を設置するワールド座標 + ---@param rot number 設置物のワールド方向 + ---@return PlacementObject + new = function (parent, index, pos, rot) + ---@type PlacementObject + local instance = Avatar.instantiate(PlacementObject, SpawnObject, parent) + + instance.index = index + instance.object = instance.parent.characterData.placementObjects[instance.index].placementMode == "COPY" and instance.parent.characterData.placementObjects[instance.index].model:copy(instance.uuid) or instance.parent.characterData.placementObjects[instance.index].model + instance.boundingBox = instance.parent.characterData.placementObjects[instance.index].boundingBox.size:copy():scale(0.0625) + instance.gravity = instance.parent.characterData.placementObjects[instance.index].gravity ~= nil and instance.parent.characterData.placementObjects[instance.index].gravity or 1 + instance.hasFireResistance = instance.parent.characterData.placementObjects[instance.index].hasFireResistance ~= nil and instance.parent.characterData.placementObjects[instance.index].hasFireResistance or false + instance.removeReason = "REMOVED_BY_SCRIPTS" + instance.modelOffsetPos = vectors.vec3() + instance.offsetPos = vectors.vec3() + instance.currentPos = pos + instance.nextPos = instance.currentPos + instance.fallingSpeed = 0 + instance.isOnGround = false + + instance.callbacks = { + ---@param self PlacementObject + onInit = function (self) + if self.parent.characterData.placementObjects[self.index].placementMode == "COPY" then + models.script_placement_object:addChild(self.object) + end + local objectOffset = vectors.vec3() + if self.parent.characterData.placementObjects[self.index].boundingBox.offsetPos ~= nil then + objectOffset = self.parent.characterData.placementObjects[self.index].boundingBox.offsetPos:copy():scale(-0.0625) + end + if self.gravity >= 0 then + self.modelOffsetPos = objectOffset:copy():add(0, 0.075, 0) + else + self.modelOffsetPos = objectOffset:copy():add(0, -0.075, 0) + end + --self.objectModel:setPos(self.currentPos:copy():add(self.modelOffsetPos):scale(16)) + self.object:setRot(0, rot, 0) + self.object:setVisible(true) + if self.parent.characterData.placementObjects[self.index].callbacks ~= nil and self.parent.characterData.placementObjects[self.index].callbacks.onInit ~= nil then + self.parent.characterData.placementObjects[self.index].callbacks.onInit(self.parent.characterData, self) + end + end; + + ---@param self PlacementObject + onDeinit = function (self) + if self.parent.characterData.placementObjects[self.index].placementMode == "COPY" then + models.script_placement_object:removeChild(self.object) + self.object:remove() + else + self.object:setVisible(false) + end + if self.parent.characterData.placementObjects[self.index].callbacks ~= nil and self.parent.characterData.placementObjects[self.index].callbacks.onDeinit ~= nil then + self.parent.characterData.placementObjects[self.index].callbacks.onDeinit(self.parent.characterData, self) + end + end; + + ---@param self PlacementObject + onTick = function (self) + --設置物の位置を強制更新 + self.currentPos = self.nextPos + self.object:setPos(self.currentPos:copy():add(self.modelOffsetPos):scale(16)) + + --当たり判定同士が重複しているか確認 + local boundingBoxStartPos = vectors.vec3(self.currentPos.x - self.boundingBox.x / 2, self.currentPos.y, self.currentPos.z - self.boundingBox.z / 2) + local boundingBoxEndPos = vectors.vec3(self.currentPos.x + self.boundingBox.x / 2, self.currentPos.y + self.boundingBox.y, self.currentPos.z + self.boundingBox.z / 2) + local boundingBoxCenter = boundingBoxEndPos:copy():sub(boundingBoxStartPos):scale(0.5):add(boundingBoxStartPos) + for z = math.floor(boundingBoxStartPos.z), math.floor(boundingBoxEndPos.z) do + for y = math.floor(boundingBoxStartPos.y), math.floor(boundingBoxEndPos.y) do + for x = math.floor(boundingBoxStartPos.x), math.floor(boundingBoxEndPos.x) do + for _, collisionBox in ipairs( world.getBlockState(x, y, z):getCollisionShape()) do + local collisionStartPos = collisionBox[1]:copy():add(x, y, z) + local collisionEndPos = collisionBox[2]:copy():add(x, y, z) + local collisionBoxCenter = collisionStartPos:copy():add(collisionEndPos:copy():sub(collisionStartPos):scale(0.5)) + if math.abs(collisionBoxCenter.x - boundingBoxCenter.x) < ((collisionEndPos.x - collisionStartPos.x) + (boundingBoxEndPos.x - boundingBoxStartPos.x)) / 2 and math.abs(collisionBoxCenter.y - boundingBoxCenter.y) < ((collisionEndPos.y - collisionStartPos.y) + (boundingBoxEndPos.y - boundingBoxStartPos.y)) / 2 and math.abs(collisionBoxCenter.z - boundingBoxCenter.z) < ((collisionEndPos.z - collisionStartPos.z) + (boundingBoxEndPos.z - boundingBoxStartPos.z)) / 2 then + self.removeReason = "OVERLAPPED" + self.shouldDeinit = true + return + end + end + end + end + end + + --落下速度を更新 + local fluidTags = world.getBlockState(self.currentPos):getFluidTags() + if fluidTags[2] == "c:water" then + if self.gravity >= 0 then + self.fallingSpeed = math.max(self.fallingSpeed - 0.1 * self.gravity, 0.1 * self.gravity) + else + self.fallingSpeed = math.min(self.fallingSpeed - 0.1 * self.gravity, 0.1 * self.gravity) + end + elseif fluidTags[2] == "c:lava" then + if self.gravity >= 0 then + self.fallingSpeed = math.max(self.fallingSpeed - 0.1 * self.gravity, 0.02 * self.gravity) + else + self.fallingSpeed = math.min(self.fallingSpeed - 0.1 * self.gravity, 0.02 * self.gravity) + end + else + if self.gravity >= 0 then + self.fallingSpeed = math.min(self.fallingSpeed + 0.035 * self.gravity, 3.575 * self.gravity) + else + self.fallingSpeed = math.max(self.fallingSpeed + 0.035 * self.gravity, 3.575 * self.gravity) + end + end + self.nextPos = self.currentPos:copy():add(0, self.fallingSpeed * -1, 0) + + --現ティックと次ティックから直方体を算出 + local nextBoxStartPos = vectors.vec3() + local nextBoxEndPos = vectors.vec3() + if self.gravity >= 0 then + nextBoxStartPos = vectors.vec3(self.currentPos.x - self.boundingBox.x / 2, math.min(self.currentPos.y, self.currentPos.y - self.fallingSpeed), self.currentPos.z - self.boundingBox.z / 2) + nextBoxEndPos = vectors.vec3(self.currentPos.x + self.boundingBox.x / 2, math.max(self.currentPos.y, self.currentPos.y - self.fallingSpeed), self.currentPos.z + self.boundingBox.z / 2) + else + nextBoxStartPos = vectors.vec3(self.currentPos.x - self.boundingBox.x / 2, math.min(self.currentPos.y, self.currentPos.y - self.fallingSpeed) + self.boundingBox.y, self.currentPos.z - self.boundingBox.z / 2) + nextBoxEndPos = vectors.vec3(self.currentPos.x + self.boundingBox.x / 2, math.max(self.currentPos.y, self.currentPos.y - self.fallingSpeed) + self.boundingBox.y, self.currentPos.z + self.boundingBox.z / 2) + end + local nextBoxCenter = nextBoxStartPos:copy():add(nextBoxEndPos:copy():sub(nextBoxStartPos):scale(0.5)) + + --直方体と重なるブロック座標を全て算出 + local collisionDetected = false + if self.gravity >= 0 then + local collisionYPos = math.floor(nextBoxStartPos.y) + for y = math.floor(nextBoxEndPos.y), math.floor(nextBoxStartPos.y) - 1, -1 do + for z = math.floor(nextBoxStartPos.z), math.floor(nextBoxEndPos.z) do + for x = math.floor(nextBoxStartPos.x), math.floor(nextBoxEndPos.x) do + for _, collisionBox in ipairs( world.getBlockState(x, y, z):getCollisionShape()) do + local collisionStartPos = collisionBox[1]:copy():add(x, y, z) + local collisionEndPos = collisionBox[2]:copy():add(x, y, z) + local collisionBoxCenter = collisionStartPos:copy():add(collisionEndPos:copy():sub(collisionStartPos):scale(0.5)) + if math.abs(collisionBoxCenter.x - nextBoxCenter.x) < ((collisionEndPos.x - collisionStartPos.x) + (nextBoxEndPos.x - nextBoxStartPos.x)) / 2 and math.abs(collisionBoxCenter.y - nextBoxCenter.y) < ((collisionEndPos.y - collisionStartPos.y) + (nextBoxEndPos.y - nextBoxStartPos.y)) / 2 and math.abs(collisionBoxCenter.z - nextBoxCenter.z) < ((collisionEndPos.z - collisionStartPos.z) + (nextBoxEndPos.z - nextBoxStartPos.z)) / 2 then + if collisionEndPos.y > self.nextPos.y then + self.nextPos.y = collisionEndPos.y + collisionYPos = y + self.fallingSpeed = 0 + collisionDetected = true + end + end + end + end + end + if y == collisionYPos - 1 then + break + end + end + else + local collisionYPos = math.floor(nextBoxEndPos.y) + for y = math.floor(nextBoxStartPos.y), math.floor(nextBoxEndPos.y), 1 do + for z = math.floor(nextBoxStartPos.z), math.floor(nextBoxEndPos.z) do + for x = math.floor(nextBoxStartPos.x), math.floor(nextBoxEndPos.x) do + for _, collisionBox in ipairs( world.getBlockState(x, y, z):getCollisionShape()) do + local collisionStartPos = collisionBox[1]:copy():add(x, y, z) + local collisionEndPos = collisionBox[2]:copy():add(x, y, z) + local collisionBoxCenter = collisionStartPos:copy():add(collisionEndPos:copy():sub(collisionStartPos):scale(0.5)) + if math.abs(collisionBoxCenter.x - nextBoxCenter.x) < ((collisionEndPos.x - collisionStartPos.x) + (nextBoxEndPos.x - nextBoxStartPos.x)) / 2 and math.abs(collisionBoxCenter.y - nextBoxCenter.y) < ((collisionEndPos.y - collisionStartPos.y) + (nextBoxEndPos.y - nextBoxStartPos.y)) / 2 and math.abs(collisionBoxCenter.z - nextBoxCenter.z) < ((collisionEndPos.z - collisionStartPos.z) + (nextBoxEndPos.z - nextBoxStartPos.z)) / 2 then + if collisionStartPos.y < self.nextPos.y + self.boundingBox.y then + self.nextPos.y = collisionStartPos.y - self.boundingBox.y + collisionYPos = y + self.fallingSpeed = 0 + collisionDetected = true + end + end + end + end + end + if y == collisionYPos + 1 then + break + end + end + end + if collisionDetected and not self.isOnGround and self.parent.characterData.placementObjects[self.index].callbacks ~= nil and self.parent.characterData.placementObjects[self.index].callbacks.onGround ~= nil then + self.parent.characterData.placementObjects[self.index].callbacks.onGround(self.parent.characterData, self) + end + self.isOnGround = collisionDetected + local nextBlock = world.getBlockState(self.nextPos) + local isNextBlockFire = false + for _, tag in ipairs(nextBlock:getTags()) do + if tag == "minecraft:fire" then + isNextBlockFire = true + break + end + end + if self.nextPos.y < -128 then + self.removeReason = "TOO_LOW" + self.shouldDeinit = true + elseif self.nextPos.y > 384 then + self.removeReason = "TOO_HIGH" + self.shouldDeinit = true + elseif not self.hasFireResistance and (nextBlock:getFluidTags()[2] == "c:lava" or isNextBlockFire) then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.fire.extinguish"), self.nextPos) + for _ = 0, self.boundingBox.x * self.boundingBox.y * self.boundingBox.z * 8 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:smoke"), vectors.vec3(self.nextPos.x + math.random() * self.boundingBox.x - self.boundingBox.x / 2, self.nextPos.y + math.random() * self.boundingBox.y, self.nextPos.z + math.random() * self.boundingBox.z - self.boundingBox.z / 2)) + end + self.removeReason = "BURNT" + self.shouldDeinit = true + end + if self.parent.characterData.placementObjects[self.index].callbacks ~= nil and self.parent.characterData.placementObjects[self.index].callbacks.onTick ~= nil then + self.parent.characterData.placementObjects[self.index].callbacks.onTick(self.parent.characterData, self) + end + end; + + ---@param self PlacementObject + onRender = function (self, delta, context) + self.object:setPos(self.nextPos:copy():sub(self.currentPos):scale(delta):add(self.currentPos):add(self.modelOffsetPos):scale(16)) + if self.parent.characterData.placementObjects[self.index].callbacks ~= nil and self.parent.characterData.placementObjects[self.index].callbacks.onRender ~= nil then + self.parent.characterData.placementObjects[self.index].callbacks.onRender(self.parent.characterData, self, delta) + end + end + } + + return instance + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/placement_object/placement_object_manager.lua b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/placement_object/placement_object_manager.lua new file mode 100644 index 0000000..eee06b5 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/placement_object/placement_object_manager.lua @@ -0,0 +1,87 @@ +---設置物の設置モードの列挙型 +---@alias PlacementObjectManager.PlacementMode +---| "COPY" # コピーモード。BBアニメーションは使えないが、複数の設置物を設置可能。 +---| "MOVE" # 移動モード。同時に1つしか設置物を設置できないが、BBアニメーションが使える。 + +---設置物が削除された理由の列挙型 +---@alias PlacementObjectManager.RemoveReason +---| "REMOVED_BY_SCRIPTS" # スクリプトによって削除 +---| "OVERLAPPED" # 設置物がブロックと重なって削除 +---| "BURNT" # 炎に焼かれて削除 +---| "TOO_LOW" # 設置物のY座標が低過ぎて削除 +---| "TOO_HIGH" # 設置物のY座標が高過ぎて削除 + +---@class (exact) PlacementObjectManager : SpawnObjectManager 設置物を管理するマネージャークラス +---@field public objects PlacementObject[] インスタンスで制御するオブジェクト +---@field public getObject fun(self: PlacementObjectManager, index: integer, pos: Vector3, rot: number): PlacementObject 設置物のインスタンスを生成して返す +---@field public spawn fun(self: PlacementObjectManager, index: integer, pos: Vector3, rot: number) 設置物を設置する +---@field public applyFunc fun(self: PlacementObjectManager, index: integer, func: fun(object: PlacementObject, i: integer)) 設置済み設置物の指定した設置物データのインデックス番号のみに関数を適用する + +PlacementObjectManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return PlacementObjectManager + new = function (parent) + ---@type PlacementObjectManager + local instance = Avatar.instantiate(PlacementObjectManager, SpawnObjectManager, parent) + + instance.managerName = "placement_object" + + return instance + end; + + ---初期化関数 + ---@param self PlacementObjectManager + init = function (self) + SpawnObjectManager.init(self) + + ---@diagnostic disable-next-line: discard-returns + models:newPart("script_placement_object", "World") + for _, data in ipairs(self.parent.characterData.placementObjects) do + if data.placementMode == "MOVE" then + data.model = data.model:moveTo(models.script_placement_object) + data.model:setVisible(false) + end + end + end; + + + ---設置物のインスタンスを生成して返す。 + ---@param self PlacementObjectManager + ---@param index integer 設置物データのインデックス番号 + ---@param pos Vector3 設置物を設置するワールド座標 + ---@param rot number 設置物を設置するワールド方向(Y軸のみ) + ---@return PlacementObject instance 生成したインスタンス + getObject = function (self, index, pos, rot) + if self.parent.characterData.placementObjects[index].placementMode == "MOVE" then + for i, placementObject in ipairs(self.objects) do + if placementObject.index == index then + self:remove(i) + break + end + end + end + return PlacementObject.new(self.parent, index, pos, rot) + end; + + ---設置物を設置する。 + ---@param self PlacementObjectManager + ---@param index integer 設置物データのインデックス番号 + ---@param pos Vector3 設置物を設置するワールド座標 + ---@param rot number 設置物を設置するワールド方向(Y軸のみ) + spawn = function (self, index, pos, rot) + SpawnObjectManager.spawn(self, index, pos, rot) + end; + + ---設置済み設置物の、指定した設置物データのインデックス番号のみに関数を適用する。 + ---@param self PlacementObjectManager + ---@param index integer 関数実行対象の設置物データのインデックス番号 + ---@param func fun(object: PlacementObject, i: integer) 実行する関数 + applyFunc = function (self, index, func) + for i, obj in ipairs(self.objects) do + if obj.index == index then + func(obj, i) + end + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/portrait.lua b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/portrait.lua new file mode 100644 index 0000000..3d887aa --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/portrait.lua @@ -0,0 +1,32 @@ +---@class (exact) Portrait : HeadModelGenerator ポートレートのモデルを管理するクラス + +Portrait = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Portrait + new = function (parent) + ---@type Portrait + local instance = Avatar.instantiate(Portrait, HeadModelGenerator, parent) + + instance.processData = instance.parent.characterData.portrait + instance.parentName = "portrait" + instance.parentType = "Portrait" + + return instance + end; + + ---初期化関数 + ---@param self Portrait + init = function (self) + HeadModelGenerator.init(self) + end; + + ---頭モデルのコピーを生成する。 + ---@param self HeadBlock + generateHeadModel = function (self) + HeadModelGenerator.generateHeadModel(self) + if models.script_portrait.Head ~= nil then + models.script_portrait.Head.HeadRing:remove() + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/skirt.lua b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/skirt.lua new file mode 100644 index 0000000..48e97f8 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/skirt.lua @@ -0,0 +1,30 @@ +---@class Skirt : AvatarModule スカートを制御するクラス + +Skirt = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return Skirt + new = function (parent) + ---@type Skirt + local instance = Avatar.instantiate(Skirt, AvatarModule, parent) + + return instance + end; + + ---初期化関数 + ---@param self AvatarModule + init = function (self) + AvatarModule.init(self) + + if self.parent.characterData.skirt.skirtModels ~= nil and #self.parent.characterData.skirt.skirtModels > 0 then + events.TICK:register(function () + local isCrouching = player:isCrouching() + for _, skirtModel in ipairs(self.parent.characterData.skirt.skirtModels) do + if skirtModel:getVisible() then + skirtModel:setRot(isCrouching and 30 or 0, 0, 0) + end + end + end) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/utils/compatibility_utils.lua b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/utils/compatibility_utils.lua new file mode 100644 index 0000000..237a6a6 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/utils/compatibility_utils.lua @@ -0,0 +1,169 @@ +---レジストリの種類を示す列挙型 +---@alias CompatibilityUtils.RegistryType +---| "BLOCK" # ブロック名 +---| "ITEM" # アイテム名 +---| "PARTICLE" # パーティクル名 +---| "SOUND" # サウンド名 + +---@class (exact) CompatibilityUtils : AvatarModule Minecraftのゲームバージョンが異なっていてもある程度互換性を確保するためのユーティリティクラス +---@field package registries {block: Minecraft.blockID[], item: Minecraft.itemID[], particle: Minecraft.particleID[], sound: Minecraft.soundID[]} ゲームから取得した全アイテム名を保持するテーブル +---@field package checkedTable {block: {[Minecraft.blockID]: boolean}, item: {[Minecraft.itemID]: boolean}, particle: {[Minecraft.particleID]: boolean}, sound: {[Minecraft.soundID]: boolean}} レジストリへの確認が済んでいるIDを保持するテーブル +---@field package find fun(self: CompatibilityUtils, registryType: CompatibilityUtils.RegistryType, target: string): boolean 指定されたターゲットがレジストリに登録されているかどうかを返す。 +---@field public checkBlock fun(self: CompatibilityUtils, block: Minecraft.blockID): Minecraft.blockID 指定されたブロックIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:dirt"を返す。 +---@field public checkItem fun(self: CompatibilityUtils, item: Minecraft.itemID): Minecraft.itemID 指定されたアイテムIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:barrier"を返す。 +---@field public checkParticle fun(self: CompatibilityUtils, particle: Minecraft.particleID): Minecraft.particleID 指定されたパーティクルIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:poof"を返す。 +---@field public checkSound fun(self: CompatibilityUtils, sound: Minecraft.soundID): Minecraft.soundID 指定されたサウンドIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:empty"を返す。 +---@field public getBlockParticleId fun(block: Minecraft.blockID): string ブロックの破片のパーティクルを示す文字列を返す。Minecraftのバージョン違いを吸収するための関数。 +---@field public getDustParticleId fun(color: Vector3, size: number): string dustパーティクルを示す文字列を返す。Minecraftのバージョン違いを吸収するための関数。 +---@field public setPostEffect fun(effect?: Minecraft.shaderName) renderer:setPostEffect()のラッパー関数。1.20.5でレンダーエフェクトが削除されたことによる対応。 + +CompatibilityUtils = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return CompatibilityUtils + new = function (parent) + ---@type CompatibilityUtils + local instance = Avatar.instantiate(CompatibilityUtils, AvatarModule, parent) + + instance.registries = {} + instance.checkedTable = { + block = {}; + item = {}; + particle = {}; + sound = {}; + } + + return instance + end; + + ---初期化関数 + ---@param self CompatibilityUtils + init = function (self) + AvatarModule.init(self) + + self.registries.block = client.getRegistry("minecraft:block") + self.registries.item = client.getRegistry("minecraft:item") + self.registries.particle = client.getRegistry("minecraft:particle_type") + self.registries.sound = client.getRegistry("minecraft:sound_event") + for name, _ in pairs(self.registries) do + table.sort(self.registries[name]) + end + self.checkedTable.block["minecraft:dirt"] = true + self.checkedTable.item["minecraft:barrier"] = true + self.checkedTable.particle["minecraft:poof"] = true + self.checkedTable.sound["minecraft:empty"] = true + if host:isHost() and client:getVersion() < "1.20.1" then + print(self.parent.locale:getLocale("avatar.old_version_warning")) + end + end; + + ---指定されたターゲットがレジストリに登録されているかどうかを返す。 + ---@param self CompatibilityUtils + ---@param registryType CompatibilityUtils.RegistryType 検索をかける対象のレジストリ + ---@param target string 検索対象名。"minecraft:"を抜かないこと。 + ---@return boolean idFound 指定されたターゲットがレジストリで見つかったかどうか + find = function (self, registryType, target) + ---リスト内の中央の要素(偶数の場合は中央から1つ左の要素)と指定されたターゲットのUnicode順を比較する。 + ---@param from integer リストの検索開始のインデックス番号 + ---@param to integer リストの検索終了のインスタンス番号(指定したインデックス番号の要素も検索に含む) + ---@return integer compareResult 比較結果。0は同じ文字列、1はターゲットの方が大きい、-1はターゲットの方が小さいことを表す。 + local function compareToCenterElement(from, to) + local centerIndex = math.floor((to - from) / 2) + from + if self.registries[registryType:lower()][centerIndex] < target then + return 1 + elseif self.registries[registryType:lower()][centerIndex] > target then + return -1 + else + return 0 + end + end + + local startIndex = 1 + local endIndex = #self.registries[registryType:lower()] + while startIndex < endIndex do + local compareResult = compareToCenterElement(startIndex, endIndex) + if compareResult == 1 then + startIndex = math.floor((endIndex - startIndex) / 2) + startIndex + 1 + elseif compareResult == -1 then + endIndex = math.floor((endIndex - startIndex) / 2) + startIndex + else + break + end + end + if startIndex == endIndex then + return compareToCenterElement(startIndex, endIndex) == 0 + else + return true + end + end; + + ---指定されたブロックIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:dirt"を返す。 + ---@param self CompatibilityUtils + ---@param block Minecraft.blockID 確認対象のブロックID + ---@param blockState string? ブロックステートを示す文字列 + ---@return Minecraft.blockID blockID レジストリに登録してある場合は確認対象のブロックIDをそのまま返し、未登録の場合は"minecraft:dirt"が返す。 + checkBlock = function (self, block, blockState) + if self.checkedTable.block[block] == nil then + self.checkedTable.block[block] = self:find("BLOCK", block) + end + local state = blockState ~= nil and blockState or "" + return self.checkedTable.block[block] and block..state or "minecraft:dirt" + end; + + ---指定されたアイテムIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:barrier"を返す。 + ---@param self CompatibilityUtils + ---@param item Minecraft.itemID 確認対象のアイテムID + ---@return Minecraft.itemID blockID レジストリに登録してある場合は確認対象のアイテムIDをそのまま返し、未登録の場合は"minecraft:barrier"が返す。 + checkItem = function (self, item) + if self.checkedTable.item[item] == nil then + self.checkedTable.item[item] = self:find("ITEM", item) + end + return self.checkedTable.item[item] and item or "minecraft:barrier" + end; + + ---指定されたパーティクルIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:poof"を返す。 + ---@param self CompatibilityUtils + ---@param particle Minecraft.particleID 確認対象のパーティクルID + ---@return Minecraft.particleID particleID レジストリに登録してある場合は確認対象のパーティクルIDをそのまま返し、未登録の場合は"minecraft:poof"が返す。 + checkParticle = function (self, particle) + if self.checkedTable.particle[particle] == nil then + self.checkedTable.particle[particle] = self:find("PARTICLE", particle) + end + return self.checkedTable.particle[particle] and particle or "minecraft:poof" + end; + + ---指定されたサウンドIDがレジストリに登録されているか確認する。レジストリに未登録の場合は"minecraft:empty"を返す。 + ---@param self CompatibilityUtils + ---@param sound Minecraft.soundID 確認対象のサウンドID + ---@return Minecraft.soundID particleID レジストリに登録してある場合は確認対象のサウンドIDをそのまま返し、未登録の場合は"minecraft:empty"が返す。 + checkSound = function (self, sound) + if self.checkedTable.sound[sound] == nil then + self.checkedTable.sound[sound] = self:find("SOUND", sound) + end + return self.checkedTable.sound[sound] and sound or "minecraft:empty" + end; + + ---ブロックの破片のパーティクルを示す文字列を返す。Minecraftのバージョン違いを吸収するための関数。 + ---@param block Minecraft.blockID ブロックの破片パーティクルとして表示するブロックのID。レジストリへの確認は行わない。 + ---@return string particleData ブロックの破片のパーティクルを示す文字列 + getBlockParticleId = function (block) + return client:getVersion() >= "1.20.5" and "minecraft:block{block_state:\""..block.."\"}" or "minecraft:block "..block + end; + + ---dustパーティクルを示す文字列を返す。Minecraftのバージョン違いを吸収するための関数。 + ---@param color Vector3 dustの色 + ---@param size number dustの大きさ + ---@return string particleData dustの破片のパーティクルを示す文字列 + getDustParticleId = function (color, size) + return client:getVersion() >= "1.20.5" and "minecraft:dust{color:["..color.x..","..color.y..","..color.z.."],scale:"..math.clamp(size, 0.01, 4).."}" or "minecraft:dust "..color.x.." "..color.y.." "..color.z.." "..size + end; + + ---renderer:setPostEffect()のラッパー関数 + ---1.20.5でレンダーエフェクトが削除されたことによる対応 + ---@param effect? Minecraft.shaderName 適用するエフェクト + setPostEffect = function (effect) + if client:getVersion() < "1.20.5" then + renderer:setPostEffect(effect) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/utils/model_utils.lua b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/utils/model_utils.lua new file mode 100644 index 0000000..4208e9f --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/utils/model_utils.lua @@ -0,0 +1,59 @@ +---@class (exact) ModelUtils : AvatarModule モデルに関するユーティリティ関数群 +---@field public getModelWorldPos fun(model: ModelPart): Vector3 指定したモデルのワールド位置を返す。 +---@field public copyModel fun(self: ModelUtils, modelPart: ModelPart, name?: string, forceCopy?: boolean): ModelPart|nil モデルパーツをディープコピーする。 +---@field public copyModel fun(self: ModelUtils, modelPart: ModelPart, name?: string, forceCopy?: true): ModelPart モデルパーツをディープコピーする。 +---@field public moveTo fun(target: ModelPart, destination: ModelPart, originalParent: ModelPart) モデルパーツを別の親に移動させる。組み込みmoveTo()で何故かモデルパーツが残ってしまう問題に対処済み。 + +ModelUtils = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return ModelUtils + new = function (parent) + ---@type ModelUtils + local instance = Avatar.instantiate(ModelUtils, AvatarModule, parent) + + return instance + end; + + ---指定したモデルのワールド位置を返す。 + ---@param model ModelPart ワールド位置を取得するモデルパーツ + ---@return Vector3 worldPos モデルのワールド位置 + getModelWorldPos = function(model) + local modelMatrix = model:partToWorldMatrix() + return vectors.vec3(modelMatrix[4][1], modelMatrix[4][2], modelMatrix[4][3]) + end; + + ---モデルパーツをディープコピーする。 + ---非表示のモデルパーツはコピーしない。 + ---@param modelPart ModelPart コピーするモデルパーツ + ---@param name? string コピーしたモデルパーツの名前。省略した際はコピー元と同じ名前になる。 + ---@param forceCopy? boolean 非表示のモデルも強制的にコピーするかどうか + ---@return ModelPart|nil copiedModelPart コピーされたモデルパーツ。入力されたモデルパーツが非表示の場合はnilが返る。 + copyModel = function (self, modelPart, name, forceCopy) + if modelPart:getVisible() or forceCopy then + local copy = modelPart:copy(name ~= nil and name or modelPart:getName()) + copy:setParentType("None") + for _, child in ipairs(copy:getChildren()) do + copy:removeChild(child) + local childModel = self:copyModel(child) + if childModel ~= nil then + copy:addChild(childModel) + end + end + return copy + end + end; + + ---モデルパーツを別の親に移動させる。 + ---組み込みmoveTo()で何故かモデルパーツが残ってしまう問題に対処済み。 + ---@param target ModelPart 移動させる対象のモデルパーツ + ---@param destination ModelPart 移動先の親 + ---@param originalParent ModelPart 移動元の親 + moveTo = function (target, destination, originalParent) + target:moveTo(destination) + local modelName = target:getName() + if originalParent[modelName] ~= nil then + originalParent:removeChild(target) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/utils/player_utils.lua b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/utils/player_utils.lua new file mode 100644 index 0000000..274c213 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/utils/player_utils.lua @@ -0,0 +1,35 @@ +---@alias PlayerUtils.DamageStatus +---| "NONE" # ダメージなし +---| "DAMAGE" # ダメージを受けた +---| "DIED" # 死亡した + +---@class (exact) PlayerUtils : AvatarModule プレイヤーに関するユーティリティ関数群 +---@field public damageStatus PlayerUtils.DamageStatus 現在のティックのダメージステータス +---@field package healthPrev integer 前ティックのHP量 + +PlayerUtils = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return PlayerUtils + new = function (parent) + ---@type PlayerUtils + local instance = Avatar.instantiate(PlayerUtils, AvatarModule, parent) + + instance.damageStatus = "NONE" + instance.healthPrev = player:getHealth() + + return instance + end; + + ---初期化関数 + ---@param self PlayerUtils + init = function (self) + AvatarModule.init(self) + + events.TICK:register(function () + local health = player:getHealth() + self.damageStatus = self.healthPrev > health and (health == 0 and "DIED" or "DAMAGE") or "NONE" + self.healthPrev = health + end) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/utils/spawn_object.lua b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/utils/spawn_object.lua new file mode 100644 index 0000000..cf08811 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/utils/spawn_object.lua @@ -0,0 +1,26 @@ +---@class (exact) SpawnObject : AvatarModule オブジェクト(設置物、独自定義パーティクル、bbモデルetc.)クラス +---@field public object any インスタンスで制御するオブジェクト。ModelPartやRenderTaskを想定している。 +---@field public uuid string このインスタンスのUUID。オブジェクトの名前付けなどにどうぞ。 +---@field public shouldDeinit boolean このオブジェクトを破棄するかどうか。trueにするとオブジェクトが破棄され、その際に、onDeinit()コールバック関数が呼ばれる。 +---@field public callbacks? SpawnObject.CallbackSet スポーンオブジェクトのコールバック関数 + +---@class (exact) SpawnObject.CallbackSet スポーンオブジェクトのコールバック関数のセット +---@field public onInit? fun(self: SpawnObject) オブジェクトの初期化直後に呼ばれる関数 +---@field public onDeinit? fun(self: SpawnObject) オブジェクトの破棄直前に呼ばれる関数 +---@field public onTick? fun(self: SpawnObject) 各ティック毎に呼ばれる関数 +---@field public onRender? fun(self: SpawnObject, delta: number, context: Event.Render.context) 各レンダーティック毎に呼ばれる関数 + +SpawnObject = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return SpawnObject + new = function (parent) + ---@type SpawnObject + local instance = Avatar.instantiate(SpawnObject, AvatarModule, parent) + + instance.uuid = client.intUUIDToString(client.generateUUID()) + instance.shouldDeinit = false + + return instance + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/utils/spawn_object_manager.lua b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/utils/spawn_object_manager.lua new file mode 100644 index 0000000..3026820 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/utils/spawn_object_manager.lua @@ -0,0 +1,102 @@ +---@class (exact) SpawnObjectManager : AvatarModule オブジェクト(設置物、独自定義パーティクル、bbモデルetc.)をスポーンさせ、管理するマネージャークラス +---@field public managerName string このマネージャーの名前 +---@field public objects SpawnObject[] スポーンさせたオブジェクトを保持するテーブル +---@field public getObject fun(self: SpawnObjectManager): SpawnObject スポーンオブジェクトのインスタンスを生成して返す +---@field public spawn fun(self: SpawnObjectManager, ...: any) オブジェクトをスポーンさせる +---@field public remove fun(self: SpawnObjectManager, index: integer) オブジェクトを1つ削除する +---@field public removeAll fun(self: SpawnObjectManager) オブジェクトをすべて削除する + +SpawnObjectManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return SpawnObjectManager + new = function (parent) + ---@type SpawnObjectManager + local instance = Avatar.instantiate(SpawnObjectManager, AvatarModule, parent) + + instance.managerName = "spawn_object" + instance.objects = {} + + return instance + end; + + ---スポーンオブジェクトのインスタンスを生成して返す。 + ---@param self SpawnObjectManager + ---@return SpawnObject instance 生成したスポーンオブジェクト + getObject = function (self) + return SpawnObject.new(self.parent) + end; + + ---オブジェクトをスポーンさせる。 + ---@param self SpawnObjectManager + ---@param ... any インスタンス生成時の引数 + spawn = function (self, ...) + ---@diagnostic disable-next-line: redundant-parameter + local instance = self:getObject(...) + table.insert(self.objects, instance) + if instance.callbacks ~= nil and instance.callbacks.onInit ~= nil then + instance.callbacks.onInit(instance) + end + + if #self.objects == 1 then + events.TICK:register(function () + if not client:isPaused() then + for index, ins in ipairs(self.objects) do + if ins.callbacks ~= nil and ins.callbacks.onTick ~= nil then + ins.callbacks.onTick(ins) + end + if ins.shouldDeinit then + if ins.callbacks ~= nil and ins.callbacks.onDeinit ~= nil then + ins.callbacks.onDeinit(ins) + end + table.remove(self.objects, index) + if #self.objects == 0 then + events.TICK:remove(self.managerName.."_tick") + events.RENDER:remove(self.managerName.."_render") + end + end + end + end + end, self.managerName.."_tick") + + events.RENDER:register(function (delta, ctx) + if not client:isPaused() then + for _, ins in ipairs(self.objects) do + if ins.callbacks ~= nil and ins.callbacks.onRender ~= nil then + ins.callbacks.onRender(ins, delta, ctx) + end + end + end + end, self.managerName.."_render") + end + end; + + ---オブジェクトを1つ削除する。 + ---@param self SpawnObjectManager + ---@param index integer 削除するオブジェクトのインデックス番号 + remove = function (self, index) + if self.objects[index] ~= nil then + if self.objects[index].callbacks ~= nil and self.objects[index].callbacks.onDeinit ~= nil then + self.objects[index].callbacks.onDeinit(self.objects[index]) + end + table.remove(self.objects, index) + if #self.objects == 0 then + events.TICK:remove(self.managerName.."_tick") + events.RENDER:remove(self.managerName.."_render") + end + end + end; + + ---オブジェクトをすべて削除する。 + ---@param self SpawnObjectManager + removeAll = function (self) + while #self.objects > 0 do + if self.objects[1].callbacks ~= nil and self.objects[1].callbacks.onDeinit ~= nil then + self.objects[1].callbacks.onDeinit(self.objects[1]) + end + table.remove(self.objects, 1) + end + events.TICK:remove(self.managerName.."_tick") + events.RENDER:remove(self.managerName.."_render") + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/vanilla_model.lua b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/vanilla_model.lua new file mode 100644 index 0000000..2220732 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/scripts/avatar_modules/vanilla_model.lua @@ -0,0 +1,23 @@ +---@class (exact) VanillaModel : AvatarModule バニラーのモデルの管理クラス + +VanillaModel = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return VanillaModel + new = function (parent) + ---@type VanillaModel + local instance = Avatar.instantiate(VanillaModel, AvatarModule, parent) + + return instance + end; + + ---初期化関数 + ---@param self AvatarModule + init = function (self) + AvatarModule.init(self) + + for _, vanillaModel in ipairs({vanilla_model.PLAYER, vanilla_model.CHESTPLATE_RIGHT_ARM, vanilla_model.CHESTPLATE_LEFT_ARM, vanilla_model.LEGGINGS_RIGHT_LEG, vanilla_model.LEGGINGS_LEFT_LEG, vanilla_model.BOOTS}) do + vanillaModel:setVisible(false) + end + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Umika/scripts/blue_archive_character.lua b/config/yosbr/config/figura/avatars/Umika/scripts/blue_archive_character.lua new file mode 100644 index 0000000..8f9d51f --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/scripts/blue_archive_character.lua @@ -0,0 +1,1308 @@ +---@alias BlueArchiveCharacter.RightEyeTextures +---| "NORMAL" # 通常 +---| "SURPRISED" # 驚いた目(ダメージを受けたときなど) +---| "TIRED" # 疲れた目(死亡アニメーションなど) +---| "CLOSED" # 閉じた目(瞬き、睡眠中など) +---| "CLOSED2" # 閉じた目2 +---| "INVERTED" # 反対側を見る目 +---| "NARROW" # 少し閉じた目 + +---@alias BlueArchiveCharacter.LeftEyeTextures +---| "NORMAL" # 通常 +---| "SURPRISED" # 驚いた目(ダメージを受けたときなど) +---| "TIRED" # 疲れた目(死亡アニメーションなど) +---| "CLOSED" # 閉じた目(瞬き、睡眠中など) +---| "CENTER" # 少し反対側を見る目 +---| "CLOSED2" # 閉じた目2 +---| "NARROW_CENTER" # 少し反対側を見つつ、少し閉じた目 +---| "NARROW" # 少し閉じた目 + +---@alias BlueArchiveCharacter.MouthTextures +---| "NORMAL" # 通常 +---| "CIRCLE" # 丸い口 +---| "SMILE" # にっこり +---| "OPENED" # 開いた口 +---| "DROOL" # 開いた口+よだれ +---| "YUMMY" # 美味しいな口 +---| "OPENED2" # 開いた口2 +---| "ANXIOUS" # への口 + +---@alias BlueArchiveCharacter.GunHoldType +---| "NORMAL" # バニラの弓やクロスボウの構え方と同じ +---| "CUSTOM" # BBアニメーション"[models.main][gun_hold_right]"と"[models.main][gun_hold_left]"で構え方を定義する + +---@alias BlueArchiveCharacter.GunPutType +---| "BODY" # アバターのBodyに銃を移動させる +---| "HIDDEN" # 銃を隠す + +---@alias BlueArchiveCharacter.FormationType +---| "STRIKER" # ストライカー(前衛) +---| "SPECIAL" # スペシャル(後方支援) + +---@alias BlueArchiveCharacter.Costumes +---| "DEFAULT" # デフォルト衣装 + +--[[ ******************************** ]] + +---@class BlueArchiveCharacter : AvatarModule キャラクター変数を保持するクラス。別のキャラクターに対してもここを変更するだけで対応できるようにする。 +---@field public basic BlueArchiveCharacter.BasicStruct 生徒の基本情報 +---@field public faceParts BlueArchiveCharacter.FacePartsStruct 目や口による表情 +---@field public arms BlueArchiveCharacter.ArmsStruct 腕 +---@field public skirt BlueArchiveCharacter.SkirtStruct スカート +---@field public gun BlueArchiveCharacter.GunStruct 銃 +---@field public placementObjects BlueArchiveCharacter.PlacementObjectStruct[] 設置物 +---@field public exSkill BlueArchiveCharacter.ExSkillStruct[] Exスキル +---@field public costume BlueArchiveCharacter.CostumeStruct コスチューム +---@field public bubble BlueArchiveCharacter.BubbleStruct 吹き出しエモート +---@field public headBlock BlueArchiveCharacter.HeadBlockStruct 頭ブロック +---@field public portrait BlueArchiveCharacter.HeadBlockStruct ポートレート +---@field public deathAnimation BlueArchiveCharacter.DeathAnimationStruct 死亡アニメーション +---@field public actionWheel BlueArchiveCharacter.ActionWheelStruct アクションホイール +---@field public physics BlueArchiveCharacter.PhysicsStruct 物理演算 +---@field public dataSync BlueArchiveCharacter.DataSyncStruct データ同期 + +--[[ ******************************** ]] + +---@class BlueArchiveCharacter.BasicStruct 生徒の基本情報のデータ構造体 +---@field public firstName BlueArchiveCharacter.LocaleStringSet 生徒の名前 +---@field public lastName BlueArchiveCharacter.LocaleStringSet 生徒の苗字 +---@field public clubName BlueArchiveCharacter.LocaleStringSet 生徒が所属している部活名 +---@field public birth BlueArchiveCharacter.MonthDaySet 生徒の誕生日 + +---@class BlueArchiveCharacter.FacePartsStruct 目や口による表情のデータ構造体。UVマッピング情報は、デフォルトパーツから見て左からx番目、上からy番目とする。 +---@field public rightEye {[BlueArchiveCharacter.RightEyeTextures]: Vector2} 右目のテクスチャのUVマッピング情報 +---@field public leftEye {[BlueArchiveCharacter.LeftEyeTextures]: Vector2} 左目のテクスチャのUVマッピング情報 +---@field public mouth {[BlueArchiveCharacter.MouthTextures]: Vector2} 口のテクスチャのUVマッピング情報 +---@field public emotionSet? BlueArchiveCharacter.OverrideEmotionSet 特定の状況における表情を上書きする + +---@class BlueArchiveCharacter.ArmsStruct 腕のデータ構造体 +---@field public callbacks? BlueArchiveCharacter.ArmsCallbacksSet 腕の制御のコールバック関数群 + +---@class BlueArchiveCharacter.SkirtStruct スカートのデータ構造体 +---@field public skirtModels? ModelPart[] スカートとして制御するモデル + +---@class BlueArchiveCharacter.GunStruct 銃のデータ構造体 +---@field public scale number 銃モデルの大きさの倍率 +---@field public gunPosition BlueArchiveCharacter.GunPositionSet 銃モデルの位置や向き +---@field public sound BlueArchiveCharacter.GunSoundSet 銃の射撃音 +---@field public callbacks? BlueArchiveCharacter.GunCallbacksSet 銃のコールバック関数 + +---@class BlueArchiveCharacter.PlacementObjectStruct 設置物のデータ構造体 +---@field public model ModelPart 設置物として扱うモデル +---@field public boundingBox BlueArchiveCharacter.PlacementObjectBoundingBoxSet 設置物の当たり判定 +---@field public placementMode PlacementObjectManager.PlacementMode 設置物の設置モード +---@field public gravity? number 設置物にかかる重力。1が標準的な自由落下。0で空中静止。負の数で反重力(上に向かって落ちる)。 +---@field public hasFireResistance? boolean 設置物に火炎耐性を付与するかどうか。trueにすると炎やマグマで焼かれなくなる。 +---@field public callbacks? BlueArchiveCharacter.PlacementObjectCallbacksSet 設置物のコールバック関数 + +---@class BlueArchiveCharacter.ExSkillStruct Exスキルのデータ構造体 +---@field public name BlueArchiveCharacter.LocaleStringSet Exスキルの名前 +---@field public formationType BlueArchiveCharacter.FormationType この生徒の戦闘配置タイプ +---@field public models ModelPart[] Exスキルアニメーション開始時に表示し、Exスキルアニメーション終了時に非表示にするモデルパーツ +---@field public animations string[] Exスキルアニメーションが含まれるモデルファイル名。アニメーション名は"ex_skill_"にすること。 +---@field public camera BlueArchiveCharacter.ExSkillCameraSet Exスキルアニメーション中のカメラワーク +---@field public callbacks? BlueArchiveCharacter.ExSkillCallbacks Exスキルのコールバック関数 + +---@class BlueArchiveCharacter.CostumeStruct コスチュームのデータ構造体 +---@field public costumes BlueArchiveCharacter.CostumeDataSet[] コスチュームデータ +---@field public callbacks? BlueArchiveCharacter.CostumeCallbacks コスチュームのコールバック関数 + +---@class BlueArchiveCharacter.BubbleStruct 吹き出しエモートのデータ構造体 +---@field public callbacks? BlueArchiveCharacter.BubbleCallbacks 吹き出しエモートのコールバック関数 + +---@class BlueArchiveCharacter.HeadBlockStruct 頭ブロック、ポートレートのデータ構造体 +---@field public includeModels ModelPart[] 頭モデルに追加でアタッチするモデル +---@field public callbacks? BlueArchiveCharacter.HeadBlockCallbacks 頭ブロック、ポートレートのコールバック関数 + +---@class BlueArchiveCharacter.DeathAnimationStruct 死亡アニメーションのデータ構造体 +---@field public callbacks? BlueArchiveCharacter.DeathAnimationCallbacks 死亡アニメーションのコールバック関数 + +---@class BlueArchiveCharacter.ActionWheelStruct アクションホイールのデータ構造体 +---@field public isVehicleOptionEnabled boolean 乗り物のモデル置き換えオプションを有効にするかどうか + +---@class BlueArchiveCharacter.PhysicsStruct 物理演算のデータ構造体 +---@field physicData BlueArchiveCharacter.PhysicDataSet[] 物理演算データ +---@field callbacks? BlueArchiveCharacter.PhysicCallbacks 物理演算のコールバック関数 + +---@class BlueArchiveCharacter.DataSyncStruct データ同期のデータ構造体 +---@field public syncData {[string]: any} 追加でping同期させるデータテーブル +---@field public callbacks? BlueArchiveCharacter.DataSyncCallbacks データ同期のコールバック関数 + +--[[ ******************************** ]] + +---@class (exact) BlueArchiveCharacter.OverrideEmotionSet 特定の状況における表情を上書きするセット +---@field public onDamage? BlueArchiveCharacter.EmotionSet ダメージを受けたとき +---@field public onDied? BlueArchiveCharacter.EmotionSet 死んだとき(死亡アニメーションは除外) +---@field public onSleep? BlueArchiveCharacter.EmotionSet ベッドで寝ているとき + +---@class (exact) BlueArchiveCharacter.EmotionSet 表情のデータセット +---@field public rightEye BlueArchiveCharacter.RightEyeTextures 右目の表情名 +---@field public leftEye BlueArchiveCharacter.LeftEyeTextures 左目の表情名 +---@field public mouth BlueArchiveCharacter.MouthTextures 口の表情名 + +---@class (exact) BlueArchiveCharacter.ArmsCallbacksSet 腕処理のコールバック関数のセット +---@field public onArmStateChanged? fun(self: BlueArchiveCharacter, right: integer, left: integer): {right?: integer, left?: integer}|nil 腕の状態が変更された際のコールバック関数 +---@field public onAdditionalRightArmProcess? fun(self: BlueArchiveCharacter, state: integer) 右腕の追加処理 +---@field public onAdditionalLeftArmProcess? fun(self: BlueArchiveCharacter, state: integer) 左腕の追加処理 + +---@class (exact) BlueArchiveCharacter.GunPositionSet 銃のモデルの位置や向きのデータセット +---@field public hold BlueArchiveCharacter.GunHoldPositionSet 銃を構えているとき +---@field public put BlueArchiveCharacter.GunPutPositionSet 銃をしまっているとき + +---@class (exact) BlueArchiveCharacter.GunHoldPositionSet 構えているときの銃のモデルの位置や向きのデータセット +---@field public type BlueArchiveCharacter.GunHoldType 銃の構え方の種類 +---@field public firstPersonPos? BlueArchiveCharacter.Vector3RightLeftSet 一人称視点での銃の位置 +---@field public firstPersonRot? BlueArchiveCharacter.Vector3RightLeftSet 一人称視点での銃の方向 +---@field public thirdPersonPos? BlueArchiveCharacter.Vector3RightLeftSet 三人称視点での銃の位置 +---@field public thirdPersonRot? BlueArchiveCharacter.Vector3RightLeftSet 三人称視点での銃の方向 + +---@class (exact) BlueArchiveCharacter.GunPutPositionSet しまっているときの銃のモデルの位置や向きのデータセット +---@field public type BlueArchiveCharacter.GunPutType 銃のしまい方の種類 +---@field public pos? BlueArchiveCharacter.Vector3RightLeftSet 一人称視点での銃の位置 +---@field public rot? BlueArchiveCharacter.Vector3RightLeftSet 一人称視点での銃の方向 + +---@class (exact) BlueArchiveCharacter.GunSoundSet 銃の音のデータセット +---@field public name Minecraft.soundID 銃の音として使用するゲームの音源名 +---@field public pitch number 音源の再生ピッチ(0.5~2) + +---@class (exact) BlueArchiveCharacter.GunCallbacksSet 銃のコールバック関数のセット +---@field public onMainHandChange? fun(self: BlueArchiveCharacter, direction: Gun.HandDirection) 利き手が変更されたときに呼び出される関数 + +---@class (exact) BlueArchiveCharacter.PlacementObjectBoundingBoxSet 設置物の当たり判定のデータセット +---@field public offsetPos? Vector3 設置物の底の中心点のオフセット位置(任意)。基準点は(0, 0, 0)。 +---@field public size? Vector3 当たり判定の大きさ。BlockBenchでのサイズの値をそのまま入力する。基準点はモデルの底面の中心。 + +---@class (exact) BlueArchiveCharacter.PlacementObjectCallbacksSet 設置物のコールバック関数のセット +---@field public onInit? fun(self: BlueArchiveCharacter, placementObject: PlacementObject) 設置物インスタンスが生成された直後に呼ばれる関数 +---@field public onDeinit? fun(self: BlueArchiveCharacter, placementObject: PlacementObject) 設置物インスタンスが破棄される直前に呼ばれる関数 +---@field public onTick? fun(self: BlueArchiveCharacter, placementObject: PlacementObject) 各ティック毎に呼ばれる関数 +---@field public onRender? fun(self: BlueArchiveCharacter, placementObject: PlacementObject, delta: number) 各レンダーティック毎に呼ばれる関数 +---@field public onGround? fun(self: BlueArchiveCharacter, placementObject: PlacementObject) 設置物が接地した瞬間に呼ばれる関数 + +---@class (exact) BlueArchiveCharacter.ExSkillCameraSet Exスキルアニメーション中のカメラワークのセット +---@field public start BlueArchiveCharacter.ExSkillCameraPositionSet Exスキルアニメーション開始地点 +---@field public fin BlueArchiveCharacter.ExSkillCameraPositionSet Exスキルアニメーション終了地点 +---@field public fixMode? boolean カメラの補正モード。通常は無効だが、特定のキャラクターに対しては有効にしておく。 + +---@class (exact) BlueArchiveCharacter.ExSkillCameraPositionSet Exスキルアニメーション中のカメラワークの開始/終了地点の位置のデータセット +---@field public pos Vector3 カメラの位置 +---@field public rot Vector3 カメラの方向 + +---@class (exact) BlueArchiveCharacter.ExSkillCallbacks Exスキルのコールバック関数のセット +---@field public onPreTransition? fun(self: BlueArchiveCharacter) Exスキルアニメーション開始前のトランジション開始前に実行されるコールバック関数 +---@field public onPreAnimation? fun(self: BlueArchiveCharacter) Exスキルアニメーション開始前のトランジション終了後に実行されるコールバック関数 +---@field public onAnimationTick? fun(self: BlueArchiveCharacter, tick: integer) Exスキルアニメーション再生中のみ実行されるティック関数 +---@field public onPostAnimation? fun(self: BlueArchiveCharacter, forcedStop: boolean) Exスキルアニメーション終了後のトランジション開始前に実行されるコールバック関数 +---@field public onPostTransition? fun(self: BlueArchiveCharacter, forcedStop: boolean) Exスキルアニメーション終了後のトランジション終了後に実行されるコールバック関数 + +---@class BlueArchiveCharacter.CostumeDataSet コスチュームのデータセット +---@field public name string コスチュームの内部名 +---@field public displayName BlueArchiveCharacter.LocaleStringSet コスチュームの表示名 +---@field public exSkill integer コスチュームに対応するExスキルのインデックス番号 +---@field public subExSkill? integer コスチュームに対応するサブExスキルのインデックス番号 + +---@class (exact) BlueArchiveCharacter.CostumeCallbacks コスチュームのコールバック関数のセット +---@field public onChange? fun(self: BlueArchiveCharacter, costumeId: BlueArchiveCharacter.Costumes) 衣装が変更されたときに実行されるコールバック関数。デフォルトの衣装はここに含めない。 +---@field public onReset? fun(self: BlueArchiveCharacter) 衣装がリセットされたときに実行されるコールバック関数。あらゆる衣装からデフォルトの衣装へ推移できるようにする。 +---@field public onArmorChange? fun(self: BlueArchiveCharacter, parts: Armor.ArmorPart, isVisible: boolean) 防具が変更された(防具が見える/見えない)ときに実行されるコールバック関数 + +---@class (exact) BlueArchiveCharacter.BubbleCallbacks 吹き出しエモートのコールバック関数のセット +---@field public onPlay? fun(self: BlueArchiveCharacter, type: Bubble.BubbleType, duration: integer, showInGui: boolean) 吹き出しエモートが再生された時に実行されるコールバック関数 +---@field public onStop? fun(self: BlueArchiveCharacter, type: Bubble.BubbleType, forcedStop: boolean) 吹き出しアニメーション終了時に実行されるコールバック関数 + +---@class (exact) BlueArchiveCharacter.HeadBlockCallbacks 頭ブロックのコールバック関数のセット +---@field public onBeforeModelCopy? fun(self: BlueArchiveCharacter, isScriptLoaded: boolean) モデルのコピー直前に実行される関数 +---@field public onAfterModelCopy? fun(self: BlueArchiveCharacter, isScriptLoaded: boolean) モデルのコピー直後に実行される関数 + +---@class (exact) BlueArchiveCharacter.DeathAnimationCallbacks 死亡アニメーションのコールバック関数のセット +---@field public onPhase1? fun(self: BlueArchiveCharacter, dummyAvatar: ModelPart, costume: BlueArchiveCharacter.Costumes) 死亡アニメーションが再生された直後に実行される関数 +---@field public onPhase2? fun(self: BlueArchiveCharacter, dummyAvatar: ModelPart, costume: BlueArchiveCharacter.Costumes) ダミーアバターが縄ばしごにつかまった直後に実行される関数 +---@field public onBeforeModelCopy? fun(self: BlueArchiveCharacter, isScriptLoaded: boolean) モデルのコピー直前に実行される関数 +---@field public onAfterModelCopy? fun(self: BlueArchiveCharacter, isScriptLoaded: boolean) モデルのコピー直後に実行される関数 + +---@class (exact) BlueArchiveCharacter.PhysicDataSet 物理演算のデータセット +---@field public models ModelPart[] 物理演算の対象にするモデルパーツ +---@field public x? BlueArchiveCharacter.PhysicAxisData x軸のデータ +---@field public y? BlueArchiveCharacter.PhysicAxisData y軸のデータ +---@field public z? BlueArchiveCharacter.PhysicAxisData z軸のデータ + +---@class (exact) BlueArchiveCharacter.PhysicAxisData 物理演算の1軸のデータセット +---@field public vertical? BlueArchiveCharacter.PhysicCoreData 体が垂直方向である時(通常時)の物理演算データ +---@field public horizontal? BlueArchiveCharacter.PhysicCoreData 体が水平方向である時(水泳時、エリトラ飛行時)の物理演算データ + +---@class (exact) BlueArchiveCharacter.PhysicCoreData 物理演算のコアデータ +---@field public min number このモデルパーツ、回転軸の絶対的な回転の最小値(度) +---@field public neutral number このモデルパーツ、回転軸の中立の回転位置(度) +---@field public max number このモデルパーツ、回転軸の絶対的な回転の最大値(度) +---@field public sneakOffset? number スニーク時にこのモデルパーツの回転に加えられるオフセット値 +---@field public headRotMultiplayer? number 頭の縦方向の回転と共にこのモデルパーツの回転に加えられる値の倍率 +---@field public headX? BlueArchiveCharacter.PhysicFactorData 頭を基準とした、前後方向移動によるモデルパーツの回転データ +---@field public headZ? BlueArchiveCharacter.PhysicFactorData 頭を基準とした、左右方向移動によるモデルパーツの回転データ +---@field public headRot? BlueArchiveCharacter.PhysicFactorData 頭の回転によるによるモデルパーツの回転データ +---@field public bodyX? BlueArchiveCharacter.PhysicFactorData 体を基準とした、前後方向移動によるモデルパーツの回転データ +---@field public bodyY? BlueArchiveCharacter.PhysicFactorData 体を基準とした、上下方向移動によるモデルパーツの回転データ +---@field public bodyZ? BlueArchiveCharacter.PhysicFactorData 体を基準とした、左右方向移動によるモデルパーツの回転データ +---@field public bodyRot? BlueArchiveCharacter.PhysicFactorData 体の回転によるによるモデルパーツの回転データ + +---@class (exact) BlueArchiveCharacter.PhysicFactorData 物理演算を働かせる要因を定義するデータセット +---@field public multiplayer number この回転事象がモデルパーツに与える回転の倍率 +---@field public min number この回転事象がモデルパーツに与える回転の最小値 +---@field public max number この回転事象がモデルパーツに与える回転の最大値 + +---@class (exact) BlueArchiveCharacter.PhysicCallbacks 物理演算のコールバック関数のセット +---@field public onPhysicPerformed? fun(self: BlueArchiveCharacter, model: ModelPart) 物理演算処理後に実行されるコールバック関数(省略可)。ここでモデルパーツの向きを上書きできる。 + +---@class (exact) BlueArchiveCharacter.DataSyncCallbacks データ同期のコールバック関数のセット +---@field public onDataSynced? fun(self: BlueArchiveCharacter) データが同期されたときに実行させるコールバック関数。ホスト上では実行されない。 + +--[[ ******************************** ]] + +---@class (exact) BlueArchiveCharacter.LocaleStringSet ロケール文字列のセット +---@field public en_us string 英語(米国) +---@field public ja_jp string 日本語 + +---@class (exact) BlueArchiveCharacter.MonthDaySet 日月のデータセット +---@field public month integer 月 +---@field public day integer 日 + +---@class (exact) BlueArchiveCharacter.Vector3RightLeftSet 左右で別々にVector3が定義できるデータセット +---@field public right? Vector3 右 +---@field public left? Vector3 左 + +BlueArchiveCharacter = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return BlueArchiveCharacter + new = function (parent) + ---@type BlueArchiveCharacter + local instance = Avatar.instantiate(BlueArchiveCharacter, AvatarModule, parent) + + instance.basic = { + firstName = { + en_us = "Umika"; + ja_jp = "ウミカ"; + }; + + lastName = { + en_us = "Satohama"; + ja_jp = "里浜"; + }; + + clubName = { + en_us = "Festival Management Committee"; + ja_jp = "お祭り運営委員会"; + }; + + birth = { + month = 7; + day = 1; + }; + } + + instance.faceParts = { + rightEye = { + NORMAL = vectors.vec2(0, 0); --必須 + SURPRISED = vectors.vec2(2, 0); --必須 + TIRED = vectors.vec2(3, 0); --必須 + CLOSED = vectors.vec2(4, 0); --必須 + CLOSED2 = vectors.vec2(6, 0); + INVERTED = vectors.vec2(7, 0); + NARROW = vectors.vec2(8, 0); + }; + + leftEye = { + NORMAL = vectors.vec2(0, 0); --必須 + SURPRISED = vectors.vec2(1, 0); --必須 + TIRED = vectors.vec2(2, 0); --必須 + CLOSED = vectors.vec2(3, 0); --必須 + CENTER = vectors.vec2(4, 0); + CLOSED2 = vectors.vec2(5, 0); + NARROW_CENTER = vectors.vec2(8, 0); + NARROW = vectors.vec2(-1, 1); + }; + + mouth = { + CIRCLE = vectors.vec2(0, 0); + SMILE = vectors.vec2(1, 0); + OPENED = vectors.vec2(2, 0); + DROOL = vectors.vec2(3, 0); + YUMMY = vectors.vec2(0, 1); + OPENED2 = vectors.vec2(1, 1); + ANXIOUS = vectors.vec2(2, 1); + }; + } + + instance.arms = { + + } + + instance.skirt = { + skirtModels = {models.models.main.Avatar.UpperBody.Body.Skirt}; + } + + instance.gun = { + scale = 1.5; + + gunPosition = { + hold = { + type = "NORMAL"; + + firstPersonPos = { + right = vectors.vec3(1.5, 0, -4); + left = vectors.vec3(1.5, 0, -4); + }; + + thirdPersonPos = { + right = vectors.vec3(-1.75, 0, -7); + left = vectors.vec3(1.75, 0, -7); + }; + }; + + put = { + type = "BODY"; + + pos = { + right = vectors.vec3(0, 3, 3); + left = vectors.vec3(0, 3, 3); + }; + + rot = { + right = vectors.vec3(0, -90, 45); + left = vectors.vec3(0, 90, -45); + }; + }; + }; + + sound = { + name = "minecraft:entity.firework_rocket.blast"; + pitch = 1; + }; + } + + instance.placementObjects = { + { + model = models.models.placement_object.PlacementObject; + + boundingBox = { + size = vectors.vec3(38, 37, 38) + }; + + placementMode = "COPY"; + + callbacks = { + onInit = function (self, placementObject) + placementObject.animationCount = -1 + end; + + onTick = function (self, placementObject) + local fireworkPos = vectors.vec3() + if placementObject.animationCount == 0 then + local rot = placementObject.object:getRot().y + fireworkPos = placementObject.currentPos:copy():add(vectors.rotateAroundAxis(rot, 0.234375, 1.734375, -0.72, 0, 1, 0)) + self.parent.fireworkManager:spawn(fireworkPos, vectors.vec3(-17.5, rot + 177.5, 0)) + elseif placementObject.animationCount == 10 then + local rot = placementObject.object:getRot().y + fireworkPos = placementObject.currentPos:copy():add(vectors.rotateAroundAxis(rot, -0.234375, 1.734375, -0.72, 0, 1, 0)) + self.parent.fireworkManager:spawn(fireworkPos, vectors.vec3(-17.5, rot + 182.5, 0)) + elseif placementObject.animationCount == 20 then + local rot = placementObject.object:getRot().y + fireworkPos = placementObject.currentPos:copy():add(vectors.rotateAroundAxis(rot, 0.234375, 1.296875, -0.72, 0, 1, 0)) + self.parent.fireworkManager:spawn(fireworkPos, vectors.vec3(-17.5, rot + 177.5, 0)) + elseif placementObject.animationCount == 30 then + local rot = placementObject.object:getRot().y + fireworkPos = placementObject.currentPos:copy():add(vectors.rotateAroundAxis(rot, -0.234375, 1.296875, -0.72, 0, 1, 0)) + self.parent.fireworkManager:spawn(fireworkPos, vectors.vec3(-17.5, rot + 182.5, 0)) + elseif placementObject.animationCount == 35 then + placementObject.animationCount = -1 + end + if placementObject.animationCount % 10 == 0 then + for _ = 1, 10 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:smoke"), fireworkPos:copy():add(math.random() * 0.25 - 0.125, math.random() * 0.25 + 0.25, math.random() * 0.25 - 0.125)) + end + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.blaze.hurt"), placementObject.currentPos, 1, 1.5) + end + if placementObject.animationCount >= 0 then + placementObject.animationCount = placementObject.animationCount + 1 + end + end; + + onRender = function (self, placementObject, delta) + local count = placementObject.animationCount >= 0 and placementObject.animationCount + delta or -1 + self.placementObjects[1].barrelRender(placementObject.object.Cannon.CannonHead.CannonBarrel1, placementObject.animationCount >= 0 and math.max(count * -0.2 + 1, 0) or 0) + self.placementObjects[1].barrelRender(placementObject.object.Cannon.CannonHead.CannonBarrel2, placementObject.animationCount >= 10 and math.clamp(count * -0.2 + 3, 0, 1) or 0) + self.placementObjects[1].barrelRender(placementObject.object.Cannon.CannonHead.CannonBarrel3, placementObject.animationCount >= 20 and math.clamp(count * -0.2 + 5, 0, 1) or 0) + self.placementObjects[1].barrelRender(placementObject.object.Cannon.CannonHead.CannonBarrel4, placementObject.animationCount >= 30 and math.clamp(count * -0.2 + 7, 0, 1) or 0) + end; + }; + + ---バレルのレンダー処理 + ---@param barrelModel ModelPart 処理対象のバレルもモデル + ---@param barrelCount number バレルのカウンタ値。0~1。 + barrelRender = function (barrelModel, barrelCount) + barrelModel:setPos(0, 0, barrelCount * 4) + barrelModel:setColor(vectors.vec3(1, 1, 1):sub(vectors.vec3(0, 0.087, 0.242):scale(barrelCount))) + end; + }; + } + + instance.exSkill = { + { + name = { + en_us = "The festival has begun!"; + ja_jp = "お祭り開始です!"; + }; + + formationType = "STRIKER"; + + models = {models.models.ex_skill_1, models.models.main.Avatar.Head.FaceParts.Eyes.EyeShines, models.models.main.LaughterLines}; + + animations = {"main", "ex_skill_1"}; + + camera = { + start = { + rot = vectors.vec3(0, 160, 0); + pos = vectors.vec3(-9, 24, -23); + }; + + fin = { + rot = vectors.vec3(0, 180, -5); + pos = vectors.vec3(25.9, 22.75, -43.4); + }; + }; + + callbacks = { + onPreTransition = function (self) + if #self.parent.placementObjectManager.objects == 5 then + self.parent.placementObjectManager:remove(1) + end + end; + + onPreAnimation = function (self) + if not self.exSkill[1].init then + self.exSkill[1].makeTakoyakiText(models.models.ex_skill_1.Stalls.TakoyakiStall.TakoyakiStallRoof.StallRoofFront, vectors.vec3(0, -6, -1.01), 0) + self.exSkill[1].makeTakoyakiText(models.models.ex_skill_1.Stalls.TakoyakiStall.TakoyakiStallRoof.StallRoofRight, vectors.vec3(0.501, -6, 22.5), -90) + self.exSkill[1].makeTakoyakiText(models.models.ex_skill_1.Stalls.TakoyakiStall.TakoyakiStallRoof.StallRoofLeft, vectors.vec3(-0.501, -6, 22.5), 90) + for i = 1, 2 do + models.models.ex_skill_1.Stalls.TakoyakiStall.TakoyakiStallTable["MenuLabel"..i]:newText("MenuLabel"..i.."_takoyaki_text"):setText("§4§lた\nこ\nや\nき"):setPos(-0.25, -0.25, -0.01):setScale(0.25, 0.25, 0.25):setAlignment("CENTER"):setOutline(true) + models.models.ex_skill_1.Stalls.TakoyakiStall.TakoyakiStallTable["MenuLabel"..i]:newItem("MenuLabel"..i.."_emerald_item"):setItem(self.parent.compatibilityUtils:checkItem("minecraft:emerald")):setPos(0.75, -10.75, -0.01):setScale(0.1, 0.1, 0) + models.models.ex_skill_1.Stalls.TakoyakiStall.TakoyakiStallTable["MenuLabel"..i]:newText("MenuLabel"..i.."_price_text"):setText("§0§lx5"):setPos(-0.5, -10.5, -0.01):setScale(0.1, 0.1, 0.1):setAlignment("CENTER") + end + models.models.ex_skill_1.Stalls.TakoyakiStall.TakoyakiStallFrames.MenuSign:newText("MenuSign_takoyaki_text"):setText("§4§lたこ\n焼き"):setPos(-3.25, 4.25, -0.01):setScale(0.35, 0.35, 0.35):setAlignment("CENTER"):setOutline(true):setOutlineColor(0.8, 0.8, 0.8) + models.models.ex_skill_1.Stalls.TakoyakiStall.TakoyakiStallFrames.MenuSign:newItem("MenuSign_emerald_item"):setItem(self.parent.compatibilityUtils:checkItem("minecraft:emerald")):setPos(3, -3.25, -0.01):setScale(0.175, 0.175, 0) + models.models.ex_skill_1.Stalls.TakoyakiStall.TakoyakiStallFrames.MenuSign:newText("MenuSign_price_text"):setText("§0§lx5"):setPos(0.5, -3, -0.01):setScale(0.15, 0.15, 0.15):setAlignment("CENTER"):setOutline(true):setOutlineColor(0.8, 0.8, 0.8) + models.models.ex_skill_1.Stalls.TakoyakiStall:newBlock("TakoyakiStall_step"):setBlock(self.parent.compatibilityUtils:checkBlock("minecraft:scaffolding")):setPos(20, -6, 16) + + models.models.ex_skill_1.Stalls.IkayakiStall.IkayakiStallTable.PlanksSheet:setPrimaryTexture("RESOURCE", "minecraft:textures/block/oak_planks.png") + self.exSkill[1].makeIkayakiText(models.models.ex_skill_1.Stalls.IkayakiStall.IkayakiStallRoof.StallRoofFront, vectors.vec3(0, -6, -1.01), 0) + self.exSkill[1].makeIkayakiText(models.models.ex_skill_1.Stalls.IkayakiStall.IkayakiStallRoof.StallRoofRight, vectors.vec3(0.501, -6, 22.5), -90) + self.exSkill[1].makeIkayakiText(models.models.ex_skill_1.Stalls.IkayakiStall.IkayakiStallRoof.StallRoofLeft, vectors.vec3(-0.501, -6, 22.5), 90) + for i = 1, 3 do + models.models.ex_skill_1.Stalls.IkayakiStall.IkayakiStallTable["MenuLabel"..i]:newItem("MenuLabel"..i.."_emerald_item"):setItem(self.parent.compatibilityUtils:checkItem("minecraft:emerald")):setPos(1.75, -2, -0.01):setScale(0.25, 0.25, 0) + models.models.ex_skill_1.Stalls.IkayakiStall.IkayakiStallTable["MenuLabel"..i]:newText("MenuLabel"..i.."_price_text"):setText("§0§lx"..(i - 1) * 2 + 1):setPos(-1.5, -1.75, -0.01):setScale(0.25, 0.25, 0.25):setAlignment("CENTER") + end + models.models.ex_skill_1.Stalls.IkayakiStall:newBlock("IkayakiStall_step"):setBlock(self.parent.compatibilityUtils:checkBlock("minecraft:scaffolding")):setPos(15, -6, 16) + self.exSkill[1].init = true + end + + events.RENDER:register(function () + models.models.main.LaughterLines:setOffsetPivot(models.models.main.LaughterLines.LaughterLinesInner:getAnimPos()) + end, "ex_skill_1_render") + self.parent.faceParts:setEmotion("NORMAL", "CENTER", "CIRCLE", 11, true) + end; + + onAnimationTick = function (self, tick) + if tick == 11 then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "SMILE", 10, true) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.attack.sweep"), self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar), 0.25, 0.75) + elseif tick == 21 then + self.parent.faceParts:setEmotion("CLOSED2", "CLOSED2", "SMILE", 7, true) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.attack.sweep"), self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar), 0.25, 0.75) + elseif tick == 28 then + self.parent.faceParts:setEmotion("INVERTED", "NORMAL", "SMILE", 6, true) + elseif tick == 34 then + self.parent.faceParts:setEmotion("CLOSED", "CLOSED", "OPENED", 6, true) + local anchorPos = self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.RightItemPivot) + local bodyYaw = player:getBodyYaw() + for i = 0, 7 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:wax_off"), anchorPos):setVelocity(vectors.rotateAroundAxis(bodyYaw * -1, vectors.rotateAroundAxis(i * 45 + 0.1, 0, -0.015, 0, 0, 0, 1), 0, 1, 0)):setScale(0.25):setColor(1, 1, 0.71):setLifetime(20) + end + self.parent.bubble:play("GOOD", 20, vectors.vec2(), 0, false) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.egg.throw"), self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar), 0.5, 2) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.experience_orb.pickup"), self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar), 1, 1.5) + elseif tick == 40 then + self.parent.faceParts:setEmotion("INVERTED", "NORMAL", "OPENED", 14, true) + elseif tick == 54 then + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.Dumplings, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.Takoyaki3, models.models.ex_skill_1.Dogs.Dog2.Dog2Head.Sweat}) do + modelPart:setVisible(true) + end + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "DROOL", 26, true) + if host:isHost() then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.fire.extinguish"), self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_1.Stalls.IkayakiStall.IkayakiStallTable.IkayakiTableItems.IkayakiPlate.ExSkill1ParticleAnchor3), 0.25, 0.5) + end + elseif tick == 80 then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "YUMMY", 12, true) + elseif tick == 92 then + self.parent.faceParts:setEmotion("CLOSED", "CLOSED", "YUMMY", 2, true) + elseif tick == 94 then + self.parent.faceParts:setEmotion("NORMAL", "CENTER", "CIRCLE", 28, true) + elseif tick == 97 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.item.pickup"), self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar), 1, 1.25) + elseif tick == 110 then + models.models.ex_skill_1.Dogs.Dog2.Dog2Head.Sweat:setVisible(false) + models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.Ikayaki9:setVisible(true) + elseif tick == 122 then + self.parent.faceParts:setEmotion("NARROW", "NARROW_CENTER", "SMILE", 29, true) + elseif tick == 129 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.item.pickup"), self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar), 1, 0.75) + elseif tick == 132 then + models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.Ikayaki9:moveTo(models.models.ex_skill_1.Dogs.Dog3.Dog3UpperBody.Dog3RightArm) + models.models.ex_skill_1.Dogs.Dog3.Dog3UpperBody.Dog3RightArm.ChocoBanana:moveTo(models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom) + elseif tick == 151 then + self.parent.faceParts:setEmotion("CLOSED", "CLOSED", "SMILE", 5, true) + elseif tick == 156 then + self.parent.faceParts:setEmotion("CLOSED", "CLOSED", "OPENED2", 34, true) + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.player.levelup"), self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar), 1, 1) + local anchorPos = self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_1.ExSkill1ParticleAnchor5) + local bodyYaw = player:getBodyYaw() + for i = 1, 6 do + local particleColor = i <= 3 and (vectors.vec3(0.667, 0.949, 0.561):add(vectors.vec3(-0.02,- 0.137, -0.094):scale((i - 1) / 2))) or (vectors.vec3(1, 0.78, 0.38):add(vectors.vec3(0, 0.22, 0.165):scale((i - 4) / 2))) + for j = 0, 4 * i do + local offset = vectors.rotateAroundAxis(bodyYaw * -1, vectors.rotateAroundAxis(j * (360 / (8 * i)) - 90.1, 0, 0.25, 0, 0, 0, 1), 0, 1, 0) + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:wax_off"), anchorPos:copy():add(offset:copy():scale(i))):setVelocity(offset:copy():scale(0.35)):setScale(2):setLifetime(32):setColor(particleColor) + end + end + end + + if tick >= 54 and tick < 92 and (tick - 54) % 8 == 0 then + local anchorPos = self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.Head):add(0, 0.25, 0) + local bodyYaw = player:getBodyYaw() + for i = 1, 7 do + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:happy_villager"), anchorPos):setVelocity(vectors.rotateAroundAxis(bodyYaw * -1, vectors.rotateAroundAxis(i * 45, 0, -0.1, 0, 0, 0, 1), 0, 1, 0)):setScale(0.75):setLifetime(10) + end + if tick >= 66 then + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.egg.throw"), anchorPos, 0.25, 2) + end + end + local vaporAnchor1 = self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_1.Stalls.TakoyakiStall.TakoyakiStallTable.TakoyakiTableItems.TakoyakiPlate.TakoyakiPlate2.ExSkill1ParticleAnchor1) + local bodyYaw = player:getBodyYaw() + for _ = 1, 2 do + self.exSkill[1].spawnVaporParticle(self, vaporAnchor1:copy():add(vectors.rotateAroundAxis(bodyYaw * -1, math.random() * 1.874375 - 0.921875, 0, math.random() * 0.484375 - 0.2421875, 0, 1, 0))) + end + local vaporAnchor2 = self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_1.Stalls.TakoyakiStall.TakoyakiStallTable.TakoyakiTableItems.Takoyaki.ExSkill1ParticleAnchor2) + self.exSkill[1].spawnVaporParticle(self, vaporAnchor2:copy():add(vectors.rotateAroundAxis(bodyYaw * -1, math.random() * 0.6875 - 0.34375, 0, math.random() * 0.4375 - 0.21875, 0, 1, 0))) + local vaporAnchor3 = self.parent.modelUtils.getModelWorldPos(models.models.ex_skill_1.Stalls.IkayakiStall.IkayakiStallTable.IkayakiTableItems.IkayakiPlate.ExSkill1ParticleAnchor3) + for _ = 1, 2 do + self.exSkill[1].spawnVaporParticle(self, vaporAnchor3:copy():add(vectors.rotateAroundAxis(bodyYaw * -1, math.random() * 1.6875 - 0.84375, 0, math.random() * 0.484375 - 0.2421875, 0, 1, 0))) + end + if tick >= 54 and tick % 2 == 0 then + local vaporAnchor4 = self.parent.modelUtils.getModelWorldPos(models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.Takoyaki3.ExSkill1ParticleAnchor4) + self.exSkill[1].spawnVaporParticle(self, vaporAnchor4:copy():add(vectors.rotateAroundAxis(bodyYaw * -1, math.random() * 0.265625 - 0.1328125, 0, math.random() * 0.265625 - 0.1328125, 0, 1, 0))) + end + if tick % 4 == 0 and not host:isHost() then + for _, anchorPos in ipairs({vaporAnchor1, vaporAnchor3}) do + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.fire.extinguish"), anchorPos, 0.005, 0.5) + end + end + end; + + onPostAnimation = function (self, forcedStop) + if models.models.ex_skill_1.Dogs.Dog3.Dog3UpperBody.Dog3RightArm.Ikayaki9 ~= nil then + models.models.ex_skill_1.Dogs.Dog3.Dog3UpperBody.Dog3RightArm.Ikayaki9:moveTo(models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom) + end + if models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ChocoBanana ~= nil then + models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.ChocoBanana:moveTo(models.models.ex_skill_1.Dogs.Dog3.Dog3UpperBody.Dog3RightArm) + end + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.Dumplings, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftArmBottom.Takoyaki3, models.models.main.Avatar.UpperBody.Arms.RightArm.RightArmBottom.Ikayaki9}) do + modelPart:setVisible(false) + end + events.RENDER:remove("ex_skill_1_render") + if forcedStop then + self.parent.bubble:stop() + else + local bodyYaw = player:getBodyYaw() + self.parent.placementObjectManager:spawn(1, player:getPos():add(vectors.rotateAroundAxis(bodyYaw * -1, 0, 1, 4, 0, 1, 0)), (bodyYaw * -1 + 180) % 360) + end + end; + + onPostTransition = function (self, forcedStop) + if not forcedStop and not self.exSkill[1].didTipShow and host:isHost() then + print(self.parent.locale:getLocale("ex_skill_1.tip_1_pre")..self.parent.keyManager.keyMappings["ex_skill"]:getKeyName()..self.parent.locale:getLocale("ex_skill_1.tip_1_post")) + print(self.parent.locale:getLocale("ex_skill_1.tip_2_pre")..self.parent.keyManager.keyMappings["firework_launch"]:getKeyName()..self.parent.locale:getLocale("ex_skill_1.tip_2_post")) + self.exSkill[1].didTipShow = true + end + end; + }; + + ---このExスキルの初期化処理が行われたかどうか + ---@type boolean + init = false; + + ---ヒントメッセージを表示したかどうか + ---@type boolean + didTipShow = false; + + ---花火台発射のクールダウン + ---@type integer + launcherCooldown = 0; + + ---屋台のたこ焼き看板のテキストレンダータスクを作成する。 + ---@param parentModel ModelPart テキストレンダータスクを作成する対象の親パーツ + ---@param posOffset Vector3 テキストレンダータスクの位置オフセット + ---@param rot number テキストレンダータスク設置の基準となるY軸の向き + makeTakoyakiText = function (parentModel, posOffset, rot) + local parentName = parentModel:getName() + parentModel:newText(parentName.."_takoyaki_text_1"):setText("§0§lたこやき"):setPos(vectors.rotateAroundAxis(rot, 0, 3, 0, 0, 1, 0):add(posOffset)):setRot(0, rot, 0):setScale(0.85, 0.85, 0.85):setAlignment("CENTER"):setOutline(true):setOutlineColor(0.8, 0.8, 0.8) + parentModel:newText(parentName.."_flavor_text_1"):setText("§2§l本場の味"):setPos(vectors.rotateAroundAxis(rot, -9, 5, 0, 0, 1, 0):add(posOffset)):setRot(0, rot, 0):setScale(0.25, 0.25, 0.25):setAlignment("CENTER"):setOutline(true):setOutlineColor(0.8, 0.8, 0.8) + parentModel:newText(parentName.."_takoyaki_text_2"):setText("§0§lたこやき"):setPos(vectors.rotateAroundAxis(rot + 180, 0, 3, -1.02, 0, 1, 0):add(posOffset)):setRot(0, rot + 180, 0):setScale(0.85, 0.85, 0.85):setAlignment("CENTER"):setOutline(true):setOutlineColor(0.8, 0.8, 0.8) + parentModel:newText(parentName.."_flavor_text_2"):setText("§2§l本場の味"):setPos(vectors.rotateAroundAxis(rot + 180, -9, 5, -1.02, 0, 1, 0):add(posOffset)):setRot(0, rot + 180, 0):setScale(0.25, 0.25, 0.25):setAlignment("CENTER"):setOutline(true):setOutlineColor(0.8, 0.8, 0.8) + end; + + ---屋台のいか焼き看板のテキストレンダータスクを作成する。 + ---@param parentModel ModelPart テキストレンダータスクを作成する対象の親パーツ + ---@param posOffset Vector3 テキストレンダータスクの位置オフセット + ---@param rot number テキストレンダータスク設置の基準となるY軸の向き + makeIkayakiText = function (parentModel, posOffset, rot) + local parentName = parentModel:getName() + parentModel:newText(parentName.."_ikayaki_text_1"):setText("§4§lいかやき"):setPos(vectors.rotateAroundAxis(rot, 0, 3, 0, 0, 1, 0):add(posOffset)):setRot(0, rot, 0):setScale(0.85, 0.85, 0.85):setAlignment("CENTER"):setOutline(true):setOutlineColor(0.8, 0.8, 0.8) + parentModel:newText(parentName.."_flavor_text_1"):setText("§1§l海の味"):setPos(vectors.rotateAroundAxis(rot, 15, 5, 0, 0, 1, 0):add(posOffset)):setRot(rot % 360 == 90 and vectors.vec3(-90, 80, -90) or (rot % 360 == 270 and vectors.vec3(90, -80, -90) or vectors.vec3(0, 0, -10))):setScale(0.35, 0.35, 0.35):setAlignment("CENTER"):setOutline(true):setOutlineColor(0.8, 0.8, 0.8) + parentModel:newText(parentName.."_ikayaki_text_2"):setText("§4§lいかやき"):setPos(vectors.rotateAroundAxis(rot + 180, 0, 3, -1.02, 0, 1, 0):add(posOffset)):setRot(0, rot + 180, 0):setScale(0.85, 0.85, 0.85):setAlignment("CENTER"):setOutline(true):setOutlineColor(0.8, 0.8, 0.8) + parentModel:newText(parentName.."_flavor_text_2"):setText("§1§l海の味"):setPos(vectors.rotateAroundAxis(rot + 180, 15, 5, -1.02, 0, 1, 0):add(posOffset)):setRot((rot + 180) % 360 == 90 and vectors.vec3(-90, 80, -90) or ((rot + 180) % 360 == 270 and vectors.vec3(90, -80, -90) or vectors.vec3(0, 0, -10))):setScale(0.35, 0.35, 0.35):setAlignment("CENTER"):setOutline(true):setOutlineColor(0.8, 0.8, 0.8) + end; + + ---湯気のパーティクルを1つスポーンさせる。 + ---@param self BlueArchiveCharacter + ---@param pos Vector3 パーティクルのスポーン座標 + spawnVaporParticle = function (self, pos) + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:poof"), pos):setVelocity(math.random() * 0.05 - 0.025, 0.035, math.random() * 0.05 - 0.025):setScale(0.25) + end; + }; + } + + instance.costume = { + costumes = { + { + name = "default"; + + displayName = { + en_us = "Default"; + ja_jp = "デフォルト"; + }; + + exSkill = 1; + + ---前ティックに脚とスカートの調整をしたかどうか + ---@type boolean + shouldAdjustLegsPrev = false; + + ---前ティックは脚を隠すべきだったかどうか + ---@type boolean + shouldHideLegsPrev = false; + }; + }; + + callbacks = { + onArmorChange = function (self, parts, isVisible) + if parts == "HELMET" then + if isVisible then + self.physics.physicData[3].z.vertical.max = 10 + self.physics.physicData[3].z.horizontal.max = 10 + self.physics.physicData[4].z.vertical.min = -10 + self.physics.physicData[4].z.horizontal.min = -10 + models.models.main.Avatar.Head.Brim:setVisible(false) + else + self.physics.physicData[3].z.vertical.max = 180 + self.physics.physicData[3].z.horizontal.max = 180 + self.physics.physicData[4].z.vertical.min = -180 + self.physics.physicData[4].z.horizontal.min = -180 + models.models.main.Avatar.Head.Brim:setVisible(true) + end + elseif parts == "CHEST_PLATE" then + if isVisible then + models.models.main.Avatar.UpperBody.Body.BackRibbons:setVisible(false) + models.models.main.Avatar.UpperBody.Body.Hairs.FrontHair:setPos(0, 0, -1) + models.models.main.Avatar.UpperBody.Body.Hairs.BackHair:setPos(0, 0, 1) + else + models.models.main.Avatar.UpperBody.Body.BackRibbons:setVisible(true) + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Body.Hairs.FrontHair, models.models.main.Avatar.UpperBody.Body.Hairs.BackHair}) do + modelPart:setPos() + end + end + elseif parts == "LEGGINGS" then + models.models.main.Avatar.UpperBody.Body.Skirt:setVisible(not isVisible) + end + end; + }; + } + + instance.bubble = { + callbacks = { + onPlay = function (self, type, duration) + if duration > 0 then + if type == "GOOD" then + if self.parent.exSkill.animationCount == -1 then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "OPENED", duration, true) + end + elseif type == "HEART" then + self.parent.faceParts:setEmotion("NARROW", "NARROW", "SMILE", duration, true) + elseif type == "NOTE" then + self.parent.faceParts:setEmotion("CLOSED", "CLOSED", "OPENED", duration, true) + elseif type == "QUESTION" then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "CIRCLE", duration, true) + elseif type == "SWEAT" then + self.parent.faceParts:setEmotion("NORMAL", "NORMAL", "ANXIOUS", duration, true) + end + end + end; + + onStop = function (self, _, forcedStop) + if forcedStop then + self.parent.faceParts:resetEmotion() + end + end + }; + } + + instance.headBlock = { + includeModels = {models.models.main.Avatar.UpperBody.Body.Hairs}; + } + + instance.portrait = { + includeModels = {}; + } + + instance.deathAnimation = { + callbacks = { + onPhase1 = function (_, dummyAvatar) + dummyAvatar.LowerBody:setVisible(false) + dummyAvatar.UpperBody.Body.Skirt:setScale(1.5, 0.35, 2) + end; + + onPhase2 = function (_, dummyAvatar) + dummyAvatar.LowerBody:setVisible(true) + dummyAvatar.UpperBody.Body.Skirt:setRot(30, 0, 0) + dummyAvatar.UpperBody.Body.Skirt:setScale(1.2, 1, 1) + end; + }; + } + + instance.actionWheel = { + isVehicleOptionEnabled = false; + } + + instance.physics = { + physicData = { + { + models = {models.models.main.Avatar.UpperBody.Body.Hairs.FrontHair}; + + x = { + vertical = { + min = 0; + neutral = 0; + max = 80; + sneakOffset = 30; + + bodyX = { + multiplayer = -80; + min = 0; + max = 80; + }; + + bodyY = { + multiplayer = -80; + min = 0; + max = 80; + }; + + bodyRot = { + multiplayer = -0.05; + min = 0; + max = 80; + }; + }; + + horizontal = { + min = 0; + neutral = 80; + max = 80; + + bodyX = { + multiplayer = -160; + min = 0; + max = 80; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.UpperBody.Body.Hairs.BackHair}; + + x = { + vertical = { + min = -80; + neutral = 0; + max = 0; + + bodyX = { + multiplayer = -80; + min = -80; + max = 0; + }; + + bodyY = { + multiplayer = 80; + min = -80; + max = 0; + }; + + bodyRot = { + multiplayer = 0.05; + min = -80; + max = 0; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.Head.Ears.RightEar}; + + z = { + vertical = { + min = 5; + neutral = 10; + max = 180; + + bodyY = { + multiplayer = -80; + min = 5; + max = 180; + }; + + bodyRot = { + multiplayer = -0.05; + min = 5; + max = 90; + }; + }; + + horizontal = { + min = 5; + neutral = 10; + max = 180; + + bodyX = { + multiplayer = -80; + min = 5; + max = 180; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.Head.Ears.LeftEar}; + + z = { + vertical = { + min = -180; + neutral = -10; + max = -5; + + bodyY = { + multiplayer = 80; + min = -180; + max = -5; + }; + + bodyRot = { + multiplayer = 0.05; + min = -90; + max = -5; + }; + }; + + horizontal = { + min = -180; + neutral = -10; + max = -5; + + bodyX = { + multiplayer = 80; + min = -180; + max = -5; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.Head.Brim.BrimRightRibbon}; + + x = { + vertical = { + min = 0; + neutral = 0; + max = 0; + + headRotMultiplayer = -1; + }; + }; + + z = { + vertical = { + min = -35; + neutral = 0; + max = 150; + + bodyY = { + multiplayer = -80; + min = 0; + max = 150; + }; + + headZ = { + multiplayer = -80; + min = -35; + max = 90; + }; + + headRot = { + multiplayer = -0.05; + min = 0; + max = 90; + }; + }; + + horizontal = { + min = -35; + neutral = 10; + max = 150; + + bodyX = { + multiplayer = -80; + min = 0; + max = 150; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.Head.Brim.BrimLeftRibbon}; + + x = { + vertical = { + min = 0; + neutral = 0; + max = 0; + + headRotMultiplayer = -1; + }; + }; + + z = { + vertical = { + min = -150; + neutral = 0; + max = 35; + + bodyY = { + multiplayer = 80; + min = -150; + max = 0; + }; + + headZ = { + multiplayer = -80; + min = -90; + max = 35; + }; + + headRot = { + multiplayer = 0.05; + min = -150; + max = 0; + }; + }; + + horizontal = { + min = -150; + neutral = -10; + max = 35; + + bodyX = { + multiplayer = 80; + min = -150; + max = 0; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.UpperBody.Body.BackRibbons.BackRibbon1, models.models.main.Avatar.UpperBody.Body.BackRibbons.BackRibbon2}; + + x = { + vertical = { + min = -145; + neutral = 0; + max = 0; + + bodyX = { + multiplayer = -80; + min = -70; + max = 0; + }; + + bodyY = { + multiplayer = 80; + min = -145; + max = 0; + }; + + bodyRot = { + multiplayer = 0.05; + min = -70; + max = 0; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.UpperBody.Body.BackRibbons.BackRibbon3, models.models.main.Avatar.UpperBody.Body.BackRibbons.BackRibbon4}; + + x = { + vertical = { + min = -140; + neutral = 0; + max = 0; + + bodyX = { + multiplayer = -80; + min = -65; + max = 0; + }; + + bodyY = { + multiplayer = 80; + min = -140; + max = 0; + }; + + bodyRot = { + multiplayer = 0.05; + min = -65; + max = 0; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.UpperBody.Body.BackRibbons.BackRibbon2.BackRibbon2ZPivot, models.models.main.Avatar.UpperBody.Body.BackRibbons.BackRibbon4.BackRibbon4ZPivot}; + + z = { + vertical = { + min = -80; + neutral = 0; + max = 90; + + bodyX = { + multiplayer = -20; + min = 0; + max = 5; + }; + + bodyZ = { + multiplayer = -80; + min = -80; + max = 90; + }; + + bodyRot = { + multiplayer = 0.01; + min = 0; + max = 5; + }; + }; + + horizontal = { + min = -80; + neutral = 0; + max = 90; + + bodyX = { + multiplayer = -20; + min = 0; + max = 5; + }; + }; + }; + }; + + { + models = {models.models.main.Avatar.UpperBody.Body.BackRibbons.BackRibbon1.BackRibbon1ZPivot, models.models.main.Avatar.UpperBody.Body.BackRibbons.BackRibbon3.BackRibbon3ZPivot}; + + z = { + vertical = { + min = -90; + neutral = 0; + max = 80; + + bodyX = { + multiplayer = -20; + min = -5; + max = 0; + }; + + bodyZ = { + multiplayer = -80; + min = -90; + max = 80; + }; + + bodyRot = { + multiplayer = 0.01; + min = -5; + max = 0; + }; + }; + + horizontal = { + min = -90; + neutral = 0; + max = 80; + + bodyX = { + multiplayer = -20; + min = -5; + max = 0; + }; + }; + }; + }; + }; + } + + instance.dataSync = { + syncData = { + + }; + + callbacks = { + + }; + } + + return instance + end; + + ---初期化関数 + ---@param self BlueArchiveCharacter + init = function (self) + AvatarModule.init(self) + + --生徒固有初期化処理 + --Player APIにアクセスする場合は、ENTITY_INIT後に実行されるようにする必要がある。 + events.TICK:register(function () + local skirtVisible = models.models.main.Avatar.UpperBody.Body.Skirt:getVisible() + local shouldHideLegs = skirtVisible and player:getVehicle() ~= nil + if shouldHideLegs and not self.costume.costumes[1].shouldHideLegsPrev then + models.models.main.Avatar.LowerBody.Legs:setVisible(false) + models.models.main.Avatar.UpperBody.Body.Skirt:setScale(1.5, 0.35, 2) + elseif not shouldHideLegs and self.costume.costumes[1].shouldHideLegsPrev then + models.models.main.Avatar.LowerBody.Legs:setVisible(true) + models.models.main.Avatar.UpperBody.Body.Skirt:setScale() + end + + local shouldAdjustLegs = skirtVisible and not shouldHideLegs + if shouldAdjustLegs and not self.costume.costumes[1].shouldAdjustLegsPrev then + events.RENDER:register(function () + local rightLegRotX = vanilla_model.RIGHT_LEG:getOriginRot().x + models.models.main.Avatar.LowerBody.Legs.RightLeg:setRot(rightLegRotX * -0.55, 0, 0) + models.models.main.Avatar.LowerBody.Legs.LeftLeg:setRot(vanilla_model.LEFT_LEG:getOriginRot().x * -0.55, 0, 0) + local rightLegRotAbs = math.abs(rightLegRotX) + models.models.main.Avatar.UpperBody.Body.Skirt:setScale(1, 1, rightLegRotAbs * 0.0025 + 1) + local skirtScale2 = vectors.vec3(rightLegRotAbs * -0.000625 + 1, 1, rightLegRotAbs * 0.00125 + 1) + models.models.main.Avatar.UpperBody.Body.Skirt.Skirt2:setScale(skirtScale2) + models.models.main.Avatar.UpperBody.Body.Skirt.Skirt2.Skirt3:setScale(skirtScale2) + end, "skirt_render") + elseif not shouldAdjustLegs and self.costume.costumes[1].shouldAdjustLegsPrev then + events.RENDER:remove("skirt_render") + for _, modelPart in ipairs({models.models.main.Avatar.LowerBody.Legs.RightLeg, models.models.main.Avatar.LowerBody.Legs.LeftLeg}) do + modelPart:setRot() + end + if not shouldHideLegs then + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Body.Skirt, models.models.main.Avatar.UpperBody.Body.Skirt.Skirt2, models.models.main.Avatar.UpperBody.Body.Skirt.Skirt2.Skirt3}) do + modelPart:setScale() + end + end + end + self.costume.costumes[1].shouldHideLegsPrev = shouldHideLegs + self.costume.costumes[1].shouldAdjustLegsPrev = shouldAdjustLegs + end) + + events.RENDER:register(function (_, context) + if self.parent.exSkill.animationCount == -1 and context ~= "FIRST_PERSON" then + if self.parent.gun.currentGunPosition == "NONE" then + models.models.main.Avatar.UpperBody.Arms.RightArm.RightSleeve:setRot(math.clamp(vanilla_model.RIGHT_ARM:getOriginRot().x * -1 + 90, -35, 35), 0, 0) + models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftSleeve:setRot(math.clamp(vanilla_model.LEFT_ARM:getOriginRot().x * -1 + 90, -35, 35), 0, 0) + else + models.models.main.Avatar.UpperBody.Arms.RightArm.RightSleeve:setRot(math.clamp(models.models.main.Avatar.UpperBody.Arms.RightArm:getRot().x * -1 + 90, -35, 35), 0, 0) + models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftSleeve:setRot(math.clamp(models.models.main.Avatar.UpperBody.Arms.LeftArm:getRot().x * -1 + 90, -35, 35), 0, 0) + end + else + for _, modelPart in ipairs({models.models.main.Avatar.UpperBody.Arms.RightArm.RightSleeve, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftSleeve}) do + modelPart:setRot() + end + end + models.models.main.Avatar.UpperBody.Arms.RightArm.RightSleeve:setOffsetPivot(0, models.models.main.Avatar.UpperBody.Arms.RightArm.RightSleeve:getTrueRot().x < 0 and -7 or 0, 0) + models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftSleeve:setOffsetPivot(0, models.models.main.Avatar.UpperBody.Arms.LeftArm.LeftSleeve:getTrueRot().x < 0 and -7 or 0, 0) + end) + + if host:isHost() then + events.TICK:register(function () + if not client:isPaused() then + self.exSkill[1].launcherCooldown = math.max(self.exSkill[1].launcherCooldown - 1, 0) + end + end) + + self.parent.avatarEvents.SCRIPT_INIT:register(function () + local localeStrings = { + {"key_name.firework_launch", "Ta~ ma~ ya~!", "た~まや~!です!"}; + {"ex_skill_1.in_cool_down_pre", "Please wait ", "あと"}; + {"ex_skill_1.in_cool_down_post", " more seconds to launch fireworks.", "秒待ってください。"}; + {"ex_skill_1.tip_1_pre", "§9§l[TIP]§r Hold ", "§9§l[TIP]§r "}; + {"ex_skill_1.tip_1_post", " key to put all firework launchers away!", "キーを長押しすると花火台を全て片付けます!"}; + {"ex_skill_1.tip_2_pre", "§9§l[TIP]§r Press ", "§9§l[TIP]§r "}; + {"ex_skill_1.tip_2_post", " key to launch fireworks from all firework launchers!", "キーを押すと\"たまや~\"ができます!"}; + } + + for _, localeSet in ipairs(localeStrings) do + self.parent.locale.localeData.en_us[localeSet[1]] = localeSet[2] + self.parent.locale.localeData.ja_jp[localeSet[1]] = localeSet[3] + end + + self.parent.keyManager:register("firework_launch", "key.keyboard.v"):onPress(function () + if #self.parent.placementObjectManager.objects > 0 then + if self.exSkill[1].launcherCooldown == 0 then + pings.launchFireworks() + self.exSkill[1].launcherCooldown = 200 + else + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:block.note_block.bass"), player:getPos(), 1, 0.5) + print(self.parent.locale:getLocale("ex_skill_1.in_cool_down_pre")..math.ceil(self.exSkill[1].launcherCooldown / 20)..self.parent.locale:getLocale("ex_skill_1.in_cool_down_post")) + end + end + end) + end) + end + end; +} + +function pings.launchFireworks() + AvatarInstance.placementObjectManager:applyFunc(1, function (object, i) + object.animationCount = 0 + end) +end \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Umika/scripts/character_scripts/firework.lua b/config/yosbr/config/figura/avatars/Umika/scripts/character_scripts/firework.lua new file mode 100644 index 0000000..aceb328 --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/scripts/character_scripts/firework.lua @@ -0,0 +1,92 @@ +---@class (exact) Firework : SpawnObject 花火台から打たれる花火のクラス +---@field package object ItemTask インスタンスで制御するオブジェクト +---@field package currentPos Vector3 ロケット花火の現在位置 +---@field package nextPos Vector3 ロケット花火の次ティックの位置 +---@field package rot Vector3 ロケット花火の向き +---@field package rotVec Vector3 ロケット花火が飛んでいく方向を示すベクトル +---@field package blastCount integer ロケット花火が爆発するまでのカウンタ +---@field package launchSound Sound ロケット花火を飛ばす音のインスタンス +---@field public new fun(parent: Avatar, startPos: Vector3, rot: Vector3): Firework コンストラクタ +---@field public blast fun(self: Firework) 花火を爆発させる + +Firework = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@param startPos Vector3 ロケット花火の出現位置 + ---@param rot Vector3 ロケット花火が飛んでいく方向 + ---@return Firework + new = function (parent, startPos, rot) + ---@type Firework + local instance = Avatar.instantiate(Firework, SpawnObject, parent) + + instance.object = models.script_firework:newItem(instance.uuid):setItem(instance.parent.compatibilityUtils:checkItem("minecraft:firework_rocket")):setScale(0.5, 0.5, 0.5) + instance.currentPos = startPos:copy() + instance.nextPos = instance.currentPos:copy() + instance.rot = rot:copy() + instance.rotVec = vectors.rotateAroundAxis(rot.z, vectors.rotateAroundAxis(rot.y, vectors.rotateAroundAxis(rot.x, 0, 0, 1, 1, 0, 0), 0, 1, 0), 0, 0, 1) + instance.blastCount = 40 + instance.launchSound = sounds:playSound(instance.parent.compatibilityUtils:checkSound("minecraft:entity.firework_rocket.launch"), instance.currentPos, 1, 0.5) + + instance.callbacks = { + ---@param self Firework + onInit = function (self) + self.object:setRot(rot:copy():add(90, 0, 0)) + end; + + ---@param self Firework + onDeinit = function (self) + models.script_firework:removeTask(self.uuid) + end; + + ---@param self Firework + onTick = function (self) + if self.blastCount == 0 then + self:blast() + end + --花火の位置を強制更新 + self.currentPos = self.nextPos + self.object:setPos(self.currentPos:copy():scale(16)) + self.launchSound:setPos(self.currentPos) + + --当たり判定チェック + for _, collisionBox in ipairs(world.getBlockState(self.currentPos):getCollisionShape()) do + local collisionBoxStart = self.currentPos:copy():floor():add(collisionBox[1]) + local collisionBoxEnd = self.currentPos:copy():floor():add(collisionBox[2]) + + if collisionBoxStart.x <= self.currentPos.x and collisionBoxEnd.x >= self.currentPos.x and collisionBoxStart.y <= self.currentPos.y and collisionBoxEnd.y >= self.currentPos.y and collisionBoxStart.z <= self.currentPos.z and collisionBoxEnd.z >= self.currentPos.z then + self:blast() + return + end + end + + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:firework"), self.currentPos):setVelocity(vectors.rotateAroundAxis(rot.z, vectors.rotateAroundAxis(rot.y, vectors.rotateAroundAxis(rot.x, math.random() * 0.05 - 0.025, 0.1, 0, 1, 0, 0), 0, 1, 0), 0, 0, 1)) + + --次ティックの花火の位置を算出 + self.nextPos = self.currentPos:copy():add(self.rotVec:copy():scale(1.4)) + + self.blastCount = self.blastCount - 1 + end; + + ---@param self Firework + onRender = function (self, delta, context) + self.object:setPos(self.nextPos:copy():sub(self.currentPos):scale(delta):add(self.currentPos):scale(16)) + end; + } + + return instance + end; + + ---花火を爆発させる。 + ---@param self Firework + blast = function (self) + local fireworkColor = vectors.hsvToRGB(math.random(), 0.8, 1) + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:flash"), self.currentPos):setColor(fireworkColor) + for _ = 1, 400 do + local particleAngleX = math.random() * math.pi * 2 + local particleAngleY = math.random() * math.pi * 2 + particles:newParticle(self.parent.compatibilityUtils:checkParticle("minecraft:firework"), self.currentPos):setVelocity(math.cos(particleAngleX) * math.cos(particleAngleY) * 0.4, math.sin(particleAngleY) * 0.4, math.sin(particleAngleX) * math.cos(particleAngleY) * 0.4):setColor(fireworkColor) + end + sounds:playSound(self.parent.compatibilityUtils:checkSound("minecraft:entity.firework_rocket.large_blast"), self.currentPos, 1, 1):setAttenuation(5) + self.shouldDeinit = true + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Umika/scripts/character_scripts/firework_manager.lua b/config/yosbr/config/figura/avatars/Umika/scripts/character_scripts/firework_manager.lua new file mode 100644 index 0000000..964f45a --- /dev/null +++ b/config/yosbr/config/figura/avatars/Umika/scripts/character_scripts/firework_manager.lua @@ -0,0 +1,43 @@ +---@class FireworkManager : SpawnObjectManager 花火台から打たれる花火を管理するクラス +---@field public getObject fun(self: FireworkManager, startPos: Vector3, rot: Vector3): Firework 花火のインスタンスを生成して返す +---@field public spawn fun(self: FireworkManager, startPos: Vector3, rot: Vector3) 花火をスポーンさせる + +FireworkManager = { + ---コンストラクタ + ---@param parent Avatar アバターのメインクラスへの参照 + ---@return FireworkManager + new = function (parent) + ---@type FireworkManager + local instance = Avatar.instantiate(FireworkManager, SpawnObjectManager, parent) + + instance.managerName = "firework" + + return instance + end; + + ---初期化関数 + ---@param self FireworkManager + init = function (self) + SpawnObjectManager.init(self) + + ---@diagnostic disable-next-line: discard-returns + models:newPart("script_firework", "World") + end; + + ---花火のインスタンスを生成して返す。 + ---@param self FireworkManager + ---@param startPos Vector3 花火の出現位置 + ---@param rot Vector3 花火が飛んでいく方向 + ---@return Firework instance 生成したインスタンス + getObject = function (self, startPos, rot) + return Firework.new(self.parent, startPos, rot) + end; + + ---花火をスポーンさせる。 + ---@param self FireworkManager + ---@param startPos Vector3 花火の出現位置 + ---@param rot Vector3 花火が飛んでいく方向 + spawn = function (self, startPos, rot) + SpawnObjectManager.spawn(self, startPos, rot) + end; +} \ No newline at end of file diff --git a/config/yosbr/config/figura/avatars/Umika/scripts/temp.lua b/config/yosbr/config/figura/avatars/Umika/scripts/temp.lua new file mode 100644 index 0000000..e69de29 diff --git a/config/yosbr/config/figura/avatars/Umika/textures/barrier.png b/config/yosbr/config/figura/avatars/Umika/textures/barrier.png new file mode 100644 index 0000000000000000000000000000000000000000..f370a968a6e6c60761c4f7a188d7c44ce1bf9bf6 GIT binary patch literal 103 zcmeAS@N?(olHy`uVBq!ia0vp^j3CU&3?x-=hn)gaoCO|{#S9GG!XV7ZFl&wkP>?ym tC&cyq|NqVF|3v_~T%InDAsp9}6M$?c2F6ES|xv6<249-QVi6yBi z3gww484B*6z5(HleBwYwoCO|{#S9F3${@^GvDCf{D997w6XNP#-~(j-|NkFI{ubWW z3Z$4yg8YIRI4V3`K^7Z%x;Tb#Tu)Be@c;0E1AnrA*vjLu_#ZRFy%x2ZQhP5x1L|h*boFyt=akR{09f)oX8-^I literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Umika/textures/bubble_emote_guide.png b/config/yosbr/config/figura/avatars/Umika/textures/bubble_emote_guide.png new file mode 100644 index 0000000000000000000000000000000000000000..a6b414202e18123cc93b634a85e680a66e0a9fe4 GIT binary patch literal 494 zcmVvD800032NklL{98?E$@`La%y+s+cA+7ER}K+p}aatE=lFu-ULeLWgH1R zr7|d~dm1u3wI-OHl&evMe$!{KVri$1Za$T<*ZHa3DM<}U69UsXiOn<=cIQ} k=*f{RowdRB0DV*N2kFQ#jp%gQga7~l07*qoM6N<$g5h)W9smFU literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Umika/textures/bullet.png b/config/yosbr/config/figura/avatars/Umika/textures/bullet.png new file mode 100644 index 0000000000000000000000000000000000000000..392b8f7c3906129885119b03aad3353ef99e562c GIT binary patch literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^EI`b|!VDz0_b@5|DajJoh!W@g+}zZ>5(ej@)Wnk1 z6ovB4k_-iRPv3y>Mm}+%BF+Mj$YKTtJ!KGPtXOJa1{72Y@Ck8^3Xe~T4g->>mxKTr z|9>6*|836R83F%a&e=cH^Z$Eal|aXmSq yC?TOJ!3aqGdOtPI(4Y{viAnS=lpGkCiCxvXM%c6Q{{H^* zkUz(YMaTRX_wV2D?Ci9$ zv1z{(^(fi%W%h-k$7%Wb`CKmd`Sa&27Aq+!sUXg_f^$49EUYolD>F0mamHyM2d!u? zz3%RA6&016!KPt7(WU$gkYGnUCqTz|X8}la*5;Fr>e)l!RI2s&F{Lzr@sUR+bYp)U*)?NT@-*N^nGX&HpwE<%v z;Mv9t4j;NR(L1{-^eTl5`E&++*XK6q?n8Q4oRUGa|E#BPiU79>;>zSC;ja87a5$VP zWMb_dWHDukspEkn-1RZV_?=gRtByVP@1+^Tf&%6RskQVX=w+f2w!TF3F{DHitS4so zbn1h-$*d|O-XWw>+;M{-R^s|0 zI0^rVIJU#9h(8gE0+e3F9e_Y#vK^&&pihe4l$F1QC96&`j7JiyA8N7wi8TZ24jmxY zjZi|d+uhQ?5gGYJ{=};}>#xA3GV&-rQAhl-Ogo%-=Pxiv*t$64=#IS~BaJPqzkt$) z=C}G9jxj}bOt_@u3-}$AyS_Vixd=?_WbOVb1N_vQMmII-RV5+{7(lS2hkf^EzIMfb z)BJW14#LV(haYDatzv5+&F;n8{&TQUqYGN{Xq~4pAPf+|KnyxW<9%pQc_2;*olXrd z$@{?92zUyT8yf3mY(tsNnBF~+n>bw zU@Q%F)uV*o{+q2$h5HX8B4~KA-EgM16gyNL7>I{NRU~GeOvFDz^<@M^;H*dX;#3X%2)S89eRvy}!%~0Spjg>9h$|NVrBlsIKWloQRo!4Y^6`Zp>)N-w} z(hZTrBnz3Opmt*wt*a-%b#iPsy3lQprL2$1qRy6c1rEf+O2b0vL+Q~k&g^$zEmsY; zxzvt}M=A*IhmTQ+(hsmlNK>>Q1oY{^j{M-o%d0E5#_dgssd6Ho8;LMD!Xe}5=;GrX z5^lax9rll543&!g@4W9$-r5a#+^!_WKH?sdVWNez7`IluAt=WrlHOyi(eJ-8lgFiU z2V@Pqh77RDHFrH^e8q^w%x!2wwsX^kuT?~0jF@5=o2xyfa)-?JTrVPJ0htgC~v(@%Dtgd%iFO0cS>vX;9*Fuf=?9nC!;N&AtIHtqyc-nA7 zja@>QGCsL65_qP?khB-HLSxmDJ=M%ZH_B)K}-i%#v5v9yt%pxWDye2ZvXEc@6pfE@PD0hr1Y{r z*Qd>Hvmt&SlLf68l;<#Pge!%(Obb*YGYR#gKXyj$nzzNxunn{%f^+@)qksz`Ds9zT zF=ex>>-QJjzT4c)ma(D{dUAtZ0(Ja4YK~O1YL|*eD;;2}tvs504;efVKS$NXcF;vX zHu|f&EWGi1m#flFA$^Ra$B6aHOTe zi`u2Zk&_T1~fhss;p(*(Y$*m48?!f83xfnCxZ*ALJt&A*tP$P3IG(h+DcFc(fm910e@pj0zyLjKqmE%MS zS1IvisvB5Hw7!A5!^Ln$m=}{*?z0<>UcsIJ_}%4{%eQTTC;Qb}?M@}$7F~8A$mEM% zd`Es-Ad$!I-@R`s3Sa#qfXu9{7#zS#MZ--B*uMB6Oc(=|9bn6yAl7%~FCo=(+^C%E z28)PNS{Yu5OhjExFV^8Il26&6*o%}JqcuifEtH0}F~g_i#6k-WF(GczHDsP6c2R1R XSQ8c-oF?b-3HV`cVP{@`m>v6nxgKEv literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Umika/textures/emojis/black_dot.png b/config/yosbr/config/figura/avatars/Umika/textures/emojis/black_dot.png new file mode 100644 index 0000000000000000000000000000000000000000..32f952e6926fed6a3e8c08e8e28c6774175c72bd GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^EFjFt3?wJp^Vk9@$r9Iy66gHf+|;}h2Ir#G#FEq$ zh4Rdj3FVdQ&MBb@0G;0^#{d8T literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Umika/textures/emojis/dots.png b/config/yosbr/config/figura/avatars/Umika/textures/emojis/dots.png new file mode 100644 index 0000000000000000000000000000000000000000..eeb5df5529e8a8d668a571f4339092e73a982fe5 GIT binary patch literal 167 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrOUWQl7;iF1B#Zfaf$gL6@8Vo7R> zLV0FMhJw4NZ$Nk>pEytvXMsm#F$061G6*wPEVVBK3bFt3ruKaWT?N-8k{WU=nquD;OXk;vd$@? F2>^vjE2#hg literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Umika/textures/emojis/good.png b/config/yosbr/config/figura/avatars/Umika/textures/emojis/good.png new file mode 100644 index 0000000000000000000000000000000000000000..df8baedf092d1697de5f940e1c6dc2783271ff32 GIT binary patch literal 220 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGaEOCt}an8@pP0cG|a4t$sEJ;mK zD92YC`j z#ZwKOPu#e1GD7f#Kw)7Zn{i900OQLbCg~MRR5&)uIx#XVd&Kqp=CnOEK*Jb3UHx3v IIVCg!0HohPs{jB1 literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Umika/textures/emojis/heart.png b/config/yosbr/config/figura/avatars/Umika/textures/emojis/heart.png new file mode 100644 index 0000000000000000000000000000000000000000..cea3a12c758ab289a5f79498292947ece20672eb GIT binary patch literal 219 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!93?!50ihlx9k|nMYCC>S|xv6<249-QVi6yBi z3gww484B*6z5(HleBwYwoCO|{#S9F3${@^GvDCf{D997w6XNP#;Il};<@c10|F@rh zwZ_2#D9%_C;uyklJvo7a@fbrGJKHwZAYq9macR1VC*rndsXEJP zDQ?ZWDkSi+r7`#FD^8xC)z>Ty3{w8GWQomYGCIhZBf!k?EmHjUgCi3&fyOa-y85}S Ib4q9e0IvE$hX4Qo literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Umika/textures/emojis/note.png b/config/yosbr/config/figura/avatars/Umika/textures/emojis/note.png new file mode 100644 index 0000000000000000000000000000000000000000..0d360af1ac98d32e264cb3707642ce0cf45d0af6 GIT binary patch literal 223 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPGaEOCt}an8@pP0cG|a4t$sEJ;mK zD9S|xv6<249-QVi6yBi z3gww484B*6z5(HleBwYwoCO|{#S9F3${@^GvDCf{D997w6XNP#;Is3uv&MRt|Nrj< z-o88=D9%_C!8QX9KfW(tYRVTpff>0q9O7Qr-u;3Eg3G&LkIdM1I=LYboFyt=akR{05z*SssI20 literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Umika/textures/emojis/reload.png b/config/yosbr/config/figura/avatars/Umika/textures/emojis/reload.png new file mode 100644 index 0000000000000000000000000000000000000000..1f33267d6e9717d41b952588bb05fd8a47c3e806 GIT binary patch literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrOUWQl7;iF1B#Zfaf$gL6@8Vo7R> zLV0FMhJw4NZ$Nk>pEytvXMsm#F$061G6*wPEVVBK3bF@&*Qm+^L+W6E(EufCe&n My85}Sb4q9e0LG6%-2eap literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Umika/textures/ex_skill_1.png b/config/yosbr/config/figura/avatars/Umika/textures/ex_skill_1.png new file mode 100644 index 0000000000000000000000000000000000000000..92653df71613f3399d7ae246d4fb9059bacd3f45 GIT binary patch literal 7720 zcmV+@9@pWCP)tf&0015DNkl zdw3L8y6%6gsyf}Bd%`UtT+IOCvJnslFMtjkWP+kFZgoZn&&JDme4aB7nPJ?zXZCTf zTell0j(Uz~oKg4Da~MTud*NtC;gLZRQ4moGAc!Ck5=cl$LT=q%way=_t5V(RPC6lh zgyhZBPgSo~YgN_ze(U?bwYs|^9{6#Qq#xsoAxF68{#RhbuetQT|LnGYw?1_j%=j*= z^K)5su)NKd9WTO+?_vPV-1bSgo!E`-vo4`G_rHDCC0uj=E0mX)GkoEH7qh2NlUv_k z?bN^a)T=DLXBo%Vyv>MP76CZ>cAXn`*`;$=vHHd$Rvr8<>+YM&D%UZqUM^;Jes1_( zkrKeZk)A?t?!UaeJZAa&$2PEZr6PFf+$m1Ey}$IHWvqW}0{{))dY0a^%n=K4tbJ3I z^{;rSkmbvk@xrUGa?gvm_S^{QN$c-w-`i(h!oOOzk%f=^900lUc6sTh9TC=UBWYw_ z%>9Kc7epKvI9jIKKD9ogeAUav0NnH9t*T%wtoUXj09vQ+;6g$1GqJb8h+7sBI9e7# zu5H!pAKTzqeXR1Nk$JrK)T>VYy8Gq=u=>U#r%bOnLH(A!_{L_VSDfgl0(1bkl|!rB zS-5h6BaCD1QRQ}AxbhD-vFYx$5$-2NpUIOeH*m8rg_K#Vd2;230RdvcZRxgU+psM> zS|m`S*rQ^}Bk#L{Ei7NQjMX<5v3%Jwr*75D#VQ8$CtSK|2e9x8OoZ1R0$vq`-!@4o6}!a z1N|@!%^Nu?ihQ+=hHdrkv=WGz5!vMmtM8i04a$dX6iXVuHaWL}g_=0(ai+1q|6 zz<<8+hKMG=`OF!oKAP~9mb8fM#umo5e7nqDZe#hfWt{r*9qxJYR#x9w25i zZCrfx>CU+4aYINc`;`E_1wse`gk4b49q098`W;-0fBh~C>TT$=0+iGiP*PiPzAxjf z(I*8csV!jP*qKak9@6JU=#v6mNa)o9#BwvX^#dejr^XxweaSub+KE_6Z2|Lg)F)9T z6{@T-V_%1DfQWV-wK?DDwE_Tm{XQU)P}}+e(uWPA4wzmIC9dP_c6|Z8QUKe{7*o}X zqH~e2?~XXG?!+kq)ve12DYM5$)GuTvC5L+VDCm^}02otqDS3TeMA^KYDXc%Vo!QBX zXq)^`eU;41nbPL?!t0m7p>uP+U4>eT=tVPOcko;|b|x)N&CYwT-$zSRGw)SIj)ZwR zQ=B^YvFi_Qci#7^QBeF$)KWw*LA2`u;Pc3DuDw^Wn|V1?oUL89aO}(o-)~IKrEuyJ z079Ra_gYufs|0|yuBY(&Rub1A+U{7pEdsQj>NFr@|GwE*hN&(tKUm-S8416emp5SCbyWjdX z6{k;=lbJcNJ%?Kxz4`;0{(y7-#jM}Vy9LTVg}mu%o01O=2hlFyh<%orY7Ufrik5vbR(K0wk&k(7E&7NdkTMkWi&FFvLomN6rLLxi%dhzs zySMCQ%H`A8^5#aSTt1E3Pn8%MIa!Vf9@0qmXYqGSCbMf@DUD4vjLY>gar_tn#^w4T zYXryZp|<=m+jpp0_PDGN6UUF?KzZT;{;s=!gb4CFN z_IwGbkO3bSOYH;foe5Iy(^>4l37^nT}Qc8Cv$mXiXM+Mz(T4!wZxP`l3{o zp-7){`80NK*~y?`YCk7$6txvKe6)76<9-^O)Tl`It5IQNcp7Bns!_0a|6yj%C}3}; zvijlbr(wLYX&=Yym3z5l))m5j#d_bJ5D)ygNV;9n+Z*0y(SpcdiMY#R)hCJtSIyx! zQ?FG%Kl@@e5>D5(i2-i>U~4+3PSmuC0XNmm0dRz9GV59RUklm%$IZ_EM{74TC}SIY z_aBC=5oGub$JfuCQNZ>c`yyP_-u;KEobc@~-CH#7{Qecn1=-dgEQjFn*fGEj+rncJ zem3Mg$V^A`UaVXXKuSJZ_QjaBe?gxx8T0r)H3Dj@q2A=wiJA!O&&?mr?kzj<`_r7D zJLj%B>{?gqxSpK6QGB#^Gs*re$MsPDCD&b9!1f)@Tz6%G5(PCf_Ev@*HS}7h z-)jBq|5piqJq=GrI1{Q+qHO--X2=@Bb>r1-?%jWwak)PB?mx`L@nguyCG3I>B}!$8 z%4h;(yiXW0f^IY-1W1JNvmOB{`6}qzDd_1sG;bQLBp~Dm15e+$s0vQ*%31Qqe#wEfq2)tQku+q4($1o1JEWFoj4xH1sy0?qawp+ zP)R4OyBm;D46w0n$2Mnw){I%5KG}k+=J1>RiRz6#0>bkFIcja|93bp|?0JCg|Lv3% z;Ob8&0j=(*qU;EMJ&iec&2dHqKuz<@4)N|R$97HEU0J{zn_6SRd!l2@zu400l{EVC|UU{tscGj@Gq=X6HtcaU`V0*osFf&a6Nb5Z* zw0Q!+{OT78S-F1EFXH|R=FabL56=Z$K{y5?1n7wH;{05S4wh4#A3v|{5U1;~8V;%v zkdlw)O~vwSn6=gD!wb|rz%?1m&Clc1i5e#e+d(;}T)7>ZI7RmlBK3cmOzn(_X!;9No!UNmuBP?86?@9NzTM;a8Hxr5&0nrxjCj6&YJV)vk z&pF3-$^8J@_4ao==R0LW%!(MwKb(K5gj$O4e~T$c7Q>OF)NzziK;37X83nw;)6VhB zOG;WTd>f9{L+k$Xk`gE^Y(sD~>C$>nT8H259t%$(3vz<+wjJ9z^T7(I!c8`Gop3i6 zTs4QE-SIg9jlWQ{+>PHU!yvu4a9HEiXnS3Jk88M7i@=Mpaz7V`LpKLJqm@M32lXtVDoyy)S@ z6yN`r^L}|rNkqTyI-7h@q`SAEVn8CVvqgjpI@d%4ZLA+!Np6pL_x`;L?gSL!MedOk z6?hXF9p@V7{4?R^iE0gJ(Au9+BOj&er3WRz!9z8))Ppyz^L@t3bUN#n+}01>m*sSX z^YWp*BKzk|nwsU5+2ps>cfP-9g55zmRxp0To7JWdH_pbVcNXVd0Nc`|VUzDo1EEbh zD*|E>{KUK2aqG?}3JvHlCSy{O5bLY7B#5n%~xE@^5TfQdW5!@C(e)3d65kDd?&k@2c z$e@zXD|z>^XS!d6b1d%JAeL{pF?3iC&^iKu2r*8csNi(fN#~e&LbVD| z945Qy4xTN31|G}m5%TA++z${T?wB78>E82nGomfmCO_KBK@ksdy6PnJuU2yrJ1)e6 zS_`s?aa(6kSZL85ZCy>#9Xva!2gE*0M7til%nrD*$cI*OY#b{qV}EJ<7@!2Oi7C2+ z`SPEfS5Kjh#rHDuJHo~_PxA8P54I_{MTr)nJ+yu?D@;Bpg2wz{NY9ASOD(=LsH&=L zQ}*)X53+I1lYoi^w)=5oP)TWILm?uwEFmzasv*gfS z(CobY@Y9tY4tG0!JTGn`JVS4D-r{H4zRnWyf~GymipH_BvIzHctgI~VvC(jTC23o? z6AK`=1={EiON>WWyuRHdz}5ElJv9-B#l8McUW40h#9DxJ!(MuDFFQoLA9tC(94%Iq zR!jSW-6BNXNTN5>5u$E3nm8K~=Z$sla6j($ho6p20i79ldqza-Jx9YmV;@v-sk0wT z4EORwdvHdU>tP*YMQOE!)|+-;kbB13At~)424Oa$iEH=VMR&Biq8RPnq}j(rU$3F$_>k>+mu?qlQIkRMIFyKP6rw|Bp7NDjko{TF}x`N((~Rex&V);6TO z@5OOJwgAz1{OXseIDMKm(|#WFB7c1NNvA&6N$mFj`tjW{EzDgXjWItM;`G1ZmPdiM zuETwOv8>&0@9y7y9q#M5;U?35f`GfddsJ-t-8C_<-##X~KH5D#H#u7guozN32kM(i8wY<(jAyM^m)y=@5b&cEQ6N14BJf86#r|LTJXV$YVJg}44L@n(x6|GxJ|4Qt&%m=H&NIX(_b!!< zO(9MPHBPiZWn%zchDg&v>QEcf$xik#GSx%2XeN026hTXZ1Vb0-VF`mKG&D<^f)aoB zU^ESqlO%dW4J{!_AS7uHK~%(FFKB z0*@hR2}(jH=o)xEg4Yf<;@1Vg{b*O8{KA)!f9L&JLMIfm2mt}pB4k=f1csp_CFodq z4Gr_;F}`^EVVZ&xDZ%Ga#7GIjki@hkS>KqzgnzgVPf7~H3bA+feY6B6%|U1iT2wWg z9BVX5*1@X@QVfA6z-uTmTY?hP0!={3!XeuN0wHJ$C^5Yrfk#(9)Ux{Scgu`WOEY+r zF#}ClXqZx9N`YqRSf+(A0|;qhSvsL$00~%DtEEc7l#-ySUQ();?)4+oFMwO2fhj=; zEGaOhRQ*ZSr!7Fx1VdM4HcShw@HrrSZXpl?0)3Z%j01mqn1&WXQ%i`tAbi~wU zLf{t`7o})q`7|`mz$b#}nzB4I{GcrX2$U5Y8q^&=z^Xg(o?M z-5-^J6v*(OkkD*Ok^o6KewZMF60ac$Sr81V5nxFb3$*Z$=vzmQO5X%9G}%xG_fZ(t zyS5`!vuOxfG@24&sQ@g5z(8V#LWF`r{FsQ7htW0L`jr1g2!tk8pp?q%H=jDm(ZBtb z)bLmMbPbYpXwfvhxbw$2v`yg!4RL0X_|yANsdo&QM!lBWaTC-DG7#@#TyzJ znjmCKl|I&<=1|FNBzq)jKIPYaNg4=Aohk4KMc8eq5u^b@QxXUXd>$1fELzi1LkCR= zG$9F@N@O9_OV`x4ufoWfG@T4z3d5veSaXO|jR8VZBPq!sBgs%V?)Nh&JBu`e)cShG|KJrbd&d zNj$nn(3DsqH9BmcuL+4KJnyh9i3neVM;CotfJrNU1Rf88re=bsiSF@Y_aN+$Wrd=Owghs zBmqIHN05=ElcWoh4Dclhyy28m#S`UvbWLDc(wQr?gcR{YC~*QNc<94H_`ur#pr+a6 zcw>+=rUpJg2m|5qkmmQ`F+3!Bbh7+OjL7t%p~wlE;Z#wV=m;l|51g){X3s8sndyij zg8(%;0GdsU+JHrU(88;$>_ufl0xcZW4PD^#fY+nQ*TX?rN;My_Pi5$8KH|~)cnrvy zJ(rw8!x=4fe1nGK%gDy?dC_zOj|M{1FuY!p{XUYAlsK2Q-fJH-4QXiBg>p*zT$Ls==LiFir0LIsEy-Xl| z2**!WQGKe0Gu749H8kLrCLU>_TOrak$q=t3J;_2d)x=3;j1qwefDtz z^|hF%%J7&C&WS83k(Py_sR>oHX;Iw*DY_sdNeicwo%bb%?poXEgD_5R-AMTvlf!3% zRJT}Udo_HzAZSTW1T1{Iz?bI1&-Z@%yli*`=2dz299(N>7P+ zAE;}fGbFd$x6ya4AHeu<>n8{yxODamAe>)I+3h0q6c)d}txqc;E}cC?0&M+ghXAnO zcNYS64KYW+j=f*>Y2vyIeRv)5!hjJSB;y6mju36--O*=%fGFF)TmId&>FnD1X`9M; zI1C^z$??jg5l#Hh=3OQM?*HfeNbwqI-&!&tOdJ?HKl>_X#k7kr zidmjFKJlknrFab*T0&jBvVH>bvw4@v%?-`Gz3$HdEL!qC=A^{`rFCD~O12Z--FG*E72fW-5I9(iP0Z7|pq-CmFoS6(u` z%S#XOM$OOH{-2oT{+#@QARGm8`?nW#N`Pnox?zCCZp6S^(0Rsy0OuJA1>rq4)jfS3 z{T4>qnZ#Bqt4^I}@SxZ~KpQ~UVblg&5;|~z{GNfhVd-r>`iXW`<$;*xn?4v=7Xr|# zDi83=tN)v-$^*FfW5F&zS=SixI#+NTOHUilxq^^VN+ASSUU3-!n?CpuDJ56UxxCH6 zFFg1|mjChz1`iqMh+*#!9x^WG2?j<$`!J5K|1(G4S;MHSZxH}T-dQ7$uK#npjohTh zBX|IbA>p;47asg!mrf9`-KeWS>{5Rh8U`j}=NaP2J8R^v|MCd`_t*Eesf<-_h5rN3 ze|h*n+8jUN*E;0RfMF>~5#*g{2qe^aSV|JmHPHs3U<^x1!WIFD*zYRr5ix*{VSut^ z+v?Aje4tHWwlV6R*U!4|3k{uKj{ehgzb7jzE5eu8)YQmWW$yP`Sy>|9anWV{2}UCB zqANZ=9;t4^qebeEFq)cTKf&A$w*U(lf3Hn_tg`knKzu92RdeTcNXGL&zunm%wdf!F zt-I(6B)l4Wq^hbXucO~0VF3o#bb1Ct9{J1p@y8>-)8Qd+T`~!P#h<7rHHyCcOoBL2 zBfw2Y0>qpPymiSW7Jssb#h>hPgt!o)G4eYR54#XT#1+BHTiR_WZjV%({P6XNYj*4v z7pe$`Wm%Y}iO_WcV49}1EUQg$=uYwho=C~yiFub%@?PX;!-exMgOm&w6DiW-Pxkcf zM`Oi-FirIUN!=v?fL8We#DTT|(d8W>o^V#Php|U2#{(p*{vGRdm%6AMg`KP7~y;i`!ed>R9 z6%>reSh_Fa4m#7e^xyS?kq`v~z*xGEf&w)H;t{y>XLV@*v;+X_-_|khx9KF>b^!4a z@!in&2(-y}_R}{d)NTOnLj&bTIwH~fw{jA5L~c#`DCC7XMsm# zF$061G6*wPEVVBK3bL1Y`ns~eU}EGG)P12IstOd6EOCt}an8@pP0cG|a4t$sEJ;mK zD99588yNaOGQ*@Zb%RVsHBHF(^7#o|)D#N^+K zq+6OB)wpsy#E<(h35N=KyNfR`5fkQcJGC=nne=(fL;I~kNo-zxk2gy0G8Dz0QeTR2LLGD_7YX@zN=sL8dVR| z1R&+4wzeA6DV-^B-p6jZZ>6)|;%wXm0QLejp1lMecKxgw)4cZ*Y`zGP`V9Ra$4w$Y zFQmaDO*-ZVJ3u5`_9aISX8-pm0IDk1Z4WY`c2zqXHk+^#;VykJ0ao+6giyf6EL1SH9Ig- z2$E#n;B1Ad?@^%@gODEE h5%G*bs~H%6sH$^a2tToI_4+R$uBWS?%Q~loCIBS)MOy#> literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Umika/textures/for_modeling/leather_layer_2.png b/config/yosbr/config/figura/avatars/Umika/textures/for_modeling/leather_layer_2.png new file mode 100644 index 0000000000000000000000000000000000000000..abd64e6b2afc513de9bb4794d53f15f5860b47e4 GIT binary patch literal 322 zcmV-I0lof-P)C2ia4%LKP}`efr*W;P{}&k(_|QiVHk#C7=~dO#_(8{ z<;0lh`T7niz_IV=wr!UP!wCS=Am3UWR{$Nu^gR2Xy{|d&X|IGpAOpLv>-r{$dA25b z%*(V0NKgP0LqR3t$&07*+Ys1m5g4aN>D>K);}U+VrJZBN|rIb`d|P57t+vV U)x6I!H2?qr07*qoM6N<$g2$hYH~;_u literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Umika/textures/for_modeling/leather_layer_2_overlay.png b/config/yosbr/config/figura/avatars/Umika/textures/for_modeling/leather_layer_2_overlay.png new file mode 100644 index 0000000000000000000000000000000000000000..4faea6d65b021018577bab2b0b24edb8cc59df91 GIT binary patch literal 181 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!3-p)I`?e@QlbGqA+A8$OGhHeL?OyTA<0G| z%R#f)L-Tr$Cnr#Xu_VYZn8D%MjWi&~&(p;*#Dn+kK|?NQLjh;Ux0kiP+ZQEGR$6+H zrEa6KRC3Qpi*4(Eh`w$Ue%-b9`GdtbxHR^abg^tQS)wRy6`JRve_@@M{tJd}))YiJcst*L_5hXWb9mRfl3ayPp=~$O_3b zeNKfj-ajZPAnST0RprC^c?Aht3F*2Zxuymg&m8!iy-GFv)T4Lcqsw-4gl?q~Ds`*b zXMA+v9IHL>nD2xD%{#SFg=#N67r%Bq+s!o>;EDMk_#RaH3=NW->*1PI`|$>T?sCRx SFZvV!0000dET1oSEANutbKc` z^ZCEI*M8e^y%nuIb@f*&-zn|~uYe{qFgz<+Si53r*zdI;u2rA1Ni=bP(Y<4~bVZ-I zxZzR;`_%W}e=lqkH@J13UBf%p`u_v-`lOePr!Mz0e2`>M57Wq-(DL9E$QVyoKbLh* G2~7aLiB-M; literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Umika/textures/for_modeling/trim_leggings.png b/config/yosbr/config/figura/avatars/Umika/textures/for_modeling/trim_leggings.png new file mode 100644 index 0000000000000000000000000000000000000000..509e2440789e72a85fe37e34c45fdcdb87ccf18b GIT binary patch literal 161 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!3HE3&8=$zQW>5ujv*P&Z?80RHYfvV0V-u+*wBCPx1{N@3a#HU-C1krE}gPFYi+sw=hu}7 z;*8{tgrEJH@%_xqP4CXzZBqUG^t+_6c%5{gTe~ HDWM4fe7ZSG literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Umika/textures/gun.png b/config/yosbr/config/figura/avatars/Umika/textures/gun.png new file mode 100644 index 0000000000000000000000000000000000000000..7d753e71d517a9f1ff3c311b89de1e42ef7e1bf2 GIT binary patch literal 1420 zcmV;71#|j|P)SgV00006VoOIv0Gt5- z0RMh3sty1E010qNS#tmY3ljhU3ljkVnw%H_000McNliru=m!uCGb4-aRptNy1sO?1 zK~#9!?O9J~R7V*9W?ix##H6AANrDyHT8nrH2x<>vj?CkvgX5M=-~PoK=g(CzDRSt~xt}6% zZA^! z>M&n%%GL)VadX{xxmu$lM_twj1E-qDgDY2S)OEeePsV!p`mQH0S61nR`%`e?!ui;v z8Eo2-DSdwno-eNj%Udv1uP;SSYTel#>(JYG1ONbT+_-7IaVXB$>q~I(;L*0<7LcXO zMd;Y!mg-DSPFiukeC4}v>BHXjt8Fj-`}ZH%b?6+d|MmlX(EXwCcCXduOTYXYCNh7y zvPxY!+1a_(jB=%!NQGG}p<7-DI`hB?upME}I{ah&yM+QjVG#Zo{!t>>|HjoSy z10sUv0qek4io=A`jX04I`xrB0YoVpFAt_hO*B4ppTi}@_0WwgohO>450LAJg z)=ws?lR?r@XYS)Kw@K#6H?4JJ4d=b!Dddpvnu2&?{0gNLL=Oc6!C;4iFDUaUNAhBS542NI?8SVoJtqbIw^8do&a?wHlLyPo(N)>%(}TmuN{&JY08O zn#N)kv+gj}$0R0p)uE~zCl!5kaoDMdTjZij^l6DZqq`|K-3{X6`%?9j*s(+{+lOm$ af_w*IIJ1n>o(>QI0000yhz36e=f zK~#9!?Oc6qQ`Z&$U4O*$QpKspN>R~7|JbSut?I^9k}O-PQWBhI>9o>zQ%DEhRuGUS z(gdl*R8%A;1tta|Z3^WhK!K{jG__gXlu^oLB^g?!EC_WU-GnL-gr>#L78}Qo&;D@k zU-x#wO#KNjdeO#t9;TFD>+FJE;3LZNJ8ViI1j2X41Z zC>y&z4mB)$yorTEA@ccr2#3RvlZ-L;^XE3wfulVPvkXTh63bAY6B3EU5RWGik0$^C z6&2-(Mq>bwR;~sjqRPrj#u#HtG878Y>qqt?A8vylANM?lrILb(UBmz-7dkerBdwk zR;4tTh{qFn=;2yj7V`1s;k1?N!NpZ9Yc8;0{#OA2*T+7C+}~RG+QJ0@fKRVpSN;1R z|GEON*OPHwkMev>;<9Xzz@*H|f&05uif2|21`bqrvUxv<+ zWdg+J%oP&L=wwux0MRvRTdq9M9J%sRml+)il2Ra)-h0{OO-${&6r&?S0-zXZM@NF> z@_Idj^1MT_jNZPjOn~T`w5{B%iy>YWl+t0fduv@MBDy&IK^hTq7VP3PC014}Bas-U zqbXB#dQ-l~|Bggr8G{kzWEArk%+t&kmsZy?B~#|RRK78jZr0>>u^bnNKhSiQrPXzJ zSYKINlUC_;aFCfPHwvTuWb3}VSAkqBlf zuhxCd_Fr;f`HtR2aUe3M!F`nb(6iraC@EiYC`HVYgHp7&Q7Wr|6w~{9(yYL_c4N+0 z1?fGNpfnaU?d3ZCo_6|`p|2J+|DT(i`n+_yFrf| z3=9MUV+=$ZdG8FkVq8(B>#`^-vt~Xf+shKbJY@hF7y&c?rG!qXDyrm*9%}@cZ7(~} z_8vZb?Ggh^1)>32Xy^W4RuKlGY z-va96+1bE!5ecNYV=~M_L>I@)nXa z^~(EhLd`XJ8>iD*7%tHD#ciUQS?{>Z&DzV|OsxE?Q_~sBtC_l%1@JZn;R3(;EJ`54 zrn^1tS3ZyIjI1w{pDD93fL|{N0*HXluXs(FqFD>r)3KTb&K}QyUa;+Yq@?%A4kG)E zKo{fpiLN`0bL31BKH2?9z1F0D9F(k@UE+hMg?e)s)16dN|yud;OGf=GgF z3$O{Wo)8s#Qe?Y;O@N-ILIbu1%+*Y=6f#0P2H2^v4)az^iL;Rw=QBmNUBD(l2g2cS znp7&wCTQlgmZ#g|vb^mHLZJ{5k*XBO6zRYVLJ=!2;Pd%(NpS|LChZtdYy>bJuvY<_ z0Goihw;PM=f(e4z z-us&}*(|5mjEdwLnOtR=Olzs@JN)ak>+=^rs5%h-a#sFMQt?Y#y`nG=ijv{y6Yl@(ptOES~Vf-bn;?6pJo9QWsjkK`=D$eeLMVEy*Z#+W(0bFhmaEs@cDdL zv(p2L41pp;ShLfUaattC>dgV{*;126pcUow8UujTLFtMI{)3$dQ*WMM@xVOI!_)Td zgXr7gM>rf-w3LD;fGfafd-IE10RV3vOr_9!w$#Aq^C`}*xNXq|L2klafgk@Yl@|Y~ zWxep3UlW_Vn7sDwgIK*efW966;t7JwcWuk*0Ec#+HP!Ca;dRWE3mDDyFLk||+bME? zy|81zjjB=TUlFj>J{t}^V!g+ff_)?W&soMo^Ui*922HRM_YE~bnuwlc7^;JNt!r0Z1 z(^d(sBQYB$Ah#4#G5?@(&M9OTClB<{$pbx9a;8i~X^Njb&_jjzfYhvD&H9(^A14>} zGMI0OzX>veyq*fnVb`U97o;oLKbtFbBoYZSBMrxZwhb?lzhMai10TWPump|GPqMZR zFA1IPeP!F6Oo18C^~E_pC!?|XNv52M~deGmXEn7$IPX$S=t?1J`b>pdn)hF bD*^up#KJ8EuDQ&W00000NkvXXu0mjfyPwQ( literal 0 HcmV?d00001 diff --git a/config/yosbr/config/figura/avatars/Umika/textures/placement_object.png b/config/yosbr/config/figura/avatars/Umika/textures/placement_object.png new file mode 100644 index 0000000000000000000000000000000000000000..a4ff41768c1aae6bb42001cd9428f3a549bdae84 GIT binary patch literal 584 zcmV-O0=NB%P)E8hSB0o6%F zK~zY`?NvWW0#O|Po)}28AcWN7Z3WTRa+OO4(%_O|wW*6+OWx3UO>Ip|4S}RfLkRsL zq^_YgYO1rra1q2IDI$bxs1tqOJMWLBfgc=?`@Q$Q_r34;``wX8`B~XMC?lJAK%-WN zb8-tT@PQb{X4cwbxt%%E`o6KcslW#I1-EA05e&tU6?rsjb-cZPf)B(H79;=wp>T7a zCVsAB=s@ZARC5G?YV}3)(Ssv@oWjCl93xXn63@>A0J0*_Bot(iA));2lICa?P5`*N zND%;Vl}-$i{9FYE*#kdUK~87g;n6O!QWBA<*!G@D3vdQQG1IqGT{Y^iS!B{eXX>Bs zFQNS4V`3T7SqcCU7Nlmp74!xx$!pztD~LqJwx^kT8fr833tEmkwZyeH6CKxUG^234 z$C+~_*E)Qh7XaEmdqhoFSdf|`XmKou>GfHW2O)&mxy1Y3o-#U}=-7j_))h-2?IO#4 z_1kMlXi+XJKF-S)N{gahWVzk3;V%hAx32DnUh|7`S#u8u{hKs;pt`QteBD2jR_fHl zXfi9_E52c&tOL!~pk2P{+A$jMHQ%zpzq$xBLv~ZsH~yeH`fqBK3~XwLT|eylZ+rpj WcpF@